UNPKG

rag-chatbot-ui-gptbots

Version:

React RAG Chatbot UI with Developer Console

6,523 lines 207 kB
import * as de from "react";
import $e, { forwardRef as zn, useContext as Bn, useState as re, useRef as je, useEffect as ut } from "react";
function Ln(e) {
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var Xt = { exports: {} }, Xe = {};
/**
 * @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 br;
function Fn() {
  if (br) return Xe;
  br = 1;
  var e = Symbol.for("react.transitional.element"), t = Symbol.for("react.fragment");
  function r(n, o, a) {
    var c = null;
    if (a !== void 0 && (c = "" + a), o.key !== void 0 && (c = "" + o.key), "key" in o) {
      a = {};
      for (var l in o)
        l !== "key" && (a[l] = o[l]);
    } else a = o;
    return o = a.ref, {
      $$typeof: e,
      type: n,
      key: c,
      ref: o !== void 0 ? o : null,
      props: a
    };
  }
  return Xe.Fragment = t, Xe.jsx = r, Xe.jsxs = r, Xe;
}
var Je = {};
/**
 * @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 xr;
function Vn() {
  return xr || (xr = 1, process.env.NODE_ENV !== "production" && function() {
    function e(u) {
      if (u == null) return null;
      if (typeof u == "function")
        return u.$$typeof === i ? null : u.displayName || u.name || null;
      if (typeof u == "string") return u;
      switch (u) {
        case s:
          return "Fragment";
        case O:
          return "Profiler";
        case E:
          return "StrictMode";
        case v:
          return "Suspense";
        case z:
          return "SuspenseList";
        case te:
          return "Activity";
      }
      if (typeof u == "object")
        switch (typeof u.tag == "number" && console.error(
          "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
        ), u.$$typeof) {
          case S:
            return "Portal";
          case j:
            return (u.displayName || "Context") + ".Provider";
          case I:
            return (u._context.displayName || "Context") + ".Consumer";
          case P:
            var w = u.render;
            return u = u.displayName, u || (u = w.displayName || w.name || "", u = u !== "" ? "ForwardRef(" + u + ")" : "ForwardRef"), u;
          case M:
            return w = u.displayName || null, w !== null ? w : e(u.type) || "Memo";
          case K:
            w = u._payload, u = u._init;
            try {
              return e(u(w));
            } catch {
            }
        }
      return null;
    }
    function t(u) {
      return "" + u;
    }
    function r(u) {
      try {
        t(u);
        var w = !1;
      } catch {
        w = !0;
      }
      if (w) {
        w = console;
        var $ = w.error, N = typeof Symbol == "function" && Symbol.toStringTag && u[Symbol.toStringTag] || u.constructor.name || "Object";
        return $.call(
          w,
          "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
          N
        ), t(u);
      }
    }
    function n(u) {
      if (u === s) return "<>";
      if (typeof u == "object" && u !== null && u.$$typeof === K)
        return "<...>";
      try {
        var w = e(u);
        return w ? "<" + w + ">" : "<...>";
      } catch {
        return "<...>";
      }
    }
    function o() {
      var u = A.A;
      return u === null ? null : u.getOwner();
    }
    function a() {
      return Error("react-stack-top-frame");
    }
    function c(u) {
      if (B.call(u, "key")) {
        var w = Object.getOwnPropertyDescriptor(u, "key").get;
        if (w && w.isReactWarning) return !1;
      }
      return u.key !== void 0;
    }
    function l(u, w) {
      function $() {
        oe || (oe = !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)",
          w
        ));
      }
      $.isReactWarning = !0, Object.defineProperty(u, "key", {
        get: $,
        configurable: !0
      });
    }
    function d() {
      var u = e(this.type);
      return Q[u] || (Q[u] = !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."
      )), u = this.props.ref, u !== void 0 ? u : null;
    }
    function p(u, w, $, N, D, L, g, C) {
      return $ = L.ref, u = {
        $$typeof: k,
        type: u,
        key: w,
        props: L,
        _owner: D
      }, ($ !== void 0 ? $ : null) !== null ? Object.defineProperty(u, "ref", {
        enumerable: !1,
        get: d
      }) : Object.defineProperty(u, "ref", { enumerable: !1, value: null }), u._store = {}, Object.defineProperty(u._store, "validated", {
        configurable: !1,
        enumerable: !1,
        writable: !0,
        value: 0
      }), Object.defineProperty(u, "_debugInfo", {
        configurable: !1,
        enumerable: !1,
        writable: !0,
        value: null
      }), Object.defineProperty(u, "_debugStack", {
        configurable: !1,
        enumerable: !1,
        writable: !0,
        value: g
      }), Object.defineProperty(u, "_debugTask", {
        configurable: !1,
        enumerable: !1,
        writable: !0,
        value: C
      }), Object.freeze && (Object.freeze(u.props), Object.freeze(u)), u;
    }
    function h(u, w, $, N, D, L, g, C) {
      var T = w.children;
      if (T !== void 0)
        if (N)
          if (V(T)) {
            for (N = 0; N < T.length; N++)
              m(T[N]);
            Object.freeze && Object.freeze(T);
          } 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 m(T);
      if (B.call(w, "key")) {
        T = e(u);
        var x = Object.keys(w).filter(function(F) {
          return F !== "key";
        });
        N = 0 < x.length ? "{key: someKey, " + x.join(": ..., ") + ": ...}" : "{key: someKey}", he[T + N] || (x = 0 < x.length ? "{" + x.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} />`,
          N,
          T,
          x,
          T
        ), he[T + N] = !0);
      }
      if (T = null, $ !== void 0 && (r($), T = "" + $), c(w) && (r(w.key), T = "" + w.key), "key" in w) {
        $ = {};
        for (var _ in w)
          _ !== "key" && ($[_] = w[_]);
      } else $ = w;
      return T && l(
        $,
        typeof u == "function" ? u.displayName || u.name || "Unknown" : u
      ), p(
        u,
        T,
        L,
        D,
        o(),
        $,
        g,
        C
      );
    }
    function m(u) {
      typeof u == "object" && u !== null && u.$$typeof === k && u._store && (u._store.validated = 1);
    }
    var y = $e, k = Symbol.for("react.transitional.element"), S = Symbol.for("react.portal"), s = Symbol.for("react.fragment"), E = Symbol.for("react.strict_mode"), O = Symbol.for("react.profiler"), I = Symbol.for("react.consumer"), j = Symbol.for("react.context"), P = Symbol.for("react.forward_ref"), v = Symbol.for("react.suspense"), z = Symbol.for("react.suspense_list"), M = Symbol.for("react.memo"), K = Symbol.for("react.lazy"), te = Symbol.for("react.activity"), i = Symbol.for("react.client.reference"), A = y.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, B = Object.prototype.hasOwnProperty, V = Array.isArray, U = console.createTask ? console.createTask : function() {
      return null;
    };
    y = {
      "react-stack-bottom-frame": function(u) {
        return u();
      }
    };
    var oe, Q = {}, le = y["react-stack-bottom-frame"].bind(
      y,
      a
    )(), me = U(n(a)), he = {};
    Je.Fragment = s, Je.jsx = function(u, w, $, N, D) {
      var L = 1e4 > A.recentlyCreatedOwnerStacks++;
      return h(
        u,
        w,
        $,
        !1,
        N,
        D,
        L ? Error("react-stack-top-frame") : le,
        L ? U(n(u)) : me
      );
    }, Je.jsxs = function(u, w, $, N, D) {
      var L = 1e4 > A.recentlyCreatedOwnerStacks++;
      return h(
        u,
        w,
        $,
        !0,
        N,
        D,
        L ? Error("react-stack-top-frame") : le,
        L ? U(n(u)) : me
      );
    };
  }()), Je;
}
process.env.NODE_ENV === "production" ? Xt.exports = Fn() : Xt.exports = Vn();
var f = Xt.exports;
const vr = (e) => e, Un = () => {
  let e = vr;
  return {
    configure(t) {
      e = t;
    },
    generate(t) {
      return e(t);
    },
    reset() {
      e = vr;
    }
  };
}, Wn = Un();
function Ne(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 ze(e) {
  if (typeof e != "string")
    throw new Error(process.env.NODE_ENV !== "production" ? "MUI: `capitalize(string)` expects a string argument." : Ne(7));
  return e.charAt(0).toUpperCase() + e.slice(1);
}
var Jt = { exports: {} }, dt = { 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 wr;
function Yn() {
  if (wr) return G;
  wr = 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, c = e ? Symbol.for("react.provider") : 60109, l = e ? Symbol.for("react.context") : 60110, d = e ? Symbol.for("react.async_mode") : 60111, p = e ? Symbol.for("react.concurrent_mode") : 60111, h = e ? Symbol.for("react.forward_ref") : 60112, m = e ? Symbol.for("react.suspense") : 60113, y = e ? Symbol.for("react.suspense_list") : 60120, k = e ? Symbol.for("react.memo") : 60115, S = e ? Symbol.for("react.lazy") : 60116, s = e ? Symbol.for("react.block") : 60121, E = e ? Symbol.for("react.fundamental") : 60117, O = e ? Symbol.for("react.responder") : 60118, I = e ? Symbol.for("react.scope") : 60119;
  function j(v) {
    if (typeof v == "object" && v !== null) {
      var z = v.$$typeof;
      switch (z) {
        case t:
          switch (v = v.type, v) {
            case d:
            case p:
            case n:
            case a:
            case o:
            case m:
              return v;
            default:
              switch (v = v && v.$$typeof, v) {
                case l:
                case h:
                case S:
                case k:
                case c:
                  return v;
                default:
                  return z;
              }
          }
        case r:
          return z;
      }
    }
  }
  function P(v) {
    return j(v) === p;
  }
  return G.AsyncMode = d, G.ConcurrentMode = p, G.ContextConsumer = l, G.ContextProvider = c, G.Element = t, G.ForwardRef = h, G.Fragment = n, G.Lazy = S, G.Memo = k, G.Portal = r, G.Profiler = a, G.StrictMode = o, G.Suspense = m, G.isAsyncMode = function(v) {
    return P(v) || j(v) === d;
  }, G.isConcurrentMode = P, G.isContextConsumer = function(v) {
    return j(v) === l;
  }, G.isContextProvider = function(v) {
    return j(v) === c;
  }, G.isElement = function(v) {
    return typeof v == "object" && v !== null && v.$$typeof === t;
  }, G.isForwardRef = function(v) {
    return j(v) === h;
  }, G.isFragment = function(v) {
    return j(v) === n;
  }, G.isLazy = function(v) {
    return j(v) === S;
  }, G.isMemo = function(v) {
    return j(v) === k;
  }, G.isPortal = function(v) {
    return j(v) === r;
  }, G.isProfiler = function(v) {
    return j(v) === a;
  }, G.isStrictMode = function(v) {
    return j(v) === o;
  }, G.isSuspense = function(v) {
    return j(v) === m;
  }, G.isValidElementType = function(v) {
    return typeof v == "string" || typeof v == "function" || v === n || v === p || v === a || v === o || v === m || v === y || typeof v == "object" && v !== null && (v.$$typeof === S || v.$$typeof === k || v.$$typeof === c || v.$$typeof === l || v.$$typeof === h || v.$$typeof === E || v.$$typeof === O || v.$$typeof === I || v.$$typeof === s);
  }, G.typeOf = j, 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 Sr;
function Hn() {
  return Sr || (Sr = 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, c = e ? Symbol.for("react.provider") : 60109, l = e ? Symbol.for("react.context") : 60110, d = e ? Symbol.for("react.async_mode") : 60111, p = e ? Symbol.for("react.concurrent_mode") : 60111, h = e ? Symbol.for("react.forward_ref") : 60112, m = e ? Symbol.for("react.suspense") : 60113, y = e ? Symbol.for("react.suspense_list") : 60120, k = e ? Symbol.for("react.memo") : 60115, S = e ? Symbol.for("react.lazy") : 60116, s = e ? Symbol.for("react.block") : 60121, E = e ? Symbol.for("react.fundamental") : 60117, O = e ? Symbol.for("react.responder") : 60118, I = e ? Symbol.for("react.scope") : 60119;
    function j(R) {
      return typeof R == "string" || typeof R == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
      R === n || R === p || R === a || R === o || R === m || R === y || typeof R == "object" && R !== null && (R.$$typeof === S || R.$$typeof === k || R.$$typeof === c || R.$$typeof === l || R.$$typeof === h || R.$$typeof === E || R.$$typeof === O || R.$$typeof === I || R.$$typeof === s);
    }
    function P(R) {
      if (typeof R == "object" && R !== null) {
        var pe = R.$$typeof;
        switch (pe) {
          case t:
            var Be = R.type;
            switch (Be) {
              case d:
              case p:
              case n:
              case a:
              case o:
              case m:
                return Be;
              default:
                var De = Be && Be.$$typeof;
                switch (De) {
                  case l:
                  case h:
                  case S:
                  case k:
                  case c:
                    return De;
                  default:
                    return pe;
                }
            }
          case r:
            return pe;
        }
      }
    }
    var v = d, z = p, M = l, K = c, te = t, i = h, A = n, B = S, V = k, U = r, oe = a, Q = o, le = m, me = !1;
    function he(R) {
      return me || (me = !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.")), u(R) || P(R) === d;
    }
    function u(R) {
      return P(R) === p;
    }
    function w(R) {
      return P(R) === l;
    }
    function $(R) {
      return P(R) === c;
    }
    function N(R) {
      return typeof R == "object" && R !== null && R.$$typeof === t;
    }
    function D(R) {
      return P(R) === h;
    }
    function L(R) {
      return P(R) === n;
    }
    function g(R) {
      return P(R) === S;
    }
    function C(R) {
      return P(R) === k;
    }
    function T(R) {
      return P(R) === r;
    }
    function x(R) {
      return P(R) === a;
    }
    function _(R) {
      return P(R) === o;
    }
    function F(R) {
      return P(R) === m;
    }
    q.AsyncMode = v, q.ConcurrentMode = z, q.ContextConsumer = M, q.ContextProvider = K, q.Element = te, q.ForwardRef = i, q.Fragment = A, q.Lazy = B, q.Memo = V, q.Portal = U, q.Profiler = oe, q.StrictMode = Q, q.Suspense = le, q.isAsyncMode = he, q.isConcurrentMode = u, q.isContextConsumer = w, q.isContextProvider = $, q.isElement = N, q.isForwardRef = D, q.isFragment = L, q.isLazy = g, q.isMemo = C, q.isPortal = T, q.isProfiler = x, q.isStrictMode = _, q.isSuspense = F, q.isValidElementType = j, q.typeOf = P;
  }()), q;
}
var Cr;
function on() {
  return Cr || (Cr = 1, process.env.NODE_ENV === "production" ? dt.exports = Yn() : dt.exports = Hn()), dt.exports;
}
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var Lt, Er;
function Gn() {
  if (Er) return Lt;
  Er = 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 c = {}, l = 0; l < 10; l++)
        c["_" + String.fromCharCode(l)] = l;
      var d = Object.getOwnPropertyNames(c).map(function(h) {
        return c[h];
      });
      if (d.join("") !== "0123456789")
        return !1;
      var p = {};
      return "abcdefghijklmnopqrst".split("").forEach(function(h) {
        p[h] = h;
      }), Object.keys(Object.assign({}, p)).join("") === "abcdefghijklmnopqrst";
    } catch {
      return !1;
    }
  }
  return Lt = o() ? Object.assign : function(a, c) {
    for (var l, d = n(a), p, h = 1; h < arguments.length; h++) {
      l = Object(arguments[h]);
      for (var m in l)
        t.call(l, m) && (d[m] = l[m]);
      if (e) {
        p = e(l);
        for (var y = 0; y < p.length; y++)
          r.call(l, p[y]) && (d[p[y]] = l[p[y]]);
      }
    }
    return d;
  }, Lt;
}
var Ft, Tr;
function ir() {
  if (Tr) return Ft;
  Tr = 1;
  var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
  return Ft = e, Ft;
}
var Vt, kr;
function an() {
  return kr || (kr = 1, Vt = Function.call.bind(Object.prototype.hasOwnProperty)), Vt;
}
var Ut, Or;
function qn() {
  if (Or) return Ut;
  Or = 1;
  var e = function() {
  };
  if (process.env.NODE_ENV !== "production") {
    var t = ir(), r = {}, n = an();
    e = function(a) {
      var c = "Warning: " + a;
      typeof console < "u" && console.error(c);
      try {
        throw new Error(c);
      } catch {
      }
    };
  }
  function o(a, c, l, d, p) {
    if (process.env.NODE_ENV !== "production") {
      for (var h in a)
        if (n(a, h)) {
          var m;
          try {
            if (typeof a[h] != "function") {
              var y = Error(
                (d || "React class") + ": " + l + " type `" + h + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof a[h] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
              );
              throw y.name = "Invariant Violation", y;
            }
            m = a[h](c, h, d, l, null, t);
          } catch (S) {
            m = S;
          }
          if (m && !(m instanceof Error) && e(
            (d || "React class") + ": type specification of " + l + " `" + h + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof m + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
          ), m instanceof Error && !(m.message in r)) {
            r[m.message] = !0;
            var k = p ? p() : "";
            e(
              "Failed " + l + " type: " + m.message + (k ?? "")
            );
          }
        }
    }
  }
  return o.resetWarningCache = function() {
    process.env.NODE_ENV !== "production" && (r = {});
  }, Ut = o, Ut;
}
var Wt, _r;
function Kn() {
  if (_r) return Wt;
  _r = 1;
  var e = on(), t = Gn(), r = ir(), n = an(), o = qn(), a = function() {
  };
  process.env.NODE_ENV !== "production" && (a = function(l) {
    var d = "Warning: " + l;
    typeof console < "u" && console.error(d);
    try {
      throw new Error(d);
    } catch {
    }
  });
  function c() {
    return null;
  }
  return Wt = function(l, d) {
    var p = typeof Symbol == "function" && Symbol.iterator, h = "@@iterator";
    function m(u) {
      var w = u && (p && u[p] || u[h]);
      if (typeof w == "function")
        return w;
    }
    var y = "<<anonymous>>", k = {
      array: O("array"),
      bigint: O("bigint"),
      bool: O("boolean"),
      func: O("function"),
      number: O("number"),
      object: O("object"),
      string: O("string"),
      symbol: O("symbol"),
      any: I(),
      arrayOf: j,
      element: P(),
      elementType: v(),
      instanceOf: z,
      node: i(),
      objectOf: K,
      oneOf: M,
      oneOfType: te,
      shape: B,
      exact: V
    };
    function S(u, w) {
      return u === w ? u !== 0 || 1 / u === 1 / w : u !== u && w !== w;
    }
    function s(u, w) {
      this.message = u, this.data = w && typeof w == "object" ? w : {}, this.stack = "";
    }
    s.prototype = Error.prototype;
    function E(u) {
      if (process.env.NODE_ENV !== "production")
        var w = {}, $ = 0;
      function N(L, g, C, T, x, _, F) {
        if (T = T || y, _ = _ || C, F !== r) {
          if (d) {
            var R = 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 R.name = "Invariant Violation", R;
          } else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
            var pe = T + ":" + C;
            !w[pe] && // Avoid spamming the console because they are often not actionable except for lib authors
            $ < 3 && (a(
              "You are manually calling a React.PropTypes validation function for the `" + _ + "` prop on `" + T + "`. 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."
            ), w[pe] = !0, $++);
          }
        }
        return g[C] == null ? L ? g[C] === null ? new s("The " + x + " `" + _ + "` is marked as required " + ("in `" + T + "`, but its value is `null`.")) : new s("The " + x + " `" + _ + "` is marked as required in " + ("`" + T + "`, but its value is `undefined`.")) : null : u(g, C, T, x, _);
      }
      var D = N.bind(null, !1);
      return D.isRequired = N.bind(null, !0), D;
    }
    function O(u) {
      function w($, N, D, L, g, C) {
        var T = $[N], x = Q(T);
        if (x !== u) {
          var _ = le(T);
          return new s(
            "Invalid " + L + " `" + g + "` of type " + ("`" + _ + "` supplied to `" + D + "`, expected ") + ("`" + u + "`."),
            { expectedType: u }
          );
        }
        return null;
      }
      return E(w);
    }
    function I() {
      return E(c);
    }
    function j(u) {
      function w($, N, D, L, g) {
        if (typeof u != "function")
          return new s("Property `" + g + "` of component `" + D + "` has invalid PropType notation inside arrayOf.");
        var C = $[N];
        if (!Array.isArray(C)) {
          var T = Q(C);
          return new s("Invalid " + L + " `" + g + "` of type " + ("`" + T + "` supplied to `" + D + "`, expected an array."));
        }
        for (var x = 0; x < C.length; x++) {
          var _ = u(C, x, D, L, g + "[" + x + "]", r);
          if (_ instanceof Error)
            return _;
        }
        return null;
      }
      return E(w);
    }
    function P() {
      function u(w, $, N, D, L) {
        var g = w[$];
        if (!l(g)) {
          var C = Q(g);
          return new s("Invalid " + D + " `" + L + "` of type " + ("`" + C + "` supplied to `" + N + "`, expected a single ReactElement."));
        }
        return null;
      }
      return E(u);
    }
    function v() {
      function u(w, $, N, D, L) {
        var g = w[$];
        if (!e.isValidElementType(g)) {
          var C = Q(g);
          return new s("Invalid " + D + " `" + L + "` of type " + ("`" + C + "` supplied to `" + N + "`, expected a single ReactElement type."));
        }
        return null;
      }
      return E(u);
    }
    function z(u) {
      function w($, N, D, L, g) {
        if (!($[N] instanceof u)) {
          var C = u.name || y, T = he($[N]);
          return new s("Invalid " + L + " `" + g + "` of type " + ("`" + T + "` supplied to `" + D + "`, expected ") + ("instance of `" + C + "`."));
        }
        return null;
      }
      return E(w);
    }
    function M(u) {
      if (!Array.isArray(u))
        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.")), c;
      function w($, N, D, L, g) {
        for (var C = $[N], T = 0; T < u.length; T++)
          if (S(C, u[T]))
            return null;
        var x = JSON.stringify(u, function(F, R) {
          var pe = le(R);
          return pe === "symbol" ? String(R) : R;
        });
        return new s("Invalid " + L + " `" + g + "` of value `" + String(C) + "` " + ("supplied to `" + D + "`, expected one of " + x + "."));
      }
      return E(w);
    }
    function K(u) {
      function w($, N, D, L, g) {
        if (typeof u != "function")
          return new s("Property `" + g + "` of component `" + D + "` has invalid PropType notation inside objectOf.");
        var C = $[N], T = Q(C);
        if (T !== "object")
          return new s("Invalid " + L + " `" + g + "` of type " + ("`" + T + "` supplied to `" + D + "`, expected an object."));
        for (var x in C)
          if (n(C, x)) {
            var _ = u(C, x, D, L, g + "." + x, r);
            if (_ instanceof Error)
              return _;
          }
        return null;
      }
      return E(w);
    }
    function te(u) {
      if (!Array.isArray(u))
        return process.env.NODE_ENV !== "production" && a("Invalid argument supplied to oneOfType, expected an instance of array."), c;
      for (var w = 0; w < u.length; w++) {
        var $ = u[w];
        if (typeof $ != "function")
          return a(
            "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + me($) + " at index " + w + "."
          ), c;
      }
      function N(D, L, g, C, T) {
        for (var x = [], _ = 0; _ < u.length; _++) {
          var F = u[_], R = F(D, L, g, C, T, r);
          if (R == null)
            return null;
          R.data && n(R.data, "expectedType") && x.push(R.data.expectedType);
        }
        var pe = x.length > 0 ? ", expected one of type [" + x.join(", ") + "]" : "";
        return new s("Invalid " + C + " `" + T + "` supplied to " + ("`" + g + "`" + pe + "."));
      }
      return E(N);
    }
    function i() {
      function u(w, $, N, D, L) {
        return U(w[$]) ? null : new s("Invalid " + D + " `" + L + "` supplied to " + ("`" + N + "`, expected a ReactNode."));
      }
      return E(u);
    }
    function A(u, w, $, N, D) {
      return new s(
        (u || "React class") + ": " + w + " type `" + $ + "." + N + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + D + "`."
      );
    }
    function B(u) {
      function w($, N, D, L, g) {
        var C = $[N], T = Q(C);
        if (T !== "object")
          return new s("Invalid " + L + " `" + g + "` of type `" + T + "` " + ("supplied to `" + D + "`, expected `object`."));
        for (var x in u) {
          var _ = u[x];
          if (typeof _ != "function")
            return A(D, L, g, x, le(_));
          var F = _(C, x, D, L, g + "." + x, r);
          if (F)
            return F;
        }
        return null;
      }
      return E(w);
    }
    function V(u) {
      function w($, N, D, L, g) {
        var C = $[N], T = Q(C);
        if (T !== "object")
          return new s("Invalid " + L + " `" + g + "` of type `" + T + "` " + ("supplied to `" + D + "`, expected `object`."));
        var x = t({}, $[N], u);
        for (var _ in x) {
          var F = u[_];
          if (n(u, _) && typeof F != "function")
            return A(D, L, g, _, le(F));
          if (!F)
            return new s(
              "Invalid " + L + " `" + g + "` key `" + _ + "` supplied to `" + D + "`.\nBad object: " + JSON.stringify($[N], null, "  ") + `
Valid keys: ` + JSON.stringify(Object.keys(u), null, "  ")
            );
          var R = F(C, _, D, L, g + "." + _, r);
          if (R)
            return R;
        }
        return null;
      }
      return E(w);
    }
    function U(u) {
      switch (typeof u) {
        case "number":
        case "string":
        case "undefined":
          return !0;
        case "boolean":
          return !u;
        case "object":
          if (Array.isArray(u))
            return u.every(U);
          if (u === null || l(u))
            return !0;
          var w = m(u);
          if (w) {
            var $ = w.call(u), N;
            if (w !== u.entries) {
              for (; !(N = $.next()).done; )
                if (!U(N.value))
                  return !1;
            } else
              for (; !(N = $.next()).done; ) {
                var D = N.value;
                if (D && !U(D[1]))
                  return !1;
              }
          } else
            return !1;
          return !0;
        default:
          return !1;
      }
    }
    function oe(u, w) {
      return u === "symbol" ? !0 : w ? w["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && w instanceof Symbol : !1;
    }
    function Q(u) {
      var w = typeof u;
      return Array.isArray(u) ? "array" : u instanceof RegExp ? "object" : oe(w, u) ? "symbol" : w;
    }
    function le(u) {
      if (typeof u > "u" || u === null)
        return "" + u;
      var w = Q(u);
      if (w === "object") {
        if (u instanceof Date)
          return "date";
        if (u instanceof RegExp)
          return "regexp";
      }
      return w;
    }
    function me(u) {
      var w = le(u);
      switch (w) {
        case "array":
        case "object":
          return "an " + w;
        case "boolean":
        case "date":
        case "regexp":
          return "a " + w;
        default:
          return w;
      }
    }
    function he(u) {
      return !u.constructor || !u.constructor.name ? y : u.constructor.name;
    }
    return k.checkPropTypes = o, k.resetWarningCache = o.resetWarningCache, k.PropTypes = k, k;
  }, Wt;
}
var Yt, Rr;
function Xn() {
  if (Rr) return Yt;
  Rr = 1;
  var e = ir();
  function t() {
  }
  function r() {
  }
  return r.resetWarningCache = t, Yt = function() {
    function n(c, l, d, p, h, m) {
      if (m !== 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;
  }, Yt;
}
if (process.env.NODE_ENV !== "production") {
  var Jn = on(), Qn = !0;
  Jt.exports = Kn()(Jn.isElement, Qn);
} else
  Jt.exports = Xn()();
var Zn = Jt.exports;
const W = /* @__PURE__ */ Ln(Zn);
function sn(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 = sn(e[t])) && (n && (n += " "), n += r);
  } else for (r in e) e[r] && (n && (n += " "), n += r);
  return n;
}
function eo() {
  for (var e, t, r = 0, n = "", o = arguments.length; r < o; r++) (e = arguments[r]) && (t = sn(e)) && (n && (n += " "), n += t);
  return n;
}
function to(e, t, r = void 0) {
  const n = {};
  for (const o in e) {
    const a = e[o];
    let c = "", l = !0;
    for (let d = 0; d < a.length; d += 1) {
      const p = a[d];
      p && (c += (l === !0 ? "" : " ") + t(p), l = !1, r && r[p] && (c += " " + r[p]));
    }
    n[o] = c;
  }
  return n;
}
var Qt = { 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 Pr;
function ro() {
  if (Pr) return X;
  Pr = 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"), c = Symbol.for("react.context"), l = Symbol.for("react.forward_ref"), d = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), h = Symbol.for("react.memo"), m = Symbol.for("react.lazy"), y = Symbol.for("react.view_transition"), k = Symbol.for("react.client.reference");
  function S(s) {
    if (typeof s == "object" && s !== null) {
      var E = s.$$typeof;
      switch (E) {
        case e:
          switch (s = s.type, s) {
            case r:
            case o:
            case n:
            case d:
            case p:
            case y:
              return s;
            default:
              switch (s = s && s.$$typeof, s) {
                case c:
                case l:
                case m:
                case h:
                  return s;
                case a:
                  return s;
                default:
                  return E;
              }
          }
        case t:
          return E;
      }
    }
  }
  return X.ContextConsumer = a, X.ContextProvider = c, X.Element = e, X.ForwardRef = l, X.Fragment = r, X.Lazy = m, X.Memo = h, X.Portal = t, X.Profiler = o, X.StrictMode = n, X.Suspense = d, X.SuspenseList = p, X.isContextConsumer = function(s) {
    return S(s) === a;
  }, X.isContextProvider = function(s) {
    return S(s) === c;
  }, X.isElement = function(s) {
    return typeof s == "object" && s !== null && s.$$typeof === e;
  }, X.isForwardRef = function(s) {
    return S(s) === l;
  }, X.isFragment = function(s) {
    return S(s) === r;
  }, X.isLazy = function(s) {
    return S(s) === m;
  }, X.isMemo = function(s) {
    return S(s) === h;
  }, X.isPortal = function(s) {
    return S(s) === t;
  }, X.isProfiler = function(s) {
    return S(s) === o;
  }, X.isStrictMode = function(s) {
    return S(s) === n;
  }, X.isSuspense = function(s) {
    return S(s) === d;
  }, X.isSuspenseList = function(s) {
    return S(s) === p;
  }, X.isValidElementType = function(s) {
    return typeof s == "string" || typeof s == "function" || s === r || s === o || s === n || s === d || s === p || typeof s == "object" && s !== null && (s.$$typeof === m || s.$$typeof === h || s.$$typeof === c || s.$$typeof === a || s.$$typeof === l || s.$$typeof === k || s.getModuleId !== void 0);
  }, X.typeOf = S, 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 Ar;
function no() {
  return Ar || (Ar = 1, process.env.NODE_ENV !== "production" && function() {
    function e(s) {
      if (typeof s == "object" && s !== null) {
        var E = s.$$typeof;
        switch (E) {
          case t:
            switch (s = s.type, s) {
              case n:
              case a:
              case o:
              case p:
              case h:
              case k:
                return s;
              default:
                switch (s = s && s.$$typeof, s) {
                  case l:
                  case d:
                  case y:
                  case m:
                    return s;
                  case c:
                    return s;
                  default:
                    return E;
                }
            }
          case r:
            return E;
        }
      }
    }
    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"), c = Symbol.for("react.consumer"), l = Symbol.for("react.context"), d = Symbol.for("react.forward_ref"), p = Symbol.for("react.suspense"), h = Symbol.for("react.suspense_list"), m = Symbol.for("react.memo"), y = Symbol.for("react.lazy"), k = Symbol.for("react.view_transition"), S = Symbol.for("react.client.reference");
    J.ContextConsumer = c, J.ContextProvider = l, J.Element = t, J.ForwardRef = d, J.Fragment = n, J.Lazy = y, J.Memo = m, J.Portal = r, J.Profiler = a, J.StrictMode = o, J.Suspense = p, J.SuspenseList = h, J.isContextConsumer = function(s) {
      return e(s) === c;
    }, J.isContextProvider = function(s) {
      return e(s) === l;
    }, J.isElement = function(s) {
      return typeof s == "object" && s !== null && s.$$typeof === t;
    }, J.isForwardRef = function(s) {
      return e(s) === d;
    }, J.isFragment = function(s) {
      return e(s) === n;
    }, J.isLazy = function(s) {
      return e(s) === y;
    }, J.isMemo = function(s) {
      return e(s) === m;
    }, J.isPortal = function(s) {
      return e(s) === r;
    }, J.isProfiler = function(s) {
      return e(s) === a;
    }, J.isStrictMode = function(s) {
      return e(s) === o;
    }, J.isSuspense = function(s) {
      return e(s) === p;
    }, J.isSuspenseList = function(s) {
      return e(s) === h;
    }, J.isValidElementType = function(s) {
      return typeof s == "string" || typeof s == "function" || s === n || s === a || s === o || s === p || s === h || typeof s == "object" && s !== null && (s.$$typeof === y || s.$$typeof === m || s.$$typeof === l || s.$$typeof === c || s.$$typeof === d || s.$$typeof === S || s.getModuleId !== void 0);
    }, J.typeOf = e;
  }()), J;
}
process.env.NODE_ENV === "production" ? Qt.exports = ro() : Qt.exports = no();
var vt = Qt.exports;
function Re(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 cn(e) {
  if (/* @__PURE__ */ de.isValidElement(e) || vt.isValidElementType(e) || !Re(e))
    return e;
  const t = {};
  return Object.keys(e).forEach((r) => {
    t[r] = cn(e[r]);
  }), t;
}
function be(e, t, r = {
  clone: !0
}) {
  const n = r.clone ? {
    ...e
  } : e;
  return Re(e) && Re(t) && Object.keys(t).forEach((o) => {
    /* @__PURE__ */ de.isValidElement(t[o]) || vt.isValidElementType(t[o]) ? n[o] = t[o] : Re(t[o]) && // Avoid prototype pollution
    Object.prototype.hasOwnProperty.call(e, o) && Re(e[o]) ? n[o] = be(e[o], t[o], r) : r.clone ? n[o] = Re(t[o]) ? cn(t[o]) : t[o] : n[o] = t[o];
  }), n;
}
function rt(e, t) {
  return t ? be(e, t, {
    clone: !1
    // No need to clone deep, it's way faster.
  }) : e;
}
const Me = process.env.NODE_ENV !== "production" ? W.oneOfType([W.number, W.string, W.object, W.array]) : {};
function oo(e, t) {
  if (!e.containerQueries)
    return t;
  const r = Object.keys(t).filter((n) => n.startsWith("@container")).sort((n, o) => {
    var c, l;
    const a = /min-width:\s*([0-9.]+)/;
    return +(((c = n.match(a)) == null ? void 0 : c[1]) || 0) - +(((l = o.match(a)) == null ? void 0 : l[1]) || 0);
  });
  return r.length ? r.reduce((n, o) => {
    const a = t[o];
    return delete n[o], n[o] = a, n;
  }, {
    ...t
  }) : t;
}
function ao(e, t) {
  return t === "@" || t.startsWith("@") && (e.some((r) => t.startsWith(`@${r}`)) || !!t.match(/^@\d/));
}
function io(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\`.` : Ne(18, `(${t})`));
    return null;
  }
  const [, n, o] = r, a = Number.isNaN(+n) ? n || 0 : +n;
  return e.containerQueries(o).up(a);
}
function so(e) {
  const t = (a, c) => a.replace("@media", c ? `@container ${c}` : "@container");
  function r(a, c) {
    a.up = (...l) => t(e.breakpoints.up(...l), c), a.down = (...l) => t(e.breakpoints.down(...l), c), a.between = (...l) => t(e.breakpoints.between(...l), c), a.only = (...l) => t(e.breakpoints.only(...l), c), a.not = (...l) => {
      const d = t(e.breakpoints.not(...l), c);
      return d.includes("not all and") ? d.replace("not all and ", "").replace("min-width:", "width<").replace("max-width:", "width>").replace("and", "or") : d;
    };
  }
  const n = {}, o = (a) => (r(n, a), n);
  return r(o), {
    ...e,
    containerQueries: o
  };
}
const kt = {
  xs: 0,
  // phone
  sm: 600,
  // tablet
  md: 900,
  // small laptop
  lg: 1200,
  // desktop
  xl: 1536
  // large screen
}, jr = {
  // 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:${kt[e]}px)`
}, co = {
  containerQueries: (e) => ({
    up: (t) => {
      let r = typeof t == "number" ? t : kt[t] || t;
      return typeof r == "number" && (r = `${r}px`), e ? `@container ${e} (min-width:${r})` : `@container (min-width:${r})`;
    }
  })
};
function Pe(e, t, r) {
  const n = e.theme || {};
  if (Array.isArray(t)) {
    const a = n.breakpoints || jr;
    return t.reduce((c, l, d) => (c[a.up(a.keys[d])] = r(t[d]), c), {});
  }
  if (typeof t == "object") {
    const a = n.breakpoints || jr;
    return Object.keys(t).reduce((c, l) => {
      if (ao(a.keys, l)) {
        const d = io(n.containerQueries ? n : co, l);
        d && (c[d] = r(t[l], l));
      } else if (Object.keys(a.values || kt).includes(l)) {
        const d = a.up(l);
        c[d] = r(t[l], l);
      } else {
        const d = l;
        c[d] = t[d];
      }
      return c;
    }, {});
  }
  return r(t);
}
function lo(e = {}) {
  var r;
  return ((r = e.keys) == null ? void 0 : r.reduce((n, o) => {
    const a = e.up(o);
    return n[a] = {}, n;
  }, {})) || {};
}
function uo(e, t) {
  return e.reduce((r, n) => {
    const o = r[n];
    return (!o || Object.keys(o).length === 0) && delete r[n], r;
  }, t);
}
function Ot(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 wt(e, t, r, n = r) {
  let o;
  return typeof e == "function" ? o = e(r) : Array.isArray(e) ? o = e[r] || n : o = Ot(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 = (c) => {
    if (c[t] == null)
      return null;
    const l = c[t], d = c.theme, p = Ot(d, n) || {};
    return Pe(c, l, (m) => {
      let y = wt(p, o, m);
      return m === y && typeof m == "string" && (y = wt(p, o, `${t}${m === "default" ? "" : ze(m)}`, m)), r === !1 ? y : {
        [r]: y
      };
    });
  };
  return a.propTypes = process.env.NODE_ENV !== "production" ? {
    [t]: Me
  } : {}, a.filterProps = [t], a;
}
function fo(e) {
  const t = {};
  return (r) => (t[r] === void 0 && (t[r] = e(r)), t[r]);
}
const po = {
  m: "margin",
  p: "padding"
}, mo = {
  t: "Top",
  r: "Right",
  b: "Bottom",
  l: "Left",
  x: ["Left", "Right"],
  y: ["Top", "Bottom"]
}, $r = {
  marginX: "mx",
  marginY: "my",
  paddingX: "px",
  paddingY: "py"
}, ho = fo((e) => {
  if (e.length > 2)
    if ($r[e])
      e = $r[e];
    else
      return [e];
  const [t, r] = e.split(""), n = po[t], o = mo[r] || "";
  return Array.isArray(o) ? o.map((a) => n + a) : [n + o];
}), _t = ["m", "mt", "mr", "mb", "ml", "mx", "my", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginX", "marginY", "marginInline", "marginInlineStart", "marginInlineEnd", "marginBlock", "marginBlockStart", "marginBlockEnd"], Rt = ["p", "pt", "pr", "pb", "pl", "px", "py", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingX", "paddingY", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "paddingBlock", "paddingBlockStart", "paddingBlockEnd"], go = [..._t, ...Rt];
function st(e, t, r, n) {
  const o = Ot(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 c = Math.abs(a);
    process.env.NODE_ENV !== "production" && (Number.isInteger(c) ? c > o.length - 1 && console.error([`MUI: The value provided (${c}) overflows.`, `The supported values are: ${JSON.stringify(o)}.`, `${c} > ${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 l = o[c];
    return a >= 0 ? l : typeof l == "number" ? -l : typeof l == "string" && l.startsWith("var(") ? `calc(-1 * ${l})` : `-${l}`;
  } : 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 sr(e) {
  return st(e, "spacing", 8, "spacing");
}
function ct(e, t) {
  return typeof t == "string" || t == null ? t : e(t);
}
function yo(e, t) {
  return (r) => e.reduce((n, o) => (n[o] = ct(t, r), n), {});
}
function bo(e, t, r, n) {
  if (!t.includes(r))
    return null;
  const o = ho(r), a = yo(o, n), c = e[r];
  return Pe(e, c, a);
}
function ln(e, t) {
  const r = sr(e.theme);
  return Object.keys(e).map((n) => bo(e, t, n, r)).reduce(rt, {});
}
function ae(e) {
  return ln(e, _t);
}
ae.propTypes = process.env.NODE_ENV !== "production" ? _t.reduce((e, t) => (e[t] = Me, e), {}) : {};
ae.filterProps = _t;
function ie(e) {
  return ln(e, Rt);
}
ie.propTypes = process.env.NODE_ENV !== "production" ? Rt.reduce((e, t) => (e[t] = Me, e), {}) : {};
ie.filterProps = Rt;
process.env.NODE_ENV !== "production" && go.reduce((e, t) => (e[t] = Me, e), {});
function Pt(...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] ? rt(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 ve(e) {
  return typeof e != "number" ? e : `${e}px solid`;
}
function we(e, t) {
  return se({
    prop: e,
    themeKey: "borders",
    transform: t
  });
}
const xo = we("border", ve), vo = we("borderTop", ve), wo = we("borderRight", ve), So = we("borderBottom", ve), Co = we("borderLeft", ve), Eo = we("borderColor"), To = we("borderTopColor"), ko = we("borderRightColor"), Oo = we("borderBottomColor"), _o = we("borderLeftColor"), Ro = we("outline", ve), Po = we("outlineColor"), At = (e) => {
  if (e.borderRadius !== void 0 && e.borderRadius !== null) {
    const t = st(e.theme, "shape.borderRadius", 4, "borderRadius"), r = (n) => ({
      borderRadius: ct(t, n)
    });
    return Pe(e, e.borderRadius, r);
  }
  return null;
};
At.propTypes = process.env.NODE_ENV !== "production" ? {
  borderRadius: Me
} : {};
At.filterProps = ["borderRadius"];
Pt(xo, vo, wo, So, Co, Eo, To, ko, Oo, _o, At, Ro, Po);
const jt = (e) => {
  if (e.gap !== void 0 && e.gap !== null) {
    const t = st(e.theme, "spacing", 8, "gap"), r = (n) => ({
      gap: ct(t, n)
    });
    return Pe(e, e.gap, r);
  }
  return null;
};
jt.propTypes = process.env.NODE_ENV !== "production" ? {
  gap: Me
} : {};
jt.filterProps = ["gap"];
const $t = (e) => {
  if (e.columnGap !== void 0 && e.columnGap !== null) {
    const t = st(e.theme, "spacing", 8, "columnGap"), r = (n) => ({
      columnGap: ct(t, n)
    });
    return Pe(e, e.columnGap, r);
  }
  return null;
};
$t.propTypes = process.env.NODE_ENV !== "production" ? {
  columnGap: Me
} : {};
$t.filterProps = ["columnGap"];
const Nt = (e) => {
  if (e.rowGap !== void 0 && e.rowGap !== null) {
    const t = st(e.theme, "spacing", 8, "rowGap"), r = (n) => ({
      rowGap: ct(t, n)
    });
    return Pe(e, e.rowGap, r);
  }
  return null;
};
Nt.propTypes = process.env.NODE_ENV !== "production" ? {
  rowGap: Me
} : {};
Nt.filterProps = ["rowGap"];
const Ao = se({
  prop: "gridColumn"
}), jo = se({
  prop: "gridRow"
}), $o = se({
  prop: "gridAutoFlow"
}), No = se({
  prop: "gridAutoColumns"
}), Io = se({
  prop: "gridAutoRows"
}), Mo = se({
  prop: "gridTemplateColumns"
}), Do = se({
  prop: "gridTemplateRows"
}), zo = se({
  prop: "gridTemplateAreas"
}), Bo = se({
  prop: "gridArea"
});
Pt(jt, $t, Nt, Ao, jo, $o, No, Io, Mo, Do, zo, Bo);
function Ye(e, t) {
  return t === "grey" ? t : e;
}
const Lo = se({
  prop: "color",
  themeKey: "palette",
  transform: Ye
}), Fo = se({
  prop: "bgcolor",
  cssProperty: "backgroundColor",
  themeKey: "palette",
  transform: Ye
}), Vo = se({
  prop: "backgroundColor",
  themeKey: "palette",
  transform: Ye
});
Pt(Lo, Fo, Vo);
function ye(e) {
  return e <= 1 && e !== 0 ? `${e * 100}%` : e;
}
const Uo = se({
  prop: "width",
  transform: ye
}), cr = (e) => {
  if (e.maxWidth !== void 0 && e.maxWidth !== null) {
    const t = (r) => {
      var o, a, c, l, d;
      const n = ((c = (a = (o = e.theme) == null ? void 0 : o.breakpoints) == null ? void 0 : a.values) == null ? void 0 : c[r]) || kt[r];
      return n ? ((d = (l = e.theme) == null ? void 0 : l.breakpoints) == null ? void 0 : d.unit) !== "px" ? {
        maxWidth: `${n}${e.theme.breakpoints.unit}`
      } : {
        maxWidth: n
      } : {
        maxWidth: ye(r)
      };
    };
    return Pe(e, e.maxWidth, t);
  }
  return null;
};
cr.filterProps = ["maxWidth"];
const Wo = se({
  prop: "minWidth",
  transform: ye
}), Yo = se({
  prop: "height",
  transform: ye
}), Ho = se({
  prop: "maxHeight",
  transform: ye
}), Go = se({
  prop: "minHeight",
  transform: ye
});
se({
  prop: "size",
  cssProperty: "width",
  transform: ye
});
se({
  prop: "size",
  cssProperty: "height",
  transform: ye
});
const qo = se({
  prop: "boxSizing"
});
Pt(Uo, cr, Wo, Yo, Ho, Go, qo);
const It = {
  // borders
  border: {
    themeKey: "borders",
    transform: ve
  },
  borderTop: {
    themeKey: "borders",
    transform: ve
  },
  borderRight: {
    themeKey: "borders",
    transform: ve
  },
  borderBottom: {
    themeKey: "borders",
    transform: ve
  },
  borderLeft: {
    themeKey: "borders",
    transform: ve
  },
  borderColor: {
    themeKey: "palette"
  },
  borderTopColor: {
    themeKey: "palette"
  },
  borderRightColor: {
    themeKey: "palette"
  },
  borderBottomColor: {
    themeKey: "palette"
  },
  borderLeftColor: {
    themeKey: "palette"
  },
  outline: {
    themeKey: "borders",
    transform: ve
  },
  outlineColor: {
    themeKey: "palette"
  },
  borderRadius: {
    themeKey: "shape.borderRadius",
    style: At
  },
  // palette
  color: {
    themeKey: "palette",
    transform: Ye
  },
  bgcolor: {
    themeKey: "palette",
    cssProperty: "backgroundColor",
    transform: Ye
  },
  backgroundColor: {
    themeKey: "palette",
    transform: Ye
  },
  // spacing
  p: {
    style: ie
  },
  pt: {
    style: ie
  },
  pr: {
    style: ie
  },
  pb: {
    style: ie
  },
  pl: {
    style: ie
  },
  px: {
    style: ie
  },
  py: {
    style: ie
  },
  padding: {
    style: ie
  },
  paddingTop: {
    style: ie
  },
  paddingRight: {
    style: ie
  },
  paddingBottom: {
    style: ie
  },
  paddingLeft: {
    style: ie
  },
  paddingX: {
    style: ie
  },
  paddingY: {
    style: ie
  },
  paddingInline: {
    style: ie
  },
  paddingInlineStart: {
    style: ie
  },
  paddingInlineEnd: {
    style: ie
  },
  paddingBlock: {
    style: ie
  },
  paddingBlockStart: {
    style: ie
  },
  paddingBlockEnd: {
    style: ie
  },
  m: {
    style: ae
  },
  mt: {
    style: ae
  },
  mr: {
    style: ae
  },
  mb: {
    style: ae
  },
  ml: {
    style: ae
  },
  mx: {
    style: ae
  },
  my: {
    style: ae
  },
  margin: {
    style: ae
  },
  marginTop: {
    style: ae
  },
  marginRight: {
    style: ae
  },
  marginBottom: {
    style: ae
  },
  marginLeft: {
    style: ae
  },
  marginX: {
    style: ae
  },
  marginY: {
    style: ae
  },
  marginInline: {
    style: ae
  },
  marginInlineStart: {
    style: ae
  },
  marginInlineEnd: {
    style: ae
  },
  marginBlock: {
    style: ae
  },
  marginBlockStart: {
    style: ae
  },
  marginBlockEnd: {
    style: ae
  },
  // 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: jt
  },
  rowGap: {
    style: Nt
  },
  columnGap: {
    style: $t
  },
  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: ye
  },
  maxWidth: {
    style: cr
  },
  minWidth: {
    transform: ye
  },
  height: {
    transform: ye
  },
  maxHeight: {
    transform: ye
  },
  minHeight: {
    transform: ye
  },
  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 Ko(...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 Xo(e, t) {
  return typeof e == "function" ? e(t) : e;
}
function Jo() {
  function e(r, n, o, a) {
    const c = {
      [r]: n,
      theme: o
    }, l = a[r];
    if (!l)
      return {
        [r]: n
      };
    const {
      cssProperty: d = r,
      themeKey: p,
      transform: h,
      style: m
    } = l;
    if (n == null)
      return null;
    if (p === "typography" && n === "inherit")
      return {
        [r]: n
      };
    const y = Ot(o, p) || {};
    return m ? m(c) : Pe(c, n, (S) => {
      let s = wt(y, h, S);
      return S === s && typeof S == "string" && (s = wt(y, h, `${r}${S === "default" ? "" : ze(S)}`, S)), d === !1 ? s : {
        [d]: s
      };
    });
  }
  function t(r) {
    const {
      sx: n,
      theme: o = {}
    } = r || {};
    if (!n)
      return null;
    const a = o.unstable_sxConfig ?? It;
    function c(l) {
      let d = l;
      if (typeof l == "function")
        d = l(o);
      else if (typeof l != "object")
        return l;
      if (!d)
        return null;
      const p = lo(o.breakpoints), h = Object.keys(p);
      let m = p;
      return Object.keys(d).forEach((y) => {
        const k = Xo(d[y], o);
        if (k != null)
          if (typeof k == "object")
            if (a[y])
              m = rt(m, e(y, k, o, a));
            else {
              const S = Pe({
                theme: o
              }, k, (s) => ({
                [y]: s
              }));
              Ko(S, k) ? m[y] = t({
                sx: k,
                theme: o
              }) : m = rt(m, S);
            }
          else
            m = rt(m, e(y, k, o, a));
      }), oo(o, uo(h, m));
    }
    return Array.isArray(n) ? n.map(c) : c(n);
  }
  return t;
}
const Ge = Jo();
Ge.filterProps = ["sx"];
function Zt() {
  return Zt = 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;
  }, Zt.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 Zo(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 ea = /* @__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(Zo(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-", St = "-moz-", Y = "-webkit-", un = "comm", lr = "rule", ur = "decl", ta = "@import", dn = "@keyframes", ra = "@layer", na = Math.abs, Mt = String.fromCharCode, oa = Object.assign;
function aa(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 fn(e) {
  return e.trim();
}
function ia(e, t) {
  return (e = t.exec(e)) ? e[0] : e;
}
function H(e, t, r) {
  return e.replace(t, r);
}
function er(e, t) {
  return e.indexOf(t);
}
function ue(e, t) {
  return e.charCodeAt(t) | 0;
}
function nt(e, t, r) {
  return e.slice(t, r);
}
function Ee(e) {
  return e.length;
}
function dr(e) {
  return e.length;
}
function ft(e, t) {
  return t.push(e), e;
}
function sa(e, t) {
  return e.map(t).join("");
}
var Dt = 1, qe = 1, pn = 0, ge = 0, ce = 0, Ke = "";
function zt(e, t, r, n, o, a, c) {
  return { value: e, root: t, parent: r, type: n, props: o, children: a, line: Dt, column: qe, length: c, return: "" };
}
function Qe(e, t) {
  return oa(zt("", null, null, "", null, null, 0), e, { length: -e.length }, t);
}
function ca() {
  return ce;
}
function la() {
  return ce = ge > 0 ? ue(Ke, --ge) : 0, qe--, ce === 10 && (qe = 1, Dt--), ce;
}
function xe() {
  return ce = ge < pn ? ue(Ke, ge++) : 0, qe++, ce === 10 && (qe = 1, Dt++), ce;
}
function ke() {
  return ue(Ke, ge);
}
function gt() {
  return ge;
}
function lt(e, t) {
  return nt(Ke, e, t);
}
function ot(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 mn(e) {
  return Dt = qe = 1, pn = Ee(Ke = e), ge = 0, [];
}
function hn(e) {
  return Ke = "", e;
}
function yt(e) {
  return fn(lt(ge - 1, tr(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
}
function ua(e) {
  for (; (ce = ke()) && ce < 33; )
    xe();
  return ot(e) > 2 || ot(ce) > 3 ? "" : " ";
}
function da(e, t) {
  for (; --t && xe() && !(ce < 48 || ce > 102 || ce > 57 && ce < 65 || ce > 70 && ce < 97); )
    ;
  return lt(e, gt() + (t < 6 && ke() == 32 && xe() == 32));
}
function tr(e) {
  for (; xe(); )
    switch (ce) {
      case e:
        return ge;
      case 34:
      case 39:
        e !== 34 && e !== 39 && tr(ce);
        break;
      case 40:
        e === 41 && tr(e);
        break;
      case 92:
        xe();
        break;
    }
  return ge;
}
function fa(e, t) {
  for (; xe() && e + ce !== 57; )
    if (e + ce === 84 && ke() === 47)
      break;
  return "/*" + lt(t, ge - 1) + "*" + Mt(e === 47 ? e : xe());
}
function pa(e) {
  for (; !ot(ke()); )
    xe();
  return lt(e, ge);
}
function ma(e) {
  return hn(bt("", null, null, null, [""], e = mn(e), 0, [0], e));
}
function bt(e, t, r, n, o, a, c, l, d) {
  for (var p = 0, h = 0, m = c, y = 0, k = 0, S = 0, s = 1, E = 1, O = 1, I = 0, j = "", P = o, v = a, z = n, M = j; E; )
    switch (S = I, I = xe()) {
      case 40:
        if (S != 108 && ue(M, m - 1) == 58) {
          er(M += H(yt(I), "&", "&\f"), "&\f") != -1 && (O = -1);
          break;
        }
      case 34:
      case 39:
      case 91:
        M += yt(I);
        break;
      case 9:
      case 10:
      case 13:
      case 32:
        M += ua(S);
        break;
      case 92:
        M += da(gt() - 1, 7);
        continue;
      case 47:
        switch (ke()) {
          case 42:
          case 47:
            ft(ha(fa(xe(), gt()), t, r), d);
            break;
          default:
            M += "/";
        }
        break;
      case 123 * s:
        l[p++] = Ee(M) * O;
      case 125 * s:
      case 59:
      case 0:
        switch (I) {
          case 0:
          case 125:
            E = 0;
          case 59 + h:
            O == -1 && (M = H(M, /\f/g, "")), k > 0 && Ee(M) - m && ft(k > 32 ? Ir(M + ";", n, r, m - 1) : Ir(H(M, " ", "") + ";", n, r, m - 2), d);
            break;
          case 59:
            M += ";";
          default:
            if (ft(z = Nr(M, t, r, p, h, o, l, j, P = [], v = [], m), a), I === 123)
              if (h === 0)
                bt(M, t, z, z, P, a, m, l, v);
              else
                switch (y === 99 && ue(M, 3) === 110 ? 100 : y) {
                  case 100:
                  case 108:
                  case 109:
                  case 115:
                    bt(e, z, z, n && ft(Nr(e, z, z, 0, 0, o, l, j, o, P = [], m), v), o, v, m, l, n ? P : v);
                    break;
                  default:
                    bt(M, z, z, z, [""], v, 0, l, v);
                }
        }
        p = h = k = 0, s = O = 1, j = M = "", m = c;
        break;
      case 58:
        m = 1 + Ee(M), k = S;
      default:
        if (s < 1) {
          if (I == 123)
            --s;
          else if (I == 125 && s++ == 0 && la() == 125)
            continue;
        }
        switch (M += Mt(I), I * s) {
          case 38:
            O = h > 0 ? 1 : (M += "\f", -1);
            break;
          case 44:
            l[p++] = (Ee(M) - 1) * O, O = 1;
            break;
          case 64:
            ke() === 45 && (M += yt(xe())), y = ke(), h = m = Ee(j = M += pa(gt())), I++;
            break;
          case 45:
            S === 45 && Ee(M) == 2 && (s = 0);
        }
    }
  return a;
}
function Nr(e, t, r, n, o, a, c, l, d, p, h) {
  for (var m = o - 1, y = o === 0 ? a : [""], k = dr(y), S = 0, s = 0, E = 0; S < n; ++S)
    for (var O = 0, I = nt(e, m + 1, m = na(s = c[S])), j = e; O < k; ++O)
      (j = fn(s > 0 ? y[O] + " " + I : H(I, /&\f/g, y[O]))) && (d[E++] = j);
  return zt(e, t, r, o === 0 ? lr : l, d, p, h);
}
function ha(e, t, r) {
  return zt(e, t, r, un, Mt(ca()), nt(e, 2, -2), 0);
}
function Ir(e, t, r, n) {
  return zt(e, t, r, ur, nt(e, 0, n), nt(e, n + 1, -1), n);
}
function He(e, t) {
  for (var r = "", n = dr(e), o = 0; o < n; o++)
    r += t(e[o], o, e, t) || "";
  return r;
}
function ga(e, t, r, n) {
  switch (e.type) {
    case ra:
      if (e.children.length) break;
    case ta:
    case ur:
      return e.return = e.return || e.value;
    case un:
      return "";
    case dn:
      return e.return = e.value + "{" + He(e.children, n) + "}";
    case lr:
      e.value = e.props.join(",");
  }
  return Ee(r = He(e.children, n)) ? e.return = e.value + "{" + r + "}" : "";
}
function ya(e) {
  var t = dr(e);
  return function(r, n, o, a) {
    for (var c = "", l = 0; l < t; l++)
      c += e[l](r, n, o, a) || "";
    return c;
  };
}
function ba(e) {
  return function(t) {
    t.root || (t = t.return) && e(t);
  };
}
function gn(e) {
  var t = /* @__PURE__ */ Object.create(null);
  return function(r) {
    return t[r] === void 0 && (t[r] = e(r)), t[r];
  };
}
var xa = function(t, r, n) {
  for (var o = 0, a = 0; o = a, a = ke(), o === 38 && a === 12 && (r[n] = 1), !ot(a); )
    xe();
  return lt(t, ge);
}, va = function(t, r) {
  var n = -1, o = 44;
  do
    switch (ot(o)) {
      case 0:
        o === 38 && ke() === 12 && (r[n] = 1), t[n] += xa(ge - 1, r, n);
        break;
      case 2:
        t[n] += yt(o);
        break;
      case 4:
        if (o === 44) {
          t[++n] = ke() === 58 ? "&\f" : "", r[n] = t[n].length;
          break;
        }
      default:
        t[n] += Mt(o);
    }
  while (o = xe());
  return t;
}, wa = function(t, r) {
  return hn(va(mn(t), r));
}, Mr = /* @__PURE__ */ new WeakMap(), Sa = 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 && !Mr.get(n)) && !o) {
      Mr.set(t, !0);
      for (var a = [], c = wa(r, a), l = n.props, d = 0, p = 0; d < c.length; d++)
        for (var h = 0; h < l.length; h++, p++)
          t.props[p] = a[d] ? c[d].replace(/&\f/g, l[h]) : l[h] + " " + c[d];
    }
  }
}, Ca = 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 yn(e, t) {
  switch (aa(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 + St + 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" + St + (ue(e, t + 3) == 108 ? "$3" : "$2-$3")) + e;
        case 115:
          return ~er(e, "stretch") ? yn(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 - (~er(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 Ea = function(t, r, n, o) {
  if (t.length > -1 && !t.return) switch (t.type) {
    case ur:
      t.return = yn(t.value, t.length);
      break;
    case dn:
      return He([Qe(t, {
        value: H(t.value, "@", "@" + Y)
      })], o);
    case lr:
      if (t.length) return sa(t.props, function(a) {
        switch (ia(a, /(::plac\w+|:read-\w+)/)) {
          case ":read-only":
          case ":read-write":
            return He([Qe(t, {
              props: [H(a, /:(read-\w+)/, ":" + St + "$1")]
            })], o);
          case "::placeholder":
            return He([Qe(t, {
              props: [H(a, /:(plac\w+)/, ":" + Y + "input-$1")]
            }), Qe(t, {
              props: [H(a, /:(plac\w+)/, ":" + St + "$1")]
            }), Qe(t, {
              props: [H(a, /:(plac\w+)/, fe + "input-$1")]
            })], o);
        }
        return "";
      });
  }
}, Ta = [Ea], ka = 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(s) {
      var E = s.getAttribute("data-emotion");
      E.indexOf(" ") !== -1 && (document.head.appendChild(s), s.setAttribute("data-s", ""));
    });
  }
  var o = t.stylisPlugins || Ta, a = {}, c, l = [];
  c = 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(s) {
      for (var E = s.getAttribute("data-emotion").split(" "), O = 1; O < E.length; O++)
        a[E[O]] = !0;
      l.push(s);
    }
  );
  var d, p = [Sa, Ca];
  {
    var h, m = [ga, ba(function(s) {
      h.insert(s);
    })], y = ya(p.concat(o, m)), k = function(E) {
      return He(ma(E), y);
    };
    d = function(E, O, I, j) {
      h = I, k(E ? E + "{" + O.styles + "}" : O.styles), j && (S.inserted[O.name] = !0);
    };
  }
  var S = {
    key: r,
    sheet: new ea({
      key: r,
      container: c,
      nonce: t.nonce,
      speedy: t.speedy,
      prepend: t.prepend,
      insertionPoint: t.insertionPoint
    }),
    nonce: t.nonce,
    inserted: a,
    registered: {},
    insert: d
  };
  return S.sheet.hydrate(l), S;
}, Oa = !0;
function _a(e, t, r) {
  var n = "";
  return r.split(" ").forEach(function(o) {
    e[o] !== void 0 ? t.push(e[o] + ";") : o && (n += o + " ");
  }), n;
}
var bn = 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
  Oa === !1) && t.registered[o] === void 0 && (t.registered[o] = r.styles);
}, Ra = function(t, r, n) {
  bn(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 Pa(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 Aa = {
  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
}, ja = /[A-Z]|^ms/g, $a = /_EMO_([^_]+?)_([^]*?)_EMO_/g, xn = function(t) {
  return t.charCodeAt(1) === 45;
}, Dr = function(t) {
  return t != null && typeof t != "boolean";
}, Ht = /* @__PURE__ */ gn(function(e) {
  return xn(e) ? e : e.replace(ja, "-$&").toLowerCase();
}), zr = function(t, r) {
  switch (t) {
    case "animation":
    case "animationName":
      if (typeof r == "string")
        return r.replace($a, function(n, o, a) {
          return Te = {
            name: o,
            styles: a,
            next: Te
          }, o;
        });
  }
  return Aa[t] !== 1 && !xn(t) && typeof r == "number" && r !== 0 ? r + "px" : r;
};
function at(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 c = a.next;
        if (c !== void 0)
          for (; c !== void 0; )
            Te = {
              name: c.name,
              styles: c.styles,
              next: Te
            }, c = c.next;
        var l = a.styles + ";";
        return l;
      }
      return Na(e, t, r);
    }
    case "function": {
      if (e !== void 0) {
        var d = Te, p = r(e);
        return Te = d, at(e, t, p);
      }
      break;
    }
  }
  var h = r;
  if (t == null)
    return h;
  var m = t[h];
  return m !== void 0 ? m : h;
}
function Na(e, t, r) {
  var n = "";
  if (Array.isArray(r))
    for (var o = 0; o < r.length; o++)
      n += at(e, t, r[o]) + ";";
  else
    for (var a in r) {
      var c = r[a];
      if (typeof c != "object") {
        var l = c;
        t != null && t[l] !== void 0 ? n += a + "{" + t[l] + "}" : Dr(l) && (n += Ht(a) + ":" + zr(a, l) + ";");
      } else if (Array.isArray(c) && typeof c[0] == "string" && (t == null || t[c[0]] === void 0))
        for (var d = 0; d < c.length; d++)
          Dr(c[d]) && (n += Ht(a) + ":" + zr(a, c[d]) + ";");
      else {
        var p = at(e, t, c);
        switch (a) {
          case "animation":
          case "animationName": {
            n += Ht(a) + ":" + p + ";";
            break;
          }
          default:
            n += a + "{" + p + "}";
        }
      }
    }
  return n;
}
var Br = /label:\s*([^\s;{]+)\s*(;|$)/g, Te;
function vn(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 += at(r, t, a);
  else {
    var c = a;
    o += c[0];
  }
  for (var l = 1; l < e.length; l++)
    if (o += at(r, t, e[l]), n) {
      var d = a;
      o += d[l];
    }
  Br.lastIndex = 0;
  for (var p = "", h; (h = Br.exec(o)) !== null; )
    p += "-" + h[1];
  var m = Pa(o) + p;
  return {
    name: m,
    styles: o,
    next: Te
  };
}
var Ia = function(t) {
  return t();
}, Ma = de.useInsertionEffect ? de.useInsertionEffect : !1, Da = Ma || Ia, wn = /* @__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__ */ ka({
    key: "css"
  }) : null
);
wn.Provider;
var za = function(t) {
  return /* @__PURE__ */ zn(function(r, n) {
    var o = Bn(wn);
    return t(r, o, n);
  });
}, Ba = /* @__PURE__ */ de.createContext({}), La = /^((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)-.*))$/, Fa = /* @__PURE__ */ gn(
  function(e) {
    return La.test(e) || e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && e.charCodeAt(2) < 91;
  }
  /* Z+1 */
), Va = Fa, Ua = function(t) {
  return t !== "theme";
}, Lr = 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 ? Va : Ua;
}, Fr = function(t, r, n) {
  var o;
  if (r) {
    var a = r.shouldForwardProp;
    o = t.__emotion_forwardProp && a ? function(c) {
      return t.__emotion_forwardProp(c) && a(c);
    } : a;
  }
  return typeof o != "function" && n && (o = t.__emotion_forwardProp), o;
}, Wa = function(t) {
  var r = t.cache, n = t.serialized, o = t.isStringTag;
  return bn(r, n, o), Da(function() {
    return Ra(r, n, o);
  }), null;
}, Ya = function e(t, r) {
  var n = t.__emotion_real === t, o = n && t.__emotion_base || t, a, c;
  r !== void 0 && (a = r.label, c = r.target);
  var l = Fr(t, r, n), d = l || Lr(o), p = !d("as");
  return function() {
    var h = arguments, m = n && t.__emotion_styles !== void 0 ? t.__emotion_styles.slice(0) : [];
    if (a !== void 0 && m.push("label:" + a + ";"), h[0] == null || h[0].raw === void 0)
      m.push.apply(m, h);
    else {
      var y = h[0];
      m.push(y[0]);
      for (var k = h.length, S = 1; S < k; S++)
        m.push(h[S], y[S]);
    }
    var s = za(function(E, O, I) {
      var j = p && E.as || o, P = "", v = [], z = E;
      if (E.theme == null) {
        z = {};
        for (var M in E)
          z[M] = E[M];
        z.theme = de.useContext(Ba);
      }
      typeof E.className == "string" ? P = _a(O.registered, v, E.className) : E.className != null && (P = E.className + " ");
      var K = vn(m.concat(v), O.registered, z);
      P += O.key + "-" + K.name, c !== void 0 && (P += " " + c);
      var te = p && l === void 0 ? Lr(j) : d, i = {};
      for (var A in E)
        p && A === "as" || te(A) && (i[A] = E[A]);
      return i.className = P, I && (i.ref = I), /* @__PURE__ */ de.createElement(de.Fragment, null, /* @__PURE__ */ de.createElement(Wa, {
        cache: O,
        serialized: K,
        isStringTag: typeof j == "string"
      }), /* @__PURE__ */ de.createElement(j, i));
    });
    return s.displayName = a !== void 0 ? a : "Styled(" + (typeof o == "string" ? o : o.displayName || o.name || "Component") + ")", s.defaultProps = t.defaultProps, s.__emotion_real = s, s.__emotion_base = o, s.__emotion_styles = m, s.__emotion_forwardProp = l, Object.defineProperty(s, "toString", {
      value: function() {
        return "." + c;
      }
    }), s.withComponent = function(E, O) {
      var I = e(E, Zt({}, r, O, {
        shouldForwardProp: Fr(s, O, !0)
      }));
      return I.apply(void 0, m);
    }, s;
  };
}, Ha = [
  "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"
], rr = Ya.bind(null);
Ha.forEach(function(e) {
  rr[e] = rr(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 Ga(e, t) {
  const r = rr(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 qa(e, t) {
  Array.isArray(e.__emotion_styles) && (e.__emotion_styles = t(e.__emotion_styles));
}
const Vr = [];
function Ur(e) {
  return Vr[0] = e, vn(Vr);
}
const Ka = (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 Xa(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 = Ka(t), c = Object.keys(a);
  function l(y) {
    return `@media (min-width:${typeof t[y] == "number" ? t[y] : y}${r})`;
  }
  function d(y) {
    return `@media (max-width:${(typeof t[y] == "number" ? t[y] : y) - n / 100}${r})`;
  }
  function p(y, k) {
    const S = c.indexOf(k);
    return `@media (min-width:${typeof t[y] == "number" ? t[y] : y}${r}) and (max-width:${(S !== -1 && typeof t[c[S]] == "number" ? t[c[S]] : k) - n / 100}${r})`;
  }
  function h(y) {
    return c.indexOf(y) + 1 < c.length ? p(y, c[c.indexOf(y) + 1]) : l(y);
  }
  function m(y) {
    const k = c.indexOf(y);
    return k === 0 ? l(c[1]) : k === c.length - 1 ? d(c[k]) : p(y, c[c.indexOf(y) + 1]).replace("@media", "@media not all and");
  }
  return {
    keys: c,
    values: a,
    up: l,
    down: d,
    between: p,
    only: h,
    not: m,
    unit: r,
    ...o
  };
}
const Ja = {
  borderRadius: 4
};
function Sn(e = 8, t = sr({
  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 c = t(a);
    return typeof c == "number" ? `${c}px` : c;
  }).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 Cn(e = {}, ...t) {
  const {
    breakpoints: r = {},
    palette: n = {},
    spacing: o,
    shape: a = {},
    ...c
  } = e, l = Xa(r), d = Sn(o);
  let p = be({
    breakpoints: l,
    direction: "ltr",
    components: {},
    // Inject component definitions.
    palette: {
      mode: "light",
      ...n
    },
    spacing: d,
    shape: {
      ...Ja,
      ...a
    }
  }, c);
  return p = so(p), p.applyStyles = Qa, p = t.reduce((h, m) => be(h, m), p), p.unstable_sxConfig = {
    ...It,
    ...c == null ? void 0 : c.unstable_sxConfig
  }, p.unstable_sx = function(m) {
    return Ge({
      sx: m,
      theme: this
    });
  }, p;
}
const Za = {
  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 fr(e, t, r = "Mui") {
  const n = Za[t];
  return n ? `${r}-${n}` : `${Wn.generate(e)}-${t}`;
}
function ei(e, t, r = "Mui") {
  const n = {};
  return t.forEach((o) => {
    n[o] = fr(e, o, r);
  }), n;
}
function En(e, t = "") {
  return e.displayName || e.name || t;
}
function Wr(e, t, r) {
  const n = En(t);
  return e.displayName || (n !== "" ? `${r}(${n})` : r);
}
function ti(e) {
  if (e != null) {
    if (typeof e == "string")
      return e;
    if (typeof e == "function")
      return En(e, "Component");
    if (typeof e == "object")
      switch (e.$$typeof) {
        case vt.ForwardRef:
          return Wr(e, e.render, "ForwardRef");
        case vt.Memo:
          return Wr(e, e.type, "memo");
        default:
          return;
      }
  }
}
function Tn(e) {
  const {
    variants: t,
    ...r
  } = e, n = {
    variants: t,
    style: Ur(r),
    isProcessed: !0
  };
  return n.style === r || t && t.forEach((o) => {
    typeof o.style != "function" && (o.style = Ur(o.style));
  }), n;
}
const ri = Cn();
function Gt(e) {
  return e !== "ownerState" && e !== "theme" && e !== "sx" && e !== "as";
}
function ni(e) {
  return e ? (t, r) => r[e] : null;
}
function oi(e, t, r) {
  e.theme = ci(e.theme) ? r : e.theme[t] || e.theme;
}
function xt(e, t) {
  const r = typeof t == "function" ? t(e) : t;
  if (Array.isArray(r))
    return r.flatMap((n) => xt(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 kn(e, r.variants, [n]);
  }
  return r != null && r.isProcessed ? r.style : r;
}
function kn(e, t, r = []) {
  var o;
  let n;
  e: for (let a = 0; a < t.length; a += 1) {
    const c = t[a];
    if (typeof c.props == "function") {
      if (n ?? (n = {
        ...e,
        ...e.ownerState,
        ownerState: e.ownerState
      }), !c.props(n))
        continue;
    } else
      for (const l in c.props)
        if (e[l] !== c.props[l] && ((o = e.ownerState) == null ? void 0 : o[l]) !== c.props[l])
          continue e;
    typeof c.style == "function" ? (n ?? (n = {
      ...e,
      ...e.ownerState,
      ownerState: e.ownerState
    }), r.push(c.style(n))) : r.push(c.style);
  }
  return r;
}
function ai(e = {}) {
  const {
    themeId: t,
    defaultTheme: r = ri,
    rootShouldForwardProp: n = Gt,
    slotShouldForwardProp: o = Gt
  } = e;
  function a(l) {
    oi(l, t, r);
  }
  return (l, d = {}) => {
    qa(l, (v) => v.filter((z) => z !== Ge));
    const {
      name: p,
      slot: h,
      skipVariantsResolver: m,
      skipSx: y,
      // TODO v6: remove `lowercaseFirstLetter()` in the next major release
      // For more details: https://github.com/mui/material-ui/pull/37908
      overridesResolver: k = ni(On(h)),
      ...S
    } = d, s = m !== void 0 ? m : (
      // TODO v6: remove `Root` in the next major release
      // For more details: https://github.com/mui/material-ui/pull/37908
      h && h !== "Root" && h !== "root" || !1
    ), E = y || !1;
    let O = Gt;
    h === "Root" || h === "root" ? O = n : h ? O = o : li(l) && (O = void 0);
    const I = Ga(l, {
      shouldForwardProp: O,
      label: si(p, h),
      ...S
    }), j = (v) => {
      if (v.__emotion_real === v)
        return v;
      if (typeof v == "function")
        return function(M) {
          return xt(M, v);
        };
      if (Re(v)) {
        const z = Tn(v);
        return z.variants ? function(K) {
          return xt(K, z);
        } : z.style;
      }
      return v;
    }, P = (...v) => {
      const z = [], M = v.map(j), K = [];
      if (z.push(a), p && k && K.push(function(B) {
        var Q, le;
        const U = (le = (Q = B.theme.components) == null ? void 0 : Q[p]) == null ? void 0 : le.styleOverrides;
        if (!U)
          return null;
        const oe = {};
        for (const me in U)
          oe[me] = xt(B, U[me]);
        return k(B, oe);
      }), p && !s && K.push(function(B) {
        var oe, Q;
        const V = B.theme, U = (Q = (oe = V == null ? void 0 : V.components) == null ? void 0 : oe[p]) == null ? void 0 : Q.variants;
        return U ? kn(B, U) : null;
      }), E || K.push(Ge), Array.isArray(M[0])) {
        const A = M.shift(), B = new Array(z.length).fill(""), V = new Array(K.length).fill("");
        let U;
        U = [...B, ...A, ...V], U.raw = [...B, ...A.raw, ...V], z.unshift(U);
      }
      const te = [...z, ...M, ...K], i = I(...te);
      return l.muiName && (i.muiName = l.muiName), process.env.NODE_ENV !== "production" && (i.displayName = ii(p, h, l)), i;
    };
    return I.withConfig && (P.withConfig = I.withConfig), P;
  };
}
function ii(e, t, r) {
  return e ? `${e}${ze(t || "")}` : `Styled(${ti(r)})`;
}
function si(e, t) {
  let r;
  return process.env.NODE_ENV !== "production" && e && (r = `${e}-${On(t || "Root")}`), r;
}
function ci(e) {
  for (const t in e)
    return !1;
  return !0;
}
function li(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 On(e) {
  return e && e.charAt(0).toLowerCase() + e.slice(1);
}
function nr(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], c = t[o];
        if (!c)
          r[o] = a || {};
        else if (!a)
          r[o] = c;
        else {
          r[o] = {
            ...c
          };
          for (const l in a)
            if (Object.prototype.hasOwnProperty.call(a, l)) {
              const d = l;
              r[o][d] = nr(a[d], c[d]);
            }
        }
      } else r[o] === void 0 && (r[o] = e[o]);
    }
  return r;
}
function ui(e, t = Number.MIN_SAFE_INTEGER, r = Number.MAX_SAFE_INTEGER) {
  return Math.max(t, Math.min(e, r));
}
function pr(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}].`), ui(e, t, r);
}
function di(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 Ie(e) {
  if (e.type)
    return e;
  if (e.charAt(0) === "#")
    return Ie(di(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().` : Ne(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.` : Ne(10, o));
  } else
    n = n.split(",");
  return n = n.map((a) => parseFloat(a)), {
    type: r,
    values: n,
    colorSpace: o
  };
}
const fi = (e) => {
  const t = Ie(e);
  return t.values.slice(0, 3).map((r, n) => t.type.includes("hsl") && n !== 0 ? `${r}%` : r).join(" ");
}, et = (e, t) => {
  try {
    return fi(e);
  } catch {
    return t && process.env.NODE_ENV !== "production" && console.warn(t), e;
  }
};
function Bt(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 _n(e) {
  e = Ie(e);
  const {
    values: t
  } = e, r = t[0], n = t[1] / 100, o = t[2] / 100, a = n * Math.min(o, 1 - o), c = (p, h = (p + r / 30) % 12) => o - a * Math.max(Math.min(h - 3, 9 - h, 1), -1);
  let l = "rgb";
  const d = [Math.round(c(0) * 255), Math.round(c(8) * 255), Math.round(c(4) * 255)];
  return e.type === "hsla" && (l += "a", d.push(t[3])), Bt({
    type: l,
    values: d
  });
}
function or(e) {
  e = Ie(e);
  let t = e.type === "hsl" || e.type === "hsla" ? Ie(_n(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 Yr(e, t) {
  const r = or(e), n = or(t);
  return (Math.max(r, n) + 0.05) / (Math.min(r, n) + 0.05);
}
function pi(e, t) {
  return e = Ie(e), t = pr(t), (e.type === "rgb" || e.type === "hsl") && (e.type += "a"), e.type === "color" ? e.values[3] = `/${t}` : e.values[3] = t, Bt(e);
}
function pt(e, t, r) {
  try {
    return pi(e, t);
  } catch {
    return e;
  }
}
function mr(e, t) {
  if (e = Ie(e), t = pr(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 Bt(e);
}
function Z(e, t, r) {
  try {
    return mr(e, t);
  } catch {
    return e;
  }
}
function hr(e, t) {
  if (e = Ie(e), t = pr(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 Bt(e);
}
function ee(e, t, r) {
  try {
    return hr(e, t);
  } catch {
    return e;
  }
}
function mi(e, t = 0.15) {
  return or(e) > 0.5 ? mr(e, t) : hr(e, t);
}
function mt(e, t, r) {
  try {
    return mi(e, t);
  } catch {
    return e;
  }
}
const hi = /* @__PURE__ */ de.createContext(void 0);
process.env.NODE_ENV !== "production" && (W.node, W.object);
function gi(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 ? nr(o.defaultProps, n) : !o.styleOverrides && !o.variants ? nr(o, n) : n;
}
function yi({
  props: e,
  name: t
}) {
  const r = de.useContext(hi);
  return gi({
    props: e,
    name: t,
    theme: {
      components: r
    }
  });
}
const Hr = {
  theme: void 0
};
function bi(e) {
  let t, r;
  return function(o) {
    let a = t;
    return (a === void 0 || o.theme !== r) && (Hr.theme = o.theme, a = Tn(e(Hr)), t = a, r = o.theme), a;
  };
}
function xi(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 Gr = (e, t, r, n = []) => {
  let o = e;
  t.forEach((a, c) => {
    c === 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]);
  });
}, vi = (e, t, r) => {
  function n(o, a = [], c = []) {
    Object.entries(o).forEach(([l, d]) => {
      (!r || r && !r([...a, l])) && d != null && (typeof d == "object" && Object.keys(d).length > 0 ? n(d, [...a, l], Array.isArray(d) ? [...c, l] : c) : t([...a, l], d, c));
    });
  }
  n(e);
}, wi = (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 qt(e, t) {
  const {
    prefix: r,
    shouldSkipGeneratingVar: n
  } = t || {}, o = {}, a = {}, c = {};
  return vi(
    e,
    (l, d, p) => {
      if ((typeof d == "string" || typeof d == "number") && (!n || !n(l, d))) {
        const h = `--${r ? `${r}-` : ""}${l.join("-")}`, m = wi(l, d);
        Object.assign(o, {
          [h]: m
        }), Gr(a, l, `var(${h})`, p), Gr(c, l, `var(${h}, ${m})`, p);
      }
    },
    (l) => l[0] === "vars"
    // skip 'vars/*' paths
  ), {
    css: o,
    vars: a,
    varsWithDefaults: c
  };
}
function Si(e, t = {}) {
  const {
    getSelector: r = E,
    disableCssColorScheme: n,
    colorSchemeSelector: o
  } = t, {
    colorSchemes: a = {},
    components: c,
    defaultColorScheme: l = "light",
    ...d
  } = e, {
    vars: p,
    css: h,
    varsWithDefaults: m
  } = qt(d, t);
  let y = m;
  const k = {}, {
    [l]: S,
    ...s
  } = a;
  if (Object.entries(s || {}).forEach(([j, P]) => {
    const {
      vars: v,
      css: z,
      varsWithDefaults: M
    } = qt(P, t);
    y = be(y, M), k[j] = {
      css: z,
      vars: v
    };
  }), S) {
    const {
      css: j,
      vars: P,
      varsWithDefaults: v
    } = qt(S, t);
    y = be(y, v), k[l] = {
      css: j,
      vars: P
    };
  }
  function E(j, P) {
    var z, M;
    let v = o;
    if (o === "class" && (v = ".%s"), o === "data" && (v = "[data-%s]"), o != null && o.startsWith("data-") && !o.includes("%s") && (v = `[${o}="%s"]`), j) {
      if (v === "media")
        return e.defaultColorScheme === j ? ":root" : {
          [`@media (prefers-color-scheme: ${((M = (z = a[j]) == null ? void 0 : z.palette) == null ? void 0 : M.mode) || j})`]: {
            ":root": P
          }
        };
      if (v)
        return e.defaultColorScheme === j ? `:root, ${v.replace("%s", String(j))}` : v.replace("%s", String(j));
    }
    return ":root";
  }
  return {
    vars: y,
    generateThemeVars: () => {
      let j = {
        ...p
      };
      return Object.entries(k).forEach(([, {
        vars: P
      }]) => {
        j = be(j, P);
      }), j;
    },
    generateStyleSheets: () => {
      var K, te;
      const j = [], P = e.defaultColorScheme || "light";
      function v(i, A) {
        Object.keys(A).length && j.push(typeof i == "string" ? {
          [i]: {
            ...A
          }
        } : i);
      }
      v(r(void 0, {
        ...h
      }), h);
      const {
        [P]: z,
        ...M
      } = k;
      if (z) {
        const {
          css: i
        } = z, A = (te = (K = a[P]) == null ? void 0 : K.palette) == null ? void 0 : te.mode, B = !n && A ? {
          colorScheme: A,
          ...i
        } : {
          ...i
        };
        v(r(P, {
          ...B
        }), B);
      }
      return Object.entries(M).forEach(([i, {
        css: A
      }]) => {
        var U, oe;
        const B = (oe = (U = a[i]) == null ? void 0 : U.palette) == null ? void 0 : oe.mode, V = !n && B ? {
          colorScheme: B,
          ...A
        } : {
          ...A
        };
        v(r(i, {
          ...V
        }), V);
      }), j;
    }
  };
}
function Ci(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 it = {
  black: "#000",
  white: "#fff"
}, Ei = {
  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"
}, Le = {
  50: "#f3e5f5",
  200: "#ce93d8",
  300: "#ba68c8",
  400: "#ab47bc",
  500: "#9c27b0",
  700: "#7b1fa2"
}, Fe = {
  300: "#e57373",
  400: "#ef5350",
  500: "#f44336",
  700: "#d32f2f",
  800: "#c62828"
}, Ze = {
  300: "#ffb74d",
  400: "#ffa726",
  500: "#ff9800",
  700: "#f57c00",
  900: "#e65100"
}, Ve = {
  50: "#e3f2fd",
  200: "#90caf9",
  400: "#42a5f5",
  700: "#1976d2",
  800: "#1565c0"
}, Ue = {
  300: "#4fc3f7",
  400: "#29b6f6",
  500: "#03a9f4",
  700: "#0288d1",
  900: "#01579b"
}, We = {
  300: "#81c784",
  400: "#66bb6a",
  500: "#4caf50",
  700: "#388e3c",
  800: "#2e7d32",
  900: "#1b5e20"
};
function Rn() {
  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: it.white,
      default: it.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 Ti = Rn();
function Pn() {
  return {
    text: {
      primary: it.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: it.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 qr = Pn();
function Kr(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 = hr(e.main, o) : t === "dark" && (e.dark = mr(e.main, a)));
}
function ki(e = "light") {
  return e === "dark" ? {
    main: Ve[200],
    light: Ve[50],
    dark: Ve[400]
  } : {
    main: Ve[700],
    light: Ve[400],
    dark: Ve[800]
  };
}
function Oi(e = "light") {
  return e === "dark" ? {
    main: Le[200],
    light: Le[50],
    dark: Le[400]
  } : {
    main: Le[500],
    light: Le[300],
    dark: Le[700]
  };
}
function _i(e = "light") {
  return e === "dark" ? {
    main: Fe[500],
    light: Fe[300],
    dark: Fe[700]
  } : {
    main: Fe[700],
    light: Fe[400],
    dark: Fe[800]
  };
}
function Ri(e = "light") {
  return e === "dark" ? {
    main: Ue[400],
    light: Ue[300],
    dark: Ue[700]
  } : {
    main: Ue[700],
    light: Ue[500],
    dark: Ue[900]
  };
}
function Pi(e = "light") {
  return e === "dark" ? {
    main: We[400],
    light: We[300],
    dark: We[700]
  } : {
    main: We[800],
    light: We[500],
    dark: We[900]
  };
}
function Ai(e = "light") {
  return e === "dark" ? {
    main: Ze[400],
    light: Ze[300],
    dark: Ze[700]
  } : {
    main: "#ed6c02",
    // closest to orange[800] that pass 3:1.
    light: Ze[500],
    dark: Ze[900]
  };
}
function gr(e) {
  const {
    mode: t = "light",
    contrastThreshold: r = 3,
    tonalOffset: n = 0.2,
    ...o
  } = e, a = e.primary || ki(t), c = e.secondary || Oi(t), l = e.error || _i(t), d = e.info || Ri(t), p = e.success || Pi(t), h = e.warning || Ai(t);
  function m(s) {
    const E = Yr(s, qr.text.primary) >= r ? qr.text.primary : Ti.text.primary;
    if (process.env.NODE_ENV !== "production") {
      const O = Yr(s, E);
      O < 3 && console.error([`MUI: The contrast ratio of ${O}:1 for ${E} on ${s}`, "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 E;
  }
  const y = ({
    color: s,
    name: E,
    mainShade: O = 500,
    lightShade: I = 300,
    darkShade: j = 700
  }) => {
    if (s = {
      ...s
    }, !s.main && s[O] && (s.main = s[O]), !s.hasOwnProperty("main"))
      throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The color${E ? ` (${E})` : ""} provided to augmentColor(color) is invalid.
The color object needs to have a \`main\` property or a \`${O}\` property.` : Ne(11, E ? ` (${E})` : "", O));
    if (typeof s.main != "string")
      throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The color${E ? ` (${E})` : ""} provided to augmentColor(color) is invalid.
\`color.main\` should be a string, but \`${JSON.stringify(s.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] },
} });` : Ne(12, E ? ` (${E})` : "", JSON.stringify(s.main)));
    return Kr(s, "light", I, n), Kr(s, "dark", j, n), s.contrastText || (s.contrastText = m(s.main)), s;
  };
  let k;
  return t === "light" ? k = Rn() : t === "dark" && (k = Pn()), process.env.NODE_ENV !== "production" && (k || console.error(`MUI: The palette mode \`${t}\` is not supported.`)), be({
    // A collection of common colors.
    common: {
      ...it
    },
    // 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: c,
      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: l,
      name: "error"
    }),
    // The colors used to represent potentially dangerous actions or important messages.
    warning: y({
      color: h,
      name: "warning"
    }),
    // The colors used to present information to the user that is neutral and not necessarily important.
    info: y({
      color: d,
      name: "info"
    }),
    // The colors used to indicate the successful completion of an action that user triggered.
    success: y({
      color: p,
      name: "success"
    }),
    // The grey colors.
    grey: Ei,
    // 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: m,
    // 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.
    ...k
  }, o);
}
function ji(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 $i(e, t) {
  return {
    toolbar: {
      minHeight: 56,
      [e.up("xs")]: {
        "@media (orientation: landscape)": {
          minHeight: 48
        }
      },
      [e.up("sm")]: {
        minHeight: 64
      }
    },
    ...t
  };
}
function Ni(e) {
  return Math.round(e * 1e5) / 1e5;
}
const Xr = {
  textTransform: "uppercase"
}, Jr = '"Roboto", "Helvetica", "Arial", sans-serif';
function Ii(e, t) {
  const {
    fontFamily: r = Jr,
    // The default font size of the Material Specification.
    fontSize: n = 14,
    // px
    fontWeightLight: o = 300,
    fontWeightRegular: a = 400,
    fontWeightMedium: c = 500,
    fontWeightBold: l = 700,
    // Tell MUI what's the font-size on the html element.
    // 16px is the default font-size used by browsers.
    htmlFontSize: d = 16,
    // Apply the CSS properties to all the variants.
    allVariants: p,
    pxToRem: h,
    ...m
  } = 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 d != "number" && console.error("MUI: `htmlFontSize` is required to be a number."));
  const y = n / 14, k = h || ((E) => `${E / d * y}rem`), S = (E, O, I, j, P) => ({
    fontFamily: r,
    fontWeight: E,
    fontSize: k(O),
    // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/
    lineHeight: I,
    // 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 === Jr ? {
      letterSpacing: `${Ni(j / O)}em`
    } : {},
    ...P,
    ...p
  }), s = {
    h1: S(o, 96, 1.167, -1.5),
    h2: S(o, 60, 1.2, -0.5),
    h3: S(a, 48, 1.167, 0),
    h4: S(a, 34, 1.235, 0.25),
    h5: S(a, 24, 1.334, 0),
    h6: S(c, 20, 1.6, 0.15),
    subtitle1: S(a, 16, 1.75, 0.15),
    subtitle2: S(c, 14, 1.57, 0.1),
    body1: S(a, 16, 1.5, 0.15),
    body2: S(a, 14, 1.43, 0.15),
    button: S(c, 14, 1.75, 0.4, Xr),
    caption: S(a, 12, 1.66, 0.4),
    overline: S(a, 12, 2.66, 1, Xr),
    // 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 be({
    htmlFontSize: d,
    pxToRem: k,
    fontFamily: r,
    fontSize: n,
    fontWeightLight: o,
    fontWeightRegular: a,
    fontWeightMedium: c,
    fontWeightBold: l,
    ...s
  }, m, {
    clone: !1
    // No need to clone deep
  });
}
const Mi = 0.2, Di = 0.14, zi = 0.12;
function ne(...e) {
  return [`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${Mi})`, `${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${Di})`, `${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${zi})`].join(",");
}
const Bi = ["none", ne(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), ne(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), ne(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), ne(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), ne(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), ne(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), ne(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), ne(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), ne(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), ne(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), ne(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), ne(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), ne(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), ne(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), ne(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), ne(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), ne(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), ne(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), ne(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), ne(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), ne(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), ne(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), ne(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), ne(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)], Li = {
  // 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)"
}, Fi = {
  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 Qr(e) {
  return `${Math.round(e)}ms`;
}
function Vi(e) {
  if (!e)
    return 0;
  const t = e / 36;
  return Math.min(Math.round((4 + 15 * t ** 0.25 + t / 5) * 10), 3e3);
}
function Ui(e) {
  const t = {
    ...Li,
    ...e.easing
  }, r = {
    ...Fi,
    ...e.duration
  };
  return {
    getAutoHeightDuration: Vi,
    create: (o = ["all"], a = {}) => {
      const {
        duration: c = r.standard,
        easing: l = t.easeInOut,
        delay: d = 0,
        ...p
      } = a;
      if (process.env.NODE_ENV !== "production") {
        const h = (y) => typeof y == "string", m = (y) => !Number.isNaN(parseFloat(y));
        !h(o) && !Array.isArray(o) && console.error('MUI: Argument "props" must be a string or Array.'), !m(c) && !h(c) && console.error(`MUI: Argument "duration" must be a number or a string but found ${c}.`), h(l) || console.error('MUI: Argument "easing" must be a string.'), !m(d) && !h(d) && 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(p).length !== 0 && console.error(`MUI: Unrecognized argument(s) [${Object.keys(p).join(",")}].`);
      }
      return (Array.isArray(o) ? o : [o]).map((h) => `${h} ${typeof c == "string" ? c : Qr(c)} ${l} ${typeof d == "string" ? d : Qr(d)}`).join(",");
    },
    ...e,
    easing: t,
    duration: r
  };
}
const Wi = {
  mobileStepper: 1e3,
  fab: 1050,
  speedDial: 1050,
  appBar: 1100,
  drawer: 1200,
  modal: 1300,
  snackbar: 1400,
  tooltip: 1500
};
function Yi(e) {
  return Re(e) || typeof e > "u" || typeof e == "string" || typeof e == "boolean" || typeof e == "number" || Array.isArray(e);
}
function An(e = {}) {
  const t = {
    ...e
  };
  function r(n) {
    const o = Object.entries(n);
    for (let a = 0; a < o.length; a++) {
      const [c, l] = o[a];
      !Yi(l) || c.startsWith("unstable_") ? delete n[c] : Re(l) && (n[c] = {
        ...l
      }, r(n[c]));
    }
  }
  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 ar(e = {}, ...t) {
  const {
    breakpoints: r,
    mixins: n = {},
    spacing: o,
    palette: a = {},
    transitions: c = {},
    typography: l = {},
    shape: d,
    ...p
  } = 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." : Ne(20));
  const h = gr(a), m = Cn(e);
  let y = be(m, {
    mixins: $i(m.breakpoints, n),
    palette: h,
    // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.
    shadows: Bi.slice(),
    typography: Ii(h, l),
    transitions: Ui(c),
    zIndex: {
      ...Wi
    }
  });
  if (y = be(y, p), y = t.reduce((k, S) => be(k, S), y), process.env.NODE_ENV !== "production") {
    const k = ["active", "checked", "completed", "disabled", "error", "expanded", "focused", "focusVisible", "required", "selected"], S = (s, E) => {
      let O;
      for (O in s) {
        const I = s[O];
        if (k.includes(O) && Object.keys(I).length > 0) {
          if (process.env.NODE_ENV !== "production") {
            const j = fr("", O);
            console.error([`MUI: The \`${E}\` component increases the CSS specificity of the \`${O}\` internal state.`, "You can not override it like this: ", JSON.stringify(s, null, 2), "", `Instead, you need to use the '&.${j}' syntax:`, JSON.stringify({
              root: {
                [`&.${j}`]: I
              }
            }, null, 2), "", "https://mui.com/r/state-classes-guide"].join(`
`));
          }
          s[O] = {};
        }
      }
    };
    Object.keys(y.components).forEach((s) => {
      const E = y.components[s].styleOverrides;
      E && s.startsWith("Mui") && S(E, s);
    });
  }
  return y.unstable_sxConfig = {
    ...It,
    ...p == null ? void 0 : p.unstable_sxConfig
  }, y.unstable_sx = function(S) {
    return Ge({
      sx: S,
      theme: this
    });
  }, y.toRuntimeSource = An, y;
}
function Hi(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 Gi = [...Array(25)].map((e, t) => {
  if (t === 0)
    return "none";
  const r = Hi(t);
  return `linear-gradient(rgba(255 255 255 / ${r}), rgba(255 255 255 / ${r}))`;
});
function jn(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 $n(e) {
  return e === "dark" ? Gi : [];
}
function qi(e) {
  const {
    palette: t = {
      mode: "light"
    },
    // need to cast to avoid module augmentation test
    opacity: r,
    overlays: n,
    ...o
  } = e, a = gr(t);
  return {
    palette: a,
    opacity: {
      ...jn(a.mode),
      ...r
    },
    overlays: n || $n(a.mode),
    ...o
  };
}
function Ki(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 Xi = (e) => [...[...Array(25)].map((t, r) => `--${e ? `${e}-` : ""}overlays-${r}`), `--${e ? `${e}-` : ""}palette-AppBar-darkBg`, `--${e ? `${e}-` : ""}palette-AppBar-darkColor`], Ji = (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 c = {};
      return Xi(e.cssVarPrefix).forEach((l) => {
        c[l] = r[l], delete r[l];
      }), a === "media" ? {
        [n]: r,
        "@media (prefers-color-scheme: dark)": {
          [n]: c
        }
      } : a ? {
        [a.replace("%s", t)]: c,
        [`${n}, ${a.replace("%s", t)}`]: r
      } : {
        [n]: {
          ...r,
          ...c
        }
      };
    }
    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 tt(e) {
  return typeof e != "string" || !e.startsWith("hsl") ? e : _n(e);
}
function _e(e, t) {
  `${t}Channel` in e || (e[`${t}Channel`] = et(tt(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 Zi(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 {
  }
}, es = (e = "mui") => xi(e);
function Kt(e, t, r, n) {
  if (!t)
    return;
  t = t === !0 ? {} : t;
  const o = n === "dark" ? "dark" : "light";
  if (!r) {
    e[n] = qi({
      ...t,
      palette: {
        mode: o,
        ...t == null ? void 0 : t.palette
      }
    });
    return;
  }
  const {
    palette: a,
    ...c
  } = ar({
    ...r,
    palette: {
      mode: o,
      ...t == null ? void 0 : t.palette
    }
  });
  return e[n] = {
    ...t,
    palette: a,
    opacity: {
      ...jn(o),
      ...t == null ? void 0 : t.opacity
    },
    overlays: (t == null ? void 0 : t.overlays) || $n(o)
  }, c;
}
function ts(e = {}, ...t) {
  const {
    colorSchemes: r = {
      light: !0
    },
    defaultColorScheme: n,
    disableCssColorScheme: o = !1,
    cssVarPrefix: a = "mui",
    shouldSkipGeneratingVar: c = Ki,
    colorSchemeSelector: l = r.light && r.dark ? "media" : void 0,
    rootSelector: d = ":root",
    ...p
  } = e, h = Object.keys(r)[0], m = n || (r.light && h !== "light" ? "light" : h), y = es(a), {
    [m]: k,
    light: S,
    dark: s,
    ...E
  } = r, O = {
    ...E
  };
  let I = k;
  if ((m === "dark" && !("dark" in r) || m === "light" && !("light" in r)) && (I = !0), !I)
    throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The \`colorSchemes.${m}\` option is either missing or invalid.` : Ne(21, m));
  const j = Kt(O, I, p, m);
  S && !O.light && Kt(O, S, void 0, "light"), s && !O.dark && Kt(O, s, void 0, "dark");
  let P = {
    defaultColorScheme: m,
    ...j,
    cssVarPrefix: a,
    colorSchemeSelector: l,
    rootSelector: d,
    getCssVar: y,
    colorSchemes: O,
    font: {
      ...ji(j.typography),
      ...j.font
    },
    spacing: Zi(p.spacing)
  };
  Object.keys(P.colorSchemes).forEach((te) => {
    const i = P.colorSchemes[te].palette, A = (B) => {
      const V = B.split("-"), U = V[1], oe = V[2];
      return y(B, i[U][oe]);
    };
    if (i.mode === "light" && (b(i.common, "background", "#fff"), b(i.common, "onBackground", "#000")), i.mode === "dark" && (b(i.common, "background", "#000"), b(i.common, "onBackground", "#fff")), Qi(i, ["Alert", "AppBar", "Avatar", "Button", "Chip", "FilledInput", "LinearProgress", "Skeleton", "Slider", "SnackbarContent", "SpeedDialAction", "StepConnector", "StepContent", "Switch", "TableCell", "Tooltip"]), i.mode === "light") {
      b(i.Alert, "errorColor", Z(i.error.light, 0.6)), b(i.Alert, "infoColor", Z(i.info.light, 0.6)), b(i.Alert, "successColor", Z(i.success.light, 0.6)), b(i.Alert, "warningColor", Z(i.warning.light, 0.6)), b(i.Alert, "errorFilledBg", A("palette-error-main")), b(i.Alert, "infoFilledBg", A("palette-info-main")), b(i.Alert, "successFilledBg", A("palette-success-main")), b(i.Alert, "warningFilledBg", A("palette-warning-main")), b(i.Alert, "errorFilledColor", Ce(() => i.getContrastText(i.error.main))), b(i.Alert, "infoFilledColor", Ce(() => i.getContrastText(i.info.main))), b(i.Alert, "successFilledColor", Ce(() => i.getContrastText(i.success.main))), b(i.Alert, "warningFilledColor", Ce(() => i.getContrastText(i.warning.main))), b(i.Alert, "errorStandardBg", ee(i.error.light, 0.9)), b(i.Alert, "infoStandardBg", ee(i.info.light, 0.9)), b(i.Alert, "successStandardBg", ee(i.success.light, 0.9)), b(i.Alert, "warningStandardBg", ee(i.warning.light, 0.9)), b(i.Alert, "errorIconColor", A("palette-error-main")), b(i.Alert, "infoIconColor", A("palette-info-main")), b(i.Alert, "successIconColor", A("palette-success-main")), b(i.Alert, "warningIconColor", A("palette-warning-main")), b(i.AppBar, "defaultBg", A("palette-grey-100")), b(i.Avatar, "defaultBg", A("palette-grey-400")), b(i.Button, "inheritContainedBg", A("palette-grey-300")), b(i.Button, "inheritContainedHoverBg", A("palette-grey-A100")), b(i.Chip, "defaultBorder", A("palette-grey-400")), b(i.Chip, "defaultAvatarColor", A("palette-grey-700")), b(i.Chip, "defaultIconColor", A("palette-grey-700")), b(i.FilledInput, "bg", "rgba(0, 0, 0, 0.06)"), b(i.FilledInput, "hoverBg", "rgba(0, 0, 0, 0.09)"), b(i.FilledInput, "disabledBg", "rgba(0, 0, 0, 0.12)"), b(i.LinearProgress, "primaryBg", ee(i.primary.main, 0.62)), b(i.LinearProgress, "secondaryBg", ee(i.secondary.main, 0.62)), b(i.LinearProgress, "errorBg", ee(i.error.main, 0.62)), b(i.LinearProgress, "infoBg", ee(i.info.main, 0.62)), b(i.LinearProgress, "successBg", ee(i.success.main, 0.62)), b(i.LinearProgress, "warningBg", ee(i.warning.main, 0.62)), b(i.Skeleton, "bg", `rgba(${A("palette-text-primaryChannel")} / 0.11)`), b(i.Slider, "primaryTrack", ee(i.primary.main, 0.62)), b(i.Slider, "secondaryTrack", ee(i.secondary.main, 0.62)), b(i.Slider, "errorTrack", ee(i.error.main, 0.62)), b(i.Slider, "infoTrack", ee(i.info.main, 0.62)), b(i.Slider, "successTrack", ee(i.success.main, 0.62)), b(i.Slider, "warningTrack", ee(i.warning.main, 0.62));
      const B = mt(i.background.default, 0.8);
      b(i.SnackbarContent, "bg", B), b(i.SnackbarContent, "color", Ce(() => i.getContrastText(B))), b(i.SpeedDialAction, "fabHoverBg", mt(i.background.paper, 0.15)), b(i.StepConnector, "border", A("palette-grey-400")), b(i.StepContent, "border", A("palette-grey-400")), b(i.Switch, "defaultColor", A("palette-common-white")), b(i.Switch, "defaultDisabledColor", A("palette-grey-100")), b(i.Switch, "primaryDisabledColor", ee(i.primary.main, 0.62)), b(i.Switch, "secondaryDisabledColor", ee(i.secondary.main, 0.62)), b(i.Switch, "errorDisabledColor", ee(i.error.main, 0.62)), b(i.Switch, "infoDisabledColor", ee(i.info.main, 0.62)), b(i.Switch, "successDisabledColor", ee(i.success.main, 0.62)), b(i.Switch, "warningDisabledColor", ee(i.warning.main, 0.62)), b(i.TableCell, "border", ee(pt(i.divider, 1), 0.88)), b(i.Tooltip, "bg", pt(i.grey[700], 0.92));
    }
    if (i.mode === "dark") {
      b(i.Alert, "errorColor", ee(i.error.light, 0.6)), b(i.Alert, "infoColor", ee(i.info.light, 0.6)), b(i.Alert, "successColor", ee(i.success.light, 0.6)), b(i.Alert, "warningColor", ee(i.warning.light, 0.6)), b(i.Alert, "errorFilledBg", A("palette-error-dark")), b(i.Alert, "infoFilledBg", A("palette-info-dark")), b(i.Alert, "successFilledBg", A("palette-success-dark")), b(i.Alert, "warningFilledBg", A("palette-warning-dark")), b(i.Alert, "errorFilledColor", Ce(() => i.getContrastText(i.error.dark))), b(i.Alert, "infoFilledColor", Ce(() => i.getContrastText(i.info.dark))), b(i.Alert, "successFilledColor", Ce(() => i.getContrastText(i.success.dark))), b(i.Alert, "warningFilledColor", Ce(() => i.getContrastText(i.warning.dark))), b(i.Alert, "errorStandardBg", Z(i.error.light, 0.9)), b(i.Alert, "infoStandardBg", Z(i.info.light, 0.9)), b(i.Alert, "successStandardBg", Z(i.success.light, 0.9)), b(i.Alert, "warningStandardBg", Z(i.warning.light, 0.9)), b(i.Alert, "errorIconColor", A("palette-error-main")), b(i.Alert, "infoIconColor", A("palette-info-main")), b(i.Alert, "successIconColor", A("palette-success-main")), b(i.Alert, "warningIconColor", A("palette-warning-main")), b(i.AppBar, "defaultBg", A("palette-grey-900")), b(i.AppBar, "darkBg", A("palette-background-paper")), b(i.AppBar, "darkColor", A("palette-text-primary")), b(i.Avatar, "defaultBg", A("palette-grey-600")), b(i.Button, "inheritContainedBg", A("palette-grey-800")), b(i.Button, "inheritContainedHoverBg", A("palette-grey-700")), b(i.Chip, "defaultBorder", A("palette-grey-700")), b(i.Chip, "defaultAvatarColor", A("palette-grey-300")), b(i.Chip, "defaultIconColor", A("palette-grey-300")), b(i.FilledInput, "bg", "rgba(255, 255, 255, 0.09)"), b(i.FilledInput, "hoverBg", "rgba(255, 255, 255, 0.13)"), b(i.FilledInput, "disabledBg", "rgba(255, 255, 255, 0.12)"), b(i.LinearProgress, "primaryBg", Z(i.primary.main, 0.5)), b(i.LinearProgress, "secondaryBg", Z(i.secondary.main, 0.5)), b(i.LinearProgress, "errorBg", Z(i.error.main, 0.5)), b(i.LinearProgress, "infoBg", Z(i.info.main, 0.5)), b(i.LinearProgress, "successBg", Z(i.success.main, 0.5)), b(i.LinearProgress, "warningBg", Z(i.warning.main, 0.5)), b(i.Skeleton, "bg", `rgba(${A("palette-text-primaryChannel")} / 0.13)`), b(i.Slider, "primaryTrack", Z(i.primary.main, 0.5)), b(i.Slider, "secondaryTrack", Z(i.secondary.main, 0.5)), b(i.Slider, "errorTrack", Z(i.error.main, 0.5)), b(i.Slider, "infoTrack", Z(i.info.main, 0.5)), b(i.Slider, "successTrack", Z(i.success.main, 0.5)), b(i.Slider, "warningTrack", Z(i.warning.main, 0.5));
      const B = mt(i.background.default, 0.98);
      b(i.SnackbarContent, "bg", B), b(i.SnackbarContent, "color", Ce(() => i.getContrastText(B))), b(i.SpeedDialAction, "fabHoverBg", mt(i.background.paper, 0.15)), b(i.StepConnector, "border", A("palette-grey-600")), b(i.StepContent, "border", A("palette-grey-600")), b(i.Switch, "defaultColor", A("palette-grey-300")), b(i.Switch, "defaultDisabledColor", A("palette-grey-600")), b(i.Switch, "primaryDisabledColor", Z(i.primary.main, 0.55)), b(i.Switch, "secondaryDisabledColor", Z(i.secondary.main, 0.55)), b(i.Switch, "errorDisabledColor", Z(i.error.main, 0.55)), b(i.Switch, "infoDisabledColor", Z(i.info.main, 0.55)), b(i.Switch, "successDisabledColor", Z(i.success.main, 0.55)), b(i.Switch, "warningDisabledColor", Z(i.warning.main, 0.55)), b(i.TableCell, "border", Z(pt(i.divider, 1), 0.68)), b(i.Tooltip, "bg", pt(i.grey[700], 0.92));
    }
    _e(i.background, "default"), _e(i.background, "paper"), _e(i.common, "background"), _e(i.common, "onBackground"), _e(i, "divider"), Object.keys(i).forEach((B) => {
      const V = i[B];
      B !== "tonalOffset" && V && typeof V == "object" && (V.main && b(i[B], "mainChannel", et(tt(V.main))), V.light && b(i[B], "lightChannel", et(tt(V.light))), V.dark && b(i[B], "darkChannel", et(tt(V.dark))), V.contrastText && b(i[B], "contrastTextChannel", et(tt(V.contrastText))), B === "text" && (_e(i[B], "primary"), _e(i[B], "secondary")), B === "action" && (V.active && _e(i[B], "active"), V.selected && _e(i[B], "selected")));
    });
  }), P = t.reduce((te, i) => be(te, i), P);
  const v = {
    prefix: a,
    disableCssColorScheme: o,
    shouldSkipGeneratingVar: c,
    getSelector: Ji(P)
  }, {
    vars: z,
    generateThemeVars: M,
    generateStyleSheets: K
  } = Si(P, v);
  return P.vars = z, Object.entries(P.colorSchemes[P.defaultColorScheme]).forEach(([te, i]) => {
    P[te] = i;
  }), P.generateThemeVars = M, P.generateStyleSheets = K, P.generateSpacing = function() {
    return Sn(p.spacing, sr(this));
  }, P.getColorSchemeSelector = Ci(l), P.spacing = P.generateSpacing(), P.shouldSkipGeneratingVar = c, P.unstable_sxConfig = {
    ...It,
    ...p == null ? void 0 : p.unstable_sxConfig
  }, P.unstable_sx = function(i) {
    return Ge({
      sx: i,
      theme: this
    });
  }, P.toRuntimeSource = An, P;
}
function Zr(e, t, r) {
  e.colorSchemes && r && (e.colorSchemes[t] = {
    ...r !== !0 && r,
    palette: gr({
      ...r === !0 ? {} : r.palette,
      mode: t
    })
    // cast type to skip module augmentation test
  });
}
function rs(e = {}, ...t) {
  const {
    palette: r,
    cssVariables: n = !1,
    colorSchemes: o = r ? void 0 : {
      light: !0
    },
    defaultColorScheme: a = r == null ? void 0 : r.mode,
    ...c
  } = e, l = a || "light", d = o == null ? void 0 : o[l], p = {
    ...o,
    ...r ? {
      [l]: {
        ...typeof d != "boolean" && d,
        palette: r
      }
    } : void 0
  };
  if (n === !1) {
    if (!("colorSchemes" in e))
      return ar(e, ...t);
    let h = r;
    "palette" in e || p[l] && (p[l] !== !0 ? h = p[l].palette : l === "dark" && (h = {
      mode: "dark"
    }));
    const m = ar({
      ...e,
      palette: h
    }, ...t);
    return m.defaultColorScheme = l, m.colorSchemes = p, m.palette.mode === "light" && (m.colorSchemes.light = {
      ...p.light !== !0 && p.light,
      palette: m.palette
    }, Zr(m, "dark", p.dark)), m.palette.mode === "dark" && (m.colorSchemes.dark = {
      ...p.dark !== !0 && p.dark,
      palette: m.palette
    }, Zr(m, "light", p.light)), m;
  }
  return !r && !("light" in p) && l === "light" && (p.light = !0), ts({
    ...c,
    colorSchemes: p,
    defaultColorScheme: l,
    ...typeof n != "boolean" && n
  }, ...t);
}
const ns = rs(), os = "$$material";
function as(e) {
  return e !== "ownerState" && e !== "theme" && e !== "sx" && e !== "as";
}
const is = (e) => as(e) && e !== "classes", ss = ai({
  themeId: os,
  defaultTheme: ns,
  rootShouldForwardProp: is
}), cs = bi;
process.env.NODE_ENV !== "production" && (W.node, W.object.isRequired);
function ls(e) {
  return yi(e);
}
function us(e) {
  return fr("MuiSvgIcon", e);
}
ei("MuiSvgIcon", ["root", "colorPrimary", "colorSecondary", "colorAction", "colorError", "colorDisabled", "fontSizeInherit", "fontSizeSmall", "fontSizeMedium", "fontSizeLarge"]);
const ds = (e) => {
  const {
    color: t,
    fontSize: r,
    classes: n
  } = e, o = {
    root: ["root", t !== "inherit" && `color${ze(t)}`, `fontSize${ze(r)}`]
  };
  return to(o, us, n);
}, fs = ss("svg", {
  name: "MuiSvgIcon",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: r
    } = e;
    return [t.root, r.color !== "inherit" && t[`color${ze(r.color)}`], t[`fontSize${ze(r.fontSize)}`]];
  }
})(cs(({
  theme: e
}) => {
  var t, r, n, o, a, c, l, d, p, h, m, y, k, S;
  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: (s) => !s.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: ((c = (a = e.typography) == null ? void 0 : a.pxToRem) == null ? void 0 : c.call(a, 20)) || "1.25rem"
        }
      },
      {
        props: {
          fontSize: "medium"
        },
        style: {
          fontSize: ((d = (l = e.typography) == null ? void 0 : l.pxToRem) == null ? void 0 : d.call(l, 24)) || "1.5rem"
        }
      },
      {
        props: {
          fontSize: "large"
        },
        style: {
          fontSize: ((h = (p = e.typography) == null ? void 0 : p.pxToRem) == null ? void 0 : h.call(p, 35)) || "2.1875rem"
        }
      },
      // TODO v5 deprecate color prop, v6 remove for sx
      ...Object.entries((e.vars ?? e).palette).filter(([, s]) => s && s.main).map(([s]) => {
        var E, O;
        return {
          props: {
            color: s
          },
          style: {
            color: (O = (E = (e.vars ?? e).palette) == null ? void 0 : E[s]) == null ? void 0 : O.main
          }
        };
      }),
      {
        props: {
          color: "action"
        },
        style: {
          color: (y = (m = (e.vars ?? e).palette) == null ? void 0 : m.action) == null ? void 0 : y.active
        }
      },
      {
        props: {
          color: "disabled"
        },
        style: {
          color: (S = (k = (e.vars ?? e).palette) == null ? void 0 : k.action) == null ? void 0 : S.disabled
        }
      },
      {
        props: {
          color: "inherit"
        },
        style: {
          color: void 0
        }
      }
    ]
  };
})), Ct = /* @__PURE__ */ de.forwardRef(function(t, r) {
  const n = ls({
    props: t,
    name: "MuiSvgIcon"
  }), {
    children: o,
    className: a,
    color: c = "inherit",
    component: l = "svg",
    fontSize: d = "medium",
    htmlColor: p,
    inheritViewBox: h = !1,
    titleAccess: m,
    viewBox: y = "0 0 24 24",
    ...k
  } = n, S = /* @__PURE__ */ de.isValidElement(o) && o.type === "svg", s = {
    ...n,
    color: c,
    component: l,
    fontSize: d,
    instanceFontSize: t.fontSize,
    inheritViewBox: h,
    viewBox: y,
    hasSvgAsChild: S
  }, E = {};
  h || (E.viewBox = y);
  const O = ds(s);
  return /* @__PURE__ */ f.jsxs(fs, {
    as: l,
    className: eo(O.root, a),
    focusable: "false",
    color: p,
    "aria-hidden": m ? void 0 : !0,
    role: m ? "img" : void 0,
    ref: r,
    ...E,
    ...k,
    ...S && o.props,
    ownerState: s,
    children: [S ? o.props.children : o, m ? /* @__PURE__ */ f.jsx("title", {
      children: m
    }) : null]
  });
});
process.env.NODE_ENV !== "production" && (Ct.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: W.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: W.object,
  /**
   * @ignore
   */
  className: W.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: W.oneOfType([W.oneOf(["inherit", "action", "disabled", "primary", "secondary", "error", "info", "success", "warning"]), W.string]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: W.elementType,
  /**
   * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.
   * @default 'medium'
   */
  fontSize: W.oneOfType([W.oneOf(["inherit", "large", "medium", "small"]), W.string]),
  /**
   * Applies a color attribute to the SVG element.
   */
  htmlColor: W.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: W.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: W.string,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: W.oneOfType([W.arrayOf(W.oneOfType([W.func, W.object, W.bool])), W.func, W.object]),
  /**
   * Provides a human-readable title for the element that contains it.
   * https://www.w3.org/TR/SVG-access/#Equivalent
   */
  titleAccess: W.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: W.string
});
Ct.muiName = "SvgIcon";
function Se(e, t) {
  function r(n, o) {
    return /* @__PURE__ */ f.jsx(Ct, {
      "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 = Ct.muiName, /* @__PURE__ */ de.memo(/* @__PURE__ */ de.forwardRef(r));
}
const ht = Se(/* @__PURE__ */ f.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"), ps = Se(/* @__PURE__ */ f.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"), ms = ({ closeConsole: e, openChatbot: t }) => {
  const [r, n] = re([]), [o, a] = re([""]), [c, l] = re(1500), [d, p] = re(500), [h, m] = re(""), [y, k] = re(!1), [S, s] = re(!1), [E, O] = re(""), [I, j] = re(""), [P, v] = re(""), [z, M] = re(1024), [K, te] = re(""), [i, A] = re("AI Chat Assistant"), [B, V] = re("Hello! 👋 How can I help you today?"), [U, oe] = re(8), [Q, le] = re(0.3), me = [
    "all-MiniLM-L6-v2",
    "paraphrase-MiniLM-L6-v2",
    "distilbert-base-nli-stsb-mean-tokens",
    "all-distilroberta-v1",
    "paraphrase-distilroberta-base-v1",
    "stsb-roberta-base"
  ], he = ["Chroma", "FAISS", "Pinecone", "Weaviate", "Qdrant"], u = [
    "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"
  ], w = (x, _ = 3e3) => {
    te(x), setTimeout(() => {
      te("");
    }, _);
  }, $ = (x) => {
    const _ = x.target.files ? Array.from(x.target.files) : [];
    n((F) => [...F, ..._]);
  }, N = (x) => {
    n((_) => _.filter((F, R) => R !== x));
  }, D = (x, _) => {
    const F = [...o];
    F[x] = _, a(F);
  }, L = (x) => {
    a((_) => _.filter((F, R) => R !== x));
  }, g = () => a([...o, ""]), C = async () => {
    if (!h) {
      w("Please select an embedding model.");
      return;
    }
    k(!0);
    const x = new FormData();
    x.append("project_name", "genaitechsol."), r.forEach((_) => x.append("doc_files", _)), x.append("links", JSON.stringify(o.filter((_) => _.trim() !== ""))), x.append("embedding_model", h), x.append("chunk_size", String(c)), x.append("chunk_overlap", String(d));
    try {
      const _ = await fetch("https://datalysis.rag-chatbot-web.shop/preprocess", {
        method: "POST",
        body: x
      }), F = await _.json();
      if (_.ok || F.status === "success")
        s(!0), w("✅ Preprocessing completed successfully!");
      else
        throw new Error(F.detail || "Preprocessing failed");
    } catch (_) {
      console.error("❌ Preprocessing error:", _), w("❌ Preprocessing failed. Please try again.");
    } finally {
      k(!1);
    }
  }, T = async () => {
    if (!E || !I) {
      w("Please select both vector database and chat model.");
      return;
    }
    try {
      const x = await fetch("https://datalysis.rag-chatbot-web.shop/select_vectordb", {
        method: "POST",
        headers: { "Content-Type": "application/x-www-form-urlencoded" },
        body: new URLSearchParams({ vectordb: E })
      });
      if (!x.ok) throw new Error("Vector database selection failed.");
      await x.json();
      const _ = new FormData();
      _.append("custom_prompt", P), _.append("chatbot_title", i.trim()), _.append("initial_message", B.trim()), _.append("chat_model", I), _.append("project_name", "genaitechsol."), _.append("max_output_tokens", String(z)), _.append("top_k", String(U)), _.append("temperature", String(Q));
      const F = await fetch("https://datalysis.rag-chatbot-web.shop/select_chat_model", {
        method: "POST",
        body: _
      });
      if (!F.ok) throw new Error("Chat model selection failed.");
      await F.json(), w("✅ Chatbot is ready!"), e && e(), typeof t == "function" && t();
    } catch (x) {
      console.error("Error:", x), w("❌ Error in configuration. Please try again.");
    }
  };
  return /* @__PURE__ */ f.jsxs("div", { className: "developer-console", children: [
    /* @__PURE__ */ f.jsx("style", { children: hs }),
    /* @__PURE__ */ f.jsx("h2", { children: "Developer Console" }),
    !S && /* @__PURE__ */ f.jsxs(f.Fragment, { children: [
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Upload Documents (PDF/DOCX):" }),
        /* @__PURE__ */ f.jsx("input", { type: "file", multiple: !0, accept: ".pdf,.docx", onChange: $ }),
        /* @__PURE__ */ f.jsx("ul", { children: r.map((x, _) => /* @__PURE__ */ f.jsxs("li", { children: [
          x.name,
          /* @__PURE__ */ f.jsx("button", { className: "remove-btn", onClick: () => N(_), children: "❌" })
        ] }, _)) })
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Enter URLs for Web Scraping:" }),
        o.map((x, _) => /* @__PURE__ */ f.jsxs("div", { className: "url-input-container", children: [
          /* @__PURE__ */ f.jsx(
            "input",
            {
              type: "text",
              placeholder: `URL ${_ + 1}`,
              value: x,
              onChange: (F) => D(_, F.target.value)
            }
          ),
          /* @__PURE__ */ f.jsx("button", { className: "remove-btn", onClick: () => L(_), children: "❌" })
        ] }, _)),
        /* @__PURE__ */ f.jsx("button", { onClick: g, className: "add-url-btn", children: "+ Add More" })
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Chunk Size:" }),
        /* @__PURE__ */ f.jsx("input", { type: "number", value: c, onChange: (x) => l(Number(x.target.value)) })
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Chunk Overlap:" }),
        /* @__PURE__ */ f.jsx("input", { type: "number", value: d, onChange: (x) => p(Number(x.target.value)) })
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Select Vector Database:" }),
        /* @__PURE__ */ f.jsxs("select", { value: E, onChange: (x) => O(x.target.value), children: [
          /* @__PURE__ */ f.jsx("option", { value: "", children: "Select Database" }),
          he.map((x) => /* @__PURE__ */ f.jsx("option", { value: x, children: x }, x))
        ] })
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Select Embedding Model:" }),
        /* @__PURE__ */ f.jsxs("select", { value: h, onChange: (x) => m(x.target.value), children: [
          /* @__PURE__ */ f.jsx("option", { value: "", children: "Select Model" }),
          me.map((x) => /* @__PURE__ */ f.jsx("option", { value: x, children: x }, x))
        ] })
      ] }),
      /* @__PURE__ */ f.jsx("button", { onClick: C, disabled: y, children: y ? "Processing..." : "Start Preprocessing" })
    ] }),
    S && /* @__PURE__ */ f.jsxs(f.Fragment, { children: [
      /* @__PURE__ */ f.jsx("h3", { className: "preprocessed-message", children: "✅ Preprocessing completed!" }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Custom Prompt Template (Optional):" }),
        /* @__PURE__ */ f.jsx(
          "textarea",
          {
            value: P,
            onChange: (x) => v(x.target.value),
            rows: 10,
            placeholder: "Enter a custom prompt template here...",
            style: { width: "100%", fontFamily: "monospace" }
          }
        )
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Initial Bot Message:" }),
        /* @__PURE__ */ f.jsx(
          "input",
          {
            type: "text",
            value: B,
            onChange: (x) => V(x.target.value),
            placeholder: "Enter welcome message",
            style: { width: "100%" }
          }
        )
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Chatbot Title:" }),
        /* @__PURE__ */ f.jsx(
          "input",
          {
            type: "text",
            value: i,
            onChange: (x) => A(x.target.value),
            placeholder: "Enter Chatbot Title",
            style: { width: "100%" }
          }
        )
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Max Output Tokens:" }),
        /* @__PURE__ */ f.jsx(
          "input",
          {
            type: "number",
            min: 1,
            max: 4096,
            value: z,
            onChange: (x) => M(Number(x.target.value)),
            placeholder: "1024"
          }
        )
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Top K Results (top_k):" }),
        /* @__PURE__ */ f.jsx(
          "input",
          {
            type: "number",
            min: 1,
            max: 50,
            value: U,
            onChange: (x) => oe(Number(x.target.value)),
            placeholder: "Enter number of top chunks to retrieve"
          }
        )
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Temperature:" }),
        /* @__PURE__ */ f.jsx(
          "input",
          {
            type: "number",
            step: 0.01,
            min: 0,
            max: 1,
            value: Q,
            onChange: (x) => le(Number(x.target.value)),
            placeholder: "Enter temperature for randomness"
          }
        )
      ] }),
      /* @__PURE__ */ f.jsxs("div", { className: "section", children: [
        /* @__PURE__ */ f.jsx("label", { children: "Select Chat Model:" }),
        /* @__PURE__ */ f.jsxs("select", { value: I, onChange: (x) => j(x.target.value), children: [
          /* @__PURE__ */ f.jsx("option", { value: "", children: "Select Chat Model" }),
          u.map((x) => /* @__PURE__ */ f.jsx("option", { value: x, children: x }, x))
        ] })
      ] }),
      /* @__PURE__ */ f.jsx("button", { onClick: T, disabled: !I, style: { opacity: I ? 1 : 0.5, cursor: I ? "pointer" : "not-allowed" }, children: "Run Chatbot" })
    ] }),
    K && /* @__PURE__ */ f.jsx("div", { className: "fade-message", children: K })
  ] });
}, hs = `
/* 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; }
}
`, gs = Se(/* @__PURE__ */ f.jsx("path", {
  d: "M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"
}), "Send");
var Nn = {
  color: void 0,
  size: void 0,
  className: void 0,
  style: void 0,
  attr: void 0
}, en = $e.createContext && /* @__PURE__ */ $e.createContext(Nn), ys = ["attr", "size", "title"];
function bs(e, t) {
  if (e == null) return {};
  var r = xs(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 xs(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 Et() {
  return Et = 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;
  }, Et.apply(this, arguments);
}
function tn(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 Tt(e) {
  for (var t = 1; t < arguments.length; t++) {
    var r = arguments[t] != null ? arguments[t] : {};
    t % 2 ? tn(Object(r), !0).forEach(function(n) {
      vs(e, n, r[n]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : tn(Object(r)).forEach(function(n) {
      Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(r, n));
    });
  }
  return e;
}
function vs(e, t, r) {
  return t = ws(t), t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e;
}
function ws(e) {
  var t = Ss(e, "string");
  return typeof t == "symbol" ? t : t + "";
}
function Ss(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 In(e) {
  return e && e.map((t, r) => /* @__PURE__ */ $e.createElement(t.tag, Tt({
    key: r
  }, t.attr), In(t.child)));
}
function Mn(e) {
  return (t) => /* @__PURE__ */ $e.createElement(Cs, Et({
    attr: Tt({}, e.attr)
  }, t), In(e.child));
}
function Cs(e) {
  var t = (r) => {
    var {
      attr: n,
      size: o,
      title: a
    } = e, c = bs(e, ys), l = o || r.size || "1em", d;
    return r.className && (d = r.className), e.className && (d = (d ? d + " " : "") + e.className), /* @__PURE__ */ $e.createElement("svg", Et({
      stroke: "currentColor",
      fill: "currentColor",
      strokeWidth: "0"
    }, r.attr, n, c, {
      className: d,
      style: Tt(Tt({
        color: e.color || r.color
      }, r.style), e.style),
      height: l,
      width: l,
      xmlns: "http://www.w3.org/2000/svg"
    }), a && /* @__PURE__ */ $e.createElement("title", null, a), e.children);
  };
  return en !== void 0 ? /* @__PURE__ */ $e.createElement(en.Consumer, null, (r) => t(r)) : t(Nn);
}
function Es(e) {
  return Mn({ 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 rn = Se(/* @__PURE__ */ f.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"), Ts = Se(/* @__PURE__ */ f.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"), ks = Se(/* @__PURE__ */ f.jsx("path", {
  d: "M6 19h4V5H6zm8-14v14h4V5z"
}), "Pause");
function Os(e) {
  return Mn({ 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 _s = Se(/* @__PURE__ */ f.jsx("path", {
  d: "M7 18h2V6H7zm4 4h2V2h-2zm-8-8h2v-4H3zm12 4h2V6h-2zm4-8v4h2v-4z"
}), "GraphicEq"), Rs = Se(/* @__PURE__ */ f.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"), Ps = Se(/* @__PURE__ */ f.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"), As = Se(/* @__PURE__ */ f.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"), js = Se(/* @__PURE__ */ f.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"), $s = Se(/* @__PURE__ */ f.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"), nn = (e) => `${String(Math.floor(e / 60)).padStart(2, "0")}:${String(e % 60).padStart(2, "0")}`, Ns = (e) => e.toLocaleString("en-US", {
  month: "short",
  day: "numeric",
  hour: "numeric",
  minute: "2-digit",
  hour12: !0
});
function Ds() {
  const [e, t] = re({
    isOpen: !1,
    showSettings: !1,
    showDeveloperConsole: !1,
    showSettingsIcon: !1,
    notification: "",
    isRecording: !1,
    isMuted: !1,
    isBotResponding: !1,
    isLoading: !1
  }), [r, n] = re(""), [o, a] = re(!1), [c, l] = re({
    modal: !1,
    state: "idle",
    time: 0
  }), [d, p] = re({
    title: "AI Chat Assistant",
    messages: [],
    input: "",
    speakingIndex: null
  }), h = je(null), [m, y] = re(0), [k, S] = re("Hello! 👋 How can I help you today?"), s = je(null);
  je(null);
  const E = je(null), O = je(!1), I = je(!1), j = je("en-US"), P = je(c.state), [v, z] = re(!1), [M, K] = re(-1), [te, i] = re(0);
  ut(() => {
    P.current = c.state;
  }, [c.state]);
  const A = (g) => g.startsWith("hi") ? "hi-IN" : "en-IN", B = (g, C = 3e3) => {
    t((T) => ({ ...T, notification: g })), setTimeout(() => t((T) => ({ ...T, notification: "" })), C);
  }, V = () => {
    t((g) => ({
      ...g,
      isOpen: !g.isOpen,
      showSettings: !1,
      showDeveloperConsole: !1,
      showSettingsIcon: !1
    })), e.isOpen || (i(0), z(!0), K(d.messages.length - 1));
  }, U = () => h.current = setInterval(() => {
    l((g) => ({ ...g, time: g.time + 1 }));
  }, 1e3), oe = () => {
    h.current && clearInterval(h.current);
  }, Q = async (g, C, T) => {
    var yr;
    const x = window.speechSynthesis, F = await new Promise((Oe) => {
      let Ae = x.getVoices();
      if (Ae.length) return Oe(Ae);
      const Dn = setInterval(() => {
        Ae = x.getVoices(), Ae.length && (clearInterval(Dn), Oe(Ae));
      }, 200);
    }), R = C.toLowerCase().startsWith("hi") ? "hi-IN" : "en-IN", pe = {
      "en-IN": ["Lekha"],
      "hi-IN": ["Google हिन्दी", "Lekha"]
    }, Be = F.find((Oe) => {
      var Ae;
      return (Ae = pe[R]) == null ? void 0 : Ae.includes(Oe.name);
    }) || F.find((Oe) => Oe.lang === R && Oe.name.toLowerCase().includes("female")) || F.find((Oe) => Oe.lang === R) || F[0], De = new SpeechSynthesisUtterance(g);
    De.lang = R, De.voice = Be, O.current = !0, De.onend = () => {
      O.current = !1, setTimeout(() => T == null ? void 0 : T(), 2e3);
    }, (yr = s.current) == null || yr.abort(), x.cancel(), x.speak(De);
  }, le = () => {
    const g = s.current;
    if (!g) return;
    g.continuous = !0, g.interimResults = !0, g.lang = "en-IN";
    let C = "";
    g.onresult = (T) => {
      let x = "";
      for (let F = T.resultIndex; F < T.results.length; F++) {
        const R = T.results[F][0].transcript;
        T.results[F].isFinal ? C += R : x += R;
      }
      const _ = C + x;
      p((F) => ({ ...F, input: _ }));
    }, g.onerror = (T) => {
      console.error("🎤 Recognition error:", T), t((x) => ({ ...x, isRecording: !1 }));
    }, g.onend = () => {
      console.log("🎤 Recognition ended"), t((T) => ({ ...T, isRecording: !1 }));
    };
    try {
      g.start(), t((T) => ({ ...T, isRecording: !0 }));
    } catch (T) {
      console.error("🎤 Error starting recognition:", T);
    }
  }, me = async (g) => new Promise(async (C) => {
    try {
      const T = await fetch("https://datalysis.rag-chatbot-web.shop/chat", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({ query: g, project_name: "genaitechsol." })
      }), x = await T.json(), _ = T.ok ? x.response : "Sorry, I couldn't understand that.", F = T.ok ? x.language : "en", R = A(F);
      j.current = R, console.log("🌐 Detected language:", F, "| Locale:", R), p((pe) => ({
        ...pe,
        messages: [
          ...pe.messages,
          { text: g, sender: "user", timestamp: /* @__PURE__ */ new Date() },
          { text: _, sender: "bot", timestamp: /* @__PURE__ */ new Date() }
        ]
      })), Q(_, F, () => C());
    } catch (T) {
      console.error("❌ Chat fetch error:", T), Q("Something went wrong.", "en", () => C());
    }
  }), he = () => {
    const g = s.current;
    if (!g) {
      console.error("❌ recognitionRef is null");
      return;
    }
    if (O.current) {
      console.log("⛔ Skipping recognition — bot still speaking");
      return;
    }
    if (I.current) {
      console.log("⏳ Recognition already active, skipping start.");
      return;
    }
    g.continuous = !1, g.interimResults = !1, g.lang = j.current || "en-IN", g.onstart = () => {
      console.log("✅ Recognition started"), I.current = !0;
    }, g.onend = () => {
      if (I.current = !1, P.current !== "active") return;
      const C = () => {
        O.current ? (console.log("🛑 Still speaking... delaying recognition retry"), setTimeout(C, 1e3)) : (console.log("🎧 Restarting recognition (not speaking)"), he());
      };
      setTimeout(C, 500);
    }, g.onerror = (C) => {
      I.current = !1, console.error("❌ Recognition error:", C), P.current === "active" && setTimeout(() => he(), 500);
    }, g.onresult = (C) => {
      if (O.current) {
        console.log("🛑 Ignored input — bot still speaking");
        return;
      }
      const T = C.results[0][0].transcript.trim();
      console.log("🗣️ Heard:", T), me(T).then(() => {
        P.current === "active" && he();
      });
    };
    try {
      console.log("🎙️ Starting recognition in", g.lang), g.start();
    } catch (C) {
      console.error("❌ Failed to start:", C);
    }
  }, u = (g, C) => {
    const T = new SpeechSynthesisUtterance(g);
    T.lang = "en-US", T.onend = () => p((x) => ({ ...x, speakingIndex: null })), window.speechSynthesis.cancel(), window.speechSynthesis.speak(T), p((x) => ({ ...x, speakingIndex: C }));
  }, w = () => {
    window.speechSynthesis.cancel(), p((g) => ({ ...g, speakingIndex: null }));
  }, $ = async () => {
    try {
      const C = await (await fetch("https://datalysis.rag-chatbot-web.shop/get_config?project_name=genaitechsol.")).json(), T = C.initial_message || k, x = C.chatbot_title || d.title;
      S(T), p((_) => ({
        ..._,
        title: x,
        messages: [{ text: T, sender: "bot", timestamp: /* @__PURE__ */ new Date() }]
      })), v && !e.isOpen && i((_) => _ + 1);
    } catch {
      const g = "Hello! 👋 How can I help you today?";
      S(g), p((C) => ({
        ...C,
        messages: [{ text: g, sender: "bot", timestamp: /* @__PURE__ */ new Date() }]
      }));
    }
  }, N = async () => {
    if (!d.input.trim() || e.isBotResponding) return;
    const g = {
      text: d.input,
      sender: "user",
      timestamp: /* @__PURE__ */ new Date()
    };
    p((C) => ({ ...C, input: "", messages: [...C.messages, g] })), t((C) => ({ ...C, isBotResponding: !0, isLoading: !0 }));
    try {
      const C = await fetch("https://datalysis.rag-chatbot-web.shop/chat", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({ query: g.text, project_name: "genaitechsol." })
      }), T = await C.json(), x = {
        text: C.ok ? T.response : `Error: ${T.detail}`,
        sender: "bot",
        timestamp: /* @__PURE__ */ new Date()
      };
      p((_) => ({ ..._, messages: [..._.messages, x] }));
    } catch {
      p((C) => ({
        ...C,
        messages: [
          ...C.messages,
          {
            text: "Error connecting to server.",
            sender: "bot",
            timestamp: /* @__PURE__ */ new Date()
          }
        ]
      }));
    } finally {
      t((C) => ({ ...C, isBotResponding: !1, isLoading: !1 }));
    }
  }, D = async (g) => {
    try {
      await navigator.clipboard.writeText(g), B("Copied to clipboard!");
    } catch (C) {
      console.error("Failed to copy: ", C);
    }
  };
  ut(() => {
    e.isOpen ? (i(0), K(d.messages.length - 1)) : i(d.messages.length - (M + 1));
  }, [d.messages, e.isOpen, M]), ut(() => {
    const g = window.SpeechRecognition || window.webkitSpeechRecognition;
    g && (s.current = new g()), $();
  }, []), ut(() => {
    E.current && (E.current.scrollTop = E.current.scrollHeight);
  }, [d.messages]);
  const L = (g, C) => /* @__PURE__ */ f.jsxs("span", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
    d.speakingIndex === C ? /* @__PURE__ */ f.jsx(
      ks,
      {
        onClick: w,
        fontSize: "small",
        style: { cursor: "pointer", color: "white" }
      }
    ) : /* @__PURE__ */ f.jsx(
      Ts,
      {
        onClick: () => u(g.text, C),
        fontSize: "small",
        style: { cursor: "pointer", color: "white" }
      }
    ),
    /* @__PURE__ */ f.jsx(
      $s,
      {
        onClick: () => D(g.text),
        fontSize: "small",
        style: { cursor: "pointer", color: "white" }
      }
    )
  ] });
  return /* @__PURE__ */ f.jsxs("div", { className: "chatbot-container", children: [
    !e.isOpen && /* @__PURE__ */ f.jsxs("button", { className: "chat-icon", onClick: V, children: [
      "💬",
      te > 0 && /* @__PURE__ */ f.jsx("span", { className: "chat-badge", children: te })
    ] }),
    e.isOpen && /* @__PURE__ */ f.jsxs("div", { className: "chatbox", children: [
      /* @__PURE__ */ f.jsxs("div", { className: "chat-header", children: [
        /* @__PURE__ */ f.jsx(
          "span",
          {
            onClick: () => {
              y((g) => {
                const C = g + 1;
                return C === 3 ? (t((T) => ({ ...T, showSettingsIcon: !0 })), 0) : (setTimeout(() => y(0), 400), C);
              });
            },
            children: d.title
          }
        ),
        /* @__PURE__ */ f.jsxs("div", { className: "icons", children: [
          /* @__PURE__ */ f.jsx(Es, { className: "icon", onClick: $, title: "Reset" }),
          e.showSettingsIcon && /* @__PURE__ */ f.jsx(
            ps,
            {
              className: "icon",
              onClick: () => t((g) => ({ ...g, showSettings: !0 }))
            }
          ),
          /* @__PURE__ */ f.jsx(ht, { className: "icon", onClick: V })
        ] })
      ] }),
      /* @__PURE__ */ f.jsx("div", { className: "chat-body", ref: E, children: e.showDeveloperConsole ? /* @__PURE__ */ f.jsx(
        ms,
        {
          closeConsole: () => {
            a(!1), t((g) => ({ ...g, showDeveloperConsole: !1 })), $();
          },
          openChatbot: () => t((g) => ({ ...g, isOpen: !0 }))
        }
      ) : /* @__PURE__ */ f.jsxs(f.Fragment, { children: [
        d.messages.map((g, C) => /* @__PURE__ */ f.jsxs(
          "div",
          {
            className: g.sender === "bot" ? "bot-message" : "user-message",
            children: [
              /* @__PURE__ */ f.jsx("div", { className: "message-content", children: g.text }),
              /* @__PURE__ */ f.jsxs("div", { className: "message-meta", children: [
                /* @__PURE__ */ f.jsx("span", { className: "timestamp", children: Ns(new Date(g.timestamp)) }),
                g.sender === "bot" && L(g, C)
              ] })
            ]
          },
          C
        )),
        e.isLoading && /* @__PURE__ */ f.jsxs("div", { className: "bot-message thinking-icon", children: [
          /* @__PURE__ */ f.jsx("span", { className: "dot one" }),
          /* @__PURE__ */ f.jsx("span", { className: "dot two" }),
          /* @__PURE__ */ f.jsx("span", { className: "dot three" })
        ] })
      ] }) }),
      c.modal && /* @__PURE__ */ f.jsxs("div", { className: "call-ui", children: [
        /* @__PURE__ */ f.jsxs(
          "div",
          {
            className: "call-header",
            style: {
              display: "flex",
              justifyContent: "space-between",
              alignItems: "center",
              padding: "0 10px"
            },
            children: [
              /* @__PURE__ */ f.jsx(
                ht,
                {
                  style: { cursor: "pointer" },
                  onClick: () => {
                    var g;
                    (g = s.current) == null || g.stop(), speechSynthesis.cancel(), oe(), l({ modal: !1, state: "idle", time: 0 });
                  }
                }
              ),
              /* @__PURE__ */ f.jsx(
                "span",
                {
                  style: {
                    flex: 1,
                    textAlign: "center",
                    fontWeight: "bold",
                    fontSize: "18px"
                  },
                  children: "Agent"
                }
              ),
              /* @__PURE__ */ f.jsx("div", { style: { width: "24px" } })
            ]
          }
        ),
        /* @__PURE__ */ f.jsxs("div", { className: "call-content", children: [
          /* @__PURE__ */ f.jsx("img", { src: "/agent.jpg", alt: "Agent", className: "call-avatar" }),
          /* @__PURE__ */ f.jsxs("h2", { className: "agent-name", children: [
            "Sera ",
            /* @__PURE__ */ f.jsx("span", { className: "ai-badge", children: "AI" })
          ] }),
          /* @__PURE__ */ f.jsx("p", { children: "Customer Support Specialist" }),
          c.state === "idle" && /* @__PURE__ */ f.jsxs(
            "button",
            {
              className: "talk-button",
              onClick: () => {
                l({ modal: !0, state: "active", time: 0 }), Q(
                  "Hello, my name is Sera, Customer Support Specialist. How can I assist you today?",
                  "en",
                  () => {
                    he(), U();
                  }
                );
              },
              children: [
                /* @__PURE__ */ f.jsx(_s, { className: "talk-button-icon" }),
                " Talk to Sera"
              ]
            }
          ),
          c.state === "active" && /* @__PURE__ */ f.jsxs(f.Fragment, { children: [
            /* @__PURE__ */ f.jsx("p", { className: "listening-text", children: "Listening..." }),
            /* @__PURE__ */ f.jsx("p", { style: { color: "#ccc", marginTop: "4px" }, children: nn(c.time) }),
            /* @__PURE__ */ f.jsxs("div", { className: "call-control-buttons", children: [
              /* @__PURE__ */ f.jsx(
                "button",
                {
                  className: "mute-call-button",
                  onClick: () => t((g) => ({ ...g, isMuted: !g.isMuted })),
                  children: e.isMuted ? /* @__PURE__ */ f.jsx(Rs, { style: { fontSize: 24 } }) : /* @__PURE__ */ f.jsx(rn, { style: { fontSize: 24 } })
                }
              ),
              /* @__PURE__ */ f.jsx(
                "button",
                {
                  className: "end-call-button",
                  onClick: () => {
                    var g;
                    (g = s.current) == null || g.stop(), speechSynthesis.cancel(), l((C) => ({ ...C, state: "ended" })), oe();
                  },
                  children: /* @__PURE__ */ f.jsx(ht, { style: { fontSize: 24 } })
                }
              )
            ] }),
            /* @__PURE__ */ f.jsxs("div", { className: "call-control-labels", children: [
              /* @__PURE__ */ f.jsx("span", { children: e.isMuted ? "Unmute" : "Mute" }),
              /* @__PURE__ */ f.jsx("span", { children: "End Call" })
            ] })
          ] }),
          c.state === "ended" && /* @__PURE__ */ f.jsxs(f.Fragment, { children: [
            /* @__PURE__ */ f.jsxs("div", { className: "call-ended-section", children: [
              /* @__PURE__ */ f.jsx(js, { style: { fontSize: 20 } }),
              /* @__PURE__ */ f.jsx("span", { className: "call-ended-text", children: "Call Ended" }),
              /* @__PURE__ */ f.jsx("span", { className: "call-time", children: nn(c.time) })
            ] }),
            /* @__PURE__ */ f.jsxs("div", { className: "call-ended-buttons", children: [
              /* @__PURE__ */ f.jsxs(
                "button",
                {
                  onClick: () => {
                    l({ modal: !0, state: "active", time: 0 }), Q(
                      "Welcome back. How can I help you again?",
                      "en",
                      () => {
                        U(), he();
                      }
                    );
                  },
                  children: [
                    /* @__PURE__ */ f.jsx(Ps, { style: { fontSize: 18 } }),
                    "Call Again"
                  ]
                }
              ),
              /* @__PURE__ */ f.jsxs(
                "button",
                {
                  onClick: () => l((g) => ({ ...g, modal: !1 })),
                  children: [
                    /* @__PURE__ */ f.jsx(As, { style: { fontSize: 18 } }),
                    "Back to Chat"
                  ]
                }
              )
            ] })
          ] })
        ] })
      ] }),
      !e.showDeveloperConsole && /* @__PURE__ */ f.jsxs(f.Fragment, { children: [
        /* @__PURE__ */ f.jsxs("div", { className: "chat-input-container", children: [
          /* @__PURE__ */ f.jsx(
            "input",
            {
              className: "chat-input",
              value: d.input,
              placeholder: e.isBotResponding ? "You can type, but wait..." : "Type or hold mic to speak...",
              onChange: (g) => p((C) => ({ ...C, input: g.target.value })),
              onKeyDown: (g) => g.key === "Enter" && !e.isBotResponding && N()
            }
          ),
          /* @__PURE__ */ f.jsx(
            "button",
            {
              className: "send-button",
              onClick: N,
              disabled: e.isBotResponding,
              children: /* @__PURE__ */ f.jsx(gs, { fontSize: "small" })
            }
          )
        ] }),
        /* @__PURE__ */ f.jsxs("div", { className: "chat-input-secondary-buttons", children: [
          /* @__PURE__ */ f.jsx(
            "button",
            {
              className: `mic-button ${e.isRecording ? "recording" : ""}`,
              onMouseDown: le,
              onMouseUp: () => {
                var g;
                (g = s.current) == null || g.stop(), t((C) => ({ ...C, isRecording: !1 }));
              },
              onTouchStart: le,
              onTouchEnd: () => {
                var g;
                (g = s.current) == null || g.stop(), t((C) => ({ ...C, isRecording: !1 }));
              },
              title: "Hold to record",
              children: /* @__PURE__ */ f.jsx(rn, {})
            }
          ),
          /* @__PURE__ */ f.jsx(
            "button",
            {
              className: "call-agent-circle-button",
              onClick: () => l({ modal: !0, state: "idle", time: 0 }),
              title: "Talk to Agent",
              children: /* @__PURE__ */ f.jsx(Os, { size: 30 })
            }
          )
        ] })
      ] }),
      e.showSettings && /* @__PURE__ */ f.jsx("div", { className: "admin-modal", children: /* @__PURE__ */ f.jsxs("div", { className: "admin-modal-content", children: [
        /* @__PURE__ */ f.jsxs("div", { className: "admin-header", children: [
          /* @__PURE__ */ f.jsx("h3", { children: "Enter Admin Key" }),
          /* @__PURE__ */ f.jsx(
            ht,
            {
              className: "close-icon",
              onClick: () => t((g) => ({ ...g, showSettings: !1 }))
            }
          )
        ] }),
        /* @__PURE__ */ f.jsx(
          "input",
          {
            type: "password",
            value: r,
            onChange: (g) => n(g.target.value),
            className: "admin-input",
            placeholder: "Enter admin key"
          }
        ),
        /* @__PURE__ */ f.jsx(
          "button",
          {
            className: "admin-submit",
            onClick: () => {
              r === "admin123" ? (a(!0), t((g) => ({
                ...g,
                showSettings: !1,
                showDeveloperConsole: !0
              }))) : B("Incorrect Admin Key!");
            },
            children: "Submit"
          }
        )
      ] }) }),
      e.notification && /* @__PURE__ */ f.jsx("div", { className: "fade-message", children: e.notification }),
      /* @__PURE__ */ f.jsx("div", { className: "powered-by-section", children: /* @__PURE__ */ f.jsxs(
        "a",
        {
          href: "https://genaitechsol.com",
          target: "_blank",
          rel: "noopener noreferrer",
          className: "powered-by-link",
          children: [
            /* @__PURE__ */ f.jsx("span", { children: "Powered by" }),
            /* @__PURE__ */ f.jsx(
              "img",
              {
                src: "/logo.png",
                alt: "GTS Logo",
                className: "powered-by-logo"
              }
            ),
            /* @__PURE__ */ f.jsx("span", { children: "GenerativeAI Technology Solutions (GTS)" })
          ]
        }
      ) })
    ] })
  ] });
}
const Is = `
/* 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;
}
.chat-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #ff3b30; /* iOS-like red */
  color: white;
  font-size: 12px;
  font-weight: bold;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  animation: pop-in 0.3s ease;
}

@keyframes pop-in {
  0% { transform: scale(0.5); opacity: 0; }
  80% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(1); }
}
.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);
}

.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 = Is, document.head.appendChild(e);
}
export {
  Ds as Chatbot,
  ms as DeveloperConsole
};