{"version":3,"sources":["jsdelivr-header.js","/npm/nostr-zap@1.3.2/dist/node_modules/easyqrcodejs/dist/easy.qrcode.min.js","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/secp256k1/lib/esm/index.js","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/hashes/src/_assert.ts","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/hashes/src/cryptoBrowser.ts","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/hashes/src/utils.ts","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/hashes/src/_sha2.ts","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/hashes/src/sha256.ts","/npm/nostr-zap@1.3.2/dist/node_modules/@scure/base/lib/esm/index.js","/npm/nostr-zap@1.3.2/dist/node_modules/@scure/bip39/wordlists/english.js","/npm/nostr-zap@1.3.2/dist/node_modules/@scure/bip39/index.js","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/hashes/src/hmac.ts","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/hashes/src/pbkdf2.ts","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/hashes/src/_u64.ts","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/hashes/src/sha512.ts","/npm/nostr-zap@1.3.2/dist/node_modules/@noble/hashes/src/ripemd160.ts","/npm/nostr-zap@1.3.2/dist/node_modules/@scure/bip32/lib/esm/index.js","/npm/nostr-zap@1.3.2/dist/node_modules/nostr-tools/lib/esm/nostr.mjs","/npm/nostr-zap@1.3.2/dist/src/nostr.js","/npm/nostr-zap@1.3.2/dist/src/cache.js","/npm/nostr-zap@1.3.2/dist/src/view.js","/npm/nostr-zap@1.3.2/dist/src/index.js"],"names":[],"mappings":"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ACzs7B,EAAE,eAAe,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAA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","file":"/npm/nostr-zap@1.3.2/dist/main.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.48.0.\n * Original file: /npm/nostr-zap@1.3.2/dist/main.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * EasyQRCodeJS\n * \n * Cross-browser QRCode generator for pure javascript. Support Canvas, SVG and Table drawing methods. Support Dot style, Logo, Background image, Colorful, Title etc. settings. Support Angular, Vue.js, React, Next.js, Svelte framework. Support binary(hex) data mode.(Running with DOM on client side)\n * \n * Version 4.6.2\n * \n * @author [ inthinkcolor@gmail.com ]\n * \n * @see https://github.com/ushelp/EasyQRCodeJS \n * @see http://www.easyproject.cn/easyqrcodejs/tryit.html\n * @see https://github.com/ushelp/EasyQRCodeJS-NodeJS\n * \n * Copyright 2017 Ray, EasyProject\n * Released under the MIT license\n * \n * [Support AMD, CMD, CommonJS/Node.js]\n * \n */\n!function(){\"use strict\";function a(a,b){var c,d=Object.keys(b);for(c=0;c<d.length;c++)a=a.replace(new RegExp(\"\\\\{\"+d[c]+\"\\\\}\",\"gi\"),b[d[c]]);return a}function b(a){var b,c,d;if(!a)throw new Error(\"cannot create a random attribute name for an undefined object\");b=\"ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\",c=\"\";do{for(c=\"\",d=0;d<12;d++)c+=b[Math.floor(Math.random()*b.length)]}while(a[c]);return c}function c(a){var b={left:\"start\",right:\"end\",center:\"middle\",start:\"start\",end:\"end\"};return b[a]||b.start}function d(a){var b={alphabetic:\"alphabetic\",hanging:\"hanging\",top:\"text-before-edge\",bottom:\"text-after-edge\",middle:\"central\"};return b[a]||b.alphabetic}var e,f,g,h,i;i=function(a,b){var c,d,e,f={};for(a=a.split(\",\"),b=b||10,c=0;c<a.length;c+=2)d=\"&\"+a[c+1]+\";\",e=parseInt(a[c],b),f[d]=\"&#\"+e+\";\";return f[\"\\\\xa0\"]=\"&#160;\",f}(\"50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro\",32),e={strokeStyle:{svgAttr:\"stroke\",canvas:\"#000000\",svg:\"none\",apply:\"stroke\"},fillStyle:{svgAttr:\"fill\",canvas:\"#000000\",svg:null,apply:\"fill\"},lineCap:{svgAttr:\"stroke-linecap\",canvas:\"butt\",svg:\"butt\",apply:\"stroke\"},lineJoin:{svgAttr:\"stroke-linejoin\",canvas:\"miter\",svg:\"miter\",apply:\"stroke\"},miterLimit:{svgAttr:\"stroke-miterlimit\",canvas:10,svg:4,apply:\"stroke\"},lineWidth:{svgAttr:\"stroke-width\",canvas:1,svg:1,apply:\"stroke\"},globalAlpha:{svgAttr:\"opacity\",canvas:1,svg:1,apply:\"fill stroke\"},font:{canvas:\"10px sans-serif\"},shadowColor:{canvas:\"#000000\"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:\"start\"},textBaseline:{canvas:\"alphabetic\"},lineDash:{svgAttr:\"stroke-dasharray\",canvas:[],svg:null,apply:\"stroke\"}},g=function(a,b){this.__root=a,this.__ctx=b},g.prototype.addColorStop=function(b,c){var d,e,f=this.__ctx.__createElement(\"stop\");f.setAttribute(\"offset\",b),-1!==c.indexOf(\"rgba\")?(d=/rgba\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?\\.?\\d*)\\s*\\)/gi,e=d.exec(c),f.setAttribute(\"stop-color\",a(\"rgb({r},{g},{b})\",{r:e[1],g:e[2],b:e[3]})),f.setAttribute(\"stop-opacity\",e[4])):f.setAttribute(\"stop-color\",c),this.__root.appendChild(f)},h=function(a,b){this.__root=a,this.__ctx=b},f=function(a){var b,c={width:500,height:500,veiwBoxWidth:500,veiwBoxHeight:500,enableMirroring:!1};if(arguments.length>1?(b=c,b.width=arguments[0],b.height=arguments[1],b.veiwBoxWidth=arguments[2],b.veiwBoxHeight=arguments[3]):b=a||c,!(this instanceof f))return new f(b);this.width=b.width||c.width,this.height=b.height||c.height,this.veiwBoxWidth=b.veiwBoxWidth||this.width,this.veiwBoxHeight=b.veiwBoxHeight||this.height,this.enableMirroring=void 0!==b.enableMirroring?b.enableMirroring:c.enableMirroring,this.canvas=this,this.__document=b.document||document,b.ctx?this.__ctx=b.ctx:(this.__canvas=this.__document.createElement(\"canvas\"),this.__ctx=this.__canvas.getContext(\"2d\")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),this.__root.setAttribute(\"version\",1.1),this.__root.setAttribute(\"xmlns\",\"http://www.w3.org/2000/svg\"),this.__root.setAttributeNS(\"http://www.w3.org/2000/xmlns/\",\"xmlns:xlink\",\"http://www.w3.org/1999/xlink\"),this.__root.setAttribute(\"width\",this.width),this.__root.setAttribute(\"height\",this.height),this.__root.setAttribute(\"viewBox\",\"0 0 \"+this.veiwBoxWidth+\" \"+this.veiwBoxHeight),this.__ids={},this.__defs=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"defs\"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"),this.__root.appendChild(this.__currentElement)},f.prototype.__createElement=function(a,b,c){void 0===b&&(b={});var d,e,f=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",a),g=Object.keys(b);for(c&&(f.setAttribute(\"fill\",\"none\"),f.setAttribute(\"stroke\",\"none\")),d=0;d<g.length;d++)e=g[d],f.setAttribute(e,b[e]);return f},f.prototype.__setDefaultStyles=function(){var a,b,c=Object.keys(e);for(a=0;a<c.length;a++)b=c[a],this[b]=e[b].canvas},f.prototype.__applyStyleState=function(a){var b,c,d=Object.keys(a);for(b=0;b<d.length;b++)c=d[b],this[c]=a[c]},f.prototype.__getStyleState=function(){var a,b,c={},d=Object.keys(e);for(a=0;a<d.length;a++)b=d[a],c[b]=this[b];return c},f.prototype.__applyStyleToCurrentElement=function(b){var c=this.__currentElement,d=this.__currentElementsToStyle;d&&(c.setAttribute(b,\"\"),c=d.element,d.children.forEach(function(a){a.setAttribute(b,\"\")}));var f,i,j,k,l,m,n=Object.keys(e);for(f=0;f<n.length;f++)if(i=e[n[f]],j=this[n[f]],i.apply)if(j instanceof h){if(j.__ctx)for(;j.__ctx.__defs.childNodes.length;)k=j.__ctx.__defs.childNodes[0].getAttribute(\"id\"),this.__ids[k]=k,this.__defs.appendChild(j.__ctx.__defs.childNodes[0]);c.setAttribute(i.apply,a(\"url(#{id})\",{id:j.__root.getAttribute(\"id\")}))}else if(j instanceof g)c.setAttribute(i.apply,a(\"url(#{id})\",{id:j.__root.getAttribute(\"id\")}));else if(-1!==i.apply.indexOf(b)&&i.svg!==j)if(\"stroke\"!==i.svgAttr&&\"fill\"!==i.svgAttr||-1===j.indexOf(\"rgba\")){var o=i.svgAttr;if(\"globalAlpha\"===n[f]&&(o=b+\"-\"+i.svgAttr,c.getAttribute(o)))continue;c.setAttribute(o,j)}else{l=/rgba\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?\\.?\\d*)\\s*\\)/gi,m=l.exec(j),c.setAttribute(i.svgAttr,a(\"rgb({r},{g},{b})\",{r:m[1],g:m[2],b:m[3]}));var p=m[4],q=this.globalAlpha;null!=q&&(p*=q),c.setAttribute(i.svgAttr+\"-opacity\",p)}},f.prototype.__closestGroupOrSvg=function(a){return a=a||this.__currentElement,\"g\"===a.nodeName||\"svg\"===a.nodeName?a:this.__closestGroupOrSvg(a.parentNode)},f.prototype.getSerializedSvg=function(a){var b,c,d,e,f,g,h=(new XMLSerializer).serializeToString(this.__root);if(g=/xmlns=\"http:\\/\\/www\\.w3\\.org\\/2000\\/svg\".+xmlns=\"http:\\/\\/www\\.w3\\.org\\/2000\\/svg/gi,g.test(h)&&(h=h.replace('xmlns=\"http://www.w3.org/2000/svg','xmlns:xlink=\"http://www.w3.org/1999/xlink')),a)for(b=Object.keys(i),c=0;c<b.length;c++)d=b[c],e=i[d],f=new RegExp(d,\"gi\"),f.test(h)&&(h=h.replace(f,e));return h},f.prototype.getSvg=function(){return this.__root},f.prototype.save=function(){var a=this.__createElement(\"g\"),b=this.__closestGroupOrSvg();this.__groupStack.push(b),b.appendChild(a),this.__currentElement=a,this.__stack.push(this.__getStyleState())},f.prototype.restore=function(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=null,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);var a=this.__stack.pop();this.__applyStyleState(a)},f.prototype.__addTransform=function(a){var b=this.__closestGroupOrSvg();if(b.childNodes.length>0){\"path\"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:b,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var c=this.__createElement(\"g\");b.appendChild(c),this.__currentElement=c}var d=this.__currentElement.getAttribute(\"transform\");d?d+=\" \":d=\"\",d+=a,this.__currentElement.setAttribute(\"transform\",d)},f.prototype.scale=function(b,c){void 0===c&&(c=b),this.__addTransform(a(\"scale({x},{y})\",{x:b,y:c}))},f.prototype.rotate=function(b){var c=180*b/Math.PI;this.__addTransform(a(\"rotate({angle},{cx},{cy})\",{angle:c,cx:0,cy:0}))},f.prototype.translate=function(b,c){this.__addTransform(a(\"translate({x},{y})\",{x:b,y:c}))},f.prototype.transform=function(b,c,d,e,f,g){this.__addTransform(a(\"matrix({a},{b},{c},{d},{e},{f})\",{a:b,b:c,c:d,d:e,e:f,f:g}))},f.prototype.beginPath=function(){var a,b;this.__currentDefaultPath=\"\",this.__currentPosition={},a=this.__createElement(\"path\",{},!0),b=this.__closestGroupOrSvg(),b.appendChild(a),this.__currentElement=a},f.prototype.__applyCurrentDefaultPath=function(){var a=this.__currentElement;\"path\"===a.nodeName?a.setAttribute(\"d\",this.__currentDefaultPath):console.error(\"Attempted to apply path command to node\",a.nodeName)},f.prototype.__addPathCommand=function(a){this.__currentDefaultPath+=\" \",this.__currentDefaultPath+=a},f.prototype.moveTo=function(b,c){\"path\"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:b,y:c},this.__addPathCommand(a(\"M {x} {y}\",{x:b,y:c}))},f.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand(\"Z\")},f.prototype.lineTo=function(b,c){this.__currentPosition={x:b,y:c},this.__currentDefaultPath.indexOf(\"M\")>-1?this.__addPathCommand(a(\"L {x} {y}\",{x:b,y:c})):this.__addPathCommand(a(\"M {x} {y}\",{x:b,y:c}))},f.prototype.bezierCurveTo=function(b,c,d,e,f,g){this.__currentPosition={x:f,y:g},this.__addPathCommand(a(\"C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}\",{cp1x:b,cp1y:c,cp2x:d,cp2y:e,x:f,y:g}))},f.prototype.quadraticCurveTo=function(b,c,d,e){this.__currentPosition={x:d,y:e},this.__addPathCommand(a(\"Q {cpx} {cpy} {x} {y}\",{cpx:b,cpy:c,x:d,y:e}))};var j=function(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]);return[a[0]/b,a[1]/b]};f.prototype.arcTo=function(a,b,c,d,e){var f=this.__currentPosition&&this.__currentPosition.x,g=this.__currentPosition&&this.__currentPosition.y;if(void 0!==f&&void 0!==g){if(e<0)throw new Error(\"IndexSizeError: The radius provided (\"+e+\") is negative.\");if(f===a&&g===b||a===c&&b===d||0===e)return void this.lineTo(a,b);var h=j([f-a,g-b]),i=j([c-a,d-b]);if(h[0]*i[1]==h[1]*i[0])return void this.lineTo(a,b);var k=h[0]*i[0]+h[1]*i[1],l=Math.acos(Math.abs(k)),m=j([h[0]+i[0],h[1]+i[1]]),n=e/Math.sin(l/2),o=a+n*m[0],p=b+n*m[1],q=[-h[1],h[0]],r=[i[1],-i[0]],s=function(a){var b=a[0];return a[1]>=0?Math.acos(b):-Math.acos(b)},t=s(q),u=s(r);this.lineTo(o+q[0]*e,p+q[1]*e),this.arc(o,p,e,t,u)}},f.prototype.stroke=function(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"fill stroke markers\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"stroke\")},f.prototype.fill=function(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"stroke fill markers\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"fill\")},f.prototype.rect=function(a,b,c,d){\"path\"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(a,b),this.lineTo(a+c,b),this.lineTo(a+c,b+d),this.lineTo(a,b+d),this.lineTo(a,b),this.closePath()},f.prototype.fillRect=function(a,b,c,d){var e,f;e=this.__createElement(\"rect\",{x:a,y:b,width:c,height:d,\"shape-rendering\":\"crispEdges\"},!0),f=this.__closestGroupOrSvg(),f.appendChild(e),this.__currentElement=e,this.__applyStyleToCurrentElement(\"fill\")},f.prototype.strokeRect=function(a,b,c,d){var e,f;e=this.__createElement(\"rect\",{x:a,y:b,width:c,height:d},!0),f=this.__closestGroupOrSvg(),f.appendChild(e),this.__currentElement=e,this.__applyStyleToCurrentElement(\"stroke\")},f.prototype.__clearCanvas=function(){for(var a=this.__closestGroupOrSvg(),b=a.getAttribute(\"transform\"),c=this.__root.childNodes[1],d=c.childNodes,e=d.length-1;e>=0;e--)d[e]&&c.removeChild(d[e]);this.__currentElement=c,this.__groupStack=[],b&&this.__addTransform(b)},f.prototype.clearRect=function(a,b,c,d){if(0===a&&0===b&&c===this.width&&d===this.height)return void this.__clearCanvas();var e,f=this.__closestGroupOrSvg();e=this.__createElement(\"rect\",{x:a,y:b,width:c,height:d,fill:\"#FFFFFF\"},!0),f.appendChild(e)},f.prototype.createLinearGradient=function(a,c,d,e){var f=this.__createElement(\"linearGradient\",{id:b(this.__ids),x1:a+\"px\",x2:d+\"px\",y1:c+\"px\",y2:e+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(f),new g(f,this)},f.prototype.createRadialGradient=function(a,c,d,e,f,h){var i=this.__createElement(\"radialGradient\",{id:b(this.__ids),cx:e+\"px\",cy:f+\"px\",r:h+\"px\",fx:a+\"px\",fy:c+\"px\",gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(i),new g(i,this)},f.prototype.__parseFont=function(){var a=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-,\\'\\\"\\sa-z0-9]+?)\\s*$/i,b=a.exec(this.font),c={style:b[1]||\"normal\",size:b[4]||\"10px\",family:b[6]||\"sans-serif\",weight:b[3]||\"normal\",decoration:b[2]||\"normal\",href:null};return\"underline\"===this.__fontUnderline&&(c.decoration=\"underline\"),this.__fontHref&&(c.href=this.__fontHref),c},f.prototype.__wrapTextLink=function(a,b){if(a.href){var c=this.__createElement(\"a\");return c.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",a.href),c.appendChild(b),c}return b},f.prototype.__applyText=function(a,b,e,f){var g=this.__parseFont(),h=this.__closestGroupOrSvg(),i=this.__createElement(\"text\",{\"font-family\":g.family,\"font-size\":g.size,\"font-style\":g.style,\"font-weight\":g.weight,\"text-decoration\":g.decoration,x:b,y:e,\"text-anchor\":c(this.textAlign),\"dominant-baseline\":d(this.textBaseline)},!0);i.appendChild(this.__document.createTextNode(a)),this.__currentElement=i,this.__applyStyleToCurrentElement(f),h.appendChild(this.__wrapTextLink(g,i))},f.prototype.fillText=function(a,b,c){this.__applyText(a,b,c,\"fill\")},f.prototype.strokeText=function(a,b,c){this.__applyText(a,b,c,\"stroke\")},f.prototype.measureText=function(a){return this.__ctx.font=this.font,this.__ctx.measureText(a)},f.prototype.arc=function(b,c,d,e,f,g){if(e!==f){e%=2*Math.PI,f%=2*Math.PI,e===f&&(f=(f+2*Math.PI-.001*(g?-1:1))%(2*Math.PI));var h=b+d*Math.cos(f),i=c+d*Math.sin(f),j=b+d*Math.cos(e),k=c+d*Math.sin(e),l=g?0:1,m=0,n=f-e;n<0&&(n+=2*Math.PI),m=g?n>Math.PI?0:1:n>Math.PI?1:0,this.lineTo(j,k),this.__addPathCommand(a(\"A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}\",{rx:d,ry:d,xAxisRotation:0,largeArcFlag:m,sweepFlag:l,endX:h,endY:i})),this.__currentPosition={x:h,y:i}}},f.prototype.clip=function(){var c=this.__closestGroupOrSvg(),d=this.__createElement(\"clipPath\"),e=b(this.__ids),f=this.__createElement(\"g\");this.__applyCurrentDefaultPath(),c.removeChild(this.__currentElement),d.setAttribute(\"id\",e),d.appendChild(this.__currentElement),this.__defs.appendChild(d),c.setAttribute(\"clip-path\",a(\"url(#{id})\",{id:e})),c.appendChild(f),this.__currentElement=f},f.prototype.drawImage=function(){var a,b,c,d,e,g,h,i,j,k,l,m,n,o,p=Array.prototype.slice.call(arguments),q=p[0],r=0,s=0;if(3===p.length)a=p[1],b=p[2],e=q.width,g=q.height,c=e,d=g;else if(5===p.length)a=p[1],b=p[2],c=p[3],d=p[4],e=q.width,g=q.height;else{if(9!==p.length)throw new Error(\"Invalid number of arguments passed to drawImage: \"+arguments.length);r=p[1],s=p[2],e=p[3],g=p[4],a=p[5],b=p[6],c=p[7],d=p[8]}h=this.__closestGroupOrSvg(),this.__currentElement;var t=\"translate(\"+a+\", \"+b+\")\";if(q instanceof f){if(i=q.getSvg().cloneNode(!0),i.childNodes&&i.childNodes.length>1){for(j=i.childNodes[0];j.childNodes.length;)o=j.childNodes[0].getAttribute(\"id\"),this.__ids[o]=o,this.__defs.appendChild(j.childNodes[0]);if(k=i.childNodes[1]){var u,v=k.getAttribute(\"transform\");u=v?v+\" \"+t:t,k.setAttribute(\"transform\",u),h.appendChild(k)}}}else\"CANVAS\"!==q.nodeName&&\"IMG\"!==q.nodeName||(l=this.__createElement(\"image\"),l.setAttribute(\"width\",c),l.setAttribute(\"height\",d),l.setAttribute(\"preserveAspectRatio\",\"none\"),l.setAttribute(\"opacity\",this.globalAlpha),(r||s||e!==q.width||g!==q.height)&&(m=this.__document.createElement(\"canvas\"),m.width=c,m.height=d,n=m.getContext(\"2d\"),n.drawImage(q,r,s,e,g,0,0,c,d),q=m),l.setAttribute(\"transform\",t),l.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",\"CANVAS\"===q.nodeName?q.toDataURL():q.originalSrc),h.appendChild(l))},f.prototype.createPattern=function(a,c){var d,e=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"pattern\"),g=b(this.__ids);return e.setAttribute(\"id\",g),e.setAttribute(\"width\",a.width),e.setAttribute(\"height\",a.height),\"CANVAS\"===a.nodeName||\"IMG\"===a.nodeName?(d=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\"),d.setAttribute(\"width\",a.width),d.setAttribute(\"height\",a.height),d.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",\"CANVAS\"===a.nodeName?a.toDataURL():a.getAttribute(\"src\")),e.appendChild(d),this.__defs.appendChild(e)):a instanceof f&&(e.appendChild(a.__root.childNodes[1]),this.__defs.appendChild(e)),new h(e,this)},f.prototype.setLineDash=function(a){a&&a.length>0?this.lineDash=a.join(\",\"):this.lineDash=null},f.prototype.drawFocusRing=function(){},f.prototype.createImageData=function(){},f.prototype.getImageData=function(){},f.prototype.putImageData=function(){},f.prototype.globalCompositeOperation=function(){},f.prototype.setTransform=function(){},\"object\"==typeof window&&(window.C2S=f),\"object\"==typeof module&&\"object\"==typeof module.exports&&(module.exports=f)}(),function(){\"use strict\";function a(a,b,c){if(this.mode=q.MODE_8BIT_BYTE,this.data=a,this.parsedData=[],b){for(var d=0,e=this.data.length;d<e;d++){var f=[],g=this.data.charCodeAt(d);f[0]=g,this.parsedData.push(f)}this.parsedData=Array.prototype.concat.apply([],this.parsedData)}else this.parsedData=function(a){for(var b=[],c=0;c<a.length;c++){var d=a.charCodeAt(c);d<128?b.push(d):d<2048?b.push(192|d>>6,128|63&d):d<55296||d>=57344?b.push(224|d>>12,128|d>>6&63,128|63&d):(c++,d=65536+((1023&d)<<10|1023&a.charCodeAt(c)),b.push(240|d>>18,128|d>>12&63,128|d>>6&63,128|63&d))}return b}(a);this.parsedData=Array.prototype.concat.apply([],this.parsedData),c||this.parsedData.length==this.data.length||(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function b(a,b){this.typeNumber=a,this.errorCorrectLevel=b,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function c(a,b){if(a.length==i)throw new Error(a.length+\"/\"+b);for(var c=0;c<a.length&&0==a[c];)c++;this.num=new Array(a.length-c+b);for(var d=0;d<a.length-c;d++)this.num[d]=a[d+c]}function d(a,b){this.totalCount=a,this.dataCount=b}function e(){this.buffer=[],this.length=0}function f(){var a=!1,b=navigator.userAgent;if(/android/i.test(b)){a=!0;var c=b.toString().match(/android ([0-9]\\.[0-9])/i);c&&c[1]&&(a=parseFloat(c[1]))}return a}function g(a,b){for(var c=b.correctLevel,d=1,e=h(a),f=0,g=w.length;f<g;f++){var i=0;switch(c){case r.L:i=w[f][0];break;case r.M:i=w[f][1];break;case r.Q:i=w[f][2];break;case r.H:i=w[f][3]}if(e<=i)break;d++}if(d>w.length)throw new Error(\"Too long data. the CorrectLevel.\"+[\"M\",\"L\",\"H\",\"Q\"][c]+\" limit length is \"+i);return 0!=b.version&&(d<=b.version?(d=b.version,b.runVersion=d):(console.warn(\"QR Code version \"+b.version+\" too small, run version use \"+d),b.runVersion=d)),d}function h(a){return encodeURI(a).toString().replace(/\\%[0-9a-fA-F]{2}/g,\"a\").length}var i,j,k=\"object\"==typeof global&&global&&global.Object===Object&&global,l=\"object\"==typeof self&&self&&self.Object===Object&&self,m=k||l||Function(\"return this\")(),n=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,o=n&&\"object\"==typeof module&&module&&!module.nodeType&&module,p=m.QRCode;a.prototype={getLength:function(a){return this.parsedData.length},write:function(a){for(var b=0,c=this.parsedData.length;b<c;b++)a.put(this.parsedData[b],8)}},b.prototype={addData:function(b,c,d){var e=new a(b,c,d);this.dataList.push(e),this.dataCache=null},isDark:function(a,b){if(a<0||this.moduleCount<=a||b<0||this.moduleCount<=b)throw new Error(a+\",\"+b);return this.modules[a][b][0]},getEye:function(a,b){if(a<0||this.moduleCount<=a||b<0||this.moduleCount<=b)throw new Error(a+\",\"+b);var c=this.modules[a][b];if(c[1]){var d=\"P\"+c[1]+\"_\"+c[2];return\"A\"==c[2]&&(d=\"A\"+c[1]),{isDark:c[0],type:d}}return null},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(a,c){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var d=0;d<this.moduleCount;d++){this.modules[d]=new Array(this.moduleCount);for(var e=0;e<this.moduleCount;e++)this.modules[d][e]=[]}this.setupPositionProbePattern(0,0,\"TL\"),this.setupPositionProbePattern(this.moduleCount-7,0,\"BL\"),this.setupPositionProbePattern(0,this.moduleCount-7,\"TR\"),this.setupPositionAdjustPattern(\"A\"),this.setupTimingPattern(),this.setupTypeInfo(a,c),this.typeNumber>=7&&this.setupTypeNumber(a),null==this.dataCache&&(this.dataCache=b.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,c)},setupPositionProbePattern:function(a,b,c){for(var d=-1;d<=7;d++)if(!(a+d<=-1||this.moduleCount<=a+d))for(var e=-1;e<=7;e++)b+e<=-1||this.moduleCount<=b+e||(0<=d&&d<=6&&(0==e||6==e)||0<=e&&e<=6&&(0==d||6==d)||2<=d&&d<=4&&2<=e&&e<=4?(this.modules[a+d][b+e][0]=!0,this.modules[a+d][b+e][2]=c,this.modules[a+d][b+e][1]=-0==d||-0==e||6==d||6==e?\"O\":\"I\"):this.modules[a+d][b+e][0]=!1)},getBestMaskPattern:function(){for(var a=0,b=0,c=0;c<8;c++){this.makeImpl(!0,c);var d=t.getLostPoint(this);(0==c||a>d)&&(a=d,b=c)}return b},createMovieClip:function(a,b,c){var d=a.createEmptyMovieClip(b,c);this.make();for(var e=0;e<this.modules.length;e++)for(var f=1*e,g=0;g<this.modules[e].length;g++){var h=1*g,i=this.modules[e][g][0];i&&(d.beginFill(0,100),d.moveTo(h,f),d.lineTo(h+1,f),d.lineTo(h+1,f+1),d.lineTo(h,f+1),d.endFill())}return d},setupTimingPattern:function(){for(var a=8;a<this.moduleCount-8;a++)null==this.modules[a][6][0]&&(this.modules[a][6][0]=a%2==0);for(var b=8;b<this.moduleCount-8;b++)null==this.modules[6][b][0]&&(this.modules[6][b][0]=b%2==0)},setupPositionAdjustPattern:function(a){for(var b=t.getPatternPosition(this.typeNumber),c=0;c<b.length;c++)for(var d=0;d<b.length;d++){var e=b[c],f=b[d];if(null==this.modules[e][f][0])for(var g=-2;g<=2;g++)for(var h=-2;h<=2;h++)-2==g||2==g||-2==h||2==h||0==g&&0==h?(this.modules[e+g][f+h][0]=!0,this.modules[e+g][f+h][2]=a,this.modules[e+g][f+h][1]=-2==g||-2==h||2==g||2==h?\"O\":\"I\"):this.modules[e+g][f+h][0]=!1}},setupTypeNumber:function(a){for(var b=t.getBCHTypeNumber(this.typeNumber),c=0;c<18;c++){var d=!a&&1==(b>>c&1);this.modules[Math.floor(c/3)][c%3+this.moduleCount-8-3][0]=d}for(var c=0;c<18;c++){var d=!a&&1==(b>>c&1);this.modules[c%3+this.moduleCount-8-3][Math.floor(c/3)][0]=d}},setupTypeInfo:function(a,b){for(var c=this.errorCorrectLevel<<3|b,d=t.getBCHTypeInfo(c),e=0;e<15;e++){var f=!a&&1==(d>>e&1);e<6?this.modules[e][8][0]=f:e<8?this.modules[e+1][8][0]=f:this.modules[this.moduleCount-15+e][8][0]=f}for(var e=0;e<15;e++){var f=!a&&1==(d>>e&1);e<8?this.modules[8][this.moduleCount-e-1][0]=f:e<9?this.modules[8][15-e-1+1][0]=f:this.modules[8][15-e-1][0]=f}this.modules[this.moduleCount-8][8][0]=!a},mapData:function(a,b){for(var c=-1,d=this.moduleCount-1,e=7,f=0,g=this.moduleCount-1;g>0;g-=2)for(6==g&&g--;;){for(var h=0;h<2;h++)if(null==this.modules[d][g-h][0]){var i=!1;f<a.length&&(i=1==(a[f]>>>e&1));var j=t.getMask(b,d,g-h);j&&(i=!i),this.modules[d][g-h][0]=i,e--,-1==e&&(f++,e=7)}if((d+=c)<0||this.moduleCount<=d){d-=c,c=-c;break}}}},b.PAD0=236,b.PAD1=17,b.createData=function(a,c,f){for(var g=d.getRSBlocks(a,c),h=new e,i=0;i<f.length;i++){var j=f[i];h.put(j.mode,4),h.put(j.getLength(),t.getLengthInBits(j.mode,a)),j.write(h)}for(var k=0,i=0;i<g.length;i++)k+=g[i].dataCount;if(h.getLengthInBits()>8*k)throw new Error(\"code length overflow. (\"+h.getLengthInBits()+\">\"+8*k+\")\");for(h.getLengthInBits()+4<=8*k&&h.put(0,4);h.getLengthInBits()%8!=0;)h.putBit(!1);for(;;){if(h.getLengthInBits()>=8*k)break;if(h.put(b.PAD0,8),h.getLengthInBits()>=8*k)break;h.put(b.PAD1,8)}return b.createBytes(h,g)},b.createBytes=function(a,b){for(var d=0,e=0,f=0,g=new Array(b.length),h=new Array(b.length),i=0;i<b.length;i++){var j=b[i].dataCount,k=b[i].totalCount-j;e=Math.max(e,j),f=Math.max(f,k),g[i]=new Array(j);for(var l=0;l<g[i].length;l++)g[i][l]=255&a.buffer[l+d];d+=j;var m=t.getErrorCorrectPolynomial(k),n=new c(g[i],m.getLength()-1),o=n.mod(m);h[i]=new Array(m.getLength()-1);for(var l=0;l<h[i].length;l++){var p=l+o.getLength()-h[i].length;h[i][l]=p>=0?o.get(p):0}}for(var q=0,l=0;l<b.length;l++)q+=b[l].totalCount;for(var r=new Array(q),s=0,l=0;l<e;l++)for(var i=0;i<b.length;i++)l<g[i].length&&(r[s++]=g[i][l]);for(var l=0;l<f;l++)for(var i=0;i<b.length;i++)l<h[i].length&&(r[s++]=h[i][l]);return r};for(var q={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},r={L:1,M:0,Q:3,H:2},s={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},t={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(a){for(var b=a<<10;t.getBCHDigit(b)-t.getBCHDigit(t.G15)>=0;)b^=t.G15<<t.getBCHDigit(b)-t.getBCHDigit(t.G15);return(a<<10|b)^t.G15_MASK},getBCHTypeNumber:function(a){for(var b=a<<12;t.getBCHDigit(b)-t.getBCHDigit(t.G18)>=0;)b^=t.G18<<t.getBCHDigit(b)-t.getBCHDigit(t.G18);return a<<12|b},getBCHDigit:function(a){for(var b=0;0!=a;)b++,a>>>=1;return b},getPatternPosition:function(a){return t.PATTERN_POSITION_TABLE[a-1]},getMask:function(a,b,c){switch(a){case s.PATTERN000:return(b+c)%2==0;case s.PATTERN001:return b%2==0;case s.PATTERN010:return c%3==0;case s.PATTERN011:return(b+c)%3==0;case s.PATTERN100:return(Math.floor(b/2)+Math.floor(c/3))%2==0;case s.PATTERN101:return b*c%2+b*c%3==0;case s.PATTERN110:return(b*c%2+b*c%3)%2==0;case s.PATTERN111:return(b*c%3+(b+c)%2)%2==0;default:throw new Error(\"bad maskPattern:\"+a)}},getErrorCorrectPolynomial:function(a){for(var b=new c([1],0),d=0;d<a;d++)b=b.multiply(new c([1,u.gexp(d)],0));return b},getLengthInBits:function(a,b){if(1<=b&&b<10)switch(a){case q.MODE_NUMBER:return 10;case q.MODE_ALPHA_NUM:return 9;case q.MODE_8BIT_BYTE:case q.MODE_KANJI:return 8;default:throw new Error(\"mode:\"+a)}else if(b<27)switch(a){case q.MODE_NUMBER:return 12;case q.MODE_ALPHA_NUM:return 11;case q.MODE_8BIT_BYTE:return 16;case q.MODE_KANJI:return 10;default:throw new Error(\"mode:\"+a)}else{if(!(b<41))throw new Error(\"type:\"+b);switch(a){case q.MODE_NUMBER:return 14;case q.MODE_ALPHA_NUM:return 13;case q.MODE_8BIT_BYTE:return 16;case q.MODE_KANJI:return 12;default:throw new Error(\"mode:\"+a)}}},getLostPoint:function(a){for(var b=a.getModuleCount(),c=0,d=0;d<b;d++)for(var e=0;e<b;e++){for(var f=0,g=a.isDark(d,e),h=-1;h<=1;h++)if(!(d+h<0||b<=d+h))for(var i=-1;i<=1;i++)e+i<0||b<=e+i||0==h&&0==i||g==a.isDark(d+h,e+i)&&f++;f>5&&(c+=3+f-5)}for(var d=0;d<b-1;d++)for(var e=0;e<b-1;e++){var j=0;a.isDark(d,e)&&j++,a.isDark(d+1,e)&&j++,a.isDark(d,e+1)&&j++,a.isDark(d+1,e+1)&&j++,0!=j&&4!=j||(c+=3)}for(var d=0;d<b;d++)for(var e=0;e<b-6;e++)a.isDark(d,e)&&!a.isDark(d,e+1)&&a.isDark(d,e+2)&&a.isDark(d,e+3)&&a.isDark(d,e+4)&&!a.isDark(d,e+5)&&a.isDark(d,e+6)&&(c+=40);for(var e=0;e<b;e++)for(var d=0;d<b-6;d++)a.isDark(d,e)&&!a.isDark(d+1,e)&&a.isDark(d+2,e)&&a.isDark(d+3,e)&&a.isDark(d+4,e)&&!a.isDark(d+5,e)&&a.isDark(d+6,e)&&(c+=40);for(var k=0,e=0;e<b;e++)for(var d=0;d<b;d++)a.isDark(d,e)&&k++;return c+=Math.abs(100*k/b/b-50)/5*10}},u={glog:function(a){if(a<1)throw new Error(\"glog(\"+a+\")\");return u.LOG_TABLE[a]},gexp:function(a){for(;a<0;)a+=255;for(;a>=256;)a-=255;return u.EXP_TABLE[a]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},v=0;v<8;v++)u.EXP_TABLE[v]=1<<v;for(var v=8;v<256;v++)u.EXP_TABLE[v]=u.EXP_TABLE[v-4]^u.EXP_TABLE[v-5]^u.EXP_TABLE[v-6]^u.EXP_TABLE[v-8];for(var v=0;v<255;v++)u.LOG_TABLE[u.EXP_TABLE[v]]=v;c.prototype={get:function(a){return this.num[a]},getLength:function(){return this.num.length},multiply:function(a){for(var b=new Array(this.getLength()+a.getLength()-1),d=0;d<this.getLength();d++)for(var e=0;e<a.getLength();e++)b[d+e]^=u.gexp(u.glog(this.get(d))+u.glog(a.get(e)));return new c(b,0)},mod:function(a){if(this.getLength()-a.getLength()<0)return this;for(var b=u.glog(this.get(0))-u.glog(a.get(0)),d=new Array(this.getLength()),e=0;e<this.getLength();e++)d[e]=this.get(e);for(var e=0;e<a.getLength();e++)d[e]^=u.gexp(u.glog(a.get(e))+b);return new c(d,0).mod(a)}},\nd.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],d.getRSBlocks=function(a,b){var c=d.getRsBlockTable(a,b);if(c==i)throw new Error(\"bad rs block @ typeNumber:\"+a+\"/errorCorrectLevel:\"+b);for(var e=c.length/3,f=[],g=0;g<e;g++)for(var h=c[3*g+0],j=c[3*g+1],k=c[3*g+2],l=0;l<h;l++)f.push(new d(j,k));return f},d.getRsBlockTable=function(a,b){switch(b){case r.L:return d.RS_BLOCK_TABLE[4*(a-1)+0];case r.M:return d.RS_BLOCK_TABLE[4*(a-1)+1];case r.Q:return d.RS_BLOCK_TABLE[4*(a-1)+2];case r.H:return d.RS_BLOCK_TABLE[4*(a-1)+3];default:return i}},e.prototype={get:function(a){var b=Math.floor(a/8);return 1==(this.buffer[b]>>>7-a%8&1)},put:function(a,b){for(var c=0;c<b;c++)this.putBit(1==(a>>>b-c-1&1))},getLengthInBits:function(){return this.length},putBit:function(a){var b=Math.floor(this.length/8);this.buffer.length<=b&&this.buffer.push(0),a&&(this.buffer[b]|=128>>>this.length%8),this.length++}};var w=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]],x=function(){return\"undefined\"!=typeof CanvasRenderingContext2D}()?function(){function a(){if(\"svg\"==this._htOption.drawer){var a=this._oContext.getSerializedSvg(!0);this.dataURL=a,this._el.innerHTML=a}else{!function(a,b,c,d){var e=document.createElement(\"canvas\");e.width=c,e.height=d,e.getContext(\"2d\").drawImage(a,0,0,c,d),a.width=c,a.height=d,b.drawImage(e,0,0)}(this._elCanvas,this._oContext,this._htOption.width+2*this._htOption.quietZone,this._htOption.height+this._htOption.titleHeight+2*this._htOption.quietZone);try{var b=this._elCanvas.toDataURL(\"image/png\");this.dataURL=b}catch(a){console.error(a)}}this._htOption.onRenderingEnd&&(this.dataURL||console.error(\"Can not get base64 data, please check: 1. Published the page and image to the server 2. The image request support CORS 3. Configured `crossOrigin:'anonymous'` option\"),this._htOption.onRenderingEnd(this._htOption,this.dataURL))}function b(a,b){var c=this;if(c._fFail=b,c._fSuccess=a,null===c._bSupportDataURI){var d=document.createElement(\"img\"),e=function(){c._bSupportDataURI=!1,c._fFail&&c._fFail.call(c)},f=function(){c._bSupportDataURI=!0,c._fSuccess&&c._fSuccess.call(c)};d.onabort=e,d.onerror=e,d.onload=f,d.src=\"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\"}else!0===c._bSupportDataURI&&c._fSuccess?c._fSuccess.call(c):!1===c._bSupportDataURI&&c._fFail&&c._fFail.call(c)}if(m._android&&m._android<=2.1){var c=1/window.devicePixelRatio,d=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(a,b,e,f,g,h,i,j,k){if(\"nodeName\"in a&&/img/i.test(a.nodeName))for(var l=arguments.length-1;l>=1;l--)arguments[l]=arguments[l]*c;else void 0===j&&(arguments[1]*=c,arguments[2]*=c,arguments[3]*=c,arguments[4]*=c);d.apply(this,arguments)}}var e=function(a,b){this._bIsPainted=!1,this._android=f(),this._el=a,this._htOption=b,\"svg\"==this._htOption.drawer?(this._oContext={},this._elCanvas={}):(this._elCanvas=document.createElement(\"canvas\"),this._el.appendChild(this._elCanvas),this._oContext=this._elCanvas.getContext(\"2d\")),this._bSupportDataURI=null,this.dataURL=null};return e.prototype.draw=function(a){function b(){d.quietZone>0&&d.quietZoneColor&&(j.lineWidth=0,j.fillStyle=d.quietZoneColor,j.fillRect(0,0,k._elCanvas.width,d.quietZone),j.fillRect(0,d.quietZone,d.quietZone,k._elCanvas.height-2*d.quietZone),j.fillRect(k._elCanvas.width-d.quietZone,d.quietZone,d.quietZone,k._elCanvas.height-2*d.quietZone),j.fillRect(0,k._elCanvas.height-d.quietZone,k._elCanvas.width,d.quietZone))}function c(a){function c(a){var c=Math.round(d.width/3.5),e=Math.round(d.height/3.5);c!==e&&(c=e),d.logoMaxWidth?c=Math.round(d.logoMaxWidth):d.logoWidth&&(c=Math.round(d.logoWidth)),d.logoMaxHeight?e=Math.round(d.logoMaxHeight):d.logoHeight&&(e=Math.round(d.logoHeight));var f,g;void 0===a.naturalWidth?(f=a.width,g=a.height):(f=a.naturalWidth,g=a.naturalHeight),(d.logoMaxWidth||d.logoMaxHeight)&&(d.logoMaxWidth&&f<=c&&(c=f),d.logoMaxHeight&&g<=e&&(e=g),f<=c&&g<=e&&(c=f,e=g));var h=(d.realWidth-c)/2,i=(d.calculatedQRHeight-e)/2+d.titleHeight+d.quietZone,k=Math.min(c/f,e/g),l=f*k,m=g*k;(d.logoMaxWidth||d.logoMaxHeight)&&(c=l,e=m,h=(d.realWidth-c)/2,i=(d.realHeight-e)/2),d.logoBackgroundTransparent||(j.fillStyle=d.logoBackgroundColor,j.fillRect(h,i,c,e));var n=j.imageSmoothingQuality,o=j.imageSmoothingEnabled;j.imageSmoothingEnabled=!0,j.imageSmoothingQuality=\"high\",j.drawImage(a,h+(c-l)/2,i+(e-m)/2,l,m),j.imageSmoothingEnabled=o,j.imageSmoothingQuality=n,b(),s._bIsPainted=!0,s.makeImage()}d.onRenderingStart&&d.onRenderingStart(d);for(var h=0;h<e;h++)for(var i=0;i<e;i++){var k=i*f+d.quietZone,l=h*g+d.quietZone,m=a.isDark(h,i),n=a.getEye(h,i),o=d.dotScale;j.lineWidth=0;var p,q;n?(p=d[n.type]||d[n.type.substring(0,2)]||d.colorDark,q=d.colorLight):d.backgroundImage?(q=\"rgba(0,0,0,0)\",6==h?d.autoColor?(p=d.timing_H||d.timing||d.autoColorDark,q=d.autoColorLight):p=d.timing_H||d.timing||d.colorDark:6==i?d.autoColor?(p=d.timing_V||d.timing||d.autoColorDark,q=d.autoColorLight):p=d.timing_V||d.timing||d.colorDark:d.autoColor?(p=d.autoColorDark,q=d.autoColorLight):p=d.colorDark):(p=6==h?d.timing_H||d.timing||d.colorDark:6==i?d.timing_V||d.timing||d.colorDark:d.colorDark,q=d.colorLight),j.strokeStyle=m?p:q,j.fillStyle=m?p:q,n?(o=\"AO\"==n.type?d.dotScaleAO:\"AI\"==n.type?d.dotScaleAI:1,d.backgroundImage&&d.autoColor?(p=(\"AO\"==n.type?d.AI:d.AO)||d.autoColorDark,q=d.autoColorLight):p=(\"AO\"==n.type?d.AI:d.AO)||p,m=n.isDark,j.fillRect(Math.ceil(k+f*(1-o)/2),Math.ceil(d.titleHeight+l+g*(1-o)/2),Math.ceil(f*o),Math.ceil(g*o))):6==h?(o=d.dotScaleTiming_H,j.fillRect(Math.ceil(k+f*(1-o)/2),Math.ceil(d.titleHeight+l+g*(1-o)/2),Math.ceil(f*o),Math.ceil(g*o))):6==i?(o=d.dotScaleTiming_V,j.fillRect(Math.ceil(k+f*(1-o)/2),Math.ceil(d.titleHeight+l+g*(1-o)/2),Math.ceil(f*o),Math.ceil(g*o))):(d.backgroundImage,j.fillRect(Math.ceil(k+f*(1-o)/2),Math.ceil(d.titleHeight+l+g*(1-o)/2),Math.ceil(f*o),Math.ceil(g*o))),1==d.dotScale||n||(j.strokeStyle=d.colorLight)}if(d.title&&(j.fillStyle=d.titleBackgroundColor,j.fillRect(d.quietZone,d.quietZone,d.calculatedQRWidth,d.titleHeight),j.font=d.titleFont,j.fillStyle=d.titleColor,j.textAlign=\"center\",j.fillText(d.title,this._elCanvas.width/2,+d.quietZone+d.titleTop)),d.subTitle&&(j.font=d.subTitleFont,j.fillStyle=d.subTitleColor,j.fillText(d.subTitle,this._elCanvas.width/2,+d.quietZone+d.subTitleTop)),d.logo){var r=new Image,s=this;r.onload=function(){c(r)},r.onerror=function(a){console.error(a)},null!=d.crossOrigin&&(r.crossOrigin=d.crossOrigin),r.originalSrc=d.logo,r.src=d.logo}else b(),this._bIsPainted=!0,this.makeImage()}var d=this._htOption,e=a.getModuleCount(),f=d.width/e,g=d.height/e;f<=1&&(f=1),g<=1&&(g=1),f=Math.round(f),g=Math.round(g);var h=f*e,i=g*e;d.heightWithTitle=i+d.titleHeight,d.realHeight=d.heightWithTitle+2*d.quietZone,d.realWidth=h+2*d.quietZone,d.calculatedQRWidth=h,d.calculatedQRHeight=i,this._elCanvas.width=d.realWidth,this._elCanvas.height=d.realHeight,\"canvas\"!=d.drawer&&(this._oContext=new C2S(d.width+2*this._htOption.quietZone,d.height+d.titleHeight+2*this._htOption.quietZone,d.realWidth,d.realHeight)),this.clear();var j=this._oContext;j.lineWidth=0,j.fillStyle=d.colorLight,j.fillRect(0,0,this._elCanvas.width,this._elCanvas.height),j.clearRect(d.quietZone,d.quietZone,d.calculatedQRWidth,d.titleHeight);var k=this;if(d.backgroundImage){var l=new Image;l.onload=function(){j.globalAlpha=1,j.globalAlpha=d.backgroundImageAlpha;var b=j.imageSmoothingQuality,e=j.imageSmoothingEnabled;j.imageSmoothingEnabled=!0,j.imageSmoothingQuality=\"high\",(d.title||d.subTitle)&&d.titleHeight?j.drawImage(l,d.quietZone,d.quietZone+d.titleHeight,d.width,d.height):j.drawImage(l,0,0,d.realWidth,d.realHeight),j.imageSmoothingEnabled=e,j.imageSmoothingQuality=b,j.globalAlpha=1,c.call(k,a)},null!=d.crossOrigin&&(l.crossOrigin=d.crossOrigin),l.originalSrc=d.backgroundImage,l.src=d.backgroundImage}else c.call(k,a)},e.prototype.makeImage=function(){this._bIsPainted&&b.call(this,a)},e.prototype.isPainted=function(){return this._bIsPainted},e.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},e.prototype.remove=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1,this._el.innerHTML=\"\"},e.prototype.round=function(a){return a?Math.floor(1e3*a)/1e3:a},e}():function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){var b=this._htOption,c=this._el,d=a.getModuleCount(),e=b.width/d,f=b.height/d;e<=1&&(e=1),f<=1&&(f=1);var g=e*d,h=f*d;b.heightWithTitle=h+b.titleHeight,b.realHeight=b.heightWithTitle+2*b.quietZone,b.realWidth=g+2*b.quietZone;var i=[],j=\"\",k=Math.round(e*b.dotScale),l=Math.round(f*b.dotScale);k<4&&(k=4,l=4);var m=b.colorDark,n=b.colorLight;if(b.backgroundImage){b.autoColor?(b.colorDark=\"rgba(0, 0, 0, .6);filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#99000000', EndColorStr='#99000000');\",b.colorLight=\"rgba(255, 255, 255, .7);filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#B2FFFFFF', EndColorStr='#B2FFFFFF');\"):b.colorLight=\"rgba(0,0,0,0)\";var o='<div style=\"display:inline-block; z-index:-10;position:absolute;\"><img src=\"'+b.backgroundImage+'\" width=\"'+(b.width+2*b.quietZone)+'\" height=\"'+b.realHeight+'\" style=\"opacity:'+b.backgroundImageAlpha+\";filter:alpha(opacity=\"+100*b.backgroundImageAlpha+'); \"/></div>';i.push(o)}if(b.quietZone&&(j=\"display:inline-block; width:\"+(b.width+2*b.quietZone)+\"px; height:\"+(b.width+2*b.quietZone)+\"px;background:\"+b.quietZoneColor+\"; text-align:center;\"),i.push('<div style=\"font-size:0;'+j+'\">'),i.push('<table  style=\"font-size:0;border:0;border-collapse:collapse; margin-top:'+b.quietZone+'px;\" border=\"0\" cellspacing=\"0\" cellspadding=\"0\" align=\"center\" valign=\"middle\">'),i.push('<tr height=\"'+b.titleHeight+'\" align=\"center\"><td style=\"border:0;border-collapse:collapse;margin:0;padding:0\" colspan=\"'+d+'\">'),b.title){var p=b.titleColor,q=b.titleFont;i.push('<div style=\"width:100%;margin-top:'+b.titleTop+\"px;color:\"+p+\";font:\"+q+\";background:\"+b.titleBackgroundColor+'\">'+b.title+\"</div>\")}b.subTitle&&i.push('<div style=\"width:100%;margin-top:'+(b.subTitleTop-b.titleTop)+\"px;color:\"+b.subTitleColor+\"; font:\"+b.subTitleFont+'\">'+b.subTitle+\"</div>\"),i.push(\"</td></tr>\");for(var r=0;r<d;r++){i.push('<tr style=\"border:0; padding:0; margin:0;\" height=\"7\">');for(var s=0;s<d;s++){var t=a.isDark(r,s),u=a.getEye(r,s);if(u){t=u.isDark;var v=u.type,w=b[v]||b[v.substring(0,2)]||m;i.push('<td style=\"border:0;border-collapse:collapse;padding:0;margin:0;width:'+e+\"px;height:\"+f+'px;\"><span style=\"width:'+e+\"px;height:\"+f+\"px;background-color:\"+(t?w:n)+';display:inline-block\"></span></td>')}else{var x=b.colorDark;6==r?(x=b.timing_H||b.timing||m,i.push('<td style=\"border:0;border-collapse:collapse;padding:0;margin:0;width:'+e+\"px;height:\"+f+\"px;background-color:\"+(t?x:n)+';\"></td>')):6==s?(x=b.timing_V||b.timing||m,i.push('<td style=\"border:0;border-collapse:collapse;padding:0;margin:0;width:'+e+\"px;height:\"+f+\"px;background-color:\"+(t?x:n)+';\"></td>')):i.push('<td style=\"border:0;border-collapse:collapse;padding:0;margin:0;width:'+e+\"px;height:\"+f+'px;\"><div style=\"display:inline-block;width:'+k+\"px;height:\"+l+\"px;background-color:\"+(t?x:b.colorLight)+';\"></div></td>')}}i.push(\"</tr>\")}if(i.push(\"</table>\"),i.push(\"</div>\"),b.logo){var y=new Image;null!=b.crossOrigin&&(y.crossOrigin=b.crossOrigin),y.src=b.logo;var z=b.width/3.5,A=b.height/3.5;z!=A&&(z=A),b.logoWidth&&(z=b.logoWidth),b.logoHeight&&(A=b.logoHeight);var B=\"position:relative; z-index:1;display:table-cell;top:-\"+(b.height/2+A/2+b.quietZone)+\"px;text-align:center; width:\"+z+\"px; height:\"+A+\"px;line-height:\"+z+\"px; vertical-align: middle;\";b.logoBackgroundTransparent||(B+=\"background:\"+b.logoBackgroundColor),i.push('<div style=\"'+B+'\"><img  src=\"'+b.logo+'\"  style=\"max-width: '+z+\"px; max-height: \"+A+'px;\" /> <div style=\" display: none; width:1px;margin-left: -1px;\"></div></div>')}b.onRenderingStart&&b.onRenderingStart(b),c.innerHTML=i.join(\"\");var C=c.childNodes[0],D=(b.width-C.offsetWidth)/2,E=(b.heightWithTitle-C.offsetHeight)/2;D>0&&E>0&&(C.style.margin=E+\"px \"+D+\"px\"),this._htOption.onRenderingEnd&&this._htOption.onRenderingEnd(this._htOption,null)},a.prototype.clear=function(){this._el.innerHTML=\"\"},a}();j=function(a,b){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:\"#000000\",colorLight:\"#ffffff\",correctLevel:r.H,dotScale:1,dotScaleTiming:1,dotScaleTiming_H:i,dotScaleTiming_V:i,dotScaleA:1,dotScaleAO:i,dotScaleAI:i,quietZone:0,quietZoneColor:\"rgba(0,0,0,0)\",title:\"\",titleFont:\"normal normal bold 16px Arial\",titleColor:\"#000000\",titleBackgroundColor:\"#ffffff\",titleHeight:0,titleTop:30,subTitle:\"\",subTitleFont:\"normal normal normal 14px Arial\",subTitleColor:\"#4F4F4F\",subTitleTop:60,logo:i,logoWidth:i,logoHeight:i,logoMaxWidth:i,logoMaxHeight:i,logoBackgroundColor:\"#ffffff\",logoBackgroundTransparent:!1,PO:i,PI:i,PO_TL:i,PI_TL:i,PO_TR:i,PI_TR:i,PO_BL:i,PI_BL:i,AO:i,AI:i,timing:i,timing_H:i,timing_V:i,backgroundImage:i,backgroundImageAlpha:1,autoColor:!1,autoColorDark:\"rgba(0, 0, 0, .6)\",autoColorLight:\"rgba(255, 255, 255, .7)\",onRenderingStart:i,onRenderingEnd:i,version:0,tooltip:!1,binary:!1,drawer:\"canvas\",crossOrigin:null,utf8WithoutBOM:!0},\"string\"==typeof b&&(b={text:b}),b)for(var c in b)this._htOption[c]=b[c];this._htOption.title||this._htOption.subTitle||(this._htOption.titleHeight=0),(this._htOption.version<0||this._htOption.version>40)&&(console.warn(\"QR Code version '\"+this._htOption.version+\"' is invalidate, reset to 0\"),this._htOption.version=0),(this._htOption.dotScale<0||this._htOption.dotScale>1)&&(console.warn(this._htOption.dotScale+\" , is invalidate, dotScale must greater than 0, less than or equal to 1, now reset to 1. \"),this._htOption.dotScale=1),(this._htOption.dotScaleTiming<0||this._htOption.dotScaleTiming>1)&&(console.warn(this._htOption.dotScaleTiming+\" , is invalidate, dotScaleTiming must greater than 0, less than or equal to 1, now reset to 1. \"),this._htOption.dotScaleTiming=1),this._htOption.dotScaleTiming_H?(this._htOption.dotScaleTiming_H<0||this._htOption.dotScaleTiming_H>1)&&(console.warn(this._htOption.dotScaleTiming_H+\" , is invalidate, dotScaleTiming_H must greater than 0, less than or equal to 1, now reset to 1. \"),this._htOption.dotScaleTiming_H=1):this._htOption.dotScaleTiming_H=this._htOption.dotScaleTiming,this._htOption.dotScaleTiming_V?(this._htOption.dotScaleTiming_V<0||this._htOption.dotScaleTiming_V>1)&&(console.warn(this._htOption.dotScaleTiming_V+\" , is invalidate, dotScaleTiming_V must greater than 0, less than or equal to 1, now reset to 1. \"),this._htOption.dotScaleTiming_V=1):this._htOption.dotScaleTiming_V=this._htOption.dotScaleTiming,(this._htOption.dotScaleA<0||this._htOption.dotScaleA>1)&&(console.warn(this._htOption.dotScaleA+\" , is invalidate, dotScaleA must greater than 0, less than or equal to 1, now reset to 1. \"),this._htOption.dotScaleA=1),this._htOption.dotScaleAO?(this._htOption.dotScaleAO<0||this._htOption.dotScaleAO>1)&&(console.warn(this._htOption.dotScaleAO+\" , is invalidate, dotScaleAO must greater than 0, less than or equal to 1, now reset to 1. \"),this._htOption.dotScaleAO=1):this._htOption.dotScaleAO=this._htOption.dotScaleA,this._htOption.dotScaleAI?(this._htOption.dotScaleAI<0||this._htOption.dotScaleAI>1)&&(console.warn(this._htOption.dotScaleAI+\" , is invalidate, dotScaleAI must greater than 0, less than or equal to 1, now reset to 1. \"),this._htOption.dotScaleAI=1):this._htOption.dotScaleAI=this._htOption.dotScaleA,(this._htOption.backgroundImageAlpha<0||this._htOption.backgroundImageAlpha>1)&&(console.warn(this._htOption.backgroundImageAlpha+\" , is invalidate, backgroundImageAlpha must between 0 and 1, now reset to 1. \"),this._htOption.backgroundImageAlpha=1),this._htOption.quietZone||(this._htOption.quietZone=0),this._htOption.titleHeight||(this._htOption.titleHeight=0),this._htOption.width=Math.round(this._htOption.width),this._htOption.height=Math.round(this._htOption.height),this._htOption.quietZone=Math.round(this._htOption.quietZone),this._htOption.titleHeight=Math.round(this._htOption.titleHeight),\"string\"==typeof a&&(a=document.getElementById(a)),(!this._htOption.drawer||\"svg\"!=this._htOption.drawer&&\"canvas\"!=this._htOption.drawer)&&(this._htOption.drawer=\"canvas\"),this._android=f(),this._el=a,this._oQRCode=null,this._htOption._element=a;var d={};for(var c in this._htOption)d[c]=this._htOption[c];this._oDrawing=new x(this._el,d),this._htOption.text&&this.makeCode(this._htOption.text)},j.prototype.makeCode=function(a){this._oQRCode=new b(g(a,this._htOption),this._htOption.correctLevel),this._oQRCode.addData(a,this._htOption.binary,this._htOption.utf8WithoutBOM),this._oQRCode.make(),this._htOption.tooltip&&(this._el.title=a),this._oDrawing.draw(this._oQRCode)},j.prototype.makeImage=function(){\"function\"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},j.prototype.clear=function(){this._oDrawing.remove()},j.prototype.resize=function(a,b){this._oDrawing._htOption.width=a,this._oDrawing._htOption.height=b,this._oDrawing.draw(this._oQRCode)},j.prototype.download=function(a){var b=this._oDrawing.dataURL,c=document.createElement(\"a\");if(\"svg\"==this._htOption.drawer){a+=\".svg\";var d=new Blob([b],{type:\"text/plain\"});if(navigator.msSaveBlob)navigator.msSaveBlob(d,a);else{c.download=a;var e=new FileReader;e.onload=function(){c.href=e.result,c.click()},e.readAsDataURL(d)}}else if(a+=\".png\",navigator.msSaveBlob){var f=function(a){var b=atob(a.split(\",\")[1]),c=a.split(\",\")[0].split(\":\")[1].split(\";\")[0],d=new ArrayBuffer(b.length),e=new Uint8Array(d);for(v=0;v<b.length;v++)e[v]=b.charCodeAt(v);return new Blob([d],{type:c})}(b);navigator.msSaveBlob(f,a)}else c.download=a,c.href=b,c.click()},j.prototype.noConflict=function(){return m.QRCode===this&&(m.QRCode=p),j},j.CorrectLevel=r,\"function\"==typeof define&&(define.amd||define.cmd)?define([],function(){return j}):o?((o.exports=j).QRCode=j,n.QRCode=j):m.QRCode=j}.call(this);","/*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) */\nimport * as nodeCrypto from 'crypto';\nconst _0n = BigInt(0);\nconst _1n = BigInt(1);\nconst _2n = BigInt(2);\nconst _3n = BigInt(3);\nconst _8n = BigInt(8);\nconst CURVE = Object.freeze({\n    a: _0n,\n    b: BigInt(7),\n    P: BigInt('0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f'),\n    n: BigInt('0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141'),\n    h: _1n,\n    Gx: BigInt('55066263022277343669578718895168534326250603453777594175500187360389116729240'),\n    Gy: BigInt('32670510020758816978083085130507043184471273380659243275938904335757337482424'),\n    beta: BigInt('0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee'),\n});\nconst divNearest = (a, b) => (a + b / _2n) / b;\nconst endo = {\n    beta: BigInt('0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee'),\n    splitScalar(k) {\n        const { n } = CURVE;\n        const a1 = BigInt('0x3086d221a7d46bcde86c90e49284eb15');\n        const b1 = -_1n * BigInt('0xe4437ed6010e88286f547fa90abfe4c3');\n        const a2 = BigInt('0x114ca50f7a8e2f3f657c1108d9d44cfd8');\n        const b2 = a1;\n        const POW_2_128 = BigInt('0x100000000000000000000000000000000');\n        const c1 = divNearest(b2 * k, n);\n        const c2 = divNearest(-b1 * k, n);\n        let k1 = mod(k - c1 * a1 - c2 * a2, n);\n        let k2 = mod(-c1 * b1 - c2 * b2, n);\n        const k1neg = k1 > POW_2_128;\n        const k2neg = k2 > POW_2_128;\n        if (k1neg)\n            k1 = n - k1;\n        if (k2neg)\n            k2 = n - k2;\n        if (k1 > POW_2_128 || k2 > POW_2_128) {\n            throw new Error('splitScalarEndo: Endomorphism failed, k=' + k);\n        }\n        return { k1neg, k1, k2neg, k2 };\n    },\n};\nconst fieldLen = 32;\nconst groupLen = 32;\nconst hashLen = 32;\nconst compressedLen = fieldLen + 1;\nconst uncompressedLen = 2 * fieldLen + 1;\nexport { CURVE };\nfunction weierstrass(x) {\n    const { a, b } = CURVE;\n    const x2 = mod(x * x);\n    const x3 = mod(x2 * x);\n    return mod(x3 + a * x + b);\n}\nconst USE_ENDOMORPHISM = CURVE.a === _0n;\nclass ShaError extends Error {\n    constructor(message) {\n        super(message);\n    }\n}\nfunction assertJacPoint(other) {\n    if (!(other instanceof JacobianPoint))\n        throw new TypeError('JacobianPoint expected');\n}\nclass JacobianPoint {\n    constructor(x, y, z) {\n        this.x = x;\n        this.y = y;\n        this.z = z;\n    }\n    static fromAffine(p) {\n        if (!(p instanceof Point)) {\n            throw new TypeError('JacobianPoint#fromAffine: expected Point');\n        }\n        if (p.equals(Point.ZERO))\n            return JacobianPoint.ZERO;\n        return new JacobianPoint(p.x, p.y, _1n);\n    }\n    static toAffineBatch(points) {\n        const toInv = invertBatch(points.map((p) => p.z));\n        return points.map((p, i) => p.toAffine(toInv[i]));\n    }\n    static normalizeZ(points) {\n        return JacobianPoint.toAffineBatch(points).map(JacobianPoint.fromAffine);\n    }\n    equals(other) {\n        assertJacPoint(other);\n        const { x: X1, y: Y1, z: Z1 } = this;\n        const { x: X2, y: Y2, z: Z2 } = other;\n        const Z1Z1 = mod(Z1 * Z1);\n        const Z2Z2 = mod(Z2 * Z2);\n        const U1 = mod(X1 * Z2Z2);\n        const U2 = mod(X2 * Z1Z1);\n        const S1 = mod(mod(Y1 * Z2) * Z2Z2);\n        const S2 = mod(mod(Y2 * Z1) * Z1Z1);\n        return U1 === U2 && S1 === S2;\n    }\n    negate() {\n        return new JacobianPoint(this.x, mod(-this.y), this.z);\n    }\n    double() {\n        const { x: X1, y: Y1, z: Z1 } = this;\n        const A = mod(X1 * X1);\n        const B = mod(Y1 * Y1);\n        const C = mod(B * B);\n        const x1b = X1 + B;\n        const D = mod(_2n * (mod(x1b * x1b) - A - C));\n        const E = mod(_3n * A);\n        const F = mod(E * E);\n        const X3 = mod(F - _2n * D);\n        const Y3 = mod(E * (D - X3) - _8n * C);\n        const Z3 = mod(_2n * Y1 * Z1);\n        return new JacobianPoint(X3, Y3, Z3);\n    }\n    add(other) {\n        assertJacPoint(other);\n        const { x: X1, y: Y1, z: Z1 } = this;\n        const { x: X2, y: Y2, z: Z2 } = other;\n        if (X2 === _0n || Y2 === _0n)\n            return this;\n        if (X1 === _0n || Y1 === _0n)\n            return other;\n        const Z1Z1 = mod(Z1 * Z1);\n        const Z2Z2 = mod(Z2 * Z2);\n        const U1 = mod(X1 * Z2Z2);\n        const U2 = mod(X2 * Z1Z1);\n        const S1 = mod(mod(Y1 * Z2) * Z2Z2);\n        const S2 = mod(mod(Y2 * Z1) * Z1Z1);\n        const H = mod(U2 - U1);\n        const r = mod(S2 - S1);\n        if (H === _0n) {\n            if (r === _0n) {\n                return this.double();\n            }\n            else {\n                return JacobianPoint.ZERO;\n            }\n        }\n        const HH = mod(H * H);\n        const HHH = mod(H * HH);\n        const V = mod(U1 * HH);\n        const X3 = mod(r * r - HHH - _2n * V);\n        const Y3 = mod(r * (V - X3) - S1 * HHH);\n        const Z3 = mod(Z1 * Z2 * H);\n        return new JacobianPoint(X3, Y3, Z3);\n    }\n    subtract(other) {\n        return this.add(other.negate());\n    }\n    multiplyUnsafe(scalar) {\n        const P0 = JacobianPoint.ZERO;\n        if (typeof scalar === 'bigint' && scalar === _0n)\n            return P0;\n        let n = normalizeScalar(scalar);\n        if (n === _1n)\n            return this;\n        if (!USE_ENDOMORPHISM) {\n            let p = P0;\n            let d = this;\n            while (n > _0n) {\n                if (n & _1n)\n                    p = p.add(d);\n                d = d.double();\n                n >>= _1n;\n            }\n            return p;\n        }\n        let { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n        let k1p = P0;\n        let k2p = P0;\n        let d = this;\n        while (k1 > _0n || k2 > _0n) {\n            if (k1 & _1n)\n                k1p = k1p.add(d);\n            if (k2 & _1n)\n                k2p = k2p.add(d);\n            d = d.double();\n            k1 >>= _1n;\n            k2 >>= _1n;\n        }\n        if (k1neg)\n            k1p = k1p.negate();\n        if (k2neg)\n            k2p = k2p.negate();\n        k2p = new JacobianPoint(mod(k2p.x * endo.beta), k2p.y, k2p.z);\n        return k1p.add(k2p);\n    }\n    precomputeWindow(W) {\n        const windows = USE_ENDOMORPHISM ? 128 / W + 1 : 256 / W + 1;\n        const points = [];\n        let p = this;\n        let base = p;\n        for (let window = 0; window < windows; window++) {\n            base = p;\n            points.push(base);\n            for (let i = 1; i < 2 ** (W - 1); i++) {\n                base = base.add(p);\n                points.push(base);\n            }\n            p = base.double();\n        }\n        return points;\n    }\n    wNAF(n, affinePoint) {\n        if (!affinePoint && this.equals(JacobianPoint.BASE))\n            affinePoint = Point.BASE;\n        const W = (affinePoint && affinePoint._WINDOW_SIZE) || 1;\n        if (256 % W) {\n            throw new Error('Point#wNAF: Invalid precomputation window, must be power of 2');\n        }\n        let precomputes = affinePoint && pointPrecomputes.get(affinePoint);\n        if (!precomputes) {\n            precomputes = this.precomputeWindow(W);\n            if (affinePoint && W !== 1) {\n                precomputes = JacobianPoint.normalizeZ(precomputes);\n                pointPrecomputes.set(affinePoint, precomputes);\n            }\n        }\n        let p = JacobianPoint.ZERO;\n        let f = JacobianPoint.BASE;\n        const windows = 1 + (USE_ENDOMORPHISM ? 128 / W : 256 / W);\n        const windowSize = 2 ** (W - 1);\n        const mask = BigInt(2 ** W - 1);\n        const maxNumber = 2 ** W;\n        const shiftBy = BigInt(W);\n        for (let window = 0; window < windows; window++) {\n            const offset = window * windowSize;\n            let wbits = Number(n & mask);\n            n >>= shiftBy;\n            if (wbits > windowSize) {\n                wbits -= maxNumber;\n                n += _1n;\n            }\n            const offset1 = offset;\n            const offset2 = offset + Math.abs(wbits) - 1;\n            const cond1 = window % 2 !== 0;\n            const cond2 = wbits < 0;\n            if (wbits === 0) {\n                f = f.add(constTimeNegate(cond1, precomputes[offset1]));\n            }\n            else {\n                p = p.add(constTimeNegate(cond2, precomputes[offset2]));\n            }\n        }\n        return { p, f };\n    }\n    multiply(scalar, affinePoint) {\n        let n = normalizeScalar(scalar);\n        let point;\n        let fake;\n        if (USE_ENDOMORPHISM) {\n            const { k1neg, k1, k2neg, k2 } = endo.splitScalar(n);\n            let { p: k1p, f: f1p } = this.wNAF(k1, affinePoint);\n            let { p: k2p, f: f2p } = this.wNAF(k2, affinePoint);\n            k1p = constTimeNegate(k1neg, k1p);\n            k2p = constTimeNegate(k2neg, k2p);\n            k2p = new JacobianPoint(mod(k2p.x * endo.beta), k2p.y, k2p.z);\n            point = k1p.add(k2p);\n            fake = f1p.add(f2p);\n        }\n        else {\n            const { p, f } = this.wNAF(n, affinePoint);\n            point = p;\n            fake = f;\n        }\n        return JacobianPoint.normalizeZ([point, fake])[0];\n    }\n    toAffine(invZ) {\n        const { x, y, z } = this;\n        const is0 = this.equals(JacobianPoint.ZERO);\n        if (invZ == null)\n            invZ = is0 ? _8n : invert(z);\n        const iz1 = invZ;\n        const iz2 = mod(iz1 * iz1);\n        const iz3 = mod(iz2 * iz1);\n        const ax = mod(x * iz2);\n        const ay = mod(y * iz3);\n        const zz = mod(z * iz1);\n        if (is0)\n            return Point.ZERO;\n        if (zz !== _1n)\n            throw new Error('invZ was invalid');\n        return new Point(ax, ay);\n    }\n}\nJacobianPoint.BASE = new JacobianPoint(CURVE.Gx, CURVE.Gy, _1n);\nJacobianPoint.ZERO = new JacobianPoint(_0n, _1n, _0n);\nfunction constTimeNegate(condition, item) {\n    const neg = item.negate();\n    return condition ? neg : item;\n}\nconst pointPrecomputes = new WeakMap();\nexport class Point {\n    constructor(x, y) {\n        this.x = x;\n        this.y = y;\n    }\n    _setWindowSize(windowSize) {\n        this._WINDOW_SIZE = windowSize;\n        pointPrecomputes.delete(this);\n    }\n    hasEvenY() {\n        return this.y % _2n === _0n;\n    }\n    static fromCompressedHex(bytes) {\n        const isShort = bytes.length === 32;\n        const x = bytesToNumber(isShort ? bytes : bytes.subarray(1));\n        if (!isValidFieldElement(x))\n            throw new Error('Point is not on curve');\n        const y2 = weierstrass(x);\n        let y = sqrtMod(y2);\n        const isYOdd = (y & _1n) === _1n;\n        if (isShort) {\n            if (isYOdd)\n                y = mod(-y);\n        }\n        else {\n            const isFirstByteOdd = (bytes[0] & 1) === 1;\n            if (isFirstByteOdd !== isYOdd)\n                y = mod(-y);\n        }\n        const point = new Point(x, y);\n        point.assertValidity();\n        return point;\n    }\n    static fromUncompressedHex(bytes) {\n        const x = bytesToNumber(bytes.subarray(1, fieldLen + 1));\n        const y = bytesToNumber(bytes.subarray(fieldLen + 1, fieldLen * 2 + 1));\n        const point = new Point(x, y);\n        point.assertValidity();\n        return point;\n    }\n    static fromHex(hex) {\n        const bytes = ensureBytes(hex);\n        const len = bytes.length;\n        const header = bytes[0];\n        if (len === fieldLen)\n            return this.fromCompressedHex(bytes);\n        if (len === compressedLen && (header === 0x02 || header === 0x03)) {\n            return this.fromCompressedHex(bytes);\n        }\n        if (len === uncompressedLen && header === 0x04)\n            return this.fromUncompressedHex(bytes);\n        throw new Error(`Point.fromHex: received invalid point. Expected 32-${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes, not ${len}`);\n    }\n    static fromPrivateKey(privateKey) {\n        return Point.BASE.multiply(normalizePrivateKey(privateKey));\n    }\n    static fromSignature(msgHash, signature, recovery) {\n        const { r, s } = normalizeSignature(signature);\n        if (![0, 1, 2, 3].includes(recovery))\n            throw new Error('Cannot recover: invalid recovery bit');\n        const h = truncateHash(ensureBytes(msgHash));\n        const { n } = CURVE;\n        const radj = recovery === 2 || recovery === 3 ? r + n : r;\n        const rinv = invert(radj, n);\n        const u1 = mod(-h * rinv, n);\n        const u2 = mod(s * rinv, n);\n        const prefix = recovery & 1 ? '03' : '02';\n        const R = Point.fromHex(prefix + numTo32bStr(radj));\n        const Q = Point.BASE.multiplyAndAddUnsafe(R, u1, u2);\n        if (!Q)\n            throw new Error('Cannot recover signature: point at infinify');\n        Q.assertValidity();\n        return Q;\n    }\n    toRawBytes(isCompressed = false) {\n        return hexToBytes(this.toHex(isCompressed));\n    }\n    toHex(isCompressed = false) {\n        const x = numTo32bStr(this.x);\n        if (isCompressed) {\n            const prefix = this.hasEvenY() ? '02' : '03';\n            return `${prefix}${x}`;\n        }\n        else {\n            return `04${x}${numTo32bStr(this.y)}`;\n        }\n    }\n    toHexX() {\n        return this.toHex(true).slice(2);\n    }\n    toRawX() {\n        return this.toRawBytes(true).slice(1);\n    }\n    assertValidity() {\n        const msg = 'Point is not on elliptic curve';\n        const { x, y } = this;\n        if (!isValidFieldElement(x) || !isValidFieldElement(y))\n            throw new Error(msg);\n        const left = mod(y * y);\n        const right = weierstrass(x);\n        if (mod(left - right) !== _0n)\n            throw new Error(msg);\n    }\n    equals(other) {\n        return this.x === other.x && this.y === other.y;\n    }\n    negate() {\n        return new Point(this.x, mod(-this.y));\n    }\n    double() {\n        return JacobianPoint.fromAffine(this).double().toAffine();\n    }\n    add(other) {\n        return JacobianPoint.fromAffine(this).add(JacobianPoint.fromAffine(other)).toAffine();\n    }\n    subtract(other) {\n        return this.add(other.negate());\n    }\n    multiply(scalar) {\n        return JacobianPoint.fromAffine(this).multiply(scalar, this).toAffine();\n    }\n    multiplyAndAddUnsafe(Q, a, b) {\n        const P = JacobianPoint.fromAffine(this);\n        const aP = a === _0n || a === _1n || this !== Point.BASE ? P.multiplyUnsafe(a) : P.multiply(a);\n        const bQ = JacobianPoint.fromAffine(Q).multiplyUnsafe(b);\n        const sum = aP.add(bQ);\n        return sum.equals(JacobianPoint.ZERO) ? undefined : sum.toAffine();\n    }\n}\nPoint.BASE = new Point(CURVE.Gx, CURVE.Gy);\nPoint.ZERO = new Point(_0n, _0n);\nfunction sliceDER(s) {\n    return Number.parseInt(s[0], 16) >= 8 ? '00' + s : s;\n}\nfunction parseDERInt(data) {\n    if (data.length < 2 || data[0] !== 0x02) {\n        throw new Error(`Invalid signature integer tag: ${bytesToHex(data)}`);\n    }\n    const len = data[1];\n    const res = data.subarray(2, len + 2);\n    if (!len || res.length !== len) {\n        throw new Error(`Invalid signature integer: wrong length`);\n    }\n    if (res[0] === 0x00 && res[1] <= 0x7f) {\n        throw new Error('Invalid signature integer: trailing length');\n    }\n    return { data: bytesToNumber(res), left: data.subarray(len + 2) };\n}\nfunction parseDERSignature(data) {\n    if (data.length < 2 || data[0] != 0x30) {\n        throw new Error(`Invalid signature tag: ${bytesToHex(data)}`);\n    }\n    if (data[1] !== data.length - 2) {\n        throw new Error('Invalid signature: incorrect length');\n    }\n    const { data: r, left: sBytes } = parseDERInt(data.subarray(2));\n    const { data: s, left: rBytesLeft } = parseDERInt(sBytes);\n    if (rBytesLeft.length) {\n        throw new Error(`Invalid signature: left bytes after parsing: ${bytesToHex(rBytesLeft)}`);\n    }\n    return { r, s };\n}\nexport class Signature {\n    constructor(r, s) {\n        this.r = r;\n        this.s = s;\n        this.assertValidity();\n    }\n    static fromCompact(hex) {\n        const arr = hex instanceof Uint8Array;\n        const name = 'Signature.fromCompact';\n        if (typeof hex !== 'string' && !arr)\n            throw new TypeError(`${name}: Expected string or Uint8Array`);\n        const str = arr ? bytesToHex(hex) : hex;\n        if (str.length !== 128)\n            throw new Error(`${name}: Expected 64-byte hex`);\n        return new Signature(hexToNumber(str.slice(0, 64)), hexToNumber(str.slice(64, 128)));\n    }\n    static fromDER(hex) {\n        const arr = hex instanceof Uint8Array;\n        if (typeof hex !== 'string' && !arr)\n            throw new TypeError(`Signature.fromDER: Expected string or Uint8Array`);\n        const { r, s } = parseDERSignature(arr ? hex : hexToBytes(hex));\n        return new Signature(r, s);\n    }\n    static fromHex(hex) {\n        return this.fromDER(hex);\n    }\n    assertValidity() {\n        const { r, s } = this;\n        if (!isWithinCurveOrder(r))\n            throw new Error('Invalid Signature: r must be 0 < r < n');\n        if (!isWithinCurveOrder(s))\n            throw new Error('Invalid Signature: s must be 0 < s < n');\n    }\n    hasHighS() {\n        const HALF = CURVE.n >> _1n;\n        return this.s > HALF;\n    }\n    normalizeS() {\n        return this.hasHighS() ? new Signature(this.r, mod(-this.s, CURVE.n)) : this;\n    }\n    toDERRawBytes() {\n        return hexToBytes(this.toDERHex());\n    }\n    toDERHex() {\n        const sHex = sliceDER(numberToHexUnpadded(this.s));\n        const rHex = sliceDER(numberToHexUnpadded(this.r));\n        const sHexL = sHex.length / 2;\n        const rHexL = rHex.length / 2;\n        const sLen = numberToHexUnpadded(sHexL);\n        const rLen = numberToHexUnpadded(rHexL);\n        const length = numberToHexUnpadded(rHexL + sHexL + 4);\n        return `30${length}02${rLen}${rHex}02${sLen}${sHex}`;\n    }\n    toRawBytes() {\n        return this.toDERRawBytes();\n    }\n    toHex() {\n        return this.toDERHex();\n    }\n    toCompactRawBytes() {\n        return hexToBytes(this.toCompactHex());\n    }\n    toCompactHex() {\n        return numTo32bStr(this.r) + numTo32bStr(this.s);\n    }\n}\nfunction concatBytes(...arrays) {\n    if (!arrays.every((b) => b instanceof Uint8Array))\n        throw new Error('Uint8Array list expected');\n    if (arrays.length === 1)\n        return arrays[0];\n    const length = arrays.reduce((a, arr) => a + arr.length, 0);\n    const result = new Uint8Array(length);\n    for (let i = 0, pad = 0; i < arrays.length; i++) {\n        const arr = arrays[i];\n        result.set(arr, pad);\n        pad += arr.length;\n    }\n    return result;\n}\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\nfunction bytesToHex(uint8a) {\n    if (!(uint8a instanceof Uint8Array))\n        throw new Error('Expected Uint8Array');\n    let hex = '';\n    for (let i = 0; i < uint8a.length; i++) {\n        hex += hexes[uint8a[i]];\n    }\n    return hex;\n}\nconst POW_2_256 = BigInt('0x10000000000000000000000000000000000000000000000000000000000000000');\nfunction numTo32bStr(num) {\n    if (typeof num !== 'bigint')\n        throw new Error('Expected bigint');\n    if (!(_0n <= num && num < POW_2_256))\n        throw new Error('Expected number 0 <= n < 2^256');\n    return num.toString(16).padStart(64, '0');\n}\nfunction numTo32b(num) {\n    const b = hexToBytes(numTo32bStr(num));\n    if (b.length !== 32)\n        throw new Error('Error: expected 32 bytes');\n    return b;\n}\nfunction numberToHexUnpadded(num) {\n    const hex = num.toString(16);\n    return hex.length & 1 ? `0${hex}` : hex;\n}\nfunction hexToNumber(hex) {\n    if (typeof hex !== 'string') {\n        throw new TypeError('hexToNumber: expected string, got ' + typeof hex);\n    }\n    return BigInt(`0x${hex}`);\n}\nfunction hexToBytes(hex) {\n    if (typeof hex !== 'string') {\n        throw new TypeError('hexToBytes: expected string, got ' + typeof hex);\n    }\n    if (hex.length % 2)\n        throw new Error('hexToBytes: received invalid unpadded hex' + hex.length);\n    const array = new Uint8Array(hex.length / 2);\n    for (let i = 0; i < array.length; i++) {\n        const j = i * 2;\n        const hexByte = hex.slice(j, j + 2);\n        const byte = Number.parseInt(hexByte, 16);\n        if (Number.isNaN(byte) || byte < 0)\n            throw new Error('Invalid byte sequence');\n        array[i] = byte;\n    }\n    return array;\n}\nfunction bytesToNumber(bytes) {\n    return hexToNumber(bytesToHex(bytes));\n}\nfunction ensureBytes(hex) {\n    return hex instanceof Uint8Array ? Uint8Array.from(hex) : hexToBytes(hex);\n}\nfunction normalizeScalar(num) {\n    if (typeof num === 'number' && Number.isSafeInteger(num) && num > 0)\n        return BigInt(num);\n    if (typeof num === 'bigint' && isWithinCurveOrder(num))\n        return num;\n    throw new TypeError('Expected valid private scalar: 0 < scalar < curve.n');\n}\nfunction mod(a, b = CURVE.P) {\n    const result = a % b;\n    return result >= _0n ? result : b + result;\n}\nfunction pow2(x, power) {\n    const { P } = CURVE;\n    let res = x;\n    while (power-- > _0n) {\n        res *= res;\n        res %= P;\n    }\n    return res;\n}\nfunction sqrtMod(x) {\n    const { P } = CURVE;\n    const _6n = BigInt(6);\n    const _11n = BigInt(11);\n    const _22n = BigInt(22);\n    const _23n = BigInt(23);\n    const _44n = BigInt(44);\n    const _88n = BigInt(88);\n    const b2 = (x * x * x) % P;\n    const b3 = (b2 * b2 * x) % P;\n    const b6 = (pow2(b3, _3n) * b3) % P;\n    const b9 = (pow2(b6, _3n) * b3) % P;\n    const b11 = (pow2(b9, _2n) * b2) % P;\n    const b22 = (pow2(b11, _11n) * b11) % P;\n    const b44 = (pow2(b22, _22n) * b22) % P;\n    const b88 = (pow2(b44, _44n) * b44) % P;\n    const b176 = (pow2(b88, _88n) * b88) % P;\n    const b220 = (pow2(b176, _44n) * b44) % P;\n    const b223 = (pow2(b220, _3n) * b3) % P;\n    const t1 = (pow2(b223, _23n) * b22) % P;\n    const t2 = (pow2(t1, _6n) * b2) % P;\n    const rt = pow2(t2, _2n);\n    const xc = (rt * rt) % P;\n    if (xc !== x)\n        throw new Error('Cannot find square root');\n    return rt;\n}\nfunction invert(number, modulo = CURVE.P) {\n    if (number === _0n || modulo <= _0n) {\n        throw new Error(`invert: expected positive integers, got n=${number} mod=${modulo}`);\n    }\n    let a = mod(number, modulo);\n    let b = modulo;\n    let x = _0n, y = _1n, u = _1n, v = _0n;\n    while (a !== _0n) {\n        const q = b / a;\n        const r = b % a;\n        const m = x - u * q;\n        const n = y - v * q;\n        b = a, a = r, x = u, y = v, u = m, v = n;\n    }\n    const gcd = b;\n    if (gcd !== _1n)\n        throw new Error('invert: does not exist');\n    return mod(x, modulo);\n}\nfunction invertBatch(nums, p = CURVE.P) {\n    const scratch = new Array(nums.length);\n    const lastMultiplied = nums.reduce((acc, num, i) => {\n        if (num === _0n)\n            return acc;\n        scratch[i] = acc;\n        return mod(acc * num, p);\n    }, _1n);\n    const inverted = invert(lastMultiplied, p);\n    nums.reduceRight((acc, num, i) => {\n        if (num === _0n)\n            return acc;\n        scratch[i] = mod(acc * scratch[i], p);\n        return mod(acc * num, p);\n    }, inverted);\n    return scratch;\n}\nfunction bits2int_2(bytes) {\n    const delta = bytes.length * 8 - groupLen * 8;\n    const num = bytesToNumber(bytes);\n    return delta > 0 ? num >> BigInt(delta) : num;\n}\nfunction truncateHash(hash, truncateOnly = false) {\n    const h = bits2int_2(hash);\n    if (truncateOnly)\n        return h;\n    const { n } = CURVE;\n    return h >= n ? h - n : h;\n}\nlet _sha256Sync;\nlet _hmacSha256Sync;\nclass HmacDrbg {\n    constructor(hashLen, qByteLen) {\n        this.hashLen = hashLen;\n        this.qByteLen = qByteLen;\n        if (typeof hashLen !== 'number' || hashLen < 2)\n            throw new Error('hashLen must be a number');\n        if (typeof qByteLen !== 'number' || qByteLen < 2)\n            throw new Error('qByteLen must be a number');\n        this.v = new Uint8Array(hashLen).fill(1);\n        this.k = new Uint8Array(hashLen).fill(0);\n        this.counter = 0;\n    }\n    hmac(...values) {\n        return utils.hmacSha256(this.k, ...values);\n    }\n    hmacSync(...values) {\n        return _hmacSha256Sync(this.k, ...values);\n    }\n    checkSync() {\n        if (typeof _hmacSha256Sync !== 'function')\n            throw new ShaError('hmacSha256Sync needs to be set');\n    }\n    incr() {\n        if (this.counter >= 1000)\n            throw new Error('Tried 1,000 k values for sign(), all were invalid');\n        this.counter += 1;\n    }\n    async reseed(seed = new Uint8Array()) {\n        this.k = await this.hmac(this.v, Uint8Array.from([0x00]), seed);\n        this.v = await this.hmac(this.v);\n        if (seed.length === 0)\n            return;\n        this.k = await this.hmac(this.v, Uint8Array.from([0x01]), seed);\n        this.v = await this.hmac(this.v);\n    }\n    reseedSync(seed = new Uint8Array()) {\n        this.checkSync();\n        this.k = this.hmacSync(this.v, Uint8Array.from([0x00]), seed);\n        this.v = this.hmacSync(this.v);\n        if (seed.length === 0)\n            return;\n        this.k = this.hmacSync(this.v, Uint8Array.from([0x01]), seed);\n        this.v = this.hmacSync(this.v);\n    }\n    async generate() {\n        this.incr();\n        let len = 0;\n        const out = [];\n        while (len < this.qByteLen) {\n            this.v = await this.hmac(this.v);\n            const sl = this.v.slice();\n            out.push(sl);\n            len += this.v.length;\n        }\n        return concatBytes(...out);\n    }\n    generateSync() {\n        this.checkSync();\n        this.incr();\n        let len = 0;\n        const out = [];\n        while (len < this.qByteLen) {\n            this.v = this.hmacSync(this.v);\n            const sl = this.v.slice();\n            out.push(sl);\n            len += this.v.length;\n        }\n        return concatBytes(...out);\n    }\n}\nfunction isWithinCurveOrder(num) {\n    return _0n < num && num < CURVE.n;\n}\nfunction isValidFieldElement(num) {\n    return _0n < num && num < CURVE.P;\n}\nfunction kmdToSig(kBytes, m, d, lowS = true) {\n    const { n } = CURVE;\n    const k = truncateHash(kBytes, true);\n    if (!isWithinCurveOrder(k))\n        return;\n    const kinv = invert(k, n);\n    const q = Point.BASE.multiply(k);\n    const r = mod(q.x, n);\n    if (r === _0n)\n        return;\n    const s = mod(kinv * mod(m + d * r, n), n);\n    if (s === _0n)\n        return;\n    let sig = new Signature(r, s);\n    let recovery = (q.x === sig.r ? 0 : 2) | Number(q.y & _1n);\n    if (lowS && sig.hasHighS()) {\n        sig = sig.normalizeS();\n        recovery ^= 1;\n    }\n    return { sig, recovery };\n}\nfunction normalizePrivateKey(key) {\n    let num;\n    if (typeof key === 'bigint') {\n        num = key;\n    }\n    else if (typeof key === 'number' && Number.isSafeInteger(key) && key > 0) {\n        num = BigInt(key);\n    }\n    else if (typeof key === 'string') {\n        if (key.length !== 2 * groupLen)\n            throw new Error('Expected 32 bytes of private key');\n        num = hexToNumber(key);\n    }\n    else if (key instanceof Uint8Array) {\n        if (key.length !== groupLen)\n            throw new Error('Expected 32 bytes of private key');\n        num = bytesToNumber(key);\n    }\n    else {\n        throw new TypeError('Expected valid private key');\n    }\n    if (!isWithinCurveOrder(num))\n        throw new Error('Expected private key: 0 < key < n');\n    return num;\n}\nfunction normalizePublicKey(publicKey) {\n    if (publicKey instanceof Point) {\n        publicKey.assertValidity();\n        return publicKey;\n    }\n    else {\n        return Point.fromHex(publicKey);\n    }\n}\nfunction normalizeSignature(signature) {\n    if (signature instanceof Signature) {\n        signature.assertValidity();\n        return signature;\n    }\n    try {\n        return Signature.fromDER(signature);\n    }\n    catch (error) {\n        return Signature.fromCompact(signature);\n    }\n}\nexport function getPublicKey(privateKey, isCompressed = false) {\n    return Point.fromPrivateKey(privateKey).toRawBytes(isCompressed);\n}\nexport function recoverPublicKey(msgHash, signature, recovery, isCompressed = false) {\n    return Point.fromSignature(msgHash, signature, recovery).toRawBytes(isCompressed);\n}\nfunction isProbPub(item) {\n    const arr = item instanceof Uint8Array;\n    const str = typeof item === 'string';\n    const len = (arr || str) && item.length;\n    if (arr)\n        return len === compressedLen || len === uncompressedLen;\n    if (str)\n        return len === compressedLen * 2 || len === uncompressedLen * 2;\n    if (item instanceof Point)\n        return true;\n    return false;\n}\nexport function getSharedSecret(privateA, publicB, isCompressed = false) {\n    if (isProbPub(privateA))\n        throw new TypeError('getSharedSecret: first arg must be private key');\n    if (!isProbPub(publicB))\n        throw new TypeError('getSharedSecret: second arg must be public key');\n    const b = normalizePublicKey(publicB);\n    b.assertValidity();\n    return b.multiply(normalizePrivateKey(privateA)).toRawBytes(isCompressed);\n}\nfunction bits2int(bytes) {\n    const slice = bytes.length > fieldLen ? bytes.slice(0, fieldLen) : bytes;\n    return bytesToNumber(slice);\n}\nfunction bits2octets(bytes) {\n    const z1 = bits2int(bytes);\n    const z2 = mod(z1, CURVE.n);\n    return int2octets(z2 < _0n ? z1 : z2);\n}\nfunction int2octets(num) {\n    return numTo32b(num);\n}\nfunction initSigArgs(msgHash, privateKey, extraEntropy) {\n    if (msgHash == null)\n        throw new Error(`sign: expected valid message hash, not \"${msgHash}\"`);\n    const h1 = ensureBytes(msgHash);\n    const d = normalizePrivateKey(privateKey);\n    const seedArgs = [int2octets(d), bits2octets(h1)];\n    if (extraEntropy != null) {\n        if (extraEntropy === true)\n            extraEntropy = utils.randomBytes(fieldLen);\n        const e = ensureBytes(extraEntropy);\n        if (e.length !== fieldLen)\n            throw new Error(`sign: Expected ${fieldLen} bytes of extra data`);\n        seedArgs.push(e);\n    }\n    const seed = concatBytes(...seedArgs);\n    const m = bits2int(h1);\n    return { seed, m, d };\n}\nfunction finalizeSig(recSig, opts) {\n    const { sig, recovery } = recSig;\n    const { der, recovered } = Object.assign({ canonical: true, der: true }, opts);\n    const hashed = der ? sig.toDERRawBytes() : sig.toCompactRawBytes();\n    return recovered ? [hashed, recovery] : hashed;\n}\nasync function sign(msgHash, privKey, opts = {}) {\n    const { seed, m, d } = initSigArgs(msgHash, privKey, opts.extraEntropy);\n    const drbg = new HmacDrbg(hashLen, groupLen);\n    await drbg.reseed(seed);\n    let sig;\n    while (!(sig = kmdToSig(await drbg.generate(), m, d, opts.canonical)))\n        await drbg.reseed();\n    return finalizeSig(sig, opts);\n}\nfunction signSync(msgHash, privKey, opts = {}) {\n    const { seed, m, d } = initSigArgs(msgHash, privKey, opts.extraEntropy);\n    const drbg = new HmacDrbg(hashLen, groupLen);\n    drbg.reseedSync(seed);\n    let sig;\n    while (!(sig = kmdToSig(drbg.generateSync(), m, d, opts.canonical)))\n        drbg.reseedSync();\n    return finalizeSig(sig, opts);\n}\nexport { sign, signSync };\nconst vopts = { strict: true };\nexport function verify(signature, msgHash, publicKey, opts = vopts) {\n    let sig;\n    try {\n        sig = normalizeSignature(signature);\n        msgHash = ensureBytes(msgHash);\n    }\n    catch (error) {\n        return false;\n    }\n    const { r, s } = sig;\n    if (opts.strict && sig.hasHighS())\n        return false;\n    const h = truncateHash(msgHash);\n    let P;\n    try {\n        P = normalizePublicKey(publicKey);\n    }\n    catch (error) {\n        return false;\n    }\n    const { n } = CURVE;\n    const sinv = invert(s, n);\n    const u1 = mod(h * sinv, n);\n    const u2 = mod(r * sinv, n);\n    const R = Point.BASE.multiplyAndAddUnsafe(P, u1, u2);\n    if (!R)\n        return false;\n    const v = mod(R.x, n);\n    return v === r;\n}\nfunction schnorrChallengeFinalize(ch) {\n    return mod(bytesToNumber(ch), CURVE.n);\n}\nclass SchnorrSignature {\n    constructor(r, s) {\n        this.r = r;\n        this.s = s;\n        this.assertValidity();\n    }\n    static fromHex(hex) {\n        const bytes = ensureBytes(hex);\n        if (bytes.length !== 64)\n            throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${bytes.length}`);\n        const r = bytesToNumber(bytes.subarray(0, 32));\n        const s = bytesToNumber(bytes.subarray(32, 64));\n        return new SchnorrSignature(r, s);\n    }\n    assertValidity() {\n        const { r, s } = this;\n        if (!isValidFieldElement(r) || !isWithinCurveOrder(s))\n            throw new Error('Invalid signature');\n    }\n    toHex() {\n        return numTo32bStr(this.r) + numTo32bStr(this.s);\n    }\n    toRawBytes() {\n        return hexToBytes(this.toHex());\n    }\n}\nfunction schnorrGetPublicKey(privateKey) {\n    return Point.fromPrivateKey(privateKey).toRawX();\n}\nclass InternalSchnorrSignature {\n    constructor(message, privateKey, auxRand = utils.randomBytes()) {\n        if (message == null)\n            throw new TypeError(`sign: Expected valid message, not \"${message}\"`);\n        this.m = ensureBytes(message);\n        const { x, scalar } = this.getScalar(normalizePrivateKey(privateKey));\n        this.px = x;\n        this.d = scalar;\n        this.rand = ensureBytes(auxRand);\n        if (this.rand.length !== 32)\n            throw new TypeError('sign: Expected 32 bytes of aux randomness');\n    }\n    getScalar(priv) {\n        const point = Point.fromPrivateKey(priv);\n        const scalar = point.hasEvenY() ? priv : CURVE.n - priv;\n        return { point, scalar, x: point.toRawX() };\n    }\n    initNonce(d, t0h) {\n        return numTo32b(d ^ bytesToNumber(t0h));\n    }\n    finalizeNonce(k0h) {\n        const k0 = mod(bytesToNumber(k0h), CURVE.n);\n        if (k0 === _0n)\n            throw new Error('sign: Creation of signature failed. k is zero');\n        const { point: R, x: rx, scalar: k } = this.getScalar(k0);\n        return { R, rx, k };\n    }\n    finalizeSig(R, k, e, d) {\n        return new SchnorrSignature(R.x, mod(k + e * d, CURVE.n)).toRawBytes();\n    }\n    error() {\n        throw new Error('sign: Invalid signature produced');\n    }\n    async calc() {\n        const { m, d, px, rand } = this;\n        const tag = utils.taggedHash;\n        const t = this.initNonce(d, await tag(TAGS.aux, rand));\n        const { R, rx, k } = this.finalizeNonce(await tag(TAGS.nonce, t, px, m));\n        const e = schnorrChallengeFinalize(await tag(TAGS.challenge, rx, px, m));\n        const sig = this.finalizeSig(R, k, e, d);\n        if (!(await schnorrVerify(sig, m, px)))\n            this.error();\n        return sig;\n    }\n    calcSync() {\n        const { m, d, px, rand } = this;\n        const tag = utils.taggedHashSync;\n        const t = this.initNonce(d, tag(TAGS.aux, rand));\n        const { R, rx, k } = this.finalizeNonce(tag(TAGS.nonce, t, px, m));\n        const e = schnorrChallengeFinalize(tag(TAGS.challenge, rx, px, m));\n        const sig = this.finalizeSig(R, k, e, d);\n        if (!schnorrVerifySync(sig, m, px))\n            this.error();\n        return sig;\n    }\n}\nasync function schnorrSign(msg, privKey, auxRand) {\n    return new InternalSchnorrSignature(msg, privKey, auxRand).calc();\n}\nfunction schnorrSignSync(msg, privKey, auxRand) {\n    return new InternalSchnorrSignature(msg, privKey, auxRand).calcSync();\n}\nfunction initSchnorrVerify(signature, message, publicKey) {\n    const raw = signature instanceof SchnorrSignature;\n    const sig = raw ? signature : SchnorrSignature.fromHex(signature);\n    if (raw)\n        sig.assertValidity();\n    return {\n        ...sig,\n        m: ensureBytes(message),\n        P: normalizePublicKey(publicKey),\n    };\n}\nfunction finalizeSchnorrVerify(r, P, s, e) {\n    const R = Point.BASE.multiplyAndAddUnsafe(P, normalizePrivateKey(s), mod(-e, CURVE.n));\n    if (!R || !R.hasEvenY() || R.x !== r)\n        return false;\n    return true;\n}\nasync function schnorrVerify(signature, message, publicKey) {\n    try {\n        const { r, s, m, P } = initSchnorrVerify(signature, message, publicKey);\n        const e = schnorrChallengeFinalize(await utils.taggedHash(TAGS.challenge, numTo32b(r), P.toRawX(), m));\n        return finalizeSchnorrVerify(r, P, s, e);\n    }\n    catch (error) {\n        return false;\n    }\n}\nfunction schnorrVerifySync(signature, message, publicKey) {\n    try {\n        const { r, s, m, P } = initSchnorrVerify(signature, message, publicKey);\n        const e = schnorrChallengeFinalize(utils.taggedHashSync(TAGS.challenge, numTo32b(r), P.toRawX(), m));\n        return finalizeSchnorrVerify(r, P, s, e);\n    }\n    catch (error) {\n        if (error instanceof ShaError)\n            throw error;\n        return false;\n    }\n}\nexport const schnorr = {\n    Signature: SchnorrSignature,\n    getPublicKey: schnorrGetPublicKey,\n    sign: schnorrSign,\n    verify: schnorrVerify,\n    signSync: schnorrSignSync,\n    verifySync: schnorrVerifySync,\n};\nPoint.BASE._setWindowSize(8);\nconst crypto = {\n    node: nodeCrypto,\n    web: typeof self === 'object' && 'crypto' in self ? self.crypto : undefined,\n};\nconst TAGS = {\n    challenge: 'BIP0340/challenge',\n    aux: 'BIP0340/aux',\n    nonce: 'BIP0340/nonce',\n};\nconst TAGGED_HASH_PREFIXES = {};\nexport const utils = {\n    bytesToHex,\n    hexToBytes,\n    concatBytes,\n    mod,\n    invert,\n    isValidPrivateKey(privateKey) {\n        try {\n            normalizePrivateKey(privateKey);\n            return true;\n        }\n        catch (error) {\n            return false;\n        }\n    },\n    _bigintTo32Bytes: numTo32b,\n    _normalizePrivateKey: normalizePrivateKey,\n    hashToPrivateKey: (hash) => {\n        hash = ensureBytes(hash);\n        const minLen = groupLen + 8;\n        if (hash.length < minLen || hash.length > 1024) {\n            throw new Error(`Expected valid bytes of private key as per FIPS 186`);\n        }\n        const num = mod(bytesToNumber(hash), CURVE.n - _1n) + _1n;\n        return numTo32b(num);\n    },\n    randomBytes: (bytesLength = 32) => {\n        if (crypto.web) {\n            return crypto.web.getRandomValues(new Uint8Array(bytesLength));\n        }\n        else if (crypto.node) {\n            const { randomBytes } = crypto.node;\n            return Uint8Array.from(randomBytes(bytesLength));\n        }\n        else {\n            throw new Error(\"The environment doesn't have randomBytes function\");\n        }\n    },\n    randomPrivateKey: () => utils.hashToPrivateKey(utils.randomBytes(groupLen + 8)),\n    precompute(windowSize = 8, point = Point.BASE) {\n        const cached = point === Point.BASE ? point : new Point(point.x, point.y);\n        cached._setWindowSize(windowSize);\n        cached.multiply(_3n);\n        return cached;\n    },\n    sha256: async (...messages) => {\n        if (crypto.web) {\n            const buffer = await crypto.web.subtle.digest('SHA-256', concatBytes(...messages));\n            return new Uint8Array(buffer);\n        }\n        else if (crypto.node) {\n            const { createHash } = crypto.node;\n            const hash = createHash('sha256');\n            messages.forEach((m) => hash.update(m));\n            return Uint8Array.from(hash.digest());\n        }\n        else {\n            throw new Error(\"The environment doesn't have sha256 function\");\n        }\n    },\n    hmacSha256: async (key, ...messages) => {\n        if (crypto.web) {\n            const ckey = await crypto.web.subtle.importKey('raw', key, { name: 'HMAC', hash: { name: 'SHA-256' } }, false, ['sign']);\n            const message = concatBytes(...messages);\n            const buffer = await crypto.web.subtle.sign('HMAC', ckey, message);\n            return new Uint8Array(buffer);\n        }\n        else if (crypto.node) {\n            const { createHmac } = crypto.node;\n            const hash = createHmac('sha256', key);\n            messages.forEach((m) => hash.update(m));\n            return Uint8Array.from(hash.digest());\n        }\n        else {\n            throw new Error(\"The environment doesn't have hmac-sha256 function\");\n        }\n    },\n    sha256Sync: undefined,\n    hmacSha256Sync: undefined,\n    taggedHash: async (tag, ...messages) => {\n        let tagP = TAGGED_HASH_PREFIXES[tag];\n        if (tagP === undefined) {\n            const tagH = await utils.sha256(Uint8Array.from(tag, (c) => c.charCodeAt(0)));\n            tagP = concatBytes(tagH, tagH);\n            TAGGED_HASH_PREFIXES[tag] = tagP;\n        }\n        return utils.sha256(tagP, ...messages);\n    },\n    taggedHashSync: (tag, ...messages) => {\n        if (typeof _sha256Sync !== 'function')\n            throw new ShaError('sha256Sync is undefined, you need to set it');\n        let tagP = TAGGED_HASH_PREFIXES[tag];\n        if (tagP === undefined) {\n            const tagH = _sha256Sync(Uint8Array.from(tag, (c) => c.charCodeAt(0)));\n            tagP = concatBytes(tagH, tagH);\n            TAGGED_HASH_PREFIXES[tag] = tagP;\n        }\n        return _sha256Sync(tagP, ...messages);\n    },\n    _JacobianPoint: JacobianPoint,\n};\nObject.defineProperties(utils, {\n    sha256Sync: {\n        configurable: false,\n        get() {\n            return _sha256Sync;\n        },\n        set(val) {\n            if (!_sha256Sync)\n                _sha256Sync = val;\n        },\n    },\n    hmacSha256Sync: {\n        configurable: false,\n        get() {\n            return _hmacSha256Sync;\n        },\n        set(val) {\n            if (!_hmacSha256Sync)\n                _hmacSha256Sync = val;\n        },\n    },\n});\n","export function number(n: number) {\n  if (!Number.isSafeInteger(n) || n < 0) throw new Error(`Wrong positive integer: ${n}`);\n}\n\nexport function bool(b: boolean) {\n  if (typeof b !== 'boolean') throw new Error(`Expected boolean, not ${b}`);\n}\n\nexport function bytes(b: Uint8Array | undefined, ...lengths: number[]) {\n  if (!(b instanceof Uint8Array)) throw new TypeError('Expected Uint8Array');\n  if (lengths.length > 0 && !lengths.includes(b.length))\n    throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`);\n}\n\ntype Hash = {\n  (data: Uint8Array): Uint8Array;\n  blockLen: number;\n  outputLen: number;\n  create: any;\n};\nexport function hash(hash: Hash) {\n  if (typeof hash !== 'function' || typeof hash.create !== 'function')\n    throw new Error('Hash should be wrapped by utils.wrapConstructor');\n  number(hash.outputLen);\n  number(hash.blockLen);\n}\n\nexport function exists(instance: any, checkFinished = true) {\n  if (instance.destroyed) throw new Error('Hash instance has been destroyed');\n  if (checkFinished && instance.finished) throw new Error('Hash#digest() has already been called');\n}\nexport function output(out: any, instance: any) {\n  bytes(out);\n  const min = instance.outputLen;\n  if (out.length < min) {\n    throw new Error(`digestInto() expects output buffer of length at least ${min}`);\n  }\n}\n\nconst assert = {\n  number,\n  bool,\n  bytes,\n  hash,\n  exists,\n  output,\n};\n\nexport default assert;\n","// Global symbol available in browsers only\ndeclare const self: Record<string, any> | undefined;\nexport const crypto: { node?: any; web?: any } = {\n  node: undefined,\n  web: typeof self === 'object' && 'crypto' in self ? self.crypto : undefined,\n};\n","/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n\n// The import here is via the package name. This is to ensure\n// that exports mapping/resolution does fall into place.\nimport { crypto } from '@noble/hashes/crypto';\n\n// prettier-ignore\nexport type TypedArray = Int8Array | Uint8ClampedArray | Uint8Array |\n  Uint16Array | Int16Array | Uint32Array | Int32Array;\n\n// Cast array to different type\nexport const u8 = (arr: TypedArray) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\nexport const u32 = (arr: TypedArray) =>\n  new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n\n// Cast array to view\nexport const createView = (arr: TypedArray) =>\n  new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n\n// The rotate right (circular right shift) operation for uint32\nexport const rotr = (word: number, shift: number) => (word << (32 - shift)) | (word >>> shift);\n\nexport const isLE = new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44;\n// There is almost no big endian hardware, but js typed arrays uses platform specific endianness.\n// So, just to be sure not to corrupt anything.\nif (!isLE) throw new Error('Non little-endian hardware is not supported');\n\nconst hexes = Array.from({ length: 256 }, (v, i) => i.toString(16).padStart(2, '0'));\n/**\n * @example bytesToHex(Uint8Array.from([0xde, 0xad, 0xbe, 0xef]))\n */\nexport function bytesToHex(uint8a: Uint8Array): string {\n  // pre-caching improves the speed 6x\n  if (!(uint8a instanceof Uint8Array)) throw new Error('Uint8Array expected');\n  let hex = '';\n  for (let i = 0; i < uint8a.length; i++) {\n    hex += hexes[uint8a[i]];\n  }\n  return hex;\n}\n\n/**\n * @example hexToBytes('deadbeef')\n */\nexport function hexToBytes(hex: string): Uint8Array {\n  if (typeof hex !== 'string') {\n    throw new TypeError('hexToBytes: expected string, got ' + typeof hex);\n  }\n  if (hex.length % 2) throw new Error('hexToBytes: received invalid unpadded hex');\n  const array = new Uint8Array(hex.length / 2);\n  for (let i = 0; i < array.length; i++) {\n    const j = i * 2;\n    const hexByte = hex.slice(j, j + 2);\n    const byte = Number.parseInt(hexByte, 16);\n    if (Number.isNaN(byte) || byte < 0) throw new Error('Invalid byte sequence');\n    array[i] = byte;\n  }\n  return array;\n}\n\n// There is no setImmediate in browser and setTimeout is slow. However, call to async function will return Promise\n// which will be fullfiled only on next scheduler queue processing step and this is exactly what we need.\nexport const nextTick = async () => {};\n\n// Returns control to thread each 'tick' ms to avoid blocking\nexport async function asyncLoop(iters: number, tick: number, cb: (i: number) => void) {\n  let ts = Date.now();\n  for (let i = 0; i < iters; i++) {\n    cb(i);\n    // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n    const diff = Date.now() - ts;\n    if (diff >= 0 && diff < tick) continue;\n    await nextTick();\n    ts += diff;\n  }\n}\n\n// Global symbols in both browsers and Node.js since v11\n// See https://github.com/microsoft/TypeScript/issues/31535\ndeclare const TextEncoder: any;\ndeclare const TextDecoder: any;\n\nexport function utf8ToBytes(str: string): Uint8Array {\n  if (typeof str !== 'string') {\n    throw new TypeError(`utf8ToBytes expected string, got ${typeof str}`);\n  }\n  return new TextEncoder().encode(str);\n}\n\nexport type Input = Uint8Array | string;\nexport function toBytes(data: Input): Uint8Array {\n  if (typeof data === 'string') data = utf8ToBytes(data);\n  if (!(data instanceof Uint8Array))\n    throw new TypeError(`Expected input type is Uint8Array (got ${typeof data})`);\n  return data;\n}\n\n/**\n * Concats Uint8Array-s into one; like `Buffer.concat([buf1, buf2])`\n * @example concatBytes(buf1, buf2)\n */\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n  if (!arrays.every((a) => a instanceof Uint8Array)) throw new Error('Uint8Array list expected');\n  if (arrays.length === 1) return arrays[0];\n  const length = arrays.reduce((a, arr) => a + arr.length, 0);\n  const result = new Uint8Array(length);\n  for (let i = 0, pad = 0; i < arrays.length; i++) {\n    const arr = arrays[i];\n    result.set(arr, pad);\n    pad += arr.length;\n  }\n  return result;\n}\n\n// For runtime check if class implements interface\nexport abstract class Hash<T extends Hash<T>> {\n  abstract blockLen: number; // Bytes per block\n  abstract outputLen: number; // Bytes in output\n  abstract update(buf: Input): this;\n  // Writes digest into buf\n  abstract digestInto(buf: Uint8Array): void;\n  abstract digest(): Uint8Array;\n  // Cleanup internal state. Not '.clean' because instance is not usable after that.\n  // Clean usually resets instance to initial state, but it is not possible for keyed hashes if key is consumed into state.\n  // NOTE: if digest is not consumed by user, user need manually call '.destroy' if zeroing is required\n  abstract destroy(): void;\n  // Unsafe because doesn't check if \"to\" is correct. Can be used as clone() if no opts passed.\n  // Why cloneInto instead of clone? Mostly performance (same as _digestInto), but also has nice property: it reuses instance\n  // which means all internal buffers is overwritten, which also causes overwrite buffer which used for digest (in some cases).\n  // We don't provide any guarantees about cleanup (it is impossible to!), so should be enough for now.\n  abstract _cloneInto(to?: T): T;\n  // Safe version that clones internal state\n  clone(): T {\n    return this._cloneInto();\n  }\n}\n\n/**\n * XOF: streaming API to read digest in chunks.\n * Same as 'squeeze' in keccak/k12 and 'seek' in blake3, but more generic name.\n * When hash used in XOF mode it is up to user to call '.destroy' afterwards, since we cannot destroy state, next call can require more bytes.\n */\nexport type HashXOF<T extends Hash<T>> = Hash<T> & {\n  xof(bytes: number): Uint8Array; // Read 'bytes' bytes from digest stream\n  xofInto(buf: Uint8Array): Uint8Array; // read buf.length bytes from digest stream into buf\n};\n\n// Check if object doens't have custom constructor (like Uint8Array/Array)\nconst isPlainObject = (obj: any) =>\n  Object.prototype.toString.call(obj) === '[object Object]' && obj.constructor === Object;\n\ntype EmptyObj = {};\nexport function checkOpts<T1 extends EmptyObj, T2 extends EmptyObj>(\n  defaults: T1,\n  opts?: T2\n): T1 & T2 {\n  if (opts !== undefined && (typeof opts !== 'object' || !isPlainObject(opts)))\n    throw new TypeError('Options should be object or undefined');\n  const merged = Object.assign(defaults, opts);\n  return merged as T1 & T2;\n}\n\nexport type CHash = ReturnType<typeof wrapConstructor>;\n\nexport function wrapConstructor<T extends Hash<T>>(hashConstructor: () => Hash<T>) {\n  const hashC = (message: Input): Uint8Array => hashConstructor().update(toBytes(message)).digest();\n  const tmp = hashConstructor();\n  hashC.outputLen = tmp.outputLen;\n  hashC.blockLen = tmp.blockLen;\n  hashC.create = () => hashConstructor();\n  return hashC;\n}\n\nexport function wrapConstructorWithOpts<H extends Hash<H>, T extends Object>(\n  hashCons: (opts?: T) => Hash<H>\n) {\n  const hashC = (msg: Input, opts?: T): Uint8Array => hashCons(opts).update(toBytes(msg)).digest();\n  const tmp = hashCons({} as T);\n  hashC.outputLen = tmp.outputLen;\n  hashC.blockLen = tmp.blockLen;\n  hashC.create = (opts: T) => hashCons(opts);\n  return hashC;\n}\n\n/**\n * Secure PRNG\n */\nexport function randomBytes(bytesLength = 32): Uint8Array {\n  if (crypto.web) {\n    return crypto.web.getRandomValues(new Uint8Array(bytesLength));\n  } else if (crypto.node) {\n    return new Uint8Array(crypto.node.randomBytes(bytesLength).buffer);\n  } else {\n    throw new Error(\"The environment doesn't have randomBytes function\");\n  }\n}\n","import assert from './_assert.js';\nimport { Hash, createView, Input, toBytes } from './utils.js';\n\n// Polyfill for Safari 14\nfunction setBigUint64(view: DataView, byteOffset: number, value: bigint, isLE: boolean): void {\n  if (typeof view.setBigUint64 === 'function') return view.setBigUint64(byteOffset, value, isLE);\n  const _32n = BigInt(32);\n  const _u32_max = BigInt(0xffffffff);\n  const wh = Number((value >> _32n) & _u32_max);\n  const wl = Number(value & _u32_max);\n  const h = isLE ? 4 : 0;\n  const l = isLE ? 0 : 4;\n  view.setUint32(byteOffset + h, wh, isLE);\n  view.setUint32(byteOffset + l, wl, isLE);\n}\n\n// Base SHA2 class (RFC 6234)\nexport abstract class SHA2<T extends SHA2<T>> extends Hash<T> {\n  protected abstract process(buf: DataView, offset: number): void;\n  protected abstract get(): number[];\n  protected abstract set(...args: number[]): void;\n  abstract destroy(): void;\n  protected abstract roundClean(): void;\n  // For partial updates less than block size\n  protected buffer: Uint8Array;\n  protected view: DataView;\n  protected finished = false;\n  protected length = 0;\n  protected pos = 0;\n  protected destroyed = false;\n\n  constructor(\n    readonly blockLen: number,\n    public outputLen: number,\n    readonly padOffset: number,\n    readonly isLE: boolean\n  ) {\n    super();\n    this.buffer = new Uint8Array(blockLen);\n    this.view = createView(this.buffer);\n  }\n  update(data: Input): this {\n    assert.exists(this);\n    const { view, buffer, blockLen } = this;\n    data = toBytes(data);\n    const len = data.length;\n    for (let pos = 0; pos < len; ) {\n      const take = Math.min(blockLen - this.pos, len - pos);\n      // Fast path: we have at least one block in input, cast it to view and process\n      if (take === blockLen) {\n        const dataView = createView(data);\n        for (; blockLen <= len - pos; pos += blockLen) this.process(dataView, pos);\n        continue;\n      }\n      buffer.set(data.subarray(pos, pos + take), this.pos);\n      this.pos += take;\n      pos += take;\n      if (this.pos === blockLen) {\n        this.process(view, 0);\n        this.pos = 0;\n      }\n    }\n    this.length += data.length;\n    this.roundClean();\n    return this;\n  }\n  digestInto(out: Uint8Array) {\n    assert.exists(this);\n    assert.output(out, this);\n    this.finished = true;\n    // Padding\n    // We can avoid allocation of buffer for padding completely if it\n    // was previously not allocated here. But it won't change performance.\n    const { buffer, view, blockLen, isLE } = this;\n    let { pos } = this;\n    // append the bit '1' to the message\n    buffer[pos++] = 0b10000000;\n    this.buffer.subarray(pos).fill(0);\n    // we have less than padOffset left in buffer, so we cannot put length in current block, need process it and pad again\n    if (this.padOffset > blockLen - pos) {\n      this.process(view, 0);\n      pos = 0;\n    }\n    // Pad until full block byte with zeros\n    for (let i = pos; i < blockLen; i++) buffer[i] = 0;\n    // Note: sha512 requires length to be 128bit integer, but length in JS will overflow before that\n    // You need to write around 2 exabytes (u64_max / 8 / (1024**6)) for this to happen.\n    // So we just write lowest 64 bits of that value.\n    setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE);\n    this.process(view, 0);\n    const oview = createView(out);\n    const len = this.outputLen;\n    // NOTE: we do division by 4 later, which should be fused in single op with modulo by JIT\n    if (len % 4) throw new Error('_sha2: outputLen should be aligned to 32bit');\n    const outLen = len / 4;\n    const state = this.get();\n    if (outLen > state.length) throw new Error('_sha2: outputLen bigger than state');\n    for (let i = 0; i < outLen; i++) oview.setUint32(4 * i, state[i], isLE);\n  }\n  digest() {\n    const { buffer, outputLen } = this;\n    this.digestInto(buffer);\n    const res = buffer.slice(0, outputLen);\n    this.destroy();\n    return res;\n  }\n  _cloneInto(to?: T): T {\n    to ||= new (this.constructor as any)() as T;\n    to.set(...this.get());\n    const { blockLen, buffer, length, finished, destroyed, pos } = this;\n    to.length = length;\n    to.pos = pos;\n    to.finished = finished;\n    to.destroyed = destroyed;\n    if (length % blockLen) to.buffer.set(buffer);\n    return to;\n  }\n}\n","import { SHA2 } from './_sha2.js';\nimport { rotr, wrapConstructor } from './utils.js';\n\n// Choice: a ? b : c\nconst Chi = (a: number, b: number, c: number) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a: number, b: number, c: number) => (a & b) ^ (a & c) ^ (b & c);\n\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = new Uint32Array([\n  0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n  0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n  0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n  0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n  0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n  0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n  0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n  0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = new Uint32Array([\n  0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = new Uint32Array(64);\nclass SHA256 extends SHA2<SHA256> {\n  // We cannot use array here since array allows indexing by variable\n  // which means optimizer/compiler cannot use registers.\n  A = IV[0] | 0;\n  B = IV[1] | 0;\n  C = IV[2] | 0;\n  D = IV[3] | 0;\n  E = IV[4] | 0;\n  F = IV[5] | 0;\n  G = IV[6] | 0;\n  H = IV[7] | 0;\n\n  constructor() {\n    super(64, 32, 8, false);\n  }\n  protected get(): [number, number, number, number, number, number, number, number] {\n    const { A, B, C, D, E, F, G, H } = this;\n    return [A, B, C, D, E, F, G, H];\n  }\n  // prettier-ignore\n  protected set(\n    A: number, B: number, C: number, D: number, E: number, F: number, G: number, H: number\n  ) {\n    this.A = A | 0;\n    this.B = B | 0;\n    this.C = C | 0;\n    this.D = D | 0;\n    this.E = E | 0;\n    this.F = F | 0;\n    this.G = G | 0;\n    this.H = H | 0;\n  }\n  protected process(view: DataView, offset: number): void {\n    // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n    for (let i = 0; i < 16; i++, offset += 4) SHA256_W[i] = view.getUint32(offset, false);\n    for (let i = 16; i < 64; i++) {\n      const W15 = SHA256_W[i - 15];\n      const W2 = SHA256_W[i - 2];\n      const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n      const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n      SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n    }\n    // Compression function main loop, 64 rounds\n    let { A, B, C, D, E, F, G, H } = this;\n    for (let i = 0; i < 64; i++) {\n      const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n      const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n      const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n      const T2 = (sigma0 + Maj(A, B, C)) | 0;\n      H = G;\n      G = F;\n      F = E;\n      E = (D + T1) | 0;\n      D = C;\n      C = B;\n      B = A;\n      A = (T1 + T2) | 0;\n    }\n    // Add the compressed chunk to the current hash value\n    A = (A + this.A) | 0;\n    B = (B + this.B) | 0;\n    C = (C + this.C) | 0;\n    D = (D + this.D) | 0;\n    E = (E + this.E) | 0;\n    F = (F + this.F) | 0;\n    G = (G + this.G) | 0;\n    H = (H + this.H) | 0;\n    this.set(A, B, C, D, E, F, G, H);\n  }\n  protected roundClean() {\n    SHA256_W.fill(0);\n  }\n  destroy() {\n    this.set(0, 0, 0, 0, 0, 0, 0, 0);\n    this.buffer.fill(0);\n  }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n  A = 0xc1059ed8 | 0;\n  B = 0x367cd507 | 0;\n  C = 0x3070dd17 | 0;\n  D = 0xf70e5939 | 0;\n  E = 0xffc00b31 | 0;\n  F = 0x68581511 | 0;\n  G = 0x64f98fa7 | 0;\n  H = 0xbefa4fa4 | 0;\n  constructor() {\n    super();\n    this.outputLen = 28;\n  }\n}\n\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexport const sha256 = wrapConstructor(() => new SHA256());\nexport const sha224 = wrapConstructor(() => new SHA224());\n","/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nexport function assertNumber(n) {\n    if (!Number.isSafeInteger(n))\n        throw new Error(`Wrong integer: ${n}`);\n}\nfunction chain(...args) {\n    const wrap = (a, b) => (c) => a(b(c));\n    const encode = Array.from(args)\n        .reverse()\n        .reduce((acc, i) => (acc ? wrap(acc, i.encode) : i.encode), undefined);\n    const decode = args.reduce((acc, i) => (acc ? wrap(acc, i.decode) : i.decode), undefined);\n    return { encode, decode };\n}\nfunction alphabet(alphabet) {\n    return {\n        encode: (digits) => {\n            if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number'))\n                throw new Error('alphabet.encode input should be an array of numbers');\n            return digits.map((i) => {\n                assertNumber(i);\n                if (i < 0 || i >= alphabet.length)\n                    throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet.length})`);\n                return alphabet[i];\n            });\n        },\n        decode: (input) => {\n            if (!Array.isArray(input) || (input.length && typeof input[0] !== 'string'))\n                throw new Error('alphabet.decode input should be array of strings');\n            return input.map((letter) => {\n                if (typeof letter !== 'string')\n                    throw new Error(`alphabet.decode: not string element=${letter}`);\n                const index = alphabet.indexOf(letter);\n                if (index === -1)\n                    throw new Error(`Unknown letter: \"${letter}\". Allowed: ${alphabet}`);\n                return index;\n            });\n        },\n    };\n}\nfunction join(separator = '') {\n    if (typeof separator !== 'string')\n        throw new Error('join separator should be string');\n    return {\n        encode: (from) => {\n            if (!Array.isArray(from) || (from.length && typeof from[0] !== 'string'))\n                throw new Error('join.encode input should be array of strings');\n            for (let i of from)\n                if (typeof i !== 'string')\n                    throw new Error(`join.encode: non-string input=${i}`);\n            return from.join(separator);\n        },\n        decode: (to) => {\n            if (typeof to !== 'string')\n                throw new Error('join.decode input should be string');\n            return to.split(separator);\n        },\n    };\n}\nfunction padding(bits, chr = '=') {\n    assertNumber(bits);\n    if (typeof chr !== 'string')\n        throw new Error('padding chr should be string');\n    return {\n        encode(data) {\n            if (!Array.isArray(data) || (data.length && typeof data[0] !== 'string'))\n                throw new Error('padding.encode input should be array of strings');\n            for (let i of data)\n                if (typeof i !== 'string')\n                    throw new Error(`padding.encode: non-string input=${i}`);\n            while ((data.length * bits) % 8)\n                data.push(chr);\n            return data;\n        },\n        decode(input) {\n            if (!Array.isArray(input) || (input.length && typeof input[0] !== 'string'))\n                throw new Error('padding.encode input should be array of strings');\n            for (let i of input)\n                if (typeof i !== 'string')\n                    throw new Error(`padding.decode: non-string input=${i}`);\n            let end = input.length;\n            if ((end * bits) % 8)\n                throw new Error('Invalid padding: string should have whole number of bytes');\n            for (; end > 0 && input[end - 1] === chr; end--) {\n                if (!(((end - 1) * bits) % 8))\n                    throw new Error('Invalid padding: string has too much padding');\n            }\n            return input.slice(0, end);\n        },\n    };\n}\nfunction normalize(fn) {\n    if (typeof fn !== 'function')\n        throw new Error('normalize fn should be function');\n    return { encode: (from) => from, decode: (to) => fn(to) };\n}\nfunction convertRadix(data, from, to) {\n    if (from < 2)\n        throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`);\n    if (to < 2)\n        throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`);\n    if (!Array.isArray(data))\n        throw new Error('convertRadix: data should be array');\n    if (!data.length)\n        return [];\n    let pos = 0;\n    const res = [];\n    const digits = Array.from(data);\n    digits.forEach((d) => {\n        assertNumber(d);\n        if (d < 0 || d >= from)\n            throw new Error(`Wrong integer: ${d}`);\n    });\n    while (true) {\n        let carry = 0;\n        let done = true;\n        for (let i = pos; i < digits.length; i++) {\n            const digit = digits[i];\n            const digitBase = from * carry + digit;\n            if (!Number.isSafeInteger(digitBase) ||\n                (from * carry) / from !== carry ||\n                digitBase - digit !== from * carry) {\n                throw new Error('convertRadix: carry overflow');\n            }\n            carry = digitBase % to;\n            digits[i] = Math.floor(digitBase / to);\n            if (!Number.isSafeInteger(digits[i]) || digits[i] * to + carry !== digitBase)\n                throw new Error('convertRadix: carry overflow');\n            if (!done)\n                continue;\n            else if (!digits[i])\n                pos = i;\n            else\n                done = false;\n        }\n        res.push(carry);\n        if (done)\n            break;\n    }\n    for (let i = 0; i < data.length - 1 && data[i] === 0; i++)\n        res.push(0);\n    return res.reverse();\n}\nconst gcd = (a, b) => (!b ? a : gcd(b, a % b));\nconst radix2carry = (from, to) => from + (to - gcd(from, to));\nfunction convertRadix2(data, from, to, padding) {\n    if (!Array.isArray(data))\n        throw new Error('convertRadix2: data should be array');\n    if (from <= 0 || from > 32)\n        throw new Error(`convertRadix2: wrong from=${from}`);\n    if (to <= 0 || to > 32)\n        throw new Error(`convertRadix2: wrong to=${to}`);\n    if (radix2carry(from, to) > 32) {\n        throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from, to)}`);\n    }\n    let carry = 0;\n    let pos = 0;\n    const mask = 2 ** to - 1;\n    const res = [];\n    for (const n of data) {\n        assertNumber(n);\n        if (n >= 2 ** from)\n            throw new Error(`convertRadix2: invalid data word=${n} from=${from}`);\n        carry = (carry << from) | n;\n        if (pos + from > 32)\n            throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`);\n        pos += from;\n        for (; pos >= to; pos -= to)\n            res.push(((carry >> (pos - to)) & mask) >>> 0);\n        carry &= 2 ** pos - 1;\n    }\n    carry = (carry << (to - pos)) & mask;\n    if (!padding && pos >= from)\n        throw new Error('Excess padding');\n    if (!padding && carry)\n        throw new Error(`Non-zero padding: ${carry}`);\n    if (padding && pos > 0)\n        res.push(carry >>> 0);\n    return res;\n}\nfunction radix(num) {\n    assertNumber(num);\n    return {\n        encode: (bytes) => {\n            if (!(bytes instanceof Uint8Array))\n                throw new Error('radix.encode input should be Uint8Array');\n            return convertRadix(Array.from(bytes), 2 ** 8, num);\n        },\n        decode: (digits) => {\n            if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number'))\n                throw new Error('radix.decode input should be array of strings');\n            return Uint8Array.from(convertRadix(digits, num, 2 ** 8));\n        },\n    };\n}\nfunction radix2(bits, revPadding = false) {\n    assertNumber(bits);\n    if (bits <= 0 || bits > 32)\n        throw new Error('radix2: bits should be in (0..32]');\n    if (radix2carry(8, bits) > 32 || radix2carry(bits, 8) > 32)\n        throw new Error('radix2: carry overflow');\n    return {\n        encode: (bytes) => {\n            if (!(bytes instanceof Uint8Array))\n                throw new Error('radix2.encode input should be Uint8Array');\n            return convertRadix2(Array.from(bytes), 8, bits, !revPadding);\n        },\n        decode: (digits) => {\n            if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number'))\n                throw new Error('radix2.decode input should be array of strings');\n            return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding));\n        },\n    };\n}\nfunction unsafeWrapper(fn) {\n    if (typeof fn !== 'function')\n        throw new Error('unsafeWrapper fn should be function');\n    return function (...args) {\n        try {\n            return fn.apply(null, args);\n        }\n        catch (e) { }\n    };\n}\nfunction checksum(len, fn) {\n    assertNumber(len);\n    if (typeof fn !== 'function')\n        throw new Error('checksum fn should be function');\n    return {\n        encode(data) {\n            if (!(data instanceof Uint8Array))\n                throw new Error('checksum.encode: input should be Uint8Array');\n            const checksum = fn(data).slice(0, len);\n            const res = new Uint8Array(data.length + len);\n            res.set(data);\n            res.set(checksum, data.length);\n            return res;\n        },\n        decode(data) {\n            if (!(data instanceof Uint8Array))\n                throw new Error('checksum.decode: input should be Uint8Array');\n            const payload = data.slice(0, -len);\n            const newChecksum = fn(payload).slice(0, len);\n            const oldChecksum = data.slice(-len);\n            for (let i = 0; i < len; i++)\n                if (newChecksum[i] !== oldChecksum[i])\n                    throw new Error('Invalid checksum');\n            return payload;\n        },\n    };\n}\nexport const utils = { alphabet, chain, checksum, radix, radix2, join, padding };\nexport const base16 = chain(radix2(4), alphabet('0123456789ABCDEF'), join(''));\nexport const base32 = chain(radix2(5), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'), padding(5), join(''));\nexport const base32hex = chain(radix2(5), alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUV'), padding(5), join(''));\nexport const base32crockford = chain(radix2(5), alphabet('0123456789ABCDEFGHJKMNPQRSTVWXYZ'), join(''), normalize((s) => s.toUpperCase().replace(/O/g, '0').replace(/[IL]/g, '1')));\nexport const base64 = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'), padding(6), join(''));\nexport const base64url = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), padding(6), join(''));\nconst genBase58 = (abc) => chain(radix(58), alphabet(abc), join(''));\nexport const base58 = genBase58('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz');\nexport const base58flickr = genBase58('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ');\nexport const base58xrp = genBase58('rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz');\nconst XMR_BLOCK_LEN = [0, 2, 3, 5, 6, 7, 9, 10, 11];\nexport const base58xmr = {\n    encode(data) {\n        let res = '';\n        for (let i = 0; i < data.length; i += 8) {\n            const block = data.subarray(i, i + 8);\n            res += base58.encode(block).padStart(XMR_BLOCK_LEN[block.length], '1');\n        }\n        return res;\n    },\n    decode(str) {\n        let res = [];\n        for (let i = 0; i < str.length; i += 11) {\n            const slice = str.slice(i, i + 11);\n            const blockLen = XMR_BLOCK_LEN.indexOf(slice.length);\n            const block = base58.decode(slice);\n            for (let j = 0; j < block.length - blockLen; j++) {\n                if (block[j] !== 0)\n                    throw new Error('base58xmr: wrong padding');\n            }\n            res = res.concat(Array.from(block.slice(block.length - blockLen)));\n        }\n        return Uint8Array.from(res);\n    },\n};\nexport const base58check = (sha256) => chain(checksum(4, (data) => sha256(sha256(data))), base58);\nconst BECH_ALPHABET = chain(alphabet('qpzry9x8gf2tvdw0s3jn54khce6mua7l'), join(''));\nconst POLYMOD_GENERATORS = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3];\nfunction bech32Polymod(pre) {\n    const b = pre >> 25;\n    let chk = (pre & 0x1ffffff) << 5;\n    for (let i = 0; i < POLYMOD_GENERATORS.length; i++) {\n        if (((b >> i) & 1) === 1)\n            chk ^= POLYMOD_GENERATORS[i];\n    }\n    return chk;\n}\nfunction bechChecksum(prefix, words, encodingConst = 1) {\n    const len = prefix.length;\n    let chk = 1;\n    for (let i = 0; i < len; i++) {\n        const c = prefix.charCodeAt(i);\n        if (c < 33 || c > 126)\n            throw new Error(`Invalid prefix (${prefix})`);\n        chk = bech32Polymod(chk) ^ (c >> 5);\n    }\n    chk = bech32Polymod(chk);\n    for (let i = 0; i < len; i++)\n        chk = bech32Polymod(chk) ^ (prefix.charCodeAt(i) & 0x1f);\n    for (let v of words)\n        chk = bech32Polymod(chk) ^ v;\n    for (let i = 0; i < 6; i++)\n        chk = bech32Polymod(chk);\n    chk ^= encodingConst;\n    return BECH_ALPHABET.encode(convertRadix2([chk % 2 ** 30], 30, 5, false));\n}\nfunction genBech32(encoding) {\n    const ENCODING_CONST = encoding === 'bech32' ? 1 : 0x2bc830a3;\n    const _words = radix2(5);\n    const fromWords = _words.decode;\n    const toWords = _words.encode;\n    const fromWordsUnsafe = unsafeWrapper(fromWords);\n    function encode(prefix, words, limit = 90) {\n        if (typeof prefix !== 'string')\n            throw new Error(`bech32.encode prefix should be string, not ${typeof prefix}`);\n        if (!Array.isArray(words) || (words.length && typeof words[0] !== 'number'))\n            throw new Error(`bech32.encode words should be array of numbers, not ${typeof words}`);\n        const actualLength = prefix.length + 7 + words.length;\n        if (limit !== false && actualLength > limit)\n            throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`);\n        prefix = prefix.toLowerCase();\n        return `${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum(prefix, words, ENCODING_CONST)}`;\n    }\n    function decode(str, limit = 90) {\n        if (typeof str !== 'string')\n            throw new Error(`bech32.decode input should be string, not ${typeof str}`);\n        if (str.length < 8 || (limit !== false && str.length > limit))\n            throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`);\n        const lowered = str.toLowerCase();\n        if (str !== lowered && str !== str.toUpperCase())\n            throw new Error(`String must be lowercase or uppercase`);\n        str = lowered;\n        const sepIndex = str.lastIndexOf('1');\n        if (sepIndex === 0 || sepIndex === -1)\n            throw new Error(`Letter \"1\" must be present between prefix and data only`);\n        const prefix = str.slice(0, sepIndex);\n        const _words = str.slice(sepIndex + 1);\n        if (_words.length < 6)\n            throw new Error('Data must be at least 6 characters long');\n        const words = BECH_ALPHABET.decode(_words).slice(0, -6);\n        const sum = bechChecksum(prefix, words, ENCODING_CONST);\n        if (!_words.endsWith(sum))\n            throw new Error(`Invalid checksum in ${str}: expected \"${sum}\"`);\n        return { prefix, words };\n    }\n    const decodeUnsafe = unsafeWrapper(decode);\n    function decodeToBytes(str) {\n        const { prefix, words } = decode(str, false);\n        return { prefix, words, bytes: fromWords(words) };\n    }\n    return { encode, decode, decodeToBytes, decodeUnsafe, fromWords, fromWordsUnsafe, toWords };\n}\nexport const bech32 = genBech32('bech32');\nexport const bech32m = genBech32('bech32m');\nexport const utf8 = {\n    encode: (data) => new TextDecoder().decode(data),\n    decode: (str) => new TextEncoder().encode(str),\n};\nexport const hex = chain(radix2(4), alphabet('0123456789abcdef'), join(''), normalize((s) => {\n    if (typeof s !== 'string' || s.length % 2)\n        throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`);\n    return s.toLowerCase();\n}));\nconst CODERS = {\n    utf8, hex, base16, base32, base64, base64url, base58, base58xmr\n};\nconst coderTypeError = `Invalid encoding type. Available types: ${Object.keys(CODERS).join(', ')}`;\nexport const bytesToString = (type, bytes) => {\n    if (typeof type !== 'string' || !CODERS.hasOwnProperty(type))\n        throw new TypeError(coderTypeError);\n    if (!(bytes instanceof Uint8Array))\n        throw new TypeError('bytesToString() expects Uint8Array');\n    return CODERS[type].encode(bytes);\n};\nexport const str = bytesToString;\nexport const stringToBytes = (type, str) => {\n    if (!CODERS.hasOwnProperty(type))\n        throw new TypeError(coderTypeError);\n    if (typeof str !== 'string')\n        throw new TypeError('stringToBytes() expects string');\n    return CODERS[type].decode(str);\n};\nexport const bytes = stringToBytes;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.wordlist = void 0;\nexports.wordlist = `abandon\nability\nable\nabout\nabove\nabsent\nabsorb\nabstract\nabsurd\nabuse\naccess\naccident\naccount\naccuse\nachieve\nacid\nacoustic\nacquire\nacross\nact\naction\nactor\nactress\nactual\nadapt\nadd\naddict\naddress\nadjust\nadmit\nadult\nadvance\nadvice\naerobic\naffair\nafford\nafraid\nagain\nage\nagent\nagree\nahead\naim\nair\nairport\naisle\nalarm\nalbum\nalcohol\nalert\nalien\nall\nalley\nallow\nalmost\nalone\nalpha\nalready\nalso\nalter\nalways\namateur\namazing\namong\namount\namused\nanalyst\nanchor\nancient\nanger\nangle\nangry\nanimal\nankle\nannounce\nannual\nanother\nanswer\nantenna\nantique\nanxiety\nany\napart\napology\nappear\napple\napprove\napril\narch\narctic\narea\narena\nargue\narm\narmed\narmor\narmy\naround\narrange\narrest\narrive\narrow\nart\nartefact\nartist\nartwork\nask\naspect\nassault\nasset\nassist\nassume\nasthma\nathlete\natom\nattack\nattend\nattitude\nattract\nauction\naudit\naugust\naunt\nauthor\nauto\nautumn\naverage\navocado\navoid\nawake\naware\naway\nawesome\nawful\nawkward\naxis\nbaby\nbachelor\nbacon\nbadge\nbag\nbalance\nbalcony\nball\nbamboo\nbanana\nbanner\nbar\nbarely\nbargain\nbarrel\nbase\nbasic\nbasket\nbattle\nbeach\nbean\nbeauty\nbecause\nbecome\nbeef\nbefore\nbegin\nbehave\nbehind\nbelieve\nbelow\nbelt\nbench\nbenefit\nbest\nbetray\nbetter\nbetween\nbeyond\nbicycle\nbid\nbike\nbind\nbiology\nbird\nbirth\nbitter\nblack\nblade\nblame\nblanket\nblast\nbleak\nbless\nblind\nblood\nblossom\nblouse\nblue\nblur\nblush\nboard\nboat\nbody\nboil\nbomb\nbone\nbonus\nbook\nboost\nborder\nboring\nborrow\nboss\nbottom\nbounce\nbox\nboy\nbracket\nbrain\nbrand\nbrass\nbrave\nbread\nbreeze\nbrick\nbridge\nbrief\nbright\nbring\nbrisk\nbroccoli\nbroken\nbronze\nbroom\nbrother\nbrown\nbrush\nbubble\nbuddy\nbudget\nbuffalo\nbuild\nbulb\nbulk\nbullet\nbundle\nbunker\nburden\nburger\nburst\nbus\nbusiness\nbusy\nbutter\nbuyer\nbuzz\ncabbage\ncabin\ncable\ncactus\ncage\ncake\ncall\ncalm\ncamera\ncamp\ncan\ncanal\ncancel\ncandy\ncannon\ncanoe\ncanvas\ncanyon\ncapable\ncapital\ncaptain\ncar\ncarbon\ncard\ncargo\ncarpet\ncarry\ncart\ncase\ncash\ncasino\ncastle\ncasual\ncat\ncatalog\ncatch\ncategory\ncattle\ncaught\ncause\ncaution\ncave\nceiling\ncelery\ncement\ncensus\ncentury\ncereal\ncertain\nchair\nchalk\nchampion\nchange\nchaos\nchapter\ncharge\nchase\nchat\ncheap\ncheck\ncheese\nchef\ncherry\nchest\nchicken\nchief\nchild\nchimney\nchoice\nchoose\nchronic\nchuckle\nchunk\nchurn\ncigar\ncinnamon\ncircle\ncitizen\ncity\ncivil\nclaim\nclap\nclarify\nclaw\nclay\nclean\nclerk\nclever\nclick\nclient\ncliff\nclimb\nclinic\nclip\nclock\nclog\nclose\ncloth\ncloud\nclown\nclub\nclump\ncluster\nclutch\ncoach\ncoast\ncoconut\ncode\ncoffee\ncoil\ncoin\ncollect\ncolor\ncolumn\ncombine\ncome\ncomfort\ncomic\ncommon\ncompany\nconcert\nconduct\nconfirm\ncongress\nconnect\nconsider\ncontrol\nconvince\ncook\ncool\ncopper\ncopy\ncoral\ncore\ncorn\ncorrect\ncost\ncotton\ncouch\ncountry\ncouple\ncourse\ncousin\ncover\ncoyote\ncrack\ncradle\ncraft\ncram\ncrane\ncrash\ncrater\ncrawl\ncrazy\ncream\ncredit\ncreek\ncrew\ncricket\ncrime\ncrisp\ncritic\ncrop\ncross\ncrouch\ncrowd\ncrucial\ncruel\ncruise\ncrumble\ncrunch\ncrush\ncry\ncrystal\ncube\nculture\ncup\ncupboard\ncurious\ncurrent\ncurtain\ncurve\ncushion\ncustom\ncute\ncycle\ndad\ndamage\ndamp\ndance\ndanger\ndaring\ndash\ndaughter\ndawn\nday\ndeal\ndebate\ndebris\ndecade\ndecember\ndecide\ndecline\ndecorate\ndecrease\ndeer\ndefense\ndefine\ndefy\ndegree\ndelay\ndeliver\ndemand\ndemise\ndenial\ndentist\ndeny\ndepart\ndepend\ndeposit\ndepth\ndeputy\nderive\ndescribe\ndesert\ndesign\ndesk\ndespair\ndestroy\ndetail\ndetect\ndevelop\ndevice\ndevote\ndiagram\ndial\ndiamond\ndiary\ndice\ndiesel\ndiet\ndiffer\ndigital\ndignity\ndilemma\ndinner\ndinosaur\ndirect\ndirt\ndisagree\ndiscover\ndisease\ndish\ndismiss\ndisorder\ndisplay\ndistance\ndivert\ndivide\ndivorce\ndizzy\ndoctor\ndocument\ndog\ndoll\ndolphin\ndomain\ndonate\ndonkey\ndonor\ndoor\ndose\ndouble\ndove\ndraft\ndragon\ndrama\ndrastic\ndraw\ndream\ndress\ndrift\ndrill\ndrink\ndrip\ndrive\ndrop\ndrum\ndry\nduck\ndumb\ndune\nduring\ndust\ndutch\nduty\ndwarf\ndynamic\neager\neagle\nearly\nearn\nearth\neasily\neast\neasy\necho\necology\neconomy\nedge\nedit\neducate\neffort\negg\neight\neither\nelbow\nelder\nelectric\nelegant\nelement\nelephant\nelevator\nelite\nelse\nembark\nembody\nembrace\nemerge\nemotion\nemploy\nempower\nempty\nenable\nenact\nend\nendless\nendorse\nenemy\nenergy\nenforce\nengage\nengine\nenhance\nenjoy\nenlist\nenough\nenrich\nenroll\nensure\nenter\nentire\nentry\nenvelope\nepisode\nequal\nequip\nera\nerase\nerode\nerosion\nerror\nerupt\nescape\nessay\nessence\nestate\neternal\nethics\nevidence\nevil\nevoke\nevolve\nexact\nexample\nexcess\nexchange\nexcite\nexclude\nexcuse\nexecute\nexercise\nexhaust\nexhibit\nexile\nexist\nexit\nexotic\nexpand\nexpect\nexpire\nexplain\nexpose\nexpress\nextend\nextra\neye\neyebrow\nfabric\nface\nfaculty\nfade\nfaint\nfaith\nfall\nfalse\nfame\nfamily\nfamous\nfan\nfancy\nfantasy\nfarm\nfashion\nfat\nfatal\nfather\nfatigue\nfault\nfavorite\nfeature\nfebruary\nfederal\nfee\nfeed\nfeel\nfemale\nfence\nfestival\nfetch\nfever\nfew\nfiber\nfiction\nfield\nfigure\nfile\nfilm\nfilter\nfinal\nfind\nfine\nfinger\nfinish\nfire\nfirm\nfirst\nfiscal\nfish\nfit\nfitness\nfix\nflag\nflame\nflash\nflat\nflavor\nflee\nflight\nflip\nfloat\nflock\nfloor\nflower\nfluid\nflush\nfly\nfoam\nfocus\nfog\nfoil\nfold\nfollow\nfood\nfoot\nforce\nforest\nforget\nfork\nfortune\nforum\nforward\nfossil\nfoster\nfound\nfox\nfragile\nframe\nfrequent\nfresh\nfriend\nfringe\nfrog\nfront\nfrost\nfrown\nfrozen\nfruit\nfuel\nfun\nfunny\nfurnace\nfury\nfuture\ngadget\ngain\ngalaxy\ngallery\ngame\ngap\ngarage\ngarbage\ngarden\ngarlic\ngarment\ngas\ngasp\ngate\ngather\ngauge\ngaze\ngeneral\ngenius\ngenre\ngentle\ngenuine\ngesture\nghost\ngiant\ngift\ngiggle\nginger\ngiraffe\ngirl\ngive\nglad\nglance\nglare\nglass\nglide\nglimpse\nglobe\ngloom\nglory\nglove\nglow\nglue\ngoat\ngoddess\ngold\ngood\ngoose\ngorilla\ngospel\ngossip\ngovern\ngown\ngrab\ngrace\ngrain\ngrant\ngrape\ngrass\ngravity\ngreat\ngreen\ngrid\ngrief\ngrit\ngrocery\ngroup\ngrow\ngrunt\nguard\nguess\nguide\nguilt\nguitar\ngun\ngym\nhabit\nhair\nhalf\nhammer\nhamster\nhand\nhappy\nharbor\nhard\nharsh\nharvest\nhat\nhave\nhawk\nhazard\nhead\nhealth\nheart\nheavy\nhedgehog\nheight\nhello\nhelmet\nhelp\nhen\nhero\nhidden\nhigh\nhill\nhint\nhip\nhire\nhistory\nhobby\nhockey\nhold\nhole\nholiday\nhollow\nhome\nhoney\nhood\nhope\nhorn\nhorror\nhorse\nhospital\nhost\nhotel\nhour\nhover\nhub\nhuge\nhuman\nhumble\nhumor\nhundred\nhungry\nhunt\nhurdle\nhurry\nhurt\nhusband\nhybrid\nice\nicon\nidea\nidentify\nidle\nignore\nill\nillegal\nillness\nimage\nimitate\nimmense\nimmune\nimpact\nimpose\nimprove\nimpulse\ninch\ninclude\nincome\nincrease\nindex\nindicate\nindoor\nindustry\ninfant\ninflict\ninform\ninhale\ninherit\ninitial\ninject\ninjury\ninmate\ninner\ninnocent\ninput\ninquiry\ninsane\ninsect\ninside\ninspire\ninstall\nintact\ninterest\ninto\ninvest\ninvite\ninvolve\niron\nisland\nisolate\nissue\nitem\nivory\njacket\njaguar\njar\njazz\njealous\njeans\njelly\njewel\njob\njoin\njoke\njourney\njoy\njudge\njuice\njump\njungle\njunior\njunk\njust\nkangaroo\nkeen\nkeep\nketchup\nkey\nkick\nkid\nkidney\nkind\nkingdom\nkiss\nkit\nkitchen\nkite\nkitten\nkiwi\nknee\nknife\nknock\nknow\nlab\nlabel\nlabor\nladder\nlady\nlake\nlamp\nlanguage\nlaptop\nlarge\nlater\nlatin\nlaugh\nlaundry\nlava\nlaw\nlawn\nlawsuit\nlayer\nlazy\nleader\nleaf\nlearn\nleave\nlecture\nleft\nleg\nlegal\nlegend\nleisure\nlemon\nlend\nlength\nlens\nleopard\nlesson\nletter\nlevel\nliar\nliberty\nlibrary\nlicense\nlife\nlift\nlight\nlike\nlimb\nlimit\nlink\nlion\nliquid\nlist\nlittle\nlive\nlizard\nload\nloan\nlobster\nlocal\nlock\nlogic\nlonely\nlong\nloop\nlottery\nloud\nlounge\nlove\nloyal\nlucky\nluggage\nlumber\nlunar\nlunch\nluxury\nlyrics\nmachine\nmad\nmagic\nmagnet\nmaid\nmail\nmain\nmajor\nmake\nmammal\nman\nmanage\nmandate\nmango\nmansion\nmanual\nmaple\nmarble\nmarch\nmargin\nmarine\nmarket\nmarriage\nmask\nmass\nmaster\nmatch\nmaterial\nmath\nmatrix\nmatter\nmaximum\nmaze\nmeadow\nmean\nmeasure\nmeat\nmechanic\nmedal\nmedia\nmelody\nmelt\nmember\nmemory\nmention\nmenu\nmercy\nmerge\nmerit\nmerry\nmesh\nmessage\nmetal\nmethod\nmiddle\nmidnight\nmilk\nmillion\nmimic\nmind\nminimum\nminor\nminute\nmiracle\nmirror\nmisery\nmiss\nmistake\nmix\nmixed\nmixture\nmobile\nmodel\nmodify\nmom\nmoment\nmonitor\nmonkey\nmonster\nmonth\nmoon\nmoral\nmore\nmorning\nmosquito\nmother\nmotion\nmotor\nmountain\nmouse\nmove\nmovie\nmuch\nmuffin\nmule\nmultiply\nmuscle\nmuseum\nmushroom\nmusic\nmust\nmutual\nmyself\nmystery\nmyth\nnaive\nname\nnapkin\nnarrow\nnasty\nnation\nnature\nnear\nneck\nneed\nnegative\nneglect\nneither\nnephew\nnerve\nnest\nnet\nnetwork\nneutral\nnever\nnews\nnext\nnice\nnight\nnoble\nnoise\nnominee\nnoodle\nnormal\nnorth\nnose\nnotable\nnote\nnothing\nnotice\nnovel\nnow\nnuclear\nnumber\nnurse\nnut\noak\nobey\nobject\noblige\nobscure\nobserve\nobtain\nobvious\noccur\nocean\noctober\nodor\noff\noffer\noffice\noften\noil\nokay\nold\nolive\nolympic\nomit\nonce\none\nonion\nonline\nonly\nopen\nopera\nopinion\noppose\noption\norange\norbit\norchard\norder\nordinary\norgan\norient\noriginal\norphan\nostrich\nother\noutdoor\nouter\noutput\noutside\noval\noven\nover\nown\nowner\noxygen\noyster\nozone\npact\npaddle\npage\npair\npalace\npalm\npanda\npanel\npanic\npanther\npaper\nparade\nparent\npark\nparrot\nparty\npass\npatch\npath\npatient\npatrol\npattern\npause\npave\npayment\npeace\npeanut\npear\npeasant\npelican\npen\npenalty\npencil\npeople\npepper\nperfect\npermit\nperson\npet\nphone\nphoto\nphrase\nphysical\npiano\npicnic\npicture\npiece\npig\npigeon\npill\npilot\npink\npioneer\npipe\npistol\npitch\npizza\nplace\nplanet\nplastic\nplate\nplay\nplease\npledge\npluck\nplug\nplunge\npoem\npoet\npoint\npolar\npole\npolice\npond\npony\npool\npopular\nportion\nposition\npossible\npost\npotato\npottery\npoverty\npowder\npower\npractice\npraise\npredict\nprefer\nprepare\npresent\npretty\nprevent\nprice\npride\nprimary\nprint\npriority\nprison\nprivate\nprize\nproblem\nprocess\nproduce\nprofit\nprogram\nproject\npromote\nproof\nproperty\nprosper\nprotect\nproud\nprovide\npublic\npudding\npull\npulp\npulse\npumpkin\npunch\npupil\npuppy\npurchase\npurity\npurpose\npurse\npush\nput\npuzzle\npyramid\nquality\nquantum\nquarter\nquestion\nquick\nquit\nquiz\nquote\nrabbit\nraccoon\nrace\nrack\nradar\nradio\nrail\nrain\nraise\nrally\nramp\nranch\nrandom\nrange\nrapid\nrare\nrate\nrather\nraven\nraw\nrazor\nready\nreal\nreason\nrebel\nrebuild\nrecall\nreceive\nrecipe\nrecord\nrecycle\nreduce\nreflect\nreform\nrefuse\nregion\nregret\nregular\nreject\nrelax\nrelease\nrelief\nrely\nremain\nremember\nremind\nremove\nrender\nrenew\nrent\nreopen\nrepair\nrepeat\nreplace\nreport\nrequire\nrescue\nresemble\nresist\nresource\nresponse\nresult\nretire\nretreat\nreturn\nreunion\nreveal\nreview\nreward\nrhythm\nrib\nribbon\nrice\nrich\nride\nridge\nrifle\nright\nrigid\nring\nriot\nripple\nrisk\nritual\nrival\nriver\nroad\nroast\nrobot\nrobust\nrocket\nromance\nroof\nrookie\nroom\nrose\nrotate\nrough\nround\nroute\nroyal\nrubber\nrude\nrug\nrule\nrun\nrunway\nrural\nsad\nsaddle\nsadness\nsafe\nsail\nsalad\nsalmon\nsalon\nsalt\nsalute\nsame\nsample\nsand\nsatisfy\nsatoshi\nsauce\nsausage\nsave\nsay\nscale\nscan\nscare\nscatter\nscene\nscheme\nschool\nscience\nscissors\nscorpion\nscout\nscrap\nscreen\nscript\nscrub\nsea\nsearch\nseason\nseat\nsecond\nsecret\nsection\nsecurity\nseed\nseek\nsegment\nselect\nsell\nseminar\nsenior\nsense\nsentence\nseries\nservice\nsession\nsettle\nsetup\nseven\nshadow\nshaft\nshallow\nshare\nshed\nshell\nsheriff\nshield\nshift\nshine\nship\nshiver\nshock\nshoe\nshoot\nshop\nshort\nshoulder\nshove\nshrimp\nshrug\nshuffle\nshy\nsibling\nsick\nside\nsiege\nsight\nsign\nsilent\nsilk\nsilly\nsilver\nsimilar\nsimple\nsince\nsing\nsiren\nsister\nsituate\nsix\nsize\nskate\nsketch\nski\nskill\nskin\nskirt\nskull\nslab\nslam\nsleep\nslender\nslice\nslide\nslight\nslim\nslogan\nslot\nslow\nslush\nsmall\nsmart\nsmile\nsmoke\nsmooth\nsnack\nsnake\nsnap\nsniff\nsnow\nsoap\nsoccer\nsocial\nsock\nsoda\nsoft\nsolar\nsoldier\nsolid\nsolution\nsolve\nsomeone\nsong\nsoon\nsorry\nsort\nsoul\nsound\nsoup\nsource\nsouth\nspace\nspare\nspatial\nspawn\nspeak\nspecial\nspeed\nspell\nspend\nsphere\nspice\nspider\nspike\nspin\nspirit\nsplit\nspoil\nsponsor\nspoon\nsport\nspot\nspray\nspread\nspring\nspy\nsquare\nsqueeze\nsquirrel\nstable\nstadium\nstaff\nstage\nstairs\nstamp\nstand\nstart\nstate\nstay\nsteak\nsteel\nstem\nstep\nstereo\nstick\nstill\nsting\nstock\nstomach\nstone\nstool\nstory\nstove\nstrategy\nstreet\nstrike\nstrong\nstruggle\nstudent\nstuff\nstumble\nstyle\nsubject\nsubmit\nsubway\nsuccess\nsuch\nsudden\nsuffer\nsugar\nsuggest\nsuit\nsummer\nsun\nsunny\nsunset\nsuper\nsupply\nsupreme\nsure\nsurface\nsurge\nsurprise\nsurround\nsurvey\nsuspect\nsustain\nswallow\nswamp\nswap\nswarm\nswear\nsweet\nswift\nswim\nswing\nswitch\nsword\nsymbol\nsymptom\nsyrup\nsystem\ntable\ntackle\ntag\ntail\ntalent\ntalk\ntank\ntape\ntarget\ntask\ntaste\ntattoo\ntaxi\nteach\nteam\ntell\nten\ntenant\ntennis\ntent\nterm\ntest\ntext\nthank\nthat\ntheme\nthen\ntheory\nthere\nthey\nthing\nthis\nthought\nthree\nthrive\nthrow\nthumb\nthunder\nticket\ntide\ntiger\ntilt\ntimber\ntime\ntiny\ntip\ntired\ntissue\ntitle\ntoast\ntobacco\ntoday\ntoddler\ntoe\ntogether\ntoilet\ntoken\ntomato\ntomorrow\ntone\ntongue\ntonight\ntool\ntooth\ntop\ntopic\ntopple\ntorch\ntornado\ntortoise\ntoss\ntotal\ntourist\ntoward\ntower\ntown\ntoy\ntrack\ntrade\ntraffic\ntragic\ntrain\ntransfer\ntrap\ntrash\ntravel\ntray\ntreat\ntree\ntrend\ntrial\ntribe\ntrick\ntrigger\ntrim\ntrip\ntrophy\ntrouble\ntruck\ntrue\ntruly\ntrumpet\ntrust\ntruth\ntry\ntube\ntuition\ntumble\ntuna\ntunnel\nturkey\nturn\nturtle\ntwelve\ntwenty\ntwice\ntwin\ntwist\ntwo\ntype\ntypical\nugly\numbrella\nunable\nunaware\nuncle\nuncover\nunder\nundo\nunfair\nunfold\nunhappy\nuniform\nunique\nunit\nuniverse\nunknown\nunlock\nuntil\nunusual\nunveil\nupdate\nupgrade\nuphold\nupon\nupper\nupset\nurban\nurge\nusage\nuse\nused\nuseful\nuseless\nusual\nutility\nvacant\nvacuum\nvague\nvalid\nvalley\nvalve\nvan\nvanish\nvapor\nvarious\nvast\nvault\nvehicle\nvelvet\nvendor\nventure\nvenue\nverb\nverify\nversion\nvery\nvessel\nveteran\nviable\nvibrant\nvicious\nvictory\nvideo\nview\nvillage\nvintage\nviolin\nvirtual\nvirus\nvisa\nvisit\nvisual\nvital\nvivid\nvocal\nvoice\nvoid\nvolcano\nvolume\nvote\nvoyage\nwage\nwagon\nwait\nwalk\nwall\nwalnut\nwant\nwarfare\nwarm\nwarrior\nwash\nwasp\nwaste\nwater\nwave\nway\nwealth\nweapon\nwear\nweasel\nweather\nweb\nwedding\nweekend\nweird\nwelcome\nwest\nwet\nwhale\nwhat\nwheat\nwheel\nwhen\nwhere\nwhip\nwhisper\nwide\nwidth\nwife\nwild\nwill\nwin\nwindow\nwine\nwing\nwink\nwinner\nwinter\nwire\nwisdom\nwise\nwish\nwitness\nwolf\nwoman\nwonder\nwood\nwool\nword\nwork\nworld\nworry\nworth\nwrap\nwreck\nwrestle\nwrist\nwrite\nwrong\nyard\nyear\nyellow\nyou\nyoung\nyouth\nzebra\nzero\nzone\nzoo`.split('\\n');\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mnemonicToSeedSync = exports.mnemonicToSeed = exports.validateMnemonic = exports.entropyToMnemonic = exports.mnemonicToEntropy = exports.generateMnemonic = void 0;\n/*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */\nconst _assert_1 = require(\"@noble/hashes/_assert\");\nconst pbkdf2_1 = require(\"@noble/hashes/pbkdf2\");\nconst sha256_1 = require(\"@noble/hashes/sha256\");\nconst sha512_1 = require(\"@noble/hashes/sha512\");\nconst utils_1 = require(\"@noble/hashes/utils\");\nconst base_1 = require(\"@scure/base\");\n// Japanese wordlist\nconst isJapanese = (wordlist) => wordlist[0] === '\\u3042\\u3044\\u3053\\u304f\\u3057\\u3093';\n// Normalization replaces equivalent sequences of characters\n// so that any two texts that are equivalent will be reduced\n// to the same sequence of code points, called the normal form of the original text.\nfunction nfkd(str) {\n    if (typeof str !== 'string')\n        throw new TypeError(`Invalid mnemonic type: ${typeof str}`);\n    return str.normalize('NFKD');\n}\nfunction normalize(str) {\n    const norm = nfkd(str);\n    const words = norm.split(' ');\n    if (![12, 15, 18, 21, 24].includes(words.length))\n        throw new Error('Invalid mnemonic');\n    return { nfkd: norm, words };\n}\nfunction assertEntropy(entropy) {\n    _assert_1.default.bytes(entropy, 16, 20, 24, 28, 32);\n}\n/**\n * Generate x random words. Uses Cryptographically-Secure Random Number Generator.\n * @param wordlist imported wordlist for specific language\n * @param strength mnemonic strength 128-256 bits\n * @example\n * generateMnemonic(wordlist, 128)\n * // 'legal winner thank year wave sausage worth useful legal winner thank yellow'\n */\nfunction generateMnemonic(wordlist, strength = 128) {\n    _assert_1.default.number(strength);\n    if (strength % 32 !== 0 || strength > 256)\n        throw new TypeError('Invalid entropy');\n    return entropyToMnemonic((0, utils_1.randomBytes)(strength / 8), wordlist);\n}\nexports.generateMnemonic = generateMnemonic;\nconst calcChecksum = (entropy) => {\n    // Checksum is ent.length/4 bits long\n    const bitsLeft = 8 - entropy.length / 4;\n    // Zero rightmost \"bitsLeft\" bits in byte\n    // For example: bitsLeft=4 val=10111101 -> 10110000\n    return new Uint8Array([((0, sha256_1.sha256)(entropy)[0] >> bitsLeft) << bitsLeft]);\n};\nfunction getCoder(wordlist) {\n    if (!Array.isArray(wordlist) || wordlist.length !== 2048 || typeof wordlist[0] !== 'string')\n        throw new Error('Worlist: expected array of 2048 strings');\n    wordlist.forEach((i) => {\n        if (typeof i !== 'string')\n            throw new Error(`Wordlist: non-string element: ${i}`);\n    });\n    return base_1.utils.chain(base_1.utils.checksum(1, calcChecksum), base_1.utils.radix2(11, true), base_1.utils.alphabet(wordlist));\n}\n/**\n * Reversible: Converts mnemonic string to raw entropy in form of byte array.\n * @param mnemonic 12-24 words\n * @param wordlist imported wordlist for specific language\n * @example\n * const mnem = 'legal winner thank year wave sausage worth useful legal winner thank yellow';\n * mnemonicToEntropy(mnem, wordlist)\n * // Produces\n * new Uint8Array([\n *   0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,\n *   0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f\n * ])\n */\nfunction mnemonicToEntropy(mnemonic, wordlist) {\n    const { words } = normalize(mnemonic);\n    const entropy = getCoder(wordlist).decode(words);\n    assertEntropy(entropy);\n    return entropy;\n}\nexports.mnemonicToEntropy = mnemonicToEntropy;\n/**\n * Reversible: Converts raw entropy in form of byte array to mnemonic string.\n * @param entropy byte array\n * @param wordlist imported wordlist for specific language\n * @returns 12-24 words\n * @example\n * const ent = new Uint8Array([\n *   0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,\n *   0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f\n * ]);\n * entropyToMnemonic(ent, wordlist);\n * // 'legal winner thank year wave sausage worth useful legal winner thank yellow'\n */\nfunction entropyToMnemonic(entropy, wordlist) {\n    assertEntropy(entropy);\n    const words = getCoder(wordlist).encode(entropy);\n    return words.join(isJapanese(wordlist) ? '\\u3000' : ' ');\n}\nexports.entropyToMnemonic = entropyToMnemonic;\n/**\n * Validates mnemonic for being 12-24 words contained in `wordlist`.\n */\nfunction validateMnemonic(mnemonic, wordlist) {\n    try {\n        mnemonicToEntropy(mnemonic, wordlist);\n    }\n    catch (e) {\n        return false;\n    }\n    return true;\n}\nexports.validateMnemonic = validateMnemonic;\nconst salt = (passphrase) => nfkd(`mnemonic${passphrase}`);\n/**\n * Irreversible: Uses KDF to derive 64 bytes of key data from mnemonic + optional password.\n * @param mnemonic 12-24 words\n * @param passphrase string that will additionally protect the key\n * @returns 64 bytes of key data\n * @example\n * const mnem = 'legal winner thank year wave sausage worth useful legal winner thank yellow';\n * await mnemonicToSeed(mnem, 'password');\n * // new Uint8Array([...64 bytes])\n */\nfunction mnemonicToSeed(mnemonic, passphrase = '') {\n    return (0, pbkdf2_1.pbkdf2Async)(sha512_1.sha512, normalize(mnemonic).nfkd, salt(passphrase), { c: 2048, dkLen: 64 });\n}\nexports.mnemonicToSeed = mnemonicToSeed;\n/**\n * Irreversible: Uses KDF to derive 64 bytes of key data from mnemonic + optional password.\n * @param mnemonic 12-24 words\n * @param passphrase string that will additionally protect the key\n * @returns 64 bytes of key data\n * @example\n * const mnem = 'legal winner thank year wave sausage worth useful legal winner thank yellow';\n * mnemonicToSeedSync(mnem, 'password');\n * // new Uint8Array([...64 bytes])\n */\nfunction mnemonicToSeedSync(mnemonic, passphrase = '') {\n    return (0, pbkdf2_1.pbkdf2)(sha512_1.sha512, normalize(mnemonic).nfkd, salt(passphrase), { c: 2048, dkLen: 64 });\n}\nexports.mnemonicToSeedSync = mnemonicToSeedSync;\n","import assert from './_assert.js';\nimport { Hash, CHash, Input, toBytes } from './utils.js';\n// HMAC (RFC 2104)\nclass HMAC<T extends Hash<T>> extends Hash<HMAC<T>> {\n  oHash: T;\n  iHash: T;\n  blockLen: number;\n  outputLen: number;\n  private finished = false;\n  private destroyed = false;\n\n  constructor(hash: CHash, _key: Input) {\n    super();\n    assert.hash(hash);\n    const key = toBytes(_key);\n    this.iHash = hash.create() as T;\n    if (typeof this.iHash.update !== 'function')\n      throw new TypeError('Expected instance of class which extends utils.Hash');\n    this.blockLen = this.iHash.blockLen;\n    this.outputLen = this.iHash.outputLen;\n    const blockLen = this.blockLen;\n    const pad = new Uint8Array(blockLen);\n    // blockLen can be bigger than outputLen\n    pad.set(key.length > blockLen ? hash.create().update(key).digest() : key);\n    for (let i = 0; i < pad.length; i++) pad[i] ^= 0x36;\n    this.iHash.update(pad);\n    // By doing update (processing of first block) of outer hash here we can re-use it between multiple calls via clone\n    this.oHash = hash.create() as T;\n    // Undo internal XOR && apply outer XOR\n    for (let i = 0; i < pad.length; i++) pad[i] ^= 0x36 ^ 0x5c;\n    this.oHash.update(pad);\n    pad.fill(0);\n  }\n  update(buf: Input) {\n    assert.exists(this);\n    this.iHash.update(buf);\n    return this;\n  }\n  digestInto(out: Uint8Array) {\n    assert.exists(this);\n    assert.bytes(out, this.outputLen);\n    this.finished = true;\n    this.iHash.digestInto(out);\n    this.oHash.update(out);\n    this.oHash.digestInto(out);\n    this.destroy();\n  }\n  digest() {\n    const out = new Uint8Array(this.oHash.outputLen);\n    this.digestInto(out);\n    return out;\n  }\n  _cloneInto(to?: HMAC<T>): HMAC<T> {\n    // Create new instance without calling constructor since key already in state and we don't know it.\n    to ||= Object.create(Object.getPrototypeOf(this), {});\n    const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this;\n    to = to as this;\n    to.finished = finished;\n    to.destroyed = destroyed;\n    to.blockLen = blockLen;\n    to.outputLen = outputLen;\n    to.oHash = oHash._cloneInto(to.oHash);\n    to.iHash = iHash._cloneInto(to.iHash);\n    return to;\n  }\n  destroy() {\n    this.destroyed = true;\n    this.oHash.destroy();\n    this.iHash.destroy();\n  }\n}\n\n/**\n * HMAC: RFC2104 message authentication code.\n * @param hash - function that would be used e.g. sha256\n * @param key - message key\n * @param message - message data\n */\nexport const hmac = (hash: CHash, key: Input, message: Input): Uint8Array =>\n  new HMAC<any>(hash, key).update(message).digest();\nhmac.create = (hash: CHash, key: Input) => new HMAC<any>(hash, key);\n","import assert from './_assert.js';\nimport { hmac } from './hmac.js';\nimport { Hash, CHash, Input, createView, toBytes, checkOpts, asyncLoop } from './utils.js';\n\n// PBKDF (RFC 2898)\nexport type Pbkdf2Opt = {\n  c: number; // Iterations\n  dkLen?: number; // Desired key length in bytes (Intended output length in octets of the derived key\n  asyncTick?: number; // Maximum time in ms for which async function can block execution\n};\n// Common prologue and epilogue for sync/async functions\nfunction pbkdf2Init(hash: CHash, _password: Input, _salt: Input, _opts: Pbkdf2Opt) {\n  assert.hash(hash);\n  const opts = checkOpts({ dkLen: 32, asyncTick: 10 }, _opts);\n  const { c, dkLen, asyncTick } = opts;\n  assert.number(c);\n  assert.number(dkLen);\n  assert.number(asyncTick);\n  if (c < 1) throw new Error('PBKDF2: iterations (c) should be >= 1');\n  const password = toBytes(_password);\n  const salt = toBytes(_salt);\n  // DK = PBKDF2(PRF, Password, Salt, c, dkLen);\n  const DK = new Uint8Array(dkLen);\n  // U1 = PRF(Password, Salt + INT_32_BE(i))\n  const PRF = hmac.create(hash, password);\n  const PRFSalt = PRF._cloneInto().update(salt);\n  return { c, dkLen, asyncTick, DK, PRF, PRFSalt };\n}\n\nfunction pbkdf2Output<T extends Hash<T>>(\n  PRF: Hash<T>,\n  PRFSalt: Hash<T>,\n  DK: Uint8Array,\n  prfW: Hash<T>,\n  u: Uint8Array\n) {\n  PRF.destroy();\n  PRFSalt.destroy();\n  if (prfW) prfW.destroy();\n  u.fill(0);\n  return DK;\n}\n\n/**\n * PBKDF2-HMAC: RFC 2898 key derivation function\n * @param hash - hash function that would be used e.g. sha256\n * @param password - password from which a derived key is generated\n * @param salt - cryptographic salt\n * @param opts - {c, dkLen} where c is work factor and dkLen is output message size\n */\nexport function pbkdf2(hash: CHash, password: Input, salt: Input, opts: Pbkdf2Opt) {\n  const { c, dkLen, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n  let prfW: any; // Working copy\n  const arr = new Uint8Array(4);\n  const view = createView(arr);\n  const u = new Uint8Array(PRF.outputLen);\n  // DK = T1 + T2 + ⋯ + Tdklen/hlen\n  for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n    // Ti = F(Password, Salt, c, i)\n    const Ti = DK.subarray(pos, pos + PRF.outputLen);\n    view.setInt32(0, ti, false);\n    // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n    // U1 = PRF(Password, Salt + INT_32_BE(i))\n    (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n    Ti.set(u.subarray(0, Ti.length));\n    for (let ui = 1; ui < c; ui++) {\n      // Uc = PRF(Password, Uc−1)\n      PRF._cloneInto(prfW).update(u).digestInto(u);\n      for (let i = 0; i < Ti.length; i++) Ti[i] ^= u[i];\n    }\n  }\n  return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\n\nexport async function pbkdf2Async(hash: CHash, password: Input, salt: Input, opts: Pbkdf2Opt) {\n  const { c, dkLen, asyncTick, DK, PRF, PRFSalt } = pbkdf2Init(hash, password, salt, opts);\n  let prfW: any; // Working copy\n  const arr = new Uint8Array(4);\n  const view = createView(arr);\n  const u = new Uint8Array(PRF.outputLen);\n  // DK = T1 + T2 + ⋯ + Tdklen/hlen\n  for (let ti = 1, pos = 0; pos < dkLen; ti++, pos += PRF.outputLen) {\n    // Ti = F(Password, Salt, c, i)\n    const Ti = DK.subarray(pos, pos + PRF.outputLen);\n    view.setInt32(0, ti, false);\n    // F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc\n    // U1 = PRF(Password, Salt + INT_32_BE(i))\n    (prfW = PRFSalt._cloneInto(prfW)).update(arr).digestInto(u);\n    Ti.set(u.subarray(0, Ti.length));\n    await asyncLoop(c - 1, asyncTick, (i) => {\n      // Uc = PRF(Password, Uc−1)\n      PRF._cloneInto(prfW).update(u).digestInto(u);\n      for (let i = 0; i < Ti.length; i++) Ti[i] ^= u[i];\n    });\n  }\n  return pbkdf2Output(PRF, PRFSalt, DK, prfW, u);\n}\n","const U32_MASK64 = BigInt(2 ** 32 - 1);\nconst _32n = BigInt(32);\n\n// We are not using BigUint64Array, because they are extremely slow as per 2022\nexport function fromBig(n: bigint, le = false) {\n  if (le) return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n  return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\n\nexport function split(lst: bigint[], le = false) {\n  let Ah = new Uint32Array(lst.length);\n  let Al = new Uint32Array(lst.length);\n  for (let i = 0; i < lst.length; i++) {\n    const { h, l } = fromBig(lst[i], le);\n    [Ah[i], Al[i]] = [h, l];\n  }\n  return [Ah, Al];\n}\n\nexport const toBig = (h: number, l: number) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h: number, l: number, s: number) => h >>> s;\nconst shrSL = (h: number, l: number, s: number) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h: number, l: number, s: number) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h: number, l: number, s: number) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h: number, l: number, s: number) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h: number, l: number, s: number) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (h: number, l: number) => l;\nconst rotr32L = (h: number, l: number) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h: number, l: number, s: number) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h: number, l: number, s: number) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h: number, l: number, s: number) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h: number, l: number, s: number) => (h << (s - 32)) | (l >>> (64 - s));\n\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\n// Removing \"export\" has 5% perf penalty -_-\nexport function add(Ah: number, Al: number, Bh: number, Bl: number) {\n  const l = (Al >>> 0) + (Bl >>> 0);\n  return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al: number, Bl: number, Cl: number) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low: number, Ah: number, Bh: number, Ch: number) =>\n  (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al: number, Bl: number, Cl: number, Dl: number) =>\n  (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low: number, Ah: number, Bh: number, Ch: number, Dh: number) =>\n  (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al: number, Bl: number, Cl: number, Dl: number, El: number) =>\n  (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low: number, Ah: number, Bh: number, Ch: number, Dh: number, Eh: number) =>\n  (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n\n// prettier-ignore\nconst u64 = {\n  fromBig, split, toBig,\n  shrSH, shrSL,\n  rotrSH, rotrSL, rotrBH, rotrBL,\n  rotr32H, rotr32L,\n  rotlSH, rotlSL, rotlBH, rotlBL,\n  add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n","import { SHA2 } from './_sha2.js';\nimport u64 from './_u64.js';\nimport { wrapConstructor } from './utils.js';\n\n// Round contants (first 32 bits of the fractional parts of the cube roots of the first 80 primes 2..409):\n// prettier-ignore\nconst [SHA512_Kh, SHA512_Kl] = u64.split([\n  '0x428a2f98d728ae22', '0x7137449123ef65cd', '0xb5c0fbcfec4d3b2f', '0xe9b5dba58189dbbc',\n  '0x3956c25bf348b538', '0x59f111f1b605d019', '0x923f82a4af194f9b', '0xab1c5ed5da6d8118',\n  '0xd807aa98a3030242', '0x12835b0145706fbe', '0x243185be4ee4b28c', '0x550c7dc3d5ffb4e2',\n  '0x72be5d74f27b896f', '0x80deb1fe3b1696b1', '0x9bdc06a725c71235', '0xc19bf174cf692694',\n  '0xe49b69c19ef14ad2', '0xefbe4786384f25e3', '0x0fc19dc68b8cd5b5', '0x240ca1cc77ac9c65',\n  '0x2de92c6f592b0275', '0x4a7484aa6ea6e483', '0x5cb0a9dcbd41fbd4', '0x76f988da831153b5',\n  '0x983e5152ee66dfab', '0xa831c66d2db43210', '0xb00327c898fb213f', '0xbf597fc7beef0ee4',\n  '0xc6e00bf33da88fc2', '0xd5a79147930aa725', '0x06ca6351e003826f', '0x142929670a0e6e70',\n  '0x27b70a8546d22ffc', '0x2e1b21385c26c926', '0x4d2c6dfc5ac42aed', '0x53380d139d95b3df',\n  '0x650a73548baf63de', '0x766a0abb3c77b2a8', '0x81c2c92e47edaee6', '0x92722c851482353b',\n  '0xa2bfe8a14cf10364', '0xa81a664bbc423001', '0xc24b8b70d0f89791', '0xc76c51a30654be30',\n  '0xd192e819d6ef5218', '0xd69906245565a910', '0xf40e35855771202a', '0x106aa07032bbd1b8',\n  '0x19a4c116b8d2d0c8', '0x1e376c085141ab53', '0x2748774cdf8eeb99', '0x34b0bcb5e19b48a8',\n  '0x391c0cb3c5c95a63', '0x4ed8aa4ae3418acb', '0x5b9cca4f7763e373', '0x682e6ff3d6b2b8a3',\n  '0x748f82ee5defb2fc', '0x78a5636f43172f60', '0x84c87814a1f0ab72', '0x8cc702081a6439ec',\n  '0x90befffa23631e28', '0xa4506cebde82bde9', '0xbef9a3f7b2c67915', '0xc67178f2e372532b',\n  '0xca273eceea26619c', '0xd186b8c721c0c207', '0xeada7dd6cde0eb1e', '0xf57d4f7fee6ed178',\n  '0x06f067aa72176fba', '0x0a637dc5a2c898a6', '0x113f9804bef90dae', '0x1b710b35131c471b',\n  '0x28db77f523047d84', '0x32caab7b40c72493', '0x3c9ebe0a15c9bebc', '0x431d67c49c100d4c',\n  '0x4cc5d4becb3e42b6', '0x597f299cfc657e2a', '0x5fcb6fab3ad6faec', '0x6c44198c4a475817'\n].map(n => BigInt(n)));\n\n// Temporary buffer, not used to store anything between runs\nconst SHA512_W_H = new Uint32Array(80);\nconst SHA512_W_L = new Uint32Array(80);\n\nexport class SHA512 extends SHA2<SHA512> {\n  // We cannot use array here since array allows indexing by variable which means optimizer/compiler cannot use registers.\n  // Also looks cleaner and easier to verify with spec.\n  // Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n  // h -- high 32 bits, l -- low 32 bits\n  Ah = 0x6a09e667 | 0;\n  Al = 0xf3bcc908 | 0;\n  Bh = 0xbb67ae85 | 0;\n  Bl = 0x84caa73b | 0;\n  Ch = 0x3c6ef372 | 0;\n  Cl = 0xfe94f82b | 0;\n  Dh = 0xa54ff53a | 0;\n  Dl = 0x5f1d36f1 | 0;\n  Eh = 0x510e527f | 0;\n  El = 0xade682d1 | 0;\n  Fh = 0x9b05688c | 0;\n  Fl = 0x2b3e6c1f | 0;\n  Gh = 0x1f83d9ab | 0;\n  Gl = 0xfb41bd6b | 0;\n  Hh = 0x5be0cd19 | 0;\n  Hl = 0x137e2179 | 0;\n\n  constructor() {\n    super(128, 64, 16, false);\n  }\n  // prettier-ignore\n  protected get(): [\n    number, number, number, number, number, number, number, number,\n    number, number, number, number, number, number, number, number\n  ] {\n    const { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n    return [Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl];\n  }\n  // prettier-ignore\n  protected set(\n    Ah: number, Al: number, Bh: number, Bl: number, Ch: number, Cl: number, Dh: number, Dl: number,\n    Eh: number, El: number, Fh: number, Fl: number, Gh: number, Gl: number, Hh: number, Hl: number\n  ) {\n    this.Ah = Ah | 0;\n    this.Al = Al | 0;\n    this.Bh = Bh | 0;\n    this.Bl = Bl | 0;\n    this.Ch = Ch | 0;\n    this.Cl = Cl | 0;\n    this.Dh = Dh | 0;\n    this.Dl = Dl | 0;\n    this.Eh = Eh | 0;\n    this.El = El | 0;\n    this.Fh = Fh | 0;\n    this.Fl = Fl | 0;\n    this.Gh = Gh | 0;\n    this.Gl = Gl | 0;\n    this.Hh = Hh | 0;\n    this.Hl = Hl | 0;\n  }\n  protected process(view: DataView, offset: number) {\n    // Extend the first 16 words into the remaining 64 words w[16..79] of the message schedule array\n    for (let i = 0; i < 16; i++, offset += 4) {\n      SHA512_W_H[i] = view.getUint32(offset);\n      SHA512_W_L[i] = view.getUint32((offset += 4));\n    }\n    for (let i = 16; i < 80; i++) {\n      // s0 := (w[i-15] rightrotate 1) xor (w[i-15] rightrotate 8) xor (w[i-15] rightshift 7)\n      const W15h = SHA512_W_H[i - 15] | 0;\n      const W15l = SHA512_W_L[i - 15] | 0;\n      const s0h = u64.rotrSH(W15h, W15l, 1) ^ u64.rotrSH(W15h, W15l, 8) ^ u64.shrSH(W15h, W15l, 7);\n      const s0l = u64.rotrSL(W15h, W15l, 1) ^ u64.rotrSL(W15h, W15l, 8) ^ u64.shrSL(W15h, W15l, 7);\n      // s1 := (w[i-2] rightrotate 19) xor (w[i-2] rightrotate 61) xor (w[i-2] rightshift 6)\n      const W2h = SHA512_W_H[i - 2] | 0;\n      const W2l = SHA512_W_L[i - 2] | 0;\n      const s1h = u64.rotrSH(W2h, W2l, 19) ^ u64.rotrBH(W2h, W2l, 61) ^ u64.shrSH(W2h, W2l, 6);\n      const s1l = u64.rotrSL(W2h, W2l, 19) ^ u64.rotrBL(W2h, W2l, 61) ^ u64.shrSL(W2h, W2l, 6);\n      // SHA256_W[i] = s0 + s1 + SHA256_W[i - 7] + SHA256_W[i - 16];\n      const SUMl = u64.add4L(s0l, s1l, SHA512_W_L[i - 7], SHA512_W_L[i - 16]);\n      const SUMh = u64.add4H(SUMl, s0h, s1h, SHA512_W_H[i - 7], SHA512_W_H[i - 16]);\n      SHA512_W_H[i] = SUMh | 0;\n      SHA512_W_L[i] = SUMl | 0;\n    }\n    let { Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl } = this;\n    // Compression function main loop, 80 rounds\n    for (let i = 0; i < 80; i++) {\n      // S1 := (e rightrotate 14) xor (e rightrotate 18) xor (e rightrotate 41)\n      const sigma1h = u64.rotrSH(Eh, El, 14) ^ u64.rotrSH(Eh, El, 18) ^ u64.rotrBH(Eh, El, 41);\n      const sigma1l = u64.rotrSL(Eh, El, 14) ^ u64.rotrSL(Eh, El, 18) ^ u64.rotrBL(Eh, El, 41);\n      //const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n      const CHIh = (Eh & Fh) ^ (~Eh & Gh);\n      const CHIl = (El & Fl) ^ (~El & Gl);\n      // T1 = H + sigma1 + Chi(E, F, G) + SHA512_K[i] + SHA512_W[i]\n      // prettier-ignore\n      const T1ll = u64.add5L(Hl, sigma1l, CHIl, SHA512_Kl[i], SHA512_W_L[i]);\n      const T1h = u64.add5H(T1ll, Hh, sigma1h, CHIh, SHA512_Kh[i], SHA512_W_H[i]);\n      const T1l = T1ll | 0;\n      // S0 := (a rightrotate 28) xor (a rightrotate 34) xor (a rightrotate 39)\n      const sigma0h = u64.rotrSH(Ah, Al, 28) ^ u64.rotrBH(Ah, Al, 34) ^ u64.rotrBH(Ah, Al, 39);\n      const sigma0l = u64.rotrSL(Ah, Al, 28) ^ u64.rotrBL(Ah, Al, 34) ^ u64.rotrBL(Ah, Al, 39);\n      const MAJh = (Ah & Bh) ^ (Ah & Ch) ^ (Bh & Ch);\n      const MAJl = (Al & Bl) ^ (Al & Cl) ^ (Bl & Cl);\n      Hh = Gh | 0;\n      Hl = Gl | 0;\n      Gh = Fh | 0;\n      Gl = Fl | 0;\n      Fh = Eh | 0;\n      Fl = El | 0;\n      ({ h: Eh, l: El } = u64.add(Dh | 0, Dl | 0, T1h | 0, T1l | 0));\n      Dh = Ch | 0;\n      Dl = Cl | 0;\n      Ch = Bh | 0;\n      Cl = Bl | 0;\n      Bh = Ah | 0;\n      Bl = Al | 0;\n      const All = u64.add3L(T1l, sigma0l, MAJl);\n      Ah = u64.add3H(All, T1h, sigma0h, MAJh);\n      Al = All | 0;\n    }\n    // Add the compressed chunk to the current hash value\n    ({ h: Ah, l: Al } = u64.add(this.Ah | 0, this.Al | 0, Ah | 0, Al | 0));\n    ({ h: Bh, l: Bl } = u64.add(this.Bh | 0, this.Bl | 0, Bh | 0, Bl | 0));\n    ({ h: Ch, l: Cl } = u64.add(this.Ch | 0, this.Cl | 0, Ch | 0, Cl | 0));\n    ({ h: Dh, l: Dl } = u64.add(this.Dh | 0, this.Dl | 0, Dh | 0, Dl | 0));\n    ({ h: Eh, l: El } = u64.add(this.Eh | 0, this.El | 0, Eh | 0, El | 0));\n    ({ h: Fh, l: Fl } = u64.add(this.Fh | 0, this.Fl | 0, Fh | 0, Fl | 0));\n    ({ h: Gh, l: Gl } = u64.add(this.Gh | 0, this.Gl | 0, Gh | 0, Gl | 0));\n    ({ h: Hh, l: Hl } = u64.add(this.Hh | 0, this.Hl | 0, Hh | 0, Hl | 0));\n    this.set(Ah, Al, Bh, Bl, Ch, Cl, Dh, Dl, Eh, El, Fh, Fl, Gh, Gl, Hh, Hl);\n  }\n  protected roundClean() {\n    SHA512_W_H.fill(0);\n    SHA512_W_L.fill(0);\n  }\n  destroy() {\n    this.buffer.fill(0);\n    this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n  }\n}\n\nclass SHA512_224 extends SHA512 {\n  // h -- high 32 bits, l -- low 32 bits\n  Ah = 0x8c3d37c8 | 0;\n  Al = 0x19544da2 | 0;\n  Bh = 0x73e19966 | 0;\n  Bl = 0x89dcd4d6 | 0;\n  Ch = 0x1dfab7ae | 0;\n  Cl = 0x32ff9c82 | 0;\n  Dh = 0x679dd514 | 0;\n  Dl = 0x582f9fcf | 0;\n  Eh = 0x0f6d2b69 | 0;\n  El = 0x7bd44da8 | 0;\n  Fh = 0x77e36f73 | 0;\n  Fl = 0x04c48942 | 0;\n  Gh = 0x3f9d85a8 | 0;\n  Gl = 0x6a1d36c8 | 0;\n  Hh = 0x1112e6ad | 0;\n  Hl = 0x91d692a1 | 0;\n\n  constructor() {\n    super();\n    this.outputLen = 28;\n  }\n}\n\nclass SHA512_256 extends SHA512 {\n  // h -- high 32 bits, l -- low 32 bits\n  Ah = 0x22312194 | 0;\n  Al = 0xfc2bf72c | 0;\n  Bh = 0x9f555fa3 | 0;\n  Bl = 0xc84c64c2 | 0;\n  Ch = 0x2393b86b | 0;\n  Cl = 0x6f53b151 | 0;\n  Dh = 0x96387719 | 0;\n  Dl = 0x5940eabd | 0;\n  Eh = 0x96283ee2 | 0;\n  El = 0xa88effe3 | 0;\n  Fh = 0xbe5e1e25 | 0;\n  Fl = 0x53863992 | 0;\n  Gh = 0x2b0199fc | 0;\n  Gl = 0x2c85b8aa | 0;\n  Hh = 0x0eb72ddc | 0;\n  Hl = 0x81c52ca2 | 0;\n\n  constructor() {\n    super();\n    this.outputLen = 32;\n  }\n}\n\nclass SHA384 extends SHA512 {\n  // h -- high 32 bits, l -- low 32 bits\n  Ah = 0xcbbb9d5d | 0;\n  Al = 0xc1059ed8 | 0;\n  Bh = 0x629a292a | 0;\n  Bl = 0x367cd507 | 0;\n  Ch = 0x9159015a | 0;\n  Cl = 0x3070dd17 | 0;\n  Dh = 0x152fecd8 | 0;\n  Dl = 0xf70e5939 | 0;\n  Eh = 0x67332667 | 0;\n  El = 0xffc00b31 | 0;\n  Fh = 0x8eb44a87 | 0;\n  Fl = 0x68581511 | 0;\n  Gh = 0xdb0c2e0d | 0;\n  Gl = 0x64f98fa7 | 0;\n  Hh = 0x47b5481d | 0;\n  Hl = 0xbefa4fa4 | 0;\n\n  constructor() {\n    super();\n    this.outputLen = 48;\n  }\n}\n\nexport const sha512 = wrapConstructor(() => new SHA512());\nexport const sha512_224 = wrapConstructor(() => new SHA512_224());\nexport const sha512_256 = wrapConstructor(() => new SHA512_256());\nexport const sha384 = wrapConstructor(() => new SHA384());\n","import { SHA2 } from './_sha2.js';\nimport { wrapConstructor } from './utils.js';\n\n// https://homes.esat.kuleuven.be/~bosselae/ripemd160.html\n// https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf\nconst Rho = new Uint8Array([7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8]);\nconst Id = Uint8Array.from({ length: 16 }, (_, i) => i);\nconst Pi = Id.map((i) => (9 * i + 5) % 16);\nlet idxL = [Id];\nlet idxR = [Pi];\nfor (let i = 0; i < 4; i++) for (let j of [idxL, idxR]) j.push(j[i].map((k) => Rho[k]));\n\nconst shifts = [\n  [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8],\n  [12, 13, 11, 15, 6, 9, 9, 7, 12, 15, 11, 13, 7, 8, 7, 7],\n  [13, 15, 14, 11, 7, 7, 6, 8, 13, 14, 13, 12, 5, 5, 6, 9],\n  [14, 11, 12, 14, 8, 6, 5, 5, 15, 12, 15, 14, 9, 9, 8, 6],\n  [15, 12, 13, 13, 9, 5, 8, 6, 14, 11, 12, 11, 8, 6, 5, 5],\n].map((i) => new Uint8Array(i));\n\nconst shiftsL = idxL.map((idx, i) => idx.map((j) => shifts[i][j]));\nconst shiftsR = idxR.map((idx, i) => idx.map((j) => shifts[i][j]));\n\nconst Kl = new Uint32Array([0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]);\nconst Kr = new Uint32Array([0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]);\n// The rotate left (circular left shift) operation for uint32\nconst rotl = (word: number, shift: number) => (word << shift) | (word >>> (32 - shift));\n// It's called f() in spec.\nfunction f(group: number, x: number, y: number, z: number): number {\n  if (group === 0) return x ^ y ^ z;\n  else if (group === 1) return (x & y) | (~x & z);\n  else if (group === 2) return (x | ~y) ^ z;\n  else if (group === 3) return (x & z) | (y & ~z);\n  else return x ^ (y | ~z);\n}\n// Temporary buffer, not used to store anything between runs\nconst BUF = new Uint32Array(16);\nexport class RIPEMD160 extends SHA2<RIPEMD160> {\n  private h0 = 0x67452301 | 0;\n  private h1 = 0xefcdab89 | 0;\n  private h2 = 0x98badcfe | 0;\n  private h3 = 0x10325476 | 0;\n  private h4 = 0xc3d2e1f0 | 0;\n\n  constructor() {\n    super(64, 20, 8, true);\n  }\n  protected get(): [number, number, number, number, number] {\n    const { h0, h1, h2, h3, h4 } = this;\n    return [h0, h1, h2, h3, h4];\n  }\n  protected set(h0: number, h1: number, h2: number, h3: number, h4: number) {\n    this.h0 = h0 | 0;\n    this.h1 = h1 | 0;\n    this.h2 = h2 | 0;\n    this.h3 = h3 | 0;\n    this.h4 = h4 | 0;\n  }\n  protected process(view: DataView, offset: number): void {\n    for (let i = 0; i < 16; i++, offset += 4) BUF[i] = view.getUint32(offset, true);\n    // prettier-ignore\n    let al = this.h0 | 0, ar = al,\n        bl = this.h1 | 0, br = bl,\n        cl = this.h2 | 0, cr = cl,\n        dl = this.h3 | 0, dr = dl,\n        el = this.h4 | 0, er = el;\n\n    // Instead of iterating 0 to 80, we split it into 5 groups\n    // And use the groups in constants, functions, etc. Much simpler\n    for (let group = 0; group < 5; group++) {\n      const rGroup = 4 - group;\n      const hbl = Kl[group], hbr = Kr[group]; // prettier-ignore\n      const rl = idxL[group], rr = idxR[group]; // prettier-ignore\n      const sl = shiftsL[group], sr = shiftsR[group]; // prettier-ignore\n      for (let i = 0; i < 16; i++) {\n        const tl = (rotl(al + f(group, bl, cl, dl) + BUF[rl[i]] + hbl, sl[i]) + el) | 0;\n        al = el, el = dl, dl = rotl(cl, 10) | 0, cl = bl, bl = tl; // prettier-ignore\n      }\n      // 2 loops are 10% faster\n      for (let i = 0; i < 16; i++) {\n        const tr = (rotl(ar + f(rGroup, br, cr, dr) + BUF[rr[i]] + hbr, sr[i]) + er) | 0;\n        ar = er, er = dr, dr = rotl(cr, 10) | 0, cr = br, br = tr; // prettier-ignore\n      }\n    }\n    // Add the compressed chunk to the current hash value\n    this.set(\n      (this.h1 + cl + dr) | 0,\n      (this.h2 + dl + er) | 0,\n      (this.h3 + el + ar) | 0,\n      (this.h4 + al + br) | 0,\n      (this.h0 + bl + cr) | 0\n    );\n  }\n  protected roundClean() {\n    BUF.fill(0);\n  }\n  destroy() {\n    this.destroyed = true;\n    this.buffer.fill(0);\n    this.set(0, 0, 0, 0, 0);\n  }\n}\n\n/**\n * RIPEMD-160 - a hash function from 1990s.\n * @param message - msg that would be hashed\n */\nexport const ripemd160 = wrapConstructor(() => new RIPEMD160());\n","import { hmac } from '@noble/hashes/hmac';\nimport { ripemd160 } from '@noble/hashes/ripemd160';\nimport { sha256 } from '@noble/hashes/sha256';\nimport { sha512 } from '@noble/hashes/sha512';\nimport { bytes as assertBytes } from '@noble/hashes/_assert';\nimport { bytesToHex, concatBytes, createView, hexToBytes, utf8ToBytes } from '@noble/hashes/utils';\nimport * as secp from '@noble/secp256k1';\nimport { base58check as base58checker } from '@scure/base';\nsecp.utils.hmacSha256Sync = (key, ...msgs) => hmac(sha256, key, secp.utils.concatBytes(...msgs));\nconst base58check = base58checker(sha256);\nfunction bytesToNumber(bytes) {\n    return BigInt(`0x${bytesToHex(bytes)}`);\n}\nfunction numberToBytes(num) {\n    return hexToBytes(num.toString(16).padStart(64, '0'));\n}\nconst MASTER_SECRET = utf8ToBytes('Bitcoin seed');\nconst BITCOIN_VERSIONS = { private: 0x0488ade4, public: 0x0488b21e };\nexport const HARDENED_OFFSET = 0x80000000;\nconst hash160 = (data) => ripemd160(sha256(data));\nconst fromU32 = (data) => createView(data).getUint32(0, false);\nconst toU32 = (n) => {\n    if (!Number.isSafeInteger(n) || n < 0 || n > 2 ** 32 - 1) {\n        throw new Error(`Invalid number=${n}. Should be from 0 to 2 ** 32 - 1`);\n    }\n    const buf = new Uint8Array(4);\n    createView(buf).setUint32(0, n, false);\n    return buf;\n};\nexport class HDKey {\n    constructor(opt) {\n        this.depth = 0;\n        this.index = 0;\n        this.chainCode = null;\n        this.parentFingerprint = 0;\n        if (!opt || typeof opt !== 'object') {\n            throw new Error('HDKey.constructor must not be called directly');\n        }\n        this.versions = opt.versions || BITCOIN_VERSIONS;\n        this.depth = opt.depth || 0;\n        this.chainCode = opt.chainCode;\n        this.index = opt.index || 0;\n        this.parentFingerprint = opt.parentFingerprint || 0;\n        if (!this.depth) {\n            if (this.parentFingerprint || this.index) {\n                throw new Error('HDKey: zero depth with non-zero index/parent fingerprint');\n            }\n        }\n        if (opt.publicKey && opt.privateKey) {\n            throw new Error('HDKey: publicKey and privateKey at same time.');\n        }\n        if (opt.privateKey) {\n            if (!secp.utils.isValidPrivateKey(opt.privateKey)) {\n                throw new Error('Invalid private key');\n            }\n            this.privKey =\n                typeof opt.privateKey === 'bigint' ? opt.privateKey : bytesToNumber(opt.privateKey);\n            this.privKeyBytes = numberToBytes(this.privKey);\n            this.pubKey = secp.getPublicKey(opt.privateKey, true);\n        }\n        else if (opt.publicKey) {\n            this.pubKey = secp.Point.fromHex(opt.publicKey).toRawBytes(true);\n        }\n        else {\n            throw new Error('HDKey: no public or private key provided');\n        }\n        this.pubHash = hash160(this.pubKey);\n    }\n    get fingerprint() {\n        if (!this.pubHash) {\n            throw new Error('No publicKey set!');\n        }\n        return fromU32(this.pubHash);\n    }\n    get identifier() {\n        return this.pubHash;\n    }\n    get pubKeyHash() {\n        return this.pubHash;\n    }\n    get privateKey() {\n        return this.privKeyBytes || null;\n    }\n    get publicKey() {\n        return this.pubKey || null;\n    }\n    get privateExtendedKey() {\n        const priv = this.privateKey;\n        if (!priv) {\n            throw new Error('No private key');\n        }\n        return base58check.encode(this.serialize(this.versions.private, concatBytes(new Uint8Array([0]), priv)));\n    }\n    get publicExtendedKey() {\n        if (!this.pubKey) {\n            throw new Error('No public key');\n        }\n        return base58check.encode(this.serialize(this.versions.public, this.pubKey));\n    }\n    static fromMasterSeed(seed, versions = BITCOIN_VERSIONS) {\n        assertBytes(seed);\n        if (8 * seed.length < 128 || 8 * seed.length > 512) {\n            throw new Error(`HDKey: wrong seed length=${seed.length}. Should be between 128 and 512 bits; 256 bits is advised)`);\n        }\n        const I = hmac(sha512, MASTER_SECRET, seed);\n        return new HDKey({\n            versions,\n            chainCode: I.slice(32),\n            privateKey: I.slice(0, 32),\n        });\n    }\n    static fromExtendedKey(base58key, versions = BITCOIN_VERSIONS) {\n        const keyBuffer = base58check.decode(base58key);\n        const keyView = createView(keyBuffer);\n        const version = keyView.getUint32(0, false);\n        const opt = {\n            versions,\n            depth: keyBuffer[4],\n            parentFingerprint: keyView.getUint32(5, false),\n            index: keyView.getUint32(9, false),\n            chainCode: keyBuffer.slice(13, 45),\n        };\n        const key = keyBuffer.slice(45);\n        const isPriv = key[0] === 0;\n        if (version !== versions[isPriv ? 'private' : 'public']) {\n            throw new Error('Version mismatch');\n        }\n        if (isPriv) {\n            return new HDKey({ ...opt, privateKey: key.slice(1) });\n        }\n        else {\n            return new HDKey({ ...opt, publicKey: key });\n        }\n    }\n    static fromJSON(json) {\n        return HDKey.fromExtendedKey(json.xpriv);\n    }\n    derive(path) {\n        if (!/^[mM]'?/.test(path)) {\n            throw new Error('Path must start with \"m\" or \"M\"');\n        }\n        if (/^[mM]'?$/.test(path)) {\n            return this;\n        }\n        const parts = path.replace(/^[mM]'?\\//, '').split('/');\n        let child = this;\n        for (const c of parts) {\n            const m = /^(\\d+)('?)$/.exec(c);\n            if (!m || m.length !== 3) {\n                throw new Error(`Invalid child index: ${c}`);\n            }\n            let idx = +m[1];\n            if (!Number.isSafeInteger(idx) || idx >= HARDENED_OFFSET) {\n                throw new Error('Invalid index');\n            }\n            if (m[2] === \"'\") {\n                idx += HARDENED_OFFSET;\n            }\n            child = child.deriveChild(idx);\n        }\n        return child;\n    }\n    deriveChild(index) {\n        if (!this.pubKey || !this.chainCode) {\n            throw new Error('No publicKey or chainCode set');\n        }\n        let data = toU32(index);\n        if (index >= HARDENED_OFFSET) {\n            const priv = this.privateKey;\n            if (!priv) {\n                throw new Error('Could not derive hardened child key');\n            }\n            data = concatBytes(new Uint8Array([0]), priv, data);\n        }\n        else {\n            data = concatBytes(this.pubKey, data);\n        }\n        const I = hmac(sha512, this.chainCode, data);\n        const childTweak = bytesToNumber(I.slice(0, 32));\n        const chainCode = I.slice(32);\n        if (!secp.utils.isValidPrivateKey(childTweak)) {\n            throw new Error('Tweak bigger than curve order');\n        }\n        const opt = {\n            versions: this.versions,\n            chainCode,\n            depth: this.depth + 1,\n            parentFingerprint: this.fingerprint,\n            index,\n        };\n        try {\n            if (this.privateKey) {\n                const added = secp.utils.mod(this.privKey + childTweak, secp.CURVE.n);\n                if (!secp.utils.isValidPrivateKey(added)) {\n                    throw new Error('The tweak was out of range or the resulted private key is invalid');\n                }\n                opt.privateKey = added;\n            }\n            else {\n                const added = secp.Point.fromHex(this.pubKey).add(secp.Point.fromPrivateKey(childTweak));\n                if (added.equals(secp.Point.ZERO)) {\n                    throw new Error('The tweak was equal to negative P, which made the result key invalid');\n                }\n                opt.publicKey = added.toRawBytes(true);\n            }\n            return new HDKey(opt);\n        }\n        catch (err) {\n            return this.deriveChild(index + 1);\n        }\n    }\n    sign(hash) {\n        if (!this.privateKey) {\n            throw new Error('No privateKey set!');\n        }\n        assertBytes(hash, 32);\n        return secp.signSync(hash, this.privKey, {\n            canonical: true,\n            der: false,\n        });\n    }\n    verify(hash, signature) {\n        assertBytes(hash, 32);\n        assertBytes(signature, 64);\n        if (!this.publicKey) {\n            throw new Error('No publicKey set!');\n        }\n        let sig;\n        try {\n            sig = secp.Signature.fromCompact(signature);\n        }\n        catch (error) {\n            return false;\n        }\n        return secp.verify(sig, hash, this.publicKey);\n    }\n    wipePrivateData() {\n        this.privKey = undefined;\n        if (this.privKeyBytes) {\n            this.privKeyBytes.fill(0);\n            this.privKeyBytes = undefined;\n        }\n        return this;\n    }\n    toJSON() {\n        return {\n            xpriv: this.privateExtendedKey,\n            xpub: this.publicExtendedKey,\n        };\n    }\n    serialize(version, key) {\n        if (!this.chainCode) {\n            throw new Error('No chainCode set');\n        }\n        assertBytes(key, 33);\n        return concatBytes(toU32(version), new Uint8Array([this.depth]), toU32(this.parentFingerprint), toU32(this.index), this.chainCode, key);\n    }\n}\n","var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n  for (var name in all)\n    __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// keys.ts\nimport * as secp256k1 from \"@noble/secp256k1\";\nfunction generatePrivateKey() {\n  return secp256k1.utils.bytesToHex(secp256k1.utils.randomPrivateKey());\n}\nfunction getPublicKey(privateKey) {\n  return secp256k1.utils.bytesToHex(secp256k1.schnorr.getPublicKey(privateKey));\n}\n\n// event.ts\nimport * as secp256k12 from \"@noble/secp256k1\";\nimport { sha256 } from \"@noble/hashes/sha256\";\n\n// utils.ts\nvar utils_exports = {};\n__export(utils_exports, {\n  insertEventIntoAscendingList: () => insertEventIntoAscendingList,\n  insertEventIntoDescendingList: () => insertEventIntoDescendingList,\n  normalizeURL: () => normalizeURL,\n  utf8Decoder: () => utf8Decoder,\n  utf8Encoder: () => utf8Encoder\n});\nvar utf8Decoder = new TextDecoder(\"utf-8\");\nvar utf8Encoder = new TextEncoder();\nfunction normalizeURL(url) {\n  let p = new URL(url);\n  p.pathname = p.pathname.replace(/\\/+/g, \"/\");\n  if (p.pathname.endsWith(\"/\"))\n    p.pathname = p.pathname.slice(0, -1);\n  if (p.port === \"80\" && p.protocol === \"ws:\" || p.port === \"443\" && p.protocol === \"wss:\")\n    p.port = \"\";\n  p.searchParams.sort();\n  p.hash = \"\";\n  return p.toString();\n}\nfunction insertEventIntoDescendingList(sortedArray, event) {\n  let start = 0;\n  let end = sortedArray.length - 1;\n  let midPoint;\n  let position = start;\n  if (end < 0) {\n    position = 0;\n  } else if (event.created_at < sortedArray[end].created_at) {\n    position = end + 1;\n  } else if (event.created_at >= sortedArray[start].created_at) {\n    position = start;\n  } else\n    while (true) {\n      if (end <= start + 1) {\n        position = end;\n        break;\n      }\n      midPoint = Math.floor(start + (end - start) / 2);\n      if (sortedArray[midPoint].created_at > event.created_at) {\n        start = midPoint;\n      } else if (sortedArray[midPoint].created_at < event.created_at) {\n        end = midPoint;\n      } else {\n        position = midPoint;\n        break;\n      }\n    }\n  if (sortedArray[position]?.id !== event.id) {\n    return [\n      ...sortedArray.slice(0, position),\n      event,\n      ...sortedArray.slice(position)\n    ];\n  }\n  return sortedArray;\n}\nfunction insertEventIntoAscendingList(sortedArray, event) {\n  let start = 0;\n  let end = sortedArray.length - 1;\n  let midPoint;\n  let position = start;\n  if (end < 0) {\n    position = 0;\n  } else if (event.created_at > sortedArray[end].created_at) {\n    position = end + 1;\n  } else if (event.created_at <= sortedArray[start].created_at) {\n    position = start;\n  } else\n    while (true) {\n      if (end <= start + 1) {\n        position = end;\n        break;\n      }\n      midPoint = Math.floor(start + (end - start) / 2);\n      if (sortedArray[midPoint].created_at < event.created_at) {\n        start = midPoint;\n      } else if (sortedArray[midPoint].created_at > event.created_at) {\n        end = midPoint;\n      } else {\n        position = midPoint;\n        break;\n      }\n    }\n  if (sortedArray[position]?.id !== event.id) {\n    return [\n      ...sortedArray.slice(0, position),\n      event,\n      ...sortedArray.slice(position)\n    ];\n  }\n  return sortedArray;\n}\n\n// event.ts\nvar Kind = /* @__PURE__ */ ((Kind2) => {\n  Kind2[Kind2[\"Metadata\"] = 0] = \"Metadata\";\n  Kind2[Kind2[\"Text\"] = 1] = \"Text\";\n  Kind2[Kind2[\"RecommendRelay\"] = 2] = \"RecommendRelay\";\n  Kind2[Kind2[\"Contacts\"] = 3] = \"Contacts\";\n  Kind2[Kind2[\"EncryptedDirectMessage\"] = 4] = \"EncryptedDirectMessage\";\n  Kind2[Kind2[\"EventDeletion\"] = 5] = \"EventDeletion\";\n  Kind2[Kind2[\"Reaction\"] = 7] = \"Reaction\";\n  Kind2[Kind2[\"BadgeAward\"] = 8] = \"BadgeAward\";\n  Kind2[Kind2[\"ChannelCreation\"] = 40] = \"ChannelCreation\";\n  Kind2[Kind2[\"ChannelMetadata\"] = 41] = \"ChannelMetadata\";\n  Kind2[Kind2[\"ChannelMessage\"] = 42] = \"ChannelMessage\";\n  Kind2[Kind2[\"ChannelHideMessage\"] = 43] = \"ChannelHideMessage\";\n  Kind2[Kind2[\"ChannelMuteUser\"] = 44] = \"ChannelMuteUser\";\n  Kind2[Kind2[\"Report\"] = 1984] = \"Report\";\n  Kind2[Kind2[\"ZapRequest\"] = 9734] = \"ZapRequest\";\n  Kind2[Kind2[\"Zap\"] = 9735] = \"Zap\";\n  Kind2[Kind2[\"RelayList\"] = 10002] = \"RelayList\";\n  Kind2[Kind2[\"ClientAuth\"] = 22242] = \"ClientAuth\";\n  Kind2[Kind2[\"BadgeDefinition\"] = 30008] = \"BadgeDefinition\";\n  Kind2[Kind2[\"ProfileBadge\"] = 30009] = \"ProfileBadge\";\n  Kind2[Kind2[\"Article\"] = 30023] = \"Article\";\n  return Kind2;\n})(Kind || {});\nfunction getBlankEvent() {\n  return {\n    kind: 255,\n    content: \"\",\n    tags: [],\n    created_at: 0\n  };\n}\nfunction finishEvent(t, privateKey) {\n  let event = t;\n  event.pubkey = getPublicKey(privateKey);\n  event.id = getEventHash(event);\n  event.sig = signEvent(event, privateKey);\n  return event;\n}\nfunction serializeEvent(evt) {\n  if (!validateEvent(evt))\n    throw new Error(\"can't serialize event with wrong or missing properties\");\n  return JSON.stringify([\n    0,\n    evt.pubkey,\n    evt.created_at,\n    evt.kind,\n    evt.tags,\n    evt.content\n  ]);\n}\nfunction getEventHash(event) {\n  let eventHash = sha256(utf8Encoder.encode(serializeEvent(event)));\n  return secp256k12.utils.bytesToHex(eventHash);\n}\nvar isRecord = (obj) => obj instanceof Object;\nfunction validateEvent(event) {\n  if (!isRecord(event))\n    return false;\n  if (typeof event.kind !== \"number\")\n    return false;\n  if (typeof event.content !== \"string\")\n    return false;\n  if (typeof event.created_at !== \"number\")\n    return false;\n  if (typeof event.pubkey !== \"string\")\n    return false;\n  if (!event.pubkey.match(/^[a-f0-9]{64}$/))\n    return false;\n  if (!Array.isArray(event.tags))\n    return false;\n  for (let i = 0; i < event.tags.length; i++) {\n    let tag = event.tags[i];\n    if (!Array.isArray(tag))\n      return false;\n    for (let j = 0; j < tag.length; j++) {\n      if (typeof tag[j] === \"object\")\n        return false;\n    }\n  }\n  return true;\n}\nfunction verifySignature(event) {\n  return secp256k12.schnorr.verifySync(\n    event.sig,\n    getEventHash(event),\n    event.pubkey\n  );\n}\nfunction signEvent(event, key) {\n  return secp256k12.utils.bytesToHex(\n    secp256k12.schnorr.signSync(getEventHash(event), key)\n  );\n}\n\n// filter.ts\nfunction matchFilter(filter, event) {\n  if (filter.ids && filter.ids.indexOf(event.id) === -1) {\n    if (!filter.ids.some((prefix) => event.id.startsWith(prefix))) {\n      return false;\n    }\n  }\n  if (filter.kinds && filter.kinds.indexOf(event.kind) === -1)\n    return false;\n  if (filter.authors && filter.authors.indexOf(event.pubkey) === -1) {\n    if (!filter.authors.some((prefix) => event.pubkey.startsWith(prefix))) {\n      return false;\n    }\n  }\n  for (let f in filter) {\n    if (f[0] === \"#\") {\n      let tagName = f.slice(1);\n      let values = filter[`#${tagName}`];\n      if (values && !event.tags.find(\n        ([t, v]) => t === f.slice(1) && values.indexOf(v) !== -1\n      ))\n        return false;\n    }\n  }\n  if (filter.since && event.created_at < filter.since)\n    return false;\n  if (filter.until && event.created_at >= filter.until)\n    return false;\n  return true;\n}\nfunction matchFilters(filters, event) {\n  for (let i = 0; i < filters.length; i++) {\n    if (matchFilter(filters[i], event))\n      return true;\n  }\n  return false;\n}\n\n// fakejson.ts\nvar fakejson_exports = {};\n__export(fakejson_exports, {\n  getHex64: () => getHex64,\n  getInt: () => getInt,\n  getSubscriptionId: () => getSubscriptionId,\n  matchEventId: () => matchEventId,\n  matchEventKind: () => matchEventKind,\n  matchEventPubkey: () => matchEventPubkey\n});\nfunction getHex64(json, field) {\n  let len = field.length + 3;\n  let idx = json.indexOf(`\"${field}\":`) + len;\n  let s = json.slice(idx).indexOf(`\"`) + idx + 1;\n  return json.slice(s, s + 64);\n}\nfunction getInt(json, field) {\n  let len = field.length;\n  let idx = json.indexOf(`\"${field}\":`) + len + 3;\n  let sliced = json.slice(idx);\n  let end = Math.min(sliced.indexOf(\",\"), sliced.indexOf(\"}\"));\n  return parseInt(sliced.slice(0, end), 10);\n}\nfunction getSubscriptionId(json) {\n  let idx = json.slice(0, 22).indexOf(`\"EVENT\"`);\n  if (idx === -1)\n    return null;\n  let pstart = json.slice(idx + 7 + 1).indexOf(`\"`);\n  if (pstart === -1)\n    return null;\n  let start = idx + 7 + 1 + pstart;\n  let pend = json.slice(start + 1, 80).indexOf(`\"`);\n  if (pend === -1)\n    return null;\n  let end = start + 1 + pend;\n  return json.slice(start + 1, end);\n}\nfunction matchEventId(json, id) {\n  return id === getHex64(json, \"id\");\n}\nfunction matchEventPubkey(json, pubkey) {\n  return pubkey === getHex64(json, \"pubkey\");\n}\nfunction matchEventKind(json, kind) {\n  return kind === getInt(json, \"kind\");\n}\n\n// relay.ts\nvar newListeners = () => ({\n  connect: [],\n  disconnect: [],\n  error: [],\n  notice: [],\n  auth: []\n});\nfunction relayInit(url, options = {}) {\n  let { listTimeout = 3e3, getTimeout = 3e3, countTimeout = 3e3 } = options;\n  var ws;\n  var openSubs = {};\n  var listeners = newListeners();\n  var subListeners = {};\n  var pubListeners = {};\n  var connectionPromise;\n  async function connectRelay() {\n    if (connectionPromise)\n      return connectionPromise;\n    connectionPromise = new Promise((resolve, reject) => {\n      try {\n        ws = new WebSocket(url);\n      } catch (err) {\n        reject(err);\n      }\n      ws.onopen = () => {\n        listeners.connect.forEach((cb) => cb());\n        resolve();\n      };\n      ws.onerror = () => {\n        connectionPromise = void 0;\n        listeners.error.forEach((cb) => cb());\n        reject();\n      };\n      ws.onclose = async () => {\n        connectionPromise = void 0;\n        listeners.disconnect.forEach((cb) => cb());\n      };\n      let incomingMessageQueue = [];\n      let handleNextInterval;\n      ws.onmessage = (e) => {\n        incomingMessageQueue.push(e.data);\n        if (!handleNextInterval) {\n          handleNextInterval = setInterval(handleNext, 0);\n        }\n      };\n      function handleNext() {\n        if (incomingMessageQueue.length === 0) {\n          clearInterval(handleNextInterval);\n          handleNextInterval = null;\n          return;\n        }\n        var json = incomingMessageQueue.shift();\n        if (!json)\n          return;\n        let subid = getSubscriptionId(json);\n        if (subid) {\n          let so = openSubs[subid];\n          if (so && so.alreadyHaveEvent && so.alreadyHaveEvent(getHex64(json, \"id\"), url)) {\n            return;\n          }\n        }\n        try {\n          let data = JSON.parse(json);\n          switch (data[0]) {\n            case \"EVENT\": {\n              let id2 = data[1];\n              let event = data[2];\n              if (validateEvent(event) && openSubs[id2] && (openSubs[id2].skipVerification || verifySignature(event)) && matchFilters(openSubs[id2].filters, event)) {\n                openSubs[id2];\n                (subListeners[id2]?.event || []).forEach((cb) => cb(event));\n              }\n              return;\n            }\n            case \"COUNT\":\n              let id = data[1];\n              let payload = data[2];\n              if (openSubs[id]) {\n                ;\n                (subListeners[id]?.count || []).forEach((cb) => cb(payload));\n              }\n              return;\n            case \"EOSE\": {\n              let id2 = data[1];\n              if (id2 in subListeners) {\n                subListeners[id2].eose.forEach((cb) => cb());\n                subListeners[id2].eose = [];\n              }\n              return;\n            }\n            case \"OK\": {\n              let id2 = data[1];\n              let ok = data[2];\n              let reason = data[3] || \"\";\n              if (id2 in pubListeners) {\n                if (ok)\n                  pubListeners[id2].ok.forEach((cb) => cb());\n                else\n                  pubListeners[id2].failed.forEach((cb) => cb(reason));\n                pubListeners[id2].ok = [];\n                pubListeners[id2].failed = [];\n              }\n              return;\n            }\n            case \"NOTICE\":\n              let notice = data[1];\n              listeners.notice.forEach((cb) => cb(notice));\n              return;\n            case \"AUTH\": {\n              let challenge = data[1];\n              listeners.auth?.forEach((cb) => cb(challenge));\n              return;\n            }\n          }\n        } catch (err) {\n          return;\n        }\n      }\n    });\n    return connectionPromise;\n  }\n  function connected() {\n    return ws?.readyState === 1;\n  }\n  async function connect() {\n    if (connected())\n      return;\n    await connectRelay();\n  }\n  async function trySend(params) {\n    let msg = JSON.stringify(params);\n    if (!connected()) {\n      await new Promise((resolve) => setTimeout(resolve, 1e3));\n      if (!connected()) {\n        return;\n      }\n    }\n    try {\n      ws.send(msg);\n    } catch (err) {\n      console.log(err);\n    }\n  }\n  const sub = (filters, {\n    verb = \"REQ\",\n    skipVerification = false,\n    alreadyHaveEvent = null,\n    id = Math.random().toString().slice(2)\n  } = {}) => {\n    let subid = id;\n    openSubs[subid] = {\n      id: subid,\n      filters,\n      skipVerification,\n      alreadyHaveEvent\n    };\n    trySend([verb, subid, ...filters]);\n    return {\n      sub: (newFilters, newOpts = {}) => sub(newFilters || filters, {\n        skipVerification: newOpts.skipVerification || skipVerification,\n        alreadyHaveEvent: newOpts.alreadyHaveEvent || alreadyHaveEvent,\n        id: subid\n      }),\n      unsub: () => {\n        delete openSubs[subid];\n        delete subListeners[subid];\n        trySend([\"CLOSE\", subid]);\n      },\n      on: (type, cb) => {\n        subListeners[subid] = subListeners[subid] || {\n          event: [],\n          count: [],\n          eose: []\n        };\n        subListeners[subid][type].push(cb);\n      },\n      off: (type, cb) => {\n        let listeners2 = subListeners[subid];\n        let idx = listeners2[type].indexOf(cb);\n        if (idx >= 0)\n          listeners2[type].splice(idx, 1);\n      }\n    };\n  };\n  function _publishEvent(event, type) {\n    if (!event.id)\n      throw new Error(`event ${event} has no id`);\n    let id = event.id;\n    trySend([type, event]);\n    return {\n      on: (type2, cb) => {\n        pubListeners[id] = pubListeners[id] || {\n          ok: [],\n          failed: []\n        };\n        pubListeners[id][type2].push(cb);\n      },\n      off: (type2, cb) => {\n        let listeners2 = pubListeners[id];\n        if (!listeners2)\n          return;\n        let idx = listeners2[type2].indexOf(cb);\n        if (idx >= 0)\n          listeners2[type2].splice(idx, 1);\n      }\n    };\n  }\n  return {\n    url,\n    sub,\n    on: (type, cb) => {\n      listeners[type].push(cb);\n      if (type === \"connect\" && ws?.readyState === 1) {\n        ;\n        cb();\n      }\n    },\n    off: (type, cb) => {\n      let index = listeners[type].indexOf(cb);\n      if (index !== -1)\n        listeners[type].splice(index, 1);\n    },\n    list: (filters, opts) => new Promise((resolve) => {\n      let s = sub(filters, opts);\n      let events = [];\n      let timeout = setTimeout(() => {\n        s.unsub();\n        resolve(events);\n      }, listTimeout);\n      s.on(\"eose\", () => {\n        s.unsub();\n        clearTimeout(timeout);\n        resolve(events);\n      });\n      s.on(\"event\", (event) => {\n        events.push(event);\n      });\n    }),\n    get: (filter, opts) => new Promise((resolve) => {\n      let s = sub([filter], opts);\n      let timeout = setTimeout(() => {\n        s.unsub();\n        resolve(null);\n      }, getTimeout);\n      s.on(\"event\", (event) => {\n        s.unsub();\n        clearTimeout(timeout);\n        resolve(event);\n      });\n    }),\n    count: (filters) => new Promise((resolve) => {\n      let s = sub(filters, { ...sub, verb: \"COUNT\" });\n      let timeout = setTimeout(() => {\n        s.unsub();\n        resolve(null);\n      }, countTimeout);\n      s.on(\"count\", (event) => {\n        s.unsub();\n        clearTimeout(timeout);\n        resolve(event);\n      });\n    }),\n    publish(event) {\n      return _publishEvent(event, \"EVENT\");\n    },\n    auth(event) {\n      return _publishEvent(event, \"AUTH\");\n    },\n    connect,\n    close() {\n      listeners = newListeners();\n      subListeners = {};\n      pubListeners = {};\n      if (ws.readyState === WebSocket.OPEN) {\n        ws?.close();\n      }\n    },\n    get status() {\n      return ws?.readyState ?? 3;\n    }\n  };\n}\n\n// pool.ts\nvar SimplePool = class {\n  _conn;\n  _seenOn = {};\n  eoseSubTimeout;\n  getTimeout;\n  constructor(options = {}) {\n    this._conn = {};\n    this.eoseSubTimeout = options.eoseSubTimeout || 3400;\n    this.getTimeout = options.getTimeout || 3400;\n  }\n  close(relays) {\n    relays.forEach((url) => {\n      let relay = this._conn[normalizeURL(url)];\n      if (relay)\n        relay.close();\n    });\n  }\n  async ensureRelay(url) {\n    const nm = normalizeURL(url);\n    if (!this._conn[nm]) {\n      this._conn[nm] = relayInit(nm, {\n        getTimeout: this.getTimeout * 0.9,\n        listTimeout: this.getTimeout * 0.9\n      });\n    }\n    const relay = this._conn[nm];\n    await relay.connect();\n    return relay;\n  }\n  sub(relays, filters, opts) {\n    let _knownIds = /* @__PURE__ */ new Set();\n    let modifiedOpts = { ...opts || {} };\n    modifiedOpts.alreadyHaveEvent = (id, url) => {\n      if (opts?.alreadyHaveEvent?.(id, url)) {\n        return true;\n      }\n      let set = this._seenOn[id] || /* @__PURE__ */ new Set();\n      set.add(url);\n      this._seenOn[id] = set;\n      return _knownIds.has(id);\n    };\n    let subs = [];\n    let eventListeners = /* @__PURE__ */ new Set();\n    let eoseListeners = /* @__PURE__ */ new Set();\n    let eosesMissing = relays.length;\n    let eoseSent = false;\n    let eoseTimeout = setTimeout(() => {\n      eoseSent = true;\n      for (let cb of eoseListeners.values())\n        cb();\n    }, this.eoseSubTimeout);\n    relays.forEach(async (relay) => {\n      let r;\n      try {\n        r = await this.ensureRelay(relay);\n      } catch (err) {\n        handleEose();\n        return;\n      }\n      if (!r)\n        return;\n      let s = r.sub(filters, modifiedOpts);\n      s.on(\"event\", (event) => {\n        _knownIds.add(event.id);\n        for (let cb of eventListeners.values())\n          cb(event);\n      });\n      s.on(\"eose\", () => {\n        if (eoseSent)\n          return;\n        handleEose();\n      });\n      subs.push(s);\n      function handleEose() {\n        eosesMissing--;\n        if (eosesMissing === 0) {\n          clearTimeout(eoseTimeout);\n          for (let cb of eoseListeners.values())\n            cb();\n        }\n      }\n    });\n    let greaterSub = {\n      sub(filters2, opts2) {\n        subs.forEach((sub) => sub.sub(filters2, opts2));\n        return greaterSub;\n      },\n      unsub() {\n        subs.forEach((sub) => sub.unsub());\n      },\n      on(type, cb) {\n        if (type === \"event\") {\n          eventListeners.add(cb);\n        } else if (type === \"eose\") {\n          eoseListeners.add(cb);\n        }\n      },\n      off(type, cb) {\n        if (type === \"event\") {\n          eventListeners.delete(cb);\n        } else if (type === \"eose\")\n          eoseListeners.delete(cb);\n      }\n    };\n    return greaterSub;\n  }\n  get(relays, filter, opts) {\n    return new Promise((resolve) => {\n      let sub = this.sub(relays, [filter], opts);\n      let timeout = setTimeout(() => {\n        sub.unsub();\n        resolve(null);\n      }, this.getTimeout);\n      sub.on(\"event\", (event) => {\n        resolve(event);\n        clearTimeout(timeout);\n        sub.unsub();\n      });\n    });\n  }\n  list(relays, filters, opts) {\n    return new Promise((resolve) => {\n      let events = [];\n      let sub = this.sub(relays, filters, opts);\n      sub.on(\"event\", (event) => {\n        events.push(event);\n      });\n      sub.on(\"eose\", () => {\n        sub.unsub();\n        resolve(events);\n      });\n    });\n  }\n  publish(relays, event) {\n    const pubPromises = relays.map(async (relay) => {\n      let r;\n      try {\n        r = await this.ensureRelay(relay);\n        return r.publish(event);\n      } catch (_) {\n        return { on() {\n        }, off() {\n        } };\n      }\n    });\n    const callbackMap = /* @__PURE__ */ new Map();\n    return {\n      on(type, cb) {\n        relays.forEach(async (relay, i) => {\n          let pub = await pubPromises[i];\n          let callback = () => cb(relay);\n          callbackMap.set(cb, callback);\n          pub.on(type, callback);\n        });\n      },\n      off(type, cb) {\n        relays.forEach(async (_, i) => {\n          let callback = callbackMap.get(cb);\n          if (callback) {\n            let pub = await pubPromises[i];\n            pub.off(type, callback);\n          }\n        });\n      }\n    };\n  }\n  seenOn(id) {\n    return Array.from(this._seenOn[id]?.values?.() || []);\n  }\n};\n\n// nip19.ts\nvar nip19_exports = {};\n__export(nip19_exports, {\n  decode: () => decode,\n  naddrEncode: () => naddrEncode,\n  neventEncode: () => neventEncode,\n  noteEncode: () => noteEncode,\n  nprofileEncode: () => nprofileEncode,\n  npubEncode: () => npubEncode,\n  nrelayEncode: () => nrelayEncode,\n  nsecEncode: () => nsecEncode\n});\nimport * as secp256k13 from \"@noble/secp256k1\";\nimport { bech32 } from \"@scure/base\";\nvar Bech32MaxSize = 5e3;\nfunction decode(nip19) {\n  let { prefix, words } = bech32.decode(nip19, Bech32MaxSize);\n  let data = new Uint8Array(bech32.fromWords(words));\n  switch (prefix) {\n    case \"nprofile\": {\n      let tlv = parseTLV(data);\n      if (!tlv[0]?.[0])\n        throw new Error(\"missing TLV 0 for nprofile\");\n      if (tlv[0][0].length !== 32)\n        throw new Error(\"TLV 0 should be 32 bytes\");\n      return {\n        type: \"nprofile\",\n        data: {\n          pubkey: secp256k13.utils.bytesToHex(tlv[0][0]),\n          relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : []\n        }\n      };\n    }\n    case \"nevent\": {\n      let tlv = parseTLV(data);\n      if (!tlv[0]?.[0])\n        throw new Error(\"missing TLV 0 for nevent\");\n      if (tlv[0][0].length !== 32)\n        throw new Error(\"TLV 0 should be 32 bytes\");\n      if (tlv[2] && tlv[2][0].length !== 32)\n        throw new Error(\"TLV 2 should be 32 bytes\");\n      return {\n        type: \"nevent\",\n        data: {\n          id: secp256k13.utils.bytesToHex(tlv[0][0]),\n          relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [],\n          author: tlv[2]?.[0] ? secp256k13.utils.bytesToHex(tlv[2][0]) : void 0\n        }\n      };\n    }\n    case \"naddr\": {\n      let tlv = parseTLV(data);\n      if (!tlv[0]?.[0])\n        throw new Error(\"missing TLV 0 for naddr\");\n      if (!tlv[2]?.[0])\n        throw new Error(\"missing TLV 2 for naddr\");\n      if (tlv[2][0].length !== 32)\n        throw new Error(\"TLV 2 should be 32 bytes\");\n      if (!tlv[3]?.[0])\n        throw new Error(\"missing TLV 3 for naddr\");\n      if (tlv[3][0].length !== 4)\n        throw new Error(\"TLV 3 should be 4 bytes\");\n      return {\n        type: \"naddr\",\n        data: {\n          identifier: utf8Decoder.decode(tlv[0][0]),\n          pubkey: secp256k13.utils.bytesToHex(tlv[2][0]),\n          kind: parseInt(secp256k13.utils.bytesToHex(tlv[3][0]), 16),\n          relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : []\n        }\n      };\n    }\n    case \"nrelay\": {\n      let tlv = parseTLV(data);\n      if (!tlv[0]?.[0])\n        throw new Error(\"missing TLV 0 for nrelay\");\n      return {\n        type: \"nrelay\",\n        data: utf8Decoder.decode(tlv[0][0])\n      };\n    }\n    case \"nsec\":\n    case \"npub\":\n    case \"note\":\n      return { type: prefix, data: secp256k13.utils.bytesToHex(data) };\n    default:\n      throw new Error(`unknown prefix ${prefix}`);\n  }\n}\nfunction parseTLV(data) {\n  let result = {};\n  let rest = data;\n  while (rest.length > 0) {\n    let t = rest[0];\n    let l = rest[1];\n    let v = rest.slice(2, 2 + l);\n    rest = rest.slice(2 + l);\n    if (v.length < l)\n      continue;\n    result[t] = result[t] || [];\n    result[t].push(v);\n  }\n  return result;\n}\nfunction nsecEncode(hex) {\n  return encodeBytes(\"nsec\", hex);\n}\nfunction npubEncode(hex) {\n  return encodeBytes(\"npub\", hex);\n}\nfunction noteEncode(hex) {\n  return encodeBytes(\"note\", hex);\n}\nfunction encodeBytes(prefix, hex) {\n  let data = secp256k13.utils.hexToBytes(hex);\n  let words = bech32.toWords(data);\n  return bech32.encode(prefix, words, Bech32MaxSize);\n}\nfunction nprofileEncode(profile) {\n  let data = encodeTLV({\n    0: [secp256k13.utils.hexToBytes(profile.pubkey)],\n    1: (profile.relays || []).map((url) => utf8Encoder.encode(url))\n  });\n  let words = bech32.toWords(data);\n  return bech32.encode(\"nprofile\", words, Bech32MaxSize);\n}\nfunction neventEncode(event) {\n  let data = encodeTLV({\n    0: [secp256k13.utils.hexToBytes(event.id)],\n    1: (event.relays || []).map((url) => utf8Encoder.encode(url)),\n    2: event.author ? [secp256k13.utils.hexToBytes(event.author)] : []\n  });\n  let words = bech32.toWords(data);\n  return bech32.encode(\"nevent\", words, Bech32MaxSize);\n}\nfunction naddrEncode(addr) {\n  let kind = new ArrayBuffer(4);\n  new DataView(kind).setUint32(0, addr.kind, false);\n  let data = encodeTLV({\n    0: [utf8Encoder.encode(addr.identifier)],\n    1: (addr.relays || []).map((url) => utf8Encoder.encode(url)),\n    2: [secp256k13.utils.hexToBytes(addr.pubkey)],\n    3: [new Uint8Array(kind)]\n  });\n  let words = bech32.toWords(data);\n  return bech32.encode(\"naddr\", words, Bech32MaxSize);\n}\nfunction nrelayEncode(url) {\n  let data = encodeTLV({\n    0: [utf8Encoder.encode(url)]\n  });\n  let words = bech32.toWords(data);\n  return bech32.encode(\"nrelay\", words, Bech32MaxSize);\n}\nfunction encodeTLV(tlv) {\n  let entries = [];\n  Object.entries(tlv).forEach(([t, vs]) => {\n    vs.forEach((v) => {\n      let entry = new Uint8Array(v.length + 2);\n      entry.set([parseInt(t)], 0);\n      entry.set([v.length], 1);\n      entry.set(v, 2);\n      entries.push(entry);\n    });\n  });\n  return secp256k13.utils.concatBytes(...entries);\n}\n\n// references.ts\nvar mentionRegex = /\\bnostr:((note|npub|naddr|nevent|nprofile)1\\w+)\\b|#\\[(\\d+)\\]/g;\nfunction parseReferences(evt) {\n  let references = [];\n  for (let ref of evt.content.matchAll(mentionRegex)) {\n    if (ref[2]) {\n      try {\n        let { type, data } = decode(ref[1]);\n        switch (type) {\n          case \"npub\": {\n            references.push({\n              text: ref[0],\n              profile: { pubkey: data, relays: [] }\n            });\n            break;\n          }\n          case \"nprofile\": {\n            references.push({\n              text: ref[0],\n              profile: data\n            });\n            break;\n          }\n          case \"note\": {\n            references.push({\n              text: ref[0],\n              event: { id: data, relays: [] }\n            });\n            break;\n          }\n          case \"nevent\": {\n            references.push({\n              text: ref[0],\n              event: data\n            });\n            break;\n          }\n          case \"naddr\": {\n            references.push({\n              text: ref[0],\n              address: data\n            });\n            break;\n          }\n        }\n      } catch (err) {\n      }\n    } else if (ref[3]) {\n      let idx = parseInt(ref[3], 10);\n      let tag = evt.tags[idx];\n      if (!tag)\n        continue;\n      switch (tag[0]) {\n        case \"p\": {\n          references.push({\n            text: ref[0],\n            profile: { pubkey: tag[1], relays: tag[2] ? [tag[2]] : [] }\n          });\n          break;\n        }\n        case \"e\": {\n          references.push({\n            text: ref[0],\n            event: { id: tag[1], relays: tag[2] ? [tag[2]] : [] }\n          });\n          break;\n        }\n        case \"a\": {\n          try {\n            let [kind, pubkey, identifier] = tag[1].split(\":\");\n            references.push({\n              text: ref[0],\n              address: {\n                identifier,\n                pubkey,\n                kind: parseInt(kind, 10),\n                relays: tag[2] ? [tag[2]] : []\n              }\n            });\n          } catch (err) {\n          }\n          break;\n        }\n      }\n    }\n  }\n  return references;\n}\n\n// nip04.ts\nvar nip04_exports = {};\n__export(nip04_exports, {\n  decrypt: () => decrypt,\n  encrypt: () => encrypt\n});\nimport { randomBytes } from \"@noble/hashes/utils\";\nimport * as secp256k14 from \"@noble/secp256k1\";\nimport { base64 } from \"@scure/base\";\nasync function encrypt(privkey, pubkey, text) {\n  const key = secp256k14.getSharedSecret(privkey, \"02\" + pubkey);\n  const normalizedKey = getNormalizedX(key);\n  let iv = Uint8Array.from(randomBytes(16));\n  let plaintext = utf8Encoder.encode(text);\n  let cryptoKey = await crypto.subtle.importKey(\n    \"raw\",\n    normalizedKey,\n    { name: \"AES-CBC\" },\n    false,\n    [\"encrypt\"]\n  );\n  let ciphertext = await crypto.subtle.encrypt(\n    { name: \"AES-CBC\", iv },\n    cryptoKey,\n    plaintext\n  );\n  let ctb64 = base64.encode(new Uint8Array(ciphertext));\n  let ivb64 = base64.encode(new Uint8Array(iv.buffer));\n  return `${ctb64}?iv=${ivb64}`;\n}\nasync function decrypt(privkey, pubkey, data) {\n  let [ctb64, ivb64] = data.split(\"?iv=\");\n  let key = secp256k14.getSharedSecret(privkey, \"02\" + pubkey);\n  let normalizedKey = getNormalizedX(key);\n  let cryptoKey = await crypto.subtle.importKey(\n    \"raw\",\n    normalizedKey,\n    { name: \"AES-CBC\" },\n    false,\n    [\"decrypt\"]\n  );\n  let ciphertext = base64.decode(ctb64);\n  let iv = base64.decode(ivb64);\n  let plaintext = await crypto.subtle.decrypt(\n    { name: \"AES-CBC\", iv },\n    cryptoKey,\n    ciphertext\n  );\n  let text = utf8Decoder.decode(plaintext);\n  return text;\n}\nfunction getNormalizedX(key) {\n  return key.slice(1, 33);\n}\n\n// nip05.ts\nvar nip05_exports = {};\n__export(nip05_exports, {\n  queryProfile: () => queryProfile,\n  searchDomain: () => searchDomain,\n  useFetchImplementation: () => useFetchImplementation\n});\nvar _fetch;\ntry {\n  _fetch = fetch;\n} catch {\n}\nfunction useFetchImplementation(fetchImplementation) {\n  _fetch = fetchImplementation;\n}\nasync function searchDomain(domain, query = \"\") {\n  try {\n    let res = await (await _fetch(`https://${domain}/.well-known/nostr.json?name=${query}`)).json();\n    return res.names;\n  } catch (_) {\n    return {};\n  }\n}\nasync function queryProfile(fullname) {\n  let [name, domain] = fullname.split(\"@\");\n  if (!domain) {\n    domain = name;\n    name = \"_\";\n  }\n  if (!name.match(/^[A-Za-z0-9-_.]+$/))\n    return null;\n  if (!domain.includes(\".\"))\n    return null;\n  let res;\n  try {\n    res = await (await _fetch(`https://${domain}/.well-known/nostr.json?name=${name}`)).json();\n  } catch (err) {\n    return null;\n  }\n  if (!res?.names?.[name])\n    return null;\n  let pubkey = res.names[name];\n  let relays = res.relays?.[pubkey] || [];\n  return {\n    pubkey,\n    relays\n  };\n}\n\n// nip06.ts\nvar nip06_exports = {};\n__export(nip06_exports, {\n  generateSeedWords: () => generateSeedWords,\n  privateKeyFromSeedWords: () => privateKeyFromSeedWords,\n  validateWords: () => validateWords\n});\nimport * as secp256k15 from \"@noble/secp256k1\";\nimport { wordlist } from \"@scure/bip39/wordlists/english.js\";\nimport {\n  generateMnemonic,\n  mnemonicToSeedSync,\n  validateMnemonic\n} from \"@scure/bip39\";\nimport { HDKey } from \"@scure/bip32\";\nfunction privateKeyFromSeedWords(mnemonic, passphrase) {\n  let root = HDKey.fromMasterSeed(mnemonicToSeedSync(mnemonic, passphrase));\n  let privateKey = root.derive(`m/44'/1237'/0'/0/0`).privateKey;\n  if (!privateKey)\n    throw new Error(\"could not derive private key\");\n  return secp256k15.utils.bytesToHex(privateKey);\n}\nfunction generateSeedWords() {\n  return generateMnemonic(wordlist);\n}\nfunction validateWords(words) {\n  return validateMnemonic(words, wordlist);\n}\n\n// nip10.ts\nvar nip10_exports = {};\n__export(nip10_exports, {\n  parse: () => parse\n});\nfunction parse(event) {\n  const result = {\n    reply: void 0,\n    root: void 0,\n    mentions: [],\n    profiles: []\n  };\n  const eTags = [];\n  for (const tag of event.tags) {\n    if (tag[0] === \"e\" && tag[1]) {\n      eTags.push(tag);\n    }\n    if (tag[0] === \"p\" && tag[1]) {\n      result.profiles.push({\n        pubkey: tag[1],\n        relays: tag[2] ? [tag[2]] : []\n      });\n    }\n  }\n  for (let eTagIndex = 0; eTagIndex < eTags.length; eTagIndex++) {\n    const eTag = eTags[eTagIndex];\n    const [_, eTagEventId, eTagRelayUrl, eTagMarker] = eTag;\n    const eventPointer = {\n      id: eTagEventId,\n      relays: eTagRelayUrl ? [eTagRelayUrl] : []\n    };\n    const isFirstETag = eTagIndex === 0;\n    const isLastETag = eTagIndex === eTags.length - 1;\n    if (eTagMarker === \"root\") {\n      result.root = eventPointer;\n      continue;\n    }\n    if (eTagMarker === \"reply\") {\n      result.reply = eventPointer;\n      continue;\n    }\n    if (eTagMarker === \"mention\") {\n      result.mentions.push(eventPointer);\n      continue;\n    }\n    if (isFirstETag) {\n      result.root = eventPointer;\n      continue;\n    }\n    if (isLastETag) {\n      result.reply = eventPointer;\n      continue;\n    }\n    result.mentions.push(eventPointer);\n  }\n  return result;\n}\n\n// nip13.ts\nvar nip13_exports = {};\n__export(nip13_exports, {\n  getPow: () => getPow\n});\nimport * as secp256k16 from \"@noble/secp256k1\";\nfunction getPow(id) {\n  return getLeadingZeroBits(secp256k16.utils.hexToBytes(id));\n}\nfunction getLeadingZeroBits(hash) {\n  let total, i, bits;\n  for (i = 0, total = 0; i < hash.length; i++) {\n    bits = msb(hash[i]);\n    total += bits;\n    if (bits !== 8) {\n      break;\n    }\n  }\n  return total;\n}\nfunction msb(b) {\n  let n = 0;\n  if (b === 0) {\n    return 8;\n  }\n  while (b >>= 1) {\n    n++;\n  }\n  return 7 - n;\n}\n\n// nip21.ts\nvar nip21_exports = {};\n__export(nip21_exports, {\n  BECH32_REGEX: () => BECH32_REGEX,\n  NOSTR_URI_REGEX: () => NOSTR_URI_REGEX,\n  parse: () => parse2,\n  test: () => test\n});\nvar BECH32_REGEX = /[\\x21-\\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/;\nvar NOSTR_URI_REGEX = new RegExp(`nostr:(${BECH32_REGEX.source})`);\nfunction test(value) {\n  return typeof value === \"string\" && new RegExp(`^${NOSTR_URI_REGEX.source}$`).test(value);\n}\nfunction parse2(uri) {\n  const match = uri.match(new RegExp(`^${NOSTR_URI_REGEX.source}$`));\n  if (!match)\n    throw new Error(`Invalid Nostr URI: ${uri}`);\n  return {\n    uri: match[0],\n    value: match[1],\n    decoded: decode(match[1])\n  };\n}\n\n// nip26.ts\nvar nip26_exports = {};\n__export(nip26_exports, {\n  createDelegation: () => createDelegation,\n  getDelegator: () => getDelegator\n});\nimport * as secp256k17 from \"@noble/secp256k1\";\nimport { sha256 as sha2562 } from \"@noble/hashes/sha256\";\nfunction createDelegation(privateKey, parameters) {\n  let conditions = [];\n  if ((parameters.kind || -1) >= 0)\n    conditions.push(`kind=${parameters.kind}`);\n  if (parameters.until)\n    conditions.push(`created_at<${parameters.until}`);\n  if (parameters.since)\n    conditions.push(`created_at>${parameters.since}`);\n  let cond = conditions.join(\"&\");\n  if (cond === \"\")\n    throw new Error(\"refusing to create a delegation without any conditions\");\n  let sighash = sha2562(\n    utf8Encoder.encode(`nostr:delegation:${parameters.pubkey}:${cond}`)\n  );\n  let sig = secp256k17.utils.bytesToHex(\n    secp256k17.schnorr.signSync(sighash, privateKey)\n  );\n  return {\n    from: getPublicKey(privateKey),\n    to: parameters.pubkey,\n    cond,\n    sig\n  };\n}\nfunction getDelegator(event) {\n  let tag = event.tags.find((tag2) => tag2[0] === \"delegation\" && tag2.length >= 4);\n  if (!tag)\n    return null;\n  let pubkey = tag[1];\n  let cond = tag[2];\n  let sig = tag[3];\n  let conditions = cond.split(\"&\");\n  for (let i = 0; i < conditions.length; i++) {\n    let [key, operator, value] = conditions[i].split(/\\b/);\n    if (key === \"kind\" && operator === \"=\" && event.kind === parseInt(value))\n      continue;\n    else if (key === \"created_at\" && operator === \"<\" && event.created_at < parseInt(value))\n      continue;\n    else if (key === \"created_at\" && operator === \">\" && event.created_at > parseInt(value))\n      continue;\n    else\n      return null;\n  }\n  let sighash = sha2562(\n    utf8Encoder.encode(`nostr:delegation:${event.pubkey}:${cond}`)\n  );\n  if (!secp256k17.schnorr.verifySync(sig, sighash, pubkey))\n    return null;\n  return pubkey;\n}\n\n// nip27.ts\nvar nip27_exports = {};\n__export(nip27_exports, {\n  matchAll: () => matchAll,\n  regex: () => regex,\n  replaceAll: () => replaceAll\n});\nvar regex = () => new RegExp(`\\\\b${NOSTR_URI_REGEX.source}\\\\b`, \"g\");\nfunction* matchAll(content) {\n  const matches = content.matchAll(regex());\n  for (const match of matches) {\n    const [uri, value] = match;\n    yield {\n      uri,\n      value,\n      decoded: decode(value),\n      start: match.index,\n      end: match.index + uri.length\n    };\n  }\n}\nfunction replaceAll(content, replacer) {\n  return content.replaceAll(regex(), (uri, value) => {\n    return replacer({\n      uri,\n      value,\n      decoded: decode(value)\n    });\n  });\n}\n\n// nip39.ts\nvar nip39_exports = {};\n__export(nip39_exports, {\n  useFetchImplementation: () => useFetchImplementation2,\n  validateGithub: () => validateGithub\n});\nvar _fetch2;\ntry {\n  _fetch2 = fetch;\n} catch {\n}\nfunction useFetchImplementation2(fetchImplementation) {\n  _fetch2 = fetchImplementation;\n}\nasync function validateGithub(pubkey, username, proof) {\n  try {\n    let res = await (await _fetch2(`https://gist.github.com/${username}/${proof}/raw`)).text();\n    return res === `Verifying that I control the following Nostr public key: ${pubkey}`;\n  } catch (_) {\n    return false;\n  }\n}\n\n// nip42.ts\nvar nip42_exports = {};\n__export(nip42_exports, {\n  authenticate: () => authenticate\n});\nvar authenticate = async ({\n  challenge,\n  relay,\n  sign\n}) => {\n  const e = {\n    kind: 22242 /* ClientAuth */,\n    created_at: Math.floor(Date.now() / 1e3),\n    tags: [\n      [\"relay\", relay.url],\n      [\"challenge\", challenge]\n    ],\n    content: \"\"\n  };\n  const pub = relay.auth(await sign(e));\n  return new Promise((resolve, reject) => {\n    pub.on(\"ok\", function ok() {\n      pub.off(\"ok\", ok);\n      resolve();\n    });\n    pub.on(\"failed\", function fail(reason) {\n      pub.off(\"failed\", fail);\n      reject(reason);\n    });\n  });\n};\n\n// nip57.ts\nvar nip57_exports = {};\n__export(nip57_exports, {\n  getZapEndpoint: () => getZapEndpoint,\n  makeZapReceipt: () => makeZapReceipt,\n  makeZapRequest: () => makeZapRequest,\n  useFetchImplementation: () => useFetchImplementation3,\n  validateZapRequest: () => validateZapRequest\n});\nimport { bech32 as bech322 } from \"@scure/base\";\nvar _fetch3;\ntry {\n  _fetch3 = fetch;\n} catch {\n}\nfunction useFetchImplementation3(fetchImplementation) {\n  _fetch3 = fetchImplementation;\n}\nasync function getZapEndpoint(metadata) {\n  try {\n    let lnurl = \"\";\n    let { lud06, lud16 } = JSON.parse(metadata.content);\n    if (lud06) {\n      let { words } = bech322.decode(lud06, 1e3);\n      let data = bech322.fromWords(words);\n      lnurl = utf8Decoder.decode(data);\n    } else if (lud16) {\n      let [name, domain] = lud16.split(\"@\");\n      lnurl = `https://${domain}/.well-known/lnurlp/${name}`;\n    } else {\n      return null;\n    }\n    let res = await _fetch3(lnurl);\n    let body = await res.json();\n    if (body.allowsNostr && body.nostrPubkey) {\n      return body.callback;\n    }\n  } catch (err) {\n  }\n  return null;\n}\nfunction makeZapRequest({\n  profile,\n  event,\n  amount,\n  relays,\n  comment = \"\"\n}) {\n  if (!amount)\n    throw new Error(\"amount not given\");\n  if (!profile)\n    throw new Error(\"profile not given\");\n  let zr = {\n    kind: 9734,\n    created_at: Math.round(Date.now() / 1e3),\n    content: comment,\n    tags: [\n      [\"p\", profile],\n      [\"amount\", amount.toString()],\n      [\"relays\", ...relays]\n    ]\n  };\n  if (event) {\n    zr.tags.push([\"e\", event]);\n  }\n  return zr;\n}\nfunction validateZapRequest(zapRequestString) {\n  let zapRequest;\n  try {\n    zapRequest = JSON.parse(zapRequestString);\n  } catch (err) {\n    return \"Invalid zap request JSON.\";\n  }\n  if (!validateEvent(zapRequest))\n    return \"Zap request is not a valid Nostr event.\";\n  if (!verifySignature(zapRequest))\n    return \"Invalid signature on zap request.\";\n  let p = zapRequest.tags.find(([t, v]) => t === \"p\" && v);\n  if (!p)\n    return \"Zap request doesn't have a 'p' tag.\";\n  if (!p[1].match(/^[a-f0-9]{64}$/))\n    return \"Zap request 'p' tag is not valid hex.\";\n  let e = zapRequest.tags.find(([t, v]) => t === \"e\" && v);\n  if (e && !e[1].match(/^[a-f0-9]{64}$/))\n    return \"Zap request 'e' tag is not valid hex.\";\n  let relays = zapRequest.tags.find(([t, v]) => t === \"relays\" && v);\n  if (!relays)\n    return \"Zap request doesn't have a 'relays' tag.\";\n  return null;\n}\nfunction makeZapReceipt({\n  zapRequest,\n  preimage,\n  bolt11,\n  paidAt\n}) {\n  let zr = JSON.parse(zapRequest);\n  let tagsFromZapRequest = zr.tags.filter(\n    ([t]) => t === \"e\" || t === \"p\" || t === \"a\"\n  );\n  let zap = {\n    kind: 9735,\n    created_at: Math.round(paidAt.getTime() / 1e3),\n    content: \"\",\n    tags: [\n      ...tagsFromZapRequest,\n      [\"bolt11\", bolt11],\n      [\"description\", zapRequest]\n    ]\n  };\n  if (preimage) {\n    zap.tags.push([\"preimage\", preimage]);\n  }\n  return zap;\n}\n\n// index.ts\nimport * as secp256k18 from \"@noble/secp256k1\";\nimport { hmac } from \"@noble/hashes/hmac\";\nimport { sha256 as sha2563 } from \"@noble/hashes/sha256\";\nsecp256k18.utils.hmacSha256Sync = (key, ...msgs) => hmac(sha2563, key, secp256k18.utils.concatBytes(...msgs));\nsecp256k18.utils.sha256Sync = (...msgs) => sha2563(secp256k18.utils.concatBytes(...msgs));\nexport {\n  Kind,\n  SimplePool,\n  finishEvent,\n  fakejson_exports as fj,\n  generatePrivateKey,\n  getBlankEvent,\n  getEventHash,\n  getPublicKey,\n  matchFilter,\n  matchFilters,\n  nip04_exports as nip04,\n  nip05_exports as nip05,\n  nip06_exports as nip06,\n  nip10_exports as nip10,\n  nip13_exports as nip13,\n  nip19_exports as nip19,\n  nip21_exports as nip21,\n  nip26_exports as nip26,\n  nip27_exports as nip27,\n  nip39_exports as nip39,\n  nip42_exports as nip42,\n  nip57_exports as nip57,\n  parseReferences,\n  relayInit,\n  serializeEvent,\n  signEvent,\n  utils_exports as utils,\n  validateEvent,\n  verifySignature\n};\n","import {\n  nip19,\n  nip57,\n  generatePrivateKey,\n  finishEvent,\n  SimplePool,\n} from \"nostr-tools\";\n\nexport const decodeNpub = (npub) => nip19.decode(npub).data;\n\nconst decodeNip19Entity = (nip19Entity) => nip19.decode(nip19Entity).data;\n\nlet cachedProfileMetadata = {};\n\nexport const getProfileMetadata = async (authorId) => {\n  if (cachedProfileMetadata[authorId]) {\n    return cachedProfileMetadata[authorId];\n  }\n\n  const pool = new SimplePool();\n  const relays = [\n    \"wss://relay.ditto.pub\",\n    \"wss://purplepag.es\",\n    \"wss://relay.damus.io\",\n    \"wss://nostr.wine\",\n  ];\n\n  try {\n    return await pool.get(relays, {\n      authors: [authorId],\n      kinds: [0],\n    });\n  } catch (error) {\n    throw new Error(\"failed to fetch user profile :(\");\n  } finally {\n    pool.close(relays);\n  }\n};\n\nexport const extractProfileMetadataContent = (profileMetadata) =>\n  JSON.parse(profileMetadata.content);\n\nexport const getZapEndpoint = async (profileMetadata) => {\n  const zapEndpoint = await nip57.getZapEndpoint(profileMetadata);\n\n  if (!zapEndpoint) {\n    throw new Error(\"failed to retrieve zap endpoint :(\");\n  }\n\n  return zapEndpoint;\n};\n\nconst signEvent = async (zapEvent, anon) => {\n  const wantsExtension = isNipO7ExtAvailable() && !anon;\n\n  if (wantsExtension) {\n    try {\n      return {\n        signedEvent: await window.nostr.signEvent(zapEvent),\n        signedAnonymously: false,\n        usedAnonymousFallback: false,\n      };\n    } catch (e) {\n      // Extension prompt declined or failed — fall back to anonymous signing.\n    }\n  }\n\n  if (!zapEvent.tags.some((tag) => tag[0] === \"anon\")) {\n    zapEvent.tags.push([\"anon\"]);\n  }\n\n  return {\n    signedEvent: finishEvent(zapEvent, generatePrivateKey()),\n    signedAnonymously: true,\n    usedAnonymousFallback: wantsExtension,\n  };\n};\n\nconst makeZapEvent = async ({\n  profile,\n  nip19Target,\n  amount,\n  relays,\n  comment,\n  anon,\n}) => {\n  const zapEvent = nip57.makeZapRequest({\n    profile,\n    event: nip19Target && nip19Target.startsWith(\"note\") ? decodeNip19Entity(nip19Target) : undefined,\n    amount,\n    relays,\n    comment,\n  });\n\n  const naddrData = nip19Target && nip19Target.startsWith(\"naddr\") ? decodeNip19Entity(nip19Target) : undefined;\n  if (naddrData) {\n    const relays = naddrData.relays ? naddrData.relays.reduce((acc, r) => `${r},${acc}`, \"\") : \"\";\n    zapEvent.tags.push([\"a\", `${naddrData.kind}:${naddrData.pubkey}:${naddrData.identifier}`, relays]);\n  }\n\n  // Prefer the anon tag before the first sign attempt when anonymity is intentional.\n  if (!isNipO7ExtAvailable() || anon) {\n    zapEvent.tags.push([\"anon\"]);\n  }\n\n  return signEvent(zapEvent, anon);\n};\n\nexport const fetchInvoice = async ({\n  zapEndpoint,\n  amount,\n  comment,\n  authorId,\n  nip19Target,\n  normalizedRelays,\n  anon,\n}) => {\n  const { signedEvent, signedAnonymously, usedAnonymousFallback } =\n    await makeZapEvent({\n      profile: authorId,\n      nip19Target,\n      amount,\n      relays: normalizedRelays,\n      comment,\n      anon,\n    });\n  let url = `${zapEndpoint}?amount=${amount}&nostr=${encodeURIComponent(\n    JSON.stringify(signedEvent)\n  )}`;\n\n  if (comment) {\n    url = `${url}&comment=${encodeURIComponent(comment)}`;\n  }\n\n  const res = await fetch(url);\n  const { pr: invoice, reason, status } = await res.json();\n\n  if (invoice) {\n    return { invoice, signedAnonymously, usedAnonymousFallback };\n  } else if (status === \"ERROR\") {\n    throw new Error(reason ?? \"Unable to fetch invoice\");\n  } else {\n    throw new Error(\"Unable to fetch invoice\");\n  }\n};\n\nexport const isNipO7ExtAvailable = () => {\n  return window !== undefined && window.nostr !== undefined;\n};\n\nexport const listenForZapReceipt = ({\n  relays,\n  invoice,\n  onSuccess,\n  recipientPubkey,\n}) => {\n  const pool = new SimplePool();\n  const normalizedRelays = Array.from(\n    new Set([...relays, \"wss://relay.ditto.pub\"])\n  );\n  const since = Math.round(Date.now() / 1000);\n  let closed = false;\n  let sub = null;\n  let intervalId = null;\n\n  const cleanup = () => {\n    if (closed) {\n      return;\n    }\n\n    closed = true;\n\n    if (intervalId) {\n      clearInterval(intervalId);\n      intervalId = null;\n    }\n\n    if (sub) {\n      sub.unsub();\n      sub = null;\n    }\n\n    pool.close(normalizedRelays);\n  };\n\n  const filter = {\n    kinds: [9735],\n    since,\n  };\n\n  if (recipientPubkey) {\n    filter[\"#p\"] = [recipientPubkey];\n  }\n\n  // Resubscribe periodically so dropped relay sockets reconnect and the\n  // invoice dialog can still close after a successful payment.\n  const subscribe = () => {\n    if (closed) {\n      return;\n    }\n\n    if (sub) {\n      sub.unsub();\n      sub = null;\n    }\n\n    sub = pool.sub(normalizedRelays, [filter]);\n    sub.on(\"event\", (event) => {\n      if (closed) {\n        return;\n      }\n\n      if (event.tags.find((t) => t[0] === \"bolt11\" && t[1] === invoice)) {\n        onSuccess();\n        cleanup();\n      }\n    });\n  };\n\n  subscribe();\n  intervalId = setInterval(subscribe, 5000);\n\n  return cleanup;\n};\n","const CACHE_PREFIX = \"nostrZap.\";\nconst LIGHTNING_URI_KEY = \"lightningUri\";\n\nconst isLocalStorageAvailable = () => typeof localStorage !== \"undefined\";\n\nconst getCachedValue = (key) => {\n  if (!isLocalStorageAvailable()) {\n    return;\n  }\n\n  return localStorage.getItem(`${CACHE_PREFIX}${key}`);\n};\n\nconst setCachedValue = (key, value) => {\n  if (!isLocalStorageAvailable()) {\n    return;\n  }\n\n  localStorage.setItem(`${CACHE_PREFIX}${key}`, value);\n};\n\nexport const getCachedLightningUri = () => getCachedValue(LIGHTNING_URI_KEY);\n\nexport const cacheLightningUri = (value) =>\n  setCachedValue(LIGHTNING_URI_KEY, value);\n","import QRCode from \"easyqrcodejs\";\nimport {\n  decodeNpub,\n  extractProfileMetadataContent,\n  fetchInvoice,\n  getProfileMetadata,\n  getZapEndpoint,\n  listenForZapReceipt,\n} from \"./nostr\";\nimport { getCachedLightningUri, cacheLightningUri } from \"./cache\";\n\nlet shadow = null;\n\nconst escapeHtml = (value) =>\n  String(value)\n    .replace(/&/g, \"&amp;\")\n    .replace(/</g, \"&lt;\")\n    .replace(/>/g, \"&gt;\")\n    .replace(/\"/g, \"&quot;\")\n    .replace(/'/g, \"&#39;\");\n\nconst isSafeHttpUrl = (value) => {\n  try {\n    const { protocol } = new URL(value);\n    return protocol === \"https:\" || protocol === \"http:\";\n  } catch {\n    return false;\n  }\n};\n\n// Prefer lud16; otherwise show the callback host so users can see where the zap request goes.\nconst getZapDestinationLabel = (profileContent, zapEndpoint) => {\n  if (profileContent?.lud16 && typeof profileContent.lud16 === \"string\") {\n    return profileContent.lud16;\n  }\n\n  try {\n    return new URL(zapEndpoint).host;\n  } catch {\n    return zapEndpoint;\n  }\n};\n\n// Only allow #RGB / #RRGGBB so values cannot break out of inline styles.\nconst normalizeButtonColor = (value) => {\n  if (typeof value !== \"string\") {\n    return null;\n  }\n\n  const hex = value.trim();\n  return /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(hex) ? hex : null;\n};\n\nconst hexToRgb = (hex) => {\n  hex = hex.replace(/^#/, \"\");\n\n  if (hex.length === 3) {\n    hex = hex\n      .split(\"\")\n      .map((char) => char + char)\n      .join(\"\");\n  }\n\n  const bigint = parseInt(hex, 16);\n  const r = (bigint >> 16) & 255;\n  const g = (bigint >> 8) & 255;\n  const b = bigint & 255;\n\n  return { r, g, b };\n};\nconst getBrightness = ({ r, g, b }) => {\n  return (r * 299 + g * 587 + b * 114) / 1000;\n};\n\nconst getContrastingTextColor = (hex) => {\n  const rgb = hexToRgb(hex);\n  const brightness = getBrightness(rgb);\n  return brightness < 128 ? \"#fff\" : \"#000\";\n};\n\nconst renderDialog = (htmlStrTemplate) => {\n  const dialog = document.createElement(\"dialog\");\n\n  dialog.classList.add(\"nostr-zap-dialog\");\n  dialog.innerHTML = htmlStrTemplate;\n\n  // close dialog on backdrop click\n  dialog.addEventListener(\"click\", function ({ clientX, clientY }) {\n    const { left, right, top, bottom } = dialog.getBoundingClientRect();\n\n    if (clientX === 0 && clientY === 0) {\n      return;\n    }\n\n    if (\n      clientX < left ||\n      clientX > right ||\n      clientY < top ||\n      clientY > bottom\n    ) {\n      dialog.close();\n    }\n  });\n\n  injectCSS();\n  shadow.appendChild(dialog);\n\n  return dialog;\n};\n\nconst anonymousFallbackNoticeHtml = (pastTense = false) =>\n  `<p class=\"zap-anon-notice\">Extension signing was declined or failed. This zap ${\n    pastTense ? \"was\" : \"will be\"\n  } sent anonymously.</p>`;\n\nconst renderAnonymousFallbackNoticeDialog = () => {\n  const noticeDialog = renderDialog(`\n    <button class=\"close-button\">X</button>\n    ${anonymousFallbackNoticeHtml(true)}\n    <button class=\"cta-button\">OK</button>\n  `);\n\n  noticeDialog.addEventListener(\"close\", function () {\n    noticeDialog.remove();\n  });\n\n  noticeDialog\n    .querySelector(\".close-button\")\n    .addEventListener(\"click\", function () {\n      noticeDialog.close();\n    });\n\n  noticeDialog\n    .querySelector(\".cta-button\")\n    .addEventListener(\"click\", function () {\n      noticeDialog.close();\n    });\n\n  return noticeDialog;\n};\n\nconst renderInvoiceDialog = ({\n  dialogHeader,\n  invoice,\n  relays,\n  buttonColor,\n  usedAnonymousFallback,\n  recipientPubkey,\n}) => {\n  const cachedLightningUri = getCachedLightningUri();\n  const safeButtonColor = normalizeButtonColor(buttonColor);\n  const anonymousNotice = usedAnonymousFallback\n    ? anonymousFallbackNoticeHtml()\n    : \"\";\n  const options = [\n    { label: \"Default Wallet\", value: \"lightning:\" },\n    { label: \"Strike\", value: \"strike:lightning:\" },\n    { label: \"Cash App\", value: \"https://cash.app/launch/lightning/\" },\n    { label: \"Muun\", value: \"muun:\" },\n    { label: \"Blue Wallet\", value: \"bluewallet:lightning:\" },\n    { label: \"Wallet of Satoshi\", value: \"walletofsatoshi:lightning:\" },\n    { label: \"Zebedee\", value: \"zebedee:lightning:\" },\n    { label: \"Zeus LN\", value: \"zeusln:lightning:\" },\n    { label: \"Phoenix\", value: \"phoenix://\" },\n    { label: \"Breez\", value: \"breez:\" },\n    { label: \"Bitcoin Beach\", value: \"bitcoinbeach://\" },\n    { label: \"Blixt\", value: \"blixtwallet:lightning:\" },\n    { label: \"River\", value: \"river://\" },\n  ];\n  const invoiceDialog = renderDialog(`\n        <button class=\"close-button\">X</button>\n        ${dialogHeader}\n        ${anonymousNotice}\n        <div class=\"qrcode\">\n          <div class=\"overlay\">copied invoice to clipboard</div>\n        </div>\n        <p>click QR code to copy invoice</p>\n        <select name=\"lightning-wallet\">\n          ${options\n            .map(\n              ({ label, value }) =>\n                `<option value=\"${value}\" ${\n                  cachedLightningUri === value ? \"selected\" : \"\"\n                }>${label}</option>`\n            )\n            .join(\"\")}\n        </select>\n        <button class=\"cta-button\"\n          ${\n            safeButtonColor\n              ? `style=\"background-color: ${safeButtonColor}; color: ${getContrastingTextColor(\n                  safeButtonColor\n                )}\"`\n              : \"\"\n          } \n        >Open Wallet</button>\n      `);\n  const qrCodeEl = invoiceDialog.querySelector(\".qrcode\");\n  const lightningWalletEl = invoiceDialog.querySelector(\n    'select[name=\"lightning-wallet\"]'\n  );\n  const ctaButtonEl = invoiceDialog.querySelector(\".cta-button\");\n  const overlayEl = qrCodeEl.querySelector(\".overlay\");\n  const closePool = listenForZapReceipt({\n    relays,\n    invoice,\n    recipientPubkey,\n    onSuccess: () => {\n      invoiceDialog.close();\n    },\n  });\n\n  new QRCode(qrCodeEl, { text: invoice, quietZone: 10 });\n\n  qrCodeEl.addEventListener(\"click\", function () {\n    navigator.clipboard.writeText(invoice);\n    overlayEl.classList.add(\"show\");\n    setTimeout(() => overlayEl.classList.remove(\"show\"), 2000);\n  });\n\n  ctaButtonEl.addEventListener(\"click\", function () {\n    cacheLightningUri(lightningWalletEl.value);\n    window.location.href = `${lightningWalletEl.value}${invoice}`;\n  });\n\n  invoiceDialog.addEventListener(\"close\", function () {\n    closePool();\n    invoiceDialog.remove();\n  });\n\n  invoiceDialog\n    .querySelector(\".close-button\")\n    .addEventListener(\"click\", function () {\n      invoiceDialog.close();\n    });\n\n  return invoiceDialog;\n};\n\nconst renderAmountDialog = async ({\n  npub,\n  nip19Target,\n  relays,\n  buttonColor,\n  anon,\n}) => {\n  const truncateNip19Entity = (hex) =>\n    `${hex.substring(0, 12)}...${hex.substring(hex.length - 12)}`;\n  const normalizedRelays = relays\n    ? relays.split(\",\")\n    : [\"wss://relay.ditto.pub\", \"wss://relay.damus.io\", \"wss://nos.lol\"];\n\n  const authorId = decodeNpub(npub);\n  const metadataPromise = getProfileMetadata(authorId);\n  const zapEndpoint = metadataPromise.then(getZapEndpoint);\n  const safeButtonColor = normalizeButtonColor(buttonColor);\n  const nostrichAvatar =\n    \"https://pbs.twimg.com/profile_images/1604195803748306944/LxHDoJ7P_400x400.jpg\";\n\n  const getDialogHeader = async () => {\n    const [profileMetadata, endpoint] = await Promise.all([\n      metadataPromise,\n      zapEndpoint,\n    ]);\n    const profileContent = extractProfileMetadataContent(profileMetadata);\n    const { picture, display_name, name } = profileContent;\n    const userAvatar =\n      picture && isSafeHttpUrl(picture) ? picture : nostrichAvatar;\n    const displayName = escapeHtml(display_name || name || \"\");\n    const avatarUrl = escapeHtml(userAvatar);\n    const destination = escapeHtml(\n      getZapDestinationLabel(profileContent, endpoint)\n    );\n    const targetLabel = escapeHtml(\n      nip19Target ? truncateNip19Entity(nip19Target) : truncateNip19Entity(npub)\n    );\n\n    return `\n      <h2>${displayName}</h2>\n        <img\n          src=\"${avatarUrl}\"\n          width=\"80\"\n          height=\"80\"\n          alt=\"nostr user avatar\"\n        />\n      <p class=\"zap-destination\">${destination}</p>\n      <p>${targetLabel}</p>\n    `;\n  };\n  const amountDialog = renderDialog(`\n      <button class=\"close-button\">X</button>\n      <div class=\"dialog-header-container\">\n        <h2 class=\"skeleton-placeholder\"></h2>\n          <img\n            src=\"${nostrichAvatar}\"\n            width=\"80\"\n            height=\"80\"\n            alt=\"placeholder avatar\"\n          />\n        <p class=\"skeleton-placeholder\"></p>\n      </div>\n      <div class=\"preset-zap-options-container\">\n        <button data-value=\"21\">21 ⚡️</button>\n        <button data-value=\"69\">69 ⚡️</button>\n        <button data-value=\"420\">420 ⚡️</button>\n        <button data-value=\"1337\">1337 ⚡️</button>\n        <button data-value=\"5000\">5k ⚡️</button>\n        <button data-value=\"10000\">10k ⚡️</button>\n        <button data-value=\"21000\">21k ⚡️</button>\n        <button data-value=\"1000000\">1M ⚡️</button>\n      </div>\n      <form>\n        <input name=\"amount\" type=\"number\" placeholder=\"amount in sats\" required />\n        <input name=\"comment\" placeholder=\"optional comment\" />\n        <button class=\"cta-button\" \n          ${\n            safeButtonColor\n              ? `style=\"background-color: ${safeButtonColor}; color: ${getContrastingTextColor(\n                  safeButtonColor\n                )}\"`\n              : \"\"\n          } \n          type=\"submit\" disabled>Zap</button>\n      </form>\n    `);\n\n  const presetButtonsContainer = amountDialog.querySelector(\n    \".preset-zap-options-container\"\n  );\n  const form = amountDialog.querySelector(\"form\");\n  const amountInput = amountDialog.querySelector('input[name=\"amount\"]');\n  const commentInput = amountDialog.querySelector('input[name=\"comment\"]');\n  const zapButtton = amountDialog.querySelector('button[type=\"submit\"]');\n  const dialogHeaderContainer = amountDialog.querySelector(\n    \".dialog-header-container\"\n  );\n  const handleError = (error) => {\n    amountDialog.close();\n\n    const errorDialog = renderErrorDialog(error, npub);\n\n    errorDialog.showModal();\n  };\n\n  getDialogHeader()\n    .then((htmlString) => {\n      dialogHeaderContainer.innerHTML = htmlString;\n      zapButtton.disabled = false;\n    })\n    .catch(handleError);\n\n  const setZapButtonToLoadingState = () => {\n    zapButtton.disabled = true;\n    zapButtton.innerHTML = `<div class=\"spinner\">Loading</div>`;\n  };\n  const setZapButtonToDefaultState = () => {\n    zapButtton.disabled = false;\n    zapButtton.innerHTML = \"Zap\";\n  };\n  const setAmountValue = (value) => {\n    amountInput.value = value;\n  };\n\n  amountDialog.addEventListener(\"close\", function () {\n    setZapButtonToDefaultState();\n    form.reset();\n  });\n\n  amountDialog\n    .querySelector(\".close-button\")\n    .addEventListener(\"click\", function () {\n      amountDialog.close();\n    });\n\n  presetButtonsContainer.addEventListener(\"click\", function (event) {\n    if (event.target.matches(\"button\")) {\n      setAmountValue(event.target.getAttribute(\"data-value\"));\n      amountInput.focus();\n    }\n  });\n\n  form.addEventListener(\"submit\", async function (event) {\n    event.preventDefault();\n    setZapButtonToLoadingState();\n\n    const amount = Number(amountInput.value) * 1000;\n    const comment = commentInput.value;\n\n    try {\n      const { invoice, usedAnonymousFallback } = await fetchInvoice({\n        zapEndpoint: await zapEndpoint,\n        amount,\n        comment,\n        authorId,\n        nip19Target,\n        normalizedRelays,\n        anon,\n      });\n\n      const showInvoiceDialog = async () => {\n        const invoiceDialog = renderInvoiceDialog({\n          dialogHeader: await getDialogHeader(),\n          invoice,\n          relays: normalizedRelays,\n          buttonColor: safeButtonColor,\n          usedAnonymousFallback,\n          recipientPubkey: authorId,\n        });\n        const openWalletButton = invoiceDialog.querySelector(\".cta-button\");\n\n        amountDialog.close();\n        invoiceDialog.showModal();\n        openWalletButton.focus();\n      };\n\n      if (window.webln) {\n        try {\n          await window.webln.enable();\n          await window.webln.sendPayment(invoice);\n          amountDialog.close();\n          if (usedAnonymousFallback) {\n            const noticeDialog = renderAnonymousFallbackNoticeDialog();\n            noticeDialog.showModal();\n            noticeDialog.querySelector(\".cta-button\").focus();\n          }\n        } catch (e) {\n          showInvoiceDialog();\n        }\n      } else {\n        showInvoiceDialog();\n      }\n    } catch (error) {\n      handleError(error);\n    }\n  });\n\n  return amountDialog;\n};\n\nconst renderErrorDialog = (error, npub) => {\n  const message = escapeHtml(\n    error instanceof Error ? error.message : String(error ?? \"Something went wrong\")\n  );\n  const profileNpub = encodeURIComponent(String(npub ?? \"\"));\n  const errorDialog = renderDialog(`\n    <button class=\"close-button\">X</button>\n    <p class=\"error-message\">${message}</p>\n    <a href=\"https://nosta.me/${profileNpub}\" target=\"_blank\" rel=\"noopener noreferrer\">\n      <button class=\"cta-button\">View Nostr Profile</button>\n    </a>\n  `);\n\n  errorDialog.addEventListener(\"close\", function () {\n    errorDialog.remove();\n  });\n\n  errorDialog\n    .querySelector(\".close-button\")\n    .addEventListener(\"click\", function () {\n      errorDialog.close();\n    });\n\n  return errorDialog;\n};\n\nexport const init = async ({\n  npub,\n  noteId,\n  naddr,\n  relays,\n  cachedAmountDialog,\n  buttonColor,\n  anon,\n}) => {\n  let amountDialog = cachedAmountDialog;\n  try {\n    if (!amountDialog) {\n      amountDialog = await renderAmountDialog({\n        npub,\n        nip19Target: naddr ? naddr : noteId,\n        relays,\n        buttonColor,\n        anon,\n      });\n    }\n    amountDialog.showModal();\n\n    if (!window.matchMedia(\"(max-height: 932px)\").matches) {\n      amountDialog.querySelector('input[name=\"amount\"]').focus();\n    }\n\n    return amountDialog;\n  } catch (error) {\n    if (amountDialog) {\n      amountDialog.close();\n    }\n    const errorDialog = renderErrorDialog(error, npub);\n    errorDialog.showModal();\n  }\n};\n\nexport const initTarget = (targetEl) => {\n  let cachedAmountDialog = null;\n  let cachedParams = null;\n\n  targetEl.addEventListener(\"click\", async function () {\n    const npub = targetEl.getAttribute(\"data-npub\");\n    const noteId = targetEl.getAttribute(\"data-note-id\");\n    const naddr = targetEl.getAttribute(\"data-naddr\");\n    const relays = targetEl.getAttribute(\"data-relays\");\n    const buttonColor = targetEl.getAttribute(\"data-button-color\");\n    const anon = targetEl.getAttribute(\"data-anon\") === \"true\";\n\n    if (cachedParams) {\n      if (\n        cachedParams.npub !== npub ||\n        cachedParams.noteId !== noteId ||\n        cachedParams.naddr !== naddr ||\n        cachedParams.relays !== relays ||\n        cachedParams.buttonColor !== buttonColor ||\n        cachedParams.anon !== anon\n      ) {\n        cachedAmountDialog = null;\n      }\n    }\n\n    cachedParams = { npub, noteId, naddr, relays, buttonColor, anon };\n\n    cachedAmountDialog = await init({\n      npub,\n      noteId,\n      naddr,\n      relays,\n      cachedAmountDialog,\n      buttonColor,\n      anon,\n    });\n  });\n};\n\nexport const initTargets = (selector) => {\n  document.querySelectorAll(selector || \"[data-npub]\").forEach(initTarget);\n};\n\nexport const injectCSS = () => {\n  if (shadow) {\n    return;\n  }\n\n  const styleElement = document.createElement(\"style\");\n\n  styleElement.innerHTML = `\n      .nostr-zap-dialog {\n        width: 424px;\n        min-width: 376px;\n        margin: auto;\n        box-sizing: content-box;\n        border: none;\n        border-radius: 10px;\n        padding: 36px;\n        text-align: center;\n        font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\n          Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif;\n        background-color: white;\n      }\n      .nostr-zap-dialog[open],\n      .nostr-zap-dialog form {\n        display: block;\n        max-width: fit-content;\n      }\n      .nostr-zap-dialog form {\n        padding: 0;\n        width: 100%;\n      }\n      .nostr-zap-dialog img {\n        display: inline;\n        border-radius: 50%;\n      }\n      .nostr-zap-dialog h2 {\n        font-size: 1.5em;\n        font-weight: bold;\n        color: black;\n      }\n      .nostr-zap-dialog p {\n        font-size: 1em;\n        font-weight: normal;\n        color: black;\n      }\n      .nostr-zap-dialog h2,\n      .nostr-zap-dialog p,\n      .nostr-zap-dialog .skeleton-placeholder {\n        margin: 4px;\n        word-wrap: break-word;\n      }\n      .nostr-zap-dialog button {\n        background-color: inherit;\n        padding: 12px 0;\n        border-radius: 5px;\n        border: none;\n        font-size: 16px;\n        cursor: pointer;\n        border: 1px solid rgb(226, 232, 240);\n        width: 100px;\n        max-width: 100px;\n        max-height: 52px;\n        white-space: nowrap;\n        color: black;\n        box-sizing: border-box;\n      }\n      .nostr-zap-dialog button:hover {\n        background-color: #edf2f7;\n      }\n      .nostr-zap-dialog button:disabled {\n        opacity: 0.5;\n        cursor: not-allowed;\n      }\n      .nostr-zap-dialog .cta-button {\n        background-color: #7f00ff;\n        color: #fff;\n        width: 100%;\n        max-width: 100%;\n        margin-top: 16px;\n      }\n      .nostr-zap-dialog .cta-button:hover {\n        background-color: indigo;\n      }\n      .nostr-zap-dialog .close-button {\n        background-color: inherit;\n        color: black;\n        border-radius: 50%;\n        width: 42px;\n        height: 42px;\n        position: absolute;\n        top: 8px;\n        right: 8px;\n        padding: 12px;\n        border: none;\n      }\n      .nostr-zap-dialog .preset-zap-options-container {\n        display: flex;\n        flex-wrap: wrap;\n        justify-content: space-between;\n        margin: 24px 0 8px 0;\n        height: 120px;\n      }\n      .nostr-zap-dialog input {\n        padding: 12px;\n        border-radius: 5px;\n        border: none;\n        font-size: 16px;\n        width: 100%;\n        max-width: 100%;\n        background-color: #f7fafc;\n        color: #1a202c;\n        box-shadow: none;\n        box-sizing: border-box;\n        margin-bottom: 16px;\n        border: 1px solid lightgray;\n      }\n      .nostr-zap-dialog .spinner {\n        display: flex;\n        justify-content: center;\n        align-items: center;\n      }\n      .nostr-zap-dialog .spinner:after {\n        content: \" \";\n        display: block;\n        width: 12px;\n        height: 12px;\n        border-radius: 50%;\n        border: 4px solid #fff;\n        border-color: #fff transparent #fff transparent;\n        animation: nostr-zap-dialog-spinner 1.2s linear infinite;\n        margin-left: 8px;\n      }\n      .nostr-zap-dialog .error-message {\n        text-align: left;\n        color: red;\n        margin-top: 8px;\n      }\n      .nostr-zap-dialog .zap-destination {\n        font-size: 0.875em;\n        color: #4a5568;\n        margin: 4px;\n        word-break: break-word;\n      }\n      .nostr-zap-dialog .zap-anon-notice {\n        font-size: 0.875em;\n        color: #744210;\n        margin: 8px 0 0 0;\n        word-break: break-word;\n      }\n      .nostr-zap-dialog .qrcode {\n        position: relative;\n        display: inline-block;\n        margin-top: 24px;\n      }\n      .nostr-zap-dialog .qrcode .overlay {\n        position: absolute;\n        color: white;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background-color: rgba(127, 17, 224, 0.8);\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        opacity: 0;\n      }\n      .nostr-zap-dialog .qrcode .overlay.show {\n        opacity: 1;\n      }\n      @keyframes nostr-zap-dialog-spinner {\n        0% {\n          transform: rotate(0deg);\n        }\n        100% {\n          transform: rotate(360deg);\n        }\n      }\n      @keyframes nostr-zap-dialog-skeleton-pulse {\n        0% {\n          opacity: 0.6;\n        }\n        50% {\n          opacity: 0.8;\n        }\n        100% {\n          opacity: 0.6;\n        }\n      }\n      .nostr-zap-dialog .skeleton-placeholder {\n        animation-name: nostr-zap-dialog-skeleton-pulse;\n        animation-duration: 1.5s;\n        animation-iteration-count: infinite;\n        animation-timing-function: ease-in-out;\n        background-color: #e8e8e8;\n        border-radius: 4px;\n        margin: 4px auto;\n      }\n      .nostr-zap-dialog p.skeleton-placeholder {\n        height: 20px;\n        width: 200px;\n      }\n      .nostr-zap-dialog h2.skeleton-placeholder {\n        height: 28px;\n        width: 300px;\n      }\n      .nostr-zap-dialog select[name=\"lightning-wallet\"] {\n        appearance: none;\n        background-color: white;\n        background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%232D3748\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\" /></svg>');\n        background-repeat: no-repeat;\n        background-position: right 0.7rem center;\n        background-size: 16px;\n        border: 1px solid #CBD5E0;\n        padding: 0.5rem 1rem;\n        font-size: 1rem;\n        border-radius: 0.25rem;\n        width: 100%;\n        margin-top: 24px;\n        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n        cursor: pointer;\n      }\n      .nostr-zap-dialog select[name=\"lightning-wallet\"]:focus {\n        outline: none;\n        border-color: #4FD1C5;\n        box-shadow: 0 0 0 2px #4FD1C5;\n      }\n      @media only screen and (max-width: 480px) {\n        .nostr-zap-dialog {\n          padding: 18px;\n        }\n\n        .nostr-zap-dialog button {\n          width: 92px;\n          max-width: 92px;\n        }\n      }\n      @media only screen and (max-width: 413px) {\n        .nostr-zap-dialog {\n          min-width: 324px;\n        }\n        .nostr-zap-dialog button {\n          width: 78px;\n          max-width: 78px;\n        }\n      }\n  `;\n\n  const host = document.createElement(\"div\");\n  document.body.appendChild(host);\n  shadow = host.attachShadow({ mode: \"closed\" });\n  shadow.appendChild(styleElement);\n};\n","import { injectCSS, init, initTargets, initTarget } from \"./view\";\n\n// Wait for <body> before mounting the shadow host. Scripts loaded from a CDN\n// in <head> (common with unpkg/jsdelivr) otherwise crash with:\n// Cannot read properties of null (reading 'appendChild')\nconst boot = () => {\n  injectCSS();\n  initTargets();\n};\n\nif (document.readyState === \"loading\") {\n  document.addEventListener(\"DOMContentLoaded\", boot);\n} else {\n  boot();\n}\n\nwindow.nostrZap = { init, initTarget, initTargets };\n"]}