@reown/walletkit 1.1.2-canary-tvf-1 → 1.1.2-canary.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.cjs.js +1 -16
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1 -16
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +11 -13
- package/dist/index.umd.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/client.d.ts +0 -6
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/constants/index.d.ts +0 -1
- package/dist/types/constants/index.d.ts.map +1 -1
- package/dist/types/controllers/engine.d.ts +0 -8
- package/dist/types/controllers/engine.d.ts.map +1 -1
- package/dist/types/types/client.d.ts +0 -6
- package/dist/types/types/client.d.ts.map +1 -1
- package/dist/types/types/engine.d.ts +0 -8
- package/dist/types/types/engine.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +0 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +0 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +7 -9
- package/dist/types/constants/chainAbstraction.d.ts +0 -11
- package/dist/types/constants/chainAbstraction.d.ts.map +0 -1
- package/dist/types/controllers/chainAbstraction.d.ts +0 -28
- package/dist/types/controllers/chainAbstraction.d.ts.map +0 -1
- package/dist/types/types/chainAbstraction.d.ts +0 -139
- package/dist/types/types/chainAbstraction.d.ts.map +0 -1
- package/dist/types/utils/decompress.d.ts +0 -2
- package/dist/types/utils/decompress.d.ts.map +0 -1
package/dist/index.umd.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
(function(Nt
|
1
|
+
(function(kt,Nt){typeof exports=="object"&&typeof module<"u"?Nt(exports):typeof define=="function"&&define.amd?define(["exports"],Nt):(kt=typeof globalThis<"u"?globalThis:kt||self,Nt(kt["@reown/walletkit"]={}))})(this,function(kt){"use strict";var Nt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ha(t){var e=t.default;if(typeof e=="function"){var r=function(){return e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(i){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(r,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}),r}var jt={exports:{}},Sn=typeof Reflect=="object"?Reflect:null,Ec=Sn&&typeof Sn.apply=="function"?Sn.apply:function(e,r,i){return Function.prototype.apply.call(e,r,i)},Js;Sn&&typeof Sn.ownKeys=="function"?Js=Sn.ownKeys:Object.getOwnPropertySymbols?Js=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Js=function(e){return Object.getOwnPropertyNames(e)};function pp(t){console&&console.warn&&console.warn(t)}var Sc=Number.isNaN||function(e){return e!==e};function ot(){ot.init.call(this)}jt.exports=ot,jt.exports.once=yp,ot.EventEmitter=ot,ot.prototype._events=void 0,ot.prototype._eventsCount=0,ot.prototype._maxListeners=void 0;var Mc=10;function Ys(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(ot,"defaultMaxListeners",{enumerable:!0,get:function(){return Mc},set:function(t){if(typeof t!="number"||t<0||Sc(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Mc=t}}),ot.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},ot.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Sc(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Ic(t){return t._maxListeners===void 0?ot.defaultMaxListeners:t._maxListeners}ot.prototype.getMaxListeners=function(){return Ic(this)},ot.prototype.emit=function(e){for(var r=[],i=1;i<arguments.length;i++)r.push(arguments[i]);var n=e==="error",s=this._events;if(s!==void 0)n=n&&s.error===void 0;else if(!n)return!1;if(n){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(c===void 0)return!1;if(typeof c=="function")Ec(c,this,r);else for(var h=c.length,l=Rc(c,h),i=0;i<h;++i)Ec(l[i],this,r);return!0};function Ac(t,e,r,i){var n,s,o;if(Ys(r),s=t._events,s===void 0?(s=t._events=Object.create(null),t._eventsCount=0):(s.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),o===void 0)o=s[e]=r,++t._eventsCount;else if(typeof o=="function"?o=s[e]=i?[r,o]:[o,r]:i?o.unshift(r):o.push(r),n=Ic(t),n>0&&o.length>n&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,pp(a)}return t}ot.prototype.addListener=function(e,r){return Ac(this,e,r,!1)},ot.prototype.on=ot.prototype.addListener,ot.prototype.prependListener=function(e,r){return Ac(this,e,r,!0)};function gp(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Dc(t,e,r){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},n=gp.bind(i);return n.listener=r,i.wrapFn=n,n}ot.prototype.once=function(e,r){return Ys(r),this.on(e,Dc(this,e,r)),this},ot.prototype.prependOnceListener=function(e,r){return Ys(r),this.prependListener(e,Dc(this,e,r)),this},ot.prototype.removeListener=function(e,r){var i,n,s,o,a;if(Ys(r),n=this._events,n===void 0)return this;if(i=n[e],i===void 0)return this;if(i===r||i.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||r));else if(typeof i!="function"){for(s=-1,o=i.length-1;o>=0;o--)if(i[o]===r||i[o].listener===r){a=i[o].listener,s=o;break}if(s<0)return this;s===0?i.shift():bp(i,s),i.length===1&&(n[e]=i[0]),n.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this},ot.prototype.off=ot.prototype.removeListener,ot.prototype.removeAllListeners=function(e){var r,i,n;if(i=this._events,i===void 0)return this;if(i.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):i[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete i[e]),this;if(arguments.length===0){var s=Object.keys(i),o;for(n=0;n<s.length;++n)o=s[n],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=i[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(n=r.length-1;n>=0;n--)this.removeListener(e,r[n]);return this};function Oc(t,e,r){var i=t._events;if(i===void 0)return[];var n=i[e];return n===void 0?[]:typeof n=="function"?r?[n.listener||n]:[n]:r?vp(n):Rc(n,n.length)}ot.prototype.listeners=function(e){return Oc(this,e,!0)},ot.prototype.rawListeners=function(e){return Oc(this,e,!1)},ot.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):Pc.call(t,e)},ot.prototype.listenerCount=Pc;function Pc(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ot.prototype.eventNames=function(){return this._eventsCount>0?Js(this._events):[]};function Rc(t,e){for(var r=new Array(e),i=0;i<e;++i)r[i]=t[i];return r}function bp(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function vp(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function yp(t,e){return new Promise(function(r,i){function n(o){t.removeListener(e,s),i(o)}function s(){typeof t.removeListener=="function"&&t.removeListener("error",n),r([].slice.call(arguments))}$c(t,e,s,{once:!0}),e!=="error"&&mp(t,n,{once:!0})})}function mp(t,e,r){typeof t.on=="function"&&$c(t,"error",e,r)}function $c(t,e,r,i){if(typeof t.on=="function")i.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function n(s){i.once&&t.removeEventListener(e,n),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}const Nc="wc",wp=2,ua="WalletKit",_p=`${Nc}@2:${ua}:`,xp={database:":memory:"},Ep="request";var Y={};/*! *****************************************************************************
|
2
2
|
Copyright (c) Microsoft Corporation.
|
3
3
|
|
4
4
|
Permission to use, copy, modify, and/or distribute this software for any
|
@@ -11,23 +11,23 @@
|
|
11
11
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
12
12
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
13
13
|
PERFORMANCE OF THIS SOFTWARE.
|
14
|
-
***************************************************************************** */var Ja=function(r,e){return Ja=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])},Ja(r,e)};function T1(r,e){Ja(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Ha=function(){return Ha=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},Ha.apply(this,arguments)};function F1(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 q1(r,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(n<3?o(s):n>3?o(e,t,s):o(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s}function C1(r,e){return function(t,i){e(t,i,r)}}function U1(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function z1(r,e,t,i){function n(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(l){try{u(i.next(l))}catch(v){o(v)}}function c(l){try{u(i.throw(l))}catch(v){o(v)}}function u(l){l.done?s(l.value):n(l.value).then(a,c)}u((i=i.apply(r,e||[])).next())})}function L1(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(l){return c([u,l])}}function c(u){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,n&&(s=u[0]&2?n.return:u[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,u[1])).done)return s;switch(n=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,n=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){t.label=u[1];break}if(u[0]===6&&t.label<s[1]){t.label=s[1],s=u;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(u);break}s[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(r,t)}catch(l){u=[6,l],n=0}finally{i=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function k1(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}function B1(r,e){for(var t in r)t!=="default"&&!e.hasOwnProperty(t)&&(e[t]=r[t])}function Za(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 wu(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}function V1(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(wu(arguments[e]));return r}function K1(){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 s=arguments[e],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i}function Os(r){return this instanceof Os?(this.v=r,this):new Os(r)}function j1(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),n,s=[];return n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n;function o(A){i[A]&&(n[A]=function(M){return new Promise(function(I,N){s.push([A,M,I,N])>1||a(A,M)})})}function a(A,M){try{c(i[A](M))}catch(I){v(s[0][3],I)}}function c(A){A.value instanceof Os?Promise.resolve(A.value.v).then(u,l):v(s[0][2],A)}function u(A){a("next",A)}function l(A){a("throw",A)}function v(A,M){A(M),s.shift(),s.length&&a(s[0][0],s[0][1])}}function W1(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,s){e[n]=r[n]?function(o){return(t=!t)?{value:Os(r[n](o)),done:n==="return"}:s?s(o):o}:s}}function Y1(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 Za=="function"?Za(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=r[s]&&function(o){return new Promise(function(a,c){o=r[s](o),n(a,c,o.done,o.value)})}}function n(s,o,a,c){Promise.resolve(c).then(function(u){s({value:u,done:a})},o)}}function X1(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function G1(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 J1(r){return r&&r.__esModule?r:{default:r}}function H1(r,e){if(!e.has(r))throw new TypeError("attempted to get private field on non-instance");return e.get(r)}function Z1(r,e,t){if(!e.has(r))throw new TypeError("attempted to set private field on non-instance");return e.set(r,t),t}var Q1=Object.freeze({__proto__:null,__extends:T1,get __assign(){return Ha},__rest:F1,__decorate:q1,__param:C1,__metadata:U1,__awaiter:z1,__generator:L1,__createBinding:k1,__exportStar:B1,__values:Za,__read:wu,__spread:V1,__spreadArrays:K1,__await:Os,__asyncGenerator:j1,__asyncDelegator:W1,__asyncValues:Y1,__makeTemplateObject:X1,__importStar:G1,__importDefault:J1,__classPrivateFieldGet:H1,__classPrivateFieldSet:Z1}),Ro=Ya(Q1),Qa={},Ns={},xu;function _1(){if(xu)return Ns;xu=1,Object.defineProperty(Ns,"__esModule",{value:!0}),Ns.delay=void 0;function r(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}return Ns.delay=r,Ns}var bn={},_a={},gn={},Eu;function $1(){return Eu||(Eu=1,Object.defineProperty(gn,"__esModule",{value:!0}),gn.ONE_THOUSAND=gn.ONE_HUNDRED=void 0,gn.ONE_HUNDRED=100,gn.ONE_THOUSAND=1e3),gn}var $a={},Su;function eb(){return Su||(Su=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}($a)),$a}var Au;function Iu(){return Au||(Au=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ro;e.__exportStar($1(),r),e.__exportStar(eb(),r)}(_a)),_a}var Mu;function tb(){if(Mu)return bn;Mu=1,Object.defineProperty(bn,"__esModule",{value:!0}),bn.fromMiliseconds=bn.toMiliseconds=void 0;const r=Iu();function e(i){return i*r.ONE_THOUSAND}bn.toMiliseconds=e;function t(i){return Math.floor(i/r.ONE_THOUSAND)}return bn.fromMiliseconds=t,bn}var Ou;function rb(){return Ou||(Ou=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ro;e.__exportStar(_1(),r),e.__exportStar(tb(),r)}(Qa)),Qa}var Yn={},Nu;function ib(){if(Nu)return Yn;Nu=1,Object.defineProperty(Yn,"__esModule",{value:!0}),Yn.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 Yn.Watch=r,Yn.default=r,Yn}var ef={},Ds={},Du;function nb(){if(Du)return Ds;Du=1,Object.defineProperty(Ds,"__esModule",{value:!0}),Ds.IWatch=void 0;class r{}return Ds.IWatch=r,Ds}var Ru;function sb(){return Ru||(Ru=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Ro.__exportStar(nb(),r)}(ef)),ef}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ro;e.__exportStar(rb(),r),e.__exportStar(ib(),r),e.__exportStar(sb(),r),e.__exportStar(Iu(),r)})(re);class vn{}class ob extends vn{constructor(e){super()}}const Pu=re.FIVE_SECONDS,Xn={pulse:"heartbeat_pulse"};class tf extends ob{constructor(e){super(e),this.events=new $t.exports.EventEmitter,this.interval=Pu,this.interval=e?.interval||Pu}static async init(e){const t=new tf(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(),re.toMiliseconds(this.interval))}pulse(){this.events.emit(Xn.pulse)}}const ab=/"(?:_|\\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*:/,fb=/"(?: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*:/,cb=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function ub(r,e){if(r==="__proto__"||r==="constructor"&&e&&typeof e=="object"&&"prototype"in e){hb(r);return}return e}function hb(r){console.warn(`[destr] Dropping "${r}" key to prevent prototype pollution.`)}function Po(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(!cb.test(r)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return r}try{if(ab.test(r)||fb.test(r)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(r,ub)}return JSON.parse(r)}catch(i){if(e.strict)throw i;return r}}function db(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function Ft(r,...e){try{return db(r(...e))}catch(t){return Promise.reject(t)}}function lb(r){const e=typeof r;return r===null||e!=="object"&&e!=="function"}function pb(r){const e=Object.getPrototypeOf(r);return!e||e.isPrototypeOf(Object)}function To(r){if(lb(r))return String(r);if(pb(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return To(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function Tu(){if(typeof Buffer>"u")throw new TypeError("[unstorage] Buffer is not supported!")}const rf="base64:";function bb(r){if(typeof r=="string")return r;Tu();const e=Buffer.from(r).toString("base64");return rf+e}function gb(r){return typeof r!="string"||!r.startsWith(rf)?r:(Tu(),Buffer.from(r.slice(rf.length),"base64"))}function br(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function vb(...r){return br(r.join(":"))}function Fo(r){return r=br(r),r?r+":":""}function gA(r){return r}const mb="memory",yb=()=>{const r=new Map;return{name:mb,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 wb(r={}){const e={mounts:{"":r.driver||yb()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=u=>{for(const l of e.mountpoints)if(u.startsWith(l))return{base:l,relativeKey:u.slice(l.length),driver:e.mounts[l]};return{base:"",relativeKey:u,driver:e.mounts[""]}},i=(u,l)=>e.mountpoints.filter(v=>v.startsWith(u)||l&&u.startsWith(v)).map(v=>({relativeBase:u.length>v.length?u.slice(v.length):void 0,mountpoint:v,driver:e.mounts[v]})),n=(u,l)=>{if(e.watching){l=br(l);for(const v of e.watchListeners)v(u,l)}},s=async()=>{if(!e.watching){e.watching=!0;for(const u in e.mounts)e.unwatch[u]=await Fu(e.mounts[u],n,u)}},o=async()=>{if(e.watching){for(const u in e.unwatch)await e.unwatch[u]();e.unwatch={},e.watching=!1}},a=(u,l,v)=>{const A=new Map,M=I=>{let N=A.get(I.base);return N||(N={driver:I.driver,base:I.base,items:[]},A.set(I.base,N)),N};for(const I of u){const N=typeof I=="string",C=br(N?I:I.key),P=N?void 0:I.value,U=N||!I.options?l:{...l,...I.options},k=t(C);M(k).items.push({key:C,value:P,relativeKey:k.relativeKey,options:U})}return Promise.all([...A.values()].map(I=>v(I))).then(I=>I.flat())},c={hasItem(u,l={}){u=br(u);const{relativeKey:v,driver:A}=t(u);return Ft(A.hasItem,v,l)},getItem(u,l={}){u=br(u);const{relativeKey:v,driver:A}=t(u);return Ft(A.getItem,v,l).then(M=>Po(M))},getItems(u,l){return a(u,l,v=>v.driver.getItems?Ft(v.driver.getItems,v.items.map(A=>({key:A.relativeKey,options:A.options})),l).then(A=>A.map(M=>({key:vb(v.base,M.key),value:Po(M.value)}))):Promise.all(v.items.map(A=>Ft(v.driver.getItem,A.relativeKey,A.options).then(M=>({key:A.key,value:Po(M)})))))},getItemRaw(u,l={}){u=br(u);const{relativeKey:v,driver:A}=t(u);return A.getItemRaw?Ft(A.getItemRaw,v,l):Ft(A.getItem,v,l).then(M=>gb(M))},async setItem(u,l,v={}){if(l===void 0)return c.removeItem(u);u=br(u);const{relativeKey:A,driver:M}=t(u);M.setItem&&(await Ft(M.setItem,A,To(l),v),M.watch||n("update",u))},async setItems(u,l){await a(u,l,async v=>{if(v.driver.setItems)return Ft(v.driver.setItems,v.items.map(A=>({key:A.relativeKey,value:To(A.value),options:A.options})),l);v.driver.setItem&&await Promise.all(v.items.map(A=>Ft(v.driver.setItem,A.relativeKey,To(A.value),A.options)))})},async setItemRaw(u,l,v={}){if(l===void 0)return c.removeItem(u,v);u=br(u);const{relativeKey:A,driver:M}=t(u);if(M.setItemRaw)await Ft(M.setItemRaw,A,l,v);else if(M.setItem)await Ft(M.setItem,A,bb(l),v);else return;M.watch||n("update",u)},async removeItem(u,l={}){typeof l=="boolean"&&(l={removeMeta:l}),u=br(u);const{relativeKey:v,driver:A}=t(u);A.removeItem&&(await Ft(A.removeItem,v,l),(l.removeMeta||l.removeMata)&&await Ft(A.removeItem,v+"$",l),A.watch||n("remove",u))},async getMeta(u,l={}){typeof l=="boolean"&&(l={nativeOnly:l}),u=br(u);const{relativeKey:v,driver:A}=t(u),M=Object.create(null);if(A.getMeta&&Object.assign(M,await Ft(A.getMeta,v,l)),!l.nativeOnly){const I=await Ft(A.getItem,v+"$",l).then(N=>Po(N));I&&typeof I=="object"&&(typeof I.atime=="string"&&(I.atime=new Date(I.atime)),typeof I.mtime=="string"&&(I.mtime=new Date(I.mtime)),Object.assign(M,I))}return M},setMeta(u,l,v={}){return this.setItem(u+"$",l,v)},removeMeta(u,l={}){return this.removeItem(u+"$",l)},async getKeys(u,l={}){u=Fo(u);const v=i(u,!0);let A=[];const M=[];for(const I of v){const N=await Ft(I.driver.getKeys,I.relativeBase,l);for(const C of N){const P=I.mountpoint+br(C);A.some(U=>P.startsWith(U))||M.push(P)}A=[I.mountpoint,...A.filter(C=>!C.startsWith(I.mountpoint))]}return u?M.filter(I=>I.startsWith(u)&&I[I.length-1]!=="$"):M.filter(I=>I[I.length-1]!=="$")},async clear(u,l={}){u=Fo(u),await Promise.all(i(u,!1).map(async v=>{if(v.driver.clear)return Ft(v.driver.clear,v.relativeBase,l);if(v.driver.removeItem){const A=await v.driver.getKeys(v.relativeBase||"",l);return Promise.all(A.map(M=>v.driver.removeItem(M,l)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(u=>qu(u)))},async watch(u){return await s(),e.watchListeners.push(u),async()=>{e.watchListeners=e.watchListeners.filter(l=>l!==u),e.watchListeners.length===0&&await o()}},async unwatch(){e.watchListeners=[],await o()},mount(u,l){if(u=Fo(u),u&&e.mounts[u])throw new Error(`already mounted at ${u}`);return u&&(e.mountpoints.push(u),e.mountpoints.sort((v,A)=>A.length-v.length)),e.mounts[u]=l,e.watching&&Promise.resolve(Fu(l,n,u)).then(v=>{e.unwatch[u]=v}).catch(console.error),c},async unmount(u,l=!0){u=Fo(u),!(!u||!e.mounts[u])&&(e.watching&&u in e.unwatch&&(e.unwatch[u](),delete e.unwatch[u]),l&&await qu(e.mounts[u]),e.mountpoints=e.mountpoints.filter(v=>v!==u),delete e.mounts[u])},getMount(u=""){u=br(u)+":";const l=t(u);return{driver:l.driver,base:l.base}},getMounts(u="",l={}){return u=br(u),i(u,l.parents).map(A=>({driver:A.driver,base:A.mountpoint}))},keys:(u,l={})=>c.getKeys(u,l),get:(u,l={})=>c.getItem(u,l),set:(u,l,v={})=>c.setItem(u,l,v),has:(u,l={})=>c.hasItem(u,l),del:(u,l={})=>c.removeItem(u,l),remove:(u,l={})=>c.removeItem(u,l)};return c}function Fu(r,e,t){return r.watch?r.watch((i,n)=>e(i,t+n)):()=>{}}async function qu(r){typeof r.dispose=="function"&&await Ft(r.dispose)}function mn(r){return new Promise((e,t)=>{r.oncomplete=r.onsuccess=()=>e(r.result),r.onabort=r.onerror=()=>t(r.error)})}function Cu(r,e){const t=indexedDB.open(r);t.onupgradeneeded=()=>t.result.createObjectStore(e);const i=mn(t);return(n,s)=>i.then(o=>s(o.transaction(e,n).objectStore(e)))}let nf;function Rs(){return nf||(nf=Cu("keyval-store","keyval")),nf}function Uu(r,e=Rs()){return e("readonly",t=>mn(t.get(r)))}function xb(r,e,t=Rs()){return t("readwrite",i=>(i.put(e,r),mn(i.transaction)))}function Eb(r,e=Rs()){return e("readwrite",t=>(t.delete(r),mn(t.transaction)))}function Sb(r=Rs()){return r("readwrite",e=>(e.clear(),mn(e.transaction)))}function Ab(r,e){return r.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},mn(r.transaction)}function Ib(r=Rs()){return r("readonly",e=>{if(e.getAllKeys)return mn(e.getAllKeys());const t=[];return Ab(e,i=>t.push(i.key)).then(()=>t)})}const Mb=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),Ob=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 Gn(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return Ob(r)}catch{return r}}function yn(r){return typeof r=="string"?r:Mb(r)||""}const Nb="idb-keyval";var Db=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}:`:"",t=n=>e+n;let i;return r.dbName&&r.storeName&&(i=Cu(r.dbName,r.storeName)),{name:Nb,options:r,async hasItem(n){return!(typeof await Uu(t(n),i)>"u")},async getItem(n){return await Uu(t(n),i)??null},setItem(n,s){return xb(t(n),s,i)},removeItem(n){return Eb(t(n),i)},getKeys(){return Ib(i)},clear(){return Sb(i)}}};const Rb="WALLET_CONNECT_V2_INDEXED_DB",Pb="keyvaluestorage";class Tb{constructor(){this.indexedDb=wb({driver:Db({dbName:Rb,storeName:Pb})})}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,yn(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var sf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},qo={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 sf<"u"&&sf.localStorage?qo.exports=sf.localStorage:typeof window<"u"&&window.localStorage?qo.exports=window.localStorage:qo.exports=new e})();function Fb(r){var e;return[r[0],Gn((e=r[1])!=null?e:"")]}class qb{constructor(){this.localStorage=qo.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(Fb)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return Gn(t)}async setItem(e,t){this.localStorage.setItem(e,yn(t))}async removeItem(e){this.localStorage.removeItem(e)}}const Cb="wc_storage_version",zu=1,Ub=async(r,e,t)=>{const i=Cb,n=await e.getItem(i);if(n&&n>=zu){t(e);return}const s=await r.getKeys();if(!s.length){t(e);return}const o=[];for(;s.length;){const a=s.shift();if(!a)continue;const c=a.toLowerCase();if(c.includes("wc@")||c.includes("walletconnect")||c.includes("wc_")||c.includes("wallet_connect")){const u=await r.getItem(a);await e.setItem(a,u),o.push(a)}}await e.setItem(i,zu),t(e),zb(r,o)},zb=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};class Lb{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new qb;this.storage=e;try{const t=new Tb;Ub(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)})}}function kb(r){try{return JSON.stringify(r)}catch{return'"[Circular]"'}}var Bb=Vb;function Vb(r,e,t){var i=t&&t.stringify||kb,n=1;if(typeof r=="object"&&r!==null){var s=e.length+n;if(s===1)return r;var o=new Array(s);o[0]=i(r);for(var a=1;a<s;a++)o[a]=i(e[a]);return o.join(" ")}if(typeof r!="string")return r;var c=e.length;if(c===0)return r;for(var u="",l=1-n,v=-1,A=r&&r.length||0,M=0;M<A;){if(r.charCodeAt(M)===37&&M+1<A){switch(v=v>-1?v:0,r.charCodeAt(M+1)){case 100:case 102:if(l>=c||e[l]==null)break;v<M&&(u+=r.slice(v,M)),u+=Number(e[l]),v=M+2,M++;break;case 105:if(l>=c||e[l]==null)break;v<M&&(u+=r.slice(v,M)),u+=Math.floor(Number(e[l])),v=M+2,M++;break;case 79:case 111:case 106:if(l>=c||e[l]===void 0)break;v<M&&(u+=r.slice(v,M));var I=typeof e[l];if(I==="string"){u+="'"+e[l]+"'",v=M+2,M++;break}if(I==="function"){u+=e[l].name||"<anonymous>",v=M+2,M++;break}u+=i(e[l]),v=M+2,M++;break;case 115:if(l>=c)break;v<M&&(u+=r.slice(v,M)),u+=String(e[l]),v=M+2,M++;break;case 37:v<M&&(u+=r.slice(v,M)),u+="%",v=M+2,M++,l--;break}++l}++M}return v===-1?r:(v<A&&(u+=r.slice(v)),u)}const Lu=Bb;var Ri=di;const Ps=Qb().console||{},Kb={mapHttpRequest:Uo,mapHttpResponse:Uo,wrapRequestSerializer:af,wrapResponseSerializer:af,wrapErrorSerializer:af,req:Uo,res:Uo,err:Gb};function jb(r,e){return Array.isArray(r)?r.filter(function(i){return i!=="!stdSerializers.err"}):r===!0?Object.keys(e):!1}function di(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||Ps;r.browser.write&&(r.browser.asObject=!0);const i=r.serializers||{},n=jb(r.browser.serialize,i);let s=r.browser.serialize;Array.isArray(r.browser.serialize)&&r.browser.serialize.indexOf("!stdSerializers.err")>-1&&(s=!1);const o=["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 a=r.level||"info",c=Object.create(t);c.log||(c.log=Ts),Object.defineProperty(c,"levelVal",{get:l}),Object.defineProperty(c,"level",{get:v,set:A});const u={transmit:e,serialize:n,asObject:r.browser.asObject,levels:o,timestamp:Jb(r)};c.levels=di.levels,c.level=a,c.setMaxListeners=c.getMaxListeners=c.emit=c.addListener=c.on=c.prependListener=c.once=c.prependOnceListener=c.removeListener=c.removeAllListeners=c.listeners=c.listenerCount=c.eventNames=c.write=c.flush=Ts,c.serializers=i,c._serialize=n,c._stdErrSerialize=s,c.child=M,e&&(c._logEvent=of());function l(){return this.level==="silent"?1/0:this.levels.values[this.level]}function v(){return this._level}function A(I){if(I!=="silent"&&!this.levels.values[I])throw Error("unknown level "+I);this._level=I,Jn(u,c,"error","log"),Jn(u,c,"fatal","error"),Jn(u,c,"warn","error"),Jn(u,c,"info","log"),Jn(u,c,"debug","log"),Jn(u,c,"trace","log")}function M(I,N){if(!I)throw new Error("missing bindings for child Pino");N=N||{},n&&I.serializers&&(N.serializers=I.serializers);const C=N.serializers;if(n&&C){var P=Object.assign({},i,C),U=r.browser.serialize===!0?Object.keys(P):n;delete I.serializers,Co([I],U,P,this._stdErrSerialize)}function k(W){this._childLevel=(W._childLevel|0)+1,this.error=Hn(W,I,"error"),this.fatal=Hn(W,I,"fatal"),this.warn=Hn(W,I,"warn"),this.info=Hn(W,I,"info"),this.debug=Hn(W,I,"debug"),this.trace=Hn(W,I,"trace"),P&&(this.serializers=P,this._serialize=U),e&&(this._logEvent=of([].concat(W._logEvent.bindings,I)))}return k.prototype=this,new k(this)}return c}di.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"}},di.stdSerializers=Kb,di.stdTimeFunctions=Object.assign({},{nullTime:ku,epochTime:Bu,unixTime:Hb,isoTime:Zb});function Jn(r,e,t,i){const n=Object.getPrototypeOf(e);e[t]=e.levelVal>e.levels.values[t]?Ts:n[t]?n[t]:Ps[t]||Ps[i]||Ts,Wb(r,e,t)}function Wb(r,e,t){!r.transmit&&e[t]===Ts||(e[t]=function(i){return function(){const s=r.timestamp(),o=new Array(arguments.length),a=Object.getPrototypeOf&&Object.getPrototypeOf(this)===Ps?Ps:this;for(var c=0;c<o.length;c++)o[c]=arguments[c];if(r.serialize&&!r.asObject&&Co(o,this._serialize,this.serializers,this._stdErrSerialize),r.asObject?i.call(a,Yb(this,t,o,s)):i.apply(a,o),r.transmit){const u=r.transmit.level||e.level,l=di.levels.values[u],v=di.levels.values[t];if(v<l)return;Xb(this,{ts:s,methodLevel:t,methodValue:v,transmitLevel:u,transmitValue:di.levels.values[r.transmit.level||e.level],send:r.transmit.send,val:e.levelVal},o)}}}(e[t]))}function Yb(r,e,t,i){r._serialize&&Co(t,r._serialize,r.serializers,r._stdErrSerialize);const n=t.slice();let s=n[0];const o={};i&&(o.time=i),o.level=di.levels.values[e];let a=(r._childLevel|0)+1;if(a<1&&(a=1),s!==null&&typeof s=="object"){for(;a--&&typeof n[0]=="object";)Object.assign(o,n.shift());s=n.length?Lu(n.shift(),n):void 0}else typeof s=="string"&&(s=Lu(n.shift(),n));return s!==void 0&&(o.msg=s),o}function Co(r,e,t,i){for(const n in r)if(i&&r[n]instanceof Error)r[n]=di.stdSerializers.err(r[n]);else if(typeof r[n]=="object"&&!Array.isArray(r[n]))for(const s in r[n])e&&e.indexOf(s)>-1&&s in t&&(r[n][s]=t[s](r[n][s]))}function Hn(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 Xb(r,e,t){const i=e.send,n=e.ts,s=e.methodLevel,o=e.methodValue,a=e.val,c=r._logEvent.bindings;Co(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(u){return c.indexOf(u)===-1}),r._logEvent.level.label=s,r._logEvent.level.value=o,i(s,r._logEvent,a),r._logEvent=of(c)}function of(r){return{ts:0,messages:[],bindings:r||[],level:{label:"",value:0}}}function Gb(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 Jb(r){return typeof r.timestamp=="function"?r.timestamp:r.timestamp===!1?ku:Bu}function Uo(){return{}}function af(r){return r}function Ts(){}function ku(){return!1}function Bu(){return Date.now()}function Hb(){return Math.round(Date.now()/1e3)}function Zb(){return new Date(Date.now()).toISOString()}function Qb(){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 _b={level:"info"},Fs="custom_context",ff=1e3*1024;class $b{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}}class Vu{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new $b(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}}}}}class Ku{constructor(e,t=ff){this.level=e??"error",this.levelValue=Ri.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new Vu(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===Ri.levels.values.error?console.error(e):t===Ri.levels.values.warn?console.warn(e):t===Ri.levels.values.debug?console.debug(e):t===Ri.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(yn({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 Vu(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(yn({extraMetadata:e})),new Blob(t,{type:"application/json"})}}class eg{constructor(e,t=ff){this.baseChunkLogger=new Ku(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 tg{constructor(e,t=ff){this.baseChunkLogger=new Ku(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 rg=Object.defineProperty,ig=Object.defineProperties,ng=Object.getOwnPropertyDescriptors,ju=Object.getOwnPropertySymbols,sg=Object.prototype.hasOwnProperty,og=Object.prototype.propertyIsEnumerable,Wu=(r,e,t)=>e in r?rg(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,zo=(r,e)=>{for(var t in e||(e={}))sg.call(e,t)&&Wu(r,t,e[t]);if(ju)for(var t of ju(e))og.call(e,t)&&Wu(r,t,e[t]);return r},Lo=(r,e)=>ig(r,ng(e));function cf(r){return Lo(zo({},r),{level:r?.level||_b.level})}function ag(r,e=Fs){return r[e]||""}function fg(r,e,t=Fs){return r[t]=e,r}function gr(r,e=Fs){let t="";return typeof r.bindings>"u"?t=ag(r,e):t=r.bindings().context||"",t}function cg(r,e,t=Fs){const i=gr(r,t);return i.trim()?`${i}/${e}`:e}function or(r,e,t=Fs){const i=cg(r,e,t),n=r.child({context:i});return fg(n,i,t)}function ug(r){var e,t;const i=new eg((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Ri(Lo(zo({},r.opts),{level:"trace",browser:Lo(zo({},(t=r.opts)==null?void 0:t.browser),{write:n=>i.write(n)})})),chunkLoggerController:i}}function hg(r){var e;const t=new tg((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Ri(Lo(zo({},r.opts),{level:"trace"})),chunkLoggerController:t}}function dg(r){return typeof r.loggerOverride<"u"&&typeof r.loggerOverride!="string"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<"u"?ug(r):hg(r)}class lg extends vn{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}}class pg extends vn{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}}class bg{constructor(e,t){this.logger=e,this.core=t}}class gg extends vn{constructor(e,t){super(),this.relayer=e,this.logger=t}}class vg extends vn{constructor(e){super()}}class mg{constructor(e,t,i,n){this.core=e,this.logger=t,this.name=i}}class yg extends vn{constructor(e,t){super(),this.relayer=e,this.logger=t}}class wg extends vn{constructor(e,t){super(),this.core=e,this.logger=t}}class xg{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}}class Eg{constructor(e,t){this.projectId=e,this.logger=t}}class Sg{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}}class Ag{constructor(e){this.opts=e,this.protocol="wc",this.version=2}}class Ig{constructor(e){this.client=e}}function Mg(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Yu(r,...e){if(!Mg(r))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(r.length))throw new Error("Uint8Array expected of length "+e+", got length="+r.length)}function Xu(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function Og(r,e){Yu(r);const t=e.outputLen;if(r.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const Zn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const uf=r=>new DataView(r.buffer,r.byteOffset,r.byteLength);function Ng(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function Gu(r){return typeof r=="string"&&(r=Ng(r)),Yu(r),r}class Dg{clone(){return this._cloneInto()}}function Rg(r){const e=i=>r().update(Gu(i)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function Ju(r=32){if(Zn&&typeof Zn.getRandomValues=="function")return Zn.getRandomValues(new Uint8Array(r));if(Zn&&typeof Zn.randomBytes=="function")return Zn.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function Pg(r,e,t,i){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(t>>n&s),a=Number(t&s),c=i?4:0,u=i?0:4;r.setUint32(e+c,o,i),r.setUint32(e+u,a,i)}class Tg extends Dg{constructor(e,t,i,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=uf(this.buffer)}update(e){Xu(this);const{view:t,buffer:i,blockLen:n}=this;e=Gu(e);const s=e.length;for(let o=0;o<s;){const a=Math.min(n-this.pos,s-o);if(a===n){const c=uf(e);for(;n<=s-o;o+=n)this.process(c,o);continue}i.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===n&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Xu(this),Og(e,this),this.finished=!0;const{buffer:t,view:i,blockLen:n,isLE:s}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>n-o&&(this.process(i,0),o=0);for(let v=o;v<n;v++)t[v]=0;Pg(i,n-8,BigInt(this.length*8),s),this.process(i,0);const a=uf(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let v=0;v<u;v++)a.setUint32(4*v,l[v],s)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:i,length:n,finished:s,destroyed:o,pos:a}=this;return e.length=n,e.pos=a,e.finished=s,e.destroyed=o,n%t&&e.buffer.set(i),e}}const ko=BigInt(2**32-1),hf=BigInt(32);function Hu(r,e=!1){return e?{h:Number(r&ko),l:Number(r>>hf&ko)}:{h:Number(r>>hf&ko)|0,l:Number(r&ko)|0}}function Fg(r,e=!1){let t=new Uint32Array(r.length),i=new Uint32Array(r.length);for(let n=0;n<r.length;n++){const{h:s,l:o}=Hu(r[n],e);[t[n],i[n]]=[s,o]}return[t,i]}const qg=(r,e)=>BigInt(r>>>0)<<hf|BigInt(e>>>0),Cg=(r,e,t)=>r>>>t,Ug=(r,e,t)=>r<<32-t|e>>>t,zg=(r,e,t)=>r>>>t|e<<32-t,Lg=(r,e,t)=>r<<32-t|e>>>t,kg=(r,e,t)=>r<<64-t|e>>>t-32,Bg=(r,e,t)=>r>>>t-32|e<<64-t,Vg=(r,e)=>e,Kg=(r,e)=>r,jg=(r,e,t)=>r<<t|e>>>32-t,Wg=(r,e,t)=>e<<t|r>>>32-t,Yg=(r,e,t)=>e<<t-32|r>>>64-t,Xg=(r,e,t)=>r<<t-32|e>>>64-t;function Gg(r,e,t,i){const n=(e>>>0)+(i>>>0);return{h:r+t+(n/2**32|0)|0,l:n|0}}const Jg=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),Hg=(r,e,t,i)=>e+t+i+(r/2**32|0)|0,Zg=(r,e,t,i)=>(r>>>0)+(e>>>0)+(t>>>0)+(i>>>0),Qg=(r,e,t,i,n)=>e+t+i+n+(r/2**32|0)|0,_g=(r,e,t,i,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(i>>>0)+(n>>>0),$g=(r,e,t,i,n,s)=>e+t+i+n+s+(r/2**32|0)|0,ze={fromBig:Hu,split:Fg,toBig:qg,shrSH:Cg,shrSL:Ug,rotrSH:zg,rotrSL:Lg,rotrBH:kg,rotrBL:Bg,rotr32H:Vg,rotr32L:Kg,rotlSH:jg,rotlSL:Wg,rotlBH:Yg,rotlBL:Xg,add:Gg,add3L:Jg,add3H:Hg,add4L:Zg,add4H:Qg,add5H:$g,add5L:_g},[ev,tv]=(()=>ze.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))))(),Ji=new Uint32Array(80),Hi=new Uint32Array(80);class rv extends Tg{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:i,Bl:n,Ch:s,Cl:o,Dh:a,Dl:c,Eh:u,El:l,Fh:v,Fl:A,Gh:M,Gl:I,Hh:N,Hl:C}=this;return[e,t,i,n,s,o,a,c,u,l,v,A,M,I,N,C]}set(e,t,i,n,s,o,a,c,u,l,v,A,M,I,N,C){this.Ah=e|0,this.Al=t|0,this.Bh=i|0,this.Bl=n|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=v|0,this.Fl=A|0,this.Gh=M|0,this.Gl=I|0,this.Hh=N|0,this.Hl=C|0}process(e,t){for(let k=0;k<16;k++,t+=4)Ji[k]=e.getUint32(t),Hi[k]=e.getUint32(t+=4);for(let k=16;k<80;k++){const W=Ji[k-15]|0,T=Hi[k-15]|0,J=ze.rotrSH(W,T,1)^ze.rotrSH(W,T,8)^ze.shrSH(W,T,7),_=ze.rotrSL(W,T,1)^ze.rotrSL(W,T,8)^ze.shrSL(W,T,7),X=Ji[k-2]|0,G=Hi[k-2]|0,fe=ze.rotrSH(X,G,19)^ze.rotrBH(X,G,61)^ze.shrSH(X,G,6),D=ze.rotrSL(X,G,19)^ze.rotrBL(X,G,61)^ze.shrSL(X,G,6),b=ze.add4L(_,D,Hi[k-7],Hi[k-16]),p=ze.add4H(b,J,fe,Ji[k-7],Ji[k-16]);Ji[k]=p|0,Hi[k]=b|0}let{Ah:i,Al:n,Bh:s,Bl:o,Ch:a,Cl:c,Dh:u,Dl:l,Eh:v,El:A,Fh:M,Fl:I,Gh:N,Gl:C,Hh:P,Hl:U}=this;for(let k=0;k<80;k++){const W=ze.rotrSH(v,A,14)^ze.rotrSH(v,A,18)^ze.rotrBH(v,A,41),T=ze.rotrSL(v,A,14)^ze.rotrSL(v,A,18)^ze.rotrBL(v,A,41),J=v&M^~v&N,_=A&I^~A&C,X=ze.add5L(U,T,_,tv[k],Hi[k]),G=ze.add5H(X,P,W,J,ev[k],Ji[k]),fe=X|0,D=ze.rotrSH(i,n,28)^ze.rotrBH(i,n,34)^ze.rotrBH(i,n,39),b=ze.rotrSL(i,n,28)^ze.rotrBL(i,n,34)^ze.rotrBL(i,n,39),p=i&s^i&a^s&a,f=n&o^n&c^o&c;P=N|0,U=C|0,N=M|0,C=I|0,M=v|0,I=A|0,{h:v,l:A}=ze.add(u|0,l|0,G|0,fe|0),u=a|0,l=c|0,a=s|0,c=o|0,s=i|0,o=n|0;const h=ze.add3L(fe,b,f);i=ze.add3H(h,G,D,p),n=h|0}({h:i,l:n}=ze.add(this.Ah|0,this.Al|0,i|0,n|0)),{h:s,l:o}=ze.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=ze.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=ze.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:v,l:A}=ze.add(this.Eh|0,this.El|0,v|0,A|0),{h:M,l:I}=ze.add(this.Fh|0,this.Fl|0,M|0,I|0),{h:N,l:C}=ze.add(this.Gh|0,this.Gl|0,N|0,C|0),{h:P,l:U}=ze.add(this.Hh|0,this.Hl|0,P|0,U|0),this.set(i,n,s,o,a,c,u,l,v,A,M,I,N,C,P,U)}roundClean(){Ji.fill(0),Hi.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const iv=Rg(()=>new rv);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const df=BigInt(0),Zu=BigInt(1),nv=BigInt(2);function lf(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function pf(r){if(!lf(r))throw new Error("Uint8Array expected")}function bf(r,e){if(typeof e!="boolean")throw new Error(r+" boolean expected, got "+e)}const sv=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function gf(r){pf(r);let e="";for(let t=0;t<r.length;t++)e+=sv[r[t]];return e}function Qu(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?df:BigInt("0x"+r)}const Pi={_0:48,_9:57,A:65,F:70,a:97,f:102};function _u(r){if(r>=Pi._0&&r<=Pi._9)return r-Pi._0;if(r>=Pi.A&&r<=Pi.F)return r-(Pi.A-10);if(r>=Pi.a&&r<=Pi.f)return r-(Pi.a-10)}function $u(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);const e=r.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(t);for(let n=0,s=0;n<t;n++,s+=2){const o=_u(r.charCodeAt(s)),a=_u(r.charCodeAt(s+1));if(o===void 0||a===void 0){const c=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}i[n]=o*16+a}return i}function ov(r){return Qu(gf(r))}function Bo(r){return pf(r),Qu(gf(Uint8Array.from(r).reverse()))}function eh(r,e){return $u(r.toString(16).padStart(e*2,"0"))}function vf(r,e){return eh(r,e).reverse()}function Ti(r,e,t){let i;if(typeof e=="string")try{i=$u(e)}catch(s){throw new Error(r+" must be hex string or Uint8Array, cause: "+s)}else if(lf(e))i=Uint8Array.from(e);else throw new Error(r+" must be hex string or Uint8Array");const n=i.length;if(typeof t=="number"&&n!==t)throw new Error(r+" of length "+t+" expected, got "+n);return i}function th(...r){let e=0;for(let i=0;i<r.length;i++){const n=r[i];pf(n),e+=n.length}const t=new Uint8Array(e);for(let i=0,n=0;i<r.length;i++){const s=r[i];t.set(s,n),n+=s.length}return t}const mf=r=>typeof r=="bigint"&&df<=r;function av(r,e,t){return mf(r)&&mf(e)&&mf(t)&&e<=r&&r<t}function qs(r,e,t,i){if(!av(e,t,i))throw new Error("expected valid "+r+": "+t+" <= n < "+i+", got "+e)}function fv(r){let e;for(e=0;r>df;r>>=Zu,e+=1);return e}const cv=r=>(nv<<BigInt(r-1))-Zu,uv={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||lf(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function yf(r,e,t={}){const i=(n,s,o)=>{const a=uv[s];if(typeof a!="function")throw new Error("invalid validator function");const c=r[n];if(!(o&&c===void 0)&&!a(c,r))throw new Error("param "+String(n)+" is invalid. Expected "+s+", got "+c)};for(const[n,s]of Object.entries(e))i(n,s,!1);for(const[n,s]of Object.entries(t))i(n,s,!0);return r}function rh(r){const e=new WeakMap;return(t,...i)=>{const n=e.get(t);if(n!==void 0)return n;const s=r(t,...i);return e.set(t,s),s}}const qt=BigInt(0),It=BigInt(1),wn=BigInt(2),hv=BigInt(3),wf=BigInt(4),ih=BigInt(5),nh=BigInt(8);function Dt(r,e){const t=r%e;return t>=qt?t:e+t}function dv(r,e,t){if(e<qt)throw new Error("invalid exponent, negatives unsupported");if(t<=qt)throw new Error("invalid modulus");if(t===It)return qt;let i=It;for(;e>qt;)e&It&&(i=i*r%t),r=r*r%t,e>>=It;return i}function li(r,e,t){let i=r;for(;e-- >qt;)i*=i,i%=t;return i}function sh(r,e){if(r===qt)throw new Error("invert: expected non-zero number");if(e<=qt)throw new Error("invert: expected positive modulus, got "+e);let t=Dt(r,e),i=e,n=qt,s=It;for(;t!==qt;){const o=i/t,a=i%t,c=n-s*o;i=t,t=a,n=s,s=c}if(i!==It)throw new Error("invert: does not exist");return Dt(n,e)}function lv(r){const e=(r-It)/wn;let t,i,n;for(t=r-It,i=0;t%wn===qt;t/=wn,i++);for(n=wn;n<r&&dv(n,e,r)!==r-It;n++)if(n>1e3)throw new Error("Cannot find square root: likely non-prime P");if(i===1){const o=(r+It)/wf;return function(a,c){const u=a.pow(c,o);if(!a.eql(a.sqr(u),c))throw new Error("Cannot find square root");return u}}const s=(t+It)/wn;return function(o,a){if(o.pow(a,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let c=i,u=o.pow(o.mul(o.ONE,n),t),l=o.pow(a,s),v=o.pow(a,t);for(;!o.eql(v,o.ONE);){if(o.eql(v,o.ZERO))return o.ZERO;let A=1;for(let I=o.sqr(v);A<c&&!o.eql(I,o.ONE);A++)I=o.sqr(I);const M=o.pow(u,It<<BigInt(c-A-1));u=o.sqr(M),l=o.mul(l,M),v=o.mul(v,u),c=A}return l}}function pv(r){if(r%wf===hv){const e=(r+It)/wf;return function(t,i){const n=t.pow(i,e);if(!t.eql(t.sqr(n),i))throw new Error("Cannot find square root");return n}}if(r%nh===ih){const e=(r-ih)/nh;return function(t,i){const n=t.mul(i,wn),s=t.pow(n,e),o=t.mul(i,s),a=t.mul(t.mul(o,wn),s),c=t.mul(o,t.sub(a,t.ONE));if(!t.eql(t.sqr(c),i))throw new Error("Cannot find square root");return c}}return lv(r)}const bv=(r,e)=>(Dt(r,e)&It)===It,gv=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function vv(r){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=gv.reduce((i,n)=>(i[n]="function",i),e);return yf(r,t)}function mv(r,e,t){if(t<qt)throw new Error("invalid exponent, negatives unsupported");if(t===qt)return r.ONE;if(t===It)return e;let i=r.ONE,n=e;for(;t>qt;)t&It&&(i=r.mul(i,n)),n=r.sqr(n),t>>=It;return i}function yv(r,e){const t=new Array(e.length),i=e.reduce((s,o,a)=>r.is0(o)?s:(t[a]=s,r.mul(s,o)),r.ONE),n=r.inv(i);return e.reduceRight((s,o,a)=>r.is0(o)?s:(t[a]=r.mul(s,t[a]),r.mul(s,o)),n),t}function oh(r,e){const t=e!==void 0?e:r.toString(2).length,i=Math.ceil(t/8);return{nBitLength:t,nByteLength:i}}function ah(r,e,t=!1,i={}){if(r<=qt)throw new Error("invalid field: expected ORDER > 0, got "+r);const{nBitLength:n,nByteLength:s}=oh(r,e);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:r,isLE:t,BITS:n,BYTES:s,MASK:cv(n),ZERO:qt,ONE:It,create:c=>Dt(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return qt<=c&&c<r},is0:c=>c===qt,isOdd:c=>(c&It)===It,neg:c=>Dt(-c,r),eql:(c,u)=>c===u,sqr:c=>Dt(c*c,r),add:(c,u)=>Dt(c+u,r),sub:(c,u)=>Dt(c-u,r),mul:(c,u)=>Dt(c*u,r),pow:(c,u)=>mv(a,c,u),div:(c,u)=>Dt(c*sh(u,r),r),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>sh(c,r),sqrt:i.sqrt||(c=>(o||(o=pv(r)),o(a,c))),invertBatch:c=>yv(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>t?vf(c,s):eh(c,s),fromBytes:c=>{if(c.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+c.length);return t?Bo(c):ov(c)}});return Object.freeze(a)}const fh=BigInt(0),Vo=BigInt(1);function xf(r,e){const t=e.negate();return r?t:e}function ch(r,e){if(!Number.isSafeInteger(r)||r<=0||r>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+r)}function Ef(r,e){ch(r,e);const t=Math.ceil(e/r)+1,i=2**(r-1);return{windows:t,windowSize:i}}function wv(r,e){if(!Array.isArray(r))throw new Error("array expected");r.forEach((t,i)=>{if(!(t instanceof e))throw new Error("invalid point at index "+i)})}function xv(r,e){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((t,i)=>{if(!e.isValid(t))throw new Error("invalid scalar at index "+i)})}const Sf=new WeakMap,uh=new WeakMap;function Af(r){return uh.get(r)||1}function Ev(r,e){return{constTimeNegate:xf,hasPrecomputes(t){return Af(t)!==1},unsafeLadder(t,i,n=r.ZERO){let s=t;for(;i>fh;)i&Vo&&(n=n.add(s)),s=s.double(),i>>=Vo;return n},precomputeWindow(t,i){const{windows:n,windowSize:s}=Ef(i,e),o=[];let a=t,c=a;for(let u=0;u<n;u++){c=a,o.push(c);for(let l=1;l<s;l++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(t,i,n){const{windows:s,windowSize:o}=Ef(t,e);let a=r.ZERO,c=r.BASE;const u=BigInt(2**t-1),l=2**t,v=BigInt(t);for(let A=0;A<s;A++){const M=A*o;let I=Number(n&u);n>>=v,I>o&&(I-=l,n+=Vo);const N=M,C=M+Math.abs(I)-1,P=A%2!==0,U=I<0;I===0?c=c.add(xf(P,i[N])):a=a.add(xf(U,i[C]))}return{p:a,f:c}},wNAFUnsafe(t,i,n,s=r.ZERO){const{windows:o,windowSize:a}=Ef(t,e),c=BigInt(2**t-1),u=2**t,l=BigInt(t);for(let v=0;v<o;v++){const A=v*a;if(n===fh)break;let M=Number(n&c);if(n>>=l,M>a&&(M-=u,n+=Vo),M===0)continue;let I=i[A+Math.abs(M)-1];M<0&&(I=I.negate()),s=s.add(I)}return s},getPrecomputes(t,i,n){let s=Sf.get(i);return s||(s=this.precomputeWindow(i,t),t!==1&&Sf.set(i,n(s))),s},wNAFCached(t,i,n){const s=Af(t);return this.wNAF(s,this.getPrecomputes(s,t,n),i)},wNAFCachedUnsafe(t,i,n,s){const o=Af(t);return o===1?this.unsafeLadder(t,i,s):this.wNAFUnsafe(o,this.getPrecomputes(o,t,n),i,s)},setWindowSize(t,i){ch(i,e),uh.set(t,i),Sf.delete(t)}}}function Sv(r,e,t,i){if(wv(t,r),xv(i,e),t.length!==i.length)throw new Error("arrays of points and scalars must have equal length");const n=r.ZERO,s=fv(BigInt(t.length)),o=s>12?s-3:s>4?s-2:s?2:1,a=(1<<o)-1,c=new Array(a+1).fill(n),u=Math.floor((e.BITS-1)/o)*o;let l=n;for(let v=u;v>=0;v-=o){c.fill(n);for(let M=0;M<i.length;M++){const I=i[M],N=Number(I>>BigInt(v)&BigInt(a));c[N]=c[N].add(t[M])}let A=n;for(let M=c.length-1,I=n;M>0;M--)I=I.add(c[M]),A=A.add(I);if(l=l.add(A),v!==0)for(let M=0;M<o;M++)l=l.double()}return l}function Av(r){return vv(r.Fp),yf(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...oh(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}const $r=BigInt(0),vr=BigInt(1),Ko=BigInt(2),Iv=BigInt(8),Mv={zip215:!0};function Ov(r){const e=Av(r);return yf(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Nv(r){const e=Ov(r),{Fp:t,n:i,prehash:n,hash:s,randomBytes:o,nByteLength:a,h:c}=e,u=Ko<<BigInt(a*8)-vr,l=t.create,v=ah(e.n,e.nBitLength),A=e.uvRatio||((h,g)=>{try{return{isValid:!0,value:t.sqrt(h*t.inv(g))}}catch{return{isValid:!1,value:$r}}}),M=e.adjustScalarBytes||(h=>h),I=e.domain||((h,g,x)=>{if(bf("phflag",x),g.length||x)throw new Error("Contexts/pre-hash are not supported");return h});function N(h,g){qs("coordinate "+h,g,$r,u)}function C(h){if(!(h instanceof k))throw new Error("ExtendedPoint expected")}const P=rh((h,g)=>{const{ex:x,ey:E,ez:w}=h,d=h.is0();g==null&&(g=d?Iv:t.inv(w));const y=l(x*g),m=l(E*g),O=l(w*g);if(d)return{x:$r,y:vr};if(O!==vr)throw new Error("invZ was invalid");return{x:y,y:m}}),U=rh(h=>{const{a:g,d:x}=e;if(h.is0())throw new Error("bad point: ZERO");const{ex:E,ey:w,ez:d,et:y}=h,m=l(E*E),O=l(w*w),Y=l(d*d),S=l(Y*Y),z=l(m*g),K=l(Y*l(z+O)),q=l(S+l(x*l(m*O)));if(K!==q)throw new Error("bad point: equation left != right (1)");const F=l(E*w),V=l(d*y);if(F!==V)throw new Error("bad point: equation left != right (2)");return!0});class k{constructor(g,x,E,w){this.ex=g,this.ey=x,this.ez=E,this.et=w,N("x",g),N("y",x),N("z",E),N("t",w),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(g){if(g instanceof k)throw new Error("extended point not allowed");const{x,y:E}=g||{};return N("x",x),N("y",E),new k(x,E,vr,l(x*E))}static normalizeZ(g){const x=t.invertBatch(g.map(E=>E.ez));return g.map((E,w)=>E.toAffine(x[w])).map(k.fromAffine)}static msm(g,x){return Sv(k,v,g,x)}_setWindowSize(g){J.setWindowSize(this,g)}assertValidity(){U(this)}equals(g){C(g);const{ex:x,ey:E,ez:w}=this,{ex:d,ey:y,ez:m}=g,O=l(x*m),Y=l(d*w),S=l(E*m),z=l(y*w);return O===Y&&S===z}is0(){return this.equals(k.ZERO)}negate(){return new k(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){const{a:g}=e,{ex:x,ey:E,ez:w}=this,d=l(x*x),y=l(E*E),m=l(Ko*l(w*w)),O=l(g*d),Y=x+E,S=l(l(Y*Y)-d-y),z=O+y,K=z-m,q=O-y,F=l(S*K),V=l(z*q),L=l(S*q),j=l(K*z);return new k(F,V,j,L)}add(g){C(g);const{a:x,d:E}=e,{ex:w,ey:d,ez:y,et:m}=this,{ex:O,ey:Y,ez:S,et:z}=g;if(x===BigInt(-1)){const le=l((d-w)*(Y+O)),Me=l((d+w)*(Y-O)),de=l(Me-le);if(de===$r)return this.double();const De=l(y*Ko*z),Ne=l(m*Ko*S),ce=Ne+De,Oe=Me+le,Re=Ne-De,te=l(ce*de),Xe=l(Oe*Re),ke=l(ce*Re),oe=l(de*Oe);return new k(te,Xe,oe,ke)}const K=l(w*O),q=l(d*Y),F=l(m*E*z),V=l(y*S),L=l((w+d)*(O+Y)-K-q),j=V-F,ee=V+F,H=l(q-x*K),Z=l(L*j),he=l(ee*H),se=l(L*H),Q=l(j*ee);return new k(Z,he,Q,se)}subtract(g){return this.add(g.negate())}wNAF(g){return J.wNAFCached(this,g,k.normalizeZ)}multiply(g){const x=g;qs("scalar",x,vr,i);const{p:E,f:w}=this.wNAF(x);return k.normalizeZ([E,w])[0]}multiplyUnsafe(g,x=k.ZERO){const E=g;return qs("scalar",E,$r,i),E===$r?T:this.is0()||E===vr?this:J.wNAFCachedUnsafe(this,E,k.normalizeZ,x)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return J.unsafeLadder(this,i).is0()}toAffine(g){return P(this,g)}clearCofactor(){const{h:g}=e;return g===vr?this:this.multiplyUnsafe(g)}static fromHex(g,x=!1){const{d:E,a:w}=e,d=t.BYTES;g=Ti("pointHex",g,d),bf("zip215",x);const y=g.slice(),m=g[d-1];y[d-1]=m&-129;const O=Bo(y),Y=x?u:t.ORDER;qs("pointHex.y",O,$r,Y);const S=l(O*O),z=l(S-vr),K=l(E*S-w);let{isValid:q,value:F}=A(z,K);if(!q)throw new Error("Point.fromHex: invalid y coordinate");const V=(F&vr)===vr,L=(m&128)!==0;if(!x&&F===$r&&L)throw new Error("Point.fromHex: x=0 and x_0=1");return L!==V&&(F=l(-F)),k.fromAffine({x:F,y:O})}static fromPrivateKey(g){return G(g).point}toRawBytes(){const{x:g,y:x}=this.toAffine(),E=vf(x,t.BYTES);return E[E.length-1]|=g&vr?128:0,E}toHex(){return gf(this.toRawBytes())}}k.BASE=new k(e.Gx,e.Gy,vr,l(e.Gx*e.Gy)),k.ZERO=new k($r,vr,vr,$r);const{BASE:W,ZERO:T}=k,J=Ev(k,a*8);function _(h){return Dt(h,i)}function X(h){return _(Bo(h))}function G(h){const g=t.BYTES;h=Ti("private key",h,g);const x=Ti("hashed private key",s(h),2*g),E=M(x.slice(0,g)),w=x.slice(g,2*g),d=X(E),y=W.multiply(d),m=y.toRawBytes();return{head:E,prefix:w,scalar:d,point:y,pointBytes:m}}function fe(h){return G(h).pointBytes}function D(h=new Uint8Array,...g){const x=th(...g);return X(s(I(x,Ti("context",h),!!n)))}function b(h,g,x={}){h=Ti("message",h),n&&(h=n(h));const{prefix:E,scalar:w,pointBytes:d}=G(g),y=D(x.context,E,h),m=W.multiply(y).toRawBytes(),O=D(x.context,m,d,h),Y=_(y+O*w);qs("signature.s",Y,$r,i);const S=th(m,vf(Y,t.BYTES));return Ti("result",S,t.BYTES*2)}const p=Mv;function f(h,g,x,E=p){const{context:w,zip215:d}=E,y=t.BYTES;h=Ti("signature",h,2*y),g=Ti("message",g),x=Ti("publicKey",x,y),d!==void 0&&bf("zip215",d),n&&(g=n(g));const m=Bo(h.slice(y,2*y));let O,Y,S;try{O=k.fromHex(x,d),Y=k.fromHex(h.slice(0,y),d),S=W.multiplyUnsafe(m)}catch{return!1}if(!d&&O.isSmallOrder())return!1;const z=D(w,Y.toRawBytes(),O.toRawBytes(),g);return Y.add(O.multiplyUnsafe(z)).subtract(S).clearCofactor().equals(k.ZERO)}return W._setWindowSize(8),{CURVE:e,getPublicKey:fe,sign:b,verify:f,ExtendedPoint:k,utils:{getExtendedPublicKey:G,randomPrivateKey:()=>o(t.BYTES),precompute(h=8,g=k.BASE){return g._setWindowSize(h),g.multiply(BigInt(3)),g}}}}BigInt(0),BigInt(1);const If=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),hh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);const Dv=BigInt(1),dh=BigInt(2);BigInt(3);const Rv=BigInt(5),Pv=BigInt(8);function Tv(r){const e=BigInt(10),t=BigInt(20),i=BigInt(40),n=BigInt(80),s=If,o=r*r%s*r%s,a=li(o,dh,s)*o%s,c=li(a,Dv,s)*r%s,u=li(c,Rv,s)*c%s,l=li(u,e,s)*u%s,v=li(l,t,s)*l%s,A=li(v,i,s)*v%s,M=li(A,n,s)*A%s,I=li(M,n,s)*A%s,N=li(I,e,s)*u%s;return{pow_p_5_8:li(N,dh,s)*r%s,b2:o}}function Fv(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function qv(r,e){const t=If,i=Dt(e*e*e,t),n=Dt(i*i*e,t),s=Tv(r*n).pow_p_5_8;let o=Dt(r*i*s,t);const a=Dt(e*o*o,t),c=o,u=Dt(o*hh,t),l=a===r,v=a===Dt(-r,t),A=a===Dt(-r*hh,t);return l&&(o=c),(v||A)&&(o=u),bv(o,t)&&(o=Dt(-o,t)),{isValid:l||v,value:o}}const Cv=(()=>ah(If,void 0,!0))(),Uv=(()=>({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Cv,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Pv,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:iv,randomBytes:Ju,adjustScalarBytes:Fv,uvRatio:qv}))(),lh=(()=>Nv(Uv))(),zv="EdDSA",Lv="JWT",jo=".",Wo="base64url",ph="utf8",bh="utf8",kv=":",Bv="did",Vv="key",gh="base58btc",Kv="z",jv="K36",Wv=32;function Mf(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function vh(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Mf(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function mh(r,e){e||(e=r.reduce((n,s)=>n+s.length,0));const t=vh(e);let i=0;for(const n of r)t.set(n,i),i+=n.length;return Mf(t)}function Yv(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 s=r.charAt(n),o=s.charCodeAt(0);if(t[o]!==255)throw new TypeError(s+" is ambiguous");t[o]=n}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function v(I){if(I instanceof Uint8Array||(ArrayBuffer.isView(I)?I=new Uint8Array(I.buffer,I.byteOffset,I.byteLength):Array.isArray(I)&&(I=Uint8Array.from(I))),!(I instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(I.length===0)return"";for(var N=0,C=0,P=0,U=I.length;P!==U&&I[P]===0;)P++,N++;for(var k=(U-P)*l+1>>>0,W=new Uint8Array(k);P!==U;){for(var T=I[P],J=0,_=k-1;(T!==0||J<C)&&_!==-1;_--,J++)T+=256*W[_]>>>0,W[_]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");C=J,P++}for(var X=k-C;X!==k&&W[X]===0;)X++;for(var G=c.repeat(N);X<k;++X)G+=r.charAt(W[X]);return G}function A(I){if(typeof I!="string")throw new TypeError("Expected String");if(I.length===0)return new Uint8Array;var N=0;if(I[N]!==" "){for(var C=0,P=0;I[N]===c;)C++,N++;for(var U=(I.length-N)*u+1>>>0,k=new Uint8Array(U);I[N];){var W=t[I.charCodeAt(N)];if(W===255)return;for(var T=0,J=U-1;(W!==0||T<P)&&J!==-1;J--,T++)W+=a*k[J]>>>0,k[J]=W%256>>>0,W=W/256>>>0;if(W!==0)throw new Error("Non-zero carry");P=T,N++}if(I[N]!==" "){for(var _=U-P;_!==U&&k[_]===0;)_++;for(var X=new Uint8Array(C+(U-_)),G=C;_!==U;)X[G++]=k[_++];return X}}}function M(I){var N=A(I);if(N)return N;throw new Error(`Non-${e} character`)}return{encode:v,decodeUnsafe:A,decode:M}}var Xv=Yv,Gv=Xv;const yh=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")},Jv=r=>new TextEncoder().encode(r),Hv=r=>new TextDecoder().decode(r);class Zv{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 Qv{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 wh(this,e)}}class _v{constructor(e){this.decoders=e}or(e){return wh(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 wh=(r,e)=>new _v({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class $v{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new Zv(e,t,i),this.decoder=new Qv(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Yo=({name:r,prefix:e,encode:t,decode:i})=>new $v(r,e,t,i),Cs=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=Gv(t,e);return Yo({prefix:r,name:e,encode:i,decode:s=>yh(n(s))})},e2=(r,e,t,i)=>{const n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let s=r.length;for(;r[s-1]==="=";)--s;const o=new Uint8Array(s*t/8|0);let a=0,c=0,u=0;for(let l=0;l<s;++l){const v=n[r[l]];if(v===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|v,a+=t,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},t2=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<<t)-1;let s="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,s+=e[n&a>>o];if(o&&(s+=e[n&a<<t-o]),i)for(;s.length*t&7;)s+="=";return s},Yt=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Yo({prefix:e,name:r,encode(n){return t2(n,i,t)},decode(n){return e2(n,i,t,r)}}),r2=Yo({prefix:"\0",name:"identity",encode:r=>Hv(r),decode:r=>Jv(r)});var i2=Object.freeze({__proto__:null,identity:r2});const n2=Yt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var s2=Object.freeze({__proto__:null,base2:n2});const o2=Yt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var a2=Object.freeze({__proto__:null,base8:o2});const f2=Cs({prefix:"9",name:"base10",alphabet:"0123456789"});var c2=Object.freeze({__proto__:null,base10:f2});const u2=Yt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),h2=Yt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var d2=Object.freeze({__proto__:null,base16:u2,base16upper:h2});const l2=Yt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),p2=Yt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),b2=Yt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),g2=Yt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),v2=Yt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),m2=Yt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),y2=Yt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),w2=Yt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),x2=Yt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var E2=Object.freeze({__proto__:null,base32:l2,base32upper:p2,base32pad:b2,base32padupper:g2,base32hex:v2,base32hexupper:m2,base32hexpad:y2,base32hexpadupper:w2,base32z:x2});const S2=Cs({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),A2=Cs({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var I2=Object.freeze({__proto__:null,base36:S2,base36upper:A2});const M2=Cs({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),O2=Cs({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var N2=Object.freeze({__proto__:null,base58btc:M2,base58flickr:O2});const D2=Yt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),R2=Yt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),P2=Yt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),T2=Yt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var F2=Object.freeze({__proto__:null,base64:D2,base64pad:R2,base64url:P2,base64urlpad:T2});const xh=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),q2=xh.reduce((r,e,t)=>(r[t]=e,r),[]),C2=xh.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function U2(r){return r.reduce((e,t)=>(e+=q2[t],e),"")}function z2(r){const e=[];for(const t of r){const i=C2[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const L2=Yo({prefix:"\u{1F680}",name:"base256emoji",encode:U2,decode:z2});var k2=Object.freeze({__proto__:null,base256emoji:L2}),B2=Sh,Eh=128,V2=127,K2=~V2,j2=Math.pow(2,31);function Sh(r,e,t){e=e||[],t=t||0;for(var i=t;r>=j2;)e[t++]=r&255|Eh,r/=128;for(;r&K2;)e[t++]=r&255|Eh,r>>>=7;return e[t]=r|0,Sh.bytes=t-i+1,e}var W2=Of,Y2=128,Ah=127;function Of(r,i){var t=0,i=i||0,n=0,s=i,o,a=r.length;do{if(s>=a)throw Of.bytes=0,new RangeError("Could not decode varint");o=r[s++],t+=n<28?(o&Ah)<<n:(o&Ah)*Math.pow(2,n),n+=7}while(o>=Y2);return Of.bytes=s-i,t}var X2=Math.pow(2,7),G2=Math.pow(2,14),J2=Math.pow(2,21),H2=Math.pow(2,28),Z2=Math.pow(2,35),Q2=Math.pow(2,42),_2=Math.pow(2,49),$2=Math.pow(2,56),em=Math.pow(2,63),tm=function(r){return r<X2?1:r<G2?2:r<J2?3:r<H2?4:r<Z2?5:r<Q2?6:r<_2?7:r<$2?8:r<em?9:10},rm={encode:B2,decode:W2,encodingLength:tm},Ih=rm;const Mh=(r,e,t=0)=>(Ih.encode(r,e,t),e),Oh=r=>Ih.encodingLength(r),Nf=(r,e)=>{const t=e.byteLength,i=Oh(r),n=i+Oh(t),s=new Uint8Array(n+t);return Mh(r,s,0),Mh(t,s,i),s.set(e,n),new im(r,t,e,s)};class im{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const Nh=({name:r,code:e,encode:t})=>new nm(r,e,t);class nm{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?Nf(this.code,t):t.then(i=>Nf(this.code,i))}else throw Error("Unknown type, must be binary type")}}const Dh=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),sm=Nh({name:"sha2-256",code:18,encode:Dh("SHA-256")}),om=Nh({name:"sha2-512",code:19,encode:Dh("SHA-512")});var am=Object.freeze({__proto__:null,sha256:sm,sha512:om});const Rh=0,fm="identity",Ph=yh;var cm=Object.freeze({__proto__:null,identity:{code:Rh,name:fm,encode:Ph,digest:r=>Nf(Rh,Ph(r))}});new TextEncoder,new TextDecoder;const Th={...i2,...s2,...a2,...c2,...d2,...E2,...I2,...N2,...F2,...k2};({...am,...cm});function Fh(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const qh=Fh("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Df=Fh("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=vh(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Ch={utf8:qh,"utf-8":qh,hex:Th.base16,latin1:Df,ascii:Df,binary:Df,...Th};function Xo(r,e="utf8"){const t=Ch[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)}function Qn(r,e="utf8"){const t=Ch[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Mf(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}function Uh(r){return Gn(Xo(Qn(r,Wo),ph))}function Go(r){return Xo(Qn(yn(r),ph),Wo)}function zh(r){const e=Qn(jv,gh),t=Kv+Xo(mh([e,r]),gh);return[Bv,Vv,t].join(kv)}function um(r){return Xo(r,Wo)}function hm(r){return Qn(r,Wo)}function dm(r){return Qn([Go(r.header),Go(r.payload)].join(jo),bh)}function lm(r){return[Go(r.header),Go(r.payload),um(r.signature)].join(jo)}function Rf(r){const e=r.split(jo),t=Uh(e[0]),i=Uh(e[1]),n=hm(e[2]),s=Qn(e.slice(0,2).join(jo),bh);return{header:t,payload:i,signature:n,data:s}}function Lh(r=Ju(Wv)){const e=lh.getPublicKey(r);return{secretKey:mh([r,e]),publicKey:e}}async function pm(r,e,t,i,n=re.fromMiliseconds(Date.now())){const s={alg:zv,typ:Lv},o=zh(i.publicKey),a=n+t,c={iss:o,sub:r,aud:e,iat:n,exp:a},u=dm({header:s,payload:c}),l=lh.sign(u,i.secretKey.slice(0,32));return lm({header:s,payload:c,signature:l})}var kh=function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i<n;i++)(s||!(i in e))&&(s||(s=Array.prototype.slice.call(e,0,i)),s[i]=e[i]);return r.concat(s||Array.prototype.slice.call(e))},bm=function(){function r(e,t,i){this.name=e,this.version=t,this.os=i,this.type="browser"}return r}(),gm=function(){function r(e){this.version=e,this.type="node",this.name="node",this.os=process.platform}return r}(),vm=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}(),mm=function(){function r(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return r}(),ym=function(){function r(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return r}(),wm=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,xm=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Bh=3,Em=[["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",wm]],Vh=[["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 Sm(r){return r?Kh(r):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new ym:typeof navigator<"u"?Kh(navigator.userAgent):Mm()}function Am(r){return r!==""&&Em.reduce(function(e,t){var i=t[0],n=t[1];if(e)return e;var s=n.exec(r);return!!s&&[i,s]},!1)}function Kh(r){var e=Am(r);if(!e)return null;var t=e[0],i=e[1];if(t==="searchbot")return new mm;var n=i[1]&&i[1].split(".").join("_").split("_").slice(0,3);n?n.length<Bh&&(n=kh(kh([],n,!0),Om(Bh-n.length),!0)):n=[];var s=n.join("."),o=Im(r),a=xm.exec(r);return a&&a[1]?new vm(t,s,o,a[1]):new bm(t,s,o)}function Im(r){for(var e=0,t=Vh.length;e<t;e++){var i=Vh[e],n=i[0],s=i[1],o=s.exec(r);if(o)return n}return null}function Mm(){var r=typeof process<"u"&&process.version;return r?new gm(process.version.slice(1)):null}function Om(r){for(var e=[],t=0;t<r;t++)e.push("0");return e}var lt={};Object.defineProperty(lt,"__esModule",{value:!0}),lt.getLocalStorage=lt.getLocalStorageOrThrow=lt.getCrypto=lt.getCryptoOrThrow=jh=lt.getLocation=lt.getLocationOrThrow=Pf=lt.getNavigator=lt.getNavigatorOrThrow=Us=lt.getDocument=lt.getDocumentOrThrow=lt.getFromWindowOrThrow=lt.getFromWindow=void 0;function xn(r){let e;return typeof window<"u"&&typeof window[r]<"u"&&(e=window[r]),e}lt.getFromWindow=xn;function _n(r){const e=xn(r);if(!e)throw new Error(`${r} is not defined in Window`);return e}lt.getFromWindowOrThrow=_n;function Nm(){return _n("document")}lt.getDocumentOrThrow=Nm;function Dm(){return xn("document")}var Us=lt.getDocument=Dm;function Rm(){return _n("navigator")}lt.getNavigatorOrThrow=Rm;function Pm(){return xn("navigator")}var Pf=lt.getNavigator=Pm;function Tm(){return _n("location")}lt.getLocationOrThrow=Tm;function Fm(){return xn("location")}var jh=lt.getLocation=Fm;function qm(){return _n("crypto")}lt.getCryptoOrThrow=qm;function Cm(){return xn("crypto")}lt.getCrypto=Cm;function Um(){return _n("localStorage")}lt.getLocalStorageOrThrow=Um;function zm(){return xn("localStorage")}lt.getLocalStorage=zm;var Tf={};Object.defineProperty(Tf,"__esModule",{value:!0});var Wh=Tf.getWindowMetadata=void 0;const Yh=lt;function Lm(){let r,e;try{r=Yh.getDocumentOrThrow(),e=Yh.getLocationOrThrow()}catch{return null}function t(){const v=r.getElementsByTagName("link"),A=[];for(let M=0;M<v.length;M++){const I=v[M],N=I.getAttribute("rel");if(N&&N.toLowerCase().indexOf("icon")>-1){const C=I.getAttribute("href");if(C)if(C.toLowerCase().indexOf("https:")===-1&&C.toLowerCase().indexOf("http:")===-1&&C.indexOf("//")!==0){let P=e.protocol+"//"+e.host;if(C.indexOf("/")===0)P+=C;else{const U=e.pathname.split("/");U.pop();const k=U.join("/");P+=k+"/"+C}A.push(P)}else if(C.indexOf("//")===0){const P=e.protocol+C;A.push(P)}else A.push(C)}}return A}function i(...v){const A=r.getElementsByTagName("meta");for(let M=0;M<A.length;M++){const I=A[M],N=["itemprop","property","name"].map(C=>I.getAttribute(C)).filter(C=>C?v.includes(C):!1);if(N.length&&N){const C=I.getAttribute("content");if(C)return C}}return""}function n(){let v=i("name","og:site_name","og:title","twitter:title");return v||(v=r.title),v}function s(){return i("description","og:description","twitter:description","keywords")}const o=n(),a=s(),c=e.origin,u=t();return{description:a,url:c,icons:u,name:o}}Wh=Tf.getWindowMetadata=Lm;const km="logger/5.7.0";let Xh=!1,Gh=!1;const Jo={debug:1,default:2,info:2,warning:3,error:4,off:5};let Jh=Jo.default,Ff=null;function Bm(){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(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(r){return r.message}return null}const Hh=Bm();var qf;(function(r){r.DEBUG="DEBUG",r.INFO="INFO",r.WARNING="WARNING",r.ERROR="ERROR",r.OFF="OFF"})(qf||(qf={}));var ei;(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"})(ei||(ei={}));const Zh="0123456789abcdef";class Le{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const i=e.toLowerCase();Jo[i]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(Jh>Jo[i])&&console.log.apply(console,t)}debug(...e){this._log(Le.levels.DEBUG,e)}info(...e){this._log(Le.levels.INFO,e)}warn(...e){this._log(Le.levels.WARNING,e)}makeError(e,t,i){if(Gh)return this.makeError("censored error",t,{});t||(t=Le.errors.UNKNOWN_ERROR),i||(i={});const n=[];Object.keys(i).forEach(c=>{const u=i[c];try{if(u instanceof Uint8Array){let l="";for(let v=0;v<u.length;v++)l+=Zh[u[v]>>4],l+=Zh[u[v]&15];n.push(c+"=Uint8Array(0x"+l+")")}else n.push(c+"="+JSON.stringify(u))}catch{n.push(c+"="+JSON.stringify(i[c].toString()))}}),n.push(`code=${t}`),n.push(`version=${this.version}`);const s=e;let o="";switch(t){case ei.NUMERIC_FAULT:{o="NUMERIC_FAULT";const c=e;switch(c){case"overflow":case"underflow":case"division-by-zero":o+="-"+c;break;case"negative-power":case"negative-width":o+="-unsupported";break;case"unbound-bitwise-result":o+="-unbound-result";break}break}case ei.CALL_EXCEPTION:case ei.INSUFFICIENT_FUNDS:case ei.MISSING_NEW:case ei.NONCE_EXPIRED:case ei.REPLACEMENT_UNDERPRICED:case ei.TRANSACTION_REPLACED:case ei.UNPREDICTABLE_GAS_LIMIT:o=t;break}o&&(e+=" [ See: https://links.ethers.org/v5-errors-"+o+" ]"),n.length&&(e+=" ("+n.join(", ")+")");const a=new Error(e);return a.reason=s,a.code=t,Object.keys(i).forEach(function(c){a[c]=i[c]}),a}throwError(e,t,i){throw this.makeError(e,t,i)}throwArgumentError(e,t,i){return this.throwError(e,Le.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){Hh&&this.throwError("platform missing String.prototype.normalize",Le.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Hh})}checkSafeUint53(e,t){typeof e=="number"&&(t==null&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,Le.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,Le.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,Le.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError("too many arguments"+i,Le.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){(e===Object||e==null)&&this.throwError("missing new",Le.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",Le.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",Le.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return Ff||(Ff=new Le(km)),Ff}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",Le.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),Xh){if(!e)return;this.globalLogger().throwError("error censorship permanent",Le.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}Gh=!!e,Xh=!!t}static setLogLevel(e){const t=Jo[e.toLowerCase()];if(t==null){Le.globalLogger().warn("invalid log level - "+e);return}Jh=t}static from(e){return new Le(e)}}Le.errors=ei,Le.levels=qf;const Vm="bytes/5.7.0",Mt=new Le(Vm);function Qh(r){return!!r.toHexString}function zs(r){return r.slice||(r.slice=function(){const e=Array.prototype.slice.call(arguments);return zs(new Uint8Array(Array.prototype.slice.apply(r,e)))}),r}function Km(r){return Ir(r)&&!(r.length%2)||$n(r)}function _h(r){return typeof r=="number"&&r==r&&r%1===0}function $n(r){if(r==null)return!1;if(r.constructor===Uint8Array)return!0;if(typeof r=="string"||!_h(r.length)||r.length<0)return!1;for(let e=0;e<r.length;e++){const t=r[e];if(!_h(t)||t<0||t>=256)return!1}return!0}function Rt(r,e){if(e||(e={}),typeof r=="number"){Mt.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),zs(new Uint8Array(t))}if(e.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),Qh(r)&&(r=r.toHexString()),Ir(r)){let t=r.substring(2);t.length%2&&(e.hexPad==="left"?t="0"+t:e.hexPad==="right"?t+="0":Mt.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 zs(new Uint8Array(i))}return $n(r)?zs(new Uint8Array(r)):Mt.throwArgumentError("invalid arrayify value","value",r)}function jm(r,e){r=Rt(r),r.length>e&&Mt.throwArgumentError("value out of range","value",arguments[0]);const t=new Uint8Array(e);return t.set(r,e-r.length),zs(t)}function Ir(r,e){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||e&&r.length!==2+2*e)}const Cf="0123456789abcdef";function ar(r,e){if(e||(e={}),typeof r=="number"){Mt.checkSafeUint53(r,"invalid hexlify value");let t="";for(;r;)t=Cf[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),Qh(r))return r.toHexString();if(Ir(r))return r.length%2&&(e.hexPad==="left"?r="0x0"+r.substring(2):e.hexPad==="right"?r+="0":Mt.throwArgumentError("hex data is odd-length","value",r)),r.toLowerCase();if($n(r)){let t="0x";for(let i=0;i<r.length;i++){let n=r[i];t+=Cf[(n&240)>>4]+Cf[n&15]}return t}return Mt.throwArgumentError("invalid hexlify value","value",r)}function Wm(r){if(typeof r!="string")r=ar(r);else if(!Ir(r)||r.length%2)return null;return(r.length-2)/2}function $h(r,e,t){return typeof r!="string"?r=ar(r):(!Ir(r)||r.length%2)&&Mt.throwArgumentError("invalid hexData","value",r),e=2+2*e,t!=null?"0x"+r.substring(e,2+2*t):"0x"+r.substring(e)}function Zi(r,e){for(typeof r!="string"?r=ar(r):Ir(r)||Mt.throwArgumentError("invalid hex string","value",r),r.length>2*e+2&&Mt.throwArgumentError("value out of range","value",arguments[1]);r.length<2*e+2;)r="0x0"+r.substring(2);return r}function ed(r){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(Km(r)){let t=Rt(r);t.length===64?(e.v=27+(t[32]>>7),t[32]&=127,e.r=ar(t.slice(0,32)),e.s=ar(t.slice(32,64))):t.length===65?(e.r=ar(t.slice(0,32)),e.s=ar(t.slice(32,64)),e.v=t[64]):Mt.throwArgumentError("invalid signature string","signature",r),e.v<27&&(e.v===0||e.v===1?e.v+=27:Mt.throwArgumentError("signature invalid v byte","signature",r)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(t[32]|=128),e._vs=ar(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=jm(Rt(e._vs),32);e._vs=ar(n);const s=n[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=s:e.recoveryParam!==s&&Mt.throwArgumentError("signature recoveryParam mismatch _vs","signature",r),n[0]&=127;const o=ar(n);e.s==null?e.s=o:e.s!==o&&Mt.throwArgumentError("signature v mismatch _vs","signature",r)}if(e.recoveryParam==null)e.v==null?Mt.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&&Mt.throwArgumentError("signature recoveryParam mismatch v","signature",r)}e.r==null||!Ir(e.r)?Mt.throwArgumentError("signature missing or invalid r","signature",r):e.r=Zi(e.r,32),e.s==null||!Ir(e.s)?Mt.throwArgumentError("signature missing or invalid s","signature",r):e.s=Zi(e.s,32);const t=Rt(e.s);t[0]>=128&&Mt.throwArgumentError("signature s out of range","signature",r),e.recoveryParam&&(t[0]|=128);const i=ar(t);e._vs&&(Ir(e._vs)||Mt.throwArgumentError("signature invalid _vs","signature",r),e._vs=Zi(e._vs,32)),e._vs==null?e._vs=i:e._vs!==i&&Mt.throwArgumentError("signature _vs mismatch v and s","signature",r)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}var td={exports:{}},Ym={},Xm=Object.freeze({__proto__:null,default:Ym}),Uf=Ya(Xm);(function(r){(function(e,t){function i(p,f){if(!p)throw new Error(f||"Assertion failed")}function n(p,f){p.super_=f;var h=function(){};h.prototype=f.prototype,p.prototype=new h,p.prototype.constructor=p}function s(p,f,h){if(s.isBN(p))return p;this.negative=0,this.words=null,this.length=0,this.red=null,p!==null&&((f==="le"||f==="be")&&(h=f,f=10),this._init(p||0,f||10,h||"be"))}typeof e=="object"?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Uf.Buffer}catch{}s.isBN=function(f){return f instanceof s?!0:f!==null&&typeof f=="object"&&f.constructor.wordSize===s.wordSize&&Array.isArray(f.words)},s.max=function(f,h){return f.cmp(h)>0?f:h},s.min=function(f,h){return f.cmp(h)<0?f:h},s.prototype._init=function(f,h,g){if(typeof f=="number")return this._initNumber(f,h,g);if(typeof f=="object")return this._initArray(f,h,g);h==="hex"&&(h=16),i(h===(h|0)&&h>=2&&h<=36),f=f.toString().replace(/\s+/g,"");var x=0;f[0]==="-"&&(x++,this.negative=1),x<f.length&&(h===16?this._parseHex(f,x,g):(this._parseBase(f,h,x),g==="le"&&this._initArray(this.toArray(),h,g)))},s.prototype._initNumber=function(f,h,g){f<0&&(this.negative=1,f=-f),f<67108864?(this.words=[f&67108863],this.length=1):f<4503599627370496?(this.words=[f&67108863,f/67108864&67108863],this.length=2):(i(f<9007199254740992),this.words=[f&67108863,f/67108864&67108863,1],this.length=3),g==="le"&&this._initArray(this.toArray(),h,g)},s.prototype._initArray=function(f,h,g){if(i(typeof f.length=="number"),f.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(f.length/3),this.words=new Array(this.length);for(var x=0;x<this.length;x++)this.words[x]=0;var E,w,d=0;if(g==="be")for(x=f.length-1,E=0;x>=0;x-=3)w=f[x]|f[x-1]<<8|f[x-2]<<16,this.words[E]|=w<<d&67108863,this.words[E+1]=w>>>26-d&67108863,d+=24,d>=26&&(d-=26,E++);else if(g==="le")for(x=0,E=0;x<f.length;x+=3)w=f[x]|f[x+1]<<8|f[x+2]<<16,this.words[E]|=w<<d&67108863,this.words[E+1]=w>>>26-d&67108863,d+=24,d>=26&&(d-=26,E++);return this._strip()};function a(p,f){var h=p.charCodeAt(f);if(h>=48&&h<=57)return h-48;if(h>=65&&h<=70)return h-55;if(h>=97&&h<=102)return h-87;i(!1,"Invalid character in "+p)}function c(p,f,h){var g=a(p,h);return h-1>=f&&(g|=a(p,h-1)<<4),g}s.prototype._parseHex=function(f,h,g){this.length=Math.ceil((f.length-h)/6),this.words=new Array(this.length);for(var x=0;x<this.length;x++)this.words[x]=0;var E=0,w=0,d;if(g==="be")for(x=f.length-1;x>=h;x-=2)d=c(f,h,x)<<E,this.words[w]|=d&67108863,E>=18?(E-=18,w+=1,this.words[w]|=d>>>26):E+=8;else{var y=f.length-h;for(x=y%2===0?h+1:h;x<f.length;x+=2)d=c(f,h,x)<<E,this.words[w]|=d&67108863,E>=18?(E-=18,w+=1,this.words[w]|=d>>>26):E+=8}this._strip()};function u(p,f,h,g){for(var x=0,E=0,w=Math.min(p.length,h),d=f;d<w;d++){var y=p.charCodeAt(d)-48;x*=g,y>=49?E=y-49+10:y>=17?E=y-17+10:E=y,i(y>=0&&E<g,"Invalid character"),x+=E}return x}s.prototype._parseBase=function(f,h,g){this.words=[0],this.length=1;for(var x=0,E=1;E<=67108863;E*=h)x++;x--,E=E/h|0;for(var w=f.length-g,d=w%x,y=Math.min(w,w-d)+g,m=0,O=g;O<y;O+=x)m=u(f,O,O+x,h),this.imuln(E),this.words[0]+m<67108864?this.words[0]+=m:this._iaddn(m);if(d!==0){var Y=1;for(m=u(f,O,f.length,h),O=0;O<d;O++)Y*=h;this.imuln(Y),this.words[0]+m<67108864?this.words[0]+=m:this._iaddn(m)}this._strip()},s.prototype.copy=function(f){f.words=new Array(this.length);for(var h=0;h<this.length;h++)f.words[h]=this.words[h];f.length=this.length,f.negative=this.negative,f.red=this.red};function l(p,f){p.words=f.words,p.length=f.length,p.negative=f.negative,p.red=f.red}if(s.prototype._move=function(f){l(f,this)},s.prototype.clone=function(){var f=new s(null);return this.copy(f),f},s.prototype._expand=function(f){for(;this.length<f;)this.words[this.length++]=0;return this},s.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=v}catch{s.prototype.inspect=v}else s.prototype.inspect=v;function v(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var A=["","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"],M=[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],I=[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];s.prototype.toString=function(f,h){f=f||10,h=h|0||1;var g;if(f===16||f==="hex"){g="";for(var x=0,E=0,w=0;w<this.length;w++){var d=this.words[w],y=((d<<x|E)&16777215).toString(16);E=d>>>24-x&16777215,x+=2,x>=26&&(x-=26,w--),E!==0||w!==this.length-1?g=A[6-y.length]+y+g:g=y+g}for(E!==0&&(g=E.toString(16)+g);g.length%h!==0;)g="0"+g;return this.negative!==0&&(g="-"+g),g}if(f===(f|0)&&f>=2&&f<=36){var m=M[f],O=I[f];g="";var Y=this.clone();for(Y.negative=0;!Y.isZero();){var S=Y.modrn(O).toString(f);Y=Y.idivn(O),Y.isZero()?g=S+g:g=A[m-S.length]+S+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")},s.prototype.toNumber=function(){var f=this.words[0];return this.length===2?f+=this.words[1]*67108864:this.length===3&&this.words[2]===1?f+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-f:f},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(f,h){return this.toArrayLike(o,f,h)}),s.prototype.toArray=function(f,h){return this.toArrayLike(Array,f,h)};var N=function(f,h){return f.allocUnsafe?f.allocUnsafe(h):new f(h)};s.prototype.toArrayLike=function(f,h,g){this._strip();var x=this.byteLength(),E=g||Math.max(1,x);i(x<=E,"byte array longer than desired length"),i(E>0,"Requested array length <= 0");var w=N(f,E),d=h==="le"?"LE":"BE";return this["_toArrayLike"+d](w,x),w},s.prototype._toArrayLikeLE=function(f,h){for(var g=0,x=0,E=0,w=0;E<this.length;E++){var d=this.words[E]<<w|x;f[g++]=d&255,g<f.length&&(f[g++]=d>>8&255),g<f.length&&(f[g++]=d>>16&255),w===6?(g<f.length&&(f[g++]=d>>24&255),x=0,w=0):(x=d>>>24,w+=2)}if(g<f.length)for(f[g++]=x;g<f.length;)f[g++]=0},s.prototype._toArrayLikeBE=function(f,h){for(var g=f.length-1,x=0,E=0,w=0;E<this.length;E++){var d=this.words[E]<<w|x;f[g--]=d&255,g>=0&&(f[g--]=d>>8&255),g>=0&&(f[g--]=d>>16&255),w===6?(g>=0&&(f[g--]=d>>24&255),x=0,w=0):(x=d>>>24,w+=2)}if(g>=0)for(f[g--]=x;g>=0;)f[g--]=0},Math.clz32?s.prototype._countBits=function(f){return 32-Math.clz32(f)}:s.prototype._countBits=function(f){var h=f,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},s.prototype._zeroBits=function(f){if(f===0)return 26;var h=f,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},s.prototype.bitLength=function(){var f=this.words[this.length-1],h=this._countBits(f);return(this.length-1)*26+h};function C(p){for(var f=new Array(p.bitLength()),h=0;h<f.length;h++){var g=h/26|0,x=h%26;f[h]=p.words[g]>>>x&1}return f}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var f=0,h=0;h<this.length;h++){var g=this._zeroBits(this.words[h]);if(f+=g,g!==26)break}return f},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(f){return this.negative!==0?this.abs().inotn(f).iaddn(1):this.clone()},s.prototype.fromTwos=function(f){return this.testn(f-1)?this.notn(f).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(f){for(;this.length<f.length;)this.words[this.length++]=0;for(var h=0;h<f.length;h++)this.words[h]=this.words[h]|f.words[h];return this._strip()},s.prototype.ior=function(f){return i((this.negative|f.negative)===0),this.iuor(f)},s.prototype.or=function(f){return this.length>f.length?this.clone().ior(f):f.clone().ior(this)},s.prototype.uor=function(f){return this.length>f.length?this.clone().iuor(f):f.clone().iuor(this)},s.prototype.iuand=function(f){var h;this.length>f.length?h=f:h=this;for(var g=0;g<h.length;g++)this.words[g]=this.words[g]&f.words[g];return this.length=h.length,this._strip()},s.prototype.iand=function(f){return i((this.negative|f.negative)===0),this.iuand(f)},s.prototype.and=function(f){return this.length>f.length?this.clone().iand(f):f.clone().iand(this)},s.prototype.uand=function(f){return this.length>f.length?this.clone().iuand(f):f.clone().iuand(this)},s.prototype.iuxor=function(f){var h,g;this.length>f.length?(h=this,g=f):(h=f,g=this);for(var x=0;x<g.length;x++)this.words[x]=h.words[x]^g.words[x];if(this!==h)for(;x<h.length;x++)this.words[x]=h.words[x];return this.length=h.length,this._strip()},s.prototype.ixor=function(f){return i((this.negative|f.negative)===0),this.iuxor(f)},s.prototype.xor=function(f){return this.length>f.length?this.clone().ixor(f):f.clone().ixor(this)},s.prototype.uxor=function(f){return this.length>f.length?this.clone().iuxor(f):f.clone().iuxor(this)},s.prototype.inotn=function(f){i(typeof f=="number"&&f>=0);var h=Math.ceil(f/26)|0,g=f%26;this._expand(h),g>0&&h--;for(var x=0;x<h;x++)this.words[x]=~this.words[x]&67108863;return g>0&&(this.words[x]=~this.words[x]&67108863>>26-g),this._strip()},s.prototype.notn=function(f){return this.clone().inotn(f)},s.prototype.setn=function(f,h){i(typeof f=="number"&&f>=0);var g=f/26|0,x=f%26;return this._expand(g+1),h?this.words[g]=this.words[g]|1<<x:this.words[g]=this.words[g]&~(1<<x),this._strip()},s.prototype.iadd=function(f){var h;if(this.negative!==0&&f.negative===0)return this.negative=0,h=this.isub(f),this.negative^=1,this._normSign();if(this.negative===0&&f.negative!==0)return f.negative=0,h=this.isub(f),f.negative=1,h._normSign();var g,x;this.length>f.length?(g=this,x=f):(g=f,x=this);for(var E=0,w=0;w<x.length;w++)h=(g.words[w]|0)+(x.words[w]|0)+E,this.words[w]=h&67108863,E=h>>>26;for(;E!==0&&w<g.length;w++)h=(g.words[w]|0)+E,this.words[w]=h&67108863,E=h>>>26;if(this.length=g.length,E!==0)this.words[this.length]=E,this.length++;else if(g!==this)for(;w<g.length;w++)this.words[w]=g.words[w];return this},s.prototype.add=function(f){var h;return f.negative!==0&&this.negative===0?(f.negative=0,h=this.sub(f),f.negative^=1,h):f.negative===0&&this.negative!==0?(this.negative=0,h=f.sub(this),this.negative=1,h):this.length>f.length?this.clone().iadd(f):f.clone().iadd(this)},s.prototype.isub=function(f){if(f.negative!==0){f.negative=0;var h=this.iadd(f);return f.negative=1,h._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(f),this.negative=1,this._normSign();var g=this.cmp(f);if(g===0)return this.negative=0,this.length=1,this.words[0]=0,this;var x,E;g>0?(x=this,E=f):(x=f,E=this);for(var w=0,d=0;d<E.length;d++)h=(x.words[d]|0)-(E.words[d]|0)+w,w=h>>26,this.words[d]=h&67108863;for(;w!==0&&d<x.length;d++)h=(x.words[d]|0)+w,w=h>>26,this.words[d]=h&67108863;if(w===0&&d<x.length&&x!==this)for(;d<x.length;d++)this.words[d]=x.words[d];return this.length=Math.max(this.length,d),x!==this&&(this.negative=1),this._strip()},s.prototype.sub=function(f){return this.clone().isub(f)};function P(p,f,h){h.negative=f.negative^p.negative;var g=p.length+f.length|0;h.length=g,g=g-1|0;var x=p.words[0]|0,E=f.words[0]|0,w=x*E,d=w&67108863,y=w/67108864|0;h.words[0]=d;for(var m=1;m<g;m++){for(var O=y>>>26,Y=y&67108863,S=Math.min(m,f.length-1),z=Math.max(0,m-p.length+1);z<=S;z++){var K=m-z|0;x=p.words[K]|0,E=f.words[z]|0,w=x*E+Y,O+=w/67108864|0,Y=w&67108863}h.words[m]=Y|0,y=O|0}return y!==0?h.words[m]=y|0:h.length--,h._strip()}var U=function(f,h,g){var x=f.words,E=h.words,w=g.words,d=0,y,m,O,Y=x[0]|0,S=Y&8191,z=Y>>>13,K=x[1]|0,q=K&8191,F=K>>>13,V=x[2]|0,L=V&8191,j=V>>>13,ee=x[3]|0,H=ee&8191,Z=ee>>>13,he=x[4]|0,se=he&8191,Q=he>>>13,le=x[5]|0,Me=le&8191,de=le>>>13,De=x[6]|0,Ne=De&8191,ce=De>>>13,Oe=x[7]|0,Re=Oe&8191,te=Oe>>>13,Xe=x[8]|0,ke=Xe&8191,oe=Xe>>>13,et=x[9]|0,qe=et&8191,ge=et>>>13,Te=E[0]|0,Ke=Te&8191,we=Te>>>13,Be=E[1]|0,Ge=Be&8191,ve=Be>>>13,tt=E[2]|0,st=tt&8191,xe=tt>>>13,Qe=E[3]|0,je=Qe&8191,Ee=Qe>>>13,_e=E[4]|0,Je=_e&8191,ye=_e>>>13,ot=E[5]|0,rt=ot&8191,Ae=ot>>>13,it=E[6]|0,nt=it&8191,me=it>>>13,He=E[7]|0,Ce=He&8191,Ie=He>>>13,at=E[8]|0,ft=at&8191,Se=at>>>13,Ze=E[9]|0,Fe=Ze&8191,$e=Ze>>>13;g.negative=f.negative^h.negative,g.length=19,y=Math.imul(S,Ke),m=Math.imul(S,we),m=m+Math.imul(z,Ke)|0,O=Math.imul(z,we);var Vt=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,y=Math.imul(q,Ke),m=Math.imul(q,we),m=m+Math.imul(F,Ke)|0,O=Math.imul(F,we),y=y+Math.imul(S,Ge)|0,m=m+Math.imul(S,ve)|0,m=m+Math.imul(z,Ge)|0,O=O+Math.imul(z,ve)|0;var ut=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(ut>>>26)|0,ut&=67108863,y=Math.imul(L,Ke),m=Math.imul(L,we),m=m+Math.imul(j,Ke)|0,O=Math.imul(j,we),y=y+Math.imul(q,Ge)|0,m=m+Math.imul(q,ve)|0,m=m+Math.imul(F,Ge)|0,O=O+Math.imul(F,ve)|0,y=y+Math.imul(S,st)|0,m=m+Math.imul(S,xe)|0,m=m+Math.imul(z,st)|0,O=O+Math.imul(z,xe)|0;var dt=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(dt>>>26)|0,dt&=67108863,y=Math.imul(H,Ke),m=Math.imul(H,we),m=m+Math.imul(Z,Ke)|0,O=Math.imul(Z,we),y=y+Math.imul(L,Ge)|0,m=m+Math.imul(L,ve)|0,m=m+Math.imul(j,Ge)|0,O=O+Math.imul(j,ve)|0,y=y+Math.imul(q,st)|0,m=m+Math.imul(q,xe)|0,m=m+Math.imul(F,st)|0,O=O+Math.imul(F,xe)|0,y=y+Math.imul(S,je)|0,m=m+Math.imul(S,Ee)|0,m=m+Math.imul(z,je)|0,O=O+Math.imul(z,Ee)|0;var wt=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(wt>>>26)|0,wt&=67108863,y=Math.imul(se,Ke),m=Math.imul(se,we),m=m+Math.imul(Q,Ke)|0,O=Math.imul(Q,we),y=y+Math.imul(H,Ge)|0,m=m+Math.imul(H,ve)|0,m=m+Math.imul(Z,Ge)|0,O=O+Math.imul(Z,ve)|0,y=y+Math.imul(L,st)|0,m=m+Math.imul(L,xe)|0,m=m+Math.imul(j,st)|0,O=O+Math.imul(j,xe)|0,y=y+Math.imul(q,je)|0,m=m+Math.imul(q,Ee)|0,m=m+Math.imul(F,je)|0,O=O+Math.imul(F,Ee)|0,y=y+Math.imul(S,Je)|0,m=m+Math.imul(S,ye)|0,m=m+Math.imul(z,Je)|0,O=O+Math.imul(z,ye)|0;var mt=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(mt>>>26)|0,mt&=67108863,y=Math.imul(Me,Ke),m=Math.imul(Me,we),m=m+Math.imul(de,Ke)|0,O=Math.imul(de,we),y=y+Math.imul(se,Ge)|0,m=m+Math.imul(se,ve)|0,m=m+Math.imul(Q,Ge)|0,O=O+Math.imul(Q,ve)|0,y=y+Math.imul(H,st)|0,m=m+Math.imul(H,xe)|0,m=m+Math.imul(Z,st)|0,O=O+Math.imul(Z,xe)|0,y=y+Math.imul(L,je)|0,m=m+Math.imul(L,Ee)|0,m=m+Math.imul(j,je)|0,O=O+Math.imul(j,Ee)|0,y=y+Math.imul(q,Je)|0,m=m+Math.imul(q,ye)|0,m=m+Math.imul(F,Je)|0,O=O+Math.imul(F,ye)|0,y=y+Math.imul(S,rt)|0,m=m+Math.imul(S,Ae)|0,m=m+Math.imul(z,rt)|0,O=O+Math.imul(z,Ae)|0;var nr=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(nr>>>26)|0,nr&=67108863,y=Math.imul(Ne,Ke),m=Math.imul(Ne,we),m=m+Math.imul(ce,Ke)|0,O=Math.imul(ce,we),y=y+Math.imul(Me,Ge)|0,m=m+Math.imul(Me,ve)|0,m=m+Math.imul(de,Ge)|0,O=O+Math.imul(de,ve)|0,y=y+Math.imul(se,st)|0,m=m+Math.imul(se,xe)|0,m=m+Math.imul(Q,st)|0,O=O+Math.imul(Q,xe)|0,y=y+Math.imul(H,je)|0,m=m+Math.imul(H,Ee)|0,m=m+Math.imul(Z,je)|0,O=O+Math.imul(Z,Ee)|0,y=y+Math.imul(L,Je)|0,m=m+Math.imul(L,ye)|0,m=m+Math.imul(j,Je)|0,O=O+Math.imul(j,ye)|0,y=y+Math.imul(q,rt)|0,m=m+Math.imul(q,Ae)|0,m=m+Math.imul(F,rt)|0,O=O+Math.imul(F,Ae)|0,y=y+Math.imul(S,nt)|0,m=m+Math.imul(S,me)|0,m=m+Math.imul(z,nt)|0,O=O+Math.imul(z,me)|0;var dr=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(dr>>>26)|0,dr&=67108863,y=Math.imul(Re,Ke),m=Math.imul(Re,we),m=m+Math.imul(te,Ke)|0,O=Math.imul(te,we),y=y+Math.imul(Ne,Ge)|0,m=m+Math.imul(Ne,ve)|0,m=m+Math.imul(ce,Ge)|0,O=O+Math.imul(ce,ve)|0,y=y+Math.imul(Me,st)|0,m=m+Math.imul(Me,xe)|0,m=m+Math.imul(de,st)|0,O=O+Math.imul(de,xe)|0,y=y+Math.imul(se,je)|0,m=m+Math.imul(se,Ee)|0,m=m+Math.imul(Q,je)|0,O=O+Math.imul(Q,Ee)|0,y=y+Math.imul(H,Je)|0,m=m+Math.imul(H,ye)|0,m=m+Math.imul(Z,Je)|0,O=O+Math.imul(Z,ye)|0,y=y+Math.imul(L,rt)|0,m=m+Math.imul(L,Ae)|0,m=m+Math.imul(j,rt)|0,O=O+Math.imul(j,Ae)|0,y=y+Math.imul(q,nt)|0,m=m+Math.imul(q,me)|0,m=m+Math.imul(F,nt)|0,O=O+Math.imul(F,me)|0,y=y+Math.imul(S,Ce)|0,m=m+Math.imul(S,Ie)|0,m=m+Math.imul(z,Ce)|0,O=O+Math.imul(z,Ie)|0;var Tr=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(Tr>>>26)|0,Tr&=67108863,y=Math.imul(ke,Ke),m=Math.imul(ke,we),m=m+Math.imul(oe,Ke)|0,O=Math.imul(oe,we),y=y+Math.imul(Re,Ge)|0,m=m+Math.imul(Re,ve)|0,m=m+Math.imul(te,Ge)|0,O=O+Math.imul(te,ve)|0,y=y+Math.imul(Ne,st)|0,m=m+Math.imul(Ne,xe)|0,m=m+Math.imul(ce,st)|0,O=O+Math.imul(ce,xe)|0,y=y+Math.imul(Me,je)|0,m=m+Math.imul(Me,Ee)|0,m=m+Math.imul(de,je)|0,O=O+Math.imul(de,Ee)|0,y=y+Math.imul(se,Je)|0,m=m+Math.imul(se,ye)|0,m=m+Math.imul(Q,Je)|0,O=O+Math.imul(Q,ye)|0,y=y+Math.imul(H,rt)|0,m=m+Math.imul(H,Ae)|0,m=m+Math.imul(Z,rt)|0,O=O+Math.imul(Z,Ae)|0,y=y+Math.imul(L,nt)|0,m=m+Math.imul(L,me)|0,m=m+Math.imul(j,nt)|0,O=O+Math.imul(j,me)|0,y=y+Math.imul(q,Ce)|0,m=m+Math.imul(q,Ie)|0,m=m+Math.imul(F,Ce)|0,O=O+Math.imul(F,Ie)|0,y=y+Math.imul(S,ft)|0,m=m+Math.imul(S,Se)|0,m=m+Math.imul(z,ft)|0,O=O+Math.imul(z,Se)|0;var Jr=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(Jr>>>26)|0,Jr&=67108863,y=Math.imul(qe,Ke),m=Math.imul(qe,we),m=m+Math.imul(ge,Ke)|0,O=Math.imul(ge,we),y=y+Math.imul(ke,Ge)|0,m=m+Math.imul(ke,ve)|0,m=m+Math.imul(oe,Ge)|0,O=O+Math.imul(oe,ve)|0,y=y+Math.imul(Re,st)|0,m=m+Math.imul(Re,xe)|0,m=m+Math.imul(te,st)|0,O=O+Math.imul(te,xe)|0,y=y+Math.imul(Ne,je)|0,m=m+Math.imul(Ne,Ee)|0,m=m+Math.imul(ce,je)|0,O=O+Math.imul(ce,Ee)|0,y=y+Math.imul(Me,Je)|0,m=m+Math.imul(Me,ye)|0,m=m+Math.imul(de,Je)|0,O=O+Math.imul(de,ye)|0,y=y+Math.imul(se,rt)|0,m=m+Math.imul(se,Ae)|0,m=m+Math.imul(Q,rt)|0,O=O+Math.imul(Q,Ae)|0,y=y+Math.imul(H,nt)|0,m=m+Math.imul(H,me)|0,m=m+Math.imul(Z,nt)|0,O=O+Math.imul(Z,me)|0,y=y+Math.imul(L,Ce)|0,m=m+Math.imul(L,Ie)|0,m=m+Math.imul(j,Ce)|0,O=O+Math.imul(j,Ie)|0,y=y+Math.imul(q,ft)|0,m=m+Math.imul(q,Se)|0,m=m+Math.imul(F,ft)|0,O=O+Math.imul(F,Se)|0,y=y+Math.imul(S,Fe)|0,m=m+Math.imul(S,$e)|0,m=m+Math.imul(z,Fe)|0,O=O+Math.imul(z,$e)|0;var lr=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(lr>>>26)|0,lr&=67108863,y=Math.imul(qe,Ge),m=Math.imul(qe,ve),m=m+Math.imul(ge,Ge)|0,O=Math.imul(ge,ve),y=y+Math.imul(ke,st)|0,m=m+Math.imul(ke,xe)|0,m=m+Math.imul(oe,st)|0,O=O+Math.imul(oe,xe)|0,y=y+Math.imul(Re,je)|0,m=m+Math.imul(Re,Ee)|0,m=m+Math.imul(te,je)|0,O=O+Math.imul(te,Ee)|0,y=y+Math.imul(Ne,Je)|0,m=m+Math.imul(Ne,ye)|0,m=m+Math.imul(ce,Je)|0,O=O+Math.imul(ce,ye)|0,y=y+Math.imul(Me,rt)|0,m=m+Math.imul(Me,Ae)|0,m=m+Math.imul(de,rt)|0,O=O+Math.imul(de,Ae)|0,y=y+Math.imul(se,nt)|0,m=m+Math.imul(se,me)|0,m=m+Math.imul(Q,nt)|0,O=O+Math.imul(Q,me)|0,y=y+Math.imul(H,Ce)|0,m=m+Math.imul(H,Ie)|0,m=m+Math.imul(Z,Ce)|0,O=O+Math.imul(Z,Ie)|0,y=y+Math.imul(L,ft)|0,m=m+Math.imul(L,Se)|0,m=m+Math.imul(j,ft)|0,O=O+Math.imul(j,Se)|0,y=y+Math.imul(q,Fe)|0,m=m+Math.imul(q,$e)|0,m=m+Math.imul(F,Fe)|0,O=O+Math.imul(F,$e)|0;var pr=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(pr>>>26)|0,pr&=67108863,y=Math.imul(qe,st),m=Math.imul(qe,xe),m=m+Math.imul(ge,st)|0,O=Math.imul(ge,xe),y=y+Math.imul(ke,je)|0,m=m+Math.imul(ke,Ee)|0,m=m+Math.imul(oe,je)|0,O=O+Math.imul(oe,Ee)|0,y=y+Math.imul(Re,Je)|0,m=m+Math.imul(Re,ye)|0,m=m+Math.imul(te,Je)|0,O=O+Math.imul(te,ye)|0,y=y+Math.imul(Ne,rt)|0,m=m+Math.imul(Ne,Ae)|0,m=m+Math.imul(ce,rt)|0,O=O+Math.imul(ce,Ae)|0,y=y+Math.imul(Me,nt)|0,m=m+Math.imul(Me,me)|0,m=m+Math.imul(de,nt)|0,O=O+Math.imul(de,me)|0,y=y+Math.imul(se,Ce)|0,m=m+Math.imul(se,Ie)|0,m=m+Math.imul(Q,Ce)|0,O=O+Math.imul(Q,Ie)|0,y=y+Math.imul(H,ft)|0,m=m+Math.imul(H,Se)|0,m=m+Math.imul(Z,ft)|0,O=O+Math.imul(Z,Se)|0,y=y+Math.imul(L,Fe)|0,m=m+Math.imul(L,$e)|0,m=m+Math.imul(j,Fe)|0,O=O+Math.imul(j,$e)|0;var Hr=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(Hr>>>26)|0,Hr&=67108863,y=Math.imul(qe,je),m=Math.imul(qe,Ee),m=m+Math.imul(ge,je)|0,O=Math.imul(ge,Ee),y=y+Math.imul(ke,Je)|0,m=m+Math.imul(ke,ye)|0,m=m+Math.imul(oe,Je)|0,O=O+Math.imul(oe,ye)|0,y=y+Math.imul(Re,rt)|0,m=m+Math.imul(Re,Ae)|0,m=m+Math.imul(te,rt)|0,O=O+Math.imul(te,Ae)|0,y=y+Math.imul(Ne,nt)|0,m=m+Math.imul(Ne,me)|0,m=m+Math.imul(ce,nt)|0,O=O+Math.imul(ce,me)|0,y=y+Math.imul(Me,Ce)|0,m=m+Math.imul(Me,Ie)|0,m=m+Math.imul(de,Ce)|0,O=O+Math.imul(de,Ie)|0,y=y+Math.imul(se,ft)|0,m=m+Math.imul(se,Se)|0,m=m+Math.imul(Q,ft)|0,O=O+Math.imul(Q,Se)|0,y=y+Math.imul(H,Fe)|0,m=m+Math.imul(H,$e)|0,m=m+Math.imul(Z,Fe)|0,O=O+Math.imul(Z,$e)|0;var ci=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(ci>>>26)|0,ci&=67108863,y=Math.imul(qe,Je),m=Math.imul(qe,ye),m=m+Math.imul(ge,Je)|0,O=Math.imul(ge,ye),y=y+Math.imul(ke,rt)|0,m=m+Math.imul(ke,Ae)|0,m=m+Math.imul(oe,rt)|0,O=O+Math.imul(oe,Ae)|0,y=y+Math.imul(Re,nt)|0,m=m+Math.imul(Re,me)|0,m=m+Math.imul(te,nt)|0,O=O+Math.imul(te,me)|0,y=y+Math.imul(Ne,Ce)|0,m=m+Math.imul(Ne,Ie)|0,m=m+Math.imul(ce,Ce)|0,O=O+Math.imul(ce,Ie)|0,y=y+Math.imul(Me,ft)|0,m=m+Math.imul(Me,Se)|0,m=m+Math.imul(de,ft)|0,O=O+Math.imul(de,Se)|0,y=y+Math.imul(se,Fe)|0,m=m+Math.imul(se,$e)|0,m=m+Math.imul(Q,Fe)|0,O=O+Math.imul(Q,$e)|0;var Kt=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,y=Math.imul(qe,rt),m=Math.imul(qe,Ae),m=m+Math.imul(ge,rt)|0,O=Math.imul(ge,Ae),y=y+Math.imul(ke,nt)|0,m=m+Math.imul(ke,me)|0,m=m+Math.imul(oe,nt)|0,O=O+Math.imul(oe,me)|0,y=y+Math.imul(Re,Ce)|0,m=m+Math.imul(Re,Ie)|0,m=m+Math.imul(te,Ce)|0,O=O+Math.imul(te,Ie)|0,y=y+Math.imul(Ne,ft)|0,m=m+Math.imul(Ne,Se)|0,m=m+Math.imul(ce,ft)|0,O=O+Math.imul(ce,Se)|0,y=y+Math.imul(Me,Fe)|0,m=m+Math.imul(Me,$e)|0,m=m+Math.imul(de,Fe)|0,O=O+Math.imul(de,$e)|0;var Zr=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,y=Math.imul(qe,nt),m=Math.imul(qe,me),m=m+Math.imul(ge,nt)|0,O=Math.imul(ge,me),y=y+Math.imul(ke,Ce)|0,m=m+Math.imul(ke,Ie)|0,m=m+Math.imul(oe,Ce)|0,O=O+Math.imul(oe,Ie)|0,y=y+Math.imul(Re,ft)|0,m=m+Math.imul(Re,Se)|0,m=m+Math.imul(te,ft)|0,O=O+Math.imul(te,Se)|0,y=y+Math.imul(Ne,Fe)|0,m=m+Math.imul(Ne,$e)|0,m=m+Math.imul(ce,Fe)|0,O=O+Math.imul(ce,$e)|0;var Fr=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,y=Math.imul(qe,Ce),m=Math.imul(qe,Ie),m=m+Math.imul(ge,Ce)|0,O=Math.imul(ge,Ie),y=y+Math.imul(ke,ft)|0,m=m+Math.imul(ke,Se)|0,m=m+Math.imul(oe,ft)|0,O=O+Math.imul(oe,Se)|0,y=y+Math.imul(Re,Fe)|0,m=m+Math.imul(Re,$e)|0,m=m+Math.imul(te,Fe)|0,O=O+Math.imul(te,$e)|0;var Ar=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(Ar>>>26)|0,Ar&=67108863,y=Math.imul(qe,ft),m=Math.imul(qe,Se),m=m+Math.imul(ge,ft)|0,O=Math.imul(ge,Se),y=y+Math.imul(ke,Fe)|0,m=m+Math.imul(ke,$e)|0,m=m+Math.imul(oe,Fe)|0,O=O+Math.imul(oe,$e)|0;var Ao=(d+y|0)+((m&8191)<<13)|0;d=(O+(m>>>13)|0)+(Ao>>>26)|0,Ao&=67108863,y=Math.imul(qe,Fe),m=Math.imul(qe,$e),m=m+Math.imul(ge,Fe)|0,O=Math.imul(ge,$e);var Io=(d+y|0)+((m&8191)<<13)|0;return d=(O+(m>>>13)|0)+(Io>>>26)|0,Io&=67108863,w[0]=Vt,w[1]=ut,w[2]=dt,w[3]=wt,w[4]=mt,w[5]=nr,w[6]=dr,w[7]=Tr,w[8]=Jr,w[9]=lr,w[10]=pr,w[11]=Hr,w[12]=ci,w[13]=Kt,w[14]=Zr,w[15]=Fr,w[16]=Ar,w[17]=Ao,w[18]=Io,d!==0&&(w[19]=d,g.length++),g};Math.imul||(U=P);function k(p,f,h){h.negative=f.negative^p.negative,h.length=p.length+f.length;for(var g=0,x=0,E=0;E<h.length-1;E++){var w=x;x=0;for(var d=g&67108863,y=Math.min(E,f.length-1),m=Math.max(0,E-p.length+1);m<=y;m++){var O=E-m,Y=p.words[O]|0,S=f.words[m]|0,z=Y*S,K=z&67108863;w=w+(z/67108864|0)|0,K=K+d|0,d=K&67108863,w=w+(K>>>26)|0,x+=w>>>26,w&=67108863}h.words[E]=d,g=w,w=x}return g!==0?h.words[E]=g:h.length--,h._strip()}function W(p,f,h){return k(p,f,h)}s.prototype.mulTo=function(f,h){var g,x=this.length+f.length;return this.length===10&&f.length===10?g=U(this,f,h):x<63?g=P(this,f,h):x<1024?g=k(this,f,h):g=W(this,f,h),g},s.prototype.mul=function(f){var h=new s(null);return h.words=new Array(this.length+f.length),this.mulTo(f,h)},s.prototype.mulf=function(f){var h=new s(null);return h.words=new Array(this.length+f.length),W(this,f,h)},s.prototype.imul=function(f){return this.clone().mulTo(f,this)},s.prototype.imuln=function(f){var h=f<0;h&&(f=-f),i(typeof f=="number"),i(f<67108864);for(var g=0,x=0;x<this.length;x++){var E=(this.words[x]|0)*f,w=(E&67108863)+(g&67108863);g>>=26,g+=E/67108864|0,g+=w>>>26,this.words[x]=w&67108863}return g!==0&&(this.words[x]=g,this.length++),h?this.ineg():this},s.prototype.muln=function(f){return this.clone().imuln(f)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(f){var h=C(f);if(h.length===0)return new s(1);for(var g=this,x=0;x<h.length&&h[x]===0;x++,g=g.sqr());if(++x<h.length)for(var E=g.sqr();x<h.length;x++,E=E.sqr())h[x]!==0&&(g=g.mul(E));return g},s.prototype.iushln=function(f){i(typeof f=="number"&&f>=0);var h=f%26,g=(f-h)/26,x=67108863>>>26-h<<26-h,E;if(h!==0){var w=0;for(E=0;E<this.length;E++){var d=this.words[E]&x,y=(this.words[E]|0)-d<<h;this.words[E]=y|w,w=d>>>26-h}w&&(this.words[E]=w,this.length++)}if(g!==0){for(E=this.length-1;E>=0;E--)this.words[E+g]=this.words[E];for(E=0;E<g;E++)this.words[E]=0;this.length+=g}return this._strip()},s.prototype.ishln=function(f){return i(this.negative===0),this.iushln(f)},s.prototype.iushrn=function(f,h,g){i(typeof f=="number"&&f>=0);var x;h?x=(h-h%26)/26:x=0;var E=f%26,w=Math.min((f-E)/26,this.length),d=67108863^67108863>>>E<<E,y=g;if(x-=w,x=Math.max(0,x),y){for(var m=0;m<w;m++)y.words[m]=this.words[m];y.length=w}if(w!==0)if(this.length>w)for(this.length-=w,m=0;m<this.length;m++)this.words[m]=this.words[m+w];else this.words[0]=0,this.length=1;var O=0;for(m=this.length-1;m>=0&&(O!==0||m>=x);m--){var Y=this.words[m]|0;this.words[m]=O<<26-E|Y>>>E,O=Y&d}return y&&O!==0&&(y.words[y.length++]=O),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(f,h,g){return i(this.negative===0),this.iushrn(f,h,g)},s.prototype.shln=function(f){return this.clone().ishln(f)},s.prototype.ushln=function(f){return this.clone().iushln(f)},s.prototype.shrn=function(f){return this.clone().ishrn(f)},s.prototype.ushrn=function(f){return this.clone().iushrn(f)},s.prototype.testn=function(f){i(typeof f=="number"&&f>=0);var h=f%26,g=(f-h)/26,x=1<<h;if(this.length<=g)return!1;var E=this.words[g];return!!(E&x)},s.prototype.imaskn=function(f){i(typeof f=="number"&&f>=0);var h=f%26,g=(f-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 x=67108863^67108863>>>h<<h;this.words[this.length-1]&=x}return this._strip()},s.prototype.maskn=function(f){return this.clone().imaskn(f)},s.prototype.iaddn=function(f){return i(typeof f=="number"),i(f<67108864),f<0?this.isubn(-f):this.negative!==0?this.length===1&&(this.words[0]|0)<=f?(this.words[0]=f-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(f),this.negative=1,this):this._iaddn(f)},s.prototype._iaddn=function(f){this.words[0]+=f;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},s.prototype.isubn=function(f){if(i(typeof f=="number"),i(f<67108864),f<0)return this.iaddn(-f);if(this.negative!==0)return this.negative=0,this.iaddn(f),this.negative=1,this;if(this.words[0]-=f,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()},s.prototype.addn=function(f){return this.clone().iaddn(f)},s.prototype.subn=function(f){return this.clone().isubn(f)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(f,h,g){var x=f.length+g,E;this._expand(x);var w,d=0;for(E=0;E<f.length;E++){w=(this.words[E+g]|0)+d;var y=(f.words[E]|0)*h;w-=y&67108863,d=(w>>26)-(y/67108864|0),this.words[E+g]=w&67108863}for(;E<this.length-g;E++)w=(this.words[E+g]|0)+d,d=w>>26,this.words[E+g]=w&67108863;if(d===0)return this._strip();for(i(d===-1),d=0,E=0;E<this.length;E++)w=-(this.words[E]|0)+d,d=w>>26,this.words[E]=w&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(f,h){var g=this.length-f.length,x=this.clone(),E=f,w=E.words[E.length-1]|0,d=this._countBits(w);g=26-d,g!==0&&(E=E.ushln(g),x.iushln(g),w=E.words[E.length-1]|0);var y=x.length-E.length,m;if(h!=="mod"){m=new s(null),m.length=y+1,m.words=new Array(m.length);for(var O=0;O<m.length;O++)m.words[O]=0}var Y=x.clone()._ishlnsubmul(E,1,y);Y.negative===0&&(x=Y,m&&(m.words[y]=1));for(var S=y-1;S>=0;S--){var z=(x.words[E.length+S]|0)*67108864+(x.words[E.length+S-1]|0);for(z=Math.min(z/w|0,67108863),x._ishlnsubmul(E,z,S);x.negative!==0;)z--,x.negative=0,x._ishlnsubmul(E,1,S),x.isZero()||(x.negative^=1);m&&(m.words[S]=z)}return m&&m._strip(),x._strip(),h!=="div"&&g!==0&&x.iushrn(g),{div:m||null,mod:x}},s.prototype.divmod=function(f,h,g){if(i(!f.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var x,E,w;return this.negative!==0&&f.negative===0?(w=this.neg().divmod(f,h),h!=="mod"&&(x=w.div.neg()),h!=="div"&&(E=w.mod.neg(),g&&E.negative!==0&&E.iadd(f)),{div:x,mod:E}):this.negative===0&&f.negative!==0?(w=this.divmod(f.neg(),h),h!=="mod"&&(x=w.div.neg()),{div:x,mod:w.mod}):this.negative&f.negative?(w=this.neg().divmod(f.neg(),h),h!=="div"&&(E=w.mod.neg(),g&&E.negative!==0&&E.isub(f)),{div:w.div,mod:E}):f.length>this.length||this.cmp(f)<0?{div:new s(0),mod:this}:f.length===1?h==="div"?{div:this.divn(f.words[0]),mod:null}:h==="mod"?{div:null,mod:new s(this.modrn(f.words[0]))}:{div:this.divn(f.words[0]),mod:new s(this.modrn(f.words[0]))}:this._wordDiv(f,h)},s.prototype.div=function(f){return this.divmod(f,"div",!1).div},s.prototype.mod=function(f){return this.divmod(f,"mod",!1).mod},s.prototype.umod=function(f){return this.divmod(f,"mod",!0).mod},s.prototype.divRound=function(f){var h=this.divmod(f);if(h.mod.isZero())return h.div;var g=h.div.negative!==0?h.mod.isub(f):h.mod,x=f.ushrn(1),E=f.andln(1),w=g.cmp(x);return w<0||E===1&&w===0?h.div:h.div.negative!==0?h.div.isubn(1):h.div.iaddn(1)},s.prototype.modrn=function(f){var h=f<0;h&&(f=-f),i(f<=67108863);for(var g=(1<<26)%f,x=0,E=this.length-1;E>=0;E--)x=(g*x+(this.words[E]|0))%f;return h?-x:x},s.prototype.modn=function(f){return this.modrn(f)},s.prototype.idivn=function(f){var h=f<0;h&&(f=-f),i(f<=67108863);for(var g=0,x=this.length-1;x>=0;x--){var E=(this.words[x]|0)+g*67108864;this.words[x]=E/f|0,g=E%f}return this._strip(),h?this.ineg():this},s.prototype.divn=function(f){return this.clone().idivn(f)},s.prototype.egcd=function(f){i(f.negative===0),i(!f.isZero());var h=this,g=f.clone();h.negative!==0?h=h.umod(f):h=h.clone();for(var x=new s(1),E=new s(0),w=new s(0),d=new s(1),y=0;h.isEven()&&g.isEven();)h.iushrn(1),g.iushrn(1),++y;for(var m=g.clone(),O=h.clone();!h.isZero();){for(var Y=0,S=1;!(h.words[0]&S)&&Y<26;++Y,S<<=1);if(Y>0)for(h.iushrn(Y);Y-- >0;)(x.isOdd()||E.isOdd())&&(x.iadd(m),E.isub(O)),x.iushrn(1),E.iushrn(1);for(var z=0,K=1;!(g.words[0]&K)&&z<26;++z,K<<=1);if(z>0)for(g.iushrn(z);z-- >0;)(w.isOdd()||d.isOdd())&&(w.iadd(m),d.isub(O)),w.iushrn(1),d.iushrn(1);h.cmp(g)>=0?(h.isub(g),x.isub(w),E.isub(d)):(g.isub(h),w.isub(x),d.isub(E))}return{a:w,b:d,gcd:g.iushln(y)}},s.prototype._invmp=function(f){i(f.negative===0),i(!f.isZero());var h=this,g=f.clone();h.negative!==0?h=h.umod(f):h=h.clone();for(var x=new s(1),E=new s(0),w=g.clone();h.cmpn(1)>0&&g.cmpn(1)>0;){for(var d=0,y=1;!(h.words[0]&y)&&d<26;++d,y<<=1);if(d>0)for(h.iushrn(d);d-- >0;)x.isOdd()&&x.iadd(w),x.iushrn(1);for(var m=0,O=1;!(g.words[0]&O)&&m<26;++m,O<<=1);if(m>0)for(g.iushrn(m);m-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);h.cmp(g)>=0?(h.isub(g),x.isub(E)):(g.isub(h),E.isub(x))}var Y;return h.cmpn(1)===0?Y=x:Y=E,Y.cmpn(0)<0&&Y.iadd(f),Y},s.prototype.gcd=function(f){if(this.isZero())return f.abs();if(f.isZero())return this.abs();var h=this.clone(),g=f.clone();h.negative=0,g.negative=0;for(var x=0;h.isEven()&&g.isEven();x++)h.iushrn(1),g.iushrn(1);do{for(;h.isEven();)h.iushrn(1);for(;g.isEven();)g.iushrn(1);var E=h.cmp(g);if(E<0){var w=h;h=g,g=w}else if(E===0||g.cmpn(1)===0)break;h.isub(g)}while(!0);return g.iushln(x)},s.prototype.invm=function(f){return this.egcd(f).a.umod(f)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(f){return this.words[0]&f},s.prototype.bincn=function(f){i(typeof f=="number");var h=f%26,g=(f-h)/26,x=1<<h;if(this.length<=g)return this._expand(g+1),this.words[g]|=x,this;for(var E=x,w=g;E!==0&&w<this.length;w++){var d=this.words[w]|0;d+=E,E=d>>>26,d&=67108863,this.words[w]=d}return E!==0&&(this.words[w]=E,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(f){var h=f<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&&(f=-f),i(f<=67108863,"Number is too big");var x=this.words[0]|0;g=x===f?0:x<f?-1:1}return this.negative!==0?-g|0:g},s.prototype.cmp=function(f){if(this.negative!==0&&f.negative===0)return-1;if(this.negative===0&&f.negative!==0)return 1;var h=this.ucmp(f);return this.negative!==0?-h|0:h},s.prototype.ucmp=function(f){if(this.length>f.length)return 1;if(this.length<f.length)return-1;for(var h=0,g=this.length-1;g>=0;g--){var x=this.words[g]|0,E=f.words[g]|0;if(x!==E){x<E?h=-1:x>E&&(h=1);break}}return h},s.prototype.gtn=function(f){return this.cmpn(f)===1},s.prototype.gt=function(f){return this.cmp(f)===1},s.prototype.gten=function(f){return this.cmpn(f)>=0},s.prototype.gte=function(f){return this.cmp(f)>=0},s.prototype.ltn=function(f){return this.cmpn(f)===-1},s.prototype.lt=function(f){return this.cmp(f)===-1},s.prototype.lten=function(f){return this.cmpn(f)<=0},s.prototype.lte=function(f){return this.cmp(f)<=0},s.prototype.eqn=function(f){return this.cmpn(f)===0},s.prototype.eq=function(f){return this.cmp(f)===0},s.red=function(f){return new D(f)},s.prototype.toRed=function(f){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),f.convertTo(this)._forceRed(f)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(f){return this.red=f,this},s.prototype.forceRed=function(f){return i(!this.red,"Already a number in reduction context"),this._forceRed(f)},s.prototype.redAdd=function(f){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,f)},s.prototype.redIAdd=function(f){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,f)},s.prototype.redSub=function(f){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,f)},s.prototype.redISub=function(f){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,f)},s.prototype.redShl=function(f){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,f)},s.prototype.redMul=function(f){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.mul(this,f)},s.prototype.redIMul=function(f){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.imul(this,f)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(f){return i(this.red&&!f.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,f)};var T={k256:null,p224:null,p192:null,p25519:null};function J(p,f){this.name=p,this.p=new s(f,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}J.prototype._tmp=function(){var f=new s(null);return f.words=new Array(Math.ceil(this.n/13)),f},J.prototype.ireduce=function(f){var h=f,g;do this.split(h,this.tmp),h=this.imulK(h),h=h.iadd(this.tmp),g=h.bitLength();while(g>this.n);var x=g<this.n?-1:h.ucmp(this.p);return x===0?(h.words[0]=0,h.length=1):x>0?h.isub(this.p):h.strip!==void 0?h.strip():h._strip(),h},J.prototype.split=function(f,h){f.iushrn(this.n,0,h)},J.prototype.imulK=function(f){return f.imul(this.k)};function _(){J.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(_,J),_.prototype.split=function(f,h){for(var g=4194303,x=Math.min(f.length,9),E=0;E<x;E++)h.words[E]=f.words[E];if(h.length=x,f.length<=9){f.words[0]=0,f.length=1;return}var w=f.words[9];for(h.words[h.length++]=w&g,E=10;E<f.length;E++){var d=f.words[E]|0;f.words[E-10]=(d&g)<<4|w>>>22,w=d}w>>>=22,f.words[E-10]=w,w===0&&f.length>10?f.length-=10:f.length-=9},_.prototype.imulK=function(f){f.words[f.length]=0,f.words[f.length+1]=0,f.length+=2;for(var h=0,g=0;g<f.length;g++){var x=f.words[g]|0;h+=x*977,f.words[g]=h&67108863,h=x*64+(h/67108864|0)}return f.words[f.length-1]===0&&(f.length--,f.words[f.length-1]===0&&f.length--),f};function X(){J.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(X,J);function G(){J.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(G,J);function fe(){J.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(fe,J),fe.prototype.imulK=function(f){for(var h=0,g=0;g<f.length;g++){var x=(f.words[g]|0)*19+h,E=x&67108863;x>>>=26,f.words[g]=E,h=x}return h!==0&&(f.words[f.length++]=h),f},s._prime=function(f){if(T[f])return T[f];var h;if(f==="k256")h=new _;else if(f==="p224")h=new X;else if(f==="p192")h=new G;else if(f==="p25519")h=new fe;else throw new Error("Unknown prime "+f);return T[f]=h,h};function D(p){if(typeof p=="string"){var f=s._prime(p);this.m=f.p,this.prime=f}else i(p.gtn(1),"modulus must be greater than 1"),this.m=p,this.prime=null}D.prototype._verify1=function(f){i(f.negative===0,"red works only with positives"),i(f.red,"red works only with red numbers")},D.prototype._verify2=function(f,h){i((f.negative|h.negative)===0,"red works only with positives"),i(f.red&&f.red===h.red,"red works only with red numbers")},D.prototype.imod=function(f){return this.prime?this.prime.ireduce(f)._forceRed(this):(l(f,f.umod(this.m)._forceRed(this)),f)},D.prototype.neg=function(f){return f.isZero()?f.clone():this.m.sub(f)._forceRed(this)},D.prototype.add=function(f,h){this._verify2(f,h);var g=f.add(h);return g.cmp(this.m)>=0&&g.isub(this.m),g._forceRed(this)},D.prototype.iadd=function(f,h){this._verify2(f,h);var g=f.iadd(h);return g.cmp(this.m)>=0&&g.isub(this.m),g},D.prototype.sub=function(f,h){this._verify2(f,h);var g=f.sub(h);return g.cmpn(0)<0&&g.iadd(this.m),g._forceRed(this)},D.prototype.isub=function(f,h){this._verify2(f,h);var g=f.isub(h);return g.cmpn(0)<0&&g.iadd(this.m),g},D.prototype.shl=function(f,h){return this._verify1(f),this.imod(f.ushln(h))},D.prototype.imul=function(f,h){return this._verify2(f,h),this.imod(f.imul(h))},D.prototype.mul=function(f,h){return this._verify2(f,h),this.imod(f.mul(h))},D.prototype.isqr=function(f){return this.imul(f,f.clone())},D.prototype.sqr=function(f){return this.mul(f,f)},D.prototype.sqrt=function(f){if(f.isZero())return f.clone();var h=this.m.andln(3);if(i(h%2===1),h===3){var g=this.m.add(new s(1)).iushrn(2);return this.pow(f,g)}for(var x=this.m.subn(1),E=0;!x.isZero()&&x.andln(1)===0;)E++,x.iushrn(1);i(!x.isZero());var w=new s(1).toRed(this),d=w.redNeg(),y=this.m.subn(1).iushrn(1),m=this.m.bitLength();for(m=new s(2*m*m).toRed(this);this.pow(m,y).cmp(d)!==0;)m.redIAdd(d);for(var O=this.pow(m,x),Y=this.pow(f,x.addn(1).iushrn(1)),S=this.pow(f,x),z=E;S.cmp(w)!==0;){for(var K=S,q=0;K.cmp(w)!==0;q++)K=K.redSqr();i(q<z);var F=this.pow(O,new s(1).iushln(z-q-1));Y=Y.redMul(F),O=F.redSqr(),S=S.redMul(O),z=q}return Y},D.prototype.invm=function(f){var h=f._invmp(this.m);return h.negative!==0?(h.negative=0,this.imod(h).redNeg()):this.imod(h)},D.prototype.pow=function(f,h){if(h.isZero())return new s(1).toRed(this);if(h.cmpn(1)===0)return f.clone();var g=4,x=new Array(1<<g);x[0]=new s(1).toRed(this),x[1]=f;for(var E=2;E<x.length;E++)x[E]=this.mul(x[E-1],f);var w=x[0],d=0,y=0,m=h.bitLength()%26;for(m===0&&(m=26),E=h.length-1;E>=0;E--){for(var O=h.words[E],Y=m-1;Y>=0;Y--){var S=O>>Y&1;if(w!==x[0]&&(w=this.sqr(w)),S===0&&d===0){y=0;continue}d<<=1,d|=S,y++,!(y!==g&&(E!==0||Y!==0))&&(w=this.mul(w,x[d]),y=0,d=0)}m=26}return w},D.prototype.convertTo=function(f){var h=f.umod(this.m);return h===f?h.clone():h},D.prototype.convertFrom=function(f){var h=f.clone();return h.red=null,h},s.mont=function(f){return new b(f)};function b(p){D.call(this,p),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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(b,D),b.prototype.convertTo=function(f){return this.imod(f.ushln(this.shift))},b.prototype.convertFrom=function(f){var h=this.imod(f.mul(this.rinv));return h.red=null,h},b.prototype.imul=function(f,h){if(f.isZero()||h.isZero())return f.words[0]=0,f.length=1,f;var g=f.imul(h),x=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),E=g.isub(x).iushrn(this.shift),w=E;return E.cmp(this.m)>=0?w=E.isub(this.m):E.cmpn(0)<0&&(w=E.iadd(this.m)),w._forceRed(this)},b.prototype.mul=function(f,h){if(f.isZero()||h.isZero())return new s(0)._forceRed(this);var g=f.mul(h),x=g.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),E=g.isub(x).iushrn(this.shift),w=E;return E.cmp(this.m)>=0?w=E.isub(this.m):E.cmpn(0)<0&&(w=E.iadd(this.m)),w._forceRed(this)},b.prototype.invm=function(f){var h=this.imod(f._invmp(this.m).mul(this.r2));return h._forceRed(this)}})(r,Wt)})(td);var Pe=td.exports;const rd="bignumber/5.7.0";var Ho=Pe.BN;const Fi=new Le(rd),zf={},id=9007199254740991;function Gm(r){return r!=null&&(Et.isBigNumber(r)||typeof r=="number"&&r%1===0||typeof r=="string"&&!!r.match(/^-?[0-9]+$/)||Ir(r)||typeof r=="bigint"||$n(r))}let nd=!1;class Et{constructor(e,t){e!==zf&&Fi.throwError("cannot call constructor directly; use BigNumber.from",Le.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return mr(We(this).fromTwos(e))}toTwos(e){return mr(We(this).toTwos(e))}abs(){return this._hex[0]==="-"?Et.from(this._hex.substring(1)):this}add(e){return mr(We(this).add(We(e)))}sub(e){return mr(We(this).sub(We(e)))}div(e){return Et.from(e).isZero()&&Cr("division-by-zero","div"),mr(We(this).div(We(e)))}mul(e){return mr(We(this).mul(We(e)))}mod(e){const t=We(e);return t.isNeg()&&Cr("division-by-zero","mod"),mr(We(this).umod(t))}pow(e){const t=We(e);return t.isNeg()&&Cr("negative-power","pow"),mr(We(this).pow(t))}and(e){const t=We(e);return(this.isNegative()||t.isNeg())&&Cr("unbound-bitwise-result","and"),mr(We(this).and(t))}or(e){const t=We(e);return(this.isNegative()||t.isNeg())&&Cr("unbound-bitwise-result","or"),mr(We(this).or(t))}xor(e){const t=We(e);return(this.isNegative()||t.isNeg())&&Cr("unbound-bitwise-result","xor"),mr(We(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&Cr("negative-width","mask"),mr(We(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&Cr("negative-width","shl"),mr(We(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&Cr("negative-width","shr"),mr(We(this).shrn(e))}eq(e){return We(this).eq(We(e))}lt(e){return We(this).lt(We(e))}lte(e){return We(this).lte(We(e))}gt(e){return We(this).gt(We(e))}gte(e){return We(this).gte(We(e))}isNegative(){return this._hex[0]==="-"}isZero(){return We(this).isZero()}toNumber(){try{return We(this).toNumber()}catch{Cr("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return Fi.throwError("this platform does not support BigInt",Le.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?nd||(nd=!0,Fi.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?Fi.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",Le.errors.UNEXPECTED_ARGUMENT,{}):Fi.throwError("BigNumber.toString does not accept parameters",Le.errors.UNEXPECTED_ARGUMENT,{})),We(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof Et)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new Et(zf,Ls(e)):e.match(/^-?[0-9]+$/)?new Et(zf,Ls(new Ho(e))):Fi.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&Cr("underflow","BigNumber.from",e),(e>=id||e<=-id)&&Cr("overflow","BigNumber.from",e),Et.from(String(e));const t=e;if(typeof t=="bigint")return Et.from(t.toString());if($n(t))return Et.from(ar(t));if(t)if(t.toHexString){const i=t.toHexString();if(typeof i=="string")return Et.from(i)}else{let i=t._hex;if(i==null&&t.type==="BigNumber"&&(i=t.hex),typeof i=="string"&&(Ir(i)||i[0]==="-"&&Ir(i.substring(1))))return Et.from(i)}return Fi.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}}function Ls(r){if(typeof r!="string")return Ls(r.toString(16));if(r[0]==="-")return r=r.substring(1),r[0]==="-"&&Fi.throwArgumentError("invalid hex","value",r),r=Ls(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 mr(r){return Et.from(Ls(r))}function We(r){const e=Et.from(r).toHexString();return e[0]==="-"?new Ho("-"+e.substring(3),16):new Ho(e.substring(2),16)}function Cr(r,e,t){const i={fault:r,operation:e};return t!=null&&(i.value=t),Fi.throwError(r,Le.errors.NUMERIC_FAULT,i)}function Jm(r){return new Ho(r,36).toString(16)}const fr=new Le(rd),ks={},sd=Et.from(0),od=Et.from(-1);function ad(r,e,t,i){const n={fault:e,operation:t};return i!==void 0&&(n.value=i),fr.throwError(r,Le.errors.NUMERIC_FAULT,n)}let Bs="0";for(;Bs.length<256;)Bs+=Bs;function Lf(r){if(typeof r!="number")try{r=Et.from(r).toNumber()}catch{}return typeof r=="number"&&r>=0&&r<=256&&!(r%1)?"1"+Bs.substring(0,r):fr.throwArgumentError("invalid decimal size","decimals",r)}function kf(r,e){e==null&&(e=0);const t=Lf(e);r=Et.from(r);const i=r.lt(sd);i&&(r=r.mul(od));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 s=r.div(t).toString();return t.length===1?r=s:r=s+"."+n,i&&(r="-"+r),r}function qi(r,e){e==null&&(e=0);const t=Lf(e);(typeof r!="string"||!r.match(/^-?[0-9.]+$/))&&fr.throwArgumentError("invalid decimal value","value",r);const i=r.substring(0,1)==="-";i&&(r=r.substring(1)),r==="."&&fr.throwArgumentError("missing value","value",r);const n=r.split(".");n.length>2&&fr.throwArgumentError("too many decimal points","value",r);let s=n[0],o=n[1];for(s||(s="0"),o||(o="0");o[o.length-1]==="0";)o=o.substring(0,o.length-1);for(o.length>t.length-1&&ad("fractional component exceeds decimals","underflow","parseFixed"),o===""&&(o="0");o.length<t.length-1;)o+="0";const a=Et.from(s),c=Et.from(o);let u=a.mul(t).add(c);return i&&(u=u.mul(od)),u}class es{constructor(e,t,i,n){e!==ks&&fr.throwError("cannot use FixedFormat constructor; use FixedFormat.from",Le.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=Lf(n),Object.freeze(this)}static from(e){if(e instanceof es)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 s=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);s||fr.throwArgumentError("invalid fixed format","format",e),t=s[1]!=="u",i=parseInt(s[2]),n=parseInt(s[3])}}else if(e){const s=(o,a,c)=>e[o]==null?c:(typeof e[o]!==a&&fr.throwArgumentError("invalid fixed format ("+o+" not "+a+")","format."+o,e[o]),e[o]);t=s("signed","boolean",t),i=s("width","number",i),n=s("decimals","number",n)}return i%8&&fr.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",i),n>80&&fr.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new es(ks,t,i,n)}}class Xt{constructor(e,t,i,n){e!==ks&&fr.throwError("cannot use FixedNumber constructor; use FixedNumber.from",Le.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&&fr.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=qi(this._value,this.format.decimals),i=qi(e._value,e.format.decimals);return Xt.fromValue(t.add(i),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=qi(this._value,this.format.decimals),i=qi(e._value,e.format.decimals);return Xt.fromValue(t.sub(i),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=qi(this._value,this.format.decimals),i=qi(e._value,e.format.decimals);return Xt.fromValue(t.mul(i).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=qi(this._value,this.format.decimals),i=qi(e._value,e.format.decimals);return Xt.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=Xt.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return this.isNegative()&&i&&(t=t.subUnsafe(fd.toFormat(t.format))),t}ceiling(){const e=this.toString().split(".");e.length===1&&e.push("0");let t=Xt.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return!this.isNegative()&&i&&(t=t.addUnsafe(fd.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)&&fr.throwArgumentError("invalid decimal count","decimals",e),t[1].length<=e)return this;const i=Xt.from("1"+Bs.substring(0,e),this.format),n=Hm.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&&fr.throwArgumentError("invalid byte width","width",e);const t=Et.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return Zi(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return Xt.fromString(this._value,e)}static fromValue(e,t,i){return i==null&&t!=null&&!Gm(t)&&(i=t,t=null),t==null&&(t=0),i==null&&(i="fixed"),Xt.fromString(kf(e,t),es.from(i))}static fromString(e,t){t==null&&(t="fixed");const i=es.from(t),n=qi(e,i.decimals);!i.signed&&n.lt(sd)&&ad("unsigned value cannot be negative","overflow","value",e);let s=null;i.signed?s=n.toTwos(i.width).toHexString():(s=n.toHexString(),s=Zi(s,i.width/8));const o=kf(n,i.decimals);return new Xt(ks,s,o,i)}static fromBytes(e,t){t==null&&(t="fixed");const i=es.from(t);if(Rt(e).length>i.width/8)throw new Error("overflow");let n=Et.from(e);i.signed&&(n=n.fromTwos(i.width));const s=n.toTwos((i.signed?0:1)+i.width).toHexString(),o=kf(n,i.decimals);return new Xt(ks,s,o,i)}static from(e,t){if(typeof e=="string")return Xt.fromString(e,t);if($n(e))return Xt.fromBytes(e,t);try{return Xt.fromValue(e,0,t)}catch(i){if(i.code!==Le.errors.INVALID_ARGUMENT)throw i}return fr.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}}const fd=Xt.from(1),Hm=Xt.from("0.5");var cd={exports:{}};/**
|
14
|
+
***************************************************************************** */var da=function(t,e){return da=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var n in i)i.hasOwnProperty(n)&&(r[n]=i[n])},da(t,e)};function Sp(t,e){da(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}var la=function(){return la=Object.assign||function(e){for(var r,i=1,n=arguments.length;i<n;i++){r=arguments[i];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},la.apply(this,arguments)};function Mp(t,e){var r={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(r[i[n]]=t[i[n]]);return r}function Ip(t,e,r,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(n<3?o(s):n>3?o(e,r,s):o(e,r))||s);return n>3&&s&&Object.defineProperty(e,r,s),s}function Ap(t,e){return function(r,i){e(r,i,t)}}function Dp(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function Op(t,e,r,i){function n(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(l){try{h(i.next(l))}catch(y){o(y)}}function c(l){try{h(i.throw(l))}catch(y){o(y)}}function h(l){l.done?s(l.value):n(l.value).then(a,c)}h((i=i.apply(t,e||[])).next())})}function Pp(t,e){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(h){return function(l){return c([h,l])}}function c(h){if(i)throw new TypeError("Generator is already executing.");for(;r;)try{if(i=1,n&&(s=h[0]&2?n.return:h[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,h[1])).done)return s;switch(n=0,s&&(h=[h[0]&2,s.value]),h[0]){case 0:case 1:s=h;break;case 4:return r.label++,{value:h[1],done:!1};case 5:r.label++,n=h[1],h=[0];continue;case 7:h=r.ops.pop(),r.trys.pop();continue;default:if(s=r.trys,!(s=s.length>0&&s[s.length-1])&&(h[0]===6||h[0]===2)){r=0;continue}if(h[0]===3&&(!s||h[1]>s[0]&&h[1]<s[3])){r.label=h[1];break}if(h[0]===6&&r.label<s[1]){r.label=s[1],s=h;break}if(s&&r.label<s[2]){r.label=s[2],r.ops.push(h);break}s[2]&&r.ops.pop(),r.trys.pop();continue}h=e.call(t,r)}catch(l){h=[6,l],n=0}finally{i=s=0}if(h[0]&5)throw h[1];return{value:h[0]?h[1]:void 0,done:!0}}}function Rp(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}function $p(t,e){for(var r in t)r!=="default"&&!e.hasOwnProperty(r)&&(e[r]=t[r])}function pa(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Tc(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var i=r.call(t),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s}function Np(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Tc(arguments[e]));return t}function Tp(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;for(var i=Array(t),n=0,e=0;e<r;e++)for(var s=arguments[e],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i}function is(t){return this instanceof is?(this.v=t,this):new is(t)}function Fp(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=r.apply(t,e||[]),n,s=[];return n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n;function o(M){i[M]&&(n[M]=function(I){return new Promise(function(S,D){s.push([M,I,S,D])>1||a(M,I)})})}function a(M,I){try{c(i[M](I))}catch(S){y(s[0][3],S)}}function c(M){M.value instanceof is?Promise.resolve(M.value.v).then(h,l):y(s[0][2],M)}function h(M){a("next",M)}function l(M){a("throw",M)}function y(M,I){M(I),s.shift(),s.length&&a(s[0][0],s[0][1])}}function Cp(t){var e,r;return e={},i("next"),i("throw",function(n){throw n}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(n,s){e[n]=t[n]?function(o){return(r=!r)?{value:is(t[n](o)),done:n==="return"}:s?s(o):o}:s}}function Bp(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof pa=="function"?pa(t):t[Symbol.iterator](),r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r);function i(s){r[s]=t[s]&&function(o){return new Promise(function(a,c){o=t[s](o),n(a,c,o.done,o.value)})}}function n(s,o,a,c){Promise.resolve(c).then(function(h){s({value:h,done:a})},o)}}function Lp(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function qp(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function Up(t){return t&&t.__esModule?t:{default:t}}function zp(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function kp(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r}var jp=Object.freeze({__proto__:null,__extends:Sp,get __assign(){return la},__rest:Mp,__decorate:Ip,__param:Ap,__metadata:Dp,__awaiter:Op,__generator:Pp,__createBinding:Rp,__exportStar:$p,__values:pa,__read:Tc,__spread:Np,__spreadArrays:Tp,__await:is,__asyncGenerator:Fp,__asyncDelegator:Cp,__asyncValues:Bp,__makeTemplateObject:Lp,__importStar:qp,__importDefault:Up,__classPrivateFieldGet:zp,__classPrivateFieldSet:kp}),Xs=ha(jp),ga={},ns={},Fc;function Kp(){if(Fc)return ns;Fc=1,Object.defineProperty(ns,"__esModule",{value:!0}),ns.delay=void 0;function t(e){return new Promise(r=>{setTimeout(()=>{r(!0)},e)})}return ns.delay=t,ns}var Xi={},ba={},Zi={},Cc;function Vp(){return Cc||(Cc=1,Object.defineProperty(Zi,"__esModule",{value:!0}),Zi.ONE_THOUSAND=Zi.ONE_HUNDRED=void 0,Zi.ONE_HUNDRED=100,Zi.ONE_THOUSAND=1e3),Zi}var va={},Bc;function Hp(){return Bc||(Bc=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_YEAR=t.FOUR_WEEKS=t.THREE_WEEKS=t.TWO_WEEKS=t.ONE_WEEK=t.THIRTY_DAYS=t.SEVEN_DAYS=t.FIVE_DAYS=t.THREE_DAYS=t.ONE_DAY=t.TWENTY_FOUR_HOURS=t.TWELVE_HOURS=t.SIX_HOURS=t.THREE_HOURS=t.ONE_HOUR=t.SIXTY_MINUTES=t.THIRTY_MINUTES=t.TEN_MINUTES=t.FIVE_MINUTES=t.ONE_MINUTE=t.SIXTY_SECONDS=t.THIRTY_SECONDS=t.TEN_SECONDS=t.FIVE_SECONDS=t.ONE_SECOND=void 0,t.ONE_SECOND=1,t.FIVE_SECONDS=5,t.TEN_SECONDS=10,t.THIRTY_SECONDS=30,t.SIXTY_SECONDS=60,t.ONE_MINUTE=t.SIXTY_SECONDS,t.FIVE_MINUTES=t.ONE_MINUTE*5,t.TEN_MINUTES=t.ONE_MINUTE*10,t.THIRTY_MINUTES=t.ONE_MINUTE*30,t.SIXTY_MINUTES=t.ONE_MINUTE*60,t.ONE_HOUR=t.SIXTY_MINUTES,t.THREE_HOURS=t.ONE_HOUR*3,t.SIX_HOURS=t.ONE_HOUR*6,t.TWELVE_HOURS=t.ONE_HOUR*12,t.TWENTY_FOUR_HOURS=t.ONE_HOUR*24,t.ONE_DAY=t.TWENTY_FOUR_HOURS,t.THREE_DAYS=t.ONE_DAY*3,t.FIVE_DAYS=t.ONE_DAY*5,t.SEVEN_DAYS=t.ONE_DAY*7,t.THIRTY_DAYS=t.ONE_DAY*30,t.ONE_WEEK=t.SEVEN_DAYS,t.TWO_WEEKS=t.ONE_WEEK*2,t.THREE_WEEKS=t.ONE_WEEK*3,t.FOUR_WEEKS=t.ONE_WEEK*4,t.ONE_YEAR=t.ONE_DAY*365}(va)),va}var Lc;function qc(){return Lc||(Lc=1,function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=Xs;e.__exportStar(Vp(),t),e.__exportStar(Hp(),t)}(ba)),ba}var Uc;function Wp(){if(Uc)return Xi;Uc=1,Object.defineProperty(Xi,"__esModule",{value:!0}),Xi.fromMiliseconds=Xi.toMiliseconds=void 0;const t=qc();function e(i){return i*t.ONE_THOUSAND}Xi.toMiliseconds=e;function r(i){return Math.floor(i/t.ONE_THOUSAND)}return Xi.fromMiliseconds=r,Xi}var zc;function Gp(){return zc||(zc=1,function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=Xs;e.__exportStar(Kp(),t),e.__exportStar(Wp(),t)}(ga)),ga}var Mn={},kc;function Jp(){if(kc)return Mn;kc=1,Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.Watch=void 0;class t{constructor(){this.timestamps=new Map}start(r){if(this.timestamps.has(r))throw new Error(`Watch already started for label: ${r}`);this.timestamps.set(r,{started:Date.now()})}stop(r){const i=this.get(r);if(typeof i.elapsed<"u")throw new Error(`Watch already stopped for label: ${r}`);const n=Date.now()-i.started;this.timestamps.set(r,{started:i.started,elapsed:n})}get(r){const i=this.timestamps.get(r);if(typeof i>"u")throw new Error(`No timestamp found for label: ${r}`);return i}elapsed(r){const i=this.get(r);return i.elapsed||Date.now()-i.started}}return Mn.Watch=t,Mn.default=t,Mn}var ya={},ss={},jc;function Yp(){if(jc)return ss;jc=1,Object.defineProperty(ss,"__esModule",{value:!0}),ss.IWatch=void 0;class t{}return ss.IWatch=t,ss}var Kc;function Xp(){return Kc||(Kc=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),Xs.__exportStar(Yp(),t)}(ya)),ya}(function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=Xs;e.__exportStar(Gp(),t),e.__exportStar(Jp(),t),e.__exportStar(Xp(),t),e.__exportStar(qc(),t)})(Y);class Qi{}class Zp extends Qi{constructor(e){super()}}const Vc=Y.FIVE_SECONDS,In={pulse:"heartbeat_pulse"};class ma extends Zp{constructor(e){super(e),this.events=new jt.exports.EventEmitter,this.interval=Vc,this.interval=e?.interval||Vc}static async init(e){const r=new ma(e);return await r.init(),r}async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}on(e,r){this.events.on(e,r)}once(e,r){this.events.once(e,r)}off(e,r){this.events.off(e,r)}removeListener(e,r){this.events.removeListener(e,r)}async initialize(){this.intervalRef=setInterval(()=>this.pulse(),Y.toMiliseconds(this.interval))}pulse(){this.events.emit(In.pulse)}}const Qp=/"(?:_|\\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*:/,e1=/"(?: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*:/,t1=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function r1(t,e){if(t==="__proto__"||t==="constructor"&&e&&typeof e=="object"&&"prototype"in e){i1(t);return}return e}function i1(t){console.warn(`[destr] Dropping "${t}" key to prevent prototype pollution.`)}function Zs(t,e={}){if(typeof t!="string")return t;const r=t.trim();if(t[0]==='"'&&t.endsWith('"')&&!t.includes("\\"))return r.slice(1,-1);if(r.length<=9){const i=r.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(!t1.test(t)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return t}try{if(Qp.test(t)||e1.test(t)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(t,r1)}return JSON.parse(t)}catch(i){if(e.strict)throw i;return t}}function n1(t){return!t||typeof t.then!="function"?Promise.resolve(t):t}function St(t,...e){try{return n1(t(...e))}catch(r){return Promise.reject(r)}}function s1(t){const e=typeof t;return t===null||e!=="object"&&e!=="function"}function o1(t){const e=Object.getPrototypeOf(t);return!e||e.isPrototypeOf(Object)}function Qs(t){if(s1(t))return String(t);if(o1(t)||Array.isArray(t))return JSON.stringify(t);if(typeof t.toJSON=="function")return Qs(t.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function Hc(){if(typeof Buffer>"u")throw new TypeError("[unstorage] Buffer is not supported!")}const wa="base64:";function a1(t){if(typeof t=="string")return t;Hc();const e=Buffer.from(t).toString("base64");return wa+e}function f1(t){return typeof t!="string"||!t.startsWith(wa)?t:(Hc(),Buffer.from(t.slice(wa.length),"base64"))}function er(t){return t?t.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function c1(...t){return er(t.join(":"))}function eo(t){return t=er(t),t?t+":":""}function Sx(t){return t}const h1="memory",u1=()=>{const t=new Map;return{name:h1,getInstance:()=>t,hasItem(e){return t.has(e)},getItem(e){return t.get(e)??null},getItemRaw(e){return t.get(e)??null},setItem(e,r){t.set(e,r)},setItemRaw(e,r){t.set(e,r)},removeItem(e){t.delete(e)},getKeys(){return[...t.keys()]},clear(){t.clear()},dispose(){t.clear()}}};function d1(t={}){const e={mounts:{"":t.driver||u1()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},r=h=>{for(const l of e.mountpoints)if(h.startsWith(l))return{base:l,relativeKey:h.slice(l.length),driver:e.mounts[l]};return{base:"",relativeKey:h,driver:e.mounts[""]}},i=(h,l)=>e.mountpoints.filter(y=>y.startsWith(h)||l&&h.startsWith(y)).map(y=>({relativeBase:h.length>y.length?h.slice(y.length):void 0,mountpoint:y,driver:e.mounts[y]})),n=(h,l)=>{if(e.watching){l=er(l);for(const y of e.watchListeners)y(h,l)}},s=async()=>{if(!e.watching){e.watching=!0;for(const h in e.mounts)e.unwatch[h]=await Wc(e.mounts[h],n,h)}},o=async()=>{if(e.watching){for(const h in e.unwatch)await e.unwatch[h]();e.unwatch={},e.watching=!1}},a=(h,l,y)=>{const M=new Map,I=S=>{let D=M.get(S.base);return D||(D={driver:S.driver,base:S.base,items:[]},M.set(S.base,D)),D};for(const S of h){const D=typeof S=="string",R=er(D?S:S.key),$=D?void 0:S.value,T=D||!S.options?l:{...l,...S.options},C=r(R);I(C).items.push({key:R,value:$,relativeKey:C.relativeKey,options:T})}return Promise.all([...M.values()].map(S=>y(S))).then(S=>S.flat())},c={hasItem(h,l={}){h=er(h);const{relativeKey:y,driver:M}=r(h);return St(M.hasItem,y,l)},getItem(h,l={}){h=er(h);const{relativeKey:y,driver:M}=r(h);return St(M.getItem,y,l).then(I=>Zs(I))},getItems(h,l){return a(h,l,y=>y.driver.getItems?St(y.driver.getItems,y.items.map(M=>({key:M.relativeKey,options:M.options})),l).then(M=>M.map(I=>({key:c1(y.base,I.key),value:Zs(I.value)}))):Promise.all(y.items.map(M=>St(y.driver.getItem,M.relativeKey,M.options).then(I=>({key:M.key,value:Zs(I)})))))},getItemRaw(h,l={}){h=er(h);const{relativeKey:y,driver:M}=r(h);return M.getItemRaw?St(M.getItemRaw,y,l):St(M.getItem,y,l).then(I=>f1(I))},async setItem(h,l,y={}){if(l===void 0)return c.removeItem(h);h=er(h);const{relativeKey:M,driver:I}=r(h);I.setItem&&(await St(I.setItem,M,Qs(l),y),I.watch||n("update",h))},async setItems(h,l){await a(h,l,async y=>{if(y.driver.setItems)return St(y.driver.setItems,y.items.map(M=>({key:M.relativeKey,value:Qs(M.value),options:M.options})),l);y.driver.setItem&&await Promise.all(y.items.map(M=>St(y.driver.setItem,M.relativeKey,Qs(M.value),M.options)))})},async setItemRaw(h,l,y={}){if(l===void 0)return c.removeItem(h,y);h=er(h);const{relativeKey:M,driver:I}=r(h);if(I.setItemRaw)await St(I.setItemRaw,M,l,y);else if(I.setItem)await St(I.setItem,M,a1(l),y);else return;I.watch||n("update",h)},async removeItem(h,l={}){typeof l=="boolean"&&(l={removeMeta:l}),h=er(h);const{relativeKey:y,driver:M}=r(h);M.removeItem&&(await St(M.removeItem,y,l),(l.removeMeta||l.removeMata)&&await St(M.removeItem,y+"$",l),M.watch||n("remove",h))},async getMeta(h,l={}){typeof l=="boolean"&&(l={nativeOnly:l}),h=er(h);const{relativeKey:y,driver:M}=r(h),I=Object.create(null);if(M.getMeta&&Object.assign(I,await St(M.getMeta,y,l)),!l.nativeOnly){const S=await St(M.getItem,y+"$",l).then(D=>Zs(D));S&&typeof S=="object"&&(typeof S.atime=="string"&&(S.atime=new Date(S.atime)),typeof S.mtime=="string"&&(S.mtime=new Date(S.mtime)),Object.assign(I,S))}return I},setMeta(h,l,y={}){return this.setItem(h+"$",l,y)},removeMeta(h,l={}){return this.removeItem(h+"$",l)},async getKeys(h,l={}){h=eo(h);const y=i(h,!0);let M=[];const I=[];for(const S of y){const D=await St(S.driver.getKeys,S.relativeBase,l);for(const R of D){const $=S.mountpoint+er(R);M.some(T=>$.startsWith(T))||I.push($)}M=[S.mountpoint,...M.filter(R=>!R.startsWith(S.mountpoint))]}return h?I.filter(S=>S.startsWith(h)&&S[S.length-1]!=="$"):I.filter(S=>S[S.length-1]!=="$")},async clear(h,l={}){h=eo(h),await Promise.all(i(h,!1).map(async y=>{if(y.driver.clear)return St(y.driver.clear,y.relativeBase,l);if(y.driver.removeItem){const M=await y.driver.getKeys(y.relativeBase||"",l);return Promise.all(M.map(I=>y.driver.removeItem(I,l)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(h=>Gc(h)))},async watch(h){return await s(),e.watchListeners.push(h),async()=>{e.watchListeners=e.watchListeners.filter(l=>l!==h),e.watchListeners.length===0&&await o()}},async unwatch(){e.watchListeners=[],await o()},mount(h,l){if(h=eo(h),h&&e.mounts[h])throw new Error(`already mounted at ${h}`);return h&&(e.mountpoints.push(h),e.mountpoints.sort((y,M)=>M.length-y.length)),e.mounts[h]=l,e.watching&&Promise.resolve(Wc(l,n,h)).then(y=>{e.unwatch[h]=y}).catch(console.error),c},async unmount(h,l=!0){h=eo(h),!(!h||!e.mounts[h])&&(e.watching&&h in e.unwatch&&(e.unwatch[h](),delete e.unwatch[h]),l&&await Gc(e.mounts[h]),e.mountpoints=e.mountpoints.filter(y=>y!==h),delete e.mounts[h])},getMount(h=""){h=er(h)+":";const l=r(h);return{driver:l.driver,base:l.base}},getMounts(h="",l={}){return h=er(h),i(h,l.parents).map(M=>({driver:M.driver,base:M.mountpoint}))},keys:(h,l={})=>c.getKeys(h,l),get:(h,l={})=>c.getItem(h,l),set:(h,l,y={})=>c.setItem(h,l,y),has:(h,l={})=>c.hasItem(h,l),del:(h,l={})=>c.removeItem(h,l),remove:(h,l={})=>c.removeItem(h,l)};return c}function Wc(t,e,r){return t.watch?t.watch((i,n)=>e(i,r+n)):()=>{}}async function Gc(t){typeof t.dispose=="function"&&await St(t.dispose)}function en(t){return new Promise((e,r)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>r(t.error)})}function Jc(t,e){const r=indexedDB.open(t);r.onupgradeneeded=()=>r.result.createObjectStore(e);const i=en(r);return(n,s)=>i.then(o=>s(o.transaction(e,n).objectStore(e)))}let _a;function os(){return _a||(_a=Jc("keyval-store","keyval")),_a}function Yc(t,e=os()){return e("readonly",r=>en(r.get(t)))}function l1(t,e,r=os()){return r("readwrite",i=>(i.put(e,t),en(i.transaction)))}function p1(t,e=os()){return e("readwrite",r=>(r.delete(t),en(r.transaction)))}function g1(t=os()){return t("readwrite",e=>(e.clear(),en(e.transaction)))}function b1(t,e){return t.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},en(t.transaction)}function v1(t=os()){return t("readonly",e=>{if(e.getAllKeys)return en(e.getAllKeys());const r=[];return b1(e,i=>r.push(i.key)).then(()=>r)})}const y1=t=>JSON.stringify(t,(e,r)=>typeof r=="bigint"?r.toString()+"n":r),m1=t=>{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,r=t.replace(e,'$1"$2n"$3');return JSON.parse(r,(i,n)=>typeof n=="string"&&n.match(/^\d+n$/)?BigInt(n.substring(0,n.length-1)):n)};function An(t){if(typeof t!="string")throw new Error(`Cannot safe json parse value of type ${typeof t}`);try{return m1(t)}catch{return t}}function tn(t){return typeof t=="string"?t:y1(t)||""}const w1="idb-keyval";var _1=(t={})=>{const e=t.base&&t.base.length>0?`${t.base}:`:"",r=n=>e+n;let i;return t.dbName&&t.storeName&&(i=Jc(t.dbName,t.storeName)),{name:w1,options:t,async hasItem(n){return!(typeof await Yc(r(n),i)>"u")},async getItem(n){return await Yc(r(n),i)??null},setItem(n,s){return l1(r(n),s,i)},removeItem(n){return p1(r(n),i)},getKeys(){return v1(i)},clear(){return g1(i)}}};const x1="WALLET_CONNECT_V2_INDEXED_DB",E1="keyvaluestorage";class S1{constructor(){this.indexedDb=d1({driver:_1({dbName:x1,storeName:E1})})}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 r=await this.indexedDb.getItem(e);if(r!==null)return r}async setItem(e,r){await this.indexedDb.setItem(e,tn(r))}async removeItem(e){await this.indexedDb.removeItem(e)}}var xa=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},to={exports:{}};(function(){let t;function e(){}t=e,t.prototype.getItem=function(r){return this.hasOwnProperty(r)?String(this[r]):null},t.prototype.setItem=function(r,i){this[r]=String(i)},t.prototype.removeItem=function(r){delete this[r]},t.prototype.clear=function(){const r=this;Object.keys(r).forEach(function(i){r[i]=void 0,delete r[i]})},t.prototype.key=function(r){return r=r||0,Object.keys(this)[r]},t.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof xa<"u"&&xa.localStorage?to.exports=xa.localStorage:typeof window<"u"&&window.localStorage?to.exports=window.localStorage:to.exports=new e})();function M1(t){var e;return[t[0],An((e=t[1])!=null?e:"")]}class I1{constructor(){this.localStorage=to.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(M1)}async getItem(e){const r=this.localStorage.getItem(e);if(r!==null)return An(r)}async setItem(e,r){this.localStorage.setItem(e,tn(r))}async removeItem(e){this.localStorage.removeItem(e)}}const A1="wc_storage_version",Xc=1,D1=async(t,e,r)=>{const i=A1,n=await e.getItem(i);if(n&&n>=Xc){r(e);return}const s=await t.getKeys();if(!s.length){r(e);return}const o=[];for(;s.length;){const a=s.shift();if(!a)continue;const c=a.toLowerCase();if(c.includes("wc@")||c.includes("walletconnect")||c.includes("wc_")||c.includes("wallet_connect")){const h=await t.getItem(a);await e.setItem(a,h),o.push(a)}}await e.setItem(i,Xc),r(e),O1(t,o)},O1=async(t,e)=>{e.length&&e.forEach(async r=>{await t.removeItem(r)})};class P1{constructor(){this.initialized=!1,this.setInitialized=r=>{this.storage=r,this.initialized=!0};const e=new I1;this.storage=e;try{const r=new S1;D1(e,r,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,r){return await this.initialize(),this.storage.setItem(e,r)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{const r=setInterval(()=>{this.initialized&&(clearInterval(r),e())},20)})}}function R1(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}var $1=N1;function N1(t,e,r){var i=r&&r.stringify||R1,n=1;if(typeof t=="object"&&t!==null){var s=e.length+n;if(s===1)return t;var o=new Array(s);o[0]=i(t);for(var a=1;a<s;a++)o[a]=i(e[a]);return o.join(" ")}if(typeof t!="string")return t;var c=e.length;if(c===0)return t;for(var h="",l=1-n,y=-1,M=t&&t.length||0,I=0;I<M;){if(t.charCodeAt(I)===37&&I+1<M){switch(y=y>-1?y:0,t.charCodeAt(I+1)){case 100:case 102:if(l>=c||e[l]==null)break;y<I&&(h+=t.slice(y,I)),h+=Number(e[l]),y=I+2,I++;break;case 105:if(l>=c||e[l]==null)break;y<I&&(h+=t.slice(y,I)),h+=Math.floor(Number(e[l])),y=I+2,I++;break;case 79:case 111:case 106:if(l>=c||e[l]===void 0)break;y<I&&(h+=t.slice(y,I));var S=typeof e[l];if(S==="string"){h+="'"+e[l]+"'",y=I+2,I++;break}if(S==="function"){h+=e[l].name||"<anonymous>",y=I+2,I++;break}h+=i(e[l]),y=I+2,I++;break;case 115:if(l>=c)break;y<I&&(h+=t.slice(y,I)),h+=String(e[l]),y=I+2,I++;break;case 37:y<I&&(h+=t.slice(y,I)),h+="%",y=I+2,I++,l--;break}++l}++I}return y===-1?t:(y<M&&(h+=t.slice(y)),h)}const Zc=$1;var ai=Kr;const as=j1().console||{},T1={mapHttpRequest:io,mapHttpResponse:io,wrapRequestSerializer:Sa,wrapResponseSerializer:Sa,wrapErrorSerializer:Sa,req:io,res:io,err:q1};function F1(t,e){return Array.isArray(t)?t.filter(function(i){return i!=="!stdSerializers.err"}):t===!0?Object.keys(e):!1}function Kr(t){t=t||{},t.browser=t.browser||{};const e=t.browser.transmit;if(e&&typeof e.send!="function")throw Error("pino: transmit option must have a send function");const r=t.browser.write||as;t.browser.write&&(t.browser.asObject=!0);const i=t.serializers||{},n=F1(t.browser.serialize,i);let s=t.browser.serialize;Array.isArray(t.browser.serialize)&&t.browser.serialize.indexOf("!stdSerializers.err")>-1&&(s=!1);const o=["error","fatal","warn","info","debug","trace"];typeof r=="function"&&(r.error=r.fatal=r.warn=r.info=r.debug=r.trace=r),t.enabled===!1&&(t.level="silent");const a=t.level||"info",c=Object.create(r);c.log||(c.log=fs),Object.defineProperty(c,"levelVal",{get:l}),Object.defineProperty(c,"level",{get:y,set:M});const h={transmit:e,serialize:n,asObject:t.browser.asObject,levels:o,timestamp:U1(t)};c.levels=Kr.levels,c.level=a,c.setMaxListeners=c.getMaxListeners=c.emit=c.addListener=c.on=c.prependListener=c.once=c.prependOnceListener=c.removeListener=c.removeAllListeners=c.listeners=c.listenerCount=c.eventNames=c.write=c.flush=fs,c.serializers=i,c._serialize=n,c._stdErrSerialize=s,c.child=I,e&&(c._logEvent=Ea());function l(){return this.level==="silent"?1/0:this.levels.values[this.level]}function y(){return this._level}function M(S){if(S!=="silent"&&!this.levels.values[S])throw Error("unknown level "+S);this._level=S,Dn(h,c,"error","log"),Dn(h,c,"fatal","error"),Dn(h,c,"warn","error"),Dn(h,c,"info","log"),Dn(h,c,"debug","log"),Dn(h,c,"trace","log")}function I(S,D){if(!S)throw new Error("missing bindings for child Pino");D=D||{},n&&S.serializers&&(D.serializers=S.serializers);const R=D.serializers;if(n&&R){var $=Object.assign({},i,R),T=t.browser.serialize===!0?Object.keys($):n;delete S.serializers,ro([S],T,$,this._stdErrSerialize)}function C(L){this._childLevel=(L._childLevel|0)+1,this.error=On(L,S,"error"),this.fatal=On(L,S,"fatal"),this.warn=On(L,S,"warn"),this.info=On(L,S,"info"),this.debug=On(L,S,"debug"),this.trace=On(L,S,"trace"),$&&(this.serializers=$,this._serialize=T),e&&(this._logEvent=Ea([].concat(L._logEvent.bindings,S)))}return C.prototype=this,new C(this)}return c}Kr.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"}},Kr.stdSerializers=T1,Kr.stdTimeFunctions=Object.assign({},{nullTime:Qc,epochTime:eh,unixTime:z1,isoTime:k1});function Dn(t,e,r,i){const n=Object.getPrototypeOf(e);e[r]=e.levelVal>e.levels.values[r]?fs:n[r]?n[r]:as[r]||as[i]||fs,C1(t,e,r)}function C1(t,e,r){!t.transmit&&e[r]===fs||(e[r]=function(i){return function(){const s=t.timestamp(),o=new Array(arguments.length),a=Object.getPrototypeOf&&Object.getPrototypeOf(this)===as?as:this;for(var c=0;c<o.length;c++)o[c]=arguments[c];if(t.serialize&&!t.asObject&&ro(o,this._serialize,this.serializers,this._stdErrSerialize),t.asObject?i.call(a,B1(this,r,o,s)):i.apply(a,o),t.transmit){const h=t.transmit.level||e.level,l=Kr.levels.values[h],y=Kr.levels.values[r];if(y<l)return;L1(this,{ts:s,methodLevel:r,methodValue:y,transmitLevel:h,transmitValue:Kr.levels.values[t.transmit.level||e.level],send:t.transmit.send,val:e.levelVal},o)}}}(e[r]))}function B1(t,e,r,i){t._serialize&&ro(r,t._serialize,t.serializers,t._stdErrSerialize);const n=r.slice();let s=n[0];const o={};i&&(o.time=i),o.level=Kr.levels.values[e];let a=(t._childLevel|0)+1;if(a<1&&(a=1),s!==null&&typeof s=="object"){for(;a--&&typeof n[0]=="object";)Object.assign(o,n.shift());s=n.length?Zc(n.shift(),n):void 0}else typeof s=="string"&&(s=Zc(n.shift(),n));return s!==void 0&&(o.msg=s),o}function ro(t,e,r,i){for(const n in t)if(i&&t[n]instanceof Error)t[n]=Kr.stdSerializers.err(t[n]);else if(typeof t[n]=="object"&&!Array.isArray(t[n]))for(const s in t[n])e&&e.indexOf(s)>-1&&s in r&&(t[n][s]=r[s](t[n][s]))}function On(t,e,r){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 t[r].apply(this,i)}}function L1(t,e,r){const i=e.send,n=e.ts,s=e.methodLevel,o=e.methodValue,a=e.val,c=t._logEvent.bindings;ro(r,t._serialize||Object.keys(t.serializers),t.serializers,t._stdErrSerialize===void 0?!0:t._stdErrSerialize),t._logEvent.ts=n,t._logEvent.messages=r.filter(function(h){return c.indexOf(h)===-1}),t._logEvent.level.label=s,t._logEvent.level.value=o,i(s,t._logEvent,a),t._logEvent=Ea(c)}function Ea(t){return{ts:0,messages:[],bindings:t||[],level:{label:"",value:0}}}function q1(t){const e={type:t.constructor.name,msg:t.message,stack:t.stack};for(const r in t)e[r]===void 0&&(e[r]=t[r]);return e}function U1(t){return typeof t.timestamp=="function"?t.timestamp:t.timestamp===!1?Qc:eh}function io(){return{}}function Sa(t){return t}function fs(){}function Qc(){return!1}function eh(){return Date.now()}function z1(){return Math.round(Date.now()/1e3)}function k1(){return new Date(Date.now()).toISOString()}function j1(){function t(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 t(self)||t(window)||t(this)||{}}}const K1={level:"info"},cs="custom_context",Ma=1e3*1024;class V1{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}}class th{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const r=new V1(e);if(r.size>this.maxSizeInBytes)throw new Error(`[LinkedList] Value too big to insert into list: ${e} with size ${r.size}`);for(;this.size+r.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=r),this.tail=r):(this.head=r,this.tail=r),this.lengthInNodes++,this.sizeInBytes+=r.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 r=this.head;for(;r!==null;)e.push(r.value),r=r.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 r=e.value;return e=e.next,{done:!1,value:r}}}}}class rh{constructor(e,r=Ma){this.level=e??"error",this.levelValue=ai.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=r,this.logs=new th(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,r){r===ai.levels.values.error?console.error(e):r===ai.levels.values.warn?console.warn(e):r===ai.levels.values.debug?console.debug(e):r===ai.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(tn({timestamp:new Date().toISOString(),log:e}));const r=typeof e=="string"?JSON.parse(e).level:e.level;r>=this.levelValue&&this.forwardToConsole(e,r)}getLogs(){return this.logs}clearLogs(){this.logs=new th(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const r=this.getLogArray();return r.push(tn({extraMetadata:e})),new Blob(r,{type:"application/json"})}}class H1{constructor(e,r=Ma){this.baseChunkLogger=new rh(e,r)}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 r=URL.createObjectURL(this.logsToBlob(e)),i=document.createElement("a");i.href=r,i.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}}class W1{constructor(e,r=Ma){this.baseChunkLogger=new rh(e,r)}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 G1=Object.defineProperty,J1=Object.defineProperties,Y1=Object.getOwnPropertyDescriptors,ih=Object.getOwnPropertySymbols,X1=Object.prototype.hasOwnProperty,Z1=Object.prototype.propertyIsEnumerable,nh=(t,e,r)=>e in t?G1(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,no=(t,e)=>{for(var r in e||(e={}))X1.call(e,r)&&nh(t,r,e[r]);if(ih)for(var r of ih(e))Z1.call(e,r)&&nh(t,r,e[r]);return t},so=(t,e)=>J1(t,Y1(e));function Ia(t){return so(no({},t),{level:t?.level||K1.level})}function Q1(t,e=cs){return t[e]||""}function eg(t,e,r=cs){return t[r]=e,t}function tr(t,e=cs){let r="";return typeof t.bindings>"u"?r=Q1(t,e):r=t.bindings().context||"",r}function tg(t,e,r=cs){const i=tr(t,r);return i.trim()?`${i}/${e}`:e}function Jt(t,e,r=cs){const i=tg(t,e,r),n=t.child({context:i});return eg(n,i,r)}function rg(t){var e,r;const i=new H1((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:ai(so(no({},t.opts),{level:"trace",browser:so(no({},(r=t.opts)==null?void 0:r.browser),{write:n=>i.write(n)})})),chunkLoggerController:i}}function ig(t){var e;const r=new W1((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:ai(so(no({},t.opts),{level:"trace"})),chunkLoggerController:r}}function ng(t){return typeof t.loggerOverride<"u"&&typeof t.loggerOverride!="string"?{logger:t.loggerOverride,chunkLoggerController:null}:typeof window<"u"?rg(t):ig(t)}class sg extends Qi{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}}class og extends Qi{constructor(e,r){super(),this.core=e,this.logger=r,this.records=new Map}}class ag{constructor(e,r){this.logger=e,this.core=r}}class fg extends Qi{constructor(e,r){super(),this.relayer=e,this.logger=r}}class cg extends Qi{constructor(e){super()}}class hg{constructor(e,r,i,n){this.core=e,this.logger=r,this.name=i}}class ug extends Qi{constructor(e,r){super(),this.relayer=e,this.logger=r}}class dg extends Qi{constructor(e,r){super(),this.core=e,this.logger=r}}class lg{constructor(e,r,i){this.core=e,this.logger=r,this.store=i}}class pg{constructor(e,r){this.projectId=e,this.logger=r}}class gg{constructor(e,r,i){this.core=e,this.logger=r,this.telemetryEnabled=i}}class bg{constructor(e){this.opts=e,this.protocol="wc",this.version=2}}class vg{constructor(e){this.client=e}}function yg(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function sh(t,...e){if(!yg(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function oh(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function mg(t,e){sh(t);const r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}const Pn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Aa=t=>new DataView(t.buffer,t.byteOffset,t.byteLength);function wg(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function ah(t){return typeof t=="string"&&(t=wg(t)),sh(t),t}class _g{clone(){return this._cloneInto()}}function xg(t){const e=i=>t().update(ah(i)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function fh(t=32){if(Pn&&typeof Pn.getRandomValues=="function")return Pn.getRandomValues(new Uint8Array(t));if(Pn&&typeof Pn.randomBytes=="function")return Pn.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}function Eg(t,e,r,i){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(r>>n&s),a=Number(r&s),c=i?4:0,h=i?0:4;t.setUint32(e+c,o,i),t.setUint32(e+h,a,i)}class Sg extends _g{constructor(e,r,i,n){super(),this.blockLen=e,this.outputLen=r,this.padOffset=i,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Aa(this.buffer)}update(e){oh(this);const{view:r,buffer:i,blockLen:n}=this;e=ah(e);const s=e.length;for(let o=0;o<s;){const a=Math.min(n-this.pos,s-o);if(a===n){const c=Aa(e);for(;n<=s-o;o+=n)this.process(c,o);continue}i.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){oh(this),mg(e,this),this.finished=!0;const{buffer:r,view:i,blockLen:n,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>n-o&&(this.process(i,0),o=0);for(let y=o;y<n;y++)r[y]=0;Eg(i,n-8,BigInt(this.length*8),s),this.process(i,0);const a=Aa(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const h=c/4,l=this.get();if(h>l.length)throw new Error("_sha2: outputLen bigger than state");for(let y=0;y<h;y++)a.setUint32(4*y,l[y],s)}digest(){const{buffer:e,outputLen:r}=this;this.digestInto(e);const i=e.slice(0,r);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:r,buffer:i,length:n,finished:s,destroyed:o,pos:a}=this;return e.length=n,e.pos=a,e.finished=s,e.destroyed=o,n%r&&e.buffer.set(i),e}}const oo=BigInt(2**32-1),Da=BigInt(32);function ch(t,e=!1){return e?{h:Number(t&oo),l:Number(t>>Da&oo)}:{h:Number(t>>Da&oo)|0,l:Number(t&oo)|0}}function Mg(t,e=!1){let r=new Uint32Array(t.length),i=new Uint32Array(t.length);for(let n=0;n<t.length;n++){const{h:s,l:o}=ch(t[n],e);[r[n],i[n]]=[s,o]}return[r,i]}const Ig=(t,e)=>BigInt(t>>>0)<<Da|BigInt(e>>>0),Ag=(t,e,r)=>t>>>r,Dg=(t,e,r)=>t<<32-r|e>>>r,Og=(t,e,r)=>t>>>r|e<<32-r,Pg=(t,e,r)=>t<<32-r|e>>>r,Rg=(t,e,r)=>t<<64-r|e>>>r-32,$g=(t,e,r)=>t>>>r-32|e<<64-r,Ng=(t,e)=>e,Tg=(t,e)=>t,Fg=(t,e,r)=>t<<r|e>>>32-r,Cg=(t,e,r)=>e<<r|t>>>32-r,Bg=(t,e,r)=>e<<r-32|t>>>64-r,Lg=(t,e,r)=>t<<r-32|e>>>64-r;function qg(t,e,r,i){const n=(e>>>0)+(i>>>0);return{h:t+r+(n/2**32|0)|0,l:n|0}}const Ug=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),zg=(t,e,r,i)=>e+r+i+(t/2**32|0)|0,kg=(t,e,r,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(i>>>0),jg=(t,e,r,i,n)=>e+r+i+n+(t/2**32|0)|0,Kg=(t,e,r,i,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(i>>>0)+(n>>>0),Vg=(t,e,r,i,n,s)=>e+r+i+n+s+(t/2**32|0)|0,_e={fromBig:ch,split:Mg,toBig:Ig,shrSH:Ag,shrSL:Dg,rotrSH:Og,rotrSL:Pg,rotrBH:Rg,rotrBL:$g,rotr32H:Ng,rotr32L:Tg,rotlSH:Fg,rotlSL:Cg,rotlBH:Bg,rotlBL:Lg,add:qg,add3L:Ug,add3H:zg,add4L:kg,add4H:jg,add5H:Vg,add5L:Kg},[Hg,Wg]=(()=>_e.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),Ni=new Uint32Array(80),Ti=new Uint32Array(80);class Gg extends Sg{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:r,Bh:i,Bl:n,Ch:s,Cl:o,Dh:a,Dl:c,Eh:h,El:l,Fh:y,Fl:M,Gh:I,Gl:S,Hh:D,Hl:R}=this;return[e,r,i,n,s,o,a,c,h,l,y,M,I,S,D,R]}set(e,r,i,n,s,o,a,c,h,l,y,M,I,S,D,R){this.Ah=e|0,this.Al=r|0,this.Bh=i|0,this.Bl=n|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=h|0,this.El=l|0,this.Fh=y|0,this.Fl=M|0,this.Gh=I|0,this.Gl=S|0,this.Hh=D|0,this.Hl=R|0}process(e,r){for(let C=0;C<16;C++,r+=4)Ni[C]=e.getUint32(r),Ti[C]=e.getUint32(r+=4);for(let C=16;C<80;C++){const L=Ni[C-15]|0,k=Ti[C-15]|0,j=_e.rotrSH(L,k,1)^_e.rotrSH(L,k,8)^_e.shrSH(L,k,7),G=_e.rotrSL(L,k,1)^_e.rotrSL(L,k,8)^_e.shrSL(L,k,7),K=Ni[C-2]|0,V=Ti[C-2]|0,re=_e.rotrSH(K,V,19)^_e.rotrBH(K,V,61)^_e.shrSH(K,V,6),O=_e.rotrSL(K,V,19)^_e.rotrBL(K,V,61)^_e.shrSL(K,V,6),g=_e.add4L(G,O,Ti[C-7],Ti[C-16]),p=_e.add4H(g,j,re,Ni[C-7],Ni[C-16]);Ni[C]=p|0,Ti[C]=g|0}let{Ah:i,Al:n,Bh:s,Bl:o,Ch:a,Cl:c,Dh:h,Dl:l,Eh:y,El:M,Fh:I,Fl:S,Gh:D,Gl:R,Hh:$,Hl:T}=this;for(let C=0;C<80;C++){const L=_e.rotrSH(y,M,14)^_e.rotrSH(y,M,18)^_e.rotrBH(y,M,41),k=_e.rotrSL(y,M,14)^_e.rotrSL(y,M,18)^_e.rotrBL(y,M,41),j=y&I^~y&D,G=M&S^~M&R,K=_e.add5L(T,k,G,Wg[C],Ti[C]),V=_e.add5H(K,$,L,j,Hg[C],Ni[C]),re=K|0,O=_e.rotrSH(i,n,28)^_e.rotrBH(i,n,34)^_e.rotrBH(i,n,39),g=_e.rotrSL(i,n,28)^_e.rotrBL(i,n,34)^_e.rotrBL(i,n,39),p=i&s^i&a^s&a,f=n&o^n&c^o&c;$=D|0,T=R|0,D=I|0,R=S|0,I=y|0,S=M|0,{h:y,l:M}=_e.add(h|0,l|0,V|0,re|0),h=a|0,l=c|0,a=s|0,c=o|0,s=i|0,o=n|0;const u=_e.add3L(re,g,f);i=_e.add3H(u,V,O,p),n=u|0}({h:i,l:n}=_e.add(this.Ah|0,this.Al|0,i|0,n|0)),{h:s,l:o}=_e.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=_e.add(this.Ch|0,this.Cl|0,a|0,c|0),{h,l}=_e.add(this.Dh|0,this.Dl|0,h|0,l|0),{h:y,l:M}=_e.add(this.Eh|0,this.El|0,y|0,M|0),{h:I,l:S}=_e.add(this.Fh|0,this.Fl|0,I|0,S|0),{h:D,l:R}=_e.add(this.Gh|0,this.Gl|0,D|0,R|0),{h:$,l:T}=_e.add(this.Hh|0,this.Hl|0,$|0,T|0),this.set(i,n,s,o,a,c,h,l,y,M,I,S,D,R,$,T)}roundClean(){Ni.fill(0),Ti.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Jg=xg(()=>new Gg);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Oa=BigInt(0),hh=BigInt(1),Yg=BigInt(2);function Pa(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Ra(t){if(!Pa(t))throw new Error("Uint8Array expected")}function $a(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}const Xg=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Na(t){Ra(t);let e="";for(let r=0;r<t.length;r++)e+=Xg[t[r]];return e}function uh(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Oa:BigInt("0x"+t)}const fi={_0:48,_9:57,A:65,F:70,a:97,f:102};function dh(t){if(t>=fi._0&&t<=fi._9)return t-fi._0;if(t>=fi.A&&t<=fi.F)return t-(fi.A-10);if(t>=fi.a&&t<=fi.f)return t-(fi.a-10)}function lh(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(r);for(let n=0,s=0;n<r;n++,s+=2){const o=dh(t.charCodeAt(s)),a=dh(t.charCodeAt(s+1));if(o===void 0||a===void 0){const c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}i[n]=o*16+a}return i}function Zg(t){return uh(Na(t))}function ao(t){return Ra(t),uh(Na(Uint8Array.from(t).reverse()))}function ph(t,e){return lh(t.toString(16).padStart(e*2,"0"))}function Ta(t,e){return ph(t,e).reverse()}function ci(t,e,r){let i;if(typeof e=="string")try{i=lh(e)}catch(s){throw new Error(t+" must be hex string or Uint8Array, cause: "+s)}else if(Pa(e))i=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const n=i.length;if(typeof r=="number"&&n!==r)throw new Error(t+" of length "+r+" expected, got "+n);return i}function gh(...t){let e=0;for(let i=0;i<t.length;i++){const n=t[i];Ra(n),e+=n.length}const r=new Uint8Array(e);for(let i=0,n=0;i<t.length;i++){const s=t[i];r.set(s,n),n+=s.length}return r}const Fa=t=>typeof t=="bigint"&&Oa<=t;function Qg(t,e,r){return Fa(t)&&Fa(e)&&Fa(r)&&e<=t&&t<r}function hs(t,e,r,i){if(!Qg(e,r,i))throw new Error("expected valid "+t+": "+r+" <= n < "+i+", got "+e)}function eb(t){let e;for(e=0;t>Oa;t>>=hh,e+=1);return e}const tb=t=>(Yg<<BigInt(t-1))-hh,rb={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Pa(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Ca(t,e,r={}){const i=(n,s,o)=>{const a=rb[s];if(typeof a!="function")throw new Error("invalid validator function");const c=t[n];if(!(o&&c===void 0)&&!a(c,t))throw new Error("param "+String(n)+" is invalid. Expected "+s+", got "+c)};for(const[n,s]of Object.entries(e))i(n,s,!1);for(const[n,s]of Object.entries(r))i(n,s,!0);return t}function bh(t){const e=new WeakMap;return(r,...i)=>{const n=e.get(r);if(n!==void 0)return n;const s=t(r,...i);return e.set(r,s),s}}const Mt=BigInt(0),vt=BigInt(1),rn=BigInt(2),ib=BigInt(3),Ba=BigInt(4),vh=BigInt(5),yh=BigInt(8);function _t(t,e){const r=t%e;return r>=Mt?r:e+r}function nb(t,e,r){if(e<Mt)throw new Error("invalid exponent, negatives unsupported");if(r<=Mt)throw new Error("invalid modulus");if(r===vt)return Mt;let i=vt;for(;e>Mt;)e&vt&&(i=i*t%r),t=t*t%r,e>>=vt;return i}function Vr(t,e,r){let i=t;for(;e-- >Mt;)i*=i,i%=r;return i}function mh(t,e){if(t===Mt)throw new Error("invert: expected non-zero number");if(e<=Mt)throw new Error("invert: expected positive modulus, got "+e);let r=_t(t,e),i=e,n=Mt,s=vt;for(;r!==Mt;){const o=i/r,a=i%r,c=n-s*o;i=r,r=a,n=s,s=c}if(i!==vt)throw new Error("invert: does not exist");return _t(n,e)}function sb(t){const e=(t-vt)/rn;let r,i,n;for(r=t-vt,i=0;r%rn===Mt;r/=rn,i++);for(n=rn;n<t&&nb(n,e,t)!==t-vt;n++)if(n>1e3)throw new Error("Cannot find square root: likely non-prime P");if(i===1){const o=(t+vt)/Ba;return function(a,c){const h=a.pow(c,o);if(!a.eql(a.sqr(h),c))throw new Error("Cannot find square root");return h}}const s=(r+vt)/rn;return function(o,a){if(o.pow(a,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let c=i,h=o.pow(o.mul(o.ONE,n),r),l=o.pow(a,s),y=o.pow(a,r);for(;!o.eql(y,o.ONE);){if(o.eql(y,o.ZERO))return o.ZERO;let M=1;for(let S=o.sqr(y);M<c&&!o.eql(S,o.ONE);M++)S=o.sqr(S);const I=o.pow(h,vt<<BigInt(c-M-1));h=o.sqr(I),l=o.mul(l,I),y=o.mul(y,h),c=M}return l}}function ob(t){if(t%Ba===ib){const e=(t+vt)/Ba;return function(r,i){const n=r.pow(i,e);if(!r.eql(r.sqr(n),i))throw new Error("Cannot find square root");return n}}if(t%yh===vh){const e=(t-vh)/yh;return function(r,i){const n=r.mul(i,rn),s=r.pow(n,e),o=r.mul(i,s),a=r.mul(r.mul(o,rn),s),c=r.mul(o,r.sub(a,r.ONE));if(!r.eql(r.sqr(c),i))throw new Error("Cannot find square root");return c}}return sb(t)}const ab=(t,e)=>(_t(t,e)&vt)===vt,fb=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function cb(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=fb.reduce((i,n)=>(i[n]="function",i),e);return Ca(t,r)}function hb(t,e,r){if(r<Mt)throw new Error("invalid exponent, negatives unsupported");if(r===Mt)return t.ONE;if(r===vt)return e;let i=t.ONE,n=e;for(;r>Mt;)r&vt&&(i=t.mul(i,n)),n=t.sqr(n),r>>=vt;return i}function ub(t,e){const r=new Array(e.length),i=e.reduce((s,o,a)=>t.is0(o)?s:(r[a]=s,t.mul(s,o)),t.ONE),n=t.inv(i);return e.reduceRight((s,o,a)=>t.is0(o)?s:(r[a]=t.mul(s,r[a]),t.mul(s,o)),n),r}function wh(t,e){const r=e!==void 0?e:t.toString(2).length,i=Math.ceil(r/8);return{nBitLength:r,nByteLength:i}}function _h(t,e,r=!1,i={}){if(t<=Mt)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:n,nByteLength:s}=wh(t,e);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:t,isLE:r,BITS:n,BYTES:s,MASK:tb(n),ZERO:Mt,ONE:vt,create:c=>_t(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Mt<=c&&c<t},is0:c=>c===Mt,isOdd:c=>(c&vt)===vt,neg:c=>_t(-c,t),eql:(c,h)=>c===h,sqr:c=>_t(c*c,t),add:(c,h)=>_t(c+h,t),sub:(c,h)=>_t(c-h,t),mul:(c,h)=>_t(c*h,t),pow:(c,h)=>hb(a,c,h),div:(c,h)=>_t(c*mh(h,t),t),sqrN:c=>c*c,addN:(c,h)=>c+h,subN:(c,h)=>c-h,mulN:(c,h)=>c*h,inv:c=>mh(c,t),sqrt:i.sqrt||(c=>(o||(o=ob(t)),o(a,c))),invertBatch:c=>ub(a,c),cmov:(c,h,l)=>l?h:c,toBytes:c=>r?Ta(c,s):ph(c,s),fromBytes:c=>{if(c.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+c.length);return r?ao(c):Zg(c)}});return Object.freeze(a)}const xh=BigInt(0),fo=BigInt(1);function La(t,e){const r=e.negate();return t?r:e}function Eh(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function qa(t,e){Eh(t,e);const r=Math.ceil(e/t)+1,i=2**(t-1);return{windows:r,windowSize:i}}function db(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,i)=>{if(!(r instanceof e))throw new Error("invalid point at index "+i)})}function lb(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,i)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+i)})}const Ua=new WeakMap,Sh=new WeakMap;function za(t){return Sh.get(t)||1}function pb(t,e){return{constTimeNegate:La,hasPrecomputes(r){return za(r)!==1},unsafeLadder(r,i,n=t.ZERO){let s=r;for(;i>xh;)i&fo&&(n=n.add(s)),s=s.double(),i>>=fo;return n},precomputeWindow(r,i){const{windows:n,windowSize:s}=qa(i,e),o=[];let a=r,c=a;for(let h=0;h<n;h++){c=a,o.push(c);for(let l=1;l<s;l++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(r,i,n){const{windows:s,windowSize:o}=qa(r,e);let a=t.ZERO,c=t.BASE;const h=BigInt(2**r-1),l=2**r,y=BigInt(r);for(let M=0;M<s;M++){const I=M*o;let S=Number(n&h);n>>=y,S>o&&(S-=l,n+=fo);const D=I,R=I+Math.abs(S)-1,$=M%2!==0,T=S<0;S===0?c=c.add(La($,i[D])):a=a.add(La(T,i[R]))}return{p:a,f:c}},wNAFUnsafe(r,i,n,s=t.ZERO){const{windows:o,windowSize:a}=qa(r,e),c=BigInt(2**r-1),h=2**r,l=BigInt(r);for(let y=0;y<o;y++){const M=y*a;if(n===xh)break;let I=Number(n&c);if(n>>=l,I>a&&(I-=h,n+=fo),I===0)continue;let S=i[M+Math.abs(I)-1];I<0&&(S=S.negate()),s=s.add(S)}return s},getPrecomputes(r,i,n){let s=Ua.get(i);return s||(s=this.precomputeWindow(i,r),r!==1&&Ua.set(i,n(s))),s},wNAFCached(r,i,n){const s=za(r);return this.wNAF(s,this.getPrecomputes(s,r,n),i)},wNAFCachedUnsafe(r,i,n,s){const o=za(r);return o===1?this.unsafeLadder(r,i,s):this.wNAFUnsafe(o,this.getPrecomputes(o,r,n),i,s)},setWindowSize(r,i){Eh(i,e),Sh.set(r,i),Ua.delete(r)}}}function gb(t,e,r,i){if(db(r,t),lb(i,e),r.length!==i.length)throw new Error("arrays of points and scalars must have equal length");const n=t.ZERO,s=eb(BigInt(r.length)),o=s>12?s-3:s>4?s-2:s?2:1,a=(1<<o)-1,c=new Array(a+1).fill(n),h=Math.floor((e.BITS-1)/o)*o;let l=n;for(let y=h;y>=0;y-=o){c.fill(n);for(let I=0;I<i.length;I++){const S=i[I],D=Number(S>>BigInt(y)&BigInt(a));c[D]=c[D].add(r[I])}let M=n;for(let I=c.length-1,S=n;I>0;I--)S=S.add(c[I]),M=M.add(S);if(l=l.add(M),y!==0)for(let I=0;I<o;I++)l=l.double()}return l}function bb(t){return cb(t.Fp),Ca(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...wh(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}const Nr=BigInt(0),rr=BigInt(1),co=BigInt(2),vb=BigInt(8),yb={zip215:!0};function mb(t){const e=bb(t);return Ca(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function wb(t){const e=mb(t),{Fp:r,n:i,prehash:n,hash:s,randomBytes:o,nByteLength:a,h:c}=e,h=co<<BigInt(a*8)-rr,l=r.create,y=_h(e.n,e.nBitLength),M=e.uvRatio||((u,b)=>{try{return{isValid:!0,value:r.sqrt(u*r.inv(b))}}catch{return{isValid:!1,value:Nr}}}),I=e.adjustScalarBytes||(u=>u),S=e.domain||((u,b,_)=>{if($a("phflag",_),b.length||_)throw new Error("Contexts/pre-hash are not supported");return u});function D(u,b){hs("coordinate "+u,b,Nr,h)}function R(u){if(!(u instanceof C))throw new Error("ExtendedPoint expected")}const $=bh((u,b)=>{const{ex:_,ey:E,ez:w}=u,d=u.is0();b==null&&(b=d?vb:r.inv(w));const m=l(_*b),v=l(E*b),A=l(w*b);if(d)return{x:Nr,y:rr};if(A!==rr)throw new Error("invZ was invalid");return{x:m,y:v}}),T=bh(u=>{const{a:b,d:_}=e;if(u.is0())throw new Error("bad point: ZERO");const{ex:E,ey:w,ez:d,et:m}=u,v=l(E*E),A=l(w*w),U=l(d*d),x=l(U*U),N=l(v*b),B=l(U*l(N+A)),q=l(x+l(_*l(v*A)));if(B!==q)throw new Error("bad point: equation left != right (1)");const z=l(E*w),J=l(d*m);if(z!==J)throw new Error("bad point: equation left != right (2)");return!0});class C{constructor(b,_,E,w){this.ex=b,this.ey=_,this.ez=E,this.et=w,D("x",b),D("y",_),D("z",E),D("t",w),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(b){if(b instanceof C)throw new Error("extended point not allowed");const{x:_,y:E}=b||{};return D("x",_),D("y",E),new C(_,E,rr,l(_*E))}static normalizeZ(b){const _=r.invertBatch(b.map(E=>E.ez));return b.map((E,w)=>E.toAffine(_[w])).map(C.fromAffine)}static msm(b,_){return gb(C,y,b,_)}_setWindowSize(b){j.setWindowSize(this,b)}assertValidity(){T(this)}equals(b){R(b);const{ex:_,ey:E,ez:w}=this,{ex:d,ey:m,ez:v}=b,A=l(_*v),U=l(d*w),x=l(E*v),N=l(m*w);return A===U&&x===N}is0(){return this.equals(C.ZERO)}negate(){return new C(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){const{a:b}=e,{ex:_,ey:E,ez:w}=this,d=l(_*_),m=l(E*E),v=l(co*l(w*w)),A=l(b*d),U=_+E,x=l(l(U*U)-d-m),N=A+m,B=N-v,q=A-m,z=l(x*B),J=l(N*q),X=l(x*q),W=l(B*N);return new C(z,J,W,X)}add(b){R(b);const{a:_,d:E}=e,{ex:w,ey:d,ez:m,et:v}=this,{ex:A,ey:U,ez:x,et:N}=b;if(_===BigInt(-1)){const Pe=l((d-w)*(U+A)),Re=l((d+w)*(U-A)),ae=l(Re-Pe);if(ae===Nr)return this.double();const $e=l(m*co*N),Ne=l(v*co*x),ce=Ne+$e,Te=Re+Pe,Fe=Ne-$e,oe=l(ce*ae),De=l(Te*Fe),Ce=l(ce*Fe),ie=l(ae*Te);return new C(oe,De,ie,Ce)}const B=l(w*A),q=l(d*U),z=l(v*E*N),J=l(m*x),X=l((w+d)*(A+U)-B-q),W=J-z,ne=J+z,Q=l(q-_*B),ee=l(X*W),qe=l(ne*Q),Ue=l(X*Q),he=l(W*ne);return new C(ee,qe,he,Ue)}subtract(b){return this.add(b.negate())}wNAF(b){return j.wNAFCached(this,b,C.normalizeZ)}multiply(b){const _=b;hs("scalar",_,rr,i);const{p:E,f:w}=this.wNAF(_);return C.normalizeZ([E,w])[0]}multiplyUnsafe(b,_=C.ZERO){const E=b;return hs("scalar",E,Nr,i),E===Nr?k:this.is0()||E===rr?this:j.wNAFCachedUnsafe(this,E,C.normalizeZ,_)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return j.unsafeLadder(this,i).is0()}toAffine(b){return $(this,b)}clearCofactor(){const{h:b}=e;return b===rr?this:this.multiplyUnsafe(b)}static fromHex(b,_=!1){const{d:E,a:w}=e,d=r.BYTES;b=ci("pointHex",b,d),$a("zip215",_);const m=b.slice(),v=b[d-1];m[d-1]=v&-129;const A=ao(m),U=_?h:r.ORDER;hs("pointHex.y",A,Nr,U);const x=l(A*A),N=l(x-rr),B=l(E*x-w);let{isValid:q,value:z}=M(N,B);if(!q)throw new Error("Point.fromHex: invalid y coordinate");const J=(z&rr)===rr,X=(v&128)!==0;if(!_&&z===Nr&&X)throw new Error("Point.fromHex: x=0 and x_0=1");return X!==J&&(z=l(-z)),C.fromAffine({x:z,y:A})}static fromPrivateKey(b){return V(b).point}toRawBytes(){const{x:b,y:_}=this.toAffine(),E=Ta(_,r.BYTES);return E[E.length-1]|=b&rr?128:0,E}toHex(){return Na(this.toRawBytes())}}C.BASE=new C(e.Gx,e.Gy,rr,l(e.Gx*e.Gy)),C.ZERO=new C(Nr,rr,rr,Nr);const{BASE:L,ZERO:k}=C,j=pb(C,a*8);function G(u){return _t(u,i)}function K(u){return G(ao(u))}function V(u){const b=r.BYTES;u=ci("private key",u,b);const _=ci("hashed private key",s(u),2*b),E=I(_.slice(0,b)),w=_.slice(b,2*b),d=K(E),m=L.multiply(d),v=m.toRawBytes();return{head:E,prefix:w,scalar:d,point:m,pointBytes:v}}function re(u){return V(u).pointBytes}function O(u=new Uint8Array,...b){const _=gh(...b);return K(s(S(_,ci("context",u),!!n)))}function g(u,b,_={}){u=ci("message",u),n&&(u=n(u));const{prefix:E,scalar:w,pointBytes:d}=V(b),m=O(_.context,E,u),v=L.multiply(m).toRawBytes(),A=O(_.context,v,d,u),U=G(m+A*w);hs("signature.s",U,Nr,i);const x=gh(v,Ta(U,r.BYTES));return ci("result",x,r.BYTES*2)}const p=yb;function f(u,b,_,E=p){const{context:w,zip215:d}=E,m=r.BYTES;u=ci("signature",u,2*m),b=ci("message",b),_=ci("publicKey",_,m),d!==void 0&&$a("zip215",d),n&&(b=n(b));const v=ao(u.slice(m,2*m));let A,U,x;try{A=C.fromHex(_,d),U=C.fromHex(u.slice(0,m),d),x=L.multiplyUnsafe(v)}catch{return!1}if(!d&&A.isSmallOrder())return!1;const N=O(w,U.toRawBytes(),A.toRawBytes(),b);return U.add(A.multiplyUnsafe(N)).subtract(x).clearCofactor().equals(C.ZERO)}return L._setWindowSize(8),{CURVE:e,getPublicKey:re,sign:g,verify:f,ExtendedPoint:C,utils:{getExtendedPublicKey:V,randomPrivateKey:()=>o(r.BYTES),precompute(u=8,b=C.BASE){return b._setWindowSize(u),b.multiply(BigInt(3)),b}}}}BigInt(0),BigInt(1);const ka=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Mh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);const _b=BigInt(1),Ih=BigInt(2);BigInt(3);const xb=BigInt(5),Eb=BigInt(8);function Sb(t){const e=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),s=ka,o=t*t%s*t%s,a=Vr(o,Ih,s)*o%s,c=Vr(a,_b,s)*t%s,h=Vr(c,xb,s)*c%s,l=Vr(h,e,s)*h%s,y=Vr(l,r,s)*l%s,M=Vr(y,i,s)*y%s,I=Vr(M,n,s)*M%s,S=Vr(I,n,s)*M%s,D=Vr(S,e,s)*h%s;return{pow_p_5_8:Vr(D,Ih,s)*t%s,b2:o}}function Mb(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function Ib(t,e){const r=ka,i=_t(e*e*e,r),n=_t(i*i*e,r),s=Sb(t*n).pow_p_5_8;let o=_t(t*i*s,r);const a=_t(e*o*o,r),c=o,h=_t(o*Mh,r),l=a===t,y=a===_t(-t,r),M=a===_t(-t*Mh,r);return l&&(o=c),(y||M)&&(o=h),ab(o,r)&&(o=_t(-o,r)),{isValid:l||y,value:o}}const Ab=(()=>_h(ka,void 0,!0))(),Db=(()=>({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ab,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Eb,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Jg,randomBytes:fh,adjustScalarBytes:Mb,uvRatio:Ib}))(),Ah=(()=>wb(Db))(),Ob="EdDSA",Pb="JWT",ho=".",uo="base64url",Dh="utf8",Oh="utf8",Rb=":",$b="did",Nb="key",Ph="base58btc",Tb="z",Fb="K36",Cb=32;function ja(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Rh(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?ja(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function $h(t,e){e||(e=t.reduce((n,s)=>n+s.length,0));const r=Rh(e);let i=0;for(const n of t)r.set(n,i),i+=n.length;return ja(r)}function Bb(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var n=0;n<t.length;n++){var s=t.charAt(n),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=n}var a=t.length,c=t.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function y(S){if(S instanceof Uint8Array||(ArrayBuffer.isView(S)?S=new Uint8Array(S.buffer,S.byteOffset,S.byteLength):Array.isArray(S)&&(S=Uint8Array.from(S))),!(S instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(S.length===0)return"";for(var D=0,R=0,$=0,T=S.length;$!==T&&S[$]===0;)$++,D++;for(var C=(T-$)*l+1>>>0,L=new Uint8Array(C);$!==T;){for(var k=S[$],j=0,G=C-1;(k!==0||j<R)&&G!==-1;G--,j++)k+=256*L[G]>>>0,L[G]=k%a>>>0,k=k/a>>>0;if(k!==0)throw new Error("Non-zero carry");R=j,$++}for(var K=C-R;K!==C&&L[K]===0;)K++;for(var V=c.repeat(D);K<C;++K)V+=t.charAt(L[K]);return V}function M(S){if(typeof S!="string")throw new TypeError("Expected String");if(S.length===0)return new Uint8Array;var D=0;if(S[D]!==" "){for(var R=0,$=0;S[D]===c;)R++,D++;for(var T=(S.length-D)*h+1>>>0,C=new Uint8Array(T);S[D];){var L=r[S.charCodeAt(D)];if(L===255)return;for(var k=0,j=T-1;(L!==0||k<$)&&j!==-1;j--,k++)L+=a*C[j]>>>0,C[j]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");$=k,D++}if(S[D]!==" "){for(var G=T-$;G!==T&&C[G]===0;)G++;for(var K=new Uint8Array(R+(T-G)),V=R;G!==T;)K[V++]=C[G++];return K}}}function I(S){var D=M(S);if(D)return D;throw new Error(`Non-${e} character`)}return{encode:y,decodeUnsafe:M,decode:I}}var Lb=Bb,qb=Lb;const Nh=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},Ub=t=>new TextEncoder().encode(t),zb=t=>new TextDecoder().decode(t);class kb{constructor(e,r,i){this.name=e,this.prefix=r,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class jb{constructor(e,r,i){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.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 Th(this,e)}}class Kb{constructor(e){this.decoders=e}or(e){return Th(this,e)}decode(e){const r=e[0],i=this.decoders[r];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 Th=(t,e)=>new Kb({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class Vb{constructor(e,r,i,n){this.name=e,this.prefix=r,this.baseEncode=i,this.baseDecode=n,this.encoder=new kb(e,r,i),this.decoder=new jb(e,r,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const lo=({name:t,prefix:e,encode:r,decode:i})=>new Vb(t,e,r,i),us=({prefix:t,name:e,alphabet:r})=>{const{encode:i,decode:n}=qb(r,e);return lo({prefix:t,name:e,encode:i,decode:s=>Nh(n(s))})},Hb=(t,e,r,i)=>{const n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;const o=new Uint8Array(s*r/8|0);let a=0,c=0,h=0;for(let l=0;l<s;++l){const y=n[t[l]];if(y===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<r|y,a+=r,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},Wb=(t,e,r)=>{const i=e[e.length-1]==="=",n=(1<<r)-1;let s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[n&a>>o];if(o&&(s+=e[n&a<<r-o]),i)for(;s.length*r&7;)s+="=";return s},Tt=({name:t,prefix:e,bitsPerChar:r,alphabet:i})=>lo({prefix:e,name:t,encode(n){return Wb(n,i,r)},decode(n){return Hb(n,i,r,t)}}),Gb=lo({prefix:"\0",name:"identity",encode:t=>zb(t),decode:t=>Ub(t)});var Jb=Object.freeze({__proto__:null,identity:Gb});const Yb=Tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xb=Object.freeze({__proto__:null,base2:Yb});const Zb=Tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Qb=Object.freeze({__proto__:null,base8:Zb});const ev=us({prefix:"9",name:"base10",alphabet:"0123456789"});var tv=Object.freeze({__proto__:null,base10:ev});const rv=Tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),iv=Tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var nv=Object.freeze({__proto__:null,base16:rv,base16upper:iv});const sv=Tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ov=Tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),av=Tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),fv=Tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),cv=Tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),hv=Tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),uv=Tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),dv=Tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),lv=Tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var pv=Object.freeze({__proto__:null,base32:sv,base32upper:ov,base32pad:av,base32padupper:fv,base32hex:cv,base32hexupper:hv,base32hexpad:uv,base32hexpadupper:dv,base32z:lv});const gv=us({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),bv=us({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var vv=Object.freeze({__proto__:null,base36:gv,base36upper:bv});const yv=us({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),mv=us({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var wv=Object.freeze({__proto__:null,base58btc:yv,base58flickr:mv});const _v=Tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),xv=Tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ev=Tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Sv=Tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Mv=Object.freeze({__proto__:null,base64:_v,base64pad:xv,base64url:Ev,base64urlpad:Sv});const Fh=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Iv=Fh.reduce((t,e,r)=>(t[r]=e,t),[]),Av=Fh.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Dv(t){return t.reduce((e,r)=>(e+=Iv[r],e),"")}function Ov(t){const e=[];for(const r of t){const i=Av[r.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(i)}return new Uint8Array(e)}const Pv=lo({prefix:"\u{1F680}",name:"base256emoji",encode:Dv,decode:Ov});var Rv=Object.freeze({__proto__:null,base256emoji:Pv}),$v=Bh,Ch=128,Nv=127,Tv=~Nv,Fv=Math.pow(2,31);function Bh(t,e,r){e=e||[],r=r||0;for(var i=r;t>=Fv;)e[r++]=t&255|Ch,t/=128;for(;t&Tv;)e[r++]=t&255|Ch,t>>>=7;return e[r]=t|0,Bh.bytes=r-i+1,e}var Cv=Ka,Bv=128,Lh=127;function Ka(t,i){var r=0,i=i||0,n=0,s=i,o,a=t.length;do{if(s>=a)throw Ka.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=n<28?(o&Lh)<<n:(o&Lh)*Math.pow(2,n),n+=7}while(o>=Bv);return Ka.bytes=s-i,r}var Lv=Math.pow(2,7),qv=Math.pow(2,14),Uv=Math.pow(2,21),zv=Math.pow(2,28),kv=Math.pow(2,35),jv=Math.pow(2,42),Kv=Math.pow(2,49),Vv=Math.pow(2,56),Hv=Math.pow(2,63),Wv=function(t){return t<Lv?1:t<qv?2:t<Uv?3:t<zv?4:t<kv?5:t<jv?6:t<Kv?7:t<Vv?8:t<Hv?9:10},Gv={encode:$v,decode:Cv,encodingLength:Wv},qh=Gv;const Uh=(t,e,r=0)=>(qh.encode(t,e,r),e),zh=t=>qh.encodingLength(t),Va=(t,e)=>{const r=e.byteLength,i=zh(t),n=i+zh(r),s=new Uint8Array(n+r);return Uh(t,s,0),Uh(r,s,i),s.set(e,n),new Jv(t,r,e,s)};class Jv{constructor(e,r,i,n){this.code=e,this.size=r,this.digest=i,this.bytes=n}}const kh=({name:t,code:e,encode:r})=>new Yv(t,e,r);class Yv{constructor(e,r,i){this.name=e,this.code=r,this.encode=i}digest(e){if(e instanceof Uint8Array){const r=this.encode(e);return r instanceof Uint8Array?Va(this.code,r):r.then(i=>Va(this.code,i))}else throw Error("Unknown type, must be binary type")}}const jh=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Xv=kh({name:"sha2-256",code:18,encode:jh("SHA-256")}),Zv=kh({name:"sha2-512",code:19,encode:jh("SHA-512")});var Qv=Object.freeze({__proto__:null,sha256:Xv,sha512:Zv});const Kh=0,ey="identity",Vh=Nh;var ty=Object.freeze({__proto__:null,identity:{code:Kh,name:ey,encode:Vh,digest:t=>Va(Kh,Vh(t))}});new TextEncoder,new TextDecoder;const Hh={...Jb,...Xb,...Qb,...tv,...nv,...pv,...vv,...wv,...Mv,...Rv};({...Qv,...ty});function Wh(t,e,r,i){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:i}}}const Gh=Wh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Ha=Wh("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);const e=Rh(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Jh={utf8:Gh,"utf-8":Gh,hex:Hh.base16,latin1:Ha,ascii:Ha,binary:Ha,...Hh};function po(t,e="utf8"){const r=Jh[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function Rn(t,e="utf8"){const r=Jh[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ja(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Yh(t){return An(po(Rn(t,uo),Dh))}function go(t){return po(Rn(tn(t),Dh),uo)}function Xh(t){const e=Rn(Fb,Ph),r=Tb+po($h([e,t]),Ph);return[$b,Nb,r].join(Rb)}function ry(t){return po(t,uo)}function iy(t){return Rn(t,uo)}function ny(t){return Rn([go(t.header),go(t.payload)].join(ho),Oh)}function sy(t){return[go(t.header),go(t.payload),ry(t.signature)].join(ho)}function Wa(t){const e=t.split(ho),r=Yh(e[0]),i=Yh(e[1]),n=iy(e[2]),s=Rn(e.slice(0,2).join(ho),Oh);return{header:r,payload:i,signature:n,data:s}}function Zh(t=fh(Cb)){const e=Ah.getPublicKey(t);return{secretKey:$h([t,e]),publicKey:e}}async function oy(t,e,r,i,n=Y.fromMiliseconds(Date.now())){const s={alg:Ob,typ:Pb},o=Xh(i.publicKey),a=n+r,c={iss:o,sub:t,aud:e,iat:n,exp:a},h=ny({header:s,payload:c}),l=Ah.sign(h,i.secretKey.slice(0,32));return sy({header:s,payload:c,signature:l})}var Qh=function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i<n;i++)(s||!(i in e))&&(s||(s=Array.prototype.slice.call(e,0,i)),s[i]=e[i]);return t.concat(s||Array.prototype.slice.call(e))},ay=function(){function t(e,r,i){this.name=e,this.version=r,this.os=i,this.type="browser"}return t}(),fy=function(){function t(e){this.version=e,this.type="node",this.name="node",this.os=process.platform}return t}(),cy=function(){function t(e,r,i,n){this.name=e,this.version=r,this.os=i,this.bot=n,this.type="bot-device"}return t}(),hy=function(){function t(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return t}(),uy=function(){function t(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return t}(),dy=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,ly=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,eu=3,py=[["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",dy]],tu=[["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 gy(t){return t?ru(t):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new uy:typeof navigator<"u"?ru(navigator.userAgent):yy()}function by(t){return t!==""&&py.reduce(function(e,r){var i=r[0],n=r[1];if(e)return e;var s=n.exec(t);return!!s&&[i,s]},!1)}function ru(t){var e=by(t);if(!e)return null;var r=e[0],i=e[1];if(r==="searchbot")return new hy;var n=i[1]&&i[1].split(".").join("_").split("_").slice(0,3);n?n.length<eu&&(n=Qh(Qh([],n,!0),my(eu-n.length),!0)):n=[];var s=n.join("."),o=vy(t),a=ly.exec(t);return a&&a[1]?new cy(r,s,o,a[1]):new ay(r,s,o)}function vy(t){for(var e=0,r=tu.length;e<r;e++){var i=tu[e],n=i[0],s=i[1],o=s.exec(t);if(o)return n}return null}function yy(){var t=typeof process<"u"&&process.version;return t?new fy(process.version.slice(1)):null}function my(t){for(var e=[],r=0;r<t;r++)e.push("0");return e}var at={};Object.defineProperty(at,"__esModule",{value:!0}),at.getLocalStorage=at.getLocalStorageOrThrow=at.getCrypto=at.getCryptoOrThrow=iu=at.getLocation=at.getLocationOrThrow=Ga=at.getNavigator=at.getNavigatorOrThrow=ds=at.getDocument=at.getDocumentOrThrow=at.getFromWindowOrThrow=at.getFromWindow=void 0;function nn(t){let e;return typeof window<"u"&&typeof window[t]<"u"&&(e=window[t]),e}at.getFromWindow=nn;function $n(t){const e=nn(t);if(!e)throw new Error(`${t} is not defined in Window`);return e}at.getFromWindowOrThrow=$n;function wy(){return $n("document")}at.getDocumentOrThrow=wy;function _y(){return nn("document")}var ds=at.getDocument=_y;function xy(){return $n("navigator")}at.getNavigatorOrThrow=xy;function Ey(){return nn("navigator")}var Ga=at.getNavigator=Ey;function Sy(){return $n("location")}at.getLocationOrThrow=Sy;function My(){return nn("location")}var iu=at.getLocation=My;function Iy(){return $n("crypto")}at.getCryptoOrThrow=Iy;function Ay(){return nn("crypto")}at.getCrypto=Ay;function Dy(){return $n("localStorage")}at.getLocalStorageOrThrow=Dy;function Oy(){return nn("localStorage")}at.getLocalStorage=Oy;var Ja={};Object.defineProperty(Ja,"__esModule",{value:!0});var nu=Ja.getWindowMetadata=void 0;const su=at;function Py(){let t,e;try{t=su.getDocumentOrThrow(),e=su.getLocationOrThrow()}catch{return null}function r(){const y=t.getElementsByTagName("link"),M=[];for(let I=0;I<y.length;I++){const S=y[I],D=S.getAttribute("rel");if(D&&D.toLowerCase().indexOf("icon")>-1){const R=S.getAttribute("href");if(R)if(R.toLowerCase().indexOf("https:")===-1&&R.toLowerCase().indexOf("http:")===-1&&R.indexOf("//")!==0){let $=e.protocol+"//"+e.host;if(R.indexOf("/")===0)$+=R;else{const T=e.pathname.split("/");T.pop();const C=T.join("/");$+=C+"/"+R}M.push($)}else if(R.indexOf("//")===0){const $=e.protocol+R;M.push($)}else M.push(R)}}return M}function i(...y){const M=t.getElementsByTagName("meta");for(let I=0;I<M.length;I++){const S=M[I],D=["itemprop","property","name"].map(R=>S.getAttribute(R)).filter(R=>R?y.includes(R):!1);if(D.length&&D){const R=S.getAttribute("content");if(R)return R}}return""}function n(){let y=i("name","og:site_name","og:title","twitter:title");return y||(y=t.title),y}function s(){return i("description","og:description","twitter:description","keywords")}const o=n(),a=s(),c=e.origin,h=r();return{description:a,url:c,icons:h,name:o}}nu=Ja.getWindowMetadata=Py;const Ry="logger/5.7.0";let ou=!1,au=!1;const bo={debug:1,default:2,info:2,warning:3,error:4,off:5};let fu=bo.default,Ya=null;function $y(){try{const t=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{t.push(e)}}),t.length)throw new Error("missing "+t.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(t){return t.message}return null}const cu=$y();var Xa;(function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"})(Xa||(Xa={}));var Tr;(function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",t.TRANSACTION_REPLACED="TRANSACTION_REPLACED",t.ACTION_REJECTED="ACTION_REJECTED"})(Tr||(Tr={}));const hu="0123456789abcdef";class Ee{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,r){const i=e.toLowerCase();bo[i]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(fu>bo[i])&&console.log.apply(console,r)}debug(...e){this._log(Ee.levels.DEBUG,e)}info(...e){this._log(Ee.levels.INFO,e)}warn(...e){this._log(Ee.levels.WARNING,e)}makeError(e,r,i){if(au)return this.makeError("censored error",r,{});r||(r=Ee.errors.UNKNOWN_ERROR),i||(i={});const n=[];Object.keys(i).forEach(c=>{const h=i[c];try{if(h instanceof Uint8Array){let l="";for(let y=0;y<h.length;y++)l+=hu[h[y]>>4],l+=hu[h[y]&15];n.push(c+"=Uint8Array(0x"+l+")")}else n.push(c+"="+JSON.stringify(h))}catch{n.push(c+"="+JSON.stringify(i[c].toString()))}}),n.push(`code=${r}`),n.push(`version=${this.version}`);const s=e;let o="";switch(r){case Tr.NUMERIC_FAULT:{o="NUMERIC_FAULT";const c=e;switch(c){case"overflow":case"underflow":case"division-by-zero":o+="-"+c;break;case"negative-power":case"negative-width":o+="-unsupported";break;case"unbound-bitwise-result":o+="-unbound-result";break}break}case Tr.CALL_EXCEPTION:case Tr.INSUFFICIENT_FUNDS:case Tr.MISSING_NEW:case Tr.NONCE_EXPIRED:case Tr.REPLACEMENT_UNDERPRICED:case Tr.TRANSACTION_REPLACED:case Tr.UNPREDICTABLE_GAS_LIMIT:o=r;break}o&&(e+=" [ See: https://links.ethers.org/v5-errors-"+o+" ]"),n.length&&(e+=" ("+n.join(", ")+")");const a=new Error(e);return a.reason=s,a.code=r,Object.keys(i).forEach(function(c){a[c]=i[c]}),a}throwError(e,r,i){throw this.makeError(e,r,i)}throwArgumentError(e,r,i){return this.throwError(e,Ee.errors.INVALID_ARGUMENT,{argument:r,value:i})}assert(e,r,i,n){e||this.throwError(r,i,n)}assertArgument(e,r,i,n){e||this.throwArgumentError(r,i,n)}checkNormalize(e){cu&&this.throwError("platform missing String.prototype.normalize",Ee.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:cu})}checkSafeUint53(e,r){typeof e=="number"&&(r==null&&(r="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(r,Ee.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,Ee.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,r,i){i?i=": "+i:i="",e<r&&this.throwError("missing argument"+i,Ee.errors.MISSING_ARGUMENT,{count:e,expectedCount:r}),e>r&&this.throwError("too many arguments"+i,Ee.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})}checkNew(e,r){(e===Object||e==null)&&this.throwError("missing new",Ee.errors.MISSING_NEW,{name:r.name})}checkAbstract(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",Ee.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",Ee.errors.MISSING_NEW,{name:r.name})}static globalLogger(){return Ya||(Ya=new Ee(Ry)),Ya}static setCensorship(e,r){if(!e&&r&&this.globalLogger().throwError("cannot permanently disable censorship",Ee.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),ou){if(!e)return;this.globalLogger().throwError("error censorship permanent",Ee.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}au=!!e,ou=!!r}static setLogLevel(e){const r=bo[e.toLowerCase()];if(r==null){Ee.globalLogger().warn("invalid log level - "+e);return}fu=r}static from(e){return new Ee(e)}}Ee.errors=Tr,Ee.levels=Xa;const Ny="bytes/5.7.0",yt=new Ee(Ny);function uu(t){return!!t.toHexString}function ls(t){return t.slice||(t.slice=function(){const e=Array.prototype.slice.call(arguments);return ls(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function Ty(t){return ur(t)&&!(t.length%2)||Nn(t)}function du(t){return typeof t=="number"&&t==t&&t%1===0}function Nn(t){if(t==null)return!1;if(t.constructor===Uint8Array)return!0;if(typeof t=="string"||!du(t.length)||t.length<0)return!1;for(let e=0;e<t.length;e++){const r=t[e];if(!du(r)||r<0||r>=256)return!1}return!0}function xt(t,e){if(e||(e={}),typeof t=="number"){yt.checkSafeUint53(t,"invalid arrayify value");const r=[];for(;t;)r.unshift(t&255),t=parseInt(String(t/256));return r.length===0&&r.push(0),ls(new Uint8Array(r))}if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),uu(t)&&(t=t.toHexString()),ur(t)){let r=t.substring(2);r.length%2&&(e.hexPad==="left"?r="0"+r:e.hexPad==="right"?r+="0":yt.throwArgumentError("hex data is odd-length","value",t));const i=[];for(let n=0;n<r.length;n+=2)i.push(parseInt(r.substring(n,n+2),16));return ls(new Uint8Array(i))}return Nn(t)?ls(new Uint8Array(t)):yt.throwArgumentError("invalid arrayify value","value",t)}function Fy(t,e){t=xt(t),t.length>e&&yt.throwArgumentError("value out of range","value",arguments[0]);const r=new Uint8Array(e);return r.set(t,e-t.length),ls(r)}function ur(t,e){return!(typeof t!="string"||!t.match(/^0x[0-9A-Fa-f]*$/)||e&&t.length!==2+2*e)}const Za="0123456789abcdef";function Yt(t,e){if(e||(e={}),typeof t=="number"){yt.checkSafeUint53(t,"invalid hexlify value");let r="";for(;t;)r=Za[t&15]+r,t=Math.floor(t/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(typeof t=="bigint")return t=t.toString(16),t.length%2?"0x0"+t:"0x"+t;if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),uu(t))return t.toHexString();if(ur(t))return t.length%2&&(e.hexPad==="left"?t="0x0"+t.substring(2):e.hexPad==="right"?t+="0":yt.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(Nn(t)){let r="0x";for(let i=0;i<t.length;i++){let n=t[i];r+=Za[(n&240)>>4]+Za[n&15]}return r}return yt.throwArgumentError("invalid hexlify value","value",t)}function Cy(t){if(typeof t!="string")t=Yt(t);else if(!ur(t)||t.length%2)return null;return(t.length-2)/2}function lu(t,e,r){return typeof t!="string"?t=Yt(t):(!ur(t)||t.length%2)&&yt.throwArgumentError("invalid hexData","value",t),e=2+2*e,r!=null?"0x"+t.substring(e,2+2*r):"0x"+t.substring(e)}function Fi(t,e){for(typeof t!="string"?t=Yt(t):ur(t)||yt.throwArgumentError("invalid hex string","value",t),t.length>2*e+2&&yt.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function pu(t){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(Ty(t)){let r=xt(t);r.length===64?(e.v=27+(r[32]>>7),r[32]&=127,e.r=Yt(r.slice(0,32)),e.s=Yt(r.slice(32,64))):r.length===65?(e.r=Yt(r.slice(0,32)),e.s=Yt(r.slice(32,64)),e.v=r[64]):yt.throwArgumentError("invalid signature string","signature",t),e.v<27&&(e.v===0||e.v===1?e.v+=27:yt.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(r[32]|=128),e._vs=Yt(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,e._vs!=null){const n=Fy(xt(e._vs),32);e._vs=Yt(n);const s=n[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=s:e.recoveryParam!==s&&yt.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),n[0]&=127;const o=Yt(n);e.s==null?e.s=o:e.s!==o&&yt.throwArgumentError("signature v mismatch _vs","signature",t)}if(e.recoveryParam==null)e.v==null?yt.throwArgumentError("signature missing v and recoveryParam","signature",t):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&&yt.throwArgumentError("signature recoveryParam mismatch v","signature",t)}e.r==null||!ur(e.r)?yt.throwArgumentError("signature missing or invalid r","signature",t):e.r=Fi(e.r,32),e.s==null||!ur(e.s)?yt.throwArgumentError("signature missing or invalid s","signature",t):e.s=Fi(e.s,32);const r=xt(e.s);r[0]>=128&&yt.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(r[0]|=128);const i=Yt(r);e._vs&&(ur(e._vs)||yt.throwArgumentError("signature invalid _vs","signature",t),e._vs=Fi(e._vs,32)),e._vs==null?e._vs=i:e._vs!==i&&yt.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}var gu={exports:{}},By={},Ly=Object.freeze({__proto__:null,default:By}),Qa=ha(Ly);(function(t){(function(e,r){function i(p,f){if(!p)throw new Error(f||"Assertion failed")}function n(p,f){p.super_=f;var u=function(){};u.prototype=f.prototype,p.prototype=new u,p.prototype.constructor=p}function s(p,f,u){if(s.isBN(p))return p;this.negative=0,this.words=null,this.length=0,this.red=null,p!==null&&((f==="le"||f==="be")&&(u=f,f=10),this._init(p||0,f||10,u||"be"))}typeof e=="object"?e.exports=s:r.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Qa.Buffer}catch{}s.isBN=function(f){return f instanceof s?!0:f!==null&&typeof f=="object"&&f.constructor.wordSize===s.wordSize&&Array.isArray(f.words)},s.max=function(f,u){return f.cmp(u)>0?f:u},s.min=function(f,u){return f.cmp(u)<0?f:u},s.prototype._init=function(f,u,b){if(typeof f=="number")return this._initNumber(f,u,b);if(typeof f=="object")return this._initArray(f,u,b);u==="hex"&&(u=16),i(u===(u|0)&&u>=2&&u<=36),f=f.toString().replace(/\s+/g,"");var _=0;f[0]==="-"&&(_++,this.negative=1),_<f.length&&(u===16?this._parseHex(f,_,b):(this._parseBase(f,u,_),b==="le"&&this._initArray(this.toArray(),u,b)))},s.prototype._initNumber=function(f,u,b){f<0&&(this.negative=1,f=-f),f<67108864?(this.words=[f&67108863],this.length=1):f<4503599627370496?(this.words=[f&67108863,f/67108864&67108863],this.length=2):(i(f<9007199254740992),this.words=[f&67108863,f/67108864&67108863,1],this.length=3),b==="le"&&this._initArray(this.toArray(),u,b)},s.prototype._initArray=function(f,u,b){if(i(typeof f.length=="number"),f.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(f.length/3),this.words=new Array(this.length);for(var _=0;_<this.length;_++)this.words[_]=0;var E,w,d=0;if(b==="be")for(_=f.length-1,E=0;_>=0;_-=3)w=f[_]|f[_-1]<<8|f[_-2]<<16,this.words[E]|=w<<d&67108863,this.words[E+1]=w>>>26-d&67108863,d+=24,d>=26&&(d-=26,E++);else if(b==="le")for(_=0,E=0;_<f.length;_+=3)w=f[_]|f[_+1]<<8|f[_+2]<<16,this.words[E]|=w<<d&67108863,this.words[E+1]=w>>>26-d&67108863,d+=24,d>=26&&(d-=26,E++);return this._strip()};function a(p,f){var u=p.charCodeAt(f);if(u>=48&&u<=57)return u-48;if(u>=65&&u<=70)return u-55;if(u>=97&&u<=102)return u-87;i(!1,"Invalid character in "+p)}function c(p,f,u){var b=a(p,u);return u-1>=f&&(b|=a(p,u-1)<<4),b}s.prototype._parseHex=function(f,u,b){this.length=Math.ceil((f.length-u)/6),this.words=new Array(this.length);for(var _=0;_<this.length;_++)this.words[_]=0;var E=0,w=0,d;if(b==="be")for(_=f.length-1;_>=u;_-=2)d=c(f,u,_)<<E,this.words[w]|=d&67108863,E>=18?(E-=18,w+=1,this.words[w]|=d>>>26):E+=8;else{var m=f.length-u;for(_=m%2===0?u+1:u;_<f.length;_+=2)d=c(f,u,_)<<E,this.words[w]|=d&67108863,E>=18?(E-=18,w+=1,this.words[w]|=d>>>26):E+=8}this._strip()};function h(p,f,u,b){for(var _=0,E=0,w=Math.min(p.length,u),d=f;d<w;d++){var m=p.charCodeAt(d)-48;_*=b,m>=49?E=m-49+10:m>=17?E=m-17+10:E=m,i(m>=0&&E<b,"Invalid character"),_+=E}return _}s.prototype._parseBase=function(f,u,b){this.words=[0],this.length=1;for(var _=0,E=1;E<=67108863;E*=u)_++;_--,E=E/u|0;for(var w=f.length-b,d=w%_,m=Math.min(w,w-d)+b,v=0,A=b;A<m;A+=_)v=h(f,A,A+_,u),this.imuln(E),this.words[0]+v<67108864?this.words[0]+=v:this._iaddn(v);if(d!==0){var U=1;for(v=h(f,A,f.length,u),A=0;A<d;A++)U*=u;this.imuln(U),this.words[0]+v<67108864?this.words[0]+=v:this._iaddn(v)}this._strip()},s.prototype.copy=function(f){f.words=new Array(this.length);for(var u=0;u<this.length;u++)f.words[u]=this.words[u];f.length=this.length,f.negative=this.negative,f.red=this.red};function l(p,f){p.words=f.words,p.length=f.length,p.negative=f.negative,p.red=f.red}if(s.prototype._move=function(f){l(f,this)},s.prototype.clone=function(){var f=new s(null);return this.copy(f),f},s.prototype._expand=function(f){for(;this.length<f;)this.words[this.length++]=0;return this},s.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=y}catch{s.prototype.inspect=y}else s.prototype.inspect=y;function y(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var M=["","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"],I=[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],S=[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];s.prototype.toString=function(f,u){f=f||10,u=u|0||1;var b;if(f===16||f==="hex"){b="";for(var _=0,E=0,w=0;w<this.length;w++){var d=this.words[w],m=((d<<_|E)&16777215).toString(16);E=d>>>24-_&16777215,_+=2,_>=26&&(_-=26,w--),E!==0||w!==this.length-1?b=M[6-m.length]+m+b:b=m+b}for(E!==0&&(b=E.toString(16)+b);b.length%u!==0;)b="0"+b;return this.negative!==0&&(b="-"+b),b}if(f===(f|0)&&f>=2&&f<=36){var v=I[f],A=S[f];b="";var U=this.clone();for(U.negative=0;!U.isZero();){var x=U.modrn(A).toString(f);U=U.idivn(A),U.isZero()?b=x+b:b=M[v-x.length]+x+b}for(this.isZero()&&(b="0"+b);b.length%u!==0;)b="0"+b;return this.negative!==0&&(b="-"+b),b}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var f=this.words[0];return this.length===2?f+=this.words[1]*67108864:this.length===3&&this.words[2]===1?f+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-f:f},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(f,u){return this.toArrayLike(o,f,u)}),s.prototype.toArray=function(f,u){return this.toArrayLike(Array,f,u)};var D=function(f,u){return f.allocUnsafe?f.allocUnsafe(u):new f(u)};s.prototype.toArrayLike=function(f,u,b){this._strip();var _=this.byteLength(),E=b||Math.max(1,_);i(_<=E,"byte array longer than desired length"),i(E>0,"Requested array length <= 0");var w=D(f,E),d=u==="le"?"LE":"BE";return this["_toArrayLike"+d](w,_),w},s.prototype._toArrayLikeLE=function(f,u){for(var b=0,_=0,E=0,w=0;E<this.length;E++){var d=this.words[E]<<w|_;f[b++]=d&255,b<f.length&&(f[b++]=d>>8&255),b<f.length&&(f[b++]=d>>16&255),w===6?(b<f.length&&(f[b++]=d>>24&255),_=0,w=0):(_=d>>>24,w+=2)}if(b<f.length)for(f[b++]=_;b<f.length;)f[b++]=0},s.prototype._toArrayLikeBE=function(f,u){for(var b=f.length-1,_=0,E=0,w=0;E<this.length;E++){var d=this.words[E]<<w|_;f[b--]=d&255,b>=0&&(f[b--]=d>>8&255),b>=0&&(f[b--]=d>>16&255),w===6?(b>=0&&(f[b--]=d>>24&255),_=0,w=0):(_=d>>>24,w+=2)}if(b>=0)for(f[b--]=_;b>=0;)f[b--]=0},Math.clz32?s.prototype._countBits=function(f){return 32-Math.clz32(f)}:s.prototype._countBits=function(f){var u=f,b=0;return u>=4096&&(b+=13,u>>>=13),u>=64&&(b+=7,u>>>=7),u>=8&&(b+=4,u>>>=4),u>=2&&(b+=2,u>>>=2),b+u},s.prototype._zeroBits=function(f){if(f===0)return 26;var u=f,b=0;return u&8191||(b+=13,u>>>=13),u&127||(b+=7,u>>>=7),u&15||(b+=4,u>>>=4),u&3||(b+=2,u>>>=2),u&1||b++,b},s.prototype.bitLength=function(){var f=this.words[this.length-1],u=this._countBits(f);return(this.length-1)*26+u};function R(p){for(var f=new Array(p.bitLength()),u=0;u<f.length;u++){var b=u/26|0,_=u%26;f[u]=p.words[b]>>>_&1}return f}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var f=0,u=0;u<this.length;u++){var b=this._zeroBits(this.words[u]);if(f+=b,b!==26)break}return f},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(f){return this.negative!==0?this.abs().inotn(f).iaddn(1):this.clone()},s.prototype.fromTwos=function(f){return this.testn(f-1)?this.notn(f).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(f){for(;this.length<f.length;)this.words[this.length++]=0;for(var u=0;u<f.length;u++)this.words[u]=this.words[u]|f.words[u];return this._strip()},s.prototype.ior=function(f){return i((this.negative|f.negative)===0),this.iuor(f)},s.prototype.or=function(f){return this.length>f.length?this.clone().ior(f):f.clone().ior(this)},s.prototype.uor=function(f){return this.length>f.length?this.clone().iuor(f):f.clone().iuor(this)},s.prototype.iuand=function(f){var u;this.length>f.length?u=f:u=this;for(var b=0;b<u.length;b++)this.words[b]=this.words[b]&f.words[b];return this.length=u.length,this._strip()},s.prototype.iand=function(f){return i((this.negative|f.negative)===0),this.iuand(f)},s.prototype.and=function(f){return this.length>f.length?this.clone().iand(f):f.clone().iand(this)},s.prototype.uand=function(f){return this.length>f.length?this.clone().iuand(f):f.clone().iuand(this)},s.prototype.iuxor=function(f){var u,b;this.length>f.length?(u=this,b=f):(u=f,b=this);for(var _=0;_<b.length;_++)this.words[_]=u.words[_]^b.words[_];if(this!==u)for(;_<u.length;_++)this.words[_]=u.words[_];return this.length=u.length,this._strip()},s.prototype.ixor=function(f){return i((this.negative|f.negative)===0),this.iuxor(f)},s.prototype.xor=function(f){return this.length>f.length?this.clone().ixor(f):f.clone().ixor(this)},s.prototype.uxor=function(f){return this.length>f.length?this.clone().iuxor(f):f.clone().iuxor(this)},s.prototype.inotn=function(f){i(typeof f=="number"&&f>=0);var u=Math.ceil(f/26)|0,b=f%26;this._expand(u),b>0&&u--;for(var _=0;_<u;_++)this.words[_]=~this.words[_]&67108863;return b>0&&(this.words[_]=~this.words[_]&67108863>>26-b),this._strip()},s.prototype.notn=function(f){return this.clone().inotn(f)},s.prototype.setn=function(f,u){i(typeof f=="number"&&f>=0);var b=f/26|0,_=f%26;return this._expand(b+1),u?this.words[b]=this.words[b]|1<<_:this.words[b]=this.words[b]&~(1<<_),this._strip()},s.prototype.iadd=function(f){var u;if(this.negative!==0&&f.negative===0)return this.negative=0,u=this.isub(f),this.negative^=1,this._normSign();if(this.negative===0&&f.negative!==0)return f.negative=0,u=this.isub(f),f.negative=1,u._normSign();var b,_;this.length>f.length?(b=this,_=f):(b=f,_=this);for(var E=0,w=0;w<_.length;w++)u=(b.words[w]|0)+(_.words[w]|0)+E,this.words[w]=u&67108863,E=u>>>26;for(;E!==0&&w<b.length;w++)u=(b.words[w]|0)+E,this.words[w]=u&67108863,E=u>>>26;if(this.length=b.length,E!==0)this.words[this.length]=E,this.length++;else if(b!==this)for(;w<b.length;w++)this.words[w]=b.words[w];return this},s.prototype.add=function(f){var u;return f.negative!==0&&this.negative===0?(f.negative=0,u=this.sub(f),f.negative^=1,u):f.negative===0&&this.negative!==0?(this.negative=0,u=f.sub(this),this.negative=1,u):this.length>f.length?this.clone().iadd(f):f.clone().iadd(this)},s.prototype.isub=function(f){if(f.negative!==0){f.negative=0;var u=this.iadd(f);return f.negative=1,u._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(f),this.negative=1,this._normSign();var b=this.cmp(f);if(b===0)return this.negative=0,this.length=1,this.words[0]=0,this;var _,E;b>0?(_=this,E=f):(_=f,E=this);for(var w=0,d=0;d<E.length;d++)u=(_.words[d]|0)-(E.words[d]|0)+w,w=u>>26,this.words[d]=u&67108863;for(;w!==0&&d<_.length;d++)u=(_.words[d]|0)+w,w=u>>26,this.words[d]=u&67108863;if(w===0&&d<_.length&&_!==this)for(;d<_.length;d++)this.words[d]=_.words[d];return this.length=Math.max(this.length,d),_!==this&&(this.negative=1),this._strip()},s.prototype.sub=function(f){return this.clone().isub(f)};function $(p,f,u){u.negative=f.negative^p.negative;var b=p.length+f.length|0;u.length=b,b=b-1|0;var _=p.words[0]|0,E=f.words[0]|0,w=_*E,d=w&67108863,m=w/67108864|0;u.words[0]=d;for(var v=1;v<b;v++){for(var A=m>>>26,U=m&67108863,x=Math.min(v,f.length-1),N=Math.max(0,v-p.length+1);N<=x;N++){var B=v-N|0;_=p.words[B]|0,E=f.words[N]|0,w=_*E+U,A+=w/67108864|0,U=w&67108863}u.words[v]=U|0,m=A|0}return m!==0?u.words[v]=m|0:u.length--,u._strip()}var T=function(f,u,b){var _=f.words,E=u.words,w=b.words,d=0,m,v,A,U=_[0]|0,x=U&8191,N=U>>>13,B=_[1]|0,q=B&8191,z=B>>>13,J=_[2]|0,X=J&8191,W=J>>>13,ne=_[3]|0,Q=ne&8191,ee=ne>>>13,qe=_[4]|0,Ue=qe&8191,he=qe>>>13,Pe=_[5]|0,Re=Pe&8191,ae=Pe>>>13,$e=_[6]|0,Ne=$e&8191,ce=$e>>>13,Te=_[7]|0,Fe=Te&8191,oe=Te>>>13,De=_[8]|0,Ce=De&8191,ie=De>>>13,Ve=_[9]|0,He=Ve&8191,pe=Ve>>>13,We=E[0]|0,Be=We&8191,de=We>>>13,Ge=E[1]|0,Xe=Ge&8191,se=Ge>>>13,Je=E[2]|0,Ze=Je&8191,ge=Je>>>13,ze=E[3]|0,Oe=ze&8191,ue=ze>>>13,ke=E[4]|0,je=ke&8191,fe=ke>>>13,Qe=E[5]|0,et=Qe&8191,be=Qe>>>13,tt=E[6]|0,rt=tt&8191,le=tt>>>13,Ke=E[7]|0,Ae=Ke&8191,ve=Ke>>>13,it=E[8]|0,nt=it&8191,ye=it>>>13,st=E[9]|0,xe=st&8191,Ye=st>>>13;b.negative=f.negative^u.negative,b.length=19,m=Math.imul(x,Be),v=Math.imul(x,de),v=v+Math.imul(N,Be)|0,A=Math.imul(N,de);var ar=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(ar>>>26)|0,ar&=67108863,m=Math.imul(q,Be),v=Math.imul(q,de),v=v+Math.imul(z,Be)|0,A=Math.imul(z,de),m=m+Math.imul(x,Xe)|0,v=v+Math.imul(x,se)|0,v=v+Math.imul(N,Xe)|0,A=A+Math.imul(N,se)|0;var fr=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(fr>>>26)|0,fr&=67108863,m=Math.imul(X,Be),v=Math.imul(X,de),v=v+Math.imul(W,Be)|0,A=Math.imul(W,de),m=m+Math.imul(q,Xe)|0,v=v+Math.imul(q,se)|0,v=v+Math.imul(z,Xe)|0,A=A+Math.imul(z,se)|0,m=m+Math.imul(x,Ze)|0,v=v+Math.imul(x,ge)|0,v=v+Math.imul(N,Ze)|0,A=A+Math.imul(N,ge)|0;var cr=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(cr>>>26)|0,cr&=67108863,m=Math.imul(Q,Be),v=Math.imul(Q,de),v=v+Math.imul(ee,Be)|0,A=Math.imul(ee,de),m=m+Math.imul(X,Xe)|0,v=v+Math.imul(X,se)|0,v=v+Math.imul(W,Xe)|0,A=A+Math.imul(W,se)|0,m=m+Math.imul(q,Ze)|0,v=v+Math.imul(q,ge)|0,v=v+Math.imul(z,Ze)|0,A=A+Math.imul(z,ge)|0,m=m+Math.imul(x,Oe)|0,v=v+Math.imul(x,ue)|0,v=v+Math.imul(N,Oe)|0,A=A+Math.imul(N,ue)|0;var hr=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(hr>>>26)|0,hr&=67108863,m=Math.imul(Ue,Be),v=Math.imul(Ue,de),v=v+Math.imul(he,Be)|0,A=Math.imul(he,de),m=m+Math.imul(Q,Xe)|0,v=v+Math.imul(Q,se)|0,v=v+Math.imul(ee,Xe)|0,A=A+Math.imul(ee,se)|0,m=m+Math.imul(X,Ze)|0,v=v+Math.imul(X,ge)|0,v=v+Math.imul(W,Ze)|0,A=A+Math.imul(W,ge)|0,m=m+Math.imul(q,Oe)|0,v=v+Math.imul(q,ue)|0,v=v+Math.imul(z,Oe)|0,A=A+Math.imul(z,ue)|0,m=m+Math.imul(x,je)|0,v=v+Math.imul(x,fe)|0,v=v+Math.imul(N,je)|0,A=A+Math.imul(N,fe)|0;var wt=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(wt>>>26)|0,wt&=67108863,m=Math.imul(Re,Be),v=Math.imul(Re,de),v=v+Math.imul(ae,Be)|0,A=Math.imul(ae,de),m=m+Math.imul(Ue,Xe)|0,v=v+Math.imul(Ue,se)|0,v=v+Math.imul(he,Xe)|0,A=A+Math.imul(he,se)|0,m=m+Math.imul(Q,Ze)|0,v=v+Math.imul(Q,ge)|0,v=v+Math.imul(ee,Ze)|0,A=A+Math.imul(ee,ge)|0,m=m+Math.imul(X,Oe)|0,v=v+Math.imul(X,ue)|0,v=v+Math.imul(W,Oe)|0,A=A+Math.imul(W,ue)|0,m=m+Math.imul(q,je)|0,v=v+Math.imul(q,fe)|0,v=v+Math.imul(z,je)|0,A=A+Math.imul(z,fe)|0,m=m+Math.imul(x,et)|0,v=v+Math.imul(x,be)|0,v=v+Math.imul(N,et)|0,A=A+Math.imul(N,be)|0;var xi=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(xi>>>26)|0,xi&=67108863,m=Math.imul(Ne,Be),v=Math.imul(Ne,de),v=v+Math.imul(ce,Be)|0,A=Math.imul(ce,de),m=m+Math.imul(Re,Xe)|0,v=v+Math.imul(Re,se)|0,v=v+Math.imul(ae,Xe)|0,A=A+Math.imul(ae,se)|0,m=m+Math.imul(Ue,Ze)|0,v=v+Math.imul(Ue,ge)|0,v=v+Math.imul(he,Ze)|0,A=A+Math.imul(he,ge)|0,m=m+Math.imul(Q,Oe)|0,v=v+Math.imul(Q,ue)|0,v=v+Math.imul(ee,Oe)|0,A=A+Math.imul(ee,ue)|0,m=m+Math.imul(X,je)|0,v=v+Math.imul(X,fe)|0,v=v+Math.imul(W,je)|0,A=A+Math.imul(W,fe)|0,m=m+Math.imul(q,et)|0,v=v+Math.imul(q,be)|0,v=v+Math.imul(z,et)|0,A=A+Math.imul(z,be)|0,m=m+Math.imul(x,rt)|0,v=v+Math.imul(x,le)|0,v=v+Math.imul(N,rt)|0,A=A+Math.imul(N,le)|0;var Ei=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,m=Math.imul(Fe,Be),v=Math.imul(Fe,de),v=v+Math.imul(oe,Be)|0,A=Math.imul(oe,de),m=m+Math.imul(Ne,Xe)|0,v=v+Math.imul(Ne,se)|0,v=v+Math.imul(ce,Xe)|0,A=A+Math.imul(ce,se)|0,m=m+Math.imul(Re,Ze)|0,v=v+Math.imul(Re,ge)|0,v=v+Math.imul(ae,Ze)|0,A=A+Math.imul(ae,ge)|0,m=m+Math.imul(Ue,Oe)|0,v=v+Math.imul(Ue,ue)|0,v=v+Math.imul(he,Oe)|0,A=A+Math.imul(he,ue)|0,m=m+Math.imul(Q,je)|0,v=v+Math.imul(Q,fe)|0,v=v+Math.imul(ee,je)|0,A=A+Math.imul(ee,fe)|0,m=m+Math.imul(X,et)|0,v=v+Math.imul(X,be)|0,v=v+Math.imul(W,et)|0,A=A+Math.imul(W,be)|0,m=m+Math.imul(q,rt)|0,v=v+Math.imul(q,le)|0,v=v+Math.imul(z,rt)|0,A=A+Math.imul(z,le)|0,m=m+Math.imul(x,Ae)|0,v=v+Math.imul(x,ve)|0,v=v+Math.imul(N,Ae)|0,A=A+Math.imul(N,ve)|0;var Si=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Si>>>26)|0,Si&=67108863,m=Math.imul(Ce,Be),v=Math.imul(Ce,de),v=v+Math.imul(ie,Be)|0,A=Math.imul(ie,de),m=m+Math.imul(Fe,Xe)|0,v=v+Math.imul(Fe,se)|0,v=v+Math.imul(oe,Xe)|0,A=A+Math.imul(oe,se)|0,m=m+Math.imul(Ne,Ze)|0,v=v+Math.imul(Ne,ge)|0,v=v+Math.imul(ce,Ze)|0,A=A+Math.imul(ce,ge)|0,m=m+Math.imul(Re,Oe)|0,v=v+Math.imul(Re,ue)|0,v=v+Math.imul(ae,Oe)|0,A=A+Math.imul(ae,ue)|0,m=m+Math.imul(Ue,je)|0,v=v+Math.imul(Ue,fe)|0,v=v+Math.imul(he,je)|0,A=A+Math.imul(he,fe)|0,m=m+Math.imul(Q,et)|0,v=v+Math.imul(Q,be)|0,v=v+Math.imul(ee,et)|0,A=A+Math.imul(ee,be)|0,m=m+Math.imul(X,rt)|0,v=v+Math.imul(X,le)|0,v=v+Math.imul(W,rt)|0,A=A+Math.imul(W,le)|0,m=m+Math.imul(q,Ae)|0,v=v+Math.imul(q,ve)|0,v=v+Math.imul(z,Ae)|0,A=A+Math.imul(z,ve)|0,m=m+Math.imul(x,nt)|0,v=v+Math.imul(x,ye)|0,v=v+Math.imul(N,nt)|0,A=A+Math.imul(N,ye)|0;var Mi=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,m=Math.imul(He,Be),v=Math.imul(He,de),v=v+Math.imul(pe,Be)|0,A=Math.imul(pe,de),m=m+Math.imul(Ce,Xe)|0,v=v+Math.imul(Ce,se)|0,v=v+Math.imul(ie,Xe)|0,A=A+Math.imul(ie,se)|0,m=m+Math.imul(Fe,Ze)|0,v=v+Math.imul(Fe,ge)|0,v=v+Math.imul(oe,Ze)|0,A=A+Math.imul(oe,ge)|0,m=m+Math.imul(Ne,Oe)|0,v=v+Math.imul(Ne,ue)|0,v=v+Math.imul(ce,Oe)|0,A=A+Math.imul(ce,ue)|0,m=m+Math.imul(Re,je)|0,v=v+Math.imul(Re,fe)|0,v=v+Math.imul(ae,je)|0,A=A+Math.imul(ae,fe)|0,m=m+Math.imul(Ue,et)|0,v=v+Math.imul(Ue,be)|0,v=v+Math.imul(he,et)|0,A=A+Math.imul(he,be)|0,m=m+Math.imul(Q,rt)|0,v=v+Math.imul(Q,le)|0,v=v+Math.imul(ee,rt)|0,A=A+Math.imul(ee,le)|0,m=m+Math.imul(X,Ae)|0,v=v+Math.imul(X,ve)|0,v=v+Math.imul(W,Ae)|0,A=A+Math.imul(W,ve)|0,m=m+Math.imul(q,nt)|0,v=v+Math.imul(q,ye)|0,v=v+Math.imul(z,nt)|0,A=A+Math.imul(z,ye)|0,m=m+Math.imul(x,xe)|0,v=v+Math.imul(x,Ye)|0,v=v+Math.imul(N,xe)|0,A=A+Math.imul(N,Ye)|0;var Ii=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Ii>>>26)|0,Ii&=67108863,m=Math.imul(He,Xe),v=Math.imul(He,se),v=v+Math.imul(pe,Xe)|0,A=Math.imul(pe,se),m=m+Math.imul(Ce,Ze)|0,v=v+Math.imul(Ce,ge)|0,v=v+Math.imul(ie,Ze)|0,A=A+Math.imul(ie,ge)|0,m=m+Math.imul(Fe,Oe)|0,v=v+Math.imul(Fe,ue)|0,v=v+Math.imul(oe,Oe)|0,A=A+Math.imul(oe,ue)|0,m=m+Math.imul(Ne,je)|0,v=v+Math.imul(Ne,fe)|0,v=v+Math.imul(ce,je)|0,A=A+Math.imul(ce,fe)|0,m=m+Math.imul(Re,et)|0,v=v+Math.imul(Re,be)|0,v=v+Math.imul(ae,et)|0,A=A+Math.imul(ae,be)|0,m=m+Math.imul(Ue,rt)|0,v=v+Math.imul(Ue,le)|0,v=v+Math.imul(he,rt)|0,A=A+Math.imul(he,le)|0,m=m+Math.imul(Q,Ae)|0,v=v+Math.imul(Q,ve)|0,v=v+Math.imul(ee,Ae)|0,A=A+Math.imul(ee,ve)|0,m=m+Math.imul(X,nt)|0,v=v+Math.imul(X,ye)|0,v=v+Math.imul(W,nt)|0,A=A+Math.imul(W,ye)|0,m=m+Math.imul(q,xe)|0,v=v+Math.imul(q,Ye)|0,v=v+Math.imul(z,xe)|0,A=A+Math.imul(z,Ye)|0;var Pr=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,m=Math.imul(He,Ze),v=Math.imul(He,ge),v=v+Math.imul(pe,Ze)|0,A=Math.imul(pe,ge),m=m+Math.imul(Ce,Oe)|0,v=v+Math.imul(Ce,ue)|0,v=v+Math.imul(ie,Oe)|0,A=A+Math.imul(ie,ue)|0,m=m+Math.imul(Fe,je)|0,v=v+Math.imul(Fe,fe)|0,v=v+Math.imul(oe,je)|0,A=A+Math.imul(oe,fe)|0,m=m+Math.imul(Ne,et)|0,v=v+Math.imul(Ne,be)|0,v=v+Math.imul(ce,et)|0,A=A+Math.imul(ce,be)|0,m=m+Math.imul(Re,rt)|0,v=v+Math.imul(Re,le)|0,v=v+Math.imul(ae,rt)|0,A=A+Math.imul(ae,le)|0,m=m+Math.imul(Ue,Ae)|0,v=v+Math.imul(Ue,ve)|0,v=v+Math.imul(he,Ae)|0,A=A+Math.imul(he,ve)|0,m=m+Math.imul(Q,nt)|0,v=v+Math.imul(Q,ye)|0,v=v+Math.imul(ee,nt)|0,A=A+Math.imul(ee,ye)|0,m=m+Math.imul(X,xe)|0,v=v+Math.imul(X,Ye)|0,v=v+Math.imul(W,xe)|0,A=A+Math.imul(W,Ye)|0;var Ai=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,m=Math.imul(He,Oe),v=Math.imul(He,ue),v=v+Math.imul(pe,Oe)|0,A=Math.imul(pe,ue),m=m+Math.imul(Ce,je)|0,v=v+Math.imul(Ce,fe)|0,v=v+Math.imul(ie,je)|0,A=A+Math.imul(ie,fe)|0,m=m+Math.imul(Fe,et)|0,v=v+Math.imul(Fe,be)|0,v=v+Math.imul(oe,et)|0,A=A+Math.imul(oe,be)|0,m=m+Math.imul(Ne,rt)|0,v=v+Math.imul(Ne,le)|0,v=v+Math.imul(ce,rt)|0,A=A+Math.imul(ce,le)|0,m=m+Math.imul(Re,Ae)|0,v=v+Math.imul(Re,ve)|0,v=v+Math.imul(ae,Ae)|0,A=A+Math.imul(ae,ve)|0,m=m+Math.imul(Ue,nt)|0,v=v+Math.imul(Ue,ye)|0,v=v+Math.imul(he,nt)|0,A=A+Math.imul(he,ye)|0,m=m+Math.imul(Q,xe)|0,v=v+Math.imul(Q,Ye)|0,v=v+Math.imul(ee,xe)|0,A=A+Math.imul(ee,Ye)|0;var Di=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Di>>>26)|0,Di&=67108863,m=Math.imul(He,je),v=Math.imul(He,fe),v=v+Math.imul(pe,je)|0,A=Math.imul(pe,fe),m=m+Math.imul(Ce,et)|0,v=v+Math.imul(Ce,be)|0,v=v+Math.imul(ie,et)|0,A=A+Math.imul(ie,be)|0,m=m+Math.imul(Fe,rt)|0,v=v+Math.imul(Fe,le)|0,v=v+Math.imul(oe,rt)|0,A=A+Math.imul(oe,le)|0,m=m+Math.imul(Ne,Ae)|0,v=v+Math.imul(Ne,ve)|0,v=v+Math.imul(ce,Ae)|0,A=A+Math.imul(ce,ve)|0,m=m+Math.imul(Re,nt)|0,v=v+Math.imul(Re,ye)|0,v=v+Math.imul(ae,nt)|0,A=A+Math.imul(ae,ye)|0,m=m+Math.imul(Ue,xe)|0,v=v+Math.imul(Ue,Ye)|0,v=v+Math.imul(he,xe)|0,A=A+Math.imul(he,Ye)|0;var Wt=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,m=Math.imul(He,et),v=Math.imul(He,be),v=v+Math.imul(pe,et)|0,A=Math.imul(pe,be),m=m+Math.imul(Ce,rt)|0,v=v+Math.imul(Ce,le)|0,v=v+Math.imul(ie,rt)|0,A=A+Math.imul(ie,le)|0,m=m+Math.imul(Fe,Ae)|0,v=v+Math.imul(Fe,ve)|0,v=v+Math.imul(oe,Ae)|0,A=A+Math.imul(oe,ve)|0,m=m+Math.imul(Ne,nt)|0,v=v+Math.imul(Ne,ye)|0,v=v+Math.imul(ce,nt)|0,A=A+Math.imul(ce,ye)|0,m=m+Math.imul(Re,xe)|0,v=v+Math.imul(Re,Ye)|0,v=v+Math.imul(ae,xe)|0,A=A+Math.imul(ae,Ye)|0;var Oi=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Oi>>>26)|0,Oi&=67108863,m=Math.imul(He,rt),v=Math.imul(He,le),v=v+Math.imul(pe,rt)|0,A=Math.imul(pe,le),m=m+Math.imul(Ce,Ae)|0,v=v+Math.imul(Ce,ve)|0,v=v+Math.imul(ie,Ae)|0,A=A+Math.imul(ie,ve)|0,m=m+Math.imul(Fe,nt)|0,v=v+Math.imul(Fe,ye)|0,v=v+Math.imul(oe,nt)|0,A=A+Math.imul(oe,ye)|0,m=m+Math.imul(Ne,xe)|0,v=v+Math.imul(Ne,Ye)|0,v=v+Math.imul(ce,xe)|0,A=A+Math.imul(ce,Ye)|0;var Pi=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,m=Math.imul(He,Ae),v=Math.imul(He,ve),v=v+Math.imul(pe,Ae)|0,A=Math.imul(pe,ve),m=m+Math.imul(Ce,nt)|0,v=v+Math.imul(Ce,ye)|0,v=v+Math.imul(ie,nt)|0,A=A+Math.imul(ie,ye)|0,m=m+Math.imul(Fe,xe)|0,v=v+Math.imul(Fe,Ye)|0,v=v+Math.imul(oe,xe)|0,A=A+Math.imul(oe,Ye)|0;var Ri=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,m=Math.imul(He,nt),v=Math.imul(He,ye),v=v+Math.imul(pe,nt)|0,A=Math.imul(pe,ye),m=m+Math.imul(Ce,xe)|0,v=v+Math.imul(Ce,Ye)|0,v=v+Math.imul(ie,xe)|0,A=A+Math.imul(ie,Ye)|0;var Vs=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Vs>>>26)|0,Vs&=67108863,m=Math.imul(He,xe),v=Math.imul(He,Ye),v=v+Math.imul(pe,xe)|0,A=Math.imul(pe,Ye);var Hs=(d+m|0)+((v&8191)<<13)|0;return d=(A+(v>>>13)|0)+(Hs>>>26)|0,Hs&=67108863,w[0]=ar,w[1]=fr,w[2]=cr,w[3]=hr,w[4]=wt,w[5]=xi,w[6]=Ei,w[7]=Si,w[8]=Mi,w[9]=Ii,w[10]=Pr,w[11]=Ai,w[12]=Di,w[13]=Wt,w[14]=Oi,w[15]=Pi,w[16]=Ri,w[17]=Vs,w[18]=Hs,d!==0&&(w[19]=d,b.length++),b};Math.imul||(T=$);function C(p,f,u){u.negative=f.negative^p.negative,u.length=p.length+f.length;for(var b=0,_=0,E=0;E<u.length-1;E++){var w=_;_=0;for(var d=b&67108863,m=Math.min(E,f.length-1),v=Math.max(0,E-p.length+1);v<=m;v++){var A=E-v,U=p.words[A]|0,x=f.words[v]|0,N=U*x,B=N&67108863;w=w+(N/67108864|0)|0,B=B+d|0,d=B&67108863,w=w+(B>>>26)|0,_+=w>>>26,w&=67108863}u.words[E]=d,b=w,w=_}return b!==0?u.words[E]=b:u.length--,u._strip()}function L(p,f,u){return C(p,f,u)}s.prototype.mulTo=function(f,u){var b,_=this.length+f.length;return this.length===10&&f.length===10?b=T(this,f,u):_<63?b=$(this,f,u):_<1024?b=C(this,f,u):b=L(this,f,u),b},s.prototype.mul=function(f){var u=new s(null);return u.words=new Array(this.length+f.length),this.mulTo(f,u)},s.prototype.mulf=function(f){var u=new s(null);return u.words=new Array(this.length+f.length),L(this,f,u)},s.prototype.imul=function(f){return this.clone().mulTo(f,this)},s.prototype.imuln=function(f){var u=f<0;u&&(f=-f),i(typeof f=="number"),i(f<67108864);for(var b=0,_=0;_<this.length;_++){var E=(this.words[_]|0)*f,w=(E&67108863)+(b&67108863);b>>=26,b+=E/67108864|0,b+=w>>>26,this.words[_]=w&67108863}return b!==0&&(this.words[_]=b,this.length++),u?this.ineg():this},s.prototype.muln=function(f){return this.clone().imuln(f)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(f){var u=R(f);if(u.length===0)return new s(1);for(var b=this,_=0;_<u.length&&u[_]===0;_++,b=b.sqr());if(++_<u.length)for(var E=b.sqr();_<u.length;_++,E=E.sqr())u[_]!==0&&(b=b.mul(E));return b},s.prototype.iushln=function(f){i(typeof f=="number"&&f>=0);var u=f%26,b=(f-u)/26,_=67108863>>>26-u<<26-u,E;if(u!==0){var w=0;for(E=0;E<this.length;E++){var d=this.words[E]&_,m=(this.words[E]|0)-d<<u;this.words[E]=m|w,w=d>>>26-u}w&&(this.words[E]=w,this.length++)}if(b!==0){for(E=this.length-1;E>=0;E--)this.words[E+b]=this.words[E];for(E=0;E<b;E++)this.words[E]=0;this.length+=b}return this._strip()},s.prototype.ishln=function(f){return i(this.negative===0),this.iushln(f)},s.prototype.iushrn=function(f,u,b){i(typeof f=="number"&&f>=0);var _;u?_=(u-u%26)/26:_=0;var E=f%26,w=Math.min((f-E)/26,this.length),d=67108863^67108863>>>E<<E,m=b;if(_-=w,_=Math.max(0,_),m){for(var v=0;v<w;v++)m.words[v]=this.words[v];m.length=w}if(w!==0)if(this.length>w)for(this.length-=w,v=0;v<this.length;v++)this.words[v]=this.words[v+w];else this.words[0]=0,this.length=1;var A=0;for(v=this.length-1;v>=0&&(A!==0||v>=_);v--){var U=this.words[v]|0;this.words[v]=A<<26-E|U>>>E,A=U&d}return m&&A!==0&&(m.words[m.length++]=A),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(f,u,b){return i(this.negative===0),this.iushrn(f,u,b)},s.prototype.shln=function(f){return this.clone().ishln(f)},s.prototype.ushln=function(f){return this.clone().iushln(f)},s.prototype.shrn=function(f){return this.clone().ishrn(f)},s.prototype.ushrn=function(f){return this.clone().iushrn(f)},s.prototype.testn=function(f){i(typeof f=="number"&&f>=0);var u=f%26,b=(f-u)/26,_=1<<u;if(this.length<=b)return!1;var E=this.words[b];return!!(E&_)},s.prototype.imaskn=function(f){i(typeof f=="number"&&f>=0);var u=f%26,b=(f-u)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=b)return this;if(u!==0&&b++,this.length=Math.min(b,this.length),u!==0){var _=67108863^67108863>>>u<<u;this.words[this.length-1]&=_}return this._strip()},s.prototype.maskn=function(f){return this.clone().imaskn(f)},s.prototype.iaddn=function(f){return i(typeof f=="number"),i(f<67108864),f<0?this.isubn(-f):this.negative!==0?this.length===1&&(this.words[0]|0)<=f?(this.words[0]=f-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(f),this.negative=1,this):this._iaddn(f)},s.prototype._iaddn=function(f){this.words[0]+=f;for(var u=0;u<this.length&&this.words[u]>=67108864;u++)this.words[u]-=67108864,u===this.length-1?this.words[u+1]=1:this.words[u+1]++;return this.length=Math.max(this.length,u+1),this},s.prototype.isubn=function(f){if(i(typeof f=="number"),i(f<67108864),f<0)return this.iaddn(-f);if(this.negative!==0)return this.negative=0,this.iaddn(f),this.negative=1,this;if(this.words[0]-=f,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var u=0;u<this.length&&this.words[u]<0;u++)this.words[u]+=67108864,this.words[u+1]-=1;return this._strip()},s.prototype.addn=function(f){return this.clone().iaddn(f)},s.prototype.subn=function(f){return this.clone().isubn(f)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(f,u,b){var _=f.length+b,E;this._expand(_);var w,d=0;for(E=0;E<f.length;E++){w=(this.words[E+b]|0)+d;var m=(f.words[E]|0)*u;w-=m&67108863,d=(w>>26)-(m/67108864|0),this.words[E+b]=w&67108863}for(;E<this.length-b;E++)w=(this.words[E+b]|0)+d,d=w>>26,this.words[E+b]=w&67108863;if(d===0)return this._strip();for(i(d===-1),d=0,E=0;E<this.length;E++)w=-(this.words[E]|0)+d,d=w>>26,this.words[E]=w&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(f,u){var b=this.length-f.length,_=this.clone(),E=f,w=E.words[E.length-1]|0,d=this._countBits(w);b=26-d,b!==0&&(E=E.ushln(b),_.iushln(b),w=E.words[E.length-1]|0);var m=_.length-E.length,v;if(u!=="mod"){v=new s(null),v.length=m+1,v.words=new Array(v.length);for(var A=0;A<v.length;A++)v.words[A]=0}var U=_.clone()._ishlnsubmul(E,1,m);U.negative===0&&(_=U,v&&(v.words[m]=1));for(var x=m-1;x>=0;x--){var N=(_.words[E.length+x]|0)*67108864+(_.words[E.length+x-1]|0);for(N=Math.min(N/w|0,67108863),_._ishlnsubmul(E,N,x);_.negative!==0;)N--,_.negative=0,_._ishlnsubmul(E,1,x),_.isZero()||(_.negative^=1);v&&(v.words[x]=N)}return v&&v._strip(),_._strip(),u!=="div"&&b!==0&&_.iushrn(b),{div:v||null,mod:_}},s.prototype.divmod=function(f,u,b){if(i(!f.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var _,E,w;return this.negative!==0&&f.negative===0?(w=this.neg().divmod(f,u),u!=="mod"&&(_=w.div.neg()),u!=="div"&&(E=w.mod.neg(),b&&E.negative!==0&&E.iadd(f)),{div:_,mod:E}):this.negative===0&&f.negative!==0?(w=this.divmod(f.neg(),u),u!=="mod"&&(_=w.div.neg()),{div:_,mod:w.mod}):this.negative&f.negative?(w=this.neg().divmod(f.neg(),u),u!=="div"&&(E=w.mod.neg(),b&&E.negative!==0&&E.isub(f)),{div:w.div,mod:E}):f.length>this.length||this.cmp(f)<0?{div:new s(0),mod:this}:f.length===1?u==="div"?{div:this.divn(f.words[0]),mod:null}:u==="mod"?{div:null,mod:new s(this.modrn(f.words[0]))}:{div:this.divn(f.words[0]),mod:new s(this.modrn(f.words[0]))}:this._wordDiv(f,u)},s.prototype.div=function(f){return this.divmod(f,"div",!1).div},s.prototype.mod=function(f){return this.divmod(f,"mod",!1).mod},s.prototype.umod=function(f){return this.divmod(f,"mod",!0).mod},s.prototype.divRound=function(f){var u=this.divmod(f);if(u.mod.isZero())return u.div;var b=u.div.negative!==0?u.mod.isub(f):u.mod,_=f.ushrn(1),E=f.andln(1),w=b.cmp(_);return w<0||E===1&&w===0?u.div:u.div.negative!==0?u.div.isubn(1):u.div.iaddn(1)},s.prototype.modrn=function(f){var u=f<0;u&&(f=-f),i(f<=67108863);for(var b=(1<<26)%f,_=0,E=this.length-1;E>=0;E--)_=(b*_+(this.words[E]|0))%f;return u?-_:_},s.prototype.modn=function(f){return this.modrn(f)},s.prototype.idivn=function(f){var u=f<0;u&&(f=-f),i(f<=67108863);for(var b=0,_=this.length-1;_>=0;_--){var E=(this.words[_]|0)+b*67108864;this.words[_]=E/f|0,b=E%f}return this._strip(),u?this.ineg():this},s.prototype.divn=function(f){return this.clone().idivn(f)},s.prototype.egcd=function(f){i(f.negative===0),i(!f.isZero());var u=this,b=f.clone();u.negative!==0?u=u.umod(f):u=u.clone();for(var _=new s(1),E=new s(0),w=new s(0),d=new s(1),m=0;u.isEven()&&b.isEven();)u.iushrn(1),b.iushrn(1),++m;for(var v=b.clone(),A=u.clone();!u.isZero();){for(var U=0,x=1;!(u.words[0]&x)&&U<26;++U,x<<=1);if(U>0)for(u.iushrn(U);U-- >0;)(_.isOdd()||E.isOdd())&&(_.iadd(v),E.isub(A)),_.iushrn(1),E.iushrn(1);for(var N=0,B=1;!(b.words[0]&B)&&N<26;++N,B<<=1);if(N>0)for(b.iushrn(N);N-- >0;)(w.isOdd()||d.isOdd())&&(w.iadd(v),d.isub(A)),w.iushrn(1),d.iushrn(1);u.cmp(b)>=0?(u.isub(b),_.isub(w),E.isub(d)):(b.isub(u),w.isub(_),d.isub(E))}return{a:w,b:d,gcd:b.iushln(m)}},s.prototype._invmp=function(f){i(f.negative===0),i(!f.isZero());var u=this,b=f.clone();u.negative!==0?u=u.umod(f):u=u.clone();for(var _=new s(1),E=new s(0),w=b.clone();u.cmpn(1)>0&&b.cmpn(1)>0;){for(var d=0,m=1;!(u.words[0]&m)&&d<26;++d,m<<=1);if(d>0)for(u.iushrn(d);d-- >0;)_.isOdd()&&_.iadd(w),_.iushrn(1);for(var v=0,A=1;!(b.words[0]&A)&&v<26;++v,A<<=1);if(v>0)for(b.iushrn(v);v-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);u.cmp(b)>=0?(u.isub(b),_.isub(E)):(b.isub(u),E.isub(_))}var U;return u.cmpn(1)===0?U=_:U=E,U.cmpn(0)<0&&U.iadd(f),U},s.prototype.gcd=function(f){if(this.isZero())return f.abs();if(f.isZero())return this.abs();var u=this.clone(),b=f.clone();u.negative=0,b.negative=0;for(var _=0;u.isEven()&&b.isEven();_++)u.iushrn(1),b.iushrn(1);do{for(;u.isEven();)u.iushrn(1);for(;b.isEven();)b.iushrn(1);var E=u.cmp(b);if(E<0){var w=u;u=b,b=w}else if(E===0||b.cmpn(1)===0)break;u.isub(b)}while(!0);return b.iushln(_)},s.prototype.invm=function(f){return this.egcd(f).a.umod(f)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(f){return this.words[0]&f},s.prototype.bincn=function(f){i(typeof f=="number");var u=f%26,b=(f-u)/26,_=1<<u;if(this.length<=b)return this._expand(b+1),this.words[b]|=_,this;for(var E=_,w=b;E!==0&&w<this.length;w++){var d=this.words[w]|0;d+=E,E=d>>>26,d&=67108863,this.words[w]=d}return E!==0&&(this.words[w]=E,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(f){var u=f<0;if(this.negative!==0&&!u)return-1;if(this.negative===0&&u)return 1;this._strip();var b;if(this.length>1)b=1;else{u&&(f=-f),i(f<=67108863,"Number is too big");var _=this.words[0]|0;b=_===f?0:_<f?-1:1}return this.negative!==0?-b|0:b},s.prototype.cmp=function(f){if(this.negative!==0&&f.negative===0)return-1;if(this.negative===0&&f.negative!==0)return 1;var u=this.ucmp(f);return this.negative!==0?-u|0:u},s.prototype.ucmp=function(f){if(this.length>f.length)return 1;if(this.length<f.length)return-1;for(var u=0,b=this.length-1;b>=0;b--){var _=this.words[b]|0,E=f.words[b]|0;if(_!==E){_<E?u=-1:_>E&&(u=1);break}}return u},s.prototype.gtn=function(f){return this.cmpn(f)===1},s.prototype.gt=function(f){return this.cmp(f)===1},s.prototype.gten=function(f){return this.cmpn(f)>=0},s.prototype.gte=function(f){return this.cmp(f)>=0},s.prototype.ltn=function(f){return this.cmpn(f)===-1},s.prototype.lt=function(f){return this.cmp(f)===-1},s.prototype.lten=function(f){return this.cmpn(f)<=0},s.prototype.lte=function(f){return this.cmp(f)<=0},s.prototype.eqn=function(f){return this.cmpn(f)===0},s.prototype.eq=function(f){return this.cmp(f)===0},s.red=function(f){return new O(f)},s.prototype.toRed=function(f){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),f.convertTo(this)._forceRed(f)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(f){return this.red=f,this},s.prototype.forceRed=function(f){return i(!this.red,"Already a number in reduction context"),this._forceRed(f)},s.prototype.redAdd=function(f){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,f)},s.prototype.redIAdd=function(f){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,f)},s.prototype.redSub=function(f){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,f)},s.prototype.redISub=function(f){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,f)},s.prototype.redShl=function(f){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,f)},s.prototype.redMul=function(f){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.mul(this,f)},s.prototype.redIMul=function(f){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.imul(this,f)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(f){return i(this.red&&!f.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,f)};var k={k256:null,p224:null,p192:null,p25519:null};function j(p,f){this.name=p,this.p=new s(f,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}j.prototype._tmp=function(){var f=new s(null);return f.words=new Array(Math.ceil(this.n/13)),f},j.prototype.ireduce=function(f){var u=f,b;do this.split(u,this.tmp),u=this.imulK(u),u=u.iadd(this.tmp),b=u.bitLength();while(b>this.n);var _=b<this.n?-1:u.ucmp(this.p);return _===0?(u.words[0]=0,u.length=1):_>0?u.isub(this.p):u.strip!==void 0?u.strip():u._strip(),u},j.prototype.split=function(f,u){f.iushrn(this.n,0,u)},j.prototype.imulK=function(f){return f.imul(this.k)};function G(){j.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(G,j),G.prototype.split=function(f,u){for(var b=4194303,_=Math.min(f.length,9),E=0;E<_;E++)u.words[E]=f.words[E];if(u.length=_,f.length<=9){f.words[0]=0,f.length=1;return}var w=f.words[9];for(u.words[u.length++]=w&b,E=10;E<f.length;E++){var d=f.words[E]|0;f.words[E-10]=(d&b)<<4|w>>>22,w=d}w>>>=22,f.words[E-10]=w,w===0&&f.length>10?f.length-=10:f.length-=9},G.prototype.imulK=function(f){f.words[f.length]=0,f.words[f.length+1]=0,f.length+=2;for(var u=0,b=0;b<f.length;b++){var _=f.words[b]|0;u+=_*977,f.words[b]=u&67108863,u=_*64+(u/67108864|0)}return f.words[f.length-1]===0&&(f.length--,f.words[f.length-1]===0&&f.length--),f};function K(){j.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(K,j);function V(){j.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(V,j);function re(){j.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(re,j),re.prototype.imulK=function(f){for(var u=0,b=0;b<f.length;b++){var _=(f.words[b]|0)*19+u,E=_&67108863;_>>>=26,f.words[b]=E,u=_}return u!==0&&(f.words[f.length++]=u),f},s._prime=function(f){if(k[f])return k[f];var u;if(f==="k256")u=new G;else if(f==="p224")u=new K;else if(f==="p192")u=new V;else if(f==="p25519")u=new re;else throw new Error("Unknown prime "+f);return k[f]=u,u};function O(p){if(typeof p=="string"){var f=s._prime(p);this.m=f.p,this.prime=f}else i(p.gtn(1),"modulus must be greater than 1"),this.m=p,this.prime=null}O.prototype._verify1=function(f){i(f.negative===0,"red works only with positives"),i(f.red,"red works only with red numbers")},O.prototype._verify2=function(f,u){i((f.negative|u.negative)===0,"red works only with positives"),i(f.red&&f.red===u.red,"red works only with red numbers")},O.prototype.imod=function(f){return this.prime?this.prime.ireduce(f)._forceRed(this):(l(f,f.umod(this.m)._forceRed(this)),f)},O.prototype.neg=function(f){return f.isZero()?f.clone():this.m.sub(f)._forceRed(this)},O.prototype.add=function(f,u){this._verify2(f,u);var b=f.add(u);return b.cmp(this.m)>=0&&b.isub(this.m),b._forceRed(this)},O.prototype.iadd=function(f,u){this._verify2(f,u);var b=f.iadd(u);return b.cmp(this.m)>=0&&b.isub(this.m),b},O.prototype.sub=function(f,u){this._verify2(f,u);var b=f.sub(u);return b.cmpn(0)<0&&b.iadd(this.m),b._forceRed(this)},O.prototype.isub=function(f,u){this._verify2(f,u);var b=f.isub(u);return b.cmpn(0)<0&&b.iadd(this.m),b},O.prototype.shl=function(f,u){return this._verify1(f),this.imod(f.ushln(u))},O.prototype.imul=function(f,u){return this._verify2(f,u),this.imod(f.imul(u))},O.prototype.mul=function(f,u){return this._verify2(f,u),this.imod(f.mul(u))},O.prototype.isqr=function(f){return this.imul(f,f.clone())},O.prototype.sqr=function(f){return this.mul(f,f)},O.prototype.sqrt=function(f){if(f.isZero())return f.clone();var u=this.m.andln(3);if(i(u%2===1),u===3){var b=this.m.add(new s(1)).iushrn(2);return this.pow(f,b)}for(var _=this.m.subn(1),E=0;!_.isZero()&&_.andln(1)===0;)E++,_.iushrn(1);i(!_.isZero());var w=new s(1).toRed(this),d=w.redNeg(),m=this.m.subn(1).iushrn(1),v=this.m.bitLength();for(v=new s(2*v*v).toRed(this);this.pow(v,m).cmp(d)!==0;)v.redIAdd(d);for(var A=this.pow(v,_),U=this.pow(f,_.addn(1).iushrn(1)),x=this.pow(f,_),N=E;x.cmp(w)!==0;){for(var B=x,q=0;B.cmp(w)!==0;q++)B=B.redSqr();i(q<N);var z=this.pow(A,new s(1).iushln(N-q-1));U=U.redMul(z),A=z.redSqr(),x=x.redMul(A),N=q}return U},O.prototype.invm=function(f){var u=f._invmp(this.m);return u.negative!==0?(u.negative=0,this.imod(u).redNeg()):this.imod(u)},O.prototype.pow=function(f,u){if(u.isZero())return new s(1).toRed(this);if(u.cmpn(1)===0)return f.clone();var b=4,_=new Array(1<<b);_[0]=new s(1).toRed(this),_[1]=f;for(var E=2;E<_.length;E++)_[E]=this.mul(_[E-1],f);var w=_[0],d=0,m=0,v=u.bitLength()%26;for(v===0&&(v=26),E=u.length-1;E>=0;E--){for(var A=u.words[E],U=v-1;U>=0;U--){var x=A>>U&1;if(w!==_[0]&&(w=this.sqr(w)),x===0&&d===0){m=0;continue}d<<=1,d|=x,m++,!(m!==b&&(E!==0||U!==0))&&(w=this.mul(w,_[d]),m=0,d=0)}v=26}return w},O.prototype.convertTo=function(f){var u=f.umod(this.m);return u===f?u.clone():u},O.prototype.convertFrom=function(f){var u=f.clone();return u.red=null,u},s.mont=function(f){return new g(f)};function g(p){O.call(this,p),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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(g,O),g.prototype.convertTo=function(f){return this.imod(f.ushln(this.shift))},g.prototype.convertFrom=function(f){var u=this.imod(f.mul(this.rinv));return u.red=null,u},g.prototype.imul=function(f,u){if(f.isZero()||u.isZero())return f.words[0]=0,f.length=1,f;var b=f.imul(u),_=b.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),E=b.isub(_).iushrn(this.shift),w=E;return E.cmp(this.m)>=0?w=E.isub(this.m):E.cmpn(0)<0&&(w=E.iadd(this.m)),w._forceRed(this)},g.prototype.mul=function(f,u){if(f.isZero()||u.isZero())return new s(0)._forceRed(this);var b=f.mul(u),_=b.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),E=b.isub(_).iushrn(this.shift),w=E;return E.cmp(this.m)>=0?w=E.isub(this.m):E.cmpn(0)<0&&(w=E.iadd(this.m)),w._forceRed(this)},g.prototype.invm=function(f){var u=this.imod(f._invmp(this.m).mul(this.r2));return u._forceRed(this)}})(t,Nt)})(gu);var me=gu.exports;const bu="bignumber/5.7.0";var vo=me.BN;const hi=new Ee(bu),ef={},vu=9007199254740991;function qy(t){return t!=null&&(lt.isBigNumber(t)||typeof t=="number"&&t%1===0||typeof t=="string"&&!!t.match(/^-?[0-9]+$/)||ur(t)||typeof t=="bigint"||Nn(t))}let yu=!1;class lt{constructor(e,r){e!==ef&&hi.throwError("cannot call constructor directly; use BigNumber.from",Ee.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return ir(Me(this).fromTwos(e))}toTwos(e){return ir(Me(this).toTwos(e))}abs(){return this._hex[0]==="-"?lt.from(this._hex.substring(1)):this}add(e){return ir(Me(this).add(Me(e)))}sub(e){return ir(Me(this).sub(Me(e)))}div(e){return lt.from(e).isZero()&&mr("division-by-zero","div"),ir(Me(this).div(Me(e)))}mul(e){return ir(Me(this).mul(Me(e)))}mod(e){const r=Me(e);return r.isNeg()&&mr("division-by-zero","mod"),ir(Me(this).umod(r))}pow(e){const r=Me(e);return r.isNeg()&&mr("negative-power","pow"),ir(Me(this).pow(r))}and(e){const r=Me(e);return(this.isNegative()||r.isNeg())&&mr("unbound-bitwise-result","and"),ir(Me(this).and(r))}or(e){const r=Me(e);return(this.isNegative()||r.isNeg())&&mr("unbound-bitwise-result","or"),ir(Me(this).or(r))}xor(e){const r=Me(e);return(this.isNegative()||r.isNeg())&&mr("unbound-bitwise-result","xor"),ir(Me(this).xor(r))}mask(e){return(this.isNegative()||e<0)&&mr("negative-width","mask"),ir(Me(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&mr("negative-width","shl"),ir(Me(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&mr("negative-width","shr"),ir(Me(this).shrn(e))}eq(e){return Me(this).eq(Me(e))}lt(e){return Me(this).lt(Me(e))}lte(e){return Me(this).lte(Me(e))}gt(e){return Me(this).gt(Me(e))}gte(e){return Me(this).gte(Me(e))}isNegative(){return this._hex[0]==="-"}isZero(){return Me(this).isZero()}toNumber(){try{return Me(this).toNumber()}catch{mr("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return hi.throwError("this platform does not support BigInt",Ee.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?yu||(yu=!0,hi.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?hi.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",Ee.errors.UNEXPECTED_ARGUMENT,{}):hi.throwError("BigNumber.toString does not accept parameters",Ee.errors.UNEXPECTED_ARGUMENT,{})),Me(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof lt)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new lt(ef,ps(e)):e.match(/^-?[0-9]+$/)?new lt(ef,ps(new vo(e))):hi.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&mr("underflow","BigNumber.from",e),(e>=vu||e<=-vu)&&mr("overflow","BigNumber.from",e),lt.from(String(e));const r=e;if(typeof r=="bigint")return lt.from(r.toString());if(Nn(r))return lt.from(Yt(r));if(r)if(r.toHexString){const i=r.toHexString();if(typeof i=="string")return lt.from(i)}else{let i=r._hex;if(i==null&&r.type==="BigNumber"&&(i=r.hex),typeof i=="string"&&(ur(i)||i[0]==="-"&&ur(i.substring(1))))return lt.from(i)}return hi.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}}function ps(t){if(typeof t!="string")return ps(t.toString(16));if(t[0]==="-")return t=t.substring(1),t[0]==="-"&&hi.throwArgumentError("invalid hex","value",t),t=ps(t),t==="0x00"?t:"-"+t;if(t.substring(0,2)!=="0x"&&(t="0x"+t),t==="0x")return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&t.substring(0,4)==="0x00";)t="0x"+t.substring(4);return t}function ir(t){return lt.from(ps(t))}function Me(t){const e=lt.from(t).toHexString();return e[0]==="-"?new vo("-"+e.substring(3),16):new vo(e.substring(2),16)}function mr(t,e,r){const i={fault:t,operation:e};return r!=null&&(i.value=r),hi.throwError(t,Ee.errors.NUMERIC_FAULT,i)}function Uy(t){return new vo(t,36).toString(16)}const Xt=new Ee(bu),gs={},mu=lt.from(0),wu=lt.from(-1);function _u(t,e,r,i){const n={fault:e,operation:r};return i!==void 0&&(n.value=i),Xt.throwError(t,Ee.errors.NUMERIC_FAULT,n)}let bs="0";for(;bs.length<256;)bs+=bs;function tf(t){if(typeof t!="number")try{t=lt.from(t).toNumber()}catch{}return typeof t=="number"&&t>=0&&t<=256&&!(t%1)?"1"+bs.substring(0,t):Xt.throwArgumentError("invalid decimal size","decimals",t)}function rf(t,e){e==null&&(e=0);const r=tf(e);t=lt.from(t);const i=t.lt(mu);i&&(t=t.mul(wu));let n=t.mod(r).toString();for(;n.length<r.length-1;)n="0"+n;n=n.match(/^([0-9]*[1-9]|0)(0*)/)[1];const s=t.div(r).toString();return r.length===1?t=s:t=s+"."+n,i&&(t="-"+t),t}function ui(t,e){e==null&&(e=0);const r=tf(e);(typeof t!="string"||!t.match(/^-?[0-9.]+$/))&&Xt.throwArgumentError("invalid decimal value","value",t);const i=t.substring(0,1)==="-";i&&(t=t.substring(1)),t==="."&&Xt.throwArgumentError("missing value","value",t);const n=t.split(".");n.length>2&&Xt.throwArgumentError("too many decimal points","value",t);let s=n[0],o=n[1];for(s||(s="0"),o||(o="0");o[o.length-1]==="0";)o=o.substring(0,o.length-1);for(o.length>r.length-1&&_u("fractional component exceeds decimals","underflow","parseFixed"),o===""&&(o="0");o.length<r.length-1;)o+="0";const a=lt.from(s),c=lt.from(o);let h=a.mul(r).add(c);return i&&(h=h.mul(wu)),h}class Tn{constructor(e,r,i,n){e!==gs&&Xt.throwError("cannot use FixedFormat constructor; use FixedFormat.from",Ee.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=r,this.width=i,this.decimals=n,this.name=(r?"":"u")+"fixed"+String(i)+"x"+String(n),this._multiplier=tf(n),Object.freeze(this)}static from(e){if(e instanceof Tn)return e;typeof e=="number"&&(e=`fixed128x${e}`);let r=!0,i=128,n=18;if(typeof e=="string"){if(e!=="fixed")if(e==="ufixed")r=!1;else{const s=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);s||Xt.throwArgumentError("invalid fixed format","format",e),r=s[1]!=="u",i=parseInt(s[2]),n=parseInt(s[3])}}else if(e){const s=(o,a,c)=>e[o]==null?c:(typeof e[o]!==a&&Xt.throwArgumentError("invalid fixed format ("+o+" not "+a+")","format."+o,e[o]),e[o]);r=s("signed","boolean",r),i=s("width","number",i),n=s("decimals","number",n)}return i%8&&Xt.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",i),n>80&&Xt.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new Tn(gs,r,i,n)}}class Ft{constructor(e,r,i,n){e!==gs&&Xt.throwError("cannot use FixedNumber constructor; use FixedNumber.from",Ee.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=n,this._hex=r,this._value=i,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&Xt.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const r=ui(this._value,this.format.decimals),i=ui(e._value,e.format.decimals);return Ft.fromValue(r.add(i),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const r=ui(this._value,this.format.decimals),i=ui(e._value,e.format.decimals);return Ft.fromValue(r.sub(i),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const r=ui(this._value,this.format.decimals),i=ui(e._value,e.format.decimals);return Ft.fromValue(r.mul(i).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const r=ui(this._value,this.format.decimals),i=ui(e._value,e.format.decimals);return Ft.fromValue(r.mul(this.format._multiplier).div(i),this.format.decimals,this.format)}floor(){const e=this.toString().split(".");e.length===1&&e.push("0");let r=Ft.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return this.isNegative()&&i&&(r=r.subUnsafe(xu.toFormat(r.format))),r}ceiling(){const e=this.toString().split(".");e.length===1&&e.push("0");let r=Ft.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return!this.isNegative()&&i&&(r=r.addUnsafe(xu.toFormat(r.format))),r}round(e){e==null&&(e=0);const r=this.toString().split(".");if(r.length===1&&r.push("0"),(e<0||e>80||e%1)&&Xt.throwArgumentError("invalid decimal count","decimals",e),r[1].length<=e)return this;const i=Ft.from("1"+bs.substring(0,e),this.format),n=zy.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&&Xt.throwArgumentError("invalid byte width","width",e);const r=lt.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return Fi(r,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return Ft.fromString(this._value,e)}static fromValue(e,r,i){return i==null&&r!=null&&!qy(r)&&(i=r,r=null),r==null&&(r=0),i==null&&(i="fixed"),Ft.fromString(rf(e,r),Tn.from(i))}static fromString(e,r){r==null&&(r="fixed");const i=Tn.from(r),n=ui(e,i.decimals);!i.signed&&n.lt(mu)&&_u("unsigned value cannot be negative","overflow","value",e);let s=null;i.signed?s=n.toTwos(i.width).toHexString():(s=n.toHexString(),s=Fi(s,i.width/8));const o=rf(n,i.decimals);return new Ft(gs,s,o,i)}static fromBytes(e,r){r==null&&(r="fixed");const i=Tn.from(r);if(xt(e).length>i.width/8)throw new Error("overflow");let n=lt.from(e);i.signed&&(n=n.fromTwos(i.width));const s=n.toTwos((i.signed?0:1)+i.width).toHexString(),o=rf(n,i.decimals);return new Ft(gs,s,o,i)}static from(e,r){if(typeof e=="string")return Ft.fromString(e,r);if(Nn(e))return Ft.fromBytes(e,r);try{return Ft.fromValue(e,0,r)}catch(i){if(i.code!==Ee.errors.INVALID_ARGUMENT)throw i}return Xt.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}}const xu=Ft.from(1),zy=Ft.from("0.5");var Eu={exports:{}};/**
|
15
15
|
* [js-sha3]{@link https://github.com/emn178/js-sha3}
|
16
16
|
*
|
17
17
|
* @version 0.8.0
|
18
18
|
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
19
19
|
* @copyright Chen, Yi-Cyuan 2015-2018
|
20
20
|
* @license MIT
|
21
|
-
*/(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 s=!i&&typeof self=="object",o=!n.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;o?n=Wt:s&&(n=self);var a=!n.JS_SHA3_NO_COMMON_JS&&!0&&r.exports,c=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",u="0123456789abcdef".split(""),l=[31,7936,2031616,520093696],v=[4,1024,262144,67108864],A=[1,256,65536,16777216],M=[6,1536,393216,100663296],I=[0,8,16,24],N=[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],C=[224,256,384,512],P=[128,256],U=["hex","buffer","arrayBuffer","array","digest"],k={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(S){return Object.prototype.toString.call(S)==="[object Array]"}),c&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(S){return typeof S=="object"&&S.buffer&&S.buffer.constructor===ArrayBuffer});for(var W=function(S,z,K){return function(q){return new m(S,z,S).update(q)[K]()}},T=function(S,z,K){return function(q,F){return new m(S,z,F).update(q)[K]()}},J=function(S,z,K){return function(q,F,V,L){return f["cshake"+S].update(q,F,V,L)[K]()}},_=function(S,z,K){return function(q,F,V,L){return f["kmac"+S].update(q,F,V,L)[K]()}},X=function(S,z,K,q){for(var F=0;F<U.length;++F){var V=U[F];S[V]=z(K,q,V)}return S},G=function(S,z){var K=W(S,z,"hex");return K.create=function(){return new m(S,z,S)},K.update=function(q){return K.create().update(q)},X(K,W,S,z)},fe=function(S,z){var K=T(S,z,"hex");return K.create=function(q){return new m(S,z,q)},K.update=function(q,F){return K.create(F).update(q)},X(K,T,S,z)},D=function(S,z){var K=k[S],q=J(S,z,"hex");return q.create=function(F,V,L){return!V&&!L?f["shake"+S].create(F):new m(S,z,F).bytepad([V,L],K)},q.update=function(F,V,L,j){return q.create(V,L,j).update(F)},X(q,J,S,z)},b=function(S,z){var K=k[S],q=_(S,z,"hex");return q.create=function(F,V,L){return new O(S,z,V).bytepad(["KMAC",L],K).bytepad([F],K)},q.update=function(F,V,L,j){return q.create(F,L,j).update(V)},X(q,_,S,z)},p=[{name:"keccak",padding:A,bits:C,createMethod:G},{name:"sha3",padding:M,bits:C,createMethod:G},{name:"shake",padding:l,bits:P,createMethod:fe},{name:"cshake",padding:v,bits:P,createMethod:D},{name:"kmac",padding:v,bits:P,createMethod:b}],f={},h=[],g=0;g<p.length;++g)for(var x=p[g],E=x.bits,w=0;w<E.length;++w){var d=x.name+"_"+E[w];if(h.push(d),f[d]=x.createMethod(E[w],x.padding),x.name!=="sha3"){var y=x.name+E[w];h.push(y),f[y]=f[d]}}function m(S,z,K){this.blocks=[],this.s=[],this.padding=z,this.outputBits=K,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(S<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=K>>5,this.extraBytes=(K&31)>>3;for(var q=0;q<50;++q)this.s[q]=0}m.prototype.update=function(S){if(this.finalized)throw new Error(t);var z,K=typeof S;if(K!=="string"){if(K==="object"){if(S===null)throw new Error(e);if(c&&S.constructor===ArrayBuffer)S=new Uint8Array(S);else if(!Array.isArray(S)&&(!c||!ArrayBuffer.isView(S)))throw new Error(e)}else throw new Error(e);z=!0}for(var q=this.blocks,F=this.byteCount,V=S.length,L=this.blockCount,j=0,ee=this.s,H,Z;j<V;){if(this.reset)for(this.reset=!1,q[0]=this.block,H=1;H<L+1;++H)q[H]=0;if(z)for(H=this.start;j<V&&H<F;++j)q[H>>2]|=S[j]<<I[H++&3];else for(H=this.start;j<V&&H<F;++j)Z=S.charCodeAt(j),Z<128?q[H>>2]|=Z<<I[H++&3]:Z<2048?(q[H>>2]|=(192|Z>>6)<<I[H++&3],q[H>>2]|=(128|Z&63)<<I[H++&3]):Z<55296||Z>=57344?(q[H>>2]|=(224|Z>>12)<<I[H++&3],q[H>>2]|=(128|Z>>6&63)<<I[H++&3],q[H>>2]|=(128|Z&63)<<I[H++&3]):(Z=65536+((Z&1023)<<10|S.charCodeAt(++j)&1023),q[H>>2]|=(240|Z>>18)<<I[H++&3],q[H>>2]|=(128|Z>>12&63)<<I[H++&3],q[H>>2]|=(128|Z>>6&63)<<I[H++&3],q[H>>2]|=(128|Z&63)<<I[H++&3]);if(this.lastByteIndex=H,H>=F){for(this.start=H-F,this.block=q[L],H=0;H<L;++H)ee[H]^=q[H];Y(ee),this.reset=!0}else this.start=H}return this},m.prototype.encode=function(S,z){var K=S&255,q=1,F=[K];for(S=S>>8,K=S&255;K>0;)F.unshift(K),S=S>>8,K=S&255,++q;return z?F.push(q):F.unshift(q),this.update(F),F.length},m.prototype.encodeString=function(S){var z,K=typeof S;if(K!=="string"){if(K==="object"){if(S===null)throw new Error(e);if(c&&S.constructor===ArrayBuffer)S=new Uint8Array(S);else if(!Array.isArray(S)&&(!c||!ArrayBuffer.isView(S)))throw new Error(e)}else throw new Error(e);z=!0}var q=0,F=S.length;if(z)q=F;else for(var V=0;V<S.length;++V){var L=S.charCodeAt(V);L<128?q+=1:L<2048?q+=2:L<55296||L>=57344?q+=3:(L=65536+((L&1023)<<10|S.charCodeAt(++V)&1023),q+=4)}return q+=this.encode(q*8),this.update(S),q},m.prototype.bytepad=function(S,z){for(var K=this.encode(z),q=0;q<S.length;++q)K+=this.encodeString(S[q]);var F=z-K%z,V=[];return V.length=F,this.update(V),this},m.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var S=this.blocks,z=this.lastByteIndex,K=this.blockCount,q=this.s;if(S[z>>2]|=this.padding[z&3],this.lastByteIndex===this.byteCount)for(S[0]=S[K],z=1;z<K+1;++z)S[z]=0;for(S[K-1]|=2147483648,z=0;z<K;++z)q[z]^=S[z];Y(q)}},m.prototype.toString=m.prototype.hex=function(){this.finalize();for(var S=this.blockCount,z=this.s,K=this.outputBlocks,q=this.extraBytes,F=0,V=0,L="",j;V<K;){for(F=0;F<S&&V<K;++F,++V)j=z[F],L+=u[j>>4&15]+u[j&15]+u[j>>12&15]+u[j>>8&15]+u[j>>20&15]+u[j>>16&15]+u[j>>28&15]+u[j>>24&15];V%S===0&&(Y(z),F=0)}return q&&(j=z[F],L+=u[j>>4&15]+u[j&15],q>1&&(L+=u[j>>12&15]+u[j>>8&15]),q>2&&(L+=u[j>>20&15]+u[j>>16&15])),L},m.prototype.arrayBuffer=function(){this.finalize();var S=this.blockCount,z=this.s,K=this.outputBlocks,q=this.extraBytes,F=0,V=0,L=this.outputBits>>3,j;q?j=new ArrayBuffer(K+1<<2):j=new ArrayBuffer(L);for(var ee=new Uint32Array(j);V<K;){for(F=0;F<S&&V<K;++F,++V)ee[V]=z[F];V%S===0&&Y(z)}return q&&(ee[F]=z[F],j=j.slice(0,L)),j},m.prototype.buffer=m.prototype.arrayBuffer,m.prototype.digest=m.prototype.array=function(){this.finalize();for(var S=this.blockCount,z=this.s,K=this.outputBlocks,q=this.extraBytes,F=0,V=0,L=[],j,ee;V<K;){for(F=0;F<S&&V<K;++F,++V)j=V<<2,ee=z[F],L[j]=ee&255,L[j+1]=ee>>8&255,L[j+2]=ee>>16&255,L[j+3]=ee>>24&255;V%S===0&&Y(z)}return q&&(j=V<<2,ee=z[F],L[j]=ee&255,q>1&&(L[j+1]=ee>>8&255),q>2&&(L[j+2]=ee>>16&255)),L};function O(S,z,K){m.call(this,S,z,K)}O.prototype=new m,O.prototype.finalize=function(){return this.encode(this.outputBits,!0),m.prototype.finalize.call(this)};var Y=function(S){var z,K,q,F,V,L,j,ee,H,Z,he,se,Q,le,Me,de,De,Ne,ce,Oe,Re,te,Xe,ke,oe,et,qe,ge,Te,Ke,we,Be,Ge,ve,tt,st,xe,Qe,je,Ee,_e,Je,ye,ot,rt,Ae,it,nt,me,He,Ce,Ie,at,ft,Se,Ze,Fe,$e,Vt,ut,dt,wt,mt;for(q=0;q<48;q+=2)F=S[0]^S[10]^S[20]^S[30]^S[40],V=S[1]^S[11]^S[21]^S[31]^S[41],L=S[2]^S[12]^S[22]^S[32]^S[42],j=S[3]^S[13]^S[23]^S[33]^S[43],ee=S[4]^S[14]^S[24]^S[34]^S[44],H=S[5]^S[15]^S[25]^S[35]^S[45],Z=S[6]^S[16]^S[26]^S[36]^S[46],he=S[7]^S[17]^S[27]^S[37]^S[47],se=S[8]^S[18]^S[28]^S[38]^S[48],Q=S[9]^S[19]^S[29]^S[39]^S[49],z=se^(L<<1|j>>>31),K=Q^(j<<1|L>>>31),S[0]^=z,S[1]^=K,S[10]^=z,S[11]^=K,S[20]^=z,S[21]^=K,S[30]^=z,S[31]^=K,S[40]^=z,S[41]^=K,z=F^(ee<<1|H>>>31),K=V^(H<<1|ee>>>31),S[2]^=z,S[3]^=K,S[12]^=z,S[13]^=K,S[22]^=z,S[23]^=K,S[32]^=z,S[33]^=K,S[42]^=z,S[43]^=K,z=L^(Z<<1|he>>>31),K=j^(he<<1|Z>>>31),S[4]^=z,S[5]^=K,S[14]^=z,S[15]^=K,S[24]^=z,S[25]^=K,S[34]^=z,S[35]^=K,S[44]^=z,S[45]^=K,z=ee^(se<<1|Q>>>31),K=H^(Q<<1|se>>>31),S[6]^=z,S[7]^=K,S[16]^=z,S[17]^=K,S[26]^=z,S[27]^=K,S[36]^=z,S[37]^=K,S[46]^=z,S[47]^=K,z=Z^(F<<1|V>>>31),K=he^(V<<1|F>>>31),S[8]^=z,S[9]^=K,S[18]^=z,S[19]^=K,S[28]^=z,S[29]^=K,S[38]^=z,S[39]^=K,S[48]^=z,S[49]^=K,le=S[0],Me=S[1],Ae=S[11]<<4|S[10]>>>28,it=S[10]<<4|S[11]>>>28,ge=S[20]<<3|S[21]>>>29,Te=S[21]<<3|S[20]>>>29,ut=S[31]<<9|S[30]>>>23,dt=S[30]<<9|S[31]>>>23,Je=S[40]<<18|S[41]>>>14,ye=S[41]<<18|S[40]>>>14,ve=S[2]<<1|S[3]>>>31,tt=S[3]<<1|S[2]>>>31,de=S[13]<<12|S[12]>>>20,De=S[12]<<12|S[13]>>>20,nt=S[22]<<10|S[23]>>>22,me=S[23]<<10|S[22]>>>22,Ke=S[33]<<13|S[32]>>>19,we=S[32]<<13|S[33]>>>19,wt=S[42]<<2|S[43]>>>30,mt=S[43]<<2|S[42]>>>30,ft=S[5]<<30|S[4]>>>2,Se=S[4]<<30|S[5]>>>2,st=S[14]<<6|S[15]>>>26,xe=S[15]<<6|S[14]>>>26,Ne=S[25]<<11|S[24]>>>21,ce=S[24]<<11|S[25]>>>21,He=S[34]<<15|S[35]>>>17,Ce=S[35]<<15|S[34]>>>17,Be=S[45]<<29|S[44]>>>3,Ge=S[44]<<29|S[45]>>>3,ke=S[6]<<28|S[7]>>>4,oe=S[7]<<28|S[6]>>>4,Ze=S[17]<<23|S[16]>>>9,Fe=S[16]<<23|S[17]>>>9,Qe=S[26]<<25|S[27]>>>7,je=S[27]<<25|S[26]>>>7,Oe=S[36]<<21|S[37]>>>11,Re=S[37]<<21|S[36]>>>11,Ie=S[47]<<24|S[46]>>>8,at=S[46]<<24|S[47]>>>8,ot=S[8]<<27|S[9]>>>5,rt=S[9]<<27|S[8]>>>5,et=S[18]<<20|S[19]>>>12,qe=S[19]<<20|S[18]>>>12,$e=S[29]<<7|S[28]>>>25,Vt=S[28]<<7|S[29]>>>25,Ee=S[38]<<8|S[39]>>>24,_e=S[39]<<8|S[38]>>>24,te=S[48]<<14|S[49]>>>18,Xe=S[49]<<14|S[48]>>>18,S[0]=le^~de&Ne,S[1]=Me^~De&ce,S[10]=ke^~et&ge,S[11]=oe^~qe&Te,S[20]=ve^~st&Qe,S[21]=tt^~xe&je,S[30]=ot^~Ae&nt,S[31]=rt^~it&me,S[40]=ft^~Ze&$e,S[41]=Se^~Fe&Vt,S[2]=de^~Ne&Oe,S[3]=De^~ce&Re,S[12]=et^~ge&Ke,S[13]=qe^~Te&we,S[22]=st^~Qe&Ee,S[23]=xe^~je&_e,S[32]=Ae^~nt&He,S[33]=it^~me&Ce,S[42]=Ze^~$e&ut,S[43]=Fe^~Vt&dt,S[4]=Ne^~Oe&te,S[5]=ce^~Re&Xe,S[14]=ge^~Ke&Be,S[15]=Te^~we&Ge,S[24]=Qe^~Ee&Je,S[25]=je^~_e&ye,S[34]=nt^~He&Ie,S[35]=me^~Ce&at,S[44]=$e^~ut&wt,S[45]=Vt^~dt&mt,S[6]=Oe^~te&le,S[7]=Re^~Xe&Me,S[16]=Ke^~Be&ke,S[17]=we^~Ge&oe,S[26]=Ee^~Je&ve,S[27]=_e^~ye&tt,S[36]=He^~Ie&ot,S[37]=Ce^~at&rt,S[46]=ut^~wt&ft,S[47]=dt^~mt&Se,S[8]=te^~le&de,S[9]=Xe^~Me&De,S[18]=Be^~ke&et,S[19]=Ge^~oe&qe,S[28]=Je^~ve&st,S[29]=ye^~tt&xe,S[38]=Ie^~ot&Ae,S[39]=at^~rt&it,S[48]=wt^~ft&Ze,S[49]=mt^~Se&Fe,S[0]^=N[q],S[1]^=N[q+1]};if(a)r.exports=f;else for(g=0;g<h.length;++g)n[h[g]]=f[h[g]]})()})(cd);var Zm=cd.exports;function ud(r){return"0x"+Zm.keccak_256(Rt(r))}const Qm="rlp/5.7.0";new Le(Qm);const _m="address/5.7.0",Vs=new Le(_m);function hd(r){Ir(r,20)||Vs.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=Rt(ud(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 $m=9007199254740991;function e3(r){return Math.log10?Math.log10(r):Math.log(r)/Math.LN10}const Bf={};for(let r=0;r<10;r++)Bf[String(r)]=String(r);for(let r=0;r<26;r++)Bf[String.fromCharCode(65+r)]=String(10+r);const dd=Math.floor(e3($m));function t3(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(i=>Bf[i]).join("");for(;e.length>=dd;){let i=e.substring(0,dd);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 r3(r){let e=null;if(typeof r!="string"&&Vs.throwArgumentError("invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/))r.substring(0,2)!=="0x"&&(r="0x"+r),e=hd(r),r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==r&&Vs.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)!==t3(r)&&Vs.throwArgumentError("bad icap checksum","address",r),e=Jm(r.substring(4));e.length<40;)e="0"+e;e=hd("0x"+e)}else Vs.throwArgumentError("invalid address","address",r);return e}const i3="properties/5.7.0";new Le(i3);function Ks(r,e,t){Object.defineProperty(r,e,{enumerable:!0,value:t,writable:!1})}var Mr={},Ye={},En=ld;function ld(r,e){if(!r)throw new Error(e||"Assertion failed")}ld.equal=function(e,t,i){if(e!=t)throw new Error(i||"Assertion failed: "+e+" != "+t)};var ts={exports:{}};typeof Object.create=="function"?ts.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:ts.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}};var n3=En,s3=ts.exports;Ye.inherits=s3;function o3(r,e){return(r.charCodeAt(e)&64512)!==55296||e<0||e+1>=r.length?!1:(r.charCodeAt(e+1)&64512)===56320}function a3(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 s=r.charCodeAt(n);s<128?t[i++]=s:s<2048?(t[i++]=s>>6|192,t[i++]=s&63|128):o3(r,n)?(s=65536+((s&1023)<<10)+(r.charCodeAt(++n)&1023),t[i++]=s>>18|240,t[i++]=s>>12&63|128,t[i++]=s>>6&63|128,t[i++]=s&63|128):(t[i++]=s>>12|224,t[i++]=s>>6&63|128,t[i++]=s&63|128)}else for(n=0;n<r.length;n++)t[n]=r[n]|0;return t}Ye.toArray=a3;function f3(r){for(var e="",t=0;t<r.length;t++)e+=bd(r[t].toString(16));return e}Ye.toHex=f3;function pd(r){var e=r>>>24|r>>>8&65280|r<<8&16711680|(r&255)<<24;return e>>>0}Ye.htonl=pd;function c3(r,e){for(var t="",i=0;i<r.length;i++){var n=r[i];e==="little"&&(n=pd(n)),t+=gd(n.toString(16))}return t}Ye.toHex32=c3;function bd(r){return r.length===1?"0"+r:r}Ye.zero2=bd;function gd(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}Ye.zero8=gd;function u3(r,e,t,i){var n=t-e;n3(n%4===0);for(var s=new Array(n/4),o=0,a=e;o<s.length;o++,a+=4){var c;i==="big"?c=r[a]<<24|r[a+1]<<16|r[a+2]<<8|r[a+3]:c=r[a+3]<<24|r[a+2]<<16|r[a+1]<<8|r[a],s[o]=c>>>0}return s}Ye.join32=u3;function h3(r,e){for(var t=new Array(r.length*4),i=0,n=0;i<r.length;i++,n+=4){var s=r[i];e==="big"?(t[n]=s>>>24,t[n+1]=s>>>16&255,t[n+2]=s>>>8&255,t[n+3]=s&255):(t[n+3]=s>>>24,t[n+2]=s>>>16&255,t[n+1]=s>>>8&255,t[n]=s&255)}return t}Ye.split32=h3;function d3(r,e){return r>>>e|r<<32-e}Ye.rotr32=d3;function l3(r,e){return r<<e|r>>>32-e}Ye.rotl32=l3;function p3(r,e){return r+e>>>0}Ye.sum32=p3;function b3(r,e,t){return r+e+t>>>0}Ye.sum32_3=b3;function g3(r,e,t,i){return r+e+t+i>>>0}Ye.sum32_4=g3;function v3(r,e,t,i,n){return r+e+t+i+n>>>0}Ye.sum32_5=v3;function m3(r,e,t,i){var n=r[e],s=r[e+1],o=i+s>>>0,a=(o<i?1:0)+t+n;r[e]=a>>>0,r[e+1]=o}Ye.sum64=m3;function y3(r,e,t,i){var n=e+i>>>0,s=(n<e?1:0)+r+t;return s>>>0}Ye.sum64_hi=y3;function w3(r,e,t,i){var n=e+i;return n>>>0}Ye.sum64_lo=w3;function x3(r,e,t,i,n,s,o,a){var c=0,u=e;u=u+i>>>0,c+=u<e?1:0,u=u+s>>>0,c+=u<s?1:0,u=u+a>>>0,c+=u<a?1:0;var l=r+t+n+o+c;return l>>>0}Ye.sum64_4_hi=x3;function E3(r,e,t,i,n,s,o,a){var c=e+i+s+a;return c>>>0}Ye.sum64_4_lo=E3;function S3(r,e,t,i,n,s,o,a,c,u){var l=0,v=e;v=v+i>>>0,l+=v<e?1:0,v=v+s>>>0,l+=v<s?1:0,v=v+a>>>0,l+=v<a?1:0,v=v+u>>>0,l+=v<u?1:0;var A=r+t+n+o+c+l;return A>>>0}Ye.sum64_5_hi=S3;function A3(r,e,t,i,n,s,o,a,c,u){var l=e+i+s+a+u;return l>>>0}Ye.sum64_5_lo=A3;function I3(r,e,t){var i=e<<32-t|r>>>t;return i>>>0}Ye.rotr64_hi=I3;function M3(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}Ye.rotr64_lo=M3;function O3(r,e,t){return r>>>t}Ye.shr64_hi=O3;function N3(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}Ye.shr64_lo=N3;var rs={},vd=Ye,D3=En;function Zo(){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}rs.BlockHash=Zo,Zo.prototype.update=function(e,t){if(e=vd.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=vd.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},Zo.prototype.digest=function(e){return this.update(this._pad()),D3(this.pending===null),this._digest(e)},Zo.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 s=1;s<i;s++)n[s]=0;if(e<<=3,this.endian==="big"){for(var o=8;o<this.padLength;o++)n[s++]=0;n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=e>>>24&255,n[s++]=e>>>16&255,n[s++]=e>>>8&255,n[s++]=e&255}else for(n[s++]=e&255,n[s++]=e>>>8&255,n[s++]=e>>>16&255,n[s++]=e>>>24&255,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,o=8;o<this.padLength;o++)n[s++]=0;return n};var is={},pi={},R3=Ye,bi=R3.rotr32;function P3(r,e,t,i){if(r===0)return md(e,t,i);if(r===1||r===3)return wd(e,t,i);if(r===2)return yd(e,t,i)}pi.ft_1=P3;function md(r,e,t){return r&e^~r&t}pi.ch32=md;function yd(r,e,t){return r&e^r&t^e&t}pi.maj32=yd;function wd(r,e,t){return r^e^t}pi.p32=wd;function T3(r){return bi(r,2)^bi(r,13)^bi(r,22)}pi.s0_256=T3;function F3(r){return bi(r,6)^bi(r,11)^bi(r,25)}pi.s1_256=F3;function q3(r){return bi(r,7)^bi(r,18)^r>>>3}pi.g0_256=q3;function C3(r){return bi(r,17)^bi(r,19)^r>>>10}pi.g1_256=C3;var ns=Ye,U3=rs,z3=pi,Vf=ns.rotl32,js=ns.sum32,L3=ns.sum32_5,k3=z3.ft_1,xd=U3.BlockHash,B3=[1518500249,1859775393,2400959708,3395469782];function gi(){if(!(this instanceof gi))return new gi;xd.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}ns.inherits(gi,xd);var V3=gi;gi.blockSize=512,gi.outSize=160,gi.hmacStrength=80,gi.padLength=64,gi.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]=Vf(i[n-3]^i[n-8]^i[n-14]^i[n-16],1);var s=this.h[0],o=this.h[1],a=this.h[2],c=this.h[3],u=this.h[4];for(n=0;n<i.length;n++){var l=~~(n/20),v=L3(Vf(s,5),k3(l,o,a,c),u,i[n],B3[l]);u=c,c=a,a=Vf(o,30),o=s,s=v}this.h[0]=js(this.h[0],s),this.h[1]=js(this.h[1],o),this.h[2]=js(this.h[2],a),this.h[3]=js(this.h[3],c),this.h[4]=js(this.h[4],u)},gi.prototype._digest=function(e){return e==="hex"?ns.toHex32(this.h,"big"):ns.split32(this.h,"big")};var ss=Ye,K3=rs,os=pi,j3=En,ti=ss.sum32,W3=ss.sum32_4,Y3=ss.sum32_5,X3=os.ch32,G3=os.maj32,J3=os.s0_256,H3=os.s1_256,Z3=os.g0_256,Q3=os.g1_256,Ed=K3.BlockHash,_3=[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 vi(){if(!(this instanceof vi))return new vi;Ed.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=_3,this.W=new Array(64)}ss.inherits(vi,Ed);var Sd=vi;vi.blockSize=512,vi.outSize=256,vi.hmacStrength=192,vi.padLength=64,vi.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]=W3(Q3(i[n-2]),i[n-7],Z3(i[n-15]),i[n-16]);var s=this.h[0],o=this.h[1],a=this.h[2],c=this.h[3],u=this.h[4],l=this.h[5],v=this.h[6],A=this.h[7];for(j3(this.k.length===i.length),n=0;n<i.length;n++){var M=Y3(A,H3(u),X3(u,l,v),this.k[n],i[n]),I=ti(J3(s),G3(s,o,a));A=v,v=l,l=u,u=ti(c,M),c=a,a=o,o=s,s=ti(M,I)}this.h[0]=ti(this.h[0],s),this.h[1]=ti(this.h[1],o),this.h[2]=ti(this.h[2],a),this.h[3]=ti(this.h[3],c),this.h[4]=ti(this.h[4],u),this.h[5]=ti(this.h[5],l),this.h[6]=ti(this.h[6],v),this.h[7]=ti(this.h[7],A)},vi.prototype._digest=function(e){return e==="hex"?ss.toHex32(this.h,"big"):ss.split32(this.h,"big")};var Kf=Ye,Ad=Sd;function Ci(){if(!(this instanceof Ci))return new Ci;Ad.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Kf.inherits(Ci,Ad);var $3=Ci;Ci.blockSize=512,Ci.outSize=224,Ci.hmacStrength=192,Ci.padLength=64,Ci.prototype._digest=function(e){return e==="hex"?Kf.toHex32(this.h.slice(0,7),"big"):Kf.split32(this.h.slice(0,7),"big")};var yr=Ye,ey=rs,ty=En,mi=yr.rotr64_hi,yi=yr.rotr64_lo,Id=yr.shr64_hi,Md=yr.shr64_lo,Qi=yr.sum64,jf=yr.sum64_hi,Wf=yr.sum64_lo,ry=yr.sum64_4_hi,iy=yr.sum64_4_lo,ny=yr.sum64_5_hi,sy=yr.sum64_5_lo,Od=ey.BlockHash,oy=[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 ri(){if(!(this instanceof ri))return new ri;Od.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=oy,this.W=new Array(160)}yr.inherits(ri,Od);var Nd=ri;ri.blockSize=1024,ri.outSize=512,ri.hmacStrength=192,ri.padLength=128,ri.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 s=vy(i[n-4],i[n-3]),o=my(i[n-4],i[n-3]),a=i[n-14],c=i[n-13],u=by(i[n-30],i[n-29]),l=gy(i[n-30],i[n-29]),v=i[n-32],A=i[n-31];i[n]=ry(s,o,a,c,u,l,v,A),i[n+1]=iy(s,o,a,c,u,l,v,A)}},ri.prototype._update=function(e,t){this._prepareBlock(e,t);var i=this.W,n=this.h[0],s=this.h[1],o=this.h[2],a=this.h[3],c=this.h[4],u=this.h[5],l=this.h[6],v=this.h[7],A=this.h[8],M=this.h[9],I=this.h[10],N=this.h[11],C=this.h[12],P=this.h[13],U=this.h[14],k=this.h[15];ty(this.k.length===i.length);for(var W=0;W<i.length;W+=2){var T=U,J=k,_=ly(A,M),X=py(A,M),G=ay(A,M,I,N,C),fe=fy(A,M,I,N,C,P),D=this.k[W],b=this.k[W+1],p=i[W],f=i[W+1],h=ny(T,J,_,X,G,fe,D,b,p,f),g=sy(T,J,_,X,G,fe,D,b,p,f);T=hy(n,s),J=dy(n,s),_=cy(n,s,o,a,c),X=uy(n,s,o,a,c,u);var x=jf(T,J,_,X),E=Wf(T,J,_,X);U=C,k=P,C=I,P=N,I=A,N=M,A=jf(l,v,h,g),M=Wf(v,v,h,g),l=c,v=u,c=o,u=a,o=n,a=s,n=jf(h,g,x,E),s=Wf(h,g,x,E)}Qi(this.h,0,n,s),Qi(this.h,2,o,a),Qi(this.h,4,c,u),Qi(this.h,6,l,v),Qi(this.h,8,A,M),Qi(this.h,10,I,N),Qi(this.h,12,C,P),Qi(this.h,14,U,k)},ri.prototype._digest=function(e){return e==="hex"?yr.toHex32(this.h,"big"):yr.split32(this.h,"big")};function ay(r,e,t,i,n){var s=r&t^~r&n;return s<0&&(s+=4294967296),s}function fy(r,e,t,i,n,s){var o=e&i^~e&s;return o<0&&(o+=4294967296),o}function cy(r,e,t,i,n){var s=r&t^r&n^t&n;return s<0&&(s+=4294967296),s}function uy(r,e,t,i,n,s){var o=e&i^e&s^i&s;return o<0&&(o+=4294967296),o}function hy(r,e){var t=mi(r,e,28),i=mi(e,r,2),n=mi(e,r,7),s=t^i^n;return s<0&&(s+=4294967296),s}function dy(r,e){var t=yi(r,e,28),i=yi(e,r,2),n=yi(e,r,7),s=t^i^n;return s<0&&(s+=4294967296),s}function ly(r,e){var t=mi(r,e,14),i=mi(r,e,18),n=mi(e,r,9),s=t^i^n;return s<0&&(s+=4294967296),s}function py(r,e){var t=yi(r,e,14),i=yi(r,e,18),n=yi(e,r,9),s=t^i^n;return s<0&&(s+=4294967296),s}function by(r,e){var t=mi(r,e,1),i=mi(r,e,8),n=Id(r,e,7),s=t^i^n;return s<0&&(s+=4294967296),s}function gy(r,e){var t=yi(r,e,1),i=yi(r,e,8),n=Md(r,e,7),s=t^i^n;return s<0&&(s+=4294967296),s}function vy(r,e){var t=mi(r,e,19),i=mi(e,r,29),n=Id(r,e,6),s=t^i^n;return s<0&&(s+=4294967296),s}function my(r,e){var t=yi(r,e,19),i=yi(e,r,29),n=Md(r,e,6),s=t^i^n;return s<0&&(s+=4294967296),s}var Yf=Ye,Dd=Nd;function Ui(){if(!(this instanceof Ui))return new Ui;Dd.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}Yf.inherits(Ui,Dd);var yy=Ui;Ui.blockSize=1024,Ui.outSize=384,Ui.hmacStrength=192,Ui.padLength=128,Ui.prototype._digest=function(e){return e==="hex"?Yf.toHex32(this.h.slice(0,12),"big"):Yf.split32(this.h.slice(0,12),"big")},is.sha1=V3,is.sha224=$3,is.sha256=Sd,is.sha384=yy,is.sha512=Nd;var Rd={},Sn=Ye,wy=rs,Qo=Sn.rotl32,Pd=Sn.sum32,Ws=Sn.sum32_3,Td=Sn.sum32_4,Fd=wy.BlockHash;function wi(){if(!(this instanceof wi))return new wi;Fd.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}Sn.inherits(wi,Fd),Rd.ripemd160=wi,wi.blockSize=512,wi.outSize=160,wi.hmacStrength=192,wi.padLength=64,wi.prototype._update=function(e,t){for(var i=this.h[0],n=this.h[1],s=this.h[2],o=this.h[3],a=this.h[4],c=i,u=n,l=s,v=o,A=a,M=0;M<80;M++){var I=Pd(Qo(Td(i,qd(M,n,s,o),e[Sy[M]+t],xy(M)),Iy[M]),a);i=a,a=o,o=Qo(s,10),s=n,n=I,I=Pd(Qo(Td(c,qd(79-M,u,l,v),e[Ay[M]+t],Ey(M)),My[M]),A),c=A,A=v,v=Qo(l,10),l=u,u=I}I=Ws(this.h[1],s,v),this.h[1]=Ws(this.h[2],o,A),this.h[2]=Ws(this.h[3],a,c),this.h[3]=Ws(this.h[4],i,u),this.h[4]=Ws(this.h[0],n,l),this.h[0]=I},wi.prototype._digest=function(e){return e==="hex"?Sn.toHex32(this.h,"little"):Sn.split32(this.h,"little")};function qd(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 xy(r){return r<=15?0:r<=31?1518500249:r<=47?1859775393:r<=63?2400959708:2840853838}function Ey(r){return r<=15?1352829926:r<=31?1548603684:r<=47?1836072691:r<=63?2053994217:0}var Sy=[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],Ay=[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],Iy=[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],My=[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],Oy=Ye,Ny=En;function as(r,e,t){if(!(this instanceof as))return new as(r,e,t);this.Hash=r,this.blockSize=r.blockSize/8,this.outSize=r.outSize/8,this.inner=null,this.outer=null,this._init(Oy.toArray(e,t))}var Dy=as;as.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),Ny(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)},as.prototype.update=function(e,t){return this.inner.update(e,t),this},as.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)},function(r){var e=r;e.utils=Ye,e.common=rs,e.sha=is,e.ripemd=Rd,e.hmac=Dy,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}(Mr);function fs(r,e,t){return t={path:e,exports:{},require:function(i,n){return Ry(i,n??t.path)}},r(t,t.exports),t.exports}function Ry(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var Xf=Cd;function Cd(r,e){if(!r)throw new Error(e||"Assertion failed")}Cd.equal=function(e,t,i){if(e!=t)throw new Error(i||"Assertion failed: "+e+" != "+t)};var ii=fs(function(r,e){var t=e;function i(o,a){if(Array.isArray(o))return o.slice();if(!o)return[];var c=[];if(typeof o!="string"){for(var u=0;u<o.length;u++)c[u]=o[u]|0;return c}if(a==="hex"){o=o.replace(/[^a-z0-9]+/ig,""),o.length%2!==0&&(o="0"+o);for(var u=0;u<o.length;u+=2)c.push(parseInt(o[u]+o[u+1],16))}else for(var u=0;u<o.length;u++){var l=o.charCodeAt(u),v=l>>8,A=l&255;v?c.push(v,A):c.push(A)}return c}t.toArray=i;function n(o){return o.length===1?"0"+o:o}t.zero2=n;function s(o){for(var a="",c=0;c<o.length;c++)a+=n(o[c].toString(16));return a}t.toHex=s,t.encode=function(a,c){return c==="hex"?s(a):a}}),Or=fs(function(r,e){var t=e;t.assert=Xf,t.toArray=ii.toArray,t.zero2=ii.zero2,t.toHex=ii.toHex,t.encode=ii.encode;function i(c,u,l){var v=new Array(Math.max(c.bitLength(),l)+1);v.fill(0);for(var A=1<<u+1,M=c.clone(),I=0;I<v.length;I++){var N,C=M.andln(A-1);M.isOdd()?(C>(A>>1)-1?N=(A>>1)-C:N=C,M.isubn(N)):N=0,v[I]=N,M.iushrn(1)}return v}t.getNAF=i;function n(c,u){var l=[[],[]];c=c.clone(),u=u.clone();for(var v=0,A=0,M;c.cmpn(-v)>0||u.cmpn(-A)>0;){var I=c.andln(3)+v&3,N=u.andln(3)+A&3;I===3&&(I=-1),N===3&&(N=-1);var C;I&1?(M=c.andln(7)+v&7,(M===3||M===5)&&N===2?C=-I:C=I):C=0,l[0].push(C);var P;N&1?(M=u.andln(7)+A&7,(M===3||M===5)&&I===2?P=-N:P=N):P=0,l[1].push(P),2*v===C+1&&(v=1-v),2*A===P+1&&(A=1-A),c.iushrn(1),u.iushrn(1)}return l}t.getJSF=n;function s(c,u,l){var v="_"+u;c.prototype[u]=function(){return this[v]!==void 0?this[v]:this[v]=l.call(this)}}t.cachedProperty=s;function o(c){return typeof c=="string"?t.toArray(c,"hex"):c}t.parseBytes=o;function a(c){return new Pe(c,"hex","le")}t.intFromLE=a}),_o=Or.getNAF,Py=Or.getJSF,$o=Or.assert;function _i(r,e){this.type=r,this.p=new Pe(e.p,16),this.red=e.prime?Pe.red(e.prime):Pe.mont(this.p),this.zero=new Pe(0).toRed(this.red),this.one=new Pe(1).toRed(this.red),this.two=new Pe(2).toRed(this.red),this.n=e.n&&new Pe(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 An=_i;_i.prototype.point=function(){throw new Error("Not implemented")},_i.prototype.validate=function(){throw new Error("Not implemented")},_i.prototype._fixedNafMul=function(e,t){$o(e.precomputed);var i=e._getDoubles(),n=_o(t,1,this._bitLength),s=(1<<i.step+1)-(i.step%2===0?2:1);s/=3;var o=[],a,c;for(a=0;a<n.length;a+=i.step){c=0;for(var u=a+i.step-1;u>=a;u--)c=(c<<1)+n[u];o.push(c)}for(var l=this.jpoint(null,null,null),v=this.jpoint(null,null,null),A=s;A>0;A--){for(a=0;a<o.length;a++)c=o[a],c===A?v=v.mixedAdd(i.points[a]):c===-A&&(v=v.mixedAdd(i.points[a].neg()));l=l.add(v)}return l.toP()},_i.prototype._wnafMul=function(e,t){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var s=n.points,o=_o(t,i,this._bitLength),a=this.jpoint(null,null,null),c=o.length-1;c>=0;c--){for(var u=0;c>=0&&o[c]===0;c--)u++;if(c>=0&&u++,a=a.dblp(u),c<0)break;var l=o[c];$o(l!==0),e.type==="affine"?l>0?a=a.mixedAdd(s[l-1>>1]):a=a.mixedAdd(s[-l-1>>1].neg()):l>0?a=a.add(s[l-1>>1]):a=a.add(s[-l-1>>1].neg())}return e.type==="affine"?a.toP():a},_i.prototype._wnafMulAdd=function(e,t,i,n,s){var o=this._wnafT1,a=this._wnafT2,c=this._wnafT3,u=0,l,v,A;for(l=0;l<n;l++){A=t[l];var M=A._getNAFPoints(e);o[l]=M.wnd,a[l]=M.points}for(l=n-1;l>=1;l-=2){var I=l-1,N=l;if(o[I]!==1||o[N]!==1){c[I]=_o(i[I],o[I],this._bitLength),c[N]=_o(i[N],o[N],this._bitLength),u=Math.max(c[I].length,u),u=Math.max(c[N].length,u);continue}var C=[t[I],null,null,t[N]];t[I].y.cmp(t[N].y)===0?(C[1]=t[I].add(t[N]),C[2]=t[I].toJ().mixedAdd(t[N].neg())):t[I].y.cmp(t[N].y.redNeg())===0?(C[1]=t[I].toJ().mixedAdd(t[N]),C[2]=t[I].add(t[N].neg())):(C[1]=t[I].toJ().mixedAdd(t[N]),C[2]=t[I].toJ().mixedAdd(t[N].neg()));var P=[-3,-1,-5,-7,0,7,5,1,3],U=Py(i[I],i[N]);for(u=Math.max(U[0].length,u),c[I]=new Array(u),c[N]=new Array(u),v=0;v<u;v++){var k=U[0][v]|0,W=U[1][v]|0;c[I][v]=P[(k+1)*3+(W+1)],c[N][v]=0,a[I]=C}}var T=this.jpoint(null,null,null),J=this._wnafT4;for(l=u;l>=0;l--){for(var _=0;l>=0;){var X=!0;for(v=0;v<n;v++)J[v]=c[v][l]|0,J[v]!==0&&(X=!1);if(!X)break;_++,l--}if(l>=0&&_++,T=T.dblp(_),l<0)break;for(v=0;v<n;v++){var G=J[v];G!==0&&(G>0?A=a[v][G-1>>1]:G<0&&(A=a[v][-G-1>>1].neg()),A.type==="affine"?T=T.mixedAdd(A):T=T.add(A))}}for(l=0;l<n;l++)a[l]=null;return s?T:T.toP()};function Ur(r,e){this.curve=r,this.type=e,this.precomputed=null}_i.BasePoint=Ur,Ur.prototype.eq=function(){throw new Error("Not implemented")},Ur.prototype.validate=function(){return this.curve.validate(this)},_i.prototype.decodePoint=function(e,t){e=Or.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?$o(e[e.length-1]%2===0):e[0]===7&&$o(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")},Ur.prototype.encodeCompressed=function(e){return this.encode(e,!0)},Ur.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))},Ur.prototype.encode=function(e,t){return Or.encode(this._encode(t),e)},Ur.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},Ur.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},Ur.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,s=0;s<t;s+=e){for(var o=0;o<e;o++)n=n.dbl();i.push(n)}return{step:e,points:i}},Ur.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(),s=1;s<i;s++)t[s]=t[s-1].add(n);return{wnd:e,points:t}},Ur.prototype._getBeta=function(){return null},Ur.prototype.dblp=function(e){for(var t=this,i=0;i<e;i++)t=t.dbl();return t};var Gf=fs(function(r){typeof Object.create=="function"?r.exports=function(t,i){i&&(t.super_=i,t.prototype=Object.create(i.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:r.exports=function(t,i){if(i){t.super_=i;var n=function(){};n.prototype=i.prototype,t.prototype=new n,t.prototype.constructor=t}}}),Ty=Or.assert;function zr(r){An.call(this,"short",r),this.a=new Pe(r.a,16).toRed(this.red),this.b=new Pe(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)}Gf(zr,An);var Fy=zr;zr.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var t,i;if(e.beta)t=new Pe(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 Pe(e.lambda,16);else{var s=this._getEndoRoots(this.n);this.g.mul(s[0]).x.cmp(this.g.x.redMul(t))===0?i=s[0]:(i=s[1],Ty(this.g.mul(i).x.cmp(this.g.x.redMul(t))===0))}var o;return e.basis?o=e.basis.map(function(a){return{a:new Pe(a.a,16),b:new Pe(a.b,16)}}):o=this._getEndoBasis(i),{beta:t,lambda:i,basis:o}}},zr.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:Pe.mont(e),i=new Pe(2).toRed(t).redInvm(),n=i.redNeg(),s=new Pe(3).toRed(t).redNeg().redSqrt().redMul(i),o=n.redAdd(s).fromRed(),a=n.redSub(s).fromRed();return[o,a]},zr.prototype._getEndoBasis=function(e){for(var t=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),s=new Pe(1),o=new Pe(0),a=new Pe(0),c=new Pe(1),u,l,v,A,M,I,N,C=0,P,U;i.cmpn(0)!==0;){var k=n.div(i);P=n.sub(k.mul(i)),U=a.sub(k.mul(s));var W=c.sub(k.mul(o));if(!v&&P.cmp(t)<0)u=N.neg(),l=s,v=P.neg(),A=U;else if(v&&++C===2)break;N=P,n=i,i=P,a=s,s=U,c=o,o=W}M=P.neg(),I=U;var T=v.sqr().add(A.sqr()),J=M.sqr().add(I.sqr());return J.cmp(T)>=0&&(M=u,I=l),v.negative&&(v=v.neg(),A=A.neg()),M.negative&&(M=M.neg(),I=I.neg()),[{a:v,b:A},{a:M,b:I}]},zr.prototype._endoSplit=function(e){var t=this.endo.basis,i=t[0],n=t[1],s=n.b.mul(e).divRound(this.n),o=i.b.neg().mul(e).divRound(this.n),a=s.mul(i.a),c=o.mul(n.a),u=s.mul(i.b),l=o.mul(n.b),v=e.sub(a).sub(c),A=u.add(l).neg();return{k1:v,k2:A}},zr.prototype.pointFromX=function(e,t){e=new Pe(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 s=n.fromRed().isOdd();return(t&&!s||!t&&s)&&(n=n.redNeg()),this.point(e,n)},zr.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,i=e.y,n=this.a.redMul(t),s=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(s).cmpn(0)===0},zr.prototype._endoWnafMulAdd=function(e,t,i){for(var n=this._endoWnafT1,s=this._endoWnafT2,o=0;o<e.length;o++){var a=this._endoSplit(t[o]),c=e[o],u=c._getBeta();a.k1.negative&&(a.k1.ineg(),c=c.neg(!0)),a.k2.negative&&(a.k2.ineg(),u=u.neg(!0)),n[o*2]=c,n[o*2+1]=u,s[o*2]=a.k1,s[o*2+1]=a.k2}for(var l=this._wnafMulAdd(1,n,s,o*2,i),v=0;v<o*2;v++)n[v]=null,s[v]=null;return l};function Ct(r,e,t,i){An.BasePoint.call(this,r,"affine"),e===null&&t===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new Pe(e,16),this.y=new Pe(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)}Gf(Ct,An.BasePoint),zr.prototype.point=function(e,t,i){return new Ct(this,e,t,i)},zr.prototype.pointFromJSON=function(e,t){return Ct.fromJSON(this,e,t)},Ct.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(s){return i.point(s.x.redMul(i.endo.beta),s.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}},Ct.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]},Ct.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 s(a){return e.point(a[0],a[1],i)}var o=t[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(s))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(s))}},n},Ct.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)+">"},Ct.prototype.isInfinity=function(){return this.inf},Ct.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)},Ct.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(),s=i.redAdd(i).redIAdd(i).redIAdd(t).redMul(n),o=s.redSqr().redISub(this.x.redAdd(this.x)),a=s.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},Ct.prototype.getX=function(){return this.x.fromRed()},Ct.prototype.getY=function(){return this.y.fromRed()},Ct.prototype.mul=function(e){return e=new Pe(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)},Ct.prototype.mulAdd=function(e,t,i){var n=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)},Ct.prototype.jmulAdd=function(e,t,i){var n=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)},Ct.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)},Ct.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(s){return s.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},Ct.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 Gt(r,e,t,i){An.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new Pe(0)):(this.x=new Pe(e,16),this.y=new Pe(t,16),this.z=new Pe(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}Gf(Gt,An.BasePoint),zr.prototype.jpoint=function(e,t,i){return new Gt(this,e,t,i)},Gt.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)},Gt.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Gt.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),s=e.x.redMul(i),o=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(i.redMul(this.z)),c=n.redSub(s),u=o.redSub(a);if(c.cmpn(0)===0)return u.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var l=c.redSqr(),v=l.redMul(c),A=n.redMul(l),M=u.redSqr().redIAdd(v).redISub(A).redISub(A),I=u.redMul(A.redISub(M)).redISub(o.redMul(v)),N=this.z.redMul(e.z).redMul(c);return this.curve.jpoint(M,I,N)},Gt.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),s=this.y,o=e.y.redMul(t).redMul(this.z),a=i.redSub(n),c=s.redSub(o);if(a.cmpn(0)===0)return c.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),l=u.redMul(a),v=i.redMul(u),A=c.redSqr().redIAdd(l).redISub(v).redISub(v),M=c.redMul(v.redISub(A)).redISub(s.redMul(l)),I=this.z.redMul(a);return this.curve.jpoint(A,M,I)},Gt.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,s=this.curve.tinv,o=this.x,a=this.y,c=this.z,u=c.redSqr().redSqr(),l=a.redAdd(a);for(t=0;t<e;t++){var v=o.redSqr(),A=l.redSqr(),M=A.redSqr(),I=v.redAdd(v).redIAdd(v).redIAdd(n.redMul(u)),N=o.redMul(A),C=I.redSqr().redISub(N.redAdd(N)),P=N.redISub(C),U=I.redMul(P);U=U.redIAdd(U).redISub(M);var k=l.redMul(c);t+1<e&&(u=u.redMul(M)),o=C,c=k,l=U}return this.curve.jpoint(o,l.redMul(s),c)},Gt.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Gt.prototype._zeroDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n),u=c.redSqr().redISub(a).redISub(a),l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),e=u,t=c.redMul(a.redISub(u)).redISub(l),i=this.y.redAdd(this.y)}else{var v=this.x.redSqr(),A=this.y.redSqr(),M=A.redSqr(),I=this.x.redAdd(A).redSqr().redISub(v).redISub(M);I=I.redIAdd(I);var N=v.redAdd(v).redIAdd(v),C=N.redSqr(),P=M.redIAdd(M);P=P.redIAdd(P),P=P.redIAdd(P),e=C.redISub(I).redISub(I),t=N.redMul(I.redISub(e)).redISub(P),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,t,i)},Gt.prototype._threeDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),u=c.redSqr().redISub(a).redISub(a);e=u;var l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),t=c.redMul(a.redISub(u)).redISub(l),i=this.y.redAdd(this.y)}else{var v=this.z.redSqr(),A=this.y.redSqr(),M=this.x.redMul(A),I=this.x.redSub(v).redMul(this.x.redAdd(v));I=I.redAdd(I).redIAdd(I);var N=M.redIAdd(M);N=N.redIAdd(N);var C=N.redAdd(N);e=I.redSqr().redISub(C),i=this.y.redAdd(this.z).redSqr().redISub(A).redISub(v);var P=A.redSqr();P=P.redIAdd(P),P=P.redIAdd(P),P=P.redIAdd(P),t=I.redMul(N.redISub(e)).redISub(P)}return this.curve.jpoint(e,t,i)},Gt.prototype._dbl=function(){var e=this.curve.a,t=this.x,i=this.y,n=this.z,s=n.redSqr().redSqr(),o=t.redSqr(),a=i.redSqr(),c=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(s)),u=t.redAdd(t);u=u.redIAdd(u);var l=u.redMul(a),v=c.redSqr().redISub(l.redAdd(l)),A=l.redISub(v),M=a.redSqr();M=M.redIAdd(M),M=M.redIAdd(M),M=M.redIAdd(M);var I=c.redMul(A).redISub(M),N=i.redAdd(i).redMul(n);return this.curve.jpoint(v,I,N)},Gt.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(),s=e.redAdd(e).redIAdd(e),o=s.redSqr(),a=this.x.redAdd(t).redSqr().redISub(e).redISub(n);a=a.redIAdd(a),a=a.redAdd(a).redIAdd(a),a=a.redISub(o);var c=a.redSqr(),u=n.redIAdd(n);u=u.redIAdd(u),u=u.redIAdd(u),u=u.redIAdd(u);var l=s.redIAdd(a).redSqr().redISub(o).redISub(c).redISub(u),v=t.redMul(l);v=v.redIAdd(v),v=v.redIAdd(v);var A=this.x.redMul(c).redISub(v);A=A.redIAdd(A),A=A.redIAdd(A);var M=this.y.redMul(l.redMul(u.redISub(l)).redISub(a.redMul(c)));M=M.redIAdd(M),M=M.redIAdd(M),M=M.redIAdd(M);var I=this.z.redAdd(a).redSqr().redISub(i).redISub(c);return this.curve.jpoint(A,M,I)},Gt.prototype.mul=function(e,t){return e=new Pe(e,t),this.curve._wnafMul(this,e)},Gt.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),s=i.redMul(e.z);return this.y.redMul(s).redISub(e.y.redMul(n)).cmpn(0)===0},Gt.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(),s=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(s),this.x.cmp(i)===0)return!0}},Gt.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)+">"},Gt.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var ea=fs(function(r,e){var t=e;t.base=An,t.short=Fy,t.mont=null,t.edwards=null}),ta=fs(function(r,e){var t=e,i=Or.assert;function n(a){a.type==="short"?this.curve=new ea.short(a):a.type==="edwards"?this.curve=new ea.edwards(a):this.curve=new ea.mont(a),this.g=this.curve.g,this.n=this.curve.n,this.hash=a.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}t.PresetCurve=n;function s(a,c){Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){var u=new n(c);return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,value:u}),u}})}s("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:Mr.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("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:Mr.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("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:Mr.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("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:Mr.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"]}),s("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:Mr.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"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Mr.sha256,gRed:!1,g:["9"]}),s("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:Mr.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var o;try{o=null.crash()}catch{o=void 0}s("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:Mr.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",o]})});function $i(r){if(!(this instanceof $i))return new $i(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=ii.toArray(r.entropy,r.entropyEnc||"hex"),t=ii.toArray(r.nonce,r.nonceEnc||"hex"),i=ii.toArray(r.pers,r.persEnc||"hex");Xf(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,i)}var Ud=$i;$i.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 s=0;s<this.V.length;s++)this.K[s]=0,this.V[s]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},$i.prototype._hmac=function(){return new Mr.hmac(this.hash,this.K)},$i.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())},$i.prototype.reseed=function(e,t,i,n){typeof t!="string"&&(n=i,i=t,t=null),e=ii.toArray(e,t),i=ii.toArray(i,n),Xf(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},$i.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=ii.toArray(i,n||"hex"),this._update(i));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);var o=s.slice(0,e);return this._update(i),this._reseed++,ii.encode(o,t)};var Jf=Or.assert;function er(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 Hf=er;er.fromPublic=function(e,t,i){return t instanceof er?t:new er(e,{pub:t,pubEnc:i})},er.fromPrivate=function(e,t,i){return t instanceof er?t:new er(e,{priv:t,privEnc:i})},er.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"}},er.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},er.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv},er.prototype._importPrivate=function(e,t){this.priv=new Pe(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},er.prototype._importPublic=function(e,t){if(e.x||e.y){this.ec.curve.type==="mont"?Jf(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&Jf(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)},er.prototype.derive=function(e){return e.validate()||Jf(e.validate(),"public point not validated"),e.mul(this.priv).getX()},er.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)},er.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},er.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var qy=Or.assert;function ra(r,e){if(r instanceof ra)return r;this._importDER(r,e)||(qy(r.r&&r.s,"Signature without r or s"),this.r=new Pe(r.r,16),this.s=new Pe(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var ia=ra;function Cy(){this.place=0}function Zf(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,s=0,o=e.place;s<i;s++,o++)n<<=8,n|=r[o],n>>>=0;return n<=127?!1:(e.place=o,n)}function zd(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)}ra.prototype._importDER=function(e,t){e=Or.toArray(e,t);var i=new Cy;if(e[i.place++]!==48)return!1;var n=Zf(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var s=Zf(e,i);if(s===!1)return!1;var o=e.slice(i.place,s+i.place);if(i.place+=s,e[i.place++]!==2)return!1;var a=Zf(e,i);if(a===!1||e.length!==a+i.place)return!1;var c=e.slice(i.place,a+i.place);if(o[0]===0)if(o[1]&128)o=o.slice(1);else return!1;if(c[0]===0)if(c[1]&128)c=c.slice(1);else return!1;return this.r=new Pe(o),this.s=new Pe(c),this.recoveryParam=null,!0};function Qf(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)}ra.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=zd(t),i=zd(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];Qf(n,t.length),n=n.concat(t),n.push(2),Qf(n,i.length);var s=n.concat(i),o=[48];return Qf(o,s.length),o=o.concat(s),Or.encode(o,e)};var Uy=function(){throw new Error("unsupported")},Ld=Or.assert;function Lr(r){if(!(this instanceof Lr))return new Lr(r);typeof r=="string"&&(Ld(Object.prototype.hasOwnProperty.call(ta,r),"Unknown curve "+r),r=ta[r]),r instanceof ta.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 zy=Lr;Lr.prototype.keyPair=function(e){return new Hf(this,e)},Lr.prototype.keyFromPrivate=function(e,t){return Hf.fromPrivate(this,e,t)},Lr.prototype.keyFromPublic=function(e,t){return Hf.fromPublic(this,e,t)},Lr.prototype.genKeyPair=function(e){e||(e={});for(var t=new Ud({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Uy(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new Pe(2));;){var s=new Pe(t.generate(i));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}},Lr.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},Lr.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 Pe(e,16));for(var s=this.n.byteLength(),o=t.getPrivate().toArray("be",s),a=e.toArray("be",s),c=new Ud({hash:this.hash,entropy:o,nonce:a,pers:n.pers,persEnc:n.persEnc||"utf8"}),u=this.n.sub(new Pe(1)),l=0;;l++){var v=n.k?n.k(l):new Pe(c.generate(this.n.byteLength()));if(v=this._truncateToN(v,!0),!(v.cmpn(1)<=0||v.cmp(u)>=0)){var A=this.g.mul(v);if(!A.isInfinity()){var M=A.getX(),I=M.umod(this.n);if(I.cmpn(0)!==0){var N=v.invm(this.n).mul(I.mul(t.getPrivate()).iadd(e));if(N=N.umod(this.n),N.cmpn(0)!==0){var C=(A.getY().isOdd()?1:0)|(M.cmp(I)!==0?2:0);return n.canonical&&N.cmp(this.nh)>0&&(N=this.n.sub(N),C^=1),new ia({r:I,s:N,recoveryParam:C})}}}}}},Lr.prototype.verify=function(e,t,i,n){e=this._truncateToN(new Pe(e,16)),i=this.keyFromPublic(i,n),t=new ia(t,"hex");var s=t.r,o=t.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0||o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a=o.invm(this.n),c=a.mul(e).umod(this.n),u=a.mul(s).umod(this.n),l;return this.curve._maxwellTrick?(l=this.g.jmulAdd(c,i.getPublic(),u),l.isInfinity()?!1:l.eqXToP(s)):(l=this.g.mulAdd(c,i.getPublic(),u),l.isInfinity()?!1:l.getX().umod(this.n).cmp(s)===0)},Lr.prototype.recoverPubKey=function(r,e,t,i){Ld((3&t)===t,"The recovery param is more than two bits"),e=new ia(e,i);var n=this.n,s=new Pe(r),o=e.r,a=e.s,c=t&1,u=t>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");u?o=this.curve.pointFromX(o.add(this.curve.n),c):o=this.curve.pointFromX(o,c);var l=e.r.invm(n),v=n.sub(s).mul(l).umod(n),A=a.mul(l).umod(n);return this.g.mulAdd(v,o,A)},Lr.prototype.getKeyRecoveryParam=function(r,e,t,i){if(e=new ia(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(r,e,n)}catch{continue}if(s.eq(t))return n}throw new Error("Unable to find valid recovery factor")};var Ly=fs(function(r,e){var t=e;t.version="6.5.4",t.utils=Or,t.rand=function(){throw new Error("unsupported")},t.curve=ea,t.curves=ta,t.ec=zy,t.eddsa=null}),ky=Ly.ec;const By="signing-key/5.7.0",_f=new Le(By);let $f=null;function xi(){return $f||($f=new ky("secp256k1")),$f}class Vy{constructor(e){Ks(this,"curve","secp256k1"),Ks(this,"privateKey",ar(e)),Wm(this.privateKey)!==32&&_f.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=xi().keyFromPrivate(Rt(this.privateKey));Ks(this,"publicKey","0x"+t.getPublic(!1,"hex")),Ks(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),Ks(this,"_isSigningKey",!0)}_addPoint(e){const t=xi().keyFromPublic(Rt(this.publicKey)),i=xi().keyFromPublic(Rt(e));return"0x"+t.pub.add(i.pub).encodeCompressed("hex")}signDigest(e){const t=xi().keyFromPrivate(Rt(this.privateKey)),i=Rt(e);i.length!==32&&_f.throwArgumentError("bad digest length","digest",e);const n=t.sign(i,{canonical:!0});return ed({recoveryParam:n.recoveryParam,r:Zi("0x"+n.r.toString(16),32),s:Zi("0x"+n.s.toString(16),32)})}computeSharedSecret(e){const t=xi().keyFromPrivate(Rt(this.privateKey)),i=xi().keyFromPublic(Rt(kd(e)));return Zi("0x"+t.derive(i.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function Ky(r,e){const t=ed(e),i={r:Rt(t.r),s:Rt(t.s)};return"0x"+xi().recoverPubKey(Rt(r),i,t.recoveryParam).encode("hex",!1)}function kd(r,e){const t=Rt(r);if(t.length===32){const i=new Vy(t);return e?"0x"+xi().keyFromPrivate(t).getPublic(!0,"hex"):i.publicKey}else{if(t.length===33)return e?ar(t):"0x"+xi().keyFromPublic(t).getPublic(!1,"hex");if(t.length===65)return e?"0x"+xi().keyFromPublic(t).getPublic(!0,"hex"):ar(t)}return _f.throwArgumentError("invalid public or private key","key","[REDACTED]")}const jy="transactions/5.7.0";new Le(jy);var Bd;(function(r){r[r.legacy=0]="legacy",r[r.eip2930=1]="eip2930",r[r.eip1559=2]="eip1559"})(Bd||(Bd={}));function Wy(r){const e=kd(r);return r3($h(ud($h(e,1)),12))}function Yy(r,e){return Wy(Ky(Rt(r),e))}function Vd(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function ec(r,e){e||(e=r.reduce((n,s)=>n+s.length,0));const t=Vd(e);let i=0;for(const n of r)t.set(n,i),i+=n.length;return t}function Xy(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 s=r.charAt(n),o=s.charCodeAt(0);if(t[o]!==255)throw new TypeError(s+" is ambiguous");t[o]=n}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function v(I){if(I instanceof Uint8Array||(ArrayBuffer.isView(I)?I=new Uint8Array(I.buffer,I.byteOffset,I.byteLength):Array.isArray(I)&&(I=Uint8Array.from(I))),!(I instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(I.length===0)return"";for(var N=0,C=0,P=0,U=I.length;P!==U&&I[P]===0;)P++,N++;for(var k=(U-P)*l+1>>>0,W=new Uint8Array(k);P!==U;){for(var T=I[P],J=0,_=k-1;(T!==0||J<C)&&_!==-1;_--,J++)T+=256*W[_]>>>0,W[_]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");C=J,P++}for(var X=k-C;X!==k&&W[X]===0;)X++;for(var G=c.repeat(N);X<k;++X)G+=r.charAt(W[X]);return G}function A(I){if(typeof I!="string")throw new TypeError("Expected String");if(I.length===0)return new Uint8Array;var N=0;if(I[N]!==" "){for(var C=0,P=0;I[N]===c;)C++,N++;for(var U=(I.length-N)*u+1>>>0,k=new Uint8Array(U);I[N];){var W=t[I.charCodeAt(N)];if(W===255)return;for(var T=0,J=U-1;(W!==0||T<P)&&J!==-1;J--,T++)W+=a*k[J]>>>0,k[J]=W%256>>>0,W=W/256>>>0;if(W!==0)throw new Error("Non-zero carry");P=T,N++}if(I[N]!==" "){for(var _=U-P;_!==U&&k[_]===0;)_++;for(var X=new Uint8Array(C+(U-_)),G=C;_!==U;)X[G++]=k[_++];return X}}}function M(I){var N=A(I);if(N)return N;throw new Error(`Non-${e} character`)}return{encode:v,decodeUnsafe:A,decode:M}}var Gy=Xy,Jy=Gy;const Kd=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")},Hy=r=>new TextEncoder().encode(r),Zy=r=>new TextDecoder().decode(r);class Qy{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 _y{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 jd(this,e)}}class $y{constructor(e){this.decoders=e}or(e){return jd(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 jd=(r,e)=>new $y({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class ew{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new Qy(e,t,i),this.decoder=new _y(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const na=({name:r,prefix:e,encode:t,decode:i})=>new ew(r,e,t,i),Ys=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=Jy(t,e);return na({prefix:r,name:e,encode:i,decode:s=>Kd(n(s))})},tw=(r,e,t,i)=>{const n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let s=r.length;for(;r[s-1]==="=";)--s;const o=new Uint8Array(s*t/8|0);let a=0,c=0,u=0;for(let l=0;l<s;++l){const v=n[r[l]];if(v===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|v,a+=t,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},rw=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<<t)-1;let s="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,s+=e[n&a>>o];if(o&&(s+=e[n&a<<t-o]),i)for(;s.length*t&7;)s+="=";return s},Jt=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>na({prefix:e,name:r,encode(n){return rw(n,i,t)},decode(n){return tw(n,i,t,r)}}),iw=na({prefix:"\0",name:"identity",encode:r=>Zy(r),decode:r=>Hy(r)});var nw=Object.freeze({__proto__:null,identity:iw});const sw=Jt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ow=Object.freeze({__proto__:null,base2:sw});const aw=Jt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var fw=Object.freeze({__proto__:null,base8:aw});const cw=Ys({prefix:"9",name:"base10",alphabet:"0123456789"});var uw=Object.freeze({__proto__:null,base10:cw});const hw=Jt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),dw=Jt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var lw=Object.freeze({__proto__:null,base16:hw,base16upper:dw});const pw=Jt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),bw=Jt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),gw=Jt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),vw=Jt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),mw=Jt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),yw=Jt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ww=Jt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),xw=Jt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ew=Jt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Sw=Object.freeze({__proto__:null,base32:pw,base32upper:bw,base32pad:gw,base32padupper:vw,base32hex:mw,base32hexupper:yw,base32hexpad:ww,base32hexpadupper:xw,base32z:Ew});const Aw=Ys({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Iw=Ys({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Mw=Object.freeze({__proto__:null,base36:Aw,base36upper:Iw});const Ow=Ys({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Nw=Ys({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Dw=Object.freeze({__proto__:null,base58btc:Ow,base58flickr:Nw});const Rw=Jt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Pw=Jt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Tw=Jt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Fw=Jt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var qw=Object.freeze({__proto__:null,base64:Rw,base64pad:Pw,base64url:Tw,base64urlpad:Fw});const Wd=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Cw=Wd.reduce((r,e,t)=>(r[t]=e,r),[]),Uw=Wd.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function zw(r){return r.reduce((e,t)=>(e+=Cw[t],e),"")}function Lw(r){const e=[];for(const t of r){const i=Uw[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const kw=na({prefix:"\u{1F680}",name:"base256emoji",encode:zw,decode:Lw});var Bw=Object.freeze({__proto__:null,base256emoji:kw}),Vw=Xd,Yd=128,Kw=127,jw=~Kw,Ww=Math.pow(2,31);function Xd(r,e,t){e=e||[],t=t||0;for(var i=t;r>=Ww;)e[t++]=r&255|Yd,r/=128;for(;r&jw;)e[t++]=r&255|Yd,r>>>=7;return e[t]=r|0,Xd.bytes=t-i+1,e}var Yw=tc,Xw=128,Gd=127;function tc(r,i){var t=0,i=i||0,n=0,s=i,o,a=r.length;do{if(s>=a)throw tc.bytes=0,new RangeError("Could not decode varint");o=r[s++],t+=n<28?(o&Gd)<<n:(o&Gd)*Math.pow(2,n),n+=7}while(o>=Xw);return tc.bytes=s-i,t}var Gw=Math.pow(2,7),Jw=Math.pow(2,14),Hw=Math.pow(2,21),Zw=Math.pow(2,28),Qw=Math.pow(2,35),_w=Math.pow(2,42),$w=Math.pow(2,49),e6=Math.pow(2,56),t6=Math.pow(2,63),r6=function(r){return r<Gw?1:r<Jw?2:r<Hw?3:r<Zw?4:r<Qw?5:r<_w?6:r<$w?7:r<e6?8:r<t6?9:10},i6={encode:Vw,decode:Yw,encodingLength:r6},Jd=i6;const Hd=(r,e,t=0)=>(Jd.encode(r,e,t),e),Zd=r=>Jd.encodingLength(r),rc=(r,e)=>{const t=e.byteLength,i=Zd(r),n=i+Zd(t),s=new Uint8Array(n+t);return Hd(r,s,0),Hd(t,s,i),s.set(e,n),new n6(r,t,e,s)};class n6{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const Qd=({name:r,code:e,encode:t})=>new s6(r,e,t);class s6{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?rc(this.code,t):t.then(i=>rc(this.code,i))}else throw Error("Unknown type, must be binary type")}}const _d=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),o6=Qd({name:"sha2-256",code:18,encode:_d("SHA-256")}),a6=Qd({name:"sha2-512",code:19,encode:_d("SHA-512")});var f6=Object.freeze({__proto__:null,sha256:o6,sha512:a6});const $d=0,c6="identity",el=Kd;var u6=Object.freeze({__proto__:null,identity:{code:$d,name:c6,encode:el,digest:r=>rc($d,el(r))}});new TextEncoder,new TextDecoder;const tl={...nw,...ow,...fw,...uw,...lw,...Sw,...Mw,...Dw,...qw,...Bw};({...f6,...u6});function rl(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const il=rl("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),ic=rl("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=Vd(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),nl={utf8:il,"utf-8":il,hex:tl.base16,latin1:ic,ascii:ic,binary:ic,...tl};function kr(r,e="utf8"){const t=nl[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 cr(r,e="utf8"){const t=nl[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 sl={},h6="elliptic",d6="6.6.1",l6="EC cryptography",p6="lib/elliptic.js",b6=["lib"],g6={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/"},v6={type:"git",url:"git@github.com:indutny/elliptic"},m6=["EC","Elliptic","curve","Cryptography"],y6="Fedor Indutny <fedor@indutny.com>",w6="MIT",x6={url:"https://github.com/indutny/elliptic/issues"},E6="https://github.com/indutny/elliptic",S6={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"},A6={"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"},I6={name:h6,version:d6,description:l6,main:p6,files:b6,scripts:g6,repository:v6,keywords:m6,author:y6,license:w6,bugs:x6,homepage:E6,devDependencies:S6,dependencies:A6},Nr={},Ei={exports:{}};(function(r){(function(e,t){function i(D,b){if(!D)throw new Error(b||"Assertion failed")}function n(D,b){D.super_=b;var p=function(){};p.prototype=b.prototype,D.prototype=new p,D.prototype.constructor=D}function s(D,b,p){if(s.isBN(D))return D;this.negative=0,this.words=null,this.length=0,this.red=null,D!==null&&((b==="le"||b==="be")&&(p=b,b=10),this._init(D||0,b||10,p||"be"))}typeof e=="object"?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Uf.Buffer}catch{}s.isBN=function(b){return b instanceof s?!0:b!==null&&typeof b=="object"&&b.constructor.wordSize===s.wordSize&&Array.isArray(b.words)},s.max=function(b,p){return b.cmp(p)>0?b:p},s.min=function(b,p){return b.cmp(p)<0?b:p},s.prototype._init=function(b,p,f){if(typeof b=="number")return this._initNumber(b,p,f);if(typeof b=="object")return this._initArray(b,p,f);p==="hex"&&(p=16),i(p===(p|0)&&p>=2&&p<=36),b=b.toString().replace(/\s+/g,"");var h=0;b[0]==="-"&&(h++,this.negative=1),h<b.length&&(p===16?this._parseHex(b,h,f):(this._parseBase(b,p,h),f==="le"&&this._initArray(this.toArray(),p,f)))},s.prototype._initNumber=function(b,p,f){b<0&&(this.negative=1,b=-b),b<67108864?(this.words=[b&67108863],this.length=1):b<4503599627370496?(this.words=[b&67108863,b/67108864&67108863],this.length=2):(i(b<9007199254740992),this.words=[b&67108863,b/67108864&67108863,1],this.length=3),f==="le"&&this._initArray(this.toArray(),p,f)},s.prototype._initArray=function(b,p,f){if(i(typeof b.length=="number"),b.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(b.length/3),this.words=new Array(this.length);for(var h=0;h<this.length;h++)this.words[h]=0;var g,x,E=0;if(f==="be")for(h=b.length-1,g=0;h>=0;h-=3)x=b[h]|b[h-1]<<8|b[h-2]<<16,this.words[g]|=x<<E&67108863,this.words[g+1]=x>>>26-E&67108863,E+=24,E>=26&&(E-=26,g++);else if(f==="le")for(h=0,g=0;h<b.length;h+=3)x=b[h]|b[h+1]<<8|b[h+2]<<16,this.words[g]|=x<<E&67108863,this.words[g+1]=x>>>26-E&67108863,E+=24,E>=26&&(E-=26,g++);return this.strip()};function a(D,b){var p=D.charCodeAt(b);return p>=65&&p<=70?p-55:p>=97&&p<=102?p-87:p-48&15}function c(D,b,p){var f=a(D,p);return p-1>=b&&(f|=a(D,p-1)<<4),f}s.prototype._parseHex=function(b,p,f){this.length=Math.ceil((b.length-p)/6),this.words=new Array(this.length);for(var h=0;h<this.length;h++)this.words[h]=0;var g=0,x=0,E;if(f==="be")for(h=b.length-1;h>=p;h-=2)E=c(b,p,h)<<g,this.words[x]|=E&67108863,g>=18?(g-=18,x+=1,this.words[x]|=E>>>26):g+=8;else{var w=b.length-p;for(h=w%2===0?p+1:p;h<b.length;h+=2)E=c(b,p,h)<<g,this.words[x]|=E&67108863,g>=18?(g-=18,x+=1,this.words[x]|=E>>>26):g+=8}this.strip()};function u(D,b,p,f){for(var h=0,g=Math.min(D.length,p),x=b;x<g;x++){var E=D.charCodeAt(x)-48;h*=f,E>=49?h+=E-49+10:E>=17?h+=E-17+10:h+=E}return h}s.prototype._parseBase=function(b,p,f){this.words=[0],this.length=1;for(var h=0,g=1;g<=67108863;g*=p)h++;h--,g=g/p|0;for(var x=b.length-f,E=x%h,w=Math.min(x,x-E)+f,d=0,y=f;y<w;y+=h)d=u(b,y,y+h,p),this.imuln(g),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(E!==0){var m=1;for(d=u(b,y,b.length,p),y=0;y<E;y++)m*=p;this.imuln(m),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},s.prototype.copy=function(b){b.words=new Array(this.length);for(var p=0;p<this.length;p++)b.words[p]=this.words[p];b.length=this.length,b.negative=this.negative,b.red=this.red},s.prototype.clone=function(){var b=new s(null);return this.copy(b),b},s.prototype._expand=function(b){for(;this.length<b;)this.words[this.length++]=0;return this},s.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var l=["","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"],v=[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],A=[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];s.prototype.toString=function(b,p){b=b||10,p=p|0||1;var f;if(b===16||b==="hex"){f="";for(var h=0,g=0,x=0;x<this.length;x++){var E=this.words[x],w=((E<<h|g)&16777215).toString(16);g=E>>>24-h&16777215,h+=2,h>=26&&(h-=26,x--),g!==0||x!==this.length-1?f=l[6-w.length]+w+f:f=w+f}for(g!==0&&(f=g.toString(16)+f);f.length%p!==0;)f="0"+f;return this.negative!==0&&(f="-"+f),f}if(b===(b|0)&&b>=2&&b<=36){var d=v[b],y=A[b];f="";var m=this.clone();for(m.negative=0;!m.isZero();){var O=m.modn(y).toString(b);m=m.idivn(y),m.isZero()?f=O+f:f=l[d-O.length]+O+f}for(this.isZero()&&(f="0"+f);f.length%p!==0;)f="0"+f;return this.negative!==0&&(f="-"+f),f}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var b=this.words[0];return this.length===2?b+=this.words[1]*67108864:this.length===3&&this.words[2]===1?b+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-b:b},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(b,p){return i(typeof o<"u"),this.toArrayLike(o,b,p)},s.prototype.toArray=function(b,p){return this.toArrayLike(Array,b,p)},s.prototype.toArrayLike=function(b,p,f){var h=this.byteLength(),g=f||Math.max(1,h);i(h<=g,"byte array longer than desired length"),i(g>0,"Requested array length <= 0"),this.strip();var x=p==="le",E=new b(g),w,d,y=this.clone();if(x){for(d=0;!y.isZero();d++)w=y.andln(255),y.iushrn(8),E[d]=w;for(;d<g;d++)E[d]=0}else{for(d=0;d<g-h;d++)E[d]=0;for(d=0;!y.isZero();d++)w=y.andln(255),y.iushrn(8),E[g-d-1]=w}return E},Math.clz32?s.prototype._countBits=function(b){return 32-Math.clz32(b)}:s.prototype._countBits=function(b){var p=b,f=0;return p>=4096&&(f+=13,p>>>=13),p>=64&&(f+=7,p>>>=7),p>=8&&(f+=4,p>>>=4),p>=2&&(f+=2,p>>>=2),f+p},s.prototype._zeroBits=function(b){if(b===0)return 26;var p=b,f=0;return p&8191||(f+=13,p>>>=13),p&127||(f+=7,p>>>=7),p&15||(f+=4,p>>>=4),p&3||(f+=2,p>>>=2),p&1||f++,f},s.prototype.bitLength=function(){var b=this.words[this.length-1],p=this._countBits(b);return(this.length-1)*26+p};function M(D){for(var b=new Array(D.bitLength()),p=0;p<b.length;p++){var f=p/26|0,h=p%26;b[p]=(D.words[f]&1<<h)>>>h}return b}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var b=0,p=0;p<this.length;p++){var f=this._zeroBits(this.words[p]);if(b+=f,f!==26)break}return b},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(b){return this.negative!==0?this.abs().inotn(b).iaddn(1):this.clone()},s.prototype.fromTwos=function(b){return this.testn(b-1)?this.notn(b).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(b){for(;this.length<b.length;)this.words[this.length++]=0;for(var p=0;p<b.length;p++)this.words[p]=this.words[p]|b.words[p];return this.strip()},s.prototype.ior=function(b){return i((this.negative|b.negative)===0),this.iuor(b)},s.prototype.or=function(b){return this.length>b.length?this.clone().ior(b):b.clone().ior(this)},s.prototype.uor=function(b){return this.length>b.length?this.clone().iuor(b):b.clone().iuor(this)},s.prototype.iuand=function(b){var p;this.length>b.length?p=b:p=this;for(var f=0;f<p.length;f++)this.words[f]=this.words[f]&b.words[f];return this.length=p.length,this.strip()},s.prototype.iand=function(b){return i((this.negative|b.negative)===0),this.iuand(b)},s.prototype.and=function(b){return this.length>b.length?this.clone().iand(b):b.clone().iand(this)},s.prototype.uand=function(b){return this.length>b.length?this.clone().iuand(b):b.clone().iuand(this)},s.prototype.iuxor=function(b){var p,f;this.length>b.length?(p=this,f=b):(p=b,f=this);for(var h=0;h<f.length;h++)this.words[h]=p.words[h]^f.words[h];if(this!==p)for(;h<p.length;h++)this.words[h]=p.words[h];return this.length=p.length,this.strip()},s.prototype.ixor=function(b){return i((this.negative|b.negative)===0),this.iuxor(b)},s.prototype.xor=function(b){return this.length>b.length?this.clone().ixor(b):b.clone().ixor(this)},s.prototype.uxor=function(b){return this.length>b.length?this.clone().iuxor(b):b.clone().iuxor(this)},s.prototype.inotn=function(b){i(typeof b=="number"&&b>=0);var p=Math.ceil(b/26)|0,f=b%26;this._expand(p),f>0&&p--;for(var h=0;h<p;h++)this.words[h]=~this.words[h]&67108863;return f>0&&(this.words[h]=~this.words[h]&67108863>>26-f),this.strip()},s.prototype.notn=function(b){return this.clone().inotn(b)},s.prototype.setn=function(b,p){i(typeof b=="number"&&b>=0);var f=b/26|0,h=b%26;return this._expand(f+1),p?this.words[f]=this.words[f]|1<<h:this.words[f]=this.words[f]&~(1<<h),this.strip()},s.prototype.iadd=function(b){var p;if(this.negative!==0&&b.negative===0)return this.negative=0,p=this.isub(b),this.negative^=1,this._normSign();if(this.negative===0&&b.negative!==0)return b.negative=0,p=this.isub(b),b.negative=1,p._normSign();var f,h;this.length>b.length?(f=this,h=b):(f=b,h=this);for(var g=0,x=0;x<h.length;x++)p=(f.words[x]|0)+(h.words[x]|0)+g,this.words[x]=p&67108863,g=p>>>26;for(;g!==0&&x<f.length;x++)p=(f.words[x]|0)+g,this.words[x]=p&67108863,g=p>>>26;if(this.length=f.length,g!==0)this.words[this.length]=g,this.length++;else if(f!==this)for(;x<f.length;x++)this.words[x]=f.words[x];return this},s.prototype.add=function(b){var p;return b.negative!==0&&this.negative===0?(b.negative=0,p=this.sub(b),b.negative^=1,p):b.negative===0&&this.negative!==0?(this.negative=0,p=b.sub(this),this.negative=1,p):this.length>b.length?this.clone().iadd(b):b.clone().iadd(this)},s.prototype.isub=function(b){if(b.negative!==0){b.negative=0;var p=this.iadd(b);return b.negative=1,p._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(b),this.negative=1,this._normSign();var f=this.cmp(b);if(f===0)return this.negative=0,this.length=1,this.words[0]=0,this;var h,g;f>0?(h=this,g=b):(h=b,g=this);for(var x=0,E=0;E<g.length;E++)p=(h.words[E]|0)-(g.words[E]|0)+x,x=p>>26,this.words[E]=p&67108863;for(;x!==0&&E<h.length;E++)p=(h.words[E]|0)+x,x=p>>26,this.words[E]=p&67108863;if(x===0&&E<h.length&&h!==this)for(;E<h.length;E++)this.words[E]=h.words[E];return this.length=Math.max(this.length,E),h!==this&&(this.negative=1),this.strip()},s.prototype.sub=function(b){return this.clone().isub(b)};function I(D,b,p){p.negative=b.negative^D.negative;var f=D.length+b.length|0;p.length=f,f=f-1|0;var h=D.words[0]|0,g=b.words[0]|0,x=h*g,E=x&67108863,w=x/67108864|0;p.words[0]=E;for(var d=1;d<f;d++){for(var y=w>>>26,m=w&67108863,O=Math.min(d,b.length-1),Y=Math.max(0,d-D.length+1);Y<=O;Y++){var S=d-Y|0;h=D.words[S]|0,g=b.words[Y]|0,x=h*g+m,y+=x/67108864|0,m=x&67108863}p.words[d]=m|0,w=y|0}return w!==0?p.words[d]=w|0:p.length--,p.strip()}var N=function(b,p,f){var h=b.words,g=p.words,x=f.words,E=0,w,d,y,m=h[0]|0,O=m&8191,Y=m>>>13,S=h[1]|0,z=S&8191,K=S>>>13,q=h[2]|0,F=q&8191,V=q>>>13,L=h[3]|0,j=L&8191,ee=L>>>13,H=h[4]|0,Z=H&8191,he=H>>>13,se=h[5]|0,Q=se&8191,le=se>>>13,Me=h[6]|0,de=Me&8191,De=Me>>>13,Ne=h[7]|0,ce=Ne&8191,Oe=Ne>>>13,Re=h[8]|0,te=Re&8191,Xe=Re>>>13,ke=h[9]|0,oe=ke&8191,et=ke>>>13,qe=g[0]|0,ge=qe&8191,Te=qe>>>13,Ke=g[1]|0,we=Ke&8191,Be=Ke>>>13,Ge=g[2]|0,ve=Ge&8191,tt=Ge>>>13,st=g[3]|0,xe=st&8191,Qe=st>>>13,je=g[4]|0,Ee=je&8191,_e=je>>>13,Je=g[5]|0,ye=Je&8191,ot=Je>>>13,rt=g[6]|0,Ae=rt&8191,it=rt>>>13,nt=g[7]|0,me=nt&8191,He=nt>>>13,Ce=g[8]|0,Ie=Ce&8191,at=Ce>>>13,ft=g[9]|0,Se=ft&8191,Ze=ft>>>13;f.negative=b.negative^p.negative,f.length=19,w=Math.imul(O,ge),d=Math.imul(O,Te),d=d+Math.imul(Y,ge)|0,y=Math.imul(Y,Te);var Fe=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,w=Math.imul(z,ge),d=Math.imul(z,Te),d=d+Math.imul(K,ge)|0,y=Math.imul(K,Te),w=w+Math.imul(O,we)|0,d=d+Math.imul(O,Be)|0,d=d+Math.imul(Y,we)|0,y=y+Math.imul(Y,Be)|0;var $e=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+($e>>>26)|0,$e&=67108863,w=Math.imul(F,ge),d=Math.imul(F,Te),d=d+Math.imul(V,ge)|0,y=Math.imul(V,Te),w=w+Math.imul(z,we)|0,d=d+Math.imul(z,Be)|0,d=d+Math.imul(K,we)|0,y=y+Math.imul(K,Be)|0,w=w+Math.imul(O,ve)|0,d=d+Math.imul(O,tt)|0,d=d+Math.imul(Y,ve)|0,y=y+Math.imul(Y,tt)|0;var Vt=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(Vt>>>26)|0,Vt&=67108863,w=Math.imul(j,ge),d=Math.imul(j,Te),d=d+Math.imul(ee,ge)|0,y=Math.imul(ee,Te),w=w+Math.imul(F,we)|0,d=d+Math.imul(F,Be)|0,d=d+Math.imul(V,we)|0,y=y+Math.imul(V,Be)|0,w=w+Math.imul(z,ve)|0,d=d+Math.imul(z,tt)|0,d=d+Math.imul(K,ve)|0,y=y+Math.imul(K,tt)|0,w=w+Math.imul(O,xe)|0,d=d+Math.imul(O,Qe)|0,d=d+Math.imul(Y,xe)|0,y=y+Math.imul(Y,Qe)|0;var ut=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(ut>>>26)|0,ut&=67108863,w=Math.imul(Z,ge),d=Math.imul(Z,Te),d=d+Math.imul(he,ge)|0,y=Math.imul(he,Te),w=w+Math.imul(j,we)|0,d=d+Math.imul(j,Be)|0,d=d+Math.imul(ee,we)|0,y=y+Math.imul(ee,Be)|0,w=w+Math.imul(F,ve)|0,d=d+Math.imul(F,tt)|0,d=d+Math.imul(V,ve)|0,y=y+Math.imul(V,tt)|0,w=w+Math.imul(z,xe)|0,d=d+Math.imul(z,Qe)|0,d=d+Math.imul(K,xe)|0,y=y+Math.imul(K,Qe)|0,w=w+Math.imul(O,Ee)|0,d=d+Math.imul(O,_e)|0,d=d+Math.imul(Y,Ee)|0,y=y+Math.imul(Y,_e)|0;var dt=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(dt>>>26)|0,dt&=67108863,w=Math.imul(Q,ge),d=Math.imul(Q,Te),d=d+Math.imul(le,ge)|0,y=Math.imul(le,Te),w=w+Math.imul(Z,we)|0,d=d+Math.imul(Z,Be)|0,d=d+Math.imul(he,we)|0,y=y+Math.imul(he,Be)|0,w=w+Math.imul(j,ve)|0,d=d+Math.imul(j,tt)|0,d=d+Math.imul(ee,ve)|0,y=y+Math.imul(ee,tt)|0,w=w+Math.imul(F,xe)|0,d=d+Math.imul(F,Qe)|0,d=d+Math.imul(V,xe)|0,y=y+Math.imul(V,Qe)|0,w=w+Math.imul(z,Ee)|0,d=d+Math.imul(z,_e)|0,d=d+Math.imul(K,Ee)|0,y=y+Math.imul(K,_e)|0,w=w+Math.imul(O,ye)|0,d=d+Math.imul(O,ot)|0,d=d+Math.imul(Y,ye)|0,y=y+Math.imul(Y,ot)|0;var wt=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(wt>>>26)|0,wt&=67108863,w=Math.imul(de,ge),d=Math.imul(de,Te),d=d+Math.imul(De,ge)|0,y=Math.imul(De,Te),w=w+Math.imul(Q,we)|0,d=d+Math.imul(Q,Be)|0,d=d+Math.imul(le,we)|0,y=y+Math.imul(le,Be)|0,w=w+Math.imul(Z,ve)|0,d=d+Math.imul(Z,tt)|0,d=d+Math.imul(he,ve)|0,y=y+Math.imul(he,tt)|0,w=w+Math.imul(j,xe)|0,d=d+Math.imul(j,Qe)|0,d=d+Math.imul(ee,xe)|0,y=y+Math.imul(ee,Qe)|0,w=w+Math.imul(F,Ee)|0,d=d+Math.imul(F,_e)|0,d=d+Math.imul(V,Ee)|0,y=y+Math.imul(V,_e)|0,w=w+Math.imul(z,ye)|0,d=d+Math.imul(z,ot)|0,d=d+Math.imul(K,ye)|0,y=y+Math.imul(K,ot)|0,w=w+Math.imul(O,Ae)|0,d=d+Math.imul(O,it)|0,d=d+Math.imul(Y,Ae)|0,y=y+Math.imul(Y,it)|0;var mt=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(mt>>>26)|0,mt&=67108863,w=Math.imul(ce,ge),d=Math.imul(ce,Te),d=d+Math.imul(Oe,ge)|0,y=Math.imul(Oe,Te),w=w+Math.imul(de,we)|0,d=d+Math.imul(de,Be)|0,d=d+Math.imul(De,we)|0,y=y+Math.imul(De,Be)|0,w=w+Math.imul(Q,ve)|0,d=d+Math.imul(Q,tt)|0,d=d+Math.imul(le,ve)|0,y=y+Math.imul(le,tt)|0,w=w+Math.imul(Z,xe)|0,d=d+Math.imul(Z,Qe)|0,d=d+Math.imul(he,xe)|0,y=y+Math.imul(he,Qe)|0,w=w+Math.imul(j,Ee)|0,d=d+Math.imul(j,_e)|0,d=d+Math.imul(ee,Ee)|0,y=y+Math.imul(ee,_e)|0,w=w+Math.imul(F,ye)|0,d=d+Math.imul(F,ot)|0,d=d+Math.imul(V,ye)|0,y=y+Math.imul(V,ot)|0,w=w+Math.imul(z,Ae)|0,d=d+Math.imul(z,it)|0,d=d+Math.imul(K,Ae)|0,y=y+Math.imul(K,it)|0,w=w+Math.imul(O,me)|0,d=d+Math.imul(O,He)|0,d=d+Math.imul(Y,me)|0,y=y+Math.imul(Y,He)|0;var nr=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(nr>>>26)|0,nr&=67108863,w=Math.imul(te,ge),d=Math.imul(te,Te),d=d+Math.imul(Xe,ge)|0,y=Math.imul(Xe,Te),w=w+Math.imul(ce,we)|0,d=d+Math.imul(ce,Be)|0,d=d+Math.imul(Oe,we)|0,y=y+Math.imul(Oe,Be)|0,w=w+Math.imul(de,ve)|0,d=d+Math.imul(de,tt)|0,d=d+Math.imul(De,ve)|0,y=y+Math.imul(De,tt)|0,w=w+Math.imul(Q,xe)|0,d=d+Math.imul(Q,Qe)|0,d=d+Math.imul(le,xe)|0,y=y+Math.imul(le,Qe)|0,w=w+Math.imul(Z,Ee)|0,d=d+Math.imul(Z,_e)|0,d=d+Math.imul(he,Ee)|0,y=y+Math.imul(he,_e)|0,w=w+Math.imul(j,ye)|0,d=d+Math.imul(j,ot)|0,d=d+Math.imul(ee,ye)|0,y=y+Math.imul(ee,ot)|0,w=w+Math.imul(F,Ae)|0,d=d+Math.imul(F,it)|0,d=d+Math.imul(V,Ae)|0,y=y+Math.imul(V,it)|0,w=w+Math.imul(z,me)|0,d=d+Math.imul(z,He)|0,d=d+Math.imul(K,me)|0,y=y+Math.imul(K,He)|0,w=w+Math.imul(O,Ie)|0,d=d+Math.imul(O,at)|0,d=d+Math.imul(Y,Ie)|0,y=y+Math.imul(Y,at)|0;var dr=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(dr>>>26)|0,dr&=67108863,w=Math.imul(oe,ge),d=Math.imul(oe,Te),d=d+Math.imul(et,ge)|0,y=Math.imul(et,Te),w=w+Math.imul(te,we)|0,d=d+Math.imul(te,Be)|0,d=d+Math.imul(Xe,we)|0,y=y+Math.imul(Xe,Be)|0,w=w+Math.imul(ce,ve)|0,d=d+Math.imul(ce,tt)|0,d=d+Math.imul(Oe,ve)|0,y=y+Math.imul(Oe,tt)|0,w=w+Math.imul(de,xe)|0,d=d+Math.imul(de,Qe)|0,d=d+Math.imul(De,xe)|0,y=y+Math.imul(De,Qe)|0,w=w+Math.imul(Q,Ee)|0,d=d+Math.imul(Q,_e)|0,d=d+Math.imul(le,Ee)|0,y=y+Math.imul(le,_e)|0,w=w+Math.imul(Z,ye)|0,d=d+Math.imul(Z,ot)|0,d=d+Math.imul(he,ye)|0,y=y+Math.imul(he,ot)|0,w=w+Math.imul(j,Ae)|0,d=d+Math.imul(j,it)|0,d=d+Math.imul(ee,Ae)|0,y=y+Math.imul(ee,it)|0,w=w+Math.imul(F,me)|0,d=d+Math.imul(F,He)|0,d=d+Math.imul(V,me)|0,y=y+Math.imul(V,He)|0,w=w+Math.imul(z,Ie)|0,d=d+Math.imul(z,at)|0,d=d+Math.imul(K,Ie)|0,y=y+Math.imul(K,at)|0,w=w+Math.imul(O,Se)|0,d=d+Math.imul(O,Ze)|0,d=d+Math.imul(Y,Se)|0,y=y+Math.imul(Y,Ze)|0;var Tr=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(Tr>>>26)|0,Tr&=67108863,w=Math.imul(oe,we),d=Math.imul(oe,Be),d=d+Math.imul(et,we)|0,y=Math.imul(et,Be),w=w+Math.imul(te,ve)|0,d=d+Math.imul(te,tt)|0,d=d+Math.imul(Xe,ve)|0,y=y+Math.imul(Xe,tt)|0,w=w+Math.imul(ce,xe)|0,d=d+Math.imul(ce,Qe)|0,d=d+Math.imul(Oe,xe)|0,y=y+Math.imul(Oe,Qe)|0,w=w+Math.imul(de,Ee)|0,d=d+Math.imul(de,_e)|0,d=d+Math.imul(De,Ee)|0,y=y+Math.imul(De,_e)|0,w=w+Math.imul(Q,ye)|0,d=d+Math.imul(Q,ot)|0,d=d+Math.imul(le,ye)|0,y=y+Math.imul(le,ot)|0,w=w+Math.imul(Z,Ae)|0,d=d+Math.imul(Z,it)|0,d=d+Math.imul(he,Ae)|0,y=y+Math.imul(he,it)|0,w=w+Math.imul(j,me)|0,d=d+Math.imul(j,He)|0,d=d+Math.imul(ee,me)|0,y=y+Math.imul(ee,He)|0,w=w+Math.imul(F,Ie)|0,d=d+Math.imul(F,at)|0,d=d+Math.imul(V,Ie)|0,y=y+Math.imul(V,at)|0,w=w+Math.imul(z,Se)|0,d=d+Math.imul(z,Ze)|0,d=d+Math.imul(K,Se)|0,y=y+Math.imul(K,Ze)|0;var Jr=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(Jr>>>26)|0,Jr&=67108863,w=Math.imul(oe,ve),d=Math.imul(oe,tt),d=d+Math.imul(et,ve)|0,y=Math.imul(et,tt),w=w+Math.imul(te,xe)|0,d=d+Math.imul(te,Qe)|0,d=d+Math.imul(Xe,xe)|0,y=y+Math.imul(Xe,Qe)|0,w=w+Math.imul(ce,Ee)|0,d=d+Math.imul(ce,_e)|0,d=d+Math.imul(Oe,Ee)|0,y=y+Math.imul(Oe,_e)|0,w=w+Math.imul(de,ye)|0,d=d+Math.imul(de,ot)|0,d=d+Math.imul(De,ye)|0,y=y+Math.imul(De,ot)|0,w=w+Math.imul(Q,Ae)|0,d=d+Math.imul(Q,it)|0,d=d+Math.imul(le,Ae)|0,y=y+Math.imul(le,it)|0,w=w+Math.imul(Z,me)|0,d=d+Math.imul(Z,He)|0,d=d+Math.imul(he,me)|0,y=y+Math.imul(he,He)|0,w=w+Math.imul(j,Ie)|0,d=d+Math.imul(j,at)|0,d=d+Math.imul(ee,Ie)|0,y=y+Math.imul(ee,at)|0,w=w+Math.imul(F,Se)|0,d=d+Math.imul(F,Ze)|0,d=d+Math.imul(V,Se)|0,y=y+Math.imul(V,Ze)|0;var lr=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(lr>>>26)|0,lr&=67108863,w=Math.imul(oe,xe),d=Math.imul(oe,Qe),d=d+Math.imul(et,xe)|0,y=Math.imul(et,Qe),w=w+Math.imul(te,Ee)|0,d=d+Math.imul(te,_e)|0,d=d+Math.imul(Xe,Ee)|0,y=y+Math.imul(Xe,_e)|0,w=w+Math.imul(ce,ye)|0,d=d+Math.imul(ce,ot)|0,d=d+Math.imul(Oe,ye)|0,y=y+Math.imul(Oe,ot)|0,w=w+Math.imul(de,Ae)|0,d=d+Math.imul(de,it)|0,d=d+Math.imul(De,Ae)|0,y=y+Math.imul(De,it)|0,w=w+Math.imul(Q,me)|0,d=d+Math.imul(Q,He)|0,d=d+Math.imul(le,me)|0,y=y+Math.imul(le,He)|0,w=w+Math.imul(Z,Ie)|0,d=d+Math.imul(Z,at)|0,d=d+Math.imul(he,Ie)|0,y=y+Math.imul(he,at)|0,w=w+Math.imul(j,Se)|0,d=d+Math.imul(j,Ze)|0,d=d+Math.imul(ee,Se)|0,y=y+Math.imul(ee,Ze)|0;var pr=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(pr>>>26)|0,pr&=67108863,w=Math.imul(oe,Ee),d=Math.imul(oe,_e),d=d+Math.imul(et,Ee)|0,y=Math.imul(et,_e),w=w+Math.imul(te,ye)|0,d=d+Math.imul(te,ot)|0,d=d+Math.imul(Xe,ye)|0,y=y+Math.imul(Xe,ot)|0,w=w+Math.imul(ce,Ae)|0,d=d+Math.imul(ce,it)|0,d=d+Math.imul(Oe,Ae)|0,y=y+Math.imul(Oe,it)|0,w=w+Math.imul(de,me)|0,d=d+Math.imul(de,He)|0,d=d+Math.imul(De,me)|0,y=y+Math.imul(De,He)|0,w=w+Math.imul(Q,Ie)|0,d=d+Math.imul(Q,at)|0,d=d+Math.imul(le,Ie)|0,y=y+Math.imul(le,at)|0,w=w+Math.imul(Z,Se)|0,d=d+Math.imul(Z,Ze)|0,d=d+Math.imul(he,Se)|0,y=y+Math.imul(he,Ze)|0;var Hr=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(Hr>>>26)|0,Hr&=67108863,w=Math.imul(oe,ye),d=Math.imul(oe,ot),d=d+Math.imul(et,ye)|0,y=Math.imul(et,ot),w=w+Math.imul(te,Ae)|0,d=d+Math.imul(te,it)|0,d=d+Math.imul(Xe,Ae)|0,y=y+Math.imul(Xe,it)|0,w=w+Math.imul(ce,me)|0,d=d+Math.imul(ce,He)|0,d=d+Math.imul(Oe,me)|0,y=y+Math.imul(Oe,He)|0,w=w+Math.imul(de,Ie)|0,d=d+Math.imul(de,at)|0,d=d+Math.imul(De,Ie)|0,y=y+Math.imul(De,at)|0,w=w+Math.imul(Q,Se)|0,d=d+Math.imul(Q,Ze)|0,d=d+Math.imul(le,Se)|0,y=y+Math.imul(le,Ze)|0;var ci=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(ci>>>26)|0,ci&=67108863,w=Math.imul(oe,Ae),d=Math.imul(oe,it),d=d+Math.imul(et,Ae)|0,y=Math.imul(et,it),w=w+Math.imul(te,me)|0,d=d+Math.imul(te,He)|0,d=d+Math.imul(Xe,me)|0,y=y+Math.imul(Xe,He)|0,w=w+Math.imul(ce,Ie)|0,d=d+Math.imul(ce,at)|0,d=d+Math.imul(Oe,Ie)|0,y=y+Math.imul(Oe,at)|0,w=w+Math.imul(de,Se)|0,d=d+Math.imul(de,Ze)|0,d=d+Math.imul(De,Se)|0,y=y+Math.imul(De,Ze)|0;var Kt=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(Kt>>>26)|0,Kt&=67108863,w=Math.imul(oe,me),d=Math.imul(oe,He),d=d+Math.imul(et,me)|0,y=Math.imul(et,He),w=w+Math.imul(te,Ie)|0,d=d+Math.imul(te,at)|0,d=d+Math.imul(Xe,Ie)|0,y=y+Math.imul(Xe,at)|0,w=w+Math.imul(ce,Se)|0,d=d+Math.imul(ce,Ze)|0,d=d+Math.imul(Oe,Se)|0,y=y+Math.imul(Oe,Ze)|0;var Zr=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,w=Math.imul(oe,Ie),d=Math.imul(oe,at),d=d+Math.imul(et,Ie)|0,y=Math.imul(et,at),w=w+Math.imul(te,Se)|0,d=d+Math.imul(te,Ze)|0,d=d+Math.imul(Xe,Se)|0,y=y+Math.imul(Xe,Ze)|0;var Fr=(E+w|0)+((d&8191)<<13)|0;E=(y+(d>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,w=Math.imul(oe,Se),d=Math.imul(oe,Ze),d=d+Math.imul(et,Se)|0,y=Math.imul(et,Ze);var Ar=(E+w|0)+((d&8191)<<13)|0;return E=(y+(d>>>13)|0)+(Ar>>>26)|0,Ar&=67108863,x[0]=Fe,x[1]=$e,x[2]=Vt,x[3]=ut,x[4]=dt,x[5]=wt,x[6]=mt,x[7]=nr,x[8]=dr,x[9]=Tr,x[10]=Jr,x[11]=lr,x[12]=pr,x[13]=Hr,x[14]=ci,x[15]=Kt,x[16]=Zr,x[17]=Fr,x[18]=Ar,E!==0&&(x[19]=E,f.length++),f};Math.imul||(N=I);function C(D,b,p){p.negative=b.negative^D.negative,p.length=D.length+b.length;for(var f=0,h=0,g=0;g<p.length-1;g++){var x=h;h=0;for(var E=f&67108863,w=Math.min(g,b.length-1),d=Math.max(0,g-D.length+1);d<=w;d++){var y=g-d,m=D.words[y]|0,O=b.words[d]|0,Y=m*O,S=Y&67108863;x=x+(Y/67108864|0)|0,S=S+E|0,E=S&67108863,x=x+(S>>>26)|0,h+=x>>>26,x&=67108863}p.words[g]=E,f=x,x=h}return f!==0?p.words[g]=f:p.length--,p.strip()}function P(D,b,p){var f=new U;return f.mulp(D,b,p)}s.prototype.mulTo=function(b,p){var f,h=this.length+b.length;return this.length===10&&b.length===10?f=N(this,b,p):h<63?f=I(this,b,p):h<1024?f=C(this,b,p):f=P(this,b,p),f};function U(D,b){this.x=D,this.y=b}U.prototype.makeRBT=function(b){for(var p=new Array(b),f=s.prototype._countBits(b)-1,h=0;h<b;h++)p[h]=this.revBin(h,f,b);return p},U.prototype.revBin=function(b,p,f){if(b===0||b===f-1)return b;for(var h=0,g=0;g<p;g++)h|=(b&1)<<p-g-1,b>>=1;return h},U.prototype.permute=function(b,p,f,h,g,x){for(var E=0;E<x;E++)h[E]=p[b[E]],g[E]=f[b[E]]},U.prototype.transform=function(b,p,f,h,g,x){this.permute(x,b,p,f,h,g);for(var E=1;E<g;E<<=1)for(var w=E<<1,d=Math.cos(2*Math.PI/w),y=Math.sin(2*Math.PI/w),m=0;m<g;m+=w)for(var O=d,Y=y,S=0;S<E;S++){var z=f[m+S],K=h[m+S],q=f[m+S+E],F=h[m+S+E],V=O*q-Y*F;F=O*F+Y*q,q=V,f[m+S]=z+q,h[m+S]=K+F,f[m+S+E]=z-q,h[m+S+E]=K-F,S!==w&&(V=d*O-y*Y,Y=d*Y+y*O,O=V)}},U.prototype.guessLen13b=function(b,p){var f=Math.max(p,b)|1,h=f&1,g=0;for(f=f/2|0;f;f=f>>>1)g++;return 1<<g+1+h},U.prototype.conjugate=function(b,p,f){if(!(f<=1))for(var h=0;h<f/2;h++){var g=b[h];b[h]=b[f-h-1],b[f-h-1]=g,g=p[h],p[h]=-p[f-h-1],p[f-h-1]=-g}},U.prototype.normalize13b=function(b,p){for(var f=0,h=0;h<p/2;h++){var g=Math.round(b[2*h+1]/p)*8192+Math.round(b[2*h]/p)+f;b[h]=g&67108863,g<67108864?f=0:f=g/67108864|0}return b},U.prototype.convert13b=function(b,p,f,h){for(var g=0,x=0;x<p;x++)g=g+(b[x]|0),f[2*x]=g&8191,g=g>>>13,f[2*x+1]=g&8191,g=g>>>13;for(x=2*p;x<h;++x)f[x]=0;i(g===0),i((g&-8192)===0)},U.prototype.stub=function(b){for(var p=new Array(b),f=0;f<b;f++)p[f]=0;return p},U.prototype.mulp=function(b,p,f){var h=2*this.guessLen13b(b.length,p.length),g=this.makeRBT(h),x=this.stub(h),E=new Array(h),w=new Array(h),d=new Array(h),y=new Array(h),m=new Array(h),O=new Array(h),Y=f.words;Y.length=h,this.convert13b(b.words,b.length,E,h),this.convert13b(p.words,p.length,y,h),this.transform(E,x,w,d,h,g),this.transform(y,x,m,O,h,g);for(var S=0;S<h;S++){var z=w[S]*m[S]-d[S]*O[S];d[S]=w[S]*O[S]+d[S]*m[S],w[S]=z}return this.conjugate(w,d,h),this.transform(w,d,Y,x,h,g),this.conjugate(Y,x,h),this.normalize13b(Y,h),f.negative=b.negative^p.negative,f.length=b.length+p.length,f.strip()},s.prototype.mul=function(b){var p=new s(null);return p.words=new Array(this.length+b.length),this.mulTo(b,p)},s.prototype.mulf=function(b){var p=new s(null);return p.words=new Array(this.length+b.length),P(this,b,p)},s.prototype.imul=function(b){return this.clone().mulTo(b,this)},s.prototype.imuln=function(b){i(typeof b=="number"),i(b<67108864);for(var p=0,f=0;f<this.length;f++){var h=(this.words[f]|0)*b,g=(h&67108863)+(p&67108863);p>>=26,p+=h/67108864|0,p+=g>>>26,this.words[f]=g&67108863}return p!==0&&(this.words[f]=p,this.length++),this},s.prototype.muln=function(b){return this.clone().imuln(b)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(b){var p=M(b);if(p.length===0)return new s(1);for(var f=this,h=0;h<p.length&&p[h]===0;h++,f=f.sqr());if(++h<p.length)for(var g=f.sqr();h<p.length;h++,g=g.sqr())p[h]!==0&&(f=f.mul(g));return f},s.prototype.iushln=function(b){i(typeof b=="number"&&b>=0);var p=b%26,f=(b-p)/26,h=67108863>>>26-p<<26-p,g;if(p!==0){var x=0;for(g=0;g<this.length;g++){var E=this.words[g]&h,w=(this.words[g]|0)-E<<p;this.words[g]=w|x,x=E>>>26-p}x&&(this.words[g]=x,this.length++)}if(f!==0){for(g=this.length-1;g>=0;g--)this.words[g+f]=this.words[g];for(g=0;g<f;g++)this.words[g]=0;this.length+=f}return this.strip()},s.prototype.ishln=function(b){return i(this.negative===0),this.iushln(b)},s.prototype.iushrn=function(b,p,f){i(typeof b=="number"&&b>=0);var h;p?h=(p-p%26)/26:h=0;var g=b%26,x=Math.min((b-g)/26,this.length),E=67108863^67108863>>>g<<g,w=f;if(h-=x,h=Math.max(0,h),w){for(var d=0;d<x;d++)w.words[d]=this.words[d];w.length=x}if(x!==0)if(this.length>x)for(this.length-=x,d=0;d<this.length;d++)this.words[d]=this.words[d+x];else this.words[0]=0,this.length=1;var y=0;for(d=this.length-1;d>=0&&(y!==0||d>=h);d--){var m=this.words[d]|0;this.words[d]=y<<26-g|m>>>g,y=m&E}return w&&y!==0&&(w.words[w.length++]=y),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(b,p,f){return i(this.negative===0),this.iushrn(b,p,f)},s.prototype.shln=function(b){return this.clone().ishln(b)},s.prototype.ushln=function(b){return this.clone().iushln(b)},s.prototype.shrn=function(b){return this.clone().ishrn(b)},s.prototype.ushrn=function(b){return this.clone().iushrn(b)},s.prototype.testn=function(b){i(typeof b=="number"&&b>=0);var p=b%26,f=(b-p)/26,h=1<<p;if(this.length<=f)return!1;var g=this.words[f];return!!(g&h)},s.prototype.imaskn=function(b){i(typeof b=="number"&&b>=0);var p=b%26,f=(b-p)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=f)return this;if(p!==0&&f++,this.length=Math.min(f,this.length),p!==0){var h=67108863^67108863>>>p<<p;this.words[this.length-1]&=h}return this.strip()},s.prototype.maskn=function(b){return this.clone().imaskn(b)},s.prototype.iaddn=function(b){return i(typeof b=="number"),i(b<67108864),b<0?this.isubn(-b):this.negative!==0?this.length===1&&(this.words[0]|0)<b?(this.words[0]=b-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(b),this.negative=1,this):this._iaddn(b)},s.prototype._iaddn=function(b){this.words[0]+=b;for(var p=0;p<this.length&&this.words[p]>=67108864;p++)this.words[p]-=67108864,p===this.length-1?this.words[p+1]=1:this.words[p+1]++;return this.length=Math.max(this.length,p+1),this},s.prototype.isubn=function(b){if(i(typeof b=="number"),i(b<67108864),b<0)return this.iaddn(-b);if(this.negative!==0)return this.negative=0,this.iaddn(b),this.negative=1,this;if(this.words[0]-=b,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var p=0;p<this.length&&this.words[p]<0;p++)this.words[p]+=67108864,this.words[p+1]-=1;return this.strip()},s.prototype.addn=function(b){return this.clone().iaddn(b)},s.prototype.subn=function(b){return this.clone().isubn(b)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(b,p,f){var h=b.length+f,g;this._expand(h);var x,E=0;for(g=0;g<b.length;g++){x=(this.words[g+f]|0)+E;var w=(b.words[g]|0)*p;x-=w&67108863,E=(x>>26)-(w/67108864|0),this.words[g+f]=x&67108863}for(;g<this.length-f;g++)x=(this.words[g+f]|0)+E,E=x>>26,this.words[g+f]=x&67108863;if(E===0)return this.strip();for(i(E===-1),E=0,g=0;g<this.length;g++)x=-(this.words[g]|0)+E,E=x>>26,this.words[g]=x&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(b,p){var f=this.length-b.length,h=this.clone(),g=b,x=g.words[g.length-1]|0,E=this._countBits(x);f=26-E,f!==0&&(g=g.ushln(f),h.iushln(f),x=g.words[g.length-1]|0);var w=h.length-g.length,d;if(p!=="mod"){d=new s(null),d.length=w+1,d.words=new Array(d.length);for(var y=0;y<d.length;y++)d.words[y]=0}var m=h.clone()._ishlnsubmul(g,1,w);m.negative===0&&(h=m,d&&(d.words[w]=1));for(var O=w-1;O>=0;O--){var Y=(h.words[g.length+O]|0)*67108864+(h.words[g.length+O-1]|0);for(Y=Math.min(Y/x|0,67108863),h._ishlnsubmul(g,Y,O);h.negative!==0;)Y--,h.negative=0,h._ishlnsubmul(g,1,O),h.isZero()||(h.negative^=1);d&&(d.words[O]=Y)}return d&&d.strip(),h.strip(),p!=="div"&&f!==0&&h.iushrn(f),{div:d||null,mod:h}},s.prototype.divmod=function(b,p,f){if(i(!b.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var h,g,x;return this.negative!==0&&b.negative===0?(x=this.neg().divmod(b,p),p!=="mod"&&(h=x.div.neg()),p!=="div"&&(g=x.mod.neg(),f&&g.negative!==0&&g.iadd(b)),{div:h,mod:g}):this.negative===0&&b.negative!==0?(x=this.divmod(b.neg(),p),p!=="mod"&&(h=x.div.neg()),{div:h,mod:x.mod}):this.negative&b.negative?(x=this.neg().divmod(b.neg(),p),p!=="div"&&(g=x.mod.neg(),f&&g.negative!==0&&g.isub(b)),{div:x.div,mod:g}):b.length>this.length||this.cmp(b)<0?{div:new s(0),mod:this}:b.length===1?p==="div"?{div:this.divn(b.words[0]),mod:null}:p==="mod"?{div:null,mod:new s(this.modn(b.words[0]))}:{div:this.divn(b.words[0]),mod:new s(this.modn(b.words[0]))}:this._wordDiv(b,p)},s.prototype.div=function(b){return this.divmod(b,"div",!1).div},s.prototype.mod=function(b){return this.divmod(b,"mod",!1).mod},s.prototype.umod=function(b){return this.divmod(b,"mod",!0).mod},s.prototype.divRound=function(b){var p=this.divmod(b);if(p.mod.isZero())return p.div;var f=p.div.negative!==0?p.mod.isub(b):p.mod,h=b.ushrn(1),g=b.andln(1),x=f.cmp(h);return x<0||g===1&&x===0?p.div:p.div.negative!==0?p.div.isubn(1):p.div.iaddn(1)},s.prototype.modn=function(b){i(b<=67108863);for(var p=(1<<26)%b,f=0,h=this.length-1;h>=0;h--)f=(p*f+(this.words[h]|0))%b;return f},s.prototype.idivn=function(b){i(b<=67108863);for(var p=0,f=this.length-1;f>=0;f--){var h=(this.words[f]|0)+p*67108864;this.words[f]=h/b|0,p=h%b}return this.strip()},s.prototype.divn=function(b){return this.clone().idivn(b)},s.prototype.egcd=function(b){i(b.negative===0),i(!b.isZero());var p=this,f=b.clone();p.negative!==0?p=p.umod(b):p=p.clone();for(var h=new s(1),g=new s(0),x=new s(0),E=new s(1),w=0;p.isEven()&&f.isEven();)p.iushrn(1),f.iushrn(1),++w;for(var d=f.clone(),y=p.clone();!p.isZero();){for(var m=0,O=1;!(p.words[0]&O)&&m<26;++m,O<<=1);if(m>0)for(p.iushrn(m);m-- >0;)(h.isOdd()||g.isOdd())&&(h.iadd(d),g.isub(y)),h.iushrn(1),g.iushrn(1);for(var Y=0,S=1;!(f.words[0]&S)&&Y<26;++Y,S<<=1);if(Y>0)for(f.iushrn(Y);Y-- >0;)(x.isOdd()||E.isOdd())&&(x.iadd(d),E.isub(y)),x.iushrn(1),E.iushrn(1);p.cmp(f)>=0?(p.isub(f),h.isub(x),g.isub(E)):(f.isub(p),x.isub(h),E.isub(g))}return{a:x,b:E,gcd:f.iushln(w)}},s.prototype._invmp=function(b){i(b.negative===0),i(!b.isZero());var p=this,f=b.clone();p.negative!==0?p=p.umod(b):p=p.clone();for(var h=new s(1),g=new s(0),x=f.clone();p.cmpn(1)>0&&f.cmpn(1)>0;){for(var E=0,w=1;!(p.words[0]&w)&&E<26;++E,w<<=1);if(E>0)for(p.iushrn(E);E-- >0;)h.isOdd()&&h.iadd(x),h.iushrn(1);for(var d=0,y=1;!(f.words[0]&y)&&d<26;++d,y<<=1);if(d>0)for(f.iushrn(d);d-- >0;)g.isOdd()&&g.iadd(x),g.iushrn(1);p.cmp(f)>=0?(p.isub(f),h.isub(g)):(f.isub(p),g.isub(h))}var m;return p.cmpn(1)===0?m=h:m=g,m.cmpn(0)<0&&m.iadd(b),m},s.prototype.gcd=function(b){if(this.isZero())return b.abs();if(b.isZero())return this.abs();var p=this.clone(),f=b.clone();p.negative=0,f.negative=0;for(var h=0;p.isEven()&&f.isEven();h++)p.iushrn(1),f.iushrn(1);do{for(;p.isEven();)p.iushrn(1);for(;f.isEven();)f.iushrn(1);var g=p.cmp(f);if(g<0){var x=p;p=f,f=x}else if(g===0||f.cmpn(1)===0)break;p.isub(f)}while(!0);return f.iushln(h)},s.prototype.invm=function(b){return this.egcd(b).a.umod(b)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(b){return this.words[0]&b},s.prototype.bincn=function(b){i(typeof b=="number");var p=b%26,f=(b-p)/26,h=1<<p;if(this.length<=f)return this._expand(f+1),this.words[f]|=h,this;for(var g=h,x=f;g!==0&&x<this.length;x++){var E=this.words[x]|0;E+=g,g=E>>>26,E&=67108863,this.words[x]=E}return g!==0&&(this.words[x]=g,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(b){var p=b<0;if(this.negative!==0&&!p)return-1;if(this.negative===0&&p)return 1;this.strip();var f;if(this.length>1)f=1;else{p&&(b=-b),i(b<=67108863,"Number is too big");var h=this.words[0]|0;f=h===b?0:h<b?-1:1}return this.negative!==0?-f|0:f},s.prototype.cmp=function(b){if(this.negative!==0&&b.negative===0)return-1;if(this.negative===0&&b.negative!==0)return 1;var p=this.ucmp(b);return this.negative!==0?-p|0:p},s.prototype.ucmp=function(b){if(this.length>b.length)return 1;if(this.length<b.length)return-1;for(var p=0,f=this.length-1;f>=0;f--){var h=this.words[f]|0,g=b.words[f]|0;if(h!==g){h<g?p=-1:h>g&&(p=1);break}}return p},s.prototype.gtn=function(b){return this.cmpn(b)===1},s.prototype.gt=function(b){return this.cmp(b)===1},s.prototype.gten=function(b){return this.cmpn(b)>=0},s.prototype.gte=function(b){return this.cmp(b)>=0},s.prototype.ltn=function(b){return this.cmpn(b)===-1},s.prototype.lt=function(b){return this.cmp(b)===-1},s.prototype.lten=function(b){return this.cmpn(b)<=0},s.prototype.lte=function(b){return this.cmp(b)<=0},s.prototype.eqn=function(b){return this.cmpn(b)===0},s.prototype.eq=function(b){return this.cmp(b)===0},s.red=function(b){return new G(b)},s.prototype.toRed=function(b){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),b.convertTo(this)._forceRed(b)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(b){return this.red=b,this},s.prototype.forceRed=function(b){return i(!this.red,"Already a number in reduction context"),this._forceRed(b)},s.prototype.redAdd=function(b){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,b)},s.prototype.redIAdd=function(b){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,b)},s.prototype.redSub=function(b){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,b)},s.prototype.redISub=function(b){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,b)},s.prototype.redShl=function(b){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,b)},s.prototype.redMul=function(b){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,b),this.red.mul(this,b)},s.prototype.redIMul=function(b){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,b),this.red.imul(this,b)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(b){return i(this.red&&!b.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,b)};var k={k256:null,p224:null,p192:null,p25519:null};function W(D,b){this.name=D,this.p=new s(b,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}W.prototype._tmp=function(){var b=new s(null);return b.words=new Array(Math.ceil(this.n/13)),b},W.prototype.ireduce=function(b){var p=b,f;do this.split(p,this.tmp),p=this.imulK(p),p=p.iadd(this.tmp),f=p.bitLength();while(f>this.n);var h=f<this.n?-1:p.ucmp(this.p);return h===0?(p.words[0]=0,p.length=1):h>0?p.isub(this.p):p.strip!==void 0?p.strip():p._strip(),p},W.prototype.split=function(b,p){b.iushrn(this.n,0,p)},W.prototype.imulK=function(b){return b.imul(this.k)};function T(){W.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(T,W),T.prototype.split=function(b,p){for(var f=4194303,h=Math.min(b.length,9),g=0;g<h;g++)p.words[g]=b.words[g];if(p.length=h,b.length<=9){b.words[0]=0,b.length=1;return}var x=b.words[9];for(p.words[p.length++]=x&f,g=10;g<b.length;g++){var E=b.words[g]|0;b.words[g-10]=(E&f)<<4|x>>>22,x=E}x>>>=22,b.words[g-10]=x,x===0&&b.length>10?b.length-=10:b.length-=9},T.prototype.imulK=function(b){b.words[b.length]=0,b.words[b.length+1]=0,b.length+=2;for(var p=0,f=0;f<b.length;f++){var h=b.words[f]|0;p+=h*977,b.words[f]=p&67108863,p=h*64+(p/67108864|0)}return b.words[b.length-1]===0&&(b.length--,b.words[b.length-1]===0&&b.length--),b};function J(){W.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(J,W);function _(){W.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(_,W);function X(){W.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(X,W),X.prototype.imulK=function(b){for(var p=0,f=0;f<b.length;f++){var h=(b.words[f]|0)*19+p,g=h&67108863;h>>>=26,b.words[f]=g,p=h}return p!==0&&(b.words[b.length++]=p),b},s._prime=function(b){if(k[b])return k[b];var p;if(b==="k256")p=new T;else if(b==="p224")p=new J;else if(b==="p192")p=new _;else if(b==="p25519")p=new X;else throw new Error("Unknown prime "+b);return k[b]=p,p};function G(D){if(typeof D=="string"){var b=s._prime(D);this.m=b.p,this.prime=b}else i(D.gtn(1),"modulus must be greater than 1"),this.m=D,this.prime=null}G.prototype._verify1=function(b){i(b.negative===0,"red works only with positives"),i(b.red,"red works only with red numbers")},G.prototype._verify2=function(b,p){i((b.negative|p.negative)===0,"red works only with positives"),i(b.red&&b.red===p.red,"red works only with red numbers")},G.prototype.imod=function(b){return this.prime?this.prime.ireduce(b)._forceRed(this):b.umod(this.m)._forceRed(this)},G.prototype.neg=function(b){return b.isZero()?b.clone():this.m.sub(b)._forceRed(this)},G.prototype.add=function(b,p){this._verify2(b,p);var f=b.add(p);return f.cmp(this.m)>=0&&f.isub(this.m),f._forceRed(this)},G.prototype.iadd=function(b,p){this._verify2(b,p);var f=b.iadd(p);return f.cmp(this.m)>=0&&f.isub(this.m),f},G.prototype.sub=function(b,p){this._verify2(b,p);var f=b.sub(p);return f.cmpn(0)<0&&f.iadd(this.m),f._forceRed(this)},G.prototype.isub=function(b,p){this._verify2(b,p);var f=b.isub(p);return f.cmpn(0)<0&&f.iadd(this.m),f},G.prototype.shl=function(b,p){return this._verify1(b),this.imod(b.ushln(p))},G.prototype.imul=function(b,p){return this._verify2(b,p),this.imod(b.imul(p))},G.prototype.mul=function(b,p){return this._verify2(b,p),this.imod(b.mul(p))},G.prototype.isqr=function(b){return this.imul(b,b.clone())},G.prototype.sqr=function(b){return this.mul(b,b)},G.prototype.sqrt=function(b){if(b.isZero())return b.clone();var p=this.m.andln(3);if(i(p%2===1),p===3){var f=this.m.add(new s(1)).iushrn(2);return this.pow(b,f)}for(var h=this.m.subn(1),g=0;!h.isZero()&&h.andln(1)===0;)g++,h.iushrn(1);i(!h.isZero());var x=new s(1).toRed(this),E=x.redNeg(),w=this.m.subn(1).iushrn(1),d=this.m.bitLength();for(d=new s(2*d*d).toRed(this);this.pow(d,w).cmp(E)!==0;)d.redIAdd(E);for(var y=this.pow(d,h),m=this.pow(b,h.addn(1).iushrn(1)),O=this.pow(b,h),Y=g;O.cmp(x)!==0;){for(var S=O,z=0;S.cmp(x)!==0;z++)S=S.redSqr();i(z<Y);var K=this.pow(y,new s(1).iushln(Y-z-1));m=m.redMul(K),y=K.redSqr(),O=O.redMul(y),Y=z}return m},G.prototype.invm=function(b){var p=b._invmp(this.m);return p.negative!==0?(p.negative=0,this.imod(p).redNeg()):this.imod(p)},G.prototype.pow=function(b,p){if(p.isZero())return new s(1).toRed(this);if(p.cmpn(1)===0)return b.clone();var f=4,h=new Array(1<<f);h[0]=new s(1).toRed(this),h[1]=b;for(var g=2;g<h.length;g++)h[g]=this.mul(h[g-1],b);var x=h[0],E=0,w=0,d=p.bitLength()%26;for(d===0&&(d=26),g=p.length-1;g>=0;g--){for(var y=p.words[g],m=d-1;m>=0;m--){var O=y>>m&1;if(x!==h[0]&&(x=this.sqr(x)),O===0&&E===0){w=0;continue}E<<=1,E|=O,w++,!(w!==f&&(g!==0||m!==0))&&(x=this.mul(x,h[E]),w=0,E=0)}d=26}return x},G.prototype.convertTo=function(b){var p=b.umod(this.m);return p===b?p.clone():p},G.prototype.convertFrom=function(b){var p=b.clone();return p.red=null,p},s.mont=function(b){return new fe(b)};function fe(D){G.call(this,D),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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(fe,G),fe.prototype.convertTo=function(b){return this.imod(b.ushln(this.shift))},fe.prototype.convertFrom=function(b){var p=this.imod(b.mul(this.rinv));return p.red=null,p},fe.prototype.imul=function(b,p){if(b.isZero()||p.isZero())return b.words[0]=0,b.length=1,b;var f=b.imul(p),h=f.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=f.isub(h).iushrn(this.shift),x=g;return g.cmp(this.m)>=0?x=g.isub(this.m):g.cmpn(0)<0&&(x=g.iadd(this.m)),x._forceRed(this)},fe.prototype.mul=function(b,p){if(b.isZero()||p.isZero())return new s(0)._forceRed(this);var f=b.mul(p),h=f.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=f.isub(h).iushrn(this.shift),x=g;return g.cmp(this.m)>=0?x=g.isub(this.m):g.cmpn(0)<0&&(x=g.iadd(this.m)),x._forceRed(this)},fe.prototype.invm=function(b){var p=this.imod(b._invmp(this.m).mul(this.r2));return p._forceRed(this)}})(r,Wt)})(Ei);var nc={};(function(r){var e=r;function t(s,o){if(Array.isArray(s))return s.slice();if(!s)return[];var a=[];if(typeof s!="string"){for(var c=0;c<s.length;c++)a[c]=s[c]|0;return a}if(o==="hex"){s=s.replace(/[^a-z0-9]+/ig,""),s.length%2!==0&&(s="0"+s);for(var c=0;c<s.length;c+=2)a.push(parseInt(s[c]+s[c+1],16))}else for(var c=0;c<s.length;c++){var u=s.charCodeAt(c),l=u>>8,v=u&255;l?a.push(l,v):a.push(v)}return a}e.toArray=t;function i(s){return s.length===1?"0"+s:s}e.zero2=i;function n(s){for(var o="",a=0;a<s.length;a++)o+=i(s[a].toString(16));return o}e.toHex=n,e.encode=function(o,a){return a==="hex"?n(o):o}})(nc),function(r){var e=r,t=Ei.exports,i=En,n=nc;e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode;function s(l,v,A){var M=new Array(Math.max(l.bitLength(),A)+1),I;for(I=0;I<M.length;I+=1)M[I]=0;var N=1<<v+1,C=l.clone();for(I=0;I<M.length;I++){var P,U=C.andln(N-1);C.isOdd()?(U>(N>>1)-1?P=(N>>1)-U:P=U,C.isubn(P)):P=0,M[I]=P,C.iushrn(1)}return M}e.getNAF=s;function o(l,v){var A=[[],[]];l=l.clone(),v=v.clone();for(var M=0,I=0,N;l.cmpn(-M)>0||v.cmpn(-I)>0;){var C=l.andln(3)+M&3,P=v.andln(3)+I&3;C===3&&(C=-1),P===3&&(P=-1);var U;C&1?(N=l.andln(7)+M&7,(N===3||N===5)&&P===2?U=-C:U=C):U=0,A[0].push(U);var k;P&1?(N=v.andln(7)+I&7,(N===3||N===5)&&C===2?k=-P:k=P):k=0,A[1].push(k),2*M===U+1&&(M=1-M),2*I===k+1&&(I=1-I),l.iushrn(1),v.iushrn(1)}return A}e.getJSF=o;function a(l,v,A){var M="_"+v;l.prototype[v]=function(){return this[M]!==void 0?this[M]:this[M]=A.call(this)}}e.cachedProperty=a;function c(l){return typeof l=="string"?e.toArray(l,"hex"):l}e.parseBytes=c;function u(l){return new t(l,"hex","le")}e.intFromLE=u}(Nr);var sa={exports:{}},sc;sa.exports=function(e){return sc||(sc=new en(null)),sc.generate(e)};function en(r){this.rand=r}if(sa.exports.Rand=en,en.prototype.generate=function(e){return this._rand(e)},en.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},typeof self=="object")self.crypto&&self.crypto.getRandomValues?en.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?en.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:typeof window=="object"&&(en.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var ol=Uf;if(typeof ol.randomBytes!="function")throw new Error("Not supported");en.prototype._rand=function(e){return ol.randomBytes(e)}}catch{}var oc={},In=Ei.exports,Xs=Nr,oa=Xs.getNAF,M6=Xs.getJSF,aa=Xs.assert;function tn(r,e){this.type=r,this.p=new In(e.p,16),this.red=e.prime?In.red(e.prime):In.mont(this.p),this.zero=new In(0).toRed(this.red),this.one=new In(1).toRed(this.red),this.two=new In(2).toRed(this.red),this.n=e.n&&new In(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 fa=tn;tn.prototype.point=function(){throw new Error("Not implemented")},tn.prototype.validate=function(){throw new Error("Not implemented")},tn.prototype._fixedNafMul=function(e,t){aa(e.precomputed);var i=e._getDoubles(),n=oa(t,1,this._bitLength),s=(1<<i.step+1)-(i.step%2===0?2:1);s/=3;var o=[],a,c;for(a=0;a<n.length;a+=i.step){c=0;for(var u=a+i.step-1;u>=a;u--)c=(c<<1)+n[u];o.push(c)}for(var l=this.jpoint(null,null,null),v=this.jpoint(null,null,null),A=s;A>0;A--){for(a=0;a<o.length;a++)c=o[a],c===A?v=v.mixedAdd(i.points[a]):c===-A&&(v=v.mixedAdd(i.points[a].neg()));l=l.add(v)}return l.toP()},tn.prototype._wnafMul=function(e,t){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var s=n.points,o=oa(t,i,this._bitLength),a=this.jpoint(null,null,null),c=o.length-1;c>=0;c--){for(var u=0;c>=0&&o[c]===0;c--)u++;if(c>=0&&u++,a=a.dblp(u),c<0)break;var l=o[c];aa(l!==0),e.type==="affine"?l>0?a=a.mixedAdd(s[l-1>>1]):a=a.mixedAdd(s[-l-1>>1].neg()):l>0?a=a.add(s[l-1>>1]):a=a.add(s[-l-1>>1].neg())}return e.type==="affine"?a.toP():a},tn.prototype._wnafMulAdd=function(e,t,i,n,s){var o=this._wnafT1,a=this._wnafT2,c=this._wnafT3,u=0,l,v,A;for(l=0;l<n;l++){A=t[l];var M=A._getNAFPoints(e);o[l]=M.wnd,a[l]=M.points}for(l=n-1;l>=1;l-=2){var I=l-1,N=l;if(o[I]!==1||o[N]!==1){c[I]=oa(i[I],o[I],this._bitLength),c[N]=oa(i[N],o[N],this._bitLength),u=Math.max(c[I].length,u),u=Math.max(c[N].length,u);continue}var C=[t[I],null,null,t[N]];t[I].y.cmp(t[N].y)===0?(C[1]=t[I].add(t[N]),C[2]=t[I].toJ().mixedAdd(t[N].neg())):t[I].y.cmp(t[N].y.redNeg())===0?(C[1]=t[I].toJ().mixedAdd(t[N]),C[2]=t[I].add(t[N].neg())):(C[1]=t[I].toJ().mixedAdd(t[N]),C[2]=t[I].toJ().mixedAdd(t[N].neg()));var P=[-3,-1,-5,-7,0,7,5,1,3],U=M6(i[I],i[N]);for(u=Math.max(U[0].length,u),c[I]=new Array(u),c[N]=new Array(u),v=0;v<u;v++){var k=U[0][v]|0,W=U[1][v]|0;c[I][v]=P[(k+1)*3+(W+1)],c[N][v]=0,a[I]=C}}var T=this.jpoint(null,null,null),J=this._wnafT4;for(l=u;l>=0;l--){for(var _=0;l>=0;){var X=!0;for(v=0;v<n;v++)J[v]=c[v][l]|0,J[v]!==0&&(X=!1);if(!X)break;_++,l--}if(l>=0&&_++,T=T.dblp(_),l<0)break;for(v=0;v<n;v++){var G=J[v];G!==0&&(G>0?A=a[v][G-1>>1]:G<0&&(A=a[v][-G-1>>1].neg()),A.type==="affine"?T=T.mixedAdd(A):T=T.add(A))}}for(l=0;l<n;l++)a[l]=null;return s?T:T.toP()};function Br(r,e){this.curve=r,this.type=e,this.precomputed=null}tn.BasePoint=Br,Br.prototype.eq=function(){throw new Error("Not implemented")},Br.prototype.validate=function(){return this.curve.validate(this)},tn.prototype.decodePoint=function(e,t){e=Xs.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?aa(e[e.length-1]%2===0):e[0]===7&&aa(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")},Br.prototype.encodeCompressed=function(e){return this.encode(e,!0)},Br.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))},Br.prototype.encode=function(e,t){return Xs.encode(this._encode(t),e)},Br.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},Br.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},Br.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,s=0;s<t;s+=e){for(var o=0;o<e;o++)n=n.dbl();i.push(n)}return{step:e,points:i}},Br.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(),s=1;s<i;s++)t[s]=t[s-1].add(n);return{wnd:e,points:t}},Br.prototype._getBeta=function(){return null},Br.prototype.dblp=function(e){for(var t=this,i=0;i<e;i++)t=t.dbl();return t};var O6=Nr,St=Ei.exports,ac=ts.exports,cs=fa,N6=O6.assert;function Vr(r){cs.call(this,"short",r),this.a=new St(r.a,16).toRed(this.red),this.b=new St(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)}ac(Vr,cs);var D6=Vr;Vr.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var t,i;if(e.beta)t=new St(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 St(e.lambda,16);else{var s=this._getEndoRoots(this.n);this.g.mul(s[0]).x.cmp(this.g.x.redMul(t))===0?i=s[0]:(i=s[1],N6(this.g.mul(i).x.cmp(this.g.x.redMul(t))===0))}var o;return e.basis?o=e.basis.map(function(a){return{a:new St(a.a,16),b:new St(a.b,16)}}):o=this._getEndoBasis(i),{beta:t,lambda:i,basis:o}}},Vr.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:St.mont(e),i=new St(2).toRed(t).redInvm(),n=i.redNeg(),s=new St(3).toRed(t).redNeg().redSqrt().redMul(i),o=n.redAdd(s).fromRed(),a=n.redSub(s).fromRed();return[o,a]},Vr.prototype._getEndoBasis=function(e){for(var t=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),s=new St(1),o=new St(0),a=new St(0),c=new St(1),u,l,v,A,M,I,N,C=0,P,U;i.cmpn(0)!==0;){var k=n.div(i);P=n.sub(k.mul(i)),U=a.sub(k.mul(s));var W=c.sub(k.mul(o));if(!v&&P.cmp(t)<0)u=N.neg(),l=s,v=P.neg(),A=U;else if(v&&++C===2)break;N=P,n=i,i=P,a=s,s=U,c=o,o=W}M=P.neg(),I=U;var T=v.sqr().add(A.sqr()),J=M.sqr().add(I.sqr());return J.cmp(T)>=0&&(M=u,I=l),v.negative&&(v=v.neg(),A=A.neg()),M.negative&&(M=M.neg(),I=I.neg()),[{a:v,b:A},{a:M,b:I}]},Vr.prototype._endoSplit=function(e){var t=this.endo.basis,i=t[0],n=t[1],s=n.b.mul(e).divRound(this.n),o=i.b.neg().mul(e).divRound(this.n),a=s.mul(i.a),c=o.mul(n.a),u=s.mul(i.b),l=o.mul(n.b),v=e.sub(a).sub(c),A=u.add(l).neg();return{k1:v,k2:A}},Vr.prototype.pointFromX=function(e,t){e=new St(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 s=n.fromRed().isOdd();return(t&&!s||!t&&s)&&(n=n.redNeg()),this.point(e,n)},Vr.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,i=e.y,n=this.a.redMul(t),s=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(s).cmpn(0)===0},Vr.prototype._endoWnafMulAdd=function(e,t,i){for(var n=this._endoWnafT1,s=this._endoWnafT2,o=0;o<e.length;o++){var a=this._endoSplit(t[o]),c=e[o],u=c._getBeta();a.k1.negative&&(a.k1.ineg(),c=c.neg(!0)),a.k2.negative&&(a.k2.ineg(),u=u.neg(!0)),n[o*2]=c,n[o*2+1]=u,s[o*2]=a.k1,s[o*2+1]=a.k2}for(var l=this._wnafMulAdd(1,n,s,o*2,i),v=0;v<o*2;v++)n[v]=null,s[v]=null;return l};function Ut(r,e,t,i){cs.BasePoint.call(this,r,"affine"),e===null&&t===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new St(e,16),this.y=new St(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)}ac(Ut,cs.BasePoint),Vr.prototype.point=function(e,t,i){return new Ut(this,e,t,i)},Vr.prototype.pointFromJSON=function(e,t){return Ut.fromJSON(this,e,t)},Ut.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(s){return i.point(s.x.redMul(i.endo.beta),s.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}},Ut.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]},Ut.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 s(a){return e.point(a[0],a[1],i)}var o=t[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(s))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(s))}},n},Ut.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)+">"},Ut.prototype.isInfinity=function(){return this.inf},Ut.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)},Ut.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(),s=i.redAdd(i).redIAdd(i).redIAdd(t).redMul(n),o=s.redSqr().redISub(this.x.redAdd(this.x)),a=s.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},Ut.prototype.getX=function(){return this.x.fromRed()},Ut.prototype.getY=function(){return this.y.fromRed()},Ut.prototype.mul=function(e){return e=new St(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)},Ut.prototype.mulAdd=function(e,t,i){var n=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)},Ut.prototype.jmulAdd=function(e,t,i){var n=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)},Ut.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)},Ut.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(s){return s.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},Ut.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 Ht(r,e,t,i){cs.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new St(0)):(this.x=new St(e,16),this.y=new St(t,16),this.z=new St(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}ac(Ht,cs.BasePoint),Vr.prototype.jpoint=function(e,t,i){return new Ht(this,e,t,i)},Ht.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)},Ht.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ht.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),s=e.x.redMul(i),o=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(i.redMul(this.z)),c=n.redSub(s),u=o.redSub(a);if(c.cmpn(0)===0)return u.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var l=c.redSqr(),v=l.redMul(c),A=n.redMul(l),M=u.redSqr().redIAdd(v).redISub(A).redISub(A),I=u.redMul(A.redISub(M)).redISub(o.redMul(v)),N=this.z.redMul(e.z).redMul(c);return this.curve.jpoint(M,I,N)},Ht.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),s=this.y,o=e.y.redMul(t).redMul(this.z),a=i.redSub(n),c=s.redSub(o);if(a.cmpn(0)===0)return c.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),l=u.redMul(a),v=i.redMul(u),A=c.redSqr().redIAdd(l).redISub(v).redISub(v),M=c.redMul(v.redISub(A)).redISub(s.redMul(l)),I=this.z.redMul(a);return this.curve.jpoint(A,M,I)},Ht.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,s=this.curve.tinv,o=this.x,a=this.y,c=this.z,u=c.redSqr().redSqr(),l=a.redAdd(a);for(t=0;t<e;t++){var v=o.redSqr(),A=l.redSqr(),M=A.redSqr(),I=v.redAdd(v).redIAdd(v).redIAdd(n.redMul(u)),N=o.redMul(A),C=I.redSqr().redISub(N.redAdd(N)),P=N.redISub(C),U=I.redMul(P);U=U.redIAdd(U).redISub(M);var k=l.redMul(c);t+1<e&&(u=u.redMul(M)),o=C,c=k,l=U}return this.curve.jpoint(o,l.redMul(s),c)},Ht.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Ht.prototype._zeroDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n),u=c.redSqr().redISub(a).redISub(a),l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),e=u,t=c.redMul(a.redISub(u)).redISub(l),i=this.y.redAdd(this.y)}else{var v=this.x.redSqr(),A=this.y.redSqr(),M=A.redSqr(),I=this.x.redAdd(A).redSqr().redISub(v).redISub(M);I=I.redIAdd(I);var N=v.redAdd(v).redIAdd(v),C=N.redSqr(),P=M.redIAdd(M);P=P.redIAdd(P),P=P.redIAdd(P),e=C.redISub(I).redISub(I),t=N.redMul(I.redISub(e)).redISub(P),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,t,i)},Ht.prototype._threeDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),u=c.redSqr().redISub(a).redISub(a);e=u;var l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),t=c.redMul(a.redISub(u)).redISub(l),i=this.y.redAdd(this.y)}else{var v=this.z.redSqr(),A=this.y.redSqr(),M=this.x.redMul(A),I=this.x.redSub(v).redMul(this.x.redAdd(v));I=I.redAdd(I).redIAdd(I);var N=M.redIAdd(M);N=N.redIAdd(N);var C=N.redAdd(N);e=I.redSqr().redISub(C),i=this.y.redAdd(this.z).redSqr().redISub(A).redISub(v);var P=A.redSqr();P=P.redIAdd(P),P=P.redIAdd(P),P=P.redIAdd(P),t=I.redMul(N.redISub(e)).redISub(P)}return this.curve.jpoint(e,t,i)},Ht.prototype._dbl=function(){var e=this.curve.a,t=this.x,i=this.y,n=this.z,s=n.redSqr().redSqr(),o=t.redSqr(),a=i.redSqr(),c=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(s)),u=t.redAdd(t);u=u.redIAdd(u);var l=u.redMul(a),v=c.redSqr().redISub(l.redAdd(l)),A=l.redISub(v),M=a.redSqr();M=M.redIAdd(M),M=M.redIAdd(M),M=M.redIAdd(M);var I=c.redMul(A).redISub(M),N=i.redAdd(i).redMul(n);return this.curve.jpoint(v,I,N)},Ht.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(),s=e.redAdd(e).redIAdd(e),o=s.redSqr(),a=this.x.redAdd(t).redSqr().redISub(e).redISub(n);a=a.redIAdd(a),a=a.redAdd(a).redIAdd(a),a=a.redISub(o);var c=a.redSqr(),u=n.redIAdd(n);u=u.redIAdd(u),u=u.redIAdd(u),u=u.redIAdd(u);var l=s.redIAdd(a).redSqr().redISub(o).redISub(c).redISub(u),v=t.redMul(l);v=v.redIAdd(v),v=v.redIAdd(v);var A=this.x.redMul(c).redISub(v);A=A.redIAdd(A),A=A.redIAdd(A);var M=this.y.redMul(l.redMul(u.redISub(l)).redISub(a.redMul(c)));M=M.redIAdd(M),M=M.redIAdd(M),M=M.redIAdd(M);var I=this.z.redAdd(a).redSqr().redISub(i).redISub(c);return this.curve.jpoint(A,M,I)},Ht.prototype.mul=function(e,t){return e=new St(e,t),this.curve._wnafMul(this,e)},Ht.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),s=i.redMul(e.z);return this.y.redMul(s).redISub(e.y.redMul(n)).cmpn(0)===0},Ht.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(),s=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(s),this.x.cmp(i)===0)return!0}},Ht.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)+">"},Ht.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var us=Ei.exports,al=ts.exports,ca=fa,R6=Nr;function hs(r){ca.call(this,"mont",r),this.a=new us(r.a,16).toRed(this.red),this.b=new us(r.b,16).toRed(this.red),this.i4=new us(4).toRed(this.red).redInvm(),this.two=new us(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}al(hs,ca);var P6=hs;hs.prototype.validate=function(e){var t=e.normalize().x,i=t.redSqr(),n=i.redMul(t).redAdd(i.redMul(this.a)).redAdd(t),s=n.redSqrt();return s.redSqr().cmp(n)===0};function zt(r,e,t){ca.BasePoint.call(this,r,"projective"),e===null&&t===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new us(e,16),this.z=new us(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}al(zt,ca.BasePoint),hs.prototype.decodePoint=function(e,t){return this.point(R6.toArray(e,t),1)},hs.prototype.point=function(e,t){return new zt(this,e,t)},hs.prototype.pointFromJSON=function(e){return zt.fromJSON(this,e)},zt.prototype.precompute=function(){},zt.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},zt.fromJSON=function(e,t){return new zt(e,t[0],t[1]||e.one)},zt.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)+">"},zt.prototype.isInfinity=function(){return this.z.cmpn(0)===0},zt.prototype.dbl=function(){var e=this.x.redAdd(this.z),t=e.redSqr(),i=this.x.redSub(this.z),n=i.redSqr(),s=t.redSub(n),o=t.redMul(n),a=s.redMul(n.redAdd(this.curve.a24.redMul(s)));return this.curve.point(o,a)},zt.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},zt.prototype.diffAdd=function(e,t){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),s=e.x.redAdd(e.z),o=e.x.redSub(e.z),a=o.redMul(i),c=s.redMul(n),u=t.z.redMul(a.redAdd(c).redSqr()),l=t.x.redMul(a.redISub(c).redSqr());return this.curve.point(u,l)},zt.prototype.mul=function(e){for(var t=e.clone(),i=this,n=this.curve.point(null,null),s=this,o=[];t.cmpn(0)!==0;t.iushrn(1))o.push(t.andln(1));for(var a=o.length-1;a>=0;a--)o[a]===0?(i=i.diffAdd(n,s),n=n.dbl()):(n=i.diffAdd(n,s),i=i.dbl());return n},zt.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},zt.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},zt.prototype.eq=function(e){return this.getX().cmp(e.getX())===0},zt.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},zt.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var T6=Nr,zi=Ei.exports,fl=ts.exports,ua=fa,F6=T6.assert;function Si(r){this.twisted=(r.a|0)!==1,this.mOneA=this.twisted&&(r.a|0)===-1,this.extended=this.mOneA,ua.call(this,"edwards",r),this.a=new zi(r.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new zi(r.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new zi(r.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),F6(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(r.c|0)===1}fl(Si,ua);var q6=Si;Si.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},Si.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},Si.prototype.jpoint=function(e,t,i,n){return this.point(e,t,i,n)},Si.prototype.pointFromX=function(e,t){e=new zi(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=this.c2.redSub(this.a.redMul(i)),s=this.one.redSub(this.c2.redMul(this.d).redMul(i)),o=n.redMul(s.redInvm()),a=o.redSqrt();if(a.redSqr().redSub(o).cmp(this.zero)!==0)throw new Error("invalid point");var c=a.fromRed().isOdd();return(t&&!c||!t&&c)&&(a=a.redNeg()),this.point(e,a)},Si.prototype.pointFromY=function(e,t){e=new zi(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=i.redSub(this.c2),s=i.redMul(this.d).redMul(this.c2).redSub(this.a),o=n.redMul(s.redInvm());if(o.cmp(this.zero)===0){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var a=o.redSqrt();if(a.redSqr().redSub(o).cmp(this.zero)!==0)throw new Error("invalid point");return a.fromRed().isOdd()!==t&&(a=a.redNeg()),this.point(a,e)},Si.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),s=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(i)));return n.cmp(s)===0};function pt(r,e,t,i,n){ua.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 zi(e,16),this.y=new zi(t,16),this.z=i?new zi(i,16):this.curve.one,this.t=n&&new zi(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()))))}fl(pt,ua.BasePoint),Si.prototype.pointFromJSON=function(e){return pt.fromJSON(this,e)},Si.prototype.point=function(e,t,i,n){return new pt(this,e,t,i,n)},pt.fromJSON=function(e,t){return new pt(e,t[0],t[1],t[2])},pt.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)+">"},pt.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},pt.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),s=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=n.redAdd(t),a=o.redSub(i),c=n.redSub(t),u=s.redMul(a),l=o.redMul(c),v=s.redMul(c),A=a.redMul(o);return this.curve.point(u,l,A,v)},pt.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),t=this.x.redSqr(),i=this.y.redSqr(),n,s,o,a,c,u;if(this.curve.twisted){a=this.curve._mulA(t);var l=a.redAdd(i);this.zOne?(n=e.redSub(t).redSub(i).redMul(l.redSub(this.curve.two)),s=l.redMul(a.redSub(i)),o=l.redSqr().redSub(l).redSub(l)):(c=this.z.redSqr(),u=l.redSub(c).redISub(c),n=e.redSub(t).redISub(i).redMul(u),s=l.redMul(a.redSub(i)),o=l.redMul(u))}else a=t.redAdd(i),c=this.curve._mulC(this.z).redSqr(),u=a.redSub(c).redSub(c),n=this.curve._mulC(e.redISub(a)).redMul(u),s=this.curve._mulC(a).redMul(t.redISub(i)),o=a.redMul(u);return this.curve.point(n,s,o)},pt.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},pt.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),s=this.z.redMul(e.z.redAdd(e.z)),o=i.redSub(t),a=s.redSub(n),c=s.redAdd(n),u=i.redAdd(t),l=o.redMul(a),v=c.redMul(u),A=o.redMul(u),M=a.redMul(c);return this.curve.point(l,v,M,A)},pt.prototype._projAdd=function(e){var t=this.z.redMul(e.z),i=t.redSqr(),n=this.x.redMul(e.x),s=this.y.redMul(e.y),o=this.curve.d.redMul(n).redMul(s),a=i.redSub(o),c=i.redAdd(o),u=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(n).redISub(s),l=t.redMul(a).redMul(u),v,A;return this.curve.twisted?(v=t.redMul(c).redMul(s.redSub(this.curve._mulA(n))),A=a.redMul(c)):(v=t.redMul(c).redMul(s.redSub(n)),A=this.curve._mulC(a).redMul(c)),this.curve.point(l,v,A)},pt.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},pt.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},pt.prototype.mulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!1)},pt.prototype.jmulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!0)},pt.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},pt.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},pt.prototype.getX=function(){return this.normalize(),this.x.fromRed()},pt.prototype.getY=function(){return this.normalize(),this.y.fromRed()},pt.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0},pt.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}},pt.prototype.toP=pt.prototype.normalize,pt.prototype.mixedAdd=pt.prototype.add,function(r){var e=r;e.base=fa,e.short=D6,e.mont=P6,e.edwards=q6}(oc);var ha={},fc,cl;function C6(){return cl||(cl=1,fc={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"]]}}),fc}(function(r){var e=r,t=Mr,i=oc,n=Nr,s=n.assert;function o(u){u.type==="short"?this.curve=new i.short(u):u.type==="edwards"?this.curve=new i.edwards(u):this.curve=new i.mont(u),this.g=this.curve.g,this.n=this.curve.n,this.hash=u.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=o;function a(u,l){Object.defineProperty(e,u,{configurable:!0,enumerable:!0,get:function(){var v=new o(l);return Object.defineProperty(e,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:t.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:t.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:t.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: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"]}),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: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"]}),a("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"]}),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:t.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var c;try{c=C6()}catch{c=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:t.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",c]})})(ha);var U6=Mr,Mn=nc,ul=En;function rn(r){if(!(this instanceof rn))return new rn(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=Mn.toArray(r.entropy,r.entropyEnc||"hex"),t=Mn.toArray(r.nonce,r.nonceEnc||"hex"),i=Mn.toArray(r.pers,r.persEnc||"hex");ul(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,i)}var z6=rn;rn.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 s=0;s<this.V.length;s++)this.K[s]=0,this.V[s]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},rn.prototype._hmac=function(){return new U6.hmac(this.hash,this.K)},rn.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())},rn.prototype.reseed=function(e,t,i,n){typeof t!="string"&&(n=i,i=t,t=null),e=Mn.toArray(e,t),i=Mn.toArray(i,n),ul(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},rn.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=Mn.toArray(i,n||"hex"),this._update(i));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);var o=s.slice(0,e);return this._update(i),this._reseed++,Mn.encode(o,t)};var L6=Ei.exports,k6=Nr,cc=k6.assert;function tr(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 B6=tr;tr.fromPublic=function(e,t,i){return t instanceof tr?t:new tr(e,{pub:t,pubEnc:i})},tr.fromPrivate=function(e,t,i){return t instanceof tr?t:new tr(e,{priv:t,privEnc:i})},tr.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"}},tr.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},tr.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv},tr.prototype._importPrivate=function(e,t){this.priv=new L6(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},tr.prototype._importPublic=function(e,t){if(e.x||e.y){this.ec.curve.type==="mont"?cc(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&cc(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)},tr.prototype.derive=function(e){return e.validate()||cc(e.validate(),"public point not validated"),e.mul(this.priv).getX()},tr.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)},tr.prototype.verify=function(e,t,i){return this.ec.verify(e,t,this,void 0,i)},tr.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var da=Ei.exports,uc=Nr,V6=uc.assert;function la(r,e){if(r instanceof la)return r;this._importDER(r,e)||(V6(r.r&&r.s,"Signature without r or s"),this.r=new da(r.r,16),this.s=new da(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var K6=la;function j6(){this.place=0}function hc(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,s=0,o=e.place;s<i;s++,o++)n<<=8,n|=r[o],n>>>=0;return n<=127?!1:(e.place=o,n)}function hl(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)}la.prototype._importDER=function(e,t){e=uc.toArray(e,t);var i=new j6;if(e[i.place++]!==48)return!1;var n=hc(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var s=hc(e,i);if(s===!1||e[i.place]&128)return!1;var o=e.slice(i.place,s+i.place);if(i.place+=s,e[i.place++]!==2)return!1;var a=hc(e,i);if(a===!1||e.length!==a+i.place||e[i.place]&128)return!1;var c=e.slice(i.place,a+i.place);if(o[0]===0)if(o[1]&128)o=o.slice(1);else return!1;if(c[0]===0)if(c[1]&128)c=c.slice(1);else return!1;return this.r=new da(o),this.s=new da(c),this.recoveryParam=null,!0};function dc(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)}la.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=hl(t),i=hl(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];dc(n,t.length),n=n.concat(t),n.push(2),dc(n,i.length);var s=n.concat(i),o=[48];return dc(o,s.length),o=o.concat(s),uc.encode(o,e)};var ni=Ei.exports,dl=z6,W6=Nr,lc=ha,Y6=sa.exports,On=W6.assert,pc=B6,pa=K6;function Kr(r){if(!(this instanceof Kr))return new Kr(r);typeof r=="string"&&(On(Object.prototype.hasOwnProperty.call(lc,r),"Unknown curve "+r),r=lc[r]),r instanceof lc.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 X6=Kr;Kr.prototype.keyPair=function(e){return new pc(this,e)},Kr.prototype.keyFromPrivate=function(e,t){return pc.fromPrivate(this,e,t)},Kr.prototype.keyFromPublic=function(e,t){return pc.fromPublic(this,e,t)},Kr.prototype.genKeyPair=function(e){e||(e={});for(var t=new dl({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Y6(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new ni(2));;){var s=new ni(t.generate(i));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}},Kr.prototype._truncateToN=function(e,t,i){var n;if(ni.isBN(e)||typeof e=="number")e=new ni(e,16),n=e.byteLength();else if(typeof e=="object")n=e.length,e=new ni(e,16);else{var s=e.toString();n=s.length+1>>>1,e=new ni(s,16)}typeof i!="number"&&(i=n*8);var o=i-this.n.bitLength();return o>0&&(e=e.ushrn(o)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},Kr.prototype.sign=function(e,t,i,n){if(typeof i=="object"&&(n=i,i=null),n||(n={}),typeof e!="string"&&typeof e!="number"&&!ni.isBN(e)){On(typeof e=="object"&&e&&typeof e.length=="number","Expected message to be an array-like, a hex string, or a BN instance"),On(e.length>>>0===e.length);for(var s=0;s<e.length;s++)On((e[s]&255)===e[s])}t=this.keyFromPrivate(t,i),e=this._truncateToN(e,!1,n.msgBitLength),On(!e.isNeg(),"Can not sign a negative message");var o=this.n.byteLength(),a=t.getPrivate().toArray("be",o),c=e.toArray("be",o);On(new ni(c).eq(e),"Can not sign message");for(var u=new dl({hash:this.hash,entropy:a,nonce:c,pers:n.pers,persEnc:n.persEnc||"utf8"}),l=this.n.sub(new ni(1)),v=0;;v++){var A=n.k?n.k(v):new ni(u.generate(this.n.byteLength()));if(A=this._truncateToN(A,!0),!(A.cmpn(1)<=0||A.cmp(l)>=0)){var M=this.g.mul(A);if(!M.isInfinity()){var I=M.getX(),N=I.umod(this.n);if(N.cmpn(0)!==0){var C=A.invm(this.n).mul(N.mul(t.getPrivate()).iadd(e));if(C=C.umod(this.n),C.cmpn(0)!==0){var P=(M.getY().isOdd()?1:0)|(I.cmp(N)!==0?2:0);return n.canonical&&C.cmp(this.nh)>0&&(C=this.n.sub(C),P^=1),new pa({r:N,s:C,recoveryParam:P})}}}}}},Kr.prototype.verify=function(e,t,i,n,s){s||(s={}),e=this._truncateToN(e,!1,s.msgBitLength),i=this.keyFromPublic(i,n),t=new pa(t,"hex");var o=t.r,a=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0||a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var c=a.invm(this.n),u=c.mul(e).umod(this.n),l=c.mul(o).umod(this.n),v;return this.curve._maxwellTrick?(v=this.g.jmulAdd(u,i.getPublic(),l),v.isInfinity()?!1:v.eqXToP(o)):(v=this.g.mulAdd(u,i.getPublic(),l),v.isInfinity()?!1:v.getX().umod(this.n).cmp(o)===0)},Kr.prototype.recoverPubKey=function(r,e,t,i){On((3&t)===t,"The recovery param is more than two bits"),e=new pa(e,i);var n=this.n,s=new ni(r),o=e.r,a=e.s,c=t&1,u=t>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");u?o=this.curve.pointFromX(o.add(this.curve.n),c):o=this.curve.pointFromX(o,c);var l=e.r.invm(n),v=n.sub(s).mul(l).umod(n),A=a.mul(l).umod(n);return this.g.mulAdd(v,o,A)},Kr.prototype.getKeyRecoveryParam=function(r,e,t,i){if(e=new pa(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(r,e,n)}catch{continue}if(s.eq(t))return n}throw new Error("Unable to find valid recovery factor")};var Gs=Nr,ll=Gs.assert,pl=Gs.parseBytes,ds=Gs.cachedProperty;function Lt(r,e){this.eddsa=r,this._secret=pl(e.secret),r.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=pl(e.pub)}Lt.fromPublic=function(e,t){return t instanceof Lt?t:new Lt(e,{pub:t})},Lt.fromSecret=function(e,t){return t instanceof Lt?t:new Lt(e,{secret:t})},Lt.prototype.secret=function(){return this._secret},ds(Lt,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),ds(Lt,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),ds(Lt,"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}),ds(Lt,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),ds(Lt,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),ds(Lt,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),Lt.prototype.sign=function(e){return ll(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},Lt.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},Lt.prototype.getSecret=function(e){return ll(this._secret,"KeyPair is public only"),Gs.encode(this.secret(),e)},Lt.prototype.getPublic=function(e){return Gs.encode(this.pubBytes(),e)};var G6=Lt,J6=Ei.exports,ba=Nr,bl=ba.assert,ga=ba.cachedProperty,H6=ba.parseBytes;function Nn(r,e){this.eddsa=r,typeof e!="object"&&(e=H6(e)),Array.isArray(e)&&(bl(e.length===r.encodingLength*2,"Signature has invalid size"),e={R:e.slice(0,r.encodingLength),S:e.slice(r.encodingLength)}),bl(e.R&&e.S,"Signature without R or S"),r.isPoint(e.R)&&(this._R=e.R),e.S instanceof J6&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}ga(Nn,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),ga(Nn,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),ga(Nn,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),ga(Nn,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),Nn.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Nn.prototype.toHex=function(){return ba.encode(this.toBytes(),"hex").toUpperCase()};var Z6=Nn,Q6=Mr,_6=ha,ls=Nr,$6=ls.assert,gl=ls.parseBytes,vl=G6,ml=Z6;function wr(r){if($6(r==="ed25519","only tested with ed25519 so far"),!(this instanceof wr))return new wr(r);r=_6[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=Q6.sha512}var e4=wr;wr.prototype.sign=function(e,t){e=gl(e);var i=this.keyFromSecret(t),n=this.hashInt(i.messagePrefix(),e),s=this.g.mul(n),o=this.encodePoint(s),a=this.hashInt(o,i.pubBytes(),e).mul(i.priv()),c=n.add(a).umod(this.curve.n);return this.makeSignature({R:s,S:c,Rencoded:o})},wr.prototype.verify=function(e,t,i){if(e=gl(e),t=this.makeSignature(t),t.S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var n=this.keyFromPublic(i),s=this.hashInt(t.Rencoded(),n.pubBytes(),e),o=this.g.mul(t.S()),a=t.R().add(n.pub().mul(s));return a.eq(o)},wr.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return ls.intFromLE(e.digest()).umod(this.curve.n)},wr.prototype.keyFromPublic=function(e){return vl.fromPublic(this,e)},wr.prototype.keyFromSecret=function(e){return vl.fromSecret(this,e)},wr.prototype.makeSignature=function(e){return e instanceof ml?e:new ml(this,e)},wr.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},wr.prototype.decodePoint=function(e){e=ls.parseBytes(e);var t=e.length-1,i=e.slice(0,t).concat(e[t]&-129),n=(e[t]&128)!==0,s=ls.intFromLE(i);return this.curve.pointFromY(s,n)},wr.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},wr.prototype.decodeInt=function(e){return ls.intFromLE(e)},wr.prototype.isPoint=function(e){return e instanceof this.pointClass},function(r){var e=r;e.version=I6.version,e.utils=Nr,e.rand=sa.exports,e.curve=oc,e.curves=ha,e.ec=X6,e.eddsa=e4}(sl);const t4={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"}},r4=":";function Js(r){const[e,t]=r.split(r4);return{namespace:e,reference:t}}function yl(r,e){return r.includes(":")?[r]:e.chains||[]}const i4="ReactNative",rr={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},n4="js";function va(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function nn(){return!Us()&&!!Pf()&&navigator.product===i4}function s4(){return nn()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="android"}function o4(){return nn()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="ios"}function Hs(){return!va()&&!!Pf()&&!!Us()}function jr(){return nn()?rr.reactNative:va()?rr.node:Hs()?rr.browser:rr.unknown}function wl(){var r;try{return nn()&&typeof global<"u"&&typeof(global==null?void 0:global.Application)<"u"?(r=global.Application)==null?void 0:r.applicationId:void 0}catch{return}}function a4(r,e){const t=new URLSearchParams(r);for(const i of Object.keys(e).sort())if(e.hasOwnProperty(i)){const n=e[i];n!==void 0&&t.set(i,n)}return t.toString()}function xl(){return Wh()||{name:"",description:"",url:"",icons:[""]}}function f4(){if(jr()===rr.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=Sm();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 c4(){var r;const e=jr();return e===rr.browser?[e,((r=jh())==null?void 0:r.host)||"unknown"].join(":"):e}function El(r,e,t){const i=f4(),n=c4();return[[r,e].join("-"),[n4,t].join("-"),i,n].join("/")}function u4({protocol:r,version:e,relayUrl:t,sdkVersion:i,auth:n,projectId:s,useOnCloseEvent:o,bundleId:a,packageName:c}){const u=t.split("?"),l=El(r,e,i),v={auth:n,ua:l,projectId:s,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:a||void 0},A=a4(u[1]||"",v);return u[0]+"?"+A}function Dn(r,e){return r.filter(t=>e.includes(t)).length===r.length}function Sl(r){return Object.fromEntries(r.entries())}function Al(r){return new Map(Object.entries(r))}function Rn(r=re.FIVE_MINUTES,e){const t=re.toMiliseconds(r||re.FIVE_MINUTES);let i,n,s,o;return{resolve:a=>{s&&i&&(clearTimeout(s),i(a),o=Promise.resolve(a))},reject:a=>{s&&n&&(clearTimeout(s),n(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);s=setTimeout(()=>{const u=new Error(e);o=Promise.reject(u),c(u)},t),i=a,n=c})}}function sn(r,e,t){return new Promise(async(i,n)=>{const s=setTimeout(()=>n(new Error(t)),e);try{const o=await r;i(o)}catch(o){n(o)}clearTimeout(s)})}function Il(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 h4(r){return Il("topic",r)}function d4(r){return Il("id",r)}function Ml(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 Pt(r,e){return re.fromMiliseconds((e||Date.now())+re.toMiliseconds(r))}function on(r){return Date.now()>=re.toMiliseconds(r)}function Ve(r,e){return`${r}${e?`:${e}`:""}`}function l4(r=[],e=[]){return[...new Set([...r,...e])]}async function p4({id:r,topic:e,wcDeepLink:t}){var i;try{if(!t)return;const n=typeof t=="string"?JSON.parse(t):t,s=n?.href;if(typeof s!="string")return;const o=b4(s,r,e),a=jr();if(a===rr.browser){if(!((i=Us())!=null&&i.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}g4(o)}else a===rr.reactNative&&typeof(global==null?void 0:global.Linking)<"u"&&await global.Linking.openURL(o)}catch(n){console.error(n)}}function b4(r,e,t){const i=`requestId=${e}&sessionTopic=${t}`;r.endsWith("/")&&(r=r.slice(0,-1));let n=`${r}`;if(r.startsWith("https://t.me")){const s=r.includes("?")?"&startapp=":"?startapp=";n=`${n}${s}${w4(i,!0)}`}else n=`${n}/wc?${i}`;return n}function g4(r){let e="_self";y4()?e="_top":(m4()||r.startsWith("https://")||r.startsWith("http://"))&&(e="_blank"),window.open(r,e,"noreferrer noopener")}async function v4(r,e){let t="";try{if(Hs()&&(t=localStorage.getItem(e),t))return t;t=await r.getItem(e)}catch(i){console.error(i)}return t}function Ol(r,e){if(!r.includes(e))return null;const t=r.split(/([&,?,=])/),i=t.indexOf(e);return t[i+2]}function Nl(){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)})}function bc(){return typeof process<"u"&&process.env.IS_VITEST==="true"}function m4(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function y4(){try{return window.self!==window.top}catch{return!1}}function w4(r,e=!1){const t=Buffer.from(r).toString("base64");return e?t.replace(/[=]/g,""):t}function Dl(r){return Buffer.from(r,"base64").toString("utf-8")}function x4(r){return new Promise(e=>setTimeout(e,r))}function Zs(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function E4(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function ma(r,...e){if(!E4(r))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(r.length))throw new Error("Uint8Array expected of length "+e+", got length="+r.length)}function gc(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Zs(r.outputLen),Zs(r.blockLen)}function ps(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function Rl(r,e){ma(r);const t=e.outputLen;if(r.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const ya=BigInt(2**32-1),Pl=BigInt(32);function S4(r,e=!1){return e?{h:Number(r&ya),l:Number(r>>Pl&ya)}:{h:Number(r>>Pl&ya)|0,l:Number(r&ya)|0}}function A4(r,e=!1){let t=new Uint32Array(r.length),i=new Uint32Array(r.length);for(let n=0;n<r.length;n++){const{h:s,l:o}=S4(r[n],e);[t[n],i[n]]=[s,o]}return[t,i]}const I4=(r,e,t)=>r<<t|e>>>32-t,M4=(r,e,t)=>e<<t|r>>>32-t,O4=(r,e,t)=>e<<t-32|r>>>64-t,N4=(r,e,t)=>r<<t-32|e>>>64-t,bs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function D4(r){return new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4))}function vc(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function Ai(r,e){return r<<32-e|r>>>e}const Tl=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function R4(r){return r<<24&4278190080|r<<8&16711680|r>>>8&65280|r>>>24&255}function Fl(r){for(let e=0;e<r.length;e++)r[e]=R4(r[e])}function P4(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function gs(r){return typeof r=="string"&&(r=P4(r)),ma(r),r}class mc{clone(){return this._cloneInto()}}function ql(r){const e=i=>r().update(gs(i)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function Qs(r=32){if(bs&&typeof bs.getRandomValues=="function")return bs.getRandomValues(new Uint8Array(r));if(bs&&typeof bs.randomBytes=="function")return bs.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}const Cl=[],Ul=[],zl=[],T4=BigInt(0),_s=BigInt(1),F4=BigInt(2),q4=BigInt(7),C4=BigInt(256),U4=BigInt(113);for(let r=0,e=_s,t=1,i=0;r<24;r++){[t,i]=[i,(2*t+3*i)%5],Cl.push(2*(5*i+t)),Ul.push((r+1)*(r+2)/2%64);let n=T4;for(let s=0;s<7;s++)e=(e<<_s^(e>>q4)*U4)%C4,e&F4&&(n^=_s<<(_s<<BigInt(s))-_s);zl.push(n)}const[z4,L4]=A4(zl,!0),Ll=(r,e,t)=>t>32?O4(r,e,t):I4(r,e,t),kl=(r,e,t)=>t>32?N4(r,e,t):M4(r,e,t);function k4(r,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,u=t[c],l=t[c+1],v=Ll(u,l,1)^t[a],A=kl(u,l,1)^t[a+1];for(let M=0;M<50;M+=10)r[o+M]^=v,r[o+M+1]^=A}let n=r[2],s=r[3];for(let o=0;o<24;o++){const a=Ul[o],c=Ll(n,s,a),u=kl(n,s,a),l=Cl[o];n=r[l],s=r[l+1],r[l]=c,r[l+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=z4[i],r[1]^=L4[i]}t.fill(0)}class yc extends mc{constructor(e,t,i,n=!1,s=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=n,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Zs(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=D4(this.state)}keccak(){Tl||Fl(this.state32),k4(this.state32,this.rounds),Tl||Fl(this.state32),this.posOut=0,this.pos=0}update(e){ps(this);const{blockLen:t,state:i}=this;e=gs(e);const n=e.length;for(let s=0;s<n;){const o=Math.min(t-this.pos,n-s);for(let a=0;a<o;a++)i[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:n}=this;e[i]^=t,t&128&&i===n-1&&this.keccak(),e[n-1]^=128,this.keccak()}writeInto(e){ps(this,!1),ma(e),this.finish();const t=this.state,{blockLen:i}=this;for(let n=0,s=e.length;n<s;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,s-n);e.set(t.subarray(this.posOut,this.posOut+o),n),this.posOut+=o,n+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Zs(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Rl(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:i,outputLen:n,rounds:s,enableXOF:o}=this;return e||(e=new yc(t,i,n,o,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=i,e.outputLen=n,e.enableXOF=o,e.destroyed=this.destroyed,e}}const B4=(r,e,t)=>ql(()=>new yc(e,r,t)),V4=B4(1,136,256/8),K4="https://rpc.walletconnect.org/v1";function Bl(r){const e=`Ethereum Signed Message:
|
22
|
-
${
|
23
|
-
- ${
|
24
|
-
`)};function r8(r){return Buffer.from(JSON.stringify(r)).toString("base64")}function i8(r){return JSON.parse(Buffer.from(r,"base64").toString("utf-8"))}function Pn(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 s=i[n];if(!Array.isArray(s))throw new Error(`Ability limits ${n} must be an array of objects, found: ${s}`);if(!s.length)throw new Error(`Value of ${n} is empty array, must be an array with objects`);s.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${n}) must be an array of objects, found: ${o}`)})})})}function n8(r,e,t,i={}){return t?.sort((n,s)=>n.localeCompare(s)),{att:{[r]:s8(e,t,i)}}}function s8(r,e,t={}){e=e?.sort((n,s)=>n.localeCompare(s));const i=e.map(n=>({[`${r}/${n}`]:[t]}));return Object.assign({},...i)}function Yl(r){return Pn(r),`urn:recap:${r8(r).replace(/=/g,"")}`}function $s(r){const e=i8(r.replace("urn:recap:",""));return Pn(e),e}function o8(r,e,t){const i=n8(r,e,t);return Yl(i)}function a8(r){return r&&r.includes("urn:recap:")}function f8(r,e){const t=$s(r),i=$s(e),n=c8(t,i);return Yl(n)}function c8(r,e){Pn(r),Pn(e);const t=Object.keys(r.att).concat(Object.keys(e.att)).sort((n,s)=>n.localeCompare(s)),i={att:{}};return t.forEach(n=>{var s,o;Object.keys(((s=r.att)==null?void 0:s[n])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[n])||{})).sort((a,c)=>a.localeCompare(c)).forEach(a=>{var c,u;i.att[n]=$4(_4({},i.att[n]),{[a]:((c=r.att[n])==null?void 0:c[a])||((u=e.att[n])==null?void 0:u[a])})})}),i}function u8(r="",e){Pn(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(a=>{const c=Object.keys(e.att[a]).map(v=>({ability:v.split("/")[0],action:v.split("/")[1]}));c.sort((v,A)=>v.action.localeCompare(A.action));const u={};c.forEach(v=>{u[v.ability]||(u[v.ability]=[]),u[v.ability].push(v.action)});const l=Object.keys(u).map(v=>(n++,`(${n}) '${v}': '${u[v].join("', '")}' for '${a}'.`));i.push(l.join(", ").replace(".,","."))});const s=i.join(" "),o=`${t}${s}`;return`${r?r+" ":""}${o}`}function Xl(r){var e;const t=$s(r);Pn(t);const i=(e=t.att)==null?void 0:e.eip155;return i?Object.keys(i).map(n=>n.split("/")[1]):[]}function Gl(r){const e=$s(r);Pn(e);const t=[];return Object.values(e.att).forEach(i=>{Object.values(i).forEach(n=>{var s;(s=n?.[0])!=null&&s.chains&&t.push(n[0].chains)})}),[...new Set(t.flat())]}function xa(r){if(!r)return;const e=r?.[r.length-1];return a8(e)?e:void 0}function Ec(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function Jl(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Dr(r,...e){if(!Jl(r))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(r.length))throw new Error("Uint8Array expected of length "+e+", got length="+r.length)}function Hl(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function h8(r,e){Dr(r);const t=e.outputLen;if(r.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function Zl(r){if(typeof r!="boolean")throw new Error(`boolean expected, not ${r}`)}const an=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4)),d8=r=>new DataView(r.buffer,r.byteOffset,r.byteLength);if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");function l8(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}function Sc(r){if(typeof r=="string")r=l8(r);else if(Jl(r))r=Ac(r);else throw new Error("Uint8Array expected, got "+typeof r);return r}function p8(r,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(r,e)}function b8(r,e){if(r.length!==e.length)return!1;let t=0;for(let i=0;i<r.length;i++)t|=r[i]^e[i];return t===0}const g8=(r,e)=>{function t(i,...n){if(Dr(i),r.nonceLength!==void 0){const u=n[0];if(!u)throw new Error("nonce / iv required");r.varSizeNonce?Dr(u):Dr(u,r.nonceLength)}const s=r.tagLength;s&&n[1]!==void 0&&Dr(n[1]);const o=e(i,...n),a=(u,l)=>{if(l!==void 0){if(u!==2)throw new Error("cipher output not supported");Dr(l)}};let c=!1;return{encrypt(u,l){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,Dr(u),a(o.encrypt.length,l),o.encrypt(u,l)},decrypt(u,l){if(Dr(u),s&&u.length<s)throw new Error("invalid ciphertext length: smaller than tagLength="+s);return a(o.decrypt.length,l),o.decrypt(u,l)}}}return Object.assign(t,r),t};function Ql(r,e,t=!0){if(e===void 0)return new Uint8Array(r);if(e.length!==r)throw new Error("invalid output length, expected "+r+", got: "+e.length);if(t&&!v8(e))throw new Error("invalid output, must be aligned");return e}function _l(r,e,t,i){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(t>>n&s),a=Number(t&s),c=i?4:0,u=i?0:4;r.setUint32(e+c,o,i),r.setUint32(e+u,a,i)}function v8(r){return r.byteOffset%4===0}function Ac(r){return Uint8Array.from(r)}function vs(...r){for(let e=0;e<r.length;e++)r[e].fill(0)}const $l=r=>Uint8Array.from(r.split("").map(e=>e.charCodeAt(0))),m8=$l("expand 16-byte k"),y8=$l("expand 32-byte k"),w8=an(m8),x8=an(y8);function ct(r,e){return r<<e|r>>>32-e}function Ic(r){return r.byteOffset%4===0}const Ea=64,E8=16,e0=2**32-1,t0=new Uint32Array;function S8(r,e,t,i,n,s,o,a){const c=n.length,u=new Uint8Array(Ea),l=an(u),v=Ic(n)&&Ic(s),A=v?an(n):t0,M=v?an(s):t0;for(let I=0;I<c;o++){if(r(e,t,i,l,o,a),o>=e0)throw new Error("arx: counter overflow");const N=Math.min(Ea,c-I);if(v&&N===Ea){const C=I/4;if(I%4!==0)throw new Error("arx: invalid block position");for(let P=0,U;P<E8;P++)U=C+P,M[U]=A[U]^l[P];I+=Ea;continue}for(let C=0,P;C<N;C++)P=I+C,s[P]=n[P]^u[C];I+=N}}function A8(r,e){const{allowShortKeys:t,extendNonceFn:i,counterLength:n,counterRight:s,rounds:o}=p8({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof r!="function")throw new Error("core must be a function");return Ec(n),Ec(o),Zl(s),Zl(t),(a,c,u,l,v=0)=>{Dr(a),Dr(c),Dr(u);const A=u.length;if(l===void 0&&(l=new Uint8Array(A)),Dr(l),Ec(v),v<0||v>=e0)throw new Error("arx: counter overflow");if(l.length<A)throw new Error(`arx: output (${l.length}) is shorter than data (${A})`);const M=[];let I=a.length,N,C;if(I===32)M.push(N=Ac(a)),C=x8;else if(I===16&&t)N=new Uint8Array(32),N.set(a),N.set(a,16),C=w8,M.push(N);else throw new Error(`arx: invalid 32-byte key, got length=${I}`);Ic(c)||M.push(c=Ac(c));const P=an(N);if(i){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");i(C,P,an(c.subarray(0,16)),P),c=c.subarray(16)}const U=16-n;if(U!==c.length)throw new Error(`arx: nonce must be ${U} or 16 bytes`);if(U!==12){const W=new Uint8Array(12);W.set(c,s?0:12-c.length),c=W,M.push(c)}const k=an(c);return S8(r,C,P,k,u,l,v,o),vs(...M),l}}const Zt=(r,e)=>r[e++]&255|(r[e++]&255)<<8;class I8{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=Sc(e),Dr(e,32);const t=Zt(e,0),i=Zt(e,2),n=Zt(e,4),s=Zt(e,6),o=Zt(e,8),a=Zt(e,10),c=Zt(e,12),u=Zt(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|i<<3)&8191,this.r[2]=(i>>>10|n<<6)&7939,this.r[3]=(n>>>7|s<<9)&8191,this.r[4]=(s>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let l=0;l<8;l++)this.pad[l]=Zt(e,16+2*l)}process(e,t,i=!1){const n=i?0:2048,{h:s,r:o}=this,a=o[0],c=o[1],u=o[2],l=o[3],v=o[4],A=o[5],M=o[6],I=o[7],N=o[8],C=o[9],P=Zt(e,t+0),U=Zt(e,t+2),k=Zt(e,t+4),W=Zt(e,t+6),T=Zt(e,t+8),J=Zt(e,t+10),_=Zt(e,t+12),X=Zt(e,t+14);let G=s[0]+(P&8191),fe=s[1]+((P>>>13|U<<3)&8191),D=s[2]+((U>>>10|k<<6)&8191),b=s[3]+((k>>>7|W<<9)&8191),p=s[4]+((W>>>4|T<<12)&8191),f=s[5]+(T>>>1&8191),h=s[6]+((T>>>14|J<<2)&8191),g=s[7]+((J>>>11|_<<5)&8191),x=s[8]+((_>>>8|X<<8)&8191),E=s[9]+(X>>>5|n),w=0,d=w+G*a+fe*(5*C)+D*(5*N)+b*(5*I)+p*(5*M);w=d>>>13,d&=8191,d+=f*(5*A)+h*(5*v)+g*(5*l)+x*(5*u)+E*(5*c),w+=d>>>13,d&=8191;let y=w+G*c+fe*a+D*(5*C)+b*(5*N)+p*(5*I);w=y>>>13,y&=8191,y+=f*(5*M)+h*(5*A)+g*(5*v)+x*(5*l)+E*(5*u),w+=y>>>13,y&=8191;let m=w+G*u+fe*c+D*a+b*(5*C)+p*(5*N);w=m>>>13,m&=8191,m+=f*(5*I)+h*(5*M)+g*(5*A)+x*(5*v)+E*(5*l),w+=m>>>13,m&=8191;let O=w+G*l+fe*u+D*c+b*a+p*(5*C);w=O>>>13,O&=8191,O+=f*(5*N)+h*(5*I)+g*(5*M)+x*(5*A)+E*(5*v),w+=O>>>13,O&=8191;let Y=w+G*v+fe*l+D*u+b*c+p*a;w=Y>>>13,Y&=8191,Y+=f*(5*C)+h*(5*N)+g*(5*I)+x*(5*M)+E*(5*A),w+=Y>>>13,Y&=8191;let S=w+G*A+fe*v+D*l+b*u+p*c;w=S>>>13,S&=8191,S+=f*a+h*(5*C)+g*(5*N)+x*(5*I)+E*(5*M),w+=S>>>13,S&=8191;let z=w+G*M+fe*A+D*v+b*l+p*u;w=z>>>13,z&=8191,z+=f*c+h*a+g*(5*C)+x*(5*N)+E*(5*I),w+=z>>>13,z&=8191;let K=w+G*I+fe*M+D*A+b*v+p*l;w=K>>>13,K&=8191,K+=f*u+h*c+g*a+x*(5*C)+E*(5*N),w+=K>>>13,K&=8191;let q=w+G*N+fe*I+D*M+b*A+p*v;w=q>>>13,q&=8191,q+=f*l+h*u+g*c+x*a+E*(5*C),w+=q>>>13,q&=8191;let F=w+G*C+fe*N+D*I+b*M+p*A;w=F>>>13,F&=8191,F+=f*v+h*l+g*u+x*c+E*a,w+=F>>>13,F&=8191,w=(w<<2)+w|0,w=w+d|0,d=w&8191,w=w>>>13,y+=w,s[0]=d,s[1]=y,s[2]=m,s[3]=O,s[4]=Y,s[5]=S,s[6]=z,s[7]=K,s[8]=q,s[9]=F}finalize(){const{h:e,pad:t}=this,i=new Uint16Array(10);let n=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=n,n=e[a]>>>13,e[a]&=8191;e[0]+=n*5,n=e[0]>>>13,e[0]&=8191,e[1]+=n,n=e[1]>>>13,e[1]&=8191,e[2]+=n,i[0]=e[0]+5,n=i[0]>>>13,i[0]&=8191;for(let a=1;a<10;a++)i[a]=e[a]+n,n=i[a]>>>13,i[a]&=8191;i[9]-=8192;let s=(n^1)-1;for(let a=0;a<10;a++)i[a]&=s;s=~s;for(let a=0;a<10;a++)e[a]=e[a]&s|i[a];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+t[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+t[a]|0)+(o>>>16)|0,e[a]=o&65535;vs(i)}update(e){Hl(this);const{buffer:t,blockLen:i}=this;e=Sc(e);const n=e.length;for(let s=0;s<n;){const o=Math.min(i-this.pos,n-s);if(o===i){for(;i<=n-s;s+=i)this.process(e,s);continue}t.set(e.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===i&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){vs(this.h,this.r,this.buffer,this.pad)}digestInto(e){Hl(this),h8(e,this),this.finished=!0;const{buffer:t,h:i}=this;let{pos:n}=this;if(n){for(t[n++]=1;n<16;n++)t[n]=0;this.process(t,0,!0)}this.finalize();let s=0;for(let o=0;o<8;o++)e[s++]=i[o]>>>0,e[s++]=i[o]>>>8;return e}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}}function M8(r){const e=(i,n)=>r(n).update(Sc(i)).digest(),t=r(new Uint8Array(32));return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=i=>r(i),e}const O8=M8(r=>new I8(r));function N8(r,e,t,i,n,s=20){let o=r[0],a=r[1],c=r[2],u=r[3],l=e[0],v=e[1],A=e[2],M=e[3],I=e[4],N=e[5],C=e[6],P=e[7],U=n,k=t[0],W=t[1],T=t[2],J=o,_=a,X=c,G=u,fe=l,D=v,b=A,p=M,f=I,h=N,g=C,x=P,E=U,w=k,d=W,y=T;for(let O=0;O<s;O+=2)J=J+fe|0,E=ct(E^J,16),f=f+E|0,fe=ct(fe^f,12),J=J+fe|0,E=ct(E^J,8),f=f+E|0,fe=ct(fe^f,7),_=_+D|0,w=ct(w^_,16),h=h+w|0,D=ct(D^h,12),_=_+D|0,w=ct(w^_,8),h=h+w|0,D=ct(D^h,7),X=X+b|0,d=ct(d^X,16),g=g+d|0,b=ct(b^g,12),X=X+b|0,d=ct(d^X,8),g=g+d|0,b=ct(b^g,7),G=G+p|0,y=ct(y^G,16),x=x+y|0,p=ct(p^x,12),G=G+p|0,y=ct(y^G,8),x=x+y|0,p=ct(p^x,7),J=J+D|0,y=ct(y^J,16),g=g+y|0,D=ct(D^g,12),J=J+D|0,y=ct(y^J,8),g=g+y|0,D=ct(D^g,7),_=_+b|0,E=ct(E^_,16),x=x+E|0,b=ct(b^x,12),_=_+b|0,E=ct(E^_,8),x=x+E|0,b=ct(b^x,7),X=X+p|0,w=ct(w^X,16),f=f+w|0,p=ct(p^f,12),X=X+p|0,w=ct(w^X,8),f=f+w|0,p=ct(p^f,7),G=G+fe|0,d=ct(d^G,16),h=h+d|0,fe=ct(fe^h,12),G=G+fe|0,d=ct(d^G,8),h=h+d|0,fe=ct(fe^h,7);let m=0;i[m++]=o+J|0,i[m++]=a+_|0,i[m++]=c+X|0,i[m++]=u+G|0,i[m++]=l+fe|0,i[m++]=v+D|0,i[m++]=A+b|0,i[m++]=M+p|0,i[m++]=I+f|0,i[m++]=N+h|0,i[m++]=C+g|0,i[m++]=P+x|0,i[m++]=U+E|0,i[m++]=k+w|0,i[m++]=W+d|0,i[m++]=T+y|0}const D8=A8(N8,{counterRight:!1,counterLength:4,allowShortKeys:!1}),R8=new Uint8Array(16),r0=(r,e)=>{r.update(e);const t=e.length%16;t&&r.update(R8.subarray(t))},P8=new Uint8Array(32);function i0(r,e,t,i,n){const s=r(e,t,P8),o=O8.create(s);n&&r0(o,n),r0(o,i);const a=new Uint8Array(16),c=d8(a);_l(c,0,BigInt(n?n.length:0),!0),_l(c,8,BigInt(i.length),!0),o.update(a);const u=o.digest();return vs(s,a),u}const T8=r=>(e,t,i)=>({encrypt(n,s){const o=n.length;s=Ql(o+16,s,!1),s.set(n);const a=s.subarray(0,-16);r(e,t,a,a,1);const c=i0(r,e,t,a,i);return s.set(c,o),vs(c),s},decrypt(n,s){s=Ql(n.length-16,s,!1);const o=n.subarray(0,-16),a=n.subarray(-16),c=i0(r,e,t,o,i);if(!b8(a,c))throw new Error("invalid tag");return s.set(n.subarray(0,-16)),r(e,t,s,s,1),vs(c),s}}),n0=g8({blockSize:64,nonceLength:12,tagLength:16},T8(D8));class s0 extends mc{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,gc(e);const i=gs(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,s=new Uint8Array(n);s.set(i.length>n?e.create().update(i).digest():i);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return ps(this),this.iHash.update(e),this}digestInto(e){ps(this),ma(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:i,finished:n,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=n,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=i._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Mc=(r,e,t)=>new s0(r,e).update(t).digest();Mc.create=(r,e)=>new s0(r,e);function F8(r,e,t){return gc(r),t===void 0&&(t=new Uint8Array(r.outputLen)),Mc(r,gs(t),gs(e))}const Oc=new Uint8Array([0]),o0=new Uint8Array;function q8(r,e,t,i=32){if(gc(r),Zs(i),i>255*r.outputLen)throw new Error("Length should be <= 255*HashLen");const n=Math.ceil(i/r.outputLen);t===void 0&&(t=o0);const s=new Uint8Array(n*r.outputLen),o=Mc.create(r,e),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let u=0;u<n;u++)Oc[0]=u+1,a.update(u===0?o0:c).update(t).update(Oc).digestInto(c),s.set(c,r.outputLen*u),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),Oc.fill(0),s.slice(0,i)}const C8=(r,e,t,i,n)=>q8(r,F8(r,e,t),i,n);function U8(r,e,t,i){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(t>>n&s),a=Number(t&s),c=i?4:0,u=i?0:4;r.setUint32(e+c,o,i),r.setUint32(e+u,a,i)}function z8(r,e,t){return r&e^~r&t}function L8(r,e,t){return r&e^r&t^e&t}class k8 extends mc{constructor(e,t,i,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=vc(this.buffer)}update(e){ps(this);const{view:t,buffer:i,blockLen:n}=this;e=gs(e);const s=e.length;for(let o=0;o<s;){const a=Math.min(n-this.pos,s-o);if(a===n){const c=vc(e);for(;n<=s-o;o+=n)this.process(c,o);continue}i.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===n&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ps(this),Rl(e,this),this.finished=!0;const{buffer:t,view:i,blockLen:n,isLE:s}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>n-o&&(this.process(i,0),o=0);for(let v=o;v<n;v++)t[v]=0;U8(i,n-8,BigInt(this.length*8),s),this.process(i,0);const a=vc(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let v=0;v<u;v++)a.setUint32(4*v,l[v],s)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:i,length:n,finished:s,destroyed:o,pos:a}=this;return e.length=n,e.pos=a,e.finished=s,e.destroyed=o,n%t&&e.buffer.set(i),e}}const B8=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),fn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),cn=new Uint32Array(64);class V8 extends k8{constructor(){super(64,32,8,!1),this.A=fn[0]|0,this.B=fn[1]|0,this.C=fn[2]|0,this.D=fn[3]|0,this.E=fn[4]|0,this.F=fn[5]|0,this.G=fn[6]|0,this.H=fn[7]|0}get(){const{A:e,B:t,C:i,D:n,E:s,F:o,G:a,H:c}=this;return[e,t,i,n,s,o,a,c]}set(e,t,i,n,s,o,a,c){this.A=e|0,this.B=t|0,this.C=i|0,this.D=n|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,t){for(let v=0;v<16;v++,t+=4)cn[v]=e.getUint32(t,!1);for(let v=16;v<64;v++){const A=cn[v-15],M=cn[v-2],I=Ai(A,7)^Ai(A,18)^A>>>3,N=Ai(M,17)^Ai(M,19)^M>>>10;cn[v]=N+cn[v-7]+I+cn[v-16]|0}let{A:i,B:n,C:s,D:o,E:a,F:c,G:u,H:l}=this;for(let v=0;v<64;v++){const A=Ai(a,6)^Ai(a,11)^Ai(a,25),M=l+A+z8(a,c,u)+B8[v]+cn[v]|0,I=(Ai(i,2)^Ai(i,13)^Ai(i,22))+L8(i,n,s)|0;l=u,u=c,c=a,a=o+M|0,o=s,s=n,n=i,i=M+I|0}i=i+this.A|0,n=n+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(i,n,s,o,a,c,u,l)}roundClean(){cn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Sa=ql(()=>new V8);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const a0=BigInt(0);function Nc(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function f0(r){if(!Nc(r))throw new Error("Uint8Array expected")}const K8=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function j8(r){f0(r);let e="";for(let t=0;t<r.length;t++)e+=K8[r[t]];return e}function W8(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?a0:BigInt("0x"+r)}const Li={_0:48,_9:57,A:65,F:70,a:97,f:102};function c0(r){if(r>=Li._0&&r<=Li._9)return r-Li._0;if(r>=Li.A&&r<=Li.F)return r-(Li.A-10);if(r>=Li.a&&r<=Li.f)return r-(Li.a-10)}function u0(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);const e=r.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(t);for(let n=0,s=0;n<t;n++,s+=2){const o=c0(r.charCodeAt(s)),a=c0(r.charCodeAt(s+1));if(o===void 0||a===void 0){const c=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}i[n]=o*16+a}return i}function h0(r){return f0(r),W8(j8(Uint8Array.from(r).reverse()))}function Y8(r,e){return u0(r.toString(16).padStart(e*2,"0"))}function X8(r,e){return Y8(r,e).reverse()}function d0(r,e,t){let i;if(typeof e=="string")try{i=u0(e)}catch(s){throw new Error(r+" must be hex string or Uint8Array, cause: "+s)}else if(Nc(e))i=Uint8Array.from(e);else throw new Error(r+" must be hex string or Uint8Array");const n=i.length;if(typeof t=="number"&&n!==t)throw new Error(r+" of length "+t+" expected, got "+n);return i}const Dc=r=>typeof r=="bigint"&&a0<=r;function G8(r,e,t){return Dc(r)&&Dc(e)&&Dc(t)&&e<=r&&r<t}function l0(r,e,t,i){if(!G8(e,t,i))throw new Error("expected valid "+r+": "+t+" <= n < "+i+", got "+e)}const J8={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Nc(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function H8(r,e,t={}){const i=(n,s,o)=>{const a=J8[s];if(typeof a!="function")throw new Error("invalid validator function");const c=r[n];if(!(o&&c===void 0)&&!a(c,r))throw new Error("param "+String(n)+" is invalid. Expected "+s+", got "+c)};for(const[n,s]of Object.entries(e))i(n,s,!1);for(const[n,s]of Object.entries(t))i(n,s,!0);return r}const ms=BigInt(0),Aa=BigInt(1);function p0(r,e){const t=r%e;return t>=ms?t:e+t}function Z8(r,e,t){if(e<ms)throw new Error("invalid exponent, negatives unsupported");if(t<=ms)throw new Error("invalid modulus");if(t===Aa)return ms;let i=Aa;for(;e>ms;)e&Aa&&(i=i*r%t),r=r*r%t,e>>=Aa;return i}function si(r,e,t){let i=r;for(;e-- >ms;)i*=i,i%=t;return i}BigInt(0),BigInt(1),BigInt(0),BigInt(1),BigInt(2),BigInt(8);const ys=BigInt(0),Rc=BigInt(1);function Q8(r){return H8(r,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...r})}function _8(r){const e=Q8(r),{P:t}=e,i=U=>p0(U,t),n=e.montgomeryBits,s=Math.ceil(n/8),o=e.nByteLength,a=e.adjustScalarBytes||(U=>U),c=e.powPminus2||(U=>Z8(U,t-BigInt(2),t));function u(U,k,W){const T=i(U*(k-W));return k=i(k-T),W=i(W+T),[k,W]}const l=(e.a-BigInt(2))/BigInt(4);function v(U,k){l0("u",U,ys,t),l0("scalar",k,ys,t);const W=k,T=U;let J=Rc,_=ys,X=U,G=Rc,fe=ys,D;for(let p=BigInt(n-1);p>=ys;p--){const f=W>>p&Rc;fe^=f,D=u(fe,J,X),J=D[0],X=D[1],D=u(fe,_,G),_=D[0],G=D[1],fe=f;const h=J+_,g=i(h*h),x=J-_,E=i(x*x),w=g-E,d=X+G,y=X-G,m=i(y*h),O=i(d*x),Y=m+O,S=m-O;X=i(Y*Y),G=i(T*i(S*S)),J=i(g*E),_=i(w*(g+i(l*w)))}D=u(fe,J,X),J=D[0],X=D[1],D=u(fe,_,G),_=D[0],G=D[1];const b=c(_);return i(J*b)}function A(U){return X8(i(U),s)}function M(U){const k=d0("u coordinate",U,s);return o===32&&(k[31]&=127),h0(k)}function I(U){const k=d0("scalar",U),W=k.length;if(W!==s&&W!==o){let T=""+s+" or "+o;throw new Error("invalid scalar, expected "+T+" bytes, got "+W)}return h0(a(k))}function N(U,k){const W=M(k),T=I(U),J=v(W,T);if(J===ys)throw new Error("invalid private or public key received");return A(J)}const C=A(e.Gu);function P(U){return N(U,C)}return{scalarMult:N,scalarMultBase:P,getSharedSecret:(U,k)=>N(U,k),getPublicKey:U=>P(U),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:C}}const Pc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const $8=BigInt(1),b0=BigInt(2),e5=BigInt(3),t5=BigInt(5);BigInt(8);function r5(r){const e=BigInt(10),t=BigInt(20),i=BigInt(40),n=BigInt(80),s=Pc,o=r*r%s*r%s,a=si(o,b0,s)*o%s,c=si(a,$8,s)*r%s,u=si(c,t5,s)*c%s,l=si(u,e,s)*u%s,v=si(l,t,s)*l%s,A=si(v,i,s)*v%s,M=si(A,n,s)*A%s,I=si(M,n,s)*A%s,N=si(I,e,s)*u%s;return{pow_p_5_8:si(N,b0,s)*r%s,b2:o}}function i5(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}const Tc=(()=>_8({P:Pc,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:r=>{const e=Pc,{pow_p_5_8:t,b2:i}=r5(r);return p0(si(t,e5,e)*i,e)},adjustScalarBytes:i5,randomBytes:Qs}))(),g0="base10",ir="base16",un="base64pad",eo="base64url",to="utf8",v0=0,ki=1,ro=2,n5=0,m0=1,io=12,Fc=32;function s5(){const r=Tc.utils.randomPrivateKey(),e=Tc.getPublicKey(r);return{privateKey:cr(r,ir),publicKey:cr(e,ir)}}function qc(){const r=Qs(Fc);return cr(r,ir)}function o5(r,e){const t=Tc.getSharedSecret(kr(r,ir),kr(e,ir)),i=C8(Sa,t,void 0,void 0,Fc);return cr(i,ir)}function Ia(r){const e=Sa(kr(r,ir));return cr(e,ir)}function Bi(r){const e=Sa(kr(r,to));return cr(e,ir)}function y0(r){return kr(`${r}`,g0)}function Tn(r){return Number(cr(r,g0))}function a5(r){const e=y0(typeof r.type<"u"?r.type:v0);if(Tn(e)===ki&&typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof r.senderPublicKey<"u"?kr(r.senderPublicKey,ir):void 0,i=typeof r.iv<"u"?kr(r.iv,ir):Qs(io),n=kr(r.symKey,ir),s=n0(n,i).encrypt(kr(r.message,to));return w0({type:e,sealed:s,iv:i,senderPublicKey:t,encoding:r.encoding})}function f5(r){const e=kr(r.symKey,ir),{sealed:t,iv:i}=no(r),n=n0(e,i).decrypt(t);if(n===null)throw new Error("Failed to decrypt");return cr(n,to)}function c5(r,e){const t=y0(ro),i=Qs(io),n=kr(r,to);return w0({type:t,sealed:n,iv:i,encoding:e})}function u5(r,e){const{sealed:t}=no({encoded:r,encoding:e});return cr(t,to)}function w0(r){const{encoding:e=un}=r;if(Tn(r.type)===ro)return cr(ec([r.type,r.sealed]),e);if(Tn(r.type)===ki){if(typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return cr(ec([r.type,r.senderPublicKey,r.iv,r.sealed]),e)}return cr(ec([r.type,r.iv,r.sealed]),e)}function no(r){const{encoded:e,encoding:t=un}=r,i=kr(e,t),n=i.slice(n5,m0),s=m0;if(Tn(n)===ki){const u=s+Fc,l=u+io,v=i.slice(s,u),A=i.slice(u,l),M=i.slice(l);return{type:n,sealed:M,iv:A,senderPublicKey:v}}if(Tn(n)===ro){const u=i.slice(s),l=Qs(io);return{type:n,sealed:u,iv:l}}const o=s+io,a=i.slice(s,o),c=i.slice(o);return{type:n,sealed:c,iv:a}}function h5(r,e){const t=no({encoded:r,encoding:e?.encoding});return x0({type:Tn(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?cr(t.senderPublicKey,ir):void 0,receiverPublicKey:e?.receiverPublicKey})}function x0(r){const e=r?.type||v0;if(e===ki){if(typeof r?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof r?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:r?.senderPublicKey,receiverPublicKey:r?.receiverPublicKey}}function E0(r){return r.type===ki&&typeof r.senderPublicKey=="string"&&typeof r.receiverPublicKey=="string"}function S0(r){return r.type===ro}function d5(r){return new sl.ec("p256").keyFromPublic({x:Buffer.from(r.x,"base64").toString("hex"),y:Buffer.from(r.y,"base64").toString("hex")},"hex")}function l5(r){let e=r.replace(/-/g,"+").replace(/_/g,"/");const t=e.length%4;return t>0&&(e+="=".repeat(4-t)),e}function p5(r){return Buffer.from(l5(r),"base64")}function b5(r,e){const[t,i,n]=r.split("."),s=p5(n);if(s.length!==64)throw new Error("Invalid signature length");const o=s.slice(0,32).toString("hex"),a=s.slice(32,64).toString("hex"),c=`${t}.${i}`,u=Sa(c),l=d5(e),v=cr(u,ir);if(!l.verify(v,{r:o,s:a}))throw new Error("Invalid signature");return Rf(r).payload}const g5="irn";function Ma(r){return r?.relay||{protocol:g5}}function so(r){const e=t4[r];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${r}`);return e}function v5(r,e="-"){const t={},i="relay"+e;return Object.keys(r).forEach(n=>{if(n.startsWith(i)){const s=n.replace(i,""),o=r[n];t[s]=o}}),t}function A0(r){if(!r.includes("wc:")){const u=Dl(r);u!=null&&u.includes("wc:")&&(r=u)}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("@"),s=typeof t<"u"?r.substring(t):"",o=new URLSearchParams(s),a={};o.forEach((u,l)=>{a[l]=u});const c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:i,topic:m5(n[0]),version:parseInt(n[1],10),symKey:a.symKey,relay:v5(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function m5(r){return r.startsWith("//")?r.substring(2):r}function y5(r,e="-"){const t="relay",i={};return Object.keys(r).forEach(n=>{const s=t+e+n;r[n]&&(i[s]=r[n])}),i}function I0(r){const e=new URLSearchParams,t=y5(r.relay);Object.keys(t).sort().forEach(n=>{e.set(n,t[n])}),e.set("symKey",r.symKey),r.expiryTimestamp&&e.set("expiryTimestamp",r.expiryTimestamp.toString()),r.methods&&e.set("methods",r.methods.join(","));const i=e.toString();return`${r.protocol}:${r.topic}@${r.version}?${i}`}function Oa(r,e,t){return`${r}?wc_ev=${t}&topic=${e}`}function ws(r){const e=[];return r.forEach(t=>{const[i,n]=t.split(":");e.push(`${i}:${n}`)}),e}function w5(r){const e=[];return Object.values(r).forEach(t=>{e.push(...ws(t.accounts))}),e}function x5(r,e){const t=[];return Object.values(r).forEach(i=>{ws(i.accounts).includes(e)&&t.push(...i.methods)}),t}function E5(r,e){const t=[];return Object.values(r).forEach(i=>{ws(i.accounts).includes(e)&&t.push(...i.events)}),t}function S5(r){const e={};return 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 M0(r,e){e=e.map(i=>i.replace("did:pkh:",""));const t=S5(e);for(const[i,n]of Object.entries(t))n.methods?n.methods=l4(n.methods,r):n.methods=r,n.events=["chainChanged","accountsChanged"];return t}const A5={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}},I5={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 ne(r,e){const{message:t,code:i}=I5[r];return{message:e?`${t} ${e}`:t,code:i}}function bt(r,e){const{message:t,code:i}=A5[r];return{message:e?`${t} ${e}`:t,code:i}}function oo(r,e){return Array.isArray(r)?typeof e<"u"&&r.length?r.every(e):!0:!1}function Na(r){return Object.getPrototypeOf(r)===Object.prototype&&Object.keys(r).length}function ur(r){return typeof r>"u"}function Ot(r,e){return e&&ur(r)?!0:typeof r=="string"&&!!r.trim().length}function Cc(r,e){return e&&ur(r)?!0:typeof r=="number"&&!isNaN(r)}function M5(r,e){const{requiredNamespaces:t}=e,i=Object.keys(r.namespaces),n=Object.keys(t);let s=!0;return Dn(n,i)?(i.forEach(o=>{const{accounts:a,methods:c,events:u}=r.namespaces[o],l=ws(a),v=t[o];(!Dn(yl(o,v),l)||!Dn(v.methods,c)||!Dn(v.events,u))&&(s=!1)}),s):!1}function Da(r){return Ot(r,!1)&&r.includes(":")?r.split(":").length===2:!1}function O5(r){if(Ot(r,!1)&&r.includes(":")){const e=r.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&Da(t)}}return!1}function N5(r){function e(t){try{return typeof new URL(t)<"u"}catch{return!1}}try{if(Ot(r,!1)){if(e(r))return!0;const t=Dl(r);return e(t)}}catch{}return!1}function D5(r){var e;return(e=r?.proposer)==null?void 0:e.publicKey}function R5(r){return r?.topic}function P5(r,e){let t=null;return Ot(r?.publicKey,!1)||(t=ne("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function O0(r){let e=!0;return oo(r)?r.length&&(e=r.every(t=>Ot(t,!1))):e=!1,e}function T5(r,e,t){let i=null;return oo(e)&&e.length?e.forEach(n=>{i||Da(n)||(i=bt("UNSUPPORTED_CHAINS",`${t}, chain ${n} should be a string and conform to "namespace:chainId" format`))}):Da(r)||(i=bt("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 F5(r,e,t){let i=null;return Object.entries(r).forEach(([n,s])=>{if(i)return;const o=T5(n,yl(n,s),`${e} ${t}`);o&&(i=o)}),i}function q5(r,e){let t=null;return oo(r)?r.forEach(i=>{t||O5(i)||(t=bt("UNSUPPORTED_ACCOUNTS",`${e}, account ${i} should be a string and conform to "namespace:chainId:address" format`))}):t=bt("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function C5(r,e){let t=null;return Object.values(r).forEach(i=>{if(t)return;const n=q5(i?.accounts,`${e} namespace`);n&&(t=n)}),t}function U5(r,e){let t=null;return O0(r?.methods)?O0(r?.events)||(t=bt("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=bt("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function N0(r,e){let t=null;return Object.values(r).forEach(i=>{if(t)return;const n=U5(i,`${e}, namespace`);n&&(t=n)}),t}function z5(r,e,t){let i=null;if(r&&Na(r)){const n=N0(r,e);n&&(i=n);const s=F5(r,e,t);s&&(i=s)}else i=ne("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return i}function Uc(r,e){let t=null;if(r&&Na(r)){const i=N0(r,e);i&&(t=i);const n=C5(r,e);n&&(t=n)}else t=ne("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function D0(r){return Ot(r.protocol,!0)}function L5(r,e){let t=!1;return e&&!r?t=!0:r&&oo(r)&&r.length&&r.forEach(i=>{t=D0(i)}),t}function k5(r){return typeof r=="number"}function xr(r){return typeof r<"u"&&typeof r!==null}function B5(r){return!(!r||typeof r!="object"||!r.code||!Cc(r.code,!1)||!r.message||!Ot(r.message,!1))}function V5(r){return!(ur(r)||!Ot(r.method,!1))}function K5(r){return!(ur(r)||ur(r.result)&&ur(r.error)||!Cc(r.id,!1)||!Ot(r.jsonrpc,!1))}function j5(r){return!(ur(r)||!Ot(r.name,!1))}function R0(r,e){return!(!Da(e)||!w5(r).includes(e))}function W5(r,e,t){return Ot(t,!1)?x5(r,e).includes(t):!1}function Y5(r,e,t){return Ot(t,!1)?E5(r,e).includes(t):!1}function P0(r,e,t){let i=null;const n=X5(r),s=G5(e),o=Object.keys(n),a=Object.keys(s),c=T0(Object.keys(r)),u=T0(Object.keys(e)),l=c.filter(v=>!u.includes(v));return l.length&&(i=ne("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces.
|
21
|
+
*/(function(t){(function(){var e="input is invalid type",r="finalize already called",i=typeof window=="object",n=i?window:{};n.JS_SHA3_NO_WINDOW&&(i=!1);var s=!i&&typeof self=="object",o=!n.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;o?n=Nt:s&&(n=self);var a=!n.JS_SHA3_NO_COMMON_JS&&!0&&t.exports,c=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",h="0123456789abcdef".split(""),l=[31,7936,2031616,520093696],y=[4,1024,262144,67108864],M=[1,256,65536,16777216],I=[6,1536,393216,100663296],S=[0,8,16,24],D=[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],R=[224,256,384,512],$=[128,256],T=["hex","buffer","arrayBuffer","array","digest"],C={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}),c&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(x){return typeof x=="object"&&x.buffer&&x.buffer.constructor===ArrayBuffer});for(var L=function(x,N,B){return function(q){return new v(x,N,x).update(q)[B]()}},k=function(x,N,B){return function(q,z){return new v(x,N,z).update(q)[B]()}},j=function(x,N,B){return function(q,z,J,X){return f["cshake"+x].update(q,z,J,X)[B]()}},G=function(x,N,B){return function(q,z,J,X){return f["kmac"+x].update(q,z,J,X)[B]()}},K=function(x,N,B,q){for(var z=0;z<T.length;++z){var J=T[z];x[J]=N(B,q,J)}return x},V=function(x,N){var B=L(x,N,"hex");return B.create=function(){return new v(x,N,x)},B.update=function(q){return B.create().update(q)},K(B,L,x,N)},re=function(x,N){var B=k(x,N,"hex");return B.create=function(q){return new v(x,N,q)},B.update=function(q,z){return B.create(z).update(q)},K(B,k,x,N)},O=function(x,N){var B=C[x],q=j(x,N,"hex");return q.create=function(z,J,X){return!J&&!X?f["shake"+x].create(z):new v(x,N,z).bytepad([J,X],B)},q.update=function(z,J,X,W){return q.create(J,X,W).update(z)},K(q,j,x,N)},g=function(x,N){var B=C[x],q=G(x,N,"hex");return q.create=function(z,J,X){return new A(x,N,J).bytepad(["KMAC",X],B).bytepad([z],B)},q.update=function(z,J,X,W){return q.create(z,X,W).update(J)},K(q,G,x,N)},p=[{name:"keccak",padding:M,bits:R,createMethod:V},{name:"sha3",padding:I,bits:R,createMethod:V},{name:"shake",padding:l,bits:$,createMethod:re},{name:"cshake",padding:y,bits:$,createMethod:O},{name:"kmac",padding:y,bits:$,createMethod:g}],f={},u=[],b=0;b<p.length;++b)for(var _=p[b],E=_.bits,w=0;w<E.length;++w){var d=_.name+"_"+E[w];if(u.push(d),f[d]=_.createMethod(E[w],_.padding),_.name!=="sha3"){var m=_.name+E[w];u.push(m),f[m]=f[d]}}function v(x,N,B){this.blocks=[],this.s=[],this.padding=N,this.outputBits=B,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(x<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=B>>5,this.extraBytes=(B&31)>>3;for(var q=0;q<50;++q)this.s[q]=0}v.prototype.update=function(x){if(this.finalized)throw new Error(r);var N,B=typeof x;if(B!=="string"){if(B==="object"){if(x===null)throw new Error(e);if(c&&x.constructor===ArrayBuffer)x=new Uint8Array(x);else if(!Array.isArray(x)&&(!c||!ArrayBuffer.isView(x)))throw new Error(e)}else throw new Error(e);N=!0}for(var q=this.blocks,z=this.byteCount,J=x.length,X=this.blockCount,W=0,ne=this.s,Q,ee;W<J;){if(this.reset)for(this.reset=!1,q[0]=this.block,Q=1;Q<X+1;++Q)q[Q]=0;if(N)for(Q=this.start;W<J&&Q<z;++W)q[Q>>2]|=x[W]<<S[Q++&3];else for(Q=this.start;W<J&&Q<z;++W)ee=x.charCodeAt(W),ee<128?q[Q>>2]|=ee<<S[Q++&3]:ee<2048?(q[Q>>2]|=(192|ee>>6)<<S[Q++&3],q[Q>>2]|=(128|ee&63)<<S[Q++&3]):ee<55296||ee>=57344?(q[Q>>2]|=(224|ee>>12)<<S[Q++&3],q[Q>>2]|=(128|ee>>6&63)<<S[Q++&3],q[Q>>2]|=(128|ee&63)<<S[Q++&3]):(ee=65536+((ee&1023)<<10|x.charCodeAt(++W)&1023),q[Q>>2]|=(240|ee>>18)<<S[Q++&3],q[Q>>2]|=(128|ee>>12&63)<<S[Q++&3],q[Q>>2]|=(128|ee>>6&63)<<S[Q++&3],q[Q>>2]|=(128|ee&63)<<S[Q++&3]);if(this.lastByteIndex=Q,Q>=z){for(this.start=Q-z,this.block=q[X],Q=0;Q<X;++Q)ne[Q]^=q[Q];U(ne),this.reset=!0}else this.start=Q}return this},v.prototype.encode=function(x,N){var B=x&255,q=1,z=[B];for(x=x>>8,B=x&255;B>0;)z.unshift(B),x=x>>8,B=x&255,++q;return N?z.push(q):z.unshift(q),this.update(z),z.length},v.prototype.encodeString=function(x){var N,B=typeof x;if(B!=="string"){if(B==="object"){if(x===null)throw new Error(e);if(c&&x.constructor===ArrayBuffer)x=new Uint8Array(x);else if(!Array.isArray(x)&&(!c||!ArrayBuffer.isView(x)))throw new Error(e)}else throw new Error(e);N=!0}var q=0,z=x.length;if(N)q=z;else for(var J=0;J<x.length;++J){var X=x.charCodeAt(J);X<128?q+=1:X<2048?q+=2:X<55296||X>=57344?q+=3:(X=65536+((X&1023)<<10|x.charCodeAt(++J)&1023),q+=4)}return q+=this.encode(q*8),this.update(x),q},v.prototype.bytepad=function(x,N){for(var B=this.encode(N),q=0;q<x.length;++q)B+=this.encodeString(x[q]);var z=N-B%N,J=[];return J.length=z,this.update(J),this},v.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var x=this.blocks,N=this.lastByteIndex,B=this.blockCount,q=this.s;if(x[N>>2]|=this.padding[N&3],this.lastByteIndex===this.byteCount)for(x[0]=x[B],N=1;N<B+1;++N)x[N]=0;for(x[B-1]|=2147483648,N=0;N<B;++N)q[N]^=x[N];U(q)}},v.prototype.toString=v.prototype.hex=function(){this.finalize();for(var x=this.blockCount,N=this.s,B=this.outputBlocks,q=this.extraBytes,z=0,J=0,X="",W;J<B;){for(z=0;z<x&&J<B;++z,++J)W=N[z],X+=h[W>>4&15]+h[W&15]+h[W>>12&15]+h[W>>8&15]+h[W>>20&15]+h[W>>16&15]+h[W>>28&15]+h[W>>24&15];J%x===0&&(U(N),z=0)}return q&&(W=N[z],X+=h[W>>4&15]+h[W&15],q>1&&(X+=h[W>>12&15]+h[W>>8&15]),q>2&&(X+=h[W>>20&15]+h[W>>16&15])),X},v.prototype.arrayBuffer=function(){this.finalize();var x=this.blockCount,N=this.s,B=this.outputBlocks,q=this.extraBytes,z=0,J=0,X=this.outputBits>>3,W;q?W=new ArrayBuffer(B+1<<2):W=new ArrayBuffer(X);for(var ne=new Uint32Array(W);J<B;){for(z=0;z<x&&J<B;++z,++J)ne[J]=N[z];J%x===0&&U(N)}return q&&(ne[z]=N[z],W=W.slice(0,X)),W},v.prototype.buffer=v.prototype.arrayBuffer,v.prototype.digest=v.prototype.array=function(){this.finalize();for(var x=this.blockCount,N=this.s,B=this.outputBlocks,q=this.extraBytes,z=0,J=0,X=[],W,ne;J<B;){for(z=0;z<x&&J<B;++z,++J)W=J<<2,ne=N[z],X[W]=ne&255,X[W+1]=ne>>8&255,X[W+2]=ne>>16&255,X[W+3]=ne>>24&255;J%x===0&&U(N)}return q&&(W=J<<2,ne=N[z],X[W]=ne&255,q>1&&(X[W+1]=ne>>8&255),q>2&&(X[W+2]=ne>>16&255)),X};function A(x,N,B){v.call(this,x,N,B)}A.prototype=new v,A.prototype.finalize=function(){return this.encode(this.outputBits,!0),v.prototype.finalize.call(this)};var U=function(x){var N,B,q,z,J,X,W,ne,Q,ee,qe,Ue,he,Pe,Re,ae,$e,Ne,ce,Te,Fe,oe,De,Ce,ie,Ve,He,pe,We,Be,de,Ge,Xe,se,Je,Ze,ge,ze,Oe,ue,ke,je,fe,Qe,et,be,tt,rt,le,Ke,Ae,ve,it,nt,ye,st,xe,Ye,ar,fr,cr,hr,wt;for(q=0;q<48;q+=2)z=x[0]^x[10]^x[20]^x[30]^x[40],J=x[1]^x[11]^x[21]^x[31]^x[41],X=x[2]^x[12]^x[22]^x[32]^x[42],W=x[3]^x[13]^x[23]^x[33]^x[43],ne=x[4]^x[14]^x[24]^x[34]^x[44],Q=x[5]^x[15]^x[25]^x[35]^x[45],ee=x[6]^x[16]^x[26]^x[36]^x[46],qe=x[7]^x[17]^x[27]^x[37]^x[47],Ue=x[8]^x[18]^x[28]^x[38]^x[48],he=x[9]^x[19]^x[29]^x[39]^x[49],N=Ue^(X<<1|W>>>31),B=he^(W<<1|X>>>31),x[0]^=N,x[1]^=B,x[10]^=N,x[11]^=B,x[20]^=N,x[21]^=B,x[30]^=N,x[31]^=B,x[40]^=N,x[41]^=B,N=z^(ne<<1|Q>>>31),B=J^(Q<<1|ne>>>31),x[2]^=N,x[3]^=B,x[12]^=N,x[13]^=B,x[22]^=N,x[23]^=B,x[32]^=N,x[33]^=B,x[42]^=N,x[43]^=B,N=X^(ee<<1|qe>>>31),B=W^(qe<<1|ee>>>31),x[4]^=N,x[5]^=B,x[14]^=N,x[15]^=B,x[24]^=N,x[25]^=B,x[34]^=N,x[35]^=B,x[44]^=N,x[45]^=B,N=ne^(Ue<<1|he>>>31),B=Q^(he<<1|Ue>>>31),x[6]^=N,x[7]^=B,x[16]^=N,x[17]^=B,x[26]^=N,x[27]^=B,x[36]^=N,x[37]^=B,x[46]^=N,x[47]^=B,N=ee^(z<<1|J>>>31),B=qe^(J<<1|z>>>31),x[8]^=N,x[9]^=B,x[18]^=N,x[19]^=B,x[28]^=N,x[29]^=B,x[38]^=N,x[39]^=B,x[48]^=N,x[49]^=B,Pe=x[0],Re=x[1],be=x[11]<<4|x[10]>>>28,tt=x[10]<<4|x[11]>>>28,pe=x[20]<<3|x[21]>>>29,We=x[21]<<3|x[20]>>>29,fr=x[31]<<9|x[30]>>>23,cr=x[30]<<9|x[31]>>>23,je=x[40]<<18|x[41]>>>14,fe=x[41]<<18|x[40]>>>14,se=x[2]<<1|x[3]>>>31,Je=x[3]<<1|x[2]>>>31,ae=x[13]<<12|x[12]>>>20,$e=x[12]<<12|x[13]>>>20,rt=x[22]<<10|x[23]>>>22,le=x[23]<<10|x[22]>>>22,Be=x[33]<<13|x[32]>>>19,de=x[32]<<13|x[33]>>>19,hr=x[42]<<2|x[43]>>>30,wt=x[43]<<2|x[42]>>>30,nt=x[5]<<30|x[4]>>>2,ye=x[4]<<30|x[5]>>>2,Ze=x[14]<<6|x[15]>>>26,ge=x[15]<<6|x[14]>>>26,Ne=x[25]<<11|x[24]>>>21,ce=x[24]<<11|x[25]>>>21,Ke=x[34]<<15|x[35]>>>17,Ae=x[35]<<15|x[34]>>>17,Ge=x[45]<<29|x[44]>>>3,Xe=x[44]<<29|x[45]>>>3,Ce=x[6]<<28|x[7]>>>4,ie=x[7]<<28|x[6]>>>4,st=x[17]<<23|x[16]>>>9,xe=x[16]<<23|x[17]>>>9,ze=x[26]<<25|x[27]>>>7,Oe=x[27]<<25|x[26]>>>7,Te=x[36]<<21|x[37]>>>11,Fe=x[37]<<21|x[36]>>>11,ve=x[47]<<24|x[46]>>>8,it=x[46]<<24|x[47]>>>8,Qe=x[8]<<27|x[9]>>>5,et=x[9]<<27|x[8]>>>5,Ve=x[18]<<20|x[19]>>>12,He=x[19]<<20|x[18]>>>12,Ye=x[29]<<7|x[28]>>>25,ar=x[28]<<7|x[29]>>>25,ue=x[38]<<8|x[39]>>>24,ke=x[39]<<8|x[38]>>>24,oe=x[48]<<14|x[49]>>>18,De=x[49]<<14|x[48]>>>18,x[0]=Pe^~ae&Ne,x[1]=Re^~$e&ce,x[10]=Ce^~Ve&pe,x[11]=ie^~He&We,x[20]=se^~Ze&ze,x[21]=Je^~ge&Oe,x[30]=Qe^~be&rt,x[31]=et^~tt&le,x[40]=nt^~st&Ye,x[41]=ye^~xe&ar,x[2]=ae^~Ne&Te,x[3]=$e^~ce&Fe,x[12]=Ve^~pe&Be,x[13]=He^~We&de,x[22]=Ze^~ze&ue,x[23]=ge^~Oe&ke,x[32]=be^~rt&Ke,x[33]=tt^~le&Ae,x[42]=st^~Ye&fr,x[43]=xe^~ar&cr,x[4]=Ne^~Te&oe,x[5]=ce^~Fe&De,x[14]=pe^~Be&Ge,x[15]=We^~de&Xe,x[24]=ze^~ue&je,x[25]=Oe^~ke&fe,x[34]=rt^~Ke&ve,x[35]=le^~Ae&it,x[44]=Ye^~fr&hr,x[45]=ar^~cr&wt,x[6]=Te^~oe&Pe,x[7]=Fe^~De&Re,x[16]=Be^~Ge&Ce,x[17]=de^~Xe&ie,x[26]=ue^~je&se,x[27]=ke^~fe&Je,x[36]=Ke^~ve&Qe,x[37]=Ae^~it&et,x[46]=fr^~hr&nt,x[47]=cr^~wt&ye,x[8]=oe^~Pe&ae,x[9]=De^~Re&$e,x[18]=Ge^~Ce&Ve,x[19]=Xe^~ie&He,x[28]=je^~se&Ze,x[29]=fe^~Je&ge,x[38]=ve^~Qe&be,x[39]=it^~et&tt,x[48]=hr^~nt&st,x[49]=wt^~ye&xe,x[0]^=D[q],x[1]^=D[q+1]};if(a)t.exports=f;else for(b=0;b<u.length;++b)n[u[b]]=f[u[b]]})()})(Eu);var ky=Eu.exports;function Su(t){return"0x"+ky.keccak_256(xt(t))}const jy="rlp/5.7.0";new Ee(jy);const Ky="address/5.7.0",vs=new Ee(Ky);function Mu(t){ur(t,20)||vs.throwArgumentError("invalid address","address",t),t=t.toLowerCase();const e=t.substring(2).split(""),r=new Uint8Array(40);for(let n=0;n<40;n++)r[n]=e[n].charCodeAt(0);const i=xt(Su(r));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 Vy=9007199254740991;function Hy(t){return Math.log10?Math.log10(t):Math.log(t)/Math.LN10}const nf={};for(let t=0;t<10;t++)nf[String(t)]=String(t);for(let t=0;t<26;t++)nf[String.fromCharCode(65+t)]=String(10+t);const Iu=Math.floor(Hy(Vy));function Wy(t){t=t.toUpperCase(),t=t.substring(4)+t.substring(0,2)+"00";let e=t.split("").map(i=>nf[i]).join("");for(;e.length>=Iu;){let i=e.substring(0,Iu);e=parseInt(i,10)%97+e.substring(i.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}function Gy(t){let e=null;if(typeof t!="string"&&vs.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))t.substring(0,2)!=="0x"&&(t="0x"+t),e=Mu(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&vs.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==Wy(t)&&vs.throwArgumentError("bad icap checksum","address",t),e=Uy(t.substring(4));e.length<40;)e="0"+e;e=Mu("0x"+e)}else vs.throwArgumentError("invalid address","address",t);return e}const Jy="properties/5.7.0";new Ee(Jy);function ys(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}var dr={},Ie={},sn=Au;function Au(t,e){if(!t)throw new Error(e||"Assertion failed")}Au.equal=function(e,r,i){if(e!=r)throw new Error(i||"Assertion failed: "+e+" != "+r)};var Fn={exports:{}};typeof Object.create=="function"?Fn.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Fn.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}};var Yy=sn,Xy=Fn.exports;Ie.inherits=Xy;function Zy(t,e){return(t.charCodeAt(e)&64512)!==55296||e<0||e+1>=t.length?!1:(t.charCodeAt(e+1)&64512)===56320}function Qy(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if(typeof t=="string")if(e){if(e==="hex")for(t=t.replace(/[^a-z0-9]+/ig,""),t.length%2!==0&&(t="0"+t),n=0;n<t.length;n+=2)r.push(parseInt(t[n]+t[n+1],16))}else for(var i=0,n=0;n<t.length;n++){var s=t.charCodeAt(n);s<128?r[i++]=s:s<2048?(r[i++]=s>>6|192,r[i++]=s&63|128):Zy(t,n)?(s=65536+((s&1023)<<10)+(t.charCodeAt(++n)&1023),r[i++]=s>>18|240,r[i++]=s>>12&63|128,r[i++]=s>>6&63|128,r[i++]=s&63|128):(r[i++]=s>>12|224,r[i++]=s>>6&63|128,r[i++]=s&63|128)}else for(n=0;n<t.length;n++)r[n]=t[n]|0;return r}Ie.toArray=Qy;function em(t){for(var e="",r=0;r<t.length;r++)e+=Ou(t[r].toString(16));return e}Ie.toHex=em;function Du(t){var e=t>>>24|t>>>8&65280|t<<8&16711680|(t&255)<<24;return e>>>0}Ie.htonl=Du;function tm(t,e){for(var r="",i=0;i<t.length;i++){var n=t[i];e==="little"&&(n=Du(n)),r+=Pu(n.toString(16))}return r}Ie.toHex32=tm;function Ou(t){return t.length===1?"0"+t:t}Ie.zero2=Ou;function Pu(t){return t.length===7?"0"+t:t.length===6?"00"+t:t.length===5?"000"+t:t.length===4?"0000"+t:t.length===3?"00000"+t:t.length===2?"000000"+t:t.length===1?"0000000"+t:t}Ie.zero8=Pu;function rm(t,e,r,i){var n=r-e;Yy(n%4===0);for(var s=new Array(n/4),o=0,a=e;o<s.length;o++,a+=4){var c;i==="big"?c=t[a]<<24|t[a+1]<<16|t[a+2]<<8|t[a+3]:c=t[a+3]<<24|t[a+2]<<16|t[a+1]<<8|t[a],s[o]=c>>>0}return s}Ie.join32=rm;function im(t,e){for(var r=new Array(t.length*4),i=0,n=0;i<t.length;i++,n+=4){var s=t[i];e==="big"?(r[n]=s>>>24,r[n+1]=s>>>16&255,r[n+2]=s>>>8&255,r[n+3]=s&255):(r[n+3]=s>>>24,r[n+2]=s>>>16&255,r[n+1]=s>>>8&255,r[n]=s&255)}return r}Ie.split32=im;function nm(t,e){return t>>>e|t<<32-e}Ie.rotr32=nm;function sm(t,e){return t<<e|t>>>32-e}Ie.rotl32=sm;function om(t,e){return t+e>>>0}Ie.sum32=om;function am(t,e,r){return t+e+r>>>0}Ie.sum32_3=am;function fm(t,e,r,i){return t+e+r+i>>>0}Ie.sum32_4=fm;function cm(t,e,r,i,n){return t+e+r+i+n>>>0}Ie.sum32_5=cm;function hm(t,e,r,i){var n=t[e],s=t[e+1],o=i+s>>>0,a=(o<i?1:0)+r+n;t[e]=a>>>0,t[e+1]=o}Ie.sum64=hm;function um(t,e,r,i){var n=e+i>>>0,s=(n<e?1:0)+t+r;return s>>>0}Ie.sum64_hi=um;function dm(t,e,r,i){var n=e+i;return n>>>0}Ie.sum64_lo=dm;function lm(t,e,r,i,n,s,o,a){var c=0,h=e;h=h+i>>>0,c+=h<e?1:0,h=h+s>>>0,c+=h<s?1:0,h=h+a>>>0,c+=h<a?1:0;var l=t+r+n+o+c;return l>>>0}Ie.sum64_4_hi=lm;function pm(t,e,r,i,n,s,o,a){var c=e+i+s+a;return c>>>0}Ie.sum64_4_lo=pm;function gm(t,e,r,i,n,s,o,a,c,h){var l=0,y=e;y=y+i>>>0,l+=y<e?1:0,y=y+s>>>0,l+=y<s?1:0,y=y+a>>>0,l+=y<a?1:0,y=y+h>>>0,l+=y<h?1:0;var M=t+r+n+o+c+l;return M>>>0}Ie.sum64_5_hi=gm;function bm(t,e,r,i,n,s,o,a,c,h){var l=e+i+s+a+h;return l>>>0}Ie.sum64_5_lo=bm;function vm(t,e,r){var i=e<<32-r|t>>>r;return i>>>0}Ie.rotr64_hi=vm;function ym(t,e,r){var i=t<<32-r|e>>>r;return i>>>0}Ie.rotr64_lo=ym;function mm(t,e,r){return t>>>r}Ie.shr64_hi=mm;function wm(t,e,r){var i=t<<32-r|e>>>r;return i>>>0}Ie.shr64_lo=wm;var Cn={},Ru=Ie,_m=sn;function yo(){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}Cn.BlockHash=yo,yo.prototype.update=function(e,r){if(e=Ru.toArray(e,r),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=Ru.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},yo.prototype.digest=function(e){return this.update(this._pad()),_m(this.pending===null),this._digest(e)},yo.prototype._pad=function(){var e=this.pendingTotal,r=this._delta8,i=r-(e+this.padLength)%r,n=new Array(i+this.padLength);n[0]=128;for(var s=1;s<i;s++)n[s]=0;if(e<<=3,this.endian==="big"){for(var o=8;o<this.padLength;o++)n[s++]=0;n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=e>>>24&255,n[s++]=e>>>16&255,n[s++]=e>>>8&255,n[s++]=e&255}else for(n[s++]=e&255,n[s++]=e>>>8&255,n[s++]=e>>>16&255,n[s++]=e>>>24&255,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,o=8;o<this.padLength;o++)n[s++]=0;return n};var Bn={},Hr={},xm=Ie,Wr=xm.rotr32;function Em(t,e,r,i){if(t===0)return $u(e,r,i);if(t===1||t===3)return Tu(e,r,i);if(t===2)return Nu(e,r,i)}Hr.ft_1=Em;function $u(t,e,r){return t&e^~t&r}Hr.ch32=$u;function Nu(t,e,r){return t&e^t&r^e&r}Hr.maj32=Nu;function Tu(t,e,r){return t^e^r}Hr.p32=Tu;function Sm(t){return Wr(t,2)^Wr(t,13)^Wr(t,22)}Hr.s0_256=Sm;function Mm(t){return Wr(t,6)^Wr(t,11)^Wr(t,25)}Hr.s1_256=Mm;function Im(t){return Wr(t,7)^Wr(t,18)^t>>>3}Hr.g0_256=Im;function Am(t){return Wr(t,17)^Wr(t,19)^t>>>10}Hr.g1_256=Am;var Ln=Ie,Dm=Cn,Om=Hr,sf=Ln.rotl32,ms=Ln.sum32,Pm=Ln.sum32_5,Rm=Om.ft_1,Fu=Dm.BlockHash,$m=[1518500249,1859775393,2400959708,3395469782];function Gr(){if(!(this instanceof Gr))return new Gr;Fu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Ln.inherits(Gr,Fu);var Nm=Gr;Gr.blockSize=512,Gr.outSize=160,Gr.hmacStrength=80,Gr.padLength=64,Gr.prototype._update=function(e,r){for(var i=this.W,n=0;n<16;n++)i[n]=e[r+n];for(;n<i.length;n++)i[n]=sf(i[n-3]^i[n-8]^i[n-14]^i[n-16],1);var s=this.h[0],o=this.h[1],a=this.h[2],c=this.h[3],h=this.h[4];for(n=0;n<i.length;n++){var l=~~(n/20),y=Pm(sf(s,5),Rm(l,o,a,c),h,i[n],$m[l]);h=c,c=a,a=sf(o,30),o=s,s=y}this.h[0]=ms(this.h[0],s),this.h[1]=ms(this.h[1],o),this.h[2]=ms(this.h[2],a),this.h[3]=ms(this.h[3],c),this.h[4]=ms(this.h[4],h)},Gr.prototype._digest=function(e){return e==="hex"?Ln.toHex32(this.h,"big"):Ln.split32(this.h,"big")};var qn=Ie,Tm=Cn,Un=Hr,Fm=sn,Fr=qn.sum32,Cm=qn.sum32_4,Bm=qn.sum32_5,Lm=Un.ch32,qm=Un.maj32,Um=Un.s0_256,zm=Un.s1_256,km=Un.g0_256,jm=Un.g1_256,Cu=Tm.BlockHash,Km=[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 Jr(){if(!(this instanceof Jr))return new Jr;Cu.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Km,this.W=new Array(64)}qn.inherits(Jr,Cu);var Bu=Jr;Jr.blockSize=512,Jr.outSize=256,Jr.hmacStrength=192,Jr.padLength=64,Jr.prototype._update=function(e,r){for(var i=this.W,n=0;n<16;n++)i[n]=e[r+n];for(;n<i.length;n++)i[n]=Cm(jm(i[n-2]),i[n-7],km(i[n-15]),i[n-16]);var s=this.h[0],o=this.h[1],a=this.h[2],c=this.h[3],h=this.h[4],l=this.h[5],y=this.h[6],M=this.h[7];for(Fm(this.k.length===i.length),n=0;n<i.length;n++){var I=Bm(M,zm(h),Lm(h,l,y),this.k[n],i[n]),S=Fr(Um(s),qm(s,o,a));M=y,y=l,l=h,h=Fr(c,I),c=a,a=o,o=s,s=Fr(I,S)}this.h[0]=Fr(this.h[0],s),this.h[1]=Fr(this.h[1],o),this.h[2]=Fr(this.h[2],a),this.h[3]=Fr(this.h[3],c),this.h[4]=Fr(this.h[4],h),this.h[5]=Fr(this.h[5],l),this.h[6]=Fr(this.h[6],y),this.h[7]=Fr(this.h[7],M)},Jr.prototype._digest=function(e){return e==="hex"?qn.toHex32(this.h,"big"):qn.split32(this.h,"big")};var of=Ie,Lu=Bu;function di(){if(!(this instanceof di))return new di;Lu.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}of.inherits(di,Lu);var Vm=di;di.blockSize=512,di.outSize=224,di.hmacStrength=192,di.padLength=64,di.prototype._digest=function(e){return e==="hex"?of.toHex32(this.h.slice(0,7),"big"):of.split32(this.h.slice(0,7),"big")};var nr=Ie,Hm=Cn,Wm=sn,Yr=nr.rotr64_hi,Xr=nr.rotr64_lo,qu=nr.shr64_hi,Uu=nr.shr64_lo,Ci=nr.sum64,af=nr.sum64_hi,ff=nr.sum64_lo,Gm=nr.sum64_4_hi,Jm=nr.sum64_4_lo,Ym=nr.sum64_5_hi,Xm=nr.sum64_5_lo,zu=Hm.BlockHash,Zm=[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 Cr(){if(!(this instanceof Cr))return new Cr;zu.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Zm,this.W=new Array(160)}nr.inherits(Cr,zu);var ku=Cr;Cr.blockSize=1024,Cr.outSize=512,Cr.hmacStrength=192,Cr.padLength=128,Cr.prototype._prepareBlock=function(e,r){for(var i=this.W,n=0;n<32;n++)i[n]=e[r+n];for(;n<i.length;n+=2){var s=c2(i[n-4],i[n-3]),o=h2(i[n-4],i[n-3]),a=i[n-14],c=i[n-13],h=a2(i[n-30],i[n-29]),l=f2(i[n-30],i[n-29]),y=i[n-32],M=i[n-31];i[n]=Gm(s,o,a,c,h,l,y,M),i[n+1]=Jm(s,o,a,c,h,l,y,M)}},Cr.prototype._update=function(e,r){this._prepareBlock(e,r);var i=this.W,n=this.h[0],s=this.h[1],o=this.h[2],a=this.h[3],c=this.h[4],h=this.h[5],l=this.h[6],y=this.h[7],M=this.h[8],I=this.h[9],S=this.h[10],D=this.h[11],R=this.h[12],$=this.h[13],T=this.h[14],C=this.h[15];Wm(this.k.length===i.length);for(var L=0;L<i.length;L+=2){var k=T,j=C,G=s2(M,I),K=o2(M,I),V=Qm(M,I,S,D,R),re=e2(M,I,S,D,R,$),O=this.k[L],g=this.k[L+1],p=i[L],f=i[L+1],u=Ym(k,j,G,K,V,re,O,g,p,f),b=Xm(k,j,G,K,V,re,O,g,p,f);k=i2(n,s),j=n2(n,s),G=t2(n,s,o,a,c),K=r2(n,s,o,a,c,h);var _=af(k,j,G,K),E=ff(k,j,G,K);T=R,C=$,R=S,$=D,S=M,D=I,M=af(l,y,u,b),I=ff(y,y,u,b),l=c,y=h,c=o,h=a,o=n,a=s,n=af(u,b,_,E),s=ff(u,b,_,E)}Ci(this.h,0,n,s),Ci(this.h,2,o,a),Ci(this.h,4,c,h),Ci(this.h,6,l,y),Ci(this.h,8,M,I),Ci(this.h,10,S,D),Ci(this.h,12,R,$),Ci(this.h,14,T,C)},Cr.prototype._digest=function(e){return e==="hex"?nr.toHex32(this.h,"big"):nr.split32(this.h,"big")};function Qm(t,e,r,i,n){var s=t&r^~t&n;return s<0&&(s+=4294967296),s}function e2(t,e,r,i,n,s){var o=e&i^~e&s;return o<0&&(o+=4294967296),o}function t2(t,e,r,i,n){var s=t&r^t&n^r&n;return s<0&&(s+=4294967296),s}function r2(t,e,r,i,n,s){var o=e&i^e&s^i&s;return o<0&&(o+=4294967296),o}function i2(t,e){var r=Yr(t,e,28),i=Yr(e,t,2),n=Yr(e,t,7),s=r^i^n;return s<0&&(s+=4294967296),s}function n2(t,e){var r=Xr(t,e,28),i=Xr(e,t,2),n=Xr(e,t,7),s=r^i^n;return s<0&&(s+=4294967296),s}function s2(t,e){var r=Yr(t,e,14),i=Yr(t,e,18),n=Yr(e,t,9),s=r^i^n;return s<0&&(s+=4294967296),s}function o2(t,e){var r=Xr(t,e,14),i=Xr(t,e,18),n=Xr(e,t,9),s=r^i^n;return s<0&&(s+=4294967296),s}function a2(t,e){var r=Yr(t,e,1),i=Yr(t,e,8),n=qu(t,e,7),s=r^i^n;return s<0&&(s+=4294967296),s}function f2(t,e){var r=Xr(t,e,1),i=Xr(t,e,8),n=Uu(t,e,7),s=r^i^n;return s<0&&(s+=4294967296),s}function c2(t,e){var r=Yr(t,e,19),i=Yr(e,t,29),n=qu(t,e,6),s=r^i^n;return s<0&&(s+=4294967296),s}function h2(t,e){var r=Xr(t,e,19),i=Xr(e,t,29),n=Uu(t,e,6),s=r^i^n;return s<0&&(s+=4294967296),s}var cf=Ie,ju=ku;function li(){if(!(this instanceof li))return new li;ju.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}cf.inherits(li,ju);var u2=li;li.blockSize=1024,li.outSize=384,li.hmacStrength=192,li.padLength=128,li.prototype._digest=function(e){return e==="hex"?cf.toHex32(this.h.slice(0,12),"big"):cf.split32(this.h.slice(0,12),"big")},Bn.sha1=Nm,Bn.sha224=Vm,Bn.sha256=Bu,Bn.sha384=u2,Bn.sha512=ku;var Ku={},on=Ie,d2=Cn,mo=on.rotl32,Vu=on.sum32,ws=on.sum32_3,Hu=on.sum32_4,Wu=d2.BlockHash;function Zr(){if(!(this instanceof Zr))return new Zr;Wu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}on.inherits(Zr,Wu),Ku.ripemd160=Zr,Zr.blockSize=512,Zr.outSize=160,Zr.hmacStrength=192,Zr.padLength=64,Zr.prototype._update=function(e,r){for(var i=this.h[0],n=this.h[1],s=this.h[2],o=this.h[3],a=this.h[4],c=i,h=n,l=s,y=o,M=a,I=0;I<80;I++){var S=Vu(mo(Hu(i,Gu(I,n,s,o),e[g2[I]+r],l2(I)),v2[I]),a);i=a,a=o,o=mo(s,10),s=n,n=S,S=Vu(mo(Hu(c,Gu(79-I,h,l,y),e[b2[I]+r],p2(I)),y2[I]),M),c=M,M=y,y=mo(l,10),l=h,h=S}S=ws(this.h[1],s,y),this.h[1]=ws(this.h[2],o,M),this.h[2]=ws(this.h[3],a,c),this.h[3]=ws(this.h[4],i,h),this.h[4]=ws(this.h[0],n,l),this.h[0]=S},Zr.prototype._digest=function(e){return e==="hex"?on.toHex32(this.h,"little"):on.split32(this.h,"little")};function Gu(t,e,r,i){return t<=15?e^r^i:t<=31?e&r|~e&i:t<=47?(e|~r)^i:t<=63?e&i|r&~i:e^(r|~i)}function l2(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function p2(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}var g2=[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],b2=[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],v2=[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],y2=[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],m2=Ie,w2=sn;function zn(t,e,r){if(!(this instanceof zn))return new zn(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(m2.toArray(e,r))}var _2=zn;zn.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),w2(e.length<=this.blockSize);for(var r=e.length;r<this.blockSize;r++)e.push(0);for(r=0;r<e.length;r++)e[r]^=54;for(this.inner=new this.Hash().update(e),r=0;r<e.length;r++)e[r]^=106;this.outer=new this.Hash().update(e)},zn.prototype.update=function(e,r){return this.inner.update(e,r),this},zn.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)},function(t){var e=t;e.utils=Ie,e.common=Cn,e.sha=Bn,e.ripemd=Ku,e.hmac=_2,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}(dr);function kn(t,e,r){return r={path:e,exports:{},require:function(i,n){return x2(i,n??r.path)}},t(r,r.exports),r.exports}function x2(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var hf=Ju;function Ju(t,e){if(!t)throw new Error(e||"Assertion failed")}Ju.equal=function(e,r,i){if(e!=r)throw new Error(i||"Assertion failed: "+e+" != "+r)};var Br=kn(function(t,e){var r=e;function i(o,a){if(Array.isArray(o))return o.slice();if(!o)return[];var c=[];if(typeof o!="string"){for(var h=0;h<o.length;h++)c[h]=o[h]|0;return c}if(a==="hex"){o=o.replace(/[^a-z0-9]+/ig,""),o.length%2!==0&&(o="0"+o);for(var h=0;h<o.length;h+=2)c.push(parseInt(o[h]+o[h+1],16))}else for(var h=0;h<o.length;h++){var l=o.charCodeAt(h),y=l>>8,M=l&255;y?c.push(y,M):c.push(M)}return c}r.toArray=i;function n(o){return o.length===1?"0"+o:o}r.zero2=n;function s(o){for(var a="",c=0;c<o.length;c++)a+=n(o[c].toString(16));return a}r.toHex=s,r.encode=function(a,c){return c==="hex"?s(a):a}}),lr=kn(function(t,e){var r=e;r.assert=hf,r.toArray=Br.toArray,r.zero2=Br.zero2,r.toHex=Br.toHex,r.encode=Br.encode;function i(c,h,l){var y=new Array(Math.max(c.bitLength(),l)+1);y.fill(0);for(var M=1<<h+1,I=c.clone(),S=0;S<y.length;S++){var D,R=I.andln(M-1);I.isOdd()?(R>(M>>1)-1?D=(M>>1)-R:D=R,I.isubn(D)):D=0,y[S]=D,I.iushrn(1)}return y}r.getNAF=i;function n(c,h){var l=[[],[]];c=c.clone(),h=h.clone();for(var y=0,M=0,I;c.cmpn(-y)>0||h.cmpn(-M)>0;){var S=c.andln(3)+y&3,D=h.andln(3)+M&3;S===3&&(S=-1),D===3&&(D=-1);var R;S&1?(I=c.andln(7)+y&7,(I===3||I===5)&&D===2?R=-S:R=S):R=0,l[0].push(R);var $;D&1?(I=h.andln(7)+M&7,(I===3||I===5)&&S===2?$=-D:$=D):$=0,l[1].push($),2*y===R+1&&(y=1-y),2*M===$+1&&(M=1-M),c.iushrn(1),h.iushrn(1)}return l}r.getJSF=n;function s(c,h,l){var y="_"+h;c.prototype[h]=function(){return this[y]!==void 0?this[y]:this[y]=l.call(this)}}r.cachedProperty=s;function o(c){return typeof c=="string"?r.toArray(c,"hex"):c}r.parseBytes=o;function a(c){return new me(c,"hex","le")}r.intFromLE=a}),wo=lr.getNAF,E2=lr.getJSF,_o=lr.assert;function Bi(t,e){this.type=t,this.p=new me(e.p,16),this.red=e.prime?me.red(e.prime):me.mont(this.p),this.zero=new me(0).toRed(this.red),this.one=new me(1).toRed(this.red),this.two=new me(2).toRed(this.red),this.n=e.n&&new me(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 r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var an=Bi;Bi.prototype.point=function(){throw new Error("Not implemented")},Bi.prototype.validate=function(){throw new Error("Not implemented")},Bi.prototype._fixedNafMul=function(e,r){_o(e.precomputed);var i=e._getDoubles(),n=wo(r,1,this._bitLength),s=(1<<i.step+1)-(i.step%2===0?2:1);s/=3;var o=[],a,c;for(a=0;a<n.length;a+=i.step){c=0;for(var h=a+i.step-1;h>=a;h--)c=(c<<1)+n[h];o.push(c)}for(var l=this.jpoint(null,null,null),y=this.jpoint(null,null,null),M=s;M>0;M--){for(a=0;a<o.length;a++)c=o[a],c===M?y=y.mixedAdd(i.points[a]):c===-M&&(y=y.mixedAdd(i.points[a].neg()));l=l.add(y)}return l.toP()},Bi.prototype._wnafMul=function(e,r){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var s=n.points,o=wo(r,i,this._bitLength),a=this.jpoint(null,null,null),c=o.length-1;c>=0;c--){for(var h=0;c>=0&&o[c]===0;c--)h++;if(c>=0&&h++,a=a.dblp(h),c<0)break;var l=o[c];_o(l!==0),e.type==="affine"?l>0?a=a.mixedAdd(s[l-1>>1]):a=a.mixedAdd(s[-l-1>>1].neg()):l>0?a=a.add(s[l-1>>1]):a=a.add(s[-l-1>>1].neg())}return e.type==="affine"?a.toP():a},Bi.prototype._wnafMulAdd=function(e,r,i,n,s){var o=this._wnafT1,a=this._wnafT2,c=this._wnafT3,h=0,l,y,M;for(l=0;l<n;l++){M=r[l];var I=M._getNAFPoints(e);o[l]=I.wnd,a[l]=I.points}for(l=n-1;l>=1;l-=2){var S=l-1,D=l;if(o[S]!==1||o[D]!==1){c[S]=wo(i[S],o[S],this._bitLength),c[D]=wo(i[D],o[D],this._bitLength),h=Math.max(c[S].length,h),h=Math.max(c[D].length,h);continue}var R=[r[S],null,null,r[D]];r[S].y.cmp(r[D].y)===0?(R[1]=r[S].add(r[D]),R[2]=r[S].toJ().mixedAdd(r[D].neg())):r[S].y.cmp(r[D].y.redNeg())===0?(R[1]=r[S].toJ().mixedAdd(r[D]),R[2]=r[S].add(r[D].neg())):(R[1]=r[S].toJ().mixedAdd(r[D]),R[2]=r[S].toJ().mixedAdd(r[D].neg()));var $=[-3,-1,-5,-7,0,7,5,1,3],T=E2(i[S],i[D]);for(h=Math.max(T[0].length,h),c[S]=new Array(h),c[D]=new Array(h),y=0;y<h;y++){var C=T[0][y]|0,L=T[1][y]|0;c[S][y]=$[(C+1)*3+(L+1)],c[D][y]=0,a[S]=R}}var k=this.jpoint(null,null,null),j=this._wnafT4;for(l=h;l>=0;l--){for(var G=0;l>=0;){var K=!0;for(y=0;y<n;y++)j[y]=c[y][l]|0,j[y]!==0&&(K=!1);if(!K)break;G++,l--}if(l>=0&&G++,k=k.dblp(G),l<0)break;for(y=0;y<n;y++){var V=j[y];V!==0&&(V>0?M=a[y][V-1>>1]:V<0&&(M=a[y][-V-1>>1].neg()),M.type==="affine"?k=k.mixedAdd(M):k=k.add(M))}}for(l=0;l<n;l++)a[l]=null;return s?k:k.toP()};function wr(t,e){this.curve=t,this.type=e,this.precomputed=null}Bi.BasePoint=wr,wr.prototype.eq=function(){throw new Error("Not implemented")},wr.prototype.validate=function(){return this.curve.validate(this)},Bi.prototype.decodePoint=function(e,r){e=lr.toArray(e,r);var i=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*i){e[0]===6?_o(e[e.length-1]%2===0):e[0]===7&&_o(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")},wr.prototype.encodeCompressed=function(e){return this.encode(e,!0)},wr.prototype._encode=function(e){var r=this.curve.p.byteLength(),i=this.getX().toArray("be",r);return e?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",r))},wr.prototype.encode=function(e,r){return lr.encode(this._encode(r),e)},wr.prototype.precompute=function(e){if(this.precomputed)return this;var r={doubles:null,naf:null,beta:null};return r.naf=this._getNAFPoints(8),r.doubles=this._getDoubles(4,e),r.beta=this._getBeta(),this.precomputed=r,this},wr.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var r=this.precomputed.doubles;return r?r.points.length>=Math.ceil((e.bitLength()+1)/r.step):!1},wr.prototype._getDoubles=function(e,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,s=0;s<r;s+=e){for(var o=0;o<e;o++)n=n.dbl();i.push(n)}return{step:e,points:i}},wr.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var r=[this],i=(1<<e)-1,n=i===1?null:this.dbl(),s=1;s<i;s++)r[s]=r[s-1].add(n);return{wnd:e,points:r}},wr.prototype._getBeta=function(){return null},wr.prototype.dblp=function(e){for(var r=this,i=0;i<e;i++)r=r.dbl();return r};var uf=kn(function(t){typeof Object.create=="function"?t.exports=function(r,i){i&&(r.super_=i,r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(r,i){if(i){r.super_=i;var n=function(){};n.prototype=i.prototype,r.prototype=new n,r.prototype.constructor=r}}}),S2=lr.assert;function _r(t){an.call(this,"short",t),this.a=new me(t.a,16).toRed(this.red),this.b=new me(t.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(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}uf(_r,an);var M2=_r;_r.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var r,i;if(e.beta)r=new me(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);r=n[0].cmp(n[1])<0?n[0]:n[1],r=r.toRed(this.red)}if(e.lambda)i=new me(e.lambda,16);else{var s=this._getEndoRoots(this.n);this.g.mul(s[0]).x.cmp(this.g.x.redMul(r))===0?i=s[0]:(i=s[1],S2(this.g.mul(i).x.cmp(this.g.x.redMul(r))===0))}var o;return e.basis?o=e.basis.map(function(a){return{a:new me(a.a,16),b:new me(a.b,16)}}):o=this._getEndoBasis(i),{beta:r,lambda:i,basis:o}}},_r.prototype._getEndoRoots=function(e){var r=e===this.p?this.red:me.mont(e),i=new me(2).toRed(r).redInvm(),n=i.redNeg(),s=new me(3).toRed(r).redNeg().redSqrt().redMul(i),o=n.redAdd(s).fromRed(),a=n.redSub(s).fromRed();return[o,a]},_r.prototype._getEndoBasis=function(e){for(var r=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),s=new me(1),o=new me(0),a=new me(0),c=new me(1),h,l,y,M,I,S,D,R=0,$,T;i.cmpn(0)!==0;){var C=n.div(i);$=n.sub(C.mul(i)),T=a.sub(C.mul(s));var L=c.sub(C.mul(o));if(!y&&$.cmp(r)<0)h=D.neg(),l=s,y=$.neg(),M=T;else if(y&&++R===2)break;D=$,n=i,i=$,a=s,s=T,c=o,o=L}I=$.neg(),S=T;var k=y.sqr().add(M.sqr()),j=I.sqr().add(S.sqr());return j.cmp(k)>=0&&(I=h,S=l),y.negative&&(y=y.neg(),M=M.neg()),I.negative&&(I=I.neg(),S=S.neg()),[{a:y,b:M},{a:I,b:S}]},_r.prototype._endoSplit=function(e){var r=this.endo.basis,i=r[0],n=r[1],s=n.b.mul(e).divRound(this.n),o=i.b.neg().mul(e).divRound(this.n),a=s.mul(i.a),c=o.mul(n.a),h=s.mul(i.b),l=o.mul(n.b),y=e.sub(a).sub(c),M=h.add(l).neg();return{k1:y,k2:M}},_r.prototype.pointFromX=function(e,r){e=new me(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 s=n.fromRed().isOdd();return(r&&!s||!r&&s)&&(n=n.redNeg()),this.point(e,n)},_r.prototype.validate=function(e){if(e.inf)return!0;var r=e.x,i=e.y,n=this.a.redMul(r),s=r.redSqr().redMul(r).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(s).cmpn(0)===0},_r.prototype._endoWnafMulAdd=function(e,r,i){for(var n=this._endoWnafT1,s=this._endoWnafT2,o=0;o<e.length;o++){var a=this._endoSplit(r[o]),c=e[o],h=c._getBeta();a.k1.negative&&(a.k1.ineg(),c=c.neg(!0)),a.k2.negative&&(a.k2.ineg(),h=h.neg(!0)),n[o*2]=c,n[o*2+1]=h,s[o*2]=a.k1,s[o*2+1]=a.k2}for(var l=this._wnafMulAdd(1,n,s,o*2,i),y=0;y<o*2;y++)n[y]=null,s[y]=null;return l};function It(t,e,r,i){an.BasePoint.call(this,t,"affine"),e===null&&r===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new me(e,16),this.y=new me(r,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)}uf(It,an.BasePoint),_r.prototype.point=function(e,r,i){return new It(this,e,r,i)},_r.prototype.pointFromJSON=function(e,r){return It.fromJSON(this,e,r)},It.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var r=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var i=this.curve,n=function(s){return i.point(s.x.redMul(i.endo.beta),s.y)};e.beta=r,r.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 r}},It.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]},It.fromJSON=function(e,r,i){typeof r=="string"&&(r=JSON.parse(r));var n=e.point(r[0],r[1],i);if(!r[2])return n;function s(a){return e.point(a[0],a[1],i)}var o=r[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(s))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(s))}},n},It.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)+">"},It.prototype.isInfinity=function(){return this.inf},It.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 r=this.y.redSub(e.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var i=r.redSqr().redISub(this.x).redISub(e.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},It.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 r=this.curve.a,i=this.x.redSqr(),n=e.redInvm(),s=i.redAdd(i).redIAdd(i).redIAdd(r).redMul(n),o=s.redSqr().redISub(this.x.redAdd(this.x)),a=s.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},It.prototype.getX=function(){return this.x.fromRed()},It.prototype.getY=function(){return this.y.fromRed()},It.prototype.mul=function(e){return e=new me(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)},It.prototype.mulAdd=function(e,r,i){var n=[this,r],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)},It.prototype.jmulAdd=function(e,r,i){var n=[this,r],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)},It.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)},It.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var i=this.precomputed,n=function(s){return s.neg()};r.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 r},It.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 Ct(t,e,r,i){an.BasePoint.call(this,t,"jacobian"),e===null&&r===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new me(0)):(this.x=new me(e,16),this.y=new me(r,16),this.z=new me(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}uf(Ct,an.BasePoint),_r.prototype.jpoint=function(e,r,i){return new Ct(this,e,r,i)},Ct.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),i=this.x.redMul(r),n=this.y.redMul(r).redMul(e);return this.curve.point(i,n)},Ct.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ct.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(r),s=e.x.redMul(i),o=this.y.redMul(r.redMul(e.z)),a=e.y.redMul(i.redMul(this.z)),c=n.redSub(s),h=o.redSub(a);if(c.cmpn(0)===0)return h.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var l=c.redSqr(),y=l.redMul(c),M=n.redMul(l),I=h.redSqr().redIAdd(y).redISub(M).redISub(M),S=h.redMul(M.redISub(I)).redISub(o.redMul(y)),D=this.z.redMul(e.z).redMul(c);return this.curve.jpoint(I,S,D)},Ct.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),i=this.x,n=e.x.redMul(r),s=this.y,o=e.y.redMul(r).redMul(this.z),a=i.redSub(n),c=s.redSub(o);if(a.cmpn(0)===0)return c.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var h=a.redSqr(),l=h.redMul(a),y=i.redMul(h),M=c.redSqr().redIAdd(l).redISub(y).redISub(y),I=c.redMul(y.redISub(M)).redISub(s.redMul(l)),S=this.z.redMul(a);return this.curve.jpoint(M,I,S)},Ct.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var i=this;for(r=0;r<e;r++)i=i.dbl();return i}var n=this.curve.a,s=this.curve.tinv,o=this.x,a=this.y,c=this.z,h=c.redSqr().redSqr(),l=a.redAdd(a);for(r=0;r<e;r++){var y=o.redSqr(),M=l.redSqr(),I=M.redSqr(),S=y.redAdd(y).redIAdd(y).redIAdd(n.redMul(h)),D=o.redMul(M),R=S.redSqr().redISub(D.redAdd(D)),$=D.redISub(R),T=S.redMul($);T=T.redIAdd(T).redISub(I);var C=l.redMul(c);r+1<e&&(h=h.redMul(I)),o=R,c=C,l=T}return this.curve.jpoint(o,l.redMul(s),c)},Ct.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Ct.prototype._zeroDbl=function(){var e,r,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n),h=c.redSqr().redISub(a).redISub(a),l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),e=h,r=c.redMul(a.redISub(h)).redISub(l),i=this.y.redAdd(this.y)}else{var y=this.x.redSqr(),M=this.y.redSqr(),I=M.redSqr(),S=this.x.redAdd(M).redSqr().redISub(y).redISub(I);S=S.redIAdd(S);var D=y.redAdd(y).redIAdd(y),R=D.redSqr(),$=I.redIAdd(I);$=$.redIAdd($),$=$.redIAdd($),e=R.redISub(S).redISub(S),r=D.redMul(S.redISub(e)).redISub($),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,r,i)},Ct.prototype._threeDbl=function(){var e,r,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),h=c.redSqr().redISub(a).redISub(a);e=h;var l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),r=c.redMul(a.redISub(h)).redISub(l),i=this.y.redAdd(this.y)}else{var y=this.z.redSqr(),M=this.y.redSqr(),I=this.x.redMul(M),S=this.x.redSub(y).redMul(this.x.redAdd(y));S=S.redAdd(S).redIAdd(S);var D=I.redIAdd(I);D=D.redIAdd(D);var R=D.redAdd(D);e=S.redSqr().redISub(R),i=this.y.redAdd(this.z).redSqr().redISub(M).redISub(y);var $=M.redSqr();$=$.redIAdd($),$=$.redIAdd($),$=$.redIAdd($),r=S.redMul(D.redISub(e)).redISub($)}return this.curve.jpoint(e,r,i)},Ct.prototype._dbl=function(){var e=this.curve.a,r=this.x,i=this.y,n=this.z,s=n.redSqr().redSqr(),o=r.redSqr(),a=i.redSqr(),c=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(s)),h=r.redAdd(r);h=h.redIAdd(h);var l=h.redMul(a),y=c.redSqr().redISub(l.redAdd(l)),M=l.redISub(y),I=a.redSqr();I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var S=c.redMul(M).redISub(I),D=i.redAdd(i).redMul(n);return this.curve.jpoint(y,S,D)},Ct.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),r=this.y.redSqr(),i=this.z.redSqr(),n=r.redSqr(),s=e.redAdd(e).redIAdd(e),o=s.redSqr(),a=this.x.redAdd(r).redSqr().redISub(e).redISub(n);a=a.redIAdd(a),a=a.redAdd(a).redIAdd(a),a=a.redISub(o);var c=a.redSqr(),h=n.redIAdd(n);h=h.redIAdd(h),h=h.redIAdd(h),h=h.redIAdd(h);var l=s.redIAdd(a).redSqr().redISub(o).redISub(c).redISub(h),y=r.redMul(l);y=y.redIAdd(y),y=y.redIAdd(y);var M=this.x.redMul(c).redISub(y);M=M.redIAdd(M),M=M.redIAdd(M);var I=this.y.redMul(l.redMul(h.redISub(l)).redISub(a.redMul(c)));I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var S=this.z.redAdd(a).redSqr().redISub(i).redISub(c);return this.curve.jpoint(M,I,S)},Ct.prototype.mul=function(e,r){return e=new me(e,r),this.curve._wnafMul(this,e)},Ct.prototype.eq=function(e){if(e.type==="affine")return this.eq(e.toJ());if(this===e)return!0;var r=this.z.redSqr(),i=e.z.redSqr();if(this.x.redMul(i).redISub(e.x.redMul(r)).cmpn(0)!==0)return!1;var n=r.redMul(this.z),s=i.redMul(e.z);return this.y.redMul(s).redISub(e.y.redMul(n)).cmpn(0)===0},Ct.prototype.eqXToP=function(e){var r=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(r);if(this.x.cmp(i)===0)return!0;for(var n=e.clone(),s=this.curve.redN.redMul(r);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(s),this.x.cmp(i)===0)return!0}},Ct.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)+">"},Ct.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var xo=kn(function(t,e){var r=e;r.base=an,r.short=M2,r.mont=null,r.edwards=null}),Eo=kn(function(t,e){var r=e,i=lr.assert;function n(a){a.type==="short"?this.curve=new xo.short(a):a.type==="edwards"?this.curve=new xo.edwards(a):this.curve=new xo.mont(a),this.g=this.curve.g,this.n=this.curve.n,this.hash=a.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}r.PresetCurve=n;function s(a,c){Object.defineProperty(r,a,{configurable:!0,enumerable:!0,get:function(){var h=new n(c);return Object.defineProperty(r,a,{configurable:!0,enumerable:!0,value:h}),h}})}s("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:dr.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("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:dr.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("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:dr.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("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:dr.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"]}),s("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:dr.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"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:dr.sha256,gRed:!1,g:["9"]}),s("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:dr.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var o;try{o=null.crash()}catch{o=void 0}s("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:dr.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",o]})});function Li(t){if(!(this instanceof Li))return new Li(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Br.toArray(t.entropy,t.entropyEnc||"hex"),r=Br.toArray(t.nonce,t.nonceEnc||"hex"),i=Br.toArray(t.pers,t.persEnc||"hex");hf(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}var Yu=Li;Li.prototype._init=function(e,r,i){var n=e.concat(r).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var s=0;s<this.V.length;s++)this.K[s]=0,this.V[s]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},Li.prototype._hmac=function(){return new dr.hmac(this.hash,this.K)},Li.prototype._update=function(e){var r=this._hmac().update(this.V).update([0]);e&&(r=r.update(e)),this.K=r.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())},Li.prototype.reseed=function(e,r,i,n){typeof r!="string"&&(n=i,i=r,r=null),e=Br.toArray(e,r),i=Br.toArray(i,n),hf(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},Li.prototype.generate=function(e,r,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(n=i,i=r,r=null),i&&(i=Br.toArray(i,n||"hex"),this._update(i));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);var o=s.slice(0,e);return this._update(i),this._reseed++,Br.encode(o,r)};var df=lr.assert;function Kt(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var lf=Kt;Kt.fromPublic=function(e,r,i){return r instanceof Kt?r:new Kt(e,{pub:r,pubEnc:i})},Kt.fromPrivate=function(e,r,i){return r instanceof Kt?r:new Kt(e,{priv:r,privEnc:i})},Kt.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"}},Kt.prototype.getPublic=function(e,r){return typeof e=="string"&&(r=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),r?this.pub.encode(r,e):this.pub},Kt.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv},Kt.prototype._importPrivate=function(e,r){this.priv=new me(e,r||16),this.priv=this.priv.umod(this.ec.curve.n)},Kt.prototype._importPublic=function(e,r){if(e.x||e.y){this.ec.curve.type==="mont"?df(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&df(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,r)},Kt.prototype.derive=function(e){return e.validate()||df(e.validate(),"public point not validated"),e.mul(this.priv).getX()},Kt.prototype.sign=function(e,r,i){return this.ec.sign(e,this,r,i)},Kt.prototype.verify=function(e,r){return this.ec.verify(e,r,this)},Kt.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var I2=lr.assert;function So(t,e){if(t instanceof So)return t;this._importDER(t,e)||(I2(t.r&&t.s,"Signature without r or s"),this.r=new me(t.r,16),this.s=new me(t.s,16),t.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Mo=So;function A2(){this.place=0}function pf(t,e){var r=t[e.place++];if(!(r&128))return r;var i=r&15;if(i===0||i>4)return!1;for(var n=0,s=0,o=e.place;s<i;s++,o++)n<<=8,n|=t[o],n>>>=0;return n<=127?!1:(e.place=o,n)}function Xu(t){for(var e=0,r=t.length-1;!t[e]&&!(t[e+1]&128)&&e<r;)e++;return e===0?t:t.slice(e)}So.prototype._importDER=function(e,r){e=lr.toArray(e,r);var i=new A2;if(e[i.place++]!==48)return!1;var n=pf(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var s=pf(e,i);if(s===!1)return!1;var o=e.slice(i.place,s+i.place);if(i.place+=s,e[i.place++]!==2)return!1;var a=pf(e,i);if(a===!1||e.length!==a+i.place)return!1;var c=e.slice(i.place,a+i.place);if(o[0]===0)if(o[1]&128)o=o.slice(1);else return!1;if(c[0]===0)if(c[1]&128)c=c.slice(1);else return!1;return this.r=new me(o),this.s=new me(c),this.recoveryParam=null,!0};function gf(t,e){if(e<128){t.push(e);return}var r=1+(Math.log(e)/Math.LN2>>>3);for(t.push(r|128);--r;)t.push(e>>>(r<<3)&255);t.push(e)}So.prototype.toDER=function(e){var r=this.r.toArray(),i=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),i[0]&128&&(i=[0].concat(i)),r=Xu(r),i=Xu(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];gf(n,r.length),n=n.concat(r),n.push(2),gf(n,i.length);var s=n.concat(i),o=[48];return gf(o,s.length),o=o.concat(s),lr.encode(o,e)};var D2=function(){throw new Error("unsupported")},Zu=lr.assert;function xr(t){if(!(this instanceof xr))return new xr(t);typeof t=="string"&&(Zu(Object.prototype.hasOwnProperty.call(Eo,t),"Unknown curve "+t),t=Eo[t]),t instanceof Eo.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var O2=xr;xr.prototype.keyPair=function(e){return new lf(this,e)},xr.prototype.keyFromPrivate=function(e,r){return lf.fromPrivate(this,e,r)},xr.prototype.keyFromPublic=function(e,r){return lf.fromPublic(this,e,r)},xr.prototype.genKeyPair=function(e){e||(e={});for(var r=new Yu({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||D2(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new me(2));;){var s=new me(r.generate(i));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}},xr.prototype._truncateToN=function(e,r){var i=e.byteLength()*8-this.n.bitLength();return i>0&&(e=e.ushrn(i)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e},xr.prototype.sign=function(e,r,i,n){typeof i=="object"&&(n=i,i=null),n||(n={}),r=this.keyFromPrivate(r,i),e=this._truncateToN(new me(e,16));for(var s=this.n.byteLength(),o=r.getPrivate().toArray("be",s),a=e.toArray("be",s),c=new Yu({hash:this.hash,entropy:o,nonce:a,pers:n.pers,persEnc:n.persEnc||"utf8"}),h=this.n.sub(new me(1)),l=0;;l++){var y=n.k?n.k(l):new me(c.generate(this.n.byteLength()));if(y=this._truncateToN(y,!0),!(y.cmpn(1)<=0||y.cmp(h)>=0)){var M=this.g.mul(y);if(!M.isInfinity()){var I=M.getX(),S=I.umod(this.n);if(S.cmpn(0)!==0){var D=y.invm(this.n).mul(S.mul(r.getPrivate()).iadd(e));if(D=D.umod(this.n),D.cmpn(0)!==0){var R=(M.getY().isOdd()?1:0)|(I.cmp(S)!==0?2:0);return n.canonical&&D.cmp(this.nh)>0&&(D=this.n.sub(D),R^=1),new Mo({r:S,s:D,recoveryParam:R})}}}}}},xr.prototype.verify=function(e,r,i,n){e=this._truncateToN(new me(e,16)),i=this.keyFromPublic(i,n),r=new Mo(r,"hex");var s=r.r,o=r.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0||o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a=o.invm(this.n),c=a.mul(e).umod(this.n),h=a.mul(s).umod(this.n),l;return this.curve._maxwellTrick?(l=this.g.jmulAdd(c,i.getPublic(),h),l.isInfinity()?!1:l.eqXToP(s)):(l=this.g.mulAdd(c,i.getPublic(),h),l.isInfinity()?!1:l.getX().umod(this.n).cmp(s)===0)},xr.prototype.recoverPubKey=function(t,e,r,i){Zu((3&r)===r,"The recovery param is more than two bits"),e=new Mo(e,i);var n=this.n,s=new me(t),o=e.r,a=e.s,c=r&1,h=r>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");h?o=this.curve.pointFromX(o.add(this.curve.n),c):o=this.curve.pointFromX(o,c);var l=e.r.invm(n),y=n.sub(s).mul(l).umod(n),M=a.mul(l).umod(n);return this.g.mulAdd(y,o,M)},xr.prototype.getKeyRecoveryParam=function(t,e,r,i){if(e=new Mo(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(t,e,n)}catch{continue}if(s.eq(r))return n}throw new Error("Unable to find valid recovery factor")};var P2=kn(function(t,e){var r=e;r.version="6.5.4",r.utils=lr,r.rand=function(){throw new Error("unsupported")},r.curve=xo,r.curves=Eo,r.ec=O2,r.eddsa=null}),R2=P2.ec;const $2="signing-key/5.7.0",bf=new Ee($2);let vf=null;function Qr(){return vf||(vf=new R2("secp256k1")),vf}class N2{constructor(e){ys(this,"curve","secp256k1"),ys(this,"privateKey",Yt(e)),Cy(this.privateKey)!==32&&bf.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const r=Qr().keyFromPrivate(xt(this.privateKey));ys(this,"publicKey","0x"+r.getPublic(!1,"hex")),ys(this,"compressedPublicKey","0x"+r.getPublic(!0,"hex")),ys(this,"_isSigningKey",!0)}_addPoint(e){const r=Qr().keyFromPublic(xt(this.publicKey)),i=Qr().keyFromPublic(xt(e));return"0x"+r.pub.add(i.pub).encodeCompressed("hex")}signDigest(e){const r=Qr().keyFromPrivate(xt(this.privateKey)),i=xt(e);i.length!==32&&bf.throwArgumentError("bad digest length","digest",e);const n=r.sign(i,{canonical:!0});return pu({recoveryParam:n.recoveryParam,r:Fi("0x"+n.r.toString(16),32),s:Fi("0x"+n.s.toString(16),32)})}computeSharedSecret(e){const r=Qr().keyFromPrivate(xt(this.privateKey)),i=Qr().keyFromPublic(xt(Qu(e)));return Fi("0x"+r.derive(i.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function T2(t,e){const r=pu(e),i={r:xt(r.r),s:xt(r.s)};return"0x"+Qr().recoverPubKey(xt(t),i,r.recoveryParam).encode("hex",!1)}function Qu(t,e){const r=xt(t);if(r.length===32){const i=new N2(r);return e?"0x"+Qr().keyFromPrivate(r).getPublic(!0,"hex"):i.publicKey}else{if(r.length===33)return e?Yt(r):"0x"+Qr().keyFromPublic(r).getPublic(!1,"hex");if(r.length===65)return e?"0x"+Qr().keyFromPublic(r).getPublic(!0,"hex"):Yt(r)}return bf.throwArgumentError("invalid public or private key","key","[REDACTED]")}const F2="transactions/5.7.0";new Ee(F2);var ed;(function(t){t[t.legacy=0]="legacy",t[t.eip2930=1]="eip2930",t[t.eip1559=2]="eip1559"})(ed||(ed={}));function C2(t){const e=Qu(t);return Gy(lu(Su(lu(e,1)),12))}function B2(t,e){return C2(T2(xt(t),e))}function td(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(t):new Uint8Array(t)}function yf(t,e){e||(e=t.reduce((n,s)=>n+s.length,0));const r=td(e);let i=0;for(const n of t)r.set(n,i),i+=n.length;return r}function L2(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var n=0;n<t.length;n++){var s=t.charAt(n),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=n}var a=t.length,c=t.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function y(S){if(S instanceof Uint8Array||(ArrayBuffer.isView(S)?S=new Uint8Array(S.buffer,S.byteOffset,S.byteLength):Array.isArray(S)&&(S=Uint8Array.from(S))),!(S instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(S.length===0)return"";for(var D=0,R=0,$=0,T=S.length;$!==T&&S[$]===0;)$++,D++;for(var C=(T-$)*l+1>>>0,L=new Uint8Array(C);$!==T;){for(var k=S[$],j=0,G=C-1;(k!==0||j<R)&&G!==-1;G--,j++)k+=256*L[G]>>>0,L[G]=k%a>>>0,k=k/a>>>0;if(k!==0)throw new Error("Non-zero carry");R=j,$++}for(var K=C-R;K!==C&&L[K]===0;)K++;for(var V=c.repeat(D);K<C;++K)V+=t.charAt(L[K]);return V}function M(S){if(typeof S!="string")throw new TypeError("Expected String");if(S.length===0)return new Uint8Array;var D=0;if(S[D]!==" "){for(var R=0,$=0;S[D]===c;)R++,D++;for(var T=(S.length-D)*h+1>>>0,C=new Uint8Array(T);S[D];){var L=r[S.charCodeAt(D)];if(L===255)return;for(var k=0,j=T-1;(L!==0||k<$)&&j!==-1;j--,k++)L+=a*C[j]>>>0,C[j]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");$=k,D++}if(S[D]!==" "){for(var G=T-$;G!==T&&C[G]===0;)G++;for(var K=new Uint8Array(R+(T-G)),V=R;G!==T;)K[V++]=C[G++];return K}}}function I(S){var D=M(S);if(D)return D;throw new Error(`Non-${e} character`)}return{encode:y,decodeUnsafe:M,decode:I}}var q2=L2,U2=q2;const rd=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},z2=t=>new TextEncoder().encode(t),k2=t=>new TextDecoder().decode(t);class j2{constructor(e,r,i){this.name=e,this.prefix=r,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class K2{constructor(e,r,i){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.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 id(this,e)}}class V2{constructor(e){this.decoders=e}or(e){return id(this,e)}decode(e){const r=e[0],i=this.decoders[r];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 id=(t,e)=>new V2({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class H2{constructor(e,r,i,n){this.name=e,this.prefix=r,this.baseEncode=i,this.baseDecode=n,this.encoder=new j2(e,r,i),this.decoder=new K2(e,r,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Io=({name:t,prefix:e,encode:r,decode:i})=>new H2(t,e,r,i),_s=({prefix:t,name:e,alphabet:r})=>{const{encode:i,decode:n}=U2(r,e);return Io({prefix:t,name:e,encode:i,decode:s=>rd(n(s))})},W2=(t,e,r,i)=>{const n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;const o=new Uint8Array(s*r/8|0);let a=0,c=0,h=0;for(let l=0;l<s;++l){const y=n[t[l]];if(y===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<r|y,a+=r,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},G2=(t,e,r)=>{const i=e[e.length-1]==="=",n=(1<<r)-1;let s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[n&a>>o];if(o&&(s+=e[n&a<<r-o]),i)for(;s.length*r&7;)s+="=";return s},Bt=({name:t,prefix:e,bitsPerChar:r,alphabet:i})=>Io({prefix:e,name:t,encode(n){return G2(n,i,r)},decode(n){return W2(n,i,r,t)}}),J2=Io({prefix:"\0",name:"identity",encode:t=>k2(t),decode:t=>z2(t)});var Y2=Object.freeze({__proto__:null,identity:J2});const X2=Bt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Z2=Object.freeze({__proto__:null,base2:X2});const Q2=Bt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var e3=Object.freeze({__proto__:null,base8:Q2});const t3=_s({prefix:"9",name:"base10",alphabet:"0123456789"});var r3=Object.freeze({__proto__:null,base10:t3});const i3=Bt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),n3=Bt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var s3=Object.freeze({__proto__:null,base16:i3,base16upper:n3});const o3=Bt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),a3=Bt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),f3=Bt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),c3=Bt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),h3=Bt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),u3=Bt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),d3=Bt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),l3=Bt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),p3=Bt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var g3=Object.freeze({__proto__:null,base32:o3,base32upper:a3,base32pad:f3,base32padupper:c3,base32hex:h3,base32hexupper:u3,base32hexpad:d3,base32hexpadupper:l3,base32z:p3});const b3=_s({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),v3=_s({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var y3=Object.freeze({__proto__:null,base36:b3,base36upper:v3});const m3=_s({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),w3=_s({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var _3=Object.freeze({__proto__:null,base58btc:m3,base58flickr:w3});const x3=Bt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),E3=Bt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),S3=Bt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),M3=Bt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var I3=Object.freeze({__proto__:null,base64:x3,base64pad:E3,base64url:S3,base64urlpad:M3});const nd=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),A3=nd.reduce((t,e,r)=>(t[r]=e,t),[]),D3=nd.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function O3(t){return t.reduce((e,r)=>(e+=A3[r],e),"")}function P3(t){const e=[];for(const r of t){const i=D3[r.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(i)}return new Uint8Array(e)}const R3=Io({prefix:"\u{1F680}",name:"base256emoji",encode:O3,decode:P3});var $3=Object.freeze({__proto__:null,base256emoji:R3}),N3=od,sd=128,T3=127,F3=~T3,C3=Math.pow(2,31);function od(t,e,r){e=e||[],r=r||0;for(var i=r;t>=C3;)e[r++]=t&255|sd,t/=128;for(;t&F3;)e[r++]=t&255|sd,t>>>=7;return e[r]=t|0,od.bytes=r-i+1,e}var B3=mf,L3=128,ad=127;function mf(t,i){var r=0,i=i||0,n=0,s=i,o,a=t.length;do{if(s>=a)throw mf.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=n<28?(o&ad)<<n:(o&ad)*Math.pow(2,n),n+=7}while(o>=L3);return mf.bytes=s-i,r}var q3=Math.pow(2,7),U3=Math.pow(2,14),z3=Math.pow(2,21),k3=Math.pow(2,28),j3=Math.pow(2,35),K3=Math.pow(2,42),V3=Math.pow(2,49),H3=Math.pow(2,56),W3=Math.pow(2,63),G3=function(t){return t<q3?1:t<U3?2:t<z3?3:t<k3?4:t<j3?5:t<K3?6:t<V3?7:t<H3?8:t<W3?9:10},J3={encode:N3,decode:B3,encodingLength:G3},fd=J3;const cd=(t,e,r=0)=>(fd.encode(t,e,r),e),hd=t=>fd.encodingLength(t),wf=(t,e)=>{const r=e.byteLength,i=hd(t),n=i+hd(r),s=new Uint8Array(n+r);return cd(t,s,0),cd(r,s,i),s.set(e,n),new Y3(t,r,e,s)};class Y3{constructor(e,r,i,n){this.code=e,this.size=r,this.digest=i,this.bytes=n}}const ud=({name:t,code:e,encode:r})=>new X3(t,e,r);class X3{constructor(e,r,i){this.name=e,this.code=r,this.encode=i}digest(e){if(e instanceof Uint8Array){const r=this.encode(e);return r instanceof Uint8Array?wf(this.code,r):r.then(i=>wf(this.code,i))}else throw Error("Unknown type, must be binary type")}}const dd=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Z3=ud({name:"sha2-256",code:18,encode:dd("SHA-256")}),Q3=ud({name:"sha2-512",code:19,encode:dd("SHA-512")});var ew=Object.freeze({__proto__:null,sha256:Z3,sha512:Q3});const ld=0,tw="identity",pd=rd;var rw=Object.freeze({__proto__:null,identity:{code:ld,name:tw,encode:pd,digest:t=>wf(ld,pd(t))}});new TextEncoder,new TextDecoder;const gd={...Y2,...Z2,...e3,...r3,...s3,...g3,...y3,..._3,...I3,...$3};({...ew,...rw});function bd(t,e,r,i){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:i}}}const vd=bd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),_f=bd("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);const e=td(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),yd={utf8:vd,"utf-8":vd,hex:gd.base16,latin1:_f,ascii:_f,binary:_f,...gd};function Er(t,e="utf8"){const r=yd[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t,"utf8"):r.decoder.decode(`${r.prefix}${t}`)}function Zt(t,e="utf8"){const r=yd[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var md={},iw="elliptic",nw="6.6.1",sw="EC cryptography",ow="lib/elliptic.js",aw=["lib"],fw={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/"},cw={type:"git",url:"git@github.com:indutny/elliptic"},hw=["EC","Elliptic","curve","Cryptography"],uw="Fedor Indutny <fedor@indutny.com>",dw="MIT",lw={url:"https://github.com/indutny/elliptic/issues"},pw="https://github.com/indutny/elliptic",gw={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"},bw={"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"},vw={name:iw,version:nw,description:sw,main:ow,files:aw,scripts:fw,repository:cw,keywords:hw,author:uw,license:dw,bugs:lw,homepage:pw,devDependencies:gw,dependencies:bw},pr={},ei={exports:{}};(function(t){(function(e,r){function i(O,g){if(!O)throw new Error(g||"Assertion failed")}function n(O,g){O.super_=g;var p=function(){};p.prototype=g.prototype,O.prototype=new p,O.prototype.constructor=O}function s(O,g,p){if(s.isBN(O))return O;this.negative=0,this.words=null,this.length=0,this.red=null,O!==null&&((g==="le"||g==="be")&&(p=g,g=10),this._init(O||0,g||10,p||"be"))}typeof e=="object"?e.exports=s:r.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Qa.Buffer}catch{}s.isBN=function(g){return g instanceof s?!0:g!==null&&typeof g=="object"&&g.constructor.wordSize===s.wordSize&&Array.isArray(g.words)},s.max=function(g,p){return g.cmp(p)>0?g:p},s.min=function(g,p){return g.cmp(p)<0?g:p},s.prototype._init=function(g,p,f){if(typeof g=="number")return this._initNumber(g,p,f);if(typeof g=="object")return this._initArray(g,p,f);p==="hex"&&(p=16),i(p===(p|0)&&p>=2&&p<=36),g=g.toString().replace(/\s+/g,"");var u=0;g[0]==="-"&&(u++,this.negative=1),u<g.length&&(p===16?this._parseHex(g,u,f):(this._parseBase(g,p,u),f==="le"&&this._initArray(this.toArray(),p,f)))},s.prototype._initNumber=function(g,p,f){g<0&&(this.negative=1,g=-g),g<67108864?(this.words=[g&67108863],this.length=1):g<4503599627370496?(this.words=[g&67108863,g/67108864&67108863],this.length=2):(i(g<9007199254740992),this.words=[g&67108863,g/67108864&67108863,1],this.length=3),f==="le"&&this._initArray(this.toArray(),p,f)},s.prototype._initArray=function(g,p,f){if(i(typeof g.length=="number"),g.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(g.length/3),this.words=new Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var b,_,E=0;if(f==="be")for(u=g.length-1,b=0;u>=0;u-=3)_=g[u]|g[u-1]<<8|g[u-2]<<16,this.words[b]|=_<<E&67108863,this.words[b+1]=_>>>26-E&67108863,E+=24,E>=26&&(E-=26,b++);else if(f==="le")for(u=0,b=0;u<g.length;u+=3)_=g[u]|g[u+1]<<8|g[u+2]<<16,this.words[b]|=_<<E&67108863,this.words[b+1]=_>>>26-E&67108863,E+=24,E>=26&&(E-=26,b++);return this.strip()};function a(O,g){var p=O.charCodeAt(g);return p>=65&&p<=70?p-55:p>=97&&p<=102?p-87:p-48&15}function c(O,g,p){var f=a(O,p);return p-1>=g&&(f|=a(O,p-1)<<4),f}s.prototype._parseHex=function(g,p,f){this.length=Math.ceil((g.length-p)/6),this.words=new Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var b=0,_=0,E;if(f==="be")for(u=g.length-1;u>=p;u-=2)E=c(g,p,u)<<b,this.words[_]|=E&67108863,b>=18?(b-=18,_+=1,this.words[_]|=E>>>26):b+=8;else{var w=g.length-p;for(u=w%2===0?p+1:p;u<g.length;u+=2)E=c(g,p,u)<<b,this.words[_]|=E&67108863,b>=18?(b-=18,_+=1,this.words[_]|=E>>>26):b+=8}this.strip()};function h(O,g,p,f){for(var u=0,b=Math.min(O.length,p),_=g;_<b;_++){var E=O.charCodeAt(_)-48;u*=f,E>=49?u+=E-49+10:E>=17?u+=E-17+10:u+=E}return u}s.prototype._parseBase=function(g,p,f){this.words=[0],this.length=1;for(var u=0,b=1;b<=67108863;b*=p)u++;u--,b=b/p|0;for(var _=g.length-f,E=_%u,w=Math.min(_,_-E)+f,d=0,m=f;m<w;m+=u)d=h(g,m,m+u,p),this.imuln(b),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(E!==0){var v=1;for(d=h(g,m,g.length,p),m=0;m<E;m++)v*=p;this.imuln(v),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},s.prototype.copy=function(g){g.words=new Array(this.length);for(var p=0;p<this.length;p++)g.words[p]=this.words[p];g.length=this.length,g.negative=this.negative,g.red=this.red},s.prototype.clone=function(){var g=new s(null);return this.copy(g),g},s.prototype._expand=function(g){for(;this.length<g;)this.words[this.length++]=0;return this},s.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var l=["","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"],y=[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],M=[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];s.prototype.toString=function(g,p){g=g||10,p=p|0||1;var f;if(g===16||g==="hex"){f="";for(var u=0,b=0,_=0;_<this.length;_++){var E=this.words[_],w=((E<<u|b)&16777215).toString(16);b=E>>>24-u&16777215,u+=2,u>=26&&(u-=26,_--),b!==0||_!==this.length-1?f=l[6-w.length]+w+f:f=w+f}for(b!==0&&(f=b.toString(16)+f);f.length%p!==0;)f="0"+f;return this.negative!==0&&(f="-"+f),f}if(g===(g|0)&&g>=2&&g<=36){var d=y[g],m=M[g];f="";var v=this.clone();for(v.negative=0;!v.isZero();){var A=v.modn(m).toString(g);v=v.idivn(m),v.isZero()?f=A+f:f=l[d-A.length]+A+f}for(this.isZero()&&(f="0"+f);f.length%p!==0;)f="0"+f;return this.negative!==0&&(f="-"+f),f}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var g=this.words[0];return this.length===2?g+=this.words[1]*67108864:this.length===3&&this.words[2]===1?g+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-g:g},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(g,p){return i(typeof o<"u"),this.toArrayLike(o,g,p)},s.prototype.toArray=function(g,p){return this.toArrayLike(Array,g,p)},s.prototype.toArrayLike=function(g,p,f){var u=this.byteLength(),b=f||Math.max(1,u);i(u<=b,"byte array longer than desired length"),i(b>0,"Requested array length <= 0"),this.strip();var _=p==="le",E=new g(b),w,d,m=this.clone();if(_){for(d=0;!m.isZero();d++)w=m.andln(255),m.iushrn(8),E[d]=w;for(;d<b;d++)E[d]=0}else{for(d=0;d<b-u;d++)E[d]=0;for(d=0;!m.isZero();d++)w=m.andln(255),m.iushrn(8),E[b-d-1]=w}return E},Math.clz32?s.prototype._countBits=function(g){return 32-Math.clz32(g)}:s.prototype._countBits=function(g){var p=g,f=0;return p>=4096&&(f+=13,p>>>=13),p>=64&&(f+=7,p>>>=7),p>=8&&(f+=4,p>>>=4),p>=2&&(f+=2,p>>>=2),f+p},s.prototype._zeroBits=function(g){if(g===0)return 26;var p=g,f=0;return p&8191||(f+=13,p>>>=13),p&127||(f+=7,p>>>=7),p&15||(f+=4,p>>>=4),p&3||(f+=2,p>>>=2),p&1||f++,f},s.prototype.bitLength=function(){var g=this.words[this.length-1],p=this._countBits(g);return(this.length-1)*26+p};function I(O){for(var g=new Array(O.bitLength()),p=0;p<g.length;p++){var f=p/26|0,u=p%26;g[p]=(O.words[f]&1<<u)>>>u}return g}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var g=0,p=0;p<this.length;p++){var f=this._zeroBits(this.words[p]);if(g+=f,f!==26)break}return g},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(g){return this.negative!==0?this.abs().inotn(g).iaddn(1):this.clone()},s.prototype.fromTwos=function(g){return this.testn(g-1)?this.notn(g).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(g){for(;this.length<g.length;)this.words[this.length++]=0;for(var p=0;p<g.length;p++)this.words[p]=this.words[p]|g.words[p];return this.strip()},s.prototype.ior=function(g){return i((this.negative|g.negative)===0),this.iuor(g)},s.prototype.or=function(g){return this.length>g.length?this.clone().ior(g):g.clone().ior(this)},s.prototype.uor=function(g){return this.length>g.length?this.clone().iuor(g):g.clone().iuor(this)},s.prototype.iuand=function(g){var p;this.length>g.length?p=g:p=this;for(var f=0;f<p.length;f++)this.words[f]=this.words[f]&g.words[f];return this.length=p.length,this.strip()},s.prototype.iand=function(g){return i((this.negative|g.negative)===0),this.iuand(g)},s.prototype.and=function(g){return this.length>g.length?this.clone().iand(g):g.clone().iand(this)},s.prototype.uand=function(g){return this.length>g.length?this.clone().iuand(g):g.clone().iuand(this)},s.prototype.iuxor=function(g){var p,f;this.length>g.length?(p=this,f=g):(p=g,f=this);for(var u=0;u<f.length;u++)this.words[u]=p.words[u]^f.words[u];if(this!==p)for(;u<p.length;u++)this.words[u]=p.words[u];return this.length=p.length,this.strip()},s.prototype.ixor=function(g){return i((this.negative|g.negative)===0),this.iuxor(g)},s.prototype.xor=function(g){return this.length>g.length?this.clone().ixor(g):g.clone().ixor(this)},s.prototype.uxor=function(g){return this.length>g.length?this.clone().iuxor(g):g.clone().iuxor(this)},s.prototype.inotn=function(g){i(typeof g=="number"&&g>=0);var p=Math.ceil(g/26)|0,f=g%26;this._expand(p),f>0&&p--;for(var u=0;u<p;u++)this.words[u]=~this.words[u]&67108863;return f>0&&(this.words[u]=~this.words[u]&67108863>>26-f),this.strip()},s.prototype.notn=function(g){return this.clone().inotn(g)},s.prototype.setn=function(g,p){i(typeof g=="number"&&g>=0);var f=g/26|0,u=g%26;return this._expand(f+1),p?this.words[f]=this.words[f]|1<<u:this.words[f]=this.words[f]&~(1<<u),this.strip()},s.prototype.iadd=function(g){var p;if(this.negative!==0&&g.negative===0)return this.negative=0,p=this.isub(g),this.negative^=1,this._normSign();if(this.negative===0&&g.negative!==0)return g.negative=0,p=this.isub(g),g.negative=1,p._normSign();var f,u;this.length>g.length?(f=this,u=g):(f=g,u=this);for(var b=0,_=0;_<u.length;_++)p=(f.words[_]|0)+(u.words[_]|0)+b,this.words[_]=p&67108863,b=p>>>26;for(;b!==0&&_<f.length;_++)p=(f.words[_]|0)+b,this.words[_]=p&67108863,b=p>>>26;if(this.length=f.length,b!==0)this.words[this.length]=b,this.length++;else if(f!==this)for(;_<f.length;_++)this.words[_]=f.words[_];return this},s.prototype.add=function(g){var p;return g.negative!==0&&this.negative===0?(g.negative=0,p=this.sub(g),g.negative^=1,p):g.negative===0&&this.negative!==0?(this.negative=0,p=g.sub(this),this.negative=1,p):this.length>g.length?this.clone().iadd(g):g.clone().iadd(this)},s.prototype.isub=function(g){if(g.negative!==0){g.negative=0;var p=this.iadd(g);return g.negative=1,p._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(g),this.negative=1,this._normSign();var f=this.cmp(g);if(f===0)return this.negative=0,this.length=1,this.words[0]=0,this;var u,b;f>0?(u=this,b=g):(u=g,b=this);for(var _=0,E=0;E<b.length;E++)p=(u.words[E]|0)-(b.words[E]|0)+_,_=p>>26,this.words[E]=p&67108863;for(;_!==0&&E<u.length;E++)p=(u.words[E]|0)+_,_=p>>26,this.words[E]=p&67108863;if(_===0&&E<u.length&&u!==this)for(;E<u.length;E++)this.words[E]=u.words[E];return this.length=Math.max(this.length,E),u!==this&&(this.negative=1),this.strip()},s.prototype.sub=function(g){return this.clone().isub(g)};function S(O,g,p){p.negative=g.negative^O.negative;var f=O.length+g.length|0;p.length=f,f=f-1|0;var u=O.words[0]|0,b=g.words[0]|0,_=u*b,E=_&67108863,w=_/67108864|0;p.words[0]=E;for(var d=1;d<f;d++){for(var m=w>>>26,v=w&67108863,A=Math.min(d,g.length-1),U=Math.max(0,d-O.length+1);U<=A;U++){var x=d-U|0;u=O.words[x]|0,b=g.words[U]|0,_=u*b+v,m+=_/67108864|0,v=_&67108863}p.words[d]=v|0,w=m|0}return w!==0?p.words[d]=w|0:p.length--,p.strip()}var D=function(g,p,f){var u=g.words,b=p.words,_=f.words,E=0,w,d,m,v=u[0]|0,A=v&8191,U=v>>>13,x=u[1]|0,N=x&8191,B=x>>>13,q=u[2]|0,z=q&8191,J=q>>>13,X=u[3]|0,W=X&8191,ne=X>>>13,Q=u[4]|0,ee=Q&8191,qe=Q>>>13,Ue=u[5]|0,he=Ue&8191,Pe=Ue>>>13,Re=u[6]|0,ae=Re&8191,$e=Re>>>13,Ne=u[7]|0,ce=Ne&8191,Te=Ne>>>13,Fe=u[8]|0,oe=Fe&8191,De=Fe>>>13,Ce=u[9]|0,ie=Ce&8191,Ve=Ce>>>13,He=b[0]|0,pe=He&8191,We=He>>>13,Be=b[1]|0,de=Be&8191,Ge=Be>>>13,Xe=b[2]|0,se=Xe&8191,Je=Xe>>>13,Ze=b[3]|0,ge=Ze&8191,ze=Ze>>>13,Oe=b[4]|0,ue=Oe&8191,ke=Oe>>>13,je=b[5]|0,fe=je&8191,Qe=je>>>13,et=b[6]|0,be=et&8191,tt=et>>>13,rt=b[7]|0,le=rt&8191,Ke=rt>>>13,Ae=b[8]|0,ve=Ae&8191,it=Ae>>>13,nt=b[9]|0,ye=nt&8191,st=nt>>>13;f.negative=g.negative^p.negative,f.length=19,w=Math.imul(A,pe),d=Math.imul(A,We),d=d+Math.imul(U,pe)|0,m=Math.imul(U,We);var xe=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(xe>>>26)|0,xe&=67108863,w=Math.imul(N,pe),d=Math.imul(N,We),d=d+Math.imul(B,pe)|0,m=Math.imul(B,We),w=w+Math.imul(A,de)|0,d=d+Math.imul(A,Ge)|0,d=d+Math.imul(U,de)|0,m=m+Math.imul(U,Ge)|0;var Ye=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Ye>>>26)|0,Ye&=67108863,w=Math.imul(z,pe),d=Math.imul(z,We),d=d+Math.imul(J,pe)|0,m=Math.imul(J,We),w=w+Math.imul(N,de)|0,d=d+Math.imul(N,Ge)|0,d=d+Math.imul(B,de)|0,m=m+Math.imul(B,Ge)|0,w=w+Math.imul(A,se)|0,d=d+Math.imul(A,Je)|0,d=d+Math.imul(U,se)|0,m=m+Math.imul(U,Je)|0;var ar=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(ar>>>26)|0,ar&=67108863,w=Math.imul(W,pe),d=Math.imul(W,We),d=d+Math.imul(ne,pe)|0,m=Math.imul(ne,We),w=w+Math.imul(z,de)|0,d=d+Math.imul(z,Ge)|0,d=d+Math.imul(J,de)|0,m=m+Math.imul(J,Ge)|0,w=w+Math.imul(N,se)|0,d=d+Math.imul(N,Je)|0,d=d+Math.imul(B,se)|0,m=m+Math.imul(B,Je)|0,w=w+Math.imul(A,ge)|0,d=d+Math.imul(A,ze)|0,d=d+Math.imul(U,ge)|0,m=m+Math.imul(U,ze)|0;var fr=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(fr>>>26)|0,fr&=67108863,w=Math.imul(ee,pe),d=Math.imul(ee,We),d=d+Math.imul(qe,pe)|0,m=Math.imul(qe,We),w=w+Math.imul(W,de)|0,d=d+Math.imul(W,Ge)|0,d=d+Math.imul(ne,de)|0,m=m+Math.imul(ne,Ge)|0,w=w+Math.imul(z,se)|0,d=d+Math.imul(z,Je)|0,d=d+Math.imul(J,se)|0,m=m+Math.imul(J,Je)|0,w=w+Math.imul(N,ge)|0,d=d+Math.imul(N,ze)|0,d=d+Math.imul(B,ge)|0,m=m+Math.imul(B,ze)|0,w=w+Math.imul(A,ue)|0,d=d+Math.imul(A,ke)|0,d=d+Math.imul(U,ue)|0,m=m+Math.imul(U,ke)|0;var cr=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(cr>>>26)|0,cr&=67108863,w=Math.imul(he,pe),d=Math.imul(he,We),d=d+Math.imul(Pe,pe)|0,m=Math.imul(Pe,We),w=w+Math.imul(ee,de)|0,d=d+Math.imul(ee,Ge)|0,d=d+Math.imul(qe,de)|0,m=m+Math.imul(qe,Ge)|0,w=w+Math.imul(W,se)|0,d=d+Math.imul(W,Je)|0,d=d+Math.imul(ne,se)|0,m=m+Math.imul(ne,Je)|0,w=w+Math.imul(z,ge)|0,d=d+Math.imul(z,ze)|0,d=d+Math.imul(J,ge)|0,m=m+Math.imul(J,ze)|0,w=w+Math.imul(N,ue)|0,d=d+Math.imul(N,ke)|0,d=d+Math.imul(B,ue)|0,m=m+Math.imul(B,ke)|0,w=w+Math.imul(A,fe)|0,d=d+Math.imul(A,Qe)|0,d=d+Math.imul(U,fe)|0,m=m+Math.imul(U,Qe)|0;var hr=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(hr>>>26)|0,hr&=67108863,w=Math.imul(ae,pe),d=Math.imul(ae,We),d=d+Math.imul($e,pe)|0,m=Math.imul($e,We),w=w+Math.imul(he,de)|0,d=d+Math.imul(he,Ge)|0,d=d+Math.imul(Pe,de)|0,m=m+Math.imul(Pe,Ge)|0,w=w+Math.imul(ee,se)|0,d=d+Math.imul(ee,Je)|0,d=d+Math.imul(qe,se)|0,m=m+Math.imul(qe,Je)|0,w=w+Math.imul(W,ge)|0,d=d+Math.imul(W,ze)|0,d=d+Math.imul(ne,ge)|0,m=m+Math.imul(ne,ze)|0,w=w+Math.imul(z,ue)|0,d=d+Math.imul(z,ke)|0,d=d+Math.imul(J,ue)|0,m=m+Math.imul(J,ke)|0,w=w+Math.imul(N,fe)|0,d=d+Math.imul(N,Qe)|0,d=d+Math.imul(B,fe)|0,m=m+Math.imul(B,Qe)|0,w=w+Math.imul(A,be)|0,d=d+Math.imul(A,tt)|0,d=d+Math.imul(U,be)|0,m=m+Math.imul(U,tt)|0;var wt=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(wt>>>26)|0,wt&=67108863,w=Math.imul(ce,pe),d=Math.imul(ce,We),d=d+Math.imul(Te,pe)|0,m=Math.imul(Te,We),w=w+Math.imul(ae,de)|0,d=d+Math.imul(ae,Ge)|0,d=d+Math.imul($e,de)|0,m=m+Math.imul($e,Ge)|0,w=w+Math.imul(he,se)|0,d=d+Math.imul(he,Je)|0,d=d+Math.imul(Pe,se)|0,m=m+Math.imul(Pe,Je)|0,w=w+Math.imul(ee,ge)|0,d=d+Math.imul(ee,ze)|0,d=d+Math.imul(qe,ge)|0,m=m+Math.imul(qe,ze)|0,w=w+Math.imul(W,ue)|0,d=d+Math.imul(W,ke)|0,d=d+Math.imul(ne,ue)|0,m=m+Math.imul(ne,ke)|0,w=w+Math.imul(z,fe)|0,d=d+Math.imul(z,Qe)|0,d=d+Math.imul(J,fe)|0,m=m+Math.imul(J,Qe)|0,w=w+Math.imul(N,be)|0,d=d+Math.imul(N,tt)|0,d=d+Math.imul(B,be)|0,m=m+Math.imul(B,tt)|0,w=w+Math.imul(A,le)|0,d=d+Math.imul(A,Ke)|0,d=d+Math.imul(U,le)|0,m=m+Math.imul(U,Ke)|0;var xi=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(xi>>>26)|0,xi&=67108863,w=Math.imul(oe,pe),d=Math.imul(oe,We),d=d+Math.imul(De,pe)|0,m=Math.imul(De,We),w=w+Math.imul(ce,de)|0,d=d+Math.imul(ce,Ge)|0,d=d+Math.imul(Te,de)|0,m=m+Math.imul(Te,Ge)|0,w=w+Math.imul(ae,se)|0,d=d+Math.imul(ae,Je)|0,d=d+Math.imul($e,se)|0,m=m+Math.imul($e,Je)|0,w=w+Math.imul(he,ge)|0,d=d+Math.imul(he,ze)|0,d=d+Math.imul(Pe,ge)|0,m=m+Math.imul(Pe,ze)|0,w=w+Math.imul(ee,ue)|0,d=d+Math.imul(ee,ke)|0,d=d+Math.imul(qe,ue)|0,m=m+Math.imul(qe,ke)|0,w=w+Math.imul(W,fe)|0,d=d+Math.imul(W,Qe)|0,d=d+Math.imul(ne,fe)|0,m=m+Math.imul(ne,Qe)|0,w=w+Math.imul(z,be)|0,d=d+Math.imul(z,tt)|0,d=d+Math.imul(J,be)|0,m=m+Math.imul(J,tt)|0,w=w+Math.imul(N,le)|0,d=d+Math.imul(N,Ke)|0,d=d+Math.imul(B,le)|0,m=m+Math.imul(B,Ke)|0,w=w+Math.imul(A,ve)|0,d=d+Math.imul(A,it)|0,d=d+Math.imul(U,ve)|0,m=m+Math.imul(U,it)|0;var Ei=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,w=Math.imul(ie,pe),d=Math.imul(ie,We),d=d+Math.imul(Ve,pe)|0,m=Math.imul(Ve,We),w=w+Math.imul(oe,de)|0,d=d+Math.imul(oe,Ge)|0,d=d+Math.imul(De,de)|0,m=m+Math.imul(De,Ge)|0,w=w+Math.imul(ce,se)|0,d=d+Math.imul(ce,Je)|0,d=d+Math.imul(Te,se)|0,m=m+Math.imul(Te,Je)|0,w=w+Math.imul(ae,ge)|0,d=d+Math.imul(ae,ze)|0,d=d+Math.imul($e,ge)|0,m=m+Math.imul($e,ze)|0,w=w+Math.imul(he,ue)|0,d=d+Math.imul(he,ke)|0,d=d+Math.imul(Pe,ue)|0,m=m+Math.imul(Pe,ke)|0,w=w+Math.imul(ee,fe)|0,d=d+Math.imul(ee,Qe)|0,d=d+Math.imul(qe,fe)|0,m=m+Math.imul(qe,Qe)|0,w=w+Math.imul(W,be)|0,d=d+Math.imul(W,tt)|0,d=d+Math.imul(ne,be)|0,m=m+Math.imul(ne,tt)|0,w=w+Math.imul(z,le)|0,d=d+Math.imul(z,Ke)|0,d=d+Math.imul(J,le)|0,m=m+Math.imul(J,Ke)|0,w=w+Math.imul(N,ve)|0,d=d+Math.imul(N,it)|0,d=d+Math.imul(B,ve)|0,m=m+Math.imul(B,it)|0,w=w+Math.imul(A,ye)|0,d=d+Math.imul(A,st)|0,d=d+Math.imul(U,ye)|0,m=m+Math.imul(U,st)|0;var Si=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Si>>>26)|0,Si&=67108863,w=Math.imul(ie,de),d=Math.imul(ie,Ge),d=d+Math.imul(Ve,de)|0,m=Math.imul(Ve,Ge),w=w+Math.imul(oe,se)|0,d=d+Math.imul(oe,Je)|0,d=d+Math.imul(De,se)|0,m=m+Math.imul(De,Je)|0,w=w+Math.imul(ce,ge)|0,d=d+Math.imul(ce,ze)|0,d=d+Math.imul(Te,ge)|0,m=m+Math.imul(Te,ze)|0,w=w+Math.imul(ae,ue)|0,d=d+Math.imul(ae,ke)|0,d=d+Math.imul($e,ue)|0,m=m+Math.imul($e,ke)|0,w=w+Math.imul(he,fe)|0,d=d+Math.imul(he,Qe)|0,d=d+Math.imul(Pe,fe)|0,m=m+Math.imul(Pe,Qe)|0,w=w+Math.imul(ee,be)|0,d=d+Math.imul(ee,tt)|0,d=d+Math.imul(qe,be)|0,m=m+Math.imul(qe,tt)|0,w=w+Math.imul(W,le)|0,d=d+Math.imul(W,Ke)|0,d=d+Math.imul(ne,le)|0,m=m+Math.imul(ne,Ke)|0,w=w+Math.imul(z,ve)|0,d=d+Math.imul(z,it)|0,d=d+Math.imul(J,ve)|0,m=m+Math.imul(J,it)|0,w=w+Math.imul(N,ye)|0,d=d+Math.imul(N,st)|0,d=d+Math.imul(B,ye)|0,m=m+Math.imul(B,st)|0;var Mi=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,w=Math.imul(ie,se),d=Math.imul(ie,Je),d=d+Math.imul(Ve,se)|0,m=Math.imul(Ve,Je),w=w+Math.imul(oe,ge)|0,d=d+Math.imul(oe,ze)|0,d=d+Math.imul(De,ge)|0,m=m+Math.imul(De,ze)|0,w=w+Math.imul(ce,ue)|0,d=d+Math.imul(ce,ke)|0,d=d+Math.imul(Te,ue)|0,m=m+Math.imul(Te,ke)|0,w=w+Math.imul(ae,fe)|0,d=d+Math.imul(ae,Qe)|0,d=d+Math.imul($e,fe)|0,m=m+Math.imul($e,Qe)|0,w=w+Math.imul(he,be)|0,d=d+Math.imul(he,tt)|0,d=d+Math.imul(Pe,be)|0,m=m+Math.imul(Pe,tt)|0,w=w+Math.imul(ee,le)|0,d=d+Math.imul(ee,Ke)|0,d=d+Math.imul(qe,le)|0,m=m+Math.imul(qe,Ke)|0,w=w+Math.imul(W,ve)|0,d=d+Math.imul(W,it)|0,d=d+Math.imul(ne,ve)|0,m=m+Math.imul(ne,it)|0,w=w+Math.imul(z,ye)|0,d=d+Math.imul(z,st)|0,d=d+Math.imul(J,ye)|0,m=m+Math.imul(J,st)|0;var Ii=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Ii>>>26)|0,Ii&=67108863,w=Math.imul(ie,ge),d=Math.imul(ie,ze),d=d+Math.imul(Ve,ge)|0,m=Math.imul(Ve,ze),w=w+Math.imul(oe,ue)|0,d=d+Math.imul(oe,ke)|0,d=d+Math.imul(De,ue)|0,m=m+Math.imul(De,ke)|0,w=w+Math.imul(ce,fe)|0,d=d+Math.imul(ce,Qe)|0,d=d+Math.imul(Te,fe)|0,m=m+Math.imul(Te,Qe)|0,w=w+Math.imul(ae,be)|0,d=d+Math.imul(ae,tt)|0,d=d+Math.imul($e,be)|0,m=m+Math.imul($e,tt)|0,w=w+Math.imul(he,le)|0,d=d+Math.imul(he,Ke)|0,d=d+Math.imul(Pe,le)|0,m=m+Math.imul(Pe,Ke)|0,w=w+Math.imul(ee,ve)|0,d=d+Math.imul(ee,it)|0,d=d+Math.imul(qe,ve)|0,m=m+Math.imul(qe,it)|0,w=w+Math.imul(W,ye)|0,d=d+Math.imul(W,st)|0,d=d+Math.imul(ne,ye)|0,m=m+Math.imul(ne,st)|0;var Pr=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,w=Math.imul(ie,ue),d=Math.imul(ie,ke),d=d+Math.imul(Ve,ue)|0,m=Math.imul(Ve,ke),w=w+Math.imul(oe,fe)|0,d=d+Math.imul(oe,Qe)|0,d=d+Math.imul(De,fe)|0,m=m+Math.imul(De,Qe)|0,w=w+Math.imul(ce,be)|0,d=d+Math.imul(ce,tt)|0,d=d+Math.imul(Te,be)|0,m=m+Math.imul(Te,tt)|0,w=w+Math.imul(ae,le)|0,d=d+Math.imul(ae,Ke)|0,d=d+Math.imul($e,le)|0,m=m+Math.imul($e,Ke)|0,w=w+Math.imul(he,ve)|0,d=d+Math.imul(he,it)|0,d=d+Math.imul(Pe,ve)|0,m=m+Math.imul(Pe,it)|0,w=w+Math.imul(ee,ye)|0,d=d+Math.imul(ee,st)|0,d=d+Math.imul(qe,ye)|0,m=m+Math.imul(qe,st)|0;var Ai=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,w=Math.imul(ie,fe),d=Math.imul(ie,Qe),d=d+Math.imul(Ve,fe)|0,m=Math.imul(Ve,Qe),w=w+Math.imul(oe,be)|0,d=d+Math.imul(oe,tt)|0,d=d+Math.imul(De,be)|0,m=m+Math.imul(De,tt)|0,w=w+Math.imul(ce,le)|0,d=d+Math.imul(ce,Ke)|0,d=d+Math.imul(Te,le)|0,m=m+Math.imul(Te,Ke)|0,w=w+Math.imul(ae,ve)|0,d=d+Math.imul(ae,it)|0,d=d+Math.imul($e,ve)|0,m=m+Math.imul($e,it)|0,w=w+Math.imul(he,ye)|0,d=d+Math.imul(he,st)|0,d=d+Math.imul(Pe,ye)|0,m=m+Math.imul(Pe,st)|0;var Di=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Di>>>26)|0,Di&=67108863,w=Math.imul(ie,be),d=Math.imul(ie,tt),d=d+Math.imul(Ve,be)|0,m=Math.imul(Ve,tt),w=w+Math.imul(oe,le)|0,d=d+Math.imul(oe,Ke)|0,d=d+Math.imul(De,le)|0,m=m+Math.imul(De,Ke)|0,w=w+Math.imul(ce,ve)|0,d=d+Math.imul(ce,it)|0,d=d+Math.imul(Te,ve)|0,m=m+Math.imul(Te,it)|0,w=w+Math.imul(ae,ye)|0,d=d+Math.imul(ae,st)|0,d=d+Math.imul($e,ye)|0,m=m+Math.imul($e,st)|0;var Wt=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,w=Math.imul(ie,le),d=Math.imul(ie,Ke),d=d+Math.imul(Ve,le)|0,m=Math.imul(Ve,Ke),w=w+Math.imul(oe,ve)|0,d=d+Math.imul(oe,it)|0,d=d+Math.imul(De,ve)|0,m=m+Math.imul(De,it)|0,w=w+Math.imul(ce,ye)|0,d=d+Math.imul(ce,st)|0,d=d+Math.imul(Te,ye)|0,m=m+Math.imul(Te,st)|0;var Oi=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Oi>>>26)|0,Oi&=67108863,w=Math.imul(ie,ve),d=Math.imul(ie,it),d=d+Math.imul(Ve,ve)|0,m=Math.imul(Ve,it),w=w+Math.imul(oe,ye)|0,d=d+Math.imul(oe,st)|0,d=d+Math.imul(De,ye)|0,m=m+Math.imul(De,st)|0;var Pi=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,w=Math.imul(ie,ye),d=Math.imul(ie,st),d=d+Math.imul(Ve,ye)|0,m=Math.imul(Ve,st);var Ri=(E+w|0)+((d&8191)<<13)|0;return E=(m+(d>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,_[0]=xe,_[1]=Ye,_[2]=ar,_[3]=fr,_[4]=cr,_[5]=hr,_[6]=wt,_[7]=xi,_[8]=Ei,_[9]=Si,_[10]=Mi,_[11]=Ii,_[12]=Pr,_[13]=Ai,_[14]=Di,_[15]=Wt,_[16]=Oi,_[17]=Pi,_[18]=Ri,E!==0&&(_[19]=E,f.length++),f};Math.imul||(D=S);function R(O,g,p){p.negative=g.negative^O.negative,p.length=O.length+g.length;for(var f=0,u=0,b=0;b<p.length-1;b++){var _=u;u=0;for(var E=f&67108863,w=Math.min(b,g.length-1),d=Math.max(0,b-O.length+1);d<=w;d++){var m=b-d,v=O.words[m]|0,A=g.words[d]|0,U=v*A,x=U&67108863;_=_+(U/67108864|0)|0,x=x+E|0,E=x&67108863,_=_+(x>>>26)|0,u+=_>>>26,_&=67108863}p.words[b]=E,f=_,_=u}return f!==0?p.words[b]=f:p.length--,p.strip()}function $(O,g,p){var f=new T;return f.mulp(O,g,p)}s.prototype.mulTo=function(g,p){var f,u=this.length+g.length;return this.length===10&&g.length===10?f=D(this,g,p):u<63?f=S(this,g,p):u<1024?f=R(this,g,p):f=$(this,g,p),f};function T(O,g){this.x=O,this.y=g}T.prototype.makeRBT=function(g){for(var p=new Array(g),f=s.prototype._countBits(g)-1,u=0;u<g;u++)p[u]=this.revBin(u,f,g);return p},T.prototype.revBin=function(g,p,f){if(g===0||g===f-1)return g;for(var u=0,b=0;b<p;b++)u|=(g&1)<<p-b-1,g>>=1;return u},T.prototype.permute=function(g,p,f,u,b,_){for(var E=0;E<_;E++)u[E]=p[g[E]],b[E]=f[g[E]]},T.prototype.transform=function(g,p,f,u,b,_){this.permute(_,g,p,f,u,b);for(var E=1;E<b;E<<=1)for(var w=E<<1,d=Math.cos(2*Math.PI/w),m=Math.sin(2*Math.PI/w),v=0;v<b;v+=w)for(var A=d,U=m,x=0;x<E;x++){var N=f[v+x],B=u[v+x],q=f[v+x+E],z=u[v+x+E],J=A*q-U*z;z=A*z+U*q,q=J,f[v+x]=N+q,u[v+x]=B+z,f[v+x+E]=N-q,u[v+x+E]=B-z,x!==w&&(J=d*A-m*U,U=d*U+m*A,A=J)}},T.prototype.guessLen13b=function(g,p){var f=Math.max(p,g)|1,u=f&1,b=0;for(f=f/2|0;f;f=f>>>1)b++;return 1<<b+1+u},T.prototype.conjugate=function(g,p,f){if(!(f<=1))for(var u=0;u<f/2;u++){var b=g[u];g[u]=g[f-u-1],g[f-u-1]=b,b=p[u],p[u]=-p[f-u-1],p[f-u-1]=-b}},T.prototype.normalize13b=function(g,p){for(var f=0,u=0;u<p/2;u++){var b=Math.round(g[2*u+1]/p)*8192+Math.round(g[2*u]/p)+f;g[u]=b&67108863,b<67108864?f=0:f=b/67108864|0}return g},T.prototype.convert13b=function(g,p,f,u){for(var b=0,_=0;_<p;_++)b=b+(g[_]|0),f[2*_]=b&8191,b=b>>>13,f[2*_+1]=b&8191,b=b>>>13;for(_=2*p;_<u;++_)f[_]=0;i(b===0),i((b&-8192)===0)},T.prototype.stub=function(g){for(var p=new Array(g),f=0;f<g;f++)p[f]=0;return p},T.prototype.mulp=function(g,p,f){var u=2*this.guessLen13b(g.length,p.length),b=this.makeRBT(u),_=this.stub(u),E=new Array(u),w=new Array(u),d=new Array(u),m=new Array(u),v=new Array(u),A=new Array(u),U=f.words;U.length=u,this.convert13b(g.words,g.length,E,u),this.convert13b(p.words,p.length,m,u),this.transform(E,_,w,d,u,b),this.transform(m,_,v,A,u,b);for(var x=0;x<u;x++){var N=w[x]*v[x]-d[x]*A[x];d[x]=w[x]*A[x]+d[x]*v[x],w[x]=N}return this.conjugate(w,d,u),this.transform(w,d,U,_,u,b),this.conjugate(U,_,u),this.normalize13b(U,u),f.negative=g.negative^p.negative,f.length=g.length+p.length,f.strip()},s.prototype.mul=function(g){var p=new s(null);return p.words=new Array(this.length+g.length),this.mulTo(g,p)},s.prototype.mulf=function(g){var p=new s(null);return p.words=new Array(this.length+g.length),$(this,g,p)},s.prototype.imul=function(g){return this.clone().mulTo(g,this)},s.prototype.imuln=function(g){i(typeof g=="number"),i(g<67108864);for(var p=0,f=0;f<this.length;f++){var u=(this.words[f]|0)*g,b=(u&67108863)+(p&67108863);p>>=26,p+=u/67108864|0,p+=b>>>26,this.words[f]=b&67108863}return p!==0&&(this.words[f]=p,this.length++),this},s.prototype.muln=function(g){return this.clone().imuln(g)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(g){var p=I(g);if(p.length===0)return new s(1);for(var f=this,u=0;u<p.length&&p[u]===0;u++,f=f.sqr());if(++u<p.length)for(var b=f.sqr();u<p.length;u++,b=b.sqr())p[u]!==0&&(f=f.mul(b));return f},s.prototype.iushln=function(g){i(typeof g=="number"&&g>=0);var p=g%26,f=(g-p)/26,u=67108863>>>26-p<<26-p,b;if(p!==0){var _=0;for(b=0;b<this.length;b++){var E=this.words[b]&u,w=(this.words[b]|0)-E<<p;this.words[b]=w|_,_=E>>>26-p}_&&(this.words[b]=_,this.length++)}if(f!==0){for(b=this.length-1;b>=0;b--)this.words[b+f]=this.words[b];for(b=0;b<f;b++)this.words[b]=0;this.length+=f}return this.strip()},s.prototype.ishln=function(g){return i(this.negative===0),this.iushln(g)},s.prototype.iushrn=function(g,p,f){i(typeof g=="number"&&g>=0);var u;p?u=(p-p%26)/26:u=0;var b=g%26,_=Math.min((g-b)/26,this.length),E=67108863^67108863>>>b<<b,w=f;if(u-=_,u=Math.max(0,u),w){for(var d=0;d<_;d++)w.words[d]=this.words[d];w.length=_}if(_!==0)if(this.length>_)for(this.length-=_,d=0;d<this.length;d++)this.words[d]=this.words[d+_];else this.words[0]=0,this.length=1;var m=0;for(d=this.length-1;d>=0&&(m!==0||d>=u);d--){var v=this.words[d]|0;this.words[d]=m<<26-b|v>>>b,m=v&E}return w&&m!==0&&(w.words[w.length++]=m),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(g,p,f){return i(this.negative===0),this.iushrn(g,p,f)},s.prototype.shln=function(g){return this.clone().ishln(g)},s.prototype.ushln=function(g){return this.clone().iushln(g)},s.prototype.shrn=function(g){return this.clone().ishrn(g)},s.prototype.ushrn=function(g){return this.clone().iushrn(g)},s.prototype.testn=function(g){i(typeof g=="number"&&g>=0);var p=g%26,f=(g-p)/26,u=1<<p;if(this.length<=f)return!1;var b=this.words[f];return!!(b&u)},s.prototype.imaskn=function(g){i(typeof g=="number"&&g>=0);var p=g%26,f=(g-p)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=f)return this;if(p!==0&&f++,this.length=Math.min(f,this.length),p!==0){var u=67108863^67108863>>>p<<p;this.words[this.length-1]&=u}return this.strip()},s.prototype.maskn=function(g){return this.clone().imaskn(g)},s.prototype.iaddn=function(g){return i(typeof g=="number"),i(g<67108864),g<0?this.isubn(-g):this.negative!==0?this.length===1&&(this.words[0]|0)<g?(this.words[0]=g-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(g),this.negative=1,this):this._iaddn(g)},s.prototype._iaddn=function(g){this.words[0]+=g;for(var p=0;p<this.length&&this.words[p]>=67108864;p++)this.words[p]-=67108864,p===this.length-1?this.words[p+1]=1:this.words[p+1]++;return this.length=Math.max(this.length,p+1),this},s.prototype.isubn=function(g){if(i(typeof g=="number"),i(g<67108864),g<0)return this.iaddn(-g);if(this.negative!==0)return this.negative=0,this.iaddn(g),this.negative=1,this;if(this.words[0]-=g,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var p=0;p<this.length&&this.words[p]<0;p++)this.words[p]+=67108864,this.words[p+1]-=1;return this.strip()},s.prototype.addn=function(g){return this.clone().iaddn(g)},s.prototype.subn=function(g){return this.clone().isubn(g)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(g,p,f){var u=g.length+f,b;this._expand(u);var _,E=0;for(b=0;b<g.length;b++){_=(this.words[b+f]|0)+E;var w=(g.words[b]|0)*p;_-=w&67108863,E=(_>>26)-(w/67108864|0),this.words[b+f]=_&67108863}for(;b<this.length-f;b++)_=(this.words[b+f]|0)+E,E=_>>26,this.words[b+f]=_&67108863;if(E===0)return this.strip();for(i(E===-1),E=0,b=0;b<this.length;b++)_=-(this.words[b]|0)+E,E=_>>26,this.words[b]=_&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(g,p){var f=this.length-g.length,u=this.clone(),b=g,_=b.words[b.length-1]|0,E=this._countBits(_);f=26-E,f!==0&&(b=b.ushln(f),u.iushln(f),_=b.words[b.length-1]|0);var w=u.length-b.length,d;if(p!=="mod"){d=new s(null),d.length=w+1,d.words=new Array(d.length);for(var m=0;m<d.length;m++)d.words[m]=0}var v=u.clone()._ishlnsubmul(b,1,w);v.negative===0&&(u=v,d&&(d.words[w]=1));for(var A=w-1;A>=0;A--){var U=(u.words[b.length+A]|0)*67108864+(u.words[b.length+A-1]|0);for(U=Math.min(U/_|0,67108863),u._ishlnsubmul(b,U,A);u.negative!==0;)U--,u.negative=0,u._ishlnsubmul(b,1,A),u.isZero()||(u.negative^=1);d&&(d.words[A]=U)}return d&&d.strip(),u.strip(),p!=="div"&&f!==0&&u.iushrn(f),{div:d||null,mod:u}},s.prototype.divmod=function(g,p,f){if(i(!g.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var u,b,_;return this.negative!==0&&g.negative===0?(_=this.neg().divmod(g,p),p!=="mod"&&(u=_.div.neg()),p!=="div"&&(b=_.mod.neg(),f&&b.negative!==0&&b.iadd(g)),{div:u,mod:b}):this.negative===0&&g.negative!==0?(_=this.divmod(g.neg(),p),p!=="mod"&&(u=_.div.neg()),{div:u,mod:_.mod}):this.negative&g.negative?(_=this.neg().divmod(g.neg(),p),p!=="div"&&(b=_.mod.neg(),f&&b.negative!==0&&b.isub(g)),{div:_.div,mod:b}):g.length>this.length||this.cmp(g)<0?{div:new s(0),mod:this}:g.length===1?p==="div"?{div:this.divn(g.words[0]),mod:null}:p==="mod"?{div:null,mod:new s(this.modn(g.words[0]))}:{div:this.divn(g.words[0]),mod:new s(this.modn(g.words[0]))}:this._wordDiv(g,p)},s.prototype.div=function(g){return this.divmod(g,"div",!1).div},s.prototype.mod=function(g){return this.divmod(g,"mod",!1).mod},s.prototype.umod=function(g){return this.divmod(g,"mod",!0).mod},s.prototype.divRound=function(g){var p=this.divmod(g);if(p.mod.isZero())return p.div;var f=p.div.negative!==0?p.mod.isub(g):p.mod,u=g.ushrn(1),b=g.andln(1),_=f.cmp(u);return _<0||b===1&&_===0?p.div:p.div.negative!==0?p.div.isubn(1):p.div.iaddn(1)},s.prototype.modn=function(g){i(g<=67108863);for(var p=(1<<26)%g,f=0,u=this.length-1;u>=0;u--)f=(p*f+(this.words[u]|0))%g;return f},s.prototype.idivn=function(g){i(g<=67108863);for(var p=0,f=this.length-1;f>=0;f--){var u=(this.words[f]|0)+p*67108864;this.words[f]=u/g|0,p=u%g}return this.strip()},s.prototype.divn=function(g){return this.clone().idivn(g)},s.prototype.egcd=function(g){i(g.negative===0),i(!g.isZero());var p=this,f=g.clone();p.negative!==0?p=p.umod(g):p=p.clone();for(var u=new s(1),b=new s(0),_=new s(0),E=new s(1),w=0;p.isEven()&&f.isEven();)p.iushrn(1),f.iushrn(1),++w;for(var d=f.clone(),m=p.clone();!p.isZero();){for(var v=0,A=1;!(p.words[0]&A)&&v<26;++v,A<<=1);if(v>0)for(p.iushrn(v);v-- >0;)(u.isOdd()||b.isOdd())&&(u.iadd(d),b.isub(m)),u.iushrn(1),b.iushrn(1);for(var U=0,x=1;!(f.words[0]&x)&&U<26;++U,x<<=1);if(U>0)for(f.iushrn(U);U-- >0;)(_.isOdd()||E.isOdd())&&(_.iadd(d),E.isub(m)),_.iushrn(1),E.iushrn(1);p.cmp(f)>=0?(p.isub(f),u.isub(_),b.isub(E)):(f.isub(p),_.isub(u),E.isub(b))}return{a:_,b:E,gcd:f.iushln(w)}},s.prototype._invmp=function(g){i(g.negative===0),i(!g.isZero());var p=this,f=g.clone();p.negative!==0?p=p.umod(g):p=p.clone();for(var u=new s(1),b=new s(0),_=f.clone();p.cmpn(1)>0&&f.cmpn(1)>0;){for(var E=0,w=1;!(p.words[0]&w)&&E<26;++E,w<<=1);if(E>0)for(p.iushrn(E);E-- >0;)u.isOdd()&&u.iadd(_),u.iushrn(1);for(var d=0,m=1;!(f.words[0]&m)&&d<26;++d,m<<=1);if(d>0)for(f.iushrn(d);d-- >0;)b.isOdd()&&b.iadd(_),b.iushrn(1);p.cmp(f)>=0?(p.isub(f),u.isub(b)):(f.isub(p),b.isub(u))}var v;return p.cmpn(1)===0?v=u:v=b,v.cmpn(0)<0&&v.iadd(g),v},s.prototype.gcd=function(g){if(this.isZero())return g.abs();if(g.isZero())return this.abs();var p=this.clone(),f=g.clone();p.negative=0,f.negative=0;for(var u=0;p.isEven()&&f.isEven();u++)p.iushrn(1),f.iushrn(1);do{for(;p.isEven();)p.iushrn(1);for(;f.isEven();)f.iushrn(1);var b=p.cmp(f);if(b<0){var _=p;p=f,f=_}else if(b===0||f.cmpn(1)===0)break;p.isub(f)}while(!0);return f.iushln(u)},s.prototype.invm=function(g){return this.egcd(g).a.umod(g)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(g){return this.words[0]&g},s.prototype.bincn=function(g){i(typeof g=="number");var p=g%26,f=(g-p)/26,u=1<<p;if(this.length<=f)return this._expand(f+1),this.words[f]|=u,this;for(var b=u,_=f;b!==0&&_<this.length;_++){var E=this.words[_]|0;E+=b,b=E>>>26,E&=67108863,this.words[_]=E}return b!==0&&(this.words[_]=b,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(g){var p=g<0;if(this.negative!==0&&!p)return-1;if(this.negative===0&&p)return 1;this.strip();var f;if(this.length>1)f=1;else{p&&(g=-g),i(g<=67108863,"Number is too big");var u=this.words[0]|0;f=u===g?0:u<g?-1:1}return this.negative!==0?-f|0:f},s.prototype.cmp=function(g){if(this.negative!==0&&g.negative===0)return-1;if(this.negative===0&&g.negative!==0)return 1;var p=this.ucmp(g);return this.negative!==0?-p|0:p},s.prototype.ucmp=function(g){if(this.length>g.length)return 1;if(this.length<g.length)return-1;for(var p=0,f=this.length-1;f>=0;f--){var u=this.words[f]|0,b=g.words[f]|0;if(u!==b){u<b?p=-1:u>b&&(p=1);break}}return p},s.prototype.gtn=function(g){return this.cmpn(g)===1},s.prototype.gt=function(g){return this.cmp(g)===1},s.prototype.gten=function(g){return this.cmpn(g)>=0},s.prototype.gte=function(g){return this.cmp(g)>=0},s.prototype.ltn=function(g){return this.cmpn(g)===-1},s.prototype.lt=function(g){return this.cmp(g)===-1},s.prototype.lten=function(g){return this.cmpn(g)<=0},s.prototype.lte=function(g){return this.cmp(g)<=0},s.prototype.eqn=function(g){return this.cmpn(g)===0},s.prototype.eq=function(g){return this.cmp(g)===0},s.red=function(g){return new V(g)},s.prototype.toRed=function(g){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),g.convertTo(this)._forceRed(g)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(g){return this.red=g,this},s.prototype.forceRed=function(g){return i(!this.red,"Already a number in reduction context"),this._forceRed(g)},s.prototype.redAdd=function(g){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,g)},s.prototype.redIAdd=function(g){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,g)},s.prototype.redSub=function(g){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,g)},s.prototype.redISub=function(g){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,g)},s.prototype.redShl=function(g){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,g)},s.prototype.redMul=function(g){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,g),this.red.mul(this,g)},s.prototype.redIMul=function(g){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,g),this.red.imul(this,g)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(g){return i(this.red&&!g.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,g)};var C={k256:null,p224:null,p192:null,p25519:null};function L(O,g){this.name=O,this.p=new s(g,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}L.prototype._tmp=function(){var g=new s(null);return g.words=new Array(Math.ceil(this.n/13)),g},L.prototype.ireduce=function(g){var p=g,f;do this.split(p,this.tmp),p=this.imulK(p),p=p.iadd(this.tmp),f=p.bitLength();while(f>this.n);var u=f<this.n?-1:p.ucmp(this.p);return u===0?(p.words[0]=0,p.length=1):u>0?p.isub(this.p):p.strip!==void 0?p.strip():p._strip(),p},L.prototype.split=function(g,p){g.iushrn(this.n,0,p)},L.prototype.imulK=function(g){return g.imul(this.k)};function k(){L.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(k,L),k.prototype.split=function(g,p){for(var f=4194303,u=Math.min(g.length,9),b=0;b<u;b++)p.words[b]=g.words[b];if(p.length=u,g.length<=9){g.words[0]=0,g.length=1;return}var _=g.words[9];for(p.words[p.length++]=_&f,b=10;b<g.length;b++){var E=g.words[b]|0;g.words[b-10]=(E&f)<<4|_>>>22,_=E}_>>>=22,g.words[b-10]=_,_===0&&g.length>10?g.length-=10:g.length-=9},k.prototype.imulK=function(g){g.words[g.length]=0,g.words[g.length+1]=0,g.length+=2;for(var p=0,f=0;f<g.length;f++){var u=g.words[f]|0;p+=u*977,g.words[f]=p&67108863,p=u*64+(p/67108864|0)}return g.words[g.length-1]===0&&(g.length--,g.words[g.length-1]===0&&g.length--),g};function j(){L.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(j,L);function G(){L.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(G,L);function K(){L.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(K,L),K.prototype.imulK=function(g){for(var p=0,f=0;f<g.length;f++){var u=(g.words[f]|0)*19+p,b=u&67108863;u>>>=26,g.words[f]=b,p=u}return p!==0&&(g.words[g.length++]=p),g},s._prime=function(g){if(C[g])return C[g];var p;if(g==="k256")p=new k;else if(g==="p224")p=new j;else if(g==="p192")p=new G;else if(g==="p25519")p=new K;else throw new Error("Unknown prime "+g);return C[g]=p,p};function V(O){if(typeof O=="string"){var g=s._prime(O);this.m=g.p,this.prime=g}else i(O.gtn(1),"modulus must be greater than 1"),this.m=O,this.prime=null}V.prototype._verify1=function(g){i(g.negative===0,"red works only with positives"),i(g.red,"red works only with red numbers")},V.prototype._verify2=function(g,p){i((g.negative|p.negative)===0,"red works only with positives"),i(g.red&&g.red===p.red,"red works only with red numbers")},V.prototype.imod=function(g){return this.prime?this.prime.ireduce(g)._forceRed(this):g.umod(this.m)._forceRed(this)},V.prototype.neg=function(g){return g.isZero()?g.clone():this.m.sub(g)._forceRed(this)},V.prototype.add=function(g,p){this._verify2(g,p);var f=g.add(p);return f.cmp(this.m)>=0&&f.isub(this.m),f._forceRed(this)},V.prototype.iadd=function(g,p){this._verify2(g,p);var f=g.iadd(p);return f.cmp(this.m)>=0&&f.isub(this.m),f},V.prototype.sub=function(g,p){this._verify2(g,p);var f=g.sub(p);return f.cmpn(0)<0&&f.iadd(this.m),f._forceRed(this)},V.prototype.isub=function(g,p){this._verify2(g,p);var f=g.isub(p);return f.cmpn(0)<0&&f.iadd(this.m),f},V.prototype.shl=function(g,p){return this._verify1(g),this.imod(g.ushln(p))},V.prototype.imul=function(g,p){return this._verify2(g,p),this.imod(g.imul(p))},V.prototype.mul=function(g,p){return this._verify2(g,p),this.imod(g.mul(p))},V.prototype.isqr=function(g){return this.imul(g,g.clone())},V.prototype.sqr=function(g){return this.mul(g,g)},V.prototype.sqrt=function(g){if(g.isZero())return g.clone();var p=this.m.andln(3);if(i(p%2===1),p===3){var f=this.m.add(new s(1)).iushrn(2);return this.pow(g,f)}for(var u=this.m.subn(1),b=0;!u.isZero()&&u.andln(1)===0;)b++,u.iushrn(1);i(!u.isZero());var _=new s(1).toRed(this),E=_.redNeg(),w=this.m.subn(1).iushrn(1),d=this.m.bitLength();for(d=new s(2*d*d).toRed(this);this.pow(d,w).cmp(E)!==0;)d.redIAdd(E);for(var m=this.pow(d,u),v=this.pow(g,u.addn(1).iushrn(1)),A=this.pow(g,u),U=b;A.cmp(_)!==0;){for(var x=A,N=0;x.cmp(_)!==0;N++)x=x.redSqr();i(N<U);var B=this.pow(m,new s(1).iushln(U-N-1));v=v.redMul(B),m=B.redSqr(),A=A.redMul(m),U=N}return v},V.prototype.invm=function(g){var p=g._invmp(this.m);return p.negative!==0?(p.negative=0,this.imod(p).redNeg()):this.imod(p)},V.prototype.pow=function(g,p){if(p.isZero())return new s(1).toRed(this);if(p.cmpn(1)===0)return g.clone();var f=4,u=new Array(1<<f);u[0]=new s(1).toRed(this),u[1]=g;for(var b=2;b<u.length;b++)u[b]=this.mul(u[b-1],g);var _=u[0],E=0,w=0,d=p.bitLength()%26;for(d===0&&(d=26),b=p.length-1;b>=0;b--){for(var m=p.words[b],v=d-1;v>=0;v--){var A=m>>v&1;if(_!==u[0]&&(_=this.sqr(_)),A===0&&E===0){w=0;continue}E<<=1,E|=A,w++,!(w!==f&&(b!==0||v!==0))&&(_=this.mul(_,u[E]),w=0,E=0)}d=26}return _},V.prototype.convertTo=function(g){var p=g.umod(this.m);return p===g?p.clone():p},V.prototype.convertFrom=function(g){var p=g.clone();return p.red=null,p},s.mont=function(g){return new re(g)};function re(O){V.call(this,O),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(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(re,V),re.prototype.convertTo=function(g){return this.imod(g.ushln(this.shift))},re.prototype.convertFrom=function(g){var p=this.imod(g.mul(this.rinv));return p.red=null,p},re.prototype.imul=function(g,p){if(g.isZero()||p.isZero())return g.words[0]=0,g.length=1,g;var f=g.imul(p),u=f.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=f.isub(u).iushrn(this.shift),_=b;return b.cmp(this.m)>=0?_=b.isub(this.m):b.cmpn(0)<0&&(_=b.iadd(this.m)),_._forceRed(this)},re.prototype.mul=function(g,p){if(g.isZero()||p.isZero())return new s(0)._forceRed(this);var f=g.mul(p),u=f.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=f.isub(u).iushrn(this.shift),_=b;return b.cmp(this.m)>=0?_=b.isub(this.m):b.cmpn(0)<0&&(_=b.iadd(this.m)),_._forceRed(this)},re.prototype.invm=function(g){var p=this.imod(g._invmp(this.m).mul(this.r2));return p._forceRed(this)}})(t,Nt)})(ei);var xf={};(function(t){var e=t;function r(s,o){if(Array.isArray(s))return s.slice();if(!s)return[];var a=[];if(typeof s!="string"){for(var c=0;c<s.length;c++)a[c]=s[c]|0;return a}if(o==="hex"){s=s.replace(/[^a-z0-9]+/ig,""),s.length%2!==0&&(s="0"+s);for(var c=0;c<s.length;c+=2)a.push(parseInt(s[c]+s[c+1],16))}else for(var c=0;c<s.length;c++){var h=s.charCodeAt(c),l=h>>8,y=h&255;l?a.push(l,y):a.push(y)}return a}e.toArray=r;function i(s){return s.length===1?"0"+s:s}e.zero2=i;function n(s){for(var o="",a=0;a<s.length;a++)o+=i(s[a].toString(16));return o}e.toHex=n,e.encode=function(o,a){return a==="hex"?n(o):o}})(xf),function(t){var e=t,r=ei.exports,i=sn,n=xf;e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode;function s(l,y,M){var I=new Array(Math.max(l.bitLength(),M)+1),S;for(S=0;S<I.length;S+=1)I[S]=0;var D=1<<y+1,R=l.clone();for(S=0;S<I.length;S++){var $,T=R.andln(D-1);R.isOdd()?(T>(D>>1)-1?$=(D>>1)-T:$=T,R.isubn($)):$=0,I[S]=$,R.iushrn(1)}return I}e.getNAF=s;function o(l,y){var M=[[],[]];l=l.clone(),y=y.clone();for(var I=0,S=0,D;l.cmpn(-I)>0||y.cmpn(-S)>0;){var R=l.andln(3)+I&3,$=y.andln(3)+S&3;R===3&&(R=-1),$===3&&($=-1);var T;R&1?(D=l.andln(7)+I&7,(D===3||D===5)&&$===2?T=-R:T=R):T=0,M[0].push(T);var C;$&1?(D=y.andln(7)+S&7,(D===3||D===5)&&R===2?C=-$:C=$):C=0,M[1].push(C),2*I===T+1&&(I=1-I),2*S===C+1&&(S=1-S),l.iushrn(1),y.iushrn(1)}return M}e.getJSF=o;function a(l,y,M){var I="_"+y;l.prototype[y]=function(){return this[I]!==void 0?this[I]:this[I]=M.call(this)}}e.cachedProperty=a;function c(l){return typeof l=="string"?e.toArray(l,"hex"):l}e.parseBytes=c;function h(l){return new r(l,"hex","le")}e.intFromLE=h}(pr);var Ao={exports:{}},Ef;Ao.exports=function(e){return Ef||(Ef=new qi(null)),Ef.generate(e)};function qi(t){this.rand=t}if(Ao.exports.Rand=qi,qi.prototype.generate=function(e){return this._rand(e)},qi.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var r=new Uint8Array(e),i=0;i<r.length;i++)r[i]=this.rand.getByte();return r},typeof self=="object")self.crypto&&self.crypto.getRandomValues?qi.prototype._rand=function(e){var r=new Uint8Array(e);return self.crypto.getRandomValues(r),r}:self.msCrypto&&self.msCrypto.getRandomValues?qi.prototype._rand=function(e){var r=new Uint8Array(e);return self.msCrypto.getRandomValues(r),r}:typeof window=="object"&&(qi.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var wd=Qa;if(typeof wd.randomBytes!="function")throw new Error("Not supported");qi.prototype._rand=function(e){return wd.randomBytes(e)}}catch{}var Sf={},fn=ei.exports,xs=pr,Do=xs.getNAF,yw=xs.getJSF,Oo=xs.assert;function Ui(t,e){this.type=t,this.p=new fn(e.p,16),this.red=e.prime?fn.red(e.prime):fn.mont(this.p),this.zero=new fn(0).toRed(this.red),this.one=new fn(1).toRed(this.red),this.two=new fn(2).toRed(this.red),this.n=e.n&&new fn(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 r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Po=Ui;Ui.prototype.point=function(){throw new Error("Not implemented")},Ui.prototype.validate=function(){throw new Error("Not implemented")},Ui.prototype._fixedNafMul=function(e,r){Oo(e.precomputed);var i=e._getDoubles(),n=Do(r,1,this._bitLength),s=(1<<i.step+1)-(i.step%2===0?2:1);s/=3;var o=[],a,c;for(a=0;a<n.length;a+=i.step){c=0;for(var h=a+i.step-1;h>=a;h--)c=(c<<1)+n[h];o.push(c)}for(var l=this.jpoint(null,null,null),y=this.jpoint(null,null,null),M=s;M>0;M--){for(a=0;a<o.length;a++)c=o[a],c===M?y=y.mixedAdd(i.points[a]):c===-M&&(y=y.mixedAdd(i.points[a].neg()));l=l.add(y)}return l.toP()},Ui.prototype._wnafMul=function(e,r){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var s=n.points,o=Do(r,i,this._bitLength),a=this.jpoint(null,null,null),c=o.length-1;c>=0;c--){for(var h=0;c>=0&&o[c]===0;c--)h++;if(c>=0&&h++,a=a.dblp(h),c<0)break;var l=o[c];Oo(l!==0),e.type==="affine"?l>0?a=a.mixedAdd(s[l-1>>1]):a=a.mixedAdd(s[-l-1>>1].neg()):l>0?a=a.add(s[l-1>>1]):a=a.add(s[-l-1>>1].neg())}return e.type==="affine"?a.toP():a},Ui.prototype._wnafMulAdd=function(e,r,i,n,s){var o=this._wnafT1,a=this._wnafT2,c=this._wnafT3,h=0,l,y,M;for(l=0;l<n;l++){M=r[l];var I=M._getNAFPoints(e);o[l]=I.wnd,a[l]=I.points}for(l=n-1;l>=1;l-=2){var S=l-1,D=l;if(o[S]!==1||o[D]!==1){c[S]=Do(i[S],o[S],this._bitLength),c[D]=Do(i[D],o[D],this._bitLength),h=Math.max(c[S].length,h),h=Math.max(c[D].length,h);continue}var R=[r[S],null,null,r[D]];r[S].y.cmp(r[D].y)===0?(R[1]=r[S].add(r[D]),R[2]=r[S].toJ().mixedAdd(r[D].neg())):r[S].y.cmp(r[D].y.redNeg())===0?(R[1]=r[S].toJ().mixedAdd(r[D]),R[2]=r[S].add(r[D].neg())):(R[1]=r[S].toJ().mixedAdd(r[D]),R[2]=r[S].toJ().mixedAdd(r[D].neg()));var $=[-3,-1,-5,-7,0,7,5,1,3],T=yw(i[S],i[D]);for(h=Math.max(T[0].length,h),c[S]=new Array(h),c[D]=new Array(h),y=0;y<h;y++){var C=T[0][y]|0,L=T[1][y]|0;c[S][y]=$[(C+1)*3+(L+1)],c[D][y]=0,a[S]=R}}var k=this.jpoint(null,null,null),j=this._wnafT4;for(l=h;l>=0;l--){for(var G=0;l>=0;){var K=!0;for(y=0;y<n;y++)j[y]=c[y][l]|0,j[y]!==0&&(K=!1);if(!K)break;G++,l--}if(l>=0&&G++,k=k.dblp(G),l<0)break;for(y=0;y<n;y++){var V=j[y];V!==0&&(V>0?M=a[y][V-1>>1]:V<0&&(M=a[y][-V-1>>1].neg()),M.type==="affine"?k=k.mixedAdd(M):k=k.add(M))}}for(l=0;l<n;l++)a[l]=null;return s?k:k.toP()};function Sr(t,e){this.curve=t,this.type=e,this.precomputed=null}Ui.BasePoint=Sr,Sr.prototype.eq=function(){throw new Error("Not implemented")},Sr.prototype.validate=function(){return this.curve.validate(this)},Ui.prototype.decodePoint=function(e,r){e=xs.toArray(e,r);var i=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*i){e[0]===6?Oo(e[e.length-1]%2===0):e[0]===7&&Oo(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")},Sr.prototype.encodeCompressed=function(e){return this.encode(e,!0)},Sr.prototype._encode=function(e){var r=this.curve.p.byteLength(),i=this.getX().toArray("be",r);return e?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",r))},Sr.prototype.encode=function(e,r){return xs.encode(this._encode(r),e)},Sr.prototype.precompute=function(e){if(this.precomputed)return this;var r={doubles:null,naf:null,beta:null};return r.naf=this._getNAFPoints(8),r.doubles=this._getDoubles(4,e),r.beta=this._getBeta(),this.precomputed=r,this},Sr.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var r=this.precomputed.doubles;return r?r.points.length>=Math.ceil((e.bitLength()+1)/r.step):!1},Sr.prototype._getDoubles=function(e,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,s=0;s<r;s+=e){for(var o=0;o<e;o++)n=n.dbl();i.push(n)}return{step:e,points:i}},Sr.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var r=[this],i=(1<<e)-1,n=i===1?null:this.dbl(),s=1;s<i;s++)r[s]=r[s-1].add(n);return{wnd:e,points:r}},Sr.prototype._getBeta=function(){return null},Sr.prototype.dblp=function(e){for(var r=this,i=0;i<e;i++)r=r.dbl();return r};var mw=pr,pt=ei.exports,Mf=Fn.exports,jn=Po,ww=mw.assert;function Mr(t){jn.call(this,"short",t),this.a=new pt(t.a,16).toRed(this.red),this.b=new pt(t.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(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}Mf(Mr,jn);var _w=Mr;Mr.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var r,i;if(e.beta)r=new pt(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);r=n[0].cmp(n[1])<0?n[0]:n[1],r=r.toRed(this.red)}if(e.lambda)i=new pt(e.lambda,16);else{var s=this._getEndoRoots(this.n);this.g.mul(s[0]).x.cmp(this.g.x.redMul(r))===0?i=s[0]:(i=s[1],ww(this.g.mul(i).x.cmp(this.g.x.redMul(r))===0))}var o;return e.basis?o=e.basis.map(function(a){return{a:new pt(a.a,16),b:new pt(a.b,16)}}):o=this._getEndoBasis(i),{beta:r,lambda:i,basis:o}}},Mr.prototype._getEndoRoots=function(e){var r=e===this.p?this.red:pt.mont(e),i=new pt(2).toRed(r).redInvm(),n=i.redNeg(),s=new pt(3).toRed(r).redNeg().redSqrt().redMul(i),o=n.redAdd(s).fromRed(),a=n.redSub(s).fromRed();return[o,a]},Mr.prototype._getEndoBasis=function(e){for(var r=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),s=new pt(1),o=new pt(0),a=new pt(0),c=new pt(1),h,l,y,M,I,S,D,R=0,$,T;i.cmpn(0)!==0;){var C=n.div(i);$=n.sub(C.mul(i)),T=a.sub(C.mul(s));var L=c.sub(C.mul(o));if(!y&&$.cmp(r)<0)h=D.neg(),l=s,y=$.neg(),M=T;else if(y&&++R===2)break;D=$,n=i,i=$,a=s,s=T,c=o,o=L}I=$.neg(),S=T;var k=y.sqr().add(M.sqr()),j=I.sqr().add(S.sqr());return j.cmp(k)>=0&&(I=h,S=l),y.negative&&(y=y.neg(),M=M.neg()),I.negative&&(I=I.neg(),S=S.neg()),[{a:y,b:M},{a:I,b:S}]},Mr.prototype._endoSplit=function(e){var r=this.endo.basis,i=r[0],n=r[1],s=n.b.mul(e).divRound(this.n),o=i.b.neg().mul(e).divRound(this.n),a=s.mul(i.a),c=o.mul(n.a),h=s.mul(i.b),l=o.mul(n.b),y=e.sub(a).sub(c),M=h.add(l).neg();return{k1:y,k2:M}},Mr.prototype.pointFromX=function(e,r){e=new pt(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 s=n.fromRed().isOdd();return(r&&!s||!r&&s)&&(n=n.redNeg()),this.point(e,n)},Mr.prototype.validate=function(e){if(e.inf)return!0;var r=e.x,i=e.y,n=this.a.redMul(r),s=r.redSqr().redMul(r).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(s).cmpn(0)===0},Mr.prototype._endoWnafMulAdd=function(e,r,i){for(var n=this._endoWnafT1,s=this._endoWnafT2,o=0;o<e.length;o++){var a=this._endoSplit(r[o]),c=e[o],h=c._getBeta();a.k1.negative&&(a.k1.ineg(),c=c.neg(!0)),a.k2.negative&&(a.k2.ineg(),h=h.neg(!0)),n[o*2]=c,n[o*2+1]=h,s[o*2]=a.k1,s[o*2+1]=a.k2}for(var l=this._wnafMulAdd(1,n,s,o*2,i),y=0;y<o*2;y++)n[y]=null,s[y]=null;return l};function At(t,e,r,i){jn.BasePoint.call(this,t,"affine"),e===null&&r===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new pt(e,16),this.y=new pt(r,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)}Mf(At,jn.BasePoint),Mr.prototype.point=function(e,r,i){return new At(this,e,r,i)},Mr.prototype.pointFromJSON=function(e,r){return At.fromJSON(this,e,r)},At.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var r=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var i=this.curve,n=function(s){return i.point(s.x.redMul(i.endo.beta),s.y)};e.beta=r,r.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 r}},At.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]},At.fromJSON=function(e,r,i){typeof r=="string"&&(r=JSON.parse(r));var n=e.point(r[0],r[1],i);if(!r[2])return n;function s(a){return e.point(a[0],a[1],i)}var o=r[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(s))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(s))}},n},At.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)+">"},At.prototype.isInfinity=function(){return this.inf},At.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 r=this.y.redSub(e.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var i=r.redSqr().redISub(this.x).redISub(e.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},At.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 r=this.curve.a,i=this.x.redSqr(),n=e.redInvm(),s=i.redAdd(i).redIAdd(i).redIAdd(r).redMul(n),o=s.redSqr().redISub(this.x.redAdd(this.x)),a=s.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},At.prototype.getX=function(){return this.x.fromRed()},At.prototype.getY=function(){return this.y.fromRed()},At.prototype.mul=function(e){return e=new pt(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)},At.prototype.mulAdd=function(e,r,i){var n=[this,r],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)},At.prototype.jmulAdd=function(e,r,i){var n=[this,r],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)},At.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)},At.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var i=this.precomputed,n=function(s){return s.neg()};r.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 r},At.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 Lt(t,e,r,i){jn.BasePoint.call(this,t,"jacobian"),e===null&&r===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new pt(0)):(this.x=new pt(e,16),this.y=new pt(r,16),this.z=new pt(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}Mf(Lt,jn.BasePoint),Mr.prototype.jpoint=function(e,r,i){return new Lt(this,e,r,i)},Lt.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),i=this.x.redMul(r),n=this.y.redMul(r).redMul(e);return this.curve.point(i,n)},Lt.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Lt.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(r),s=e.x.redMul(i),o=this.y.redMul(r.redMul(e.z)),a=e.y.redMul(i.redMul(this.z)),c=n.redSub(s),h=o.redSub(a);if(c.cmpn(0)===0)return h.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var l=c.redSqr(),y=l.redMul(c),M=n.redMul(l),I=h.redSqr().redIAdd(y).redISub(M).redISub(M),S=h.redMul(M.redISub(I)).redISub(o.redMul(y)),D=this.z.redMul(e.z).redMul(c);return this.curve.jpoint(I,S,D)},Lt.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),i=this.x,n=e.x.redMul(r),s=this.y,o=e.y.redMul(r).redMul(this.z),a=i.redSub(n),c=s.redSub(o);if(a.cmpn(0)===0)return c.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var h=a.redSqr(),l=h.redMul(a),y=i.redMul(h),M=c.redSqr().redIAdd(l).redISub(y).redISub(y),I=c.redMul(y.redISub(M)).redISub(s.redMul(l)),S=this.z.redMul(a);return this.curve.jpoint(M,I,S)},Lt.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var i=this;for(r=0;r<e;r++)i=i.dbl();return i}var n=this.curve.a,s=this.curve.tinv,o=this.x,a=this.y,c=this.z,h=c.redSqr().redSqr(),l=a.redAdd(a);for(r=0;r<e;r++){var y=o.redSqr(),M=l.redSqr(),I=M.redSqr(),S=y.redAdd(y).redIAdd(y).redIAdd(n.redMul(h)),D=o.redMul(M),R=S.redSqr().redISub(D.redAdd(D)),$=D.redISub(R),T=S.redMul($);T=T.redIAdd(T).redISub(I);var C=l.redMul(c);r+1<e&&(h=h.redMul(I)),o=R,c=C,l=T}return this.curve.jpoint(o,l.redMul(s),c)},Lt.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Lt.prototype._zeroDbl=function(){var e,r,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n),h=c.redSqr().redISub(a).redISub(a),l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),e=h,r=c.redMul(a.redISub(h)).redISub(l),i=this.y.redAdd(this.y)}else{var y=this.x.redSqr(),M=this.y.redSqr(),I=M.redSqr(),S=this.x.redAdd(M).redSqr().redISub(y).redISub(I);S=S.redIAdd(S);var D=y.redAdd(y).redIAdd(y),R=D.redSqr(),$=I.redIAdd(I);$=$.redIAdd($),$=$.redIAdd($),e=R.redISub(S).redISub(S),r=D.redMul(S.redISub(e)).redISub($),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,r,i)},Lt.prototype._threeDbl=function(){var e,r,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),h=c.redSqr().redISub(a).redISub(a);e=h;var l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),r=c.redMul(a.redISub(h)).redISub(l),i=this.y.redAdd(this.y)}else{var y=this.z.redSqr(),M=this.y.redSqr(),I=this.x.redMul(M),S=this.x.redSub(y).redMul(this.x.redAdd(y));S=S.redAdd(S).redIAdd(S);var D=I.redIAdd(I);D=D.redIAdd(D);var R=D.redAdd(D);e=S.redSqr().redISub(R),i=this.y.redAdd(this.z).redSqr().redISub(M).redISub(y);var $=M.redSqr();$=$.redIAdd($),$=$.redIAdd($),$=$.redIAdd($),r=S.redMul(D.redISub(e)).redISub($)}return this.curve.jpoint(e,r,i)},Lt.prototype._dbl=function(){var e=this.curve.a,r=this.x,i=this.y,n=this.z,s=n.redSqr().redSqr(),o=r.redSqr(),a=i.redSqr(),c=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(s)),h=r.redAdd(r);h=h.redIAdd(h);var l=h.redMul(a),y=c.redSqr().redISub(l.redAdd(l)),M=l.redISub(y),I=a.redSqr();I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var S=c.redMul(M).redISub(I),D=i.redAdd(i).redMul(n);return this.curve.jpoint(y,S,D)},Lt.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),r=this.y.redSqr(),i=this.z.redSqr(),n=r.redSqr(),s=e.redAdd(e).redIAdd(e),o=s.redSqr(),a=this.x.redAdd(r).redSqr().redISub(e).redISub(n);a=a.redIAdd(a),a=a.redAdd(a).redIAdd(a),a=a.redISub(o);var c=a.redSqr(),h=n.redIAdd(n);h=h.redIAdd(h),h=h.redIAdd(h),h=h.redIAdd(h);var l=s.redIAdd(a).redSqr().redISub(o).redISub(c).redISub(h),y=r.redMul(l);y=y.redIAdd(y),y=y.redIAdd(y);var M=this.x.redMul(c).redISub(y);M=M.redIAdd(M),M=M.redIAdd(M);var I=this.y.redMul(l.redMul(h.redISub(l)).redISub(a.redMul(c)));I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var S=this.z.redAdd(a).redSqr().redISub(i).redISub(c);return this.curve.jpoint(M,I,S)},Lt.prototype.mul=function(e,r){return e=new pt(e,r),this.curve._wnafMul(this,e)},Lt.prototype.eq=function(e){if(e.type==="affine")return this.eq(e.toJ());if(this===e)return!0;var r=this.z.redSqr(),i=e.z.redSqr();if(this.x.redMul(i).redISub(e.x.redMul(r)).cmpn(0)!==0)return!1;var n=r.redMul(this.z),s=i.redMul(e.z);return this.y.redMul(s).redISub(e.y.redMul(n)).cmpn(0)===0},Lt.prototype.eqXToP=function(e){var r=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(r);if(this.x.cmp(i)===0)return!0;for(var n=e.clone(),s=this.curve.redN.redMul(r);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(s),this.x.cmp(i)===0)return!0}},Lt.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)+">"},Lt.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var Kn=ei.exports,_d=Fn.exports,Ro=Po,xw=pr;function Vn(t){Ro.call(this,"mont",t),this.a=new Kn(t.a,16).toRed(this.red),this.b=new Kn(t.b,16).toRed(this.red),this.i4=new Kn(4).toRed(this.red).redInvm(),this.two=new Kn(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}_d(Vn,Ro);var Ew=Vn;Vn.prototype.validate=function(e){var r=e.normalize().x,i=r.redSqr(),n=i.redMul(r).redAdd(i.redMul(this.a)).redAdd(r),s=n.redSqrt();return s.redSqr().cmp(n)===0};function Dt(t,e,r){Ro.BasePoint.call(this,t,"projective"),e===null&&r===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Kn(e,16),this.z=new Kn(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}_d(Dt,Ro.BasePoint),Vn.prototype.decodePoint=function(e,r){return this.point(xw.toArray(e,r),1)},Vn.prototype.point=function(e,r){return new Dt(this,e,r)},Vn.prototype.pointFromJSON=function(e){return Dt.fromJSON(this,e)},Dt.prototype.precompute=function(){},Dt.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Dt.fromJSON=function(e,r){return new Dt(e,r[0],r[1]||e.one)},Dt.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)+">"},Dt.prototype.isInfinity=function(){return this.z.cmpn(0)===0},Dt.prototype.dbl=function(){var e=this.x.redAdd(this.z),r=e.redSqr(),i=this.x.redSub(this.z),n=i.redSqr(),s=r.redSub(n),o=r.redMul(n),a=s.redMul(n.redAdd(this.curve.a24.redMul(s)));return this.curve.point(o,a)},Dt.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Dt.prototype.diffAdd=function(e,r){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),s=e.x.redAdd(e.z),o=e.x.redSub(e.z),a=o.redMul(i),c=s.redMul(n),h=r.z.redMul(a.redAdd(c).redSqr()),l=r.x.redMul(a.redISub(c).redSqr());return this.curve.point(h,l)},Dt.prototype.mul=function(e){for(var r=e.clone(),i=this,n=this.curve.point(null,null),s=this,o=[];r.cmpn(0)!==0;r.iushrn(1))o.push(r.andln(1));for(var a=o.length-1;a>=0;a--)o[a]===0?(i=i.diffAdd(n,s),n=n.dbl()):(n=i.diffAdd(n,s),i=i.dbl());return n},Dt.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Dt.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Dt.prototype.eq=function(e){return this.getX().cmp(e.getX())===0},Dt.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Dt.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Sw=pr,pi=ei.exports,xd=Fn.exports,$o=Po,Mw=Sw.assert;function ti(t){this.twisted=(t.a|0)!==1,this.mOneA=this.twisted&&(t.a|0)===-1,this.extended=this.mOneA,$o.call(this,"edwards",t),this.a=new pi(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new pi(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new pi(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Mw(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(t.c|0)===1}xd(ti,$o);var Iw=ti;ti.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},ti.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},ti.prototype.jpoint=function(e,r,i,n){return this.point(e,r,i,n)},ti.prototype.pointFromX=function(e,r){e=new pi(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=this.c2.redSub(this.a.redMul(i)),s=this.one.redSub(this.c2.redMul(this.d).redMul(i)),o=n.redMul(s.redInvm()),a=o.redSqrt();if(a.redSqr().redSub(o).cmp(this.zero)!==0)throw new Error("invalid point");var c=a.fromRed().isOdd();return(r&&!c||!r&&c)&&(a=a.redNeg()),this.point(e,a)},ti.prototype.pointFromY=function(e,r){e=new pi(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=i.redSub(this.c2),s=i.redMul(this.d).redMul(this.c2).redSub(this.a),o=n.redMul(s.redInvm());if(o.cmp(this.zero)===0){if(r)throw new Error("invalid point");return this.point(this.zero,e)}var a=o.redSqrt();if(a.redSqr().redSub(o).cmp(this.zero)!==0)throw new Error("invalid point");return a.fromRed().isOdd()!==r&&(a=a.redNeg()),this.point(a,e)},ti.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var r=e.x.redSqr(),i=e.y.redSqr(),n=r.redMul(this.a).redAdd(i),s=this.c2.redMul(this.one.redAdd(this.d.redMul(r).redMul(i)));return n.cmp(s)===0};function ft(t,e,r,i,n){$o.BasePoint.call(this,t,"projective"),e===null&&r===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 pi(e,16),this.y=new pi(r,16),this.z=i?new pi(i,16):this.curve.one,this.t=n&&new pi(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()))))}xd(ft,$o.BasePoint),ti.prototype.pointFromJSON=function(e){return ft.fromJSON(this,e)},ti.prototype.point=function(e,r,i,n){return new ft(this,e,r,i,n)},ft.fromJSON=function(e,r){return new ft(e,r[0],r[1],r[2])},ft.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)+">"},ft.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},ft.prototype._extDbl=function(){var e=this.x.redSqr(),r=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var n=this.curve._mulA(e),s=this.x.redAdd(this.y).redSqr().redISub(e).redISub(r),o=n.redAdd(r),a=o.redSub(i),c=n.redSub(r),h=s.redMul(a),l=o.redMul(c),y=s.redMul(c),M=a.redMul(o);return this.curve.point(h,l,M,y)},ft.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),r=this.x.redSqr(),i=this.y.redSqr(),n,s,o,a,c,h;if(this.curve.twisted){a=this.curve._mulA(r);var l=a.redAdd(i);this.zOne?(n=e.redSub(r).redSub(i).redMul(l.redSub(this.curve.two)),s=l.redMul(a.redSub(i)),o=l.redSqr().redSub(l).redSub(l)):(c=this.z.redSqr(),h=l.redSub(c).redISub(c),n=e.redSub(r).redISub(i).redMul(h),s=l.redMul(a.redSub(i)),o=l.redMul(h))}else a=r.redAdd(i),c=this.curve._mulC(this.z).redSqr(),h=a.redSub(c).redSub(c),n=this.curve._mulC(e.redISub(a)).redMul(h),s=this.curve._mulC(a).redMul(r.redISub(i)),o=a.redMul(h);return this.curve.point(n,s,o)},ft.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},ft.prototype._extAdd=function(e){var r=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),s=this.z.redMul(e.z.redAdd(e.z)),o=i.redSub(r),a=s.redSub(n),c=s.redAdd(n),h=i.redAdd(r),l=o.redMul(a),y=c.redMul(h),M=o.redMul(h),I=a.redMul(c);return this.curve.point(l,y,I,M)},ft.prototype._projAdd=function(e){var r=this.z.redMul(e.z),i=r.redSqr(),n=this.x.redMul(e.x),s=this.y.redMul(e.y),o=this.curve.d.redMul(n).redMul(s),a=i.redSub(o),c=i.redAdd(o),h=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(n).redISub(s),l=r.redMul(a).redMul(h),y,M;return this.curve.twisted?(y=r.redMul(c).redMul(s.redSub(this.curve._mulA(n))),M=a.redMul(c)):(y=r.redMul(c).redMul(s.redSub(n)),M=this.curve._mulC(a).redMul(c)),this.curve.point(l,y,M)},ft.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},ft.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},ft.prototype.mulAdd=function(e,r,i){return this.curve._wnafMulAdd(1,[this,r],[e,i],2,!1)},ft.prototype.jmulAdd=function(e,r,i){return this.curve._wnafMulAdd(1,[this,r],[e,i],2,!0)},ft.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},ft.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},ft.prototype.getX=function(){return this.normalize(),this.x.fromRed()},ft.prototype.getY=function(){return this.normalize(),this.y.fromRed()},ft.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0},ft.prototype.eqXToP=function(e){var r=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(r)===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(r.redIAdd(n),this.x.cmp(r)===0)return!0}},ft.prototype.toP=ft.prototype.normalize,ft.prototype.mixedAdd=ft.prototype.add,function(t){var e=t;e.base=Po,e.short=_w,e.mont=Ew,e.edwards=Iw}(Sf);var No={},If,Ed;function Aw(){return Ed||(Ed=1,If={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"]]}}),If}(function(t){var e=t,r=dr,i=Sf,n=pr,s=n.assert;function o(h){h.type==="short"?this.curve=new i.short(h):h.type==="edwards"?this.curve=new i.edwards(h):this.curve=new i.mont(h),this.g=this.curve.g,this.n=this.curve.n,this.hash=h.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=o;function a(h,l){Object.defineProperty(e,h,{configurable:!0,enumerable:!0,get:function(){var y=new o(l);return Object.defineProperty(e,h,{configurable:!0,enumerable:!0,value:y}),y}})}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:r.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:r.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:r.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:r.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:r.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:r.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:r.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var c;try{c=Aw()}catch{c=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:r.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",c]})})(No);var Dw=dr,cn=xf,Sd=sn;function zi(t){if(!(this instanceof zi))return new zi(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=cn.toArray(t.entropy,t.entropyEnc||"hex"),r=cn.toArray(t.nonce,t.nonceEnc||"hex"),i=cn.toArray(t.pers,t.persEnc||"hex");Sd(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}var Ow=zi;zi.prototype._init=function(e,r,i){var n=e.concat(r).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var s=0;s<this.V.length;s++)this.K[s]=0,this.V[s]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},zi.prototype._hmac=function(){return new Dw.hmac(this.hash,this.K)},zi.prototype._update=function(e){var r=this._hmac().update(this.V).update([0]);e&&(r=r.update(e)),this.K=r.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())},zi.prototype.reseed=function(e,r,i,n){typeof r!="string"&&(n=i,i=r,r=null),e=cn.toArray(e,r),i=cn.toArray(i,n),Sd(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},zi.prototype.generate=function(e,r,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(n=i,i=r,r=null),i&&(i=cn.toArray(i,n||"hex"),this._update(i));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);var o=s.slice(0,e);return this._update(i),this._reseed++,cn.encode(o,r)};var Pw=ei.exports,Rw=pr,Af=Rw.assert;function Vt(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var $w=Vt;Vt.fromPublic=function(e,r,i){return r instanceof Vt?r:new Vt(e,{pub:r,pubEnc:i})},Vt.fromPrivate=function(e,r,i){return r instanceof Vt?r:new Vt(e,{priv:r,privEnc:i})},Vt.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"}},Vt.prototype.getPublic=function(e,r){return typeof e=="string"&&(r=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),r?this.pub.encode(r,e):this.pub},Vt.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv},Vt.prototype._importPrivate=function(e,r){this.priv=new Pw(e,r||16),this.priv=this.priv.umod(this.ec.curve.n)},Vt.prototype._importPublic=function(e,r){if(e.x||e.y){this.ec.curve.type==="mont"?Af(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&Af(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,r)},Vt.prototype.derive=function(e){return e.validate()||Af(e.validate(),"public point not validated"),e.mul(this.priv).getX()},Vt.prototype.sign=function(e,r,i){return this.ec.sign(e,this,r,i)},Vt.prototype.verify=function(e,r,i){return this.ec.verify(e,r,this,void 0,i)},Vt.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var To=ei.exports,Df=pr,Nw=Df.assert;function Fo(t,e){if(t instanceof Fo)return t;this._importDER(t,e)||(Nw(t.r&&t.s,"Signature without r or s"),this.r=new To(t.r,16),this.s=new To(t.s,16),t.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Tw=Fo;function Fw(){this.place=0}function Of(t,e){var r=t[e.place++];if(!(r&128))return r;var i=r&15;if(i===0||i>4||t[e.place]===0)return!1;for(var n=0,s=0,o=e.place;s<i;s++,o++)n<<=8,n|=t[o],n>>>=0;return n<=127?!1:(e.place=o,n)}function Md(t){for(var e=0,r=t.length-1;!t[e]&&!(t[e+1]&128)&&e<r;)e++;return e===0?t:t.slice(e)}Fo.prototype._importDER=function(e,r){e=Df.toArray(e,r);var i=new Fw;if(e[i.place++]!==48)return!1;var n=Of(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var s=Of(e,i);if(s===!1||e[i.place]&128)return!1;var o=e.slice(i.place,s+i.place);if(i.place+=s,e[i.place++]!==2)return!1;var a=Of(e,i);if(a===!1||e.length!==a+i.place||e[i.place]&128)return!1;var c=e.slice(i.place,a+i.place);if(o[0]===0)if(o[1]&128)o=o.slice(1);else return!1;if(c[0]===0)if(c[1]&128)c=c.slice(1);else return!1;return this.r=new To(o),this.s=new To(c),this.recoveryParam=null,!0};function Pf(t,e){if(e<128){t.push(e);return}var r=1+(Math.log(e)/Math.LN2>>>3);for(t.push(r|128);--r;)t.push(e>>>(r<<3)&255);t.push(e)}Fo.prototype.toDER=function(e){var r=this.r.toArray(),i=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),i[0]&128&&(i=[0].concat(i)),r=Md(r),i=Md(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];Pf(n,r.length),n=n.concat(r),n.push(2),Pf(n,i.length);var s=n.concat(i),o=[48];return Pf(o,s.length),o=o.concat(s),Df.encode(o,e)};var Lr=ei.exports,Id=Ow,Cw=pr,Rf=No,Bw=Ao.exports,hn=Cw.assert,$f=$w,Co=Tw;function Ir(t){if(!(this instanceof Ir))return new Ir(t);typeof t=="string"&&(hn(Object.prototype.hasOwnProperty.call(Rf,t),"Unknown curve "+t),t=Rf[t]),t instanceof Rf.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var Lw=Ir;Ir.prototype.keyPair=function(e){return new $f(this,e)},Ir.prototype.keyFromPrivate=function(e,r){return $f.fromPrivate(this,e,r)},Ir.prototype.keyFromPublic=function(e,r){return $f.fromPublic(this,e,r)},Ir.prototype.genKeyPair=function(e){e||(e={});for(var r=new Id({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Bw(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new Lr(2));;){var s=new Lr(r.generate(i));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}},Ir.prototype._truncateToN=function(e,r,i){var n;if(Lr.isBN(e)||typeof e=="number")e=new Lr(e,16),n=e.byteLength();else if(typeof e=="object")n=e.length,e=new Lr(e,16);else{var s=e.toString();n=s.length+1>>>1,e=new Lr(s,16)}typeof i!="number"&&(i=n*8);var o=i-this.n.bitLength();return o>0&&(e=e.ushrn(o)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e},Ir.prototype.sign=function(e,r,i,n){if(typeof i=="object"&&(n=i,i=null),n||(n={}),typeof e!="string"&&typeof e!="number"&&!Lr.isBN(e)){hn(typeof e=="object"&&e&&typeof e.length=="number","Expected message to be an array-like, a hex string, or a BN instance"),hn(e.length>>>0===e.length);for(var s=0;s<e.length;s++)hn((e[s]&255)===e[s])}r=this.keyFromPrivate(r,i),e=this._truncateToN(e,!1,n.msgBitLength),hn(!e.isNeg(),"Can not sign a negative message");var o=this.n.byteLength(),a=r.getPrivate().toArray("be",o),c=e.toArray("be",o);hn(new Lr(c).eq(e),"Can not sign message");for(var h=new Id({hash:this.hash,entropy:a,nonce:c,pers:n.pers,persEnc:n.persEnc||"utf8"}),l=this.n.sub(new Lr(1)),y=0;;y++){var M=n.k?n.k(y):new Lr(h.generate(this.n.byteLength()));if(M=this._truncateToN(M,!0),!(M.cmpn(1)<=0||M.cmp(l)>=0)){var I=this.g.mul(M);if(!I.isInfinity()){var S=I.getX(),D=S.umod(this.n);if(D.cmpn(0)!==0){var R=M.invm(this.n).mul(D.mul(r.getPrivate()).iadd(e));if(R=R.umod(this.n),R.cmpn(0)!==0){var $=(I.getY().isOdd()?1:0)|(S.cmp(D)!==0?2:0);return n.canonical&&R.cmp(this.nh)>0&&(R=this.n.sub(R),$^=1),new Co({r:D,s:R,recoveryParam:$})}}}}}},Ir.prototype.verify=function(e,r,i,n,s){s||(s={}),e=this._truncateToN(e,!1,s.msgBitLength),i=this.keyFromPublic(i,n),r=new Co(r,"hex");var o=r.r,a=r.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0||a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var c=a.invm(this.n),h=c.mul(e).umod(this.n),l=c.mul(o).umod(this.n),y;return this.curve._maxwellTrick?(y=this.g.jmulAdd(h,i.getPublic(),l),y.isInfinity()?!1:y.eqXToP(o)):(y=this.g.mulAdd(h,i.getPublic(),l),y.isInfinity()?!1:y.getX().umod(this.n).cmp(o)===0)},Ir.prototype.recoverPubKey=function(t,e,r,i){hn((3&r)===r,"The recovery param is more than two bits"),e=new Co(e,i);var n=this.n,s=new Lr(t),o=e.r,a=e.s,c=r&1,h=r>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");h?o=this.curve.pointFromX(o.add(this.curve.n),c):o=this.curve.pointFromX(o,c);var l=e.r.invm(n),y=n.sub(s).mul(l).umod(n),M=a.mul(l).umod(n);return this.g.mulAdd(y,o,M)},Ir.prototype.getKeyRecoveryParam=function(t,e,r,i){if(e=new Co(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(t,e,n)}catch{continue}if(s.eq(r))return n}throw new Error("Unable to find valid recovery factor")};var Es=pr,Ad=Es.assert,Dd=Es.parseBytes,Hn=Es.cachedProperty;function Ot(t,e){this.eddsa=t,this._secret=Dd(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=Dd(e.pub)}Ot.fromPublic=function(e,r){return r instanceof Ot?r:new Ot(e,{pub:r})},Ot.fromSecret=function(e,r){return r instanceof Ot?r:new Ot(e,{secret:r})},Ot.prototype.secret=function(){return this._secret},Hn(Ot,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),Hn(Ot,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),Hn(Ot,"privBytes",function(){var e=this.eddsa,r=this.hash(),i=e.encodingLength-1,n=r.slice(0,e.encodingLength);return n[0]&=248,n[i]&=127,n[i]|=64,n}),Hn(Ot,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),Hn(Ot,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),Hn(Ot,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),Ot.prototype.sign=function(e){return Ad(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},Ot.prototype.verify=function(e,r){return this.eddsa.verify(e,r,this)},Ot.prototype.getSecret=function(e){return Ad(this._secret,"KeyPair is public only"),Es.encode(this.secret(),e)},Ot.prototype.getPublic=function(e){return Es.encode(this.pubBytes(),e)};var qw=Ot,Uw=ei.exports,Bo=pr,Od=Bo.assert,Lo=Bo.cachedProperty,zw=Bo.parseBytes;function un(t,e){this.eddsa=t,typeof e!="object"&&(e=zw(e)),Array.isArray(e)&&(Od(e.length===t.encodingLength*2,"Signature has invalid size"),e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),Od(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof Uw&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}Lo(un,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),Lo(un,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),Lo(un,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),Lo(un,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),un.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},un.prototype.toHex=function(){return Bo.encode(this.toBytes(),"hex").toUpperCase()};var kw=un,jw=dr,Kw=No,Wn=pr,Vw=Wn.assert,Pd=Wn.parseBytes,Rd=qw,$d=kw;function sr(t){if(Vw(t==="ed25519","only tested with ed25519 so far"),!(this instanceof sr))return new sr(t);t=Kw[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=jw.sha512}var Hw=sr;sr.prototype.sign=function(e,r){e=Pd(e);var i=this.keyFromSecret(r),n=this.hashInt(i.messagePrefix(),e),s=this.g.mul(n),o=this.encodePoint(s),a=this.hashInt(o,i.pubBytes(),e).mul(i.priv()),c=n.add(a).umod(this.curve.n);return this.makeSignature({R:s,S:c,Rencoded:o})},sr.prototype.verify=function(e,r,i){if(e=Pd(e),r=this.makeSignature(r),r.S().gte(r.eddsa.curve.n)||r.S().isNeg())return!1;var n=this.keyFromPublic(i),s=this.hashInt(r.Rencoded(),n.pubBytes(),e),o=this.g.mul(r.S()),a=r.R().add(n.pub().mul(s));return a.eq(o)},sr.prototype.hashInt=function(){for(var e=this.hash(),r=0;r<arguments.length;r++)e.update(arguments[r]);return Wn.intFromLE(e.digest()).umod(this.curve.n)},sr.prototype.keyFromPublic=function(e){return Rd.fromPublic(this,e)},sr.prototype.keyFromSecret=function(e){return Rd.fromSecret(this,e)},sr.prototype.makeSignature=function(e){return e instanceof $d?e:new $d(this,e)},sr.prototype.encodePoint=function(e){var r=e.getY().toArray("le",this.encodingLength);return r[this.encodingLength-1]|=e.getX().isOdd()?128:0,r},sr.prototype.decodePoint=function(e){e=Wn.parseBytes(e);var r=e.length-1,i=e.slice(0,r).concat(e[r]&-129),n=(e[r]&128)!==0,s=Wn.intFromLE(i);return this.curve.pointFromY(s,n)},sr.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},sr.prototype.decodeInt=function(e){return Wn.intFromLE(e)},sr.prototype.isPoint=function(e){return e instanceof this.pointClass},function(t){var e=t;e.version=vw.version,e.utils=pr,e.rand=Ao.exports,e.curve=Sf,e.curves=No,e.ec=Lw,e.eddsa=Hw}(md);const Ww={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"}},Gw=":";function qo(t){const[e,r]=t.split(Gw);return{namespace:e,reference:r}}function Nd(t,e){return t.includes(":")?[t]:e.chains||[]}const Jw="ReactNative",gr={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},Yw="js";function Uo(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function ki(){return!ds()&&!!Ga()&&navigator.product===Jw}function Xw(){return ki()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="android"}function Zw(){return ki()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="ios"}function Ss(){return!Uo()&&!!Ga()&&!!ds()}function Ms(){return ki()?gr.reactNative:Uo()?gr.node:Ss()?gr.browser:gr.unknown}function Td(){var t;try{return ki()&&typeof global<"u"&&typeof(global==null?void 0:global.Application)<"u"?(t=global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function Qw(t,e){const r=new URLSearchParams(t);for(const i of Object.keys(e).sort())if(e.hasOwnProperty(i)){const n=e[i];n!==void 0&&r.set(i,n)}return r.toString()}function Fd(){return nu()||{name:"",description:"",url:"",icons:[""]}}function e6(){if(Ms()===gr.reactNative&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"){const{OS:r,Version:i}=global.Platform;return[r,i].join("-")}const t=gy();if(t===null)return"unknown";const e=t.os?t.os.replace(" ","").toLowerCase():"unknown";return t.type==="browser"?[e,t.name,t.version].join("-"):[e,t.version].join("-")}function t6(){var t;const e=Ms();return e===gr.browser?[e,((t=iu())==null?void 0:t.host)||"unknown"].join(":"):e}function Cd(t,e,r){const i=e6(),n=t6();return[[t,e].join("-"),[Yw,r].join("-"),i,n].join("/")}function r6({protocol:t,version:e,relayUrl:r,sdkVersion:i,auth:n,projectId:s,useOnCloseEvent:o,bundleId:a,packageName:c}){const h=r.split("?"),l=Cd(t,e,i),y={auth:n,ua:l,projectId:s,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:a||void 0},M=Qw(h[1]||"",y);return h[0]+"?"+M}function dn(t,e){return t.filter(r=>e.includes(r)).length===t.length}function Bd(t){return Object.fromEntries(t.entries())}function Ld(t){return new Map(Object.entries(t))}function ln(t=Y.FIVE_MINUTES,e){const r=Y.toMiliseconds(t||Y.FIVE_MINUTES);let i,n,s,o;return{resolve:a=>{s&&i&&(clearTimeout(s),i(a),o=Promise.resolve(a))},reject:a=>{s&&n&&(clearTimeout(s),n(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);s=setTimeout(()=>{const h=new Error(e);o=Promise.reject(h),c(h)},r),i=a,n=c})}}function ji(t,e,r){return new Promise(async(i,n)=>{const s=setTimeout(()=>n(new Error(r)),e);try{const o=await t;i(o)}catch(o){n(o)}clearTimeout(s)})}function qd(t,e){if(typeof e=="string"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(t.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: ${t}`)}function i6(t){return qd("topic",t)}function n6(t){return qd("id",t)}function Ud(t){const[e,r]=t.split(":"),i={id:void 0,topic:void 0};if(e==="topic"&&typeof r=="string")i.topic=r;else if(e==="id"&&Number.isInteger(Number(r)))i.id=Number(r);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${r}`);return i}function Et(t,e){return Y.fromMiliseconds((e||Date.now())+Y.toMiliseconds(t))}function Ki(t){return Date.now()>=Y.toMiliseconds(t)}function Se(t,e){return`${t}${e?`:${e}`:""}`}function s6(t=[],e=[]){return[...new Set([...t,...e])]}async function o6({id:t,topic:e,wcDeepLink:r}){var i;try{if(!r)return;const n=typeof r=="string"?JSON.parse(r):r,s=n?.href;if(typeof s!="string")return;const o=a6(s,t,e),a=Ms();if(a===gr.browser){if(!((i=ds())!=null&&i.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}f6(o)}else a===gr.reactNative&&typeof(global==null?void 0:global.Linking)<"u"&&await global.Linking.openURL(o)}catch(n){console.error(n)}}function a6(t,e,r){const i=`requestId=${e}&sessionTopic=${r}`;t.endsWith("/")&&(t=t.slice(0,-1));let n=`${t}`;if(t.startsWith("https://t.me")){const s=t.includes("?")?"&startapp=":"?startapp=";n=`${n}${s}${d6(i,!0)}`}else n=`${n}/wc?${i}`;return n}function f6(t){let e="_self";u6()?e="_top":(h6()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function c6(t,e){let r="";try{if(Ss()&&(r=localStorage.getItem(e),r))return r;r=await t.getItem(e)}catch(i){console.error(i)}return r}function zd(t,e){if(!t.includes(e))return null;const r=t.split(/([&,?,=])/),i=r.indexOf(e);return r[i+2]}function kd(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Nf(){return typeof process<"u"&&process.env.IS_VITEST==="true"}function h6(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function u6(){try{return window.self!==window.top}catch{return!1}}function d6(t,e=!1){const r=Buffer.from(t).toString("base64");return e?r.replace(/[=]/g,""):r}function jd(t){return Buffer.from(t,"base64").toString("utf-8")}function l6(t){return new Promise(e=>setTimeout(e,t))}function Is(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function p6(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function zo(t,...e){if(!p6(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Tf(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Is(t.outputLen),Is(t.blockLen)}function Gn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Kd(t,e){zo(t);const r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}const ko=BigInt(2**32-1),Vd=BigInt(32);function g6(t,e=!1){return e?{h:Number(t&ko),l:Number(t>>Vd&ko)}:{h:Number(t>>Vd&ko)|0,l:Number(t&ko)|0}}function b6(t,e=!1){let r=new Uint32Array(t.length),i=new Uint32Array(t.length);for(let n=0;n<t.length;n++){const{h:s,l:o}=g6(t[n],e);[r[n],i[n]]=[s,o]}return[r,i]}const v6=(t,e,r)=>t<<r|e>>>32-r,y6=(t,e,r)=>e<<r|t>>>32-r,m6=(t,e,r)=>e<<r-32|t>>>64-r,w6=(t,e,r)=>t<<r-32|e>>>64-r,Jn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function _6(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Ff(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ri(t,e){return t<<32-e|t>>>e}const Hd=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function x6(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function Wd(t){for(let e=0;e<t.length;e++)t[e]=x6(t[e])}function E6(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function Yn(t){return typeof t=="string"&&(t=E6(t)),zo(t),t}class Cf{clone(){return this._cloneInto()}}function Gd(t){const e=i=>t().update(Yn(i)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function As(t=32){if(Jn&&typeof Jn.getRandomValues=="function")return Jn.getRandomValues(new Uint8Array(t));if(Jn&&typeof Jn.randomBytes=="function")return Jn.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}const Jd=[],Yd=[],Xd=[],S6=BigInt(0),Ds=BigInt(1),M6=BigInt(2),I6=BigInt(7),A6=BigInt(256),D6=BigInt(113);for(let t=0,e=Ds,r=1,i=0;t<24;t++){[r,i]=[i,(2*r+3*i)%5],Jd.push(2*(5*i+r)),Yd.push((t+1)*(t+2)/2%64);let n=S6;for(let s=0;s<7;s++)e=(e<<Ds^(e>>I6)*D6)%A6,e&M6&&(n^=Ds<<(Ds<<BigInt(s))-Ds);Xd.push(n)}const[O6,P6]=b6(Xd,!0),Zd=(t,e,r)=>r>32?m6(t,e,r):v6(t,e,r),Qd=(t,e,r)=>r>32?w6(t,e,r):y6(t,e,r);function R6(t,e=24){const r=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)r[o]=t[o]^t[o+10]^t[o+20]^t[o+30]^t[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,h=r[c],l=r[c+1],y=Zd(h,l,1)^r[a],M=Qd(h,l,1)^r[a+1];for(let I=0;I<50;I+=10)t[o+I]^=y,t[o+I+1]^=M}let n=t[2],s=t[3];for(let o=0;o<24;o++){const a=Yd[o],c=Zd(n,s,a),h=Qd(n,s,a),l=Jd[o];n=t[l],s=t[l+1],t[l]=c,t[l+1]=h}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)r[a]=t[o+a];for(let a=0;a<10;a++)t[o+a]^=~r[(a+2)%10]&r[(a+4)%10]}t[0]^=O6[i],t[1]^=P6[i]}r.fill(0)}class Bf extends Cf{constructor(e,r,i,n=!1,s=24){if(super(),this.blockLen=e,this.suffix=r,this.outputLen=i,this.enableXOF=n,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Is(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=_6(this.state)}keccak(){Hd||Wd(this.state32),R6(this.state32,this.rounds),Hd||Wd(this.state32),this.posOut=0,this.pos=0}update(e){Gn(this);const{blockLen:r,state:i}=this;e=Yn(e);const n=e.length;for(let s=0;s<n;){const o=Math.min(r-this.pos,n-s);for(let a=0;a<o;a++)i[this.pos++]^=e[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:r,pos:i,blockLen:n}=this;e[i]^=r,r&128&&i===n-1&&this.keccak(),e[n-1]^=128,this.keccak()}writeInto(e){Gn(this,!1),zo(e),this.finish();const r=this.state,{blockLen:i}=this;for(let n=0,s=e.length;n<s;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,s-n);e.set(r.subarray(this.posOut,this.posOut+o),n),this.posOut+=o,n+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Is(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Kd(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:r,suffix:i,outputLen:n,rounds:s,enableXOF:o}=this;return e||(e=new Bf(r,i,n,o,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=i,e.outputLen=n,e.enableXOF=o,e.destroyed=this.destroyed,e}}const $6=(t,e,r)=>Gd(()=>new Bf(e,t,r)),N6=$6(1,136,256/8),T6="https://rpc.walletconnect.org/v1";function el(t){const e=`Ethereum Signed Message:
|
22
|
+
${t.length}`,r=new TextEncoder().encode(e+t);return"0x"+Buffer.from(N6(r)).toString("hex")}async function F6(t,e,r,i,n,s){switch(r.t){case"eip191":return C6(t,e,r.s);case"eip1271":return await B6(t,e,r.s,i,n,s);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${r.t}`)}}function C6(t,e,r){return B2(el(e),r).toLowerCase()===t.toLowerCase()}async function B6(t,e,r,i,n,s){const o=qo(i);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${i}`);try{const a="0x1626ba7e",c="0000000000000000000000000000000000000000000000000000000000000040",h="0000000000000000000000000000000000000000000000000000000000000041",l=r.substring(2),y=el(e).substring(2),M=a+y+c+h+l,I=await fetch(`${s||T6}/?chainId=${i}&projectId=${n}`,{method:"POST",body:JSON.stringify({id:L6(),jsonrpc:"2.0",method:"eth_call",params:[{to:t,data:M},"latest"]})}),{result:S}=await I.json();return S?S.slice(0,a.length).toLowerCase()===a.toLowerCase():!1}catch(a){return console.error("isValidEip1271Signature: ",a),!1}}function L6(){return Date.now()+Math.floor(Math.random()*1e3)}var q6=Object.defineProperty,U6=Object.defineProperties,z6=Object.getOwnPropertyDescriptors,tl=Object.getOwnPropertySymbols,k6=Object.prototype.hasOwnProperty,j6=Object.prototype.propertyIsEnumerable,rl=(t,e,r)=>e in t?q6(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,K6=(t,e)=>{for(var r in e||(e={}))k6.call(e,r)&&rl(t,r,e[r]);if(tl)for(var r of tl(e))j6.call(e,r)&&rl(t,r,e[r]);return t},V6=(t,e)=>U6(t,z6(e));const H6="did:pkh:",Lf=t=>t?.split(":"),W6=t=>{const e=t&&Lf(t);if(e)return t.includes(H6)?e[3]:e[1]},qf=t=>{const e=t&&Lf(t);if(e)return e[2]+":"+e[3]},jo=t=>{const e=t&&Lf(t);if(e)return e.pop()};async function il(t){const{cacao:e,projectId:r}=t,{s:i,p:n}=e,s=nl(n,n.iss),o=jo(n.iss);return await F6(o,s,i,qf(n.iss),r)}const nl=(t,e)=>{const r=`${t.domain} wants you to sign in with your Ethereum account:`,i=jo(e);if(!t.aud&&!t.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let n=t.statement||void 0;const s=`URI: ${t.aud||t.uri}`,o=`Version: ${t.version}`,a=`Chain ID: ${W6(e)}`,c=`Nonce: ${t.nonce}`,h=`Issued At: ${t.iat}`,l=t.exp?`Expiration Time: ${t.exp}`:void 0,y=t.nbf?`Not Before: ${t.nbf}`:void 0,M=t.requestId?`Request ID: ${t.requestId}`:void 0,I=t.resources?`Resources:${t.resources.map(D=>`
|
23
|
+
- ${D}`).join("")}`:void 0,S=Ko(t.resources);if(S){const D=Os(S);n=r4(n,D)}return[r,i,"",n,"",s,o,a,c,h,l,y,M,I].filter(D=>D!=null).join(`
|
24
|
+
`)};function G6(t){return Buffer.from(JSON.stringify(t)).toString("base64")}function J6(t){return JSON.parse(Buffer.from(t,"base64").toString("utf-8"))}function pn(t){if(!t)throw new Error("No recap provided, value is undefined");if(!t.att)throw new Error("No `att` property found");const e=Object.keys(t.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(r=>{const i=t.att[r];if(Array.isArray(i))throw new Error(`Resource must be an object: ${r}`);if(typeof i!="object")throw new Error(`Resource must be an object: ${r}`);if(!Object.keys(i).length)throw new Error(`Resource object is empty: ${r}`);Object.keys(i).forEach(n=>{const s=i[n];if(!Array.isArray(s))throw new Error(`Ability limits ${n} must be an array of objects, found: ${s}`);if(!s.length)throw new Error(`Value of ${n} is empty array, must be an array with objects`);s.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${n}) must be an array of objects, found: ${o}`)})})})}function Y6(t,e,r,i={}){return r?.sort((n,s)=>n.localeCompare(s)),{att:{[t]:X6(e,r,i)}}}function X6(t,e,r={}){e=e?.sort((n,s)=>n.localeCompare(s));const i=e.map(n=>({[`${t}/${n}`]:[r]}));return Object.assign({},...i)}function sl(t){return pn(t),`urn:recap:${G6(t).replace(/=/g,"")}`}function Os(t){const e=J6(t.replace("urn:recap:",""));return pn(e),e}function Z6(t,e,r){const i=Y6(t,e,r);return sl(i)}function Q6(t){return t&&t.includes("urn:recap:")}function e4(t,e){const r=Os(t),i=Os(e),n=t4(r,i);return sl(n)}function t4(t,e){pn(t),pn(e);const r=Object.keys(t.att).concat(Object.keys(e.att)).sort((n,s)=>n.localeCompare(s)),i={att:{}};return r.forEach(n=>{var s,o;Object.keys(((s=t.att)==null?void 0:s[n])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[n])||{})).sort((a,c)=>a.localeCompare(c)).forEach(a=>{var c,h;i.att[n]=V6(K6({},i.att[n]),{[a]:((c=t.att[n])==null?void 0:c[a])||((h=e.att[n])==null?void 0:h[a])})})}),i}function r4(t="",e){pn(e);const r="I further authorize the stated URI to perform the following actions on my behalf: ";if(t.includes(r))return t;const i=[];let n=0;Object.keys(e.att).forEach(a=>{const c=Object.keys(e.att[a]).map(y=>({ability:y.split("/")[0],action:y.split("/")[1]}));c.sort((y,M)=>y.action.localeCompare(M.action));const h={};c.forEach(y=>{h[y.ability]||(h[y.ability]=[]),h[y.ability].push(y.action)});const l=Object.keys(h).map(y=>(n++,`(${n}) '${y}': '${h[y].join("', '")}' for '${a}'.`));i.push(l.join(", ").replace(".,","."))});const s=i.join(" "),o=`${r}${s}`;return`${t?t+" ":""}${o}`}function ol(t){var e;const r=Os(t);pn(r);const i=(e=r.att)==null?void 0:e.eip155;return i?Object.keys(i).map(n=>n.split("/")[1]):[]}function al(t){const e=Os(t);pn(e);const r=[];return Object.values(e.att).forEach(i=>{Object.values(i).forEach(n=>{var s;(s=n?.[0])!=null&&s.chains&&r.push(n[0].chains)})}),[...new Set(r.flat())]}function Ko(t){if(!t)return;const e=t?.[t.length-1];return Q6(e)?e:void 0}function Uf(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function fl(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function br(t,...e){if(!fl(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function cl(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function i4(t,e){br(t);const r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function hl(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}const Vi=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),n4=t=>new DataView(t.buffer,t.byteOffset,t.byteLength);if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");function s4(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function zf(t){if(typeof t=="string")t=s4(t);else if(fl(t))t=kf(t);else throw new Error("Uint8Array expected, got "+typeof t);return t}function o4(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function a4(t,e){if(t.length!==e.length)return!1;let r=0;for(let i=0;i<t.length;i++)r|=t[i]^e[i];return r===0}const f4=(t,e)=>{function r(i,...n){if(br(i),t.nonceLength!==void 0){const h=n[0];if(!h)throw new Error("nonce / iv required");t.varSizeNonce?br(h):br(h,t.nonceLength)}const s=t.tagLength;s&&n[1]!==void 0&&br(n[1]);const o=e(i,...n),a=(h,l)=>{if(l!==void 0){if(h!==2)throw new Error("cipher output not supported");br(l)}};let c=!1;return{encrypt(h,l){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,br(h),a(o.encrypt.length,l),o.encrypt(h,l)},decrypt(h,l){if(br(h),s&&h.length<s)throw new Error("invalid ciphertext length: smaller than tagLength="+s);return a(o.decrypt.length,l),o.decrypt(h,l)}}}return Object.assign(r,t),r};function ul(t,e,r=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw new Error("invalid output length, expected "+t+", got: "+e.length);if(r&&!c4(e))throw new Error("invalid output, must be aligned");return e}function dl(t,e,r,i){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(r>>n&s),a=Number(r&s),c=i?4:0,h=i?0:4;t.setUint32(e+c,o,i),t.setUint32(e+h,a,i)}function c4(t){return t.byteOffset%4===0}function kf(t){return Uint8Array.from(t)}function Xn(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}const ll=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),h4=ll("expand 16-byte k"),u4=ll("expand 32-byte k"),d4=Vi(h4),l4=Vi(u4);function Le(t,e){return t<<e|t>>>32-e}function jf(t){return t.byteOffset%4===0}const Vo=64,p4=16,pl=2**32-1,gl=new Uint32Array;function g4(t,e,r,i,n,s,o,a){const c=n.length,h=new Uint8Array(Vo),l=Vi(h),y=jf(n)&&jf(s),M=y?Vi(n):gl,I=y?Vi(s):gl;for(let S=0;S<c;o++){if(t(e,r,i,l,o,a),o>=pl)throw new Error("arx: counter overflow");const D=Math.min(Vo,c-S);if(y&&D===Vo){const R=S/4;if(S%4!==0)throw new Error("arx: invalid block position");for(let $=0,T;$<p4;$++)T=R+$,I[T]=M[T]^l[$];S+=Vo;continue}for(let R=0,$;R<D;R++)$=S+R,s[$]=n[$]^h[R];S+=D}}function b4(t,e){const{allowShortKeys:r,extendNonceFn:i,counterLength:n,counterRight:s,rounds:o}=o4({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return Uf(n),Uf(o),hl(s),hl(r),(a,c,h,l,y=0)=>{br(a),br(c),br(h);const M=h.length;if(l===void 0&&(l=new Uint8Array(M)),br(l),Uf(y),y<0||y>=pl)throw new Error("arx: counter overflow");if(l.length<M)throw new Error(`arx: output (${l.length}) is shorter than data (${M})`);const I=[];let S=a.length,D,R;if(S===32)I.push(D=kf(a)),R=l4;else if(S===16&&r)D=new Uint8Array(32),D.set(a),D.set(a,16),R=d4,I.push(D);else throw new Error(`arx: invalid 32-byte key, got length=${S}`);jf(c)||I.push(c=kf(c));const $=Vi(D);if(i){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");i(R,$,Vi(c.subarray(0,16)),$),c=c.subarray(16)}const T=16-n;if(T!==c.length)throw new Error(`arx: nonce must be ${T} or 16 bytes`);if(T!==12){const L=new Uint8Array(12);L.set(c,s?0:12-c.length),c=L,I.push(c)}const C=Vi(c);return g4(t,R,$,C,h,l,y,o),Xn(...I),l}}const qt=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class v4{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=zf(e),br(e,32);const r=qt(e,0),i=qt(e,2),n=qt(e,4),s=qt(e,6),o=qt(e,8),a=qt(e,10),c=qt(e,12),h=qt(e,14);this.r[0]=r&8191,this.r[1]=(r>>>13|i<<3)&8191,this.r[2]=(i>>>10|n<<6)&7939,this.r[3]=(n>>>7|s<<9)&8191,this.r[4]=(s>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|h<<8)&8191,this.r[9]=h>>>5&127;for(let l=0;l<8;l++)this.pad[l]=qt(e,16+2*l)}process(e,r,i=!1){const n=i?0:2048,{h:s,r:o}=this,a=o[0],c=o[1],h=o[2],l=o[3],y=o[4],M=o[5],I=o[6],S=o[7],D=o[8],R=o[9],$=qt(e,r+0),T=qt(e,r+2),C=qt(e,r+4),L=qt(e,r+6),k=qt(e,r+8),j=qt(e,r+10),G=qt(e,r+12),K=qt(e,r+14);let V=s[0]+($&8191),re=s[1]+(($>>>13|T<<3)&8191),O=s[2]+((T>>>10|C<<6)&8191),g=s[3]+((C>>>7|L<<9)&8191),p=s[4]+((L>>>4|k<<12)&8191),f=s[5]+(k>>>1&8191),u=s[6]+((k>>>14|j<<2)&8191),b=s[7]+((j>>>11|G<<5)&8191),_=s[8]+((G>>>8|K<<8)&8191),E=s[9]+(K>>>5|n),w=0,d=w+V*a+re*(5*R)+O*(5*D)+g*(5*S)+p*(5*I);w=d>>>13,d&=8191,d+=f*(5*M)+u*(5*y)+b*(5*l)+_*(5*h)+E*(5*c),w+=d>>>13,d&=8191;let m=w+V*c+re*a+O*(5*R)+g*(5*D)+p*(5*S);w=m>>>13,m&=8191,m+=f*(5*I)+u*(5*M)+b*(5*y)+_*(5*l)+E*(5*h),w+=m>>>13,m&=8191;let v=w+V*h+re*c+O*a+g*(5*R)+p*(5*D);w=v>>>13,v&=8191,v+=f*(5*S)+u*(5*I)+b*(5*M)+_*(5*y)+E*(5*l),w+=v>>>13,v&=8191;let A=w+V*l+re*h+O*c+g*a+p*(5*R);w=A>>>13,A&=8191,A+=f*(5*D)+u*(5*S)+b*(5*I)+_*(5*M)+E*(5*y),w+=A>>>13,A&=8191;let U=w+V*y+re*l+O*h+g*c+p*a;w=U>>>13,U&=8191,U+=f*(5*R)+u*(5*D)+b*(5*S)+_*(5*I)+E*(5*M),w+=U>>>13,U&=8191;let x=w+V*M+re*y+O*l+g*h+p*c;w=x>>>13,x&=8191,x+=f*a+u*(5*R)+b*(5*D)+_*(5*S)+E*(5*I),w+=x>>>13,x&=8191;let N=w+V*I+re*M+O*y+g*l+p*h;w=N>>>13,N&=8191,N+=f*c+u*a+b*(5*R)+_*(5*D)+E*(5*S),w+=N>>>13,N&=8191;let B=w+V*S+re*I+O*M+g*y+p*l;w=B>>>13,B&=8191,B+=f*h+u*c+b*a+_*(5*R)+E*(5*D),w+=B>>>13,B&=8191;let q=w+V*D+re*S+O*I+g*M+p*y;w=q>>>13,q&=8191,q+=f*l+u*h+b*c+_*a+E*(5*R),w+=q>>>13,q&=8191;let z=w+V*R+re*D+O*S+g*I+p*M;w=z>>>13,z&=8191,z+=f*y+u*l+b*h+_*c+E*a,w+=z>>>13,z&=8191,w=(w<<2)+w|0,w=w+d|0,d=w&8191,w=w>>>13,m+=w,s[0]=d,s[1]=m,s[2]=v,s[3]=A,s[4]=U,s[5]=x,s[6]=N,s[7]=B,s[8]=q,s[9]=z}finalize(){const{h:e,pad:r}=this,i=new Uint16Array(10);let n=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=n,n=e[a]>>>13,e[a]&=8191;e[0]+=n*5,n=e[0]>>>13,e[0]&=8191,e[1]+=n,n=e[1]>>>13,e[1]&=8191,e[2]+=n,i[0]=e[0]+5,n=i[0]>>>13,i[0]&=8191;for(let a=1;a<10;a++)i[a]=e[a]+n,n=i[a]>>>13,i[a]&=8191;i[9]-=8192;let s=(n^1)-1;for(let a=0;a<10;a++)i[a]&=s;s=~s;for(let a=0;a<10;a++)e[a]=e[a]&s|i[a];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+r[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+r[a]|0)+(o>>>16)|0,e[a]=o&65535;Xn(i)}update(e){cl(this);const{buffer:r,blockLen:i}=this;e=zf(e);const n=e.length;for(let s=0;s<n;){const o=Math.min(i-this.pos,n-s);if(o===i){for(;i<=n-s;s+=i)this.process(e,s);continue}r.set(e.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===i&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){Xn(this.h,this.r,this.buffer,this.pad)}digestInto(e){cl(this),i4(e,this),this.finished=!0;const{buffer:r,h:i}=this;let{pos:n}=this;if(n){for(r[n++]=1;n<16;n++)r[n]=0;this.process(r,0,!0)}this.finalize();let s=0;for(let o=0;o<8;o++)e[s++]=i[o]>>>0,e[s++]=i[o]>>>8;return e}digest(){const{buffer:e,outputLen:r}=this;this.digestInto(e);const i=e.slice(0,r);return this.destroy(),i}}function y4(t){const e=(i,n)=>t(n).update(zf(i)).digest(),r=t(new Uint8Array(32));return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=i=>t(i),e}const m4=y4(t=>new v4(t));function w4(t,e,r,i,n,s=20){let o=t[0],a=t[1],c=t[2],h=t[3],l=e[0],y=e[1],M=e[2],I=e[3],S=e[4],D=e[5],R=e[6],$=e[7],T=n,C=r[0],L=r[1],k=r[2],j=o,G=a,K=c,V=h,re=l,O=y,g=M,p=I,f=S,u=D,b=R,_=$,E=T,w=C,d=L,m=k;for(let A=0;A<s;A+=2)j=j+re|0,E=Le(E^j,16),f=f+E|0,re=Le(re^f,12),j=j+re|0,E=Le(E^j,8),f=f+E|0,re=Le(re^f,7),G=G+O|0,w=Le(w^G,16),u=u+w|0,O=Le(O^u,12),G=G+O|0,w=Le(w^G,8),u=u+w|0,O=Le(O^u,7),K=K+g|0,d=Le(d^K,16),b=b+d|0,g=Le(g^b,12),K=K+g|0,d=Le(d^K,8),b=b+d|0,g=Le(g^b,7),V=V+p|0,m=Le(m^V,16),_=_+m|0,p=Le(p^_,12),V=V+p|0,m=Le(m^V,8),_=_+m|0,p=Le(p^_,7),j=j+O|0,m=Le(m^j,16),b=b+m|0,O=Le(O^b,12),j=j+O|0,m=Le(m^j,8),b=b+m|0,O=Le(O^b,7),G=G+g|0,E=Le(E^G,16),_=_+E|0,g=Le(g^_,12),G=G+g|0,E=Le(E^G,8),_=_+E|0,g=Le(g^_,7),K=K+p|0,w=Le(w^K,16),f=f+w|0,p=Le(p^f,12),K=K+p|0,w=Le(w^K,8),f=f+w|0,p=Le(p^f,7),V=V+re|0,d=Le(d^V,16),u=u+d|0,re=Le(re^u,12),V=V+re|0,d=Le(d^V,8),u=u+d|0,re=Le(re^u,7);let v=0;i[v++]=o+j|0,i[v++]=a+G|0,i[v++]=c+K|0,i[v++]=h+V|0,i[v++]=l+re|0,i[v++]=y+O|0,i[v++]=M+g|0,i[v++]=I+p|0,i[v++]=S+f|0,i[v++]=D+u|0,i[v++]=R+b|0,i[v++]=$+_|0,i[v++]=T+E|0,i[v++]=C+w|0,i[v++]=L+d|0,i[v++]=k+m|0}const _4=b4(w4,{counterRight:!1,counterLength:4,allowShortKeys:!1}),x4=new Uint8Array(16),bl=(t,e)=>{t.update(e);const r=e.length%16;r&&t.update(x4.subarray(r))},E4=new Uint8Array(32);function vl(t,e,r,i,n){const s=t(e,r,E4),o=m4.create(s);n&&bl(o,n),bl(o,i);const a=new Uint8Array(16),c=n4(a);dl(c,0,BigInt(n?n.length:0),!0),dl(c,8,BigInt(i.length),!0),o.update(a);const h=o.digest();return Xn(s,a),h}const S4=t=>(e,r,i)=>({encrypt(n,s){const o=n.length;s=ul(o+16,s,!1),s.set(n);const a=s.subarray(0,-16);t(e,r,a,a,1);const c=vl(t,e,r,a,i);return s.set(c,o),Xn(c),s},decrypt(n,s){s=ul(n.length-16,s,!1);const o=n.subarray(0,-16),a=n.subarray(-16),c=vl(t,e,r,o,i);if(!a4(a,c))throw new Error("invalid tag");return s.set(n.subarray(0,-16)),t(e,r,s,s,1),Xn(c),s}}),yl=f4({blockSize:64,nonceLength:12,tagLength:16},S4(_4));class ml extends Cf{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Tf(e);const i=Yn(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,s=new Uint8Array(n);s.set(i.length>n?e.create().update(i).digest():i);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return Gn(this),this.iHash.update(e),this}digestInto(e){Gn(this),zo(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:r,iHash:i,finished:n,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=n,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=i._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Kf=(t,e,r)=>new ml(t,e).update(r).digest();Kf.create=(t,e)=>new ml(t,e);function M4(t,e,r){return Tf(t),r===void 0&&(r=new Uint8Array(t.outputLen)),Kf(t,Yn(r),Yn(e))}const Vf=new Uint8Array([0]),wl=new Uint8Array;function I4(t,e,r,i=32){if(Tf(t),Is(i),i>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const n=Math.ceil(i/t.outputLen);r===void 0&&(r=wl);const s=new Uint8Array(n*t.outputLen),o=Kf.create(t,e),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let h=0;h<n;h++)Vf[0]=h+1,a.update(h===0?wl:c).update(r).update(Vf).digestInto(c),s.set(c,t.outputLen*h),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),Vf.fill(0),s.slice(0,i)}const A4=(t,e,r,i,n)=>I4(t,M4(t,e,r),i,n);function D4(t,e,r,i){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(r>>n&s),a=Number(r&s),c=i?4:0,h=i?0:4;t.setUint32(e+c,o,i),t.setUint32(e+h,a,i)}function O4(t,e,r){return t&e^~t&r}function P4(t,e,r){return t&e^t&r^e&r}class R4 extends Cf{constructor(e,r,i,n){super(),this.blockLen=e,this.outputLen=r,this.padOffset=i,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ff(this.buffer)}update(e){Gn(this);const{view:r,buffer:i,blockLen:n}=this;e=Yn(e);const s=e.length;for(let o=0;o<s;){const a=Math.min(n-this.pos,s-o);if(a===n){const c=Ff(e);for(;n<=s-o;o+=n)this.process(c,o);continue}i.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Gn(this),Kd(e,this),this.finished=!0;const{buffer:r,view:i,blockLen:n,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>n-o&&(this.process(i,0),o=0);for(let y=o;y<n;y++)r[y]=0;D4(i,n-8,BigInt(this.length*8),s),this.process(i,0);const a=Ff(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const h=c/4,l=this.get();if(h>l.length)throw new Error("_sha2: outputLen bigger than state");for(let y=0;y<h;y++)a.setUint32(4*y,l[y],s)}digest(){const{buffer:e,outputLen:r}=this;this.digestInto(e);const i=e.slice(0,r);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:r,buffer:i,length:n,finished:s,destroyed:o,pos:a}=this;return e.length=n,e.pos=a,e.finished=s,e.destroyed=o,n%r&&e.buffer.set(i),e}}const $4=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Hi=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Wi=new Uint32Array(64);class N4 extends R4{constructor(){super(64,32,8,!1),this.A=Hi[0]|0,this.B=Hi[1]|0,this.C=Hi[2]|0,this.D=Hi[3]|0,this.E=Hi[4]|0,this.F=Hi[5]|0,this.G=Hi[6]|0,this.H=Hi[7]|0}get(){const{A:e,B:r,C:i,D:n,E:s,F:o,G:a,H:c}=this;return[e,r,i,n,s,o,a,c]}set(e,r,i,n,s,o,a,c){this.A=e|0,this.B=r|0,this.C=i|0,this.D=n|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,r){for(let y=0;y<16;y++,r+=4)Wi[y]=e.getUint32(r,!1);for(let y=16;y<64;y++){const M=Wi[y-15],I=Wi[y-2],S=ri(M,7)^ri(M,18)^M>>>3,D=ri(I,17)^ri(I,19)^I>>>10;Wi[y]=D+Wi[y-7]+S+Wi[y-16]|0}let{A:i,B:n,C:s,D:o,E:a,F:c,G:h,H:l}=this;for(let y=0;y<64;y++){const M=ri(a,6)^ri(a,11)^ri(a,25),I=l+M+O4(a,c,h)+$4[y]+Wi[y]|0,S=(ri(i,2)^ri(i,13)^ri(i,22))+P4(i,n,s)|0;l=h,h=c,c=a,a=o+I|0,o=s,s=n,n=i,i=I+S|0}i=i+this.A|0,n=n+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,h=h+this.G|0,l=l+this.H|0,this.set(i,n,s,o,a,c,h,l)}roundClean(){Wi.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Ho=Gd(()=>new N4);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const _l=BigInt(0);function Hf(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function xl(t){if(!Hf(t))throw new Error("Uint8Array expected")}const T4=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function F4(t){xl(t);let e="";for(let r=0;r<t.length;r++)e+=T4[t[r]];return e}function C4(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?_l:BigInt("0x"+t)}const gi={_0:48,_9:57,A:65,F:70,a:97,f:102};function El(t){if(t>=gi._0&&t<=gi._9)return t-gi._0;if(t>=gi.A&&t<=gi.F)return t-(gi.A-10);if(t>=gi.a&&t<=gi.f)return t-(gi.a-10)}function Sl(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(r);for(let n=0,s=0;n<r;n++,s+=2){const o=El(t.charCodeAt(s)),a=El(t.charCodeAt(s+1));if(o===void 0||a===void 0){const c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}i[n]=o*16+a}return i}function Ml(t){return xl(t),C4(F4(Uint8Array.from(t).reverse()))}function B4(t,e){return Sl(t.toString(16).padStart(e*2,"0"))}function L4(t,e){return B4(t,e).reverse()}function Il(t,e,r){let i;if(typeof e=="string")try{i=Sl(e)}catch(s){throw new Error(t+" must be hex string or Uint8Array, cause: "+s)}else if(Hf(e))i=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const n=i.length;if(typeof r=="number"&&n!==r)throw new Error(t+" of length "+r+" expected, got "+n);return i}const Wf=t=>typeof t=="bigint"&&_l<=t;function q4(t,e,r){return Wf(t)&&Wf(e)&&Wf(r)&&e<=t&&t<r}function Al(t,e,r,i){if(!q4(e,r,i))throw new Error("expected valid "+t+": "+r+" <= n < "+i+", got "+e)}const U4={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Hf(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function z4(t,e,r={}){const i=(n,s,o)=>{const a=U4[s];if(typeof a!="function")throw new Error("invalid validator function");const c=t[n];if(!(o&&c===void 0)&&!a(c,t))throw new Error("param "+String(n)+" is invalid. Expected "+s+", got "+c)};for(const[n,s]of Object.entries(e))i(n,s,!1);for(const[n,s]of Object.entries(r))i(n,s,!0);return t}const Zn=BigInt(0),Wo=BigInt(1);function Dl(t,e){const r=t%e;return r>=Zn?r:e+r}function k4(t,e,r){if(e<Zn)throw new Error("invalid exponent, negatives unsupported");if(r<=Zn)throw new Error("invalid modulus");if(r===Wo)return Zn;let i=Wo;for(;e>Zn;)e&Wo&&(i=i*t%r),t=t*t%r,e>>=Wo;return i}function qr(t,e,r){let i=t;for(;e-- >Zn;)i*=i,i%=r;return i}BigInt(0),BigInt(1),BigInt(0),BigInt(1),BigInt(2),BigInt(8);const Qn=BigInt(0),Gf=BigInt(1);function j4(t){return z4(t,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...t})}function K4(t){const e=j4(t),{P:r}=e,i=T=>Dl(T,r),n=e.montgomeryBits,s=Math.ceil(n/8),o=e.nByteLength,a=e.adjustScalarBytes||(T=>T),c=e.powPminus2||(T=>k4(T,r-BigInt(2),r));function h(T,C,L){const k=i(T*(C-L));return C=i(C-k),L=i(L+k),[C,L]}const l=(e.a-BigInt(2))/BigInt(4);function y(T,C){Al("u",T,Qn,r),Al("scalar",C,Qn,r);const L=C,k=T;let j=Gf,G=Qn,K=T,V=Gf,re=Qn,O;for(let p=BigInt(n-1);p>=Qn;p--){const f=L>>p&Gf;re^=f,O=h(re,j,K),j=O[0],K=O[1],O=h(re,G,V),G=O[0],V=O[1],re=f;const u=j+G,b=i(u*u),_=j-G,E=i(_*_),w=b-E,d=K+V,m=K-V,v=i(m*u),A=i(d*_),U=v+A,x=v-A;K=i(U*U),V=i(k*i(x*x)),j=i(b*E),G=i(w*(b+i(l*w)))}O=h(re,j,K),j=O[0],K=O[1],O=h(re,G,V),G=O[0],V=O[1];const g=c(G);return i(j*g)}function M(T){return L4(i(T),s)}function I(T){const C=Il("u coordinate",T,s);return o===32&&(C[31]&=127),Ml(C)}function S(T){const C=Il("scalar",T),L=C.length;if(L!==s&&L!==o){let k=""+s+" or "+o;throw new Error("invalid scalar, expected "+k+" bytes, got "+L)}return Ml(a(C))}function D(T,C){const L=I(C),k=S(T),j=y(L,k);if(j===Qn)throw new Error("invalid private or public key received");return M(j)}const R=M(e.Gu);function $(T){return D(T,R)}return{scalarMult:D,scalarMultBase:$,getSharedSecret:(T,C)=>D(T,C),getPublicKey:T=>$(T),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:R}}const Jf=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const V4=BigInt(1),Ol=BigInt(2),H4=BigInt(3),W4=BigInt(5);BigInt(8);function G4(t){const e=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),s=Jf,o=t*t%s*t%s,a=qr(o,Ol,s)*o%s,c=qr(a,V4,s)*t%s,h=qr(c,W4,s)*c%s,l=qr(h,e,s)*h%s,y=qr(l,r,s)*l%s,M=qr(y,i,s)*y%s,I=qr(M,n,s)*M%s,S=qr(I,n,s)*M%s,D=qr(S,e,s)*h%s;return{pow_p_5_8:qr(D,Ol,s)*t%s,b2:o}}function J4(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const Yf=(()=>K4({P:Jf,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=Jf,{pow_p_5_8:r,b2:i}=G4(t);return Dl(qr(r,H4,e)*i,e)},adjustScalarBytes:J4,randomBytes:As}))(),Pl="base10",Ht="base16",Gi="base64pad",Ps="base64url",Rs="utf8",Rl=0,bi=1,$s=2,Y4=0,$l=1,Ns=12,Xf=32;function X4(){const t=Yf.utils.randomPrivateKey(),e=Yf.getPublicKey(t);return{privateKey:Zt(t,Ht),publicKey:Zt(e,Ht)}}function Zf(){const t=As(Xf);return Zt(t,Ht)}function Z4(t,e){const r=Yf.getSharedSecret(Er(t,Ht),Er(e,Ht)),i=A4(Ho,r,void 0,void 0,Xf);return Zt(i,Ht)}function Go(t){const e=Ho(Er(t,Ht));return Zt(e,Ht)}function vi(t){const e=Ho(Er(t,Rs));return Zt(e,Ht)}function Nl(t){return Er(`${t}`,Pl)}function gn(t){return Number(Zt(t,Pl))}function Q4(t){const e=Nl(typeof t.type<"u"?t.type:Rl);if(gn(e)===bi&&typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const r=typeof t.senderPublicKey<"u"?Er(t.senderPublicKey,Ht):void 0,i=typeof t.iv<"u"?Er(t.iv,Ht):As(Ns),n=Er(t.symKey,Ht),s=yl(n,i).encrypt(Er(t.message,Rs));return Tl({type:e,sealed:s,iv:i,senderPublicKey:r,encoding:t.encoding})}function e8(t){const e=Er(t.symKey,Ht),{sealed:r,iv:i}=Ts(t),n=yl(e,i).decrypt(r);if(n===null)throw new Error("Failed to decrypt");return Zt(n,Rs)}function t8(t,e){const r=Nl($s),i=As(Ns),n=Er(t,Rs);return Tl({type:r,sealed:n,iv:i,encoding:e})}function r8(t,e){const{sealed:r}=Ts({encoded:t,encoding:e});return Zt(r,Rs)}function Tl(t){const{encoding:e=Gi}=t;if(gn(t.type)===$s)return Zt(yf([t.type,t.sealed]),e);if(gn(t.type)===bi){if(typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return Zt(yf([t.type,t.senderPublicKey,t.iv,t.sealed]),e)}return Zt(yf([t.type,t.iv,t.sealed]),e)}function Ts(t){const{encoded:e,encoding:r=Gi}=t,i=Er(e,r),n=i.slice(Y4,$l),s=$l;if(gn(n)===bi){const h=s+Xf,l=h+Ns,y=i.slice(s,h),M=i.slice(h,l),I=i.slice(l);return{type:n,sealed:I,iv:M,senderPublicKey:y}}if(gn(n)===$s){const h=i.slice(s),l=As(Ns);return{type:n,sealed:h,iv:l}}const o=s+Ns,a=i.slice(s,o),c=i.slice(o);return{type:n,sealed:c,iv:a}}function i8(t,e){const r=Ts({encoded:t,encoding:e?.encoding});return Fl({type:gn(r.type),senderPublicKey:typeof r.senderPublicKey<"u"?Zt(r.senderPublicKey,Ht):void 0,receiverPublicKey:e?.receiverPublicKey})}function Fl(t){const e=t?.type||Rl;if(e===bi){if(typeof t?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof t?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:t?.senderPublicKey,receiverPublicKey:t?.receiverPublicKey}}function Cl(t){return t.type===bi&&typeof t.senderPublicKey=="string"&&typeof t.receiverPublicKey=="string"}function Bl(t){return t.type===$s}function n8(t){return new md.ec("p256").keyFromPublic({x:Buffer.from(t.x,"base64").toString("hex"),y:Buffer.from(t.y,"base64").toString("hex")},"hex")}function s8(t){let e=t.replace(/-/g,"+").replace(/_/g,"/");const r=e.length%4;return r>0&&(e+="=".repeat(4-r)),e}function o8(t){return Buffer.from(s8(t),"base64")}function a8(t,e){const[r,i,n]=t.split("."),s=o8(n);if(s.length!==64)throw new Error("Invalid signature length");const o=s.slice(0,32).toString("hex"),a=s.slice(32,64).toString("hex"),c=`${r}.${i}`,h=Ho(c),l=n8(e),y=Zt(h,Ht);if(!l.verify(y,{r:o,s:a}))throw new Error("Invalid signature");return Wa(t).payload}const f8="irn";function Jo(t){return t?.relay||{protocol:f8}}function Fs(t){const e=Ww[t];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${t}`);return e}function c8(t,e="-"){const r={},i="relay"+e;return Object.keys(t).forEach(n=>{if(n.startsWith(i)){const s=n.replace(i,""),o=t[n];r[s]=o}}),r}function Ll(t){if(!t.includes("wc:")){const h=jd(t);h!=null&&h.includes("wc:")&&(t=h)}t=t.includes("wc://")?t.replace("wc://",""):t,t=t.includes("wc:")?t.replace("wc:",""):t;const e=t.indexOf(":"),r=t.indexOf("?")!==-1?t.indexOf("?"):void 0,i=t.substring(0,e),n=t.substring(e+1,r).split("@"),s=typeof r<"u"?t.substring(r):"",o=new URLSearchParams(s),a={};o.forEach((h,l)=>{a[l]=h});const c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:i,topic:h8(n[0]),version:parseInt(n[1],10),symKey:a.symKey,relay:c8(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function h8(t){return t.startsWith("//")?t.substring(2):t}function u8(t,e="-"){const r="relay",i={};return Object.keys(t).forEach(n=>{const s=r+e+n;t[n]&&(i[s]=t[n])}),i}function ql(t){const e=new URLSearchParams,r=u8(t.relay);Object.keys(r).sort().forEach(n=>{e.set(n,r[n])}),e.set("symKey",t.symKey),t.expiryTimestamp&&e.set("expiryTimestamp",t.expiryTimestamp.toString()),t.methods&&e.set("methods",t.methods.join(","));const i=e.toString();return`${t.protocol}:${t.topic}@${t.version}?${i}`}function Yo(t,e,r){return`${t}?wc_ev=${r}&topic=${e}`}function es(t){const e=[];return t.forEach(r=>{const[i,n]=r.split(":");e.push(`${i}:${n}`)}),e}function d8(t){const e=[];return Object.values(t).forEach(r=>{e.push(...es(r.accounts))}),e}function l8(t,e){const r=[];return Object.values(t).forEach(i=>{es(i.accounts).includes(e)&&r.push(...i.methods)}),r}function p8(t,e){const r=[];return Object.values(t).forEach(i=>{es(i.accounts).includes(e)&&r.push(...i.events)}),r}function g8(t){const e={};return t?.forEach(r=>{const[i,n]=r.split(":");e[i]||(e[i]={accounts:[],chains:[],events:[]}),e[i].accounts.push(r),e[i].chains.push(`${i}:${n}`)}),e}function Ul(t,e){e=e.map(i=>i.replace("did:pkh:",""));const r=g8(e);for(const[i,n]of Object.entries(r))n.methods?n.methods=s6(n.methods,t):n.methods=t,n.events=["chainChanged","accountsChanged"];return r}const b8={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}},v8={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 Z(t,e){const{message:r,code:i}=v8[t];return{message:e?`${r} ${e}`:r,code:i}}function ct(t,e){const{message:r,code:i}=b8[t];return{message:e?`${r} ${e}`:r,code:i}}function Xo(t,e){return Array.isArray(t)?typeof e<"u"&&t.length?t.every(e):!0:!1}function Zo(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function Qt(t){return typeof t>"u"}function mt(t,e){return e&&Qt(t)?!0:typeof t=="string"&&!!t.trim().length}function Qf(t,e){return e&&Qt(t)?!0:typeof t=="number"&&!isNaN(t)}function y8(t,e){const{requiredNamespaces:r}=e,i=Object.keys(t.namespaces),n=Object.keys(r);let s=!0;return dn(n,i)?(i.forEach(o=>{const{accounts:a,methods:c,events:h}=t.namespaces[o],l=es(a),y=r[o];(!dn(Nd(o,y),l)||!dn(y.methods,c)||!dn(y.events,h))&&(s=!1)}),s):!1}function Qo(t){return mt(t,!1)&&t.includes(":")?t.split(":").length===2:!1}function m8(t){if(mt(t,!1)&&t.includes(":")){const e=t.split(":");if(e.length===3){const r=e[0]+":"+e[1];return!!e[2]&&Qo(r)}}return!1}function w8(t){function e(r){try{return typeof new URL(r)<"u"}catch{return!1}}try{if(mt(t,!1)){if(e(t))return!0;const r=jd(t);return e(r)}}catch{}return!1}function _8(t){var e;return(e=t?.proposer)==null?void 0:e.publicKey}function x8(t){return t?.topic}function E8(t,e){let r=null;return mt(t?.publicKey,!1)||(r=Z("MISSING_OR_INVALID",`${e} controller public key should be a string`)),r}function zl(t){let e=!0;return Xo(t)?t.length&&(e=t.every(r=>mt(r,!1))):e=!1,e}function S8(t,e,r){let i=null;return Xo(e)&&e.length?e.forEach(n=>{i||Qo(n)||(i=ct("UNSUPPORTED_CHAINS",`${r}, chain ${n} should be a string and conform to "namespace:chainId" format`))}):Qo(t)||(i=ct("UNSUPPORTED_CHAINS",`${r}, 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 M8(t,e,r){let i=null;return Object.entries(t).forEach(([n,s])=>{if(i)return;const o=S8(n,Nd(n,s),`${e} ${r}`);o&&(i=o)}),i}function I8(t,e){let r=null;return Xo(t)?t.forEach(i=>{r||m8(i)||(r=ct("UNSUPPORTED_ACCOUNTS",`${e}, account ${i} should be a string and conform to "namespace:chainId:address" format`))}):r=ct("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),r}function A8(t,e){let r=null;return Object.values(t).forEach(i=>{if(r)return;const n=I8(i?.accounts,`${e} namespace`);n&&(r=n)}),r}function D8(t,e){let r=null;return zl(t?.methods)?zl(t?.events)||(r=ct("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):r=ct("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),r}function kl(t,e){let r=null;return Object.values(t).forEach(i=>{if(r)return;const n=D8(i,`${e}, namespace`);n&&(r=n)}),r}function O8(t,e,r){let i=null;if(t&&Zo(t)){const n=kl(t,e);n&&(i=n);const s=M8(t,e,r);s&&(i=s)}else i=Z("MISSING_OR_INVALID",`${e}, ${r} should be an object with data`);return i}function ec(t,e){let r=null;if(t&&Zo(t)){const i=kl(t,e);i&&(r=i);const n=A8(t,e);n&&(r=n)}else r=Z("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return r}function jl(t){return mt(t.protocol,!0)}function P8(t,e){let r=!1;return e&&!t?r=!0:t&&Xo(t)&&t.length&&t.forEach(i=>{r=jl(i)}),r}function R8(t){return typeof t=="number"}function or(t){return typeof t<"u"&&typeof t!==null}function $8(t){return!(!t||typeof t!="object"||!t.code||!Qf(t.code,!1)||!t.message||!mt(t.message,!1))}function N8(t){return!(Qt(t)||!mt(t.method,!1))}function T8(t){return!(Qt(t)||Qt(t.result)&&Qt(t.error)||!Qf(t.id,!1)||!mt(t.jsonrpc,!1))}function F8(t){return!(Qt(t)||!mt(t.name,!1))}function Kl(t,e){return!(!Qo(e)||!d8(t).includes(e))}function C8(t,e,r){return mt(r,!1)?l8(t,e).includes(r):!1}function B8(t,e,r){return mt(r,!1)?p8(t,e).includes(r):!1}function Vl(t,e,r){let i=null;const n=L8(t),s=q8(e),o=Object.keys(n),a=Object.keys(s),c=Hl(Object.keys(t)),h=Hl(Object.keys(e)),l=c.filter(y=>!h.includes(y));return l.length&&(i=Z("NON_CONFORMING_NAMESPACES",`${r} namespaces keys don't satisfy requiredNamespaces.
|
25
25
|
Required: ${l.toString()}
|
26
|
-
Received: ${Object.keys(e).toString()}`)),
|
26
|
+
Received: ${Object.keys(e).toString()}`)),dn(o,a)||(i=Z("NON_CONFORMING_NAMESPACES",`${r} namespaces chains don't satisfy required namespaces.
|
27
27
|
Required: ${o.toString()}
|
28
|
-
Approved: ${a.toString()}`)),Object.keys(e).forEach(
|
29
|
-
Required: ${
|
30
|
-
Approved: ${
|
28
|
+
Approved: ${a.toString()}`)),Object.keys(e).forEach(y=>{if(!y.includes(":")||i)return;const M=es(e[y].accounts);M.includes(y)||(i=Z("NON_CONFORMING_NAMESPACES",`${r} namespaces accounts don't satisfy namespace accounts for ${y}
|
29
|
+
Required: ${y}
|
30
|
+
Approved: ${M.toString()}`))}),o.forEach(y=>{i||(dn(n[y].methods,s[y].methods)?dn(n[y].events,s[y].events)||(i=Z("NON_CONFORMING_NAMESPACES",`${r} namespaces events don't satisfy namespace events for ${y}`)):i=Z("NON_CONFORMING_NAMESPACES",`${r} namespaces methods don't satisfy namespace methods for ${y}`))}),i}function L8(t){const e={};return Object.keys(t).forEach(r=>{var i;r.includes(":")?e[r]=t[r]:(i=t[r].chains)==null||i.forEach(n=>{e[n]={methods:t[r].methods,events:t[r].events}})}),e}function Hl(t){return[...new Set(t.map(e=>e.includes(":")?e.split(":")[0]:e))]}function q8(t){const e={};return Object.keys(t).forEach(r=>{r.includes(":")?e[r]=t[r]:es(t[r].accounts)?.forEach(n=>{e[n]={accounts:t[r].accounts.filter(s=>s.includes(`${n}:`)),methods:t[r].methods,events:t[r].events}})}),e}function U8(t,e){return Qf(t,!1)&&t<=e.max&&t>=e.min}function Wl(){const t=Ms();return new Promise(e=>{switch(t){case gr.browser:e(z8());break;case gr.reactNative:e(k8());break;case gr.node:e(j8());break;default:e(!0)}})}function z8(){return Ss()&&navigator?.onLine}async function k8(){return ki()&&typeof global<"u"&&global!=null&&global.NetInfo?(await(global==null?void 0:global.NetInfo.fetch()))?.isConnected:!0}function j8(){return!0}function K8(t){switch(Ms()){case gr.browser:V8(t);break;case gr.reactNative:H8(t);break}}function V8(t){!ki()&&Ss()&&(window.addEventListener("online",()=>t(!0)),window.addEventListener("offline",()=>t(!1)))}function H8(t){ki()&&typeof global<"u"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(e=>t(e?.isConnected))}const tc={};class Cs{static get(e){return tc[e]}static set(e,r){tc[e]=r}static delete(e){delete tc[e]}}const W8="PARSE_ERROR",G8="INVALID_REQUEST",J8="METHOD_NOT_FOUND",Y8="INVALID_PARAMS",Gl="INTERNAL_ERROR",rc="SERVER_ERROR",X8=[-32700,-32600,-32601,-32602,-32603],Bs={[W8]:{code:-32700,message:"Parse error"},[G8]:{code:-32600,message:"Invalid Request"},[J8]:{code:-32601,message:"Method not found"},[Y8]:{code:-32602,message:"Invalid params"},[Gl]:{code:-32603,message:"Internal error"},[rc]:{code:-32e3,message:"Server error"}},Jl=rc;function Z8(t){return X8.includes(t)}function Yl(t){return Object.keys(Bs).includes(t)?Bs[t]:Bs[Jl]}function Q8(t){const e=Object.values(Bs).find(r=>r.code===t);return e||Bs[Jl]}function e5(t,e,r){return t.message.includes("getaddrinfo ENOTFOUND")||t.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${r} RPC url at ${e}`):t}var Xl={};/*! *****************************************************************************
|
31
31
|
Copyright (c) Microsoft Corporation.
|
32
32
|
|
33
33
|
Permission to use, copy, modify, and/or distribute this software for any
|
@@ -40,7 +40,5 @@ ${r.length}`,t=new TextEncoder().encode(e+r);return"0x"+Buffer.from(V4(t)).toStr
|
|
40
40
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
41
41
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
42
42
|
PERFORMANCE OF THIS SOFTWARE.
|
43
|
-
***************************************************************************** */var kc=function(r,e){return kc=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])},kc(r,e)};function c9(r,e){kc(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Bc=function(){return Bc=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},Bc.apply(this,arguments)};function u9(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 h9(r,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(s=(n<3?o(s):n>3?o(e,t,s):o(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s}function d9(r,e){return function(t,i){e(t,i,r)}}function l9(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function p9(r,e,t,i){function n(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(l){try{u(i.next(l))}catch(v){o(v)}}function c(l){try{u(i.throw(l))}catch(v){o(v)}}function u(l){l.done?s(l.value):n(l.value).then(a,c)}u((i=i.apply(r,e||[])).next())})}function b9(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(l){return c([u,l])}}function c(u){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,n&&(s=u[0]&2?n.return:u[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,u[1])).done)return s;switch(n=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,n=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){t.label=u[1];break}if(u[0]===6&&t.label<s[1]){t.label=s[1],s=u;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(u);break}s[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(r,t)}catch(l){u=[6,l],n=0}finally{i=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function g9(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}function v9(r,e){for(var t in r)t!=="default"&&!e.hasOwnProperty(t)&&(e[t]=r[t])}function Vc(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 L0(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}function m9(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(L0(arguments[e]));return r}function y9(){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 s=arguments[e],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i}function co(r){return this instanceof co?(this.v=r,this):new co(r)}function w9(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),n,s=[];return n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n;function o(A){i[A]&&(n[A]=function(M){return new Promise(function(I,N){s.push([A,M,I,N])>1||a(A,M)})})}function a(A,M){try{c(i[A](M))}catch(I){v(s[0][3],I)}}function c(A){A.value instanceof co?Promise.resolve(A.value.v).then(u,l):v(s[0][2],A)}function u(A){a("next",A)}function l(A){a("throw",A)}function v(A,M){A(M),s.shift(),s.length&&a(s[0][0],s[0][1])}}function x9(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,s){e[n]=r[n]?function(o){return(t=!t)?{value:co(r[n](o)),done:n==="return"}:s?s(o):o}:s}}function E9(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 Vc=="function"?Vc(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=r[s]&&function(o){return new Promise(function(a,c){o=r[s](o),n(a,c,o.done,o.value)})}}function n(s,o,a,c){Promise.resolve(c).then(function(u){s({value:u,done:a})},o)}}function S9(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function A9(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 I9(r){return r&&r.__esModule?r:{default:r}}function M9(r,e){if(!e.has(r))throw new TypeError("attempted to get private field on non-instance");return e.get(r)}function O9(r,e,t){if(!e.has(r))throw new TypeError("attempted to set private field on non-instance");return e.set(r,t),t}var N9=Object.freeze({__proto__:null,__extends:c9,get __assign(){return Bc},__rest:u9,__decorate:h9,__param:d9,__metadata:l9,__awaiter:p9,__generator:b9,__createBinding:g9,__exportStar:v9,__values:Vc,__read:L0,__spread:m9,__spreadArrays:y9,__await:co,__asyncGenerator:w9,__asyncDelegator:x9,__asyncValues:E9,__makeTemplateObject:S9,__importStar:A9,__importDefault:I9,__classPrivateFieldGet:M9,__classPrivateFieldSet:O9}),D9=Ya(N9),Vi={},k0;function R9(){if(k0)return Vi;k0=1,Object.defineProperty(Vi,"__esModule",{value:!0}),Vi.isBrowserCryptoAvailable=Vi.getSubtleCrypto=Vi.getBrowerCrypto=void 0;function r(){return Wt?.crypto||Wt?.msCrypto||{}}Vi.getBrowerCrypto=r;function e(){const i=r();return i.subtle||i.webkitSubtle}Vi.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return Vi.isBrowserCryptoAvailable=t,Vi}var Ki={},B0;function P9(){if(B0)return Ki;B0=1,Object.defineProperty(Ki,"__esModule",{value:!0}),Ki.isBrowser=Ki.isNode=Ki.isReactNative=void 0;function r(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}Ki.isReactNative=r;function e(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}Ki.isNode=e;function t(){return!r()&&!e()}return Ki.isBrowser=t,Ki}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=D9;e.__exportStar(R9(),r),e.__exportStar(P9(),r)})(z0);function ji(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function Fn(r=6){return BigInt(ji(r))}function qn(r,e,t){return{id:t||ji(),jsonrpc:"2.0",method:r,params:e}}function Kc(r,e){return{id:r,jsonrpc:"2.0",result:e}}function jc(r,e,t){return{id:r,jsonrpc:"2.0",error:T9(e,t)}}function T9(r,e){return typeof r>"u"?U0(q0):(typeof r=="string"&&(r=Object.assign(Object.assign({},U0(Lc)),{message:r})),typeof e<"u"&&(r.data=e),o9(r.code)&&(r=a9(r.code)),r)}class F9{}class q9 extends F9{constructor(){super()}}class C9 extends q9{constructor(e){super()}}const U9="^wss?:";function z9(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function L9(r,e){const t=z9(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function V0(r){return L9(r,U9)}function k9(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function K0(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function Wc(r){return K0(r)&&"method"in r}function Ra(r){return K0(r)&&(Ii(r)||Wr(r))}function Ii(r){return"result"in r}function Wr(r){return"error"in r}class B9 extends C9{constructor(e){super(e),this.events=new $t.exports.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(qn(e.method,e.params||[],e.id||Fn().toString()),t)}async requestStrict(e,t){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(s){n(s)}this.events.on(`${e.id}`,s=>{Wr(s)?n(s.error):i(s.result)});try{await this.connection.send(e,t)}catch(s){n(s)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Ra(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 V9=()=>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"),K9=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",j0=r=>r.split("?")[0],W0=10,j9=V9();class W9{constructor(e){if(this.url=e,this.events=new $t.exports.EventEmitter,this.registering=!1,!V0(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(yn(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!V0(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",s=>{this.resetMaxListeners(),n(s)}),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=z0.isReactNative()?void 0:{rejectUnauthorized:!k9(e)},s=new j9(e,[],n);K9()?s.onerror=o=>{const a=o;i(this.emitError(a.error))}:s.on("error",o=>{i(this.emitError(o))}),s.onopen=()=>{this.onOpen(s),t(s)}})}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"?Gn(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),n=i.message||i.toString(),s=jc(e,n);this.events.emit("payload",s)}parseError(e,t=this.url){return f9(e,j0(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>W0&&this.events.setMaxListeners(W0)}emitError(e){const t=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${j0(this.url)}`));return this.events.emit("register_error",t),t}}var Yc={exports:{}};(function(r,e){var t=200,i="__lodash_hash_undefined__",n=1,s=2,o=9007199254740991,a="[object Arguments]",c="[object Array]",u="[object AsyncFunction]",l="[object Boolean]",v="[object Date]",A="[object Error]",M="[object Function]",I="[object GeneratorFunction]",N="[object Map]",C="[object Number]",P="[object Null]",U="[object Object]",k="[object Promise]",W="[object Proxy]",T="[object RegExp]",J="[object Set]",_="[object String]",X="[object Symbol]",G="[object Undefined]",fe="[object WeakMap]",D="[object ArrayBuffer]",b="[object DataView]",p="[object Float32Array]",f="[object Float64Array]",h="[object Int8Array]",g="[object Int16Array]",x="[object Int32Array]",E="[object Uint8Array]",w="[object Uint8ClampedArray]",d="[object Uint16Array]",y="[object Uint32Array]",m=/[\\^$.*+?()[\]{}|]/g,O=/^\[object .+?Constructor\]$/,Y=/^(?:0|[1-9]\d*)$/,S={};S[p]=S[f]=S[h]=S[g]=S[x]=S[E]=S[w]=S[d]=S[y]=!0,S[a]=S[c]=S[D]=S[l]=S[b]=S[v]=S[A]=S[M]=S[N]=S[C]=S[U]=S[T]=S[J]=S[_]=S[fe]=!1;var z=typeof Wt=="object"&&Wt&&Wt.Object===Object&&Wt,K=typeof self=="object"&&self&&self.Object===Object&&self,q=z||K||Function("return this")(),F=e&&!e.nodeType&&e,V=F&&!0&&r&&!r.nodeType&&r,L=V&&V.exports===F,j=L&&z.process,ee=function(){try{return j&&j.binding&&j.binding("util")}catch{}}(),H=ee&&ee.isTypedArray;function Z(R,B){for(var $=-1,ue=R==null?0:R.length,yt=0,Ue=[];++$<ue;){var At=R[$];B(At,$,R)&&(Ue[yt++]=At)}return Ue}function he(R,B){for(var $=-1,ue=B.length,yt=R.length;++$<ue;)R[yt+$]=B[$];return R}function se(R,B){for(var $=-1,ue=R==null?0:R.length;++$<ue;)if(B(R[$],$,R))return!0;return!1}function Q(R,B){for(var $=-1,ue=Array(R);++$<R;)ue[$]=B($);return ue}function le(R){return function(B){return R(B)}}function Me(R,B){return R.has(B)}function de(R,B){return R?.[B]}function De(R){var B=-1,$=Array(R.size);return R.forEach(function(ue,yt){$[++B]=[yt,ue]}),$}function Ne(R,B){return function($){return R(B($))}}function ce(R){var B=-1,$=Array(R.size);return R.forEach(function(ue){$[++B]=ue}),$}var Oe=Array.prototype,Re=Function.prototype,te=Object.prototype,Xe=q["__core-js_shared__"],ke=Re.toString,oe=te.hasOwnProperty,et=function(){var R=/[^.]+$/.exec(Xe&&Xe.keys&&Xe.keys.IE_PROTO||"");return R?"Symbol(src)_1."+R:""}(),qe=te.toString,ge=RegExp("^"+ke.call(oe).replace(m,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Te=L?q.Buffer:void 0,Ke=q.Symbol,we=q.Uint8Array,Be=te.propertyIsEnumerable,Ge=Oe.splice,ve=Ke?Ke.toStringTag:void 0,tt=Object.getOwnPropertySymbols,st=Te?Te.isBuffer:void 0,xe=Ne(Object.keys,Object),Qe=Ms(q,"DataView"),je=Ms(q,"Map"),Ee=Ms(q,"Promise"),_e=Ms(q,"Set"),Je=Ms(q,"WeakMap"),ye=Ms(Object,"create"),ot=Kn(Qe),rt=Kn(je),Ae=Kn(Ee),it=Kn(_e),nt=Kn(Je),me=Ke?Ke.prototype:void 0,He=me?me.valueOf:void 0;function Ce(R){var B=-1,$=R==null?0:R.length;for(this.clear();++B<$;){var ue=R[B];this.set(ue[0],ue[1])}}function Ie(){this.__data__=ye?ye(null):{},this.size=0}function at(R){var B=this.has(R)&&delete this.__data__[R];return this.size-=B?1:0,B}function ft(R){var B=this.__data__;if(ye){var $=B[R];return $===i?void 0:$}return oe.call(B,R)?B[R]:void 0}function Se(R){var B=this.__data__;return ye?B[R]!==void 0:oe.call(B,R)}function Ze(R,B){var $=this.__data__;return this.size+=this.has(R)?0:1,$[R]=ye&&B===void 0?i:B,this}Ce.prototype.clear=Ie,Ce.prototype.delete=at,Ce.prototype.get=ft,Ce.prototype.has=Se,Ce.prototype.set=Ze;function Fe(R){var B=-1,$=R==null?0:R.length;for(this.clear();++B<$;){var ue=R[B];this.set(ue[0],ue[1])}}function $e(){this.__data__=[],this.size=0}function Vt(R){var B=this.__data__,$=Ba(B,R);if($<0)return!1;var ue=B.length-1;return $==ue?B.pop():Ge.call(B,$,1),--this.size,!0}function ut(R){var B=this.__data__,$=Ba(B,R);return $<0?void 0:B[$][1]}function dt(R){return Ba(this.__data__,R)>-1}function wt(R,B){var $=this.__data__,ue=Ba($,R);return ue<0?(++this.size,$.push([R,B])):$[ue][1]=B,this}Fe.prototype.clear=$e,Fe.prototype.delete=Vt,Fe.prototype.get=ut,Fe.prototype.has=dt,Fe.prototype.set=wt;function mt(R){var B=-1,$=R==null?0:R.length;for(this.clear();++B<$;){var ue=R[B];this.set(ue[0],ue[1])}}function nr(){this.size=0,this.__data__={hash:new Ce,map:new(je||Fe),string:new Ce}}function dr(R){var B=Va(this,R).delete(R);return this.size-=B?1:0,B}function Tr(R){return Va(this,R).get(R)}function Jr(R){return Va(this,R).has(R)}function lr(R,B){var $=Va(this,R),ue=$.size;return $.set(R,B),this.size+=$.size==ue?0:1,this}mt.prototype.clear=nr,mt.prototype.delete=dr,mt.prototype.get=Tr,mt.prototype.has=Jr,mt.prototype.set=lr;function pr(R){var B=-1,$=R==null?0:R.length;for(this.__data__=new mt;++B<$;)this.add(R[B])}function Hr(R){return this.__data__.set(R,i),this}function ci(R){return this.__data__.has(R)}pr.prototype.add=pr.prototype.push=Hr,pr.prototype.has=ci;function Kt(R){var B=this.__data__=new Fe(R);this.size=B.size}function Zr(){this.__data__=new Fe,this.size=0}function Fr(R){var B=this.__data__,$=B.delete(R);return this.size=B.size,$}function Ar(R){return this.__data__.get(R)}function Ao(R){return this.__data__.has(R)}function Io(R,B){var $=this.__data__;if($ instanceof Fe){var ue=$.__data__;if(!je||ue.length<t-1)return ue.push([R,B]),this.size=++$.size,this;$=this.__data__=new mt(ue)}return $.set(R,B),this.size=$.size,this}Kt.prototype.clear=Zr,Kt.prototype.delete=Fr,Kt.prototype.get=Ar,Kt.prototype.has=Ao,Kt.prototype.set=Io;function HS(R,B){var $=Ka(R),ue=!$&&uA(R),yt=!$&&!ue&&fu(R),Ue=!$&&!ue&&!yt&&w1(R),At=$||ue||yt||Ue,jt=At?Q(R.length,String):[],_t=jt.length;for(var xt in R)(B||oe.call(R,xt))&&!(At&&(xt=="length"||yt&&(xt=="offset"||xt=="parent")||Ue&&(xt=="buffer"||xt=="byteLength"||xt=="byteOffset")||sA(xt,_t)))&&jt.push(xt);return jt}function Ba(R,B){for(var $=R.length;$--;)if(g1(R[$][0],B))return $;return-1}function ZS(R,B,$){var ue=B(R);return Ka(R)?ue:he(ue,$(R))}function Mo(R){return R==null?R===void 0?G:P:ve&&ve in Object(R)?iA(R):cA(R)}function d1(R){return Oo(R)&&Mo(R)==a}function l1(R,B,$,ue,yt){return R===B?!0:R==null||B==null||!Oo(R)&&!Oo(B)?R!==R&&B!==B:QS(R,B,$,ue,l1,yt)}function QS(R,B,$,ue,yt,Ue){var At=Ka(R),jt=Ka(B),_t=At?c:ln(R),xt=jt?c:ln(B);_t=_t==a?U:_t,xt=xt==a?U:xt;var qr=_t==U,ui=xt==U,sr=_t==xt;if(sr&&fu(R)){if(!fu(B))return!1;At=!0,qr=!1}if(sr&&!qr)return Ue||(Ue=new Kt),At||w1(R)?p1(R,B,$,ue,yt,Ue):tA(R,B,_t,$,ue,yt,Ue);if(!($&n)){var Qr=qr&&oe.call(R,"__wrapped__"),_r=ui&&oe.call(B,"__wrapped__");if(Qr||_r){var pn=Qr?R.value():R,Gi=_r?B.value():B;return Ue||(Ue=new Kt),yt(pn,Gi,$,ue,Ue)}}return sr?(Ue||(Ue=new Kt),rA(R,B,$,ue,yt,Ue)):!1}function _S(R){if(!y1(R)||aA(R))return!1;var B=v1(R)?ge:O;return B.test(Kn(R))}function $S(R){return Oo(R)&&m1(R.length)&&!!S[Mo(R)]}function eA(R){if(!fA(R))return xe(R);var B=[];for(var $ in Object(R))oe.call(R,$)&&$!="constructor"&&B.push($);return B}function p1(R,B,$,ue,yt,Ue){var At=$&n,jt=R.length,_t=B.length;if(jt!=_t&&!(At&&_t>jt))return!1;var xt=Ue.get(R);if(xt&&Ue.get(B))return xt==B;var qr=-1,ui=!0,sr=$&s?new pr:void 0;for(Ue.set(R,B),Ue.set(B,R);++qr<jt;){var Qr=R[qr],_r=B[qr];if(ue)var pn=At?ue(_r,Qr,qr,B,R,Ue):ue(Qr,_r,qr,R,B,Ue);if(pn!==void 0){if(pn)continue;ui=!1;break}if(sr){if(!se(B,function(Gi,jn){if(!Me(sr,jn)&&(Qr===Gi||yt(Qr,Gi,$,ue,Ue)))return sr.push(jn)})){ui=!1;break}}else if(!(Qr===_r||yt(Qr,_r,$,ue,Ue))){ui=!1;break}}return Ue.delete(R),Ue.delete(B),ui}function tA(R,B,$,ue,yt,Ue,At){switch($){case b:if(R.byteLength!=B.byteLength||R.byteOffset!=B.byteOffset)return!1;R=R.buffer,B=B.buffer;case D:return!(R.byteLength!=B.byteLength||!Ue(new we(R),new we(B)));case l:case v:case C:return g1(+R,+B);case A:return R.name==B.name&&R.message==B.message;case T:case _:return R==B+"";case N:var jt=De;case J:var _t=ue&n;if(jt||(jt=ce),R.size!=B.size&&!_t)return!1;var xt=At.get(R);if(xt)return xt==B;ue|=s,At.set(R,B);var qr=p1(jt(R),jt(B),ue,yt,Ue,At);return At.delete(R),qr;case X:if(He)return He.call(R)==He.call(B)}return!1}function rA(R,B,$,ue,yt,Ue){var At=$&n,jt=b1(R),_t=jt.length,xt=b1(B),qr=xt.length;if(_t!=qr&&!At)return!1;for(var ui=_t;ui--;){var sr=jt[ui];if(!(At?sr in B:oe.call(B,sr)))return!1}var Qr=Ue.get(R);if(Qr&&Ue.get(B))return Qr==B;var _r=!0;Ue.set(R,B),Ue.set(B,R);for(var pn=At;++ui<_t;){sr=jt[ui];var Gi=R[sr],jn=B[sr];if(ue)var x1=At?ue(jn,Gi,sr,B,R,Ue):ue(Gi,jn,sr,R,B,Ue);if(!(x1===void 0?Gi===jn||yt(Gi,jn,$,ue,Ue):x1)){_r=!1;break}pn||(pn=sr=="constructor")}if(_r&&!pn){var ja=R.constructor,Wa=B.constructor;ja!=Wa&&"constructor"in R&&"constructor"in B&&!(typeof ja=="function"&&ja instanceof ja&&typeof Wa=="function"&&Wa instanceof Wa)&&(_r=!1)}return Ue.delete(R),Ue.delete(B),_r}function b1(R){return ZS(R,lA,nA)}function Va(R,B){var $=R.__data__;return oA(B)?$[typeof B=="string"?"string":"hash"]:$.map}function Ms(R,B){var $=de(R,B);return _S($)?$:void 0}function iA(R){var B=oe.call(R,ve),$=R[ve];try{R[ve]=void 0;var ue=!0}catch{}var yt=qe.call(R);return ue&&(B?R[ve]=$:delete R[ve]),yt}var nA=tt?function(R){return R==null?[]:(R=Object(R),Z(tt(R),function(B){return Be.call(R,B)}))}:pA,ln=Mo;(Qe&&ln(new Qe(new ArrayBuffer(1)))!=b||je&&ln(new je)!=N||Ee&&ln(Ee.resolve())!=k||_e&&ln(new _e)!=J||Je&&ln(new Je)!=fe)&&(ln=function(R){var B=Mo(R),$=B==U?R.constructor:void 0,ue=$?Kn($):"";if(ue)switch(ue){case ot:return b;case rt:return N;case Ae:return k;case it:return J;case nt:return fe}return B});function sA(R,B){return B=B??o,!!B&&(typeof R=="number"||Y.test(R))&&R>-1&&R%1==0&&R<B}function oA(R){var B=typeof R;return B=="string"||B=="number"||B=="symbol"||B=="boolean"?R!=="__proto__":R===null}function aA(R){return!!et&&et in R}function fA(R){var B=R&&R.constructor,$=typeof B=="function"&&B.prototype||te;return R===$}function cA(R){return qe.call(R)}function Kn(R){if(R!=null){try{return ke.call(R)}catch{}try{return R+""}catch{}}return""}function g1(R,B){return R===B||R!==R&&B!==B}var uA=d1(function(){return arguments}())?d1:function(R){return Oo(R)&&oe.call(R,"callee")&&!Be.call(R,"callee")},Ka=Array.isArray;function hA(R){return R!=null&&m1(R.length)&&!v1(R)}var fu=st||bA;function dA(R,B){return l1(R,B)}function v1(R){if(!y1(R))return!1;var B=Mo(R);return B==M||B==I||B==u||B==W}function m1(R){return typeof R=="number"&&R>-1&&R%1==0&&R<=o}function y1(R){var B=typeof R;return R!=null&&(B=="object"||B=="function")}function Oo(R){return R!=null&&typeof R=="object"}var w1=H?le(H):$S;function lA(R){return hA(R)?HS(R):eA(R)}function pA(){return[]}function bA(){return!1}r.exports=dA})(Yc,Yc.exports);var Y9=Yc.exports;const Y0="wc",X0=2,Pa="core",Mi=`${Y0}@2:${Pa}:`,X9={name:Pa,logger:"error"},G9={database:":memory:"},J9="crypto",G0="client_ed25519_seed",H9=re.ONE_DAY,Z9="keychain",Q9="0.3",_9="messages",$9="0.3",J0=re.SIX_HOURS,e7="publisher",H0="irn",t7="error",Z0="wss://relay.walletconnect.org",r7="relayer",kt={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"},i7="_subscription",Yr={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},n7=.1,Xc="2.18.0-canary-tvf-1",gt={link_mode:"link_mode",relay:"relay"},s7="0.3",o7="WALLETCONNECT_CLIENT_ID",Q0="WALLETCONNECT_LINK_MODE_APPS",Rr={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},a7="subscription",f7="0.3",c7=re.FIVE_SECONDS*1e3,u7="pairing",h7="0.3",uo={wc_pairingDelete:{req:{ttl:re.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:re.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:re.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:re.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:re.ONE_DAY,prompt:!1,tag:0},res:{ttl:re.ONE_DAY,prompt:!1,tag:0}}},Cn={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},oi={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},d7="history",l7="0.3",p7="expirer",Xr={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},b7="0.3",g7="verify-api",v7="https://verify.walletconnect.com",_0="https://verify.walletconnect.org",ho=_0,m7=`${ho}/v3`,y7=[v7,_0],w7="echo",x7="https://echo.walletconnect.com",Oi={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"},Wi={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"},ai={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"},Un={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"},zn={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"},lo={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"},E7=.1,S7="event-client",A7=86400,I7="https://pulse.walletconnect.org/batch";function M7(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 s=r.charAt(n),o=s.charCodeAt(0);if(t[o]!==255)throw new TypeError(s+" is ambiguous");t[o]=n}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function v(I){if(I instanceof Uint8Array||(ArrayBuffer.isView(I)?I=new Uint8Array(I.buffer,I.byteOffset,I.byteLength):Array.isArray(I)&&(I=Uint8Array.from(I))),!(I instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(I.length===0)return"";for(var N=0,C=0,P=0,U=I.length;P!==U&&I[P]===0;)P++,N++;for(var k=(U-P)*l+1>>>0,W=new Uint8Array(k);P!==U;){for(var T=I[P],J=0,_=k-1;(T!==0||J<C)&&_!==-1;_--,J++)T+=256*W[_]>>>0,W[_]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");C=J,P++}for(var X=k-C;X!==k&&W[X]===0;)X++;for(var G=c.repeat(N);X<k;++X)G+=r.charAt(W[X]);return G}function A(I){if(typeof I!="string")throw new TypeError("Expected String");if(I.length===0)return new Uint8Array;var N=0;if(I[N]!==" "){for(var C=0,P=0;I[N]===c;)C++,N++;for(var U=(I.length-N)*u+1>>>0,k=new Uint8Array(U);I[N];){var W=t[I.charCodeAt(N)];if(W===255)return;for(var T=0,J=U-1;(W!==0||T<P)&&J!==-1;J--,T++)W+=a*k[J]>>>0,k[J]=W%256>>>0,W=W/256>>>0;if(W!==0)throw new Error("Non-zero carry");P=T,N++}if(I[N]!==" "){for(var _=U-P;_!==U&&k[_]===0;)_++;for(var X=new Uint8Array(C+(U-_)),G=C;_!==U;)X[G++]=k[_++];return X}}}function M(I){var N=A(I);if(N)return N;throw new Error(`Non-${e} character`)}return{encode:v,decodeUnsafe:A,decode:M}}var O7=M7,N7=O7;const $0=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")},D7=r=>new TextEncoder().encode(r),R7=r=>new TextDecoder().decode(r);class P7{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 T7{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 ep(this,e)}}class F7{constructor(e){this.decoders=e}or(e){return ep(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 ep=(r,e)=>new F7({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class q7{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new P7(e,t,i),this.decoder=new T7(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Ta=({name:r,prefix:e,encode:t,decode:i})=>new q7(r,e,t,i),po=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=N7(t,e);return Ta({prefix:r,name:e,encode:i,decode:s=>$0(n(s))})},C7=(r,e,t,i)=>{const n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let s=r.length;for(;r[s-1]==="=";)--s;const o=new Uint8Array(s*t/8|0);let a=0,c=0,u=0;for(let l=0;l<s;++l){const v=n[r[l]];if(v===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|v,a+=t,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},U7=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<<t)-1;let s="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,s+=e[n&a>>o];if(o&&(s+=e[n&a<<t-o]),i)for(;s.length*t&7;)s+="=";return s},Qt=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Ta({prefix:e,name:r,encode(n){return U7(n,i,t)},decode(n){return C7(n,i,t,r)}}),z7=Ta({prefix:"\0",name:"identity",encode:r=>R7(r),decode:r=>D7(r)});var L7=Object.freeze({__proto__:null,identity:z7});const k7=Qt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var B7=Object.freeze({__proto__:null,base2:k7});const V7=Qt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var K7=Object.freeze({__proto__:null,base8:V7});const j7=po({prefix:"9",name:"base10",alphabet:"0123456789"});var W7=Object.freeze({__proto__:null,base10:j7});const Y7=Qt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),X7=Qt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var G7=Object.freeze({__proto__:null,base16:Y7,base16upper:X7});const J7=Qt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),H7=Qt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Z7=Qt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Q7=Qt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),_7=Qt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),$7=Qt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ex=Qt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),tx=Qt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),rx=Qt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ix=Object.freeze({__proto__:null,base32:J7,base32upper:H7,base32pad:Z7,base32padupper:Q7,base32hex:_7,base32hexupper:$7,base32hexpad:ex,base32hexpadupper:tx,base32z:rx});const nx=po({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),sx=po({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ox=Object.freeze({__proto__:null,base36:nx,base36upper:sx});const ax=po({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),fx=po({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var cx=Object.freeze({__proto__:null,base58btc:ax,base58flickr:fx});const ux=Qt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),hx=Qt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),dx=Qt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),lx=Qt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var px=Object.freeze({__proto__:null,base64:ux,base64pad:hx,base64url:dx,base64urlpad:lx});const tp=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),bx=tp.reduce((r,e,t)=>(r[t]=e,r),[]),gx=tp.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function vx(r){return r.reduce((e,t)=>(e+=bx[t],e),"")}function mx(r){const e=[];for(const t of r){const i=gx[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const yx=Ta({prefix:"\u{1F680}",name:"base256emoji",encode:vx,decode:mx});var wx=Object.freeze({__proto__:null,base256emoji:yx}),xx=ip,rp=128,Ex=127,Sx=~Ex,Ax=Math.pow(2,31);function ip(r,e,t){e=e||[],t=t||0;for(var i=t;r>=Ax;)e[t++]=r&255|rp,r/=128;for(;r&Sx;)e[t++]=r&255|rp,r>>>=7;return e[t]=r|0,ip.bytes=t-i+1,e}var Ix=Gc,Mx=128,np=127;function Gc(r,i){var t=0,i=i||0,n=0,s=i,o,a=r.length;do{if(s>=a)throw Gc.bytes=0,new RangeError("Could not decode varint");o=r[s++],t+=n<28?(o&np)<<n:(o&np)*Math.pow(2,n),n+=7}while(o>=Mx);return Gc.bytes=s-i,t}var Ox=Math.pow(2,7),Nx=Math.pow(2,14),Dx=Math.pow(2,21),Rx=Math.pow(2,28),Px=Math.pow(2,35),Tx=Math.pow(2,42),Fx=Math.pow(2,49),qx=Math.pow(2,56),Cx=Math.pow(2,63),Ux=function(r){return r<Ox?1:r<Nx?2:r<Dx?3:r<Rx?4:r<Px?5:r<Tx?6:r<Fx?7:r<qx?8:r<Cx?9:10},zx={encode:xx,decode:Ix,encodingLength:Ux},sp=zx;const op=(r,e,t=0)=>(sp.encode(r,e,t),e),ap=r=>sp.encodingLength(r),Jc=(r,e)=>{const t=e.byteLength,i=ap(r),n=i+ap(t),s=new Uint8Array(n+t);return op(r,s,0),op(t,s,i),s.set(e,n),new Lx(r,t,e,s)};class Lx{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const fp=({name:r,code:e,encode:t})=>new kx(r,e,t);class kx{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?Jc(this.code,t):t.then(i=>Jc(this.code,i))}else throw Error("Unknown type, must be binary type")}}const cp=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Bx=fp({name:"sha2-256",code:18,encode:cp("SHA-256")}),Vx=fp({name:"sha2-512",code:19,encode:cp("SHA-512")});var Kx=Object.freeze({__proto__:null,sha256:Bx,sha512:Vx});const up=0,jx="identity",hp=$0;var Wx=Object.freeze({__proto__:null,identity:{code:up,name:jx,encode:hp,digest:r=>Jc(up,hp(r))}});new TextEncoder,new TextDecoder;const dp={...L7,...B7,...K7,...W7,...G7,...ix,...ox,...cx,...px,...wx};({...Kx,...Wx});function Yx(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function lp(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const pp=lp("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Hc=lp("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=Yx(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Xx={utf8:pp,"utf-8":pp,hex:dp.base16,latin1:Hc,ascii:Hc,binary:Hc,...dp};function Gx(r,e="utf8"){const t=Xx[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}`)}class Jx{constructor(e,t){this.core=e,this.logger=t,this.keychain=new Map,this.name=Z9,this.version=Q9,this.initialized=!1,this.storagePrefix=Mi,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:s}=ne("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(s)}return n},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=or(t,this.name)}get context(){return gr(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Sl(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Al(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=ne("NOT_INITIALIZED",this.name);throw new Error(e)}}}class Hx{constructor(e,t,i){this.core=e,this.logger=t,this.name=J9,this.randomSessionIdentifier=qc(),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(),s=Lh(n);return zh(s.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const n=s5();return this.setPrivateKey(n.publicKey,n.privateKey)},this.signJWT=async n=>{this.isInitialized();const s=await this.getClientSeed(),o=Lh(s),a=this.randomSessionIdentifier;return await pm(a,n,H9,o)},this.generateSharedKey=(n,s,o)=>{this.isInitialized();const a=this.getPrivateKey(n),c=o5(a,s);return this.setSymKey(c,o)},this.setSymKey=async(n,s)=>{this.isInitialized();const o=s||Ia(n);return await this.keychain.set(o,n),o},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,s,o)=>{this.isInitialized();const a=x0(o),c=yn(s);if(S0(a))return c5(c,o?.encoding);if(E0(a)){const A=a.senderPublicKey,M=a.receiverPublicKey;n=await this.generateSharedKey(A,M)}const u=this.getSymKey(n),{type:l,senderPublicKey:v}=a;return a5({type:l,symKey:u,message:c,senderPublicKey:v,encoding:o?.encoding})},this.decode=async(n,s,o)=>{this.isInitialized();const a=h5(s,o);if(S0(a)){const c=u5(s,o?.encoding);return Gn(c)}if(E0(a)){const c=a.receiverPublicKey,u=a.senderPublicKey;n=await this.generateSharedKey(c,u)}try{const c=this.getSymKey(n),u=f5({symKey:c,encoded:s,encoding:o?.encoding});return Gn(u)}catch(c){this.logger.error(`Failed to decode message from topic: '${n}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}},this.getPayloadType=(n,s=un)=>{const o=no({encoded:n,encoding:s});return Tn(o.type)},this.getPayloadSenderPublicKey=(n,s=un)=>{const o=no({encoded:n,encoding:s});return o.senderPublicKey?cr(o.senderPublicKey,ir):void 0},this.core=e,this.logger=or(t,this.name),this.keychain=i||new Jx(this.core,this.logger)}get context(){return gr(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(G0)}catch{e=qc(),await this.keychain.set(G0,e)}return Gx(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=ne("NOT_INITIALIZED",this.name);throw new Error(e)}}}class Zx extends bg{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=_9,this.version=$9,this.initialized=!1,this.storagePrefix=Mi,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 s=Bi(n);let o=this.messages.get(i);return typeof o>"u"&&(o={}),typeof o[s]<"u"||(o[s]=n,this.messages.set(i,o),await this.persist()),s},this.get=i=>{this.isInitialized();let n=this.messages.get(i);return typeof n>"u"&&(n={}),n},this.has=(i,n)=>{this.isInitialized();const s=this.get(i),o=Bi(n);return typeof s[o]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=or(e,this.name),this.core=t}get context(){return gr(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Sl(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Al(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=ne("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Qx=Object.defineProperty,_x=Object.defineProperties,$x=Object.getOwnPropertyDescriptors,bp=Object.getOwnPropertySymbols,eE=Object.prototype.hasOwnProperty,tE=Object.prototype.propertyIsEnumerable,gp=(r,e,t)=>e in r?Qx(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Fa=(r,e)=>{for(var t in e||(e={}))eE.call(e,t)&&gp(r,t,e[t]);if(bp)for(var t of bp(e))tE.call(e,t)&&gp(r,t,e[t]);return r},vp=(r,e)=>_x(r,$x(e));class rE extends gg{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new $t.exports.EventEmitter,this.name=e7,this.queue=new Map,this.publishTimeout=re.toMiliseconds(re.ONE_MINUTE),this.initialPublishTimeout=re.toMiliseconds(re.ONE_SECOND*15),this.needsTransportRestart=!1,this.publish=async(i,n,s)=>{var o,a;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:s}});const c=s?.ttl||J0,u=Ma(s),l=s?.prompt||!1,v=s?.tag||0,A=s?.id||Fn().toString(),M={topic:i,message:n,opts:Fa({ttl:c,relay:u,prompt:l,tag:v,id:A,attestation:s?.attestation},(o=s?.internal)==null?void 0:o.tvf)},I=`Failed to publish payload, please try again. id:${A} tag:${v}`;try{const N=new Promise(async C=>{const P=({id:k})=>{M.opts.id===k&&(this.removeRequestFromQueue(k),this.relayer.events.removeListener(kt.publish,P),C(M))};this.relayer.events.on(kt.publish,P);const U=sn(new Promise((k,W)=>{var T;this.rpcPublish({topic:i,message:n,ttl:c,prompt:l,tag:v,id:A,attestation:s?.attestation,tvf:(T=s?.internal)==null?void 0:T.tvf}).then(k).catch(J=>{this.logger.warn(J,J?.message),W(J)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${A} tag:${v}`);try{await U,this.events.removeListener(kt.publish,P)}catch(k){this.queue.set(A,vp(Fa({},M),{attempt:1})),this.logger.warn(k,k?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:A,topic:i,message:n,opts:s}}),await sn(N,this.publishTimeout,I)}catch(N){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(N),(a=s?.internal)!=null&&a.throwOnFailedPublish)throw N}finally{this.queue.delete(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.relayer=e,this.logger=or(t,this.name),this.registerEventListeners()}get context(){return gr(this.logger)}async rpcPublish(e){var t,i,n,s;const{topic:o,message:a,ttl:c=J0,prompt:u,tag:l,id:v,attestation:A,tvf:M}=e,I={method:so(Ma().protocol).publish,params:Fa({topic:o,message:a,ttl:c,prompt:u,tag:l,attestation:A},M),id:v};ur((t=I.params)==null?void 0:t.prompt)&&((i=I.params)==null||delete i.prompt),ur((n=I.params)==null?void 0:n.tag)&&((s=I.params)==null||delete s.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:I});const N=await this.relayer.request(I);return this.relayer.events.emit(kt.publish,e),this.logger.debug("Successfully Published Payload"),N}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{const i=e.attempt+1;this.queue.set(t,vp(Fa({},e),{attempt:i}));const{topic:n,message:s,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish({topic:n,message:s,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a}),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(Xn.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(kt.connection_stalled);return}this.checkQueue()}),this.relayer.on(kt.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class iE{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(s=>s!==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 nE=Object.defineProperty,sE=Object.defineProperties,oE=Object.getOwnPropertyDescriptors,mp=Object.getOwnPropertySymbols,aE=Object.prototype.hasOwnProperty,fE=Object.prototype.propertyIsEnumerable,yp=(r,e,t)=>e in r?nE(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,bo=(r,e)=>{for(var t in e||(e={}))aE.call(e,t)&&yp(r,t,e[t]);if(mp)for(var t of mp(e))fE.call(e,t)&&yp(r,t,e[t]);return r},Zc=(r,e)=>sE(r,oE(e));class cE extends yg{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new iE,this.events=new $t.exports.EventEmitter,this.name=a7,this.version=f7,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=Mi,this.subscribeTimeout=re.toMiliseconds(re.ONE_MINUTE),this.initialSubscribeTimeout=re.toMiliseconds(re.ONE_SECOND*15),this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0},this.subscribe=async(i,n)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}});try{const s=Ma(n),o={topic:i,relay:s,transportType:n?.transportType};this.pending.set(i,o);const a=await this.rpcSubscribe(i,s,n);return typeof a=="string"&&(this.onSubscribe(a,o),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}})),a}catch(s){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(s),s}},this.unsubscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),typeof 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((s,o)=>{const a=new re.Watch;a.start(n);const c=setInterval(()=>{(!this.pending.has(i)&&this.topics.includes(i)||this.cached.some(u=>u.topic===i))&&(clearInterval(c),a.stop(n),s(!0)),a.elapsed(n)>=c7&&(clearInterval(c),a.stop(n),o(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()=>{await this.restore(),await this.onRestart()},this.checkPending=async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(n=>{i.push(n)}),await this.batchSubscribe(i)},this.registerEventListeners=()=>{this.relayer.core.heartbeat.on(Xn.pulse,async()=>{await this.checkPending()}),this.events.on(Rr.created,async i=>{const n=Rr.created;this.logger.info(`Emitting ${n}`),this.logger.debug({type:"event",event:n,data:i}),await this.persist()}),this.events.on(Rr.deleted,async i=>{const n=Rr.deleted;this.logger.info(`Emitting ${n}`),this.logger.debug({type:"event",event:n,data:i}),await this.persist()})},this.relayer=e,this.logger=or(t,this.name),this.clientId=""}get context(){return gr(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}reset(){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=Ma(i);await this.rpcUnsubscribe(e,t,n);const s=bt("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,s),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,i){var n;i?.transportType===gt.relay&&await this.restartToComplete();const s={method:so(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});const o=(n=i?.internal)==null?void 0:n.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(i?.transportType===gt.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(s).catch(l=>this.logger.warn(l))},re.toMiliseconds(re.ONE_SECOND)),a;const c=new Promise(async l=>{const v=A=>{A.topic===e&&(this.events.removeListener(Rr.created,v),l(A.id))};this.events.on(Rr.created,v);try{const A=await sn(new Promise((M,I)=>{this.relayer.request(s).catch(N=>{this.logger.warn(N,N?.message),I(N)}).then(M)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(Rr.created,v),l(A)}catch{}}),u=await sn(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!u&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return u?a:null}catch(a){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(kt.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:so(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{await await sn(new Promise(n=>{this.relayer.request(i).catch(s=>this.logger.warn(s)).then(n)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(kt.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:so(t.protocol).batchFetchMessages,params:{topics:e.map(s=>s.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});let n;try{n=await await sn(new Promise((s,o)=>{this.relayer.request(i).catch(a=>{this.logger.warn(a),o(a)}).then(s)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(kt.connection_stalled)}return n}rpcUnsubscribe(e,t,i){const n={method:so(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,Zc(bo({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,bo({},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,bo({},t)),this.topicMap.set(t.topic,e),this.events.emit(Rr.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}=ne("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(Rr.deleted,Zc(bo({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(Rr.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){const n=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(n)}}this.events.emit(Rr.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=ne("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){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async t=>Zc(bo({},t),{id:await this.getSubscriptionId(t.topic)})))))}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&&(await x4(re.toMiliseconds(re.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=ne("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){!this.relayer.connected&&!this.relayer.connecting&&await this.relayer.transportOpen()}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return Bi(e+await this.getClientId())}}var uE=Object.defineProperty,wp=Object.getOwnPropertySymbols,hE=Object.prototype.hasOwnProperty,dE=Object.prototype.propertyIsEnumerable,xp=(r,e,t)=>e in r?uE(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ep=(r,e)=>{for(var t in e||(e={}))hE.call(e,t)&&xp(r,t,e[t]);if(wp)for(var t of wp(e))dE.call(e,t)&&xp(r,t,e[t]);return r};class lE extends vg{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new $t.exports.EventEmitter,this.name=r7,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1,this.heartBeatTimeout=re.toMiliseconds(re.THIRTY_SECONDS+re.FIVE_SECONDS),this.requestsInFlight=[],this.connectTimeout=re.toMiliseconds(re.ONE_SECOND*15),this.request=async t=>{var i,n;this.logger.debug("Publishing Request Payload");const s=t.id||Fn().toString();await this.toEstablishConnection();try{this.logger.trace({id:s,method:t.method,topic:(i=t.params)==null?void 0:i.topic},"relayer.request - publishing...");const o=`${s}:${((n=t.params)==null?void 0:n.tag)||""}`;this.requestsInFlight.push(o);const a=await this.provider.request(t);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${s}`),o}},this.resetPingTimeout=()=>{if(va())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,n;this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(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,t?.message)}},this.onPayloadHandler=t=>{this.onProviderPayload(t),this.resetPingTimeout()},this.onConnectHandler=()=>{this.logger.warn({},"Relayer connected \u{1F6DC}"),this.startPingTimeout(),this.events.emit(kt.connect)},this.onDisconnectHandler=()=>{this.logger.warn({},"Relayer disconnected \u{1F6D1}"),this.requestsInFlight=[],this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.fatal(t,`Fatal socket error: ${t?.message}`),this.events.emit(kt.error,t),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(Yr.payload,this.onPayloadHandler),this.provider.on(Yr.connect,this.onConnectHandler),this.provider.on(Yr.disconnect,this.onDisconnectHandler),this.provider.on(Yr.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?or(e.logger,this.name):Ri(cf({level:e.logger||t7})),this.messages=new Zx(this.logger,e.core),this.subscriber=new cE(this,this.logger),this.publisher=new rE(this,this.logger),this.relayUrl=e?.relayUrl||Z0,this.projectId=e.projectId,s4()?this.packageName=wl():o4()&&(this.bundleId=wl()),this.provider={}}async init(){if(this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.cached.length>0)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return gr(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(),transportType:gt.relay})}async subscribe(e,t){var i,n,s;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType==="relay")&&await this.toEstablishConnection();const o=typeof((i=t?.internal)==null?void 0:i.throwOnFailedPublish)>"u"?!0:(n=t?.internal)==null?void 0:n.throwOnFailedPublish;let a=((s=this.subscriber.topicMap.get(e))==null?void 0:s[0])||"",c;const u=l=>{l.topic===e&&(this.subscriber.off(Rr.created,u),c())};return await Promise.all([new Promise(l=>{c=l,this.subscriber.on(Rr.created,u)}),new Promise(async(l,v)=>{a=await this.subscriber.subscribe(e,Ep({internal:{throwOnFailedPublish:o}},t)).catch(A=>{o&&v(A)})||a,l()})]),a}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await sn(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(t,i)=>{await this.connect(e).then(t).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await F0())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const t=e.sort((i,n)=>i.publishedAt-n.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(n){this.logger.warn(n,"Error while processing batch message event: "+n?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:i}=e;if(!t.sessionExists){const n=Pt(re.FIVE_MINUTES),s={topic:i,expiry:n,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(i,s)}this.events.emit(kt.message,e),await this.recordMessageEvent(e)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(i,n)=>{const s=()=>{n(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Yr.disconnect,s),await sn(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{n(o)}).finally(()=>{this.provider.off(Yr.disconnect,s),clearTimeout(this.reconnectTimeout),this.reconnectTimeout=void 0}),await new Promise(async(o,a)=>{const c=()=>{a(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Yr.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(Yr.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const n=i;this.logger.warn({},n.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(i=>setTimeout(i,re.toMiliseconds(t*1))),t++}}startPingTimeout(){var e,t,i,n,s;if(va())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((s=(n=(i=this.provider)==null?void 0:i.connection)==null?void 0:n.socket)==null||s.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new B9(new W9(u4({sdkVersion:Xc,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e){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.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.warn(`Ignoring message for non-subscribed topic ${t}`),!0;const n=this.messages.has(t,i);return n&&this.logger.warn(`Ignoring duplicate message: ${i}`),n}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),Wc(e)){if(!e.method.endsWith(i7))return;const t=e.params,{topic:i,message:n,publishedAt:s,attestation:o}=t.data,a={topic:i,message:n,publishedAt:s,transportType:gt.relay,attestation:o};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(Ep({type:"event",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else Ra(e)&&this.events.emit(kt.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(kt.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=Kc(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(Yr.payload,this.onPayloadHandler),this.provider.off(Yr.connect,this.onConnectHandler),this.provider.off(Yr.disconnect,this.onDisconnectHandler),this.provider.off(Yr.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await F0();_5(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(i=>this.logger.error(i,i?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){await this.subscriber.stop(),clearTimeout(this.pingTimeout),this.events.emit(kt.disconnect),this.connectionAttemptInProgress=!1,!this.transportExplicitlyClosed&&(this.reconnectTimeout||this.connectPromise||(this.reconnectTimeout=setTimeout(async()=>{clearTimeout(this.reconnectTimeout),await this.transportOpen().catch(e=>this.logger.error(e,e?.message))},re.toMiliseconds(n7))))}isInitialized(){if(!this.initialized){const{message:e}=ne("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.transportOpen()}}var pE=Object.defineProperty,Sp=Object.getOwnPropertySymbols,bE=Object.prototype.hasOwnProperty,gE=Object.prototype.propertyIsEnumerable,Ap=(r,e,t)=>e in r?pE(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ip=(r,e)=>{for(var t in e||(e={}))bE.call(e,t)&&Ap(r,t,e[t]);if(Sp)for(var t of Sp(e))gE.call(e,t)&&Ap(r,t,e[t]);return r};class Ln extends mg{constructor(e,t,i,n=Mi,s=void 0){super(e,t,i,n),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=s7,this.cached=[],this.initialized=!1,this.storagePrefix=Mi,this.recentlyDeleted=[],this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!ur(o)?this.map.set(this.getKey(o),o):D5(o)?this.map.set(o.id,o):R5(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>Y9(a[c],o[c]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const c=Ip(Ip({},this.getData(o)),a);this.map.set(o,c),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())},this.logger=or(t,this.name),this.storagePrefix=n,this.getKey=s}get context(){return gr(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}=ne("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}const{message:i}=ne("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}=ne("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}=ne("NOT_INITIALIZED",this.name);throw new Error(e)}}}class vE{constructor(e,t){this.core=e,this.logger=t,this.name=u7,this.version=h7,this.events=new $t.exports,this.initialized=!1,this.storagePrefix=Mi,this.ignoredPayloadTypes=[ki],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=qc(),s=await this.core.crypto.setSymKey(n),o=Pt(re.FIVE_MINUTES),a={protocol:H0},c={topic:s,expiry:o,relay:a,active:!1,methods:i?.methods},u=I0({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:n,relay:a,expiryTimestamp:o,methods:i?.methods});return this.events.emit(Cn.create,c),this.core.expirer.set(s,o),await this.pairings.set(s,c),await this.core.relayer.subscribe(s,{transportType:i?.transportType}),{topic:s,uri:u}},this.pair=async i=>{this.isInitialized();const n=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[Oi.pairing_started]}});this.isValidPair(i,n);const{topic:s,symKey:o,relay:a,expiryTimestamp:c,methods:u}=A0(i.uri);n.props.properties.topic=s,n.addTrace(Oi.pairing_uri_validation_success),n.addTrace(Oi.pairing_uri_not_expired);let l;if(this.pairings.keys.includes(s)){if(l=this.pairings.get(s),n.addTrace(Oi.existing_pairing),l.active)throw n.setError(Wi.active_pairing_already_exists),new Error(`Pairing already exists: ${s}. Please try again with a new connection URI.`);n.addTrace(Oi.pairing_not_expired)}const v=c||Pt(re.FIVE_MINUTES),A={topic:s,relay:a,expiry:v,active:!1,methods:u};this.core.expirer.set(s,v),await this.pairings.set(s,A),n.addTrace(Oi.store_new_pairing),i.activatePairing&&await this.activate({topic:s}),this.events.emit(Cn.create,A),n.addTrace(Oi.emit_inactive_pairing),this.core.crypto.keychain.has(s)||await this.core.crypto.setSymKey(o,s),n.addTrace(Oi.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{n.setError(Wi.no_internet_connection)}try{await this.core.relayer.subscribe(s,{relay:a})}catch(M){throw n.setError(Wi.subscribe_pairing_topic_failure),M}return n.addTrace(Oi.subscribe_pairing_topic_success),A},this.activate=async({topic:i})=>{this.isInitialized();const n=Pt(re.FIVE_MINUTES);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),this.logger.warn("ping() is deprecated and will be removed in the next major release.");const{topic:n}=i;if(this.pairings.keys.includes(n)){const s=await this.sendRequest(n,"wc_pairingPing",{}),{done:o,resolve:a,reject:c}=Rn();this.events.once(Ve("pairing_ping",s),({error:u})=>{u?c(u):a()}),await o()}},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",bt("USER_DISCONNECTED")),await this.deletePairing(n))},this.formatUriFromPairing=i=>{this.isInitialized();const{topic:n,relay:s,expiry:o,methods:a}=i,c=this.core.crypto.keychain.get(n);return I0({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:c,relay:s,expiryTimestamp:o,methods:a})},this.sendRequest=async(i,n,s)=>{const o=qn(n,s),a=await this.core.crypto.encode(i,o),c=uo[n].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,c),o.id},this.sendResult=async(i,n,s)=>{const o=Kc(i,s),a=await this.core.crypto.encode(n,o),c=await this.core.history.get(n,i),u=uo[c.request.method].res;await this.core.relayer.publish(n,a,u),await this.core.history.resolve(o)},this.sendError=async(i,n,s)=>{const o=jc(i,s),a=await this.core.crypto.encode(n,o),c=await this.core.history.get(n,i),u=uo[c.request.method]?uo[c.request.method].res:uo.unregistered_method.res;await this.core.relayer.publish(n,a,u),await this.core.history.resolve(o)},this.deletePairing=async(i,n)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,bt("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=>on(n.expiry));await Promise.all(i.map(n=>this.deletePairing(n.topic)))},this.onRelayEventRequest=i=>{const{topic:n,payload:s}=i;switch(s.method){case"wc_pairingPing":return this.onPairingPingRequest(n,s);case"wc_pairingDelete":return this.onPairingDeleteRequest(n,s);default:return this.onUnknownRpcMethodRequest(n,s)}},this.onRelayEventResponse=async i=>{const{topic:n,payload:s}=i,o=(await this.core.history.get(n,s.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(n,s);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(i,n)=>{const{id:s}=n;try{this.isValidPing({topic:i}),await this.sendResult(s,i,!0),this.events.emit(Cn.ping,{id:s,topic:i})}catch(o){await this.sendError(s,i,o),this.logger.error(o)}},this.onPairingPingResponse=(i,n)=>{const{id:s}=n;setTimeout(()=>{Ii(n)?this.events.emit(Ve("pairing_ping",s),{}):Wr(n)&&this.events.emit(Ve("pairing_ping",s),{error:n.error})},500)},this.onPairingDeleteRequest=async(i,n)=>{const{id:s}=n;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(Cn.delete,{id:s,topic:i})}catch(o){await this.sendError(s,i,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(i,n)=>{const{id:s,method:o}=n;try{if(this.registeredMethods.includes(o))return;const a=bt("WC_METHOD_UNSUPPORTED",o);await this.sendError(s,i,a),this.logger.error(a)}catch(a){await this.sendError(s,i,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(bt("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=(i,n)=>{var s;if(!xr(i)){const{message:a}=ne("MISSING_OR_INVALID",`pair() params: ${i}`);throw n.setError(Wi.malformed_pairing_uri),new Error(a)}if(!N5(i.uri)){const{message:a}=ne("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw n.setError(Wi.malformed_pairing_uri),new Error(a)}const o=A0(i?.uri);if(!((s=o?.relay)!=null&&s.protocol)){const{message:a}=ne("MISSING_OR_INVALID","pair() uri#relay-protocol");throw n.setError(Wi.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=ne("MISSING_OR_INVALID","pair() uri#symKey");throw n.setError(Wi.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&re.toMiliseconds(o?.expiryTimestamp)<Date.now()){n.setError(Wi.pairing_expired);const{message:a}=ne("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(a)}},this.isValidPing=async i=>{if(!xr(i)){const{message:s}=ne("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(s)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidDisconnect=async i=>{if(!xr(i)){const{message:s}=ne("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(s)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidPairingTopic=async i=>{if(!Ot(i,!1)){const{message:n}=ne("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(n)}if(!this.pairings.keys.includes(i)){const{message:n}=ne("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(n)}if(on(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:n}=ne("EXPIRED",`pairing topic: ${i}`);throw new Error(n)}},this.core=e,this.logger=or(t,this.name),this.pairings=new Ln(this.core,this.logger,this.name,this.storagePrefix)}get context(){return gr(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=ne("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(kt.message,async e=>{const{topic:t,message:i,transportType:n}=e;if(!this.pairings.keys.includes(t)||n===gt.link_mode||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const s=await this.core.crypto.decode(t,i);try{Wc(s)?(this.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):Ra(s)&&(await this.core.history.resolve(s),await this.onRelayEventResponse({topic:t,payload:s}),this.core.history.delete(t,s.id))}catch(o){this.logger.error(o)}})}registerExpirerEvents(){this.core.expirer.on(Xr.expired,async e=>{const{topic:t}=Ml(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(Cn.expire,{topic:t}))})}}class mE extends pg{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new $t.exports.EventEmitter,this.name=d7,this.version=l7,this.cached=[],this.initialized=!1,this.storagePrefix=Mi,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,s)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:n,chainId:s}),this.records.has(n.id))return;const o={id:n.id,topic:i,request:{method:n.method,params:n.params||null},chainId:s,expiry:Pt(re.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(oi.created,o)},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=Wr(i)?{error:i.error}:{result:i.result},this.records.set(n.id,n),this.persist(),this.events.emit(oi.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(s=>{if(s.topic===i){if(typeof n<"u"&&s.id!==n)return;this.records.delete(s.id),this.events.emit(oi.deleted,s)}}),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=or(t,this.name)}get context(){return gr(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:qn(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}=ne("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(oi.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=ne("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(oi.created,e=>{const t=oi.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(oi.updated,e=>{const t=oi.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(oi.deleted,e=>{const t=oi.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(Xn.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{re.toMiliseconds(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(oi.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=ne("NOT_INITIALIZED",this.name);throw new Error(e)}}}class yE extends wg{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new $t.exports.EventEmitter,this.name=p7,this.version=b7,this.cached=[],this.initialized=!1,this.storagePrefix=Mi,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 s=this.formatTarget(i),o={target:s,expiry:n};this.expirations.set(s,o),this.checkExpiry(s,o),this.events.emit(Xr.created,{target:s,expiration:o})},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),s=this.getExpiration(n);this.expirations.delete(n),this.events.emit(Xr.deleted,{target:n,expiration:s})}},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=or(t,this.name)}get context(){return gr(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 h4(e);if(typeof e=="number")return d4(e);const{message:t}=ne("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(Xr.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=ne("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}=ne("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;re.toMiliseconds(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(Xr.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Xn.pulse,()=>this.checkExpirations()),this.events.on(Xr.created,e=>{const t=Xr.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Xr.expired,e=>{const t=Xr.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Xr.deleted,e=>{const t=Xr.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=ne("NOT_INITIALIZED",this.name);throw new Error(e)}}}class wE extends xg{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,this.name=g7,this.verifyUrlV3=m7,this.storagePrefix=Mi,this.version=X0,this.init=async()=>{var n;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&re.toMiliseconds((n=this.publicKey)==null?void 0:n.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))},this.register=async n=>{if(!Hs()||this.isDevEnv)return;const s=window.location.origin,{id:o,decryptedId:a}=n,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${s}&id=${o}&decryptedId=${a}`;try{const u=Us(),l=this.startAbortTimer(re.ONE_SECOND*5),v=await new Promise((A,M)=>{const I=()=>{window.removeEventListener("message",C),u.body.removeChild(N),M("attestation aborted")};this.abortController.signal.addEventListener("abort",I);const N=u.createElement("iframe");N.src=c,N.style.display="none",N.addEventListener("error",I,{signal:this.abortController.signal});const C=P=>{if(P.data&&typeof P.data=="string")try{const U=JSON.parse(P.data);if(U.type==="verify_attestation"){if(Rf(U.attestation).payload.id!==o)return;clearInterval(l),u.body.removeChild(N),this.abortController.signal.removeEventListener("abort",I),window.removeEventListener("message",C),A(U.attestation===null?"":U.attestation)}}catch(U){this.logger.warn(U)}};u.body.appendChild(N),window.addEventListener("message",C,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",v),v}catch(u){this.logger.warn(u)}return""},this.resolve=async n=>{if(this.isDevEnv)return"";const{attestationId:s,hash:o,encryptedId:a}=n;if(s===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(s){if(Rf(s).payload.id!==a)return;const u=await this.isValidJwtAttestation(s);if(u){if(!u.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return u}}if(!o)return;const c=this.getVerifyUrl(n?.verifyUrl);return this.fetchAttestation(o,c)},this.fetchAttestation=async(n,s)=>{this.logger.debug(`resolving attestation: ${n} from url: ${s}`);const o=this.startAbortTimer(re.ONE_SECOND*5),a=await fetch(`${s}/attestation/${n}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0},this.getVerifyUrl=n=>{let s=n||ho;return y7.includes(s)||(this.logger.info(`verify url: ${s}, not included in trusted list, assigning default: ${ho}`),s=ho),s},this.fetchPublicKey=async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const n=this.startAbortTimer(re.FIVE_SECONDS),s=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(n),await s.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 s=await this.getPublicKey();try{if(s)return this.validateAttestation(n,s)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(n,o)}catch(a){this.logger.error(a),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 s=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),s(o))});const n=await this.fetchPromise;return this.fetchPromise=void 0,n},this.validateAttestation=(n,s)=>{const o=b5(n,s.publicKey),a={hasExpired:re.toMiliseconds(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}},this.logger=or(t,this.name),this.abortController=new AbortController,this.isDevEnv=bc(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return gr(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),re.toMiliseconds(e))}}class xE extends Eg{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=w7,this.registerDeviceToken=async i=>{const{clientId:n,token:s,notificationType:o,enableEncrypted:a=!1}=i,c=`${x7}/${this.projectId}/clients`;await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:n,type:o,token:s,always_raw:a})})},this.logger=or(t,this.context)}}var EE=Object.defineProperty,Mp=Object.getOwnPropertySymbols,SE=Object.prototype.hasOwnProperty,AE=Object.prototype.propertyIsEnumerable,Op=(r,e,t)=>e in r?EE(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,go=(r,e)=>{for(var t in e||(e={}))SE.call(e,t)&&Op(r,t,e[t]);if(Mp)for(var t of Mp(e))AE.call(e,t)&&Op(r,t,e[t]);return r};class IE extends Sg{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,this.context=S7,this.storagePrefix=Mi,this.storageVersion=E7,this.events=new Map,this.shouldPersist=!1,this.init=async()=>{if(!bc())try{const n={eventId:Nl(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:El(this.core.relayer.protocol,this.core.relayer.version,Xc)}}};await this.sendEvent([n])}catch(n){this.logger.warn(n)}},this.createEvent=n=>{const{event:s="ERROR",type:o="",properties:{topic:a,trace:c}}=n,u=Nl(),l=this.core.projectId||"",v=Date.now(),A=go({eventId:u,timestamp:v,props:{event:s,type:o,properties:{topic:a,trace:c}},bundleId:l,domain:this.getAppDomain()},this.setMethods(u));return this.telemetryEnabled&&(this.events.set(u,A),this.shouldPersist=!0),A},this.getEvent=n=>{const{eventId:s,topic:o}=n;if(s)return this.events.get(s);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return go(go({},a),this.setMethods(a.eventId))},this.deleteEvent=n=>{const{eventId:s}=n;this.events.delete(s),this.shouldPersist=!0},this.setEventListeners=()=>{this.core.heartbeat.on(Xn.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(n=>{re.fromMiliseconds(Date.now())-re.fromMiliseconds(n.timestamp)>A7&&(this.events.delete(n.eventId),this.shouldPersist=!0)})})},this.setMethods=n=>({addTrace:s=>this.addTrace(n,s),setError:s=>this.setError(n,s)}),this.addTrace=(n,s)=>{const o=this.events.get(n);o&&(o.props.properties.trace.push(s),this.events.set(n,o),this.shouldPersist=!0)},this.setError=(n,s)=>{const o=this.events.get(n);o&&(o.props.type=s,o.timestamp=Date.now(),this.events.set(n,o),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(s=>{this.events.set(s.eventId,go(go({},s),this.setMethods(s.eventId)))})}catch(n){this.logger.warn(n)}},this.submit=async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const n=[];for(const[s,o]of this.events)o.props.type&&n.push(o);if(n.length!==0)try{if((await this.sendEvent(n)).ok)for(const s of n)this.events.delete(s.eventId),this.shouldPersist=!0}catch(s){this.logger.warn(s)}},this.sendEvent=async n=>{const s=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${I7}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${Xc}${s}`,{method:"POST",body:JSON.stringify(n)})},this.getAppDomain=()=>xl().url,this.logger=or(t,this.context),this.telemetryEnabled=i,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 ME=Object.defineProperty,Np=Object.getOwnPropertySymbols,OE=Object.prototype.hasOwnProperty,NE=Object.prototype.propertyIsEnumerable,Dp=(r,e,t)=>e in r?ME(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Rp=(r,e)=>{for(var t in e||(e={}))OE.call(e,t)&&Dp(r,t,e[t]);if(Np)for(var t of Np(e))NE.call(e,t)&&Dp(r,t,e[t]);return r};class Qc extends lg{constructor(e){var t;super(e),this.protocol=Y0,this.version=X0,this.name=Pa,this.events=new $t.exports.EventEmitter,this.initialized=!1,this.on=(o,a)=>this.events.on(o,a),this.once=(o,a)=>this.events.once(o,a),this.off=(o,a)=>this.events.off(o,a),this.removeListener=(o,a)=>this.events.removeListener(o,a),this.dispatchEnvelope=({topic:o,message:a,sessionExists:c})=>{if(!o||!a)return;const u={topic:o,message:a,publishedAt:Date.now(),transportType:gt.link_mode};this.relayer.onLinkMessageEvent(u,{sessionExists:c})},this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||Z0,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const i=cf({level:typeof e?.logger=="string"&&e.logger?e.logger:X9.logger,name:Pa}),{logger:n,chunkLoggerController:s}=dg({opts:i,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=s,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=or(n,this.name),this.heartbeat=new tf,this.crypto=new Hx(this,this.logger,e?.keychain),this.history=new mE(this,this.logger),this.expirer=new yE(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new Lb(Rp(Rp({},G9),e?.storageOptions)),this.relayer=new lE({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new vE(this,this.logger),this.verify=new wE(this,this.logger,this.storage),this.echoClient=new xE(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new IE(this,this.logger,e?.telemetryEnabled)}static async init(e){const t=new Qc(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(o7,i),t}get context(){return gr(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 addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(Q0,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(Q0)||[],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 _c=Qc,Pp="wc",Tp=2,Fp="client",$c=`${Pp}@${Tp}:${Fp}:`,eu={name:Fp,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.org"},qp="WALLETCONNECT_DEEPLINK_CHOICE",DE="proposal",RE="Proposal expired",PE="session",xs=re.SEVEN_DAYS,TE="engine",Bt={wc_sessionPropose:{req:{ttl:re.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:re.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:re.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:re.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:re.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:re.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:re.ONE_DAY,prompt:!1,tag:1104},res:{ttl:re.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:re.ONE_DAY,prompt:!1,tag:1106},res:{ttl:re.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:re.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:re.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:re.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:re.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:re.ONE_DAY,prompt:!1,tag:1112},res:{ttl:re.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:re.ONE_DAY,prompt:!1,tag:1114},res:{ttl:re.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:re.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:re.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:re.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:re.FIVE_MINUTES,prompt:!1,tag:1119}}},tu={min:re.FIVE_MINUTES,max:re.SEVEN_DAYS},Ni={idle:"IDLE",active:"ACTIVE"},Cp={eip155:["eth_sendTransaction","eth_sendRawTransaction","wallet_sendCalls"],solana:["solana_signTransaction","solana_signAndSendTransaction","solana_signAllTransactions"]},FE="request",qE=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],CE="wc",UE="auth",zE="authKeys",LE="pairingTopics",kE="requests",qa=`${CE}@${1.5}:${UE}:`,Ca=`${qa}:PUB_KEY`;var BE=Object.defineProperty,VE=Object.defineProperties,KE=Object.getOwnPropertyDescriptors,Up=Object.getOwnPropertySymbols,jE=Object.prototype.hasOwnProperty,WE=Object.prototype.propertyIsEnumerable,zp=(r,e,t)=>e in r?BE(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,vt=(r,e)=>{for(var t in e||(e={}))jE.call(e,t)&&zp(r,t,e[t]);if(Up)for(var t of Up(e))WE.call(e,t)&&zp(r,t,e[t]);return r},Er=(r,e)=>VE(r,KE(e));class YE extends Ig{constructor(e){super(e),this.name=TE,this.events=new $t.exports,this.initialized=!1,this.requestQueue={state:Ni.idle,queue:[]},this.sessionRequestQueue={state:Ni.idle,queue:[]},this.requestQueueDelay=re.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(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(Bt)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},re.toMiliseconds(this.requestQueueDelay)))},this.connect=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const i=Er(vt({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(i);const{pairingTopic:n,requiredNamespaces:s,optionalNamespaces:o,sessionProperties:a,relays:c}=i;let u=n,l,v=!1;try{if(u){const W=this.client.core.pairing.pairings.get(u);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),v=W.active}}catch(W){throw this.client.logger.error(`connect() -> pairing.get(${u}) failed`),W}if(!u||!v){const{topic:W,uri:T}=await this.client.core.pairing.create();u=W,l=T}if(!u){const{message:W}=ne("NO_MATCHING_KEY",`connect() pairing topic: ${u}`);throw new Error(W)}const A=await this.client.core.crypto.generateKeyPair(),M=Bt.wc_sessionPropose.req.ttl||re.FIVE_MINUTES,I=Pt(M),N=vt({requiredNamespaces:s,optionalNamespaces:o,relays:c??[{protocol:H0}],proposer:{publicKey:A,metadata:this.client.metadata},expiryTimestamp:I,pairingTopic:u},a&&{sessionProperties:a}),{reject:C,resolve:P,done:U}=Rn(M,RE);this.events.once(Ve("session_connect"),async({error:W,session:T})=>{if(W)C(W);else if(T){T.self.publicKey=A;const J=Er(vt({},T),{pairingTopic:N.pairingTopic,requiredNamespaces:N.requiredNamespaces,optionalNamespaces:N.optionalNamespaces,transportType:gt.relay});await this.client.session.set(T.topic,J),await this.setExpiry(T.topic,T.expiry),u&&await this.client.core.pairing.updateMetadata({topic:u,metadata:T.peer.metadata}),this.cleanupDuplicatePairings(J),P(J)}});const k=await this.sendRequest({topic:u,method:"wc_sessionPropose",params:N,throwOnFailedPublish:!0});return await this.setProposal(k,vt({id:k},N)),{uri:l,approval:U}},this.pair=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();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,s;const o=this.client.core.eventClient.createEvent({properties:{topic:(i=t?.id)==null?void 0:i.toString(),trace:[ai.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(X){throw o.setError(Un.no_internet_connection),X}try{await this.isValidProposalId(t?.id)}catch(X){throw this.client.logger.error(`approve() -> proposal.get(${t?.id}) failed`),o.setError(Un.proposal_not_found),X}try{await this.isValidApprove(t)}catch(X){throw this.client.logger.error("approve() -> isValidApprove() failed"),o.setError(Un.session_approve_namespace_validation_failure),X}const{id:a,relayProtocol:c,namespaces:u,sessionProperties:l,sessionConfig:v}=t,A=this.client.proposal.get(a);this.client.core.eventClient.deleteEvent({eventId:o.eventId});const{pairingTopic:M,proposer:I,requiredNamespaces:N,optionalNamespaces:C}=A;let P=(n=this.client.core.eventClient)==null?void 0:n.getEvent({topic:M});P||(P=(s=this.client.core.eventClient)==null?void 0:s.createEvent({type:ai.session_approve_started,properties:{topic:M,trace:[ai.session_approve_started,ai.session_namespaces_validation_success]}}));const U=await this.client.core.crypto.generateKeyPair(),k=I.publicKey,W=await this.client.core.crypto.generateSharedKey(U,k),T=vt(vt({relay:{protocol:c??"irn"},namespaces:u,controller:{publicKey:U,metadata:this.client.metadata},expiry:Pt(xs)},l&&{sessionProperties:l}),v&&{sessionConfig:v}),J=gt.relay;P.addTrace(ai.subscribing_session_topic);try{await this.client.core.relayer.subscribe(W,{transportType:J})}catch(X){throw P.setError(Un.subscribe_session_topic_failure),X}P.addTrace(ai.subscribe_session_topic_success);const _=Er(vt({},T),{topic:W,requiredNamespaces:N,optionalNamespaces:C,pairingTopic:M,acknowledged:!1,self:T.controller,peer:{publicKey:I.publicKey,metadata:I.metadata},controller:U,transportType:gt.relay});await this.client.session.set(W,_),P.addTrace(ai.store_session);try{P.addTrace(ai.publishing_session_settle),await this.sendRequest({topic:W,method:"wc_sessionSettle",params:T,throwOnFailedPublish:!0}).catch(X=>{throw P?.setError(Un.session_settle_publish_failure),X}),P.addTrace(ai.session_settle_publish_success),P.addTrace(ai.publishing_session_approve),await this.sendResult({id:a,topic:M,result:{relay:{protocol:c??"irn"},responderPublicKey:U},throwOnFailedPublish:!0}).catch(X=>{throw P?.setError(Un.session_approve_publish_failure),X}),P.addTrace(ai.session_approve_publish_success)}catch(X){throw this.client.logger.error(X),this.client.session.delete(W,bt("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(W),X}return this.client.core.eventClient.deleteEvent({eventId:P.eventId}),await this.client.core.pairing.updateMetadata({topic:M,metadata:I.metadata}),await this.client.proposal.delete(a,bt("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:M}),await this.setExpiry(W,Pt(xs)),{topic:W,acknowledged:()=>Promise.resolve(this.client.session.get(W))}},this.reject=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(t)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:i,reason:n}=t;let s;try{s=this.client.proposal.get(i).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),o}s&&(await this.sendError({id:i,topic:s,error:n,rpcOpts:Bt.wc_sessionPropose.reject}),await this.client.proposal.delete(i,bt("USER_DISCONNECTED")))},this.update=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(t)}catch(v){throw this.client.logger.error("update() -> isValidUpdate() failed"),v}const{topic:i,namespaces:n}=t,{done:s,resolve:o,reject:a}=Rn(),c=ji(),u=Fn().toString(),l=this.client.session.get(i).namespaces;return this.events.once(Ve("session_update",c),({error:v})=>{v?a(v):o()}),await this.client.session.update(i,{namespaces:n}),await this.sendRequest({topic:i,method:"wc_sessionUpdate",params:{namespaces:n},throwOnFailedPublish:!0,clientRpcId:c,relayRpcId:u}).catch(v=>{this.client.logger.error(v),this.client.session.update(i,{namespaces:l}),a(v)}),{acknowledged:s}},this.extend=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(t)}catch(c){throw this.client.logger.error("extend() -> isValidExtend() failed"),c}const{topic:i}=t,n=ji(),{done:s,resolve:o,reject:a}=Rn();return this.events.once(Ve("session_extend",n),({error:c})=>{c?a(c):o()}),await this.setExpiry(i,Pt(xs)),this.sendRequest({topic:i,method:"wc_sessionExtend",params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(c=>{a(c)}),{acknowledged:s}},this.request=async t=>{this.isInitialized();try{await this.isValidRequest(t)}catch(P){throw this.client.logger.error("request() -> isValidRequest() failed"),P}const{chainId:i,request:n,topic:s,expiry:o=Bt.wc_sessionRequest.req.ttl}=t,a=this.client.session.get(s);a?.transportType===gt.relay&&await this.confirmOnlineStateOrThrow();const c=ji(),u=Fn().toString(),{done:l,resolve:v,reject:A}=Rn(o,"Request expired. Please try again.");this.events.once(Ve("session_request",c),({error:P,result:U})=>{P?A(P):v(U)});const M="wc_sessionRequest",I=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(I)return await this.sendRequest({clientRpcId:c,relayRpcId:u,topic:s,method:M,params:{request:Er(vt({},n),{expiryTimestamp:Pt(o)}),chainId:i},expiry:o,throwOnFailedPublish:!0,appLink:I}).catch(P=>A(P)),this.client.events.emit("session_request_sent",{topic:s,request:n,chainId:i,id:c}),await l();const N={request:Er(vt({},n),{expiryTimestamp:Pt(o)}),chainId:i},C=this.shouldSetTVF(M,N);return console.log("shouldSetTVF",C,M,i,n.method),await Promise.all([new Promise(async P=>{await this.sendRequest(vt({clientRpcId:c,relayRpcId:u,topic:s,method:M,params:N,expiry:o,throwOnFailedPublish:!0},C&&{tvf:this.getTVFParams(c,N)})).catch(U=>A(U)),this.client.events.emit("session_request_sent",{topic:s,request:n,chainId:i,id:c}),P()}),new Promise(async P=>{var U;if(!((U=a.sessionConfig)!=null&&U.disableDeepLink)){const k=await v4(this.client.core.storage,qp);await p4({id:c,topic:s,wcDeepLink:k})}P()}),l()]).then(P=>P[2])},this.respond=async t=>{this.isInitialized(),await this.isValidRespond(t);const{topic:i,response:n}=t,{id:s}=n,o=this.client.session.get(i);o.transportType===gt.relay&&await this.confirmOnlineStateOrThrow();const a=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);Ii(n)?await this.sendResult({id:s,topic:i,result:n.result,throwOnFailedPublish:!0,appLink:a}):Wr(n)&&await this.sendError({id:s,topic:i,error:n.error,appLink:a}),this.cleanupAfterResponse(t)},this.ping=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();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=ji(),s=Fn().toString(),{done:o,resolve:a,reject:c}=Rn();this.events.once(Ve("session_ping",n),({error:u})=>{u?c(u):a()}),await Promise.all([this.sendRequest({topic:i,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:n,relayRpcId:s}),o()])}else this.client.core.pairing.pairings.keys.includes(i)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:i}))},this.emit=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(t);const{topic:i,event:n,chainId:s}=t,o=Fn().toString(),a=ji();await this.sendRequest({topic:i,method:"wc_sessionEvent",params:{event:n,chainId:s},throwOnFailedPublish:!0,relayRpcId:o,clientRpcId:a})},this.disconnect=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(t);const{topic:i}=t;if(this.client.session.keys.includes(i))await this.sendRequest({topic:i,method:"wc_sessionDelete",params:bt("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}=ne("MISMATCHED_TOPIC",`Session or pairing topic not found: ${i}`);throw new Error(n)}},this.find=t=>(this.isInitialized(),this.client.session.getAll().filter(i=>M5(i,t))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.authenticate=async(t,i)=>{var n;this.isInitialized(),this.isValidAuthenticate(t);const s=i&&this.client.core.linkModeSupportedApps.includes(i)&&((n=this.client.metadata.redirect)==null?void 0:n.linkMode),o=s?gt.link_mode:gt.relay;o===gt.relay&&await this.confirmOnlineStateOrThrow();const{chains:a,statement:c="",uri:u,domain:l,nonce:v,type:A,exp:M,nbf:I,methods:N=[],expiry:C}=t,P=[...t.resources||[]],{topic:U,uri:k}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:U,uri:k}});const W=await this.client.core.crypto.generateKeyPair(),T=Ia(W);if(await Promise.all([this.client.auth.authKeys.set(Ca,{responseTopic:T,publicKey:W}),this.client.auth.pairingTopics.set(T,{topic:T,pairingTopic:U})]),await this.client.core.relayer.subscribe(T,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${U}`),N.length>0){const{namespace:E}=Js(a[0]);let w=o8(E,"request",N);xa(P)&&(w=f8(w,P.pop())),P.push(w)}const J=C&&C>Bt.wc_sessionAuthenticate.req.ttl?C:Bt.wc_sessionAuthenticate.req.ttl,_={authPayload:{type:A??"caip122",chains:a,statement:c,aud:u,domain:l,version:"1",nonce:v,iat:new Date().toISOString(),exp:M,nbf:I,resources:P},requester:{publicKey:W,metadata:this.client.metadata},expiryTimestamp:Pt(J)},X={eip155:{chains:a,methods:[...new Set(["personal_sign",...N])],events:["chainChanged","accountsChanged"]}},G={requiredNamespaces:{},optionalNamespaces:X,relays:[{protocol:"irn"}],pairingTopic:U,proposer:{publicKey:W,metadata:this.client.metadata},expiryTimestamp:Pt(Bt.wc_sessionPropose.req.ttl)},{done:fe,resolve:D,reject:b}=Rn(J,"Request expired"),p=async({error:E,session:w})=>{if(this.events.off(Ve("session_request",h),f),E)b(E);else if(w){w.self.publicKey=W,await this.client.session.set(w.topic,w),await this.setExpiry(w.topic,w.expiry),U&&await this.client.core.pairing.updateMetadata({topic:U,metadata:w.peer.metadata});const d=this.client.session.get(w.topic);await this.deleteProposal(g),D({session:d})}},f=async E=>{var w,d,y;if(await this.deletePendingAuthRequest(h,{message:"fulfilled",code:0}),E.error){const q=bt("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return E.error.code===q.code?void 0:(this.events.off(Ve("session_connect"),p),b(E.error.message))}await this.deleteProposal(g),this.events.off(Ve("session_connect"),p);const{cacaos:m,responder:O}=E.result,Y=[],S=[];for(const q of m){await jl({cacao:q,projectId:this.client.core.projectId})||(this.client.logger.error(q,"Signature verification failed"),b(bt("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:F}=q,V=xa(F.resources),L=[xc(F.iss)],j=wa(F.iss);if(V){const ee=Xl(V),H=Gl(V);Y.push(...ee),L.push(...H)}for(const ee of L)S.push(`${ee}:${j}`)}const z=await this.client.core.crypto.generateSharedKey(W,O.publicKey);let K;Y.length>0&&(K={topic:z,acknowledged:!0,self:{publicKey:W,metadata:this.client.metadata},peer:O,controller:O.publicKey,expiry:Pt(xs),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:U,namespaces:M0([...new Set(Y)],[...new Set(S)]),transportType:o},await this.client.core.relayer.subscribe(z,{transportType:o}),await this.client.session.set(z,K),U&&await this.client.core.pairing.updateMetadata({topic:U,metadata:O.metadata}),K=this.client.session.get(z)),(w=this.client.metadata.redirect)!=null&&w.linkMode&&(d=O.metadata.redirect)!=null&&d.linkMode&&(y=O.metadata.redirect)!=null&&y.universal&&i&&(this.client.core.addLinkModeSupportedApp(O.metadata.redirect.universal),this.client.session.update(z,{transportType:gt.link_mode})),D({auths:m,session:K})},h=ji(),g=ji();this.events.once(Ve("session_connect"),p),this.events.once(Ve("session_request",h),f);let x;try{if(s){const E=qn("wc_sessionAuthenticate",_,h);this.client.core.history.set(U,E);const w=await this.client.core.crypto.encode("",E,{type:ro,encoding:eo});x=Oa(i,U,w)}else await Promise.all([this.sendRequest({topic:U,method:"wc_sessionAuthenticate",params:_,expiry:t.expiry,throwOnFailedPublish:!0,clientRpcId:h}),this.sendRequest({topic:U,method:"wc_sessionPropose",params:G,expiry:Bt.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:g})])}catch(E){throw this.events.off(Ve("session_connect"),p),this.events.off(Ve("session_request",h),f),E}return await this.setProposal(g,vt({id:g},G)),await this.setAuthRequest(h,{request:Er(vt({},_),{verifyContext:{}}),pairingTopic:U,transportType:o}),{uri:x??k,response:fe}},this.approveSessionAuthenticate=async t=>{const{id:i,auths:n}=t,s=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[zn.authenticated_session_approve_started]}});try{this.isInitialized()}catch(C){throw s.setError(lo.no_internet_connection),C}const o=this.getPendingAuthRequest(i);if(!o)throw s.setError(lo.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${i}`);const a=o.transportType||gt.relay;a===gt.relay&&await this.confirmOnlineStateOrThrow();const c=o.requester.publicKey,u=await this.client.core.crypto.generateKeyPair(),l=Ia(c),v={type:ki,receiverPublicKey:c,senderPublicKey:u},A=[],M=[];for(const C of n){if(!await jl({cacao:C,projectId:this.client.core.projectId})){s.setError(lo.invalid_cacao);const T=bt("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:l,error:T,encodeOpts:v}),new Error(T.message)}s.addTrace(zn.cacaos_verified);const{p:P}=C,U=xa(P.resources),k=[xc(P.iss)],W=wa(P.iss);if(U){const T=Xl(U),J=Gl(U);A.push(...T),k.push(...J)}for(const T of k)M.push(`${T}:${W}`)}const I=await this.client.core.crypto.generateSharedKey(u,c);s.addTrace(zn.create_authenticated_session_topic);let N;if(A?.length>0){N={topic:I,acknowledged:!0,self:{publicKey:u,metadata:this.client.metadata},peer:{publicKey:c,metadata:o.requester.metadata},controller:c,expiry:Pt(xs),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:o.pairingTopic,namespaces:M0([...new Set(A)],[...new Set(M)]),transportType:a},s.addTrace(zn.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(I,{transportType:a})}catch(C){throw s.setError(lo.subscribe_authenticated_session_topic_failure),C}s.addTrace(zn.subscribe_authenticated_session_topic_success),await this.client.session.set(I,N),s.addTrace(zn.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:o.pairingTopic,metadata:o.requester.metadata})}s.addTrace(zn.publishing_authenticated_session_approve);try{await this.sendResult({topic:l,id:i,result:{cacaos:n,responder:{publicKey:u,metadata:this.client.metadata}},encodeOpts:v,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(o.requester.metadata,a)})}catch(C){throw s.setError(lo.authenticated_session_approve_publish_failure),C}return await this.client.auth.requests.delete(i,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:o.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:s.eventId}),{session:N}},this.rejectSessionAuthenticate=async t=>{this.isInitialized();const{id:i,reason:n}=t,s=this.getPendingAuthRequest(i);if(!s)throw new Error(`Could not find pending auth request with id ${i}`);s.transportType===gt.relay&&await this.confirmOnlineStateOrThrow();const o=s.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),c=Ia(o),u={type:ki,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:i,topic:c,error:n,encodeOpts:u,rpcOpts:Bt.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(s.requester.metadata,s.transportType)}),await this.client.auth.requests.delete(i,{message:"rejected",code:0}),await this.client.proposal.delete(i,bt("USER_DISCONNECTED"))},this.formatAuthMessage=t=>{this.isInitialized();const{request:i,iss:n}=t;return Wl(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(s=>{var o,a;return((o=s.peerMetadata)==null?void 0:o.url)&&((a=s.peerMetadata)==null?void 0:a.url)===t.peer.metadata.url&&s.topic&&s.topic!==i.topic});if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(s=>this.client.core.pairing.disconnect({topic:s.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:s=!1,emitEvent:o=!0,id:a=0}=t,{self:c}=this.client.session.get(n);await this.client.core.relayer.unsubscribe(n),await this.client.session.delete(n,bt("USER_DISCONNECTED")),this.addToRecentlyDeleted(n,"session"),this.client.core.crypto.keychain.has(c.publicKey)&&await this.client.core.crypto.deleteKeyPair(c.publicKey),this.client.core.crypto.keychain.has(n)&&await this.client.core.crypto.deleteSymKey(n),s||this.client.core.expirer.del(n),this.client.core.storage.removeItem(qp).catch(u=>this.client.logger.warn(u)),this.getPendingSessionRequests().forEach(u=>{u.topic===n&&this.deletePendingSessionRequest(u.id,bt("USER_DISCONNECTED"))}),n===((i=this.sessionRequestQueue.queue[0])==null?void 0:i.topic)&&(this.sessionRequestQueue.state=Ni.idle),o&&this.client.events.emit("session_delete",{id:a,topic:n})},this.deleteProposal=async(t,i)=>{if(i)try{const n=this.client.proposal.get(t);this.client.core.eventClient.getEvent({topic:n.pairingTopic})?.setError(Un.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(t,bt("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(s=>s.id!==t),n&&(this.sessionRequestQueue.state=Ni.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,Pt(Bt.wc_sessionPropose.req.ttl)),await this.client.proposal.set(t,i)},this.setAuthRequest=async(t,i)=>{const{request:n,pairingTopic:s,transportType:o=gt.relay}=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:s,verifyContext:n.verifyContext,transportType:o})},this.setPendingSessionRequest=async t=>{const{id:i,topic:n,params:s,verifyContext:o}=t,a=s.request.expiryTimestamp||Pt(Bt.wc_sessionRequest.req.ttl);this.client.core.expirer.set(i,a),await this.client.pendingRequest.set(i,{id:i,topic:n,params:s,verifyContext:o})},this.sendRequest=async t=>{const{topic:i,method:n,params:s,expiry:o,relayRpcId:a,clientRpcId:c,throwOnFailedPublish:u,appLink:l,tvf:v}=t,A=qn(n,s,c);let M;const I=!!l;try{const P=I?eo:un;M=await this.client.core.crypto.encode(i,A,{encoding:P})}catch(P){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${i} failed`),P}let N;if(qE.includes(n)){const P=Bi(JSON.stringify(A)),U=Bi(M);N=await this.client.core.verify.register({id:U,decryptedId:P})}const C=Bt[n].req;if(C.attestation=N,o&&(C.ttl=o),a&&(C.id=a),this.client.core.history.set(i,A),I){const P=Oa(l,i,M);await global.Linking.openURL(P,this.client.name)}else{const P=Bt[n].req;o&&(P.ttl=o),a&&(P.id=a),P.internal=Er(vt({},P.internal),{tvf:v}),u?(P.internal=Er(vt({},P.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,M,P)):this.client.core.relayer.publish(i,M,P).catch(U=>this.client.logger.error(U))}return A.id},this.sendResult=async t=>{const{id:i,topic:n,result:s,throwOnFailedPublish:o,encodeOpts:a,appLink:c}=t,u=Kc(i,s);let l;const v=c&&typeof(global==null?void 0:global.Linking)<"u";try{const I=v?eo:un;l=await this.client.core.crypto.encode(n,u,Er(vt({},a||{}),{encoding:I}))}catch(I){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),I}let A,M;try{A=await this.client.core.history.get(n,i);const I=A.request;try{this.shouldSetTVF(I.method,I.params)&&(M=this.getTVFParams(i,I.params,oo(s)?s:[s]))}catch(N){this.client.logger.warn("sendResult() -> getTVFParams() failed",N)}}catch(I){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${i}) failed`),I}if(v){const I=Oa(c,n,l);await global.Linking.openURL(I,this.client.name)}else{const I=Bt[A.request.method].res;I.internal=Er(vt({},I.internal),{tvf:M}),o?(I.internal=Er(vt({},I.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,l,I)):this.client.core.relayer.publish(n,l,I).catch(N=>this.client.logger.error(N))}await this.client.core.history.resolve(u)},this.sendError=async t=>{const{id:i,topic:n,error:s,encodeOpts:o,rpcOpts:a,appLink:c}=t,u=jc(i,s);let l;const v=c&&typeof(global==null?void 0:global.Linking)<"u";try{const M=v?eo:un;l=await this.client.core.crypto.encode(n,u,Er(vt({},o||{}),{encoding:M}))}catch(M){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),M}let A;try{A=await this.client.core.history.get(n,i)}catch(M){throw this.client.logger.error(`sendError() -> history.get(${n}, ${i}) failed`),M}if(v){const M=Oa(c,n,l);await global.Linking.openURL(M,this.client.name)}else{const M=a||Bt[A.request.method].res;this.client.core.relayer.publish(n,l,M)}await this.client.core.history.resolve(u)},this.cleanup=async()=>{const t=[],i=[];this.client.session.getAll().forEach(n=>{let s=!1;on(n.expiry)&&(s=!0),this.client.core.crypto.keychain.has(n.topic)||(s=!0),s&&t.push(n.topic)}),this.client.proposal.getAll().forEach(n=>{on(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===Ni.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=Ni.active;const t=this.requestQueue.queue.shift();if(t)try{await this.processRequest(t)}catch(i){this.client.logger.warn(i)}}this.requestQueue.state=Ni.idle},this.processRequest=async t=>{const{topic:i,payload:n,attestation:s,transportType:o,encryptedId:a}=t,c=n.method;if(!this.shouldIgnorePairingRequest({topic:i,requestMethod:c}))switch(c){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:i,payload:n,attestation:s,encryptedId:a});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:s,encryptedId:a,transportType:o});case"wc_sessionEvent":return await this.onSessionEventRequest(i,n);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:i,payload:n,attestation:s,encryptedId:a,transportType:o});default:return this.client.logger.info(`Unsupported request method ${c}`)}},this.onRelayEventResponse=async t=>{const{topic:i,payload:n,transportType:s}=t,o=(await this.client.core.history.get(i,n.id)).request.method;switch(o){case"wc_sessionPropose":return this.onSessionProposeResponse(i,n,s);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 ${o}`)}},this.onRelayEventUnknownPayload=t=>{const{topic:i}=t,{message:n}=ne("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,s=this.expectedPairingMethodMap.get(i);return!s||s.includes(n)?!1:!!(s.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)},this.onSessionProposeRequest=async t=>{const{topic:i,payload:n,attestation:s,encryptedId:o}=t,{params:a,id:c}=n;try{const u=this.client.core.eventClient.getEvent({topic:i});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),u?.setError(Wi.proposal_listener_not_found)),this.isValidConnect(vt({},n.params));const l=a.expiryTimestamp||Pt(Bt.wc_sessionPropose.req.ttl),v=vt({id:c,pairingTopic:i,expiryTimestamp:l},a);await this.setProposal(c,v);const A=await this.getVerifyContext({attestationId:s,hash:Bi(JSON.stringify(n)),encryptedId:o,metadata:v.proposer.metadata});u?.addTrace(Oi.emit_session_proposal),this.client.events.emit("session_proposal",{id:c,params:v,verifyContext:A})}catch(u){await this.sendError({id:c,topic:i,error:u,rpcOpts:Bt.wc_sessionPropose.autoReject}),this.client.logger.error(u)}},this.onSessionProposeResponse=async(t,i,n)=>{const{id:s}=i;if(Ii(i)){const{result:o}=i;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:o});const a=this.client.proposal.get(s);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:a});const c=a.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const u=o.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:u});const l=await this.client.core.crypto.generateSharedKey(c,u);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:l});const v=await this.client.core.relayer.subscribe(l,{transportType:n});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:v}),await this.client.core.pairing.activate({topic:t})}else if(Wr(i)){await this.client.proposal.delete(s,bt("USER_DISCONNECTED"));const o=Ve("session_connect");if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners, 954`);this.events.emit(Ve("session_connect"),{error:i.error})}},this.onSessionSettleRequest=async(t,i)=>{const{id:n,params:s}=i;try{this.isValidSessionSettleRequest(s);const{relay:o,controller:a,expiry:c,namespaces:u,sessionProperties:l,sessionConfig:v}=i.params,A=Er(vt(vt({topic:t,relay:o,expiry:c,namespaces:u,acknowledged:!0,pairingTopic:"",requiredNamespaces:{},optionalNamespaces:{},controller:a.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},l&&{sessionProperties:l}),v&&{sessionConfig:v}),{transportType:gt.relay}),M=Ve("session_connect");if(this.events.listenerCount(M)===0)throw new Error(`emitting ${M} without any listeners 997`);this.events.emit(Ve("session_connect"),{session:A}),await this.sendResult({id:i.id,topic:t,result:!0,throwOnFailedPublish:!0})}catch(o){await this.sendError({id:n,topic:t,error:o}),this.client.logger.error(o)}},this.onSessionSettleResponse=async(t,i)=>{const{id:n}=i;Ii(i)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(Ve("session_approve",n),{})):Wr(i)&&(await this.client.session.delete(t,bt("USER_DISCONNECTED")),this.events.emit(Ve("session_approve",n),{error:i.error}))},this.onSessionUpdateRequest=async(t,i)=>{const{params:n,id:s}=i;try{const o=`${t}_session_update`,a=ao.get(o);if(a&&this.isRequestOutOfSync(a,s)){this.client.logger.warn(`Discarding out of sync request - ${s}`),this.sendError({id:s,topic:t,error:bt("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(vt({topic:t},n));try{ao.set(o,s),await this.client.session.update(t,{namespaces:n.namespaces}),await this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0})}catch(c){throw ao.delete(o),c}this.client.events.emit("session_update",{id:s,topic:t,params:n})}catch(o){await this.sendError({id:s,topic:t,error:o}),this.client.logger.error(o)}},this.isRequestOutOfSync=(t,i)=>i.toString().slice(0,-3)<t.toString().slice(0,-3),this.onSessionUpdateResponse=(t,i)=>{const{id:n}=i,s=Ve("session_update",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);Ii(i)?this.events.emit(Ve("session_update",n),{}):Wr(i)&&this.events.emit(Ve("session_update",n),{error:i.error})},this.onSessionExtendRequest=async(t,i)=>{const{id:n}=i;try{this.isValidExtend({topic:t}),await this.setExpiry(t,Pt(xs)),await this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:n,topic:t})}catch(s){await this.sendError({id:n,topic:t,error:s}),this.client.logger.error(s)}},this.onSessionExtendResponse=(t,i)=>{const{id:n}=i,s=Ve("session_extend",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);Ii(i)?this.events.emit(Ve("session_extend",n),{}):Wr(i)&&this.events.emit(Ve("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(s){await this.sendError({id:n,topic:t,error:s}),this.client.logger.error(s)}},this.onSessionPingResponse=(t,i)=>{const{id:n}=i,s=Ve("session_ping",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);setTimeout(()=>{Ii(i)?this.events.emit(Ve("session_ping",n),{}):Wr(i)&&this.events.emit(Ve("session_ping",n),{error:i.error})},500)},this.onSessionDeleteRequest=async(t,i)=>{const{id:n}=i;try{this.isValidDisconnect({topic:t,reason:i.params}),Promise.all([new Promise(s=>{this.client.core.relayer.once(kt.publish,async()=>{s(await this.deleteSession({topic:t,id:n}))})}),this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:bt("USER_DISCONNECTED")})]).catch(s=>this.client.logger.error(s))}catch(s){this.client.logger.error(s)}},this.onSessionRequest=async t=>{var i,n,s;const{topic:o,payload:a,attestation:c,encryptedId:u,transportType:l}=t,{id:v,params:A}=a;try{await this.isValidRequest(vt({topic:o},A));const M=this.client.session.get(o),I=await this.getVerifyContext({attestationId:c,hash:Bi(JSON.stringify(qn("wc_sessionRequest",A,v))),encryptedId:u,metadata:M.peer.metadata,transportType:l}),N={id:v,topic:o,params:A,verifyContext:I};await this.setPendingSessionRequest(N),l===gt.link_mode&&(i=M.peer.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp((n=M.peer.metadata.redirect)==null?void 0:n.universal),(s=this.client.signConfig)!=null&&s.disableRequestQueue?this.emitSessionRequest(N):(this.addSessionRequestToSessionRequestQueue(N),this.processSessionRequestQueue())}catch(M){await this.sendError({id:v,topic:o,error:M}),this.client.logger.error(M)}},this.onSessionRequestResponse=(t,i)=>{const{id:n}=i,s=Ve("session_request",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);Ii(i)?this.events.emit(Ve("session_request",n),{result:i.result}):Wr(i)&&this.events.emit(Ve("session_request",n),{error:i.error})},this.onSessionEventRequest=async(t,i)=>{const{id:n,params:s}=i;try{const o=`${t}_session_event_${s.event.name}`,a=ao.get(o);if(a&&this.isRequestOutOfSync(a,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(vt({topic:t},s)),this.client.events.emit("session_event",{id:n,topic:t,params:s}),ao.set(o,n)}catch(o){await this.sendError({id:n,topic:t,error:o}),this.client.logger.error(o)}},this.onSessionAuthenticateResponse=(t,i)=>{const{id:n}=i;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:t,payload:i}),Ii(i)?this.events.emit(Ve("session_request",n),{result:i.result}):Wr(i)&&this.events.emit(Ve("session_request",n),{error:i.error})},this.onSessionAuthenticateRequest=async t=>{var i;const{topic:n,payload:s,attestation:o,encryptedId:a,transportType:c}=t;try{const{requester:u,authPayload:l,expiryTimestamp:v}=s.params,A=await this.getVerifyContext({attestationId:o,hash:Bi(JSON.stringify(s)),encryptedId:a,metadata:u.metadata,transportType:c}),M={requester:u,pairingTopic:n,id:s.id,authPayload:l,verifyContext:A,expiryTimestamp:v};await this.setAuthRequest(s.id,{request:M,pairingTopic:n,transportType:c}),c===gt.link_mode&&(i=u.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp(u.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:n,params:s.params,id:s.id,verifyContext:A})}catch(u){this.client.logger.error(u);const l=s.params.requester.publicKey,v=await this.client.core.crypto.generateKeyPair(),A=this.getAppLinkIfEnabled(s.params.requester.metadata,c),M={type:ki,receiverPublicKey:l,senderPublicKey:v};await this.sendError({id:s.id,topic:n,error:u,encodeOpts:M,rpcOpts:Bt.wc_sessionAuthenticate.autoReject,appLink:A})}},this.addSessionRequestToSessionRequestQueue=t=>{this.sessionRequestQueue.queue.push(t)},this.cleanupAfterResponse=t=>{this.deletePendingSessionRequest(t.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=Ni.idle,this.processSessionRequestQueue()},re.toMiliseconds(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:t,error:i})=>{const n=this.client.core.history.pending;n.length>0&&n.filter(s=>s.topic===t&&s.request.method==="wc_sessionRequest").forEach(s=>{const o=s.request.id,a=Ve("session_request",o);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);this.events.emit(Ve("session_request",s.request.id),{error:i})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===Ni.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=Ni.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:qn("wc_sessionPropose",{requiredNamespaces:i.requiredNamespaces,optionalNamespaces:i.optionalNamespaces,relays:i.relays,proposer:i.proposer,sessionProperties:i.sessionProperties},i.id)})},this.isValidConnect=async t=>{if(!xr(t)){const{message:c}=ne("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(t)}`);throw new Error(c)}const{pairingTopic:i,requiredNamespaces:n,optionalNamespaces:s,sessionProperties:o,relays:a}=t;if(ur(i)||await this.isValidPairingTopic(i),!L5(a,!0)){const{message:c}=ne("MISSING_OR_INVALID",`connect() relays: ${a}`);throw new Error(c)}!ur(n)&&Na(n)!==0&&this.validateNamespaces(n,"requiredNamespaces"),!ur(s)&&Na(s)!==0&&this.validateNamespaces(s,"optionalNamespaces"),ur(o)||this.validateSessionProps(o,"sessionProperties")},this.validateNamespaces=(t,i)=>{const n=z5(t,"connect()",i);if(n)throw new Error(n.message)},this.isValidApprove=async t=>{if(!xr(t))throw new Error(ne("MISSING_OR_INVALID",`approve() params: ${t}`).message);const{id:i,namespaces:n,relayProtocol:s,sessionProperties:o}=t;this.checkRecentlyDeleted(i),await this.isValidProposalId(i);const a=this.client.proposal.get(i),c=Uc(n,"approve()");if(c)throw new Error(c.message);const u=P0(a.requiredNamespaces,n,"approve()");if(u)throw new Error(u.message);if(!Ot(s,!0)){const{message:l}=ne("MISSING_OR_INVALID",`approve() relayProtocol: ${s}`);throw new Error(l)}ur(o)||this.validateSessionProps(o,"sessionProperties")},this.isValidReject=async t=>{if(!xr(t)){const{message:s}=ne("MISSING_OR_INVALID",`reject() params: ${t}`);throw new Error(s)}const{id:i,reason:n}=t;if(this.checkRecentlyDeleted(i),await this.isValidProposalId(i),!B5(n)){const{message:s}=ne("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(n)}`);throw new Error(s)}},this.isValidSessionSettleRequest=t=>{if(!xr(t)){const{message:u}=ne("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${t}`);throw new Error(u)}const{relay:i,controller:n,namespaces:s,expiry:o}=t;if(!D0(i)){const{message:u}=ne("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(u)}const a=P5(n,"onSessionSettleRequest()");if(a)throw new Error(a.message);const c=Uc(s,"onSessionSettleRequest()");if(c)throw new Error(c.message);if(on(o)){const{message:u}=ne("EXPIRED","onSessionSettleRequest()");throw new Error(u)}},this.isValidUpdate=async t=>{if(!xr(t)){const{message:c}=ne("MISSING_OR_INVALID",`update() params: ${t}`);throw new Error(c)}const{topic:i,namespaces:n}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const s=this.client.session.get(i),o=Uc(n,"update()");if(o)throw new Error(o.message);const a=P0(s.requiredNamespaces,n,"update()");if(a)throw new Error(a.message)},this.isValidExtend=async t=>{if(!xr(t)){const{message:n}=ne("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(!xr(t)){const{message:c}=ne("MISSING_OR_INVALID",`request() params: ${t}`);throw new Error(c)}const{topic:i,request:n,chainId:s,expiry:o}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const{namespaces:a}=this.client.session.get(i);if(!R0(a,s)){const{message:c}=ne("MISSING_OR_INVALID",`request() chainId: ${s}`);throw new Error(c)}if(!V5(n)){const{message:c}=ne("MISSING_OR_INVALID",`request() ${JSON.stringify(n)}`);throw new Error(c)}if(!W5(a,s,n.method)){const{message:c}=ne("MISSING_OR_INVALID",`request() method: ${n.method}`);throw new Error(c)}if(o&&!J5(o,tu)){const{message:c}=ne("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${tu.min} and ${tu.max}`);throw new Error(c)}},this.isValidRespond=async t=>{var i;if(!xr(t)){const{message:o}=ne("MISSING_OR_INVALID",`respond() params: ${t}`);throw new Error(o)}const{topic:n,response:s}=t;try{await this.isValidSessionTopic(n)}catch(o){throw(i=t?.response)!=null&&i.id&&this.cleanupAfterResponse(t),o}if(!K5(s)){const{message:o}=ne("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(s)}`);throw new Error(o)}},this.isValidPing=async t=>{if(!xr(t)){const{message:n}=ne("MISSING_OR_INVALID",`ping() params: ${t}`);throw new Error(n)}const{topic:i}=t;await this.isValidSessionOrPairingTopic(i)},this.isValidEmit=async t=>{if(!xr(t)){const{message:a}=ne("MISSING_OR_INVALID",`emit() params: ${t}`);throw new Error(a)}const{topic:i,event:n,chainId:s}=t;await this.isValidSessionTopic(i);const{namespaces:o}=this.client.session.get(i);if(!R0(o,s)){const{message:a}=ne("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw new Error(a)}if(!j5(n)){const{message:a}=ne("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(a)}if(!Y5(o,s,n.name)){const{message:a}=ne("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(a)}},this.isValidDisconnect=async t=>{if(!xr(t)){const{message:n}=ne("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:s,nonce:o}=t;if(!Array.isArray(i)||i.length===0)throw new Error("chains is required and must be a non-empty array");if(!Ot(n,!1))throw new Error("uri is required parameter");if(!Ot(s,!1))throw new Error("domain is required parameter");if(!Ot(o,!1))throw new Error("nonce is required parameter");if([...new Set(i.map(c=>Js(c).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=Js(i[0]);if(a!=="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:s,metadata:o,transportType:a}=t,c={verified:{verifyUrl:o.verifyUrl||ho,validation:"UNKNOWN",origin:o.url||""}};try{if(a===gt.link_mode){const l=this.getAppLinkIfEnabled(o,a);return c.verified.validation=l&&new URL(l).origin===new URL(o.url).origin?"VALID":"INVALID",c}const u=await this.client.core.verify.resolve({attestationId:i,hash:n,encryptedId:s,verifyUrl:o.verifyUrl});u&&(c.verified.origin=u.origin,c.verified.isScam=u.isScam,c.verified.validation=u.origin===new URL(o.url).origin?"VALID":"INVALID")}catch(u){this.client.logger.warn(u)}return this.client.logger.debug(`Verify context: ${JSON.stringify(c)}`),c},this.validateSessionProps=(t,i)=>{Object.values(t).forEach(n=>{if(!Ot(n,!1)){const{message:s}=ne("MISSING_OR_INVALID",`${i} must be in Record<string, string> format. Received: ${JSON.stringify(n)}`);throw new Error(s)}})},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 s=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(n++>=s)break;this.recentlyDeletedMap.delete(o)}}},this.checkRecentlyDeleted=t=>{const i=this.recentlyDeletedMap.get(t);if(i){const{message:n}=ne("MISSING_OR_INVALID",`Record was recently deleted - ${i}: ${t}`);throw new Error(n)}},this.isLinkModeEnabled=(t,i)=>{var n,s,o,a,c,u,l,v,A;return!t||i!==gt.link_mode?!1:((s=(n=this.client.metadata)==null?void 0:n.redirect)==null?void 0:s.linkMode)===!0&&((a=(o=this.client.metadata)==null?void 0:o.redirect)==null?void 0:a.universal)!==void 0&&((u=(c=this.client.metadata)==null?void 0:c.redirect)==null?void 0:u.universal)!==""&&((l=t?.redirect)==null?void 0:l.universal)!==void 0&&((v=t?.redirect)==null?void 0:v.universal)!==""&&((A=t?.redirect)==null?void 0:A.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(t.redirect.universal)&&typeof(global==null?void 0:global.Linking)<"u"},this.getAppLinkIfEnabled=(t,i)=>{var n;return this.isLinkModeEnabled(t,i)?(n=t?.redirect)==null?void 0:n.universal:void 0},this.handleLinkModeMessage=({url:t})=>{if(!t||!t.includes("wc_ev")||!t.includes("topic"))return;const i=Ol(t,"topic")||"",n=decodeURIComponent(Ol(t,"wc_ev")||""),s=this.client.session.keys.includes(i);s&&this.client.session.update(i,{transportType:gt.link_mode}),this.client.core.dispatchEnvelope({topic:i,message:n,sessionExists:s})},this.registerLinkModeListeners=async()=>{var t;if(bc()||nn()&&(t=this.client.metadata.redirect)!=null&&t.linkMode){const i=global==null?void 0:global.Linking;if(typeof i<"u"){i.addEventListener("url",this.handleLinkModeMessage,this.client.name);const n=await i.getInitialURL();n&&setTimeout(()=>{this.handleLinkModeMessage({url:n})},50)}}},this.shouldSetTVF=(t,i)=>{if(!i||t!=="wc_sessionRequest")return!1;const{request:n,chainId:s}=i,o=Js(s).namespace;if(!(o in Cp))return!1;const a=Cp[o];return a?a.includes(n.method):!1},this.getTVFParams=(t,i,n)=>{var s,o;try{return Er(vt({correlationId:t,rpcMethods:[i.request.method],chainId:i.chainId},this.isValidContractData(i.request.params)&&{contractAddresses:[(o=(s=i.request.params)==null?void 0:s[0])==null?void 0:o.to]}),{txHashes:n})}catch(a){this.client.logger.warn("Error getting TVF params",a)}return{}},this.isValidContractData=t=>{var i;if(!t)return!1;try{const n=t?.data||((i=t?.[0])==null?void 0:i.data);if(!n.startsWith("0x"))return!1;const s=n.slice(2);return/^[0-9a-fA-F]*$/.test(s)?s.length%2===0:!1}catch{}return!1}}isInitialized(){if(!this.initialized){const{message:e}=ne("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(kt.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,transportType:s}=e,{publicKey:o}=this.client.auth.authKeys.keys.includes(Ca)?this.client.auth.authKeys.get(Ca):{responseTopic:void 0,publicKey:void 0},a=await this.client.core.crypto.decode(t,i,{receiverPublicKey:o,encoding:s===gt.link_mode?eo:un});try{Wc(a)?(this.client.core.history.set(t,a),this.onRelayEventRequest({topic:t,payload:a,attestation:n,transportType:s,encryptedId:Bi(i)})):Ra(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:t,payload:a,transportType:s}),this.client.core.history.delete(t,a.id)):this.onRelayEventUnknownPayload({topic:t,payload:a,transportType:s})}catch(c){this.client.logger.error(c)}}registerExpirerEvents(){this.client.core.expirer.on(Xr.expired,async e=>{const{topic:t,id:i}=Ml(e.target);if(i&&this.client.pendingRequest.keys.includes(i))return await this.deletePendingSessionRequest(i,ne("EXPIRED"),!0);if(i&&this.client.auth.requests.keys.includes(i))return await this.deletePendingAuthRequest(i,ne("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(Cn.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(Cn.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!Ot(e,!1)){const{message:t}=ne("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}=ne("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(on(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=ne("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!Ot(e,!1)){const{message:t}=ne("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}=ne("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(on(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=ne("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=ne("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(Ot(e,!1)){const{message:t}=ne("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}else{const{message:t}=ne("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}async isValidProposalId(e){if(!k5(e)){const{message:t}=ne("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=ne("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(on(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=ne("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}}class XE extends Ln{constructor(e,t){super(e,t,DE,$c),this.core=e,this.logger=t}}class Lp extends Ln{constructor(e,t){super(e,t,PE,$c),this.core=e,this.logger=t}}class GE extends Ln{constructor(e,t){super(e,t,FE,$c,i=>i.id),this.core=e,this.logger=t}}class JE extends Ln{constructor(e,t){super(e,t,zE,qa,()=>Ca),this.core=e,this.logger=t}}class HE extends Ln{constructor(e,t){super(e,t,LE,qa),this.core=e,this.logger=t}}class ZE extends Ln{constructor(e,t){super(e,t,kE,qa,i=>i.id),this.core=e,this.logger=t}}class QE{constructor(e,t){this.core=e,this.logger=t,this.authKeys=new JE(this.core,this.logger),this.pairingTopics=new HE(this.core,this.logger),this.requests=new ZE(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}class ru extends Ag{constructor(e){super(e),this.protocol=Pp,this.version=Tp,this.name=eu.name,this.events=new $t.exports.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,n)=>{try{return await this.engine.authenticate(i,n)}catch(s){throw this.logger.error(s.message),s}},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?.name||eu.name,this.metadata=e?.metadata||xl(),this.signConfig=e?.signConfig;const t=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:Ri(cf({level:e?.logger||eu.logger}));this.core=e?.core||new _c(e),this.logger=or(t,this.name),this.session=new Lp(this.core,this.logger),this.proposal=new XE(this.core,this.logger),this.pendingRequest=new GE(this.core,this.logger),this.engine=new YE(this),this.auth=new QE(this.core,this.logger)}static async init(e){const t=new ru(e);return await t.initialize(),t}get context(){return gr(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout(()=>{this.engine.processRelayMessageCache()},re.toMiliseconds(re.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}const _E=Lp,$E=ru;class eS extends $t.exports{constructor(){super()}}class kp{constructor(e){this.opts=e}}class Bp{constructor(e){this.client=e}}class Vp{constructor(e){this.engine=e}}const tS={};let pe;const Yi=new Array(128).fill(void 0);Yi.push(void 0,null,!0,!1);function ie(r){return Yi[r]}let Tt=0,vo=null;function mo(){return(vo===null||vo.byteLength===0)&&(vo=new Uint8Array(pe.memory.buffer)),vo}const Ua=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},rS=typeof Ua.encodeInto=="function"?function(r,e){return Ua.encodeInto(r,e)}:function(r,e){const t=Ua.encode(r);return e.set(t),{read:r.length,written:t.length}};function hr(r,e,t){if(t===void 0){const a=Ua.encode(r),c=e(a.length,1)>>>0;return mo().subarray(c,c+a.length).set(a),Tt=a.length,c}let i=r.length,n=e(i,1)>>>0;const s=mo();let o=0;for(;o<i;o++){const a=r.charCodeAt(o);if(a>127)break;s[n+o]=a}if(o!==i){o!==0&&(r=r.slice(o)),n=t(n,i,i=o+r.length*3,1)>>>0;const a=mo().subarray(n+o,n+i),c=rS(r,a);o+=c.written,n=t(n,i,o,1)>>>0}return Tt=o,n}let kn=null;function fi(){return(kn===null||kn.buffer.detached===!0||kn.buffer.detached===void 0&&kn.buffer!==pe.memory.buffer)&&(kn=new DataView(pe.memory.buffer)),kn}const Kp=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&Kp.decode();function hn(r,e){return r=r>>>0,Kp.decode(mo().subarray(r,r+e))}let yo=Yi.length;function be(r){yo===Yi.length&&Yi.push(Yi.length+1);const e=yo;return yo=Yi[e],Yi[e]=r,e}function Sr(r,e){try{return r.apply(this,e)}catch(t){pe.__wbindgen_export_2(be(t))}}function iS(r,e){return r=r>>>0,mo().subarray(r/1,r/1+e)}function nS(r){r<132||(Yi[r]=yo,yo=r)}function Pr(r){const e=ie(r);return nS(r),e}function Xi(r){return r==null}const jp=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(r=>{pe.__wbindgen_export_3.get(r.dtor)(r.a,r.b)});function Wp(r,e,t,i){const n={a:r,b:e,cnt:1,dtor:t},s=(...o)=>{n.cnt++;const a=n.a;n.a=0;try{return i(a,n.b,...o)}finally{--n.cnt===0?(pe.__wbindgen_export_3.get(n.dtor)(a,n.b),jp.unregister(n)):n.a=a}};return s.original=n,jp.register(s,n,n),s}function sS(r,e){const t=e(r.length*4,4)>>>0,i=fi();for(let n=0;n<r.length;n++)i.setUint32(t+4*n,be(r[n]),!0);return Tt=r.length,t}function oS(r,e,t){pe.__wbindgen_export_5(r,e,be(t))}function aS(r,e){pe.__wbindgen_export_6(r,e)}function fS(r,e,t,i){pe.__wbindgen_export_7(r,e,be(t),be(i))}const Yp=Object.freeze({Usd:0,0:"Usd",Eur:1,1:"Eur",Gbp:2,2:"Gbp",Aud:3,3:"Aud",Cad:4,4:"Cad",Inr:5,5:"Inr",Jpy:6,6:"Jpy",Btc:7,7:"Btc",Eth:8,8:"Eth"}),cS=["omit","same-origin","include"],uS=["same-origin","no-cors","cors","navigate"],Xp=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(r=>pe.__wbg_client_free(r>>>0,1));class hS{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,Xp.unregister(this),e}free(){const e=this.__destroy_into_raw();pe.__wbg_client_free(e,0)}constructor(e,t){const i=hr(e,pe.__wbindgen_export_0,pe.__wbindgen_export_1),n=Tt,s=pe.client_new(i,n,be(t));return this.__wbg_ptr=s>>>0,Xp.register(this,this.__wbg_ptr,this),this}prepare(e,t,i){const n=hr(e,pe.__wbindgen_export_0,pe.__wbindgen_export_1),s=Tt,o=hr(t,pe.__wbindgen_export_0,pe.__wbindgen_export_1),a=Tt,c=pe.client_prepare(this.__wbg_ptr,n,s,o,a,be(i));return Pr(c)}get_ui_fields(e,t){const i=pe.client_get_ui_fields(this.__wbg_ptr,be(e),t);return Pr(i)}prepare_detailed(e,t,i,n){const s=hr(e,pe.__wbindgen_export_0,pe.__wbindgen_export_1),o=Tt,a=hr(t,pe.__wbindgen_export_0,pe.__wbindgen_export_1),c=Tt,u=pe.client_prepare_detailed(this.__wbg_ptr,s,o,a,c,be(i),n);return Pr(u)}status(e){const t=hr(e,pe.__wbindgen_export_0,pe.__wbindgen_export_1),i=Tt,n=pe.client_status(this.__wbg_ptr,t,i);return Pr(n)}wait_for_success(e,t){const i=hr(e,pe.__wbindgen_export_0,pe.__wbindgen_export_1),n=Tt,s=pe.client_wait_for_success(this.__wbg_ptr,i,n,t);return Pr(s)}wait_for_success_with_timeout(e,t,i){const n=hr(e,pe.__wbindgen_export_0,pe.__wbindgen_export_1),s=Tt,o=pe.client_wait_for_success_with_timeout(this.__wbg_ptr,n,s,t,i);return Pr(o)}execute(e,t,i){const n=sS(t,pe.__wbindgen_export_0),s=Tt,o=hr(i,pe.__wbindgen_export_0,pe.__wbindgen_export_1),a=Tt,c=pe.client_execute(this.__wbg_ptr,be(e),n,s,o,a);return Pr(c)}erc20_token_balance(e,t,i){const n=hr(e,pe.__wbindgen_export_0,pe.__wbindgen_export_1),s=Tt,o=hr(t,pe.__wbindgen_export_0,pe.__wbindgen_export_1),a=Tt,c=hr(i,pe.__wbindgen_export_0,pe.__wbindgen_export_1),u=Tt,l=pe.client_erc20_token_balance(this.__wbg_ptr,n,s,o,a,c,u);return Pr(l)}}typeof FinalizationRegistry>"u"||new FinalizationRegistry(r=>pe.__wbg_config_free(r>>>0,1)),typeof FinalizationRegistry>"u"||new FinalizationRegistry(r=>pe.__wbg_endpoint_free(r>>>0,1)),typeof FinalizationRegistry>"u"||new FinalizationRegistry(r=>pe.__wbg_endpoints_free(r>>>0,1));async function dS(r,e){if(typeof Response=="function"&&r instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(r,e)}catch(i){if(r.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",i);else throw i}const t=await r.arrayBuffer();return await WebAssembly.instantiate(t,e)}else{const t=await WebAssembly.instantiate(r,e);return t instanceof WebAssembly.Instance?{instance:t,module:r}:t}}function lS(){const r={};return r.wbg={},r.wbg.__wbg_String_8f0eb39a4a4c2f66=function(e,t){const i=String(ie(t)),n=hr(i,pe.__wbindgen_export_0,pe.__wbindgen_export_1),s=Tt;fi().setInt32(e+4*1,s,!0),fi().setInt32(e+4*0,n,!0)},r.wbg.__wbg_abort_775ef1d17fc65868=function(e){ie(e).abort()},r.wbg.__wbg_append_8c7dd8d641a5f01b=function(){return Sr(function(e,t,i,n,s){ie(e).append(hn(t,i),hn(n,s))},arguments)},r.wbg.__wbg_arrayBuffer_d1b44c4390db422f=function(){return Sr(function(e){const t=ie(e).arrayBuffer();return be(t)},arguments)},r.wbg.__wbg_buffer_609cc3eee51ed158=function(e){const t=ie(e).buffer;return be(t)},r.wbg.__wbg_call_672a4d21634d4a24=function(){return Sr(function(e,t){const i=ie(e).call(ie(t));return be(i)},arguments)},r.wbg.__wbg_call_7cccdd69e0791ae2=function(){return Sr(function(e,t,i){const n=ie(e).call(ie(t),ie(i));return be(n)},arguments)},r.wbg.__wbg_done_769e5ede4b31c67b=function(e){return ie(e).done},r.wbg.__wbg_entries_3265d4158b33e5dc=function(e){const t=Object.entries(ie(e));return be(t)},r.wbg.__wbg_fetch_4465c2b10f21a927=function(e){const t=fetch(ie(e));return be(t)},r.wbg.__wbg_fetch_509096533071c657=function(e,t){const i=ie(e).fetch(ie(t));return be(i)},r.wbg.__wbg_getRandomValues_0fd9e2d73ca5f48f=function(){return Sr(function(e,t){globalThis.crypto.getRandomValues(iS(e,t))},arguments)},r.wbg.__wbg_get_67b2ba62fc30de12=function(){return Sr(function(e,t){const i=Reflect.get(ie(e),ie(t));return be(i)},arguments)},r.wbg.__wbg_get_b9b93047fe3cf45b=function(e,t){const i=ie(e)[t>>>0];return be(i)},r.wbg.__wbg_getwithrefkey_1dc361bd10053bfe=function(e,t){const i=ie(e)[ie(t)];return be(i)},r.wbg.__wbg_has_a5ea9117f258a0ec=function(){return Sr(function(e,t){return Reflect.has(ie(e),ie(t))},arguments)},r.wbg.__wbg_headers_9cb51cfd2ac780a4=function(e){const t=ie(e).headers;return be(t)},r.wbg.__wbg_instanceof_ArrayBuffer_e14585432e3737fc=function(e){let t;try{t=ie(e)instanceof ArrayBuffer}catch{t=!1}return t},r.wbg.__wbg_instanceof_Map_f3469ce2244d2430=function(e){let t;try{t=ie(e)instanceof Map}catch{t=!1}return t},r.wbg.__wbg_instanceof_Response_f2cc20d9f7dfd644=function(e){let t;try{t=ie(e)instanceof Response}catch{t=!1}return t},r.wbg.__wbg_instanceof_Uint8Array_17156bcf118086a9=function(e){let t;try{t=ie(e)instanceof Uint8Array}catch{t=!1}return t},r.wbg.__wbg_isArray_a1eab7e0d067391b=function(e){return Array.isArray(ie(e))},r.wbg.__wbg_isSafeInteger_343e2beeeece1bb0=function(e){return Number.isSafeInteger(ie(e))},r.wbg.__wbg_iterator_9a24c88df860dc65=function(){return be(Symbol.iterator)},r.wbg.__wbg_length_a446193dc22c12f8=function(e){return ie(e).length},r.wbg.__wbg_length_e2d2a49132c1b256=function(e){return ie(e).length},r.wbg.__wbg_new_018dcc2d6c8c2f6a=function(){return Sr(function(){const e=new Headers;return be(e)},arguments)},r.wbg.__wbg_new_23a2665fac83c611=function(e,t){try{var i={a:e,b:t};const n=(o,a)=>{const c=i.a;i.a=0;try{return fS(c,i.b,o,a)}finally{i.a=c}},s=new Promise(n);return be(s)}finally{i.a=i.b=0}},r.wbg.__wbg_new_405e22f390576ce2=function(){const e=new Object;return be(e)},r.wbg.__wbg_new_5e0be73521bc8c17=function(){return be(new Map)},r.wbg.__wbg_new_78feb108b6472713=function(){return be([])},r.wbg.__wbg_new_a12002a7f91c75be=function(e){const t=new Uint8Array(ie(e));return be(t)},r.wbg.__wbg_new_e25e5aab09ff45db=function(){return Sr(function(){const e=new AbortController;return be(e)},arguments)},r.wbg.__wbg_newnoargs_105ed471475aaf50=function(e,t){const i=new Function(hn(e,t));return be(i)},r.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a=function(e,t,i){const n=new Uint8Array(ie(e),t>>>0,i>>>0);return be(n)},r.wbg.__wbg_newwithstrandinit_06c535e0a867c635=function(){return Sr(function(e,t,i){const n=new Request(hn(e,t),ie(i));return be(n)},arguments)},r.wbg.__wbg_next_25feadfc0913fea9=function(e){const t=ie(e).next;return be(t)},r.wbg.__wbg_next_6574e1a8a62d1055=function(){return Sr(function(e){const t=ie(e).next();return be(t)},arguments)},r.wbg.__wbg_now_fb0466b5460cff09=function(e){return ie(e).now()},r.wbg.__wbg_performance_71b063e177862740=function(e){const t=ie(e).performance;return be(t)},r.wbg.__wbg_queueMicrotask_97d92b4fcc8a61c5=function(e){queueMicrotask(ie(e))},r.wbg.__wbg_queueMicrotask_d3219def82552485=function(e){const t=ie(e).queueMicrotask;return be(t)},r.wbg.__wbg_resolve_4851785c9c5f573d=function(e){const t=Promise.resolve(ie(e));return be(t)},r.wbg.__wbg_setTimeout_25eabdb2fc442ea2=function(){return Sr(function(e,t,i){const n=ie(e).setTimeout(ie(t),i);return be(n)},arguments)},r.wbg.__wbg_set_37837023f3d740e8=function(e,t,i){ie(e)[t>>>0]=Pr(i)},r.wbg.__wbg_set_3f1d0b984ed272ed=function(e,t,i){ie(e)[Pr(t)]=Pr(i)},r.wbg.__wbg_set_65595bdd868b3009=function(e,t,i){ie(e).set(ie(t),i>>>0)},r.wbg.__wbg_set_8fc6bf8a5b1071d1=function(e,t,i){const n=ie(e).set(ie(t),ie(i));return be(n)},r.wbg.__wbg_setbody_5923b78a95eedf29=function(e,t){ie(e).body=ie(t)},r.wbg.__wbg_setcredentials_c3a22f1cd105a2c6=function(e,t){ie(e).credentials=cS[t]},r.wbg.__wbg_setheaders_834c0bdb6a8949ad=function(e,t){ie(e).headers=ie(t)},r.wbg.__wbg_setmethod_3c5280fe5d890842=function(e,t,i){ie(e).method=hn(t,i)},r.wbg.__wbg_setmode_5dc300b865044b65=function(e,t){ie(e).mode=uS[t]},r.wbg.__wbg_setsignal_75b21ef3a81de905=function(e,t){ie(e).signal=ie(t)},r.wbg.__wbg_signal_aaf9ad74119f20a4=function(e){const t=ie(e).signal;return be(t)},r.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07=function(){const e=typeof global>"u"?null:global;return Xi(e)?0:be(e)},r.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0=function(){const e=typeof globalThis>"u"?null:globalThis;return Xi(e)?0:be(e)},r.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819=function(){const e=typeof self>"u"?null:self;return Xi(e)?0:be(e)},r.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40=function(){const e=typeof window>"u"?null:window;return Xi(e)?0:be(e)},r.wbg.__wbg_status_f6360336ca686bf0=function(e){return ie(e).status},r.wbg.__wbg_stringify_f7ed6987935b4a24=function(){return Sr(function(e){const t=JSON.stringify(ie(e));return be(t)},arguments)},r.wbg.__wbg_text_7805bea50de2af49=function(){return Sr(function(e){const t=ie(e).text();return be(t)},arguments)},r.wbg.__wbg_then_44b73946d2fb3e7d=function(e,t){const i=ie(e).then(ie(t));return be(i)},r.wbg.__wbg_then_48b406749878a531=function(e,t,i){const n=ie(e).then(ie(t),ie(i));return be(n)},r.wbg.__wbg_url_ae10c34ca209681d=function(e,t){const i=ie(t).url,n=hr(i,pe.__wbindgen_export_0,pe.__wbindgen_export_1),s=Tt;fi().setInt32(e+4*1,s,!0),fi().setInt32(e+4*0,n,!0)},r.wbg.__wbg_value_cd1ffa7b1ab794f1=function(e){const t=ie(e).value;return be(t)},r.wbg.__wbindgen_as_number=function(e){return+ie(e)},r.wbg.__wbindgen_bigint_from_i64=function(e){return be(e)},r.wbg.__wbindgen_bigint_from_u64=function(e){const t=BigInt.asUintN(64,e);return be(t)},r.wbg.__wbindgen_bigint_get_as_i64=function(e,t){const i=ie(t),n=typeof i=="bigint"?i:void 0;fi().setBigInt64(e+8*1,Xi(n)?BigInt(0):n,!0),fi().setInt32(e+4*0,!Xi(n),!0)},r.wbg.__wbindgen_boolean_get=function(e){const t=ie(e);return typeof t=="boolean"?t?1:0:2},r.wbg.__wbindgen_cb_drop=function(e){const t=Pr(e).original;return t.cnt--==1?(t.a=0,!0):!1},r.wbg.__wbindgen_closure_wrapper4846=function(e,t,i){const n=Wp(e,t,408,oS);return be(n)},r.wbg.__wbindgen_closure_wrapper5329=function(e,t,i){const n=Wp(e,t,431,aS);return be(n)},r.wbg.__wbindgen_error_new=function(e,t){const i=new Error(hn(e,t));return be(i)},r.wbg.__wbindgen_in=function(e,t){return ie(e)in ie(t)},r.wbg.__wbindgen_is_bigint=function(e){return typeof ie(e)=="bigint"},r.wbg.__wbindgen_is_function=function(e){return typeof ie(e)=="function"},r.wbg.__wbindgen_is_object=function(e){const t=ie(e);return typeof t=="object"&&t!==null},r.wbg.__wbindgen_is_string=function(e){return typeof ie(e)=="string"},r.wbg.__wbindgen_is_undefined=function(e){return ie(e)===void 0},r.wbg.__wbindgen_jsval_eq=function(e,t){return ie(e)===ie(t)},r.wbg.__wbindgen_jsval_loose_eq=function(e,t){return ie(e)==ie(t)},r.wbg.__wbindgen_memory=function(){const e=pe.memory;return be(e)},r.wbg.__wbindgen_number_get=function(e,t){const i=ie(t),n=typeof i=="number"?i:void 0;fi().setFloat64(e+8*1,Xi(n)?0:n,!0),fi().setInt32(e+4*0,!Xi(n),!0)},r.wbg.__wbindgen_number_new=function(e){return be(e)},r.wbg.__wbindgen_object_clone_ref=function(e){const t=ie(e);return be(t)},r.wbg.__wbindgen_object_drop_ref=function(e){Pr(e)},r.wbg.__wbindgen_string_get=function(e,t){const i=ie(t),n=typeof i=="string"?i:void 0,s=Xi(n)?0:hr(n,pe.__wbindgen_export_0,pe.__wbindgen_export_1),o=Tt;fi().setInt32(e+4*1,o,!0),fi().setInt32(e+4*0,s,!0)},r.wbg.__wbindgen_string_new=function(e,t){const i=hn(e,t);return be(i)},r.wbg.__wbindgen_throw=function(e,t){throw new Error(hn(e,t))},r}function pS(r,e){return pe=r.exports,Gp.__wbindgen_wasm_module=e,kn=null,vo=null,pe}async function Gp(r){if(pe!==void 0)return pe;typeof r<"u"&&(Object.getPrototypeOf(r)===Object.prototype?{module_or_path:r}=r:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),typeof r>"u"&&(r=new URL("yttrium_bg.wasm",tS.url));const e=lS();(typeof r=="string"||typeof Request=="function"&&r instanceof Request||typeof URL=="function"&&r instanceof URL)&&(r=fetch(r));const{instance:t,module:i}=await dS(await r,e);return pS(t,i)}const bS="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",gS={decryptMessage:async r=>{const e={core:new _c({storageOptions:r.storageOptions,storage:r.storage})};await e.core.crypto.init();const t=e.core.crypto.decode(r.topic,r.encryptedMessage);return e.core=null,t},getMetadata:async r=>{const e={core:new _c({storageOptions:r.storageOptions,storage:r.storage}),sessionStore:null};e.sessionStore=new _E(e.core,e.core.logger),await e.sessionStore.init();const t=e.sessionStore.get(r.topic),i=t?.peer.metadata;return e.core=null,e.sessionStore=null,i}};var wo={},za={};function Jp(r){this.buffer=r,this.pos=0}Jp.prototype.read=function(r,e,t){this.pos+t>this.buffer.length&&(t=this.buffer.length-this.pos);for(var i=0;i<t;i++)r[e+i]=this.buffer[this.pos+i];return this.pos+=t,t},za.BrotliInput=Jp;function Hp(r){this.buffer=r,this.pos=0}Hp.prototype.write=function(r,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(r.subarray(0,e),this.pos),this.pos+=e,e},za.BrotliOutput=Hp;var Bn=4096,vS=2*Bn+32,Zp=2*Bn-1,mS=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function Vn(r){this.buf_=new Uint8Array(vS),this.input_=r,this.reset()}Vn.READ_SIZE=Bn,Vn.IBUF_MASK=Zp,Vn.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var r=0;r<4;r++)this.val_|=this.buf_[this.pos_]<<8*r,++this.pos_;return this.bit_end_pos_>0},Vn.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var r=this.buf_ptr_,e=this.input_.read(this.buf_,r,Bn);if(e<0)throw new Error("Unexpected end of input");if(e<Bn){this.eos_=1;for(var t=0;t<32;t++)this.buf_[r+e+t]=0}if(r===0){for(var t=0;t<32;t++)this.buf_[(Bn<<1)+t]=this.buf_[t];this.buf_ptr_=Bn}else this.buf_ptr_=0;this.bit_end_pos_+=e<<3}},Vn.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[this.pos_&Zp]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},Vn.prototype.readBits=function(r){32-this.bit_pos_<r&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&mS[r];return this.bit_pos_+=r,e};var yS=Vn,dn={},iu={},La={};La.byteLength=ES,La.toByteArray=AS,La.fromByteArray=OS;for(var Di=[],Gr=[],wS=typeof Uint8Array<"u"?Uint8Array:Array,nu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Es=0,xS=nu.length;Es<xS;++Es)Di[Es]=nu[Es],Gr[nu.charCodeAt(Es)]=Es;Gr["-".charCodeAt(0)]=62,Gr["_".charCodeAt(0)]=63;function Qp(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var i=t===e?0:4-t%4;return[t,i]}function ES(r){var e=Qp(r),t=e[0],i=e[1];return(t+i)*3/4-i}function SS(r,e,t){return(e+t)*3/4-t}function AS(r){var e,t=Qp(r),i=t[0],n=t[1],s=new wS(SS(r,i,n)),o=0,a=n>0?i-4:i,c;for(c=0;c<a;c+=4)e=Gr[r.charCodeAt(c)]<<18|Gr[r.charCodeAt(c+1)]<<12|Gr[r.charCodeAt(c+2)]<<6|Gr[r.charCodeAt(c+3)],s[o++]=e>>16&255,s[o++]=e>>8&255,s[o++]=e&255;return n===2&&(e=Gr[r.charCodeAt(c)]<<2|Gr[r.charCodeAt(c+1)]>>4,s[o++]=e&255),n===1&&(e=Gr[r.charCodeAt(c)]<<10|Gr[r.charCodeAt(c+1)]<<4|Gr[r.charCodeAt(c+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function IS(r){return Di[r>>18&63]+Di[r>>12&63]+Di[r>>6&63]+Di[r&63]}function MS(r,e,t){for(var i,n=[],s=e;s<t;s+=3)i=(r[s]<<16&16711680)+(r[s+1]<<8&65280)+(r[s+2]&255),n.push(IS(i));return n.join("")}function OS(r){for(var e,t=r.length,i=t%3,n=[],s=16383,o=0,a=t-i;o<a;o+=s)n.push(MS(r,o,o+s>a?a:o+s));return i===1?(e=r[t-1],n.push(Di[e>>2]+Di[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(Di[e>>10]+Di[e>>4&63]+Di[e<<2&63]+"=")),n.join("")}var su,_p;function NS(){return _p||(_p=1,su="W5/fcQLn5gKf2XUbAiQ1XULX+TZz6ADToDsgqk6qVfeC0e4m6OO2wcQ1J76ZBVRV1fRkEsdu//62zQsFEZWSTCnMhcsQKlS2qOhuVYYMGCkV0fXWEoMFbESXrKEZ9wdUEsyw9g4bJlEt1Y6oVMxMRTEVbCIwZzJzboK5j8m4YH02qgXYhv1V+PM435sLVxyHJihaJREEhZGqL03txGFQLm76caGO/ovxKvzCby/3vMTtX/459f0igi7WutnKiMQ6wODSoRh/8Lx1V3Q99MvKtwB6bHdERYRY0hStJoMjNeTsNX7bn+Y7e4EQ3bf8xBc7L0BsyfFPK43dGSXpL6clYC/I328h54/VYrQ5i0648FgbGtl837svJ35L3Mot/+nPlNpWgKx1gGXQYqX6n+bbZ7wuyCHKcUok12Xjqub7NXZGzqBx0SD+uziNf87t7ve42jxSKQoW3nyxVrWIGlFShhCKxjpZZ5MeGna0+lBkk+kaN8F9qFBAFgEogyMBdcX/T1W/WnMOi/7ycWUQloEBKGeC48MkiwqJkJO+12eQiOFHMmck6q/IjWW3RZlany23TBm+cNr/84/oi5GGmGBZWrZ6j+zykVozz5fT/QH/Da6WTbZYYPynVNO7kxzuNN2kxKKWche5WveitPKAecB8YcAHz/+zXLjcLzkdDSktNIDwZE9J9X+tto43oJy65wApM3mDzYtCwX9lM+N5VR3kXYo0Z3t0TtXfgBFg7gU8oN0Dgl7fZlUbhNll+0uuohRVKjrEd8egrSndy5/Tgd2gqjA4CAVuC7ESUmL3DZoGnfhQV8uwnpi8EGvAVVsowNRxPudck7+oqAUDkwZopWqFnW1riss0t1z6iCISVKreYGNvQcXv+1L9+jbP8cd/dPUiqBso2q+7ZyFBvENCkkVr44iyPbtOoOoCecWsiuqMSML5lv+vN5MzUr+Dnh73G7Q1YnRYJVYXHRJaNAOByiaK6CusgFdBPE40r0rvqXV7tksKO2DrHYXBTv8P5ysqxEx8VDXUDDqkPH6NNOV/a2WH8zlkXRELSa8P+heNyJBBP7PgsG1EtWtNef6/i+lcayzQwQCsduidpbKfhWUDgAEmyhGu/zVTacI6RS0zTABrOYueemnVa19u9fT23N/Ta6RvTpof5DWygqreCqrDAgM4LID1+1T/taU6yTFVLqXOv+/MuQOFnaF8vLMKD7tKWDoBdALgxF33zQccCcdHx8fKIVdW69O7qHtXpeGr9jbbpFA+qRMWr5hp0s67FPc7HAiLV0g0/peZlW7hJPYEhZyhpSwahnf93/tZgfqZWXFdmdXBzqxGHLrQKxoAY6fRoBhgCRPmmGueYZ5JexTVDKUIXzkG/fqp/0U3hAgQdJ9zumutK6nqWbaqvm1pgu03IYR+G+8s0jDBBz8cApZFSBeuWasyqo2OMDKAZCozS+GWSvL/HsE9rHxooe17U3s/lTE+VZAk4j3dp6uIGaC0JMiqR5CUsabPyM0dOYDR7Ea7ip4USZlya38YfPtvrX/tBlhHilj55nZ1nfN24AOAi9BVtz/Mbn8AEDJCqJgsVUa6nQnSxv2Fs7l/NlCzpfYEjmPrNyib/+t0ei2eEMjvNhLkHCZlci4WhBe7ePZTmzYqlY9+1pxtS4GB+5lM1BHT9tS270EWUDYFq1I0yY/fNiAk4bk9yBgmef/f2k6AlYQZHsNFnW8wBQxCd68iWv7/35bXfz3JZmfGligWAKRjIs3IpzxQ27vAglHSiOzCYzJ9L9A1CdiyFvyR66ucA4jKifu5ehwER26yV7HjKqn5Mfozo7Coxxt8LWWPT47BeMxX8p0Pjb7hZn+6bw7z3Lw+7653j5sI8CLu5kThpMlj1m4c2ch3jGcP1FsT13vuK3qjecKTZk2kHcOZY40UX+qdaxstZqsqQqgXz+QGF99ZJLqr3VYu4aecl1Ab5GmqS8k/GV5b95zxQ5d4EfXUJ6kTS/CXF/aiqKDOT1T7Jz5z0PwDUcwr9clLN1OJGCiKfqvah+h3XzrBOiLOW8wvn8gW6qE8vPxi+Efv+UH55T7PQFVMh6cZ1pZQlzJpKZ7P7uWvwPGJ6DTlR6wbyj3Iv2HyefnRo/dv7dNx+qaa0N38iBsR++Uil7Wd4afwDNsrzDAK4fXZwvEY/jdKuIKXlfrQd2C39dW7ntnRbIp9OtGy9pPBn/V2ASoi/2UJZfS+xuGLH8bnLuPlzdTNS6zdyk8Dt/h6sfOW5myxh1f+zf3zZ3MX/mO9cQPp5pOx967ZA6/pqHvclNfnUFF+rq+Vd7alKr6KWPcIDhpn6v2K6NlUu6LrKo8b/pYpU/Gazfvtwhn7tEOUuXht5rUJdSf6sLjYf0VTYDgwJ81yaqKTUYej/tbHckSRb/HZicwGJqh1mAHB/IuNs9dc9yuvF3D5Xocm3elWFdq5oEy70dYFit79yaLiNjPj5UUcVmZUVhQEhW5V2Z6Cm4HVH/R8qlamRYwBileuh07CbEce3TXa2JmXWBf+ozt319psboobeZhVnwhMZzOeQJzhpTDbP71Tv8HuZxxUI/+ma3XW6DFDDs4+qmpERwHGBd2edxwUKlODRdUWZ/g0GOezrbzOZauFMai4QU6GVHV6aPNBiBndHSsV4IzpvUiiYyg6OyyrL4Dj5q/Lw3N5kAwftEVl9rNd7Jk5PDij2hTH6wIXnsyXkKePxbmHYgC8A6an5Fob/KH5GtC0l4eFso+VpxedtJHdHpNm+Bvy4C79yVOkrZsLrQ3OHCeB0Ra+kBIRldUGlDCEmq2RwXnfyh6Dz+alk6eftI2n6sastRrGwbwszBeDRS/Fa/KwRJkCzTsLr/JCs5hOPE/MPLYdZ1F1fv7D+VmysX6NpOC8aU9F4Qs6HvDyUy9PvFGDKZ/P5101TYHFl8pjj6wm/qyS75etZhhfg0UEL4OYmHk6m6dO192AzoIyPSV9QedDA4Ml23rRbqxMPMxf7FJnDc5FTElVS/PyqgePzmwVZ26NWhRDQ+oaT7ly7ell4s3DypS1s0g+tOr7XHrrkZj9+x/mJBttrLx98lFIaRZzHz4aC7r52/JQ4VjHahY2/YVXZn/QC2ztQb/sY3uRlyc5vQS8nLPGT/n27495i8HPA152z7Fh5aFpyn1GPJKHuPL8Iw94DuW3KjkURAWZXn4EQy89xiKEHN1mk/tkM4gYDBxwNoYvRfE6LFqsxWJtPrDGbsnLMap3Ka3MUoytW0cvieozOmdERmhcqzG+3HmZv2yZeiIeQTKGdRT4HHNxekm1tY+/n06rGmFleqLscSERzctTKM6G9P0Pc1RmVvrascIxaO1CQCiYPE15bD7c3xSeW7gXxYjgxcrUlcbIvO0r+Yplhx0kTt3qafDOmFyMjgGxXu73rddMHpV1wMubyAGcf/v5dLr5P72Ta9lBF+fzMJrMycwv+9vnU3ANIl1cH9tfW7af8u0/HG0vV47jNFXzFTtaha1xvze/s8KMtCYucXc1nzfd/MQydUXn/b72RBt5wO/3jRcMH9BdhC/yctKBIveRYPrNpDWqBsO8VMmP+WvRaOcA4zRMR1PvSoO92rS7pYEv+fZfEfTMzEdM+6X5tLlyxExhqLRkms5EuLovLfx66de5fL2/yX02H52FPVwahrPqmN/E0oVXnsCKhbi/yRxX83nRbUKWhzYceXOntfuXn51NszJ6MO73pQf5Pl4in3ec4JU8hF7ppV34+mm9r1LY0ee/i1O1wpd8+zfLztE0cqBxggiBi5Bu95v9l3r9r/U5hweLn+TbfxowrWDqdJauKd8+q/dH8sbPkc9ttuyO94f7/XK/nHX46MPFLEb5qQlNPvhJ50/59t9ft3LXu7uVaWaO2bDrDCnRSzZyWvFKxO1+vT8MwwunR3bX0CkfPjqb4K9O19tn5X50PvmYpEwHtiW9WtzuV/s76B1zvLLNkViNd8ySxIl/3orfqP90TyTGaf7/rx8jQzeHJXdmh/N6YDvbvmTBwCdxfEQ1NcL6wNMdSIXNq7b1EUzRy1/Axsyk5p22GMG1b+GxFgbHErZh92wuvco0AuOLXct9hvw2nw/LqIcDRRmJmmZzcgUa7JpM/WV/S9IUfbF56TL2orzqwebdRD8nIYNJ41D/hz37Fo11p2Y21wzPcn713qVGhqtevStYfGH4n69OEJtPvbbLYWvscDqc3Hgnu166+tAyLnxrX0Y5zoYjV++1sI7t5kMr02KT/+uwtkc+rZLOf/qn/s3nYCf13Dg8/sB2diJgjGqjQ+TLhxbzyue2Ob7X6/9lUwW7a+lbznHzOYy8LKW1C/uRPbQY3KW/0gO9LXunHLvPL97afba9bFtc9hmz7GAttjVYlCvQAiOwAk/gC5+hkLEs6tr3AZKxLJtOEwk2dLxTYWsIB/j/ToWtIWzo906FrSG8iaqqqqqqiIiIiAgzMzMzNz+AyK+01/zi8n8S+Y1MjoRaQ80WU/G8MBlO+53VPXANrWm4wzGUVZUjjBJZVdhpcfkjsmcWaO+UEldXi1e+zq+HOsCpknYshuh8pOLISJun7TN0EIGW2xTnlOImeecnoGW4raxe2G1T3HEvfYUYMhG+gAFOAwh5nK8mZhwJMmN7r224QVsNFvZ87Z0qatvknklyPDK3Hy45PgVKXji52Wen4d4PlFVVYGnNap+fSpFbK90rYnhUc6n91Q3AY9E0tJOFrcfZtm/491XbcG/jsViUPPX76qmeuiz+qY1Hk7/1VPM405zWVuoheLUimpWYdVzCmUdKHebMdzgrYrb8mL2eeLSnRWHdonfZa8RsOU9F37w+591l5FLYHiOqWeHtE/lWrBHcRKp3uhtr8yXm8LU/5ms+NM6ZKsqu90cFZ4o58+k4rdrtB97NADFbwmEG7lXqvirhOTOqU14xuUF2myIjURcPHrPOQ4lmM3PeMg7bUuk0nnZi67bXsU6H8lhqIo8TaOrEafCO1ARK9PjC0QOoq2BxmMdgYB9G/lIb9++fqNJ2s7BHGFyBNmZAR8J3KCo012ikaSP8BCrf6VI0X5xdnbhHIO+B5rbOyB54zXkzfObyJ4ecwxfqBJMLFc7m59rNcw7hoHnFZ0b00zee+gTqvjm61Pb4xn0kcDX4jvHM0rBXZypG3DCKnD/Waa/ZtHmtFPgO5eETx+k7RrVg3aSwm2YoNXnCs3XPQDhNn+Fia6IlOOuIG6VJH7TP6ava26ehKHQa2T4N0tcZ9dPCGo3ZdnNltsHQbeYt5vPnJezV/cAeNypdml1vCHI8M81nSRP5Qi2+mI8v/sxiZru9187nRtp3f/42NemcONa+4eVC3PCZzc88aZh851CqSsshe70uPxeN/dmYwlwb3trwMrN1Gq8jbnApcVDx/yDPeYs5/7r62tsQ6lLg+DiFXTEhzR9dHqv0iT4tgj825W+H3XiRUNUZT2kR9Ri0+lp+UM3iQtS8uOE23Ly4KYtvqH13jghUntJRAewuzNLDXp8RxdcaA3cMY6TO2IeSFRXezeWIjCqyhsUdMYuCgYTZSKpBype1zRfq8FshvfBPc6BAQWl7/QxIDp3VGo1J3vn42OEs3qznws+YLRXbymyB19a9XBx6n/owcyxlEYyFWCi+kG9F+EyD/4yn80+agaZ9P7ay2Dny99aK2o91FkfEOY8hBwyfi5uwx2y5SaHmG+oq/zl1FX/8irOf8Y3vAcX/6uLP6A6nvMO24edSGPjQc827Rw2atX+z2bKq0CmW9mOtYnr5/AfDa1ZfPaXnKtlWborup7QYx+Or2uWb+N3N//2+yDcXMqIJdf55xl7/vsj4WoPPlxLxtVrkJ4w/tTe3mLdATOOYwxcq52w5Wxz5MbPdVs5O8/lhfE7dPj0bIiPQ3QV0iqm4m3YX8hRfc6jQ3fWepevMqUDJd86Z4vwM40CWHnn+WphsGHfieF02D3tmZvpWD+kBpNCFcLnZhcmmrhpGzzbdA+sQ1ar18OJD87IOKOFoRNznaHPNHUfUNhvY1iU+uhvEvpKHaUn3qK3exVVyX4joipp3um7FmYJWmA+WbIDshRpbVRx5/nqstCgy87FGbfVB8yDGCqS+2qCsnRwnSAN6zgzxfdB2nBT/vZ4/6uxb6oH8b4VBRxiIB93wLa47hG3w2SL/2Z27yOXJFwZpSJaBYyvajA7vRRYNKqljXKpt/CFD/tSMr18DKKbwB0xggBePatl1nki0yvqW5zchlyZmJ0OTxJ3D+fsYJs/mxYN5+Le5oagtcl+YsVvy8kSjI2YGvGjvmpkRS9W2dtXqWnVuxUhURm1lKtou/hdEq19VBp9OjGvHEQSmrpuf2R24mXGheil8KeiANY8fW1VERUfBImb64j12caBZmRViZHbeVMjCrPDg9A90IXrtnsYCuZtRQ0PyrKDjBNOsPfKsg1pA02gHlVr0OXiFhtp6nJqXVzcbfM0KnzC3ggOENPE9VBdmHKN6LYaijb4wXxJn5A0FSDF5j+h1ooZx885Jt3ZKzO5n7Z5WfNEOtyyPqQEnn7WLv5Fis3PdgMshjF1FRydbNyeBbyKI1oN1TRVrVK7kgsb/zjX4NDPIRMctVeaxVB38Vh1x5KbeJbU138AM5KzmZu3uny0ErygxiJF7GVXUrPzFxrlx1uFdAaZFDN9cvIb74qD9tzBMo7L7WIEYK+sla1DVMHpF0F7b3+Y6S+zjvLeDMCpapmJo1weBWuxKF3rOocih1gun4BoJh1kWnV/Jmiq6uOhK3VfKxEHEkafjLgK3oujaPzY6SXg8phhL4TNR1xvJd1Wa0aYFfPUMLrNBDCh4AuGRTbtKMc6Z1Udj8evY/ZpCuMAUefdo69DZUngoqE1P9A3PJfOf7WixCEj+Y6t7fYeHbbxUAoFV3M89cCKfma3fc1+jKRe7MFWEbQqEfyzO2x/wrO2VYH7iYdQ9BkPyI8/3kXBpLaCpU7eC0Yv/am/tEDu7HZpqg0EvHo0nf/R/gRzUWy33/HXMJQeu1GylKmOkXzlCfGFruAcPPhaGqZOtu19zsJ1SO2Jz4Ztth5cBX6mRQwWmDwryG9FUMlZzNckMdK+IoMJv1rOWnBamS2w2KHiaPMPLC15hCZm4KTpoZyj4E2TqC/P6r7/EhnDMhKicZZ1ZwxuC7DPzDGs53q8gXaI9kFTK+2LTq7bhwsTbrMV8Rsfua5lMS0FwbTitUVnVa1yTb5IX51mmYnUcP9wPr8Ji1tiYJeJV9GZTrQhF7vvdU2OTU42ogJ9FDwhmycI2LIg++03C6scYhUyUuMV5tkw6kGUoL+mjNC38+wMdWNljn6tGPpRES7veqrSn5TRuv+dh6JVL/iDHU1db4c9WK3++OrH3PqziF916UMUKn8G67nN60GfWiHrXYhUG3yVWmyYak59NHj8t1smG4UDiWz2rPHNrKnN4Zo1LBbr2/eF9YZ0n0blx2nG4X+EKFxvS3W28JESD+FWk61VCD3z/URGHiJl++7TdBwkCj6tGOH3qDb0QqcOF9Kzpj0HUb/KyFW3Yhj2VMKJqGZleFBH7vqvf7WqLC3XMuHV8q8a4sTFuxUtkD/6JIBvKaVjv96ndgruKZ1k/BHzqf2K9fLk7HGXANyLDd1vxkK/i055pnzl+zw6zLnwXlVYVtfmacJgEpRP1hbGgrYPVN6v2lG+idQNGmwcKXu/8xEj/P6qe/sB2WmwNp6pp8jaISMkwdleFXYK55NHWLTTbutSUqjBfDGWo/Yg918qQ+8BRZSAHZbfuNZz2O0sov1Ue4CWlVg3rFhM3Kljj9ksGd/NUhk4nH+a5UN2+1i8+NM3vRNp7uQ6sqexSCukEVlVZriHNqFi5rLm9TMWa4qm3idJqppQACol2l4VSuvWLfta4JcXy3bROPNbXOgdOhG47LC0CwW/dMlSx4Jf17aEU3yA1x9p+Yc0jupXgcMuYNku64iYOkGToVDuJvlbEKlJqsmiHbvNrIVZEH+yFdF8DbleZ6iNiWwMqvtMp/mSpwx5KxRrT9p3MAPTHGtMbfvdFhyj9vhaKcn3At8Lc16Ai+vBcSp1ztXi7rCJZx/ql7TXcclq6Q76UeKWDy9boS0WHIjUuWhPG8LBmW5y2rhuTpM5vsLt+HOLh1Yf0DqXa9tsfC+kaKt2htA0ai/L2i7RKoNjEwztkmRU0GfgW1TxUvPFhg0V7DdfWJk5gfrccpYv+MA9M0dkGTLECeYwUixRzjRFdmjG7zdZIl3XKB9YliNKI31lfa7i2JG5C8Ss+rHe0D7Z696/V3DEAOWHnQ9yNahMUl5kENWS6pHKKp2D1BaSrrHdE1w2qNxIztpXgUIrF0bm15YML4b6V1k+GpNysTahKMVrrS85lTVo9OGJ96I47eAy5rYWpRf/mIzeoYU1DKaQCTUVwrhHeyNoDqHel+lLxr9WKzhSYw7vrR6+V5q0pfi2k3L1zqkubY6rrd9ZLvSuWNf0uqnkY+FpTvFzSW9Fp0b9l8JA7THV9eCi/PY/SCZIUYx3BU2alj7Cm3VV6eYpios4b6WuNOJdYXUK3zTqj5CVG2FqYM4Z7CuIU0qO05XR0d71FHM0YhZmJmTRfLlXEumN82BGtzdX0S19t1e+bUieK8zRmqpa4Qc5TSjifmaQsY2ETLjhI36gMR1+7qpjdXXHiceUekfBaucHShAOiFXmv3sNmGQyU5iVgnoocuonQXEPTFwslHtS8R+A47StI9wj0iSrtbi5rMysczFiImsQ+bdFClnFjjpXXwMy6O7qfjOr8Fb0a7ODItisjnn3EQO16+ypd1cwyaAW5Yzxz5QknfMO7643fXW/I9y3U2xH27Oapqr56Z/tEzglj6IbT6HEHjopiXqeRbe5mQQvxtcbDOVverN0ZgMdzqRYRjaXtMRd56Q4cZSmdPvZJdSrhJ1D9zNXPqAEqPIavPdfubt5oke2kmv0dztIszSv2VYuoyf1UuopbsYb+uX9h6WpwjpgtZ6fNNawNJ4q8O3CFoSbioAaOSZMx2GYaPYB+rEb6qjQiNRFQ76TvwNFVKD+BhH9VhcKGsXzmMI7BptU/CNWolM7YzROvpFAntsiWJp6eR2d3GarcYShVYSUqhmYOWj5E96NK2WvmYNTeY7Zs4RUEdv9h9QT4EseKt6LzLrqEOs3hxAY1MaNWpSa6zZx8F3YOVeCYMS88W+CYHDuWe4yoc6YK+djDuEOrBR5lvh0r+Q9uM88lrjx9x9AtgpQVNE8r+3O6Gvw59D+kBF/UMXyhliYUtPjmvXGY6Dk3x+kEOW+GtdMVC4EZTqoS/jmR0P0LS75DOc/w2vnri97M4SdbZ8qeU7gg8DVbERkU5geaMQO3mYrSYyAngeUQqrN0C0/vsFmcgWNXNeidsTAj7/4MncJR0caaBUpbLK1yBCBNRjEv6KvuVSdpPnEMJdsRRtqJ+U8tN1gXA4ePHc6ZT0eviI73UOJF0fEZ8YaneAQqQdGphNvwM4nIqPnXxV0xA0fnCT+oAhJuyw/q8jO0y8CjSteZExwBpIN6SvNp6A5G/abi6egeND/1GTguhuNjaUbbnSbGd4L8937Ezm34Eyi6n1maeOBxh3PI0jzJDf5mh/BsLD7F2GOKvlA/5gtvxI3/eV4sLfKW5Wy+oio+es/u6T8UU+nsofy57Icb/JlZHPFtCgd/x+bwt3ZT+xXTtTtTrGAb4QehC6X9G+8YT+ozcLxDsdCjsuOqwPFnrdLYaFc92Ui0m4fr39lYmlCaqTit7G6O/3kWDkgtXjNH4BiEm/+jegQnihOtfffn33WxsFjhfMd48HT+f6o6X65j7XR8WLSHMFkxbvOYsrRsF1bowDuSQ18Mkxk4qz2zoGPL5fu9h2Hqmt1asl3Q3Yu3szOc+spiCmX4AETBM3pLoTYSp3sVxahyhL8eC4mPN9k2x3o0xkiixIzM3CZFzf5oR4mecQ5+ax2wCah3/crmnHoqR0+KMaOPxRif1oEFRFOO/kTPPmtww+NfMXxEK6gn6iU32U6fFruIz8Q4WgljtnaCVTBgWx7diUdshC9ZEa5yKpRBBeW12r/iNc/+EgNqmhswNB8SBoihHXeDF7rrWDLcmt3V8GYYN7pXRy4DZjj4DJuUBL5iC3DQAaoo4vkftqVTYRGLS3mHZ7gdmdTTqbgNN/PTdTCOTgXolc88MhXAEUMdX0iy1JMuk5wLsgeu0QUYlz2S4skTWwJz6pOm/8ihrmgGfFgri+ZWUK2gAPHgbWa8jaocdSuM4FJYoKicYX/ZSENkg9Q1ZzJfwScfVnR2DegOGwCvmogaWJCLQepv9WNlU6QgsmOwICquU28Mlk3d9W5E81lU/5Ez0LcX6lwKMWDNluNKfBDUy/phJgBcMnfkh9iRxrdOzgs08JdPB85Lwo+GUSb4t3nC+0byqMZtO2fQJ4U2zGIr49t/28qmmGv2RanDD7a3FEcdtutkW8twwwlUSpb8QalodddbBfNHKDQ828BdE7OBgFdiKYohLawFYqpybQoxATZrheLhdI7+0Zlu9Q1myRcd15r9UIm8K2LGJxqTegntqNVMKnf1a8zQiyUR1rxoqjiFxeHxqFcYUTHfDu7rhbWng6qOxOsI+5A1p9mRyEPdVkTlE24vY54W7bWc6jMgZvNXdfC9/9q7408KDsbdL7Utz7QFSDetz2picArzrdpL8OaCHC9V26RroemtDZ5yNM/KGkWMyTmfnInEvwtSD23UcFcjhaE3VKzkoaEMKGBft4XbIO6forTY1lmGQwVmKicBCiArDzE+1oIxE08fWeviIOD5TznqH+OoHadvoOP20drMPe5Irg3XBQziW2XDuHYzjqQQ4wySssjXUs5H+t3FWYMHppUnBHMx/nYIT5d7OmjDbgD9F6na3m4l7KdkeSO3kTEPXafiWinogag7b52taiZhL1TSvBFmEZafFq2H8khQaZXuitCewT5FBgVtPK0j4xUHPfUz3Q28eac1Z139DAP23dgki94EC8vbDPTQC97HPPSWjUNG5tWKMsaxAEMKC0665Xvo1Ntd07wCLNf8Q56mrEPVpCxlIMVlQlWRxM3oAfpgIc+8KC3rEXUog5g06vt7zgXY8grH7hhwVSaeuvC06YYRAwpbyk/Unzj9hLEZNs2oxPQB9yc+GnL6zTgq7rI++KDJwX2SP8Sd6YzTuw5lV/kU6eQxRD12omfQAW6caTR4LikYkBB1CMOrvgRr/VY75+NSB40Cni6bADAtaK+vyxVWpf9NeKJxN2KYQ8Q2xPB3K1s7fuhvWbr2XpgW044VD6DRs0qXoqKf1NFsaGvKJc47leUV3pppP/5VTKFhaGuol4Esfjf5zyCyUHmHthChcYh4hYLQF+AFWsuq4t0wJyWgdwQVOZiV0efRHPoK5+E1vjz9wTJmVkITC9oEstAsyZSgE/dbicwKr89YUxKZI+owD205Tm5lnnmDRuP/JnzxX3gMtlrcX0UesZdxyQqYQuEW4R51vmQ5xOZteUd8SJruMlTUzhtVw/Nq7eUBcqN2/HVotgfngif60yKEtoUx3WYOZlVJuJOh8u59fzSDPFYtQgqDUAGyGhQOAvKroXMcOYY0qjnStJR/G3aP+Jt1sLVlGV8POwr/6OGsqetnyF3TmTqZjENfnXh51oxe9qVUw2M78EzAJ+IM8lZ1MBPQ9ZWSVc4J3mWSrLKrMHReA5qdGoz0ODRsaA+vwxXA2cAM4qlfzBJA6581m4hzxItQw5dxrrBL3Y6kCbUcFxo1S8jyV44q//+7ASNNudZ6xeaNOSIUffqMn4A9lIjFctYn2gpEPAb3f7p3iIBN8H14FUGQ9ct2hPsL+cEsTgUrR47uJVN4n4wt/wgfwwHuOnLd4yobkofy8JvxSQTA7rMpDIc608SlZFJfZYcmbT0tAHpPE8MrtQ42siTUNWxqvWZOmvu9f0JPoQmg+6l7sZWwyfi6PXkxJnwBraUG0MYG4zYHQz3igy/XsFkx5tNQxw43qvI9dU3f0DdhOUlHKjmi1VAr2Kiy0HZwD8VeEbhh0OiDdMYspolQsYdSwjCcjeowIXNZVUPmL2wwIkYhmXKhGozdCJ4lRKbsf4NBh/XnQoS92NJEWOVOFs2YhN8c5QZFeK0pRdAG40hqvLbmoSA8xQmzOOEc7wLcme9JOsjPCEgpCwUs9E2DohMHRhUeyGIN6TFvrbny8nDuilsDpzrH5mS76APoIEJmItS67sQJ+nfwddzmjPxcBEBBCw0kWDwd0EZCkNeOD7NNQhtBm7KHL9mRxj6U1yWU2puzlIDtpYxdH4ZPeXBJkTGAJfUr/oTCz/iypY6uXaR2V1doPxJYlrw2ghH0D5gbrhFcIxzYwi4a/4hqVdf2DdxBp6vGYDjavxMAAoy+1+3aiO6S3W/QAKNVXagDtvsNtx7Ks+HKgo6U21B+QSZgIogV5Bt+BnXisdVfy9VyXV+2P5fMuvdpAjM1o/K9Z+XnE4EOCrue+kcdYHqAQ0/Y/OmNlQ6OI33jH/uD1RalPaHpJAm2av0/xtpqdXVKNDrc9F2izo23Wu7firgbURFDNX9eGGeYBhiypyXZft2j3hTvzE6PMWKsod//rEILDkzBXfi7xh0eFkfb3/1zzPK/PI5Nk3FbZyTl4mq5BfBoVoqiPHO4Q4QKZAlrQ3MdNfi3oxIjvsM3kAFv3fdufurqYR3PSwX/mpGy/GFI/B2MNPiNdOppWVbs/gjF3YH+QA9jMhlAbhvasAHstB0IJew09iAkmXHl1/TEj+jvHOpOGrPRQXbPADM+Ig2/OEcUcpgPTItMtW4DdqgfYVI/+4hAFWYjUGpOP/UwNuB7+BbKOcALbjobdgzeBQfjgNSp2GOpxzGLj70Vvq5cw2AoYENwKLUtJUX8sGRox4dVa/TN4xKwaKcl9XawQR/uNus700Hf17pyNnezrUgaY9e4MADhEDBpsJT6y1gDJs1q6wlwGhuUzGR7C8kgpjPyHWwsvrf3yn1zJEIRa5eSxoLAZOCR9xbuztxFRJW9ZmMYfCFJ0evm9F2fVnuje92Rc4Pl6A8bluN8MZyyJGZ0+sNSb//DvAFxC2BqlEsFwccWeAl6CyBcQV1bx4mQMBP1Jxqk1EUADNLeieS2dUFbQ/c/kvwItbZ7tx0st16viqd53WsRmPTKv2AD8CUnhtPWg5aUegNpsYgasaw2+EVooeNKmrW3MFtj76bYHJm5K9gpAXZXsE5U8DM8XmVOSJ1F1WnLy6nQup+jx52bAb+rCq6y9WXl2B2oZDhfDkW7H3oYfT/4xx5VncBuxMXP2lNfhUVQjSSzSRbuZFE4vFawlzveXxaYKVs8LpvAb8IRYF3ZHiRnm0ADeNPWocwxSzNseG7NrSEVZoHdKWqaGEBz1N8Pt7kFbqh3LYmAbm9i1IChIpLpM5AS6mr6OAPHMwwznVy61YpBYX8xZDN/a+lt7n+x5j4bNOVteZ8lj3hpAHSx1VR8vZHec4AHO9XFCdjZ9eRkSV65ljMmZVzaej2qFn/qt1lvWzNZEfHxK3qOJrHL6crr0CRzMox5f2e8ALBB4UGFZKA3tN6F6IXd32GTJXGQ7DTi9j/dNcLF9jCbDcWGKxoKTYblIwbLDReL00LRcDPMcQuXLMh5YzgtfjkFK1DP1iDzzYYVZz5M/kWYRlRpig1htVRjVCknm+h1M5LiEDXOyHREhvzCGpFZjHS0RsK27o2avgdilrJkalWqPW3D9gmwV37HKmfM3F8YZj2ar+vHFvf3B8CRoH4kDHIK9mrAg+owiEwNjjd9V+FsQKYR8czJrUkf7Qoi2YaW6EVDZp5zYlqiYtuXOTHk4fAcZ7qBbdLDiJq0WNV1l2+Hntk1mMWvxrYmc8kIx8G3rW36J6Ra4lLrTOCgiOihmow+YnzUT19jbV2B3RWqSHyxkhmgsBqMYWvOcUom1jDQ436+fcbu3xf2bbeqU/ca+C4DOKE+e3qvmeMqW3AxejfzBRFVcwVYPq4L0APSWWoJu+5UYX4qg5U6YTioqQGPG9XrnuZ/BkxuYpe6Li87+18EskyQW/uA+uk2rpHpr6hut2TlVbKgWkFpx+AZffweiw2+VittkEyf/ifinS/0ItRL2Jq3tQOcxPaWO2xrG68GdFoUpZgFXaP2wYVtRc6xYCfI1CaBqyWpg4bx8OHBQwsV4XWMibZZ0LYjWEy2IxQ1mZrf1/UNbYCJplWu3nZ4WpodIGVA05d+RWSS+ET9tH3RfGGmNI1cIY7evZZq7o+a0bjjygpmR3mVfalkT/SZGT27Q8QGalwGlDOS9VHCyFAIL0a1Q7JiW3saz9gqY8lqKynFrPCzxkU4SIfLc9VfCI5edgRhDXs0edO992nhTKHriREP1NJC6SROMgQ0xO5kNNZOhMOIT99AUElbxqeZF8A3xrfDJsWtDnUenAHdYWSwAbYjFqQZ+D5gi3hNK8CSxU9i6f6ClL9IGlj1OPMQAsr84YG6ijsJpCaGWj75c3yOZKBB9mNpQNPUKkK0D6wgLH8MGoyRxTX6Y05Q4AnYNXMZwXM4eij/9WpsM/9CoRnFQXGR6MEaY+FXvXEO3RO0JaStk6OXuHVATHJE+1W+TU3bSZ2ksMtqjO0zfSJCdBv7y2d8DMx6TfVme3q0ZpTKMMu4YL/t7ciTNtdDkwPogh3Cnjx7qk08SHwf+dksZ7M2vCOlfsF0hQ6J4ehPCaHTNrM/zBSOqD83dBEBCW/F/LEmeh0nOHd7oVl3/Qo/9GUDkkbj7yz+9cvvu+dDAtx8NzCDTP4iKdZvk9MWiizvtILLepysflSvTLFBZ37RLwiriqyRxYv/zrgFd/9XVHh/OmzBvDX4mitMR/lUavs2Vx6cR94lzAkplm3IRNy4TFfu47tuYs9EQPIPVta4P64tV+sZ7n3ued3cgEx2YK+QL5+xms6osk8qQbTyuKVGdaX9FQqk6qfDnT5ykxk0VK7KZ62b6DNDUfQlqGHxSMKv1P0XN5BqMeKG1P4Wp5QfZDUCEldppoX0U6ss2jIko2XpURKCIhfaOqLPfShdtS37ZrT+jFRSH2xYVV1rmT/MBtRQhxiO4MQ3iAGlaZi+9PWBEIXOVnu9jN1f921lWLZky9bqbM3J2MAAI9jmuAx3gyoEUa6P2ivs0EeNv/OR+AX6q5SW6l5HaoFuS6jr6yg9limu+P0KYKzfMXWcQSfTXzpOzKEKpwI3YGXZpSSy2LTlMgfmFA3CF6R5c9xWEtRuCg2ZPUQ2Nb6dRFTNd4TfGHrnEWSKHPuRyiJSDAZ+KX0VxmSHjGPbQTLVpqixia2uyhQ394gBMt7C3ZAmxn/DJS+l1fBsAo2Eir/C0jG9csd4+/tp12pPc/BVJGaK9mfvr7M/CeztrmCO5qY06Edi4xAGtiEhnWAbzLy2VEyazE1J5nPmgU4RpW4Sa0TnOT6w5lgt3/tMpROigHHmexBGAMY0mdcDbDxWIz41NgdD6oxgHsJRgr5RnT6wZAkTOcStU4NMOQNemSO7gxGahdEsC+NRVGxMUhQmmM0llWRbbmFGHzEqLM4Iw0H7577Kyo+Zf+2cUFIOw93gEY171vQaM0HLwpjpdRR6Jz7V0ckE7XzYJ0TmY9znLdzkva0vNrAGGT5SUZ5uaHDkcGvI0ySpwkasEgZPMseYcu85w8HPdSNi+4T6A83iAwDbxgeFcB1ZM2iGXzFcEOUlYVrEckaOyodfvaYSQ7GuB4ISE0nYJc15X/1ciDTPbPCgYJK55VkEor4LvzL9S2WDy4xj+6FOqVyTAC2ZNowheeeSI5hA/02l8UYkv4nk9iaVn+kCVEUstgk5Hyq+gJm6R9vG3rhuM904he/hFmNQaUIATB1y3vw+OmxP4X5Yi6A5I5jJufHCjF9+AGNwnEllZjUco6XhsO5T5+R3yxz5yLVOnAn0zuS+6zdj0nTJbEZCbXJdtpfYZfCeCOqJHoE2vPPFS6eRLjIJlG69X93nfR0mxSFXzp1Zc0lt/VafDaImhUMtbnqWVb9M4nGNQLN68BHP7AR8Il9dkcxzmBv8PCZlw9guY0lurbBsmNYlwJZsA/B15/HfkbjbwPddaVecls/elmDHNW2r4crAx43feNkfRwsaNq/yyJ0d/p5hZ6AZajz7DBfUok0ZU62gCzz7x8eVfJTKA8IWn45vINLSM1q+HF9CV9qF3zP6Ml21kPPL3CXzkuYUlnSqT+Ij4tI/od5KwIs+tDajDs64owN7tOAd6eucGz+KfO26iNcBFpbWA5732bBNWO4kHNpr9D955L61bvHCF/mwSrz6eQaDjfDEANqGMkFc+NGxpKZzCD2sj/JrHd+zlPQ8Iz7Q+2JVIiVCuCKoK/hlAEHzvk/Piq3mRL1rT/fEh9hoT5GJmeYswg1otiKydizJ/fS2SeKHVu6Z3JEHjiW8NaTQgP5xdBli8nC57XiN9hrquBu99hn9zqwo92+PM2JXtpeVZS0PdqR5mDyDreMMtEws+CpwaRyyzoYtfcvt9PJIW0fJVNNi/FFyRsea7peLvJrL+5b4GOXJ8tAr+ATk9f8KmiIsRhqRy0vFzwRV3Z5dZ3QqIU8JQ/uQpkJbjMUMFj2F9sCFeaBjI4+fL/oN3+LQgjI4zuAfQ+3IPIPFQBccf0clJpsfpnBxD84atwtupkGqKvrH7cGNl/QcWcSi6wcVDML6ljOgYbo+2BOAWNNjlUBPiyitUAwbnhFvLbnqw42kR3Yp2kv2dMeDdcGOX5kT4S6M44KHEB/SpCfl7xgsUvs+JNY9G3O2X/6FEt9FyAn57lrbiu+tl83sCymSvq9eZbe9mchL7MTf/Ta78e80zSf0hYY5eUU7+ff14jv7Xy8qjzfzzzvaJnrIdvFb5BLWKcWGy5/w7+vV2cvIfwHqdTB+RuJK5oj9mbt0Hy94AmjMjjwYNZlNS6uiyxNnwNyt3gdreLb64p/3+08nXkb92LTkkRgFOwk1oGEVllcOj5lv1hfAZywDows0944U8vUFw+A/nuVq/UCygsrmWIBnHyU01d0XJPwriEOvx/ISK6Pk4y2w0gmojZs7lU8TtakBAdne4v/aNxmMpK4VcGMp7si0yqsiolXRuOi1Z1P7SqD3Zmp0CWcyK4Ubmp2SXiXuI5nGLCieFHKHNRIlcY3Pys2dwMTYCaqlyWSITwr2oGXvyU3h1Pf8eQ3w1bnD7ilocVjYDkcXR3Oo1BXgMLTUjNw2xMVwjtp99NhSVc5aIWrDQT5DHPKtCtheBP4zHcw4dz2eRdTMamhlHhtfgqJJHI7NGDUw1XL8vsSeSHyKqDtqoAmrQqsYwvwi7HW3ojWyhIa5oz5xJTaq14NAzFLjVLR12rRNUQ6xohDnrWFb5bG9yf8aCD8d5phoackcNJp+Dw3Due3RM+5Rid7EuIgsnwgpX0rUWh/nqPtByMhMZZ69NpgvRTKZ62ViZ+Q7Dp5r4K0d7EfJuiy06KuIYauRh5Ecrhdt2QpTS1k1AscEHvapNbU3HL1F2TFyR33Wxb5MvH5iZsrn3SDcsxlnnshO8PLwmdGN+paWnQuORtZGX37uhFT64SeuPsx8UOokY6ON85WdQ1dki5zErsJGazcBOddWJEKqNPiJpsMD1GrVLrVY+AOdPWQneTyyP1hRX/lMM4ZogGGOhYuAdr7F/DOiAoc++cn5vlf0zkMUJ40Z1rlgv9BelPqVOpxKeOpzKdF8maK+1Vv23MO9k/8+qpLoxrIGH2EDQlnGmH8CD31G8QqlyQIcpmR5bwmSVw9/Ns6IHgulCRehvZ/+VrM60Cu/r3AontFfrljew74skYe2uyn7JKQtFQBQRJ9ryGic/zQOsbS4scUBctA8cPToQ3x6ZBQu6DPu5m1bnCtP8TllLYA0UTQNVqza5nfew3Mopy1GPUwG5jsl0OVXniPmAcmLqO5HG8Hv3nSLecE9oOjPDXcsTxoCBxYyzBdj4wmnyEV4kvFDunipS8SSkvdaMnTBN9brHUR8xdmmEAp/Pdqk9uextp1t+JrtXwpN/MG2w/qhRMpSNxQ1uhg/kKO30eQ/FyHUDkWHT8V6gGRU4DhDMxZu7xXij9Ui6jlpWmQCqJg3FkOTq3WKneCRYZxBXMNAVLQgHXSCGSqNdjebY94oyIpVjMYehAiFx/tqzBXFHZaL5PeeD74rW5OysFoUXY8sebUZleFTUa/+zBKVTFDopTReXNuZq47QjkWnxjirCommO4L/GrFtVV21EpMyw8wyThL5Y59d88xtlx1g1ttSICDwnof6lt/6zliPzgVUL8jWBjC0o2D6Kg+jNuThkAlaDJsq/AG2aKA//A76avw2KNqtv223P+Wq3StRDDNKFFgtsFukYt1GFDWooFVXitaNhb3RCyJi4cMeNjROiPEDb4k+G3+hD8tsg+5hhmSc/8t2JTSwYoCzAI75doq8QTHe+E/Tw0RQSUDlU+6uBeNN3h6jJGX/mH8oj0i3caCNsjvTnoh73BtyZpsflHLq6AfwJNCDX4S98h4+pCOhGKDhV3rtkKHMa3EG4J9y8zFWI4UsfNzC/Rl5midNn7gwoN9j23HGCQQ+OAZpTTPMdiVow740gIyuEtd0qVxMyNXhHcnuXRKdw5wDUSL358ktjMXmAkvIB73BLa1vfF9BAUZInPYJiwxqFWQQBVk7gQH4ojfUQ/KEjn+A/WR6EEe4CtbpoLe1mzHkajgTIoE0SLDHVauKhrq12zrAXBGbPPWKCt4DGedq3JyGRbmPFW32bE7T20+73BatV/qQhhBWfWBFHfhYWXjALts38FemnoT+9bn1jDBMcUMmYgSc0e7GQjv2MUBwLU8ionCpgV+Qrhg7iUIfUY6JFxR0Y+ZTCPM+rVuq0GNLyJXX6nrUTt8HzFBRY1E/FIm2EeVA9NcXrj7S6YYIChVQCWr/m2fYUjC4j0XLkzZ8GCSLfmkW3PB/xq+nlXsKVBOj7vTvqKCOMq7Ztqr3cQ+N8gBnPaAps+oGwWOkbuxnRYj/x/WjiDclVrs22xMK4qArE1Ztk1456kiJriw6abkNeRHogaPRBgbgF9Z8i/tbzWELN4CvbqtrqV9TtGSnmPS2F9kqOIBaazHYaJ9bi3AoDBvlZasMluxt0BDXfhp02Jn411aVt6S4TUB8ZgFDkI6TP6gwPY85w+oUQSsjIeXVminrwIdK2ZAawb8Se6XOJbOaliQxHSrnAeONDLuCnFejIbp4YDtBcQCwMsYiRZfHefuEJqJcwKTTJ8sx5hjHmJI1sPFHOr6W9AhZ2NAod38mnLQk1gOz2LCAohoQbgMbUK9RMEA3LkiF7Sr9tLZp6lkciIGhE2V546w3Mam53VtVkGbB9w0Yk2XiRnCmbpxmHr2k4eSC0RuNbjNsUfDIfc8DZvRvgUDe1IlKdZTzcT4ZGEb53dp8VtsoZlyXzLHOdAbsp1LPTVaHvLA0GYDFMbAW/WUBfUAdHwqLFAV+3uHvYWrCfhUOR2i89qvCBoOb48usAGdcF2M4aKn79k/43WzBZ+xR1L0uZfia70XP9soQReeuhZiUnXFDG1T8/OXNmssTSnYO+3kVLAgeiY719uDwL9FQycgLPessNihMZbAKG7qwPZyG11G1+ZA3jAX2yddpYfmaKBlmfcK/V0mwIRUDC0nJSOPUl2KB8h13F4dlVZiRhdGY5farwN+f9hEb1cRi41ZcGDn6Xe9MMSTOY81ULJyXIHSWFIQHstVYLiJEiUjktlHiGjntN5/btB8Fu+vp28zl2fZXN+dJDyN6EXhS+0yzqpl/LSJNEUVxmu7BsNdjAY0jVsAhkNuuY0E1G48ej25mSt+00yPbQ4SRCVkIwb6ISvYtmJRPz9Zt5dk76blf+lJwAPH5KDF+vHAmACLoCdG2Adii6dOHnNJnTmZtoOGO8Q1jy1veMw6gbLFToQmfJa7nT7Al89mRbRkZZQxJTKgK5Kc9INzmTJFp0tpAPzNmyL/F08bX3nhCumM/cR/2RPn9emZ3VljokttZD1zVWXlUIqEU7SLk5I0lFRU0AcENXBYazNaVzsVHA/sD3o9hm42wbHIRb/BBQTKzAi8s3+bMtpOOZgLdQzCYPfX3UUxKd1WYVkGH7lh/RBBgMZZwXzU9+GYxdBqlGs0LP+DZ5g2BWNh6FAcR944B+K/JTWI3t9YyVyRhlP4CCoUk/mmF7+r2pilVBjxXBHFaBfBtr9hbVn2zDuI0kEOG3kBx8CGdPOjX1ph1POOZJUO1JEGG0jzUy2tK4X0CgVNYhmkqqQysRNtKuPdCJqK3WW57kaV17vXgiyPrl4KEEWgiGF1euI4QkSFHFf0TDroQiLNKJiLbdhH0YBhriRNCHPxSqJmNNoketaioohqMglh6wLtEGWSM1EZbQg72h0UJAIPVFCAJOThpQGGdKfFovcwEeiBuZHN2Ob4uVM7+gwZLz1D9E7ta4RmMZ24OBBAg7Eh6dLXGofZ4U2TFOCQMKjwhVckjrydRS+YaqCw1kYt6UexuzbNEDyYLTZnrY1PzsHZJT4U+awO2xlqTSYu6n/U29O2wPXgGOEKDMSq+zTUtyc8+6iLp0ivav4FKx+xxVy4FxhIF/pucVDqpsVe2jFOfdZhTzLz2QjtzvsTCvDPU7bzDH2eXVKUV9TZ+qFtaSSxnYgYdXKwVreIgvWhT9eGDB2OvnWyPLfIIIfNnfIxU8nW7MbcH05nhlsYtaW9EZRsxWcKdEqInq1DiZPKCz7iGmAU9/ccnnQud2pNgIGFYOTAWjhIrd63aPDgfj8/sdlD4l+UTlcxTI9jbaMqqN0gQxSHs60IAcW3cH4p3V1aSciTKB29L1tz2eUQhRiTgTvmqc+sGtBNh4ky0mQJGsdycBREP+fAaSs1EREDVo5gvgi5+aCN7NECw30owbCc1mSpjiahyNVwJd1jiGgzSwfTpzf2c5XJvG/g1n0fH88KHNnf+u7ZiRMlXueSIsloJBUtW9ezvsx9grfsX/FNxnbxU1Lvg0hLxixypHKGFAaPu0xCD8oDTeFSyfRT6s8109GMUZL8m2xXp8X2dpPCWWdX84iga4BrTlOfqox4shqEgh/Ht4qRst52cA1xOIUuOxgfUivp6v5f8IVyaryEdpVk72ERAwdT4aoY1usBgmP+0m06Q216H/nubtNYxHaOIYjcach3A8Ez/zc0KcShhel0HCYjFsA0FjYqyJ5ZUH1aZw3+zWC0hLpM6GDfcAdn9fq2orPmZbW6XXrf+Krc9RtvII5jeD3dFoT1KwZJwxfUMvc5KLfn8rROW23Jw89sJ2a5dpB3qWDUBWF2iX8OCuKprHosJ2mflBR+Wqs86VvgI/XMnsqb97+VlKdPVysczPj8Jhzf+WCvGBHijAqYlavbF60soMWlHbvKT+ScvhprgeTln51xX0sF+Eadc/l2s2a5BgkVbHYyz0E85p0LstqH+gEGiR84nBRRFIn8hLSZrGwqjZ3E29cuGi+5Z5bp7EM8MWFa9ssS/vy4VrDfECSv7DSU84DaP0sXI3Ap4lWznQ65nQoTKRWU30gd7Nn8ZowUvGIx4aqyXGwmA/PB4qN8msJUODezUHEl0VP9uo+cZ8vPFodSIB4C7lQYjEFj8yu49C2KIV3qxMFYTevG8KqAr0TPlkbzHHnTpDpvpzziAiNFh8xiT7C/TiyH0EguUw4vxAgpnE27WIypV+uFN2zW7xniF/n75trs9IJ5amB1zXXZ1LFkJ6GbS/dFokzl4cc2mamVwhL4XU0Av5gDWAl+aEWhAP7t2VIwU+EpvfOPDcLASX7H7lZpXA2XQfbSlD4qU18NffNPoAKMNSccBfO9YVVgmlW4RydBqfHAV7+hrZ84WJGho6bNT0YMhxxLdOx/dwGj0oyak9aAkNJ8lRJzUuA8sR+fPyiyTgUHio5+Pp+YaKlHrhR41jY5NESPS3x+zTMe0S2HnLOKCOQPpdxKyviBvdHrCDRqO+l96HhhNBLXWv4yEMuEUYo8kXnYJM8oIgVM4XJ+xXOev4YbWeqsvgq0lmw4/PiYr9sYLt+W5EAuYSFnJEan8CwJwbtASBfLBBpJZiRPor/aCJBZsM+MhvS7ZepyHvU8m5WSmaZnxuLts8ojl6KkS8oSAHkq5GWlCB/NgJ5W3rO2Cj1MK7ahxsCrbTT3a0V/QQH+sErxV4XUWDHx0kkFy25bPmBMBQ6BU3HoHhhYcJB9JhP6NXUWKxnE0raXHB6U9KHpWdQCQI72qevp5fMzcm+AvC85rsynVQhruDA9fp9COe7N56cg1UKGSas89vrN+WlGLYTwi5W+0xYdKEGtGCeNJwXKDU0XqU5uQYnWsMwTENLGtbQMvoGjIFIEMzCRal4rnBAg7D/CSn8MsCvS+FDJJAzoiioJEhZJgAp9n2+1Yznr7H+6eT4YkJ9Mpj60ImcW4i4iHDLn9RydB8dx3QYm3rsX6n4VRrZDsYK6DCGwkwd5n3/INFEpk16fYpP6JtMQpqEMzcOfQGAHXBTEGzuLJ03GYQL9bmV2/7ExDlRf+Uvf1sM2frRtCWmal12pMgtonvSCtR4n1CLUZRdTHDHP1Otwqd+rcdlavnKjUB/OYXQHUJzpNyFoKpQK+2OgrEKpGyIgIBgn2y9QHnTJihZOpEvOKIoHAMGAXHmj21Lym39Mbiow4IF+77xNuewziNVBxr6KD5e+9HzZSBIlUa/AmsDFJFXeyrQakR3FwowTGcADJHcEfhGkXYNGSYo4dh4bxwLM+28xjiqkdn0/3R4UEkvcBrBfn/SzBc1XhKM2VPlJgKSorjDac96V2UnQYXl1/yZPT4DVelgO+soMjexXwYO58VLl5xInQUZI8jc3H2CPnCNb9X05nOxIy4MlecasTqGK6s2az4RjpF2cQP2G28R+7wDPsZDZC/kWtjdoHC7SpdPmqQrUAhMwKVuxCmYTiD9q/O7GHtZvPSN0CAUQN/rymXZNniYLlJDE70bsk6Xxsh4kDOdxe7A2wo7P9F5YvqqRDI6brf79yPCSp4I0jVoO4YnLYtX5nzspR5WB4AKOYtR1ujXbOQpPyYDvfRE3FN5zw0i7reehdi7yV0YDRKRllGCGRk5Yz+Uv1fYl2ZwrnGsqsjgAVo0xEUba8ohjaNMJNwTwZA/wBDWFSCpg1eUH8MYL2zdioxRTqgGQrDZxQyNzyBJPXZF0+oxITJAbj7oNC5JwgDMUJaM5GqlGCWc//KCIrI+aclEe4IA0uzv7cuj6GCdaJONpi13O544vbtIHBF+A+JeDFUQNy61Gki3rtyQ4aUywn6ru314/dkGiP8Iwjo0J/2Txs49ZkwEl4mx+iYUUO55I6pJzU4P+7RRs+DXZkyKUYZqVWrPF4I94m4Wx1tXeE74o9GuX977yvJ/jkdak8+AmoHVjI15V+WwBdARFV2IPirJgVMdsg1Pez2VNHqa7EHWdTkl3XTcyjG9BiueWFvQfXI8aWSkuuRmqi/HUuzqyvLJfNfs0txMqldYYflWB1BS31WkuPJGGwXUCpjiQSktkuBMWwHjSkQxeehqw1Kgz0Trzm7QbtgxiEPDVmWCNCAeCfROTphd1ZNOhzLy6XfJyG6Xgd5MCAZw4xie0Sj5AnY1/akDgNS9YFl3Y06vd6FAsg2gVQJtzG7LVq1OH2frbXNHWH/NY89NNZ4QUSJqL2yEcGADbT38X0bGdukqYlSoliKOcsSTuqhcaemUeYLLoI8+MZor2RxXTRThF1LrHfqf/5LcLAjdl4EERgUysYS2geE+yFdasU91UgUDsc2cSQ1ZoT9+uLOwdgAmifwQqF028INc2IQEDfTmUw3eZxvz7Ud1z3xc1PQfeCvfKsB9jOhRj7rFyb9XcDWLcYj0bByosychMezMLVkFiYcdBBQtvI6K0KRuOZQH2kBsYHJaXTkup8F0eIhO1/GcIwWKpr2mouB7g5TUDJNvORXPXa/mU8bh27TAZYBe2sKx4NSv5OjnHIWD2RuysCzBlUfeNXhDd2jxnHoUlheJ3jBApzURy0fwm2FwwsSU0caQGl0Kv8hopRQE211NnvtLRsmCNrhhpEDoNiZEzD2QdJWKbRRWnaFedXHAELSN0t0bfsCsMf0ktfBoXBoNA+nZN9+pSlmuzspFevmsqqcMllzzvkyXrzoA+Ryo1ePXpdGOoJvhyru+EBRsmOp7MXZ0vNUMUqHLUoKglg1p73sWeZmPc+KAw0pE2zIsFFE5H4192KwDvDxdxEYoDBDNZjbg2bmADTeUKK57IPD4fTYF4c6EnXx/teYMORBDtIhPJneiZny7Nv/zG+YmekIKCoxr6kauE2bZtBLufetNG0BtBY7f+/ImUypMBvdWu/Q7vTMRzw5aQGZWuc1V0HEsItFYMIBnoKGZ0xcarba/TYZq50kCaflFysYjA4EDKHqGdpYWdKYmm+a7TADmW35yfnOYpZYrkpVEtiqF0EujI00aeplNs2k+qyFZNeE3CDPL9P6b4PQ/kataHkVpLSEVGK7EX6rAa7IVNrvZtFvOA6okKvBgMtFDAGZOx88MeBcJ8AR3AgUUeIznAN6tjCUipGDZONm1FjWJp4A3QIzSaIOmZ7DvF/ysYYbM/fFDOV0jntAjRdapxJxL0eThpEhKOjCDDq2ks+3GrwxqIFKLe1WdOzII8XIOPGnwy6LKXVfpSDOTEfaRsGujhpS4hBIsMOqHbl16PJxc4EkaVu9wpEYlF/84NSv5Zum4drMfp9yXbzzAOJqqS4YkI4cBrFrC7bMPiCfgI3nNZAqkk3QOZqR+yyqx+nDQKBBBZ7QKrfGMCL+XpqFaBJU0wpkBdAhbR4hJsmT5aynlvkouoxm/NjD5oe6BzVIO9uktM+/5dEC5P7vZvarmuO/lKXz4sBabVPIATuKTrwbJP8XUkdM6uEctHKXICUJGjaZIWRbZp8czquQYfY6ynBUCfIU+gG6wqSIBmYIm9pZpXdaL121V7q0VjDjmQnXvMe7ysoEZnZL15B0SpxS1jjd83uNIOKZwu5MPzg2NhOx3xMOPYwEn2CUzbSrwAs5OAtrz3GAaUkJOU74XwjaYUmGJdZBS1NJVkGYrToINLKDjxcuIlyfVsKQSG/G4DyiO2SlQvJ0d0Ot1uOG5IFSAkq+PRVMgVMDvOIJMdqjeCFKUGRWBW9wigYvcbU7CQL/7meF2KZAaWl+4y9uhowAX7elogAvItAAxo2+SFxGRsHGEW9BnhlTuWigYxRcnVUBRQHV41LV+Fr5CJYV7sHfeywswx4XMtUx6EkBhR+q8AXXUA8uPJ73Pb49i9KG9fOljvXeyFj9ixgbo6CcbAJ7WHWqKHy/h+YjBwp6VcN7M89FGzQ04qbrQtgrOFybg3gQRTYG5xn73ArkfQWjCJROwy3J38Dx/D7jOa6BBNsitEw1wGq780EEioOeD+ZGp2J66ADiVGMayiHYucMk8nTK2zzT9CnEraAk95kQjy4k0GRElLL5YAKLQErJ5rp1eay9O4Fb6yJGm9U4FaMwPGxtKD6odIIHKoWnhKo1U8KIpFC+MVn59ZXmc7ZTBZfsg6FQ8W10YfTr4u0nYrpHZbZ1jXiLmooF0cOm0+mPnJBXQtepc7n0BqOipNCqI6yyloTeRShNKH04FIo0gcMk0H/xThyN4pPAWjDDkEp3lNNPRNVfpMI44CWRlRgViP64eK0JSRp0WUvCWYumlW/c58Vcz/yMwVcW5oYb9+26TEhwvbxiNg48hl1VI1UXTU//Eta+BMKnGUivctfL5wINDD0giQL1ipt6U7C9cd4+lgqY2lMUZ02Uv6Prs+ZEZer7ZfWBXVghlfOOrClwsoOFKzWEfz6RZu1eCs+K8fLvkts5+BX0gyrFYve0C3qHrn5U/Oh6D/CihmWIrY7HUZRhJaxde+tldu6adYJ+LeXupQw0XExC36RETdNFxcq9glMu4cNQSX9cqR/GQYp+IxUkIcNGWVU7ZtGa6P3XAyodRt0XeS3Tp01AnCh0ZbUh4VrSZeV9RWfSoWyxnY3hzcZ30G/InDq4wxRrEejreBxnhIQbkxenxkaxl+k7eLUQkUR6vKJ2iDFNGX3WmVA1yaOH+mvhBd+sE6vacQzFobwY5BqEAFmejwW5ne7HtVNolOUgJc8CsUxmc/LBi8N5mu9VsIA5HyErnS6zeCz7VLI9+n/hbT6hTokMXTVyXJRKSG2hd2labXTbtmK4fNH3IZBPreSA4FMeVouVN3zG5x9CiGpLw/3pceo4qGqp+rVp+z+7yQ98oEf+nyH4F3+J9IheDBa94Wi63zJbLBCIZm7P0asHGpIJt3PzE3m0S4YIWyXBCVXGikj8MudDPB/6Nm2v4IxJ5gU0ii0guy5SUHqGUYzTP0jIJU5E82RHUXtX4lDdrihBLdP1YaG1AGUC12rQKuIaGvCpMjZC9bWSCYnjDlvpWbkdXMTNeBHLKiuoozMGIvkczmP0aRJSJ8PYnLCVNhKHXBNckH79e8Z8Kc2wUej4sQZoH8qDRGkg86maW/ZQWGNnLcXmq3FlXM6ssR/3P6E/bHMvm6HLrv1yRixit25JsH3/IOr2UV4BWJhxXW5BJ6Xdr07n9kF3ZNAk6/Xpc5MSFmYJ2R7bdL8Kk7q1OU9Elg/tCxJ8giT27wSTySF0GOxg4PbYJdi/Nyia9Nn89CGDulfJemm1aiEr/eleGSN+5MRrVJ4K6lgyTTIW3i9cQ0dAi6FHt0YMbH3wDSAtGLSAccezzxHitt1QdhW36CQgPcA8vIIBh3/JNjf/Obmc2yzpk8edSlS4lVdwgW5vzbYEyFoF4GCBBby1keVNueHAH+evi+H7oOVfS3XuPQSNTXOONAbzJeSb5stwdQHl1ZjrGoE49I8+A9j3t+ahhQj74FCSWpZrj7wRSFJJnnwi1T9HL5qrCFW/JZq6P62XkMWTb+u4lGpKfmmwiJWx178GOG7KbrZGqyWwmuyKWPkNswkZ1q8uptUlviIi+AXh2bOOTOLsrtNkfqbQJeh24reebkINLkjut5r4d9GR/r8CBa9SU0UQhsnZp5cP+RqWCixRm7i4YRFbtZ4EAkhtNa6jHb6gPYQv7MKqkPLRmX3dFsK8XsRLVZ6IEVrCbmNDc8o5mqsogjAQfoC9Bc7R6gfw03m+lQpv6kTfhxscDIX6s0w+fBxtkhjXAXr10UouWCx3C/p/FYwJRS/AXRKkjOb5CLmK4XRe0+xeDDwVkJPZau52bzLEDHCqV0f44pPgKOkYKgTZJ33fmk3Tu8SdxJ02SHM8Fem5SMsWqRyi2F1ynfRJszcFKykdWlNqgDA/L9lKYBmc7Zu/q9ii1FPF47VJkqhirUob53zoiJtVVRVwMR34gV9iqcBaHbRu9kkvqk3yMpfRFG49pKKjIiq7h/VpRwPGTHoY4cg05X5028iHsLvUW/uz+kjPyIEhhcKUwCkJAwbR9pIEGOn8z6svAO8i89sJ3dL5qDWFYbS+HGPRMxYwJItFQN86YESeJQhn2urGiLRffQeLptDl8dAgb+Tp47UQPxWOw17OeChLN1WnzlkPL1T5O+O3Menpn4C3IY5LEepHpnPeZHbvuWfeVtPlkH4LZjPbBrkJT3NoRJzBt86CO0Xq59oQ+8dsm0ymRcmQyn8w71mhmcuEI5byuF+C88VPYly2sEzjlzAQ3vdn/1+Hzguw6qFNNbqenhZGbdiG6RwZaTG7jTA2X9RdXjDN9yj1uQpyO4Lx8KRAcZcbZMafp4wPOd5MdXoFY52V1A8M9hi3sso93+uprE0qYNMjkE22CvK4HuUxqN7oIz5pWuETq1lQAjqlSlqdD2Rnr/ggp/TVkQYjn9lMfYelk2sH5HPdopYo7MHwlV1or9Bxf+QCyLzm92vzG2wjiIjC/ZHEJzeroJl6bdFPTpZho5MV2U86fLQqxNlGIMqCGy+9WYhJ8ob1r0+Whxde9L2PdysETv97O+xVw+VNN1TZSQN5I6l9m5Ip6pLIqLm4a1B1ffH6gHyqT9p82NOjntRWGIofO3bJz5GhkvSWbsXueTAMaJDou99kGLqDlhwBZNEQ4mKPuDvVwSK4WmLluHyhA97pZiVe8g+JxmnJF8IkV/tCs4Jq/HgOoAEGR9tCDsDbDmi3OviUQpG5D8XmKcSAUaFLRXb2lmJTNYdhtYyfjBYZQmN5qT5CNuaD3BVnlkCk7bsMW3AtXkNMMTuW4HjUERSJnVQ0vsBGa1wo3Qh7115XGeTF3NTz8w0440AgU7c3bSXO/KMINaIWXd0oLpoq/0/QJxCQSJ9XnYy1W7TYLBJpHsVWD1ahsA7FjNvRd6mxCiHsm8g6Z0pnzqIpF1dHUtP2ITU5Z1hZHbu+L3BEEStBbL9XYvGfEakv1bmf+bOZGnoiuHEdlBnaChxYKNzB23b8sw8YyT7Ajxfk49eJIAvdbVkdFCe2J0gMefhQ0bIZxhx3fzMIysQNiN8PgOUKxOMur10LduigREDRMZyP4oGWrP1GFY4t6groASsZ421os48wAdnrbovNhLt7ScNULkwZ5AIZJTrbaKYTLjA1oJ3sIuN/aYocm/9uoQHEIlacF1s/TM1fLcPTL38O9fOsjMEIwoPKfvt7opuI9G2Hf/PR4aCLDQ7wNmIdEuXJ/QNL72k5q4NejAldPfe3UVVqzkys8YZ/jYOGOp6c+YzRCrCuq0M11y7TiN6qk7YXRMn/gukxrEimbMQjr3jwRM6dKVZ4RUfWQr8noPXLJq6yh5R3EH1IVOHESst/LItbG2D2vRsZRkAObzvQAAD3mb3/G4NzopI0FAiHfbpq0X72adg6SRj+8OHMShtFxxLZlf/nLgRLbClwl5WmaYSs+yEjkq48tY7Z2bE0N91mJwt+ua0NlRJIDh0HikF4UvSVorFj2YVu9YeS5tfvlVjPSoNu/Zu6dEUfBOT555hahBdN3Sa5Xuj2Rvau1lQNIaC944y0RWj9UiNDskAK1WoL+EfXcC6IbBXFRyVfX/WKXxPAwUyIAGW8ggZ08hcijKTt1YKnUO6QPvcrmDVAb0FCLIXn5id4fD/Jx4tw/gbXs7WF9b2RgXtPhLBG9vF5FEkdHAKrQHZAJC/HWvk7nvzzDzIXZlfFTJoC3JpGgLPBY7SQTjGlUvG577yNutZ1hTfs9/1nkSXK9zzKLRZ3VODeKUovJe0WCq1zVMYxCJMenmNzPIU2S8TA4E7wWmbNkxq9rI2dd6v0VpcAPVMxnDsvWTWFayyqvKZO7Z08a62i/oH2/jxf8rpmfO64in3FLiL1GX8IGtVE9M23yGsIqJbxDTy+LtaMWDaPqkymb5VrQdzOvqldeU0SUi6IirG8UZ3jcpRbwHa1C0Dww9G/SFX3gPvTJQE+kyz+g1BeMILKKO+olcHzctOWgzxYHnOD7dpCRtuZEXACjgqesZMasoPgnuDC4nUviAAxDc5pngjoAITIkvhKwg5d608pdrZcA+qn5TMT6Uo/QzBaOxBCLTJX3Mgk85rMfsnWx86oLxf7p2PX5ONqieTa/qM3tPw4ZXvlAp83NSD8F7+ZgctK1TpoYwtiU2h02HCGioH5tkVCqNVTMH5p00sRy2JU1qyDBP2CII/Dg4WDsIl+zgeX7589srx6YORRQMBfKbodbB743Tl4WLKOEnwWUVBsm94SOlCracU72MSyj068wdpYjyz1FwC2bjQnxnB6Mp/pZ+yyZXtguEaYB+kqhjQ6UUmwSFazOb+rhYjLaoiM+aN9/8KKn0zaCTFpN9eKwWy7/u4EHzO46TdFSNjMfn2iPSJwDPCFHc0I1+vjdAZw5ZjqR/uzi9Zn20oAa5JnLEk/EA3VRWE7J/XrupfFJPtCUuqHPpnlL7ISJtRpSVcB8qsZCm2QEkWoROtCKKxUh3yEcMbWYJwk6DlEBG0bZP6eg06FL3v6RPb7odGuwm7FN8fG4woqtB8e7M5klPpo97GoObNwt+ludTAmxyC5hmcFx+dIvEZKI6igFKHqLH01iY1o7903VzG9QGetyVx5RNmBYUU+zIuSva/yIcECUi4pRmE3VkF2avqulQEUY4yZ/wmNboBzPmAPey3+dSYtBZUjeWWT0pPwCz4Vozxp9xeClIU60qvEFMQCaPvPaA70WlOP9f/ey39macvpGCVa+zfa8gO44wbxpJUlC8GN/pRMTQtzY8Z8/hiNrU+Zq64ZfFGIkdj7m7abcK1EBtws1X4J/hnqvasPvvDSDYWN+QcQVGMqXalkDtTad5rYY0TIR1Eqox3czwPMjKPvF5sFv17Thujr1IZ1Ytl4VX1J0vjXKmLY4lmXipRAro0qVGEcXxEVMMEl54jQMd4J7RjgomU0j1ptjyxY+cLiSyXPfiEcIS2lWDK3ISAy6UZ3Hb5vnPncA94411jcy75ay6B6DSTzK6UTCZR9uDANtPBrvIDgjsfarMiwoax2OlLxaSoYn4iRgkpEGqEkwox5tyI8aKkLlfZ12lO11TxsqRMY89j5JaO55XfPJPDL1LGSnC88Re9Ai+Nu5bZjtwRrvFITUFHPR4ZmxGslQMecgbZO7nHk32qHxYkdvWpup07ojcMCaVrpFAyFZJJbNvBpZfdf39Hdo2kPtT7v0/f8R/B5Nz4f1t9/3zNM/7n6SUHfcWk5dfQFJvcJMgPolGCpOFb/WC0FGWU2asuQyT+rm88ZKZ78Cei/CAh939CH0JYbpZIPtxc2ufXqjS3pHH9lnWK4iJ7OjR/EESpCo2R3MYKyE7rHfhTvWho4cL1QdN4jFTyR6syMwFm124TVDDRXMNveI1Dp/ntwdz8k8kxw7iFSx6+Yx6O+1LzMVrN0BBzziZi9kneZSzgollBnVwBh6oSOPHXrglrOj+QmR/AESrhDpKrWT+8/AiMDxS/5wwRNuGQPLlJ9ovomhJWn8sMLVItQ8N/7IXvtD8kdOoHaw+vBSbFImQsv/OCAIui99E+YSIOMlMvBXkAt+NAZK8wB9Jf8CPtB+TOUOR+z71d/AFXpPBT6+A5FLjxMjLIEoJzrQfquvxEIi+WoUzGR1IzQFNvbYOnxb2PyQ0kGdyXKzW2axQL8lNAXPk6NEjqrRD1oZtKLlFoofrXw0dCNWASHzy+7PSzOUJ3XtaPZsxLDjr+o41fKuKWNmjiZtfkOzItvlV2MDGSheGF0ma04qE3TUEfqJMrXFm7DpK+27DSvCUVf7rbNoljPhha5W7KBqVq0ShUSTbRmuqPtQreVWH4JET5yMhuqMoSd4r/N8sDmeQiQQvi1tcZv7Moc7dT5X5AtCD6kNEGZOzVcNYlpX4AbTsLgSYYliiPyVoniuYYySxsBy5cgb3pD+EK0Gpb0wJg031dPgaL8JZt6sIvzNPEHfVPOjXmaXj4bd4voXzpZ5GApMhILgMbCEWZ2zwgdeQgjNHLbPIt+KqxRwWPLTN6HwZ0Ouijj4UF+Sg0Au8XuIKW0WxlexdrFrDcZJ8Shauat3X0XmHygqgL1nAu2hrJFb4wZXkcS+i36KMyU1yFvYv23bQUJi/3yQpqr/naUOoiEWOxckyq/gq43dFou1DVDaYMZK9tho7+IXXokBCs5GRfOcBK7g3A+jXQ39K4YA8PBRW4m5+yR0ZAxWJncjRVbITvIAPHYRt1EJ3YLiUbqIvoKHtzHKtUy1ddRUQ0AUO41vonZDUOW+mrszw+SW/6Q/IUgNpcXFjkM7F4CSSQ2ExZg85otsMs7kqsQD4OxYeBNDcSpifjMoLb7GEbGWTwasVObmB/bfPcUlq0wYhXCYEDWRW02TP5bBrYsKTGWjnWDDJ1F7zWai0zW/2XsCuvBQjPFcTYaQX3tSXRSm8hsAoDdjArK/OFp6vcWYOE7lizP0Yc+8p16i7/NiXIiiQTp7c7Xus925VEtlKAjUdFhyaiLT7VxDagprMFwix4wZ05u0qj7cDWFd0W9OYHIu3JbJKMXRJ1aYNovugg+QqRN7fNHSi26VSgBpn+JfMuPo3aeqPWik/wI5Rz3BWarPQX4i5+dM0npwVOsX+KsOhC7vDg+OJsz4Q5zlnIeflUWL6QYMbf9WDfLmosLF4Qev3mJiOuHjoor/dMeBpA9iKDkMjYBNbRo414HCxjsHrB4EXNbHzNMDHCLuNBG6Sf+J4MZ/ElVsDSLxjIiGsTPhw8BPjxbfQtskj+dyNMKOOcUYIRBEIqbazz3lmjlRQhplxq673VklMMY6597vu+d89ec/zq7Mi4gQvh87ehYbpOuZEXj5g/Q7S7BFDAAB9DzG35SC853xtWVcnZQoH54jeOqYLR9NDuwxsVthTV7V99n/B7HSbAytbEyVTz/5NhJ8gGIjG0E5j3griULUd5Rg7tQR+90hJgNQKQH2btbSfPcaTOfIexc1db1BxUOhM1vWCpLaYuKr3FdNTt/T3PWCpEUWDKEtzYrjpzlL/wri3MITKsFvtF8QVV/NhVo97aKIBgdliNc10dWdXVDpVtsNn+2UIolrgqdWA4EY8so0YvB4a+aLzMXiMAuOHQrXY0tr+CL10JbvZzgjJJuB1cRkdT7DUqTvnswVUp5kkUSFVtIIFYK05+tQxT6992HHNWVhWxUsD1PkceIrlXuUVRogwmfdhyrf6zzaL8+c0L7GXMZOteAhAVQVwdJh+7nrX7x4LaIIfz2F2v7Dg/uDfz2Fa+4gFm2zHAor8UqimJG3VTJtZEoFXhnDYXvxMJFc6ku2bhbCxzij2z5UNuK0jmp1mnvkVNUfR+SEmj1Lr94Lym75PO7Fs0MIr3GdsWXRXSfgLTVY0FLqba97u1In8NAcY7IC6TjWLigwKEIm43NxTdaVTv9mcKkzuzBkKd8x/xt1p/9BbP7Wyb4bpo1K1gnOpbLvKz58pWl3B55RJ/Z5mRDLPtNQg14jdOEs9+h/V5UVpwrAI8kGbX8KPVPDIMfIqKDjJD9UyDOPhjZ3vFAyecwyq4akUE9mDOtJEK1hpDyi6Ae87sWAClXGTiwPwN7PXWwjxaR79ArHRIPeYKTunVW24sPr/3HPz2IwH8oKH4OlWEmt4BLM6W5g4kMcYbLwj2usodD1088stZA7VOsUSpEVl4w7NMb1EUHMRxAxLF0CIV+0L3iZb+ekB1vSDSFjAZ3hfLJf7gFaXrOKn+mhR+rWw/eTXIcAgl4HvFuBg1LOmOAwJH3eoVEjjwheKA4icbrQCmvAtpQ0mXG0agYp5mj4Rb6mdQ+RV4QBPbxMqh9C7o8nP0Wko2ocnCHeRGhN1XVyT2b9ACsL+6ylUy+yC3QEnaKRIJK91YtaoSrcWZMMwxuM0E9J68Z+YyjA0g8p1PfHAAIROy6Sa04VXOuT6A351FOWhKfTGsFJ3RTJGWYPoLk5FVK4OaYR9hkJvezwF9vQN1126r6isMGXWTqFW+3HL3I/jurlIdDWIVvYY+s6yq7lrFSPAGRdnU7PVwY/SvWbZGpXzy3BQ2LmAJlrONUsZs4oGkly0V267xbD5KMY8woNNsmWG1VVgLCra8aQBBcI4DP2BlNwxhiCtHlaz6OWFoCW0vMR3ErrG7JyMjTSCnvRcsEHgmPnwA6iNpJ2DrFb4gLlhKJyZGaWkA97H6FFdwEcLT6DRQQL++fOkVC4cYGW1TG/3iK5dShRSuiBulmihqgjR45Vi03o2RbQbP3sxt90VxQ6vzdlGfkXmmKmjOi080JSHkLntjvsBJnv7gKscOaTOkEaRQqAnCA4HWtB4XnMtOhpRmH2FH8tTXrIjAGNWEmudQLCkcVlGTQ965Kh0H6ixXbgImQP6b42B49sO5C8pc7iRlgyvSYvcnH9FgQ3azLbQG2cUW96SDojTQStxkOJyOuDGTHAnnWkz29aEwN9FT8EJ4yhXOg+jLTrCPKeEoJ9a7lDXOjEr8AgX4BmnMQ668oW0zYPyQiVMPxKRHtpfnEEyaKhdzNVThlxxDQNdrHeZiUFb6NoY2KwvSb7BnRcpJy+/g/zAYx3fYSN5QEaVD2Y1VsNWxB0BSO12MRsRY8JLfAezRMz5lURuLUnG1ToKk6Q30FughqWN6gBNcFxP/nY/iv+iaUQOa+2Nuym46wtI/DvSfzSp1jEi4SdYBE7YhTiVV5cX9gwboVDMVgZp5YBQlHOQvaDNfcCoCJuYhf5kz5kwiIKPjzgpcRJHPbOhJajeoeRL53cuMahhV8Z7IRr6M4hW0JzT7mzaMUzQpm866zwM7Cs07fJYXuWvjAMkbe5O6V4bu71sOG6JQ4oL8zIeXHheFVavzxmlIyBkgc9IZlEDplMPr8xlcyss4pVUdwK1e7CK2kTsSdq7g5SHRAl3pYUB9Ko4fsh4qleOyJv1z3KFSTSvwEcRO/Ew8ozEDYZSqpfoVW9uhJfYrNAXR0Z3VmeoAD+rVWtwP/13sE/3ICX3HhDG3CMc476dEEC0K3umSAD4j+ZQLVdFOsWL2C1TH5+4KiSWH+lMibo+B55hR3Gq40G1n25sGcN0mEcoU2wN9FCVyQLBhYOu9aHVLWjEKx2JIUZi5ySoHUAI9b8hGzaLMxCZDMLhv8MkcpTqEwz9KFDpCpqQhVmsGQN8m24wyB82FAKNmjgfKRsXRmsSESovAwXjBIoMKSG51p6Um8b3i7GISs7kjTq/PZoioCfJzfKdJTN0Q45kQEQuh9H88M3yEs3DbtRTKALraM0YC8laiMiOOe6ADmTcCiREeAWZelBaEXRaSuj2lx0xHaRYqF65O0Lo5OCFU18A8cMDE4MLYm9w2QSr9NgQAIcRxZsNpA7UJR0e71JL+VU+ISWFk5I97lra8uGg7GlQYhGd4Gc6rxsLFRiIeGO4abP4S4ekQ1fiqDCy87GZHd52fn5aaDGuvOmIofrzpVwMvtbreZ/855OaXTRcNiNE0wzGZSxbjg26v8ko8L537v/XCCWP2MFaArJpvnkep0pA+O86MWjRAZPQRfznZiSIaTppy6m3p6HrNSsY7fDtz7Cl4V/DJAjQDoyiL2uwf1UHVd2AIrzBUSlJaTj4k6NL97a/GqhWKU9RUmjnYKpm2r+JYUcrkCuZKvcYvrg8pDoUKQywY9GDWg03DUFSirlUXBS5SWn/KAntnf0IdHGL/7mwXqDG+LZYjbEdQmqUqq4y54TNmWUP7IgcAw5816YBzwiNIJiE9M4lPCzeI/FGBeYy3p6IAmH4AjXXmvQ4Iy0Y82NTobcAggT2Cdqz6Mx4TdGoq9fn2etrWKUNFyatAHydQTVUQ2S5OWVUlugcNvoUrlA8cJJz9MqOa/W3iVno4zDHfE7zhoY5f5lRTVZDhrQbR8LS4eRLz8iPMyBL6o4PiLlp89FjdokQLaSBmKHUwWp0na5fE3v9zny2YcDXG/jfI9sctulHRbdkI5a4GOPJx4oAJQzVZ/yYAado8KNZUdEFs9ZPiBsausotXMNebEgr0dyopuqfScFJ3ODNPHgclACPdccwv0YJGQdsN2lhoV4HVGBxcEUeUX/alr4nqpcc1CCR3vR7g40zteQg/JvWmFlUE4mAiTpHlYGrB7w+U2KdSwQz2QJKBe/5eiixWipmfP15AFWrK8Sh1GBBYLgzki1wTMhGQmagXqJ2+FuqJ8f0XzXCVJFHQdMAw8xco11HhM347alrAu+wmX3pDFABOvkC+WPX0Uhg1Z5MVHKNROxaR84YV3s12UcM+70cJ460SzEaKLyh472vOMD3XnaK7zxZcXlWqenEvcjmgGNR2OKbI1s8U+iwiW+HotHalp3e1MGDy6BMVIvajnAzkFHbeVsgjmJUkrP9OAwnEHYXVBqYx3q7LvXjoVR0mY8h+ZaOnh053pdsGkmbqhyryN01eVHySr+CkDYkSMeZ1xjPNVM+gVLTDKu2VGsMUJqWO4TwPDP0VOg2/8ITbAUaMGb4LjL7L+Pi11lEVMXTYIlAZ/QHmTENjyx3kDkBdfcvvQt6tKk6jYFM4EG5UXDTaF5+1ZjRz6W7MdJPC+wTkbDUim4p5QQH3b9kGk2Bkilyeur8Bc20wm5uJSBO95GfYDI1EZipoRaH7uVveneqz43tlTZGRQ4a7CNmMHgXyOQQOL6WQkgMUTQDT8vh21aSdz7ERiZT1jK9F+v6wgFvuEmGngSvIUR2CJkc5tx1QygfZnAruONobB1idCLB1FCfO7N1ZdRocT8/Wye+EnDiO9pzqIpnLDl4bkaRKW+ekBVwHn46Shw1X0tclt/0ROijuUB4kIInrVJU4buWf4YITJtjOJ6iKdr1u+flgQeFH70GxKjhdgt/MrwfB4K/sXczQ+9zYcrD4dhY6qZhZ010rrxggWA8JaZyg2pYij8ieYEg1aZJkZK9O1Re7sB0iouf60rK0Gd+AYlp7soqCBCDGwfKeUQhCBn0E0o0GS6PdmjLi0TtCYZeqazqwN+yNINIA8Lk3iPDnWUiIPLGNcHmZDxfeK0iAdxm/T7LnN+gemRL61hHIc0NCAZaiYJR+OHnLWSe8sLrK905B5eEJHNlWq4RmEXIaFTmo49f8w61+NwfEUyuJAwVqZCLFcyHBKAcIVj3sNzfEOXzVKIndxHw+AR93owhbCxUZf6Gs8cz6/1VdrFEPrv330+9s6BtMVPJ3zl/Uf9rUi0Z/opexfdL3ykF76e999GPfVv8fJv/Y/+/5hEMon1tqNFyVRevV9y9/uIvsG3dbB8GRRrgaEXfhx+2xeOFt+cEn3RZanNxdEe2+B6MHpNbrRE53PlDifPvFcp4kO78ILR0T4xyW/WGPyBsqGdoA7zJJCu1TKbGfhnqgnRbxbB2B3UZoeQ2bz2sTVnUwokTcTU21RxN1PYPS3Sar7T0eRIsyCNowr9amwoMU/od9s2APtiKNL6ENOlyKADstAEWKA+sdKDhrJ6BOhRJmZ+QJbAaZ3/5Fq0/lumCgEzGEbu3yi0Y4I4EgVAjqxh4HbuQn0GrRhOWyAfsglQJAVL1y/6yezS2k8RE2MstJLh92NOB3GCYgFXznF4d25qiP4ZCyI4RYGesut6FXK6GwPpKK8WHEkhYui0AyEmr5Ml3uBFtPFdnioI8RiCooa7Z1G1WuyIi3nSNglutc+xY8BkeW3JJXPK6jd2VIMpaSxpVtFq+R+ySK9J6WG5Qvt+C+QH1hyYUOVK7857nFmyDBYgZ/o+AnibzNVqyYCJQvyDXDTK+iXdkA71bY7TL3bvuLxLBQ8kbTvTEY9aqkQ3+MiLWbEgjLzOH+lXgco1ERgzd80rDCymlpaRQbOYnKG/ODoFl46lzT0cjM5FYVvv0qLUbD5lyJtMUaC1pFlTkNONx6lliaX9o0i/1vws5bNKn5OuENQEKmLlcP4o2ZmJjD4zzd3Fk32uQ4uRWkPSUqb4LBe3EXHdORNB2BWsws5daRnMfNVX7isPSb1hMQdAJi1/qmDMfRUlCU74pmnzjbXfL8PVG8NsW6IQM2Ne23iCPIpryJjYbVnm5hCvKpMa7HLViNiNc+xTfDIaKm3jctViD8A1M9YPJNk003VVr4Zo2MuGW8vil8SLaGpPXqG7I4DLdtl8a4Rbx1Lt4w5Huqaa1XzZBtj208EJVGcmKYEuaeN27zT9EE6a09JerXdEbpaNgNqYJdhP1NdqiPKsbDRUi86XvvNC7rME5mrSQtrzAZVndtSjCMqd8BmaeGR4l4YFULGRBeXIV9Y4yxLFdyoUNpiy2IhePSWzBofYPP0eIa2q5JP4j9G8at/AqoSsLAUuRXtvgsqX/zYwsE+of6oSDbUOo4RMJw+DOUTJq+hnqwKim9Yy/napyZNTc2rCq6V9jHtJbxGPDwlzWj/Sk3zF/BHOlT/fSjSq7FqlPI1q6J+ru8Aku008SFINXZfOfnZNOvGPMtEmn2gLPt+H4QLA+/SYe4j398auzhKIp2Pok3mPC5q1IN1HgR+mnEfc4NeeHYwd2/kpszR3cBn7ni9NbIqhtSWFW8xbUJuUPVOeeXu3j0IGZmFNiwaNZ6rH4/zQ2ODz6tFxRLsUYZu1bfd1uIvfQDt4YD/efKYv8VF8bHGDgK22w2Wqwpi43vNCOXFJZCGMqWiPbL8mil6tsmOTXAWCyMCw73e2rADZj2IK6rqksM3EXF2cbLb4vjB14wa/yXK5vwU+05MzERJ5nXsXsW21o7M+gO0js2OyKciP5uF2iXyb2DiptwQeHeqygkrNsqVCSlldxBMpwHi1vfc8RKpP/4L3Lmpq6DZcvhDDfxTCE3splacTcOtXdK2g303dIWBVe2wD/Gvja1cClFQ67gw0t1ZUttsUgQ1Veky8oOpS6ksYEc4bqseCbZy766SvL3FodmnahlWJRgVCNjPxhL/fk2wyvlKhITH/VQCipOI0dNcRa5B1M5HmOBjTLeZQJy237e2mobwmDyJNHePhdDmiknvLKaDbShL+Is1XTCJuLQd2wmdJL7+mKvs294whXQD+vtd88KKk0DXP8B1Xu9J+xo69VOuFgexgTrcvI6SyltuLix9OPuE6/iRJYoBMEXxU4shQMf4Fjqwf1PtnJ/wWSZd29rhZjRmTGgiGTAUQqRz+nCdjeMfYhsBD5Lv60KILWEvNEHfmsDs2L0A252351eUoYxAysVaCJVLdH9QFWAmqJDCODUcdoo12+gd6bW2boY0pBVHWL6LQDK5bYWh1V8vFvi0cRpfwv7cJiMX3AZNJuTddHehTIdU0YQ/sQ1dLoF2xQPcCuHKiuCWOY30DHe1OwcClLAhqAKyqlnIbH/8u9ScJpcS4kgp6HKDUdiOgRaRGSiUCRBjzI5gSksMZKqy7Sd51aeg0tgJ+x0TH9YH2Mgsap9N7ENZdEB0bey2DMTrBA1hn56SErNHf3tKtqyL9b6yXEP97/rc+jgD2N1LNUH6RM9AzP3kSipr06RkKOolR7HO768jjWiH1X92jA7dkg7gcNcjqsZCgfqWw0tPXdLg20cF6vnQypg7gLtkazrHAodyYfENPQZsdfnjMZiNu4nJO97D1/sQE+3vNFzrSDOKw+keLECYf7RJwVHeP/j79833oZ0egonYB2FlFE5qj02B/LVOMJQlsB8uNg3Leg4qtZwntsOSNidR0abbZmAK4sCzvt8Yiuz2yrNCJoH5O8XvX/vLeR/BBYTWj0sOPYM/jyxRd5+/JziKAABaPcw/34UA3aj/gLZxZgRCWN6m4m3demanNgsx0P237/Q+Ew5VYnJPkyCY0cIVHoFn2Ay/e7U4P19APbPFXEHX94N6KhEMPG7iwB3+I+O1jd5n6VSgHegxgaSawO6iQCYFgDsPSMsNOcUj4q3sF6KzGaH/0u5PQoAj/8zq6Uc9MoNrGqhYeb2jQo0WlGlXjxtanZLS24/OIN5Gx/2g684BPDQpwlqnkFcxpmP/osnOXrFuu4PqifouQH0eF5qCkvITQbJw/Zvy5mAHWC9oU+cTiYhJmSfKsCyt1cGVxisKu+NymEQIAyaCgud/V09qT3nk/9s/SWsYtha7yNpzBIMM40rCSGaJ9u6lEkl00vXBiEt7p9P5IBCiavynEOv7FgLqPdeqxRiCwuFVMolSIUBcoyfUC2e2FJSAUgYdVGFf0b0Kn2EZlK97yyxrT2MVgvtRikfdaAW8RwEEfN+B7/eK8bBdp7URpbqn1xcrC6d2UjdsKbzCjBFqkKkoZt7Mrhg6YagE7spkqj0jOrWM+UGQ0MUlG2evP1uE1p2xSv4dMK0dna6ENcNUF+xkaJ7B764NdxLCpuvhblltVRAf7vK5qPttJ/9RYFUUSGcLdibnz6mf7WkPO3MkUUhR2mAOuGv8IWw5XG1ZvoVMnjSAZe6T7WYA99GENxoHkMiKxHlCuK5Gd0INrISImHQrQmv6F4mqU/TTQ8nHMDzCRivKySQ8dqkpQgnUMnwIkaAuc6/FGq1hw3b2Sba398BhUwUZSAIO8XZvnuLdY2n6hOXws+gq9BHUKcKFA6kz6FDnpxLPICa3qGhnc97bo1FT/XJk48LrkHJ2CAtBv0RtN97N21plfpXHvZ8gMJb7Zc4cfI6MbPwsW7AilCSXMFIEUEmir8XLEklA0ztYbGpTTGqttp5hpFTTIqUyaAIqvMT9A/x+Ji5ejA4Bhxb/cl1pUdOD6epd3yilIdO6j297xInoiBPuEDW2/UfslDyhGkQs7Wy253bVnlT+SWg89zYIK/9KXFl5fe+jow2rd5FXv8zDPrmfMXiUPt9QBO/iK4QGbX5j/7Rx1c1vzsY8ONbP3lVIaPrhL4+1QrECTN3nyKavGG0gBBtHvTKhGoBHgMXHStFowN+HKrPriYu+OZ05Frn8okQrPaaxoKP1ULCS/cmKFN3gcH7HQlVjraCeQmtjg1pSQxeuqXiSKgLpxc/1OiZsU4+n4lz4hpahGyWBURLi4642n1gn9qz9bIsaCeEPJ0uJmenMWp2tJmIwLQ6VSgDYErOeBCfSj9P4G/vI7oIF+l/n5fp956QgxGvur77ynawAu3G9MdFbJbu49NZnWnnFcQHjxRuhUYvg1U/e84N4JTecciDAKb/KYIFXzloyuE1eYXf54MmhjTq7B/yBToDzzpx3tJCTo3HCmVPYfmtBRe3mPYEE/6RlTIxbf4fSOcaKFGk4gbaUWe44hVk9SZzhW80yfW5QWBHxmtUzvMhfVQli4gZTktIOZd9mjJ5hsbmzttaHQB29Am3dZkmx3g/qvYocyhZ2PXAWsNQiIaf+Q8W/MWPIK7/TjvCx5q2XRp4lVWydMc2wIQkhadDB0xsnw/kSEyGjLKjI4coVIwtubTF3E7MJ6LS6UOsJKj82XVAVPJJcepfewbzE91ivXZvOvYfsmMevwtPpfMzGmC7WJlyW2j0jh7AF1JLmwEJSKYwIvu6DHc3YnyLH9ZdIBnQ+nOVDRiP+REpqv++typYHIvoJyICGA40d8bR7HR2k7do6UQTHF4oriYeIQbxKe4Th6+/l1BjUtS9hqORh3MbgvYrStXTfSwaBOmAVQZzpYNqsAmQyjY56MUqty3c/xH6GuhNvNaG9vGbG6cPtBM8UA3e8r51D0AR9kozKuGGSMgLz3nAHxDNnc7GTwpLj7/6HeWp1iksDeTjwCLpxejuMtpMnGJgsiku1sOACwQ9ukzESiDRN77YNESxR5LphOlcASXA5uIts1LnBIcn1J7BLWs49DMALSnuz95gdOrTZr0u1SeYHinno/pE58xYoXbVO/S+FEMMs5qyWkMnp8Q3ClyTlZP52Y9nq7b8fITPuVXUk9ohG5EFHw4gAEcjFxfKb3xuAsEjx2z1wxNbSZMcgS9GKyW3R6KwJONgtA64LTyxWm8Bvudp0M1FdJPEGopM4Fvg7G/hsptkhCfHFegv4ENwxPeXmYhxwZy7js+BeM27t9ODBMynVCLJ7RWcBMteZJtvjOYHb5lOnCLYWNEMKC59BA7covu1cANa2PXL05iGdufOzkgFqqHBOrgQVUmLEc+Mkz4Rq8O6WkNr7atNkH4M8d+SD1t/tSzt3oFql+neVs+AwEI5JaBJaxARtY2Z4mKoUqxds4UpZ0sv3zIbNoo0J4fihldQTX3XNcuNcZmcrB5LTWMdzeRuAtBk3cZHYQF6gTi3PNuDJ0nmR+4LPLoHvxQIxRgJ9iNNXqf2SYJhcvCtJiVWo85TsyFOuq7EyBPJrAdhEgE0cTq16FQXhYPJFqSfiVn0IQnPOy0LbU4BeG94QjdYNB0CiQ3QaxQqD2ebSMiNjaVaw8WaM4Z5WnzcVDsr4eGweSLa2DE3BWViaxhZFIcSTjgxNCAfelg+hznVOYoe5VqTYs1g7WtfTm3e4/WduC6p+qqAM8H4ZyrJCGpewThTDPe6H7CzX/zQ8Tm+r65HeZn+MsmxUciEWPlAVaK/VBaQBWfoG/aRL/jSZIQfep/89GjasWmbaWzeEZ2R1FOjvyJT37O9B8046SRSKVEnXWlBqbkb5XCS3qFeuE9xb9+frEknxWB5h1D/hruz2iVDEAS7+qkEz5Ot5agHJc7WCdY94Ws61sURcX5nG8UELGBAHZ3i+3VulAyT0nKNNz4K2LBHBWJcTBX1wzf+//u/j/9+//v87+9/l9Lbh/L/uyNYiTsWV2LwsjaA6MxTuzFMqmxW8Jw/+IppdX8t/Clgi1rI1SN0UC/r6tX/4lUc2VV1OQReSeCsjUpKZchw4XUcjHfw6ryCV3R8s6VXm67vp4n+lcPV9gJwmbKQEsmrJi9c2vkwrm8HFbVYNTaRGq8D91t9n5+U+aD/hNtN3HjC/nC/vUoGFSCkXP+NlRcmLUqLbiUBl4LYf1U/CCvwtd3ryCH8gUmGITAxiH1O5rnGTz7y1LuFjmnFGQ1UWuM7HwfXtWl2fPFKklYwNUpF2IL/TmaRETjQiM5SJacI+3Gv5MBU8lP5Io6gWkawpyzNEVGqOdx4YlO1dCvjbWFZWbCmeiFKPSlMKtKcMFLs/KQxtgAHi7NZNCQ32bBAW2mbHflVZ8wXKi1JKVHkW20bnYnl3dKWJeWJOiX3oKPBD6Zbi0ZvSIuWktUHB8qDR8DMMh1ZfkBL9FS9x5r0hBGLJ8pUCJv3NYH+Ae8p40mZWd5m5fhobFjQeQvqTT4VKWIYfRL0tfaXKiVl75hHReuTJEcqVlug+eOIIc4bdIydtn2K0iNZPsYWQvQio2qbO3OqAlPHDDOB7DfjGEfVF51FqqNacd6QmgFKJpMfLp5DHTv4wXlONKVXF9zTJpDV4m1sYZqJPhotcsliZM8yksKkCkzpiXt+EcRQvSQqmBS9WdWkxMTJXPSw94jqI3varCjQxTazjlMH8jTS8ilaW8014/vwA/LNa+YiFoyyx3s/KswP3O8QW1jtq45yTM/DX9a8M4voTVaO2ebvw1EooDw/yg6Y1faY+WwrdVs5Yt0hQ5EwRfYXSFxray1YvSM+kYmlpLG2/9mm1MfmbKHXr44Ih8nVKb1M537ZANUkCtdsPZ80JVKVKabVHCadaLXg+IV8i5GSwpZti0h6diTaKs9sdpUKEpd7jDUpYmHtiX33SKiO3tuydkaxA7pEc9XIQEOfWJlszj5YpL5bKeQyT7aZSBOamvSHl8xsWvgo26IP/bqk+0EJUz+gkkcvlUlyPp2kdKFtt7y5aCdks9ZJJcFp5ZWeaWKgtnXMN3ORwGLBE0PtkEIek5FY2aVssUZHtsWIvnljMVJtuVIjpZup/5VL1yPOHWWHkOMc6YySWMckczD5jUj2mlLVquFaMU8leGVaqeXis+aRRL8zm4WuBk6cyWfGMxgtr8useQEx7k/PvRoZyd9nde1GUCV84gMX8Ogu/BWezYPSR27llzQnA97oo0pYyxobYUJfsj+ysTm9zJ+S4pk0TGo9VTG0KjqYhTmALfoDZVKla2b5yhv241PxFaLJs3i05K0AAIdcGxCJZmT3ZdT7CliR7q+kur7WdQjygYtOWRL9B8E4s4LI8KpAj7bE0dg7DLOaX+MGeAi0hMMSSWZEz+RudXbZCsGYS0QqiXjH9XQbd8sCB+nIVTq7/T/FDS+zWY9q7Z2fdq1tdLb6v3hKKVDAw5gjj6o9r1wHFROdHc18MJp4SJ2Ucvu+iQ9EgkekW8VCM+psM6y+/2SBy8tNN4a3L1MzP+OLsyvESo5gS7IQOnIqMmviJBVc6zbVG1n8eXiA3j46kmvvtJlewwNDrxk4SbJOtP/TV/lIVK9ueShNbbMHfwnLTLLhbZuO79ec5XvfgRwLFK+w1r5ZWW15rVFZrE+wKqNRv5KqsLNfpGgnoUU6Y71NxEmN7MyqwqAQqoIULOw/LbuUB2+uE75gJt+kq1qY4LoxV+qR/zalupea3D5+WMeaRIn0sAI6DDWDh158fqUb4YhAxhREbUN0qyyJYkBU4V2KARXDT65gW3gRsiv7xSPYEKLwzgriWcWgPr0sbZnv7m1XHNFW6xPdGNZUdxFiUYlmXNjDVWuu7LCkX/nVkrXaJhiYktBISC2xgBXQnNEP+cptWl1eG62a7CPXrnrkTQ5BQASbEqUZWMDiZUisKyHDeLFOaJILUo5f6iDt4ZO8MlqaKLto0AmTHVVbkGuyPa1R/ywZsWRoRDoRdNMMHwYTsklMVnlAd2S0282bgMI8fiJpDh69OSL6K3qbo20KfpNMurnYGQSr/stFqZ7hYsxKlLnKAKhsmB8AIpEQ4bd/NrTLTXefsE6ChRmKWjXKVgpGoPs8GAicgKVw4K0qgDgy1A6hFq1WRat3fHF+FkU+b6H4NWpOU3KXTxrIb2qSHAb+qhm8hiSROi/9ofapjxhyKxxntPpge6KL5Z4+WBMYkAcE6+0Hd3Yh2zBsK2MV3iW0Y6cvOCroXlRb2MMJtdWx+3dkFzGh2Pe3DZ9QpSqpaR/rE1ImOrHqYYyccpiLC22amJIjRWVAherTfpQLmo6/K2pna85GrDuQPlH1Tsar8isAJbXLafSwOof4gg9RkAGm/oYpBQQiPUoyDk2BCQ1k+KILq48ErFo4WSRhHLq/y7mgw3+L85PpP6xWr6cgp9sOjYjKagOrxF148uhuaWtjet953fh1IQiEzgC+d2IgBCcUZqgTAICm2bR8oCjDLBsmg+ThyhfD+zBalsKBY1Ce54Y/t9cwfbLu9SFwEgphfopNA3yNxgyDafUM3mYTovZNgPGdd4ZFFOj1vtfFW3u7N+iHEN1HkeesDMXKPyoCDCGVMo4GCCD6PBhQ3dRZIHy0Y/3MaE5zU9mTCrwwnZojtE+qNpMSkJSpmGe0EzLyFelMJqhfFQ7a50uXxZ8pCc2wxtAKWgHoeamR2O7R+bq7IbPYItO0esdRgoTaY38hZLJ5y02oIVwoPokGIzxAMDuanQ1vn2WDQ00Rh6o5QOaCRu99fwDbQcN0XAuqkFpxT/cfz3slGRVokrNU0iqiMAJFEbKScZdmSkTUznC0U+MfwFOGdLgsewRyPKwBZYSmy6U325iUhBQNxbAC3FLKDV9VSOuQpOOukJ/GAmu/tyEbX9DgEp6dv1zoU0IqzpG6gssSjIYRVPGgU1QAQYRgIT8gEV0EXr1sqeh2I6rXjtmoCYyEDCe/PkFEi/Q48FuT29p557iN+LCwk5CK/CZ2WdAdfQZh2Z9QGrzPLSNRj5igUWzl9Vi0rCqH8G1Kp4QMLkuwMCAypdviDXyOIk0AHTM8HBYKh3b0/F+DxoNj4ZdoZfCpQVdnZarqoMaHWnMLNVcyevytGsrXQEoIbubqWYNo7NRHzdc0zvT21fWVirj7g36iy6pxogfvgHp1xH1Turbz8QyyHnXeBJicpYUctbzApwzZ1HT+FPEXMAgUZetgeGMwt4G+DHiDT2Lu+PT21fjJCAfV16a/Wu1PqOkUHSTKYhWW6PhhHUlNtWzFnA7MbY+r64vkwdpfNB2JfWgWXAvkzd42K4lN9x7Wrg4kIKgXCb4mcW595MCPJ/cTfPAMQMFWwnqwde4w8HZYJFpQwcSMhjVz4B8p6ncSCN1X4klxoIH4BN2J6taBMj6lHkAOs8JJAmXq5xsQtrPIPIIp/HG6i21xMGcFgqDXSRF0xQg14d2uy6HgKE13LSvQe52oShF5Jx1R6avyL4thhXQZHfC94oZzuPUBKFYf1VvDaxIrtV6dNGSx7DO0i1p6CzBkuAmEqyWceQY7F9+U0ObYDzoa1iKao/cOD/v6Q9gHrrr1uCeOk8fST9MG23Ul0KmM3r+Wn6Hi6WAcL7gEeaykicvgjzkjSwFsAXIR81Zx4QJ6oosVyJkCcT+4xAldCcihqvTf94HHUPXYp3REIaR4dhpQF6+FK1H0i9i7Pvh8owu3lO4PT1iuqu+DkL2Bj9+kdfGAg2TXw03iNHyobxofLE2ibjsYDPgeEQlRMR7afXbSGQcnPjI2D+sdtmuQ771dbASUsDndU7t58jrrNGRzISvwioAlHs5FA+cBE5Ccznkd8NMV6BR6ksnKLPZnMUawRDU1MZ/ib3xCdkTblHKu4blNiylH5n213yM0zubEie0o4JhzcfAy3H5qh2l17uLooBNLaO+gzonTH2uF8PQu9EyH+pjGsACTMy4cHzsPdymUSXYJOMP3yTkXqvO/lpvt0cX5ekDEu9PUfBeZODkFuAjXCaGdi6ew4qxJ8PmFfwmPpkgQjQlWqomFY6UkjmcnAtJG75EVR+NpzGpP1Ef5qUUbfowrC3zcSLX3BxgWEgEx/v9cP8H8u1Mvt9/rMDYf6sjwU1xSOPBgzFEeJLMRVFtKo5QHsUYT8ZRLCah27599EuqoC9PYjYO6aoAMHB8X1OHwEAYouHfHB3nyb2B+SnZxM/vw/bCtORjLMSy5aZoEpvgdGvlJfNPFUu/p7Z4VVK1hiI0/UTuB3ZPq4ohEbm7Mntgc1evEtknaosgZSwnDC2BdMmibpeg48X8Ixl+/8+xXdbshQXUPPvx8jT3fkELivHSmqbhblfNFShWAyQnJ3WBU6SMYSIpTDmHjdLVAdlADdz9gCplZw6mTiHqDwIsxbm9ErGusiVpg2w8Q3khKV/R9Oj8PFeF43hmW/nSd99nZzhyjCX3QOZkkB6BsH4H866WGyv9E0hVAzPYah2tkRfQZMmP2rinfOeQalge0ovhduBjJs9a1GBwReerceify49ctOh5/65ATYuMsAkVltmvTLBk4oHpdl6i+p8DoNj4Fb2vhdFYer2JSEilEwPd5n5zNoGBXEjreg/wh2NFnNRaIUHSOXa4eJRwygZoX6vnWnqVdCRT1ARxeFrNBJ+tsdooMwqnYhE7zIxnD8pZH+P0Nu1wWxCPTADfNWmqx626IBJJq6NeapcGeOmbtXvl0TeWG0Y7OGGV4+EHTtNBIT5Wd0Bujl7inXgZgfXTM5efD3qDTJ54O9v3Bkv+tdIRlq1kXcVD0BEMirmFxglNPt5pedb1AnxuCYMChUykwsTIWqT23XDpvTiKEru1cTcEMeniB+HQDehxPXNmkotFdwUPnilB/u4Nx5Xc6l8J9jH1EgKZUUt8t8cyoZleDBEt8oibDmJRAoMKJ5Oe9CSWS5ZMEJvacsGVdXDWjp/Ype5x0p9PXB2PAwt2LRD3d+ftNgpuyvxlP8pB84oB1i73vAVpwyrmXW72hfW6Dzn9Jkj4++0VQ4d0KSx1AsDA4OtXXDo63/w+GD+zC7w5SJaxsmnlYRQ4dgdjA7tTl2KNLnpJ+mvkoDxtt1a4oPaX3EVqj96o9sRKBQqU7ZOiupeAIyLMD+Y3YwHx30XWHB5CQiw7q3mj1EDlP2eBsZbz79ayUMbyHQ7s8gu4Lgip1LiGJj7NQj905/+rgUYKAA5qdrlHKIknWmqfuR+PB8RdBkDg/NgnlT89G72h2NvySnj7UyBwD+mi/IWs1xWbxuVwUIVXun5cMqBtFbrccI+DILjsVQg6eeq0itiRfedn89CvyFtpkxaauEvSANuZmB1p8FGPbU94J9medwsZ9HkUYjmI7OH5HuxendLbxTaYrPuIfE2ffXFKhoNBUp33HsFAXmCV/Vxpq5AYgFoRr5Ay93ZLRlgaIPjhZjXZZChT+aE5iWAXMX0oSFQEtwjiuhQQItTQX5IYrKfKB+queTNplR1Hoflo5/I6aPPmACwQCE2jTOYo5Dz1cs7Sod0KTG/3kEDGk3kUaUCON19xSJCab3kNpWZhSWkO8l+SpW70Wn3g0ciOIJO5JXma6dbos6jyisuxXwUUhj2+1uGhcvuliKtWwsUTw4gi1c/diEEpZHoKoxTBeMDmhPhKTx7TXWRakV8imJR355DcIHkR9IREHxohP4TbyR5LtFU24umRPRmEYHbpe1LghyxPx7YgUHjNbbQFRQhh4KeU1EabXx8FS3JAxp2rwRDoeWkJgWRUSKw6gGP5U2PuO9V4ZuiKXGGzFQuRuf+tkSSsbBtRJKhCi3ENuLlXhPbjTKD4djXVnfXFds6Zb+1XiUrRfyayGxJq1+SYBEfbKlgjiSmk0orgTqzSS+DZ5rTqsJbttiNtp+KMqGE2AHGFw6jQqM5vD6vMptmXV9OAjq49Uf/Lx9Opam+Hn5O9p8qoBBAQixzQZ4eNVkO9sPzJAMyR1y4/RCQQ1s0pV5KAU5sKLw3tkcFbI/JqrjCsK4Mw+W8aod4lioYuawUiCyVWBE/qPaFi5bnkgpfu/ae47174rI1fqQoTbW0HrU6FAejq7ByM0V4zkZTg02/YJK2N7hUQRCeZ4BIgSEqgD8XsjzG6LIsSbuHoIdz/LhFzbNn1clci1NHWJ0/6/O8HJMdIpEZbqi1RrrFfoo/rI/7ufm2MPG5lUI0IYJ4MAiHRTSOFJ2oTverFHYXThkYFIoyFx6rMYFgaOKM4xNWdlOnIcKb/suptptgTOTdVIf4YgdaAjJnIAm4qNNHNQqqAzvi53GkyRCEoseUBrHohZsjUbkR8gfKtc/+Oa72lwxJ8Mq6HDfDATbfbJhzeIuFQJSiw1uZprHlzUf90WgqG76zO0eCB1WdPv1IT6sNxxh91GEL2YpgC97ikFHyoaH92ndwduqZ6IYjkg20DX33MWdoZk7QkcKUCgisIYslOaaLyvIIqRKWQj16jE1DlQWJJaPopWTJjXfixEjRJJo8g4++wuQjbq+WVYjsqCuNIQW3YjnxKe2M5ZKEqq+cX7ZVgnkbsU3RWIyXA1rxv4kGersYJjD//auldXGmcEbcfTeF16Y1708FB1HIfmWv6dSFi6oD4E+RIjCsEZ+kY7dKnwReJJw3xCjKvi3kGN42rvyhUlIz0Bp+fNSV5xwFiuBzG296e5s/oHoFtUyUplmPulIPl+e1CQIQVtjlzLzzzbV+D/OVQtYzo5ixtMi5BmHuG4N/uKfJk5UIREp7+12oZlKtPBomXSzAY0KgtbPzzZoHQxujnREUgBU+O/jKKhgxVhRPtbqyHiUaRwRpHv7pgRPyUrnE7fYkVblGmfTY28tFCvlILC04Tz3ivkNWVazA+OsYrxvRM/hiNn8Fc4bQBeUZABGx5S/xFf9Lbbmk298X7iFg2yeimvsQqqJ+hYbt6uq+Zf9jC+Jcwiccd61NKQtFvGWrgJiHB5lwi6fR8KzYS7EaEHf/ka9EC7H8D+WEa3TEACHBkNSj/cXxFeq4RllC+fUFm2xtstYLL2nos1DfzsC9vqDDdRVcPA3Ho95aEQHvExVThXPqym65llkKlfRXbPTRiDepdylHjmV9YTWAEjlD9DdQnCem7Aj/ml58On366392214B5zrmQz/9ySG2mFqEwjq5sFl5tYJPw5hNz8lyZPUTsr5E0F2C9VMPnZckWP7+mbwp/BiN7f4kf7vtGnZF2JGvjK/sDX1RtcFY5oPQnE4lIAYV49U3C9SP0LCY/9i/WIFK9ORjzM9kG/KGrAuwFmgdEpdLaiqQNpCTGZVuAO65afkY1h33hrqyLjZy92JK3/twdj9pafFcwfXONmPQWldPlMe7jlP24Js0v9m8bIJ9TgS2IuRvE9ZVRaCwSJYOtAfL5H/YS4FfzKWKbek+GFulheyKtDNlBtrdmr+KU+ibHTdalzFUmMfxw3f36x+3cQbJLItSilW9cuvZEMjKw987jykZRlsH/UI+HlKfo2tLwemBEeBFtmxF2xmItA/dAIfQ+rXnm88dqvXa+GapOYVt/2waFimXFx3TC2MUiOi5/Ml+3rj/YU6Ihx2hXgiDXFsUeQkRAD6wF3SCPi2flk7XwKAA4zboqynuELD312EJ88lmDEVOMa1W/K/a8tGylZRMrMoILyoMQzzbDJHNZrhH77L9qSC42HVmKiZ5S0016UTp83gOhCwz9XItK9fgXfK3F5d7nZCBUekoLxrutQaPHa16Rjsa0gTrzyjqTnmcIcrxg6X6dkKiucudc0DD5W4pJPf0vuDW8r5/uw24YfMuxFRpD2ovT2mFX79xH6Jf+MVdv2TYqR6/955QgVPe3JCD/WjAYcLA9tpXgFiEjge2J5ljeI/iUzg91KQuHkII4mmHZxC3XQORLAC6G7uFn5LOmlnXkjFdoO976moNTxElS8HdxWoPAkjjocDR136m2l+f5t6xaaNgdodOvTu0rievnhNAB79WNrVs6EsPgkgfahF9gSFzzAd+rJSraw5Mllit7vUP5YxA843lUpu6/5jAR0RvH4rRXkSg3nE+O5GFyfe+L0s5r3k05FyghSFnKo4TTgs07qj4nTLqOYj6qaW9knJTDkF5OFMYbmCP+8H16Ty482OjvERV6OFyw043L9w3hoJi408sR+SGo1WviXUu8d7qS+ehKjpKwxeCthsm2LBFSFeetx0x4AaKPxtp3CxdWqCsLrB1s/j5TAhc1jNZsXWl6tjo/WDoewxzg8T8NnhZ1niUwL/nhfygLanCnRwaFGDyLw+sfZhyZ1UtYTp8TYB6dE7R3VsKKH95CUxJ8u8N+9u2/9HUNKHW3x3w5GQrfOPafk2w5qZq8MaHT0ebeY3wIsp3rN9lrpIsW9c1ws3VNV+JwNz0Lo9+V7zZr6GD56We6gWVIvtmam5GPPkVAbr74r6SwhuL+TRXtW/0pgyX16VNl4/EAD50TnUPuwrW6OcUO2VlWXS0inq872kk7GUlW6o/ozFKq+Sip6LcTtSDfDrPTcCHhx75H8BeRon+KG2wRwzfDgWhALmiWOMO6h3pm1UCZEPEjScyk7tdLx6WrdA2N1QTPENvNnhCQjW6kl057/qv7IwRryHrZBCwVSbLLnFRiHdTwk8mlYixFt1slEcPD7FVht13HyqVeyD55HOXrh2ElAxJyinGeoFzwKA91zfrdLvDxJSjzmImfvTisreI25EDcVfGsmxLVbfU8PGe/7NmWWKjXcdTJ11jAlVIY/Bv/mcxg/Q10vCHwKG1GW/XbJq5nxDhyLqiorn7Wd7VEVL8UgVzpHMjQ+Z8DUgSukiVwWAKkeTlVVeZ7t1DGnCgJVIdBPZAEK5f8CDyDNo7tK4/5DBjdD5MPV86TaEhGsLVFPQSI68KlBYy84FievdU9gWh6XZrugvtCZmi9vfd6db6V7FmoEcRHnG36VZH8N4aZaldq9zZawt1uBFgxYYx+Gs/qW1jwANeFy+LCoymyM6zgG7j8bGzUyLhvrbJkTYAEdICEb4kMKusKT9V3eIwMLsjdUdgijMc+7iKrr+TxrVWG0U+W95SGrxnxGrE4eaJFfgvAjUM4SAy8UaRwE9j6ZQH5qYAWGtXByvDiLSDfOD0yFA3UCMKSyQ30fyy1mIRg4ZcgZHLNHWl+c9SeijOvbOJxoQy7lTN2r3Y8p6ovxvUY74aOYbuVezryqXA6U+fcp6wSV9X5/OZKP18tB56Ua0gMyxJI7XyNT7IrqN8GsB9rL/kP5KMrjXxgqKLDa+V5OCH6a5hmOWemMUsea9vQl9t5Oce76PrTyTv50ExOqngE3PHPfSL//AItPdB7kGnyTRhVUUFNdJJ2z7RtktZwgmQzhBG/G7QsjZmJfCE7k75EmdIKH7xlnmDrNM/XbTT6FzldcH/rcRGxlPrv4qDScqE7JSmQABJWqRT/TUcJSwoQM+1jvDigvrjjH8oeK2in1S+/yO1j8xAws/T5u0VnIvAPqaE1atNuN0cuRliLcH2j0nTL4JpcR7w9Qya0JoaHgsOiALLCCzRkl1UUESz+ze/gIXHGtDwgYrK6pCFKJ1webSDog4zTlPkgXZqxlQDiYMjhDpwTtBW2WxthWbov9dt2X9XFLFmcF+eEc1UaQ74gqZiZsdj63pH1qcv3Vy8JYciogIVKsJ8Yy3J9w/GhjWVSQAmrS0BPOWK+RKV+0lWqXgYMnIFwpcZVD7zPSp547i9HlflB8gVnSTGmmq1ClO081OW/UH11pEQMfkEdDFzjLC1Cdo/BdL3s7cXb8J++Hzz1rhOUVZFIPehRiZ8VYu6+7Er7j5PSZu9g/GBdmNzJmyCD9wiswj9BZw+T3iBrg81re36ihMLjoVLoWc+62a1U/7qVX5CpvTVF7rocSAKwv4cBVqZm7lLDS/qoXs4fMs/VQi6BtVbNA3uSzKpQfjH1o3x4LrvkOn40zhm6hjduDglzJUwA0POabgdXIndp9fzhOo23Pe+Rk9GSLX0d71Poqry8NQDTzNlsa+JTNG9+UrEf+ngxCjGEsDCc0bz+udVRyHQI1jmEO3S+IOQycEq7XwB6z3wfMfa73m8PVRp+iOgtZfeSBl01xn03vMaQJkyj7vnhGCklsCWVRUl4y+5oNUzQ63B2dbjDF3vikd/3RUMifPYnX5Glfuk2FsV/7RqjI9yKTbE8wJY+74p7qXO8+dIYgjtLD/N8TJtRh04N9tXJA4H59IkMmLElgvr0Q5OCeVfdAt+5hkh4pQgfRMHpL74XatLQpPiOyHRs/OdmHtBf8nOZcxVKzdGclIN16lE7kJ+pVMjspOI+5+TqLRO6m0ZpNXJoZRv9MPDRcAfJUtNZHyig/s2wwReakFgPPJwCQmu1I30/tcBbji+Na53i1W1N+BqoY7Zxo+U/M9XyJ4Ok2SSkBtoOrwuhAY3a03Eu6l8wFdIG1cN+e8hopTkiKF093KuH/BcB39rMiGDLn6XVhGKEaaT/vqb/lufuAdpGExevF1+J9itkFhCfymWr9vGb3BTK4j598zRH7+e+MU9maruZqb0pkGxRDRE1CD4Z8LV4vhgPidk5w2Bq816g3nHw1//j3JStz7NR9HIWELO8TMn3QrP/zZp//+Dv9p429/ogv+GATR+n/UdF+ns9xNkXZQJXY4t9jMkJNUFygAtzndXwjss+yWH9HAnLQQfhAskdZS2l01HLWv7L7us5uTH409pqitvfSOQg/c+Zt7k879P3K9+WV68n7+3cZfuRd/dDPP/03rn+d+/nBvWfgDlt8+LzjqJ/vx3CnNOwiXhho778C96iD+1TBvRZYeP+EH81LE0vVwOOrmCLB3iKzI1x+vJEsrPH4uF0UB4TJ4X3uDfOCo3PYpYe0MF4bouh0DQ/l43fxUF7Y+dpWuvTSffB0yO2UQUETI/LwCZE3BvnevJ7c9zUlY3H58xzke6DNFDQG8n0WtDN4LAYN4nogKav1ezOfK/z+t6tsCTp+dhx4ymjWuCJk1dEUifDP+HyS4iP/Vg9B2jTo9L4NbiBuDS4nuuHW6H+JDQn2JtqRKGkEQPEYE7uzazXIkcxIAqUq1esasZBETlEZY7y7Jo+RoV/IsjY9eIMkUvr42Hc0xqtsavZvhz1OLwSxMOTuqzlhb0WbdOwBH9EYiyBjatz40bUxTHbiWxqJ0uma19qhPruvcWJlbiSSH48OLDDpaHPszvyct41ZfTu10+vjox6kOqK6v0K/gEPphEvMl/vwSv+A4Hhm36JSP9IXTyCZDm4kKsqD5ay8b1Sad/vaiyO5N/sDfEV6Z4q95E+yfjxpqBoBETW2C7xl4pIO2bDODDFurUPwE7EWC2Uplq+AHmBHvir2PSgkR12/Ry65O0aZtQPeXi9mTlF/Wj5GQ+vFkYyhXsLTjrBSP9hwk4GPqDP5rBn5/l8b0mLRAvRSzXHc293bs3s8EsdE3m2exxidWVB4joHR+S+dz5/W+v00K3TqN14CDBth8eWcsTbiwXPsygHdGid0PEdy6HHm2v/IUuV5RVapYmzGsX90mpnIdNGcOOq64Dbc5GUbYpD9M7S+6cLY//QmjxFLP5cuTFRm3vA5rkFZroFnO3bjHF35uU3s8mvL7Tp9nyTc4mymTJ5sLIp7umSnGkO23faehtz3mmTS7fbVx5rP7x3HXIjRNeq/A3xCs9JNB08c9S9BF2O3bOur0ItslFxXgRPdaapBIi4dRpKGxVz7ir69t/bc9qTxjvtOyGOfiLGDhR4fYywHv1WdOplxIV87TpLBy3Wc0QP0P9s4G7FBNOdITS/tep3o3h1TEa5XDDii7fWtqRzUEReP2fbxz7bHWWJdbIOxOUJZtItNZpTFRfj6vm9sYjRxQVO+WTdiOhdPeTJ+8YirPvoeL88l5iLYOHd3b/Imkq+1ZN1El3UikhftuteEYxf1Wujof8Pr4ICTu5ezZyZ4tHQMxlzUHLYO2VMOoNMGL/20S5i2o2obfk+8qqdR7xzbRDbgU0lnuIgz4LelQ5XS7xbLuSQtNS95v3ZUOdaUx/Qd8qxCt6xf2E62yb/HukLO6RyorV8KgYl5YNc75y+KvefrxY+lc/64y9kvWP0a0bDz/rojq+RWjO06WeruWqNFU7r3HPIcLWRql8ICZsz2Ls/qOm/CLn6++X+Qf7mGspYCrZod/lpl6Rw4xN/yuq8gqV4B6aHk1hVE1SfILxWu5gvXqbfARYQpspcxKp1F/c8XOPzkZvmoSw+vEqBLdrq1fr3wAPv5NnM9i8F+jdAuxkP5Z71c6uhK3enlnGymr7UsWZKC12qgUiG8XXGQ9mxnqz4GSIlybF9eXmbqj2sHX+a1jf0gRoONHRdRSrIq03Ty89eQ1GbV/Bk+du4+V15zls+vvERvZ4E7ZbnxWTVjDjb4o/k8jlw44pTIrUGxxuJvBeO+heuhOjpFsO6lVJ/aXnJDa/bM0Ql1cLbXE/Pbv3EZ3vj3iVrB5irjupZTzlnv677NrI9UNYNqbPgp/HZXS+lJmk87wec+7YOxTDo2aw2l3NfDr34VNlvqWJBknuK7oSlZ6/T10zuOoPZOeoIk81N+sL843WJ2Q4Z0fZ3scsqC/JV2fuhWi1jGURSKZV637lf53Xnnx16/vKEXY89aVJ0fv91jGdfG+G4+sniwHes4hS+udOr4RfhFhG/F5gUG35QaU+McuLmclb5ZWmR+sG5V6nf+PxYzlrnFGxpZaK8eqqVo0NfmAWoGfXDiT/FnUbWvzGDOTr8aktOZWg4BYvz5YH12ZbfCcGtNk+dDAZNGWvHov+PIOnY9Prjg8h/wLRrT69suaMVZ5bNuK00lSVpnqSX1NON/81FoP92rYndionwgOiA8WMf4vc8l15KqEEG4yAm2+WAN5Brfu1sq9suWYqgoajgOYt/JCk1gC8wPkK+XKCtRX6TAtgvrnuBgNRmn6I8lVDipOVB9kX6Oxkp4ZKyd1M6Gj8/v2U7k+YQBL95Kb9PQENucJb0JlW3b5tObN7m/Z1j1ev388d7o15zgXsI9CikAGAViR6lkJv7nb4Ak40M2G8TJ447kN+pvfHiOFjSUSP6PM+QfbAywKJCBaxSVxpizHseZUyUBhq59vFwrkyGoRiHbo0apweEZeSLuNiQ+HAekOnarFg00dZNXaPeoHPTRR0FmEyqYExOVaaaO8c0uFUh7U4e/UxdBmthlBDgg257Q33j1hA7HTxSeTTSuVnPZbgW1nodwmG16aKBDKxEetv7D9OjO0JhrbJTnoe+kcGoDJazFSO8/fUN9Jy/g4XK5PUkw2dgPDGpJqBfhe7GA+cjzfE/EGsMM+FV9nj9IAhrSfT/J3QE5TEIYyk5UjsI6ZZcCPr6A8FZUF4g9nnpVmjX90MLSQysIPD0nFzqwCcSJmIb5mYv2Cmk+C1MDFkZQyCBq4c/Yai9LJ6xYkGS/x2s5/frIW2vmG2Wrv0APpCdgCA9snFvfpe8uc0OwdRs4G9973PGEBnQB5qKrCQ6m6X/H7NInZ7y/1674/ZXOVp7OeuCRk8JFS516VHrnH1HkIUIlTIljjHaQtEtkJtosYul77cVwjk3gW1Ajaa6zWeyHGLlpk3VHE2VFzT2yI/EvlGUSz2H9zYE1s4nsKMtMqNyKNtL/59CpFJki5Fou6VXGm8vWATEPwrUVOLvoA8jLuwOzVBCgHB2Cr5V6OwEWtJEKokJkfc87h+sNHTvMb0KVTp5284QTPupoWvQVUwUeogZR3kBMESYo0mfukewRVPKh5+rzLQb7HKjFFIgWhj1w3yN/qCNoPI8XFiUgBNT1hCHBsAz8L7Oyt8wQWUFj92ONn/APyJFg8hzueqoJdNj57ROrFbffuS/XxrSXLTRgj5uxZjpgQYceeMc2wJrahReSKpm3QjHfqExTLAB2ipVumE8pqcZv8LYXQiPHHsgb5BMW8zM5pvQit+mQx8XGaVDcfVbLyMTlY8xcfmm/RSAT/H09UQol5gIz7rESDmnrQ4bURIB4iRXMDQwxgex1GgtDxKp2HayIkR+E/aDmCttNm2C6lytWdfOVzD6X2SpDWjQDlMRvAp1symWv4my1bPCD+E1EmGnMGWhNwmycJnDV2WrQNxO45ukEb08AAffizYKVULp15I4vbNK5DzWwCSUADfmKhfGSUqii1L2UsE8rB7mLuHuUJZOx4+WiizHBJ/hwboaBzhpNOVvgFTf5cJsHef7L1HCI9dOUUbb+YxUJWn6dYOLz+THi91kzY5dtO5c+grX7v0jEbsuoOGnoIreDIg/sFMyG+TyCLIcAWd1IZ1UNFxE8Uie13ucm40U2fcxC0u3WLvLOxwu+F7MWUsHsdtFQZ7W+nlfCASiAKyh8rnP3EyDByvtJb6Kax6/HkLzT9SyEyTMVM1zPtM0MJY14DmsWh4MgD15Ea9Hd00AdkTZ0EiG5NAGuIBzQJJ0JR0na+OB7lQA6UKxMfihIQ7GCCnVz694QvykWXTxpS2soDu+smru1UdIxSvAszBFD1c8c6ZOobA8bJiJIvuycgIXBQIXWwhyTgZDQxJTRXgEwRNAawGSXO0a1DKjdihLVNp/taE/xYhsgwe+VpKEEB4LlraQyE84gEihxCnbfoyOuJIEXy2FIYw+JjRusybKlU2g/vhTSGTydvCvXhYBdtAXtS2v7LkHtmXh/8fly1do8FI/D0f8UbzVb5h+KRhMGSAmR2mhi0YG/uj7wgxcfzCrMvdjitUIpXDX8ae2JcF/36qUWIMwN6JsjaRGNj+jEteGDcFyTUb8X/NHSucKMJp7pduxtD6KuxVlyxxwaeiC1FbGBESO84lbyrAugYxdl+2N8/6AgWpo/IeoAOcsG35IA/b3AuSyoa55L7llBLlaWlEWvuCFd8f8NfcTUgzJv6CbB+6ohWwodlk9nGWFpBAOaz5uEW5xBvmjnHFeDsb0mXwayj3mdYq5gxxNf3H3/tnCgHwjSrpSgVxLmiTtuszdRUFIsn6LiMPjL808vL1uQhDbM7aA43mISXReqjSskynIRcHCJ9qeFopJfx9tqyUoGbSwJex/0aDE3plBPGtNBYgWbdLom3+Q/bjdizR2/AS/c/dH/d3G7pyl1qDXgtOFtEqidwLqxPYtrNEveasWq3vPUUtqTeu8gpov4bdOQRI2kneFvRNMrShyVeEupK1PoLDPMSfWMIJcs267mGB8X9CehQCF0gIyhpP10mbyM7lwW1e6TGvHBV1sg/UyTghHPGRqMyaebC6pbB1WKNCQtlai1GGvmq9zUKaUzLaXsXEBYtHxmFbEZ2kJhR164LhWW2Tlp1dhsGE7ZgIWRBOx3Zcu2DxgH+G83WTPceKG0TgQKKiiNNOlWgvqNEbnrk6fVD+AqRam2OguZb0YWSTX88N+i/ELSxbaUUpPx4vJUzYg/WonSeA8xUK6u7DPHgpqWpEe6D4cXg5uK9FIYVba47V/nb+wyOtk+zG8RrS4EA0ouwa04iByRLSvoJA2FzaobbZtXnq8GdbfqEp5I2dpfpj59TCVif6+E75p665faiX8gS213RqBxTZqfHP46nF6NSenOneuT+vgbLUbdTH2/t0REFXZJOEB6DHvx6N6g9956CYrY/AYcm9gELJXYkrSi+0F0geKDZgOCIYkLU/+GOW5aGj8mvLFgtFH5+XC8hvAE3CvHRfl4ofM/Qwk4x2A+R+nyc9gNu/9Tem7XW4XRnyRymf52z09cTOdr+PG6+P/Vb4QiXlwauc5WB1z3o+IJjlbxI8MyWtSzT+k4sKVbhF3xa+vDts3NxXa87iiu+xRH9cAprnOL2h6vV54iQRXuOAj1s8nLFK8gZ70ThIQcWdF19/2xaJmT0efrkNDkWbpAQPdo92Z8+Hn/aLjbOzB9AI/k12fPs9HhUNDJ1u6ax2VxD3R6PywN7BrLJ26z6s3QoMp76qzzwetrDABKSGkfW5PwS1GvYNUbK6uRqxfyVGNyFB0E+OugMM8kKwmJmupuRWO8XkXXXQECyRVw9UyIrtCtcc4oNqXqr7AURBmKn6Khz3eBN96LwIJrAGP9mr/59uTOSx631suyT+QujDd4beUFpZ0kJEEnjlP+X/Kr2kCKhnENTg4BsMTOmMqlj2WMFLRUlVG0fzdCBgUta9odrJfpVdFomTi6ak0tFjXTcdqqvWBAzjY6hVrH9sbt3Z9gn+AVDpTcQImefbB4edirjzrsNievve4ZT4EUZWV3TxEsIW+9MT/RJoKfZZYSRGfC1CwPG/9rdMOM8qR/LUYvw5f/emUSoD7YSFuOoqchdUg2UePd1eCtFSKgxLSZ764oy4lvRCIH6bowPxZWwxNFctksLeil47pfevcBipkkBIc4ngZG+kxGZ71a72KQ7VaZ6MZOZkQJZXM6kb/Ac0/XkJx8dvyfJcWbI3zONEaEPIW8GbkYjsZcwy+eMoKrYjDmvEEixHzkCSCRPRzhOfJZuLdcbx19EL23MA8rnjTZZ787FGMnkqnpuzB5/90w1gtUSRaWcb0eta8198VEeZMUSfIhyuc4/nywFQ9uqn7jdqXh+5wwv+RK9XouNPbYdoEelNGo34KyySwigsrfCe0v/PlWPvQvQg8R0KgHO18mTVThhQrlbEQ0Kp/JxPdjHyR7E1QPw/ut0r+HDDG7BwZFm9IqEUZRpv2WpzlMkOemeLcAt5CsrzskLGaVOAxyySzZV/D2EY7ydNZMf8e8VhHcKGHAWNszf1EOq8fNstijMY4JXyATwTdncFFqcNDfDo+mWFvxJJpc4sEZtjXyBdoFcxbUmniCoKq5jydUHNjYJxMqN1KzYV62MugcELVhS3Bnd+TLLOh7dws/zSXWzxEb4Nj4aFun5x4kDWLK5TUF/yCXB/cZYvI9kPgVsG2jShtXkxfgT+xzjJofXqPEnIXIQ1lnIdmVzBOM90EXvJUW6a0nZ/7XjJGl8ToO3H/fdxnxmTNKBZxnkpXLVgLXCZywGT3YyS75w/PAH5I/jMuRspej8xZObU9kREbRA+kqjmKRFaKGWAmFQspC+QLbKPf0RaK3OXvBSWqo46p70ws/eZpu6jCtZUgQy6r4tHMPUdAgWGGUYNbuv/1a6K+MVFsd3T183+T8capSo6m0+Sh57fEeG/95dykGJBQMj09DSW2bY0mUonDy9a8trLnnL5B5LW3Nl8rJZNysO8Zb+80zXxqUGFpud3Qzwb7bf+8mq6x0TAnJU9pDQR9YQmZhlna2xuxJt0aCO/f1SU8gblOrbIyMsxTlVUW69VJPzYU2HlRXcqE2lLLxnObZuz2tT9CivfTAUYfmzJlt/lOPgsR6VN64/xQd4Jlk/RV7UKVv2Gx/AWsmTAuCWKhdwC+4HmKEKYZh2Xis4KsUR1BeObs1c13wqFRnocdmuheaTV30gvVXZcouzHKK5zwrN52jXJEuX6dGx3BCpV/++4f3hyaW/cQJLFKqasjsMuO3B3WlMq2gyYfdK1e7L2pO/tRye2mwzwZPfdUMrl5wdLqdd2Kv/wVtnpyWYhd49L6rsOV+8HXPrWH2Kup89l2tz6bf80iYSd+V4LROSOHeamvexR524q4r43rTmtFzQvArpvWfLYFZrbFspBsXNUqqenjxNNsFXatZvlIhk7teUPfK+YL32F8McTnjv0BZNppb+vshoCrtLXjIWq3EJXpVXIlG6ZNL0dh6qEm2WMwDjD3LfOfkGh1/czYc/0qhiD2ozNnH4882MVVt3JbVFkbwowNCO3KL5IoYW5wlVeGCViOuv1svZx7FbzxKzA4zGqBlRRaRWCobXaVq4yYCWbZf8eiJwt3OY+MFiSJengcFP2t0JMfzOiJ7cECvpx7neg1Rc5x+7myPJOXt2FohVRyXtD+/rDoTOyGYInJelZMjolecVHUhUNqvdZWg2J2t0jPmiLFeRD/8fOT4o+NGILb+TufCo9ceBBm3JLVn+MO2675n7qiEX/6W+188cYg3Zn5NSTjgOKfWFSAANa6raCxSoVU851oJLY11WIoYK0du0ec5E4tCnAPoKh71riTsjVIp3gKvBbEYQiNYrmH22oLQWA2AdwMnID6PX9b58dR2QKo4qag1D1Z+L/FwEKTR7osOZPWECPJIHQqPUsM5i/CH5YupVPfFA5pHUBcsesh8eO5YhyWnaVRPZn/BmdXVumZWPxMP5e28zm2uqHgFoT9CymHYNNrzrrjlXZM06HnzDxYNlI5b/QosxLmmrqDFqmogQdqk0WLkUceoAvQxHgkIyvWU69BPFr24VB6+lx75Rna6dGtrmOxDnvBojvi1/4dHjVeg8owofPe1cOnxU1ioh016s/Vudv9mhV9f35At+Sh28h1bpp8xhr09+vf47Elx3Ms6hyp6QvB3t0vnLbOhwo660cp7K0vvepabK7YJfxEWWfrC2YzJfYOjygPwfwd/1amTqa0hZ5ueebhWYVMubRTwIjj+0Oq0ohU3zfRfuL8gt59XsHdwKtxTQQ4Y2qz6gisxnm2UdlmpEkgOsZz7iEk6QOt8BuPwr+NR01LTqXmJo1C76o1N274twJvl+I069TiLpenK/miRxhyY8jvYV6W1WuSwhH9q7kuwnJMtm7IWcqs7HsnyHSqWXLSpYtZGaR1V3t0gauninFPZGtWskF65rtti48UV9uV9KM8kfDYs0pgB00S+TlzTXV6P8mxq15b9En8sz3jWSszcifZa/NuufPNnNTb031pptt0+sRSH/7UG8pzbsgtt3OG3ut7B9JzDMt2mTZuyRNIV8D54TuTrpNcHtgmMlYJeiY9XS83NYJicjRjtJSf9BZLsQv629QdDsKQhTK5CnXhpk7vMNkHzPhm0ExW/VCGApHfPyBagtZQTQmPHx7g5IXXsrQDPzIVhv2LB6Ih138iSDww1JNHrDvzUxvp73MsQBVhW8EbrReaVUcLB1R3PUXyaYG4HpJUcLVxMgDxcPkVRQpL7VTAGabDzbKcvg12t5P8TSGQkrj/gOrpnbiDHwluA73xbXts/L7u468cRWSWRtgTwlQnA47EKg0OiZDgFxAKQQUcsbGomITgeXUAAyKe03eA7Mp4gnyKQmm0LXJtEk6ddksMJCuxDmmHzmVhO+XaN2A54MIh3niw5CF7PwiXFZrnA8wOdeHLvvhdoqIDG9PDI7UnWWHq526T8y6ixJPhkuVKZnoUruOpUgOOp3iIKBjk+yi1vHo5cItHXb1PIKzGaZlRS0g5d3MV2pD8FQdGYLZ73aae/eEIUePMc4NFz8pIUfLCrrF4jVWH5gQneN3S8vANBmUXrEcKGn6hIUN95y1vpsvLwbGpzV9L0ZKTan6TDXM05236uLJcIEMKVAxKNT0K8WljuwNny3BNQRfzovA85beI9zr1AGNYnYCVkR1aGngWURUrgqR+gRrQhxW81l3CHevjvGEPzPMTxdsIfB9dfGRbZU0cg/1mcubtECX4tvaedmNAvTxCJtc2QaoUalGfENCGK7IS/O8CRpdOVca8EWCRwv2sSWE8CJPW5PCugjCXPd3h6U60cPD+bdhtXZuYB6stcoveE7Sm5MM2yvfUHXFSW7KzLmi7/EeEWL0wqcOH9MOSKjhCHHmw+JGLcYE/7SBZQCRggox0ZZTAxrlzNNXYXL5fNIjkdT4YMqVUz6p8YDt049v4OXGdg3qTrtLBUXOZf7ahPlZAY/O+7Sp0bvGSHdyQ8B1LOsplqMb9Se8VAE7gIdSZvxbRSrfl+Lk5Qaqi5QJceqjitdErcHXg/3MryljPSIAMaaloFm1cVwBJ8DNmkDqoGROSHFetrgjQ5CahuKkdH5pRPigMrgTtlFI8ufJPJSUlGgTjbBSvpRc0zypiUn6U5KZqcRoyrtzhmJ7/caeZkmVRwJQeLOG8LY6vP5ChpKhc8Js0El+n6FXqbx9ItdtLtYP92kKfaTLtCi8StLZdENJa9Ex1nOoz1kQ7qxoiZFKRyLf4O4CHRT0T/0W9F8epNKVoeyxUXhy3sQMMsJjQJEyMOjmOhMFgOmmlscV4eFi1CldU92yjwleirEKPW3bPAuEhRZV7JsKV3Lr5cETAiFuX5Nw5UlF7d2HZ96Bh0sgFIL5KGaKSoVYVlvdKpZJVP5+NZ7xDEkQhmDgsDKciazJCXJ6ZN2B3FY2f6VZyGl/t4aunGIAk/BHaS+i+SpdRfnB/OktOvyjinWNfM9Ksr6WwtCa1hCmeRI6icpFM4o8quCLsikU0tMoZI/9EqXRMpKGaWzofl4nQuVQm17d5fU5qXCQeCDqVaL9XJ9qJ08n3G3EFZS28SHEb3cdRBdtO0YcTzil3QknNKEe/smQ1fTb0XbpyNB5xAeuIlf+5KWlEY0DqJbsnzJlQxJPOVyHiKMx5Xu9FcEv1Fbg6Fhm4t+Jyy5JC1W3YO8dYLsO0PXPbxodBgttTbH3rt9Cp1lJIk2r3O1Zqu94eRbnIz2f50lWolYzuKsj4PMok4abHLO8NAC884hiXx5Fy5pWKO0bWL7uEGXaJCtznhP67SlQ4xjWIfgq6EpZ28QMtuZK7JC0RGbl9nA4XtFLug/NLMoH1pGt9IonAJqcEDLyH6TDROcbsmGPaGIxMo41IUAnQVPMPGByp4mOmh9ZQMkBAcksUK55LsZj7E5z5XuZoyWCKu6nHmDq22xI/9Z8YdxJy4kWpD16jLVrpwGLWfyOD0Wd+cBzFBxVaGv7S5k9qwh/5t/LQEXsRqI3Q9Rm3QIoaZW9GlsDaKOUyykyWuhNOprSEi0s1G4rgoiX1V743EELti+pJu5og6X0g6oTynUqlhH9k6ezyRi05NGZHz0nvp3HOJr7ebrAUFrDjbkFBObEvdQWkkUbL0pEvMU46X58vF9j9F3j6kpyetNUBItrEubW9ZvMPM4qNqLlsSBJqOH3XbNwv/cXDXNxN8iFLzUhteisYY+RlHYOuP29/Cb+L+xv+35Rv7xudnZ6ohK4cMPfCG8KI7dNmjNk/H4e84pOxn/sZHK9psfvj8ncA8qJz7O8xqbxESDivGJOZzF7o5PJLQ7g34qAWoyuA+x3btU98LT6ZyGyceIXjrqob2CAVql4VOTQPUQYvHV/g4zAuCZGvYQBtf0wmd5lilrvuEn1BXLny01B4h4SMDlYsnNpm9d7m9h578ufpef9Z4WplqWQvqo52fyUA7J24eZD5av6SyGIV9kpmHNqyvdfzcpEMw97BvknV2fq+MFHun9BT3Lsf8pbzvisWiIQvYkng+8Vxk1V+dli1u56kY50LRjaPdotvT5BwqtwyF+emo/z9J3yVUVGfKrxQtJMOAQWoQii/4dp9wgybSa5mkucmRLtEQZ/pz0tL/NVcgWAd95nEQ3Tg6tNbuyn3Iepz65L3huMUUBntllWuu4DbtOFSMSbpILV4fy6wlM0SOvi6CpLh81c1LreIvKd61uEWBcDw1lUBUW1I0Z+m/PaRlX+PQ/oxg0Ye6KUiIiTF4ADNk59Ydpt5/rkxmq9tV5Kcp/eQLUVVmBzQNVuytQCP6Ezd0G8eLxWyHpmZWJ3bAzkWTtg4lZlw42SQezEmiUPaJUuR/qklVA/87S4ArFCpALdY3QRdUw3G3XbWUp6aq9z0zUizcPa7351p9JXOZyfdZBFnqt90VzQndXB/mwf8LC9STj5kenVpNuqOQQP3mIRJj7eV21FxG8VAxKrEn3c+XfmZ800EPb9/5lIlijscUbB6da0RQaMook0zug1G0tKi/JBC4rw7/D3m4ARzAkzMcVrDcT2SyFtUdWAsFlsPDFqV3N+EjyXaoEePwroaZCiLqEzb8MW+PNE9TmTC01EzWli51PzZvUqkmyuROU+V6ik+Le/9qT6nwzUzf9tP68tYei0YaDGx6kAd7jn1cKqOCuYbiELH9zYqcc4MnRJjkeGiqaGwLImhyeKs+xKJMBlOJ05ow9gGCKZ1VpnMKoSCTbMS+X+23y042zOb5MtcY/6oBeAo1Vy89OTyhpavFP78jXCcFH0t7Gx24hMEOm2gsEfGabVpQgvFqbQKMsknFRRmuPHcZu0Su/WMFphZvB2r/EGbG72rpGGho3h+Msz0uGzJ7hNK2uqQiE1qmn0zgacKYYZBCqsxV+sjbpoVdSilW/b94n2xNb648VmNIoizqEWhBnsen+d0kbCPmRItfWqSBeOd9Wne3c6bcd6uvXOJ6WdiSsuXq0ndhqrQ4QoWUjCjYtZ0EAhnSOP1m44xkf0O7jXghrzSJWxP4a/t72jU29Vu2rvu4n7HfHkkmQOMGSS+NPeLGO5I73mC2B7+lMiBQQZRM9/9liLIfowupUFAbPBbR+lxDM6M8Ptgh1paJq5Rvs7yEuLQv/7d1oU2woFSb3FMPWQOKMuCuJ7pDDjpIclus5TeEoMBy2YdVB4fxmesaCeMNsEgTHKS5WDSGyNUOoEpcC2OFWtIRf0w27ck34/DjxRTVIcc9+kqZE6iMSiVDsiKdP/Xz5XfEhm/sBhO50p1rvJDlkyyxuJ9SPgs7YeUJBjXdeAkE+P9OQJm6SZnn1svcduI78dYmbkE2mtziPrcjVisXG78spLvbZaSFx/Rks9zP4LKn0Cdz/3JsetkT06A8f/yCgMO6Mb1Hme0JJ7b2wZz1qleqTuKBGokhPVUZ0dVu+tnQYNEY1fmkZSz6+EGZ5EzL7657mreZGR3jUfaEk458PDniBzsSmBKhDRzfXameryJv9/D5m6HIqZ0R+ouCE54Dzp4IJuuD1e4Dc5i+PpSORJfG23uVgqixAMDvchMR0nZdH5brclYwRoJRWv/rlxGRI5ffD5NPGmIDt7vDE1434pYdVZIFh89Bs94HGGJbTwrN8T6lh1HZFTOB4lWzWj6EVqxSMvC0/ljWBQ3F2kc/mO2b6tWonT2JEqEwFts8rz2h+oWNds9ceR2cb7zZvJTDppHaEhK5avWqsseWa2Dt5BBhabdWSktS80oMQrL4TvAM9b5HMmyDnO+OkkbMXfUJG7eXqTIG6lqSOEbqVR+qYdP7uWb57WEJqzyh411GAVsDinPs7KvUeXItlcMdOUWzXBH6zscymV1LLVCtc8IePojzXHF9m5b5zGwBRdzcyUJkiu938ApmAayRdJrX1PmVguWUvt2ThQ62czItTyWJMW2An/hdDfMK7SiFQlGIdAbltHz3ycoh7j9V7GxNWBpbtcSdqm4XxRwTawc3cbZ+xfSv9qQfEkDKfZTwCkqWGI/ur250ItXlMlh6vUNWEYIg9A3GzbgmbqvTN8js2YMo87CU5y6nZ4dbJLDQJj9fc7yM7tZzJDZFtqOcU8+mZjYlq4VmifI23iHb1ZoT9E+kT2dolnP1AfiOkt7PQCSykBiXy5mv637IegWSKj9IKrYZf4Lu9+I7ub+mkRdlvYzehh/jaJ9n7HUH5b2IbgeNdkY7wx1yVzxS7pbvky6+nmVUtRllEFfweUQ0/nG017WoUYSxs+j2B4FV/F62EtHlMWZXYrjGHpthnNb1x66LKZ0Qe92INWHdfR/vqp02wMS8r1G4dJqHok8KmQ7947G13a4YXbsGgHcBvRuVu1eAi4/A5+ZixmdSXM73LupB/LH7O9yxLTVXJTyBbI1S49TIROrfVCOb/czZ9pM4JsZx8kUz8dQGv7gUWKxXvTH7QM/3J2OuXXgciUhqY+cgtaOliQQVOYthBLV3xpESZT3rmfEYNZxmpBbb24CRao86prn+i9TNOh8VxRJGXJfXHATJHs1T5txgc/opYrY8XjlGQQbRcoxIBcnVsMjmU1ymmIUL4dviJXndMAJ0Yet+c7O52/p98ytlmAsGBaTAmMhimAnvp1TWNGM9BpuitGj+t810CU2UhorrjPKGtThVC8WaXw04WFnT5fTjqmPyrQ0tN3CkLsctVy2xr0ZWgiWVZ1OrlFjjxJYsOiZv2cAoOvE+7sY0I/TwWcZqMoyIKNOftwP7w++Rfg67ljfovKYa50if3fzE/8aPYVey/Nq35+nH2sLPh/fP5TsylSKGOZ4k69d2PnH43+kq++sRXHQqGArWdwhx+hpwQC6JgT2uxehYU4Zbw7oNb6/HLikPyJROGK2ouyr+vzseESp9G50T4AyFrSqOQ0rroCYP4sMDFBrHn342EyZTMlSyk47rHSq89Y9/nI3zG5lX16Z5lxphguLOcZUndL8wNcrkyjH82jqg8Bo8OYkynrxZvbFno5lUS3OPr8Ko3mX9NoRPdYOKKjD07bvgFgpZ/RF+YzkWvJ/Hs/tUbfeGzGWLxNAjfDzHHMVSDwB5SabQLsIZHiBp43FjGkaienYoDd18hu2BGwOK7U3o70K/WY/kuuKdmdrykIBUdG2mvE91L1JtTbh20mOLbk1vCAamu7utlXeGU2ooVikbU/actcgmsC1FKk2qmj3GWeIWbj4tGIxE7BLcBWUvvcnd/lYxsMV4F917fWeFB/XbINN3qGvIyTpCalz1lVewdIGqeAS/gB8Mi+sA+BqDiX3VGD2eUunTRbSY+AuDy4E3Qx3hAhwnSXX+B0zuj3eQ1miS8Vux2z/l6/BkWtjKGU72aJkOCWhGcSf3+kFkkB15vGOsQrSdFr6qTj0gBYiOlnBO41170gOWHSUoBVRU2JjwppYdhIFDfu7tIRHccSNM5KZOFDPz0TGMAjzzEpeLwTWp+kn201kU6NjbiMQJx83+LX1e1tZ10kuChJZ/XBUQ1dwaBHjTDJDqOympEk8X2M3VtVw21JksChA8w1tTefO3RJ1FMbqZ01bHHkudDB/OhLfe7P5GOHaI28ZXKTMuqo0hLWQ4HabBsGG7NbP1RiXtETz074er6w/OerJWEqjmkq2y51q1BVI+JUudnVa3ogBpzdhFE7fC7kybrAt2Z6RqDjATAUEYeYK45WMupBKQRtQlU+uNsjnzj6ZmGrezA+ASrWxQ6LMkHRXqXwNq7ftv28dUx/ZSJciDXP2SWJsWaN0FjPX9Yko6LobZ7aYW/IdUktI9apTLyHS8DyWPyuoZyxN1TK/vtfxk3HwWh6JczZC8Ftn0bIJay2g+n5wd7lm9rEsKO+svqVmi+c1j88hSCxbzrg4+HEP0Nt1/B6YW1XVm09T1CpAKjc9n18hjqsaFGdfyva1ZG0Xu3ip6N6JGpyTSqY5h4BOlpLPaOnyw45PdXTN+DtAKg7DLrLFTnWusoSBHk3s0d7YouJHq85/R09Tfc37ENXZF48eAYLnq9GLioNcwDZrC6FW6godB8JnqYUPvn0pWLfQz0lM0Yy8Mybgn84Ds3Q9bDP10bLyOV+qzxa4Rd9Dhu7cju8mMaONXK3UqmBQ9qIg7etIwEqM/kECk/Dzja4Bs1xR+Q/tCbc8IKrSGsTdJJ0vge7IG20W687uVmK6icWQ6cD3lwFzgNMGtFvO5qyJeKflGLAAcQZOrkxVwy3cWvqlGpvjmf9Qe6Ap20MPbV92DPV0OhFM4kz8Yr0ffC2zLWSQ1kqY6QdQrttR3kh1YLtQd1kCEv5hVoPIRWl5ERcUTttBIrWp6Xs5Ehh5OUUwI5aEBvuiDmUoENmnVw1FohCrbRp1A1E+XSlWVOTi7ADW+5Ohb9z1vK4qx5R5lPdGCPBJZ00mC+Ssp8VUbgpGAvXWMuWQQRbCqI6Rr2jtxZxtfP7W/8onz+yz0Gs76LaT5HX9ecyiZCB/ZR/gFtMxPsDwohoeCRtiuLxE1GM1vUEUgBv86+eehL58/P56QFGQ/MqOe/vC76L63jzmeax4exd/OKTUvkXg+fOJUHych9xt/9goJMrapSgvXrj8+8vk/N80f22Sewj6cyGqt1B6mztoeklVHHraouhvHJaG/OuBz6DHKMpFmQULU1bRWlyYE0RPXYYkUycIemN7TLtgNCJX6BqdyxDKkegO7nJK5xQ7OVYDZTMf9bVHidtk6DQX9Et+V9M7esgbsYBdEeUpsB0Xvw2kd9+rI7V+m47u+O/tq7mw7262HU1WlS9uFzsV6JxIHNmUCy0QS9e077JGRFbG65z3/dOKB/Zk+yDdKpUmdXjn/aS3N5nv4fK7bMHHmPlHd4E2+iTbV5rpzScRnxk6KARuDTJ8Q1LpK2mP8gj1EbuJ9RIyY+EWK4hCiIDBAS1Tm2IEXAFfgKPgdL9O6mAa06wjCcUAL6EsxPQWO9VNegBPm/0GgkZbDxCynxujX/92vmGcjZRMAY45puak2sFLCLSwXpEsyy5fnF0jGJBhm+fNSHKKUUfy+276A7/feLOFxxUuHRNJI2Osenxyvf8DAGObT60pfTTlhEg9u/KKkhJqm5U1/+BEcSkpFDA5XeCqxwXmPac1jcuZ3JWQ+p0NdWzb/5v1ZvF8GtMTFFEdQjpLO0bwPb0BHNWnip3liDXI2fXf05jjvfJ0NpjLCUgfTh9CMFYVFKEd4Z/OG/2C+N435mnK+9t1gvCiVcaaH7rK4+PjCvpVNiz+t2QyqH1O8x3JKZVl6Q+Lp/XK8wMjVMslOq9FdSw5FtUs/CptXH9PW+wbWHgrV17R5jTVOtGtKFu3nb80T+E0tv9QkzW3J2dbaw/8ddAKZ0pxIaEqLjlPrji3VgJ3GvdFvlqD8075woxh4fVt0JZE0KVFsAvqhe0dqN9b35jtSpnYMXkU+vZq+IAHad3IHc2s/LYrnD1anfG46IFiMIr9oNbZDWvwthqYNqOigaKd/XlLU4XHfk/PXIjPsLy/9/kAtQ+/wKH+hI/IROWj5FPvTZAT9f7j4ZXQyG4M0TujMAFXYkKvEHv1xhySekgXGGqNxWeWKlf8dDAlLuB1cb/qOD+rk7cmwt+1yKpk9cudqBanTi6zTbXRtV8qylNtjyOVKy1HTz0GW9rjt6sSjAZcT5R+KdtyYb0zyqG9pSLuCw5WBwAn7fjBjKLLoxLXMI+52L9cLwIR2B6OllJZLHJ8vDxmWdtF+QJnmt1rsHPIWY20lftk8fYePkAIg6Hgn532QoIpegMxiWgAOfe5/U44APR8Ac0NeZrVh3gEhs12W+tVSiWiUQekf/YBECUy5fdYbA08dd7VzPAP9aiVcIB9k6tY7WdJ1wNV+bHeydNtmC6G5ICtFC1ZwmJU/j8hf0I8TRVKSiz5oYIa93EpUI78X8GYIAZabx47/n8LDAAJ0nNtP1rpROprqKMBRecShca6qXuTSI3jZBLOB3Vp381B5rCGhjSvh/NSVkYp2qIdP/Bg="),su}var $p;function DS(){if($p)return iu;$p=1;var r=La;return iu.init=function(){var e=o1().BrotliDecompressBuffer,t=r.toByteArray(NS());return e(t)},iu}var e1;function t1(){if(e1)return dn;e1=1;var r=DS();return dn.init=function(){dn.dictionary=r.init()},dn.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),dn.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),dn.minDictionaryWordLength=4,dn.maxDictionaryWordLength=24,dn}var ka={};function Ss(r,e){this.bits=r,this.value=e}ka.HuffmanCode=Ss;var As=15;function r1(r,e){for(var t=1<<e-1;r&t;)t>>=1;return(r&t-1)+t}function i1(r,e,t,i,n){do i-=t,r[e+i]=new Ss(n.bits,n.value);while(i>0)}function RS(r,e,t){for(var i=1<<e-t;e<As&&(i-=r[e],!(i<=0));)++e,i<<=1;return e-t}ka.BrotliBuildHuffmanTable=function(r,e,t,i,n){var s=e,o,a,c,u,l,v,A,M,I,N,C,P=new Int32Array(As+1),U=new Int32Array(As+1);for(C=new Int32Array(n),c=0;c<n;c++)P[i[c]]++;for(U[1]=0,a=1;a<As;a++)U[a+1]=U[a]+P[a];for(c=0;c<n;c++)i[c]!==0&&(C[U[i[c]]++]=c);if(M=t,I=1<<M,N=I,U[As]===1){for(u=0;u<N;++u)r[e+u]=new Ss(0,C[0]&65535);return N}for(u=0,c=0,a=1,l=2;a<=t;++a,l<<=1)for(;P[a]>0;--P[a])o=new Ss(a&255,C[c++]&65535),i1(r,e+u,l,I,o),u=r1(u,a);for(A=N-1,v=-1,a=t+1,l=2;a<=As;++a,l<<=1)for(;P[a]>0;--P[a])(u&A)!==v&&(e+=I,M=RS(P,a,t),I=1<<M,N+=I,v=u&A,r[s+v]=new Ss(M+t&255,e-s-v&65535)),o=new Ss(a-t&255,C[c++]&65535),i1(r,e+(u>>t),l,I,o),u=r1(u,a);return N};var ou={};ou.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),ou.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512]);var Is={};function ae(r,e){this.offset=r,this.nbits=e}Is.kBlockLengthPrefixCode=[new ae(1,2),new ae(5,2),new ae(9,2),new ae(13,2),new ae(17,3),new ae(25,3),new ae(33,3),new ae(41,3),new ae(49,4),new ae(65,4),new ae(81,4),new ae(97,4),new ae(113,5),new ae(145,5),new ae(177,5),new ae(209,5),new ae(241,6),new ae(305,6),new ae(369,7),new ae(497,8),new ae(753,9),new ae(1265,10),new ae(2289,11),new ae(4337,12),new ae(8433,13),new ae(16625,24)],Is.kInsertLengthPrefixCode=[new ae(0,0),new ae(1,0),new ae(2,0),new ae(3,0),new ae(4,0),new ae(5,0),new ae(6,1),new ae(8,1),new ae(10,2),new ae(14,2),new ae(18,3),new ae(26,3),new ae(34,4),new ae(50,4),new ae(66,5),new ae(98,5),new ae(130,6),new ae(194,7),new ae(322,8),new ae(578,9),new ae(1090,10),new ae(2114,12),new ae(6210,14),new ae(22594,24)],Is.kCopyLengthPrefixCode=[new ae(2,0),new ae(3,0),new ae(4,0),new ae(5,0),new ae(6,0),new ae(7,0),new ae(8,0),new ae(9,0),new ae(10,1),new ae(12,1),new ae(14,2),new ae(18,2),new ae(22,3),new ae(30,3),new ae(38,4),new ae(54,4),new ae(70,5),new ae(102,5),new ae(134,6),new ae(198,7),new ae(326,8),new ae(582,9),new ae(1094,10),new ae(2118,24)],Is.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],Is.kCopyRangeLut=[0,8,0,8,16,0,16,8,16];var xo={},n1;function PS(){if(n1)return xo;n1=1;var r=t1(),e=0,t=1,i=2,n=3,s=4,o=5,a=6,c=7,u=8,l=9,v=10,A=11,M=12,I=13,N=14,C=15,P=16,U=17,k=18,W=20;function T(X,G,fe){this.prefix=new Uint8Array(X.length),this.transform=G,this.suffix=new Uint8Array(fe.length);for(var D=0;D<X.length;D++)this.prefix[D]=X.charCodeAt(D);for(var D=0;D<fe.length;D++)this.suffix[D]=fe.charCodeAt(D)}var J=[new T("",e,""),new T("",e," "),new T(" ",e," "),new T("",M,""),new T("",v," "),new T("",e," the "),new T(" ",e,""),new T("s ",e," "),new T("",e," of "),new T("",v,""),new T("",e," and "),new T("",I,""),new T("",t,""),new T(", ",e," "),new T("",e,", "),new T(" ",v," "),new T("",e," in "),new T("",e," to "),new T("e ",e," "),new T("",e,'"'),new T("",e,"."),new T("",e,'">'),new T("",e,`
|
44
|
-
`),new T("",n,""),new T("",e,"]"),new T("",e," for "),new T("",N,""),new T("",i,""),new T("",e," a "),new T("",e," that "),new T(" ",v,""),new T("",e,". "),new T(".",e,""),new T(" ",e,", "),new T("",C,""),new T("",e," with "),new T("",e,"'"),new T("",e," from "),new T("",e," by "),new T("",P,""),new T("",U,""),new T(" the ",e,""),new T("",s,""),new T("",e,". The "),new T("",A,""),new T("",e," on "),new T("",e," as "),new T("",e," is "),new T("",c,""),new T("",t,"ing "),new T("",e,`
|
45
|
-
`),new T("",e,":"),new T(" ",e,". "),new T("",e,"ed "),new T("",W,""),new T("",k,""),new T("",a,""),new T("",e,"("),new T("",v,", "),new T("",u,""),new T("",e," at "),new T("",e,"ly "),new T(" the ",e," of "),new T("",o,""),new T("",l,""),new T(" ",v,", "),new T("",v,'"'),new T(".",e,"("),new T("",A," "),new T("",v,'">'),new T("",e,'="'),new T(" ",e,"."),new T(".com/",e,""),new T(" the ",e," of the "),new T("",v,"'"),new T("",e,". This "),new T("",e,","),new T(".",e," "),new T("",v,"("),new T("",v,"."),new T("",e," not "),new T(" ",e,'="'),new T("",e,"er "),new T(" ",A," "),new T("",e,"al "),new T(" ",A,""),new T("",e,"='"),new T("",A,'"'),new T("",v,". "),new T(" ",e,"("),new T("",e,"ful "),new T(" ",v,". "),new T("",e,"ive "),new T("",e,"less "),new T("",A,"'"),new T("",e,"est "),new T(" ",v,"."),new T("",A,'">'),new T(" ",e,"='"),new T("",v,","),new T("",e,"ize "),new T("",A,"."),new T("\xC2\xA0",e,""),new T(" ",e,","),new T("",v,'="'),new T("",A,'="'),new T("",e,"ous "),new T("",A,", "),new T("",v,"='"),new T(" ",v,","),new T(" ",A,'="'),new T(" ",A,", "),new T("",A,","),new T("",A,"("),new T("",A,". "),new T(" ",A,"."),new T("",A,"='"),new T(" ",A,". "),new T(" ",v,'="'),new T(" ",A,"='"),new T(" ",v,"='")];xo.kTransforms=J,xo.kNumTransforms=J.length;function _(X,G){return X[G]<192?(X[G]>=97&&X[G]<=122&&(X[G]^=32),1):X[G]<224?(X[G+1]^=32,2):(X[G+2]^=5,3)}return xo.transformDictionaryWord=function(X,G,fe,D,b){var p=J[b].prefix,f=J[b].suffix,h=J[b].transform,g=h<M?0:h-(M-1),x=0,E=G,w;g>D&&(g=D);for(var d=0;d<p.length;)X[G++]=p[d++];for(fe+=g,D-=g,h<=l&&(D-=h),x=0;x<D;x++)X[G++]=r.dictionary[fe+x];if(w=G-D,h===v)_(X,w);else if(h===A)for(;D>0;){var y=_(X,w);w+=y,D-=y}for(var m=0;m<f.length;)X[G++]=f[m++];return G-E},xo}var s1;function o1(){if(s1)return wo;s1=1;var r=za.BrotliInput,e=za.BrotliOutput,t=yS,i=t1(),n=ka.HuffmanCode,s=ka.BrotliBuildHuffmanTable,o=ou,a=Is,c=PS(),u=8,l=16,v=256,A=704,M=26,I=6,N=2,C=8,P=255,U=1080,k=18,W=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),T=16,J=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),_=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),X=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function G(q){var F;return q.readBits(1)===0?16:(F=q.readBits(3),F>0?17+F:(F=q.readBits(3),F>0?8+F:17))}function fe(q){if(q.readBits(1)){var F=q.readBits(3);return F===0?1:q.readBits(F)+(1<<F)}return 0}function D(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function b(q){var F=new D,V,L,j;if(F.input_end=q.readBits(1),F.input_end&&q.readBits(1))return F;if(V=q.readBits(2)+4,V===7){if(F.is_metadata=!0,q.readBits(1)!==0)throw new Error("Invalid reserved bit");if(L=q.readBits(2),L===0)return F;for(j=0;j<L;j++){var ee=q.readBits(8);if(j+1===L&&L>1&&ee===0)throw new Error("Invalid size byte");F.meta_block_length|=ee<<j*8}}else for(j=0;j<V;++j){var H=q.readBits(4);if(j+1===V&&V>4&&H===0)throw new Error("Invalid size nibble");F.meta_block_length|=H<<j*4}return++F.meta_block_length,!F.input_end&&!F.is_metadata&&(F.is_uncompressed=q.readBits(1)),F}function p(q,F,V){var L;return V.fillBitWindow(),F+=V.val_>>>V.bit_pos_&P,L=q[F].bits-C,L>0&&(V.bit_pos_+=C,F+=q[F].value,F+=V.val_>>>V.bit_pos_&(1<<L)-1),V.bit_pos_+=q[F].bits,q[F].value}function f(q,F,V,L){for(var j=0,ee=u,H=0,Z=0,he=32768,se=[],Q=0;Q<32;Q++)se.push(new n(0,0));for(s(se,0,5,q,k);j<F&&he>0;){var le=0,Me;if(L.readMoreInput(),L.fillBitWindow(),le+=L.val_>>>L.bit_pos_&31,L.bit_pos_+=se[le].bits,Me=se[le].value&255,Me<l)H=0,V[j++]=Me,Me!==0&&(ee=Me,he-=32768>>Me);else{var de=Me-14,De,Ne,ce=0;if(Me===l&&(ce=ee),Z!==ce&&(H=0,Z=ce),De=H,H>0&&(H-=2,H<<=de),H+=L.readBits(de)+3,Ne=H-De,j+Ne>F)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var Oe=0;Oe<Ne;Oe++)V[j+Oe]=Z;j+=Ne,Z!==0&&(he-=Ne<<15-Z)}}if(he!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+he);for(;j<F;j++)V[j]=0}function h(q,F,V,L){var j=0,ee,H=new Uint8Array(q);if(L.readMoreInput(),ee=L.readBits(2),ee===1){for(var Z,he=q-1,se=0,Q=new Int32Array(4),le=L.readBits(2)+1;he;)he>>=1,++se;for(Z=0;Z<le;++Z)Q[Z]=L.readBits(se)%q,H[Q[Z]]=2;switch(H[Q[0]]=1,le){case 1:break;case 3:if(Q[0]===Q[1]||Q[0]===Q[2]||Q[1]===Q[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(Q[0]===Q[1])throw new Error("[ReadHuffmanCode] invalid symbols");H[Q[1]]=1;break;case 4:if(Q[0]===Q[1]||Q[0]===Q[2]||Q[0]===Q[3]||Q[1]===Q[2]||Q[1]===Q[3]||Q[2]===Q[3])throw new Error("[ReadHuffmanCode] invalid symbols");L.readBits(1)?(H[Q[2]]=3,H[Q[3]]=3):H[Q[0]]=2;break}}else{var Z,Me=new Uint8Array(k),de=32,De=0,Ne=[new n(2,0),new n(2,4),new n(2,3),new n(3,2),new n(2,0),new n(2,4),new n(2,3),new n(4,1),new n(2,0),new n(2,4),new n(2,3),new n(3,2),new n(2,0),new n(2,4),new n(2,3),new n(4,5)];for(Z=ee;Z<k&&de>0;++Z){var ce=W[Z],Oe=0,Re;L.fillBitWindow(),Oe+=L.val_>>>L.bit_pos_&15,L.bit_pos_+=Ne[Oe].bits,Re=Ne[Oe].value,Me[ce]=Re,Re!==0&&(de-=32>>Re,++De)}if(!(De===1||de===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");f(Me,q,H,L)}if(j=s(F,V,C,H,q),j===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return j}function g(q,F,V){var L,j;return L=p(q,F,V),j=a.kBlockLengthPrefixCode[L].nbits,a.kBlockLengthPrefixCode[L].offset+V.readBits(j)}function x(q,F,V){var L;return q<T?(V+=J[q],V&=3,L=F[V]+_[q]):L=q-T+1,L}function E(q,F){for(var V=q[F],L=F;L;--L)q[L]=q[L-1];q[0]=V}function w(q,F){var V=new Uint8Array(256),L;for(L=0;L<256;++L)V[L]=L;for(L=0;L<F;++L){var j=q[L];q[L]=V[j],j&&E(V,j)}}function d(q,F){this.alphabet_size=q,this.num_htrees=F,this.codes=new Array(F+F*X[q+31>>>5]),this.htrees=new Uint32Array(F)}d.prototype.decode=function(q){var F,V,L=0;for(F=0;F<this.num_htrees;++F)this.htrees[F]=L,V=h(this.alphabet_size,this.codes,L,q),L+=V};function y(q,F){var V={num_htrees:null,context_map:null},L,j=0,ee,H;F.readMoreInput();var Z=V.num_htrees=fe(F)+1,he=V.context_map=new Uint8Array(q);if(Z<=1)return V;for(L=F.readBits(1),L&&(j=F.readBits(4)+1),ee=[],H=0;H<U;H++)ee[H]=new n(0,0);for(h(Z+j,ee,0,F),H=0;H<q;){var se;if(F.readMoreInput(),se=p(ee,0,F),se===0)he[H]=0,++H;else if(se<=j)for(var Q=1+(1<<se)+F.readBits(se);--Q;){if(H>=q)throw new Error("[DecodeContextMap] i >= context_map_size");he[H]=0,++H}else he[H]=se-j,++H}return F.readBits(1)&&w(he,q),V}function m(q,F,V,L,j,ee,H){var Z=V*2,he=V,se=p(F,V*U,H),Q;se===0?Q=j[Z+(ee[he]&1)]:se===1?Q=j[Z+(ee[he]-1&1)]+1:Q=se-2,Q>=q&&(Q-=q),L[V]=Q,j[Z+(ee[he]&1)]=Q,++ee[he]}function O(q,F,V,L,j,ee){var H=j+1,Z=V&j,he=ee.pos_&t.IBUF_MASK,se;if(F<8||ee.bit_pos_+(F<<3)<ee.bit_end_pos_){for(;F-- >0;)ee.readMoreInput(),L[Z++]=ee.readBits(8),Z===H&&(q.write(L,H),Z=0);return}if(ee.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;ee.bit_pos_<32;)L[Z]=ee.val_>>>ee.bit_pos_,ee.bit_pos_+=8,++Z,--F;if(se=ee.bit_end_pos_-ee.bit_pos_>>3,he+se>t.IBUF_MASK){for(var Q=t.IBUF_MASK+1-he,le=0;le<Q;le++)L[Z+le]=ee.buf_[he+le];se-=Q,Z+=Q,F-=Q,he=0}for(var le=0;le<se;le++)L[Z+le]=ee.buf_[he+le];if(Z+=se,F-=se,Z>=H){q.write(L,H),Z-=H;for(var le=0;le<Z;le++)L[le]=L[H+le]}for(;Z+F>=H;){if(se=H-Z,ee.input_.read(L,Z,se)<se)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");q.write(L,H),F-=se,Z=0}if(ee.input_.read(L,Z,F)<F)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");ee.reset()}function Y(q){var F=q.bit_pos_+7&-8,V=q.readBits(F-q.bit_pos_);return V==0}function S(q){var F=new r(q),V=new t(F);G(V);var L=b(V);return L.meta_block_length}wo.BrotliDecompressedSize=S;function z(q,F){var V=new r(q);F==null&&(F=S(q));var L=new Uint8Array(F),j=new e(L);return K(V,j),j.pos<j.buffer.length&&(j.buffer=j.buffer.subarray(0,j.pos)),j.buffer}wo.BrotliDecompressBuffer=z;function K(q,F){var V,L=0,j=0,ee=0,H,Z=0,he,se,Q,le,Me=[16,15,11,4],de=0,De=0,Ne=0,ce=[new d(0,0),new d(0,0),new d(0,0)],Oe,Re,te,Xe=128+t.READ_SIZE;te=new t(q),ee=G(te),H=(1<<ee)-16,he=1<<ee,se=he-1,Q=new Uint8Array(he+Xe+i.maxDictionaryWordLength),le=he,Oe=[],Re=[];for(var ke=0;ke<3*U;ke++)Oe[ke]=new n(0,0),Re[ke]=new n(0,0);for(;!j;){var oe=0,et,qe=[1<<28,1<<28,1<<28],ge=[0],Te=[1,1,1],Ke=[0,1,0,1,0,1],we=[0],Be,Ge,ve,tt,st=null,xe=null,Qe,je=null,Ee,_e=0,Je=null,ye=0,ot=0,rt=null,Ae=0,it=0,nt=0,me,He;for(V=0;V<3;++V)ce[V].codes=null,ce[V].htrees=null;te.readMoreInput();var Ce=b(te);if(oe=Ce.meta_block_length,L+oe>F.buffer.length){var Ie=new Uint8Array(L+oe);Ie.set(F.buffer),F.buffer=Ie}if(j=Ce.input_end,et=Ce.is_uncompressed,Ce.is_metadata){for(Y(te);oe>0;--oe)te.readMoreInput(),te.readBits(8);continue}if(oe!==0){if(et){te.bit_pos_=te.bit_pos_+7&-8,O(F,oe,L,Q,se,te),L+=oe;continue}for(V=0;V<3;++V)Te[V]=fe(te)+1,Te[V]>=2&&(h(Te[V]+2,Oe,V*U,te),h(M,Re,V*U,te),qe[V]=g(Re,V*U,te),we[V]=1);for(te.readMoreInput(),Be=te.readBits(2),Ge=T+(te.readBits(4)<<Be),ve=(1<<Be)-1,tt=Ge+(48<<Be),xe=new Uint8Array(Te[0]),V=0;V<Te[0];++V)te.readMoreInput(),xe[V]=te.readBits(2)<<1;var at=y(Te[0]<<I,te);Qe=at.num_htrees,st=at.context_map;var ft=y(Te[2]<<N,te);for(Ee=ft.num_htrees,je=ft.context_map,ce[0]=new d(v,Qe),ce[1]=new d(A,Te[1]),ce[2]=new d(tt,Ee),V=0;V<3;++V)ce[V].decode(te);for(Je=0,rt=0,me=xe[ge[0]],it=o.lookupOffsets[me],nt=o.lookupOffsets[me+1],He=ce[1].htrees[0];oe>0;){var Se,Ze,Fe,$e,Vt,ut,dt,wt,mt,nr,dr;for(te.readMoreInput(),qe[1]===0&&(m(Te[1],Oe,1,ge,Ke,we,te),qe[1]=g(Re,U,te),He=ce[1].htrees[ge[1]]),--qe[1],Se=p(ce[1].codes,He,te),Ze=Se>>6,Ze>=2?(Ze-=2,dt=-1):dt=0,Fe=a.kInsertRangeLut[Ze]+(Se>>3&7),$e=a.kCopyRangeLut[Ze]+(Se&7),Vt=a.kInsertLengthPrefixCode[Fe].offset+te.readBits(a.kInsertLengthPrefixCode[Fe].nbits),ut=a.kCopyLengthPrefixCode[$e].offset+te.readBits(a.kCopyLengthPrefixCode[$e].nbits),De=Q[L-1&se],Ne=Q[L-2&se],nr=0;nr<Vt;++nr)te.readMoreInput(),qe[0]===0&&(m(Te[0],Oe,0,ge,Ke,we,te),qe[0]=g(Re,0,te),_e=ge[0]<<I,Je=_e,me=xe[ge[0]],it=o.lookupOffsets[me],nt=o.lookupOffsets[me+1]),mt=o.lookup[it+De]|o.lookup[nt+Ne],ye=st[Je+mt],--qe[0],Ne=De,De=p(ce[0].codes,ce[0].htrees[ye],te),Q[L&se]=De,(L&se)===se&&F.write(Q,he),++L;if(oe-=Vt,oe<=0)break;if(dt<0){var mt;if(te.readMoreInput(),qe[2]===0&&(m(Te[2],Oe,2,ge,Ke,we,te),qe[2]=g(Re,2*U,te),ot=ge[2]<<N,rt=ot),--qe[2],mt=(ut>4?3:ut-2)&255,Ae=je[rt+mt],dt=p(ce[2].codes,ce[2].htrees[Ae],te),dt>=Ge){var Tr,Jr,lr;dt-=Ge,Jr=dt&ve,dt>>=Be,Tr=(dt>>1)+1,lr=(2+(dt&1)<<Tr)-4,dt=Ge+(lr+te.readBits(Tr)<<Be)+Jr}}if(wt=x(dt,Me,de),wt<0)throw new Error("[BrotliDecompress] invalid distance");if(L<H&&Z!==H?Z=L:Z=H,dr=L&se,wt>Z)if(ut>=i.minDictionaryWordLength&&ut<=i.maxDictionaryWordLength){var lr=i.offsetsByLength[ut],pr=wt-Z-1,Hr=i.sizeBitsByLength[ut],ci=(1<<Hr)-1,Kt=pr&ci,Zr=pr>>Hr;if(lr+=Kt*ut,Zr<c.kNumTransforms){var Fr=c.transformDictionaryWord(Q,dr,lr,ut,Zr);if(dr+=Fr,L+=Fr,oe-=Fr,dr>=le){F.write(Q,he);for(var Ar=0;Ar<dr-le;Ar++)Q[Ar]=Q[le+Ar]}}else throw new Error("Invalid backward reference. pos: "+L+" distance: "+wt+" len: "+ut+" bytes left: "+oe)}else throw new Error("Invalid backward reference. pos: "+L+" distance: "+wt+" len: "+ut+" bytes left: "+oe);else{if(dt>0&&(Me[de&3]=wt,++de),ut>oe)throw new Error("Invalid backward reference. pos: "+L+" distance: "+wt+" len: "+ut+" bytes left: "+oe);for(nr=0;nr<ut;++nr)Q[L&se]=Q[L-wt&se],(L&se)===se&&F.write(Q,he),++L,--oe}De=Q[L-1&se],Ne=Q[L-2&se]}L&=1073741823}}F.write(Q,L&se)}return wo.BrotliDecompress=K,i.init(),wo}var TS=o1().BrotliDecompressBuffer;async function FS(r){return await new Promise(e=>{const t=TS(Buffer.from(r));e(t)})}var qS=Object.defineProperty,CS=Object.defineProperties,US=Object.getOwnPropertyDescriptors,a1=Object.getOwnPropertySymbols,zS=Object.prototype.hasOwnProperty,LS=Object.prototype.propertyIsEnumerable,f1=(r,e,t)=>e in r?qS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Eo=(r,e)=>{for(var t in e||(e={}))zS.call(e,t)&&f1(r,t,e[t]);if(a1)for(var t of a1(e))LS.call(e,t)&&f1(r,t,e[t]);return r},So=(r,e)=>CS(r,US(e));class kS extends Vp{constructor(e){super(e),this.engine=e,this.statusPollingTimeout=re.THIRTY_SECONDS,this.prepareFulfilment=async t=>{if(await this.toInitPromise(),console.log("prepareFulfilment",t,this.prepareFulfilmentHandler),!this.prepareFulfilmentHandler)throw new Error(`prepareFulfilmentHandler not found for environment: '${jr()}'`);const{transaction:i}=t,n=await this.prepareFulfilmentHandler({transaction:i,projectId:this.projectId});switch(console.log("prepareFulfilment processing result..",n),n.status){case hi.error:return{status:hi.error,reason:n.reason};case hi.not_required:return{status:hi.not_required};case hi.available:const s=n.data;return{status:hi.available,data:{fulfilmentId:s.orchestrationId,checkIn:s.checkIn,transactions:s.transactions,funding:s.metadata.fundingFrom,initialTransaction:s.initialTransaction,initialTransactionMetadata:s.metadata.initialTransaction}};default:throw new Error(`Invalid prepareFulfilment status: ${JSON.stringify(n)}`)}},this.fulfilmentStatus=async t=>{if(await this.toInitPromise(),!this.fulfilmentStatusHandler)throw new Error(`fulfilmentStatusHandler not found for environment: '${jr()}'`);const{fulfilmentId:i}=t,n=setTimeout(()=>{throw new Error(`Fulfilment status polling timeout: ${i}`)},re.toMiliseconds(this.statusPollingTimeout));let s;do{const o=await this.fulfilmentStatusHandler({orchestrationId:i,projectId:this.projectId});if(console.log("fulfilmentStatus result",o),o.status===Ga.pending){console.log("fulfilmentStatus pending retrying...",o),await new Promise(a=>setTimeout(a,o.checkIn));continue}if(o.status===Ga.error)throw clearTimeout(n),new Error(o.reason);clearTimeout(n),s=o}while(!s);return s},this.estimateFees=async t=>{if(await this.toInitPromise(),!this.estimateFeesHandler)throw new Error(`estimateFeesHandler not found for environment: '${jr()}'`);const i=await this.estimateFeesHandler(So(Eo({},t),{projectId:this.projectId}));return console.log("estimateFees result",i),i},this.getERC20Balance=async t=>{if(await this.toInitPromise(),!this.getERC20BalanceHandler)throw new Error(`getERC20BalanceHandler not found for environment: '${jr()}'`);const i=await this.getERC20BalanceHandler(So(Eo({},t),{projectId:this.projectId}));return console.log("getERC20Balance result",i),i},this.getFulfilmentDetails=async t=>{if(await this.toInitPromise(),!this.getFulfilmentDetailsHandler)throw new Error(`getFulfilmentDetailsHandler not found for environment: '${jr()}'`);const{fulfilmentId:i}=t,n=await this.getFulfilmentDetailsHandler(So(Eo({},t),{orchestrationId:i,projectId:this.projectId}));console.log("getFulfilmentDetails handler result",n);const s=[];for(const u of n.bridge)s.push({fee:u.fee,localFee:u.localFee||u.local_fee});const o=[];for(const u of n.route)o.push({transaction:u.transaction,eip1559:u.estimate,transactionFee:{fee:u.fee.fee,localFee:u.fee.localFee||u.fee.local_fee}});const a={transaction:n.initial.transaction,eip1559:n.initial.estimate,transactionFee:{fee:n.initial.fee.fee,localFee:n.initial.fee.localFee||n.initial.fee.local_fee}},c=n.localTotal||n.local_total;return console.log("getFulfilmentDetails parsed result",{routeDetails:o,initialTransactionDetails:a,bridgeDetails:s,totalFee:c}),{routeDetails:o,initialTransactionDetails:a,bridgeDetails:s,totalFee:So(Eo({},c),{formattedAlt:c.formattedAlt||c.formatted_alt})}},this.prepareDetailed=async t=>{if(console.log("prepareDetailed",t),await this.toInitPromise(),console.log("prepareDetailed initPromise"),!this.getPrepareDetailedHandler)throw new Error(`getPrepareDetailedHandler not found for environment: '${jr()}'`);const{transaction:i}=t,n=await this.getPrepareDetailedHandler(So(Eo({},t),{transaction:i,projectId:this.projectId}));return console.log("prepareDetailed result",n),n},this.loadHandlers=async()=>{const t=jr();switch(console.log("ChainAbstraction environment, loadHandlers",t),t){case rr.reactNative:return this.ReactNative();case rr.browser:return await this.Browser();case rr.node:return await this.Node()}},this.ReactNative=()=>{try{const t=global==null?void 0:global.yttrium;if(!t){console.warn("React Native Yttrium not found in global scope");return}this.prepareFulfilmentHandler=async i=>this.parseResult(await t.prepare(i)),this.fulfilmentStatusHandler=async i=>this.parseResult(await t.status(i)),this.estimateFeesHandler=async i=>this.parseResult(await t.estimateFees(i)),this.getERC20BalanceHandler=async i=>this.parseResult(await t.getERC20Balance(i)),this.getFulfilmentDetailsHandler=async i=>this.parseResult(await t.getBridgeDetails(i)),this.getPrepareDetailedHandler=async i=>this.parseResult(await t.getPrepareDetailed(i))}catch(t){console.error("React Native Yttrium init error",t)}},this.Browser=async()=>{try{const t=await this.initializeInjectedYttrium();this.prepareFulfilmentHandler=async i=>this.parseResult(await t.prepare(i)),this.fulfilmentStatusHandler=async i=>this.parseResult(await t.status(i)),this.getERC20BalanceHandler=async i=>this.parseResult(await t.getERC20Balance(i)),this.getFulfilmentDetailsHandler=async i=>this.parseResult(await t.getBridgeDetails(i)),this.getPrepareDetailedHandler=async i=>this.parseResult(await t.getPrepareDetailed(i))}catch(t){console.error("Browser Yttrium init error",t)}},this.Node=async()=>{console.log("Node Yttrium init");try{const t=await this.initializeInjectedYttrium();this.prepareFulfilmentHandler=async i=>this.parseResult(await t.prepare(i)),this.fulfilmentStatusHandler=async i=>this.parseResult(await t.status(i)),this.getERC20BalanceHandler=async i=>this.parseResult(await t.getERC20Balance(i)),this.getFulfilmentDetailsHandler=async i=>this.parseResult(await t.getBridgeDetails(i)),this.getPrepareDetailedHandler=async i=>this.parseResult(await t.getPrepareDetailed(i))}catch(t){console.error("Node Yttrium init error",t)}console.log("Node handlers loaded")},this.parseResult=t=>{if(typeof t<"u"){if(typeof t=="string")try{return JSON.parse(t)}catch{}return t}},this.initializeInjectedYttrium=async()=>{const t=Buffer.from(bS,"base64"),i=Buffer.from(await FS(t));console.log("initializeInjectedYttrium"),await Gp(i).catch(s=>{console.error("initializeInjectedYttrium error",s)}),console.log("initializeInjectedYttrium done");const n={prepareResponseCache:{},client:new hS(this.projectId,{url:"https://api.yttrium.io",sdk_version:"1.0.0",sdk_platform:"js",bundle_id:void 0,package_name:void 0}),prepare:async s=>{var o;const{chainId:a,from:c,to:u,value:l,input:v,data:A}=s.transaction,M=await n.client.prepare(a,c,{to:u,value:l||"0x",input:v||A});if(console.log("prepare called",M),!M)throw new Error("Empty response from yttrium's prepare");return M!=null&&M.error?{status:hi.error,reason:M.error}:((o=M?.transactions)==null?void 0:o.length)===0?{status:hi.not_required}:(n.prepareResponseCache[M.orchestrationId]=M,{status:hi.available,data:M})},status:async s=>{console.log("status called",s);const{orchestrationId:o}=s;return await n.client.status(o)},getERC20Balance:s=>{console.log("getERC20Balance called",s);const{chainId:o,tokenAddress:a,ownerAddress:c}=s;return n.client.erc20_token_balance(o,a,c)},getBridgeDetails:s=>{console.log("getBridgeDetails called",s);const{orchestrationId:o}=s,a=n.prepareResponseCache[o];if(!a)throw new Error(`No prepare response found for fulfilmentId: ${o}`);return n.client.get_ui_fields(a,Yp.Usd)},getPrepareDetailed:s=>{console.log("getPrepareDetailed called",s);const{chainId:o,from:a,to:c,value:u,input:l,data:v}=s.transaction;return n.client.prepare_detailed(o,a,{to:c,value:u||"0x",input:l||v},Yp.Usd)}};return n},this.initPromise=this.loadHandlers().then(()=>{console.log("ChainAbstraction loaded"),this.initPromise=void 0}),this.projectId=this.engine.client.core.projectId||""}async toInitPromise(){this.initPromise&&await this.initPromise}}var BS=Object.defineProperty,VS=Object.defineProperties,KS=Object.getOwnPropertyDescriptors,c1=Object.getOwnPropertySymbols,jS=Object.prototype.hasOwnProperty,WS=Object.prototype.propertyIsEnumerable,u1=(r,e,t)=>e in r?BS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,YS=(r,e)=>{for(var t in e||(e={}))jS.call(e,t)&&u1(r,t,e[t]);if(c1)for(var t of c1(e))WS.call(e,t)&&u1(r,t,e[t]);return r},XS=(r,e)=>VS(r,KS(e));class GS extends Bp{constructor(e){super(e),this.init=async()=>{this.signClient=await $E.init({core:this.client.core,metadata:this.client.metadata,signConfig:this.client.signConfig})},this.pair=async t=>{await this.client.core.pairing.pair(t)},this.approveSession=async t=>{const{topic:i,acknowledged:n}=await this.signClient.approve(XS(YS({},t),{id:t.id,namespaces:t.namespaces,sessionProperties:t.sessionProperties,sessionConfig:t.sessionConfig}));return await n(),this.signClient.session.get(i)},this.rejectSession=async t=>await this.signClient.reject(t),this.updateSession=async t=>await this.signClient.update(t),this.extendSession=async t=>await this.signClient.extend(t),this.respondSessionRequest=async t=>await this.signClient.respond(t),this.disconnectSession=async t=>await this.signClient.disconnect(t),this.emitSessionEvent=async t=>await this.signClient.emit(t),this.getActiveSessions=()=>this.signClient.session.getAll().reduce((t,i)=>(t[i.topic]=i,t),{}),this.getPendingSessionProposals=()=>this.signClient.proposal.getAll(),this.getPendingSessionRequests=()=>this.signClient.getPendingSessionRequests(),this.approveSessionAuthenticate=async t=>await this.signClient.approveSessionAuthenticate(t),this.rejectSessionAuthenticate=async t=>await this.signClient.rejectSessionAuthenticate(t),this.formatAuthMessage=t=>this.signClient.formatAuthMessage(t),this.registerDeviceToken=t=>this.client.core.echoClient.registerDeviceToken(t),this.on=(t,i)=>(this.setEvent(t,"off"),this.setEvent(t,"on"),this.client.events.on(t,i)),this.once=(t,i)=>(this.setEvent(t,"off"),this.setEvent(t,"once"),this.client.events.once(t,i)),this.off=(t,i)=>(this.setEvent(t,"off"),this.client.events.off(t,i)),this.removeListener=(t,i)=>(this.setEvent(t,"removeListener"),this.client.events.removeListener(t,i)),this.prepareFulfilment=async t=>await this.chainAbstraction.prepareFulfilment(t),this.fulfilmentStatus=async t=>await this.chainAbstraction.fulfilmentStatus(t),this.estimateFees=async t=>await this.chainAbstraction.estimateFees(t),this.getERC20Balance=async t=>await this.chainAbstraction.getERC20Balance(t),this.getFulfilmentDetails=async t=>await this.chainAbstraction.getFulfilmentDetails(t),this.prepareDetailed=async t=>await this.chainAbstraction.prepareDetailed(t),this.onSessionRequest=t=>{this.client.events.emit("session_request",t)},this.onSessionProposal=t=>{this.client.events.emit("session_proposal",t)},this.onSessionDelete=t=>{this.client.events.emit("session_delete",t)},this.onProposalExpire=t=>{this.client.events.emit("proposal_expire",t)},this.onSessionRequestExpire=t=>{this.client.events.emit("session_request_expire",t)},this.onSessionRequestAuthenticate=t=>{this.client.events.emit("session_authenticate",t)},this.setEvent=(t,i)=>{switch(t){case"session_request":this.signClient.events[i]("session_request",this.onSessionRequest);break;case"session_proposal":this.signClient.events[i]("session_proposal",this.onSessionProposal);break;case"session_delete":this.signClient.events[i]("session_delete",this.onSessionDelete);break;case"proposal_expire":this.signClient.events[i]("proposal_expire",this.onProposalExpire);break;case"session_request_expire":this.signClient.events[i]("session_request_expire",this.onSessionRequestExpire);break;case"session_authenticate":this.signClient.events[i]("session_authenticate",this.onSessionRequestAuthenticate);break}},this.signClient={},this.chainAbstraction=new kS(this)}}const h1=class extends kp{constructor(r){super(r),this.events=new $t.exports,this.on=(e,t)=>this.engine.on(e,t),this.once=(e,t)=>this.engine.once(e,t),this.off=(e,t)=>this.engine.off(e,t),this.removeListener=(e,t)=>this.engine.removeListener(e,t),this.pair=async e=>{try{return await this.engine.pair(e)}catch(t){throw this.logger.error(t.message),t}},this.approveSession=async e=>{try{return await this.engine.approveSession(e)}catch(t){throw this.logger.error(t.message),t}},this.rejectSession=async e=>{try{return await this.engine.rejectSession(e)}catch(t){throw this.logger.error(t.message),t}},this.updateSession=async e=>{try{return await this.engine.updateSession(e)}catch(t){throw this.logger.error(t.message),t}},this.extendSession=async e=>{try{return await this.engine.extendSession(e)}catch(t){throw this.logger.error(t.message),t}},this.respondSessionRequest=async e=>{try{return await this.engine.respondSessionRequest(e)}catch(t){throw this.logger.error(t.message),t}},this.disconnectSession=async e=>{try{return await this.engine.disconnectSession(e)}catch(t){throw this.logger.error(t.message),t}},this.emitSessionEvent=async e=>{try{return await this.engine.emitSessionEvent(e)}catch(t){throw this.logger.error(t.message),t}},this.getActiveSessions=()=>{try{return this.engine.getActiveSessions()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionProposals=()=>{try{return this.engine.getPendingSessionProposals()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}},this.registerDeviceToken=e=>{try{return this.engine.registerDeviceToken(e)}catch(t){throw this.logger.error(t.message),t}},this.approveSessionAuthenticate=e=>{try{return this.engine.approveSessionAuthenticate(e)}catch(t){throw this.logger.error(t.message),t}},this.rejectSessionAuthenticate=e=>{try{return this.engine.rejectSessionAuthenticate(e)}catch(t){throw this.logger.error(t.message),t}},this.formatAuthMessage=e=>{try{return this.engine.formatAuthMessage(e)}catch(t){throw this.logger.error(t.message),t}},this.prepareFulfilment=async e=>{try{return await this.engine.prepareFulfilment(e)}catch(t){throw this.logger.error(t.message),t}},this.fulfilmentStatus=async e=>{try{return await this.engine.fulfilmentStatus(e)}catch(t){throw this.logger.error(t.message),t}},this.estimateFees=async e=>{try{return await this.engine.estimateFees(e)}catch(t){throw this.logger.error(t.message),t}},this.getERC20Balance=async e=>{try{return await this.engine.getERC20Balance(e)}catch(t){throw this.logger.error(t.message),t}},this.getFulfilmentDetails=async e=>{try{return await this.engine.getFulfilmentDetails(e)}catch(t){throw this.logger.error(t.message),t}},this.prepareDetailed=async e=>{try{return await this.engine.prepareDetailed(e)}catch(t){throw this.logger.error(t.message),t}},this.metadata=r.metadata,this.name=r.name||Xa,this.signConfig=r.signConfig,this.core=r.core,this.logger=this.core.logger,this.engine=new GS(this)}static async init(r){const e=new h1(r);return await e.initialize(),e}async initialize(){this.logger.trace("Initialized");try{await this.engine.init(),this.logger.info("WalletKit Initialization Success")}catch(r){throw this.logger.info("WalletKit Initialization Failure"),this.logger.error(r.message),r}}};let au=h1;au.notifications=gS;const JS=au;Nt.CAN_FULFIL_STATUS=hi,Nt.CLIENT_CONTEXT=Xa,Nt.CLIENT_STORAGE_OPTIONS=R1,Nt.CLIENT_STORAGE_PREFIX=D1,Nt.FULFILMENT_STATUS=Ga,Nt.IChainAbstraction=Vp,Nt.IWalletKit=kp,Nt.IWalletKitEngine=Bp,Nt.IWalletKitEvents=eS,Nt.PROTOCOL=yu,Nt.PROTOCOL_VERSION=N1,Nt.REQUEST_CONTEXT=P1,Nt.WalletKit=JS,Nt.default=au,Object.defineProperty(Nt,"__esModule",{value:!0})});
|
43
|
+
***************************************************************************** */var ic=function(t,e){return ic=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var n in i)i.hasOwnProperty(n)&&(r[n]=i[n])},ic(t,e)};function t5(t,e){ic(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}var nc=function(){return nc=Object.assign||function(e){for(var r,i=1,n=arguments.length;i<n;i++){r=arguments[i];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},nc.apply(this,arguments)};function r5(t,e){var r={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(r[i[n]]=t[i[n]]);return r}function i5(t,e,r,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(n<3?o(s):n>3?o(e,r,s):o(e,r))||s);return n>3&&s&&Object.defineProperty(e,r,s),s}function n5(t,e){return function(r,i){e(r,i,t)}}function s5(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function o5(t,e,r,i){function n(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(l){try{h(i.next(l))}catch(y){o(y)}}function c(l){try{h(i.throw(l))}catch(y){o(y)}}function h(l){l.done?s(l.value):n(l.value).then(a,c)}h((i=i.apply(t,e||[])).next())})}function a5(t,e){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(h){return function(l){return c([h,l])}}function c(h){if(i)throw new TypeError("Generator is already executing.");for(;r;)try{if(i=1,n&&(s=h[0]&2?n.return:h[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,h[1])).done)return s;switch(n=0,s&&(h=[h[0]&2,s.value]),h[0]){case 0:case 1:s=h;break;case 4:return r.label++,{value:h[1],done:!1};case 5:r.label++,n=h[1],h=[0];continue;case 7:h=r.ops.pop(),r.trys.pop();continue;default:if(s=r.trys,!(s=s.length>0&&s[s.length-1])&&(h[0]===6||h[0]===2)){r=0;continue}if(h[0]===3&&(!s||h[1]>s[0]&&h[1]<s[3])){r.label=h[1];break}if(h[0]===6&&r.label<s[1]){r.label=s[1],s=h;break}if(s&&r.label<s[2]){r.label=s[2],r.ops.push(h);break}s[2]&&r.ops.pop(),r.trys.pop();continue}h=e.call(t,r)}catch(l){h=[6,l],n=0}finally{i=s=0}if(h[0]&5)throw h[1];return{value:h[0]?h[1]:void 0,done:!0}}}function f5(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}function c5(t,e){for(var r in t)r!=="default"&&!e.hasOwnProperty(r)&&(e[r]=t[r])}function sc(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Zl(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var i=r.call(t),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s}function h5(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Zl(arguments[e]));return t}function u5(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;for(var i=Array(t),n=0,e=0;e<r;e++)for(var s=arguments[e],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i}function Ls(t){return this instanceof Ls?(this.v=t,this):new Ls(t)}function d5(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=r.apply(t,e||[]),n,s=[];return n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n;function o(M){i[M]&&(n[M]=function(I){return new Promise(function(S,D){s.push([M,I,S,D])>1||a(M,I)})})}function a(M,I){try{c(i[M](I))}catch(S){y(s[0][3],S)}}function c(M){M.value instanceof Ls?Promise.resolve(M.value.v).then(h,l):y(s[0][2],M)}function h(M){a("next",M)}function l(M){a("throw",M)}function y(M,I){M(I),s.shift(),s.length&&a(s[0][0],s[0][1])}}function l5(t){var e,r;return e={},i("next"),i("throw",function(n){throw n}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(n,s){e[n]=t[n]?function(o){return(r=!r)?{value:Ls(t[n](o)),done:n==="return"}:s?s(o):o}:s}}function p5(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof sc=="function"?sc(t):t[Symbol.iterator](),r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r);function i(s){r[s]=t[s]&&function(o){return new Promise(function(a,c){o=t[s](o),n(a,c,o.done,o.value)})}}function n(s,o,a,c){Promise.resolve(c).then(function(h){s({value:h,done:a})},o)}}function g5(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function b5(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function v5(t){return t&&t.__esModule?t:{default:t}}function y5(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function m5(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r}var w5=Object.freeze({__proto__:null,__extends:t5,get __assign(){return nc},__rest:r5,__decorate:i5,__param:n5,__metadata:s5,__awaiter:o5,__generator:a5,__createBinding:f5,__exportStar:c5,__values:sc,__read:Zl,__spread:h5,__spreadArrays:u5,__await:Ls,__asyncGenerator:d5,__asyncDelegator:l5,__asyncValues:p5,__makeTemplateObject:g5,__importStar:b5,__importDefault:v5,__classPrivateFieldGet:y5,__classPrivateFieldSet:m5}),_5=ha(w5),yi={},Ql;function x5(){if(Ql)return yi;Ql=1,Object.defineProperty(yi,"__esModule",{value:!0}),yi.isBrowserCryptoAvailable=yi.getSubtleCrypto=yi.getBrowerCrypto=void 0;function t(){return Nt?.crypto||Nt?.msCrypto||{}}yi.getBrowerCrypto=t;function e(){const i=t();return i.subtle||i.webkitSubtle}yi.getSubtleCrypto=e;function r(){return!!t()&&!!e()}return yi.isBrowserCryptoAvailable=r,yi}var mi={},e0;function E5(){if(e0)return mi;e0=1,Object.defineProperty(mi,"__esModule",{value:!0}),mi.isBrowser=mi.isNode=mi.isReactNative=void 0;function t(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}mi.isReactNative=t;function e(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}mi.isNode=e;function r(){return!t()&&!e()}return mi.isBrowser=r,mi}(function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=_5;e.__exportStar(x5(),t),e.__exportStar(E5(),t)})(Xl);function wi(t=3){const e=Date.now()*Math.pow(10,t),r=Math.floor(Math.random()*Math.pow(10,t));return e+r}function bn(t=6){return BigInt(wi(t))}function vn(t,e,r){return{id:r||wi(),jsonrpc:"2.0",method:t,params:e}}function oc(t,e){return{id:t,jsonrpc:"2.0",result:e}}function ac(t,e,r){return{id:t,jsonrpc:"2.0",error:S5(e,r)}}function S5(t,e){return typeof t>"u"?Yl(Gl):(typeof t=="string"&&(t=Object.assign(Object.assign({},Yl(rc)),{message:t})),typeof e<"u"&&(t.data=e),Z8(t.code)&&(t=Q8(t.code)),t)}class M5{}class I5 extends M5{constructor(){super()}}class A5 extends I5{constructor(e){super()}}const D5="^wss?:";function O5(t){const e=t.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function P5(t,e){const r=O5(t);return typeof r>"u"?!1:new RegExp(e).test(r)}function t0(t){return P5(t,D5)}function R5(t){return new RegExp("wss?://localhost(:d{2,5})?").test(t)}function r0(t){return typeof t=="object"&&"id"in t&&"jsonrpc"in t&&t.jsonrpc==="2.0"}function fc(t){return r0(t)&&"method"in t}function ea(t){return r0(t)&&(ii(t)||Ar(t))}function ii(t){return"result"in t}function Ar(t){return"error"in t}class $5 extends A5{constructor(e){super(e),this.events=new jt.exports.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,r){this.events.on(e,r)}once(e,r){this.events.once(e,r)}off(e,r){this.events.off(e,r)}removeListener(e,r){this.events.removeListener(e,r)}async request(e,r){return this.requestStrict(vn(e.method,e.params||[],e.id||bn().toString()),r)}async requestStrict(e,r){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(s){n(s)}this.events.on(`${e.id}`,s=>{Ar(s)?n(s.error):i(s.result)});try{await this.connection.send(e,r)}catch(s){n(s)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),ea(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 N5=()=>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"),T5=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",i0=t=>t.split("?")[0],n0=10,F5=N5();class C5{constructor(e){if(this.url=e,this.events=new jt.exports.EventEmitter,this.registering=!1,!t0(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,r){this.events.on(e,r)}once(e,r){this.events.once(e,r)}off(e,r){this.events.off(e,r)}removeListener(e,r){this.events.removeListener(e,r)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,r)=>{if(typeof this.socket>"u"){r(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(tn(e))}catch(r){this.onError(e.id,r)}}register(e=this.url){if(!t0(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const r=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=r||this.events.listenerCount("open")>=r)&&this.events.setMaxListeners(r+1),new Promise((i,n)=>{this.events.once("register_error",s=>{this.resetMaxListeners(),n(s)}),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((r,i)=>{const n=Xl.isReactNative()?void 0:{rejectUnauthorized:!R5(e)},s=new F5(e,[],n);T5()?s.onerror=o=>{const a=o;i(this.emitError(a.error))}:s.on("error",o=>{i(this.emitError(o))}),s.onopen=()=>{this.onOpen(s),r(s)}})}onOpen(e){e.onmessage=r=>this.onPayload(r),e.onclose=r=>this.onClose(r),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 r=typeof e.data=="string"?An(e.data):e.data;this.events.emit("payload",r)}onError(e,r){const i=this.parseError(r),n=i.message||i.toString(),s=ac(e,n);this.events.emit("payload",s)}parseError(e,r=this.url){return e5(e,i0(r),"WS")}resetMaxListeners(){this.events.getMaxListeners()>n0&&this.events.setMaxListeners(n0)}emitError(e){const r=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${i0(this.url)}`));return this.events.emit("register_error",r),r}}var cc={exports:{}};(function(t,e){var r=200,i="__lodash_hash_undefined__",n=1,s=2,o=9007199254740991,a="[object Arguments]",c="[object Array]",h="[object AsyncFunction]",l="[object Boolean]",y="[object Date]",M="[object Error]",I="[object Function]",S="[object GeneratorFunction]",D="[object Map]",R="[object Number]",$="[object Null]",T="[object Object]",C="[object Promise]",L="[object Proxy]",k="[object RegExp]",j="[object Set]",G="[object String]",K="[object Symbol]",V="[object Undefined]",re="[object WeakMap]",O="[object ArrayBuffer]",g="[object DataView]",p="[object Float32Array]",f="[object Float64Array]",u="[object Int8Array]",b="[object Int16Array]",_="[object Int32Array]",E="[object Uint8Array]",w="[object Uint8ClampedArray]",d="[object Uint16Array]",m="[object Uint32Array]",v=/[\\^$.*+?()[\]{}|]/g,A=/^\[object .+?Constructor\]$/,U=/^(?:0|[1-9]\d*)$/,x={};x[p]=x[f]=x[u]=x[b]=x[_]=x[E]=x[w]=x[d]=x[m]=!0,x[a]=x[c]=x[O]=x[l]=x[g]=x[y]=x[M]=x[I]=x[D]=x[R]=x[T]=x[k]=x[j]=x[G]=x[re]=!1;var N=typeof Nt=="object"&&Nt&&Nt.Object===Object&&Nt,B=typeof self=="object"&&self&&self.Object===Object&&self,q=N||B||Function("return this")(),z=e&&!e.nodeType&&e,J=z&&!0&&t&&!t.nodeType&&t,X=J&&J.exports===z,W=X&&N.process,ne=function(){try{return W&&W.binding&&W.binding("util")}catch{}}(),Q=ne&&ne.isTypedArray;function ee(P,F){for(var H=-1,te=P==null?0:P.length,ut=0,we=[];++H<te;){var bt=P[H];F(bt,H,P)&&(we[ut++]=bt)}return we}function qe(P,F){for(var H=-1,te=F.length,ut=P.length;++H<te;)P[ut+H]=F[H];return P}function Ue(P,F){for(var H=-1,te=P==null?0:P.length;++H<te;)if(F(P[H],H,P))return!0;return!1}function he(P,F){for(var H=-1,te=Array(P);++H<P;)te[H]=F(H);return te}function Pe(P){return function(F){return P(F)}}function Re(P,F){return P.has(F)}function ae(P,F){return P?.[F]}function $e(P){var F=-1,H=Array(P.size);return P.forEach(function(te,ut){H[++F]=[ut,te]}),H}function Ne(P,F){return function(H){return P(F(H))}}function ce(P){var F=-1,H=Array(P.size);return P.forEach(function(te){H[++F]=te}),H}var Te=Array.prototype,Fe=Function.prototype,oe=Object.prototype,De=q["__core-js_shared__"],Ce=Fe.toString,ie=oe.hasOwnProperty,Ve=function(){var P=/[^.]+$/.exec(De&&De.keys&&De.keys.IE_PROTO||"");return P?"Symbol(src)_1."+P:""}(),He=oe.toString,pe=RegExp("^"+Ce.call(ie).replace(v,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),We=X?q.Buffer:void 0,Be=q.Symbol,de=q.Uint8Array,Ge=oe.propertyIsEnumerable,Xe=Te.splice,se=Be?Be.toStringTag:void 0,Je=Object.getOwnPropertySymbols,Ze=We?We.isBuffer:void 0,ge=Ne(Object.keys,Object),ze=rs(q,"DataView"),Oe=rs(q,"Map"),ue=rs(q,"Promise"),ke=rs(q,"Set"),je=rs(q,"WeakMap"),fe=rs(Object,"create"),Qe=xn(ze),et=xn(Oe),be=xn(ue),tt=xn(ke),rt=xn(je),le=Be?Be.prototype:void 0,Ke=le?le.valueOf:void 0;function Ae(P){var F=-1,H=P==null?0:P.length;for(this.clear();++F<H;){var te=P[F];this.set(te[0],te[1])}}function ve(){this.__data__=fe?fe(null):{},this.size=0}function it(P){var F=this.has(P)&&delete this.__data__[P];return this.size-=F?1:0,F}function nt(P){var F=this.__data__;if(fe){var H=F[P];return H===i?void 0:H}return ie.call(F,P)?F[P]:void 0}function ye(P){var F=this.__data__;return fe?F[P]!==void 0:ie.call(F,P)}function st(P,F){var H=this.__data__;return this.size+=this.has(P)?0:1,H[P]=fe&&F===void 0?i:F,this}Ae.prototype.clear=ve,Ae.prototype.delete=it,Ae.prototype.get=nt,Ae.prototype.has=ye,Ae.prototype.set=st;function xe(P){var F=-1,H=P==null?0:P.length;for(this.clear();++F<H;){var te=P[F];this.set(te[0],te[1])}}function Ye(){this.__data__=[],this.size=0}function ar(P){var F=this.__data__,H=sa(F,P);if(H<0)return!1;var te=F.length-1;return H==te?F.pop():Xe.call(F,H,1),--this.size,!0}function fr(P){var F=this.__data__,H=sa(F,P);return H<0?void 0:F[H][1]}function cr(P){return sa(this.__data__,P)>-1}function hr(P,F){var H=this.__data__,te=sa(H,P);return te<0?(++this.size,H.push([P,F])):H[te][1]=F,this}xe.prototype.clear=Ye,xe.prototype.delete=ar,xe.prototype.get=fr,xe.prototype.has=cr,xe.prototype.set=hr;function wt(P){var F=-1,H=P==null?0:P.length;for(this.clear();++F<H;){var te=P[F];this.set(te[0],te[1])}}function xi(){this.size=0,this.__data__={hash:new Ae,map:new(Oe||xe),string:new Ae}}function Ei(P){var F=oa(this,P).delete(P);return this.size-=F?1:0,F}function Si(P){return oa(this,P).get(P)}function Mi(P){return oa(this,P).has(P)}function Ii(P,F){var H=oa(this,P),te=H.size;return H.set(P,F),this.size+=H.size==te?0:1,this}wt.prototype.clear=xi,wt.prototype.delete=Ei,wt.prototype.get=Si,wt.prototype.has=Mi,wt.prototype.set=Ii;function Pr(P){var F=-1,H=P==null?0:P.length;for(this.__data__=new wt;++F<H;)this.add(P[F])}function Ai(P){return this.__data__.set(P,i),this}function Di(P){return this.__data__.has(P)}Pr.prototype.add=Pr.prototype.push=Ai,Pr.prototype.has=Di;function Wt(P){var F=this.__data__=new xe(P);this.size=F.size}function Oi(){this.__data__=new xe,this.size=0}function Pi(P){var F=this.__data__,H=F.delete(P);return this.size=F.size,H}function Ri(P){return this.__data__.get(P)}function Vs(P){return this.__data__.has(P)}function Hs(P,F){var H=this.__data__;if(H instanceof xe){var te=H.__data__;if(!Oe||te.length<r-1)return te.push([P,F]),this.size=++H.size,this;H=this.__data__=new wt(te)}return H.set(P,F),this.size=H.size,this}Wt.prototype.clear=Oi,Wt.prototype.delete=Pi,Wt.prototype.get=Ri,Wt.prototype.has=Vs,Wt.prototype.set=Hs;function ix(P,F){var H=aa(P),te=!H&&yx(P),ut=!H&&!te&&xc(P),we=!H&&!te&&!ut&&dp(P),bt=H||te||ut||we,$t=bt?he(P.length,String):[],zt=$t.length;for(var dt in P)(F||ie.call(P,dt))&&!(bt&&(dt=="length"||ut&&(dt=="offset"||dt=="parent")||we&&(dt=="buffer"||dt=="byteLength"||dt=="byteOffset")||lx(dt,zt)))&&$t.push(dt);return $t}function sa(P,F){for(var H=P.length;H--;)if(fp(P[H][0],F))return H;return-1}function nx(P,F,H){var te=F(P);return aa(P)?te:qe(te,H(P))}function Ws(P){return P==null?P===void 0?V:$:se&&se in Object(P)?ux(P):vx(P)}function np(P){return Gs(P)&&Ws(P)==a}function sp(P,F,H,te,ut){return P===F?!0:P==null||F==null||!Gs(P)&&!Gs(F)?P!==P&&F!==F:sx(P,F,H,te,sp,ut)}function sx(P,F,H,te,ut,we){var bt=aa(P),$t=aa(F),zt=bt?c:Ji(P),dt=$t?c:Ji(F);zt=zt==a?T:zt,dt=dt==a?T:dt;var yr=zt==T,jr=dt==T,Gt=zt==dt;if(Gt&&xc(P)){if(!xc(F))return!1;bt=!0,yr=!1}if(Gt&&!yr)return we||(we=new Wt),bt||dp(P)?op(P,F,H,te,ut,we):cx(P,F,zt,H,te,ut,we);if(!(H&n)){var Rr=yr&&ie.call(P,"__wrapped__"),$r=jr&&ie.call(F,"__wrapped__");if(Rr||$r){var Yi=Rr?P.value():P,$i=$r?F.value():F;return we||(we=new Wt),ut(Yi,$i,H,te,we)}}return Gt?(we||(we=new Wt),hx(P,F,H,te,ut,we)):!1}function ox(P){if(!up(P)||gx(P))return!1;var F=cp(P)?pe:A;return F.test(xn(P))}function ax(P){return Gs(P)&&hp(P.length)&&!!x[Ws(P)]}function fx(P){if(!bx(P))return ge(P);var F=[];for(var H in Object(P))ie.call(P,H)&&H!="constructor"&&F.push(H);return F}function op(P,F,H,te,ut,we){var bt=H&n,$t=P.length,zt=F.length;if($t!=zt&&!(bt&&zt>$t))return!1;var dt=we.get(P);if(dt&&we.get(F))return dt==F;var yr=-1,jr=!0,Gt=H&s?new Pr:void 0;for(we.set(P,F),we.set(F,P);++yr<$t;){var Rr=P[yr],$r=F[yr];if(te)var Yi=bt?te($r,Rr,yr,F,P,we):te(Rr,$r,yr,P,F,we);if(Yi!==void 0){if(Yi)continue;jr=!1;break}if(Gt){if(!Ue(F,function($i,En){if(!Re(Gt,En)&&(Rr===$i||ut(Rr,$i,H,te,we)))return Gt.push(En)})){jr=!1;break}}else if(!(Rr===$r||ut(Rr,$r,H,te,we))){jr=!1;break}}return we.delete(P),we.delete(F),jr}function cx(P,F,H,te,ut,we,bt){switch(H){case g:if(P.byteLength!=F.byteLength||P.byteOffset!=F.byteOffset)return!1;P=P.buffer,F=F.buffer;case O:return!(P.byteLength!=F.byteLength||!we(new de(P),new de(F)));case l:case y:case R:return fp(+P,+F);case M:return P.name==F.name&&P.message==F.message;case k:case G:return P==F+"";case D:var $t=$e;case j:var zt=te&n;if($t||($t=ce),P.size!=F.size&&!zt)return!1;var dt=bt.get(P);if(dt)return dt==F;te|=s,bt.set(P,F);var yr=op($t(P),$t(F),te,ut,we,bt);return bt.delete(P),yr;case K:if(Ke)return Ke.call(P)==Ke.call(F)}return!1}function hx(P,F,H,te,ut,we){var bt=H&n,$t=ap(P),zt=$t.length,dt=ap(F),yr=dt.length;if(zt!=yr&&!bt)return!1;for(var jr=zt;jr--;){var Gt=$t[jr];if(!(bt?Gt in F:ie.call(F,Gt)))return!1}var Rr=we.get(P);if(Rr&&we.get(F))return Rr==F;var $r=!0;we.set(P,F),we.set(F,P);for(var Yi=bt;++jr<zt;){Gt=$t[jr];var $i=P[Gt],En=F[Gt];if(te)var lp=bt?te(En,$i,Gt,F,P,we):te($i,En,Gt,P,F,we);if(!(lp===void 0?$i===En||ut($i,En,H,te,we):lp)){$r=!1;break}Yi||(Yi=Gt=="constructor")}if($r&&!Yi){var fa=P.constructor,ca=F.constructor;fa!=ca&&"constructor"in P&&"constructor"in F&&!(typeof fa=="function"&&fa instanceof fa&&typeof ca=="function"&&ca instanceof ca)&&($r=!1)}return we.delete(P),we.delete(F),$r}function ap(P){return nx(P,_x,dx)}function oa(P,F){var H=P.__data__;return px(F)?H[typeof F=="string"?"string":"hash"]:H.map}function rs(P,F){var H=ae(P,F);return ox(H)?H:void 0}function ux(P){var F=ie.call(P,se),H=P[se];try{P[se]=void 0;var te=!0}catch{}var ut=He.call(P);return te&&(F?P[se]=H:delete P[se]),ut}var dx=Je?function(P){return P==null?[]:(P=Object(P),ee(Je(P),function(F){return Ge.call(P,F)}))}:xx,Ji=Ws;(ze&&Ji(new ze(new ArrayBuffer(1)))!=g||Oe&&Ji(new Oe)!=D||ue&&Ji(ue.resolve())!=C||ke&&Ji(new ke)!=j||je&&Ji(new je)!=re)&&(Ji=function(P){var F=Ws(P),H=F==T?P.constructor:void 0,te=H?xn(H):"";if(te)switch(te){case Qe:return g;case et:return D;case be:return C;case tt:return j;case rt:return re}return F});function lx(P,F){return F=F??o,!!F&&(typeof P=="number"||U.test(P))&&P>-1&&P%1==0&&P<F}function px(P){var F=typeof P;return F=="string"||F=="number"||F=="symbol"||F=="boolean"?P!=="__proto__":P===null}function gx(P){return!!Ve&&Ve in P}function bx(P){var F=P&&P.constructor,H=typeof F=="function"&&F.prototype||oe;return P===H}function vx(P){return He.call(P)}function xn(P){if(P!=null){try{return Ce.call(P)}catch{}try{return P+""}catch{}}return""}function fp(P,F){return P===F||P!==P&&F!==F}var yx=np(function(){return arguments}())?np:function(P){return Gs(P)&&ie.call(P,"callee")&&!Ge.call(P,"callee")},aa=Array.isArray;function mx(P){return P!=null&&hp(P.length)&&!cp(P)}var xc=Ze||Ex;function wx(P,F){return sp(P,F)}function cp(P){if(!up(P))return!1;var F=Ws(P);return F==I||F==S||F==h||F==L}function hp(P){return typeof P=="number"&&P>-1&&P%1==0&&P<=o}function up(P){var F=typeof P;return P!=null&&(F=="object"||F=="function")}function Gs(P){return P!=null&&typeof P=="object"}var dp=Q?Pe(Q):ax;function _x(P){return mx(P)?ix(P):fx(P)}function xx(){return[]}function Ex(){return!1}t.exports=wx})(cc,cc.exports);var B5=cc.exports;const s0="wc",o0=2,ta="core",ni=`${s0}@2:${ta}:`,L5={name:ta,logger:"error"},q5={database:":memory:"},U5="crypto",a0="client_ed25519_seed",z5=Y.ONE_DAY,k5="keychain",j5="0.3",K5="messages",V5="0.3",f0=Y.SIX_HOURS,H5="publisher",c0="irn",W5="error",h0="wss://relay.walletconnect.org",G5="relayer",Pt={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"},J5="_subscription",Dr={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},Y5=.1,hc="2.18.0-rc-1",ht={link_mode:"link_mode",relay:"relay"},X5="0.3",Z5="WALLETCONNECT_CLIENT_ID",u0="WALLETCONNECT_LINK_MODE_APPS",vr={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},Q5="subscription",e9="0.3",t9=Y.FIVE_SECONDS*1e3,r9="pairing",i9="0.3",qs={wc_pairingDelete:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Y.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:Y.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:0},res:{ttl:Y.ONE_DAY,prompt:!1,tag:0}}},yn={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},Ur={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},n9="history",s9="0.3",o9="expirer",Or={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},a9="0.3",f9="verify-api",c9="https://verify.walletconnect.com",d0="https://verify.walletconnect.org",Us=d0,h9=`${Us}/v3`,u9=[c9,d0],d9="echo",l9="https://echo.walletconnect.com",si={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"},_i={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"},zr={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"},mn={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"},wn={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"},zs={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"},p9=.1,g9="event-client",b9=86400,v9="https://pulse.walletconnect.org/batch";function y9(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var n=0;n<t.length;n++){var s=t.charAt(n),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=n}var a=t.length,c=t.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function y(S){if(S instanceof Uint8Array||(ArrayBuffer.isView(S)?S=new Uint8Array(S.buffer,S.byteOffset,S.byteLength):Array.isArray(S)&&(S=Uint8Array.from(S))),!(S instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(S.length===0)return"";for(var D=0,R=0,$=0,T=S.length;$!==T&&S[$]===0;)$++,D++;for(var C=(T-$)*l+1>>>0,L=new Uint8Array(C);$!==T;){for(var k=S[$],j=0,G=C-1;(k!==0||j<R)&&G!==-1;G--,j++)k+=256*L[G]>>>0,L[G]=k%a>>>0,k=k/a>>>0;if(k!==0)throw new Error("Non-zero carry");R=j,$++}for(var K=C-R;K!==C&&L[K]===0;)K++;for(var V=c.repeat(D);K<C;++K)V+=t.charAt(L[K]);return V}function M(S){if(typeof S!="string")throw new TypeError("Expected String");if(S.length===0)return new Uint8Array;var D=0;if(S[D]!==" "){for(var R=0,$=0;S[D]===c;)R++,D++;for(var T=(S.length-D)*h+1>>>0,C=new Uint8Array(T);S[D];){var L=r[S.charCodeAt(D)];if(L===255)return;for(var k=0,j=T-1;(L!==0||k<$)&&j!==-1;j--,k++)L+=a*C[j]>>>0,C[j]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");$=k,D++}if(S[D]!==" "){for(var G=T-$;G!==T&&C[G]===0;)G++;for(var K=new Uint8Array(R+(T-G)),V=R;G!==T;)K[V++]=C[G++];return K}}}function I(S){var D=M(S);if(D)return D;throw new Error(`Non-${e} character`)}return{encode:y,decodeUnsafe:M,decode:I}}var m9=y9,w9=m9;const l0=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},_9=t=>new TextEncoder().encode(t),x9=t=>new TextDecoder().decode(t);class E9{constructor(e,r,i){this.name=e,this.prefix=r,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class S9{constructor(e,r,i){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.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 p0(this,e)}}class M9{constructor(e){this.decoders=e}or(e){return p0(this,e)}decode(e){const r=e[0],i=this.decoders[r];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 p0=(t,e)=>new M9({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class I9{constructor(e,r,i,n){this.name=e,this.prefix=r,this.baseEncode=i,this.baseDecode=n,this.encoder=new E9(e,r,i),this.decoder=new S9(e,r,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const ra=({name:t,prefix:e,encode:r,decode:i})=>new I9(t,e,r,i),ks=({prefix:t,name:e,alphabet:r})=>{const{encode:i,decode:n}=w9(r,e);return ra({prefix:t,name:e,encode:i,decode:s=>l0(n(s))})},A9=(t,e,r,i)=>{const n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;const o=new Uint8Array(s*r/8|0);let a=0,c=0,h=0;for(let l=0;l<s;++l){const y=n[t[l]];if(y===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<r|y,a+=r,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},D9=(t,e,r)=>{const i=e[e.length-1]==="=",n=(1<<r)-1;let s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[n&a>>o];if(o&&(s+=e[n&a<<r-o]),i)for(;s.length*r&7;)s+="=";return s},Ut=({name:t,prefix:e,bitsPerChar:r,alphabet:i})=>ra({prefix:e,name:t,encode(n){return D9(n,i,r)},decode(n){return A9(n,i,r,t)}}),O9=ra({prefix:"\0",name:"identity",encode:t=>x9(t),decode:t=>_9(t)});var P9=Object.freeze({__proto__:null,identity:O9});const R9=Ut({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var $9=Object.freeze({__proto__:null,base2:R9});const N9=Ut({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var T9=Object.freeze({__proto__:null,base8:N9});const F9=ks({prefix:"9",name:"base10",alphabet:"0123456789"});var C9=Object.freeze({__proto__:null,base10:F9});const B9=Ut({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),L9=Ut({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var q9=Object.freeze({__proto__:null,base16:B9,base16upper:L9});const U9=Ut({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),z9=Ut({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),k9=Ut({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),j9=Ut({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),K9=Ut({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),V9=Ut({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),H9=Ut({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),W9=Ut({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),G9=Ut({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var J9=Object.freeze({__proto__:null,base32:U9,base32upper:z9,base32pad:k9,base32padupper:j9,base32hex:K9,base32hexupper:V9,base32hexpad:H9,base32hexpadupper:W9,base32z:G9});const Y9=ks({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),X9=ks({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Z9=Object.freeze({__proto__:null,base36:Y9,base36upper:X9});const Q9=ks({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),e7=ks({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var t7=Object.freeze({__proto__:null,base58btc:Q9,base58flickr:e7});const r7=Ut({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),i7=Ut({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),n7=Ut({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),s7=Ut({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var o7=Object.freeze({__proto__:null,base64:r7,base64pad:i7,base64url:n7,base64urlpad:s7});const g0=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),a7=g0.reduce((t,e,r)=>(t[r]=e,t),[]),f7=g0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function c7(t){return t.reduce((e,r)=>(e+=a7[r],e),"")}function h7(t){const e=[];for(const r of t){const i=f7[r.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(i)}return new Uint8Array(e)}const u7=ra({prefix:"\u{1F680}",name:"base256emoji",encode:c7,decode:h7});var d7=Object.freeze({__proto__:null,base256emoji:u7}),l7=v0,b0=128,p7=127,g7=~p7,b7=Math.pow(2,31);function v0(t,e,r){e=e||[],r=r||0;for(var i=r;t>=b7;)e[r++]=t&255|b0,t/=128;for(;t&g7;)e[r++]=t&255|b0,t>>>=7;return e[r]=t|0,v0.bytes=r-i+1,e}var v7=uc,y7=128,y0=127;function uc(t,i){var r=0,i=i||0,n=0,s=i,o,a=t.length;do{if(s>=a)throw uc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=n<28?(o&y0)<<n:(o&y0)*Math.pow(2,n),n+=7}while(o>=y7);return uc.bytes=s-i,r}var m7=Math.pow(2,7),w7=Math.pow(2,14),_7=Math.pow(2,21),x7=Math.pow(2,28),E7=Math.pow(2,35),S7=Math.pow(2,42),M7=Math.pow(2,49),I7=Math.pow(2,56),A7=Math.pow(2,63),D7=function(t){return t<m7?1:t<w7?2:t<_7?3:t<x7?4:t<E7?5:t<S7?6:t<M7?7:t<I7?8:t<A7?9:10},O7={encode:l7,decode:v7,encodingLength:D7},m0=O7;const w0=(t,e,r=0)=>(m0.encode(t,e,r),e),_0=t=>m0.encodingLength(t),dc=(t,e)=>{const r=e.byteLength,i=_0(t),n=i+_0(r),s=new Uint8Array(n+r);return w0(t,s,0),w0(r,s,i),s.set(e,n),new P7(t,r,e,s)};class P7{constructor(e,r,i,n){this.code=e,this.size=r,this.digest=i,this.bytes=n}}const x0=({name:t,code:e,encode:r})=>new R7(t,e,r);class R7{constructor(e,r,i){this.name=e,this.code=r,this.encode=i}digest(e){if(e instanceof Uint8Array){const r=this.encode(e);return r instanceof Uint8Array?dc(this.code,r):r.then(i=>dc(this.code,i))}else throw Error("Unknown type, must be binary type")}}const E0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),$7=x0({name:"sha2-256",code:18,encode:E0("SHA-256")}),N7=x0({name:"sha2-512",code:19,encode:E0("SHA-512")});var T7=Object.freeze({__proto__:null,sha256:$7,sha512:N7});const S0=0,F7="identity",M0=l0;var C7=Object.freeze({__proto__:null,identity:{code:S0,name:F7,encode:M0,digest:t=>dc(S0,M0(t))}});new TextEncoder,new TextDecoder;const I0={...P9,...$9,...T9,...C9,...q9,...J9,...Z9,...t7,...o7,...d7};({...T7,...C7});function B7(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(t):new Uint8Array(t)}function A0(t,e,r,i){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:i}}}const D0=A0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),lc=A0("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);const e=B7(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),L7={utf8:D0,"utf-8":D0,hex:I0.base16,latin1:lc,ascii:lc,binary:lc,...I0};function q7(t,e="utf8"){const r=L7[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t,"utf8"):r.decoder.decode(`${r.prefix}${t}`)}class U7{constructor(e,r){this.core=e,this.logger=r,this.keychain=new Map,this.name=k5,this.version=j5,this.initialized=!1,this.storagePrefix=ni,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:s}=Z("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(s)}return n},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=Jt(r,this.name)}get context(){return tr(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Bd(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Ld(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}class z7{constructor(e,r,i){this.core=e,this.logger=r,this.name=U5,this.randomSessionIdentifier=Zf(),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(),s=Zh(n);return Xh(s.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const n=X4();return this.setPrivateKey(n.publicKey,n.privateKey)},this.signJWT=async n=>{this.isInitialized();const s=await this.getClientSeed(),o=Zh(s),a=this.randomSessionIdentifier;return await oy(a,n,z5,o)},this.generateSharedKey=(n,s,o)=>{this.isInitialized();const a=this.getPrivateKey(n),c=Z4(a,s);return this.setSymKey(c,o)},this.setSymKey=async(n,s)=>{this.isInitialized();const o=s||Go(n);return await this.keychain.set(o,n),o},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,s,o)=>{this.isInitialized();const a=Fl(o),c=tn(s);if(Bl(a))return t8(c,o?.encoding);if(Cl(a)){const M=a.senderPublicKey,I=a.receiverPublicKey;n=await this.generateSharedKey(M,I)}const h=this.getSymKey(n),{type:l,senderPublicKey:y}=a;return Q4({type:l,symKey:h,message:c,senderPublicKey:y,encoding:o?.encoding})},this.decode=async(n,s,o)=>{this.isInitialized();const a=i8(s,o);if(Bl(a)){const c=r8(s,o?.encoding);return An(c)}if(Cl(a)){const c=a.receiverPublicKey,h=a.senderPublicKey;n=await this.generateSharedKey(c,h)}try{const c=this.getSymKey(n),h=e8({symKey:c,encoded:s,encoding:o?.encoding});return An(h)}catch(c){this.logger.error(`Failed to decode message from topic: '${n}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}},this.getPayloadType=(n,s=Gi)=>{const o=Ts({encoded:n,encoding:s});return gn(o.type)},this.getPayloadSenderPublicKey=(n,s=Gi)=>{const o=Ts({encoded:n,encoding:s});return o.senderPublicKey?Zt(o.senderPublicKey,Ht):void 0},this.core=e,this.logger=Jt(r,this.name),this.keychain=i||new U7(this.core,this.logger)}get context(){return tr(this.logger)}async setPrivateKey(e,r){return await this.keychain.set(e,r),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(a0)}catch{e=Zf(),await this.keychain.set(a0,e)}return q7(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}class k7 extends ag{constructor(e,r){super(e,r),this.logger=e,this.core=r,this.messages=new Map,this.name=K5,this.version=V5,this.initialized=!1,this.storagePrefix=ni,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 s=vi(n);let o=this.messages.get(i);return typeof o>"u"&&(o={}),typeof o[s]<"u"||(o[s]=n,this.messages.set(i,o),await this.persist()),s},this.get=i=>{this.isInitialized();let n=this.messages.get(i);return typeof n>"u"&&(n={}),n},this.has=(i,n)=>{this.isInitialized();const s=this.get(i),o=vi(n);return typeof s[o]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=Jt(e,this.name),this.core=r}get context(){return tr(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Bd(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Ld(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}var j7=Object.defineProperty,K7=Object.defineProperties,V7=Object.getOwnPropertyDescriptors,O0=Object.getOwnPropertySymbols,H7=Object.prototype.hasOwnProperty,W7=Object.prototype.propertyIsEnumerable,P0=(t,e,r)=>e in t?j7(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,R0=(t,e)=>{for(var r in e||(e={}))H7.call(e,r)&&P0(t,r,e[r]);if(O0)for(var r of O0(e))W7.call(e,r)&&P0(t,r,e[r]);return t},$0=(t,e)=>K7(t,V7(e));class G7 extends fg{constructor(e,r){super(e,r),this.relayer=e,this.logger=r,this.events=new jt.exports.EventEmitter,this.name=H5,this.queue=new Map,this.publishTimeout=Y.toMiliseconds(Y.ONE_MINUTE),this.initialPublishTimeout=Y.toMiliseconds(Y.ONE_SECOND*15),this.needsTransportRestart=!1,this.publish=async(i,n,s)=>{var o;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:s}});const a=s?.ttl||f0,c=Jo(s),h=s?.prompt||!1,l=s?.tag||0,y=s?.id||bn().toString(),M={topic:i,message:n,opts:{ttl:a,relay:c,prompt:h,tag:l,id:y,attestation:s?.attestation}},I=`Failed to publish payload, please try again. id:${y} tag:${l}`;try{const S=new Promise(async D=>{const R=({id:T})=>{M.opts.id===T&&(this.removeRequestFromQueue(T),this.relayer.events.removeListener(Pt.publish,R),D(M))};this.relayer.events.on(Pt.publish,R);const $=ji(new Promise((T,C)=>{this.rpcPublish({topic:i,message:n,ttl:a,prompt:h,tag:l,id:y,attestation:s?.attestation}).then(T).catch(L=>{this.logger.warn(L,L?.message),C(L)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${y} tag:${l}`);try{await $,this.events.removeListener(Pt.publish,R)}catch(T){this.queue.set(y,$0(R0({},M),{attempt:1})),this.logger.warn(T,T?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:y,topic:i,message:n,opts:s}}),await ji(S,this.publishTimeout,I)}catch(S){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(S),(o=s?.internal)!=null&&o.throwOnFailedPublish)throw S}finally{this.queue.delete(y)}},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=Jt(r,this.name),this.registerEventListeners()}get context(){return tr(this.logger)}async rpcPublish(e){var r,i,n,s;const{topic:o,message:a,ttl:c=f0,prompt:h,tag:l,id:y,attestation:M}=e,I={method:Fs(Jo().protocol).publish,params:{topic:o,message:a,ttl:c,prompt:h,tag:l,attestation:M},id:y};Qt((r=I.params)==null?void 0:r.prompt)&&((i=I.params)==null||delete i.prompt),Qt((n=I.params)==null?void 0:n.tag)&&((s=I.params)==null||delete s.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:I});const S=await this.relayer.request(I);return this.relayer.events.emit(Pt.publish,e),this.logger.debug("Successfully Published Payload"),S}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,r)=>{const i=e.attempt+1;this.queue.set(r,$0(R0({},e),{attempt:i}));const{topic:n,message:s,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish({topic:n,message:s,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a}),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(In.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(Pt.connection_stalled);return}this.checkQueue()}),this.relayer.on(Pt.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class J7{constructor(){this.map=new Map,this.set=(e,r)=>{const i=this.get(e);this.exists(e,r)||this.map.set(e,[...i,r])},this.get=e=>this.map.get(e)||[],this.exists=(e,r)=>this.get(e).includes(r),this.delete=(e,r)=>{if(typeof r>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,r))return;const n=i.filter(s=>s!==r);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 Y7=Object.defineProperty,X7=Object.defineProperties,Z7=Object.getOwnPropertyDescriptors,N0=Object.getOwnPropertySymbols,Q7=Object.prototype.hasOwnProperty,e_=Object.prototype.propertyIsEnumerable,T0=(t,e,r)=>e in t?Y7(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,js=(t,e)=>{for(var r in e||(e={}))Q7.call(e,r)&&T0(t,r,e[r]);if(N0)for(var r of N0(e))e_.call(e,r)&&T0(t,r,e[r]);return t},pc=(t,e)=>X7(t,Z7(e));class t_ extends ug{constructor(e,r){super(e,r),this.relayer=e,this.logger=r,this.subscriptions=new Map,this.topicMap=new J7,this.events=new jt.exports.EventEmitter,this.name=Q5,this.version=e9,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=ni,this.subscribeTimeout=Y.toMiliseconds(Y.ONE_MINUTE),this.initialSubscribeTimeout=Y.toMiliseconds(Y.ONE_SECOND*15),this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId(),await this.restore()),this.initialized=!0},this.subscribe=async(i,n)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}});try{const s=Jo(n),o={topic:i,relay:s,transportType:n?.transportType};this.pending.set(i,o);const a=await this.rpcSubscribe(i,s,n);return typeof a=="string"&&(this.onSubscribe(a,o),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}})),a}catch(s){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(s),s}},this.unsubscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),typeof 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((s,o)=>{const a=new Y.Watch;a.start(n);const c=setInterval(()=>{(!this.pending.has(i)&&this.topics.includes(i)||this.cached.some(h=>h.topic===i))&&(clearInterval(c),a.stop(n),s(!0)),a.elapsed(n)>=t9&&(clearInterval(c),a.stop(n),o(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()=>{await this.restore(),await this.onRestart()},this.checkPending=async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(n=>{i.push(n)}),await this.batchSubscribe(i)},this.registerEventListeners=()=>{this.relayer.core.heartbeat.on(In.pulse,async()=>{await this.checkPending()}),this.events.on(vr.created,async i=>{const n=vr.created;this.logger.info(`Emitting ${n}`),this.logger.debug({type:"event",event:n,data:i}),await this.persist()}),this.events.on(vr.deleted,async i=>{const n=vr.deleted;this.logger.info(`Emitting ${n}`),this.logger.debug({type:"event",event:n,data:i}),await this.persist()})},this.relayer=e,this.logger=Jt(r,this.name),this.clientId=""}get context(){return tr(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,r){let i=!1;try{i=this.getSubscription(e).topic===r}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,r){const i=this.topicMap.get(e);await Promise.all(i.map(async n=>await this.unsubscribeById(e,n,r)))}async unsubscribeById(e,r,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:r,opts:i}});try{const n=Jo(i);await this.rpcUnsubscribe(e,r,n);const s=ct("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,r,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:r,opts:i}})}catch(n){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(n),n}}async rpcSubscribe(e,r,i){var n;i?.transportType===ht.relay&&await this.restartToComplete();const s={method:Fs(r.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});const o=(n=i?.internal)==null?void 0:n.throwOnFailedPublish;try{const a=this.getSubscriptionId(e);if(i?.transportType===ht.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(s).catch(l=>this.logger.warn(l))},Y.toMiliseconds(Y.ONE_SECOND)),a;const c=new Promise(async l=>{const y=M=>{M.topic===e&&(this.events.removeListener(vr.created,y),l(M.id))};this.events.on(vr.created,y);try{const M=await ji(new Promise((I,S)=>{this.relayer.request(s).catch(D=>{this.logger.warn(D,D?.message),S(D)}).then(I)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(vr.created,y),l(M)}catch{}}),h=await ji(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!h&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return h?a:null}catch(a){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(Pt.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const r=e[0].relay,i={method:Fs(r.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{await await ji(new Promise(n=>{this.relayer.request(i).catch(s=>this.logger.warn(s)).then(n)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(Pt.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const r=e[0].relay,i={method:Fs(r.protocol).batchFetchMessages,params:{topics:e.map(s=>s.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});let n;try{n=await await ji(new Promise((s,o)=>{this.relayer.request(i).catch(a=>{this.logger.warn(a),o(a)}).then(s)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(Pt.connection_stalled)}return n}rpcUnsubscribe(e,r,i){const n={method:Fs(i.protocol).unsubscribe,params:{topic:e,id:r}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n}),this.relayer.request(n)}onSubscribe(e,r){this.setSubscription(e,pc(js({},r),{id:e})),this.pending.delete(r.topic)}onBatchSubscribe(e){e.length&&e.forEach(r=>{this.setSubscription(r.id,js({},r)),this.pending.delete(r.topic)})}async onUnsubscribe(e,r,i){this.events.removeAllListeners(r),this.hasSubscription(r,e)&&this.deleteSubscription(r,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,r){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:r}),this.addSubscription(e,r)}addSubscription(e,r){this.subscriptions.set(e,js({},r)),this.topicMap.set(r.topic,e),this.events.emit(vr.created,r)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const r=this.subscriptions.get(e);if(!r){const{message:i}=Z("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return r}deleteSubscription(e,r){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:r});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(vr.deleted,pc(js({},i),{reason:r}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(vr.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],r=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<r;i++){const n=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(n)}}this.events.emit(vr.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:r}=Z("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(r)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(e.map(r=>pc(js({},r),{id:this.getSubscriptionId(r.topic)}))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const r=await this.rpcBatchFetchMessages(e);r&&r.messages&&(await l6(Y.toMiliseconds(Y.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(r.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){!this.relayer.connected&&!this.relayer.connecting&&await this.relayer.transportOpen()}getSubscriptionId(e){return vi(e+this.clientId)}}var r_=Object.defineProperty,F0=Object.getOwnPropertySymbols,i_=Object.prototype.hasOwnProperty,n_=Object.prototype.propertyIsEnumerable,C0=(t,e,r)=>e in t?r_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,B0=(t,e)=>{for(var r in e||(e={}))i_.call(e,r)&&C0(t,r,e[r]);if(F0)for(var r of F0(e))n_.call(e,r)&&C0(t,r,e[r]);return t};class s_ extends cg{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new jt.exports.EventEmitter,this.name=G5,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1,this.heartBeatTimeout=Y.toMiliseconds(Y.THIRTY_SECONDS+Y.FIVE_SECONDS),this.requestsInFlight=[],this.connectTimeout=Y.toMiliseconds(Y.ONE_SECOND*15),this.request=async r=>{var i,n;this.logger.debug("Publishing Request Payload");const s=r.id||bn().toString();await this.toEstablishConnection();try{this.logger.trace({id:s,method:r.method,topic:(i=r.params)==null?void 0:i.topic},"relayer.request - publishing...");const o=`${s}:${((n=r.params)==null?void 0:n.tag)||""}`;this.requestsInFlight.push(o);const a=await this.provider.request(r);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${s}`),o}},this.resetPingTimeout=()=>{if(Uo())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var r,i,n;this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(n=(i=(r=this.provider)==null?void 0:r.connection)==null?void 0:i.socket)==null||n.terminate()},this.heartBeatTimeout)}catch(r){this.logger.warn(r,r?.message)}},this.onPayloadHandler=r=>{this.onProviderPayload(r),this.resetPingTimeout()},this.onConnectHandler=()=>{this.logger.warn({},"Relayer connected \u{1F6DC}"),this.startPingTimeout(),this.events.emit(Pt.connect)},this.onDisconnectHandler=()=>{this.logger.warn({},"Relayer disconnected \u{1F6D1}"),this.requestsInFlight=[],this.onProviderDisconnect()},this.onProviderErrorHandler=r=>{this.logger.fatal(r,`Fatal socket error: ${r?.message}`),this.events.emit(Pt.error,r),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(Dr.payload,this.onPayloadHandler),this.provider.on(Dr.connect,this.onConnectHandler),this.provider.on(Dr.disconnect,this.onDisconnectHandler),this.provider.on(Dr.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?Jt(e.logger,this.name):ai(Ia({level:e.logger||W5})),this.messages=new k7(this.logger,e.core),this.subscriber=new t_(this,this.logger),this.publisher=new G7(this,this.logger),this.relayUrl=e?.relayUrl||h0,this.projectId=e.projectId,Xw()?this.packageName=Td():Zw()&&(this.bundleId=Td()),this.provider={}}async init(){if(this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.cached.length>0)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return tr(this.logger)}get connected(){var e,r,i;return((i=(r=(e=this.provider)==null?void 0:e.connection)==null?void 0:r.socket)==null?void 0:i.readyState)===1}get connecting(){var e,r,i;return((i=(r=(e=this.provider)==null?void 0:e.connection)==null?void 0:r.socket)==null?void 0:i.readyState)===0}async publish(e,r,i){this.isInitialized(),await this.publisher.publish(e,r,i),await this.recordMessageEvent({topic:e,message:r,publishedAt:Date.now(),transportType:ht.relay})}async subscribe(e,r){var i,n,s;this.isInitialized(),(!(r!=null&&r.transportType)||r?.transportType==="relay")&&await this.toEstablishConnection();const o=typeof((i=r?.internal)==null?void 0:i.throwOnFailedPublish)>"u"?!0:(n=r?.internal)==null?void 0:n.throwOnFailedPublish;let a=((s=this.subscriber.topicMap.get(e))==null?void 0:s[0])||"",c;const h=l=>{l.topic===e&&(this.subscriber.off(vr.created,h),c())};return await Promise.all([new Promise(l=>{c=l,this.subscriber.on(vr.created,h)}),new Promise(async(l,y)=>{a=await this.subscriber.subscribe(e,B0({internal:{throwOnFailedPublish:o}},r)).catch(M=>{o&&y(M)})||a,l()})]),a}async unsubscribe(e,r){this.isInitialized(),await this.subscriber.unsubscribe(e,r)}on(e,r){this.events.on(e,r)}once(e,r){this.events.once(e,r)}off(e,r){this.events.off(e,r)}removeListener(e,r){this.events.removeListener(e,r)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await ji(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(r,i)=>{await this.connect(e).then(r).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await Wl())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const r=e.sort((i,n)=>i.publishedAt-n.publishedAt);this.logger.debug(`Batch of ${r.length} message events sorted`);for(const i of r)try{await this.onMessageEvent(i)}catch(n){this.logger.warn(n,"Error while processing batch message event: "+n?.message)}this.logger.trace(`Batch of ${r.length} message events processed`)}async onLinkMessageEvent(e,r){const{topic:i}=e;if(!r.sessionExists){const n=Et(Y.FIVE_MINUTES),s={topic:i,expiry:n,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(i,s)}this.events.emit(Pt.message,e),await this.recordMessageEvent(e)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let r=1;for(;r<6;){try{this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${r}...`),await this.createProvider(),await new Promise(async(i,n)=>{const s=()=>{n(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Dr.disconnect,s),await ji(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{n(o)}).finally(()=>{this.provider.off(Dr.disconnect,s),clearTimeout(this.reconnectTimeout),this.reconnectTimeout=void 0}),await new Promise(async(o,a)=>{const c=()=>{a(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Dr.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(Dr.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const n=i;this.logger.warn({},n.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${r}`);break}await new Promise(i=>setTimeout(i,Y.toMiliseconds(r*1))),r++}}startPingTimeout(){var e,r,i,n,s;if(Uo())try{(r=(e=this.provider)==null?void 0:e.connection)!=null&&r.socket&&((s=(n=(i=this.provider)==null?void 0:i.connection)==null?void 0:n.socket)==null||s.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new $5(new C5(r6({sdkVersion:hc,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:r,message:i}=e;await this.messages.set(r,i)}async shouldIgnoreMessageEvent(e){const{topic:r,message:i}=e;if(!i||i.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(r))return this.logger.warn(`Ignoring message for non-subscribed topic ${r}`),!0;const n=this.messages.has(r,i);return n&&this.logger.warn(`Ignoring duplicate message: ${i}`),n}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),fc(e)){if(!e.method.endsWith(J5))return;const r=e.params,{topic:i,message:n,publishedAt:s,attestation:o}=r.data,a={topic:i,message:n,publishedAt:s,transportType:ht.relay,attestation:o};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(B0({type:"event",event:r.id},a)),this.events.emit(r.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else ea(e)&&this.events.emit(Pt.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(Pt.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const r=oc(e.id,!0);await this.provider.connection.send(r)}unregisterProviderListeners(){this.provider.off(Dr.payload,this.onPayloadHandler),this.provider.off(Dr.connect,this.onConnectHandler),this.provider.off(Dr.disconnect,this.onDisconnectHandler),this.provider.off(Dr.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await Wl();K8(async r=>{e!==r&&(e=r,r?await this.transportOpen().catch(i=>this.logger.error(i,i?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){await this.subscriber.stop(),clearTimeout(this.pingTimeout),this.events.emit(Pt.disconnect),this.connectionAttemptInProgress=!1,!this.transportExplicitlyClosed&&(this.reconnectTimeout||this.connectPromise||(this.reconnectTimeout=setTimeout(async()=>{clearTimeout(this.reconnectTimeout),await this.transportOpen().catch(e=>this.logger.error(e,e?.message))},Y.toMiliseconds(Y5))))}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.transportOpen()}}var o_=Object.defineProperty,L0=Object.getOwnPropertySymbols,a_=Object.prototype.hasOwnProperty,f_=Object.prototype.propertyIsEnumerable,q0=(t,e,r)=>e in t?o_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,U0=(t,e)=>{for(var r in e||(e={}))a_.call(e,r)&&q0(t,r,e[r]);if(L0)for(var r of L0(e))f_.call(e,r)&&q0(t,r,e[r]);return t};class _n extends hg{constructor(e,r,i,n=ni,s=void 0){super(e,r,i,n),this.core=e,this.logger=r,this.name=i,this.map=new Map,this.version=X5,this.cached=[],this.initialized=!1,this.storagePrefix=ni,this.recentlyDeleted=[],this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!Qt(o)?this.map.set(this.getKey(o),o):_8(o)?this.map.set(o.id,o):x8(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>B5(a[c],o[c]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const c=U0(U0({},this.getData(o)),a);this.map.set(o,c),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())},this.logger=Jt(r,this.name),this.storagePrefix=n,this.getKey=s}get context(){return tr(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 r=this.map.get(e);if(!r){if(this.recentlyDeleted.includes(e)){const{message:n}=Z("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}const{message:i}=Z("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return r}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:r}=Z("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),new Error(r)}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}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}class c_{constructor(e,r){this.core=e,this.logger=r,this.name=r9,this.version=i9,this.events=new jt.exports,this.initialized=!1,this.storagePrefix=ni,this.ignoredPayloadTypes=[bi],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=Zf(),s=await this.core.crypto.setSymKey(n),o=Et(Y.FIVE_MINUTES),a={protocol:c0},c={topic:s,expiry:o,relay:a,active:!1,methods:i?.methods},h=ql({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:n,relay:a,expiryTimestamp:o,methods:i?.methods});return this.events.emit(yn.create,c),this.core.expirer.set(s,o),await this.pairings.set(s,c),await this.core.relayer.subscribe(s,{transportType:i?.transportType}),{topic:s,uri:h}},this.pair=async i=>{this.isInitialized();const n=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[si.pairing_started]}});this.isValidPair(i,n);const{topic:s,symKey:o,relay:a,expiryTimestamp:c,methods:h}=Ll(i.uri);n.props.properties.topic=s,n.addTrace(si.pairing_uri_validation_success),n.addTrace(si.pairing_uri_not_expired);let l;if(this.pairings.keys.includes(s)){if(l=this.pairings.get(s),n.addTrace(si.existing_pairing),l.active)throw n.setError(_i.active_pairing_already_exists),new Error(`Pairing already exists: ${s}. Please try again with a new connection URI.`);n.addTrace(si.pairing_not_expired)}const y=c||Et(Y.FIVE_MINUTES),M={topic:s,relay:a,expiry:y,active:!1,methods:h};this.core.expirer.set(s,y),await this.pairings.set(s,M),n.addTrace(si.store_new_pairing),i.activatePairing&&await this.activate({topic:s}),this.events.emit(yn.create,M),n.addTrace(si.emit_inactive_pairing),this.core.crypto.keychain.has(s)||await this.core.crypto.setSymKey(o,s),n.addTrace(si.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{n.setError(_i.no_internet_connection)}try{await this.core.relayer.subscribe(s,{relay:a})}catch(I){throw n.setError(_i.subscribe_pairing_topic_failure),I}return n.addTrace(si.subscribe_pairing_topic_success),M},this.activate=async({topic:i})=>{this.isInitialized();const n=Et(Y.FIVE_MINUTES);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),this.logger.warn("ping() is deprecated and will be removed in the next major release.");const{topic:n}=i;if(this.pairings.keys.includes(n)){const s=await this.sendRequest(n,"wc_pairingPing",{}),{done:o,resolve:a,reject:c}=ln();this.events.once(Se("pairing_ping",s),({error:h})=>{h?c(h):a()}),await o()}},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",ct("USER_DISCONNECTED")),await this.deletePairing(n))},this.formatUriFromPairing=i=>{this.isInitialized();const{topic:n,relay:s,expiry:o,methods:a}=i,c=this.core.crypto.keychain.get(n);return ql({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:c,relay:s,expiryTimestamp:o,methods:a})},this.sendRequest=async(i,n,s)=>{const o=vn(n,s),a=await this.core.crypto.encode(i,o),c=qs[n].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,c),o.id},this.sendResult=async(i,n,s)=>{const o=oc(i,s),a=await this.core.crypto.encode(n,o),c=await this.core.history.get(n,i),h=qs[c.request.method].res;await this.core.relayer.publish(n,a,h),await this.core.history.resolve(o)},this.sendError=async(i,n,s)=>{const o=ac(i,s),a=await this.core.crypto.encode(n,o),c=await this.core.history.get(n,i),h=qs[c.request.method]?qs[c.request.method].res:qs.unregistered_method.res;await this.core.relayer.publish(n,a,h),await this.core.history.resolve(o)},this.deletePairing=async(i,n)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,ct("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=>Ki(n.expiry));await Promise.all(i.map(n=>this.deletePairing(n.topic)))},this.onRelayEventRequest=i=>{const{topic:n,payload:s}=i;switch(s.method){case"wc_pairingPing":return this.onPairingPingRequest(n,s);case"wc_pairingDelete":return this.onPairingDeleteRequest(n,s);default:return this.onUnknownRpcMethodRequest(n,s)}},this.onRelayEventResponse=async i=>{const{topic:n,payload:s}=i,o=(await this.core.history.get(n,s.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(n,s);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(i,n)=>{const{id:s}=n;try{this.isValidPing({topic:i}),await this.sendResult(s,i,!0),this.events.emit(yn.ping,{id:s,topic:i})}catch(o){await this.sendError(s,i,o),this.logger.error(o)}},this.onPairingPingResponse=(i,n)=>{const{id:s}=n;setTimeout(()=>{ii(n)?this.events.emit(Se("pairing_ping",s),{}):Ar(n)&&this.events.emit(Se("pairing_ping",s),{error:n.error})},500)},this.onPairingDeleteRequest=async(i,n)=>{const{id:s}=n;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(yn.delete,{id:s,topic:i})}catch(o){await this.sendError(s,i,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(i,n)=>{const{id:s,method:o}=n;try{if(this.registeredMethods.includes(o))return;const a=ct("WC_METHOD_UNSUPPORTED",o);await this.sendError(s,i,a),this.logger.error(a)}catch(a){await this.sendError(s,i,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(ct("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=(i,n)=>{var s;if(!or(i)){const{message:a}=Z("MISSING_OR_INVALID",`pair() params: ${i}`);throw n.setError(_i.malformed_pairing_uri),new Error(a)}if(!w8(i.uri)){const{message:a}=Z("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw n.setError(_i.malformed_pairing_uri),new Error(a)}const o=Ll(i?.uri);if(!((s=o?.relay)!=null&&s.protocol)){const{message:a}=Z("MISSING_OR_INVALID","pair() uri#relay-protocol");throw n.setError(_i.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=Z("MISSING_OR_INVALID","pair() uri#symKey");throw n.setError(_i.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&Y.toMiliseconds(o?.expiryTimestamp)<Date.now()){n.setError(_i.pairing_expired);const{message:a}=Z("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(a)}},this.isValidPing=async i=>{if(!or(i)){const{message:s}=Z("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(s)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidDisconnect=async i=>{if(!or(i)){const{message:s}=Z("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(s)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidPairingTopic=async i=>{if(!mt(i,!1)){const{message:n}=Z("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(n)}if(!this.pairings.keys.includes(i)){const{message:n}=Z("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(n)}if(Ki(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:n}=Z("EXPIRED",`pairing topic: ${i}`);throw new Error(n)}},this.core=e,this.logger=Jt(r,this.name),this.pairings=new _n(this.core,this.logger,this.name,this.storagePrefix)}get context(){return tr(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(Pt.message,async e=>{const{topic:r,message:i,transportType:n}=e;if(!this.pairings.keys.includes(r)||n===ht.link_mode||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const s=await this.core.crypto.decode(r,i);try{fc(s)?(this.core.history.set(r,s),this.onRelayEventRequest({topic:r,payload:s})):ea(s)&&(await this.core.history.resolve(s),await this.onRelayEventResponse({topic:r,payload:s}),this.core.history.delete(r,s.id))}catch(o){this.logger.error(o)}})}registerExpirerEvents(){this.core.expirer.on(Or.expired,async e=>{const{topic:r}=Ud(e.target);r&&this.pairings.keys.includes(r)&&(await this.deletePairing(r,!0),this.events.emit(yn.expire,{topic:r}))})}}class h_ extends og{constructor(e,r){super(e,r),this.core=e,this.logger=r,this.records=new Map,this.events=new jt.exports.EventEmitter,this.name=n9,this.version=s9,this.cached=[],this.initialized=!1,this.storagePrefix=ni,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,s)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:n,chainId:s}),this.records.has(n.id))return;const o={id:n.id,topic:i,request:{method:n.method,params:n.params||null},chainId:s,expiry:Et(Y.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(Ur.created,o)},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=Ar(i)?{error:i.error}:{result:i.result},this.records.set(n.id,n),this.persist(),this.events.emit(Ur.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(s=>{if(s.topic===i){if(typeof n<"u"&&s.id!==n)return;this.records.delete(s.id),this.events.emit(Ur.deleted,s)}}),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=Jt(r,this.name)}get context(){return tr(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(r=>{if(typeof r.response<"u")return;const i={topic:r.topic,request:vn(r.request.method,r.request.params,r.id),chainId:r.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 r=this.records.get(e);if(!r){const{message:i}=Z("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return r}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(Ur.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:r}=Z("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),new Error(r)}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(Ur.created,e=>{const r=Ur.created;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,record:e})}),this.events.on(Ur.updated,e=>{const r=Ur.updated;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,record:e})}),this.events.on(Ur.deleted,e=>{const r=Ur.deleted;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,record:e})}),this.core.heartbeat.on(In.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(r=>{Y.toMiliseconds(r.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${r.id}`),this.records.delete(r.id),this.events.emit(Ur.deleted,r,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}class u_ extends dg{constructor(e,r){super(e,r),this.core=e,this.logger=r,this.expirations=new Map,this.events=new jt.exports.EventEmitter,this.name=o9,this.version=a9,this.cached=[],this.initialized=!1,this.storagePrefix=ni,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 s=this.formatTarget(i),o={target:s,expiry:n};this.expirations.set(s,o),this.checkExpiry(s,o),this.events.emit(Or.created,{target:s,expiration:o})},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),s=this.getExpiration(n);this.expirations.delete(n),this.events.emit(Or.deleted,{target:n,expiration:s})}},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=Jt(r,this.name)}get context(){return tr(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 i6(e);if(typeof e=="number")return n6(e);const{message:r}=Z("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(r)}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(Or.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:r}=Z("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),new Error(r)}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 r=this.expirations.get(e);if(!r){const{message:i}=Z("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return r}checkExpiry(e,r){const{expiry:i}=r;Y.toMiliseconds(i)-Date.now()<=0&&this.expire(e,r)}expire(e,r){this.expirations.delete(e),this.events.emit(Or.expired,{target:e,expiration:r})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,r)=>this.checkExpiry(r,e))}registerEventListeners(){this.core.heartbeat.on(In.pulse,()=>this.checkExpirations()),this.events.on(Or.created,e=>{const r=Or.created;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:e}),this.persist()}),this.events.on(Or.expired,e=>{const r=Or.expired;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:e}),this.persist()}),this.events.on(Or.deleted,e=>{const r=Or.deleted;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}class d_ extends lg{constructor(e,r,i){super(e,r,i),this.core=e,this.logger=r,this.store=i,this.name=f9,this.verifyUrlV3=h9,this.storagePrefix=ni,this.version=o0,this.init=async()=>{var n;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&Y.toMiliseconds((n=this.publicKey)==null?void 0:n.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))},this.register=async n=>{if(!Ss()||this.isDevEnv)return;const s=window.location.origin,{id:o,decryptedId:a}=n,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${s}&id=${o}&decryptedId=${a}`;try{const h=ds(),l=this.startAbortTimer(Y.ONE_SECOND*5),y=await new Promise((M,I)=>{const S=()=>{window.removeEventListener("message",R),h.body.removeChild(D),I("attestation aborted")};this.abortController.signal.addEventListener("abort",S);const D=h.createElement("iframe");D.src=c,D.style.display="none",D.addEventListener("error",S,{signal:this.abortController.signal});const R=$=>{if($.data&&typeof $.data=="string")try{const T=JSON.parse($.data);if(T.type==="verify_attestation"){if(Wa(T.attestation).payload.id!==o)return;clearInterval(l),h.body.removeChild(D),this.abortController.signal.removeEventListener("abort",S),window.removeEventListener("message",R),M(T.attestation===null?"":T.attestation)}}catch(T){this.logger.warn(T)}};h.body.appendChild(D),window.addEventListener("message",R,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",y),y}catch(h){this.logger.warn(h)}return""},this.resolve=async n=>{if(this.isDevEnv)return"";const{attestationId:s,hash:o,encryptedId:a}=n;if(s===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(s){if(Wa(s).payload.id!==a)return;const h=await this.isValidJwtAttestation(s);if(h){if(!h.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return h}}if(!o)return;const c=this.getVerifyUrl(n?.verifyUrl);return this.fetchAttestation(o,c)},this.fetchAttestation=async(n,s)=>{this.logger.debug(`resolving attestation: ${n} from url: ${s}`);const o=this.startAbortTimer(Y.ONE_SECOND*5),a=await fetch(`${s}/attestation/${n}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0},this.getVerifyUrl=n=>{let s=n||Us;return u9.includes(s)||(this.logger.info(`verify url: ${s}, not included in trusted list, assigning default: ${Us}`),s=Us),s},this.fetchPublicKey=async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const n=this.startAbortTimer(Y.FIVE_SECONDS),s=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(n),await s.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 s=await this.getPublicKey();try{if(s)return this.validateAttestation(n,s)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(n,o)}catch(a){this.logger.error(a),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 s=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),s(o))});const n=await this.fetchPromise;return this.fetchPromise=void 0,n},this.validateAttestation=(n,s)=>{const o=a8(n,s.publicKey),a={hasExpired:Y.toMiliseconds(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}},this.logger=Jt(r,this.name),this.abortController=new AbortController,this.isDevEnv=Nf(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return tr(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),Y.toMiliseconds(e))}}class l_ extends pg{constructor(e,r){super(e,r),this.projectId=e,this.logger=r,this.context=d9,this.registerDeviceToken=async i=>{const{clientId:n,token:s,notificationType:o,enableEncrypted:a=!1}=i,c=`${l9}/${this.projectId}/clients`;await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:n,type:o,token:s,always_raw:a})})},this.logger=Jt(r,this.context)}}var p_=Object.defineProperty,z0=Object.getOwnPropertySymbols,g_=Object.prototype.hasOwnProperty,b_=Object.prototype.propertyIsEnumerable,k0=(t,e,r)=>e in t?p_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ks=(t,e)=>{for(var r in e||(e={}))g_.call(e,r)&&k0(t,r,e[r]);if(z0)for(var r of z0(e))b_.call(e,r)&&k0(t,r,e[r]);return t};class v_ extends gg{constructor(e,r,i=!0){super(e,r,i),this.core=e,this.logger=r,this.context=g9,this.storagePrefix=ni,this.storageVersion=p9,this.events=new Map,this.shouldPersist=!1,this.init=async()=>{if(!Nf())try{const n={eventId:kd(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:Cd(this.core.relayer.protocol,this.core.relayer.version,hc)}}};await this.sendEvent([n])}catch(n){this.logger.warn(n)}},this.createEvent=n=>{const{event:s="ERROR",type:o="",properties:{topic:a,trace:c}}=n,h=kd(),l=this.core.projectId||"",y=Date.now(),M=Ks({eventId:h,timestamp:y,props:{event:s,type:o,properties:{topic:a,trace:c}},bundleId:l,domain:this.getAppDomain()},this.setMethods(h));return this.telemetryEnabled&&(this.events.set(h,M),this.shouldPersist=!0),M},this.getEvent=n=>{const{eventId:s,topic:o}=n;if(s)return this.events.get(s);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return Ks(Ks({},a),this.setMethods(a.eventId))},this.deleteEvent=n=>{const{eventId:s}=n;this.events.delete(s),this.shouldPersist=!0},this.setEventListeners=()=>{this.core.heartbeat.on(In.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(n=>{Y.fromMiliseconds(Date.now())-Y.fromMiliseconds(n.timestamp)>b9&&(this.events.delete(n.eventId),this.shouldPersist=!0)})})},this.setMethods=n=>({addTrace:s=>this.addTrace(n,s),setError:s=>this.setError(n,s)}),this.addTrace=(n,s)=>{const o=this.events.get(n);o&&(o.props.properties.trace.push(s),this.events.set(n,o),this.shouldPersist=!0)},this.setError=(n,s)=>{const o=this.events.get(n);o&&(o.props.type=s,o.timestamp=Date.now(),this.events.set(n,o),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(s=>{this.events.set(s.eventId,Ks(Ks({},s),this.setMethods(s.eventId)))})}catch(n){this.logger.warn(n)}},this.submit=async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const n=[];for(const[s,o]of this.events)o.props.type&&n.push(o);if(n.length!==0)try{if((await this.sendEvent(n)).ok)for(const s of n)this.events.delete(s.eventId),this.shouldPersist=!0}catch(s){this.logger.warn(s)}},this.sendEvent=async n=>{const s=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${v9}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${hc}${s}`,{method:"POST",body:JSON.stringify(n)})},this.getAppDomain=()=>Fd().url,this.logger=Jt(r,this.context),this.telemetryEnabled=i,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 y_=Object.defineProperty,j0=Object.getOwnPropertySymbols,m_=Object.prototype.hasOwnProperty,w_=Object.prototype.propertyIsEnumerable,K0=(t,e,r)=>e in t?y_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,V0=(t,e)=>{for(var r in e||(e={}))m_.call(e,r)&&K0(t,r,e[r]);if(j0)for(var r of j0(e))w_.call(e,r)&&K0(t,r,e[r]);return t};class gc extends sg{constructor(e){var r;super(e),this.protocol=s0,this.version=o0,this.name=ta,this.events=new jt.exports.EventEmitter,this.initialized=!1,this.on=(o,a)=>this.events.on(o,a),this.once=(o,a)=>this.events.once(o,a),this.off=(o,a)=>this.events.off(o,a),this.removeListener=(o,a)=>this.events.removeListener(o,a),this.dispatchEnvelope=({topic:o,message:a,sessionExists:c})=>{if(!o||!a)return;const h={topic:o,message:a,publishedAt:Date.now(),transportType:ht.link_mode};this.relayer.onLinkMessageEvent(h,{sessionExists:c})},this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||h0,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const i=Ia({level:typeof e?.logger=="string"&&e.logger?e.logger:L5.logger,name:ta}),{logger:n,chunkLoggerController:s}=ng({opts:i,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=s,(r=this.logChunkController)!=null&&r.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=Jt(n,this.name),this.heartbeat=new ma,this.crypto=new z7(this,this.logger,e?.keychain),this.history=new h_(this,this.logger),this.expirer=new u_(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new P1(V0(V0({},q5),e?.storageOptions)),this.relayer=new s_({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new c_(this,this.logger),this.verify=new d_(this,this.logger,this.storage),this.echoClient=new l_(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new v_(this,this.logger,e?.telemetryEnabled)}static async init(e){const r=new gc(e);await r.initialize();const i=await r.crypto.getClientId();return await r.storage.setItem(Z5,i),r}get context(){return tr(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 addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(u0,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(u0)||[],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 bc=gc,H0="wc",W0=2,G0="client",vc=`${H0}@${W0}:${G0}:`,yc={name:G0,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.org"},J0="WALLETCONNECT_DEEPLINK_CHOICE",__="proposal",x_="Proposal expired",E_="session",ts=Y.SEVEN_DAYS,S_="engine",Rt={wc_sessionPropose:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1104},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1106},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1112},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1114},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:Y.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:Y.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1119}}},mc={min:Y.FIVE_MINUTES,max:Y.SEVEN_DAYS},oi={idle:"IDLE",active:"ACTIVE"},M_="request",I_=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],A_="wc",D_="auth",O_="authKeys",P_="pairingTopics",R_="requests",ia=`${A_}@${1.5}:${D_}:`,na=`${ia}:PUB_KEY`;var $_=Object.defineProperty,N_=Object.defineProperties,T_=Object.getOwnPropertyDescriptors,Y0=Object.getOwnPropertySymbols,F_=Object.prototype.hasOwnProperty,C_=Object.prototype.propertyIsEnumerable,X0=(t,e,r)=>e in t?$_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,gt=(t,e)=>{for(var r in e||(e={}))F_.call(e,r)&&X0(t,r,e[r]);if(Y0)for(var r of Y0(e))C_.call(e,r)&&X0(t,r,e[r]);return t},kr=(t,e)=>N_(t,T_(e));class B_ extends vg{constructor(e){super(e),this.name=S_,this.events=new jt.exports,this.initialized=!1,this.requestQueue={state:oi.idle,queue:[]},this.sessionRequestQueue={state:oi.idle,queue:[]},this.requestQueueDelay=Y.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(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(Rt)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Y.toMiliseconds(this.requestQueueDelay)))},this.connect=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const i=kr(gt({},r),{requiredNamespaces:r.requiredNamespaces||{},optionalNamespaces:r.optionalNamespaces||{}});await this.isValidConnect(i);const{pairingTopic:n,requiredNamespaces:s,optionalNamespaces:o,sessionProperties:a,relays:c}=i;let h=n,l,y=!1;try{if(h){const L=this.client.core.pairing.pairings.get(h);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),y=L.active}}catch(L){throw this.client.logger.error(`connect() -> pairing.get(${h}) failed`),L}if(!h||!y){const{topic:L,uri:k}=await this.client.core.pairing.create();h=L,l=k}if(!h){const{message:L}=Z("NO_MATCHING_KEY",`connect() pairing topic: ${h}`);throw new Error(L)}const M=await this.client.core.crypto.generateKeyPair(),I=Rt.wc_sessionPropose.req.ttl||Y.FIVE_MINUTES,S=Et(I),D=gt({requiredNamespaces:s,optionalNamespaces:o,relays:c??[{protocol:c0}],proposer:{publicKey:M,metadata:this.client.metadata},expiryTimestamp:S,pairingTopic:h},a&&{sessionProperties:a}),{reject:R,resolve:$,done:T}=ln(I,x_);this.events.once(Se("session_connect"),async({error:L,session:k})=>{if(L)R(L);else if(k){k.self.publicKey=M;const j=kr(gt({},k),{pairingTopic:D.pairingTopic,requiredNamespaces:D.requiredNamespaces,optionalNamespaces:D.optionalNamespaces,transportType:ht.relay});await this.client.session.set(k.topic,j),await this.setExpiry(k.topic,k.expiry),h&&await this.client.core.pairing.updateMetadata({topic:h,metadata:k.peer.metadata}),this.cleanupDuplicatePairings(j),$(j)}});const C=await this.sendRequest({topic:h,method:"wc_sessionPropose",params:D,throwOnFailedPublish:!0});return await this.setProposal(C,gt({id:C},D)),{uri:l,approval:T}},this.pair=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(r)}catch(i){throw this.client.logger.error("pair() failed"),i}},this.approve=async r=>{var i,n,s;const o=this.client.core.eventClient.createEvent({properties:{topic:(i=r?.id)==null?void 0:i.toString(),trace:[zr.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(K){throw o.setError(mn.no_internet_connection),K}try{await this.isValidProposalId(r?.id)}catch(K){throw this.client.logger.error(`approve() -> proposal.get(${r?.id}) failed`),o.setError(mn.proposal_not_found),K}try{await this.isValidApprove(r)}catch(K){throw this.client.logger.error("approve() -> isValidApprove() failed"),o.setError(mn.session_approve_namespace_validation_failure),K}const{id:a,relayProtocol:c,namespaces:h,sessionProperties:l,sessionConfig:y}=r,M=this.client.proposal.get(a);this.client.core.eventClient.deleteEvent({eventId:o.eventId});const{pairingTopic:I,proposer:S,requiredNamespaces:D,optionalNamespaces:R}=M;let $=(n=this.client.core.eventClient)==null?void 0:n.getEvent({topic:I});$||($=(s=this.client.core.eventClient)==null?void 0:s.createEvent({type:zr.session_approve_started,properties:{topic:I,trace:[zr.session_approve_started,zr.session_namespaces_validation_success]}}));const T=await this.client.core.crypto.generateKeyPair(),C=S.publicKey,L=await this.client.core.crypto.generateSharedKey(T,C),k=gt(gt({relay:{protocol:c??"irn"},namespaces:h,controller:{publicKey:T,metadata:this.client.metadata},expiry:Et(ts)},l&&{sessionProperties:l}),y&&{sessionConfig:y}),j=ht.relay;$.addTrace(zr.subscribing_session_topic);try{await this.client.core.relayer.subscribe(L,{transportType:j})}catch(K){throw $.setError(mn.subscribe_session_topic_failure),K}$.addTrace(zr.subscribe_session_topic_success);const G=kr(gt({},k),{topic:L,requiredNamespaces:D,optionalNamespaces:R,pairingTopic:I,acknowledged:!1,self:k.controller,peer:{publicKey:S.publicKey,metadata:S.metadata},controller:T,transportType:ht.relay});await this.client.session.set(L,G),$.addTrace(zr.store_session);try{$.addTrace(zr.publishing_session_settle),await this.sendRequest({topic:L,method:"wc_sessionSettle",params:k,throwOnFailedPublish:!0}).catch(K=>{throw $?.setError(mn.session_settle_publish_failure),K}),$.addTrace(zr.session_settle_publish_success),$.addTrace(zr.publishing_session_approve),await this.sendResult({id:a,topic:I,result:{relay:{protocol:c??"irn"},responderPublicKey:T},throwOnFailedPublish:!0}).catch(K=>{throw $?.setError(mn.session_approve_publish_failure),K}),$.addTrace(zr.session_approve_publish_success)}catch(K){throw this.client.logger.error(K),this.client.session.delete(L,ct("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(L),K}return this.client.core.eventClient.deleteEvent({eventId:$.eventId}),await this.client.core.pairing.updateMetadata({topic:I,metadata:S.metadata}),await this.client.proposal.delete(a,ct("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:I}),await this.setExpiry(L,Et(ts)),{topic:L,acknowledged:()=>Promise.resolve(this.client.session.get(L))}},this.reject=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(r)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:i,reason:n}=r;let s;try{s=this.client.proposal.get(i).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),o}s&&(await this.sendError({id:i,topic:s,error:n,rpcOpts:Rt.wc_sessionPropose.reject}),await this.client.proposal.delete(i,ct("USER_DISCONNECTED")))},this.update=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(r)}catch(y){throw this.client.logger.error("update() -> isValidUpdate() failed"),y}const{topic:i,namespaces:n}=r,{done:s,resolve:o,reject:a}=ln(),c=wi(),h=bn().toString(),l=this.client.session.get(i).namespaces;return this.events.once(Se("session_update",c),({error:y})=>{y?a(y):o()}),await this.client.session.update(i,{namespaces:n}),await this.sendRequest({topic:i,method:"wc_sessionUpdate",params:{namespaces:n},throwOnFailedPublish:!0,clientRpcId:c,relayRpcId:h}).catch(y=>{this.client.logger.error(y),this.client.session.update(i,{namespaces:l}),a(y)}),{acknowledged:s}},this.extend=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(r)}catch(c){throw this.client.logger.error("extend() -> isValidExtend() failed"),c}const{topic:i}=r,n=wi(),{done:s,resolve:o,reject:a}=ln();return this.events.once(Se("session_extend",n),({error:c})=>{c?a(c):o()}),await this.setExpiry(i,Et(ts)),this.sendRequest({topic:i,method:"wc_sessionExtend",params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(c=>{a(c)}),{acknowledged:s}},this.request=async r=>{this.isInitialized();try{await this.isValidRequest(r)}catch(S){throw this.client.logger.error("request() -> isValidRequest() failed"),S}const{chainId:i,request:n,topic:s,expiry:o=Rt.wc_sessionRequest.req.ttl}=r,a=this.client.session.get(s);a?.transportType===ht.relay&&await this.confirmOnlineStateOrThrow();const c=wi(),h=bn().toString(),{done:l,resolve:y,reject:M}=ln(o,"Request expired. Please try again.");this.events.once(Se("session_request",c),({error:S,result:D})=>{S?M(S):y(D)});const I=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);return I?(await this.sendRequest({clientRpcId:c,relayRpcId:h,topic:s,method:"wc_sessionRequest",params:{request:kr(gt({},n),{expiryTimestamp:Et(o)}),chainId:i},expiry:o,throwOnFailedPublish:!0,appLink:I}).catch(S=>M(S)),this.client.events.emit("session_request_sent",{topic:s,request:n,chainId:i,id:c}),await l()):await Promise.all([new Promise(async S=>{await this.sendRequest({clientRpcId:c,relayRpcId:h,topic:s,method:"wc_sessionRequest",params:{request:kr(gt({},n),{expiryTimestamp:Et(o)}),chainId:i},expiry:o,throwOnFailedPublish:!0}).catch(D=>M(D)),this.client.events.emit("session_request_sent",{topic:s,request:n,chainId:i,id:c}),S()}),new Promise(async S=>{var D;if(!((D=a.sessionConfig)!=null&&D.disableDeepLink)){const R=await c6(this.client.core.storage,J0);await o6({id:c,topic:s,wcDeepLink:R})}S()}),l()]).then(S=>S[2])},this.respond=async r=>{this.isInitialized(),await this.isValidRespond(r);const{topic:i,response:n}=r,{id:s}=n,o=this.client.session.get(i);o.transportType===ht.relay&&await this.confirmOnlineStateOrThrow();const a=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);ii(n)?await this.sendResult({id:s,topic:i,result:n.result,throwOnFailedPublish:!0,appLink:a}):Ar(n)&&await this.sendError({id:s,topic:i,error:n.error,appLink:a}),this.cleanupAfterResponse(r)},this.ping=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(r)}catch(n){throw this.client.logger.error("ping() -> isValidPing() failed"),n}const{topic:i}=r;if(this.client.session.keys.includes(i)){const n=wi(),s=bn().toString(),{done:o,resolve:a,reject:c}=ln();this.events.once(Se("session_ping",n),({error:h})=>{h?c(h):a()}),await Promise.all([this.sendRequest({topic:i,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:n,relayRpcId:s}),o()])}else this.client.core.pairing.pairings.keys.includes(i)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:i}))},this.emit=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(r);const{topic:i,event:n,chainId:s}=r,o=bn().toString(),a=wi();await this.sendRequest({topic:i,method:"wc_sessionEvent",params:{event:n,chainId:s},throwOnFailedPublish:!0,relayRpcId:o,clientRpcId:a})},this.disconnect=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(r);const{topic:i}=r;if(this.client.session.keys.includes(i))await this.sendRequest({topic:i,method:"wc_sessionDelete",params:ct("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}=Z("MISMATCHED_TOPIC",`Session or pairing topic not found: ${i}`);throw new Error(n)}},this.find=r=>(this.isInitialized(),this.client.session.getAll().filter(i=>y8(i,r))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.authenticate=async(r,i)=>{var n;this.isInitialized(),this.isValidAuthenticate(r);const s=i&&this.client.core.linkModeSupportedApps.includes(i)&&((n=this.client.metadata.redirect)==null?void 0:n.linkMode),o=s?ht.link_mode:ht.relay;o===ht.relay&&await this.confirmOnlineStateOrThrow();const{chains:a,statement:c="",uri:h,domain:l,nonce:y,type:M,exp:I,nbf:S,methods:D=[],expiry:R}=r,$=[...r.resources||[]],{topic:T,uri:C}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:T,uri:C}});const L=await this.client.core.crypto.generateKeyPair(),k=Go(L);if(await Promise.all([this.client.auth.authKeys.set(na,{responseTopic:k,publicKey:L}),this.client.auth.pairingTopics.set(k,{topic:k,pairingTopic:T})]),await this.client.core.relayer.subscribe(k,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${T}`),D.length>0){const{namespace:E}=qo(a[0]);let w=Z6(E,"request",D);Ko($)&&(w=e4(w,$.pop())),$.push(w)}const j=R&&R>Rt.wc_sessionAuthenticate.req.ttl?R:Rt.wc_sessionAuthenticate.req.ttl,G={authPayload:{type:M??"caip122",chains:a,statement:c,aud:h,domain:l,version:"1",nonce:y,iat:new Date().toISOString(),exp:I,nbf:S,resources:$},requester:{publicKey:L,metadata:this.client.metadata},expiryTimestamp:Et(j)},K={eip155:{chains:a,methods:[...new Set(["personal_sign",...D])],events:["chainChanged","accountsChanged"]}},V={requiredNamespaces:{},optionalNamespaces:K,relays:[{protocol:"irn"}],pairingTopic:T,proposer:{publicKey:L,metadata:this.client.metadata},expiryTimestamp:Et(Rt.wc_sessionPropose.req.ttl)},{done:re,resolve:O,reject:g}=ln(j,"Request expired"),p=async({error:E,session:w})=>{if(this.events.off(Se("session_request",u),f),E)g(E);else if(w){w.self.publicKey=L,await this.client.session.set(w.topic,w),await this.setExpiry(w.topic,w.expiry),T&&await this.client.core.pairing.updateMetadata({topic:T,metadata:w.peer.metadata});const d=this.client.session.get(w.topic);await this.deleteProposal(b),O({session:d})}},f=async E=>{var w,d,m;if(await this.deletePendingAuthRequest(u,{message:"fulfilled",code:0}),E.error){const q=ct("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return E.error.code===q.code?void 0:(this.events.off(Se("session_connect"),p),g(E.error.message))}await this.deleteProposal(b),this.events.off(Se("session_connect"),p);const{cacaos:v,responder:A}=E.result,U=[],x=[];for(const q of v){await il({cacao:q,projectId:this.client.core.projectId})||(this.client.logger.error(q,"Signature verification failed"),g(ct("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:z}=q,J=Ko(z.resources),X=[qf(z.iss)],W=jo(z.iss);if(J){const ne=ol(J),Q=al(J);U.push(...ne),X.push(...Q)}for(const ne of X)x.push(`${ne}:${W}`)}const N=await this.client.core.crypto.generateSharedKey(L,A.publicKey);let B;U.length>0&&(B={topic:N,acknowledged:!0,self:{publicKey:L,metadata:this.client.metadata},peer:A,controller:A.publicKey,expiry:Et(ts),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:T,namespaces:Ul([...new Set(U)],[...new Set(x)]),transportType:o},await this.client.core.relayer.subscribe(N,{transportType:o}),await this.client.session.set(N,B),T&&await this.client.core.pairing.updateMetadata({topic:T,metadata:A.metadata}),B=this.client.session.get(N)),(w=this.client.metadata.redirect)!=null&&w.linkMode&&(d=A.metadata.redirect)!=null&&d.linkMode&&(m=A.metadata.redirect)!=null&&m.universal&&i&&(this.client.core.addLinkModeSupportedApp(A.metadata.redirect.universal),this.client.session.update(N,{transportType:ht.link_mode})),O({auths:v,session:B})},u=wi(),b=wi();this.events.once(Se("session_connect"),p),this.events.once(Se("session_request",u),f);let _;try{if(s){const E=vn("wc_sessionAuthenticate",G,u);this.client.core.history.set(T,E);const w=await this.client.core.crypto.encode("",E,{type:$s,encoding:Ps});_=Yo(i,T,w)}else await Promise.all([this.sendRequest({topic:T,method:"wc_sessionAuthenticate",params:G,expiry:r.expiry,throwOnFailedPublish:!0,clientRpcId:u}),this.sendRequest({topic:T,method:"wc_sessionPropose",params:V,expiry:Rt.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:b})])}catch(E){throw this.events.off(Se("session_connect"),p),this.events.off(Se("session_request",u),f),E}return await this.setProposal(b,gt({id:b},V)),await this.setAuthRequest(u,{request:kr(gt({},G),{verifyContext:{}}),pairingTopic:T,transportType:o}),{uri:_??C,response:re}},this.approveSessionAuthenticate=async r=>{const{id:i,auths:n}=r,s=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[wn.authenticated_session_approve_started]}});try{this.isInitialized()}catch(R){throw s.setError(zs.no_internet_connection),R}const o=this.getPendingAuthRequest(i);if(!o)throw s.setError(zs.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${i}`);const a=o.transportType||ht.relay;a===ht.relay&&await this.confirmOnlineStateOrThrow();const c=o.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),l=Go(c),y={type:bi,receiverPublicKey:c,senderPublicKey:h},M=[],I=[];for(const R of n){if(!await il({cacao:R,projectId:this.client.core.projectId})){s.setError(zs.invalid_cacao);const k=ct("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:l,error:k,encodeOpts:y}),new Error(k.message)}s.addTrace(wn.cacaos_verified);const{p:$}=R,T=Ko($.resources),C=[qf($.iss)],L=jo($.iss);if(T){const k=ol(T),j=al(T);M.push(...k),C.push(...j)}for(const k of C)I.push(`${k}:${L}`)}const S=await this.client.core.crypto.generateSharedKey(h,c);s.addTrace(wn.create_authenticated_session_topic);let D;if(M?.length>0){D={topic:S,acknowledged:!0,self:{publicKey:h,metadata:this.client.metadata},peer:{publicKey:c,metadata:o.requester.metadata},controller:c,expiry:Et(ts),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:o.pairingTopic,namespaces:Ul([...new Set(M)],[...new Set(I)]),transportType:a},s.addTrace(wn.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(S,{transportType:a})}catch(R){throw s.setError(zs.subscribe_authenticated_session_topic_failure),R}s.addTrace(wn.subscribe_authenticated_session_topic_success),await this.client.session.set(S,D),s.addTrace(wn.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:o.pairingTopic,metadata:o.requester.metadata})}s.addTrace(wn.publishing_authenticated_session_approve);try{await this.sendResult({topic:l,id:i,result:{cacaos:n,responder:{publicKey:h,metadata:this.client.metadata}},encodeOpts:y,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(o.requester.metadata,a)})}catch(R){throw s.setError(zs.authenticated_session_approve_publish_failure),R}return await this.client.auth.requests.delete(i,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:o.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:s.eventId}),{session:D}},this.rejectSessionAuthenticate=async r=>{this.isInitialized();const{id:i,reason:n}=r,s=this.getPendingAuthRequest(i);if(!s)throw new Error(`Could not find pending auth request with id ${i}`);s.transportType===ht.relay&&await this.confirmOnlineStateOrThrow();const o=s.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),c=Go(o),h={type:bi,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:i,topic:c,error:n,encodeOpts:h,rpcOpts:Rt.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(s.requester.metadata,s.transportType)}),await this.client.auth.requests.delete(i,{message:"rejected",code:0}),await this.client.proposal.delete(i,ct("USER_DISCONNECTED"))},this.formatAuthMessage=r=>{this.isInitialized();const{request:i,iss:n}=r;return nl(i,n)},this.processRelayMessageCache=()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const r=this.relayMessageCache.shift();r&&await this.onRelayMessage(r)}catch(r){this.client.logger.error(r)}},50)},this.cleanupDuplicatePairings=async r=>{if(r.pairingTopic)try{const i=this.client.core.pairing.pairings.get(r.pairingTopic),n=this.client.core.pairing.pairings.getAll().filter(s=>{var o,a;return((o=s.peerMetadata)==null?void 0:o.url)&&((a=s.peerMetadata)==null?void 0:a.url)===r.peer.metadata.url&&s.topic&&s.topic!==i.topic});if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(s=>this.client.core.pairing.disconnect({topic:s.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(i){this.client.logger.error(i)}},this.deleteSession=async r=>{var i;const{topic:n,expirerHasDeleted:s=!1,emitEvent:o=!0,id:a=0}=r,{self:c}=this.client.session.get(n);await this.client.core.relayer.unsubscribe(n),await this.client.session.delete(n,ct("USER_DISCONNECTED")),this.addToRecentlyDeleted(n,"session"),this.client.core.crypto.keychain.has(c.publicKey)&&await this.client.core.crypto.deleteKeyPair(c.publicKey),this.client.core.crypto.keychain.has(n)&&await this.client.core.crypto.deleteSymKey(n),s||this.client.core.expirer.del(n),this.client.core.storage.removeItem(J0).catch(h=>this.client.logger.warn(h)),this.getPendingSessionRequests().forEach(h=>{h.topic===n&&this.deletePendingSessionRequest(h.id,ct("USER_DISCONNECTED"))}),n===((i=this.sessionRequestQueue.queue[0])==null?void 0:i.topic)&&(this.sessionRequestQueue.state=oi.idle),o&&this.client.events.emit("session_delete",{id:a,topic:n})},this.deleteProposal=async(r,i)=>{if(i)try{const n=this.client.proposal.get(r);this.client.core.eventClient.getEvent({topic:n.pairingTopic})?.setError(mn.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(r,ct("USER_DISCONNECTED")),i?Promise.resolve():this.client.core.expirer.del(r)]),this.addToRecentlyDeleted(r,"proposal")},this.deletePendingSessionRequest=async(r,i,n=!1)=>{await Promise.all([this.client.pendingRequest.delete(r,i),n?Promise.resolve():this.client.core.expirer.del(r)]),this.addToRecentlyDeleted(r,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(s=>s.id!==r),n&&(this.sessionRequestQueue.state=oi.idle,this.client.events.emit("session_request_expire",{id:r}))},this.deletePendingAuthRequest=async(r,i,n=!1)=>{await Promise.all([this.client.auth.requests.delete(r,i),n?Promise.resolve():this.client.core.expirer.del(r)])},this.setExpiry=async(r,i)=>{this.client.session.keys.includes(r)&&(this.client.core.expirer.set(r,i),await this.client.session.update(r,{expiry:i}))},this.setProposal=async(r,i)=>{this.client.core.expirer.set(r,Et(Rt.wc_sessionPropose.req.ttl)),await this.client.proposal.set(r,i)},this.setAuthRequest=async(r,i)=>{const{request:n,pairingTopic:s,transportType:o=ht.relay}=i;this.client.core.expirer.set(r,n.expiryTimestamp),await this.client.auth.requests.set(r,{authPayload:n.authPayload,requester:n.requester,expiryTimestamp:n.expiryTimestamp,id:r,pairingTopic:s,verifyContext:n.verifyContext,transportType:o})},this.setPendingSessionRequest=async r=>{const{id:i,topic:n,params:s,verifyContext:o}=r,a=s.request.expiryTimestamp||Et(Rt.wc_sessionRequest.req.ttl);this.client.core.expirer.set(i,a),await this.client.pendingRequest.set(i,{id:i,topic:n,params:s,verifyContext:o})},this.sendRequest=async r=>{const{topic:i,method:n,params:s,expiry:o,relayRpcId:a,clientRpcId:c,throwOnFailedPublish:h,appLink:l}=r,y=vn(n,s,c);let M;const I=!!l;try{const R=I?Ps:Gi;M=await this.client.core.crypto.encode(i,y,{encoding:R})}catch(R){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${i} failed`),R}let S;if(I_.includes(n)){const R=vi(JSON.stringify(y)),$=vi(M);S=await this.client.core.verify.register({id:$,decryptedId:R})}const D=Rt[n].req;if(D.attestation=S,o&&(D.ttl=o),a&&(D.id=a),this.client.core.history.set(i,y),I){const R=Yo(l,i,M);await global.Linking.openURL(R,this.client.name)}else{const R=Rt[n].req;o&&(R.ttl=o),a&&(R.id=a),h?(R.internal=kr(gt({},R.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,M,R)):this.client.core.relayer.publish(i,M,R).catch($=>this.client.logger.error($))}return y.id},this.sendResult=async r=>{const{id:i,topic:n,result:s,throwOnFailedPublish:o,encodeOpts:a,appLink:c}=r,h=oc(i,s);let l;const y=c&&typeof(global==null?void 0:global.Linking)<"u";try{const I=y?Ps:Gi;l=await this.client.core.crypto.encode(n,h,kr(gt({},a||{}),{encoding:I}))}catch(I){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),I}let M;try{M=await this.client.core.history.get(n,i)}catch(I){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${i}) failed`),I}if(y){const I=Yo(c,n,l);await global.Linking.openURL(I,this.client.name)}else{const I=Rt[M.request.method].res;o?(I.internal=kr(gt({},I.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,l,I)):this.client.core.relayer.publish(n,l,I).catch(S=>this.client.logger.error(S))}await this.client.core.history.resolve(h)},this.sendError=async r=>{const{id:i,topic:n,error:s,encodeOpts:o,rpcOpts:a,appLink:c}=r,h=ac(i,s);let l;const y=c&&typeof(global==null?void 0:global.Linking)<"u";try{const I=y?Ps:Gi;l=await this.client.core.crypto.encode(n,h,kr(gt({},o||{}),{encoding:I}))}catch(I){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),I}let M;try{M=await this.client.core.history.get(n,i)}catch(I){throw this.client.logger.error(`sendError() -> history.get(${n}, ${i}) failed`),I}if(y){const I=Yo(c,n,l);await global.Linking.openURL(I,this.client.name)}else{const I=a||Rt[M.request.method].res;this.client.core.relayer.publish(n,l,I)}await this.client.core.history.resolve(h)},this.cleanup=async()=>{const r=[],i=[];this.client.session.getAll().forEach(n=>{let s=!1;Ki(n.expiry)&&(s=!0),this.client.core.crypto.keychain.has(n.topic)||(s=!0),s&&r.push(n.topic)}),this.client.proposal.getAll().forEach(n=>{Ki(n.expiryTimestamp)&&i.push(n.id)}),await Promise.all([...r.map(n=>this.deleteSession({topic:n})),...i.map(n=>this.deleteProposal(n))])},this.onRelayEventRequest=async r=>{this.requestQueue.queue.push(r),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===oi.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=oi.active;const r=this.requestQueue.queue.shift();if(r)try{await this.processRequest(r)}catch(i){this.client.logger.warn(i)}}this.requestQueue.state=oi.idle},this.processRequest=async r=>{const{topic:i,payload:n,attestation:s,transportType:o,encryptedId:a}=r,c=n.method;if(!this.shouldIgnorePairingRequest({topic:i,requestMethod:c}))switch(c){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:i,payload:n,attestation:s,encryptedId:a});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:s,encryptedId:a,transportType:o});case"wc_sessionEvent":return await this.onSessionEventRequest(i,n);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:i,payload:n,attestation:s,encryptedId:a,transportType:o});default:return this.client.logger.info(`Unsupported request method ${c}`)}},this.onRelayEventResponse=async r=>{const{topic:i,payload:n,transportType:s}=r,o=(await this.client.core.history.get(i,n.id)).request.method;switch(o){case"wc_sessionPropose":return this.onSessionProposeResponse(i,n,s);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 ${o}`)}},this.onRelayEventUnknownPayload=r=>{const{topic:i}=r,{message:n}=Z("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=r=>{const{topic:i,requestMethod:n}=r,s=this.expectedPairingMethodMap.get(i);return!s||s.includes(n)?!1:!!(s.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)},this.onSessionProposeRequest=async r=>{const{topic:i,payload:n,attestation:s,encryptedId:o}=r,{params:a,id:c}=n;try{const h=this.client.core.eventClient.getEvent({topic:i});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),h?.setError(_i.proposal_listener_not_found)),this.isValidConnect(gt({},n.params));const l=a.expiryTimestamp||Et(Rt.wc_sessionPropose.req.ttl),y=gt({id:c,pairingTopic:i,expiryTimestamp:l},a);await this.setProposal(c,y);const M=await this.getVerifyContext({attestationId:s,hash:vi(JSON.stringify(n)),encryptedId:o,metadata:y.proposer.metadata});h?.addTrace(si.emit_session_proposal),this.client.events.emit("session_proposal",{id:c,params:y,verifyContext:M})}catch(h){await this.sendError({id:c,topic:i,error:h,rpcOpts:Rt.wc_sessionPropose.autoReject}),this.client.logger.error(h)}},this.onSessionProposeResponse=async(r,i,n)=>{const{id:s}=i;if(ii(i)){const{result:o}=i;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:o});const a=this.client.proposal.get(s);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:a});const c=a.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const h=o.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:h});const l=await this.client.core.crypto.generateSharedKey(c,h);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:l});const y=await this.client.core.relayer.subscribe(l,{transportType:n});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:y}),await this.client.core.pairing.activate({topic:r})}else if(Ar(i)){await this.client.proposal.delete(s,ct("USER_DISCONNECTED"));const o=Se("session_connect");if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners, 954`);this.events.emit(Se("session_connect"),{error:i.error})}},this.onSessionSettleRequest=async(r,i)=>{const{id:n,params:s}=i;try{this.isValidSessionSettleRequest(s);const{relay:o,controller:a,expiry:c,namespaces:h,sessionProperties:l,sessionConfig:y}=i.params,M=kr(gt(gt({topic:r,relay:o,expiry:c,namespaces:h,acknowledged:!0,pairingTopic:"",requiredNamespaces:{},optionalNamespaces:{},controller:a.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},l&&{sessionProperties:l}),y&&{sessionConfig:y}),{transportType:ht.relay}),I=Se("session_connect");if(this.events.listenerCount(I)===0)throw new Error(`emitting ${I} without any listeners 997`);this.events.emit(Se("session_connect"),{session:M}),await this.sendResult({id:i.id,topic:r,result:!0,throwOnFailedPublish:!0})}catch(o){await this.sendError({id:n,topic:r,error:o}),this.client.logger.error(o)}},this.onSessionSettleResponse=async(r,i)=>{const{id:n}=i;ii(i)?(await this.client.session.update(r,{acknowledged:!0}),this.events.emit(Se("session_approve",n),{})):Ar(i)&&(await this.client.session.delete(r,ct("USER_DISCONNECTED")),this.events.emit(Se("session_approve",n),{error:i.error}))},this.onSessionUpdateRequest=async(r,i)=>{const{params:n,id:s}=i;try{const o=`${r}_session_update`,a=Cs.get(o);if(a&&this.isRequestOutOfSync(a,s)){this.client.logger.warn(`Discarding out of sync request - ${s}`),this.sendError({id:s,topic:r,error:ct("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(gt({topic:r},n));try{Cs.set(o,s),await this.client.session.update(r,{namespaces:n.namespaces}),await this.sendResult({id:s,topic:r,result:!0,throwOnFailedPublish:!0})}catch(c){throw Cs.delete(o),c}this.client.events.emit("session_update",{id:s,topic:r,params:n})}catch(o){await this.sendError({id:s,topic:r,error:o}),this.client.logger.error(o)}},this.isRequestOutOfSync=(r,i)=>i.toString().slice(0,-3)<r.toString().slice(0,-3),this.onSessionUpdateResponse=(r,i)=>{const{id:n}=i,s=Se("session_update",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);ii(i)?this.events.emit(Se("session_update",n),{}):Ar(i)&&this.events.emit(Se("session_update",n),{error:i.error})},this.onSessionExtendRequest=async(r,i)=>{const{id:n}=i;try{this.isValidExtend({topic:r}),await this.setExpiry(r,Et(ts)),await this.sendResult({id:n,topic:r,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:n,topic:r})}catch(s){await this.sendError({id:n,topic:r,error:s}),this.client.logger.error(s)}},this.onSessionExtendResponse=(r,i)=>{const{id:n}=i,s=Se("session_extend",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);ii(i)?this.events.emit(Se("session_extend",n),{}):Ar(i)&&this.events.emit(Se("session_extend",n),{error:i.error})},this.onSessionPingRequest=async(r,i)=>{const{id:n}=i;try{this.isValidPing({topic:r}),await this.sendResult({id:n,topic:r,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:n,topic:r})}catch(s){await this.sendError({id:n,topic:r,error:s}),this.client.logger.error(s)}},this.onSessionPingResponse=(r,i)=>{const{id:n}=i,s=Se("session_ping",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);setTimeout(()=>{ii(i)?this.events.emit(Se("session_ping",n),{}):Ar(i)&&this.events.emit(Se("session_ping",n),{error:i.error})},500)},this.onSessionDeleteRequest=async(r,i)=>{const{id:n}=i;try{this.isValidDisconnect({topic:r,reason:i.params}),Promise.all([new Promise(s=>{this.client.core.relayer.once(Pt.publish,async()=>{s(await this.deleteSession({topic:r,id:n}))})}),this.sendResult({id:n,topic:r,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:r,error:ct("USER_DISCONNECTED")})]).catch(s=>this.client.logger.error(s))}catch(s){this.client.logger.error(s)}},this.onSessionRequest=async r=>{var i,n,s;const{topic:o,payload:a,attestation:c,encryptedId:h,transportType:l}=r,{id:y,params:M}=a;try{await this.isValidRequest(gt({topic:o},M));const I=this.client.session.get(o),S=await this.getVerifyContext({attestationId:c,hash:vi(JSON.stringify(vn("wc_sessionRequest",M,y))),encryptedId:h,metadata:I.peer.metadata,transportType:l}),D={id:y,topic:o,params:M,verifyContext:S};await this.setPendingSessionRequest(D),l===ht.link_mode&&(i=I.peer.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp((n=I.peer.metadata.redirect)==null?void 0:n.universal),(s=this.client.signConfig)!=null&&s.disableRequestQueue?this.emitSessionRequest(D):(this.addSessionRequestToSessionRequestQueue(D),this.processSessionRequestQueue())}catch(I){await this.sendError({id:y,topic:o,error:I}),this.client.logger.error(I)}},this.onSessionRequestResponse=(r,i)=>{const{id:n}=i,s=Se("session_request",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);ii(i)?this.events.emit(Se("session_request",n),{result:i.result}):Ar(i)&&this.events.emit(Se("session_request",n),{error:i.error})},this.onSessionEventRequest=async(r,i)=>{const{id:n,params:s}=i;try{const o=`${r}_session_event_${s.event.name}`,a=Cs.get(o);if(a&&this.isRequestOutOfSync(a,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(gt({topic:r},s)),this.client.events.emit("session_event",{id:n,topic:r,params:s}),Cs.set(o,n)}catch(o){await this.sendError({id:n,topic:r,error:o}),this.client.logger.error(o)}},this.onSessionAuthenticateResponse=(r,i)=>{const{id:n}=i;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:r,payload:i}),ii(i)?this.events.emit(Se("session_request",n),{result:i.result}):Ar(i)&&this.events.emit(Se("session_request",n),{error:i.error})},this.onSessionAuthenticateRequest=async r=>{var i;const{topic:n,payload:s,attestation:o,encryptedId:a,transportType:c}=r;try{const{requester:h,authPayload:l,expiryTimestamp:y}=s.params,M=await this.getVerifyContext({attestationId:o,hash:vi(JSON.stringify(s)),encryptedId:a,metadata:h.metadata,transportType:c}),I={requester:h,pairingTopic:n,id:s.id,authPayload:l,verifyContext:M,expiryTimestamp:y};await this.setAuthRequest(s.id,{request:I,pairingTopic:n,transportType:c}),c===ht.link_mode&&(i=h.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp(h.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:n,params:s.params,id:s.id,verifyContext:M})}catch(h){this.client.logger.error(h);const l=s.params.requester.publicKey,y=await this.client.core.crypto.generateKeyPair(),M=this.getAppLinkIfEnabled(s.params.requester.metadata,c),I={type:bi,receiverPublicKey:l,senderPublicKey:y};await this.sendError({id:s.id,topic:n,error:h,encodeOpts:I,rpcOpts:Rt.wc_sessionAuthenticate.autoReject,appLink:M})}},this.addSessionRequestToSessionRequestQueue=r=>{this.sessionRequestQueue.queue.push(r)},this.cleanupAfterResponse=r=>{this.deletePendingSessionRequest(r.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=oi.idle,this.processSessionRequestQueue()},Y.toMiliseconds(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:r,error:i})=>{const n=this.client.core.history.pending;n.length>0&&n.filter(s=>s.topic===r&&s.request.method==="wc_sessionRequest").forEach(s=>{const o=s.request.id,a=Se("session_request",o);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);this.events.emit(Se("session_request",s.request.id),{error:i})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===oi.active){this.client.logger.info("session request queue is already active.");return}const r=this.sessionRequestQueue.queue[0];if(!r){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=oi.active,this.emitSessionRequest(r)}catch(i){this.client.logger.error(i)}},this.emitSessionRequest=r=>{this.client.events.emit("session_request",r)},this.onPairingCreated=r=>{if(r.methods&&this.expectedPairingMethodMap.set(r.topic,r.methods),r.active)return;const i=this.client.proposal.getAll().find(n=>n.pairingTopic===r.topic);i&&this.onSessionProposeRequest({topic:r.topic,payload:vn("wc_sessionPropose",{requiredNamespaces:i.requiredNamespaces,optionalNamespaces:i.optionalNamespaces,relays:i.relays,proposer:i.proposer,sessionProperties:i.sessionProperties},i.id)})},this.isValidConnect=async r=>{if(!or(r)){const{message:c}=Z("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(r)}`);throw new Error(c)}const{pairingTopic:i,requiredNamespaces:n,optionalNamespaces:s,sessionProperties:o,relays:a}=r;if(Qt(i)||await this.isValidPairingTopic(i),!P8(a,!0)){const{message:c}=Z("MISSING_OR_INVALID",`connect() relays: ${a}`);throw new Error(c)}!Qt(n)&&Zo(n)!==0&&this.validateNamespaces(n,"requiredNamespaces"),!Qt(s)&&Zo(s)!==0&&this.validateNamespaces(s,"optionalNamespaces"),Qt(o)||this.validateSessionProps(o,"sessionProperties")},this.validateNamespaces=(r,i)=>{const n=O8(r,"connect()",i);if(n)throw new Error(n.message)},this.isValidApprove=async r=>{if(!or(r))throw new Error(Z("MISSING_OR_INVALID",`approve() params: ${r}`).message);const{id:i,namespaces:n,relayProtocol:s,sessionProperties:o}=r;this.checkRecentlyDeleted(i),await this.isValidProposalId(i);const a=this.client.proposal.get(i),c=ec(n,"approve()");if(c)throw new Error(c.message);const h=Vl(a.requiredNamespaces,n,"approve()");if(h)throw new Error(h.message);if(!mt(s,!0)){const{message:l}=Z("MISSING_OR_INVALID",`approve() relayProtocol: ${s}`);throw new Error(l)}Qt(o)||this.validateSessionProps(o,"sessionProperties")},this.isValidReject=async r=>{if(!or(r)){const{message:s}=Z("MISSING_OR_INVALID",`reject() params: ${r}`);throw new Error(s)}const{id:i,reason:n}=r;if(this.checkRecentlyDeleted(i),await this.isValidProposalId(i),!$8(n)){const{message:s}=Z("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(n)}`);throw new Error(s)}},this.isValidSessionSettleRequest=r=>{if(!or(r)){const{message:h}=Z("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${r}`);throw new Error(h)}const{relay:i,controller:n,namespaces:s,expiry:o}=r;if(!jl(i)){const{message:h}=Z("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(h)}const a=E8(n,"onSessionSettleRequest()");if(a)throw new Error(a.message);const c=ec(s,"onSessionSettleRequest()");if(c)throw new Error(c.message);if(Ki(o)){const{message:h}=Z("EXPIRED","onSessionSettleRequest()");throw new Error(h)}},this.isValidUpdate=async r=>{if(!or(r)){const{message:c}=Z("MISSING_OR_INVALID",`update() params: ${r}`);throw new Error(c)}const{topic:i,namespaces:n}=r;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const s=this.client.session.get(i),o=ec(n,"update()");if(o)throw new Error(o.message);const a=Vl(s.requiredNamespaces,n,"update()");if(a)throw new Error(a.message)},this.isValidExtend=async r=>{if(!or(r)){const{message:n}=Z("MISSING_OR_INVALID",`extend() params: ${r}`);throw new Error(n)}const{topic:i}=r;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i)},this.isValidRequest=async r=>{if(!or(r)){const{message:c}=Z("MISSING_OR_INVALID",`request() params: ${r}`);throw new Error(c)}const{topic:i,request:n,chainId:s,expiry:o}=r;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const{namespaces:a}=this.client.session.get(i);if(!Kl(a,s)){const{message:c}=Z("MISSING_OR_INVALID",`request() chainId: ${s}`);throw new Error(c)}if(!N8(n)){const{message:c}=Z("MISSING_OR_INVALID",`request() ${JSON.stringify(n)}`);throw new Error(c)}if(!C8(a,s,n.method)){const{message:c}=Z("MISSING_OR_INVALID",`request() method: ${n.method}`);throw new Error(c)}if(o&&!U8(o,mc)){const{message:c}=Z("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${mc.min} and ${mc.max}`);throw new Error(c)}},this.isValidRespond=async r=>{var i;if(!or(r)){const{message:o}=Z("MISSING_OR_INVALID",`respond() params: ${r}`);throw new Error(o)}const{topic:n,response:s}=r;try{await this.isValidSessionTopic(n)}catch(o){throw(i=r?.response)!=null&&i.id&&this.cleanupAfterResponse(r),o}if(!T8(s)){const{message:o}=Z("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(s)}`);throw new Error(o)}},this.isValidPing=async r=>{if(!or(r)){const{message:n}=Z("MISSING_OR_INVALID",`ping() params: ${r}`);throw new Error(n)}const{topic:i}=r;await this.isValidSessionOrPairingTopic(i)},this.isValidEmit=async r=>{if(!or(r)){const{message:a}=Z("MISSING_OR_INVALID",`emit() params: ${r}`);throw new Error(a)}const{topic:i,event:n,chainId:s}=r;await this.isValidSessionTopic(i);const{namespaces:o}=this.client.session.get(i);if(!Kl(o,s)){const{message:a}=Z("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw new Error(a)}if(!F8(n)){const{message:a}=Z("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(a)}if(!B8(o,s,n.name)){const{message:a}=Z("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(a)}},this.isValidDisconnect=async r=>{if(!or(r)){const{message:n}=Z("MISSING_OR_INVALID",`disconnect() params: ${r}`);throw new Error(n)}const{topic:i}=r;await this.isValidSessionOrPairingTopic(i)},this.isValidAuthenticate=r=>{const{chains:i,uri:n,domain:s,nonce:o}=r;if(!Array.isArray(i)||i.length===0)throw new Error("chains is required and must be a non-empty array");if(!mt(n,!1))throw new Error("uri is required parameter");if(!mt(s,!1))throw new Error("domain is required parameter");if(!mt(o,!1))throw new Error("nonce is required parameter");if([...new Set(i.map(c=>qo(c).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=qo(i[0]);if(a!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")},this.getVerifyContext=async r=>{const{attestationId:i,hash:n,encryptedId:s,metadata:o,transportType:a}=r,c={verified:{verifyUrl:o.verifyUrl||Us,validation:"UNKNOWN",origin:o.url||""}};try{if(a===ht.link_mode){const l=this.getAppLinkIfEnabled(o,a);return c.verified.validation=l&&new URL(l).origin===new URL(o.url).origin?"VALID":"INVALID",c}const h=await this.client.core.verify.resolve({attestationId:i,hash:n,encryptedId:s,verifyUrl:o.verifyUrl});h&&(c.verified.origin=h.origin,c.verified.isScam=h.isScam,c.verified.validation=h.origin===new URL(o.url).origin?"VALID":"INVALID")}catch(h){this.client.logger.warn(h)}return this.client.logger.debug(`Verify context: ${JSON.stringify(c)}`),c},this.validateSessionProps=(r,i)=>{Object.values(r).forEach(n=>{if(!mt(n,!1)){const{message:s}=Z("MISSING_OR_INVALID",`${i} must be in Record<string, string> format. Received: ${JSON.stringify(n)}`);throw new Error(s)}})},this.getPendingAuthRequest=r=>{const i=this.client.auth.requests.get(r);return typeof i=="object"?i:void 0},this.addToRecentlyDeleted=(r,i)=>{if(this.recentlyDeletedMap.set(r,i),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let n=0;const s=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(n++>=s)break;this.recentlyDeletedMap.delete(o)}}},this.checkRecentlyDeleted=r=>{const i=this.recentlyDeletedMap.get(r);if(i){const{message:n}=Z("MISSING_OR_INVALID",`Record was recently deleted - ${i}: ${r}`);throw new Error(n)}},this.isLinkModeEnabled=(r,i)=>{var n,s,o,a,c,h,l,y,M;return!r||i!==ht.link_mode?!1:((s=(n=this.client.metadata)==null?void 0:n.redirect)==null?void 0:s.linkMode)===!0&&((a=(o=this.client.metadata)==null?void 0:o.redirect)==null?void 0:a.universal)!==void 0&&((h=(c=this.client.metadata)==null?void 0:c.redirect)==null?void 0:h.universal)!==""&&((l=r?.redirect)==null?void 0:l.universal)!==void 0&&((y=r?.redirect)==null?void 0:y.universal)!==""&&((M=r?.redirect)==null?void 0:M.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(r.redirect.universal)&&typeof(global==null?void 0:global.Linking)<"u"},this.getAppLinkIfEnabled=(r,i)=>{var n;return this.isLinkModeEnabled(r,i)?(n=r?.redirect)==null?void 0:n.universal:void 0},this.handleLinkModeMessage=({url:r})=>{if(!r||!r.includes("wc_ev")||!r.includes("topic"))return;const i=zd(r,"topic")||"",n=decodeURIComponent(zd(r,"wc_ev")||""),s=this.client.session.keys.includes(i);s&&this.client.session.update(i,{transportType:ht.link_mode}),this.client.core.dispatchEnvelope({topic:i,message:n,sessionExists:s})},this.registerLinkModeListeners=async()=>{var r;if(Nf()||ki()&&(r=this.client.metadata.redirect)!=null&&r.linkMode){const i=global==null?void 0:global.Linking;if(typeof i<"u"){i.addEventListener("url",this.handleLinkModeMessage,this.client.name);const n=await i.getInitialURL();n&&setTimeout(()=>{this.handleLinkModeMessage({url:n})},50)}}}}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Pt.message,e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):this.onRelayMessage(e)})}async onRelayMessage(e){const{topic:r,message:i,attestation:n,transportType:s}=e,{publicKey:o}=this.client.auth.authKeys.keys.includes(na)?this.client.auth.authKeys.get(na):{responseTopic:void 0,publicKey:void 0},a=await this.client.core.crypto.decode(r,i,{receiverPublicKey:o,encoding:s===ht.link_mode?Ps:Gi});try{fc(a)?(this.client.core.history.set(r,a),this.onRelayEventRequest({topic:r,payload:a,attestation:n,transportType:s,encryptedId:vi(i)})):ea(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:r,payload:a,transportType:s}),this.client.core.history.delete(r,a.id)):this.onRelayEventUnknownPayload({topic:r,payload:a,transportType:s})}catch(c){this.client.logger.error(c)}}registerExpirerEvents(){this.client.core.expirer.on(Or.expired,async e=>{const{topic:r,id:i}=Ud(e.target);if(i&&this.client.pendingRequest.keys.includes(i))return await this.deletePendingSessionRequest(i,Z("EXPIRED"),!0);if(i&&this.client.auth.requests.keys.includes(i))return await this.deletePendingAuthRequest(i,Z("EXPIRED"),!0);r?this.client.session.keys.includes(r)&&(await this.deleteSession({topic:r,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:r})):i&&(await this.deleteProposal(i,!0),this.client.events.emit("proposal_expire",{id:i}))})}registerPairingEvents(){this.client.core.pairing.events.on(yn.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(yn.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!mt(e,!1)){const{message:r}=Z("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(r)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:r}=Z("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(r)}if(Ki(this.client.core.pairing.pairings.get(e).expiry)){const{message:r}=Z("EXPIRED",`pairing topic: ${e}`);throw new Error(r)}}async isValidSessionTopic(e){if(!mt(e,!1)){const{message:r}=Z("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(r)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:r}=Z("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(r)}if(Ki(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:r}=Z("EXPIRED",`session topic: ${e}`);throw new Error(r)}if(!this.client.core.crypto.keychain.has(e)){const{message:r}=Z("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new Error(r)}}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(mt(e,!1)){const{message:r}=Z("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(r)}else{const{message:r}=Z("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(r)}}async isValidProposalId(e){if(!R8(e)){const{message:r}=Z("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(r)}if(!this.client.proposal.keys.includes(e)){const{message:r}=Z("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(r)}if(Ki(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:r}=Z("EXPIRED",`proposal id: ${e}`);throw new Error(r)}}}class L_ extends _n{constructor(e,r){super(e,r,__,vc),this.core=e,this.logger=r}}class Z0 extends _n{constructor(e,r){super(e,r,E_,vc),this.core=e,this.logger=r}}class q_ extends _n{constructor(e,r){super(e,r,M_,vc,i=>i.id),this.core=e,this.logger=r}}class U_ extends _n{constructor(e,r){super(e,r,O_,ia,()=>na),this.core=e,this.logger=r}}class z_ extends _n{constructor(e,r){super(e,r,P_,ia),this.core=e,this.logger=r}}class k_ extends _n{constructor(e,r){super(e,r,R_,ia,i=>i.id),this.core=e,this.logger=r}}class j_{constructor(e,r){this.core=e,this.logger=r,this.authKeys=new U_(this.core,this.logger),this.pairingTopics=new z_(this.core,this.logger),this.requests=new k_(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}class wc extends bg{constructor(e){super(e),this.protocol=H0,this.version=W0,this.name=yc.name,this.events=new jt.exports.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,n)=>{try{return await this.engine.authenticate(i,n)}catch(s){throw this.logger.error(s.message),s}},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?.name||yc.name,this.metadata=e?.metadata||Fd(),this.signConfig=e?.signConfig;const r=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:ai(Ia({level:e?.logger||yc.logger}));this.core=e?.core||new bc(e),this.logger=Jt(r,this.name),this.session=new Z0(this.core,this.logger),this.proposal=new L_(this.core,this.logger),this.pendingRequest=new q_(this.core,this.logger),this.engine=new B_(this),this.auth=new j_(this.core,this.logger)}static async init(e){const r=new wc(e);return await r.initialize(),r}get context(){return tr(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout(()=>{this.engine.processRelayMessageCache()},Y.toMiliseconds(Y.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}const K_=Z0,V_=wc;class H_ extends jt.exports{constructor(){super()}}class Q0{constructor(e){this.opts=e}}class ep{constructor(e){this.client=e}}var W_=Object.defineProperty,G_=Object.defineProperties,J_=Object.getOwnPropertyDescriptors,tp=Object.getOwnPropertySymbols,Y_=Object.prototype.hasOwnProperty,X_=Object.prototype.propertyIsEnumerable,rp=(t,e,r)=>e in t?W_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Z_=(t,e)=>{for(var r in e||(e={}))Y_.call(e,r)&&rp(t,r,e[r]);if(tp)for(var r of tp(e))X_.call(e,r)&&rp(t,r,e[r]);return t},Q_=(t,e)=>G_(t,J_(e));class ex extends ep{constructor(e){super(e),this.init=async()=>{this.signClient=await V_.init({core:this.client.core,metadata:this.client.metadata,signConfig:this.client.signConfig})},this.pair=async r=>{await this.client.core.pairing.pair(r)},this.approveSession=async r=>{const{topic:i,acknowledged:n}=await this.signClient.approve(Q_(Z_({},r),{id:r.id,namespaces:r.namespaces,sessionProperties:r.sessionProperties,sessionConfig:r.sessionConfig}));return await n(),this.signClient.session.get(i)},this.rejectSession=async r=>await this.signClient.reject(r),this.updateSession=async r=>await this.signClient.update(r),this.extendSession=async r=>await this.signClient.extend(r),this.respondSessionRequest=async r=>await this.signClient.respond(r),this.disconnectSession=async r=>await this.signClient.disconnect(r),this.emitSessionEvent=async r=>await this.signClient.emit(r),this.getActiveSessions=()=>this.signClient.session.getAll().reduce((r,i)=>(r[i.topic]=i,r),{}),this.getPendingSessionProposals=()=>this.signClient.proposal.getAll(),this.getPendingSessionRequests=()=>this.signClient.getPendingSessionRequests(),this.approveSessionAuthenticate=async r=>await this.signClient.approveSessionAuthenticate(r),this.rejectSessionAuthenticate=async r=>await this.signClient.rejectSessionAuthenticate(r),this.formatAuthMessage=r=>this.signClient.formatAuthMessage(r),this.registerDeviceToken=r=>this.client.core.echoClient.registerDeviceToken(r),this.on=(r,i)=>(this.setEvent(r,"off"),this.setEvent(r,"on"),this.client.events.on(r,i)),this.once=(r,i)=>(this.setEvent(r,"off"),this.setEvent(r,"once"),this.client.events.once(r,i)),this.off=(r,i)=>(this.setEvent(r,"off"),this.client.events.off(r,i)),this.removeListener=(r,i)=>(this.setEvent(r,"removeListener"),this.client.events.removeListener(r,i)),this.onSessionRequest=r=>{this.client.events.emit("session_request",r)},this.onSessionProposal=r=>{this.client.events.emit("session_proposal",r)},this.onSessionDelete=r=>{this.client.events.emit("session_delete",r)},this.onProposalExpire=r=>{this.client.events.emit("proposal_expire",r)},this.onSessionRequestExpire=r=>{this.client.events.emit("session_request_expire",r)},this.onSessionRequestAuthenticate=r=>{this.client.events.emit("session_authenticate",r)},this.setEvent=(r,i)=>{switch(r){case"session_request":this.signClient.events[i]("session_request",this.onSessionRequest);break;case"session_proposal":this.signClient.events[i]("session_proposal",this.onSessionProposal);break;case"session_delete":this.signClient.events[i]("session_delete",this.onSessionDelete);break;case"proposal_expire":this.signClient.events[i]("proposal_expire",this.onProposalExpire);break;case"session_request_expire":this.signClient.events[i]("session_request_expire",this.onSessionRequestExpire);break;case"session_authenticate":this.signClient.events[i]("session_authenticate",this.onSessionRequestAuthenticate);break}},this.signClient={}}}const tx={decryptMessage:async t=>{const e={core:new bc({storageOptions:t.storageOptions,storage:t.storage})};await e.core.crypto.init();const r=e.core.crypto.decode(t.topic,t.encryptedMessage);return e.core=null,r},getMetadata:async t=>{const e={core:new bc({storageOptions:t.storageOptions,storage:t.storage}),sessionStore:null};e.sessionStore=new K_(e.core,e.core.logger),await e.sessionStore.init();const r=e.sessionStore.get(t.topic),i=r?.peer.metadata;return e.core=null,e.sessionStore=null,i}},ip=class extends Q0{constructor(t){super(t),this.events=new jt.exports,this.on=(e,r)=>this.engine.on(e,r),this.once=(e,r)=>this.engine.once(e,r),this.off=(e,r)=>this.engine.off(e,r),this.removeListener=(e,r)=>this.engine.removeListener(e,r),this.pair=async e=>{try{return await this.engine.pair(e)}catch(r){throw this.logger.error(r.message),r}},this.approveSession=async e=>{try{return await this.engine.approveSession(e)}catch(r){throw this.logger.error(r.message),r}},this.rejectSession=async e=>{try{return await this.engine.rejectSession(e)}catch(r){throw this.logger.error(r.message),r}},this.updateSession=async e=>{try{return await this.engine.updateSession(e)}catch(r){throw this.logger.error(r.message),r}},this.extendSession=async e=>{try{return await this.engine.extendSession(e)}catch(r){throw this.logger.error(r.message),r}},this.respondSessionRequest=async e=>{try{return await this.engine.respondSessionRequest(e)}catch(r){throw this.logger.error(r.message),r}},this.disconnectSession=async e=>{try{return await this.engine.disconnectSession(e)}catch(r){throw this.logger.error(r.message),r}},this.emitSessionEvent=async e=>{try{return await this.engine.emitSessionEvent(e)}catch(r){throw this.logger.error(r.message),r}},this.getActiveSessions=()=>{try{return this.engine.getActiveSessions()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionProposals=()=>{try{return this.engine.getPendingSessionProposals()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}},this.registerDeviceToken=e=>{try{return this.engine.registerDeviceToken(e)}catch(r){throw this.logger.error(r.message),r}},this.approveSessionAuthenticate=e=>{try{return this.engine.approveSessionAuthenticate(e)}catch(r){throw this.logger.error(r.message),r}},this.rejectSessionAuthenticate=e=>{try{return this.engine.rejectSessionAuthenticate(e)}catch(r){throw this.logger.error(r.message),r}},this.formatAuthMessage=e=>{try{return this.engine.formatAuthMessage(e)}catch(r){throw this.logger.error(r.message),r}},this.metadata=t.metadata,this.name=t.name||ua,this.signConfig=t.signConfig,this.core=t.core,this.logger=this.core.logger,this.engine=new ex(this)}static async init(t){const e=new ip(t);return await e.initialize(),e}async initialize(){this.logger.trace("Initialized");try{await this.engine.init(),this.logger.info("WalletKit Initialization Success")}catch(t){throw this.logger.info("WalletKit Initialization Failure"),this.logger.error(t.message),t}}};let _c=ip;_c.notifications=tx;const rx=_c;kt.CLIENT_CONTEXT=ua,kt.CLIENT_STORAGE_OPTIONS=xp,kt.CLIENT_STORAGE_PREFIX=_p,kt.IWalletKit=Q0,kt.IWalletKitEngine=ep,kt.IWalletKitEvents=H_,kt.PROTOCOL=Nc,kt.PROTOCOL_VERSION=wp,kt.REQUEST_CONTEXT=Ep,kt.WalletKit=rx,kt.default=_c,Object.defineProperty(kt,"__esModule",{value:!0})});
|
46
44
|
//# sourceMappingURL=index.umd.js.map
|