UNPKG

rag-chatbot-ui-bajaj

Version:

React RAG Chatbot UI with Developer Console

6,546 lines 207 kB
import * as de from "react";
import Ae, { forwardRef as Nn, useContext as In, useState as ne, useRef as Pe, useEffect as He } from "react";
function Mn(e) {
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var Gt = { exports: {} }, Ge = {};
/**
 * @license React
 * react-jsx-runtime.production.js
 *
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var hr;
function Dn() {
  if (hr) return Ge;
  hr = 1;
  var e = Symbol.for("react.transitional.element"), t = Symbol.for("react.fragment");
  function r(n, o, a) {
    var l = null;
    if (a !== void 0 && (l = "" + a), o.key !== void 0 && (l = "" + o.key), "key" in o) {
      a = {};
      for (var u in o)
        u !== "key" && (a[u] = o[u]);
    } else a = o;
    return o = a.ref, {
      $$typeof: e,
      type: n,
      key: l,
      ref: o !== void 0 ? o : null,
      props: a
    };
  }
  return Ge.Fragment = t, Ge.jsx = r, Ge.jsxs = r, Ge;
}
var qe = {};
/**
 * @license React
 * react-jsx-runtime.development.js
 *
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var gr;
function zn() {
  return gr || (gr = 1, process.env.NODE_ENV !== "production" && function() {
    function e(i) {
      if (i == null) return null;
      if (typeof i == "function")
        return i.$$typeof === s ? null : i.displayName || i.name || null;
      if (typeof i == "string") return i;
      switch (i) {
        case c:
          return "Fragment";
        case T:
          return "Profiler";
        case C:
          return "StrictMode";
        case x:
          return "Suspense";
        case D:
          return "SuspenseList";
        case ee:
          return "Activity";
      }
      if (typeof i == "object")
        switch (typeof i.tag == "number" && console.error(
          "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
        ), i.$$typeof) {
          case v:
            return "Portal";
          case A:
            return (i.displayName || "Context") + ".Provider";
          case N:
            return (i._context.displayName || "Context") + ".Consumer";
          case O:
            var d = i.render;
            return i = i.displayName, i || (i = d.displayName || d.name || "", i = i !== "" ? "ForwardRef(" + i + ")" : "ForwardRef"), i;
          case I:
            return d = i.displayName || null, d !== null ? d : e(i.type) || "Memo";
          case K:
            d = i._payload, i = i._init;
            try {
              return e(i(d));
            } catch {
            }
        }
      return null;
    }
    function t(i) {
      return "" + i;
    }
    function r(i) {
      try {
        t(i);
        var d = !1;
      } catch {
        d = !0;
      }
      if (d) {
        d = console;
        var w = d.error, _ = typeof Symbol == "function" && Symbol.toStringTag && i[Symbol.toStringTag] || i.constructor.name || "Object";
        return w.call(
          d,
          "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
          _
        ), t(i);
      }
    }
    function n(i) {
      if (i === c) return "<>";
      if (typeof i == "object" && i !== null && i.$$typeof === K)
        return "<...>";
      try {
        var d = e(i);
        return d ? "<" + d + ">" : "<...>";
      } catch {
        return "<...>";
      }
    }
    function o() {
      var i = P.A;
      return i === null ? null : i.getOwner();
    }
    function a() {
      return Error("react-stack-top-frame");
    }
    function l(i) {
      if (B.call(i, "key")) {
        var d = Object.getOwnPropertyDescriptor(i, "key").get;
        if (d && d.isReactWarning) return !1;
      }
      return i.key !== void 0;
    }
    function u(i, d) {
      function w() {
        ie || (ie = !0, console.error(
          "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
          d
        ));
      }
      w.isReactWarning = !0, Object.defineProperty(i, "key", {
        get: w,
        configurable: !0
      });
    }
    function f() {
      var i = e(this.type);
      return te[i] || (te[i] = !0, console.error(
        "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
      )), i = this.props.ref, i !== void 0 ? i : null;
    }
    function m(i, d, w, _, j, $, M, L) {
      return w = $.ref, i = {
        $$typeof: E,
        type: i,
        key: d,
        props: $,
        _owner: j
      }, (w !== void 0 ? w : null) !== null ? Object.defineProperty(i, "ref", {
        enumerable: !1,
        get: f
      }) : Object.defineProperty(i, "ref", { enumerable: !1, value: null }), i._store = {}, Object.defineProperty(i._store, "validated", {
        configurable: !1,
        enumerable: !1,
        writable: !0,
        value: 0
      }), Object.defineProperty(i, "_debugInfo", {
        configurable: !1,
        enumerable: !1,
        writable: !0,
        value: null
      }), Object.defineProperty(i, "_debugStack", {
        configurable: !1,
        enumerable: !1,
        writable: !0,
        value: M
      }), Object.defineProperty(i, "_debugTask", {
        configurable: !1,
        enumerable: !1,
        writable: !0,
        value: L
      }), Object.freeze && (Object.freeze(i.props), Object.freeze(i)), i;
    }
    function g(i, d, w, _, j, $, M, L) {
      var z = d.children;
      if (z !== void 0)
        if (_)
          if (V(z)) {
            for (_ = 0; _ < z.length; _++)
              h(z[_]);
            Object.freeze && Object.freeze(z);
          } else
            console.error(
              "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
            );
        else h(z);
      if (B.call(d, "key")) {
        z = e(i);
        var S = Object.keys(d).filter(function(F) {
          return F !== "key";
        });
        _ = 0 < S.length ? "{key: someKey, " + S.join(": ..., ") + ": ...}" : "{key: someKey}", Se[z + _] || (S = 0 < S.length ? "{" + S.join(": ..., ") + ": ...}" : "{}", console.error(
          `A props object containing a "key" prop is being spread into JSX:
  let props = %s;
  <%s {...props} />
React keys must be passed directly to JSX without using spread:
  let props = %s;
  <%s key={someKey} {...props} />`,
          _,
          z,
          S,
          z
        ), Se[z + _] = !0);
      }
      if (z = null, w !== void 0 && (r(w), z = "" + w), l(d) && (r(d.key), z = "" + d.key), "key" in d) {
        w = {};
        for (var R in d)
          R !== "key" && (w[R] = d[R]);
      } else w = d;
      return z && u(
        w,
        typeof i == "function" ? i.displayName || i.name || "Unknown" : i
      ), m(
        i,
        z,
        $,
        j,
        o(),
        w,
        M,
        L
      );
    }
    function h(i) {
      typeof i == "object" && i !== null && i.$$typeof === E && i._store && (i._store.validated = 1);
    }
    var y = Ae, E = Symbol.for("react.transitional.element"), v = Symbol.for("react.portal"), c = Symbol.for("react.fragment"), C = Symbol.for("react.strict_mode"), T = Symbol.for("react.profiler"), N = Symbol.for("react.consumer"), A = Symbol.for("react.context"), O = Symbol.for("react.forward_ref"), x = Symbol.for("react.suspense"), D = Symbol.for("react.suspense_list"), I = Symbol.for("react.memo"), K = Symbol.for("react.lazy"), ee = Symbol.for("react.activity"), s = Symbol.for("react.client.reference"), P = y.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, B = Object.prototype.hasOwnProperty, V = Array.isArray, W = console.createTask ? console.createTask : function() {
      return null;
    };
    y = {
      "react-stack-bottom-frame": function(i) {
        return i();
      }
    };
    var ie, te = {}, le = y["react-stack-bottom-frame"].bind(
      y,
      a
    )(), pe = W(n(a)), Se = {};
    qe.Fragment = c, qe.jsx = function(i, d, w, _, j) {
      var $ = 1e4 > P.recentlyCreatedOwnerStacks++;
      return g(
        i,
        d,
        w,
        !1,
        _,
        j,
        $ ? Error("react-stack-top-frame") : le,
        $ ? W(n(i)) : pe
      );
    }, qe.jsxs = function(i, d, w, _, j) {
      var $ = 1e4 > P.recentlyCreatedOwnerStacks++;
      return g(
        i,
        d,
        w,
        !0,
        _,
        j,
        $ ? Error("react-stack-top-frame") : le,
        $ ? W(n(i)) : pe
      );
    };
  }()), qe;
}
process.env.NODE_ENV === "production" ? Gt.exports = Dn() : Gt.exports = zn();
var p = Gt.exports;
const yr = (e) => e, Bn = () => {
  let e = yr;
  return {
    configure(t) {
      e = t;
    },
    generate(t) {
      return e(t);
    },
    reset() {
      e = yr;
    }
  };
}, Ln = Bn();
function je(e, ...t) {
  const r = new URL(`https://mui.com/production-error/?code=${e}`);
  return t.forEach((n) => r.searchParams.append("args[]", n)), `Minified MUI error #${e}; visit ${r} for the full message.`;
}
function Ie(e) {
  if (typeof e != "string")
    throw new Error(process.env.NODE_ENV !== "production" ? "MUI: `capitalize(string)` expects a string argument." : je(7));
  return e.charAt(0).toUpperCase() + e.slice(1);
}
var qt = { exports: {} }, ct = { exports: {} }, G = {};
/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var br;
function Fn() {
  if (br) return G;
  br = 1;
  var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, l = e ? Symbol.for("react.provider") : 60109, u = e ? Symbol.for("react.context") : 60110, f = e ? Symbol.for("react.async_mode") : 60111, m = e ? Symbol.for("react.concurrent_mode") : 60111, g = e ? Symbol.for("react.forward_ref") : 60112, h = e ? Symbol.for("react.suspense") : 60113, y = e ? Symbol.for("react.suspense_list") : 60120, E = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, c = e ? Symbol.for("react.block") : 60121, C = e ? Symbol.for("react.fundamental") : 60117, T = e ? Symbol.for("react.responder") : 60118, N = e ? Symbol.for("react.scope") : 60119;
  function A(x) {
    if (typeof x == "object" && x !== null) {
      var D = x.$$typeof;
      switch (D) {
        case t:
          switch (x = x.type, x) {
            case f:
            case m:
            case n:
            case a:
            case o:
            case h:
              return x;
            default:
              switch (x = x && x.$$typeof, x) {
                case u:
                case g:
                case v:
                case E:
                case l:
                  return x;
                default:
                  return D;
              }
          }
        case r:
          return D;
      }
    }
  }
  function O(x) {
    return A(x) === m;
  }
  return G.AsyncMode = f, G.ConcurrentMode = m, G.ContextConsumer = u, G.ContextProvider = l, G.Element = t, G.ForwardRef = g, G.Fragment = n, G.Lazy = v, G.Memo = E, G.Portal = r, G.Profiler = a, G.StrictMode = o, G.Suspense = h, G.isAsyncMode = function(x) {
    return O(x) || A(x) === f;
  }, G.isConcurrentMode = O, G.isContextConsumer = function(x) {
    return A(x) === u;
  }, G.isContextProvider = function(x) {
    return A(x) === l;
  }, G.isElement = function(x) {
    return typeof x == "object" && x !== null && x.$$typeof === t;
  }, G.isForwardRef = function(x) {
    return A(x) === g;
  }, G.isFragment = function(x) {
    return A(x) === n;
  }, G.isLazy = function(x) {
    return A(x) === v;
  }, G.isMemo = function(x) {
    return A(x) === E;
  }, G.isPortal = function(x) {
    return A(x) === r;
  }, G.isProfiler = function(x) {
    return A(x) === a;
  }, G.isStrictMode = function(x) {
    return A(x) === o;
  }, G.isSuspense = function(x) {
    return A(x) === h;
  }, G.isValidElementType = function(x) {
    return typeof x == "string" || typeof x == "function" || x === n || x === m || x === a || x === o || x === h || x === y || typeof x == "object" && x !== null && (x.$$typeof === v || x.$$typeof === E || x.$$typeof === l || x.$$typeof === u || x.$$typeof === g || x.$$typeof === C || x.$$typeof === T || x.$$typeof === N || x.$$typeof === c);
  }, G.typeOf = A, G;
}
var q = {};
/** @license React v16.13.1
 * react-is.development.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var xr;
function Vn() {
  return xr || (xr = 1, process.env.NODE_ENV !== "production" && function() {
    var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, r = e ? Symbol.for("react.portal") : 60106, n = e ? Symbol.for("react.fragment") : 60107, o = e ? Symbol.for("react.strict_mode") : 60108, a = e ? Symbol.for("react.profiler") : 60114, l = e ? Symbol.for("react.provider") : 60109, u = e ? Symbol.for("react.context") : 60110, f = e ? Symbol.for("react.async_mode") : 60111, m = e ? Symbol.for("react.concurrent_mode") : 60111, g = e ? Symbol.for("react.forward_ref") : 60112, h = e ? Symbol.for("react.suspense") : 60113, y = e ? Symbol.for("react.suspense_list") : 60120, E = e ? Symbol.for("react.memo") : 60115, v = e ? Symbol.for("react.lazy") : 60116, c = e ? Symbol.for("react.block") : 60121, C = e ? Symbol.for("react.fundamental") : 60117, T = e ? Symbol.for("react.responder") : 60118, N = e ? Symbol.for("react.scope") : 60119;
    function A(k) {
      return typeof k == "string" || typeof k == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
      k === n || k === m || k === a || k === o || k === h || k === y || typeof k == "object" && k !== null && (k.$$typeof === v || k.$$typeof === E || k.$$typeof === l || k.$$typeof === u || k.$$typeof === g || k.$$typeof === C || k.$$typeof === T || k.$$typeof === N || k.$$typeof === c);
    }
    function O(k) {
      if (typeof k == "object" && k !== null) {
        var be = k.$$typeof;
        switch (be) {
          case t:
            var st = k.type;
            switch (st) {
              case f:
              case m:
              case n:
              case a:
              case o:
              case h:
                return st;
              default:
                var mr = st && st.$$typeof;
                switch (mr) {
                  case u:
                  case g:
                  case v:
                  case E:
                  case l:
                    return mr;
                  default:
                    return be;
                }
            }
          case r:
            return be;
        }
      }
    }
    var x = f, D = m, I = u, K = l, ee = t, s = g, P = n, B = v, V = E, W = r, ie = a, te = o, le = h, pe = !1;
    function Se(k) {
      return pe || (pe = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), i(k) || O(k) === f;
    }
    function i(k) {
      return O(k) === m;
    }
    function d(k) {
      return O(k) === u;
    }
    function w(k) {
      return O(k) === l;
    }
    function _(k) {
      return typeof k == "object" && k !== null && k.$$typeof === t;
    }
    function j(k) {
      return O(k) === g;
    }
    function $(k) {
      return O(k) === n;
    }
    function M(k) {
      return O(k) === v;
    }
    function L(k) {
      return O(k) === E;
    }
    function z(k) {
      return O(k) === r;
    }
    function S(k) {
      return O(k) === a;
    }
    function R(k) {
      return O(k) === o;
    }
    function F(k) {
      return O(k) === h;
    }
    q.AsyncMode = x, q.ConcurrentMode = D, q.ContextConsumer = I, q.ContextProvider = K, q.Element = ee, q.ForwardRef = s, q.Fragment = P, q.Lazy = B, q.Memo = V, q.Portal = W, q.Profiler = ie, q.StrictMode = te, q.Suspense = le, q.isAsyncMode = Se, q.isConcurrentMode = i, q.isContextConsumer = d, q.isContextProvider = w, q.isElement = _, q.isForwardRef = j, q.isFragment = $, q.isLazy = M, q.isMemo = L, q.isPortal = z, q.isProfiler = S, q.isStrictMode = R, q.isSuspense = F, q.isValidElementType = A, q.typeOf = O;
  }()), q;
}
var vr;
function tn() {
  return vr || (vr = 1, process.env.NODE_ENV === "production" ? ct.exports = Fn() : ct.exports = Vn()), ct.exports;
}
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var Dt, wr;
function Un() {
  if (wr) return Dt;
  wr = 1;
  var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
  function n(a) {
    if (a == null)
      throw new TypeError("Object.assign cannot be called with null or undefined");
    return Object(a);
  }
  function o() {
    try {
      if (!Object.assign)
        return !1;
      var a = new String("abc");
      if (a[5] = "de", Object.getOwnPropertyNames(a)[0] === "5")
        return !1;
      for (var l = {}, u = 0; u < 10; u++)
        l["_" + String.fromCharCode(u)] = u;
      var f = Object.getOwnPropertyNames(l).map(function(g) {
        return l[g];
      });
      if (f.join("") !== "0123456789")
        return !1;
      var m = {};
      return "abcdefghijklmnopqrst".split("").forEach(function(g) {
        m[g] = g;
      }), Object.keys(Object.assign({}, m)).join("") === "abcdefghijklmnopqrst";
    } catch {
      return !1;
    }
  }
  return Dt = o() ? Object.assign : function(a, l) {
    for (var u, f = n(a), m, g = 1; g < arguments.length; g++) {
      u = Object(arguments[g]);
      for (var h in u)
        t.call(u, h) && (f[h] = u[h]);
      if (e) {
        m = e(u);
        for (var y = 0; y < m.length; y++)
          r.call(u, m[y]) && (f[m[y]] = u[m[y]]);
      }
    }
    return f;
  }, Dt;
}
var zt, Sr;
function nr() {
  if (Sr) return zt;
  Sr = 1;
  var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
  return zt = e, zt;
}
var Bt, Cr;
function rn() {
  return Cr || (Cr = 1, Bt = Function.call.bind(Object.prototype.hasOwnProperty)), Bt;
}
var Lt, Er;
function Wn() {
  if (Er) return Lt;
  Er = 1;
  var e = function() {
  };
  if (process.env.NODE_ENV !== "production") {
    var t = nr(), r = {}, n = rn();
    e = function(a) {
      var l = "Warning: " + a;
      typeof console < "u" && console.error(l);
      try {
        throw new Error(l);
      } catch {
      }
    };
  }
  function o(a, l, u, f, m) {
    if (process.env.NODE_ENV !== "production") {
      for (var g in a)
        if (n(a, g)) {
          var h;
          try {
            if (typeof a[g] != "function") {
              var y = Error(
                (f || "React class") + ": " + u + " type `" + g + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[g] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
              );
              throw y.name = "Invariant Violation", y;
            }
            h = a[g](l, g, f, u, null, t);
          } catch (v) {
            h = v;
          }
          if (h && !(h instanceof Error) && e(
            (f || "React class") + ": type specification of " + u + " `" + g + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof h + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
          ), h instanceof Error && !(h.message in r)) {
            r[h.message] = !0;
            var E = m ? m() : "";
            e(
              "Failed " + u + " type: " + h.message + (E ?? "")
            );
          }
        }
    }
  }
  return o.resetWarningCache = function() {
    process.env.NODE_ENV !== "production" && (r = {});
  }, Lt = o, Lt;
}
var Ft, Tr;
function Yn() {
  if (Tr) return Ft;
  Tr = 1;
  var e = tn(), t = Un(), r = nr(), n = rn(), o = Wn(), a = function() {
  };
  process.env.NODE_ENV !== "production" && (a = function(u) {
    var f = "Warning: " + u;
    typeof console < "u" && console.error(f);
    try {
      throw new Error(f);
    } catch {
    }
  });
  function l() {
    return null;
  }
  return Ft = function(u, f) {
    var m = typeof Symbol == "function" && Symbol.iterator, g = "@@iterator";
    function h(i) {
      var d = i && (m && i[m] || i[g]);
      if (typeof d == "function")
        return d;
    }
    var y = "<<anonymous>>", E = {
      array: T("array"),
      bigint: T("bigint"),
      bool: T("boolean"),
      func: T("function"),
      number: T("number"),
      object: T("object"),
      string: T("string"),
      symbol: T("symbol"),
      any: N(),
      arrayOf: A,
      element: O(),
      elementType: x(),
      instanceOf: D,
      node: s(),
      objectOf: K,
      oneOf: I,
      oneOfType: ee,
      shape: B,
      exact: V
    };
    function v(i, d) {
      return i === d ? i !== 0 || 1 / i === 1 / d : i !== i && d !== d;
    }
    function c(i, d) {
      this.message = i, this.data = d && typeof d == "object" ? d : {}, this.stack = "";
    }
    c.prototype = Error.prototype;
    function C(i) {
      if (process.env.NODE_ENV !== "production")
        var d = {}, w = 0;
      function _($, M, L, z, S, R, F) {
        if (z = z || y, R = R || L, F !== r) {
          if (f) {
            var k = new Error(
              "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
            );
            throw k.name = "Invariant Violation", k;
          } else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
            var be = z + ":" + L;
            !d[be] && // Avoid spamming the console because they are often not actionable except for lib authors
            w < 3 && (a(
              "You are manually calling a React.PropTypes validation function for the `" + R + "` prop on `" + z + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
            ), d[be] = !0, w++);
          }
        }
        return M[L] == null ? $ ? M[L] === null ? new c("The " + S + " `" + R + "` is marked as required " + ("in `" + z + "`, but its value is `null`.")) : new c("The " + S + " `" + R + "` is marked as required in " + ("`" + z + "`, but its value is `undefined`.")) : null : i(M, L, z, S, R);
      }
      var j = _.bind(null, !1);
      return j.isRequired = _.bind(null, !0), j;
    }
    function T(i) {
      function d(w, _, j, $, M, L) {
        var z = w[_], S = te(z);
        if (S !== i) {
          var R = le(z);
          return new c(
            "Invalid " + $ + " `" + M + "` of type " + ("`" + R + "` supplied to `" + j + "`, expected ") + ("`" + i + "`."),
            { expectedType: i }
          );
        }
        return null;
      }
      return C(d);
    }
    function N() {
      return C(l);
    }
    function A(i) {
      function d(w, _, j, $, M) {
        if (typeof i != "function")
          return new c("Property `" + M + "` of component `" + j + "` has invalid PropType notation inside arrayOf.");
        var L = w[_];
        if (!Array.isArray(L)) {
          var z = te(L);
          return new c("Invalid " + $ + " `" + M + "` of type " + ("`" + z + "` supplied to `" + j + "`, expected an array."));
        }
        for (var S = 0; S < L.length; S++) {
          var R = i(L, S, j, $, M + "[" + S + "]", r);
          if (R instanceof Error)
            return R;
        }
        return null;
      }
      return C(d);
    }
    function O() {
      function i(d, w, _, j, $) {
        var M = d[w];
        if (!u(M)) {
          var L = te(M);
          return new c("Invalid " + j + " `" + $ + "` of type " + ("`" + L + "` supplied to `" + _ + "`, expected a single ReactElement."));
        }
        return null;
      }
      return C(i);
    }
    function x() {
      function i(d, w, _, j, $) {
        var M = d[w];
        if (!e.isValidElementType(M)) {
          var L = te(M);
          return new c("Invalid " + j + " `" + $ + "` of type " + ("`" + L + "` supplied to `" + _ + "`, expected a single ReactElement type."));
        }
        return null;
      }
      return C(i);
    }
    function D(i) {
      function d(w, _, j, $, M) {
        if (!(w[_] instanceof i)) {
          var L = i.name || y, z = Se(w[_]);
          return new c("Invalid " + $ + " `" + M + "` of type " + ("`" + z + "` supplied to `" + j + "`, expected ") + ("instance of `" + L + "`."));
        }
        return null;
      }
      return C(d);
    }
    function I(i) {
      if (!Array.isArray(i))
        return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? a(
          "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
        ) : a("Invalid argument supplied to oneOf, expected an array.")), l;
      function d(w, _, j, $, M) {
        for (var L = w[_], z = 0; z < i.length; z++)
          if (v(L, i[z]))
            return null;
        var S = JSON.stringify(i, function(F, k) {
          var be = le(k);
          return be === "symbol" ? String(k) : k;
        });
        return new c("Invalid " + $ + " `" + M + "` of value `" + String(L) + "` " + ("supplied to `" + j + "`, expected one of " + S + "."));
      }
      return C(d);
    }
    function K(i) {
      function d(w, _, j, $, M) {
        if (typeof i != "function")
          return new c("Property `" + M + "` of component `" + j + "` has invalid PropType notation inside objectOf.");
        var L = w[_], z = te(L);
        if (z !== "object")
          return new c("Invalid " + $ + " `" + M + "` of type " + ("`" + z + "` supplied to `" + j + "`, expected an object."));
        for (var S in L)
          if (n(L, S)) {
            var R = i(L, S, j, $, M + "." + S, r);
            if (R instanceof Error)
              return R;
          }
        return null;
      }
      return C(d);
    }
    function ee(i) {
      if (!Array.isArray(i))
        return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), l;
      for (var d = 0; d < i.length; d++) {
        var w = i[d];
        if (typeof w != "function")
          return a(
            "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + pe(w) + " at index " + d + "."
          ), l;
      }
      function _(j, $, M, L, z) {
        for (var S = [], R = 0; R < i.length; R++) {
          var F = i[R], k = F(j, $, M, L, z, r);
          if (k == null)
            return null;
          k.data && n(k.data, "expectedType") && S.push(k.data.expectedType);
        }
        var be = S.length > 0 ? ", expected one of type [" + S.join(", ") + "]" : "";
        return new c("Invalid " + L + " `" + z + "` supplied to " + ("`" + M + "`" + be + "."));
      }
      return C(_);
    }
    function s() {
      function i(d, w, _, j, $) {
        return W(d[w]) ? null : new c("Invalid " + j + " `" + $ + "` supplied to " + ("`" + _ + "`, expected a ReactNode."));
      }
      return C(i);
    }
    function P(i, d, w, _, j) {
      return new c(
        (i || "React class") + ": " + d + " type `" + w + "." + _ + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + j + "`."
      );
    }
    function B(i) {
      function d(w, _, j, $, M) {
        var L = w[_], z = te(L);
        if (z !== "object")
          return new c("Invalid " + $ + " `" + M + "` of type `" + z + "` " + ("supplied to `" + j + "`, expected `object`."));
        for (var S in i) {
          var R = i[S];
          if (typeof R != "function")
            return P(j, $, M, S, le(R));
          var F = R(L, S, j, $, M + "." + S, r);
          if (F)
            return F;
        }
        return null;
      }
      return C(d);
    }
    function V(i) {
      function d(w, _, j, $, M) {
        var L = w[_], z = te(L);
        if (z !== "object")
          return new c("Invalid " + $ + " `" + M + "` of type `" + z + "` " + ("supplied to `" + j + "`, expected `object`."));
        var S = t({}, w[_], i);
        for (var R in S) {
          var F = i[R];
          if (n(i, R) && typeof F != "function")
            return P(j, $, M, R, le(F));
          if (!F)
            return new c(
              "Invalid " + $ + " `" + M + "` key `" + R + "` supplied to `" + j + "`.\nBad object: " + JSON.stringify(w[_], null, "  ") + `
Valid keys: ` + JSON.stringify(Object.keys(i), null, "  ")
            );
          var k = F(L, R, j, $, M + "." + R, r);
          if (k)
            return k;
        }
        return null;
      }
      return C(d);
    }
    function W(i) {
      switch (typeof i) {
        case "number":
        case "string":
        case "undefined":
          return !0;
        case "boolean":
          return !i;
        case "object":
          if (Array.isArray(i))
            return i.every(W);
          if (i === null || u(i))
            return !0;
          var d = h(i);
          if (d) {
            var w = d.call(i), _;
            if (d !== i.entries) {
              for (; !(_ = w.next()).done; )
                if (!W(_.value))
                  return !1;
            } else
              for (; !(_ = w.next()).done; ) {
                var j = _.value;
                if (j && !W(j[1]))
                  return !1;
              }
          } else
            return !1;
          return !0;
        default:
          return !1;
      }
    }
    function ie(i, d) {
      return i === "symbol" ? !0 : d ? d["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && d instanceof Symbol : !1;
    }
    function te(i) {
      var d = typeof i;
      return Array.isArray(i) ? "array" : i instanceof RegExp ? "object" : ie(d, i) ? "symbol" : d;
    }
    function le(i) {
      if (typeof i > "u" || i === null)
        return "" + i;
      var d = te(i);
      if (d === "object") {
        if (i instanceof Date)
          return "date";
        if (i instanceof RegExp)
          return "regexp";
      }
      return d;
    }
    function pe(i) {
      var d = le(i);
      switch (d) {
        case "array":
        case "object":
          return "an " + d;
        case "boolean":
        case "date":
        case "regexp":
          return "a " + d;
        default:
          return d;
      }
    }
    function Se(i) {
      return !i.constructor || !i.constructor.name ? y : i.constructor.name;
    }
    return E.checkPropTypes = o, E.resetWarningCache = o.resetWarningCache, E.PropTypes = E, E;
  }, Ft;
}
var Vt, kr;
function Hn() {
  if (kr) return Vt;
  kr = 1;
  var e = nr();
  function t() {
  }
  function r() {
  }
  return r.resetWarningCache = t, Vt = function() {
    function n(l, u, f, m, g, h) {
      if (h !== e) {
        var y = new Error(
          "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
        );
        throw y.name = "Invariant Violation", y;
      }
    }
    n.isRequired = n;
    function o() {
      return n;
    }
    var a = {
      array: n,
      bigint: n,
      bool: n,
      func: n,
      number: n,
      object: n,
      string: n,
      symbol: n,
      any: n,
      arrayOf: o,
      element: n,
      elementType: n,
      instanceOf: o,
      node: n,
      objectOf: o,
      oneOf: o,
      oneOfType: o,
      shape: o,
      exact: o,
      checkPropTypes: r,
      resetWarningCache: t
    };
    return a.PropTypes = a, a;
  }, Vt;
}
if (process.env.NODE_ENV !== "production") {
  var Gn = tn(), qn = !0;
  qt.exports = Yn()(Gn.isElement, qn);
} else
  qt.exports = Hn()();
var Kn = qt.exports;
const U = /* @__PURE__ */ Mn(Kn);
function nn(e) {
  var t, r, n = "";
  if (typeof e == "string" || typeof e == "number") n += e;
  else if (typeof e == "object") if (Array.isArray(e)) {
    var o = e.length;
    for (t = 0; t < o; t++) e[t] && (r = nn(e[t])) && (n && (n += " "), n += r);
  } else for (r in e) e[r] && (n && (n += " "), n += r);
  return n;
}
function Xn() {
  for (var e, t, r = 0, n = "", o = arguments.length; r < o; r++) (e = arguments[r]) && (t = nn(e)) && (n && (n += " "), n += t);
  return n;
}
function Jn(e, t, r = void 0) {
  const n = {};
  for (const o in e) {
    const a = e[o];
    let l = "", u = !0;
    for (let f = 0; f < a.length; f += 1) {
      const m = a[f];
      m && (l += (u === !0 ? "" : " ") + t(m), u = !1, r && r[m] && (l += " " + r[m]));
    }
    n[o] = l;
  }
  return n;
}
var Kt = { exports: {} }, X = {};
/**
 * @license React
 * react-is.production.js
 *
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var Or;
function Qn() {
  if (Or) return X;
  Or = 1;
  var e = Symbol.for("react.transitional.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), a = Symbol.for("react.consumer"), l = Symbol.for("react.context"), u = Symbol.for("react.forward_ref"), f = Symbol.for("react.suspense"), m = Symbol.for("react.suspense_list"), g = Symbol.for("react.memo"), h = Symbol.for("react.lazy"), y = Symbol.for("react.view_transition"), E = Symbol.for("react.client.reference");
  function v(c) {
    if (typeof c == "object" && c !== null) {
      var C = c.$$typeof;
      switch (C) {
        case e:
          switch (c = c.type, c) {
            case r:
            case o:
            case n:
            case f:
            case m:
            case y:
              return c;
            default:
              switch (c = c && c.$$typeof, c) {
                case l:
                case u:
                case h:
                case g:
                  return c;
                case a:
                  return c;
                default:
                  return C;
              }
          }
        case t:
          return C;
      }
    }
  }
  return X.ContextConsumer = a, X.ContextProvider = l, X.Element = e, X.ForwardRef = u, X.Fragment = r, X.Lazy = h, X.Memo = g, X.Portal = t, X.Profiler = o, X.StrictMode = n, X.Suspense = f, X.SuspenseList = m, X.isContextConsumer = function(c) {
    return v(c) === a;
  }, X.isContextProvider = function(c) {
    return v(c) === l;
  }, X.isElement = function(c) {
    return typeof c == "object" && c !== null && c.$$typeof === e;
  }, X.isForwardRef = function(c) {
    return v(c) === u;
  }, X.isFragment = function(c) {
    return v(c) === r;
  }, X.isLazy = function(c) {
    return v(c) === h;
  }, X.isMemo = function(c) {
    return v(c) === g;
  }, X.isPortal = function(c) {
    return v(c) === t;
  }, X.isProfiler = function(c) {
    return v(c) === o;
  }, X.isStrictMode = function(c) {
    return v(c) === n;
  }, X.isSuspense = function(c) {
    return v(c) === f;
  }, X.isSuspenseList = function(c) {
    return v(c) === m;
  }, X.isValidElementType = function(c) {
    return typeof c == "string" || typeof c == "function" || c === r || c === o || c === n || c === f || c === m || typeof c == "object" && c !== null && (c.$$typeof === h || c.$$typeof === g || c.$$typeof === l || c.$$typeof === a || c.$$typeof === u || c.$$typeof === E || c.getModuleId !== void 0);
  }, X.typeOf = v, X;
}
var J = {};
/**
 * @license React
 * react-is.development.js
 *
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
var _r;
function Zn() {
  return _r || (_r = 1, process.env.NODE_ENV !== "production" && function() {
    function e(c) {
      if (typeof c == "object" && c !== null) {
        var C = c.$$typeof;
        switch (C) {
          case t:
            switch (c = c.type, c) {
              case n:
              case a:
              case o:
              case m:
              case g:
              case E:
                return c;
              default:
                switch (c = c && c.$$typeof, c) {
                  case u:
                  case f:
                  case y:
                  case h:
                    return c;
                  case l:
                    return c;
                  default:
                    return C;
                }
            }
          case r:
            return C;
        }
      }
    }
    var t = Symbol.for("react.transitional.element"), r = Symbol.for("react.portal"), n = Symbol.for("react.fragment"), o = Symbol.for("react.strict_mode"), a = Symbol.for("react.profiler"), l = Symbol.for("react.consumer"), u = Symbol.for("react.context"), f = Symbol.for("react.forward_ref"), m = Symbol.for("react.suspense"), g = Symbol.for("react.suspense_list"), h = Symbol.for("react.memo"), y = Symbol.for("react.lazy"), E = Symbol.for("react.view_transition"), v = Symbol.for("react.client.reference");
    J.ContextConsumer = l, J.ContextProvider = u, J.Element = t, J.ForwardRef = f, J.Fragment = n, J.Lazy = y, J.Memo = h, J.Portal = r, J.Profiler = a, J.StrictMode = o, J.Suspense = m, J.SuspenseList = g, J.isContextConsumer = function(c) {
      return e(c) === l;
    }, J.isContextProvider = function(c) {
      return e(c) === u;
    }, J.isElement = function(c) {
      return typeof c == "object" && c !== null && c.$$typeof === t;
    }, J.isForwardRef = function(c) {
      return e(c) === f;
    }, J.isFragment = function(c) {
      return e(c) === n;
    }, J.isLazy = function(c) {
      return e(c) === y;
    }, J.isMemo = function(c) {
      return e(c) === h;
    }, J.isPortal = function(c) {
      return e(c) === r;
    }, J.isProfiler = function(c) {
      return e(c) === a;
    }, J.isStrictMode = function(c) {
      return e(c) === o;
    }, J.isSuspense = function(c) {
      return e(c) === m;
    }, J.isSuspenseList = function(c) {
      return e(c) === g;
    }, J.isValidElementType = function(c) {
      return typeof c == "string" || typeof c == "function" || c === n || c === a || c === o || c === m || c === g || typeof c == "object" && c !== null && (c.$$typeof === y || c.$$typeof === h || c.$$typeof === u || c.$$typeof === l || c.$$typeof === f || c.$$typeof === v || c.getModuleId !== void 0);
    }, J.typeOf = e;
  }()), J;
}
process.env.NODE_ENV === "production" ? Kt.exports = Qn() : Kt.exports = Zn();
var yt = Kt.exports;
function _e(e) {
  if (typeof e != "object" || e === null)
    return !1;
  const t = Object.getPrototypeOf(e);
  return (t === null || t === Object.prototype || Object.getPrototypeOf(t) === null) && !(Symbol.toStringTag in e) && !(Symbol.iterator in e);
}
function on(e) {
  if (/* @__PURE__ */ de.isValidElement(e) || yt.isValidElementType(e) || !_e(e))
    return e;
  const t = {};
  return Object.keys(e).forEach((r) => {
    t[r] = on(e[r]);
  }), t;
}
function ge(e, t, r = {
  clone: !0
}) {
  const n = r.clone ? {
    ...e
  } : e;
  return _e(e) && _e(t) && Object.keys(t).forEach((o) => {
    /* @__PURE__ */ de.isValidElement(t[o]) || yt.isValidElementType(t[o]) ? n[o] = t[o] : _e(t[o]) && // Avoid prototype pollution
    Object.prototype.hasOwnProperty.call(e, o) && _e(e[o]) ? n[o] = ge(e[o], t[o], r) : r.clone ? n[o] = _e(t[o]) ? on(t[o]) : t[o] : n[o] = t[o];
  }), n;
}
function Ze(e, t) {
  return t ? ge(e, t, {
    clone: !1
    // No need to clone deep, it's way faster.
  }) : e;
}
const Ne = process.env.NODE_ENV !== "production" ? U.oneOfType([U.number, U.string, U.object, U.array]) : {};
function eo(e, t) {
  if (!e.containerQueries)
    return t;
  const r = Object.keys(t).filter((n) => n.startsWith("@container")).sort((n, o) => {
    var l, u;
    const a = /min-width:\s*([0-9.]+)/;
    return +(((l = n.match(a)) == null ? void 0 : l[1]) || 0) - +(((u = o.match(a)) == null ? void 0 : u[1]) || 0);
  });
  return r.length ? r.reduce((n, o) => {
    const a = t[o];
    return delete n[o], n[o] = a, n;
  }, {
    ...t
  }) : t;
}
function to(e, t) {
  return t === "@" || t.startsWith("@") && (e.some((r) => t.startsWith(`@${r}`)) || !!t.match(/^@\d/));
}
function ro(e, t) {
  const r = t.match(/^@([^/]+)?\/?(.+)?$/);
  if (!r) {
    if (process.env.NODE_ENV !== "production")
      throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The provided shorthand ${`(${t})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container>\`.
For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.` : je(18, `(${t})`));
    return null;
  }
  const [, n, o] = r, a = Number.isNaN(+n) ? n || 0 : +n;
  return e.containerQueries(o).up(a);
}
function no(e) {
  const t = (a, l) => a.replace("@media", l ? `@container ${l}` : "@container");
  function r(a, l) {
    a.up = (...u) => t(e.breakpoints.up(...u), l), a.down = (...u) => t(e.breakpoints.down(...u), l), a.between = (...u) => t(e.breakpoints.between(...u), l), a.only = (...u) => t(e.breakpoints.only(...u), l), a.not = (...u) => {
      const f = t(e.breakpoints.not(...u), l);
      return f.includes("not all and") ? f.replace("not all and ", "").replace("min-width:", "width<").replace("max-width:", "width>").replace("and", "or") : f;
    };
  }
  const n = {}, o = (a) => (r(n, a), n);
  return r(o), {
    ...e,
    containerQueries: o
  };
}
const Ct = {
  xs: 0,
  // phone
  sm: 600,
  // tablet
  md: 900,
  // small laptop
  lg: 1200,
  // desktop
  xl: 1536
  // large screen
}, Rr = {
  // Sorted ASC by size. That's important.
  // It can't be configured as it's used statically for propTypes.
  keys: ["xs", "sm", "md", "lg", "xl"],
  up: (e) => `@media (min-width:${Ct[e]}px)`
}, oo = {
  containerQueries: (e) => ({
    up: (t) => {
      let r = typeof t == "number" ? t : Ct[t] || t;
      return typeof r == "number" && (r = `${r}px`), e ? `@container ${e} (min-width:${r})` : `@container (min-width:${r})`;
    }
  })
};
function Re(e, t, r) {
  const n = e.theme || {};
  if (Array.isArray(t)) {
    const a = n.breakpoints || Rr;
    return t.reduce((l, u, f) => (l[a.up(a.keys[f])] = r(t[f]), l), {});
  }
  if (typeof t == "object") {
    const a = n.breakpoints || Rr;
    return Object.keys(t).reduce((l, u) => {
      if (to(a.keys, u)) {
        const f = ro(n.containerQueries ? n : oo, u);
        f && (l[f] = r(t[u], u));
      } else if (Object.keys(a.values || Ct).includes(u)) {
        const f = a.up(u);
        l[f] = r(t[u], u);
      } else {
        const f = u;
        l[f] = t[f];
      }
      return l;
    }, {});
  }
  return r(t);
}
function ao(e = {}) {
  var r;
  return ((r = e.keys) == null ? void 0 : r.reduce((n, o) => {
    const a = e.up(o);
    return n[a] = {}, n;
  }, {})) || {};
}
function io(e, t) {
  return e.reduce((r, n) => {
    const o = r[n];
    return (!o || Object.keys(o).length === 0) && delete r[n], r;
  }, t);
}
function Et(e, t, r = !0) {
  if (!t || typeof t != "string")
    return null;
  if (e && e.vars && r) {
    const n = `vars.${t}`.split(".").reduce((o, a) => o && o[a] ? o[a] : null, e);
    if (n != null)
      return n;
  }
  return t.split(".").reduce((n, o) => n && n[o] != null ? n[o] : null, e);
}
function bt(e, t, r, n = r) {
  let o;
  return typeof e == "function" ? o = e(r) : Array.isArray(e) ? o = e[r] || n : o = Et(e, r) || n, t && (o = t(o, n, e)), o;
}
function se(e) {
  const {
    prop: t,
    cssProperty: r = e.prop,
    themeKey: n,
    transform: o
  } = e, a = (l) => {
    if (l[t] == null)
      return null;
    const u = l[t], f = l.theme, m = Et(f, n) || {};
    return Re(l, u, (h) => {
      let y = bt(m, o, h);
      return h === y && typeof h == "string" && (y = bt(m, o, `${t}${h === "default" ? "" : Ie(h)}`, h)), r === !1 ? y : {
        [r]: y
      };
    });
  };
  return a.propTypes = process.env.NODE_ENV !== "production" ? {
    [t]: Ne
  } : {}, a.filterProps = [t], a;
}
function so(e) {
  const t = {};
  return (r) => (t[r] === void 0 && (t[r] = e(r)), t[r]);
}
const co = {
  m: "margin",
  p: "padding"
}, lo = {
  t: "Top",
  r: "Right",
  b: "Bottom",
  l: "Left",
  x: ["Left", "Right"],
  y: ["Top", "Bottom"]
}, Pr = {
  marginX: "mx",
  marginY: "my",
  paddingX: "px",
  paddingY: "py"
}, uo = so((e) => {
  if (e.length > 2)
    if (Pr[e])
      e = Pr[e];
    else
      return [e];
  const [t, r] = e.split(""), n = co[t], o = lo[r] || "";
  return Array.isArray(o) ? o.map((a) => n + a) : [n + o];
}), Tt = ["m", "mt", "mr", "mb", "ml", "mx", "my", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginX", "marginY", "marginInline", "marginInlineStart", "marginInlineEnd", "marginBlock", "marginBlockStart", "marginBlockEnd"], kt = ["p", "pt", "pr", "pb", "pl", "px", "py", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingX", "paddingY", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "paddingBlock", "paddingBlockStart", "paddingBlockEnd"], fo = [...Tt, ...kt];
function ot(e, t, r, n) {
  const o = Et(e, t, !0) ?? r;
  return typeof o == "number" || typeof o == "string" ? (a) => typeof a == "string" ? a : (process.env.NODE_ENV !== "production" && typeof a != "number" && console.error(`MUI: Expected ${n} argument to be a number or a string, got ${a}.`), typeof o == "string" ? o.startsWith("var(") && a === 0 ? 0 : o.startsWith("var(") && a === 1 ? o : `calc(${a} * ${o})` : o * a) : Array.isArray(o) ? (a) => {
    if (typeof a == "string")
      return a;
    const l = Math.abs(a);
    process.env.NODE_ENV !== "production" && (Number.isInteger(l) ? l > o.length - 1 && console.error([`MUI: The value provided (${l}) overflows.`, `The supported values are: ${JSON.stringify(o)}.`, `${l} > ${o.length - 1}, you need to add the missing values.`].join(`
`)) : console.error([`MUI: The \`theme.${t}\` array type cannot be combined with non integer values.You should either use an integer value that can be used as index, or define the \`theme.${t}\` as a number.`].join(`
`)));
    const u = o[l];
    return a >= 0 ? u : typeof u == "number" ? -u : typeof u == "string" && u.startsWith("var(") ? `calc(-1 * ${u})` : `-${u}`;
  } : typeof o == "function" ? o : (process.env.NODE_ENV !== "production" && console.error([`MUI: The \`theme.${t}\` value (${o}) is invalid.`, "It should be a number, an array or a function."].join(`
`)), () => {
  });
}
function or(e) {
  return ot(e, "spacing", 8, "spacing");
}
function at(e, t) {
  return typeof t == "string" || t == null ? t : e(t);
}
function po(e, t) {
  return (r) => e.reduce((n, o) => (n[o] = at(t, r), n), {});
}
function mo(e, t, r, n) {
  if (!t.includes(r))
    return null;
  const o = uo(r), a = po(o, n), l = e[r];
  return Re(e, l, a);
}
function an(e, t) {
  const r = or(e.theme);
  return Object.keys(e).map((n) => mo(e, t, n, r)).reduce(Ze, {});
}
function oe(e) {
  return an(e, Tt);
}
oe.propTypes = process.env.NODE_ENV !== "production" ? Tt.reduce((e, t) => (e[t] = Ne, e), {}) : {};
oe.filterProps = Tt;
function ae(e) {
  return an(e, kt);
}
ae.propTypes = process.env.NODE_ENV !== "production" ? kt.reduce((e, t) => (e[t] = Ne, e), {}) : {};
ae.filterProps = kt;
process.env.NODE_ENV !== "production" && fo.reduce((e, t) => (e[t] = Ne, e), {});
function Ot(...e) {
  const t = e.reduce((n, o) => (o.filterProps.forEach((a) => {
    n[a] = o;
  }), n), {}), r = (n) => Object.keys(n).reduce((o, a) => t[a] ? Ze(o, t[a](n)) : o, {});
  return r.propTypes = process.env.NODE_ENV !== "production" ? e.reduce((n, o) => Object.assign(n, o.propTypes), {}) : {}, r.filterProps = e.reduce((n, o) => n.concat(o.filterProps), []), r;
}
function xe(e) {
  return typeof e != "number" ? e : `${e}px solid`;
}
function ve(e, t) {
  return se({
    prop: e,
    themeKey: "borders",
    transform: t
  });
}
const ho = ve("border", xe), go = ve("borderTop", xe), yo = ve("borderRight", xe), bo = ve("borderBottom", xe), xo = ve("borderLeft", xe), vo = ve("borderColor"), wo = ve("borderTopColor"), So = ve("borderRightColor"), Co = ve("borderBottomColor"), Eo = ve("borderLeftColor"), To = ve("outline", xe), ko = ve("outlineColor"), _t = (e) => {
  if (e.borderRadius !== void 0 && e.borderRadius !== null) {
    const t = ot(e.theme, "shape.borderRadius", 4, "borderRadius"), r = (n) => ({
      borderRadius: at(t, n)
    });
    return Re(e, e.borderRadius, r);
  }
  return null;
};
_t.propTypes = process.env.NODE_ENV !== "production" ? {
  borderRadius: Ne
} : {};
_t.filterProps = ["borderRadius"];
Ot(ho, go, yo, bo, xo, vo, wo, So, Co, Eo, _t, To, ko);
const Rt = (e) => {
  if (e.gap !== void 0 && e.gap !== null) {
    const t = ot(e.theme, "spacing", 8, "gap"), r = (n) => ({
      gap: at(t, n)
    });
    return Re(e, e.gap, r);
  }
  return null;
};
Rt.propTypes = process.env.NODE_ENV !== "production" ? {
  gap: Ne
} : {};
Rt.filterProps = ["gap"];
const Pt = (e) => {
  if (e.columnGap !== void 0 && e.columnGap !== null) {
    const t = ot(e.theme, "spacing", 8, "columnGap"), r = (n) => ({
      columnGap: at(t, n)
    });
    return Re(e, e.columnGap, r);
  }
  return null;
};
Pt.propTypes = process.env.NODE_ENV !== "production" ? {
  columnGap: Ne
} : {};
Pt.filterProps = ["columnGap"];
const At = (e) => {
  if (e.rowGap !== void 0 && e.rowGap !== null) {
    const t = ot(e.theme, "spacing", 8, "rowGap"), r = (n) => ({
      rowGap: at(t, n)
    });
    return Re(e, e.rowGap, r);
  }
  return null;
};
At.propTypes = process.env.NODE_ENV !== "production" ? {
  rowGap: Ne
} : {};
At.filterProps = ["rowGap"];
const Oo = se({
  prop: "gridColumn"
}), _o = se({
  prop: "gridRow"
}), Ro = se({
  prop: "gridAutoFlow"
}), Po = se({
  prop: "gridAutoColumns"
}), Ao = se({
  prop: "gridAutoRows"
}), jo = se({
  prop: "gridTemplateColumns"
}), $o = se({
  prop: "gridTemplateRows"
}), No = se({
  prop: "gridTemplateAreas"
}), Io = se({
  prop: "gridArea"
});
Ot(Rt, Pt, At, Oo, _o, Ro, Po, Ao, jo, $o, No, Io);
function Fe(e, t) {
  return t === "grey" ? t : e;
}
const Mo = se({
  prop: "color",
  themeKey: "palette",
  transform: Fe
}), Do = se({
  prop: "bgcolor",
  cssProperty: "backgroundColor",
  themeKey: "palette",
  transform: Fe
}), zo = se({
  prop: "backgroundColor",
  themeKey: "palette",
  transform: Fe
});
Ot(Mo, Do, zo);
function he(e) {
  return e <= 1 && e !== 0 ? `${e * 100}%` : e;
}
const Bo = se({
  prop: "width",
  transform: he
}), ar = (e) => {
  if (e.maxWidth !== void 0 && e.maxWidth !== null) {
    const t = (r) => {
      var o, a, l, u, f;
      const n = ((l = (a = (o = e.theme) == null ? void 0 : o.breakpoints) == null ? void 0 : a.values) == null ? void 0 : l[r]) || Ct[r];
      return n ? ((f = (u = e.theme) == null ? void 0 : u.breakpoints) == null ? void 0 : f.unit) !== "px" ? {
        maxWidth: `${n}${e.theme.breakpoints.unit}`
      } : {
        maxWidth: n
      } : {
        maxWidth: he(r)
      };
    };
    return Re(e, e.maxWidth, t);
  }
  return null;
};
ar.filterProps = ["maxWidth"];
const Lo = se({
  prop: "minWidth",
  transform: he
}), Fo = se({
  prop: "height",
  transform: he
}), Vo = se({
  prop: "maxHeight",
  transform: he
}), Uo = se({
  prop: "minHeight",
  transform: he
});
se({
  prop: "size",
  cssProperty: "width",
  transform: he
});
se({
  prop: "size",
  cssProperty: "height",
  transform: he
});
const Wo = se({
  prop: "boxSizing"
});
Ot(Bo, ar, Lo, Fo, Vo, Uo, Wo);
const jt = {
  // borders
  border: {
    themeKey: "borders",
    transform: xe
  },
  borderTop: {
    themeKey: "borders",
    transform: xe
  },
  borderRight: {
    themeKey: "borders",
    transform: xe
  },
  borderBottom: {
    themeKey: "borders",
    transform: xe
  },
  borderLeft: {
    themeKey: "borders",
    transform: xe
  },
  borderColor: {
    themeKey: "palette"
  },
  borderTopColor: {
    themeKey: "palette"
  },
  borderRightColor: {
    themeKey: "palette"
  },
  borderBottomColor: {
    themeKey: "palette"
  },
  borderLeftColor: {
    themeKey: "palette"
  },
  outline: {
    themeKey: "borders",
    transform: xe
  },
  outlineColor: {
    themeKey: "palette"
  },
  borderRadius: {
    themeKey: "shape.borderRadius",
    style: _t
  },
  // palette
  color: {
    themeKey: "palette",
    transform: Fe
  },
  bgcolor: {
    themeKey: "palette",
    cssProperty: "backgroundColor",
    transform: Fe
  },
  backgroundColor: {
    themeKey: "palette",
    transform: Fe
  },
  // spacing
  p: {
    style: ae
  },
  pt: {
    style: ae
  },
  pr: {
    style: ae
  },
  pb: {
    style: ae
  },
  pl: {
    style: ae
  },
  px: {
    style: ae
  },
  py: {
    style: ae
  },
  padding: {
    style: ae
  },
  paddingTop: {
    style: ae
  },
  paddingRight: {
    style: ae
  },
  paddingBottom: {
    style: ae
  },
  paddingLeft: {
    style: ae
  },
  paddingX: {
    style: ae
  },
  paddingY: {
    style: ae
  },
  paddingInline: {
    style: ae
  },
  paddingInlineStart: {
    style: ae
  },
  paddingInlineEnd: {
    style: ae
  },
  paddingBlock: {
    style: ae
  },
  paddingBlockStart: {
    style: ae
  },
  paddingBlockEnd: {
    style: ae
  },
  m: {
    style: oe
  },
  mt: {
    style: oe
  },
  mr: {
    style: oe
  },
  mb: {
    style: oe
  },
  ml: {
    style: oe
  },
  mx: {
    style: oe
  },
  my: {
    style: oe
  },
  margin: {
    style: oe
  },
  marginTop: {
    style: oe
  },
  marginRight: {
    style: oe
  },
  marginBottom: {
    style: oe
  },
  marginLeft: {
    style: oe
  },
  marginX: {
    style: oe
  },
  marginY: {
    style: oe
  },
  marginInline: {
    style: oe
  },
  marginInlineStart: {
    style: oe
  },
  marginInlineEnd: {
    style: oe
  },
  marginBlock: {
    style: oe
  },
  marginBlockStart: {
    style: oe
  },
  marginBlockEnd: {
    style: oe
  },
  // display
  displayPrint: {
    cssProperty: !1,
    transform: (e) => ({
      "@media print": {
        display: e
      }
    })
  },
  display: {},
  overflow: {},
  textOverflow: {},
  visibility: {},
  whiteSpace: {},
  // flexbox
  flexBasis: {},
  flexDirection: {},
  flexWrap: {},
  justifyContent: {},
  alignItems: {},
  alignContent: {},
  order: {},
  flex: {},
  flexGrow: {},
  flexShrink: {},
  alignSelf: {},
  justifyItems: {},
  justifySelf: {},
  // grid
  gap: {
    style: Rt
  },
  rowGap: {
    style: At
  },
  columnGap: {
    style: Pt
  },
  gridColumn: {},
  gridRow: {},
  gridAutoFlow: {},
  gridAutoColumns: {},
  gridAutoRows: {},
  gridTemplateColumns: {},
  gridTemplateRows: {},
  gridTemplateAreas: {},
  gridArea: {},
  // positions
  position: {},
  zIndex: {
    themeKey: "zIndex"
  },
  top: {},
  right: {},
  bottom: {},
  left: {},
  // shadows
  boxShadow: {
    themeKey: "shadows"
  },
  // sizing
  width: {
    transform: he
  },
  maxWidth: {
    style: ar
  },
  minWidth: {
    transform: he
  },
  height: {
    transform: he
  },
  maxHeight: {
    transform: he
  },
  minHeight: {
    transform: he
  },
  boxSizing: {},
  // typography
  font: {
    themeKey: "font"
  },
  fontFamily: {
    themeKey: "typography"
  },
  fontSize: {
    themeKey: "typography"
  },
  fontStyle: {
    themeKey: "typography"
  },
  fontWeight: {
    themeKey: "typography"
  },
  letterSpacing: {},
  textTransform: {},
  lineHeight: {},
  textAlign: {},
  typography: {
    cssProperty: !1,
    themeKey: "typography"
  }
};
function Yo(...e) {
  const t = e.reduce((n, o) => n.concat(Object.keys(o)), []), r = new Set(t);
  return e.every((n) => r.size === Object.keys(n).length);
}
function Ho(e, t) {
  return typeof e == "function" ? e(t) : e;
}
function Go() {
  function e(r, n, o, a) {
    const l = {
      [r]: n,
      theme: o
    }, u = a[r];
    if (!u)
      return {
        [r]: n
      };
    const {
      cssProperty: f = r,
      themeKey: m,
      transform: g,
      style: h
    } = u;
    if (n == null)
      return null;
    if (m === "typography" && n === "inherit")
      return {
        [r]: n
      };
    const y = Et(o, m) || {};
    return h ? h(l) : Re(l, n, (v) => {
      let c = bt(y, g, v);
      return v === c && typeof v == "string" && (c = bt(y, g, `${r}${v === "default" ? "" : Ie(v)}`, v)), f === !1 ? c : {
        [f]: c
      };
    });
  }
  function t(r) {
    const {
      sx: n,
      theme: o = {}
    } = r || {};
    if (!n)
      return null;
    const a = o.unstable_sxConfig ?? jt;
    function l(u) {
      let f = u;
      if (typeof u == "function")
        f = u(o);
      else if (typeof u != "object")
        return u;
      if (!f)
        return null;
      const m = ao(o.breakpoints), g = Object.keys(m);
      let h = m;
      return Object.keys(f).forEach((y) => {
        const E = Ho(f[y], o);
        if (E != null)
          if (typeof E == "object")
            if (a[y])
              h = Ze(h, e(y, E, o, a));
            else {
              const v = Re({
                theme: o
              }, E, (c) => ({
                [y]: c
              }));
              Yo(v, E) ? h[y] = t({
                sx: E,
                theme: o
              }) : h = Ze(h, v);
            }
          else
            h = Ze(h, e(y, E, o, a));
      }), eo(o, io(g, h));
    }
    return Array.isArray(n) ? n.map(l) : l(n);
  }
  return t;
}
const Ue = Go();
Ue.filterProps = ["sx"];
function Xt() {
  return Xt = Object.assign ? Object.assign.bind() : function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var r = arguments[t];
      for (var n in r) ({}).hasOwnProperty.call(r, n) && (e[n] = r[n]);
    }
    return e;
  }, Xt.apply(null, arguments);
}
function qo(e) {
  if (e.sheet)
    return e.sheet;
  for (var t = 0; t < document.styleSheets.length; t++)
    if (document.styleSheets[t].ownerNode === e)
      return document.styleSheets[t];
}
function Ko(e) {
  var t = document.createElement("style");
  return t.setAttribute("data-emotion", e.key), e.nonce !== void 0 && t.setAttribute("nonce", e.nonce), t.appendChild(document.createTextNode("")), t.setAttribute("data-s", ""), t;
}
var Xo = /* @__PURE__ */ function() {
  function e(r) {
    var n = this;
    this._insertTag = function(o) {
      var a;
      n.tags.length === 0 ? n.insertionPoint ? a = n.insertionPoint.nextSibling : n.prepend ? a = n.container.firstChild : a = n.before : a = n.tags[n.tags.length - 1].nextSibling, n.container.insertBefore(o, a), n.tags.push(o);
    }, this.isSpeedy = r.speedy === void 0 ? !0 : r.speedy, this.tags = [], this.ctr = 0, this.nonce = r.nonce, this.key = r.key, this.container = r.container, this.prepend = r.prepend, this.insertionPoint = r.insertionPoint, this.before = null;
  }
  var t = e.prototype;
  return t.hydrate = function(n) {
    n.forEach(this._insertTag);
  }, t.insert = function(n) {
    this.ctr % (this.isSpeedy ? 65e3 : 1) === 0 && this._insertTag(Ko(this));
    var o = this.tags[this.tags.length - 1];
    if (this.isSpeedy) {
      var a = qo(o);
      try {
        a.insertRule(n, a.cssRules.length);
      } catch {
      }
    } else
      o.appendChild(document.createTextNode(n));
    this.ctr++;
  }, t.flush = function() {
    this.tags.forEach(function(n) {
      var o;
      return (o = n.parentNode) == null ? void 0 : o.removeChild(n);
    }), this.tags = [], this.ctr = 0;
  }, e;
}(), fe = "-ms-", xt = "-moz-", Y = "-webkit-", sn = "comm", ir = "rule", sr = "decl", Jo = "@import", cn = "@keyframes", Qo = "@layer", Zo = Math.abs, $t = String.fromCharCode, ea = Object.assign;
function ta(e, t) {
  return ue(e, 0) ^ 45 ? (((t << 2 ^ ue(e, 0)) << 2 ^ ue(e, 1)) << 2 ^ ue(e, 2)) << 2 ^ ue(e, 3) : 0;
}
function ln(e) {
  return e.trim();
}
function ra(e, t) {
  return (e = t.exec(e)) ? e[0] : e;
}
function H(e, t, r) {
  return e.replace(t, r);
}
function Jt(e, t) {
  return e.indexOf(t);
}
function ue(e, t) {
  return e.charCodeAt(t) | 0;
}
function et(e, t, r) {
  return e.slice(t, r);
}
function Ee(e) {
  return e.length;
}
function cr(e) {
  return e.length;
}
function lt(e, t) {
  return t.push(e), e;
}
function na(e, t) {
  return e.map(t).join("");
}
var Nt = 1, We = 1, un = 0, me = 0, ce = 0, Ye = "";
function It(e, t, r, n, o, a, l) {
  return { value: e, root: t, parent: r, type: n, props: o, children: a, line: Nt, column: We, length: l, return: "" };
}
function Ke(e, t) {
  return ea(It("", null, null, "", null, null, 0), e, { length: -e.length }, t);
}
function oa() {
  return ce;
}
function aa() {
  return ce = me > 0 ? ue(Ye, --me) : 0, We--, ce === 10 && (We = 1, Nt--), ce;
}
function ye() {
  return ce = me < un ? ue(Ye, me++) : 0, We++, ce === 10 && (We = 1, Nt++), ce;
}
function ke() {
  return ue(Ye, me);
}
function pt() {
  return me;
}
function it(e, t) {
  return et(Ye, e, t);
}
function tt(e) {
  switch (e) {
    case 0:
    case 9:
    case 10:
    case 13:
    case 32:
      return 5;
    case 33:
    case 43:
    case 44:
    case 47:
    case 62:
    case 64:
    case 126:
    case 59:
    case 123:
    case 125:
      return 4;
    case 58:
      return 3;
    case 34:
    case 39:
    case 40:
    case 91:
      return 2;
    case 41:
    case 93:
      return 1;
  }
  return 0;
}
function dn(e) {
  return Nt = We = 1, un = Ee(Ye = e), me = 0, [];
}
function fn(e) {
  return Ye = "", e;
}
function mt(e) {
  return ln(it(me - 1, Qt(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
}
function ia(e) {
  for (; (ce = ke()) && ce < 33; )
    ye();
  return tt(e) > 2 || tt(ce) > 3 ? "" : " ";
}
function sa(e, t) {
  for (; --t && ye() && !(ce < 48 || ce > 102 || ce > 57 && ce < 65 || ce > 70 && ce < 97); )
    ;
  return it(e, pt() + (t < 6 && ke() == 32 && ye() == 32));
}
function Qt(e) {
  for (; ye(); )
    switch (ce) {
      case e:
        return me;
      case 34:
      case 39:
        e !== 34 && e !== 39 && Qt(ce);
        break;
      case 40:
        e === 41 && Qt(e);
        break;
      case 92:
        ye();
        break;
    }
  return me;
}
function ca(e, t) {
  for (; ye() && e + ce !== 57; )
    if (e + ce === 84 && ke() === 47)
      break;
  return "/*" + it(t, me - 1) + "*" + $t(e === 47 ? e : ye());
}
function la(e) {
  for (; !tt(ke()); )
    ye();
  return it(e, me);
}
function ua(e) {
  return fn(ht("", null, null, null, [""], e = dn(e), 0, [0], e));
}
function ht(e, t, r, n, o, a, l, u, f) {
  for (var m = 0, g = 0, h = l, y = 0, E = 0, v = 0, c = 1, C = 1, T = 1, N = 0, A = "", O = o, x = a, D = n, I = A; C; )
    switch (v = N, N = ye()) {
      case 40:
        if (v != 108 && ue(I, h - 1) == 58) {
          Jt(I += H(mt(N), "&", "&\f"), "&\f") != -1 && (T = -1);
          break;
        }
      case 34:
      case 39:
      case 91:
        I += mt(N);
        break;
      case 9:
      case 10:
      case 13:
      case 32:
        I += ia(v);
        break;
      case 92:
        I += sa(pt() - 1, 7);
        continue;
      case 47:
        switch (ke()) {
          case 42:
          case 47:
            lt(da(ca(ye(), pt()), t, r), f);
            break;
          default:
            I += "/";
        }
        break;
      case 123 * c:
        u[m++] = Ee(I) * T;
      case 125 * c:
      case 59:
      case 0:
        switch (N) {
          case 0:
          case 125:
            C = 0;
          case 59 + g:
            T == -1 && (I = H(I, /\f/g, "")), E > 0 && Ee(I) - h && lt(E > 32 ? jr(I + ";", n, r, h - 1) : jr(H(I, " ", "") + ";", n, r, h - 2), f);
            break;
          case 59:
            I += ";";
          default:
            if (lt(D = Ar(I, t, r, m, g, o, u, A, O = [], x = [], h), a), N === 123)
              if (g === 0)
                ht(I, t, D, D, O, a, h, u, x);
              else
                switch (y === 99 && ue(I, 3) === 110 ? 100 : y) {
                  case 100:
                  case 108:
                  case 109:
                  case 115:
                    ht(e, D, D, n && lt(Ar(e, D, D, 0, 0, o, u, A, o, O = [], h), x), o, x, h, u, n ? O : x);
                    break;
                  default:
                    ht(I, D, D, D, [""], x, 0, u, x);
                }
        }
        m = g = E = 0, c = T = 1, A = I = "", h = l;
        break;
      case 58:
        h = 1 + Ee(I), E = v;
      default:
        if (c < 1) {
          if (N == 123)
            --c;
          else if (N == 125 && c++ == 0 && aa() == 125)
            continue;
        }
        switch (I += $t(N), N * c) {
          case 38:
            T = g > 0 ? 1 : (I += "\f", -1);
            break;
          case 44:
            u[m++] = (Ee(I) - 1) * T, T = 1;
            break;
          case 64:
            ke() === 45 && (I += mt(ye())), y = ke(), g = h = Ee(A = I += la(pt())), N++;
            break;
          case 45:
            v === 45 && Ee(I) == 2 && (c = 0);
        }
    }
  return a;
}
function Ar(e, t, r, n, o, a, l, u, f, m, g) {
  for (var h = o - 1, y = o === 0 ? a : [""], E = cr(y), v = 0, c = 0, C = 0; v < n; ++v)
    for (var T = 0, N = et(e, h + 1, h = Zo(c = l[v])), A = e; T < E; ++T)
      (A = ln(c > 0 ? y[T] + " " + N : H(N, /&\f/g, y[T]))) && (f[C++] = A);
  return It(e, t, r, o === 0 ? ir : u, f, m, g);
}
function da(e, t, r) {
  return It(e, t, r, sn, $t(oa()), et(e, 2, -2), 0);
}
function jr(e, t, r, n) {
  return It(e, t, r, sr, et(e, 0, n), et(e, n + 1, -1), n);
}
function Ve(e, t) {
  for (var r = "", n = cr(e), o = 0; o < n; o++)
    r += t(e[o], o, e, t) || "";
  return r;
}
function fa(e, t, r, n) {
  switch (e.type) {
    case Qo:
      if (e.children.length) break;
    case Jo:
    case sr:
      return e.return = e.return || e.value;
    case sn:
      return "";
    case cn:
      return e.return = e.value + "{" + Ve(e.children, n) + "}";
    case ir:
      e.value = e.props.join(",");
  }
  return Ee(r = Ve(e.children, n)) ? e.return = e.value + "{" + r + "}" : "";
}
function pa(e) {
  var t = cr(e);
  return function(r, n, o, a) {
    for (var l = "", u = 0; u < t; u++)
      l += e[u](r, n, o, a) || "";
    return l;
  };
}
function ma(e) {
  return function(t) {
    t.root || (t = t.return) && e(t);
  };
}
function pn(e) {
  var t = /* @__PURE__ */ Object.create(null);
  return function(r) {
    return t[r] === void 0 && (t[r] = e(r)), t[r];
  };
}
var ha = function(t, r, n) {
  for (var o = 0, a = 0; o = a, a = ke(), o === 38 && a === 12 && (r[n] = 1), !tt(a); )
    ye();
  return it(t, me);
}, ga = function(t, r) {
  var n = -1, o = 44;
  do
    switch (tt(o)) {
      case 0:
        o === 38 && ke() === 12 && (r[n] = 1), t[n] += ha(me - 1, r, n);
        break;
      case 2:
        t[n] += mt(o);
        break;
      case 4:
        if (o === 44) {
          t[++n] = ke() === 58 ? "&\f" : "", r[n] = t[n].length;
          break;
        }
      default:
        t[n] += $t(o);
    }
  while (o = ye());
  return t;
}, ya = function(t, r) {
  return fn(ga(dn(t), r));
}, $r = /* @__PURE__ */ new WeakMap(), ba = function(t) {
  if (!(t.type !== "rule" || !t.parent || // positive .length indicates that this rule contains pseudo
  // negative .length indicates that this rule has been already prefixed
  t.length < 1)) {
    for (var r = t.value, n = t.parent, o = t.column === n.column && t.line === n.line; n.type !== "rule"; )
      if (n = n.parent, !n) return;
    if (!(t.props.length === 1 && r.charCodeAt(0) !== 58 && !$r.get(n)) && !o) {
      $r.set(t, !0);
      for (var a = [], l = ya(r, a), u = n.props, f = 0, m = 0; f < l.length; f++)
        for (var g = 0; g < u.length; g++, m++)
          t.props[m] = a[f] ? l[f].replace(/&\f/g, u[g]) : u[g] + " " + l[f];
    }
  }
}, xa = function(t) {
  if (t.type === "decl") {
    var r = t.value;
    // charcode for l
    r.charCodeAt(0) === 108 && // charcode for b
    r.charCodeAt(2) === 98 && (t.return = "", t.value = "");
  }
};
function mn(e, t) {
  switch (ta(e, t)) {
    case 5103:
      return Y + "print-" + e + e;
    case 5737:
    case 4201:
    case 3177:
    case 3433:
    case 1641:
    case 4457:
    case 2921:
    case 5572:
    case 6356:
    case 5844:
    case 3191:
    case 6645:
    case 3005:
    case 6391:
    case 5879:
    case 5623:
    case 6135:
    case 4599:
    case 4855:
    case 4215:
    case 6389:
    case 5109:
    case 5365:
    case 5621:
    case 3829:
      return Y + e + e;
    case 5349:
    case 4246:
    case 4810:
    case 6968:
    case 2756:
      return Y + e + xt + e + fe + e + e;
    case 6828:
    case 4268:
      return Y + e + fe + e + e;
    case 6165:
      return Y + e + fe + "flex-" + e + e;
    case 5187:
      return Y + e + H(e, /(\w+).+(:[^]+)/, Y + "box-$1$2" + fe + "flex-$1$2") + e;
    case 5443:
      return Y + e + fe + "flex-item-" + H(e, /flex-|-self/, "") + e;
    case 4675:
      return Y + e + fe + "flex-line-pack" + H(e, /align-content|flex-|-self/, "") + e;
    case 5548:
      return Y + e + fe + H(e, "shrink", "negative") + e;
    case 5292:
      return Y + e + fe + H(e, "basis", "preferred-size") + e;
    case 6060:
      return Y + "box-" + H(e, "-grow", "") + Y + e + fe + H(e, "grow", "positive") + e;
    case 4554:
      return Y + H(e, /([^-])(transform)/g, "$1" + Y + "$2") + e;
    case 6187:
      return H(H(H(e, /(zoom-|grab)/, Y + "$1"), /(image-set)/, Y + "$1"), e, "") + e;
    case 5495:
    case 3959:
      return H(e, /(image-set\([^]*)/, Y + "$1$`$1");
    case 4968:
      return H(H(e, /(.+:)(flex-)?(.*)/, Y + "box-pack:$3" + fe + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + Y + e + e;
    case 4095:
    case 3583:
    case 4068:
    case 2532:
      return H(e, /(.+)-inline(.+)/, Y + "$1$2") + e;
    case 8116:
    case 7059:
    case 5753:
    case 5535:
    case 5445:
    case 5701:
    case 4933:
    case 4677:
    case 5533:
    case 5789:
    case 5021:
    case 4765:
      if (Ee(e) - 1 - t > 6) switch (ue(e, t + 1)) {
        case 109:
          if (ue(e, t + 4) !== 45) break;
        case 102:
          return H(e, /(.+:)(.+)-([^]+)/, "$1" + Y + "$2-$3$1" + xt + (ue(e, t + 3) == 108 ? "$3" : "$2-$3")) + e;
        case 115:
          return ~Jt(e, "stretch") ? mn(H(e, "stretch", "fill-available"), t) + e : e;
      }
      break;
    case 4949:
      if (ue(e, t + 1) !== 115) break;
    case 6444:
      switch (ue(e, Ee(e) - 3 - (~Jt(e, "!important") && 10))) {
        case 107:
          return H(e, ":", ":" + Y) + e;
        case 101:
          return H(e, /(.+:)([^;!]+)(;|!.+)?/, "$1" + Y + (ue(e, 14) === 45 ? "inline-" : "") + "box$3$1" + Y + "$2$3$1" + fe + "$2box$3") + e;
      }
      break;
    case 5936:
      switch (ue(e, t + 11)) {
        case 114:
          return Y + e + fe + H(e, /[svh]\w+-[tblr]{2}/, "tb") + e;
        case 108:
          return Y + e + fe + H(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e;
        case 45:
          return Y + e + fe + H(e, /[svh]\w+-[tblr]{2}/, "lr") + e;
      }
      return Y + e + fe + e + e;
  }
  return e;
}
var va = function(t, r, n, o) {
  if (t.length > -1 && !t.return) switch (t.type) {
    case sr:
      t.return = mn(t.value, t.length);
      break;
    case cn:
      return Ve([Ke(t, {
        value: H(t.value, "@", "@" + Y)
      })], o);
    case ir:
      if (t.length) return na(t.props, function(a) {
        switch (ra(a, /(::plac\w+|:read-\w+)/)) {
          case ":read-only":
          case ":read-write":
            return Ve([Ke(t, {
              props: [H(a, /:(read-\w+)/, ":" + xt + "$1")]
            })], o);
          case "::placeholder":
            return Ve([Ke(t, {
              props: [H(a, /:(plac\w+)/, ":" + Y + "input-$1")]
            }), Ke(t, {
              props: [H(a, /:(plac\w+)/, ":" + xt + "$1")]
            }), Ke(t, {
              props: [H(a, /:(plac\w+)/, fe + "input-$1")]
            })], o);
        }
        return "";
      });
  }
}, wa = [va], Sa = function(t) {
  var r = t.key;
  if (r === "css") {
    var n = document.querySelectorAll("style[data-emotion]:not([data-s])");
    Array.prototype.forEach.call(n, function(c) {
      var C = c.getAttribute("data-emotion");
      C.indexOf(" ") !== -1 && (document.head.appendChild(c), c.setAttribute("data-s", ""));
    });
  }
  var o = t.stylisPlugins || wa, a = {}, l, u = [];
  l = t.container || document.head, Array.prototype.forEach.call(
    // this means we will ignore elements which don't have a space in them which
    // means that the style elements we're looking at are only Emotion 11 server-rendered style elements
    document.querySelectorAll('style[data-emotion^="' + r + ' "]'),
    function(c) {
      for (var C = c.getAttribute("data-emotion").split(" "), T = 1; T < C.length; T++)
        a[C[T]] = !0;
      u.push(c);
    }
  );
  var f, m = [ba, xa];
  {
    var g, h = [fa, ma(function(c) {
      g.insert(c);
    })], y = pa(m.concat(o, h)), E = function(C) {
      return Ve(ua(C), y);
    };
    f = function(C, T, N, A) {
      g = N, E(C ? C + "{" + T.styles + "}" : T.styles), A && (v.inserted[T.name] = !0);
    };
  }
  var v = {
    key: r,
    sheet: new Xo({
      key: r,
      container: l,
      nonce: t.nonce,
      speedy: t.speedy,
      prepend: t.prepend,
      insertionPoint: t.insertionPoint
    }),
    nonce: t.nonce,
    inserted: a,
    registered: {},
    insert: f
  };
  return v.sheet.hydrate(u), v;
}, Ca = !0;
function Ea(e, t, r) {
  var n = "";
  return r.split(" ").forEach(function(o) {
    e[o] !== void 0 ? t.push(e[o] + ";") : o && (n += o + " ");
  }), n;
}
var hn = function(t, r, n) {
  var o = t.key + "-" + r.name;
  // we only need to add the styles to the registered cache if the
  // class name could be used further down
  // the tree but if it's a string tag, we know it won't
  // so we don't have to add it to registered cache.
  // this improves memory usage since we can avoid storing the whole style string
  (n === !1 || // we need to always store it if we're in compat mode and
  // in node since emotion-server relies on whether a style is in
  // the registered cache to know whether a style is global or not
  // also, note that this check will be dead code eliminated in the browser
  Ca === !1) && t.registered[o] === void 0 && (t.registered[o] = r.styles);
}, Ta = function(t, r, n) {
  hn(t, r, n);
  var o = t.key + "-" + r.name;
  if (t.inserted[r.name] === void 0) {
    var a = r;
    do
      t.insert(r === a ? "." + o : "", a, t.sheet, !0), a = a.next;
    while (a !== void 0);
  }
};
function ka(e) {
  for (var t = 0, r, n = 0, o = e.length; o >= 4; ++n, o -= 4)
    r = e.charCodeAt(n) & 255 | (e.charCodeAt(++n) & 255) << 8 | (e.charCodeAt(++n) & 255) << 16 | (e.charCodeAt(++n) & 255) << 24, r = /* Math.imul(k, m): */
    (r & 65535) * 1540483477 + ((r >>> 16) * 59797 << 16), r ^= /* k >>> r: */
    r >>> 24, t = /* Math.imul(k, m): */
    (r & 65535) * 1540483477 + ((r >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
    (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16);
  switch (o) {
    case 3:
      t ^= (e.charCodeAt(n + 2) & 255) << 16;
    case 2:
      t ^= (e.charCodeAt(n + 1) & 255) << 8;
    case 1:
      t ^= e.charCodeAt(n) & 255, t = /* Math.imul(h, m): */
      (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16);
  }
  return t ^= t >>> 13, t = /* Math.imul(h, m): */
  (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16), ((t ^ t >>> 15) >>> 0).toString(36);
}
var Oa = {
  animationIterationCount: 1,
  aspectRatio: 1,
  borderImageOutset: 1,
  borderImageSlice: 1,
  borderImageWidth: 1,
  boxFlex: 1,
  boxFlexGroup: 1,
  boxOrdinalGroup: 1,
  columnCount: 1,
  columns: 1,
  flex: 1,
  flexGrow: 1,
  flexPositive: 1,
  flexShrink: 1,
  flexNegative: 1,
  flexOrder: 1,
  gridRow: 1,
  gridRowEnd: 1,
  gridRowSpan: 1,
  gridRowStart: 1,
  gridColumn: 1,
  gridColumnEnd: 1,
  gridColumnSpan: 1,
  gridColumnStart: 1,
  msGridRow: 1,
  msGridRowSpan: 1,
  msGridColumn: 1,
  msGridColumnSpan: 1,
  fontWeight: 1,
  lineHeight: 1,
  opacity: 1,
  order: 1,
  orphans: 1,
  scale: 1,
  tabSize: 1,
  widows: 1,
  zIndex: 1,
  zoom: 1,
  WebkitLineClamp: 1,
  // SVG-related properties
  fillOpacity: 1,
  floodOpacity: 1,
  stopOpacity: 1,
  strokeDasharray: 1,
  strokeDashoffset: 1,
  strokeMiterlimit: 1,
  strokeOpacity: 1,
  strokeWidth: 1
}, _a = /[A-Z]|^ms/g, Ra = /_EMO_([^_]+?)_([^]*?)_EMO_/g, gn = function(t) {
  return t.charCodeAt(1) === 45;
}, Nr = function(t) {
  return t != null && typeof t != "boolean";
}, Ut = /* @__PURE__ */ pn(function(e) {
  return gn(e) ? e : e.replace(_a, "-$&").toLowerCase();
}), Ir = function(t, r) {
  switch (t) {
    case "animation":
    case "animationName":
      if (typeof r == "string")
        return r.replace(Ra, function(n, o, a) {
          return Te = {
            name: o,
            styles: a,
            next: Te
          }, o;
        });
  }
  return Oa[t] !== 1 && !gn(t) && typeof r == "number" && r !== 0 ? r + "px" : r;
};
function rt(e, t, r) {
  if (r == null)
    return "";
  var n = r;
  if (n.__emotion_styles !== void 0)
    return n;
  switch (typeof r) {
    case "boolean":
      return "";
    case "object": {
      var o = r;
      if (o.anim === 1)
        return Te = {
          name: o.name,
          styles: o.styles,
          next: Te
        }, o.name;
      var a = r;
      if (a.styles !== void 0) {
        var l = a.next;
        if (l !== void 0)
          for (; l !== void 0; )
            Te = {
              name: l.name,
              styles: l.styles,
              next: Te
            }, l = l.next;
        var u = a.styles + ";";
        return u;
      }
      return Pa(e, t, r);
    }
    case "function": {
      if (e !== void 0) {
        var f = Te, m = r(e);
        return Te = f, rt(e, t, m);
      }
      break;
    }
  }
  var g = r;
  if (t == null)
    return g;
  var h = t[g];
  return h !== void 0 ? h : g;
}
function Pa(e, t, r) {
  var n = "";
  if (Array.isArray(r))
    for (var o = 0; o < r.length; o++)
      n += rt(e, t, r[o]) + ";";
  else
    for (var a in r) {
      var l = r[a];
      if (typeof l != "object") {
        var u = l;
        t != null && t[u] !== void 0 ? n += a + "{" + t[u] + "}" : Nr(u) && (n += Ut(a) + ":" + Ir(a, u) + ";");
      } else if (Array.isArray(l) && typeof l[0] == "string" && (t == null || t[l[0]] === void 0))
        for (var f = 0; f < l.length; f++)
          Nr(l[f]) && (n += Ut(a) + ":" + Ir(a, l[f]) + ";");
      else {
        var m = rt(e, t, l);
        switch (a) {
          case "animation":
          case "animationName": {
            n += Ut(a) + ":" + m + ";";
            break;
          }
          default:
            n += a + "{" + m + "}";
        }
      }
    }
  return n;
}
var Mr = /label:\s*([^\s;{]+)\s*(;|$)/g, Te;
function yn(e, t, r) {
  if (e.length === 1 && typeof e[0] == "object" && e[0] !== null && e[0].styles !== void 0)
    return e[0];
  var n = !0, o = "";
  Te = void 0;
  var a = e[0];
  if (a == null || a.raw === void 0)
    n = !1, o += rt(r, t, a);
  else {
    var l = a;
    o += l[0];
  }
  for (var u = 1; u < e.length; u++)
    if (o += rt(r, t, e[u]), n) {
      var f = a;
      o += f[u];
    }
  Mr.lastIndex = 0;
  for (var m = "", g; (g = Mr.exec(o)) !== null; )
    m += "-" + g[1];
  var h = ka(o) + m;
  return {
    name: h,
    styles: o,
    next: Te
  };
}
var Aa = function(t) {
  return t();
}, ja = de.useInsertionEffect ? de.useInsertionEffect : !1, $a = ja || Aa, bn = /* @__PURE__ */ de.createContext(
  // we're doing this to avoid preconstruct's dead code elimination in this one case
  // because this module is primarily intended for the browser and node
  // but it's also required in react native and similar environments sometimes
  // and we could have a special build just for that
  // but this is much easier and the native packages
  // might use a different theme context in the future anyway
  typeof HTMLElement < "u" ? /* @__PURE__ */ Sa({
    key: "css"
  }) : null
);
bn.Provider;
var Na = function(t) {
  return /* @__PURE__ */ Nn(function(r, n) {
    var o = In(bn);
    return t(r, o, n);
  });
}, Ia = /* @__PURE__ */ de.createContext({}), Ma = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/, Da = /* @__PURE__ */ pn(
  function(e) {
    return Ma.test(e) || e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && e.charCodeAt(2) < 91;
  }
  /* Z+1 */
), za = Da, Ba = function(t) {
  return t !== "theme";
}, Dr = function(t) {
  return typeof t == "string" && // 96 is one less than the char code
  // for "a" so this is checking that
  // it's a lowercase character
  t.charCodeAt(0) > 96 ? za : Ba;
}, zr = function(t, r, n) {
  var o;
  if (r) {
    var a = r.shouldForwardProp;
    o = t.__emotion_forwardProp && a ? function(l) {
      return t.__emotion_forwardProp(l) && a(l);
    } : a;
  }
  return typeof o != "function" && n && (o = t.__emotion_forwardProp), o;
}, La = function(t) {
  var r = t.cache, n = t.serialized, o = t.isStringTag;
  return hn(r, n, o), $a(function() {
    return Ta(r, n, o);
  }), null;
}, Fa = function e(t, r) {
  var n = t.__emotion_real === t, o = n && t.__emotion_base || t, a, l;
  r !== void 0 && (a = r.label, l = r.target);
  var u = zr(t, r, n), f = u || Dr(o), m = !f("as");
  return function() {
    var g = arguments, h = n && t.__emotion_styles !== void 0 ? t.__emotion_styles.slice(0) : [];
    if (a !== void 0 && h.push("label:" + a + ";"), g[0] == null || g[0].raw === void 0)
      h.push.apply(h, g);
    else {
      var y = g[0];
      h.push(y[0]);
      for (var E = g.length, v = 1; v < E; v++)
        h.push(g[v], y[v]);
    }
    var c = Na(function(C, T, N) {
      var A = m && C.as || o, O = "", x = [], D = C;
      if (C.theme == null) {
        D = {};
        for (var I in C)
          D[I] = C[I];
        D.theme = de.useContext(Ia);
      }
      typeof C.className == "string" ? O = Ea(T.registered, x, C.className) : C.className != null && (O = C.className + " ");
      var K = yn(h.concat(x), T.registered, D);
      O += T.key + "-" + K.name, l !== void 0 && (O += " " + l);
      var ee = m && u === void 0 ? Dr(A) : f, s = {};
      for (var P in C)
        m && P === "as" || ee(P) && (s[P] = C[P]);
      return s.className = O, N && (s.ref = N), /* @__PURE__ */ de.createElement(de.Fragment, null, /* @__PURE__ */ de.createElement(La, {
        cache: T,
        serialized: K,
        isStringTag: typeof A == "string"
      }), /* @__PURE__ */ de.createElement(A, s));
    });
    return c.displayName = a !== void 0 ? a : "Styled(" + (typeof o == "string" ? o : o.displayName || o.name || "Component") + ")", c.defaultProps = t.defaultProps, c.__emotion_real = c, c.__emotion_base = o, c.__emotion_styles = h, c.__emotion_forwardProp = u, Object.defineProperty(c, "toString", {
      value: function() {
        return "." + l;
      }
    }), c.withComponent = function(C, T) {
      var N = e(C, Xt({}, r, T, {
        shouldForwardProp: zr(c, T, !0)
      }));
      return N.apply(void 0, h);
    }, c;
  };
}, Va = [
  "a",
  "abbr",
  "address",
  "area",
  "article",
  "aside",
  "audio",
  "b",
  "base",
  "bdi",
  "bdo",
  "big",
  "blockquote",
  "body",
  "br",
  "button",
  "canvas",
  "caption",
  "cite",
  "code",
  "col",
  "colgroup",
  "data",
  "datalist",
  "dd",
  "del",
  "details",
  "dfn",
  "dialog",
  "div",
  "dl",
  "dt",
  "em",
  "embed",
  "fieldset",
  "figcaption",
  "figure",
  "footer",
  "form",
  "h1",
  "h2",
  "h3",
  "h4",
  "h5",
  "h6",
  "head",
  "header",
  "hgroup",
  "hr",
  "html",
  "i",
  "iframe",
  "img",
  "input",
  "ins",
  "kbd",
  "keygen",
  "label",
  "legend",
  "li",
  "link",
  "main",
  "map",
  "mark",
  "marquee",
  "menu",
  "menuitem",
  "meta",
  "meter",
  "nav",
  "noscript",
  "object",
  "ol",
  "optgroup",
  "option",
  "output",
  "p",
  "param",
  "picture",
  "pre",
  "progress",
  "q",
  "rp",
  "rt",
  "ruby",
  "s",
  "samp",
  "script",
  "section",
  "select",
  "small",
  "source",
  "span",
  "strong",
  "style",
  "sub",
  "summary",
  "sup",
  "table",
  "tbody",
  "td",
  "textarea",
  "tfoot",
  "th",
  "thead",
  "time",
  "title",
  "tr",
  "track",
  "u",
  "ul",
  "var",
  "video",
  "wbr",
  // SVG
  "circle",
  "clipPath",
  "defs",
  "ellipse",
  "foreignObject",
  "g",
  "image",
  "line",
  "linearGradient",
  "mask",
  "path",
  "pattern",
  "polygon",
  "polyline",
  "radialGradient",
  "rect",
  "stop",
  "svg",
  "text",
  "tspan"
], Zt = Fa.bind(null);
Va.forEach(function(e) {
  Zt[e] = Zt(e);
});
/**
 * @mui/styled-engine v7.1.1
 *
 * @license MIT
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
function Ua(e, t) {
  const r = Zt(e, t);
  return process.env.NODE_ENV !== "production" ? (...n) => {
    const o = typeof e == "string" ? `"${e}"` : "component";
    return n.length === 0 ? console.error([`MUI: Seems like you called \`styled(${o})()\` without a \`style\` argument.`, 'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join(`
`)) : n.some((a) => a === void 0) && console.error(`MUI: the styled(${o})(...args) API requires all its args to be defined.`), r(...n);
  } : r;
}
function Wa(e, t) {
  Array.isArray(e.__emotion_styles) && (e.__emotion_styles = t(e.__emotion_styles));
}
const Br = [];
function Lr(e) {
  return Br[0] = e, yn(Br);
}
const Ya = (e) => {
  const t = Object.keys(e).map((r) => ({
    key: r,
    val: e[r]
  })) || [];
  return t.sort((r, n) => r.val - n.val), t.reduce((r, n) => ({
    ...r,
    [n.key]: n.val
  }), {});
};
function Ha(e) {
  const {
    // The breakpoint **start** at this value.
    // For instance with the first breakpoint xs: [xs, sm).
    values: t = {
      xs: 0,
      // phone
      sm: 600,
      // tablet
      md: 900,
      // small laptop
      lg: 1200,
      // desktop
      xl: 1536
      // large screen
    },
    unit: r = "px",
    step: n = 5,
    ...o
  } = e, a = Ya(t), l = Object.keys(a);
  function u(y) {
    return `@media (min-width:${typeof t[y] == "number" ? t[y] : y}${r})`;
  }
  function f(y) {
    return `@media (max-width:${(typeof t[y] == "number" ? t[y] : y) - n / 100}${r})`;
  }
  function m(y, E) {
    const v = l.indexOf(E);
    return `@media (min-width:${typeof t[y] == "number" ? t[y] : y}${r}) and (max-width:${(v !== -1 && typeof t[l[v]] == "number" ? t[l[v]] : E) - n / 100}${r})`;
  }
  function g(y) {
    return l.indexOf(y) + 1 < l.length ? m(y, l[l.indexOf(y) + 1]) : u(y);
  }
  function h(y) {
    const E = l.indexOf(y);
    return E === 0 ? u(l[1]) : E === l.length - 1 ? f(l[E]) : m(y, l[l.indexOf(y) + 1]).replace("@media", "@media not all and");
  }
  return {
    keys: l,
    values: a,
    up: u,
    down: f,
    between: m,
    only: g,
    not: h,
    unit: r,
    ...o
  };
}
const Ga = {
  borderRadius: 4
};
function xn(e = 8, t = or({
  spacing: e
})) {
  if (e.mui)
    return e;
  const r = (...n) => (process.env.NODE_ENV !== "production" && (n.length <= 4 || console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${n.length}`)), (n.length === 0 ? [1] : n).map((a) => {
    const l = t(a);
    return typeof l == "number" ? `${l}px` : l;
  }).join(" "));
  return r.mui = !0, r;
}
function qa(e, t) {
  var n;
  const r = this;
  if (r.vars) {
    if (!((n = r.colorSchemes) != null && n[e]) || typeof r.getColorSchemeSelector != "function")
      return {};
    let o = r.getColorSchemeSelector(e);
    return o === "&" ? t : ((o.includes("data-") || o.includes(".")) && (o = `*:where(${o.replace(/\s*&$/, "")}) &`), {
      [o]: t
    });
  }
  return r.palette.mode === e ? t : {};
}
function vn(e = {}, ...t) {
  const {
    breakpoints: r = {},
    palette: n = {},
    spacing: o,
    shape: a = {},
    ...l
  } = e, u = Ha(r), f = xn(o);
  let m = ge({
    breakpoints: u,
    direction: "ltr",
    components: {},
    // Inject component definitions.
    palette: {
      mode: "light",
      ...n
    },
    spacing: f,
    shape: {
      ...Ga,
      ...a
    }
  }, l);
  return m = no(m), m.applyStyles = qa, m = t.reduce((g, h) => ge(g, h), m), m.unstable_sxConfig = {
    ...jt,
    ...l == null ? void 0 : l.unstable_sxConfig
  }, m.unstable_sx = function(h) {
    return Ue({
      sx: h,
      theme: this
    });
  }, m;
}
const Ka = {
  active: "active",
  checked: "checked",
  completed: "completed",
  disabled: "disabled",
  error: "error",
  expanded: "expanded",
  focused: "focused",
  focusVisible: "focusVisible",
  open: "open",
  readOnly: "readOnly",
  required: "required",
  selected: "selected"
};
function lr(e, t, r = "Mui") {
  const n = Ka[t];
  return n ? `${r}-${n}` : `${Ln.generate(e)}-${t}`;
}
function Xa(e, t, r = "Mui") {
  const n = {};
  return t.forEach((o) => {
    n[o] = lr(e, o, r);
  }), n;
}
function wn(e, t = "") {
  return e.displayName || e.name || t;
}
function Fr(e, t, r) {
  const n = wn(t);
  return e.displayName || (n !== "" ? `${r}(${n})` : r);
}
function Ja(e) {
  if (e != null) {
    if (typeof e == "string")
      return e;
    if (typeof e == "function")
      return wn(e, "Component");
    if (typeof e == "object")
      switch (e.$$typeof) {
        case yt.ForwardRef:
          return Fr(e, e.render, "ForwardRef");
        case yt.Memo:
          return Fr(e, e.type, "memo");
        default:
          return;
      }
  }
}
function Sn(e) {
  const {
    variants: t,
    ...r
  } = e, n = {
    variants: t,
    style: Lr(r),
    isProcessed: !0
  };
  return n.style === r || t && t.forEach((o) => {
    typeof o.style != "function" && (o.style = Lr(o.style));
  }), n;
}
const Qa = vn();
function Wt(e) {
  return e !== "ownerState" && e !== "theme" && e !== "sx" && e !== "as";
}
function Za(e) {
  return e ? (t, r) => r[e] : null;
}
function ei(e, t, r) {
  e.theme = oi(e.theme) ? r : e.theme[t] || e.theme;
}
function gt(e, t) {
  const r = typeof t == "function" ? t(e) : t;
  if (Array.isArray(r))
    return r.flatMap((n) => gt(e, n));
  if (Array.isArray(r == null ? void 0 : r.variants)) {
    let n;
    if (r.isProcessed)
      n = r.style;
    else {
      const {
        variants: o,
        ...a
      } = r;
      n = a;
    }
    return Cn(e, r.variants, [n]);
  }
  return r != null && r.isProcessed ? r.style : r;
}
function Cn(e, t, r = []) {
  var o;
  let n;
  e: for (let a = 0; a < t.length; a += 1) {
    const l = t[a];
    if (typeof l.props == "function") {
      if (n ?? (n = {
        ...e,
        ...e.ownerState,
        ownerState: e.ownerState
      }), !l.props(n))
        continue;
    } else
      for (const u in l.props)
        if (e[u] !== l.props[u] && ((o = e.ownerState) == null ? void 0 : o[u]) !== l.props[u])
          continue e;
    typeof l.style == "function" ? (n ?? (n = {
      ...e,
      ...e.ownerState,
      ownerState: e.ownerState
    }), r.push(l.style(n))) : r.push(l.style);
  }
  return r;
}
function ti(e = {}) {
  const {
    themeId: t,
    defaultTheme: r = Qa,
    rootShouldForwardProp: n = Wt,
    slotShouldForwardProp: o = Wt
  } = e;
  function a(u) {
    ei(u, t, r);
  }
  return (u, f = {}) => {
    Wa(u, (x) => x.filter((D) => D !== Ue));
    const {
      name: m,
      slot: g,
      skipVariantsResolver: h,
      skipSx: y,
      // TODO v6: remove `lowercaseFirstLetter()` in the next major release
      // For more details: https://github.com/mui/material-ui/pull/37908
      overridesResolver: E = Za(En(g)),
      ...v
    } = f, c = h !== void 0 ? h : (
      // TODO v6: remove `Root` in the next major release
      // For more details: https://github.com/mui/material-ui/pull/37908
      g && g !== "Root" && g !== "root" || !1
    ), C = y || !1;
    let T = Wt;
    g === "Root" || g === "root" ? T = n : g ? T = o : ai(u) && (T = void 0);
    const N = Ua(u, {
      shouldForwardProp: T,
      label: ni(m, g),
      ...v
    }), A = (x) => {
      if (x.__emotion_real === x)
        return x;
      if (typeof x == "function")
        return function(I) {
          return gt(I, x);
        };
      if (_e(x)) {
        const D = Sn(x);
        return D.variants ? function(K) {
          return gt(K, D);
        } : D.style;
      }
      return x;
    }, O = (...x) => {
      const D = [], I = x.map(A), K = [];
      if (D.push(a), m && E && K.push(function(B) {
        var te, le;
        const W = (le = (te = B.theme.components) == null ? void 0 : te[m]) == null ? void 0 : le.styleOverrides;
        if (!W)
          return null;
        const ie = {};
        for (const pe in W)
          ie[pe] = gt(B, W[pe]);
        return E(B, ie);
      }), m && !c && K.push(function(B) {
        var ie, te;
        const V = B.theme, W = (te = (ie = V == null ? void 0 : V.components) == null ? void 0 : ie[m]) == null ? void 0 : te.variants;
        return W ? Cn(B, W) : null;
      }), C || K.push(Ue), Array.isArray(I[0])) {
        const P = I.shift(), B = new Array(D.length).fill(""), V = new Array(K.length).fill("");
        let W;
        W = [...B, ...P, ...V], W.raw = [...B, ...P.raw, ...V], D.unshift(W);
      }
      const ee = [...D, ...I, ...K], s = N(...ee);
      return u.muiName && (s.muiName = u.muiName), process.env.NODE_ENV !== "production" && (s.displayName = ri(m, g, u)), s;
    };
    return N.withConfig && (O.withConfig = N.withConfig), O;
  };
}
function ri(e, t, r) {
  return e ? `${e}${Ie(t || "")}` : `Styled(${Ja(r)})`;
}
function ni(e, t) {
  let r;
  return process.env.NODE_ENV !== "production" && e && (r = `${e}-${En(t || "Root")}`), r;
}
function oi(e) {
  for (const t in e)
    return !1;
  return !0;
}
function ai(e) {
  return typeof e == "string" && // 96 is one less than the char code
  // for "a" so this is checking that
  // it's a lowercase character
  e.charCodeAt(0) > 96;
}
function En(e) {
  return e && e.charAt(0).toLowerCase() + e.slice(1);
}
function er(e, t) {
  const r = {
    ...t
  };
  for (const n in e)
    if (Object.prototype.hasOwnProperty.call(e, n)) {
      const o = n;
      if (o === "components" || o === "slots")
        r[o] = {
          ...e[o],
          ...r[o]
        };
      else if (o === "componentsProps" || o === "slotProps") {
        const a = e[o], l = t[o];
        if (!l)
          r[o] = a || {};
        else if (!a)
          r[o] = l;
        else {
          r[o] = {
            ...l
          };
          for (const u in a)
            if (Object.prototype.hasOwnProperty.call(a, u)) {
              const f = u;
              r[o][f] = er(a[f], l[f]);
            }
        }
      } else r[o] === void 0 && (r[o] = e[o]);
    }
  return r;
}
function ii(e, t = Number.MIN_SAFE_INTEGER, r = Number.MAX_SAFE_INTEGER) {
  return Math.max(t, Math.min(e, r));
}
function ur(e, t = 0, r = 1) {
  return process.env.NODE_ENV !== "production" && (e < t || e > r) && console.error(`MUI: The value provided ${e} is out of range [${t}, ${r}].`), ii(e, t, r);
}
function si(e) {
  e = e.slice(1);
  const t = new RegExp(`.{1,${e.length >= 6 ? 2 : 1}}`, "g");
  let r = e.match(t);
  return r && r[0].length === 1 && (r = r.map((n) => n + n)), process.env.NODE_ENV !== "production" && e.length !== e.trim().length && console.error(`MUI: The color: "${e}" is invalid. Make sure the color input doesn't contain leading/trailing space.`), r ? `rgb${r.length === 4 ? "a" : ""}(${r.map((n, o) => o < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1e3) / 1e3).join(", ")})` : "";
}
function $e(e) {
  if (e.type)
    return e;
  if (e.charAt(0) === "#")
    return $e(si(e));
  const t = e.indexOf("("), r = e.substring(0, t);
  if (!["rgb", "rgba", "hsl", "hsla", "color"].includes(r))
    throw new Error(process.env.NODE_ENV !== "production" ? `MUI: Unsupported \`${e}\` color.
The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : je(9, e));
  let n = e.substring(t + 1, e.length - 1), o;
  if (r === "color") {
    if (n = n.split(" "), o = n.shift(), n.length === 4 && n[3].charAt(0) === "/" && (n[3] = n[3].slice(1)), !["srgb", "display-p3", "a98-rgb", "prophoto-rgb", "rec-2020"].includes(o))
      throw new Error(process.env.NODE_ENV !== "production" ? `MUI: unsupported \`${o}\` color space.
The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : je(10, o));
  } else
    n = n.split(",");
  return n = n.map((a) => parseFloat(a)), {
    type: r,
    values: n,
    colorSpace: o
  };
}
const ci = (e) => {
  const t = $e(e);
  return t.values.slice(0, 3).map((r, n) => t.type.includes("hsl") && n !== 0 ? `${r}%` : r).join(" ");
}, Je = (e, t) => {
  try {
    return ci(e);
  } catch {
    return t && process.env.NODE_ENV !== "production" && console.warn(t), e;
  }
};
function Mt(e) {
  const {
    type: t,
    colorSpace: r
  } = e;
  let {
    values: n
  } = e;
  return t.includes("rgb") ? n = n.map((o, a) => a < 3 ? parseInt(o, 10) : o) : t.includes("hsl") && (n[1] = `${n[1]}%`, n[2] = `${n[2]}%`), t.includes("color") ? n = `${r} ${n.join(" ")}` : n = `${n.join(", ")}`, `${t}(${n})`;
}
function Tn(e) {
  e = $e(e);
  const {
    values: t
  } = e, r = t[0], n = t[1] / 100, o = t[2] / 100, a = n * Math.min(o, 1 - o), l = (m, g = (m + r / 30) % 12) => o - a * Math.max(Math.min(g - 3, 9 - g, 1), -1);
  let u = "rgb";
  const f = [Math.round(l(0) * 255), Math.round(l(8) * 255), Math.round(l(4) * 255)];
  return e.type === "hsla" && (u += "a", f.push(t[3])), Mt({
    type: u,
    values: f
  });
}
function tr(e) {
  e = $e(e);
  let t = e.type === "hsl" || e.type === "hsla" ? $e(Tn(e)).values : e.values;
  return t = t.map((r) => (e.type !== "color" && (r /= 255), r <= 0.03928 ? r / 12.92 : ((r + 0.055) / 1.055) ** 2.4)), Number((0.2126 * t[0] + 0.7152 * t[1] + 0.0722 * t[2]).toFixed(3));
}
function Vr(e, t) {
  const r = tr(e), n = tr(t);
  return (Math.max(r, n) + 0.05) / (Math.min(r, n) + 0.05);
}
function li(e, t) {
  return e = $e(e), t = ur(t), (e.type === "rgb" || e.type === "hsl") && (e.type += "a"), e.type === "color" ? e.values[3] = `/${t}` : e.values[3] = t, Mt(e);
}
function ut(e, t, r) {
  try {
    return li(e, t);
  } catch {
    return e;
  }
}
function dr(e, t) {
  if (e = $e(e), t = ur(t), e.type.includes("hsl"))
    e.values[2] *= 1 - t;
  else if (e.type.includes("rgb") || e.type.includes("color"))
    for (let r = 0; r < 3; r += 1)
      e.values[r] *= 1 - t;
  return Mt(e);
}
function Q(e, t, r) {
  try {
    return dr(e, t);
  } catch {
    return e;
  }
}
function fr(e, t) {
  if (e = $e(e), t = ur(t), e.type.includes("hsl"))
    e.values[2] += (100 - e.values[2]) * t;
  else if (e.type.includes("rgb"))
    for (let r = 0; r < 3; r += 1)
      e.values[r] += (255 - e.values[r]) * t;
  else if (e.type.includes("color"))
    for (let r = 0; r < 3; r += 1)
      e.values[r] += (1 - e.values[r]) * t;
  return Mt(e);
}
function Z(e, t, r) {
  try {
    return fr(e, t);
  } catch {
    return e;
  }
}
function ui(e, t = 0.15) {
  return tr(e) > 0.5 ? dr(e, t) : fr(e, t);
}
function dt(e, t, r) {
  try {
    return ui(e, t);
  } catch {
    return e;
  }
}
const di = /* @__PURE__ */ de.createContext(void 0);
process.env.NODE_ENV !== "production" && (U.node, U.object);
function fi(e) {
  const {
    theme: t,
    name: r,
    props: n
  } = e;
  if (!t || !t.components || !t.components[r])
    return n;
  const o = t.components[r];
  return o.defaultProps ? er(o.defaultProps, n) : !o.styleOverrides && !o.variants ? er(o, n) : n;
}
function pi({
  props: e,
  name: t
}) {
  const r = de.useContext(di);
  return fi({
    props: e,
    name: t,
    theme: {
      components: r
    }
  });
}
const Ur = {
  theme: void 0
};
function mi(e) {
  let t, r;
  return function(o) {
    let a = t;
    return (a === void 0 || o.theme !== r) && (Ur.theme = o.theme, a = Sn(e(Ur)), t = a, r = o.theme), a;
  };
}
function hi(e = "") {
  function t(...n) {
    if (!n.length)
      return "";
    const o = n[0];
    return typeof o == "string" && !o.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/) ? `, var(--${e ? `${e}-` : ""}${o}${t(...n.slice(1))})` : `, ${o}`;
  }
  return (n, ...o) => `var(--${e ? `${e}-` : ""}${n}${t(...o)})`;
}
const Wr = (e, t, r, n = []) => {
  let o = e;
  t.forEach((a, l) => {
    l === t.length - 1 ? Array.isArray(o) ? o[Number(a)] = r : o && typeof o == "object" && (o[a] = r) : o && typeof o == "object" && (o[a] || (o[a] = n.includes(a) ? [] : {}), o = o[a]);
  });
}, gi = (e, t, r) => {
  function n(o, a = [], l = []) {
    Object.entries(o).forEach(([u, f]) => {
      (!r || r && !r([...a, u])) && f != null && (typeof f == "object" && Object.keys(f).length > 0 ? n(f, [...a, u], Array.isArray(f) ? [...l, u] : l) : t([...a, u], f, l));
    });
  }
  n(e);
}, yi = (e, t) => typeof t == "number" ? ["lineHeight", "fontWeight", "opacity", "zIndex"].some((n) => e.includes(n)) || e[e.length - 1].toLowerCase().includes("opacity") ? t : `${t}px` : t;
function Yt(e, t) {
  const {
    prefix: r,
    shouldSkipGeneratingVar: n
  } = t || {}, o = {}, a = {}, l = {};
  return gi(
    e,
    (u, f, m) => {
      if ((typeof f == "string" || typeof f == "number") && (!n || !n(u, f))) {
        const g = `--${r ? `${r}-` : ""}${u.join("-")}`, h = yi(u, f);
        Object.assign(o, {
          [g]: h
        }), Wr(a, u, `var(${g})`, m), Wr(l, u, `var(${g}, ${h})`, m);
      }
    },
    (u) => u[0] === "vars"
    // skip 'vars/*' paths
  ), {
    css: o,
    vars: a,
    varsWithDefaults: l
  };
}
function bi(e, t = {}) {
  const {
    getSelector: r = C,
    disableCssColorScheme: n,
    colorSchemeSelector: o
  } = t, {
    colorSchemes: a = {},
    components: l,
    defaultColorScheme: u = "light",
    ...f
  } = e, {
    vars: m,
    css: g,
    varsWithDefaults: h
  } = Yt(f, t);
  let y = h;
  const E = {}, {
    [u]: v,
    ...c
  } = a;
  if (Object.entries(c || {}).forEach(([A, O]) => {
    const {
      vars: x,
      css: D,
      varsWithDefaults: I
    } = Yt(O, t);
    y = ge(y, I), E[A] = {
      css: D,
      vars: x
    };
  }), v) {
    const {
      css: A,
      vars: O,
      varsWithDefaults: x
    } = Yt(v, t);
    y = ge(y, x), E[u] = {
      css: A,
      vars: O
    };
  }
  function C(A, O) {
    var D, I;
    let x = o;
    if (o === "class" && (x = ".%s"), o === "data" && (x = "[data-%s]"), o != null && o.startsWith("data-") && !o.includes("%s") && (x = `[${o}="%s"]`), A) {
      if (x === "media")
        return e.defaultColorScheme === A ? ":root" : {
          [`@media (prefers-color-scheme: ${((I = (D = a[A]) == null ? void 0 : D.palette) == null ? void 0 : I.mode) || A})`]: {
            ":root": O
          }
        };
      if (x)
        return e.defaultColorScheme === A ? `:root, ${x.replace("%s", String(A))}` : x.replace("%s", String(A));
    }
    return ":root";
  }
  return {
    vars: y,
    generateThemeVars: () => {
      let A = {
        ...m
      };
      return Object.entries(E).forEach(([, {
        vars: O
      }]) => {
        A = ge(A, O);
      }), A;
    },
    generateStyleSheets: () => {
      var K, ee;
      const A = [], O = e.defaultColorScheme || "light";
      function x(s, P) {
        Object.keys(P).length && A.push(typeof s == "string" ? {
          [s]: {
            ...P
          }
        } : s);
      }
      x(r(void 0, {
        ...g
      }), g);
      const {
        [O]: D,
        ...I
      } = E;
      if (D) {
        const {
          css: s
        } = D, P = (ee = (K = a[O]) == null ? void 0 : K.palette) == null ? void 0 : ee.mode, B = !n && P ? {
          colorScheme: P,
          ...s
        } : {
          ...s
        };
        x(r(O, {
          ...B
        }), B);
      }
      return Object.entries(I).forEach(([s, {
        css: P
      }]) => {
        var W, ie;
        const B = (ie = (W = a[s]) == null ? void 0 : W.palette) == null ? void 0 : ie.mode, V = !n && B ? {
          colorScheme: B,
          ...P
        } : {
          ...P
        };
        x(r(s, {
          ...V
        }), V);
      }), A;
    }
  };
}
function xi(e) {
  return function(r) {
    return e === "media" ? (process.env.NODE_ENV !== "production" && r !== "light" && r !== "dark" && console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${r}'.`), `@media (prefers-color-scheme: ${r})`) : e ? e.startsWith("data-") && !e.includes("%s") ? `[${e}="${r}"] &` : e === "class" ? `.${r} &` : e === "data" ? `[data-${r}] &` : `${e.replace("%s", r)} &` : "&";
  };
}
const nt = {
  black: "#000",
  white: "#fff"
}, vi = {
  50: "#fafafa",
  100: "#f5f5f5",
  200: "#eeeeee",
  300: "#e0e0e0",
  400: "#bdbdbd",
  500: "#9e9e9e",
  600: "#757575",
  700: "#616161",
  800: "#424242",
  900: "#212121",
  A100: "#f5f5f5",
  A200: "#eeeeee",
  A400: "#bdbdbd",
  A700: "#616161"
}, Me = {
  50: "#f3e5f5",
  200: "#ce93d8",
  300: "#ba68c8",
  400: "#ab47bc",
  500: "#9c27b0",
  700: "#7b1fa2"
}, De = {
  300: "#e57373",
  400: "#ef5350",
  500: "#f44336",
  700: "#d32f2f",
  800: "#c62828"
}, Xe = {
  300: "#ffb74d",
  400: "#ffa726",
  500: "#ff9800",
  700: "#f57c00",
  900: "#e65100"
}, ze = {
  50: "#e3f2fd",
  200: "#90caf9",
  400: "#42a5f5",
  700: "#1976d2",
  800: "#1565c0"
}, Be = {
  300: "#4fc3f7",
  400: "#29b6f6",
  500: "#03a9f4",
  700: "#0288d1",
  900: "#01579b"
}, Le = {
  300: "#81c784",
  400: "#66bb6a",
  500: "#4caf50",
  700: "#388e3c",
  800: "#2e7d32",
  900: "#1b5e20"
};
function kn() {
  return {
    // The colors used to style the text.
    text: {
      // The most important text.
      primary: "rgba(0, 0, 0, 0.87)",
      // Secondary text.
      secondary: "rgba(0, 0, 0, 0.6)",
      // Disabled text have even lower visual prominence.
      disabled: "rgba(0, 0, 0, 0.38)"
    },
    // The color used to divide different elements.
    divider: "rgba(0, 0, 0, 0.12)",
    // The background colors used to style the surfaces.
    // Consistency between these values is important.
    background: {
      paper: nt.white,
      default: nt.white
    },
    // The colors used to style the action elements.
    action: {
      // The color of an active action like an icon button.
      active: "rgba(0, 0, 0, 0.54)",
      // The color of an hovered action.
      hover: "rgba(0, 0, 0, 0.04)",
      hoverOpacity: 0.04,
      // The color of a selected action.
      selected: "rgba(0, 0, 0, 0.08)",
      selectedOpacity: 0.08,
      // The color of a disabled action.
      disabled: "rgba(0, 0, 0, 0.26)",
      // The background color of a disabled action.
      disabledBackground: "rgba(0, 0, 0, 0.12)",
      disabledOpacity: 0.38,
      focus: "rgba(0, 0, 0, 0.12)",
      focusOpacity: 0.12,
      activatedOpacity: 0.12
    }
  };
}
const wi = kn();
function On() {
  return {
    text: {
      primary: nt.white,
      secondary: "rgba(255, 255, 255, 0.7)",
      disabled: "rgba(255, 255, 255, 0.5)",
      icon: "rgba(255, 255, 255, 0.5)"
    },
    divider: "rgba(255, 255, 255, 0.12)",
    background: {
      paper: "#121212",
      default: "#121212"
    },
    action: {
      active: nt.white,
      hover: "rgba(255, 255, 255, 0.08)",
      hoverOpacity: 0.08,
      selected: "rgba(255, 255, 255, 0.16)",
      selectedOpacity: 0.16,
      disabled: "rgba(255, 255, 255, 0.3)",
      disabledBackground: "rgba(255, 255, 255, 0.12)",
      disabledOpacity: 0.38,
      focus: "rgba(255, 255, 255, 0.12)",
      focusOpacity: 0.12,
      activatedOpacity: 0.24
    }
  };
}
const Yr = On();
function Hr(e, t, r, n) {
  const o = n.light || n, a = n.dark || n * 1.5;
  e[t] || (e.hasOwnProperty(r) ? e[t] = e[r] : t === "light" ? e.light = fr(e.main, o) : t === "dark" && (e.dark = dr(e.main, a)));
}
function Si(e = "light") {
  return e === "dark" ? {
    main: ze[200],
    light: ze[50],
    dark: ze[400]
  } : {
    main: ze[700],
    light: ze[400],
    dark: ze[800]
  };
}
function Ci(e = "light") {
  return e === "dark" ? {
    main: Me[200],
    light: Me[50],
    dark: Me[400]
  } : {
    main: Me[500],
    light: Me[300],
    dark: Me[700]
  };
}
function Ei(e = "light") {
  return e === "dark" ? {
    main: De[500],
    light: De[300],
    dark: De[700]
  } : {
    main: De[700],
    light: De[400],
    dark: De[800]
  };
}
function Ti(e = "light") {
  return e === "dark" ? {
    main: Be[400],
    light: Be[300],
    dark: Be[700]
  } : {
    main: Be[700],
    light: Be[500],
    dark: Be[900]
  };
}
function ki(e = "light") {
  return e === "dark" ? {
    main: Le[400],
    light: Le[300],
    dark: Le[700]
  } : {
    main: Le[800],
    light: Le[500],
    dark: Le[900]
  };
}
function Oi(e = "light") {
  return e === "dark" ? {
    main: Xe[400],
    light: Xe[300],
    dark: Xe[700]
  } : {
    main: "#ed6c02",
    // closest to orange[800] that pass 3:1.
    light: Xe[500],
    dark: Xe[900]
  };
}
function pr(e) {
  const {
    mode: t = "light",
    contrastThreshold: r = 3,
    tonalOffset: n = 0.2,
    ...o
  } = e, a = e.primary || Si(t), l = e.secondary || Ci(t), u = e.error || Ei(t), f = e.info || Ti(t), m = e.success || ki(t), g = e.warning || Oi(t);
  function h(c) {
    const C = Vr(c, Yr.text.primary) >= r ? Yr.text.primary : wi.text.primary;
    if (process.env.NODE_ENV !== "production") {
      const T = Vr(c, C);
      T < 3 && console.error([`MUI: The contrast ratio of ${T}:1 for ${C} on ${c}`, "falls below the WCAG recommended absolute minimum contrast ratio of 3:1.", "https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast"].join(`
`));
    }
    return C;
  }
  const y = ({
    color: c,
    name: C,
    mainShade: T = 500,
    lightShade: N = 300,
    darkShade: A = 700
  }) => {
    if (c = {
      ...c
    }, !c.main && c[T] && (c.main = c[T]), !c.hasOwnProperty("main"))
      throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The color${C ? ` (${C})` : ""} provided to augmentColor(color) is invalid.
The color object needs to have a \`main\` property or a \`${T}\` property.` : je(11, C ? ` (${C})` : "", T));
    if (typeof c.main != "string")
      throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The color${C ? ` (${C})` : ""} provided to augmentColor(color) is invalid.
\`color.main\` should be a string, but \`${JSON.stringify(c.main)}\` was provided instead.

Did you intend to use one of the following approaches?

import { green } from "@mui/material/colors";

const theme1 = createTheme({ palette: {
  primary: green,
} });

const theme2 = createTheme({ palette: {
  primary: { main: green[500] },
} });` : je(12, C ? ` (${C})` : "", JSON.stringify(c.main)));
    return Hr(c, "light", N, n), Hr(c, "dark", A, n), c.contrastText || (c.contrastText = h(c.main)), c;
  };
  let E;
  return t === "light" ? E = kn() : t === "dark" && (E = On()), process.env.NODE_ENV !== "production" && (E || console.error(`MUI: The palette mode \`${t}\` is not supported.`)), ge({
    // A collection of common colors.
    common: {
      ...nt
    },
    // prevent mutable object.
    // The palette mode, can be light or dark.
    mode: t,
    // The colors used to represent primary interface elements for a user.
    primary: y({
      color: a,
      name: "primary"
    }),
    // The colors used to represent secondary interface elements for a user.
    secondary: y({
      color: l,
      name: "secondary",
      mainShade: "A400",
      lightShade: "A200",
      darkShade: "A700"
    }),
    // The colors used to represent interface elements that the user should be made aware of.
    error: y({
      color: u,
      name: "error"
    }),
    // The colors used to represent potentially dangerous actions or important messages.
    warning: y({
      color: g,
      name: "warning"
    }),
    // The colors used to present information to the user that is neutral and not necessarily important.
    info: y({
      color: f,
      name: "info"
    }),
    // The colors used to indicate the successful completion of an action that user triggered.
    success: y({
      color: m,
      name: "success"
    }),
    // The grey colors.
    grey: vi,
    // Used by `getContrastText()` to maximize the contrast between
    // the background and the text.
    contrastThreshold: r,
    // Takes a background color and returns the text color that maximizes the contrast.
    getContrastText: h,
    // Generate a rich color object.
    augmentColor: y,
    // Used by the functions below to shift a color's luminance by approximately
    // two indexes within its tonal palette.
    // E.g., shift from Red 500 to Red 300 or Red 700.
    tonalOffset: n,
    // The light and dark mode object.
    ...E
  }, o);
}
function _i(e) {
  const t = {};
  return Object.entries(e).forEach((n) => {
    const [o, a] = n;
    typeof a == "object" && (t[o] = `${a.fontStyle ? `${a.fontStyle} ` : ""}${a.fontVariant ? `${a.fontVariant} ` : ""}${a.fontWeight ? `${a.fontWeight} ` : ""}${a.fontStretch ? `${a.fontStretch} ` : ""}${a.fontSize || ""}${a.lineHeight ? `/${a.lineHeight} ` : ""}${a.fontFamily || ""}`);
  }), t;
}
function Ri(e, t) {
  return {
    toolbar: {
      minHeight: 56,
      [e.up("xs")]: {
        "@media (orientation: landscape)": {
          minHeight: 48
        }
      },
      [e.up("sm")]: {
        minHeight: 64
      }
    },
    ...t
  };
}
function Pi(e) {
  return Math.round(e * 1e5) / 1e5;
}
const Gr = {
  textTransform: "uppercase"
}, qr = '"Roboto", "Helvetica", "Arial", sans-serif';
function Ai(e, t) {
  const {
    fontFamily: r = qr,
    // The default font size of the Material Specification.
    fontSize: n = 14,
    // px
    fontWeightLight: o = 300,
    fontWeightRegular: a = 400,
    fontWeightMedium: l = 500,
    fontWeightBold: u = 700,
    // Tell MUI what's the font-size on the html element.
    // 16px is the default font-size used by browsers.
    htmlFontSize: f = 16,
    // Apply the CSS properties to all the variants.
    allVariants: m,
    pxToRem: g,
    ...h
  } = typeof t == "function" ? t(e) : t;
  process.env.NODE_ENV !== "production" && (typeof n != "number" && console.error("MUI: `fontSize` is required to be a number."), typeof f != "number" && console.error("MUI: `htmlFontSize` is required to be a number."));
  const y = n / 14, E = g || ((C) => `${C / f * y}rem`), v = (C, T, N, A, O) => ({
    fontFamily: r,
    fontWeight: C,
    fontSize: E(T),
    // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/
    lineHeight: N,
    // The letter spacing was designed for the Roboto font-family. Using the same letter-spacing
    // across font-families can cause issues with the kerning.
    ...r === qr ? {
      letterSpacing: `${Pi(A / T)}em`
    } : {},
    ...O,
    ...m
  }), c = {
    h1: v(o, 96, 1.167, -1.5),
    h2: v(o, 60, 1.2, -0.5),
    h3: v(a, 48, 1.167, 0),
    h4: v(a, 34, 1.235, 0.25),
    h5: v(a, 24, 1.334, 0),
    h6: v(l, 20, 1.6, 0.15),
    subtitle1: v(a, 16, 1.75, 0.15),
    subtitle2: v(l, 14, 1.57, 0.1),
    body1: v(a, 16, 1.5, 0.15),
    body2: v(a, 14, 1.43, 0.15),
    button: v(l, 14, 1.75, 0.4, Gr),
    caption: v(a, 12, 1.66, 0.4),
    overline: v(a, 12, 2.66, 1, Gr),
    // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.
    inherit: {
      fontFamily: "inherit",
      fontWeight: "inherit",
      fontSize: "inherit",
      lineHeight: "inherit",
      letterSpacing: "inherit"
    }
  };
  return ge({
    htmlFontSize: f,
    pxToRem: E,
    fontFamily: r,
    fontSize: n,
    fontWeightLight: o,
    fontWeightRegular: a,
    fontWeightMedium: l,
    fontWeightBold: u,
    ...c
  }, h, {
    clone: !1
    // No need to clone deep
  });
}
const ji = 0.2, $i = 0.14, Ni = 0.12;
function re(...e) {
  return [`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${ji})`, `${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${$i})`, `${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${Ni})`].join(",");
}
const Ii = ["none", re(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), re(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), re(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), re(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), re(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), re(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), re(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), re(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), re(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), re(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), re(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), re(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), re(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), re(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), re(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), re(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), re(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), re(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), re(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), re(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), re(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), re(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), re(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), re(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)], Mi = {
  // This is the most common easing curve.
  easeInOut: "cubic-bezier(0.4, 0, 0.2, 1)",
  // Objects enter the screen at full velocity from off-screen and
  // slowly decelerate to a resting point.
  easeOut: "cubic-bezier(0.0, 0, 0.2, 1)",
  // Objects leave the screen at full velocity. They do not decelerate when off-screen.
  easeIn: "cubic-bezier(0.4, 0, 1, 1)",
  // The sharp curve is used by objects that may return to the screen at any time.
  sharp: "cubic-bezier(0.4, 0, 0.6, 1)"
}, Di = {
  shortest: 150,
  shorter: 200,
  short: 250,
  // most basic recommended timing
  standard: 300,
  // this is to be used in complex animations
  complex: 375,
  // recommended when something is entering screen
  enteringScreen: 225,
  // recommended when something is leaving screen
  leavingScreen: 195
};
function Kr(e) {
  return `${Math.round(e)}ms`;
}
function zi(e) {
  if (!e)
    return 0;
  const t = e / 36;
  return Math.min(Math.round((4 + 15 * t ** 0.25 + t / 5) * 10), 3e3);
}
function Bi(e) {
  const t = {
    ...Mi,
    ...e.easing
  }, r = {
    ...Di,
    ...e.duration
  };
  return {
    getAutoHeightDuration: zi,
    create: (o = ["all"], a = {}) => {
      const {
        duration: l = r.standard,
        easing: u = t.easeInOut,
        delay: f = 0,
        ...m
      } = a;
      if (process.env.NODE_ENV !== "production") {
        const g = (y) => typeof y == "string", h = (y) => !Number.isNaN(parseFloat(y));
        !g(o) && !Array.isArray(o) && console.error('MUI: Argument "props" must be a string or Array.'), !h(l) && !g(l) && console.error(`MUI: Argument "duration" must be a number or a string but found ${l}.`), g(u) || console.error('MUI: Argument "easing" must be a string.'), !h(f) && !g(f) && console.error('MUI: Argument "delay" must be a number or a string.'), typeof a != "object" && console.error(["MUI: Secong argument of transition.create must be an object.", "Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`"].join(`
`)), Object.keys(m).length !== 0 && console.error(`MUI: Unrecognized argument(s) [${Object.keys(m).join(",")}].`);
      }
      return (Array.isArray(o) ? o : [o]).map((g) => `${g} ${typeof l == "string" ? l : Kr(l)} ${u} ${typeof f == "string" ? f : Kr(f)}`).join(",");
    },
    ...e,
    easing: t,
    duration: r
  };
}
const Li = {
  mobileStepper: 1e3,
  fab: 1050,
  speedDial: 1050,
  appBar: 1100,
  drawer: 1200,
  modal: 1300,
  snackbar: 1400,
  tooltip: 1500
};
function Fi(e) {
  return _e(e) || typeof e > "u" || typeof e == "string" || typeof e == "boolean" || typeof e == "number" || Array.isArray(e);
}
function _n(e = {}) {
  const t = {
    ...e
  };
  function r(n) {
    const o = Object.entries(n);
    for (let a = 0; a < o.length; a++) {
      const [l, u] = o[a];
      !Fi(u) || l.startsWith("unstable_") ? delete n[l] : _e(u) && (n[l] = {
        ...u
      }, r(n[l]));
    }
  }
  return r(t), `import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';

const theme = ${JSON.stringify(t, null, 2)};

theme.breakpoints = createBreakpoints(theme.breakpoints || {});
theme.transitions = createTransitions(theme.transitions || {});

export default theme;`;
}
function rr(e = {}, ...t) {
  const {
    breakpoints: r,
    mixins: n = {},
    spacing: o,
    palette: a = {},
    transitions: l = {},
    typography: u = {},
    shape: f,
    ...m
  } = e;
  if (e.vars && // The error should throw only for the root theme creation because user is not allowed to use a custom node `vars`.
  // `generateThemeVars` is the closest identifier for checking that the `options` is a result of `createTheme` with CSS variables so that user can create new theme for nested ThemeProvider.
  e.generateThemeVars === void 0)
    throw new Error(process.env.NODE_ENV !== "production" ? "MUI: `vars` is a private field used for CSS variables support.\nPlease use another name or follow the [docs](https://mui.com/material-ui/customization/css-theme-variables/usage/) to enable the feature." : je(20));
  const g = pr(a), h = vn(e);
  let y = ge(h, {
    mixins: Ri(h.breakpoints, n),
    palette: g,
    // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.
    shadows: Ii.slice(),
    typography: Ai(g, u),
    transitions: Bi(l),
    zIndex: {
      ...Li
    }
  });
  if (y = ge(y, m), y = t.reduce((E, v) => ge(E, v), y), process.env.NODE_ENV !== "production") {
    const E = ["active", "checked", "completed", "disabled", "error", "expanded", "focused", "focusVisible", "required", "selected"], v = (c, C) => {
      let T;
      for (T in c) {
        const N = c[T];
        if (E.includes(T) && Object.keys(N).length > 0) {
          if (process.env.NODE_ENV !== "production") {
            const A = lr("", T);
            console.error([`MUI: The \`${C}\` component increases the CSS specificity of the \`${T}\` internal state.`, "You can not override it like this: ", JSON.stringify(c, null, 2), "", `Instead, you need to use the '&.${A}' syntax:`, JSON.stringify({
              root: {
                [`&.${A}`]: N
              }
            }, null, 2), "", "https://mui.com/r/state-classes-guide"].join(`
`));
          }
          c[T] = {};
        }
      }
    };
    Object.keys(y.components).forEach((c) => {
      const C = y.components[c].styleOverrides;
      C && c.startsWith("Mui") && v(C, c);
    });
  }
  return y.unstable_sxConfig = {
    ...jt,
    ...m == null ? void 0 : m.unstable_sxConfig
  }, y.unstable_sx = function(v) {
    return Ue({
      sx: v,
      theme: this
    });
  }, y.toRuntimeSource = _n, y;
}
function Vi(e) {
  let t;
  return e < 1 ? t = 5.11916 * e ** 2 : t = 4.5 * Math.log(e + 1) + 2, Math.round(t * 10) / 1e3;
}
const Ui = [...Array(25)].map((e, t) => {
  if (t === 0)
    return "none";
  const r = Vi(t);
  return `linear-gradient(rgba(255 255 255 / ${r}), rgba(255 255 255 / ${r}))`;
});
function Rn(e) {
  return {
    inputPlaceholder: e === "dark" ? 0.5 : 0.42,
    inputUnderline: e === "dark" ? 0.7 : 0.42,
    switchTrackDisabled: e === "dark" ? 0.2 : 0.12,
    switchTrack: e === "dark" ? 0.3 : 0.38
  };
}
function Pn(e) {
  return e === "dark" ? Ui : [];
}
function Wi(e) {
  const {
    palette: t = {
      mode: "light"
    },
    // need to cast to avoid module augmentation test
    opacity: r,
    overlays: n,
    ...o
  } = e, a = pr(t);
  return {
    palette: a,
    opacity: {
      ...Rn(a.mode),
      ...r
    },
    overlays: n || Pn(a.mode),
    ...o
  };
}
function Yi(e) {
  var t;
  return !!e[0].match(/(cssVarPrefix|colorSchemeSelector|rootSelector|typography|mixins|breakpoints|direction|transitions)/) || !!e[0].match(/sxConfig$/) || // ends with sxConfig
  e[0] === "palette" && !!((t = e[1]) != null && t.match(/(mode|contrastThreshold|tonalOffset)/));
}
const Hi = (e) => [...[...Array(25)].map((t, r) => `--${e ? `${e}-` : ""}overlays-${r}`), `--${e ? `${e}-` : ""}palette-AppBar-darkBg`, `--${e ? `${e}-` : ""}palette-AppBar-darkColor`], Gi = (e) => (t, r) => {
  const n = e.rootSelector || ":root", o = e.colorSchemeSelector;
  let a = o;
  if (o === "class" && (a = ".%s"), o === "data" && (a = "[data-%s]"), o != null && o.startsWith("data-") && !o.includes("%s") && (a = `[${o}="%s"]`), e.defaultColorScheme === t) {
    if (t === "dark") {
      const l = {};
      return Hi(e.cssVarPrefix).forEach((u) => {
        l[u] = r[u], delete r[u];
      }), a === "media" ? {
        [n]: r,
        "@media (prefers-color-scheme: dark)": {
          [n]: l
        }
      } : a ? {
        [a.replace("%s", t)]: l,
        [`${n}, ${a.replace("%s", t)}`]: r
      } : {
        [n]: {
          ...r,
          ...l
        }
      };
    }
    if (a && a !== "media")
      return `${n}, ${a.replace("%s", String(t))}`;
  } else if (t) {
    if (a === "media")
      return {
        [`@media (prefers-color-scheme: ${String(t)})`]: {
          [n]: r
        }
      };
    if (a)
      return a.replace("%s", String(t));
  }
  return n;
};
function qi(e, t) {
  t.forEach((r) => {
    e[r] || (e[r] = {});
  });
}
function b(e, t, r) {
  !e[t] && r && (e[t] = r);
}
function Qe(e) {
  return typeof e != "string" || !e.startsWith("hsl") ? e : Tn(e);
}
function Oe(e, t) {
  `${t}Channel` in e || (e[`${t}Channel`] = Je(Qe(e[t]), `MUI: Can't create \`palette.${t}Channel\` because \`palette.${t}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().
To suppress this warning, you need to explicitly provide the \`palette.${t}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`));
}
function Ki(e) {
  return typeof e == "number" ? `${e}px` : typeof e == "string" || typeof e == "function" || Array.isArray(e) ? e : "8px";
}
const Ce = (e) => {
  try {
    return e();
  } catch {
  }
}, Xi = (e = "mui") => hi(e);
function Ht(e, t, r, n) {
  if (!t)
    return;
  t = t === !0 ? {} : t;
  const o = n === "dark" ? "dark" : "light";
  if (!r) {
    e[n] = Wi({
      ...t,
      palette: {
        mode: o,
        ...t == null ? void 0 : t.palette
      }
    });
    return;
  }
  const {
    palette: a,
    ...l
  } = rr({
    ...r,
    palette: {
      mode: o,
      ...t == null ? void 0 : t.palette
    }
  });
  return e[n] = {
    ...t,
    palette: a,
    opacity: {
      ...Rn(o),
      ...t == null ? void 0 : t.opacity
    },
    overlays: (t == null ? void 0 : t.overlays) || Pn(o)
  }, l;
}
function Ji(e = {}, ...t) {
  const {
    colorSchemes: r = {
      light: !0
    },
    defaultColorScheme: n,
    disableCssColorScheme: o = !1,
    cssVarPrefix: a = "mui",
    shouldSkipGeneratingVar: l = Yi,
    colorSchemeSelector: u = r.light && r.dark ? "media" : void 0,
    rootSelector: f = ":root",
    ...m
  } = e, g = Object.keys(r)[0], h = n || (r.light && g !== "light" ? "light" : g), y = Xi(a), {
    [h]: E,
    light: v,
    dark: c,
    ...C
  } = r, T = {
    ...C
  };
  let N = E;
  if ((h === "dark" && !("dark" in r) || h === "light" && !("light" in r)) && (N = !0), !N)
    throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The \`colorSchemes.${h}\` option is either missing or invalid.` : je(21, h));
  const A = Ht(T, N, m, h);
  v && !T.light && Ht(T, v, void 0, "light"), c && !T.dark && Ht(T, c, void 0, "dark");
  let O = {
    defaultColorScheme: h,
    ...A,
    cssVarPrefix: a,
    colorSchemeSelector: u,
    rootSelector: f,
    getCssVar: y,
    colorSchemes: T,
    font: {
      ..._i(A.typography),
      ...A.font
    },
    spacing: Ki(m.spacing)
  };
  Object.keys(O.colorSchemes).forEach((ee) => {
    const s = O.colorSchemes[ee].palette, P = (B) => {
      const V = B.split("-"), W = V[1], ie = V[2];
      return y(B, s[W][ie]);
    };
    if (s.mode === "light" && (b(s.common, "background", "#fff"), b(s.common, "onBackground", "#000")), s.mode === "dark" && (b(s.common, "background", "#000"), b(s.common, "onBackground", "#fff")), qi(s, ["Alert", "AppBar", "Avatar", "Button", "Chip", "FilledInput", "LinearProgress", "Skeleton", "Slider", "SnackbarContent", "SpeedDialAction", "StepConnector", "StepContent", "Switch", "TableCell", "Tooltip"]), s.mode === "light") {
      b(s.Alert, "errorColor", Q(s.error.light, 0.6)), b(s.Alert, "infoColor", Q(s.info.light, 0.6)), b(s.Alert, "successColor", Q(s.success.light, 0.6)), b(s.Alert, "warningColor", Q(s.warning.light, 0.6)), b(s.Alert, "errorFilledBg", P("palette-error-main")), b(s.Alert, "infoFilledBg", P("palette-info-main")), b(s.Alert, "successFilledBg", P("palette-success-main")), b(s.Alert, "warningFilledBg", P("palette-warning-main")), b(s.Alert, "errorFilledColor", Ce(() => s.getContrastText(s.error.main))), b(s.Alert, "infoFilledColor", Ce(() => s.getContrastText(s.info.main))), b(s.Alert, "successFilledColor", Ce(() => s.getContrastText(s.success.main))), b(s.Alert, "warningFilledColor", Ce(() => s.getContrastText(s.warning.main))), b(s.Alert, "errorStandardBg", Z(s.error.light, 0.9)), b(s.Alert, "infoStandardBg", Z(s.info.light, 0.9)), b(s.Alert, "successStandardBg", Z(s.success.light, 0.9)), b(s.Alert, "warningStandardBg", Z(s.warning.light, 0.9)), b(s.Alert, "errorIconColor", P("palette-error-main")), b(s.Alert, "infoIconColor", P("palette-info-main")), b(s.Alert, "successIconColor", P("palette-success-main")), b(s.Alert, "warningIconColor", P("palette-warning-main")), b(s.AppBar, "defaultBg", P("palette-grey-100")), b(s.Avatar, "defaultBg", P("palette-grey-400")), b(s.Button, "inheritContainedBg", P("palette-grey-300")), b(s.Button, "inheritContainedHoverBg", P("palette-grey-A100")), b(s.Chip, "defaultBorder", P("palette-grey-400")), b(s.Chip, "defaultAvatarColor", P("palette-grey-700")), b(s.Chip, "defaultIconColor", P("palette-grey-700")), b(s.FilledInput, "bg", "rgba(0, 0, 0, 0.06)"), b(s.FilledInput, "hoverBg", "rgba(0, 0, 0, 0.09)"), b(s.FilledInput, "disabledBg", "rgba(0, 0, 0, 0.12)"), b(s.LinearProgress, "primaryBg", Z(s.primary.main, 0.62)), b(s.LinearProgress, "secondaryBg", Z(s.secondary.main, 0.62)), b(s.LinearProgress, "errorBg", Z(s.error.main, 0.62)), b(s.LinearProgress, "infoBg", Z(s.info.main, 0.62)), b(s.LinearProgress, "successBg", Z(s.success.main, 0.62)), b(s.LinearProgress, "warningBg", Z(s.warning.main, 0.62)), b(s.Skeleton, "bg", `rgba(${P("palette-text-primaryChannel")} / 0.11)`), b(s.Slider, "primaryTrack", Z(s.primary.main, 0.62)), b(s.Slider, "secondaryTrack", Z(s.secondary.main, 0.62)), b(s.Slider, "errorTrack", Z(s.error.main, 0.62)), b(s.Slider, "infoTrack", Z(s.info.main, 0.62)), b(s.Slider, "successTrack", Z(s.success.main, 0.62)), b(s.Slider, "warningTrack", Z(s.warning.main, 0.62));
      const B = dt(s.background.default, 0.8);
      b(s.SnackbarContent, "bg", B), b(s.SnackbarContent, "color", Ce(() => s.getContrastText(B))), b(s.SpeedDialAction, "fabHoverBg", dt(s.background.paper, 0.15)), b(s.StepConnector, "border", P("palette-grey-400")), b(s.StepContent, "border", P("palette-grey-400")), b(s.Switch, "defaultColor", P("palette-common-white")), b(s.Switch, "defaultDisabledColor", P("palette-grey-100")), b(s.Switch, "primaryDisabledColor", Z(s.primary.main, 0.62)), b(s.Switch, "secondaryDisabledColor", Z(s.secondary.main, 0.62)), b(s.Switch, "errorDisabledColor", Z(s.error.main, 0.62)), b(s.Switch, "infoDisabledColor", Z(s.info.main, 0.62)), b(s.Switch, "successDisabledColor", Z(s.success.main, 0.62)), b(s.Switch, "warningDisabledColor", Z(s.warning.main, 0.62)), b(s.TableCell, "border", Z(ut(s.divider, 1), 0.88)), b(s.Tooltip, "bg", ut(s.grey[700], 0.92));
    }
    if (s.mode === "dark") {
      b(s.Alert, "errorColor", Z(s.error.light, 0.6)), b(s.Alert, "infoColor", Z(s.info.light, 0.6)), b(s.Alert, "successColor", Z(s.success.light, 0.6)), b(s.Alert, "warningColor", Z(s.warning.light, 0.6)), b(s.Alert, "errorFilledBg", P("palette-error-dark")), b(s.Alert, "infoFilledBg", P("palette-info-dark")), b(s.Alert, "successFilledBg", P("palette-success-dark")), b(s.Alert, "warningFilledBg", P("palette-warning-dark")), b(s.Alert, "errorFilledColor", Ce(() => s.getContrastText(s.error.dark))), b(s.Alert, "infoFilledColor", Ce(() => s.getContrastText(s.info.dark))), b(s.Alert, "successFilledColor", Ce(() => s.getContrastText(s.success.dark))), b(s.Alert, "warningFilledColor", Ce(() => s.getContrastText(s.warning.dark))), b(s.Alert, "errorStandardBg", Q(s.error.light, 0.9)), b(s.Alert, "infoStandardBg", Q(s.info.light, 0.9)), b(s.Alert, "successStandardBg", Q(s.success.light, 0.9)), b(s.Alert, "warningStandardBg", Q(s.warning.light, 0.9)), b(s.Alert, "errorIconColor", P("palette-error-main")), b(s.Alert, "infoIconColor", P("palette-info-main")), b(s.Alert, "successIconColor", P("palette-success-main")), b(s.Alert, "warningIconColor", P("palette-warning-main")), b(s.AppBar, "defaultBg", P("palette-grey-900")), b(s.AppBar, "darkBg", P("palette-background-paper")), b(s.AppBar, "darkColor", P("palette-text-primary")), b(s.Avatar, "defaultBg", P("palette-grey-600")), b(s.Button, "inheritContainedBg", P("palette-grey-800")), b(s.Button, "inheritContainedHoverBg", P("palette-grey-700")), b(s.Chip, "defaultBorder", P("palette-grey-700")), b(s.Chip, "defaultAvatarColor", P("palette-grey-300")), b(s.Chip, "defaultIconColor", P("palette-grey-300")), b(s.FilledInput, "bg", "rgba(255, 255, 255, 0.09)"), b(s.FilledInput, "hoverBg", "rgba(255, 255, 255, 0.13)"), b(s.FilledInput, "disabledBg", "rgba(255, 255, 255, 0.12)"), b(s.LinearProgress, "primaryBg", Q(s.primary.main, 0.5)), b(s.LinearProgress, "secondaryBg", Q(s.secondary.main, 0.5)), b(s.LinearProgress, "errorBg", Q(s.error.main, 0.5)), b(s.LinearProgress, "infoBg", Q(s.info.main, 0.5)), b(s.LinearProgress, "successBg", Q(s.success.main, 0.5)), b(s.LinearProgress, "warningBg", Q(s.warning.main, 0.5)), b(s.Skeleton, "bg", `rgba(${P("palette-text-primaryChannel")} / 0.13)`), b(s.Slider, "primaryTrack", Q(s.primary.main, 0.5)), b(s.Slider, "secondaryTrack", Q(s.secondary.main, 0.5)), b(s.Slider, "errorTrack", Q(s.error.main, 0.5)), b(s.Slider, "infoTrack", Q(s.info.main, 0.5)), b(s.Slider, "successTrack", Q(s.success.main, 0.5)), b(s.Slider, "warningTrack", Q(s.warning.main, 0.5));
      const B = dt(s.background.default, 0.98);
      b(s.SnackbarContent, "bg", B), b(s.SnackbarContent, "color", Ce(() => s.getContrastText(B))), b(s.SpeedDialAction, "fabHoverBg", dt(s.background.paper, 0.15)), b(s.StepConnector, "border", P("palette-grey-600")), b(s.StepContent, "border", P("palette-grey-600")), b(s.Switch, "defaultColor", P("palette-grey-300")), b(s.Switch, "defaultDisabledColor", P("palette-grey-600")), b(s.Switch, "primaryDisabledColor", Q(s.primary.main, 0.55)), b(s.Switch, "secondaryDisabledColor", Q(s.secondary.main, 0.55)), b(s.Switch, "errorDisabledColor", Q(s.error.main, 0.55)), b(s.Switch, "infoDisabledColor", Q(s.info.main, 0.55)), b(s.Switch, "successDisabledColor", Q(s.success.main, 0.55)), b(s.Switch, "warningDisabledColor", Q(s.warning.main, 0.55)), b(s.TableCell, "border", Q(ut(s.divider, 1), 0.68)), b(s.Tooltip, "bg", ut(s.grey[700], 0.92));
    }
    Oe(s.background, "default"), Oe(s.background, "paper"), Oe(s.common, "background"), Oe(s.common, "onBackground"), Oe(s, "divider"), Object.keys(s).forEach((B) => {
      const V = s[B];
      B !== "tonalOffset" && V && typeof V == "object" && (V.main && b(s[B], "mainChannel", Je(Qe(V.main))), V.light && b(s[B], "lightChannel", Je(Qe(V.light))), V.dark && b(s[B], "darkChannel", Je(Qe(V.dark))), V.contrastText && b(s[B], "contrastTextChannel", Je(Qe(V.contrastText))), B === "text" && (Oe(s[B], "primary"), Oe(s[B], "secondary")), B === "action" && (V.active && Oe(s[B], "active"), V.selected && Oe(s[B], "selected")));
    });
  }), O = t.reduce((ee, s) => ge(ee, s), O);
  const x = {
    prefix: a,
    disableCssColorScheme: o,
    shouldSkipGeneratingVar: l,
    getSelector: Gi(O)
  }, {
    vars: D,
    generateThemeVars: I,
    generateStyleSheets: K
  } = bi(O, x);
  return O.vars = D, Object.entries(O.colorSchemes[O.defaultColorScheme]).forEach(([ee, s]) => {
    O[ee] = s;
  }), O.generateThemeVars = I, O.generateStyleSheets = K, O.generateSpacing = function() {
    return xn(m.spacing, or(this));
  }, O.getColorSchemeSelector = xi(u), O.spacing = O.generateSpacing(), O.shouldSkipGeneratingVar = l, O.unstable_sxConfig = {
    ...jt,
    ...m == null ? void 0 : m.unstable_sxConfig
  }, O.unstable_sx = function(s) {
    return Ue({
      sx: s,
      theme: this
    });
  }, O.toRuntimeSource = _n, O;
}
function Xr(e, t, r) {
  e.colorSchemes && r && (e.colorSchemes[t] = {
    ...r !== !0 && r,
    palette: pr({
      ...r === !0 ? {} : r.palette,
      mode: t
    })
    // cast type to skip module augmentation test
  });
}
function Qi(e = {}, ...t) {
  const {
    palette: r,
    cssVariables: n = !1,
    colorSchemes: o = r ? void 0 : {
      light: !0
    },
    defaultColorScheme: a = r == null ? void 0 : r.mode,
    ...l
  } = e, u = a || "light", f = o == null ? void 0 : o[u], m = {
    ...o,
    ...r ? {
      [u]: {
        ...typeof f != "boolean" && f,
        palette: r
      }
    } : void 0
  };
  if (n === !1) {
    if (!("colorSchemes" in e))
      return rr(e, ...t);
    let g = r;
    "palette" in e || m[u] && (m[u] !== !0 ? g = m[u].palette : u === "dark" && (g = {
      mode: "dark"
    }));
    const h = rr({
      ...e,
      palette: g
    }, ...t);
    return h.defaultColorScheme = u, h.colorSchemes = m, h.palette.mode === "light" && (h.colorSchemes.light = {
      ...m.light !== !0 && m.light,
      palette: h.palette
    }, Xr(h, "dark", m.dark)), h.palette.mode === "dark" && (h.colorSchemes.dark = {
      ...m.dark !== !0 && m.dark,
      palette: h.palette
    }, Xr(h, "light", m.light)), h;
  }
  return !r && !("light" in m) && u === "light" && (m.light = !0), Ji({
    ...l,
    colorSchemes: m,
    defaultColorScheme: u,
    ...typeof n != "boolean" && n
  }, ...t);
}
const Zi = Qi(), es = "$$material";
function ts(e) {
  return e !== "ownerState" && e !== "theme" && e !== "sx" && e !== "as";
}
const rs = (e) => ts(e) && e !== "classes", ns = ti({
  themeId: es,
  defaultTheme: Zi,
  rootShouldForwardProp: rs
}), os = mi;
process.env.NODE_ENV !== "production" && (U.node, U.object.isRequired);
function as(e) {
  return pi(e);
}
function is(e) {
  return lr("MuiSvgIcon", e);
}
Xa("MuiSvgIcon", ["root", "colorPrimary", "colorSecondary", "colorAction", "colorError", "colorDisabled", "fontSizeInherit", "fontSizeSmall", "fontSizeMedium", "fontSizeLarge"]);
const ss = (e) => {
  const {
    color: t,
    fontSize: r,
    classes: n
  } = e, o = {
    root: ["root", t !== "inherit" && `color${Ie(t)}`, `fontSize${Ie(r)}`]
  };
  return Jn(o, is, n);
}, cs = ns("svg", {
  name: "MuiSvgIcon",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: r
    } = e;
    return [t.root, r.color !== "inherit" && t[`color${Ie(r.color)}`], t[`fontSize${Ie(r.fontSize)}`]];
  }
})(os(({
  theme: e
}) => {
  var t, r, n, o, a, l, u, f, m, g, h, y, E, v;
  return {
    userSelect: "none",
    width: "1em",
    height: "1em",
    display: "inline-block",
    flexShrink: 0,
    transition: (o = (t = e.transitions) == null ? void 0 : t.create) == null ? void 0 : o.call(t, "fill", {
      duration: (n = (r = (e.vars ?? e).transitions) == null ? void 0 : r.duration) == null ? void 0 : n.shorter
    }),
    variants: [
      {
        props: (c) => !c.hasSvgAsChild,
        style: {
          // the <svg> will define the property that has `currentColor`
          // for example heroicons uses fill="none" and stroke="currentColor"
          fill: "currentColor"
        }
      },
      {
        props: {
          fontSize: "inherit"
        },
        style: {
          fontSize: "inherit"
        }
      },
      {
        props: {
          fontSize: "small"
        },
        style: {
          fontSize: ((l = (a = e.typography) == null ? void 0 : a.pxToRem) == null ? void 0 : l.call(a, 20)) || "1.25rem"
        }
      },
      {
        props: {
          fontSize: "medium"
        },
        style: {
          fontSize: ((f = (u = e.typography) == null ? void 0 : u.pxToRem) == null ? void 0 : f.call(u, 24)) || "1.5rem"
        }
      },
      {
        props: {
          fontSize: "large"
        },
        style: {
          fontSize: ((g = (m = e.typography) == null ? void 0 : m.pxToRem) == null ? void 0 : g.call(m, 35)) || "2.1875rem"
        }
      },
      // TODO v5 deprecate color prop, v6 remove for sx
      ...Object.entries((e.vars ?? e).palette).filter(([, c]) => c && c.main).map(([c]) => {
        var C, T;
        return {
          props: {
            color: c
          },
          style: {
            color: (T = (C = (e.vars ?? e).palette) == null ? void 0 : C[c]) == null ? void 0 : T.main
          }
        };
      }),
      {
        props: {
          color: "action"
        },
        style: {
          color: (y = (h = (e.vars ?? e).palette) == null ? void 0 : h.action) == null ? void 0 : y.active
        }
      },
      {
        props: {
          color: "disabled"
        },
        style: {
          color: (v = (E = (e.vars ?? e).palette) == null ? void 0 : E.action) == null ? void 0 : v.disabled
        }
      },
      {
        props: {
          color: "inherit"
        },
        style: {
          color: void 0
        }
      }
    ]
  };
})), vt = /* @__PURE__ */ de.forwardRef(function(t, r) {
  const n = as({
    props: t,
    name: "MuiSvgIcon"
  }), {
    children: o,
    className: a,
    color: l = "inherit",
    component: u = "svg",
    fontSize: f = "medium",
    htmlColor: m,
    inheritViewBox: g = !1,
    titleAccess: h,
    viewBox: y = "0 0 24 24",
    ...E
  } = n, v = /* @__PURE__ */ de.isValidElement(o) && o.type === "svg", c = {
    ...n,
    color: l,
    component: u,
    fontSize: f,
    instanceFontSize: t.fontSize,
    inheritViewBox: g,
    viewBox: y,
    hasSvgAsChild: v
  }, C = {};
  g || (C.viewBox = y);
  const T = ss(c);
  return /* @__PURE__ */ p.jsxs(cs, {
    as: u,
    className: Xn(T.root, a),
    focusable: "false",
    color: m,
    "aria-hidden": h ? void 0 : !0,
    role: h ? "img" : void 0,
    ref: r,
    ...C,
    ...E,
    ...v && o.props,
    ownerState: c,
    children: [v ? o.props.children : o, h ? /* @__PURE__ */ p.jsx("title", {
      children: h
    }) : null]
  });
});
process.env.NODE_ENV !== "production" && (vt.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Node passed into the SVG element.
   */
  children: U.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: U.object,
  /**
   * @ignore
   */
  className: U.string,
  /**
   * The color of the component.
   * It supports both default and custom theme colors, which can be added as shown in the
   * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
   * You can use the `htmlColor` prop to apply a color attribute to the SVG element.
   * @default 'inherit'
   */
  color: U.oneOfType([U.oneOf(["inherit", "action", "disabled", "primary", "secondary", "error", "info", "success", "warning"]), U.string]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: U.elementType,
  /**
   * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.
   * @default 'medium'
   */
  fontSize: U.oneOfType([U.oneOf(["inherit", "large", "medium", "small"]), U.string]),
  /**
   * Applies a color attribute to the SVG element.
   */
  htmlColor: U.string,
  /**
   * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`
   * prop will be ignored.
   * Useful when you want to reference a custom `component` and have `SvgIcon` pass that
   * `component`'s viewBox to the root node.
   * @default false
   */
  inheritViewBox: U.bool,
  /**
   * The shape-rendering attribute. The behavior of the different options is described on the
   * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/shape-rendering).
   * If you are having issues with blurry icons you should investigate this prop.
   */
  shapeRendering: U.string,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: U.oneOfType([U.arrayOf(U.oneOfType([U.func, U.object, U.bool])), U.func, U.object]),
  /**
   * Provides a human-readable title for the element that contains it.
   * https://www.w3.org/TR/SVG-access/#Equivalent
   */
  titleAccess: U.string,
  /**
   * Allows you to redefine what the coordinates without units mean inside an SVG element.
   * For example, if the SVG element is 500 (width) by 200 (height),
   * and you pass viewBox="0 0 50 20",
   * this means that the coordinates inside the SVG will go from the top left corner (0,0)
   * to bottom right (50,20) and each unit will be worth 10px.
   * @default '0 0 24 24'
   */
  viewBox: U.string
});
vt.muiName = "SvgIcon";
function we(e, t) {
  function r(n, o) {
    return /* @__PURE__ */ p.jsx(vt, {
      "data-testid": process.env.NODE_ENV !== "production" ? `${t}Icon` : void 0,
      ref: o,
      ...n,
      children: e
    });
  }
  return process.env.NODE_ENV !== "production" && (r.displayName = `${t}Icon`), r.muiName = vt.muiName, /* @__PURE__ */ de.memo(/* @__PURE__ */ de.forwardRef(r));
}
const ft = we(/* @__PURE__ */ p.jsx("path", {
  d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
}), "Close"), ls = we(/* @__PURE__ */ p.jsx("path", {
  d: "M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"
}), "Settings"), us = ({ closeConsole: e, openChatbot: t }) => {
  const [r, n] = ne([]), [o, a] = ne([""]), [l, u] = ne(1500), [f, m] = ne(500), [g, h] = ne(""), [y, E] = ne(!1), [v, c] = ne(!1), [C, T] = ne(""), [N, A] = ne(""), [O, x] = ne(""), [D, I] = ne(1024), [K, ee] = ne(""), [s, P] = ne("AI Chat Assistant"), [B, V] = ne("Hello! 👋 How can I help you today?"), [W, ie] = ne(8), [te, le] = ne(0.3), pe = [
    "all-MiniLM-L6-v2",
    "paraphrase-MiniLM-L6-v2",
    "distilbert-base-nli-stsb-mean-tokens",
    "all-distilroberta-v1",
    "paraphrase-distilroberta-base-v1",
    "stsb-roberta-base"
  ], Se = ["Chroma", "FAISS", "Pinecone", "Weaviate", "Qdrant"], i = [
    "Qwen/QwQ-32B-Preview",
    "meta-llama/Llama-3.3-70B-Instruct-Turbo",
    "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo",
    "scb10x/scb10x-llama3-typhoon-v1-5-8b-instruct",
    "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",
    "OpenAI/ChatGPT",
    "Google/Gemini",
    "llama3-8b-8192",
    "llama3-70b-8192"
  ], d = (S, R = 3e3) => {
    ee(S), setTimeout(() => {
      ee("");
    }, R);
  }, w = (S) => {
    const R = S.target.files ? Array.from(S.target.files) : [];
    n((F) => [...F, ...R]);
  }, _ = (S) => {
    n((R) => R.filter((F, k) => k !== S));
  }, j = (S, R) => {
    const F = [...o];
    F[S] = R, a(F);
  }, $ = (S) => {
    a((R) => R.filter((F, k) => k !== S));
  }, M = () => a([...o, ""]), L = async () => {
    if (!g) {
      d("Please select an embedding model.");
      return;
    }
    E(!0);
    const S = new FormData();
    S.append("project_name", "bajaj-finserv.com"), r.forEach((R) => S.append("doc_files", R)), S.append("links", JSON.stringify(o.filter((R) => R.trim() !== ""))), S.append("embedding_model", g), S.append("chunk_size", String(l)), S.append("chunk_overlap", String(f));
    try {
      const R = await fetch("https://datalysis.rag-chatbot-web.shop/preprocess", {
        method: "POST",
        body: S
      }), F = await R.json();
      if (R.ok || F.status === "success")
        c(!0), d("✅ Preprocessing completed successfully!");
      else
        throw new Error(F.detail || "Preprocessing failed");
    } catch (R) {
      console.error("❌ Preprocessing error:", R), d("❌ Preprocessing failed. Please try again.");
    } finally {
      E(!1);
    }
  }, z = async () => {
    if (!C || !N) {
      d("Please select both vector database and chat model.");
      return;
    }
    try {
      const S = await fetch("https://datalysis.rag-chatbot-web.shop/select_vectordb", {
        method: "POST",
        headers: { "Content-Type": "application/x-www-form-urlencoded" },
        body: new URLSearchParams({ vectordb: C })
      });
      if (!S.ok) throw new Error("Vector database selection failed.");
      await S.json();
      const R = new FormData();
      R.append("custom_prompt", O), R.append("chatbot_title", s.trim()), R.append("initial_message", B.trim()), R.append("chat_model", N), R.append("project_name", "bajaj-finserv.com"), R.append("max_output_tokens", String(D)), R.append("top_k", String(W)), R.append("temperature", String(te));
      const F = await fetch("https://datalysis.rag-chatbot-web.shop/select_chat_model", {
        method: "POST",
        body: R
      });
      if (!F.ok) throw new Error("Chat model selection failed.");
      await F.json(), d("✅ Chatbot is ready!"), e && e(), typeof t == "function" && t();
    } catch (S) {
      console.error("Error:", S), d("❌ Error in configuration. Please try again.");
    }
  };
  return /* @__PURE__ */ p.jsxs("div", { className: "developer-console", children: [
    /* @__PURE__ */ p.jsx("style", { children: ds }),
    /* @__PURE__ */ p.jsx("h2", { children: "Developer Console" }),
    !v && /* @__PURE__ */ p.jsxs(p.Fragment, { children: [
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Upload Documents (PDF/DOCX):" }),
        /* @__PURE__ */ p.jsx("input", { type: "file", multiple: !0, accept: ".pdf,.docx", onChange: w }),
        /* @__PURE__ */ p.jsx("ul", { children: r.map((S, R) => /* @__PURE__ */ p.jsxs("li", { children: [
          S.name,
          /* @__PURE__ */ p.jsx("button", { className: "remove-btn", onClick: () => _(R), children: "❌" })
        ] }, R)) })
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Enter URLs for Web Scraping:" }),
        o.map((S, R) => /* @__PURE__ */ p.jsxs("div", { className: "url-input-container", children: [
          /* @__PURE__ */ p.jsx(
            "input",
            {
              type: "text",
              placeholder: `URL ${R + 1}`,
              value: S,
              onChange: (F) => j(R, F.target.value)
            }
          ),
          /* @__PURE__ */ p.jsx("button", { className: "remove-btn", onClick: () => $(R), children: "❌" })
        ] }, R)),
        /* @__PURE__ */ p.jsx("button", { onClick: M, className: "add-url-btn", children: "+ Add More" })
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Chunk Size:" }),
        /* @__PURE__ */ p.jsx("input", { type: "number", value: l, onChange: (S) => u(Number(S.target.value)) })
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Chunk Overlap:" }),
        /* @__PURE__ */ p.jsx("input", { type: "number", value: f, onChange: (S) => m(Number(S.target.value)) })
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Select Vector Database:" }),
        /* @__PURE__ */ p.jsxs("select", { value: C, onChange: (S) => T(S.target.value), children: [
          /* @__PURE__ */ p.jsx("option", { value: "", children: "Select Database" }),
          Se.map((S) => /* @__PURE__ */ p.jsx("option", { value: S, children: S }, S))
        ] })
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Select Embedding Model:" }),
        /* @__PURE__ */ p.jsxs("select", { value: g, onChange: (S) => h(S.target.value), children: [
          /* @__PURE__ */ p.jsx("option", { value: "", children: "Select Model" }),
          pe.map((S) => /* @__PURE__ */ p.jsx("option", { value: S, children: S }, S))
        ] })
      ] }),
      /* @__PURE__ */ p.jsx("button", { onClick: L, disabled: y, children: y ? "Processing..." : "Start Preprocessing" })
    ] }),
    v && /* @__PURE__ */ p.jsxs(p.Fragment, { children: [
      /* @__PURE__ */ p.jsx("h3", { className: "preprocessed-message", children: "✅ Preprocessing completed!" }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Custom Prompt Template (Optional):" }),
        /* @__PURE__ */ p.jsx(
          "textarea",
          {
            value: O,
            onChange: (S) => x(S.target.value),
            rows: 10,
            placeholder: "Enter a custom prompt template here...",
            style: { width: "100%", fontFamily: "monospace" }
          }
        )
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Initial Bot Message:" }),
        /* @__PURE__ */ p.jsx(
          "input",
          {
            type: "text",
            value: B,
            onChange: (S) => V(S.target.value),
            placeholder: "Enter welcome message",
            style: { width: "100%" }
          }
        )
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Chatbot Title:" }),
        /* @__PURE__ */ p.jsx(
          "input",
          {
            type: "text",
            value: s,
            onChange: (S) => P(S.target.value),
            placeholder: "Enter Chatbot Title",
            style: { width: "100%" }
          }
        )
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Top K Results (top_k):" }),
        /* @__PURE__ */ p.jsx(
          "input",
          {
            type: "number",
            min: 1,
            max: 50,
            value: W,
            onChange: (S) => ie(Number(S.target.value)),
            placeholder: "Enter number of top chunks to retrieve"
          }
        )
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Temperature:" }),
        /* @__PURE__ */ p.jsx(
          "input",
          {
            type: "number",
            step: 0.01,
            min: 0,
            max: 1,
            value: te,
            onChange: (S) => le(Number(S.target.value)),
            placeholder: "Enter temperature for randomness"
          }
        )
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Max Output Tokens:" }),
        /* @__PURE__ */ p.jsx(
          "input",
          {
            type: "number",
            min: 1,
            max: 4096,
            value: D,
            onChange: (S) => I(Number(S.target.value)),
            placeholder: "1024"
          }
        )
      ] }),
      /* @__PURE__ */ p.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ p.jsx("label", { children: "Select Chat Model:" }),
        /* @__PURE__ */ p.jsxs("select", { value: N, onChange: (S) => A(S.target.value), children: [
          /* @__PURE__ */ p.jsx("option", { value: "", children: "Select Chat Model" }),
          i.map((S) => /* @__PURE__ */ p.jsx("option", { value: S, children: S }, S))
        ] })
      ] }),
      /* @__PURE__ */ p.jsx("button", { onClick: z, disabled: !N, style: { opacity: N ? 1 : 0.5, cursor: N ? "pointer" : "not-allowed" }, children: "Run Chatbot" })
    ] }),
    K && /* @__PURE__ */ p.jsx("div", { className: "fade-message", children: K })
  ] });
}, ds = `
/* DeveloperConsole.css */

/* General Styling */
body {
  font-family: "Poppins", sans-serif;
  background: linear-gradient(90deg, #121212, #1e1e1e);
  color: #f1f1f1;
  margin: 0;
  padding: 0;
}

/* Developer Console Box */
.developer-console {
  max-width: 700px;
  margin: 40px auto;
  padding: 20px;
  background: #1a1a1a;
  border-radius: 16px;
  box-shadow: 0px 8px 25px rgba(0, 0, 0, 0.6);
  animation: fadeIn 0.4s ease-in-out;
}

/* Fade In Animation */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Headings */
h2 {
  text-align: center;
  font-size: 26px;
  font-weight: 600;
  color: #00c2ff;
  margin-bottom: 25px;
}

/* Section Block */
.section {
  max-width: 100%;
  background: #222;
  padding: 15px;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.4);
  margin-bottom: 50px;
  transition: transform 0.2s ease-in-out;
}

.section:hover {
  transform: scale(1.01);
}

/* Labels */
label {
  font-size: 14px;
  font-weight: 500;
  color: #ccc;
  display: block;
  margin-bottom: 8px;
}

/* Inputs and Selects */
input , select {
  width: 80%;
  padding: 12px;
  font-size: 14px;
  border: 1px solid #333;
  border-radius: 10px;
  background: #2b2b2b;
  color: #f1f1f1;
  transition: all 0.3s ease-in-out;
  margin-bottom: 30px;
}

input:focus, select:focus {
  border: 1px solid #00c2ff;
  background: #1e1e1e;
  outline: none;
}

.section,
.file-upload-container,
.url-input-container,
.admin-input {
  max-width: 90%;     /* Reduce to 80% or 70% if needed */
  margin: 0 auto;     /* Center it */
}


/* File Upload */
.file-upload-container {
  padding: 12px;
  border-radius: 12px;
  background: #2a2a2a;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px dashed #00c2ff;
}

/* Uploaded File Item */
.file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #1e1e1e;
  padding: 10px;
  margin: 5px 0;
  border-radius: 6px;
  width: 100%;
  font-size: 14px;
  transition: background 0.3s ease-in-out;
  color: #ddd;
}

.file-item:hover {
  background: #2c2c2c;
}

/* Remove Button */
.remove-btn {
  background: transparent;
  color: #ff6b6b;
  border: none;
  font-size: 11px;
  cursor: pointer;
  transition: color 0.3s ease-in-out;
  padding: 4px;
}

.remove-btn:hover {
  color: #ff2e2e;
}

/* Buttons */
button {
  width: 100%;
  padding: 14px;
  font-size: 15px;
  font-weight: bold;
  color: white;
  background: #00c2ff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

button:hover {
  background: #0099cc;
}

button:disabled {
  background: #555;
  cursor: not-allowed;
}

/* Add More URL Button */
.add-url-btn {
  background: #00c2ff;
  color: white;
  padding: 10px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

.add-url-btn:hover {
  background: #0099cc;
}

/* Confirmation Message */
.preprocessed-message {
  color: #00e676;
  font-weight: 600;
  text-align: center;
  margin-top: 12px;
  animation: slideIn 0.5s ease-in-out;
}

@keyframes slideIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Responsive Layout */
@media (max-width: 768px) {
  .developer-console {
    padding: 15px;
    margin: 20px auto;
  }
}

.section + .section {
  margin-top: 40px;
}


/* URL Input */
.url-input-container {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  background: #2c2c2c;
  padding: 8px;
  border-radius: 8px;
  width: 100%;
}

.url-input-container input {
  flex-grow: 1;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #444;
  border-radius: 8px;
  background: #1e1e1e;
  color: #eee;
  word-break: break-all;
}

/* Message Content */
.message-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* Speaker Button */
.speaker-button {
  background: none;
  border: none;
  color: #aaa;
  cursor: pointer;
  padding: 2px;
  transition: color 0.2s ease;
}

.speaker-button:hover {
  color: white;
}

/* Toast Message */
.fade-message {
  position: absolute;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #222;
  color: #fff;
  padding: 10px 20px;
  border-radius: 20px;
  opacity: 0.95;
  animation: fadeOut 3s forwards;
  font-size: 14px;
  z-index: 999;
}


@keyframes fadeOut {
  0% { opacity: 0.95; }
  80% { opacity: 0.6; }
  100% { opacity: 0; display: none; }
}
`, fs = we(/* @__PURE__ */ p.jsx("path", {
  d: "M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"
}), "Send");
var An = {
  color: void 0,
  size: void 0,
  className: void 0,
  style: void 0,
  attr: void 0
}, Jr = Ae.createContext && /* @__PURE__ */ Ae.createContext(An), ps = ["attr", "size", "title"];
function ms(e, t) {
  if (e == null) return {};
  var r = hs(e, t), n, o;
  if (Object.getOwnPropertySymbols) {
    var a = Object.getOwnPropertySymbols(e);
    for (o = 0; o < a.length; o++)
      n = a[o], !(t.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(e, n) && (r[n] = e[n]);
  }
  return r;
}
function hs(e, t) {
  if (e == null) return {};
  var r = {};
  for (var n in e)
    if (Object.prototype.hasOwnProperty.call(e, n)) {
      if (t.indexOf(n) >= 0) continue;
      r[n] = e[n];
    }
  return r;
}
function wt() {
  return wt = Object.assign ? Object.assign.bind() : function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var r = arguments[t];
      for (var n in r)
        Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);
    }
    return e;
  }, wt.apply(this, arguments);
}
function Qr(e, t) {
  var r = Object.keys(e);
  if (Object.getOwnPropertySymbols) {
    var n = Object.getOwnPropertySymbols(e);
    t && (n = n.filter(function(o) {
      return Object.getOwnPropertyDescriptor(e, o).enumerable;
    })), r.push.apply(r, n);
  }
  return r;
}
function St(e) {
  for (var t = 1; t < arguments.length; t++) {
    var r = arguments[t] != null ? arguments[t] : {};
    t % 2 ? Qr(Object(r), !0).forEach(function(n) {
      gs(e, n, r[n]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : Qr(Object(r)).forEach(function(n) {
      Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
    });
  }
  return e;
}
function gs(e, t, r) {
  return t = ys(t), t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e;
}
function ys(e) {
  var t = bs(e, "string");
  return typeof t == "symbol" ? t : t + "";
}
function bs(e, t) {
  if (typeof e != "object" || !e) return e;
  var r = e[Symbol.toPrimitive];
  if (r !== void 0) {
    var n = r.call(e, t);
    if (typeof n != "object") return n;
    throw new TypeError("@@toPrimitive must return a primitive value.");
  }
  return (t === "string" ? String : Number)(e);
}
function jn(e) {
  return e && e.map((t, r) => /* @__PURE__ */ Ae.createElement(t.tag, St({
    key: r
  }, t.attr), jn(t.child)));
}
function $n(e) {
  return (t) => /* @__PURE__ */ Ae.createElement(xs, wt({
    attr: St({}, e.attr)
  }, t), jn(e.child));
}
function xs(e) {
  var t = (r) => {
    var {
      attr: n,
      size: o,
      title: a
    } = e, l = ms(e, ps), u = o || r.size || "1em", f;
    return r.className && (f = r.className), e.className && (f = (f ? f + " " : "") + e.className), /* @__PURE__ */ Ae.createElement("svg", wt({
      stroke: "currentColor",
      fill: "currentColor",
      strokeWidth: "0"
    }, r.attr, n, l, {
      className: f,
      style: St(St({
        color: e.color || r.color
      }, r.style), e.style),
      height: u,
      width: u,
      xmlns: "http://www.w3.org/2000/svg"
    }), a && /* @__PURE__ */ Ae.createElement("title", null, a), e.children);
  };
  return Jr !== void 0 ? /* @__PURE__ */ Ae.createElement(Jr.Consumer, null, (r) => t(r)) : t(An);
}
function vs(e) {
  return $n({ attr: { viewBox: "0 0 1024 1024" }, child: [{ tag: "path", attr: { d: "M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 0 1 655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 0 1 279 755.2a342.16 342.16 0 0 1-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 0 1 109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 0 0 3 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z" }, child: [] }] })(e);
}
const Zr = we(/* @__PURE__ */ p.jsx("path", {
  d: "M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3m5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72z"
}), "Mic"), ws = we(/* @__PURE__ */ p.jsx("path", {
  d: "M3 9v6h4l5 5V4L7 9zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02M14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77"
}), "VolumeUp"), Ss = we(/* @__PURE__ */ p.jsx("path", {
  d: "M6 19h4V5H6zm8-14v14h4V5z"
}), "Pause");
function Cs(e) {
  return $n({ attr: { viewBox: "0 0 24 24" }, child: [{ tag: "path", attr: { fill: "none", d: "M0 0h24v24H0z" }, child: [] }, { tag: "path", attr: { d: "M21 12.22C21 6.73 16.74 3 12 3c-4.69 0-9 3.65-9 9.28-.6.34-1 .98-1 1.72v2c0 1.1.9 2 2 2h1v-6.1c0-3.87 3.13-7 7-7s7 3.13 7 7V19h-8v2h8c1.1 0 2-.9 2-2v-1.22c.59-.31 1-.92 1-1.64v-2.3c0-.7-.41-1.31-1-1.62z" }, child: [] }, { tag: "circle", attr: { cx: "9", cy: "13", r: "1" }, child: [] }, { tag: "circle", attr: { cx: "15", cy: "13", r: "1" }, child: [] }, { tag: "path", attr: { d: "M18 11.03A6.04 6.04 0 0 0 12.05 6c-3.03 0-6.29 2.51-6.03 6.45a8.075 8.075 0 0 0 4.86-5.89c1.31 2.63 4 4.44 7.12 4.47z" }, child: [] }] })(e);
}
const Es = we(/* @__PURE__ */ p.jsx("path", {
  d: "M7 18h2V6H7zm4 4h2V2h-2zm-8-8h2v-4H3zm12 4h2V6h-2zm4-8v4h2v-4z"
}), "GraphicEq"), Ts = we(/* @__PURE__ */ p.jsx("path", {
  d: "M19 11h-1.7c0 .74-.16 1.43-.43 2.05l1.23 1.23c.56-.98.9-2.09.9-3.28m-4.02.17c0-.06.02-.11.02-.17V5c0-1.66-1.34-3-3-3S9 3.34 9 5v.18zM4.27 3 3 4.27l6.01 6.01V11c0 1.66 1.33 3 2.99 3 .22 0 .44-.03.65-.08l1.66 1.66c-.71.33-1.5.52-2.31.52-2.76 0-5.3-2.1-5.3-5.1H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c.91-.13 1.77-.45 2.54-.9L19.73 21 21 19.73z"
}), "MicOff"), ks = we(/* @__PURE__ */ p.jsx("path", {
  d: "M20.01 15.38c-1.23 0-2.42-.2-3.53-.56-.35-.12-.74-.03-1.01.24l-1.57 1.97c-2.83-1.35-5.48-3.9-6.89-6.83l1.95-1.66c.27-.28.35-.67.24-1.02-.37-1.11-.56-2.3-.56-3.53 0-.54-.45-.99-.99-.99H4.19C3.65 3 3 3.24 3 3.99 3 13.28 10.73 21 20.01 21c.71 0 .99-.63.99-1.18v-3.45c0-.54-.45-.99-.99-.99"
}), "Call"), Os = we(/* @__PURE__ */ p.jsx("path", {
  d: "M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M6 9h12v2H6zm8 5H6v-2h8zm4-6H6V6h12z"
}), "Chat"), _s = we(/* @__PURE__ */ p.jsx("path", {
  d: "m17.34 14.54-1.43-1.43c.56-.73 1.05-1.5 1.47-2.32l-2.2-2.2c-.28-.28-.36-.67-.25-1.02.37-1.12.57-2.32.57-3.57 0-.55.45-1 1-1H20c.55 0 1 .45 1 1 0 3.98-1.37 7.64-3.66 10.54m-2.82 2.81C11.63 19.64 7.97 21 4 21c-.55 0-1-.45-1-1v-3.49c0-.55.45-1 1-1 1.24 0 2.45-.2 3.57-.57.35-.12.75-.03 1.02.24l2.2 2.2c.81-.42 1.58-.9 2.3-1.46L1.39 4.22l1.42-1.41L21.19 21.2l-1.41 1.41z"
}), "PhoneDisabled"), Rs = we(/* @__PURE__ */ p.jsx("path", {
  d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"
}), "ContentCopy"), en = (e) => `${String(Math.floor(e / 60)).padStart(2, "0")}:${String(e % 60).padStart(2, "0")}`, Ps = (e) => e.toLocaleString("en-US", {
  month: "short",
  day: "numeric",
  hour: "numeric",
  minute: "2-digit",
  hour12: !0
});
function $s() {
  const [e, t] = ne({
    isOpen: !1,
    showHelperBubble: !0,
    showSettings: !1,
    showDeveloperConsole: !1,
    showSettingsIcon: !1,
    notification: "",
    isRecording: !1,
    isMuted: !1,
    isBotResponding: !1,
    isLoading: !1
  }), [r, n] = ne(""), [o, a] = ne(!1), [l, u] = ne({
    modal: !1,
    state: "idle",
    time: 0
  }), [f, m] = ne({
    title: "AI Chat Assistant",
    messages: [],
    input: "",
    speakingIndex: null
  }), g = Pe(null), [h, y] = ne(0), [E, v] = ne("Hello! 👋 How can I help you today?"), c = Pe(null);
  Pe(null);
  const C = Pe(null), T = Pe(!1), N = Pe(!1), A = Pe("en-US"), O = Pe(l.state);
  He(() => {
    O.current = l.state;
  }, [l.state]);
  const x = (i) => i.startsWith("hi") ? "hi-IN" : "en-IN", D = (i, d = 3e3) => {
    t((w) => ({ ...w, notification: i })), setTimeout(() => t((w) => ({ ...w, notification: "" })), d);
  }, I = () => t((i) => ({
    ...i,
    isOpen: !i.isOpen,
    showSettings: !1,
    showDeveloperConsole: !1,
    showSettingsIcon: !1
  })), K = () => g.current = setInterval(() => {
    u((i) => ({ ...i, time: i.time + 1 }));
  }, 1e3), ee = () => {
    g.current && clearInterval(g.current);
  }, s = async (i, d, w) => {
    var R;
    const _ = window.speechSynthesis, $ = await new Promise((F) => {
      let k = _.getVoices();
      if (k.length) return F(k);
      const be = setInterval(() => {
        k = _.getVoices(), k.length && (clearInterval(be), F(k));
      }, 200);
    }), M = d.toLowerCase().startsWith("hi") ? "hi-IN" : "en-IN", L = {
      "en-IN": ["Lekha"],
      "hi-IN": ["Google हिन्दी", "Lekha"]
    }, z = $.find((F) => {
      var k;
      return (k = L[M]) == null ? void 0 : k.includes(F.name);
    }) || $.find((F) => F.lang === M && F.name.toLowerCase().includes("female")) || $.find((F) => F.lang === M) || $[0], S = new SpeechSynthesisUtterance(i);
    S.lang = M, S.voice = z, T.current = !0, S.onend = () => {
      T.current = !1, setTimeout(() => w == null ? void 0 : w(), 2e3);
    }, (R = c.current) == null || R.abort(), _.cancel(), _.speak(S);
  }, P = () => {
    const i = c.current;
    if (!i) return;
    i.continuous = !0, i.interimResults = !0, i.lang = "en-IN";
    let d = "";
    i.onresult = (w) => {
      let _ = "";
      for (let $ = w.resultIndex; $ < w.results.length; $++) {
        const M = w.results[$][0].transcript;
        w.results[$].isFinal ? d += M : _ += M;
      }
      const j = d + _;
      m(($) => ({ ...$, input: j }));
    }, i.onerror = (w) => {
      console.error("🎤 Recognition error:", w), t((_) => ({ ..._, isRecording: !1 }));
    }, i.onend = () => {
      console.log("🎤 Recognition ended"), t((w) => ({ ...w, isRecording: !1 }));
    };
    try {
      i.start(), t((w) => ({ ...w, isRecording: !0 }));
    } catch (w) {
      console.error("🎤 Error starting recognition:", w);
    }
  }, B = async (i) => new Promise(async (d) => {
    try {
      const w = await fetch("https://datalysis.rag-chatbot-web.shop/chat", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({ query: i, project_name: "bajaj-finserv.com" })
      }), _ = await w.json(), j = w.ok ? _.response : "Sorry, I couldn't understand that.", $ = w.ok ? _.language : "en", M = x($);
      A.current = M, console.log("🌐 Detected language:", $, "| Locale:", M), m((L) => ({
        ...L,
        messages: [
          ...L.messages,
          { text: i, sender: "user", timestamp: /* @__PURE__ */ new Date() },
          { text: j, sender: "bot", timestamp: /* @__PURE__ */ new Date() }
        ]
      })), s(j, $, () => d());
    } catch (w) {
      console.error("❌ Chat fetch error:", w), s("Something went wrong.", "en", () => d());
    }
  }), V = () => {
    const i = c.current;
    if (!i) {
      console.error("❌ recognitionRef is null");
      return;
    }
    if (T.current) {
      console.log("⛔ Skipping recognition — bot still speaking");
      return;
    }
    if (N.current) {
      console.log("⏳ Recognition already active, skipping start.");
      return;
    }
    i.continuous = !1, i.interimResults = !1, i.lang = A.current || "en-IN", i.onstart = () => {
      console.log("✅ Recognition started"), N.current = !0;
    }, i.onend = () => {
      if (N.current = !1, O.current !== "active") return;
      const d = () => {
        T.current ? (console.log("🛑 Still speaking... delaying recognition retry"), setTimeout(d, 1e3)) : (console.log("🎧 Restarting recognition (not speaking)"), V());
      };
      setTimeout(d, 500);
    }, i.onerror = (d) => {
      N.current = !1, console.error("❌ Recognition error:", d), O.current === "active" && setTimeout(() => V(), 500);
    }, i.onresult = (d) => {
      if (T.current) {
        console.log("🛑 Ignored input — bot still speaking");
        return;
      }
      const w = d.results[0][0].transcript.trim();
      console.log("🗣️ Heard:", w), B(w).then(() => {
        O.current === "active" && V();
      });
    };
    try {
      console.log("🎙️ Starting recognition in", i.lang), i.start();
    } catch (d) {
      console.error("❌ Failed to start:", d);
    }
  }, W = (i, d) => {
    const w = new SpeechSynthesisUtterance(i);
    w.lang = "en-US", w.onend = () => m((_) => ({ ..._, speakingIndex: null })), window.speechSynthesis.cancel(), window.speechSynthesis.speak(w), m((_) => ({ ..._, speakingIndex: d }));
  }, ie = () => {
    window.speechSynthesis.cancel(), m((i) => ({ ...i, speakingIndex: null }));
  }, te = async () => {
    try {
      const d = await (await fetch("https://datalysis.rag-chatbot-web.shop/get_config?project_name=bajaj-finserv.com")).json(), w = d.initial_message || E, _ = d.chatbot_title || f.title;
      v(w), m((j) => ({
        ...j,
        title: _,
        messages: [{ text: w, sender: "bot", timestamp: /* @__PURE__ */ new Date() }]
      }));
    } catch {
      const i = "Hello! 👋 How can I help you today?";
      v(i), m((d) => ({
        ...d,
        messages: [{ text: i, sender: "bot", timestamp: /* @__PURE__ */ new Date() }]
      }));
    }
  }, le = async () => {
    if (!f.input.trim() || e.isBotResponding) return;
    const i = {
      text: f.input,
      sender: "user",
      timestamp: /* @__PURE__ */ new Date()
    };
    m((d) => ({ ...d, input: "", messages: [...d.messages, i] })), t((d) => ({ ...d, isBotResponding: !0, isLoading: !0 }));
    try {
      const d = await fetch("https://datalysis.rag-chatbot-web.shop/chat", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({ query: i.text, project_name: "bajaj-finserv.com" })
      }), w = await d.json(), _ = {
        text: d.ok ? w.response : `Error: ${w.detail}`,
        sender: "bot",
        timestamp: /* @__PURE__ */ new Date()
      };
      m((j) => ({ ...j, messages: [...j.messages, _] }));
    } catch {
      m((d) => ({
        ...d,
        messages: [
          ...d.messages,
          {
            text: "Error connecting to server.",
            sender: "bot",
            timestamp: /* @__PURE__ */ new Date()
          }
        ]
      }));
    } finally {
      t((d) => ({ ...d, isBotResponding: !1, isLoading: !1 }));
    }
  }, pe = async (i) => {
    try {
      await navigator.clipboard.writeText(i), D("Copied to clipboard!");
    } catch (d) {
      console.error("Failed to copy: ", d);
    }
  };
  He(() => {
    const i = setTimeout(() => {
      t((d) => ({ ...d, isOpen: !0 }));
    }, 2e3);
    return () => clearTimeout(i);
  }, []), He(() => {
    const i = window.SpeechRecognition || window.webkitSpeechRecognition;
    i && (c.current = new i()), te();
  }, []), He(() => {
    if (!e.isOpen && e.showHelperBubble) {
      const i = setTimeout(() => {
        t((d) => ({ ...d, showHelperBubble: !1 }));
      }, 5e4);
      return () => clearTimeout(i);
    }
  }, [e.isOpen, e.showHelperBubble]), He(() => {
    C.current && (C.current.scrollTop = C.current.scrollHeight);
  }, [f.messages]);
  const Se = (i, d) => /* @__PURE__ */ p.jsxs("span", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
    f.speakingIndex === d ? /* @__PURE__ */ p.jsx(
      Ss,
      {
        onClick: ie,
        fontSize: "small",
        style: { cursor: "pointer", color: "white" }
      }
    ) : /* @__PURE__ */ p.jsx(
      ws,
      {
        onClick: () => W(i.text, d),
        fontSize: "small",
        style: { cursor: "pointer", color: "white" }
      }
    ),
    /* @__PURE__ */ p.jsx(
      Rs,
      {
        onClick: () => pe(i.text),
        fontSize: "small",
        style: { cursor: "pointer", color: "white" }
      }
    )
  ] });
  return /* @__PURE__ */ p.jsxs("div", { className: "chatbot-container", children: [
    !e.isOpen && e.showHelperBubble && /* @__PURE__ */ p.jsx("div", { className: "chat-floating-bubble", onClick: I, children: /* @__PURE__ */ p.jsxs("div", { className: "bubble-wrapper", children: [
      /* @__PURE__ */ p.jsx("div", { className: "bubble-content", children: /* @__PURE__ */ p.jsx("strong", { children: "Need a hand? I’ve got you covered 🤖" }) }),
      /* @__PURE__ */ p.jsx("div", { className: "bubble-tail" })
    ] }) }),
    !e.isOpen && /* @__PURE__ */ p.jsx("button", { className: "chat-icon", onClick: I, children: "💬" }),
    e.isOpen && /* @__PURE__ */ p.jsxs("div", { className: "chatbox", children: [
      /* @__PURE__ */ p.jsxs("div", { className: "chat-header", children: [
        /* @__PURE__ */ p.jsx(
          "span",
          {
            onClick: () => {
              y((i) => {
                const d = i + 1;
                return d === 3 ? (t((w) => ({ ...w, showSettingsIcon: !0 })), 0) : (setTimeout(() => y(0), 400), d);
              });
            },
            children: f.title
          }
        ),
        /* @__PURE__ */ p.jsxs("div", { className: "icons", children: [
          /* @__PURE__ */ p.jsx(vs, { className: "icon", onClick: te, title: "Reset" }),
          e.showSettingsIcon && /* @__PURE__ */ p.jsx(
            ls,
            {
              className: "icon",
              onClick: () => t((i) => ({ ...i, showSettings: !0 }))
            }
          ),
          /* @__PURE__ */ p.jsx(ft, { className: "icon", onClick: I })
        ] })
      ] }),
      /* @__PURE__ */ p.jsx("div", { className: "chat-body", ref: C, children: e.showDeveloperConsole ? /* @__PURE__ */ p.jsx(
        us,
        {
          closeConsole: () => {
            a(!1), t((i) => ({ ...i, showDeveloperConsole: !1 })), te();
          },
          openChatbot: () => t((i) => ({ ...i, isOpen: !0 }))
        }
      ) : /* @__PURE__ */ p.jsxs(p.Fragment, { children: [
        f.messages.map((i, d) => /* @__PURE__ */ p.jsxs(
          "div",
          {
            className: i.sender === "bot" ? "bot-message" : "user-message",
            children: [
              /* @__PURE__ */ p.jsx("div", { className: "message-content", children: i.text }),
              /* @__PURE__ */ p.jsxs("div", { className: "message-meta", children: [
                /* @__PURE__ */ p.jsx("span", { className: "timestamp", children: Ps(new Date(i.timestamp)) }),
                i.sender === "bot" && Se(i, d)
              ] })
            ]
          },
          d
        )),
        e.isLoading && /* @__PURE__ */ p.jsxs("div", { className: "bot-message thinking-icon", children: [
          /* @__PURE__ */ p.jsx("span", { className: "dot one" }),
          /* @__PURE__ */ p.jsx("span", { className: "dot two" }),
          /* @__PURE__ */ p.jsx("span", { className: "dot three" })
        ] })
      ] }) }),
      l.modal && /* @__PURE__ */ p.jsxs("div", { className: "call-ui", children: [
        /* @__PURE__ */ p.jsxs(
          "div",
          {
            className: "call-header",
            style: {
              display: "flex",
              justifyContent: "space-between",
              alignItems: "center",
              padding: "0 10px"
            },
            children: [
              /* @__PURE__ */ p.jsx(
                ft,
                {
                  style: { cursor: "pointer" },
                  onClick: () => {
                    var i;
                    (i = c.current) == null || i.stop(), speechSynthesis.cancel(), ee(), u({ modal: !1, state: "idle", time: 0 });
                  }
                }
              ),
              /* @__PURE__ */ p.jsx(
                "span",
                {
                  style: {
                    flex: 1,
                    textAlign: "center",
                    fontWeight: "bold",
                    fontSize: "18px"
                  },
                  children: "Agent"
                }
              ),
              /* @__PURE__ */ p.jsx("div", { style: { width: "24px" } })
            ]
          }
        ),
        /* @__PURE__ */ p.jsxs("div", { className: "call-content", children: [
          /* @__PURE__ */ p.jsx("img", { src: "/agent.jpg", alt: "Agent", className: "call-avatar" }),
          /* @__PURE__ */ p.jsxs("h2", { className: "agent-name", children: [
            "Sera ",
            /* @__PURE__ */ p.jsx("span", { className: "ai-badge", children: "AI" })
          ] }),
          /* @__PURE__ */ p.jsx("p", { children: "Customer Support Specialist" }),
          l.state === "idle" && /* @__PURE__ */ p.jsxs(
            "button",
            {
              className: "talk-button",
              onClick: () => {
                u({ modal: !0, state: "active", time: 0 }), s(
                  "Hello, my name is Sera, Customer Support Specialist. How can I assist you today?",
                  "en",
                  () => {
                    V(), K();
                  }
                );
              },
              children: [
                /* @__PURE__ */ p.jsx(Es, { className: "talk-button-icon" }),
                " Talk to Sera"
              ]
            }
          ),
          l.state === "active" && /* @__PURE__ */ p.jsxs(p.Fragment, { children: [
            /* @__PURE__ */ p.jsx("p", { className: "listening-text", children: "Listening..." }),
            /* @__PURE__ */ p.jsx("p", { style: { color: "#ccc", marginTop: "4px" }, children: en(l.time) }),
            /* @__PURE__ */ p.jsxs("div", { className: "call-control-buttons", children: [
              /* @__PURE__ */ p.jsx(
                "button",
                {
                  className: "mute-call-button",
                  onClick: () => t((i) => ({ ...i, isMuted: !i.isMuted })),
                  children: e.isMuted ? /* @__PURE__ */ p.jsx(Ts, { style: { fontSize: 24 } }) : /* @__PURE__ */ p.jsx(Zr, { style: { fontSize: 24 } })
                }
              ),
              /* @__PURE__ */ p.jsx(
                "button",
                {
                  className: "end-call-button",
                  onClick: () => {
                    var i;
                    (i = c.current) == null || i.stop(), speechSynthesis.cancel(), u((d) => ({ ...d, state: "ended" })), ee();
                  },
                  children: /* @__PURE__ */ p.jsx(ft, { style: { fontSize: 24 } })
                }
              )
            ] }),
            /* @__PURE__ */ p.jsxs("div", { className: "call-control-labels", children: [
              /* @__PURE__ */ p.jsx("span", { children: e.isMuted ? "Unmute" : "Mute" }),
              /* @__PURE__ */ p.jsx("span", { children: "End Call" })
            ] })
          ] }),
          l.state === "ended" && /* @__PURE__ */ p.jsxs(p.Fragment, { children: [
            /* @__PURE__ */ p.jsxs("div", { className: "call-ended-section", children: [
              /* @__PURE__ */ p.jsx(_s, { style: { fontSize: 20 } }),
              /* @__PURE__ */ p.jsx("span", { className: "call-ended-text", children: "Call Ended" }),
              /* @__PURE__ */ p.jsx("span", { className: "call-time", children: en(l.time) })
            ] }),
            /* @__PURE__ */ p.jsxs("div", { className: "call-ended-buttons", children: [
              /* @__PURE__ */ p.jsxs(
                "button",
                {
                  onClick: () => {
                    u({ modal: !0, state: "active", time: 0 }), s(
                      "Welcome back. How can I help you again?",
                      "en",
                      () => {
                        K(), V();
                      }
                    );
                  },
                  children: [
                    /* @__PURE__ */ p.jsx(ks, { style: { fontSize: 18 } }),
                    "Call Again"
                  ]
                }
              ),
              /* @__PURE__ */ p.jsxs(
                "button",
                {
                  onClick: () => u((i) => ({ ...i, modal: !1 })),
                  children: [
                    /* @__PURE__ */ p.jsx(Os, { style: { fontSize: 18 } }),
                    "Back to Chat"
                  ]
                }
              )
            ] })
          ] })
        ] })
      ] }),
      !e.showDeveloperConsole && /* @__PURE__ */ p.jsxs(p.Fragment, { children: [
        /* @__PURE__ */ p.jsxs("div", { className: "chat-input-container", children: [
          /* @__PURE__ */ p.jsx(
            "input",
            {
              className: "chat-input",
              value: f.input,
              placeholder: e.isBotResponding ? "You can type, but wait..." : "Type or hold mic to speak...",
              onChange: (i) => m((d) => ({ ...d, input: i.target.value })),
              onKeyDown: (i) => i.key === "Enter" && !e.isBotResponding && le()
            }
          ),
          /* @__PURE__ */ p.jsx(
            "button",
            {
              className: "send-button",
              onClick: le,
              disabled: e.isBotResponding,
              children: /* @__PURE__ */ p.jsx(fs, { fontSize: "small" })
            }
          )
        ] }),
        /* @__PURE__ */ p.jsxs("div", { className: "chat-input-secondary-buttons", children: [
          /* @__PURE__ */ p.jsx(
            "button",
            {
              className: `mic-button ${e.isRecording ? "recording" : ""}`,
              onMouseDown: P,
              onMouseUp: () => {
                var i;
                (i = c.current) == null || i.stop(), t((d) => ({ ...d, isRecording: !1 }));
              },
              onTouchStart: P,
              onTouchEnd: () => {
                var i;
                (i = c.current) == null || i.stop(), t((d) => ({ ...d, isRecording: !1 }));
              },
              title: "Hold to record",
              children: /* @__PURE__ */ p.jsx(Zr, {})
            }
          ),
          /* @__PURE__ */ p.jsx(
            "button",
            {
              className: "call-agent-circle-button",
              onClick: () => u({ modal: !0, state: "idle", time: 0 }),
              title: "Talk to Agent",
              children: /* @__PURE__ */ p.jsx(Cs, { size: 30 })
            }
          )
        ] })
      ] }),
      e.showSettings && /* @__PURE__ */ p.jsx("div", { className: "admin-modal", children: /* @__PURE__ */ p.jsxs("div", { className: "admin-modal-content", children: [
        /* @__PURE__ */ p.jsxs("div", { className: "admin-header", children: [
          /* @__PURE__ */ p.jsx("h3", { children: "Enter Admin Key" }),
          /* @__PURE__ */ p.jsx(
            ft,
            {
              className: "close-icon",
              onClick: () => t((i) => ({ ...i, showSettings: !1 }))
            }
          )
        ] }),
        /* @__PURE__ */ p.jsx(
          "input",
          {
            type: "password",
            value: r,
            onChange: (i) => n(i.target.value),
            className: "admin-input",
            placeholder: "Enter admin key"
          }
        ),
        /* @__PURE__ */ p.jsx(
          "button",
          {
            className: "admin-submit",
            onClick: () => {
              r === "admin123" ? (a(!0), t((i) => ({
                ...i,
                showSettings: !1,
                showDeveloperConsole: !0
              }))) : D("Incorrect Admin Key!");
            },
            children: "Submit"
          }
        )
      ] }) }),
      e.notification && /* @__PURE__ */ p.jsx("div", { className: "fade-message", children: e.notification })
    ] })
  ] });
}
const As = `
/* your entire CSS string... */
.chatbot-container {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
}
.admin-modal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(15, 15, 15, 0.95);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1001;
  border-radius: 10px;
}

.admin-modal-content {
  background: #111;
  padding: 24px 18px;
  border-radius: 16px;
  width: 90%;
  max-width: 360px;
  box-shadow: 0 0 12px rgba(0, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  gap: 18px;
}


.admin-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: white;
}

.admin-header h3 {
  margin: 0;
  font-size: 18px;
}

.close-icon {
  cursor: pointer;
  font-size: 22px;
  color: white;
  transition: transform 0.2s ease;
}

.close-icon:hover {
  transform: scale(1.2);
}

.admin-input {
  padding: 12px 14px;
  font-size: 14px;
  border-radius: 8px;
  border: 1px solid #333;
  background: #1a1a1a;
  color: white;
  outline: none;
}

.admin-input::placeholder {
  color: #777;
}

.admin-submit {
  padding: 12px;
  border: none;
  border-radius: 10px;
  font-size: 14px;
  font-weight: bold;
  background: linear-gradient(145deg, #00f0ff, #1831ed);
  color: white;
  cursor: pointer;
  transition: background 0.3s ease;
}

.admin-submit:hover {
  background: #222;
}

.chat-icon {
  background: linear-gradient(145deg, #00f0ff, #1831ed);
  color: white;
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 15px rgba(0, 240, 255, 0.4);
  transition: transform 0.2s ease;
  margin-left: 250px;
}
.chat-icon.hidden {
  opacity: 0;
  pointer-events: none;
}
.chat-icon:hover { transform: scale(1.1); }

.chatbox {
  position: fixed;
  bottom: 80px;
  right: 20px;
  width: 430px;
  height: 650px;
  background: #111;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 255, 255, 0.15);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: fadeIn 0.3s ease-in-out;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.chat-header {
  background: linear-gradient(145deg, #00f0ff, #1831ed);
  color: black;
  padding: 12px;
  font-size: 18px;
  display: flex;
  font-weight: 900;
  justify-content: space-between;
  align-items: center;
}
.chat-header .icons { 
  display: flex; gap: 10px;
  filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.4));
 }
.chat-header .icon {
  cursor: pointer;
  font-size: 30px;
  transition: transform 0.2s ease-in-out;

}
.chat-header .icon:hover { transform: scale(1.2); }

.chat-body {
  flex: 1;
  overflow-y: auto;
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

.bot-message, .user-message {
  padding: 8px 12px;
  border-radius: 10px;
  max-width: 80%;
  box-shadow: 0 2px 4px rgba(0, 255, 255, 0.05);
}
.bot-message {
  background: #222;
  color: #e0e0e0;
  align-self: flex-start;
  padding: 12px 16px;
  border-radius: 12px;
  max-width: 80%;
  width: fit-content;
  margin: 4px 0;
  box-shadow: 0 2px 4px rgba(0, 255, 255, 0.08);
  word-break: break-word;
  line-height: 1.4;
  text-align: left;
}
.message-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.message-row.user {
  align-items: flex-end;
}

.message-content {
  white-space: pre-wrap;
  word-wrap: break-word;
  font-size: 16px;
}

.user-message {
  background: #333;
  color: #fff;
  align-self: flex-end;
  padding: 10px 14px;
  border-radius: 10px;
  max-width: 80%;
  margin: 4px 0;
  box-shadow: 0 2px 4px rgba(0, 255, 255, 0.05);
  word-break: break-word;
  text-align: left;
}

.message-meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 6px;
  font-size: 12px;
  color: white;
}
.timestamp {
  white-space: nowrap;
  font-size: 12px;
  color: white;
  margin-left: 8px;
  margin-right: 80px;
}

.chat-input-container {
  display: flex;
  align-items: stretch;
  padding: 10px;
  gap: 10px;
  background: #111;
  border-top: 1px solid #333;
}
.chat-input {
  flex: 1;
  height: 60px; /* Match the send button height */
  padding: 10px;
  border-radius: 8px;
  font-size: 14px;
  background: #1a1a1a;
  color: white;
  border: 1px solid #333;
  resize: none; /* Optional: if you want to prevent manual resizing */
  margin-bottom: 0px;
}

.send-button {
  width: 44px;
  height: 80px;
  margin-bottom: 0;
  align-self: flex-end;
  background: linear-gradient(145deg, #00f0ff, #1831ed);
  border: none;
  border-radius: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  cursor: pointer;
}

.send-button:disabled {
  background: rgb(94, 94, 96);
  cursor: not-allowed;
}

.chat-input-secondary-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 8px 0;
  background: #111;
  border-top: 1px solid #333;
}
.mic-button, .call-agent-circle-button {
  width: 200px;
  height: 50px;
  font-size: 20px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #00f0ff, #1831ed);
  color: white;
  border: none;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.mic-button:hover, .call-agent-circle-button:hover {
  background: #111;
  transform: scale(1.01);
}

.thinking-icon {
  display: flex;
  gap: 5px;
}
.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #555;
  animation: blink 1.4s infinite both;
}
.dot.one { animation-delay: 0s; }
.dot.two { animation-delay: 0.2s; }
.dot.three { animation-delay: 0.4s; }
@keyframes blink {
  0%, 80%, 100% { opacity: 0; }
  40% { opacity: 1; }
}
.call-ui {
  position: absolute;
  top: 0;
  left: 0;
  background: #111;
  padding: 30px 20px;
  border-radius: 0 0 20px 20px;
  width: 100%;
  height: 100%;
  z-index: 5; /* make sure it overlays other elements */
  box-sizing: border-box;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.call-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  color: white;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}
.call-header > span {
  flex: 1;
  text-align: center;
}
.call-header > svg {
  cursor: pointer;
}
.call-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.call-content img.call-avatar {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  box-shadow: 0 0 12px rgba(0, 240, 255, 0.5);
  margin: 20px auto 10px;
}
.agent-name {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: bold;
  font-size: 22px;
  margin-top: 10px;
  gap: 8px;
}
.ai-badge {
  font-size: 12px;
  background: white;
  color: black;
  padding: 3px 6px;
  border-radius: 6px;
}
.call-content p {
  color: #ccc;
  margin: 6px 0 20px;
  font-size: 14px;
}
.talk-button {
  background: linear-gradient(145deg, #00f0ff, #1831ed);
  color: white;
  border-radius: 20px;
  font-weight: bold;
  padding: 10px 18px;
  width: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
}
.talk-button:hover {
  background: #222;
}


.listening-text { animation: wave 2s infinite; color: white; font-size: 14px; }
@keyframes wave { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } }

.call-control-buttons {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 20px;
}
.mute-call-button, .end-call-button {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.mute-call-button { background: #d1cde8; color: black; }
.end-call-button { background: #ff4c4c; color: white; }
.mute-call-button:hover, .end-call-button:hover { transform: scale(1.1); }

.call-control-labels {
  display: flex;
  justify-content: center;
  gap: 50px;
  margin-top: 8px;
  color: white;
  font-size: 14px;
}

.call-ended-section {
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  gap: 10px;
  margin-top: 10px;
}
.call-ended-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}
.call-ended-buttons button {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #111;
  color: white;
  border: 1px solid #666;
  border-radius: 25px;
  padding: 10px 18px;
  font-size: 14px;
  cursor: pointer;
}
.call-ended-buttons button:hover {
  background: #333;
  transform: scale(1.05);
}
.chat-floating-bubble {
  position: fixed;
  bottom: 80px;
  right: 30px;
  cursor: pointer;
  animation: bubbleEntry 0.6s ease-out, bubbleFloat 3s ease-in-out infinite;
}

.bubble-wrapper {
  position: relative; /* Critical to position the tail properly */
  background: linear-gradient(145deg, #00f0ff, #1831ed);
  color: white;
  padding: 14px 20px;
  border-radius: 30px;
  box-shadow: 0 4px 12px rgba(0, 242, 255, 0.5);
  display: flex;
  align-items: center;
}

.bubble-content {
  font-weight: bold;
}

.bubble-tail {
  position: absolute;
  right: 8px; /* Pull it outside the bubble */
  top: 100%;
  transform: translateY(-50%) rotate(45deg);
  width: 16px;
  height: 16px;
  background: linear-gradient(145deg, #00f0ff, #1831ed);
  box-shadow: 0 4px 12px rgba(255, 0, 0, 0.5);
}

@keyframes bubbleEntry {
  0% {
    opacity: 0;
    transform: translateX(100px) scale(0.5);
  }
  60% {
    opacity: 1;
    transform: translateX(-10px) scale(1.05);
  }
  100% {
    transform: translateX(0) scale(1);
  }
}

@keyframes bubbleFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
.powered-by-section {
  text-align: center;
  padding: 10px;
  background-color: #0f0f0f;
  border-top: 1px solid #333;
}

.powered-by-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #ccc;
  font-size: 12px;
  text-decoration: none;
  transition: color 0.3s ease;
}

.powered-by-link:hover {
  color: #00f0ff;
}

.powered-by-logo {
  height: 16px;
  width: auto;
  vertical-align: middle;
}
@media screen and (max-width: 480px) {
  .chatbox {
    width: 95vw;
    height: 90vh;
    right: 2.5vw;
    bottom: 10px;
    border-radius: 12px;
  }

  .chat-icon {
    margin-left: 0; /* Avoid unnecessary margin on small screens */
  }

  .chat-input-container {
    flex-direction: column;
    gap: 8px;
  }

  .send-button {
    width: 100%;
    height: 44px;
  }

  .chat-input {
    height: 80px;
  }

  .mic-button, .call-agent-circle-button {
    width: 100%;
    font-size: 18px;
  }

  .call-ui {
    padding: 20px 10px;
  }

  .call-header {
    font-size: 16px;
  }

  .agent-name {
    font-size: 18px;
  }

  .talk-button {
    width: 100%;
  }

  .call-control-buttons {
    flex-direction: row; /* horizontal layout */
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
  }

  .call-control-labels {
    flex-direction: row; /* horizontal layout */
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
  }

  .chat-floating-bubble {
    right: 15px;
  }
.mic-button.recording svg {
  color: red;
  animation: blinkMic 1s infinite;
}

@keyframes blinkMic {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}
.chatbox {
  width: 430px;
  height: 650px;
  /* other styles */
}

@media screen and (max-width: 480px) {
  .chatbox {
    width: 95vw;
    height: 90vh;
    right: 2.5vw;
    bottom: 10px;
    border-radius: 12px;
  }
}
}
`;
if (typeof document < "u") {
  const e = document.createElement("style");
  e.innerHTML = As, document.head.appendChild(e);
}
export {
  $s as Chatbot,
  us as DeveloperConsole
};