import { r as Xe, h, F as Fe, g as at, H as ot } from "../lazy/user-deposit-withdrawal-bFIIJONR.js";
const xe = "__WIDGET_GLOBAL_STYLE_CACHE__";
function Ie(e, t) {
  if (e) {
    const i = document.createElement("style");
    i.innerHTML = t, e.appendChild(i);
  }
}
function Ue(e, t) {
  if (!e || !t)
    return;
  const i = new URL(t);
  fetch(i.href).then((o) => o.text()).then((o) => {
    const p = document.createElement("style");
    p.innerHTML = o, e && e.appendChild(p);
  }).catch((o) => {
    console.error("There was an error while trying to load client styling from URL", o);
  });
}
function Ke(e, t, i, o = !1) {
  if (!window.emMessageBus)
    return;
  if (!("adoptedStyleSheets" in Document.prototype) || !o)
    return i = st(e, t), i;
  window[xe] || (window[xe] = {}), i = dt(e, t);
  const E = i.unsubscribe.bind(i), H = () => {
    if (window[xe][t]) {
      const $ = window[xe][t];
      $.refCount > 1 ? $.refCount = $.refCount - 1 : delete window[xe][t];
    }
    E();
  };
  return i.unsubscribe = H, i;
}
function st(e, t) {
  const i = document.createElement("style");
  return window.emMessageBus.subscribe(t, (o) => {
    e && (i.innerHTML = o, e.appendChild(i));
  });
}
function dt(e, t) {
  return window.emMessageBus.subscribe(t, (i) => {
    if (!e)
      return;
    const o = e.getRootNode(), p = window[xe];
    let E = p[t] && p[t].sheet;
    E ? p[t].refCount = p[t].refCount + 1 : (E = new CSSStyleSheet(), E.replaceSync(i), p[t] = {
      sheet: E,
      refCount: 1
    });
    const H = o.adoptedStyleSheets || [];
    H.includes(E) || (o.adoptedStyleSheets = [...H, E]);
  });
}
const lt = "en", Ze = {
  en: {
    popupMessage: "Please enter the security code received on your email address to perform the update.",
    popupMessageLastWarning: "If the next validation attempt is failed, you will be logged out and blocked temporarily.",
    minutes: "minutes",
    errorHeader: "Error",
    configError: "Unable to load OTP data. Please try again later.",
    otpHeading: "Enter OTP",
    resendOtp: "Resend OTP",
    submit: "Submit",
    close: "Close",
    invalidOtp: "The code you've sent is not valid. Please try again.",
    accountBlocked: "Too many attempts for OTP. Your account has been blocked for one hour.",
    submissionError: "Something went wrong. Please try again.",
    otpExpiredMessage: "Validation code has expired, please request a new one to continue.",
    otpDigit: "OTP digit",
    verifying: "Verifying...",
    otpVerified: "OTP Verified Successfully!"
  },
  ro: {
    popupMessage: "Introduceți codul de securitate primit pe adresa dvs. de e-mail pentru a efectua actualizarea.",
    popupMessageLastWarning: "Dacă următoarea încercare de validare eșuează, veți fi delogat și blocat temporar.",
    minutes: "minute",
    errorHeader: "Eroare",
    configError: "Nu s-a putut încărca datele OTP. Vă rugăm să încercați din nou mai târziu.",
    otpHeading: "Introduceți OTP",
    resendOtp: "Retrimitere OTP",
    submit: "Trimite",
    close: "Închide",
    invalidOtp: "Codul introdus nu este valid. Vă rugăm să încercați din nou.",
    accountBlocked: "Prea multe încercări de OTP. Contul dvs. a fost blocat timp de o oră.",
    submissionError: "Ceva a mers prost. Vă rugăm să încercați din nou.",
    otpExpiredMessage: "Codul de validare a expirat, vă rugăm să solicitați unul nou pentru a continua.",
    otpDigit: "Cifră OTP",
    verifying: "Se verifică...",
    otpVerified: "OTP verificat cu succes!"
  },
  fr: {
    popupMessage: "Veuillez entrer le code de sécurité reçu sur votre adresse e-mail pour effectuer la mise à jour.",
    popupMessageLastWarning: "Si la prochaine tentative de validation échoue, vous serez déconnecté et temporairement bloqué.",
    minutes: "minutes",
    errorHeader: "Erreur",
    configError: "Impossible de charger les données OTP. Veuillez réessayer plus tard.",
    otpHeading: "Entrez OTP",
    resendOtp: "Renvoyer OTP",
    submit: "Soumettre",
    close: "Fermer",
    invalidOtp: "Le code que vous avez saisi n’est pas valide. Veuillez réessayer.",
    accountBlocked: "Trop de tentatives OTP. Votre compte a été bloqué pendant une heure.",
    submissionError: "Quelque chose s'est mal passé. Veuillez réessayer.",
    otpExpiredMessage: "Le code de validation a expiré, veuillez en demander un nouveau pour continuer.",
    otpDigit: "Chiffre OTP",
    verifying: "Vérification...",
    otpVerified: "OTP vérifié avec succès!"
  },
  hu: {
    popupMessage: "Kérjük, adja meg az e-mail címére küldött biztonsági kódot a frissítés végrehajtásához.",
    popupMessageLastWarning: "Ha a következő érvényesítési kísérlet sikertelen, ki lesz jelentkeztetve és ideiglenesen letiltva.",
    minutes: "perc",
    errorHeader: "Hiba",
    configError: "Nem sikerült betölteni az OTP adatokat. Kérjük, próbálja újra később.",
    otpHeading: "OTP megadása",
    resendOtp: "Újraküldés",
    submit: "Beküldés",
    close: "Bezárás",
    invalidOtp: "A megadott kód érvénytelen. Kérjük, próbálja újra.",
    accountBlocked: "Túl sok OTP próbálkozás. A fiókja egy órára zárolva lett.",
    submissionError: "Valami hiba történt. Kérjük, próbálja újra.",
    otpExpiredMessage: "A megerősítő kód lejárt, kérjük, kérjen egy újat a folytatáshoz.",
    otpDigit: "OTP számjegy",
    verifying: "Ellenőrzés...",
    otpVerified: "OTP sikeresen ellenőrizve!"
  },
  tr: {
    popupMessage: "Güncellemeyi gerçekleştirmek için e-posta adresinize gelen güvenlik kodunu girin.",
    popupMessageLastWarning: "Bir sonraki doğrulama girişimi başarısız olursa, oturumunuz kapatılacak ve geçici olarak engelleneceksiniz.",
    minutes: "dakika",
    errorHeader: "Hata",
    configError: "OTP verisi yüklenemedi. Lütfen daha sonra tekrar deneyin.",
    otpHeading: "OTP Girin",
    resendOtp: "OTP'yi Yeniden Gönder",
    submit: "Gönder",
    close: "Kapat",
    invalidOtp: "Gönderdiğiniz kod geçersiz. Lütfen tekrar deneyin.",
    accountBlocked: "Çok fazla OTP denemesi yapıldı. Hesabınız bir saat boyunca kilitlendi.",
    submissionError: "Bir şeyler yanlış gitti. Lütfen tekrar deneyin.",
    otpExpiredMessage: "Doğrulama kodunun süresi doldu, devam etmek için lütfen yeni bir tane isteyin.",
    otpDigit: "OTP rakamı",
    verifying: "Doğrulanıyor...",
    otpVerified: "OTP başarıyla doğrulandı!"
  },
  el: {
    popupMessage: "Παρακαλώ εισάγετε τον κωδικό ασφαλείας που λάβατε στο email σας για να ολοκληρώσετε την ενημέρωση.",
    popupMessageLastWarning: "Αν η επόμενη προσπάθεια επικύρωσης αποτύχει, θα αποσυνδεθείτε και θα αποκλειστείτε προσωρινά.",
    minutes: "λεπτά",
    errorHeader: "Σφάλμα",
    configError: "Δεν ήταν δυνατή η φόρτωση των δεδομένων OTP. Παρακαλούμε προσπαθήστε ξανά αργότερα.",
    otpHeading: "Εισαγωγή OTP",
    resendOtp: "Αποστολή ξανά OTP",
    submit: "Υποβολή",
    close: "Κλείσιμο",
    invalidOtp: "Ο κωδικός που εισαγάγατε δεν είναι έγκυρος. Παρακαλώ προσπαθήστε ξανά.",
    accountBlocked: "Πάρα πολλές προσπάθειες OTP. Ο λογαριασμός σας έχει αποκλειστεί για μία ώρα.",
    submissionError: "Κάτι πήγε στραβά. Παρακαλώ προσπαθήστε ξανά.",
    otpExpiredMessage: "Ο κωδικός επαλήθευσης έχει λήξει, παρακαλώ ζητήστε έναν νέο για να συνεχίσετε.",
    otpDigit: "Ψηφίο OTP",
    verifying: "Επαλήθευση...",
    otpVerified: "Το OTP επαληθεύτηκε με επιτυχία!"
  },
  es: {
    popupMessage: "Por favor, introduzca el código de seguridad recibido en su correo electrónico para realizar la actualización.",
    popupMessageLastWarning: "Si el siguiente intento de validación falla, se cerrará tu sesión y serás bloqueado temporalmente.",
    minutes: "minutos",
    errorHeader: "Error",
    configError: "No se pudo cargar los datos del OTP. Por favor, inténtelo de nuevo más tarde.",
    otpHeading: "Introducir OTP",
    resendOtp: "Reenviar OTP",
    submit: "Enviar",
    close: "Cerrar",
    invalidOtp: "El código que ingresaste no es válido. Por favor, inténtalo de nuevo.",
    accountBlocked: "Demasiados intentos de OTP. Su cuenta ha sido bloqueada por una hora.",
    submissionError: "Algo salió mal. Por favor, inténtelo de nuevo.",
    otpExpiredMessage: "El código de validación ha expirado, por favor solicite uno nuevo para continuar.",
    otpDigit: "Dígito OTP",
    verifying: "Verificando...",
    otpVerified: "¡OTP verificado exitosamente!"
  },
  pt: {
    popupMessage: "Por favor, insira o código de segurança recebido no seu e-mail para realizar a atualização.",
    popupMessageLastWarning: "Se a próxima tentativa de validação falhar, será desconectado e temporariamente bloqueado.",
    minutes: "minutos",
    errorHeader: "Erro",
    configError: "Não foi possível carregar os dados do OTP. Tente novamente mais tarde.",
    otpHeading: "Insira o OTP",
    resendOtp: "Reenviar OTP",
    submit: "Enviar",
    close: "Fechar",
    invalidOtp: "O código inserido não é válido. Por favor, tente novamente.",
    accountBlocked: "Muitas tentativas de OTP. Sua conta foi bloqueada por uma hora.",
    submissionError: "Algo deu errado. Por favor, tente novamente.",
    otpExpiredMessage: "O código de validação expirou, por favor solicite um novo para continuar.",
    otpDigit: "Dígito OTP",
    verifying: "Verificando...",
    otpVerified: "OTP verificado com sucesso!"
  },
  hr: {
    popupMessage: "Unesite sigurnosni kod primljen na vašu e-mail adresu kako biste izvršili ažuriranje.",
    popupMessageLastWarning: "Ako sljedeći pokušaj provjere ne uspije, bit ćete odjavljeni i privremeno blokirani.",
    minutes: "minute",
    errorHeader: "Greška",
    configError: "Nije moguće učitati OTP podatke. Pokušajte ponovno kasnije.",
    otpHeading: "Unesite OTP",
    resendOtp: "Ponovno pošalji OTP",
    submit: "Pošalji",
    close: "Zatvori",
    invalidOtp: "Uneseni kod nije valjan. Molimo pokušajte ponovo.",
    accountBlocked: "Previše pokušaja unosa OTP-a. Vaš račun je blokiran na jedan sat.",
    submissionError: "Nešto je pošlo po zlu. Molimo pokušajte ponovo.",
    otpExpiredMessage: "Kod za potvrdu je istekao, molimo zatražite novi kako biste nastavili.",
    otpDigit: "OTP znamenka",
    verifying: "Provjera...",
    otpVerified: "OTP uspješno potvrđen!"
  },
  de: {
    popupMessage: "Bitte geben Sie den Sicherheitscode ein, den Sie an Ihre E-Mail-Adresse erhalten haben, um das Update durchzuführen.",
    popupMessageLastWarning: "Wenn der nächste Validierungsversuch fehlschlägt, werden Sie abgemeldet und vorübergehend gesperrt.",
    minutes: "Minuten",
    errorHeader: "Fehler",
    configError: "OTP-Daten konnten nicht geladen werden. Bitte versuchen Sie es später erneut.",
    otpHeading: "OTP eingeben",
    resendOtp: "OTP erneut senden",
    submit: "Absenden",
    close: "Schließen",
    invalidOtp: "Der eingegebene Code ist ungültig. Bitte versuchen Sie es erneut.",
    accountBlocked: "Zu viele OTP-Versuche. Ihr Konto wurde für eine Stunde gesperrt.",
    submissionError: "Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut.",
    otpExpiredMessage: "Der Bestätigungscode ist abgelaufen, bitte fordern Sie einen neuen an, um fortzufahren.",
    otpDigit: "OTP-Ziffer",
    verifying: "Wird geprüft...",
    otpVerified: "OTP erfolgreich verifiziert!"
  },
  "es-mx": {
    popupMessage: "Por favor, ingrese el código de seguridad recibido en su correo electrónico para realizar la actualización.",
    popupMessageLastWarning: "Si el siguiente intento de validación falla, se cerrará tu sesión y serás bloqueado temporalmente.",
    minutes: "minutos",
    errorHeader: "Error",
    configError: "No se pudieron cargar los datos del OTP. Inténtelo de nuevo más tarde.",
    otpHeading: "Ingrese OTP",
    resendOtp: "Reenviar OTP",
    submit: "Enviar",
    close: "Cerrar",
    invalidOtp: "El código que ingresó no es válido. Inténtelo de nuevo.",
    accountBlocked: "Demasiados intentos de OTP. Su cuenta ha sido bloqueada por una hora.",
    submissionError: "Algo salió mal. Por favor, inténtelo de nuevo.",
    otpExpiredMessage: "El código de validación ha expirado, por favor solicite uno nuevo para continuar.",
    otpDigit: "Dígito OTP",
    verifying: "Verificando...",
    otpVerified: "¡OTP verificado exitosamente!"
  },
  "pt-br": {
    popupMessage: "Por favor, digite o código de segurança recebido no seu e-mail para realizar a atualização.",
    popupMessageLastWarning: "Se a próxima tentativa de validação falhar, você será desconectado e bloqueado temporariamente.",
    minutes: "minutos",
    errorHeader: "Erro",
    configError: "Não foi possível carregar os dados do OTP. Tente novamente mais tarde.",
    otpHeading: "Digite o OTP",
    resendOtp: "Reenviar OTP",
    submit: "Enviar",
    close: "Fechar",
    invalidOtp: "O código informado não é válido. Tente novamente.",
    accountBlocked: "Muitas tentativas de OTP. Sua conta foi bloqueada por uma hora.",
    submissionError: "Algo deu errado. Por favor, tente novamente.",
    otpExpiredMessage: "O código de validação expirou, por favor solicite um novo para continuar.",
    otpDigit: "Dígito OTP",
    verifying: "Verificando...",
    otpVerified: "OTP verificado com sucesso!"
  }
}, qe = (e) => new Promise((t) => {
  fetch(e).then((i) => i.json()).then((i) => {
    Object.keys(i).forEach((o) => {
      for (let p in i[o])
        Ze[o][p] = i[o][p];
    }), t(!0);
  });
}), R = (e, t) => {
  const i = t;
  return Ze[i !== void 0 ? i : lt][e];
}, ut = ".OtpPopupOverlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--emw--color-overlay, rgba(0, 0, 0, 0.5));display:flex;align-items:center;justify-content:center}.OtpButton{font-family:var(--emw--button-typography);border:var(--emw--button-border, none);border-radius:var(--emw--button-border-radius, 3px);border-color:var(--emw--button-border-color);background-color:var(--emw--button-background-color, var(--emw--color-primary, #007bff));color:var(--emw--button-typography, var(--emw--color-white, #fff));padding:10px 20px;cursor:pointer;font-size:16px}.OtpButton.error{background:var(--emw--color-error, #dd3434)}.OtpPopupContent{position:relative;background:var(--emw--color-white, #fff);padding:20px;border-radius:5px;text-align:center;min-width:25%;min-height:200px;display:flex;flex-direction:column;justify-content:center;gap:20px}.OtpPopupContent .OtpError{display:flex;flex-direction:column;gap:20px;align-items:center}.OtpPopupContent .OtpError .OtpErrorHeader{display:flex;justify-content:center;gap:5px}.OtpPopupContent .OtpError h2{margin:0}.OtpPopupContent .OtpError svg{width:25px;fill:var(--emw--color-error, #dd3434)}.OtpFieldWrapper{display:flex;flex-direction:column;gap:10px}.OtpFieldWrapper h2{margin:0}.OtpField{display:flex;justify-content:center}.OtpField input{width:24px;font-size:32px;padding:10px;text-align:center;border-radius:5px;margin:2px;border:2px solid var(--emw--otp-border-color, #55525c);font-weight:bold;outline:none;transition:all 0.1s}.OtpField input.space{margin-right:1rem !important}.OtpField input:focus{border:2px solid var(--emw--color-primary, #007bff);box-shadow:0 0 2px 2px var(--emw--color-primary, #007bff)}.OtpActionButtons{display:flex;justify-content:space-between}.OtpErrorMessage{color:var(--emw--color-error, #dd3434);font-weight:bold}.OtpLoaderContainer{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.OtpLoader{width:48px;height:48px;border:5px solid var(--emw--color-secondary, #b3d8ff);border-bottom-color:var(--emw--color-primary, #007bff);border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite}.OtpSuccessOverlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(var(--emw--color-green-rgb, 255, 255, 255), 0.95);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;z-index:10}@keyframes rotation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}", ct = ut, ht = class {
  /**
   * Watch for changes in the translation URL and fetch new translations
   */
  handleNewTranslations() {
    qe(this.translationUrl);
  }
  /**
   * Watch for changes in the client styling and apply the new styling
   *
   * @param newValue - new client styling
   * @param oldValue - previous client styling
   */
  handleClientStylingChange(e, t) {
    e !== t && Ie(this.el, this.clientStyling);
  }
  /**
   * Watch for changes in the client styling URL and fetch the new CSS.
   *
   * @param newValue - new client styling URL
   * @param oldValue - previous client styling URL
   */
  handleClientStylingUrlChange(e, t) {
    e != t && this.clientStylingUrl && Ue(this.stylingContainer, this.clientStylingUrl);
  }
  /**
   * Handles the custom `stepUpAuthRequired` event fired on the window.
   * This event typically signals that step-up authentication is required.
   *
   * @param event - A CustomEvent that contains authentication-related details.
   *
   * Expected `event.detail` structure:
   * {
   *   'x-step-up-required': true,
   *   'x-step-up-token': string,
   *   'flow': string
   * }
   */
  async handleStepUpAuthEvent(e) {
    var t;
    if (!((t = e.detail) === null || t === void 0) && t["x-step-up-required"]) {
      if (this.hasConfigErrors = !1, this.hasErrors = !1, this.errorMessage = "", this.showPopup = !0, this.token = e.detail["x-step-up-token"], this.flow = e.detail.flow, !this.token || !this.flow) {
        this.isLoading = !1, this.hasConfigErrors = !0, this.errorMessage = R("configError", this.language);
        return;
      }
      await this.getConfig();
    }
  }
  /**
   * Listens for the global 'closePopup' event to close the popup manually.
   */
  handleCloseWidget() {
    this.countdownTimer && (clearInterval(this.countdownTimer), this.countdownTimer = null), this.hasErrors = !1, this.hasConfigErrors = !1, this.errorMessage = "", this.showPopup = !1, this.isLastWarning = !1;
  }
  /**
   * Class constructor
   */
  constructor(e) {
    Xe(this, e), this.otpInputs = [], this.countdownTimer = null, this.expirationTimestamp = 0, this.mbSource = void 0, this.clientStyling = void 0, this.clientStylingUrl = void 0, this.language = "en", this.endpoint = void 0, this.userSession = void 0, this.translationUrl = "", this.mode = "numeric", this.showPopup = !1, this.otp = void 0, this.isLoading = !0, this.config = null, this.timeLeft = 0, this.expirationTime = "", this.serverTime = "", this.hasErrors = !1, this.hasConfigErrors = !1, this.errorMessage = "", this.token = "", this.flow = "", this.showResendOtp = !1, this.isLastWarning = !1, this.inputDisabled = !1, this.isValidating = !1, this.isSuccess = !1, this.shakeError = !1, this.handleResendOtp = this.handleResendOtp.bind(this), this.submitOtp = this.submitOtp.bind(this), this.handleCloseWidget = this.handleCloseWidget.bind(this), this.manualClosePopup = this.manualClosePopup.bind(this);
  }
  /**
     * Fetches OTP configuration from the endpoint.
     * Updates the OTP state, expiration time, and starts the countdown timer.
     * Handles specific errors like max attempts exceeded by closing the widget.
     */
  async getConfig() {
    if (this.endpoint)
      try {
        const e = new URL(`/api/v1/mfa/challenge/${this.token}/config`, this.endpoint);
        this.isLoading = !0;
        const t = await fetch(e.href), i = await t.json();
        if (t.ok)
          this.config = i, this.otp = Array(this.config.inputLength).fill(""), this.isLoading = !1, this.showResendOtp = !1, this.expirationTime = this.config.expirationTime, this.serverTime = this.config.serverTime, this.config.numberOfValidateAttempts !== 0 && (this.hasErrors = !0, this.errorMessage = R("invalidOtp", this.language)), this.config.numberOfValidateAttempts === this.config.maxValidationAttempts - 1 && (this.isLastWarning = !0), this.calculateTimeLeft(), this.startCountdown();
        else if (i && i.details === "gm.twofa.token_max_attempts_exceeded")
          this.handleCloseWidget();
        else {
          const o = i && i.message || `Failed to load config. Status: ${t.status}`;
          throw new Error(o);
        }
      } catch (e) {
        this.isLoading = !1, this.hasConfigErrors = !0, this.errorMessage = R("configError", this.language), console.error("Error loading 2FA config:", e);
      }
  }
  /**
   * Calculates the remaining time for OTP expiration.
   * Adjusts client time based on server offset.
   */
  calculateTimeLeft() {
    const e = new Date(this.expirationTime), t = new Date(this.serverTime), i = /* @__PURE__ */ new Date(), o = t.getTime() - i.getTime();
    this.expirationTimestamp = e.getTime() - o;
    const p = Date.now(), E = Math.max(0, Math.floor((this.expirationTimestamp - p) / 1e3));
    this.timeLeft = E;
  }
  /**
   * Starts a 1-second interval countdown for OTP expiration.
   * Updates `timeLeft` state. Enables "Resend OTP" when expired.
   */
  startCountdown() {
    this.countdownTimer && clearInterval(this.countdownTimer), this.countdownTimer = setInterval(() => {
      const e = Date.now(), t = Math.max(0, Math.floor((this.expirationTimestamp - e) / 1e3));
      this.timeLeft = t, this.inputDisabled = t <= 0, t <= 0 && (clearInterval(this.countdownTimer), this.countdownTimer = null, this.showResendOtp = !0, this.hasErrors = !1, this.isLastWarning = !1);
    }, 1e3);
  }
  /**
   * Formats time from seconds to MM:SS format.
   *
   * @param seconds - The time in seconds.
   * @returns A formatted string representing minutes and seconds.
   */
  formatTime(e) {
    const t = Math.floor(e / 60), i = e % 60;
    return `${t.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}`;
  }
  /**
   * Sets a reference to the OTP inputs.
   *
   * @param el - The OTP input container element.
   */
  setOtpInputRef(e, t) {
    e && (this.otpInputs[t] = e);
  }
  /**
   * update otp state
   * by creating new array and assign to state, to make the UI trigger
   *
   * @param index - The index of the input field being updated.
   * @param value - The inputted value.
   */
  updateOtpState(e, t) {
    const i = [...this.otp];
    i[e] = t.toUpperCase(), this.otp = i;
  }
  /**
   * Handles pasting an OTP directly into the input fields.
   * Extracts characters from the clipboard and populates the OTP fields.
   *
   * @param e - The clipboard event containing pasted data.
   */
  handleOnPasteOtp(e) {
    var t, i, o;
    e.preventDefault();
    const E = (((i = (t = e.clipboardData) === null || t === void 0 ? void 0 : t.getData("text")) === null || i === void 0 ? void 0 : i.trim()) || "").slice(0, this.config.inputLength).split("");
    this.otp = [...E, ...Array(this.config.inputLength - E.length).fill("")], (o = this.otpInputs[E.length]) === null || o === void 0 || o.focus(), E.length === this.config.inputLength && this.submitOtp();
  }
  /**
   * Handles OTP input changes.
   * Allows only alphanumeric characters and moves focus to the next input field.
   *
   * @param e - The input event.
   * @param index - The index of the input field being updated.
   */
  handleOtpInput(e, t) {
    const i = e.target, o = i.value;
    if (/^[a-z0-9]$/i.test(o)) {
      this.updateOtpState(t, o);
      const p = this.otpInputs[t + 1];
      p?.focus();
    }
    i.value = "";
  }
  /**
   * Handles key press events for OTP inputs.
   * Supports backspace for deleting characters and moving focus to the previous input field.
   *
   * @param e - The keyboard event.
   * @param index - The index of the input field.
   */
  handleKeyDown(e, t) {
    const i = e.key, o = e.ctrlKey || e.metaKey;
    if (/^[a-z0-9]$/i.test(i)) {
      if (o && i.toLowerCase() === "v")
        return;
      e.preventDefault(), this.updateOtpState(t, i);
      const p = this.otpInputs[t + 1];
      p?.focus();
    } else if (i === "Backspace") {
      e.preventDefault(), this.otp[t] !== "" && this.updateOtpState(t, "");
      const p = this.otpInputs[t - 1];
      p?.focus();
    }
  }
  /**
   * Handles resending the OTP when time expires.
   */
  handleResendOtp() {
    const e = new CustomEvent("otpResendRequested");
    window.dispatchEvent(e);
  }
  /**
   * Submits the entered OTP for validation.
   * Sends a request to the endpoint with the OTP and handles the response.
   */
  async submitOtp() {
    if (this.otp.join("").length !== this.config.inputLength) {
      this.hasErrors = !0, this.errorMessage = R("invalidOtp", this.language), this.triggerShakeAnimation();
      return;
    }
    if (this.timeLeft <= 0) {
      this.hasErrors = !0, this.errorMessage = R("otpExpiredMessage", this.language), this.triggerShakeAnimation(), await this.getConfig();
      return;
    }
    this.isLoading = !0, this.isValidating = !0, this.hasErrors = !1, this.errorMessage = "";
    const e = this.otp.join("");
    this.flow === "stateless" && this.handleOtpStateless(e), this.flow === "stateful" && await this.handleOtpStateful(e);
  }
  /**
   * Handle stateless mode where we just need to send the otp value, max attempts and number of validated attempts
   * and the template will recall the endpoint with X-Step-Up-Token and X-Step-Up-Value (otp value)
   *
   * @param otpValue - Otp code.
   */
  handleOtpStateless(e) {
    window.dispatchEvent(new CustomEvent("otpSubmitted", {
      detail: {
        code: e,
        maxAttempts: this.config.maxValidationAttempts,
        validatedAttempts: this.config.numberOfValidateAttempts
      }
    }));
  }
  /**
   * Handle the stateful mode where we need to call validate endpoint.
   *
   * @param otpValue - Otp code.
   */
  async handleOtpStateful(e) {
    const t = new URL(`/api/v1/mfa/challenge/${this.token}/validate`, this.endpoint);
    t.searchParams.append("input", e);
    try {
      const i = await fetch(t.href, { method: "POST" });
      if (i.status === 200) {
        this.handleSuccess();
        return;
      }
      const p = (await i.json()).message || "";
      if (p.toLowerCase().includes("expired")) {
        this.hasErrors = !0, this.errorMessage = R("otpExpiredMessage", this.language), this.triggerShakeAnimation(), await this.getConfig();
        return;
      }
      throw new Error(p);
    } catch (i) {
      if (i.message === "gm.multifactorauthentication.challenge_internal_server_error" || i.message === "gm.multifactorauthentication.internal_server_error") {
        if (this.config.numberOfValidateAttempts === this.config.maxValidationAttempts - 1) {
          window.dispatchEvent(new CustomEvent("otpSetTimeout")), window.postMessage({
            type: "WidgetNotification",
            data: {
              type: "error",
              message: R("accountBlocked", this.language)
            }
          }, window.location.href), this.handleCloseWidget();
          return;
        }
        this.hasErrors = !0, this.errorMessage = R("invalidOtp", this.language), this.triggerShakeAnimation(), this.getConfig();
        return;
      }
      console.error("OTP submission failed:", i), this.hasErrors = !0, this.errorMessage = R("submissionError", this.language), this.triggerShakeAnimation();
    } finally {
      this.isLoading = !1, this.isValidating = !1;
    }
  }
  /**
   * Handles successful OTP validation.
   * Closes the popup upon successful authentication.
   */
  async handleSuccess() {
    this.isSuccess = !0, await new Promise((e) => setTimeout(e, 1200)), window.dispatchEvent(new CustomEvent("otpSuccess", {
      detail: { message: "User successfully authenticated" }
    })), this.handleCloseWidget();
  }
  /**
   * Triggers shake animation on OTP field wrapper for error feedback
   */
  triggerShakeAnimation() {
    this.shakeError = !0, setTimeout(() => {
      this.shakeError = !1;
    }, 650);
  }
  /**
   * Emits an event when the close button is pressed.
   */
  manualClosePopup() {
    window.dispatchEvent(new CustomEvent("manualClosePopup")), this.handleCloseWidget();
  }
  /**
   * Lifecycle method: Clean up event listeners when the component is removed
   */
  disconnectedCallback() {
    var e;
    this.countdownTimer && clearInterval(this.countdownTimer), (e = this.stylingSubscription) === null || e === void 0 || e.unsubscribe();
  }
  /**
   * Lifecycle method: Fetch translations on component load
   */
  async componentWillLoad() {
    this.translationUrl.length > 2 && await qe(this.translationUrl);
  }
  /**
   * Lifecycle method: Set up event listeners after the component is rendered
   */
  componentDidLoad() {
    this.stylingContainer && (window.emMessageBuss != null ? Ke(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription) : (this.clientStyling && Ie(this.stylingContainer, this.clientStyling), this.clientStylingUrl && Ue(this.stylingContainer, this.clientStylingUrl)));
  }
  /**
   * Renders the OTP authentication component.
   * Displays the OTP popup, input fields, timer, and action buttons.
   */
  render() {
    return h("div", { key: "767f774b7244dbe264590e32364f17d7fcde0fa5", ref: (e) => this.stylingContainer = e }, this.showPopup && h("div", { key: "ed8bd21c48b9afa91bca17568bd90dcb26d1d171", class: "OtpPopupOverlay" }, h("div", { key: "2047ade4a5f2d62576f15368c86359c0c88014f7", class: `OtpPopupContent ${this.shakeError ? "shake" : ""}` }, this.isLoading ? h("div", { class: "OtpLoaderContainer" }, h("span", { class: "OtpLoader" })) : this.hasConfigErrors ? h("div", { class: "OtpError" }, h("div", { class: "OtpErrorHeader" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512" }, h("path", { d: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z" })), h("h2", null, R("errorHeader", this.language))), h("p", null, this.errorMessage), h("button", { class: "OtpButton error", onClick: this.manualClosePopup, "aria-label": R("close", this.language) }, R("close", this.language))) : h(Fe, null, h("div", { class: "otp-description" }, this.showResendOtp ? h("p", { class: "OtpNoticeMessage", role: "alert" }, R("otpExpiredMessage", this.language)) : h(Fe, null, h("p", { class: this.isLastWarning ? "LastWarningMessage" : "" }, R(this.isLastWarning ? "popupMessageLastWarning" : "popupMessage", this.language)), this.hasErrors && h("p", { class: "OtpErrorMessage", role: "alert" }, this.errorMessage))), h("div", { class: "OtpFieldWrapper" }, h("h2", null, R("otpHeading", this.language)), h("div", { class: "OtpField" }, this.otp.map((e, t) => {
      const i = this.config.inputLength % 2 === 0 && t === this.config.inputLength / 2 - 1;
      return h("input", { key: t, ref: (o) => this.setOtpInputRef(o, t), id: `otp-input-${t}`, type: "text", inputmode: this.mode, pattern: this.mode === "numeric" ? "[0-9]" : void 0, class: `otp-box ${i ? "space" : ""} ${e ? "filled" : ""} ${this.hasErrors ? "error" : ""}`, maxLength: 1, value: e, onInput: (o) => this.handleOtpInput(o, t), onKeyDown: (o) => this.handleKeyDown(o, t), onPaste: (o) => this.handleOnPasteOtp(o), disabled: this.inputDisabled, autoComplete: "off", "aria-label": `${R("otpDigit", this.language)} ${t + 1}`, "aria-invalid": this.hasErrors });
    })), h("div", { class: "OtpTimerContainer" }, h("div", { class: `OtpTimer ${this.isLastWarning ? "warning" : ""} ${this.timeLeft < 60 ? "critical" : ""}`, role: "timer", "aria-live": "polite" }, h("svg", { class: "timer-icon", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512" }, h("path", { d: "M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z" })), h("span", { class: "timer-text" }, this.formatTime(this.timeLeft), " ", R("minutes", this.language))))), this.isSuccess && h("div", { class: "OtpSuccessOverlay" }, h("svg", { class: "success-icon", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512" }, h("path", { d: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z" })), h("span", null, R("otpVerified", this.language))), h("div", { class: "OtpActionButtons" }, this.showResendOtp ? h("button", { class: "OtpButton primary", onClick: this.handleResendOtp, disabled: this.isLoading, "aria-label": R("resendOtp", this.language) }, R("resendOtp", this.language)) : h("button", { class: `OtpButton primary ${this.isValidating ? "loading" : ""}`, onClick: this.submitOtp, disabled: this.otp.join("").length !== this.config.inputLength || this.isValidating || this.isLoading, "aria-label": R("submit", this.language), "aria-busy": this.isValidating }, this.isValidating ? h(Fe, null, h("span", { class: "button-spinner" }), h("span", { class: "button-text" }, R("verifying", this.language))) : h("span", { class: "button-text" }, R("submit", this.language))), h("button", { class: "OtpButton secondary", onClick: this.manualClosePopup, disabled: this.isValidating, "aria-label": R("close", this.language) }, R("close", this.language)))))));
  }
  get el() {
    return at(this);
  }
  static get watchers() {
    return {
      translationUrl: ["handleNewTranslations"],
      clientStyling: ["handleClientStylingChange"],
      clientStylingUrl: ["handleClientStylingUrlChange"]
    };
  }
};
ht.style = ct;
const pt = "en", ft = ["ro", "en", "fr", "hr", "en-us", "es-mx", "pt-br", "es", "de", "pt", "tr"], Qe = {
  en: {
    Deposit: "Deposit",
    Withdraw: "Withdraw",
    denyDeposit: "Please be informed that currently you are not allowed to initiate deposit transactions.",
    denyWithdrawal: "Please be informed that currently you are not allowed to initiate withdrawal transactions.",
    notFoundErrorCode: "Not found error code",
    errorCode21121: "Dear Player! Please be informed that currently you are allowed to initiate only withdrawal transactions from your player account. Error Code: 21121",
    errorCode21122: "Dear player! Please be informed that currently you are not allowed to initiate withdrawal transaction from your player account. Error Code: 21122",
    errorCode21123: "Dear player! Please be informed that currently you are not allowed to make a deposit to your player account. Error Code:21123"
  },
  "en-us": {
    Deposit: "Deposit",
    Withdraw: "Withdraw",
    denyDeposit: "Please be informed that currently you are not allowed to initiate deposit transactions.",
    denyWithdrawal: "Please be informed that currently you are not allowed to initiate withdrawal transactions.",
    notFoundErrorCode: "Not found error code",
    errorCode21121: "Dear Player! Please be informed that currently you are allowed to initiate only withdrawal transactions from your player account. Error Code: 21121",
    errorCode21122: "Dear player! Please be informed that currently you are not allowed to initiate withdrawal transaction from your player account. Error Code: 21122",
    errorCode21123: "Dear player! Please be informed that currently you are not allowed to make a deposit to your player account. Error Code:21123"
  },
  ro: {
    Deposit: "Depunere",
    Withdraw: "Retragere",
    denyDeposit: "Vă informăm că în prezent nu aveți permisiunea de a iniția tranzacții de depunere.",
    denyWithdrawal: "Vă informăm că în prezent nu aveți permisiunea de a iniția tranzacții de retragere.",
    notFoundErrorCode: "Cod de eroare negăsit",
    errorCode21122: "Stimate jucător! Vă informăm că în prezent nu aveți permisiunea de a iniția o tranzacție de retragere din contul dvs. de jucător. Cod de eroare: 21122",
    errorCode21123: "Stimate jucător! Vă informăm că în prezent nu aveți permisiunea de a efectua o depunere în contul dvs. de jucător. Cod de eroare: 21123"
  },
  fr: {
    Deposit: "Dépôt",
    Withdraw: "Retrait",
    denyDeposit: "Veuillez noter qu’actuellement vous n’êtes pas autorisé à initier des transactions de dépôt.",
    denyWithdrawal: "Veuillez noter qu’actuellement vous n’êtes pas autorisé à initier des transactions de retrait.",
    notFoundErrorCode: "Code d’erreur introuvable",
    errorCode21122: "Cher joueur ! Veuillez noter qu’actuellement vous n’êtes pas autorisé à initier une transaction de retrait depuis votre compte joueur. Code d’erreur : 21122",
    errorCode21123: "Cher joueur ! Veuillez noter qu’actuellement vous n’êtes pas autorisé à effectuer un dépôt sur votre compte joueur. Code d’erreur : 21123"
  },
  hr: {
    Deposit: "Uplata",
    Withdraw: "Isplata",
    denyDeposit: "Obavještavamo Vas da trenutno nemate mogućnost uplata.",
    denyWithdrawal: "Obavještavamo vas da trenutno niste ovlašteni za pokretanje transakcija isplate.",
    notFoundErrorCode: "Not found error code",
    errorCode21122: "Poštovani, trenutno nije moguće izvršiti isplatu sa Vašeg računa. Error Code: 21122",
    errorCode21123: "Poštovani, trenutno nije moguće izvršiti uplatu na Vaš račun. Error Code:21123"
  },
  de: {
    Deposit: "Einzahlung",
    Withdraw: "Abhebung",
    denyDeposit: "Bitte beachten Sie, dass Sie derzeit keine Einzahlungs-Transaktionen durchführen dürfen.",
    denyWithdrawal: "Bitte beachten Sie, dass Sie derzeit keine Abhebungs-Transaktionen durchführen dürfen.",
    notFoundErrorCode: "Fehlercode nicht gefunden",
    errorCode21122: "Sehr geehrter Spieler! Bitte beachten Sie, dass Sie derzeit keine Abhebung von Ihrem Spielerkonto durchführen dürfen. Fehlercode: 21122",
    errorCode21123: "Sehr geehrter Spieler! Bitte beachten Sie, dass Sie derzeit keine Einzahlung auf Ihr Spielerkonto durchführen dürfen. Fehlercode: 21123"
  },
  es: {
    Deposit: "Depósito",
    Withdraw: "Retiro",
    denyDeposit: "Le informamos que actualmente no tiene permitido iniciar transacciones de depósito.",
    denyWithdrawal: "Le informamos que actualmente no tiene permitido iniciar transacciones de retiro.",
    notFoundErrorCode: "Código de error no encontrado",
    errorCode21122: "¡Estimado jugador! Le informamos que actualmente no tiene permitido iniciar una transacción de retiro desde su cuenta de jugador. Código de error: 21122",
    errorCode21123: "¡Estimado jugador! Le informamos que actualmente no tiene permitido realizar un depósito en su cuenta de jugador. Código de error: 21123"
  },
  pt: {
    Deposit: "Depósito",
    Withdraw: "Levantamento",
    denyDeposit: "Informamos que atualmente não tem permissão para iniciar transações de depósito.",
    denyWithdrawal: "Informamos que atualmente não tem permissão para iniciar transações de levantamento.",
    notFoundErrorCode: "Código de erro não encontrado",
    errorCode21122: "Caro jogador! Informamos que atualmente não tem permissão para iniciar uma transação de levantamento na sua conta de jogador. Código de erro: 21122",
    errorCode21123: "Caro jogador! Informamos que atualmente não tem permissão para realizar um depósito na sua conta de jogador. Código de erro: 21123"
  },
  "es-mx": {
    Deposit: "Depósito",
    Withdraw: "Retiro",
    denyDeposit: "Le informamos que actualmente no tiene permitido iniciar transacciones de depósito.",
    denyWithdrawal: "Le informamos que actualmente no tiene permitido iniciar transacciones de retiro.",
    notFoundErrorCode: "Código de error no encontrado",
    errorCode21122: "¡Estimado jugador! Le informamos que actualmente no tiene permitido iniciar una transacción de retiro desde su cuenta de jugador. Código de error: 21122",
    errorCode21123: "¡Estimado jugador! Le informamos que actualmente no tiene permitido realizar un depósito en su cuenta de jugador. Código de error: 21123"
  },
  "pt-br": {
    Deposit: "Depósito",
    Withdraw: "Saque",
    denyDeposit: "Informamos que atualmente você não tem permissão para iniciar transações de depósito.",
    denyWithdrawal: "Informamos que atualmente você não tem permissão para iniciar transações de saque.",
    notFoundErrorCode: "Código de erro não encontrado",
    errorCode21122: "Caro jogador! Informamos que atualmente você não tem permissão para iniciar uma transação de saque em sua conta de jogador. Código de erro: 21122",
    errorCode21123: "Caro jogador! Informamos que atualmente você não tem permissão para realizar um depósito em sua conta de jogador. Código de erro: 21123"
  },
  tr: {
    Deposit: "Para Yatırma",
    Withdraw: "Para Çekme",
    denyDeposit: "Lütfen şu anda para yatırma işlemi başlatamayacağınızı bilgilerinize sunarız.",
    denyWithdrawal: "Lütfen şu anda para çekme işlemi başlatamayacağınızı bilgilerinize sunarız.",
    notFoundErrorCode: "Hata kodu bulunamadı",
    errorCode21122: "Değerli oyuncumuz! Lütfen şu anda oyuncu hesabınızdan para çekme işlemi başlatamayacağınızı bilgilerinize sunarız. Hata Kodu: 21122",
    errorCode21123: "Değerli oyuncumuz! Lütfen şu anda oyuncu hesabınıza para yatırma işlemi yapamayacağınızı bilgilerinize sunarız. Hata Kodu: 21123"
  }
}, gt = (e) => new Promise((t) => {
  fetch(e).then((i) => i.json()).then((i) => {
    Object.keys(i).forEach((o) => {
      for (let p in i[o])
        Qe[o][p] = i[o][p];
    }), t(!0);
  });
}), be = (e, t) => {
  const i = t;
  return Qe[i !== void 0 && ft.includes(i) ? i : pt][e];
}, mt = (e) => !!(e.toLowerCase().match(/android/i) || e.toLowerCase().match(/blackberry|bb/i) || e.toLowerCase().match(/iphone|ipad|ipod/i) || e.toLowerCase().match(/windows phone|windows mobile|iemobile|wpdesktop/i)), vt = (e) => {
  if (!e || typeof e != "string")
    return !1;
  const t = e.toLowerCase();
  return t.includes("voucher") || t.includes("offline");
};
var Ne = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, Je = { exports: {} };
(function(e, t) {
  (function(i, o) {
    e.exports = o();
  })(Ne, function() {
    var i = 1e3, o = 6e4, p = 36e5, E = "millisecond", H = "second", $ = "minute", M = "hour", z = "day", we = "week", W = "month", Ce = "quarter", q = "year", re = "date", v = "Invalid Date", Y = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, ue = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, ce = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(g) {
      var l = ["th", "st", "nd", "rd"], n = g % 100;
      return "[" + g + (l[(n - 20) % 10] || l[n] || l[0]) + "]";
    } }, x = function(g, l, n) {
      var u = String(g);
      return !u || u.length >= l ? g : "" + Array(l + 1 - u.length).join(n) + g;
    }, ie = { s: x, z: function(g) {
      var l = -g.utcOffset(), n = Math.abs(l), u = Math.floor(n / 60), s = n % 60;
      return (l <= 0 ? "+" : "-") + x(u, 2, "0") + ":" + x(s, 2, "0");
    }, m: function g(l, n) {
      if (l.date() < n.date())
        return -g(n, l);
      var u = 12 * (n.year() - l.year()) + (n.month() - l.month()), s = l.clone().add(u, W), m = n - s < 0, y = l.clone().add(u + (m ? -1 : 1), W);
      return +(-(u + (n - s) / (m ? s - y : y - s)) || 0);
    }, a: function(g) {
      return g < 0 ? Math.ceil(g) || 0 : Math.floor(g);
    }, p: function(g) {
      return { M: W, y: q, w: we, d: z, D: re, h: M, m: $, s: H, ms: E, Q: Ce }[g] || String(g || "").toLowerCase().replace(/s$/, "");
    }, u: function(g) {
      return g === void 0;
    } }, ne = "en", Q = {};
    Q[ne] = ce;
    var he = "$isDayjsObject", Se = function(g) {
      return g instanceof oe || !(!g || !g[he]);
    }, ae = function g(l, n, u) {
      var s;
      if (!l)
        return ne;
      if (typeof l == "string") {
        var m = l.toLowerCase();
        Q[m] && (s = m), n && (Q[m] = n, s = m);
        var y = l.split("-");
        if (!s && y.length > 1)
          return g(y[0]);
      } else {
        var C = l.name;
        Q[C] = l, s = C;
      }
      return !u && s && (ne = s), s || !u && ne;
    }, k = function(g, l) {
      if (Se(g))
        return g.clone();
      var n = typeof l == "object" ? l : {};
      return n.date = g, n.args = arguments, new oe(n);
    }, O = ie;
    O.l = ae, O.i = Se, O.w = function(g, l) {
      return k(g, { locale: l.$L, utc: l.$u, x: l.$x, $offset: l.$offset });
    };
    var oe = function() {
      function g(n) {
        this.$L = ae(n.locale, null, !0), this.parse(n), this.$x = this.$x || n.x || {}, this[he] = !0;
      }
      var l = g.prototype;
      return l.parse = function(n) {
        this.$d = function(u) {
          var s = u.date, m = u.utc;
          if (s === null)
            return /* @__PURE__ */ new Date(NaN);
          if (O.u(s))
            return /* @__PURE__ */ new Date();
          if (s instanceof Date)
            return new Date(s);
          if (typeof s == "string" && !/Z$/i.test(s)) {
            var y = s.match(Y);
            if (y) {
              var C = y[2] - 1 || 0, A = (y[7] || "0").substring(0, 3);
              return m ? new Date(Date.UTC(y[1], C, y[3] || 1, y[4] || 0, y[5] || 0, y[6] || 0, A)) : new Date(y[1], C, y[3] || 1, y[4] || 0, y[5] || 0, y[6] || 0, A);
            }
          }
          return new Date(s);
        }(n), this.init();
      }, l.init = function() {
        var n = this.$d;
        this.$y = n.getFullYear(), this.$M = n.getMonth(), this.$D = n.getDate(), this.$W = n.getDay(), this.$H = n.getHours(), this.$m = n.getMinutes(), this.$s = n.getSeconds(), this.$ms = n.getMilliseconds();
      }, l.$utils = function() {
        return O;
      }, l.isValid = function() {
        return this.$d.toString() !== v;
      }, l.isSame = function(n, u) {
        var s = k(n);
        return this.startOf(u) <= s && s <= this.endOf(u);
      }, l.isAfter = function(n, u) {
        return k(n) < this.startOf(u);
      }, l.isBefore = function(n, u) {
        return this.endOf(u) < k(n);
      }, l.$g = function(n, u, s) {
        return O.u(n) ? this[u] : this.set(s, n);
      }, l.unix = function() {
        return Math.floor(this.valueOf() / 1e3);
      }, l.valueOf = function() {
        return this.$d.getTime();
      }, l.startOf = function(n, u) {
        var s = this, m = !!O.u(u) || u, y = O.p(n), C = function(se, U) {
          var j = O.w(s.$u ? Date.UTC(s.$y, U, se) : new Date(s.$y, U, se), s);
          return m ? j : j.endOf(z);
        }, A = function(se, U) {
          return O.w(s.toDate()[se].apply(s.toDate("s"), (m ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(U)), s);
        }, I = this.$W, N = this.$M, Z = this.$D, Ee = "set" + (this.$u ? "UTC" : "");
        switch (y) {
          case q:
            return m ? C(1, 0) : C(31, 11);
          case W:
            return m ? C(1, N) : C(0, N + 1);
          case we:
            var pe = this.$locale().weekStart || 0, fe = (I < pe ? I + 7 : I) - pe;
            return C(m ? Z - fe : Z + (6 - fe), N);
          case z:
          case re:
            return A(Ee + "Hours", 0);
          case M:
            return A(Ee + "Minutes", 1);
          case $:
            return A(Ee + "Seconds", 2);
          case H:
            return A(Ee + "Milliseconds", 3);
          default:
            return this.clone();
        }
      }, l.endOf = function(n) {
        return this.startOf(n, !1);
      }, l.$set = function(n, u) {
        var s, m = O.p(n), y = "set" + (this.$u ? "UTC" : ""), C = (s = {}, s[z] = y + "Date", s[re] = y + "Date", s[W] = y + "Month", s[q] = y + "FullYear", s[M] = y + "Hours", s[$] = y + "Minutes", s[H] = y + "Seconds", s[E] = y + "Milliseconds", s)[m], A = m === z ? this.$D + (u - this.$W) : u;
        if (m === W || m === q) {
          var I = this.clone().set(re, 1);
          I.$d[C](A), I.init(), this.$d = I.set(re, Math.min(this.$D, I.daysInMonth())).$d;
        } else
          C && this.$d[C](A);
        return this.init(), this;
      }, l.set = function(n, u) {
        return this.clone().$set(n, u);
      }, l.get = function(n) {
        return this[O.p(n)]();
      }, l.add = function(n, u) {
        var s, m = this;
        n = Number(n);
        var y = O.p(u), C = function(N) {
          var Z = k(m);
          return O.w(Z.date(Z.date() + Math.round(N * n)), m);
        };
        if (y === W)
          return this.set(W, this.$M + n);
        if (y === q)
          return this.set(q, this.$y + n);
        if (y === z)
          return C(1);
        if (y === we)
          return C(7);
        var A = (s = {}, s[$] = o, s[M] = p, s[H] = i, s)[y] || 1, I = this.$d.getTime() + n * A;
        return O.w(I, this);
      }, l.subtract = function(n, u) {
        return this.add(-1 * n, u);
      }, l.format = function(n) {
        var u = this, s = this.$locale();
        if (!this.isValid())
          return s.invalidDate || v;
        var m = n || "YYYY-MM-DDTHH:mm:ssZ", y = O.z(this), C = this.$H, A = this.$m, I = this.$M, N = s.weekdays, Z = s.months, Ee = s.meridiem, pe = function(U, j, Te, Me) {
          return U && (U[j] || U(u, m)) || Te[j].slice(0, Me);
        }, fe = function(U) {
          return O.s(C % 12 || 12, U, "0");
        }, se = Ee || function(U, j, Te) {
          var Me = U < 12 ? "AM" : "PM";
          return Te ? Me.toLowerCase() : Me;
        };
        return m.replace(ue, function(U, j) {
          return j || function(Te) {
            switch (Te) {
              case "YY":
                return String(u.$y).slice(-2);
              case "YYYY":
                return O.s(u.$y, 4, "0");
              case "M":
                return I + 1;
              case "MM":
                return O.s(I + 1, 2, "0");
              case "MMM":
                return pe(s.monthsShort, I, Z, 3);
              case "MMMM":
                return pe(Z, I);
              case "D":
                return u.$D;
              case "DD":
                return O.s(u.$D, 2, "0");
              case "d":
                return String(u.$W);
              case "dd":
                return pe(s.weekdaysMin, u.$W, N, 2);
              case "ddd":
                return pe(s.weekdaysShort, u.$W, N, 3);
              case "dddd":
                return N[u.$W];
              case "H":
                return String(C);
              case "HH":
                return O.s(C, 2, "0");
              case "h":
                return fe(1);
              case "hh":
                return fe(2);
              case "a":
                return se(C, A, !0);
              case "A":
                return se(C, A, !1);
              case "m":
                return String(A);
              case "mm":
                return O.s(A, 2, "0");
              case "s":
                return String(u.$s);
              case "ss":
                return O.s(u.$s, 2, "0");
              case "SSS":
                return O.s(u.$ms, 3, "0");
              case "Z":
                return y;
            }
            return null;
          }(U) || y.replace(":", "");
        });
      }, l.utcOffset = function() {
        return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
      }, l.diff = function(n, u, s) {
        var m, y = this, C = O.p(u), A = k(n), I = (A.utcOffset() - this.utcOffset()) * o, N = this - A, Z = function() {
          return O.m(y, A);
        };
        switch (C) {
          case q:
            m = Z() / 12;
            break;
          case W:
            m = Z();
            break;
          case Ce:
            m = Z() / 3;
            break;
          case we:
            m = (N - I) / 6048e5;
            break;
          case z:
            m = (N - I) / 864e5;
            break;
          case M:
            m = N / p;
            break;
          case $:
            m = N / o;
            break;
          case H:
            m = N / i;
            break;
          default:
            m = N;
        }
        return s ? m : O.a(m);
      }, l.daysInMonth = function() {
        return this.endOf(W).$D;
      }, l.$locale = function() {
        return Q[this.$L];
      }, l.locale = function(n, u) {
        if (!n)
          return this.$L;
        var s = this.clone(), m = ae(n, u, !0);
        return m && (s.$L = m), s;
      }, l.clone = function() {
        return O.w(this.$d, this);
      }, l.toDate = function() {
        return new Date(this.valueOf());
      }, l.toJSON = function() {
        return this.isValid() ? this.toISOString() : null;
      }, l.toISOString = function() {
        return this.$d.toISOString();
      }, l.toString = function() {
        return this.$d.toUTCString();
      }, g;
    }(), Ae = oe.prototype;
    return k.prototype = Ae, [["$ms", E], ["$s", H], ["$m", $], ["$H", M], ["$W", z], ["$M", W], ["$y", q], ["$D", re]].forEach(function(g) {
      Ae[g[1]] = function(l) {
        return this.$g(l, g[0], g[1]);
      };
    }), k.extend = function(g, l) {
      return g.$i || (g(l, oe, k), g.$i = !0), k;
    }, k.locale = ae, k.isDayjs = Se, k.unix = function(g) {
      return k(1e3 * g);
    }, k.en = Q[ne], k.Ls = Q, k.p = {}, k;
  });
})(Je);
const et = Je.exports;
var tt = { exports: {} };
(function(e, t) {
  (function(i, o) {
    e.exports = o();
  })(Ne, function() {
    var i = "minute", o = /[+-]\d\d(?::?\d\d)?/g, p = /([+-]|\d\d)/g;
    return function(E, H, $) {
      var M = H.prototype;
      $.utc = function(v) {
        var Y = { date: v, utc: !0, args: arguments };
        return new H(Y);
      }, M.utc = function(v) {
        var Y = $(this.toDate(), { locale: this.$L, utc: !0 });
        return v ? Y.add(this.utcOffset(), i) : Y;
      }, M.local = function() {
        return $(this.toDate(), { locale: this.$L, utc: !1 });
      };
      var z = M.parse;
      M.parse = function(v) {
        v.utc && (this.$u = !0), this.$utils().u(v.$offset) || (this.$offset = v.$offset), z.call(this, v);
      };
      var we = M.init;
      M.init = function() {
        if (this.$u) {
          var v = this.$d;
          this.$y = v.getUTCFullYear(), this.$M = v.getUTCMonth(), this.$D = v.getUTCDate(), this.$W = v.getUTCDay(), this.$H = v.getUTCHours(), this.$m = v.getUTCMinutes(), this.$s = v.getUTCSeconds(), this.$ms = v.getUTCMilliseconds();
        } else
          we.call(this);
      };
      var W = M.utcOffset;
      M.utcOffset = function(v, Y) {
        var ue = this.$utils().u;
        if (ue(v))
          return this.$u ? 0 : ue(this.$offset) ? W.call(this) : this.$offset;
        if (typeof v == "string" && (v = function(ne) {
          ne === void 0 && (ne = "");
          var Q = ne.match(o);
          if (!Q)
            return null;
          var he = ("" + Q[0]).match(p) || ["-", 0, 0], Se = he[0], ae = 60 * +he[1] + +he[2];
          return ae === 0 ? 0 : Se === "+" ? ae : -ae;
        }(v), v === null))
          return this;
        var ce = Math.abs(v) <= 16 ? 60 * v : v, x = this;
        if (Y)
          return x.$offset = ce, x.$u = v === 0, x;
        if (v !== 0) {
          var ie = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
          (x = this.local().add(ce + ie, i)).$offset = ce, x.$x.$localOffset = ie;
        } else
          x = this.utc();
        return x;
      };
      var Ce = M.format;
      M.format = function(v) {
        var Y = v || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : "");
        return Ce.call(this, Y);
      }, M.valueOf = function() {
        var v = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset());
        return this.$d.valueOf() - 6e4 * v;
      }, M.isUTC = function() {
        return !!this.$u;
      }, M.toISOString = function() {
        return this.toDate().toISOString();
      }, M.toString = function() {
        return this.toDate().toUTCString();
      };
      var q = M.toDate;
      M.toDate = function(v) {
        return v === "s" && this.$offset ? $(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : q.call(this);
      };
      var re = M.diff;
      M.diff = function(v, Y, ue) {
        if (v && this.$u === v.$u)
          return re.call(this, v, Y, ue);
        var ce = this.local(), x = $(v).local();
        return re.call(ce, x, Y, ue);
      };
    };
  });
})(tt);
const yt = tt.exports;
var He = { exports: {} };
/** @license
 * eventsource.js
 * Available under MIT License (MIT)
 * https://github.com/Yaffle/EventSource/
 */
(function(e, t) {
  (function(i) {
    var o = i.setTimeout, p = i.clearTimeout, E = i.XMLHttpRequest, H = i.XDomainRequest, $ = i.ActiveXObject, M = i.EventSource, z = i.document, we = i.Promise, W = i.fetch, Ce = i.Response, q = i.TextDecoder, re = i.TextEncoder, v = i.AbortController;
    if (typeof window < "u" && typeof z < "u" && !("readyState" in z) && z.body == null && (z.readyState = "loading", window.addEventListener("load", function(r) {
      z.readyState = "complete";
    }, !1)), E == null && $ != null && (E = function() {
      return new $("Microsoft.XMLHTTP");
    }), Object.create == null && (Object.create = function(r) {
      function d() {
      }
      return d.prototype = r, new d();
    }), Date.now || (Date.now = function() {
      return (/* @__PURE__ */ new Date()).getTime();
    }), v == null) {
      var Y = W;
      W = function(r, d) {
        var c = d.signal;
        return Y(r, { headers: d.headers, credentials: d.credentials, cache: d.cache }).then(function(a) {
          var w = a.body.getReader();
          return c._reader = w, c._aborted && c._reader.cancel(), {
            status: a.status,
            statusText: a.statusText,
            headers: a.headers,
            body: {
              getReader: function() {
                return w;
              }
            }
          };
        });
      }, v = function() {
        this.signal = {
          _reader: null,
          _aborted: !1
        }, this.abort = function() {
          this.signal._reader != null && this.signal._reader.cancel(), this.signal._aborted = !0;
        };
      };
    }
    function ue() {
      this.bitsNeeded = 0, this.codePoint = 0;
    }
    ue.prototype.decode = function(r) {
      function d(D, P, S) {
        if (S === 1)
          return D >= 128 >> P && D << P <= 2047;
        if (S === 2)
          return D >= 2048 >> P && D << P <= 55295 || D >= 57344 >> P && D << P <= 65535;
        if (S === 3)
          return D >= 65536 >> P && D << P <= 1114111;
        throw new Error();
      }
      function c(D, P) {
        if (D === 6 * 1)
          return P >> 6 > 15 ? 3 : P > 31 ? 2 : 1;
        if (D === 6 * 2)
          return P > 15 ? 3 : 2;
        if (D === 6 * 3)
          return 3;
        throw new Error();
      }
      for (var a = 65533, w = "", f = this.bitsNeeded, b = this.codePoint, _ = 0; _ < r.length; _ += 1) {
        var T = r[_];
        f !== 0 && (T < 128 || T > 191 || !d(b << 6 | T & 63, f - 6, c(f, b))) && (f = 0, b = a, w += String.fromCharCode(b)), f === 0 ? (T >= 0 && T <= 127 ? (f = 0, b = T) : T >= 192 && T <= 223 ? (f = 6 * 1, b = T & 31) : T >= 224 && T <= 239 ? (f = 6 * 2, b = T & 15) : T >= 240 && T <= 247 ? (f = 6 * 3, b = T & 7) : (f = 0, b = a), f !== 0 && !d(b, f, c(f, b)) && (f = 0, b = a)) : (f -= 6, b = b << 6 | T & 63), f === 0 && (b <= 65535 ? w += String.fromCharCode(b) : (w += String.fromCharCode(55296 + (b - 65535 - 1 >> 10)), w += String.fromCharCode(56320 + (b - 65535 - 1 & 1023))));
      }
      return this.bitsNeeded = f, this.codePoint = b, w;
    };
    var ce = function() {
      try {
        return new q().decode(new re().encode("test"), { stream: !0 }) === "test";
      } catch (r) {
        console.debug("TextDecoder does not support streaming option. Using polyfill instead: " + r);
      }
      return !1;
    };
    (q == null || re == null || !ce()) && (q = ue);
    var x = function() {
    };
    function ie(r) {
      this.withCredentials = !1, this.readyState = 0, this.status = 0, this.statusText = "", this.responseText = "", this.onprogress = x, this.onload = x, this.onerror = x, this.onreadystatechange = x, this._contentType = "", this._xhr = r, this._sendTimeout = 0, this._abort = x;
    }
    ie.prototype.open = function(r, d) {
      this._abort(!0);
      var c = this, a = this._xhr, w = 1, f = 0;
      this._abort = function(S) {
        c._sendTimeout !== 0 && (p(c._sendTimeout), c._sendTimeout = 0), (w === 1 || w === 2 || w === 3) && (w = 4, a.onload = x, a.onerror = x, a.onabort = x, a.onprogress = x, a.onreadystatechange = x, a.abort(), f !== 0 && (p(f), f = 0), S || (c.readyState = 4, c.onabort(null), c.onreadystatechange())), w = 0;
      };
      var b = function() {
        if (w === 1) {
          var S = 0, L = "", ge = void 0;
          if ("contentType" in a)
            S = 200, L = "OK", ge = a.contentType;
          else
            try {
              S = a.status, L = a.statusText, ge = a.getResponseHeader("Content-Type");
            } catch {
              S = 0, L = "", ge = void 0;
            }
          S !== 0 && (w = 2, c.readyState = 2, c.status = S, c.statusText = L, c._contentType = ge, c.onreadystatechange());
        }
      }, _ = function() {
        if (b(), w === 2 || w === 3) {
          w = 3;
          var S = "";
          try {
            S = a.responseText;
          } catch {
          }
          c.readyState = 3, c.responseText = S, c.onprogress();
        }
      }, T = function(S, L) {
        if ((L == null || L.preventDefault == null) && (L = {
          preventDefault: x
        }), _(), w === 1 || w === 2 || w === 3) {
          if (w = 4, f !== 0 && (p(f), f = 0), c.readyState = 4, S === "load")
            c.onload(L);
          else if (S === "error")
            c.onerror(L);
          else if (S === "abort")
            c.onabort(L);
          else
            throw new TypeError();
          c.onreadystatechange();
        }
      }, D = function(S) {
        a != null && (a.readyState === 4 ? (!("onload" in a) || !("onerror" in a) || !("onabort" in a)) && T(a.responseText === "" ? "error" : "load", S) : a.readyState === 3 ? "onprogress" in a || _() : a.readyState === 2 && b());
      }, P = function() {
        f = o(function() {
          P();
        }, 500), a.readyState === 3 && _();
      };
      "onload" in a && (a.onload = function(S) {
        T("load", S);
      }), "onerror" in a && (a.onerror = function(S) {
        T("error", S);
      }), "onabort" in a && (a.onabort = function(S) {
        T("abort", S);
      }), "onprogress" in a && (a.onprogress = _), "onreadystatechange" in a && (a.onreadystatechange = function(S) {
        D(S);
      }), ("contentType" in a || !("ontimeout" in E.prototype)) && (d += (d.indexOf("?") === -1 ? "?" : "&") + "padding=true"), a.open(r, d, !0), "readyState" in a && (f = o(function() {
        P();
      }, 0));
    }, ie.prototype.abort = function() {
      this._abort(!1);
    }, ie.prototype.getResponseHeader = function(r) {
      return this._contentType;
    }, ie.prototype.setRequestHeader = function(r, d) {
      var c = this._xhr;
      "setRequestHeader" in c && c.setRequestHeader(r, d);
    }, ie.prototype.getAllResponseHeaders = function() {
      return this._xhr.getAllResponseHeaders != null && this._xhr.getAllResponseHeaders() || "";
    }, ie.prototype.send = function() {
      if ((!("ontimeout" in E.prototype) || !("sendAsBinary" in E.prototype) && !("mozAnon" in E.prototype)) && z != null && z.readyState != null && z.readyState !== "complete") {
        var r = this;
        r._sendTimeout = o(function() {
          r._sendTimeout = 0, r.send();
        }, 4);
        return;
      }
      var d = this._xhr;
      "withCredentials" in d && (d.withCredentials = this.withCredentials);
      try {
        d.send(void 0);
      } catch (c) {
        throw c;
      }
    };
    function ne(r) {
      return r.replace(/[A-Z]/g, function(d) {
        return String.fromCharCode(d.charCodeAt(0) + 32);
      });
    }
    function Q(r) {
      for (var d = /* @__PURE__ */ Object.create(null), c = r.split(`\r
`), a = 0; a < c.length; a += 1) {
        var w = c[a], f = w.split(": "), b = f.shift(), _ = f.join(": ");
        d[ne(b)] = _;
      }
      this._map = d;
    }
    Q.prototype.get = function(r) {
      return this._map[ne(r)];
    }, E != null && E.HEADERS_RECEIVED == null && (E.HEADERS_RECEIVED = 2);
    function he() {
    }
    he.prototype.open = function(r, d, c, a, w, f, b) {
      r.open("GET", w);
      var _ = 0;
      r.onprogress = function() {
        var D = r.responseText, P = D.slice(_);
        _ += P.length, c(P);
      }, r.onerror = function(D) {
        D.preventDefault(), a(new Error("NetworkError"));
      }, r.onload = function() {
        a(null);
      }, r.onabort = function() {
        a(null);
      }, r.onreadystatechange = function() {
        if (r.readyState === E.HEADERS_RECEIVED) {
          var D = r.status, P = r.statusText, S = r.getResponseHeader("Content-Type"), L = r.getAllResponseHeaders();
          d(D, P, S, new Q(L));
        }
      }, r.withCredentials = f;
      for (var T in b)
        Object.prototype.hasOwnProperty.call(b, T) && r.setRequestHeader(T, b[T]);
      return r.send(), r;
    };
    function Se(r) {
      this._headers = r;
    }
    Se.prototype.get = function(r) {
      return this._headers.get(r);
    };
    function ae() {
    }
    ae.prototype.open = function(r, d, c, a, w, f, b) {
      var _ = null, T = new v(), D = T.signal, P = new q();
      return W(w, {
        headers: b,
        credentials: f ? "include" : "same-origin",
        signal: D,
        cache: "no-store"
      }).then(function(S) {
        return _ = S.body.getReader(), d(S.status, S.statusText, S.headers.get("Content-Type"), new Se(S.headers)), new we(function(L, ge) {
          var Re = function() {
            _.read().then(function(J) {
              if (J.done)
                L(void 0);
              else {
                var G = P.decode(J.value, { stream: !0 });
                c(G), Re();
              }
            }).catch(function(J) {
              ge(J);
            });
          };
          Re();
        });
      }).catch(function(S) {
        if (S.name !== "AbortError")
          return S;
      }).then(function(S) {
        a(S);
      }), {
        abort: function() {
          _?.cancel(), T.abort();
        }
      };
    };
    function k() {
      this._listeners = /* @__PURE__ */ Object.create(null);
    }
    function O(r) {
      o(function() {
        throw r;
      }, 0);
    }
    k.prototype.dispatchEvent = function(r) {
      r.target = this;
      var d = this._listeners[r.type];
      if (d != null)
        for (var c = d.length, a = 0; a < c; a += 1) {
          var w = d[a];
          try {
            typeof w.handleEvent == "function" ? w.handleEvent(r) : w.call(this, r);
          } catch (f) {
            O(f);
          }
        }
    }, k.prototype.addEventListener = function(r, d) {
      r = String(r);
      var c = this._listeners, a = c[r];
      a == null && (a = [], c[r] = a);
      for (var w = !1, f = 0; f < a.length; f += 1)
        a[f] === d && (w = !0);
      w || a.push(d);
    }, k.prototype.removeEventListener = function(r, d) {
      r = String(r);
      var c = this._listeners, a = c[r];
      if (a != null) {
        for (var w = [], f = 0; f < a.length; f += 1)
          a[f] !== d && w.push(a[f]);
        w.length === 0 ? delete c[r] : c[r] = w;
      }
    };
    function oe(r) {
      this.type = r, this.target = void 0;
    }
    function Ae(r, d) {
      oe.call(this, r), this.data = d.data, this.lastEventId = d.lastEventId;
    }
    Ae.prototype = Object.create(oe.prototype);
    function g(r, d) {
      oe.call(this, r), this.status = d.status, this.statusText = d.statusText, this.headers = d.headers;
    }
    g.prototype = Object.create(oe.prototype);
    function l(r, d) {
      oe.call(this, r), this.error = d.error;
    }
    l.prototype = Object.create(oe.prototype);
    var n = -1, u = 0, s = 1, m = 2, y = -1, C = 0, A = 1, I = 2, N = 3, Z = /^text\/event\-stream(;.*)?$/i, Ee = 1e3, pe = 18e6, fe = function(r, d) {
      var c = r == null ? d : parseInt(r, 10);
      return c !== c && (c = d), se(c);
    }, se = function(r) {
      return Math.min(Math.max(r, Ee), pe);
    }, U = function(r, d, c) {
      try {
        typeof d == "function" && d.call(r, c);
      } catch (a) {
        O(a);
      }
    };
    function j(r, d) {
      k.call(this), d = d || {}, this.onopen = void 0, this.onmessage = void 0, this.onerror = void 0, this.url = void 0, this.readyState = void 0, this.withCredentials = void 0, this.headers = void 0, this._close = void 0, rt(this, r, d);
    }
    function Te() {
      return E != null && "withCredentials" in E.prototype || H == null ? new E() : new H();
    }
    var Me = W != null && Ce != null && "body" in Ce.prototype;
    function rt(r, d, c) {
      d = String(d);
      var a = !!c.withCredentials, w = c.lastEventIdQueryParameterName || "lastEventId", f = se(1e3), b = fe(c.heartbeatTimeout, 45e3), _ = "", T = f, D = !1, P = 0, S = c.headers || {}, L = c.Transport, ge = Me && L == null ? void 0 : new ie(L != null ? new L() : Te()), Re = L != null && typeof L != "string" ? new L() : ge == null ? new ae() : new he(), J = void 0, G = 0, de = n, De = "", _e = "", me = "", Le = "", X = C, je = 0, Oe = 0, it = function(V, F, ee, te) {
        if (de === u)
          if (V === 200 && ee != null && Z.test(ee)) {
            de = s, D = Date.now(), T = f, r.readyState = s;
            var K = new g("open", {
              status: V,
              statusText: F,
              headers: te
            });
            r.dispatchEvent(K), U(r, r.onopen, K);
          } else {
            var B = "";
            V !== 200 ? (F && (F = F.replace(/\s+/g, " ")), B = "EventSource's response has a status " + V + " " + F + " that is not 200. Aborting the connection.") : B = "EventSource's response has a Content-Type specifying an unsupported type: " + (ee == null ? "-" : ee.replace(/\s+/g, " ")) + ". Aborting the connection.", ze();
            var K = new g("error", {
              status: V,
              statusText: F,
              headers: te
            });
            r.dispatchEvent(K), U(r, r.onerror, K), console.error(B);
          }
      }, nt = function(V) {
        if (de === s) {
          for (var F = -1, ee = 0; ee < V.length; ee += 1) {
            var te = V.charCodeAt(ee);
            (te === 10 || te === 13) && (F = ee);
          }
          var K = (F !== -1 ? Le : "") + V.slice(0, F + 1);
          Le = (F === -1 ? Le : "") + V.slice(F + 1), V !== "" && (D = Date.now(), P += V.length);
          for (var B = 0; B < K.length; B += 1) {
            var te = K.charCodeAt(B);
            if (X === y && te === 10)
              X = C;
            else if (X === y && (X = C), te === 13 || te === 10) {
              if (X !== C) {
                X === A && (Oe = B + 1);
                var ve = K.slice(je, Oe - 1), ye = K.slice(Oe + (Oe < B && K.charCodeAt(Oe) === 32 ? 1 : 0), B);
                ve === "data" ? (De += `
`, De += ye) : ve === "id" ? _e = ye : ve === "event" ? me = ye : ve === "retry" ? (f = fe(ye, f), T = f) : ve === "heartbeatTimeout" && (b = fe(ye, b), G !== 0 && (p(G), G = o(function() {
                  ke();
                }, b)));
              }
              if (X === C) {
                if (De !== "") {
                  _ = _e, me === "" && (me = "message");
                  var Pe = new Ae(me, {
                    data: De.slice(1),
                    lastEventId: _e
                  });
                  if (r.dispatchEvent(Pe), me === "open" ? U(r, r.onopen, Pe) : me === "message" ? U(r, r.onmessage, Pe) : me === "error" && U(r, r.onerror, Pe), de === m)
                    return;
                }
                De = "", me = "";
              }
              X = te === 13 ? y : C;
            } else
              X === C && (je = B, X = A), X === A ? te === 58 && (Oe = B + 1, X = I) : X === I && (X = N);
          }
        }
      }, Be = function(V) {
        if (de === s || de === u) {
          de = n, G !== 0 && (p(G), G = 0), G = o(function() {
            ke();
          }, T), T = se(Math.min(f * 16, T * 2)), r.readyState = u;
          var F = new l("error", { error: V });
          r.dispatchEvent(F), U(r, r.onerror, F), V != null && console.error(V);
        }
      }, ze = function() {
        de = m, J != null && (J.abort(), J = void 0), G !== 0 && (p(G), G = 0), r.readyState = m;
      }, ke = function() {
        if (G = 0, de !== n) {
          if (!D && J != null)
            Be(new Error("No activity within " + b + " milliseconds. " + (de === u ? "No response received." : P + " chars received.") + " Reconnecting.")), J != null && (J.abort(), J = void 0);
          else {
            var V = Math.max((D || Date.now()) + b - Date.now(), 1);
            D = !1, G = o(function() {
              ke();
            }, V);
          }
          return;
        }
        D = !1, P = 0, G = o(function() {
          ke();
        }, b), de = u, De = "", me = "", _e = _, Le = "", je = 0, Oe = 0, X = C;
        var F = d;
        if (d.slice(0, 5) !== "data:" && d.slice(0, 5) !== "blob:" && _ !== "") {
          var ee = d.indexOf("?");
          F = ee === -1 ? d : d.slice(0, ee + 1) + d.slice(ee + 1).replace(/(?:^|&)([^=&]*)(?:=[^&]*)?/g, function(ye, Pe) {
            return Pe === w ? "" : ye;
          }), F += (d.indexOf("?") === -1 ? "?" : "&") + w + "=" + encodeURIComponent(_);
        }
        var te = r.withCredentials, K = {};
        K.Accept = "text/event-stream";
        var B = r.headers;
        if (B != null)
          for (var ve in B)
            Object.prototype.hasOwnProperty.call(B, ve) && (K[ve] = B[ve]);
        try {
          J = Re.open(ge, it, nt, Be, F, te, K);
        } catch (ye) {
          throw ze(), ye;
        }
      };
      r.url = d, r.readyState = u, r.withCredentials = a, r.headers = S, r._close = ze, ke();
    }
    j.prototype = Object.create(k.prototype), j.prototype.CONNECTING = u, j.prototype.OPEN = s, j.prototype.CLOSED = m, j.prototype.close = function() {
      this._close();
    }, j.CONNECTING = u, j.OPEN = s, j.CLOSED = m, j.prototype.withCredentials = void 0;
    var Ve = M;
    E != null && (M == null || !("withCredentials" in M.prototype)) && (Ve = j), function(r) {
      {
        var d = r(t);
        d !== void 0 && (e.exports = d);
      }
    }(function(r) {
      r.EventSourcePolyfill = j, r.NativeEventSource = M, r.EventSource = Ve;
    });
  })(typeof globalThis > "u" ? typeof window < "u" ? window : typeof self < "u" ? self : Ne : globalThis);
})(He, He.exports);
const Ye = "user-deposit-withdrawal", Ge = [
  "mm-hcback-to-merchant",
  "mm-hc-back-tomerchant",
  "mm-hc-sports",
  "mm-hc-casino",
  "mm-hc-contact",
  "mm-wm-hc-init-deposit",
  "mm-wm-hc-init-deposit-quick"
], We = {
  TWO_FACTOR_AUTH: "TWO_FACTOR_AUTH_NOTIFICATION",
  SESSION_EXPIRATION: "SESSION_EXPIRATION"
}, wt = {
  FAILED_2FA: "failed2FA"
}, le = {
  OPEN_FULL_CASHIER: "MMFE:openFullCashier",
  SET_QUICK_DEPOSIT_HEIGHT: "MMFE:setQuickDepositHeight",
  SET_IFRAME_HEIGHT: "MMFE:setIFrameHeight",
  SELECTED_PAYMENT_METHOD: "MMFE:selectedPaymentMethod",
  PROCEED_PAYMENT: "MMFE:proceedPayment",
  CANCEL_PAYMENT: "MMFE:cancelPayment",
  RESET_OTP: "MMFE:ResetOTP"
}, St = () => {
}, $e = {
  PROCEED: { [le.PROCEED_PAYMENT]: "true" },
  CANCEL: { [le.CANCEL_PAYMENT]: "true" },
  RESET: { [le.RESET_OTP]: "true" },
  PROCEED_FALSE: { [le.PROCEED_PAYMENT]: "false" }
}, Et = `:host {
  font: inherit;
  display: block;
  height: 100%;
  container-type: inline-size;
}

.DepositWithdrawalContainer {
  container-type: inline-size;
  container-name: deposit-container;
}

.CategoryTitle {
  font-size: var(--emw--font-size-x-large, 26px);
  color: var(--emw--pam-color-primary, var(--emw--color-primary, #22B04E));
}

.MenuReturnButton {
  font: inherit;
  color: var(--emw--color-gray-300, #58586B);
  display: inline-flex;
  align-items: center;
  column-gap: 10px;
  margin-bottom: 10px;
}
.MenuReturnButton svg {
  fill: var(--emw--pam-color-primary, var(--emw--color-primary, #22B04E));
}
.MenuReturnButton h2.CategoryTitleMobile {
  font-size: 16px;
  color: var(--emw--pam-color-primary, var(--emw--color-primary, #22B04E));
}

.ErrorMessage {
  color: var(--emw--pam-color-typography, var(--emw--color-typography, #FFFFFF));
}

.DepositWithdrawalWrapper {
  width: 100%;
  margin: 0;
  padding: 50px;
  box-sizing: border-box;
  overflow-y: scroll;
}
.DepositWithdrawalWrapper iframe {
  border-width: 0;
}

.ShortCashier.DepositWithdrawalWrapper {
  height: 500px;
}
.ShortCashier.CategoryTitle.CategoryTitle {
  margin-right: 20px;
  padding-top: 20px;
  color: var(--emw--color-black, #000000);
}
.ShortCashier .ErrorMessage {
  margin: auto;
  width: 90%;
  margin-top: 70px;
  text-align: center;
  color: var(--emw--color-black, #000000);
}

@container (max-width: 768px) {
  .DepositWithdrawalWrapper {
    padding: 20px 15px;
  }
  .DepositWithdrawalWrapper:not(.ShortCashier) {
    overflow: visible;
  }
}`, bt = Et;
et.extend(yt);
const Ct = class {
  constructor(e) {
    Xe(this, e), this.sseStream = null, this.selectedPaymentMethod = null, this.sseReconnectAttempts = 0, this.sseReconnectTimer = null, this.sseShouldStayConnected = !1, this.SSE_MAX_RECONNECT_ATTEMPTS = 5, this.SSE_RECONNECT_DELAY_BASE_MS = 1e3, this.bindedHandler = this.handleMessage.bind(this), this.userAgent = window.navigator.userAgent, this.isMobile = mt(this.userAgent), this.errorCodes = ["21123", "21122", "21121"], this.toggleScreen = () => {
      window.postMessage({ type: "PlayerAccountMenuActive", isMobile: this.isMobile }, window.location.href);
    }, this.mbSource = void 0, this.clientStyling = "", this.clientStylingUrl = "", this.translationUrl = "", this.endpoint = void 0, this.type = void 0, this.channel = void 0, this.language = void 0, this.productType = "", this.userId = void 0, this.session = void 0, this.successUrl = void 0, this.cancelUrl = void 0, this.failUrl = void 0, this.sportsUrl = void 0, this.casinoUrl = void 0, this.contactUrl = void 0, this.depositUrl = void 0, this.currency = "", this.showBonusSelectionInput = "true", this.isShortCashier = !1, this.homeUrl = void 0, this.beforeRedirect = St, this.forwardCashierRedirects = !1, this.enableStepUpAuth = !1, this.dynamicHeight = void 0, this.cashierInfoUrl = void 0;
  }
  get typeParameter() {
    if (this.type === "deposit")
      return "Deposit";
    if (this.type === "withdraw")
      return "Withdraw";
  }
  handleClientStylingChange(e, t) {
    e != t && Ie(this.stylingContainer, this.clientStyling);
  }
  handleClientStylingChangeURL(e, t) {
    e != t && this.clientStylingUrl && Ue(this.stylingContainer, this.clientStylingUrl);
  }
  async componentWillLoad() {
    this.translationUrl && await gt(this.translationUrl), await this.loadWidget();
  }
  componentDidLoad() {
    this.stylingContainer && (window.emMessageBus != null ? Ke(this.stylingContainer, `${this.mbSource}.Style`, this.stylingSubscription) : (this.clientStyling && Ie(this.stylingContainer, this.clientStyling), this.clientStylingUrl && Ue(this.stylingContainer, this.clientStylingUrl))), window.addEventListener("message", this.bindedHandler, !1);
  }
  disconnectedCallback() {
    window.removeEventListener("message", this.bindedHandler, !1), this.stylingSubscription && this.stylingSubscription.unsubscribe(), this.closeSSEStream();
  }
  render() {
    return h(ot, { key: "c6ee3b34fc4ef7174b2ff07ff246b4d38f8a4cf3" }, this.enableStepUpAuth && h("player-step-up-auth", { key: "dfaf2909e9f1028b9fd740f0fe612b0a82a30d57", endpoint: this.endpoint, userSession: this.session, language: this.language, "client-styling-url": this.clientStylingUrl, "translation-url": this.translationUrl }), h("div", { key: "70866c997fd1430dc827dac013fe5eeb5e205aa6", ref: (e) => this.stylingContainer = e, class: "" }, h("div", { key: "f22a066bded11894ecc6b40452e91408bfaba461", class: `DepositWithdrawalWrapper ${this.isShortCashier ? "ShortCashier" : ""}` }, !(this.isMobile && !this.isShortCashier) && h("h2", { key: "e16eff42a179895d192584f51bdcb01cfb940911", class: "CategoryTitle" }, be(this.typeParameter === "Withdraw" ? "Withdraw" : "Deposit", this.language)), h("div", { key: "be8524a9a7a7f9f7735fd8703563159e207901c4", style: { marginTop: this.isShortCashier ? "30px" : "0" } }, this.isMobile && !this.isShortCashier ? h("div", { class: "MenuReturnButton", onClick: this.toggleScreen }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "15", height: "15", viewBox: "0 0 15 15" }, h("defs", null), h("g", { transform: "translate(-20 -158)" }, h("g", { transform: "translate(20 158)" }, h("path", { class: "aaa", d: "M7.5,0,6.136,1.364,11.3,6.526H0V8.474H11.3L6.136,13.636,7.5,15,15,7.5Z", transform: "translate(15 15) rotate(180)" })))), h("h2", { class: "CategoryTitleMobile" }, be(this.typeParameter === "Withdraw" ? "Withdraw" : "Deposit", this.language))) : null), this.cashierInfoUrl ? h("iframe", { ref: (e) => this.cashierIframeRef = e, width: "100%", allow: "payment", height: this.dynamicHeight, src: this.cashierInfoUrl }) : h("h3", { innerHTML: this.type === "deposit" ? be("denyDeposit", this.language) : be("denyWithdrawal", this.language), class: "ErrorMessage" }))));
  }
  async loadWidget() {
    const e = {
      Channel: this.channel,
      Type: this.typeParameter,
      SuccessUrl: this.successUrl,
      CancelUrl: this.cancelUrl,
      FailUrl: this.failUrl,
      Language: this.language,
      productType: this.productType,
      isShortCashier: this.isShortCashier,
      currency: this.currency,
      showBonusSelectionInput: this.showBonusSelectionInput
    };
    if (!(Object.values(e).some((t) => t === void 0) || !this.endpoint))
      try {
        const t = `${this.endpoint}/v1/player/${this.userId}/payment/GetPaymentSession`, i = await fetch(t, {
          method: "POST",
          headers: {
            "X-Sessionid": this.session,
            "Content-Type": "application/json",
            "X-Client-Request-Timestamp": et.utc().format("YYYY-MM-DD HH:mm:ss.SSS")
          },
          body: JSON.stringify(e)
        });
        if (!i.ok) {
          const p = await i.text();
          throw new Error(p);
        }
        const o = await i.json();
        if (o.CashierInfo)
          this.cashierInfoUrl = o.CashierInfo.Url;
        else {
          let p;
          if (o.ResponseMessage) {
            let H = this.errorCodes.find(($) => o.ResponseMessage.includes($)) || null;
            H ? p = be(`errorCode${H}`, this.language) : p = be("notFoundErrorCode", this.language);
          } else
            p = this.type === "deposit" ? be("denyDeposit", this.language) : be("denyWithdrawal", this.language);
          const E = { type: "error", message: p };
          window.postMessage({ type: "DenyDepositOrWithdrawal", data: E }, window.location.href);
        }
      } catch (t) {
        console.error(t);
      }
  }
  handleEnableStepUpAuthChange(e) {
    !e && this.sseStream && this.closeSSEStream();
  }
  handleMessage(e) {
    const t = this.extractPayload(e);
    if (!t)
      return;
    this.applyLayoutHints(t);
    const i = this.extractCashierRedirectReason(t);
    if (!i || this.emitForwardedRedirect(e, i))
      return;
    const o = this.resolveRedirectPlan(i);
    o && this.doRedirect(o.reason, o.targetUrl);
  }
  extractCashierRedirectReason(e) {
    if (typeof e?.type == "string" && Ge.includes(e.type))
      return e.type;
    if (typeof e?.redirect == "string" && Ge.includes(e.redirect))
      return e.redirect;
  }
  extractPayload(e) {
    if (!(!e?.data || typeof e.data != "object"))
      return e.data;
  }
  applyLayoutHints(e) {
    if (e[le.OPEN_FULL_CASHIER] === "true" && (window.postMessage({ type: "GoToDeposit" }, window.location.href), window.postMessage({ type: "CloseShortCashier" }, window.location.href)), e[le.SET_QUICK_DEPOSIT_HEIGHT] && this.isShortCashier && (this.dynamicHeight = e[le.SET_QUICK_DEPOSIT_HEIGHT].toString() + "px"), e[le.SET_IFRAME_HEIGHT] && (this.dynamicHeight = e[le.SET_IFRAME_HEIGHT].toString() + "px"), e[le.SELECTED_PAYMENT_METHOD]) {
      const t = e[le.SELECTED_PAYMENT_METHOD];
      this.selectedPaymentMethod !== t && (this.selectedPaymentMethod = t, this.sseStream && this.closeSSEStream(), this.type === "withdraw" && vt(t) && this.enableStepUpAuth && this.initializeSSE());
    }
    if (e["MMFE:vendorRedirect"]) {
      const t = e["MMFE:vendorRedirect"];
      window.postMessage({ type: `${Ye}:mm-open-vendor`, url: t }, window.location.href);
    }
  }
  resolveRedirectPlan(e) {
    switch (e) {
      case "mm-hcback-to-merchant":
      case "mm-hc-back-tomerchant":
        return this.buildRedirectPlan(e, this.homeUrl);
      case "mm-hc-sports":
        return this.buildRedirectPlan(e, this.sportsUrl);
      case "mm-hc-casino":
        return this.buildRedirectPlan(window.location.href, this.casinoUrl);
      case "mm-hc-contact":
        return window.postMessage({ type: "CloseShortCashier" }, window.location.href), this.buildRedirectPlan(window.location.href, this.contactUrl);
      case "mm-wm-hc-init-deposit":
      case "mm-wm-hc-init-deposit-quick":
        return window.postMessage({ type: "CloseShortCashier" }, window.location.href), this.buildRedirectPlan(window.location.href, this.depositUrl);
      default:
        return;
    }
  }
  buildRedirectPlan(e, t) {
    if (t)
      return { reason: e, targetUrl: t };
  }
  emitForwardedRedirect(e, t) {
    if (!this.forwardCashierRedirects)
      return !1;
    const i = {
      type: `${Ye}:${t}`,
      originalType: t,
      payload: e.data,
      origin: e.origin
    };
    return window.postMessage(i, window.location.href), !0;
  }
  doRedirect(e, t) {
    const i = { reason: e, url: t, cancel: !1 };
    if (this.beforeRedirect(i), !i.cancel) {
      if (!i.url) {
        window.location.href = "/";
        return;
      }
      window.location.href = i.url;
    }
  }
  initializeSSE() {
    if (!(this.sseStream && this.sseStream.readyState !== He.exports.EventSourcePolyfill.CLOSED)) {
      if (!this.endpoint || !this.userId || !this.session || this.type !== "withdraw") {
        console.warn("[SSE] initializeSSE - missing required props, cannot initialize");
        return;
      }
      this.sseShouldStayConnected = !0, this.sseReconnectAttempts = 0, this.connectSSE();
    }
  }
  connectSSE() {
    if (this.sseStream) {
      try {
        this.sseStream.close();
      } catch (e) {
        console.warn("[SSE] closeSSEStream - error closing stream:", e);
      }
      this.sseStream = null;
    }
    if (this.sseShouldStayConnected)
      try {
        const e = new URL(`/v1/player/${this.userId}/information/updates`, this.endpoint), t = {
          accept: "text/event-stream",
          "X-SessionId": this.session
        };
        this.sseStream = new He.exports.EventSourcePolyfill(e, { headers: t }), this.sseStream.addEventListener("open", this.handleSSEOpen.bind(this)), this.sseStream.addEventListener("message", this.handleSSEMessage.bind(this)), this.sseStream.addEventListener("error", this.handleSSEError.bind(this));
      } catch (e) {
        console.error("[SSE] connectSSE - Failed to create EventSourcePolyfill:", e), this.scheduleReconnect();
      }
  }
  handleSSEOpen(e) {
    console.info("[SSE] handleSSEOpen - connection opened successfully"), this.sseReconnectAttempts = 0, this.sseReconnectTimer && (clearTimeout(this.sseReconnectTimer), this.sseReconnectTimer = null);
  }
  handleSSEMessage(e) {
    if (this.enableStepUpAuth)
      try {
        const t = JSON.parse(e.data), i = t.type;
        if (i === We.TWO_FACTOR_AUTH) {
          const { body: { challengeId: o } = {} } = t;
          o ? this.triggerStepUpAuth(o) : console.error(`${We.TWO_FACTOR_AUTH} received but challengeId not found in body`);
        } else
          i === We.SESSION_EXPIRATION && (console.info("[SSE] SESSION_EXPIRATION received, closing connection"), window.postMessage({ type: "SessionExpiration", reason: wt.FAILED_2FA }, window.location.href), this.closeSSEStream());
      } catch (t) {
        console.error("Error parsing SSE message:", t);
      }
  }
  handleSSEError(e) {
    console.warn("[SSE] connection error"), this.sseShouldStayConnected && this.sseReconnectAttempts < this.SSE_MAX_RECONNECT_ATTEMPTS ? this.scheduleReconnect() : this.sseReconnectAttempts >= this.SSE_MAX_RECONNECT_ATTEMPTS && (console.error("[SSE] handleSSEError - max reconnection attempts reached, giving up"), this.closeSSEStream());
  }
  scheduleReconnect() {
    if (!this.sseShouldStayConnected)
      return;
    this.sseReconnectTimer && clearTimeout(this.sseReconnectTimer), this.sseReconnectAttempts++;
    const e = this.SSE_RECONNECT_DELAY_BASE_MS * Math.pow(2, this.sseReconnectAttempts - 1);
    this.sseReconnectTimer = setTimeout(() => {
      this.sseReconnectTimer = null, this.sseShouldStayConnected && this.connectSSE();
    }, e);
  }
  closeSSEStream() {
    if (this.sseShouldStayConnected = !1, this.sseReconnectTimer && (clearTimeout(this.sseReconnectTimer), this.sseReconnectTimer = null), this.sseStream) {
      try {
        this.sseStream.close();
      } catch (e) {
        console.warn("[SSE] closeSSEStream - error closing stream:", e);
      }
      this.sseStream = null;
    }
    this.sseReconnectAttempts = 0;
  }
  triggerStepUpAuth(e) {
    this.enableStepUpAuth && window.dispatchEvent(new CustomEvent("stepUpAuthRequired", {
      detail: {
        "x-step-up-required": !0,
        "x-step-up-token": e,
        flow: "stateful"
      }
    }));
  }
  getCashierOrigin() {
    if (!this.cashierInfoUrl)
      return "*";
    try {
      return new URL(this.cashierInfoUrl).origin;
    } catch (e) {
      return console.warn("Failed to parse cashier URL origin, using wildcard:", e), "*";
    }
  }
  sendMessageToCashier(e) {
    var t;
    if (!(!((t = this.cashierIframeRef) === null || t === void 0) && t.contentWindow)) {
      console.warn("Cashier iframe not available for postMessage");
      return;
    }
    const i = this.getCashierOrigin();
    this.cashierIframeRef.contentWindow.postMessage(e, i);
  }
  handleOtpSuccess() {
    this.enableStepUpAuth && (this.sendMessageToCashier($e.PROCEED), this.closeSSEStream());
  }
  handleManualClosePopup() {
    this.enableStepUpAuth && (this.sendMessageToCashier($e.CANCEL), this.closeSSEStream());
  }
  handleOtpResendRequested() {
    this.enableStepUpAuth && (window.dispatchEvent(new CustomEvent("closePopup")), this.sendMessageToCashier($e.RESET));
  }
  handleOtpSetTimeout() {
    this.enableStepUpAuth && this.sendMessageToCashier($e.PROCEED_FALSE);
  }
  static get watchers() {
    return {
      clientStyling: ["handleClientStylingChange"],
      clientStylingUrl: ["handleClientStylingChangeURL"],
      enableStepUpAuth: ["handleEnableStepUpAuthChange"]
    };
  }
};
Ct.style = bt;
export {
  ht as player_step_up_auth,
  Ct as user_deposit_withdrawal
};
