@libp2p/kad-dht 9.3.4 → 9.3.6-05abd49f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +3 -3
  2. package/dist/index.min.js +23 -23
  3. package/dist/src/content-fetching/index.d.ts +2 -2
  4. package/dist/src/content-fetching/index.d.ts.map +1 -1
  5. package/dist/src/content-fetching/index.js +4 -4
  6. package/dist/src/content-fetching/index.js.map +1 -1
  7. package/dist/src/dual-kad-dht.d.ts +5 -5
  8. package/dist/src/dual-kad-dht.d.ts.map +1 -1
  9. package/dist/src/dual-kad-dht.js +5 -5
  10. package/dist/src/dual-kad-dht.js.map +1 -1
  11. package/dist/src/index.d.ts +9 -10
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/kad-dht.d.ts +4 -4
  15. package/dist/src/kad-dht.d.ts.map +1 -1
  16. package/dist/src/kad-dht.js +7 -7
  17. package/dist/src/kad-dht.js.map +1 -1
  18. package/dist/src/message/index.d.ts +2 -2
  19. package/dist/src/message/index.d.ts.map +1 -1
  20. package/dist/src/message/index.js +1 -1
  21. package/dist/src/message/index.js.map +1 -1
  22. package/dist/src/network.d.ts +5 -5
  23. package/dist/src/network.d.ts.map +1 -1
  24. package/dist/src/network.js +2 -2
  25. package/dist/src/network.js.map +1 -1
  26. package/dist/src/peer-list/index.d.ts +1 -1
  27. package/dist/src/peer-list/peer-distance-list.d.ts +1 -1
  28. package/dist/src/peer-routing/index.d.ts +3 -3
  29. package/dist/src/peer-routing/index.d.ts.map +1 -1
  30. package/dist/src/peer-routing/index.js +3 -3
  31. package/dist/src/peer-routing/index.js.map +1 -1
  32. package/dist/src/providers.d.ts +2 -2
  33. package/dist/src/providers.d.ts.map +1 -1
  34. package/dist/src/query/events.d.ts +3 -3
  35. package/dist/src/query/events.d.ts.map +1 -1
  36. package/dist/src/query/events.js +1 -1
  37. package/dist/src/query/events.js.map +1 -1
  38. package/dist/src/query/manager.d.ts +3 -3
  39. package/dist/src/query/manager.d.ts.map +1 -1
  40. package/dist/src/query/manager.js +2 -2
  41. package/dist/src/query/manager.js.map +1 -1
  42. package/dist/src/query/query-path.d.ts +2 -2
  43. package/dist/src/query/query-path.d.ts.map +1 -1
  44. package/dist/src/query/query-path.js +1 -1
  45. package/dist/src/query/query-path.js.map +1 -1
  46. package/dist/src/query/types.d.ts +1 -1
  47. package/dist/src/query-self.d.ts +10 -7
  48. package/dist/src/query-self.d.ts.map +1 -1
  49. package/dist/src/query-self.js +31 -47
  50. package/dist/src/query-self.js.map +1 -1
  51. package/dist/src/record/index.d.ts +22 -0
  52. package/dist/src/record/index.d.ts.map +1 -0
  53. package/dist/src/record/index.js +53 -0
  54. package/dist/src/record/index.js.map +1 -0
  55. package/dist/src/record/record.d.ts +13 -0
  56. package/dist/src/record/record.d.ts.map +1 -0
  57. package/dist/src/record/record.js +67 -0
  58. package/dist/src/record/record.js.map +1 -0
  59. package/dist/src/record/selectors.d.ts +7 -0
  60. package/dist/src/record/selectors.d.ts.map +1 -0
  61. package/dist/src/record/selectors.js +38 -0
  62. package/dist/src/record/selectors.js.map +1 -0
  63. package/dist/src/record/utils.d.ts +11 -0
  64. package/dist/src/record/utils.d.ts.map +1 -0
  65. package/dist/src/record/utils.js +41 -0
  66. package/dist/src/record/utils.js.map +1 -0
  67. package/dist/src/record/validators.d.ts +10 -0
  68. package/dist/src/record/validators.d.ts.map +1 -0
  69. package/dist/src/record/validators.js +54 -0
  70. package/dist/src/record/validators.js.map +1 -0
  71. package/dist/src/routing-table/index.d.ts +11 -6
  72. package/dist/src/routing-table/index.d.ts.map +1 -1
  73. package/dist/src/routing-table/index.js +7 -3
  74. package/dist/src/routing-table/index.js.map +1 -1
  75. package/dist/src/routing-table/k-bucket.d.ts +2 -2
  76. package/dist/src/routing-table/k-bucket.d.ts.map +1 -1
  77. package/dist/src/routing-table/k-bucket.js +1 -1
  78. package/dist/src/routing-table/k-bucket.js.map +1 -1
  79. package/dist/src/routing-table/refresh.d.ts +1 -1
  80. package/dist/src/rpc/handlers/add-provider.d.ts +1 -1
  81. package/dist/src/rpc/handlers/add-provider.js +1 -1
  82. package/dist/src/rpc/handlers/add-provider.js.map +1 -1
  83. package/dist/src/rpc/handlers/find-node.d.ts +2 -2
  84. package/dist/src/rpc/handlers/find-node.d.ts.map +1 -1
  85. package/dist/src/rpc/handlers/get-providers.d.ts +3 -3
  86. package/dist/src/rpc/handlers/get-providers.js +1 -1
  87. package/dist/src/rpc/handlers/get-providers.js.map +1 -1
  88. package/dist/src/rpc/handlers/get-value.d.ts +3 -3
  89. package/dist/src/rpc/handlers/get-value.d.ts.map +1 -1
  90. package/dist/src/rpc/handlers/get-value.js +2 -2
  91. package/dist/src/rpc/handlers/get-value.js.map +1 -1
  92. package/dist/src/rpc/handlers/ping.d.ts +1 -1
  93. package/dist/src/rpc/handlers/put-value.d.ts +1 -1
  94. package/dist/src/rpc/handlers/put-value.js +2 -2
  95. package/dist/src/rpc/handlers/put-value.js.map +1 -1
  96. package/dist/src/rpc/index.d.ts +2 -2
  97. package/dist/src/rpc/index.d.ts.map +1 -1
  98. package/dist/src/topology-listener.d.ts +3 -3
  99. package/dist/src/topology-listener.d.ts.map +1 -1
  100. package/dist/src/topology-listener.js +2 -4
  101. package/dist/src/topology-listener.js.map +1 -1
  102. package/dist/src/utils.d.ts +2 -2
  103. package/dist/src/utils.d.ts.map +1 -1
  104. package/dist/src/utils.js +1 -1
  105. package/dist/src/utils.js.map +1 -1
  106. package/package.json +31 -136
  107. package/src/content-fetching/index.ts +5 -5
  108. package/src/content-routing/index.ts +1 -1
  109. package/src/dual-kad-dht.ts +7 -7
  110. package/src/index.ts +9 -10
  111. package/src/kad-dht.ts +12 -10
  112. package/src/message/index.ts +2 -2
  113. package/src/network.ts +7 -7
  114. package/src/peer-list/index.ts +1 -1
  115. package/src/peer-list/peer-distance-list.ts +1 -1
  116. package/src/peer-routing/index.ts +6 -6
  117. package/src/providers.ts +2 -2
  118. package/src/query/events.ts +4 -4
  119. package/src/query/manager.ts +5 -5
  120. package/src/query/query-path.ts +3 -3
  121. package/src/query/types.ts +1 -1
  122. package/src/query-self.ts +68 -86
  123. package/src/record/index.ts +70 -0
  124. package/src/record/record.proto +20 -0
  125. package/src/record/record.ts +87 -0
  126. package/src/record/selectors.ts +50 -0
  127. package/src/record/utils.ts +46 -0
  128. package/src/record/validators.ts +69 -0
  129. package/src/routing-table/index.ts +20 -8
  130. package/src/routing-table/k-bucket.ts +2 -2
  131. package/src/routing-table/refresh.ts +1 -1
  132. package/src/rpc/handlers/add-provider.ts +2 -2
  133. package/src/rpc/handlers/find-node.ts +3 -3
  134. package/src/rpc/handlers/get-providers.ts +4 -4
  135. package/src/rpc/handlers/get-value.ts +4 -4
  136. package/src/rpc/handlers/ping.ts +1 -1
  137. package/src/rpc/handlers/put-value.ts +3 -3
  138. package/src/rpc/index.ts +2 -2
  139. package/src/topology-listener.ts +4 -6
  140. package/src/utils.ts +3 -3
  141. package/dist/typedoc-urls.json +0 -29
package/dist/index.min.js CHANGED
@@ -1,29 +1,29 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PKadDht = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PKadDht=(()=>{var W6=Object.create;var Gn=Object.defineProperty;var Y6=Object.getOwnPropertyDescriptor;var Z6=Object.getOwnPropertyNames;var X6=Object.getPrototypeOf,j6=Object.prototype.hasOwnProperty;var J6=(e,t,r)=>t in e?Gn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var O=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lt=(e,t)=>{for(var r in t)Gn(e,r,{get:t[r],enumerable:!0})},a2=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Z6(t))!j6.call(e,i)&&i!==r&&Gn(e,i,{get:()=>t[i],enumerable:!(n=Y6(t,i))||n.enumerable});return e};var H=(e,t,r)=>(r=e!=null?W6(X6(e)):{},a2(t||!e||!e.__esModule?Gn(r,"default",{value:e,enumerable:!0}):r,e)),t8=e=>a2(Gn({},"__esModule",{value:!0}),e);var Li=(e,t,r)=>(J6(e,typeof t!="symbol"?t+"":t,r),r);var h2=O((Mh,l2)=>{var rn=1e3,nn=rn*60,on=nn*60,Br=on*24,e8=Br*7,r8=Br*365.25;l2.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return n8(e);if(r==="number"&&isFinite(e))return t.long?o8(e):i8(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function n8(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*r8;case"weeks":case"week":case"w":return r*e8;case"days":case"day":case"d":return r*Br;case"hours":case"hour":case"hrs":case"hr":case"h":return r*on;case"minutes":case"minute":case"mins":case"min":case"m":return r*nn;case"seconds":case"second":case"secs":case"sec":case"s":return r*rn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function i8(e){var t=Math.abs(e);return t>=Br?Math.round(e/Br)+"d":t>=on?Math.round(e/on)+"h":t>=nn?Math.round(e/nn)+"m":t>=rn?Math.round(e/rn)+"s":e+"ms"}function o8(e){var t=Math.abs(e);return t>=Br?z0(e,t,Br,"day"):t>=on?z0(e,t,on,"hour"):t>=nn?z0(e,t,nn,"minute"):t>=rn?z0(e,t,rn,"second"):e+" ms"}function z0(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var d2=O((Kh,p2)=>{function s8(e){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=h2(),r.destroy=u,Object.keys(e).forEach(f=>{r[f]=e[f]}),r.names=[],r.skips=[],r.formatters={};function t(f){let l=0;for(let d=0;d<f.length;d++)l=(l<<5)-l+f.charCodeAt(d),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(f){let l,d=null,p,h;function y(...g){if(!y.enabled)return;let m=y,v=Number(new Date),b=v-(l||v);m.diff=b,m.prev=l,m.curr=v,l=v,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let k=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(C,V)=>{if(C==="%%")return"%";k++;let $=r.formatters[V];if(typeof $=="function"){let kt=g[k];C=$.call(m,kt),g.splice(k,1),k--}return C}),r.formatArgs.call(m,g),(m.log||r.log).apply(m,g)}return y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(f)),h),set:g=>{d=g}}),typeof r.init=="function"&&r.init(y),y}function n(f,l){let d=r(this.namespace+(typeof l>"u"?":":l)+f);return d.log=this.log,d}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let l,d=(typeof f=="string"?f:"").split(/[\s,]+/),p=d.length;for(l=0;l<p;l++)d[l]&&(f=d[l].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,d;for(l=0,d=r.skips.length;l<d;l++)if(r.skips[l].test(f))return!1;for(l=0,d=r.names.length;l<d;l++)if(r.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}p2.exports=s8});var y2=O((Xt,H0)=>{Xt.formatArgs=c8;Xt.save=u8;Xt.load=f8;Xt.useColors=a8;Xt.storage=l8();Xt.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Xt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function a8(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function c8(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+H0.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}Xt.log=console.debug||console.log||(()=>{});function u8(e){try{e?Xt.storage.setItem("debug",e):Xt.storage.removeItem("debug")}catch{}}function f8(){let e;try{e=Xt.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function l8(){try{return localStorage}catch{}}H0.exports=d2()(Xt);var{formatters:h8}=H0.exports;h8.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var E2=O(Wn=>{(function(){var e,t,r,n,i,o,s,a;a=function(c){var u,f,l,d;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,l=(c&65280)>>>8,d=c&255,[u,f,l,d].join(".")},s=function(c){var u,f,l,d,p,h;for(u=[],l=d=0;d<=3&&c.length!==0;l=++d){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=t(c),p=h[0],f=h[1],c=c.substring(f),u.push(p)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),t=function(c){var u,f,l,d,p;for(d=0,u=10,f="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,f="7")),p=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)d=d*u+(r(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")d=d*u+(10+r(c[l])-o)>>>0;else if("A"<=c[l]&&c[l]<="F")d=d*u+(10+r(c[l])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");l++}if(l===p)throw new Error("empty octet");return[d,l]},e=function(){function c(u,f){var l,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(h=u.split("/",2),u=h[0],f=h[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(y){throw l=y,new Error("Invalid mask: "+f)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(u)&this.maskLong)>>>0}catch(y){throw l=y,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,l,d;for(d=s(this.first),l=s(this.last),f=0;d<=l;)u(a(d),d,f),f++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Wn.ip2long=s,Wn.long2ip=a,Wn.Netmask=e}).call(Wn)});var T2=O((B2,Z0)=>{(function(e){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${t}\\.${t}\\.${t}\\.${t}(${o})?$`,"i")};function c(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let y=0,g=-1,m=(p.match(a.zoneIndex)||[])[0],v,b;for(m&&(m=m.substring(1),p=p.replace(/%.+$/,""));(g=p.indexOf(":",g+1))>=0;)y++;if(p.substr(0,2)==="::"&&y--,p.substr(-2,2)==="::"&&y--,y>h)return null;for(b=h-y,v=":";b--;)v+="0:";return p=p.replace("::",v),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let k=p.split(":"),B=[];for(let C=0;C<k.length;C++)B.push(parseInt(k[C],16));return B}(),{parts:h,zoneId:m}}function u(p,h,y,g){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let m=0,v;for(;g>0;){if(v=y-g,v<0&&(v=0),p[m]>>v!==h[m]>>v)return!1;g-=y,m+=1}return!0}function f(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function l(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let y,g;for(y=0;y<h.length;y++)if(g=h[y],!(0<=g&&g<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,y)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},m,v,b;for(m=3;m>=0;m-=1)if(v=this.octets[m],v in g){if(b=g[v],y&&b!==0)return null;b!==8&&(y=!0),h+=b}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],v=0;for(;v<4;)m.push(parseInt(y[v],10)|parseInt(g[v],10)^255),v++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,y,g,m,v;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),v=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<4;)m.push(parseInt(g[y],10)&parseInt(v[y],10)),y++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let y=parseInt(h[2]);if(y>=0&&y<=32){let g=[this.parse(h[1]),y];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,y,g;if(h=p.match(r.fourOctet))return function(){let m=h.slice(1,6),v=[];for(let b=0;b<m.length;b++)y=m[b],v.push(f(y));return v}();if(h=p.match(r.longValue)){if(g=f(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let m=[],v;for(v=0;v<=24;v+=8)m.push(g>>v&255);return m}().reverse()}else return(h=p.match(r.twoOctet))?function(){let m=h.slice(1,4),v=[];if(g=f(m[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return v.push(f(m[0])),v.push(g>>16&255),v.push(g>>8&255),v.push(g&255),v}():(h=p.match(r.threeOctet))?function(){let m=h.slice(1,5),v=[];if(g=f(m[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return v.push(f(m[0])),v.push(f(m[1])),v.push(g>>8&255),v.push(g&255),v}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],y=0,g=Math.floor(p/8);for(;y<g;)h[y]=255,y++;return g<4&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,y){let g,m;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(m=this.parts[g],!(0<=m&&m<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");y&&(this.zoneId=y)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,y)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},m,v;for(let b=7;b>=0;b-=1)if(m=this.parts[b],m in g){if(v=g[m],y&&v!==0)return null;v!==16&&(y=!0),h+=v}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,y=[],g=this.parts;for(let m=0;m<g.length;m++)h=g[m],y.push(h>>8),y.push(h&255);return y},p.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(l(this.parts[m].toString(16),4));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),y=h[0],g=h[1];return new d.IPv4([y>>8,y&255,g>>8,g&255])},p.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(this.parts[m].toString(16));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,y=this.toNormalizedString(),g=0,m=-1,v;for(;v=h.exec(y);)v[0].length>m&&(g=v.index,m=v[0].length);return m<0?y:`${y.substring(0,g)}::${y.substring(g+m)}`},p.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],v=0;for(;v<16;)m.push(parseInt(y[v],10)|parseInt(g[v],10)^255),v++;return new this(m)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,y,g,m,v;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),v=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<16;)m.push(parseInt(g[y],10)&parseInt(v[y],10)),y++;return new this(m)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,y,g;if((y=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(y[2]),h>=0&&h<=128))return g=[this.parse(y[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,y,g,m,v,b;if(g=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(p))return c(p,8);if((g=p.match(a.transitional))&&(b=g[6]||"",h=c(g[1].slice(0,-1)+b,6),h.parts)){for(v=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],y=0;y<v.length;y++)if(m=v[y],!(0<=m&&m<=255))return null;return h.parts.push(v[0]<<8|v[1]),h.parts.push(v[2]<<8|v[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],y=0,g=Math.floor(p/8);for(;y<g;)h[y]=255,y++;return g<16&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,y){let g,m,v,b;y==null&&(y="unicast");for(m in h)if(Object.prototype.hasOwnProperty.call(h,m)){for(v=h[m],v[0]&&!(v[0]instanceof Array)&&(v=[v]),g=0;g<v.length;g++)if(b=v[g],p.kind()===b[0].kind()&&p.match.apply(p,b))return m}return y},typeof Z0<"u"&&Z0.exports?Z0.exports=d:e.ipaddr=d})(B2)});var ra=O((ud,ea)=>{"use strict";ea.exports=Dc;function Dc(e,t){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(f){if(o)if(o=!1,f)c(f);else{for(var l=new Array(arguments.length-1),d=0;d<l.length;)l[d++]=arguments[d];a.apply(null,l)}};try{e.apply(t||null,r)}catch(u){o&&(o=!1,c(u))}})}});var sa=O(oa=>{"use strict";var J0=oa;J0.length=function(t){var r=t.length;if(!r)return 0;for(var n=0;--r%4>1&&t.charAt(r)==="=";)++n;return Math.ceil(t.length*3)/4-n};var dn=new Array(64),ia=new Array(123);for(ye=0;ye<64;)ia[dn[ye]=ye<26?ye+65:ye<52?ye+71:ye<62?ye-4:ye-59|43]=ye++;var ye;J0.encode=function(t,r,n){for(var i=null,o=[],s=0,a=0,c;r<n;){var u=t[r++];switch(a){case 0:o[s++]=dn[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=dn[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=dn[c|u>>6],o[s++]=dn[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=dn[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var na="invalid encoding";J0.decode=function(t,r,n){for(var i=n,o=0,s,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&o>1)break;if((c=ia[c])===void 0)throw Error(na);switch(o){case 0:s=c,o=1;break;case 1:r[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:r[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:r[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(na);return n-i};J0.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var ca=O((ld,aa)=>{"use strict";aa.exports=t1;function t1(){this._listeners={}}t1.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};t1.prototype.off=function(t,r){if(t===void 0)this._listeners={};else if(r===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};t1.prototype.emit=function(t){var r=this._listeners[t];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var ya=O((hd,da)=>{"use strict";da.exports=ua(ua);function ua(e){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=r[3]===128;function i(c,u,f){t[0]=c,u[f]=r[0],u[f+1]=r[1],u[f+2]=r[2],u[f+3]=r[3]}function o(c,u,f){t[0]=c,u[f]=r[3],u[f+1]=r[2],u[f+2]=r[1],u[f+3]=r[0]}e.writeFloatLE=n?i:o,e.writeFloatBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],t[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],t[0]}e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}e.writeFloatLE=t.bind(null,fa),e.writeFloatBE=t.bind(null,la);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}e.readFloatLE=r.bind(null,ha),e.readFloatBE=r.bind(null,pa)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=r[7]===128;function i(c,u,f){t[0]=c,u[f]=r[0],u[f+1]=r[1],u[f+2]=r[2],u[f+3]=r[3],u[f+4]=r[4],u[f+5]=r[5],u[f+6]=r[6],u[f+7]=r[7]}function o(c,u,f){t[0]=c,u[f]=r[7],u[f+1]=r[6],u[f+2]=r[5],u[f+3]=r[4],u[f+4]=r[3],u[f+5]=r[2],u[f+6]=r[1],u[f+7]=r[0]}e.writeDoubleLE=n?i:o,e.writeDoubleBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],t[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],t[0]}e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var f;if(s<22250738585072014e-324)f=s/5e-324,n(f>>>0,a,c+i),n((u<<31|f/4294967296)>>>0,a,c+o);else{var l=Math.floor(Math.log(s)/Math.LN2);l===1024&&(l=1023),f=s*Math.pow(2,-l),n(f*4503599627370496>>>0,a,c+i),n((u<<31|l+1023<<20|f*1048576&1048575)>>>0,a,c+o)}}}e.writeDoubleLE=t.bind(null,fa,0,4),e.writeDoubleBE=t.bind(null,la,4,0);function r(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),f=(u>>31)*2+1,l=u>>>20&2047,d=4294967296*(u&1048575)+c;return l===2047?d?NaN:f*(1/0):l===0?f*5e-324*d:f*Math.pow(2,l-1075)*(d+4503599627370496)}e.readDoubleLE=r.bind(null,ha,0,4),e.readDoubleBE=r.bind(null,pa,4,0)}(),e}function fa(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function la(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=e&255}function ha(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function pa(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var ga=O((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}});var va=O(ma=>{"use strict";var so=ma;so.length=function(t){for(var r=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};so.read=function(t,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,c;r<n;)c=t[r++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|t[r++]&63:c>239&&c<365?(c=((c&7)<<18|(t[r++]&63)<<12|(t[r++]&63)<<6|t[r++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(t[r++]&63)<<6|t[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};so.write=function(t,r,n){for(var i=n,o,s,a=0;a<t.length;++a)o=t.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=t.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var wa=O((dd,xa)=>{"use strict";xa.exports=Fc;function Fc(e,t,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return e(c);s+c>n&&(o=e(n),s=0);var u=t.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var Ea=O((yd,ba)=>{"use strict";ba.exports=Nt;var Jn=Lr();function Nt(e,t){this.lo=e>>>0,this.hi=t>>>0}var kr=Nt.zero=new Nt(0,0);kr.toNumber=function(){return 0};kr.zzEncode=kr.zzDecode=function(){return this};kr.length=function(){return 1};var Oc=Nt.zeroHash="\0\0\0\0\0\0\0\0";Nt.fromNumber=function(t){if(t===0)return kr;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Nt(n,i)};Nt.from=function(t){if(typeof t=="number")return Nt.fromNumber(t);if(Jn.isString(t))if(Jn.Long)t=Jn.Long.fromString(t);else return Nt.fromNumber(parseInt(t,10));return t.low||t.high?new Nt(t.low>>>0,t.high>>>0):kr};Nt.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Nt.prototype.toLong=function(t){return Jn.Long?new Jn.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var fr=String.prototype.charCodeAt;Nt.fromHash=function(t){return t===Oc?kr:new Nt((fr.call(t,0)|fr.call(t,1)<<8|fr.call(t,2)<<16|fr.call(t,3)<<24)>>>0,(fr.call(t,4)|fr.call(t,5)<<8|fr.call(t,6)<<16|fr.call(t,7)<<24)>>>0)};Nt.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Nt.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};Nt.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};Nt.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var Lr=O(ao=>{"use strict";var N=ao;N.asPromise=ra();N.base64=sa();N.EventEmitter=ca();N.float=ya();N.inquire=ga();N.utf8=va();N.pool=wa();N.LongBits=Ea();N.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);N.global=N.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||ao;N.emptyArray=Object.freeze?Object.freeze([]):[];N.emptyObject=Object.freeze?Object.freeze({}):{};N.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};N.isString=function(t){return typeof t=="string"||t instanceof String};N.isObject=function(t){return t&&typeof t=="object"};N.isset=N.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};N.Buffer=function(){try{var e=N.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();N._Buffer_from=null;N._Buffer_allocUnsafe=null;N.newBuffer=function(t){return typeof t=="number"?N.Buffer?N._Buffer_allocUnsafe(t):new N.Array(t):N.Buffer?N._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};N.Array=typeof Uint8Array<"u"?Uint8Array:Array;N.Long=N.global.dcodeIO&&N.global.dcodeIO.Long||N.global.Long||N.inquire("long");N.key2Re=/^true|false|0|1$/;N.key32Re=/^-?(?:0|[1-9][0-9]*)$/;N.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;N.longToHash=function(t){return t?N.LongBits.from(t).toHash():N.LongBits.zeroHash};N.longFromHash=function(t,r){var n=N.LongBits.fromHash(t);return N.Long?N.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function Sa(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}N.merge=Sa;N.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function Aa(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&Sa(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}N.newError=Aa;N.ProtocolError=Aa("ProtocolError");N.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};N.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};N.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};N._configure=function(){var e=N.Buffer;if(!e){N._Buffer_from=N._Buffer_allocUnsafe=null;return}N._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},N._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var fo=O((md,Ta)=>{"use strict";Ta.exports=At;var Be=Lr(),uo,_a=Be.LongBits,Uc=Be.utf8;function ge(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function At(e){this.buf=e,this.pos=0,this.len=e.length}var Ia=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new At(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new At(t);throw Error("illegal buffer")},Ba=function(){return Be.Buffer?function(r){return(At.create=function(i){return Be.Buffer.isBuffer(i)?new uo(i):Ia(i)})(r)}:Ia};At.create=Ba();At.prototype._slice=Be.Array.prototype.subarray||Be.Array.prototype.slice;At.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,ge(this,10);return t}}();At.prototype.int32=function(){return this.uint32()|0};At.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function co(){var e=new _a(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw ge(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw ge(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}At.prototype.bool=function(){return this.uint32()!==0};function e1(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}At.prototype.fixed32=function(){if(this.pos+4>this.len)throw ge(this,4);return e1(this.buf,this.pos+=4)};At.prototype.sfixed32=function(){if(this.pos+4>this.len)throw ge(this,4);return e1(this.buf,this.pos+=4)|0};function Ca(){if(this.pos+8>this.len)throw ge(this,8);return new _a(e1(this.buf,this.pos+=4),e1(this.buf,this.pos+=4))}At.prototype.float=function(){if(this.pos+4>this.len)throw ge(this,4);var t=Be.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};At.prototype.double=function(){if(this.pos+8>this.len)throw ge(this,4);var t=Be.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};At.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw ge(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};At.prototype.string=function(){var t=this.bytes();return Uc.read(t,0,t.length)};At.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ge(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ge(this);while(this.buf[this.pos++]&128);return this};At.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this};At._configure=function(e){uo=e,At.create=Ba(),uo._configure();var t=Be.Long?"toLong":"toNumber";Be.merge(At.prototype,{int64:function(){return co.call(this)[t](!1)},uint64:function(){return co.call(this)[t](!0)},sint64:function(){return co.call(this).zzDecode()[t](!1)},fixed64:function(){return Ca.call(this)[t](!0)},sfixed64:function(){return Ca.call(this)[t](!1)}})}});var La=O((vd,ka)=>{"use strict";ka.exports=Nr;var Pa=fo();(Nr.prototype=Object.create(Pa.prototype)).constructor=Nr;var Ra=Lr();function Nr(e){Pa.call(this,e)}Nr._configure=function(){Ra.Buffer&&(Nr.prototype._slice=Ra.Buffer.prototype.slice)};Nr.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Nr._configure()});var vo=O((xd,Oa)=>{"use strict";Oa.exports=Z;var oe=Lr(),lo,r1=oe.LongBits,Na=oe.base64,Da=oe.utf8;function t0(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function po(){}function Mc(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function Z(){this.len=0,this.head=new t0(po,0,0),this.tail=this.head,this.states=null}var Fa=function(){return oe.Buffer?function(){return(Z.create=function(){return new lo})()}:function(){return new Z}};Z.create=Fa();Z.alloc=function(t){return new oe.Array(t)};oe.Array!==Array&&(Z.alloc=oe.pool(Z.alloc,oe.Array.prototype.subarray));Z.prototype._push=function(t,r,n){return this.tail=this.tail.next=new t0(t,r,n),this.len+=r,this};function yo(e,t,r){t[r]=e&255}function Kc(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function go(e,t){this.len=e,this.next=void 0,this.val=t}go.prototype=Object.create(t0.prototype);go.prototype.fn=Kc;Z.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new go((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};Z.prototype.int32=function(t){return t<0?this._push(mo,10,r1.fromNumber(t)):this.uint32(t)};Z.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function mo(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}Z.prototype.uint64=function(t){var r=r1.from(t);return this._push(mo,r.length(),r)};Z.prototype.int64=Z.prototype.uint64;Z.prototype.sint64=function(t){var r=r1.from(t).zzEncode();return this._push(mo,r.length(),r)};Z.prototype.bool=function(t){return this._push(yo,1,t?1:0)};function ho(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}Z.prototype.fixed32=function(t){return this._push(ho,4,t>>>0)};Z.prototype.sfixed32=Z.prototype.fixed32;Z.prototype.fixed64=function(t){var r=r1.from(t);return this._push(ho,4,r.lo)._push(ho,4,r.hi)};Z.prototype.sfixed64=Z.prototype.fixed64;Z.prototype.float=function(t){return this._push(oe.float.writeFloatLE,4,t)};Z.prototype.double=function(t){return this._push(oe.float.writeDoubleLE,8,t)};var Vc=oe.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};Z.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(yo,1,0);if(oe.isString(t)){var n=Z.alloc(r=Na.length(t));Na.decode(t,n,0),t=n}return this.uint32(r)._push(Vc,r,t)};Z.prototype.string=function(t){var r=Da.length(t);return r?this.uint32(r)._push(Da.write,r,t):this._push(yo,1,0)};Z.prototype.fork=function(){return this.states=new Mc(this),this.head=this.tail=new t0(po,0,0),this.len=0,this};Z.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new t0(po,0,0),this.len=0),this};Z.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};Z.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};Z._configure=function(e){lo=e,Z.create=Fa(),lo._configure()}});var Ka=O((wd,Ma)=>{"use strict";Ma.exports=Te;var Ua=vo();(Te.prototype=Object.create(Ua.prototype)).constructor=Te;var lr=Lr();function Te(){Ua.call(this)}Te._configure=function(){Te.alloc=lr._Buffer_allocUnsafe,Te.writeBytesBuffer=lr.Buffer&&lr.Buffer.prototype instanceof Uint8Array&&lr.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};Te.prototype.bytes=function(t){lr.isString(t)&&(t=lr._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(Te.writeBytesBuffer,r,t),this};function qc(e,t,r){e.length<40?lr.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}Te.prototype.string=function(t){var r=lr.Buffer.byteLength(t);return this.uint32(r),r&&this._push(qc,r,t),this};Te._configure()});var r3=O((oy,e3)=>{e3.exports=Co;var t3=128,tu=127,eu=~tu,ru=Math.pow(2,31);function Co(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw Co.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=ru;)t[r++]=e&255|t3,e/=128;for(;e&eu;)t[r++]=e&255|t3,e>>>=7;return t[r]=e|0,Co.bytes=r-n+1,t}});var o3=O((sy,i3)=>{i3.exports=_o;var nu=128,n3=127;function _o(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a||i>49)throw _o.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&n3)<<i:(s&n3)*Math.pow(2,i),i+=7}while(s>=nu);return _o.bytes=o-n,r}});var a3=O((ay,s3)=>{var iu=Math.pow(2,7),ou=Math.pow(2,14),su=Math.pow(2,21),au=Math.pow(2,28),cu=Math.pow(2,35),uu=Math.pow(2,42),fu=Math.pow(2,49),lu=Math.pow(2,56),hu=Math.pow(2,63);s3.exports=function(e){return e<iu?1:e<ou?2:e<su?3:e<au?4:e<cu?5:e<uu?6:e<fu?7:e<lu?8:e<hu?9:10}});var i0=O((cy,c3)=>{c3.exports={encode:r3(),decode:o3(),encodingLength:a3()}});var V3=O((Um,K3)=>{"use strict";function M3(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function rf(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return M3(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),M3(new i,r)}}K3.exports=rf});var rt=O((nv,z3)=>{z3.exports={options:{usePureJavaScript:!1}}});var G3=O((iv,$3)=>{var Go={};$3.exports=Go;var H3={};Go.encode=function(e,t,r){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(e instanceof Uint8Array))n=sf(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,u=e[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
3
- `)}return n};Go.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=H3[t];if(!r){r=H3[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function sf(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=t[o[r]];return c}});var Ct=O((ov,Z3)=>{var Q3=rt(),W3=G3(),x=Z3.exports=Q3.util=Q3.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];x.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=x.setImmediate;x.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};x.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};x.isArrayBufferView=function(e){return e&&x.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function u0(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}x.ByteBuffer=Qo;function Qo(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(x.isArrayBuffer(e)||x.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof Qo||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}x.ByteStringBuffer=Qo;var af=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>af&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};x.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};x.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};x.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(x.encodeUtf8(e))};x.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};x.ByteStringBuffer.prototype.putInt=function(e,t){u0(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};x.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};x.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};x.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e};x.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};x.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};x.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e};x.ByteStringBuffer.prototype.getInt=function(e){u0(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};x.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};x.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};x.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};x.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};x.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var e=x.createBuffer(this.data);return e.read=this.read,e};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function cf(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=x.isArrayBuffer(e),n=x.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}x.DataBuffer=cf;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};x.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};x.DataBuffer.prototype.putBytes=function(e,t){if(x.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(x.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof x.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&x.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof x.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=x.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};x.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};x.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};x.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(e,t){u0(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};x.DataBuffer.prototype.putSignedInt=function(e,t){return u0(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};x.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};x.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};x.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};x.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};x.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};x.DataBuffer.prototype.getInt=function(e){u0(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};x.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};x.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};x.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};x.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};x.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};x.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return x.binary.raw.encode(t);if(e==="hex")return x.binary.hex.encode(t);if(e==="base64")return x.binary.base64.encode(t);if(e==="utf8")return x.text.utf8.decode(t);if(e==="utf16")return x.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};x.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=x.encodeUtf8(e)),new x.ByteBuffer(e)};x.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};x.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};x.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};x.bytesToHex=function(e){return x.createBuffer(e).toHex()};x.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var dr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",yr=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],Y3="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=dr.charAt(i>>2),r+=dr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=dr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":dr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
4
- `,r=r.substr(t));return n+=r,n};x.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=yr[e.charCodeAt(s++)-43],n=yr[e.charCodeAt(s++)-43],i=yr[e.charCodeAt(s++)-43],o=yr[e.charCodeAt(s++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(t+=String.fromCharCode((i&3)<<6|o)));return t};x.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};x.decodeUtf8=function(e){return decodeURIComponent(escape(e))};x.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:W3.encode,decode:W3.decode}};x.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};x.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};x.binary.hex.encode=x.bytesToHex;x.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,o=r;for(e.length&1&&(i=1,n[o++]=parseInt(e[0],16));i<e.length;i+=2)n[o++]=parseInt(e.substr(i,2),16);return t?o-r:n};x.binary.base64.encode=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.byteLength;)i=e[a++],o=e[a++],s=e[a++],r+=dr.charAt(i>>2),r+=dr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=dr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":dr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
5
- `,r=r.substr(t));return n+=r,n};x.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<e.length;)i=yr[e.charCodeAt(c++)-43],o=yr[e.charCodeAt(c++)-43],s=yr[e.charCodeAt(c++)-43],a=yr[e.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return t?u-r:n.subarray(0,u)};x.binary.base58.encode=function(e,t){return x.binary.baseN.encode(e,Y3,t)};x.binary.base58.decode=function(e,t){return x.binary.baseN.decode(e,Y3,t)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(e,t,r){e=x.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};x.text.utf8.decode=function(e){return x.decodeUtf8(String.fromCharCode.apply(null,e))};x.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};x.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};x.deflate=function(e,t,r){if(t=x.decode64(e.deflate(x.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};x.inflate=function(e,t,r){var n=e.inflate(x.encode64(t)).rval;return n===null?null:x.decode64(n)};var Wo=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=x.encode64(JSON.stringify(r)),n=e.setItem(t,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Yo=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(x.decode64(r))),r},uf=function(e,t,r,n){var i=Yo(e,t);i===null&&(i={}),i[r]=n,Wo(e,t,i)},ff=function(e,t,r){var n=Yo(e,t);return n!==null&&(n=r in n?n[r]:null),n},lf=function(e,t,r){var n=Yo(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Wo(e,t,n)}},hf=function(e,t){Wo(e,t,null)},v1=function(e,t,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};x.setItem=function(e,t,r,n,i){v1(uf,arguments,i)};x.getItem=function(e,t,r,n){return v1(ff,arguments,n)};x.removeItem=function(e,t,r,n){v1(lf,arguments,n)};x.clearItems=function(e,t,r){v1(hf,arguments,r)};x.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};x.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(e.substring(s)),o.join("")};x.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};x.formatSize=function(e){return e>=1073741824?e=x.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=x.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=x.formatNumber(e/1024,0)+" KiB":e=x.formatNumber(e,0)+" bytes",e};x.bytesFromIP=function(e){return e.indexOf(".")!==-1?x.bytesFromIPv4(e):e.indexOf(":")!==-1?x.bytesFromIPv6(e):null};x.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=x.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};x.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=x.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=x.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};x.bytesToIP=function(e){return e.length===4?x.bytesToIPv4(e):e.length===16?x.bytesToIPv6(e):null};x.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};x.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=x.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}t.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};x.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in x&&!e.update)return t(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,t(null,x.cores);if(typeof Worker>"u")return x.cores=1,t(null,x.cores);if(typeof Blob>"u")return x.cores=2,t(null,x.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return x.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,x.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(d){if(u.push(d.data),u.length===s){for(var p=0;p<s;++p)c[p].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],d=0;d<s;++d)if(u!==d){var p=a[d];(f.st>p.st&&f.st<p.et||p.st>f.st&&p.st<f.et)&&l.push(d)}return c.reduce(function(h,y){return Math.max(h,y.length)},0)}}});var Xo=O((sv,X3)=>{var Ft=rt();Ct();X3.exports=Ft.cipher=Ft.cipher||{};Ft.cipher.algorithms=Ft.cipher.algorithms||{};Ft.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ft.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ft.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ft.cipher.algorithms[e]=t};Ft.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ft.cipher.algorithms?Ft.cipher.algorithms[e]:null};var Zo=Ft.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};Zo.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ft.util.createBuffer(),this.output=e.output||Ft.util.createBuffer(),this.mode.start(t)};Zo.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Zo.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var Jo=O((av,j3)=>{var Ot=rt();Ct();Ot.cipher=Ot.cipher||{};var z=j3.exports=Ot.cipher.modes=Ot.cipher.modes||{};z.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};z.ecb.prototype.start=function(e){};z.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};z.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};z.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};z.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};z.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};z.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=x1(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};z.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};z.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};z.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};z.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};z.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};z.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=x1(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};z.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=x1(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.ofb.prototype.decrypt=z.ofb.prototype.encrypt;z.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};z.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=x1(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}w1(this._inBlock)};z.ctr.prototype.decrypt=z.ctr.prototype.encrypt;z.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0,this._R=3774873600};z.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Ot.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ot.util.createBuffer(e.additionalData):r=Ot.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ot.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(jo(n*8)))}this._inBlock=this._j0.slice(0),w1(this._inBlock),this._partialBytes=0,r=Ot.util.createBuffer(r),this._aDataLength=jo(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};z.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=e.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),w1(this._inBlock)};z.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),w1(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};z.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Ot.util.createBuffer();var n=this._aDataLength.concat(jo(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};z.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};z.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};z.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};z.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};z.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*t;a[c]=1<<t-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};z.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function x1(e,t){if(typeof e=="string"&&(e=Ot.util.createBuffer(e)),Ot.util.isArray(e)&&e.length>4){var r=e;e=Ot.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Ot.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function w1(e){e[e.length-1]=e[e.length-1]+1&4294967295}function jo(e){return[e/4294967296|0,e&4294967295]}});var E1=O((cv,r4)=>{var st=rt();Xo();Jo();Ct();r4.exports=st.aes=st.aes||{};st.aes.startEncrypting=function(e,t,r,n){var i=b1({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};st.aes.createEncryptionCipher=function(e,t){return b1({key:e,output:null,decrypt:!1,mode:t})};st.aes.startDecrypting=function(e,t,r,n){var i=b1({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};st.aes.createDecryptionCipher=function(e,t){return b1({key:e,output:null,decrypt:!0,mode:t})};st.aes.Algorithm=function(e,t){rs||t4();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return es(r._w,n,i,!1)},decrypt:function(n,i){return es(r._w,n,i,!0)}}}),r._init=!1};st.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=st.util.createBuffer(t);else if(st.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=st.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!st.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!st.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=e4(t,e.decrypt&&!s),this._init=!0}};st.aes._expandKey=function(e,t){return rs||t4(),e4(e,t)};st.aes._updateBlock=es;Cn("AES-ECB",st.cipher.modes.ecb);Cn("AES-CBC",st.cipher.modes.cbc);Cn("AES-CFB",st.cipher.modes.cfb);Cn("AES-OFB",st.cipher.modes.ofb);Cn("AES-CTR",st.cipher.modes.ctr);Cn("AES-GCM",st.cipher.modes.gcm);function Cn(e,t){var r=function(){return new st.aes.Algorithm(e,t)};st.cipher.registerAlgorithm(e,r)}var rs=!1,In=4,zt,ts,J3,Kr,xe;function t4(){rs=!0,J3=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;zt=new Array(256),ts=new Array(256),Kr=new Array(4),xe=new Array(4);for(var t=0;t<4;++t)Kr[t]=new Array(256),xe[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,zt[r]=a,ts[a]=r,c=e[a],i=e[r],o=e[i],s=e[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)Kr[l][r]=u,xe[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function e4(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=In*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=zt[n>>>16&255]<<24^zt[n>>>8&255]<<16^zt[n&255]<<8^zt[n>>>24]^J3[i]<<24,i++):o>6&&c%o===4&&(n=zt[n>>>24]<<24^zt[n>>>16&255]<<16^zt[n>>>8&255]<<8^zt[n&255]),r[c]=r[c-o]^n;if(t){var u,f=xe[0],l=xe[1],d=xe[2],p=xe[3],h=r.slice(0);a=r.length;for(var c=0,y=a-In;c<a;c+=In,y-=In)if(c===0||c===a-In)h[c]=r[y],h[c+1]=r[y+3],h[c+2]=r[y+2],h[c+3]=r[y+1];else for(var g=0;g<In;++g)u=r[y+g],h[c+(3&-g)]=f[zt[u>>>24]]^l[zt[u>>>16&255]]^d[zt[u>>>8&255]]^p[zt[u&255]];r=h}return r}function es(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=xe[0],s=xe[1],a=xe[2],c=xe[3],u=ts):(o=Kr[0],s=Kr[1],a=Kr[2],c=Kr[3],u=zt);var f,l,d,p,h,y,g;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],p=t[n?1:3]^e[3];for(var m=3,v=1;v<i;++v)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^c[p&255]^e[++m],y=o[l>>>24]^s[d>>>16&255]^a[p>>>8&255]^c[f&255]^e[++m],g=o[d>>>24]^s[p>>>16&255]^a[f>>>8&255]^c[l&255]^e[++m],p=o[p>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[d&255]^e[++m],f=h,l=y,d=g;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^e[++m],r[n?3:1]=u[l>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[f&255]^e[++m],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++m],r[n?1:3]=u[p>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[d&255]^e[++m]}function b1(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=st.cipher.createDecipher(r,e.key):n=st.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof st.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var S1=O((wv,s4)=>{var f0=rt();f0.pki=f0.pki||{};var ns=s4.exports=f0.pki.oids=f0.oids=f0.oids||{};function I(e,t){ns[e]=t,ns[t]=e}function et(e,t){ns[e]=t}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");et("2.5.29.1","authorityKeyIdentifier");et("2.5.29.2","keyAttributes");et("2.5.29.3","certificatePolicies");et("2.5.29.4","keyUsageRestriction");et("2.5.29.5","policyMapping");et("2.5.29.6","subtreesConstraint");et("2.5.29.7","subjectAltName");et("2.5.29.8","issuerAltName");et("2.5.29.9","subjectDirectoryAttributes");et("2.5.29.10","basicConstraints");et("2.5.29.11","nameConstraints");et("2.5.29.12","policyConstraints");et("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");et("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");et("2.5.29.20","cRLNumber");et("2.5.29.21","cRLReason");et("2.5.29.22","expirationDate");et("2.5.29.23","instructionCode");et("2.5.29.24","invalidityDate");et("2.5.29.25","cRLDistributionPoints");et("2.5.29.26","issuingDistributionPoint");et("2.5.29.27","deltaCRLIndicator");et("2.5.29.28","issuingDistributionPoint");et("2.5.29.29","certificateIssuer");et("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");et("2.5.29.33","policyMappings");et("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");et("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");et("2.5.29.46","freshestCRL");et("2.5.29.54","inhibitAnyPolicy");I("1.3.6.1.4.1.11129.2.4.2","timestampList");I("1.3.6.1.5.5.7.1.1","authorityInfoAccess");I("1.3.6.1.5.5.7.3.1","serverAuth");I("1.3.6.1.5.5.7.3.2","clientAuth");I("1.3.6.1.5.5.7.3.3","codeSigning");I("1.3.6.1.5.5.7.3.4","emailProtection");I("1.3.6.1.5.5.7.3.8","timeStamping")});var h0=O((bv,c4)=>{var ct=rt();Ct();S1();var T=c4.exports=ct.asn1=ct.asn1||{};T.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};T.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};T.create=function(e,t,r,n,i){if(ct.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:e,type:t,constructed:r,composed:r||ct.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=T.copy(a)),a};T.copy=function(e,t){var r;if(ct.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(T.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:T.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};T.equals=function(e,t,r){if(ct.util.isArray(e)){if(!ct.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!T.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&T.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};T.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function l0(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var vf=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;l0(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};T.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=ct.util.createBuffer(e));var r=e.length(),n=A1(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function A1(e,t,r,n){var i;l0(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=vf(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,d=(o&32)===32;if(d)if(f=[],c===void 0)for(;;){if(l0(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),f.push(A1(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(A1(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&s===T.Class.UNIVERSAL&&a===T.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===T.Class.UNIVERSAL&&a===T.Type.BITSTRING&&c>1){var p=e.read,h=t,y=0;if(a===T.Type.BITSTRING&&(l0(e,t,1),y=e.getByte(),t--),y===0)try{i=e.length();var g={strict:!0,decodeBitStrings:!0},m=A1(e,t,r+1,g),v=i-e.length();t-=v,a==T.Type.BITSTRING&&v++;var b=m.tagClass;v===c&&(b===T.Class.UNIVERSAL||b===T.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(e.read=p,t=h)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===T.Type.BMPSTRING)for(f="";c>0;c-=2)l0(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var k=l===void 0?null:{bitStringContents:l};return T.create(s,a,d,f,k)}T.toDer=function(e){var t=ct.util.createBuffer(),r=e.tagClass|e.type,n=ct.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=T.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(T.toDer(e.value[o]))}else if(e.type===T.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===T.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};T.oidToDer=function(e){var t=e.split("."),r=ct.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};T.derToOid=function(e){var t;typeof e=="string"&&(e=ct.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};T.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),d=f*60+l;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};T.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var p=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);u=p*60+h,u*=6e4,d==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};T.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};T.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};T.integerToDer=function(e){var t=ct.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};T.derToInteger=function(e){typeof e=="string"&&(e=ct.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};T.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&ct.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=T.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var a4=/[^\\u0000-\\u00ff]/;T.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
6
- `);for(var i="",o=0;o<t*r;++o)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case T.Class.UNIVERSAL:n+="Universal:";break;case T.Class.APPLICATION:n+="Application:";break;case T.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case T.Class.PRIVATE:n+="Private:";break}if(e.tagClass===T.Class.UNIVERSAL)switch(n+=e.type,e.type){case T.Type.NONE:n+=" (None)";break;case T.Type.BOOLEAN:n+=" (Boolean)";break;case T.Type.INTEGER:n+=" (Integer)";break;case T.Type.BITSTRING:n+=" (Bit string)";break;case T.Type.OCTETSTRING:n+=" (Octet string)";break;case T.Type.NULL:n+=" (Null)";break;case T.Type.OID:n+=" (Object Identifier)";break;case T.Type.ODESC:n+=" (Object Descriptor)";break;case T.Type.EXTERNAL:n+=" (External or Instance of)";break;case T.Type.REAL:n+=" (Real)";break;case T.Type.ENUMERATED:n+=" (Enumerated)";break;case T.Type.EMBEDDED:n+=" (Embedded PDV)";break;case T.Type.UTF8:n+=" (UTF8)";break;case T.Type.ROID:n+=" (Relative Object Identifier)";break;case T.Type.SEQUENCE:n+=" (Sequence)";break;case T.Type.SET:n+=" (Set)";break;case T.Type.PRINTABLESTRING:n+=" (Printable String)";break;case T.Type.IA5String:n+=" (IA5String (ASCII))";break;case T.Type.UTCTIME:n+=" (UTC time)";break;case T.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case T.Type.BMPSTRING:n+=" (BMP String)";break}else n+=e.type;if(n+=`
7
- `,n+=i+"Constructed: "+e.constructed+`
8
- `,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=T.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===T.Type.OID){var c=T.derToOid(e.value);n+=c,ct.pki&&ct.pki.oids&&c in ct.pki.oids&&(n+=" ("+ct.pki.oids[c]+") ")}if(e.type===T.Type.INTEGER)try{n+=T.derToInteger(e.value)}catch{n+="0x"+ct.util.bytesToHex(e.value)}else if(e.type===T.Type.BITSTRING){if(e.value.length>1?n+="0x"+ct.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===T.Type.OCTETSTRING)a4.test(e.value)||(n+="("+e.value+") "),n+="0x"+ct.util.bytesToHex(e.value);else if(e.type===T.Type.UTF8)try{n+=ct.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ct.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===T.Type.PRINTABLESTRING||e.type===T.Type.IA5String?n+=e.value:a4.test(e.value)?n+="0x"+ct.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var l4=O((Ev,f4)=>{var dt=rt();Xo();Jo();Ct();f4.exports=dt.des=dt.des||{};dt.des.startEncrypting=function(e,t,r,n){var i=I1({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};dt.des.createEncryptionCipher=function(e,t){return I1({key:e,output:null,decrypt:!1,mode:t})};dt.des.startDecrypting=function(e,t,r,n){var i=I1({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};dt.des.createDecryptionCipher=function(e,t){return I1({key:e,output:null,decrypt:!0,mode:t})};dt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return u4(r._keys,n,i,!1)},decrypt:function(n,i){return u4(r._keys,n,i,!0)}}}),r._init=!1};dt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=dt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=_f(t),this._init=!0}};De("DES-ECB",dt.cipher.modes.ecb);De("DES-CBC",dt.cipher.modes.cbc);De("DES-CFB",dt.cipher.modes.cfb);De("DES-OFB",dt.cipher.modes.ofb);De("DES-CTR",dt.cipher.modes.ctr);De("3DES-ECB",dt.cipher.modes.ecb);De("3DES-CBC",dt.cipher.modes.cbc);De("3DES-CFB",dt.cipher.modes.cfb);De("3DES-OFB",dt.cipher.modes.ofb);De("3DES-CTR",dt.cipher.modes.ctr);function De(e,t){var r=function(){return new dt.des.Algorithm(e,t)};dt.cipher.registerAlgorithm(e,r)}var xf=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],wf=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],bf=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],Ef=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],Sf=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],Af=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],If=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],Cf=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function _f(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=e.length()>8?3:1,g=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],v=0,b,k=0;k<y;k++){var B=e.getInt32(),C=e.getInt32();b=(B>>>4^C)&252645135,C^=b,B^=b<<4,b=(C>>>-16^B)&65535,B^=b,C^=b<<-16,b=(B>>>2^C)&858993459,C^=b,B^=b<<2,b=(C>>>-16^B)&65535,B^=b,C^=b<<-16,b=(B>>>1^C)&1431655765,C^=b,B^=b<<1,b=(C>>>8^B)&16711935,B^=b,C^=b<<8,b=(B>>>1^C)&1431655765,C^=b,B^=b<<1,b=B<<8|C>>>20&240,B=C<<24|C<<8&16711680|C>>>8&65280|C>>>24&240,C=b;for(var V=0;V<m.length;++V){m[V]?(B=B<<2|B>>>26,C=C<<2|C>>>26):(B=B<<1|B>>>27,C=C<<1|C>>>27),B&=-15,C&=-15;var $=t[B>>>28]|r[B>>>24&15]|n[B>>>20&15]|i[B>>>16&15]|o[B>>>12&15]|s[B>>>8&15]|a[B>>>4&15],kt=c[C>>>28]|u[C>>>24&15]|f[C>>>20&15]|l[C>>>16&15]|d[C>>>12&15]|p[C>>>8&15]|h[C>>>4&15];b=(kt>>>16^$)&65535,g[v++]=$^b,g[v++]=kt^b<<16}}return g}function u4(e,t,r,n){var i=e.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=t[0],c=t[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],d=o[u];d!=f;d+=l){var p=c^e[d],h=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^(wf[p>>>24&63]|Ef[p>>>16&63]|Af[p>>>8&63]|Cf[p&63]|xf[h>>>24&63]|bf[h>>>16&63]|Sf[h>>>8&63]|If[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function I1(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=dt.cipher.createDecipher(r,e.key):n=dt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof dt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Vr=O((Sv,h4)=>{var C1=rt();h4.exports=C1.md=C1.md||{};C1.md.algorithms=C1.md.algorithms||{}});var d4=O((Av,p4)=>{var Ze=rt();Vr();Ct();var Bf=p4.exports=Ze.hmac=Ze.hmac||{};Bf.create=function(){var e=null,t=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in Ze.md.algorithms)t=Ze.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=Ze.util.createBuffer(s);else if(Ze.util.isArray(s)){var a=s;s=Ze.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=Ze.util.createBuffer(),n=Ze.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var _n=O(()=>{});var is=O((_v,y4)=>{var Ht=rt();d4();Vr();Ct();var Tf=Ht.pkcs5=Ht.pkcs5||{},Xe;Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&(Xe=_n());y4.exports=Ht.pbkdf2=Tf.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&Xe.pbkdf2&&(i===null||typeof i!="object")&&(Xe.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?Xe.pbkdf2Sync.length===4?Xe.pbkdf2(e,t,r,n,function(b,k){if(b)return o(b);o(null,k.toString("binary"))}):Xe.pbkdf2(e,t,r,n,i,function(b,k){if(b)return o(b);o(null,k.toString("binary"))}):Xe.pbkdf2Sync.length===4?Xe.pbkdf2Sync(e,t,r,n).toString("binary"):Xe.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Ht.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Ht.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=Ht.hmac.create();f.start(i,e);var l="",d,p,h;if(!o){for(var y=1;y<=c;++y){f.start(null,null),f.update(t),f.update(Ht.util.int32ToBytes(y)),d=h=f.digest().getBytes();for(var g=2;g<=r;++g)f.start(null,null),f.update(h),p=f.digest().getBytes(),d=Ht.util.xorBytes(d,p,s),h=p;l+=y<c?d:d.substr(0,u)}return l}var y=1,g;function m(){if(y>c)return o(null,l);f.start(null,null),f.update(t),f.update(Ht.util.int32ToBytes(y)),d=h=f.digest().getBytes(),g=2,v()}function v(){if(g<=r)return f.start(null,null),f.update(h),p=f.digest().getBytes(),d=Ht.util.xorBytes(d,p,s),h=p,++g,Ht.util.setImmediate(v);l+=y<c?d:d.substr(0,u),++y,m()}m()}});var v4=O((Bv,m4)=>{var B1=rt();Ct();var g4=m4.exports=B1.pem=B1.pem||{};g4.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
9
- `,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=_1(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=_1(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=_1(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=_1(e.headers[i]);return e.procType&&(r+=`\r
10
- `),r+=B1.util.encode64(e.body,t.maxline||64)+`\r
11
- `,r+="-----END "+e.type+`-----\r
12
- `,r};g4.decode=function(e){for(var t=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(e),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:B1.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var d=c[l];if(!/\s/.test(d[0]))break;f+=d,u=l}if(o=f.match(n),o){for(var p={name:o[1],values:[]},h=o[2].split(","),y=0;y<h.length;++y)p.values.push(Rf(h[y]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&p.name==="DEK-Info"){if(p.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(p);else{if(p.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(p.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function _1(e){for(var t=e.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
13
- `;for(var o=0,s=-1,i=0;i<t.length;++i,++o)if(o>65&&s!==-1){var a=t[s];a===","?(++s,t=t.substr(0,s)+`\r
14
- `+t.substr(s)):t=t.substr(0,s)+`\r
15
- `+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function Rf(e){return e.replace(/^\s+/,"")}});var A4=O((Tv,S4)=>{var Fe=rt();Vr();Ct();var w4=S4.exports=Fe.sha256=Fe.sha256||{};Fe.md.sha256=Fe.md.algorithms.sha256=w4;w4.create=function(){b4||Pf();var e=null,t=Fe.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Fe.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Fe.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),x4(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Fe.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(os.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};x4(l,r,i);var d=Fe.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var os=null,b4=!1,E4=null;function Pf(){os=String.fromCharCode(128),os+=Fe.util.fillString(String.fromCharCode(0),64),E4=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],b4=!0}function x4(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,p,h,y,g,m,v=r.length();v>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(f=e.h0,l=e.h1,d=e.h2,p=e.h3,h=e.h4,y=e.h5,g=e.h6,m=e.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(y^g),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|d&(f^l),n=m+s+a+E4[u]+t[u],i=o+c,m=g,g=y,y=h,h=p+n>>>0,p=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+p|0,e.h4=e.h4+h|0,e.h5=e.h5+y|0,e.h6=e.h6+g|0,e.h7=e.h7+m|0,v-=64}}});var C4=O((Rv,I4)=>{var Oe=rt();Ct();var T1=null;Oe.util.isNodejs&&!Oe.options.usePureJavaScript&&!process.versions["node-webkit"]&&(T1=_n());var kf=I4.exports=Oe.prng=Oe.prng||{};kf.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,d=t.plugin.increment,p=t.plugin.formatKey,h=t.plugin.formatSeed,y=Oe.util.createBuffer();t.key=null,g();function g(m){if(m)return f(m);if(y.length()>=u)return f(null,y.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return Oe.util.nextTick(function(){o(g)});var v=l(t.key,t.seed);t.generated+=v.length,y.putBytes(v),t.key=p(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Oe.util.setImmediate(g)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,p=t.plugin.formatSeed;t.key=null;for(var h=Oe.util.createBuffer();h.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var y=f(t.key,t.seed);t.generated+=y.length,h.putBytes(y),t.key=d(f(t.key,l(t.seed))),t.seed=p(f(t.key,t.seed))}return h.getBytes(u)};function o(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,d){if(l)return u(l);t.collect(d),a(),u()})}function s(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var f=null,l=Oe.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(B){return d.getRandomValues(B)});var p=Oe.util.createBuffer();if(f)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),y=new Uint32Array(Math.floor(h));try{f(y);for(var g=0;g<y.length;++g)p.putInt32(y[g])}catch(B){if(!(typeof QuotaExceededError<"u"&&B instanceof QuotaExceededError))throw B}}if(p.length()<u)for(var m,v,b,k=Math.floor(Math.random()*65536);p.length()<u;){v=16807*(k&65535),m=16807*(k>>16),v+=(m&32767)<<16,v+=m>>15,v=(v&2147483647)+(v>>31),k=v&4294967295;for(var g=0;g<3;++g)b=k>>>(g<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(u)}return T1?(t.seedFile=function(u,f){T1.randomBytes(u,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(u){return T1.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",d=0;d<f;d+=8)l+=String.fromCharCode(u>>d&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,d){function p(h){var y=h.data;y.forge&&y.forge.prng&&(self.removeEventListener("message",p),d(y.forge.prng.err,y.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(p,h){u.postMessage({forge:{prng:{err:p,bytes:h}}})})};u.addEventListener("message",f)}},t}});var p0=O((Pv,ss)=>{var Ut=rt();E1();A4();C4();Ct();(function(){if(Ut.random&&Ut.random.getBytes){ss.exports=Ut.random;return}(function(e){var t={},r=new Array(4),n=Ut.util.createBuffer();t.formatKey=function(l){var d=Ut.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Ut.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Ut.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Ut.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Ut.md.sha256;function i(){var l=Ut.prng.create(t);return l.getBytes=function(d,p){return l.generate(d,p)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Ut.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Ut.options.usePureJavaScript||!Ut.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Ut.random)Ut.random=o;else for(var f in o)Ut.random[f]=o[f];Ut.random.createInstance=i,ss.exports=Ut.random})(typeof jQuery<"u"?jQuery:null)})()});var R4=O((kv,T4)=>{var Wt=rt();Ct();var as=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],_4=[1,2,3,5],Lf=function(e,t){return e<<t&65535|(e&65535)>>16-t},Nf=function(e,t){return(e&65535)>>t|e<<16-t&65535};T4.exports=Wt.rc2=Wt.rc2||{};Wt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Wt.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(as[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,as[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,as[r.at(a+1)^r.at(a+o)]);return r};var B4=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(e=Wt.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=Lf(h[u],_4[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=Nf(h[u],_4[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var d=function(h){var y=[];for(u=0;u<4;u++){var g=i.getInt16Le();s!==null&&(r?g^=s.getInt16Le():s.putInt16Le(g)),y.push(g&65535)}f=r?0:63;for(var m=0;m<h.length;m++)for(var v=0;v<h[m][0];v++)h[m][1](y);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(y[u]):y[u]^=s.getInt16Le()),o.putInt16Le(y[u])},p=null;return p={start:function(h,y){h&&typeof h=="string"&&(h=Wt.util.createBuffer(h)),n=!1,i=Wt.util.createBuffer(),o=y||new Wt.util.createBuffer,s=h,p.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var y=!0;if(r)if(h)y=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(y&&(n=!0,p.update()),!r&&(y=i.length()===0,y))if(h)y=h(8,o,!r);else{var m=o.length(),v=o.at(m-1);v>m?y=!1:o.truncate(v)}return y}},p};Wt.rc2.startEncrypting=function(e,t,r){var n=Wt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Wt.rc2.createEncryptionCipher=function(e,t){return B4(e,t,!0)};Wt.rc2.startDecrypting=function(e,t,r){var n=Wt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Wt.rc2.createDecryptionCipher=function(e,t){return B4(e,t,!1)}});var k1=O((Lv,U4)=>{var cs=rt();U4.exports=cs.jsbn=cs.jsbn||{};var je,Df=0xdeadbeefcafe,P4=(Df&16777215)==15715070;function S(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}cs.jsbn.BigInteger=S;function X(){return new S(null)}function Ff(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function Of(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,u=this.data[e++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function k4(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,u=this.data[e++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=k4,je=28):P4&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=Of,je=30):P4&&navigator.appName!="Netscape"?(S.prototype.am=Ff,je=26):(S.prototype.am=k4,je=28);S.prototype.DB=je;S.prototype.DM=(1<<je)-1;S.prototype.DV=1<<je;var us=52;S.prototype.FV=Math.pow(2,us);S.prototype.F1=us-je;S.prototype.F2=2*je-us;var Uf="0123456789abcdefghijklmnopqrstuvwxyz",R1=new Array,Bn,se;Bn="0".charCodeAt(0);for(se=0;se<=9;++se)R1[Bn++]=se;Bn="a".charCodeAt(0);for(se=10;se<36;++se)R1[Bn++]=se;Bn="A".charCodeAt(0);for(se=10;se<36;++se)R1[Bn++]=se;function L4(e){return Uf.charAt(e)}function N4(e,t){var r=R1[e.charCodeAt(t)];return r??-1}function Mf(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function Kf(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function gr(e){var t=X();return t.fromInt(e),t}function Vf(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:N4(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&S.ZERO.subTo(this,this)}function qf(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function zf(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=L4(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=L4(n));return i?o:"0"}function Hf(){var e=X();return S.ZERO.subTo(this,e),e}function $f(){return this.s<0?this.negate():this}function Gf(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function P1(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function Qf(){return this.t<=0?0:this.DB*(this.t-1)+P1(this.data[this.t-1]^this.s&this.DM)}function Wf(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Yf(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Zf(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function Xf(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function jf(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Jf(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&S.ZERO.subTo(t,t)}function t7(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function e7(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=X());var o=X(),s=this.s,a=e.s,c=this.DB-P1(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),d=this.FV/l,p=(1<<this.F1)/l,h=1<<this.F2,y=r.t,g=y-u,m=t??X();for(o.dlShiftTo(g,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),S.ONE.dlShiftTo(u,m),m.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--g>=0;){var v=r.data[--y]==f?this.DM:Math.floor(r.data[y]*d+(r.data[y-1]+h)*p);if((r.data[y]+=o.am(0,v,r,g,0,u))<v)for(o.dlShiftTo(g,m),r.subTo(m,r);r.data[y]<--v;)r.subTo(m,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&S.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&S.ZERO.subTo(r,r)}}}function r7(e){var t=X();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(S.ZERO)>0&&e.subTo(t,t),t}function qr(e){this.m=e}function n7(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function i7(e){return e}function o7(e){e.divRemTo(this.m,null,e)}function s7(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function a7(e,t){e.squareTo(t),this.reduce(t)}qr.prototype.convert=n7;qr.prototype.revert=i7;qr.prototype.reduce=o7;qr.prototype.mulTo=s7;qr.prototype.sqrTo=a7;function c7(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function zr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function u7(e){var t=X();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(S.ZERO)>0&&this.m.subTo(t,t),t}function f7(e){var t=X();return e.copyTo(t),this.reduce(t),t}function l7(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function h7(e,t){e.squareTo(t),this.reduce(t)}function p7(e,t,r){e.multiplyTo(t,r),this.reduce(r)}zr.prototype.convert=u7;zr.prototype.revert=f7;zr.prototype.reduce=l7;zr.prototype.mulTo=p7;zr.prototype.sqrTo=h7;function d7(){return(this.t>0?this.data[0]&1:this.s)==0}function y7(e,t){if(e>4294967295||e<1)return S.ONE;var r=X(),n=X(),i=t.convert(this),o=P1(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function g7(e,t){var r;return e<256||t.isEven()?r=new qr(t):r=new zr(t),this.exp(e,r)}S.prototype.copyTo=Mf;S.prototype.fromInt=Kf;S.prototype.fromString=Vf;S.prototype.clamp=qf;S.prototype.dlShiftTo=Wf;S.prototype.drShiftTo=Yf;S.prototype.lShiftTo=Zf;S.prototype.rShiftTo=Xf;S.prototype.subTo=jf;S.prototype.multiplyTo=Jf;S.prototype.squareTo=t7;S.prototype.divRemTo=e7;S.prototype.invDigit=c7;S.prototype.isEven=d7;S.prototype.exp=y7;S.prototype.toString=zf;S.prototype.negate=Hf;S.prototype.abs=$f;S.prototype.compareTo=Gf;S.prototype.bitLength=Qf;S.prototype.mod=r7;S.prototype.modPowInt=g7;S.ZERO=gr(0);S.ONE=gr(1);function m7(){var e=X();return this.copyTo(e),e}function v7(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function x7(){return this.t==0?this.s:this.data[0]<<24>>24}function w7(){return this.t==0?this.s:this.data[0]<<16>>16}function b7(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function E7(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function S7(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=gr(r),i=X(),o=X(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function A7(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=N4(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&S.ZERO.subTo(this,this)}function I7(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(S.ONE.shiftLeft(e-1),fs,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(S.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function C7(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function _7(e){return this.compareTo(e)==0}function B7(e){return this.compareTo(e)<0?this:e}function T7(e){return this.compareTo(e)>0?this:e}function R7(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function P7(e,t){return e&t}function k7(e){var t=X();return this.bitwiseTo(e,P7,t),t}function fs(e,t){return e|t}function L7(e){var t=X();return this.bitwiseTo(e,fs,t),t}function D4(e,t){return e^t}function N7(e){var t=X();return this.bitwiseTo(e,D4,t),t}function F4(e,t){return e&~t}function D7(e){var t=X();return this.bitwiseTo(e,F4,t),t}function F7(){for(var e=X(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function O7(e){var t=X();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function U7(e){var t=X();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function M7(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function K7(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+M7(this.data[e]);return this.s<0?this.t*this.DB:-1}function V7(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function q7(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=V7(this.data[r]^t);return e}function z7(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function H7(e,t){var r=S.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function $7(e){return this.changeBit(e,fs)}function G7(e){return this.changeBit(e,F4)}function Q7(e){return this.changeBit(e,D4)}function W7(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Y7(e){var t=X();return this.addTo(e,t),t}function Z7(e){var t=X();return this.subTo(e,t),t}function X7(e){var t=X();return this.multiplyTo(e,t),t}function j7(e){var t=X();return this.divRemTo(e,t,null),t}function J7(e){var t=X();return this.divRemTo(e,null,t),t}function tl(e){var t=X(),r=X();return this.divRemTo(e,t,r),new Array(t,r)}function el(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function rl(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function d0(){}function O4(e){return e}function nl(e,t,r){e.multiplyTo(t,r)}function il(e,t){e.squareTo(t)}d0.prototype.convert=O4;d0.prototype.revert=O4;d0.prototype.mulTo=nl;d0.prototype.sqrTo=il;function ol(e){return this.exp(e,new d0)}function sl(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function al(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function Tn(e){this.r2=X(),this.q3=X(),S.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function cl(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=X();return e.copyTo(t),this.reduce(t),t}function ul(e){return e}function fl(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function ll(e,t){e.squareTo(t),this.reduce(t)}function hl(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Tn.prototype.convert=cl;Tn.prototype.revert=ul;Tn.prototype.reduce=fl;Tn.prototype.mulTo=hl;Tn.prototype.sqrTo=ll;function pl(e,t){var r=e.bitLength(),n,i=gr(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new qr(t):t.isEven()?o=new Tn(t):o=new zr(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=X();for(o.sqrTo(s[1],f);a<=u;)s[a]=X(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,p=!0,h=X(),y;for(r=P1(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&u:(d=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(d|=e.data[l-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),p)s[d].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(y=i,i=h,h=y),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),y=i,i=h,h=y,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function dl(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function yl(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function gl(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return S.ZERO;for(var r=e.clone(),n=this.clone(),i=gr(1),o=gr(0),s=gr(0),a=gr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var we=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],ml=(1<<26)/we[we.length-1];function vl(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=we[we.length-1]){for(t=0;t<we.length;++t)if(r.data[0]==we[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<we.length;){for(var n=we[t],i=t+1;i<we.length&&n<ml;)n*=we[i++];for(n=r.modInt(n);t<i;)if(n%we[t++]==0)return!1}return r.millerRabin(e)}function xl(e){var t=this.subtract(S.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=wl(),o,s=0;s<e;++s){do o=new S(this.bitLength(),i);while(o.compareTo(S.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function wl(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=b7;S.prototype.toRadix=S7;S.prototype.fromRadix=A7;S.prototype.fromNumber=I7;S.prototype.bitwiseTo=R7;S.prototype.changeBit=H7;S.prototype.addTo=W7;S.prototype.dMultiply=el;S.prototype.dAddOffset=rl;S.prototype.multiplyLowerTo=sl;S.prototype.multiplyUpperTo=al;S.prototype.modInt=yl;S.prototype.millerRabin=xl;S.prototype.clone=m7;S.prototype.intValue=v7;S.prototype.byteValue=x7;S.prototype.shortValue=w7;S.prototype.signum=E7;S.prototype.toByteArray=C7;S.prototype.equals=_7;S.prototype.min=B7;S.prototype.max=T7;S.prototype.and=k7;S.prototype.or=L7;S.prototype.xor=N7;S.prototype.andNot=D7;S.prototype.not=F7;S.prototype.shiftLeft=O7;S.prototype.shiftRight=U7;S.prototype.getLowestSetBit=K7;S.prototype.bitCount=q7;S.prototype.testBit=z7;S.prototype.setBit=$7;S.prototype.clearBit=G7;S.prototype.flipBit=Q7;S.prototype.add=Y7;S.prototype.subtract=Z7;S.prototype.multiply=X7;S.prototype.divide=j7;S.prototype.remainder=J7;S.prototype.divideAndRemainder=tl;S.prototype.modPow=pl;S.prototype.modInverse=gl;S.prototype.pow=ol;S.prototype.gcd=dl;S.prototype.isProbablePrime=vl});var z4=O((Nv,q4)=>{var Ue=rt();Vr();Ct();var K4=q4.exports=Ue.sha1=Ue.sha1||{};Ue.md.sha1=Ue.md.algorithms.sha1=K4;K4.create=function(){V4||bl();var e=null,t=Ue.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Ue.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ue.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),M4(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ue.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(ls.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};M4(l,r,i);var d=Ue.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var ls=null,V4=!1;function bl(){ls=String.fromCharCode(128),ls+=Ue.util.fillString(String.fromCharCode(0),64),V4=!0}function M4(e,t,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var G4=O((Dv,$4)=>{var Me=rt();Ct();p0();z4();var H4=$4.exports=Me.pkcs1=Me.pkcs1||{};H4.encode_rsa_oaep=function(e,t,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Me.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",d=c-t.length,p=0;p<d;p++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=Me.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var y=L1(i,a-o.digestLength-1,s),g=Me.util.xorBytes(h,y,h.length),m=L1(g,o.digestLength,s),v=Me.util.xorBytes(i,m,i.length);return"\0"+v+g};H4.decode_rsa_oaep=function(e,t,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(t.length!==s){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=t.length,g.expectedLength=s,g}if(i===void 0?i=Me.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=t.charAt(0),u=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=L1(f,i.digestLength,o),d=Me.util.xorBytes(u,l,u.length),p=L1(d,s-i.digestLength-1,o),h=Me.util.xorBytes(f,p,f.length),y=h.substring(0,i.digestLength),g=c!=="\0",m=0;m<i.digestLength;++m)g|=a.charAt(m)!==y.charAt(m);for(var v=1,b=i.digestLength,k=i.digestLength;k<h.length;k++){var B=h.charCodeAt(k),C=B&1^1,V=v?65534:0;g|=B&V,v=v&C,b+=v}if(g||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function L1(e,t,r){r||(r=Me.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var Q4=O((Fv,hs)=>{var mr=rt();Ct();k1();p0();(function(){if(mr.prime){hs.exports=mr.prime;return}var e=hs.exports=mr.prime=mr.prime||{},t=mr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var y=d.prng||mr.random,g={nextBytes:function(m){for(var v=y.getBytesSync(m.length),b=0;b<m.length;++b)m[b]=v.charCodeAt(b)}};if(h.name==="PRIMEINC")return o(l,g,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,p,h){return"workers"in p?c(l,d,p,h):s(l,d,p,h)}function s(l,d,p,h){var y=u(l,d),g=0,m=f(y.bitLength());"millerRabinTests"in p&&(m=p.millerRabinTests);var v=10;"maxBlockTime"in p&&(v=p.maxBlockTime),a(y,l,d,g,m,v,h)}function a(l,d,p,h,y,g,m){var v=+new Date;do{if(l.bitLength()>d&&(l=u(d,p)),l.isProbablePrime(y))return m(null,l);l.dAddOffset(r[h++%8],0)}while(g<0||+new Date-v<g);mr.util.setImmediate(function(){a(l,d,p,h,y,g,m)})}function c(l,d,p,h){if(typeof Worker>"u")return s(l,d,p,h);var y=u(l,d),g=p.workers,m=p.workLoad||100,v=m*30/8,b=p.workerScript||"forge/prime.worker.js";if(g===-1)return mr.util.estimateCores(function(B,C){B&&(C=2),g=C-1,k()});k();function k(){g=Math.max(1,g);for(var B=[],C=0;C<g;++C)B[C]=new Worker(b);for(var V=g,C=0;C<g;++C)B[C].addEventListener("message",kt);var $=!1;function kt(fe){if(!$){--V;var Zt=fe.data;if(Zt.found){for(var Vt=0;Vt<B.length;++Vt)B[Vt].terminate();return $=!0,h(null,new t(Zt.prime,16))}y.bitLength()>l&&(y=u(l,d));var tn=y.toString(16);fe.target.postMessage({hex:tn,workLoad:m}),y.dAddOffset(v,0)}}}}function u(l,d){var p=new t(l,d),h=l-1;return p.testBit(h)||p.bitwiseTo(t.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var D1=O((Ov,t5)=>{var D=rt();h0();k1();S1();G4();Q4();p0();Ct();typeof Q>"u"&&(Q=D.jsbn.BigInteger);var Q,ps=D.util.isNodejs?_n():null,w=D.asn1,ae=D.util;D.pki=D.pki||{};t5.exports=D.pki.rsa=D.rsa=D.rsa||{};var M=D.pki,El=[6,4,2,4,2,4,6,2],Sl={name:"PrivateKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Al={name:"RSAPrivateKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Il={name:"RSAPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Cl=D.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},_l={name:"DigestInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:w.Class.UNIVERSAL,type:w.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:w.Class.UNIVERSAL,type:w.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Bl=function(e){var t;if(e.algorithm in M.oids)t=M.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=w.oidToDer(t).getBytes(),i=w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[]),o=w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[]);o.value.push(w.create(w.Class.UNIVERSAL,w.Type.OID,!1,n)),o.value.push(w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,""));var s=w.create(w.Class.UNIVERSAL,w.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),w.toDer(i).getBytes()},j4=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(Q.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(Q.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new Q(D.util.bytesToHex(D.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(Q.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};M.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=J4(e,t,r)):(i=D.util.createBuffer(),i.putBytes(e));for(var s=new Q(i.toHex(),16),a=j4(s,t,n),c=a.toString(16),u=D.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(D.util.hexToBytes(c)),u.getBytes()};M.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new Q(D.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=j4(s,t,r),c=a.toString(16),u=D.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(D.util.hexToBytes(c)),n!==!1?N1(u.getBytes(),t,r):u.getBytes()};M.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||D.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new Q(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};M.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new Q(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new Q(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(Q.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(Rl(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(El[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(Q.ONE).gcd(e.e).compareTo(Q.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(Q.ONE),e.q1=e.q.subtract(Q.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(Q.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:M.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:M.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};M.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!D.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(W4("generateKeyPair"))return ps.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:M.privateKeyFromPem(u),publicKey:M.publicKeyFromPem(c)})});if(Y4("generateKey")&&Y4("exportKey"))return ae.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:X4(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return ae.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=M.privateKeyFromAsn1(w.fromDer(D.util.createBuffer(a)));n(null,{privateKey:c,publicKey:M.setRsaPublicKey(c.n,c.e)})}});if(Z4("generateKey")&&Z4("exportKey")){var i=ae.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:X4(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=ae.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,d=M.privateKeyFromAsn1(w.fromDer(D.util.createBuffer(l)));n(null,{privateKey:d,publicKey:M.setRsaPublicKey(d.n,d.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(W4("generateKeyPairSync")){var o=ps.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:M.privateKeyFromPem(o.privateKey),publicKey:M.publicKeyFromPem(o.publicKey)}}}var s=M.rsa.createKeyPairGenerationState(e,t,r);if(!n)return M.rsa.stepKeyPairGenerationState(s,0),s.keys;Tl(s,r,n)};M.setRsaPublicKey=M.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return J4(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return D.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return M.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=N1(u,r,!0);var f=w.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!w.validate(f,_l,l,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=w.derToOid(l.algorithmIdentifier);if(!(h===D.oids.md2||h===D.oids.md5||h===D.oids.sha1||h===D.oids.sha224||h===D.oids.sha256||h===D.oids.sha384||h===D.oids.sha512||h===D.oids["sha512-224"]||h===D.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===D.oids.md2||h===D.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=N1(u,r,!0),c===u}});var a=M.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};M.setRsaPrivateKey=M.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var d=M.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:N1};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(p,h){return D.pkcs1.decode_rsa_oaep(h,p,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(d,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:Bl},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var d=f.encode(u,c.n.bitLength());return M.rsa.encrypt(d,c,l)},c};M.wrapRsaPrivateKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,w.integerToDer(0).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.OID,!1,w.oidToDer(M.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.OCTETSTRING,!1,w.toDer(e).getBytes())])};M.privateKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,Sl,t,r)&&(e=w.fromDer(D.util.createBuffer(t.privateKey))),t={},r=[],!w.validate(e,Al,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,l;return i=D.util.createBuffer(t.privateKeyModulus).toHex(),o=D.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=D.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=D.util.createBuffer(t.privateKeyPrime1).toHex(),c=D.util.createBuffer(t.privateKeyPrime2).toHex(),u=D.util.createBuffer(t.privateKeyExponent1).toHex(),f=D.util.createBuffer(t.privateKeyExponent2).toHex(),l=D.util.createBuffer(t.privateKeyCoefficient).toHex(),M.setRsaPrivateKey(new Q(i,16),new Q(o,16),new Q(s,16),new Q(a,16),new Q(c,16),new Q(u,16),new Q(f,16),new Q(l,16))};M.privateKeyToAsn1=M.privateKeyToRSAPrivateKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,w.integerToDer(0).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ke(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ke(e.e)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ke(e.d)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ke(e.p)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ke(e.q)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ke(e.dP)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ke(e.dQ)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ke(e.qInv))])};M.publicKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,Cl,t,r)){var n=w.derToOid(t.publicKeyOid);if(n!==M.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!w.validate(e,Il,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=D.util.createBuffer(t.publicKeyModulus).toHex(),s=D.util.createBuffer(t.publicKeyExponent).toHex();return M.setRsaPublicKey(new Q(o,16),new Q(s,16))};M.publicKeyToAsn1=M.publicKeyToSubjectPublicKeyInfo=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.OID,!1,w.oidToDer(M.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.BITSTRING,!1,[M.publicKeyToRSAPublicKey(e)])])};M.publicKeyToRSAPublicKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ke(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ke(e.e))])};function J4(e,t,r){var n=D.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=D.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(e),n}function N1(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=D.util.createBuffer(e),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function Tl(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){D.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(Q.ONE).gcd(e.e).compareTo(Q.ONE)!==0){e.p=null,i();return}if(e.q.subtract(Q.ONE).gcd(e.e).compareTo(Q.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(Q.ONE),e.q1=e.q.subtract(Q.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(Q.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:M.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:M.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ke(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=D.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function Rl(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function W4(e){return D.util.isNodejs&&typeof ps[e]=="function"}function Y4(e){return typeof ae.globalScope<"u"&&typeof ae.globalScope.crypto=="object"&&typeof ae.globalScope.crypto.subtle=="object"&&typeof ae.globalScope.crypto.subtle[e]=="function"}function Z4(e){return typeof ae.globalScope<"u"&&typeof ae.globalScope.msCrypto=="object"&&typeof ae.globalScope.msCrypto.subtle=="object"&&typeof ae.globalScope.msCrypto.subtle[e]=="function"}function X4(e){for(var t=D.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var s5=O((Uv,o5)=>{var R=rt();E1();h0();l4();Vr();S1();is();v4();p0();R4();D1();Ct();typeof e5>"u"&&(e5=R.jsbn.BigInteger);var e5,E=R.asn1,K=R.pki=R.pki||{};o5.exports=K.pbe=R.pbe=R.pbe||{};var Hr=K.oids,Pl={name:"EncryptedPrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},kl={name:"PBES2Algorithms",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Ll={name:"pkcs-12PbeParams",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"iterations"}]};K.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=R.random.getBytesSync(r.saltSize),i=r.count,o=E.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=Hr["aes128-CBC"],l=R.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=Hr["aes192-CBC"],l=R.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=Hr["aes256-CBC"],l=R.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=Hr.desCBC,l=R.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=i5(p),y=R.pkcs5.pbkdf2(t,n,i,s,h),g=R.random.getBytesSync(u),m=l(y);m.start(g),m.update(E.toDer(e)),m.finish(),c=m.output.getBytes();var v=Nl(n,o,s,p);a=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Hr.pkcs5PBES2).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Hr.pkcs5PBKDF2).getBytes()),v]),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(f).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var b=new R.util.ByteBuffer(n),y=K.pbe.generatePkcs12Key(t,b,1,i,s),g=K.pbe.generatePkcs12Key(t,b,2,i,s),m=R.des.createEncryptionCipher(y);m.start(g),m.update(E.toDer(e)),m.finish(),c=m.output.getBytes(),a=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Hr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,n),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var k=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[a,E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,c)]);return k};K.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!E.validate(e,Pl,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=E.derToOid(n.encryptionOid),a=K.pbe.getCipher(s,n.encryptionParams,t),c=R.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=E.fromDer(a.output)),r};K.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:E.toDer(e).getBytes()};return R.pem.encode(r,{maxline:t})};K.encryptedPrivateKeyFromPem=function(e){var t=R.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return E.fromDer(t.body)};K.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=K.wrapRsaPrivateKey(K.privateKeyToAsn1(e));return n=K.encryptPrivateKeyInfo(n,t,r),K.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=R.random.getBytesSync(16),a=R.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=R.random.getBytesSync(16),a=R.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=R.random.getBytesSync(16),a=R.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=R.random.getBytesSync(8),a=R.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=R.random.getBytesSync(8),a=R.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=R.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(u);f.start(o),f.update(E.toDer(K.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:R.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return R.pem.encode(l)};K.decryptRsaPrivateKey=function(e,t){var r=null,n=R.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=R.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=R.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=R.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=R.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=R.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return R.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return R.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return R.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=R.util.hexToBytes(n.dekInfo.parameters),c=R.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(R.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=K.decryptPrivateKeyInfo(E.fromDer(r),t):r=E.fromDer(r),r!==null&&(r=K.privateKeyFromAsn1(r)),r};K.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in R.md))throw new Error('"sha1" hash algorithm unavailable.');o=R.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new R.util.ByteBuffer,l=new R.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),p=t.length(),h=new R.util.ByteBuffer;h.fillWithByte(r,u);var y=u*Math.ceil(p/u),g=new R.util.ByteBuffer;for(a=0;a<y;a++)g.putByte(t.at(a%p));var m=u*Math.ceil(d/u),v=new R.util.ByteBuffer;for(a=0;a<m;a++)v.putByte(l.at(a%d));var b=g;b.putBuffer(v);for(var k=Math.ceil(i/c),B=1;B<=k;B++){var C=new R.util.ByteBuffer;C.putBytes(h.bytes()),C.putBytes(b.bytes());for(var V=0;V<n;V++)o.start(),o.update(C.getBytes()),C=o.digest();var $=new R.util.ByteBuffer;for(a=0;a<u;a++)$.putByte(C.at(a%c));var kt=Math.ceil(p/u)+Math.ceil(d/u),fe=new R.util.ByteBuffer;for(s=0;s<kt;s++){var Zt=new R.util.ByteBuffer(b.getBytes(u)),Vt=511;for(a=$.length()-1;a>=0;a--)Vt=Vt>>8,Vt+=$.at(a)+Zt.at(a),Zt.setAt(a,Vt&255);fe.putBuffer(Zt)}b=fe,f.putBuffer(C)}return f.truncate(f.length()-i),f};K.pbe.getCipher=function(e,t,r){switch(e){case K.oids.pkcs5PBES2:return K.pbe.getCipherForPBES2(e,t,r);case K.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case K.oids["pbewithSHAAnd40BitRC2-CBC"]:return K.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};K.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!E.validate(t,kl,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(e=E.derToOid(n.kdfOid),e!==K.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=E.derToOid(n.encOid),e!==K.oids["aes128-CBC"]&&e!==K.oids["aes192-CBC"]&&e!==K.oids["aes256-CBC"]&&e!==K.oids["des-EDE3-CBC"]&&e!==K.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=R.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(K.oids[e]){case"aes128-CBC":c=16,u=R.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=R.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=R.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=R.des.createDecryptionCipher;break;case"desCBC":c=8,u=R.des.createDecryptionCipher;break}var f=n5(n.prfOid),l=R.pkcs5.pbkdf2(r,s,a,c,f),d=n.encIv,p=u(l);return p.start(d),p};K.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!E.validate(t,Ll,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=R.util.createBuffer(n.salt),a=R.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case K.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=R.des.startDecrypting;break;case K.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(y,g){var m=R.rc2.createDecryptionCipher(y,40);return m.start(g,null),m};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=n5(n.prfOid),d=K.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var p=K.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(d,p)};K.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in R.md))throw new Error('"md5" hash algorithm unavailable.');n=R.md.md5.create()}t===null&&(t="");for(var i=[r5(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(r5(n,i[s-1]+e+t));return i.join("").substr(0,r)};function r5(e,t){return e.start().update(t).digest().getBytes()}function n5(e){var t;if(!e)t="hmacWithSHA1";else if(t=K.oids[E.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return i5(t)}function i5(e){var t=R.md;switch(e){case"hmacWithSHA224":t=R.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function Nl(e,t,r,n){var i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,e),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,R.util.hexToBytes(r.toString(16))),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(K.oids[n]).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")])),i}});var D5=O((xx,N5)=>{var lt=rt();Vr();Ct();var w0=N5.exports=lt.sha512=lt.sha512||{};lt.md.sha512=lt.md.algorithms.sha512=w0;var k5=lt.sha384=lt.sha512.sha384=lt.sha512.sha384||{};k5.create=function(){return w0.create("SHA-384")};lt.md.sha384=lt.md.algorithms.sha384=k5;lt.sha512.sha256=lt.sha512.sha256||{create:function(){return w0.create("SHA-512/256")}};lt.md["sha512/256"]=lt.md.algorithms["sha512/256"]=lt.sha512.sha256;lt.sha512.sha224=lt.sha512.sha224||{create:function(){return w0.create("SHA-512/224")}};lt.md["sha512/224"]=lt.md.algorithms["sha512/224"]=lt.sha512.sha224;w0.create=function(e){if(L5||o9(),typeof e>"u"&&(e="SHA-512"),!(e in Qr))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=Qr[e],r=null,n=lt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=lt.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=lt.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),P5(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=lt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(_s.substr(0,a.blockLength-f));for(var l,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,p+=d,c.putInt32(p>>>0),p=l>>>0;c.putInt32(p);for(var y=new Array(r.length),h=0;h<r.length;++h)y[h]=r[h].slice(0);P5(y,i,c);var g=lt.util.createBuffer(),m;e==="SHA-512"?m=y.length:e==="SHA-384"?m=y.length-2:m=y.length-4;for(var h=0;h<m;++h)g.putInt32(y[h][0]),(h!==m-1||e!=="SHA-512/224")&&g.putInt32(y[h][1]);return g},a};var _s=null,L5=!1,Bs=null,Qr=null;function o9(){_s=String.fromCharCode(128),_s+=lt.util.fillString(String.fromCharCode(0),128),Bs=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],Qr={},Qr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Qr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Qr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Qr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],L5=!0}function P5(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,p,h,y,g,m,v,b,k,B,C,V,$,kt,fe,Zt,Vt,tn,V0,Tt,Gt,F,Ti,Ri,Pi,ki,s2=r.length();s2>=128;){for(Tt=0;Tt<16;++Tt)t[Tt][0]=r.getInt32()>>>0,t[Tt][1]=r.getInt32()>>>0;for(;Tt<80;++Tt)Ti=t[Tt-2],Gt=Ti[0],F=Ti[1],n=((Gt>>>19|F<<13)^(F>>>29|Gt<<3)^Gt>>>6)>>>0,i=((Gt<<13|F>>>19)^(F<<3|Gt>>>29)^(Gt<<26|F>>>6))>>>0,Pi=t[Tt-15],Gt=Pi[0],F=Pi[1],o=((Gt>>>1|F<<31)^(Gt>>>8|F<<24)^Gt>>>7)>>>0,s=((Gt<<31|F>>>1)^(Gt<<24|F>>>8)^(Gt<<25|F>>>7))>>>0,Ri=t[Tt-7],ki=t[Tt-16],F=i+Ri[1]+s+ki[1],t[Tt][0]=n+Ri[0]+o+ki[0]+(F/4294967296>>>0)>>>0,t[Tt][1]=F>>>0;for(y=e[0][0],g=e[0][1],m=e[1][0],v=e[1][1],b=e[2][0],k=e[2][1],B=e[3][0],C=e[3][1],V=e[4][0],$=e[4][1],kt=e[5][0],fe=e[5][1],Zt=e[6][0],Vt=e[6][1],tn=e[7][0],V0=e[7][1],Tt=0;Tt<80;++Tt)u=((V>>>14|$<<18)^(V>>>18|$<<14)^($>>>9|V<<23))>>>0,f=((V<<18|$>>>14)^(V<<14|$>>>18)^($<<23|V>>>9))>>>0,l=(Zt^V&(kt^Zt))>>>0,d=(Vt^$&(fe^Vt))>>>0,a=((y>>>28|g<<4)^(g>>>2|y<<30)^(g>>>7|y<<25))>>>0,c=((y<<4|g>>>28)^(g<<30|y>>>2)^(g<<25|y>>>7))>>>0,p=(y&m|b&(y^m))>>>0,h=(g&v|k&(g^v))>>>0,F=V0+f+d+Bs[Tt][1]+t[Tt][1],n=tn+u+l+Bs[Tt][0]+t[Tt][0]+(F/4294967296>>>0)>>>0,i=F>>>0,F=c+h,o=a+p+(F/4294967296>>>0)>>>0,s=F>>>0,tn=Zt,V0=Vt,Zt=kt,Vt=fe,kt=V,fe=$,F=C+i,V=B+n+(F/4294967296>>>0)>>>0,$=F>>>0,B=b,C=k,b=m,k=v,m=y,v=g,F=i+s,y=n+o+(F/4294967296>>>0)>>>0,g=F>>>0;F=e[0][1]+g,e[0][0]=e[0][0]+y+(F/4294967296>>>0)>>>0,e[0][1]=F>>>0,F=e[1][1]+v,e[1][0]=e[1][0]+m+(F/4294967296>>>0)>>>0,e[1][1]=F>>>0,F=e[2][1]+k,e[2][0]=e[2][0]+b+(F/4294967296>>>0)>>>0,e[2][1]=F>>>0,F=e[3][1]+C,e[3][0]=e[3][0]+B+(F/4294967296>>>0)>>>0,e[3][1]=F>>>0,F=e[4][1]+$,e[4][0]=e[4][0]+V+(F/4294967296>>>0)>>>0,e[4][1]=F>>>0,F=e[5][1]+fe,e[5][0]=e[5][0]+kt+(F/4294967296>>>0)>>>0,e[5][1]=F>>>0,F=e[6][1]+Vt,e[6][0]=e[6][0]+Zt+(F/4294967296>>>0)>>>0,e[6][1]=F>>>0,F=e[7][1]+V0,e[7][0]=e[7][0]+tn+(F/4294967296>>>0)>>>0,e[7][1]=F>>>0,s2-=128}}});var d6=O((Bw,p6)=>{p6.exports=function(e){if(!e)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,r=Object.create(null),n=Object.create(null);function i(o,s){r[o]=s,t++,t>=e&&(t=0,n=r,r=Object.create(null))}return{has:function(o){return r[o]!==void 0||n[o]!==void 0},remove:function(o){r[o]!==void 0&&(r[o]=void 0),n[o]!==void 0&&(n[o]=void 0)},get:function(o){var s=r[o];if(s!==void 0)return s;if((s=n[o])!==void 0)return i(o,s),s},set:function(o,s){r[o]!==void 0?r[o]=s:i(o,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var g6=O((Tw,qs)=>{"use strict";var z9=Object.prototype.hasOwnProperty,$t="~";function T0(){}Object.create&&(T0.prototype=Object.create(null),new T0().__proto__||($t=!1));function H9(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function y6(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new H9(r,n||e,i),s=$t?$t+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function ei(e,t){--e._eventsCount===0?e._events=new T0:delete e._events[t]}function Kt(){this._events=new T0,this._eventsCount=0}Kt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)z9.call(r,n)&&t.push($t?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Kt.prototype.listeners=function(t){var r=$t?$t+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};Kt.prototype.listenerCount=function(t){var r=$t?$t+t:t,n=this._events[r];return n?n.fn?1:n.length:0};Kt.prototype.emit=function(t,r,n,i,o,s){var a=$t?$t+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!0}for(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var d=c.length,p;for(l=0;l<d;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,r);break;case 3:c[l].fn.call(c[l].context,r,n);break;case 4:c[l].fn.call(c[l].context,r,n,i);break;default:if(!f)for(p=1,f=new Array(u-1);p<u;p++)f[p-1]=arguments[p];c[l].fn.apply(c[l].context,f)}}return!0};Kt.prototype.on=function(t,r,n){return y6(this,t,r,n,!1)};Kt.prototype.once=function(t,r,n){return y6(this,t,r,n,!0)};Kt.prototype.removeListener=function(t,r,n,i){var o=$t?$t+t:t;if(!this._events[o])return this;if(!r)return ei(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&ei(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:ei(this,o)}return this};Kt.prototype.removeAllListeners=function(t){var r;return t?(r=$t?$t+t:t,this._events[r]&&ei(this,r)):(this._events=new T0,this._eventsCount=0),this};Kt.prototype.off=Kt.prototype.removeListener;Kt.prototype.addListener=Kt.prototype.on;Kt.prefixed=$t;Kt.EventEmitter=Kt;typeof qs<"u"&&(qs.exports=Kt)});var Zs=O((Hw,Ys)=>{"use strict";var Vn=typeof Reflect=="object"?Reflect:null,T6=Vn&&typeof Vn.apply=="function"?Vn.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},li;Vn&&typeof Vn.ownKeys=="function"?li=Vn.ownKeys:Object.getOwnPropertySymbols?li=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:li=function(t){return Object.getOwnPropertyNames(t)};function Z9(e){console&&console.warn&&console.warn(e)}var P6=Number.isNaN||function(t){return t!==t};function it(){it.init.call(this)}Ys.exports=it;Ys.exports.once=th;it.EventEmitter=it;it.prototype._events=void 0;it.prototype._eventsCount=0;it.prototype._maxListeners=void 0;var R6=10;function hi(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(it,"defaultMaxListeners",{enumerable:!0,get:function(){return R6},set:function(e){if(typeof e!="number"||e<0||P6(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");R6=e}});it.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};it.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||P6(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function k6(e){return e._maxListeners===void 0?it.defaultMaxListeners:e._maxListeners}it.prototype.getMaxListeners=function(){return k6(this)};it.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[t];if(c===void 0)return!1;if(typeof c=="function")T6(c,this,r);else for(var u=c.length,f=O6(c,u),n=0;n<u;++n)T6(f[n],this,r);return!0};function L6(e,t,r,n){var i,o,s;if(hi(r),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),s=o[t]),s===void 0)s=o[t]=r,++e._eventsCount;else if(typeof s=="function"?s=o[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=k6(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=s.length,Z9(a)}return e}it.prototype.addListener=function(t,r){return L6(this,t,r,!1)};it.prototype.on=it.prototype.addListener;it.prototype.prependListener=function(t,r){return L6(this,t,r,!0)};function X9(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function N6(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=X9.bind(n);return i.listener=r,n.wrapFn=i,i}it.prototype.once=function(t,r){return hi(r),this.on(t,N6(this,t,r)),this};it.prototype.prependOnceListener=function(t,r){return hi(r),this.prependListener(t,N6(this,t,r)),this};it.prototype.removeListener=function(t,r){var n,i,o,s,a;if(hi(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():j9(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};it.prototype.off=it.prototype.removeListener;it.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function D6(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?J9(i):O6(i,i.length)}it.prototype.listeners=function(t){return D6(this,t,!0)};it.prototype.rawListeners=function(t){return D6(this,t,!1)};it.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):F6.call(e,t)};it.prototype.listenerCount=F6;function F6(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}it.prototype.eventNames=function(){return this._eventsCount>0?li(this._events):[]};function O6(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function j9(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function J9(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function th(e,t){return new Promise(function(r,n){function i(s){e.removeListener(t,o),n(s)}function o(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}U6(e,t,o,{once:!0}),t!=="error"&&eh(e,i,{once:!0})})}function eh(e,t,r){typeof e.on=="function"&&U6(e,"error",t,r)}function U6(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(o){n.once&&e.removeEventListener(t,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}});var Ph={};Lt(Ph,{EventTypes:()=>i2,MessageType:()=>o2,kadDHT:()=>Rh});var c2=Symbol.for("@libp2p/content-routing");var u2=Symbol.for("@libp2p/peer-discovery");var f2=Symbol.for("@libp2p/peer-routing");var q0=class extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=q0.code,this.type=q0.type}},en=q0;Li(en,"code","ABORT_ERR"),Li(en,"type","aborted");var _=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Qt=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new Et(t,r))}},Ni=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},Et=globalThis.CustomEvent??Ni;var ie=H(y2(),1);var Mi={};Lt(Mi,{base58btc:()=>St,base58flickr:()=>v8});function p8(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var y=0,g=0,m=0,v=h.length;m!==v&&h[m]===0;)m++,y++;for(var b=(v-m)*f+1>>>0,k=new Uint8Array(b);m!==v;){for(var B=h[m],C=0,V=b-1;(B!==0||C<g)&&V!==-1;V--,C++)B+=256*k[V]>>>0,k[V]=B%a>>>0,B=B/a>>>0;if(B!==0)throw new Error("Non-zero carry");g=C,m++}for(var $=b-g;$!==b&&k[$]===0;)$++;for(var kt=c.repeat(y);$<b;++$)kt+=e.charAt(k[$]);return kt}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var y=0;if(h[y]!==" "){for(var g=0,m=0;h[y]===c;)g++,y++;for(var v=(h.length-y)*u+1>>>0,b=new Uint8Array(v);h[y];){var k=r[h.charCodeAt(y)];if(k===255)return;for(var B=0,C=v-1;(k!==0||B<m)&&C!==-1;C--,B++)k+=a*b[C]>>>0,b[C]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");m=B,y++}if(h[y]!==" "){for(var V=v-m;V!==v&&b[V]===0;)V++;for(var $=new Uint8Array(g+(v-V)),kt=g;V!==v;)$[kt++]=b[V++];return $}}}function p(h){var y=d(h);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:p}}var d8=p8,y8=d8,g2=y8;var qh=new Uint8Array(0);var m2=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},He=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var v2=e=>new TextEncoder().encode(e),x2=e=>new TextDecoder().decode(e);var Di=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Fi=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return b2(this,t)}},Oi=class{constructor(t){this.decoders=t}or(t){return b2(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},b2=(e,t)=>new Oi({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Ui=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Di(t,r,n),this.decoder=new Fi(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},sn=({name:e,prefix:t,encode:r,decode:n})=>new Ui(e,t,r,n),sr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=g2(r,t);return sn({prefix:e,name:t,encode:n,decode:o=>He(i(o))})},g8=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},m8=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},xt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>sn({prefix:t,name:e,encode(i){return m8(i,n,r)},decode(i){return g8(i,n,r,e)}});var St=sr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),v8=sr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ki={};Lt(Ki,{base32:()=>le,base32hex:()=>E8,base32hexpad:()=>A8,base32hexpadupper:()=>I8,base32hexupper:()=>S8,base32pad:()=>w8,base32padupper:()=>b8,base32upper:()=>x8,base32z:()=>C8});var le=xt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),x8=xt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),w8=xt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),b8=xt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),E8=xt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),S8=xt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),A8=xt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),I8=xt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),C8=xt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Vi={};Lt(Vi,{base64:()=>Tr,base64pad:()=>_8,base64url:()=>B8,base64urlpad:()=>T8});var Tr=xt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),_8=xt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),B8=xt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),T8=xt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ie.default.formatters.b=e=>e==null?"undefined":St.baseEncode(e);ie.default.formatters.t=e=>e==null?"undefined":le.baseEncode(e);ie.default.formatters.m=e=>e==null?"undefined":Tr.baseEncode(e);ie.default.formatters.p=e=>e==null?"undefined":e.toString();ie.default.formatters.c=e=>e==null?"undefined":e.toString();ie.default.formatters.k=e=>e==null?"undefined":e.toString();function R8(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function q(e){let t=R8(`${e}:trace`);return ie.default.enabled(`${e}:trace`)&&ie.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,ie.default)(`${e}:trace`)),Object.assign((0,ie.default)(e),{error:(0,ie.default)(`${e}:error`),trace:t})}function P8(e){return e[Symbol.asyncIterator]!=null}function k8(e){if(P8(e))return(async()=>{for await(let t of e);})();for(let t of e);}var Qn=k8;var $0=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},an=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new $0(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new $0(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function G0(e={}){return L8(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function L8(e,t){t=t??{};let r=t.onEnd,n=new an,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=m=>{o=null,n.push(m);try{y(e(n))}catch(v){g(v)}return i}}):e(n),c=y=>o!=null?o(y):(n.push(y),i),u=y=>(n=new an,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:y})},l=y=>s?i:(s=!0,y!=null?u(y):c({done:!0})),d=()=>(n=new an,l(),{done:!0}),p=y=>(l(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:p,push:f,end:l,get readableLength(){return n.size}},r==null)return i;let h=i;return i={[Symbol.asyncIterator](){return this},next(){return h.next()},throw(y){return h.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return h.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return h.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return h.readableLength}},i}function N8(e){return e[Symbol.asyncIterator]!=null}function D8(...e){let t=[];for(let r of e)N8(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=G0({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var he=D8;var P2=H(E2(),1);var S2="[a-fA-F\\d:]",ar=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${S2})|(?<=${S2})(?=\\s|$))`:"",pe="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Rt="[a-fA-F\\d]{1,4}",Q0=`
2
+ "use strict";var Libp2PKadDht=(()=>{var tu=Object.create;var di=Object.defineProperty;var ru=Object.getOwnPropertyDescriptor;var nu=Object.getOwnPropertyNames;var iu=Object.getPrototypeOf,ou=Object.prototype.hasOwnProperty;var su=(t,e,r)=>e in t?di(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var M=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),V=(t,e)=>{for(var r in e)di(t,r,{get:e[r],enumerable:!0})},_2=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of nu(e))!ou.call(t,i)&&i!==r&&di(t,i,{get:()=>e[i],enumerable:!(n=ru(e,i))||n.enumerable});return t};var G=(t,e,r)=>(r=t!=null?tu(iu(t)):{},_2(e||!t||!t.__esModule?di(r,"default",{value:t,enumerable:!0}):r,t)),au=t=>_2(di({},"__esModule",{value:!0}),t);var m0=(t,e,r)=>(su(t,typeof e!="symbol"?e+"":e,r),r);var k2=M((am,L2)=>{var dn=1e3,pn=dn*60,yn=pn*60,Ur=yn*24,cu=Ur*7,uu=Ur*365.25;L2.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return fu(t);if(r==="number"&&isFinite(t))return e.long?hu(t):lu(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function fu(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*uu;case"weeks":case"week":case"w":return r*cu;case"days":case"day":case"d":return r*Ur;case"hours":case"hour":case"hrs":case"hr":case"h":return r*yn;case"minutes":case"minute":case"mins":case"min":case"m":return r*pn;case"seconds":case"second":case"secs":case"sec":case"s":return r*dn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function lu(t){var e=Math.abs(t);return e>=Ur?Math.round(t/Ur)+"d":e>=yn?Math.round(t/yn)+"h":e>=pn?Math.round(t/pn)+"m":e>=dn?Math.round(t/dn)+"s":t+"ms"}function hu(t){var e=Math.abs(t);return e>=Ur?x0(t,e,Ur,"day"):e>=yn?x0(t,e,yn,"hour"):e>=pn?x0(t,e,pn,"minute"):e>=dn?x0(t,e,dn,"second"):t+" ms"}function x0(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var F2=M((cm,D2)=>{function du(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=k2(),r.destroy=u,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let l=0;for(let p=0;p<f.length;p++)l=(l<<5)-l+f.charCodeAt(p),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=e;function r(f){let l,p=null,d,h;function y(...g){if(!y.enabled)return;let m=y,v=Number(new Date),w=v-(l||v);m.diff=w,m.prev=l,m.curr=v,l=v,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let T=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(I,L)=>{if(I==="%%")return"%";T++;let F=r.formatters[L];if(typeof F=="function"){let re=g[T];I=F.call(m,re),g.splice(T,1),T--}return I}),r.formatArgs.call(m,g),(m.log||r.log).apply(m,g)}return y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(d!==r.namespaces&&(d=r.namespaces,h=r.enabled(f)),h),set:g=>{p=g}}),typeof r.init=="function"&&r.init(y),y}function n(f,l){let p=r(this.namespace+(typeof l>"u"?":":l)+f);return p.log=this.log,p}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let l,p=(typeof f=="string"?f:"").split(/[\s,]+/),d=p.length;for(l=0;l<d;l++)p[l]&&(f=p[l].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,p;for(l=0,p=r.skips.length;l<p;l++)if(r.skips[l].test(f))return!1;for(l=0,p=r.names.length;l<p;l++)if(r.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}D2.exports=du});var O2=M((rt,b0)=>{rt.formatArgs=yu;rt.save=gu;rt.load=mu;rt.useColors=pu;rt.storage=vu();rt.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();rt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function pu(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function yu(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+b0.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}rt.log=console.debug||console.log||(()=>{});function gu(t){try{t?rt.storage.setItem("debug",t):rt.storage.removeItem("debug")}catch{}}function mu(){let t;try{t=rt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function vu(){try{return localStorage}catch{}}b0.exports=F2()(rt);var{formatters:xu}=b0.exports;xu.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var $2=M(yi=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,f,l,p;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,l=(c&65280)>>>8,p=c&255,[u,f,l,p].join(".")},s=function(c){var u,f,l,p,d,h;for(u=[],l=p=0;p<=3&&c.length!==0;l=++p){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),d=h[0],f=h[1],c=c.substring(f),u.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,f,l,p,d;for(p=0,u=10,f="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,f="7")),d=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)p=p*u+(r(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")p=p*u+(10+r(c[l])-o)>>>0;else if("A"<=c[l]&&c[l]<="F")p=p*u+(10+r(c[l])-i)>>>0;else break;else break;if(p>4294967295)throw new Error("too large");l++}if(l===d)throw new Error("empty octet");return[p,l]},t=function(){function c(u,f){var l,p,d,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(h=u.split("/",2),u=h[0],f=h[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(y){throw l=y,new Error("Invalid mask: "+f)}for(p=d=32;d>=0;p=--d)if(this.maskLong===4294967295<<32-p>>>0){this.bitmask=p;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(u)&this.maskLong)>>>0}catch(y){throw l=y,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,l,p;for(p=s(this.first),l=s(this.last),f=0;p<=l;)u(a(p),p,f),f++,p++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),yi.ip2long=s,yi.long2ip=a,yi.Netmask=t}).call(yi)});var X2=M((Z2,C0)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"i")};function c(d,h){if(d.indexOf("::")!==d.lastIndexOf("::"))return null;let y=0,g=-1,m=(d.match(a.zoneIndex)||[])[0],v,w;for(m&&(m=m.substring(1),d=d.replace(/%.+$/,""));(g=d.indexOf(":",g+1))>=0;)y++;if(d.substr(0,2)==="::"&&y--,d.substr(-2,2)==="::"&&y--,y>h)return null;for(w=h-y,v=":";w--;)v+="0:";return d=d.replace("::",v),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),h=function(){let T=d.split(":"),S=[];for(let I=0;I<T.length;I++)S.push(parseInt(T[I],16));return S}(),{parts:h,zoneId:m}}function u(d,h,y,g){if(d.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let m=0,v;for(;g>0;){if(v=y-g,v<0&&(v=0),d[m]>>v!==h[m]>>v)return!1;g-=y,m+=1}return!0}function f(d){if(i.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(n.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function l(d,h){for(;d.length<h;)d=`0${d}`;return d}let p={};p.IPv4=function(){function d(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let y,g;for(y=0;y<h.length;y++)if(g=h[y],!(0<=g&&g<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return d.prototype.SpecialRanges={unspecified:[[new d([0,0,0,0]),8]],broadcast:[[new d([255,255,255,255]),32]],multicast:[[new d([224,0,0,0]),4]],linkLocal:[[new d([169,254,0,0]),16]],loopback:[[new d([127,0,0,0]),8]],carrierGradeNat:[[new d([100,64,0,0]),10]],private:[[new d([10,0,0,0]),8],[new d([172,16,0,0]),12],[new d([192,168,0,0]),16]],reserved:[[new d([192,0,0,0]),24],[new d([192,0,2,0]),24],[new d([192,88,99,0]),24],[new d([198,18,0,0]),15],[new d([198,51,100,0]),24],[new d([203,0,113,0]),24],[new d([240,0,0,0]),4]]},d.prototype.kind=function(){return"ipv4"},d.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,y)},d.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},m,v,w;for(m=3;m>=0;m-=1)if(v=this.octets[m],v in g){if(w=g[v],y&&w!==0)return null;w!==8&&(y=!0),h+=w}else return null;return 32-h},d.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return p.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),p.IPv4.broadcastAddressFromCIDR=function(d){try{let h=this.parseCIDR(d),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],v=0;for(;v<4;)m.push(parseInt(y[v],10)|parseInt(g[v],10)^255),v++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.isIPv4=function(d){return this.parser(d)!==null},p.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch{return!1}},p.IPv4.isValidFourPartDecimal=function(d){return!!(p.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},p.IPv4.networkAddressFromCIDR=function(d){let h,y,g,m,v;try{for(h=this.parseCIDR(d),g=h[0].toByteArray(),v=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<4;)m.push(parseInt(g[y],10)&parseInt(v[y],10)),y++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.parse=function(d){let h=this.parser(d);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},p.IPv4.parseCIDR=function(d){let h;if(h=d.match(/^(.+)\/(\d+)$/)){let y=parseInt(h[2]);if(y>=0&&y<=32){let g=[this.parse(h[1]),y];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},p.IPv4.parser=function(d){let h,y,g;if(h=d.match(r.fourOctet))return function(){let m=h.slice(1,6),v=[];for(let w=0;w<m.length;w++)y=m[w],v.push(f(y));return v}();if(h=d.match(r.longValue)){if(g=f(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let m=[],v;for(v=0;v<=24;v+=8)m.push(g>>v&255);return m}().reverse()}else return(h=d.match(r.twoOctet))?function(){let m=h.slice(1,4),v=[];if(g=f(m[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return v.push(f(m[0])),v.push(g>>16&255),v.push(g>>8&255),v.push(g&255),v}():(h=d.match(r.threeOctet))?function(){let m=h.slice(1,5),v=[];if(g=f(m[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return v.push(f(m[0])),v.push(f(m[1])),v.push(g>>8&255),v.push(g&255),v}():null},p.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],y=0,g=Math.floor(d/8);for(;y<g;)h[y]=255,y++;return g<4&&(h[g]=Math.pow(2,d%8)-1<<8-d%8),new this(h)},p.IPv6=function(){function d(h,y){let g,m;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(m=this.parts[g],!(0<=m&&m<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");y&&(this.zoneId=y)}return d.prototype.SpecialRanges={unspecified:[new d([0,0,0,0,0,0,0,0]),128],linkLocal:[new d([65152,0,0,0,0,0,0,0]),10],multicast:[new d([65280,0,0,0,0,0,0,0]),8],loopback:[new d([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new d([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new d([0,0,0,0,0,65535,0,0]),96],rfc6145:[new d([0,0,0,0,65535,0,0,0]),96],rfc6052:[new d([100,65435,0,0,0,0,0,0]),96],"6to4":[new d([8194,0,0,0,0,0,0,0]),16],teredo:[new d([8193,0,0,0,0,0,0,0]),32],reserved:[[new d([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new d([8193,2,0,0,0,0,0,0]),48],amt:[new d([8193,3,0,0,0,0,0,0]),32],as112v6:[new d([8193,4,274,0,0,0,0,0]),48],deprecated:[new d([8193,16,0,0,0,0,0,0]),28],orchid2:[new d([8193,32,0,0,0,0,0,0]),28]},d.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},d.prototype.kind=function(){return"ipv6"},d.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,y)},d.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},m,v;for(let w=7;w>=0;w-=1)if(m=this.parts[w],m in g){if(v=g[m],y&&v!==0)return null;v!==16&&(y=!0),h+=v}else return null;return 128-h},d.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let h,y=[],g=this.parts;for(let m=0;m<g.length;m++)h=g[m],y.push(h>>8),y.push(h&255);return y},d.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(l(this.parts[m].toString(16),4));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},d.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),y=h[0],g=h[1];return new p.IPv4([y>>8,y&255,g>>8,g&255])},d.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(this.parts[m].toString(16));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},d.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,y=this.toNormalizedString(),g=0,m=-1,v;for(;v=h.exec(y);)v[0].length>m&&(g=v.index,m=v[0].length);return m<0?y:`${y.substring(0,g)}::${y.substring(g+m)}`},d.prototype.toString=function(){return this.toRFC5952String()},d}(),p.IPv6.broadcastAddressFromCIDR=function(d){try{let h=this.parseCIDR(d),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],v=0;for(;v<16;)m.push(parseInt(y[v],10)|parseInt(g[v],10)^255),v++;return new this(m)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},p.IPv6.isIPv6=function(d){return this.parser(d)!==null},p.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{let h=this.parser(d);return new this(h.parts,h.zoneId),!0}catch{return!1}},p.IPv6.networkAddressFromCIDR=function(d){let h,y,g,m,v;try{for(h=this.parseCIDR(d),g=h[0].toByteArray(),v=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<16;)m.push(parseInt(g[y],10)&parseInt(v[y],10)),y++;return new this(m)}catch(w){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${w})`)}},p.IPv6.parse=function(d){let h=this.parser(d);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},p.IPv6.parseCIDR=function(d){let h,y,g;if((y=d.match(/^(.+)\/(\d+)$/))&&(h=parseInt(y[2]),h>=0&&h<=128))return g=[this.parse(y[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},p.IPv6.parser=function(d){let h,y,g,m,v,w;if(g=d.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(d))return c(d,8);if((g=d.match(a.transitional))&&(w=g[6]||"",h=c(g[1].slice(0,-1)+w,6),h.parts)){for(v=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],y=0;y<v.length;y++)if(m=v[y],!(0<=m&&m<=255))return null;return h.parts.push(v[0]<<8|v[1]),h.parts.push(v[2]<<8|v[3]),{parts:h.parts,zoneId:h.zoneId}}return null},p.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],y=0,g=Math.floor(d/8);for(;y<g;)h[y]=255,y++;return g<16&&(h[g]=Math.pow(2,d%8)-1<<8-d%8),new this(h)},p.fromByteArray=function(d){let h=d.length;if(h===4)return new p.IPv4(d);if(h===16)return new p.IPv6(d);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},p.isValid=function(d){return p.IPv6.isValid(d)||p.IPv4.isValid(d)},p.parse=function(d){if(p.IPv6.isValid(d))return p.IPv6.parse(d);if(p.IPv4.isValid(d))return p.IPv4.parse(d);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},p.parseCIDR=function(d){try{return p.IPv6.parseCIDR(d)}catch{try{return p.IPv4.parseCIDR(d)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},p.process=function(d){let h=this.parse(d);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},p.subnetMatch=function(d,h,y){let g,m,v,w;y==null&&(y="unicast");for(m in h)if(Object.prototype.hasOwnProperty.call(h,m)){for(v=h[m],v[0]&&!(v[0]instanceof Array)&&(v=[v]),g=0;g<v.length;g++)if(w=v[g],d.kind()===w[0].kind()&&d.match.apply(d,w))return m}return y},typeof C0<"u"&&C0.exports?C0.exports=p:t.ipaddr=p})(Z2)});var a4=M((Mx,s4)=>{s4.exports=bs;var o4=128,U7=127,M7=~U7,K7=Math.pow(2,31);function bs(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw bs.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=K7;)e[r++]=t&255|o4,t/=128;for(;t&M7;)e[r++]=t&255|o4,t>>>=7;return e[r]=t|0,bs.bytes=r-n+1,e}});var f4=M((Kx,u4)=>{u4.exports=ws;var V7=128,c4=127;function ws(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a||i>49)throw ws.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&c4)<<i:(s&c4)*Math.pow(2,i),i+=7}while(s>=V7);return ws.bytes=o-n,r}});var h4=M((Vx,l4)=>{var z7=Math.pow(2,7),q7=Math.pow(2,14),$7=Math.pow(2,21),H7=Math.pow(2,28),G7=Math.pow(2,35),Q7=Math.pow(2,42),Y7=Math.pow(2,49),W7=Math.pow(2,56),Z7=Math.pow(2,63);l4.exports=function(t){return t<z7?1:t<q7?2:t<$7?3:t<H7?4:t<G7?5:t<Q7?6:t<Y7?7:t<W7?8:t<Z7?9:10}});var Ri=M((zx,d4)=>{d4.exports={encode:a4(),decode:f4(),encodingLength:h4()}});var D4=M((Aw,k4)=>{"use strict";k4.exports=Q9;function Q9(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(f){if(o)if(o=!1,f)c(f);else{for(var l=new Array(arguments.length-1),p=0;p<l.length;)l[p++]=arguments[p];a.apply(null,l)}};try{t.apply(e||null,r)}catch(u){o&&(o=!1,c(u))}})}});var M4=M(U4=>{"use strict";var U0=U4;U0.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var Un=new Array(64),O4=new Array(123);for(bt=0;bt<64;)O4[Un[bt]=bt<26?bt+65:bt<52?bt+71:bt<62?bt-4:bt-59|43]=bt++;var bt;U0.encode=function(e,r,n){for(var i=null,o=[],s=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:o[s++]=Un[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=Un[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=Un[c|u>>6],o[s++]=Un[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=Un[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var F4="invalid encoding";U0.decode=function(e,r,n){for(var i=n,o=0,s,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&o>1)break;if((c=O4[c])===void 0)throw Error(F4);switch(o){case 0:s=c,o=1;break;case 1:r[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:r[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:r[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(F4);return n-i};U0.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var V4=M((Cw,K4)=>{"use strict";K4.exports=M0;function M0(){this._listeners={}}M0.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};M0.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};M0.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var Y4=M((Bw,Q4)=>{"use strict";Q4.exports=z4(z4);function z4(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,f){e[0]=c,u[f]=r[0],u[f+1]=r[1],u[f+2]=r[2],u[f+3]=r[3]}function o(c,u,f){e[0]=c,u[f]=r[3],u[f+1]=r[2],u[f+2]=r[1],u[f+3]=r[0]}t.writeFloatLE=n?i:o,t.writeFloatBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?s:a,t.readFloatBE=n?a:s}():function(){function e(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}t.writeFloatLE=e.bind(null,q4),t.writeFloatBE=e.bind(null,$4);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,H4),t.readFloatBE=r.bind(null,G4)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,f){e[0]=c,u[f]=r[0],u[f+1]=r[1],u[f+2]=r[2],u[f+3]=r[3],u[f+4]=r[4],u[f+5]=r[5],u[f+6]=r[6],u[f+7]=r[7]}function o(c,u,f){e[0]=c,u[f]=r[7],u[f+1]=r[6],u[f+2]=r[5],u[f+3]=r[4],u[f+4]=r[3],u[f+5]=r[2],u[f+6]=r[1],u[f+7]=r[0]}t.writeDoubleLE=n?i:o,t.writeDoubleBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?s:a,t.readDoubleBE=n?a:s}():function(){function e(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var f;if(s<22250738585072014e-324)f=s/5e-324,n(f>>>0,a,c+i),n((u<<31|f/4294967296)>>>0,a,c+o);else{var l=Math.floor(Math.log(s)/Math.LN2);l===1024&&(l=1023),f=s*Math.pow(2,-l),n(f*4503599627370496>>>0,a,c+i),n((u<<31|l+1023<<20|f*1048576&1048575)>>>0,a,c+o)}}}t.writeDoubleLE=e.bind(null,q4,0,4),t.writeDoubleBE=e.bind(null,$4,4,0);function r(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),f=(u>>31)*2+1,l=u>>>20&2047,p=4294967296*(u&1048575)+c;return l===2047?p?NaN:f*(1/0):l===0?f*5e-324*p:f*Math.pow(2,l-1075)*(p+4503599627370496)}t.readDoubleLE=r.bind(null,H4,0,4),t.readDoubleBE=r.bind(null,G4,4,0)}(),t}function q4(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function $4(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function H4(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function G4(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var W4=M((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var X4=M(Z4=>{"use strict";var Hs=Z4;Hs.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};Hs.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,c;r<n;)c=e[r++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};Hs.write=function(e,r,n){for(var i=n,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var J4=M((_w,j4)=>{"use strict";j4.exports=Y9;function Y9(t,e,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return t(c);s+c>n&&(o=t(n),s=0);var u=e.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var tc=M((Rw,ec)=>{"use strict";ec.exports=Oe;var Ni=$r();function Oe(t,e){this.lo=t>>>0,this.hi=e>>>0}var qr=Oe.zero=new Oe(0,0);qr.toNumber=function(){return 0};qr.zzEncode=qr.zzDecode=function(){return this};qr.length=function(){return 1};var W9=Oe.zeroHash="\0\0\0\0\0\0\0\0";Oe.fromNumber=function(e){if(e===0)return qr;var r=e<0;r&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Oe(n,i)};Oe.from=function(e){if(typeof e=="number")return Oe.fromNumber(e);if(Ni.isString(e))if(Ni.Long)e=Ni.Long.fromString(e);else return Oe.fromNumber(parseInt(e,10));return e.low||e.high?new Oe(e.low>>>0,e.high>>>0):qr};Oe.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Oe.prototype.toLong=function(e){return Ni.Long?new Ni.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var br=String.prototype.charCodeAt;Oe.fromHash=function(e){return e===W9?qr:new Oe((br.call(e,0)|br.call(e,1)<<8|br.call(e,2)<<16|br.call(e,3)<<24)>>>0,(br.call(e,4)|br.call(e,5)<<8|br.call(e,6)<<16|br.call(e,7)<<24)>>>0)};Oe.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Oe.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Oe.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Oe.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var $r=M(Gs=>{"use strict";var D=Gs;D.asPromise=D4();D.base64=M4();D.EventEmitter=V4();D.float=Y4();D.inquire=W4();D.utf8=X4();D.pool=J4();D.LongBits=tc();D.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);D.global=D.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Gs;D.emptyArray=Object.freeze?Object.freeze([]):[];D.emptyObject=Object.freeze?Object.freeze({}):{};D.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};D.isString=function(e){return typeof e=="string"||e instanceof String};D.isObject=function(e){return e&&typeof e=="object"};D.isset=D.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};D.Buffer=function(){try{var t=D.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();D._Buffer_from=null;D._Buffer_allocUnsafe=null;D.newBuffer=function(e){return typeof e=="number"?D.Buffer?D._Buffer_allocUnsafe(e):new D.Array(e):D.Buffer?D._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};D.Array=typeof Uint8Array<"u"?Uint8Array:Array;D.Long=D.global.dcodeIO&&D.global.dcodeIO.Long||D.global.Long||D.inquire("long");D.key2Re=/^true|false|0|1$/;D.key32Re=/^-?(?:0|[1-9][0-9]*)$/;D.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;D.longToHash=function(e){return e?D.LongBits.from(e).toHash():D.LongBits.zeroHash};D.longFromHash=function(e,r){var n=D.LongBits.fromHash(e);return D.Long?D.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function rc(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}D.merge=rc;D.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function nc(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&rc(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}D.newError=nc;D.ProtocolError=nc("ProtocolError");D.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};D.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};D.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};D._configure=function(){var t=D.Buffer;if(!t){D._Buffer_from=D._Buffer_allocUnsafe=null;return}D._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},D._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Ws=M((Nw,cc)=>{"use strict";cc.exports=Te;var kt=$r(),Ys,sc=kt.LongBits,Z9=kt.utf8;function wt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Te(t){this.buf=t,this.pos=0,this.len=t.length}var ic=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Te(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Te(e);throw Error("illegal buffer")},ac=function(){return kt.Buffer?function(r){return(Te.create=function(i){return kt.Buffer.isBuffer(i)?new Ys(i):ic(i)})(r)}:ic};Te.create=ac();Te.prototype._slice=kt.Array.prototype.subarray||kt.Array.prototype.slice;Te.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,wt(this,10);return e}}();Te.prototype.int32=function(){return this.uint32()|0};Te.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Qs(){var t=new sc(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw wt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw wt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}Te.prototype.bool=function(){return this.uint32()!==0};function K0(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Te.prototype.fixed32=function(){if(this.pos+4>this.len)throw wt(this,4);return K0(this.buf,this.pos+=4)};Te.prototype.sfixed32=function(){if(this.pos+4>this.len)throw wt(this,4);return K0(this.buf,this.pos+=4)|0};function oc(){if(this.pos+8>this.len)throw wt(this,8);return new sc(K0(this.buf,this.pos+=4),K0(this.buf,this.pos+=4))}Te.prototype.float=function(){if(this.pos+4>this.len)throw wt(this,4);var e=kt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Te.prototype.double=function(){if(this.pos+8>this.len)throw wt(this,4);var e=kt.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Te.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw wt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Te.prototype.string=function(){var e=this.bytes();return Z9.read(e,0,e.length)};Te.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw wt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw wt(this);while(this.buf[this.pos++]&128);return this};Te.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};Te._configure=function(t){Ys=t,Te.create=ac(),Ys._configure();var e=kt.Long?"toLong":"toNumber";kt.merge(Te.prototype,{int64:function(){return Qs.call(this)[e](!1)},uint64:function(){return Qs.call(this)[e](!0)},sint64:function(){return Qs.call(this).zzDecode()[e](!1)},fixed64:function(){return oc.call(this)[e](!0)},sfixed64:function(){return oc.call(this)[e](!1)}})}});var hc=M((Lw,lc)=>{"use strict";lc.exports=Hr;var fc=Ws();(Hr.prototype=Object.create(fc.prototype)).constructor=Hr;var uc=$r();function Hr(t){fc.call(this,t)}Hr._configure=function(){uc.Buffer&&(Hr.prototype._slice=uc.Buffer.prototype.slice)};Hr.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};Hr._configure()});var ra=M((kw,gc)=>{"use strict";gc.exports=X;var lt=$r(),Zs,V0=lt.LongBits,dc=lt.base64,pc=lt.utf8;function Li(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function js(){}function X9(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function X(){this.len=0,this.head=new Li(js,0,0),this.tail=this.head,this.states=null}var yc=function(){return lt.Buffer?function(){return(X.create=function(){return new Zs})()}:function(){return new X}};X.create=yc();X.alloc=function(e){return new lt.Array(e)};lt.Array!==Array&&(X.alloc=lt.pool(X.alloc,lt.Array.prototype.subarray));X.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Li(e,r,n),this.len+=r,this};function Js(t,e,r){e[r]=t&255}function j9(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function ea(t,e){this.len=t,this.next=void 0,this.val=e}ea.prototype=Object.create(Li.prototype);ea.prototype.fn=j9;X.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new ea((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};X.prototype.int32=function(e){return e<0?this._push(ta,10,V0.fromNumber(e)):this.uint32(e)};X.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function ta(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}X.prototype.uint64=function(e){var r=V0.from(e);return this._push(ta,r.length(),r)};X.prototype.int64=X.prototype.uint64;X.prototype.sint64=function(e){var r=V0.from(e).zzEncode();return this._push(ta,r.length(),r)};X.prototype.bool=function(e){return this._push(Js,1,e?1:0)};function Xs(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}X.prototype.fixed32=function(e){return this._push(Xs,4,e>>>0)};X.prototype.sfixed32=X.prototype.fixed32;X.prototype.fixed64=function(e){var r=V0.from(e);return this._push(Xs,4,r.lo)._push(Xs,4,r.hi)};X.prototype.sfixed64=X.prototype.fixed64;X.prototype.float=function(e){return this._push(lt.float.writeFloatLE,4,e)};X.prototype.double=function(e){return this._push(lt.float.writeDoubleLE,8,e)};var J9=lt.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};X.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(Js,1,0);if(lt.isString(e)){var n=X.alloc(r=dc.length(e));dc.decode(e,n,0),e=n}return this.uint32(r)._push(J9,r,e)};X.prototype.string=function(e){var r=pc.length(e);return r?this.uint32(r)._push(pc.write,r,e):this._push(Js,1,0)};X.prototype.fork=function(){return this.states=new X9(this),this.head=this.tail=new Li(js,0,0),this.len=0,this};X.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Li(js,0,0),this.len=0),this};X.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};X.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};X._configure=function(t){Zs=t,X.create=yc(),Zs._configure()}});var xc=M((Dw,vc)=>{"use strict";vc.exports=Dt;var mc=ra();(Dt.prototype=Object.create(mc.prototype)).constructor=Dt;var wr=$r();function Dt(){mc.call(this)}Dt._configure=function(){Dt.alloc=wr._Buffer_allocUnsafe,Dt.writeBytesBuffer=wr.Buffer&&wr.Buffer.prototype instanceof Uint8Array&&wr.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};Dt.prototype.bytes=function(e){wr.isString(e)&&(e=wr._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Dt.writeBytesBuffer,r,e),this};function eh(t,e,r){t.length<40?wr.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Dt.prototype.string=function(e){var r=wr.Buffer.byteLength(e);return this.uint32(r),r&&this._push(eh,r,e),this};Dt._configure()});var Qc=M((AS,Gc)=>{"use strict";function Hc(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function Ah(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return Hc(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Hc(new i,r)}}Gc.exports=Ah});var ne=M((qS,Wc)=>{Wc.exports={options:{usePureJavaScript:!1}}});var jc=M(($S,Xc)=>{var pa={};Xc.exports=pa;var Zc={};pa.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=Bh(t,e);else{var i=0,o=e.length,s=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
3
+ `)}return n};pa.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=Zc[e];if(!r){r=Zc[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,o=e.charAt(0),s=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;t[f]===o&&f<t.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function Bh(t,e){var r=0,n=e.length,i=e.charAt(0),o=[0];for(r=0;r<t.length();++r){for(var s=0,a=t.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=e[o[r]];return c}});var Re=M((HS,r5)=>{var Jc=ne(),e5=jc(),x=r5.exports=Jc.util=Jc.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(f){f()})}};var s=a,t="forge.setImmediate",e=[];x.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=x.setImmediate;x.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};x.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};x.isArrayBufferView=function(t){return t&&x.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ui(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}x.ByteBuffer=ya;function ya(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(x.isArrayBuffer(t)||x.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof ya||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}x.ByteStringBuffer=ya;var Th=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Th&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};x.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};x.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};x.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(x.encodeUtf8(t))};x.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};x.ByteStringBuffer.prototype.putInt=function(t,e){Ui(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};x.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};x.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};x.ByteStringBuffer.prototype.getInt=function(t){Ui(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};x.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};x.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var t=x.createBuffer(this.data);return t.read=this.read,t};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function _h(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=x.isArrayBuffer(t),n=x.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}x.DataBuffer=_h;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};x.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};x.DataBuffer.prototype.putBytes=function(t,e){if(x.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(x.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof x.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&x.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof x.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(t,o,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=x.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};x.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};x.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};x.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(t,e){Ui(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};x.DataBuffer.prototype.putSignedInt=function(t,e){return Ui(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};x.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};x.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};x.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};x.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};x.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};x.DataBuffer.prototype.getInt=function(t){Ui(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};x.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};x.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return x.binary.raw.encode(e);if(t==="hex")return x.binary.hex.encode(e);if(t==="base64")return x.binary.base64.encode(e);if(t==="utf8")return x.text.utf8.decode(e);if(t==="utf16")return x.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};x.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=x.encodeUtf8(t)),new x.ByteBuffer(t)};x.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};x.xorBytes=function(t,e,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};x.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};x.bytesToHex=function(t){return x.createBuffer(t).toHex()};x.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Ar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ir=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],t5="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.length;)i=t.charCodeAt(a++),o=t.charCodeAt(a++),s=t.charCodeAt(a++),r+=Ar.charAt(i>>2),r+=Ar.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Ar.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Ar.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
+ `,r=r.substr(e));return n+=r,n};x.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=Ir[t.charCodeAt(s++)-43],n=Ir[t.charCodeAt(s++)-43],i=Ir[t.charCodeAt(s++)-43],o=Ir[t.charCodeAt(s++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(e+=String.fromCharCode((i&3)<<6|o)));return e};x.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};x.decodeUtf8=function(t){return decodeURIComponent(escape(t))};x.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:e5.encode,decode:e5.decode}};x.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};x.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};x.binary.hex.encode=x.bytesToHex;x.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,o=r;for(t.length&1&&(i=1,n[o++]=parseInt(t[0],16));i<t.length;i+=2)n[o++]=parseInt(t.substr(i,2),16);return e?o-r:n};x.binary.base64.encode=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.byteLength;)i=t[a++],o=t[a++],s=t[a++],r+=Ar.charAt(i>>2),r+=Ar.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Ar.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Ar.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
+ `,r=r.substr(e));return n+=r,n};x.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=Ir[t.charCodeAt(c++)-43],o=Ir[t.charCodeAt(c++)-43],s=Ir[t.charCodeAt(c++)-43],a=Ir[t.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return e?u-r:n.subarray(0,u)};x.binary.base58.encode=function(t,e){return x.binary.baseN.encode(t,t5,e)};x.binary.base58.decode=function(t,e){return x.binary.baseN.decode(t,t5,e)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(t,e,r){t=x.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};x.text.utf8.decode=function(t){return x.decodeUtf8(String.fromCharCode.apply(null,t))};x.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};x.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};x.deflate=function(t,e,r){if(e=x.decode64(t.deflate(x.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};x.inflate=function(t,e,r){var n=t.inflate(x.encode64(e)).rval;return n===null?null:x.decode64(n)};var ga=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=x.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},ma=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(x.decode64(r))),r},Rh=function(t,e,r,n){var i=ma(t,e);i===null&&(i={}),i[r]=n,ga(t,e,i)},Ph=function(t,e,r){var n=ma(t,e);return n!==null&&(n=r in n?n[r]:null),n},Nh=function(t,e,r){var n=ma(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),ga(t,e,n)}},Lh=function(t,e){ga(t,e,null)},j0=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),o=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};x.setItem=function(t,e,r,n,i){j0(Rh,arguments,i)};x.getItem=function(t,e,r,n){return j0(Ph,arguments,n)};x.removeItem=function(t,e,r,n){j0(Nh,arguments,n)};x.clearItems=function(t,e,r){j0(Lh,arguments,r)};x.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};x.format=function(t){for(var e=/%./g,r,n,i=0,o=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&o.push(n),s=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(t.substring(s)),o.join("")};x.formatNumber=function(t,e,r,n){var i=t,o=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};x.formatSize=function(t){return t>=1073741824?t=x.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=x.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=x.formatNumber(t/1024,0)+" KiB":t=x.formatNumber(t,0)+" bytes",t};x.bytesFromIP=function(t){return t.indexOf(".")!==-1?x.bytesFromIPv4(t):t.indexOf(":")!==-1?x.bytesFromIPv6(t):null};x.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=x.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};x.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=x.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=x.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};x.bytesToIP=function(t){return t.length===4?x.bytesToIPv4(t):t.length===16?x.bytesToIPv6(t):null};x.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};x.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=x.bytesToHex(t[i]+t[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=e.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};x.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in x&&!t.update)return e(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,e(null,x.cores);if(typeof Worker>"u")return x.cores=1,e(null,x.cores);if(typeof Blob>"u")return x.cores=2,e(null,x.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return x.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,x.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(p){if(u.push(p.data),u.length===s){for(var d=0;d<s;++d)c[d].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],p=0;p<s;++p)if(u!==p){var d=a[p];(f.st>d.st&&f.st<d.et||d.st>f.st&&d.st<f.et)&&l.push(p)}return c.reduce(function(h,y){return Math.max(h,y.length)},0)}}});var xa=M((GS,n5)=>{var Me=ne();Re();n5.exports=Me.cipher=Me.cipher||{};Me.cipher.algorithms=Me.cipher.algorithms||{};Me.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Me.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Me.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Me.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Me.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Me.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Me.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Me.cipher.algorithms[t]=e};Me.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Me.cipher.algorithms?Me.cipher.algorithms[t]:null};var va=Me.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};va.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=Me.util.createBuffer(),this.output=t.output||Me.util.createBuffer(),this.mode.start(e)};va.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};va.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var wa=M((QS,i5)=>{var Ke=ne();Re();Ke.cipher=Ke.cipher||{};var H=i5.exports=Ke.cipher.modes=Ke.cipher.modes||{};H.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};H.ecb.prototype.start=function(t){};H.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};H.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};H.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};H.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};H.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};H.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=J0(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};H.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};H.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};H.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};H.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};H.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ke.util.createBuffer(),this._partialBytes=0};H.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=J0(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ke.util.createBuffer(),this._partialBytes=0};H.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=J0(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.ofb.prototype.decrypt=H.ofb.prototype.encrypt;H.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ke.util.createBuffer(),this._partialBytes=0};H.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=J0(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}e1(this._inBlock)};H.ctr.prototype.decrypt=H.ctr.prototype.encrypt;H.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ke.util.createBuffer(),this._partialBytes=0,this._R=3774873600};H.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Ke.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Ke.util.createBuffer(t.additionalData):r=Ke.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Ke.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(ba(n*8)))}this._inBlock=this._j0.slice(0),e1(this._inBlock),this._partialBytes=0,r=Ke.util.createBuffer(r),this._aDataLength=ba(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};H.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),e1(this._inBlock)};H.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),e1(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};H.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Ke.util.createBuffer();var n=this._aDataLength.concat(ba(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};H.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var o=t[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};H.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};H.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,o=this._m[r][i];e[0]^=o[0],e[1]^=o[1],e[2]^=o[2],e[3]^=o[3]}return e};H.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};H.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*e;a[c]=1<<e-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,t),e)}return o};H.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function J0(t,e){if(typeof t=="string"&&(t=Ke.util.createBuffer(t)),Ke.util.isArray(t)&&t.length>4){var r=t;t=Ke.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!Ke.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function e1(t){t[t.length-1]=t[t.length-1]+1&4294967295}function ba(t){return[t/4294967296|0,t&4294967295]}});var r1=M((YS,c5)=>{var ce=ne();xa();wa();Re();c5.exports=ce.aes=ce.aes||{};ce.aes.startEncrypting=function(t,e,r,n){var i=t1({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ce.aes.createEncryptionCipher=function(t,e){return t1({key:t,output:null,decrypt:!1,mode:e})};ce.aes.startDecrypting=function(t,e,r,n){var i=t1({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ce.aes.createDecryptionCipher=function(t,e){return t1({key:t,output:null,decrypt:!0,mode:e})};ce.aes.Algorithm=function(t,e){Aa||s5();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Sa(r._w,n,i,!1)},decrypt:function(n,i){return Sa(r._w,n,i,!0)}}}),r._init=!1};ce.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=ce.util.createBuffer(e);else if(ce.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=ce.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!ce.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!ce.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=a5(e,t.decrypt&&!s),this._init=!0}};ce.aes._expandKey=function(t,e){return Aa||s5(),a5(t,e)};ce.aes._updateBlock=Sa;Qn("AES-ECB",ce.cipher.modes.ecb);Qn("AES-CBC",ce.cipher.modes.cbc);Qn("AES-CFB",ce.cipher.modes.cfb);Qn("AES-OFB",ce.cipher.modes.ofb);Qn("AES-CTR",ce.cipher.modes.ctr);Qn("AES-GCM",ce.cipher.modes.gcm);function Qn(t,e){var r=function(){return new ce.aes.Algorithm(t,e)};ce.cipher.registerAlgorithm(t,r)}var Aa=!1,Gn=4,Ye,Ea,o5,Zr,St;function s5(){Aa=!0,o5=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;Ye=new Array(256),Ea=new Array(256),Zr=new Array(4),St=new Array(4);for(var e=0;e<4;++e)Zr[e]=new Array(256),St[e]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Ye[r]=a,Ea[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)Zr[l][r]=u,St[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function a5(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=Gn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=Ye[n>>>16&255]<<24^Ye[n>>>8&255]<<16^Ye[n&255]<<8^Ye[n>>>24]^o5[i]<<24,i++):o>6&&c%o===4&&(n=Ye[n>>>24]<<24^Ye[n>>>16&255]<<16^Ye[n>>>8&255]<<8^Ye[n&255]),r[c]=r[c-o]^n;if(e){var u,f=St[0],l=St[1],p=St[2],d=St[3],h=r.slice(0);a=r.length;for(var c=0,y=a-Gn;c<a;c+=Gn,y-=Gn)if(c===0||c===a-Gn)h[c]=r[y],h[c+1]=r[y+3],h[c+2]=r[y+2],h[c+3]=r[y+1];else for(var g=0;g<Gn;++g)u=r[y+g],h[c+(3&-g)]=f[Ye[u>>>24]]^l[Ye[u>>>16&255]]^p[Ye[u>>>8&255]]^d[Ye[u&255]];r=h}return r}function Sa(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=St[0],s=St[1],a=St[2],c=St[3],u=Ea):(o=Zr[0],s=Zr[1],a=Zr[2],c=Zr[3],u=Ye);var f,l,p,d,h,y,g;f=e[0]^t[0],l=e[n?3:1]^t[1],p=e[2]^t[2],d=e[n?1:3]^t[3];for(var m=3,v=1;v<i;++v)h=o[f>>>24]^s[l>>>16&255]^a[p>>>8&255]^c[d&255]^t[++m],y=o[l>>>24]^s[p>>>16&255]^a[d>>>8&255]^c[f&255]^t[++m],g=o[p>>>24]^s[d>>>16&255]^a[f>>>8&255]^c[l&255]^t[++m],d=o[d>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[p&255]^t[++m],f=h,l=y,p=g;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[p>>>8&255]<<8^u[d&255]^t[++m],r[n?3:1]=u[l>>>24]<<24^u[p>>>16&255]<<16^u[d>>>8&255]<<8^u[f&255]^t[++m],r[2]=u[p>>>24]<<24^u[d>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^t[++m],r[n?1:3]=u[d>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[p&255]^t[++m]}function t1(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=ce.cipher.createDecipher(r,t.key):n=ce.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ce.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var n1=M((sA,h5)=>{var Mi=ne();Mi.pki=Mi.pki||{};var Ia=h5.exports=Mi.pki.oids=Mi.oids=Mi.oids||{};function B(t,e){Ia[t]=e,Ia[e]=t}function te(t,e){Ia[t]=e}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");te("2.5.29.1","authorityKeyIdentifier");te("2.5.29.2","keyAttributes");te("2.5.29.3","certificatePolicies");te("2.5.29.4","keyUsageRestriction");te("2.5.29.5","policyMapping");te("2.5.29.6","subtreesConstraint");te("2.5.29.7","subjectAltName");te("2.5.29.8","issuerAltName");te("2.5.29.9","subjectDirectoryAttributes");te("2.5.29.10","basicConstraints");te("2.5.29.11","nameConstraints");te("2.5.29.12","policyConstraints");te("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");te("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");te("2.5.29.20","cRLNumber");te("2.5.29.21","cRLReason");te("2.5.29.22","expirationDate");te("2.5.29.23","instructionCode");te("2.5.29.24","invalidityDate");te("2.5.29.25","cRLDistributionPoints");te("2.5.29.26","issuingDistributionPoint");te("2.5.29.27","deltaCRLIndicator");te("2.5.29.28","issuingDistributionPoint");te("2.5.29.29","certificateIssuer");te("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");te("2.5.29.33","policyMappings");te("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");te("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");te("2.5.29.46","freshestCRL");te("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var Vi=M((aA,p5)=>{var fe=ne();Re();n1();var R=p5.exports=fe.asn1=fe.asn1||{};R.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};R.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};R.create=function(t,e,r,n,i){if(fe.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:t,type:e,constructed:r,composed:r||fe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=R.copy(a)),a};R.copy=function(t,e){var r;if(fe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(R.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:R.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};R.equals=function(t,e,r){if(fe.util.isArray(t)){if(!fe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!R.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&R.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};R.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Ki(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var Mh=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Ki(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};R.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=fe.util.createBuffer(t));var r=t.length(),n=i1(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function i1(t,e,r,n){var i;Ki(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=Mh(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var f,l,p=(o&32)===32;if(p)if(f=[],c===void 0)for(;;){if(Ki(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),f.push(i1(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),f.push(i1(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(f===void 0&&s===R.Class.UNIVERSAL&&a===R.Type.BITSTRING&&(l=t.bytes(c)),f===void 0&&n.decodeBitStrings&&s===R.Class.UNIVERSAL&&a===R.Type.BITSTRING&&c>1){var d=t.read,h=e,y=0;if(a===R.Type.BITSTRING&&(Ki(t,e,1),y=t.getByte(),e--),y===0)try{i=t.length();var g={strict:!0,decodeBitStrings:!0},m=i1(t,e,r+1,g),v=i-t.length();e-=v,a==R.Type.BITSTRING&&v++;var w=m.tagClass;v===c&&(w===R.Class.UNIVERSAL||w===R.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(t.read=d,e=h)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===R.Type.BMPSTRING)for(f="";c>0;c-=2)Ki(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(c),e-=c}var T=l===void 0?null:{bitStringContents:l};return R.create(s,a,p,f,T)}R.toDer=function(t){var e=fe.util.createBuffer(),r=t.tagClass|t.type,n=fe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=R.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var o=0;o<t.value.length;++o)t.value[o]!==void 0&&n.putBuffer(R.toDer(t.value[o]))}else if(t.type===R.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===R.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)e.putByte(a.charCodeAt(o))}return e.putBuffer(n),e};R.oidToDer=function(t){var e=t.split("."),r=fe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,o,s,a=2;a<e.length;++a){n=!0,i=[],o=parseInt(e[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};R.derToOid=function(t){var e;typeof t=="string"&&(t=fe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};R.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),o=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var f=parseInt(t.substr(u+1,2),10),l=parseInt(t.substr(u+4,2),10),p=f*60+l;p*=6e4,c==="+"?e.setTime(+e-p):e.setTime(+e+p)}return e};R.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,f=!1;t.charAt(t.length-1)==="Z"&&(f=!0);var l=t.length-5,p=t.charAt(l);if(p==="+"||p==="-"){var d=parseInt(t.substr(l+1,2),10),h=parseInt(t.substr(l+4,2),10);u=d*60+h,u*=6e4,p==="+"&&(u*=-1),f=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),f?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};R.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};R.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};R.integerToDer=function(t){var e=fe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};R.derToInteger=function(t){typeof t=="string"&&(t=fe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};R.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&fe.util.isArray(e.value))for(var o=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[o]&&(i=R.validate(t.value[o],e.value[s],r,n),i?++o:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var d5=/[^\\u0000-\\u00ff]/;R.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
+ `);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case R.Class.UNIVERSAL:n+="Universal:";break;case R.Class.APPLICATION:n+="Application:";break;case R.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case R.Class.PRIVATE:n+="Private:";break}if(t.tagClass===R.Class.UNIVERSAL)switch(n+=t.type,t.type){case R.Type.NONE:n+=" (None)";break;case R.Type.BOOLEAN:n+=" (Boolean)";break;case R.Type.INTEGER:n+=" (Integer)";break;case R.Type.BITSTRING:n+=" (Bit string)";break;case R.Type.OCTETSTRING:n+=" (Octet string)";break;case R.Type.NULL:n+=" (Null)";break;case R.Type.OID:n+=" (Object Identifier)";break;case R.Type.ODESC:n+=" (Object Descriptor)";break;case R.Type.EXTERNAL:n+=" (External or Instance of)";break;case R.Type.REAL:n+=" (Real)";break;case R.Type.ENUMERATED:n+=" (Enumerated)";break;case R.Type.EMBEDDED:n+=" (Embedded PDV)";break;case R.Type.UTF8:n+=" (UTF8)";break;case R.Type.ROID:n+=" (Relative Object Identifier)";break;case R.Type.SEQUENCE:n+=" (Sequence)";break;case R.Type.SET:n+=" (Set)";break;case R.Type.PRINTABLESTRING:n+=" (Printable String)";break;case R.Type.IA5String:n+=" (IA5String (ASCII))";break;case R.Type.UTCTIME:n+=" (UTC time)";break;case R.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case R.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
7
+ `,n+=i+"Constructed: "+t.constructed+`
8
+ `,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=R.prettyPrint(t.value[o],e+1,r),o+1<t.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",t.type===R.Type.OID){var c=R.derToOid(t.value);n+=c,fe.pki&&fe.pki.oids&&c in fe.pki.oids&&(n+=" ("+fe.pki.oids[c]+") ")}if(t.type===R.Type.INTEGER)try{n+=R.derToInteger(t.value)}catch{n+="0x"+fe.util.bytesToHex(t.value)}else if(t.type===R.Type.BITSTRING){if(t.value.length>1?n+="0x"+fe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===R.Type.OCTETSTRING)d5.test(t.value)||(n+="("+t.value+") "),n+="0x"+fe.util.bytesToHex(t.value);else if(t.type===R.Type.UTF8)try{n+=fe.util.decodeUtf8(t.value)}catch(f){if(f.message==="URI malformed")n+="0x"+fe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw f}else t.type===R.Type.PRINTABLESTRING||t.type===R.Type.IA5String?n+=t.value:d5.test(t.value)?n+="0x"+fe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var m5=M((cA,g5)=>{var me=ne();xa();wa();Re();g5.exports=me.des=me.des||{};me.des.startEncrypting=function(t,e,r,n){var i=o1({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};me.des.createEncryptionCipher=function(t,e){return o1({key:t,output:null,decrypt:!1,mode:e})};me.des.startDecrypting=function(t,e,r,n){var i=o1({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};me.des.createDecryptionCipher=function(t,e){return o1({key:t,output:null,decrypt:!0,mode:e})};me.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return y5(r._keys,n,i,!1)},decrypt:function(n,i){return y5(r._keys,n,i,!0)}}}),r._init=!1};me.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=me.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=Yh(e),this._init=!0}};Kt("DES-ECB",me.cipher.modes.ecb);Kt("DES-CBC",me.cipher.modes.cbc);Kt("DES-CFB",me.cipher.modes.cfb);Kt("DES-OFB",me.cipher.modes.ofb);Kt("DES-CTR",me.cipher.modes.ctr);Kt("3DES-ECB",me.cipher.modes.ecb);Kt("3DES-CBC",me.cipher.modes.cbc);Kt("3DES-CFB",me.cipher.modes.cfb);Kt("3DES-OFB",me.cipher.modes.ofb);Kt("3DES-CTR",me.cipher.modes.ctr);function Kt(t,e){var r=function(){return new me.des.Algorithm(t,e)};me.cipher.registerAlgorithm(t,r)}var Kh=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],Vh=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],zh=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],qh=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],$h=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],Hh=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],Gh=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],Qh=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function Yh(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],p=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=t.length()>8?3:1,g=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],v=0,w,T=0;T<y;T++){var S=t.getInt32(),I=t.getInt32();w=(S>>>4^I)&252645135,I^=w,S^=w<<4,w=(I>>>-16^S)&65535,S^=w,I^=w<<-16,w=(S>>>2^I)&858993459,I^=w,S^=w<<2,w=(I>>>-16^S)&65535,S^=w,I^=w<<-16,w=(S>>>1^I)&1431655765,I^=w,S^=w<<1,w=(I>>>8^S)&16711935,S^=w,I^=w<<8,w=(S>>>1^I)&1431655765,I^=w,S^=w<<1,w=S<<8|I>>>20&240,S=I<<24|I<<8&16711680|I>>>8&65280|I>>>24&240,I=w;for(var L=0;L<m.length;++L){m[L]?(S=S<<2|S>>>26,I=I<<2|I>>>26):(S=S<<1|S>>>27,I=I<<1|I>>>27),S&=-15,I&=-15;var F=e[S>>>28]|r[S>>>24&15]|n[S>>>20&15]|i[S>>>16&15]|o[S>>>12&15]|s[S>>>8&15]|a[S>>>4&15],re=c[I>>>28]|u[I>>>24&15]|f[I>>>20&15]|l[I>>>16&15]|p[I>>>12&15]|d[I>>>8&15]|h[I>>>4&15];w=(re>>>16^F)&65535,g[v++]=F^w,g[v++]=re^w<<16}}return g}function y5(t,e,r,n){var i=t.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=e[0],c=e[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],p=o[u];p!=f;p+=l){var d=c^t[p],h=(c>>>4|c<<28)^t[p+1];s=a,a=c,c=s^(Vh[d>>>24&63]|qh[d>>>16&63]|Hh[d>>>8&63]|Qh[d&63]|Kh[h>>>24&63]|zh[h>>>16&63]|$h[h>>>8&63]|Gh[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function o1(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=me.cipher.createDecipher(r,t.key):n=me.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof me.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Xr=M((uA,v5)=>{var s1=ne();v5.exports=s1.md=s1.md||{};s1.md.algorithms=s1.md.algorithms||{}});var b5=M((fA,x5)=>{var ir=ne();Xr();Re();var Wh=x5.exports=ir.hmac=ir.hmac||{};Wh.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in ir.md.algorithms)e=ir.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else e=o;if(s===null)s=t;else{if(typeof s=="string")s=ir.util.createBuffer(s);else if(ir.util.isArray(s)){var a=s;s=ir.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=ir.util.createBuffer(),n=ir.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(o){e.update(o)},i.getMac=function(){var o=e.digest().bytes();return e.start(),e.update(n),e.update(o),e.digest()},i.digest=i.getMac,i}});var Yn=M(()=>{});var Ca=M((dA,w5)=>{var We=ne();b5();Xr();Re();var Zh=We.pkcs5=We.pkcs5||{},or;We.util.isNodejs&&!We.options.usePureJavaScript&&(or=Yn());w5.exports=We.pbkdf2=Zh.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),We.util.isNodejs&&!We.options.usePureJavaScript&&or.pbkdf2&&(i===null||typeof i!="object")&&(or.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?or.pbkdf2Sync.length===4?or.pbkdf2(t,e,r,n,function(w,T){if(w)return o(w);o(null,T.toString("binary"))}):or.pbkdf2(t,e,r,n,i,function(w,T){if(w)return o(w);o(null,T.toString("binary"))}):or.pbkdf2Sync.length===4?or.pbkdf2Sync(t,e,r,n).toString("binary"):or.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in We.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=We.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=We.hmac.create();f.start(i,t);var l="",p,d,h;if(!o){for(var y=1;y<=c;++y){f.start(null,null),f.update(e),f.update(We.util.int32ToBytes(y)),p=h=f.digest().getBytes();for(var g=2;g<=r;++g)f.start(null,null),f.update(h),d=f.digest().getBytes(),p=We.util.xorBytes(p,d,s),h=d;l+=y<c?p:p.substr(0,u)}return l}var y=1,g;function m(){if(y>c)return o(null,l);f.start(null,null),f.update(e),f.update(We.util.int32ToBytes(y)),p=h=f.digest().getBytes(),g=2,v()}function v(){if(g<=r)return f.start(null,null),f.update(h),d=f.digest().getBytes(),p=We.util.xorBytes(p,d,s),h=d,++g,We.util.setImmediate(v);l+=y<c?p:p.substr(0,u),++y,m()}m()}});var A5=M((pA,S5)=>{var c1=ne();Re();var E5=S5.exports=c1.pem=c1.pem||{};E5.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
9
+ `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=a1(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=a1(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=a1(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=a1(t.headers[i]);return t.procType&&(r+=`\r
10
+ `),r+=c1.util.encode64(t.body,e.maxline||64)+`\r
11
+ `,r+="-----END "+t.type+`-----\r
12
+ `,r};E5.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(t),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:c1.util.decode64(o[3])};if(e.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var p=c[l];if(!/\s/.test(p[0]))break;f+=p,u=l}if(o=f.match(n),o){for(var d={name:o[1],values:[]},h=o[2].split(","),y=0;y<h.length;++y)d.values.push(Xh(h[y]));if(a.procType)if(!a.contentDomain&&d.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&d.name==="DEK-Info"){if(d.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(d);else{if(d.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(d.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function a1(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
13
+ `;for(var o=0,s=-1,i=0;i<e.length;++i,++o)if(o>65&&s!==-1){var a=e[s];a===","?(++s,e=e.substr(0,s)+`\r
14
+ `+e.substr(s)):e=e.substr(0,s)+`\r
15
+ `+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function Xh(t){return t.replace(/^\s+/,"")}});var R5=M((yA,_5)=>{var Vt=ne();Xr();Re();var C5=_5.exports=Vt.sha256=Vt.sha256||{};Vt.md.sha256=Vt.md.algorithms.sha256=C5;C5.create=function(){B5||jh();var t=null,e=Vt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Vt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Vt.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),I5(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Vt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Ba.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};I5(l,r,i);var p=Vt.util.createBuffer();return p.putInt32(l.h0),p.putInt32(l.h1),p.putInt32(l.h2),p.putInt32(l.h3),p.putInt32(l.h4),p.putInt32(l.h5),p.putInt32(l.h6),p.putInt32(l.h7),p},n};var Ba=null,B5=!1,T5=null;function jh(){Ba=String.fromCharCode(128),Ba+=Vt.util.fillString(String.fromCharCode(0),64),T5=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],B5=!0}function I5(t,e,r){for(var n,i,o,s,a,c,u,f,l,p,d,h,y,g,m,v=r.length();v>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(f=t.h0,l=t.h1,p=t.h2,d=t.h3,h=t.h4,y=t.h5,g=t.h6,m=t.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(y^g),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|p&(f^l),n=m+s+a+T5[u]+e[u],i=o+c,m=g,g=y,y=h,h=d+n>>>0,d=p,p=l,l=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+l|0,t.h2=t.h2+p|0,t.h3=t.h3+d|0,t.h4=t.h4+h|0,t.h5=t.h5+y|0,t.h6=t.h6+g|0,t.h7=t.h7+m|0,v-=64}}});var N5=M((gA,P5)=>{var zt=ne();Re();var u1=null;zt.util.isNodejs&&!zt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(u1=Yn());var Jh=P5.exports=zt.prng=zt.prng||{};Jh.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,f){if(!f)return e.generateSync(u);var l=e.plugin.cipher,p=e.plugin.increment,d=e.plugin.formatKey,h=e.plugin.formatSeed,y=zt.util.createBuffer();e.key=null,g();function g(m){if(m)return f(m);if(y.length()>=u)return f(null,y.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return zt.util.nextTick(function(){o(g)});var v=l(e.key,e.seed);e.generated+=v.length,y.putBytes(v),e.key=d(l(e.key,p(e.seed))),e.seed=h(l(e.key,e.seed)),zt.util.setImmediate(g)}},e.generateSync=function(u){var f=e.plugin.cipher,l=e.plugin.increment,p=e.plugin.formatKey,d=e.plugin.formatSeed;e.key=null;for(var h=zt.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var y=f(e.key,e.seed);e.generated+=y.length,h.putBytes(y),e.key=p(f(e.key,l(e.seed))),e.seed=d(f(e.key,e.seed))}return h.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var f=32-e.pools[0].messageLength<<5;e.seedFile(f,function(l,p){if(l)return u(l);e.collect(p),a(),u()})}function s(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var f=1,l=0;l<32;++l)e.reseeds%f===0&&(u.update(e.pools[l].digest().getBytes()),e.pools[l].start()),f=f<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var p=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(p),e.generated=0}function c(u){var f=null,l=zt.util.globalScope,p=l.crypto||l.msCrypto;p&&p.getRandomValues&&(f=function(S){return p.getRandomValues(S)});var d=zt.util.createBuffer();if(f)for(;d.length()<u;){var h=Math.max(1,Math.min(u-d.length(),65536)/4),y=new Uint32Array(Math.floor(h));try{f(y);for(var g=0;g<y.length;++g)d.putInt32(y[g])}catch(S){if(!(typeof QuotaExceededError<"u"&&S instanceof QuotaExceededError))throw S}}if(d.length()<u)for(var m,v,w,T=Math.floor(Math.random()*65536);d.length()<u;){v=16807*(T&65535),m=16807*(T>>16),v+=(m&32767)<<16,v+=m>>15,v=(v&2147483647)+(v>>31),T=v&4294967295;for(var g=0;g<3;++g)w=T>>>(g<<3),w^=Math.floor(Math.random()*256),d.putByte(w&255)}return d.getBytes(u)}return u1?(e.seedFile=function(u,f){u1.randomBytes(u,function(l,p){if(l)return f(l);f(null,p.toString())})},e.seedFileSync=function(u){return u1.randomBytes(u).toString()}):(e.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},e.seedFileSync=c),e.collect=function(u){for(var f=u.length,l=0;l<f;++l)e.pools[e.pool].update(u.substr(l,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,f){for(var l="",p=0;p<f;p+=8)l+=String.fromCharCode(u>>p&255);e.collect(l)},e.registerWorker=function(u){if(u===self)e.seedFile=function(l,p){function d(h){var y=h.data;y.forge&&y.forge.prng&&(self.removeEventListener("message",d),p(y.forge.prng.err,y.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var p=l.data;p.forge&&p.forge.prng&&e.seedFile(p.forge.prng.needed,function(d,h){u.postMessage({forge:{prng:{err:d,bytes:h}}})})};u.addEventListener("message",f)}},e}});var zi=M((mA,Ta)=>{var Ve=ne();r1();R5();N5();Re();(function(){if(Ve.random&&Ve.random.getBytes){Ta.exports=Ve.random;return}(function(t){var e={},r=new Array(4),n=Ve.util.createBuffer();e.formatKey=function(l){var p=Ve.util.createBuffer(l);return l=new Array(4),l[0]=p.getInt32(),l[1]=p.getInt32(),l[2]=p.getInt32(),l[3]=p.getInt32(),Ve.aes._expandKey(l,!1)},e.formatSeed=function(l){var p=Ve.util.createBuffer(l);return l=new Array(4),l[0]=p.getInt32(),l[1]=p.getInt32(),l[2]=p.getInt32(),l[3]=p.getInt32(),l},e.cipher=function(l,p){return Ve.aes._updateBlock(l,p,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(l){return++l[3],l},e.md=Ve.md.sha256;function i(){var l=Ve.prng.create(e);return l.getBytes=function(p,d){return l.generate(p,d)},l.getBytesSync=function(p){return l.generate(p)},l}var o=i(),s=null,a=Ve.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Ve.options.usePureJavaScript||!Ve.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),t().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Ve.random)Ve.random=o;else for(var f in o)Ve.random[f]=o[f];Ve.random.createInstance=i,Ta.exports=Ve.random})(typeof jQuery<"u"?jQuery:null)})()});var F5=M((vA,D5)=>{var Je=ne();Re();var _a=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],L5=[1,2,3,5],ed=function(t,e){return t<<e&65535|(t&65535)>>16-e},td=function(t,e){return(t&65535)>>e|t<<16-e&65535};D5.exports=Je.rc2=Je.rc2||{};Je.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Je.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(_a[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,_a[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,_a[r.at(a+1)^r.at(a+o)]);return r};var k5=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(t=Je.rc2.expandKey(t,e),u=0;u<64;u++)l.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=ed(h[u],L5[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=td(h[u],L5[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var p=function(h){var y=[];for(u=0;u<4;u++){var g=i.getInt16Le();s!==null&&(r?g^=s.getInt16Le():s.putInt16Le(g)),y.push(g&65535)}f=r?0:63;for(var m=0;m<h.length;m++)for(var v=0;v<h[m][0];v++)h[m][1](y);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(y[u]):y[u]^=s.getInt16Le()),o.putInt16Le(y[u])},d=null;return d={start:function(h,y){h&&typeof h=="string"&&(h=Je.util.createBuffer(h)),n=!1,i=Je.util.createBuffer(),o=y||new Je.util.createBuffer,s=h,d.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)p([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var y=!0;if(r)if(h)y=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(y&&(n=!0,d.update()),!r&&(y=i.length()===0,y))if(h)y=h(8,o,!r);else{var m=o.length(),v=o.at(m-1);v>m?y=!1:o.truncate(v)}return y}},d};Je.rc2.startEncrypting=function(t,e,r){var n=Je.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Je.rc2.createEncryptionCipher=function(t,e){return k5(t,e,!0)};Je.rc2.startDecrypting=function(t,e,r){var n=Je.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Je.rc2.createDecryptionCipher=function(t,e){return k5(t,e,!1)}});var h1=M((xA,$5)=>{var Ra=ne();$5.exports=Ra.jsbn=Ra.jsbn||{};var sr,rd=0xdeadbeefcafe,O5=(rd&16777215)==15715070;function A(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Ra.jsbn.BigInteger=A;function j(){return new A(null)}function nd(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function id(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function U5(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(A.prototype.am=U5,sr=28):O5&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=id,sr=30):O5&&navigator.appName!="Netscape"?(A.prototype.am=nd,sr=26):(A.prototype.am=U5,sr=28);A.prototype.DB=sr;A.prototype.DM=(1<<sr)-1;A.prototype.DV=1<<sr;var Pa=52;A.prototype.FV=Math.pow(2,Pa);A.prototype.F1=Pa-sr;A.prototype.F2=2*sr-Pa;var od="0123456789abcdefghijklmnopqrstuvwxyz",f1=new Array,Wn,ht;Wn="0".charCodeAt(0);for(ht=0;ht<=9;++ht)f1[Wn++]=ht;Wn="a".charCodeAt(0);for(ht=10;ht<36;++ht)f1[Wn++]=ht;Wn="A".charCodeAt(0);for(ht=10;ht<36;++ht)f1[Wn++]=ht;function M5(t){return od.charAt(t)}function K5(t,e){var r=f1[t.charCodeAt(e)];return r??-1}function sd(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function ad(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Cr(t){var e=j();return e.fromInt(t),e}function cd(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:K5(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&A.ZERO.subTo(this,this)}function ud(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function fd(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=M5(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=M5(n));return i?o:"0"}function ld(){var t=j();return A.ZERO.subTo(this,t),t}function hd(){return this.s<0?this.negate():this}function dd(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function l1(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function pd(){return this.t<=0?0:this.DB*(this.t-1)+l1(this.data[this.t-1]^this.s&this.DM)}function yd(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function gd(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function md(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function vd(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function xd(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function bd(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&A.ZERO.subTo(e,e)}function wd(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function Ed(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=j());var o=j(),s=this.s,a=t.s,c=this.DB-l1(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),p=this.FV/l,d=(1<<this.F1)/l,h=1<<this.F2,y=r.t,g=y-u,m=e??j();for(o.dlShiftTo(g,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),A.ONE.dlShiftTo(u,m),m.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--g>=0;){var v=r.data[--y]==f?this.DM:Math.floor(r.data[y]*p+(r.data[y-1]+h)*d);if((r.data[y]+=o.am(0,v,r,g,0,u))<v)for(o.dlShiftTo(g,m),r.subTo(m,r);r.data[y]<--v;)r.subTo(m,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&A.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&A.ZERO.subTo(r,r)}}}function Sd(t){var e=j();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(A.ZERO)>0&&t.subTo(e,e),e}function jr(t){this.m=t}function Ad(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Id(t){return t}function Cd(t){t.divRemTo(this.m,null,t)}function Bd(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Td(t,e){t.squareTo(e),this.reduce(e)}jr.prototype.convert=Ad;jr.prototype.revert=Id;jr.prototype.reduce=Cd;jr.prototype.mulTo=Bd;jr.prototype.sqrTo=Td;function _d(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function Jr(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function Rd(t){var e=j();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(A.ZERO)>0&&this.m.subTo(e,e),e}function Pd(t){var e=j();return t.copyTo(e),this.reduce(e),e}function Nd(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Ld(t,e){t.squareTo(e),this.reduce(e)}function kd(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Jr.prototype.convert=Rd;Jr.prototype.revert=Pd;Jr.prototype.reduce=Nd;Jr.prototype.mulTo=kd;Jr.prototype.sqrTo=Ld;function Dd(){return(this.t>0?this.data[0]&1:this.s)==0}function Fd(t,e){if(t>4294967295||t<1)return A.ONE;var r=j(),n=j(),i=e.convert(this),o=l1(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function Od(t,e){var r;return t<256||e.isEven()?r=new jr(e):r=new Jr(e),this.exp(t,r)}A.prototype.copyTo=sd;A.prototype.fromInt=ad;A.prototype.fromString=cd;A.prototype.clamp=ud;A.prototype.dlShiftTo=yd;A.prototype.drShiftTo=gd;A.prototype.lShiftTo=md;A.prototype.rShiftTo=vd;A.prototype.subTo=xd;A.prototype.multiplyTo=bd;A.prototype.squareTo=wd;A.prototype.divRemTo=Ed;A.prototype.invDigit=_d;A.prototype.isEven=Dd;A.prototype.exp=Fd;A.prototype.toString=fd;A.prototype.negate=ld;A.prototype.abs=hd;A.prototype.compareTo=dd;A.prototype.bitLength=pd;A.prototype.mod=Sd;A.prototype.modPowInt=Od;A.ZERO=Cr(0);A.ONE=Cr(1);function Ud(){var t=j();return this.copyTo(t),t}function Md(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function Kd(){return this.t==0?this.s:this.data[0]<<24>>24}function Vd(){return this.t==0?this.s:this.data[0]<<16>>16}function zd(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function qd(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function $d(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Cr(r),i=j(),o=j(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function Hd(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=K5(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&A.ZERO.subTo(this,this)}function Gd(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(A.ONE.shiftLeft(t-1),Na,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(A.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Qd(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function Yd(t){return this.compareTo(t)==0}function Wd(t){return this.compareTo(t)<0?this:t}function Zd(t){return this.compareTo(t)>0?this:t}function Xd(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function jd(t,e){return t&e}function Jd(t){var e=j();return this.bitwiseTo(t,jd,e),e}function Na(t,e){return t|e}function ep(t){var e=j();return this.bitwiseTo(t,Na,e),e}function V5(t,e){return t^e}function tp(t){var e=j();return this.bitwiseTo(t,V5,e),e}function z5(t,e){return t&~e}function rp(t){var e=j();return this.bitwiseTo(t,z5,e),e}function np(){for(var t=j(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function ip(t){var e=j();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function op(t){var e=j();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function sp(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function ap(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+sp(this.data[t]);return this.s<0?this.t*this.DB:-1}function cp(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function up(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=cp(this.data[r]^e);return t}function fp(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function lp(t,e){var r=A.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function hp(t){return this.changeBit(t,Na)}function dp(t){return this.changeBit(t,z5)}function pp(t){return this.changeBit(t,V5)}function yp(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function gp(t){var e=j();return this.addTo(t,e),e}function mp(t){var e=j();return this.subTo(t,e),e}function vp(t){var e=j();return this.multiplyTo(t,e),e}function xp(t){var e=j();return this.divRemTo(t,e,null),e}function bp(t){var e=j();return this.divRemTo(t,null,e),e}function wp(t){var e=j(),r=j();return this.divRemTo(t,e,r),new Array(e,r)}function Ep(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Sp(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function qi(){}function q5(t){return t}function Ap(t,e,r){t.multiplyTo(e,r)}function Ip(t,e){t.squareTo(e)}qi.prototype.convert=q5;qi.prototype.revert=q5;qi.prototype.mulTo=Ap;qi.prototype.sqrTo=Ip;function Cp(t){return this.exp(t,new qi)}function Bp(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function Tp(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function Zn(t){this.r2=j(),this.q3=j(),A.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function _p(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=j();return t.copyTo(e),this.reduce(e),e}function Rp(t){return t}function Pp(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function Np(t,e){t.squareTo(e),this.reduce(e)}function Lp(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Zn.prototype.convert=_p;Zn.prototype.revert=Rp;Zn.prototype.reduce=Pp;Zn.prototype.mulTo=Lp;Zn.prototype.sqrTo=Np;function kp(t,e){var r=t.bitLength(),n,i=Cr(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new jr(e):e.isEven()?o=new Zn(e):o=new Jr(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=j();for(o.sqrTo(s[1],f);a<=u;)s[a]=j(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=t.t-1,p,d=!0,h=j(),y;for(r=l1(t.data[l])-1;l>=0;){for(r>=c?p=t.data[l]>>r-c&u:(p=(t.data[l]&(1<<r+1)-1)<<c-r,l>0&&(p|=t.data[l-1]>>this.DB+r-c)),a=n;!(p&1);)p>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),d)s[p].copyTo(i),d=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(y=i,i=h,h=y),o.mulTo(h,s[p],i)}for(;l>=0&&!(t.data[l]&1<<r);)o.sqrTo(i,h),y=i,i=h,h=y,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function Dp(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function Fp(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function Op(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return A.ZERO;for(var r=t.clone(),n=this.clone(),i=Cr(1),o=Cr(0),s=Cr(0),a=Cr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var At=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],Up=(1<<26)/At[At.length-1];function Mp(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=At[At.length-1]){for(e=0;e<At.length;++e)if(r.data[0]==At[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<At.length;){for(var n=At[e],i=e+1;i<At.length&&n<Up;)n*=At[i++];for(n=r.modInt(n);e<i;)if(n%At[e++]==0)return!1}return r.millerRabin(t)}function Kp(t){var e=this.subtract(A.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Vp(),o,s=0;s<t;++s){do o=new A(this.bitLength(),i);while(o.compareTo(A.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function Vp(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=zd;A.prototype.toRadix=$d;A.prototype.fromRadix=Hd;A.prototype.fromNumber=Gd;A.prototype.bitwiseTo=Xd;A.prototype.changeBit=lp;A.prototype.addTo=yp;A.prototype.dMultiply=Ep;A.prototype.dAddOffset=Sp;A.prototype.multiplyLowerTo=Bp;A.prototype.multiplyUpperTo=Tp;A.prototype.modInt=Fp;A.prototype.millerRabin=Kp;A.prototype.clone=Ud;A.prototype.intValue=Md;A.prototype.byteValue=Kd;A.prototype.shortValue=Vd;A.prototype.signum=qd;A.prototype.toByteArray=Qd;A.prototype.equals=Yd;A.prototype.min=Wd;A.prototype.max=Zd;A.prototype.and=Jd;A.prototype.or=ep;A.prototype.xor=tp;A.prototype.andNot=rp;A.prototype.not=np;A.prototype.shiftLeft=ip;A.prototype.shiftRight=op;A.prototype.getLowestSetBit=ap;A.prototype.bitCount=up;A.prototype.testBit=fp;A.prototype.setBit=hp;A.prototype.clearBit=dp;A.prototype.flipBit=pp;A.prototype.add=gp;A.prototype.subtract=mp;A.prototype.multiply=vp;A.prototype.divide=xp;A.prototype.remainder=bp;A.prototype.divideAndRemainder=wp;A.prototype.modPow=kp;A.prototype.modInverse=Op;A.prototype.pow=Cp;A.prototype.gcd=Dp;A.prototype.isProbablePrime=Mp});var W5=M((bA,Y5)=>{var qt=ne();Xr();Re();var G5=Y5.exports=qt.sha1=qt.sha1||{};qt.md.sha1=qt.md.algorithms.sha1=G5;G5.create=function(){Q5||zp();var t=null,e=qt.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=qt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=qt.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),H5(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=qt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(La.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};H5(l,r,i);var p=qt.util.createBuffer();return p.putInt32(l.h0),p.putInt32(l.h1),p.putInt32(l.h2),p.putInt32(l.h3),p.putInt32(l.h4),p},n};var La=null,Q5=!1;function zp(){La=String.fromCharCode(128),La+=qt.util.fillString(String.fromCharCode(0),64),Q5=!0}function H5(t,e,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,f=0;f<16;++f)n=r.getInt32(),e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,l-=64}}});var j5=M((wA,X5)=>{var $t=ne();Re();zi();W5();var Z5=X5.exports=$t.pkcs1=$t.pkcs1||{};Z5.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=$t.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",p=c-e.length,d=0;d<p;d++)l+="\0";var h=f.getBytes()+l+""+e;if(!i)i=$t.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var y=d1(i,a-o.digestLength-1,s),g=$t.util.xorBytes(h,y,h.length),m=d1(g,o.digestLength,s),v=$t.util.xorBytes(i,m,i.length);return"\0"+v+g};Z5.decode_rsa_oaep=function(t,e,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=e.length,g.expectedLength=s,g}if(i===void 0?i=$t.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),f=e.substring(1+i.digestLength),l=d1(f,i.digestLength,o),p=$t.util.xorBytes(u,l,u.length),d=d1(p,s-i.digestLength-1,o),h=$t.util.xorBytes(f,d,f.length),y=h.substring(0,i.digestLength),g=c!=="\0",m=0;m<i.digestLength;++m)g|=a.charAt(m)!==y.charAt(m);for(var v=1,w=i.digestLength,T=i.digestLength;T<h.length;T++){var S=h.charCodeAt(T),I=S&1^1,L=v?65534:0;g|=S&L,v=v&I,w+=v}if(g||h.charCodeAt(w)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(w+1)};function d1(t,e,r){r||(r=$t.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var J5=M((EA,ka)=>{var Br=ne();Re();h1();zi();(function(){if(Br.prime){ka.exports=Br.prime;return}var t=ka.exports=Br.prime=Br.prime||{},e=Br.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(l,p){return l|p};t.generateProbablePrime=function(l,p,d){typeof p=="function"&&(d=p,p={}),p=p||{};var h=p.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var y=p.prng||Br.random,g={nextBytes:function(m){for(var v=y.getBytesSync(m.length),w=0;w<m.length;++w)m[w]=v.charCodeAt(w)}};if(h.name==="PRIMEINC")return o(l,g,h.options,d);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,p,d,h){return"workers"in d?c(l,p,d,h):s(l,p,d,h)}function s(l,p,d,h){var y=u(l,p),g=0,m=f(y.bitLength());"millerRabinTests"in d&&(m=d.millerRabinTests);var v=10;"maxBlockTime"in d&&(v=d.maxBlockTime),a(y,l,p,g,m,v,h)}function a(l,p,d,h,y,g,m){var v=+new Date;do{if(l.bitLength()>p&&(l=u(p,d)),l.isProbablePrime(y))return m(null,l);l.dAddOffset(r[h++%8],0)}while(g<0||+new Date-v<g);Br.util.setImmediate(function(){a(l,p,d,h,y,g,m)})}function c(l,p,d,h){if(typeof Worker>"u")return s(l,p,d,h);var y=u(l,p),g=d.workers,m=d.workLoad||100,v=m*30/8,w=d.workerScript||"forge/prime.worker.js";if(g===-1)return Br.util.estimateCores(function(S,I){S&&(I=2),g=I-1,T()});T();function T(){g=Math.max(1,g);for(var S=[],I=0;I<g;++I)S[I]=new Worker(w);for(var L=g,I=0;I<g;++I)S[I].addEventListener("message",re);var F=!1;function re(gt){if(!F){--L;var tt=gt.data;if(tt.found){for(var Ge=0;Ge<S.length;++Ge)S[Ge].terminate();return F=!0,h(null,new e(tt.prime,16))}y.bitLength()>l&&(y=u(l,p));var ln=y.toString(16);gt.target.postMessage({hex:ln,workLoad:m}),y.dAddOffset(v,0)}}}}function u(l,p){var d=new e(l,p),h=l-1;return d.testBit(h)||d.bitwiseTo(e.ONE.shiftLeft(h),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var y1=M((SA,s6)=>{var O=ne();Vi();h1();n1();j5();J5();zi();Re();typeof Y>"u"&&(Y=O.jsbn.BigInteger);var Y,Da=O.util.isNodejs?Yn():null,b=O.asn1,dt=O.util;O.pki=O.pki||{};s6.exports=O.pki.rsa=O.rsa=O.rsa||{};var z=O.pki,qp=[6,4,2,4,2,4,6,2],$p={name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Hp={name:"RSAPrivateKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Gp={name:"RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Qp=O.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Yp={name:"DigestInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Wp=function(t){var e;if(t.algorithm in z.oids)e=z.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=b.oidToDer(e).getBytes(),i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]),o=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]);o.value.push(b.create(b.Class.UNIVERSAL,b.Type.OID,!1,n)),o.value.push(b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,""));var s=b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),b.toDer(i).getBytes()},i6=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(Y.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(Y.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new Y(O.util.bytesToHex(O.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(Y.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};z.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=o6(t,e,r)):(i=O.util.createBuffer(),i.putBytes(t));for(var s=new Y(i.toHex(),16),a=i6(s,e,n),c=a.toString(16),u=O.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(O.util.hexToBytes(c)),u.getBytes()};z.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new Y(O.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=i6(s,e,r),c=a.toString(16),u=O.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(O.util.hexToBytes(c)),n!==!1?p1(u.getBytes(),e,r):u.getBytes()};z.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||O.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new Y(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};z.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new Y(null);r.fromInt(30);for(var n=0,i=function(l,p){return l|p},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new Y(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(Y.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(Xp(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(qp[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(Y.ONE).gcd(t.e).compareTo(Y.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(Y.ONE),t.q1=t.q.subtract(Y.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(Y.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var f=t.e.modInverse(t.phi);t.keys={privateKey:z.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:z.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};z.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!O.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(e6("generateKeyPair"))return Da.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:z.privateKeyFromPem(u),publicKey:z.publicKeyFromPem(c)})});if(t6("generateKey")&&t6("exportKey"))return dt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:n6(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return dt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=z.privateKeyFromAsn1(b.fromDer(O.util.createBuffer(a)));n(null,{privateKey:c,publicKey:z.setRsaPublicKey(c.n,c.e)})}});if(r6("generateKey")&&r6("exportKey")){var i=dt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:n6(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=dt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,p=z.privateKeyFromAsn1(b.fromDer(O.util.createBuffer(l)));n(null,{privateKey:p,publicKey:z.setRsaPublicKey(p.n,p.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(e6("generateKeyPairSync")){var o=Da.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:z.privateKeyFromPem(o.privateKey),publicKey:z.publicKeyFromPem(o.publicKey)}}}var s=z.rsa.createKeyPairGenerationState(t,e,r);if(!n)return z.rsa.stepKeyPairGenerationState(s,0),s.keys;Zp(s,r,n)};z.setRsaPublicKey=z.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return o6(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return O.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return z.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=p1(u,r,!0);var f=b.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},p=[];if(!b.validate(f,Yp,l,p)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=p,d}var h=b.derToOid(l.algorithmIdentifier);if(!(h===O.oids.md2||h===O.oids.md5||h===O.oids.sha1||h===O.oids.sha224||h===O.oids.sha256||h===O.oids.sha384||h===O.oids.sha512||h===O.oids["sha512-224"]||h===O.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=h,d}if((h===O.oids.md2||h===O.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=p1(u,r,!0),c===u}});var a=z.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};z.setRsaPrivateKey=z.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var p=z.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:p1};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(d,h){return O.pkcs1.decode_rsa_oaep(h,d,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(p,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:Wp},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var p=f.encode(u,c.n.bitLength());return z.rsa.encrypt(p,c,l)},c};z.wrapRsaPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(z.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,b.toDer(t).getBytes())])};z.privateKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,$p,e,r)&&(t=b.fromDer(O.util.createBuffer(e.privateKey))),e={},r=[],!b.validate(t,Hp,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,l;return i=O.util.createBuffer(e.privateKeyModulus).toHex(),o=O.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=O.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=O.util.createBuffer(e.privateKeyPrime1).toHex(),c=O.util.createBuffer(e.privateKeyPrime2).toHex(),u=O.util.createBuffer(e.privateKeyExponent1).toHex(),f=O.util.createBuffer(e.privateKeyExponent2).toHex(),l=O.util.createBuffer(e.privateKeyCoefficient).toHex(),z.setRsaPrivateKey(new Y(i,16),new Y(o,16),new Y(s,16),new Y(a,16),new Y(c,16),new Y(u,16),new Y(f,16),new Y(l,16))};z.privateKeyToAsn1=z.privateKeyToRSAPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ht(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ht(t.e)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ht(t.d)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ht(t.p)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ht(t.q)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ht(t.dP)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ht(t.dQ)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ht(t.qInv))])};z.publicKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,Qp,e,r)){var n=b.derToOid(e.publicKeyOid);if(n!==z.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!b.validate(t,Gp,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=O.util.createBuffer(e.publicKeyModulus).toHex(),s=O.util.createBuffer(e.publicKeyExponent).toHex();return z.setRsaPublicKey(new Y(o,16),new Y(s,16))};z.publicKeyToAsn1=z.publicKeyToSubjectPublicKeyInfo=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(z.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.BITSTRING,!1,[z.publicKeyToRSAPublicKey(t)])])};z.publicKeyToRSAPublicKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ht(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ht(t.e))])};function o6(t,e,r){var n=O.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=O.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function p1(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=O.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function Zp(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){O.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(Y.ONE).gcd(t.e).compareTo(Y.ONE)!==0){t.p=null,i();return}if(t.q.subtract(Y.ONE).gcd(t.e).compareTo(Y.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(Y.ONE),t.q1=t.q.subtract(Y.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(Y.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var f=t.e.modInverse(t.phi);t.keys={privateKey:z.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:z.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Ht(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=O.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function Xp(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function e6(t){return O.util.isNodejs&&typeof Da[t]=="function"}function t6(t){return typeof dt.globalScope<"u"&&typeof dt.globalScope.crypto=="object"&&typeof dt.globalScope.crypto.subtle=="object"&&typeof dt.globalScope.crypto.subtle[t]=="function"}function r6(t){return typeof dt.globalScope<"u"&&typeof dt.globalScope.msCrypto=="object"&&typeof dt.globalScope.msCrypto.subtle=="object"&&typeof dt.globalScope.msCrypto.subtle[t]=="function"}function n6(t){for(var e=O.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var h6=M((AA,l6)=>{var P=ne();r1();Vi();m5();Xr();n1();Ca();A5();zi();F5();y1();Re();typeof a6>"u"&&(a6=P.jsbn.BigInteger);var a6,E=P.asn1,q=P.pki=P.pki||{};l6.exports=q.pbe=P.pbe=P.pbe||{};var en=q.oids,jp={name:"EncryptedPrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Jp={name:"PBES2Algorithms",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},ey={name:"pkcs-12PbeParams",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"iterations"}]};q.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,o=E.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=en["aes128-CBC"],l=P.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=en["aes192-CBC"],l=P.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=en["aes256-CBC"],l=P.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=en.desCBC,l=P.des.createEncryptionCipher;break;default:var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),h=f6(d),y=P.pkcs5.pbkdf2(e,n,i,s,h),g=P.random.getBytesSync(u),m=l(y);m.start(g),m.update(E.toDer(t)),m.finish(),c=m.output.getBytes();var v=ty(n,o,s,d);a=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(en.pkcs5PBES2).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(en.pkcs5PBKDF2).getBytes()),v]),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(f).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var w=new P.util.ByteBuffer(n),y=q.pbe.generatePkcs12Key(e,w,1,i,s),g=q.pbe.generatePkcs12Key(e,w,2,i,s),m=P.des.createEncryptionCipher(y);m.start(g),m.update(E.toDer(t)),m.finish(),c=m.output.getBytes(),a=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(en["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,n),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,o.getBytes())])])}else{var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var T=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[a,E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,c)]);return T};q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!E.validate(t,jp,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=E.derToOid(n.encryptionOid),a=q.pbe.getCipher(s,n.encryptionParams,e),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=E.fromDer(a.output)),r};q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:E.toDer(t).getBytes()};return P.pem.encode(r,{maxline:e})};q.encryptedPrivateKeyFromPem=function(t){var e=P.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return E.fromDer(e.body)};q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=q.wrapRsaPrivateKey(q.privateKeyToAsn1(t));return n=q.encryptPrivateKeyInfo(n,e,r),q.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=P.pbe.opensslDeriveBytes(e,o.substr(0,8),s),f=a(u);f.start(o),f.update(E.toDer(q.privateKeyToAsn1(t))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return P.pem.encode(l)};q.decryptRsaPrivateKey=function(t,e){var r=null,n=P.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=P.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=P.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=P.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return P.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return P.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return P.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=q.decryptPrivateKeyInfo(E.fromDer(r),e):r=E.fromDer(r),r!==null&&(r=q.privateKeyFromAsn1(r)),r};q.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');o=P.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new P.util.ByteBuffer,l=new P.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)l.putInt16(t.charCodeAt(a));l.putInt16(0)}var p=l.length(),d=e.length(),h=new P.util.ByteBuffer;h.fillWithByte(r,u);var y=u*Math.ceil(d/u),g=new P.util.ByteBuffer;for(a=0;a<y;a++)g.putByte(e.at(a%d));var m=u*Math.ceil(p/u),v=new P.util.ByteBuffer;for(a=0;a<m;a++)v.putByte(l.at(a%p));var w=g;w.putBuffer(v);for(var T=Math.ceil(i/c),S=1;S<=T;S++){var I=new P.util.ByteBuffer;I.putBytes(h.bytes()),I.putBytes(w.bytes());for(var L=0;L<n;L++)o.start(),o.update(I.getBytes()),I=o.digest();var F=new P.util.ByteBuffer;for(a=0;a<u;a++)F.putByte(I.at(a%c));var re=Math.ceil(d/u)+Math.ceil(p/u),gt=new P.util.ByteBuffer;for(s=0;s<re;s++){var tt=new P.util.ByteBuffer(w.getBytes(u)),Ge=511;for(a=F.length()-1;a>=0;a--)Ge=Ge>>8,Ge+=F.at(a)+tt.at(a),tt.setAt(a,Ge&255);gt.putBuffer(tt)}w=gt,f.putBuffer(I)}return f.truncate(f.length()-i),f};q.pbe.getCipher=function(t,e,r){switch(t){case q.oids.pkcs5PBES2:return q.pbe.getCipherForPBES2(t,e,r);case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case q.oids["pbewithSHAAnd40BitRC2-CBC"]:return q.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!E.validate(e,Jp,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=E.derToOid(n.kdfOid),t!==q.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=E.derToOid(n.encOid),t!==q.oids["aes128-CBC"]&&t!==q.oids["aes192-CBC"]&&t!==q.oids["aes256-CBC"]&&t!==q.oids["des-EDE3-CBC"]&&t!==q.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(q.oids[t]){case"aes128-CBC":c=16,u=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=P.des.createDecryptionCipher;break;case"desCBC":c=8,u=P.des.createDecryptionCipher;break}var f=u6(n.prfOid),l=P.pkcs5.pbkdf2(r,s,a,c,f),p=n.encIv,d=u(l);return d.start(p),d};q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!E.validate(e,ey,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(t){case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=P.des.startDecrypting;break;case q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(y,g){var m=P.rc2.createDecryptionCipher(y,40);return m.start(g,null),m};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var l=u6(n.prfOid),p=q.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var d=q.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(p,d)};q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}e===null&&(e="");for(var i=[c6(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(c6(n,i[s-1]+t+e));return i.join("").substr(0,r)};function c6(t,e){return t.start().update(e).digest().getBytes()}function u6(t){var e;if(!t)e="hmacWithSHA1";else if(e=q.oids[E.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return f6(e)}function f6(t){var e=P.md;switch(t){case"hmacWithSHA224":e=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function ty(t,e,r,n){var i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,t),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(q.oids[n]).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")])),i}});var V6=M((oI,K6)=>{var de=ne();Xr();Re();var Wi=K6.exports=de.sha512=de.sha512||{};de.md.sha512=de.md.algorithms.sha512=Wi;var U6=de.sha384=de.sha512.sha384=de.sha512.sha384||{};U6.create=function(){return Wi.create("SHA-384")};de.md.sha384=de.md.algorithms.sha384=U6;de.sha512.sha256=de.sha512.sha256||{create:function(){return Wi.create("SHA-512/256")}};de.md["sha512/256"]=de.md.algorithms["sha512/256"]=de.sha512.sha256;de.sha512.sha224=de.sha512.sha224||{create:function(){return Wi.create("SHA-512/224")}};de.md["sha512/224"]=de.md.algorithms["sha512/224"]=de.sha512.sha224;Wi.create=function(t){if(M6||Cy(),typeof t>"u"&&(t="SHA-512"),!(t in nn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=nn[t],r=null,n=de.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=de.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=de.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),O6(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=de.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(Wa.substr(0,a.blockLength-f));for(var l,p,d=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,p=l/4294967296>>>0,d+=p,c.putInt32(d>>>0),d=l>>>0;c.putInt32(d);for(var y=new Array(r.length),h=0;h<r.length;++h)y[h]=r[h].slice(0);O6(y,i,c);var g=de.util.createBuffer(),m;t==="SHA-512"?m=y.length:t==="SHA-384"?m=y.length-2:m=y.length-4;for(var h=0;h<m;++h)g.putInt32(y[h][0]),(h!==m-1||t!=="SHA-512/224")&&g.putInt32(y[h][1]);return g},a};var Wa=null,M6=!1,Za=null,nn=null;function Cy(){Wa=String.fromCharCode(128),Wa+=de.util.fillString(String.fromCharCode(0),128),Za=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],nn={},nn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],nn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],nn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],nn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],M6=!0}function O6(t,e,r){for(var n,i,o,s,a,c,u,f,l,p,d,h,y,g,m,v,w,T,S,I,L,F,re,gt,tt,Ge,ln,g0,Le,Xe,U,fo,lo,ho,po,T2=r.length();T2>=128;){for(Le=0;Le<16;++Le)e[Le][0]=r.getInt32()>>>0,e[Le][1]=r.getInt32()>>>0;for(;Le<80;++Le)fo=e[Le-2],Xe=fo[0],U=fo[1],n=((Xe>>>19|U<<13)^(U>>>29|Xe<<3)^Xe>>>6)>>>0,i=((Xe<<13|U>>>19)^(U<<3|Xe>>>29)^(Xe<<26|U>>>6))>>>0,ho=e[Le-15],Xe=ho[0],U=ho[1],o=((Xe>>>1|U<<31)^(Xe>>>8|U<<24)^Xe>>>7)>>>0,s=((Xe<<31|U>>>1)^(Xe<<24|U>>>8)^(Xe<<25|U>>>7))>>>0,lo=e[Le-7],po=e[Le-16],U=i+lo[1]+s+po[1],e[Le][0]=n+lo[0]+o+po[0]+(U/4294967296>>>0)>>>0,e[Le][1]=U>>>0;for(y=t[0][0],g=t[0][1],m=t[1][0],v=t[1][1],w=t[2][0],T=t[2][1],S=t[3][0],I=t[3][1],L=t[4][0],F=t[4][1],re=t[5][0],gt=t[5][1],tt=t[6][0],Ge=t[6][1],ln=t[7][0],g0=t[7][1],Le=0;Le<80;++Le)u=((L>>>14|F<<18)^(L>>>18|F<<14)^(F>>>9|L<<23))>>>0,f=((L<<18|F>>>14)^(L<<14|F>>>18)^(F<<23|L>>>9))>>>0,l=(tt^L&(re^tt))>>>0,p=(Ge^F&(gt^Ge))>>>0,a=((y>>>28|g<<4)^(g>>>2|y<<30)^(g>>>7|y<<25))>>>0,c=((y<<4|g>>>28)^(g<<30|y>>>2)^(g<<25|y>>>7))>>>0,d=(y&m|w&(y^m))>>>0,h=(g&v|T&(g^v))>>>0,U=g0+f+p+Za[Le][1]+e[Le][1],n=ln+u+l+Za[Le][0]+e[Le][0]+(U/4294967296>>>0)>>>0,i=U>>>0,U=c+h,o=a+d+(U/4294967296>>>0)>>>0,s=U>>>0,ln=tt,g0=Ge,tt=re,Ge=gt,re=L,gt=F,U=I+i,L=S+n+(U/4294967296>>>0)>>>0,F=U>>>0,S=w,I=T,w=m,T=v,m=y,v=g,U=i+s,y=n+o+(U/4294967296>>>0)>>>0,g=U>>>0;U=t[0][1]+g,t[0][0]=t[0][0]+y+(U/4294967296>>>0)>>>0,t[0][1]=U>>>0,U=t[1][1]+v,t[1][0]=t[1][0]+m+(U/4294967296>>>0)>>>0,t[1][1]=U>>>0,U=t[2][1]+T,t[2][0]=t[2][0]+w+(U/4294967296>>>0)>>>0,t[2][1]=U>>>0,U=t[3][1]+I,t[3][0]=t[3][0]+S+(U/4294967296>>>0)>>>0,t[3][1]=U>>>0,U=t[4][1]+F,t[4][0]=t[4][0]+L+(U/4294967296>>>0)>>>0,t[4][1]=U>>>0,U=t[5][1]+gt,t[5][0]=t[5][0]+re+(U/4294967296>>>0)>>>0,t[5][1]=U>>>0,U=t[6][1]+Ge,t[6][0]=t[6][0]+tt+(U/4294967296>>>0)>>>0,t[6][1]=U>>>0,U=t[7][1]+g0,t[7][0]=t[7][0]+ln+(U/4294967296>>>0)>>>0,t[7][1]=U>>>0,T2-=128}}});var b8=M((pC,x8)=>{x8.exports=function(t){if(!t)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,r=Object.create(null),n=Object.create(null);function i(o,s){r[o]=s,e++,e>=t&&(e=0,n=r,r=Object.create(null))}return{has:function(o){return r[o]!==void 0||n[o]!==void 0},remove:function(o){r[o]!==void 0&&(r[o]=void 0),n[o]!==void 0&&(n[o]=void 0)},get:function(o){var s=r[o];if(s!==void 0)return s;if((s=n[o])!==void 0)return i(o,s),s},set:function(o,s){r[o]!==void 0?r[o]=s:i(o,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var E8=M((yC,f2)=>{"use strict";var fg=Object.prototype.hasOwnProperty,Ze="~";function i0(){}Object.create&&(i0.prototype=Object.create(null),new i0().__proto__||(Ze=!1));function lg(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function w8(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new lg(r,n||t,i),s=Ze?Ze+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],o]:t._events[s].push(o):(t._events[s]=o,t._eventsCount++),t}function D1(t,e){--t._eventsCount===0?t._events=new i0:delete t._events[e]}function He(){this._events=new i0,this._eventsCount=0}He.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)fg.call(r,n)&&e.push(Ze?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};He.prototype.listeners=function(e){var r=Ze?Ze+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};He.prototype.listenerCount=function(e){var r=Ze?Ze+e:e,n=this._events[r];return n?n.fn?1:n.length:0};He.prototype.emit=function(e,r,n,i,o,s){var a=Ze?Ze+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!0}for(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var p=c.length,d;for(l=0;l<p;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,r);break;case 3:c[l].fn.call(c[l].context,r,n);break;case 4:c[l].fn.call(c[l].context,r,n,i);break;default:if(!f)for(d=1,f=new Array(u-1);d<u;d++)f[d-1]=arguments[d];c[l].fn.apply(c[l].context,f)}}return!0};He.prototype.on=function(e,r,n){return w8(this,e,r,n,!1)};He.prototype.once=function(e,r,n){return w8(this,e,r,n,!0)};He.prototype.removeListener=function(e,r,n,i){var o=Ze?Ze+e:e;if(!this._events[o])return this;if(!r)return D1(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&D1(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:D1(this,o)}return this};He.prototype.removeAllListeners=function(e){var r;return e?(r=Ze?Ze+e:e,this._events[r]&&D1(this,r)):(this._events=new i0,this._eventsCount=0),this};He.prototype.off=He.prototype.removeListener;He.prototype.addListener=He.prototype.on;He.prefixed=Ze;He.EventEmitter=He;typeof f2<"u"&&(f2.exports=He)});var v2=M((RC,m2)=>{"use strict";var ci=typeof Reflect=="object"?Reflect:null,D8=ci&&typeof ci.apply=="function"?ci.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},H1;ci&&typeof ci.ownKeys=="function"?H1=ci.ownKeys:Object.getOwnPropertySymbols?H1=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:H1=function(e){return Object.getOwnPropertyNames(e)};function mg(t){console&&console.warn&&console.warn(t)}var O8=Number.isNaN||function(e){return e!==e};function oe(){oe.init.call(this)}m2.exports=oe;m2.exports.once=wg;oe.EventEmitter=oe;oe.prototype._events=void 0;oe.prototype._eventsCount=0;oe.prototype._maxListeners=void 0;var F8=10;function G1(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(oe,"defaultMaxListeners",{enumerable:!0,get:function(){return F8},set:function(t){if(typeof t!="number"||t<0||O8(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");F8=t}});oe.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};oe.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||O8(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function U8(t){return t._maxListeners===void 0?oe.defaultMaxListeners:t._maxListeners}oe.prototype.getMaxListeners=function(){return U8(this)};oe.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(c===void 0)return!1;if(typeof c=="function")D8(c,this,r);else for(var u=c.length,f=q8(c,u),n=0;n<u;++n)D8(f[n],this,r);return!0};function M8(t,e,r,n){var i,o,s;if(G1(r),o=t._events,o===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=U8(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,mg(a)}return t}oe.prototype.addListener=function(e,r){return M8(this,e,r,!1)};oe.prototype.on=oe.prototype.addListener;oe.prototype.prependListener=function(e,r){return M8(this,e,r,!0)};function vg(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function K8(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=vg.bind(n);return i.listener=r,n.wrapFn=i,i}oe.prototype.once=function(e,r){return G1(r),this.on(e,K8(this,e,r)),this};oe.prototype.prependOnceListener=function(e,r){return G1(r),this.prependListener(e,K8(this,e,r)),this};oe.prototype.removeListener=function(e,r){var n,i,o,s,a;if(G1(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():xg(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};oe.prototype.off=oe.prototype.removeListener;oe.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function V8(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?bg(i):q8(i,i.length)}oe.prototype.listeners=function(e){return V8(this,e,!0)};oe.prototype.rawListeners=function(e){return V8(this,e,!1)};oe.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):z8.call(t,e)};oe.prototype.listenerCount=z8;function z8(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}oe.prototype.eventNames=function(){return this._eventsCount>0?H1(this._events):[]};function q8(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function xg(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function bg(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function wg(t,e){return new Promise(function(r,n){function i(s){t.removeListener(e,o),n(s)}function o(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}$8(t,e,o,{once:!0}),e!=="error"&&Eg(t,i,{once:!0})})}function Eg(t,e,r){typeof t.on=="function"&&$8(t,"error",e,r)}function $8(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(o){n.once&&t.removeEventListener(e,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var Jg={};V(Jg,{EventTypes:()=>C2,MessageType:()=>B2,kadDHT:()=>jg});var R2=Symbol.for("@libp2p/content-routing");var v0=class extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=v0.code,this.type=v0.type}},hn=v0;m0(hn,"code","ABORT_ERR"),m0(hn,"type","aborted");var _=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var $e=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new Be(e,r))}},yo=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Be=globalThis.CustomEvent??yo;var P2=Symbol.for("@libp2p/peer-discovery");var N2=Symbol.for("@libp2p/peer-routing");var nt=G(O2(),1);var bo={};V(bo,{base32:()=>yr,base32hex:()=>Tu,base32hexpad:()=>Ru,base32hexpadupper:()=>Pu,base32hexupper:()=>_u,base32pad:()=>Cu,base32padupper:()=>Bu,base32upper:()=>Iu,base32z:()=>Nu});function bu(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var y=0,g=0,m=0,v=h.length;m!==v&&h[m]===0;)m++,y++;for(var w=(v-m)*f+1>>>0,T=new Uint8Array(w);m!==v;){for(var S=h[m],I=0,L=w-1;(S!==0||I<g)&&L!==-1;L--,I++)S+=256*T[L]>>>0,T[L]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");g=I,m++}for(var F=w-g;F!==w&&T[F]===0;)F++;for(var re=c.repeat(y);F<w;++F)re+=t.charAt(T[F]);return re}function p(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var y=0;if(h[y]!==" "){for(var g=0,m=0;h[y]===c;)g++,y++;for(var v=(h.length-y)*u+1>>>0,w=new Uint8Array(v);h[y];){var T=r[h.charCodeAt(y)];if(T===255)return;for(var S=0,I=v-1;(T!==0||S<m)&&I!==-1;I--,S++)T+=a*w[I]>>>0,w[I]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");m=S,y++}if(h[y]!==" "){for(var L=v-m;L!==v&&w[L]===0;)L++;for(var F=new Uint8Array(g+(v-L)),re=g;L!==v;)F[re++]=w[L++];return F}}}function d(h){var y=p(h);if(y)return y;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:d}}var wu=bu,Eu=wu,U2=Eu;var fm=new Uint8Array(0);var M2=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Wt=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var K2=t=>new TextEncoder().encode(t),V2=t=>new TextDecoder().decode(t);var go=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},mo=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return q2(this,e)}},vo=class{constructor(e){this.decoders=e}or(e){return q2(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},q2=(t,e)=>new vo({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),xo=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new go(e,r,n),this.decoder=new mo(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},gn=({name:t,prefix:e,encode:r,decode:n})=>new xo(t,e,r,n),pr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=U2(r,e);return gn({prefix:t,name:e,encode:n,decode:o=>Wt(i(o))})},Su=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[t[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Au=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ee=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>gn({prefix:e,name:t,encode(i){return Au(i,n,r)},decode(i){return Su(i,n,r,t)}});var yr=Ee({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Iu=Ee({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Cu=Ee({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Bu=Ee({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Tu=Ee({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),_u=Ee({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ru=Ee({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Pu=Ee({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Nu=Ee({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var wo={};V(wo,{base58btc:()=>qe,base58flickr:()=>Lu});var qe=pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Lu=pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Eo={};V(Eo,{base64:()=>Mr,base64pad:()=>ku,base64url:()=>Du,base64urlpad:()=>Fu});var Mr=Ee({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ku=Ee({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Du=Ee({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Fu=Ee({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});nt.default.formatters.b=t=>t==null?"undefined":qe.baseEncode(t);nt.default.formatters.t=t=>t==null?"undefined":yr.baseEncode(t);nt.default.formatters.m=t=>t==null?"undefined":Mr.baseEncode(t);nt.default.formatters.p=t=>t==null?"undefined":t.toString();nt.default.formatters.c=t=>t==null?"undefined":t.toString();nt.default.formatters.k=t=>t==null?"undefined":t.toString();nt.default.formatters.a=t=>t==null?"undefined":t.toString();function Ou(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function $(t){let e=Ou(`${t}:trace`);return nt.default.enabled(`${t}:trace`)&&nt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,nt.default)(`${t}:trace`)),Object.assign((0,nt.default)(t),{error:(0,nt.default)(`${t}:error`),trace:e})}function Uu(t){return t[Symbol.asyncIterator]!=null}function Mu(t){if(Uu(t))return(async()=>{for await(let e of t);})();for(let e of t);}var pi=Mu;var w0=class{constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},mn=class{constructor(e={}){this.hwm=e.splitLimit??16,this.head=new w0(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new w0(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};function E0(t={}){return Ku(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Ku(t,e){e=e??{};let r=e.onEnd,n=new mn,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=m=>{o=null,n.push(m);try{y(t(n))}catch(v){g(v)}return i}}):t(n),c=y=>o!=null?o(y):(n.push(y),i),u=y=>(n=new mn,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)return i;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:y})},l=y=>s?i:(s=!0,y!=null?u(y):c({done:!0})),p=()=>(n=new mn,l(),{done:!0}),d=y=>(l(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:p,throw:d,push:f,end:l,get readableLength(){return n.size}},r==null)return i;let h=i;return i={[Symbol.asyncIterator](){return this},next(){return h.next()},throw(y){return h.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return h.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return h.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return h.readableLength}},i}function Vu(t){return t[Symbol.asyncIterator]!=null}function zu(...t){let e=[];for(let r of t)Vu(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=E0({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var mt=zu;var J2=G($2(),1);var H2="[a-fA-F\\d:]",gr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${H2})|(?<=${H2})(?=\\s|$))`:"",vt="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",ke="[a-fA-F\\d]{1,4}",S0=`
16
16
  (?:
17
- (?:${Rt}:){7}(?:${Rt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
18
- (?:${Rt}:){6}(?:${pe}|:${Rt}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
19
- (?:${Rt}:){5}(?::${pe}|(?::${Rt}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
20
- (?:${Rt}:){4}(?:(?::${Rt}){0,1}:${pe}|(?::${Rt}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
21
- (?:${Rt}:){3}(?:(?::${Rt}){0,2}:${pe}|(?::${Rt}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
22
- (?:${Rt}:){2}(?:(?::${Rt}){0,3}:${pe}|(?::${Rt}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
23
- (?:${Rt}:){1}(?:(?::${Rt}){0,4}:${pe}|(?::${Rt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
24
- (?::(?:(?::${Rt}){0,5}:${pe}|(?::${Rt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
17
+ (?:${ke}:){7}(?:${ke}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
18
+ (?:${ke}:){6}(?:${vt}|:${ke}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
19
+ (?:${ke}:){5}(?::${vt}|(?::${ke}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
20
+ (?:${ke}:){4}(?:(?::${ke}){0,1}:${vt}|(?::${ke}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
21
+ (?:${ke}:){3}(?:(?::${ke}){0,2}:${vt}|(?::${ke}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
22
+ (?:${ke}:){2}(?:(?::${ke}){0,3}:${vt}|(?::${ke}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
23
+ (?:${ke}:){1}(?:(?::${ke}){0,4}:${vt}|(?::${ke}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
24
+ (?::(?:(?::${ke}){0,5}:${vt}|(?::${ke}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
25
25
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
26
- `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),F8=new RegExp(`(?:^${pe}$)|(?:^${Q0}$)`),O8=new RegExp(`^${pe}$`),U8=new RegExp(`^${Q0}$`),qi=e=>e&&e.exact?F8:new RegExp(`(?:${ar(e)}${pe}${ar(e)})|(?:${ar(e)}${Q0}${ar(e)})`,"g");qi.v4=e=>e&&e.exact?O8:new RegExp(`${ar(e)}${pe}${ar(e)}`,"g");qi.v6=e=>e&&e.exact?U8:new RegExp(`${ar(e)}${Q0}${ar(e)}`,"g");var A2=qi;var W0=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(f===void 0)break;if(o*=t,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=t(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var I2=45,M8=15,cn=new W0;function zi(e){if(!(e.length>M8))return cn.new(e).parseWith(()=>cn.readIPv4Addr())}function Hi(e){if(!(e.length>I2))return cn.new(e).parseWith(()=>cn.readIPv6Addr())}function Y0(e){if(!(e.length>I2))return cn.new(e).parseWith(()=>cn.readIPAddr())}function C2(e){return!!zi(e)}function _2(e){return!!Hi(e)}function un(e){return!!Y0(e)}var k2=H(T2(),1),{isValid:K8,parse:V8}=k2.default,q8=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],z8=q8.map(e=>new P2.Netmask(e));function H8(e){for(let t of z8)if(t.contains(e))return!0;return!1}function R2(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}var L2=e=>{if(K8(e)){let t=V8(e);if(t.kind()==="ipv4")return H8(t.toNormalizedString());if(t.kind()==="ipv6")return R2(e)}else if(un(e)&&A2.v6().test(e))return R2(e)};var Yn=L2;var $i={};Lt($i,{identity:()=>$8});var $8=sn({prefix:"\0",name:"identity",encode:e=>x2(e),decode:e=>v2(e)});var Gi={};Lt(Gi,{base2:()=>G8});var G8=xt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Qi={};Lt(Qi,{base8:()=>Q8});var Q8=xt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Wi={};Lt(Wi,{base10:()=>W8});var W8=sr({prefix:"9",name:"base10",alphabet:"0123456789"});var Yi={};Lt(Yi,{base16:()=>Y8,base16upper:()=>Z8});var Y8=xt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Z8=xt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Zi={};Lt(Zi,{base36:()=>X8,base36upper:()=>j8});var X8=sr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),j8=sr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Xi={};Lt(Xi,{base256emoji:()=>nc});var N2=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),J8=N2.reduce((e,t,r)=>(e[r]=t,e),[]),tc=N2.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function ec(e){return e.reduce((t,r)=>(t+=J8[r],t),"")}function rc(e){let t=[];for(let r of e){let n=tc[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var nc=sn({prefix:"\u{1F680}",name:"base256emoji",encode:ec,decode:rc});var eo={};Lt(eo,{sha256:()=>gt,sha512:()=>Ec});var ic=O2,D2=128,oc=127,sc=~oc,ac=Math.pow(2,31);function O2(e,t,r){t=t||[],r=r||0;for(var n=r;e>=ac;)t[r++]=e&255|D2,e/=128;for(;e&sc;)t[r++]=e&255|D2,e>>>=7;return t[r]=e|0,O2.bytes=r-n+1,t}var cc=ji,uc=128,F2=127;function ji(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw ji.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&F2)<<i:(s&F2)*Math.pow(2,i),i+=7}while(s>=uc);return ji.bytes=o-n,r}var fc=Math.pow(2,7),lc=Math.pow(2,14),hc=Math.pow(2,21),pc=Math.pow(2,28),dc=Math.pow(2,35),yc=Math.pow(2,42),gc=Math.pow(2,49),mc=Math.pow(2,56),vc=Math.pow(2,63),xc=function(e){return e<fc?1:e<lc?2:e<hc?3:e<pc?4:e<dc?5:e<yc?6:e<gc?7:e<mc?8:e<vc?9:10},wc={encode:ic,decode:cc,encodingLength:xc},bc=wc,Zn=bc;var Xn=(e,t=0)=>[Zn.decode(e,t),Zn.decode.bytes],fn=(e,t,r=0)=>(Zn.encode(e,t,r),t),ln=e=>Zn.encodingLength(e);var _e=(e,t)=>{let r=t.byteLength,n=ln(e),i=n+ln(r),o=new Uint8Array(i+r);return fn(e,o,0),fn(r,o,n),o.set(t,i),new hn(e,r,t,o)},Rr=e=>{let t=He(e),[r,n]=Xn(t),[i,o]=Xn(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new hn(r,i,s,t)},U2=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&m2(e.bytes,r.bytes)}},hn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var to=({name:e,code:t,encode:r})=>new Ji(e,t,r),Ji=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?_e(this.code,r):r.then(n=>_e(this.code,n))}else throw Error("Unknown type, must be binary type")}};var K2=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),gt=to({name:"sha2-256",code:18,encode:K2("SHA-256")}),Ec=to({name:"sha2-512",code:19,encode:K2("SHA-512")});var ro={};Lt(ro,{identity:()=>cr});var V2=0,Sc="identity",q2=He,Ac=e=>_e(V2,q2(e)),cr={code:V2,name:Sc,encode:q2,digest:Ac};var Pp=new TextEncoder,kp=new TextDecoder;var z2=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Bc(r,no(e),t||St.encoder);default:return Tc(r,no(e),t||le.encoder)}};var H2=new WeakMap,no=e=>{let t=H2.get(e);if(t==null){let r=new Map;return H2.set(e,r),r}return t},J=class{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==jn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Rc)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return J.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=_e(t,r);return J.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return J.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&U2(t.multihash,n.multihash)}toString(t){return z2(this,t)}toJSON(){return{"/":z2(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof J)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new J(n,i,o,s||$2(n,i,o.bytes))}else if(r[Pc]===!0){let{version:n,multihash:i,code:o}=r,s=Rr(i);return J.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==jn)throw new Error(`Version 0 CID must use dag-pb (code: ${jn}) block encoding`);return new J(t,r,n,n.bytes)}case 1:{let i=$2(t,r,n.bytes);return new J(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return J.create(0,jn,t)}static createV1(t,r){return J.create(1,t,r)}static decode(t){let[r,n]=J.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=J.inspectBytes(t),n=r.size-r.multihashSize,i=He(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new hn(r.multihashCode,r.digestSize,o,i);return[r.version===0?J.createV0(s):J.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=Xn(t.subarray(r));return r+=d,l},i=n(),o=jn;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=_c(t,r),o=J.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return no(o).set(n,t),o}},_c=(e,t)=>{switch(e[0]){case"Q":{let r=t||St;return[St.prefix,r.decode(`${St.prefix}${e}`)]}case St.prefix:{let r=t||St;return[St.prefix,r.decode(e)]}case le.prefix:{let r=t||le;return[le.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Bc=(e,t,r)=>{let{prefix:n}=r;if(n!==St.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},Tc=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},jn=112,Rc=18,$2=(e,t,r)=>{let n=ln(e),i=n+ln(t),o=new Uint8Array(i+r.byteLength);return fn(e,o,0),fn(t,o,n),o.set(r,i),o},Pc=Symbol.for("@ipld/js-cid/CID");var ur={...$i,...Gi,...Qi,...Wi,...Yi,...Ki,...Zi,...Mi,...Vi,...Xi},qp={...eo,...ro};function $e(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Ge(e=0){return globalThis.Buffer?.alloc!=null?$e(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function jt(e=0){return globalThis.Buffer?.allocUnsafe!=null?$e(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Q2(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var G2=Q2("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),io=Q2("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=jt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),kc={utf8:G2,"utf-8":G2,hex:ur.base16,latin1:io,ascii:io,binary:io,...ur},j0=kc;function U(e,t="utf8"){let r=j0[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function W2(e,t,r){if(r.length===0){let s="No records given";throw new _(s,"ERR_NO_RECORDS_RECEIVED")}let i=U(t).split("/");if(i.length<3){let s="Record key does not have a selector function";throw new _(s,"ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")}let o=e[i[1].toString()];if(o==null){let s=`Unrecognized key prefix: ${i[1]}`;throw new _(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(t,r)}function Lc(e,t){return 0}var Y2={pk:Lc};function ot(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}async function pn(e,t){let r=t.key,i=U(r).split("/");if(i.length<3)return;let o=e[i[1].toString()];if(o==null){let s="Invalid record keytype";throw new _(s,"ERR_INVALID_RECORD_KEY_TYPE")}await o(r,t.value)}var Nc=async(e,t)=>{if(!(e instanceof Uint8Array))throw new _('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(e.byteLength<5)throw new _("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(U(e.subarray(0,4))!=="/pk/")throw new _("key was not prefixed with /pk/","ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=e.slice(4),i=await gt.digest(t);if(!ot(n,i.bytes))throw new _("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},Z2={pk:Nc};function de(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var X2="/lan",j2="/ipfs",J2="/kad/1.0.0",ta="/dht/record",oo="/dht/provider";var xo=H(fo(),1),Va=H(La(),1),qa=H(Lr(),1),wo=H(vo(),1),za=H(Ka(),1);function zc(){qa.default._configure(),xo.default._configure(Va.default),wo.default._configure(za.default)}zc();var Ha=["uint64","int64","sint64","fixed64","sfixed64"];function Hc(e){for(let t of Ha){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function bo(e){return Hc(new xo.default(e))}function $c(e){for(let t of Ha){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function Eo(){return $c(wo.default.create())}function Re(e,t){let r=bo(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Pe(e,t){let r=Eo();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var yn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(yn||(yn={}));function n1(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function gn(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return n1("enum",yn.VARINT,r,n)}function ke(e,t){return n1("message",yn.LENGTH_DELIMITED,e,t)}var e0;(function(e){let t;e.codec=()=>(t==null&&(t=ke((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Pe(r,e.codec()),e.decode=r=>Re(r,e.codec())})(e0||(e0={}));function $a(e){let t=e.getUTCFullYear(),r=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0"),i=String(e.getUTCHours()).padStart(2,"0"),o=String(e.getUTCMinutes()).padStart(2,"0"),s=String(e.getUTCSeconds()).padStart(2,"0"),a=e.getUTCMilliseconds(),c=String(a*1e3*1e3).padStart(9,"0");return`${t}-${r}-${n}T${i}:${o}:${s}.${c}Z`}function Ga(e){let t=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(e).trim().match(t);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),i=parseInt(r[2],10)-1,o=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),u=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,i,o,s,a,c,u))}var Pt=class{constructor(t,r,n){if(!(t instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=t,this.value=r,this.timeReceived=n}serialize(){return e0.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:$a(this.timeReceived)}}static deserialize(t){let r=e0.decode(t);return new Pt(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=Ga(t.timeReceived);if(t.key==null)throw new Error("key missing from deserialized object");if(t.value==null)throw new Error("value missing from deserialized object");return new Pt(t.key,t.value,r)}};function Qc(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[r](){return this}}}var Qa=Qc;function Wc(e){return e[Symbol.asyncIterator]!=null}function Yc(e,t){if(Wc(e))return async function*(){for await(let a of e)yield t(a)}();let r=Qa(e),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=t(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield t(a)}();let s=t;return function*(){yield o;for(let a of r)yield s(a)}()}var i1=Yc;var o1=globalThis.CustomEvent??Event;async function*r0(e,t={}){let r=t.concurrency??1/0;r<1&&(r=1/0);let n=t.ordered==null?!1:t.ordered,i=new EventTarget,o=[],s=de(),a=de(),c=!1,u,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of e){if(o.length===r&&(s=de(),await s.promise),f)break;let y={done:!1};o.push(y),h().then(g=>{y.done=!0,y.ok=!0,y.value=g,i.dispatchEvent(new o1("task-complete"))},g=>{y.done=!0,y.err=g,i.dispatchEvent(new o1("task-complete"))})}c=!0,i.dispatchEvent(new o1("task-complete"))}catch(h){u=h,i.dispatchEvent(new o1("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(h=>h.done)}function*d(){for(;o.length>0&&o[0].done;){let h=o[0];if(o.shift(),h.ok)yield h.value;else throw f=!0,s.resolve(),h.err;s.resolve()}}function*p(){for(;l();)for(let h=0;h<o.length;h++)if(o[h].done){let y=o[h];if(o.splice(h,1),h--,y.ok)yield y.value;else throw f=!0,s.resolve(),y.err;s.resolve()}}for(;;){if(l()||(a=de(),await a.promise),u!=null)throw u;if(n?yield*d():yield*p(),c&&o.length===0)break}}function me(e,...t){if(e==null)throw new Error("Empty pipeline");if(So(e)){let n=e;e=()=>n.source}else if(Ya(e)||Wa(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&So(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)So(r[n])&&(r[n]=Xc(r[n]));return Zc(...r)}var Zc=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},Wa=e=>e?.[Symbol.asyncIterator]!=null,Ya=e=>e?.[Symbol.iterator]!=null,So=e=>e==null?!1:e.sink!=null&&e.source!=null,Xc=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=G0({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(Wa(o))i=async function*(){yield*o,n.end()};else if(Ya(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return he(n,i())}return e.source};var Za=Symbol.for("@libp2p/peer-id");var jc=Symbol.for("nodejs.util.inspect.custom"),Xa=Object.values(ur).map(e=>e.decoder).reduce((e,t)=>e.or(t),ur.identity.decoder),ja=114,Ao=36,Io=37,n0=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[Za](){return!0}toString(){return this.string==null&&(this.string=St.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return J.createV1(ja,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return ot(this.multihash.bytes,t);if(typeof t=="string")return wt(t).equals(this);if(t?.multihash?.bytes!=null)return ot(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[jc](){return`PeerId(${this.toString()})`}},mn=class extends n0{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},vn=class extends n0{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},xn=class extends n0{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function wt(e,t){if(t=t??Xa,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Rr(St.decode(`z${e}`));return e.startsWith("12D")?new vn({multihash:r}):e.startsWith("16U")?new xn({multihash:r}):new mn({multihash:r})}return Dr(Xa.decode(e))}function Dr(e){try{let t=Rr(e);if(t.code===cr.code){if(t.digest.length===Ao)return new vn({multihash:t});if(t.digest.length===Io)return new xn({multihash:t})}if(t.code===gt.code)return new mn({multihash:t})}catch{return Jc(J.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Jc(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==ja)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===gt.code)return new mn({multihash:e.multihash});if(t.code===cr.code){if(t.digest.length===Ao)return new vn({multihash:e.multihash});if(t.digest.length===Io)return new xn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Ja(e,t){return e.length===Ao?new vn({multihash:_e(cr.code,e),privateKey:t}):e.length===Io?new xn({multihash:_e(cr.code,e),privateKey:t}):new mn({multihash:await gt.digest(e),publicKey:e,privateKey:t})}var Uo=H(i0(),1);function at(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=jt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return $e(r)}var wn=H(i0(),1);var vy=parseInt("0xFFFF",16),xy=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function mt(e,t="utf8"){let r=j0[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?$e(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var Le=H(i0(),1);var l3=C2,mu=_2,Bo=function(e){let t=0;if(e=e.toString().trim(),l3(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(mu(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=l3(r[n]),s;o&&(s=Bo(r[n]),r[n]=U(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,U(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},h3=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var o0={},To={},xu=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];xu.forEach(e=>{let t=wu(...e);To[t.code]=t,o0[t.name]=t});function wu(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function nt(e){if(typeof e=="number"){if(To[e]!=null)return To[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(o0[e]!=null)return o0[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var ng=nt("ip4"),ig=nt("ip6"),og=nt("ipcidr");function m3(e,t){switch(nt(e).code){case 4:case 41:return Eu(t);case 42:return y3(t);case 6:case 273:case 33:case 132:return x3(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return y3(t);case 421:return Cu(t);case 444:return g3(t);case 445:return g3(t);case 466:return Iu(t);default:return U(t,"base16")}}function v3(e,t){switch(nt(e).code){case 4:return p3(t);case 41:return p3(t);case 42:return d3(t);case 6:case 273:case 33:case 132:return Po(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return d3(t);case 421:return Su(t);case 444:return _u(t);case 445:return Bu(t);case 466:return Au(t);default:return mt(t,"base16")}}var Ro=Object.values(ur).map(e=>e.decoder),bu=function(){let e=Ro[0].or(Ro[1]);return Ro.slice(2).forEach(t=>e=e.or(t)),e}();function p3(e){if(!un(e))throw new Error("invalid ip address");return Bo(e)}function Eu(e){let t=h3(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!un(t))throw new Error("invalid ip address");return t}function Po(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function x3(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function d3(e){let t=mt(e),r=Uint8Array.from(Le.default.encode(t.length));return at([r,t],r.length+t.length)}function y3(e){let t=Le.default.decode(e);if(e=e.slice(Le.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return U(e)}function Su(e){let t;e[0]==="Q"||e[0]==="1"?t=Rr(St.decode(`z${e}`)).bytes:t=J.parse(e).multihash.bytes;let r=Uint8Array.from(Le.default.encode(t.length));return at([r,t],r.length+t.length)}function Au(e){let t=bu.decode(e),r=Uint8Array.from(Le.default.encode(t.length));return at([r,t],r.length+t.length)}function Iu(e){let t=Le.default.decode(e),r=e.slice(Le.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+U(r,"base64url")}function Cu(e){let t=Le.default.decode(e),r=e.slice(Le.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return U(r,"base58btc")}function _u(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=le.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Po(n);return at([r,i],r.length+i.length)}function Bu(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=le.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Po(n);return at([r,i],r.length+i.length)}function g3(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=U(t,"base32"),i=x3(r);return`${n}:${i}`}function Tu(e){let t=[],r=e.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=nt(i);if(o.size===0){t.push([i]);continue}if(n++,n>=r.length)throw b3("invalid address: "+e);if(o.path===!0){t.push([i,Fo(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function Ru(e){let t=[];return e.map(r=>{let n=c1(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Fo(t.join("/"))}function Pu(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=c1(t);return t.length>1?[r.code,v3(r.code,t[1])]:[r.code]})}function ko(e){return e.map(t=>{let r=c1(t);return t[1]!=null?[r.code,m3(r.code,t[1])]:[r.code]})}function Lo(e){return a1(at(e.map(t=>{let r=c1(t),n=Uint8Array.from(wn.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=at([n,t[1]])),n})))}function No(e,t){return e.size>0?e.size/8:e.size===0?0:wn.default.decode(t)+(wn.default.decode.bytes??0)}function s1(e){let t=[],r=0;for(;r<e.length;){let n=wn.default.decode(e,r),i=wn.default.decode.bytes??0,o=nt(n),s=No(o,e.slice(r+i));if(s===0){t.push([n]),r+=i;continue}let a=e.slice(r+i,r+i+s);if(r+=s+i,r>e.length)throw b3("Invalid address Uint8Array: "+U(e,"base16"));t.push([n,a])}return t}function Do(e){let t=s1(e),r=ko(t);return Ru(r)}function ku(e){e=Fo(e);let t=Tu(e),r=Pu(t);return Lo(r)}function w3(e){return ku(e)}function a1(e){let t=Lu(e);if(t!=null)throw t;return Uint8Array.from(e)}function Lu(e){try{s1(e)}catch(t){return t}}function Fo(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function b3(e){return new Error("Error parsing address: "+e)}function c1(e){return nt(e[0])}var Du=Symbol.for("nodejs.util.inspect.custom"),Fu=[nt("dns").code,nt("dns4").code,nt("dns6").code,nt("dnsaddr").code],Ou=new Map,E3=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Uu(e){return!!e?.[E3]}var Qe=class{bytes;#t;#r;#n;#e;[E3]=!0;constructor(t){if(t==null&&(t=""),t instanceof Uint8Array)this.bytes=a1(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=w3(t)}else if(Uu(t))this.bytes=a1(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#t==null&&(this.#t=Do(this.bytes)),this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=nt("tcp"),a=nt("udp"),c=nt("ip4"),u=nt("ip6"),f=nt("dns6"),l=nt("ip6zone");for(let[p,h]of this.stringTuples())p===l.code&&(o=`%${h??""}`),Fu.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,t=p===f.code?6:4),(p===s.code||p===a.code)&&(r=nt(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=nt(p).name,n=`${h??""}${o}`,t=p===u.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},nt(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=Uo.default.decode(r,n),o=Uo.default.decode.bytes??0,s=nt(i),a=No(s,r.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return this.#r==null&&(this.#r=s1(this.bytes)),this.#r}stringTuples(){return this.#n==null&&(this.#n=ko(this.tuples())),this.#n}encapsulate(t){return t=new Qe(t),new Qe(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new Qe(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new Qe(Lo(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===o0.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?U(St.decode(`z${n}`),"base58btc"):U(J.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#e===void 0)try{this.#e=this.stringTuples().filter(t=>nt(t[0]).path===!0)[0][1],this.#e==null&&(this.#e=null)}catch{this.#e=null}return this.#e}equals(t){return ot(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Ou.get(r.name);if(n==null)throw new _(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new Qe(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Du](){return`Multiaddr(${Do(this.bytes)})`}};function Oo(e){return new Qe(e)}var S3;(function(e){let t;e.codec=()=>(t==null&&(t=ke((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&(n.uint32(18),n.bytes(r.value)),r.author!=null&&(n.uint32(26),n.bytes(r.author)),r.signature!=null&&(n.uint32(34),n.bytes(r.signature)),r.timeReceived!=null&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 3:i.author=r.bytes();break;case 4:i.signature=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Pe(r,e.codec()),e.decode=r=>Re(r,e.codec())})(S3||(S3={}));var hr;(function(e){let t;(function(a){a.PUT_VALUE="PUT_VALUE",a.GET_VALUE="GET_VALUE",a.ADD_PROVIDER="ADD_PROVIDER",a.GET_PROVIDERS="GET_PROVIDERS",a.FIND_NODE="FIND_NODE",a.PING="PING"})(t=e.MessageType||(e.MessageType={}));let r;(function(a){a[a.PUT_VALUE=0]="PUT_VALUE",a[a.GET_VALUE=1]="GET_VALUE",a[a.ADD_PROVIDER=2]="ADD_PROVIDER",a[a.GET_PROVIDERS=3]="GET_PROVIDERS",a[a.FIND_NODE=4]="FIND_NODE",a[a.PING=5]="PING"})(r||(r={})),function(a){a.codec=()=>gn(r)}(t=e.MessageType||(e.MessageType={}));let n;(function(a){a.NOT_CONNECTED="NOT_CONNECTED",a.CONNECTED="CONNECTED",a.CAN_CONNECT="CAN_CONNECT",a.CANNOT_CONNECT="CANNOT_CONNECT"})(n=e.ConnectionType||(e.ConnectionType={}));let i;(function(a){a[a.NOT_CONNECTED=0]="NOT_CONNECTED",a[a.CONNECTED=1]="CONNECTED",a[a.CAN_CONNECT=2]="CAN_CONNECT",a[a.CANNOT_CONNECT=3]="CANNOT_CONNECT"})(i||(i={})),function(a){a.codec=()=>gn(i)}(n=e.ConnectionType||(e.ConnectionType={}));let o;(function(a){let c;a.codec=()=>(c==null&&(c=ke((u,f,l={})=>{if(l.lengthDelimited!==!1&&f.fork(),u.id!=null&&(f.uint32(10),f.bytes(u.id)),u.addrs!=null)for(let d of u.addrs)f.uint32(18),f.bytes(d);u.connection!=null&&(f.uint32(24),e.ConnectionType.codec().encode(u.connection,f)),l.lengthDelimited!==!1&&f.ldelim()},(u,f)=>{let l={addrs:[]},d=f==null?u.len:u.pos+f;for(;u.pos<d;){let p=u.uint32();switch(p>>>3){case 1:l.id=u.bytes();break;case 2:l.addrs.push(u.bytes());break;case 3:l.connection=e.ConnectionType.codec().decode(u);break;default:u.skipType(p&7);break}}return l})),c),a.encode=u=>Pe(u,a.codec()),a.decode=u=>Re(u,a.codec())})(o=e.Peer||(e.Peer={}));let s;e.codec=()=>(s==null&&(s=ke((a,c,u={})=>{if(u.lengthDelimited!==!1&&c.fork(),a.type!=null&&(c.uint32(8),e.MessageType.codec().encode(a.type,c)),a.clusterLevelRaw!=null&&(c.uint32(80),c.int32(a.clusterLevelRaw)),a.key!=null&&(c.uint32(18),c.bytes(a.key)),a.record!=null&&(c.uint32(26),c.bytes(a.record)),a.closerPeers!=null)for(let f of a.closerPeers)c.uint32(66),e.Peer.codec().encode(f,c);if(a.providerPeers!=null)for(let f of a.providerPeers)c.uint32(74),e.Peer.codec().encode(f,c);u.lengthDelimited!==!1&&c.ldelim()},(a,c)=>{let u={closerPeers:[],providerPeers:[]},f=c==null?a.len:a.pos+c;for(;a.pos<f;){let l=a.uint32();switch(l>>>3){case 1:u.type=e.MessageType.codec().decode(a);break;case 10:u.clusterLevelRaw=a.int32();break;case 2:u.key=a.bytes();break;case 3:u.record=a.bytes();break;case 8:u.closerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;case 9:u.providerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;default:a.skipType(l&7);break}}return u})),s),e.encode=a=>Pe(a,e.codec()),e.decode=a=>Re(a,e.codec())})(hr||(hr={}));var It=hr.MessageType,Mu=hr.ConnectionType,C3=Object.keys(It),pt=class{type;key;clusterLevelRaw;closerPeers;providerPeers;record;constructor(t,r,n){if(!(r instanceof Uint8Array))throw new Error("Key must be a Uint8Array");this.type=t,this.key=r,this.clusterLevelRaw=n,this.closerPeers=[],this.providerPeers=[],this.record=void 0}get clusterLevel(){let t=this.clusterLevelRaw-1;return t<0?0:t}set clusterLevel(t){this.clusterLevelRaw=t}serialize(){return hr.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(A3),providerPeers:this.providerPeers.map(A3),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(t){let r=hr.decode(t),n=new pt(r.type??hr.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(I3),n.providerPeers=r.providerPeers.map(I3),r.record?.length!=null&&(n.record=Pt.deserialize(r.record)),n}};function A3(e){return{id:e.id.toBytes(),addrs:(e.multiaddrs??[]).map(r=>r.bytes),connection:Mu.CONNECTED}}function I3(e){if(e.id==null)throw new Error("Invalid peer in message");return{id:Dr(e.id),multiaddrs:(e.addrs??[]).map(t=>Oo(t)),protocols:[]}}function Mo(e,t={}){let r={...e,name:"SEND_QUERY",type:0,messageName:e.type,messageType:C3.indexOf(e.type.toString())};return t.onProgress?.(new Et("kad-dht:query:send-query",{detail:r})),r}function s0(e,t={}){let r={...e,name:"PEER_RESPONSE",type:1,messageName:e.messageType,closer:e.closer!=null?e.closer:[],providers:e.providers!=null?e.providers:[]};return t.onProgress?.(new Et("kad-dht:query:peer-response",{detail:r})),r}function u1(e,t={}){let r={...e,name:"FINAL_PEER",type:2};return t.onProgress?.(new Et("kad-dht:query:final-peer",{detail:r})),r}function qt(e,t={}){let r={...e,name:"QUERY_ERROR",type:3};return t.onProgress?.(new Et("kad-dht:query:query-error",{detail:r})),r}function Ko(e,t={}){let r={...e,name:"PROVIDER",type:4};return t.onProgress?.(new Et("kad-dht:query:provider",{detail:r})),r}function a0(e,t={}){let r={...e,name:"VALUE",type:5};return t.onProgress?.(new Et("kad-dht:query:value",{detail:r})),r}function Vo(e,t={}){let r={...e,name:"DIAL_PEER",type:7};return t.onProgress?.(new Et("kad-dht:query:dial-peer",{detail:r})),r}var _3=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");var We="/",B3=new TextEncoder().encode(We),f1=B3[0],Dt=class{constructor(t,r){if(typeof t=="string")this._buf=mt(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==f1)throw new Error("Invalid key")}toString(t="utf8"){return U(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new Dt(t.join(We))}static random(){return new Dt(_3().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new Dt(t):typeof t.uint8Array=="function"?new Dt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=B3),this._buf[0]!==f1){let t=new Uint8Array(this._buf.byteLength+1);t.fill(f1,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===f1;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return Dt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(We).slice(1)}type(){return Ku(this.baseNamespace())}name(){return Vu(this.baseNamespace())}instance(t){return new Dt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(We)||(t+=We),t+=this.type(),new Dt(t)}parent(){let t=this.list();return t.length===1?new Dt(We):new Dt(t.slice(0,-1).join(We))}child(t){return this.toString()===We?t:t.toString()===We?this:new Dt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return Dt.withNamespaces([...this.namespaces(),...qu(t.map(r=>r.namespaces()))])}};function Ku(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Vu(e){let t=e.split(":");return t[t.length-1]}function qu(e){return[].concat(...e)}var zu=mt("/pk/");function bn(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(r===53||r===54||r===55)return n!=="localhost";if(r!==4&&r!==6||n==null)return!1;let i=Yn(n);return i==null?!0:!i})}}function En(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(n==="localhost")return!0;if(r!==4&&r!==6||n==null)return!1;let i=Yn(n);return i??!1})}}async function pr(e){return(await gt.digest(e)).digest}async function ve(e){return pr(e.toBytes())}function Ye(e){return new Dt(`${ta}/${U(e,"base32")}`,!1)}function T3(e){return at([zu,e.toBytes()])}function R3(e){return U(e.subarray(0,4))==="/pk/"}function P3(e){return Dr(e.subarray(4))}function qo(e,t){let r=new Date;return new Pt(e,t,r).serialize()}function k3(e,t=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{e()},t)}}var l1=class{log;components;validators;selectors;peerRouting;queryManager;network;constructor(t,r){let{validators:n,selectors:i,peerRouting:o,queryManager:s,network:a,lan:c}=r;this.components=t,this.log=q(`libp2p:kad-dht:${c?"lan":"wan"}:content-fetching`),this.validators=n,this.selectors=i,this.peerRouting=o,this.queryManager=s,this.network=a}async putLocal(t,r){let n=Ye(t);await this.components.datastore.put(n,r)}async getLocal(t){this.log("getLocal %b",t);let r=Ye(t);this.log("fetching record for key %k",r);let n=await this.components.datastore.get(r);this.log("found %k in local datastore",r);let i=Pt.deserialize(n);return await pn(this.validators,i),i}async*sendCorrectionRecord(t,r,n,i={}){this.log("sendCorrection for %b",t);let o=qo(t,n);for(let{value:s,from:a}of r){if(ot(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=Ye(t);this.log(`Storing corrected record for key ${f.toString()}`),await this.components.datastore.put(f,o.subarray())}catch(f){this.log.error("Failed error correcting self",f)}continue}let c=!1,u=new pt(It.PUT_VALUE,t,0);u.record=Pt.deserialize(o);for await(let f of this.network.sendRequest(a,u,i))f.name==="PEER_RESPONSE"&&f.record!=null&&ot(f.record.value,Pt.deserialize(o).value)&&(c=!0),yield f;c||(yield qt({from:a,error:new _("value not put correctly","ERR_PUT_VALUE_INVALID")},i)),this.log.error("Failed error correcting entry")}}async*put(t,r,n={}){this.log("put key %b value %b",t,r);let i=qo(t,r),o=Ye(t);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*me(this.peerRouting.getClosestPeers(t,{signal:n.signal}),s=>i1(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[],u=new pt(It.PUT_VALUE,t,0);u.record=Pt.deserialize(i),this.log("send put to %p",a.peer.id);for await(let f of this.network.sendRequest(a.peer.id,u,n))c.push(f),f.name==="PEER_RESPONSE"&&(f.record!=null&&ot(f.record.value,Pt.deserialize(i).value)||c.push(qt({from:a.peer.id,error:new _("value not put correctly","ERR_PUT_VALUE_INVALID")},n)));return c}),s=>r0(s,{ordered:!1,concurrency:3}),async function*(s){for await(let a of s)yield*a})}async*get(t,r={}){this.log("get %b",t);let n=[];for await(let a of this.getMany(t,r))a.name==="VALUE"&&n.push(a),yield a;if(n.length===0)return;let i=n.map(a=>a.value),o=0;try{o=W2(this.selectors,t,i)}catch(a){if(a.code!=="ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")throw a}let s=i[o];if(this.log("GetValue %b %b",t,s),s==null)throw new _("best value was not found","ERR_NOT_FOUND");yield*this.sendCorrectionRecord(t,n,s,r),yield n[o]}async*getMany(t,r={}){this.log("getMany values for %b",t);try{let o=await this.getLocal(t);yield a0({value:o.value,from:this.components.peerId},r)}catch(o){this.log("error getting local value for %b",t,o)}let n=this,i=async function*({peer:o,signal:s}){for await(let a of n.peerRouting.getValueOrPeers(o,t,{signal:s}))yield a,a.name==="PEER_RESPONSE"&&a.record!=null&&(yield a0({from:o,value:a.record.value},r))};yield*this.queryManager.run(t,i,r)}};var h1=class{log;components;network;peerRouting;queryManager;routingTable;providers;constructor(t,r){let{network:n,peerRouting:i,queryManager:o,routingTable:s,providers:a,lan:c}=r;this.components=t,this.log=q(`libp2p:kad-dht:${c?"lan":"wan"}:content-routing`),this.network=n,this.peerRouting=i,this.queryManager=o,this.routingTable=s,this.providers=a}async*provide(t,r,n={}){this.log("provide %s",t),await this.providers.addProvider(t,this.components.peerId);let i=new pt(It.ADD_PROVIDER,t.multihash.bytes,0);i.providerPeers=[{id:this.components.peerId,multiaddrs:r,protocols:[]}];let o=0,s=a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[];this.log("putProvider %s to %p",t,a.peer.id);try{this.log("sending provider record for %s to %p",t,a.peer.id);for await(let u of this.network.sendMessage(a.peer.id,i,n))u.name==="PEER_RESPONSE"&&(this.log("sent provider record for %s to %p",t,a.peer.id),o++),c.push(u)}catch(u){this.log.error("error sending provide record to peer %p",a.peer.id,u),c.push(qt({from:a.peer.id,error:u},n))}return c};yield*me(this.peerRouting.getClosestPeers(t.multihash.bytes,n),a=>i1(a,c=>s(c)),a=>r0(a,{ordered:!1,concurrency:3}),async function*(a){for await(let c of a)yield*c}),this.log("sent provider records to %d peers",o)}async*findProviders(t,r){let n=this.routingTable.kBucketSize,i=t.multihash.bytes,o=this;this.log("findProviders %c",t);let s=await this.providers.getProviders(t);if(s.length>0){let u=[];for(let f of s.slice(0,n))try{let l=await this.components.peerStore.get(f);u.push({id:f,multiaddrs:l.addresses.map(({multiaddr:d})=>d),protocols:l.protocols})}catch(l){if(l.code!=="ERR_NOT_FOUND")throw l;this.log("no peer store entry for %p",f)}yield s0({from:this.components.peerId,messageType:It.GET_PROVIDERS,providers:u},r),yield Ko({from:this.components.peerId,providers:u},r)}if(s.length>=n)return;let a=async function*({peer:u,signal:f}){let l=new pt(It.GET_PROVIDERS,i,0);yield*o.network.sendRequest(u,l,{...r,signal:f})},c=new Set(s.map(u=>u.toString()));for await(let u of this.queryManager.run(i,a,r))if(yield u,u.name==="PEER_RESPONSE"){this.log("Found %d provider entries for %c and %d closer peers",u.providers.length,t,u.closer.length);let f=[];for(let l of u.providers)c.has(l.id.toString())||(c.add(l.id.toString()),f.push(l));if(f.length>0&&(yield Ko({from:u.from,providers:f},r)),c.size===n)return}}};var c0=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function L3(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function N3(e,t,r){let n=r??{},i=L3(e);async function*o(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:f,abortCode:l}=n;throw new c0(f,l)}let u=new Promise((f,l)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;l(new c0(d,p))}});c=await Promise.race([u,i.next()]),s=null}catch(u){t.removeEventListener("abort",a);let f=u.type==="aborted"&&t.aborted;if(f&&n.onAbort!=null&&n.onAbort(e),typeof i.return=="function")try{let l=i.return();l instanceof Promise&&l.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(f&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return o()}function Hu(e,t,r){return n=>e(N3(n,t,r))}function Ho(e,t,r){return{sink:Hu(e.sink,t,{...r,onAbort:void 0}),source:N3(e.source,t,r)}}function $u(e){return e[Symbol.asyncIterator]!=null}function Gu(e){if($u(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var D3=Gu;var O3=Symbol.for("@achingbrain/uint8arraylist");function F3(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function p1(e){return!!e?.[O3]}var Ne=class{constructor(...t){Object.defineProperty(this,O3,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(p1(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(p1(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=F3(this.bufs,t);return r.buf[r.index]}set(t,r){let n=F3(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(p1(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return at(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:at(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new Ne;return o.length=i,o.bufs=n,o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!p1(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let d=u;d>=0;d--){let p=this.get(l+d);if(n[d]!==p){f=Math.max(1,d-a[p]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=jt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=Ge(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=Ge(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=Ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=jt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=Ge(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=Ge(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=Ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=Ge(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=Ge(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Ne)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!ot(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new Ne;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function d1(e){return e instanceof Uint8Array?{get(t){return e[t]},set(t,r){e[t]=r}}:{get(t){return e.get(t)},set(t,r){e.set(t,r)}}}var U3=4294967296,Jt=class{constructor(t=0,r=0){this.hi=t,this.lo=r}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new Jt(n,r)}zzEncode(){let t=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new Jt(r,n)}toBytes(t,r=0){let n=d1(t);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(t){if(t===0n)return new Jt;let r=t<0;r&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>U3&&(i=0,++n>U3&&(n=0))),new Jt(n,i)}static fromNumber(t){if(t===0)return new Jt;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Jt(i,n)}static fromBytes(t,r=0){let n=d1(t),i=new Jt,o=0;if(t.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(t.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<t.byteLength)for(;o<5;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var Qu=Math.pow(2,7),Wu=Math.pow(2,14),Yu=Math.pow(2,21),Zu=Math.pow(2,28),Xu=Math.pow(2,35),ju=Math.pow(2,42),Ju=Math.pow(2,49),tf=Math.pow(2,56),ef=Math.pow(2,63),Fr={encodingLength(e){return e<Qu?1:e<Wu?2:e<Yu?3:e<Zu?4:e<Xu?5:e<ju?6:e<Ju?7:e<tf?8:e<ef?9:10},encode(e,t,r=0){if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=jt(Fr.encodingLength(e))),Jt.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return Jt.fromBytes(e,t).toNumber(!0)}};function y1(e){return e[Symbol.asyncIterator]!=null}var g1=e=>{let t=Fr.encodingLength(e),r=jt(t);return Fr.encode(e,r),g1.bytes=t,r};g1.bytes=0;function Or(e,t){t=t??{};let r=t.lengthEncoder??g1;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return y1(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}Or.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??g1;return new Ne(r(e.byteLength),e)};var An=H(V3(),1);var nf=8,of=1024*1024*4,Ur;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Ur||(Ur={}));var $o=e=>{let t=Fr.decode(e);return $o.bytes=Fr.encodingLength(t),t};$o.bytes=0;function Mr(e,t){let r=new Ne,n=Ur.LENGTH,i=-1,o=t?.lengthDecoder??$o,s=t?.maxLengthLength??nf,a=t?.maxDataLength??of;function*c(){for(;r.byteLength>0;){if(n===Ur.LENGTH)try{if(i=o(r),i<0)throw(0,An.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,An.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Ur.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,An.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Ur.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Ur.LENGTH}}}return y1(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,An.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,An.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Mr.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Mr(n,{...t??{},onLength:o=>{r=o}})};var m1=class extends Qt{log;protocol;running;components;constructor(t,r){super();let{protocol:n,lan:i}=r;this.components=t,this.log=q(`libp2p:kad-dht:${i?"lan":"wan"}:network`),this.running=!1,this.protocol=n}async start(){this.running||(this.running=!0)}async stop(){this.running=!1}isStarted(){return this.running}async*sendRequest(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield Vo({peer:t},n),yield Mo({to:t,type:r.type},n);let i;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n),a=await this._writeReadMessage(s,r.serialize(),n);yield s0({from:t,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record},n)}catch(o){yield qt({from:t,error:o},n)}finally{i?.close()}}async*sendMessage(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield Vo({peer:t},n),yield Mo({to:t,type:r.type},n);let i;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n);await this._writeMessage(s,r.serialize(),n),yield s0({from:t,messageType:r.type},n)}catch(o){yield qt({from:t,error:o},n)}finally{i?.close()}}async _writeMessage(t,r,n){n.signal!=null&&(t=Ho(t,n.signal)),await me([r],i=>Or(i),t,Qn)}async _writeReadMessage(t,r,n){n.signal!=null&&(t=Ho(t,n.signal));let i=await me([r],s=>Or(s),t,s=>Mr(s),async s=>{let a=await D3(s);if(a!=null)return a;throw new _("No message received","ERR_NO_MESSAGE_RECEIVED")}),o=pt.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new Et("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new Et("peer",{detail:s}))}),o}};var uv=H(E1(),1),pf=H(rt(),1);var _t={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var n4={SHA1:20,SHA256:32,SHA512:64};var gf={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},mf=async(e,t)=>{let r=await _t.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function i4(e,t){let r=gf[e],n=await _t.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return mf(n,i)},length:n4[e]}}var X1={};Lt(X1,{generateEphemeralKeyPair:()=>_5,generateKeyPair:()=>D9,generateKeyPairFromSeed:()=>F9,importKey:()=>K9,keyStretcher:()=>R5,keysPBM:()=>kn,marshalPrivateKey:()=>M9,marshalPublicKey:()=>U9,supportedKeys:()=>ze,unmarshalPrivateKey:()=>h6,unmarshalPublicKey:()=>O9});var Xx=H(h0(),1),jx=H(s5(),1);var Z1=H(rt(),1);var Is={};Lt(Is,{Ed25519PrivateKey:()=>Gr,Ed25519PublicKey:()=>x0,generateKeyPair:()=>e9,generateKeyPairFromSeed:()=>As,unmarshalEd25519PrivateKey:()=>Jl,unmarshalEd25519PublicKey:()=>t9});var Dl=H(_n(),1);var Mt=BigInt(0),W=BigInt(1),wr=BigInt(2),Fl=BigInt(8),a5=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),ut=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:a5,n:a5,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var h5=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),y0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Mv=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Ol=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Ul=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Ml=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Kl=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),G=class{constructor(t,r,n,i){this.x=t,this.y=r,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof yt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(yt.ZERO)?G.ZERO:new G(t.x,t.y,W,A(t.x*t.y))}static toAffineBatch(t){let r=zl(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){u5(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,c=A(r*a),u=A(o*i),f=A(n*a),l=A(s*i);return c===u&&f===l}negate(){return new G(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=ut,o=A(t*t),s=A(r*r),a=A(wr*A(n*n)),c=A(i*o),u=t+r,f=A(A(u*u)-o-s),l=c+s,d=l-a,p=c-s,h=A(f*d),y=A(l*p),g=A(f*p),m=A(d*l);return new G(h,y,m,g)}add(t){u5(t);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:u}=t,f=A((n-r)*(a+s)),l=A((n+r)*(a-s)),d=A(l-f);if(d===Mt)return this.double();let p=A(i*wr*u),h=A(o*wr*c),y=h+p,g=l+f,m=h-p,v=A(y*d),b=A(g*m),k=A(y*m),B=A(d*g);return new G(v,b,B,k)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(G.BASE)&&(r=yt.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&vs.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=G.normalizeZ(i),vs.set(r,i)));let o=G.ZERO,s=G.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(t&u);t>>=l,h>c&&(h-=f,t+=W);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,v=h<0;h===0?s=s.add(c5(m,i[y])):o=o.add(c5(v,i[g]))}return G.normalizeZ([o,s])[0]}multiply(t,r){return this.wNAF(O1(t,ut.l),r)}multiplyUnsafe(t){let r=O1(t,ut.l,!1),n=G.BASE,i=G.ZERO;if(r===Mt)return i;if(this.equals(i)||r===W)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>Mt;)r&W&&(o=o.add(s)),s=s.double(),r>>=W;return o}isSmallOrder(){return this.multiplyUnsafe(ut.h).equals(G.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(ut.l/wr).double();return ut.l%wr&&(t=t.add(this)),t.equals(G.ZERO)}toAffine(t){let{x:r,y:n,z:i}=this,o=this.equals(G.ZERO);t==null&&(t=o?Fl:U1(i));let s=A(r*t),a=A(n*t),c=A(i*t);if(o)return yt.ZERO;if(c!==W)throw new Error("invZ was invalid");return new yt(s,a)}fromRistrettoBytes(){ys()}toRistrettoBytes(){ys()}fromRistrettoHash(){ys()}};G.BASE=new G(ut.Gx,ut.Gy,W,A(ut.Gx*ut.Gy));G.ZERO=new G(Mt,W,W,Mt);function c5(e,t){let r=t.negate();return e?r:t}function u5(e){if(!(e instanceof G))throw new TypeError("ExtendedPoint expected")}function ds(e){if(!(e instanceof Yt))throw new TypeError("RistrettoPoint expected")}function ys(){throw new Error("Legacy method: switch to RistrettoPoint")}var Yt=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=ut,n=A(y0*t*t),i=A((n+W)*Ml),o=BigInt(-1),s=A((o-r*n)*A(n+r)),{isValid:a,value:c}=ws(i,s),u=A(c*t);xr(u)||(u=A(-u)),a||(c=u),a||(o=n);let f=A(o*(n-W)*Kl-s),l=c*c,d=A((c+c)*s),p=A(f*Ol),h=A(W-l),y=A(W+l);return new G(A(d*y),A(h*p),A(p*y),A(d*h))}static hashToCurve(t){t=br(t,64);let r=gs(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=gs(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new Yt(n.add(o))}static fromHex(t){t=br(t,32);let{a:r,d:n}=ut,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=gs(t);if(!$l(g0(o),t)||xr(o))throw new Error(i);let s=A(o*o),a=A(W+r*s),c=A(W-r*s),u=A(a*a),f=A(c*c),l=A(r*n*u-f),{isValid:d,value:p}=l5(A(l*f)),h=A(p*c),y=A(p*h*l),g=A((o+o)*h);xr(g)&&(g=A(-g));let m=A(a*y),v=A(g*m);if(!d||xr(v)||m===Mt)throw new Error(i);return new Yt(new G(g,m,W,v))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,o=A(A(n+r)*A(n-r)),s=A(t*r),a=A(s*s),{value:c}=l5(A(o*a)),u=A(c*o),f=A(c*s),l=A(u*f*i),d;if(xr(i*l)){let h=A(r*y0),y=A(t*y0);t=h,r=y,d=A(u*Ul)}else d=f;xr(t*l)&&(r=A(-r));let p=A((n-r)*d);return xr(p)&&(p=A(-p)),g0(p)}toHex(){return m0(this.toRawBytes())}toString(){return this.toHex()}equals(t){ds(t);let r=this.ep,n=t.ep,i=A(r.x*n.y)===A(r.y*n.x),o=A(r.y*n.y)===A(r.x*n.x);return i||o}add(t){return ds(t),new Yt(this.ep.add(t.ep))}subtract(t){return ds(t),new Yt(this.ep.subtract(t.ep))}multiply(t){return new Yt(this.ep.multiply(t))}multiplyUnsafe(t){return new Yt(this.ep.multiplyUnsafe(t))}};Yt.BASE=new Yt(G.BASE);Yt.ZERO=new Yt(G.ZERO);var vs=new WeakMap,yt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,vs.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=ut;t=br(t,32);let o=t.slice();o[31]=t[31]&-129;let s=v0(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=h5)throw new Error("Expected 0 < hex < 2**256");let a=A(s*s),c=A(a-W),u=A(n*a+W),{isValid:f,value:l}=ws(c,u);if(!f)throw new Error("Point.fromHex: invalid y coordinate");let d=(l&W)===W;return(t[31]&128)!==0!==d&&(l=A(-l)),new yt(l,s)}static async fromPrivateKey(t){return(await M1(t)).point}toRawBytes(){let t=g0(this.y);return t[31]|=this.x&W?128:0,t}toHex(){return m0(this.toRawBytes())}toX25519(){let{y:t}=this,r=A((W+t)*U1(W-t));return g0(r)}isTorsionFree(){return G.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new yt(A(-this.x),this.y)}add(t){return G.fromAffine(this).add(G.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return G.fromAffine(this).multiply(t,this).toAffine()}};yt.BASE=new yt(ut.Gx,ut.Gy);yt.ZERO=new yt(Mt,W);var $r=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=br(t,64),n=yt.fromHex(r.slice(0,32),!1),i=v0(r.slice(32,64));return new $r(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof yt))throw new Error("Expected Point instance");return O1(r,ut.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(g0(this.s),32),t}toHex(){return m0(this.toRawBytes())}};function f5(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var Vl=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function m0(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=Vl[e[r]];return t}function xs(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function p5(e){let r=e.toString(16).padStart(64,"0");return xs(r)}function g0(e){return p5(e).reverse()}function xr(e){return(A(e)&W)===W}function v0(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+m0(Uint8Array.from(e).reverse()))}var ql=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function gs(e){return A(v0(e)&ql)}function A(e,t=ut.P){let r=e%t;return r>=Mt?r:t+r}function U1(e,t=ut.P){if(e===Mt||t<=Mt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=A(e,t),n=t,i=Mt,o=W,s=W,a=Mt;for(;r!==Mt;){let u=n/r,f=n%r,l=i-s*u,d=o-a*u;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==W)throw new Error("invert: does not exist");return A(i,t)}function zl(e,t=ut.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Mt?o:(r[a]=o,A(o*s,t)),W),i=U1(n,t);return e.reduceRight((o,s,a)=>s===Mt?o:(r[a]=A(o*r[a],t),A(o*s,t)),i),r}function Ve(e,t){let{P:r}=ut,n=e;for(;t-- >Mt;)n*=n,n%=r;return n}function Hl(e){let{P:t}=ut,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=e*e%t*e%t,u=Ve(c,wr)*c%t,f=Ve(u,W)*e%t,l=Ve(f,r)*f%t,d=Ve(l,n)*l%t,p=Ve(d,i)*d%t,h=Ve(p,o)*p%t,y=Ve(h,s)*h%t,g=Ve(y,s)*h%t,m=Ve(g,n)*l%t;return{pow_p_5_8:Ve(m,wr)*e%t,b2:c}}function ws(e,t){let r=A(t*t*t),n=A(r*r*t),i=Hl(e*n).pow_p_5_8,o=A(e*r*i),s=A(t*o*o),a=o,c=A(o*y0),u=s===e,f=s===A(-e),l=s===A(-e*y0);return u&&(o=a),(f||l)&&(o=c),xr(o)&&(o=A(-o)),{isValid:u||f,value:o}}function l5(e){return ws(W,e)}function F1(e){return A(v0(e),ut.l)}function $l(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function br(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):xs(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function O1(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(Mt<e)return e}else if(Mt<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Gl(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Ql(e){if(e=typeof e=="bigint"||typeof e=="number"?p5(O1(e,h5)):br(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function Wl(e){let t=Gl(e.slice(0,32)),r=e.slice(32,64),n=F1(t),i=yt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}var ms;async function M1(e){return Wl(await Er.sha512(Ql(e)))}async function bs(e){return(await M1(e)).pointBytes}async function d5(e,t){e=br(e);let{prefix:r,scalar:n,pointBytes:i}=await M1(t),o=F1(await Er.sha512(r,e)),s=yt.BASE.multiply(o),a=F1(await Er.sha512(s.toRawBytes(),i,e)),c=A(o+a*n,ut.l);return new $r(s,c).toRawBytes()}function Yl(e,t,r){t=br(t),r instanceof yt||(r=yt.fromHex(r,!1));let{r:n,s:i}=e instanceof $r?e.assertValidity():$r.fromHex(e),o=G.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:t}}function Zl(e,t,r,n){let i=F1(n),o=G.fromAffine(e).multiplyUnsafe(i);return G.fromAffine(t).add(o).subtract(r).multiplyUnsafe(ut.h).equals(G.ZERO)}async function y5(e,t,r){let{r:n,SB:i,msg:o,pub:s}=Yl(e,t,r),a=await Er.sha512(n.toRawBytes(),s.toRawBytes(),o);return Zl(s,n,i,a)}yt.BASE._setWindowSize(8);var vr={node:Dl,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Er={bytesToHex:m0,hexToBytes:xs,concatBytes:f5,getExtendedPublicKey:M1,mod:A,invert:U1,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=br(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(v0(e),ut.l-W)+W},randomBytes:(e=32)=>{if(vr.web)return vr.web.getRandomValues(new Uint8Array(e));if(vr.node){let{randomBytes:t}=vr.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Er.randomBytes(32),sha512:async(...e)=>{let t=f5(...e);if(vr.web){let r=await vr.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(vr.node)return Uint8Array.from(vr.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=yt.BASE){let r=t.equals(yt.BASE)?t:new yt(t.x,t.y);return r._setWindowSize(e),r.multiply(wr),r},sha512Sync:void 0};Object.defineProperties(Er,{sha512Sync:{configurable:!1,get(){return ms},set(e){ms||(ms=e)}}});var Rn=32,Je=64,K1=32;async function g5(){let e=Er.randomPrivateKey(),t=await bs(e);return{privateKey:w5(e,t),publicKey:t}}async function m5(e){if(e.length!==K1)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=await bs(t);return{privateKey:w5(t,r),publicKey:r}}async function v5(e,t){let r=e.subarray(0,K1);return d5(t,r)}async function x5(e,t,r){return y5(t,r,e)}function w5(e,t){let r=new Uint8Array(Je);for(let n=0;n<K1;n++)r[n]=e[n],r[K1+n]=t[n];return r}var Es={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function V1(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=_t.get();r*=8;async function c(l,d){let p=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),y={name:t,iv:h};typeof d=="string"&&(d=mt(d));let g;if(d.length===0){g=await a.subtle.importKey("jwk",Es,{name:"AES-GCM"},!0,["encrypt"]);try{let v={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,b,{name:t,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",Es,{name:"AES-GCM"},!0,["encrypt"])}}else{let v={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,b,{name:t,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(y,g,l);return at([p,y.iv,new Uint8Array(m)])}async function u(l,d){let p=l.subarray(0,o),h=l.subarray(o,o+n),y=l.subarray(o+n),g={name:t,iv:h};typeof d=="string"&&(d=mt(d));let m;if(d.length===0)try{let b={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},k=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,k,{name:t,length:r},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",Es,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},k=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,k,{name:t,length:r},!0,["decrypt"])}let v=await a.subtle.decrypt(g,m,y);return new Uint8Array(v)}return{encrypt:c,decrypt:u}}async function Pn(e,t){let n=await V1().encrypt(e,t);return Tr.encode(n)}var kn={};Lt(kn,{KeyType:()=>ft,PrivateKey:()=>Ee,PublicKey:()=>be});var ft;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(ft||(ft={}));var Ss;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(Ss||(Ss={}));(function(e){e.codec=()=>gn(Ss)})(ft||(ft={}));var be;(function(e){let t;e.codec=()=>(t==null&&(t=ke((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ft.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=ft.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Pe(r,e.codec()),e.decode=r=>Re(r,e.codec())})(be||(be={}));var Ee;(function(e){let t;e.codec=()=>(t==null&&(t=ke((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ft.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=ft.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Pe(r,e.codec()),e.decode=r=>Re(r,e.codec())})(Ee||(Ee={}));var x0=class{_key;constructor(t){this._key=Ln(t,Rn)}async verify(t,r){return x5(this._key,r,t)}marshal(){return this._key}get bytes(){return be.encode({Type:ft.Ed25519,Data:this.marshal()}).subarray()}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}},Gr=class{_key;_publicKey;constructor(t,r){this._key=Ln(t,Je),this._publicKey=Ln(r,Rn)}async sign(t){return v5(this._key,t)}get public(){return new x0(this._publicKey)}marshal(){return this._key}get bytes(){return Ee.encode({Type:ft.Ed25519,Data:this.marshal()}).subarray()}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}async id(){let t=cr.digest(this.public.bytes);return St.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Pn(this.bytes,t);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Jl(e){if(e.length>Je){e=Ln(e,Je+Rn);let n=e.subarray(0,Je),i=e.subarray(Je,e.length);return new Gr(n,i)}e=Ln(e,Je);let t=e.subarray(0,Je),r=e.subarray(Rn);return new Gr(t,r)}function t9(e){return e=Ln(e,Rn),new x0(e)}async function e9(){let{privateKey:e,publicKey:t}=await g5();return new Gr(e,t)}async function As(e){let{privateKey:t,publicKey:r}=await m5(e);return new Gr(t,r)}function Ln(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new _(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var jv=H(Ct(),1),Jv=H(k1(),1),E5=H(rt(),1);function Se(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=at([new Uint8Array(t-r.length),r])}return U(r,"base64url")}function te(e){let t=q1(e);return new E5.default.jsbn.BigInteger(U(t,"base16"),16)}function q1(e,t){let r=mt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=at([new Uint8Array(t-r.length),r])}return r}var S5={"P-256":256,"P-384":384,"P-521":521},r9=Object.keys(S5),Cs=r9.join(" / ");async function A5(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new _(`Unknown curve: ${e}. Must be ${Cs}`,"ERR_INVALID_CURVE");let t=await _t.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await _t.get().subtle.importKey("jwk",i9(e,s),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let c=await _t.get().subtle.importKey("jwk",C5(e,o),{name:"ECDH",namedCurve:e},!1,[]),u=await _t.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:c},a,S5[e]);return new Uint8Array(u,0,u.byteLength)},n=await _t.get().subtle.exportKey("jwk",t.publicKey);return{key:n9(n),genSharedKey:r}}var I5={"P-256":32,"P-384":48,"P-521":66};function n9(e){if(e.crv==null||e.x==null||e.y==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new _(`Unknown curve: ${e.crv}. Must be ${Cs}`,"ERR_INVALID_CURVE");let t=I5[e.crv];return at([Uint8Array.from([4]),q1(e.x,t),q1(e.y,t)],1+t*2)}function C5(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new _(`Unknown curve: ${e}. Must be ${Cs}`,"ERR_INVALID_CURVE");let r=I5[e];if(!ot(t.subarray(0,1),Uint8Array.from([4])))throw new _("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:e,x:U(t.subarray(1,r+1),"base64url"),y:U(t.subarray(1+r),"base64url"),ext:!0}}var i9=(e,t)=>({...C5(e,t.public),d:U(t.private,"base64url")});var _5=A5;async function B5(e,t){let r=Tr.decode(e);return V1().decrypt(r,t)}var T5={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function R5(e,t,r){let n=T5[e];if(n==null){let v=Object.keys(T5).join(" / ");throw new _(`unknown cipher type '${e}'. Must be ${v}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new _("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,o=n.ivSize,s=20,a=mt("key expansion"),c=2*(o+i+s),u=await i4(t,r),f=await u.digest(a),l=[],d=0;for(;d<c;){let v=await u.digest(at([f,a])),b=v.length;d+b>c&&(b=c-d),l.push(v),d+=b,f=await u.digest(f)}let p=c/2,h=at(l),y=h.subarray(0,p),g=h.subarray(p,c),m=v=>({iv:v.subarray(0,o),cipherKey:v.subarray(o,o+i),macKey:v.subarray(o+i)});return{k1:m(y),k2:m(g)}}var Os={};Lt(Os,{RsaPrivateKey:()=>Kn,RsaPublicKey:()=>C0,fromJwk:()=>T9,generateKeyPair:()=>R9,unmarshalRsaPrivateKey:()=>_9,unmarshalRsaPublicKey:()=>B9});var I0=H(rt(),1);var Vx=H(D5(),1);var s9=H(_n(),1);var Y=BigInt(0),ht=BigInt(1),Ar=BigInt(2),E0=BigInt(3),F5=BigInt(8),bt=Object.freeze({a:Y,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:ht,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),O5=(e,t)=>(e+t/Ar)/t,z1={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=bt,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ht*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=O5(o*e,t),c=O5(-n*e,t),u=P(e-a*r-c*i,t),f=P(-a*n-c*o,t),l=u>s,d=f>s;if(l&&(u=t-u),d&&(f=t-f),u>s||f>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:d,k2:f}}},Ae=32,Fn=32,a9=32,U5=Ae+1,M5=2*Ae+1;function K5(e){let{a:t,b:r}=bt,n=P(e*e),i=P(n*e);return P(i+t*e+r)}var H1=bt.a===Y,Q1=class extends Error{constructor(t){super(t)}};function V5(e){if(!(e instanceof j))throw new TypeError("JacobianPoint expected")}var j=class{constructor(t,r,n){this.x=t,this.y=r,this.z=n}static fromAffine(t){if(!(t instanceof tt))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(tt.ZERO)?j.ZERO:new j(t.x,t.y,ht)}static toAffineBatch(t){let r=h9(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return j.toAffineBatch(t).map(j.fromAffine)}equals(t){V5(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,c=P(i*i),u=P(a*a),f=P(r*u),l=P(o*c),d=P(P(n*a)*u),p=P(P(s*i)*c);return f===l&&d===p}negate(){return new j(this.x,P(-this.y),this.z)}double(){let{x:t,y:r,z:n}=this,i=P(t*t),o=P(r*r),s=P(o*o),a=t+o,c=P(Ar*(P(a*a)-i-s)),u=P(E0*i),f=P(u*u),l=P(f-Ar*c),d=P(u*(c-l)-F5*s),p=P(Ar*r*n);return new j(l,d,p)}add(t){V5(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t;if(o===Y||s===Y)return this;if(r===Y||n===Y)return t;let c=P(i*i),u=P(a*a),f=P(r*u),l=P(o*c),d=P(P(n*a)*u),p=P(P(s*i)*c),h=P(l-f),y=P(p-d);if(h===Y)return y===Y?this.double():j.ZERO;let g=P(h*h),m=P(h*g),v=P(f*g),b=P(y*y-m-Ar*v),k=P(y*(v-b)-d*m),B=P(i*a*h);return new j(b,k,B)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=j.ZERO;if(typeof t=="bigint"&&t===Y)return r;let n=H5(t);if(n===ht)return this;if(!H1){let l=r,d=this;for(;n>Y;)n&ht&&(l=l.add(d)),d=d.double(),n>>=ht;return l}let{k1neg:i,k1:o,k2neg:s,k2:a}=z1.splitScalar(n),c=r,u=r,f=this;for(;o>Y||a>Y;)o&ht&&(c=c.add(f)),a&ht&&(u=u.add(f)),f=f.double(),o>>=ht,a>>=ht;return i&&(c=c.negate()),s&&(u=u.negate()),u=new j(P(u.x*z1.beta),u.y,u.z),c.add(u)}precomputeWindow(t){let r=H1?128/t+1:256/t+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(j.BASE)&&(r=tt.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&Rs.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=j.normalizeZ(i),Rs.set(r,i)));let o=j.ZERO,s=j.BASE,a=1+(H1?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(t&u);t>>=l,h>c&&(h-=f,t+=ht);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,v=h<0;h===0?s=s.add($1(m,i[y])):o=o.add($1(v,i[g]))}return{p:o,f:s}}multiply(t,r){let n=H5(t),i,o;if(H1){let{k1neg:s,k1:a,k2neg:c,k2:u}=z1.splitScalar(n),{p:f,f:l}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(u,r);f=$1(s,f),d=$1(c,d),d=new j(P(d.x*z1.beta),d.y,d.z),i=f.add(d),o=l.add(p)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return j.normalizeZ([i,o])[0]}toAffine(t){let{x:r,y:n,z:i}=this,o=this.equals(j.ZERO);t==null&&(t=o?F5:Mn(i));let s=t,a=P(s*s),c=P(a*s),u=P(r*a),f=P(n*c),l=P(i*s);if(o)return tt.ZERO;if(l!==ht)throw new Error("invZ was invalid");return new tt(u,f)}};j.BASE=new j(bt.Gx,bt.Gy,ht);j.ZERO=new j(Y,ht,Y);function $1(e,t){let r=t.negate();return e?r:t}var Rs=new WeakMap,tt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Rs.delete(this)}hasEvenY(){return this.y%Ar===Y}static fromCompressedHex(t){let r=t.length===32,n=Ir(r?t:t.subarray(1));if(!Ts(n))throw new Error("Point is not on curve");let i=K5(n),o=l9(i),s=(o&ht)===ht;r?s&&(o=P(-o)):(t[0]&1)===1!==s&&(o=P(-o));let a=new tt(n,o);return a.assertValidity(),a}static fromUncompressedHex(t){let r=Ir(t.subarray(1,Ae+1)),n=Ir(t.subarray(Ae+1,Ae*2+1)),i=new tt(r,n);return i.assertValidity(),i}static fromHex(t){let r=Un(t),n=r.length,i=r[0];if(n===Ae)return this.fromCompressedHex(r);if(n===U5&&(i===2||i===3))return this.fromCompressedHex(r);if(n===M5&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${U5} compressed bytes or ${M5} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return tt.BASE.multiply(Y1(t))}static fromSignature(t,r,n){let{r:i,s:o}=$5(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=Ls(Un(t)),{n:a}=bt,c=n===2||n===3?i+a:i,u=Mn(c,a),f=P(-s*u,a),l=P(o*u,a),d=n&1?"03":"02",p=tt.fromHex(d+Nn(c)),h=tt.BASE.multiplyAndAddUnsafe(p,f,l);if(!h)throw new Error("Cannot recover signature: point at infinify");return h.assertValidity(),h}toRawBytes(t=!1){return Wr(this.toHex(t))}toHex(t=!1){let r=Nn(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Nn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:r,y:n}=this;if(!Ts(r)||!Ts(n))throw new Error(t);let i=P(n*n),o=K5(r);if(P(i-o)!==Y)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new tt(this.x,P(-this.y))}double(){return j.fromAffine(this).double().toAffine()}add(t){return j.fromAffine(this).add(j.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return j.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,r,n){let i=j.fromAffine(this),o=r===Y||r===ht||this!==tt.BASE?i.multiplyUnsafe(r):i.multiply(r),s=j.fromAffine(t).multiplyUnsafe(n),a=o.add(s);return a.equals(j.ZERO)?void 0:a.toAffine()}};tt.BASE=new tt(bt.Gx,bt.Gy);tt.ZERO=new tt(Y,Y);function q5(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function z5(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${On(e)}`);let t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Ir(r),left:e.subarray(t+2)}}function c9(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${On(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=z5(e.subarray(2)),{data:n,left:i}=z5(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${On(i)}`);return{r:t,s:n}}var qe=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromCompact(t){let r=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?On(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new qe(W1(i.slice(0,64)),W1(i.slice(64,128)))}static fromDER(t){let r=t instanceof Uint8Array;if(typeof t!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=c9(r?t:Wr(t));return new qe(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!A0(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!A0(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=bt.n>>ht;return this.s>t}normalizeS(){return this.hasHighS()?new qe(this.r,P(-this.s,bt.n)):this}toDERRawBytes(){return Wr(this.toDERHex())}toDERHex(){let t=q5(b0(this.s)),r=q5(b0(this.r)),n=t.length/2,i=r.length/2,o=b0(n),s=b0(i);return`30${b0(i+n+4)}02${s}${r}02${o}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Wr(this.toCompactHex())}toCompactHex(){return Nn(this.r)+Nn(this.s)}};function Sr(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var u9=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function On(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=u9[e[r]];return t}var f9=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Nn(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(Y<=e&&e<f9))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function Ps(e){let t=Wr(Nn(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function b0(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function W1(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function Wr(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function Ir(e){return W1(On(e))}function Un(e){return e instanceof Uint8Array?Uint8Array.from(e):Wr(e)}function H5(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&A0(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function P(e,t=bt.P){let r=e%t;return r>=Y?r:t+r}function ce(e,t){let{P:r}=bt,n=e;for(;t-- >Y;)n*=n,n%=r;return n}function l9(e){let{P:t}=bt,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=e*e*e%t,u=c*c*e%t,f=ce(u,E0)*u%t,l=ce(f,E0)*u%t,d=ce(l,Ar)*c%t,p=ce(d,n)*d%t,h=ce(p,i)*p%t,y=ce(h,s)*h%t,g=ce(y,a)*y%t,m=ce(g,s)*h%t,v=ce(m,E0)*u%t,b=ce(v,o)*p%t,k=ce(b,r)*c%t,B=ce(k,Ar);if(B*B%t!==e)throw new Error("Cannot find square root");return B}function Mn(e,t=bt.P){if(e===Y||t<=Y)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=P(e,t),n=t,i=Y,o=ht,s=ht,a=Y;for(;r!==Y;){let u=n/r,f=n%r,l=i-s*u,d=o-a*u;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==ht)throw new Error("invert: does not exist");return P(i,t)}function h9(e,t=bt.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Y?o:(r[a]=o,P(o*s,t)),ht),i=Mn(n,t);return e.reduceRight((o,s,a)=>s===Y?o:(r[a]=P(o*r[a],t),P(o*s,t)),i),r}function p9(e){let t=e.length*8-Fn*8,r=Ir(e);return t>0?r>>BigInt(t):r}function Ls(e,t=!1){let r=p9(e);if(t)return r;let{n}=bt;return r>=n?r-n:r}var Dn,S0,ks=class{constructor(t,r){if(this.hashLen=t,this.qByteLen=r,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return Ie.hmacSha256(this.k,...t)}hmacSync(...t){return S0(this.k,...t)}checkSync(){if(typeof S0!="function")throw new Q1("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Sr(...r)}generateSync(){this.checkSync(),this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Sr(...r)}};function A0(e){return Y<e&&e<bt.n}function Ts(e){return Y<e&&e<bt.P}function d9(e,t,r,n=!0){let{n:i}=bt,o=Ls(e,!0);if(!A0(o))return;let s=Mn(o,i),a=tt.BASE.multiply(o),c=P(a.x,i);if(c===Y)return;let u=P(s*P(t+r*c,i),i);if(u===Y)return;let f=new qe(c,u),l=(a.x===f.r?0:2)|Number(a.y&ht);return n&&f.hasHighS()&&(f=f.normalizeS(),l^=1),{sig:f,recovery:l}}function Y1(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==2*Fn)throw new Error("Expected 32 bytes of private key");t=W1(e)}else if(e instanceof Uint8Array){if(e.length!==Fn)throw new Error("Expected 32 bytes of private key");t=Ir(e)}else throw new TypeError("Expected valid private key");if(!A0(t))throw new Error("Expected private key: 0 < key < n");return t}function y9(e){return e instanceof tt?(e.assertValidity(),e):tt.fromHex(e)}function $5(e){if(e instanceof qe)return e.assertValidity(),e;try{return qe.fromDER(e)}catch{return qe.fromCompact(e)}}function Ns(e,t=!1){return tt.fromPrivateKey(e).toRawBytes(t)}function G5(e){let t=e.length>Ae?e.slice(0,Ae):e;return Ir(t)}function g9(e){let t=G5(e),r=P(t,bt.n);return Q5(r<Y?t:r)}function Q5(e){return Ps(e)}function m9(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Un(e),i=Y1(t),o=[Q5(i),g9(n)];if(r!=null){r===!0&&(r=Ie.randomBytes(Ae));let c=Un(r);if(c.length!==Ae)throw new Error(`sign: Expected ${Ae} bytes of extra data`);o.push(c)}let s=Sr(...o),a=G5(n);return{seed:s,m:a,d:i}}function v9(e,t){let{sig:r,recovery:n}=e,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},t),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function W5(e,t,r={}){let{seed:n,m:i,d:o}=m9(e,t,r.extraEntropy),s=new ks(a9,Fn);await s.reseed(n);let a;for(;!(a=d9(await s.generate(),i,o,r.canonical));)await s.reseed();return v9(a,r)}var x9={strict:!0};function Y5(e,t,r,n=x9){let i;try{i=$5(e),t=Un(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=Ls(t),c;try{c=y9(r)}catch{return!1}let{n:u}=bt,f=Mn(s,u),l=P(a*f,u),d=P(o*f,u),p=tt.BASE.multiplyAndAddUnsafe(c,l,d);return p?P(p.x,u)===o:!1}tt.BASE._setWindowSize(8);var ee={node:s9,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var G1={},Ie={bytesToHex:On,hexToBytes:Wr,concatBytes:Sr,mod:P,invert:Mn,isValidPrivateKey(e){try{return Y1(e),!0}catch{return!1}},_bigintTo32Bytes:Ps,_normalizePrivateKey:Y1,hashToPrivateKey:e=>{e=Un(e);let t=Fn+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=P(Ir(e),bt.n-ht)+ht;return Ps(r)},randomBytes:(e=32)=>{if(ee.web)return ee.web.getRandomValues(new Uint8Array(e));if(ee.node){let{randomBytes:t}=ee.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ie.hashToPrivateKey(Ie.randomBytes(Fn+8)),precompute(e=8,t=tt.BASE){let r=t===tt.BASE?t:new tt(t.x,t.y);return r._setWindowSize(e),r.multiply(E0),r},sha256:async(...e)=>{if(ee.web){let t=await ee.web.subtle.digest("SHA-256",Sr(...e));return new Uint8Array(t)}else if(ee.node){let{createHash:t}=ee.node,r=t("sha256");return e.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(ee.web){let r=await ee.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Sr(...t),i=await ee.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ee.node){let{createHmac:r}=ee.node,n=r("sha256",e);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(e,...t)=>{let r=G1[e];if(r===void 0){let n=await Ie.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Sr(n,n),G1[e]=r}return Ie.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Dn!="function")throw new Q1("sha256Sync is undefined, you need to set it");let r=G1[e];if(r===void 0){let n=Dn(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Sr(n,n),G1[e]=r}return Dn(r,...t)},_JacobianPoint:j};Object.defineProperties(Ie,{sha256Sync:{configurable:!1,get(){return Dn},set(e){Dn||(Dn=e)}},hmacSha256Sync:{configurable:!1,get(){return S0},set(e){S0||(S0=e)}}});function Yr(e){if(isNaN(e)||e<=0)throw new _("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ie.randomBytes(e)}var Sx=H(D1(),1),Ds=H(rt(),1);function Z5(e,t){return t.map(r=>te(e[r]))}function X5(e){return Ds.default.pki.setRsaPrivateKey(...Z5(e,["n","e","d","p","q","dp","dq","qi"]))}function j5(e){return Ds.default.pki.setRsaPublicKey(...Z5(e,["n","e"]))}var Zr={};Lt(Zr,{jwkToPkcs1:()=>E9,jwkToPkix:()=>A9,pkcs1ToJwk:()=>b9,pkixToJwk:()=>S9});var Cx=H(h0(),1),_x=H(D1(),1);var tr=H(rt(),1);function b9(e){let t=tr.default.asn1.fromDer(U(e,"ascii")),r=tr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Se(r.n),e:Se(r.e),d:Se(r.d),p:Se(r.p),q:Se(r.q),dp:Se(r.dP),dq:Se(r.dQ),qi:Se(r.qInv),alg:"RS256"}}function E9(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let t=tr.default.pki.privateKeyToAsn1({n:te(e.n),e:te(e.e),d:te(e.d),p:te(e.p),q:te(e.q),dP:te(e.dp),dQ:te(e.dq),qInv:te(e.qi)});return mt(tr.default.asn1.toDer(t).getBytes(),"ascii")}function S9(e){let t=tr.default.asn1.fromDer(U(e,"ascii")),r=tr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Se(r.n),e:Se(r.e)}}function A9(e){if(e.n==null||e.e==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let t=tr.default.pki.publicKeyToAsn1({n:te(e.n),e:te(e.e)});return mt(tr.default.asn1.toDer(t).getBytes(),"ascii")}async function J5(e){let t=await _t.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await r6(t);return{privateKey:r[0],publicKey:r[1]}}async function Fs(e){let r=[await _t.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await I9(e)],n=await r6({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function t6(e,t){let r=await _t.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await _t.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function e6(e,t,r){let n=await _t.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return _t.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function r6(e){if(e.privateKey==null||e.publicKey==null)throw new _("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([_t.get().subtle.exportKey("jwk",e.privateKey),_t.get().subtle.exportKey("jwk",e.publicKey)])}async function I9(e){return _t.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function n6(e,t,r,n){let i=t?j5(e):X5(e),o=U(Uint8Array.from(r),"ascii"),s=n(o,i);return mt(s,"ascii")}function i6(e,t){return n6(e,!0,t,(r,n)=>n.encrypt(r))}function o6(e,t){return n6(e,!1,t,(r,n)=>n.decrypt(r))}var C0=class{_key;constructor(t){this._key=t}async verify(t,r){return e6(this._key,r,t)}marshal(){return Zr.jwkToPkix(this._key)}get bytes(){return be.encode({Type:ft.RSA,Data:this.marshal()}).subarray()}encrypt(t){return i6(this._key,t)}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}},Kn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Yr(16)}async sign(t){return t6(this._key,t)}get public(){if(this._publicKey==null)throw new _("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new C0(this._publicKey)}decrypt(t){return o6(this._key,t)}marshal(){return Zr.jwkToPkcs1(this._key)}get bytes(){return Ee.encode({Type:ft.RSA,Data:this.marshal()}).subarray()}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return U(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new I0.default.util.ByteBuffer(this.marshal()),i=I0.default.asn1.fromDer(n),o=I0.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return I0.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return Pn(this.bytes,t);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function _9(e){let t=Zr.pkcs1ToJwk(e),r=await Fs(t);return new Kn(r.privateKey,r.publicKey)}function B9(e){let t=Zr.pkixToJwk(e);return new C0(t)}async function T9(e){let t=await Fs(e);return new Kn(t.privateKey,t.publicKey)}async function R9(e){let t=await J5(e);return new Kn(t.privateKey,t.publicKey)}var Ms={};Lt(Ms,{Secp256k1PrivateKey:()=>B0,Secp256k1PublicKey:()=>_0,generateKeyPair:()=>N9,unmarshalSecp256k1PrivateKey:()=>k9,unmarshalSecp256k1PublicKey:()=>L9});function s6(){return Ie.randomPrivateKey()}async function a6(e,t){let{digest:r}=await gt.digest(t);try{return await W5(r,e)}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}async function c6(e,t,r){try{let{digest:n}=await gt.digest(r);return Y5(t,n,e)}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}function u6(e){return tt.fromHex(e).toRawBytes(!0)}function f6(e){try{Ns(e,!0)}catch(t){throw new _(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Us(e){try{tt.fromHex(e)}catch(t){throw new _(String(t),"ERR_INVALID_PUBLIC_KEY")}}function l6(e){try{return Ns(e,!0)}catch(t){throw new _(String(t),"ERR_INVALID_PRIVATE_KEY")}}var _0=class{_key;constructor(t){Us(t),this._key=t}async verify(t,r){return c6(this._key,r,t)}marshal(){return u6(this._key)}get bytes(){return be.encode({Type:ft.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}},B0=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??l6(t),f6(this._key),Us(this._publicKey)}async sign(t){return a6(this._key,t)}get public(){return new _0(this._publicKey)}marshal(){return this._key}get bytes(){return Ee.encode({Type:ft.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return U(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Pn(this.bytes,t);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function k9(e){return new B0(e)}function L9(e){return new _0(e)}async function N9(){let e=s6();return new B0(e)}var ze={rsa:Os,ed25519:Is,secp256k1:Ms};function Ks(e){let t=Object.keys(ze).join(" / ");return new _(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Vs(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return ze[e];throw Ks(e)}async function D9(e,t){return Vs(e).generateKeyPair(t??2048)}async function F9(e,t,r){if(e.toLowerCase()!=="ed25519")throw new _("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return As(t)}function O9(e){let t=be.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ft.RSA:return ze.rsa.unmarshalRsaPublicKey(r);case ft.Ed25519:return ze.ed25519.unmarshalEd25519PublicKey(r);case ft.Secp256k1:return ze.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Ks(t.Type??"RSA")}}function U9(e,t){return t=(t??"rsa").toLowerCase(),Vs(t),e.bytes}async function h6(e){let t=Ee.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ft.RSA:return ze.rsa.unmarshalRsaPrivateKey(r);case ft.Ed25519:return ze.ed25519.unmarshalEd25519PrivateKey(r);case ft.Secp256k1:return ze.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Ks(t.Type??"RSA")}}function M9(e,t){return t=(t??"rsa").toLowerCase(),Vs(t),e.bytes}async function K9(e,t){try{let i=await B5(e,t);return await h6(i)}catch{}let r=Z1.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new _("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Z1.default.asn1.toDer(Z1.default.pki.privateKeyToAsn1(r));return n=mt(n.getBytes(),"ascii"),ze.rsa.unmarshalRsaPrivateKey(n)}var V9=H(is(),1),q9=H(Ct(),1);function j1(e,t){for(let r=0;r<e.byteLength;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.byteLength>t.byteLength?1:e.byteLength<t.byteLength?-1:0}function er(e,t){if(e.length!==t.length)throw new Error("Inputs should have the same length");let r=jt(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return $e(r)}var J1=class{originDhtKey;capacity;peerDistances;constructor(t,r){this.originDhtKey=t,this.capacity=r,this.peerDistances=[]}get length(){return this.peerDistances.length}get peers(){return this.peerDistances.map(t=>t.peerId)}async add(t){if(this.peerDistances.find(i=>i.peerId.equals(t))!=null)return;let r=await ve(t),n={peerId:t,distance:er(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((i,o)=>j1(i.distance,o.distance)),this.peerDistances=this.peerDistances.slice(0,this.capacity)}async anyCloser(t){if(t.length===0)return!1;if(this.length===0)return!0;let r=await Promise.all(t.map(ve)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=er(this.originDhtKey,i);if(j1(o,n)<0)return!0}return!1}};var ti=class{components;log;routingTable;network;validators;queryManager;constructor(t,r){let{routingTable:n,network:i,validators:o,queryManager:s,lan:a}=r;this.components=t,this.routingTable=n,this.network=i,this.validators=o,this.queryManager=s,this.log=q(`libp2p:kad-dht:${a?"lan":"wan"}:peer-routing`)}async findPeerLocal(t){let r,n=await this.routingTable.find(t);if(n!=null){this.log("findPeerLocal found %p in routing table",t);try{r=await this.components.peerStore.get(n)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}}if(r==null)try{r=await this.components.peerStore.get(t)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}if(r!=null)return this.log("findPeerLocal found %p in peer store",t),{id:r.id,multiaddrs:r.addresses.map(i=>i.multiaddr),protocols:[]}}async*_getValueSingle(t,r,n={}){let i=new pt(It.GET_VALUE,r,0);yield*this.network.sendRequest(t,i,n)}async*getPublicKeyFromNode(t,r={}){let n=T3(t);for await(let i of this._getValueSingle(t,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await Ja(X1.marshalPublicKey({bytes:i.record.value}));if(!o.equals(t))throw new _("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new _("public key missing","ERR_PUBLIC_KEY_MISSING");yield a0({from:t,value:o.publicKey},r)}throw new _(`Node not responding with its public key: ${t.toString()}`,"ERR_INVALID_RECORD")}async*findPeer(t,r={}){this.log("findPeer %p",t);let n=await this.findPeerLocal(t);if(n!=null){this.log("found local"),yield u1({from:this.components.peerId,peer:n},r);return}let i=this,o=async function*({peer:a,signal:c}){let u=new pt(It.FIND_NODE,t.toBytes(),0);for await(let f of i.network.sendRequest(a,u,{...r,signal:c}))if(yield f,f.name==="PEER_RESPONSE"){let l=f.closer.find(d=>d.id.equals(t));l!=null&&(yield u1({from:f.from,peer:l},r))}},s=!1;for await(let a of this.queryManager.run(t.toBytes(),o,r))a.name==="FINAL_PEER"&&(s=!0),yield a;s||(yield qt({from:this.components.peerId,error:new _("Not found","ERR_NOT_FOUND")},r))}async*getClosestPeers(t,r={}){this.log("getClosestPeers to %b",t);let n=await pr(t),i=this.routingTable.closestPeers(n),o=this,s=new J1(n,this.routingTable.kBucketSize);await Promise.all(i.map(async c=>{await s.add(c)}));let a=async function*({peer:c,signal:u}){o.log("closerPeersSingle %s from %p",U(t,"base32"),c);let f=new pt(It.FIND_NODE,t,0);yield*o.network.sendRequest(c,f,{...r,signal:u})};for await(let c of this.queryManager.run(t,a,r))yield c,c.name==="PEER_RESPONSE"&&await Promise.all(c.closer.map(async u=>{await s.add(u.id)}));this.log("found %d peers close to %b",s.length,t);for(let c of s.peers)try{let u=await this.components.peerStore.get(c);yield u1({from:this.components.peerId,peer:{id:c,multiaddrs:u.addresses.map(({multiaddr:f})=>f),protocols:u.protocols}},r)}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}}async*getValueOrPeers(t,r,n={}){for await(let i of this._getValueSingle(t,r,n)){if(i.name==="PEER_RESPONSE"&&i.record!=null)try{await this._verifyRecordOnline(i.record)}catch{let s="invalid record received, discarded";this.log(s),yield qt({from:i.from,error:new _(s,"ERR_INVALID_RECORD")},n);continue}yield i}}async _verifyRecordOnline(t){if(t.timeReceived==null)throw new _("invalid record received","ERR_INVALID_RECORD");await pn(this.validators,new Pt(t.key,t.value,t.timeReceived))}async getCloserPeersOffline(t,r){let n=await pr(t),i=this.routingTable.closestPeers(n),o=[];for(let s of i)if(!s.equals(r))try{let a=await this.components.peerStore.get(s);o.push({id:s,multiaddrs:a.addresses.map(({multiaddr:c})=>c),protocols:a.protocols})}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}return o.length>0?this.log("getCloserPeersOffline found %d peer(s) closer to %b than %p",o.length,t,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",t,r),o}};var C6=H(d6(),1);var I6=H(g6(),1);var R0=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},zs=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},m6=e=>globalThis.DOMException===void 0?new zs(e):new DOMException(e),v6=e=>{let t=e.reason===void 0?m6("This operation was aborted."):e.reason;return t instanceof Error?t:m6(t)};function Hs(e,t,r,n){let i,o=new Promise((s,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){s(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(v6(c)),c.addEventListener("abort",()=>{a(v6(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(f){a(f)}return}let c=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,u=r instanceof Error?r:new R0(c);typeof e.cancel=="function"&&e.cancel(),a(u)},t),(async()=>{try{s(await e)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function $s(e,t,r){let n=0,i=e.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var Xr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},rr,P0=class{constructor(){rr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Xr(this,rr,"f")[this.size-1].priority>=r.priority){Xr(this,rr,"f").push(n);return}let i=$s(Xr(this,rr,"f"),n,(o,s)=>s.priority-o.priority);Xr(this,rr,"f").splice(i,0,n)}dequeue(){let t=Xr(this,rr,"f").shift();return t?.run}filter(t){return Xr(this,rr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Xr(this,rr,"f").length}};rr=new WeakMap;var vt=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},L=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Bt,L0,N0,_r,ai,D0,ri,Ce,k0,re,ni,ne,F0,Cr,ii,x6,w6,S6,b6,E6,oi,Gs,Qs,ci,A6,si,ui=class extends Error{},nr=class extends I6.default{constructor(t){var r,n,i,o;if(super(),Bt.add(this),L0.set(this,void 0),N0.set(this,void 0),_r.set(this,0),ai.set(this,void 0),D0.set(this,void 0),ri.set(this,0),Ce.set(this,void 0),k0.set(this,void 0),re.set(this,void 0),ni.set(this,void 0),ne.set(this,0),F0.set(this,void 0),Cr.set(this,void 0),ii.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:P0,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);vt(this,L0,t.carryoverConcurrencyCount,"f"),vt(this,N0,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),vt(this,ai,t.intervalCap,"f"),vt(this,D0,t.interval,"f"),vt(this,re,new t.queueClass,"f"),vt(this,ni,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,vt(this,ii,t.throwOnTimeout===!0,"f"),vt(this,Cr,t.autoStart===!1,"f")}get concurrency(){return L(this,F0,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);vt(this,F0,t,"f"),L(this,Bt,"m",ci).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:L(this,ii,"f"),...r},new Promise((n,i)=>{L(this,re,"f").enqueue(async()=>{var o,s,a;vt(this,ne,(s=L(this,ne,"f"),s++,s),"f"),vt(this,_r,(a=L(this,_r,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new ui("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=Hs(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,L(this,Bt,"m",A6).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof R0&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{L(this,Bt,"m",S6).call(this)}},r),this.emit("add"),L(this,Bt,"m",oi).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return L(this,Cr,"f")?(vt(this,Cr,!1,"f"),L(this,Bt,"m",ci).call(this),this):this}pause(){vt(this,Cr,!0,"f")}clear(){vt(this,re,new(L(this,ni,"f")),"f")}async onEmpty(){L(this,re,"f").size!==0&&await L(this,Bt,"m",si).call(this,"empty")}async onSizeLessThan(t){L(this,re,"f").size<t||await L(this,Bt,"m",si).call(this,"next",()=>L(this,re,"f").size<t)}async onIdle(){L(this,ne,"f")===0&&L(this,re,"f").size===0||await L(this,Bt,"m",si).call(this,"idle")}get size(){return L(this,re,"f").size}sizeBy(t){return L(this,re,"f").filter(t).length}get pending(){return L(this,ne,"f")}get isPaused(){return L(this,Cr,"f")}};L0=new WeakMap,N0=new WeakMap,_r=new WeakMap,ai=new WeakMap,D0=new WeakMap,ri=new WeakMap,Ce=new WeakMap,k0=new WeakMap,re=new WeakMap,ni=new WeakMap,ne=new WeakMap,F0=new WeakMap,Cr=new WeakMap,ii=new WeakMap,Bt=new WeakSet,x6=function(){return L(this,N0,"f")||L(this,_r,"f")<L(this,ai,"f")},w6=function(){return L(this,ne,"f")<L(this,F0,"f")},S6=function(){var t;vt(this,ne,(t=L(this,ne,"f"),t--,t),"f"),L(this,Bt,"m",oi).call(this),this.emit("next")},b6=function(){L(this,Bt,"m",Qs).call(this),L(this,Bt,"m",Gs).call(this),vt(this,k0,void 0,"f")},E6=function(){let t=Date.now();if(L(this,Ce,"f")===void 0){let r=L(this,ri,"f")-t;if(r<0)vt(this,_r,L(this,L0,"f")?L(this,ne,"f"):0,"f");else return L(this,k0,"f")===void 0&&vt(this,k0,setTimeout(()=>{L(this,Bt,"m",b6).call(this)},r),"f"),!0}return!1},oi=function(){if(L(this,re,"f").size===0)return L(this,Ce,"f")&&clearInterval(L(this,Ce,"f")),vt(this,Ce,void 0,"f"),this.emit("empty"),L(this,ne,"f")===0&&this.emit("idle"),!1;if(!L(this,Cr,"f")){let t=!L(this,Bt,"a",E6);if(L(this,Bt,"a",x6)&&L(this,Bt,"a",w6)){let r=L(this,re,"f").dequeue();return r?(this.emit("active"),r(),t&&L(this,Bt,"m",Gs).call(this),!0):!1}}return!1},Gs=function(){L(this,N0,"f")||L(this,Ce,"f")!==void 0||(vt(this,Ce,setInterval(()=>{L(this,Bt,"m",Qs).call(this)},L(this,D0,"f")),"f"),vt(this,ri,Date.now()+L(this,D0,"f"),"f"))},Qs=function(){L(this,_r,"f")===0&&L(this,ne,"f")===0&&L(this,Ce,"f")&&(clearInterval(L(this,Ce,"f")),vt(this,Ce,void 0,"f")),vt(this,_r,L(this,L0,"f")?L(this,ne,"f"):0,"f"),L(this,Bt,"m",ci).call(this)},ci=function(){for(;L(this,Bt,"m",oi).call(this););},A6=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new ui("The task was aborted."))},{once:!0})})},si=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var Ws=H(i0(),1);var ir=q("libp2p:kad-dht:providers"),fi=class{components;cache;cleanupInterval;provideValidity;syncQueue;started;cleaner;constructor(t,r={}){let{cacheSize:n,cleanupInterval:i,provideValidity:o}=r;this.components=t,this.cleanupInterval=i??36e5,this.provideValidity=o??864e5,this.cache=(0,C6.default)(n??256),this.syncQueue=new nr({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(t=>{ir.error(t)})},this.cleanupInterval))}async stop(){this.started=!1,this.cleaner!=null&&(clearInterval(this.cleaner),this.cleaner=void 0)}async _cleanup(){await this.syncQueue.add(async()=>{let t=Date.now(),r=0,n=0,i=new Map,o=this.components.datastore.batch(),s=this.components.datastore.query({prefix:oo});for await(let a of s)try{let{cid:c,peerId:u}=_6(a.key),f=B6(a.value).getTime(),l=Date.now(),d=l-f,p=d>this.provideValidity;if(ir("comparing: %d - %d = %d > %d %s",l,f,d,this.provideValidity,p?"(expired)":""),p){n++,o.delete(a.key);let h=i.get(c)??new Set;h.add(u),i.set(c,h)}r++}catch(c){ir.error(c.message)}i.size>0?(ir("deleting %d / %d entries",n,r),await o.commit()):ir("nothing to delete");for(let[a,c]of i){let u=O0(a),f=this.cache.get(u);if(f!=null){for(let l of c)f.delete(l);f.size===0?this.cache.remove(u):this.cache.set(u,f)}}ir("Cleanup successful (%dms)",Date.now()-t)})}async _getProvidersMap(t){let r=O0(t),n=this.cache.get(r);return n==null&&(n=await Y9(this.components.datastore,t),this.cache.set(r,n)),n}async addProvider(t,r){await this.syncQueue.add(async()=>{ir("%p provides %s",r,t);let n=await this._getProvidersMap(t);ir("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=O0(t);this.cache.set(o,n),await W9(this.components.datastore,t,r,i)})}async getProviders(t){return this.syncQueue.add(async()=>(ir("get providers for %s",t),[...(await this._getProvidersMap(t)).keys()].map(n=>wt(n))),{throwOnTimeout:!0})}};function O0(e){let t=typeof e=="string"?e:U(e.multihash.bytes,"base32");return`${oo}/${t}`}async function W9(e,t,r,n){let i=[O0(t),"/",r.toString()].join(""),o=new Dt(i),s=Uint8Array.from(Ws.default.encode(n.getTime()));await e.put(o,s)}function _6(e){let t=e.toString().split("/");if(t.length!==5)throw new Error(`incorrectly formatted provider entry key in datastore: ${e.toString()}`);return{cid:t[3],peerId:t[4]}}async function Y9(e,t){let r=new Map,n=e.query({prefix:O0(t)});for await(let i of n){let{peerId:o}=_6(i.key);r.set(o,B6(i.value))}return r}function B6(e){return new Date(Ws.default.decode(e))}var jr=H(Zs(),1);function or(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var Xs=class{constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return or(this.map.entries(),t=>[wt(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,wt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return or(this.map.keys(),t=>wt(t))}values(){return this.map.values()}get size(){return this.map.size}};var ue=class{constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return or(this.set.entries(),t=>{let r=wt(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=wt(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return or(this.set.values(),t=>wt(t))}intersection(t){let r=new ue;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new ue;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new ue;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var qn=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return or(this.list.entries(),t=>wt(t[1]))}concat(t){let r=new qn(this);for(let n of t)r.push(n);return r}entries(){return or(this.list.entries(),t=>[t[0],wt(t[1])])}every(t){return this.list.every((r,n)=>t(wt(r),n,this))}filter(t){let r=new qn;return this.list.forEach((n,i)=>{let o=wt(n);t(o,i,this)&&r.push(o)}),r}find(t){let r=this.list.find((n,i)=>t(wt(n),i,this));if(r!=null)return wt(r)}findIndex(t){return this.list.findIndex((r,n)=>t(wt(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(wt(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return wt(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return wt(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};function zn(e){let t=new globalThis.AbortController;function r(){t.abort();for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of e){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=t.signal;return i.clear=n,i}var rh=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*M6(e){let{key:t,startingPeer:r,ourPeerId:n,signal:i,query:o,alpha:s,pathIndex:a,numPaths:c,cleanUp:u,queryFuncTimeout:f,log:l,peersSeen:d}=e,p=new nr({concurrency:s}),h=await pr(t);function y(g,m){if(g==null)return;d.add(g);let v=BigInt("0x"+U(er(m,h),"base16"));p.add(async()=>{let b=[i];f!=null&&b.push(AbortSignal.timeout(f));let k=zn(b);try{for await(let B of o({key:t,peer:g,signal:k,pathIndex:a,numPaths:c})){if(k.aborted)return;if(B.name==="PEER_RESPONSE")for(let C of B.closer){if(d.has(C.id)){l("already seen %p in query",C.id);continue}if(n.equals(C.id)){l("not querying ourselves");continue}let V=await ve(C.id);if(BigInt("0x"+U(er(V,h),"base16"))>v){l("skipping %p as they are not closer to %b than %p",C.id,t,g);continue}l("querying closer peer %p",C.id),y(C.id,V)}p.emit("completed",B)}}catch(B){if(!i.aborted)return qt({from:g,error:B},e)}finally{k.clear()}},{priority:rh-v}).catch(b=>{l.error(b)})}y(r,await ve(r)),yield*nh(p,i,u,l)}async function*nh(e,t,r,n){let i=de(),o=!0,s=[],a=()=>{o&&(n("clean up queue, results %d, queue size %d, pending tasks %d",s.length,e.size,e.pending),o=!1,e.clear(),s.splice(0,s.length))};for(e.on("completed",c=>{s.push(c),i.resolve()}),e.on("error",c=>{n("queue error",c),a(),i.reject(c)}),e.on("idle",()=>{n("queue idle"),o=!1,i.resolve()}),t.addEventListener("abort",()=>{n("abort queue");let c=o;a(),c&&i.reject(new _("Query aborted","ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=de();s.length>0;){let c=s.shift();c!=null&&(yield c)}yield*s}var di=class{components;lan;disjointPaths;alpha;shutDownController;running;queries;metrics;routingTable;initialQuerySelfHasRun;constructor(t,r){let{lan:n=!1,disjointPaths:i=20,alpha:o=3}=r;this.components=t,this.disjointPaths=i??20,this.running=!1,this.alpha=o??3,this.lan=n,this.queries=0,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.routingTable=r.routingTable,this.shutDownController=new AbortController;try{jr.setMaxListeners!=null&&(0,jr.setMaxListeners)(1/0,this.shutDownController.signal)}catch{}}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&this.metrics==null&&(this.metrics={runningQueries:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_running_queries`),queryTime:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_query_time_seconds`)})}async stop(){this.running=!1,this.shutDownController.abort()}async*run(t,r,n={}){if(!this.running)throw new Error("QueryManager not started");let i=this.metrics?.queryTime.timer();if(n.signal==null){n.signal=AbortSignal.timeout(3e4);try{jr.setMaxListeners!=null&&(0,jr.setMaxListeners)(1/0,n.signal)}catch{}}let o=zn([this.shutDownController.signal,n.signal]);try{jr.setMaxListeners!=null&&(0,jr.setMaxListeners)(1/0,o)}catch{}let s=q(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+U(t,"base58btc")),a=Date.now(),c=new Qt;try{n.isSelfQuery!==!0&&this.initialQuerySelfHasRun!=null&&(s("waiting for initial query-self query before continuing"),await Promise.race([new Promise((h,y)=>{o.addEventListener("abort",()=>{y(new en("Query was aborted before self-query ran"))})}),this.initialQuerySelfHasRun.promise]),this.initialQuerySelfHasRun=void 0),s("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries);let u=await pr(t),f=this.routingTable.closestPeers(u),l=f.slice(0,Math.min(this.disjointPaths,f.length));if(f.length===0){s.error("Running query with no peers");return}let d=new ue,p=l.map((h,y)=>M6({key:t,startingPeer:h,ourPeerId:this.components.peerId,signal:o,query:r,pathIndex:y,numPaths:l.length,alpha:this.alpha,cleanUp:c,queryFuncTimeout:n.queryFuncTimeout,log:s,peersSeen:d,onProgress:n.onProgress}));for await(let h of he(...p))yield h,h.name==="QUERY_ERROR"&&s("error",h.error)}catch(u){if(!(!this.running&&u.code==="ERR_QUERY_ABORTED"))throw u}finally{o.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),i?.(),c.dispatchEvent(new Et("cleanup")),s("query:done in %dms",Date.now()-a)}}};var js=H(Zs(),1);function oh(e){return e[Symbol.asyncIterator]!=null}function sh(e){if(oh(e))return(async()=>{let t=0;for await(let r of e)t++;return t})();{let t=0;for(let r of e)t++;return t}}var yi=sh;function ah(e){return e[Symbol.asyncIterator]!=null}function ch(e,t){return ah(e)?async function*(){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}():function*(){let r=0;if(!(t<1)){for(let n of e)if(yield n,r++,r===t)return}}()}var K6=ch;function hh(e,t){let r;return function(){let n=function(){r=void 0,e()};clearTimeout(r),r=setTimeout(n,t)}}var gi=class{log;components;peerRouting;routingTable;count;interval;initialInterval;queryTimeout;started;running;timeoutId;controller;initialQuerySelfHasRun;constructor(t,r){let{peerRouting:n,lan:i,count:o,interval:s,queryTimeout:a,routingTable:c}=r;this.components=t,this.log=q(`libp2p:kad-dht:${i?"lan":"wan"}:query-self`),this.running=!1,this.started=!1,this.peerRouting=n,this.routingTable=c,this.count=o??20,this.interval=s??3e5,this.initialInterval=r.initialInterval??1e3,this.queryTimeout=a??5e3,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.querySelf=hh(this.querySelf.bind(this),100)}isStarted(){return this.started}async start(){this.started||(this.started=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),this.initialInterval))}async stop(){this.started=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}querySelf(){if(!this.started){this.log("skip self-query because we are not started");return}if(this.running){this.log("skip self-query because we are already running, will run again in %dms",this.interval);return}if(this.routingTable.size===0){let t=this.interval;this.initialQuerySelfHasRun!=null&&(t=this.initialInterval),this.log("skip self-query because routing table is empty, will run again in %dms",t),clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),t);return}this.running=!0,Promise.resolve().then(async()=>{if(!this.started){this.log("not running self-query - node stopped before query started");return}this.controller=new AbortController;let t=zn([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);try{js.setMaxListeners!=null&&(0,js.setMaxListeners)(1/0,t)}catch{}try{this.log("run self-query, look for %d peers timing out after %dms",this.count,this.queryTimeout);let r=await me(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:t,isSelfQuery:!0}),n=>K6(n,this.count),async n=>yi(n));this.log("self-query ran successfully - found %d peers",r),this.initialQuerySelfHasRun!=null&&(this.initialQuerySelfHasRun.resolve(),this.initialQuerySelfHasRun=void 0)}catch(r){this.log.error("self-query error",r)}finally{t.clear()}}).catch(t=>{this.log("self-query error",t)}).finally(()=>{this.running=!1,clearTimeout(this.timeoutId),this.started&&(this.log("running self-query again in %dms",this.interval),this.timeoutId=setTimeout(this.querySelf.bind(this),this.interval))})}};function V6(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0,n=e.length;r<n;++r)if(e[r]!==t[r])return!1;return!0}function Js(){return{contacts:[],dontSplit:!1,left:null,right:null}}function U0(e,t){if(!(t instanceof Uint8Array))throw new TypeError(e+" is not a Uint8Array")}var Jr=class extends Qt{localNodeId;root;numberOfNodesPerKBucket;numberOfNodesToPing;distance;arbiter;constructor(t){super(),this.localNodeId=t.localNodeId,this.numberOfNodesPerKBucket=t.numberOfNodesPerKBucket??20,this.numberOfNodesToPing=t.numberOfNodesToPing??3,this.distance=t.distance??Jr.distance,this.arbiter=t.arbiter??Jr.arbiter,U0("option.localNodeId as parameter 1",this.localNodeId),this.root=Js()}static arbiter(t,r){return(t.vectorClock??0)>(r.vectorClock??0)?t:r}static distance(t,r){let n=0,i=0,o=Math.min(t.length,r.length),s=Math.max(t.length,r.length);for(;i<o;++i)n=n*256+(t[i]^r[i]);for(;i<s;++i)n=n*256+255;return n}add(t){U0("contact.id",t?.id);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t.id,r++);let i=this._indexOf(n,t.id);return i>=0?(this._update(n,i,t),this):n.contacts.length<this.numberOfNodesPerKBucket?(n.contacts.push(t),this.safeDispatchEvent("added",{detail:t}),this):n.dontSplit?(this.safeDispatchEvent("ping",{detail:{oldContacts:n.contacts.slice(0,this.numberOfNodesToPing),newContact:t}}),this):(this._split(n,r),this.add(t))}closest(t,r=1/0){if(U0("id",t),!Number.isInteger(r)&&r!==1/0||r<=0)throw new TypeError("n is not positive number");let n=[];for(let i=[this.root],o=0;i.length>0&&n.length<r;){let s=i.pop();if(s!=null)if(s.contacts===null){let a=this._determineNode(s,t,o++);i.push(s.left===a?s.right:s.left),i.push(a)}else n=n.concat(s.contacts)}return n.map(i=>({distance:this.distance(i.id,t),contact:i})).sort((i,o)=>i.distance-o.distance).slice(0,r).map(i=>i.contact)}count(){let t=0;for(let r=[this.root];r.length>0;){let n=r.pop();n!=null&&(n.contacts===null?r.push(n.right,n.left):t+=n.contacts.length)}return t}_determineNode(t,r,n){let i=n>>3,o=n%8;return r.length<=i&&o!==0?t.left:r[i]&1<<7-o?t.right:t.left}get(t){U0("id",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let i=this._indexOf(n,t);return i>=0?n.contacts[i]:void 0}_indexOf(t,r){for(let n=0;n<t.contacts.length;++n)if(V6(t.contacts[n].id,r))return n;return-1}remove(t){U0("the id as parameter 1",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let i=this._indexOf(n,t);if(i>=0){let o=n.contacts.splice(i,1)[0];this.safeDispatchEvent("removed",{detail:o})}return this}_split(t,r){t.left=Js(),t.right=Js();for(let o of t.contacts)this._determineNode(t,o.id,r).contacts.push(o);t.contacts=null;let n=this._determineNode(t,this.localNodeId,r),i=t.left===n?t.right:t.left;i.dontSplit=!0}toArray(){let t=[];for(let r=[this.root];r.length>0;){let n=r.pop();n!=null&&(n.contacts===null?r.push(n.right,n.left):t=t.concat(n.contacts))}return t}*toIterable(){for(let t=[this.root];t.length>0;){let r=t.pop();r!=null&&(r.contacts===null?t.push(r.right,r.left):yield*r.contacts)}}_update(t,r,n){if(!V6(t.contacts[r].id,n.id))throw new Error("wrong index for _update");let i=t.contacts[r],o=this.arbiter(i,n);o===i&&i!==n||(t.contacts.splice(r,1),t.contacts.push(o),this.safeDispatchEvent("updated",{detail:{incumbent:i,selection:o}}))}};var ph="kad-close",dh=50,q6=20,yh=1e4,gh=10,mi=class{kBucketSize;kb;pingQueue;log;components;lan;pingTimeout;pingConcurrency;running;protocol;tagName;tagValue;metrics;constructor(t,r){let{kBucketSize:n,pingTimeout:i,lan:o,pingConcurrency:s,protocol:a,tagName:c,tagValue:u}=r;this.components=t,this.log=q(`libp2p:kad-dht:${o?"lan":"wan"}:routing-table`),this.kBucketSize=n??q6,this.pingTimeout=i??yh,this.pingConcurrency=s??gh,this.lan=o,this.running=!1,this.protocol=a,this.tagName=c??ph,this.tagValue=u??dh;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new nr({concurrency:this.pingConcurrency}),this.pingQueue.addListener("add",f),this.pingQueue.addListener("next",f),this._onPing=this._onPing.bind(this)}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&(this.metrics={routingTableSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_routing_table_size`),pingQueueSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_queue_size`),pingRunning:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_running`)});let t=new Jr({localNodeId:await ve(this.components.peerId),numberOfNodesPerKBucket:this.kBucketSize,numberOfNodesToPing:1});this.kb=t,t.addEventListener("ping",this._onPing),this._tagPeers(t)}async stop(){this.running=!1,this.pingQueue.clear(),this.kb=void 0}_tagPeers(t){let r=new ue,n=k3(()=>{let i=new ue(t.closest(t.localNodeId,q6).map(a=>a.peer)),o=i.difference(r),s=r.difference(i);Promise.resolve().then(async()=>{for(let a of o)await this.components.peerStore.merge(a,{tags:{[this.tagName]:{value:this.tagValue}}});for(let a of s)await this.components.peerStore.merge(a,{tags:{[this.tagName]:void 0}})}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=i});t.addEventListener("added",()=>{n()}),t.addEventListener("removed",()=>{n()})}_onPing(t){let{oldContacts:r,newContact:n}=t.detail;this.pingQueue.add(async()=>{if(!this.running)return;let i=0;try{await Promise.all(r.map(async o=>{try{let s={signal:AbortSignal.timeout(this.pingTimeout)};this.log("pinging old contact %p",o.peer),(await(await this.components.connectionManager.openConnection(o.peer,s)).newStream(this.protocol,s)).close(),i++}catch(s){this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",o.peer,s),this.log("evicting old contact after ping failed %p",o.peer),this.kb.remove(o.id))}finally{this.metrics?.routingTableSize.update(this.size)}})),this.running&&i<r.length&&this.kb!=null&&(this.log("adding new contact %p",n.peer),this.kb.add(n))}catch(o){this.log.error("could not process k-bucket ping event",o)}}).catch(i=>{this.log.error("could not process k-bucket ping event",i)})}get size(){return this.kb==null?0:this.kb.count()}async find(t){let r=await ve(t),n=this.closestPeer(r);if(n!=null&&t.equals(n))return n}closestPeer(t){let r=this.closestPeers(t,1);if(r.length>0)return r[0]}closestPeers(t,r=this.kBucketSize){return this.kb==null?[]:this.kb.closest(t,r).map(i=>i.peer)}async add(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await ve(t);this.kb.add({id:r,peer:t}),this.log("added %p with kad id %b",t,r),this.metrics?.routingTableSize.update(this.size)}async remove(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await ve(t);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};var z6=[77591,22417,43971,28421,740,29829,71467,228973,196661,78537,27689,36431,44415,14362,19456,106025,96308,2882,49509,21149,87173,131409,75844,23676,121838,30291,17492,2953,7564,110620,129477,127283,53113,72417,165166,109690,21200,102125,24049,71504,90342,25307,72039,26812,26715,32264,133800,71161,88956,171987,51779,24425,16671,30251,186294,247761,14202,2121,8465,35024,4876,85917,169730,3638,256836,96184,943,18678,6583,52907,35807,112254,214097,18796,11595,9243,23554,887,268203,382004,24590,111335,11625,16619,29039,102425,69006,97976,92362,32552,63717,41433,128974,137630,59943,10019,13986,35430,33665,108037,43799,43280,38195,29078,58629,18265,14425,46832,235538,40830,77881,110717,58937,3463,325358,51300,47623,117252,19007,10170,20540,91237,294813,4951,79841,56232,36270,128547,69209,66275,100156,32063,73531,34439,80937,28892,44466,88595,216307,32583,49620,16605,82127,45807,21630,78726,20235,40163,111007,96926,5567,72083,21665,58844,39419,179767,48328,42662,51550,5251,37811,49608,81056,50854,55513,20922,18891,197409,164656,32593,71449,220474,58919,85682,67854,13758,35066,3565,61905,214793,119572,141419,21504,10302,27354,67003,46131,32668,15165,64871,34450,17821,2757,11452,34189,5160,12257,85523,560,53385,65887,119549,135620,312353,115979,122356,10867,193231,124537,54783,90675,120791,4715,142253,50943,17271,43358,25331,4917,120566,34580,12878,33786,160528,32523,4869,301307,104817,81491,23276,8832,97911,31265,52065,7998,49622,9715,43998,34091,84587,20664,69041,29419,53205,10838,58288,116145,6185,5154,141795,35924,21307,144738,43730,12085,8279,10002,119,133779,199668,72938,31768,39176,67875,38453,9700,44144,4121,116048,41733,12868,82669,92308,128,34262,11332,7712,90764,36141,13553,71312,77470,117314,96549,49135,23602,54468,28605,6327,62308,17171,67531,21319,14105,894,107722,46157,8503,51069,100472,45138,15246,14577,35609,191464,1757,13364,161349,32067,91705,81144,52339,5408,91066,21983,14157,100545,4372,26630,129112,1423,29676,213626,4397,88436,99190,6877,49958,26122,114348,60661,29818,293118,50042,179738,16400,163423,89627,31040,43973,36638,45952,5153,1894,109322,1898,134021,12402,112077,68309,190269,69866,31938,107383,11522,105232,11248,14868,39852,71707,186525,16530,38162,106212,11700,5130,16608,26998,59586,108399,230033,43683,48135,82179,2073,5015,196684,189293,16378,23452,8301,35640,11632,214551,29240,57644,33137,91949,55157,52384,117313,5090,17717,89668,49363,82238,241035,66216,29066,184088,97206,62820,26595,4241,135635,173672,8202,459,71355,146294,29587,3008,135385,141203,14803,6634,45094,69362,50925,546,51884,62011,83296,234584,44515,56050,89476,87751,19373,12691,149923,19794,13833,35846,87557,58339,2884,19145,25647,12224,11024,77338,64608,122297,53025,7205,36189,36294,170779,21750,7739,173883,75192,35664,224240,113121,30181,26267,27036,117827,92015,106516,55628,203549,67949,60462,60844,35911,20457,1820,920,19773,8738,73173,181993,38521,98254,76257,46008,92796,5384,26868,151566,22124,2411,15919,186872,180021,28099,152961,78811,80237,62352,102653,74259,184890,16792,123702,224945,29940,19512,75283,14059,112691,92811,233329,20411,138569,53341,109802,50600,134528,66747,5529,166531,31578,64732,67189,1596,126357,967,167999,206598,109752,119431,207825,78791,91938,10301,27311,24233,252343,28831,32812,66002,112267,90895,8786,8095,16824,22866,21813,60507,174833,19549,130985,117051,52110,6938,81923,123864,38061,919,18680,53534,46739,112893,161529,85429,26761,11900,81121,91968,15390,217947,56524,1713,6654,37089,85630,138866,61850,16491,75577,16884,98296,73523,6140,44645,6062,36366,29844,57946,37932,42472,5266,20834,19309,33753,127182,134259,35810,41805,45878,312001,14881,47757,49251,120050,44252,3708,25856,107864,120347,1228,36550,41682,34496,47025,8393,173365,246526,12894,161607,35670,90785,126572,2095,124731,157033,58694,554,12786,9642,4817,16136,47864,174698,66992,4639,69284,10625,40710,27763,51738,30404,264105,137904,109882,52487,42824,57514,2740,10479,146799,107390,16586,88038,174951,9410,16185,44158,5568,40658,46108,12763,97385,26175,108859,664,230732,67470,46663,14395,50750,141320,93140,15361,47997,55784,6791,307840,118569,107326,18056,58281,260415,54691,8790,73332,45633,7511,45674,143373,14031,11799,94491,35646,96544,14560,26049,32983,25791,83814,42094,231370,63955,139212,2359,169908,3108,183486,105867,28197,32941,124968,26402,88267,149768,23053,3078,19091,52924,25383,19209,111548,97361,3959,24880,235061,9099,24921,161254,151405,20508,7159,34381,20133,11434,74036,19974,34769,36585,1076,22454,17354,38727,235160,111547,96454,117448,156940,91330,37299,7310,26915,117060,51369,22620,61861,322264,106850,111694,15091,2624,40345,300446,177064,1707,27389,54792,327783,132669,183543,59003,17744,20603,151134,106923,53084,71803,279424,319816,11579,21946,16728,38274,72711,5085,83391,88646,40159,25027,34680,10752,12988,54126,30365,18338,100445,230674,44874,84974,143877,123253,139372,28082,91477,144002,13096,219729,46016,50029,42377,14601,6660,58244,58978,23918,88206,113611,64452,17541,41032,10942,12021,49189,10978,40175,37156,10947,71709,106894,112538,57007,137486,150608,152719,40615,7746,279716,13101,19524,28708,40578,72320,1096,182051,94527,51275,22833,45164,81917,77519,48508,5421,140302,37845,149830,5587,27579,5357,428725,248187,6326,206760,39814,32585,89923,44341,288753,284443,96368,31201,94189,119504,20359,52073,103216,179,27934,32801,96035,34111,34309,101326,18198,20704,210266,37643,27880,141873,106e3,19414,56614,167714,66483,107885,86602,4379,20796,75467,4987,5017,118857,26003,34308,114428,29198,6686,29697,73632,3739,69795,16798,41504,7207,30722,21436,36735,28067,28545,3239,11221,36031,41889,100010,19247,317673,29495,174554,6424,129725,53845,94986,7955,59676,2604,191497,19735,102214,62954,23844,11872,179525,261436,34492,428,78404,142035,16747,17246,27578,37021,33672,57944,26056,135760,2369,61674,122066,31327,19374,157065,40553,130982,69619,71290,38855,72100,92903,95940,51422,165999,65713,57873,50726,7288,20272,2081,42326,22624,81120,57914,79352,19447,1684,72302,11774,302559,161481,96396,13692,414988,3721,79066,56627,46883,21150,11747,12184,5856,113458,176117,84416,52079,27933,3354,59765,141359,2212,216309,2555,23458,196722,142463,45701,44548,28798,19418,215,29916,9396,10574,114226,84475,13520,18694,34056,4524,90302,62930,13539,19407,77209,7728,38088,9535,2263,23875,183945,17750,26274,67172,10585,28042,22199,7478,51331,66030,26774,192929,31434,25850,50197,52926,178158,4679,181256,70184,229600,9959,105594,72158,73974,2726,35085,78087,23284,35568,51713,155676,5401,27254,11966,17569,223253,71993,103357,111477,55722,30504,26034,46774,35392,36285,214814,41143,163465,1051,16094,81044,6636,76489,179102,20712,39178,35683,125177,54219,30617,52994,25324,50123,2543,87529,58995,10688,125199,12388,60158,125481,131646,7642,133350,65874,3438,97277,101450,10075,56344,116821,50778,60547,98016,106135,13859,14255,16300,77373,173521,8285,45932,37426,4054,114295,55947,7703,39114,52,51119,128135,19714,60715,9554,50492,88180,2823,118271,52993,122625,97919,23859,37895,25040,33614,32102,20431,3577,9275,15686,43031,157741,110358,1884,40291,125391,13736,5008,64881,87336,77381,70711,43032,49155,118587,70494,4318,10168,30126,12580,10524,280104,104001,145413,2862,84140,6603,106005,13566,12780,11251,42830,571,179910,82443,13146,469,42714,32591,265217,424024,92553,54721,134100,6007,15242,114681,59030,16718,85465,200214,85982,55174,165013,23493,56964,82529,109150,32706,27568,82442,5350,14976,13165,44890,60021,21343,33978,17264,4655,22328,27819,75730,16567,55483,14510,17926,45827,150609,3704,7385,272531,161543,76904,122163,52405,2039,19165,41623,14423,228354,3369,176360,85491,7122,35789,303724,4465,13628,2233,55311,118771,20713,10006,221519,45115,71021,35650,29775,7337,10864,20665,21142,1746,15080,1624,32449,10905,105743,229797,7701,3940,22997,178467,57208,389057,39683,59403,63344,63125,54847,69691,18336,56448,3362,37202,18282,29648,138224,35867,10495,5911,28814,26653,31514,176702,26550,45621,11734,4525,40543,73944,121080,27858,155561,14887,44670,30742,8796,107455,113472,56369,75581,183777,240095,133699,153299,8768,160464,26058,49078,103971,21875,71486,44888,17156,9678,89541,123019,102337,3972,83930,21245,87852,109660,287918,183019,686,10100,39177,283941,11274,24736,26793,26214,25995,77011,141580,4070,23742,46285,46632,30700,26669,19056,35951,115575,174034,56097,35463,87425,24575,44245,38701,82317,85922,281616,100333,147697,61503,7730,84330,8530,59917,61597,17173,9092,32658,90288,193136,39023,20381,56654,31132,7779,1919,1375,117128,30819,11169,40938,23935,115201,101155,151034,4835,11231,74550,89388,59951,91704,107312,167882,115062,12732,72738,88703,464019,158267,57995,60496,737,14371,123867,4174,243339,159946,7568,16025,134556,110916,38103,191,80226,88794,29688,27230,10454,76308,57647,77409,113483,66864,14745,19808,12023,46583,84805,16015,17102,2231,20611,3547,95740,250131,34559,108894,8498,15853,159169,148920,20942,2813,93160,45188,210613,45531,52587,149062,39782,28194,57849,60965,84954,89766,84453,100927,16501,27658,165311,103841,54192,207341,19558,20084,319622,5672,205467,98462,61849,36279,13609,147177,24726,165015,209489,59591,31157,6551,117580,75060,141146,277310,21072,22023,106474,63041,137443,122965,68371,5383,42146,98961,113467,30863,23794,4843,99630,30392,82679,13699,241612,33601,93146,24319,18643,32155,95669,40440,15333,34089,67799,142144,58245,38633,114531,117400,77861,188726,5507,2568,8853,10987,107222,2663,2421,11530,13345,30075,41785,118661,104786,17459,12490,16281,71936,193555,17431,5944,71758,26485,77317,20803,367167,158,7362,93430,11735,172445,46002,11532,54482,930,62911,2235,23004,179236,4764,101859,208113,22477,55163,95579,14098,67320,162556,90709,156949,3826,57492,4025,34092,87442,104565,6718,186015,28214,14209,10039,107186,233912,58877,81637,55265,39828,6194,145813,50831,105849,4974,88319,122296,10272,197216,95714,51540,72418,23324,91555,8743,140452,250249,51666,34124,7229,38592,129641,78169,174242,22464,149964,51450,14034,10026,95376,26190,120062,14401,8700,265,31386,143573,7203,229889,61567,4227,140981,2466,72052,10787,10062,30958,6099,38471,30103,23202,208101,70847,467,58934,32271,32984,36637,24107,30771,17109,73353,13650,2098,157040,67366,66904,106018,265380,107238,18535,44025,32681,144983,62505,91295,56120,3082,77508,10322,63023,36700,81885,224127,16721,45023,239261,111272,13852,7866,149243,204199,32309,22084,42029,38316,126644,104973,14406,43454,67322,61310,15789,40285,24026,181047,6301,70927,23319,115823,27248,66693,115875,278566,63007,146844,56841,59007,87368,180001,22370,42114,80605,12022,10374,308,25079,14689,12618,63368,7936,264973,212291,136713,95999,105801,18965,32075,48700,52230,35119,96912,32992,8586,16606,101333,101812,14969,39930,759,193090,27387,42914,12937,5058,62646,64528,38624,25743,37502,3716,4435,30352,178687,26461,132611,42002,138442,35833,59582,16345,8048,60319,49349,309,47800,49739,90482,26405,34470,63786,32479,85028,39866,47846,11649,23934,29466,2816,42864,31828,7410,74885,49632,47629,111801,90749,19536,18767,105764,59606,21223,10746,76298,22220,39408,7190,79654,64856,11602,82156,272765,17079,70089,245473,51813,184407,384678,1576,122249,5064,27481,6188,25790,74361,27541,318284,45430,31488,620,93579,45723,192118,22670,51913,4162,70244,35966,26397,16199,50899,209613,121702,287507,2993,36101,132229,67345,33062,76295,118628,78705,52316,34375,107083,107454,44863,127561,33964,3073,154010,190914,55967,39074,6272,31047,5550,41123,26154,98638,47110,19998,148091,50229,31329,59900,195442,19106,61347,73497,70015,682,45850,25776,38022,148951,6288,37411,232526,109277,27286,32342,9262,5220,16651,23175,46740,129438,78614,121925,66914,88710,127952,5563,21500,34521,10739,14863,191006,62956,17359,16749,67027,56284,69134,43301,35039,58883,54466,60823,404451,75743,59856,86979,7923,34273,83785,32142,7693,268986,197428,282681,17049,22346,22990,92245,107180,3357,37104,96724,49153,7683,31197,43267,82231,164276,23696,20848,188364,22309,24821,158707,1018,22514,70922,27792,45589,59709,10765,736,35218,63479,51987,24275,63588,55361,92929,81964,4658,20122,12330,44058,13065,311456,72224,8337,211229,38979,22590,138478,52757,32595,133600,8838,31549,94412,43391,90056,1585,94802,127271,6223,31889,137038,132910,2165,57616,230152,6080,10748,36737,74579,134062,50525,180532,119270,34556,76155,82394,52595,29258,31435,87820,67996,26943,183878,38007,2410,13526,180297,69856,3503,187396,167700,7838,16701,9199,56267,3661,37407,65994,23767,5708,62508,221700,67088,86978,46776,84434,32088,5612,9149,88244,21685,95151,46750,189612,2979,506311,2594,3628,40074,105039,78243,28523,6651,38058,71999,30992,12764,68261,108991,6165,26450,61961,13400,22426,7490,60890,109623,2070,12958,50355,67979,257096,7213,42578,52121,35716,65461,7516,124758,39268,302,64712,14977,1467,219452,2840,34229,11121,21602,19270,63574,8024,1532,17331,79839,78885,52029,180767,57957,6069,91265,61380,55767,8927,32881,287603,22149,35029,68876,6428,199567,46926,13412,104132,21434,366616,45060,110046,81924,128910,45886,52821,130416,29416,77342,21762,67329,121432,79924,11724,38625,81006,102033,28338,13326,3250,82056,82526,38212,21112,12382,111495,3263,7414,86274,93490,40844,30224,45212,24019,48411,71367,24941,76729,57776,3769,38114,202019,197745,31953,237533,33270,201580,255648,100798,44741,32241,98468,106931,10085,15090,170358,33154,66787,18819,69760,25061,234005,82660,6295,131975,16874,9076,4094,25005,17740,40908,19533,220019,44330,99792,50040,19619,13950,55228,24423,31253,95308,103177,184795,28590,82285,5059,3210,75525,49894,70007,56178,10580,36051,139681,21617,98736,3555,106306,164189,37352,63915,47824,24883,145530,61904,28444,11483,19837,145446,30420,112972,85939,11835,191233,2262,20705,58630,1753,148334,1197,144714,6887,11223,107667,60879,77914,4151,57417,81594,96681,169430,1784,20444,95138,254041,27038,596,7117,72808,13759,3353,126776,21074,55322,27081,36942,39547,139830,179275,4453,713,8722,71399,19204,25785,22794,23923,104114,11291,25458,102309,88396,75288,230440,206396,104551,58447,130857,37247,94734,31548,176529,226077,65159,20104,10096,66881,94191,237909,27109,37404,1520,27421,25220,113003,23423,24884,50585,6286,231877,150800,11789,3226,90004,60642,5053,202400,61442,132531,175329,57138,30116,103847,9973,75367,16452,32360,59119,21246,10191,164804,23305,61051,37348,154530,13214,5468,50403,66754,130976,50559,80515,14436,155492,84017,5472,43107,41240,2890,90431,70188,382,76234,48040,50211,281038,237007,32115,142178,1536,22761,96429,1811,31243,1679,49143,55209,17402,235054,61494,7462,77030,34925,87609,78002,9499,9027,73289,201078,101379,63544,27666,5469,10642,30029,49816,132979,95620,58086,351930,116300,2110,2043,30845,6154,11279,16727,4122,2277,27281,4971,3650,39060,61970,65951,39674,75686,38151,11370,130809,177895,32665,63725,122267,7857,39618,118483,44792,157755,178624,136994,24260,41308,22471,12404,21707,12486,30473,52781,50246,20247,39065,909,56825,103158,128603,31542,1089,41935,32744,12428,37963,84420,33134,72921,208449,42622,168151,127335,147107,46699,38216,12591,94342,85814,31423,24944,2605,87542,67473,192551,4496,56321,91819,17630,6300,256183,114569,202090,33209,35289,34897,24967,40520,43470,5344,10199,34810,14283,10381,10017,62923,49924,23233,64539,13051,35686,19698,11570,135555,120868,44924,87065,52318,52335,47586,140906,245885,109834,78668,9065,46990,25258,72022,61243,40838,4545,146387,10537,11557,17470,36930,68104,46711,24264,79401,81043,18225,120488,24746,84338,81652,28266,13776,21878,46973,1047,230465,73357,95777,24973,210160,62210,58404,110633,169651,6937,41870,9909,26822,191062,76553,27519,96256,239070,2478,205678,67955,58532,20601,50120,19148,78501,195724,110740,8249,109665,27446,30568,57631,31425,49752,32820,65504,50079,3663,102256,219898,23849,211315,14645,4359,91767,9528,12449,49366,7941,49763,107848,8930,27086,50686,9744,10447,81935,39513,46514,1670,29229,6172,22312,137280,97759,9806,14445,22976,56458,73391,34983,93760,174219,52573,33149,59747,2429,136277,75123,165263,91040,7446,57632,48633,97140,246081,84766,151684,79918,93268,120346,54059,54875,77858,32996,103590,45276,11968,19600,25849,17159,132907,42828,16817,4913,99462,103303,27395,5737,74184,20749,21160,14377,77062,131403,158735,10999,27799,77785,9320,34366,51593,61070,33746,47048,29268,36675,30262,53297,9832,82e3,20188,122292,39917,7331,18160,68301,185935,134830,15031,4935,10004,165845,185534,46923,30109,44134,122631,18874,22903,112790,26561,18549,348902,82871,140345,255565,135390,63556,103747,145055,179600,145662,296111,61661,211987,23952,52342,126343,48450,32919,44277,82185,9591,62139,205363,376969,394874,108461,18040,120885,14798,39863,16571,16794,58271,81025,55206,14640,118656,6361,44092,85970,6262,153863,108244,180200,72264,79947,38044,10050,5735,61221,80712,5471,115689,11391,11661,184257,20010,60116,30320,19327,134598,45455,27542,18004,125092,452272,1549,91523,46567,180063,156026,2608,11174,58848,37788,65907,80194,30490,5786,40775,119519,106241,11323,156297,8425,61495,2617,29675,2425,59886,112582,49142,59618,4863,50597,86710,50650,168632,27693,85641,83643,18993,25768,84284,28090,93592,36627,312804,43381,9887,9402,100931,97165,3311,173330,66805,28935,4963,184460,3201,78102,19126,21607,37496,24938,22615,16153,32862,134792,153318,61120,6067,2812,12826,12792,23825,37559,64662,202250,102694,155488,85881,149193,46233,65383,15521,106982,11358,176786,25752,39717,34208,24510,32464,77742,39371,72028,138229,60688,71386,102834,132477,2208,11548,63670,271279,28351,30338,38620,32491,99845,143885,152266,13252,2825,178663,108097,1775,78201,14897,113573,163346,62292,171129,22183,96598,38733,64971,166776,117445,9968,146393,44677,74867,20908,97328,12761,25656,26785,9148,112344,26115,99176,110121,22437,49547,6180,79320,5835,31392,43328,33377,75870,119860,69497,80273,7325,155219,43167,111173,28347,20222,3763,71752,55041,47252,14618,28088,15012,97805,194698,54636,2036,41349,6173,96604,61530,51859,43782,13361,24334,22668,24792,7070,23441,16789,3209,36211,208475,26242,32880,122181,182407,21444,31060,88459,29929,77907,12716,10934,97005,20599,31690,8403,58445,30303,22700,10336,86731,103115,337709,72556,46788,112566,47684,67089,53548,36874,56487,41387,125985,26893,40071,106683,73712,18787,40105,72992,67246,137276,50802,36790,70328,138827,22466,39263,183295,29858,50975,9322,57397,10654,24364,30383,55799,41600,23584,127295,296610,129078,143558,244131,86397,36049,1085,80677,3820,108139,5476,34767,24683,7758,13060,7239,131671,250593,59556,103392,29810,4188,252323,39404,116877,7651,43600,40338,13554,157253,39196,25978,144387,61211,234,50104,6129,10449,93777,9240,356378,274148,4439,72970,3724,147770,78680,62570,115877,40027,40547,36817,224392,64609,34795,165027,67440,2477,37206,23431,50754,164797,46018,94995,170982,27051,7957,22767,3674,27900,56419,18930,60701,41302,2692,84749,339721,61996,111094,80221,50129,1045,8153,62945,19202,8250,37208,37418,32560,79477,41106,88569,33963,36693,5892,30570,1581,66471,49647,11922,160717,29442,5643,114865,82962,95982,132098,22633,22838,94726,54556,28566,205039,162340,33216,16849,35847,221339,94851,26533,71469,1805,3804,12935,45483,71020,36310,65381,192960,34240,35165,59773,1248,46954,155332,96864,4246,388800,16129,57133,74592,44807,442014,38203,42574,80818,91592,26377,36424,65760,977,77387,22628,147610,28018,30561,98454,6969,119628,63648,18170,36854,26601,64018,22027,37279,51395,152934,21153,9430,58760,194742,5330,55115,34158,28917,174111,13171,122326,1526,43896,66094,25325,4234,148354,11450,275,18999,112191,44365,22723,68409,8733,57746,96565,75007,14196,108844,29475,88599,177563,100792,106156,86323,93726,14248,135341,194131,40126,47099,14779,8272,39597,95983,171398,65882,28052,10393,47213,40689,22120,72212,106829,34964,109146,753,648,21660,30047,17527,181025,5619,145357,4085,216883,9359,186951,24779,53931,24545,36197,223296,62628,168101,4243,107313,30321,26642,13049,51059,31027,107912,807,73550,26551,84369,122422,165872,49754,74213,234264,33151,52014,33100,87183,22365,52500,40013,23302,5652,72723,21404,26107,48434,587,94049,168493,96418,32871,70860,31709,25128,443,71597,166253,15670,70994,26341,133675,28280,75491,54756,47955,56028,26182,11952,113272,472197,64640,110753,17919,337,50642,22576,142,87371,53391,93210,126694,15285,19642,85667,14148,1506,42092,52962,33243,11970,20734,135843,57044,58880,13002,219134,22876,64754,232519,4257,43120,321573,24799,64526,124728,52579,81472,70831,276848,17403,74359,23021,182101,74597,23744,148267,12055,7976,5349,11772,67540,167347,65318,18720,127832,108238,22828,90233,9987,259080,118185,73209,79270,13775,90100,137742,90799,70569,15699,19961,9087,67475,57872,39731,8810,134897,131868,146849,19898,3334,2281,167061,91073,60356,467742,74712,188,53179,137679,92769,29241,9537,132595,80119,1041,88962,5976,40171,44911,102859,139059,104558,98987,47761,19272,71472,113864,175377,73338,10857,23402,23758,1591,139864,5644,4076,118760,16427,134198,18853,20291,100849,37423,22038,36677,19071,195521,57445,11069,31869,55718,66882,148490,44,41296,75242,49704,166810,9906,20943,122258,49112,105667,15969,10344,6408,187694,21399,72742,58970,14867,14376,81889,41856,23225,15042,56993,16074,131389,74276,72407,53875,383108,53597,37363,68993,44854,122548,430927,198279,38430,80409,12245,2981,628,2818,17760,37437,238229,7968,46892,2200,3730,34190,65983,37959,112291,87850,70827,6522,20750,73913,111621,41652,19587,2780,58668,25916,85259,18200,168962,95781,42445,102050,7776,57662,103313,47742,96358,41964,66174,100396,29069,204735,19679,27978,7479,40264,22534,61183,36081,107436,58223,14680,23002,101311,24716,124108,12908,5646,31750,40380,14215,232799,102772,14122,96775,61398,50917,12096,149880,67833,598749,124194,155871,49216,790,14677,65319,56917,7440,145744,95701,12206,49405,129269,76199,45732,9767,11058,9047,210885,11051,7392,26307,2130,8132,147526,20802,232698,115660,50060,59789,57344,107623,80343,112676,23291,9866,160971,34032,118291,15719,59730,164911,28975,2659,58046,78480,21854,66209,53863,109085,116045,29021,46481,107552,22130,18764,70254,31272,11300,52460,43933,84738,20721,53869,190840,79673,105300,7561,321817,66924,13940,33281,101046,183181,32176,71878,5678,62924,79535,56646,40303,19559,27703,93042,73368,42187,3670,37376,46440,7023,36816,109628,20680,5940,276440,275233,170848,112093,136996,14984,20226,111441,77693,112960,48577,39370,55707,50314,123404,26570,54281,61372,123391,4857,35928,246740,132507,106646,44241,7196,92258,9825,37688,51197,303141,5590,15476,132986,10955,85782,34486,26696,7991,28813,18858,39546,11703,11365,38185,5716,93555,11925,40121,60002,6985,10976,171384,3887,43394,13337,56346,6381,252336,39573,75042,53711,1028,31781,44295,95925,131713,7214,68125,43571,70954,213234,1628,8760,13391,65485,17320,56038,1710,25248,60803,57399,19839,3870,326,281556,50945,72400,21460,316244,75619,56246,98775,481,13513,55765,50427,7388,123519,32929,57908,27124,61316,101097,57467,30228,48792,10788,20402,37318,50526,155730,34456,158065,145305,17832,43733,64052,4506,35072,205355,177028,184004,187081,68616,35938,83703,10367,36892,93186,260137,51934,89970,4985,23445,26755,21558,7948,78741,23376,124405,85594,68596,57536,49351,12619,56593,132668,99924,109728,71844,71935,196018,65464,17617,14987,89701,143773,33997,8687,22701,33258,2914,4436,72108,85610,9671,49067,2327,82988,1361,1672,44033,35777,30269,24057,10605,82236,616,15793,13919,47249,112086,116698,9484,80207,90574,33304,68624,93127,56101,42210,160929,4827,38995,38095,4701,125119,5027,33680,9236,231236,14135,87837,23318,70261,78893,30151,81482,14332,1084,74256,27532,46644,79185,3148,62615,6981,55672,31668,36825,1849,14536,37446,14738,23779,43058,162749,72199,1168,21346,5592,85932,85302,9668,18351,57135,150360,2080,228015,77953,34670,119302,151751,31009,106725,84265,45214,59289,74178,113071,263206,111009,4021,44449,188119,192629,123592,392506,292847,114487,12831,205858,9852,20780,79648,75767,357014,97721,18166,21005,67950,33226,204009,16536,2987,11335,66717,144910,47950,17262,55060,15063,2934,51038,26775,178497,66008,3427,49433,128592,20036,157553,63861,3089,23015,51210,28696,35933,49942,71135,231518,99620,17248,21835,176536,20676,16944,38700,165831,233253,295625,36723,13023,52745,10907,19423,67972,125868,95473,82875,1183,108455,52685,33417,64095,21433,52438,33191,127809,44505,211823,7810,2752,95548,162031,7185,91196,47563,61721,33359,17897,23682,42806,178101,22874,49707,199897,75419,82456,8618,11171,79712,116847,18783,44190,46564,5346,59046,95032,7893,14916,3214,26800,24172,121453,34362,10250,17408,18888,4840,68696,22831,13162,36005,32512,14800,62357,41723,45046,27247,37486,5372,2564,34261,298500,66509,133920,89138,31305,117697,19097,108304,81386,84106,23802,46411,63304,946,51417,41777,41041,19501,115864,60743,294354,37955,94165,18116,1156,17937,20645,57114,90804,58042,48643,92288,9861,2557,88546,61333,101008,12853,5148,87856,4152,144503,73841,18718,9789,147565,10846,42085,12789,30223,8993,56352,67203,2448,28215,6052,23540,126319,75933,36689,80235,23231,23561,21383,38800,77548,102798,21234,31468,158608,46188,63960,191679,8051,67014,11185,170078,42186,28827,34777,41930,212079,12421,34750,24111,110344,73918,45171,70826,141949,40063,23979,24254,37309,26724,27179,24718,83648,54938,14591,17425,29525,102675,48975,48654,12316,8929,60640,41709,50168,63264,89812,50716,48632,38755,138583,160123,55579,71829,24230,233277,46322,39650,166388,34718,24108,98252,7031,106695,62498,18258,35062,217827,78731,34824,33354,19520,60852,2432,60224,8587,2836,62955,702,20227,42285,40560,95592,62486,11094,53035,143291,18842,46177,77994,1770,9657,107422,172915,32655,128716,25886,25164,156740,119928,165875,85817,11007,89110,33956,12652,65156,180266,8494,36889,19958,20955,96,1264,118288,135769,44754,86671,5632,19026,168220,289120,33569,93821,66144,70635,7687,5642,2714,55445,56636,71545,184182,93133,7332,37389,12643,52315,22729,11014,158742,17050,152889,50178,34601,41945,52136,9948,26914,63548,95721,115951,40759,8960,158258,38938,49232,48325,42234,81523,253019,66128,40978,20048,238048,38760,62928,122560,118532,43687,137472,163689,26680,9878,17448,51035,16211,60834,36749,29178,14241,59868,150086,2305,26477,42422,34342,165341,83279,33894,14257,29928,12743,13957,125571,89134,66712,10952,16507,147839,30146,7249,16565,45399,39874,114565,215780,31990,230881,171477,102,196546,44538,10880,84948,281705,86651,10617,31395,2342,453658,43569,60561,132901,21845,17727,58556,258242,22262,58728,4008,77997,11806,37431,30599,81375,109137,185787,114085,217292,97453,169085,30593,60212,11544,102056,65580,2384,91655,4855,95725,7295,157994,16228,20669,53276,141590,105246,17334,25440,76067,17967,39321,38911,11362,28559,63807,21627,26468,85816,40120,1025,15234,58319,69516,66512,124548,75845,78873,22137,46681,51242,85683,32909,76747,35555,43396,101465,1765,73094,1077,2962,39028,66777,57831,42048,15828,13962,36041,63657,52412,5242,58846,2141,5506,219012,134451,3936,182230,17558,17153,152237,22621,49377,170216,35257,68233,65374,6510,11126,212151,7184,2480,22517,3437,33073,30156,16557,3768,55067,86829,91e3,12350,148650,66017,79424,70885,49066,28250,21369,51213,34533,11510,3258,18176,18465,84413,6315,36411,163765,4346,356,107618,598,13727,285026,162695,8749,14583,7132,63521,184253,32378,25991,5604,30961,53675,4874,84693,5086,34811,26978,56564,7904,33519,51221,113942,69253,6664,125563,22055,220680,102008,742,51930,19494,176108,44424,35123,13025,75685,11759,74335,22250,181453,131147,16984,132115,154311,11991,76452,52609,85351,196,30969,9198,74919,2529,56838,71779,29187,116304,3504,62330,41190,86153,28393,254926,104228,105189,13264,84359,3574,12415,8534,57147,10175,188174,59504,60932,66318,16407,107921,17638,99103,49278,28403,39786,145865,8462,3558,43406,142271,29139,21989,36552,93955,72365,7176,13556,106185,37957,321774,17782,129017,51154,27938,24952,1935,39366,2791,33489,41582,56078,24558,9311,5449,218786,27808,190429,68013,36020,86003,29735,3404,87348,119357,115714,2324,86796,81973,40992,43376,93621,28784,16808,36367,2517,2909,191926,24978,55303,53308,205724,60068,3098,21375,64784,23949,26579,63121,12319,80145,39967,97861,6757,70143,67642,37082,34698,69140,122883,46151,62187,80934,429,19437,135071,137885,222647,13331,154065,327,61778,74257,40116,37493,14855,85079,237641,42342,102164,199965,71204,4662,29368,5042,113914,122214,8955,13149,102503,43173,5659,163787,69003,307084,63392,171080,21390,81918,86666,36622,24126,28887,5736,28054,207170,163428,79891,346467,95363,38980,111806,80828,9200,19288,294896,114468,87405,111715,141705,7015,72754,68463,48738,243147,33397,101210,37051,98801,82847,20397,4940,185559,18716,54718,83491,11725,40803,1128,12128,23060,5174,7745,67007,46701,1571,27807,180186,256996,18975,16837,7877,212758,250379,15440,87954,57755,24719,124057,83461,258,50864,8874,29038,71289,31627,15429,9005,4061,113851,107716,82819,13651,79656,117851,17539,111446,12938,39724,190787,4352,15402,21070,62708,8539,23777,73853,13552,38810,86117,16285,56400,1718,75342,142863,29033,378,110113,180321,32586,23606,26393,160984,207987,23783,8406,16904,24596,47274,11693,46539,60524,78595,48423,31718,20170,9009,146268,15183,191060,172765,1349,138436,37365,10970,40509,225817,20021,70394,152138,21541,66559,66544,89352,2725,17258,91345,7313,3815,115868,8660,40362,4071,103524,39388,118275,21950,6549,38226,32754,209574,29201,43495,18028,20296,40597,18370,47520,202450,24134,2219,8195,69545,38041,136934,46374,19041,159811,84865,58620,846,98749,13569,30714,97246,32186,4479,27355,92973,35214,151491,75963,37631,1561,27200,238083,23182,60756,12291,25766,39355,102333,87362,65741,59906,19538,201575,48772,102938,24438,292580,39964,66366,9004,61379,50548,37622,38732,28379,68180,76622,17488,69849,5963,7219,48143,43413,55358,540,58691,29506,19245,52193,48621,5518,13048,118625,44755,191081,42061,89197,2259,60665,66994,71210,51232,3585,142096,55024,7892,8345,58653,463307,65658,64319,137941,136323,53499,12746,43492,6978,95163,29925,60175,5128,7352,41463,184756,121146,20473,18426,4598,5309,54580,14277,121151,10691,56711,43880,63409,76682,11830,172218,264898,32632,66536,81062,31649,25788,92774,60222,11100,63159,9432,224657,25240,53613,152,138620,163829,2397,85345,12501,37507,64932,38575,43522,65789,80198,78796,35226,3851,108891,73311,3060,28391,93671,39663,46142,30982,66041,37281,68157,26553,71872,81142,211527,39747,118119,22695,2859,11066,20232,168911,7933,197005,17066,111071,44434,133994,120798,12766,227798,45756,132852,29917,36076,55352,65281,129800,41958,18944,84678,18580,168093,132621,39997,54092,27740,32354,3770,114118,103242,43918,15899,18574,145944,3190,123469,219903,24169,100571,62403,16776,92779,14535,17168,16475,14304,37231,1712,28218,242754,61688,28980,1318,51359,222657,99200,67989,31772,23932,35351,201251,49041,27306,19128,40135,3986,77333,19649,120683,151927,21081,7076,78375,77501,101599,8011,89585,96715,58179,5378,102138,106793,26051,217276,4197,16297,27014,46721,13322,22806,5278,29629,70632,9647,71519,58818,40603,128530,8903,36770,56900,31483,26935,43845,34265,34920,87658,6114,84767,64250,47318,50720,19264,162514,33357,13117,6705,46696,75032,71054,87004,42035,69138,11903,99854,102328,19611,34525,69312,6431,49842,101600,133178,108751,41829,89939,225664,48916,99556,9195,130387,5960,36857,116724,53518,94002,39077,53996,6945,22261,64291,8314,152785,57588,16522,9091,5048,87671,35441,39509,1945,12423,158923,178413,37549,14095,1475,73188,62878,4819,24012,68534,42606,4010,120809,57497,59564,101758,103718,32701,80116,12345,95834,46918,21468,53213,15665,31200,3867,5140,96013,250744,21016,10069,13968,35449,180829,27683,39704,59956,22893,3115,26293,32785,75934,62445,141162,62720,2018,83638,19949,114012,95006,3330,99829,130935,309272,9565,55874,121727,37017,23586,319858,40970,27602,8625,112329,61060,100088,118525,25922,16232,1907,60671,51583,44553,80993,5262,94679,8676,940,20736,11823,3020,16476,12340,152600,97416,3703,25744,66826,16245,16876,46446,84798,74227,176020,45192,61955,75496,23946,23626,40372,26036,6149,11822,30582,16541,41914,82385,232823,40921,80773,14930,3631,7517,39619,4348,36180,126106,138939,62611,1477,113512,47321,25052,14546,118881,29060,23589,128322,36795,18401,137921,104699,267929,36194,172791,18113,4766,188215,30083,332586,94089,5805,77909,22194,68234,154976,43220,40660,70001,184893,138095,11128,103010,22663,5108,212615,8485,5565,49222,54614,26530,42639,16319,55062,152662,105595,21114,22216,10294,68158,10436,86950,7206,62115,3977,3657,59874,456,118617,18156,106663,112229,80992,17442,8217,55551,5133,34344,251927,51153,39364,201321,7816,66803,23057,156724,145664,14276,95705,979,2796,6875,13429,212525,50602,26276,28284,3424,19465,52397,46963,31420,51399,206476,92317,48851,637,100820,83349,10317,60227,21972,6908,282439,32857,224767,95629,83882,42106,87338,69757,29840,68709,37665,45244,114577,49188,175943,54009,186746,106158,70168,3358,234002,50555,9221,129338,9562,20118,32923,78479,118280,65752,4977,10474,102174,60947,129006,10570,83451,8598,8078,159367,123785,80438,16742,5905,5281,181513,42402,6977,163136,93179,42191,14968,50421,112401,105440,33456,57347,121611,4221,94954,36517,24046,27796,6255,33394,72990,135408,116627,1233,57874,25654,95419,68156,401399,313338,55208,45573,93124,119251,47200,38196,11909,130667,45391,73904,64964,167846,4137,115606,52036,62214,7969,160925,7187,1132,134835,40309,73195,64494,80472,444841,61111,26500,45323,40743,53625,52797,22659,15631,29739,36706,28841,39147,102836,26794,10536,14845,87305,45874,12241,127587,83833,57183,79722,30844,41304,84655,20825,92500,3722,25655,27811,10157,81634,31362,34088,92487,70123,22190,185100,72658,139035,192523,88241,2078,230490,44528,85638,100198,22088,29982,291233,241062,13865,4445,137791,37835,107218,31726,19718,38234,72528,23046,19177,66695,5109,17251,28077,5617,21554,47839,72425,133825,1486,73065,181275,141508,21768,62971,63082,2512,34200,9904,120309,6392,91243,68416,268253,41199,116757,138551,185526,41246,28986,4093,19057,17295,4148,245766,122360,35356,112075,20301,75441,10998,7977,19769,62922,937,63547,100196,26427,157820,20983,236696,22935,8140,90315,156004,47204,140973,7726,45097,52725,22636,23436,257282,105247,522,88389,216031,202204,46812,211666,19693,68828,81691,45925,11256,30292,372,5236,167826,88328,232776,151611,5360,82104,18841,80393,25465,18285,20320,72377,31730,33160,45803,38715,27705,37379,24163,18360,103586,4015,32305,269494,91252,20080,36567,54650,7797,57073,12650,31164,42209,6375,261663,105528,81661,106002,2800,5375,17247,43151,4442,15727,194619,100855,144898,62320,78465,39929,16454,1967,28311,61363,17219,9395,8745,121445,76939,80385,162380,22009,54191,44248,16299,122830,48151,74429,78291,64755,14238,44966,2511,17712,67954,93583,829,105899,49935,84750,11591,33185,85447,42717,27409,208542,28965,62052,52525,5597,25694,65594,16343,63224,276188,12475,9331,127507,38522,57287,24128,133161,79723,105548,133695,48917,27558,43278,46520,13778,141954,110785,83366,17715,46317,105763,66298,147013,41086,94180,16478,220447,44611,730,19722,78975,117889,125643,26254,16574,18480,65006,15806,38549,246418,46052,36056,8440,34984,30170,3163,59800,4458,115442,4283,41970,33507,104078,1653,22,121158,276486,3655,6338,24048,133421,23641,2161,24422,36006,8086,10675,181474,12307,29514,59143,14729,52509,87128,122470,19446,80852,33314,24573,119864,14237,9652,57779,6612,51851,15284,98871,90581,124466,156831,21190,22015,71380,161906,87247,69201,18392,17908,108470,72962,40719,14338,17911,95260,43339,20610,78916,20710,72451,11315,31448,17263,58853,178878,48111,116002,45497,80506,82605,85880,36300,121755,25215,36118,301929,88728,405223,276136,553,34704,212438,49970,78329,922,20711,25036,257130,38295,145369,18128,15385,30829,55656,48345,8012,3561,28004,122041,192900,58338,112508,41085,29976,87040,47117,23905,4336,92061,138880,97407,42083,172121,6256,25192,172671,5,93568,1420,12677,31605,56743,40620,6015,78415,231077,31298,80026,13902,19048,24924,170586,32955,176119,87859,36731,6773,27711,24658,26475,115216,133207,93250,95820,88522,8317,5714,124047,55219,86860,19677,23961,22928,162209,8904,225992,359835,56084,96201,29392,96558,86071,93643,55114,13347,8183,95129,82012,2017,123336,34219,115554,157159,47747,101684,41008,18735,193781,104151,226906,7552,179874,124113,31159,21162,44010,14771,51268,166128,31382,73124,77438,92830,205709,12113,1292,38937,13114,1334,2118,15597,69581,14449,21934,76618,48728,67038,14967,51495,24243,87736,147249,26720,11119,46063,43749,5843,44147,152629,133428,65703,14269,45604,57982,28672,55616,45957,8438,95433,37698,220862,132034,39456,61870,4161,26501,73560,56418,9845,4654,20916,10456,88920,119358,9015,65931,96507,48029,38534,21676,109081,43078,34943,25089,6131,28766,23665,5477,10255,16695,67,45778,42443,42770,29534,23733,100513,62617,42630,48746,14191,43753,50295,26007,8792,57243,43119,54725,164253,58250,112304,131796,25165,4651,3188,24831,47748,3705,19540,13211,102095,5593,18699,23666,32005,117571,33541,60584,74573,86311,99443,25172,27222,168938,7143,11853,53560,18834,19960,86522,28217,53266,117700,72989,34323,18721,66450,34346,74056,47217,202002,46269,9429,68582,75458,37823,82843,96652,32549,145144,27958,19820,158086,31955,201406,135379,31207,192545,12950,51704,9094,248263,76147,64028,110009,79407,89345,99284,223492,47966,26848,15359,201137,2861,110507,71231,72297,31851,118777,71039,151051,240855,16333,50766,14727,7939,4149,80908,418780,88378,59276,1327,7284,38576,79814,65820,42199,84860,49574,62596,12396,70598,40117,8648,7994,16836,7630,14047,359699,106878,525,29037,28064,13380,11675,50669,74216,103539,180314,27449,56299,172344,19274,7301,246099,32043,19422,36506,129317,6806,30140,4614,46639,66926,932,86600,6322,27847,233103,10541,39025,34887,3517,12972,26220,2031,66561,115015,48658,47596,12714,33845,3893,16165,35237,89983,14769,11962,147224,47018,29977,27979,5552,82338,86023,131368,1218,24853,237840,132193,15455,40873,3668,65351,53388,15229,59889,272245,47934,11858,34347,18038,90853,86981,300602,19343,114181,29362,84921,6095,106059,79472,38015,1206,48741,6208,8e4,21916,17423,6002,108083,24479,34931,56661,9511,26995,100694,163853,35997,81254,58321,18919,171890,86877,91341,74503,70477,53412,7027,59281,39892,131302,5864,15947,61301,67466,162369,47956,27874,35624,282324,21270,111847,102548,41482,30955,116737,28264,8592,55458,22301,75090,29821,30697,51709,3041,19208,8038,24634,30467,87509,126428,19389,18814,152686,20701,83474,45832,80891,105808,11378,153223,120770,98186,150633,49838,9141,12755,30962,5260,74490,21256,31678,65062,33326,289838,187831,20595,89768,2805,58535,10844,70085,12090,2451,138068,98544,24461,4511,6754,41684,28203,3383,65355,82833,30161,83924,234361,128424,28921,222594,33975,125491,34069,11508,67464,144226,41850,98703,34371,7901,21254,38398,65651,23549,53883,213340,123269,12028,71764,177701,28758,2623,68395,11549,15232,68603,9660,63116,36079,57093,31198,20475,48467,89984,35619,186847,107469,31389,43631,73867,41949,68841,114250,1605,30564,63403,17588,27680,99533,12641,70325,50428,73426,78379,11855,91651,72081,91720,60198,15743,12065,83398,140046,6761,46598,45900,5068,886,62448,148968,37347,19405,9680,15819,43496,63370,75667,163700,37639,3633,22774,34341,183131,134335,37200,23915,7054,14194,12970,26438,13350,285521,25594,8219,104410,91039,168804,138480,149734,15907,33818,61132,60082,4622,110187,56736,13551,73571,3945,73463,65498,17758,263266,17593,2710,27585,54469,38200,45367,63754,28881,3473,12791,98287,31895,65787,4463,94536,24951,36332,59901,28803,52130,86403,7668,181822,74831,18977,9850,177206,145485,109798,7292,31421,26280,77211,58511,12507,127004,11113,147,8729,56208,43066,79926,129937,31345,83947,39915,46146,98763,42566,1337,13192,18323,105163,80570,117753,16555,72883,11077,159438,40764,70933,83329,26066,12276,72059,21655,173836,126713,69454,153482,91585,70644,102558,110483,6764,127864,190133,3961,101798,20945,71138,82402,90884,69669,44753,923,16939,59700,164258,25969,27082,31399,43846,6306,246093,51342,6153,151581,202801,182731,56475,162188,89426,141356,14355,121815,27536,28023,65257,77523,106668,127314,24947,12790,38796,169698,23555,10725,44573,183083,42088,62716,43265,105958,32050,44067,50118,1668,3874,6243,318411,16599,1691,94999,52378,28671,216728,123258,2059,34969,69225,5913,136280,171443,141515,91662,22175,135282,80020,92270,1663,4808,4482,3495,34691,5226,109830,108512,17342,107488,11606,123190,100247,29666,146527,113014,15794,30894,13224,39585,243192,22351,9903,7836,47699,11078,25468,122291,48821,26780,122679,75521,81450,630,4895,92900,55074,74293,17441,3563,111657,103102,51613,12318,52370,36191,68245,34269,40445,41354,122901,168604,182500,62012,42557,11259,24428,115113,86345,12362,3909,78430,86852,134602,20459,47853,93879,22577,7659,3688,38555,13349,17381,56715,91639,12493,10895,92438,3142,37057,28928,2004,36427,32268,34222,209974,10432,67436,41989,173518,107930,27079,62729,30908,55558,5828,45031,14902,53546,8204,144263,60255,14520,88212,86582,109589,69356,8064,47449,8505,66558,16886,4844,52817,111260,215129,12941,91118,650,20770,6273,73089,40618,62790,2873,35002,14023,97208,19386,102646,36993,143736,135457,35385,113601,17893,32627,84439,100619,56016,6581,57264,172160,45452,111710,203627,70131,24100,322787,1996,35665,70078,22358,90922,83658,4097,63200,58499,14542,99153,52159,6615,12414,63415,31986,16823,1579,65405,137809,8841,16898,48082,259,33014,42375,12260,179850,73667,91389,98882,29532,17311,326251,41092,5928,20742,44964,48019,43505,9317,49265,6643,192712,48424,163487,19861,20113,70848,31928,105333,23685,78563,14638,54755,7158,24142,44018,20774,125255,20331,24280,10163,1285,2336,39851,4299,117269,46714,63816,87779,159624,11731,9971,990,137317,108831,50994,74554,162680,23640,131597,146962,170620,34829,91205,21184,1913,63616,18427,93136,156592,17519,67565,115882,138220,78622,88535,18115,2711,33554,109492,54298,971,24914,25863,36363,45715,27099,194995,14299,178181,111488,72395,322385,157719,130787,11897,81843,83999,11369,49280,118604,40922,61332,110343,53407,75639,40582,300440,54722,25637,13694,48248,48278,194521,56203,52779,48783,72627,10953,376,16733,280238,26351,230789,15132,25168,137270,3588,63704,73376,94031,74284,19443,159557,9697,39901,13351,119050,15406,146455,3460,29556,75195,37673,102524,92329,47289,98413,15311,100684,56345,7116,95480,11590,7200,167,23610,58426,17730,136656,27944,53151,2701,8824,103124,3017,90744,113588,53216,79736,65940,26931,498,29568,80540,143543,21292,1740,59268,16561,180816,42323,50174,40890,52866,10703,57169,4700,17191,4424,93511,49698,166650,26972,48631,165169,82879,69326,202970,4007,2376,231325,139592,22119,62851,37504,68816,58345,67398,186643,43331,277416,53749,15746,23102,17432,4793,151138,48822,54265,48203,198688,14305,54287,2291,18018,113378,123260,7180,97549,87027,120085,2920,76080,8190,102005,5641,64580,14955,59802,54028,58884,19367,81779,412567,85957,97053,103637,78871,29364,27637,141728,4767,30686,112738,130146,42745,12730,105040,14844,232,210944,36581,152317,135543,29744,3129,55647,58149,46319,27265,17499,28005,59948,7170,34138,5702,293047,110892,408,91760,218674,18469,46095,81403,14389,4610,35672,73060,11006,74848,104820,118143,190357,20043,105358,141735,5115,27093,45924,123073,52599,29433,9616,238350,78610,24851,58858,26769,31969,24613,18294,4982,32735,39639,143563,112073,202205,12567,4873,88601,44897,81503,101648,81362,34662,85277,17574,48173,21435,221188,40215,39576,80786,26544,64668,81841,10731,37733,247986,149188,127703,495,18382,54388,72446,43071,30974,198723,89608,41360,190,33045,8386,31658,19992,237838,119015,137622,50890,100913,6460,116233,267230,26621,104129,65114,14190,41542,14888,85962,23342,23041,26453,43725,71809,45186,4770,46452,53894,56616,221286,18973,9038,109299,55365,19366,26863,18808,60909,69353,41738,83463,12100,68561,72860,3980,13796,49340,12332,31311,27418,4255,53430,18976,45523,510,14224,30477,26581,4530,3651,101663,139840,22709,150861,31996,63923,120623,262522,3076,10528,2929,14672,130238,18087,9816,121894,100308,25085,55111,14565,18952,53293,2042,369988,23674,61789,133529,28783,108293,35477,47119,36448,71049,40015,33055,78598,198442,1833,159937,40654,77444,189245,113153,8621,18599,38553,35223,166072,2375,11659,21786,89523,6032,12116,63046,159398,18454,3678,32521,47626,11411,103527,38896,42946,15696,26370,10185,8413,37080,165583,4331,63555,14907,72220,50056,6623,62236,36565,49783,10049,17503,100581,55951,146244,24724,9626,17969,25524,109300,173965,99994,101056,46459,43647,53737,277968,8347,123521,74858,33829,44762,77574,877,81377,222525,123532,30602,43881,53145,2973,16284,81940,61281,127044,63620,9875,14756,114829,19032,9202,52759,119141,23928,120551,19607,3599,33401,76821,73233,117430,39968,36539,7071,5446,121735,194059,15206,45283,6706,15603,65615,1207,165723,92275,34773,104447,8396,32353,205240,164323,13600,60555,79205,25532,22907,33410,57480,107111,69630,32137,47832,70913,33161,20321,2371,117348,10714,86246,1625,11763,17900,268,78457,99175,97940,101092,86660,32221,14041,128504,125080,53744,124263,31017,13897,403,31859,21964,5633,111630,5547,77329,17961,18241,84995,25984,12983,67491,62168,47262,5241,297,51191,7351,8967,147212,82060,16821,782,11033,82431,62957,5026,43459,77963,203477,53528,6247,191852,87774,74164,215654,13467,1522,219964,28589,244104,16242,117821,67725,72570,156792,17186,15979,26990,44128,193014,35276,57125,16212,166451,68017,6905,77608,16364,53777,75921,76426,37975,26203,269296,64099,84122,12077,38533,830,4407,20139,963,43028,38902,42911,37503,83343,85045,16979,1165,60835,137387,58380,86990,110066,134540,56331,193845,81238,17922,163093,38744,110641,12502,56404,34862,26865,125964,12965,111648,25547,7771,27196,136980,9555,29551,107158,57885,18831,37705,35505,101742,13970,102109,62548,124657,23328,11124,89592,146376,248050,6241,22033,18337,80685,29898,11908,216623,67721,106162,146610,21377,15085,91552,42041,62560,122532,125336,102365,121537,142559,29693,223919,11515,110495,18776,22494,5895,185059,103592,229351,51220,100102,37027,257855,29359,54123,36066,106493,12244,79258,32002,432,56205,94836,90182,6726,14762,29391,48938,26864,38083,60364,3310,60192,14766,205567,57504,110760,22649,24666,46333,21517,3430,13135,28873,27052,158809,11597,20529,6695,23138,22960,37137,45574,6545,305877,43423,26153,24769,59844,14501,10430,134352,56169,13213,103432,49523,35181,13435,12408,129475,64620,230854,77390,51990,15653,83248,33466,44571,117828,51481,2187,10559,68019,18021,54895,48247,18354,33737,4554,108595,37288,39767,116707,9175,3726,108877,21616,83684,49862,1938,8543,276466,20134,108498,48770,102254,31914,131520,185291,100559,51890,209,19526,76471,50544,71814,99351,8172,198526,28816,20419,9109,98389,136777,76479,75596,30635,165417,48216,120220,25955,211071,39314,24308,32164,2559,146280,43403,9233,17947,90585,1786,86920,125662,2457,64741,32152,32918,122882,78538,44001,31723,56426,23375,103172,88177,145697,52506,49319,68016,31664,41488,18486,110400,7030,28241,986,109199,19900,42147,56864,65287,49183,7858,24e3,30453,840,16673,25907,68916,89927,6309,158335,36407,199737,130464,13137,59603,201778,195292,21015,42466,179062,172561,89492,11075,180407,31868,72493,20998,60217,9865,19530,39274,130266,54539,21623,12535,13505,40641,73375,4087,85633,2153,3117,70680,55788,92096,47509,98493,37490,271936,151475,3032,16171,96642,34106,78425,125761,19591,3366,19316,54508,24183,50786,194248,91528,33253,34622,108355,41741,705,3814,3883,108929,13203,67831,10142,59754,68208,29128,84820,56880,38794,24972,48571,40821,40476,18137,164254,24064,236309,79181,11282,395,39169,2013,51587,28551,9645,701,109513,115899,113566,12762,62045,58322,103726,41343,40866,244102,143816,2490,70346,40973,52618,15412,30720,104315,38917,42027,93676,17513,107418,20706,123890,13399,97727,24044,87962,65606,44250,98044,65276,74790,101473,19350,91570,1326,87790,172042,7577,100813,86896,85891,41512,108130,27794,14875,71431,12835,156250,58135,3759,22476,42176,115873,34686,56523,73643,108505,51491,20838,12721,32863,45700,29496,13700,34294,55360,29206,155942,123812,7706,163234,203,132720,49358,144431,8130,175788,35818,3270,76832,25710,54095,97274,28779,94621,74396,19092,128242,58067,20885,14670,93255,15107,63291,23654,126900,129421,59294,262659,9798,3251,67344,28600,44629,50672,29072,26999,31526,23183,49175,165843,175455,17282,175411,32022,45989,30298,90690,78118,83156,23749,35636,31317,7069,80381,94561,133756,14960,97404,6138,41065,78041,32843,16601,34123,9559,146529,123377,96395,54441,42012,84257,123541,10745,22139,106459,11720,150883,172651,154996,110538,4728,53447,25704,2009,71152,119354,21166,66604,1429,216162,8637,122250,63520,27180,29172,36124,276428,107787,77184,4680,14952,104903,24418,14793,51561,52931,8371,26342,48526,7118,92066,67280,40653,8847,34597,105438,14198,50163,61188,146286,50315,41205,170829,161496,585,197359,95056,1687,365794,91349,48507,5804,49263,5146,104902,96365,117343,132222,46084,96919,16875,8073,262381,79982,52663,13928,16056,153908,15145,109256,132308,18763,24904,167644,13618,40750,18686,147124,114709,150038,52849,2938,12568,48617,8778,5459,44202,44591,74914,17183,248689,13878,7822,80060,23116,194037,18487,2067,7798,43077,33678,244028,31320,74273,2794,19466,8218,36280,183997,48124,19416,29656,19280,98734,7715,18311,30701,133602,150307,126956,7378,2933,79903,13178,12593,86571,26604,92446,13574,44205,65699,427599,21118,8245,14407,27877,47936,33542,7916,26460,117762,21596,37818,2249,127359,209394,60044,47677,308089,36791,154971,31417,6998,150042,174360,12255,43009,29335,48739,3912,101398,53340,2580,146939,151295,45360,125275,15273,45383,27456,48761,23314,8750,60801,85823,104759,27894,123685,66968,39480,26917,55290,83305,2696,98390,57569,145853,340733,4919,20024,52268,30884,7413,203685,70989,112855,4129,50536,349518,68205,332641,159581,135361,236026,37563,176404,64899,6578,122033,63871,1850,85234,82089,66124,74145,121098,107351,12687,36881,117334,13136,14698,85933,93866,18047,32620,310,15094,46e3,88451,23632,36645,27940,87618,80520,58892,20976,27702,140090,96075,67841,103292,238964,87778,107338,17019,83427,67522,7302,8261,47570,116787,8730,80484,61772,174422,56005,131193,52875,14588,28471,59817,9586,15720,158155,51307,109734,15196,11025,59331,3884,52626,102602,84797,25158,27314,4437,20488,76214,189248,35023,114952,157376,2827,62439,102878,129749,36405,10329,109339,108633,36662,1254,13267,5470,87105,58004,15397,10434,159667,21864,52022,179464,3013,32147,31496,116832,18494,105502,129227,107267,50033,13481,9954,24267,22141,16257,116154,36185,950,115685,11305,176708,2048,178671,112573,287867,162328,497663,95170,50979,193861,50987,30368,136257,31830,46549,15119,169876,23788,17462,249887,57377,1949,35448,14791,43769,210091,3783,34612,282103,88380,245190,5457,20491,98908,11402,86899,117916,16028,162584,60644,320177,156096,31065,55876,22e3,77655,9992,23397,13757,317623,63978,215255,2443,17648,93231,27388,104529,93807,55505,140477,12046,112040,70887,40152,94365,112353,25063,114679,266061,71248,119555,15589,2244,617,14129,211431,70110,100652,7777,4383,85911,89221,21010,120615,58357,86405,37554,41647,18,15143,69662,60491,14714,186134,148344,42347,5410,168175,44535,42449,343894,129417,99682,20659,27272,140483,63455,222159,17536,13722,42637,62324,11976,114691,148109,2283,32057,182393,4295,147364,33705,2075,44303,30274,28331,63740,69740,29148,10346,44862,33716,73937,153333,12930,38784,247159,2515,41053,20256,83368,256189,54639,115240,5096,24661,175419,153552,26516,141,138176,63885,34115,47222,55709,2765,28479,38875,236608,12229,22921,77291,54426,45388,2860,57787,114579,295139,105782,17826,71066,19119,54364,69385,16568,12323,28057,33346,34919,124763,155533,101386,31644,8627,49001,303600,29868,63213,9103,77280,71333,9696,138789,37059,24823,5057,21352,32368,114208,56803,19424,10445,58514,8661,209508,26187,171838,10460,63454,14016,122504,41328,21329,46618,32493,38225,7855,31763,7945,29876,8734,6438,24205,97490,139977,130740,47323,33195,85390,57194,13813,60600,21313,96251,7699,27584,170521,139271,1363,4402,336738,129223,84983,69150,13147,3590,163929,207225,155260,55916,20288,4503,8398,98490,11773,27512,37113,84976,86558,28365,11756,116005,182148,13733,115313,47644,67208,85069,9347,14995,226141,14704,101835,41159,35314,13113,63526,214039,29978,50446,83339,17440,129441,72522,118641,97816,24907,73844,15717,118884,167255,96509,162793,30847,36849,51297,78974,77793,10427,1873,2972,9999,35074,28190,64297,146836,46298,60038,163007,108919,61219,2403,75022,127339,4233,110389,69022,9833,128097,88016,79390,222936,22570,94657,28462,56956,38803,81536,30474,152794,19566,16481,147408,74574,81895,20731,1918,1366,76367,187321,54494,24366,21690,61696,33283,107477,77499,31112,414383,74362,18463,218441,120929,59848,258629,201924,69269,454,19989,13054,59894,3623,58908,20681,35723,78523,102680,38988,184112,108087,50944,132704,52966,21699,18860,96349,201411,82697,85395,95658,5093,6427,177894,44191,32755,26961,155739,6249,31310,81030,26574,84311,120155,86730,113535,7424,48888,13516,45747,98098,20077,183995,81945,43210,26704,40420,75831,45648,11180,6855,57927,65528,124096,34851,2598,156633,107572,127352,38169,123845,60142,62722,105584,232364,23211,68120,1601,22169,89299,747,258039,80572,7258,152249,11862,101204,8834,121434,33761,19175,133142,46343,40178,48723,3589,41977,30210,38868,62257,10087,82658,87827,90646,16415,47552,351723,28298,72225,91146,272760,1701,11295,1652,109651,300747,51863,198800,29446,11794,32345,37538,22356,33102,37590,113544,37970,11478,179743,25454,103417,59905,221970,105196,145604,7817,164809,102360,16974,75840,255333,56902,6659,1954,645,59400,67769,7689,18675,5215,13793,20536,27852,3387,29523,259718,16860,94625,43143,29245,15848,233581,22685,63631,78557,22836,133302,84513,1348,51826,47129,98836,58284,1830,1749,94642,10933,6145,12506,10975,13879,103781,144434,10268,28409,32346,52968,121567,107374,77268,23686,35097,10501,155275,15303,47136,21102,168741,55332,90385,15996,84817,681,137803,25054,142275,6163,38175,8056,124296,240642,65621,4934,178205,16101,62803,60964,18230,100622,76465,44689,14545,9543,47514,16852,93380,28048,12047,107106,37575,101485,77047,57326,34819,96137,76916,6469,46264,115983,75768,87668,69942,13027,165,8373,114231,26434,52844,42799,182044,23580,146254,38081,43236,33883,146220,382894,14606,46035,36481,166621,35417,95382,2957,59384,60428,36358,66343,75378,22267,22950,83528,17577,56474,25285,4619,179691,75355,95836,53295,34588,171410,4487,14679,84208,44015,18562,109133,54101,11531,86052,174479,303157,28095,9953,35642,14564,39802,16145,77606,117406,53038,121117,53624,22062,1212,7632,127157,237292,189087,10478,127345,102515,181997,86752,87623,10966,121602,68783,68681,83042,114380,138349,191305,67176,50085,39016,1427,42384,1412,67118,122616,72389,25260,2237,13576,137346,19938,20304,2191,68759,5373,61364,238507,75814,23931,69565,38993,131741,38364,12528,87762,5679,129853,5310,186831,32653,90338,260176,389531,108118,26843,43985,50175,30563,25106,56965,18130,140428,4542,165503,117991,24219,229605,1819,129663,1240,3797,76093,18398,71339,51919,93043,27175,47060,216257,6483,35051,1217,16512,80798,129064,13225,69339,8548,237079,72298,2575,34280,51379,117910,55671,53345,247552,29486,39328,140821,34681,57045,60177,5004,90269,78522,2479,322607,48474,61296,13057,31558,4678,59271,6699,27044,31988,35944,12503,83480,4389,136508,3781,114121,70279,4488,155829,42214,2898,68191,75695,305850,45041,74344,106509,30087,17429,93292,12477,290,23080,114802,35714,18751,26554,105424,17775,2144,2412,100610,65192,113975,52975,180272,135050,129815,76238,106483,21440,63186,4260,46189,9711,28249,4169,23429,23390,8324,141585,63809,67668,38457,38063,39226,59972,1189,203916,62368,14403,16949,61767,85801,1739,40147,35049,76757,33124,62102,15780,103593,103009,53484,22952,67973,114645,6566,5245,50462,7601,8288,3513,194571,80276,1908,54592,5124,58571,2513,6800,273997,193904,1119,17991,117245,2508,129156,82366,26278,71465,63341,56943,39662,106116,94966,156875,9736,2204,122308,94418,27134,1280,24539,49022,45314,3764,50904,46424,30699,28087,293839,9400,33646,40165,822,147499,50263,116179,29085,11863,31314,5578,17797,5104,12454,1604,15342,219206,10232,67800,94261,25872,13565,90339,78971,75377,26649,41184,47695,11514,35369,20767,14227,41953,309396,148270,147938,33074,14453,27499,109019,39018,25738,240196,158931,52820,8612,95853,21524,137010,84901,70869,70021,116794,48404,38771,6732,1070,70990,187297,49140,5238,576,3564,253975,16027,16483,2811,37775,19034,25259,4053,2e3,70083,95774,19713,33431,92703,91314,42381,288770,48194,95985,3991,77418,13406,241328,245086,56533,35275,62725,9246,51924,70181,95331,16163,31410,79016,39312,120878,119371,275987,80124,27712,9186,220,23598,146167,85209,68238,282190,57048,31273,30555,80913,17594,75779,59160,135002,101219,189377,29225,96735,60126,62522,104e3,27620,86814,17240,147533,11001,5425,43682,410,49460,87270,69480,46315,59448,1816,76201,9431,11788,87960,29063,65539,47347,11678,33846,7008,196704,9895,6753,8633,120892,59970,572824,115934,6646,202559,892,48351,37611,251282,57823,67263,57750,26527,34485,90747,7685,88370,6144,64182,1709,41969,21458,62327,181657,49247,225330,122600,114574,107124,85361,111833,63243,71420,15655,191178,72430,18063,51425,54002,12364,53225,86557,18193,97580,41232,138398,67821,128724,8944,233212,101353,52099,42127,14006,120107,32789,32132,3498,18123,33758,56058,5779,128760,59888,98869,18445,84702,51911,13234,218379,20093,39031,8074,70195,20708,23462,24355,131384,60189,26390,10403,41060,7140,10781,49410,42261,87202,82566,41663,43105,60276,2768,5733,74176,28329,2297,145430,131632,83615,122915,105441,655,224102,5284,136426,67763,16294,188511,32538,61049,27893,3394,13951,159099,28542,17930,145360,9492,190122,32285,78855,26440,13570,58648,73908,4239,124561,2444,74172,53131,11468,10794,73566,11623,35343,64710,30481,4163,10328,38309,29901,10538,154377,76132,92405,24839,11679,3465,13449,11637,7824,2337,57754,1260,14458,41118,19878,38661,13416,159180,37074,163164,54137,28627,52134,184900,8520,40385,29546,30502,22386,66527,107458,6850,24022,47983,30603,35083,8934,304066,39500,9,28261,33026,77251,9374,44833,116312,34990,29236,63563,125639,135405,165398,159055,55690,88141,69643,236964,31983,25572,20436,36746,60896,31850,16179,11828,5888,3043,66368,9750,31167,7915,53111,36430,1333,64344,93659,20061,60596,180191,51630,6792,30244,43509,101058,22409,420,44210,109783,43223,27030,72477,72831,32679,29235,7675,47556,12258,39907,149412,84926,118247,24692,71717,105038,86009,45941,41189,89453,29856,52543,30627,226798,67303,59230,67415,34408,1367,99685,16867,128419,52147,4111,125381,117881,16173,44093,102224,31575,23234,24870,83790,127407,239098,3200,994,1255,100903,242275,117266,55116,38205,16140,29662,11307,40414,208793,123355,56470,4862,75600,30119,58218,70828,24075,26974,7802,192353,4851,5475,78720,66596,3409,28573,64396,30381,30690,59859,88256,5406,99945,103064,34463,37727,24238,86643,60088,4057,23741,5967,162904,38240,28356,93858,25510,122879,6897,3278,7057,11971,4400,35461,211413,21395,59615,39471,87233,55795,128426,3051,22470,41950,14705,3974,180108,80476,78442,204996,91987,15634,67610,139015,142373,35611,51134,10387,4353,153456,57749,181039,14183,68447,151532,21107,36452,20551,3186,46247,46383,129666,88736,140662,146243,2066,8360,7978,64818,106963,17896,47801,10723,114821,223295,74192,3293,3393,16987,74064,11277,91622,4270,29828,27951,387869,103235,1374,61988,120083,477,145892,128378,11779,211263,61354,18221,17869,46530,83061,108538,157981,90608,67199,95080,49064,195814,12302,66307,10348,231346,160732,112859,63633,146558,21271,31037,198802,47622,12862,95710,3910,77850,73961,85585,34752,61e3,4082,24595,103679,71107,8208,79568,150019,16615,24961,139857,32664,197366,4559,54735,32696,4126,162019,75698,13916,70108,159638,19834,9349,24675,175560,49643,18206,52459,27992,10809,88865,401975,133172,29e3,34558,30915,3658,25834,42430,36562,125265,18182,10155,40149,97082,208980,19575,60853,90529,66545,9600,789,46420,2317,88593,55595,98980,115302,5742,169155,1073,177901,3472,11189,63711,78643,65472,50459,127979,93,42202,67053,21720,157650,11145,141378,42033,22824,85705,79114,35584,15974,1510,54172,28562,12451,104226,19190,97151,73024,20948,5151,81741,21499,29006,84183,198074,54003,45120,170125,26240,35177,28389,64863,79974,60778,176915,232183,45342,2038,80253,41564,40703,32689,5430,100689,5366,23007,134279,14266,26712,73993,24934,64242,52113,102887,61801,46415,201049,54251,62133,122757,164883,30815,139966,2319,30842,766,13362,10287,134518,86111,81665,82440,28333,43019,18963,8804,161944,23439,102144,101145,80029,39052,248708,30350,117340,11878,128467,974,138625,63961,5237,74778,61834,67040,43814,13690,65947,33809,232476,115258,181745,28824,94013,9510,10246,93722,81976,7217,114383,3493,16014,69045,72692,12145,80981,9507,6692,1620,60820,330444,35474,33962,4797,7053,295463,46445,27026,12491,77988,49524,35675,90947,29114,166705,101385,133782,32704,6186,84595,176031,185623,45966,151302,63069,1699,107491,947,15458,74452,196212,6046,10498,12163,10239,35191,243951,9277,9090,29539,54460,22820,26514,112549,60372,51753,48756,21812,70861,260326,41,44222,10441,16961,48148,138771,216194,5914,52153,53400,212036,56519,26245,10117,45888,15294,138019,90913,26368,43842,42111,23348,6082,194845,161089,156206,51546,11647,30759,302912,262094,8635,78876,26535,35283,54183,31183,85484,147873,12989,5197,6356,72894,65347,20150,27370,73787,1493,45918,12366,190217,20724,13858,10981,67449,81213,7553,14115,72242,271517,11842,48310,88743,143726,22177,3290,243231,58452,62937,12592,1654,40066,33477,13751,9921,128442,15868,7106,75236,83773,10775,36938,10482,170465,17368,17469,161508,32752,98340,800,19824,264456,3901,87319,2867,26782,9630,113102,185815,24197,44584,86366,40224,3636,140916,31731,267731,9567,53678,72984,29389,27963,17106,50282,284911,60170,8322,12608,23374,89652,5268,39044,229766,8869,151350,31436,177342,12269,183212,120418,116270,2843,78888,69192,7865,184099,1086,129897,18383,70508,20242,18508,229924,124569,35749,50589,55626,9884,83115,40971,30671,18135,14452,38861,17844,201826,5549,26413,17189,13561,38539,10679,143331,3314,36785,171194,49685,187713,67506,4618,104039,17060,195080,50648,33159,19238,67559,134840,28599,157523,17130,38064,117398,94355,31918,13575,34538,40326,13997,3494,348283,62481,26862,3603,104426,244363,153709,112487,304612,199674,41239,35545,54869,293005,28223,26277,26899,4533,18518,15492,38587,80488,70485,160395,263,60162,11382,222152,4696,250751,51921,182609,10707,48463,46243,1227,49111,111564,46502,33342,56846,68541,63559,858,139927,16654,229375,76759,26478,33205,95828,23399,92945,2637,35630,28470,143992,50214,14174,21456,166191,65665,1711,21594,78019,97599,111701,36,147151,110246,189022,43021,30397,40757,131935,42065,73335,48039,26596,28984,15102,2361,7421,202167,69744,43766,52826,3642,83304,33873,75140,63169,192389,36551,92748,13039,123959,233220,21738,84447,77230,20228,187852,19095,25799,92136,108774,29237,53947,2299,118106,2687,8830,42331,202924,33667,2023,73763,30704,19363,19779,16737,35629,48081,24068,101013,162338,291912,13749,24745,328289,167679,70086,48299,23306,16732,17801,43322,54589,3586,63653,43624,53474,925,109177,251316,43805,13082,19511,86565,142182,92461,17117,101033,103319,64589,4022,4351,235897,5352,82705,107142,46391,156084,5860,61365,10558,13045,7717,18357,33922,12590,33065,6928,46993,783,46937,67846,8952,26295,6107,119656,18799,17458,50747,4229,179559,112727,118080,20683,41464,125468,51560,49749,44231,7359,35339,62988,136487,67015,5208,29150,24956,105186,48858,6143,18097,6972,16404,73489,58742,97196,36357,164616,5834,32267,13746,147733,15113,132091,34127,106298,39729,106426,22294,9780,15602,36213,71502,42808,66802,599,60755,5851,39120,67363,108623,126368,72770,91263,32486,30596,151717,7951,52002,43103,11768,68942,40901,39344,24037,127500,116890,48403,16926,86750,17745,48648,159545,34460,58419,5634,114317,67865,31462,23352,24010,98185,125708,69686,68337,13610,26271,70691,2980,4768,27225,102402,75453,28106,8104,6931,1176,6274,6475,112635,22498,6176,238686,26832,28893,90319,14441,15682,15087,39517,45270,109134,104440,45965,47645,81772,7876,52683,87720,12898,4505,185665,2769,113401,15664,57592,105229,137381,97059,119268,6876,43309,33886,128363,35476,144249,67013,143587,83367,25703,91436,59347,53236,2289,16519,19844,46309,58558,99834,23313,218816,231303,36388,51333,183535,109792,139277,54306,90139,18235,8275,32710,37677,82464,86025,92204,88842,117723,37570,128723,234242,76350,73795,34896,148247,58424,11105,11744,45746,63372,17118,49772,199520,81902,38004,22911,33752,3125,1995,53792,4689,26909,108150,146062,69674,41811,161444,84855,8999,28561,16731,93937,3189,21967,24890,22943,1356,145300,51569,28802,517,118679,31703,40607,48098,108854,25003,10233,73969,177495,5248,24516,215347,146192,48712,60626,69188,40735,5866,586,101541,6509,47590,52129,5969,222045,110933,25733,24223,65339,62812,2414,155418,35819,16022,78423,43138,20995,128255,240673,46745,236093,72176,57085,97841,61248,107,36068,193177,105427,55726,215229,20446,47228,100420,87091,14429,121708,23605,21157,187721,21880,2997,203976,99166,95068,25877,7724,98925,83401,4829,13182,18229,13718,239662,38653,116505,153497,30589,89029,38962,181302,43853,78872,180301,4786,248240,7401,106136,112590,77745,19731,60880,77789,125748,135487,5975,48627,34084,12419,215770,47557,254582,10364,106495,21856,67539,88981,38805,21428,48732,42316,12149,16078,52808,25327,51322,33850,51147,12253,122354,46077,56483,254553,115417,81834,150991,94662,86668,7381,12841,100650,18218,15741,22372,68294,50705,15535,84660,61887,22553,72299,31361,24824,17743,46820,64288,31582,77006,111674,116384,30760,80920,86149,77192,51979,79691,60342,122805,103800,240873,160744,233114,78962,54920,8608,3484,316104,72548,24337,5088,230040,21926,10172,36838,26,86221,83458,102176,12062,17571,41929,41170,28428,68239,41750,103930,2634,18313,53019,34825,97837,63115,24606,73157,152474,14715,91439,37033,109806,140259,30668,174760,380,135597,95673,136073,65073,134249,13829,17279,122305,4420,46444,10237,64848,203623,70728,10349,182885,65075,24519,25783,40318,34139,22222,63394,55266,102764,41422,20126,65100,90408,53640,35128,48932,11192,38935,96839,34782,39492,19396,41332,6250,5511,19492,51304,25936,104466,54099,73771,86115,5080,7669,30891,111700,13931,25276,72289,135447,14820,258641,25265,31005,281179,75286,393,95359,14623,13584,6680,101227,80173,44933,76666,54542,13244,39348,458,25379,109451,134348,81143,6959,65554,12027,51311,8716,57589,140731,28467,23316,17272,30458,25980,55229,77197,83798,28302,114784,7428,34548,26241,14712,39336,103304,18928,54080,12870,334,87722,15208,16895,142098,114262,39820,83913,57817,28682,7721,14900,108672,11250,62246,42849,415188,1724,26555,24549,25505,26443,107450,145899,61035,43528,6901,60726,65906,267741,21338,147590,42079,18924,73017,135236,15393,5206,4026,84185,1531,5988,113890,82647,303391,7386,69844,71611,189865,76523,31877,13315,19314,198575,32821,1928,67641,25913,104475,103489,3297,70391,18406,15446,113347,19295,93790,27856,1792,167471,116449,8541,4408,41757,63233,25765,86680,64501,27034,24816,34975,6079,4486,49693,36229,16917,21581,62426,27862,11612,54284,35702,194034,355,24277,48262,87411,70504,310164,118018,12516,47559,43502,57433,107139,9290,66533,80863,14634,34312,91725,28606,21342,67241,72355,43244,375789,37402,174015,105070,8342,44167,67494,1890,16365,11723,271002,1865,47918,8350,45564,27742,25110,125803,8553,49504,81925,62211,4534,15491,19011,80373,206920,667,102405,128623,245524,5553,113309,192739,65766,19567,22832,261958,29679,21293,71134,20962,105123,24721,860,21752,33448,18372,157167,94822,35770,173224,232737,75729,28937,46828,28062,25453,5207,140366,36665,30652,6169,67920,150458,92040,23186,184604,92330,20891,176492,49427,27828,38305,42495,143982,49560,25503,90043,29747,65328,47830,12932,11068,77721,9003,25213,94205,140426,46090,89945,138173,192691,33329,112232,129905,35709,27514,1841,19957,31411,127476,53572,17497,173549,55063,175135,19841,69314,5192,237921,117660,150697,4060,273045,50414,98940,65348,153665,164423,58804,156695,48994,213928,86036,28608,8355,39574,34540,16927,135680,18374,151587,10830,53805,16878,16623,4282,48030,8537,14986,46102,13062,72897,72,33050,108227,39451,45935,651,113320,40535,95176,57450,48843,5003,19019,10407,211163,3848,1068,4988,32091,30095,41692,15099,43602,107434,50744,7627,171349,16313,150832,352665,207750,33937,38256,51091,156e3,87889,90663,84175,24908,114900,50365,31494,83829,5398,169342,47521,54818,18935,8356,43094,41212,174536,10082,92550,6678,60614,23355,69721,14796,34149,128830,58187,3179,208,40325,28399,225029,401412,51150,31580,207268,6657,10993,69818,64282,289845,23308,12961,38447,6681,52944,31855,2572,47646,120728,179148,37240,45196,218274,4816,3695,21961,50084,35209,18073,51452,27004,6100,33941,1377,84831,171214,85,141510,9078,99227,32610,6417,11718,49868,65579,87902,73018,49062,46280,61742,21512,40862,107733,15941,29168,157765,144919,14487,5767,158014,140070,7241,573,71584,16921,223566,40331,179473,35081,47926,140885,41508,52104,59180,42310,32811,29048,123517,102413,80208,10104,14746,12649,153641,126022,37965,113017,4171,83,142592,2809,6362,50416,71323,116894,260776,16204,1524,5760,30351,12658,20703,54403,36083,45408,74772,4946,14485,50759,111222,10890,2195,167147,92962,130534,16283,177256,35016,15472,210156,151187,73922,117691,43250,52051,37392,24811,24358,30830,5775,818,21969,1476,127322,151783,58392,31021,106913,65215,89407,90802,28531,11690,20234,95249,44602,37256,18707,11928,5161,4410,26571,51903,49768,22008,25252,65780,209499,68769,203726,13249,137363,48845,86823,6658,5674,31881,1083,1823,108676,34518,166752,13791,14287,91576,91429,8665,11529,26401,16191,91972,30964,5254,28486,54697,79613,66520,18447,22870,45203,194466,22822,51703,12278,76716,44595,73455,33546,12235,144843,36154,51247,11116,33040,3180,225753,60864,1972,28469,12891,28879,10338,144157,56294,353058,38302,41447,87532,110616,27065,168438,6557,1213,50804,144643,24817,2390,136531,38174,247513,16190,4059,122791,131994,137430,39506,57650,16305,5188,54309,106128,20628,88071,67394,395446,250285,66176,91254,1399,114196,43915,60230,44853,27206,106353,43013,18733,345105,226453,51202,16607,57106,117175,35492,10476,89598,127439,15187,39624,13688,61570,10615,31111,59370,6238,175252,32143,224492,41388,95408,34384,148238,78307,38959,9340,160091,61443,15737,11216,41244,170,38299,102443,113097,26382,14027,33707,3957,76300,66160,19431,18900,6952,1717,108656,82206,188021,257335,27295,43999,41210,31777,46956,57457,12657,11489,15697,48060,204748,53583,82422,284790,30503,137341,8120,19615,220311,15991,10217,63424,9808,67431,70976,98221,4491,15177,28535,144789,751,13230,2394,1504,33977,132104,30316,22230,931,97193,185240,24826,22687,174322,15307,22988,1390,188745,180325,29580,59068,74903,18994,29195,79,15436,7622,38462,11566,138710,44828,45774,37768,99236,68137,84083,19282,22698,17134,74807,126662,173497,46248,16938,119735,3212,28292,213652,49013,9975,32180,45660,86250,4801,68788,95490,77482,113751,11994,44624,94452,46839,128497,100316,5798,58588,73184,202987,65417,37790,88524,1606,43156,97964,105717,34947,11203,100060,37742,130074,93653,107799,94311,196106,41347,8035,10780,16390,27883,118236,167395,1979,25006,19375,31628,18916,144723,78502,114047,103107,86492,107686,5844,20934,206963,23556,22591,16562,146333,20167,10471,117434,33085,2863,9740,36669,41849,37271,22790,18209,28979,8231,12952,54408,21731,25130,45208,55748,138120,75826,414,29593,9925,292865,25999,683,123149,7036,92159,86055,61827,103680,23176,54918,58466,57578,13305,5709,86479,16697,31064,17660,200919,10770,49793,33423,32370,52047,16488,62555,6459,8426,83493,7763,59725,82812,18628,67760,79405,68557,9612,7673,28102,56517,69620,171797,32458,29541,15870,81109,32080,207644,71495,21202,11039,91036,61230,2810,130800,32260,4613,60590,37112,75214,33979,126402,155062,30642,63875,12810,194463,82799,47664,16725,36685,43367,61099,449,172150,102867,21691,301838,36745,7130,18671,57316,34852,38034,54182,35578,65900,99486,19771,3456,2658,16914,99866,28390,28109,8262,21147,34353,20006,4228,137085,1675,203023,283196,198286,214375,163329,290603,152574,40471,83506,30068,14730,23177,131539,34759,27668,32178,71896,104799,116305,85430,119262,42860,25160,8911,23428,49437,105322,6519,16203,6349,74711,1230,38045,8540,75165,44736,25909,51026,317034,4984,32281,91312,27060,44431,17817,45363,155937,239085,35697,59784,91993,29531,126740,213757,76560,167776,285273,24262,8237,65030,41160,74437,48804,118916,13159,37842,1031,75349,1478,11655,108777,23435,277425,101734,67469,70231,124711,43532,28514,65526,54956,1e3,21882,17728,25302,40952,52214,149632,1999,2111,3259,63362,89961,220561,39777,26335,9063,10572,12416,34551,34623,38604,24723,5947,15588,69927,66252,119177,69173,46629,28714,70715,212408,20521,406913,74380,11716,50659,50862,37009,88460,130101,7210,53853,538,65120,151950,55806,163748,52837,13153,21100,16674,64536,6091,138201,44837,58547,3723,163,2177,32288,85454,34033,8497,14282,25742,10535,10741,79559,117493,243787,49337,100718,79495,40139,42956,7551,55433,15421,31509,23034,45081,547,61176,53434,328001,8470,36263,30145,4519,74173,53935,11845,73774,60211,78025,3,4102,73782,109293,315332,48412,26683,13714,6865,20128,18490,104141,325,39470,171970,115860,15707,7268,73301,74336,31370,2368,111827,107757,136231,142844,97138,96638,84053,38691,23801,1588,10573,122098,77039,240,186135,146101,11996,18143,112963,46171,155836,348769,47795,121213,116266,132515,3344,144804,31286,99187,255838,129694,35894,48779,55235,148582,71967,65282,15174,13920,47080,6147,108242,157593,125025,7136,1286,28957,127956,28402,98813,20805,7532,109417,40610,5041,32958,15142,18408,108596,33543,50517,27748,80114,233434,91447,487,37094,100048,30541,43477,10639,89862,155868,37667,8726,60684,237903,73408,99589,12190,38739,97348,3914,13594,2680,149016,13907,30171,28343,23530,115225,61104,35821,147679,14337,4297,244282,24085,326976,56428,7851,21303,131620,71446,83253,68692,111870,5224,15813,38197,49026,45057,13660,3306,76345,40671,27905,91072,996,68527,62085,91351,122634,55109,168209,2024,27560,112707,17352,8306,167115,169921,166958,5031,46020,11844,67284,19130,76185,6920,32849,5450,14610,22451,21002,17392,31872,66682,84796,13709,40210,59898,12029,8719,53564,21462,91884,21647,88379,194428,12754,37797,132826,160016,22567,54383,53186,77611,31107,8339,4694,19185,90355,23597,17222,140675,28442,23668,55977,9128,61555,28774,155229,17658,9390,24379,69357,15752,127381,239631,62460,93181,55913,45133,140155,18676,25249,33164,29581,82837,67223,22362,29975,7317,52813,1943,29613,20012,207130,49617,49651,5636,15334,36313,29226,28084,95247,72072,19e3,224932,15811,114,32127,38097,37508,88507,37225,27359,91626,12193,69279,20608,11055,88156,92808,2152,57259,55275,72789,24475,104414,1708,9882,3818,48661,66897,1631,34806,227930,85815,87753,18321,250664,72733,25107,206797,50891,8082,196411,92596,96764,152823,65514,22819,387277,62176,51225,40329,15563,189,3659,73670,64357,51793,275136,33482,86653,74615,67058,11318,125720,15388,22388,8267,1730,102663,170910,40784,7144,85373,13040,7088,94309,583,44224,140424,77439,18496,164026,36578,4722,9151,5824,63365,26510,35199,40500,79277,32495,44614,35233,9566,203293,152144,7097,2330,183480,98629,13423,330887,44130,68600,30939,97829,31012,345465,56747,94879,4939,160027,149761,99423,46099,32251,15332,8761,96094,128555,5763,235318,222223,55729,30241,55420,201746,3987,81382,8259,49325,23287,7719,24633,251100,92311,18591,110533,64759,170260,393860,7175,21144,132887,3593,75346,101277,91109,16387,259187,11627,57459,173829,44694,55780,49797,89192,120443,62622,3904,14814,23887,1027,112258,64955,99800,11132,66353,36202,48624,18158,88481,96882,43059,11040,2455,7077,21651,181159,99126,100434,61388,68186,19161,110468,120052,8819,55324,41494,7014,37689,3618,87729,92615,207943,9823,128657,12587,15857,6379,67628,51216,71775,157617,63244,1503,3864,218754,110864,5769,21492,7243,1192,87921,85529,31512,18537,42698,35350,73510,84474,34301,8991,21013,35034,566,38832,19838,35586,37216,39413,55006,12178,59742,856,84563,6900,25632,17437,49786,30723,13847,70845,4044,7843,23944,235976,55530,48942,6518,20939,73769,192653,52936,95207,23895,132542,142982,22632,87452,48042,54018,178468,10728,26230,23559,363,81269,142012,5718,346258,31456,84333,246476,51018,66692,101804,120570,39962,30373,70593,2864,60541,19425,54209,104092,7201,31545,48018,25865,15442,46257,40443,8328,6451,111782,47527,97754,33046,470,245116,31095,39,91934,87208,73470,36708,36521,12801,70624,36272,8892,79768,12427,55454,103756,5908,52390,62962,22720,141138,94634,41689,128402,126390,6628,106394,35527,134394,82727,254651,194502,148064,89549,3202,28359,957,21954,27906,49840,142747,8307,24206,48978,1186,71728,133038,71474,91306,6333,110959,74600,70387,18983,62609,56057,22970,1147,135850,1321,28834,3578,59715,102227,32827,81415,99952,55636,257598,390,22702,35701,85872,402916,39216,189795,14929,19467,10112,144422,61514,5279,63421,134686,41436,8424,51925,10598,132295,124416,4604,194739,210929,57866,31829,51626,50007,9976,91878,61906,56168,81906,60918,61859,40017,23059,16887,40927,62064,12785,32893,32913,21782,93965,20169,44387,79084,38463,11457,93950,27127,157050,2697,337088,5116,54128,48255,33279,8821,27352,25515,124022,65710,28906,38557,33390,1722,104435,72215,38551,12094,30978,25113,6671,37355,175109,42862,98024,65406,221276,59624,118012,64637,78760,86697,21426,1639,40350,12584,67193,84144,31396,7863,143011,69629,63112,9454,28666,65798,46372,134721,6314,51402,30837,151922,2847,38676,38008,92823,136245,17540,5504,109295,205242,37606,5211,214892,1586,20670,208711,137743,19328,40652,16995,20023,14657,154919,34422,12996,13918,38221,47690,16398,2959,37680,89122,6721,198469,91876,172043,83898,101992,26084,94570,3635,76958,22853,76497,38266,176590,168403,44464,142840,79180,184594,1984,41806,83147,11985,6546,366068,59732,24533,271505,8736,39084,222992,93429,28962,58985,86665,8432,30028,14548,32439,54424,165029,55175,27458,69046,121277,46168,33732,20661,24581,135574,123110,37556,79260,72611,16957,12939,46162,58238,44907,72936,253758,41324,32518,96480,11949,124438,65280,43256,34107,53533,43531,37037,28366,45970,32741,173438,6121,194202,62969,26355,30314,58370,28455,1848,50519,82830,90393,21761,295490,10936,256940,133568,44050,20269,4089,27457,21610,219460,36743,14821,101388,52005,13124,30979,140816,167362,26054,18458,60789,34917,40447,26606,33422,9066,3452,83614,5761,20263,137238,25038,91310,101,52322,74548,42572,38084,214054,186568,31802,17665,30620,141936,37730,14420,4265,187218,49640,188208,51441,55388,96452,66659,40869,42039,60967,221027,19234,178581,29105,96050,9165,196118,157335,3738,40354,117436,2965,34136,59659,15570,50843,230035,31444,71260,43886,18316,5387,38500,168508,17406,32174,8828,103373,143806,90367,3560,18719,122310,16508,26719,2541,105429,6645,37998,73190,10591,235916,49737,87112,233941,53188,32193,79154,4544,52905,126477,7580,63501,57314,3216,31337,6541,103083,60846,49,9756,15481,1355,43840,14319,13743,27486,10222,73114,230718,418644,16706,6674,279748,23058,45273,295831,86306,2743,5535,88773,21829,35253,120938,31153,3169,16839,42847,8751,80974,33942,36867,35514,16485,26474,77775,56877,5391,48346,3882,108713,31403,27804,55248,26235,43821,136104,40118,175507,28034,203908,18732,1788,34030,106427,36958,54359,7251,44936,15356,69139,455,157915,22173,140291,50348,43275,82066,49621,54952,15216,36226,96695,66855,6936,1987,8227,196087,4631,68827,99004,47541,110265,17953,147605,110242,58520,31312,38724,329975,642,3155,34497,75937,6207,73843,6120,17249,51429,117746,3218,910,68961,319671,14938,29555,34700,1649,66673,72268,9655,76800,153087,6941,210168,27130,35398,1780,73242,3135,56689,19556,165307,8765,35967,121458,13333,70453,17350,117253,22265,13340,44265,39869,441,3742,135025,23581,33309,16543,17731,13291,157637,283005,21408,101360,63887,52312,83873,5338,233779,23759,186949,34531,177320,38069,156465,91004,19353,59852,68160,14891,1338,1072,29823,1950,28901,81407,313445,73038,84807,162348,240257,37162,138934,16111,58013,41253,102951,16457,96056,19541,56402,67217,41638,94381,89674,29481,37456,80815,151579,13937,13683,132537,19699,134545,67020,29816,222341,141235,427578,48868,129557,233342,23077,87871,16213,18728,16184,9469,37913,19680,2798,171356,178328,13216,50049,72690,71904,124644,55455,7504,29052,41036,266546,19899,30391,188755,8659,59469,16,104298,112943,53865,76203,138226,68857,139953,14125,107625,119795,173133,4398,50273,48808,54390,16466,122086,31835,67035,50971,48859,7508,46427,66477,73021,84615,39985,83076,46779,201569,53336,36443,60865,168164,143810,51393,25548,169307,32896,24485,38424,21837,29087,275813,51674,6714,64883,46169,187369,55186,76192,12852,12018,62134,31067,118303,16542,12125,10579,4928,26291,43854,7091,10946,253716,109062,39283,17261,113012,258512,47764,125126,32646,55892,80279,201623,149872,3192,385,1208,48750,5376,58738,22335,5427,82416,47811,32435,143086,38930,94128,59975,156037,37977,38224,62485,7698,50405,71027,16462,21559,136153,34131,107506,162069,63703,3101,215029,40407,4178,3774,9187,80019,17880,97926,67579,2600,18405,8351,47924,86638,70820,92206,86453,29610,42241,119200,3198,15466,67813,57863,35454,4779,99518,4649,104641,144269,33730,38073,65864,6838,109456,193298,154007,5623,45741,30846,182578,25573,157224,1543,58575,138703,146140,44971,49356,18275,59064,20300,13122,11848,24453,11973,9797,86843,2919,25530,49210,1130,161220,76788,75373,85604,34926,36014,17777,17255,51533,11676,92226,51845,119859,21525,5936,18507,28050,1140,31418,14857,34207,47859,10750,36382,32079,106909,59426,87757,38393,110042,15965,97104,33757,35344,97993,53979,33651,45407,41884,82515,173089,7177,58371,35365,47543,51927,35587,10670,23544,29306,84233,39976,76076,62097,9007,8668,28119,78281,120790,19835,143020,54968,18670,64959,20649,34469,42570,33001,136570,87796,120044,1106,58700,63951,127623,12805,83057,40212,31773,49850,7361,54336,347524,101314,23751,19569,48791,29174,49369,20467,7465,75842,38281,623,112457,60210,28849,51003,94720,6426,90047,85560,43761,3579,85105,34607,90410,118528,7224,42907,111163,18168,6960,161135,191298,5247,100584,127552,171568,20121,91173,12636,54615,20199,63730,98105,2396,40387,14438,125012,4765,33235,12865,45299,37728,82098,77872,114037,59253,19675,24838,398016,102561,11446,17069,57508,178277,65836,99941,26114,2585,271882,136866,50126,11027,155648,118367,14585,8910,123015,335383,40434,41016,53021,14439,87098,176860,201543,121888,2358,9286,5739,22666,54270,37884,169381,33984,93859,16124,89364,72207,51639,76366,99029,65812,2198,12147,174891,194289,6986,30252,88822,21284,11445,288337,160821,33034,100869,43852,25761,52882,1144,103809,1924,84458,86079,43411,13542,139276,18141,34978,41298,7276,26481,173800,33210,17951,142652,33616,33677,2210,19941,98568,2486,192414,80136,12058,235883,50963,249638,29572,27221,47034,6124,72107,63346,97620,158513,299699,40388,23235,37176,224244,198386,121323,67992,23827,63170,17838,106622,158590,26807,5345,23489,91891,55474,74834,37981,13058,5977,72552,34706,26828,145172,19904,21367,34043,960,77092,91381,4733,47446,7680,41697,5170,16960,14741,46101,13656,473,51842,37433,11103,11551,121951,13191,97536,165932,50397,51628,129028,9069,44885,6590,59195,47045,32940,225472,90345,21833,13303,29407,96615,141951,5198,6028,18395,7181,3861,14966,156358,167182,36529,55253,25942,173153,30959,27261,50691,150176,162201,38467,48462,80602,42163,118482,168,108756,26011,17166,54149,456538,22512,91374,13816,90358,131615,18132,226707,1824,28139,26860,42253,93877,77351,65575,8980,80574,22020,27948,40422,91324,76376,13528,39281,91685,82215,122541,144066,1983,193851,17283,26320,2739,194978,4790,26845,42627,61300,65815,174612,55133,4200,191130,79771,158321,52280,166796,221620,62461,11278,4067,88152,83409,31717,121367,13522,47325,37945,10406,174348,249321,154101,64912,29938,51775,17220,15776,166138,78890,84425,54121,42861,16368,24572,291647,10197,32073,22651,11677,97509,26952,35787,18424,41910,71614,94977,72318,41594,70024,275419,37702,60199,7335,39107,61315,18271,18394,33768,87884,104277,123724,7277,56288,71981,189803,49320,3352,6798,14240,8954,69220,94433,57372,28620,68863,193727,85575,42309,41667,67689,42081,22543,44824,12719,28540,114236,101553,27638,27296,4300,5353,4663,19379,94098,3758,95888,95144,80344,87320,28447,259518,12718,71391,152731,37063,24132,31911,104896,15672,103782,1521,4945,72541,23717,122632,15619,87175,206120,29428,189780,61416,28350,44457,972,1175,47233,198738,95789,41907,21953,97034,59341,22864,53713,16873,32971,20693,20954,31336,21477,16169,38370,16412,9019,3841,24599,21938,17085,6484,81198,76413,5849,72514,12320,65247,276175,37234,59796,52642,16312,57349,198507,94148,46134,18958,125552,1747,18725,151873,14901,5490,68287,29470,3689,64794,40814,26018,25692,54450,2703,88278,124886,173087,174e3,24159,179477,24276,46004,201876,209202,445,52876,31948,30206,157610,39180,18439,44124,50469,5774,96278,222758,200216,50290,45486,20435,46986,46276,140133,142326,15569,13363,47522,92583,2182,7135,16853,22998,30272,4952,63263,35623,39096,53789,44864,20053,110392,124213,4630,16087,28221,127787,25839,77481,44693,13464,113146,6983,27069,55717,50102,4760,7107,26186,66507,59145,36032,104182,71328,29425,64317,50781,47465,94298,69706,74899,22754,120756,25108,93077,56834,73286,39928,16218,41699,176763,7555,70819,50083,26895,23315,26014,16773,123079,41712,5719,31516,90427,158540,85051,183128,40864,27505,55392,9058,45224,96857,30901,136622,96557,56304,120061,11501,151448,5773,89743,7769,86069,2935,18471,41628,10114,33660,110170,49479,26745,92846,33221,26731,18795,87076,8550,2100,29972,120289,3077,72490,33784,2630,208722,50861,63483,79029,6419,39467,14302,45286,64207,9686,67513,44170,1050,77246,59266,17055,53801,7150,11111,42432,4278,94579,362117,36175,42902,41933,39002,98489,22913,74161,84773,57036,17556,162288,74485,178760,93867,73635,128860,50362,261,67455,80001,46080,35662,4368,25247,19230,74393,22588,1822,27682,235324,13798,85998,13194,235067,23514,71669,147632,23191,134748,214683,105101,1518,25489,247114,7380,54842,26922,3971,26361,20844,68642,170517,77339,123255,8963,77818,150998,48466,36806,2732,23261,11741,236162,18243,126216,28690,50546,16385,92760,197383,246558,201295,88255,67588,71687,176076,172653,169058,33906,63747,24835,157621,43338,30050,46152,132741,2770,51371,94835,6614,15112,11749,56936,1250,19027,399017,58036,100215,23388,55815,308768,124152,94803,9521,64186,8971,28,30427,62163,7616,103838,35079,29203,131235,7743,17389,10882,37420,61460,228512,85363,41581,131077,62822,119647,10130,54445,26925,19968,29016,24446,74028,24176,61448,67185,9254,8563,119129,9771,99184,37716,39514,10532,221512,258753,218630,55980,23394,32141,61924,66749,32411,3741,36475,26678,77010,44946,91203,128749,116953,20476,49625,53116,13735,102335,29376,51946,83407,67892,59212,34685,21083,1546,112982,32972,74397,1078,190545,16082,86140,58591,89611,101531,10061,105104,76319,20035,17551,52611,169061,190842,100780,23907,90413,115619,9675,34710,193435,49443,129734,11183,258877,16318,136182,126808,44635,27304,192375,2599,125648,47051,12091,23814,721,58800,40137,66726,97930,60877,74487,7942,54326,9841,41428,13762,8211,85383,6950,99177,79806,201786,296464,124087,13144,29741,41721,47634,55088,254286,106408,17041,99064,12942,64086,45233,14005,2612,55827,255,7984,13980,38574,12776,46654,73499,249951,2101,26676,25996,132326,116415,119062,50449,31033,23038,11589,179252,20007,14860,129270,21143,17796,144715,60106,70758,69842,34674,282133,44014,16774,57268,38528,24053,46373,201667,28327,471023,51889,102667,21193,114909,84132,69317,96723,67969,16134,68145,15058,28765,32035,2524,101089,98664,25045,76571,14957,86040,118506,262428,154764,81573,39681,283900,73287,127825,544,80448,52347,38512,175971,15180,45467,33086,46552,48894,81107,43213,36672,54025,76703,8053,7608,13299,56619,20752,238099,54164,105133,1444,32942,953,37564,8e3,66316,119463,106817,404,13667,149108,128597,31267,10269,49836,106150,1484,52330,76965,160486,171648,38456,31263,22424,37738,66245,67467,143369,60471,75610,20895,115528,86070,60854,40796,49347,18989,15030,11371,37578,15779,79867,10187,86462,46402,155626,93200,40229,7090,57547,108053,99598,11088,47505,41218,206017,2173,20988,30219,22919,80563,57566,42369,93141,41675,2407,182519,120495,27154,16702,29456,14349,7958,16688,117177,140375,42467,261919,74916,153569,10836,34742,49526,7621,105997,12212,2270,392377,7755,17959,25086,232152,138791,33847,13860,35316,5811,1344,71259,50452,207539,92635,50359,5821,33674,30255,2086,2587,96264,17543,42,6029,9580,43007,139248,82831,12917,29607,25786,51467,42137,85161,100698,31561,88989,121990,278500,3602,109344,37982,15279,116442,28936,30880,87894,58079,128661,126731,67392,28051,146885,4861,16216,97344,42827,147561,153948,22684,21335,47685,1853,43349,15185,59642,10229,25520,187921,108972,5579,98037,24945,6697,19193,63734,137934,75056,89740,19767,224268,56138,63643,151661,39313,70618,84031,89723,84074,13703,85626,35460,8867,64845,3439,57906,99776,63968,49270,81130,34356,16210,23547,36446,34090,140028,72439,2221,22163,57058,363492,113754,18913,95451,48663,54464,54037,176097,68425,3023,34906,29482,117389,341780,80431,58330,16753,92616,60907,94846,147486,4498,48646,7773,46801,7778,18946,464978,47558,33223,177444,7328,15626,63337,94700,11743,9351,255024,39098,16447,42647,96230,39769,58840,10068,63439,35800,65843,58823,413844,9156,51258,7434,61791,85018,6872,3692,28096,7121,33024,6009,75532,31997,192535,9661,3304,9547,14753,31987,25314,55689,15896,20430,39472,31340,99744,25398,115569,54883,28719,205423,23071,57855,64638,149867,25671,82403,37616,20668,39989,77996,74948,140555,175248,64810,36515,46595,4958,248773,24045,28728,136673,168704,20804,114833,100325,27135,21205,96151,153134,45992,7093,13992,76047,1980,19432,145001,75159,87462,17710,1013,45556,34297,144882,20648,26061,11319,129567,108555,18872,464580,33386,22717,65948,167189,5603,135042,79542,8801,202632,18114,91882,5973,5239,67315,4431,60916,47819,71693,32597,32606,18183,45072,80329,76385,24749,51305,40314,156514,14693,130345,13168,66214,18029,12858,34801,27628,14544,10823,40522,40185,33739,148694,23548,9923,61012,28859,17933,19442,34364,99849,164107,141167,30629,21054,6744,36491,8096,42474,41706,155060,30650,10600,163442,1143,96655,61390,52359,7559,51568,64256,203854,4467,22453,14504,436398,7878,6980,8293,63610,293747,16167,35763,19627,147603,15419,18032,110744,51346,33681,54571,40472,48615,39073,21604,13754,173027,92560,11083,47299,63062,11813,52007,29883,9734,139722,15953,1550,20651,13616,49306,16113,90089,92326,7584,30712,72424,164858,6831,152871,55746,197721,34167,196442,6022,112107,55215,7538,123381,4920,43539,77165,8939,50392,34192,20225,79762,22505,58667,40770,29788,97180,82835,4568,8579,13273,363569,35898,49983,436,36598,3237,131691,62418,35591,8101,4073,379438,65218,76072,33887,2968,27573,212619,288680,68278,72851,150504,217896,6913,121339,22017,35340,51072,43616,75043,31437,10833,81487,4364,22968,41454,106687,85446,19863,109625,149241,524,141850,214404,54376,657,237023,9401,108137,53800,32474,49712,53334,126876,27337,45552,177696,8269,15036,12097,42240,2328,125374,119295,99715,2500,19624,39441,27220,102691,60957,94543,39101,18566,67362,13975,78230,25017,34017,239007,90027,39351,41681,35354,43822,1043,916,58587,141983,94818,38799,75459,41114,67432,16195,36606,59568,22272,126769,31424,68659,12287,134302,257977,5756,207285,95637,47248,117689,19583,77451,22373,12200,54993,117118,34244,29386,34562,53819,71267,64172,77665,49368,7716,59301,25749,45426,194789,17297,2650,1766,32501,45198,20403,20984,6600,14171,94604,19037,5402,29896,9938,59935,109708,88081,145182,44844,39167,352626,164173,35374,45982,6122,154,73419,220487,53834,53601,17992,8609,229321,5610,68098,66815,71012,95069,140968,27396,8957,134489,24656,86659,56598,134852,17316,123838,255436,6613,41610,138033,81452,32023,32396,123687,63398,8693,29712,30407,19296,121188,3551,36099,20032,111948,56624,16547,27453,35916,15378,52039,56849,13489,22214,73177,53097,277349,2157,14029,187886,10260,141743,246460,91880,50869,3788,49486,133566,54950,33120,129337,53768,18333,9525,26902,312251,10297,9020,70759,16647,112432,59260,84609,9818,82766,73569,468,46001,75780,55028,52106,11498,43645,108069,17150,17753,29417,16705,31799,9606,289,122254,115975,8620,6133,255357,56908,14456,133464,43554,79224,11247,29630,160,12756,25464,65960,350428,62521,321796,100359,67358,35169,46172,113128,48988,88868,31094,33266,6847,60887,98188,49659,69117,92977,220228,13947,80181,35103,62170,97351,13475,2440,199768,19498,36597,46971,25234,67806,62881,84717,73648,181966,10488,94149,21550,26655,63436,48375,14405,165650,9621,24439,28043,42735,4490,29963,56674,45373,1934,262446,50855,67098,26898,5261,52696,40644,33900,9440,180286,87162,22940,19704,26936,69769,10254,101759,27406,12243,48e3,73926,113215,54935,5726,192787,4312,106216,9366,11550,52949,23457,212271,277152,133895,108374,6191,96477,29980,218916,58024,54696,40853,91124,65894,91170,65908,252552,6793,29212,15389,44516,122515,52617,35058,9017,103536,39510,49136,19242,130652,662077,74699,47024,31422,8517,73351,24399,13867,128360,4810,4434,61779,111983,61036,17798,110240,59722,102960,39688,10001,23803,23039,176498,56659,44814,134295,17188,77577,74466,226175,102472,154333,63900,111747,18062,41171,79669,32773,408933,42562,28931,30907,107388,43487,2946,240310,23938,24354,319,184983,7927,6488,1422,10790,68809,68209,64775,4361,202,17123,59634,51200,44391,18188,17843,2619,74278,3230,9540,47187,21702,36274,56894,43907,16310,34790,16866,6150,5561,13587,107545,108873,126867,86986,28640,33427,19017,5762,80637,17430,46903,2047,131055,25958,13558,5444,47152,13900,44563,122857,45348,70863,39593,54332,38068,33637,318,40310,143467,18502,24520,11377,62013,28942,27246,28269,83545,17999,59015,90707,30065,15161,34720,1263,37008,2012,6060,98575,92933,5721,299,199555,24578,29223,2985,743,115825,109523,136657,47454,26378,53586,3733,174945,93340,244456,5693,37386,28782,89767,27545,23573,18798,136425,34320,84778,20041,48453,38215,7477,71958,40621,8773,5874,187927,105965,51100,43533,18083,8443,10180,43597,2003,183999,69689,12216,129696,146188,62389,34044,68410,12765,43273,26949,266807,3345,34477,79197,5688,47539,213110,21634,22257,50092,32222,42346,39530,63668,98,134978,74022,5152,59088,174145,37220,9934,9545,118937,5724,87240,19875,15784,40143,23263,87513,181654,285152,37881,263241,4966,43934,10433,186657,6470,74416,225854,25908,142677,246262,32280,6192,75890,45546,143264,135305,29742,47013,77787,11732,126658,8763,37950,21806,57557,113464,89465,108995,164574,23894,22996,23169,15369,23117,17642,130607,40503,36239,280990,44666,9981,40427,147487,26869,168452,32886,32991,46798,240839,15111,70502,65697,88548,44145,28701,48767,31139,206777,35659,181164,166262,14554,171445,31786,66523,76607,17956,6507,31279,90476,116611,167918,6560,1243,115324,80128,41867,55897,187323,37069,32596,189444,145931,13390,105530,65709,26805,6999,55714,41300,22915,68951,22138,21120,22264,10058,19945,33635,56123,99085,10032,5818,6016,46649,57476,35264,94413,112522,262288,93686,83038,14341,23204,28807,66084,77987,6101,126673,7133,38126,5923,122091,170240,97772,46874,215746,43948,41622,3272,55596,8332,146411,251315,13533,8561,81521,115449,48616,175175,2063,186556,3036,134537,75772,29728,82360,22973,186559,86348,89100,38388,82297,45610,2613,87082,9986,177812,57884,23591,47485,42543,33582,44713,74439,257444,252451,31825,35631,38540,33066,5147,13973,4343,51830,70378,22827,26448,95560,36896,241741,48067,203953,298860,61620,20450,3220,67272,6586,107662,100160,108684,6929,57226,4762,7457,1320,40404,77204,99309,62750,208653,59977,44e3,74315,34332,5819,172217,64904,114077,18147,84012,1791,98456,90930,21446,116669,103938,7422,85140,59713,5768,326211,16239,75411,13229,29398,10758,236107,1539,112472,95979,152154,151294,306,21196,38146,10700,6891,84282,109646,56492,40539,6589,119491,51354,30685,140209,136906,29622,73617,49553,70525,51671,166869,139616,74395,37439,49595,45678,11959,33211,86560,52434,9282,62690,112155,130810,5243,108261,99970,265613,72551,80049,6391,33365,90721,66737,69872,87011,1860,9032,112544,60905,37371,89015,140351,19076,850,373531,2802,36725,218795,72062,28990,16550,24614,7815,6187,26336,33373,32162,42791,73555,32062,23386,10244,56392,49442,27076,136262,12412,14883,1134,33675,97153,199281,15608,100152,74072,47942,254301,36451,16026,10687,65067,56708,254030,30290,50490,13864,57941,259331,35588,23485,43486,24869,21620,92971,22072,88645,1048,182050,13343,32452,14825,19509,3325,216938,45740,99716,189082,53740,78245,25609,24311,176777,47340,308354,40669,66085,14102,125339,9225,128709,97207,1271,200933,78439,113451,88975,18324,46521,11819,18570,141756,72512,170020,52754,63550,118515,103073,93330,32736,50499,14722,31600,68452,398867,29316,172786,18417,104924,2606,5670,84818,16288,67106,59580,82929,607401,291,85829,359,15897,35830,50696,65630,52672,22115,356968,29895,40837,231192,34024,38957,26722,406,23335,124952,72068,68804,13268,147101,164740,276569,162596,66943,11569,26654,66358,4777,23229,102127,5848,978,2921,59666,5371,28212,90108,42938,39320,2499,4271,108792,33510,125072,71653,65239,38250,66357,38577,13964,86251,35708,50755,36010,29448,12209,3844,38222,206337,100876,67827,137088,14167,252225,84163,195270,1306,5703,54198,779,46802,22028,51124,86759,70560,113164,35685,162145,45471,34561,422,2611,6464,47486,19223,38246,9191,18331,89942,243642,212364,15893,17518,22617,6409,30046,126182,59716,36560,104428,18846,26592,19458,50793,147333,30826,1388,27647,10922,14495,33545,19269,135828,39727,41601,46931,233379,49169,131130,182112,16276,82381,118209,142445,128310,19672,28740,82907,33436,3118,102206,28723,24819,41937,38854,5157,3881,111491,1142,9776,421673,152241,29309,14961,87854,6054,15424,3796,82656,54996,2108,55367,239450,154525,9643,118103,106041,64601,68549,48707,30266,25772,18740,9462,229669,91798,112152,191327,14493,72828,8175,66636,236474,25817,87351,129027,76653,20422,22983,71240,27846,44661,12399,46158,77704,53101,35032,11072,17300,109294,33638,24408,1895,11241,760,17584,82479,125877,63150,141075,34259,23274,81698,15732,43577,48340,91584,14688,16379,24481,150280,96420,262050,48635,43727,61819,56268,72003,88178,17281,79912,13218,122519,125295,166396,11811,2171,118930,67746,17636,178278,174656,95661,173039,83845,79689,17473,98555,127696,203415,54730,22925,232239,9309,12136,175026,20740,180188,10747,39816,314017,266131,10040,175732,112550,220651,31974,37393,888,23008,86799,4303,64905,148467,75337,251,3284,370102,50264,9835,5438,23655,4481,29851,329,12855,7162,64931,78141,12804,42372,296771,83547,18624,34874,86271,3360,48665,77735,88767,11463,63527,28889,22258,29140,194315,113924,25499,6406,31334,1845,4802,49184,43455,35469,127594,92970,61038,115005,38840,87761,106838,8811,20572,55637,11162,96721,132425,108925,2948,125457,36356,3502,75270,27622,127192,2561,123095,49394,61155,16897,110064,9699,89448,53356,19628,220310,21622,83036,9885,112214,6087,26713,17901,161912,91492,3440,68594,9266,92238,8087,6866,150194,72175,80701,13459,31836,43243,239700,95846,44749,50647,21945,230538,120612,132371,244604,5193,105637,34661,41341,68775,85393,1874,8771,33718,49672,77403,595452,99507,6490,58895,128742,7704,39239,73217,43816,62824,37804,199976,22361,80005,87514,94832,14089,4574,139975,59142,75523,100268,43906,53442,15152,2547,186002,17011,19513,204282,3343,60568,128318,119250,4298,51871,41336,71759,21921,45074,98169,145889,99427,11350,1237,5520,28799,7803,53702,21026,136352,38293,128690,12158,90132,44600,10184,26957,39459,126025,78904,82999,59373,39301,150198,120529,153042,20177,50089,14764,271571,30530,123161,38975,101562,22941,5648,124654,109243,69817,71675,49162,106884,21241,107795,30258,16572,188262,141456,7688,60718,8271,11044,32440,104608,103419,236109,93156,43293,128929,42107,67180,25201,115254,185488,130954,72813,167547,20537,39969,38432,22582,184022,1139,27199,5655,17767,97412,122606,209377,27070,35871,326617,188954,42680,73512,80911,22629,3011,95021,315242,157737,383,41821,41808,19335,27950,15674,25677,110950,35375,76835,59108,57370,35262,16569,160415,37706,78086,32041,49691,137143,9782,172080,50148,77917,6323,10110,69172,17711,21795,59511,76184,135114,31046,132319,59105,157578,20549,80778,57649,158421,65143,4575,72235,21899,10797,92745,34035,106079,80159,4508,78304,25350,75457,46458,32937,25623,47,8531,104751,84953,8138,36508,187199,66310,115274,13253,32461,38536,1916,42007,187160,35055,26325,84394,35963,94216,45590,97782];var vi=15,xi=class{log;peerRouting;routingTable;refreshInterval;refreshQueryTimeout;commonPrefixLengthRefreshedAt;refreshTimeoutId;constructor(t){let{peerRouting:r,routingTable:n,refreshInterval:i,refreshQueryTimeout:o,lan:s}=t;this.log=q(`libp2p:kad-dht:${s?"lan":"wan"}:routing-table:refresh`),this.peerRouting=r,this.routingTable=n,this.refreshInterval=i??3e5,this.refreshQueryTimeout=o??3e4,this.commonPrefixLengthRefreshedAt=[],this.refreshTable=this.refreshTable.bind(this)}async start(){this.log(`refreshing routing table every ${this.refreshInterval}ms`),this.refreshTable(!0)}async stop(){this.refreshTimeoutId!=null&&clearTimeout(this.refreshTimeoutId)}refreshTable(t=!1){this.log("refreshing routing table");let r=this._maxCommonPrefix(),n=this._getTrackedCommonPrefixLengthsForRefresh(r);this.log(`max common prefix length ${r}`),this.log(`tracked CPLs [ ${n.map(i=>i.toISOString()).join(", ")} ]`),Promise.all(n.map(async(i,o)=>{try{if(await this._refreshCommonPrefixLength(o,i,t),this._numPeersForCpl(r)===0){let s=Math.min(2*(o+1),n.length-1);for(let a=o+1;a<s+1;a++)try{await this._refreshCommonPrefixLength(a,i,t)}catch(c){this.log.error(c)}}}catch(s){this.log.error(s)}})).catch(i=>{this.log.error(i)}).then(()=>{this.refreshTimeoutId=setTimeout(this.refreshTable,this.refreshInterval),this.refreshTimeoutId.unref!=null&&this.refreshTimeoutId.unref()}).catch(i=>{this.log.error(i)})}async _refreshCommonPrefixLength(t,r,n){if(!n&&r.getTime()>Date.now()-this.refreshInterval){this.log("not running refresh for cpl %s as time since last refresh not above interval",t);return}let i=await this._generateRandomPeerId(t);this.log("starting refreshing cpl %s with key %p (routing table size was %s)",t,i,this.routingTable.size);let o=await yi(this.peerRouting.getClosestPeers(i.toBytes(),{signal:AbortSignal.timeout(this.refreshQueryTimeout)}));this.log(`found ${o} peers that were close to imaginary peer %p`,i),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",t,i,this.routingTable.size)}_getTrackedCommonPrefixLengthsForRefresh(t){t>vi&&(t=vi);let r=[];for(let n=0;n<=t;n++)r[n]=this.commonPrefixLengthRefreshedAt[n]??new Date;return r}async _generateRandomPeerId(t){if(this.routingTable.kb==null)throw new Error("Routing table not started");let r=Yr(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,t);return Dr(i)}async _makePeerId(t,r,n){if(n>vi)throw new Error(`Cannot generate peer ID for common prefix length greater than ${vi}`);let s=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint16(0,!1)^32768>>n,a=65535<<16-(n+1),c=s&a|r&~a,u=z6[c],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,gt.code),l.setUint8(1,32),l.setUint32(2,u,!1),new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}_maxCommonPrefix(){let t=0;for(let r of this._prefixLengths())r>t&&(t=r);return t}_numPeersForCpl(t){let r=0;for(let n of this._prefixLengths())n===t&&r++;return r}*_prefixLengths(){if(this.routingTable.kb!=null)for(let{id:t}of this.routingTable.kb.toIterable()){let r=er(this.routingTable.kb.localNodeId,t),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var M0=q("libp2p:kad-dht:rpc:handlers:add-provider"),wi=class{providers;constructor(t){let{providers:r}=t;this.providers=r}async handle(t,r){if(M0("start"),r.key==null||r.key.length===0)throw new _("Missing key","ERR_MISSING_KEY");let n;try{n=J.decode(r.key)}catch{throw new _("Invalid CID","ERR_INVALID_CID")}(r.providerPeers==null||r.providerPeers.length===0)&&M0.error("no providers found in message"),await Promise.all(r.providerPeers.map(async i=>{if(!i.id.equals(t)){M0("invalid provider peer %p from %p",i.id,t);return}if(i.multiaddrs.length<1){M0("no valid addresses for provider %p. Ignore",t);return}M0("received provider %p for %s (addrs %s)",t,n,i.multiaddrs.map(o=>o.toString())),await this.providers.addProvider(n,i.id)}))}};var H6=q("libp2p:kad-dht:rpc:handlers:find-node"),bi=class{peerRouting;lan;components;constructor(t,r){let{peerRouting:n,lan:i}=r;this.components=t,this.peerRouting=n,this.lan=!!i}async handle(t,r){H6("incoming request from %p for peers closer to %b",t,r.key);let n=[];ot(this.components.peerId.toBytes(),r.key)?n=[{id:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(o=>o.decapsulateCode(nt("p2p").code)),protocols:[]}]:n=await this.peerRouting.getCloserPeersOffline(r.key,t),n=n.map(this.lan?En:bn).filter(({multiaddrs:o})=>o.length);let i=new pt(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:H6("could not find any peers closer to %b than %p",r.key,t),i}};var $6=q("libp2p:kad-dht:rpc:handlers:get-providers"),Ei=class{components;peerRouting;providers;lan;constructor(t,r){let{peerRouting:n,providers:i,lan:o}=r;this.components=t,this.peerRouting=n,this.providers=i,this.lan=!!o}async handle(t,r){let n;try{n=J.decode(r.key)}catch{throw new _("Invalid CID","ERR_INVALID_CID")}$6("%p asking for providers for %s",t,n);let[i,o]=await Promise.all([this.providers.getProviders(n),this.peerRouting.getCloserPeersOffline(r.key,t)]),s=await this._getPeers(i),a=await this._getPeers(o.map(({id:u})=>u)),c=new pt(r.type,r.key,r.clusterLevel);return s.length>0&&(c.providerPeers=s),a.length>0&&(c.closerPeers=a),$6("got %s providers %s closerPeers",s.length,a.length),c}async _getAddresses(t){return[]}async _getPeers(t){let r=[],n=this.lan?En:bn;for(let i of t)try{let o=await this.components.peerStore.get(i),s=n({id:i,multiaddrs:o.addresses.map(({multiaddr:a})=>a),protocols:o.protocols});s.multiaddrs.length>0&&r.push(s)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}return r}};var Hn=q("libp2p:kad-dht:rpc:handlers:get-value"),Si=class{components;peerRouting;constructor(t,r){let{peerRouting:n}=r;this.components=t,this.peerRouting=n}async handle(t,r){let n=r.key;if(Hn("%p asked for key %b",t,n),n==null||n.length===0)throw new _("Invalid key","ERR_INVALID_KEY");let i=new pt(It.GET_VALUE,n,r.clusterLevel);if(R3(n)){Hn("is public key");let a=P3(n),c;try{let u=await this.components.peerStore.get(a);if(u.id.publicKey==null)throw new _("No public key found in key book","ERR_NOT_FOUND");c=u.id.publicKey}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}if(c!=null)return Hn("returning found public key"),i.record=new Pt(n,c,new Date),i}let[o,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(r.key,t)]);return o!=null&&(Hn("had record for %b in local datastore",n),i.record=o),s.length>0&&(Hn("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(t){Hn("checkLocalDatastore looking for %b",t);let r=Ye(t),n;try{n=await this.components.datastore.get(r)}catch(o){if(o.code==="ERR_NOT_FOUND")return;throw o}let i=Pt.deserialize(n);if(i==null)throw new _("Invalid record","ERR_INVALID_RECORD");if(i.timeReceived==null||Date.now()-i.timeReceived.getTime()>1296e5){await this.components.datastore.delete(r);return}return i}};var wh=q("libp2p:kad-dht:rpc:handlers:ping"),Ai=class{async handle(t,r){return wh("ping from %p",t),r}};var Ii=class{log;components;validators;constructor(t,r){let{validators:n}=r;this.components=t,this.log=q("libp2p:kad-dht:rpc:handlers:put-value"),this.validators=n}async handle(t,r){let n=r.key;this.log("%p asked us to store value for key %b",t,n);let i=r.record;if(i==null){let o=`Empty record from: ${t.toString()}`;throw this.log.error(o),new _(o,"ERR_EMPTY_RECORD")}try{await pn(this.validators,i),i.timeReceived=new Date;let o=Ye(i.key);await this.components.datastore.put(o,i.serialize().subarray()),this.log("put record for %b into datastore under key %k",n,o)}catch(o){this.log("did not put record for key %b into datastore %o",n,o)}return r}};var Ci=class{handlers;routingTable;log;constructor(t,r){let{providers:n,peerRouting:i,validators:o,lan:s}=r;this.log=q("libp2p:kad-dht:rpc"),this.routingTable=r.routingTable,this.handlers={[It.GET_VALUE]:new Si(t,{peerRouting:i}),[It.PUT_VALUE]:new Ii(t,{validators:o}),[It.FIND_NODE]:new bi(t,{peerRouting:i,lan:s}),[It.ADD_PROVIDER]:new wi({providers:n}),[It.GET_PROVIDERS]:new Ei(t,{peerRouting:i,providers:n,lan:s}),[It.PING]:new Ai}}async handleMessage(t,r){try{await this.routingTable.add(t)}catch(i){this.log.error("Failed to update the kbucket store",i)}let n=this.handlers[r.type];if(n==null){this.log.error(`no handler found for message type: ${r.type}`);return}return n.handle(t,r)}onIncomingStream(t){Promise.resolve().then(async()=>{let{stream:r,connection:n}=t,i=n.remotePeer;try{await this.routingTable.add(i)}catch(s){this.log.error(s)}let o=this;await me(r,s=>Mr(s),async function*(s){for await(let a of s){let c=pt.deserialize(a);o.log("incoming %s from %p",c.type,i);let u=await o.handleMessage(i,c);u!=null&&(yield u.serialize())}},s=>Or(s),r)}).catch(r=>{this.log.error(r)})}};var t2=Symbol.for("@libp2p/topology");var G6=()=>{},e2=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??G6,this.onDisconnect=t.onDisconnect??G6}get[Symbol.toStringTag](){return t2.toString()}get[t2](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function Q6(e){return new e2(e)}var _i=class extends Qt{log;components;protocol;running;registrarId;constructor(t,r){super();let{protocol:n,lan:i}=r;this.components=t,this.log=q(`libp2p:kad-dht:topology-listener:${i?"lan":"wan"}`),this.running=!1,this.protocol=n}isStarted(){return this.running}async start(){if(this.running)return;this.running=!0;let t=Q6({onConnect:r=>{this.log("observed peer %p with protocol %s",r,this.protocol),this.dispatchEvent(new Et("peer",{detail:r}))}});this.registrarId=await this.components.registrar.register(this.protocol,t)}async stop(){this.running=!1,this.registrarId!=null&&(this.components.registrar.unregister(this.registrarId),this.registrarId=void 0)}};var bh=32,Eh=64,K0=class extends Qt{protocol;routingTable;providers;network;peerRouting;components;log;running;kBucketSize;clientMode;lan;validators;selectors;queryManager;contentFetching;contentRouting;routingTableRefresh;rpc;topologyListener;querySelf;maxInboundStreams;maxOutboundStreams;constructor(t,r){super();let{kBucketSize:n,clientMode:i,validators:o,selectors:s,querySelfInterval:a,lan:c,protocolPrefix:u,pingTimeout:f,pingConcurrency:l,maxInboundStreams:d,maxOutboundStreams:p,providers:h}=r;this.running=!1,this.components=t,this.lan=!!c,this.log=q(`libp2p:kad-dht:${c===!0?"lan":"wan"}`),this.protocol=`${u??j2}${c===!0?X2:""}${J2}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=d??bh,this.maxOutboundStreams=p??Eh,this.routingTable=new mi(t,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new fi(t,h??{}),this.validators={...Z2,...o},this.selectors={...Y2,...s},this.network=new m1(t,{protocol:this.protocol,lan:this.lan});let y=de();r.allowQueryWithZeroPeers===!0&&y.resolve(),this.queryManager=new di(t,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:c,initialQuerySelfHasRun:y,routingTable:this.routingTable}),this.peerRouting=new ti(t,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new l1(t,{validators:this.validators,selectors:this.selectors,peerRouting:this.peerRouting,queryManager:this.queryManager,network:this.network,lan:this.lan}),this.contentRouting=new h1(t,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new xi({peerRouting:this.peerRouting,routingTable:this.routingTable,lan:this.lan}),this.rpc=new Ci(t,{routingTable:this.routingTable,providers:this.providers,peerRouting:this.peerRouting,validators:this.validators,lan:this.lan}),this.topologyListener=new _i(t,{protocol:this.protocol,lan:this.lan}),this.querySelf=new gi(t,{peerRouting:this.peerRouting,interval:a,initialInterval:r.initialQuerySelfInterval,lan:this.lan,initialQuerySelfHasRun:y,routingTable:this.routingTable}),this.network.addEventListener("peer",g=>{let m=g.detail;this.onPeerConnect(m).catch(v=>{this.log.error("could not add %p to routing table",m.id,v)}),this.dispatchEvent(new Et("peer",{detail:m}))}),this.topologyListener.addEventListener("peer",g=>{let m=g.detail;Promise.resolve().then(async()=>{let v=await this.components.peerStore.get(m),b={id:m,multiaddrs:v.addresses.map(({multiaddr:k})=>k),protocols:v.protocols};await this.onPeerConnect(b)}).catch(v=>{this.log.error("could not add %p to routing table",m,v)})})}async onPeerConnect(t){if(this.log("peer %p connected with protocols",t.id,t.protocols),this.lan?t=En(t):t=bn(t),t.multiaddrs.length===0){this.log("ignoring %p as they do not have any %s addresses in %s",t.id,this.lan?"private":"public",t.multiaddrs.map(r=>r.toString()));return}try{await this.routingTable.add(t.id)}catch(r){this.log.error("could not add %p to routing table",t.id,r)}}isStarted(){return this.running}async getMode(){return this.clientMode?"client":"server"}async setMode(t){await this.components.registrar.unhandle(this.protocol),t==="client"?(this.log("enabling client mode"),this.clientMode=!0):(this.log("enabling server mode"),this.clientMode=!1,await this.components.registrar.handle(this.protocol,this.rpc.onIncomingStream.bind(this.rpc),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams}))}async start(){this.running=!0,await this.setMode(this.clientMode?"client":"server"),await Promise.all([this.providers.start(),this.queryManager.start(),this.network.start(),this.routingTable.start(),this.topologyListener.start(),this.querySelf.start()]),await this.routingTableRefresh.start()}async stop(){this.running=!1,await Promise.all([this.providers.stop(),this.queryManager.stop(),this.network.stop(),this.routingTable.stop(),this.routingTableRefresh.stop(),this.topologyListener.stop(),this.querySelf.stop()])}async*put(t,r,n={}){yield*this.contentFetching.put(t,r,n)}async*get(t,r={}){yield*this.contentFetching.get(t,r)}async*provide(t,r={}){yield*this.contentRouting.provide(t,this.components.addressManager.getAddresses(),r)}async*findProviders(t,r={}){yield*this.contentRouting.findProviders(t,r)}async*findPeer(t,r={}){yield*this.peerRouting.findPeer(t,r)}async*getClosestPeers(t,r={}){yield*this.peerRouting.getClosestPeers(t,r)}async refreshRoutingTable(){this.routingTableRefresh.refreshTable(!0)}};var $n=q("libp2p:kad-dht"),r2=class{dht;constructor(t){this.dht=t}async provide(t,r={}){await Qn(this.dht.provide(t,r))}async*findProviders(t,r={}){for await(let n of this.dht.findProviders(t,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,r,n){await Qn(this.dht.put(t,r,n))}async get(t,r){for await(let n of this.dht.get(t,r))if(n.name==="VALUE")return n.value;throw new _("Not found","ERR_NOT_FOUND")}},n2=class{dht;constructor(t){this.dht=t}async findPeer(t,r={}){for await(let n of this.dht.findPeer(t,r))if(n.name==="FINAL_PEER")return n.peer;throw new _("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,r={}){for await(let n of this.dht.getClosestPeers(t,r))n.name==="FINAL_PEER"&&(yield n.peer)}},Sh=290,Ah=54,Ih=55,Ch=56,_h=4,Bh=41;function Th(e){let t=e.stringTuples();for(let r of t)if(r[0]===Sh)return!1;if(t[0][0]===Ah||t[0][0]===Ih||t[0][0]===Ch)return $n("%m is public %s",e,!0),!0;if(t[0][0]===_h||t[0][0]===Bh){let r=Yn(`${t[0][1]}`),n=r==null||!r;return $n("%m is public %s",e,n),n}return!1}var Bi=class extends Qt{wan;lan;components;contentRouting;peerRouting;constructor(t,r={}){super(),this.components=t,this.wan=new K0(t,{protocolPrefix:"/ipfs",...r,lan:!1}),this.lan=new K0(t,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0}),this.contentRouting=new r2(this),this.peerRouting=new n2(this),this.wan.addEventListener("peer",n=>{this.dispatchEvent(new Et("peer",{detail:n.detail}))}),this.lan.addEventListener("peer",n=>{this.dispatchEvent(new Et("peer",{detail:n.detail}))}),r.clientMode==null&&t.events.addEventListener("self:peer:update",n=>{$n("received update of self-peer info");let i=n.detail.peer.addresses.some(({multiaddr:o})=>{let s=Th(o);return $n("%m is public %s",o,s),s});this.getMode().then(async o=>{i&&o==="client"?await this.setMode("server"):o==="server"&&!i&&await this.setMode("client")}).catch(o=>{$n.error("error setting dht server mode",o)})})}[Symbol.toStringTag]="@libp2p/dual-kad-dht";get[c2](){return this.contentRouting}get[f2](){return this.peerRouting}get[u2](){return this}isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return this.wan.getMode()}async setMode(t){await this.wan.setMode(t)}async start(){await Promise.all([this.lan.start(),this.wan.start()])}async stop(){await Promise.all([this.lan.stop(),this.wan.stop()])}async*put(t,r,n={}){for await(let i of he(this.lan.put(t,r,n),this.wan.put(t,r,n)))yield i}async*get(t,r={}){let n=!1,i=!1;for await(let o of he(this.lan.get(t,r),this.wan.get(t,r)))yield o,o.name==="DIAL_PEER"&&(n=!0),o.name==="VALUE"&&(n=!0,o.value!=null&&(i=!0)),o.name==="SEND_QUERY"&&(n=!0);if(!n)throw new _("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield qt({from:this.components.peerId,error:new _("Not found","ERR_NOT_FOUND")},r))}async*provide(t,r={}){let n=0,i=0,o=[],s=[this.lan];await this.wan.getMode()==="server"&&s.push(this.wan);for await(let a of he(...s.map(c=>c.provide(t,r))))yield a,a.name==="SEND_QUERY"&&n++,a.name==="QUERY_ERROR"&&o.push(a.error),a.name==="PEER_RESPONSE"&&a.messageName==="ADD_PROVIDER"&&($n("sent provider record for %s to %p",t,a.from),i++);if(i===0)throw o.length>0?new _(`Failed to provide to ${o.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:o}):new _("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(t,r={}){yield*he(this.lan.findProviders(t,r),this.wan.findProviders(t,r))}async*findPeer(t,r={}){let n=!1;for await(let i of he(this.lan.findPeer(t,r),this.wan.findPeer(t,r)))yield i,(i.name==="SEND_QUERY"||i.name==="FINAL_PEER")&&(n=!0);if(!n)throw new _("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(t,r={}){yield*he(this.lan.getClosestPeers(t,r),this.wan.getClosestPeers(t,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var i2;(function(e){e[e.SEND_QUERY=0]="SEND_QUERY",e[e.PEER_RESPONSE=1]="PEER_RESPONSE",e[e.FINAL_PEER=2]="FINAL_PEER",e[e.QUERY_ERROR=3]="QUERY_ERROR",e[e.PROVIDER=4]="PROVIDER",e[e.VALUE=5]="VALUE",e[e.ADD_PEER=6]="ADD_PEER",e[e.DIAL_PEER=7]="DIAL_PEER"})(i2||(i2={}));var o2;(function(e){e[e.PUT_VALUE=0]="PUT_VALUE",e[e.GET_VALUE=1]="GET_VALUE",e[e.ADD_PROVIDER=2]="ADD_PROVIDER",e[e.GET_PROVIDERS=3]="GET_PROVIDERS",e[e.FIND_NODE=4]="FIND_NODE",e[e.PING=5]="PING"})(o2||(o2={}));function Rh(e){return t=>new Bi(t,e)}return t8(Ph);})();
26
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),qu=new RegExp(`(?:^${vt}$)|(?:^${S0}$)`),$u=new RegExp(`^${vt}$`),Hu=new RegExp(`^${S0}$`),So=t=>t&&t.exact?qu:new RegExp(`(?:${gr(t)}${vt}${gr(t)})|(?:${gr(t)}${S0}${gr(t)})`,"g");So.v4=t=>t&&t.exact?$u:new RegExp(`${gr(t)}${vt}${gr(t)}`,"g");So.v6=t=>t&&t.exact?Hu:new RegExp(`${gr(t)}${S0}${gr(t)}`,"g");var G2=So;var A0=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let p=Number.parseInt(l,e);if(!Number.isNaN(p))return p});if(f===void 0)break;if(o*=e,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Q2=45,Gu=15,vn=new A0;function Ao(t){if(!(t.length>Gu))return vn.new(t).parseWith(()=>vn.readIPv4Addr())}function Io(t){if(!(t.length>Q2))return vn.new(t).parseWith(()=>vn.readIPv6Addr())}function I0(t){if(!(t.length>Q2))return vn.new(t).parseWith(()=>vn.readIPAddr())}function Y2(t){return!!Ao(t)}function W2(t){return!!Io(t)}function xn(t){return!!I0(t)}var e3=G(X2(),1),{isValid:Qu,parse:Yu}=e3.default,Wu=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],Zu=Wu.map(t=>new J2.Netmask(t));function Xu(t){for(let e of Zu)if(e.contains(t))return!0;return!1}function j2(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var t3=t=>{if(Qu(t)){let e=Yu(t);if(e.kind()==="ipv4")return Xu(e.toNormalizedString());if(e.kind()==="ipv6")return j2(t)}else if(xn(t)&&G2.v6().test(t))return j2(t)};var gi=t3;function it(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var r3="/lan",n3="/ipfs",i3="/kad/1.0.0",o3="/dht/record",Co="/dht/provider";function ju(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var s3=ju;function Ju(t){return t[Symbol.asyncIterator]!=null}function ef(t,e){if(Ju(t))return async function*(){for await(let a of t)yield e(a)}();let r=s3(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield e(a)}();let s=e;return function*(){yield o;for(let a of r)yield s(a)}()}var B0=ef;var T0=globalThis.CustomEvent??Event;async function*mi(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,o=[],s=it(),a=it(),c=!1,u,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(o.length===r&&(s=it(),await s.promise),f)break;let y={done:!1};o.push(y),h().then(g=>{y.done=!0,y.ok=!0,y.value=g,i.dispatchEvent(new T0("task-complete"))},g=>{y.done=!0,y.err=g,i.dispatchEvent(new T0("task-complete"))})}c=!0,i.dispatchEvent(new T0("task-complete"))}catch(h){u=h,i.dispatchEvent(new T0("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(h=>h.done)}function*p(){for(;o.length>0&&o[0].done;){let h=o[0];if(o.shift(),h.ok)yield h.value;else throw f=!0,s.resolve(),h.err;s.resolve()}}function*d(){for(;l();)for(let h=0;h<o.length;h++)if(o[h].done){let y=o[h];if(o.splice(h,1),h--,y.ok)yield y.value;else throw f=!0,s.resolve(),y.err;s.resolve()}}for(;;){if(l()||(a=it(),await a.promise),u!=null)throw u;if(n?yield*p():yield*d(),c&&o.length===0)break}}function xt(t,...e){if(t==null)throw new Error("Empty pipeline");if(Bo(t)){let n=t;t=()=>n.source}else if(c3(t)||a3(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Bo(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Bo(r[n])&&(r[n]=rf(r[n]));return tf(...r)}var tf=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},a3=t=>t?.[Symbol.asyncIterator]!=null,c3=t=>t?.[Symbol.iterator]!=null,Bo=t=>t==null?!1:t.sink!=null&&t.source!=null,rf=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=E0({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(a3(o))i=async function*(){yield*o,n.end()};else if(c3(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return mt(n,i())}return t.source};function se(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var u3=Symbol.for("@libp2p/peer-id");var To={};V(To,{identity:()=>nf});var nf=gn({prefix:"\0",name:"identity",encode:t=>V2(t),decode:t=>K2(t)});var _o={};V(_o,{base2:()=>of});var of=Ee({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ro={};V(Ro,{base8:()=>sf});var sf=Ee({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Po={};V(Po,{base10:()=>af});var af=pr({prefix:"9",name:"base10",alphabet:"0123456789"});var No={};V(No,{base16:()=>cf,base16upper:()=>uf});var cf=Ee({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),uf=Ee({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Lo={};V(Lo,{base36:()=>ff,base36upper:()=>lf});var ff=pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),lf=pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ko={};V(ko,{base256emoji:()=>gf});var f3=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),hf=f3.reduce((t,e,r)=>(t[r]=e,t),[]),df=f3.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function pf(t){return t.reduce((e,r)=>(e+=hf[r],e),"")}function yf(t){let e=[];for(let r of t){let n=df[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var gf=gn({prefix:"\u{1F680}",name:"base256emoji",encode:pf,decode:yf});var Uo={};V(Uo,{sha256:()=>xe,sha512:()=>Df});var mf=d3,l3=128,vf=127,xf=~vf,bf=Math.pow(2,31);function d3(t,e,r){e=e||[],r=r||0;for(var n=r;t>=bf;)e[r++]=t&255|l3,t/=128;for(;t&xf;)e[r++]=t&255|l3,t>>>=7;return e[r]=t|0,d3.bytes=r-n+1,e}var wf=Do,Ef=128,h3=127;function Do(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Do.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&h3)<<i:(s&h3)*Math.pow(2,i),i+=7}while(s>=Ef);return Do.bytes=o-n,r}var Sf=Math.pow(2,7),Af=Math.pow(2,14),If=Math.pow(2,21),Cf=Math.pow(2,28),Bf=Math.pow(2,35),Tf=Math.pow(2,42),_f=Math.pow(2,49),Rf=Math.pow(2,56),Pf=Math.pow(2,63),Nf=function(t){return t<Sf?1:t<Af?2:t<If?3:t<Cf?4:t<Bf?5:t<Tf?6:t<_f?7:t<Rf?8:t<Pf?9:10},Lf={encode:mf,decode:wf,encodingLength:Nf},kf=Lf,vi=kf;var xi=(t,e=0)=>[vi.decode(t,e),vi.decode.bytes],bn=(t,e,r=0)=>(vi.encode(t,e,r),e),wn=t=>vi.encodingLength(t);var Pt=(t,e)=>{let r=e.byteLength,n=wn(t),i=n+wn(r),o=new Uint8Array(i+r);return bn(t,o,0),bn(r,o,n),o.set(e,i),new En(t,r,e,o)},bi=t=>{let e=Wt(t),[r,n]=xi(e),[i,o]=xi(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new En(r,i,s,e)},p3=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&M2(t.bytes,r.bytes)}},En=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Oo=({name:t,code:e,encode:r})=>new Fo(t,e,r),Fo=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Pt(this.code,r):r.then(n=>Pt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var g3=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),xe=Oo({name:"sha2-256",code:18,encode:g3("SHA-256")}),Df=Oo({name:"sha2-512",code:19,encode:g3("SHA-512")});var Mo={};V(Mo,{identity:()=>mr});var m3=0,Ff="identity",v3=Wt,Of=t=>Pt(m3,v3(t)),mr={code:m3,name:Ff,encode:v3,digest:Of};var lv=new TextEncoder,hv=new TextDecoder;var x3=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Vf(r,Ko(t),e||qe.encoder);default:return zf(r,Ko(t),e||yr.encoder)}};var b3=new WeakMap,Ko=t=>{let e=b3.get(t);if(e==null){let r=new Map;return b3.set(t,r),r}return e},ae=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==wi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==qf)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return ae.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Pt(e,r);return ae.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return ae.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&p3(e.multihash,n.multihash)}toString(e){return x3(this,e)}toJSON(){return{"/":x3(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof ae)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new ae(n,i,o,s||w3(n,i,o.bytes))}else if(r[$f]===!0){let{version:n,multihash:i,code:o}=r,s=bi(i);return ae.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==wi)throw new Error(`Version 0 CID must use dag-pb (code: ${wi}) block encoding`);return new ae(e,r,n,n.bytes)}case 1:{let i=w3(e,r,n.bytes);return new ae(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return ae.create(0,wi,e)}static createV1(e,r){return ae.create(1,e,r)}static decode(e){let[r,n]=ae.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=ae.inspectBytes(e),n=r.size-r.multihashSize,i=Wt(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new En(r.multihashCode,r.digestSize,o,i);return[r.version===0?ae.createV0(s):ae.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,p]=xi(e.subarray(r));return r+=p,l},i=n(),o=wi;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=Kf(e,r),o=ae.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ko(o).set(n,e),o}},Kf=(t,e)=>{switch(t[0]){case"Q":{let r=e||qe;return[qe.prefix,r.decode(`${qe.prefix}${t}`)]}case qe.prefix:{let r=e||qe;return[qe.prefix,r.decode(t)]}case yr.prefix:{let r=e||yr;return[yr.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Vf=(t,e,r)=>{let{prefix:n}=r;if(n!==qe.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},zf=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},wi=112,qf=18,w3=(t,e,r)=>{let n=wn(t),i=n+wn(e),o=new Uint8Array(i+r.byteLength);return bn(t,o,0),bn(e,o,n),o.set(r,i),o},$f=Symbol.for("@ipld/js-cid/CID");var Vo={...To,..._o,...Ro,...Po,...No,...bo,...Lo,...wo,...Eo,...ko},Ev={...Uo,...Mo};var Hf=Symbol.for("nodejs.util.inspect.custom"),E3=Object.values(Vo).map(t=>t.decoder).reduce((t,e)=>t.or(e),Vo.identity.decoder),S3=114,zo=36,qo=37,Ei=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[u3]=!0;toString(){return this.string==null&&(this.string=qe.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ae.createV1(S3,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return se(this.multihash.bytes,e);if(typeof e=="string")return Se(e).equals(this);if(e?.multihash?.bytes!=null)return se(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Hf](){return`PeerId(${this.toString()})`}},An=class extends Ei{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},In=class extends Ei{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Cn=class extends Ei{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Se(t,e){if(e=e??E3,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=bi(qe.decode(`z${t}`));return t.startsWith("12D")?new In({multihash:r}):t.startsWith("16U")?new Cn({multihash:r}):new An({multihash:r})}return Kr(E3.decode(t))}function Kr(t){try{let e=bi(t);if(e.code===mr.code){if(e.digest.length===zo)return new In({multihash:e});if(e.digest.length===qo)return new Cn({multihash:e})}if(e.code===xe.code)return new An({multihash:e})}catch{return Gf(ae.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Gf(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==S3)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===xe.code)return new An({multihash:t.multihash});if(e.code===mr.code){if(e.digest.length===zo)return new In({multihash:t.multihash});if(e.digest.length===qo)return new Cn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function A3(t,e){return t.length===zo?new In({multihash:Pt(mr.code,t),privateKey:e}):t.length===qo?new Cn({multihash:Pt(mr.code,t),privateKey:e}):new An({multihash:await xe.digest(t),publicKey:t,privateKey:e})}var R0=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Yo={};V(Yo,{base58btc:()=>je,base58flickr:()=>jf});function Qf(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var y=0,g=0,m=0,v=h.length;m!==v&&h[m]===0;)m++,y++;for(var w=(v-m)*f+1>>>0,T=new Uint8Array(w);m!==v;){for(var S=h[m],I=0,L=w-1;(S!==0||I<g)&&L!==-1;L--,I++)S+=256*T[L]>>>0,T[L]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");g=I,m++}for(var F=w-g;F!==w&&T[F]===0;)F++;for(var re=c.repeat(y);F<w;++F)re+=t.charAt(T[F]);return re}function p(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var y=0;if(h[y]!==" "){for(var g=0,m=0;h[y]===c;)g++,y++;for(var v=(h.length-y)*u+1>>>0,w=new Uint8Array(v);h[y];){var T=r[h.charCodeAt(y)];if(T===255)return;for(var S=0,I=v-1;(T!==0||S<m)&&I!==-1;I--,S++)T+=a*w[I]>>>0,w[I]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");m=S,y++}if(h[y]!==" "){for(var L=v-m;L!==v&&w[L]===0;)L++;for(var F=new Uint8Array(g+(v-L)),re=g;L!==v;)F[re++]=w[L++];return F}}}function d(h){var y=p(h);if(y)return y;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:d}}var Yf=Qf,Wf=Yf,I3=Wf;var Fv=new Uint8Array(0);var C3=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Zt=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var B3=t=>new TextEncoder().encode(t),T3=t=>new TextDecoder().decode(t);var $o=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ho=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return R3(this,e)}},Go=class{constructor(e){this.decoders=e}or(e){return R3(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},R3=(t,e)=>new Go({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Qo=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new $o(e,r,n),this.decoder=new Ho(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Bn=({name:t,prefix:e,encode:r,decode:n})=>new Qo(t,e,r,n),vr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=I3(r,e);return Bn({prefix:t,name:e,encode:n,decode:o=>Zt(i(o))})},Zf=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[t[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Xf=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ae=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Bn({prefix:e,name:t,encode(i){return Xf(i,n,r)},decode(i){return Zf(i,n,r,t)}});var je=vr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),jf=vr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Jf=L3,P3=128,el=127,tl=~el,rl=Math.pow(2,31);function L3(t,e,r){e=e||[],r=r||0;for(var n=r;t>=rl;)e[r++]=t&255|P3,t/=128;for(;t&tl;)e[r++]=t&255|P3,t>>>=7;return e[r]=t|0,L3.bytes=r-n+1,e}var nl=Wo,il=128,N3=127;function Wo(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Wo.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&N3)<<i:(s&N3)*Math.pow(2,i),i+=7}while(s>=il);return Wo.bytes=o-n,r}var ol=Math.pow(2,7),sl=Math.pow(2,14),al=Math.pow(2,21),cl=Math.pow(2,28),ul=Math.pow(2,35),fl=Math.pow(2,42),ll=Math.pow(2,49),hl=Math.pow(2,56),dl=Math.pow(2,63),pl=function(t){return t<ol?1:t<sl?2:t<al?3:t<cl?4:t<ul?5:t<fl?6:t<ll?7:t<hl?8:t<dl?9:10},yl={encode:Jf,decode:nl,encodingLength:pl},gl=yl,Si=gl;var Ai=(t,e=0)=>[Si.decode(t,e),Si.decode.bytes],Tn=(t,e,r=0)=>(Si.encode(t,e,r),e),_n=t=>Si.encodingLength(t);var Vr=(t,e)=>{let r=e.byteLength,n=_n(t),i=n+_n(r),o=new Uint8Array(i+r);return Tn(t,o,0),Tn(r,o,n),o.set(e,i),new Rn(t,r,e,o)},N0=t=>{let e=Zt(t),[r,n]=Ai(e),[i,o]=Ai(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Rn(r,i,s,e)},k3=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&C3(t.bytes,r.bytes)}},Rn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Zo={};V(Zo,{base32:()=>Xt,base32hex:()=>bl,base32hexpad:()=>El,base32hexpadupper:()=>Sl,base32hexupper:()=>wl,base32pad:()=>vl,base32padupper:()=>xl,base32upper:()=>ml,base32z:()=>Al});var Xt=Ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ml=Ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),vl=Ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),xl=Ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),bl=Ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),wl=Ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),El=Ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Sl=Ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Al=Ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var D3=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Cl(r,Xo(t),e||je.encoder);default:return Bl(r,Xo(t),e||Xt.encoder)}};var F3=new WeakMap,Xo=t=>{let e=F3.get(t);if(e==null){let r=new Map;return F3.set(t,r),r}return e},ye=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Ii)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Tl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return ye.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Vr(e,r);return ye.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return ye.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&k3(e.multihash,n.multihash)}toString(e){return D3(this,e)}toJSON(){return{"/":D3(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof ye)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new ye(n,i,o,s||O3(n,i,o.bytes))}else if(r[_l]===!0){let{version:n,multihash:i,code:o}=r,s=N0(i);return ye.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ii)throw new Error(`Version 0 CID must use dag-pb (code: ${Ii}) block encoding`);return new ye(e,r,n,n.bytes)}case 1:{let i=O3(e,r,n.bytes);return new ye(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return ye.create(0,Ii,e)}static createV1(e,r){return ye.create(1,e,r)}static decode(e){let[r,n]=ye.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=ye.inspectBytes(e),n=r.size-r.multihashSize,i=Zt(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Rn(r.multihashCode,r.digestSize,o,i);return[r.version===0?ye.createV0(s):ye.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,p]=Ai(e.subarray(r));return r+=p,l},i=n(),o=Ii;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=Il(e,r),o=ye.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Xo(o).set(n,e),o}},Il=(t,e)=>{switch(t[0]){case"Q":{let r=e||je;return[je.prefix,r.decode(`${je.prefix}${t}`)]}case je.prefix:{let r=e||je;return[je.prefix,r.decode(t)]}case Xt.prefix:{let r=e||Xt;return[Xt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Cl=(t,e,r)=>{let{prefix:n}=r;if(n!==je.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},Bl=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Ii=112,Tl=18,O3=(t,e,r)=>{let n=_n(t),i=n+_n(e),o=new Uint8Array(i+r.byteLength);return Tn(t,o,0),Tn(e,o,n),o.set(r,i),o},_l=Symbol.for("@ipld/js-cid/CID");var rs={};V(rs,{identity:()=>Dl});function Rl(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var y=0,g=0,m=0,v=h.length;m!==v&&h[m]===0;)m++,y++;for(var w=(v-m)*f+1>>>0,T=new Uint8Array(w);m!==v;){for(var S=h[m],I=0,L=w-1;(S!==0||I<g)&&L!==-1;L--,I++)S+=256*T[L]>>>0,T[L]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");g=I,m++}for(var F=w-g;F!==w&&T[F]===0;)F++;for(var re=c.repeat(y);F<w;++F)re+=t.charAt(T[F]);return re}function p(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var y=0;if(h[y]!==" "){for(var g=0,m=0;h[y]===c;)g++,y++;for(var v=(h.length-y)*u+1>>>0,w=new Uint8Array(v);h[y];){var T=r[h.charCodeAt(y)];if(T===255)return;for(var S=0,I=v-1;(T!==0||S<m)&&I!==-1;I--,S++)T+=a*w[I]>>>0,w[I]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");m=S,y++}if(h[y]!==" "){for(var L=v-m;L!==v&&w[L]===0;)L++;for(var F=new Uint8Array(g+(v-L)),re=g;L!==v;)F[re++]=w[L++];return F}}}function d(h){var y=p(h);if(y)return y;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:d}}var Pl=Rl,Nl=Pl,U3=Nl;var Xv=new Uint8Array(0);var M3=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},jt=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var K3=t=>new TextEncoder().encode(t),V3=t=>new TextDecoder().decode(t);var jo=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Jo=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return q3(this,e)}},es=class{constructor(e){this.decoders=e}or(e){return q3(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},q3=(t,e)=>new es({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),ts=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new jo(e,r,n),this.decoder=new Jo(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Nn=({name:t,prefix:e,encode:r,decode:n})=>new ts(t,e,r,n),xr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=U3(r,e);return Nn({prefix:t,name:e,encode:n,decode:o=>jt(i(o))})},Ll=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[t[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},kl=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ie=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Nn({prefix:e,name:t,encode(i){return kl(i,n,r)},decode(i){return Ll(i,n,r,t)}});var Dl=Nn({prefix:"\0",name:"identity",encode:t=>V3(t),decode:t=>K3(t)});var ns={};V(ns,{base2:()=>Fl});var Fl=Ie({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var is={};V(is,{base8:()=>Ol});var Ol=Ie({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var os={};V(os,{base10:()=>Ul});var Ul=xr({prefix:"9",name:"base10",alphabet:"0123456789"});var ss={};V(ss,{base16:()=>Ml,base16upper:()=>Kl});var Ml=Ie({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Kl=Ie({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var as={};V(as,{base32:()=>Ln,base32hex:()=>$l,base32hexpad:()=>Gl,base32hexpadupper:()=>Ql,base32hexupper:()=>Hl,base32pad:()=>zl,base32padupper:()=>ql,base32upper:()=>Vl,base32z:()=>Yl});var Ln=Ie({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Vl=Ie({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),zl=Ie({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ql=Ie({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),$l=Ie({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Hl=Ie({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Gl=Ie({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Ql=Ie({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Yl=Ie({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var cs={};V(cs,{base36:()=>Wl,base36upper:()=>Zl});var Wl=xr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Zl=xr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var us={};V(us,{base58btc:()=>Nt,base58flickr:()=>Xl});var Nt=xr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Xl=xr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var fs={};V(fs,{base64:()=>jl,base64pad:()=>Jl,base64url:()=>e7,base64urlpad:()=>t7});var jl=Ie({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Jl=Ie({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),e7=Ie({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),t7=Ie({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ls={};V(ls,{base256emoji:()=>s7});var $3=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),r7=$3.reduce((t,e,r)=>(t[r]=e,t),[]),n7=$3.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function i7(t){return t.reduce((e,r)=>(e+=r7[r],e),"")}function o7(t){let e=[];for(let r of t){let n=n7[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var s7=Nn({prefix:"\u{1F680}",name:"base256emoji",encode:i7,decode:o7});var ys={};V(ys,{sha256:()=>I7,sha512:()=>C7});var a7=Q3,H3=128,c7=127,u7=~c7,f7=Math.pow(2,31);function Q3(t,e,r){e=e||[],r=r||0;for(var n=r;t>=f7;)e[r++]=t&255|H3,t/=128;for(;t&u7;)e[r++]=t&255|H3,t>>>=7;return e[r]=t|0,Q3.bytes=r-n+1,e}var l7=hs,h7=128,G3=127;function hs(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw hs.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&G3)<<i:(s&G3)*Math.pow(2,i),i+=7}while(s>=h7);return hs.bytes=o-n,r}var d7=Math.pow(2,7),p7=Math.pow(2,14),y7=Math.pow(2,21),g7=Math.pow(2,28),m7=Math.pow(2,35),v7=Math.pow(2,42),x7=Math.pow(2,49),b7=Math.pow(2,56),w7=Math.pow(2,63),E7=function(t){return t<d7?1:t<p7?2:t<y7?3:t<g7?4:t<m7?5:t<v7?6:t<x7?7:t<b7?8:t<w7?9:10},S7={encode:a7,decode:l7,encodingLength:E7},A7=S7,Ci=A7;var Bi=(t,e=0)=>[Ci.decode(t,e),Ci.decode.bytes],kn=(t,e,r=0)=>(Ci.encode(t,e,r),e),Dn=t=>Ci.encodingLength(t);var zr=(t,e)=>{let r=e.byteLength,n=Dn(t),i=n+Dn(r),o=new Uint8Array(i+r);return kn(t,o,0),kn(r,o,n),o.set(e,i),new Fn(t,r,e,o)},Y3=t=>{let e=jt(t),[r,n]=Bi(e),[i,o]=Bi(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Fn(r,i,s,e)},W3=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&M3(t.bytes,r.bytes)}},Fn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var ps=({name:t,code:e,encode:r})=>new ds(t,e,r),ds=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?zr(this.code,r):r.then(n=>zr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var X3=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),I7=ps({name:"sha2-256",code:18,encode:X3("SHA-256")}),C7=ps({name:"sha2-512",code:19,encode:X3("SHA-512")});var gs={};V(gs,{identity:()=>_7});var j3=0,B7="identity",J3=jt,T7=t=>zr(j3,J3(t)),_7={code:j3,name:B7,encode:J3,digest:T7};var vx=new TextEncoder,xx=new TextDecoder;var e4=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return L7(r,ms(t),e||Nt.encoder);default:return k7(r,ms(t),e||Ln.encoder)}};var t4=new WeakMap,ms=t=>{let e=t4.get(t);if(e==null){let r=new Map;return t4.set(t,r),r}return e},De=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==_i)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==D7)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return De.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=zr(e,r);return De.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return De.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&W3(e.multihash,n.multihash)}toString(e){return e4(this,e)}toJSON(){return{"/":e4(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof De)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new De(n,i,o,s||r4(n,i,o.bytes))}else if(r[F7]===!0){let{version:n,multihash:i,code:o}=r,s=Y3(i);return De.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==_i)throw new Error(`Version 0 CID must use dag-pb (code: ${_i}) block encoding`);return new De(e,r,n,n.bytes)}case 1:{let i=r4(e,r,n.bytes);return new De(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return De.create(0,_i,e)}static createV1(e,r){return De.create(1,e,r)}static decode(e){let[r,n]=De.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=De.inspectBytes(e),n=r.size-r.multihashSize,i=jt(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Fn(r.multihashCode,r.digestSize,o,i);return[r.version===0?De.createV0(s):De.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,p]=Bi(e.subarray(r));return r+=p,l},i=n(),o=_i;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=N7(e,r),o=De.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ms(o).set(n,e),o}},N7=(t,e)=>{switch(t[0]){case"Q":{let r=e||Nt;return[Nt.prefix,r.decode(`${Nt.prefix}${t}`)]}case Nt.prefix:{let r=e||Nt;return[Nt.prefix,r.decode(t)]}case Ln.prefix:{let r=e||Ln;return[Ln.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},L7=(t,e,r)=>{let{prefix:n}=r;if(n!==Nt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},k7=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},_i=112,D7=18,r4=(t,e,r)=>{let n=Dn(t),i=n+Dn(e),o=new Uint8Array(i+r.byteLength);return kn(t,o,0),kn(e,o,n),o.set(r,i),o},F7=Symbol.for("@ipld/js-cid/CID");var vs={...rs,...ns,...is,...os,...ss,...as,...cs,...us,...fs,...ls},_x={...ys,...gs};function Jt(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function er(t=0){return globalThis.Buffer?.alloc!=null?Jt(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function ot(t=0){return globalThis.Buffer?.allocUnsafe!=null?Jt(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function i4(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var n4=i4("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),xs=i4("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=ot(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),O7={utf8:n4,"utf-8":n4,hex:vs.base16,latin1:xs,ascii:xs,binary:xs,...vs},k0=O7;function K(t,e="utf8"){let r=k0[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var $s=G(Ri(),1);function ue(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=ot(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Jt(r)}var On=G(Ri(),1);var jx=parseInt("0xFFFF",16),Jx=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Es={};V(Es,{identity:()=>t9});var t9=Bn({prefix:"\0",name:"identity",encode:t=>T3(t),decode:t=>B3(t)});var Ss={};V(Ss,{base2:()=>r9});var r9=Ae({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var As={};V(As,{base8:()=>n9});var n9=Ae({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Is={};V(Is,{base10:()=>i9});var i9=vr({prefix:"9",name:"base10",alphabet:"0123456789"});var Cs={};V(Cs,{base16:()=>o9,base16upper:()=>s9});var o9=Ae({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),s9=Ae({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Bs={};V(Bs,{base36:()=>a9,base36upper:()=>c9});var a9=vr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),c9=vr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ts={};V(Ts,{base64:()=>u9,base64pad:()=>f9,base64url:()=>l9,base64urlpad:()=>h9});var u9=Ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),f9=Ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),l9=Ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),h9=Ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var _s={};V(_s,{base256emoji:()=>m9});var g4=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),d9=g4.reduce((t,e,r)=>(t[r]=e,t),[]),p9=g4.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function y9(t){return t.reduce((e,r)=>(e+=d9[r],e),"")}function g9(t){let e=[];for(let r of t){let n=p9[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var m9=Bn({prefix:"\u{1F680}",name:"base256emoji",encode:y9,decode:g9});var Ns={};V(Ns,{sha256:()=>v9,sha512:()=>x9});var Ps=({name:t,code:e,encode:r})=>new Rs(t,e,r),Rs=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Vr(this.code,r):r.then(n=>Vr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var v4=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),v9=Ps({name:"sha2-256",code:18,encode:v4("SHA-256")}),x9=Ps({name:"sha2-512",code:19,encode:v4("SHA-512")});var Ls={};V(Ls,{identity:()=>E9});var x4=0,b9="identity",b4=Zt,w9=t=>Vr(x4,b4(t)),E9={code:x4,name:b9,encode:b4,digest:w9};var Lb=new TextEncoder,kb=new TextDecoder;var w4={...Es,...Ss,...As,...Is,...Cs,...Zo,...Bs,...Yo,...Ts,..._s},Mb={...Ns,...Ls};function be(t,e="utf8"){let r=k0[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Jt(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Lt=G(Ri(),1);var E4=Y2,I9=W2,ks=function(t){let e=0;if(t=t.toString().trim(),E4(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(I9(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=E4(r[n]),s;o&&(s=ks(r[n]),r[n]=K(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,K(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},S4=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Pi={},Ds={},B9=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];B9.forEach(t=>{let e=T9(...t);Ds[e.code]=e,Pi[e.name]=e});function T9(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ie(t){if(typeof t=="number"){if(Ds[t]!=null)return Ds[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Pi[t]!=null)return Pi[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var nw=ie("ip4"),iw=ie("ip6"),ow=ie("ipcidr");function T4(t,e){switch(ie(t).code){case 4:case 41:return R9(e);case 42:return C4(e);case 6:case 273:case 33:case 132:return R4(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return C4(e);case 421:return k9(e);case 444:return B4(e);case 445:return B4(e);case 466:return L9(e);default:return K(e,"base16")}}function _4(t,e){switch(ie(t).code){case 4:return A4(e);case 41:return A4(e);case 42:return I4(e);case 6:case 273:case 33:case 132:return Os(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return I4(e);case 421:return P9(e);case 444:return D9(e);case 445:return F9(e);case 466:return N9(e);default:return be(e,"base16")}}var Fs=Object.values(w4).map(t=>t.decoder),_9=function(){let t=Fs[0].or(Fs[1]);return Fs.slice(2).forEach(e=>t=t.or(e)),t}();function A4(t){if(!xn(t))throw new Error("invalid ip address");return ks(t)}function R9(t){let e=S4(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!xn(e))throw new Error("invalid ip address");return e}function Os(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function R4(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function I4(t){let e=be(t),r=Uint8Array.from(Lt.default.encode(e.length));return ue([r,e],r.length+e.length)}function C4(t){let e=Lt.default.decode(t);if(t=t.slice(Lt.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return K(t)}function P9(t){let e;t[0]==="Q"||t[0]==="1"?e=N0(je.decode(`z${t}`)).bytes:e=ye.parse(t).multihash.bytes;let r=Uint8Array.from(Lt.default.encode(e.length));return ue([r,e],r.length+e.length)}function N9(t){let e=_9.decode(t),r=Uint8Array.from(Lt.default.encode(e.length));return ue([r,e],r.length+e.length)}function L9(t){let e=Lt.default.decode(t),r=t.slice(Lt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+K(r,"base64url")}function k9(t){let e=Lt.default.decode(t),r=t.slice(Lt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return K(r,"base58btc")}function D9(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=Xt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Os(n);return ue([r,i],r.length+i.length)}function F9(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=Xt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Os(n);return ue([r,i],r.length+i.length)}function B4(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=K(e,"base32"),i=R4(r);return`${n}:${i}`}function O9(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=ie(i);if(o.size===0){e.push([i]);continue}if(n++,n>=r.length)throw N4("invalid address: "+t);if(o.path===!0){e.push([i,zs(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function U9(t){let e=[];return t.map(r=>{let n=O0(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),zs(e.join("/"))}function M9(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=O0(e);return e.length>1?[r.code,_4(r.code,e[1])]:[r.code]})}function Us(t){return t.map(e=>{let r=O0(e);return e[1]!=null?[r.code,T4(r.code,e[1])]:[r.code]})}function Ms(t){return F0(ue(t.map(e=>{let r=O0(e),n=Uint8Array.from(On.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=ue([n,e[1]])),n})))}function Ks(t,e){return t.size>0?t.size/8:t.size===0?0:On.default.decode(e)+(On.default.decode.bytes??0)}function D0(t){let e=[],r=0;for(;r<t.length;){let n=On.default.decode(t,r),i=On.default.decode.bytes??0,o=ie(n),s=Ks(o,t.slice(r+i));if(s===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+s);if(r+=s+i,r>t.length)throw N4("Invalid address Uint8Array: "+K(t,"base16"));e.push([n,a])}return e}function Vs(t){let e=D0(t),r=Us(e);return U9(r)}function K9(t){t=zs(t);let e=O9(t),r=M9(e);return Ms(r)}function P4(t){return K9(t)}function F0(t){let e=V9(t);if(e!=null)throw e;return Uint8Array.from(t)}function V9(t){try{D0(t)}catch(e){return e}}function zs(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function N4(t){return new Error("Error parsing address: "+t)}function O0(t){return ie(t[0])}var q9=Symbol.for("nodejs.util.inspect.custom"),$9=[ie("dns").code,ie("dns4").code,ie("dns6").code,ie("dnsaddr").code],H9=new Map,L4=Symbol.for("@multiformats/js-multiaddr/multiaddr");function G9(t){return!!t?.[L4]}var tr=class{bytes;#e;#r;#n;#t;[L4]=!0;constructor(e){if(e==null&&(e=""),e instanceof Uint8Array)this.bytes=F0(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=P4(e)}else if(G9(e))this.bytes=F0(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#e==null&&(this.#e=Vs(this.bytes)),this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=ie("tcp"),a=ie("udp"),c=ie("ip4"),u=ie("ip6"),f=ie("dns6"),l=ie("ip6zone");for(let[d,h]of this.stringTuples())d===l.code&&(o=`%${h??""}`),$9.includes(d)&&(r=s.name,i=443,n=`${h??""}${o}`,e=d===f.code?6:4),(d===s.code||d===a.code)&&(r=ie(d).name,i=parseInt(h??"")),(d===c.code||d===u.code)&&(r=ie(d).name,n=`${h??""}${o}`,e=d===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(e=>Object.assign({},ie(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=$s.default.decode(r,n),o=$s.default.decode.bytes??0,s=ie(i),a=Ks(s,r.slice(n+o));n+=a+o,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return this.#r==null&&(this.#r=D0(this.bytes)),this.#r}stringTuples(){return this.#n==null&&(this.#n=Us(this.tuples())),this.#n}encapsulate(e){return e=new tr(e),new tr(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new tr(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new tr(Ms(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Pi.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?K(je.decode(`z${n}`),"base58btc"):K(ye.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#t===void 0)try{this.#t=this.stringTuples().filter(e=>ie(e[0]).path===!0)[0][1],this.#t==null&&(this.#t=null)}catch{this.#t=null}return this.#t}equals(e){return se(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=H9.get(r.name);if(n==null)throw new R0(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new tr(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[q9](){return`Multiaddr(${Vs(this.bytes)})`}};function qs(t){return new tr(t)}var na=G(Ws(),1),bc=G(hc(),1),wc=G($r(),1),ia=G(ra(),1),Ec=G(xc(),1);function th(){wc.default._configure(),na.default._configure(bc.default),ia.default._configure(Ec.default)}th();var Sc=["uint64","int64","sint64","fixed64","sfixed64"];function rh(t){for(let e of Sc){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function oa(t){return rh(new na.default(t))}function nh(t){for(let e of Sc){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function sa(){return nh(ia.default.create())}function Ft(t,e){let r=oa(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function Ot(t,e){let r=sa();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Mn;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Mn||(Mn={}));function z0(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Kn(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return z0("enum",Mn.VARINT,r,n)}function Ut(t,e){return z0("message",Mn.LENGTH_DELIMITED,t,e)}var ki;(function(t){let e;t.codec=()=>(e==null&&(e=Ut((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ot(r,t.codec()),t.decode=r=>Ft(r,t.codec())})(ki||(ki={}));function Ac(t){let e=t.getUTCFullYear(),r=String(t.getUTCMonth()+1).padStart(2,"0"),n=String(t.getUTCDate()).padStart(2,"0"),i=String(t.getUTCHours()).padStart(2,"0"),o=String(t.getUTCMinutes()).padStart(2,"0"),s=String(t.getUTCSeconds()).padStart(2,"0"),a=t.getUTCMilliseconds(),c=String(a*1e3*1e3).padStart(9,"0");return`${e}-${r}-${n}T${i}:${o}:${s}.${c}Z`}function Ic(t){let e=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(t).trim().match(e);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),i=parseInt(r[2],10)-1,o=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),u=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,i,o,s,a,c,u))}var Fe=class{key;value;timeReceived;constructor(e,r,n){if(!(e instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=e,this.value=r,this.timeReceived=n}serialize(){return ki.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:Ac(this.timeReceived)}}static deserialize(e){let r=ki.decode(e);return new Fe(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(e){let r=Ic(e.timeReceived);if(e.key==null)throw new Error("key missing from deserialized object");if(e.value==null)throw new Error("value missing from deserialized object");return new Fe(e.key,e.value,r)}};var Cc;(function(t){let e;t.codec=()=>(e==null&&(e=Ut((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&(n.uint32(18),n.bytes(r.value)),r.author!=null&&(n.uint32(26),n.bytes(r.author)),r.signature!=null&&(n.uint32(34),n.bytes(r.signature)),r.timeReceived!=null&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 3:i.author=r.bytes();break;case 4:i.signature=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ot(r,t.codec()),t.decode=r=>Ft(r,t.codec())})(Cc||(Cc={}));var Er;(function(t){let e;(function(a){a.PUT_VALUE="PUT_VALUE",a.GET_VALUE="GET_VALUE",a.ADD_PROVIDER="ADD_PROVIDER",a.GET_PROVIDERS="GET_PROVIDERS",a.FIND_NODE="FIND_NODE",a.PING="PING"})(e=t.MessageType||(t.MessageType={}));let r;(function(a){a[a.PUT_VALUE=0]="PUT_VALUE",a[a.GET_VALUE=1]="GET_VALUE",a[a.ADD_PROVIDER=2]="ADD_PROVIDER",a[a.GET_PROVIDERS=3]="GET_PROVIDERS",a[a.FIND_NODE=4]="FIND_NODE",a[a.PING=5]="PING"})(r||(r={})),function(a){a.codec=()=>Kn(r)}(e=t.MessageType||(t.MessageType={}));let n;(function(a){a.NOT_CONNECTED="NOT_CONNECTED",a.CONNECTED="CONNECTED",a.CAN_CONNECT="CAN_CONNECT",a.CANNOT_CONNECT="CANNOT_CONNECT"})(n=t.ConnectionType||(t.ConnectionType={}));let i;(function(a){a[a.NOT_CONNECTED=0]="NOT_CONNECTED",a[a.CONNECTED=1]="CONNECTED",a[a.CAN_CONNECT=2]="CAN_CONNECT",a[a.CANNOT_CONNECT=3]="CANNOT_CONNECT"})(i||(i={})),function(a){a.codec=()=>Kn(i)}(n=t.ConnectionType||(t.ConnectionType={}));let o;(function(a){let c;a.codec=()=>(c==null&&(c=Ut((u,f,l={})=>{if(l.lengthDelimited!==!1&&f.fork(),u.id!=null&&(f.uint32(10),f.bytes(u.id)),u.addrs!=null)for(let p of u.addrs)f.uint32(18),f.bytes(p);u.connection!=null&&(f.uint32(24),t.ConnectionType.codec().encode(u.connection,f)),l.lengthDelimited!==!1&&f.ldelim()},(u,f)=>{let l={addrs:[]},p=f==null?u.len:u.pos+f;for(;u.pos<p;){let d=u.uint32();switch(d>>>3){case 1:l.id=u.bytes();break;case 2:l.addrs.push(u.bytes());break;case 3:l.connection=t.ConnectionType.codec().decode(u);break;default:u.skipType(d&7);break}}return l})),c),a.encode=u=>Ot(u,a.codec()),a.decode=u=>Ft(u,a.codec())})(o=t.Peer||(t.Peer={}));let s;t.codec=()=>(s==null&&(s=Ut((a,c,u={})=>{if(u.lengthDelimited!==!1&&c.fork(),a.type!=null&&(c.uint32(8),t.MessageType.codec().encode(a.type,c)),a.clusterLevelRaw!=null&&(c.uint32(80),c.int32(a.clusterLevelRaw)),a.key!=null&&(c.uint32(18),c.bytes(a.key)),a.record!=null&&(c.uint32(26),c.bytes(a.record)),a.closerPeers!=null)for(let f of a.closerPeers)c.uint32(66),t.Peer.codec().encode(f,c);if(a.providerPeers!=null)for(let f of a.providerPeers)c.uint32(74),t.Peer.codec().encode(f,c);u.lengthDelimited!==!1&&c.ldelim()},(a,c)=>{let u={closerPeers:[],providerPeers:[]},f=c==null?a.len:a.pos+c;for(;a.pos<f;){let l=a.uint32();switch(l>>>3){case 1:u.type=t.MessageType.codec().decode(a);break;case 10:u.clusterLevelRaw=a.int32();break;case 2:u.key=a.bytes();break;case 3:u.record=a.bytes();break;case 8:u.closerPeers.push(t.Peer.codec().decode(a,a.uint32()));break;case 9:u.providerPeers.push(t.Peer.codec().decode(a,a.uint32()));break;default:a.skipType(l&7);break}}return u})),s),t.encode=a=>Ot(a,t.codec()),t.decode=a=>Ft(a,t.codec())})(Er||(Er={}));var _e=Er.MessageType,oh=Er.ConnectionType,_c=Object.keys(_e),ge=class{type;key;clusterLevelRaw;closerPeers;providerPeers;record;constructor(e,r,n){if(!(r instanceof Uint8Array))throw new Error("Key must be a Uint8Array");this.type=e,this.key=r,this.clusterLevelRaw=n,this.closerPeers=[],this.providerPeers=[],this.record=void 0}get clusterLevel(){let e=this.clusterLevelRaw-1;return e<0?0:e}set clusterLevel(e){this.clusterLevelRaw=e}serialize(){return Er.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(Bc),providerPeers:this.providerPeers.map(Bc),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(e){let r=Er.decode(e),n=new ge(r.type??Er.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(Tc),n.providerPeers=r.providerPeers.map(Tc),r.record?.length!=null&&(n.record=Fe.deserialize(r.record)),n}};function Bc(t){return{id:t.id.toBytes(),addrs:(t.multiaddrs??[]).map(r=>r.bytes),connection:oh.CONNECTED}}function Tc(t){if(t.id==null)throw new Error("Invalid peer in message");return{id:Kr(t.id),multiaddrs:(t.addrs??[]).map(e=>qs(e)),protocols:[]}}function aa(t,e={}){let r={...t,name:"SEND_QUERY",type:0,messageName:t.type,messageType:_c.indexOf(t.type.toString())};return e.onProgress?.(new Be("kad-dht:query:send-query",{detail:r})),r}function Di(t,e={}){let r={...t,name:"PEER_RESPONSE",type:1,messageName:t.messageType,closer:t.closer!=null?t.closer:[],providers:t.providers!=null?t.providers:[]};return e.onProgress?.(new Be("kad-dht:query:peer-response",{detail:r})),r}function q0(t,e={}){let r={...t,name:"FINAL_PEER",type:2};return e.onProgress?.(new Be("kad-dht:query:final-peer",{detail:r})),r}function Qe(t,e={}){let r={...t,name:"QUERY_ERROR",type:3};return e.onProgress?.(new Be("kad-dht:query:query-error",{detail:r})),r}function ca(t,e={}){let r={...t,name:"PROVIDER",type:4};return e.onProgress?.(new Be("kad-dht:query:provider",{detail:r})),r}function Fi(t,e={}){let r={...t,name:"VALUE",type:5};return e.onProgress?.(new Be("kad-dht:query:value",{detail:r})),r}function ua(t,e={}){let r={...t,name:"DIAL_PEER",type:7};return e.onProgress?.(new Be("kad-dht:query:dial-peer",{detail:r})),r}function Rc(t,e,r){if(r.length===0){let s="No records given";throw new _(s,"ERR_NO_RECORDS_RECEIVED")}let i=K(e).split("/");if(i.length<3){let s="Record key does not have a selector function";throw new _(s,"ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")}let o=t[i[1].toString()];if(o==null){let s=`Unrecognized key prefix: ${i[1]}`;throw new _(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(e,r)}function sh(t,e){return 0}var Pc={pk:sh};async function Vn(t,e){let r=e.key,i=K(r).split("/");if(i.length<3)return;let o=t[i[1].toString()];if(o==null){let s="Invalid record keytype";throw new _(s,"ERR_INVALID_RECORD_KEY_TYPE")}await o(r,e.value)}var ah=async(t,e)=>{if(!(t instanceof Uint8Array))throw new _('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(t.byteLength<5)throw new _("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(K(t.subarray(0,4))!=="/pk/")throw new _("key was not prefixed with /pk/","ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=t.slice(4),i=await xe.digest(e);if(!se(n,i.bytes))throw new _("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},Nc={pk:ah};var Lc=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var rr="/",kc=new TextEncoder().encode(rr),$0=kc[0],Ue=class{_buf;constructor(e,r){if(typeof e=="string")this._buf=be(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==$0)throw new Error("Invalid key")}toString(e="utf8"){return K(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Ue(e.join(rr))}static random(){return new Ue(Lc().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Ue(e):typeof e.uint8Array=="function"?new Ue(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=kc),this._buf[0]!==$0){let e=new Uint8Array(this._buf.byteLength+1);e.fill($0,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===$0;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return Ue.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(rr).slice(1)}type(){return ch(this.baseNamespace())}name(){return uh(this.baseNamespace())}instance(e){return new Ue(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(rr)||(e+=rr),e+=this.type(),new Ue(e)}parent(){let e=this.list();return e.length===1?new Ue(rr):new Ue(e.slice(0,-1).join(rr))}child(e){return this.toString()===rr?e:e.toString()===rr?this:new Ue(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return Ue.withNamespaces([...this.namespaces(),...fh(e.map(r=>r.namespaces()))])}};function ch(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function uh(t){let e=t.split(":");return e[e.length-1]}function fh(t){return[].concat(...t)}var lh=be("/pk/");function zn(t){return{...t,multiaddrs:t.multiaddrs.filter(e=>{let[[r,n]]=e.stringTuples();if(r===53||r===54||r===55)return n!=="localhost";if(r!==4&&r!==6||n==null)return!1;let i=gi(n);return i==null?!0:!i})}}function qn(t){return{...t,multiaddrs:t.multiaddrs.filter(e=>{let[[r,n]]=e.stringTuples();if(n==="localhost")return!0;if(r!==4&&r!==6||n==null)return!1;let i=gi(n);return i??!1})}}async function Sr(t){return(await xe.digest(t)).digest}async function Et(t){return Sr(t.toBytes())}function nr(t){return new Ue(`${o3}/${K(t,"base32")}`,!1)}function Dc(t){return ue([lh,t.toBytes()])}function Fc(t){return K(t.subarray(0,4))==="/pk/"}function Oc(t){return Kr(t.subarray(4))}function fa(t,e){let r=new Date;return new Fe(t,e,r).serialize()}function Uc(t,e=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{t()},e)}}var H0=class{log;components;validators;selectors;peerRouting;queryManager;network;constructor(e,r){let{validators:n,selectors:i,peerRouting:o,queryManager:s,network:a,lan:c}=r;this.components=e,this.log=$(`libp2p:kad-dht:${c?"lan":"wan"}:content-fetching`),this.validators=n,this.selectors=i,this.peerRouting=o,this.queryManager=s,this.network=a}async putLocal(e,r){let n=nr(e);await this.components.datastore.put(n,r)}async getLocal(e){this.log("getLocal %b",e);let r=nr(e);this.log("fetching record for key %k",r);let n=await this.components.datastore.get(r);this.log("found %k in local datastore",r);let i=Fe.deserialize(n);return await Vn(this.validators,i),i}async*sendCorrectionRecord(e,r,n,i={}){this.log("sendCorrection for %b",e);let o=fa(e,n);for(let{value:s,from:a}of r){if(se(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=nr(e);this.log(`Storing corrected record for key ${f.toString()}`),await this.components.datastore.put(f,o.subarray())}catch(f){this.log.error("Failed error correcting self",f)}continue}let c=!1,u=new ge(_e.PUT_VALUE,e,0);u.record=Fe.deserialize(o);for await(let f of this.network.sendRequest(a,u,i))f.name==="PEER_RESPONSE"&&f.record!=null&&se(f.record.value,Fe.deserialize(o).value)&&(c=!0),yield f;c||(yield Qe({from:a,error:new _("value not put correctly","ERR_PUT_VALUE_INVALID")},i)),this.log.error("Failed error correcting entry")}}async*put(e,r,n={}){this.log("put key %b value %b",e,r);let i=fa(e,r),o=nr(e);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*xt(this.peerRouting.getClosestPeers(e,{signal:n.signal}),s=>B0(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[],u=new ge(_e.PUT_VALUE,e,0);u.record=Fe.deserialize(i),this.log("send put to %p",a.peer.id);for await(let f of this.network.sendRequest(a.peer.id,u,n))c.push(f),f.name==="PEER_RESPONSE"&&(f.record!=null&&se(f.record.value,Fe.deserialize(i).value)||c.push(Qe({from:a.peer.id,error:new _("value not put correctly","ERR_PUT_VALUE_INVALID")},n)));return c}),s=>mi(s,{ordered:!1,concurrency:3}),async function*(s){for await(let a of s)yield*a})}async*get(e,r={}){this.log("get %b",e);let n=[];for await(let a of this.getMany(e,r))a.name==="VALUE"&&n.push(a),yield a;if(n.length===0)return;let i=n.map(a=>a.value),o=0;try{o=Rc(this.selectors,e,i)}catch(a){if(a.code!=="ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")throw a}let s=i[o];if(this.log("GetValue %b %b",e,s),s==null)throw new _("best value was not found","ERR_NOT_FOUND");yield*this.sendCorrectionRecord(e,n,s,r),yield n[o]}async*getMany(e,r={}){this.log("getMany values for %b",e);try{let o=await this.getLocal(e);yield Fi({value:o.value,from:this.components.peerId},r)}catch(o){this.log("error getting local value for %b",e,o)}let n=this,i=async function*({peer:o,signal:s}){for await(let a of n.peerRouting.getValueOrPeers(o,e,{signal:s}))yield a,a.name==="PEER_RESPONSE"&&a.record!=null&&(yield Fi({from:o,value:a.record.value},r))};yield*this.queryManager.run(e,i,r)}};var G0=class{log;components;network;peerRouting;queryManager;routingTable;providers;constructor(e,r){let{network:n,peerRouting:i,queryManager:o,routingTable:s,providers:a,lan:c}=r;this.components=e,this.log=$(`libp2p:kad-dht:${c?"lan":"wan"}:content-routing`),this.network=n,this.peerRouting=i,this.queryManager=o,this.routingTable=s,this.providers=a}async*provide(e,r,n={}){this.log("provide %s",e),await this.providers.addProvider(e,this.components.peerId);let i=new ge(_e.ADD_PROVIDER,e.multihash.bytes,0);i.providerPeers=[{id:this.components.peerId,multiaddrs:r,protocols:[]}];let o=0,s=a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[];this.log("putProvider %s to %p",e,a.peer.id);try{this.log("sending provider record for %s to %p",e,a.peer.id);for await(let u of this.network.sendMessage(a.peer.id,i,n))u.name==="PEER_RESPONSE"&&(this.log("sent provider record for %s to %p",e,a.peer.id),o++),c.push(u)}catch(u){this.log.error("error sending provide record to peer %p",a.peer.id,u),c.push(Qe({from:a.peer.id,error:u},n))}return c};yield*xt(this.peerRouting.getClosestPeers(e.multihash.bytes,n),a=>B0(a,c=>s(c)),a=>mi(a,{ordered:!1,concurrency:3}),async function*(a){for await(let c of a)yield*c}),this.log("sent provider records to %d peers",o)}async*findProviders(e,r){let n=this.routingTable.kBucketSize,i=e.multihash.bytes,o=this;this.log("findProviders %c",e);let s=await this.providers.getProviders(e);if(s.length>0){let u=[];for(let f of s.slice(0,n))try{let l=await this.components.peerStore.get(f);u.push({id:f,multiaddrs:l.addresses.map(({multiaddr:p})=>p),protocols:l.protocols})}catch(l){if(l.code!=="ERR_NOT_FOUND")throw l;this.log("no peer store entry for %p",f)}yield Di({from:this.components.peerId,messageType:_e.GET_PROVIDERS,providers:u},r),yield ca({from:this.components.peerId,providers:u},r)}if(s.length>=n)return;let a=async function*({peer:u,signal:f}){let l=new ge(_e.GET_PROVIDERS,i,0);yield*o.network.sendRequest(u,l,{...r,signal:f})},c=new Set(s.map(u=>u.toString()));for await(let u of this.queryManager.run(i,a,r))if(yield u,u.name==="PEER_RESPONSE"){this.log("Found %d provider entries for %c and %d closer peers",u.providers.length,e,u.closer.length);let f=[];for(let l of u.providers)c.has(l.id.toString())||(c.add(l.id.toString()),f.push(l));if(f.length>0&&(yield ca({from:u.from,providers:f},r)),c.size===n)return}}};var Oi=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Mc(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function Kc(t,e,r){let n=r??{},i=Mc(t);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:f,abortCode:l}=n;throw new Oi(f,l)}let u=new Promise((f,l)=>{s=()=>{let{abortMessage:p,abortCode:d}=n;l(new Oi(p,d))}});c=await Promise.race([u,i.next()]),s=null}catch(u){e.removeEventListener("abort",a);let f=u.type==="aborted"&&e.aborted;if(f&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let l=i.return();l instanceof Promise&&l.catch(p=>{n.onReturnError!=null&&n.onReturnError(p)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(f&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return o()}function hh(t,e,r){return n=>t(Kc(n,e,r))}function ha(t,e,r){return{sink:hh(t.sink,e,{...r,onAbort:void 0}),source:Kc(t.source,e,r)}}function dh(t){return t[Symbol.asyncIterator]!=null}function ph(t){if(dh(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Vc=ph;var qc=Symbol.for("@achingbrain/uint8arraylist");function zc(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Q0(t){return!!t?.[qc]}var Mt=class{constructor(...e){Object.defineProperty(this,qc,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Q0(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Q0(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=zc(this.bufs,e);return r.buf[r.index]}set(e,r){let n=zc(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Q0(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return ue(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:ue(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new Mt;return o.length=i,o.bufs=n,o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,f=r>a&&r<=c;if(u&&f){if(e===a&&r===c){n.push(s);break}let l=e-a;n.push(s.subarray(l,l+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Q0(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let p=u;p>=0;p--){let d=this.get(l+p);if(n[p]!==d){f=Math.max(1,p-a[d]);break}}if(f===0)return l}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=ot(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=er(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=ot(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=er(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof Mt)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!se(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new Mt;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Y0(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var $c=4294967296,st=class{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new st(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new st(r,n)}toBytes(e,r=0){let n=Y0(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new st;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>$c&&(i=0,++n>$c&&(n=0))),new st(n,i)}static fromNumber(e){if(e===0)return new st;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new st(i,n)}static fromBytes(e,r=0){let n=Y0(e),i=new st,o=0;if(e.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;o<5;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var yh=Math.pow(2,7),gh=Math.pow(2,14),mh=Math.pow(2,21),vh=Math.pow(2,28),xh=Math.pow(2,35),bh=Math.pow(2,42),wh=Math.pow(2,49),Eh=Math.pow(2,56),Sh=Math.pow(2,63),Gr={encodingLength(t){return t<yh?1:t<gh?2:t<mh?3:t<vh?4:t<xh?5:t<bh?6:t<wh?7:t<Eh?8:t<Sh?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=ot(Gr.encodingLength(t))),st.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return st.fromBytes(t,e).toNumber(!0)}};function W0(t){return t[Symbol.asyncIterator]!=null}var Z0=t=>{let e=Gr.encodingLength(t),r=ot(e);return Gr.encode(t,r),Z0.bytes=e,r};Z0.bytes=0;function Qr(t,e){e=e??{};let r=e.lengthEncoder??Z0;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return W0(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Qr.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Z0;return new Mt(r(t.byteLength),t)};var Hn=G(Qc(),1);var Ih=8,Ch=1024*1024*4,Yr;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Yr||(Yr={}));var da=t=>{let e=Gr.decode(t);return da.bytes=Gr.encodingLength(e),e};da.bytes=0;function Wr(t,e){let r=new Mt,n=Yr.LENGTH,i=-1,o=e?.lengthDecoder??da,s=e?.maxLengthLength??Ih,a=e?.maxDataLength??Ch;function*c(){for(;r.byteLength>0;){if(n===Yr.LENGTH)try{if(i=o(r),i<0)throw(0,Hn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Hn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=Yr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,Hn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Yr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=Yr.LENGTH}}}return W0(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,Hn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,Hn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Wr.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Wr(n,{...e??{},onLength:o=>{r=o}})};var X0=class extends $e{log;protocol;running;components;constructor(e,r){super();let{protocol:n,lan:i}=r;this.components=e,this.log=$(`libp2p:kad-dht:${i?"lan":"wan"}:network`),this.running=!1,this.protocol=n}async start(){this.running||(this.running=!0)}async stop(){this.running=!1}isStarted(){return this.running}async*sendRequest(e,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,e),yield ua({peer:e},n),yield aa({to:e,type:r.type},n);let i;try{let s=await(await this.components.connectionManager.openConnection(e,n)).newStream(this.protocol,n),a=await this._writeReadMessage(s,r.serialize(),n);yield Di({from:e,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record},n)}catch(o){yield Qe({from:e,error:o},n)}finally{i?.close()}}async*sendMessage(e,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,e),yield ua({peer:e},n),yield aa({to:e,type:r.type},n);let i;try{let s=await(await this.components.connectionManager.openConnection(e,n)).newStream(this.protocol,n);await this._writeMessage(s,r.serialize(),n),yield Di({from:e,messageType:r.type},n)}catch(o){yield Qe({from:e,error:o},n)}finally{i?.close()}}async _writeMessage(e,r,n){n.signal!=null&&(e=ha(e,n.signal)),await xt([r],i=>Qr(i),e,pi)}async _writeReadMessage(e,r,n){n.signal!=null&&(e=ha(e,n.signal));let i=await xt([r],s=>Qr(s),e,s=>Wr(s),async s=>{let a=await Vc(s);if(a!=null)return a;throw new _("No message received","ERR_NO_MESSAGE_RECEIVED")}),o=ge.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new Be("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new Be("peer",{detail:s}))}),o}};var WS=G(r1(),1),kh=G(ne(),1);var Pe={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var u5={SHA1:20,SHA256:32,SHA512:64};var Oh={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Uh=async(t,e)=>{let r=await Pe.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,0,r.byteLength)};async function f5(t,e){let r=Oh[t],n=await Pe.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return Uh(n,i)},length:u5[t]}}var P1={};V(P1,{generateEphemeralKeyPair:()=>L6,generateKeyPair:()=>rg,generateKeyPairFromSeed:()=>ng,importKey:()=>ag,keyStretcher:()=>F6,keysPBM:()=>Jn,marshalPrivateKey:()=>sg,marshalPublicKey:()=>og,supportedKeys:()=>Yt,unmarshalPrivateKey:()=>v8,unmarshalPublicKey:()=>ig});var OI=G(Vi(),1),UI=G(h6(),1);var R1=G(ne(),1);var Qa={};V(Qa,{Ed25519PrivateKey:()=>rn,Ed25519PublicKey:()=>Yi,generateKeyPair:()=>Ey,generateKeyPairFromSeed:()=>Ga,unmarshalEd25519PrivateKey:()=>by,unmarshalEd25519PublicKey:()=>wy});var ry=G(Yn(),1);var ze=BigInt(0),W=BigInt(1),Rr=BigInt(2),ny=BigInt(8),d6=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),le=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:d6,n:d6,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var v6=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),$i=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),IA=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),iy=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),oy=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),sy=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),ay=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Q=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof ve))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(ve.ZERO)?Q.ZERO:new Q(e.x,e.y,W,C(e.x*e.y))}static toAffineBatch(e){let r=fy(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){y6(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=C(r*a),u=C(o*i),f=C(n*a),l=C(s*i);return c===u&&f===l}negate(){return new Q(C(-this.x),this.y,this.z,C(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=le,o=C(e*e),s=C(r*r),a=C(Rr*C(n*n)),c=C(i*o),u=e+r,f=C(C(u*u)-o-s),l=c+s,p=l-a,d=c-s,h=C(f*p),y=C(l*d),g=C(f*d),m=C(p*l);return new Q(h,y,m,g)}add(e){y6(e);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:u}=e,f=C((n-r)*(a+s)),l=C((n+r)*(a-s)),p=C(l-f);if(p===ze)return this.double();let d=C(i*Rr*u),h=C(o*Rr*c),y=h+d,g=l+f,m=h-d,v=C(y*p),w=C(g*m),T=C(y*m),S=C(p*g);return new Q(v,w,S,T)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(Q.BASE)&&(r=ve.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&Ka.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),Ka.set(r,i)));let o=Q.ZERO,s=Q.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let p=0;p<a;p++){let d=p*c,h=Number(e&u);e>>=l,h>c&&(h-=f,e+=W);let y=d,g=d+Math.abs(h)-1,m=p%2!==0,v=h<0;h===0?s=s.add(p6(m,i[y])):o=o.add(p6(v,i[g]))}return Q.normalizeZ([o,s])[0]}multiply(e,r){return this.wNAF(m1(e,le.l),r)}multiplyUnsafe(e){let r=m1(e,le.l,!1),n=Q.BASE,i=Q.ZERO;if(r===ze)return i;if(this.equals(i)||r===W)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>ze;)r&W&&(o=o.add(s)),s=s.double(),r>>=W;return o}isSmallOrder(){return this.multiplyUnsafe(le.h).equals(Q.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(le.l/Rr).double();return le.l%Rr&&(e=e.add(this)),e.equals(Q.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(Q.ZERO);e==null&&(e=o?ny:v1(i));let s=C(r*e),a=C(n*e),c=C(i*e);if(o)return ve.ZERO;if(c!==W)throw new Error("invZ was invalid");return new ve(s,a)}fromRistrettoBytes(){Oa()}toRistrettoBytes(){Oa()}fromRistrettoHash(){Oa()}};Q.BASE=new Q(le.Gx,le.Gy,W,C(le.Gx*le.Gy));Q.ZERO=new Q(ze,W,W,ze);function p6(t,e){let r=e.negate();return t?r:e}function y6(t){if(!(t instanceof Q))throw new TypeError("ExtendedPoint expected")}function Fa(t){if(!(t instanceof et))throw new TypeError("RistrettoPoint expected")}function Oa(){throw new Error("Legacy method: switch to RistrettoPoint")}var et=class{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=le,n=C($i*e*e),i=C((n+W)*sy),o=BigInt(-1),s=C((o-r*n)*C(n+r)),{isValid:a,value:c}=za(i,s),u=C(c*e);_r(u)||(u=C(-u)),a||(c=u),a||(o=n);let f=C(o*(n-W)*ay-s),l=c*c,p=C((c+c)*s),d=C(f*iy),h=C(W-l),y=C(W+l);return new Q(C(p*y),C(h*d),C(d*y),C(p*h))}static hashToCurve(e){e=Pr(e,64);let r=Ua(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=Ua(e.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new et(n.add(o))}static fromHex(e){e=Pr(e,32);let{a:r,d:n}=le,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=Ua(e);if(!hy(Hi(o),e)||_r(o))throw new Error(i);let s=C(o*o),a=C(W+r*s),c=C(W-r*s),u=C(a*a),f=C(c*c),l=C(r*n*u-f),{isValid:p,value:d}=m6(C(l*f)),h=C(d*c),y=C(d*h*l),g=C((o+o)*h);_r(g)&&(g=C(-g));let m=C(a*y),v=C(g*m);if(!p||_r(v)||m===ze)throw new Error(i);return new et(new Q(g,m,W,v))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,o=C(C(n+r)*C(n-r)),s=C(e*r),a=C(s*s),{value:c}=m6(C(o*a)),u=C(c*o),f=C(c*s),l=C(u*f*i),p;if(_r(i*l)){let h=C(r*$i),y=C(e*$i);e=h,r=y,p=C(u*oy)}else p=f;_r(e*l)&&(r=C(-r));let d=C((n-r)*p);return _r(d)&&(d=C(-d)),Hi(d)}toHex(){return Gi(this.toRawBytes())}toString(){return this.toHex()}equals(e){Fa(e);let r=this.ep,n=e.ep,i=C(r.x*n.y)===C(r.y*n.x),o=C(r.y*n.y)===C(r.x*n.x);return i||o}add(e){return Fa(e),new et(this.ep.add(e.ep))}subtract(e){return Fa(e),new et(this.ep.subtract(e.ep))}multiply(e){return new et(this.ep.multiply(e))}multiplyUnsafe(e){return new et(this.ep.multiplyUnsafe(e))}};et.BASE=new et(Q.BASE);et.ZERO=new et(Q.ZERO);var Ka=new WeakMap,ve=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,Ka.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=le;e=Pr(e,32);let o=e.slice();o[31]=e[31]&-129;let s=Qi(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=v6)throw new Error("Expected 0 < hex < 2**256");let a=C(s*s),c=C(a-W),u=C(n*a+W),{isValid:f,value:l}=za(c,u);if(!f)throw new Error("Point.fromHex: invalid y coordinate");let p=(l&W)===W;return(e[31]&128)!==0!==p&&(l=C(-l)),new ve(l,s)}static async fromPrivateKey(e){return(await x1(e)).point}toRawBytes(){let e=Hi(this.y);return e[31]|=this.x&W?128:0,e}toHex(){return Gi(this.toRawBytes())}toX25519(){let{y:e}=this,r=C((W+e)*v1(W-e));return Hi(r)}isTorsionFree(){return Q.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ve(C(-this.x),this.y)}add(e){return Q.fromAffine(this).add(Q.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Q.fromAffine(this).multiply(e,this).toAffine()}};ve.BASE=new ve(le.Gx,le.Gy);ve.ZERO=new ve(ze,W);var tn=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=Pr(e,64),n=ve.fromHex(r.slice(0,32),!1),i=Qi(r.slice(32,64));return new tn(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof ve))throw new Error("Expected Point instance");return m1(r,le.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Hi(this.s),32),e}toHex(){return Gi(this.toRawBytes())}};function g6(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var cy=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Gi(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=cy[t[r]];return e}function Va(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function x6(t){let r=t.toString(16).padStart(64,"0");return Va(r)}function Hi(t){return x6(t).reverse()}function _r(t){return(C(t)&W)===W}function Qi(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Gi(Uint8Array.from(t).reverse()))}var uy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Ua(t){return C(Qi(t)&uy)}function C(t,e=le.P){let r=t%e;return r>=ze?r:e+r}function v1(t,e=le.P){if(t===ze||e<=ze)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=C(t,e),n=e,i=ze,o=W,s=W,a=ze;for(;r!==ze;){let u=n/r,f=n%r,l=i-s*u,p=o-a*u;n=r,r=f,i=s,o=a,s=l,a=p}if(n!==W)throw new Error("invert: does not exist");return C(i,e)}function fy(t,e=le.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===ze?o:(r[a]=o,C(o*s,e)),W),i=v1(n,e);return t.reduceRight((o,s,a)=>s===ze?o:(r[a]=C(o*r[a],e),C(o*s,e)),i),r}function Gt(t,e){let{P:r}=le,n=t;for(;e-- >ze;)n*=n,n%=r;return n}function ly(t){let{P:e}=le,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=t*t%e*t%e,u=Gt(c,Rr)*c%e,f=Gt(u,W)*t%e,l=Gt(f,r)*f%e,p=Gt(l,n)*l%e,d=Gt(p,i)*p%e,h=Gt(d,o)*d%e,y=Gt(h,s)*h%e,g=Gt(y,s)*h%e,m=Gt(g,n)*l%e;return{pow_p_5_8:Gt(m,Rr)*t%e,b2:c}}function za(t,e){let r=C(e*e*e),n=C(r*r*e),i=ly(t*n).pow_p_5_8,o=C(t*r*i),s=C(e*o*o),a=o,c=C(o*$i),u=s===t,f=s===C(-t),l=s===C(-t*$i);return u&&(o=a),(f||l)&&(o=c),_r(o)&&(o=C(-o)),{isValid:u||f,value:o}}function m6(t){return za(W,t)}function g1(t){return C(Qi(t),le.l)}function hy(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Pr(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):Va(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function m1(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(ze<t)return t}else if(ze<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function dy(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function py(t){if(t=typeof t=="bigint"||typeof t=="number"?x6(m1(t,v6)):Pr(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function yy(t){let e=dy(t.slice(0,32)),r=t.slice(32,64),n=g1(e),i=ve.BASE.multiply(n),o=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:o}}var Ma;async function x1(t){return yy(await Nr.sha512(py(t)))}async function qa(t){return(await x1(t)).pointBytes}async function b6(t,e){t=Pr(t);let{prefix:r,scalar:n,pointBytes:i}=await x1(e),o=g1(await Nr.sha512(r,t)),s=ve.BASE.multiply(o),a=g1(await Nr.sha512(s.toRawBytes(),i,t)),c=C(o+a*n,le.l);return new tn(s,c).toRawBytes()}function gy(t,e,r){e=Pr(e),r instanceof ve||(r=ve.fromHex(r,!1));let{r:n,s:i}=t instanceof tn?t.assertValidity():tn.fromHex(t),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:e}}function my(t,e,r,n){let i=g1(n),o=Q.fromAffine(t).multiplyUnsafe(i);return Q.fromAffine(e).add(o).subtract(r).multiplyUnsafe(le.h).equals(Q.ZERO)}async function w6(t,e,r){let{r:n,SB:i,msg:o,pub:s}=gy(t,e,r),a=await Nr.sha512(n.toRawBytes(),s.toRawBytes(),o);return my(s,n,i,a)}ve.BASE._setWindowSize(8);var Tr={node:ry,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Nr={bytesToHex:Gi,hexToBytes:Va,concatBytes:g6,getExtendedPublicKey:x1,mod:C,invert:v1,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=Pr(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return C(Qi(t),le.l-W)+W},randomBytes:(t=32)=>{if(Tr.web)return Tr.web.getRandomValues(new Uint8Array(t));if(Tr.node){let{randomBytes:e}=Tr.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Nr.randomBytes(32),sha512:async(...t)=>{let e=g6(...t);if(Tr.web){let r=await Tr.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(Tr.node)return Uint8Array.from(Tr.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=ve.BASE){let r=e.equals(ve.BASE)?e:new ve(e.x,e.y);return r._setWindowSize(t),r.multiply(Rr),r},sha512Sync:void 0};Object.defineProperties(Nr,{sha512Sync:{configurable:!1,get(){return Ma},set(t){Ma||(Ma=t)}}});var Xn=32,ar=64,b1=32;async function E6(){let t=Nr.randomPrivateKey(),e=await qa(t);return{privateKey:C6(t,e),publicKey:e}}async function S6(t){if(t.length!==b1)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=await qa(e);return{privateKey:C6(e,r),publicKey:r}}async function A6(t,e){let r=t.subarray(0,b1);return b6(e,r)}async function I6(t,e,r){return w6(e,r,t)}function C6(t,e){let r=new Uint8Array(ar);for(let n=0;n<b1;n++)r[n]=t[n],r[b1+n]=e[n];return r}var $a={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function w1(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=Pe.get();r*=8;async function c(l,p){let d=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),y={name:e,iv:h};typeof p=="string"&&(p=be(p));let g;if(p.length===0){g=await a.subtle.importKey("jwk",$a,{name:"AES-GCM"},!0,["encrypt"]);try{let v={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,w,{name:e,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",$a,{name:"AES-GCM"},!0,["encrypt"])}}else{let v={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},w=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,w,{name:e,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(y,g,l);return ue([d,y.iv,new Uint8Array(m)])}async function u(l,p){let d=l.subarray(0,o),h=l.subarray(o,o+n),y=l.subarray(o+n),g={name:e,iv:h};typeof p=="string"&&(p=be(p));let m;if(p.length===0)try{let w={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},T=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(w,T,{name:e,length:r},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",$a,{name:"AES-GCM"},!0,["decrypt"])}else{let w={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},T=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(w,T,{name:e,length:r},!0,["decrypt"])}let v=await a.subtle.decrypt(g,m,y);return new Uint8Array(v)}return{encrypt:c,decrypt:u}}async function jn(t,e){let n=await w1().encrypt(t,e);return Mr.encode(n)}var Jn={};V(Jn,{KeyType:()=>he,PrivateKey:()=>Ct,PublicKey:()=>It});var he;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(he||(he={}));var Ha;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Ha||(Ha={}));(function(t){t.codec=()=>Kn(Ha)})(he||(he={}));var It;(function(t){let e;t.codec=()=>(e==null&&(e=Ut((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),he.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=he.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ot(r,t.codec()),t.decode=r=>Ft(r,t.codec())})(It||(It={}));var Ct;(function(t){let e;t.codec=()=>(e==null&&(e=Ut((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),he.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=he.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ot(r,t.codec()),t.decode=r=>Ft(r,t.codec())})(Ct||(Ct={}));var Yi=class{_key;constructor(e){this._key=ei(e,Xn)}async verify(e,r){return I6(this._key,r,e)}marshal(){return this._key}get bytes(){return It.encode({Type:he.Ed25519,Data:this.marshal()}).subarray()}equals(e){return se(this.bytes,e.bytes)}async hash(){let{bytes:e}=await xe.digest(this.bytes);return e}},rn=class{_key;_publicKey;constructor(e,r){this._key=ei(e,ar),this._publicKey=ei(r,Xn)}async sign(e){return A6(this._key,e)}get public(){return new Yi(this._publicKey)}marshal(){return this._key}get bytes(){return Ct.encode({Type:he.Ed25519,Data:this.marshal()}).subarray()}equals(e){return se(this.bytes,e.bytes)}async hash(){let{bytes:e}=await xe.digest(this.bytes);return e}async id(){let e=mr.digest(this.public.bytes);return qe.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return jn(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function by(t){if(t.length>ar){t=ei(t,ar+Xn);let n=t.subarray(0,ar),i=t.subarray(ar,t.length);return new rn(n,i)}t=ei(t,ar);let e=t.subarray(0,ar),r=t.subarray(Xn);return new rn(e,r)}function wy(t){return t=ei(t,Xn),new Yi(t)}async function Ey(){let{privateKey:t,publicKey:e}=await E6();return new rn(t,e)}async function Ga(t){let{privateKey:e,publicKey:r}=await S6(t);return new rn(e,r)}function ei(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new _(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var UA=G(Re(),1),MA=G(h1(),1),T6=G(ne(),1);function Bt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=ue([new Uint8Array(e-r.length),r])}return K(r,"base64url")}function at(t){let e=E1(t);return new T6.default.jsbn.BigInteger(K(e,"base16"),16)}function E1(t,e){let r=be(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=ue([new Uint8Array(e-r.length),r])}return r}var _6={"P-256":256,"P-384":384,"P-521":521},Sy=Object.keys(_6),Ya=Sy.join(" / ");async function R6(t){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new _(`Unknown curve: ${t}. Must be ${Ya}`,"ERR_INVALID_CURVE");let e=await Pe.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await Pe.get().subtle.importKey("jwk",Iy(t,s),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):a=e.privateKey;let c=await Pe.get().subtle.importKey("jwk",N6(t,o),{name:"ECDH",namedCurve:t},!1,[]),u=await Pe.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:c},a,_6[t]);return new Uint8Array(u,0,u.byteLength)},n=await Pe.get().subtle.exportKey("jwk",e.publicKey);return{key:Ay(n),genSharedKey:r}}var P6={"P-256":32,"P-384":48,"P-521":66};function Ay(t){if(t.crv==null||t.x==null||t.y==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");if(t.crv!=="P-256"&&t.crv!=="P-384"&&t.crv!=="P-521")throw new _(`Unknown curve: ${t.crv}. Must be ${Ya}`,"ERR_INVALID_CURVE");let e=P6[t.crv];return ue([Uint8Array.from([4]),E1(t.x,e),E1(t.y,e)],1+e*2)}function N6(t,e){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new _(`Unknown curve: ${t}. Must be ${Ya}`,"ERR_INVALID_CURVE");let r=P6[t];if(!se(e.subarray(0,1),Uint8Array.from([4])))throw new _("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:t,x:K(e.subarray(1,r+1),"base64url"),y:K(e.subarray(1+r),"base64url"),ext:!0}}var Iy=(t,e)=>({...N6(t,e.public),d:K(e.private,"base64url")});var L6=R6;async function k6(t,e){let r=Mr.decode(t);return w1().decrypt(r,e)}var D6={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function F6(t,e,r){let n=D6[t];if(n==null){let v=Object.keys(D6).join(" / ");throw new _(`unknown cipher type '${t}'. Must be ${v}`,"ERR_INVALID_CIPHER_TYPE")}if(e==null)throw new _("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,o=n.ivSize,s=20,a=be("key expansion"),c=2*(o+i+s),u=await f5(e,r),f=await u.digest(a),l=[],p=0;for(;p<c;){let v=await u.digest(ue([f,a])),w=v.length;p+w>c&&(w=c-p),l.push(v),p+=w,f=await u.digest(f)}let d=c/2,h=ue(l),y=h.subarray(0,d),g=h.subarray(d,c),m=v=>({iv:v.subarray(0,o),cipherKey:v.subarray(o,o+i),macKey:v.subarray(o+i)});return{k1:m(y),k2:m(g)}}var o2={};V(o2,{RsaPrivateKey:()=>ai,RsaPublicKey:()=>t0,fromJwk:()=>Zy,generateKeyPair:()=>Xy,unmarshalRsaPrivateKey:()=>Yy,unmarshalRsaPublicKey:()=>Wy});var e0=G(ne(),1);var BI=G(V6(),1);var By=G(Yn(),1);var Z=BigInt(0),pe=BigInt(1),kr=BigInt(2),Xi=BigInt(3),z6=BigInt(8),Ce=Object.freeze({a:Z,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:pe,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),q6=(t,e)=>(t+e/kr)/e,S1={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=Ce,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-pe*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=q6(o*t,e),c=q6(-n*t,e),u=N(t-a*r-c*i,e),f=N(-a*n-c*o,e),l=u>s,p=f>s;if(l&&(u=e-u),p&&(f=e-f),u>s||f>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:p,k2:f}}},Tt=32,ni=32,Ty=32,$6=Tt+1,H6=2*Tt+1;function G6(t){let{a:e,b:r}=Ce,n=N(t*t),i=N(n*t);return N(i+e*t+r)}var A1=Ce.a===Z,B1=class extends Error{constructor(e){super(e)}};function Q6(t){if(!(t instanceof J))throw new TypeError("JacobianPoint expected")}var J=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof ee))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(ee.ZERO)?J.ZERO:new J(e.x,e.y,pe)}static toAffineBatch(e){let r=Ly(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return J.toAffineBatch(e).map(J.fromAffine)}equals(e){Q6(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=N(i*i),u=N(a*a),f=N(r*u),l=N(o*c),p=N(N(n*a)*u),d=N(N(s*i)*c);return f===l&&p===d}negate(){return new J(this.x,N(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=N(e*e),o=N(r*r),s=N(o*o),a=e+o,c=N(kr*(N(a*a)-i-s)),u=N(Xi*i),f=N(u*u),l=N(f-kr*c),p=N(u*(c-l)-z6*s),d=N(kr*r*n);return new J(l,p,d)}add(e){Q6(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e;if(o===Z||s===Z)return this;if(r===Z||n===Z)return e;let c=N(i*i),u=N(a*a),f=N(r*u),l=N(o*c),p=N(N(n*a)*u),d=N(N(s*i)*c),h=N(l-f),y=N(d-p);if(h===Z)return y===Z?this.double():J.ZERO;let g=N(h*h),m=N(h*g),v=N(f*g),w=N(y*y-m-kr*v),T=N(y*(v-w)-p*m),S=N(i*a*h);return new J(w,T,S)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=J.ZERO;if(typeof e=="bigint"&&e===Z)return r;let n=Z6(e);if(n===pe)return this;if(!A1){let l=r,p=this;for(;n>Z;)n&pe&&(l=l.add(p)),p=p.double(),n>>=pe;return l}let{k1neg:i,k1:o,k2neg:s,k2:a}=S1.splitScalar(n),c=r,u=r,f=this;for(;o>Z||a>Z;)o&pe&&(c=c.add(f)),a&pe&&(u=u.add(f)),f=f.double(),o>>=pe,a>>=pe;return i&&(c=c.negate()),s&&(u=u.negate()),u=new J(N(u.x*S1.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=A1?128/e+1:256/e+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(J.BASE)&&(r=ee.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&ja.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=J.normalizeZ(i),ja.set(r,i)));let o=J.ZERO,s=J.BASE,a=1+(A1?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let p=0;p<a;p++){let d=p*c,h=Number(e&u);e>>=l,h>c&&(h-=f,e+=pe);let y=d,g=d+Math.abs(h)-1,m=p%2!==0,v=h<0;h===0?s=s.add(I1(m,i[y])):o=o.add(I1(v,i[g]))}return{p:o,f:s}}multiply(e,r){let n=Z6(e),i,o;if(A1){let{k1neg:s,k1:a,k2neg:c,k2:u}=S1.splitScalar(n),{p:f,f:l}=this.wNAF(a,r),{p,f:d}=this.wNAF(u,r);f=I1(s,f),p=I1(c,p),p=new J(N(p.x*S1.beta),p.y,p.z),i=f.add(p),o=l.add(d)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return J.normalizeZ([i,o])[0]}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(J.ZERO);e==null&&(e=o?z6:si(i));let s=e,a=N(s*s),c=N(a*s),u=N(r*a),f=N(n*c),l=N(i*s);if(o)return ee.ZERO;if(l!==pe)throw new Error("invZ was invalid");return new ee(u,f)}};J.BASE=new J(Ce.Gx,Ce.Gy,pe);J.ZERO=new J(Z,pe,Z);function I1(t,e){let r=e.negate();return t?r:e}var ja=new WeakMap,ee=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,ja.delete(this)}hasEvenY(){return this.y%kr===Z}static fromCompressedHex(e){let r=e.length===32,n=Dr(r?e:e.subarray(1));if(!Xa(n))throw new Error("Point is not on curve");let i=G6(n),o=Ny(i),s=(o&pe)===pe;r?s&&(o=N(-o)):(e[0]&1)===1!==s&&(o=N(-o));let a=new ee(n,o);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Dr(e.subarray(1,Tt+1)),n=Dr(e.subarray(Tt+1,Tt*2+1)),i=new ee(r,n);return i.assertValidity(),i}static fromHex(e){let r=oi(e),n=r.length,i=r[0];if(n===Tt)return this.fromCompressedHex(r);if(n===$6&&(i===2||i===3))return this.fromCompressedHex(r);if(n===H6&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${$6} compressed bytes or ${H6} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return ee.BASE.multiply(_1(e))}static fromSignature(e,r,n){let{r:i,s:o}=X6(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=t2(oi(e)),{n:a}=Ce,c=n===2||n===3?i+a:i,u=si(c,a),f=N(-s*u,a),l=N(o*u,a),p=n&1?"03":"02",d=ee.fromHex(p+ti(c)),h=ee.BASE.multiplyAndAddUnsafe(d,f,l);if(!h)throw new Error("Cannot recover signature: point at infinify");return h.assertValidity(),h}toRawBytes(e=!1){return on(this.toHex(e))}toHex(e=!1){let r=ti(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${ti(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!Xa(r)||!Xa(n))throw new Error(e);let i=N(n*n),o=G6(r);if(N(i-o)!==Z)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ee(this.x,N(-this.y))}double(){return J.fromAffine(this).double().toAffine()}add(e){return J.fromAffine(this).add(J.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return J.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=J.fromAffine(this),o=r===Z||r===pe||this!==ee.BASE?i.multiplyUnsafe(r):i.multiply(r),s=J.fromAffine(e).multiplyUnsafe(n),a=o.add(s);return a.equals(J.ZERO)?void 0:a.toAffine()}};ee.BASE=new ee(Ce.Gx,Ce.Gy);ee.ZERO=new ee(Z,Z);function Y6(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function W6(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${ii(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Dr(r),left:t.subarray(e+2)}}function _y(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${ii(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=W6(t.subarray(2)),{data:n,left:i}=W6(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${ii(i)}`);return{r:e,s:n}}var Qt=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?ii(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Qt(T1(i.slice(0,64)),T1(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=_y(r?e:on(e));return new Qt(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!Ji(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Ji(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=Ce.n>>pe;return this.s>e}normalizeS(){return this.hasHighS()?new Qt(this.r,N(-this.s,Ce.n)):this}toDERRawBytes(){return on(this.toDERHex())}toDERHex(){let e=Y6(Zi(this.s)),r=Y6(Zi(this.r)),n=e.length/2,i=r.length/2,o=Zi(n),s=Zi(i);return`30${Zi(i+n+4)}02${s}${r}02${o}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return on(this.toCompactHex())}toCompactHex(){return ti(this.r)+ti(this.s)}};function Lr(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var Ry=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ii(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=Ry[t[r]];return e}var Py=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function ti(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(Z<=t&&t<Py))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function Ja(t){let e=on(ti(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function Zi(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function T1(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function on(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function Dr(t){return T1(ii(t))}function oi(t){return t instanceof Uint8Array?Uint8Array.from(t):on(t)}function Z6(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&Ji(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function N(t,e=Ce.P){let r=t%e;return r>=Z?r:e+r}function pt(t,e){let{P:r}=Ce,n=t;for(;e-- >Z;)n*=n,n%=r;return n}function Ny(t){let{P:e}=Ce,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,f=pt(u,Xi)*u%e,l=pt(f,Xi)*u%e,p=pt(l,kr)*c%e,d=pt(p,n)*p%e,h=pt(d,i)*d%e,y=pt(h,s)*h%e,g=pt(y,a)*y%e,m=pt(g,s)*h%e,v=pt(m,Xi)*u%e,w=pt(v,o)*d%e,T=pt(w,r)*c%e,S=pt(T,kr);if(S*S%e!==t)throw new Error("Cannot find square root");return S}function si(t,e=Ce.P){if(t===Z||e<=Z)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=N(t,e),n=e,i=Z,o=pe,s=pe,a=Z;for(;r!==Z;){let u=n/r,f=n%r,l=i-s*u,p=o-a*u;n=r,r=f,i=s,o=a,s=l,a=p}if(n!==pe)throw new Error("invert: does not exist");return N(i,e)}function Ly(t,e=Ce.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===Z?o:(r[a]=o,N(o*s,e)),pe),i=si(n,e);return t.reduceRight((o,s,a)=>s===Z?o:(r[a]=N(o*r[a],e),N(o*s,e)),i),r}function ky(t){let e=t.length*8-ni*8,r=Dr(t);return e>0?r>>BigInt(e):r}function t2(t,e=!1){let r=ky(t);if(e)return r;let{n}=Ce;return r>=n?r-n:r}var ri,ji,e2=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return _t.hmacSha256(this.k,...e)}hmacSync(...e){return ji(this.k,...e)}checkSync(){if(typeof ji!="function")throw new B1("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Lr(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Lr(...r)}};function Ji(t){return Z<t&&t<Ce.n}function Xa(t){return Z<t&&t<Ce.P}function Dy(t,e,r,n=!0){let{n:i}=Ce,o=t2(t,!0);if(!Ji(o))return;let s=si(o,i),a=ee.BASE.multiply(o),c=N(a.x,i);if(c===Z)return;let u=N(s*N(e+r*c,i),i);if(u===Z)return;let f=new Qt(c,u),l=(a.x===f.r?0:2)|Number(a.y&pe);return n&&f.hasHighS()&&(f=f.normalizeS(),l^=1),{sig:f,recovery:l}}function _1(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*ni)throw new Error("Expected 32 bytes of private key");e=T1(t)}else if(t instanceof Uint8Array){if(t.length!==ni)throw new Error("Expected 32 bytes of private key");e=Dr(t)}else throw new TypeError("Expected valid private key");if(!Ji(e))throw new Error("Expected private key: 0 < key < n");return e}function Fy(t){return t instanceof ee?(t.assertValidity(),t):ee.fromHex(t)}function X6(t){if(t instanceof Qt)return t.assertValidity(),t;try{return Qt.fromDER(t)}catch{return Qt.fromCompact(t)}}function r2(t,e=!1){return ee.fromPrivateKey(t).toRawBytes(e)}function j6(t){let e=t.length>Tt?t.slice(0,Tt):t;return Dr(e)}function Oy(t){let e=j6(t),r=N(e,Ce.n);return J6(r<Z?e:r)}function J6(t){return Ja(t)}function Uy(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=oi(t),i=_1(e),o=[J6(i),Oy(n)];if(r!=null){r===!0&&(r=_t.randomBytes(Tt));let c=oi(r);if(c.length!==Tt)throw new Error(`sign: Expected ${Tt} bytes of extra data`);o.push(c)}let s=Lr(...o),a=j6(n);return{seed:s,m:a,d:i}}function My(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function e8(t,e,r={}){let{seed:n,m:i,d:o}=Uy(t,e,r.extraEntropy),s=new e2(Ty,ni);await s.reseed(n);let a;for(;!(a=Dy(await s.generate(),i,o,r.canonical));)await s.reseed();return My(a,r)}var Ky={strict:!0};function t8(t,e,r,n=Ky){let i;try{i=X6(t),e=oi(e)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=t2(e),c;try{c=Fy(r)}catch{return!1}let{n:u}=Ce,f=si(s,u),l=N(a*f,u),p=N(o*f,u),d=ee.BASE.multiplyAndAddUnsafe(c,l,p);return d?N(d.x,u)===o:!1}ee.BASE._setWindowSize(8);var ct={node:By,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var C1={},_t={bytesToHex:ii,hexToBytes:on,concatBytes:Lr,mod:N,invert:si,isValidPrivateKey(t){try{return _1(t),!0}catch{return!1}},_bigintTo32Bytes:Ja,_normalizePrivateKey:_1,hashToPrivateKey:t=>{t=oi(t);let e=ni+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=N(Dr(t),Ce.n-pe)+pe;return Ja(r)},randomBytes:(t=32)=>{if(ct.web)return ct.web.getRandomValues(new Uint8Array(t));if(ct.node){let{randomBytes:e}=ct.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>_t.hashToPrivateKey(_t.randomBytes(ni+8)),precompute(t=8,e=ee.BASE){let r=e===ee.BASE?e:new ee(e.x,e.y);return r._setWindowSize(t),r.multiply(Xi),r},sha256:async(...t)=>{if(ct.web){let e=await ct.web.subtle.digest("SHA-256",Lr(...t));return new Uint8Array(e)}else if(ct.node){let{createHash:e}=ct.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ct.web){let r=await ct.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Lr(...e),i=await ct.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ct.node){let{createHmac:r}=ct.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=C1[t];if(r===void 0){let n=await _t.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Lr(n,n),C1[t]=r}return _t.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof ri!="function")throw new B1("sha256Sync is undefined, you need to set it");let r=C1[t];if(r===void 0){let n=ri(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Lr(n,n),C1[t]=r}return ri(r,...e)},_JacobianPoint:J};Object.defineProperties(_t,{sha256Sync:{configurable:!1,get(){return ri},set(t){ri||(ri=t)}},hmacSha256Sync:{configurable:!1,get(){return ji},set(t){ji||(ji=t)}}});function sn(t){if(isNaN(t)||t<=0)throw new _("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return _t.randomBytes(t)}var uI=G(y1(),1),n2=G(ne(),1);function r8(t,e){return e.map(r=>at(t[r]))}function n8(t){return n2.default.pki.setRsaPrivateKey(...r8(t,["n","e","d","p","q","dp","dq","qi"]))}function i8(t){return n2.default.pki.setRsaPublicKey(...r8(t,["n","e"]))}var an={};V(an,{jwkToPkcs1:()=>qy,jwkToPkix:()=>Hy,pkcs1ToJwk:()=>zy,pkixToJwk:()=>$y});var hI=G(Vi(),1),dI=G(y1(),1);var cr=G(ne(),1);function zy(t){let e=cr.default.asn1.fromDer(K(t,"ascii")),r=cr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Bt(r.n),e:Bt(r.e),d:Bt(r.d),p:Bt(r.p),q:Bt(r.q),dp:Bt(r.dP),dq:Bt(r.dQ),qi:Bt(r.qInv),alg:"RS256"}}function qy(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let e=cr.default.pki.privateKeyToAsn1({n:at(t.n),e:at(t.e),d:at(t.d),p:at(t.p),q:at(t.q),dP:at(t.dp),dQ:at(t.dq),qInv:at(t.qi)});return be(cr.default.asn1.toDer(e).getBytes(),"ascii")}function $y(t){let e=cr.default.asn1.fromDer(K(t,"ascii")),r=cr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Bt(r.n),e:Bt(r.e)}}function Hy(t){if(t.n==null||t.e==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let e=cr.default.pki.publicKeyToAsn1({n:at(t.n),e:at(t.e)});return be(cr.default.asn1.toDer(e).getBytes(),"ascii")}async function o8(t){let e=await Pe.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await c8(e);return{privateKey:r[0],publicKey:r[1]}}async function i2(t){let r=[await Pe.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Gy(t)],n=await c8({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function s8(t,e){let r=await Pe.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Pe.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function a8(t,e,r){let n=await Pe.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Pe.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function c8(t){if(t.privateKey==null||t.publicKey==null)throw new _("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Pe.get().subtle.exportKey("jwk",t.privateKey),Pe.get().subtle.exportKey("jwk",t.publicKey)])}async function Gy(t){return Pe.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function u8(t,e,r,n){let i=e?i8(t):n8(t),o=K(Uint8Array.from(r),"ascii"),s=n(o,i);return be(s,"ascii")}function f8(t,e){return u8(t,!0,e,(r,n)=>n.encrypt(r))}function l8(t,e){return u8(t,!1,e,(r,n)=>n.decrypt(r))}var t0=class{_key;constructor(e){this._key=e}async verify(e,r){return a8(this._key,r,e)}marshal(){return an.jwkToPkix(this._key)}get bytes(){return It.encode({Type:he.RSA,Data:this.marshal()}).subarray()}encrypt(e){return f8(this._key,e)}equals(e){return se(this.bytes,e.bytes)}async hash(){let{bytes:e}=await xe.digest(this.bytes);return e}},ai=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return sn(16)}async sign(e){return s8(this._key,e)}get public(){if(this._publicKey==null)throw new _("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new t0(this._publicKey)}decrypt(e){return l8(this._key,e)}marshal(){return an.jwkToPkcs1(this._key)}get bytes(){return Ct.encode({Type:he.RSA,Data:this.marshal()}).subarray()}equals(e){return se(this.bytes,e.bytes)}async hash(){let{bytes:e}=await xe.digest(this.bytes);return e}async id(){let e=await this.public.hash();return K(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new e0.default.util.ByteBuffer(this.marshal()),i=e0.default.asn1.fromDer(n),o=e0.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return e0.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return jn(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Yy(t){let e=an.pkcs1ToJwk(t),r=await i2(e);return new ai(r.privateKey,r.publicKey)}function Wy(t){let e=an.pkixToJwk(t);return new t0(e)}async function Zy(t){let e=await i2(t);return new ai(e.privateKey,e.publicKey)}async function Xy(t){let e=await o8(t);return new ai(e.privateKey,e.publicKey)}var a2={};V(a2,{Secp256k1PrivateKey:()=>n0,Secp256k1PublicKey:()=>r0,generateKeyPair:()=>tg,unmarshalSecp256k1PrivateKey:()=>Jy,unmarshalSecp256k1PublicKey:()=>eg});function h8(){return _t.randomPrivateKey()}async function d8(t,e){let{digest:r}=await xe.digest(e);try{return await e8(r,t)}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}async function p8(t,e,r){try{let{digest:n}=await xe.digest(r);return t8(e,n,t)}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}function y8(t){return ee.fromHex(t).toRawBytes(!0)}function g8(t){try{r2(t,!0)}catch(e){throw new _(String(e),"ERR_INVALID_PRIVATE_KEY")}}function s2(t){try{ee.fromHex(t)}catch(e){throw new _(String(e),"ERR_INVALID_PUBLIC_KEY")}}function m8(t){try{return r2(t,!0)}catch(e){throw new _(String(e),"ERR_INVALID_PRIVATE_KEY")}}var r0=class{_key;constructor(e){s2(e),this._key=e}async verify(e,r){return p8(this._key,r,e)}marshal(){return y8(this._key)}get bytes(){return It.encode({Type:he.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return se(this.bytes,e.bytes)}async hash(){let{bytes:e}=await xe.digest(this.bytes);return e}},n0=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??m8(e),g8(this._key),s2(this._publicKey)}async sign(e){return d8(this._key,e)}get public(){return new r0(this._publicKey)}marshal(){return this._key}get bytes(){return Ct.encode({Type:he.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return se(this.bytes,e.bytes)}async hash(){let{bytes:e}=await xe.digest(this.bytes);return e}async id(){let e=await this.public.hash();return K(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return jn(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Jy(t){return new n0(t)}function eg(t){return new r0(t)}async function tg(){let t=h8();return new n0(t)}var Yt={rsa:o2,ed25519:Qa,secp256k1:a2};function c2(t){let e=Object.keys(Yt).join(" / ");return new _(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function u2(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Yt[t];throw c2(t)}async function rg(t,e){return u2(t).generateKeyPair(e??2048)}async function ng(t,e,r){if(t.toLowerCase()!=="ed25519")throw new _("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return Ga(e)}function ig(t){let e=It.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case he.RSA:return Yt.rsa.unmarshalRsaPublicKey(r);case he.Ed25519:return Yt.ed25519.unmarshalEd25519PublicKey(r);case he.Secp256k1:return Yt.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw c2(e.Type??"RSA")}}function og(t,e){return e=(e??"rsa").toLowerCase(),u2(e),t.bytes}async function v8(t){let e=Ct.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case he.RSA:return Yt.rsa.unmarshalRsaPrivateKey(r);case he.Ed25519:return Yt.ed25519.unmarshalEd25519PrivateKey(r);case he.Secp256k1:return Yt.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw c2(e.Type??"RSA")}}function sg(t,e){return e=(e??"rsa").toLowerCase(),u2(e),t.bytes}async function ag(t,e){try{let i=await k6(t,e);return await v8(i)}catch{}let r=R1.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new _("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=R1.default.asn1.toDer(R1.default.pki.privateKeyToAsn1(r));return n=be(n.getBytes(),"ascii"),Yt.rsa.unmarshalRsaPrivateKey(n)}var cg=G(Ca(),1),ug=G(Re(),1);function N1(t,e){for(let r=0;r<t.byteLength;r++){if(t[r]<e[r])return-1;if(t[r]>e[r])return 1}return t.byteLength>e.byteLength?1:t.byteLength<e.byteLength?-1:0}function ur(t,e){if(t.length!==e.length)throw new Error("Inputs should have the same length");let r=ot(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return Jt(r)}var L1=class{originDhtKey;capacity;peerDistances;constructor(e,r){this.originDhtKey=e,this.capacity=r,this.peerDistances=[]}get length(){return this.peerDistances.length}get peers(){return this.peerDistances.map(e=>e.peerId)}async add(e){if(this.peerDistances.find(i=>i.peerId.equals(e))!=null)return;let r=await Et(e),n={peerId:e,distance:ur(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((i,o)=>N1(i.distance,o.distance)),this.peerDistances=this.peerDistances.slice(0,this.capacity)}async anyCloser(e){if(e.length===0)return!1;if(this.length===0)return!0;let r=await Promise.all(e.map(Et)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=ur(this.originDhtKey,i);if(N1(o,n)<0)return!0}return!1}};var k1=class{components;log;routingTable;network;validators;queryManager;constructor(e,r){let{routingTable:n,network:i,validators:o,queryManager:s,lan:a}=r;this.components=e,this.routingTable=n,this.network=i,this.validators=o,this.queryManager=s,this.log=$(`libp2p:kad-dht:${a?"lan":"wan"}:peer-routing`)}async findPeerLocal(e){let r,n=await this.routingTable.find(e);if(n!=null){this.log("findPeerLocal found %p in routing table",e);try{r=await this.components.peerStore.get(n)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}}if(r==null)try{r=await this.components.peerStore.get(e)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}if(r!=null)return this.log("findPeerLocal found %p in peer store",e),{id:r.id,multiaddrs:r.addresses.map(i=>i.multiaddr),protocols:[]}}async*_getValueSingle(e,r,n={}){let i=new ge(_e.GET_VALUE,r,0);yield*this.network.sendRequest(e,i,n)}async*getPublicKeyFromNode(e,r={}){let n=Dc(e);for await(let i of this._getValueSingle(e,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await A3(P1.marshalPublicKey({bytes:i.record.value}));if(!o.equals(e))throw new _("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new _("public key missing","ERR_PUBLIC_KEY_MISSING");yield Fi({from:e,value:o.publicKey},r)}throw new _(`Node not responding with its public key: ${e.toString()}`,"ERR_INVALID_RECORD")}async*findPeer(e,r={}){this.log("findPeer %p",e);let n=await this.findPeerLocal(e);if(n!=null){this.log("found local"),yield q0({from:this.components.peerId,peer:n},r);return}let i=this,o=async function*({peer:a,signal:c}){let u=new ge(_e.FIND_NODE,e.toBytes(),0);for await(let f of i.network.sendRequest(a,u,{...r,signal:c}))if(yield f,f.name==="PEER_RESPONSE"){let l=f.closer.find(p=>p.id.equals(e));l!=null&&(yield q0({from:f.from,peer:l},r))}},s=!1;for await(let a of this.queryManager.run(e.toBytes(),o,r))a.name==="FINAL_PEER"&&(s=!0),yield a;s||(yield Qe({from:this.components.peerId,error:new _("Not found","ERR_NOT_FOUND")},r))}async*getClosestPeers(e,r={}){this.log("getClosestPeers to %b",e);let n=await Sr(e),i=this.routingTable.closestPeers(n),o=this,s=new L1(n,this.routingTable.kBucketSize);await Promise.all(i.map(async c=>{await s.add(c)}));let a=async function*({peer:c,signal:u}){o.log("closerPeersSingle %s from %p",K(e,"base32"),c);let f=new ge(_e.FIND_NODE,e,0);yield*o.network.sendRequest(c,f,{...r,signal:u})};for await(let c of this.queryManager.run(e,a,r))yield c,c.name==="PEER_RESPONSE"&&await Promise.all(c.closer.map(async u=>{await s.add(u.id)}));this.log("found %d peers close to %b",s.length,e);for(let c of s.peers)try{let u=await this.components.peerStore.get(c);yield q0({from:this.components.peerId,peer:{id:c,multiaddrs:u.addresses.map(({multiaddr:f})=>f),protocols:u.protocols}},r)}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}}async*getValueOrPeers(e,r,n={}){for await(let i of this._getValueSingle(e,r,n)){if(i.name==="PEER_RESPONSE"&&i.record!=null)try{await this._verifyRecordOnline(i.record)}catch{let s="invalid record received, discarded";this.log(s),yield Qe({from:i.from,error:new _(s,"ERR_INVALID_RECORD")},n);continue}yield i}}async _verifyRecordOnline(e){if(e.timeReceived==null)throw new _("invalid record received","ERR_INVALID_RECORD");await Vn(this.validators,new Fe(e.key,e.value,e.timeReceived))}async getCloserPeersOffline(e,r){let n=await Sr(e),i=this.routingTable.closestPeers(n),o=[];for(let s of i)if(!s.equals(r))try{let a=await this.components.peerStore.get(s);o.push({id:s,multiaddrs:a.addresses.map(({multiaddr:c})=>c),protocols:a.protocols})}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}return o.length>0?this.log("getCloserPeersOffline found %d peer(s) closer to %b than %p",o.length,e,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",e,r),o}};var N8=G(b8(),1);var P8=G(E8(),1);var o0=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},l2=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},S8=t=>globalThis.DOMException===void 0?new l2(t):new DOMException(t),A8=t=>{let e=t.reason===void 0?S8("This operation was aborted."):t.reason;return e instanceof Error?e:S8(e)};function h2(t,e,r,n){let i,o=new Promise((s,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(A8(c)),c.addEventListener("abort",()=>{a(A8(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(f){a(f)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new o0(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function d2(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var cn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},fr,s0=class{constructor(){fr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&cn(this,fr,"f")[this.size-1].priority>=r.priority){cn(this,fr,"f").push(n);return}let i=d2(cn(this,fr,"f"),n,(o,s)=>s.priority-o.priority);cn(this,fr,"f").splice(i,0,n)}dequeue(){let e=cn(this,fr,"f").shift();return e?.run}filter(e){return cn(this,fr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return cn(this,fr,"f").length}};fr=new WeakMap;var we=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},k=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ne,c0,u0,Or,V1,f0,F1,Rt,a0,ut,O1,ft,l0,Fr,U1,I8,C8,_8,B8,T8,M1,p2,y2,z1,R8,K1,q1=class extends Error{},lr=class extends P8.default{constructor(e){var r,n,i,o;if(super(),Ne.add(this),c0.set(this,void 0),u0.set(this,void 0),Or.set(this,0),V1.set(this,void 0),f0.set(this,void 0),F1.set(this,0),Rt.set(this,void 0),a0.set(this,void 0),ut.set(this,void 0),O1.set(this,void 0),ft.set(this,0),l0.set(this,void 0),Fr.set(this,void 0),U1.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:s0,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);we(this,c0,e.carryoverConcurrencyCount,"f"),we(this,u0,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),we(this,V1,e.intervalCap,"f"),we(this,f0,e.interval,"f"),we(this,ut,new e.queueClass,"f"),we(this,O1,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,we(this,U1,e.throwOnTimeout===!0,"f"),we(this,Fr,e.autoStart===!1,"f")}get concurrency(){return k(this,l0,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);we(this,l0,e,"f"),k(this,Ne,"m",z1).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,U1,"f"),...r},new Promise((n,i)=>{k(this,ut,"f").enqueue(async()=>{var o,s,a;we(this,ft,(s=k(this,ft,"f"),s++,s),"f"),we(this,Or,(a=k(this,Or,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new q1("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=h2(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Ne,"m",R8).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof o0&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Ne,"m",_8).call(this)}},r),this.emit("add"),k(this,Ne,"m",M1).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,Fr,"f")?(we(this,Fr,!1,"f"),k(this,Ne,"m",z1).call(this),this):this}pause(){we(this,Fr,!0,"f")}clear(){we(this,ut,new(k(this,O1,"f")),"f")}async onEmpty(){k(this,ut,"f").size!==0&&await k(this,Ne,"m",K1).call(this,"empty")}async onSizeLessThan(e){k(this,ut,"f").size<e||await k(this,Ne,"m",K1).call(this,"next",()=>k(this,ut,"f").size<e)}async onIdle(){k(this,ft,"f")===0&&k(this,ut,"f").size===0||await k(this,Ne,"m",K1).call(this,"idle")}get size(){return k(this,ut,"f").size}sizeBy(e){return k(this,ut,"f").filter(e).length}get pending(){return k(this,ft,"f")}get isPaused(){return k(this,Fr,"f")}};c0=new WeakMap,u0=new WeakMap,Or=new WeakMap,V1=new WeakMap,f0=new WeakMap,F1=new WeakMap,Rt=new WeakMap,a0=new WeakMap,ut=new WeakMap,O1=new WeakMap,ft=new WeakMap,l0=new WeakMap,Fr=new WeakMap,U1=new WeakMap,Ne=new WeakSet,I8=function(){return k(this,u0,"f")||k(this,Or,"f")<k(this,V1,"f")},C8=function(){return k(this,ft,"f")<k(this,l0,"f")},_8=function(){var e;we(this,ft,(e=k(this,ft,"f"),e--,e),"f"),k(this,Ne,"m",M1).call(this),this.emit("next")},B8=function(){k(this,Ne,"m",y2).call(this),k(this,Ne,"m",p2).call(this),we(this,a0,void 0,"f")},T8=function(){let e=Date.now();if(k(this,Rt,"f")===void 0){let r=k(this,F1,"f")-e;if(r<0)we(this,Or,k(this,c0,"f")?k(this,ft,"f"):0,"f");else return k(this,a0,"f")===void 0&&we(this,a0,setTimeout(()=>{k(this,Ne,"m",B8).call(this)},r),"f"),!0}return!1},M1=function(){if(k(this,ut,"f").size===0)return k(this,Rt,"f")&&clearInterval(k(this,Rt,"f")),we(this,Rt,void 0,"f"),this.emit("empty"),k(this,ft,"f")===0&&this.emit("idle"),!1;if(!k(this,Fr,"f")){let e=!k(this,Ne,"a",T8);if(k(this,Ne,"a",I8)&&k(this,Ne,"a",C8)){let r=k(this,ut,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Ne,"m",p2).call(this),!0):!1}}return!1},p2=function(){k(this,u0,"f")||k(this,Rt,"f")!==void 0||(we(this,Rt,setInterval(()=>{k(this,Ne,"m",y2).call(this)},k(this,f0,"f")),"f"),we(this,F1,Date.now()+k(this,f0,"f"),"f"))},y2=function(){k(this,Or,"f")===0&&k(this,ft,"f")===0&&k(this,Rt,"f")&&(clearInterval(k(this,Rt,"f")),we(this,Rt,void 0,"f")),we(this,Or,k(this,c0,"f")?k(this,ft,"f"):0,"f"),k(this,Ne,"m",z1).call(this)},z1=function(){for(;k(this,Ne,"m",M1).call(this););},R8=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new q1("The task was aborted."))},{once:!0})})},K1=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var g2=G(Ri(),1);var hr=$("libp2p:kad-dht:providers"),$1=class{components;cache;cleanupInterval;provideValidity;syncQueue;started;cleaner;constructor(e,r={}){let{cacheSize:n,cleanupInterval:i,provideValidity:o}=r;this.components=e,this.cleanupInterval=i??36e5,this.provideValidity=o??864e5,this.cache=(0,N8.default)(n??256),this.syncQueue=new lr({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(e=>{hr.error(e)})},this.cleanupInterval))}async stop(){this.started=!1,this.cleaner!=null&&(clearInterval(this.cleaner),this.cleaner=void 0)}async _cleanup(){await this.syncQueue.add(async()=>{let e=Date.now(),r=0,n=0,i=new Map,o=this.components.datastore.batch(),s=this.components.datastore.query({prefix:Co});for await(let a of s)try{let{cid:c,peerId:u}=L8(a.key),f=k8(a.value).getTime(),l=Date.now(),p=l-f,d=p>this.provideValidity;if(hr("comparing: %d - %d = %d > %d %s",l,f,p,this.provideValidity,d?"(expired)":""),d){n++,o.delete(a.key);let h=i.get(c)??new Set;h.add(u),i.set(c,h)}r++}catch(c){hr.error(c.message)}i.size>0?(hr("deleting %d / %d entries",n,r),await o.commit()):hr("nothing to delete");for(let[a,c]of i){let u=h0(a),f=this.cache.get(u);if(f!=null){for(let l of c)f.delete(l);f.size===0?this.cache.remove(u):this.cache.set(u,f)}}hr("Cleanup successful (%dms)",Date.now()-e)})}async _getProvidersMap(e){let r=h0(e),n=this.cache.get(r);return n==null&&(n=await gg(this.components.datastore,e),this.cache.set(r,n)),n}async addProvider(e,r){await this.syncQueue.add(async()=>{hr("%p provides %s",r,e);let n=await this._getProvidersMap(e);hr("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=h0(e);this.cache.set(o,n),await yg(this.components.datastore,e,r,i)})}async getProviders(e){return this.syncQueue.add(async()=>(hr("get providers for %s",e),[...(await this._getProvidersMap(e)).keys()].map(n=>Se(n))),{throwOnTimeout:!0})}};function h0(t){let e=typeof t=="string"?t:K(t.multihash.bytes,"base32");return`${Co}/${e}`}async function yg(t,e,r,n){let i=[h0(e),"/",r.toString()].join(""),o=new Ue(i),s=Uint8Array.from(g2.default.encode(n.getTime()));await t.put(o,s)}function L8(t){let e=t.toString().split("/");if(e.length!==5)throw new Error(`incorrectly formatted provider entry key in datastore: ${t.toString()}`);return{cid:e[3],peerId:e[4]}}async function gg(t,e){let r=new Map,n=t.query({prefix:h0(e)});for await(let i of n){let{peerId:o}=L8(i.key);r.set(o,k8(i.value))}return r}function k8(t){return new Date(g2.default.decode(t))}var un=G(v2(),1);function dr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var x2=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return dr(this.map.entries(),e=>[Se(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,Se(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return dr(this.map.keys(),e=>Se(e))}values(){return this.map.values()}get size(){return this.map.size}};var yt=class{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return dr(this.set.entries(),e=>{let r=Se(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=Se(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return dr(this.set.values(),e=>Se(e))}intersection(e){let r=new yt;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new yt;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new yt;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var ui=class{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return dr(this.list.entries(),e=>Se(e[1]))}concat(e){let r=new ui(this);for(let n of e)r.push(n);return r}entries(){return dr(this.list.entries(),e=>[e[0],Se(e[1])])}every(e){return this.list.every((r,n)=>e(Se(r),n,this))}filter(e){let r=new ui;return this.list.forEach((n,i)=>{let o=Se(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(Se(n),i,this));if(r!=null)return Se(r)}findIndex(e){return this.list.findIndex((r,n)=>e(Se(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(Se(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return Se(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return Se(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};function fi(t){let e=new globalThis.AbortController;function r(){e.abort();for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of t){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}var Sg=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*H8(t){let{key:e,startingPeer:r,ourPeerId:n,signal:i,query:o,alpha:s,pathIndex:a,numPaths:c,cleanUp:u,queryFuncTimeout:f,log:l,peersSeen:p}=t,d=new lr({concurrency:s}),h=await Sr(e);function y(g,m){if(g==null)return;p.add(g);let v=BigInt("0x"+K(ur(m,h),"base16"));d.add(async()=>{let w=[i];f!=null&&w.push(AbortSignal.timeout(f));let T=fi(w);try{for await(let S of o({key:e,peer:g,signal:T,pathIndex:a,numPaths:c})){if(T.aborted)return;if(S.name==="PEER_RESPONSE")for(let I of S.closer){if(p.has(I.id)){l("already seen %p in query",I.id);continue}if(n.equals(I.id)){l("not querying ourselves");continue}let L=await Et(I.id);if(BigInt("0x"+K(ur(L,h),"base16"))>v){l("skipping %p as they are not closer to %b than %p",I.id,e,g);continue}l("querying closer peer %p",I.id),y(I.id,L)}d.emit("completed",S)}}catch(S){if(!i.aborted)return Qe({from:g,error:S},t)}finally{T.clear()}},{priority:Sg-v}).catch(w=>{l.error(w)})}y(r,await Et(r)),yield*Ag(d,i,u,l)}async function*Ag(t,e,r,n){let i=it(),o=!0,s=[],a=()=>{o&&(n("clean up queue, results %d, queue size %d, pending tasks %d",s.length,t.size,t.pending),o=!1,t.clear(),s.splice(0,s.length))};for(t.on("completed",c=>{s.push(c),i.resolve()}),t.on("error",c=>{n("queue error",c),a(),i.reject(c)}),t.on("idle",()=>{n("queue idle"),o=!1,i.resolve()}),e.addEventListener("abort",()=>{n("abort queue");let c=o;a(),c&&i.reject(new _("Query aborted","ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=it();s.length>0;){let c=s.shift();c!=null&&(yield c)}yield*s}var Y1=class{components;lan;disjointPaths;alpha;shutDownController;running;queries;metrics;routingTable;initialQuerySelfHasRun;constructor(e,r){let{lan:n=!1,disjointPaths:i=20,alpha:o=3}=r;this.components=e,this.disjointPaths=i??20,this.running=!1,this.alpha=o??3,this.lan=n,this.queries=0,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.routingTable=r.routingTable,this.shutDownController=new AbortController;try{un.setMaxListeners!=null&&(0,un.setMaxListeners)(1/0,this.shutDownController.signal)}catch{}}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&this.metrics==null&&(this.metrics={runningQueries:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_running_queries`),queryTime:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_query_time_seconds`)})}async stop(){this.running=!1,this.shutDownController.abort()}async*run(e,r,n={}){if(!this.running)throw new Error("QueryManager not started");let i=this.metrics?.queryTime.timer();if(n.signal==null){n.signal=AbortSignal.timeout(3e4);try{un.setMaxListeners!=null&&(0,un.setMaxListeners)(1/0,n.signal)}catch{}}let o=fi([this.shutDownController.signal,n.signal]);try{un.setMaxListeners!=null&&(0,un.setMaxListeners)(1/0,o)}catch{}let s=$(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+K(e,"base58btc")),a=Date.now(),c=new $e;try{n.isSelfQuery!==!0&&this.initialQuerySelfHasRun!=null&&(s("waiting for initial query-self query before continuing"),await Promise.race([new Promise((h,y)=>{o.addEventListener("abort",()=>{y(new hn("Query was aborted before self-query ran"))})}),this.initialQuerySelfHasRun.promise]),this.initialQuerySelfHasRun=void 0),s("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries);let u=await Sr(e),f=this.routingTable.closestPeers(u),l=f.slice(0,Math.min(this.disjointPaths,f.length));if(f.length===0){s.error("Running query with no peers");return}let p=new yt,d=l.map((h,y)=>H8({key:e,startingPeer:h,ourPeerId:this.components.peerId,signal:o,query:r,pathIndex:y,numPaths:l.length,alpha:this.alpha,cleanUp:c,queryFuncTimeout:n.queryFuncTimeout,log:s,peersSeen:p,onProgress:n.onProgress}));for await(let h of mt(...d))yield h,h.name==="QUERY_ERROR"&&s("error",h.error)}catch(u){if(!(!this.running&&u.code==="ERR_QUERY_ABORTED"))throw u}finally{o.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),i?.(),c.dispatchEvent(new Be("cleanup")),s("query:done in %dms",Date.now()-a)}}};var E2=G(v2(),1);function Cg(t){return t[Symbol.asyncIterator]!=null}function Bg(t){if(Cg(t))return(async()=>{let e=0;for await(let r of t)e++;return e})();{let e=0;for(let r of t)e++;return e}}var W1=Bg;function Tg(t){return t[Symbol.asyncIterator]!=null}function _g(t,e){return Tg(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var G8=_g;var Z1=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},b2=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Q8=t=>globalThis.DOMException===void 0?new b2(t):new DOMException(t),Y8=t=>{let e=t.reason===void 0?Q8("This operation was aborted."):t.reason;return e instanceof Error?e:Q8(e)};function w2(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:p}=e;p.aborted&&f(Y8(p)),p.addEventListener("abort",()=>{f(Y8(p))})}if(r===Number.POSITIVE_INFINITY){t.then(u,f);return}let l=new Z1;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(p){f(p)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await t)}catch(p){f(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Rg=t=>{let e=t.on||t.addListener||t.addEventListener,r=t.off||t.removeListener||t.removeEventListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function Pg(t,e,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),c=[],{addListener:u,removeListener:f}=Rg(t),l=(...d)=>{let h=r.multiArgs?d:d[0];r.filter&&!r.filter(h)||(c.push(h),r.count===c.length&&(n(),o(c)))},p=d=>{n(),s(d)};n=()=>{for(let d of a)f(d,l);for(let d of r.rejectionEvents)f(d,p)};for(let d of a)u(d,l);for(let d of r.rejectionEvents)u(d,p);r.signal&&r.signal.addEventListener("abort",()=>{p(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=w2(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function W8(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Pg(t,e,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var X1=class{log;components;peerRouting;routingTable;count;interval;initialInterval;queryTimeout;started;timeoutId;controller;initialQuerySelfHasRun;querySelfPromise;constructor(e,r){let{peerRouting:n,lan:i,count:o,interval:s,queryTimeout:a,routingTable:c}=r;this.components=e,this.log=$(`libp2p:kad-dht:${i?"lan":"wan"}:query-self`),this.started=!1,this.peerRouting=n,this.routingTable=c,this.count=o??20,this.interval=s??3e5,this.initialInterval=r.initialInterval??1e3,this.queryTimeout=a??5e3,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun}isStarted(){return this.started}start(){this.started||(this.started=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.querySelf().catch(e=>{this.log.error("error running self-query",e)})},this.initialInterval))}stop(){this.started=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}async querySelf(){if(!this.started){this.log("skip self-query because we are not started");return}if(this.querySelfPromise!=null)return this.log("joining existing self query"),this.querySelfPromise.promise;if(this.querySelfPromise=it(),this.routingTable.size===0&&await W8(this.routingTable,"peer:add"),this.started){this.controller=new AbortController;let e=fi([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);try{E2.setMaxListeners!=null&&(0,E2.setMaxListeners)(1/0,e)}catch{}try{this.log("run self-query, look for %d peers timing out after %dms",this.count,this.queryTimeout);let r=await xt(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:e,isSelfQuery:!0}),n=>G8(n,this.count),async n=>W1(n));this.log("self-query ran successfully - found %d peers",r),this.initialQuerySelfHasRun!=null&&(this.initialQuerySelfHasRun.resolve(),this.initialQuerySelfHasRun=void 0)}catch(r){this.log.error("self-query error",r)}finally{e.clear()}}this.querySelfPromise.resolve(),this.querySelfPromise=void 0,this.started&&(this.timeoutId=setTimeout(()=>{this.querySelf().catch(e=>{this.log.error("error running self-query",e)})},this.interval))}};function Z8(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let r=0,n=t.length;r<n;++r)if(t[r]!==e[r])return!1;return!0}function S2(){return{contacts:[],dontSplit:!1,left:null,right:null}}function d0(t,e){if(!(e instanceof Uint8Array))throw new TypeError(t+" is not a Uint8Array")}var fn=class extends $e{localNodeId;root;numberOfNodesPerKBucket;numberOfNodesToPing;distance;arbiter;constructor(e){super(),this.localNodeId=e.localNodeId,this.numberOfNodesPerKBucket=e.numberOfNodesPerKBucket??20,this.numberOfNodesToPing=e.numberOfNodesToPing??3,this.distance=e.distance??fn.distance,this.arbiter=e.arbiter??fn.arbiter,d0("option.localNodeId as parameter 1",this.localNodeId),this.root=S2()}static arbiter(e,r){return(e.vectorClock??0)>(r.vectorClock??0)?e:r}static distance(e,r){let n=0,i=0,o=Math.min(e.length,r.length),s=Math.max(e.length,r.length);for(;i<o;++i)n=n*256+(e[i]^r[i]);for(;i<s;++i)n=n*256+255;return n}add(e){d0("contact.id",e?.id);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,e.id,r++);let i=this._indexOf(n,e.id);return i>=0?(this._update(n,i,e),this):n.contacts.length<this.numberOfNodesPerKBucket?(n.contacts.push(e),this.safeDispatchEvent("added",{detail:e}),this):n.dontSplit?(this.safeDispatchEvent("ping",{detail:{oldContacts:n.contacts.slice(0,this.numberOfNodesToPing),newContact:e}}),this):(this._split(n,r),this.add(e))}closest(e,r=1/0){if(d0("id",e),!Number.isInteger(r)&&r!==1/0||r<=0)throw new TypeError("n is not positive number");let n=[];for(let i=[this.root],o=0;i.length>0&&n.length<r;){let s=i.pop();if(s!=null)if(s.contacts===null){let a=this._determineNode(s,e,o++);i.push(s.left===a?s.right:s.left),i.push(a)}else n=n.concat(s.contacts)}return n.map(i=>({distance:this.distance(i.id,e),contact:i})).sort((i,o)=>i.distance-o.distance).slice(0,r).map(i=>i.contact)}count(){let e=0;for(let r=[this.root];r.length>0;){let n=r.pop();n!=null&&(n.contacts===null?r.push(n.right,n.left):e+=n.contacts.length)}return e}_determineNode(e,r,n){let i=n>>3,o=n%8;return r.length<=i&&o!==0?e.left:r[i]&1<<7-o?e.right:e.left}get(e){d0("id",e);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,e,r++);let i=this._indexOf(n,e);return i>=0?n.contacts[i]:void 0}_indexOf(e,r){for(let n=0;n<e.contacts.length;++n)if(Z8(e.contacts[n].id,r))return n;return-1}remove(e){d0("the id as parameter 1",e);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,e,r++);let i=this._indexOf(n,e);if(i>=0){let o=n.contacts.splice(i,1)[0];this.safeDispatchEvent("removed",{detail:o})}return this}_split(e,r){e.left=S2(),e.right=S2();for(let o of e.contacts)this._determineNode(e,o.id,r).contacts.push(o);e.contacts=null;let n=this._determineNode(e,this.localNodeId,r),i=e.left===n?e.right:e.left;i.dontSplit=!0}toArray(){let e=[];for(let r=[this.root];r.length>0;){let n=r.pop();n!=null&&(n.contacts===null?r.push(n.right,n.left):e=e.concat(n.contacts))}return e}*toIterable(){for(let e=[this.root];e.length>0;){let r=e.pop();r!=null&&(r.contacts===null?e.push(r.right,r.left):yield*r.contacts)}}_update(e,r,n){if(!Z8(e.contacts[r].id,n.id))throw new Error("wrong index for _update");let i=e.contacts[r],o=this.arbiter(i,n);o===i&&i!==n||(e.contacts.splice(r,1),e.contacts.push(o),this.safeDispatchEvent("updated",{detail:{incumbent:i,selection:o}}))}};var Dg="kad-close",Fg=50,X8=20,Og=1e4,Ug=10,j1=class extends $e{kBucketSize;kb;pingQueue;log;components;lan;pingTimeout;pingConcurrency;running;protocol;tagName;tagValue;metrics;constructor(e,r){super();let{kBucketSize:n,pingTimeout:i,lan:o,pingConcurrency:s,protocol:a,tagName:c,tagValue:u}=r;this.components=e,this.log=$(`libp2p:kad-dht:${o?"lan":"wan"}:routing-table`),this.kBucketSize=n??X8,this.pingTimeout=i??Og,this.pingConcurrency=s??Ug,this.lan=o,this.running=!1,this.protocol=a,this.tagName=c??Dg,this.tagValue=u??Fg;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new lr({concurrency:this.pingConcurrency}),this.pingQueue.addListener("add",f),this.pingQueue.addListener("next",f),this._onPing=this._onPing.bind(this)}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&(this.metrics={routingTableSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_routing_table_size`),pingQueueSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_queue_size`),pingRunning:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_running`)});let e=new fn({localNodeId:await Et(this.components.peerId),numberOfNodesPerKBucket:this.kBucketSize,numberOfNodesToPing:1});this.kb=e,e.addEventListener("ping",this._onPing),this._tagPeers(e)}async stop(){this.running=!1,this.pingQueue.clear(),this.kb=void 0}_tagPeers(e){let r=new yt,n=Uc(()=>{let i=new yt(e.closest(e.localNodeId,X8).map(a=>a.peer)),o=i.difference(r),s=r.difference(i);Promise.resolve().then(async()=>{for(let a of o)await this.components.peerStore.merge(a,{tags:{[this.tagName]:{value:this.tagValue}}});for(let a of s)await this.components.peerStore.merge(a,{tags:{[this.tagName]:void 0}})}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=i});e.addEventListener("added",i=>{n(),this.safeDispatchEvent("peer:add",{detail:i.detail.peer})}),e.addEventListener("removed",i=>{n(),this.safeDispatchEvent("peer:remove",{detail:i.detail.peer})})}_onPing(e){let{oldContacts:r,newContact:n}=e.detail;this.pingQueue.add(async()=>{if(!this.running)return;let i=0;try{await Promise.all(r.map(async o=>{try{let s={signal:AbortSignal.timeout(this.pingTimeout)};this.log("pinging old contact %p",o.peer),(await(await this.components.connectionManager.openConnection(o.peer,s)).newStream(this.protocol,s)).close(),i++}catch(s){this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",o.peer,s),this.log("evicting old contact after ping failed %p",o.peer),this.kb.remove(o.id))}finally{this.metrics?.routingTableSize.update(this.size)}})),this.running&&i<r.length&&this.kb!=null&&(this.log("adding new contact %p",n.peer),this.kb.add(n))}catch(o){this.log.error("could not process k-bucket ping event",o)}}).catch(i=>{this.log.error("could not process k-bucket ping event",i)})}get size(){return this.kb==null?0:this.kb.count()}async find(e){let r=await Et(e),n=this.closestPeer(r);if(n!=null&&e.equals(n))return n}closestPeer(e){let r=this.closestPeers(e,1);if(r.length>0)return r[0]}closestPeers(e,r=this.kBucketSize){return this.kb==null?[]:this.kb.closest(e,r).map(i=>i.peer)}async add(e){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await Et(e);this.kb.add({id:r,peer:e}),this.log("added %p with kad id %b",e,r),this.metrics?.routingTableSize.update(this.size)}async remove(e){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await Et(e);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};var j8=[77591,22417,43971,28421,740,29829,71467,228973,196661,78537,27689,36431,44415,14362,19456,106025,96308,2882,49509,21149,87173,131409,75844,23676,121838,30291,17492,2953,7564,110620,129477,127283,53113,72417,165166,109690,21200,102125,24049,71504,90342,25307,72039,26812,26715,32264,133800,71161,88956,171987,51779,24425,16671,30251,186294,247761,14202,2121,8465,35024,4876,85917,169730,3638,256836,96184,943,18678,6583,52907,35807,112254,214097,18796,11595,9243,23554,887,268203,382004,24590,111335,11625,16619,29039,102425,69006,97976,92362,32552,63717,41433,128974,137630,59943,10019,13986,35430,33665,108037,43799,43280,38195,29078,58629,18265,14425,46832,235538,40830,77881,110717,58937,3463,325358,51300,47623,117252,19007,10170,20540,91237,294813,4951,79841,56232,36270,128547,69209,66275,100156,32063,73531,34439,80937,28892,44466,88595,216307,32583,49620,16605,82127,45807,21630,78726,20235,40163,111007,96926,5567,72083,21665,58844,39419,179767,48328,42662,51550,5251,37811,49608,81056,50854,55513,20922,18891,197409,164656,32593,71449,220474,58919,85682,67854,13758,35066,3565,61905,214793,119572,141419,21504,10302,27354,67003,46131,32668,15165,64871,34450,17821,2757,11452,34189,5160,12257,85523,560,53385,65887,119549,135620,312353,115979,122356,10867,193231,124537,54783,90675,120791,4715,142253,50943,17271,43358,25331,4917,120566,34580,12878,33786,160528,32523,4869,301307,104817,81491,23276,8832,97911,31265,52065,7998,49622,9715,43998,34091,84587,20664,69041,29419,53205,10838,58288,116145,6185,5154,141795,35924,21307,144738,43730,12085,8279,10002,119,133779,199668,72938,31768,39176,67875,38453,9700,44144,4121,116048,41733,12868,82669,92308,128,34262,11332,7712,90764,36141,13553,71312,77470,117314,96549,49135,23602,54468,28605,6327,62308,17171,67531,21319,14105,894,107722,46157,8503,51069,100472,45138,15246,14577,35609,191464,1757,13364,161349,32067,91705,81144,52339,5408,91066,21983,14157,100545,4372,26630,129112,1423,29676,213626,4397,88436,99190,6877,49958,26122,114348,60661,29818,293118,50042,179738,16400,163423,89627,31040,43973,36638,45952,5153,1894,109322,1898,134021,12402,112077,68309,190269,69866,31938,107383,11522,105232,11248,14868,39852,71707,186525,16530,38162,106212,11700,5130,16608,26998,59586,108399,230033,43683,48135,82179,2073,5015,196684,189293,16378,23452,8301,35640,11632,214551,29240,57644,33137,91949,55157,52384,117313,5090,17717,89668,49363,82238,241035,66216,29066,184088,97206,62820,26595,4241,135635,173672,8202,459,71355,146294,29587,3008,135385,141203,14803,6634,45094,69362,50925,546,51884,62011,83296,234584,44515,56050,89476,87751,19373,12691,149923,19794,13833,35846,87557,58339,2884,19145,25647,12224,11024,77338,64608,122297,53025,7205,36189,36294,170779,21750,7739,173883,75192,35664,224240,113121,30181,26267,27036,117827,92015,106516,55628,203549,67949,60462,60844,35911,20457,1820,920,19773,8738,73173,181993,38521,98254,76257,46008,92796,5384,26868,151566,22124,2411,15919,186872,180021,28099,152961,78811,80237,62352,102653,74259,184890,16792,123702,224945,29940,19512,75283,14059,112691,92811,233329,20411,138569,53341,109802,50600,134528,66747,5529,166531,31578,64732,67189,1596,126357,967,167999,206598,109752,119431,207825,78791,91938,10301,27311,24233,252343,28831,32812,66002,112267,90895,8786,8095,16824,22866,21813,60507,174833,19549,130985,117051,52110,6938,81923,123864,38061,919,18680,53534,46739,112893,161529,85429,26761,11900,81121,91968,15390,217947,56524,1713,6654,37089,85630,138866,61850,16491,75577,16884,98296,73523,6140,44645,6062,36366,29844,57946,37932,42472,5266,20834,19309,33753,127182,134259,35810,41805,45878,312001,14881,47757,49251,120050,44252,3708,25856,107864,120347,1228,36550,41682,34496,47025,8393,173365,246526,12894,161607,35670,90785,126572,2095,124731,157033,58694,554,12786,9642,4817,16136,47864,174698,66992,4639,69284,10625,40710,27763,51738,30404,264105,137904,109882,52487,42824,57514,2740,10479,146799,107390,16586,88038,174951,9410,16185,44158,5568,40658,46108,12763,97385,26175,108859,664,230732,67470,46663,14395,50750,141320,93140,15361,47997,55784,6791,307840,118569,107326,18056,58281,260415,54691,8790,73332,45633,7511,45674,143373,14031,11799,94491,35646,96544,14560,26049,32983,25791,83814,42094,231370,63955,139212,2359,169908,3108,183486,105867,28197,32941,124968,26402,88267,149768,23053,3078,19091,52924,25383,19209,111548,97361,3959,24880,235061,9099,24921,161254,151405,20508,7159,34381,20133,11434,74036,19974,34769,36585,1076,22454,17354,38727,235160,111547,96454,117448,156940,91330,37299,7310,26915,117060,51369,22620,61861,322264,106850,111694,15091,2624,40345,300446,177064,1707,27389,54792,327783,132669,183543,59003,17744,20603,151134,106923,53084,71803,279424,319816,11579,21946,16728,38274,72711,5085,83391,88646,40159,25027,34680,10752,12988,54126,30365,18338,100445,230674,44874,84974,143877,123253,139372,28082,91477,144002,13096,219729,46016,50029,42377,14601,6660,58244,58978,23918,88206,113611,64452,17541,41032,10942,12021,49189,10978,40175,37156,10947,71709,106894,112538,57007,137486,150608,152719,40615,7746,279716,13101,19524,28708,40578,72320,1096,182051,94527,51275,22833,45164,81917,77519,48508,5421,140302,37845,149830,5587,27579,5357,428725,248187,6326,206760,39814,32585,89923,44341,288753,284443,96368,31201,94189,119504,20359,52073,103216,179,27934,32801,96035,34111,34309,101326,18198,20704,210266,37643,27880,141873,106e3,19414,56614,167714,66483,107885,86602,4379,20796,75467,4987,5017,118857,26003,34308,114428,29198,6686,29697,73632,3739,69795,16798,41504,7207,30722,21436,36735,28067,28545,3239,11221,36031,41889,100010,19247,317673,29495,174554,6424,129725,53845,94986,7955,59676,2604,191497,19735,102214,62954,23844,11872,179525,261436,34492,428,78404,142035,16747,17246,27578,37021,33672,57944,26056,135760,2369,61674,122066,31327,19374,157065,40553,130982,69619,71290,38855,72100,92903,95940,51422,165999,65713,57873,50726,7288,20272,2081,42326,22624,81120,57914,79352,19447,1684,72302,11774,302559,161481,96396,13692,414988,3721,79066,56627,46883,21150,11747,12184,5856,113458,176117,84416,52079,27933,3354,59765,141359,2212,216309,2555,23458,196722,142463,45701,44548,28798,19418,215,29916,9396,10574,114226,84475,13520,18694,34056,4524,90302,62930,13539,19407,77209,7728,38088,9535,2263,23875,183945,17750,26274,67172,10585,28042,22199,7478,51331,66030,26774,192929,31434,25850,50197,52926,178158,4679,181256,70184,229600,9959,105594,72158,73974,2726,35085,78087,23284,35568,51713,155676,5401,27254,11966,17569,223253,71993,103357,111477,55722,30504,26034,46774,35392,36285,214814,41143,163465,1051,16094,81044,6636,76489,179102,20712,39178,35683,125177,54219,30617,52994,25324,50123,2543,87529,58995,10688,125199,12388,60158,125481,131646,7642,133350,65874,3438,97277,101450,10075,56344,116821,50778,60547,98016,106135,13859,14255,16300,77373,173521,8285,45932,37426,4054,114295,55947,7703,39114,52,51119,128135,19714,60715,9554,50492,88180,2823,118271,52993,122625,97919,23859,37895,25040,33614,32102,20431,3577,9275,15686,43031,157741,110358,1884,40291,125391,13736,5008,64881,87336,77381,70711,43032,49155,118587,70494,4318,10168,30126,12580,10524,280104,104001,145413,2862,84140,6603,106005,13566,12780,11251,42830,571,179910,82443,13146,469,42714,32591,265217,424024,92553,54721,134100,6007,15242,114681,59030,16718,85465,200214,85982,55174,165013,23493,56964,82529,109150,32706,27568,82442,5350,14976,13165,44890,60021,21343,33978,17264,4655,22328,27819,75730,16567,55483,14510,17926,45827,150609,3704,7385,272531,161543,76904,122163,52405,2039,19165,41623,14423,228354,3369,176360,85491,7122,35789,303724,4465,13628,2233,55311,118771,20713,10006,221519,45115,71021,35650,29775,7337,10864,20665,21142,1746,15080,1624,32449,10905,105743,229797,7701,3940,22997,178467,57208,389057,39683,59403,63344,63125,54847,69691,18336,56448,3362,37202,18282,29648,138224,35867,10495,5911,28814,26653,31514,176702,26550,45621,11734,4525,40543,73944,121080,27858,155561,14887,44670,30742,8796,107455,113472,56369,75581,183777,240095,133699,153299,8768,160464,26058,49078,103971,21875,71486,44888,17156,9678,89541,123019,102337,3972,83930,21245,87852,109660,287918,183019,686,10100,39177,283941,11274,24736,26793,26214,25995,77011,141580,4070,23742,46285,46632,30700,26669,19056,35951,115575,174034,56097,35463,87425,24575,44245,38701,82317,85922,281616,100333,147697,61503,7730,84330,8530,59917,61597,17173,9092,32658,90288,193136,39023,20381,56654,31132,7779,1919,1375,117128,30819,11169,40938,23935,115201,101155,151034,4835,11231,74550,89388,59951,91704,107312,167882,115062,12732,72738,88703,464019,158267,57995,60496,737,14371,123867,4174,243339,159946,7568,16025,134556,110916,38103,191,80226,88794,29688,27230,10454,76308,57647,77409,113483,66864,14745,19808,12023,46583,84805,16015,17102,2231,20611,3547,95740,250131,34559,108894,8498,15853,159169,148920,20942,2813,93160,45188,210613,45531,52587,149062,39782,28194,57849,60965,84954,89766,84453,100927,16501,27658,165311,103841,54192,207341,19558,20084,319622,5672,205467,98462,61849,36279,13609,147177,24726,165015,209489,59591,31157,6551,117580,75060,141146,277310,21072,22023,106474,63041,137443,122965,68371,5383,42146,98961,113467,30863,23794,4843,99630,30392,82679,13699,241612,33601,93146,24319,18643,32155,95669,40440,15333,34089,67799,142144,58245,38633,114531,117400,77861,188726,5507,2568,8853,10987,107222,2663,2421,11530,13345,30075,41785,118661,104786,17459,12490,16281,71936,193555,17431,5944,71758,26485,77317,20803,367167,158,7362,93430,11735,172445,46002,11532,54482,930,62911,2235,23004,179236,4764,101859,208113,22477,55163,95579,14098,67320,162556,90709,156949,3826,57492,4025,34092,87442,104565,6718,186015,28214,14209,10039,107186,233912,58877,81637,55265,39828,6194,145813,50831,105849,4974,88319,122296,10272,197216,95714,51540,72418,23324,91555,8743,140452,250249,51666,34124,7229,38592,129641,78169,174242,22464,149964,51450,14034,10026,95376,26190,120062,14401,8700,265,31386,143573,7203,229889,61567,4227,140981,2466,72052,10787,10062,30958,6099,38471,30103,23202,208101,70847,467,58934,32271,32984,36637,24107,30771,17109,73353,13650,2098,157040,67366,66904,106018,265380,107238,18535,44025,32681,144983,62505,91295,56120,3082,77508,10322,63023,36700,81885,224127,16721,45023,239261,111272,13852,7866,149243,204199,32309,22084,42029,38316,126644,104973,14406,43454,67322,61310,15789,40285,24026,181047,6301,70927,23319,115823,27248,66693,115875,278566,63007,146844,56841,59007,87368,180001,22370,42114,80605,12022,10374,308,25079,14689,12618,63368,7936,264973,212291,136713,95999,105801,18965,32075,48700,52230,35119,96912,32992,8586,16606,101333,101812,14969,39930,759,193090,27387,42914,12937,5058,62646,64528,38624,25743,37502,3716,4435,30352,178687,26461,132611,42002,138442,35833,59582,16345,8048,60319,49349,309,47800,49739,90482,26405,34470,63786,32479,85028,39866,47846,11649,23934,29466,2816,42864,31828,7410,74885,49632,47629,111801,90749,19536,18767,105764,59606,21223,10746,76298,22220,39408,7190,79654,64856,11602,82156,272765,17079,70089,245473,51813,184407,384678,1576,122249,5064,27481,6188,25790,74361,27541,318284,45430,31488,620,93579,45723,192118,22670,51913,4162,70244,35966,26397,16199,50899,209613,121702,287507,2993,36101,132229,67345,33062,76295,118628,78705,52316,34375,107083,107454,44863,127561,33964,3073,154010,190914,55967,39074,6272,31047,5550,41123,26154,98638,47110,19998,148091,50229,31329,59900,195442,19106,61347,73497,70015,682,45850,25776,38022,148951,6288,37411,232526,109277,27286,32342,9262,5220,16651,23175,46740,129438,78614,121925,66914,88710,127952,5563,21500,34521,10739,14863,191006,62956,17359,16749,67027,56284,69134,43301,35039,58883,54466,60823,404451,75743,59856,86979,7923,34273,83785,32142,7693,268986,197428,282681,17049,22346,22990,92245,107180,3357,37104,96724,49153,7683,31197,43267,82231,164276,23696,20848,188364,22309,24821,158707,1018,22514,70922,27792,45589,59709,10765,736,35218,63479,51987,24275,63588,55361,92929,81964,4658,20122,12330,44058,13065,311456,72224,8337,211229,38979,22590,138478,52757,32595,133600,8838,31549,94412,43391,90056,1585,94802,127271,6223,31889,137038,132910,2165,57616,230152,6080,10748,36737,74579,134062,50525,180532,119270,34556,76155,82394,52595,29258,31435,87820,67996,26943,183878,38007,2410,13526,180297,69856,3503,187396,167700,7838,16701,9199,56267,3661,37407,65994,23767,5708,62508,221700,67088,86978,46776,84434,32088,5612,9149,88244,21685,95151,46750,189612,2979,506311,2594,3628,40074,105039,78243,28523,6651,38058,71999,30992,12764,68261,108991,6165,26450,61961,13400,22426,7490,60890,109623,2070,12958,50355,67979,257096,7213,42578,52121,35716,65461,7516,124758,39268,302,64712,14977,1467,219452,2840,34229,11121,21602,19270,63574,8024,1532,17331,79839,78885,52029,180767,57957,6069,91265,61380,55767,8927,32881,287603,22149,35029,68876,6428,199567,46926,13412,104132,21434,366616,45060,110046,81924,128910,45886,52821,130416,29416,77342,21762,67329,121432,79924,11724,38625,81006,102033,28338,13326,3250,82056,82526,38212,21112,12382,111495,3263,7414,86274,93490,40844,30224,45212,24019,48411,71367,24941,76729,57776,3769,38114,202019,197745,31953,237533,33270,201580,255648,100798,44741,32241,98468,106931,10085,15090,170358,33154,66787,18819,69760,25061,234005,82660,6295,131975,16874,9076,4094,25005,17740,40908,19533,220019,44330,99792,50040,19619,13950,55228,24423,31253,95308,103177,184795,28590,82285,5059,3210,75525,49894,70007,56178,10580,36051,139681,21617,98736,3555,106306,164189,37352,63915,47824,24883,145530,61904,28444,11483,19837,145446,30420,112972,85939,11835,191233,2262,20705,58630,1753,148334,1197,144714,6887,11223,107667,60879,77914,4151,57417,81594,96681,169430,1784,20444,95138,254041,27038,596,7117,72808,13759,3353,126776,21074,55322,27081,36942,39547,139830,179275,4453,713,8722,71399,19204,25785,22794,23923,104114,11291,25458,102309,88396,75288,230440,206396,104551,58447,130857,37247,94734,31548,176529,226077,65159,20104,10096,66881,94191,237909,27109,37404,1520,27421,25220,113003,23423,24884,50585,6286,231877,150800,11789,3226,90004,60642,5053,202400,61442,132531,175329,57138,30116,103847,9973,75367,16452,32360,59119,21246,10191,164804,23305,61051,37348,154530,13214,5468,50403,66754,130976,50559,80515,14436,155492,84017,5472,43107,41240,2890,90431,70188,382,76234,48040,50211,281038,237007,32115,142178,1536,22761,96429,1811,31243,1679,49143,55209,17402,235054,61494,7462,77030,34925,87609,78002,9499,9027,73289,201078,101379,63544,27666,5469,10642,30029,49816,132979,95620,58086,351930,116300,2110,2043,30845,6154,11279,16727,4122,2277,27281,4971,3650,39060,61970,65951,39674,75686,38151,11370,130809,177895,32665,63725,122267,7857,39618,118483,44792,157755,178624,136994,24260,41308,22471,12404,21707,12486,30473,52781,50246,20247,39065,909,56825,103158,128603,31542,1089,41935,32744,12428,37963,84420,33134,72921,208449,42622,168151,127335,147107,46699,38216,12591,94342,85814,31423,24944,2605,87542,67473,192551,4496,56321,91819,17630,6300,256183,114569,202090,33209,35289,34897,24967,40520,43470,5344,10199,34810,14283,10381,10017,62923,49924,23233,64539,13051,35686,19698,11570,135555,120868,44924,87065,52318,52335,47586,140906,245885,109834,78668,9065,46990,25258,72022,61243,40838,4545,146387,10537,11557,17470,36930,68104,46711,24264,79401,81043,18225,120488,24746,84338,81652,28266,13776,21878,46973,1047,230465,73357,95777,24973,210160,62210,58404,110633,169651,6937,41870,9909,26822,191062,76553,27519,96256,239070,2478,205678,67955,58532,20601,50120,19148,78501,195724,110740,8249,109665,27446,30568,57631,31425,49752,32820,65504,50079,3663,102256,219898,23849,211315,14645,4359,91767,9528,12449,49366,7941,49763,107848,8930,27086,50686,9744,10447,81935,39513,46514,1670,29229,6172,22312,137280,97759,9806,14445,22976,56458,73391,34983,93760,174219,52573,33149,59747,2429,136277,75123,165263,91040,7446,57632,48633,97140,246081,84766,151684,79918,93268,120346,54059,54875,77858,32996,103590,45276,11968,19600,25849,17159,132907,42828,16817,4913,99462,103303,27395,5737,74184,20749,21160,14377,77062,131403,158735,10999,27799,77785,9320,34366,51593,61070,33746,47048,29268,36675,30262,53297,9832,82e3,20188,122292,39917,7331,18160,68301,185935,134830,15031,4935,10004,165845,185534,46923,30109,44134,122631,18874,22903,112790,26561,18549,348902,82871,140345,255565,135390,63556,103747,145055,179600,145662,296111,61661,211987,23952,52342,126343,48450,32919,44277,82185,9591,62139,205363,376969,394874,108461,18040,120885,14798,39863,16571,16794,58271,81025,55206,14640,118656,6361,44092,85970,6262,153863,108244,180200,72264,79947,38044,10050,5735,61221,80712,5471,115689,11391,11661,184257,20010,60116,30320,19327,134598,45455,27542,18004,125092,452272,1549,91523,46567,180063,156026,2608,11174,58848,37788,65907,80194,30490,5786,40775,119519,106241,11323,156297,8425,61495,2617,29675,2425,59886,112582,49142,59618,4863,50597,86710,50650,168632,27693,85641,83643,18993,25768,84284,28090,93592,36627,312804,43381,9887,9402,100931,97165,3311,173330,66805,28935,4963,184460,3201,78102,19126,21607,37496,24938,22615,16153,32862,134792,153318,61120,6067,2812,12826,12792,23825,37559,64662,202250,102694,155488,85881,149193,46233,65383,15521,106982,11358,176786,25752,39717,34208,24510,32464,77742,39371,72028,138229,60688,71386,102834,132477,2208,11548,63670,271279,28351,30338,38620,32491,99845,143885,152266,13252,2825,178663,108097,1775,78201,14897,113573,163346,62292,171129,22183,96598,38733,64971,166776,117445,9968,146393,44677,74867,20908,97328,12761,25656,26785,9148,112344,26115,99176,110121,22437,49547,6180,79320,5835,31392,43328,33377,75870,119860,69497,80273,7325,155219,43167,111173,28347,20222,3763,71752,55041,47252,14618,28088,15012,97805,194698,54636,2036,41349,6173,96604,61530,51859,43782,13361,24334,22668,24792,7070,23441,16789,3209,36211,208475,26242,32880,122181,182407,21444,31060,88459,29929,77907,12716,10934,97005,20599,31690,8403,58445,30303,22700,10336,86731,103115,337709,72556,46788,112566,47684,67089,53548,36874,56487,41387,125985,26893,40071,106683,73712,18787,40105,72992,67246,137276,50802,36790,70328,138827,22466,39263,183295,29858,50975,9322,57397,10654,24364,30383,55799,41600,23584,127295,296610,129078,143558,244131,86397,36049,1085,80677,3820,108139,5476,34767,24683,7758,13060,7239,131671,250593,59556,103392,29810,4188,252323,39404,116877,7651,43600,40338,13554,157253,39196,25978,144387,61211,234,50104,6129,10449,93777,9240,356378,274148,4439,72970,3724,147770,78680,62570,115877,40027,40547,36817,224392,64609,34795,165027,67440,2477,37206,23431,50754,164797,46018,94995,170982,27051,7957,22767,3674,27900,56419,18930,60701,41302,2692,84749,339721,61996,111094,80221,50129,1045,8153,62945,19202,8250,37208,37418,32560,79477,41106,88569,33963,36693,5892,30570,1581,66471,49647,11922,160717,29442,5643,114865,82962,95982,132098,22633,22838,94726,54556,28566,205039,162340,33216,16849,35847,221339,94851,26533,71469,1805,3804,12935,45483,71020,36310,65381,192960,34240,35165,59773,1248,46954,155332,96864,4246,388800,16129,57133,74592,44807,442014,38203,42574,80818,91592,26377,36424,65760,977,77387,22628,147610,28018,30561,98454,6969,119628,63648,18170,36854,26601,64018,22027,37279,51395,152934,21153,9430,58760,194742,5330,55115,34158,28917,174111,13171,122326,1526,43896,66094,25325,4234,148354,11450,275,18999,112191,44365,22723,68409,8733,57746,96565,75007,14196,108844,29475,88599,177563,100792,106156,86323,93726,14248,135341,194131,40126,47099,14779,8272,39597,95983,171398,65882,28052,10393,47213,40689,22120,72212,106829,34964,109146,753,648,21660,30047,17527,181025,5619,145357,4085,216883,9359,186951,24779,53931,24545,36197,223296,62628,168101,4243,107313,30321,26642,13049,51059,31027,107912,807,73550,26551,84369,122422,165872,49754,74213,234264,33151,52014,33100,87183,22365,52500,40013,23302,5652,72723,21404,26107,48434,587,94049,168493,96418,32871,70860,31709,25128,443,71597,166253,15670,70994,26341,133675,28280,75491,54756,47955,56028,26182,11952,113272,472197,64640,110753,17919,337,50642,22576,142,87371,53391,93210,126694,15285,19642,85667,14148,1506,42092,52962,33243,11970,20734,135843,57044,58880,13002,219134,22876,64754,232519,4257,43120,321573,24799,64526,124728,52579,81472,70831,276848,17403,74359,23021,182101,74597,23744,148267,12055,7976,5349,11772,67540,167347,65318,18720,127832,108238,22828,90233,9987,259080,118185,73209,79270,13775,90100,137742,90799,70569,15699,19961,9087,67475,57872,39731,8810,134897,131868,146849,19898,3334,2281,167061,91073,60356,467742,74712,188,53179,137679,92769,29241,9537,132595,80119,1041,88962,5976,40171,44911,102859,139059,104558,98987,47761,19272,71472,113864,175377,73338,10857,23402,23758,1591,139864,5644,4076,118760,16427,134198,18853,20291,100849,37423,22038,36677,19071,195521,57445,11069,31869,55718,66882,148490,44,41296,75242,49704,166810,9906,20943,122258,49112,105667,15969,10344,6408,187694,21399,72742,58970,14867,14376,81889,41856,23225,15042,56993,16074,131389,74276,72407,53875,383108,53597,37363,68993,44854,122548,430927,198279,38430,80409,12245,2981,628,2818,17760,37437,238229,7968,46892,2200,3730,34190,65983,37959,112291,87850,70827,6522,20750,73913,111621,41652,19587,2780,58668,25916,85259,18200,168962,95781,42445,102050,7776,57662,103313,47742,96358,41964,66174,100396,29069,204735,19679,27978,7479,40264,22534,61183,36081,107436,58223,14680,23002,101311,24716,124108,12908,5646,31750,40380,14215,232799,102772,14122,96775,61398,50917,12096,149880,67833,598749,124194,155871,49216,790,14677,65319,56917,7440,145744,95701,12206,49405,129269,76199,45732,9767,11058,9047,210885,11051,7392,26307,2130,8132,147526,20802,232698,115660,50060,59789,57344,107623,80343,112676,23291,9866,160971,34032,118291,15719,59730,164911,28975,2659,58046,78480,21854,66209,53863,109085,116045,29021,46481,107552,22130,18764,70254,31272,11300,52460,43933,84738,20721,53869,190840,79673,105300,7561,321817,66924,13940,33281,101046,183181,32176,71878,5678,62924,79535,56646,40303,19559,27703,93042,73368,42187,3670,37376,46440,7023,36816,109628,20680,5940,276440,275233,170848,112093,136996,14984,20226,111441,77693,112960,48577,39370,55707,50314,123404,26570,54281,61372,123391,4857,35928,246740,132507,106646,44241,7196,92258,9825,37688,51197,303141,5590,15476,132986,10955,85782,34486,26696,7991,28813,18858,39546,11703,11365,38185,5716,93555,11925,40121,60002,6985,10976,171384,3887,43394,13337,56346,6381,252336,39573,75042,53711,1028,31781,44295,95925,131713,7214,68125,43571,70954,213234,1628,8760,13391,65485,17320,56038,1710,25248,60803,57399,19839,3870,326,281556,50945,72400,21460,316244,75619,56246,98775,481,13513,55765,50427,7388,123519,32929,57908,27124,61316,101097,57467,30228,48792,10788,20402,37318,50526,155730,34456,158065,145305,17832,43733,64052,4506,35072,205355,177028,184004,187081,68616,35938,83703,10367,36892,93186,260137,51934,89970,4985,23445,26755,21558,7948,78741,23376,124405,85594,68596,57536,49351,12619,56593,132668,99924,109728,71844,71935,196018,65464,17617,14987,89701,143773,33997,8687,22701,33258,2914,4436,72108,85610,9671,49067,2327,82988,1361,1672,44033,35777,30269,24057,10605,82236,616,15793,13919,47249,112086,116698,9484,80207,90574,33304,68624,93127,56101,42210,160929,4827,38995,38095,4701,125119,5027,33680,9236,231236,14135,87837,23318,70261,78893,30151,81482,14332,1084,74256,27532,46644,79185,3148,62615,6981,55672,31668,36825,1849,14536,37446,14738,23779,43058,162749,72199,1168,21346,5592,85932,85302,9668,18351,57135,150360,2080,228015,77953,34670,119302,151751,31009,106725,84265,45214,59289,74178,113071,263206,111009,4021,44449,188119,192629,123592,392506,292847,114487,12831,205858,9852,20780,79648,75767,357014,97721,18166,21005,67950,33226,204009,16536,2987,11335,66717,144910,47950,17262,55060,15063,2934,51038,26775,178497,66008,3427,49433,128592,20036,157553,63861,3089,23015,51210,28696,35933,49942,71135,231518,99620,17248,21835,176536,20676,16944,38700,165831,233253,295625,36723,13023,52745,10907,19423,67972,125868,95473,82875,1183,108455,52685,33417,64095,21433,52438,33191,127809,44505,211823,7810,2752,95548,162031,7185,91196,47563,61721,33359,17897,23682,42806,178101,22874,49707,199897,75419,82456,8618,11171,79712,116847,18783,44190,46564,5346,59046,95032,7893,14916,3214,26800,24172,121453,34362,10250,17408,18888,4840,68696,22831,13162,36005,32512,14800,62357,41723,45046,27247,37486,5372,2564,34261,298500,66509,133920,89138,31305,117697,19097,108304,81386,84106,23802,46411,63304,946,51417,41777,41041,19501,115864,60743,294354,37955,94165,18116,1156,17937,20645,57114,90804,58042,48643,92288,9861,2557,88546,61333,101008,12853,5148,87856,4152,144503,73841,18718,9789,147565,10846,42085,12789,30223,8993,56352,67203,2448,28215,6052,23540,126319,75933,36689,80235,23231,23561,21383,38800,77548,102798,21234,31468,158608,46188,63960,191679,8051,67014,11185,170078,42186,28827,34777,41930,212079,12421,34750,24111,110344,73918,45171,70826,141949,40063,23979,24254,37309,26724,27179,24718,83648,54938,14591,17425,29525,102675,48975,48654,12316,8929,60640,41709,50168,63264,89812,50716,48632,38755,138583,160123,55579,71829,24230,233277,46322,39650,166388,34718,24108,98252,7031,106695,62498,18258,35062,217827,78731,34824,33354,19520,60852,2432,60224,8587,2836,62955,702,20227,42285,40560,95592,62486,11094,53035,143291,18842,46177,77994,1770,9657,107422,172915,32655,128716,25886,25164,156740,119928,165875,85817,11007,89110,33956,12652,65156,180266,8494,36889,19958,20955,96,1264,118288,135769,44754,86671,5632,19026,168220,289120,33569,93821,66144,70635,7687,5642,2714,55445,56636,71545,184182,93133,7332,37389,12643,52315,22729,11014,158742,17050,152889,50178,34601,41945,52136,9948,26914,63548,95721,115951,40759,8960,158258,38938,49232,48325,42234,81523,253019,66128,40978,20048,238048,38760,62928,122560,118532,43687,137472,163689,26680,9878,17448,51035,16211,60834,36749,29178,14241,59868,150086,2305,26477,42422,34342,165341,83279,33894,14257,29928,12743,13957,125571,89134,66712,10952,16507,147839,30146,7249,16565,45399,39874,114565,215780,31990,230881,171477,102,196546,44538,10880,84948,281705,86651,10617,31395,2342,453658,43569,60561,132901,21845,17727,58556,258242,22262,58728,4008,77997,11806,37431,30599,81375,109137,185787,114085,217292,97453,169085,30593,60212,11544,102056,65580,2384,91655,4855,95725,7295,157994,16228,20669,53276,141590,105246,17334,25440,76067,17967,39321,38911,11362,28559,63807,21627,26468,85816,40120,1025,15234,58319,69516,66512,124548,75845,78873,22137,46681,51242,85683,32909,76747,35555,43396,101465,1765,73094,1077,2962,39028,66777,57831,42048,15828,13962,36041,63657,52412,5242,58846,2141,5506,219012,134451,3936,182230,17558,17153,152237,22621,49377,170216,35257,68233,65374,6510,11126,212151,7184,2480,22517,3437,33073,30156,16557,3768,55067,86829,91e3,12350,148650,66017,79424,70885,49066,28250,21369,51213,34533,11510,3258,18176,18465,84413,6315,36411,163765,4346,356,107618,598,13727,285026,162695,8749,14583,7132,63521,184253,32378,25991,5604,30961,53675,4874,84693,5086,34811,26978,56564,7904,33519,51221,113942,69253,6664,125563,22055,220680,102008,742,51930,19494,176108,44424,35123,13025,75685,11759,74335,22250,181453,131147,16984,132115,154311,11991,76452,52609,85351,196,30969,9198,74919,2529,56838,71779,29187,116304,3504,62330,41190,86153,28393,254926,104228,105189,13264,84359,3574,12415,8534,57147,10175,188174,59504,60932,66318,16407,107921,17638,99103,49278,28403,39786,145865,8462,3558,43406,142271,29139,21989,36552,93955,72365,7176,13556,106185,37957,321774,17782,129017,51154,27938,24952,1935,39366,2791,33489,41582,56078,24558,9311,5449,218786,27808,190429,68013,36020,86003,29735,3404,87348,119357,115714,2324,86796,81973,40992,43376,93621,28784,16808,36367,2517,2909,191926,24978,55303,53308,205724,60068,3098,21375,64784,23949,26579,63121,12319,80145,39967,97861,6757,70143,67642,37082,34698,69140,122883,46151,62187,80934,429,19437,135071,137885,222647,13331,154065,327,61778,74257,40116,37493,14855,85079,237641,42342,102164,199965,71204,4662,29368,5042,113914,122214,8955,13149,102503,43173,5659,163787,69003,307084,63392,171080,21390,81918,86666,36622,24126,28887,5736,28054,207170,163428,79891,346467,95363,38980,111806,80828,9200,19288,294896,114468,87405,111715,141705,7015,72754,68463,48738,243147,33397,101210,37051,98801,82847,20397,4940,185559,18716,54718,83491,11725,40803,1128,12128,23060,5174,7745,67007,46701,1571,27807,180186,256996,18975,16837,7877,212758,250379,15440,87954,57755,24719,124057,83461,258,50864,8874,29038,71289,31627,15429,9005,4061,113851,107716,82819,13651,79656,117851,17539,111446,12938,39724,190787,4352,15402,21070,62708,8539,23777,73853,13552,38810,86117,16285,56400,1718,75342,142863,29033,378,110113,180321,32586,23606,26393,160984,207987,23783,8406,16904,24596,47274,11693,46539,60524,78595,48423,31718,20170,9009,146268,15183,191060,172765,1349,138436,37365,10970,40509,225817,20021,70394,152138,21541,66559,66544,89352,2725,17258,91345,7313,3815,115868,8660,40362,4071,103524,39388,118275,21950,6549,38226,32754,209574,29201,43495,18028,20296,40597,18370,47520,202450,24134,2219,8195,69545,38041,136934,46374,19041,159811,84865,58620,846,98749,13569,30714,97246,32186,4479,27355,92973,35214,151491,75963,37631,1561,27200,238083,23182,60756,12291,25766,39355,102333,87362,65741,59906,19538,201575,48772,102938,24438,292580,39964,66366,9004,61379,50548,37622,38732,28379,68180,76622,17488,69849,5963,7219,48143,43413,55358,540,58691,29506,19245,52193,48621,5518,13048,118625,44755,191081,42061,89197,2259,60665,66994,71210,51232,3585,142096,55024,7892,8345,58653,463307,65658,64319,137941,136323,53499,12746,43492,6978,95163,29925,60175,5128,7352,41463,184756,121146,20473,18426,4598,5309,54580,14277,121151,10691,56711,43880,63409,76682,11830,172218,264898,32632,66536,81062,31649,25788,92774,60222,11100,63159,9432,224657,25240,53613,152,138620,163829,2397,85345,12501,37507,64932,38575,43522,65789,80198,78796,35226,3851,108891,73311,3060,28391,93671,39663,46142,30982,66041,37281,68157,26553,71872,81142,211527,39747,118119,22695,2859,11066,20232,168911,7933,197005,17066,111071,44434,133994,120798,12766,227798,45756,132852,29917,36076,55352,65281,129800,41958,18944,84678,18580,168093,132621,39997,54092,27740,32354,3770,114118,103242,43918,15899,18574,145944,3190,123469,219903,24169,100571,62403,16776,92779,14535,17168,16475,14304,37231,1712,28218,242754,61688,28980,1318,51359,222657,99200,67989,31772,23932,35351,201251,49041,27306,19128,40135,3986,77333,19649,120683,151927,21081,7076,78375,77501,101599,8011,89585,96715,58179,5378,102138,106793,26051,217276,4197,16297,27014,46721,13322,22806,5278,29629,70632,9647,71519,58818,40603,128530,8903,36770,56900,31483,26935,43845,34265,34920,87658,6114,84767,64250,47318,50720,19264,162514,33357,13117,6705,46696,75032,71054,87004,42035,69138,11903,99854,102328,19611,34525,69312,6431,49842,101600,133178,108751,41829,89939,225664,48916,99556,9195,130387,5960,36857,116724,53518,94002,39077,53996,6945,22261,64291,8314,152785,57588,16522,9091,5048,87671,35441,39509,1945,12423,158923,178413,37549,14095,1475,73188,62878,4819,24012,68534,42606,4010,120809,57497,59564,101758,103718,32701,80116,12345,95834,46918,21468,53213,15665,31200,3867,5140,96013,250744,21016,10069,13968,35449,180829,27683,39704,59956,22893,3115,26293,32785,75934,62445,141162,62720,2018,83638,19949,114012,95006,3330,99829,130935,309272,9565,55874,121727,37017,23586,319858,40970,27602,8625,112329,61060,100088,118525,25922,16232,1907,60671,51583,44553,80993,5262,94679,8676,940,20736,11823,3020,16476,12340,152600,97416,3703,25744,66826,16245,16876,46446,84798,74227,176020,45192,61955,75496,23946,23626,40372,26036,6149,11822,30582,16541,41914,82385,232823,40921,80773,14930,3631,7517,39619,4348,36180,126106,138939,62611,1477,113512,47321,25052,14546,118881,29060,23589,128322,36795,18401,137921,104699,267929,36194,172791,18113,4766,188215,30083,332586,94089,5805,77909,22194,68234,154976,43220,40660,70001,184893,138095,11128,103010,22663,5108,212615,8485,5565,49222,54614,26530,42639,16319,55062,152662,105595,21114,22216,10294,68158,10436,86950,7206,62115,3977,3657,59874,456,118617,18156,106663,112229,80992,17442,8217,55551,5133,34344,251927,51153,39364,201321,7816,66803,23057,156724,145664,14276,95705,979,2796,6875,13429,212525,50602,26276,28284,3424,19465,52397,46963,31420,51399,206476,92317,48851,637,100820,83349,10317,60227,21972,6908,282439,32857,224767,95629,83882,42106,87338,69757,29840,68709,37665,45244,114577,49188,175943,54009,186746,106158,70168,3358,234002,50555,9221,129338,9562,20118,32923,78479,118280,65752,4977,10474,102174,60947,129006,10570,83451,8598,8078,159367,123785,80438,16742,5905,5281,181513,42402,6977,163136,93179,42191,14968,50421,112401,105440,33456,57347,121611,4221,94954,36517,24046,27796,6255,33394,72990,135408,116627,1233,57874,25654,95419,68156,401399,313338,55208,45573,93124,119251,47200,38196,11909,130667,45391,73904,64964,167846,4137,115606,52036,62214,7969,160925,7187,1132,134835,40309,73195,64494,80472,444841,61111,26500,45323,40743,53625,52797,22659,15631,29739,36706,28841,39147,102836,26794,10536,14845,87305,45874,12241,127587,83833,57183,79722,30844,41304,84655,20825,92500,3722,25655,27811,10157,81634,31362,34088,92487,70123,22190,185100,72658,139035,192523,88241,2078,230490,44528,85638,100198,22088,29982,291233,241062,13865,4445,137791,37835,107218,31726,19718,38234,72528,23046,19177,66695,5109,17251,28077,5617,21554,47839,72425,133825,1486,73065,181275,141508,21768,62971,63082,2512,34200,9904,120309,6392,91243,68416,268253,41199,116757,138551,185526,41246,28986,4093,19057,17295,4148,245766,122360,35356,112075,20301,75441,10998,7977,19769,62922,937,63547,100196,26427,157820,20983,236696,22935,8140,90315,156004,47204,140973,7726,45097,52725,22636,23436,257282,105247,522,88389,216031,202204,46812,211666,19693,68828,81691,45925,11256,30292,372,5236,167826,88328,232776,151611,5360,82104,18841,80393,25465,18285,20320,72377,31730,33160,45803,38715,27705,37379,24163,18360,103586,4015,32305,269494,91252,20080,36567,54650,7797,57073,12650,31164,42209,6375,261663,105528,81661,106002,2800,5375,17247,43151,4442,15727,194619,100855,144898,62320,78465,39929,16454,1967,28311,61363,17219,9395,8745,121445,76939,80385,162380,22009,54191,44248,16299,122830,48151,74429,78291,64755,14238,44966,2511,17712,67954,93583,829,105899,49935,84750,11591,33185,85447,42717,27409,208542,28965,62052,52525,5597,25694,65594,16343,63224,276188,12475,9331,127507,38522,57287,24128,133161,79723,105548,133695,48917,27558,43278,46520,13778,141954,110785,83366,17715,46317,105763,66298,147013,41086,94180,16478,220447,44611,730,19722,78975,117889,125643,26254,16574,18480,65006,15806,38549,246418,46052,36056,8440,34984,30170,3163,59800,4458,115442,4283,41970,33507,104078,1653,22,121158,276486,3655,6338,24048,133421,23641,2161,24422,36006,8086,10675,181474,12307,29514,59143,14729,52509,87128,122470,19446,80852,33314,24573,119864,14237,9652,57779,6612,51851,15284,98871,90581,124466,156831,21190,22015,71380,161906,87247,69201,18392,17908,108470,72962,40719,14338,17911,95260,43339,20610,78916,20710,72451,11315,31448,17263,58853,178878,48111,116002,45497,80506,82605,85880,36300,121755,25215,36118,301929,88728,405223,276136,553,34704,212438,49970,78329,922,20711,25036,257130,38295,145369,18128,15385,30829,55656,48345,8012,3561,28004,122041,192900,58338,112508,41085,29976,87040,47117,23905,4336,92061,138880,97407,42083,172121,6256,25192,172671,5,93568,1420,12677,31605,56743,40620,6015,78415,231077,31298,80026,13902,19048,24924,170586,32955,176119,87859,36731,6773,27711,24658,26475,115216,133207,93250,95820,88522,8317,5714,124047,55219,86860,19677,23961,22928,162209,8904,225992,359835,56084,96201,29392,96558,86071,93643,55114,13347,8183,95129,82012,2017,123336,34219,115554,157159,47747,101684,41008,18735,193781,104151,226906,7552,179874,124113,31159,21162,44010,14771,51268,166128,31382,73124,77438,92830,205709,12113,1292,38937,13114,1334,2118,15597,69581,14449,21934,76618,48728,67038,14967,51495,24243,87736,147249,26720,11119,46063,43749,5843,44147,152629,133428,65703,14269,45604,57982,28672,55616,45957,8438,95433,37698,220862,132034,39456,61870,4161,26501,73560,56418,9845,4654,20916,10456,88920,119358,9015,65931,96507,48029,38534,21676,109081,43078,34943,25089,6131,28766,23665,5477,10255,16695,67,45778,42443,42770,29534,23733,100513,62617,42630,48746,14191,43753,50295,26007,8792,57243,43119,54725,164253,58250,112304,131796,25165,4651,3188,24831,47748,3705,19540,13211,102095,5593,18699,23666,32005,117571,33541,60584,74573,86311,99443,25172,27222,168938,7143,11853,53560,18834,19960,86522,28217,53266,117700,72989,34323,18721,66450,34346,74056,47217,202002,46269,9429,68582,75458,37823,82843,96652,32549,145144,27958,19820,158086,31955,201406,135379,31207,192545,12950,51704,9094,248263,76147,64028,110009,79407,89345,99284,223492,47966,26848,15359,201137,2861,110507,71231,72297,31851,118777,71039,151051,240855,16333,50766,14727,7939,4149,80908,418780,88378,59276,1327,7284,38576,79814,65820,42199,84860,49574,62596,12396,70598,40117,8648,7994,16836,7630,14047,359699,106878,525,29037,28064,13380,11675,50669,74216,103539,180314,27449,56299,172344,19274,7301,246099,32043,19422,36506,129317,6806,30140,4614,46639,66926,932,86600,6322,27847,233103,10541,39025,34887,3517,12972,26220,2031,66561,115015,48658,47596,12714,33845,3893,16165,35237,89983,14769,11962,147224,47018,29977,27979,5552,82338,86023,131368,1218,24853,237840,132193,15455,40873,3668,65351,53388,15229,59889,272245,47934,11858,34347,18038,90853,86981,300602,19343,114181,29362,84921,6095,106059,79472,38015,1206,48741,6208,8e4,21916,17423,6002,108083,24479,34931,56661,9511,26995,100694,163853,35997,81254,58321,18919,171890,86877,91341,74503,70477,53412,7027,59281,39892,131302,5864,15947,61301,67466,162369,47956,27874,35624,282324,21270,111847,102548,41482,30955,116737,28264,8592,55458,22301,75090,29821,30697,51709,3041,19208,8038,24634,30467,87509,126428,19389,18814,152686,20701,83474,45832,80891,105808,11378,153223,120770,98186,150633,49838,9141,12755,30962,5260,74490,21256,31678,65062,33326,289838,187831,20595,89768,2805,58535,10844,70085,12090,2451,138068,98544,24461,4511,6754,41684,28203,3383,65355,82833,30161,83924,234361,128424,28921,222594,33975,125491,34069,11508,67464,144226,41850,98703,34371,7901,21254,38398,65651,23549,53883,213340,123269,12028,71764,177701,28758,2623,68395,11549,15232,68603,9660,63116,36079,57093,31198,20475,48467,89984,35619,186847,107469,31389,43631,73867,41949,68841,114250,1605,30564,63403,17588,27680,99533,12641,70325,50428,73426,78379,11855,91651,72081,91720,60198,15743,12065,83398,140046,6761,46598,45900,5068,886,62448,148968,37347,19405,9680,15819,43496,63370,75667,163700,37639,3633,22774,34341,183131,134335,37200,23915,7054,14194,12970,26438,13350,285521,25594,8219,104410,91039,168804,138480,149734,15907,33818,61132,60082,4622,110187,56736,13551,73571,3945,73463,65498,17758,263266,17593,2710,27585,54469,38200,45367,63754,28881,3473,12791,98287,31895,65787,4463,94536,24951,36332,59901,28803,52130,86403,7668,181822,74831,18977,9850,177206,145485,109798,7292,31421,26280,77211,58511,12507,127004,11113,147,8729,56208,43066,79926,129937,31345,83947,39915,46146,98763,42566,1337,13192,18323,105163,80570,117753,16555,72883,11077,159438,40764,70933,83329,26066,12276,72059,21655,173836,126713,69454,153482,91585,70644,102558,110483,6764,127864,190133,3961,101798,20945,71138,82402,90884,69669,44753,923,16939,59700,164258,25969,27082,31399,43846,6306,246093,51342,6153,151581,202801,182731,56475,162188,89426,141356,14355,121815,27536,28023,65257,77523,106668,127314,24947,12790,38796,169698,23555,10725,44573,183083,42088,62716,43265,105958,32050,44067,50118,1668,3874,6243,318411,16599,1691,94999,52378,28671,216728,123258,2059,34969,69225,5913,136280,171443,141515,91662,22175,135282,80020,92270,1663,4808,4482,3495,34691,5226,109830,108512,17342,107488,11606,123190,100247,29666,146527,113014,15794,30894,13224,39585,243192,22351,9903,7836,47699,11078,25468,122291,48821,26780,122679,75521,81450,630,4895,92900,55074,74293,17441,3563,111657,103102,51613,12318,52370,36191,68245,34269,40445,41354,122901,168604,182500,62012,42557,11259,24428,115113,86345,12362,3909,78430,86852,134602,20459,47853,93879,22577,7659,3688,38555,13349,17381,56715,91639,12493,10895,92438,3142,37057,28928,2004,36427,32268,34222,209974,10432,67436,41989,173518,107930,27079,62729,30908,55558,5828,45031,14902,53546,8204,144263,60255,14520,88212,86582,109589,69356,8064,47449,8505,66558,16886,4844,52817,111260,215129,12941,91118,650,20770,6273,73089,40618,62790,2873,35002,14023,97208,19386,102646,36993,143736,135457,35385,113601,17893,32627,84439,100619,56016,6581,57264,172160,45452,111710,203627,70131,24100,322787,1996,35665,70078,22358,90922,83658,4097,63200,58499,14542,99153,52159,6615,12414,63415,31986,16823,1579,65405,137809,8841,16898,48082,259,33014,42375,12260,179850,73667,91389,98882,29532,17311,326251,41092,5928,20742,44964,48019,43505,9317,49265,6643,192712,48424,163487,19861,20113,70848,31928,105333,23685,78563,14638,54755,7158,24142,44018,20774,125255,20331,24280,10163,1285,2336,39851,4299,117269,46714,63816,87779,159624,11731,9971,990,137317,108831,50994,74554,162680,23640,131597,146962,170620,34829,91205,21184,1913,63616,18427,93136,156592,17519,67565,115882,138220,78622,88535,18115,2711,33554,109492,54298,971,24914,25863,36363,45715,27099,194995,14299,178181,111488,72395,322385,157719,130787,11897,81843,83999,11369,49280,118604,40922,61332,110343,53407,75639,40582,300440,54722,25637,13694,48248,48278,194521,56203,52779,48783,72627,10953,376,16733,280238,26351,230789,15132,25168,137270,3588,63704,73376,94031,74284,19443,159557,9697,39901,13351,119050,15406,146455,3460,29556,75195,37673,102524,92329,47289,98413,15311,100684,56345,7116,95480,11590,7200,167,23610,58426,17730,136656,27944,53151,2701,8824,103124,3017,90744,113588,53216,79736,65940,26931,498,29568,80540,143543,21292,1740,59268,16561,180816,42323,50174,40890,52866,10703,57169,4700,17191,4424,93511,49698,166650,26972,48631,165169,82879,69326,202970,4007,2376,231325,139592,22119,62851,37504,68816,58345,67398,186643,43331,277416,53749,15746,23102,17432,4793,151138,48822,54265,48203,198688,14305,54287,2291,18018,113378,123260,7180,97549,87027,120085,2920,76080,8190,102005,5641,64580,14955,59802,54028,58884,19367,81779,412567,85957,97053,103637,78871,29364,27637,141728,4767,30686,112738,130146,42745,12730,105040,14844,232,210944,36581,152317,135543,29744,3129,55647,58149,46319,27265,17499,28005,59948,7170,34138,5702,293047,110892,408,91760,218674,18469,46095,81403,14389,4610,35672,73060,11006,74848,104820,118143,190357,20043,105358,141735,5115,27093,45924,123073,52599,29433,9616,238350,78610,24851,58858,26769,31969,24613,18294,4982,32735,39639,143563,112073,202205,12567,4873,88601,44897,81503,101648,81362,34662,85277,17574,48173,21435,221188,40215,39576,80786,26544,64668,81841,10731,37733,247986,149188,127703,495,18382,54388,72446,43071,30974,198723,89608,41360,190,33045,8386,31658,19992,237838,119015,137622,50890,100913,6460,116233,267230,26621,104129,65114,14190,41542,14888,85962,23342,23041,26453,43725,71809,45186,4770,46452,53894,56616,221286,18973,9038,109299,55365,19366,26863,18808,60909,69353,41738,83463,12100,68561,72860,3980,13796,49340,12332,31311,27418,4255,53430,18976,45523,510,14224,30477,26581,4530,3651,101663,139840,22709,150861,31996,63923,120623,262522,3076,10528,2929,14672,130238,18087,9816,121894,100308,25085,55111,14565,18952,53293,2042,369988,23674,61789,133529,28783,108293,35477,47119,36448,71049,40015,33055,78598,198442,1833,159937,40654,77444,189245,113153,8621,18599,38553,35223,166072,2375,11659,21786,89523,6032,12116,63046,159398,18454,3678,32521,47626,11411,103527,38896,42946,15696,26370,10185,8413,37080,165583,4331,63555,14907,72220,50056,6623,62236,36565,49783,10049,17503,100581,55951,146244,24724,9626,17969,25524,109300,173965,99994,101056,46459,43647,53737,277968,8347,123521,74858,33829,44762,77574,877,81377,222525,123532,30602,43881,53145,2973,16284,81940,61281,127044,63620,9875,14756,114829,19032,9202,52759,119141,23928,120551,19607,3599,33401,76821,73233,117430,39968,36539,7071,5446,121735,194059,15206,45283,6706,15603,65615,1207,165723,92275,34773,104447,8396,32353,205240,164323,13600,60555,79205,25532,22907,33410,57480,107111,69630,32137,47832,70913,33161,20321,2371,117348,10714,86246,1625,11763,17900,268,78457,99175,97940,101092,86660,32221,14041,128504,125080,53744,124263,31017,13897,403,31859,21964,5633,111630,5547,77329,17961,18241,84995,25984,12983,67491,62168,47262,5241,297,51191,7351,8967,147212,82060,16821,782,11033,82431,62957,5026,43459,77963,203477,53528,6247,191852,87774,74164,215654,13467,1522,219964,28589,244104,16242,117821,67725,72570,156792,17186,15979,26990,44128,193014,35276,57125,16212,166451,68017,6905,77608,16364,53777,75921,76426,37975,26203,269296,64099,84122,12077,38533,830,4407,20139,963,43028,38902,42911,37503,83343,85045,16979,1165,60835,137387,58380,86990,110066,134540,56331,193845,81238,17922,163093,38744,110641,12502,56404,34862,26865,125964,12965,111648,25547,7771,27196,136980,9555,29551,107158,57885,18831,37705,35505,101742,13970,102109,62548,124657,23328,11124,89592,146376,248050,6241,22033,18337,80685,29898,11908,216623,67721,106162,146610,21377,15085,91552,42041,62560,122532,125336,102365,121537,142559,29693,223919,11515,110495,18776,22494,5895,185059,103592,229351,51220,100102,37027,257855,29359,54123,36066,106493,12244,79258,32002,432,56205,94836,90182,6726,14762,29391,48938,26864,38083,60364,3310,60192,14766,205567,57504,110760,22649,24666,46333,21517,3430,13135,28873,27052,158809,11597,20529,6695,23138,22960,37137,45574,6545,305877,43423,26153,24769,59844,14501,10430,134352,56169,13213,103432,49523,35181,13435,12408,129475,64620,230854,77390,51990,15653,83248,33466,44571,117828,51481,2187,10559,68019,18021,54895,48247,18354,33737,4554,108595,37288,39767,116707,9175,3726,108877,21616,83684,49862,1938,8543,276466,20134,108498,48770,102254,31914,131520,185291,100559,51890,209,19526,76471,50544,71814,99351,8172,198526,28816,20419,9109,98389,136777,76479,75596,30635,165417,48216,120220,25955,211071,39314,24308,32164,2559,146280,43403,9233,17947,90585,1786,86920,125662,2457,64741,32152,32918,122882,78538,44001,31723,56426,23375,103172,88177,145697,52506,49319,68016,31664,41488,18486,110400,7030,28241,986,109199,19900,42147,56864,65287,49183,7858,24e3,30453,840,16673,25907,68916,89927,6309,158335,36407,199737,130464,13137,59603,201778,195292,21015,42466,179062,172561,89492,11075,180407,31868,72493,20998,60217,9865,19530,39274,130266,54539,21623,12535,13505,40641,73375,4087,85633,2153,3117,70680,55788,92096,47509,98493,37490,271936,151475,3032,16171,96642,34106,78425,125761,19591,3366,19316,54508,24183,50786,194248,91528,33253,34622,108355,41741,705,3814,3883,108929,13203,67831,10142,59754,68208,29128,84820,56880,38794,24972,48571,40821,40476,18137,164254,24064,236309,79181,11282,395,39169,2013,51587,28551,9645,701,109513,115899,113566,12762,62045,58322,103726,41343,40866,244102,143816,2490,70346,40973,52618,15412,30720,104315,38917,42027,93676,17513,107418,20706,123890,13399,97727,24044,87962,65606,44250,98044,65276,74790,101473,19350,91570,1326,87790,172042,7577,100813,86896,85891,41512,108130,27794,14875,71431,12835,156250,58135,3759,22476,42176,115873,34686,56523,73643,108505,51491,20838,12721,32863,45700,29496,13700,34294,55360,29206,155942,123812,7706,163234,203,132720,49358,144431,8130,175788,35818,3270,76832,25710,54095,97274,28779,94621,74396,19092,128242,58067,20885,14670,93255,15107,63291,23654,126900,129421,59294,262659,9798,3251,67344,28600,44629,50672,29072,26999,31526,23183,49175,165843,175455,17282,175411,32022,45989,30298,90690,78118,83156,23749,35636,31317,7069,80381,94561,133756,14960,97404,6138,41065,78041,32843,16601,34123,9559,146529,123377,96395,54441,42012,84257,123541,10745,22139,106459,11720,150883,172651,154996,110538,4728,53447,25704,2009,71152,119354,21166,66604,1429,216162,8637,122250,63520,27180,29172,36124,276428,107787,77184,4680,14952,104903,24418,14793,51561,52931,8371,26342,48526,7118,92066,67280,40653,8847,34597,105438,14198,50163,61188,146286,50315,41205,170829,161496,585,197359,95056,1687,365794,91349,48507,5804,49263,5146,104902,96365,117343,132222,46084,96919,16875,8073,262381,79982,52663,13928,16056,153908,15145,109256,132308,18763,24904,167644,13618,40750,18686,147124,114709,150038,52849,2938,12568,48617,8778,5459,44202,44591,74914,17183,248689,13878,7822,80060,23116,194037,18487,2067,7798,43077,33678,244028,31320,74273,2794,19466,8218,36280,183997,48124,19416,29656,19280,98734,7715,18311,30701,133602,150307,126956,7378,2933,79903,13178,12593,86571,26604,92446,13574,44205,65699,427599,21118,8245,14407,27877,47936,33542,7916,26460,117762,21596,37818,2249,127359,209394,60044,47677,308089,36791,154971,31417,6998,150042,174360,12255,43009,29335,48739,3912,101398,53340,2580,146939,151295,45360,125275,15273,45383,27456,48761,23314,8750,60801,85823,104759,27894,123685,66968,39480,26917,55290,83305,2696,98390,57569,145853,340733,4919,20024,52268,30884,7413,203685,70989,112855,4129,50536,349518,68205,332641,159581,135361,236026,37563,176404,64899,6578,122033,63871,1850,85234,82089,66124,74145,121098,107351,12687,36881,117334,13136,14698,85933,93866,18047,32620,310,15094,46e3,88451,23632,36645,27940,87618,80520,58892,20976,27702,140090,96075,67841,103292,238964,87778,107338,17019,83427,67522,7302,8261,47570,116787,8730,80484,61772,174422,56005,131193,52875,14588,28471,59817,9586,15720,158155,51307,109734,15196,11025,59331,3884,52626,102602,84797,25158,27314,4437,20488,76214,189248,35023,114952,157376,2827,62439,102878,129749,36405,10329,109339,108633,36662,1254,13267,5470,87105,58004,15397,10434,159667,21864,52022,179464,3013,32147,31496,116832,18494,105502,129227,107267,50033,13481,9954,24267,22141,16257,116154,36185,950,115685,11305,176708,2048,178671,112573,287867,162328,497663,95170,50979,193861,50987,30368,136257,31830,46549,15119,169876,23788,17462,249887,57377,1949,35448,14791,43769,210091,3783,34612,282103,88380,245190,5457,20491,98908,11402,86899,117916,16028,162584,60644,320177,156096,31065,55876,22e3,77655,9992,23397,13757,317623,63978,215255,2443,17648,93231,27388,104529,93807,55505,140477,12046,112040,70887,40152,94365,112353,25063,114679,266061,71248,119555,15589,2244,617,14129,211431,70110,100652,7777,4383,85911,89221,21010,120615,58357,86405,37554,41647,18,15143,69662,60491,14714,186134,148344,42347,5410,168175,44535,42449,343894,129417,99682,20659,27272,140483,63455,222159,17536,13722,42637,62324,11976,114691,148109,2283,32057,182393,4295,147364,33705,2075,44303,30274,28331,63740,69740,29148,10346,44862,33716,73937,153333,12930,38784,247159,2515,41053,20256,83368,256189,54639,115240,5096,24661,175419,153552,26516,141,138176,63885,34115,47222,55709,2765,28479,38875,236608,12229,22921,77291,54426,45388,2860,57787,114579,295139,105782,17826,71066,19119,54364,69385,16568,12323,28057,33346,34919,124763,155533,101386,31644,8627,49001,303600,29868,63213,9103,77280,71333,9696,138789,37059,24823,5057,21352,32368,114208,56803,19424,10445,58514,8661,209508,26187,171838,10460,63454,14016,122504,41328,21329,46618,32493,38225,7855,31763,7945,29876,8734,6438,24205,97490,139977,130740,47323,33195,85390,57194,13813,60600,21313,96251,7699,27584,170521,139271,1363,4402,336738,129223,84983,69150,13147,3590,163929,207225,155260,55916,20288,4503,8398,98490,11773,27512,37113,84976,86558,28365,11756,116005,182148,13733,115313,47644,67208,85069,9347,14995,226141,14704,101835,41159,35314,13113,63526,214039,29978,50446,83339,17440,129441,72522,118641,97816,24907,73844,15717,118884,167255,96509,162793,30847,36849,51297,78974,77793,10427,1873,2972,9999,35074,28190,64297,146836,46298,60038,163007,108919,61219,2403,75022,127339,4233,110389,69022,9833,128097,88016,79390,222936,22570,94657,28462,56956,38803,81536,30474,152794,19566,16481,147408,74574,81895,20731,1918,1366,76367,187321,54494,24366,21690,61696,33283,107477,77499,31112,414383,74362,18463,218441,120929,59848,258629,201924,69269,454,19989,13054,59894,3623,58908,20681,35723,78523,102680,38988,184112,108087,50944,132704,52966,21699,18860,96349,201411,82697,85395,95658,5093,6427,177894,44191,32755,26961,155739,6249,31310,81030,26574,84311,120155,86730,113535,7424,48888,13516,45747,98098,20077,183995,81945,43210,26704,40420,75831,45648,11180,6855,57927,65528,124096,34851,2598,156633,107572,127352,38169,123845,60142,62722,105584,232364,23211,68120,1601,22169,89299,747,258039,80572,7258,152249,11862,101204,8834,121434,33761,19175,133142,46343,40178,48723,3589,41977,30210,38868,62257,10087,82658,87827,90646,16415,47552,351723,28298,72225,91146,272760,1701,11295,1652,109651,300747,51863,198800,29446,11794,32345,37538,22356,33102,37590,113544,37970,11478,179743,25454,103417,59905,221970,105196,145604,7817,164809,102360,16974,75840,255333,56902,6659,1954,645,59400,67769,7689,18675,5215,13793,20536,27852,3387,29523,259718,16860,94625,43143,29245,15848,233581,22685,63631,78557,22836,133302,84513,1348,51826,47129,98836,58284,1830,1749,94642,10933,6145,12506,10975,13879,103781,144434,10268,28409,32346,52968,121567,107374,77268,23686,35097,10501,155275,15303,47136,21102,168741,55332,90385,15996,84817,681,137803,25054,142275,6163,38175,8056,124296,240642,65621,4934,178205,16101,62803,60964,18230,100622,76465,44689,14545,9543,47514,16852,93380,28048,12047,107106,37575,101485,77047,57326,34819,96137,76916,6469,46264,115983,75768,87668,69942,13027,165,8373,114231,26434,52844,42799,182044,23580,146254,38081,43236,33883,146220,382894,14606,46035,36481,166621,35417,95382,2957,59384,60428,36358,66343,75378,22267,22950,83528,17577,56474,25285,4619,179691,75355,95836,53295,34588,171410,4487,14679,84208,44015,18562,109133,54101,11531,86052,174479,303157,28095,9953,35642,14564,39802,16145,77606,117406,53038,121117,53624,22062,1212,7632,127157,237292,189087,10478,127345,102515,181997,86752,87623,10966,121602,68783,68681,83042,114380,138349,191305,67176,50085,39016,1427,42384,1412,67118,122616,72389,25260,2237,13576,137346,19938,20304,2191,68759,5373,61364,238507,75814,23931,69565,38993,131741,38364,12528,87762,5679,129853,5310,186831,32653,90338,260176,389531,108118,26843,43985,50175,30563,25106,56965,18130,140428,4542,165503,117991,24219,229605,1819,129663,1240,3797,76093,18398,71339,51919,93043,27175,47060,216257,6483,35051,1217,16512,80798,129064,13225,69339,8548,237079,72298,2575,34280,51379,117910,55671,53345,247552,29486,39328,140821,34681,57045,60177,5004,90269,78522,2479,322607,48474,61296,13057,31558,4678,59271,6699,27044,31988,35944,12503,83480,4389,136508,3781,114121,70279,4488,155829,42214,2898,68191,75695,305850,45041,74344,106509,30087,17429,93292,12477,290,23080,114802,35714,18751,26554,105424,17775,2144,2412,100610,65192,113975,52975,180272,135050,129815,76238,106483,21440,63186,4260,46189,9711,28249,4169,23429,23390,8324,141585,63809,67668,38457,38063,39226,59972,1189,203916,62368,14403,16949,61767,85801,1739,40147,35049,76757,33124,62102,15780,103593,103009,53484,22952,67973,114645,6566,5245,50462,7601,8288,3513,194571,80276,1908,54592,5124,58571,2513,6800,273997,193904,1119,17991,117245,2508,129156,82366,26278,71465,63341,56943,39662,106116,94966,156875,9736,2204,122308,94418,27134,1280,24539,49022,45314,3764,50904,46424,30699,28087,293839,9400,33646,40165,822,147499,50263,116179,29085,11863,31314,5578,17797,5104,12454,1604,15342,219206,10232,67800,94261,25872,13565,90339,78971,75377,26649,41184,47695,11514,35369,20767,14227,41953,309396,148270,147938,33074,14453,27499,109019,39018,25738,240196,158931,52820,8612,95853,21524,137010,84901,70869,70021,116794,48404,38771,6732,1070,70990,187297,49140,5238,576,3564,253975,16027,16483,2811,37775,19034,25259,4053,2e3,70083,95774,19713,33431,92703,91314,42381,288770,48194,95985,3991,77418,13406,241328,245086,56533,35275,62725,9246,51924,70181,95331,16163,31410,79016,39312,120878,119371,275987,80124,27712,9186,220,23598,146167,85209,68238,282190,57048,31273,30555,80913,17594,75779,59160,135002,101219,189377,29225,96735,60126,62522,104e3,27620,86814,17240,147533,11001,5425,43682,410,49460,87270,69480,46315,59448,1816,76201,9431,11788,87960,29063,65539,47347,11678,33846,7008,196704,9895,6753,8633,120892,59970,572824,115934,6646,202559,892,48351,37611,251282,57823,67263,57750,26527,34485,90747,7685,88370,6144,64182,1709,41969,21458,62327,181657,49247,225330,122600,114574,107124,85361,111833,63243,71420,15655,191178,72430,18063,51425,54002,12364,53225,86557,18193,97580,41232,138398,67821,128724,8944,233212,101353,52099,42127,14006,120107,32789,32132,3498,18123,33758,56058,5779,128760,59888,98869,18445,84702,51911,13234,218379,20093,39031,8074,70195,20708,23462,24355,131384,60189,26390,10403,41060,7140,10781,49410,42261,87202,82566,41663,43105,60276,2768,5733,74176,28329,2297,145430,131632,83615,122915,105441,655,224102,5284,136426,67763,16294,188511,32538,61049,27893,3394,13951,159099,28542,17930,145360,9492,190122,32285,78855,26440,13570,58648,73908,4239,124561,2444,74172,53131,11468,10794,73566,11623,35343,64710,30481,4163,10328,38309,29901,10538,154377,76132,92405,24839,11679,3465,13449,11637,7824,2337,57754,1260,14458,41118,19878,38661,13416,159180,37074,163164,54137,28627,52134,184900,8520,40385,29546,30502,22386,66527,107458,6850,24022,47983,30603,35083,8934,304066,39500,9,28261,33026,77251,9374,44833,116312,34990,29236,63563,125639,135405,165398,159055,55690,88141,69643,236964,31983,25572,20436,36746,60896,31850,16179,11828,5888,3043,66368,9750,31167,7915,53111,36430,1333,64344,93659,20061,60596,180191,51630,6792,30244,43509,101058,22409,420,44210,109783,43223,27030,72477,72831,32679,29235,7675,47556,12258,39907,149412,84926,118247,24692,71717,105038,86009,45941,41189,89453,29856,52543,30627,226798,67303,59230,67415,34408,1367,99685,16867,128419,52147,4111,125381,117881,16173,44093,102224,31575,23234,24870,83790,127407,239098,3200,994,1255,100903,242275,117266,55116,38205,16140,29662,11307,40414,208793,123355,56470,4862,75600,30119,58218,70828,24075,26974,7802,192353,4851,5475,78720,66596,3409,28573,64396,30381,30690,59859,88256,5406,99945,103064,34463,37727,24238,86643,60088,4057,23741,5967,162904,38240,28356,93858,25510,122879,6897,3278,7057,11971,4400,35461,211413,21395,59615,39471,87233,55795,128426,3051,22470,41950,14705,3974,180108,80476,78442,204996,91987,15634,67610,139015,142373,35611,51134,10387,4353,153456,57749,181039,14183,68447,151532,21107,36452,20551,3186,46247,46383,129666,88736,140662,146243,2066,8360,7978,64818,106963,17896,47801,10723,114821,223295,74192,3293,3393,16987,74064,11277,91622,4270,29828,27951,387869,103235,1374,61988,120083,477,145892,128378,11779,211263,61354,18221,17869,46530,83061,108538,157981,90608,67199,95080,49064,195814,12302,66307,10348,231346,160732,112859,63633,146558,21271,31037,198802,47622,12862,95710,3910,77850,73961,85585,34752,61e3,4082,24595,103679,71107,8208,79568,150019,16615,24961,139857,32664,197366,4559,54735,32696,4126,162019,75698,13916,70108,159638,19834,9349,24675,175560,49643,18206,52459,27992,10809,88865,401975,133172,29e3,34558,30915,3658,25834,42430,36562,125265,18182,10155,40149,97082,208980,19575,60853,90529,66545,9600,789,46420,2317,88593,55595,98980,115302,5742,169155,1073,177901,3472,11189,63711,78643,65472,50459,127979,93,42202,67053,21720,157650,11145,141378,42033,22824,85705,79114,35584,15974,1510,54172,28562,12451,104226,19190,97151,73024,20948,5151,81741,21499,29006,84183,198074,54003,45120,170125,26240,35177,28389,64863,79974,60778,176915,232183,45342,2038,80253,41564,40703,32689,5430,100689,5366,23007,134279,14266,26712,73993,24934,64242,52113,102887,61801,46415,201049,54251,62133,122757,164883,30815,139966,2319,30842,766,13362,10287,134518,86111,81665,82440,28333,43019,18963,8804,161944,23439,102144,101145,80029,39052,248708,30350,117340,11878,128467,974,138625,63961,5237,74778,61834,67040,43814,13690,65947,33809,232476,115258,181745,28824,94013,9510,10246,93722,81976,7217,114383,3493,16014,69045,72692,12145,80981,9507,6692,1620,60820,330444,35474,33962,4797,7053,295463,46445,27026,12491,77988,49524,35675,90947,29114,166705,101385,133782,32704,6186,84595,176031,185623,45966,151302,63069,1699,107491,947,15458,74452,196212,6046,10498,12163,10239,35191,243951,9277,9090,29539,54460,22820,26514,112549,60372,51753,48756,21812,70861,260326,41,44222,10441,16961,48148,138771,216194,5914,52153,53400,212036,56519,26245,10117,45888,15294,138019,90913,26368,43842,42111,23348,6082,194845,161089,156206,51546,11647,30759,302912,262094,8635,78876,26535,35283,54183,31183,85484,147873,12989,5197,6356,72894,65347,20150,27370,73787,1493,45918,12366,190217,20724,13858,10981,67449,81213,7553,14115,72242,271517,11842,48310,88743,143726,22177,3290,243231,58452,62937,12592,1654,40066,33477,13751,9921,128442,15868,7106,75236,83773,10775,36938,10482,170465,17368,17469,161508,32752,98340,800,19824,264456,3901,87319,2867,26782,9630,113102,185815,24197,44584,86366,40224,3636,140916,31731,267731,9567,53678,72984,29389,27963,17106,50282,284911,60170,8322,12608,23374,89652,5268,39044,229766,8869,151350,31436,177342,12269,183212,120418,116270,2843,78888,69192,7865,184099,1086,129897,18383,70508,20242,18508,229924,124569,35749,50589,55626,9884,83115,40971,30671,18135,14452,38861,17844,201826,5549,26413,17189,13561,38539,10679,143331,3314,36785,171194,49685,187713,67506,4618,104039,17060,195080,50648,33159,19238,67559,134840,28599,157523,17130,38064,117398,94355,31918,13575,34538,40326,13997,3494,348283,62481,26862,3603,104426,244363,153709,112487,304612,199674,41239,35545,54869,293005,28223,26277,26899,4533,18518,15492,38587,80488,70485,160395,263,60162,11382,222152,4696,250751,51921,182609,10707,48463,46243,1227,49111,111564,46502,33342,56846,68541,63559,858,139927,16654,229375,76759,26478,33205,95828,23399,92945,2637,35630,28470,143992,50214,14174,21456,166191,65665,1711,21594,78019,97599,111701,36,147151,110246,189022,43021,30397,40757,131935,42065,73335,48039,26596,28984,15102,2361,7421,202167,69744,43766,52826,3642,83304,33873,75140,63169,192389,36551,92748,13039,123959,233220,21738,84447,77230,20228,187852,19095,25799,92136,108774,29237,53947,2299,118106,2687,8830,42331,202924,33667,2023,73763,30704,19363,19779,16737,35629,48081,24068,101013,162338,291912,13749,24745,328289,167679,70086,48299,23306,16732,17801,43322,54589,3586,63653,43624,53474,925,109177,251316,43805,13082,19511,86565,142182,92461,17117,101033,103319,64589,4022,4351,235897,5352,82705,107142,46391,156084,5860,61365,10558,13045,7717,18357,33922,12590,33065,6928,46993,783,46937,67846,8952,26295,6107,119656,18799,17458,50747,4229,179559,112727,118080,20683,41464,125468,51560,49749,44231,7359,35339,62988,136487,67015,5208,29150,24956,105186,48858,6143,18097,6972,16404,73489,58742,97196,36357,164616,5834,32267,13746,147733,15113,132091,34127,106298,39729,106426,22294,9780,15602,36213,71502,42808,66802,599,60755,5851,39120,67363,108623,126368,72770,91263,32486,30596,151717,7951,52002,43103,11768,68942,40901,39344,24037,127500,116890,48403,16926,86750,17745,48648,159545,34460,58419,5634,114317,67865,31462,23352,24010,98185,125708,69686,68337,13610,26271,70691,2980,4768,27225,102402,75453,28106,8104,6931,1176,6274,6475,112635,22498,6176,238686,26832,28893,90319,14441,15682,15087,39517,45270,109134,104440,45965,47645,81772,7876,52683,87720,12898,4505,185665,2769,113401,15664,57592,105229,137381,97059,119268,6876,43309,33886,128363,35476,144249,67013,143587,83367,25703,91436,59347,53236,2289,16519,19844,46309,58558,99834,23313,218816,231303,36388,51333,183535,109792,139277,54306,90139,18235,8275,32710,37677,82464,86025,92204,88842,117723,37570,128723,234242,76350,73795,34896,148247,58424,11105,11744,45746,63372,17118,49772,199520,81902,38004,22911,33752,3125,1995,53792,4689,26909,108150,146062,69674,41811,161444,84855,8999,28561,16731,93937,3189,21967,24890,22943,1356,145300,51569,28802,517,118679,31703,40607,48098,108854,25003,10233,73969,177495,5248,24516,215347,146192,48712,60626,69188,40735,5866,586,101541,6509,47590,52129,5969,222045,110933,25733,24223,65339,62812,2414,155418,35819,16022,78423,43138,20995,128255,240673,46745,236093,72176,57085,97841,61248,107,36068,193177,105427,55726,215229,20446,47228,100420,87091,14429,121708,23605,21157,187721,21880,2997,203976,99166,95068,25877,7724,98925,83401,4829,13182,18229,13718,239662,38653,116505,153497,30589,89029,38962,181302,43853,78872,180301,4786,248240,7401,106136,112590,77745,19731,60880,77789,125748,135487,5975,48627,34084,12419,215770,47557,254582,10364,106495,21856,67539,88981,38805,21428,48732,42316,12149,16078,52808,25327,51322,33850,51147,12253,122354,46077,56483,254553,115417,81834,150991,94662,86668,7381,12841,100650,18218,15741,22372,68294,50705,15535,84660,61887,22553,72299,31361,24824,17743,46820,64288,31582,77006,111674,116384,30760,80920,86149,77192,51979,79691,60342,122805,103800,240873,160744,233114,78962,54920,8608,3484,316104,72548,24337,5088,230040,21926,10172,36838,26,86221,83458,102176,12062,17571,41929,41170,28428,68239,41750,103930,2634,18313,53019,34825,97837,63115,24606,73157,152474,14715,91439,37033,109806,140259,30668,174760,380,135597,95673,136073,65073,134249,13829,17279,122305,4420,46444,10237,64848,203623,70728,10349,182885,65075,24519,25783,40318,34139,22222,63394,55266,102764,41422,20126,65100,90408,53640,35128,48932,11192,38935,96839,34782,39492,19396,41332,6250,5511,19492,51304,25936,104466,54099,73771,86115,5080,7669,30891,111700,13931,25276,72289,135447,14820,258641,25265,31005,281179,75286,393,95359,14623,13584,6680,101227,80173,44933,76666,54542,13244,39348,458,25379,109451,134348,81143,6959,65554,12027,51311,8716,57589,140731,28467,23316,17272,30458,25980,55229,77197,83798,28302,114784,7428,34548,26241,14712,39336,103304,18928,54080,12870,334,87722,15208,16895,142098,114262,39820,83913,57817,28682,7721,14900,108672,11250,62246,42849,415188,1724,26555,24549,25505,26443,107450,145899,61035,43528,6901,60726,65906,267741,21338,147590,42079,18924,73017,135236,15393,5206,4026,84185,1531,5988,113890,82647,303391,7386,69844,71611,189865,76523,31877,13315,19314,198575,32821,1928,67641,25913,104475,103489,3297,70391,18406,15446,113347,19295,93790,27856,1792,167471,116449,8541,4408,41757,63233,25765,86680,64501,27034,24816,34975,6079,4486,49693,36229,16917,21581,62426,27862,11612,54284,35702,194034,355,24277,48262,87411,70504,310164,118018,12516,47559,43502,57433,107139,9290,66533,80863,14634,34312,91725,28606,21342,67241,72355,43244,375789,37402,174015,105070,8342,44167,67494,1890,16365,11723,271002,1865,47918,8350,45564,27742,25110,125803,8553,49504,81925,62211,4534,15491,19011,80373,206920,667,102405,128623,245524,5553,113309,192739,65766,19567,22832,261958,29679,21293,71134,20962,105123,24721,860,21752,33448,18372,157167,94822,35770,173224,232737,75729,28937,46828,28062,25453,5207,140366,36665,30652,6169,67920,150458,92040,23186,184604,92330,20891,176492,49427,27828,38305,42495,143982,49560,25503,90043,29747,65328,47830,12932,11068,77721,9003,25213,94205,140426,46090,89945,138173,192691,33329,112232,129905,35709,27514,1841,19957,31411,127476,53572,17497,173549,55063,175135,19841,69314,5192,237921,117660,150697,4060,273045,50414,98940,65348,153665,164423,58804,156695,48994,213928,86036,28608,8355,39574,34540,16927,135680,18374,151587,10830,53805,16878,16623,4282,48030,8537,14986,46102,13062,72897,72,33050,108227,39451,45935,651,113320,40535,95176,57450,48843,5003,19019,10407,211163,3848,1068,4988,32091,30095,41692,15099,43602,107434,50744,7627,171349,16313,150832,352665,207750,33937,38256,51091,156e3,87889,90663,84175,24908,114900,50365,31494,83829,5398,169342,47521,54818,18935,8356,43094,41212,174536,10082,92550,6678,60614,23355,69721,14796,34149,128830,58187,3179,208,40325,28399,225029,401412,51150,31580,207268,6657,10993,69818,64282,289845,23308,12961,38447,6681,52944,31855,2572,47646,120728,179148,37240,45196,218274,4816,3695,21961,50084,35209,18073,51452,27004,6100,33941,1377,84831,171214,85,141510,9078,99227,32610,6417,11718,49868,65579,87902,73018,49062,46280,61742,21512,40862,107733,15941,29168,157765,144919,14487,5767,158014,140070,7241,573,71584,16921,223566,40331,179473,35081,47926,140885,41508,52104,59180,42310,32811,29048,123517,102413,80208,10104,14746,12649,153641,126022,37965,113017,4171,83,142592,2809,6362,50416,71323,116894,260776,16204,1524,5760,30351,12658,20703,54403,36083,45408,74772,4946,14485,50759,111222,10890,2195,167147,92962,130534,16283,177256,35016,15472,210156,151187,73922,117691,43250,52051,37392,24811,24358,30830,5775,818,21969,1476,127322,151783,58392,31021,106913,65215,89407,90802,28531,11690,20234,95249,44602,37256,18707,11928,5161,4410,26571,51903,49768,22008,25252,65780,209499,68769,203726,13249,137363,48845,86823,6658,5674,31881,1083,1823,108676,34518,166752,13791,14287,91576,91429,8665,11529,26401,16191,91972,30964,5254,28486,54697,79613,66520,18447,22870,45203,194466,22822,51703,12278,76716,44595,73455,33546,12235,144843,36154,51247,11116,33040,3180,225753,60864,1972,28469,12891,28879,10338,144157,56294,353058,38302,41447,87532,110616,27065,168438,6557,1213,50804,144643,24817,2390,136531,38174,247513,16190,4059,122791,131994,137430,39506,57650,16305,5188,54309,106128,20628,88071,67394,395446,250285,66176,91254,1399,114196,43915,60230,44853,27206,106353,43013,18733,345105,226453,51202,16607,57106,117175,35492,10476,89598,127439,15187,39624,13688,61570,10615,31111,59370,6238,175252,32143,224492,41388,95408,34384,148238,78307,38959,9340,160091,61443,15737,11216,41244,170,38299,102443,113097,26382,14027,33707,3957,76300,66160,19431,18900,6952,1717,108656,82206,188021,257335,27295,43999,41210,31777,46956,57457,12657,11489,15697,48060,204748,53583,82422,284790,30503,137341,8120,19615,220311,15991,10217,63424,9808,67431,70976,98221,4491,15177,28535,144789,751,13230,2394,1504,33977,132104,30316,22230,931,97193,185240,24826,22687,174322,15307,22988,1390,188745,180325,29580,59068,74903,18994,29195,79,15436,7622,38462,11566,138710,44828,45774,37768,99236,68137,84083,19282,22698,17134,74807,126662,173497,46248,16938,119735,3212,28292,213652,49013,9975,32180,45660,86250,4801,68788,95490,77482,113751,11994,44624,94452,46839,128497,100316,5798,58588,73184,202987,65417,37790,88524,1606,43156,97964,105717,34947,11203,100060,37742,130074,93653,107799,94311,196106,41347,8035,10780,16390,27883,118236,167395,1979,25006,19375,31628,18916,144723,78502,114047,103107,86492,107686,5844,20934,206963,23556,22591,16562,146333,20167,10471,117434,33085,2863,9740,36669,41849,37271,22790,18209,28979,8231,12952,54408,21731,25130,45208,55748,138120,75826,414,29593,9925,292865,25999,683,123149,7036,92159,86055,61827,103680,23176,54918,58466,57578,13305,5709,86479,16697,31064,17660,200919,10770,49793,33423,32370,52047,16488,62555,6459,8426,83493,7763,59725,82812,18628,67760,79405,68557,9612,7673,28102,56517,69620,171797,32458,29541,15870,81109,32080,207644,71495,21202,11039,91036,61230,2810,130800,32260,4613,60590,37112,75214,33979,126402,155062,30642,63875,12810,194463,82799,47664,16725,36685,43367,61099,449,172150,102867,21691,301838,36745,7130,18671,57316,34852,38034,54182,35578,65900,99486,19771,3456,2658,16914,99866,28390,28109,8262,21147,34353,20006,4228,137085,1675,203023,283196,198286,214375,163329,290603,152574,40471,83506,30068,14730,23177,131539,34759,27668,32178,71896,104799,116305,85430,119262,42860,25160,8911,23428,49437,105322,6519,16203,6349,74711,1230,38045,8540,75165,44736,25909,51026,317034,4984,32281,91312,27060,44431,17817,45363,155937,239085,35697,59784,91993,29531,126740,213757,76560,167776,285273,24262,8237,65030,41160,74437,48804,118916,13159,37842,1031,75349,1478,11655,108777,23435,277425,101734,67469,70231,124711,43532,28514,65526,54956,1e3,21882,17728,25302,40952,52214,149632,1999,2111,3259,63362,89961,220561,39777,26335,9063,10572,12416,34551,34623,38604,24723,5947,15588,69927,66252,119177,69173,46629,28714,70715,212408,20521,406913,74380,11716,50659,50862,37009,88460,130101,7210,53853,538,65120,151950,55806,163748,52837,13153,21100,16674,64536,6091,138201,44837,58547,3723,163,2177,32288,85454,34033,8497,14282,25742,10535,10741,79559,117493,243787,49337,100718,79495,40139,42956,7551,55433,15421,31509,23034,45081,547,61176,53434,328001,8470,36263,30145,4519,74173,53935,11845,73774,60211,78025,3,4102,73782,109293,315332,48412,26683,13714,6865,20128,18490,104141,325,39470,171970,115860,15707,7268,73301,74336,31370,2368,111827,107757,136231,142844,97138,96638,84053,38691,23801,1588,10573,122098,77039,240,186135,146101,11996,18143,112963,46171,155836,348769,47795,121213,116266,132515,3344,144804,31286,99187,255838,129694,35894,48779,55235,148582,71967,65282,15174,13920,47080,6147,108242,157593,125025,7136,1286,28957,127956,28402,98813,20805,7532,109417,40610,5041,32958,15142,18408,108596,33543,50517,27748,80114,233434,91447,487,37094,100048,30541,43477,10639,89862,155868,37667,8726,60684,237903,73408,99589,12190,38739,97348,3914,13594,2680,149016,13907,30171,28343,23530,115225,61104,35821,147679,14337,4297,244282,24085,326976,56428,7851,21303,131620,71446,83253,68692,111870,5224,15813,38197,49026,45057,13660,3306,76345,40671,27905,91072,996,68527,62085,91351,122634,55109,168209,2024,27560,112707,17352,8306,167115,169921,166958,5031,46020,11844,67284,19130,76185,6920,32849,5450,14610,22451,21002,17392,31872,66682,84796,13709,40210,59898,12029,8719,53564,21462,91884,21647,88379,194428,12754,37797,132826,160016,22567,54383,53186,77611,31107,8339,4694,19185,90355,23597,17222,140675,28442,23668,55977,9128,61555,28774,155229,17658,9390,24379,69357,15752,127381,239631,62460,93181,55913,45133,140155,18676,25249,33164,29581,82837,67223,22362,29975,7317,52813,1943,29613,20012,207130,49617,49651,5636,15334,36313,29226,28084,95247,72072,19e3,224932,15811,114,32127,38097,37508,88507,37225,27359,91626,12193,69279,20608,11055,88156,92808,2152,57259,55275,72789,24475,104414,1708,9882,3818,48661,66897,1631,34806,227930,85815,87753,18321,250664,72733,25107,206797,50891,8082,196411,92596,96764,152823,65514,22819,387277,62176,51225,40329,15563,189,3659,73670,64357,51793,275136,33482,86653,74615,67058,11318,125720,15388,22388,8267,1730,102663,170910,40784,7144,85373,13040,7088,94309,583,44224,140424,77439,18496,164026,36578,4722,9151,5824,63365,26510,35199,40500,79277,32495,44614,35233,9566,203293,152144,7097,2330,183480,98629,13423,330887,44130,68600,30939,97829,31012,345465,56747,94879,4939,160027,149761,99423,46099,32251,15332,8761,96094,128555,5763,235318,222223,55729,30241,55420,201746,3987,81382,8259,49325,23287,7719,24633,251100,92311,18591,110533,64759,170260,393860,7175,21144,132887,3593,75346,101277,91109,16387,259187,11627,57459,173829,44694,55780,49797,89192,120443,62622,3904,14814,23887,1027,112258,64955,99800,11132,66353,36202,48624,18158,88481,96882,43059,11040,2455,7077,21651,181159,99126,100434,61388,68186,19161,110468,120052,8819,55324,41494,7014,37689,3618,87729,92615,207943,9823,128657,12587,15857,6379,67628,51216,71775,157617,63244,1503,3864,218754,110864,5769,21492,7243,1192,87921,85529,31512,18537,42698,35350,73510,84474,34301,8991,21013,35034,566,38832,19838,35586,37216,39413,55006,12178,59742,856,84563,6900,25632,17437,49786,30723,13847,70845,4044,7843,23944,235976,55530,48942,6518,20939,73769,192653,52936,95207,23895,132542,142982,22632,87452,48042,54018,178468,10728,26230,23559,363,81269,142012,5718,346258,31456,84333,246476,51018,66692,101804,120570,39962,30373,70593,2864,60541,19425,54209,104092,7201,31545,48018,25865,15442,46257,40443,8328,6451,111782,47527,97754,33046,470,245116,31095,39,91934,87208,73470,36708,36521,12801,70624,36272,8892,79768,12427,55454,103756,5908,52390,62962,22720,141138,94634,41689,128402,126390,6628,106394,35527,134394,82727,254651,194502,148064,89549,3202,28359,957,21954,27906,49840,142747,8307,24206,48978,1186,71728,133038,71474,91306,6333,110959,74600,70387,18983,62609,56057,22970,1147,135850,1321,28834,3578,59715,102227,32827,81415,99952,55636,257598,390,22702,35701,85872,402916,39216,189795,14929,19467,10112,144422,61514,5279,63421,134686,41436,8424,51925,10598,132295,124416,4604,194739,210929,57866,31829,51626,50007,9976,91878,61906,56168,81906,60918,61859,40017,23059,16887,40927,62064,12785,32893,32913,21782,93965,20169,44387,79084,38463,11457,93950,27127,157050,2697,337088,5116,54128,48255,33279,8821,27352,25515,124022,65710,28906,38557,33390,1722,104435,72215,38551,12094,30978,25113,6671,37355,175109,42862,98024,65406,221276,59624,118012,64637,78760,86697,21426,1639,40350,12584,67193,84144,31396,7863,143011,69629,63112,9454,28666,65798,46372,134721,6314,51402,30837,151922,2847,38676,38008,92823,136245,17540,5504,109295,205242,37606,5211,214892,1586,20670,208711,137743,19328,40652,16995,20023,14657,154919,34422,12996,13918,38221,47690,16398,2959,37680,89122,6721,198469,91876,172043,83898,101992,26084,94570,3635,76958,22853,76497,38266,176590,168403,44464,142840,79180,184594,1984,41806,83147,11985,6546,366068,59732,24533,271505,8736,39084,222992,93429,28962,58985,86665,8432,30028,14548,32439,54424,165029,55175,27458,69046,121277,46168,33732,20661,24581,135574,123110,37556,79260,72611,16957,12939,46162,58238,44907,72936,253758,41324,32518,96480,11949,124438,65280,43256,34107,53533,43531,37037,28366,45970,32741,173438,6121,194202,62969,26355,30314,58370,28455,1848,50519,82830,90393,21761,295490,10936,256940,133568,44050,20269,4089,27457,21610,219460,36743,14821,101388,52005,13124,30979,140816,167362,26054,18458,60789,34917,40447,26606,33422,9066,3452,83614,5761,20263,137238,25038,91310,101,52322,74548,42572,38084,214054,186568,31802,17665,30620,141936,37730,14420,4265,187218,49640,188208,51441,55388,96452,66659,40869,42039,60967,221027,19234,178581,29105,96050,9165,196118,157335,3738,40354,117436,2965,34136,59659,15570,50843,230035,31444,71260,43886,18316,5387,38500,168508,17406,32174,8828,103373,143806,90367,3560,18719,122310,16508,26719,2541,105429,6645,37998,73190,10591,235916,49737,87112,233941,53188,32193,79154,4544,52905,126477,7580,63501,57314,3216,31337,6541,103083,60846,49,9756,15481,1355,43840,14319,13743,27486,10222,73114,230718,418644,16706,6674,279748,23058,45273,295831,86306,2743,5535,88773,21829,35253,120938,31153,3169,16839,42847,8751,80974,33942,36867,35514,16485,26474,77775,56877,5391,48346,3882,108713,31403,27804,55248,26235,43821,136104,40118,175507,28034,203908,18732,1788,34030,106427,36958,54359,7251,44936,15356,69139,455,157915,22173,140291,50348,43275,82066,49621,54952,15216,36226,96695,66855,6936,1987,8227,196087,4631,68827,99004,47541,110265,17953,147605,110242,58520,31312,38724,329975,642,3155,34497,75937,6207,73843,6120,17249,51429,117746,3218,910,68961,319671,14938,29555,34700,1649,66673,72268,9655,76800,153087,6941,210168,27130,35398,1780,73242,3135,56689,19556,165307,8765,35967,121458,13333,70453,17350,117253,22265,13340,44265,39869,441,3742,135025,23581,33309,16543,17731,13291,157637,283005,21408,101360,63887,52312,83873,5338,233779,23759,186949,34531,177320,38069,156465,91004,19353,59852,68160,14891,1338,1072,29823,1950,28901,81407,313445,73038,84807,162348,240257,37162,138934,16111,58013,41253,102951,16457,96056,19541,56402,67217,41638,94381,89674,29481,37456,80815,151579,13937,13683,132537,19699,134545,67020,29816,222341,141235,427578,48868,129557,233342,23077,87871,16213,18728,16184,9469,37913,19680,2798,171356,178328,13216,50049,72690,71904,124644,55455,7504,29052,41036,266546,19899,30391,188755,8659,59469,16,104298,112943,53865,76203,138226,68857,139953,14125,107625,119795,173133,4398,50273,48808,54390,16466,122086,31835,67035,50971,48859,7508,46427,66477,73021,84615,39985,83076,46779,201569,53336,36443,60865,168164,143810,51393,25548,169307,32896,24485,38424,21837,29087,275813,51674,6714,64883,46169,187369,55186,76192,12852,12018,62134,31067,118303,16542,12125,10579,4928,26291,43854,7091,10946,253716,109062,39283,17261,113012,258512,47764,125126,32646,55892,80279,201623,149872,3192,385,1208,48750,5376,58738,22335,5427,82416,47811,32435,143086,38930,94128,59975,156037,37977,38224,62485,7698,50405,71027,16462,21559,136153,34131,107506,162069,63703,3101,215029,40407,4178,3774,9187,80019,17880,97926,67579,2600,18405,8351,47924,86638,70820,92206,86453,29610,42241,119200,3198,15466,67813,57863,35454,4779,99518,4649,104641,144269,33730,38073,65864,6838,109456,193298,154007,5623,45741,30846,182578,25573,157224,1543,58575,138703,146140,44971,49356,18275,59064,20300,13122,11848,24453,11973,9797,86843,2919,25530,49210,1130,161220,76788,75373,85604,34926,36014,17777,17255,51533,11676,92226,51845,119859,21525,5936,18507,28050,1140,31418,14857,34207,47859,10750,36382,32079,106909,59426,87757,38393,110042,15965,97104,33757,35344,97993,53979,33651,45407,41884,82515,173089,7177,58371,35365,47543,51927,35587,10670,23544,29306,84233,39976,76076,62097,9007,8668,28119,78281,120790,19835,143020,54968,18670,64959,20649,34469,42570,33001,136570,87796,120044,1106,58700,63951,127623,12805,83057,40212,31773,49850,7361,54336,347524,101314,23751,19569,48791,29174,49369,20467,7465,75842,38281,623,112457,60210,28849,51003,94720,6426,90047,85560,43761,3579,85105,34607,90410,118528,7224,42907,111163,18168,6960,161135,191298,5247,100584,127552,171568,20121,91173,12636,54615,20199,63730,98105,2396,40387,14438,125012,4765,33235,12865,45299,37728,82098,77872,114037,59253,19675,24838,398016,102561,11446,17069,57508,178277,65836,99941,26114,2585,271882,136866,50126,11027,155648,118367,14585,8910,123015,335383,40434,41016,53021,14439,87098,176860,201543,121888,2358,9286,5739,22666,54270,37884,169381,33984,93859,16124,89364,72207,51639,76366,99029,65812,2198,12147,174891,194289,6986,30252,88822,21284,11445,288337,160821,33034,100869,43852,25761,52882,1144,103809,1924,84458,86079,43411,13542,139276,18141,34978,41298,7276,26481,173800,33210,17951,142652,33616,33677,2210,19941,98568,2486,192414,80136,12058,235883,50963,249638,29572,27221,47034,6124,72107,63346,97620,158513,299699,40388,23235,37176,224244,198386,121323,67992,23827,63170,17838,106622,158590,26807,5345,23489,91891,55474,74834,37981,13058,5977,72552,34706,26828,145172,19904,21367,34043,960,77092,91381,4733,47446,7680,41697,5170,16960,14741,46101,13656,473,51842,37433,11103,11551,121951,13191,97536,165932,50397,51628,129028,9069,44885,6590,59195,47045,32940,225472,90345,21833,13303,29407,96615,141951,5198,6028,18395,7181,3861,14966,156358,167182,36529,55253,25942,173153,30959,27261,50691,150176,162201,38467,48462,80602,42163,118482,168,108756,26011,17166,54149,456538,22512,91374,13816,90358,131615,18132,226707,1824,28139,26860,42253,93877,77351,65575,8980,80574,22020,27948,40422,91324,76376,13528,39281,91685,82215,122541,144066,1983,193851,17283,26320,2739,194978,4790,26845,42627,61300,65815,174612,55133,4200,191130,79771,158321,52280,166796,221620,62461,11278,4067,88152,83409,31717,121367,13522,47325,37945,10406,174348,249321,154101,64912,29938,51775,17220,15776,166138,78890,84425,54121,42861,16368,24572,291647,10197,32073,22651,11677,97509,26952,35787,18424,41910,71614,94977,72318,41594,70024,275419,37702,60199,7335,39107,61315,18271,18394,33768,87884,104277,123724,7277,56288,71981,189803,49320,3352,6798,14240,8954,69220,94433,57372,28620,68863,193727,85575,42309,41667,67689,42081,22543,44824,12719,28540,114236,101553,27638,27296,4300,5353,4663,19379,94098,3758,95888,95144,80344,87320,28447,259518,12718,71391,152731,37063,24132,31911,104896,15672,103782,1521,4945,72541,23717,122632,15619,87175,206120,29428,189780,61416,28350,44457,972,1175,47233,198738,95789,41907,21953,97034,59341,22864,53713,16873,32971,20693,20954,31336,21477,16169,38370,16412,9019,3841,24599,21938,17085,6484,81198,76413,5849,72514,12320,65247,276175,37234,59796,52642,16312,57349,198507,94148,46134,18958,125552,1747,18725,151873,14901,5490,68287,29470,3689,64794,40814,26018,25692,54450,2703,88278,124886,173087,174e3,24159,179477,24276,46004,201876,209202,445,52876,31948,30206,157610,39180,18439,44124,50469,5774,96278,222758,200216,50290,45486,20435,46986,46276,140133,142326,15569,13363,47522,92583,2182,7135,16853,22998,30272,4952,63263,35623,39096,53789,44864,20053,110392,124213,4630,16087,28221,127787,25839,77481,44693,13464,113146,6983,27069,55717,50102,4760,7107,26186,66507,59145,36032,104182,71328,29425,64317,50781,47465,94298,69706,74899,22754,120756,25108,93077,56834,73286,39928,16218,41699,176763,7555,70819,50083,26895,23315,26014,16773,123079,41712,5719,31516,90427,158540,85051,183128,40864,27505,55392,9058,45224,96857,30901,136622,96557,56304,120061,11501,151448,5773,89743,7769,86069,2935,18471,41628,10114,33660,110170,49479,26745,92846,33221,26731,18795,87076,8550,2100,29972,120289,3077,72490,33784,2630,208722,50861,63483,79029,6419,39467,14302,45286,64207,9686,67513,44170,1050,77246,59266,17055,53801,7150,11111,42432,4278,94579,362117,36175,42902,41933,39002,98489,22913,74161,84773,57036,17556,162288,74485,178760,93867,73635,128860,50362,261,67455,80001,46080,35662,4368,25247,19230,74393,22588,1822,27682,235324,13798,85998,13194,235067,23514,71669,147632,23191,134748,214683,105101,1518,25489,247114,7380,54842,26922,3971,26361,20844,68642,170517,77339,123255,8963,77818,150998,48466,36806,2732,23261,11741,236162,18243,126216,28690,50546,16385,92760,197383,246558,201295,88255,67588,71687,176076,172653,169058,33906,63747,24835,157621,43338,30050,46152,132741,2770,51371,94835,6614,15112,11749,56936,1250,19027,399017,58036,100215,23388,55815,308768,124152,94803,9521,64186,8971,28,30427,62163,7616,103838,35079,29203,131235,7743,17389,10882,37420,61460,228512,85363,41581,131077,62822,119647,10130,54445,26925,19968,29016,24446,74028,24176,61448,67185,9254,8563,119129,9771,99184,37716,39514,10532,221512,258753,218630,55980,23394,32141,61924,66749,32411,3741,36475,26678,77010,44946,91203,128749,116953,20476,49625,53116,13735,102335,29376,51946,83407,67892,59212,34685,21083,1546,112982,32972,74397,1078,190545,16082,86140,58591,89611,101531,10061,105104,76319,20035,17551,52611,169061,190842,100780,23907,90413,115619,9675,34710,193435,49443,129734,11183,258877,16318,136182,126808,44635,27304,192375,2599,125648,47051,12091,23814,721,58800,40137,66726,97930,60877,74487,7942,54326,9841,41428,13762,8211,85383,6950,99177,79806,201786,296464,124087,13144,29741,41721,47634,55088,254286,106408,17041,99064,12942,64086,45233,14005,2612,55827,255,7984,13980,38574,12776,46654,73499,249951,2101,26676,25996,132326,116415,119062,50449,31033,23038,11589,179252,20007,14860,129270,21143,17796,144715,60106,70758,69842,34674,282133,44014,16774,57268,38528,24053,46373,201667,28327,471023,51889,102667,21193,114909,84132,69317,96723,67969,16134,68145,15058,28765,32035,2524,101089,98664,25045,76571,14957,86040,118506,262428,154764,81573,39681,283900,73287,127825,544,80448,52347,38512,175971,15180,45467,33086,46552,48894,81107,43213,36672,54025,76703,8053,7608,13299,56619,20752,238099,54164,105133,1444,32942,953,37564,8e3,66316,119463,106817,404,13667,149108,128597,31267,10269,49836,106150,1484,52330,76965,160486,171648,38456,31263,22424,37738,66245,67467,143369,60471,75610,20895,115528,86070,60854,40796,49347,18989,15030,11371,37578,15779,79867,10187,86462,46402,155626,93200,40229,7090,57547,108053,99598,11088,47505,41218,206017,2173,20988,30219,22919,80563,57566,42369,93141,41675,2407,182519,120495,27154,16702,29456,14349,7958,16688,117177,140375,42467,261919,74916,153569,10836,34742,49526,7621,105997,12212,2270,392377,7755,17959,25086,232152,138791,33847,13860,35316,5811,1344,71259,50452,207539,92635,50359,5821,33674,30255,2086,2587,96264,17543,42,6029,9580,43007,139248,82831,12917,29607,25786,51467,42137,85161,100698,31561,88989,121990,278500,3602,109344,37982,15279,116442,28936,30880,87894,58079,128661,126731,67392,28051,146885,4861,16216,97344,42827,147561,153948,22684,21335,47685,1853,43349,15185,59642,10229,25520,187921,108972,5579,98037,24945,6697,19193,63734,137934,75056,89740,19767,224268,56138,63643,151661,39313,70618,84031,89723,84074,13703,85626,35460,8867,64845,3439,57906,99776,63968,49270,81130,34356,16210,23547,36446,34090,140028,72439,2221,22163,57058,363492,113754,18913,95451,48663,54464,54037,176097,68425,3023,34906,29482,117389,341780,80431,58330,16753,92616,60907,94846,147486,4498,48646,7773,46801,7778,18946,464978,47558,33223,177444,7328,15626,63337,94700,11743,9351,255024,39098,16447,42647,96230,39769,58840,10068,63439,35800,65843,58823,413844,9156,51258,7434,61791,85018,6872,3692,28096,7121,33024,6009,75532,31997,192535,9661,3304,9547,14753,31987,25314,55689,15896,20430,39472,31340,99744,25398,115569,54883,28719,205423,23071,57855,64638,149867,25671,82403,37616,20668,39989,77996,74948,140555,175248,64810,36515,46595,4958,248773,24045,28728,136673,168704,20804,114833,100325,27135,21205,96151,153134,45992,7093,13992,76047,1980,19432,145001,75159,87462,17710,1013,45556,34297,144882,20648,26061,11319,129567,108555,18872,464580,33386,22717,65948,167189,5603,135042,79542,8801,202632,18114,91882,5973,5239,67315,4431,60916,47819,71693,32597,32606,18183,45072,80329,76385,24749,51305,40314,156514,14693,130345,13168,66214,18029,12858,34801,27628,14544,10823,40522,40185,33739,148694,23548,9923,61012,28859,17933,19442,34364,99849,164107,141167,30629,21054,6744,36491,8096,42474,41706,155060,30650,10600,163442,1143,96655,61390,52359,7559,51568,64256,203854,4467,22453,14504,436398,7878,6980,8293,63610,293747,16167,35763,19627,147603,15419,18032,110744,51346,33681,54571,40472,48615,39073,21604,13754,173027,92560,11083,47299,63062,11813,52007,29883,9734,139722,15953,1550,20651,13616,49306,16113,90089,92326,7584,30712,72424,164858,6831,152871,55746,197721,34167,196442,6022,112107,55215,7538,123381,4920,43539,77165,8939,50392,34192,20225,79762,22505,58667,40770,29788,97180,82835,4568,8579,13273,363569,35898,49983,436,36598,3237,131691,62418,35591,8101,4073,379438,65218,76072,33887,2968,27573,212619,288680,68278,72851,150504,217896,6913,121339,22017,35340,51072,43616,75043,31437,10833,81487,4364,22968,41454,106687,85446,19863,109625,149241,524,141850,214404,54376,657,237023,9401,108137,53800,32474,49712,53334,126876,27337,45552,177696,8269,15036,12097,42240,2328,125374,119295,99715,2500,19624,39441,27220,102691,60957,94543,39101,18566,67362,13975,78230,25017,34017,239007,90027,39351,41681,35354,43822,1043,916,58587,141983,94818,38799,75459,41114,67432,16195,36606,59568,22272,126769,31424,68659,12287,134302,257977,5756,207285,95637,47248,117689,19583,77451,22373,12200,54993,117118,34244,29386,34562,53819,71267,64172,77665,49368,7716,59301,25749,45426,194789,17297,2650,1766,32501,45198,20403,20984,6600,14171,94604,19037,5402,29896,9938,59935,109708,88081,145182,44844,39167,352626,164173,35374,45982,6122,154,73419,220487,53834,53601,17992,8609,229321,5610,68098,66815,71012,95069,140968,27396,8957,134489,24656,86659,56598,134852,17316,123838,255436,6613,41610,138033,81452,32023,32396,123687,63398,8693,29712,30407,19296,121188,3551,36099,20032,111948,56624,16547,27453,35916,15378,52039,56849,13489,22214,73177,53097,277349,2157,14029,187886,10260,141743,246460,91880,50869,3788,49486,133566,54950,33120,129337,53768,18333,9525,26902,312251,10297,9020,70759,16647,112432,59260,84609,9818,82766,73569,468,46001,75780,55028,52106,11498,43645,108069,17150,17753,29417,16705,31799,9606,289,122254,115975,8620,6133,255357,56908,14456,133464,43554,79224,11247,29630,160,12756,25464,65960,350428,62521,321796,100359,67358,35169,46172,113128,48988,88868,31094,33266,6847,60887,98188,49659,69117,92977,220228,13947,80181,35103,62170,97351,13475,2440,199768,19498,36597,46971,25234,67806,62881,84717,73648,181966,10488,94149,21550,26655,63436,48375,14405,165650,9621,24439,28043,42735,4490,29963,56674,45373,1934,262446,50855,67098,26898,5261,52696,40644,33900,9440,180286,87162,22940,19704,26936,69769,10254,101759,27406,12243,48e3,73926,113215,54935,5726,192787,4312,106216,9366,11550,52949,23457,212271,277152,133895,108374,6191,96477,29980,218916,58024,54696,40853,91124,65894,91170,65908,252552,6793,29212,15389,44516,122515,52617,35058,9017,103536,39510,49136,19242,130652,662077,74699,47024,31422,8517,73351,24399,13867,128360,4810,4434,61779,111983,61036,17798,110240,59722,102960,39688,10001,23803,23039,176498,56659,44814,134295,17188,77577,74466,226175,102472,154333,63900,111747,18062,41171,79669,32773,408933,42562,28931,30907,107388,43487,2946,240310,23938,24354,319,184983,7927,6488,1422,10790,68809,68209,64775,4361,202,17123,59634,51200,44391,18188,17843,2619,74278,3230,9540,47187,21702,36274,56894,43907,16310,34790,16866,6150,5561,13587,107545,108873,126867,86986,28640,33427,19017,5762,80637,17430,46903,2047,131055,25958,13558,5444,47152,13900,44563,122857,45348,70863,39593,54332,38068,33637,318,40310,143467,18502,24520,11377,62013,28942,27246,28269,83545,17999,59015,90707,30065,15161,34720,1263,37008,2012,6060,98575,92933,5721,299,199555,24578,29223,2985,743,115825,109523,136657,47454,26378,53586,3733,174945,93340,244456,5693,37386,28782,89767,27545,23573,18798,136425,34320,84778,20041,48453,38215,7477,71958,40621,8773,5874,187927,105965,51100,43533,18083,8443,10180,43597,2003,183999,69689,12216,129696,146188,62389,34044,68410,12765,43273,26949,266807,3345,34477,79197,5688,47539,213110,21634,22257,50092,32222,42346,39530,63668,98,134978,74022,5152,59088,174145,37220,9934,9545,118937,5724,87240,19875,15784,40143,23263,87513,181654,285152,37881,263241,4966,43934,10433,186657,6470,74416,225854,25908,142677,246262,32280,6192,75890,45546,143264,135305,29742,47013,77787,11732,126658,8763,37950,21806,57557,113464,89465,108995,164574,23894,22996,23169,15369,23117,17642,130607,40503,36239,280990,44666,9981,40427,147487,26869,168452,32886,32991,46798,240839,15111,70502,65697,88548,44145,28701,48767,31139,206777,35659,181164,166262,14554,171445,31786,66523,76607,17956,6507,31279,90476,116611,167918,6560,1243,115324,80128,41867,55897,187323,37069,32596,189444,145931,13390,105530,65709,26805,6999,55714,41300,22915,68951,22138,21120,22264,10058,19945,33635,56123,99085,10032,5818,6016,46649,57476,35264,94413,112522,262288,93686,83038,14341,23204,28807,66084,77987,6101,126673,7133,38126,5923,122091,170240,97772,46874,215746,43948,41622,3272,55596,8332,146411,251315,13533,8561,81521,115449,48616,175175,2063,186556,3036,134537,75772,29728,82360,22973,186559,86348,89100,38388,82297,45610,2613,87082,9986,177812,57884,23591,47485,42543,33582,44713,74439,257444,252451,31825,35631,38540,33066,5147,13973,4343,51830,70378,22827,26448,95560,36896,241741,48067,203953,298860,61620,20450,3220,67272,6586,107662,100160,108684,6929,57226,4762,7457,1320,40404,77204,99309,62750,208653,59977,44e3,74315,34332,5819,172217,64904,114077,18147,84012,1791,98456,90930,21446,116669,103938,7422,85140,59713,5768,326211,16239,75411,13229,29398,10758,236107,1539,112472,95979,152154,151294,306,21196,38146,10700,6891,84282,109646,56492,40539,6589,119491,51354,30685,140209,136906,29622,73617,49553,70525,51671,166869,139616,74395,37439,49595,45678,11959,33211,86560,52434,9282,62690,112155,130810,5243,108261,99970,265613,72551,80049,6391,33365,90721,66737,69872,87011,1860,9032,112544,60905,37371,89015,140351,19076,850,373531,2802,36725,218795,72062,28990,16550,24614,7815,6187,26336,33373,32162,42791,73555,32062,23386,10244,56392,49442,27076,136262,12412,14883,1134,33675,97153,199281,15608,100152,74072,47942,254301,36451,16026,10687,65067,56708,254030,30290,50490,13864,57941,259331,35588,23485,43486,24869,21620,92971,22072,88645,1048,182050,13343,32452,14825,19509,3325,216938,45740,99716,189082,53740,78245,25609,24311,176777,47340,308354,40669,66085,14102,125339,9225,128709,97207,1271,200933,78439,113451,88975,18324,46521,11819,18570,141756,72512,170020,52754,63550,118515,103073,93330,32736,50499,14722,31600,68452,398867,29316,172786,18417,104924,2606,5670,84818,16288,67106,59580,82929,607401,291,85829,359,15897,35830,50696,65630,52672,22115,356968,29895,40837,231192,34024,38957,26722,406,23335,124952,72068,68804,13268,147101,164740,276569,162596,66943,11569,26654,66358,4777,23229,102127,5848,978,2921,59666,5371,28212,90108,42938,39320,2499,4271,108792,33510,125072,71653,65239,38250,66357,38577,13964,86251,35708,50755,36010,29448,12209,3844,38222,206337,100876,67827,137088,14167,252225,84163,195270,1306,5703,54198,779,46802,22028,51124,86759,70560,113164,35685,162145,45471,34561,422,2611,6464,47486,19223,38246,9191,18331,89942,243642,212364,15893,17518,22617,6409,30046,126182,59716,36560,104428,18846,26592,19458,50793,147333,30826,1388,27647,10922,14495,33545,19269,135828,39727,41601,46931,233379,49169,131130,182112,16276,82381,118209,142445,128310,19672,28740,82907,33436,3118,102206,28723,24819,41937,38854,5157,3881,111491,1142,9776,421673,152241,29309,14961,87854,6054,15424,3796,82656,54996,2108,55367,239450,154525,9643,118103,106041,64601,68549,48707,30266,25772,18740,9462,229669,91798,112152,191327,14493,72828,8175,66636,236474,25817,87351,129027,76653,20422,22983,71240,27846,44661,12399,46158,77704,53101,35032,11072,17300,109294,33638,24408,1895,11241,760,17584,82479,125877,63150,141075,34259,23274,81698,15732,43577,48340,91584,14688,16379,24481,150280,96420,262050,48635,43727,61819,56268,72003,88178,17281,79912,13218,122519,125295,166396,11811,2171,118930,67746,17636,178278,174656,95661,173039,83845,79689,17473,98555,127696,203415,54730,22925,232239,9309,12136,175026,20740,180188,10747,39816,314017,266131,10040,175732,112550,220651,31974,37393,888,23008,86799,4303,64905,148467,75337,251,3284,370102,50264,9835,5438,23655,4481,29851,329,12855,7162,64931,78141,12804,42372,296771,83547,18624,34874,86271,3360,48665,77735,88767,11463,63527,28889,22258,29140,194315,113924,25499,6406,31334,1845,4802,49184,43455,35469,127594,92970,61038,115005,38840,87761,106838,8811,20572,55637,11162,96721,132425,108925,2948,125457,36356,3502,75270,27622,127192,2561,123095,49394,61155,16897,110064,9699,89448,53356,19628,220310,21622,83036,9885,112214,6087,26713,17901,161912,91492,3440,68594,9266,92238,8087,6866,150194,72175,80701,13459,31836,43243,239700,95846,44749,50647,21945,230538,120612,132371,244604,5193,105637,34661,41341,68775,85393,1874,8771,33718,49672,77403,595452,99507,6490,58895,128742,7704,39239,73217,43816,62824,37804,199976,22361,80005,87514,94832,14089,4574,139975,59142,75523,100268,43906,53442,15152,2547,186002,17011,19513,204282,3343,60568,128318,119250,4298,51871,41336,71759,21921,45074,98169,145889,99427,11350,1237,5520,28799,7803,53702,21026,136352,38293,128690,12158,90132,44600,10184,26957,39459,126025,78904,82999,59373,39301,150198,120529,153042,20177,50089,14764,271571,30530,123161,38975,101562,22941,5648,124654,109243,69817,71675,49162,106884,21241,107795,30258,16572,188262,141456,7688,60718,8271,11044,32440,104608,103419,236109,93156,43293,128929,42107,67180,25201,115254,185488,130954,72813,167547,20537,39969,38432,22582,184022,1139,27199,5655,17767,97412,122606,209377,27070,35871,326617,188954,42680,73512,80911,22629,3011,95021,315242,157737,383,41821,41808,19335,27950,15674,25677,110950,35375,76835,59108,57370,35262,16569,160415,37706,78086,32041,49691,137143,9782,172080,50148,77917,6323,10110,69172,17711,21795,59511,76184,135114,31046,132319,59105,157578,20549,80778,57649,158421,65143,4575,72235,21899,10797,92745,34035,106079,80159,4508,78304,25350,75457,46458,32937,25623,47,8531,104751,84953,8138,36508,187199,66310,115274,13253,32461,38536,1916,42007,187160,35055,26325,84394,35963,94216,45590,97782];var J1=15,eo=class{log;peerRouting;routingTable;refreshInterval;refreshQueryTimeout;commonPrefixLengthRefreshedAt;refreshTimeoutId;constructor(e){let{peerRouting:r,routingTable:n,refreshInterval:i,refreshQueryTimeout:o,lan:s}=e;this.log=$(`libp2p:kad-dht:${s?"lan":"wan"}:routing-table:refresh`),this.peerRouting=r,this.routingTable=n,this.refreshInterval=i??3e5,this.refreshQueryTimeout=o??3e4,this.commonPrefixLengthRefreshedAt=[],this.refreshTable=this.refreshTable.bind(this)}async start(){this.log(`refreshing routing table every ${this.refreshInterval}ms`),this.refreshTable(!0)}async stop(){this.refreshTimeoutId!=null&&clearTimeout(this.refreshTimeoutId)}refreshTable(e=!1){this.log("refreshing routing table");let r=this._maxCommonPrefix(),n=this._getTrackedCommonPrefixLengthsForRefresh(r);this.log(`max common prefix length ${r}`),this.log(`tracked CPLs [ ${n.map(i=>i.toISOString()).join(", ")} ]`),Promise.all(n.map(async(i,o)=>{try{if(await this._refreshCommonPrefixLength(o,i,e),this._numPeersForCpl(r)===0){let s=Math.min(2*(o+1),n.length-1);for(let a=o+1;a<s+1;a++)try{await this._refreshCommonPrefixLength(a,i,e)}catch(c){this.log.error(c)}}}catch(s){this.log.error(s)}})).catch(i=>{this.log.error(i)}).then(()=>{this.refreshTimeoutId=setTimeout(this.refreshTable,this.refreshInterval),this.refreshTimeoutId.unref!=null&&this.refreshTimeoutId.unref()}).catch(i=>{this.log.error(i)})}async _refreshCommonPrefixLength(e,r,n){if(!n&&r.getTime()>Date.now()-this.refreshInterval){this.log("not running refresh for cpl %s as time since last refresh not above interval",e);return}let i=await this._generateRandomPeerId(e);this.log("starting refreshing cpl %s with key %p (routing table size was %s)",e,i,this.routingTable.size);let o=await W1(this.peerRouting.getClosestPeers(i.toBytes(),{signal:AbortSignal.timeout(this.refreshQueryTimeout)}));this.log(`found ${o} peers that were close to imaginary peer %p`,i),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",e,i,this.routingTable.size)}_getTrackedCommonPrefixLengthsForRefresh(e){e>J1&&(e=J1);let r=[];for(let n=0;n<=e;n++)r[n]=this.commonPrefixLengthRefreshedAt[n]??new Date;return r}async _generateRandomPeerId(e){if(this.routingTable.kb==null)throw new Error("Routing table not started");let r=sn(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,e);return Kr(i)}async _makePeerId(e,r,n){if(n>J1)throw new Error(`Cannot generate peer ID for common prefix length greater than ${J1}`);let s=new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1)^32768>>n,a=65535<<16-(n+1),c=s&a|r&~a,u=j8[c],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,xe.code),l.setUint8(1,32),l.setUint32(2,u,!1),new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}_maxCommonPrefix(){let e=0;for(let r of this._prefixLengths())r>e&&(e=r);return e}_numPeersForCpl(e){let r=0;for(let n of this._prefixLengths())n===e&&r++;return r}*_prefixLengths(){if(this.routingTable.kb!=null)for(let{id:e}of this.routingTable.kb.toIterable()){let r=ur(this.routingTable.kb.localNodeId,e),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var p0=$("libp2p:kad-dht:rpc:handlers:add-provider"),to=class{providers;constructor(e){let{providers:r}=e;this.providers=r}async handle(e,r){if(p0("start"),r.key==null||r.key.length===0)throw new _("Missing key","ERR_MISSING_KEY");let n;try{n=ae.decode(r.key)}catch{throw new _("Invalid CID","ERR_INVALID_CID")}(r.providerPeers==null||r.providerPeers.length===0)&&p0.error("no providers found in message"),await Promise.all(r.providerPeers.map(async i=>{if(!i.id.equals(e)){p0("invalid provider peer %p from %p",i.id,e);return}if(i.multiaddrs.length<1){p0("no valid addresses for provider %p. Ignore",e);return}p0("received provider %p for %s (addrs %s)",e,n,i.multiaddrs.map(o=>o.toString())),await this.providers.addProvider(n,i.id)}))}};var J8=$("libp2p:kad-dht:rpc:handlers:find-node"),ro=class{peerRouting;lan;components;constructor(e,r){let{peerRouting:n,lan:i}=r;this.components=e,this.peerRouting=n,this.lan=!!i}async handle(e,r){J8("incoming request from %p for peers closer to %b",e,r.key);let n=[];se(this.components.peerId.toBytes(),r.key)?n=[{id:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(o=>o.decapsulateCode(ie("p2p").code)),protocols:[]}]:n=await this.peerRouting.getCloserPeersOffline(r.key,e),n=n.map(this.lan?qn:zn).filter(({multiaddrs:o})=>o.length);let i=new ge(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:J8("could not find any peers closer to %b than %p",r.key,e),i}};var eu=$("libp2p:kad-dht:rpc:handlers:get-providers"),no=class{components;peerRouting;providers;lan;constructor(e,r){let{peerRouting:n,providers:i,lan:o}=r;this.components=e,this.peerRouting=n,this.providers=i,this.lan=!!o}async handle(e,r){let n;try{n=ae.decode(r.key)}catch{throw new _("Invalid CID","ERR_INVALID_CID")}eu("%p asking for providers for %s",e,n);let[i,o]=await Promise.all([this.providers.getProviders(n),this.peerRouting.getCloserPeersOffline(r.key,e)]),s=await this._getPeers(i),a=await this._getPeers(o.map(({id:u})=>u)),c=new ge(r.type,r.key,r.clusterLevel);return s.length>0&&(c.providerPeers=s),a.length>0&&(c.closerPeers=a),eu("got %s providers %s closerPeers",s.length,a.length),c}async _getAddresses(e){return[]}async _getPeers(e){let r=[],n=this.lan?qn:zn;for(let i of e)try{let o=await this.components.peerStore.get(i),s=n({id:i,multiaddrs:o.addresses.map(({multiaddr:a})=>a),protocols:o.protocols});s.multiaddrs.length>0&&r.push(s)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}return r}};var li=$("libp2p:kad-dht:rpc:handlers:get-value"),io=class{components;peerRouting;constructor(e,r){let{peerRouting:n}=r;this.components=e,this.peerRouting=n}async handle(e,r){let n=r.key;if(li("%p asked for key %b",e,n),n==null||n.length===0)throw new _("Invalid key","ERR_INVALID_KEY");let i=new ge(_e.GET_VALUE,n,r.clusterLevel);if(Fc(n)){li("is public key");let a=Oc(n),c;try{let u=await this.components.peerStore.get(a);if(u.id.publicKey==null)throw new _("No public key found in key book","ERR_NOT_FOUND");c=u.id.publicKey}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}if(c!=null)return li("returning found public key"),i.record=new Fe(n,c,new Date),i}let[o,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(r.key,e)]);return o!=null&&(li("had record for %b in local datastore",n),i.record=o),s.length>0&&(li("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(e){li("checkLocalDatastore looking for %b",e);let r=nr(e),n;try{n=await this.components.datastore.get(r)}catch(o){if(o.code==="ERR_NOT_FOUND")return;throw o}let i=Fe.deserialize(n);if(i==null)throw new _("Invalid record","ERR_INVALID_RECORD");if(i.timeReceived==null||Date.now()-i.timeReceived.getTime()>1296e5){await this.components.datastore.delete(r);return}return i}};var zg=$("libp2p:kad-dht:rpc:handlers:ping"),oo=class{async handle(e,r){return zg("ping from %p",e),r}};var so=class{log;components;validators;constructor(e,r){let{validators:n}=r;this.components=e,this.log=$("libp2p:kad-dht:rpc:handlers:put-value"),this.validators=n}async handle(e,r){let n=r.key;this.log("%p asked us to store value for key %b",e,n);let i=r.record;if(i==null){let o=`Empty record from: ${e.toString()}`;throw this.log.error(o),new _(o,"ERR_EMPTY_RECORD")}try{await Vn(this.validators,i),i.timeReceived=new Date;let o=nr(i.key);await this.components.datastore.put(o,i.serialize().subarray()),this.log("put record for %b into datastore under key %k",n,o)}catch(o){this.log("did not put record for key %b into datastore %o",n,o)}return r}};var ao=class{handlers;routingTable;log;constructor(e,r){let{providers:n,peerRouting:i,validators:o,lan:s}=r;this.log=$("libp2p:kad-dht:rpc"),this.routingTable=r.routingTable,this.handlers={[_e.GET_VALUE]:new io(e,{peerRouting:i}),[_e.PUT_VALUE]:new so(e,{validators:o}),[_e.FIND_NODE]:new ro(e,{peerRouting:i,lan:s}),[_e.ADD_PROVIDER]:new to({providers:n}),[_e.GET_PROVIDERS]:new no(e,{peerRouting:i,providers:n,lan:s}),[_e.PING]:new oo}}async handleMessage(e,r){try{await this.routingTable.add(e)}catch(i){this.log.error("Failed to update the kbucket store",i)}let n=this.handlers[r.type];if(n==null){this.log.error(`no handler found for message type: ${r.type}`);return}return n.handle(e,r)}onIncomingStream(e){Promise.resolve().then(async()=>{let{stream:r,connection:n}=e,i=n.remotePeer;try{await this.routingTable.add(i)}catch(s){this.log.error(s)}let o=this;await xt(r,s=>Wr(s),async function*(s){for await(let a of s){let c=ge.deserialize(a);o.log("incoming %s from %p",c.type,i);let u=await o.handleMessage(i,c);u!=null&&(yield u.serialize())}},s=>Qr(s),r)}).catch(r=>{this.log.error(r)})}};var co=class extends $e{log;components;protocol;running;registrarId;constructor(e,r){super();let{protocol:n,lan:i}=r;this.components=e,this.log=$(`libp2p:kad-dht:topology-listener:${i?"lan":"wan"}`),this.running=!1,this.protocol=n}isStarted(){return this.running}async start(){this.running||(this.running=!0,this.registrarId=await this.components.registrar.register(this.protocol,{onConnect:e=>{this.log("observed peer %p with protocol %s",e,this.protocol),this.dispatchEvent(new Be("peer",{detail:e}))}}))}async stop(){this.running=!1,this.registrarId!=null&&(this.components.registrar.unregister(this.registrarId),this.registrarId=void 0)}};var qg=32,$g=64,y0=class extends $e{protocol;routingTable;providers;network;peerRouting;components;log;running;kBucketSize;clientMode;lan;validators;selectors;queryManager;contentFetching;contentRouting;routingTableRefresh;rpc;topologyListener;querySelf;maxInboundStreams;maxOutboundStreams;constructor(e,r){super();let{kBucketSize:n,clientMode:i,validators:o,selectors:s,querySelfInterval:a,lan:c,protocolPrefix:u,pingTimeout:f,pingConcurrency:l,maxInboundStreams:p,maxOutboundStreams:d,providers:h}=r;this.running=!1,this.components=e,this.lan=!!c,this.log=$(`libp2p:kad-dht:${c===!0?"lan":"wan"}`),this.protocol=`${u??n3}${c===!0?r3:""}${i3}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=p??qg,this.maxOutboundStreams=d??$g,this.routingTable=new j1(e,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new $1(e,h??{}),this.validators={...Nc,...o},this.selectors={...Pc,...s},this.network=new X0(e,{protocol:this.protocol,lan:this.lan});let y=it();r.allowQueryWithZeroPeers===!0&&y.resolve(),this.queryManager=new Y1(e,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:c,initialQuerySelfHasRun:y,routingTable:this.routingTable}),this.peerRouting=new k1(e,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new H0(e,{validators:this.validators,selectors:this.selectors,peerRouting:this.peerRouting,queryManager:this.queryManager,network:this.network,lan:this.lan}),this.contentRouting=new G0(e,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new eo({peerRouting:this.peerRouting,routingTable:this.routingTable,lan:this.lan}),this.rpc=new ao(e,{routingTable:this.routingTable,providers:this.providers,peerRouting:this.peerRouting,validators:this.validators,lan:this.lan}),this.topologyListener=new co(e,{protocol:this.protocol,lan:this.lan}),this.querySelf=new X1(e,{peerRouting:this.peerRouting,interval:a,initialInterval:r.initialQuerySelfInterval,lan:this.lan,initialQuerySelfHasRun:y,routingTable:this.routingTable}),this.network.addEventListener("peer",g=>{let m=g.detail;this.onPeerConnect(m).catch(v=>{this.log.error("could not add %p to routing table",m.id,v)}),this.dispatchEvent(new Be("peer",{detail:m}))}),this.topologyListener.addEventListener("peer",g=>{let m=g.detail;Promise.resolve().then(async()=>{let v=await this.components.peerStore.get(m),w={id:m,multiaddrs:v.addresses.map(({multiaddr:T})=>T),protocols:v.protocols};await this.onPeerConnect(w)}).catch(v=>{this.log.error("could not add %p to routing table",m,v)})})}async onPeerConnect(e){if(this.log("peer %p connected with protocols",e.id,e.protocols),this.lan?e=qn(e):e=zn(e),e.multiaddrs.length===0){this.log("ignoring %p as they do not have any %s addresses in %s",e.id,this.lan?"private":"public",e.multiaddrs.map(r=>r.toString()));return}try{await this.routingTable.add(e.id)}catch(r){this.log.error("could not add %p to routing table",e.id,r)}}isStarted(){return this.running}async getMode(){return this.clientMode?"client":"server"}async setMode(e){await this.components.registrar.unhandle(this.protocol),e==="client"?(this.log("enabling client mode"),this.clientMode=!0):(this.log("enabling server mode"),this.clientMode=!1,await this.components.registrar.handle(this.protocol,this.rpc.onIncomingStream.bind(this.rpc),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams}))}async start(){this.running=!0,await this.setMode(this.clientMode?"client":"server"),await Promise.all([this.providers.start(),this.queryManager.start(),this.network.start(),this.routingTable.start(),this.topologyListener.start()]),this.querySelf.start(),await this.routingTableRefresh.start()}async stop(){this.running=!1,this.querySelf.stop(),await Promise.all([this.providers.stop(),this.queryManager.stop(),this.network.stop(),this.routingTable.stop(),this.routingTableRefresh.stop(),this.topologyListener.stop()])}async*put(e,r,n={}){yield*this.contentFetching.put(e,r,n)}async*get(e,r={}){yield*this.contentFetching.get(e,r)}async*provide(e,r={}){yield*this.contentRouting.provide(e,this.components.addressManager.getAddresses(),r)}async*findProviders(e,r={}){yield*this.contentRouting.findProviders(e,r)}async*findPeer(e,r={}){yield*this.peerRouting.findPeer(e,r)}async*getClosestPeers(e,r={}){yield*this.peerRouting.getClosestPeers(e,r)}async refreshRoutingTable(){this.routingTableRefresh.refreshTable(!0)}};var hi=$("libp2p:kad-dht"),A2=class{dht;constructor(e){this.dht=e}async provide(e,r={}){await pi(this.dht.provide(e,r))}async*findProviders(e,r={}){for await(let n of this.dht.findProviders(e,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(e,r,n){await pi(this.dht.put(e,r,n))}async get(e,r){for await(let n of this.dht.get(e,r))if(n.name==="VALUE")return n.value;throw new _("Not found","ERR_NOT_FOUND")}},I2=class{dht;constructor(e){this.dht=e}async findPeer(e,r={}){for await(let n of this.dht.findPeer(e,r))if(n.name==="FINAL_PEER")return n.peer;throw new _("Not found","ERR_NOT_FOUND")}async*getClosestPeers(e,r={}){for await(let n of this.dht.getClosestPeers(e,r))n.name==="FINAL_PEER"&&(yield n.peer)}},Hg=290,Gg=54,Qg=55,Yg=56,Wg=4,Zg=41;function Xg(t){let e=t.stringTuples();for(let r of e)if(r[0]===Hg)return!1;if(e[0][0]===Gg||e[0][0]===Qg||e[0][0]===Yg)return hi("%m is public %s",t,!0),!0;if(e[0][0]===Wg||e[0][0]===Zg){let r=gi(`${e[0][1]}`),n=r==null||!r;return hi("%m is public %s",t,n),n}return!1}var uo=class extends $e{wan;lan;components;contentRouting;peerRouting;constructor(e,r={}){super(),this.components=e,this.wan=new y0(e,{protocolPrefix:"/ipfs",...r,lan:!1}),this.lan=new y0(e,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0}),this.contentRouting=new A2(this),this.peerRouting=new I2(this),this.wan.addEventListener("peer",n=>{this.dispatchEvent(new Be("peer",{detail:n.detail}))}),this.lan.addEventListener("peer",n=>{this.dispatchEvent(new Be("peer",{detail:n.detail}))}),r.clientMode==null&&e.events.addEventListener("self:peer:update",n=>{hi("received update of self-peer info");let i=n.detail.peer.addresses.some(({multiaddr:o})=>{let s=Xg(o);return hi("%m is public %s",o,s),s});this.getMode().then(async o=>{i&&o==="client"?await this.setMode("server"):o==="server"&&!i&&await this.setMode("client")}).catch(o=>{hi.error("error setting dht server mode",o)})})}[Symbol.toStringTag]="@libp2p/dual-kad-dht";get[R2](){return this.contentRouting}get[N2](){return this.peerRouting}get[P2](){return this}isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return this.wan.getMode()}async setMode(e){await this.wan.setMode(e)}async start(){await Promise.all([this.lan.start(),this.wan.start()])}async stop(){await Promise.all([this.lan.stop(),this.wan.stop()])}async*put(e,r,n={}){for await(let i of mt(this.lan.put(e,r,n),this.wan.put(e,r,n)))yield i}async*get(e,r={}){let n=!1,i=!1;for await(let o of mt(this.lan.get(e,r),this.wan.get(e,r)))yield o,o.name==="DIAL_PEER"&&(n=!0),o.name==="VALUE"&&(n=!0,o.value!=null&&(i=!0)),o.name==="SEND_QUERY"&&(n=!0);if(!n)throw new _("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield Qe({from:this.components.peerId,error:new _("Not found","ERR_NOT_FOUND")},r))}async*provide(e,r={}){let n=0,i=0,o=[],s=[this.lan];await this.wan.getMode()==="server"&&s.push(this.wan);for await(let a of mt(...s.map(c=>c.provide(e,r))))yield a,a.name==="SEND_QUERY"&&n++,a.name==="QUERY_ERROR"&&o.push(a.error),a.name==="PEER_RESPONSE"&&a.messageName==="ADD_PROVIDER"&&(hi("sent provider record for %s to %p",e,a.from),i++);if(i===0)throw o.length>0?new _(`Failed to provide to ${o.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:o}):new _("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(e,r={}){yield*mt(this.lan.findProviders(e,r),this.wan.findProviders(e,r))}async*findPeer(e,r={}){let n=!1;for await(let i of mt(this.lan.findPeer(e,r),this.wan.findPeer(e,r)))yield i,(i.name==="SEND_QUERY"||i.name==="FINAL_PEER")&&(n=!0);if(!n)throw new _("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(e,r={}){yield*mt(this.lan.getClosestPeers(e,r),this.wan.getClosestPeers(e,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var C2;(function(t){t[t.SEND_QUERY=0]="SEND_QUERY",t[t.PEER_RESPONSE=1]="PEER_RESPONSE",t[t.FINAL_PEER=2]="FINAL_PEER",t[t.QUERY_ERROR=3]="QUERY_ERROR",t[t.PROVIDER=4]="PROVIDER",t[t.VALUE=5]="VALUE",t[t.ADD_PEER=6]="ADD_PEER",t[t.DIAL_PEER=7]="DIAL_PEER"})(C2||(C2={}));var B2;(function(t){t[t.PUT_VALUE=0]="PUT_VALUE",t[t.GET_VALUE=1]="GET_VALUE",t[t.ADD_PROVIDER=2]="ADD_PROVIDER",t[t.GET_PROVIDERS=3]="GET_PROVIDERS",t[t.FIND_NODE=4]="FIND_NODE",t[t.PING=5]="PING"})(B2||(B2={}));function jg(t){return e=>new uo(e,t)}return au(Jg);})();
27
27
  /*! Bundled license information:
28
28
 
29
29
  @noble/ed25519/lib/esm/index.js: