@redzone/taunt-logins-ui-react 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/App.d.ts +2 -0
  2. package/dist/lib/index.d.ts +4 -0
  3. package/dist/lib/magic.d.ts +3 -0
  4. package/dist/lib/metamask.d.ts +3 -0
  5. package/dist/lib/tauntContext.d.ts +12 -0
  6. package/dist/lib/tauntProvider.d.ts +5 -0
  7. package/dist/main.d.ts +1 -0
  8. package/dist/taunt-logins-ui-react.d.ts +2 -0
  9. package/dist/taunt-logins-ui-react.js +3089 -0
  10. package/dist/taunt-logins-ui-react.js.map +1 -0
  11. package/dist/taunt-logins-ui-react.umd.cjs +7 -0
  12. package/dist/taunt-logins-ui-react.umd.cjs.map +1 -0
  13. package/package.json +25 -16
  14. package/.history/index_20251002141038.html +0 -13
  15. package/.history/index_20251002141344.html +0 -13
  16. package/.history/package_20251002154235.json +0 -32
  17. package/.history/package_20251002160110.json +0 -33
  18. package/.history/package_20251002161109.json +0 -33
  19. package/.history/package_20251002161124.json +0 -32
  20. package/.history/package_20251002161826.json +0 -32
  21. package/.history/package_20251002162139.json +0 -32
  22. package/.history/package_20251002162605.json +0 -35
  23. package/.history/package_20251002162619.json +0 -35
  24. package/.history/package_20251002162631.json +0 -35
  25. package/.history/package_20251002162639.json +0 -35
  26. package/.history/package_20251002162659.json +0 -35
  27. package/.history/package_20251002162811.json +0 -39
  28. package/.history/package_20251002162820.json +0 -39
  29. package/.history/src/App_20251002141038.tsx +0 -35
  30. package/.history/src/App_20251002142848.tsx +0 -15
  31. package/.history/src/App_20251002152540.tsx +0 -15
  32. package/.history/src/App_20251002152831.tsx +0 -17
  33. package/.history/src/App_20251002153145.tsx +0 -18
  34. package/.history/src/App_20251002153323.tsx +0 -25
  35. package/.history/src/App_20251002153420.tsx +0 -32
  36. package/.history/src/App_20251002153429.tsx +0 -33
  37. package/.history/src/App_20251002153457.tsx +0 -39
  38. package/.history/src/App_20251002153516.tsx +0 -39
  39. package/.history/src/App_20251002153520.tsx +0 -39
  40. package/.history/src/App_20251002153546.tsx +0 -41
  41. package/.history/src/App_20251002154625.tsx +0 -41
  42. package/.history/src/App_20251002154740.tsx +0 -47
  43. package/.history/src/App_20251002154812.tsx +0 -47
  44. package/.history/src/App_20251002154841.tsx +0 -47
  45. package/.history/src/App_20251002154915.tsx +0 -54
  46. package/.history/src/App_20251002160347.tsx +0 -54
  47. package/.history/src/lib/exports_20251002160004.ts +0 -0
  48. package/.history/src/lib/exports_20251002160045.ts +0 -3
  49. package/.history/src/lib/index_20251002162704.ts +0 -0
  50. package/.history/src/lib/index_20251002162712.ts +0 -1
  51. package/.history/src/lib/magic_20251002142829.tsx +0 -0
  52. package/.history/src/lib/magic_20251002142848.tsx +0 -44
  53. package/.history/src/lib/magic_20251002152540.tsx +0 -28
  54. package/.history/src/lib/magic_20251002152543.tsx +0 -28
  55. package/.history/src/lib/magic_20251002152546.tsx +0 -28
  56. package/.history/src/lib/magic_20251002152802.tsx +0 -47
  57. package/.history/src/lib/magic_20251002154740.tsx +0 -47
  58. package/.history/src/lib/magic_20251002155035.tsx +0 -47
  59. package/.history/src/lib/magic_20251002160411.tsx +0 -49
  60. package/.history/src/lib/magic_20251002160428.tsx +0 -49
  61. package/.history/src/lib/magic_20251002161028.tsx +0 -50
  62. package/.history/src/lib/magic_20251002162134.tsx +0 -50
  63. package/.history/src/lib/metamask_20251002141612.tsx +0 -0
  64. package/.history/src/lib/metamask_20251002142622.tsx +0 -38
  65. package/.history/src/lib/metamask_20251002142654.tsx +0 -41
  66. package/.history/src/lib/metamask_20251002142726.tsx +0 -44
  67. package/.history/src/lib/metamask_20251002142848.tsx +0 -0
  68. package/.history/src/lib/metamask_20251002152802.tsx +0 -28
  69. package/.history/src/lib/metamask_20251002153516.tsx +0 -27
  70. package/.history/src/lib/metamask_20251002154228.tsx +0 -27
  71. package/.history/src/lib/metamask_20251002154523.tsx +0 -27
  72. package/.history/src/lib/metamask_20251002162122.tsx +0 -27
  73. package/.history/src/lib/styling_20251002154448.css +0 -0
  74. package/.history/src/lib/styling_20251002154523.css +0 -19
  75. package/.history/src/lib/styling_20251002154531.css +0 -19
  76. package/.history/src/lib/styling_20251002154544.css +0 -20
  77. package/.history/src/lib/styling_20251002154548.css +0 -19
  78. package/.history/src/lib/styling_20251002160446.css +0 -20
  79. package/.history/src/lib/styling_20251002160511.css +0 -23
  80. package/.history/src/lib/styling_20251002160515.css +0 -24
  81. package/.history/src/lib/styling_20251002160815.css +0 -24
  82. package/.history/src/lib/styling_20251002160910.css +0 -24
  83. package/.history/src/lib/styling_20251002160915.css +0 -24
  84. package/.history/src/lib/styling_20251002160952.css +0 -24
  85. package/.history/src/lib/styling_20251002161001.css +0 -24
  86. package/.history/src/lib/styling_20251002161011.css +0 -24
  87. package/.history/src/lib/styling_20251002161016.css +0 -24
  88. package/.history/src/lib/styling_20251002161036.css +0 -25
  89. package/.history/src/lib/tauntContext_20251002142359.ts +0 -0
  90. package/.history/src/lib/tauntContext_20251002142622.ts +0 -17
  91. package/.history/src/lib/tauntContext_20251002152540.ts +0 -22
  92. package/.history/src/lib/tauntContext_20251002152802.ts +0 -22
  93. package/.history/src/lib/tauntProvider_20251002142503.tsx +0 -0
  94. package/.history/src/lib/tauntProvider_20251002142622.tsx +0 -15
  95. package/.history/src/lib/tauntProvider_20251002143158.tsx +0 -19
  96. package/.history/src/lib/tauntProvider_20251002144018.tsx +0 -19
  97. package/.history/src/lib/tauntProvider_20251002152234.tsx +0 -40
  98. package/.history/src/lib/tauntProvider_20251002152802.tsx +0 -40
  99. package/.history/src/lib/tauntProvider_20251002153101.tsx +0 -49
  100. package/.history/src/lib/taunt_20251002160026.ts +0 -0
  101. package/.history/src/lib/taunt_20251002160045.ts +0 -2
  102. package/.history/src/main_20251002141038.tsx +0 -10
  103. package/.history/src/main_20251002141444.tsx +0 -12
  104. package/.history/src/main_20251002160347.tsx +0 -12
  105. package/.history/vite.config_20251002141038.ts +0 -7
  106. package/.history/vite.config_20251002141323.ts +0 -10
  107. package/.prettierrc.mjs +0 -22
  108. package/eslint.config.js +0 -23
  109. package/index.html +0 -13
  110. package/public/vite.svg +0 -1
  111. package/src/App.css +0 -42
  112. package/src/App.tsx +0 -54
  113. package/src/index.css +0 -68
  114. package/src/lib/magic.tsx +0 -50
  115. package/src/lib/metamask.tsx +0 -27
  116. package/src/lib/styling.css +0 -25
  117. package/src/lib/tauntContext.ts +0 -22
  118. package/src/lib/tauntProvider.tsx +0 -49
  119. package/src/main.tsx +0 -12
  120. package/tsconfig.app.json +0 -28
  121. package/tsconfig.json +0 -7
  122. package/tsconfig.node.json +0 -26
  123. package/vite.config.ts +0 -10
@@ -0,0 +1,3089 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".rdz-button,.rdz-input{font-family:Avenir,Helvetica,Arial,sans-serif!important;line-height:1.5;font-weight:400!important;color:#d3d3d3;border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}:is(.rdz-button,.rdz-input):hover{border-color:#646cff}:is(.rdz-button,.rdz-input):focus,:is(.rdz-button,.rdz-input):focus-visible{outline:4px auto -webkit-focus-ring-color}")),document.head.appendChild(t)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
+ import { jsxs as Pn, jsx as Le } from "react/jsx-runtime";
3
+ import { createContext as kn, useContext as Dn, useState as vr, useMemo as rr, useCallback as st } from "react";
4
+ const yr = kn({
5
+ tauntServiceEndpoint: "",
6
+ metamaskLogin: () => {
7
+ },
8
+ otpMagicLogin: () => {
9
+ }
10
+ });
11
+ function gr() {
12
+ const e = Dn(yr);
13
+ if (!e)
14
+ throw new Error("useTaunt must be used within a TauntProvider");
15
+ return e;
16
+ }
17
+ const Na = ({
18
+ onEmail: e
19
+ }) => {
20
+ const { otpMagicLogin: t } = gr(), [r, o] = vr(), i = rr(() => r !== void 0, [r]), a = rr(() => {
21
+ const f = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
22
+ return r?.match(f) ? r : void 0;
23
+ }, [r]), p = st(() => {
24
+ a && (e ? e(r) : t(r));
25
+ }, [a, e]);
26
+ return /* @__PURE__ */ Pn("div", { style: { display: "flex", flexDirection: "row", gap: 8 }, children: [
27
+ i && !a && /* @__PURE__ */ Le("div", { style: { color: "red" }, children: "Please enter a valid email" }),
28
+ /* @__PURE__ */ Le(
29
+ "input",
30
+ {
31
+ className: "rdz-input",
32
+ onChange: (f) => o(f.target.value ? f.target.value : void 0),
33
+ placeholder: "Enter your email",
34
+ type: "email",
35
+ value: r
36
+ }
37
+ ),
38
+ /* @__PURE__ */ Le("button", { className: "rdz-button", onClick: p, type: "button", children: "Send Magic Link" })
39
+ ] });
40
+ }, Ra = ({
41
+ openMetamask: e
42
+ }) => {
43
+ const { metamaskLogin: t } = gr(), r = st(() => {
44
+ e ? e() : t();
45
+ }, [t, e]);
46
+ return /* @__PURE__ */ Le("button", { className: "rdz-button", onClick: r, children: "Login with Metamask" });
47
+ };
48
+ var Pe = ((e) => (e.MissingApiKey = "MISSING_API_KEY", e.ModalNotReady = "MODAL_NOT_READY", e.ConnectionLost = "CONNECTION_WAS_LOST", e.MalformedResponse = "MALFORMED_RESPONSE", e.InvalidArgument = "INVALID_ARGUMENT", e.ExtensionNotInitialized = "EXTENSION_NOT_INITIALIZED", e.IncompatibleExtensions = "INCOMPATIBLE_EXTENSIONS", e))(Pe || {}), ke = ((e) => (e.SyncWeb3Method = "SYNC_WEB3_METHOD", e.DuplicateIframe = "DUPLICATE_IFRAME", e.ReactNativeEndpointConfiguration = "REACT_NATIVE_ENDPOINT_CONFIGURATION", e.DeprecationNotice = "DEPRECATION_NOTICE", e.ProductAnnouncement = "ANNOUNCEMENT", e))(ke || {}), dt = ((e) => (e[e.ParseError = -32700] = "ParseError", e[e.InvalidRequest = -32600] = "InvalidRequest", e[e.MethodNotFound = -32601] = "MethodNotFound", e[e.InvalidParams = -32602] = "InvalidParams", e[e.InternalError = -32603] = "InternalError", e[e.MagicLinkFailedVerification = -1e4] = "MagicLinkFailedVerification", e[e.MagicLinkExpired = -10001] = "MagicLinkExpired", e[e.MagicLinkRateLimited = -10002] = "MagicLinkRateLimited", e[e.MagicLinkInvalidRedirectURL = -10006] = "MagicLinkInvalidRedirectURL", e[e.UserAlreadyLoggedIn = -10003] = "UserAlreadyLoggedIn", e[e.UpdateEmailFailed = -10004] = "UpdateEmailFailed", e[e.UserRequestEditEmail = -10005] = "UserRequestEditEmail", e[e.InactiveRecipient = -10010] = "InactiveRecipient", e[e.AccessDeniedToUser = -10011] = "AccessDeniedToUser", e[e.RedirectLoginComplete = -10015] = "RedirectLoginComplete", e[e.DpopInvalidated = -10019] = "DpopInvalidated", e))(dt || {}), Ie = ((e) => (e.PROVIDER = "magic_3pw_provider", e.ADDRESS = "magic_3pw_address", e.CHAIN_ID = "magic_3pw_chainId", e))(Ie || {}), Un = ((e) => (e.WalletConnected = "wallet_connected", e.WalletRejected = "wallet_rejected", e.Web3ModalSelected = "web3modal_selected", e))(Un || {}), L = ((e) => (e.LoginWithSms = "magic_auth_login_with_sms", e.LoginWithEmailOTP = "magic_auth_login_with_email_otp", e.LoginWithMagicLink = "magic_auth_login_with_magic_link", e.LoginWithCredential = "magic_auth_login_with_credential", e.SetAuthorizationToken = "magic_auth_set_authorization_token", e.GetIdToken = "magic_auth_get_id_token", e.GenerateIdToken = "magic_auth_generate_id_token", e.GetMetadata = "magic_auth_get_metadata", e.IsLoggedIn = "magic_is_logged_in", e.Logout = "magic_auth_logout", e.UpdateEmail = "magic_auth_update_email", e.UserSettings = "magic_auth_settings", e.UserSettingsTestMode = "magic_auth_settings_testing_mode", e.LoginWithSmsTestMode = "magic_auth_login_with_sms_testing_mode", e.LoginWithEmailOTPTestMode = "magic_auth_login_with_email_otp_testing_mode", e.LoginWithMagicLinkTestMode = "magic_login_with_magic_link_testing_mode", e.LoginWithCredentialTestMode = "magic_auth_login_with_credential_testing_mode", e.GetIdTokenTestMode = "magic_auth_get_id_token_testing_mode", e.GenerateIdTokenTestMode = "magic_auth_generate_id_token_testing_mode", e.GetMetadataTestMode = "magic_auth_get_metadata_testing_mode", e.IsLoggedInTestMode = "magic_auth_is_logged_in_testing_mode", e.LogoutTestMode = "magic_auth_logout_testing_mode", e.UpdateEmailTestMode = "magic_auth_update_email_testing_mode", e.IntermediaryEvent = "magic_intermediary_event", e.RequestAccounts = "eth_requestAccounts", e.GetInfo = "magic_get_info", e.ShowUI = "magic_wallet", e.NFTPurchase = "magic_nft_purchase", e.NFTCheckout = "magic_nft_checkout", e.NFTTransfer = "magic_nft_transfer", e.RequestUserInfoWithUI = "mc_request_user_info", e.Disconnect = "mc_disconnect", e.RecoverAccount = "magic_auth_recover_account", e.RecoverAccountTestMode = "magic_auth_recover_account_testing_mode", e.MagicBoxHeartBeat = "magic_box_heart_beat", e.AutoConnect = "mc_auto_connect", e.Login = "mc_login", e.EncryptV1 = "magic_auth_encrypt_v1", e.DecryptV1 = "magic_auth_decrypt_v1", e.ShowNFTs = "magic_show_nfts", e.ShowOnRamp = "magic_show_fiat_onramp", e.ShowSendTokensUI = "magic_show_send_tokens_ui", e.ShowAddress = "magic_show_address", e.ShowBalances = "magic_show_balances", e.SendGaslessTransaction = "eth_sendGaslessTransaction", e.RevealPK = "magic_reveal_key", e.EnableMFA = "magic_auth_enable_mfa_flow", e.DisableMFA = "magic_auth_disable_mfa_flow", e.GetMultichainPublicAddress = "magic_get_multichain_public_address", e))(L || {}), jn = ["magic_intermediary_event", "magic_nft_checkout", "mc_login"], we = ((e) => (e.MAGIC_HANDLE_RESPONSE = "MAGIC_HANDLE_RESPONSE", e.MAGIC_OVERLAY_READY = "MAGIC_OVERLAY_READY", e.MAGIC_SHOW_OVERLAY = "MAGIC_SHOW_OVERLAY", e.MAGIC_HIDE_OVERLAY = "MAGIC_HIDE_OVERLAY", e.MAGIC_HANDLE_EVENT = "MAGIC_HANDLE_EVENT", e.MAGIC_MG_BOX_SEND_RECEIPT = "MAGIC_MG_BOX_SEND_RECEIPT", e.MAGIC_SEND_PRODUCT_ANNOUNCEMENT = "MAGIC_SEND_PRODUCT_ANNOUNCEMENT", e.MAGIC_PONG = "MAGIC_PONG", e.MAGIC_POPUP_RESPONSE = "MAGIC_POPUP_RESPONSE", e.MAGIC_POPUP_OAUTH_VERIFY_RESPONSE = "MAGIC_POPUP_OAUTH_VERIFY_RESPONSE", e))(we || {}), ze = ((e) => (e.MAGIC_HANDLE_REQUEST = "MAGIC_HANDLE_REQUEST", e.MAGIC_PING = "MAGIC_PING", e))(ze || {}), xn = ((e) => (e.UpdateEmail = "update-email", e.MFA = "mfa", e.Recovery = "recovery", e))(xn || {}), Fn = ((e) => (e.Retry = "retry", e))(Fn || {}), Gn = ((e) => (e.EmailSent = "email-sent", e.EmailNotDeliverable = "email-not-deliverable", e))(Gn || {}), de = ((e) => (e.VerifyEmailOtp = "verify-email-otp", e.VerifyMFACode = "verify-mfa-code", e.LostDevice = "lost-device", e.VerifyRecoveryCode = "verify-recovery-code", e.Cancel = "cancel", e))(de || {}), Be = ((e) => (e.VerifySmsOtp = "verify-sms-otp", e.Cancel = "cancel", e.Retry = "retry", e))(Be || {}), Wn = ((e) => (e.SmsOTPSent = "sms-otp-sent", e.InvalidSmsOtp = "invalid-sms-otp", e.ExpiredSmsOtp = "expired-sms-otp", e))(Wn || {}), Bn = ((e) => (e.EmailOTPSent = "email-otp-sent", e.InvalidEmailOtp = "invalid-email-otp", e.InvalidMfaOtp = "invalid-mfa-otp", e.ExpiredEmailOtp = "expired-email-otp", e.MfaSentHandle = "mfa-sent-handle", e.RecoveryCodeSentHandle = "recovery-code-sent-handle", e.InvalidRecoveryCode = "invalid-recovery-code", e.RecoveryCodeSuccess = "recovery-code-success", e.LoginThrottled = "login-throttled", e))(Bn || {}), At = ((e) => (e.Retry = "device-retry", e))(At || {}), qn = ((e) => (e.DeviceApproved = "device-approved", e.DeviceNeedsApproval = "device-needs-approval", e.DeviceVerificationLinkExpired = "device-verification-link-expired", e.DeviceVerificationEmailSent = "device-verification-email-sent", e))(qn || {}), fe = ((e) => (e.Retry = "Recency/auth-factor-retry", e.Cancel = "Recency/auth-factor-verification-cancel", e.VerifyEmailOtp = "Recency/auth-factor-verify-email-otp", e.VerifyMFACode = "Recency/verify-mfa-code", e))(fe || {}), Vn = ((e) => (e.PrimaryAuthFactorNeedsVerification = "Recency/auth-factor-needs-verification", e.PrimaryAuthFactorVerified = "Recency/auth-factor-verified", e.InvalidEmailOtp = "Recency/auth-factor-invalid-email-otp", e.EmailExpired = "Recency/auth-factor-verification-email-expired", e.EmailSent = "Recency/auth-factor-verification-email-sent", e.EmailNotDeliverable = "Recency/auth-factor-verification-email-not-deliverable", e))(Vn || {}), ae = ((e) => (e.RetryWithNewEmail = "UpdateEmail/retry-with-new-email", e.Cancel = "UpdateEmail/new-email-verification-cancel", e.VerifyEmailOtp = "UpdateEmail/new-email-verify-otp", e))(ae || {}), Hn = ((e) => (e.NewAuthFactorNeedsVerification = "UpdateEmail/new-email-needs-verification", e.EmailUpdated = "UpdateEmail/email-updated", e.InvalidEmailOtp = "UpdateEmail/new-email-invalid-email-otp", e.EmailExpired = "UpdateEmail/new-email-verification-email-expired", e.EmailSent = "UpdateEmail/new-email-verification-email-sent", e.EmailNotDeliverable = "UpdateEmail/new-email-verification-email-not-deliverable", e.InvalidEmail = "UpdateEmail/new-email-invalid", e.EmailAlreadyExists = "UpdateEmail/new-email-already-exists", e))(Hn || {}), zn = ((e) => (e.IDTokenCreated = "Auth/id-token-created", e))(zn || {}), Xn = ((e) => (e.Cancel = "Farcaster/cancel", e))(Xn || {}), Kn = ((e) => (e.MFASecretGenerated = "mfa-secret-generated", e.InvalidMFAOtp = "invalid-mfa-otp", e.MFARecoveryCodes = "mfa-recovery-codes", e))(Kn || {}), qe = ((e) => (e.VerifyMFACode = "verify-mfa-code", e.Cancel = "cancel-mfa-setup", e))(qe || {}), Yn = ((e) => (e.MFACodeRequested = "mfa-code-requested", e.InvalidMFAOtp = "invalid-mfa-otp", e.InvalidRecoveryCode = "invalid-recovery-code", e))(Yn || {}), Se = ((e) => (e.VerifyMFACode = "verify-mfa-code", e.LostDevice = "lost-device", e.Cancel = "cancel-mfa-disable", e))(Se || {}), Jn = ((e) => (e.Harmony = "HARMONY", e))(Jn || {}), Er = ((e) => (e.ClosedByUser = "closed-by-user", e))(Er || {}), Ir = ((e) => (e.ClosedByUser = "closed-by-user-on-received", e))(Ir || {}), Qn = ((e) => (e.EnterNewPhoneNumber = "enter-new-phone-number", e.EnterOtpCode = "enter-otp-code", e.RecoveryFactorAlreadyExists = "recovery-factor-already-exists", e.MalformedPhoneNumber = "malformed-phone-number", e.InvalidOtpCode = "invalid-otp-code", e.RecoveryFactorUpdated = "recovery-factor-updated", e.RecoveryFactorDeleted = "recovery-factor-deleted", e))(Qn || {}), pe = ((e) => (e.SendNewPhoneNumber = "send-new-phone-number", e.SendOtpCode = "send-otp-code", e.Cancel = "cancel", e.StartEditPhoneNumber = "start-edit-phone-number", e))(pe || {}), Zn = ((e) => (e.PhoneNumber = "phone_number", e))(Zn || {}), eo = ((e) => (e.SmsOtpSent = "sms-otp-sent", e.LoginThrottled = "login-throttled", e.InvalidSmsOtp = "invalid-sms-otp", e.SmsVerified = "sms-verified", e.AccountRecovered = "account-recovered", e.UpdateEmailRequired = "update-email-required", e))(eo || {}), me = ((e) => (e.Cancel = "cancel", e.VerifyOtp = "verify-otp-code", e.ResendSms = "resend-sms-otp", e.UpdateEmail = "update-email", e))(me || {}), Ve = ((e) => (e.Success = "nft-checkout-success", e.Failure = "nft-checkout-failure", e.Initiated = "nft-checkout-initiated", e.Disconnect = "disconnect", e))(Ve || {}), to = ((e) => (e.WalletInfoFetched = "Wallet/wallet-info-fetched", e))(to || {}), ro = ((e) => (e.CloseMagicWindow = "close-magic-window", e))(ro || {}), no = Object.create, Ct = Object.defineProperty, oo = Object.getOwnPropertyDescriptor, io = Object.getOwnPropertyNames, ao = Object.getPrototypeOf, so = Object.prototype.hasOwnProperty, co = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), lo = (e, t) => {
49
+ for (var r in t) Ct(e, r, { get: t[r], enumerable: !0 });
50
+ }, uo = (e, t, r, o) => {
51
+ if (t && typeof t == "object" || typeof t == "function") for (let i of io(t)) !so.call(e, i) && i !== r && Ct(e, i, { get: () => t[i], enumerable: !(o = oo(t, i)) || o.enumerable });
52
+ return e;
53
+ }, fo = (e, t, r) => (r = e != null ? no(ao(e)) : {}, uo(!e || !e.__esModule ? Ct(r, "default", { value: e, enumerable: !0 }) : r, e)), ho = co((e, t) => {
54
+ var r = Object.prototype.hasOwnProperty, o = "~";
55
+ function i() {
56
+ }
57
+ Object.create && (i.prototype = /* @__PURE__ */ Object.create(null), new i().__proto__ || (o = !1));
58
+ function a(y, g, h) {
59
+ this.fn = y, this.context = g, this.once = h || !1;
60
+ }
61
+ function p(y, g, h, S, P) {
62
+ if (typeof h != "function") throw new TypeError("The listener must be a function");
63
+ var k = new a(h, S || y, P), F = o ? o + g : g;
64
+ return y._events[F] ? y._events[F].fn ? y._events[F] = [y._events[F], k] : y._events[F].push(k) : (y._events[F] = k, y._eventsCount++), y;
65
+ }
66
+ function f(y, g) {
67
+ --y._eventsCount === 0 ? y._events = new i() : delete y._events[g];
68
+ }
69
+ function A() {
70
+ this._events = new i(), this._eventsCount = 0;
71
+ }
72
+ A.prototype.eventNames = function() {
73
+ var y = [], g, h;
74
+ if (this._eventsCount === 0) return y;
75
+ for (h in g = this._events) r.call(g, h) && y.push(o ? h.slice(1) : h);
76
+ return Object.getOwnPropertySymbols ? y.concat(Object.getOwnPropertySymbols(g)) : y;
77
+ }, A.prototype.listeners = function(y) {
78
+ var g = o ? o + y : y, h = this._events[g];
79
+ if (!h) return [];
80
+ if (h.fn) return [h.fn];
81
+ for (var S = 0, P = h.length, k = new Array(P); S < P; S++) k[S] = h[S].fn;
82
+ return k;
83
+ }, A.prototype.listenerCount = function(y) {
84
+ var g = o ? o + y : y, h = this._events[g];
85
+ return h ? h.fn ? 1 : h.length : 0;
86
+ }, A.prototype.emit = function(y, g, h, S, P, k) {
87
+ var F = o ? o + y : y;
88
+ if (!this._events[F]) return !1;
89
+ var O = this._events[F], Y = arguments.length, q, V;
90
+ if (O.fn) {
91
+ switch (O.once && this.removeListener(y, O.fn, void 0, !0), Y) {
92
+ case 1:
93
+ return O.fn.call(O.context), !0;
94
+ case 2:
95
+ return O.fn.call(O.context, g), !0;
96
+ case 3:
97
+ return O.fn.call(O.context, g, h), !0;
98
+ case 4:
99
+ return O.fn.call(O.context, g, h, S), !0;
100
+ case 5:
101
+ return O.fn.call(O.context, g, h, S, P), !0;
102
+ case 6:
103
+ return O.fn.call(O.context, g, h, S, P, k), !0;
104
+ }
105
+ for (V = 1, q = new Array(Y - 1); V < Y; V++) q[V - 1] = arguments[V];
106
+ O.fn.apply(O.context, q);
107
+ } else {
108
+ var le = O.length, N;
109
+ for (V = 0; V < le; V++) switch (O[V].once && this.removeListener(y, O[V].fn, void 0, !0), Y) {
110
+ case 1:
111
+ O[V].fn.call(O[V].context);
112
+ break;
113
+ case 2:
114
+ O[V].fn.call(O[V].context, g);
115
+ break;
116
+ case 3:
117
+ O[V].fn.call(O[V].context, g, h);
118
+ break;
119
+ case 4:
120
+ O[V].fn.call(O[V].context, g, h, S);
121
+ break;
122
+ default:
123
+ if (!q) for (N = 1, q = new Array(Y - 1); N < Y; N++) q[N - 1] = arguments[N];
124
+ O[V].fn.apply(O[V].context, q);
125
+ }
126
+ }
127
+ return !0;
128
+ }, A.prototype.on = function(y, g, h) {
129
+ return p(this, y, g, h, !1);
130
+ }, A.prototype.once = function(y, g, h) {
131
+ return p(this, y, g, h, !0);
132
+ }, A.prototype.removeListener = function(y, g, h, S) {
133
+ var P = o ? o + y : y;
134
+ if (!this._events[P]) return this;
135
+ if (!g) return f(this, P), this;
136
+ var k = this._events[P];
137
+ if (k.fn) k.fn === g && (!S || k.once) && (!h || k.context === h) && f(this, P);
138
+ else {
139
+ for (var F = 0, O = [], Y = k.length; F < Y; F++) (k[F].fn !== g || S && !k[F].once || h && k[F].context !== h) && O.push(k[F]);
140
+ O.length ? this._events[P] = O.length === 1 ? O[0] : O : f(this, P);
141
+ }
142
+ return this;
143
+ }, A.prototype.removeAllListeners = function(y) {
144
+ var g;
145
+ return y ? (g = o ? o + y : y, this._events[g] && f(this, g)) : (this._events = new i(), this._eventsCount = 0), this;
146
+ }, A.prototype.off = A.prototype.removeListener, A.prototype.addListener = A.prototype.on, A.prefixed = o, A.EventEmitter = A, typeof t < "u" && (t.exports = A);
147
+ });
148
+ function po(e) {
149
+ let t = { exports: {} };
150
+ return e(t, t.exports), t.exports;
151
+ }
152
+ var mo = Number.MAX_SAFE_INTEGER || 9007199254740991, Mt = { MAX_LENGTH: 256, MAX_SAFE_INTEGER: mo, MAX_SAFE_COMPONENT_LENGTH: 16 }, vo = typeof process == "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...e) => console.error("SEMVER", ...e) : () => {
153
+ }, B = vo, Xe = po(function(e, t) {
154
+ let { MAX_SAFE_COMPONENT_LENGTH: r } = Mt, o = (t = e.exports = {}).re = [], i = t.src = [], a = t.t = {}, p = 0, f = (A, y, g) => {
155
+ let h = p++;
156
+ B(h, y), a[A] = h, i[h] = y, o[h] = new RegExp(y, g ? "g" : void 0);
157
+ };
158
+ f("NUMERICIDENTIFIER", "0|[1-9]\\d*"), f("NUMERICIDENTIFIERLOOSE", "[0-9]+"), f("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*"), f("MAINVERSION", `(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})\\.(${i[a.NUMERICIDENTIFIER]})`), f("MAINVERSIONLOOSE", `(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})\\.(${i[a.NUMERICIDENTIFIERLOOSE]})`), f("PRERELEASEIDENTIFIER", `(?:${i[a.NUMERICIDENTIFIER]}|${i[a.NONNUMERICIDENTIFIER]})`), f("PRERELEASEIDENTIFIERLOOSE", `(?:${i[a.NUMERICIDENTIFIERLOOSE]}|${i[a.NONNUMERICIDENTIFIER]})`), f("PRERELEASE", `(?:-(${i[a.PRERELEASEIDENTIFIER]}(?:\\.${i[a.PRERELEASEIDENTIFIER]})*))`), f("PRERELEASELOOSE", `(?:-?(${i[a.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[a.PRERELEASEIDENTIFIERLOOSE]})*))`), f("BUILDIDENTIFIER", "[0-9A-Za-z-]+"), f("BUILD", `(?:\\+(${i[a.BUILDIDENTIFIER]}(?:\\.${i[a.BUILDIDENTIFIER]})*))`), f("FULLPLAIN", `v?${i[a.MAINVERSION]}${i[a.PRERELEASE]}?${i[a.BUILD]}?`), f("FULL", `^${i[a.FULLPLAIN]}$`), f("LOOSEPLAIN", `[v=\\s]*${i[a.MAINVERSIONLOOSE]}${i[a.PRERELEASELOOSE]}?${i[a.BUILD]}?`), f("LOOSE", `^${i[a.LOOSEPLAIN]}$`), f("GTLT", "((?:<|>)?=?)"), f("XRANGEIDENTIFIERLOOSE", `${i[a.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`), f("XRANGEIDENTIFIER", `${i[a.NUMERICIDENTIFIER]}|x|X|\\*`), f("XRANGEPLAIN", `[v=\\s]*(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:\\.(${i[a.XRANGEIDENTIFIER]})(?:${i[a.PRERELEASE]})?${i[a.BUILD]}?)?)?`), f("XRANGEPLAINLOOSE", `[v=\\s]*(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[a.XRANGEIDENTIFIERLOOSE]})(?:${i[a.PRERELEASELOOSE]})?${i[a.BUILD]}?)?)?`), f("XRANGE", `^${i[a.GTLT]}\\s*${i[a.XRANGEPLAIN]}$`), f("XRANGELOOSE", `^${i[a.GTLT]}\\s*${i[a.XRANGEPLAINLOOSE]}$`), f("COERCE", `(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`), f("COERCERTL", i[a.COERCE], !0), f("LONETILDE", "(?:~>?)"), f("TILDETRIM", `(\\s*)${i[a.LONETILDE]}\\s+`, !0), t.tildeTrimReplace = "$1~", f("TILDE", `^${i[a.LONETILDE]}${i[a.XRANGEPLAIN]}$`), f("TILDELOOSE", `^${i[a.LONETILDE]}${i[a.XRANGEPLAINLOOSE]}$`), f("LONECARET", "(?:\\^)"), f("CARETTRIM", `(\\s*)${i[a.LONECARET]}\\s+`, !0), t.caretTrimReplace = "$1^", f("CARET", `^${i[a.LONECARET]}${i[a.XRANGEPLAIN]}$`), f("CARETLOOSE", `^${i[a.LONECARET]}${i[a.XRANGEPLAINLOOSE]}$`), f("COMPARATORLOOSE", `^${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]})$|^$`), f("COMPARATOR", `^${i[a.GTLT]}\\s*(${i[a.FULLPLAIN]})$|^$`), f("COMPARATORTRIM", `(\\s*)${i[a.GTLT]}\\s*(${i[a.LOOSEPLAIN]}|${i[a.XRANGEPLAIN]})`, !0), t.comparatorTrimReplace = "$1$2$3", f("HYPHENRANGE", `^\\s*(${i[a.XRANGEPLAIN]})\\s+-\\s+(${i[a.XRANGEPLAIN]})\\s*$`), f("HYPHENRANGELOOSE", `^\\s*(${i[a.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[a.XRANGEPLAINLOOSE]})\\s*$`), f("STAR", "(<|>)?=?\\s*\\*"), f("GTE0", "^\\s*>=\\s*0.0.0\\s*$"), f("GTE0PRE", "^\\s*>=\\s*0.0.0-0\\s*$");
159
+ }), nr = /^[0-9]+$/, yo = (e, t) => {
160
+ let r = nr.test(e), o = nr.test(t);
161
+ return r && o && (e = +e, t = +t), e === t ? 0 : r && !o ? -1 : o && !r ? 1 : e < t ? -1 : 1;
162
+ }, go = { compareIdentifiers: yo }, { MAX_LENGTH: or, MAX_SAFE_INTEGER: Ze } = Mt, { re: ir, t: ar } = Xe, { compareIdentifiers: Ge } = go, be = class he {
163
+ constructor(t, r) {
164
+ if (r && typeof r == "object" || (r = { loose: !!r, includePrerelease: !1 }), t instanceof he) {
165
+ if (t.loose === !!r.loose && t.includePrerelease === !!r.includePrerelease) return t;
166
+ t = t.version;
167
+ } else if (typeof t != "string") throw new TypeError(`Invalid Version: ${t}`);
168
+ if (t.length > or) throw new TypeError(`version is longer than ${or} characters`);
169
+ B("SemVer", t, r), this.options = r, this.loose = !!r.loose, this.includePrerelease = !!r.includePrerelease;
170
+ let o = t.trim().match(r.loose ? ir[ar.LOOSE] : ir[ar.FULL]);
171
+ if (!o) throw new TypeError(`Invalid Version: ${t}`);
172
+ if (this.raw = t, this.major = +o[1], this.minor = +o[2], this.patch = +o[3], this.major > Ze || this.major < 0) throw new TypeError("Invalid major version");
173
+ if (this.minor > Ze || this.minor < 0) throw new TypeError("Invalid minor version");
174
+ if (this.patch > Ze || this.patch < 0) throw new TypeError("Invalid patch version");
175
+ o[4] ? this.prerelease = o[4].split(".").map((i) => {
176
+ if (/^[0-9]+$/.test(i)) {
177
+ let a = +i;
178
+ if (a >= 0 && a < Ze) return a;
179
+ }
180
+ return i;
181
+ }) : this.prerelease = [], this.build = o[5] ? o[5].split(".") : [], this.format();
182
+ }
183
+ format() {
184
+ return this.version = `${this.major}.${this.minor}.${this.patch}`, this.prerelease.length && (this.version += `-${this.prerelease.join(".")}`), this.version;
185
+ }
186
+ toString() {
187
+ return this.version;
188
+ }
189
+ compare(t) {
190
+ if (B("SemVer.compare", this.version, this.options, t), !(t instanceof he)) {
191
+ if (typeof t == "string" && t === this.version) return 0;
192
+ t = new he(t, this.options);
193
+ }
194
+ return t.version === this.version ? 0 : this.compareMain(t) || this.comparePre(t);
195
+ }
196
+ compareMain(t) {
197
+ return t instanceof he || (t = new he(t, this.options)), Ge(this.major, t.major) || Ge(this.minor, t.minor) || Ge(this.patch, t.patch);
198
+ }
199
+ comparePre(t) {
200
+ if (t instanceof he || (t = new he(t, this.options)), this.prerelease.length && !t.prerelease.length) return -1;
201
+ if (!this.prerelease.length && t.prerelease.length) return 1;
202
+ if (!this.prerelease.length && !t.prerelease.length) return 0;
203
+ let r = 0;
204
+ do {
205
+ let o = this.prerelease[r], i = t.prerelease[r];
206
+ if (B("prerelease compare", r, o, i), o === void 0 && i === void 0) return 0;
207
+ if (i === void 0) return 1;
208
+ if (o === void 0) return -1;
209
+ if (o !== i) return Ge(o, i);
210
+ } while (++r);
211
+ }
212
+ compareBuild(t) {
213
+ t instanceof he || (t = new he(t, this.options));
214
+ let r = 0;
215
+ do {
216
+ let o = this.build[r], i = t.build[r];
217
+ if (B("prerelease compare", r, o, i), o === void 0 && i === void 0) return 0;
218
+ if (i === void 0) return 1;
219
+ if (o === void 0) return -1;
220
+ if (o !== i) return Ge(o, i);
221
+ } while (++r);
222
+ }
223
+ inc(t, r) {
224
+ switch (t) {
225
+ case "premajor":
226
+ this.prerelease.length = 0, this.patch = 0, this.minor = 0, this.major++, this.inc("pre", r);
227
+ break;
228
+ case "preminor":
229
+ this.prerelease.length = 0, this.patch = 0, this.minor++, this.inc("pre", r);
230
+ break;
231
+ case "prepatch":
232
+ this.prerelease.length = 0, this.inc("patch", r), this.inc("pre", r);
233
+ break;
234
+ case "prerelease":
235
+ this.prerelease.length === 0 && this.inc("patch", r), this.inc("pre", r);
236
+ break;
237
+ case "major":
238
+ this.minor === 0 && this.patch === 0 && this.prerelease.length !== 0 || this.major++, this.minor = 0, this.patch = 0, this.prerelease = [];
239
+ break;
240
+ case "minor":
241
+ this.patch === 0 && this.prerelease.length !== 0 || this.minor++, this.patch = 0, this.prerelease = [];
242
+ break;
243
+ case "patch":
244
+ this.prerelease.length === 0 && this.patch++, this.prerelease = [];
245
+ break;
246
+ case "pre":
247
+ if (this.prerelease.length === 0) this.prerelease = [0];
248
+ else {
249
+ let o = this.prerelease.length;
250
+ for (; --o >= 0; ) typeof this.prerelease[o] == "number" && (this.prerelease[o]++, o = -2);
251
+ o === -1 && this.prerelease.push(0);
252
+ }
253
+ r && (this.prerelease[0] === r ? isNaN(this.prerelease[1]) && (this.prerelease = [r, 0]) : this.prerelease = [r, 0]);
254
+ break;
255
+ default:
256
+ throw new Error(`invalid increment argument: ${t}`);
257
+ }
258
+ return this.format(), this.raw = this.version, this;
259
+ }
260
+ }, Eo = (e, t, r) => new be(e, r).compare(new be(t, r)), De = Eo, Io = (e, t, r) => De(e, t, r) === 0, wo = Io, _o = (e, t, r) => De(e, t, r) !== 0, bo = _o, Ao = (e, t, r) => De(e, t, r) > 0, No = Ao, Ro = (e, t, r) => De(e, t, r) >= 0, So = Ro, Oo = (e, t, r) => De(e, t, r) < 0, To = Oo, Co = (e, t, r) => De(e, t, r) <= 0, Mo = Co, Lo = (e, t, r, o) => {
261
+ switch (t) {
262
+ case "===":
263
+ return typeof e == "object" && (e = e.version), typeof r == "object" && (r = r.version), e === r;
264
+ case "!==":
265
+ return typeof e == "object" && (e = e.version), typeof r == "object" && (r = r.version), e !== r;
266
+ case "":
267
+ case "=":
268
+ case "==":
269
+ return wo(e, r, o);
270
+ case "!=":
271
+ return bo(e, r, o);
272
+ case ">":
273
+ return No(e, r, o);
274
+ case ">=":
275
+ return So(e, r, o);
276
+ case "<":
277
+ return To(e, r, o);
278
+ case "<=":
279
+ return Mo(e, r, o);
280
+ default:
281
+ throw new TypeError(`Invalid operator: ${t}`);
282
+ }
283
+ }, _t = Lo, We = Symbol("SemVer ANY"), Nt = class Rt {
284
+ static get ANY() {
285
+ return We;
286
+ }
287
+ constructor(t, r) {
288
+ if (r && typeof r == "object" || (r = { loose: !!r, includePrerelease: !1 }), t instanceof Rt) {
289
+ if (t.loose === !!r.loose) return t;
290
+ t = t.value;
291
+ }
292
+ B("comparator", t, r), this.options = r, this.loose = !!r.loose, this.parse(t), this.semver === We ? this.value = "" : this.value = this.operator + this.semver.version, B("comp", this);
293
+ }
294
+ parse(t) {
295
+ let r = this.options.loose ? sr[cr.COMPARATORLOOSE] : sr[cr.COMPARATOR], o = t.match(r);
296
+ if (!o) throw new TypeError(`Invalid comparator: ${t}`);
297
+ this.operator = o[1] !== void 0 ? o[1] : "", this.operator === "=" && (this.operator = ""), o[2] ? this.semver = new be(o[2], this.options.loose) : this.semver = We;
298
+ }
299
+ toString() {
300
+ return this.value;
301
+ }
302
+ test(t) {
303
+ if (B("Comparator.test", t, this.options.loose), this.semver === We || t === We) return !0;
304
+ if (typeof t == "string") try {
305
+ t = new be(t, this.options);
306
+ } catch {
307
+ return !1;
308
+ }
309
+ return _t(t, this.operator, this.semver, this.options);
310
+ }
311
+ intersects(t, r) {
312
+ if (!(t instanceof Rt)) throw new TypeError("a Comparator is required");
313
+ if (r && typeof r == "object" || (r = { loose: !!r, includePrerelease: !1 }), this.operator === "") return this.value === "" || new St(t.value, r).test(this.value);
314
+ if (t.operator === "") return t.value === "" || new St(this.value, r).test(t.semver);
315
+ let o = !(this.operator !== ">=" && this.operator !== ">" || t.operator !== ">=" && t.operator !== ">"), i = !(this.operator !== "<=" && this.operator !== "<" || t.operator !== "<=" && t.operator !== "<"), a = this.semver.version === t.semver.version, p = !(this.operator !== ">=" && this.operator !== "<=" || t.operator !== ">=" && t.operator !== "<="), f = _t(this.semver, "<", t.semver, r) && (this.operator === ">=" || this.operator === ">") && (t.operator === "<=" || t.operator === "<"), A = _t(this.semver, ">", t.semver, r) && (this.operator === "<=" || this.operator === "<") && (t.operator === ">=" || t.operator === ">");
316
+ return o || i || a && p || f || A;
317
+ }
318
+ }, { re: sr, t: cr } = Xe, St = class it {
319
+ constructor(t, r) {
320
+ if (r && typeof r == "object" || (r = { loose: !!r, includePrerelease: !1 }), t instanceof it) return t.loose === !!r.loose && t.includePrerelease === !!r.includePrerelease ? t : new it(t.raw, r);
321
+ if (t instanceof Nt) return this.raw = t.value, this.set = [[t]], this.format(), this;
322
+ if (this.options = r, this.loose = !!r.loose, this.includePrerelease = !!r.includePrerelease, this.raw = t, this.set = t.split(/\s*\|\|\s*/).map((o) => this.parseRange(o.trim())).filter((o) => o.length), !this.set.length) throw new TypeError(`Invalid SemVer Range: ${t}`);
323
+ this.format();
324
+ }
325
+ format() {
326
+ return this.range = this.set.map((t) => t.join(" ").trim()).join("||").trim(), this.range;
327
+ }
328
+ toString() {
329
+ return this.range;
330
+ }
331
+ parseRange(t) {
332
+ let { loose: r } = this.options;
333
+ t = t.trim();
334
+ let o = r ? te[Z.HYPHENRANGELOOSE] : te[Z.HYPHENRANGE];
335
+ t = t.replace(o, Vo(this.options.includePrerelease)), B("hyphen replace", t), t = t.replace(te[Z.COMPARATORTRIM], $o), B("comparator trim", t, te[Z.COMPARATORTRIM]), t = (t = (t = t.replace(te[Z.TILDETRIM], Po)).replace(te[Z.CARETTRIM], ko)).split(/\s+/).join(" ");
336
+ let i = r ? te[Z.COMPARATORLOOSE] : te[Z.COMPARATOR];
337
+ return t.split(" ").map((a) => Do(a, this.options)).join(" ").split(/\s+/).map((a) => qo(a, this.options)).filter(this.options.loose ? (a) => !!a.match(i) : () => !0).map((a) => new Nt(a, this.options));
338
+ }
339
+ intersects(t, r) {
340
+ if (!(t instanceof it)) throw new TypeError("a Range is required");
341
+ return this.set.some((o) => lr(o, r) && t.set.some((i) => lr(i, r) && o.every((a) => i.every((p) => a.intersects(p, r)))));
342
+ }
343
+ test(t) {
344
+ if (!t) return !1;
345
+ if (typeof t == "string") try {
346
+ t = new be(t, this.options);
347
+ } catch {
348
+ return !1;
349
+ }
350
+ for (let r = 0; r < this.set.length; r++) if (Ho(this.set[r], t, this.options)) return !0;
351
+ return !1;
352
+ }
353
+ }, { re: te, t: Z, comparatorTrimReplace: $o, tildeTrimReplace: Po, caretTrimReplace: ko } = Xe, lr = (e, t) => {
354
+ let r = !0, o = e.slice(), i = o.pop();
355
+ for (; r && o.length; ) r = o.every((a) => i.intersects(a, t)), i = o.pop();
356
+ return r;
357
+ }, Do = (e, t) => (B("comp", e, t), e = xo(e, t), B("caret", e), e = Uo(e, t), B("tildes", e), e = Go(e, t), B("xrange", e), e = Bo(e, t), B("stars", e), e), ne = (e) => !e || e.toLowerCase() === "x" || e === "*", Uo = (e, t) => e.trim().split(/\s+/).map((r) => jo(r, t)).join(" "), jo = (e, t) => {
358
+ let r = t.loose ? te[Z.TILDELOOSE] : te[Z.TILDE];
359
+ return e.replace(r, (o, i, a, p, f) => {
360
+ let A;
361
+ return B("tilde", e, o, i, a, p, f), ne(i) ? A = "" : ne(a) ? A = `>=${i}.0.0 <${+i + 1}.0.0-0` : ne(p) ? A = `>=${i}.${a}.0 <${i}.${+a + 1}.0-0` : f ? (B("replaceTilde pr", f), A = `>=${i}.${a}.${p}-${f} <${i}.${+a + 1}.0-0`) : A = `>=${i}.${a}.${p} <${i}.${+a + 1}.0-0`, B("tilde return", A), A;
362
+ });
363
+ }, xo = (e, t) => e.trim().split(/\s+/).map((r) => Fo(r, t)).join(" "), Fo = (e, t) => {
364
+ B("caret", e, t);
365
+ let r = t.loose ? te[Z.CARETLOOSE] : te[Z.CARET], o = t.includePrerelease ? "-0" : "";
366
+ return e.replace(r, (i, a, p, f, A) => {
367
+ let y;
368
+ return B("caret", e, i, a, p, f, A), ne(a) ? y = "" : ne(p) ? y = `>=${a}.0.0${o} <${+a + 1}.0.0-0` : ne(f) ? y = a === "0" ? `>=${a}.${p}.0${o} <${a}.${+p + 1}.0-0` : `>=${a}.${p}.0${o} <${+a + 1}.0.0-0` : A ? (B("replaceCaret pr", A), y = a === "0" ? p === "0" ? `>=${a}.${p}.${f}-${A} <${a}.${p}.${+f + 1}-0` : `>=${a}.${p}.${f}-${A} <${a}.${+p + 1}.0-0` : `>=${a}.${p}.${f}-${A} <${+a + 1}.0.0-0`) : (B("no pr"), y = a === "0" ? p === "0" ? `>=${a}.${p}.${f}${o} <${a}.${p}.${+f + 1}-0` : `>=${a}.${p}.${f}${o} <${a}.${+p + 1}.0-0` : `>=${a}.${p}.${f} <${+a + 1}.0.0-0`), B("caret return", y), y;
369
+ });
370
+ }, Go = (e, t) => (B("replaceXRanges", e, t), e.split(/\s+/).map((r) => Wo(r, t)).join(" ")), Wo = (e, t) => {
371
+ e = e.trim();
372
+ let r = t.loose ? te[Z.XRANGELOOSE] : te[Z.XRANGE];
373
+ return e.replace(r, (o, i, a, p, f, A) => {
374
+ B("xRange", e, o, i, a, p, f, A);
375
+ let y = ne(a), g = y || ne(p), h = g || ne(f), S = h;
376
+ return i === "=" && S && (i = ""), A = t.includePrerelease ? "-0" : "", y ? o = i === ">" || i === "<" ? "<0.0.0-0" : "*" : i && S ? (g && (p = 0), f = 0, i === ">" ? (i = ">=", g ? (a = +a + 1, p = 0, f = 0) : (p = +p + 1, f = 0)) : i === "<=" && (i = "<", g ? a = +a + 1 : p = +p + 1), i === "<" && (A = "-0"), o = `${i + a}.${p}.${f}${A}`) : g ? o = `>=${a}.0.0${A} <${+a + 1}.0.0-0` : h && (o = `>=${a}.${p}.0${A} <${a}.${+p + 1}.0-0`), B("xRange return", o), o;
377
+ });
378
+ }, Bo = (e, t) => (B("replaceStars", e, t), e.trim().replace(te[Z.STAR], "")), qo = (e, t) => (B("replaceGTE0", e, t), e.trim().replace(te[t.includePrerelease ? Z.GTE0PRE : Z.GTE0], "")), Vo = (e) => (t, r, o, i, a, p, f, A, y, g, h, S, P) => `${r = ne(o) ? "" : ne(i) ? `>=${o}.0.0${e ? "-0" : ""}` : ne(a) ? `>=${o}.${i}.0${e ? "-0" : ""}` : p ? `>=${r}` : `>=${r}${e ? "-0" : ""}`} ${A = ne(y) ? "" : ne(g) ? `<${+y + 1}.0.0-0` : ne(h) ? `<${y}.${+g + 1}.0-0` : S ? `<=${y}.${g}.${h}-${S}` : e ? `<${y}.${g}.${+h + 1}-0` : `<=${A}`}`.trim(), Ho = (e, t, r) => {
379
+ for (let o = 0; o < e.length; o++) if (!e[o].test(t)) return !1;
380
+ if (t.prerelease.length && !r.includePrerelease) {
381
+ for (let o = 0; o < e.length; o++) if (B(e[o].semver), e[o].semver !== Nt.ANY && e[o].semver.prerelease.length > 0) {
382
+ let i = e[o].semver;
383
+ if (i.major === t.major && i.minor === t.minor && i.patch === t.patch) return !0;
384
+ }
385
+ return !1;
386
+ }
387
+ return !0;
388
+ }, zo = (e, t, r) => {
389
+ try {
390
+ t = new St(t, r);
391
+ } catch {
392
+ return !1;
393
+ }
394
+ return t.test(e);
395
+ }, { MAX_LENGTH: Xo } = Mt, { re: ur, t: dr } = Xe, Ko = (e, t) => {
396
+ if (t && typeof t == "object" || (t = { loose: !!t, includePrerelease: !1 }), e instanceof be) return e;
397
+ if (typeof e != "string" || e.length > Xo || !(t.loose ? ur[dr.LOOSE] : ur[dr.FULL]).test(e)) return null;
398
+ try {
399
+ return new be(e, t);
400
+ } catch {
401
+ return null;
402
+ }
403
+ }, Yo = Ko, { re: et, t: tt } = Xe, Jo = (e, t) => {
404
+ if (e instanceof be) return e;
405
+ if (typeof e == "number" && (e = String(e)), typeof e != "string") return null;
406
+ let r = null;
407
+ if ((t = t || {}).rtl) {
408
+ let o;
409
+ for (; (o = et[tt.COERCERTL].exec(e)) && (!r || r.index + r[0].length !== e.length); ) r && o.index + o[0].length === r.index + r[0].length || (r = o), et[tt.COERCERTL].lastIndex = o.index + o[1].length + o[2].length;
410
+ et[tt.COERCERTL].lastIndex = -1;
411
+ } else r = e.match(et[tt.COERCE]);
412
+ return r === null ? null : Yo(`${r[2]}.${r[3] || "0"}.${r[4] || "0"}`, t);
413
+ };
414
+ function Qo(e) {
415
+ return String.fromCharCode(parseInt(e.slice(1), 16));
416
+ }
417
+ function Zo(e) {
418
+ return btoa(encodeURIComponent(e).replace(/%[0-9A-F]{2}/g, Qo));
419
+ }
420
+ function ei(e) {
421
+ return Zo(JSON.stringify(e));
422
+ }
423
+ function He(e) {
424
+ return typeof e > "u";
425
+ }
426
+ function ti(e) {
427
+ return e === null;
428
+ }
429
+ function wr(e) {
430
+ return ti(e) || He(e);
431
+ }
432
+ function ri(e) {
433
+ return wr(e) ? !1 : !He(e.jsonrpc) && !He(e.id) && (!He(e.result) || !He(e.error));
434
+ }
435
+ function ni(e) {
436
+ return wr(e) ? !1 : typeof e == "number" && Object.values(dt).includes(e);
437
+ }
438
+ function ct(e) {
439
+ if (!e) return !0;
440
+ for (let t in e) if (Object.hasOwnProperty.call(e, t)) return !1;
441
+ return !0;
442
+ }
443
+ var z = {};
444
+ function oi(e, t) {
445
+ return Object.assign(z, t), e;
446
+ }
447
+ var ii = { "magic-sdk": "magic-sdk", "@magic-sdk/react-native": "magic-sdk-rn", "@magic-sdk/react-native-bare": "magic-sdk-rn-bare", "@magic-sdk/react-native-expo": "magic-sdk-rn-expo" }, Ke = class _r extends Error {
448
+ constructor(t, r) {
449
+ super(`Magic SDK Error: [${t}] ${r}`), this.code = t, this.rawMessage = r, Object.setPrototypeOf(this, _r.prototype);
450
+ }
451
+ __proto__ = Error;
452
+ }, Ot = class br extends Error {
453
+ __proto__ = Error;
454
+ code;
455
+ rawMessage;
456
+ data;
457
+ constructor(t) {
458
+ super();
459
+ let r = Number(t?.code);
460
+ this.rawMessage = t?.message || "Internal error", this.code = ni(r) ? r : dt.InternalError, this.message = `Magic RPC Error: [${this.code}] ${this.rawMessage}`, this.data = t?.data || void 0, Object.setPrototypeOf(this, br.prototype);
461
+ }
462
+ }, Ye = class {
463
+ constructor(e, t) {
464
+ this.code = e, this.rawMessage = t, this.message = `Magic SDK Warning: [${e}] ${t}`;
465
+ }
466
+ message;
467
+ log() {
468
+ console.warn(this.message);
469
+ }
470
+ };
471
+ function ai() {
472
+ return new Ke(Pe.MissingApiKey, "Please provide an API key that you acquired from the Magic developer dashboard.");
473
+ }
474
+ function Ar() {
475
+ return new Ke(Pe.ModalNotReady, "Modal is not ready");
476
+ }
477
+ function si() {
478
+ return new Ke(Pe.MalformedResponse, "Response from the Magic iframe is malformed.");
479
+ }
480
+ function ci(e) {
481
+ let t = `Some extensions are incompatible with \`${z.sdkName}@${z.version}\`:`;
482
+ return e.filter((r) => typeof r.compat < "u" && r.compat !== null).forEach((r) => {
483
+ let o = r.compat[z.sdkName];
484
+ typeof o == "string" ? t += `
485
+ - Extension \`${r.name}\` supports version(s) \`${o}\`` : o || (t += `
486
+ - Extension \`${r.name}\` does not support ${z.platform} environments.`);
487
+ }), new Ke(Pe.IncompatibleExtensions, t);
488
+ }
489
+ function li(e) {
490
+ let t = (r) => {
491
+ let o = r + 1, i = o % 10, a = o % 100;
492
+ return i === 1 && a !== 11 ? `${o}st` : i === 2 && a !== 12 ? `${o}nd` : i === 3 && a !== 13 ? `${o}rd` : `${o}th`;
493
+ };
494
+ return new Ke(Pe.InvalidArgument, `Invalid ${t(e.argument)} argument given to \`${e.procedure}\`.
495
+ Expected: \`${e.expected}\`
496
+ Received: \`${e.received}\``);
497
+ }
498
+ function ui() {
499
+ return new Ye(ke.DuplicateIframe, "Duplicate iframes found.");
500
+ }
501
+ function di() {
502
+ return new Ye(ke.SyncWeb3Method, "Non-async web3 methods are deprecated in web3 > 1.0 and are not supported by the Magic web3 provider. Please use an async method instead.");
503
+ }
504
+ function fi() {
505
+ return new Ye(ke.ReactNativeEndpointConfiguration, `CUSTOM DOMAINS ARE NOT SUPPORTED WHEN USING MAGIC SDK WITH REACT NATIVE! The \`endpoint\` parameter SHOULD NOT be provided. The Magic \`<iframe>\` is automatically wrapped by a WebView pointed at \`${z.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`);
506
+ }
507
+ function hi(e) {
508
+ let { method: t, removalVersions: r, useInstead: o } = e, i = r[z.sdkName], a = o ? ` Use \`${o}\` instead.` : "", p = `\`${t}\` will be removed from \`${z.sdkName}\` in version \`${i}\`.${a}`;
509
+ return new Ye(ke.DeprecationNotice, p);
510
+ }
511
+ function* pi() {
512
+ let e = 0;
513
+ for (; ; ) e < Number.MAX_SAFE_INTEGER ? yield ++e : e = 0;
514
+ }
515
+ var mi = pi();
516
+ function Nr() {
517
+ return mi.next().value;
518
+ }
519
+ var vi = {};
520
+ lo(vi, { clear: () => yi, getItem: () => ce, iterate: () => Rr, key: () => Ei, keys: () => Ii, length: () => gi, removeItem: () => $e, setItem: () => _e });
521
+ var rt;
522
+ function Ae(e) {
523
+ return async (...t) => (rt || (rt = await z.configureStorage()), await rt.ready(), rt[e](...t));
524
+ }
525
+ var ce = Ae("getItem"), _e = Ae("setItem"), $e = Ae("removeItem"), yi = Ae("clear"), gi = Ae("length"), Ei = Ae("key"), Ii = Ae("keys"), Rr = Ae("iterate");
526
+ function wi() {
527
+ let e = window.crypto.getRandomValues(new Uint8Array(16));
528
+ e[6] = e[6] & 15 | 64, e[8] = e[8] & 191 | 128;
529
+ let t = "";
530
+ return t += e[0].toString(16), t += e[1].toString(16), t += e[2].toString(16), t += e[3].toString(16), t += "-", t += e[4].toString(16), t += e[5].toString(16), t += "-", t += e[6].toString(16), t += e[7].toString(16), t += "-", t += e[8].toString(16), t += e[9].toString(16), t += "-", t += e[10].toString(16), t += e[11].toString(16), t += e[12].toString(16), t += e[13].toString(16), t += e[14].toString(16), t += e[15].toString(16), t;
531
+ }
532
+ var Lt = "STORE_KEY_PRIVATE_KEY", lt = "STORE_KEY_PUBLIC_JWK", Sr = "ECDSA", _i = "P-256", bi = { name: Sr, namedCurve: _i };
533
+ function ft() {
534
+ let e = typeof window < "u" && !!window.crypto, t = e && !!window.crypto.subtle;
535
+ return e && t;
536
+ }
537
+ function Ai() {
538
+ $e(lt), $e(Lt);
539
+ }
540
+ async function Ni() {
541
+ let e = await Ri();
542
+ if (!e) {
543
+ console.info("unable to create public key or webcrypto is unsupported");
544
+ return;
545
+ }
546
+ let { subtle: t } = window.crypto, r = await ce(Lt);
547
+ if (!r || !t) {
548
+ console.info("unable to find private key or webcrypto unsupported");
549
+ return;
550
+ }
551
+ let o = { iat: Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3), jti: wi() }, i = { protected: fr(JSON.stringify({ typ: "dpop+jwt", alg: "ES256", jwk: e })), claims: fr(JSON.stringify(o)) }, a = Oi(`${i.protected}.${i.claims}`), p = { name: Sr, hash: { name: "SHA-256" } }, f = Ci(new Uint8Array(await t.sign(p, r, a)));
552
+ return `${i.protected}.${i.claims}.${f}`;
553
+ }
554
+ async function Ri() {
555
+ if (!ft()) {
556
+ console.info("webcrypto is not supported");
557
+ return;
558
+ }
559
+ return await ce(lt) || await Si(), ce(lt);
560
+ }
561
+ async function Si() {
562
+ let { subtle: e } = window.crypto, t = await e.generateKey(bi, !1, ["sign"]), r = await e.exportKey("jwk", t.publicKey);
563
+ await _e(Lt, t.privateKey), await _e(lt, r);
564
+ }
565
+ function fr(e) {
566
+ return Or(Ti(e));
567
+ }
568
+ function Oi(e) {
569
+ return new TextEncoder().encode(e);
570
+ }
571
+ function Or(e) {
572
+ return btoa(e).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+/g, "");
573
+ }
574
+ function Ti(e) {
575
+ return encodeURIComponent(e).replace(/%([0-9A-F]{2})/g, (t, r) => String.fromCharCode(parseInt(r, 16)));
576
+ }
577
+ function Ci(e) {
578
+ let t = "";
579
+ return e.forEach((r) => {
580
+ t += String.fromCharCode(r);
581
+ }), Or(t);
582
+ }
583
+ var Tr = Symbol("Payload pre-processed by Magic SDK");
584
+ function Cr(e) {
585
+ return Object.defineProperty(e, Tr, { value: !0, enumerable: !1 }), e;
586
+ }
587
+ function Mi(e) {
588
+ return !!e[Tr];
589
+ }
590
+ function Tt(e) {
591
+ return Mi(e) || (e.jsonrpc = e.jsonrpc ?? "2.0", e.id = Nr(), e.method = e.method ?? "noop", e.params = e.params ?? [], Cr(e)), e;
592
+ }
593
+ function x(e, t = []) {
594
+ return Cr({ params: t, method: e, jsonrpc: "2.0", id: Nr() });
595
+ }
596
+ var Mr = class Lr {
597
+ _jsonrpc;
598
+ _id;
599
+ _result;
600
+ _error;
601
+ constructor(t) {
602
+ t instanceof Lr ? (this._jsonrpc = t.payload.jsonrpc, this._id = t.payload.id, this._result = t.payload.result, this._error = t.payload.error) : ri(t) ? (this._jsonrpc = t.jsonrpc, this._id = t.id, this._result = t.result, this._error = t.error) : (this._jsonrpc = t.jsonrpc, this._id = t.id, this._result = void 0, this._error = void 0);
603
+ }
604
+ applyError(t) {
605
+ return this._error = t, this;
606
+ }
607
+ applyResult(t) {
608
+ return this._result = t, this;
609
+ }
610
+ get hasError() {
611
+ return this._error?.code === dt.DpopInvalidated && Ai(), typeof this._error < "u" && this._error !== null;
612
+ }
613
+ get hasResult() {
614
+ return typeof this._result < "u";
615
+ }
616
+ get payload() {
617
+ return { jsonrpc: this._jsonrpc, id: this._id, result: this._result, error: this._error };
618
+ }
619
+ }, Li = fo(ho()), $i = class extends Li.default {
620
+ };
621
+ function $r() {
622
+ let e = new $i();
623
+ return { emitter: e, createChainingEmitterMethod: (t, r) => (...o) => (e[t].apply(e, o), r), createBoundEmitterMethod: (t) => (...r) => e[t].apply(e, r) };
624
+ }
625
+ var Pi = Symbol("isPromiEvent");
626
+ function ve(e) {
627
+ let t = Pr(e), { createBoundEmitterMethod: r, createChainingEmitterMethod: o } = $r(), i = Symbol("Promise.then"), a = Symbol("Promise.catch"), p = Symbol("Promise.finally"), f = (g, h) => (...S) => {
628
+ let P = h[g].apply(h, S);
629
+ return A(P);
630
+ }, A = (g) => Object.assign(g, { [Pi]: !0, [i]: g[i] || g.then, [a]: g[a] || g.catch, [p]: g[p] || g.finally, then: f(i, g), catch: f(a, g), finally: f(p, g), on: o("on", g), once: o("once", g), addListener: o("addListener", g), off: o("off", g), removeListener: o("removeListener", g), removeAllListeners: o("removeAllListeners", g), emit: r("emit"), eventNames: r("eventNames"), listeners: r("listeners"), listenerCount: r("listenerCount") }), y = A(t.then((g) => (y.emit("done", g), y.emit("settled"), g), (g) => {
631
+ throw y.emit("error", g), y.emit("settled"), g;
632
+ }));
633
+ return y.on(Ir.ClosedByUser, () => {
634
+ y.emit(Er.ClosedByUser);
635
+ }), y;
636
+ }
637
+ function Pr(e) {
638
+ return new Promise((t, r) => {
639
+ let o = e(t, r);
640
+ Promise.resolve(o).catch(r);
641
+ });
642
+ }
643
+ var Ue = class {
644
+ constructor(e) {
645
+ this.sdk = e;
646
+ }
647
+ get overlay() {
648
+ return this.sdk.overlay;
649
+ }
650
+ request(e) {
651
+ if (this.sdk.thirdPartyWallets.isConnected && !jn.includes(e.method)) return ve((i, a) => {
652
+ this.sdk.thirdPartyWallets.requestOverride(e).then(i).catch(a);
653
+ });
654
+ let t = this.overlay.post(ze.MAGIC_HANDLE_REQUEST, Tt(e)), r = ve((i, a) => {
655
+ t.then((p) => {
656
+ if (o(), p.hasError) a(new Ot(p.payload.error));
657
+ else if (p.hasResult) i(p.payload.result);
658
+ else throw si();
659
+ }).catch((p) => {
660
+ o(), a(p);
661
+ });
662
+ }), o = this.overlay.on(we.MAGIC_HANDLE_EVENT, (i) => {
663
+ let { response: a } = i.data;
664
+ if (a.id === e.id && a.result?.event) {
665
+ let { event: p, params: f = [] } = a.result;
666
+ r.emit(p, ...f);
667
+ }
668
+ });
669
+ return r;
670
+ }
671
+ createIntermediaryEvent(e, t) {
672
+ return (r) => {
673
+ let o = x(L.IntermediaryEvent, [{ payloadId: t, eventType: e, args: r }]);
674
+ this.request(o);
675
+ };
676
+ }
677
+ };
678
+ function ki(e, t) {
679
+ let [r] = e.split(".").map(Number);
680
+ return r >= t;
681
+ }
682
+ var Di = { "magic-sdk": "v18.0.0", "@magic-sdk/react-native": "v14.0.0", "@magic-sdk/react-native-bare": "v19.0.0", "@magic-sdk/react-native-expo": "v19.0.0" }, Ui = class extends Ue {
683
+ loginWithMagicLink(t) {
684
+ let r = z.sdkName === "@magic-sdk/react-native" || z.sdkName === "@magic-sdk/react-native-bare" || z.sdkName === "@magic-sdk/react-native-expo";
685
+ if (r && ki(z.version, 19)) throw new Error("loginWithMagicLink() is deprecated for this package, please utilize a passcode method like loginWithSMS or loginWithEmailOTP instead.");
686
+ r && hi({ method: "auth.loginWithMagicLink()", removalVersions: Di, useInstead: "auth.loginWithEmailOTP()" }).log();
687
+ let { email: o, showUI: i = !0, redirectURI: a, overrides: p, lifespan: f } = t, A = x(this.sdk.testMode ? L.LoginWithMagicLinkTestMode : L.LoginWithMagicLink, [{ email: o, showUI: i, redirectURI: a, overrides: p, lifespan: f }]);
688
+ return this.request(A);
689
+ }
690
+ loginWithSMS(t) {
691
+ let { phoneNumber: r, showUI: o = !0, lifespan: i } = t, a = x(this.sdk.testMode ? L.LoginWithSmsTestMode : L.LoginWithSms, [{ phoneNumber: r, showUI: o, lifespan: i }]), p = this.request(a);
692
+ return !o && p && (p.on(Be.VerifySmsOtp, (f) => {
693
+ this.createIntermediaryEvent(Be.VerifySmsOtp, a.id)(f);
694
+ }), p.on(Be.Cancel, () => {
695
+ this.createIntermediaryEvent(Be.Cancel, a.id)();
696
+ })), p;
697
+ }
698
+ loginWithEmailOTP(t) {
699
+ let { email: r, showUI: o, deviceCheckUI: i, overrides: a, lifespan: p } = t, f = x(this.sdk.testMode ? L.LoginWithEmailOTPTestMode : L.LoginWithEmailOTP, [{ email: r, showUI: o, deviceCheckUI: i, overrides: a, lifespan: p }]), A = this.request(f);
700
+ return !i && A && A.on(At.Retry, () => {
701
+ this.createIntermediaryEvent(At.Retry, f.id)();
702
+ }), !o && A && (A.on(de.VerifyEmailOtp, (y) => {
703
+ this.createIntermediaryEvent(de.VerifyEmailOtp, f.id)(y);
704
+ }), A.on(de.VerifyMFACode, (y) => {
705
+ this.createIntermediaryEvent(de.VerifyMFACode, f.id)(y);
706
+ }), A.on(de.LostDevice, () => {
707
+ this.createIntermediaryEvent(de.LostDevice, f.id)();
708
+ }), A.on(de.VerifyRecoveryCode, (y) => {
709
+ this.createIntermediaryEvent(de.VerifyRecoveryCode, f.id)(y);
710
+ }), A.on(de.Cancel, () => {
711
+ this.createIntermediaryEvent(de.Cancel, f.id)();
712
+ })), A;
713
+ }
714
+ loginWithCredential(t) {
715
+ let { credentialOrQueryString: r, lifespan: o } = t || {}, i = r ?? "";
716
+ if (!r && z.platform === "web") {
717
+ i = window.location.search;
718
+ let p = window.location.origin + window.location.pathname;
719
+ window.history.replaceState(null, "", p);
720
+ }
721
+ let a = x(this.sdk.testMode ? L.LoginWithCredentialTestMode : L.LoginWithCredential, [i, o]);
722
+ return this.request(a);
723
+ }
724
+ setAuthorizationToken(t) {
725
+ let r = x(L.SetAuthorizationToken, [{ jwt: t }]);
726
+ return this.request(r);
727
+ }
728
+ updateEmailWithUI(t) {
729
+ let { email: r, showUI: o = !0 } = t, i = x(this.sdk.testMode ? L.UpdateEmailTestMode : L.UpdateEmail, [{ email: r, showUI: o }]), a = this.request(i);
730
+ return o || (a.on(fe.Retry, () => {
731
+ this.createIntermediaryEvent(fe.Retry, i.id)();
732
+ }), a.on(fe.Cancel, () => {
733
+ this.createIntermediaryEvent(fe.Cancel, i.id)();
734
+ }), a.on(fe.VerifyEmailOtp, (p) => {
735
+ this.createIntermediaryEvent(fe.VerifyEmailOtp, i.id)(p);
736
+ }), a.on(fe.VerifyMFACode, (p) => {
737
+ this.createIntermediaryEvent(fe.VerifyMFACode, i.id)(p);
738
+ }), a.on(ae.RetryWithNewEmail, (p) => {
739
+ this.createIntermediaryEvent(ae.RetryWithNewEmail, i.id)(p);
740
+ }), a.on(ae.Cancel, () => {
741
+ this.createIntermediaryEvent(ae.Cancel, i.id)();
742
+ }), a.on(ae.VerifyEmailOtp, (p) => {
743
+ this.createIntermediaryEvent(ae.VerifyEmailOtp, i.id)(p);
744
+ })), a;
745
+ }
746
+ }, $t = "ds", Pt = "ek", kt = "iv", Dt = "AES-GCM", ji = 256;
747
+ async function kr() {
748
+ let e = [];
749
+ await Rr((t, r, o) => {
750
+ r.startsWith(`${$t}_`) && e.push(r);
751
+ });
752
+ for (let t of e) await $e(t);
753
+ }
754
+ function Dr(e) {
755
+ let t = "", r = new Uint8Array(e), o = r.byteLength;
756
+ for (let i = 0; i < o; i++) t += String.fromCharCode(r[i]);
757
+ return window.btoa(t);
758
+ }
759
+ function Ur(e) {
760
+ let t = window.atob(e), r = t.length, o = new Uint8Array(r);
761
+ for (let i = 0; i < r; i++) o[i] = t.charCodeAt(i);
762
+ return o.buffer;
763
+ }
764
+ async function xi() {
765
+ if (!ft()) {
766
+ console.info("webcrypto is not supported");
767
+ return;
768
+ }
769
+ let { crypto: e } = window;
770
+ return await ce(kt) || e.getRandomValues(new Uint8Array(12));
771
+ }
772
+ async function Fi() {
773
+ if (!ft()) {
774
+ console.info("webcrypto is not supported");
775
+ return;
776
+ }
777
+ let { subtle: e } = window.crypto;
778
+ return await ce(Pt) || await e.generateKey({ name: Dt, length: ji }, !1, ["encrypt", "decrypt"]);
779
+ }
780
+ async function Gi(e, t) {
781
+ let r = await xi(), o = await Fi();
782
+ if (!r || !o || !e) return;
783
+ let i = Ur(e), { subtle: a } = window.crypto, p = await a.encrypt({ name: Dt, iv: r }, o, i), f = Dr(p);
784
+ await _e(`${$t}_${t}`, f), await _e(Pt, o), await _e(kt, r);
785
+ }
786
+ async function Wi(e) {
787
+ let t = await ce(`${$t}_${e}`), r = await ce(kt), o = await ce(Pt);
788
+ if (!r || !t || !o || !ft()) return;
789
+ let { subtle: i } = window.crypto, a = await i.decrypt({ name: Dt, iv: r }, o, Ur(t));
790
+ return Dr(a);
791
+ }
792
+ function ut(e, t) {
793
+ return t ? new URL(e, t) : new URL(e);
794
+ }
795
+ var Bi = class extends Ue {
796
+ getIdToken(t) {
797
+ let r = x(this.sdk.testMode ? L.GetIdTokenTestMode : L.GetIdToken, [t]);
798
+ return this.request(r);
799
+ }
800
+ generateIdToken(t) {
801
+ let r = x(this.sdk.testMode ? L.GenerateIdTokenTestMode : L.GenerateIdToken, [t]);
802
+ return this.request(r);
803
+ }
804
+ getInfo() {
805
+ let t = x(L.GetInfo, []);
806
+ return this.request(t);
807
+ }
808
+ isLoggedIn() {
809
+ return ve(async (t, r) => {
810
+ try {
811
+ let o = !1;
812
+ this.sdk.useStorageCache && (o = await ce(this.localForageIsLoggedInKey) === "true", o && t(!0));
813
+ let i = x(this.sdk.testMode ? L.IsLoggedInTestMode : L.IsLoggedIn), a = await this.request(i);
814
+ this.sdk.useStorageCache && (a ? _e(this.localForageIsLoggedInKey, !0) : $e(this.localForageIsLoggedInKey), o && !a && this.emitUserLoggedOut(!0)), t(a);
815
+ } catch (o) {
816
+ r(o);
817
+ }
818
+ });
819
+ }
820
+ logout() {
821
+ return $e(this.localForageIsLoggedInKey), kr(), ve(async (t, r) => {
822
+ try {
823
+ let o = x(this.sdk.testMode ? L.LogoutTestMode : L.Logout), i = await this.request(o);
824
+ this.sdk.useStorageCache && this.emitUserLoggedOut(i), t(i);
825
+ } catch (o) {
826
+ r(o);
827
+ }
828
+ });
829
+ }
830
+ requestInfoWithUI(t) {
831
+ let r = x(L.RequestUserInfoWithUI, t ? [t] : []);
832
+ return this.request(r);
833
+ }
834
+ showSettings(t) {
835
+ let { showUI: r = !0 } = t || {}, o = x(this.sdk.testMode ? L.UserSettingsTestMode : L.UserSettings, [t]), i = this.request(o);
836
+ return !r && i && (i.on(pe.SendNewPhoneNumber, (a) => {
837
+ this.createIntermediaryEvent(pe.SendNewPhoneNumber, o.id)(a);
838
+ }), i.on(pe.SendOtpCode, (a) => {
839
+ this.createIntermediaryEvent(pe.SendOtpCode, o.id)(a);
840
+ }), i.on(pe.StartEditPhoneNumber, () => {
841
+ this.createIntermediaryEvent(pe.StartEditPhoneNumber, o.id)();
842
+ }), i.on(pe.Cancel, () => {
843
+ this.createIntermediaryEvent(pe.Cancel, o.id)();
844
+ }), i.on(fe.VerifyEmailOtp, (a) => {
845
+ this.createIntermediaryEvent(fe.VerifyEmailOtp, o.id)(a);
846
+ })), i;
847
+ }
848
+ recoverAccount(t) {
849
+ let { email: r, showUI: o } = t, i = x(this.sdk.testMode ? L.RecoverAccountTestMode : L.RecoverAccount, [{ email: r, showUI: o }]), a = this.request(i);
850
+ return !o && a && (a.on(me.Cancel, () => {
851
+ this.createIntermediaryEvent(me.Cancel, i.id)();
852
+ }), a.on(me.ResendSms, () => {
853
+ this.createIntermediaryEvent(me.ResendSms, i.id)();
854
+ }), a.on(me.VerifyOtp, (p) => {
855
+ this.createIntermediaryEvent(me.VerifyOtp, i.id)(p);
856
+ }), a.on(me.UpdateEmail, (p) => {
857
+ this.createIntermediaryEvent(me.UpdateEmail, i.id)(p);
858
+ }), a.on(ae.Cancel, () => {
859
+ this.createIntermediaryEvent(ae.Cancel, i.id)();
860
+ }), a.on(ae.RetryWithNewEmail, (p) => {
861
+ this.createIntermediaryEvent(ae.RetryWithNewEmail, i.id)(p);
862
+ }), a.on(ae.VerifyEmailOtp, (p) => {
863
+ this.createIntermediaryEvent(ae.VerifyEmailOtp, i.id)(p);
864
+ })), a;
865
+ }
866
+ revealPrivateKey() {
867
+ let t = x(L.RevealPK);
868
+ return this.request(t);
869
+ }
870
+ onUserLoggedOut(t) {
871
+ this.userLoggedOutCallbacks.push(t);
872
+ }
873
+ enableMFA(t) {
874
+ let { showUI: r = !0 } = t, o = x(L.EnableMFA, [{ showUI: r }]), i = this.request(o);
875
+ return !r && i && (i.on(qe.VerifyMFACode, (a) => {
876
+ this.createIntermediaryEvent(qe.VerifyMFACode, o.id)(a);
877
+ }), i.on(qe.Cancel, () => {
878
+ this.createIntermediaryEvent(qe.Cancel, o.id)();
879
+ })), i;
880
+ }
881
+ disableMFA(t) {
882
+ let { showUI: r = !0 } = t, o = x(L.DisableMFA, [{ showUI: r }]), i = this.request(o);
883
+ return !r && i && (i.on(Se.VerifyMFACode, (a) => {
884
+ this.createIntermediaryEvent(Se.VerifyMFACode, o.id)(a);
885
+ }), i.on(Se.LostDevice, (a) => {
886
+ this.createIntermediaryEvent(Se.LostDevice, o.id)(a);
887
+ }), i.on(Se.Cancel, () => {
888
+ this.createIntermediaryEvent(Se.Cancel, o.id)();
889
+ })), i;
890
+ }
891
+ emitUserLoggedOut(t) {
892
+ this.userLoggedOutCallbacks.forEach((r) => {
893
+ r(t);
894
+ });
895
+ }
896
+ localForageIsLoggedInKey = "magic_auth_is_logged_in";
897
+ userLoggedOutCallbacks = [];
898
+ }, qi = class extends Ue {
899
+ connectWithUI(e) {
900
+ let t = ve(async (r, o) => {
901
+ try {
902
+ let i = x(L.Login, [{ enabledWallets: this.sdk.thirdPartyWallets.enabledWallets, ...e }]), a = this.request(i);
903
+ this.sdk.thirdPartyWallets.eventListeners.forEach(({ event: f, callback: A }) => {
904
+ a.on(f, () => A(i.id));
905
+ }), a.on("id-token-created", (f) => {
906
+ t.emit("id-token-created", f);
907
+ });
908
+ let p = await a;
909
+ p.error && o(p), r(p);
910
+ } catch (i) {
911
+ o(i);
912
+ }
913
+ });
914
+ return t;
915
+ }
916
+ showUI(e) {
917
+ return this.request(x(L.ShowUI, [e]));
918
+ }
919
+ showAddress() {
920
+ return this.request(x(L.ShowAddress));
921
+ }
922
+ showSendTokensUI() {
923
+ return this.request(x(L.ShowSendTokensUI));
924
+ }
925
+ showOnRamp() {
926
+ return this.request(x(L.ShowOnRamp));
927
+ }
928
+ showNFTs() {
929
+ return this.request(x(L.ShowNFTs));
930
+ }
931
+ showBalances() {
932
+ return this.request(x(L.ShowBalances));
933
+ }
934
+ sendGaslessTransaction(e, t) {
935
+ return this.request(x(L.SendGaslessTransaction, [e, t]));
936
+ }
937
+ }, Vi = class extends Ue {
938
+ eventListeners = [];
939
+ enabledWallets = {};
940
+ isConnected = !1;
941
+ resetThirdPartyWalletState() {
942
+ localStorage.removeItem(Ie.PROVIDER), localStorage.removeItem(Ie.ADDRESS), localStorage.removeItem(Ie.CHAIN_ID), this.isConnected = !1;
943
+ }
944
+ requestOverride(e) {
945
+ if (e.method === L.Login) return this.resetThirdPartyWalletState(), super.request(e);
946
+ if (e.method === L.GetInfo) return this.getInfo(e);
947
+ if (e.method === L.IsLoggedIn) return this.isLoggedIn(e);
948
+ if (e.method === L.Logout) return this.logout(e);
949
+ switch (localStorage.getItem(Ie.PROVIDER)) {
950
+ case "web3modal":
951
+ return this.web3modalRequest(e);
952
+ default:
953
+ return this.resetThirdPartyWalletState(), super.request(e);
954
+ }
955
+ }
956
+ isLoggedIn(e) {
957
+ switch (localStorage.getItem(Ie.PROVIDER)) {
958
+ case "web3modal":
959
+ return this.web3modalIsLoggedIn();
960
+ default:
961
+ return this.resetThirdPartyWalletState(), super.request(e);
962
+ }
963
+ }
964
+ getInfo(e) {
965
+ switch (localStorage.getItem(Ie.PROVIDER)) {
966
+ case "web3modal":
967
+ return this.web3modalGetInfo();
968
+ default:
969
+ return this.resetThirdPartyWalletState(), super.request(e);
970
+ }
971
+ }
972
+ logout(e) {
973
+ let t = localStorage.getItem(Ie.PROVIDER);
974
+ switch (this.resetThirdPartyWalletState(), t) {
975
+ case "web3modal":
976
+ return this.web3modalLogout();
977
+ default:
978
+ return super.request(e);
979
+ }
980
+ }
981
+ web3modalRequest(e) {
982
+ return ve((t, r) => {
983
+ this.sdk.web3modal.modal.getWalletProvider().request(e).then(t).catch(r);
984
+ });
985
+ }
986
+ web3modalIsLoggedIn() {
987
+ return ve((e) => {
988
+ let t = this.sdk.web3modal.modal.getStatus();
989
+ if (t === "connected" && e(!0), t === "disconnected" && (this.resetThirdPartyWalletState(), e(!1)), t === "reconnecting") {
990
+ let r = this.sdk.web3modal.modal.subscribeProvider(({ status: o }) => {
991
+ o === "connected" && (r(), e(!0)), o === "disconnected" && (r(), this.resetThirdPartyWalletState(), e(!1));
992
+ });
993
+ }
994
+ });
995
+ }
996
+ formatWeb3modalGetInfoResponse() {
997
+ let e = this.sdk.web3modal.modal.getWalletInfo()?.name, t = this.sdk.web3modal.modal.getAddress();
998
+ return { publicAddress: t, email: null, issuer: `did:ethr:${t}`, phoneNumber: null, isMfaEnabled: !1, recoveryFactors: [], walletType: e || "web3modal", firstLoginAt: null };
999
+ }
1000
+ web3modalGetInfo() {
1001
+ return ve((e, t) => {
1002
+ let r = this.sdk.web3modal.modal.getStatus();
1003
+ if (r === "connected" && e(this.formatWeb3modalGetInfoResponse()), r === "disconnected" && (this.resetThirdPartyWalletState(), t("Magic RPC Error: [-32603] Internal error: User denied account access.")), r === "reconnecting") {
1004
+ let o = this.sdk.web3modal.modal.subscribeProvider(({ status: i }) => {
1005
+ i === "connected" && (o(), e(this.formatWeb3modalGetInfoResponse())), i === "disconnected" && (o(), this.resetThirdPartyWalletState(), t("Magic RPC Error: [-32603] Internal error: User denied account access."));
1006
+ });
1007
+ }
1008
+ });
1009
+ }
1010
+ web3modalLogout() {
1011
+ return ve(async (e) => {
1012
+ try {
1013
+ await this.sdk.web3modal.modal.disconnect();
1014
+ } catch (t) {
1015
+ console.error(t);
1016
+ }
1017
+ e(!0);
1018
+ });
1019
+ }
1020
+ }, { createBoundEmitterMethod: nt, createChainingEmitterMethod: Me } = $r(), Hi = class extends Ue {
1021
+ isMagic = !0;
1022
+ sendAsync(e, t) {
1023
+ if (!t) throw li({ procedure: "Magic.rpcProvider.sendAsync", argument: 1, expected: "function", received: t === null ? "null" : typeof t });
1024
+ if (Array.isArray(e)) this.overlay.post(ze.MAGIC_HANDLE_REQUEST, e.map((r) => {
1025
+ let o = Tt(r);
1026
+ return this.prefixPayloadMethodForTestMode(o), o;
1027
+ })).then((r) => {
1028
+ t(null, r.map((o) => ({ ...o.payload, error: o.hasError ? new Ot(o.payload.error) : null })));
1029
+ });
1030
+ else {
1031
+ let r = Tt(e);
1032
+ this.prefixPayloadMethodForTestMode(r), this.overlay.post(ze.MAGIC_HANDLE_REQUEST, r).then((o) => {
1033
+ t(o.hasError ? new Ot(o.payload.error) : null, o.payload);
1034
+ });
1035
+ }
1036
+ }
1037
+ send(e, t) {
1038
+ if (typeof e == "string") {
1039
+ let o = x(e, Array.isArray(t) ? t : []);
1040
+ return this.request(o);
1041
+ }
1042
+ if (Array.isArray(e) || t) {
1043
+ this.sendAsync(e, t);
1044
+ return;
1045
+ }
1046
+ let r = di();
1047
+ return r.log(), new Mr(e).applyError({ code: -32603, message: r.rawMessage }).payload;
1048
+ }
1049
+ enable() {
1050
+ let e = x(L.Login);
1051
+ return this.request(e);
1052
+ }
1053
+ request(e) {
1054
+ return this.prefixPayloadMethodForTestMode(e), super.request(e);
1055
+ }
1056
+ prefixPayloadMethodForTestMode(e) {
1057
+ let t = "testMode/eth/";
1058
+ this.sdk.testMode && (e.method = `${t}${e.method}`);
1059
+ }
1060
+ on = Me("on", this);
1061
+ once = Me("once", this);
1062
+ addListener = Me("addListener", this);
1063
+ off = Me("off", this);
1064
+ removeListener = Me("removeListener", this);
1065
+ removeAllListeners = Me("removeAllListeners", this);
1066
+ emit = nt("emit");
1067
+ eventNames = nt("eventNames");
1068
+ listeners = nt("listeners");
1069
+ listenerCount = nt("listenerCount");
1070
+ }, zi = class extends Ue {
1071
+ purchase(e) {
1072
+ let t = x(L.NFTPurchase, [e]);
1073
+ return this.request(t);
1074
+ }
1075
+ checkout(e) {
1076
+ let t = this.sdk.thirdPartyWallets.isConnected, r = x(L.NFTCheckout, [{ ...e, walletProvider: t ? "web3modal" : "magic" }]), o = this.request(r);
1077
+ return t && (o.on(Ve.Initiated, async (i) => {
1078
+ try {
1079
+ let a = await this.request({ method: "eth_sendTransaction", params: [i] });
1080
+ this.createIntermediaryEvent(Ve.Success, r.id)(a);
1081
+ } catch {
1082
+ this.createIntermediaryEvent(Ve.Failure, r.id)();
1083
+ }
1084
+ }), o.on(Ve.Disconnect, () => {
1085
+ this.sdk.thirdPartyWallets.resetThirdPartyWalletState(), o.emit("disconnect");
1086
+ })), o;
1087
+ }
1088
+ transfer(e) {
1089
+ let t = x(L.NFTTransfer, [e]);
1090
+ return this.request(t);
1091
+ }
1092
+ };
1093
+ function hr(e) {
1094
+ return e.compat && e.compat[z.sdkName] != null ? typeof e.compat[z.sdkName] == "string" ? zo(Jo(z.version), e.compat[z.sdkName]) : !!e.compat[z.sdkName] : !0;
1095
+ }
1096
+ function Xi(e, t, r) {
1097
+ return !t && !r ? `${e}_eth_mainnet` : r ? `${e}_${JSON.stringify(r)}` : t ? typeof t == "string" ? `${e}_eth_${t}` : `${e}_${t.rpcUrl}_${t.chainId}_${t.chainType}` : `${e}_unknown`;
1098
+ }
1099
+ function Ki(e) {
1100
+ let t = e?.extensions ?? [], r = {}, o = [];
1101
+ if (Array.isArray(t) ? t.forEach((i) => {
1102
+ hr(i) ? (i.init(this), i.name && (this[i.name] = i), ct(i.config) || (r[i.name] = i.config)) : o.push(i);
1103
+ }) : Object.keys(t).forEach((i) => {
1104
+ if (hr(t[i])) {
1105
+ t[i].init(this);
1106
+ let a = t[i];
1107
+ this[i] = a, ct(a.config) || (r[t[i].name] = a.config);
1108
+ } else o.push(t[i]);
1109
+ }), o.length) throw ci(o);
1110
+ return r;
1111
+ }
1112
+ var Yi = class at {
1113
+ constructor(t, r) {
1114
+ if (this.apiKey = t, !t) throw ai();
1115
+ z.platform === "react-native" && r?.endpoint && fi().log();
1116
+ let { defaultEndpoint: o, version: i } = z;
1117
+ this.testMode = !!r?.testMode, this.useStorageCache = !!r?.useStorageCache, this.endpoint = ut(r?.endpoint ?? o).origin, this.auth = new Ui(this), this.user = new Bi(this), this.wallet = new qi(this), this.nft = new zi(this), this.thirdPartyWallets = new Vi(this), this.rpcProvider = new Hi(this);
1118
+ let a = Ki.call(this, r);
1119
+ this.parameters = ei({ API_KEY: this.apiKey, DOMAIN_ORIGIN: typeof window < "u" && window?.location ? window?.location.origin : "", ETH_NETWORK: r?.network, host: ut(this.endpoint).host, sdk: ii[z.sdkName], version: i, ext: ct(a) ? void 0 : a, locale: r?.locale || "en_US", authConfig: r?.authConfig ? { ...r.authConfig } : void 0, ...z.bundleId ? { bundleId: z.bundleId } : {}, meta: r?.meta }), this.networkHash = Xi(this.apiKey, r?.network, ct(a) ? void 0 : a), r?.deferPreload || this.preload();
1120
+ }
1121
+ static __overlays__ = /* @__PURE__ */ new Map();
1122
+ endpoint;
1123
+ parameters;
1124
+ networkHash;
1125
+ testMode;
1126
+ useStorageCache;
1127
+ auth;
1128
+ user;
1129
+ wallet;
1130
+ nft;
1131
+ thirdPartyWallets;
1132
+ rpcProvider;
1133
+ get overlay() {
1134
+ if (!at.__overlays__.has(this.parameters)) {
1135
+ let t = new z.ViewController(this.endpoint, this.parameters, this.networkHash);
1136
+ t.init(), at.__overlays__.set(this.parameters, t);
1137
+ }
1138
+ return at.__overlays__.get(this.parameters);
1139
+ }
1140
+ async preload() {
1141
+ await this.overlay.waitForReady();
1142
+ }
1143
+ };
1144
+ function Ji(e, t) {
1145
+ return t && Array.isArray(e) ? e.find((r) => r.id === t) : e;
1146
+ }
1147
+ function Qi(e, t) {
1148
+ let r = t.data.response?.id, o = Ji(e, r);
1149
+ if (r && o) {
1150
+ let i = new Mr(o).applyResult(t.data.response.result).applyError(t.data.response.error);
1151
+ return { id: r, response: i };
1152
+ }
1153
+ return {};
1154
+ }
1155
+ async function Zi(e, t, r) {
1156
+ let o = await ce("rt"), i;
1157
+ if (z.platform === "web") try {
1158
+ i = await ce("jwt") ?? await Ni();
1159
+ } catch (f) {
1160
+ console.error("webcrypto error", f);
1161
+ }
1162
+ let a = { msgType: e, payload: t };
1163
+ i && (a.jwt = i), i && o && (a.rt = o);
1164
+ let p = await Wi(r);
1165
+ return p && (a.deviceShare = p), a;
1166
+ }
1167
+ async function ea(e) {
1168
+ e.data.rt && await _e("rt", e.data.rt);
1169
+ }
1170
+ function ta(e, t) {
1171
+ let r = null;
1172
+ return function(...o) {
1173
+ r && clearTimeout(r), r = setTimeout(() => {
1174
+ e(...o);
1175
+ }, t);
1176
+ };
1177
+ }
1178
+ var ra = 1e3, jr = 60 * ra, pr = 5 * jr, na = 60 * jr, oa = class {
1179
+ constructor(e, t, r) {
1180
+ this.endpoint = e, this.parameters = t, this.networkHash = r, this.listen();
1181
+ }
1182
+ isReadyForRequest = !1;
1183
+ messageHandlers = /* @__PURE__ */ new Set();
1184
+ isConnectedToInternet = !0;
1185
+ lastPongTime = null;
1186
+ heartbeatIntervalTimer = null;
1187
+ heartbeatDebounce = ta(() => {
1188
+ this.endpoint === "https://auth.magic.link/" && this.heartBeatCheck();
1189
+ }, na);
1190
+ async post(e, t) {
1191
+ return Pr(async (r, o) => {
1192
+ if (!this.isConnectedToInternet) {
1193
+ let y = Ar();
1194
+ o(y);
1195
+ }
1196
+ await this.checkRelayerExistsInDOM() || (this.isReadyForRequest = !1, await this.reloadRelayer()), this.isReadyForRequest || await this.waitForReady();
1197
+ let i = [], a = Array.isArray(t) ? t.map((y) => y.id) : [], p = await Zi(`${e}-${this.parameters}`, t, this.networkHash);
1198
+ await this._post(p);
1199
+ let f = (y) => (g) => {
1200
+ let { id: h, response: S } = Qi(t, g);
1201
+ if (ea(g), S?.payload.error?.message === "User denied account access.") kr();
1202
+ else if (g.data.deviceShare) {
1203
+ let { deviceShare: P } = g.data;
1204
+ Gi(P, this.networkHash);
1205
+ }
1206
+ h && S && Array.isArray(t) && a.includes(h) ? (i.push(S), i.length === t.length && (y(), r(i))) : h && S && !Array.isArray(t) && h === t.id && (y(), r(S));
1207
+ }, A = this.on(we.MAGIC_HANDLE_RESPONSE, f(() => A()));
1208
+ });
1209
+ }
1210
+ on(e, t) {
1211
+ let r = t.bind(window), o = (i) => {
1212
+ i.data.msgType === `${e}-${this.parameters}` && r(i);
1213
+ };
1214
+ return this.messageHandlers.add(o), () => this.messageHandlers.delete(o);
1215
+ }
1216
+ waitForReady() {
1217
+ return new Promise((e) => {
1218
+ let t = this.on(we.MAGIC_OVERLAY_READY, () => {
1219
+ this.isReadyForRequest = !0, e(), t();
1220
+ });
1221
+ });
1222
+ }
1223
+ listen() {
1224
+ this.on(we.MAGIC_HIDE_OVERLAY, () => {
1225
+ this.hideOverlay();
1226
+ }), this.on(we.MAGIC_SHOW_OVERLAY, () => {
1227
+ this.showOverlay();
1228
+ }), this.on(we.MAGIC_SEND_PRODUCT_ANNOUNCEMENT, (e) => {
1229
+ e.data.response.result.product_announcement && new Ye(ke.ProductAnnouncement, e.data.response.result.product_announcement).log();
1230
+ });
1231
+ }
1232
+ heartBeatCheck() {
1233
+ let e = !0, t = async () => {
1234
+ let r = { msgType: `${ze.MAGIC_PING}-${this.parameters}`, payload: [] };
1235
+ await this._post(r);
1236
+ };
1237
+ this.heartbeatIntervalTimer = setInterval(async () => {
1238
+ if (this.lastPongTime) {
1239
+ if (Date.now() - this.lastPongTime > pr * 2) {
1240
+ this.reloadRelayer(), e = !0;
1241
+ return;
1242
+ }
1243
+ } else if (!e) {
1244
+ this.reloadRelayer(), e = !0;
1245
+ return;
1246
+ }
1247
+ await t(), e = !1;
1248
+ }, pr);
1249
+ }
1250
+ stopHeartBeat() {
1251
+ this.heartbeatDebounce(), this.lastPongTime = null, this.heartbeatIntervalTimer && (clearInterval(this.heartbeatIntervalTimer), this.heartbeatIntervalTimer = null);
1252
+ }
1253
+ }, ia = Object.create, xr = Object.defineProperty, aa = Object.getOwnPropertyDescriptor, sa = Object.getOwnPropertyNames, ca = Object.getPrototypeOf, la = Object.prototype.hasOwnProperty, ot = ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (t, r) => (typeof require < "u" ? require : t)[r] }) : e)(function(e) {
1254
+ if (typeof require < "u") return require.apply(this, arguments);
1255
+ throw Error('Dynamic require of "' + e + '" is not supported');
1256
+ }), Fr = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), ua = (e, t, r, o) => {
1257
+ if (t && typeof t == "object" || typeof t == "function") for (let i of sa(t)) !la.call(e, i) && i !== r && xr(e, i, { get: () => t[i], enumerable: !(o = aa(t, i)) || o.enumerable });
1258
+ return e;
1259
+ }, Gr = (e, t, r) => (r = e != null ? ia(ca(e)) : {}, ua(!e || !e.__esModule ? xr(r, "default", { value: e, enumerable: !0 }) : r, e)), da = Fr((e, t) => {
1260
+ (function(r) {
1261
+ if (typeof e == "object" && typeof t < "u") t.exports = r();
1262
+ else if (typeof define == "function" && define.amd) define([], r);
1263
+ else {
1264
+ var o;
1265
+ typeof window < "u" ? o = window : typeof global < "u" ? o = global : typeof self < "u" ? o = self : o = this, o.localforage = r();
1266
+ }
1267
+ })(function() {
1268
+ return (function r(o, i, a) {
1269
+ function p(y, g) {
1270
+ if (!i[y]) {
1271
+ if (!o[y]) {
1272
+ var h = typeof ot == "function" && ot;
1273
+ if (!g && h) return h(y, !0);
1274
+ if (f) return f(y, !0);
1275
+ var S = new Error("Cannot find module '" + y + "'");
1276
+ throw S.code = "MODULE_NOT_FOUND", S;
1277
+ }
1278
+ var P = i[y] = { exports: {} };
1279
+ o[y][0].call(P.exports, function(k) {
1280
+ var F = o[y][1][k];
1281
+ return p(F || k);
1282
+ }, P, P.exports, r, o, i, a);
1283
+ }
1284
+ return i[y].exports;
1285
+ }
1286
+ for (var f = typeof ot == "function" && ot, A = 0; A < a.length; A++) p(a[A]);
1287
+ return p;
1288
+ })({ 1: [function(r, o, i) {
1289
+ (function(a) {
1290
+ var p = a.MutationObserver || a.WebKitMutationObserver, f;
1291
+ if (p) {
1292
+ var A = 0, y = new p(k), g = a.document.createTextNode("");
1293
+ y.observe(g, { characterData: !0 }), f = function() {
1294
+ g.data = A = ++A % 2;
1295
+ };
1296
+ } else if (!a.setImmediate && typeof a.MessageChannel < "u") {
1297
+ var h = new a.MessageChannel();
1298
+ h.port1.onmessage = k, f = function() {
1299
+ h.port2.postMessage(0);
1300
+ };
1301
+ } else "document" in a && "onreadystatechange" in a.document.createElement("script") ? f = function() {
1302
+ var O = a.document.createElement("script");
1303
+ O.onreadystatechange = function() {
1304
+ k(), O.onreadystatechange = null, O.parentNode.removeChild(O), O = null;
1305
+ }, a.document.documentElement.appendChild(O);
1306
+ } : f = function() {
1307
+ setTimeout(k, 0);
1308
+ };
1309
+ var S, P = [];
1310
+ function k() {
1311
+ S = !0;
1312
+ for (var O, Y, q = P.length; q; ) {
1313
+ for (Y = P, P = [], O = -1; ++O < q; ) Y[O]();
1314
+ q = P.length;
1315
+ }
1316
+ S = !1;
1317
+ }
1318
+ o.exports = F;
1319
+ function F(O) {
1320
+ P.push(O) === 1 && !S && f();
1321
+ }
1322
+ }).call(this, typeof global < "u" ? global : typeof self < "u" ? self : typeof window < "u" ? window : {});
1323
+ }, {}], 2: [function(r, o, i) {
1324
+ var a = r(1);
1325
+ function p() {
1326
+ }
1327
+ var f = {}, A = ["REJECTED"], y = ["FULFILLED"], g = ["PENDING"];
1328
+ o.exports = h;
1329
+ function h(N) {
1330
+ if (typeof N != "function") throw new TypeError("resolver must be a function");
1331
+ this.state = g, this.queue = [], this.outcome = void 0, N !== p && F(this, N);
1332
+ }
1333
+ h.prototype.catch = function(N) {
1334
+ return this.then(null, N);
1335
+ }, h.prototype.then = function(N, j) {
1336
+ if (typeof N != "function" && this.state === y || typeof j != "function" && this.state === A) return this;
1337
+ var D = new this.constructor(p);
1338
+ if (this.state !== g) {
1339
+ var G = this.state === y ? N : j;
1340
+ P(D, G, this.outcome);
1341
+ } else this.queue.push(new S(D, N, j));
1342
+ return D;
1343
+ };
1344
+ function S(N, j, D) {
1345
+ this.promise = N, typeof j == "function" && (this.onFulfilled = j, this.callFulfilled = this.otherCallFulfilled), typeof D == "function" && (this.onRejected = D, this.callRejected = this.otherCallRejected);
1346
+ }
1347
+ S.prototype.callFulfilled = function(N) {
1348
+ f.resolve(this.promise, N);
1349
+ }, S.prototype.otherCallFulfilled = function(N) {
1350
+ P(this.promise, this.onFulfilled, N);
1351
+ }, S.prototype.callRejected = function(N) {
1352
+ f.reject(this.promise, N);
1353
+ }, S.prototype.otherCallRejected = function(N) {
1354
+ P(this.promise, this.onRejected, N);
1355
+ };
1356
+ function P(N, j, D) {
1357
+ a(function() {
1358
+ var G;
1359
+ try {
1360
+ G = j(D);
1361
+ } catch (Q) {
1362
+ return f.reject(N, Q);
1363
+ }
1364
+ G === N ? f.reject(N, new TypeError("Cannot resolve promise with itself")) : f.resolve(N, G);
1365
+ });
1366
+ }
1367
+ f.resolve = function(N, j) {
1368
+ var D = O(k, j);
1369
+ if (D.status === "error") return f.reject(N, D.value);
1370
+ var G = D.value;
1371
+ if (G) F(N, G);
1372
+ else {
1373
+ N.state = y, N.outcome = j;
1374
+ for (var Q = -1, re = N.queue.length; ++Q < re; ) N.queue[Q].callFulfilled(j);
1375
+ }
1376
+ return N;
1377
+ }, f.reject = function(N, j) {
1378
+ N.state = A, N.outcome = j;
1379
+ for (var D = -1, G = N.queue.length; ++D < G; ) N.queue[D].callRejected(j);
1380
+ return N;
1381
+ };
1382
+ function k(N) {
1383
+ var j = N && N.then;
1384
+ if (N && (typeof N == "object" || typeof N == "function") && typeof j == "function") return function() {
1385
+ j.apply(N, arguments);
1386
+ };
1387
+ }
1388
+ function F(N, j) {
1389
+ var D = !1;
1390
+ function G(ie) {
1391
+ D || (D = !0, f.reject(N, ie));
1392
+ }
1393
+ function Q(ie) {
1394
+ D || (D = !0, f.resolve(N, ie));
1395
+ }
1396
+ function re() {
1397
+ j(Q, G);
1398
+ }
1399
+ var oe = O(re);
1400
+ oe.status === "error" && G(oe.value);
1401
+ }
1402
+ function O(N, j) {
1403
+ var D = {};
1404
+ try {
1405
+ D.value = N(j), D.status = "success";
1406
+ } catch (G) {
1407
+ D.status = "error", D.value = G;
1408
+ }
1409
+ return D;
1410
+ }
1411
+ h.resolve = Y;
1412
+ function Y(N) {
1413
+ return N instanceof this ? N : f.resolve(new this(p), N);
1414
+ }
1415
+ h.reject = q;
1416
+ function q(N) {
1417
+ var j = new this(p);
1418
+ return f.reject(j, N);
1419
+ }
1420
+ h.all = V;
1421
+ function V(N) {
1422
+ var j = this;
1423
+ if (Object.prototype.toString.call(N) !== "[object Array]") return this.reject(new TypeError("must be an array"));
1424
+ var D = N.length, G = !1;
1425
+ if (!D) return this.resolve([]);
1426
+ for (var Q = new Array(D), re = 0, oe = -1, ie = new this(p); ++oe < D; ) ue(N[oe], oe);
1427
+ return ie;
1428
+ function ue(Ne, Oe) {
1429
+ j.resolve(Ne).then(je, function(ye) {
1430
+ G || (G = !0, f.reject(ie, ye));
1431
+ });
1432
+ function je(ye) {
1433
+ Q[Oe] = ye, ++re === D && !G && (G = !0, f.resolve(ie, Q));
1434
+ }
1435
+ }
1436
+ }
1437
+ h.race = le;
1438
+ function le(N) {
1439
+ var j = this;
1440
+ if (Object.prototype.toString.call(N) !== "[object Array]") return this.reject(new TypeError("must be an array"));
1441
+ var D = N.length, G = !1;
1442
+ if (!D) return this.resolve([]);
1443
+ for (var Q = -1, re = new this(p); ++Q < D; ) oe(N[Q]);
1444
+ return re;
1445
+ function oe(ie) {
1446
+ j.resolve(ie).then(function(ue) {
1447
+ G || (G = !0, f.resolve(re, ue));
1448
+ }, function(ue) {
1449
+ G || (G = !0, f.reject(re, ue));
1450
+ });
1451
+ }
1452
+ }
1453
+ }, { 1: 1 }], 3: [function(r, o, i) {
1454
+ (function(a) {
1455
+ typeof a.Promise != "function" && (a.Promise = r(2));
1456
+ }).call(this, typeof global < "u" ? global : typeof self < "u" ? self : typeof window < "u" ? window : {});
1457
+ }, { 2: 2 }], 4: [function(r, o, i) {
1458
+ var a = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(n) {
1459
+ return typeof n;
1460
+ } : function(n) {
1461
+ return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n;
1462
+ };
1463
+ function p(n, s) {
1464
+ if (!(n instanceof s)) throw new TypeError("Cannot call a class as a function");
1465
+ }
1466
+ function f() {
1467
+ try {
1468
+ if (typeof indexedDB < "u") return indexedDB;
1469
+ if (typeof webkitIndexedDB < "u") return webkitIndexedDB;
1470
+ if (typeof mozIndexedDB < "u") return mozIndexedDB;
1471
+ if (typeof OIndexedDB < "u") return OIndexedDB;
1472
+ if (typeof msIndexedDB < "u") return msIndexedDB;
1473
+ } catch {
1474
+ return;
1475
+ }
1476
+ }
1477
+ var A = f();
1478
+ function y() {
1479
+ try {
1480
+ if (!A || !A.open) return !1;
1481
+ var n = typeof openDatabase < "u" && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform), s = typeof fetch == "function" && fetch.toString().indexOf("[native code") !== -1;
1482
+ return (!n || s) && typeof indexedDB < "u" && typeof IDBKeyRange < "u";
1483
+ } catch {
1484
+ return !1;
1485
+ }
1486
+ }
1487
+ function g(n, s) {
1488
+ n = n || [], s = s || {};
1489
+ try {
1490
+ return new Blob(n, s);
1491
+ } catch (d) {
1492
+ if (d.name !== "TypeError") throw d;
1493
+ for (var c = typeof BlobBuilder < "u" ? BlobBuilder : typeof MSBlobBuilder < "u" ? MSBlobBuilder : typeof MozBlobBuilder < "u" ? MozBlobBuilder : WebKitBlobBuilder, u = new c(), l = 0; l < n.length; l += 1) u.append(n[l]);
1494
+ return u.getBlob(s.type);
1495
+ }
1496
+ }
1497
+ typeof Promise > "u" && r(3);
1498
+ var h = Promise;
1499
+ function S(n, s) {
1500
+ s && n.then(function(c) {
1501
+ s(null, c);
1502
+ }, function(c) {
1503
+ s(c);
1504
+ });
1505
+ }
1506
+ function P(n, s, c) {
1507
+ typeof s == "function" && n.then(s), typeof c == "function" && n.catch(c);
1508
+ }
1509
+ function k(n) {
1510
+ return typeof n != "string" && (console.warn(n + " used as a key, but it is not a string."), n = String(n)), n;
1511
+ }
1512
+ function F() {
1513
+ if (arguments.length && typeof arguments[arguments.length - 1] == "function") return arguments[arguments.length - 1];
1514
+ }
1515
+ var O = "local-forage-detect-blob-support", Y = void 0, q = {}, V = Object.prototype.toString, le = "readonly", N = "readwrite";
1516
+ function j(n) {
1517
+ for (var s = n.length, c = new ArrayBuffer(s), u = new Uint8Array(c), l = 0; l < s; l++) u[l] = n.charCodeAt(l);
1518
+ return c;
1519
+ }
1520
+ function D(n) {
1521
+ return new h(function(s) {
1522
+ var c = n.transaction(O, N), u = g([""]);
1523
+ c.objectStore(O).put(u, "key"), c.onabort = function(l) {
1524
+ l.preventDefault(), l.stopPropagation(), s(!1);
1525
+ }, c.oncomplete = function() {
1526
+ var l = navigator.userAgent.match(/Chrome\/(\d+)/), d = navigator.userAgent.match(/Edge\//);
1527
+ s(d || !l || parseInt(l[1], 10) >= 43);
1528
+ };
1529
+ }).catch(function() {
1530
+ return !1;
1531
+ });
1532
+ }
1533
+ function G(n) {
1534
+ return typeof Y == "boolean" ? h.resolve(Y) : D(n).then(function(s) {
1535
+ return Y = s, Y;
1536
+ });
1537
+ }
1538
+ function Q(n) {
1539
+ var s = q[n.name], c = {};
1540
+ c.promise = new h(function(u, l) {
1541
+ c.resolve = u, c.reject = l;
1542
+ }), s.deferredOperations.push(c), s.dbReady ? s.dbReady = s.dbReady.then(function() {
1543
+ return c.promise;
1544
+ }) : s.dbReady = c.promise;
1545
+ }
1546
+ function re(n) {
1547
+ var s = q[n.name], c = s.deferredOperations.pop();
1548
+ if (c) return c.resolve(), c.promise;
1549
+ }
1550
+ function oe(n, s) {
1551
+ var c = q[n.name], u = c.deferredOperations.pop();
1552
+ if (u) return u.reject(s), u.promise;
1553
+ }
1554
+ function ie(n, s) {
1555
+ return new h(function(c, u) {
1556
+ if (q[n.name] = q[n.name] || M(), n.db) if (s) Q(n), n.db.close();
1557
+ else return c(n.db);
1558
+ var l = [n.name];
1559
+ s && l.push(n.version);
1560
+ var d = A.open.apply(A, l);
1561
+ s && (d.onupgradeneeded = function(v) {
1562
+ var E = d.result;
1563
+ try {
1564
+ E.createObjectStore(n.storeName), v.oldVersion <= 1 && E.createObjectStore(O);
1565
+ } catch (b) {
1566
+ if (b.name === "ConstraintError") console.warn('The database "' + n.name + '" has been upgraded from version ' + v.oldVersion + " to version " + v.newVersion + ', but the storage "' + n.storeName + '" already exists.');
1567
+ else throw b;
1568
+ }
1569
+ }), d.onerror = function(v) {
1570
+ v.preventDefault(), u(d.error);
1571
+ }, d.onsuccess = function() {
1572
+ var v = d.result;
1573
+ v.onversionchange = function(E) {
1574
+ E.target.close();
1575
+ }, c(v), re(n);
1576
+ };
1577
+ });
1578
+ }
1579
+ function ue(n) {
1580
+ return ie(n, !1);
1581
+ }
1582
+ function Ne(n) {
1583
+ return ie(n, !0);
1584
+ }
1585
+ function Oe(n, s) {
1586
+ if (!n.db) return !0;
1587
+ var c = !n.db.objectStoreNames.contains(n.storeName), u = n.version < n.db.version, l = n.version > n.db.version;
1588
+ if (u && (n.version !== s && console.warn('The database "' + n.name + `" can't be downgraded from version ` + n.db.version + " to version " + n.version + "."), n.version = n.db.version), l || c) {
1589
+ if (c) {
1590
+ var d = n.db.version + 1;
1591
+ d > n.version && (n.version = d);
1592
+ }
1593
+ return !0;
1594
+ }
1595
+ return !1;
1596
+ }
1597
+ function je(n) {
1598
+ return new h(function(s, c) {
1599
+ var u = new FileReader();
1600
+ u.onerror = c, u.onloadend = function(l) {
1601
+ var d = btoa(l.target.result || "");
1602
+ s({ __local_forage_encoded_blob: !0, data: d, type: n.type });
1603
+ }, u.readAsBinaryString(n);
1604
+ });
1605
+ }
1606
+ function ye(n) {
1607
+ var s = j(atob(n.data));
1608
+ return g([s], { type: n.type });
1609
+ }
1610
+ function m(n) {
1611
+ return n && n.__local_forage_encoded_blob;
1612
+ }
1613
+ function I(n) {
1614
+ var s = this, c = s._initReady().then(function() {
1615
+ var u = q[s._dbInfo.name];
1616
+ if (u && u.dbReady) return u.dbReady;
1617
+ });
1618
+ return P(c, n, n), c;
1619
+ }
1620
+ function R(n) {
1621
+ Q(n);
1622
+ for (var s = q[n.name], c = s.forages, u = 0; u < c.length; u++) {
1623
+ var l = c[u];
1624
+ l._dbInfo.db && (l._dbInfo.db.close(), l._dbInfo.db = null);
1625
+ }
1626
+ return n.db = null, ue(n).then(function(d) {
1627
+ return n.db = d, Oe(n) ? Ne(n) : d;
1628
+ }).then(function(d) {
1629
+ n.db = s.db = d;
1630
+ for (var v = 0; v < c.length; v++) c[v]._dbInfo.db = d;
1631
+ }).catch(function(d) {
1632
+ throw oe(n, d), d;
1633
+ });
1634
+ }
1635
+ function T(n, s, c, u) {
1636
+ u === void 0 && (u = 1);
1637
+ try {
1638
+ var l = n.db.transaction(n.storeName, s);
1639
+ c(null, l);
1640
+ } catch (d) {
1641
+ if (u > 0 && (!n.db || d.name === "InvalidStateError" || d.name === "NotFoundError")) return h.resolve().then(function() {
1642
+ if (!n.db || d.name === "NotFoundError" && !n.db.objectStoreNames.contains(n.storeName) && n.version <= n.db.version) return n.db && (n.version = n.db.version + 1), Ne(n);
1643
+ }).then(function() {
1644
+ return R(n).then(function() {
1645
+ T(n, s, c, u - 1);
1646
+ });
1647
+ }).catch(c);
1648
+ c(d);
1649
+ }
1650
+ }
1651
+ function M() {
1652
+ return { forages: [], db: null, dbReady: null, deferredOperations: [] };
1653
+ }
1654
+ function $(n) {
1655
+ var s = this, c = { db: null };
1656
+ if (n) for (var u in n) c[u] = n[u];
1657
+ var l = q[c.name];
1658
+ l || (l = M(), q[c.name] = l), l.forages.push(s), s._initReady || (s._initReady = s.ready, s.ready = I);
1659
+ var d = [];
1660
+ function v() {
1661
+ return h.resolve();
1662
+ }
1663
+ for (var E = 0; E < l.forages.length; E++) {
1664
+ var b = l.forages[E];
1665
+ b !== s && d.push(b._initReady().catch(v));
1666
+ }
1667
+ var _ = l.forages.slice(0);
1668
+ return h.all(d).then(function() {
1669
+ return c.db = l.db, ue(c);
1670
+ }).then(function(w) {
1671
+ return c.db = w, Oe(c, s._defaultConfig.version) ? Ne(c) : w;
1672
+ }).then(function(w) {
1673
+ c.db = l.db = w, s._dbInfo = c;
1674
+ for (var C = 0; C < _.length; C++) {
1675
+ var U = _[C];
1676
+ U !== s && (U._dbInfo.db = c.db, U._dbInfo.version = c.version);
1677
+ }
1678
+ });
1679
+ }
1680
+ function X(n, s) {
1681
+ var c = this;
1682
+ n = k(n);
1683
+ var u = new h(function(l, d) {
1684
+ c.ready().then(function() {
1685
+ T(c._dbInfo, le, function(v, E) {
1686
+ if (v) return d(v);
1687
+ try {
1688
+ var b = E.objectStore(c._dbInfo.storeName), _ = b.get(n);
1689
+ _.onsuccess = function() {
1690
+ var w = _.result;
1691
+ w === void 0 && (w = null), m(w) && (w = ye(w)), l(w);
1692
+ }, _.onerror = function() {
1693
+ d(_.error);
1694
+ };
1695
+ } catch (w) {
1696
+ d(w);
1697
+ }
1698
+ });
1699
+ }).catch(d);
1700
+ });
1701
+ return S(u, s), u;
1702
+ }
1703
+ function ee(n, s) {
1704
+ var c = this, u = new h(function(l, d) {
1705
+ c.ready().then(function() {
1706
+ T(c._dbInfo, le, function(v, E) {
1707
+ if (v) return d(v);
1708
+ try {
1709
+ var b = E.objectStore(c._dbInfo.storeName), _ = b.openCursor(), w = 1;
1710
+ _.onsuccess = function() {
1711
+ var C = _.result;
1712
+ if (C) {
1713
+ var U = C.value;
1714
+ m(U) && (U = ye(U));
1715
+ var H = n(U, C.key, w++);
1716
+ H !== void 0 ? l(H) : C.continue();
1717
+ } else l();
1718
+ }, _.onerror = function() {
1719
+ d(_.error);
1720
+ };
1721
+ } catch (C) {
1722
+ d(C);
1723
+ }
1724
+ });
1725
+ }).catch(d);
1726
+ });
1727
+ return S(u, s), u;
1728
+ }
1729
+ function Te(n, s, c) {
1730
+ var u = this;
1731
+ n = k(n);
1732
+ var l = new h(function(d, v) {
1733
+ var E;
1734
+ u.ready().then(function() {
1735
+ return E = u._dbInfo, V.call(s) === "[object Blob]" ? G(E.db).then(function(b) {
1736
+ return b ? s : je(s);
1737
+ }) : s;
1738
+ }).then(function(b) {
1739
+ T(u._dbInfo, N, function(_, w) {
1740
+ if (_) return v(_);
1741
+ try {
1742
+ var C = w.objectStore(u._dbInfo.storeName);
1743
+ b === null && (b = void 0);
1744
+ var U = C.put(b, n);
1745
+ w.oncomplete = function() {
1746
+ b === void 0 && (b = null), d(b);
1747
+ }, w.onabort = w.onerror = function() {
1748
+ var H = U.error ? U.error : U.transaction.error;
1749
+ v(H);
1750
+ };
1751
+ } catch (H) {
1752
+ v(H);
1753
+ }
1754
+ });
1755
+ }).catch(v);
1756
+ });
1757
+ return S(l, c), l;
1758
+ }
1759
+ function Re(n, s) {
1760
+ var c = this;
1761
+ n = k(n);
1762
+ var u = new h(function(l, d) {
1763
+ c.ready().then(function() {
1764
+ T(c._dbInfo, N, function(v, E) {
1765
+ if (v) return d(v);
1766
+ try {
1767
+ var b = E.objectStore(c._dbInfo.storeName), _ = b.delete(n);
1768
+ E.oncomplete = function() {
1769
+ l();
1770
+ }, E.onerror = function() {
1771
+ d(_.error);
1772
+ }, E.onabort = function() {
1773
+ var w = _.error ? _.error : _.transaction.error;
1774
+ d(w);
1775
+ };
1776
+ } catch (w) {
1777
+ d(w);
1778
+ }
1779
+ });
1780
+ }).catch(d);
1781
+ });
1782
+ return S(u, s), u;
1783
+ }
1784
+ function xe(n) {
1785
+ var s = this, c = new h(function(u, l) {
1786
+ s.ready().then(function() {
1787
+ T(s._dbInfo, N, function(d, v) {
1788
+ if (d) return l(d);
1789
+ try {
1790
+ var E = v.objectStore(s._dbInfo.storeName), b = E.clear();
1791
+ v.oncomplete = function() {
1792
+ u();
1793
+ }, v.onabort = v.onerror = function() {
1794
+ var _ = b.error ? b.error : b.transaction.error;
1795
+ l(_);
1796
+ };
1797
+ } catch (_) {
1798
+ l(_);
1799
+ }
1800
+ });
1801
+ }).catch(l);
1802
+ });
1803
+ return S(c, n), c;
1804
+ }
1805
+ function Br(n) {
1806
+ var s = this, c = new h(function(u, l) {
1807
+ s.ready().then(function() {
1808
+ T(s._dbInfo, le, function(d, v) {
1809
+ if (d) return l(d);
1810
+ try {
1811
+ var E = v.objectStore(s._dbInfo.storeName), b = E.count();
1812
+ b.onsuccess = function() {
1813
+ u(b.result);
1814
+ }, b.onerror = function() {
1815
+ l(b.error);
1816
+ };
1817
+ } catch (_) {
1818
+ l(_);
1819
+ }
1820
+ });
1821
+ }).catch(l);
1822
+ });
1823
+ return S(c, n), c;
1824
+ }
1825
+ function qr(n, s) {
1826
+ var c = this, u = new h(function(l, d) {
1827
+ if (n < 0) {
1828
+ l(null);
1829
+ return;
1830
+ }
1831
+ c.ready().then(function() {
1832
+ T(c._dbInfo, le, function(v, E) {
1833
+ if (v) return d(v);
1834
+ try {
1835
+ var b = E.objectStore(c._dbInfo.storeName), _ = !1, w = b.openKeyCursor();
1836
+ w.onsuccess = function() {
1837
+ var C = w.result;
1838
+ if (!C) {
1839
+ l(null);
1840
+ return;
1841
+ }
1842
+ n === 0 || _ ? l(C.key) : (_ = !0, C.advance(n));
1843
+ }, w.onerror = function() {
1844
+ d(w.error);
1845
+ };
1846
+ } catch (C) {
1847
+ d(C);
1848
+ }
1849
+ });
1850
+ }).catch(d);
1851
+ });
1852
+ return S(u, s), u;
1853
+ }
1854
+ function Vr(n) {
1855
+ var s = this, c = new h(function(u, l) {
1856
+ s.ready().then(function() {
1857
+ T(s._dbInfo, le, function(d, v) {
1858
+ if (d) return l(d);
1859
+ try {
1860
+ var E = v.objectStore(s._dbInfo.storeName), b = E.openKeyCursor(), _ = [];
1861
+ b.onsuccess = function() {
1862
+ var w = b.result;
1863
+ if (!w) {
1864
+ u(_);
1865
+ return;
1866
+ }
1867
+ _.push(w.key), w.continue();
1868
+ }, b.onerror = function() {
1869
+ l(b.error);
1870
+ };
1871
+ } catch (w) {
1872
+ l(w);
1873
+ }
1874
+ });
1875
+ }).catch(l);
1876
+ });
1877
+ return S(c, n), c;
1878
+ }
1879
+ function Hr(n, s) {
1880
+ s = F.apply(this, arguments);
1881
+ var c = this.config();
1882
+ n = typeof n != "function" && n || {}, n.name || (n.name = n.name || c.name, n.storeName = n.storeName || c.storeName);
1883
+ var u = this, l;
1884
+ if (!n.name) l = h.reject("Invalid arguments");
1885
+ else {
1886
+ var d = n.name === c.name && u._dbInfo.db, v = d ? h.resolve(u._dbInfo.db) : ue(n).then(function(E) {
1887
+ var b = q[n.name], _ = b.forages;
1888
+ b.db = E;
1889
+ for (var w = 0; w < _.length; w++) _[w]._dbInfo.db = E;
1890
+ return E;
1891
+ });
1892
+ n.storeName ? l = v.then(function(E) {
1893
+ if (E.objectStoreNames.contains(n.storeName)) {
1894
+ var b = E.version + 1;
1895
+ Q(n);
1896
+ var _ = q[n.name], w = _.forages;
1897
+ E.close();
1898
+ for (var C = 0; C < w.length; C++) {
1899
+ var U = w[C];
1900
+ U._dbInfo.db = null, U._dbInfo.version = b;
1901
+ }
1902
+ var H = new h(function(W, J) {
1903
+ var K = A.open(n.name, b);
1904
+ K.onerror = function(se) {
1905
+ var It = K.result;
1906
+ It.close(), J(se);
1907
+ }, K.onupgradeneeded = function() {
1908
+ var se = K.result;
1909
+ se.deleteObjectStore(n.storeName);
1910
+ }, K.onsuccess = function() {
1911
+ var se = K.result;
1912
+ se.close(), W(se);
1913
+ };
1914
+ });
1915
+ return H.then(function(W) {
1916
+ _.db = W;
1917
+ for (var J = 0; J < w.length; J++) {
1918
+ var K = w[J];
1919
+ K._dbInfo.db = W, re(K._dbInfo);
1920
+ }
1921
+ }).catch(function(W) {
1922
+ throw (oe(n, W) || h.resolve()).catch(function() {
1923
+ }), W;
1924
+ });
1925
+ }
1926
+ }) : l = v.then(function(E) {
1927
+ Q(n);
1928
+ var b = q[n.name], _ = b.forages;
1929
+ E.close();
1930
+ for (var w = 0; w < _.length; w++) {
1931
+ var C = _[w];
1932
+ C._dbInfo.db = null;
1933
+ }
1934
+ var U = new h(function(H, W) {
1935
+ var J = A.deleteDatabase(n.name);
1936
+ J.onerror = function() {
1937
+ var K = J.result;
1938
+ K && K.close(), W(J.error);
1939
+ }, J.onblocked = function() {
1940
+ console.warn('dropInstance blocked for database "' + n.name + '" until all open connections are closed');
1941
+ }, J.onsuccess = function() {
1942
+ var K = J.result;
1943
+ K && K.close(), H(K);
1944
+ };
1945
+ });
1946
+ return U.then(function(H) {
1947
+ b.db = H;
1948
+ for (var W = 0; W < _.length; W++) {
1949
+ var J = _[W];
1950
+ re(J._dbInfo);
1951
+ }
1952
+ }).catch(function(H) {
1953
+ throw (oe(n, H) || h.resolve()).catch(function() {
1954
+ }), H;
1955
+ });
1956
+ });
1957
+ }
1958
+ return S(l, s), l;
1959
+ }
1960
+ var zr = { _driver: "asyncStorage", _initStorage: $, _support: y(), iterate: ee, getItem: X, setItem: Te, removeItem: Re, clear: xe, length: Br, key: qr, keys: Vr, dropInstance: Hr };
1961
+ function Xr() {
1962
+ return typeof openDatabase == "function";
1963
+ }
1964
+ var ge = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Kr = "~~local_forage_type~", Ut = /^~~local_forage_type~([^~]+)~/, Je = "__lfsc__:", ht = Je.length, pt = "arbf", mt = "blob", jt = "si08", xt = "ui08", Ft = "uic8", Gt = "si16", Wt = "si32", Bt = "ur16", qt = "ui32", Vt = "fl32", Ht = "fl64", zt = ht + pt.length, Xt = Object.prototype.toString;
1965
+ function Kt(n) {
1966
+ var s = n.length * 0.75, c = n.length, u, l = 0, d, v, E, b;
1967
+ n[n.length - 1] === "=" && (s--, n[n.length - 2] === "=" && s--);
1968
+ var _ = new ArrayBuffer(s), w = new Uint8Array(_);
1969
+ for (u = 0; u < c; u += 4) d = ge.indexOf(n[u]), v = ge.indexOf(n[u + 1]), E = ge.indexOf(n[u + 2]), b = ge.indexOf(n[u + 3]), w[l++] = d << 2 | v >> 4, w[l++] = (v & 15) << 4 | E >> 2, w[l++] = (E & 3) << 6 | b & 63;
1970
+ return _;
1971
+ }
1972
+ function vt(n) {
1973
+ var s = new Uint8Array(n), c = "", u;
1974
+ for (u = 0; u < s.length; u += 3) c += ge[s[u] >> 2], c += ge[(s[u] & 3) << 4 | s[u + 1] >> 4], c += ge[(s[u + 1] & 15) << 2 | s[u + 2] >> 6], c += ge[s[u + 2] & 63];
1975
+ return s.length % 3 === 2 ? c = c.substring(0, c.length - 1) + "=" : s.length % 3 === 1 && (c = c.substring(0, c.length - 2) + "=="), c;
1976
+ }
1977
+ function Yr(n, s) {
1978
+ var c = "";
1979
+ if (n && (c = Xt.call(n)), n && (c === "[object ArrayBuffer]" || n.buffer && Xt.call(n.buffer) === "[object ArrayBuffer]")) {
1980
+ var u, l = Je;
1981
+ n instanceof ArrayBuffer ? (u = n, l += pt) : (u = n.buffer, c === "[object Int8Array]" ? l += jt : c === "[object Uint8Array]" ? l += xt : c === "[object Uint8ClampedArray]" ? l += Ft : c === "[object Int16Array]" ? l += Gt : c === "[object Uint16Array]" ? l += Bt : c === "[object Int32Array]" ? l += Wt : c === "[object Uint32Array]" ? l += qt : c === "[object Float32Array]" ? l += Vt : c === "[object Float64Array]" ? l += Ht : s(new Error("Failed to get type for BinaryArray"))), s(l + vt(u));
1982
+ } else if (c === "[object Blob]") {
1983
+ var d = new FileReader();
1984
+ d.onload = function() {
1985
+ var v = Kr + n.type + "~" + vt(this.result);
1986
+ s(Je + mt + v);
1987
+ }, d.readAsArrayBuffer(n);
1988
+ } else try {
1989
+ s(JSON.stringify(n));
1990
+ } catch (v) {
1991
+ console.error("Couldn't convert value into a JSON string: ", n), s(null, v);
1992
+ }
1993
+ }
1994
+ function Jr(n) {
1995
+ if (n.substring(0, ht) !== Je) return JSON.parse(n);
1996
+ var s = n.substring(zt), c = n.substring(ht, zt), u;
1997
+ if (c === mt && Ut.test(s)) {
1998
+ var l = s.match(Ut);
1999
+ u = l[1], s = s.substring(l[0].length);
2000
+ }
2001
+ var d = Kt(s);
2002
+ switch (c) {
2003
+ case pt:
2004
+ return d;
2005
+ case mt:
2006
+ return g([d], { type: u });
2007
+ case jt:
2008
+ return new Int8Array(d);
2009
+ case xt:
2010
+ return new Uint8Array(d);
2011
+ case Ft:
2012
+ return new Uint8ClampedArray(d);
2013
+ case Gt:
2014
+ return new Int16Array(d);
2015
+ case Bt:
2016
+ return new Uint16Array(d);
2017
+ case Wt:
2018
+ return new Int32Array(d);
2019
+ case qt:
2020
+ return new Uint32Array(d);
2021
+ case Vt:
2022
+ return new Float32Array(d);
2023
+ case Ht:
2024
+ return new Float64Array(d);
2025
+ default:
2026
+ throw new Error("Unkown type: " + c);
2027
+ }
2028
+ }
2029
+ var yt = { serialize: Yr, deserialize: Jr, stringToBuffer: Kt, bufferToString: vt };
2030
+ function Yt(n, s, c, u) {
2031
+ n.executeSql("CREATE TABLE IF NOT EXISTS " + s.storeName + " (id INTEGER PRIMARY KEY, key unique, value)", [], c, u);
2032
+ }
2033
+ function Qr(n) {
2034
+ var s = this, c = { db: null };
2035
+ if (n) for (var u in n) c[u] = typeof n[u] != "string" ? n[u].toString() : n[u];
2036
+ var l = new h(function(d, v) {
2037
+ try {
2038
+ c.db = openDatabase(c.name, String(c.version), c.description, c.size);
2039
+ } catch (E) {
2040
+ return v(E);
2041
+ }
2042
+ c.db.transaction(function(E) {
2043
+ Yt(E, c, function() {
2044
+ s._dbInfo = c, d();
2045
+ }, function(b, _) {
2046
+ v(_);
2047
+ });
2048
+ }, v);
2049
+ });
2050
+ return c.serializer = yt, l;
2051
+ }
2052
+ function Ee(n, s, c, u, l, d) {
2053
+ n.executeSql(c, u, l, function(v, E) {
2054
+ E.code === E.SYNTAX_ERR ? v.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?", [s.storeName], function(b, _) {
2055
+ _.rows.length ? d(b, E) : Yt(b, s, function() {
2056
+ b.executeSql(c, u, l, d);
2057
+ }, d);
2058
+ }, d) : d(v, E);
2059
+ }, d);
2060
+ }
2061
+ function Zr(n, s) {
2062
+ var c = this;
2063
+ n = k(n);
2064
+ var u = new h(function(l, d) {
2065
+ c.ready().then(function() {
2066
+ var v = c._dbInfo;
2067
+ v.db.transaction(function(E) {
2068
+ Ee(E, v, "SELECT * FROM " + v.storeName + " WHERE key = ? LIMIT 1", [n], function(b, _) {
2069
+ var w = _.rows.length ? _.rows.item(0).value : null;
2070
+ w && (w = v.serializer.deserialize(w)), l(w);
2071
+ }, function(b, _) {
2072
+ d(_);
2073
+ });
2074
+ });
2075
+ }).catch(d);
2076
+ });
2077
+ return S(u, s), u;
2078
+ }
2079
+ function en(n, s) {
2080
+ var c = this, u = new h(function(l, d) {
2081
+ c.ready().then(function() {
2082
+ var v = c._dbInfo;
2083
+ v.db.transaction(function(E) {
2084
+ Ee(E, v, "SELECT * FROM " + v.storeName, [], function(b, _) {
2085
+ for (var w = _.rows, C = w.length, U = 0; U < C; U++) {
2086
+ var H = w.item(U), W = H.value;
2087
+ if (W && (W = v.serializer.deserialize(W)), W = n(W, H.key, U + 1), W !== void 0) {
2088
+ l(W);
2089
+ return;
2090
+ }
2091
+ }
2092
+ l();
2093
+ }, function(b, _) {
2094
+ d(_);
2095
+ });
2096
+ });
2097
+ }).catch(d);
2098
+ });
2099
+ return S(u, s), u;
2100
+ }
2101
+ function Jt(n, s, c, u) {
2102
+ var l = this;
2103
+ n = k(n);
2104
+ var d = new h(function(v, E) {
2105
+ l.ready().then(function() {
2106
+ s === void 0 && (s = null);
2107
+ var b = s, _ = l._dbInfo;
2108
+ _.serializer.serialize(s, function(w, C) {
2109
+ C ? E(C) : _.db.transaction(function(U) {
2110
+ Ee(U, _, "INSERT OR REPLACE INTO " + _.storeName + " (key, value) VALUES (?, ?)", [n, w], function() {
2111
+ v(b);
2112
+ }, function(H, W) {
2113
+ E(W);
2114
+ });
2115
+ }, function(U) {
2116
+ if (U.code === U.QUOTA_ERR) {
2117
+ if (u > 0) {
2118
+ v(Jt.apply(l, [n, b, c, u - 1]));
2119
+ return;
2120
+ }
2121
+ E(U);
2122
+ }
2123
+ });
2124
+ });
2125
+ }).catch(E);
2126
+ });
2127
+ return S(d, c), d;
2128
+ }
2129
+ function tn(n, s, c) {
2130
+ return Jt.apply(this, [n, s, c, 1]);
2131
+ }
2132
+ function rn(n, s) {
2133
+ var c = this;
2134
+ n = k(n);
2135
+ var u = new h(function(l, d) {
2136
+ c.ready().then(function() {
2137
+ var v = c._dbInfo;
2138
+ v.db.transaction(function(E) {
2139
+ Ee(E, v, "DELETE FROM " + v.storeName + " WHERE key = ?", [n], function() {
2140
+ l();
2141
+ }, function(b, _) {
2142
+ d(_);
2143
+ });
2144
+ });
2145
+ }).catch(d);
2146
+ });
2147
+ return S(u, s), u;
2148
+ }
2149
+ function nn(n) {
2150
+ var s = this, c = new h(function(u, l) {
2151
+ s.ready().then(function() {
2152
+ var d = s._dbInfo;
2153
+ d.db.transaction(function(v) {
2154
+ Ee(v, d, "DELETE FROM " + d.storeName, [], function() {
2155
+ u();
2156
+ }, function(E, b) {
2157
+ l(b);
2158
+ });
2159
+ });
2160
+ }).catch(l);
2161
+ });
2162
+ return S(c, n), c;
2163
+ }
2164
+ function on(n) {
2165
+ var s = this, c = new h(function(u, l) {
2166
+ s.ready().then(function() {
2167
+ var d = s._dbInfo;
2168
+ d.db.transaction(function(v) {
2169
+ Ee(v, d, "SELECT COUNT(key) as c FROM " + d.storeName, [], function(E, b) {
2170
+ var _ = b.rows.item(0).c;
2171
+ u(_);
2172
+ }, function(E, b) {
2173
+ l(b);
2174
+ });
2175
+ });
2176
+ }).catch(l);
2177
+ });
2178
+ return S(c, n), c;
2179
+ }
2180
+ function an(n, s) {
2181
+ var c = this, u = new h(function(l, d) {
2182
+ c.ready().then(function() {
2183
+ var v = c._dbInfo;
2184
+ v.db.transaction(function(E) {
2185
+ Ee(E, v, "SELECT key FROM " + v.storeName + " WHERE id = ? LIMIT 1", [n + 1], function(b, _) {
2186
+ var w = _.rows.length ? _.rows.item(0).key : null;
2187
+ l(w);
2188
+ }, function(b, _) {
2189
+ d(_);
2190
+ });
2191
+ });
2192
+ }).catch(d);
2193
+ });
2194
+ return S(u, s), u;
2195
+ }
2196
+ function sn(n) {
2197
+ var s = this, c = new h(function(u, l) {
2198
+ s.ready().then(function() {
2199
+ var d = s._dbInfo;
2200
+ d.db.transaction(function(v) {
2201
+ Ee(v, d, "SELECT key FROM " + d.storeName, [], function(E, b) {
2202
+ for (var _ = [], w = 0; w < b.rows.length; w++) _.push(b.rows.item(w).key);
2203
+ u(_);
2204
+ }, function(E, b) {
2205
+ l(b);
2206
+ });
2207
+ });
2208
+ }).catch(l);
2209
+ });
2210
+ return S(c, n), c;
2211
+ }
2212
+ function cn(n) {
2213
+ return new h(function(s, c) {
2214
+ n.transaction(function(u) {
2215
+ u.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'", [], function(l, d) {
2216
+ for (var v = [], E = 0; E < d.rows.length; E++) v.push(d.rows.item(E).name);
2217
+ s({ db: n, storeNames: v });
2218
+ }, function(l, d) {
2219
+ c(d);
2220
+ });
2221
+ }, function(u) {
2222
+ c(u);
2223
+ });
2224
+ });
2225
+ }
2226
+ function ln(n, s) {
2227
+ s = F.apply(this, arguments);
2228
+ var c = this.config();
2229
+ n = typeof n != "function" && n || {}, n.name || (n.name = n.name || c.name, n.storeName = n.storeName || c.storeName);
2230
+ var u = this, l;
2231
+ return n.name ? l = new h(function(d) {
2232
+ var v;
2233
+ n.name === c.name ? v = u._dbInfo.db : v = openDatabase(n.name, "", "", 0), n.storeName ? d({ db: v, storeNames: [n.storeName] }) : d(cn(v));
2234
+ }).then(function(d) {
2235
+ return new h(function(v, E) {
2236
+ d.db.transaction(function(b) {
2237
+ function _(H) {
2238
+ return new h(function(W, J) {
2239
+ b.executeSql("DROP TABLE IF EXISTS " + H, [], function() {
2240
+ W();
2241
+ }, function(K, se) {
2242
+ J(se);
2243
+ });
2244
+ });
2245
+ }
2246
+ for (var w = [], C = 0, U = d.storeNames.length; C < U; C++) w.push(_(d.storeNames[C]));
2247
+ h.all(w).then(function() {
2248
+ v();
2249
+ }).catch(function(H) {
2250
+ E(H);
2251
+ });
2252
+ }, function(b) {
2253
+ E(b);
2254
+ });
2255
+ });
2256
+ }) : l = h.reject("Invalid arguments"), S(l, s), l;
2257
+ }
2258
+ var un = { _driver: "webSQLStorage", _initStorage: Qr, _support: Xr(), iterate: en, getItem: Zr, setItem: tn, removeItem: rn, clear: nn, length: on, key: an, keys: sn, dropInstance: ln };
2259
+ function dn() {
2260
+ try {
2261
+ return typeof localStorage < "u" && "setItem" in localStorage && !!localStorage.setItem;
2262
+ } catch {
2263
+ return !1;
2264
+ }
2265
+ }
2266
+ function Qt(n, s) {
2267
+ var c = n.name + "/";
2268
+ return n.storeName !== s.storeName && (c += n.storeName + "/"), c;
2269
+ }
2270
+ function fn() {
2271
+ var n = "_localforage_support_test";
2272
+ try {
2273
+ return localStorage.setItem(n, !0), localStorage.removeItem(n), !1;
2274
+ } catch {
2275
+ return !0;
2276
+ }
2277
+ }
2278
+ function hn() {
2279
+ return !fn() || localStorage.length > 0;
2280
+ }
2281
+ function pn(n) {
2282
+ var s = this, c = {};
2283
+ if (n) for (var u in n) c[u] = n[u];
2284
+ return c.keyPrefix = Qt(n, s._defaultConfig), hn() ? (s._dbInfo = c, c.serializer = yt, h.resolve()) : h.reject();
2285
+ }
2286
+ function mn(n) {
2287
+ var s = this, c = s.ready().then(function() {
2288
+ for (var u = s._dbInfo.keyPrefix, l = localStorage.length - 1; l >= 0; l--) {
2289
+ var d = localStorage.key(l);
2290
+ d.indexOf(u) === 0 && localStorage.removeItem(d);
2291
+ }
2292
+ });
2293
+ return S(c, n), c;
2294
+ }
2295
+ function vn(n, s) {
2296
+ var c = this;
2297
+ n = k(n);
2298
+ var u = c.ready().then(function() {
2299
+ var l = c._dbInfo, d = localStorage.getItem(l.keyPrefix + n);
2300
+ return d && (d = l.serializer.deserialize(d)), d;
2301
+ });
2302
+ return S(u, s), u;
2303
+ }
2304
+ function yn(n, s) {
2305
+ var c = this, u = c.ready().then(function() {
2306
+ for (var l = c._dbInfo, d = l.keyPrefix, v = d.length, E = localStorage.length, b = 1, _ = 0; _ < E; _++) {
2307
+ var w = localStorage.key(_);
2308
+ if (w.indexOf(d) === 0) {
2309
+ var C = localStorage.getItem(w);
2310
+ if (C && (C = l.serializer.deserialize(C)), C = n(C, w.substring(v), b++), C !== void 0) return C;
2311
+ }
2312
+ }
2313
+ });
2314
+ return S(u, s), u;
2315
+ }
2316
+ function gn(n, s) {
2317
+ var c = this, u = c.ready().then(function() {
2318
+ var l = c._dbInfo, d;
2319
+ try {
2320
+ d = localStorage.key(n);
2321
+ } catch {
2322
+ d = null;
2323
+ }
2324
+ return d && (d = d.substring(l.keyPrefix.length)), d;
2325
+ });
2326
+ return S(u, s), u;
2327
+ }
2328
+ function En(n) {
2329
+ var s = this, c = s.ready().then(function() {
2330
+ for (var u = s._dbInfo, l = localStorage.length, d = [], v = 0; v < l; v++) {
2331
+ var E = localStorage.key(v);
2332
+ E.indexOf(u.keyPrefix) === 0 && d.push(E.substring(u.keyPrefix.length));
2333
+ }
2334
+ return d;
2335
+ });
2336
+ return S(c, n), c;
2337
+ }
2338
+ function In(n) {
2339
+ var s = this, c = s.keys().then(function(u) {
2340
+ return u.length;
2341
+ });
2342
+ return S(c, n), c;
2343
+ }
2344
+ function wn(n, s) {
2345
+ var c = this;
2346
+ n = k(n);
2347
+ var u = c.ready().then(function() {
2348
+ var l = c._dbInfo;
2349
+ localStorage.removeItem(l.keyPrefix + n);
2350
+ });
2351
+ return S(u, s), u;
2352
+ }
2353
+ function _n(n, s, c) {
2354
+ var u = this;
2355
+ n = k(n);
2356
+ var l = u.ready().then(function() {
2357
+ s === void 0 && (s = null);
2358
+ var d = s;
2359
+ return new h(function(v, E) {
2360
+ var b = u._dbInfo;
2361
+ b.serializer.serialize(s, function(_, w) {
2362
+ if (w) E(w);
2363
+ else try {
2364
+ localStorage.setItem(b.keyPrefix + n, _), v(d);
2365
+ } catch (C) {
2366
+ (C.name === "QuotaExceededError" || C.name === "NS_ERROR_DOM_QUOTA_REACHED") && E(C), E(C);
2367
+ }
2368
+ });
2369
+ });
2370
+ });
2371
+ return S(l, c), l;
2372
+ }
2373
+ function bn(n, s) {
2374
+ if (s = F.apply(this, arguments), n = typeof n != "function" && n || {}, !n.name) {
2375
+ var c = this.config();
2376
+ n.name = n.name || c.name, n.storeName = n.storeName || c.storeName;
2377
+ }
2378
+ var u = this, l;
2379
+ return n.name ? l = new h(function(d) {
2380
+ n.storeName ? d(Qt(n, u._defaultConfig)) : d(n.name + "/");
2381
+ }).then(function(d) {
2382
+ for (var v = localStorage.length - 1; v >= 0; v--) {
2383
+ var E = localStorage.key(v);
2384
+ E.indexOf(d) === 0 && localStorage.removeItem(E);
2385
+ }
2386
+ }) : l = h.reject("Invalid arguments"), S(l, s), l;
2387
+ }
2388
+ var An = { _driver: "localStorageWrapper", _initStorage: pn, _support: dn(), iterate: yn, getItem: vn, setItem: _n, removeItem: wn, clear: mn, length: In, key: gn, keys: En, dropInstance: bn }, Nn = function(n, s) {
2389
+ return n === s || typeof n == "number" && typeof s == "number" && isNaN(n) && isNaN(s);
2390
+ }, Rn = function(n, s) {
2391
+ for (var c = n.length, u = 0; u < c; ) {
2392
+ if (Nn(n[u], s)) return !0;
2393
+ u++;
2394
+ }
2395
+ return !1;
2396
+ }, Zt = Array.isArray || function(n) {
2397
+ return Object.prototype.toString.call(n) === "[object Array]";
2398
+ }, Fe = {}, er = {}, Ce = { INDEXEDDB: zr, WEBSQL: un, LOCALSTORAGE: An }, Sn = [Ce.INDEXEDDB._driver, Ce.WEBSQL._driver, Ce.LOCALSTORAGE._driver], Qe = ["dropInstance"], gt = ["clear", "getItem", "iterate", "key", "keys", "length", "removeItem", "setItem"].concat(Qe), On = { description: "", driver: Sn.slice(), name: "localforage", size: 4980736, storeName: "keyvaluepairs", version: 1 };
2399
+ function Tn(n, s) {
2400
+ n[s] = function() {
2401
+ var c = arguments;
2402
+ return n.ready().then(function() {
2403
+ return n[s].apply(n, c);
2404
+ });
2405
+ };
2406
+ }
2407
+ function Et() {
2408
+ for (var n = 1; n < arguments.length; n++) {
2409
+ var s = arguments[n];
2410
+ if (s) for (var c in s) s.hasOwnProperty(c) && (Zt(s[c]) ? arguments[0][c] = s[c].slice() : arguments[0][c] = s[c]);
2411
+ }
2412
+ return arguments[0];
2413
+ }
2414
+ var Cn = (function() {
2415
+ function n(s) {
2416
+ p(this, n);
2417
+ for (var c in Ce) if (Ce.hasOwnProperty(c)) {
2418
+ var u = Ce[c], l = u._driver;
2419
+ this[c] = l, Fe[l] || this.defineDriver(u);
2420
+ }
2421
+ this._defaultConfig = Et({}, On), this._config = Et({}, this._defaultConfig, s), this._driverSet = null, this._initDriver = null, this._ready = !1, this._dbInfo = null, this._wrapLibraryMethodsWithReady(), this.setDriver(this._config.driver).catch(function() {
2422
+ });
2423
+ }
2424
+ return n.prototype.config = function(s) {
2425
+ if ((typeof s > "u" ? "undefined" : a(s)) === "object") {
2426
+ if (this._ready) return new Error("Can't call config() after localforage has been used.");
2427
+ for (var c in s) {
2428
+ if (c === "storeName" && (s[c] = s[c].replace(/\W/g, "_")), c === "version" && typeof s[c] != "number") return new Error("Database version must be a number.");
2429
+ this._config[c] = s[c];
2430
+ }
2431
+ return "driver" in s && s.driver ? this.setDriver(this._config.driver) : !0;
2432
+ } else return typeof s == "string" ? this._config[s] : this._config;
2433
+ }, n.prototype.defineDriver = function(s, c, u) {
2434
+ var l = new h(function(d, v) {
2435
+ try {
2436
+ var E = s._driver, b = new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");
2437
+ if (!s._driver) {
2438
+ v(b);
2439
+ return;
2440
+ }
2441
+ for (var _ = gt.concat("_initStorage"), w = 0, C = _.length; w < C; w++) {
2442
+ var U = _[w], H = !Rn(Qe, U);
2443
+ if ((H || s[U]) && typeof s[U] != "function") {
2444
+ v(b);
2445
+ return;
2446
+ }
2447
+ }
2448
+ var W = function() {
2449
+ for (var K = function(Ln) {
2450
+ return function() {
2451
+ var $n = new Error("Method " + Ln + " is not implemented by the current driver"), tr = h.reject($n);
2452
+ return S(tr, arguments[arguments.length - 1]), tr;
2453
+ };
2454
+ }, se = 0, It = Qe.length; se < It; se++) {
2455
+ var wt = Qe[se];
2456
+ s[wt] || (s[wt] = K(wt));
2457
+ }
2458
+ };
2459
+ W();
2460
+ var J = function(K) {
2461
+ Fe[E] && console.info("Redefining LocalForage driver: " + E), Fe[E] = s, er[E] = K, d();
2462
+ };
2463
+ "_support" in s ? s._support && typeof s._support == "function" ? s._support().then(J, v) : J(!!s._support) : J(!0);
2464
+ } catch (K) {
2465
+ v(K);
2466
+ }
2467
+ });
2468
+ return P(l, c, u), l;
2469
+ }, n.prototype.driver = function() {
2470
+ return this._driver || null;
2471
+ }, n.prototype.getDriver = function(s, c, u) {
2472
+ var l = Fe[s] ? h.resolve(Fe[s]) : h.reject(new Error("Driver not found."));
2473
+ return P(l, c, u), l;
2474
+ }, n.prototype.getSerializer = function(s) {
2475
+ var c = h.resolve(yt);
2476
+ return P(c, s), c;
2477
+ }, n.prototype.ready = function(s) {
2478
+ var c = this, u = c._driverSet.then(function() {
2479
+ return c._ready === null && (c._ready = c._initDriver()), c._ready;
2480
+ });
2481
+ return P(u, s, s), u;
2482
+ }, n.prototype.setDriver = function(s, c, u) {
2483
+ var l = this;
2484
+ Zt(s) || (s = [s]);
2485
+ var d = this._getSupportedDrivers(s);
2486
+ function v() {
2487
+ l._config.driver = l.driver();
2488
+ }
2489
+ function E(w) {
2490
+ return l._extend(w), v(), l._ready = l._initStorage(l._config), l._ready;
2491
+ }
2492
+ function b(w) {
2493
+ return function() {
2494
+ var C = 0;
2495
+ function U() {
2496
+ for (; C < w.length; ) {
2497
+ var H = w[C];
2498
+ return C++, l._dbInfo = null, l._ready = null, l.getDriver(H).then(E).catch(U);
2499
+ }
2500
+ v();
2501
+ var W = new Error("No available storage method found.");
2502
+ return l._driverSet = h.reject(W), l._driverSet;
2503
+ }
2504
+ return U();
2505
+ };
2506
+ }
2507
+ var _ = this._driverSet !== null ? this._driverSet.catch(function() {
2508
+ return h.resolve();
2509
+ }) : h.resolve();
2510
+ return this._driverSet = _.then(function() {
2511
+ var w = d[0];
2512
+ return l._dbInfo = null, l._ready = null, l.getDriver(w).then(function(C) {
2513
+ l._driver = C._driver, v(), l._wrapLibraryMethodsWithReady(), l._initDriver = b(d);
2514
+ });
2515
+ }).catch(function() {
2516
+ v();
2517
+ var w = new Error("No available storage method found.");
2518
+ return l._driverSet = h.reject(w), l._driverSet;
2519
+ }), P(this._driverSet, c, u), this._driverSet;
2520
+ }, n.prototype.supports = function(s) {
2521
+ return !!er[s];
2522
+ }, n.prototype._extend = function(s) {
2523
+ Et(this, s);
2524
+ }, n.prototype._getSupportedDrivers = function(s) {
2525
+ for (var c = [], u = 0, l = s.length; u < l; u++) {
2526
+ var d = s[u];
2527
+ this.supports(d) && c.push(d);
2528
+ }
2529
+ return c;
2530
+ }, n.prototype._wrapLibraryMethodsWithReady = function() {
2531
+ for (var s = 0, c = gt.length; s < c; s++) Tn(this, gt[s]);
2532
+ }, n.prototype.createInstance = function(s) {
2533
+ return new n(s);
2534
+ }, n;
2535
+ })(), Mn = new Cn();
2536
+ o.exports = Mn;
2537
+ }, { 3: 3 }] }, {}, [4])(4);
2538
+ });
2539
+ }), fa = Fr((e, t) => {
2540
+ (function(r, o) {
2541
+ typeof e == "object" && typeof t < "u" ? o(e) : typeof define == "function" && define.amd ? define("localforage-driver-memory", ["exports"], o) : o(r.LocalforageDriverMemory = {});
2542
+ })(typeof self < "u" ? self : e, function(r) {
2543
+ var o = "localforage-driver-memory";
2544
+ function i(m) {
2545
+ var I = typeof Symbol == "function" && m[Symbol.iterator], R = 0;
2546
+ return I ? I.call(m) : { next: function() {
2547
+ return m && R >= m.length && (m = void 0), { value: m && m[R++], done: !m };
2548
+ } };
2549
+ }
2550
+ function a(m, I) {
2551
+ m = m || [], I = I || {};
2552
+ try {
2553
+ return new Blob(m, I);
2554
+ } catch ($) {
2555
+ if ($.name !== "TypeError") throw $;
2556
+ for (var R = typeof BlobBuilder < "u" ? BlobBuilder : typeof MSBlobBuilder < "u" ? MSBlobBuilder : typeof MozBlobBuilder < "u" ? MozBlobBuilder : WebKitBlobBuilder, T = new R(), M = 0; M < m.length; M += 1) T.append(m[M]);
2557
+ return T.getBlob(I.type);
2558
+ }
2559
+ }
2560
+ var p = /^~~local_forage_type~([^~]+)~/, f = 9, A = f + 4, y = Object.prototype.toString;
2561
+ function g(m) {
2562
+ var I = m.length * 0.75, R = m.length;
2563
+ m[m.length - 1] === "=" && (I--, m[m.length - 2] === "=" && I--);
2564
+ for (var T = new ArrayBuffer(I), M = new Uint8Array(T), $ = 0, X = 0; $ < R; $ += 4) {
2565
+ var ee = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(m[$]), Te = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(m[$ + 1]), Re = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(m[$ + 2]), xe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(m[$ + 3]);
2566
+ M[X++] = ee << 2 | Te >> 4, M[X++] = (Te & 15) << 4 | Re >> 2, M[X++] = (Re & 3) << 6 | xe & 63;
2567
+ }
2568
+ return T;
2569
+ }
2570
+ function h(m) {
2571
+ for (var I = new Uint8Array(m), R = "", T = 0; T < I.length; T += 3) R += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[I[T] >> 2], R += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(I[T] & 3) << 4 | I[T + 1] >> 4], R += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(I[T + 1] & 15) << 2 | I[T + 2] >> 6], R += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[I[T + 2] & 63];
2572
+ return I.length % 3 === 2 ? R = R.substring(0, R.length - 1) + "=" : I.length % 3 === 1 && (R = R.substring(0, R.length - 2) + "=="), R;
2573
+ }
2574
+ function S(m, I) {
2575
+ var R = "";
2576
+ if (m && (R = y.call(m)), m && (R === "[object ArrayBuffer]" || m.buffer && y.call(m.buffer) === "[object ArrayBuffer]")) {
2577
+ var T = void 0, M = "__lfsc__:";
2578
+ m instanceof ArrayBuffer ? (T = m, M += "arbf") : (T = m.buffer, R === "[object Int8Array]" ? M += "si08" : R === "[object Uint8Array]" ? M += "ui08" : R === "[object Uint8ClampedArray]" ? M += "uic8" : R === "[object Int16Array]" ? M += "si16" : R === "[object Uint16Array]" ? M += "ur16" : R === "[object Int32Array]" ? M += "si32" : R === "[object Uint32Array]" ? M += "ui32" : R === "[object Float32Array]" ? M += "fl32" : R === "[object Float64Array]" ? M += "fl64" : I(new Error("Failed to get type for BinaryArray"))), I(M + h(T));
2579
+ } else if (R === "[object Blob]") {
2580
+ var $ = new FileReader();
2581
+ $.onload = function() {
2582
+ var X = "~~local_forage_type~" + m.type + "~" + h(this.result);
2583
+ I("__lfsc__:blob" + X);
2584
+ }, $.readAsArrayBuffer(m);
2585
+ } else try {
2586
+ I(JSON.stringify(m));
2587
+ } catch (X) {
2588
+ console.error("Couldn't convert value into a JSON string: ", m), I(null, X);
2589
+ }
2590
+ }
2591
+ function P(m) {
2592
+ if (m.substring(0, f) !== "__lfsc__:") return JSON.parse(m);
2593
+ var I = m.substring(A), R = m.substring(f, A), T;
2594
+ if (R === "blob" && p.test(I)) {
2595
+ var M = I.match(p);
2596
+ T = M[1], I = I.substring(M[0].length);
2597
+ }
2598
+ var $ = g(I);
2599
+ switch (R) {
2600
+ case "arbf":
2601
+ return $;
2602
+ case "blob":
2603
+ return a([$], { type: T });
2604
+ case "si08":
2605
+ return new Int8Array($);
2606
+ case "ui08":
2607
+ return new Uint8Array($);
2608
+ case "uic8":
2609
+ return new Uint8ClampedArray($);
2610
+ case "si16":
2611
+ return new Int16Array($);
2612
+ case "ur16":
2613
+ return new Uint16Array($);
2614
+ case "si32":
2615
+ return new Int32Array($);
2616
+ case "ui32":
2617
+ return new Uint32Array($);
2618
+ case "fl32":
2619
+ return new Float32Array($);
2620
+ case "fl64":
2621
+ return new Float64Array($);
2622
+ default:
2623
+ throw new Error("Unkown type: " + R);
2624
+ }
2625
+ }
2626
+ function k(m) {
2627
+ var I, R;
2628
+ if (m === null || typeof m != "object" || "isActiveClone" in m) return m;
2629
+ var T = m instanceof Date ? new Date(m) : m.constructor();
2630
+ try {
2631
+ for (var M = i(Object.keys(m)), $ = M.next(); !$.done; $ = M.next()) {
2632
+ var X = $.value;
2633
+ Object.prototype.hasOwnProperty.call(m, X) && (m.isActiveClone = null, T[X] = k(m[X]), delete m.isActiveClone);
2634
+ }
2635
+ } catch (ee) {
2636
+ I = { error: ee };
2637
+ } finally {
2638
+ try {
2639
+ $ && !$.done && (R = M.return) && R.call(M);
2640
+ } finally {
2641
+ if (I) throw I.error;
2642
+ }
2643
+ }
2644
+ return T;
2645
+ }
2646
+ function F(m, I) {
2647
+ return (m.name || I.name) + "/" + (m.storeName || I.storeName) + "/";
2648
+ }
2649
+ function O(m, I) {
2650
+ I && m.then(function(R) {
2651
+ I(null, R);
2652
+ }, function(R) {
2653
+ I(R);
2654
+ });
2655
+ }
2656
+ function Y() {
2657
+ for (var m = [], I = 0; I < arguments.length; I++) m[I] = arguments[I];
2658
+ if (arguments.length && typeof arguments[arguments.length - 1] == "function") return arguments[arguments.length - 1];
2659
+ }
2660
+ function q(m, I) {
2661
+ var R = this;
2662
+ if (I = Y.apply(this, arguments), m = typeof m != "function" && m || {}, !m.name) {
2663
+ var T = this.config();
2664
+ m.name = m.name || T.name, m.storeName = m.storeName || T.storeName;
2665
+ }
2666
+ var M;
2667
+ return m.name ? M = new Promise(function($) {
2668
+ m.storeName ? $(F(m, R._defaultConfig)) : $(m.name + "/");
2669
+ }) : M = Promise.reject("Invalid arguments"), { promise: M, callback: I };
2670
+ }
2671
+ function V(m) {
2672
+ return typeof m != "string" && (console.warn(m + " used as a key, but it is not a string."), m = String(m)), m;
2673
+ }
2674
+ var le = { bufferToString: h, deserialize: P, serialize: S, stringToBuffer: g }, N = {}, j = (function() {
2675
+ function m(I) {
2676
+ this.kp = I, this.data = {};
2677
+ }
2678
+ return m.resolve = function(I) {
2679
+ return N[I] || (N[I] = new m(I)), N[I];
2680
+ }, m.prototype.clear = function() {
2681
+ this.data = {};
2682
+ }, m.prototype.drop = function() {
2683
+ this.clear(), delete N[this.kp];
2684
+ }, m.prototype.get = function(I) {
2685
+ return this.data[I];
2686
+ }, m.prototype.key = function(I) {
2687
+ return this.keys()[I];
2688
+ }, m.prototype.keys = function() {
2689
+ return Object.keys(this.data);
2690
+ }, m.prototype.rm = function(I) {
2691
+ delete this.data[I];
2692
+ }, m.prototype.set = function(I, R) {
2693
+ this.data[I] = R;
2694
+ }, m;
2695
+ })();
2696
+ function D(m) {
2697
+ var I = m ? k(m) : {}, R = F(I, this._defaultConfig), T = j.resolve(R);
2698
+ return this._dbInfo = I, this._dbInfo.serializer = le, this._dbInfo.keyPrefix = R, this._dbInfo.mStore = T, Promise.resolve();
2699
+ }
2700
+ function G(m) {
2701
+ var I = this, R = this.ready().then(function() {
2702
+ I._dbInfo.mStore.clear();
2703
+ });
2704
+ return O(R, m), R;
2705
+ }
2706
+ function Q(m, I) {
2707
+ var R = q.apply(this, arguments), T = R.promise, M = R.callback, $ = T.then(function(X) {
2708
+ j.resolve(X).drop();
2709
+ });
2710
+ return O($, M), T;
2711
+ }
2712
+ function re(m, I) {
2713
+ var R = this;
2714
+ m = V(m);
2715
+ var T = this.ready().then(function() {
2716
+ var M = R._dbInfo.mStore.get(m);
2717
+ return M == null ? null : R._dbInfo.serializer.deserialize(M);
2718
+ });
2719
+ return O(T, I), T;
2720
+ }
2721
+ function oe(m, I) {
2722
+ var R = this, T = this.ready().then(function() {
2723
+ for (var M = R._dbInfo.mStore, $ = M.keys(), X = 0; X < $.length; X++) {
2724
+ var ee = M.get($[X]);
2725
+ if (ee && (ee = R._dbInfo.serializer.deserialize(ee)), ee = m(ee, $[X], X + 1), ee !== void 0) return ee;
2726
+ }
2727
+ });
2728
+ return O(T, I), T;
2729
+ }
2730
+ function ie(m, I) {
2731
+ var R = this, T = this.ready().then(function() {
2732
+ var M;
2733
+ try {
2734
+ M = R._dbInfo.mStore.key(m), M === void 0 && (M = null);
2735
+ } catch {
2736
+ M = null;
2737
+ }
2738
+ return M;
2739
+ });
2740
+ return O(T, I), T;
2741
+ }
2742
+ function ue(m) {
2743
+ var I = this, R = this.ready().then(function() {
2744
+ return I._dbInfo.mStore.keys();
2745
+ });
2746
+ return O(R, m), R;
2747
+ }
2748
+ function Ne(m) {
2749
+ var I = this.keys().then(function(R) {
2750
+ return R.length;
2751
+ });
2752
+ return O(I, m), I;
2753
+ }
2754
+ function Oe(m, I) {
2755
+ var R = this;
2756
+ m = V(m);
2757
+ var T = this.ready().then(function() {
2758
+ R._dbInfo.mStore.rm(m);
2759
+ });
2760
+ return O(T, I), T;
2761
+ }
2762
+ function je(m, I, R) {
2763
+ var T = this;
2764
+ m = V(m);
2765
+ var M = this.ready().then(function() {
2766
+ I === void 0 && (I = null);
2767
+ var $ = I;
2768
+ return new Promise(function(X, ee) {
2769
+ T._dbInfo.serializer.serialize(I, function(Te, Re) {
2770
+ if (Re) ee(Re);
2771
+ else try {
2772
+ T._dbInfo.mStore.set(m, Te), X($);
2773
+ } catch (xe) {
2774
+ ee(xe);
2775
+ }
2776
+ });
2777
+ });
2778
+ });
2779
+ return O(M, R), M;
2780
+ }
2781
+ var ye = !0;
2782
+ r._support = ye, r._driver = o, r._initStorage = D, r.clear = G, r.dropInstance = Q, r.getItem = re, r.iterate = oe, r.key = ie, r.keys = ue, r.length = Ne, r.removeItem = Oe, r.setItem = je, Object.defineProperty(r, "__esModule", { value: !0 });
2783
+ });
2784
+ }), bt = Gr(da()), mr = Gr(fa()), ha = { display: "none", position: "fixed", top: "0", right: "0", width: "100%", height: "100%", borderRadius: "0", border: "none", opacity: "0", zIndex: "-1" };
2785
+ function pa(e) {
2786
+ for (let [t, r] of Object.entries(ha)) e.style[t] = r;
2787
+ }
2788
+ function ma(e) {
2789
+ return !![].slice.call(document.querySelectorAll(".magic-iframe")).find((t) => t.src.includes(e));
2790
+ }
2791
+ var va = class extends oa {
2792
+ activeElement = null;
2793
+ iframe;
2794
+ relayerSrc = ut(`/send?params=${encodeURIComponent(this.parameters)}`, this.endpoint).href;
2795
+ init() {
2796
+ this.test = "hello", this.iframe = new Promise((e) => {
2797
+ let t = () => {
2798
+ if (ma(encodeURIComponent(this.parameters))) ui().log();
2799
+ else {
2800
+ let r = document.createElement("iframe");
2801
+ r.classList.add("magic-iframe"), r.dataset.magicIframeLabel = ut(this.endpoint).host, r.title = "Secure Modal", r.src = this.relayerSrc, r.allow = "clipboard-read; clipboard-write", pa(r), document.body.appendChild(r), e(r);
2802
+ }
2803
+ };
2804
+ ["loaded", "interactive", "complete"].includes(document.readyState) ? t() : window.addEventListener("load", t, !1);
2805
+ }), this.iframe.then((e) => {
2806
+ e instanceof HTMLIFrameElement && e.addEventListener("load", async () => {
2807
+ this.heartbeatDebounce();
2808
+ });
2809
+ }), window.addEventListener("message", (e) => {
2810
+ if (e.origin === this.endpoint && e.data.msgType && (e.data.msgType.includes(we.MAGIC_PONG) && (this.lastPongTime = Date.now()), e.data && this.messageHandlers.size)) {
2811
+ e.data.response = e.data.response ?? {}, this.stopHeartBeat();
2812
+ for (let t of this.messageHandlers.values()) t(e);
2813
+ }
2814
+ }), window.addEventListener("beforeunload", () => {
2815
+ this.stopHeartBeat();
2816
+ });
2817
+ }
2818
+ async showOverlay() {
2819
+ let e = await this.iframe;
2820
+ e.style.display = "block", e.style.zIndex = "2147483647", e.style.opacity = "1", this.activeElement = document.activeElement, e.focus();
2821
+ }
2822
+ async hideOverlay() {
2823
+ let e = await this.iframe;
2824
+ e.style.display = "none", e.style.zIndex = "-1", e.style.opacity = "0", this.activeElement?.focus && this.activeElement.focus(), this.activeElement = null;
2825
+ }
2826
+ async _post(e) {
2827
+ let t = await this.iframe;
2828
+ if (t && t.contentWindow) t.contentWindow.postMessage(e, this.endpoint);
2829
+ else throw Ar();
2830
+ }
2831
+ async checkRelayerExistsInDOM() {
2832
+ let e = await this.iframe;
2833
+ return !e || !e.contentWindow ? !1 : !![].slice.call(document.querySelectorAll(".magic-iframe")).find((t) => t.src.includes(encodeURIComponent(this.parameters)));
2834
+ }
2835
+ async reloadRelayer() {
2836
+ let e = await this.iframe;
2837
+ if (this.stopHeartBeat(), !e) {
2838
+ this.init(), console.warn("Magic SDK: Modal lost, re-initiating");
2839
+ return;
2840
+ }
2841
+ if (!e.contentWindow) {
2842
+ document.body.appendChild(e), console.warn("Magic SDK: Modal did not append in the iframe, re-initiating");
2843
+ return;
2844
+ }
2845
+ e && (e.src = this.relayerSrc);
2846
+ }
2847
+ }, ya = oi(Yi, { platform: "web", sdkName: "magic-sdk", version: "30.0.0", defaultEndpoint: "https://auth.magic.link/", ViewController: va, configureStorage: async () => {
2848
+ let e = bt.default.createInstance({ name: "MagicAuthLocalStorageDB", storeName: "MagicAuthLocalStorage" });
2849
+ return await e.defineDriver(mr), await e.setDriver([bt.default.INDEXEDDB, bt.default.LOCALSTORAGE, mr._driver]), e;
2850
+ } });
2851
+ class Wr {
2852
+ constructor(t, r = this) {
2853
+ this.endpoint = t, this.api = r;
2854
+ }
2855
+ async stdPGET(t, r, o, i = {}) {
2856
+ const a = await fetch(this.endpoint + r, {
2857
+ method: t,
2858
+ headers: {
2859
+ "Content-Type": "application/json",
2860
+ // Include credentials (cookies) in the request
2861
+ Accept: "application/json",
2862
+ ...i
2863
+ },
2864
+ body: o ? JSON.stringify(o) : null,
2865
+ credentials: "include"
2866
+ // This ensures cookies are sent with the request
2867
+ });
2868
+ return this.withResp(a);
2869
+ }
2870
+ async withResp(t) {
2871
+ if (!t.ok) {
2872
+ const r = await t.json().catch(() => ({})), o = new Error("Network response was not ok");
2873
+ throw Object.assign(o, { response: t, data: r }), o;
2874
+ }
2875
+ return t.json().then((r) => ({ data: r, response: t }));
2876
+ }
2877
+ async post(t, r = {}) {
2878
+ return this.stdPGET("POST", t, r);
2879
+ }
2880
+ async get(t, r = {}) {
2881
+ return this.stdPGET("GET", t, void 0, r);
2882
+ }
2883
+ async loginWithMagicDid(t) {
2884
+ const { data: r } = await this.api.post("/v1/auth/login/did", { did: t });
2885
+ return r;
2886
+ }
2887
+ async loginWithWeb3WalletSignature(t) {
2888
+ const { data: r } = await this.api.post("/v1/auth/login/signature", t);
2889
+ return r;
2890
+ }
2891
+ async loginExtWithWeb3WalletSignature(t) {
2892
+ const { data: r } = await this.api.post("/v1/auth/login/ext-signature", t);
2893
+ return r;
2894
+ }
2895
+ // Logout of the backend with access token. Assumes user is currently logged in and has a cookie with the access token
2896
+ async logout(t) {
2897
+ await this.api.post("/v1/auth/logout", { accessToken: t }), await this.writePlayerEvent("player_logged_out");
2898
+ }
2899
+ // Use the cookie stored in the browser to get the user and save user model in state and local storage
2900
+ // This assumes that the user is logged to backend in and has a cookie jwt
2901
+ async getLoggedInUser(t) {
2902
+ const { data: r } = await this.api.get("/v1/auth/me", {
2903
+ Authorization: `Bearer ${t}`
2904
+ });
2905
+ return r;
2906
+ }
2907
+ // async loginPlayFabPlayer() {}
2908
+ /*async loginPlayFabPlayer() {
2909
+ try {
2910
+ // Get the user's playfab id from taunt api
2911
+ let id = null;
2912
+ if (!this.user && !this.user?.id) {
2913
+ id = this.getPlayfabAnonId()
2914
+ if (!id) {
2915
+ const { data: playFabResponse } = await this.api.get('/v1/auth/playfab', {})
2916
+ id = playFabResponse.playFabId
2917
+ this.setAnonPlayfabUserId(playFabResponse.playFabId);
2918
+ }
2919
+ } else {
2920
+ const { data: playFabResponse } = await this.api.get('/v1/auth/playfab', {})
2921
+ id = playFabResponse.playFabId
2922
+ }
2923
+ // Login with playfab via the unique id from taunt api
2924
+ const { data: playFabLoginResults } = await Axios.post(loginEndpoint, {
2925
+ CustomId: id,
2926
+ CreateAccount: true,
2927
+ titleId: playFabTitleId,
2928
+ })
2929
+ const playFabSession = JSON.stringify(playFabLoginResults.data)
2930
+ this.setPlayFabSession(playFabSession)
2931
+ }
2932
+ catch (error) {
2933
+ const err = error as AxiosError
2934
+ if (err?.response) {
2935
+ console.log(err.response.status, err.response.data)
2936
+ }
2937
+ else {
2938
+ console.log(error)
2939
+ }
2940
+ }
2941
+ }*/
2942
+ // async getCToken() {
2943
+ // try {
2944
+ // const url = "v1/claimr/token"
2945
+ // const { data } = await this.api.get<{ data: { token: string } }>(`${url}`)
2946
+ // this.claimrToken = data.data.token
2947
+ // this.setClaimrToken(this.claimrToken)
2948
+ // } catch (e) {
2949
+ // console.error(e)
2950
+ // }
2951
+ // }
2952
+ // setLastWalletConnection(lastWalletConnection: string) {
2953
+ // localStorage.setItem("lastWalletConnection", lastWalletConnection)
2954
+ // }
2955
+ // setRefId(ref = "") {
2956
+ // this.refId = ref
2957
+ // }
2958
+ // clearLocalAuthStorage() {
2959
+ // localStorage.removeItem("user")
2960
+ // localStorage.removeItem("refreshToken")
2961
+ // localStorage.removeItem("playFabSession")
2962
+ // this.user = null
2963
+ // }
2964
+ // setAccessToken(accessToken: string) {
2965
+ // localStorage.setItem("accessToken", accessToken)
2966
+ // }
2967
+ // setRefreshToken(refreshToken: string) {
2968
+ // localStorage.setItem("refreshToken", refreshToken)
2969
+ // }
2970
+ // setIsFirsTimeLogin(isFirstTimeLogin: string) {
2971
+ // localStorage.setItem("isFirstTimeLogin", isFirstTimeLogin)
2972
+ // }
2973
+ // setPlayFabSession(playFabSession: string) {
2974
+ // localStorage.setItem("playFabSession", playFabSession)
2975
+ // }
2976
+ // setAnonPlayfabUserId(id: string) {
2977
+ // localStorage.setItem("playfabAnonId", id)
2978
+ // }
2979
+ // setClaimrToken(token: string) {
2980
+ // localStorage.setItem("ctoken", token)
2981
+ // }
2982
+ // getAccessToken() {
2983
+ // return localStorage.getItem("accessToken")
2984
+ // }
2985
+ // getRefreshToken() {
2986
+ // return localStorage.getItem("refreshToken")
2987
+ // }
2988
+ // getPlayfabAnonId() {
2989
+ // return localStorage.getItem("playfabAnonId")
2990
+ // }
2991
+ // Write a playfab event. retryfIfLoginNeeded should not be set by caller. It's used for stopping recursive calls when login is needed.
2992
+ // If login is needed, for example, if the web browser has been open longer than playfab session timeout, we'll try to login again at most
2993
+ // one time. Then we'll retry the event.
2994
+ async writePlayerEvent(t, r = null, o = !0) {
2995
+ return console.log("writePlayerEvent", {
2996
+ eventName: t,
2997
+ eventData: r,
2998
+ retryIfLoginNeeded: o
2999
+ }), Promise.resolve();
3000
+ }
3001
+ }
3002
+ const ga = {
3003
+ rpcUrl: "https://polygon-rpc.com",
3004
+ // your ethereum, polygon, or optimism mainnet/testnet rpc URL
3005
+ chainId: 137
3006
+ };
3007
+ function Ea(e, t) {
3008
+ return new ya(e, {
3009
+ network: ga
3010
+ }).auth.loginWithEmailOTP({ email: t });
3011
+ }
3012
+ async function Ia(e, t, r) {
3013
+ const o = new Wr(e);
3014
+ try {
3015
+ const i = await Ea(t, r);
3016
+ if (!i) throw new Error("No DID returned");
3017
+ return console.log("Magic email OTP login", { did: i }), o.loginWithMagicDid(i);
3018
+ } catch (i) {
3019
+ throw console.error("Magic login error:", i), i;
3020
+ }
3021
+ }
3022
+ async function wa(e, t) {
3023
+ if (t = t || window.ethereum, !t) throw new Error("MetaMask provider not found");
3024
+ const r = await t.request({
3025
+ method: "eth_requestAccounts"
3026
+ });
3027
+ if (!r.length) throw new Error("No accounts returned");
3028
+ console.log("MetaMask", { accounts: r });
3029
+ const o = r[0], i = `${e}/v1/auth`, a = new Uint32Array(3), p = crypto.getRandomValues(a).toString(), f = await fetch(`${i}/nonce/login`, {
3030
+ method: "POST",
3031
+ body: JSON.stringify({ walletAddress: o, clientNonce: p }),
3032
+ headers: { "Content-Type": "application/json" }
3033
+ }).then((h) => h.text()), y = `Sign this message with your wallet to connect to Taunt Battleworld ::: ${JSON.stringify({ clientNonce: p, serverNonce: f })}`;
3034
+ let g;
3035
+ try {
3036
+ g = await t.request({
3037
+ method: "personal_sign",
3038
+ params: [y, o]
3039
+ });
3040
+ } catch {
3041
+ throw new Error("User denied message signature");
3042
+ }
3043
+ if (!g) throw new Error("No signature returned");
3044
+ return { walletAddress: o, message: y, signature: g };
3045
+ }
3046
+ async function _a(e, t) {
3047
+ const r = new Wr(e), { walletAddress: o, message: i, signature: a } = await wa(
3048
+ e,
3049
+ t
3050
+ );
3051
+ return r.loginWithWeb3WalletSignature({
3052
+ walletAddress: o,
3053
+ message: i,
3054
+ signature: a
3055
+ });
3056
+ }
3057
+ const Ta = ({
3058
+ children: e,
3059
+ tauntServiceEndpoint: t,
3060
+ magicKey: r
3061
+ }) => {
3062
+ const [o, i] = vr(), a = st(
3063
+ (f) => {
3064
+ if (!r) throw new Error("magicKey is required for OTP login");
3065
+ Ia(t, r, f).then(
3066
+ i
3067
+ );
3068
+ },
3069
+ [t]
3070
+ ), p = st(
3071
+ () => _a(t).then(i),
3072
+ [t]
3073
+ );
3074
+ return t ? /* @__PURE__ */ Le(
3075
+ yr.Provider,
3076
+ {
3077
+ value: { tauntServiceEndpoint: t, deets: o, otpMagicLogin: a, metamaskLogin: p },
3078
+ children: e
3079
+ }
3080
+ ) : /* @__PURE__ */ Le("div", { children: "tauntServiceEndpoint is required" });
3081
+ };
3082
+ export {
3083
+ Na as MagicEmailInput,
3084
+ Ra as MetaMaskButton,
3085
+ yr as TauntContext,
3086
+ Ta as TauntProvider,
3087
+ gr as useTaunt
3088
+ };
3089
+ //# sourceMappingURL=taunt-logins-ui-react.js.map