From a240e81b363674d147a57fac45a1c1a86203a456 Mon Sep 17 00:00:00 2001 From: islandbitcoin Date: Fri, 2 Jun 2023 09:36:12 -0400 Subject: [PATCH 1/4] added chat and removed contact form --- assets/img/banga-icon.png | Bin 0 -> 65534 bytes assets/img/machankura-phone.png | Bin 0 -> 65534 bytes css/main.css | 32 + css/support.css | 1688 ++++++++++++++++++++++++ index.html | 1118 +++++++++++----- js/chat.js | 2135 +++++++++++++++++++++++++++++++ js/chat.js.map | 1 + js/main.js | 368 +++--- 8 files changed, 4846 insertions(+), 496 deletions(-) create mode 100644 assets/img/banga-icon.png create mode 100644 assets/img/machankura-phone.png create mode 100644 css/support.css create mode 100644 js/chat.js create mode 100644 js/chat.js.map diff --git a/assets/img/banga-icon.png b/assets/img/banga-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..db9a9076b1788ba1316cd6ae9ecf0f59639eaee8 GIT binary patch literal 65534 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 RiV6aFNsB9pRf!k{{SU7_93}t& literal 0 HcmV?d00001 diff --git a/assets/img/machankura-phone.png b/assets/img/machankura-phone.png new file mode 100644 index 0000000000000000000000000000000000000000..6b748830afda61d236ca02121e3616c1c4befef1 GIT binary patch literal 65534 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Ꮝ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 * { } .waitlist-form { justify-self: flex-end; + max-width: 430px; + /* align class to center */ + display: flex; + margin: 0 auto; } .waitlist-form p { font-size: var(--fSize-default); @@ -965,6 +986,13 @@ form > * { #icon-moon { max-height: calc(var(--_switch-height) - 3px); } +#banga-icon { + max-height: calc(var(--_switch-height) - 3px); + opacity: .2; +} +.banga-icon { + max-height: 0px; +} .switch { position: relative; display: inline-block; @@ -1266,6 +1294,10 @@ footer { max-width: 600px; margin: 0 auto; } + .feature-phone-img-container { + max-width: 200px; + margin: 0 auto; + } .cloud-bg { top: -150px; } diff --git a/css/support.css b/css/support.css new file mode 100644 index 0000000..5bb1138 --- /dev/null +++ b/css/support.css @@ -0,0 +1,1688 @@ +.qr.svelte-2fcki1.svelte-2fcki1 { + display: block; + shape-rendering: crispEdges; + transform: translateZ(0) +} + +.qr.svelte-2fcki1 rect.svelte-2fcki1 { + fill: var(--qr-color, 'currentColor') +} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + box-sizing: border-box; + border-width: 0; + border-style: solid; + border-color: #e5e7eb +} + +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-content: '' +} + +h1.svelte-1x5ct6j { + font-size: inherit; + font-weight: inherit +} + +button.svelte-1x5ct6j { + font-family: inherit; + font-size: 100%; + font-weight: inherit; + line-height: inherit; + color: inherit; + margin: 0; + padding: 0 +} + +button.svelte-1x5ct6j { + text-transform: none +} + +button.svelte-1x5ct6j { + -webkit-appearance: button; + background-color: transparent; + background-image: none +} + +.svelte-1x5ct6j:-moz-focusring { + outline: auto +} + +.svelte-1x5ct6j:-moz-ui-invalid { + box-shadow: none +} + +.svelte-1x5ct6j::-webkit-inner-spin-button, +.svelte-1x5ct6j::-webkit-outer-spin-button { + height: auto +} + +.svelte-1x5ct6j::-webkit-search-decoration { + -webkit-appearance: none +} + +.svelte-1x5ct6j::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +h1.svelte-1x5ct6j, +p.svelte-1x5ct6j { + margin: 0 +} + +button.svelte-1x5ct6j { + cursor: pointer +} + +.svelte-1x5ct6j:disabled { + cursor: default +} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +.svelte-1x5ct6j::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +@media(min-width: 640px) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 1536px) {} + +.mb-3.svelte-1x5ct6j { + margin-bottom: 0.75rem +} + +.flex.svelte-1x5ct6j { + display: flex +} + +.w-full.svelte-1x5ct6j { + width: 100% +} + +.flex-col.svelte-1x5ct6j { + flex-direction: column +} + +.gap-1.svelte-1x5ct6j { + gap: 0.25rem +} + +.rounded-xl.svelte-1x5ct6j { + border-radius: 0.75rem +} + +.bg-white.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)) +} + +.bg-purple-900.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(88 28 135 / var(--tw-bg-opacity)) +} + +.p-2.svelte-1x5ct6j { + padding: 0.5rem +} + +.p-3.svelte-1x5ct6j { + padding: 0.75rem +} + +.p-4.svelte-1x5ct6j { + padding: 1rem +} + +.text-center.svelte-1x5ct6j { + text-align: center +} + +.text-xs.svelte-1x5ct6j { + font-size: 0.75rem; + line-height: 1rem +} + +.text-xl.svelte-1x5ct6j { + font-size: 1.25rem; + line-height: 1.75rem +} + +.font-bold.svelte-1x5ct6j { + font-weight: 700 +} + +.text-white.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)) +} + +.text-gray-200.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(229 231 235 / var(--tw-text-opacity)) +} + +.text-gray-600.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity)) +} + +.text-gray-400.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)) +} + +.text-gray-300.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(209 213 219 / var(--tw-text-opacity)) +} + +.hover\:bg-purple-700.svelte-1x5ct6j:hover { + --tw-bg-opacity: 1; + background-color: rgb(126 34 206 / var(--tw-bg-opacity)) +} + +@media(prefers-color-scheme: dark) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + box-sizing: border-box; + border-width: 0; + border-style: solid; + border-color: #e5e7eb +} + +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-content: '' +} + +a.svelte-1x5ct6j { + color: inherit; + text-decoration: inherit +} + +button.svelte-1x5ct6j { + font-family: inherit; + font-size: 100%; + font-weight: inherit; + line-height: inherit; + color: inherit; + margin: 0; + padding: 0 +} + +button.svelte-1x5ct6j { + text-transform: none +} + +button.svelte-1x5ct6j { + -webkit-appearance: button; + background-color: transparent; + background-image: none +} + +.svelte-1x5ct6j:-moz-focusring { + outline: auto +} + +.svelte-1x5ct6j:-moz-ui-invalid { + box-shadow: none +} + +.svelte-1x5ct6j::-webkit-inner-spin-button, +.svelte-1x5ct6j::-webkit-outer-spin-button { + height: auto +} + +.svelte-1x5ct6j::-webkit-search-decoration { + -webkit-appearance: none +} + +.svelte-1x5ct6j::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +p.svelte-1x5ct6j { + margin: 0 +} + +button.svelte-1x5ct6j { + cursor: pointer +} + +.svelte-1x5ct6j:disabled { + cursor: default +} + +img.svelte-1x5ct6j { + display: block; + vertical-align: middle +} + +img.svelte-1x5ct6j { + max-width: 100%; + height: auto +} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +.svelte-1x5ct6j::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +@media(min-width: 640px) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 1536px) {} + +.absolute.svelte-1x5ct6j { + position: absolute +} + +.relative.svelte-1x5ct6j { + position: relative +} + +.z-10.svelte-1x5ct6j { + z-index: 10 +} + +.my-4.svelte-1x5ct6j { + margin-top: 1rem; + margin-bottom: 1rem +} + +.mb-3.svelte-1x5ct6j { + margin-bottom: 0.75rem +} + +.ml-5.svelte-1x5ct6j { + margin-left: 1.25rem +} + +.mt-10.svelte-1x5ct6j { + margin-top: 2.5rem +} + +.mt-1.svelte-1x5ct6j { + margin-top: 0.25rem +} + +.block.svelte-1x5ct6j { + display: block +} + +.flex.svelte-1x5ct6j { + display: flex +} + +.h-8.svelte-1x5ct6j { + height: 2rem +} + +.h-12.svelte-1x5ct6j { + height: 3rem +} + +.max-h-64.svelte-1x5ct6j { + max-height: 16rem +} + +.w-full.svelte-1x5ct6j { + width: 100% +} + +.w-8.svelte-1x5ct6j { + width: 2rem +} + +.w-12.svelte-1x5ct6j { + width: 3rem +} + +.min-w-fit.svelte-1x5ct6j { + min-width: -moz-fit-content; + min-width: fit-content +} + +.cursor-pointer.svelte-1x5ct6j { + cursor: pointer +} + +.flex-row.svelte-1x5ct6j { + flex-direction: row +} + +.flex-row-reverse.svelte-1x5ct6j { + flex-direction: row-reverse +} + +.flex-col.svelte-1x5ct6j { + flex-direction: column +} + +.items-center.svelte-1x5ct6j { + align-items: center +} + +.items-stretch.svelte-1x5ct6j { + align-items: stretch +} + +.justify-center.svelte-1x5ct6j { + justify-content: center +} + +.justify-between.svelte-1x5ct6j { + justify-content: space-between +} + +.gap-4.svelte-1x5ct6j { + gap: 1rem +} + +.gap-2.svelte-1x5ct6j { + gap: 0.5rem +} + +.gap-3.svelte-1x5ct6j { + gap: 0.75rem +} + +.overflow-auto.svelte-1x5ct6j { + overflow: auto +} + +.overflow-hidden.svelte-1x5ct6j { + overflow: hidden +} + +.overflow-clip.svelte-1x5ct6j { + overflow: clip +} + +.text-ellipsis.svelte-1x5ct6j { + text-overflow: ellipsis +} + +.text-clip.svelte-1x5ct6j { + text-overflow: clip +} + +.whitespace-nowrap.svelte-1x5ct6j { + white-space: nowrap +} + +.rounded-full.svelte-1x5ct6j { + border-radius: 9999px +} + +.rounded-2xl.svelte-1x5ct6j { + border-radius: 1rem +} + +.rounded-t-xl.svelte-1x5ct6j { + border-top-left-radius: 0.75rem; + border-top-right-radius: 0.75rem +} + +.border.svelte-1x5ct6j { + border-width: 1px +} + +.border-2.svelte-1x5ct6j { + border-width: 2px +} + +.border-l.svelte-1x5ct6j { + border-left-width: 1px +} + +.border-gray-200.svelte-1x5ct6j { + --tw-border-opacity: 1; + border-color: rgb(229 231 235 / var(--tw-border-opacity)) +} + +.border-slate-200.svelte-1x5ct6j { + --tw-border-opacity: 1; + border-color: rgb(226 232 240 / var(--tw-border-opacity)) +} + +.border-l-gray-400.svelte-1x5ct6j { + --tw-border-opacity: 1; + border-left-color: rgb(156 163 175 / var(--tw-border-opacity)) +} + +.bg-purple-700.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(126 34 206 / var(--tw-bg-opacity)) +} + +.bg-white.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)) +} + +.bg-orange-500.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(249 115 22 / var(--tw-bg-opacity)) +} + +.bg-black.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity)) +} + +.p-3.svelte-1x5ct6j { + padding: 0.75rem +} + +.p-4.svelte-1x5ct6j { + padding: 1rem +} + +.py-2.svelte-1x5ct6j { + padding-top: 0.5rem; + padding-bottom: 0.5rem +} + +.pl-5.svelte-1x5ct6j { + padding-left: 1.25rem +} + +.text-center.svelte-1x5ct6j { + text-align: center +} + +.text-xs.svelte-1x5ct6j { + font-size: 0.75rem; + line-height: 1rem +} + +.text-xl.svelte-1x5ct6j { + font-size: 1.25rem; + line-height: 1.75rem +} + +.text-base.svelte-1x5ct6j { + font-size: 1rem; + line-height: 1.5rem +} + +.font-semibold.svelte-1x5ct6j { + font-weight: 600 +} + +.text-white.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)) +} + +.text-gray-400.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(156 163 175 / var(--tw-text-opacity)) +} + +.text-orange-500.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(249 115 22 / var(--tw-text-opacity)) +} + +.text-gray-900.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(17 24 39 / var(--tw-text-opacity)) +} + +.text-purple-500.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(168 85 247 / var(--tw-text-opacity)) +} + +.opacity-100.svelte-1x5ct6j { + opacity: 1 +} + +.opacity-10.svelte-1x5ct6j { + opacity: 0.1 +} + +.shadow-sm.svelte-1x5ct6j { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.ring-4.svelte-1x5ct6j { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) +} + +.ring-purple-700.svelte-1x5ct6j { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(126 34 206 / var(--tw-ring-opacity)) +} + +.drop-shadow-xl.svelte-1x5ct6j { + --tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08)); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) +} + +.hover\:bg-orange-500.svelte-1x5ct6j:hover { + --tw-bg-opacity: 1; + background-color: rgb(249 115 22 / var(--tw-bg-opacity)) +} + +.hover\:bg-slate-100.svelte-1x5ct6j:hover { + --tw-bg-opacity: 1; + background-color: rgb(241 245 249 / var(--tw-bg-opacity)) +} + +.hover\:opacity-100.svelte-1x5ct6j:hover { + opacity: 1 +} + +@media(prefers-color-scheme: dark) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + box-sizing: border-box; + border-width: 0; + border-style: solid; + border-color: #e5e7eb +} + +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-content: '' +} + +h1.svelte-1x5ct6j { + font-size: inherit; + font-weight: inherit +} + +a.svelte-1x5ct6j { + color: inherit; + text-decoration: inherit +} + +b.svelte-1x5ct6j { + font-weight: bolder +} + +button.svelte-1x5ct6j, +textarea.svelte-1x5ct6j { + font-family: inherit; + font-size: 100%; + font-weight: inherit; + line-height: inherit; + color: inherit; + margin: 0; + padding: 0 +} + +button.svelte-1x5ct6j { + text-transform: none +} + +button.svelte-1x5ct6j, +[type='button'].svelte-1x5ct6j { + -webkit-appearance: button; + background-color: transparent; + background-image: none +} + +.svelte-1x5ct6j:-moz-focusring { + outline: auto +} + +.svelte-1x5ct6j:-moz-ui-invalid { + box-shadow: none +} + +.svelte-1x5ct6j::-webkit-inner-spin-button, +.svelte-1x5ct6j::-webkit-outer-spin-button { + height: auto +} + +.svelte-1x5ct6j::-webkit-search-decoration { + -webkit-appearance: none +} + +.svelte-1x5ct6j::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +h1.svelte-1x5ct6j { + margin: 0 +} + +textarea.svelte-1x5ct6j { + resize: vertical +} + +textarea.svelte-1x5ct6j::-moz-placeholder { + opacity: 1; + color: #9ca3af +} + +textarea.svelte-1x5ct6j::placeholder { + opacity: 1; + color: #9ca3af +} + +button.svelte-1x5ct6j { + cursor: pointer +} + +.svelte-1x5ct6j:disabled { + cursor: default +} + +svg.svelte-1x5ct6j { + display: block; + vertical-align: middle +} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +.svelte-1x5ct6j::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +@media(min-width: 640px) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 1536px) {} + +.-mx-4.svelte-1x5ct6j { + margin-left: -1rem; + margin-right: -1rem +} + +.my-2.svelte-1x5ct6j { + margin-top: 0.5rem; + margin-bottom: 0.5rem +} + +.-mx-1.svelte-1x5ct6j { + margin-left: -0.25rem; + margin-right: -0.25rem +} + +.-mt-5.svelte-1x5ct6j { + margin-top: -1.25rem +} + +.mb-3.svelte-1x5ct6j { + margin-bottom: 0.75rem +} + +.mt-2.svelte-1x5ct6j { + margin-top: 0.5rem +} + +.ml-2.svelte-1x5ct6j { + margin-left: 0.5rem +} + +.-mb-2.svelte-1x5ct6j { + margin-bottom: -0.5rem +} + +.inline-block.svelte-1x5ct6j { + display: inline-block +} + +.flex.svelte-1x5ct6j { + display: flex +} + +.inline-flex.svelte-1x5ct6j { + display: inline-flex +} + +.h-2.svelte-1x5ct6j { + height: 0.5rem +} + +.h-6.svelte-1x5ct6j { + height: 1.5rem +} + +.w-2.svelte-1x5ct6j { + width: 0.5rem +} + +.w-6.svelte-1x5ct6j { + width: 1.5rem +} + +.w-full.svelte-1x5ct6j { + width: 100% +} + +.rotate-90.svelte-1x5ct6j { + --tw-rotate: 90deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) +} + +.resize-none.svelte-1x5ct6j { + resize: none +} + +.flex-row.svelte-1x5ct6j { + flex-direction: row +} + +.flex-col.svelte-1x5ct6j { + flex-direction: column +} + +.items-end.svelte-1x5ct6j { + align-items: flex-end +} + +.items-center.svelte-1x5ct6j { + align-items: center +} + +.justify-between.svelte-1x5ct6j { + justify-content: space-between +} + +.gap-1.svelte-1x5ct6j { + gap: 0.25rem +} + +.gap-4.svelte-1x5ct6j { + gap: 1rem +} + +.gap-2.svelte-1x5ct6j { + gap: 0.5rem +} + +.overflow-auto.svelte-1x5ct6j { + overflow: auto +} + +.overflow-hidden.svelte-1x5ct6j { + overflow: hidden +} + +.overflow-clip.svelte-1x5ct6j { + overflow: clip +} + +.text-ellipsis.svelte-1x5ct6j { + text-overflow: ellipsis +} + +.whitespace-nowrap.svelte-1x5ct6j { + white-space: nowrap +} + +.rounded-full.svelte-1x5ct6j { + border-radius: 9999px +} + +.rounded-xl.svelte-1x5ct6j { + border-radius: 0.75rem +} + +.border.svelte-1x5ct6j { + border-width: 1px +} + +.border-y.svelte-1x5ct6j { + border-top-width: 1px; + border-bottom-width: 1px +} + +.border-transparent.svelte-1x5ct6j { + border-color: transparent +} + +.border-y-slate-200.svelte-1x5ct6j { + --tw-border-opacity: 1; + border-top-color: rgb(226 232 240 / var(--tw-border-opacity)); + border-bottom-color: rgb(226 232 240 / var(--tw-border-opacity)) +} + +.bg-purple-700.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(126 34 206 / var(--tw-bg-opacity)) +} + +.bg-green-500.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(34 197 94 / var(--tw-bg-opacity)) +} + +.bg-gray-300.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(209 213 219 / var(--tw-bg-opacity)) +} + +.bg-slate-100.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(241 245 249 / var(--tw-bg-opacity)) +} + +.p-2.svelte-1x5ct6j { + padding: 0.5rem +} + +.p-3.svelte-1x5ct6j { + padding: 0.75rem +} + +.px-4.svelte-1x5ct6j { + padding-left: 1rem; + padding-right: 1rem +} + +.py-3.svelte-1x5ct6j { + padding-top: 0.75rem; + padding-bottom: 0.75rem +} + +.py-2.svelte-1x5ct6j { + padding-top: 0.5rem; + padding-bottom: 0.5rem +} + +.text-lg.svelte-1x5ct6j { + font-size: 1.125rem; + line-height: 1.75rem +} + +.text-xs.svelte-1x5ct6j { + font-size: 0.75rem; + line-height: 1rem +} + +.text-sm.svelte-1x5ct6j { + font-size: 0.875rem; + line-height: 1.25rem +} + +.font-semibold.svelte-1x5ct6j { + font-weight: 600 +} + +.text-white.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)) +} + +.text-gray-200.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(229 231 235 / var(--tw-text-opacity)) +} + +.text-black.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)) +} + +.text-gray-600.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity)) +} + +.shadow-sm.svelte-1x5ct6j { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.hover\:bg-purple-600.svelte-1x5ct6j:hover { + --tw-bg-opacity: 1; + background-color: rgb(147 51 234 / var(--tw-bg-opacity)) +} + +.focus\:outline-none.svelte-1x5ct6j:focus { + outline: 2px solid transparent; + outline-offset: 2px +} + +.focus\:ring-2.svelte-1x5ct6j:focus { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000) +} + +.focus\:ring-purple-500.svelte-1x5ct6j:focus { + --tw-ring-opacity: 1; + --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity)) +} + +.focus\:ring-offset-2.svelte-1x5ct6j:focus { + --tw-ring-offset-width: 2px +} + +@media(prefers-color-scheme: dark) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 640px) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 1536px) {} + +@media(prefers-color-scheme: dark) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + box-sizing: border-box; + border-width: 0; + border-style: solid; + border-color: #e5e7eb +} + +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-content: '' +} + +h1.svelte-1x5ct6j { + font-size: inherit; + font-weight: inherit +} + +a.svelte-1x5ct6j { + color: inherit; + text-decoration: inherit +} + +button.svelte-1x5ct6j { + font-family: inherit; + font-size: 100%; + font-weight: inherit; + line-height: inherit; + color: inherit; + margin: 0; + padding: 0 +} + +button.svelte-1x5ct6j { + text-transform: none +} + +button.svelte-1x5ct6j { + -webkit-appearance: button; + background-color: transparent; + background-image: none +} + +.svelte-1x5ct6j:-moz-focusring { + outline: auto +} + +.svelte-1x5ct6j:-moz-ui-invalid { + box-shadow: none +} + +.svelte-1x5ct6j::-webkit-inner-spin-button, +.svelte-1x5ct6j::-webkit-outer-spin-button { + height: auto +} + +.svelte-1x5ct6j::-webkit-search-decoration { + -webkit-appearance: none +} + +.svelte-1x5ct6j::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +h1.svelte-1x5ct6j, +p.svelte-1x5ct6j { + margin: 0 +} + +button.svelte-1x5ct6j { + cursor: pointer +} + +.svelte-1x5ct6j:disabled { + cursor: default +} + +svg.svelte-1x5ct6j { + display: block; + vertical-align: middle +} + +.svelte-1x5ct6j, +.svelte-1x5ct6j::before, +.svelte-1x5ct6j::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +.svelte-1x5ct6j::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: +} + +@media(min-width: 640px) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} + +@media(min-width: 1536px) {} + +.fixed.svelte-1x5ct6j { + position: fixed +} + +.bottom-5.svelte-1x5ct6j { + bottom: 1.25rem +} + +.right-5.svelte-1x5ct6j { + right: 1.25rem +} + +.mb-3.svelte-1x5ct6j { + margin-bottom: 0.75rem +} + +.mb-5.svelte-1x5ct6j { + margin-bottom: 1.25rem +} + +.mt-3.svelte-1x5ct6j { + margin-top: 0.75rem +} + +.flex.svelte-1x5ct6j { + display: flex +} + +.hidden.svelte-1x5ct6j { + display: none +} + +.w-full.svelte-1x5ct6j { + width: 100% +} + +.w-96.svelte-1x5ct6j { + width: 24rem +} + +.max-w-screen-sm.svelte-1x5ct6j { + max-width: 640px +} + +.flex-row.svelte-1x5ct6j { + flex-direction: row +} + +.flex-col.svelte-1x5ct6j { + flex-direction: column +} + +.items-center.svelte-1x5ct6j { + align-items: center +} + +.justify-end.svelte-1x5ct6j { + justify-content: flex-end +} + +.gap-4.svelte-1x5ct6j { + gap: 1rem +} + +.self-end.svelte-1x5ct6j { + align-self: flex-end +} + +.overflow-auto.svelte-1x5ct6j { + overflow: auto +} + +.rounded-full.svelte-1x5ct6j { + border-radius: 9999px +} + +.rounded-xl.svelte-1x5ct6j { + border-radius: 0.75rem +} + +.rounded-3xl.svelte-1x5ct6j { + border-radius: 1.5rem +} + +.bg-purple-900.svelte-1x5ct6j { + --tw-bg-opacity: 1; + background-color: rgb(88 28 135 / var(--tw-bg-opacity)) +} + +.bg-white\/90.svelte-1x5ct6j { + background-color: rgb(255 255 255 / 0.9) +} + +.p-2.svelte-1x5ct6j { + padding: 0.5rem +} + +.p-5.svelte-1x5ct6j { + padding: 1.25rem +} + +.py-4.svelte-1x5ct6j { + padding-top: 1rem; + padding-bottom: 1rem +} + +.text-center.svelte-1x5ct6j { + text-align: center +} + +.font-sans.svelte-1x5ct6j { + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" +} + +.text-xl.svelte-1x5ct6j { + font-size: 1.25rem; + line-height: 1.75rem +} + +.text-2xl.svelte-1x5ct6j { + font-size: 1.5rem; + line-height: 2rem +} + +.font-semibold.svelte-1x5ct6j { + font-weight: 600 +} + +.font-bold.svelte-1x5ct6j { + font-weight: 700 +} + +.uppercase.svelte-1x5ct6j { + text-transform: uppercase +} + +.tracking-wide.svelte-1x5ct6j { + letter-spacing: 0.025em +} + +.tracking-wider.svelte-1x5ct6j { + letter-spacing: 0.05em +} + +.text-white.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)) +} + +.text-black.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)) +} + +.text-purple-700.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(126 34 206 / var(--tw-text-opacity)) +} + +.text-gray-700.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(55 65 81 / var(--tw-text-opacity)) +} + +.text-purple-300.svelte-1x5ct6j { + --tw-text-opacity: 1; + color: rgb(216 180 254 / var(--tw-text-opacity)) +} + +.shadow-2xl.svelte-1x5ct6j { + --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); + --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) +} + +.backdrop-blur-md.svelte-1x5ct6j { + --tw-backdrop-blur: blur(12px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) +} + +.backdrop-brightness-150.svelte-1x5ct6j { + --tw-backdrop-brightness: brightness(1.5); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) +} + +.hover\:bg-purple-700.svelte-1x5ct6j:hover { + --tw-bg-opacity: 1; + background-color: rgb(126 34 206 / var(--tw-bg-opacity)) +} + +@media(prefers-color-scheme: dark) {} + +@media(min-width: 768px) {} + +@media(min-width: 1024px) {} + +@media(min-width: 1280px) {} \ No newline at end of file diff --git a/index.html b/index.html index 3a23464..8a4c5ad 100644 --- a/index.html +++ b/index.html @@ -1,363 +1,835 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - + + + + - - - - - - - + + + + + + + - Flash | Global Cash - - -
-
- - - - -
-
- -
- -
- - -
- -
- + - -
-
+
+ +
+ +
-
-

Be Your Own Bank

-

Made with convenience and ease of use in mind, Flash gives you the power of a bank account in the palm of your hand

-

Pay Less To Move Cash

-

Flash removes the middlemen when moving cash, lowering cost and increasing the speed of transactions

- -

No Signup Needed

-

No ID, no Mobile Number, no Email. Just download Flash and you are ready to receive cash!

-
-
-
- - - - + +
-
-
-

Flash is for Everyone

-
-

Buying, Selling, Building, Creating or Connecting - Flash can electrify whatever it is that you do in life. Earning, saving and spending, made easy

- -
-
- -
-
- -
-
- +
+ + + +
+
+
+
+

Be Your Own Bank

+

+ Made with convenience and ease of use in mind, Flash gives you + the power of a bank account in the palm of your hand +

+

Pay Less To Move Cash

+

+ Flash removes the middlemen when moving cash, lowering cost and + increasing the speed of transactions +

+ +

No Signup Needed

+

+ No ID, no Mobile Number, no Email. Just + download Flash and you are ready to + receive cash! +

-
- +
+
+ + + + +
- - -
-
-

Flash Cash

-

Send and receive cash instantly for free

- bitcoin in a popcorn bag +
+
+

Flash is for Everyone

+
+

+ Buying, Selling, Building, Creating or Connecting - Flash can + electrify whatever it is that you do in life. Earning, saving and + spending, made easy +

+ +
+
+ +
+
+ +
+
+ +
+
+ +
-
-

Flash Pay

-

Start accepting payment in seconds on any device

- bitcoin in a bucket + + +
+
+

Flash Cash

+

Send and receive cash instantly and for free

+ bitcoin in a popcorn bag +
+
+

Flash Pay

+

+ Start accepting payment in seconds on any internet connected + device +

+ bitcoin in a bucket +
+
+

Flash Business

+

Add a cash-in and cash-out point to your business

+ bitcoin in a safe +
-
-

Flash Business

-

Add a cash-in and cash-out point to your business

- bitcoin in a safe + + +
+
+

+ Touch one of the boxes above to learn more about the many + features of Flash +

+
+
- -
-
-

Select one of the boxes to learn more about the many features of Flash

+
+
+ + + +
+ +
+
+
+
+

+ Flash Bang + +
+ banga icon +
+

+ +

+ If you have a banga phone (feature phone), you can use + Flash Bang, our text message + service that lets you send and receive eCash, and cash-out at + any Flash location. No internet connection required! +

+

Global Linkage

+

+ Flash is partnered with + Machankura, giving you the ability to send and receive Bitcoin from + multiple African countries that support Bitcoin over the + SMS/USSD network. Connect your banga phone globally with Flash! +

+
+
+
+ + + + +
-
-
- + + - -
-
-
- + +
+
+
+ - -
-
-
-
- - -
- - -

Contact Us

-
- -
-
- - - - - - - - -
- + +
+
+
+
+ + +
+ + +

Stay Updated

+
+ + - -
- +
+ - -
- - -
-
- - - -
-
- + +
+ + +
-
-
- -
+ - + + + + + + + + + + + + + + - - - - - - - - - - - - - - \ No newline at end of file + + + + + + diff --git a/js/chat.js b/js/chat.js new file mode 100644 index 0000000..610c5b6 --- /dev/null +++ b/js/chat.js @@ -0,0 +1,2135 @@ +(function(){"use strict";function noop(){}function assign(tar,src){for(const k in src)tar[k]=src[k];return tar}function run(fn){return fn()}function blank_object(){return Object.create(null)}function run_all(fns){fns.forEach(run)}function is_function(thing){return typeof thing==="function"}function safe_not_equal(a,b){return a!=a?b==b:a!==b||a&&typeof a==="object"||typeof a==="function"}let src_url_equal_anchor;function src_url_equal(element_src,url){if(!src_url_equal_anchor){src_url_equal_anchor=document.createElement("a")}src_url_equal_anchor.href=url;return element_src===src_url_equal_anchor.href}function is_empty(obj){return Object.keys(obj).length===0}function subscribe(store,...callbacks){if(store==null){return noop}const unsub=store.subscribe(...callbacks);return unsub.unsubscribe?()=>unsub.unsubscribe():unsub}function component_subscribe(component,store,callback){component.$$.on_destroy.push(subscribe(store,callback))}function set_store_value(store,ret,value){store.set(value);return ret}const is_client=typeof window!=="undefined";let now$1=is_client?()=>window.performance.now():()=>Date.now();let raf=is_client?cb=>requestAnimationFrame(cb):noop;const tasks=new Set;function run_tasks(now){tasks.forEach(task=>{if(!task.c(now)){tasks.delete(task);task.f()}});if(tasks.size!==0)raf(run_tasks)}function loop(callback){let task;if(tasks.size===0)raf(run_tasks);return{promise:new Promise(fulfill=>{tasks.add(task={c:callback,f:fulfill})}),abort(){tasks.delete(task)}}}function append(target,node){target.appendChild(node)}function insert(target,node,anchor){target.insertBefore(node,anchor||null)}function detach(node){if(node.parentNode){node.parentNode.removeChild(node)}}function destroy_each(iterations,detaching){for(let i=0;inode.removeEventListener(event,handler,options)}function prevent_default(fn){return function(event){event.preventDefault();return fn.call(this,event)}}function attr(node,attribute,value){if(value==null)node.removeAttribute(attribute);else if(node.getAttribute(attribute)!==value)node.setAttribute(attribute,value)}function set_svg_attributes(node,attributes){for(const key in attributes){attr(node,key,attributes[key])}}function children(element){return Array.from(element.childNodes)}function set_data(text,data){data=""+data;if(text.wholeText!==data)text.data=data}function set_style(node,key,value,important){if(value===null){node.style.removeProperty(key)}else{node.style.setProperty(key,value,important?"important":"")}}function toggle_class(element,name,toggle){element.classList[toggle?"add":"remove"](name)}let current_component;function set_current_component(component){current_component=component}function get_current_component(){if(!current_component)throw new Error("Function called outside component initialization");return current_component}function onMount(fn){get_current_component().$$.on_mount.push(fn)}function afterUpdate(fn){get_current_component().$$.after_update.push(fn)}const dirty_components=[];const binding_callbacks=[];const render_callbacks=[];const flush_callbacks=[];const resolved_promise=Promise.resolve();let update_scheduled=false;function schedule_update(){if(!update_scheduled){update_scheduled=true;resolved_promise.then(flush)}}function add_render_callback(fn){render_callbacks.push(fn)}function add_flush_callback(fn){flush_callbacks.push(fn)}const seen_callbacks=new Set;let flushidx=0;function flush(){if(flushidx!==0){return}const saved_component=current_component;do{try{while(flushidx{outroing.delete(block);if(callback){if(detach)block.d(1);callback()}});block.o(local)}else if(callback){callback()}}function get_spread_update(levels,updates){const update={};const to_null_out={};const accounted_for={$$scope:1};let i=levels.length;while(i--){const o=levels[i];const n=updates[i];if(n){for(const key in o){if(!(key in n))to_null_out[key]=1}for(const key in n){if(!accounted_for[key]){update[key]=n[key];accounted_for[key]=1}}levels[i]=n}else{for(const key in o){accounted_for[key]=1}}}for(const key in to_null_out){if(!(key in update))update[key]=undefined}return update}function bind(component,name,callback){const index=component.$$.props[name];if(index!==undefined){component.$$.bound[index]=callback;callback(component.$$.ctx[index])}}function create_component(block){block&&block.c()}function mount_component(component,target,anchor,customElement){const{fragment,after_update}=component.$$;fragment&&fragment.m(target,anchor);if(!customElement){add_render_callback(()=>{const new_on_destroy=component.$$.on_mount.map(run).filter(is_function);if(component.$$.on_destroy){component.$$.on_destroy.push(...new_on_destroy)}else{run_all(new_on_destroy)}component.$$.on_mount=[]})}after_update.forEach(add_render_callback)}function destroy_component(component,detaching){const $$=component.$$;if($$.fragment!==null){run_all($$.on_destroy);$$.fragment&&$$.fragment.d(detaching);$$.on_destroy=$$.fragment=null;$$.ctx=[]}}function make_dirty(component,i){if(component.$$.dirty[0]===-1){dirty_components.push(component);schedule_update();component.$$.dirty.fill(0)}component.$$.dirty[i/31|0]|=1<{const value=rest.length?rest[0]:ret;if($$.ctx&¬_equal($$.ctx[i],$$.ctx[i]=value)){if(!$$.skip_bound&&$$.bound[i])$$.bound[i](value);if(ready)make_dirty(component,i)}return ret}):[];$$.update();ready=true;run_all($$.before_update);$$.fragment=create_fragment?create_fragment($$.ctx):false;if(options.target){if(options.hydrate){const nodes=children(options.target);$$.fragment&&$$.fragment.l(nodes);nodes.forEach(detach)}else{$$.fragment&&$$.fragment.c()}if(options.intro)transition_in(component.$$.fragment);mount_component(component,options.target,options.anchor,options.customElement);flush()}set_current_component(parent_component)}class SvelteComponent{$destroy(){destroy_component(this,1);this.$destroy=noop}$on(type,callback){if(!is_function(callback)){return noop}const callbacks=this.$$.callbacks[type]||(this.$$.callbacks[type]=[]);callbacks.push(callback);return()=>{const index=callbacks.indexOf(callback);if(index!==-1)callbacks.splice(index,1)}}$set($$props){if(this.$$set&&!is_empty($$props)){this.$$.skip_bound=true;this.$$set($$props);this.$$.skip_bound=false}}}const subscriber_queue=[];function writable(value,start=noop){let stop;const subscribers=new Set;function set(new_value){if(safe_not_equal(value,new_value)){value=new_value;if(stop){const run_queue=!subscriber_queue.length;for(const subscriber of subscribers){subscriber[1]();subscriber_queue.push(subscriber,value)}if(run_queue){for(let i=0;i{subscribers.delete(subscriber);if(subscribers.size===0){stop();stop=null}}}return{set:set,update:update,subscribe:subscribe}}const chatAdapter=writable(null);const chatData=writable({events:[],profiles:{}});const selectedMessage=writable(null);const zappingMessage=writable(null);const zapsPerMessage=writable({});var Mode={MODE_NUMBER:1<<0,MODE_ALPHA_NUM:1<<1,MODE_8BIT_BYTE:1<<2,MODE_KANJI:1<<3};function QR8bitByte(data){this.mode=Mode.MODE_8BIT_BYTE;this.data=data}QR8bitByte.prototype={getLength:function(){return this.data.length},write:function(buffer){for(var i=0;i>>7-index%8&1)==1},put:function(num,length){for(var i=0;i>>length-i-1&1)==1)}},getLengthInBits:function(){return this.length},putBit:function(bit){var bufIndex=Math.floor(this.length/8);if(this.buffer.length<=bufIndex){this.buffer.push(0)}if(bit){this.buffer[bufIndex]|=128>>>this.length%8}this.length++}};const QRMath={glog:function(n){if(n<1){throw new Error("glog("+n+")")}return QRMath.LOG_TABLE[n]},gexp:function(n){while(n<0){n+=255}while(n>=256){n-=255}return QRMath.EXP_TABLE[n]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(var i=0;i<8;i++){QRMath.EXP_TABLE[i]=1<=0){d^=QRUtil.G15<=0){d^=QRUtil.G18<>>=1}return digit},getPatternPosition:function(typeNumber){return QRUtil.PATTERN_POSITION_TABLE[typeNumber-1]},getMask:function(maskPattern,i,j){switch(maskPattern){case QRMaskPattern.PATTERN000:return(i+j)%2==0;case QRMaskPattern.PATTERN001:return i%2==0;case QRMaskPattern.PATTERN010:return j%3==0;case QRMaskPattern.PATTERN011:return(i+j)%3==0;case QRMaskPattern.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case QRMaskPattern.PATTERN101:return i*j%2+i*j%3==0;case QRMaskPattern.PATTERN110:return(i*j%2+i*j%3)%2==0;case QRMaskPattern.PATTERN111:return(i*j%3+(i+j)%2)%2==0;default:throw new Error("bad maskPattern:"+maskPattern)}},getErrorCorrectPolynomial:function(errorCorrectLength){var a=new QRPolynomial([1],0);for(var i=0;i5){lostPoint+=3+sameCount-5}}}for(var row=0;row=7){this.setupTypeNumber(test)}if(this.dataCache==null){this.dataCache=QRCode.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)}this.mapData(this.dataCache,maskPattern)};proto.setupPositionProbePattern=function(row,col){for(var r=-1;r<=7;r++){if(row+r<=-1||this.moduleCount<=row+r)continue;for(var c=-1;c<=7;c++){if(col+c<=-1||this.moduleCount<=col+c)continue;if(0<=r&&r<=6&&(c==0||c==6)||0<=c&&c<=6&&(r==0||r==6)||2<=r&&r<=4&&2<=c&&c<=4){this.modules[row+r][col+c]=true}else{this.modules[row+r][col+c]=false}}}};proto.getBestMaskPattern=function(){var minLostPoint=0;var pattern=0;for(var i=0;i<8;i++){this.makeImpl(true,i);var lostPoint=QRUtil.getLostPoint(this);if(i==0||minLostPoint>lostPoint){minLostPoint=lostPoint;pattern=i}}return pattern};proto.setupTimingPattern=function(){for(var r=8;r>i&1)==1;this.modules[Math.floor(i/3)][i%3+this.moduleCount-8-3]=mod}for(var i=0;i<18;i++){var mod=!test&&(bits>>i&1)==1;this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=mod}};proto.setupTypeInfo=function(test,maskPattern){var data=this.errorCorrectLevel<<3|maskPattern;var bits=QRUtil.getBCHTypeInfo(data);for(var i=0;i<15;i++){var mod=!test&&(bits>>i&1)==1;if(i<6){this.modules[i][8]=mod}else if(i<8){this.modules[i+1][8]=mod}else{this.modules[this.moduleCount-15+i][8]=mod}}for(var i=0;i<15;i++){var mod=!test&&(bits>>i&1)==1;if(i<8){this.modules[8][this.moduleCount-i-1]=mod}else if(i<9){this.modules[8][15-i-1+1]=mod}else{this.modules[8][15-i-1]=mod}}this.modules[this.moduleCount-8][8]=!test};proto.mapData=function(data,maskPattern){var inc=-1;var row=this.moduleCount-1;var bitIndex=7;var byteIndex=0;for(var col=this.moduleCount-1;col>0;col-=2){if(col==6)col--;while(true){for(var c=0;c<2;c++){if(this.modules[row][col-c]==null){var dark=false;if(byteIndex>>bitIndex&1)==1}var mask=QRUtil.getMask(maskPattern,row,col-c);if(mask){dark=!dark}this.modules[row][col-c]=dark;bitIndex--;if(bitIndex==-1){byteIndex++;bitIndex=7}}}row+=inc;if(row<0||this.moduleCount<=row){row-=inc;inc=-inc;break}}}};QRCode.PAD0=236;QRCode.PAD1=17;QRCode.createData=function(typeNumber,errorCorrectLevel,dataList){var rsBlocks=QRRSBlock.getRSBlocks(typeNumber,errorCorrectLevel);var buffer=new QRBitBuffer;for(var i=0;itotalDataCount*8){throw new Error("code length overflow. ("+buffer.getLengthInBits()+">"+totalDataCount*8+")")}if(buffer.getLengthInBits()+4<=totalDataCount*8){buffer.put(0,4)}while(buffer.getLengthInBits()%8!=0){buffer.putBit(false)}while(true){if(buffer.getLengthInBits()>=totalDataCount*8){break}buffer.put(QRCode.PAD0,8);if(buffer.getLengthInBits()>=totalDataCount*8){break}buffer.put(QRCode.PAD1,8)}return QRCode.createBytes(buffer,rsBlocks)};QRCode.createBytes=function(buffer,rsBlocks){var offset=0;var maxDcCount=0;var maxEcCount=0;var dcdata=new Array(rsBlocks.length);var ecdata=new Array(rsBlocks.length);for(var r=0;r=0?modPoly.get(modIndex):0}}var totalCodeCount=0;for(var i=0;i{if("text"in $$props)$$invalidate(2,text=$$props.text);if("level"in $$props)$$invalidate(3,level=$$props.level);if("version"in $$props)$$invalidate(4,version=$$props.version)};$$self.$$.update=()=>{if($$self.$$.dirty&28){{let qr=new QRCode(version,ErrorCorrectLevel[level]);qr.addData(text);qr.make();const rows=qr.modules;$$invalidate(0,size=rows.length);for(const[y,row]of rows.entries()){let rect;for(const[x,on]of row.entries()){if(on){if(!rect)rect={x:x,y:y,width:0,height:1};rect.width++}else{if(rect&&rect.width>0){rects.push(rect)}rect=void 0}}if(rect&&rect.width>0){rects.push(rect)}}}}};return[size,rects,text,level,version]}class QR extends SvelteComponent{constructor(options){super();init(this,options,instance$6,create_fragment$6,safe_not_equal,{text:2,level:3,version:4})}}var _nodeResolve_empty={};var nodeCrypto=Object.freeze({__proto__:null,default:_nodeResolve_empty});const _0n=BigInt(0);const _1n=BigInt(1);const _2n=BigInt(2);const _3n=BigInt(3);const _8n=BigInt(8);const CURVE=Object.freeze({a:_0n,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:_1n,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")});function weistrass(x){const{a,b}=CURVE;const x2=mod(x*x);const x3=mod(x2*x);return mod(x3+a*x+b)}const USE_ENDOMORPHISM=CURVE.a===_0n;class ShaError extends Error{constructor(message){super(message)}}class JacobianPoint{constructor(x,y,z){this.x=x;this.y=y;this.z=z}static fromAffine(p){if(!(p instanceof Point)){throw new TypeError("JacobianPoint#fromAffine: expected Point")}return new JacobianPoint(p.x,p.y,_1n)}static toAffineBatch(points){const toInv=invertBatch(points.map(p=>p.z));return points.map((p,i)=>p.toAffine(toInv[i]))}static normalizeZ(points){return JacobianPoint.toAffineBatch(points).map(JacobianPoint.fromAffine)}equals(other){if(!(other instanceof JacobianPoint))throw new TypeError("JacobianPoint expected");const{x:X1,y:Y1,z:Z1}=this;const{x:X2,y:Y2,z:Z2}=other;const Z1Z1=mod(Z1*Z1);const Z2Z2=mod(Z2*Z2);const U1=mod(X1*Z2Z2);const U2=mod(X2*Z1Z1);const S1=mod(mod(Y1*Z2)*Z2Z2);const S2=mod(mod(Y2*Z1)*Z1Z1);return U1===U2&&S1===S2}negate(){return new JacobianPoint(this.x,mod(-this.y),this.z)}double(){const{x:X1,y:Y1,z:Z1}=this;const A=mod(X1*X1);const B=mod(Y1*Y1);const C=mod(B*B);const x1b=X1+B;const D=mod(_2n*(mod(x1b*x1b)-A-C));const E=mod(_3n*A);const F=mod(E*E);const X3=mod(F-_2n*D);const Y3=mod(E*(D-X3)-_8n*C);const Z3=mod(_2n*Y1*Z1);return new JacobianPoint(X3,Y3,Z3)}add(other){if(!(other instanceof JacobianPoint))throw new TypeError("JacobianPoint expected");const{x:X1,y:Y1,z:Z1}=this;const{x:X2,y:Y2,z:Z2}=other;if(X2===_0n||Y2===_0n)return this;if(X1===_0n||Y1===_0n)return other;const Z1Z1=mod(Z1*Z1);const Z2Z2=mod(Z2*Z2);const U1=mod(X1*Z2Z2);const U2=mod(X2*Z1Z1);const S1=mod(mod(Y1*Z2)*Z2Z2);const S2=mod(mod(Y2*Z1)*Z1Z1);const H=mod(U2-U1);const r=mod(S2-S1);if(H===_0n){if(r===_0n){return this.double()}else{return JacobianPoint.ZERO}}const HH=mod(H*H);const HHH=mod(H*HH);const V=mod(U1*HH);const X3=mod(r*r-HHH-_2n*V);const Y3=mod(r*(V-X3)-S1*HHH);const Z3=mod(Z1*Z2*H);return new JacobianPoint(X3,Y3,Z3)}subtract(other){return this.add(other.negate())}multiplyUnsafe(scalar){const P0=JacobianPoint.ZERO;if(typeof scalar==="bigint"&&scalar===_0n)return P0;let n=normalizeScalar(scalar);if(n===_1n)return this;if(!USE_ENDOMORPHISM){let p=P0;let d=this;while(n>_0n){if(n&_1n)p=p.add(d);d=d.double();n>>=_1n}return p}let{k1neg,k1,k2neg,k2}=splitScalarEndo(n);let k1p=P0;let k2p=P0;let d=this;while(k1>_0n||k2>_0n){if(k1&_1n)k1p=k1p.add(d);if(k2&_1n)k2p=k2p.add(d);d=d.double();k1>>=_1n;k2>>=_1n}if(k1neg)k1p=k1p.negate();if(k2neg)k2p=k2p.negate();k2p=new JacobianPoint(mod(k2p.x*CURVE.beta),k2p.y,k2p.z);return k1p.add(k2p)}precomputeWindow(W){const windows=USE_ENDOMORPHISM?128/W+1:256/W+1;const points=[];let p=this;let base=p;for(let window=0;window>=shiftBy;if(wbits>windowSize){wbits-=maxNumber;n+=_1n}if(wbits===0){let pr=precomputes[offset];if(window%2)pr=pr.negate();f=f.add(pr)}else{let cached=precomputes[offset+Math.abs(wbits)-1];if(wbits<0)cached=cached.negate();p=p.add(cached)}}return{p:p,f:f}}multiply(scalar,affinePoint){let n=normalizeScalar(scalar);let point;let fake;if(USE_ENDOMORPHISM){const{k1neg,k1,k2neg,k2}=splitScalarEndo(n);let{p:k1p,f:f1p}=this.wNAF(k1,affinePoint);let{p:k2p,f:f2p}=this.wNAF(k2,affinePoint);if(k1neg)k1p=k1p.negate();if(k2neg)k2p=k2p.negate();k2p=new JacobianPoint(mod(k2p.x*CURVE.beta),k2p.y,k2p.z);point=k1p.add(k2p);fake=f1p.add(f2p)}else{const{p,f}=this.wNAF(n,affinePoint);point=p;fake=f}return JacobianPoint.normalizeZ([point,fake])[0]}toAffine(invZ=invert(this.z)){const{x,y,z}=this;const iz1=invZ;const iz2=mod(iz1*iz1);const iz3=mod(iz2*iz1);const ax=mod(x*iz2);const ay=mod(y*iz3);const zz=mod(z*iz1);if(zz!==_1n)throw new Error("invZ was invalid");return new Point(ax,ay)}}JacobianPoint.BASE=new JacobianPoint(CURVE.Gx,CURVE.Gy,_1n);JacobianPoint.ZERO=new JacobianPoint(_0n,_1n,_0n);const pointPrecomputes=new WeakMap;class Point{constructor(x,y){this.x=x;this.y=y}_setWindowSize(windowSize){this._WINDOW_SIZE=windowSize;pointPrecomputes.delete(this)}hasEvenY(){return this.y%_2n===_0n}static fromCompressedHex(bytes){const isShort=bytes.length===32;const x=bytesToNumber$1(isShort?bytes:bytes.subarray(1));if(!isValidFieldElement(x))throw new Error("Point is not on curve");const y2=weistrass(x);let y=sqrtMod(y2);const isYOdd=(y&_1n)===_1n;if(isShort){if(isYOdd)y=mod(-y)}else{const isFirstByteOdd=(bytes[0]&1)===1;if(isFirstByteOdd!==isYOdd)y=mod(-y)}const point=new Point(x,y);point.assertValidity();return point}static fromUncompressedHex(bytes){const x=bytesToNumber$1(bytes.subarray(1,33));const y=bytesToNumber$1(bytes.subarray(33,65));const point=new Point(x,y);point.assertValidity();return point}static fromHex(hex){const bytes=ensureBytes(hex);const len=bytes.length;const header=bytes[0];if(len===32||len===33&&(header===2||header===3)){return this.fromCompressedHex(bytes)}if(len===65&&header===4)return this.fromUncompressedHex(bytes);throw new Error(`Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not ${len}`)}static fromPrivateKey(privateKey){return Point.BASE.multiply(normalizePrivateKey(privateKey))}static fromSignature(msgHash,signature,recovery){msgHash=ensureBytes(msgHash);const h=truncateHash(msgHash);const{r,s}=normalizeSignature(signature);if(recovery!==0&&recovery!==1){throw new Error("Cannot recover signature: invalid recovery bit")}const prefix=recovery&1?"03":"02";const R=Point.fromHex(prefix+numTo32bStr(r));const{n}=CURVE;const rinv=invert(r,n);const u1=mod(-h*rinv,n);const u2=mod(s*rinv,n);const Q=Point.BASE.multiplyAndAddUnsafe(R,u1,u2);if(!Q)throw new Error("Cannot recover signature: point at infinify");Q.assertValidity();return Q}toRawBytes(isCompressed=false){return hexToBytes$1(this.toHex(isCompressed))}toHex(isCompressed=false){const x=numTo32bStr(this.x);if(isCompressed){const prefix=this.hasEvenY()?"02":"03";return`${prefix}${x}`}else{return`04${x}${numTo32bStr(this.y)}`}}toHexX(){return this.toHex(true).slice(2)}toRawX(){return this.toRawBytes(true).slice(1)}assertValidity(){const msg="Point is not on elliptic curve";const{x,y}=this;if(!isValidFieldElement(x)||!isValidFieldElement(y))throw new Error(msg);const left=mod(y*y);const right=weistrass(x);if(mod(left-right)!==_0n)throw new Error(msg)}equals(other){return this.x===other.x&&this.y===other.y}negate(){return new Point(this.x,mod(-this.y))}double(){return JacobianPoint.fromAffine(this).double().toAffine()}add(other){return JacobianPoint.fromAffine(this).add(JacobianPoint.fromAffine(other)).toAffine()}subtract(other){return this.add(other.negate())}multiply(scalar){return JacobianPoint.fromAffine(this).multiply(scalar,this).toAffine()}multiplyAndAddUnsafe(Q,a,b){const P=JacobianPoint.fromAffine(this);const aP=a===_0n||a===_1n||this!==Point.BASE?P.multiplyUnsafe(a):P.multiply(a);const bQ=JacobianPoint.fromAffine(Q).multiplyUnsafe(b);const sum=aP.add(bQ);return sum.equals(JacobianPoint.ZERO)?undefined:sum.toAffine()}}Point.BASE=new Point(CURVE.Gx,CURVE.Gy);Point.ZERO=new Point(_0n,_0n);function sliceDER(s){return Number.parseInt(s[0],16)>=8?"00"+s:s}function parseDERInt(data){if(data.length<2||data[0]!==2){throw new Error(`Invalid signature integer tag: ${bytesToHex$1(data)}`)}const len=data[1];const res=data.subarray(2,len+2);if(!len||res.length!==len){throw new Error(`Invalid signature integer: wrong length`)}if(res[0]===0&&res[1]<=127){throw new Error("Invalid signature integer: trailing length")}return{data:bytesToNumber$1(res),left:data.subarray(len+2)}}function parseDERSignature(data){if(data.length<2||data[0]!=48){throw new Error(`Invalid signature tag: ${bytesToHex$1(data)}`)}if(data[1]!==data.length-2){throw new Error("Invalid signature: incorrect length")}const{data:r,left:sBytes}=parseDERInt(data.subarray(2));const{data:s,left:rBytesLeft}=parseDERInt(sBytes);if(rBytesLeft.length){throw new Error(`Invalid signature: left bytes after parsing: ${bytesToHex$1(rBytesLeft)}`)}return{r:r,s:s}}class Signature{constructor(r,s){this.r=r;this.s=s;this.assertValidity()}static fromCompact(hex){const arr=hex instanceof Uint8Array;const name="Signature.fromCompact";if(typeof hex!=="string"&&!arr)throw new TypeError(`${name}: Expected string or Uint8Array`);const str=arr?bytesToHex$1(hex):hex;if(str.length!==128)throw new Error(`${name}: Expected 64-byte hex`);return new Signature(hexToNumber(str.slice(0,64)),hexToNumber(str.slice(64,128)))}static fromDER(hex){const arr=hex instanceof Uint8Array;if(typeof hex!=="string"&&!arr)throw new TypeError(`Signature.fromDER: Expected string or Uint8Array`);const{r,s}=parseDERSignature(arr?hex:hexToBytes$1(hex));return new Signature(r,s)}static fromHex(hex){return this.fromDER(hex)}assertValidity(){const{r,s}=this;if(!isWithinCurveOrder(r))throw new Error("Invalid Signature: r must be 0 < r < n");if(!isWithinCurveOrder(s))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const HALF=CURVE.n>>_1n;return this.s>HALF}normalizeS(){return this.hasHighS()?new Signature(this.r,CURVE.n-this.s):this}toDERRawBytes(isCompressed=false){return hexToBytes$1(this.toDERHex(isCompressed))}toDERHex(isCompressed=false){const sHex=sliceDER(numberToHexUnpadded(this.s));if(isCompressed)return sHex;const rHex=sliceDER(numberToHexUnpadded(this.r));const rLen=numberToHexUnpadded(rHex.length/2);const sLen=numberToHexUnpadded(sHex.length/2);const length=numberToHexUnpadded(rHex.length/2+sHex.length/2+4);return`30${length}02${rLen}${rHex}02${sLen}${sHex}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return hexToBytes$1(this.toCompactHex())}toCompactHex(){return numTo32bStr(this.r)+numTo32bStr(this.s)}}function concatBytes$1(...arrays){if(!arrays.every(b=>b instanceof Uint8Array))throw new Error("Uint8Array list expected");if(arrays.length===1)return arrays[0];const length=arrays.reduce((a,arr)=>a+arr.length,0);const result=new Uint8Array(length);for(let i=0,pad=0;ii.toString(16).padStart(2,"0"));function bytesToHex$1(uint8a){if(!(uint8a instanceof Uint8Array))throw new Error("Expected Uint8Array");let hex="";for(let i=0;i0)return BigInt(num);if(typeof num==="bigint"&&isWithinCurveOrder(num))return num;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function mod(a,b=CURVE.P){const result=a%b;return result>=_0n?result:b+result}function pow2(x,power){const{P}=CURVE;let res=x;while(power-- >_0n){res*=res;res%=P}return res}function sqrtMod(x){const{P}=CURVE;const _6n=BigInt(6);const _11n=BigInt(11);const _22n=BigInt(22);const _23n=BigInt(23);const _44n=BigInt(44);const _88n=BigInt(88);const b2=x*x*x%P;const b3=b2*b2*x%P;const b6=pow2(b3,_3n)*b3%P;const b9=pow2(b6,_3n)*b3%P;const b11=pow2(b9,_2n)*b2%P;const b22=pow2(b11,_11n)*b11%P;const b44=pow2(b22,_22n)*b22%P;const b88=pow2(b44,_44n)*b44%P;const b176=pow2(b88,_88n)*b88%P;const b220=pow2(b176,_44n)*b44%P;const b223=pow2(b220,_3n)*b3%P;const t1=pow2(b223,_23n)*b22%P;const t2=pow2(t1,_6n)*b2%P;return pow2(t2,_2n)}function invert(number,modulo=CURVE.P){if(number===_0n||modulo<=_0n){throw new Error(`invert: expected positive integers, got n=${number} mod=${modulo}`)}let a=mod(number,modulo);let b=modulo;let x=_0n,u=_1n;while(a!==_0n){const q=b/a;const r=b%a;const m=x-u*q;b=a,a=r,x=u,u=m}const gcd=b;if(gcd!==_1n)throw new Error("invert: does not exist");return mod(x,modulo)}function invertBatch(nums,p=CURVE.P){const scratch=new Array(nums.length);const lastMultiplied=nums.reduce((acc,num,i)=>{if(num===_0n)return acc;scratch[i]=acc;return mod(acc*num,p)},_1n);const inverted=invert(lastMultiplied,p);nums.reduceRight((acc,num,i)=>{if(num===_0n)return acc;scratch[i]=mod(acc*scratch[i],p);return mod(acc*num,p)},inverted);return scratch}const divNearest=(a,b)=>(a+b/_2n)/b;const ENDO={a1:BigInt("0x3086d221a7d46bcde86c90e49284eb15"),b1:-_1n*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),a2:BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),b2:BigInt("0x3086d221a7d46bcde86c90e49284eb15"),POW_2_128:BigInt("0x100000000000000000000000000000000")};function splitScalarEndo(k){const{n}=CURVE;const{a1,b1,a2,b2,POW_2_128}=ENDO;const c1=divNearest(b2*k,n);const c2=divNearest(-b1*k,n);let k1=mod(k-c1*a1-c2*a2,n);let k2=mod(-c1*b1-c2*b2,n);const k1neg=k1>POW_2_128;const k2neg=k2>POW_2_128;if(k1neg)k1=n-k1;if(k2neg)k2=n-k2;if(k1>POW_2_128||k2>POW_2_128){throw new Error("splitScalarEndo: Endomorphism failed, k="+k)}return{k1neg:k1neg,k1:k1,k2neg:k2neg,k2:k2}}function truncateHash(hash){const{n}=CURVE;const byteLength=hash.length;const delta=byteLength*8-256;let h=bytesToNumber$1(hash);if(delta>0)h=h>>BigInt(delta);if(h>=n)h-=n;return h}let _sha256Sync;let _hmacSha256Sync;class HmacDrbg{constructor(){this.v=new Uint8Array(32).fill(1);this.k=new Uint8Array(32).fill(0);this.counter=0}hmac(...values){return utils$1.hmacSha256(this.k,...values)}hmacSync(...values){return _hmacSha256Sync(this.k,...values)}checkSync(){if(typeof _hmacSha256Sync!=="function")throw new ShaError("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(seed=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),seed);this.v=await this.hmac(this.v);if(seed.length===0)return;this.k=await this.hmac(this.v,Uint8Array.from([1]),seed);this.v=await this.hmac(this.v)}reseedSync(seed=new Uint8Array){this.checkSync();this.k=this.hmacSync(this.v,Uint8Array.from([0]),seed);this.v=this.hmacSync(this.v);if(seed.length===0)return;this.k=this.hmacSync(this.v,Uint8Array.from([1]),seed);this.v=this.hmacSync(this.v)}async generate(){this.incr();this.v=await this.hmac(this.v);return this.v}generateSync(){this.checkSync();this.incr();this.v=this.hmacSync(this.v);return this.v}}function isWithinCurveOrder(num){return _0n0){num=BigInt(key)}else if(typeof key==="string"){if(key.length!==64)throw new Error("Expected 32 bytes of private key");num=hexToNumber(key)}else if(key instanceof Uint8Array){if(key.length!==32)throw new Error("Expected 32 bytes of private key");num=bytesToNumber$1(key)}else{throw new TypeError("Expected valid private key")}if(!isWithinCurveOrder(num))throw new Error("Expected private key: 0 < key < n");return num}function normalizePublicKey(publicKey){if(publicKey instanceof Point){publicKey.assertValidity();return publicKey}else{return Point.fromHex(publicKey)}}function normalizeSignature(signature){if(signature instanceof Signature){signature.assertValidity();return signature}try{return Signature.fromDER(signature)}catch(error){return Signature.fromCompact(signature)}}function getPublicKey$1(privateKey,isCompressed=false){return Point.fromPrivateKey(privateKey).toRawBytes(isCompressed)}function isProbPub(item){const arr=item instanceof Uint8Array;const str=typeof item==="string";const len=(arr||str)&&item.length;if(arr)return len===33||len===65;if(str)return len===66||len===130;if(item instanceof Point)return true;return false}function getSharedSecret(privateA,publicB,isCompressed=false){if(isProbPub(privateA))throw new TypeError("getSharedSecret: first arg must be private key");if(!isProbPub(publicB))throw new TypeError("getSharedSecret: second arg must be public key");const b=normalizePublicKey(publicB);b.assertValidity();return b.multiply(normalizePrivateKey(privateA)).toRawBytes(isCompressed)}function bits2int(bytes){const slice=bytes.length>32?bytes.slice(0,32):bytes;return bytesToNumber$1(slice)}function bits2octets(bytes){const z1=bits2int(bytes);const z2=mod(z1,CURVE.n);return int2octets(z2<_0n?z1:z2)}function int2octets(num){return numTo32b(num)}function initSigArgs(msgHash,privateKey,extraEntropy){if(msgHash==null)throw new Error(`sign: expected valid message hash, not "${msgHash}"`);const h1=ensureBytes(msgHash);const d=normalizePrivateKey(privateKey);const seedArgs=[int2octets(d),bits2octets(h1)];if(extraEntropy!=null){if(extraEntropy===true)extraEntropy=utils$1.randomBytes(32);const e=ensureBytes(extraEntropy);if(e.length!==32)throw new Error("sign: Expected 32 bytes of extra data");seedArgs.push(e)}const seed=concatBytes$1(...seedArgs);const m=bits2int(h1);return{seed:seed,m:m,d:d}}function finalizeSig(recSig,opts){let{sig,recovery}=recSig;const{canonical,der,recovered}=Object.assign({canonical:true,der:true},opts);if(canonical&&sig.hasHighS()){sig=sig.normalizeS();recovery^=1}const hashed=der?sig.toDERRawBytes():sig.toCompactRawBytes();return recovered?[hashed,recovery]:hashed}function signSync(msgHash,privKey,opts={}){const{seed,m,d}=initSigArgs(msgHash,privKey,opts.extraEntropy);let sig;const drbg=new HmacDrbg;drbg.reseedSync(seed);while(!(sig=kmdToSig(drbg.generateSync(),m,d)))drbg.reseedSync();return finalizeSig(sig,opts)}const vopts={strict:true};function verify(signature,msgHash,publicKey,opts=vopts){let sig;try{sig=normalizeSignature(signature);msgHash=ensureBytes(msgHash)}catch(error){return false}const{r,s}=sig;if(opts.strict&&sig.hasHighS())return false;const h=truncateHash(msgHash);let P;try{P=normalizePublicKey(publicKey)}catch(error){return false}const{n}=CURVE;const sinv=invert(s,n);const u1=mod(h*sinv,n);const u2=mod(r*sinv,n);const R=Point.BASE.multiplyAndAddUnsafe(P,u1,u2);if(!R)return false;const v=mod(R.x,n);return v===r}function schnorrChallengeFinalize(ch){return mod(bytesToNumber$1(ch),CURVE.n)}class SchnorrSignature{constructor(r,s){this.r=r;this.s=s;this.assertValidity()}static fromHex(hex){const bytes=ensureBytes(hex);if(bytes.length!==64)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${bytes.length}`);const r=bytesToNumber$1(bytes.subarray(0,32));const s=bytesToNumber$1(bytes.subarray(32,64));return new SchnorrSignature(r,s)}assertValidity(){const{r,s}=this;if(!isValidFieldElement(r)||!isWithinCurveOrder(s))throw new Error("Invalid signature")}toHex(){return numTo32bStr(this.r)+numTo32bStr(this.s)}toRawBytes(){return hexToBytes$1(this.toHex())}}function schnorrGetPublicKey(privateKey){return Point.fromPrivateKey(privateKey).toRawX()}class InternalSchnorrSignature{constructor(message,privateKey,auxRand=utils$1.randomBytes()){if(message==null)throw new TypeError(`sign: Expected valid message, not "${message}"`);this.m=ensureBytes(message);const{x,scalar}=this.getScalar(normalizePrivateKey(privateKey));this.px=x;this.d=scalar;this.rand=ensureBytes(auxRand);if(this.rand.length!==32)throw new TypeError("sign: Expected 32 bytes of aux randomness")}getScalar(priv){const point=Point.fromPrivateKey(priv);const scalar=point.hasEvenY()?priv:CURVE.n-priv;return{point:point,scalar:scalar,x:point.toRawX()}}initNonce(d,t0h){return numTo32b(d^bytesToNumber$1(t0h))}finalizeNonce(k0h){const k0=mod(bytesToNumber$1(k0h),CURVE.n);if(k0===_0n)throw new Error("sign: Creation of signature failed. k is zero");const{point:R,x:rx,scalar:k}=this.getScalar(k0);return{R:R,rx:rx,k:k}}finalizeSig(R,k,e,d){return new SchnorrSignature(R.x,mod(k+e*d,CURVE.n)).toRawBytes()}error(){throw new Error("sign: Invalid signature produced")}async calc(){const{m,d,px,rand}=this;const tag=utils$1.taggedHash;const t=this.initNonce(d,await tag(TAGS.aux,rand));const{R,rx,k}=this.finalizeNonce(await tag(TAGS.nonce,t,px,m));const e=schnorrChallengeFinalize(await tag(TAGS.challenge,rx,px,m));const sig=this.finalizeSig(R,k,e,d);if(!await schnorrVerify(sig,m,px))this.error();return sig}calcSync(){const{m,d,px,rand}=this;const tag=utils$1.taggedHashSync;const t=this.initNonce(d,tag(TAGS.aux,rand));const{R,rx,k}=this.finalizeNonce(tag(TAGS.nonce,t,px,m));const e=schnorrChallengeFinalize(tag(TAGS.challenge,rx,px,m));const sig=this.finalizeSig(R,k,e,d);if(!schnorrVerifySync(sig,m,px))this.error();return sig}}async function schnorrSign(msg,privKey,auxRand){return new InternalSchnorrSignature(msg,privKey,auxRand).calc()}function schnorrSignSync(msg,privKey,auxRand){return new InternalSchnorrSignature(msg,privKey,auxRand).calcSync()}function initSchnorrVerify(signature,message,publicKey){const raw=signature instanceof SchnorrSignature;const sig=raw?signature:SchnorrSignature.fromHex(signature);if(raw)sig.assertValidity();return{...sig,m:ensureBytes(message),P:normalizePublicKey(publicKey)}}function finalizeSchnorrVerify(r,P,s,e){const R=Point.BASE.multiplyAndAddUnsafe(P,normalizePrivateKey(s),mod(-e,CURVE.n));if(!R||!R.hasEvenY()||R.x!==r)return false;return true}async function schnorrVerify(signature,message,publicKey){try{const{r,s,m,P}=initSchnorrVerify(signature,message,publicKey);const e=schnorrChallengeFinalize(await utils$1.taggedHash(TAGS.challenge,numTo32b(r),P.toRawX(),m));return finalizeSchnorrVerify(r,P,s,e)}catch(error){return false}}function schnorrVerifySync(signature,message,publicKey){try{const{r,s,m,P}=initSchnorrVerify(signature,message,publicKey);const e=schnorrChallengeFinalize(utils$1.taggedHashSync(TAGS.challenge,numTo32b(r),P.toRawX(),m));return finalizeSchnorrVerify(r,P,s,e)}catch(error){if(error instanceof ShaError)throw error;return false}}const schnorr={Signature:SchnorrSignature,getPublicKey:schnorrGetPublicKey,sign:schnorrSign,verify:schnorrVerify,signSync:schnorrSignSync,verifySync:schnorrVerifySync};Point.BASE._setWindowSize(8);const crypto$2={node:nodeCrypto,web:typeof self==="object"&&"crypto"in self?self.crypto:undefined};const TAGS={challenge:"BIP0340/challenge",aux:"BIP0340/aux",nonce:"BIP0340/nonce"};const TAGGED_HASH_PREFIXES={};const utils$1={bytesToHex:bytesToHex$1,hexToBytes:hexToBytes$1,concatBytes:concatBytes$1,mod:mod,invert:invert,isValidPrivateKey(privateKey){try{normalizePrivateKey(privateKey);return true}catch(error){return false}},_bigintTo32Bytes:numTo32b,_normalizePrivateKey:normalizePrivateKey,hashToPrivateKey:hash=>{hash=ensureBytes(hash);if(hash.length<40||hash.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");const num=mod(bytesToNumber$1(hash),CURVE.n-_1n)+_1n;return numTo32b(num)},randomBytes:(bytesLength=32)=>{if(crypto$2.web){return crypto$2.web.getRandomValues(new Uint8Array(bytesLength))}else if(crypto$2.node){const{randomBytes}=crypto$2.node;return Uint8Array.from(randomBytes(bytesLength))}else{throw new Error("The environment doesn't have randomBytes function")}},randomPrivateKey:()=>{return utils$1.hashToPrivateKey(utils$1.randomBytes(40))},sha256:async(...messages)=>{if(crypto$2.web){const buffer=await crypto$2.web.subtle.digest("SHA-256",concatBytes$1(...messages));return new Uint8Array(buffer)}else if(crypto$2.node){const{createHash}=crypto$2.node;const hash=createHash("sha256");messages.forEach(m=>hash.update(m));return Uint8Array.from(hash.digest())}else{throw new Error("The environment doesn't have sha256 function")}},hmacSha256:async(key,...messages)=>{if(crypto$2.web){const ckey=await crypto$2.web.subtle.importKey("raw",key,{name:"HMAC",hash:{name:"SHA-256"}},false,["sign"]);const message=concatBytes$1(...messages);const buffer=await crypto$2.web.subtle.sign("HMAC",ckey,message);return new Uint8Array(buffer)}else if(crypto$2.node){const{createHmac}=crypto$2.node;const hash=createHmac("sha256",key);messages.forEach(m=>hash.update(m));return Uint8Array.from(hash.digest())}else{throw new Error("The environment doesn't have hmac-sha256 function")}},sha256Sync:undefined,hmacSha256Sync:undefined,taggedHash:async(tag,...messages)=>{let tagP=TAGGED_HASH_PREFIXES[tag];if(tagP===undefined){const tagH=await utils$1.sha256(Uint8Array.from(tag,c=>c.charCodeAt(0)));tagP=concatBytes$1(tagH,tagH);TAGGED_HASH_PREFIXES[tag]=tagP}return utils$1.sha256(tagP,...messages)},taggedHashSync:(tag,...messages)=>{if(typeof _sha256Sync!=="function")throw new ShaError("sha256Sync is undefined, you need to set it");let tagP=TAGGED_HASH_PREFIXES[tag];if(tagP===undefined){const tagH=_sha256Sync(Uint8Array.from(tag,c=>c.charCodeAt(0)));tagP=concatBytes$1(tagH,tagH);TAGGED_HASH_PREFIXES[tag]=tagP}return _sha256Sync(tagP,...messages)},precompute(windowSize=8,point=Point.BASE){const cached=point===Point.BASE?point:new Point(point.x,point.y);cached._setWindowSize(windowSize);cached.multiply(_3n);return cached}};Object.defineProperties(utils$1,{sha256Sync:{configurable:false,get(){return _sha256Sync},set(val){if(!_sha256Sync)_sha256Sync=val}},hmacSha256Sync:{configurable:false,get(){return _hmacSha256Sync},set(val){if(!_hmacSha256Sync)_hmacSha256Sync=val}}});function number$1(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}function bool$1(b){if(typeof b!=="boolean")throw new Error(`Expected boolean, not ${b}`)}function bytes$1(b,...lengths){if(!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(lengths.length>0&&!lengths.includes(b.length))throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`)}function hash$2(hash){if(typeof hash!=="function"||typeof hash.create!=="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");number$1(hash.outputLen);number$1(hash.blockLen)}function exists$1(instance,checkFinished=true){if(instance.destroyed)throw new Error("Hash instance has been destroyed");if(checkFinished&&instance.finished)throw new Error("Hash#digest() has already been called")}function output$1(out,instance){bytes$1(out);const min=instance.outputLen;if(out.lengthnew DataView(arr.buffer,arr.byteOffset,arr.byteLength);const rotr=(word,shift)=>word<<32-shift|word>>>shift;const isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!isLE)throw new Error("Non little-endian hardware is not supported");const hexes=Array.from({length:256},(v,i)=>i.toString(16).padStart(2,"0"));function bytesToHex(uint8a){if(!(uint8a instanceof Uint8Array))throw new Error("Uint8Array expected");let hex="";for(let i=0;ia instanceof Uint8Array))throw new Error("Uint8Array list expected");if(arrays.length===1)return arrays[0];const length=arrays.reduce((a,arr)=>a+arr.length,0);const result=new Uint8Array(length);for(let i=0,pad=0;ihashConstructor().update(toBytes(message)).digest();const tmp=hashConstructor();hashC.outputLen=tmp.outputLen;hashC.blockLen=tmp.blockLen;hashC.create=()=>hashConstructor();return hashC}function randomBytes(bytesLength=32){if(crypto$1.web){return crypto$1.web.getRandomValues(new Uint8Array(bytesLength))}else{throw new Error("The environment doesn't have randomBytes function")}}function setBigUint64$1(view,byteOffset,value,isLE){if(typeof view.setBigUint64==="function")return view.setBigUint64(byteOffset,value,isLE);const _32n=BigInt(32);const _u32_max=BigInt(4294967295);const wh=Number(value>>_32n&_u32_max);const wl=Number(value&_u32_max);const h=isLE?4:0;const l=isLE?0:4;view.setUint32(byteOffset+h,wh,isLE);view.setUint32(byteOffset+l,wl,isLE)}let SHA2$1=class SHA2 extends Hash{constructor(blockLen,outputLen,padOffset,isLE){super();this.blockLen=blockLen;this.outputLen=outputLen;this.padOffset=padOffset;this.isLE=isLE;this.finished=false;this.length=0;this.pos=0;this.destroyed=false;this.buffer=new Uint8Array(blockLen);this.view=createView(this.buffer)}update(data){assert$1.exists(this);const{view,buffer,blockLen}=this;data=toBytes(data);const len=data.length;for(let pos=0;posblockLen-pos){this.process(view,0);pos=0}for(let i=pos;istate.length)throw new Error("_sha2: outputLen bigger than state");for(let i=0;ia&b^~a&c;const Maj$1=(a,b,c)=>a&b^a&c^b&c;const SHA256_K$1=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);const IV$1=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);const SHA256_W$1=new Uint32Array(64);let SHA256$1=class SHA256 extends SHA2$1{constructor(){super(64,32,8,false);this.A=IV$1[0]|0;this.B=IV$1[1]|0;this.C=IV$1[2]|0;this.D=IV$1[3]|0;this.E=IV$1[4]|0;this.F=IV$1[5]|0;this.G=IV$1[6]|0;this.H=IV$1[7]|0}get(){const{A,B,C,D,E,F,G,H}=this;return[A,B,C,D,E,F,G,H]}set(A,B,C,D,E,F,G,H){this.A=A|0;this.B=B|0;this.C=C|0;this.D=D|0;this.E=E|0;this.F=F|0;this.G=G|0;this.H=H|0}process(view,offset){for(let i=0;i<16;i++,offset+=4)SHA256_W$1[i]=view.getUint32(offset,false);for(let i=16;i<64;i++){const W15=SHA256_W$1[i-15];const W2=SHA256_W$1[i-2];const s0=rotr(W15,7)^rotr(W15,18)^W15>>>3;const s1=rotr(W2,17)^rotr(W2,19)^W2>>>10;SHA256_W$1[i]=s1+SHA256_W$1[i-7]+s0+SHA256_W$1[i-16]|0}let{A,B,C,D,E,F,G,H}=this;for(let i=0;i<64;i++){const sigma1=rotr(E,6)^rotr(E,11)^rotr(E,25);const T1=H+sigma1+Chi$1(E,F,G)+SHA256_K$1[i]+SHA256_W$1[i]|0;const sigma0=rotr(A,2)^rotr(A,13)^rotr(A,22);const T2=sigma0+Maj$1(A,B,C)|0;H=G;G=F;F=E;E=D+T1|0;D=C;C=B;B=A;A=T1+T2|0}A=A+this.A|0;B=B+this.B|0;C=C+this.C|0;D=D+this.D|0;E=E+this.E|0;F=F+this.F|0;G=G+this.G|0;H=H+this.H|0;this.set(A,B,C,D,E,F,G,H)}roundClean(){SHA256_W$1.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0);this.buffer.fill(0)}};let SHA224$1=class SHA224 extends SHA256$1{constructor(){super();this.A=3238371032|0;this.B=914150663|0;this.C=812702999|0;this.D=4144912697|0;this.E=4290775857|0;this.F=1750603025|0;this.G=1694076839|0;this.H=3204075428|0;this.outputLen=28}};const sha256$1=wrapConstructor(()=>new SHA256$1);wrapConstructor(()=>new SHA224$1);function assertNumber(n){if(!Number.isSafeInteger(n))throw new Error(`Wrong integer: ${n}`)}function chain(...args){const wrap=(a,b)=>c=>a(b(c));const encode=Array.from(args).reverse().reduce((acc,i)=>acc?wrap(acc,i.encode):i.encode,undefined);const decode=args.reduce((acc,i)=>acc?wrap(acc,i.decode):i.decode,undefined);return{encode:encode,decode:decode}}function alphabet(alphabet){return{encode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("alphabet.encode input should be an array of numbers");return digits.map(i=>{assertNumber(i);if(i<0||i>=alphabet.length)throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet.length})`);return alphabet[i]})},decode:input=>{if(!Array.isArray(input)||input.length&&typeof input[0]!=="string")throw new Error("alphabet.decode input should be array of strings");return input.map(letter=>{if(typeof letter!=="string")throw new Error(`alphabet.decode: not string element=${letter}`);const index=alphabet.indexOf(letter);if(index===-1)throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet}`);return index})}}}function join(separator=""){if(typeof separator!=="string")throw new Error("join separator should be string");return{encode:from=>{if(!Array.isArray(from)||from.length&&typeof from[0]!=="string")throw new Error("join.encode input should be array of strings");for(let i of from)if(typeof i!=="string")throw new Error(`join.encode: non-string input=${i}`);return from.join(separator)},decode:to=>{if(typeof to!=="string")throw new Error("join.decode input should be string");return to.split(separator)}}}function padding(bits,chr="="){assertNumber(bits);if(typeof chr!=="string")throw new Error("padding chr should be string");return{encode(data){if(!Array.isArray(data)||data.length&&typeof data[0]!=="string")throw new Error("padding.encode input should be array of strings");for(let i of data)if(typeof i!=="string")throw new Error(`padding.encode: non-string input=${i}`);while(data.length*bits%8)data.push(chr);return data},decode(input){if(!Array.isArray(input)||input.length&&typeof input[0]!=="string")throw new Error("padding.encode input should be array of strings");for(let i of input)if(typeof i!=="string")throw new Error(`padding.decode: non-string input=${i}`);let end=input.length;if(end*bits%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;end>0&&input[end-1]===chr;end--){if(!((end-1)*bits%8))throw new Error("Invalid padding: string has too much padding")}return input.slice(0,end)}}}function normalize$1(fn){if(typeof fn!=="function")throw new Error("normalize fn should be function");return{encode:from=>from,decode:to=>fn(to)}}function convertRadix(data,from,to){if(from<2)throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`);if(to<2)throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`);if(!Array.isArray(data))throw new Error("convertRadix: data should be array");if(!data.length)return[];let pos=0;const res=[];const digits=Array.from(data);digits.forEach(d=>{assertNumber(d);if(d<0||d>=from)throw new Error(`Wrong integer: ${d}`)});while(true){let carry=0;let done=true;for(let i=pos;i!b?a:gcd(b,a%b);const radix2carry=(from,to)=>from+(to-gcd(from,to));function convertRadix2(data,from,to,padding){if(!Array.isArray(data))throw new Error("convertRadix2: data should be array");if(from<=0||from>32)throw new Error(`convertRadix2: wrong from=${from}`);if(to<=0||to>32)throw new Error(`convertRadix2: wrong to=${to}`);if(radix2carry(from,to)>32){throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from,to)}`)}let carry=0;let pos=0;const mask=2**to-1;const res=[];for(const n of data){assertNumber(n);if(n>=2**from)throw new Error(`convertRadix2: invalid data word=${n} from=${from}`);carry=carry<32)throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`);pos+=from;for(;pos>=to;pos-=to)res.push((carry>>pos-to&mask)>>>0);carry&=2**pos-1}carry=carry<=from)throw new Error("Excess padding");if(!padding&&carry)throw new Error(`Non-zero padding: ${carry}`);if(padding&&pos>0)res.push(carry>>>0);return res}function radix(num){assertNumber(num);return{encode:bytes=>{if(!(bytes instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return convertRadix(Array.from(bytes),2**8,num)},decode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(convertRadix(digits,num,2**8))}}}function radix2(bits,revPadding=false){assertNumber(bits);if(bits<=0||bits>32)throw new Error("radix2: bits should be in (0..32]");if(radix2carry(8,bits)>32||radix2carry(bits,8)>32)throw new Error("radix2: carry overflow");return{encode:bytes=>{if(!(bytes instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return convertRadix2(Array.from(bytes),8,bits,!revPadding)},decode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(convertRadix2(digits,bits,8,revPadding))}}}function unsafeWrapper(fn){if(typeof fn!=="function")throw new Error("unsafeWrapper fn should be function");return function(...args){try{return fn.apply(null,args)}catch(e){}}}function checksum(len,fn){assertNumber(len);if(typeof fn!=="function")throw new Error("checksum fn should be function");return{encode(data){if(!(data instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const checksum=fn(data).slice(0,len);const res=new Uint8Array(data.length+len);res.set(data);res.set(checksum,data.length);return res},decode(data){if(!(data instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const payload=data.slice(0,-len);const newChecksum=fn(payload).slice(0,len);const oldChecksum=data.slice(-len);for(let i=0;is.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const base64=chain(radix2(6),alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),padding(6),join(""));const base64url=chain(radix2(6),alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),padding(6),join(""));const genBase58=abc=>chain(radix(58),alphabet(abc),join(""));const base58=genBase58("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");genBase58("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");genBase58("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const XMR_BLOCK_LEN=[0,2,3,5,6,7,9,10,11];const base58xmr={encode(data){let res="";for(let i=0;ichain(checksum(4,data=>sha256(sha256(data))),base58);const BECH_ALPHABET=chain(alphabet("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),join(""));const POLYMOD_GENERATORS=[996825010,642813549,513874426,1027748829,705979059];function bech32Polymod(pre){const b=pre>>25;let chk=(pre&33554431)<<5;for(let i=0;i>i&1)===1)chk^=POLYMOD_GENERATORS[i]}return chk}function bechChecksum(prefix,words,encodingConst=1){const len=prefix.length;let chk=1;for(let i=0;i126)throw new Error(`Invalid prefix (${prefix})`);chk=bech32Polymod(chk)^c>>5}chk=bech32Polymod(chk);for(let i=0;ilimit)throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`);prefix=prefix.toLowerCase();return`${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum(prefix,words,ENCODING_CONST)}`}function decode(str,limit=90){if(typeof str!=="string")throw new Error(`bech32.decode input should be string, not ${typeof str}`);if(str.length<8||limit!==false&&str.length>limit)throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`);const lowered=str.toLowerCase();if(str!==lowered&&str!==str.toUpperCase())throw new Error(`String must be lowercase or uppercase`);str=lowered;const sepIndex=str.lastIndexOf("1");if(sepIndex===0||sepIndex===-1)throw new Error(`Letter "1" must be present between prefix and data only`);const prefix=str.slice(0,sepIndex);const _words=str.slice(sepIndex+1);if(_words.length<6)throw new Error("Data must be at least 6 characters long");const words=BECH_ALPHABET.decode(_words).slice(0,-6);const sum=bechChecksum(prefix,words,ENCODING_CONST);if(!_words.endsWith(sum))throw new Error(`Invalid checksum in ${str}: expected "${sum}"`);return{prefix:prefix,words:words}}const decodeUnsafe=unsafeWrapper(decode);function decodeToBytes(str){const{prefix,words}=decode(str,false);return{prefix:prefix,words:words,bytes:fromWords(words)}}return{encode:encode,decode:decode,decodeToBytes:decodeToBytes,decodeUnsafe:decodeUnsafe,fromWords:fromWords,fromWordsUnsafe:fromWordsUnsafe,toWords:toWords}}const bech32$1=genBech32("bech32");genBech32("bech32m");const utf8$1={encode:data=>(new TextDecoder).decode(data),decode:str=>(new TextEncoder).encode(str)};const hex$1=chain(radix2(4),alphabet("0123456789abcdef"),join(""),normalize$1(s=>{if(typeof s!=="string"||s.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`);return s.toLowerCase()}));const CODERS={utf8:utf8$1,hex:hex$1,base16:base16,base32:base32,base64:base64,base64url:base64url,base58:base58,base58xmr:base58xmr};`Invalid encoding type. Available types: ${Object.keys(CODERS).join(", ")}`;var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};var english={};Object.defineProperty(english,"__esModule",{value:true});var wordlist=english.wordlist=void 0;wordlist=english.wordlist=`abandon +ability +able +about +above +absent +absorb +abstract +absurd +abuse +access +accident +account +accuse +achieve +acid +acoustic +acquire +across +act +action +actor +actress +actual +adapt +add +addict +address +adjust +admit +adult +advance +advice +aerobic +affair +afford +afraid +again +age +agent +agree +ahead +aim +air +airport +aisle +alarm +album +alcohol +alert +alien +all +alley +allow +almost +alone +alpha +already +also +alter +always +amateur +amazing +among +amount +amused +analyst +anchor +ancient +anger +angle +angry +animal +ankle +announce +annual +another +answer +antenna +antique +anxiety +any +apart +apology +appear +apple +approve +april +arch +arctic +area +arena +argue +arm +armed +armor +army +around +arrange +arrest +arrive +arrow +art +artefact +artist +artwork +ask +aspect +assault +asset +assist +assume +asthma +athlete +atom +attack +attend +attitude +attract +auction +audit +august +aunt +author +auto +autumn +average +avocado +avoid +awake +aware +away +awesome +awful +awkward +axis +baby +bachelor +bacon +badge +bag +balance +balcony +ball +bamboo +banana +banner +bar +barely +bargain +barrel +base +basic +basket +battle +beach +bean +beauty +because +become +beef +before +begin +behave +behind +believe +below +belt +bench +benefit +best +betray +better +between +beyond +bicycle +bid +bike +bind +biology +bird +birth +bitter +black +blade +blame +blanket +blast +bleak +bless +blind +blood +blossom +blouse +blue +blur +blush +board +boat +body +boil +bomb +bone +bonus +book +boost +border +boring +borrow +boss +bottom +bounce +box +boy +bracket +brain +brand +brass +brave +bread +breeze +brick +bridge +brief +bright +bring +brisk +broccoli +broken +bronze +broom +brother +brown +brush +bubble +buddy +budget +buffalo +build +bulb +bulk +bullet +bundle +bunker +burden +burger +burst +bus +business +busy +butter +buyer +buzz +cabbage +cabin +cable +cactus +cage +cake +call +calm +camera +camp +can +canal +cancel +candy +cannon +canoe +canvas +canyon +capable +capital +captain +car +carbon +card +cargo +carpet +carry +cart +case +cash +casino +castle +casual +cat +catalog +catch +category +cattle +caught +cause +caution +cave +ceiling +celery +cement +census +century +cereal +certain +chair +chalk +champion +change +chaos +chapter +charge +chase +chat +cheap +check +cheese +chef +cherry +chest +chicken +chief +child +chimney +choice +choose +chronic +chuckle +chunk +churn +cigar +cinnamon +circle +citizen +city +civil +claim +clap +clarify +claw +clay +clean +clerk +clever +click +client +cliff +climb +clinic +clip +clock +clog +close +cloth +cloud +clown +club +clump +cluster +clutch +coach +coast +coconut +code +coffee +coil +coin +collect +color +column +combine +come +comfort +comic +common +company +concert +conduct +confirm +congress +connect +consider +control +convince +cook +cool +copper +copy +coral +core +corn +correct +cost +cotton +couch +country +couple +course +cousin +cover +coyote +crack +cradle +craft +cram +crane +crash +crater +crawl +crazy +cream +credit +creek +crew +cricket +crime +crisp +critic +crop +cross +crouch +crowd +crucial +cruel +cruise +crumble +crunch +crush +cry +crystal +cube +culture +cup +cupboard +curious +current +curtain +curve +cushion +custom +cute +cycle +dad +damage +damp +dance +danger +daring +dash +daughter +dawn +day +deal +debate +debris +decade +december +decide +decline +decorate +decrease +deer +defense +define +defy +degree +delay +deliver +demand +demise +denial +dentist +deny +depart +depend +deposit +depth +deputy +derive +describe +desert +design +desk +despair +destroy +detail +detect +develop +device +devote +diagram +dial +diamond +diary +dice +diesel +diet +differ +digital +dignity +dilemma +dinner +dinosaur +direct +dirt +disagree +discover +disease +dish +dismiss +disorder +display +distance +divert +divide +divorce +dizzy +doctor +document +dog +doll +dolphin +domain +donate +donkey +donor +door +dose +double +dove +draft +dragon +drama +drastic +draw +dream +dress +drift +drill +drink +drip +drive +drop +drum +dry +duck +dumb +dune +during +dust +dutch +duty +dwarf +dynamic +eager +eagle +early +earn +earth +easily +east +easy +echo +ecology +economy +edge +edit +educate +effort +egg +eight +either +elbow +elder +electric +elegant +element +elephant +elevator +elite +else +embark +embody +embrace +emerge +emotion +employ +empower +empty +enable +enact +end +endless +endorse +enemy +energy +enforce +engage +engine +enhance +enjoy +enlist +enough +enrich +enroll +ensure +enter +entire +entry +envelope +episode +equal +equip +era +erase +erode +erosion +error +erupt +escape +essay +essence +estate +eternal +ethics +evidence +evil +evoke +evolve +exact +example +excess +exchange +excite +exclude +excuse +execute +exercise +exhaust +exhibit +exile +exist +exit +exotic +expand +expect +expire +explain +expose +express +extend +extra +eye +eyebrow +fabric +face +faculty +fade +faint +faith +fall +false +fame +family +famous +fan +fancy +fantasy +farm +fashion +fat +fatal +father +fatigue +fault +favorite +feature +february +federal +fee +feed +feel +female +fence +festival +fetch +fever +few +fiber +fiction +field +figure +file +film +filter +final +find +fine +finger +finish +fire +firm +first +fiscal +fish +fit +fitness +fix +flag +flame +flash +flat +flavor +flee +flight +flip +float +flock +floor +flower +fluid +flush +fly +foam +focus +fog +foil +fold +follow +food +foot +force +forest +forget +fork +fortune +forum +forward +fossil +foster +found +fox +fragile +frame +frequent +fresh +friend +fringe +frog +front +frost +frown +frozen +fruit +fuel +fun +funny +furnace +fury +future +gadget +gain +galaxy +gallery +game +gap +garage +garbage +garden +garlic +garment +gas +gasp +gate +gather +gauge +gaze +general +genius +genre +gentle +genuine +gesture +ghost +giant +gift +giggle +ginger +giraffe +girl +give +glad +glance +glare +glass +glide +glimpse +globe +gloom +glory +glove +glow +glue +goat +goddess +gold +good +goose +gorilla +gospel +gossip +govern +gown +grab +grace +grain +grant +grape +grass +gravity +great +green +grid +grief +grit +grocery +group +grow +grunt +guard +guess +guide +guilt +guitar +gun +gym +habit +hair +half +hammer +hamster +hand +happy +harbor +hard +harsh +harvest +hat +have +hawk +hazard +head +health +heart +heavy +hedgehog +height +hello +helmet +help +hen +hero +hidden +high +hill +hint +hip +hire +history +hobby +hockey +hold +hole +holiday +hollow +home +honey +hood +hope +horn +horror +horse +hospital +host +hotel +hour +hover +hub +huge +human +humble +humor +hundred +hungry +hunt +hurdle +hurry +hurt +husband +hybrid +ice +icon +idea +identify +idle +ignore +ill +illegal +illness +image +imitate +immense +immune +impact +impose +improve +impulse +inch +include +income +increase +index +indicate +indoor +industry +infant +inflict +inform +inhale +inherit +initial +inject +injury +inmate +inner +innocent +input +inquiry +insane +insect +inside +inspire +install +intact +interest +into +invest +invite +involve +iron +island +isolate +issue +item +ivory +jacket +jaguar +jar +jazz +jealous +jeans +jelly +jewel +job +join +joke +journey +joy +judge +juice +jump +jungle +junior +junk +just +kangaroo +keen +keep +ketchup +key +kick +kid +kidney +kind +kingdom +kiss +kit +kitchen +kite +kitten +kiwi +knee +knife +knock +know +lab +label +labor +ladder +lady +lake +lamp +language +laptop +large +later +latin +laugh +laundry +lava +law +lawn +lawsuit +layer +lazy +leader +leaf +learn +leave +lecture +left +leg +legal +legend +leisure +lemon +lend +length +lens +leopard +lesson +letter +level +liar +liberty +library +license +life +lift +light +like +limb +limit +link +lion +liquid +list +little +live +lizard +load +loan +lobster +local +lock +logic +lonely +long +loop +lottery +loud +lounge +love +loyal +lucky +luggage +lumber +lunar +lunch +luxury +lyrics +machine +mad +magic +magnet +maid +mail +main +major +make +mammal +man +manage +mandate +mango +mansion +manual +maple +marble +march +margin +marine +market +marriage +mask +mass +master +match +material +math +matrix +matter +maximum +maze +meadow +mean +measure +meat +mechanic +medal +media +melody +melt +member +memory +mention +menu +mercy +merge +merit +merry +mesh +message +metal +method +middle +midnight +milk +million +mimic +mind +minimum +minor +minute +miracle +mirror +misery +miss +mistake +mix +mixed +mixture +mobile +model +modify +mom +moment +monitor +monkey +monster +month +moon +moral +more +morning +mosquito +mother +motion +motor +mountain +mouse +move +movie +much +muffin +mule +multiply +muscle +museum +mushroom +music +must +mutual +myself +mystery +myth +naive +name +napkin +narrow +nasty +nation +nature +near +neck +need +negative +neglect +neither +nephew +nerve +nest +net +network +neutral +never +news +next +nice +night +noble +noise +nominee +noodle +normal +north +nose +notable +note +nothing +notice +novel +now +nuclear +number +nurse +nut +oak +obey +object +oblige +obscure +observe +obtain +obvious +occur +ocean +october +odor +off +offer +office +often +oil +okay +old +olive +olympic +omit +once +one +onion +online +only +open +opera +opinion +oppose +option +orange +orbit +orchard +order +ordinary +organ +orient +original +orphan +ostrich +other +outdoor +outer +output +outside +oval +oven +over +own +owner +oxygen +oyster +ozone +pact +paddle +page +pair +palace +palm +panda +panel +panic +panther +paper +parade +parent +park +parrot +party +pass +patch +path +patient +patrol +pattern +pause +pave +payment +peace +peanut +pear +peasant +pelican +pen +penalty +pencil +people +pepper +perfect +permit +person +pet +phone +photo +phrase +physical +piano +picnic +picture +piece +pig +pigeon +pill +pilot +pink +pioneer +pipe +pistol +pitch +pizza +place +planet +plastic +plate +play +please +pledge +pluck +plug +plunge +poem +poet +point +polar +pole +police +pond +pony +pool +popular +portion +position +possible +post +potato +pottery +poverty +powder +power +practice +praise +predict +prefer +prepare +present +pretty +prevent +price +pride +primary +print +priority +prison +private +prize +problem +process +produce +profit +program +project +promote +proof +property +prosper +protect +proud +provide +public +pudding +pull +pulp +pulse +pumpkin +punch +pupil +puppy +purchase +purity +purpose +purse +push +put +puzzle +pyramid +quality +quantum +quarter +question +quick +quit +quiz +quote +rabbit +raccoon +race +rack +radar +radio +rail +rain +raise +rally +ramp +ranch +random +range +rapid +rare +rate +rather +raven +raw +razor +ready +real +reason +rebel +rebuild +recall +receive +recipe +record +recycle +reduce +reflect +reform +refuse +region +regret +regular +reject +relax +release +relief +rely +remain +remember +remind +remove +render +renew +rent +reopen +repair +repeat +replace +report +require +rescue +resemble +resist +resource +response +result +retire +retreat +return +reunion +reveal +review +reward +rhythm +rib +ribbon +rice +rich +ride +ridge +rifle +right +rigid +ring +riot +ripple +risk +ritual +rival +river +road +roast +robot +robust +rocket +romance +roof +rookie +room +rose +rotate +rough +round +route +royal +rubber +rude +rug +rule +run +runway +rural +sad +saddle +sadness +safe +sail +salad +salmon +salon +salt +salute +same +sample +sand +satisfy +satoshi +sauce +sausage +save +say +scale +scan +scare +scatter +scene +scheme +school +science +scissors +scorpion +scout +scrap +screen +script +scrub +sea +search +season +seat +second +secret +section +security +seed +seek +segment +select +sell +seminar +senior +sense +sentence +series +service +session +settle +setup +seven +shadow +shaft +shallow +share +shed +shell +sheriff +shield +shift +shine +ship +shiver +shock +shoe +shoot +shop +short +shoulder +shove +shrimp +shrug +shuffle +shy +sibling +sick +side +siege +sight +sign +silent +silk +silly +silver +similar +simple +since +sing +siren +sister +situate +six +size +skate +sketch +ski +skill +skin +skirt +skull +slab +slam +sleep +slender +slice +slide +slight +slim +slogan +slot +slow +slush +small +smart +smile +smoke +smooth +snack +snake +snap +sniff +snow +soap +soccer +social +sock +soda +soft +solar +soldier +solid +solution +solve +someone +song +soon +sorry +sort +soul +sound +soup +source +south +space +spare +spatial +spawn +speak +special +speed +spell +spend +sphere +spice +spider +spike +spin +spirit +split +spoil +sponsor +spoon +sport +spot +spray +spread +spring +spy +square +squeeze +squirrel +stable +stadium +staff +stage +stairs +stamp +stand +start +state +stay +steak +steel +stem +step +stereo +stick +still +sting +stock +stomach +stone +stool +story +stove +strategy +street +strike +strong +struggle +student +stuff +stumble +style +subject +submit +subway +success +such +sudden +suffer +sugar +suggest +suit +summer +sun +sunny +sunset +super +supply +supreme +sure +surface +surge +surprise +surround +survey +suspect +sustain +swallow +swamp +swap +swarm +swear +sweet +swift +swim +swing +switch +sword +symbol +symptom +syrup +system +table +tackle +tag +tail +talent +talk +tank +tape +target +task +taste +tattoo +taxi +teach +team +tell +ten +tenant +tennis +tent +term +test +text +thank +that +theme +then +theory +there +they +thing +this +thought +three +thrive +throw +thumb +thunder +ticket +tide +tiger +tilt +timber +time +tiny +tip +tired +tissue +title +toast +tobacco +today +toddler +toe +together +toilet +token +tomato +tomorrow +tone +tongue +tonight +tool +tooth +top +topic +topple +torch +tornado +tortoise +toss +total +tourist +toward +tower +town +toy +track +trade +traffic +tragic +train +transfer +trap +trash +travel +tray +treat +tree +trend +trial +tribe +trick +trigger +trim +trip +trophy +trouble +truck +true +truly +trumpet +trust +truth +try +tube +tuition +tumble +tuna +tunnel +turkey +turn +turtle +twelve +twenty +twice +twin +twist +two +type +typical +ugly +umbrella +unable +unaware +uncle +uncover +under +undo +unfair +unfold +unhappy +uniform +unique +unit +universe +unknown +unlock +until +unusual +unveil +update +upgrade +uphold +upon +upper +upset +urban +urge +usage +use +used +useful +useless +usual +utility +vacant +vacuum +vague +valid +valley +valve +van +vanish +vapor +various +vast +vault +vehicle +velvet +vendor +venture +venue +verb +verify +version +very +vessel +veteran +viable +vibrant +vicious +victory +video +view +village +vintage +violin +virtual +virus +visa +visit +visual +vital +vivid +vocal +voice +void +volcano +volume +vote +voyage +wage +wagon +wait +walk +wall +walnut +want +warfare +warm +warrior +wash +wasp +waste +water +wave +way +wealth +weapon +wear +weasel +weather +web +wedding +weekend +weird +welcome +west +wet +whale +what +wheat +wheel +when +where +whip +whisper +wide +width +wife +wild +will +win +window +wine +wing +wink +winner +winter +wire +wisdom +wise +wish +witness +wolf +woman +wonder +wood +wool +word +work +world +worry +worth +wrap +wreck +wrestle +wrist +write +wrong +yard +year +yellow +you +young +youth +zebra +zero +zone +zoo`.split("\n");var bip39={};var _assert={};Object.defineProperty(_assert,"__esModule",{value:true});_assert.output=_assert.exists=_assert.hash=_assert.bytes=_assert.bool=_assert.number=void 0;function number(n){if(!Number.isSafeInteger(n)||n<0)throw new Error(`Wrong positive integer: ${n}`)}_assert.number=number;function bool(b){if(typeof b!=="boolean")throw new Error(`Expected boolean, not ${b}`)}_assert.bool=bool;function bytes(b,...lengths){if(!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(lengths.length>0&&!lengths.includes(b.length))throw new TypeError(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`)}_assert.bytes=bytes;function hash$1(hash){if(typeof hash!=="function"||typeof hash.create!=="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");number(hash.outputLen);number(hash.blockLen)}_assert.hash=hash$1;function exists(instance,checkFinished=true){if(instance.destroyed)throw new Error("Hash instance has been destroyed");if(checkFinished&&instance.finished)throw new Error("Hash#digest() has already been called")}_assert.exists=exists;function output(out,instance){bytes(out);const min=instance.outputLen;if(out.lengthnew Uint8Array(arr.buffer,arr.byteOffset,arr.byteLength);exports.u8=u8;const u32=arr=>new Uint32Array(arr.buffer,arr.byteOffset,Math.floor(arr.byteLength/4));exports.u32=u32;const createView=arr=>new DataView(arr.buffer,arr.byteOffset,arr.byteLength);exports.createView=createView;const rotr=(word,shift)=>word<<32-shift|word>>>shift;exports.rotr=rotr;exports.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!exports.isLE)throw new Error("Non little-endian hardware is not supported");const hexes=Array.from({length:256},(v,i)=>i.toString(16).padStart(2,"0"));function bytesToHex(uint8a){if(!(uint8a instanceof Uint8Array))throw new Error("Uint8Array expected");let hex="";for(let i=0;i{};exports.nextTick=nextTick;async function asyncLoop(iters,tick,cb){let ts=Date.now();for(let i=0;i=0&&diffa instanceof Uint8Array))throw new Error("Uint8Array list expected");if(arrays.length===1)return arrays[0];const length=arrays.reduce((a,arr)=>a+arr.length,0);const result=new Uint8Array(length);for(let i=0,pad=0;iObject.prototype.toString.call(obj)==="[object Object]"&&obj.constructor===Object;function checkOpts(defaults,opts){if(opts!==undefined&&(typeof opts!=="object"||!isPlainObject(opts)))throw new TypeError("Options should be object or undefined");const merged=Object.assign(defaults,opts);return merged}exports.checkOpts=checkOpts;function wrapConstructor(hashConstructor){const hashC=message=>hashConstructor().update(toBytes(message)).digest();const tmp=hashConstructor();hashC.outputLen=tmp.outputLen;hashC.blockLen=tmp.blockLen;hashC.create=()=>hashConstructor();return hashC}exports.wrapConstructor=wrapConstructor;function wrapConstructorWithOpts(hashCons){const hashC=(msg,opts)=>hashCons(opts).update(toBytes(msg)).digest();const tmp=hashCons({});hashC.outputLen=tmp.outputLen;hashC.blockLen=tmp.blockLen;hashC.create=opts=>hashCons(opts);return hashC}exports.wrapConstructorWithOpts=wrapConstructorWithOpts;function randomBytes(bytesLength=32){if(crypto_1.crypto.web){return crypto_1.crypto.web.getRandomValues(new Uint8Array(bytesLength))}else if(crypto_1.crypto.node){return new Uint8Array(crypto_1.crypto.node.randomBytes(bytesLength).buffer)}else{throw new Error("The environment doesn't have randomBytes function")}}exports.randomBytes=randomBytes})(utils);(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.hmac=void 0;const _assert_js_1=_assert;const utils_js_1=utils;class HMAC extends utils_js_1.Hash{constructor(hash,_key){super();this.finished=false;this.destroyed=false;_assert_js_1.default.hash(hash);const key=(0,utils_js_1.toBytes)(_key);this.iHash=hash.create();if(typeof this.iHash.update!=="function")throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen;this.outputLen=this.iHash.outputLen;const blockLen=this.blockLen;const pad=new Uint8Array(blockLen);pad.set(key.length>blockLen?hash.create().update(key).digest():key);for(let i=0;inew HMAC(hash,key).update(message).digest();exports.hmac=hmac;exports.hmac.create=(hash,key)=>new HMAC(hash,key)})(hmac$1);Object.defineProperty(pbkdf2$1,"__esModule",{value:true});pbkdf2$1.pbkdf2Async=pbkdf2$1.pbkdf2=void 0;const _assert_js_1$1=_assert;const hmac_js_1=hmac$1;const utils_js_1$3=utils;function pbkdf2Init(hash,_password,_salt,_opts){_assert_js_1$1.default.hash(hash);const opts=(0,utils_js_1$3.checkOpts)({dkLen:32,asyncTick:10},_opts);const{c,dkLen,asyncTick}=opts;_assert_js_1$1.default.number(c);_assert_js_1$1.default.number(dkLen);_assert_js_1$1.default.number(asyncTick);if(c<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const password=(0,utils_js_1$3.toBytes)(_password);const salt=(0,utils_js_1$3.toBytes)(_salt);const DK=new Uint8Array(dkLen);const PRF=hmac_js_1.hmac.create(hash,password);const PRFSalt=PRF._cloneInto().update(salt);return{c:c,dkLen:dkLen,asyncTick:asyncTick,DK:DK,PRF:PRF,PRFSalt:PRFSalt}}function pbkdf2Output(PRF,PRFSalt,DK,prfW,u){PRF.destroy();PRFSalt.destroy();if(prfW)prfW.destroy();u.fill(0);return DK}function pbkdf2(hash,password,salt,opts){const{c,dkLen,DK,PRF,PRFSalt}=pbkdf2Init(hash,password,salt,opts);let prfW;const arr=new Uint8Array(4);const view=(0,utils_js_1$3.createView)(arr);const u=new Uint8Array(PRF.outputLen);for(let ti=1,pos=0;pos{PRF._cloneInto(prfW).update(u).digestInto(u);for(let i=0;i>_32n&_u32_max);const wl=Number(value&_u32_max);const h=isLE?4:0;const l=isLE?0:4;view.setUint32(byteOffset+h,wh,isLE);view.setUint32(byteOffset+l,wl,isLE)}class SHA2 extends utils_js_1$2.Hash{constructor(blockLen,outputLen,padOffset,isLE){super();this.blockLen=blockLen;this.outputLen=outputLen;this.padOffset=padOffset;this.isLE=isLE;this.finished=false;this.length=0;this.pos=0;this.destroyed=false;this.buffer=new Uint8Array(blockLen);this.view=(0,utils_js_1$2.createView)(this.buffer)}update(data){_assert_js_1.default.exists(this);const{view,buffer,blockLen}=this;data=(0,utils_js_1$2.toBytes)(data);const len=data.length;for(let pos=0;posblockLen-pos){this.process(view,0);pos=0}for(let i=pos;istate.length)throw new Error("_sha2: outputLen bigger than state");for(let i=0;ia&b^~a&c;const Maj=(a,b,c)=>a&b^a&c^b&c;const SHA256_K=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);const IV=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);const SHA256_W=new Uint32Array(64);class SHA256 extends _sha2_js_1$1.SHA2{constructor(){super(64,32,8,false);this.A=IV[0]|0;this.B=IV[1]|0;this.C=IV[2]|0;this.D=IV[3]|0;this.E=IV[4]|0;this.F=IV[5]|0;this.G=IV[6]|0;this.H=IV[7]|0}get(){const{A,B,C,D,E,F,G,H}=this;return[A,B,C,D,E,F,G,H]}set(A,B,C,D,E,F,G,H){this.A=A|0;this.B=B|0;this.C=C|0;this.D=D|0;this.E=E|0;this.F=F|0;this.G=G|0;this.H=H|0}process(view,offset){for(let i=0;i<16;i++,offset+=4)SHA256_W[i]=view.getUint32(offset,false);for(let i=16;i<64;i++){const W15=SHA256_W[i-15];const W2=SHA256_W[i-2];const s0=(0,utils_js_1$1.rotr)(W15,7)^(0,utils_js_1$1.rotr)(W15,18)^W15>>>3;const s1=(0,utils_js_1$1.rotr)(W2,17)^(0,utils_js_1$1.rotr)(W2,19)^W2>>>10;SHA256_W[i]=s1+SHA256_W[i-7]+s0+SHA256_W[i-16]|0}let{A,B,C,D,E,F,G,H}=this;for(let i=0;i<64;i++){const sigma1=(0,utils_js_1$1.rotr)(E,6)^(0,utils_js_1$1.rotr)(E,11)^(0,utils_js_1$1.rotr)(E,25);const T1=H+sigma1+Chi(E,F,G)+SHA256_K[i]+SHA256_W[i]|0;const sigma0=(0,utils_js_1$1.rotr)(A,2)^(0,utils_js_1$1.rotr)(A,13)^(0,utils_js_1$1.rotr)(A,22);const T2=sigma0+Maj(A,B,C)|0;H=G;G=F;F=E;E=D+T1|0;D=C;C=B;B=A;A=T1+T2|0}A=A+this.A|0;B=B+this.B|0;C=C+this.C|0;D=D+this.D|0;E=E+this.E|0;F=F+this.F|0;G=G+this.G|0;H=H+this.H|0;this.set(A,B,C,D,E,F,G,H)}roundClean(){SHA256_W.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0);this.buffer.fill(0)}}class SHA224 extends SHA256{constructor(){super();this.A=3238371032|0;this.B=914150663|0;this.C=812702999|0;this.D=4144912697|0;this.E=4290775857|0;this.F=1750603025|0;this.G=1694076839|0;this.H=3204075428|0;this.outputLen=28}}sha256.sha256=(0,utils_js_1$1.wrapConstructor)(()=>new SHA256);sha256.sha224=(0,utils_js_1$1.wrapConstructor)(()=>new SHA224);var sha512$1={};var _u64={};(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.add=exports.toBig=exports.split=exports.fromBig=void 0;const U32_MASK64=BigInt(2**32-1);const _32n=BigInt(32);function fromBig(n,le=false){if(le)return{h:Number(n&U32_MASK64),l:Number(n>>_32n&U32_MASK64)};return{h:Number(n>>_32n&U32_MASK64)|0,l:Number(n&U32_MASK64)|0}}exports.fromBig=fromBig;function split(lst,le=false){let Ah=new Uint32Array(lst.length);let Al=new Uint32Array(lst.length);for(let i=0;iBigInt(h>>>0)<<_32n|BigInt(l>>>0);exports.toBig=toBig;const shrSH=(h,l,s)=>h>>>s;const shrSL=(h,l,s)=>h<<32-s|l>>>s;const rotrSH=(h,l,s)=>h>>>s|l<<32-s;const rotrSL=(h,l,s)=>h<<32-s|l>>>s;const rotrBH=(h,l,s)=>h<<64-s|l>>>s-32;const rotrBL=(h,l,s)=>h>>>s-32|l<<64-s;const rotr32H=(h,l)=>l;const rotr32L=(h,l)=>h;const rotlSH=(h,l,s)=>h<>>32-s;const rotlSL=(h,l,s)=>l<>>32-s;const rotlBH=(h,l,s)=>l<>>64-s;const rotlBL=(h,l,s)=>h<>>64-s;function add(Ah,Al,Bh,Bl){const l=(Al>>>0)+(Bl>>>0);return{h:Ah+Bh+(l/2**32|0)|0,l:l|0}}exports.add=add;const add3L=(Al,Bl,Cl)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0);const add3H=(low,Ah,Bh,Ch)=>Ah+Bh+Ch+(low/2**32|0)|0;const add4L=(Al,Bl,Cl,Dl)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0)+(Dl>>>0);const add4H=(low,Ah,Bh,Ch,Dh)=>Ah+Bh+Ch+Dh+(low/2**32|0)|0;const add5L=(Al,Bl,Cl,Dl,El)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0)+(Dl>>>0)+(El>>>0);const add5H=(low,Ah,Bh,Ch,Dh,Eh)=>Ah+Bh+Ch+Dh+Eh+(low/2**32|0)|0;const u64={fromBig:fromBig,split:split,toBig:exports.toBig,shrSH:shrSH,shrSL:shrSL,rotrSH:rotrSH,rotrSL:rotrSL,rotrBH:rotrBH,rotrBL:rotrBL,rotr32H:rotr32H,rotr32L:rotr32L,rotlSH:rotlSH,rotlSL:rotlSL,rotlBH:rotlBH,rotlBL:rotlBL,add:add,add3L:add3L,add3H:add3H,add4L:add4L,add4H:add4H,add5H:add5H,add5L:add5L};exports.default=u64})(_u64);Object.defineProperty(sha512$1,"__esModule",{value:true});sha512$1.sha384=sha512$1.sha512_256=sha512$1.sha512_224=sha512$1.sha512=sha512$1.SHA512=void 0;const _sha2_js_1=_sha2;const _u64_js_1=_u64;const utils_js_1=utils;const[SHA512_Kh$1,SHA512_Kl$1]=_u64_js_1.default.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(n=>BigInt(n)));const SHA512_W_H$1=new Uint32Array(80);const SHA512_W_L$1=new Uint32Array(80);let SHA512$1=class SHA512 extends _sha2_js_1.SHA2{constructor(){super(128,64,16,false);this.Ah=1779033703|0;this.Al=4089235720|0;this.Bh=3144134277|0;this.Bl=2227873595|0;this.Ch=1013904242|0;this.Cl=4271175723|0;this.Dh=2773480762|0;this.Dl=1595750129|0;this.Eh=1359893119|0;this.El=2917565137|0;this.Fh=2600822924|0;this.Fl=725511199|0;this.Gh=528734635|0;this.Gl=4215389547|0;this.Hh=1541459225|0;this.Hl=327033209|0}get(){const{Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl}=this;return[Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl]}set(Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl){this.Ah=Ah|0;this.Al=Al|0;this.Bh=Bh|0;this.Bl=Bl|0;this.Ch=Ch|0;this.Cl=Cl|0;this.Dh=Dh|0;this.Dl=Dl|0;this.Eh=Eh|0;this.El=El|0;this.Fh=Fh|0;this.Fl=Fl|0;this.Gh=Gh|0;this.Gl=Gl|0;this.Hh=Hh|0;this.Hl=Hl|0}process(view,offset){for(let i=0;i<16;i++,offset+=4){SHA512_W_H$1[i]=view.getUint32(offset);SHA512_W_L$1[i]=view.getUint32(offset+=4)}for(let i=16;i<80;i++){const W15h=SHA512_W_H$1[i-15]|0;const W15l=SHA512_W_L$1[i-15]|0;const s0h=_u64_js_1.default.rotrSH(W15h,W15l,1)^_u64_js_1.default.rotrSH(W15h,W15l,8)^_u64_js_1.default.shrSH(W15h,W15l,7);const s0l=_u64_js_1.default.rotrSL(W15h,W15l,1)^_u64_js_1.default.rotrSL(W15h,W15l,8)^_u64_js_1.default.shrSL(W15h,W15l,7);const W2h=SHA512_W_H$1[i-2]|0;const W2l=SHA512_W_L$1[i-2]|0;const s1h=_u64_js_1.default.rotrSH(W2h,W2l,19)^_u64_js_1.default.rotrBH(W2h,W2l,61)^_u64_js_1.default.shrSH(W2h,W2l,6);const s1l=_u64_js_1.default.rotrSL(W2h,W2l,19)^_u64_js_1.default.rotrBL(W2h,W2l,61)^_u64_js_1.default.shrSL(W2h,W2l,6);const SUMl=_u64_js_1.default.add4L(s0l,s1l,SHA512_W_L$1[i-7],SHA512_W_L$1[i-16]);const SUMh=_u64_js_1.default.add4H(SUMl,s0h,s1h,SHA512_W_H$1[i-7],SHA512_W_H$1[i-16]);SHA512_W_H$1[i]=SUMh|0;SHA512_W_L$1[i]=SUMl|0}let{Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl}=this;for(let i=0;i<80;i++){const sigma1h=_u64_js_1.default.rotrSH(Eh,El,14)^_u64_js_1.default.rotrSH(Eh,El,18)^_u64_js_1.default.rotrBH(Eh,El,41);const sigma1l=_u64_js_1.default.rotrSL(Eh,El,14)^_u64_js_1.default.rotrSL(Eh,El,18)^_u64_js_1.default.rotrBL(Eh,El,41);const CHIh=Eh&Fh^~Eh&Gh;const CHIl=El&Fl^~El&Gl;const T1ll=_u64_js_1.default.add5L(Hl,sigma1l,CHIl,SHA512_Kl$1[i],SHA512_W_L$1[i]);const T1h=_u64_js_1.default.add5H(T1ll,Hh,sigma1h,CHIh,SHA512_Kh$1[i],SHA512_W_H$1[i]);const T1l=T1ll|0;const sigma0h=_u64_js_1.default.rotrSH(Ah,Al,28)^_u64_js_1.default.rotrBH(Ah,Al,34)^_u64_js_1.default.rotrBH(Ah,Al,39);const sigma0l=_u64_js_1.default.rotrSL(Ah,Al,28)^_u64_js_1.default.rotrBL(Ah,Al,34)^_u64_js_1.default.rotrBL(Ah,Al,39);const MAJh=Ah&Bh^Ah&Ch^Bh&Ch;const MAJl=Al&Bl^Al&Cl^Bl&Cl;Hh=Gh|0;Hl=Gl|0;Gh=Fh|0;Gl=Fl|0;Fh=Eh|0;Fl=El|0;({h:Eh,l:El}=_u64_js_1.default.add(Dh|0,Dl|0,T1h|0,T1l|0));Dh=Ch|0;Dl=Cl|0;Ch=Bh|0;Cl=Bl|0;Bh=Ah|0;Bl=Al|0;const All=_u64_js_1.default.add3L(T1l,sigma0l,MAJl);Ah=_u64_js_1.default.add3H(All,T1h,sigma0h,MAJh);Al=All|0}({h:Ah,l:Al}=_u64_js_1.default.add(this.Ah|0,this.Al|0,Ah|0,Al|0));({h:Bh,l:Bl}=_u64_js_1.default.add(this.Bh|0,this.Bl|0,Bh|0,Bl|0));({h:Ch,l:Cl}=_u64_js_1.default.add(this.Ch|0,this.Cl|0,Ch|0,Cl|0));({h:Dh,l:Dl}=_u64_js_1.default.add(this.Dh|0,this.Dl|0,Dh|0,Dl|0));({h:Eh,l:El}=_u64_js_1.default.add(this.Eh|0,this.El|0,Eh|0,El|0));({h:Fh,l:Fl}=_u64_js_1.default.add(this.Fh|0,this.Fl|0,Fh|0,Fl|0));({h:Gh,l:Gl}=_u64_js_1.default.add(this.Gh|0,this.Gl|0,Gh|0,Gl|0));({h:Hh,l:Hl}=_u64_js_1.default.add(this.Hh|0,this.Hl|0,Hh|0,Hl|0));this.set(Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl)}roundClean(){SHA512_W_H$1.fill(0);SHA512_W_L$1.fill(0)}destroy(){this.buffer.fill(0);this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};sha512$1.SHA512=SHA512$1;let SHA512_224$1=class SHA512_224 extends SHA512$1{constructor(){super();this.Ah=2352822216|0;this.Al=424955298|0;this.Bh=1944164710|0;this.Bl=2312950998|0;this.Ch=502970286|0;this.Cl=855612546|0;this.Dh=1738396948|0;this.Dl=1479516111|0;this.Eh=258812777|0;this.El=2077511080|0;this.Fh=2011393907|0;this.Fl=79989058|0;this.Gh=1067287976|0;this.Gl=1780299464|0;this.Hh=286451373|0;this.Hl=2446758561|0;this.outputLen=28}};let SHA512_256$1=class SHA512_256 extends SHA512$1{constructor(){super();this.Ah=573645204|0;this.Al=4230739756|0;this.Bh=2673172387|0;this.Bl=3360449730|0;this.Ch=596883563|0;this.Cl=1867755857|0;this.Dh=2520282905|0;this.Dl=1497426621|0;this.Eh=2519219938|0;this.El=2827943907|0;this.Fh=3193839141|0;this.Fl=1401305490|0;this.Gh=721525244|0;this.Gl=746961066|0;this.Hh=246885852|0;this.Hl=2177182882|0;this.outputLen=32}};let SHA384$1=class SHA384 extends SHA512$1{constructor(){super();this.Ah=3418070365|0;this.Al=3238371032|0;this.Bh=1654270250|0;this.Bl=914150663|0;this.Ch=2438529370|0;this.Cl=812702999|0;this.Dh=355462360|0;this.Dl=4144912697|0;this.Eh=1731405415|0;this.El=4290775857|0;this.Fh=2394180231|0;this.Fl=1750603025|0;this.Gh=3675008525|0;this.Gl=1694076839|0;this.Hh=1203062813|0;this.Hl=3204075428|0;this.outputLen=48}};sha512$1.sha512=(0,utils_js_1.wrapConstructor)(()=>new SHA512$1);sha512$1.sha512_224=(0,utils_js_1.wrapConstructor)(()=>new SHA512_224$1);sha512$1.sha512_256=(0,utils_js_1.wrapConstructor)(()=>new SHA512_256$1);sha512$1.sha384=(0,utils_js_1.wrapConstructor)(()=>new SHA384$1);var lib$1={};(function(exports){Object.defineProperty(exports,"__esModule",{value:true});exports.bytes=exports.stringToBytes=exports.str=exports.bytesToString=exports.hex=exports.utf8=exports.bech32m=exports.bech32=exports.base58check=exports.base58xmr=exports.base58xrp=exports.base58flickr=exports.base58=exports.base64url=exports.base64=exports.base32crockford=exports.base32hex=exports.base32=exports.base16=exports.utils=exports.assertNumber=void 0;function assertNumber(n){if(!Number.isSafeInteger(n))throw new Error(`Wrong integer: ${n}`)}exports.assertNumber=assertNumber;function chain(...args){const wrap=(a,b)=>c=>a(b(c));const encode=Array.from(args).reverse().reduce((acc,i)=>acc?wrap(acc,i.encode):i.encode,undefined);const decode=args.reduce((acc,i)=>acc?wrap(acc,i.decode):i.decode,undefined);return{encode:encode,decode:decode}}function alphabet(alphabet){return{encode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("alphabet.encode input should be an array of numbers");return digits.map(i=>{assertNumber(i);if(i<0||i>=alphabet.length)throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet.length})`);return alphabet[i]})},decode:input=>{if(!Array.isArray(input)||input.length&&typeof input[0]!=="string")throw new Error("alphabet.decode input should be array of strings");return input.map(letter=>{if(typeof letter!=="string")throw new Error(`alphabet.decode: not string element=${letter}`);const index=alphabet.indexOf(letter);if(index===-1)throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet}`);return index})}}}function join(separator=""){if(typeof separator!=="string")throw new Error("join separator should be string");return{encode:from=>{if(!Array.isArray(from)||from.length&&typeof from[0]!=="string")throw new Error("join.encode input should be array of strings");for(let i of from)if(typeof i!=="string")throw new Error(`join.encode: non-string input=${i}`);return from.join(separator)},decode:to=>{if(typeof to!=="string")throw new Error("join.decode input should be string");return to.split(separator)}}}function padding(bits,chr="="){assertNumber(bits);if(typeof chr!=="string")throw new Error("padding chr should be string");return{encode(data){if(!Array.isArray(data)||data.length&&typeof data[0]!=="string")throw new Error("padding.encode input should be array of strings");for(let i of data)if(typeof i!=="string")throw new Error(`padding.encode: non-string input=${i}`);while(data.length*bits%8)data.push(chr);return data},decode(input){if(!Array.isArray(input)||input.length&&typeof input[0]!=="string")throw new Error("padding.encode input should be array of strings");for(let i of input)if(typeof i!=="string")throw new Error(`padding.decode: non-string input=${i}`);let end=input.length;if(end*bits%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;end>0&&input[end-1]===chr;end--){if(!((end-1)*bits%8))throw new Error("Invalid padding: string has too much padding")}return input.slice(0,end)}}}function normalize(fn){if(typeof fn!=="function")throw new Error("normalize fn should be function");return{encode:from=>from,decode:to=>fn(to)}}function convertRadix(data,from,to){if(from<2)throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`);if(to<2)throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`);if(!Array.isArray(data))throw new Error("convertRadix: data should be array");if(!data.length)return[];let pos=0;const res=[];const digits=Array.from(data);digits.forEach(d=>{assertNumber(d);if(d<0||d>=from)throw new Error(`Wrong integer: ${d}`)});while(true){let carry=0;let done=true;for(let i=pos;i!b?a:gcd(b,a%b);const radix2carry=(from,to)=>from+(to-gcd(from,to));function convertRadix2(data,from,to,padding){if(!Array.isArray(data))throw new Error("convertRadix2: data should be array");if(from<=0||from>32)throw new Error(`convertRadix2: wrong from=${from}`);if(to<=0||to>32)throw new Error(`convertRadix2: wrong to=${to}`);if(radix2carry(from,to)>32){throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from,to)}`)}let carry=0;let pos=0;const mask=2**to-1;const res=[];for(const n of data){assertNumber(n);if(n>=2**from)throw new Error(`convertRadix2: invalid data word=${n} from=${from}`);carry=carry<32)throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`);pos+=from;for(;pos>=to;pos-=to)res.push((carry>>pos-to&mask)>>>0);carry&=2**pos-1}carry=carry<=from)throw new Error("Excess padding");if(!padding&&carry)throw new Error(`Non-zero padding: ${carry}`);if(padding&&pos>0)res.push(carry>>>0);return res}function radix(num){assertNumber(num);return{encode:bytes=>{if(!(bytes instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return convertRadix(Array.from(bytes),2**8,num)},decode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(convertRadix(digits,num,2**8))}}}function radix2(bits,revPadding=false){assertNumber(bits);if(bits<=0||bits>32)throw new Error("radix2: bits should be in (0..32]");if(radix2carry(8,bits)>32||radix2carry(bits,8)>32)throw new Error("radix2: carry overflow");return{encode:bytes=>{if(!(bytes instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return convertRadix2(Array.from(bytes),8,bits,!revPadding)},decode:digits=>{if(!Array.isArray(digits)||digits.length&&typeof digits[0]!=="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(convertRadix2(digits,bits,8,revPadding))}}}function unsafeWrapper(fn){if(typeof fn!=="function")throw new Error("unsafeWrapper fn should be function");return function(...args){try{return fn.apply(null,args)}catch(e){}}}function checksum(len,fn){assertNumber(len);if(typeof fn!=="function")throw new Error("checksum fn should be function");return{encode(data){if(!(data instanceof Uint8Array))throw new Error("checksum.encode: input should be Uint8Array");const checksum=fn(data).slice(0,len);const res=new Uint8Array(data.length+len);res.set(data);res.set(checksum,data.length);return res},decode(data){if(!(data instanceof Uint8Array))throw new Error("checksum.decode: input should be Uint8Array");const payload=data.slice(0,-len);const newChecksum=fn(payload).slice(0,len);const oldChecksum=data.slice(-len);for(let i=0;is.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));exports.base64=chain(radix2(6),alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),padding(6),join(""));exports.base64url=chain(radix2(6),alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),padding(6),join(""));const genBase58=abc=>chain(radix(58),alphabet(abc),join(""));exports.base58=genBase58("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");exports.base58flickr=genBase58("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");exports.base58xrp=genBase58("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const XMR_BLOCK_LEN=[0,2,3,5,6,7,9,10,11];exports.base58xmr={encode(data){let res="";for(let i=0;ichain(checksum(4,data=>sha256(sha256(data))),exports.base58);exports.base58check=base58check;const BECH_ALPHABET=chain(alphabet("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),join(""));const POLYMOD_GENERATORS=[996825010,642813549,513874426,1027748829,705979059];function bech32Polymod(pre){const b=pre>>25;let chk=(pre&33554431)<<5;for(let i=0;i>i&1)===1)chk^=POLYMOD_GENERATORS[i]}return chk}function bechChecksum(prefix,words,encodingConst=1){const len=prefix.length;let chk=1;for(let i=0;i126)throw new Error(`Invalid prefix (${prefix})`);chk=bech32Polymod(chk)^c>>5}chk=bech32Polymod(chk);for(let i=0;ilimit)throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`);prefix=prefix.toLowerCase();return`${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum(prefix,words,ENCODING_CONST)}`}function decode(str,limit=90){if(typeof str!=="string")throw new Error(`bech32.decode input should be string, not ${typeof str}`);if(str.length<8||limit!==false&&str.length>limit)throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`);const lowered=str.toLowerCase();if(str!==lowered&&str!==str.toUpperCase())throw new Error(`String must be lowercase or uppercase`);str=lowered;const sepIndex=str.lastIndexOf("1");if(sepIndex===0||sepIndex===-1)throw new Error(`Letter "1" must be present between prefix and data only`);const prefix=str.slice(0,sepIndex);const _words=str.slice(sepIndex+1);if(_words.length<6)throw new Error("Data must be at least 6 characters long");const words=BECH_ALPHABET.decode(_words).slice(0,-6);const sum=bechChecksum(prefix,words,ENCODING_CONST);if(!_words.endsWith(sum))throw new Error(`Invalid checksum in ${str}: expected "${sum}"`);return{prefix:prefix,words:words}}const decodeUnsafe=unsafeWrapper(decode);function decodeToBytes(str){const{prefix,words}=decode(str,false);return{prefix:prefix,words:words,bytes:fromWords(words)}}return{encode:encode,decode:decode,decodeToBytes:decodeToBytes,decodeUnsafe:decodeUnsafe,fromWords:fromWords,fromWordsUnsafe:fromWordsUnsafe,toWords:toWords}}exports.bech32=genBech32("bech32");exports.bech32m=genBech32("bech32m");exports.utf8={encode:data=>(new TextDecoder).decode(data),decode:str=>(new TextEncoder).encode(str)};exports.hex=chain(radix2(4),alphabet("0123456789abcdef"),join(""),normalize(s=>{if(typeof s!=="string"||s.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`);return s.toLowerCase()}));const CODERS={utf8:exports.utf8,hex:exports.hex,base16:exports.base16,base32:exports.base32,base64:exports.base64,base64url:exports.base64url,base58:exports.base58,base58xmr:exports.base58xmr};const coderTypeError=`Invalid encoding type. Available types: ${Object.keys(CODERS).join(", ")}`;const bytesToString=(type,bytes)=>{if(typeof type!=="string"||!CODERS.hasOwnProperty(type))throw new TypeError(coderTypeError);if(!(bytes instanceof Uint8Array))throw new TypeError("bytesToString() expects Uint8Array");return CODERS[type].encode(bytes)};exports.bytesToString=bytesToString;exports.str=exports.bytesToString;const stringToBytes=(type,str)=>{if(!CODERS.hasOwnProperty(type))throw new TypeError(coderTypeError);if(typeof str!=="string")throw new TypeError("stringToBytes() expects string");return CODERS[type].decode(str)};exports.stringToBytes=stringToBytes;exports.bytes=exports.stringToBytes})(lib$1);Object.defineProperty(bip39,"__esModule",{value:true});var mnemonicToSeedSync_1=bip39.mnemonicToSeedSync=bip39.mnemonicToSeed=validateMnemonic_1=bip39.validateMnemonic=bip39.entropyToMnemonic=bip39.mnemonicToEntropy=generateMnemonic_1=bip39.generateMnemonic=void 0;const _assert_1=_assert;const pbkdf2_1=pbkdf2$1;const sha256_1=sha256;const sha512_1=sha512$1;const utils_1=utils;const base_1=lib$1;const isJapanese=wordlist=>wordlist[0]==="ใ‚ใ„ใ“ใใ—ใ‚“";function nfkd(str){if(typeof str!=="string")throw new TypeError(`Invalid mnemonic type: ${typeof str}`);return str.normalize("NFKD")}function normalize(str){const norm=nfkd(str);const words=norm.split(" ");if(![12,15,18,21,24].includes(words.length))throw new Error("Invalid mnemonic");return{nfkd:norm,words:words}}function assertEntropy(entropy){_assert_1.default.bytes(entropy,16,20,24,28,32)}function generateMnemonic(wordlist,strength=128){_assert_1.default.number(strength);if(strength%32!==0||strength>256)throw new TypeError("Invalid entropy");return entropyToMnemonic((0,utils_1.randomBytes)(strength/8),wordlist)}var generateMnemonic_1=bip39.generateMnemonic=generateMnemonic;const calcChecksum=entropy=>{const bitsLeft=8-entropy.length/4;return new Uint8Array([(0,sha256_1.sha256)(entropy)[0]>>bitsLeft<{if(typeof i!=="string")throw new Error(`Wordlist: non-string element: ${i}`)});return base_1.utils.chain(base_1.utils.checksum(1,calcChecksum),base_1.utils.radix2(11,true),base_1.utils.alphabet(wordlist))}function mnemonicToEntropy(mnemonic,wordlist){const{words}=normalize(mnemonic);const entropy=getCoder(wordlist).decode(words);assertEntropy(entropy);return entropy}bip39.mnemonicToEntropy=mnemonicToEntropy;function entropyToMnemonic(entropy,wordlist){assertEntropy(entropy);const words=getCoder(wordlist).encode(entropy);return words.join(isJapanese(wordlist)?"ใ€€":" ")}bip39.entropyToMnemonic=entropyToMnemonic;function validateMnemonic(mnemonic,wordlist){try{mnemonicToEntropy(mnemonic,wordlist)}catch(e){return false}return true}var validateMnemonic_1=bip39.validateMnemonic=validateMnemonic;const salt=passphrase=>nfkd(`mnemonic${passphrase}`);function mnemonicToSeed(mnemonic,passphrase=""){return(0,pbkdf2_1.pbkdf2Async)(sha512_1.sha512,normalize(mnemonic).nfkd,salt(passphrase),{c:2048,dkLen:64})}bip39.mnemonicToSeed=mnemonicToSeed;function mnemonicToSeedSync(mnemonic,passphrase=""){return(0,pbkdf2_1.pbkdf2)(sha512_1.sha512,normalize(mnemonic).nfkd,salt(passphrase),{c:2048,dkLen:64})}mnemonicToSeedSync_1=bip39.mnemonicToSeedSync=mnemonicToSeedSync;class HMAC extends Hash{constructor(hash,_key){super();this.finished=false;this.destroyed=false;assert$1.hash(hash);const key=toBytes(_key);this.iHash=hash.create();if(typeof this.iHash.update!=="function")throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen;this.outputLen=this.iHash.outputLen;const blockLen=this.blockLen;const pad=new Uint8Array(blockLen);pad.set(key.length>blockLen?hash.create().update(key).digest():key);for(let i=0;inew HMAC(hash,key).update(message).digest();hmac.create=(hash,key)=>new HMAC(hash,key);const Rho=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]);const Id=Uint8Array.from({length:16},(_,i)=>i);const Pi=Id.map(i=>(9*i+5)%16);let idxL=[Id];let idxR=[Pi];for(let i=0;i<4;i++)for(let j of[idxL,idxR])j.push(j[i].map(k=>Rho[k]));const shifts=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(i=>new Uint8Array(i));const shiftsL=idxL.map((idx,i)=>idx.map(j=>shifts[i][j]));const shiftsR=idxR.map((idx,i)=>idx.map(j=>shifts[i][j]));const Kl=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]);const Kr=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]);const rotl=(word,shift)=>word<>>32-shift;function f(group,x,y,z){if(group===0)return x^y^z;else if(group===1)return x&y|~x&z;else if(group===2)return(x|~y)^z;else if(group===3)return x&z|y&~z;else return x^(y|~z)}const BUF=new Uint32Array(16);class RIPEMD160 extends SHA2$1{constructor(){super(64,20,8,true);this.h0=1732584193|0;this.h1=4023233417|0;this.h2=2562383102|0;this.h3=271733878|0;this.h4=3285377520|0}get(){const{h0,h1,h2,h3,h4}=this;return[h0,h1,h2,h3,h4]}set(h0,h1,h2,h3,h4){this.h0=h0|0;this.h1=h1|0;this.h2=h2|0;this.h3=h3|0;this.h4=h4|0}process(view,offset){for(let i=0;i<16;i++,offset+=4)BUF[i]=view.getUint32(offset,true);let al=this.h0|0,ar=al,bl=this.h1|0,br=bl,cl=this.h2|0,cr=cl,dl=this.h3|0,dr=dl,el=this.h4|0,er=el;for(let group=0;group<5;group++){const rGroup=4-group;const hbl=Kl[group],hbr=Kr[group];const rl=idxL[group],rr=idxR[group];const sl=shiftsL[group],sr=shiftsR[group];for(let i=0;i<16;i++){const tl=rotl(al+f(group,bl,cl,dl)+BUF[rl[i]]+hbl,sl[i])+el|0;al=el,el=dl,dl=rotl(cl,10)|0,cl=bl,bl=tl}for(let i=0;i<16;i++){const tr=rotl(ar+f(rGroup,br,cr,dr)+BUF[rr[i]]+hbr,sr[i])+er|0;ar=er,er=dr,dr=rotl(cr,10)|0,cr=br,br=tr}}this.set(this.h1+cl+dr|0,this.h2+dl+er|0,this.h3+el+ar|0,this.h4+al+br|0,this.h0+bl+cr|0)}roundClean(){BUF.fill(0)}destroy(){this.destroyed=true;this.buffer.fill(0);this.set(0,0,0,0,0)}}const ripemd160=wrapConstructor(()=>new RIPEMD160);const U32_MASK64=BigInt(2**32-1);const _32n=BigInt(32);function fromBig(n,le=false){if(le)return{h:Number(n&U32_MASK64),l:Number(n>>_32n&U32_MASK64)};return{h:Number(n>>_32n&U32_MASK64)|0,l:Number(n&U32_MASK64)|0}}function split(lst,le=false){let Ah=new Uint32Array(lst.length);let Al=new Uint32Array(lst.length);for(let i=0;iBigInt(h>>>0)<<_32n|BigInt(l>>>0);const shrSH=(h,l,s)=>h>>>s;const shrSL=(h,l,s)=>h<<32-s|l>>>s;const rotrSH=(h,l,s)=>h>>>s|l<<32-s;const rotrSL=(h,l,s)=>h<<32-s|l>>>s;const rotrBH=(h,l,s)=>h<<64-s|l>>>s-32;const rotrBL=(h,l,s)=>h>>>s-32|l<<64-s;const rotr32H=(h,l)=>l;const rotr32L=(h,l)=>h;const rotlSH=(h,l,s)=>h<>>32-s;const rotlSL=(h,l,s)=>l<>>32-s;const rotlBH=(h,l,s)=>l<>>64-s;const rotlBL=(h,l,s)=>h<>>64-s;function add(Ah,Al,Bh,Bl){const l=(Al>>>0)+(Bl>>>0);return{h:Ah+Bh+(l/2**32|0)|0,l:l|0}}const add3L=(Al,Bl,Cl)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0);const add3H=(low,Ah,Bh,Ch)=>Ah+Bh+Ch+(low/2**32|0)|0;const add4L=(Al,Bl,Cl,Dl)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0)+(Dl>>>0);const add4H=(low,Ah,Bh,Ch,Dh)=>Ah+Bh+Ch+Dh+(low/2**32|0)|0;const add5L=(Al,Bl,Cl,Dl,El)=>(Al>>>0)+(Bl>>>0)+(Cl>>>0)+(Dl>>>0)+(El>>>0);const add5H=(low,Ah,Bh,Ch,Dh,Eh)=>Ah+Bh+Ch+Dh+Eh+(low/2**32|0)|0;const u64={fromBig:fromBig,split:split,toBig:toBig,shrSH:shrSH,shrSL:shrSL,rotrSH:rotrSH,rotrSL:rotrSL,rotrBH:rotrBH,rotrBL:rotrBL,rotr32H:rotr32H,rotr32L:rotr32L,rotlSH:rotlSH,rotlSL:rotlSL,rotlBH:rotlBH,rotlBL:rotlBL,add:add,add3L:add3L,add3H:add3H,add4L:add4L,add4H:add4H,add5H:add5H,add5L:add5L};const[SHA512_Kh,SHA512_Kl]=u64.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(n=>BigInt(n)));const SHA512_W_H=new Uint32Array(80);const SHA512_W_L=new Uint32Array(80);class SHA512 extends SHA2$1{constructor(){super(128,64,16,false);this.Ah=1779033703|0;this.Al=4089235720|0;this.Bh=3144134277|0;this.Bl=2227873595|0;this.Ch=1013904242|0;this.Cl=4271175723|0;this.Dh=2773480762|0;this.Dl=1595750129|0;this.Eh=1359893119|0;this.El=2917565137|0;this.Fh=2600822924|0;this.Fl=725511199|0;this.Gh=528734635|0;this.Gl=4215389547|0;this.Hh=1541459225|0;this.Hl=327033209|0}get(){const{Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl}=this;return[Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl]}set(Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl){this.Ah=Ah|0;this.Al=Al|0;this.Bh=Bh|0;this.Bl=Bl|0;this.Ch=Ch|0;this.Cl=Cl|0;this.Dh=Dh|0;this.Dl=Dl|0;this.Eh=Eh|0;this.El=El|0;this.Fh=Fh|0;this.Fl=Fl|0;this.Gh=Gh|0;this.Gl=Gl|0;this.Hh=Hh|0;this.Hl=Hl|0}process(view,offset){for(let i=0;i<16;i++,offset+=4){SHA512_W_H[i]=view.getUint32(offset);SHA512_W_L[i]=view.getUint32(offset+=4)}for(let i=16;i<80;i++){const W15h=SHA512_W_H[i-15]|0;const W15l=SHA512_W_L[i-15]|0;const s0h=u64.rotrSH(W15h,W15l,1)^u64.rotrSH(W15h,W15l,8)^u64.shrSH(W15h,W15l,7);const s0l=u64.rotrSL(W15h,W15l,1)^u64.rotrSL(W15h,W15l,8)^u64.shrSL(W15h,W15l,7);const W2h=SHA512_W_H[i-2]|0;const W2l=SHA512_W_L[i-2]|0;const s1h=u64.rotrSH(W2h,W2l,19)^u64.rotrBH(W2h,W2l,61)^u64.shrSH(W2h,W2l,6);const s1l=u64.rotrSL(W2h,W2l,19)^u64.rotrBL(W2h,W2l,61)^u64.shrSL(W2h,W2l,6);const SUMl=u64.add4L(s0l,s1l,SHA512_W_L[i-7],SHA512_W_L[i-16]);const SUMh=u64.add4H(SUMl,s0h,s1h,SHA512_W_H[i-7],SHA512_W_H[i-16]);SHA512_W_H[i]=SUMh|0;SHA512_W_L[i]=SUMl|0}let{Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl}=this;for(let i=0;i<80;i++){const sigma1h=u64.rotrSH(Eh,El,14)^u64.rotrSH(Eh,El,18)^u64.rotrBH(Eh,El,41);const sigma1l=u64.rotrSL(Eh,El,14)^u64.rotrSL(Eh,El,18)^u64.rotrBL(Eh,El,41);const CHIh=Eh&Fh^~Eh&Gh;const CHIl=El&Fl^~El&Gl;const T1ll=u64.add5L(Hl,sigma1l,CHIl,SHA512_Kl[i],SHA512_W_L[i]);const T1h=u64.add5H(T1ll,Hh,sigma1h,CHIh,SHA512_Kh[i],SHA512_W_H[i]);const T1l=T1ll|0;const sigma0h=u64.rotrSH(Ah,Al,28)^u64.rotrBH(Ah,Al,34)^u64.rotrBH(Ah,Al,39);const sigma0l=u64.rotrSL(Ah,Al,28)^u64.rotrBL(Ah,Al,34)^u64.rotrBL(Ah,Al,39);const MAJh=Ah&Bh^Ah&Ch^Bh&Ch;const MAJl=Al&Bl^Al&Cl^Bl&Cl;Hh=Gh|0;Hl=Gl|0;Gh=Fh|0;Gl=Fl|0;Fh=Eh|0;Fl=El|0;({h:Eh,l:El}=u64.add(Dh|0,Dl|0,T1h|0,T1l|0));Dh=Ch|0;Dl=Cl|0;Ch=Bh|0;Cl=Bl|0;Bh=Ah|0;Bl=Al|0;const All=u64.add3L(T1l,sigma0l,MAJl);Ah=u64.add3H(All,T1h,sigma0h,MAJh);Al=All|0}({h:Ah,l:Al}=u64.add(this.Ah|0,this.Al|0,Ah|0,Al|0));({h:Bh,l:Bl}=u64.add(this.Bh|0,this.Bl|0,Bh|0,Bl|0));({h:Ch,l:Cl}=u64.add(this.Ch|0,this.Cl|0,Ch|0,Cl|0));({h:Dh,l:Dl}=u64.add(this.Dh|0,this.Dl|0,Dh|0,Dl|0));({h:Eh,l:El}=u64.add(this.Eh|0,this.El|0,Eh|0,El|0));({h:Fh,l:Fl}=u64.add(this.Fh|0,this.Fl|0,Fh|0,Fl|0));({h:Gh,l:Gl}=u64.add(this.Gh|0,this.Gl|0,Gh|0,Gl|0));({h:Hh,l:Hl}=u64.add(this.Hh|0,this.Hl|0,Hh|0,Hl|0));this.set(Ah,Al,Bh,Bl,Ch,Cl,Dh,Dl,Eh,El,Fh,Fl,Gh,Gl,Hh,Hl)}roundClean(){SHA512_W_H.fill(0);SHA512_W_L.fill(0)}destroy(){this.buffer.fill(0);this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class SHA512_224 extends SHA512{constructor(){super();this.Ah=2352822216|0;this.Al=424955298|0;this.Bh=1944164710|0;this.Bl=2312950998|0;this.Ch=502970286|0;this.Cl=855612546|0;this.Dh=1738396948|0;this.Dl=1479516111|0;this.Eh=258812777|0;this.El=2077511080|0;this.Fh=2011393907|0;this.Fl=79989058|0;this.Gh=1067287976|0;this.Gl=1780299464|0;this.Hh=286451373|0;this.Hl=2446758561|0;this.outputLen=28}}class SHA512_256 extends SHA512{constructor(){super();this.Ah=573645204|0;this.Al=4230739756|0;this.Bh=2673172387|0;this.Bl=3360449730|0;this.Ch=596883563|0;this.Cl=1867755857|0;this.Dh=2520282905|0;this.Dl=1497426621|0;this.Eh=2519219938|0;this.El=2827943907|0;this.Fh=3193839141|0;this.Fl=1401305490|0;this.Gh=721525244|0;this.Gl=746961066|0;this.Hh=246885852|0;this.Hl=2177182882|0;this.outputLen=32}}class SHA384 extends SHA512{constructor(){super();this.Ah=3418070365|0;this.Al=3238371032|0;this.Bh=1654270250|0;this.Bl=914150663|0;this.Ch=2438529370|0;this.Cl=812702999|0;this.Dh=355462360|0;this.Dl=4144912697|0;this.Eh=1731405415|0;this.El=4290775857|0;this.Fh=2394180231|0;this.Fl=1750603025|0;this.Gh=3675008525|0;this.Gl=1694076839|0;this.Hh=1203062813|0;this.Hl=3204075428|0;this.outputLen=48}}const sha512=wrapConstructor(()=>new SHA512);wrapConstructor(()=>new SHA512_224);wrapConstructor(()=>new SHA512_256);wrapConstructor(()=>new SHA384);utils$1.hmacSha256Sync=(key,...msgs)=>hmac(sha256$1,key,utils$1.concatBytes(...msgs));const base58check=base58check$1(sha256$1);function bytesToNumber(bytes){return BigInt(`0x${bytesToHex(bytes)}`)}function numberToBytes(num){return hexToBytes(num.toString(16).padStart(64,"0"))}const MASTER_SECRET=utf8ToBytes("Bitcoin seed");const BITCOIN_VERSIONS={private:76066276,public:76067358};const HARDENED_OFFSET=2147483648;const hash160=data=>ripemd160(sha256$1(data));const fromU32=data=>createView(data).getUint32(0,false);const toU32=n=>{if(!Number.isSafeInteger(n)||n<0||n>2**32-1){throw new Error(`Invalid number=${n}. Should be from 0 to 2 ** 32 - 1`)}const buf=new Uint8Array(4);createView(buf).setUint32(0,n,false);return buf};class HDKey{constructor(opt){this.depth=0;this.index=0;this.chainCode=null;this.parentFingerprint=0;if(!opt||typeof opt!=="object"){throw new Error("HDKey.constructor must not be called directly")}this.versions=opt.versions||BITCOIN_VERSIONS;this.depth=opt.depth||0;this.chainCode=opt.chainCode;this.index=opt.index||0;this.parentFingerprint=opt.parentFingerprint||0;if(!this.depth){if(this.parentFingerprint||this.index){throw new Error("HDKey: zero depth with non-zero index/parent fingerprint")}}if(opt.publicKey&&opt.privateKey){throw new Error("HDKey: publicKey and privateKey at same time.")}if(opt.privateKey){if(!utils$1.isValidPrivateKey(opt.privateKey)){throw new Error("Invalid private key")}this.privKey=typeof opt.privateKey==="bigint"?opt.privateKey:bytesToNumber(opt.privateKey);this.privKeyBytes=numberToBytes(this.privKey);this.pubKey=getPublicKey$1(opt.privateKey,true)}else if(opt.publicKey){this.pubKey=Point.fromHex(opt.publicKey).toRawBytes(true)}else{throw new Error("HDKey: no public or private key provided")}this.pubHash=hash160(this.pubKey)}get fingerprint(){if(!this.pubHash){throw new Error("No publicKey set!")}return fromU32(this.pubHash)}get identifier(){return this.pubHash}get pubKeyHash(){return this.pubHash}get privateKey(){return this.privKeyBytes||null}get publicKey(){return this.pubKey||null}get privateExtendedKey(){const priv=this.privateKey;if(!priv){throw new Error("No private key")}return base58check.encode(this.serialize(this.versions.private,concatBytes(new Uint8Array([0]),priv)))}get publicExtendedKey(){if(!this.pubKey){throw new Error("No public key")}return base58check.encode(this.serialize(this.versions.public,this.pubKey))}static fromMasterSeed(seed,versions=BITCOIN_VERSIONS){bytes$1(seed);if(8*seed.length<128||8*seed.length>512){throw new Error(`HDKey: wrong seed length=${seed.length}. Should be between 128 and 512 bits; 256 bits is advised)`)}const I=hmac(sha512,MASTER_SECRET,seed);return new HDKey({versions:versions,chainCode:I.slice(32),privateKey:I.slice(0,32)})}static fromExtendedKey(base58key,versions=BITCOIN_VERSIONS){const keyBuffer=base58check.decode(base58key);const keyView=createView(keyBuffer);const version=keyView.getUint32(0,false);const opt={versions:versions,depth:keyBuffer[4],parentFingerprint:keyView.getUint32(5,false),index:keyView.getUint32(9,false),chainCode:keyBuffer.slice(13,45)};const key=keyBuffer.slice(45);const isPriv=key[0]===0;if(version!==versions[isPriv?"private":"public"]){throw new Error("Version mismatch")}if(isPriv){return new HDKey({...opt,privateKey:key.slice(1)})}else{return new HDKey({...opt,publicKey:key})}}static fromJSON(json){return HDKey.fromExtendedKey(json.xpriv)}derive(path){if(!/^[mM]'?/.test(path)){throw new Error('Path must start with "m" or "M"')}if(/^[mM]'?$/.test(path)){return this}const parts=path.replace(/^[mM]'?\//,"").split("/");let child=this;for(const c of parts){const m=/^(\d+)('?)$/.exec(c);if(!m||m.length!==3){throw new Error(`Invalid child index: ${c}`)}let idx=+m[1];if(!Number.isSafeInteger(idx)||idx>=HARDENED_OFFSET){throw new Error("Invalid index")}if(m[2]==="'"){idx+=HARDENED_OFFSET}child=child.deriveChild(idx)}return child}deriveChild(index){if(!this.pubKey||!this.chainCode){throw new Error("No publicKey or chainCode set")}let data=toU32(index);if(index>=HARDENED_OFFSET){const priv=this.privateKey;if(!priv){throw new Error("Could not derive hardened child key")}data=concatBytes(new Uint8Array([0]),priv,data)}else{data=concatBytes(this.pubKey,data)}const I=hmac(sha512,this.chainCode,data);const childTweak=bytesToNumber(I.slice(0,32));const chainCode=I.slice(32);if(!utils$1.isValidPrivateKey(childTweak)){throw new Error("Tweak bigger than curve order")}const opt={versions:this.versions,chainCode:chainCode,depth:this.depth+1,parentFingerprint:this.fingerprint,index:index};try{if(this.privateKey){const added=utils$1.mod(this.privKey+childTweak,CURVE.n);if(!utils$1.isValidPrivateKey(added)){throw new Error("The tweak was out of range or the resulted private key is invalid")}opt.privateKey=added}else{const added=Point.fromHex(this.pubKey).add(Point.fromPrivateKey(childTweak));if(added.equals(Point.ZERO)){throw new Error("The tweak was equal to negative P, which made the result key invalid")}opt.publicKey=added.toRawBytes(true)}return new HDKey(opt)}catch(err){return this.deriveChild(index+1)}}sign(hash){if(!this.privateKey){throw new Error("No privateKey set!")}bytes$1(hash,32);return signSync(hash,this.privKey,{canonical:true,der:false})}verify(hash,signature){bytes$1(hash,32);bytes$1(signature,64);if(!this.publicKey){throw new Error("No publicKey set!")}let sig;try{sig=Signature.fromCompact(signature)}catch(error){return false}return verify(sig,hash,this.publicKey)}wipePrivateData(){this.privKey=undefined;if(this.privKeyBytes){this.privKeyBytes.fill(0);this.privKeyBytes=undefined}return this}toJSON(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}}serialize(version,key){if(!this.chainCode){throw new Error("No chainCode set")}bytes$1(key,33);return concatBytes(toU32(version),new Uint8Array([this.depth]),toU32(this.parentFingerprint),toU32(this.index),this.chainCode,key)}}var __defProp=Object.defineProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};function generatePrivateKey(){return utils$1.bytesToHex(utils$1.randomPrivateKey())}function getPublicKey(privateKey){return utils$1.bytesToHex(schnorr.getPublicKey(privateKey))}var utils_exports={};__export(utils_exports,{insertEventIntoAscendingList:()=>insertEventIntoAscendingList,insertEventIntoDescendingList:()=>insertEventIntoDescendingList,normalizeURL:()=>normalizeURL,utf8Decoder:()=>utf8Decoder,utf8Encoder:()=>utf8Encoder});var utf8Decoder=new TextDecoder("utf-8");var utf8Encoder=new TextEncoder;function normalizeURL(url){let p=new URL(url);p.pathname=p.pathname.replace(/\/+/g,"/");if(p.pathname.endsWith("/"))p.pathname=p.pathname.slice(0,-1);if(p.port==="80"&&p.protocol==="ws:"||p.port==="443"&&p.protocol==="wss:")p.port="";p.searchParams.sort();p.hash="";return p.toString()}function insertEventIntoDescendingList(sortedArray,event){let start=0;let end=sortedArray.length-1;let midPoint;let position=start;if(end<0){position=0}else if(event.created_at=sortedArray[start].created_at){position=start}else while(true){if(end<=start+1){position=end;break}midPoint=Math.floor(start+(end-start)/2);if(sortedArray[midPoint].created_at>event.created_at){start=midPoint}else if(sortedArray[midPoint].created_atsortedArray[end].created_at){position=end+1}else if(event.created_at<=sortedArray[start].created_at){position=start}else while(true){if(end<=start+1){position=end;break}midPoint=Math.floor(start+(end-start)/2);if(sortedArray[midPoint].created_atevent.created_at){end=midPoint}else{position=midPoint;break}}if(sortedArray[position]?.id!==event.id){return[...sortedArray.slice(0,position),event,...sortedArray.slice(position)]}return sortedArray}function serializeEvent(evt){if(!validateEvent(evt))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,evt.pubkey,evt.created_at,evt.kind,evt.tags,evt.content])}function getEventHash(event){let eventHash=sha256$1(utf8Encoder.encode(serializeEvent(event)));return utils$1.bytesToHex(eventHash)}function validateEvent(event){if(typeof event!=="object")return false;if(typeof event.kind!=="number")return false;if(typeof event.content!=="string")return false;if(typeof event.created_at!=="number")return false;if(typeof event.pubkey!=="string")return false;if(!event.pubkey.match(/^[a-f0-9]{64}$/))return false;if(!Array.isArray(event.tags))return false;for(let i=0;ievent.id.startsWith(prefix))){return false}}if(filter.kinds&&filter.kinds.indexOf(event.kind)===-1)return false;if(filter.authors&&filter.authors.indexOf(event.pubkey)===-1){if(!filter.authors.some(prefix=>event.pubkey.startsWith(prefix))){return false}}for(let f in filter){if(f[0]==="#"){let tagName=f.slice(1);let values=filter[`#${tagName}`];if(values&&!event.tags.find(([t,v])=>t===f.slice(1)&&values.indexOf(v)!==-1))return false}}if(filter.since&&event.created_at=filter.until)return false;return true}function matchFilters(filters,event){for(let i=0;igetHex64,getInt:()=>getInt,getSubscriptionId:()=>getSubscriptionId,matchEventId:()=>matchEventId,matchEventKind:()=>matchEventKind,matchEventPubkey:()=>matchEventPubkey});function getHex64(json,field){let len=field.length+3;let idx=json.indexOf(`"${field}":`)+len;let s=json.slice(idx).indexOf(`"`)+idx+1;return json.slice(s,s+64)}function getInt(json,field){let len=field.length;let idx=json.indexOf(`"${field}":`)+len+3;let sliced=json.slice(idx);let end=Math.min(sliced.indexOf(","),sliced.indexOf("}"));return parseInt(sliced.slice(0,end),10)}function getSubscriptionId(json){let idx=json.slice(0,22).indexOf(`"EVENT"`);if(idx===-1)return null;let pstart=json.slice(idx+7+1).indexOf(`"`);if(pstart===-1)return null;let start=idx+7+1+pstart;let pend=json.slice(start+1,80).indexOf(`"`);if(pend===-1)return null;let end=start+1+pend;return json.slice(start+1,end)}function matchEventId(json,id){return id===getHex64(json,"id")}function matchEventPubkey(json,pubkey){return pubkey===getHex64(json,"pubkey")}function matchEventKind(json,kind){return kind===getInt(json,"kind")}function relayInit(url,options={}){let{listTimeout=3e3,getTimeout=3e3}=options;var ws;var openSubs={};var listeners={connect:[],disconnect:[],error:[],notice:[]};var subListeners={};var pubListeners={};var connectionPromise;async function connectRelay(){if(connectionPromise)return connectionPromise;connectionPromise=new Promise((resolve,reject)=>{try{ws=new WebSocket(url)}catch(err){reject(err)}ws.onopen=()=>{listeners.connect.forEach(cb=>cb());resolve()};ws.onerror=()=>{connectionPromise=void 0;listeners.error.forEach(cb=>cb());reject()};ws.onclose=async()=>{connectionPromise=void 0;listeners.disconnect.forEach(cb=>cb())};let incomingMessageQueue=[];let handleNextInterval;ws.onmessage=e=>{incomingMessageQueue.push(e.data);if(!handleNextInterval){handleNextInterval=setInterval(handleNext,0)}};function handleNext(){if(incomingMessageQueue.length===0){clearInterval(handleNextInterval);handleNextInterval=null;return}var json=incomingMessageQueue.shift();if(!json)return;let subid=getSubscriptionId(json);if(subid){let so=openSubs[subid];if(so&&so.alreadyHaveEvent&&so.alreadyHaveEvent(getHex64(json,"id"),url)){return}}try{let data=JSON.parse(json);switch(data[0]){case"EVENT":let id=data[1];let event=data[2];if(validateEvent(event)&&openSubs[id]&&(openSubs[id].skipVerification||verifySignature(event))&&matchFilters(openSubs[id].filters,event)){openSubs[id];(subListeners[id]?.event||[]).forEach(cb=>cb(event))}return;case"EOSE":{let id2=data[1];if(id2 in subListeners){subListeners[id2].eose.forEach(cb=>cb());subListeners[id2].eose=[]}return}case"OK":{let id2=data[1];let ok=data[2];let reason=data[3]||"";if(id2 in pubListeners){if(ok)pubListeners[id2].ok.forEach(cb=>cb());else pubListeners[id2].failed.forEach(cb=>cb(reason));pubListeners[id2].ok=[];pubListeners[id2].failed=[]}return}case"NOTICE":let notice=data[1];listeners.notice.forEach(cb=>cb(notice));return}}catch(err){return}}});return connectionPromise}function connected(){return ws?.readyState===1}async function connect(){if(connected())return;await connectRelay()}async function trySend(params){let msg=JSON.stringify(params);if(!connected()){await new Promise(resolve=>setTimeout(resolve,1e3));if(!connected()){return}}try{ws.send(msg)}catch(err){console.log(err)}}const sub=(filters,{skipVerification=false,alreadyHaveEvent=null,id=Math.random().toString().slice(2)}={})=>{let subid=id;openSubs[subid]={id:subid,filters:filters,skipVerification:skipVerification,alreadyHaveEvent:alreadyHaveEvent};trySend(["REQ",subid,...filters]);return{sub:(newFilters,newOpts={})=>sub(newFilters||filters,{skipVerification:newOpts.skipVerification||skipVerification,alreadyHaveEvent:newOpts.alreadyHaveEvent||alreadyHaveEvent,id:subid}),unsub:()=>{delete openSubs[subid];delete subListeners[subid];trySend(["CLOSE",subid])},on:(type,cb)=>{subListeners[subid]=subListeners[subid]||{event:[],eose:[]};subListeners[subid][type].push(cb)},off:(type,cb)=>{let listeners2=subListeners[subid];let idx=listeners2[type].indexOf(cb);if(idx>=0)listeners2[type].splice(idx,1)}}};return{url:url,sub:sub,on:(type,cb)=>{listeners[type].push(cb);if(type==="connect"&&ws?.readyState===1){cb()}},off:(type,cb)=>{let index=listeners[type].indexOf(cb);if(index!==-1)listeners[type].splice(index,1)},list:(filters,opts)=>new Promise(resolve=>{let s=sub(filters,opts);let events=[];let timeout=setTimeout(()=>{s.unsub();resolve(events)},listTimeout);s.on("eose",()=>{s.unsub();clearTimeout(timeout);resolve(events)});s.on("event",event=>{events.push(event)})}),get:(filter,opts)=>new Promise(resolve=>{let s=sub([filter],opts);let timeout=setTimeout(()=>{s.unsub();resolve(null)},getTimeout);s.on("event",event=>{s.unsub();clearTimeout(timeout);resolve(event)})}),publish(event){if(!event.id)throw new Error(`event ${event} has no id`);let id=event.id;trySend(["EVENT",event]);return{on:(type,cb)=>{pubListeners[id]=pubListeners[id]||{ok:[],failed:[]};pubListeners[id][type].push(cb)},off:(type,cb)=>{let listeners2=pubListeners[id];if(!listeners2)return;let idx=listeners2[type].indexOf(cb);if(idx>=0)listeners2[type].splice(idx,1)}}},connect:connect,close(){listeners={connect:[],disconnect:[],error:[],notice:[]};subListeners={};pubListeners={};if(ws.readyState===WebSocket.OPEN){ws?.close()}},get status(){return ws?.readyState??3}}}var nip19_exports={};__export(nip19_exports,{decode:()=>decode$1,naddrEncode:()=>naddrEncode,neventEncode:()=>neventEncode,noteEncode:()=>noteEncode,nprofileEncode:()=>nprofileEncode,npubEncode:()=>npubEncode,nsecEncode:()=>nsecEncode});var Bech32MaxSize=5e3;function decode$1(nip19){let{prefix,words}=bech32$1.decode(nip19,Bech32MaxSize);let data=new Uint8Array(bech32$1.fromWords(words));switch(prefix){case"nprofile":{let tlv=parseTLV(data);if(!tlv[0]?.[0])throw new Error("missing TLV 0 for nprofile");if(tlv[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:utils$1.bytesToHex(tlv[0][0]),relays:tlv[1]?tlv[1].map(d=>utf8Decoder.decode(d)):[]}}}case"nevent":{let tlv=parseTLV(data);if(!tlv[0]?.[0])throw new Error("missing TLV 0 for nevent");if(tlv[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");if(tlv[2]&&tlv[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");return{type:"nevent",data:{id:utils$1.bytesToHex(tlv[0][0]),relays:tlv[1]?tlv[1].map(d=>utf8Decoder.decode(d)):[],author:tlv[2]?.[0]?utils$1.bytesToHex(tlv[2][0]):void 0}}}case"naddr":{let tlv=parseTLV(data);if(!tlv[0]?.[0])throw new Error("missing TLV 0 for naddr");if(!tlv[2]?.[0])throw new Error("missing TLV 2 for naddr");if(tlv[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(!tlv[3]?.[0])throw new Error("missing TLV 3 for naddr");if(tlv[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:utf8Decoder.decode(tlv[0][0]),pubkey:utils$1.bytesToHex(tlv[2][0]),kind:parseInt(utils$1.bytesToHex(tlv[3][0]),16),relays:tlv[1]?tlv[1].map(d=>utf8Decoder.decode(d)):[]}}}case"nsec":case"npub":case"note":return{type:prefix,data:utils$1.bytesToHex(data)};default:throw new Error(`unknown prefix ${prefix}`)}}function parseTLV(data){let result={};let rest=data;while(rest.length>0){let t=rest[0];let l=rest[1];let v=rest.slice(2,2+l);rest=rest.slice(2+l);if(v.lengthutf8Encoder.encode(url))});let words=bech32$1.toWords(data);return bech32$1.encode("nprofile",words,Bech32MaxSize)}function neventEncode(event){let data=encodeTLV({0:[utils$1.hexToBytes(event.id)],1:(event.relays||[]).map(url=>utf8Encoder.encode(url)),2:event.author?[utils$1.hexToBytes(event.author)]:[]});let words=bech32$1.toWords(data);return bech32$1.encode("nevent",words,Bech32MaxSize)}function naddrEncode(addr){let kind=new ArrayBuffer(4);new DataView(kind).setUint32(0,addr.kind,false);let data=encodeTLV({0:[utf8Encoder.encode(addr.identifier)],1:(addr.relays||[]).map(url=>utf8Encoder.encode(url)),2:[utils$1.hexToBytes(addr.pubkey)],3:[new Uint8Array(kind)]});let words=bech32$1.toWords(data);return bech32$1.encode("naddr",words,Bech32MaxSize)}function encodeTLV(tlv){let entries=[];Object.entries(tlv).forEach(([t,vs])=>{vs.forEach(v=>{let entry=new Uint8Array(v.length+2);entry.set([parseInt(t)],0);entry.set([v.length],1);entry.set(v,2);entries.push(entry)})});return utils$1.concatBytes(...entries)}var nip04_exports={};__export(nip04_exports,{decrypt:()=>decrypt,encrypt:()=>encrypt});async function encrypt(privkey,pubkey,text){const key=getSharedSecret(privkey,"02"+pubkey);const normalizedKey=getNormalizedX(key);let iv=Uint8Array.from(randomBytes(16));let plaintext=utf8Encoder.encode(text);let cryptoKey=await crypto.subtle.importKey("raw",normalizedKey,{name:"AES-CBC"},false,["encrypt"]);let ciphertext=await crypto.subtle.encrypt({name:"AES-CBC",iv:iv},cryptoKey,plaintext);let ctb64=base64.encode(new Uint8Array(ciphertext));let ivb64=base64.encode(new Uint8Array(iv.buffer));return`${ctb64}?iv=${ivb64}`}async function decrypt(privkey,pubkey,data){let[ctb64,ivb64]=data.split("?iv=");let key=getSharedSecret(privkey,"02"+pubkey);let normalizedKey=getNormalizedX(key);let cryptoKey=await crypto.subtle.importKey("raw",normalizedKey,{name:"AES-CBC"},false,["decrypt"]);let ciphertext=base64.decode(ctb64);let iv=base64.decode(ivb64);let plaintext=await crypto.subtle.decrypt({name:"AES-CBC",iv:iv},cryptoKey,ciphertext);let text=utf8Decoder.decode(plaintext);return text}function getNormalizedX(key){return key.slice(1,33)}var nip05_exports={};__export(nip05_exports,{queryProfile:()=>queryProfile,searchDomain:()=>searchDomain,useFetchImplementation:()=>useFetchImplementation});var _fetch;try{_fetch=fetch}catch{}function useFetchImplementation(fetchImplementation){_fetch=fetchImplementation}async function searchDomain(domain,query=""){try{let res=await(await _fetch(`https://${domain}/.well-known/nostr.json?name=${query}`)).json();return res.names}catch(_){return{}}}async function queryProfile(fullname){let[name,domain]=fullname.split("@");if(!domain){domain=name;name="_"}if(!name.match(/^[A-Za-z0-9-_]+$/))return null;if(!domain.includes("."))return null;let res;try{res=await(await _fetch(`https://${domain}/.well-known/nostr.json?name=${name}`)).json()}catch(err){return null}if(!res?.names?.[name])return null;let pubkey=res.names[name];let relays=res.relays?.[pubkey]||[];return{pubkey:pubkey,relays:relays}}var nip06_exports={};__export(nip06_exports,{generateSeedWords:()=>generateSeedWords,privateKeyFromSeedWords:()=>privateKeyFromSeedWords,validateWords:()=>validateWords});function privateKeyFromSeedWords(mnemonic,passphrase){let root=HDKey.fromMasterSeed(mnemonicToSeedSync_1(mnemonic,passphrase));let privateKey=root.derive(`m/44'/1237'/0'/0/0`).privateKey;if(!privateKey)throw new Error("could not derive private key");return utils$1.bytesToHex(privateKey)}function generateSeedWords(){return generateMnemonic_1(wordlist)}function validateWords(words){return validateMnemonic_1(words,wordlist)}var nip10_exports={};__export(nip10_exports,{parse:()=>parse});function parse(event){const result={reply:void 0,root:void 0,mentions:[],profiles:[]};const eTags=[];for(const tag of event.tags){if(tag[0]==="e"&&tag[1]){eTags.push(tag)}if(tag[0]==="p"&&tag[1]){result.profiles.push({pubkey:tag[1],relays:tag[2]?[tag[2]]:[]})}}for(let eTagIndex=0;eTagIndexcreateDelegation,getDelegator:()=>getDelegator});function createDelegation(privateKey,parameters){let conditions=[];if((parameters.kind||-1)>=0)conditions.push(`kind=${parameters.kind}`);if(parameters.until)conditions.push(`created_at<${parameters.until}`);if(parameters.since)conditions.push(`created_at>${parameters.since}`);let cond=conditions.join("&");if(cond==="")throw new Error("refusing to create a delegation without any conditions");let sighash=sha256$1(utf8Encoder.encode(`nostr:delegation:${parameters.pubkey}:${cond}`));let sig=utils$1.bytesToHex(schnorr.signSync(sighash,privateKey));return{from:getPublicKey(privateKey),to:parameters.pubkey,cond:cond,sig:sig}}function getDelegator(event){let tag=event.tags.find(tag2=>tag2[0]==="delegation"&&tag2.length>=4);if(!tag)return null;let pubkey=tag[1];let cond=tag[2];let sig=tag[3];let conditions=cond.split("&");for(let i=0;i"&&event.created_at>parseInt(value))continue;else return null}let sighash=sha256$1(utf8Encoder.encode(`nostr:delegation:${event.pubkey}:${cond}`));if(!schnorr.verifySync(sig,sighash,pubkey))return null;return pubkey}var nip39_exports={};__export(nip39_exports,{useFetchImplementation:()=>useFetchImplementation2,validateGithub:()=>validateGithub});var _fetch2;try{_fetch2=fetch}catch{}function useFetchImplementation2(fetchImplementation){_fetch2=fetchImplementation}async function validateGithub(pubkey,username,proof){try{let res=await(await _fetch2(`https://gist.github.com/${username}/${proof}/raw`)).text();return res===`Verifying that I control the following Nostr public key: ${pubkey}`}catch(_){return false}}var nip57_exports={};__export(nip57_exports,{getZapEndpoint:()=>getZapEndpoint,makeZapReceipt:()=>makeZapReceipt,makeZapRequest:()=>makeZapRequest,useFetchImplementation:()=>useFetchImplementation3,validateZapRequest:()=>validateZapRequest});var _fetch3;try{_fetch3=fetch}catch{}function useFetchImplementation3(fetchImplementation){_fetch3=fetchImplementation}async function getZapEndpoint(metadata){try{let lnurl="";let{lud06,lud16}=JSON.parse(metadata.content);if(lud06){let{words}=bech32$1.decode(lud06,1e3);let data=bech32$1.fromWords(words);lnurl=utf8Decoder.decode(data)}else if(lud16){let[name,domain]=lud16.split("@");lnurl=`https://${domain}/.well-known/lnurlp/${name}`}else{return null}let res=await _fetch3(lnurl);let body=await res.json();if(body.allowsNostr&&body.nostrPubkey){return body.callback}}catch(err){}return null}function makeZapRequest({profile,event,amount,relays,comment=""}){if(!amount)throw new Error("amount not given");if(!profile)throw new Error("profile not given");let zr={kind:9734,created_at:Math.round(Date.now()/1e3),content:comment,tags:[["p",profile],["amount",amount.toString()],["relays",...relays]]};if(event){zr.tags.push(["e",event])}return zr}function validateZapRequest(zapRequestString){let zapRequest;try{zapRequest=JSON.parse(zapRequestString)}catch(err){return"Invalid zap request JSON."}if(!validateEvent(zapRequest))return"Zap request is not a valid Nostr event.";if(!verifySignature(zapRequest))return"Invalid signature on zap request.";let p=zapRequest.tags.find(([t,v])=>t==="p"&&v);if(!p)return"Zap request doesn't have a 'p' tag.";if(!p[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let e=zapRequest.tags.find(([t,v])=>t==="e"&&v);if(e&&!e[1].match(/^[a-f0-9]{64}$/))return"Zap request 'e' tag is not valid hex.";let relays=zapRequest.tags.find(([t,v])=>t==="relays"&&v);if(!relays)return"Zap request doesn't have a 'relays' tag.";return null}function makeZapReceipt({zapRequest,preimage,bolt11,paidAt}){let zr=JSON.parse(zapRequest);let tagsFromZapRequest=zr.tags.filter(([t])=>t==="e"||t==="p"||t==="a");let zap={kind:9735,created_at:Math.round(paidAt.getTime()/1e3),content:"",tags:[...tagsFromZapRequest,["bolt11",bolt11],["description",zapRequest]]};if(preimage){zap.tags.push(["preimage",preimage])}return zap}utils$1.hmacSha256Sync=(key,...msgs)=>hmac(sha256$1,key,utils$1.concatBytes(...msgs));utils$1.sha256Sync=(...msgs)=>sha256$1(utils$1.concatBytes(...msgs));const WS=WebSocket;Relay$1.prototype.wait_connected=async function relay_wait_connected(data){let retry=1e3;while(true){if(this.ws.readyState!==1){await sleep(retry);retry*=1.5}else{return}}};function Relay$1(relay,opts={}){if(!(this instanceof Relay$1))return new Relay$1(relay,opts);this.url=relay;this.opts=opts;if(opts.reconnect==null)opts.reconnect=true;const me=this;me.onfn={};init_websocket(me).catch(e=>{if(me.onfn.error)me.onfn.error(e)});return this}function init_websocket(me){return new Promise((resolve,reject)=>{const ws=me.ws=new WS(me.url);let resolved=false;ws.onmessage=m=>{handle_nostr_message(me,m);if(me.onfn.message)me.onfn.message(m)};ws.onclose=e=>{if(me.onfn.close)me.onfn.close(e);if(me.reconnecting)return reject(new Error("close during reconnect"));if(!me.manualClose&&me.opts.reconnect)reconnect(me)};ws.onerror=e=>{if(me.onfn.error)me.onfn.error(e);if(me.reconnecting)return reject(new Error("error during reconnect"));if(me.opts.reconnect)reconnect(me)};ws.onopen=e=>{if(me.onfn.open)me.onfn.open(e);if(resolved)return;resolved=true;resolve(me)}})}function sleep(ms){return new Promise(resolve=>setTimeout(resolve,ms))}async function reconnect(me){let n=100;try{me.reconnecting=true;await init_websocket(me);me.reconnecting=false}catch{await sleep(n);n*=1.5}}Relay$1.prototype.on=function relayOn(method,fn){this.onfn[method]=fn;return this};Relay$1.prototype.close=function relayClose(){if(this.ws){this.manualClose=true;this.ws.close()}};Relay$1.prototype.subscribe=function relay_subscribe(sub_id,filters){if(Array.isArray(filters))this.send(["REQ",sub_id,...filters]);else this.send(["REQ",sub_id,filters])};Relay$1.prototype.unsubscribe=function relay_unsubscribe(sub_id){this.send(["CLOSE",sub_id])};Relay$1.prototype.send=async function relay_send(data){await this.wait_connected();this.ws.send(JSON.stringify(data))};function handle_nostr_message(relay,msg){let data;try{data=JSON.parse(msg.data)}catch(e){console.error("handle_nostr_message",e);return}if(data.length>=2){switch(data[0]){case"EVENT":if(data.length<3)return;return relay.onfn.event&&relay.onfn.event(data[1],data[2]);case"EOSE":return relay.onfn.eose&&relay.onfn.eose(data[1]);case"NOTICE":return relay.onfn.notice&&relay.onfn.notice(...data.slice(1));case"OK":return relay.onfn.ok&&relay.onfn.ok(...data.slice(1))}}}var relay=Relay$1;const Relay=relay;function RelayPool(relays,opts){if(!(this instanceof RelayPool))return new RelayPool(relays,opts);this.onfn={};this.relays=[];this.opts=opts;for(const relay of relays){this.add(relay)}return this}RelayPool.prototype.close=function relayPoolClose(){for(const relay of this.relays){relay.close()}};RelayPool.prototype.on=function relayPoolOn(method,fn){for(const relay of this.relays){this.onfn[method]=fn;relay.onfn[method]=fn.bind(null,relay)}return this};RelayPool.prototype.has=function relayPoolHas(relayUrl){for(const relay of this.relays){if(relay.url===relayUrl)return true}return false};RelayPool.prototype.send=function relayPoolSend(payload,relay_ids){const relays=relay_ids?this.find_relays(relay_ids):this.relays;for(const relay of relays){relay.send(payload)}};RelayPool.prototype.setupHandlers=function relayPoolSetupHandlers(){const keys=Object.keys(this.onfn);for(const handler of keys){for(const relay of this.relays){relay.onfn[handler]=this.onfn[handler].bind(null,relay)}}};RelayPool.prototype.remove=function relayPoolRemove(url){let i=0;for(const relay of this.relays){if(relay.url===url){relay.ws&&relay.ws.close();this.relays=this.replays.splice(i,1);return true}i+=1}return false};RelayPool.prototype.subscribe=function relayPoolSubscribe(sub_id,filters,relay_ids){const relays=relay_ids?this.find_relays(relay_ids):this.relays;for(const relay of relays){relay.subscribe(sub_id,filters)}};RelayPool.prototype.unsubscribe=function relayPoolUnsubscibe(sub_id,relay_ids){const relays=relay_ids?this.find_relays(relay_ids):this.relays;for(const relay of relays){relay.unsubscribe(sub_id)}};RelayPool.prototype.add=function relayPoolAdd(relay){if(relay instanceof Relay){if(this.has(relay.url))return false;this.relays.push(relay);this.setupHandlers();return true}if(this.has(relay))return false;const r=Relay(relay,this.opts);this.relays.push(r);this.setupHandlers();return true};RelayPool.prototype.find_relays=function relayPoolFindRelays(relay_ids){if(relay_ids instanceof Relay)return[relay_ids];if(relay_ids.length===0)return[];if(!relay_ids[0])throw new Error("what!?");if(relay_ids[0]instanceof Relay)return relay_ids;return this.relays.reduce((acc,relay)=>{if(relay_ids.some(rid=>relay.url===rid))acc.push(relay);return acc},[])};var relayPool=RelayPool;var eventsExports={};var events={get exports(){return eventsExports},set exports(v){eventsExports=v}};var R=typeof Reflect==="object"?Reflect:null;var ReflectApply=R&&typeof R.apply==="function"?R.apply:function ReflectApply(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};var ReflectOwnKeys;if(R&&typeof R.ownKeys==="function"){ReflectOwnKeys=R.ownKeys}else if(Object.getOwnPropertySymbols){ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}}else{ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target)}}function ProcessEmitWarning(warning){if(console&&console.warn)console.warn(warning)}var NumberIsNaN=Number.isNaN||function NumberIsNaN(value){return value!==value};function EventEmitter$1(){EventEmitter$1.init.call(this)}events.exports=EventEmitter$1;eventsExports.once=once;EventEmitter$1.EventEmitter=EventEmitter$1;EventEmitter$1.prototype._events=undefined;EventEmitter$1.prototype._eventsCount=0;EventEmitter$1.prototype._maxListeners=undefined;var defaultMaxListeners=10;function checkListener(listener){if(typeof listener!=="function"){throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}}Object.defineProperty(EventEmitter$1,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||NumberIsNaN(arg)){throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".")}defaultMaxListeners=arg}});EventEmitter$1.init=function(){if(this._events===undefined||this._events===Object.getPrototypeOf(this)._events){this._events=Object.create(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined};EventEmitter$1.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||NumberIsNaN(n)){throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".")}this._maxListeners=n;return this};function _getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter$1.defaultMaxListeners;return that._maxListeners}EventEmitter$1.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)};EventEmitter$1.prototype.emit=function emit(type){var args=[];for(var i=1;i0)er=args[0];if(er instanceof Error){throw er}var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));err.context=er;throw err}var handler=events[type];if(handler===undefined)return false;if(typeof handler==="function"){ReflectApply(handler,this,args)}else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i0&&existing.length>m&&!existing.warned){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners "+"added. Use emitter.setMaxListeners() to "+"increase limit");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;ProcessEmitWarning(w)}}return target}EventEmitter$1.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter$1.prototype.on=EventEmitter$1.prototype.addListener;EventEmitter$1.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;if(arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=onceWrapper.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter$1.prototype.once=function once(type,listener){checkListener(listener);this.on(type,_onceWrap(this,type,listener));return this};EventEmitter$1.prototype.prependOnceListener=function prependOnceListener(type,listener){checkListener(listener);this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter$1.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;checkListener(listener);events=this._events;if(events===undefined)return this;list=events[type];if(list===undefined)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=Object.create(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else{spliceOne(list,position)}if(list.length===1)events[type]=list[0];if(events.removeListener!==undefined)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter$1.prototype.off=EventEmitter$1.prototype.removeListener;EventEmitter$1.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(events===undefined)return this;if(events.removeListener===undefined){if(arguments.length===0){this._events=Object.create(null);this._eventsCount=0}else if(events[type]!==undefined){if(--this._eventsCount===0)this._events=Object.create(null);else delete events[type]}return this}if(arguments.length===0){var keys=Object.keys(events);var key;for(i=0;i=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(events===undefined)return[];var evlistener=events[type];if(evlistener===undefined)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter$1.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter$1.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter$1.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter$1.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events!==undefined){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener!==undefined){return evlistener.length}}return 0}EventEmitter$1.prototype.eventNames=function eventNames(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i0){return parse(val)}else if(type==="number"&&isFinite(val)){return options.long?fmtLong(val):fmtShort(val)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))};function parse(str){str=String(str);if(str.length>100){return}var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(!match){return}var n=parseFloat(match[1]);var type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return undefined}}function fmtShort(ms){var msAbs=Math.abs(ms);if(msAbs>=d){return Math.round(ms/d)+"d"}if(msAbs>=h){return Math.round(ms/h)+"h"}if(msAbs>=m){return Math.round(ms/m)+"m"}if(msAbs>=s){return Math.round(ms/s)+"s"}return ms+"ms"}function fmtLong(ms){var msAbs=Math.abs(ms);if(msAbs>=d){return plural(ms,msAbs,d,"day")}if(msAbs>=h){return plural(ms,msAbs,h,"hour")}if(msAbs>=m){return plural(ms,msAbs,m,"minute")}if(msAbs>=s){return plural(ms,msAbs,s,"second")}return ms+" ms"}function plural(ms,msAbs,n,name){var isPlural=msAbs>=n*1.5;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}return ms}function setup(env){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=requireMs();createDebug.destroy=destroy;Object.keys(env).forEach(key=>{createDebug[key]=env[key]});createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i{if(match==="%%"){return"%"}index++;const formatter=createDebug.formatters[format];if(typeof formatter==="function"){const val=args[index];match=formatter.call(self,val);args.splice(index,1);index--}return match});createDebug.formatArgs.call(self,args);const logFn=self.log||createDebug.log;logFn.apply(self,args)}debug.namespace=namespace;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(namespace);debug.extend=extend;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(enableOverride!==null){return enableOverride}if(namespacesCache!==createDebug.namespaces){namespacesCache=createDebug.namespaces;enabledCache=createDebug.enabled(namespace)}return enabledCache},set:v=>{enableOverride=v}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend(namespace,delimiter){const newDebug=createDebug(this.namespace+(typeof delimiter==="undefined"?":":delimiter)+namespace);newDebug.log=this.log;return newDebug}function enable(namespaces){createDebug.save(namespaces);createDebug.namespaces=namespaces;createDebug.names=[];createDebug.skips=[];let i;const split=(typeof namespaces==="string"?namespaces:"").split(/[\s,]+/);const len=split.length;for(i=0;i"-"+namespace)].join(",");createDebug.enable("");return namespaces}function enabled(name){if(name[name.length-1]==="*"){return true}let i;let len;for(i=0,len=createDebug.skips.length;i{let warned=false;return()=>{if(!warned){warned=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();exports.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 useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(args){args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff);if(!this.useColors){return}const c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0;let lastC=0;args[0].replace(/%[a-zA-Z%]/g,match=>{if(match==="%%"){return}index++;if(match==="%c"){lastC=index}});args.splice(lastC,0,c)}exports.log=console.debug||console.log||(()=>{});function save(namespaces){try{if(namespaces){exports.storage.setItem("debug",namespaces)}else{exports.storage.removeItem("debug")}}catch(error){}}function load(){let r;try{r=exports.storage.getItem("debug")}catch(error){}if(!r&&typeof process!=="undefined"&&"env"in process){r=process.env.DEBUG}return r}function localstorage(){try{return localStorage}catch(error){}}module.exports=common(exports);const{formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}})(browser$2,browserExports);var eventemitter3Exports={};var eventemitter3={get exports(){return eventemitter3Exports},set exports(v){eventemitter3Exports=v}};(function(module){var has=Object.prototype.hasOwnProperty,prefix="~";function Events(){}if(Object.create){Events.prototype=Object.create(null);if(!(new Events).__proto__)prefix=false}function EE(fn,context,once){this.fn=fn;this.context=context;this.once=once||false}function addListener(emitter,event,fn,context,once){if(typeof fn!=="function"){throw new TypeError("The listener must be a function")}var listener=new EE(fn,context||emitter,once),evt=prefix?prefix+event:event;if(!emitter._events[evt])emitter._events[evt]=listener,emitter._eventsCount++;else if(!emitter._events[evt].fn)emitter._events[evt].push(listener);else emitter._events[evt]=[emitter._events[evt],listener];return emitter}function clearEvent(emitter,evt){if(--emitter._eventsCount===0)emitter._events=new Events;else delete emitter._events[evt]}function EventEmitter(){this._events=new Events;this._eventsCount=0}EventEmitter.prototype.eventNames=function eventNames(){var names=[],events,name;if(this._eventsCount===0)return names;for(name in events=this._events){if(has.call(events,name))names.push(prefix?name.slice(1):name)}if(Object.getOwnPropertySymbols){return names.concat(Object.getOwnPropertySymbols(events))}return names};EventEmitter.prototype.listeners=function listeners(event){var evt=prefix?prefix+event:event,handlers=this._events[evt];if(!handlers)return[];if(handlers.fn)return[handlers.fn];for(var i=0,l=handlers.length,ee=new Array(l);i (http://dev.sipdoc.net)"];var version$1="1.0.34";var repository={type:"git",url:"https://github.com/theturtle32/WebSocket-Node.git"};var homepage="https://github.com/theturtle32/WebSocket-Node";var engines={node:">=4.0.0"};var dependencies={bufferutil:"^4.0.1",debug:"^2.2.0","es5-ext":"^0.10.50","typedarray-to-buffer":"^3.1.5","utf-8-validate":"^5.0.2",yaeti:"^0.0.6"};var devDependencies={"buffer-equal":"^1.0.0",gulp:"^4.0.2","gulp-jshint":"^2.0.4","jshint-stylish":"^2.2.1",jshint:"^2.0.0",tape:"^4.9.1"};var config={verbose:false};var scripts={test:"tape test/unit/*.js",gulp:"gulp"};var main="index";var directories={lib:"./lib"};var browser$1="lib/browser.js";var license="Apache-2.0";var require$$0={name:name,description:description,keywords:keywords,author:author,contributors:contributors,version:version$1,repository:repository,homepage:homepage,engines:engines,dependencies:dependencies,devDependencies:devDependencies,config:config,scripts:scripts,main:main,directories:directories,browser:browser$1,license:license};var version;var hasRequiredVersion;function requireVersion(){if(hasRequiredVersion)return version;hasRequiredVersion=1;version=require$$0.version;return version}var browser;var hasRequiredBrowser;function requireBrowser(){if(hasRequiredBrowser)return browser;hasRequiredBrowser=1;var _globalThis;if(typeof globalThis==="object"){_globalThis=globalThis}else{try{_globalThis=requireGlobal$2()}catch(error){}finally{if(!_globalThis&&typeof window!=="undefined"){_globalThis=window}if(!_globalThis){throw new Error("Could not determine global this")}}}var NativeWebSocket=_globalThis.WebSocket||_globalThis.MozWebSocket;var websocket_version=requireVersion();function W3CWebSocket(uri,protocols){var native_instance;if(protocols){native_instance=new NativeWebSocket(uri,protocols)}else{native_instance=new NativeWebSocket(uri)}return native_instance}if(NativeWebSocket){["CONNECTING","OPEN","CLOSING","CLOSED"].forEach(function(prop){Object.defineProperty(W3CWebSocket,prop,{get:function(){return NativeWebSocket[prop]}})})}browser={w3cwebsocket:NativeWebSocket?W3CWebSocket:null,version:websocket_version};return browser}var EventTarget={};var HashSet={};var UniqueSet={};var SetContainer={};var Container$1={};var ForOfAdaptor={};var hasRequiredForOfAdaptor;function requireForOfAdaptor(){if(hasRequiredForOfAdaptor)return ForOfAdaptor;hasRequiredForOfAdaptor=1;Object.defineProperty(ForOfAdaptor,"__esModule",{value:true});ForOfAdaptor.ForOfAdaptor=void 0;var ForOfAdaptor$1=function(){function ForOfAdaptor(first,last){this.it_=first;this.last_=last}ForOfAdaptor.prototype.next=function(){if(this.it_.equals(this.last_))return{done:true,value:undefined};else{var it=this.it_;this.it_=this.it_.next();return{done:false,value:it.value}}};ForOfAdaptor.prototype[Symbol.iterator]=function(){return this};return ForOfAdaptor}();ForOfAdaptor.ForOfAdaptor=ForOfAdaptor$1;return ForOfAdaptor}var hasRequiredContainer;function requireContainer(){if(hasRequiredContainer)return Container$1;hasRequiredContainer=1;var __values=commonjsGlobal&&commonjsGlobal.__values||function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Container$1,"__esModule",{value:true});Container$1.Container=void 0;var ForOfAdaptor_1=requireForOfAdaptor();var Container=function(){function Container(){}Container.prototype.empty=function(){return this.size()===0};Container.prototype.rbegin=function(){return this.end().reverse()};Container.prototype.rend=function(){return this.begin().reverse()};Container.prototype[Symbol.iterator]=function(){return new ForOfAdaptor_1.ForOfAdaptor(this.begin(),this.end())};Container.prototype.toJSON=function(){var e_1,_a;var ret=[];try{for(var _b=__values(this),_c=_b.next();!_c.done;_c=_b.next()){var elem=_c.value;ret.push(elem)}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(_c&&!_c.done&&(_a=_b.return))_a.call(_b)}finally{if(e_1)throw e_1.error}}return ret};return Container}();Container$1.Container=Container;return Container$1}var NativeArrayIterator={};var hasRequiredNativeArrayIterator;function requireNativeArrayIterator(){if(hasRequiredNativeArrayIterator)return NativeArrayIterator;hasRequiredNativeArrayIterator=1;var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};Object.defineProperty(NativeArrayIterator,"__esModule",{value:true});NativeArrayIterator.NativeArrayIterator=void 0;var NativeArrayIterator$1=function(){function NativeArrayIterator(data,index){this.data_=data;this.index_=index}NativeArrayIterator.prototype.index=function(){return this.index_};Object.defineProperty(NativeArrayIterator.prototype,"value",{get:function(){return this.data_[this.index_]},enumerable:false,configurable:true});NativeArrayIterator.prototype.prev=function(){--this.index_;return this};NativeArrayIterator.prototype.next=function(){++this.index_;return this};NativeArrayIterator.prototype.advance=function(n){this.index_+=n;return this};NativeArrayIterator.prototype.equals=function(obj){return this.data_===obj.data_&&this.index_===obj.index_};NativeArrayIterator.prototype.swap=function(obj){var _a,_b;_a=__read([obj.data_,this.data_],2),this.data_=_a[0],obj.data_=_a[1];_b=__read([obj.index_,this.index_],2),this.index_=_b[0],obj.index_=_b[1]};return NativeArrayIterator}();NativeArrayIterator.NativeArrayIterator=NativeArrayIterator$1;return NativeArrayIterator}var hasRequiredSetContainer;function requireSetContainer(){if(hasRequiredSetContainer)return SetContainer;hasRequiredSetContainer=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(SetContainer,"__esModule",{value:true});SetContainer.SetContainer=void 0;var Container_1=requireContainer();var NativeArrayIterator_1=requireNativeArrayIterator();var SetContainer$1=function(_super){__extends(SetContainer,_super);function SetContainer(factory){var _this=_super.call(this)||this;_this.data_=factory(_this);return _this}SetContainer.prototype.assign=function(first,last){this.clear();this.insert(first,last)};SetContainer.prototype.clear=function(){this.data_.clear()};SetContainer.prototype.begin=function(){return this.data_.begin()};SetContainer.prototype.end=function(){return this.data_.end()};SetContainer.prototype.has=function(key){return!this.find(key).equals(this.end())};SetContainer.prototype.size=function(){return this.data_.size()};SetContainer.prototype.push=function(){var items=[];for(var _i=0;_i (index = ").concat(index,")."))}ErrorGenerator.negative_index=negative_index;function excessive_index(instance,method,index,size){return new OutOfRange_1.OutOfRange("Error on ".concat(get_class_name(instance),".").concat(method,"(): parametric index is equal or greater than size -> (index = ").concat(index,", size: ").concat(size,")."))}ErrorGenerator.excessive_index=excessive_index;function not_my_iterator(instance,method){return new InvalidArgument_1.InvalidArgument("Error on ".concat(get_class_name(instance),".").concat(method,"(): parametric iterator is not this container's own."))}ErrorGenerator.not_my_iterator=not_my_iterator;function erased_iterator(instance,method){return new InvalidArgument_1.InvalidArgument("Error on ".concat(get_class_name(instance),".").concat(method,"(): parametric iterator, it already has been erased."))}ErrorGenerator.erased_iterator=erased_iterator;function negative_iterator(instance,method,index){return new OutOfRange_1.OutOfRange("Error on ".concat(get_class_name(instance),".").concat(method,"(): parametric iterator is directing negative position -> (index = ").concat(index,")."))}ErrorGenerator.negative_iterator=negative_iterator;function iterator_end_value(instance,method){if(method===void 0){method="end"}var className=get_class_name(instance);return new OutOfRange_1.OutOfRange("Error on ".concat(className,".Iterator.value: cannot access to the ").concat(className,".").concat(method,"().value."))}ErrorGenerator.iterator_end_value=iterator_end_value;function key_nout_found(instance,method,key){throw new OutOfRange_1.OutOfRange("Error on ".concat(get_class_name(instance),".").concat(method,"(): unable to find the matched key -> ").concat(key))}ErrorGenerator.key_nout_found=key_nout_found})(exports.ErrorGenerator||(exports.ErrorGenerator={}))})(ErrorGenerator);return ErrorGenerator}var hasRequiredUniqueSet;function requireUniqueSet(){if(hasRequiredUniqueSet)return UniqueSet;hasRequiredUniqueSet=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i=1&&args[0]instanceof Array){ramda=function(){var items=args[0];source.push.apply(source,__spreadArray([],__read(items),false))};tail=args.slice(1)}else if(args.length>=2&&args[0].next instanceof Function&&args[1].next instanceof Function){ramda=function(){var first=args[0];var last=args[1];source.assign(first,last)};tail=args.slice(2)}else{ramda=null;tail=args}return{ramda:ramda,tail:tail}}IAssociativeContainer.construct=construct})(exports.IAssociativeContainer||(exports.IAssociativeContainer={}))})(IAssociativeContainer);return IAssociativeContainer}var hash={};var uid={};var Global={};var hasRequiredGlobal$1;function requireGlobal$1(){if(hasRequiredGlobal$1)return Global;hasRequiredGlobal$1=1;Object.defineProperty(Global,"__esModule",{value:true});Global._Get_root=void 0;var node_1=node;function _Get_root(){if(__s_pRoot===null){__s_pRoot=(0,node_1.is_node)()?commonjsGlobal:self;if(__s_pRoot.__s_iUID===undefined)__s_pRoot.__s_iUID=0}return __s_pRoot}Global._Get_root=_Get_root;var __s_pRoot=null;return Global}var hasRequiredUid;function requireUid(){if(hasRequiredUid)return uid;hasRequiredUid=1;Object.defineProperty(uid,"__esModule",{value:true});uid.get_uid=void 0;var Global_1=requireGlobal$1();function get_uid(obj){if(obj instanceof Object){if(obj.hasOwnProperty("__get_m_iUID")===false){var uid_1=++(0,Global_1._Get_root)().__s_iUID;Object.defineProperty(obj,"__get_m_iUID",{value:function(){return uid_1}})}return obj.__get_m_iUID()}else if(obj===undefined)return-1;else return 0}uid.get_uid=get_uid;return uid}var hasRequiredHash;function requireHash(){if(hasRequiredHash)return hash;hasRequiredHash=1;var __values=commonjsGlobal&&commonjsGlobal.__values||function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(hash,"__esModule",{value:true});hash.hash=void 0;var uid_1=requireUid();function hash$1(){var e_1,_a;var itemList=[];for(var _i=0;_i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i=1)hash_function=tuple.tail[0];if(tuple.tail.length>=2)key_eq=tuple.tail[1]}bucketFactory(hash_function,key_eq);if(post_process!==null)post_process()}IHashContainer.construct=construct})(exports.IHashContainer||(exports.IHashContainer={}))})(IHashContainer);return IHashContainer}var SetElementList={};var ListContainer={};var ListIterator={};var hasRequiredListIterator;function requireListIterator(){if(hasRequiredListIterator)return ListIterator;hasRequiredListIterator=1;Object.defineProperty(ListIterator,"__esModule",{value:true});ListIterator.ListIterator=void 0;var ErrorGenerator_1=requireErrorGenerator();var ListIterator$1=function(){function ListIterator(prev,next,value){this.prev_=prev;this.next_=next;this.value_=value}ListIterator._Set_prev=function(it,prev){it.prev_=prev};ListIterator._Set_next=function(it,next){it.next_=next};ListIterator.prototype.prev=function(){return this.prev_};ListIterator.prototype.next=function(){return this.next_};Object.defineProperty(ListIterator.prototype,"value",{get:function(){this._Try_value();return this.value_},enumerable:false,configurable:true});ListIterator.prototype._Try_value=function(){if(this.value_===undefined&&this.equals(this.source().end())===true)throw ErrorGenerator_1.ErrorGenerator.iterator_end_value(this.source())};ListIterator.prototype.equals=function(obj){return this===obj};return ListIterator}();ListIterator.ListIterator=ListIterator$1;return ListIterator}var Repeater={};var hasRequiredRepeater;function requireRepeater(){if(hasRequiredRepeater)return Repeater;hasRequiredRepeater=1;Object.defineProperty(Repeater,"__esModule",{value:true});Repeater.Repeater=void 0;var Repeater$1=function(){function Repeater(index,value){this.index_=index;this.value_=value}Repeater.prototype.index=function(){return this.index_};Object.defineProperty(Repeater.prototype,"value",{get:function(){return this.value_},enumerable:false,configurable:true});Repeater.prototype.next=function(){++this.index_;return this};Repeater.prototype.equals=function(obj){return this.index_===obj.index_};return Repeater}();Repeater.Repeater=Repeater$1;return Repeater}var global$1={};var hasRequiredGlobal;function requireGlobal(){if(hasRequiredGlobal)return global$1;hasRequiredGlobal=1;Object.defineProperty(global$1,"__esModule",{value:true});global$1.next=global$1.prev=global$1.advance=global$1.distance=global$1.size=global$1.empty=void 0;var InvalidArgument_1=requireInvalidArgument();function empty(source){if(source instanceof Array)return source.length!==0;else return source.empty()}global$1.empty=empty;function size(source){if(source instanceof Array)return source.length;else return source.size()}global$1.size=size;function distance(first,last){if(first.index instanceof Function)return _Distance_via_index(first,last);var ret=0;for(;!first.equals(last);first=first.next())++ret;return ret}global$1.distance=distance;function _Distance_via_index(first,last){var x=first.index();var y=last.index();if(first.base instanceof Function)return x-y;else return y-x}function advance(it,n){if(n===0)return it;else if(it.advance instanceof Function)return it.advance(n);var stepper;if(n<0){if(!(it.prev instanceof Function))throw new InvalidArgument_1.InvalidArgument("Error on std.advance(): parametric iterator is not a bi-directional iterator, thus advancing to negative direction is not possible.");stepper=function(it){return it.prev()};n=-n}else stepper=function(it){return it.next()};while(n-- >0)it=stepper(it);return it}global$1.advance=advance;function prev(it,n){if(n===void 0){n=1}if(n===1)return it.prev();else return advance(it,-n)}global$1.prev=prev;function next(it,n){if(n===void 0){n=1}if(n===1)return it.next();else return advance(it,n)}global$1.next=next;return global$1}var hasRequiredListContainer;function requireListContainer(){if(hasRequiredListContainer)return ListContainer;hasRequiredListContainer=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};Object.defineProperty(ListContainer,"__esModule",{value:true});ListContainer.ListContainer=void 0;var Container_1=requireContainer();var ListIterator_1=requireListIterator();var Repeater_1=requireRepeater();var NativeArrayIterator_1=requireNativeArrayIterator();var global_1=requireGlobal();var ErrorGenerator_1=requireErrorGenerator();var ListContainer$1=function(_super){__extends(ListContainer,_super);function ListContainer(){var _this=_super.call(this)||this;_this.end_=_this._Create_iterator(null,null);_this.clear();return _this}ListContainer.prototype.assign=function(par1,par2){this.clear();this.insert(this.end(),par1,par2)};ListContainer.prototype.clear=function(){ListIterator_1.ListIterator._Set_prev(this.end_,this.end_);ListIterator_1.ListIterator._Set_next(this.end_,this.end_);this.begin_=this.end_;this.size_=0};ListContainer.prototype.resize=function(n){var expansion=n-this.size();if(expansion>0)this.insert(this.end(),expansion,undefined);else if(expansion<0)this.erase((0,global_1.advance)(this.end(),-expansion),this.end())};ListContainer.prototype.begin=function(){return this.begin_};ListContainer.prototype.end=function(){return this.end_};ListContainer.prototype.size=function(){return this.size_};ListContainer.prototype.push_front=function(val){this.insert(this.begin_,val)};ListContainer.prototype.push_back=function(val){this.insert(this.end_,val)};ListContainer.prototype.pop_front=function(){if(this.empty()===true)throw ErrorGenerator_1.ErrorGenerator.empty(this.end_.source().constructor.name,"pop_front");this.erase(this.begin_)};ListContainer.prototype.pop_back=function(){if(this.empty()===true)throw ErrorGenerator_1.ErrorGenerator.empty(this.end_.source().constructor.name,"pop_back");this.erase(this.end_.prev())};ListContainer.prototype.push=function(){var items=[];for(var _i=0;_i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};Object.defineProperty(exports,"__esModule",{value:true});exports.SetElementList=void 0;var ListContainer_1=requireListContainer();var ListIterator_1=requireListIterator();var ReverseIterator_1=requireReverseIterator();var SetElementList=function(_super){__extends(SetElementList,_super);function SetElementList(associative){var _this=_super.call(this)||this;_this.associative_=associative;return _this}SetElementList.prototype._Create_iterator=function(prev,next,val){return SetElementList.Iterator.create(this,prev,next,val)};SetElementList._Swap_associative=function(x,y){var _a;_a=__read([y.associative_,x.associative_],2),x.associative_=_a[0],y.associative_=_a[1]};SetElementList.prototype.associative=function(){return this.associative_};return SetElementList}(ListContainer_1.ListContainer);exports.SetElementList=SetElementList;(function(SetElementList){var Iterator=function(_super){__extends(Iterator,_super);function Iterator(list,prev,next,val){var _this=_super.call(this,prev,next,val)||this;_this.source_=list;return _this}Iterator.create=function(list,prev,next,val){return new Iterator(list,prev,next,val)};Iterator.prototype.reverse=function(){return new ReverseIterator(this)};Iterator.prototype.source=function(){return this.source_.associative()};return Iterator}(ListIterator_1.ListIterator);SetElementList.Iterator=Iterator;var ReverseIterator=function(_super){__extends(ReverseIterator,_super);function ReverseIterator(){return _super!==null&&_super.apply(this,arguments)||this}ReverseIterator.prototype._Create_neighbor=function(base){return new ReverseIterator(base)};return ReverseIterator}(ReverseIterator_1.ReverseIterator);SetElementList.ReverseIterator=ReverseIterator})(SetElementList=exports.SetElementList||(exports.SetElementList={}));exports.SetElementList=SetElementList})(SetElementList);return SetElementList}var SetHashBuckets={};var HashBuckets={};var hasRequiredHashBuckets;function requireHashBuckets(){if(hasRequiredHashBuckets)return HashBuckets;hasRequiredHashBuckets=1;var __values=commonjsGlobal&&commonjsGlobal.__values||function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(HashBuckets,"__esModule",{value:true});HashBuckets.HashBuckets=void 0;var HashBuckets$1=function(){function HashBuckets(fetcher,hasher){this.fetcher_=fetcher;this.hasher_=hasher;this.max_load_factor_=DEFAULT_MAX_FACTOR;this.data_=[];this.size_=0;this.initialize()}HashBuckets.prototype.clear=function(){this.data_=[];this.size_=0;this.initialize()};HashBuckets.prototype.rehash=function(length){var e_1,_a,e_2,_b;length=Math.max(length,MIN_BUCKET_COUNT);var data=[];for(var i=0;ithis.capacity()){length=Math.floor(length/this.max_load_factor_);this.rehash(length)}};HashBuckets.prototype.initialize=function(){for(var i=0;icapacity)this.reserve(capacity*2);var index=this.index(val);this.data_[index].push(val)};HashBuckets.prototype.erase=function(val){var index=this.index(val);var bucket=this.data_[index];for(var i=0;i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __values=commonjsGlobal&&commonjsGlobal.__values||function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(SetHashBuckets,"__esModule",{value:true});SetHashBuckets.SetHashBuckets=void 0;var HashBuckets_1=requireHashBuckets();var SetHashBuckets$1=function(_super){__extends(SetHashBuckets,_super);function SetHashBuckets(source,hasher,pred){var _this=_super.call(this,fetcher,hasher)||this;_this.source_=source;_this.key_eq_=pred;return _this}SetHashBuckets._Swap_source=function(x,y){var _a;_a=__read([y.source_,x.source_],2),x.source_=_a[0],y.source_=_a[1]};SetHashBuckets.prototype.key_eq=function(){return this.key_eq_};SetHashBuckets.prototype.find=function(val){var e_1,_a;var index=this.hash_function()(val)%this.length();var bucket=this.at(index);try{for(var bucket_1=__values(bucket),bucket_1_1=bucket_1.next();!bucket_1_1.done;bucket_1_1=bucket_1.next()){var it=bucket_1_1.value;if(this.key_eq_(it.value,val))return it}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(bucket_1_1&&!bucket_1_1.done&&(_a=bucket_1.return))_a.call(bucket_1)}finally{if(e_1)throw e_1.error}}return this.source_.end()};return SetHashBuckets}(HashBuckets_1.HashBuckets);SetHashBuckets.SetHashBuckets=SetHashBuckets$1;function fetcher(elem){return elem.value}return SetHashBuckets}var Pair={};var hasRequiredPair;function requirePair(){if(hasRequiredPair)return Pair;hasRequiredPair=1;Object.defineProperty(Pair,"__esModule",{value:true});Pair.make_pair=Pair.Pair=void 0;var hash_1=requireHash();var comparators_1=requireComparators();var Pair$1=function(){function Pair(first,second){this.first=first;this.second=second}Pair.prototype.equals=function(pair){return(0,comparators_1.equal_to)(this.first,pair.first)&&(0,comparators_1.equal_to)(this.second,pair.second)};Pair.prototype.less=function(pair){if((0,comparators_1.equal_to)(this.first,pair.first)===false)return(0,comparators_1.less)(this.first,pair.first);else return(0,comparators_1.less)(this.second,pair.second)};Pair.prototype.hashCode=function(){return(0,hash_1.hash)(this.first,this.second)};return Pair}();Pair.Pair=Pair$1;function make_pair(first,second){return new Pair$1(first,second)}Pair.make_pair=make_pair;return Pair}var hasRequiredHashSet;function requireHashSet(){if(hasRequiredHashSet)return HashSet;hasRequiredHashSet=1;(function(exports){var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};Object.defineProperty(exports,"__esModule",{value:true});exports.MapElementList=void 0;var ListContainer_1=requireListContainer();var ListIterator_1=requireListIterator();var ReverseIterator_1=requireReverseIterator();var MapElementList=function(_super){__extends(MapElementList,_super);function MapElementList(associative){var _this=_super.call(this)||this;_this.associative_=associative;return _this}MapElementList.prototype._Create_iterator=function(prev,next,val){return MapElementList.Iterator.create(this,prev,next,val)};MapElementList._Swap_associative=function(x,y){var _a;_a=__read([y.associative_,x.associative_],2),x.associative_=_a[0],y.associative_=_a[1]};MapElementList.prototype.associative=function(){return this.associative_};return MapElementList}(ListContainer_1.ListContainer);exports.MapElementList=MapElementList;(function(MapElementList){var Iterator=function(_super){__extends(Iterator,_super);function Iterator(list,prev,next,val){var _this=_super.call(this,prev,next,val)||this;_this.list_=list;return _this}Iterator.create=function(list,prev,next,val){return new Iterator(list,prev,next,val)};Iterator.prototype.reverse=function(){return new ReverseIterator(this)};Iterator.prototype.source=function(){return this.list_.associative()};Object.defineProperty(Iterator.prototype,"first",{get:function(){return this.value.first},enumerable:false,configurable:true});Object.defineProperty(Iterator.prototype,"second",{get:function(){return this.value.second},set:function(val){this.value.second=val},enumerable:false,configurable:true});return Iterator}(ListIterator_1.ListIterator);MapElementList.Iterator=Iterator;var ReverseIterator=function(_super){__extends(ReverseIterator,_super);function ReverseIterator(){return _super!==null&&_super.apply(this,arguments)||this}ReverseIterator.prototype._Create_neighbor=function(base){return new ReverseIterator(base)};Object.defineProperty(ReverseIterator.prototype,"first",{get:function(){return this.base_.first},enumerable:false,configurable:true});Object.defineProperty(ReverseIterator.prototype,"second",{get:function(){return this.base_.second},set:function(val){this.base_.second=val},enumerable:false,configurable:true});return ReverseIterator}(ReverseIterator_1.ReverseIterator);MapElementList.ReverseIterator=ReverseIterator})(MapElementList=exports.MapElementList||(exports.MapElementList={}));exports.MapElementList=MapElementList})(MapElementList);return MapElementList}var MapHashBuckets={};var hasRequiredMapHashBuckets;function requireMapHashBuckets(){if(hasRequiredMapHashBuckets)return MapHashBuckets;hasRequiredMapHashBuckets=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __values=commonjsGlobal&&commonjsGlobal.__values||function(o){var s=typeof Symbol==="function"&&Symbol.iterator,m=s&&o[s],i=0;if(m)return m.call(o);if(o&&typeof o.length==="number")return{next:function(){if(o&&i>=o.length)o=void 0;return{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(MapHashBuckets,"__esModule",{value:true});MapHashBuckets.MapHashBuckets=void 0;var HashBuckets_1=requireHashBuckets();var MapHashBuckets$1=function(_super){__extends(MapHashBuckets,_super);function MapHashBuckets(source,hasher,pred){var _this=_super.call(this,fetcher,hasher)||this;_this.source_=source;_this.key_eq_=pred;return _this}MapHashBuckets._Swap_source=function(x,y){var _a;_a=__read([y.source_,x.source_],2),x.source_=_a[0],y.source_=_a[1]};MapHashBuckets.prototype.key_eq=function(){return this.key_eq_};MapHashBuckets.prototype.find=function(key){var e_1,_a;var index=this.hash_function()(key)%this.length();var bucket=this.at(index);try{for(var bucket_1=__values(bucket),bucket_1_1=bucket_1.next();!bucket_1_1.done;bucket_1_1=bucket_1.next()){var it=bucket_1_1.value;if(this.key_eq_(it.first,key))return it}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(bucket_1_1&&!bucket_1_1.done&&(_a=bucket_1.return))_a.call(bucket_1)}finally{if(e_1)throw e_1.error}}return this.source_.end()};return MapHashBuckets}(HashBuckets_1.HashBuckets);MapHashBuckets.MapHashBuckets=MapHashBuckets$1;function fetcher(elem){return elem.first}return MapHashBuckets}var Entry={};var hasRequiredEntry;function requireEntry(){if(hasRequiredEntry)return Entry;hasRequiredEntry=1;Object.defineProperty(Entry,"__esModule",{value:true});Entry.Entry=void 0;var hash_1=requireHash();var comparators_1=requireComparators();var Entry$1=function(){function Entry(first,second){this.first=first;this.second=second}Entry.prototype.equals=function(obj){return(0,comparators_1.equal_to)(this.first,obj.first)};Entry.prototype.less=function(obj){return(0,comparators_1.less)(this.first,obj.first)};Entry.prototype.hashCode=function(){return(0,hash_1.hash)(this.first)};return Entry}();Entry.Entry=Entry$1;return Entry}var hasRequiredHashMap;function requireHashMap(){if(hasRequiredHashMap)return HashMap;hasRequiredHashMap=1;(function(exports){var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __read=commonjsGlobal&&commonjsGlobal.__read||function(o,n){var m=typeof Symbol==="function"&&o[Symbol.iterator];if(!m)return o;var i=m.call(o),r,ar=[],e;try{while((n===void 0||n-- >0)&&!(r=i.next()).done)ar.push(r.value)}catch(error){e={error:error}}finally{try{if(r&&!r.done&&(m=i["return"]))m.call(i)}finally{if(e)throw e.error}}return ar};var __spreadArray=commonjsGlobal&&commonjsGlobal.__spreadArray||function(to,from,pack){if(pack||arguments.length===2)for(var i=0,l=from.length,ar;i=o.length)o=void 0;return{value:o&&o[i++],done:!o}}}};Object.defineProperty(EventTarget,"__esModule",{value:true});var HashSet_1=requireHashSet();var HashMap_1=requireHashMap();var EventTarget$1=function(){function EventTarget(){this.listeners_=new HashMap_1.HashMap;this.created_at_=new Date}EventTarget.prototype.dispatchEvent=function(event){var e_1,_a;var it=this.listeners_.find(event.type);if(it.equals(this.listeners_.end()))return;event.target=this;event.timeStamp=(new Date).getTime()-this.created_at_.getTime();try{for(var _b=__values(it.second),_c=_b.next();!_c.done;_c=_b.next()){var listener=_c.value;listener(event)}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(_c&&!_c.done&&(_a=_b.return))_a.call(_b)}finally{if(e_1)throw e_1.error}}};EventTarget.prototype.addEventListener=function(type,listener){var it=this.listeners_.find(type);if(it.equals(this.listeners_.end()))it=this.listeners_.emplace(type,new HashSet_1.HashSet).first;it.second.insert(listener)};EventTarget.prototype.removeEventListener=function(type,listener){var it=this.listeners_.find(type);if(it.equals(this.listeners_.end()))return;it.second.erase(listener);if(it.second.empty())this.listeners_.erase(it)};return EventTarget}();EventTarget.EventTarget=EventTarget$1;return EventTarget}var Event={};var hasRequiredEvent;function requireEvent(){if(hasRequiredEvent)return Event;hasRequiredEvent=1;Object.defineProperty(Event,"__esModule",{value:true});var Event$1=function(){function Event(type,init){this.type=type;if(init)Object.assign(this,init)}return Event}();Event.Event=Event$1;return Event}var CloseEvent={};var hasRequiredCloseEvent;function requireCloseEvent(){if(hasRequiredCloseEvent)return CloseEvent;hasRequiredCloseEvent=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(CloseEvent,"__esModule",{value:true});var Event_1=requireEvent();var CloseEvent$1=function(_super){__extends(CloseEvent,_super);function CloseEvent(type,init){return _super.call(this,type,init)||this}return CloseEvent}(Event_1.Event);CloseEvent.CloseEvent=CloseEvent$1;return CloseEvent}var MessageEvent={};var hasRequiredMessageEvent;function requireMessageEvent(){if(hasRequiredMessageEvent)return MessageEvent;hasRequiredMessageEvent=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(MessageEvent,"__esModule",{value:true});var Event_1=requireEvent();var MessageEvent$1=function(_super){__extends(MessageEvent,_super);function MessageEvent(type,init){return _super.call(this,type,init)||this}return MessageEvent}(Event_1.Event);MessageEvent.MessageEvent=MessageEvent$1;return MessageEvent}var ErrorEvent={};var hasRequiredErrorEvent;function requireErrorEvent(){if(hasRequiredErrorEvent)return ErrorEvent;hasRequiredErrorEvent=1;var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(ErrorEvent,"__esModule",{value:true});var Event_1=requireEvent();var ErrorEvent$1=function(_super){__extends(ErrorEvent,_super);function ErrorEvent(type,init){return _super.call(this,type,init)||this}return ErrorEvent}(Event_1.Event);ErrorEvent.ErrorEvent=ErrorEvent$1;return ErrorEvent}var hasRequiredWebSocket;function requireWebSocket(){if(hasRequiredWebSocket)return WebSocket$1;hasRequiredWebSocket=1;(function(exports){var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();var __assign=commonjsGlobal&&commonjsGlobal.__assign||function(){__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;ihex.encode(bech32.fromWordsUnsafe(words)),16:words=>hex.encode(bech32.fromWordsUnsafe(words)),13:words=>utf8.encode(bech32.fromWordsUnsafe(words)),19:words=>hex.encode(bech32.fromWordsUnsafe(words)),23:words=>hex.encode(bech32.fromWordsUnsafe(words)),27:words=>hex.encode(bech32.fromWordsUnsafe(words)),6:wordsToIntBE,24:wordsToIntBE,3:routingInfoParser,5:featureBitsParser};function getUnknownParser(tagCode){return words=>({tagCode:parseInt(tagCode),words:bech32.encode("unknown",words,Number.MAX_SAFE_INTEGER)})}function wordsToIntBE(words){return words.reverse().reduce((total,item,index)=>{return total+item*Math.pow(32,index)},0)}function routingInfoParser(words){const routes=[];let pubkey,shortChannelId,feeBaseMSats,feeProportionalMillionths,cltvExpiryDelta;let routesBuffer=bech32.fromWordsUnsafe(words);while(routesBuffer.length>0){pubkey=hex.encode(routesBuffer.slice(0,33));shortChannelId=hex.encode(routesBuffer.slice(33,41));feeBaseMSats=parseInt(hex.encode(routesBuffer.slice(41,45)),16);feeProportionalMillionths=parseInt(hex.encode(routesBuffer.slice(45,49)),16);cltvExpiryDelta=parseInt(hex.encode(routesBuffer.slice(49,51)),16);routesBuffer=routesBuffer.slice(51);routes.push({pubkey:pubkey,short_channel_id:shortChannelId,fee_base_msat:feeBaseMSats,fee_proportional_millionths:feeProportionalMillionths,cltv_expiry_delta:cltvExpiryDelta})}return routes}function featureBitsParser(words){const bools=words.slice().reverse().map(word=>[!!(word&1),!!(word&2),!!(word&4),!!(word&8),!!(word&16)]).reduce((finalArr,itemArr)=>finalArr.concat(itemArr),[]);while(bools.length{let status;if(bools[index*2]){status="required"}else if(bools[index*2+1]){status="supported"}else{status="unsupported"}featureBits[featureName]=status});const extraBits=bools.slice(FEATUREBIT_ORDER.length*2);featureBits.extra_bits={start_bit:FEATUREBIT_ORDER.length*2,bits:extraBits,has_required:extraBits.reduce((result,bit,index)=>index%2!==0?result||false:result||bit,false)};return featureBits}function hrpToMillisat(hrpString,outputString){let divisor,value;if(hrpString.slice(-1).match(/^[munp]$/)){divisor=hrpString.slice(-1);value=hrpString.slice(0,-1)}else if(hrpString.slice(-1).match(/^[^munp0-9]$/)){throw new Error("Not a valid multiplier for the amount")}else{value=hrpString}if(!value.match(/^\d+$/))throw new Error("Not a valid human readable amount");const valueBN=BigInt(value);const millisatoshisBN=divisor?valueBN*MILLISATS_PER_BTC/DIVISORS[divisor]:valueBN*MILLISATS_PER_BTC;if(divisor==="p"&&!(valueBN%BigInt(10)===BigInt(0))||millisatoshisBN>MAX_MILLISATS){throw new Error("Amount is outside of valid range")}return outputString?millisatoshisBN.toString():millisatoshisBN}function decode(paymentRequest,network){if(typeof paymentRequest!=="string")throw new Error("Lightning Payment Request must be string");if(paymentRequest.slice(0,2).toLowerCase()!=="ln")throw new Error("Not a proper lightning payment request");const sections=[];const decoded=bech32.decode(paymentRequest,Number.MAX_SAFE_INTEGER);paymentRequest=paymentRequest.toLowerCase();const prefix=decoded.prefix;let words=decoded.words;let letters=paymentRequest.slice(prefix.length+1);let sigWords=words.slice(-104);words=words.slice(0,-104);let prefixMatches=prefix.match(/^ln(\S+?)(\d*)([a-zA-Z]?)$/);if(prefixMatches&&!prefixMatches[2])prefixMatches=prefix.match(/^ln(\S+)$/);if(!prefixMatches){throw new Error("Not a proper lightning payment request")}sections.push({name:"lightning_network",letters:"ln"});const bech32Prefix=prefixMatches[1];let coinNetwork;if(!network){switch(bech32Prefix){case DEFAULTNETWORK.bech32:coinNetwork=DEFAULTNETWORK;break;case TESTNETWORK.bech32:coinNetwork=TESTNETWORK;break;case REGTESTNETWORK.bech32:coinNetwork=REGTESTNETWORK;break;case SIMNETWORK.bech32:coinNetwork=SIMNETWORK;break}}else{if(network.bech32===undefined||network.pubKeyHash===undefined||network.scriptHash===undefined||!Array.isArray(network.validWitnessVersions))throw new Error("Invalid network");coinNetwork=network}if(!coinNetwork||coinNetwork.bech32!==bech32Prefix){throw new Error("Unknown coin bech32 prefix")}sections.push({name:"coin_network",letters:bech32Prefix,value:coinNetwork});const value=prefixMatches[2];let millisatoshis;if(value){const divisor=prefixMatches[3];millisatoshis=hrpToMillisat(value+divisor,true);sections.push({name:"amount",letters:prefixMatches[2]+prefixMatches[3],value:millisatoshis})}else{millisatoshis=null}sections.push({name:"separator",letters:"1"});const timestamp=wordsToIntBE(words.slice(0,7));words=words.slice(7);sections.push({name:"timestamp",letters:letters.slice(0,7),value:timestamp});letters=letters.slice(7);let tagName,parser,tagLength,tagWords;while(words.length>0){const tagCode=words[0].toString();tagName=TAGNAMES[tagCode]||"unknown_tag";parser=TAGPARSERS[tagCode]||getUnknownParser(tagCode);words=words.slice(1);tagLength=wordsToIntBE(words.slice(0,2));words=words.slice(2);tagWords=words.slice(0,tagLength);words=words.slice(tagLength);sections.push({name:tagName,tag:letters[0],letters:letters.slice(0,1+2+tagLength),value:parser(tagWords)});letters=letters.slice(1+2+tagLength)}sections.push({name:"signature",letters:letters.slice(0,104),value:hex.encode(bech32.fromWordsUnsafe(sigWords))});letters=letters.slice(104);sections.push({name:"checksum",letters:letters});let result={paymentRequest:paymentRequest,sections:sections,get expiry(){let exp=sections.find(s=>s.name==="expiry");if(exp)return getValue("timestamp")+exp.value},get route_hints(){return sections.filter(s=>s.name==="route_hint").map(s=>s.value)}};for(let name in TAGCODES){if(name==="route_hint"){continue}Object.defineProperty(result,name,{get(){return getValue(name)}})}return result;function getValue(name){let section=sections.find(s=>s.name===name);return section?section.value:undefined}}var bolt11={decode:decode,hrpToMillisat:hrpToMillisat};var Zap=class extends eventemitter3Exports{ndk;zappedEvent;zappedUser;constructor(args){super();this.ndk=args.ndk;this.zappedEvent=args.zappedEvent;this.zappedUser=args.zappedUser||this.ndk.getUser({hexpubkey:this.zappedEvent.pubkey})}async getZapEndpoint(){let lud06;let lud16;let zapEndpoint;let zapEndpointCallback;if(this.zappedEvent){const zapTag=(await this.zappedEvent.getMatchingTags("zap"))[0];if(zapTag){switch(zapTag[2]){case"lud06":lud06=zapTag[1];break;case"lud16":lud16=zapTag[1];break;default:throw new Error(`Unknown zap tag ${zapTag}`)}}}if(this.zappedUser){if(!this.zappedUser.profile){await this.zappedUser.fetchProfile()}lud06=(this.zappedUser.profile||{}).lud06;lud16=(this.zappedUser.profile||{}).lud16}if(lud16){const[name,domain]=lud16.split("@");zapEndpoint=`https://${domain}/.well-known/lnurlp/${name}`}else if(lud06){const{words}=bech32$1.decode(lud06,1e3);const data=bech32$1.fromWords(words);const utf8Decoder=new TextDecoder("utf-8");zapEndpoint=utf8Decoder.decode(data)}if(!zapEndpoint){throw new Error("No zap endpoint found")}const response=await fetch(zapEndpoint);const body=await response.json();if(body?.allowsNostr&&body?.nostrPubkey){zapEndpointCallback=body.callback}return zapEndpointCallback}async createZapRequest(amount,comment){const zapEndpoint=await this.getZapEndpoint();if(!zapEndpoint){throw new Error("No zap endpoint found")}if(!this.zappedEvent)throw new Error("No zapped event found");const zapRequest=nip57_exports.makeZapRequest({profile:this.zappedUser.hexpubkey(),event:this.zappedEvent?.id,amount:amount,comment:comment||"",relays:["wss://nos.lol","wss://relay.nostr.band","wss://relay.f7z.io","wss://relay.damus.io","wss://nostr.mom","wss://no.str.cr"]});const zapRequestEvent=new NDKEvent(this.ndk,zapRequest);await zapRequestEvent.sign();const zapRequestNostrEvent=await zapRequestEvent.toNostrEvent();const response=await fetch(`${zapEndpoint}?`+new URLSearchParams({amount:amount.toString(),nostr:JSON.stringify(zapRequestNostrEvent)}));const body=await response.json();return body.pr}};function generateContentTags(content,tags=[]){const tagRegex=/@(npub|nprofile|note)[a-zA-Z0-9]+/g;content=content.replace(tagRegex,tag=>{try{const{type,data}=nip19_exports.decode(tag.slice(1));const tagIndex=tags.length;switch(type){case"npub":tags.push(["p",data]);break;case"nprofile":tags.push(["p",data.pubkey]);break;case"nevent":tags.push(["e",data.id]);break;case"note":tags.push(["e",data]);break}return`#[${tagIndex}]`}catch(error){return tag}});return{content:content,tags:tags}}function isReplaceable(){if(!this.kind)throw new Error("Kind not set");return this.kind>=1e4&&this.kind<=3e4}function isParamReplaceable(){if(!this.kind)throw new Error("Kind not set");return this.kind>=3e4&&this.kind<=4e4}function encode(){if(this.isParamReplaceable()){return nip19_exports.naddrEncode({kind:this.kind,pubkey:this.pubkey,identifier:this.tagId()})}}var NDKEvent=class extends eventemitter3Exports{ndk;created_at;content="";subject;tags=[];kind;id="";sig;pubkey="";constructor(ndk,event){super();this.ndk=ndk;this.created_at=event?.created_at;this.content=event?.content||"";this.subject=event?.subject;this.tags=event?.tags||[];this.id=event?.id||"";this.sig=event?.sig;this.pubkey=event?.pubkey||"";if(event?.kind)this.kind=event?.kind}async toNostrEvent(pubkey){if(!pubkey){const user=await this.ndk?.signer?.user();pubkey=user?.hexpubkey()}const nostrEvent={created_at:this.created_at||Math.floor(Date.now()/1e3),content:this.content,tags:this.tags,kind:this.kind||0,pubkey:pubkey||this.pubkey,id:this.id};this.generateTags();if(this.subject)nostrEvent.subject=this.subject;try{nostrEvent.id=getEventHash(nostrEvent)}catch(e){}if(this.sig)nostrEvent.sig=this.sig;return nostrEvent}isReplaceable=isReplaceable.bind(this);isParamReplaceable=isParamReplaceable.bind(this);encode=encode.bind(this);getMatchingTags(tagName){return this.tags.filter(tag=>tag[0]===tagName)}async toString(){return await this.toNostrEvent()}async sign(){this.ndk?.assertSigner();await this.generateTags();const nostrEvent=await this.toNostrEvent();this.sig=await this.ndk?.signer?.sign(nostrEvent)}async publish(){if(!this.sig)await this.sign();return this.ndk?.publish(this)}async generateTags(){if(this.tags.length>0){const{content,tags}=generateContentTags(this.content,this.tags);this.content=content;this.tags=tags}if(this.kind&&this.kind>=3e4&&this.kind<=4e4){const dTag=this.getMatchingTags("d")[0];if(!dTag){const str=[...Array(16)].map(()=>Math.random().toString(36)[2]).join("");this.tags.push(["d",str])}}}tagId(){if(this.kind&&this.kind>=3e4&&this.kind<=4e4){const dTag=this.getMatchingTags("d")[0];const dTagId=dTag?dTag[1]:"";return`${this.kind}:${this.pubkey}:${dTagId}`}return this.id}tagReference(){if(this.kind&&this.kind>=3e4&&this.kind<=4e4){return["a",this.tagId()]}return["e",this.tagId()]}async zap(amount,comment){if(!this.ndk)throw new Error("No NDK instance found");this.ndk.assertSigner();const zap=new Zap({ndk:this.ndk,zappedEvent:this});const paymentRequest=await zap.createZapRequest(amount,comment);return paymentRequest}};var NDKRelay=class extends eventemitter3Exports{url;scores;relay;_status;connectedAt;_connectionStats={attempts:0,success:0,durations:[]};constructor(url){super();this.url=url;this.relay=relayInit(url);this.scores=new Map;this._status=3;this.relay.on("connect",()=>{this.updateConnectionStats.connected();this.emit("connect");this._status=1});this.relay.on("disconnect",()=>{this.updateConnectionStats.disconnected();this.emit("disconnect");if(this._status===1){this._status=3;this.handleReconnection()}});this.relay.on("notice",notice=>this.handleNotice(notice))}isFlapping(){const durations=this._connectionStats.durations;if(durations.length<10)return false;const sum=durations.reduce((a,b)=>a+b,0);const avg=sum/durations.length;const variance=durations.map(x=>Math.pow(x-avg,2)).reduce((a,b)=>a+b,0)/durations.length;const stdDev=Math.sqrt(variance);const isFlapping=stdDev<1e3;console.log(this.relay.url,{sum:sum,avg:avg,variance:variance,stdDev:stdDev,isFlapping:isFlapping});return isFlapping}handleReconnection(){if(this.isFlapping()){this.emit("flapping",this,this._connectionStats)}if(this.connectedAt&&Date.now()-this.connectedAt<5e3){setTimeout(()=>this.connect(),6e4)}else{this.connect()}}get status(){return this._status}async connect(){try{this.updateConnectionStats.attempt();this._status=0;await this.relay.connect()}catch(e){}}disconnect(){this._status=2;this.relay.close()}async handleNotice(notice){this.emit("notice",this,notice)}subscribe(subscription){const{filter}=subscription;const sub=this.relay.sub([filter],{id:subscription.subId});sub.on("event",event=>{const e=new NDKEvent(void 0,event);subscription.eventReceived(e,this)});sub.on("eose",()=>{subscription.eoseReceived(this)});return sub}async publish(event){const nostrEvent=await event.toNostrEvent();this.relay.publish(nostrEvent)}scoreSlowerEvent(timeDiffInMs){}updateConnectionStats={connected:()=>{this._connectionStats.success++;this._connectionStats.connectedAt=Date.now()},disconnected:()=>{if(this._connectionStats.connectedAt){this._connectionStats.durations.push(Date.now()-this._connectionStats.connectedAt);if(this._connectionStats.durations.length>100){this._connectionStats.durations.shift()}}this._connectionStats.connectedAt=void 0},attempt:()=>{this._connectionStats.attempts++}};get connectionStats(){return this._connectionStats}};var NDKPool=class extends eventemitter3Exports{relays=new Map;debug;constructor(relayUrls=[],ndk){super();this.debug=ndk.debug.extend("pool");relayUrls.forEach(relayUrl=>{const relay=new NDKRelay(relayUrl);relay.on("notice",(relay2,notice)=>this.emit("notice",relay2,notice));relay.on("connect",()=>this.emit("connect",relay));relay.on("disconnect",()=>this.emit("disconnect",relay));relay.on("flapping",()=>this.handleFlapping(relay));this.relays.set(relayUrl,relay)})}async connect(timeoutMs){const promises=[];this.debug(`Connecting to ${this.relays.size} relays${timeoutMs?`, timeout ${timeoutMs}...`:""}`);for(const relay of this.relays.values()){if(timeoutMs){const timeoutPromise=new Promise((_,reject)=>{setTimeout(()=>reject(`Timed out after ${timeoutMs}ms`),timeoutMs)});promises.push(Promise.race([relay.connect(),timeoutPromise]).catch(e=>{this.debug(`Failed to connect to relay ${relay.url}: ${e}`)}))}else{promises.push(relay.connect())}}await Promise.all(promises)}handleFlapping(relay){this.debug(`Relay ${relay.url} is flapping`);this.relays.delete(relay.url);this.emit("flapping",relay)}size(){return this.relays.size}stats(){const stats={total:0,connected:0,disconnected:0,connecting:0};for(const relay of this.relays.values()){stats.total++;if(relay.status===1){stats.connected++}else if(relay.status===3){stats.disconnected++}else if(relay.status===0){stats.connecting++}}return stats}};function mergeEvent(event,profile){const payload=JSON.parse(event.content);if(payload.name)profile.name=payload.name;if(payload.display_name)profile.displayName=payload.display_name;if(payload.displayName)profile.displayName=payload.displayName;if(payload.image)profile.image=payload.image;if(payload.picture)profile.image=payload.picture;if(payload.banner)profile.banner=payload.banner;if(payload.bio)profile.bio=payload.bio;if(payload.nip05)profile.nip05=payload.nip05;if(payload.lud06)profile.lud06=payload.lud06;if(payload.lud16)profile.lud16=payload.lud16;if(payload.about)profile.about=payload.about;if(payload.zapService)profile.zapService=payload.zapService;return profile}async function follows(){if(!this.ndk)throw new Error("NDK not set");const contactListEvents=await this.ndk.fetchEvents({kinds:[3],authors:[this.hexpubkey()]});if(contactListEvents){const contactList=new Set;contactListEvents.forEach(event=>{event.tags.forEach(tag=>{if(tag[0]==="p"){try{const user=new NDKUser({hexpubkey:tag[1]});user.ndk=this.ndk;contactList.add(user)}catch(e){}}})});return contactList}return new Set}var NDKUser=class{ndk;profile;npub="";relayUrls=[];constructor(opts){if(opts.npub)this.npub=opts.npub;if(opts.hexpubkey){this.npub=nip19_exports.npubEncode(opts.hexpubkey)}if(opts.relayUrls){this.relayUrls=opts.relayUrls}}static async fromNip05(nip05Id){const profile=await nip05_exports.queryProfile(nip05Id);if(profile){return new NDKUser({hexpubkey:profile.pubkey,relayUrls:profile.relays})}}hexpubkey(){return nip19_exports.decode(this.npub).data}async fetchProfile(){if(!this.ndk)throw new Error("NDK not set");if(!this.profile)this.profile={};const setMetadataEvents=await this.ndk.fetchEvents({kinds:[0],authors:[this.hexpubkey()]});if(setMetadataEvents){const sortedSetMetadataEvents=Array.from(setMetadataEvents).sort((a,b)=>a.created_at-b.created_at);sortedSetMetadataEvents.forEach(event=>{try{this.profile=mergeEvent(event,this.profile)}catch(e){}})}return setMetadataEvents}follows=follows.bind(this);async relayList(){if(!this.ndk)throw new Error("NDK not set");const relayListEvents=await this.ndk.fetchEvents({kinds:[10002],authors:[this.hexpubkey()]});if(relayListEvents){return relayListEvents}return new Set}};var NDKRelaySet=class{relays;constructor(relays){this.relays=relays}subscribeOnRelay(relay,subscription){const sub=relay.subscribe(subscription);subscription.relaySubscriptions.set(relay,sub)}subscribe(subscription){this.relays.forEach(relay=>{if(relay.status===1){this.subscribeOnRelay(relay,subscription)}});this.relays.forEach(relay=>{relay.on("connect",()=>this.subscribeOnRelay(relay,subscription))});return subscription}async publish(event){this.relays.forEach(async relay=>{try{await relay.publish(event)}catch(e){}})}size(){return this.relays.size}};function calculateRelaySetFromEvent(ndk,event){const relays=new Set;ndk.pool?.relays.forEach(relay=>relays.add(relay));return new NDKRelaySet(relays)}function calculateRelaySetFromFilter(ndk,filter){const relays=new Set;ndk.pool?.relays.forEach(relay=>relays.add(relay));return new NDKRelaySet(relays)}var NDKSubscription=class extends eventemitter3Exports{subId;filter;opts;relaySet;ndk;relaySubscriptions;debug;constructor(ndk,filter,opts,relaySet,subId){super();this.ndk=ndk;this.subId=subId||Math.floor(Math.random()*9999991e3).toString();this.filter=filter;this.relaySet=relaySet;this.opts=opts;this.relaySubscriptions=new Map;this.debug=ndk.debug.extend("subscription");if(opts?.cacheUsage==="ONLY_CACHE"||opts?.cacheUsage==="CACHE_FIRST"){throw new Error("Cannot use cache-only options with a persistent subscription")}}shouldQueryCache(){return this.opts?.cacheUsage!=="ONLY_RELAY"}shouldQueryRelays(){return this.opts?.cacheUsage!=="ONLY_CACHE"}async start(){let cachePromise;if(this.shouldQueryCache()){cachePromise=this.startWithCache();const shouldWaitForCache=this.ndk.cacheAdapter?.locking&&this.shouldQueryRelays()&&this.opts?.cacheUsage!=="PARALLEL";if(shouldWaitForCache){this.debug("waiting for cache to finish");await cachePromise;if(this.eventIds.size>0){this.debug("cache hit, skipping relay query");this.emit("eose");return}}}if(this.shouldQueryRelays()){this.startWithRelaySet()}return}async startWithCache(){if(this.ndk.cacheAdapter?.query){this.debug("querying cache");const promise=this.ndk.cacheAdapter.query(this);if(this.ndk.cacheAdapter.locking){await promise}}}startWithRelaySet(){if(!this.relaySet){this.relaySet=calculateRelaySetFromFilter(this.ndk,this.filter)}if(this.relaySet){this.debug("querying relays");this.relaySet.subscribe(this)}}eventFirstSeen=new Map;eventIds=new Set;eventReceived(event,relay,fromCache=false){if(!fromCache&&relay){const eventAlreadySeen=this.eventIds.has(event.id);if(eventAlreadySeen){const timeSinceFirstSeen=Date.now()-(this.eventFirstSeen.get(event.id)||0);relay.scoreSlowerEvent(timeSinceFirstSeen);this.emit("event:dup",event,relay,timeSinceFirstSeen);return}if(this.ndk.cacheAdapter){this.ndk.cacheAdapter.setEvent(event,this.filter)}this.eventFirstSeen.set(event.id,Date.now())}this.eventIds.add(event.id);this.emit("event",event,relay)}eosesSeen=new Set;eoseTimeout;eoseReceived(relay){if(this.opts?.closeOnEose){this.relaySubscriptions.get(relay)?.unsub()}this.eosesSeen.add(relay);const hasSeenAllEoses=this.eosesSeen.size===this.relaySet?.size();if(hasSeenAllEoses){this.emit("eose")}else{if(this.eoseTimeout){clearTimeout(this.eoseTimeout)}this.eoseTimeout=setTimeout(()=>{this.emit("eose")},500)}}};function dedup(event1,event2){if(event1.created_at>event2.created_at){return event1}return event2}var NDKNip07Signer=class{_userPromise;constructor(){if(!window.nostr){throw new Error("NIP-07 extension not available")}}async blockUntilReady(){const pubkey=await window.nostr?.getPublicKey();if(!pubkey){throw new Error("User rejected access")}return new NDKUser({hexpubkey:pubkey})}async user(){if(!this._userPromise){this._userPromise=this.blockUntilReady()}return this._userPromise}async sign(event){if(!window.nostr){throw new Error("NIP-07 extension not available")}const signedEvent=await window.nostr.signEvent(event);return signedEvent.sig}};function zapInvoiceFromEvent(event){const description=event.getMatchingTags("description")[0];const bolt11$1=event.getMatchingTags("bolt11")[0];let decodedInvoice;let zapRequest;if(!description||!bolt11$1||!bolt11$1[1]){return null}try{let zapRequestPayload=description[1];if(zapRequestPayload.startsWith("%")){zapRequestPayload=decodeURIComponent(zapRequestPayload)}if(zapRequestPayload===""){return null}zapRequest=JSON.parse(zapRequestPayload);decodedInvoice=bolt11.decode(bolt11$1[1])}catch(e){return null}const amountSection=decodedInvoice.sections.find(s=>s.name==="amount");if(!amountSection){return null}const amount=parseInt(amountSection.value)/1e3;if(!amount){return null}const content=zapRequest.content;const sender=zapRequest.pubkey;const recipientTag=event.getMatchingTags("p")[0];const recipient=recipientTag[1];const zappedEvent=event.getMatchingTags("e")[0];const zappedEventId=zappedEvent?zappedEvent[1]:void 0;const zapInvoice={id:event.id,zapper:event.pubkey,zappee:sender,zapped:recipient,zappedEvent:zappedEventId,amount:amount,comment:content};return zapInvoice}var NDK=class extends eventemitter3Exports{pool;signer;cacheAdapter;debug;constructor(opts={}){super();this.debug=opts.debug||browserExports("ndk");this.pool=new NDKPool(opts.explicitRelayUrls||[],this);this.signer=opts.signer;this.cacheAdapter=opts.cacheAdapter;this.debug("initialized",{relays:opts.explicitRelayUrls,signer:opts.signer?.constructor.name||"none",cacheAdapter:opts.cacheAdapter?.constructor.name||"none"})}async connect(timeoutMs){this.debug("Connecting to relays");return this.pool.connect(timeoutMs)}getUser(opts){const user=new NDKUser(opts);user.ndk=this;return user}subscribe(filter,opts){const subscription=new NDKSubscription(this,filter,opts);subscription.start();return subscription}async publish(event){const relaySet=calculateRelaySetFromEvent(this);return relaySet.publish(event)}async fetchEvent(filter,opts={}){return new Promise(resolve=>{const s=this.subscribe(filter,{...opts,closeOnEose:true});s.on("event",event=>{event.ndk=this;resolve(event)})})}async fetchEvents(filter,opts={}){return new Promise(resolve=>{const events=new Map;const relaySetSubscription=this.subscribe(filter,{...opts,closeOnEose:true});relaySetSubscription.on("event",event=>{const existingEvent=events.get(event.tagId());if(existingEvent){event=dedup(existingEvent,event)}event.ndk=this;events.set(event.tagId(),event)});relaySetSubscription.on("eose",()=>{resolve(new Set(events.values()))})})}async assertSigner(){if(!this.signer){this.emit("signerRequired");throw new Error("Signer required")}}};const log=new browserExports("nostr:adapter");const profilesLog=new browserExports("nostr:adapter:profiles");const writeLog=new browserExports("nostr:adapter:write");class NstrAdapter{relayStatus={};#pool=null;#messages={};#eventEmitter=new eventsExports;#handlers={};tags;referenceTags;type;#websiteOwnerPubkey;relayUrls=[];#profileRequestQueue=[];#requestedProfiles=[];#profileRequestTimer;#delayedSubscriptions={};#delayedSubscriptionTimeouts={};constructor(clientPubkey,{tags,referenceTags,type="DM",websiteOwnerPubkey,relays}={}){this.pubkey=clientPubkey;this.#websiteOwnerPubkey=websiteOwnerPubkey;this.relayUrls=relays;if(type){this.setChatConfiguration(type,tags,referenceTags)}}setChatConfiguration(type,tags,referenceTags){log("chatConfiguration",{type:type,tags:tags,referenceTags:referenceTags});this.type=type;this.tags=tags;this.referenceTags=referenceTags;if(this.#pool){this.#disconnect()}this.#connect();let filters=[];switch(this.type){case"DM":filters.push({kinds:[4],"#p":[this.pubkey,this.#websiteOwnerPubkey],authors:[this.pubkey,this.#websiteOwnerPubkey]});break;case"GLOBAL":if(this.tags&&this.tags.length>0){filters.push({kinds:[1],"#t":this.tags,limit:20})}if(this.referenceTags&&this.referenceTags.length>0){filters.push({kinds:[1],"#r":this.referenceTags,limit:20})}break}if(filters&&filters.length>0){this.subscribe(filters,e=>{this.#emitMessage(e)})}}async getPubKey(){return this.pubkey}on(event,callback){this.#eventEmitter.on(event,callback)}async send(message,{tagPubKeys,tags}={}){let event;if(!tags){tags=[]}if(this.type==="DM"){event=await this.sendKind4(message,{tagPubKeys:tagPubKeys,tags:tags})}else{event=await this.sendKind1(message,{tagPubKeys:tagPubKeys,tags:tags})}event.id=getEventHash(event);const signedEvent=await this.signEvent(event);this.#_publish(signedEvent);return event.id}async sendKind4(message,{tagPubKeys,tags}={}){let ciphertext=await this.encrypt(this.#websiteOwnerPubkey,message);let event={kind:4,pubkey:this.pubkey,created_at:Math.floor(Date.now()/1e3),content:ciphertext,tags:[["p",this.#websiteOwnerPubkey],...tags]};return event}async sendKind1(message,{tagPubKeys,tags}={}){if(!tags){tags=[]}if(this.tags){this.tags.forEach(t=>tags.push(["t",t]))}if(this.referenceTags){this.referenceTags.forEach(t=>tags.push(["r",t]))}let event={kind:1,created_at:Math.floor(Date.now()/1e3),tags:tags,content:message,pubkey:this.pubkey};if(tagPubKeys){for(let pubkey of tagPubKeys){if(pubkey){event.tags.push(["p",pubkey])}}}event.id=getEventHash(event);this.subscribeToEventAndResponses(event.id);return event}async#_publish(event){writeLog("publish",event);this.#pool.send(["EVENT",event])}async onEvent(event,messageCallback){this.#addProfileRequest(event.pubkey);messageCallback(event)}async delayedSubscribe(filters,family,timeout){this.#delayedSubscriptions[family]=this.#delayedSubscriptions[family]||[];this.#delayedSubscriptions[family].push(filters);if(!this.#delayedSubscriptionTimeouts[family]){this.#delayedSubscriptionTimeouts[family]=setTimeout(()=>{delete this.#delayedSubscriptionTimeouts[family];let filters=this.#delayedSubscriptions[family];delete this.#delayedSubscriptions[family];let groups=[];groups=filters.reduce((groups,filter,index)=>{if(index%10===0){groups.push([])}groups[groups.length-1].push(filter);return groups},groups);console.log(`turned ${filters.length} filters into ${groups.length} groups`);groups.forEach(filters=>{this.subscribe(filters,e=>{this.#emitMessage(e)})})},timeout)}}async subscribe(filters,messageCallback=null){if(!messageCallback){messageCallback=e=>{this.#emitMessage(e)}}return this.#_subscribe(filters,messageCallback)}async#_subscribe(filters,messageCallback){const subId=v4();this.#handlers[subId]=messageCallback;if(!Array.isArray(filters)){filters=[filters]}this.#pool.subscribe(subId,filters);this.#pool.on("event",(relay,recSubId,e)=>{this.onEvent(e,this.#handlers[recSubId])});return subId}async#emitMessage(event){if(this.#messages[event.id]){return}this.#messages[event.id]=true;if(event.kind===4){event.content=await this.decrypt(this.#websiteOwnerPubkey,event.content)}let deletedEvents=[];if(event.kind===5){deletedEvents=event.tags.filter(tag=>tag[0]==="e").map(tag=>tag[1])}let zap;if(event.kind===9735){const ndkEvent=new NDKEvent(null,event);zap=zapInvoiceFromEvent(ndkEvent);console.log(`received a zap invoice: ${zap}`,event)}switch(event.kind){case 1:this.#eventEmitter.emit("message",event);break;case 4:this.#eventEmitter.emit("message",event);break;case 5:this.#eventEmitter.emit("deleted",deletedEvents);break;case 7:this.#eventEmitter.emit("reaction",event);break;case 9735:this.#eventEmitter.emit("zap",zap);break;default:console.log("unknown event kind",event.kind,event)}}subscribeToEventAndResponses(eventId){this.subscribe([{ids:[eventId]},{"#e":[eventId]}],e=>{this.#emitMessage(e)})}subscribeToResponses(event){this.subscribe([{"#e":[event.id]}],e=>{this.#emitMessage(e);this.subscribeToResponses(e)})}#connect(){this.relayUrls.forEach(url=>{this.relayStatus[url]="disconnected"});this.#eventEmitter.emit("connectivity",this.relayStatus);this.#pool=new relayPool(this.relayUrls);this.#pool.on("open",relay=>{this.relayStatus[relay.url]="connected";this.#eventEmitter.emit("connectivity",this.relayStatus)});this.#pool.on("error",(relay,r,e)=>{this.relayStatus[relay.url]="error";this.#eventEmitter.emit("connectivity",this.relayStatus);console.log("error from relay",relay.url,r,e)});this.#pool.on("close",(relay,r)=>{this.relayStatus[relay.url]="closed";this.#eventEmitter.emit("connectivity",this.relayStatus);console.log("error from relay",relay.url,r)});this.#pool.on("notice",(relay,r)=>{console.log("notice",relay.url,r)})}#disconnect(){this.relayUrls.forEach(url=>{this.relayStatus[url]="disconnected"});this.#eventEmitter.emit("connectivity",this.relayStatus);this.#pool.close();this.#pool=null}reqProfile(pubkey){this.#addProfileRequest(pubkey)}#addProfileRequest(pubkey,event=null){if(this.#profileRequestQueue.includes(pubkey)){return}if(this.#requestedProfiles.includes(pubkey)){return}this.#profileRequestQueue.push(pubkey);this.#requestedProfiles.push(pubkey);if(!this.#profileRequestTimer){this.#profileRequestTimer=setTimeout(()=>{this.#profileRequestTimer=null;this.#requestProfiles()},500)}}async#requestProfiles(){if(this.#profileRequestQueue.length>0){profilesLog("requesting profiles",this.#profileRequestQueue);const subId=await this.subscribe({kinds:[0],authors:this.#profileRequestQueue},e=>{this.#processReceivedProfile(e)});profilesLog("subscribed to request",{subId:subId});this.#profileRequestQueue=[];setTimeout(()=>{profilesLog("unsubscribing from request",{subId:subId});this.#pool.unsubscribe(subId)},5e3)}}#processReceivedProfile(event){profilesLog("received profile",event);let profile;try{profile=JSON.parse(event.content)}catch(e){profilesLog("failed to parse profile",event);return}this.#eventEmitter.emit("profile",{pubkey:event.pubkey,profile:profile})}}class NstrAdapterNip07 extends NstrAdapter{constructor(pubkey,adapterConfig={}){super(pubkey,adapterConfig)}async signEvent(event){return await window.nostr.signEvent(event)}async encrypt(destPubkey,message){return await window.nostr.nip04.encrypt(destPubkey,message)}async decrypt(destPubkey,message){return await window.nostr.nip04.decrypt(destPubkey,message)}}function _regeneratorRuntime(){_regeneratorRuntime=function(){return exports};var exports={},Op=Object.prototype,hasOwn=Op.hasOwnProperty,defineProperty=Object.defineProperty||function(obj,key,desc){obj[key]=desc.value},$Symbol="function"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||"@@iterator",asyncIteratorSymbol=$Symbol.asyncIterator||"@@asyncIterator",toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";function define(obj,key,value){return Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}),obj[key]}try{define({},"")}catch(err){define=function(obj,key,value){return obj[key]=value}}function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator,generator=Object.create(protoGenerator.prototype),context=new Context(tryLocsList||[]);return defineProperty(generator,"_invoke",{value:makeInvokeMethod(innerFn,self,context)}),generator}function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}exports.wrap=wrap;var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};define(IteratorPrototype,iteratorSymbol,function(){return this});var getProto=Object.getPrototypeOf,NativeIteratorPrototype=getProto&&getProto(getProto(values([])));NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)&&(IteratorPrototype=NativeIteratorPrototype);var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);function defineIteratorMethods(prototype){["next","throw","return"].forEach(function(method){define(prototype,method,function(arg){return this._invoke(method,arg)})})}function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if("throw"!==record.type){var result=record.arg,value=result.value;return value&&"object"==typeof value&&hasOwn.call(value,"__await")?PromiseImpl.resolve(value.__await).then(function(value){invoke("next",value,resolve,reject)},function(err){invoke("throw",err,resolve,reject)}):PromiseImpl.resolve(value).then(function(unwrapped){result.value=unwrapped,resolve(result)},function(error){return invoke("throw",error,resolve,reject)})}reject(record.arg)}var previousPromise;defineProperty(this,"_invoke",{value:function(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl(function(resolve,reject){invoke(method,arg,resolve,reject)})}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(innerFn,self,context){var state="suspendedStart";return function(method,arg){if("executing"===state)throw new Error("Generator is already running");if("completed"===state){if("throw"===method)throw arg;return doneResult()}for(context.method=method,context.arg=arg;;){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult}}if("next"===context.method)context.sent=context._sent=context.arg;else if("throw"===context.method){if("suspendedStart"===state)throw state="completed",context.arg;context.dispatchException(context.arg)}else"return"===context.method&&context.abrupt("return",context.arg);state="executing";var record=tryCatch(innerFn,self,context);if("normal"===record.type){if(state=context.done?"completed":"suspendedYield",record.arg===ContinueSentinel)continue;return{value:record.arg,done:context.done}}"throw"===record.type&&(state="completed",context.method="throw",context.arg=record.arg)}}}function maybeInvokeDelegate(delegate,context){var methodName=context.method,method=delegate.iterator[methodName];if(undefined===method)return context.delegate=null,"throw"===methodName&&delegate.iterator.return&&(context.method="return",context.arg=undefined,maybeInvokeDelegate(delegate,context),"throw"===context.method)||"return"!==methodName&&(context.method="throw",context.arg=new TypeError("The iterator does not provide a '"+methodName+"' method")),ContinueSentinel;var record=tryCatch(method,delegate.iterator,context.arg);if("throw"===record.type)return context.method="throw",context.arg=record.arg,context.delegate=null,ContinueSentinel;var info=record.arg;return info?info.done?(context[delegate.resultName]=info.value,context.next=delegate.nextLoc,"return"!==context.method&&(context.method="next",context.arg=undefined),context.delegate=null,ContinueSentinel):info:(context.method="throw",context.arg=new TypeError("iterator result is not an object"),context.delegate=null,ContinueSentinel)}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal",delete record.arg,entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0)}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if("function"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i=0;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel}},catch:function(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},"next"===this.method&&(this.arg=undefined),ContinueSentinel}},exports}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value}catch(error){reject(error);return}if(info.done){resolve(value)}else{Promise.resolve(value).then(_next,_throw)}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(undefined)})}}function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i(Ephemeral Keys)`;attr(button0,"class","bg-purple-900 hover:bg-purple-700 w-full p-4 rounded-xl text-center font-regular text-gray-200 svelte-1x5ct6j");attr(button1,"class","bg-purple-900 hover:bg-purple-700 w-full p-4 rounded-xl text-center font-regular text-gray-200 svelte-1x5ct6j");attr(div,"class","flex flex-col gap-1 svelte-1x5ct6j")},m(target,anchor){insert(target,div,anchor);if(if_block)if_block.m(div,null);append(div,t0);append(div,button0);append(div,t2);append(div,button1);if(!mounted){dispose=[listen(button0,"click",prevent_default(ctx[3])),listen(button1,"click",prevent_default(ctx[2]))];mounted=true}},p(ctx,dirty){},i:noop,o:noop,d(detaching){if(detaching)detach(div);if(if_block)if_block.d();mounted=false;run_all(dispose)}}}function create_if_block$5(ctx){let p;let t1;let div;let qr;let t2;let button;let current;let mounted;let dispose;qr=new QR({props:{text:ctx[0]}});return{c(){p=element("p");p.textContent="Scan this with your Nostr Connect (click to copy to clipboard)";t1=space();div=element("div");create_component(qr.$$.fragment);t2=space();button=element("button");button.textContent="Cancel";attr(p,"class","text-gray-600 mb-3 svelte-1x5ct6j");attr(div,"class","bg-white w-full p-3 svelte-1x5ct6j");attr(button,"class","bg-purple-900 hover:bg-purple-700 w-full p-2 rounded-xl text-center font-regular text-white svelte-1x5ct6j")},m(target,anchor){insert(target,p,anchor);insert(target,t1,anchor);insert(target,div,anchor);mount_component(qr,div,null);insert(target,t2,anchor);insert(target,button,anchor);current=true;if(!mounted){dispose=[listen(div,"click",prevent_default(ctx[4])),listen(button,"click",prevent_default(ctx[8]))];mounted=true}},p(ctx,dirty){const qr_changes={};if(dirty&1)qr_changes.text=ctx[0];qr.$set(qr_changes)},i(local){if(current)return;transition_in(qr.$$.fragment,local);current=true},o(local){transition_out(qr.$$.fragment,local);current=false},d(detaching){if(detaching)detach(p);if(detaching)detach(t1);if(detaching)detach(div);destroy_component(qr);if(detaching)detach(t2);if(detaching)detach(button);mounted=false;run_all(dispose)}}}function create_if_block_2$2(ctx){let button;let mounted;let dispose;return{c(){button=element("button");button.textContent="Browser Extension (NIP-07)";attr(button,"class","bg-purple-900 hover:bg-purple-700 w-full p-4 rounded-xl text-center font-regular text-gray-200 svelte-1x5ct6j")},m(target,anchor){insert(target,button,anchor);if(!mounted){dispose=listen(button,"click",prevent_default(ctx[1]));mounted=true}},p:noop,d(detaching){if(detaching)detach(button);mounted=false;dispose()}}}function create_fragment$5(ctx){let h1;let t1;let t2;let current_block_type_index;let if_block1;let if_block1_anchor;let current;const if_block_creators=[create_if_block$5,create_if_block_1$3];const if_blocks=[];function select_block_type(ctx,dirty){if(ctx[0])return 0;return 1}if(~(current_block_type_index=select_block_type(ctx))){if_block1=if_blocks[current_block_type_index]=create_if_block_1$3(ctx)}return{c(){h1=element("h1");h1.textContent="How would you like to connect?";t1=space();t2=space();if(if_block1)if_block1.c();if_block1_anchor=empty();attr(h1,"class","font-bold text-xl mb-3 svelte-1x5ct6j")},m(target,anchor){insert(target,h1,anchor);insert(target,t1,anchor);insert(target,t2,anchor);if(~current_block_type_index){if_blocks[current_block_type_index].m(target,anchor)}insert(target,if_block1_anchor,anchor);current=true},p(ctx,[dirty]){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type(ctx);if(current_block_type_index===previous_block_index){if(~current_block_type_index){if_blocks[current_block_type_index].p(ctx,dirty)}}else{if(if_block1){group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros()}if(~current_block_type_index){if_block1=if_blocks[current_block_type_index];if(!if_block1){if_block1=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block1.c()}else{if_block1.p(ctx,dirty)}transition_in(if_block1,1);if_block1.m(if_block1_anchor.parentNode,if_block1_anchor)}else{if_block1=null}}},i(local){if(current)return;transition_in(if_block1);current=true},o(local){transition_out(if_block1);current=false},d(detaching){if(detaching)detach(h1);if(detaching)detach(t1);if(detaching)detach(t2);if(~current_block_type_index){if_blocks[current_block_type_index].d(detaching)}if(detaching)detach(if_block1_anchor)}}}function instance$5($$self,$$props,$$invalidate){let{websiteOwnerPubkey}=$$props;let{chatConfiguration}=$$props;let{relays}=$$props;let nip46URI;let adapterConfig;onMount(()=>{const type=localStorage.getItem("nostrichat-type");if(type==="nip07"){useNip07()}else if(type==="nip-46"){useNip46()}adapterConfig={type:chatConfiguration.chatType,tags:chatConfiguration.chatTags,referenceTags:chatConfiguration.chatReferenceTags,websiteOwnerPubkey:websiteOwnerPubkey,relays:relays}});function useNip07(){window.nostr.getPublicKey().then(pubkey=>{localStorage.setItem("nostrichat-type","nip07");chatAdapter.set(new NstrAdapterNip07(pubkey,adapterConfig))})}async function useDiscardableKeys(){chatAdapter.set(new NstrAdapterDiscadableKeys(adapterConfig))}async function useNip46(){let key=localStorage.getItem("nostrichat-nostr-connect-key");let publicKey=localStorage.getItem("nostrichat-nostr-connect-public-key");if(key){chatAdapter.set(new NstrAdapterNip46(publicKey,key,adapterConfig));return}key=generatePrivateKey();const connect=new Connect({secretKey:key,relay:"wss://nostr.vulpem.com"});connect.events.on("connect",connectedPubKey=>{localStorage.setItem("nostrichat-nostr-connect-key",key);localStorage.setItem("nostrichat-nostr-connect-public-key",connectedPubKey);localStorage.setItem("nostrichat-type","nip-46");console.log("connected to nostr connect relay");publicKey=connectedPubKey;chatAdapter.set(new NstrAdapterNip46(publicKey,key));$$invalidate(0,nip46URI=null)});connect.events.on("disconnect",()=>{console.log("disconnected from nostr connect relay")});await connect.init();let windowTitle,currentUrl,currentDomain;try{windowTitle=window.document.title||"Nostrichat";currentUrl=new URL(window.location.href);currentDomain=currentUrl.hostname}catch(e){currentUrl=window.location.href;currentDomain=currentUrl}const connectURI=new ConnectURI({target:getPublicKey(key),relay:"wss://nostr.vulpem.com",metadata:{name:windowTitle,description:"รฐลธโ€โ€ฐรฐลธโ€โ€ฐรฐลธโ€โ€ฐ",url:currentUrl}});$$invalidate(0,nip46URI=connectURI.toString())}function Nip46Copy(){navigator.clipboard.writeText(nip46URI)}const click_handler=()=>{$$invalidate(0,nip46URI=null)};$$self.$$set=$$props=>{if("websiteOwnerPubkey"in $$props)$$invalidate(5,websiteOwnerPubkey=$$props.websiteOwnerPubkey);if("chatConfiguration"in $$props)$$invalidate(6,chatConfiguration=$$props.chatConfiguration);if("relays"in $$props)$$invalidate(7,relays=$$props.relays)};return[nip46URI,useNip07,useDiscardableKeys,useNip46,Nip46Copy,websiteOwnerPubkey,chatConfiguration,relays,click_handler]}class KeyPrompt extends SvelteComponent{constructor(options){super();init(this,options,instance$5,create_fragment$5,safe_not_equal,{websiteOwnerPubkey:5,chatConfiguration:6,relays:7})}}var lib={};var client={};var errors={};var __extends=commonjsGlobal&&commonjsGlobal.__extends||function(){var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)if(Object.prototype.hasOwnProperty.call(b,p))d[p]=b[p]};return extendStatics(d,b)};return function(d,b){if(typeof b!=="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}}();Object.defineProperty(errors,"__esModule",{value:true});errors.InternalError=errors.InvalidDataError=errors.RoutingError=errors.UnsupportedMethodError=errors.ConnectionError=errors.RejectionError=errors.MissingProviderError=void 0;function fixError(error,newTarget,errorType){Object.setPrototypeOf(error,errorType.prototype);if(newTarget===errorType){error.name=newTarget.name;if(Error.captureStackTrace){Error.captureStackTrace(error,errorType)}else{var stack=new Error(error.message).stack;if(stack){error.stack=fixStack(stack,"new ".concat(newTarget.name))}}}}function fixStack(stack,functionName){if(!stack)return stack;if(!functionName)return stack;var exclusion=new RegExp("\\s+at\\s".concat(functionName,"\\s"));var lines=stack.split("\n");var resultLines=lines.filter(function(line){return!line.match(exclusion)});return resultLines.join("\n")}var MissingProviderError=function(_super){__extends(MissingProviderError,_super);function MissingProviderError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,MissingProviderError);return _this}return MissingProviderError}(Error);errors.MissingProviderError=MissingProviderError;var RejectionError=function(_super){__extends(RejectionError,_super);function RejectionError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,RejectionError);return _this}return RejectionError}(Error);errors.RejectionError=RejectionError;var ConnectionError=function(_super){__extends(ConnectionError,_super);function ConnectionError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,ConnectionError);return _this}return ConnectionError}(Error);errors.ConnectionError=ConnectionError;var UnsupportedMethodError=function(_super){__extends(UnsupportedMethodError,_super);function UnsupportedMethodError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,UnsupportedMethodError);return _this}return UnsupportedMethodError}(Error);errors.UnsupportedMethodError=UnsupportedMethodError;var RoutingError=function(_super){__extends(RoutingError,_super);function RoutingError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,RoutingError);return _this}return RoutingError}(Error);errors.RoutingError=RoutingError;var InvalidDataError=function(_super){__extends(InvalidDataError,_super);function InvalidDataError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,InvalidDataError);return _this}return InvalidDataError}(Error);errors.InvalidDataError=InvalidDataError;var InternalError=function(_super){__extends(InternalError,_super);function InternalError(message){var _newTarget=this.constructor;var _this=_super.call(this,message)||this;fixError(_this,_newTarget,InternalError);return _this}return InternalError}(Error);errors.InternalError=InternalError;Object.defineProperty(client,"__esModule",{value:true});client.requestProvider=void 0;var errors_1=errors;function requestProvider(_){return new Promise(function(resolve,reject){if(typeof window==="undefined"){return reject(new Error("Must be called in a browser context"))}var webln=window.webln;if(!webln){return reject(new errors_1.MissingProviderError("Your browser has no WebLN provider"))}webln.enable().then(function(){return resolve(webln)}).catch(function(err){return reject(err)})})}client.requestProvider=requestProvider;var provider={};Object.defineProperty(provider,"__esModule",{value:true});(function(exports){var __createBinding=commonjsGlobal&&commonjsGlobal.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k]}}}Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k]});var __exportStar=commonjsGlobal&&commonjsGlobal.__exportStar||function(m,exports){for(var p in m)if(p!=="default"&&!Object.prototype.hasOwnProperty.call(exports,p))__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:true});__exportStar(client,exports);__exportStar(provider,exports);__exportStar(errors,exports)})(lib);function create_else_block$4(ctx){let span;let t_value=(ctx[2]||ctx[1])+"";let t;return{c(){span=element("span");t=text(t_value);attr(span,"class","text-base text-white flex flex-col items-center")},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty&6&&t_value!==(t_value=(ctx[2]||ctx[1])+""))set_data(t,t_value)},d(detaching){if(detaching)detach(span)}}}function create_if_block$4(ctx){let span;let t;return{c(){span=element("span");t=text(ctx[0]);attr(span,"class","text-xl")},m(target,anchor){insert(target,span,anchor);append(span,t)},p(ctx,dirty){if(dirty&1)set_data(t,ctx[0])},d(detaching){if(detaching)detach(span)}}}function create_fragment$4(ctx){let div;let mounted;let dispose;function select_block_type(ctx,dirty){if(!ctx[3])return create_if_block$4;return create_else_block$4}let current_block_type=select_block_type(ctx);let if_block=current_block_type(ctx);return{c(){div=element("div");if_block.c()},m(target,anchor){insert(target,div,anchor);if_block.m(div,null);if(!mounted){dispose=[listen(div,"mouseenter",ctx[7]),listen(div,"mouseleave",ctx[8]),listen(div,"click",prevent_default(ctx[4]))];mounted=true}},p(ctx,[dirty]){if(current_block_type===(current_block_type=select_block_type(ctx))&&if_block){if_block.p(ctx,dirty)}else{if_block.d(1);if_block=current_block_type(ctx);if(if_block){if_block.c();if_block.m(div,null)}}},i:noop,o:noop,d(detaching){if(detaching)detach(div);if_block.d();mounted=false;run_all(dispose)}}}function instance$4($$self,$$props,$$invalidate){let $zappingMessage;component_subscribe($$self,zappingMessage,$$value=>$$invalidate(9,$zappingMessage=$$value));let{icon,amount,amountDisplay,event,mobilePR}=$$props;let hover=false;async function zap(){const signer=new NDKNip07Signer;const ndk=new NDK({explicitRelayUrls:["wss://nos.lol","wss://relay.nostr.band","wss://relay.damus.io","wss://nostr.mom","wss://no.str.cr"]});ndk.signer=signer;await ndk.connect();let pr;try{const ndkEvent=new NDKEvent(ndk,event);pr=await ndkEvent.zap(amount*1e3)}catch(e){alert(e);return}let webln;try{webln=await lib.requestProvider()}catch(err){$$invalidate(5,mobilePR=pr);return}try{await webln.sendPayment(pr);set_store_value(zappingMessage,$zappingMessage=null,$zappingMessage)}catch(err){$$invalidate(5,mobilePR=pr)}}const mouseenter_handler=()=>$$invalidate(3,hover=true);const mouseleave_handler=()=>$$invalidate(3,hover=false);$$self.$$set=$$props=>{if("icon"in $$props)$$invalidate(0,icon=$$props.icon);if("amount"in $$props)$$invalidate(1,amount=$$props.amount);if("amountDisplay"in $$props)$$invalidate(2,amountDisplay=$$props.amountDisplay);if("event"in $$props)$$invalidate(6,event=$$props.event);if("mobilePR"in $$props)$$invalidate(5,mobilePR=$$props.mobilePR)};return[icon,amount,amountDisplay,hover,zap,mobilePR,event,mouseenter_handler,mouseleave_handler]}class ZapAmountButton extends SvelteComponent{constructor(options){super();init(this,options,instance$4,create_fragment$4,safe_not_equal,{icon:0,amount:1,amountDisplay:2,event:6,mobilePR:5})}}function get_each_context$1(ctx,list,i){const child_ctx=ctx.slice();child_ctx[32]=list[i];return child_ctx}function create_else_block_2$1(ctx){let t;return{c(){t=text("รขลกยกรฏยธย")},m(target,anchor){insert(target,t,anchor)},p:noop,d(detaching){if(detaching)detach(t)}}}function create_if_block_4$1(ctx){let p;let t0;let span;let t1;return{c(){p=element("p");t0=text("รขลกยกรฏยธย\n ");span=element("span");t1=text(ctx[9]);attr(span,"class","text-orange-500 font-semibold svelte-1x5ct6j");attr(p,"class","flex flex-col items-center my-4 svelte-1x5ct6j")},m(target,anchor){insert(target,p,anchor);append(p,t0);append(p,span);append(span,t1)},p(ctx,dirty){if(dirty[0]&512)set_data(t1,ctx[9])},d(detaching){if(detaching)detach(p)}}}function create_if_block_2$1(ctx){let current_block_type_index;let if_block;let if_block_anchor;let current;const if_block_creators=[create_if_block_3$1,create_else_block_1$1];const if_blocks=[];function select_block_type_1(ctx,dirty){if(ctx[8])return 0;return 1}current_block_type_index=select_block_type_1(ctx);if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);return{c(){if_block.c();if_block_anchor=empty()},m(target,anchor){if_blocks[current_block_type_index].m(target,anchor);insert(target,if_block_anchor,anchor);current=true},p(ctx,dirty){let previous_block_index=current_block_type_index;current_block_type_index=select_block_type_1(ctx);if(current_block_type_index===previous_block_index){if_blocks[current_block_type_index].p(ctx,dirty)}else{group_outros();transition_out(if_blocks[previous_block_index],1,1,()=>{if_blocks[previous_block_index]=null});check_outros();if_block=if_blocks[current_block_type_index];if(!if_block){if_block=if_blocks[current_block_type_index]=if_block_creators[current_block_type_index](ctx);if_block.c()}else{if_block.p(ctx,dirty)}transition_in(if_block,1);if_block.m(if_block_anchor.parentNode,if_block_anchor)}},i(local){if(current)return;transition_in(if_block);current=true},o(local){transition_out(if_block);current=false},d(detaching){if_blocks[current_block_type_index].d(detaching);if(detaching)detach(if_block_anchor)}}}function create_else_block_1$1(ctx){let div6;let div0;let zapamountbutton0;let updating_mobilePR;let t0;let div1;let zapamountbutton1;let updating_mobilePR_1;let t1;let div2;let zapamountbutton2;let updating_mobilePR_2;let t2;let div3;let zapamountbutton3;let updating_mobilePR_3;let t3;let div4;let zapamountbutton4;let updating_mobilePR_4;let t4;let div5;let zapamountbutton5;let updating_mobilePR_5;let current;function zapamountbutton0_mobilePR_binding(value){ctx[20](value)}let zapamountbutton0_props={icon:"รฐลธโ€˜ย",amount:500,event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton0_props.mobilePR=ctx[8]}zapamountbutton0=new ZapAmountButton({props:zapamountbutton0_props});binding_callbacks.push(()=>bind(zapamountbutton0,"mobilePR",zapamountbutton0_mobilePR_binding));function zapamountbutton1_mobilePR_binding(value){ctx[21](value)}let zapamountbutton1_props={icon:"รฐลธยคโ„ข",amount:2500,amountDisplay:"2.5k",event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton1_props.mobilePR=ctx[8]}zapamountbutton1=new ZapAmountButton({props:zapamountbutton1_props});binding_callbacks.push(()=>bind(zapamountbutton1,"mobilePR",zapamountbutton1_mobilePR_binding));function zapamountbutton2_mobilePR_binding(value){ctx[22](value)}let zapamountbutton2_props={icon:"รฐลธโ„ขล’",amount:5e3,amountDisplay:"5k",event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton2_props.mobilePR=ctx[8]}zapamountbutton2=new ZapAmountButton({props:zapamountbutton2_props});binding_callbacks.push(()=>bind(zapamountbutton2,"mobilePR",zapamountbutton2_mobilePR_binding));function zapamountbutton3_mobilePR_binding(value){ctx[23](value)}let zapamountbutton3_props={icon:"รฐลธยงยก",amount:1e4,amountDisplay:"10k",event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton3_props.mobilePR=ctx[8]}zapamountbutton3=new ZapAmountButton({props:zapamountbutton3_props});binding_callbacks.push(()=>bind(zapamountbutton3,"mobilePR",zapamountbutton3_mobilePR_binding));function zapamountbutton4_mobilePR_binding(value){ctx[24](value)}let zapamountbutton4_props={icon:"รฐลธยคยฏ",amount:1e5,amountDisplay:"100k",event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton4_props.mobilePR=ctx[8]}zapamountbutton4=new ZapAmountButton({props:zapamountbutton4_props});binding_callbacks.push(()=>bind(zapamountbutton4,"mobilePR",zapamountbutton4_mobilePR_binding));function zapamountbutton5_mobilePR_binding(value){ctx[25](value)}let zapamountbutton5_props={icon:"รฐลธหœลฝ",amount:1e6,amountDisplay:"1M",event:ctx[0]};if(ctx[8]!==void 0){zapamountbutton5_props.mobilePR=ctx[8]}zapamountbutton5=new ZapAmountButton({props:zapamountbutton5_props});binding_callbacks.push(()=>bind(zapamountbutton5,"mobilePR",zapamountbutton5_mobilePR_binding));return{c(){div6=element("div");div0=element("div");create_component(zapamountbutton0.$$.fragment);t0=space();div1=element("div");create_component(zapamountbutton1.$$.fragment);t1=space();div2=element("div");create_component(zapamountbutton2.$$.fragment);t2=space();div3=element("div");create_component(zapamountbutton3.$$.fragment);t3=space();div4=element("div");create_component(zapamountbutton4.$$.fragment);t4=space();div5=element("div");create_component(zapamountbutton5.$$.fragment);attr(div0,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div1,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div2,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div3,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div4,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div5,"class","flex flex-col hover:bg-orange-500 text-white rounded-full w-12 h-12 items-center justify-center cursor-pointer svelte-1x5ct6j");attr(div6,"class","flex flex-row items-stretch justify-between w-full svelte-1x5ct6j")},m(target,anchor){insert(target,div6,anchor);append(div6,div0);mount_component(zapamountbutton0,div0,null);append(div6,t0);append(div6,div1);mount_component(zapamountbutton1,div1,null);append(div6,t1);append(div6,div2);mount_component(zapamountbutton2,div2,null);append(div6,t2);append(div6,div3);mount_component(zapamountbutton3,div3,null);append(div6,t3);append(div6,div4);mount_component(zapamountbutton4,div4,null);append(div6,t4);append(div6,div5);mount_component(zapamountbutton5,div5,null);current=true},p(ctx,dirty){const zapamountbutton0_changes={};if(dirty[0]&1)zapamountbutton0_changes.event=ctx[0];if(!updating_mobilePR&&dirty[0]&256){updating_mobilePR=true;zapamountbutton0_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR=false)}zapamountbutton0.$set(zapamountbutton0_changes);const zapamountbutton1_changes={};if(dirty[0]&1)zapamountbutton1_changes.event=ctx[0];if(!updating_mobilePR_1&&dirty[0]&256){updating_mobilePR_1=true;zapamountbutton1_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR_1=false)}zapamountbutton1.$set(zapamountbutton1_changes);const zapamountbutton2_changes={};if(dirty[0]&1)zapamountbutton2_changes.event=ctx[0];if(!updating_mobilePR_2&&dirty[0]&256){updating_mobilePR_2=true;zapamountbutton2_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR_2=false)}zapamountbutton2.$set(zapamountbutton2_changes);const zapamountbutton3_changes={};if(dirty[0]&1)zapamountbutton3_changes.event=ctx[0];if(!updating_mobilePR_3&&dirty[0]&256){updating_mobilePR_3=true;zapamountbutton3_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR_3=false)}zapamountbutton3.$set(zapamountbutton3_changes);const zapamountbutton4_changes={};if(dirty[0]&1)zapamountbutton4_changes.event=ctx[0];if(!updating_mobilePR_4&&dirty[0]&256){updating_mobilePR_4=true;zapamountbutton4_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR_4=false)}zapamountbutton4.$set(zapamountbutton4_changes);const zapamountbutton5_changes={};if(dirty[0]&1)zapamountbutton5_changes.event=ctx[0];if(!updating_mobilePR_5&&dirty[0]&256){updating_mobilePR_5=true;zapamountbutton5_changes.mobilePR=ctx[8];add_flush_callback(()=>updating_mobilePR_5=false)}zapamountbutton5.$set(zapamountbutton5_changes)},i(local){if(current)return;transition_in(zapamountbutton0.$$.fragment,local);transition_in(zapamountbutton1.$$.fragment,local);transition_in(zapamountbutton2.$$.fragment,local);transition_in(zapamountbutton3.$$.fragment,local);transition_in(zapamountbutton4.$$.fragment,local);transition_in(zapamountbutton5.$$.fragment,local);current=true},o(local){transition_out(zapamountbutton0.$$.fragment,local);transition_out(zapamountbutton1.$$.fragment,local);transition_out(zapamountbutton2.$$.fragment,local);transition_out(zapamountbutton3.$$.fragment,local);transition_out(zapamountbutton4.$$.fragment,local);transition_out(zapamountbutton5.$$.fragment,local);current=false},d(detaching){if(detaching)detach(div6);destroy_component(zapamountbutton0);destroy_component(zapamountbutton1);destroy_component(zapamountbutton2);destroy_component(zapamountbutton3);destroy_component(zapamountbutton4);destroy_component(zapamountbutton5)}}}function create_if_block_3$1(ctx){let div;let a;let t0;let a_href_value;let t1;let button;let mounted;let dispose;return{c(){div=element("div");a=element("a");t0=text("Open in wallet");t1=space();button=element("button");button.textContent="Cancel";attr(a,"href",a_href_value=`lightning:${ctx[8]}`);attr(a,"class","text-center w-full p-3 bg-black text-white rounded-t-xl svelte-1x5ct6j");attr(button,"class","bg-white rounder-b-xl p-3 svelte-1x5ct6j");attr(div,"class","flex flex-col gap-3 w-full svelte-1x5ct6j")},m(target,anchor){insert(target,div,anchor);append(div,a);append(a,t0);append(div,t1);append(div,button);if(!mounted){dispose=listen(button,"click",ctx[19]);mounted=true}},p(ctx,dirty){if(dirty[0]&256&&a_href_value!==(a_href_value=`lightning:${ctx[8]}`)){attr(a,"href",a_href_value)}},i:noop,o:noop,d(detaching){if(detaching)detach(div);mounted=false;dispose()}}}function create_else_block$3(ctx){let div;let t;return{c(){div=element("div");t=text(ctx[10]);attr(div,"class","text-xs text-gray-400 svelte-1x5ct6j")},m(target,anchor){insert(target,div,anchor);append(div,t)},p(ctx,dirty){if(dirty[0]&1024)set_data(t,ctx[10])},d(detaching){if(detaching)detach(div)}}}function create_if_block_1$2(ctx){let div;return{c(){div=element("div");div.textContent="Website owner";attr(div,"class","text-purple-500 text-xs svelte-1x5ct6j")},m(target,anchor){insert(target,div,anchor)},p:noop,d(detaching){if(detaching)detach(div)}}}function create_if_block$3(ctx){let div;let current;let each_value=ctx[1][ctx[0].id];let each_blocks=[];for(let i=0;itransition_out(each_blocks[i],1,1,()=>{each_blocks[i]=null});return{c(){div=element("div");for(let i=0;i0)return create_if_block_4$1;return create_else_block_2$1}let current_block_type=select_block_type(ctx);let if_block0=current_block_type(ctx);let if_block1=ctx[6]&&create_if_block_2$1(ctx);function select_block_type_2(ctx,dirty){if(ctx[13])return create_if_block_1$2;return create_else_block$3}let current_block_type_1=select_block_type_2(ctx);let if_block2=current_block_type_1(ctx);let if_block3=ctx[1][ctx[0].id].length>0&&create_if_block$3(ctx);return{c(){div8=element("div");div7=element("div");div1=element("div");a=element("a");img=element("img");t0=space();button=element("button");if_block0.c();t1=space();div0=element("div");if(if_block1)if_block1.c();t2=space();div6=element("div");div2=element("div");t3=space();div3=element("div");t4=text(t4_value);t5=space();div5=element("div");div4=element("div");span=element("span");span.textContent=`${ctx[14].toLocaleString()}`;t7=space();if_block2.c();t8=space();if(if_block3)if_block3.c();if_block3_anchor=empty();if(!src_url_equal(img.src,img_src_value=ctx[4]))attr(img,"src",img_src_value);attr(img,"class","block w-8 h-8 rounded-full "+(ctx[13]?"ring-purple-700 ring-4":"")+""+" svelte-1x5ct6j");attr(img,"alt","");attr(a,"href",a_href_value=`nostr:${ctx[5]}`);attr(a,"class","svelte-1x5ct6j");attr(button,"class",button_class_value="rounded-full "+(ctx[9]>0?"opacity-100 text-base":"bg-orange-500 opacity-10 text-xl")+" w-8 h-8 flex items-center justify-center hover:opacity-100"+" svelte-1x5ct6j");attr(div0,"class",div0_class_value=""+(ctx[6]?"w-full rounded-full bg-white drop-shadow-xl justify-between border-2 border-gray-200":" rounded-full w-8 h-8 justify-center")+" flex items-center absolute ml-5 mt-10 z-10"+" svelte-1x5ct6j");attr(div1,"class","min-w-fit flex flex-col gap-2 svelte-1x5ct6j");attr(div2,"class","flex flex-row justify-between text-center overflow-clip text-clip w-full svelte-1x5ct6j");attr(div3,"class",div3_class_value="max-h-64 text-base cursor-pointer border border-slate-200 "+(ctx[11]===ctx[0].id?"bg-purple-700 text-white":"bg-white text-gray-900 hover:bg-slate-100")+" p-4 py-2 overflow-auto rounded-2xl shadow-sm"+" svelte-1x5ct6j");attr(span,"class","py-2 svelte-1x5ct6j");attr(div4,"class","text-xs text-gray-400 text-ellipsis overflow-clip whitespace-nowrap svelte-1x5ct6j");attr(div5,"class","flex flex-row-reverse justify-between mt-1 overflow-clip items-center relative svelte-1x5ct6j");attr(div6,"class","w-full overflow-hidden svelte-1x5ct6j");attr(div7,"class","flex flex-row gap-3 svelte-1x5ct6j");attr(div8,"class","flex flex-col gap-4 p-2-lg mb-3 text-wrap relative svelte-1x5ct6j")},m(target,anchor){insert(target,div8,anchor);append(div8,div7);append(div7,div1);append(div1,a);append(a,img);append(div1,t0);append(div1,button);if_block0.m(button,null);append(div1,t1);append(div1,div0);if(if_block1)if_block1.m(div0,null);append(div7,t2);append(div7,div6);append(div6,div2);append(div6,t3);append(div6,div3);append(div3,t4);append(div6,t5);append(div6,div5);append(div5,div4);append(div4,span);append(div5,t7);if_block2.m(div5,null);insert(target,t8,anchor);if(if_block3)if_block3.m(target,anchor);insert(target,if_block3_anchor,anchor);current=true;if(!mounted){dispose=[listen(button,"click",prevent_default(ctx[18])),listen(div3,"click",prevent_default(ctx[26])),listen(div3,"keydown",prevent_default(ctx[27])),listen(div3,"keyup",prevent_default(ctx[28])),listen(div8,"mouseenter",ctx[29]),listen(div8,"mouseleave",ctx[30])];mounted=true}},p(ctx,dirty){if(!current||dirty[0]&16&&!src_url_equal(img.src,img_src_value=ctx[4])){attr(img,"src",img_src_value)}if(!current||dirty[0]&32&&a_href_value!==(a_href_value=`nostr:${ctx[5]}`)){attr(a,"href",a_href_value)}if(current_block_type===(current_block_type=select_block_type(ctx))&&if_block0){if_block0.p(ctx,dirty)}else{if_block0.d(1);if_block0=current_block_type(ctx);if(if_block0){if_block0.c();if_block0.m(button,null)}}if(!current||dirty[0]&512&&button_class_value!==(button_class_value="rounded-full "+(ctx[9]>0?"opacity-100 text-base":"bg-orange-500 opacity-10 text-xl")+" w-8 h-8 flex items-center justify-center hover:opacity-100"+" svelte-1x5ct6j")){attr(button,"class",button_class_value)}if(ctx[6]){if(if_block1){if_block1.p(ctx,dirty);if(dirty[0]&64){transition_in(if_block1,1)}}else{if_block1=create_if_block_2$1(ctx);if_block1.c();transition_in(if_block1,1);if_block1.m(div0,null)}}else if(if_block1){group_outros();transition_out(if_block1,1,1,()=>{if_block1=null});check_outros()}if(!current||dirty[0]&64&&div0_class_value!==(div0_class_value=""+(ctx[6]?"w-full rounded-full bg-white drop-shadow-xl justify-between border-2 border-gray-200":" rounded-full w-8 h-8 justify-center")+" flex items-center absolute ml-5 mt-10 z-10"+" svelte-1x5ct6j")){attr(div0,"class",div0_class_value)}if((!current||dirty[0]&1)&&t4_value!==(t4_value=ctx[0].content+""))set_data(t4,t4_value);if(!current||dirty[0]&2049&&div3_class_value!==(div3_class_value="max-h-64 text-base cursor-pointer border border-slate-200 "+(ctx[11]===ctx[0].id?"bg-purple-700 text-white":"bg-white text-gray-900 hover:bg-slate-100")+" p-4 py-2 overflow-auto rounded-2xl shadow-sm"+" svelte-1x5ct6j")){attr(div3,"class",div3_class_value)}if_block2.p(ctx,dirty);if(ctx[1][ctx[0].id].length>0){if(if_block3){if_block3.p(ctx,dirty);if(dirty[0]&3){transition_in(if_block3,1)}}else{if_block3=create_if_block$3(ctx);if_block3.c();transition_in(if_block3,1);if_block3.m(if_block3_anchor.parentNode,if_block3_anchor)}}else if(if_block3){group_outros();transition_out(if_block3,1,1,()=>{if_block3=null});check_outros()}},i(local){if(current)return;transition_in(if_block1);transition_in(if_block3);current=true},o(local){transition_out(if_block1);transition_out(if_block3);current=false},d(detaching){if(detaching)detach(div8);if_block0.d();if(if_block1)if_block1.d();if_block2.d();if(detaching)detach(t8);if(if_block3)if_block3.d(detaching);if(detaching)detach(if_block3_anchor);mounted=false;run_all(dispose)}}}function instance$3($$self,$$props,$$invalidate){let displayName;let $zapsPerMessage;let $chatAdapter;let $zappingMessage;let $chatData;let $selectedMessage;component_subscribe($$self,zapsPerMessage,$$value=>$$invalidate(16,$zapsPerMessage=$$value));component_subscribe($$self,chatAdapter,$$value=>$$invalidate(31,$chatAdapter=$$value));component_subscribe($$self,zappingMessage,$$value=>$$invalidate(3,$zappingMessage=$$value));component_subscribe($$self,chatData,$$value=>$$invalidate(17,$chatData=$$value));component_subscribe($$self,selectedMessage,$$value=>$$invalidate(11,$selectedMessage=$$value));let{event}=$$props;let{responses}=$$props;let{websiteOwnerPubkey}=$$props;let profiles={};let profilePicture;let npub;let zappingIt;let hovering;let mobilePR;let zappedAmount=0;function selectMessage(){if($selectedMessage===event.id){set_store_value(selectedMessage,$selectedMessage=null,$selectedMessage)}else{set_store_value(selectedMessage,$selectedMessage=event.id,$selectedMessage)}}onMount(()=>{$chatAdapter.delayedSubscribe({kinds:[1,9735],"#e":[event.id]},"responses",500)});const byWebsiteOwner=!!websiteOwnerPubkey===event.pubkey;$chatAdapter.on("zap",()=>{$$invalidate(9,zappedAmount=$zapsPerMessage[event.id]?.reduce((acc,zap)=>acc+zap.amount,0)||0)});afterUpdate(()=>{$$invalidate(9,zappedAmount=$zapsPerMessage[event.id]?.reduce((acc,zap)=>acc+zap.amount,0)||0)});let timestamp=new Date(event.created_at*1e3);const click_handler=()=>set_store_value(zappingMessage,$zappingMessage=$zappingMessage===event.id?null:event.id,$zappingMessage);const click_handler_1=()=>{set_store_value(zappingMessage,$zappingMessage=null,$zappingMessage)};function zapamountbutton0_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}function zapamountbutton1_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}function zapamountbutton2_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}function zapamountbutton3_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}function zapamountbutton4_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}function zapamountbutton5_mobilePR_binding(value){mobilePR=value;$$invalidate(8,mobilePR)}const click_handler_2=()=>{selectMessage(event.id)};const keydown_handler=()=>{selectMessage(event.id)};const keyup_handler=()=>{selectMessage(event.id)};const mouseenter_handler=()=>$$invalidate(7,hovering=true);const mouseleave_handler=()=>$$invalidate(7,hovering=false);$$self.$$set=$$props=>{if("event"in $$props)$$invalidate(0,event=$$props.event);if("responses"in $$props)$$invalidate(1,responses=$$props.responses);if("websiteOwnerPubkey"in $$props)$$invalidate(2,websiteOwnerPubkey=$$props.websiteOwnerPubkey)};$$self.$$.update=()=>{if($$self.$$.dirty[0]&131072){$$invalidate(15,profiles=$chatData.profiles)}if($$self.$$.dirty[0]&32769){$$invalidate(10,displayName=profiles[event.pubkey]&&profiles[event.pubkey].display_name||`[${event.pubkey.slice(0,6)}]`)}if($$self.$$.dirty[0]&9){$$invalidate(6,zappingIt=$zappingMessage===event.id)}if($$self.$$.dirty[0]&1){{try{$$invalidate(5,npub=nip19_exports.npubEncode(event.pubkey))}catch(e){$$invalidate(5,npub=event.pubkey)}}}if($$self.$$.dirty[0]&65537){{$$invalidate(9,zappedAmount=$zapsPerMessage[event.id]?.reduce((acc,zap)=>acc+zap.amount,0)||0)}}if($$self.$$.dirty[0]&32769){$$invalidate(4,profilePicture=profiles[event.pubkey]&&profiles[event.pubkey].picture||`https://robohash.org/${event.pubkey.slice(0,1)}.png?set=set1`)}};return[event,responses,websiteOwnerPubkey,$zappingMessage,profilePicture,npub,zappingIt,hovering,mobilePR,zappedAmount,displayName,$selectedMessage,selectMessage,byWebsiteOwner,timestamp,profiles,$zapsPerMessage,$chatData,click_handler,click_handler_1,zapamountbutton0_mobilePR_binding,zapamountbutton1_mobilePR_binding,zapamountbutton2_mobilePR_binding,zapamountbutton3_mobilePR_binding,zapamountbutton4_mobilePR_binding,zapamountbutton5_mobilePR_binding,click_handler_2,keydown_handler,keyup_handler,mouseenter_handler,mouseleave_handler]}class NostrNote extends SvelteComponent{constructor(options){super();init(this,options,instance$3,create_fragment$3,safe_not_equal,{event:0,responses:1,websiteOwnerPubkey:2},null,[-1,-1])}}function cubicInOut(t){return t<.5?4*t*t*t:.5*Math.pow(2*t-2,3)+1}var _={$(selector){if(typeof selector==="string"){return document.querySelector(selector)}return selector},extend(...args){return Object.assign(...args)},cumulativeOffset(element){let top=0;let left=0;do{top+=element.offsetTop||0;left+=element.offsetLeft||0;element=element.offsetParent}while(element);return{top:top,left:left}},directScroll(element){return element&&element!==document&&element!==document.body},scrollTop(element,value){let inSetter=value!==undefined;if(this.directScroll(element)){return inSetter?element.scrollTop=value:element.scrollTop}else{return inSetter?document.documentElement.scrollTop=document.body.scrollTop=value:window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},scrollLeft(element,value){let inSetter=value!==undefined;if(this.directScroll(element)){return inSetter?element.scrollLeft=value:element.scrollLeft}else{return inSetter?document.documentElement.scrollLeft=document.body.scrollLeft=value:window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0}}};const defaultOptions={container:"body",duration:500,delay:0,offset:0,easing:cubicInOut,onStart:noop,onDone:noop,onAborting:noop,scrollX:false,scrollY:true};const _scrollTo=options=>{let{offset,duration,delay,easing,x=0,y=0,scrollX,scrollY,onStart,onDone,container,onAborting,element}=options;if(typeof offset==="function"){offset=offset()}var cumulativeOffsetContainer=_.cumulativeOffset(container);var cumulativeOffsetTarget=element?_.cumulativeOffset(element):{top:y,left:x};var initialX=_.scrollLeft(container);var initialY=_.scrollTop(container);var targetX=cumulativeOffsetTarget.left-cumulativeOffsetContainer.left+offset;var targetY=cumulativeOffsetTarget.top-cumulativeOffsetContainer.top+offset;var diffX=targetX-initialX;var diffY=targetY-initialY;let scrolling=true;let started=false;let start_time=now$1()+delay;let end_time=start_time+duration;function scrollToTopLeft(element,top,left){if(scrollX)_.scrollLeft(element,left);if(scrollY)_.scrollTop(element,top)}function start(delayStart){if(!delayStart){started=true;onStart(element,{x:x,y:y})}}function tick(progress){scrollToTopLeft(container,initialY+diffY*progress,initialX+diffX*progress)}function stop(){scrolling=false}loop(now=>{if(!started&&now>=start_time){start(false)}if(started&&now>=end_time){tick(1);stop();onDone(element,{x:x,y:y})}if(!scrolling){onAborting(element,{x:x,y:y});return false}if(started){const p=now-start_time;const t=0+1*easing(p/duration);tick(t)}return true});start(delay);tick(0);return stop};const proceedOptions=options=>{let opts=_.extend({},defaultOptions,options);opts.container=_.$(opts.container);opts.element=_.$(opts.element);return opts};const scrollContainerHeight=containerElement=>{if(containerElement&&containerElement!==document&&containerElement!==document.body){return containerElement.scrollHeight-containerElement.offsetHeight}else{let body=document.body;let html=document.documentElement;return Math.max(body.scrollHeight,body.offsetHeight,html.clientHeight,html.scrollHeight,html.offsetHeight)}};const scrollToBottom=options=>{options=proceedOptions(options);return _scrollTo(_.extend(options,{element:null,y:scrollContainerHeight(options.container)}))};function get_each_context(ctx,list,i){const child_ctx=ctx.slice();child_ctx[25]=list[i];return child_ctx}function get_each_context_1(ctx,list,i){const child_ctx=ctx.slice();child_ctx[28]=list[i];child_ctx[30]=i;return child_ctx}function create_if_block_5(ctx){let t;return{c(){t=text(ctx[7])},m(target,anchor){insert(target,t,anchor)},p(ctx,dirty){if(dirty&128)set_data(t,ctx[7])},d(detaching){if(detaching)detach(t)}}}function create_each_block_1(ctx){let span;let span_class_value;return{c(){span=element("span");attr(span,"class",span_class_value="inline-block rounded-full "+(ctx[5]>ctx[30]?"bg-green-500":"bg-gray-300")+" w-2 h-2"+" svelte-1x5ct6j")},m(target,anchor){insert(target,span,anchor)},p(ctx,dirty){if(dirty&32&&span_class_value!==(span_class_value="inline-block rounded-full "+(ctx[5]>ctx[30]?"bg-green-500":"bg-gray-300")+" w-2 h-2"+" svelte-1x5ct6j")){attr(span,"class",span_class_value)}},d(detaching){if(detaching)detach(span)}}}function create_if_block_3(ctx){let show_if;let if_block_anchor;function select_block_type(ctx,dirty){if(dirty&256)show_if=null;if(show_if==null)show_if=!!!ctx[9](ctx[8]);if(show_if)return create_if_block_4;return create_else_block_2}let current_block_type=select_block_type(ctx,-1);let if_block=current_block_type(ctx);return{c(){if_block.c();if_block_anchor=empty()},m(target,anchor){if_block.m(target,anchor);insert(target,if_block_anchor,anchor)},p(ctx,dirty){if(current_block_type===(current_block_type=select_block_type(ctx,dirty))&&if_block){if_block.p(ctx,dirty)}else{if_block.d(1);if_block=current_block_type(ctx);if(if_block){if_block.c();if_block.m(if_block_anchor.parentNode,if_block_anchor)}}},d(detaching){if_block.d(detaching);if(detaching)detach(if_block_anchor)}}}function create_else_block_2(ctx){let div1;let a;let t0;let div0;let span;let t1_value=ctx[9](ctx[8]).content+"";let t1;let mounted;let dispose;return{c(){div1=element("div");a=element("a");a.innerHTML=``;t0=space();div0=element("div");span=element("span");t1=text(t1_value);attr(a,"href","#");attr(a,"class","svelte-1x5ct6j");attr(span,"class","text-lg text-black overflow-hidden whitespace-nowrap text-ellipsis svelte-1x5ct6j");attr(div0,"class","flex flex-col ml-2 svelte-1x5ct6j");attr(div1,"class","flex flex-row mb-3 svelte-1x5ct6j")},m(target,anchor){insert(target,div1,anchor);append(div1,a);append(div1,t0);append(div1,div0);append(div0,span);append(span,t1);if(!mounted){dispose=listen(a,"click",prevent_default(ctx[12]));mounted=true}},p(ctx,dirty){if(dirty&256&&t1_value!==(t1_value=ctx[9](ctx[8]).content+""))set_data(t1,t1_value)},d(detaching){if(detaching)detach(div1);mounted=false;dispose()}}}function create_if_block_4(ctx){let h1;let t0;let t1;return{c(){h1=element("h1");t0=text("Couldn't find event with ID ");t1=text(ctx[8]);attr(h1,"class","svelte-1x5ct6j")},m(target,anchor){insert(target,h1,anchor);append(h1,t0);append(h1,t1)},p(ctx,dirty){if(dirty&256)set_data(t1,ctx[8])},d(detaching){if(detaching)detach(h1)}}}function create_else_block_1(ctx){let each_1_anchor;let current;let each_value=ctx[3];let each_blocks=[];for(let i=0;itransition_out(each_blocks[i],1,1,()=>{each_blocks[i]=null});return{c(){for(let i=0;i