UNPKG

harito-ui

Version:

A modern, transparent UI library for React.

40,783 lines 1.33 MB
import './index.css';var oy = Object.defineProperty;
var ry = (e, t, o) => t in e ? oy(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
var qn = (e, t, o) => ry(e, typeof t != "symbol" ? t + "" : t, o);
import Mt, { jsx as x, jsxs as he, Fragment as $r } from "react/jsx-runtime";
import * as d from "react";
import tt, { forwardRef as sm, useContext as yc, isValidElement as Ci, cloneElement as Ti, Children as ay, useRef as iy, useState as os, createContext as sy, Component as vc, useEffect as ly, useCallback as cy, useMemo as dl } from "react";
import * as uy from "react-dom";
import ei from "react-dom";
function Gn(e) {
  let t = "https://mui.com/production-error/?code=" + e;
  for (let o = 1; o < arguments.length; o += 1)
    t += "&args[]=" + encodeURIComponent(arguments[o]);
  return "Minified MUI error #" + e + "; visit " + t + " for the full message.";
}
const dy = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: Gn
}, Symbol.toStringTag, { value: "Module" }));
function m() {
  return m = Object.assign ? Object.assign.bind() : function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var o = arguments[t];
      for (var r in o) ({}).hasOwnProperty.call(o, r) && (e[r] = o[r]);
    }
    return e;
  }, m.apply(null, arguments);
}
function py(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 fy(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 my = /* @__PURE__ */ function() {
  function e(o) {
    var r = this;
    this._insertTag = function(a) {
      var i;
      r.tags.length === 0 ? r.insertionPoint ? i = r.insertionPoint.nextSibling : r.prepend ? i = r.container.firstChild : i = r.before : i = r.tags[r.tags.length - 1].nextSibling, r.container.insertBefore(a, i), r.tags.push(a);
    }, this.isSpeedy = o.speedy === void 0 ? !0 : o.speedy, this.tags = [], this.ctr = 0, this.nonce = o.nonce, this.key = o.key, this.container = o.container, this.prepend = o.prepend, this.insertionPoint = o.insertionPoint, this.before = null;
  }
  var t = e.prototype;
  return t.hydrate = function(r) {
    r.forEach(this._insertTag);
  }, t.insert = function(r) {
    this.ctr % (this.isSpeedy ? 65e3 : 1) === 0 && this._insertTag(fy(this));
    var a = this.tags[this.tags.length - 1];
    if (this.isSpeedy) {
      var i = py(a);
      try {
        i.insertRule(r, i.cssRules.length);
      } catch {
      }
    } else
      a.appendChild(document.createTextNode(r));
    this.ctr++;
  }, t.flush = function() {
    this.tags.forEach(function(r) {
      var a;
      return (a = r.parentNode) == null ? void 0 : a.removeChild(r);
    }), this.tags = [], this.ctr = 0;
  }, e;
}(), Lt = "-ms-", Ni = "-moz-", Ye = "-webkit-", lm = "comm", xc = "rule", Cc = "decl", hy = "@import", cm = "@keyframes", gy = "@layer", by = Math.abs, rs = String.fromCharCode, yy = Object.assign;
function vy(e, t) {
  return Nt(e, 0) ^ 45 ? (((t << 2 ^ Nt(e, 0)) << 2 ^ Nt(e, 1)) << 2 ^ Nt(e, 2)) << 2 ^ Nt(e, 3) : 0;
}
function um(e) {
  return e.trim();
}
function xy(e, t) {
  return (e = t.exec(e)) ? e[0] : e;
}
function Ke(e, t, o) {
  return e.replace(t, o);
}
function Wl(e, t) {
  return e.indexOf(t);
}
function Nt(e, t) {
  return e.charCodeAt(t) | 0;
}
function ga(e, t, o) {
  return e.slice(t, o);
}
function In(e) {
  return e.length;
}
function Tc(e) {
  return e.length;
}
function ti(e, t) {
  return t.push(e), e;
}
function Cy(e, t) {
  return e.map(t).join("");
}
var as = 1, xr = 1, dm = 0, Ut = 0, kt = 0, Dr = "";
function is(e, t, o, r, a, i, s) {
  return { value: e, root: t, parent: o, type: r, props: a, children: i, line: as, column: xr, length: s, return: "" };
}
function qr(e, t) {
  return yy(is("", null, null, "", null, null, 0), e, { length: -e.length }, t);
}
function Ty() {
  return kt;
}
function wy() {
  return kt = Ut > 0 ? Nt(Dr, --Ut) : 0, xr--, kt === 10 && (xr = 1, as--), kt;
}
function Zt() {
  return kt = Ut < dm ? Nt(Dr, Ut++) : 0, xr++, kt === 10 && (xr = 1, as++), kt;
}
function Ln() {
  return Nt(Dr, Ut);
}
function wi() {
  return Ut;
}
function Sa(e, t) {
  return ga(Dr, e, t);
}
function ba(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 pm(e) {
  return as = xr = 1, dm = In(Dr = e), Ut = 0, [];
}
function fm(e) {
  return Dr = "", e;
}
function Oi(e) {
  return um(Sa(Ut - 1, Ul(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
}
function Oy(e) {
  for (; (kt = Ln()) && kt < 33; )
    Zt();
  return ba(e) > 2 || ba(kt) > 3 ? "" : " ";
}
function Ey(e, t) {
  for (; --t && Zt() && !(kt < 48 || kt > 102 || kt > 57 && kt < 65 || kt > 70 && kt < 97); )
    ;
  return Sa(e, wi() + (t < 6 && Ln() == 32 && Zt() == 32));
}
function Ul(e) {
  for (; Zt(); )
    switch (kt) {
      case e:
        return Ut;
      case 34:
      case 39:
        e !== 34 && e !== 39 && Ul(kt);
        break;
      case 40:
        e === 41 && Ul(e);
        break;
      case 92:
        Zt();
        break;
    }
  return Ut;
}
function Sy(e, t) {
  for (; Zt() && e + kt !== 57; )
    if (e + kt === 84 && Ln() === 47)
      break;
  return "/*" + Sa(t, Ut - 1) + "*" + rs(e === 47 ? e : Zt());
}
function Py(e) {
  for (; !ba(Ln()); )
    Zt();
  return Sa(e, Ut);
}
function Ry(e) {
  return fm(Ei("", null, null, null, [""], e = pm(e), 0, [0], e));
}
function Ei(e, t, o, r, a, i, s, l, c) {
  for (var u = 0, p = 0, f = s, g = 0, v = 0, b = 0, h = 1, y = 1, C = 1, E = 0, w = "", T = a, O = i, P = r, S = w; y; )
    switch (b = E, E = Zt()) {
      case 40:
        if (b != 108 && Nt(S, f - 1) == 58) {
          Wl(S += Ke(Oi(E), "&", "&\f"), "&\f") != -1 && (C = -1);
          break;
        }
      case 34:
      case 39:
      case 91:
        S += Oi(E);
        break;
      case 9:
      case 10:
      case 13:
      case 32:
        S += Oy(b);
        break;
      case 92:
        S += Ey(wi() - 1, 7);
        continue;
      case 47:
        switch (Ln()) {
          case 42:
          case 47:
            ti(ky(Sy(Zt(), wi()), t, o), c);
            break;
          default:
            S += "/";
        }
        break;
      case 123 * h:
        l[u++] = In(S) * C;
      case 125 * h:
      case 59:
      case 0:
        switch (E) {
          case 0:
          case 125:
            y = 0;
          case 59 + p:
            C == -1 && (S = Ke(S, /\f/g, "")), v > 0 && In(S) - f && ti(v > 32 ? xd(S + ";", r, o, f - 1) : xd(Ke(S, " ", "") + ";", r, o, f - 2), c);
            break;
          case 59:
            S += ";";
          default:
            if (ti(P = vd(S, t, o, u, p, a, l, w, T = [], O = [], f), i), E === 123)
              if (p === 0)
                Ei(S, t, P, P, T, i, f, l, O);
              else
                switch (g === 99 && Nt(S, 3) === 110 ? 100 : g) {
                  case 100:
                  case 108:
                  case 109:
                  case 115:
                    Ei(e, P, P, r && ti(vd(e, P, P, 0, 0, a, l, w, a, T = [], f), O), a, O, f, l, r ? T : O);
                    break;
                  default:
                    Ei(S, P, P, P, [""], O, 0, l, O);
                }
        }
        u = p = v = 0, h = C = 1, w = S = "", f = s;
        break;
      case 58:
        f = 1 + In(S), v = b;
      default:
        if (h < 1) {
          if (E == 123)
            --h;
          else if (E == 125 && h++ == 0 && wy() == 125)
            continue;
        }
        switch (S += rs(E), E * h) {
          case 38:
            C = p > 0 ? 1 : (S += "\f", -1);
            break;
          case 44:
            l[u++] = (In(S) - 1) * C, C = 1;
            break;
          case 64:
            Ln() === 45 && (S += Oi(Zt())), g = Ln(), p = f = In(w = S += Py(wi())), E++;
            break;
          case 45:
            b === 45 && In(S) == 2 && (h = 0);
        }
    }
  return i;
}
function vd(e, t, o, r, a, i, s, l, c, u, p) {
  for (var f = a - 1, g = a === 0 ? i : [""], v = Tc(g), b = 0, h = 0, y = 0; b < r; ++b)
    for (var C = 0, E = ga(e, f + 1, f = by(h = s[b])), w = e; C < v; ++C)
      (w = um(h > 0 ? g[C] + " " + E : Ke(E, /&\f/g, g[C]))) && (c[y++] = w);
  return is(e, t, o, a === 0 ? xc : l, c, u, p);
}
function ky(e, t, o) {
  return is(e, t, o, lm, rs(Ty()), ga(e, 2, -2), 0);
}
function xd(e, t, o, r) {
  return is(e, t, o, Cc, ga(e, 0, r), ga(e, r + 1, -1), r);
}
function dr(e, t) {
  for (var o = "", r = Tc(e), a = 0; a < r; a++)
    o += t(e[a], a, e, t) || "";
  return o;
}
function My(e, t, o, r) {
  switch (e.type) {
    case gy:
      if (e.children.length) break;
    case hy:
    case Cc:
      return e.return = e.return || e.value;
    case lm:
      return "";
    case cm:
      return e.return = e.value + "{" + dr(e.children, r) + "}";
    case xc:
      e.value = e.props.join(",");
  }
  return In(o = dr(e.children, r)) ? e.return = e.value + "{" + o + "}" : "";
}
function $y(e) {
  var t = Tc(e);
  return function(o, r, a, i) {
    for (var s = "", l = 0; l < t; l++)
      s += e[l](o, r, a, i) || "";
    return s;
  };
}
function Dy(e) {
  return function(t) {
    t.root || (t = t.return) && e(t);
  };
}
function mm(e) {
  var t = /* @__PURE__ */ Object.create(null);
  return function(o) {
    return t[o] === void 0 && (t[o] = e(o)), t[o];
  };
}
var Iy = function(t, o, r) {
  for (var a = 0, i = 0; a = i, i = Ln(), a === 38 && i === 12 && (o[r] = 1), !ba(i); )
    Zt();
  return Sa(t, Ut);
}, Ny = function(t, o) {
  var r = -1, a = 44;
  do
    switch (ba(a)) {
      case 0:
        a === 38 && Ln() === 12 && (o[r] = 1), t[r] += Iy(Ut - 1, o, r);
        break;
      case 2:
        t[r] += Oi(a);
        break;
      case 4:
        if (a === 44) {
          t[++r] = Ln() === 58 ? "&\f" : "", o[r] = t[r].length;
          break;
        }
      default:
        t[r] += rs(a);
    }
  while (a = Zt());
  return t;
}, _y = function(t, o) {
  return fm(Ny(pm(t), o));
}, Cd = /* @__PURE__ */ new WeakMap(), Ay = 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 o = t.value, r = t.parent, a = t.column === r.column && t.line === r.line; r.type !== "rule"; )
      if (r = r.parent, !r) return;
    if (!(t.props.length === 1 && o.charCodeAt(0) !== 58 && !Cd.get(r)) && !a) {
      Cd.set(t, !0);
      for (var i = [], s = _y(o, i), l = r.props, c = 0, u = 0; c < s.length; c++)
        for (var p = 0; p < l.length; p++, u++)
          t.props[u] = i[c] ? s[c].replace(/&\f/g, l[p]) : l[p] + " " + s[c];
    }
  }
}, Ly = function(t) {
  if (t.type === "decl") {
    var o = t.value;
    // charcode for l
    o.charCodeAt(0) === 108 && // charcode for b
    o.charCodeAt(2) === 98 && (t.return = "", t.value = "");
  }
};
function hm(e, t) {
  switch (vy(e, t)) {
    case 5103:
      return Ye + "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 Ye + e + e;
    case 5349:
    case 4246:
    case 4810:
    case 6968:
    case 2756:
      return Ye + e + Ni + e + Lt + e + e;
    case 6828:
    case 4268:
      return Ye + e + Lt + e + e;
    case 6165:
      return Ye + e + Lt + "flex-" + e + e;
    case 5187:
      return Ye + e + Ke(e, /(\w+).+(:[^]+)/, Ye + "box-$1$2" + Lt + "flex-$1$2") + e;
    case 5443:
      return Ye + e + Lt + "flex-item-" + Ke(e, /flex-|-self/, "") + e;
    case 4675:
      return Ye + e + Lt + "flex-line-pack" + Ke(e, /align-content|flex-|-self/, "") + e;
    case 5548:
      return Ye + e + Lt + Ke(e, "shrink", "negative") + e;
    case 5292:
      return Ye + e + Lt + Ke(e, "basis", "preferred-size") + e;
    case 6060:
      return Ye + "box-" + Ke(e, "-grow", "") + Ye + e + Lt + Ke(e, "grow", "positive") + e;
    case 4554:
      return Ye + Ke(e, /([^-])(transform)/g, "$1" + Ye + "$2") + e;
    case 6187:
      return Ke(Ke(Ke(e, /(zoom-|grab)/, Ye + "$1"), /(image-set)/, Ye + "$1"), e, "") + e;
    case 5495:
    case 3959:
      return Ke(e, /(image-set\([^]*)/, Ye + "$1$`$1");
    case 4968:
      return Ke(Ke(e, /(.+:)(flex-)?(.*)/, Ye + "box-pack:$3" + Lt + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + Ye + e + e;
    case 4095:
    case 3583:
    case 4068:
    case 2532:
      return Ke(e, /(.+)-inline(.+)/, Ye + "$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 (In(e) - 1 - t > 6) switch (Nt(e, t + 1)) {
        case 109:
          if (Nt(e, t + 4) !== 45) break;
        case 102:
          return Ke(e, /(.+:)(.+)-([^]+)/, "$1" + Ye + "$2-$3$1" + Ni + (Nt(e, t + 3) == 108 ? "$3" : "$2-$3")) + e;
        case 115:
          return ~Wl(e, "stretch") ? hm(Ke(e, "stretch", "fill-available"), t) + e : e;
      }
      break;
    case 4949:
      if (Nt(e, t + 1) !== 115) break;
    case 6444:
      switch (Nt(e, In(e) - 3 - (~Wl(e, "!important") && 10))) {
        case 107:
          return Ke(e, ":", ":" + Ye) + e;
        case 101:
          return Ke(e, /(.+:)([^;!]+)(;|!.+)?/, "$1" + Ye + (Nt(e, 14) === 45 ? "inline-" : "") + "box$3$1" + Ye + "$2$3$1" + Lt + "$2box$3") + e;
      }
      break;
    case 5936:
      switch (Nt(e, t + 11)) {
        case 114:
          return Ye + e + Lt + Ke(e, /[svh]\w+-[tblr]{2}/, "tb") + e;
        case 108:
          return Ye + e + Lt + Ke(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e;
        case 45:
          return Ye + e + Lt + Ke(e, /[svh]\w+-[tblr]{2}/, "lr") + e;
      }
      return Ye + e + Lt + e + e;
  }
  return e;
}
var Fy = function(t, o, r, a) {
  if (t.length > -1 && !t.return) switch (t.type) {
    case Cc:
      t.return = hm(t.value, t.length);
      break;
    case cm:
      return dr([qr(t, {
        value: Ke(t.value, "@", "@" + Ye)
      })], a);
    case xc:
      if (t.length) return Cy(t.props, function(i) {
        switch (xy(i, /(::plac\w+|:read-\w+)/)) {
          case ":read-only":
          case ":read-write":
            return dr([qr(t, {
              props: [Ke(i, /:(read-\w+)/, ":" + Ni + "$1")]
            })], a);
          case "::placeholder":
            return dr([qr(t, {
              props: [Ke(i, /:(plac\w+)/, ":" + Ye + "input-$1")]
            }), qr(t, {
              props: [Ke(i, /:(plac\w+)/, ":" + Ni + "$1")]
            }), qr(t, {
              props: [Ke(i, /:(plac\w+)/, Lt + "input-$1")]
            })], a);
        }
        return "";
      });
  }
}, jy = [Fy], gm = function(t) {
  var o = t.key;
  if (o === "css") {
    var r = document.querySelectorAll("style[data-emotion]:not([data-s])");
    Array.prototype.forEach.call(r, function(h) {
      var y = h.getAttribute("data-emotion");
      y.indexOf(" ") !== -1 && (document.head.appendChild(h), h.setAttribute("data-s", ""));
    });
  }
  var a = t.stylisPlugins || jy, i = {}, s, l = [];
  s = 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^="' + o + ' "]'),
    function(h) {
      for (var y = h.getAttribute("data-emotion").split(" "), C = 1; C < y.length; C++)
        i[y[C]] = !0;
      l.push(h);
    }
  );
  var c, u = [Ay, Ly];
  {
    var p, f = [My, Dy(function(h) {
      p.insert(h);
    })], g = $y(u.concat(a, f)), v = function(y) {
      return dr(Ry(y), g);
    };
    c = function(y, C, E, w) {
      p = E, v(y ? y + "{" + C.styles + "}" : C.styles), w && (b.inserted[C.name] = !0);
    };
  }
  var b = {
    key: o,
    sheet: new my({
      key: o,
      container: s,
      nonce: t.nonce,
      speedy: t.speedy,
      prepend: t.prepend,
      insertionPoint: t.insertionPoint
    }),
    nonce: t.nonce,
    inserted: i,
    registered: {},
    insert: c
  };
  return b.sheet.hydrate(l), b;
}, An = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function kn(e) {
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
function Jn(e) {
  if (e.__esModule) return e;
  var t = e.default;
  if (typeof t == "function") {
    var o = function r() {
      return this instanceof r ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);
    };
    o.prototype = t.prototype;
  } else o = {};
  return Object.defineProperty(o, "__esModule", { value: !0 }), Object.keys(e).forEach(function(r) {
    var a = Object.getOwnPropertyDescriptor(e, r);
    Object.defineProperty(o, r, a.get ? a : {
      enumerable: !0,
      get: function() {
        return e[r];
      }
    });
  }), o;
}
var Hl = { exports: {} }, Xe = {};
/** @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 Td;
function Vy() {
  if (Td) return Xe;
  Td = 1;
  var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, o = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, a = e ? Symbol.for("react.strict_mode") : 60108, i = e ? Symbol.for("react.profiler") : 60114, s = e ? Symbol.for("react.provider") : 60109, l = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, u = e ? Symbol.for("react.concurrent_mode") : 60111, p = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, g = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, b = e ? Symbol.for("react.lazy") : 60116, h = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, C = e ? Symbol.for("react.responder") : 60118, E = e ? Symbol.for("react.scope") : 60119;
  function w(O) {
    if (typeof O == "object" && O !== null) {
      var P = O.$$typeof;
      switch (P) {
        case t:
          switch (O = O.type, O) {
            case c:
            case u:
            case r:
            case i:
            case a:
            case f:
              return O;
            default:
              switch (O = O && O.$$typeof, O) {
                case l:
                case p:
                case b:
                case v:
                case s:
                  return O;
                default:
                  return P;
              }
          }
        case o:
          return P;
      }
    }
  }
  function T(O) {
    return w(O) === u;
  }
  return Xe.AsyncMode = c, Xe.ConcurrentMode = u, Xe.ContextConsumer = l, Xe.ContextProvider = s, Xe.Element = t, Xe.ForwardRef = p, Xe.Fragment = r, Xe.Lazy = b, Xe.Memo = v, Xe.Portal = o, Xe.Profiler = i, Xe.StrictMode = a, Xe.Suspense = f, Xe.isAsyncMode = function(O) {
    return T(O) || w(O) === c;
  }, Xe.isConcurrentMode = T, Xe.isContextConsumer = function(O) {
    return w(O) === l;
  }, Xe.isContextProvider = function(O) {
    return w(O) === s;
  }, Xe.isElement = function(O) {
    return typeof O == "object" && O !== null && O.$$typeof === t;
  }, Xe.isForwardRef = function(O) {
    return w(O) === p;
  }, Xe.isFragment = function(O) {
    return w(O) === r;
  }, Xe.isLazy = function(O) {
    return w(O) === b;
  }, Xe.isMemo = function(O) {
    return w(O) === v;
  }, Xe.isPortal = function(O) {
    return w(O) === o;
  }, Xe.isProfiler = function(O) {
    return w(O) === i;
  }, Xe.isStrictMode = function(O) {
    return w(O) === a;
  }, Xe.isSuspense = function(O) {
    return w(O) === f;
  }, Xe.isValidElementType = function(O) {
    return typeof O == "string" || typeof O == "function" || O === r || O === u || O === i || O === a || O === f || O === g || typeof O == "object" && O !== null && (O.$$typeof === b || O.$$typeof === v || O.$$typeof === s || O.$$typeof === l || O.$$typeof === p || O.$$typeof === y || O.$$typeof === C || O.$$typeof === E || O.$$typeof === h);
  }, Xe.typeOf = w, Xe;
}
var Ze = {};
/** @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 wd;
function zy() {
  return wd || (wd = 1, process.env.NODE_ENV !== "production" && function() {
    var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, o = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, a = e ? Symbol.for("react.strict_mode") : 60108, i = e ? Symbol.for("react.profiler") : 60114, s = e ? Symbol.for("react.provider") : 60109, l = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, u = e ? Symbol.for("react.concurrent_mode") : 60111, p = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, g = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, b = e ? Symbol.for("react.lazy") : 60116, h = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, C = e ? Symbol.for("react.responder") : 60118, E = e ? Symbol.for("react.scope") : 60119;
    function w(z) {
      return typeof z == "string" || typeof z == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
      z === r || z === u || z === i || z === a || z === f || z === g || typeof z == "object" && z !== null && (z.$$typeof === b || z.$$typeof === v || z.$$typeof === s || z.$$typeof === l || z.$$typeof === p || z.$$typeof === y || z.$$typeof === C || z.$$typeof === E || z.$$typeof === h);
    }
    function T(z) {
      if (typeof z == "object" && z !== null) {
        var q = z.$$typeof;
        switch (q) {
          case t:
            var te = z.type;
            switch (te) {
              case c:
              case u:
              case r:
              case i:
              case a:
              case f:
                return te;
              default:
                var ie = te && te.$$typeof;
                switch (ie) {
                  case l:
                  case p:
                  case b:
                  case v:
                  case s:
                    return ie;
                  default:
                    return q;
                }
            }
          case o:
            return q;
        }
      }
    }
    var O = c, P = u, S = l, $ = s, A = t, N = p, D = r, V = b, L = v, I = o, R = i, k = a, F = f, M = !1;
    function B(z) {
      return M || (M = !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.")), j(z) || T(z) === c;
    }
    function j(z) {
      return T(z) === u;
    }
    function W(z) {
      return T(z) === l;
    }
    function re(z) {
      return T(z) === s;
    }
    function J(z) {
      return typeof z == "object" && z !== null && z.$$typeof === t;
    }
    function Q(z) {
      return T(z) === p;
    }
    function X(z) {
      return T(z) === r;
    }
    function Y(z) {
      return T(z) === b;
    }
    function Z(z) {
      return T(z) === v;
    }
    function H(z) {
      return T(z) === o;
    }
    function K(z) {
      return T(z) === i;
    }
    function ne(z) {
      return T(z) === a;
    }
    function ae(z) {
      return T(z) === f;
    }
    Ze.AsyncMode = O, Ze.ConcurrentMode = P, Ze.ContextConsumer = S, Ze.ContextProvider = $, Ze.Element = A, Ze.ForwardRef = N, Ze.Fragment = D, Ze.Lazy = V, Ze.Memo = L, Ze.Portal = I, Ze.Profiler = R, Ze.StrictMode = k, Ze.Suspense = F, Ze.isAsyncMode = B, Ze.isConcurrentMode = j, Ze.isContextConsumer = W, Ze.isContextProvider = re, Ze.isElement = J, Ze.isForwardRef = Q, Ze.isFragment = X, Ze.isLazy = Y, Ze.isMemo = Z, Ze.isPortal = H, Ze.isProfiler = K, Ze.isStrictMode = ne, Ze.isSuspense = ae, Ze.isValidElementType = w, Ze.typeOf = T;
  }()), Ze;
}
process.env.NODE_ENV === "production" ? Hl.exports = Vy() : Hl.exports = zy();
var By = Hl.exports, bm = By, Wy = {
  $$typeof: !0,
  render: !0,
  defaultProps: !0,
  displayName: !0,
  propTypes: !0
}, Uy = {
  $$typeof: !0,
  compare: !0,
  defaultProps: !0,
  displayName: !0,
  propTypes: !0,
  type: !0
}, ym = {};
ym[bm.ForwardRef] = Wy;
ym[bm.Memo] = Uy;
var Hy = !0;
function vm(e, t, o) {
  var r = "";
  return o.split(" ").forEach(function(a) {
    e[a] !== void 0 ? t.push(e[a] + ";") : a && (r += a + " ");
  }), r;
}
var wc = function(t, o, r) {
  var a = t.key + "-" + o.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
  (r === !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
  Hy === !1) && t.registered[a] === void 0 && (t.registered[a] = o.styles);
}, Oc = function(t, o, r) {
  wc(t, o, r);
  var a = t.key + "-" + o.name;
  if (t.inserted[o.name] === void 0) {
    var i = o;
    do
      t.insert(o === i ? "." + a : "", i, t.sheet, !0), i = i.next;
    while (i !== void 0);
  }
};
function qy(e) {
  for (var t = 0, o, r = 0, a = e.length; a >= 4; ++r, a -= 4)
    o = e.charCodeAt(r) & 255 | (e.charCodeAt(++r) & 255) << 8 | (e.charCodeAt(++r) & 255) << 16 | (e.charCodeAt(++r) & 255) << 24, o = /* Math.imul(k, m): */
    (o & 65535) * 1540483477 + ((o >>> 16) * 59797 << 16), o ^= /* k >>> r: */
    o >>> 24, t = /* Math.imul(k, m): */
    (o & 65535) * 1540483477 + ((o >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */
    (t & 65535) * 1540483477 + ((t >>> 16) * 59797 << 16);
  switch (a) {
    case 3:
      t ^= (e.charCodeAt(r + 2) & 255) << 16;
    case 2:
      t ^= (e.charCodeAt(r + 1) & 255) << 8;
    case 1:
      t ^= e.charCodeAt(r) & 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 Yy = {
  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
}, Ky = /[A-Z]|^ms/g, Gy = /_EMO_([^_]+?)_([^]*?)_EMO_/g, xm = function(t) {
  return t.charCodeAt(1) === 45;
}, Od = function(t) {
  return t != null && typeof t != "boolean";
}, pl = /* @__PURE__ */ mm(function(e) {
  return xm(e) ? e : e.replace(Ky, "-$&").toLowerCase();
}), Ed = function(t, o) {
  switch (t) {
    case "animation":
    case "animationName":
      if (typeof o == "string")
        return o.replace(Gy, function(r, a, i) {
          return Nn = {
            name: a,
            styles: i,
            next: Nn
          }, a;
        });
  }
  return Yy[t] !== 1 && !xm(t) && typeof o == "number" && o !== 0 ? o + "px" : o;
};
function ya(e, t, o) {
  if (o == null)
    return "";
  var r = o;
  if (r.__emotion_styles !== void 0)
    return r;
  switch (typeof o) {
    case "boolean":
      return "";
    case "object": {
      var a = o;
      if (a.anim === 1)
        return Nn = {
          name: a.name,
          styles: a.styles,
          next: Nn
        }, a.name;
      var i = o;
      if (i.styles !== void 0) {
        var s = i.next;
        if (s !== void 0)
          for (; s !== void 0; )
            Nn = {
              name: s.name,
              styles: s.styles,
              next: Nn
            }, s = s.next;
        var l = i.styles + ";";
        return l;
      }
      return Xy(e, t, o);
    }
    case "function": {
      if (e !== void 0) {
        var c = Nn, u = o(e);
        return Nn = c, ya(e, t, u);
      }
      break;
    }
  }
  var p = o;
  if (t == null)
    return p;
  var f = t[p];
  return f !== void 0 ? f : p;
}
function Xy(e, t, o) {
  var r = "";
  if (Array.isArray(o))
    for (var a = 0; a < o.length; a++)
      r += ya(e, t, o[a]) + ";";
  else
    for (var i in o) {
      var s = o[i];
      if (typeof s != "object") {
        var l = s;
        t != null && t[l] !== void 0 ? r += i + "{" + t[l] + "}" : Od(l) && (r += pl(i) + ":" + Ed(i, l) + ";");
      } else if (Array.isArray(s) && typeof s[0] == "string" && (t == null || t[s[0]] === void 0))
        for (var c = 0; c < s.length; c++)
          Od(s[c]) && (r += pl(i) + ":" + Ed(i, s[c]) + ";");
      else {
        var u = ya(e, t, s);
        switch (i) {
          case "animation":
          case "animationName": {
            r += pl(i) + ":" + u + ";";
            break;
          }
          default:
            r += i + "{" + u + "}";
        }
      }
    }
  return r;
}
var Sd = /label:\s*([^\s;{]+)\s*(;|$)/g, Nn;
function Pa(e, t, o) {
  if (e.length === 1 && typeof e[0] == "object" && e[0] !== null && e[0].styles !== void 0)
    return e[0];
  var r = !0, a = "";
  Nn = void 0;
  var i = e[0];
  if (i == null || i.raw === void 0)
    r = !1, a += ya(o, t, i);
  else {
    var s = i;
    a += s[0];
  }
  for (var l = 1; l < e.length; l++)
    if (a += ya(o, t, e[l]), r) {
      var c = i;
      a += c[l];
    }
  Sd.lastIndex = 0;
  for (var u = "", p; (p = Sd.exec(a)) !== null; )
    u += "-" + p[1];
  var f = qy(a) + u;
  return {
    name: f,
    styles: a,
    next: Nn
  };
}
var Zy = function(t) {
  return t();
}, Cm = d.useInsertionEffect ? d.useInsertionEffect : !1, Tm = Cm || Zy, Pd = Cm || d.useLayoutEffect, wm = /* @__PURE__ */ d.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__ */ gm({
    key: "css"
  }) : null
), Qy = wm.Provider, Ec = function(t) {
  return /* @__PURE__ */ sm(function(o, r) {
    var a = yc(wm);
    return t(o, a, r);
  });
}, Ir = /* @__PURE__ */ d.createContext({}), Sc = {}.hasOwnProperty, ql = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__", Jy = function(t, o) {
  var r = {};
  for (var a in o)
    Sc.call(o, a) && (r[a] = o[a]);
  return r[ql] = t, r;
}, e0 = function(t) {
  var o = t.cache, r = t.serialized, a = t.isStringTag;
  return wc(o, r, a), Tm(function() {
    return Oc(o, r, a);
  }), null;
}, t0 = /* @__PURE__ */ Ec(function(e, t, o) {
  var r = e.css;
  typeof r == "string" && t.registered[r] !== void 0 && (r = t.registered[r]);
  var a = e[ql], i = [r], s = "";
  typeof e.className == "string" ? s = vm(t.registered, i, e.className) : e.className != null && (s = e.className + " ");
  var l = Pa(i, void 0, d.useContext(Ir));
  s += t.key + "-" + l.name;
  var c = {};
  for (var u in e)
    Sc.call(e, u) && u !== "css" && u !== ql && (c[u] = e[u]);
  return c.className = s, o && (c.ref = o), /* @__PURE__ */ d.createElement(d.Fragment, null, /* @__PURE__ */ d.createElement(e0, {
    cache: t,
    serialized: l,
    isStringTag: typeof a == "string"
  }), /* @__PURE__ */ d.createElement(a, c));
}), n0 = t0, fl = { exports: {} }, Rd;
function Om() {
  return Rd || (Rd = 1, function(e) {
    function t() {
      return e.exports = t = Object.assign ? Object.assign.bind() : function(o) {
        for (var r = 1; r < arguments.length; r++) {
          var a = arguments[r];
          for (var i in a) ({}).hasOwnProperty.call(a, i) && (o[i] = a[i]);
        }
        return o;
      }, e.exports.__esModule = !0, e.exports.default = e.exports, t.apply(null, arguments);
    }
    e.exports = t, e.exports.__esModule = !0, e.exports.default = e.exports;
  }(fl)), fl.exports;
}
Om();
var kd = function(t, o) {
  var r = arguments;
  if (o == null || !Sc.call(o, "css"))
    return d.createElement.apply(void 0, r);
  var a = r.length, i = new Array(a);
  i[0] = n0, i[1] = Jy(t, o);
  for (var s = 2; s < a; s++)
    i[s] = r[s];
  return d.createElement.apply(null, i);
};
(function(e) {
  var t;
  t || (t = e.JSX || (e.JSX = {}));
})(kd || (kd = {}));
var o0 = /* @__PURE__ */ Ec(function(e, t) {
  var o = e.styles, r = Pa([o], void 0, d.useContext(Ir)), a = d.useRef();
  return Pd(function() {
    var i = t.key + "-global", s = new t.sheet.constructor({
      key: i,
      nonce: t.sheet.nonce,
      container: t.sheet.container,
      speedy: t.sheet.isSpeedy
    }), l = !1, c = document.querySelector('style[data-emotion="' + i + " " + r.name + '"]');
    return t.sheet.tags.length && (s.before = t.sheet.tags[0]), c !== null && (l = !0, c.setAttribute("data-emotion", i), s.hydrate([c])), a.current = [s, l], function() {
      s.flush();
    };
  }, [t]), Pd(function() {
    var i = a.current, s = i[0], l = i[1];
    if (l) {
      i[1] = !1;
      return;
    }
    if (r.next !== void 0 && Oc(t, r.next, !0), s.tags.length) {
      var c = s.tags[s.tags.length - 1].nextElementSibling;
      s.before = c, s.flush();
    }
    t.insert("", r, s, !1);
  }, [t, r.name]), null;
});
function qo() {
  for (var e = arguments.length, t = new Array(e), o = 0; o < e; o++)
    t[o] = arguments[o];
  return Pa(t);
}
function eo() {
  var e = qo.apply(void 0, arguments), t = "animation-" + e.name;
  return {
    name: t,
    styles: "@keyframes " + t + "{" + e.styles + "}",
    anim: 1,
    toString: function() {
      return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
    }
  };
}
var r0 = /^((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|popover|popoverTarget|popoverTargetAction|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)-.*))$/, a0 = /* @__PURE__ */ mm(
  function(e) {
    return r0.test(e) || e.charCodeAt(0) === 111 && e.charCodeAt(1) === 110 && e.charCodeAt(2) < 91;
  }
  /* Z+1 */
), i0 = a0, s0 = function(t) {
  return t !== "theme";
}, Md = 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 ? i0 : s0;
}, $d = function(t, o, r) {
  var a;
  if (o) {
    var i = o.shouldForwardProp;
    a = t.__emotion_forwardProp && i ? function(s) {
      return t.__emotion_forwardProp(s) && i(s);
    } : i;
  }
  return typeof a != "function" && r && (a = t.__emotion_forwardProp), a;
}, l0 = function(t) {
  var o = t.cache, r = t.serialized, a = t.isStringTag;
  return wc(o, r, a), Tm(function() {
    return Oc(o, r, a);
  }), null;
}, c0 = function e(t, o) {
  var r = t.__emotion_real === t, a = r && t.__emotion_base || t, i, s;
  o !== void 0 && (i = o.label, s = o.target);
  var l = $d(t, o, r), c = l || Md(a), u = !c("as");
  return function() {
    var p = arguments, f = r && t.__emotion_styles !== void 0 ? t.__emotion_styles.slice(0) : [];
    if (i !== void 0 && f.push("label:" + i + ";"), p[0] == null || p[0].raw === void 0)
      f.push.apply(f, p);
    else {
      var g = p[0];
      f.push(g[0]);
      for (var v = p.length, b = 1; b < v; b++)
        f.push(p[b], g[b]);
    }
    var h = Ec(function(y, C, E) {
      var w = u && y.as || a, T = "", O = [], P = y;
      if (y.theme == null) {
        P = {};
        for (var S in y)
          P[S] = y[S];
        P.theme = d.useContext(Ir);
      }
      typeof y.className == "string" ? T = vm(C.registered, O, y.className) : y.className != null && (T = y.className + " ");
      var $ = Pa(f.concat(O), C.registered, P);
      T += C.key + "-" + $.name, s !== void 0 && (T += " " + s);
      var A = u && l === void 0 ? Md(w) : c, N = {};
      for (var D in y)
        u && D === "as" || A(D) && (N[D] = y[D]);
      return N.className = T, E && (N.ref = E), /* @__PURE__ */ d.createElement(d.Fragment, null, /* @__PURE__ */ d.createElement(l0, {
        cache: C,
        serialized: $,
        isStringTag: typeof w == "string"
      }), /* @__PURE__ */ d.createElement(w, N));
    });
    return h.displayName = i !== void 0 ? i : "Styled(" + (typeof a == "string" ? a : a.displayName || a.name || "Component") + ")", h.defaultProps = t.defaultProps, h.__emotion_real = h, h.__emotion_base = a, h.__emotion_styles = f, h.__emotion_forwardProp = l, Object.defineProperty(h, "toString", {
      value: function() {
        return "." + s;
      }
    }), h.withComponent = function(y, C) {
      var E = e(y, m({}, o, C, {
        shouldForwardProp: $d(h, C, !0)
      }));
      return E.apply(void 0, f);
    }, h;
  };
}, u0 = [
  "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"
], Yl = c0.bind(null);
u0.forEach(function(e) {
  Yl[e] = Yl(e);
});
var Kl = { exports: {} }, ni = { exports: {} }, Qe = {};
/** @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 Dd;
function d0() {
  if (Dd) return Qe;
  Dd = 1;
  var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, o = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, a = e ? Symbol.for("react.strict_mode") : 60108, i = e ? Symbol.for("react.profiler") : 60114, s = e ? Symbol.for("react.provider") : 60109, l = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, u = e ? Symbol.for("react.concurrent_mode") : 60111, p = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, g = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, b = e ? Symbol.for("react.lazy") : 60116, h = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, C = e ? Symbol.for("react.responder") : 60118, E = e ? Symbol.for("react.scope") : 60119;
  function w(O) {
    if (typeof O == "object" && O !== null) {
      var P = O.$$typeof;
      switch (P) {
        case t:
          switch (O = O.type, O) {
            case c:
            case u:
            case r:
            case i:
            case a:
            case f:
              return O;
            default:
              switch (O = O && O.$$typeof, O) {
                case l:
                case p:
                case b:
                case v:
                case s:
                  return O;
                default:
                  return P;
              }
          }
        case o:
          return P;
      }
    }
  }
  function T(O) {
    return w(O) === u;
  }
  return Qe.AsyncMode = c, Qe.ConcurrentMode = u, Qe.ContextConsumer = l, Qe.ContextProvider = s, Qe.Element = t, Qe.ForwardRef = p, Qe.Fragment = r, Qe.Lazy = b, Qe.Memo = v, Qe.Portal = o, Qe.Profiler = i, Qe.StrictMode = a, Qe.Suspense = f, Qe.isAsyncMode = function(O) {
    return T(O) || w(O) === c;
  }, Qe.isConcurrentMode = T, Qe.isContextConsumer = function(O) {
    return w(O) === l;
  }, Qe.isContextProvider = function(O) {
    return w(O) === s;
  }, Qe.isElement = function(O) {
    return typeof O == "object" && O !== null && O.$$typeof === t;
  }, Qe.isForwardRef = function(O) {
    return w(O) === p;
  }, Qe.isFragment = function(O) {
    return w(O) === r;
  }, Qe.isLazy = function(O) {
    return w(O) === b;
  }, Qe.isMemo = function(O) {
    return w(O) === v;
  }, Qe.isPortal = function(O) {
    return w(O) === o;
  }, Qe.isProfiler = function(O) {
    return w(O) === i;
  }, Qe.isStrictMode = function(O) {
    return w(O) === a;
  }, Qe.isSuspense = function(O) {
    return w(O) === f;
  }, Qe.isValidElementType = function(O) {
    return typeof O == "string" || typeof O == "function" || O === r || O === u || O === i || O === a || O === f || O === g || typeof O == "object" && O !== null && (O.$$typeof === b || O.$$typeof === v || O.$$typeof === s || O.$$typeof === l || O.$$typeof === p || O.$$typeof === y || O.$$typeof === C || O.$$typeof === E || O.$$typeof === h);
  }, Qe.typeOf = w, Qe;
}
var Je = {};
/** @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 Id;
function p0() {
  return Id || (Id = 1, process.env.NODE_ENV !== "production" && function() {
    var e = typeof Symbol == "function" && Symbol.for, t = e ? Symbol.for("react.element") : 60103, o = e ? Symbol.for("react.portal") : 60106, r = e ? Symbol.for("react.fragment") : 60107, a = e ? Symbol.for("react.strict_mode") : 60108, i = e ? Symbol.for("react.profiler") : 60114, s = e ? Symbol.for("react.provider") : 60109, l = e ? Symbol.for("react.context") : 60110, c = e ? Symbol.for("react.async_mode") : 60111, u = e ? Symbol.for("react.concurrent_mode") : 60111, p = e ? Symbol.for("react.forward_ref") : 60112, f = e ? Symbol.for("react.suspense") : 60113, g = e ? Symbol.for("react.suspense_list") : 60120, v = e ? Symbol.for("react.memo") : 60115, b = e ? Symbol.for("react.lazy") : 60116, h = e ? Symbol.for("react.block") : 60121, y = e ? Symbol.for("react.fundamental") : 60117, C = e ? Symbol.for("react.responder") : 60118, E = e ? Symbol.for("react.scope") : 60119;
    function w(z) {
      return typeof z == "string" || typeof z == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
      z === r || z === u || z === i || z === a || z === f || z === g || typeof z == "object" && z !== null && (z.$$typeof === b || z.$$typeof === v || z.$$typeof === s || z.$$typeof === l || z.$$typeof === p || z.$$typeof === y || z.$$typeof === C || z.$$typeof === E || z.$$typeof === h);
    }
    function T(z) {
      if (typeof z == "object" && z !== null) {
        var q = z.$$typeof;
        switch (q) {
          case t:
            var te = z.type;
            switch (te) {
              case c:
              case u:
              case r:
              case i:
              case a:
              case f:
                return te;
              default:
                var ie = te && te.$$typeof;
                switch (ie) {
                  case l:
                  case p:
                  case b:
                  case v:
                  case s:
                    return ie;
                  default:
                    return q;
                }
            }
          case o:
            return q;
        }
      }
    }
    var O = c, P = u, S = l, $ = s, A = t, N = p, D = r, V = b, L = v, I = o, R = i, k = a, F = f, M = !1;
    function B(z) {
      return M || (M = !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.")), j(z) || T(z) === c;
    }
    function j(z) {
      return T(z) === u;
    }
    function W(z) {
      return T(z) === l;
    }
    function re(z) {
      return T(z) === s;
    }
    function J(z) {
      return typeof z == "object" && z !== null && z.$$typeof === t;
    }
    function Q(z) {
      return T(z) === p;
    }
    function X(z) {
      return T(z) === r;
    }
    function Y(z) {
      return T(z) === b;
    }
    function Z(z) {
      return T(z) === v;
    }
    function H(z) {
      return T(z) === o;
    }
    function K(z) {
      return T(z) === i;
    }
    function ne(z) {
      return T(z) === a;
    }
    function ae(z) {
      return T(z) === f;
    }
    Je.AsyncMode = O, Je.ConcurrentMode = P, Je.ContextConsumer = S, Je.ContextProvider = $, Je.Element = A, Je.ForwardRef = N, Je.Fragment = D, Je.Lazy = V, Je.Memo = L, Je.Portal = I, Je.Profiler = R, Je.StrictMode = k, Je.Suspense = F, Je.isAsyncMode = B, Je.isConcurrentMode = j, Je.isContextConsumer = W, Je.isContextProvider = re, Je.isElement = J, Je.isForwardRef = Q, Je.isFragment = X, Je.isLazy = Y, Je.isMemo = Z, Je.isPortal = H, Je.isProfiler = K, Je.isStrictMode = ne, Je.isSuspense = ae, Je.isValidElementType = w, Je.typeOf = T;
  }()), Je;
}
var Nd;
function Em() {
  return Nd || (Nd = 1, process.env.NODE_ENV === "production" ? ni.exports = d0() : ni.exports = p0()), ni.exports;
}
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
var ml, _d;
function f0() {
  if (_d) return ml;
  _d = 1;
  var e = Object.getOwnPropertySymbols, t = Object.prototype.hasOwnProperty, o = Object.prototype.propertyIsEnumerable;
  function r(i) {
    if (i == null)
      throw new TypeError("Object.assign cannot be called with null or undefined");
    return Object(i);
  }
  function a() {
    try {
      if (!Object.assign)
        return !1;
      var i = new String("abc");
      if (i[5] = "de", Object.getOwnPropertyNames(i)[0] === "5")
        return !1;
      for (var s = {}, l = 0; l < 10; l++)
        s["_" + String.fromCharCode(l)] = l;
      var c = Object.getOwnPropertyNames(s).map(function(p) {
        return s[p];
      });
      if (c.join("") !== "0123456789")
        return !1;
      var u = {};
      return "abcdefghijklmnopqrst".split("").forEach(function(p) {
        u[p] = p;
      }), Object.keys(Object.assign({}, u)).join("") === "abcdefghijklmnopqrst";
    } catch {
      return !1;
    }
  }
  return ml = a() ? Object.assign : function(i, s) {
    for (var l, c = r(i), u, p = 1; p < arguments.length; p++) {
      l = Object(arguments[p]);
      for (var f in l)
        t.call(l, f) && (c[f] = l[f]);
      if (e) {
        u = e(l);
        for (var g = 0; g < u.length; g++)
          o.call(l, u[g]) && (c[u[g]] = l[u[g]]);
      }
    }
    return c;
  }, ml;
}
var hl, Ad;
function Pc() {
  if (Ad) return hl;
  Ad = 1;
  var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
  return hl = e, hl;
}
var gl, Ld;
function Sm() {
  return Ld || (Ld = 1, gl = Function.call.bind(Object.prototype.hasOwnProperty)), gl;
}
var bl, Fd;
function m0() {
  if (Fd) return bl;
  Fd = 1;
  var e = function() {
  };
  if (process.env.NODE_ENV !== "production") {
    var t = Pc(), o = {}, r = Sm();
    e = function(i) {
      var s = "Warning: " + i;
      typeof console < "u" && console.error(s);
      try {
        throw new Error(s);
      } catch {
      }
    };
  }
  function a(i, s, l, c, u) {
    if (process.env.NODE_ENV !== "production") {
      for (var p in i)
        if (r(i, p)) {
          var f;
          try {
            if (typeof i[p] != "function") {
              var g = Error(
                (c || "React class") + ": " + l + " type `" + p + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof i[p] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
              );
              throw g.name = "Invariant Violation", g;
            }
            f = i[p](s, p, c, l, null, t);
          } catch (b) {
            f = b;
          }
          if (f && !(f instanceof Error) && e(
            (c || "React class") + ": type specification of " + l + " `" + p + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof f + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
          ), f instanceof Error && !(f.message in o)) {
            o[f.message] = !0;
            var v = u ? u() : "";
            e(
              "Failed " + l + " type: " + f.message + (v ?? "")
            );
          }
        }
    }
  }
  return a.resetWarningCache = function() {
    process.env.NODE_ENV !== "production" && (o = {});
  }, bl = a, bl;
}
var yl, jd;
function h0() {
  if (jd) return yl;
  jd = 1;
  var e = Em(), t = f0(), o = Pc(), r = Sm(), a = m0(), i = function() {
  };
  process.env.NODE_ENV !== "production" && (i = function(l) {
    var c = "Warning: " + l;
    typeof console < "u" && console.error(c);
    try {
      throw new Error(c);
    } catch {
    }
  });
  function s() {
    return null;
  }
  return yl = function(l, c) {
    var u = typeof Symbol == "function" && Symbol.iterator, p = "@@iterator";
    function f(j) {
      var W = j && (u && j[u] || j[p]);
      if (typeof W == "function")
        return W;
    }
    var g = "<<anonymous>>", v = {
      array: C("array"),
      bigint: C("bigint"),
      bool: C("boolean"),
      func: C("function"),
      number: C("number"),
      object: C("object"),
      string: C("string"),
      symbol: C("symbol"),
      any: E(),
      arrayOf: w,
      element: T(),
      elementType: O(),
      instanceOf: P,
      node: N(),
      objectOf: $,
      oneOf: S,
      oneOfType: A,
      shape: V,
      exact: L
    };
    function b(j, W) {
      return j === W ? j !== 0 || 1 / j === 1 / W : j !== j && W !== W;
    }
    function h(j, W) {
      this.message = j, this.data = W && typeof W == "object" ? W : {}, this.stack = "";
    }
    h.prototype = Error.prototype;
    function y(j) {
      if (process.env.NODE_ENV !== "production")
        var W = {}, re = 0;
      function J(X, Y, Z, H, K, ne, ae) {
        if (H = H || g, ne = ne || Z, ae !== o) {
          if (c) {
            var z = 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 z.name = "Invariant Violation", z;
          } else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
            var q = H + ":" + Z;
            !W[q] && // Avoid spamming the console because they are often not actionable except for lib authors
            re < 3 && (i(
              "You are manually calling a React.PropTypes validation function for the `" + ne + "` prop on `" + H + "`. 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[q] = !0, re++);
          }
        }
        return Y[Z] == null ? X ? Y[Z] === null ? new h("The " + K + " `" + ne + "` is marked as required " + ("in `" + H + "`, but its value is `null`.")) : new h("The " + K + " `" + ne + "` is marked as required in " + ("`" + H + "`, but its value is `undefined`.")) : null : j(Y, Z, H, K, ne);
      }
      var Q = J.bind(null, !1);
      return Q.isRequired = J.bind(null, !0), Q;
    }
    function C(j) {
      function W(re, J, Q, X, Y, Z) {
        var H = re[J], K = k(H);
        if (K !== j) {
          var ne = F(H);
          return new h(
            "Invalid " + X + " `" + Y + "` of type " + ("`" + ne + "` supplied to `" + Q + "`, expected ") + ("`" + j + "`."),
            { expectedType: j }
          );
        }
        return null;
      }
      return y(W);
    }
    function E() {
      return y(s);
    }
    function w(j) {
      function W(re, J, Q, X, Y) {
        if (typeof j != "function")
          return new h("Property `" + Y + "` of component `" + Q + "` has invalid PropType notation inside arrayOf.");
        var Z = re[J];
        if (!Array.isArray(Z)) {
          var H = k(Z);
          return new h("Invalid " + X + " `" + Y + "` of type " + ("`" + H + "` supplied to `" + Q + "`, expected an array."));
        }
        for (var K = 0; K < Z.length; K++) {
          var ne = j(Z, K, Q, X, Y + "[" + K + "]", o);
          if (ne instanceof Error)
            return ne;
        }
        return null;
      }
      return y(W);
    }
    function T() {
      function j(W, re, J, Q, X) {
        var Y = W[re];
        if (!l(Y)) {
          var Z = k(Y);
          return new h("Invalid " + Q + " `" + X + "` of type " + ("`" + Z + "` supplied to `" + J + "`, expected a single ReactElement."));
        }
        return null;
      }
      return y(j);
    }
    function O() {
      function j(W, re, J, Q, X) {
        var Y = W[re];
        if (!e.isValidElementType(Y)) {
          var Z = k(Y);
          return new h("Invalid " + Q + " `" + X + "` of type " + ("`" + Z + "` supplied to `" + J + "`, expected a single ReactElement type."));
        }
        return null;
      }
      return y(j);
    }
    function P(j) {
      function W(re, J, Q, X, Y) {
        if (!(re[J] instanceof j)) {
          var Z = j.name || g, H = B(re[J]);
          return new h("Invalid " + X + " `" + Y + "` of type " + ("`" + H + "` supplied to `" + Q + "`, expected ") + ("instance of `" + Z + "`."));
        }
        return null;
      }
      return y(W);
    }
    function S(j) {
      if (!Array.isArray(j))
        return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? i(
          "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])."
        ) : i("Invalid argument supplied to oneOf, expected an array.")), s;
      function W(re, J, Q, X, Y) {
        for (var Z = re[J], H = 0; H < j.length; H++)
          if (b(Z, j[H]))
            return null;
        var K = JSON.stringify(j, function(ae, z) {
          var q = F(z);
          return q === "symbol" ? String(z) : z;
        });
        return new h("Invalid " + X + " `" + Y + "` of value `" + String(Z) + "` " + ("supplied to `" + Q + "`, expected one of " + K + "."));
      }
      return y(W);
    }
    function $(j) {
      function W(re, J, Q, X, Y) {
        if (typeof j != "function")
          return new h("Property `" + Y + "` of component `" + Q + "` has invalid PropType notation inside objectOf.");
        var Z = re[J], H = k(Z);
        if (H !== "object")
          return new h("Invalid " + X + " `" + Y + "` of type " + ("`" + H + "` supplied to `" + Q + "`, expected an object."));
        for (var K in Z)
          if (r(Z, K)) {
            var ne = j(Z, K, Q, X, Y + "." + K, o);
            if (ne instanceof Error)
              return ne;
          }
        return null;
      }
      return y(W);
    }
    function A(j) {
      if (!Array.isArray(j))
        return process.env.NODE_ENV !== "production" && i("Invalid argument supplied to oneOfType, expected an instance of array."), s;
      for (var W = 0; W < j.length; W++) {
        var re = j[W];
        if (typeof re != "function")
          return i(
            "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + M(re) + " at index " + W + "."
          ), s;
      }
      function J(Q, X, Y, Z, H) {
        for (var K = [], ne = 0; ne < j.length; ne++) {
          var ae = j[ne], z = ae(Q, X, Y, Z, H, o);
          if (z == null)
            return null;
          z.data && r(z.data, "expectedType") && K.push(z.data.expectedType);
        }
        var q = K.length > 0 ? ", expected one of type [" + K.join(", ") + "]" : "";
        return new h("Invalid " + Z + " `" + H + "` supplied to " + ("`" + Y + "`" + q + "."));
      }
      return y(J);
    }
    function N() {
      function j(W, re, J, Q, X) {
        return I(W[re]) ? null : new h("Invalid " + Q + " `" + X + "` supplied to " + ("`" + J + "`, expected a ReactNode."));
      }
      return y(j);
    }
    function D(j, W, re, J, Q) {
      return new h(
        (j || "React class") + ": " + W + " type `" + re + "." + J + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + Q + "`."
      );
    }
    function V(j) {
      function W(re, J, Q, X, Y) {
        var Z = re[J], H = k(Z);
        if (H !== "object")
          return new h("Invalid " + X + " `" + Y + "` of type `" + H + "` " + ("supplied to `" + Q + "`, expected `object`."));
        for (var K in j) {
          var ne = j[K];
          if (typeof ne != "function")
            return D(Q, X, Y, K, F(ne));
          var ae = ne(Z, K, Q, X, Y + "." + K, o);
          if (ae)
            return ae;
        }
        return null;
      }
      return y(W);
    }
    function L(j) {
      function W(re, J, Q, X, Y) {
        var Z = re[J], H = k(Z);
        if (H !== "object")
          return new h("Invalid " + X + " `" + Y + "` of type `" + H + "` " + ("supplied to `" + Q + "`, expected `object`."));
        var K = t({}, re[J], j);
        for (var ne in K) {
          var ae = j[ne];
          if (r(j, ne) && typeof ae != "function")
            return D(Q, X, Y, ne, F(ae));
          if (!ae)
            return new h(
              "Invalid " + X + " `" + Y + "` key `" + ne + "` supplied to `" + Q + "`.\nBad object: " + JSON.stringify(re[J], null, "  ") + `
Valid keys: ` + JSON.stringify(Object.keys(j), null, "  ")
            );
          var z = ae(Z, ne, Q, X, Y + "." + ne, o);
          if (z)
            return z;
        }
        return null;
      }
      return y(W);
    }
    function I(j) {
      switch (typeof j) {
        case "number":
        case "string":
        case "undefined":
          return !0;
        case "boolean":
          return !j;
        case "object":
          if (Array.isArray(j))
            return j.every(I);
          if (j === null || l(j))
            return !0;
          var W = f(j);
          if (W) {
            var re = W.call(j), J;
            if (W !== j.entries) {
              for (; !(J = re.next()).done; )
                if (!I(J.value))
                  return !1;
            } else
              for (; !(J = re.next()).done; ) {
                var Q = J.value;
                if (Q && !I(Q[1]))
                  return !1;
              }
          } else
            return !1;
          return !0;
        default:
          return !1;
      }
    }
    function R(j, W) {
      return j === "symbol" ? !0 : W ? W["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && W instanceof Symbol : !1;
    }
    function k(j) {
      var W = typeof j;
      return Array.isArray(j) ? "array" : j instanceof RegExp ? "object" : R(W, j) ? "symbol" : W;
    }
    function F(j) {
      if (typeof j > "u" || j === null)
        return "" + j;
      var W = k(j);
      if (W === "object") {
        if (j instanceof Date)
          return "date";
        if (j instanceof RegExp)
          return "regexp";
      }
      return W;
    }
    function M(j) {
      var W = F(j);
      switch (W) {
        case "array":
        case "object":
          return "an " + W;
        case "boolean":
        case "date":
        case "regexp":
          return "a " + W;
        default:
          return W;
      }
    }
    function B(j) {
      return !j.constructor || !j.constructor.name ? g : j.constructor.name;
    }
    return v.checkPropTypes = a, v.resetWarningCache = a.resetWarningCache, v.PropTypes = v, v;
  }, yl;
}
var vl, Vd;
function g0() {
  if (Vd) return vl;
  Vd = 1;
  var e = Pc();
  function t() {
  }
  function o() {
  }
  return o.resetWarningCache = t, vl = function() {
    function r(s, l, c, u, p, f) {
      if (f !== e) {
        var g = 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 g.name = "Invariant Violation", g;
      }
    }
    r.isRequired = r;
    function a() {
      return r;
    }
    var i = {
      array: r,
      bigint: r,
      bool: r,
      func: r,
      number: r,
      object: r,
      string: r,
      symbol: r,
      any: r,
      arrayOf: a,
      element: r,
      elementType: r,
      instanceOf: a,
      node: r,
      objectOf: a,
      oneOf: a,
      oneOfType: a,
      shape: a,
      exact: a,
      checkPropTypes: o,
      resetWarningCache: t
    };
    return i.PropTypes = i, i;
  }, vl;
}
if (process.env.NODE_ENV !== "production") {
  var b0 = Em(), y0 = !0;
  Kl.exports = h0()(b0.isElement, y0);
} else
  Kl.exports = g0()();
var v0 = Kl.exports;
const n = /* @__PURE__ */ kn(v0);
function x0(e, t) {
  const o = gm({
    key: "css",
    prepend: e
  });
  if (t) {
    const r = o.insert;
    o.insert = (...a) => (a[1].styles.match(/^@layer\s+[^{]*$/) || (a[1].styles = `@layer mui {${a[1].styles}}`), r(...a));
  }
  return o;
}
const xl = /* @__PURE__ */ new Map();
function Pm(e) {
  const {
    injectFirst: t,
    enableCssLayer: o,
    children: r
  } = e, a = d.useMemo(() => {
    const i = `${t}-${o}`;
    if (typeof document == "object" && xl.has(i))
      return xl.get(i);
    const s = x0(t, o);
    return xl.set(i, s), s;
  }, [t, o]);
  return t || o ? /* @__PURE__ */ x(Qy, {
    value: a,
    children: r
  }) : r;
}
process.env.NODE_ENV !== "production" && (Pm.propTypes = {
  /**
   * Your component tree.
   */
  children: n.node,
  /**
   * If true, MUI styles are wrapped in CSS `@layer mui` rule.
   * It helps to override MUI styles when using CSS Modules, Tailwind CSS, plain CSS, or any other styling solution.
   */
  enableCssLayer: n.bool,
  /**
   * By default, the styles are injected last in the <head> element of the page.
   * As a result, they gain more specificity than any other style sheet.
   * If you want to override MUI's styles, set this prop.
   */
  injectFirst: n.bool
});
function C0(e) {
  return e == null || Object.keys(e).length === 0;
}
function Rc(e) {
  const {
    styles: t,
    defaultTheme: o = {}
  } = e;
  return /* @__PURE__ */ x(o0, {
    styles: typeof t == "function" ? (a) => t(C0(a) ? o : a) : t
  });
}
process.env.NODE_ENV !== "production" && (Rc.propTypes = {
  defaultTheme: n.object,
  styles: n.oneOfType([n.array, n.string, n.object, n.func])
});
/**
 * @mui/styled-engine v5.18.0
 *
 * @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 Rm(e, t) {
  const o = Yl(e, t);
  return process.env.NODE_ENV !== "production" ? (...r) => {
    const a = typeof e == "string" ? `"${e}"` : "component";
    return r.length === 0 ? console.error([`MUI: Seems like you called \`styled(${a})()\` without a \`style\` argument.`, 'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join(`
`)) : r.some((i) => i === void 0) && console.error(`MUI: the styled(${a})(...args) API requires all its args to be defined.`), o(...r);
  } : o;
}
const T0 = (e, t) => {
  Array.isArray(e.__emotion_styles) && (e.__emotion_styles = t(e.__emotion_styles));
}, zd = [];
function km(e) {
  return zd[0] = e, Pa(zd);
}
const w0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  GlobalStyles: Rc,
  StyledEngineProvider: Pm,
  ThemeContext: Ir,
  css: qo,
  default: Rm,
  internal_processStyles: T0,
  internal_serializeStyles: km,
  keyframes: eo
}, Symbol.toStringTag, { value: "Module" }));
function oe(e, t) {
  if (e == null) return {};
  var o = {};
  for (var r in e) if ({}.hasOwnProperty.call(e, r)) {
    if (t.indexOf(r) !== -1) continue;
    o[r] = e[r];
  }
  return o;
}
function fo(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 Mm(e) {
  if (/* @__PURE__ */ d.isValidElement(e) || !fo(e))
    return e;
  const t = {};
  return Object.keys(e).forEach((o) => {
    t[o] = Mm(e[o]);
  }), t;
}
function Qt(e, t, o = {
  clone: !0
}) {
  const r = o.clone ? m({}, e) : e;
  return fo(e) && fo(t) && Object.keys(t).forEach((a) => {
    /* @__PURE__ */ d.isValidElement(t[a]) ? r[a] = t[a] : fo(t[a]) && // Avoid prototype pollution
    Object.prototype.hasOwnProperty.call(e, a) && fo(e[a]) ? r[a] = Qt(e[a], t[a], o) : o.clone ? r[a] = fo(t[a]) ? Mm(t[a]) : t[a] : r[a] = t[a];
  }), r;
}
const O0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: Qt,
  isPlainObject: fo
}, Symbol.toStringTag, { value: "Module" })), E0 = ["values", "unit", "step"], S0 = (e) => {
  const t = Object.keys(e).map((o) => ({
    key: o,
    val: e[o]
  })) || [];
  return t.sort((o, r) => o.val - r.val), t.reduce((o, r) => m({}, o, {
    [r.key]: r.val
  }), {});
};
function $m(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: o = "px",
    step: r = 5
  } = e, a = oe(e, E0), i = S0(t), s = Object.keys(i);
  function l(g) {
    return `@media (min-width:${typeof t[g] == "number" ? t[g] : g}${o})`;
  }
  function c(g) {
    return `@media (max-width:${(typeof t[g] == "number" ? t[g] : g) - r / 100}${o})`;
  }
  function u(g, v) {
    const b = s.indexOf(v);
    return `@media (min-width:${typeof t[g] == "number" ? t[g] : g}${o}) and (max-width:${(b !== -1 && typeof t[s[b]] == "number" ? t[s[b]] : v) - r / 100}${o})`;
  }
  function p(g) {
    return s.indexOf(g) + 1 < s.length ? u(g, s[s.indexOf(g) + 1]) : l(g);
  }
  function f(g) {
    const v = s.indexOf(g);
    return v === 0 ? l(s[1]) : v === s.length - 1 ? c(s[v]) : u(g, s[s.indexOf(g) + 1]).replace("@media", "@media not all and");
  }
  return m({
    keys: s,
    values: i,
    up: l,
    down: c,
    between: u,
    only: p,
    not: f,
    unit: o
  }, a);
}
const P0 = {
  borderRadius: 4
}, vo = process.env.NODE_ENV !== "production" ? n.oneOfType([n.number, n.string, n.object, n.array]) : {};
function la(e, t) {
  return t ? Qt(e, t, {
    clone: !1
    // No need to clone deep, it's way faster.
  }) : e;
}
const kc = {
  xs: 0,
  // phone
  sm: 600,
  // tablet
  md: 900,
  // small laptop
  lg: 1200,
  // desktop
  xl: 1536
  // large screen
}, Bd = {
  // 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:${kc[e]}px)`
};
function Xn(e, t, o) {
  const r = e.theme || {};
  if (Array.isArray(t)) {
    const i = r.breakpoints || Bd;
    return t.reduce((s, l, c) => (s[i.up(i.keys[c])] = o(t[c]), s), {});
  }
  if (typeof t == "object") {
    const i = r.breakpoints || Bd;
    return Object.keys(t).reduce((s, l) => {
      if (Object.keys(i.values || kc).indexOf(l) !== -1) {
        const c = i.up(l);
        s[c] = o(t[l], l);
      } else {
        const c = l;
        s[c] = t[c];
      }
      return s;
    }, {});
  }
  return o(t);
}
function R0(e = {}) {
  var t;
  return ((t = e.keys) == null ? void 0 : t.reduce((r, a) => {
    const i = e.up(a);
    return r[i] = {}, r;
  }, {})) || {};
}
function Wd(e, t) {
  return e.reduce((o, r) => {
    const a = o[r];
    return (!a || Object.keys(a).length === 0) && delete o[r], o;
  }, t);
}
function ee(e) {
  if (typeof e != "string")
    throw new Error(process.env.NODE_ENV !== "production" ? "MUI: `capitalize(string)` expects a string argument." : Gn(7));
  return e.charAt(0).toUpperCase() + e.slice(1);
}
const k0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: ee
}, Symbol.toStringTag, { value: "Module" }));
function Cr(e, t, o = !0) {
  if (!t || typeof t != "string")
    return null;
  if (e && e.vars && o) {
    const r = `vars.${t}`.split(".").reduce((a, i) => a && a[i] ? a[i] : null, e);
    if (r != null)
      return r;
  }
  return t.split(".").reduce((r, a) => r && r[a] != null ? r[a] : null, e);
}
function _i(e, t, o, r = o) {
  let a;
  return typeof e == "function" ? a = e(o) : Array.isArray(e) ? a = e[o] || r : a = Cr(e, o) || r, t && (a = t(a, r, e)), a;
}
function Et(e) {
  const {
    prop: t,
    cssProperty: o = e.prop,
    themeKey: r,
    transform: a
  } = e, i = (s) => {
    if (s[t] == null)
      return null;
    const l = s[t], c = s.theme, u = Cr(c, r) || {};
    return Xn(s, l, (f) => {
      let g = _i(u, a, f);
      return f === g && typeof f == "string" && (g = _i(u, a, `${t}${f === "default" ? "" : ee(f)}`, f)), o === !1 ? g : {
        [o]: g
      };
    });
  };
  return i.propTypes = process.env.NODE_ENV !== "production" ? {
    [t]: vo
  } : {}, i.filterProps = [t], i;
}
function M0(e) {
  const t = {};
  return (o) => (t[o] === void 0 && (t[o] = e(o)), t[o]);
}
const $0 = {
  m: "margin",
  p: "padding"
}, D0 = {
  t: "Top",
  r: "Right",
  b: "Bottom",
  l: "Left",
  x: ["Left", "Right"],
  y: ["Top", "Bottom"]
}, Ud = {
  marginX: "mx",
  marginY: "my",
  paddingX: "px",
  paddingY: "py"
}, I0 = M0((e) => {
  if (e.length > 2)
    if (Ud[e])
      e = Ud[e];
    else
      return [e];
  const [t, o] = e.split(""), r = $0[t], a = D0[o] || "";
  return Array.isArray(a) ? a.map((i) => r + i) : [r + a];
}), ss = ["m", "mt", "mr", "mb", "ml", "mx", "my", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginX", "marginY", "marginInline", "marginInlineStart", "marginInlineEnd", "marginBlock", "marginBlockStart", "marginBlockEnd"], ls = ["p", "pt", "pr", "pb", "pl", "px", "py", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingX", "paddingY", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "paddingBlock", "paddingBlockStart", "paddingBlockEnd"], N0 = [...ss, ...ls];
function Ra(e, t, o, r) {
  var a;
  const i = (a = Cr(e, t, !1)) != null ? a : o;
  return typeof i == "number" ? (s) => typeof s == "string" ? s : (process.env.NODE_ENV !== "production" && typeof s != "number" && console.error(`MUI: Expected ${r} argument to be a number or a string, got ${s}.`), i * s) : Array.isArray(i) ? (s) => typeof s == "string" ? s : (process.env.NODE_ENV !== "production" && (Number.isInteger(s) ? s > i.length - 1 && console.error([`MUI: The value provided (${s}) overflows.`, `The supported values are: ${JSON.stringify(i)}.`, `${s} > ${i.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(`
`))), i[s]) : typeof i == "function" ? i : (process.env.NODE_ENV !== "production" && console.error([`MUI: The \`theme.${t}\` value (${i}) is invalid.`, "It should be a number, an array or a function."].join(`
`)), () => {
  });
}
function Dm(e) {
  return Ra(e, "spacing", 8, "spacing");
}
function ka(e, t) {
  if (typeof t == "string" || t == null)
    return t;
  const o = Math.abs(t), r = e(o);
  return t >= 0 ? r : typeof r == "number" ? -r : `-${r}`;
}
function _0(e, t) {
  return (o) => e.reduce((r, a) => (r[a] = ka(t, o), r), {});
}
function A0(e, t, o, r) {
  if (t.indexOf(o) === -1)
    return null;
  const a = I0(o), i = _0(a, r), s = e[o];
  return Xn(e, s, i);
}
function Im(e, t) {
  const o = Dm(e.theme);
  return Object.keys(e).map((r) => A0(e, t, r, o)).reduce(la, {});
}
function vt(e) {
  return Im(e, ss);
}
vt.propTypes = process.env.NODE_ENV !== "production" ? ss.reduce((e, t) => (e[t] = vo, e), {}) : {};
vt.filterProps = ss;
function xt(e) {
  return Im(e, ls);
}
xt.propTypes = process.env.NODE_ENV !== "production" ? ls.reduce((e, t) => (e[t] = vo, e), {}) : {};
xt.filterProps = ls;
process.env.NODE_ENV !== "production" && N0.reduce((e, t) => (e[t] = vo, e), {});
function L0(e = 8) {
  if (e.mui)
    return e;
  const t = Dm({
    spacing: e
  }), o = (...r) => (process.env.NODE_ENV !== "production" && (r.length <= 4 || console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${r.length}`)), (r.length === 0 ? [1] : r).map((i) => {
    const s = t(i);
    return typeof s == "number" ? `${s}px` : s;
  }).join(" "));
  return o.mui = !0, o;
}
function cs(...e) {
  const t = e.reduce((r, a) => (a.filterProps.forEach((i) => {
    r[i] = a;
  }), r), {}), o = (r) => Object.keys(r).reduce((a, i) => t[i] ? la(a, t[i](r)) : a, {});
  return o.propTypes = process.env.NODE_ENV !== "production" ? e.reduce((r, a) => Object.assign(r, a.propTypes), {}) : {}, o.filterProps = e.reduce((r, a) => r.concat(a.filterProps), []), o;
}
function sn(e) {
  return typeof e != "number" ? e : `${e}px solid`;
}
function yn(e, t) {
  return Et({
    prop: e,
    themeKey: "borders",
    transform: t
  });
}
const F0 = yn("border", sn), j0 = yn("borderTop", sn), V0 = yn("borderRight", sn), z0 = yn("borderBottom", sn), B0 = yn("borderLeft", sn), W0 = yn("borderColor"), U0 = yn("borderTopColor"), H0 = yn("borderRightColor"), q0 = yn("borderBottomColor"), Y0 = yn("borderLeftColor"), K0 = yn("outline", sn), G0 = yn("outlineColor"), us = (e) => {
  if (e.borderRadius !== void 0 && e.borderRadius !== null) {
    const t = Ra(e.theme, "shape.borderRadius", 4, "borderRadius"), o = (r) => ({
      borderRadius: ka(t, r)
    });
    return Xn(e, e.borderRadius, o);
  }
  return null;
};
us.propTypes = process.env.NODE_ENV !== "production" ? {
  borderRadius: vo
} : {};
us.filterProps = ["borderRadius"];
cs(F0, j0, V0, z0, B0, W0, U0, H0, q0, Y0, us, K0, G0);
const ds = (e) => {
  if (e.gap !== void 0 && e.gap !== null) {
    const t = Ra(e.theme, "spacing", 8, "gap"), o = (r) => ({
      gap: ka(t, r)
    });
    return Xn(e, e.gap, o);
  }
  return null;
};
ds.propTypes = process.env.NODE_ENV !== "production" ? {
  gap: vo
} : {};
ds.filterProps = ["gap"];
const ps = (e) => {
  if (e.columnGap !== void 0 && e.columnGap !== null) {
    const t = Ra(e.theme, "spacing", 8, "columnGap"), o = (r) => ({
      columnGap: ka(t, r)
    });
    return Xn(e, e.columnGap, o);
  }
  return null;
};
ps.propTypes = process.env.NODE_ENV !== "production" ? {
  columnGap: vo
} : {};
ps.filterProps = ["columnGap"];
const fs = (e) => {
  if (e.rowGap !== void 0 && e.rowGap !== null) {
    const t = Ra(e.theme, "spacing", 8, "rowGap"), o = (r) => ({
      rowGap: ka(t, r)
    });
    return Xn(e, e.rowGap, o);
  }
  return null;
};
fs.propTypes = process.env.NODE_ENV !== "production" ? {
  rowGap: vo
} : {};
fs.filterProps = ["rowGap"];
const X0 = Et({
  prop: "gridColumn"
}), Z0 = Et({
  prop: "gridRow"
}), Q0 = Et({
  prop: "gridAutoFlow"
}), J0 = Et({
  prop: "gridAutoColumns"
}), ev = Et({
  prop: "gridAutoRows"
}), tv = Et({
  prop: "gridTemplateColumns"
}), nv = Et({
  prop: "gridTemplateRows"
}), ov = Et({
  prop: "gridTemplateAreas"
}), rv = Et({
  prop: "gridArea"
});
cs(ds, ps, fs, X0, Z0, Q0, J0, ev, tv, nv, ov, rv);
function pr(e, t) {
  return t === "grey" ? t : e;
}
const av = Et({
  prop: "color",
  themeKey: "palette",
  transform: pr
}), iv = Et({
  prop: "bgcolor",
  cssProperty: "backgroundColor",
  themeKey: "palette",
  transform: pr
}), sv = Et({
  prop: "backgroundColor",
  themeKey: "palette",
  transform: pr
});
cs(av, iv, sv);
function Gt(e) {
  return e <= 1 && e !== 0 ? `${e * 100}%` : e;
}
const lv = Et({
  prop: "width",
  transform: Gt
}), Mc = (e) => {
  if (e.maxWidth !== void 0 && e.maxWidth !== null) {
    const t = (o) => {
      var r, a;
      const i = ((r = e.theme) == null || (r = r.breakpoints) == null || (r = r.values) == null ? void 0 : r[o]) || kc[o];
      return i ? ((a = e.theme) == null || (a = a.breakpoints) == null ? void 0 : a.unit) !== "px" ? {
        maxWidth: `${i}${e.theme.breakpoints.unit}`
      } : {
        maxWidth: i
      } : {
        maxWidth: Gt(o)
      };
    };
    return Xn(e, e.maxWidth, t);
  }
  return null;
};
Mc.filterProps = ["maxWidth"];
const cv = Et({
  prop: "minWidth",
  transform: Gt
}), uv = Et({
  prop: "height",
  transform: Gt
}), dv = Et({
  prop: "maxHeight",
  transform: Gt
}), pv = Et({
  prop: "minHeight",
  transform: Gt
});
Et({
  prop: "size",
  cssProperty: "width",
  transform: Gt
});
Et({
  prop: "size",
  cssProperty: "height",
  transform: Gt
});
const fv = Et({
  prop: "boxSizing"
});
cs(lv, Mc, cv, uv, dv, pv, fv);
const Ma = {
  // borders
  border: {
    themeKey: "borders",
    transform: sn
  },
  borderTop: {
    themeKey: "borders",
    transform: sn
  },
  borderRight: {
    themeKey: "borders",
    transform: sn
  },
  borderBottom: {
    themeKey: "borders",
    transform: sn
  },
  borderLeft: {
    themeKey: "borders",
    transform: sn
  },
  borderColor: {
    themeKey: "palette"
  },
  borderTopColor: {
    themeKey: "palette"
  },
  borderRightColor: {
    themeKey: "palette"
  },
  borderBottomColor: {
    themeKey: "palette"
  },
  borderLeftColor: {
    themeKey: "palette"
  },
  outline: {
    themeKey: "borders",
    transform: sn
  },
  outlineColor: {
    themeKey: "palette"
  },
  borderRadius: {
    themeKey: "shape.borderRadius",
    style: us
  },
  // palette
  color: {
    themeKey: "palette",
    transform: pr
  },
  bgcolor: {
    themeKey: "palette",
    cssProperty: "backgroundColor",
    transform: pr
  },
  backgroundColor: {
    themeKey: "palette",
    transform: pr
  },
  // spacing
  p: {
    style: xt
  },
  pt: {
    style: xt
  },
  pr: {
    style: xt
  },
  pb: {
    style: xt
  },
  pl: {
    style: xt
  },
  px: {
    style: xt
  },
  py: {
    style: xt
  },
  padding: {
    style: xt
  },
  paddingTop: {
    style: xt
  },
  paddingRight: {
    style: xt
  },
  paddingBottom: {
    style: xt
  },
  paddingLeft: {
    style: xt
  },
  paddingX: {
    style: xt
  },
  paddingY: {
    style: xt
  },
  paddingInline: {
    style: xt
  },
  paddingInlineStart: {
    style: xt
  },
  paddingInlineEnd: {
    style: xt
  },
  paddingBlock: {
    style: xt
  },
  paddingBlockStart: {
    style: xt
  },
  paddingBlockEnd: {
    style: xt
  },
  m: {
    style: vt
  },
  mt: {
    style: vt
  },
  mr: {
    style: vt
  },
  mb: {
    style: vt
  },
  ml: {
    style: vt
  },
  mx: {
    style: vt
  },
  my: {
    style: vt
  },
  margin: {
    style: vt
  },
  marginTop: {
    style: vt
  },
  marginRight: {
    style: vt
  },
  marginBottom: {
    style: vt
  },
  marginLeft: {
    style: vt
  },
  marginX: {
    style: vt
  },
  marginY: {
    style: vt
  },
  marginInline: {
    style: vt
  },
  marginInlineStart: {
    style: vt
  },
  marginInlineEnd: {
    style: vt
  },
  marginBlock: {
    style: vt
  },
  marginBlockStart: {
    style: vt
  },
  marginBlockEnd: {
    style: vt
  },
  // 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: ds
  },
  rowGap: {
    style: fs
  },
  columnGap: {
    style: ps
  },
  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: Gt
  },
  maxWidth: {
    style: Mc
  },
  minWidth: {
    transform: Gt
  },
  height: {
    transform: Gt
  },
  maxHeight: {
    transform: Gt
  },
  minHeight: {
    transform: Gt
  },
  boxSizing: {},
  // typography
  fontFamily: {
    themeKey: "typography"
  },
  fontSize: {
    themeKey: "typography"
  },
  fontStyle: {
    themeKey: "typography"
  },
  fontWeight: {
    themeKey: "typography"
  },
  letterSpacing: {},
  textTransform: {},
  lineHeight: {},
  textAlign: {},
  typography: {
    cssProperty: !1,
    themeKey: "typography"
  }
};
function mv(...e) {
  const t = e.reduce((r, a) => r.concat(Object.keys(a)), []), o = new Set(t);
  return e.every((r) => o.size === Object.keys(r).length);
}
function hv(e, t) {
  return typeof e == "function" ? e(t) : e;
}
function Nm() {
  function e(o, r, a, i) {
    const s = {
      [o]: r,
      theme: a
    }, l = i[o];
    if (!l)
      return {
        [o]: r
      };
    const {
      cssProperty: c = o,
      themeKey: u,
      transform: p,
      style: f
    } = l;
    if (r == null)
      return null;
    if (u === "typography" && r === "inherit")
      return {
        [o]: r
      };
    const g = Cr(a, u) || {};
    return f ? f(s) : Xn(s, r, (b) => {
      let h = _i(g, p, b);
      return b === h && typeof b == "string" && (h = _i(g, p, `${o}${b === "default" ? "" : ee(b)}`, b)), c === !1 ? h : {
        [c]: h
      };
    });
  }
  function t(o) {
    var r;
    const {
      sx: a,
      theme: i = {},
      nested: s
    } = o || {};
    if (!a)
      return null;
    const l = (r = i.unstable_sxConfig) != null ? r : Ma;
    function c(u) {
      let p = u;
      if (typeof u == "function")
        p = u(i);
      else if (typeof u != "object")
        return u;
      if (!p)
        return null;
      const f = R0(i.breakpoints), g = Object.keys(f);
      let v = f;
      return Object.keys(p).forEach((b) => {
        const h = hv(p[b], i);
        if (h != null)
          if (typeof h == "object")
            if (l[b])
              v = la(v, e(b, h, i, l));
            else {
              const y = Xn({
                theme: i
              }, h, (C) => ({
                [b]: C
              }));
              mv(y, h) ? v[b] = t({
                sx: h,
                theme: i,
                nested: !0
              }) : v = la(v, y);
            }
          else
            v = la(v, e(b, h, i, l));
      }), !s && i.modularCssLayers ? {
        "@layer sx": Wd(g, v)
      } : Wd(g, v);
    }
    return Array.isArray(a) ? a.map(c) : c(a);
  }
  return t;
}
const $a = Nm();
$a.filterProps = ["sx"];
function _m(e, t) {
  const o = this;
  return o.vars && typeof o.getColorSchemeSelector == "function" ? {
    [o.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/, "*:where($1)")]: t
  } : o.palette.mode === e ? t : {};
}
const gv = ["breakpoints", "palette", "spacing", "shape"];
function $c(e = {}, ...t) {
  const {
    breakpoints: o = {},
    palette: r = {},
    spacing: a,
    shape: i = {}
  } = e, s = oe(e, gv), l = $m(o), c = L0(a);
  let u = Qt({
    breakpoints: l,
    direction: "ltr",
    components: {},
    // Inject component definitions.
    palette: m({
      mode: "light"
    }, r),
    spacing: c,
    shape: m({}, P0, i)
  }, s);
  return u.applyStyles = _m, u = t.reduce((p, f) => Qt(p, f), u), u.unstable_sxConfig = m({}, Ma, s == null ? void 0 : s.unstable_sxConfig), u.unstable_sx = function(f) {
    return $a({
      sx: f,
      theme: this
    });
  }, u;
}
const bv = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: $c,
  private_createBreakpoints: $m,
  unstable_applyStyles: _m
}, Symbol.toStringTag, { value: "Module" }));
function yv(e) {
  return Object.keys(e).length === 0;
}
function ms(e = null) {
  const t = d.useContext(Ir);
  return !t || yv(t) ? e : t;
}
const vv = $c();
function hs(e = vv) {
  return ms(e);
}
function Cl(e) {
  const t = km(e);
  return e !== t && t.styles ? (t.styles.match(/^@layer\s+[^{]*$/) || (t.styles = `@layer global{${t.styles}}`), t) : e;
}
function Dc({
  styles: e,
  themeId: t,
  defaultTheme: o = {}
}) {
  const r = hs(o), a = t && r[t] || r;
  let i = typeof e == "function" ? e(a) : e;
  return a.modularCssLayers && (Array.isArray(i) ? i = i.map((s) => Cl(typeof s == "function" ? s(a) : s)) : i = Cl(i)), /* @__PURE__ */ x(Rc, {
    styles: i
  });
}
process.env.NODE_ENV !== "production" && (Dc.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * @ignore
   */
  defaultTheme: n.object,
  /**
   * @ignore
   */
  styles: n.oneOfType([n.array, n.func, n.number, n.object, n.string, n.bool]),
  /**
   * @ignore
   */
  themeId: n.string
});
const xv = ["sx"], Cv = (e) => {
  var t, o;
  const r = {
    systemProps: {},
    otherProps: {}
  }, a = (t = e == null || (o = e.theme) == null ? void 0 : o.unstable_sxConfig) != null ? t : Ma;
  return Object.keys(e).forEach((i) => {
    a[i] ? r.systemProps[i] = e[i] : r.otherProps[i] = e[i];
  }), r;
};
function Ic(e) {
  const {
    sx: t
  } = e, o = oe(e, xv), {
    systemProps: r,
    otherProps: a
  } = Cv(o);
  let i;
  return Array.isArray(t) ? i = [r, ...t] : typeof t == "function" ? i = (...s) => {
    const l = t(...s);
    return fo(l) ? m({}, r, l) : r;
  } : i = m({}, r, t), m({}, a, {
    sx: i
  });
}
const Tv = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: $a,
  extendSxProp: Ic,
  unstable_createStyleFunctionSx: Nm,
  unstable_defaultSxConfig: Ma
}, Symbol.toStringTag, { value: "Module" })), Hd = (e) => e, wv = () => {
  let e = Hd;
  return {
    configure(t) {
      e = t;
    },
    generate(t) {
      return e(t);
    },
    reset() {
      e = Hd;
    }
  };
}, Nc = wv();
function Am(e) {
  var t, o, r = "";
  if (typeof e == "string" || typeof e == "number") r += e;
  else if (typeof e == "object") if (Array.isArray(e)) {
    var a = e.length;
    for (t = 0; t < a; t++) e[t] && (o = Am(e[t])) && (r && (r += " "), r += o);
  } else for (o in e) e[o] && (r && (r += " "), r += o);
  return r;
}
function ce() {
  for (var e, t, o = 0, r = "", a = arguments.length; o < a; o++) (e = arguments[o]) && (t = Am(e)) && (r && (r += " "), r += t);
  return r;
}
const Ov = ["className", "component"];
function Ev(e = {}) {
  const {
    themeId: t,
    defaultTheme: o,
    defaultClassName: r = "MuiBox-root",
    generateClassName: a
  } = e, i = Rm("div", {
    shouldForwardProp: (l) => l !== "theme" && l !== "sx" && l !== "as"
  })($a);
  return /* @__PURE__ */ d.forwardRef(function(c, u) {
    const p = hs(o), f = Ic(c), {
      className: g,
      component: v = "div"
    } = f, b = oe(f, Ov);
    return /* @__PURE__ */ x(i, m({
      as: v,
      ref: u,
      className: ce(g, a ? a(r) : r),
      theme: t && p[t] || p
    }, b));
  });
}
const Sv = {
  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 ye(e, t, o = "Mui") {
  const r = Sv[t];
  return r ? `${o}-${r}` : `${Nc.generate(e)}-${t}`;
}
function be(e, t, o = "Mui") {
  const r = {};
  return t.forEach((a) => {
    r[a] = ye(e, a, o);
  }), r;
}
var Gl = { exports: {} }, rt = {};
/**
 * @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 qd;
function Pv() {
  if (qd) return rt;
  qd = 1;
  var e = Symbol.for("react.transitional.element"), t = Symbol.for("react.portal"), o = Symbol.for("react.fragment"), r = Symbol.for("react.strict_mode"), a = Symbol.for("react.profiler"), i = Symbol.for("react.consumer"), s = Symbol.for("react.context"), l = Symbol.for("react.forward_ref"), c = Symbol.for("react.suspense"), u = Symbol.for("react.suspense_list"), p = Symbol.for("react.memo"), f = Symbol.for("react.lazy"), g = Symbol.for("react.view_transition"), v = Symbol.for("react.client.reference");
  function b(h) {
    if (typeof h == "object" && h !== null) {
      var y = h.$$typeof;
      switch (y) {
        case e:
          switch (h = h.type, h) {
            case o:
            case a:
            case r:
            case c:
            case u:
            case g:
              return h;
            default:
              switch (h = h && h.$$typeof, h) {
                case s:
                case l:
                case f:
                case p:
                  return h;
                case i:
                  return h;
                default:
                  return y;
              }
          }
        case t:
          return y;
      }
    }
  }
  return rt.ContextConsumer = i, rt.ContextProvider = s, rt.Element = e, rt.ForwardRef = l, rt.Fragment = o, rt.Lazy = f, rt.Memo = p, rt.Portal = t, rt.Profiler = a, rt.StrictMode = r, rt.Suspense = c, rt.SuspenseList = u, rt.isContextConsumer = function(h) {
    return b(h) === i;
  }, rt.isContextProvider = function(h) {
    return b(h) === s;
  }, rt.isElement = function(h) {
    return typeof h == "object" && h !== null && h.$$typeof === e;
  }, rt.isForwardRef = function(h) {
    return b(h) === l;
  }, rt.isFragment = function(h) {
    return b(h) === o;
  }, rt.isLazy = function(h) {
    return b(h) === f;
  }, rt.isMemo = function(h) {
    return b(h) === p;
  }, rt.isPortal = function(h) {
    return b(h) === t;
  }, rt.isProfiler = function(h) {
    return b(h) === a;
  }, rt.isStrictMode = function(h) {
    return b(h) === r;
  }, rt.isSuspense = function(h) {
    return b(h) === c;
  }, rt.isSuspenseList = function(h) {
    return b(h) === u;
  }, rt.isValidElementType = function(h) {
    return typeof h == "string" || typeof h == "function" || h === o || h === a || h === r || h === c || h === u || typeof h == "object" && h !== null && (h.$$typeof === f || h.$$typeof === p || h.$$typeof === s || h.$$typeof === i || h.$$typeof === l || h.$$typeof === v || h.getModuleId !== void 0);
  }, rt.typeOf = b, rt;
}
var at = {};
/**
 * @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 Yd;
function Rv() {
  return Yd || (Yd = 1, process.env.NODE_ENV !== "production" && function() {
    function e(h) {
      if (typeof h == "object" && h !== null) {
        var y = h.$$typeof;
        switch (y) {
          case t:
            switch (h = h.type, h) {
              case r:
              case i:
              case a:
              case u:
              case p:
              case v:
                return h;
              default:
                switch (h = h && h.$$typeof, h) {
                  case l:
                  case c:
                  case g:
                  case f:
                    return h;
                  case s:
                    return h;
                  default:
                    return y;
                }
            }
          case o:
            return y;
        }
      }
    }
    var t = Symbol.for("react.transitional.element"), o = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), a = Symbol.for("react.strict_mode"), i = Symbol.for("react.profiler"), s = Symbol.for("react.consumer"), l = Symbol.for("react.context"), c = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), f = Symbol.for("react.memo"), g = Symbol.for("react.lazy"), v = Symbol.for("react.view_transition"), b = Symbol.for("react.client.reference");
    at.ContextConsumer = s, at.ContextProvider = l, at.Element = t, at.ForwardRef = c, at.Fragment = r, at.Lazy = g, at.Memo = f, at.Portal = o, at.Profiler = i, at.StrictMode = a, at.Suspense = u, at.SuspenseList = p, at.isContextConsumer = function(h) {
      return e(h) === s;
    }, at.isContextProvider = function(h) {
      return e(h) === l;
    }, at.isElement = function(h) {
      return typeof h == "object" && h !== null && h.$$typeof === t;
    }, at.isForwardRef = function(h) {
      return e(h) === c;
    }, at.isFragment = function(h) {
      return e(h) === r;
    }, at.isLazy = function(h) {
      return e(h) === g;
    }, at.isMemo = function(h) {
      return e(h) === f;
    }, at.isPortal = function(h) {
      return e(h) === o;
    }, at.isProfiler = function(h) {
      return e(h) === i;
    }, at.isStrictMode = function(h) {
      return e(h) === a;
    }, at.isSuspense = function(h) {
      return e(h) === u;
    }, at.isSuspenseList = function(h) {
      return e(h) === p;
    }, at.isValidElementType = function(h) {
      return typeof h == "string" || typeof h == "function" || h === r || h === i || h === a || h === u || h === p || typeof h == "object" && h !== null && (h.$$typeof === g || h.$$typeof === f || h.$$typeof === l || h.$$typeof === s || h.$$typeof === c || h.$$typeof === b || h.getModuleId !== void 0);
    }, at.typeOf = e;
  }()), at;
}
process.env.NODE_ENV === "production" ? Gl.exports = Pv() : Gl.exports = Rv();
var Vn = Gl.exports;
const kv = /^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;
function Lm(e) {
  const t = `${e}`.match(kv);
  return t && t[1] || "";
}
function Fm(e, t = "") {
  return e.displayName || e.name || Lm(e) || t;
}
function Kd(e, t, o) {
  const r = Fm(t);
  return e.displayName || (r !== "" ? `${o}(${r})` : o);
}
function Mv(e) {
  if (e != null) {
    if (typeof e == "string")
      return e;
    if (typeof e == "function")
      return Fm(e, "Component");
    if (typeof e == "object")
      switch (e.$$typeof) {
        case Vn.ForwardRef:
          return Kd(e, e.render, "ForwardRef");
        case Vn.Memo:
          return Kd(e, e.type, "memo");
        default:
          return;
      }
  }
}
const $v = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: Mv,
  getFunctionName: Lm
}, Symbol.toStringTag, { value: "Module" }));
function va(e, t) {
  const o = m({}, t);
  return Object.keys(e).forEach((r) => {
    if (r.toString().match(/^(components|slots)$/))
      o[r] = m({}, e[r], o[r]);
    else if (r.toString().match(/^(componentsProps|slotProps)$/)) {
      const a = e[r] || {}, i = t[r];
      o[r] = {}, !i || !Object.keys(i) ? o[r] = a : !a || !Object.keys(a) ? o[r] = i : (o[r] = m({}, i), Object.keys(a).forEach((s) => {
        o[r][s] = va(a[s], i[s]);
      }));
    } else o[r] === void 0 && (o[r] = e[r]);
  }), o;
}
function jm(e) {
  const {
    theme: t,
    name: o,
    props: r
  } = e;
  return !t || !t.components || !t.components[o] || !t.components[o].defaultProps ? r : va(t.components[o].defaultProps, r);
}
function Dv({
  props: e,
  name: t,
  defaultTheme: o,
  themeId: r
}) {
  let a = hs(o);
  return a = a[r] || a, jm({
    theme: a,
    name: t,
    props: e
  });
}
const gt = typeof window < "u" ? d.useLayoutEffect : d.useEffect;
function Iv(e, t, o, r, a) {
  const [i, s] = d.useState(() => a && o ? o(e).matches : r ? r(e).matches : t);
  return gt(() => {
    let l = !0;
    if (!o)
      return;
    const c = o(e), u = () => {
      l && s(c.matches);
    };
    return u(), c.addListener(u), () => {
      l = !1, c.removeListener(u);
    };
  }, [e, o]), i;
}
const Vm = d.useSyncExternalStore;
function Nv(e, t, o, r, a) {
  const i = d.useCallback(() => t, [t]), s = d.useMemo(() => {
    if (a && o)
      return () => o(e).matches;
    if (r !== null) {
      const {
        matches: p
      } = r(e);
      return () => p;
    }
    return i;
  }, [i, e, r, a, o]), [l, c] = d.useMemo(() => {
    if (o === null)
      return [i, () => () => {
      }];
    const p = o(e);
    return [() => p.matches, (f) => (p.addListener(f), () => {
      p.removeListener(f);
    })];
  }, [i, o, e]);
  return Vm(c, l, s);
}
function zm(e, t = {}) {
  const o = ms(), r = typeof window < "u" && typeof window.matchMedia < "u", {
    defaultMatches: a = !1,
    matchMedia: i = r ? window.matchMedia : null,
    ssrMatchMedia: s = null,
    noSsr: l = !1
  } = jm({
    name: "MuiUseMediaQuery",
    props: t,
    theme: o
  });
  process.env.NODE_ENV !== "production" && typeof e == "function" && o === null && console.error(["MUI: The `query` argument provided is invalid.", "You are providing a function without a theme in the context.", "One of the parent elements needs to use a ThemeProvider."].join(`
`));
  let c = typeof e == "function" ? e(o) : e;
  c = c.replace(/^@media( ?)/m, "");
  const p = (Vm !== void 0 ? Nv : Iv)(c, a, i, s, l);
  return process.env.NODE_ENV !== "production" && d.useDebugValue({
    query: c,
    match: p
  }), p;
}
function Lo(e, t = Number.MIN_SAFE_INTEGER, o = Number.MAX_SAFE_INTEGER) {
  return Math.max(t, Math.min(e, o));
}
const _v = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: Lo
}, Symbol.toStringTag, { value: "Module" }));
function Av(e, t = 0, o = 1) {
  return process.env.NODE_ENV !== "production" && (e < t || e > o) && console.error(`MUI: The value provided ${e} is out of range [${t}, ${o}].`), Lo(e, t, o);
}
function Lv(e) {
  e = e.slice(1);
  const t = new RegExp(`.{1,${e.length >= 6 ? 2 : 1}}`, "g");
  let o = e.match(t);
  return o && o[0].length === 1 && (o = o.map((r) => r + r)), o ? `rgb${o.length === 4 ? "a" : ""}(${o.map((r, a) => a < 3 ? parseInt(r, 16) : Math.round(parseInt(r, 16) / 255 * 1e3) / 1e3).join(", ")})` : "";
}
function Bm(e) {
  if (e.type)
    return e;
  if (e.charAt(0) === "#")
    return Bm(Lv(e));
  const t = e.indexOf("("), o = e.substring(0, t);
  if (["rgb", "rgba", "hsl", "hsla", "color"].indexOf(o) === -1)
    throw new Error(process.env.NODE_ENV !== "production" ? `MUI: Unsupported \`${e}\` color.
The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : Gn(9, e));
  let r = e.substring(t + 1, e.length - 1), a;
  if (o === "color") {
    if (r = r.split(" "), a = r.shift(), r.length === 4 && r[3].charAt(0) === "/" && (r[3] = r[3].slice(1)), ["srgb", "display-p3", "a98-rgb", "prophoto-rgb", "rec-2020"].indexOf(a) === -1)
      throw new Error(process.env.NODE_ENV !== "production" ? `MUI: unsupported \`${a}\` color space.
The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : Gn(10, a));
  } else
    r = r.split(",");
  return r = r.map((i) => parseFloat(i)), {
    type: o,
    values: r,
    colorSpace: a
  };
}
function Fv(e) {
  const {
    type: t,
    colorSpace: o
  } = e;
  let {
    values: r
  } = e;
  return t.indexOf("rgb") !== -1 ? r = r.map((a, i) => i < 3 ? parseInt(a, 10) : a) : t.indexOf("hsl") !== -1 && (r[1] = `${r[1]}%`, r[2] = `${r[2]}%`), t.indexOf("color") !== -1 ? r = `${o} ${r.join(" ")}` : r = `${r.join(", ")}`, `${t}(${r})`;
}
function Tr(e, t) {
  return e = Bm(e), t = Av(t), (e.type === "rgb" || e.type === "hsl") && (e.type += "a"), e.type === "color" ? e.values[3] = `/${t}` : e.values[3] = t, Fv(e);
}
function Jt(e, t) {
  return process.env.NODE_ENV === "production" ? () => null : function(...r) {
    return e(...r) || t(...r);
  };
}
function jv(e) {
  const {
    prototype: t = {}
  } = e;
  return !!t.isReactComponent;
}
function Wm(e, t, o, r, a) {
  const i = e[t], s = a || t;
  if (i == null || // When server-side rendering React doesn't warn either.
  // This is not an accurate check for SSR.
  // This is only in place for Emotion compat.
  // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.
  typeof window > "u")
    return null;
  let l;
  const c = i.type;
  return typeof c == "function" && !jv(c) && (l = "Did you accidentally use a plain function component for an element instead?"), l !== void 0 ? new Error(`Invalid ${r} \`${s}\` supplied to \`${o}\`. Expected an element that can hold a ref. ${l} For more information see https://mui.com/r/caveat-with-refs-guide`) : null;
}
const xo = Jt(n.element, Wm);
xo.isRequired = Jt(n.element.isRequired, Wm);
function Vv(e) {
  const {
    prototype: t = {}
  } = e;
  return !!t.isReactComponent;
}
function zv(e, t, o, r, a) {
  const i = e[t], s = a || t;
  if (i == null || // When server-side rendering React doesn't warn either.
  // This is not an accurate check for SSR.
  // This is only in place for emotion compat.
  // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.
  typeof window > "u")
    return null;
  let l;
  return typeof i == "function" && !Vv(i) && (l = "Did you accidentally provide a plain function component instead?"), l !== void 0 ? new Error(`Invalid ${r} \`${s}\` supplied to \`${o}\`. Expected an element type that can hold a ref. ${l} For more information see https://mui.com/r/caveat-with-refs-guide`) : null;
}
const Nr = Jt(n.elementType, zv), Bv = "exact-prop: ​";
function Da(e) {
  return process.env.NODE_ENV === "production" ? e : m({}, e, {
    [Bv]: (t) => {
      const o = Object.keys(t).filter((r) => !e.hasOwnProperty(r));
      return o.length > 0 ? new Error(`The following props are not supported: ${o.map((r) => `\`${r}\``).join(", ")}. Please remove them.`) : null;
    }
  });
}
function zn(e, t, o, r, a) {
  if (process.env.NODE_ENV === "production")
    return null;
  const i = e[t], s = a || t;
  return i == null ? null : i && i.nodeType !== 1 ? new Error(`Invalid ${r} \`${s}\` supplied to \`${o}\`. Expected an HTMLElement.`) : null;
}
const ut = n.oneOfType([n.func, n.object]);
function Ai(...e) {
  return e.reduce((t, o) => o == null ? t : function(...a) {
    t.apply(this, a), o.apply(this, a);
  }, () => {
  });
}
function _r(e, t = 166) {
  let o;
  function r(...a) {
    const i = () => {
      e.apply(this, a);
    };
    clearTimeout(o), o = setTimeout(i, t);
  }
  return r.clear = () => {
    clearTimeout(o);
  }, r;
}
function Wv(e, t) {
  return process.env.NODE_ENV === "production" ? () => null : (o, r, a, i, s) => {
    const l = a || "<<anonymous>>", c = s || r;
    return typeof o[r] < "u" ? new Error(`The ${i} \`${c}\` of \`${l}\` is deprecated. ${t}`) : null;
  };
}
function fr(e, t) {
  var o, r;
  return /* @__PURE__ */ d.isValidElement(e) && t.indexOf(
    // For server components `muiName` is avaialble in element.type._payload.value.muiName
    // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45
    // eslint-disable-next-line no-underscore-dangle
    (o = e.type.muiName) != null ? o : (r = e.type) == null || (r = r._payload) == null || (r = r.value) == null ? void 0 : r.muiName
  ) !== -1;
}
function lt(e) {
  return e && e.ownerDocument || document;
}
function pn(e) {
  return lt(e).defaultView || window;
}
function Uv(e, t) {
  if (process.env.NODE_ENV === "production")
    return () => null;
  const o = t ? m({}, t.propTypes) : null;
  return (a) => (i, s, l, c, u, ...p) => {
    const f = u || s, g = o == null ? void 0 : o[f];
    if (g) {
      const v = g(i, s, l, c, u, ...p);
      if (v)
        return v;
    }
    return typeof i[s] < "u" && !i[a] ? new Error(`The prop \`${f}\` of \`${e}\` can only be used together with the \`${a}\` prop.`) : null;
  };
}
function Li(e, t) {
  typeof e == "function" ? e(t) : e && (e.current = t);
}
let Gd = 0;
function Hv(e) {
  const [t, o] = d.useState(e), r = e || t;
  return d.useEffect(() => {
    t == null && (Gd += 1, o(`mui-${Gd}`));
  }, [t]), r;
}
const Xd = d.useId;
function Mn(e) {
  if (Xd !== void 0) {
    const t = Xd();
    return e ?? t;
  }
  return Hv(e);
}
function _c(e, t, o, r, a) {
  if (process.env.NODE_ENV === "production")
    return null;
  const i = a || t;
  return typeof e[t] < "u" ? new Error(`The prop \`${i}\` is not supported. Please remove it.`) : null;
}
function Vt({
  controlled: e,
  default: t,
  name: o,
  state: r = "value"
}) {
  const {
    current: a
  } = d.useRef(e !== void 0), [i, s] = d.useState(t), l = a ? e : i;
  if (process.env.NODE_ENV !== "production") {
    d.useEffect(() => {
      a !== (e !== void 0) && console.error([`MUI: A component is changing the ${a ? "" : "un"}controlled ${r} state of ${o} to be ${a ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled ${o} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", "More info: https://fb.me/react-controlled-components"].join(`
`));
    }, [r, o, e]);
    const {
      current: u
    } = d.useRef(t);
    d.useEffect(() => {
      !a && !Object.is(u, t) && console.error([`MUI: A component is changing the default ${r} state of an uncontrolled ${o} after being initialized. To suppress this warning opt to use a controlled ${o}.`].join(`
`));
    }, [JSON.stringify(t)]);
  }
  const c = d.useCallback((u) => {
    a || s(u);
  }, []);
  return [l, c];
}
function Ce(e) {
  const t = d.useRef(e);
  return gt(() => {
    t.current = e;
  }), d.useRef((...o) => (
    // @ts-expect-error hide `this`
    (0, t.current)(...o)
  )).current;
}
function ze(...e) {
  return d.useMemo(() => e.every((t) => t == null) ? null : (t) => {
    e.forEach((o) => {
      Li(o, t);
    });
  }, e);
}
const Zd = {};
function qv(e, t) {
  const o = d.useRef(Zd);
  return o.current === Zd && (o.current = e(t)), o;
}
const Yv = [];
function Kv(e) {
  d.useEffect(e, Yv);
}
class Ia {
  constructor() {
    this.currentId = null, this.clear = () => {
      this.currentId !== null && (clearTimeout(this.currentId), this.currentId = null);
    }, this.disposeEffect = () => this.clear;
  }
  static create() {
    return new Ia();
  }
  /**
   * Executes `fn` after `delay`, clearing any previously scheduled call.
   */
  start(t, o) {
    this.clear(), this.currentId = setTimeout(() => {
      this.currentId = null, o();
    }, t);
  }
}
function mo() {
  const e = qv(Ia.create).current;
  return Kv(e.disposeEffect), e;
}
let gs = !0, Xl = !1;
const Gv = new Ia(), Xv = {
  text: !0,
  search: !0,
  url: !0,
  tel: !0,
  email: !0,
  password: !0,
  number: !0,
  date: !0,
  month: !0,
  week: !0,
  time: !0,
  datetime: !0,
  "datetime-local": !0
};
function Zv(e) {
  const {
    type: t,
    tagName: o
  } = e;
  return !!(o === "INPUT" && Xv[t] && !e.readOnly || o === "TEXTAREA" && !e.readOnly || e.isContentEditable);
}
function Qv(e) {
  e.metaKey || e.altKey || e.ctrlKey || (gs = !0);
}
function Tl() {
  gs = !1;
}
function Jv() {
  this.visibilityState === "hidden" && Xl && (gs = !0);
}
function e2(e) {
  e.addEventListener("keydown", Qv, !0), e.addEventListener("mousedown", Tl, !0), e.addEventListener("pointerdown", Tl, !0), e.addEventListener("touchstart", Tl, !0), e.addEventListener("visibilitychange", Jv, !0);
}
function t2(e) {
  const {
    target: t
  } = e;
  try {
    return t.matches(":focus-visible");
  } catch {
  }
  return gs || Zv(t);
}
function Na() {
  const e = d.useCallback((a) => {
    a != null && e2(a.ownerDocument);
  }, []), t = d.useRef(!1);
  function o() {
    return t.current ? (Xl = !0, Gv.start(100, () => {
      Xl = !1;
    }), t.current = !1, !0) : !1;
  }
  function r(a) {
    return t2(a) ? (t.current = !0, !0) : !1;
  }
  return {
    isFocusVisibleRef: t,
    onFocus: r,
    onBlur: o,
    ref: e
  };
}
function Um(e) {
  const t = e.documentElement.clientWidth;
  return Math.abs(window.innerWidth - t);
}
let Xo;
function Hm() {
  if (Xo)
    return Xo;
  const e = document.createElement("div"), t = document.createElement("div");
  return t.style.width = "10px", t.style.height = "1px", e.appendChild(t), e.dir = "rtl", e.style.fontSize = "14px", e.style.width = "4px", e.style.height = "1px", e.style.position = "absolute", e.style.top = "-1000px", e.style.overflow = "scroll", document.body.appendChild(e), Xo = "reverse", e.scrollLeft > 0 ? Xo = "default" : (e.scrollLeft = 1, e.scrollLeft === 0 && (Xo = "negative")), document.body.removeChild(e), Xo;
}
function n2(e, t) {
  const o = e.scrollLeft;
  if (t !== "rtl")
    return o;
  switch (Hm()) {
    case "negative":
      return e.scrollWidth - e.clientWidth + o;
    case "reverse":
      return e.scrollWidth - e.clientWidth - o;
    default:
      return o;
  }
}
const qm = (e) => {
  const t = d.useRef({});
  return d.useEffect(() => {
    t.current = e;
  }), t.current;
}, Ym = {
  border: 0,
  clip: "rect(0 0 0 0)",
  height: "1px",
  margin: "-1px",
  overflow: "hidden",
  padding: 0,
  position: "absolute",
  whiteSpace: "nowrap",
  width: "1px"
};
function o2(e) {
  const t = typeof e;
  switch (t) {
    case "number":
      return Number.isNaN(e) ? "NaN" : Number.isFinite(e) ? e !== Math.floor(e) ? "float" : "number" : "Infinity";
    case "object":
      return e === null ? "null" : e.constructor.name;
    default:
      return t;
  }
}
function r2(e) {
  return typeof e == "number" && isFinite(e) && Math.floor(e) === e;
}
const a2 = Number.isInteger || r2;
function Km(e, t, o, r) {
  const a = e[t];
  if (a == null || !a2(a)) {
    const i = o2(a);
    return new RangeError(`Invalid ${r} \`${t}\` of type \`${i}\` supplied to \`${o}\`, expected \`integer\`.`);
  }
  return null;
}
function Gm(e, t, ...o) {
  return e[t] === void 0 ? null : Km(e, t, ...o);
}
function Zl() {
  return null;
}
Gm.isRequired = Km;
Zl.isRequired = Zl;
const Pn = process.env.NODE_ENV === "production" ? Zl : Gm;
function ve(e, t, o = void 0) {
  const r = {};
  return Object.keys(e).forEach(
    // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.
    // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208
    (a) => {
      r[a] = e[a].reduce((i, s) => {
        if (s) {
          const l = t(s);
          l !== "" && i.push(l), o && o[s] && i.push(o[s]);
        }
        return i;
      }, []).join(" ");
    }
  ), r;
}
function Fn(e) {
  return typeof e == "string";
}
function lr(e, t, o) {
  return e === void 0 || Fn(e) ? t : m({}, t, {
    ownerState: m({}, t.ownerState, o)
  });
}
function Vo(e, t = []) {
  if (e === void 0)
    return {};
  const o = {};
  return Object.keys(e).filter((r) => r.match(/^on[A-Z]/) && typeof e[r] == "function" && !t.includes(r)).forEach((r) => {
    o[r] = e[r];
  }), o;
}
function Qd(e) {
  if (e === void 0)
    return {};
  const t = {};
  return Object.keys(e).filter((o) => !(o.match(/^on[A-Z]/) && typeof e[o] == "function")).forEach((o) => {
    t[o] = e[o];
  }), t;
}
function Xm(e) {
  const {
    getSlotProps: t,
    additionalProps: o,
    externalSlotProps: r,
    externalForwardedProps: a,
    className: i
  } = e;
  if (!t) {
    const v = ce(o == null ? void 0 : o.className, i, a == null ? void 0 : a.className, r == null ? void 0 : r.className), b = m({}, o == null ? void 0 : o.style, a == null ? void 0 : a.style, r == null ? void 0 : r.style), h = m({}, o, a, r);
    return v.length > 0 && (h.className = v), Object.keys(b).length > 0 && (h.style = b), {
      props: h,
      internalRef: void 0
    };
  }
  const s = Vo(m({}, a, r)), l = Qd(r), c = Qd(a), u = t(s), p = ce(u == null ? void 0 : u.className, o == null ? void 0 : o.className, i, a == null ? void 0 : a.className, r == null ? void 0 : r.className), f = m({}, u == null ? void 0 : u.style, o == null ? void 0 : o.style, a == null ? void 0 : a.style, r == null ? void 0 : r.style), g = m({}, u, o, c, l);
  return p.length > 0 && (g.className = p), Object.keys(f).length > 0 && (g.style = f), {
    props: g,
    internalRef: u.ref
  };
}
function bs(e, t, o) {
  return typeof e == "function" ? e(t, o) : e;
}
const i2 = ["elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps"];
function $e(e) {
  var t;
  const {
    elementType: o,
    externalSlotProps: r,
    ownerState: a,
    skipResolvingSlotProps: i = !1
  } = e, s = oe(e, i2), l = i ? {} : bs(r, a), {
    props: c,
    internalRef: u
  } = Xm(m({}, s, {
    externalSlotProps: l
  })), p = ze(u, l == null ? void 0 : l.ref, (t = e.additionalProps) == null ? void 0 : t.ref);
  return lr(o, m({}, c, {
    ref: p
  }), a);
}
function Co(e) {
  if (parseInt(d.version, 10) >= 19) {
    var t;
    return (e == null || (t = e.props) == null ? void 0 : t.ref) || null;
  }
  return (e == null ? void 0 : e.ref) || null;
}
const Ac = /* @__PURE__ */ d.createContext(null);
process.env.NODE_ENV !== "production" && (Ac.displayName = "ThemeContext");
function Zm() {
  const e = d.useContext(Ac);
  return process.env.NODE_ENV !== "production" && d.useDebugValue(e), e;
}
const s2 = typeof Symbol == "function" && Symbol.for, l2 = s2 ? Symbol.for("mui.nested") : "__THEME_NESTED__";
function c2(e, t) {
  if (typeof t == "function") {
    const o = t(e);
    return process.env.NODE_ENV !== "production" && (o || console.error(["MUI: You should return an object from your theme function, i.e.", "<ThemeProvider theme={() => ({})} />"].join(`
`))), o;
  }
  return m({}, e, t);
}
function Fi(e) {
  const {
    children: t,
    theme: o
  } = e, r = Zm();
  process.env.NODE_ENV !== "production" && r === null && typeof o == "function" && console.error(["MUI: You are providing a theme function prop to the ThemeProvider component:", "<ThemeProvider theme={outerTheme => outerTheme} />", "", "However, no outer theme is present.", "Make sure a theme is already injected higher in the React tree or provide a theme object."].join(`
`));
  const a = d.useMemo(() => {
    const i = r === null ? o : c2(r, o);
    return i != null && (i[l2] = r !== null), i;
  }, [o, r]);
  return /* @__PURE__ */ x(Ac.Provider, {
    value: a,
    children: t
  });
}
process.env.NODE_ENV !== "production" && (Fi.propTypes = {
  /**
   * Your component tree.
   */
  children: n.node,
  /**
   * A theme object. You can provide a function to extend the outer theme.
   */
  theme: n.oneOfType([n.object, n.func]).isRequired
});
process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "production" && (Fi.propTypes = Da(Fi.propTypes));
const u2 = ["value"], Qm = /* @__PURE__ */ d.createContext();
function Jm(e) {
  let {
    value: t
  } = e, o = oe(e, u2);
  return /* @__PURE__ */ x(Qm.Provider, m({
    value: t ?? !0
  }, o));
}
process.env.NODE_ENV !== "production" && (Jm.propTypes = {
  children: n.node,
  value: n.bool
});
const To = () => {
  const e = d.useContext(Qm);
  return e ?? !1;
}, eh = /* @__PURE__ */ d.createContext(void 0);
function th({
  value: e,
  children: t
}) {
  return /* @__PURE__ */ x(eh.Provider, {
    value: e,
    children: t
  });
}
process.env.NODE_ENV !== "production" && (th.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * @ignore
   */
  children: n.node,
  /**
   * @ignore
   */
  value: n.object
});
function d2(e) {
  const {
    theme: t,
    name: o,
    props: r
  } = e;
  if (!t || !t.components || !t.components[o])
    return r;
  const a = t.components[o];
  return a.defaultProps ? va(a.defaultProps, r) : !a.styleOverrides && !a.variants ? va(a, r) : r;
}
function p2({
  props: e,
  name: t
}) {
  const o = d.useContext(eh);
  return d2({
    props: e,
    name: t,
    theme: {
      components: o
    }
  });
}
function f2(e) {
  const t = ms(), o = Mn() || "", {
    modularCssLayers: r
  } = e;
  let a = "mui.global, mui.components, mui.theme, mui.custom, mui.sx";
  return !r || t !== null ? a = "" : typeof r == "string" ? a = r.replace(/mui(?!\.)/g, a) : a = `@layer ${a};`, gt(() => {
    const i = document.querySelector("head");
    if (!i)
      return;
    const s = i.firstChild;
    if (a) {
      var l;
      if (s && (l = s.hasAttribute) != null && l.call(s, "data-mui-layer-order") && s.getAttribute("data-mui-layer-order") === o)
        return;
      const u = document.createElement("style");
      u.setAttribute("data-mui-layer-order", o), u.textContent = a, i.prepend(u);
    } else {
      var c;
      (c = i.querySelector(`style[data-mui-layer-order="${o}"]`)) == null || c.remove();
    }
  }, [a, o]), a ? /* @__PURE__ */ x(Dc, {
    styles: a
  }) : null;
}
const Jd = {};
function ep(e, t, o, r = !1) {
  return d.useMemo(() => {
    const a = e && t[e] || t;
    if (typeof o == "function") {
      const i = o(a), s = e ? m({}, t, {
        [e]: i
      }) : i;
      return r ? () => s : s;
    }
    return e ? m({}, t, {
      [e]: o
    }) : m({}, t, o);
  }, [e, t, o, r]);
}
function ji(e) {
  const {
    children: t,
    theme: o,
    themeId: r
  } = e, a = ms(Jd), i = Zm() || Jd;
  process.env.NODE_ENV !== "production" && (a === null && typeof o == "function" || r && a && !a[r] && typeof o == "function") && console.error(["MUI: You are providing a theme function prop to the ThemeProvider component:", "<ThemeProvider theme={outerTheme => outerTheme} />", "", "However, no outer theme is present.", "Make sure a theme is already injected higher in the React tree or provide a theme object."].join(`
`));
  const s = ep(r, a, o), l = ep(r, i, o, !0), c = s.direction === "rtl", u = f2(s);
  return /* @__PURE__ */ x(Fi, {
    theme: l,
    children: /* @__PURE__ */ x(Ir.Provider, {
      value: s,
      children: /* @__PURE__ */ x(Jm, {
        value: c,
        children: /* @__PURE__ */ he(th, {
          value: s == null ? void 0 : s.components,
          children: [u, t]
        })
      })
    })
  });
}
process.env.NODE_ENV !== "production" && (ji.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Your component tree.
   */
  children: n.node,
  /**
   * A theme object. You can provide a function to extend the outer theme.
   */
  theme: n.oneOfType([n.func, n.object]).isRequired,
  /**
   * The design system's unique id for getting the corresponded theme when there are multiple design systems.
   */
  themeId: n.string
});
process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "production" && (ji.propTypes = Da(ji.propTypes));
const Bo = "$$material";
function m2(e, t) {
  return m({
    toolbar: {
      minHeight: 56,
      [e.up("xs")]: {
        "@media (orientation: landscape)": {
          minHeight: 48
        }
      },
      [e.up("sm")]: {
        minHeight: 64
      }
    }
  }, t);
}
var St = {}, nh = { exports: {} };
(function(e) {
  function t(o) {
    return o && o.__esModule ? o : {
      default: o
    };
  }
  e.exports = t, e.exports.__esModule = !0, e.exports.default = e.exports;
})(nh);
var Pt = nh.exports;
const h2 = /* @__PURE__ */ Jn(dy), g2 = /* @__PURE__ */ Jn(_v);
var oh = Pt;
Object.defineProperty(St, "__esModule", {
  value: !0
});
var _e = St.alpha = sh;
St.blend = S2;
St.colorChannel = void 0;
var go = St.darken = Fc;
St.decomposeColor = fn;
var Ql = St.emphasize = lh, tp = St.getContrastRatio = C2;
St.getLuminance = Vi;
St.hexToRgb = rh;
St.hslToRgb = ih;
var bo = St.lighten = jc;
St.private_safeAlpha = T2;
St.private_safeColorChannel = void 0;
St.private_safeDarken = w2;
St.private_safeEmphasize = E2;
St.private_safeLighten = O2;
St.recomposeColor = Ar;
St.rgbToHex = x2;
var np = oh(h2), b2 = oh(g2);
function Lc(e, t = 0, o = 1) {
  return process.env.NODE_ENV !== "production" && (e < t || e > o) && console.error(`MUI: The value provided ${e} is out of range [${t}, ${o}].`), (0, b2.default)(e, t, o);
}
function rh(e) {
  e = e.slice(1);
  const t = new RegExp(`.{1,${e.length >= 6 ? 2 : 1}}`, "g");
  let o = e.match(t);
  return o && o[0].length === 1 && (o = o.map((r) => r + r)), o ? `rgb${o.length === 4 ? "a" : ""}(${o.map((r, a) => a < 3 ? parseInt(r, 16) : Math.round(parseInt(r, 16) / 255 * 1e3) / 1e3).join(", ")})` : "";
}
function y2(e) {
  const t = e.toString(16);
  return t.length === 1 ? `0${t}` : t;
}
function fn(e) {
  if (e.type)
    return e;
  if (e.charAt(0) === "#")
    return fn(rh(e));
  const t = e.indexOf("("), o = e.substring(0, t);
  if (["rgb", "rgba", "hsl", "hsla", "color"].indexOf(o) === -1)
    throw new Error(process.env.NODE_ENV !== "production" ? `MUI: Unsupported \`${e}\` color.
The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : (0, np.default)(9, e));
  let r = e.substring(t + 1, e.length - 1), a;
  if (o === "color") {
    if (r = r.split(" "), a = r.shift(), r.length === 4 && r[3].charAt(0) === "/" && (r[3] = r[3].slice(1)), ["srgb", "display-p3", "a98-rgb", "prophoto-rgb", "rec-2020"].indexOf(a) === -1)
      throw new Error(process.env.NODE_ENV !== "production" ? `MUI: unsupported \`${a}\` color space.
The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : (0, np.default)(10, a));
  } else
    r = r.split(",");
  return r = r.map((i) => parseFloat(i)), {
    type: o,
    values: r,
    colorSpace: a
  };
}
const ah = (e) => {
  const t = fn(e);
  return t.values.slice(0, 3).map((o, r) => t.type.indexOf("hsl") !== -1 && r !== 0 ? `${o}%` : o).join(" ");
};
St.colorChannel = ah;
const v2 = (e, t) => {
  try {
    return ah(e);
  } catch {
    return t && process.env.NODE_ENV !== "production" && console.warn(t), e;
  }
};
St.private_safeColorChannel = v2;
function Ar(e) {
  const {
    type: t,
    colorSpace: o
  } = e;
  let {
    values: r
  } = e;
  return t.indexOf("rgb") !== -1 ? r = r.map((a, i) => i < 3 ? parseInt(a, 10) : a) : t.indexOf("hsl") !== -1 && (r[1] = `${r[1]}%`, r[2] = `${r[2]}%`), t.indexOf("color") !== -1 ? r = `${o} ${r.join(" ")}` : r = `${r.join(", ")}`, `${t}(${r})`;
}
function x2(e) {
  if (e.indexOf("#") === 0)
    return e;
  const {
    values: t
  } = fn(e);
  return `#${t.map((o, r) => y2(r === 3 ? Math.round(255 * o) : o)).join("")}`;
}
function ih(e) {
  e = fn(e);
  const {
    values: t
  } = e, o = t[0], r = t[1] / 100, a = t[2] / 100, i = r * Math.min(a, 1 - a), s = (u, p = (u + o / 30) % 12) => a - i * Math.max(Math.min(p - 3, 9 - p, 1), -1);
  let l = "rgb";
  const c = [Math.round(s(0) * 255), Math.round(s(8) * 255), Math.round(s(4) * 255)];
  return e.type === "hsla" && (l += "a", c.push(t[3])), Ar({
    type: l,
    values: c
  });
}
function Vi(e) {
  e = fn(e);
  let t = e.type === "hsl" || e.type === "hsla" ? fn(ih(e)).values : e.values;
  return t = t.map((o) => (e.type !== "color" && (o /= 255), o <= 0.03928 ? o / 12.92 : ((o + 0.055) / 1.055) ** 2.4)), Number((0.2126 * t[0] + 0.7152 * t[1] + 0.0722 * t[2]).toFixed(3));
}
function C2(e, t) {
  const o = Vi(e), r = Vi(t);
  return (Math.max(o, r) + 0.05) / (Math.min(o, r) + 0.05);
}
function sh(e, t) {
  return e = fn(e), t = Lc(t), (e.type === "rgb" || e.type === "hsl") && (e.type += "a"), e.type === "color" ? e.values[3] = `/${t}` : e.values[3] = t, Ar(e);
}
function T2(e, t, o) {
  try {
    return sh(e, t);
  } catch {
    return o && process.env.NODE_ENV !== "production" && console.warn(o), e;
  }
}
function Fc(e, t) {
  if (e = fn(e), t = Lc(t), e.type.indexOf("hsl") !== -1)
    e.values[2] *= 1 - t;
  else if (e.type.indexOf("rgb") !== -1 || e.type.indexOf("color") !== -1)
    for (let o = 0; o < 3; o += 1)
      e.values[o] *= 1 - t;
  return Ar(e);
}
function w2(e, t, o) {
  try {
    return Fc(e, t);
  } catch {
    return o && process.env.NODE_ENV !== "production" && console.warn(o), e;
  }
}
function jc(e, t) {
  if (e = fn(e), t = Lc(t), e.type.indexOf("hsl") !== -1)
    e.values[2] += (100 - e.values[2]) * t;
  else if (e.type.indexOf("rgb") !== -1)
    for (let o = 0; o < 3; o += 1)
      e.values[o] += (255 - e.values[o]) * t;
  else if (e.type.indexOf("color") !== -1)
    for (let o = 0; o < 3; o += 1)
      e.values[o] += (1 - e.values[o]) * t;
  return Ar(e);
}
function O2(e, t, o) {
  try {
    return jc(e, t);
  } catch {
    return o && process.env.NODE_ENV !== "production" && console.warn(o), e;
  }
}
function lh(e, t = 0.15) {
  return Vi(e) > 0.5 ? Fc(e, t) : jc(e, t);
}
function E2(e, t, o) {
  try {
    return lh(e, t);
  } catch {
    return o && process.env.NODE_ENV !== "production" && console.warn(o), e;
  }
}
function S2(e, t, o, r = 1) {
  const a = (c, u) => Math.round((c ** (1 / r) * (1 - o) + u ** (1 / r) * o) ** r), i = fn(e), s = fn(t), l = [a(i.values[0], s.values[0]), a(i.values[1], s.values[1]), a(i.values[2], s.values[2])];
  return Ar({
    type: "rgb",
    values: l
  });
}
const xa = {
  black: "#000",
  white: "#fff"
}, P2 = {
  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"
}, Zo = {
  50: "#f3e5f5",
  200: "#ce93d8",
  300: "#ba68c8",
  400: "#ab47bc",
  500: "#9c27b0",
  700: "#7b1fa2"
}, Qo = {
  300: "#e57373",
  400: "#ef5350",
  500: "#f44336",
  700: "#d32f2f",
  800: "#c62828"
}, Yr = {
  300: "#ffb74d",
  400: "#ffa726",
  500: "#ff9800",
  700: "#f57c00",
  900: "#e65100"
}, Jo = {
  50: "#e3f2fd",
  200: "#90caf9",
  400: "#42a5f5",
  700: "#1976d2",
  800: "#1565c0"
}, er = {
  300: "#4fc3f7",
  400: "#29b6f6",
  500: "#03a9f4",
  700: "#0288d1",
  900: "#01579b"
}, tr = {
  300: "#81c784",
  400: "#66bb6a",
  500: "#4caf50",
  700: "#388e3c",
  800: "#2e7d32",
  900: "#1b5e20"
}, R2 = ["mode", "contrastThreshold", "tonalOffset"], op = {
  // 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: xa.white,
    default: xa.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
  }
}, wl = {
  text: {
    primary: xa.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: xa.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
  }
};
function rp(e, t, o, r) {
  const a = r.light || r, i = r.dark || r * 1.5;
  e[t] || (e.hasOwnProperty(o) ? e[t] = e[o] : t === "light" ? e.light = bo(e.main, a) : t === "dark" && (e.dark = go(e.main, i)));
}
function k2(e = "light") {
  return e === "dark" ? {
    main: Jo[200],
    light: Jo[50],
    dark: Jo[400]
  } : {
    main: Jo[700],
    light: Jo[400],
    dark: Jo[800]
  };
}
function M2(e = "light") {
  return e === "dark" ? {
    main: Zo[200],
    light: Zo[50],
    dark: Zo[400]
  } : {
    main: Zo[500],
    light: Zo[300],
    dark: Zo[700]
  };
}
function $2(e = "light") {
  return e === "dark" ? {
    main: Qo[500],
    light: Qo[300],
    dark: Qo[700]
  } : {
    main: Qo[700],
    light: Qo[400],
    dark: Qo[800]
  };
}
function D2(e = "light") {
  return e === "dark" ? {
    main: er[400],
    light: er[300],
    dark: er[700]
  } : {
    main: er[700],
    light: er[500],
    dark: er[900]
  };
}
function I2(e = "light") {
  return e === "dark" ? {
    main: tr[400],
    light: tr[300],
    dark: tr[700]
  } : {
    main: tr[800],
    light: tr[500],
    dark: tr[900]
  };
}
function N2(e = "light") {
  return e === "dark" ? {
    main: Yr[400],
    light: Yr[300],
    dark: Yr[700]
  } : {
    main: "#ed6c02",
    // closest to orange[800] that pass 3:1.
    light: Yr[500],
    dark: Yr[900]
  };
}
function _2(e) {
  const {
    mode: t = "light",
    contrastThreshold: o = 3,
    tonalOffset: r = 0.2
  } = e, a = oe(e, R2), i = e.primary || k2(t), s = e.secondary || M2(t), l = e.error || $2(t), c = e.info || D2(t), u = e.success || I2(t), p = e.warning || N2(t);
  function f(h) {
    const y = tp(h, wl.text.primary) >= o ? wl.text.primary : op.text.primary;
    if (process.env.NODE_ENV !== "production") {
      const C = tp(h, y);
      C < 3 && console.error([`MUI: The contrast ratio of ${C}:1 for ${y} on ${h}`, "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 y;
  }
  const g = ({
    color: h,
    name: y,
    mainShade: C = 500,
    lightShade: E = 300,
    darkShade: w = 700
  }) => {
    if (h = m({}, h), !h.main && h[C] && (h.main = h[C]), !h.hasOwnProperty("main"))
      throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The color${y ? ` (${y})` : ""} provided to augmentColor(color) is invalid.
The color object needs to have a \`main\` property or a \`${C}\` property.` : Gn(11, y ? ` (${y})` : "", C));
    if (typeof h.main != "string")
      throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The color${y ? ` (${y})` : ""} provided to augmentColor(color) is invalid.
\`color.main\` should be a string, but \`${JSON.stringify(h.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] },
} });` : Gn(12, y ? ` (${y})` : "", JSON.stringify(h.main)));
    return rp(h, "light", E, r), rp(h, "dark", w, r), h.contrastText || (h.contrastText = f(h.main)), h;
  }, v = {
    dark: wl,
    light: op
  };
  return process.env.NODE_ENV !== "production" && (v[t] || console.error(`MUI: The palette mode \`${t}\` is not supported.`)), Qt(m({
    // A collection of common colors.
    common: m({}, xa),
    // 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: g({
      color: i,
      name: "primary"
    }),
    // The colors used to represent secondary interface elements for a user.
    secondary: g({
      color: s,
      name: "secondary",
      mainShade: "A400",
      lightShade: "A200",
      darkShade: "A700"
    }),
    // The colors used to represent interface elements that the user should be made aware of.
    error: g({
      color: l,
      name: "error"
    }),
    // The colors used to represent potentially dangerous actions or important messages.
    warning: g({
      color: p,
      name: "warning"
    }),
    // The colors used to present information to the user that is neutral and not necessarily important.
    info: g({
      color: c,
      name: "info"
    }),
    // The colors used to indicate the successful completion of an action that user triggered.
    success: g({
      color: u,
      name: "success"
    }),
    // The grey colors.
    grey: P2,
    // Used by `getContrastText()` to maximize the contrast between
    // the background and the text.
    contrastThreshold: o,
    // Takes a background color and returns the text color that maximizes the contrast.
    getContrastText: f,
    // Generate a rich color object.
    augmentColor: g,
    // 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: r
  }, v[t]), a);
}
const A2 = ["fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem"];
function L2(e) {
  return Math.round(e * 1e5) / 1e5;
}
const ap = {
  textTransform: "uppercase"
}, ip = '"Roboto", "Helvetica", "Arial", sans-serif';
function F2(e, t) {
  const o = typeof t == "function" ? t(e) : t, {
    fontFamily: r = ip,
    // The default font size of the Material Specification.
    fontSize: a = 14,
    // px
    fontWeightLight: i = 300,
    fontWeightRegular: s = 400,
    fontWeightMedium: l = 500,
    fontWeightBold: c = 700,
    // Tell MUI what's the font-size on the html element.
    // 16px is the default font-size used by browsers.
    htmlFontSize: u = 16,
    // Apply the CSS properties to all the variants.
    allVariants: p,
    pxToRem: f
  } = o, g = oe(o, A2);
  process.env.NODE_ENV !== "production" && (typeof a != "number" && console.error("MUI: `fontSize` is required to be a number."), typeof u != "number" && console.error("MUI: `htmlFontSize` is required to be a number."));
  const v = a / 14, b = f || ((C) => `${C / u * v}rem`), h = (C, E, w, T, O) => m({
    fontFamily: r,
    fontWeight: C,
    fontSize: b(E),
    // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/
    lineHeight: w
  }, r === ip ? {
    letterSpacing: `${L2(T / E)}em`
  } : {}, O, p), y = {
    h1: h(i, 96, 1.167, -1.5),
    h2: h(i, 60, 1.2, -0.5),
    h3: h(s, 48, 1.167, 0),
    h4: h(s, 34, 1.235, 0.25),
    h5: h(s, 24, 1.334, 0),
    h6: h(l, 20, 1.6, 0.15),
    subtitle1: h(s, 16, 1.75, 0.15),
    subtitle2: h(l, 14, 1.57, 0.1),
    body1: h(s, 16, 1.5, 0.15),
    body2: h(s, 14, 1.43, 0.15),
    button: h(l, 14, 1.75, 0.4, ap),
    caption: h(s, 12, 1.66, 0.4),
    overline: h(s, 12, 2.66, 1, ap),
    // 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 Qt(m({
    htmlFontSize: u,
    pxToRem: b,
    fontFamily: r,
    fontSize: a,
    fontWeightLight: i,
    fontWeightRegular: s,
    fontWeightMedium: l,
    fontWeightBold: c
  }, y), g, {
    clone: !1
    // No need to clone deep
  });
}
const j2 = 0.2, V2 = 0.14, z2 = 0.12;
function ht(...e) {
  return [`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${j2})`, `${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${V2})`, `${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${z2})`].join(",");
}
const B2 = ["none", ht(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), ht(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), ht(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), ht(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), ht(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), ht(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), ht(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), ht(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), ht(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), ht(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), ht(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), ht(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), ht(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), ht(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), ht(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), ht(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), ht(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), ht(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), ht(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), ht(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), ht(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), ht(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), ht(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), ht(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)], W2 = ["duration", "easing", "delay"], U2 = {
  // 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)"
}, ch = {
  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 sp(e) {
  return `${Math.round(e)}ms`;
}
function H2(e) {
  if (!e)
    return 0;
  const t = e / 36;
  return Math.round((4 + 15 * t ** 0.25 + t / 5) * 10);
}
function q2(e) {
  const t = m({}, U2, e.easing), o = m({}, ch, e.duration);
  return m({
    getAutoHeightDuration: H2,
    create: (a = ["all"], i = {}) => {
      const {
        duration: s = o.standard,
        easing: l = t.easeInOut,
        delay: c = 0
      } = i, u = oe(i, W2);
      if (process.env.NODE_ENV !== "production") {
        const p = (g) => typeof g == "string", f = (g) => !isNaN(parseFloat(g));
        !p(a) && !Array.isArray(a) && console.error('MUI: Argument "props" must be a string or Array.'), !f(s) && !p(s) && console.error(`MUI: Argument "duration" must be a number or a string but found ${s}.`), p(l) || console.error('MUI: Argument "easing" must be a string.'), !f(c) && !p(c) && console.error('MUI: Argument "delay" must be a number or a string.'), typeof i != "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(u).length !== 0 && console.error(`MUI: Unrecognized argument(s) [${Object.keys(u).join(",")}].`);
      }
      return (Array.isArray(a) ? a : [a]).map((p) => `${p} ${typeof s == "string" ? s : sp(s)} ${l} ${typeof c == "string" ? c : sp(c)}`).join(",");
    }
  }, e, {
    easing: t,
    duration: o
  });
}
const Y2 = {
  mobileStepper: 1e3,
  fab: 1050,
  speedDial: 1050,
  appBar: 1100,
  drawer: 1200,
  modal: 1300,
  snackbar: 1400,
  tooltip: 1500
}, K2 = ["breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape"];
function Vc(e = {}, ...t) {
  const {
    mixins: o = {},
    palette: r = {},
    transitions: a = {},
    typography: i = {}
  } = e, s = oe(e, K2);
  if (e.vars && // The error should throw only for the root theme creation because user is not allowed to use a custom node `vars`.
  // `generateCssVars` is the closest identifier for checking that the `options` is a result of `extendTheme` with CSS variables so that user can create new theme for nested ThemeProvider.
  e.generateCssVars === 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." : Gn(18));
  const l = _2(r), c = $c(e);
  let u = Qt(c, {
    mixins: m2(c.breakpoints, o),
    palette: l,
    // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.
    shadows: B2.slice(),
    typography: F2(l, i),
    transitions: q2(a),
    zIndex: m({}, Y2)
  });
  if (u = Qt(u, s), u = t.reduce((p, f) => Qt(p, f), u), process.env.NODE_ENV !== "production") {
    const p = ["active", "checked", "completed", "disabled", "error", "expanded", "focused", "focusVisible", "required", "selected"], f = (g, v) => {
      let b;
      for (b in g) {
        const h = g[b];
        if (p.indexOf(b) !== -1 && Object.keys(h).length > 0) {
          if (process.env.NODE_ENV !== "production") {
            const y = ye("", b);
            console.error([`MUI: The \`${v}\` component increases the CSS specificity of the \`${b}\` internal state.`, "You can not override it like this: ", JSON.stringify(g, null, 2), "", `Instead, you need to use the '&.${y}' syntax:`, JSON.stringify({
              root: {
                [`&.${y}`]: h
              }
            }, null, 2), "", "https://mui.com/r/state-classes-guide"].join(`
`));
          }
          g[b] = {};
        }
      }
    };
    Object.keys(u.components).forEach((g) => {
      const v = u.components[g].styleOverrides;
      v && g.indexOf("Mui") === 0 && f(v, g);
    });
  }
  return u.unstable_sxConfig = m({}, Ma, s == null ? void 0 : s.unstable_sxConfig), u.unstable_sx = function(f) {
    return $a({
      sx: f,
      theme: this
    });
  }, u;
}
const ys = Vc();
function vn() {
  const e = hs(ys);
  return process.env.NODE_ENV !== "production" && d.useDebugValue(e), e[Bo] || e;
}
function dt({
  props: e,
  name: t
}) {
  return Dv({
    props: e,
    name: t,
    defaultTheme: ys,
    themeId: Bo
  });
}
var _a = {}, Ol = { exports: {} }, lp;
function G2() {
  return lp || (lp = 1, function(e) {
    function t(o, r) {
      if (o == null) return {};
      var a = {};
      for (var i in o) if ({}.hasOwnProperty.call(o, i)) {
        if (r.indexOf(i) !== -1) continue;
        a[i] = o[i];
      }
      return a;
    }
    e.exports = t, e.exports.__esModule = !0, e.exports.default = e.exports;
  }(Ol)), Ol.exports;
}
const uh = /* @__PURE__ */ Jn(w0), X2 = /* @__PURE__ */ Jn(O0), Z2 = /* @__PURE__ */ Jn(k0), Q2 = /* @__PURE__ */ Jn($v), J2 = /* @__PURE__ */ Jn(bv), ex = /* @__PURE__ */ Jn(Tv);
var Lr = Pt;
Object.defineProperty(_a, "__esModule", {
  value: !0
});
var tx = _a.default = hx;
_a.shouldForwardProp = Si;
_a.systemDefaultTheme = void 0;
var rn = Lr(Om()), Jl = Lr(G2()), zi = ux(uh), nx = X2, ox = Lr(Z2), rx = Lr(Q2), ax = Lr(J2), ix = Lr(ex);
const sx = ["ownerState"], lx = ["variants"], cx = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
function dh(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (dh = function(r) {
    return r ? o : t;
  })(e);
}
function ux(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = dh(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
function dx(e) {
  return Object.keys(e).length === 0;
}
function px(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 Si(e) {
  return e !== "ownerState" && e !== "theme" && e !== "sx" && e !== "as";
}
function cp(e, t) {
  return t && e && typeof e == "object" && e.styles && !e.styles.startsWith("@layer") && (e.styles = `@layer ${t}{${String(e.styles)}}`), e;
}
const fx = _a.systemDefaultTheme = (0, ax.default)(), up = (e) => e && e.charAt(0).toLowerCase() + e.slice(1);
function oi({
  defaultTheme: e,
  theme: t,
  themeId: o
}) {
  return dx(t) ? e : t[o] || t;
}
function mx(e) {
  return e ? (t, o) => o[e] : null;
}
function Pi(e, t, o) {
  let {
    ownerState: r
  } = t, a = (0, Jl.default)(t, sx);
  const i = typeof e == "function" ? e((0, rn.default)({
    ownerState: r
  }, a)) : e;
  if (Array.isArray(i))
    return i.flatMap((s) => Pi(s, (0, rn.default)({
      ownerState: r
    }, a), o));
  if (i && typeof i == "object" && Array.isArray(i.variants)) {
    const {
      variants: s = []
    } = i;
    let c = (0, Jl.default)(i, lx);
    return s.forEach((u) => {
      let p = !0;
      if (typeof u.props == "function" ? p = u.props((0, rn.default)({
        ownerState: r
      }, a, r)) : Object.keys(u.props).forEach((f) => {
        (r == null ? void 0 : r[f]) !== u.props[f] && a[f] !== u.props[f] && (p = !1);
      }), p) {
        Array.isArray(c) || (c = [c]);
        const f = typeof u.style == "function" ? u.style((0, rn.default)({
          ownerState: r
        }, a, r)) : u.style;
        c.push(o ? cp((0, zi.internal_serializeStyles)(f), o) : f);
      }
    }), c;
  }
  return o ? cp((0, zi.internal_serializeStyles)(i), o) : i;
}
function hx(e = {}) {
  const {
    themeId: t,
    defaultTheme: o = fx,
    rootShouldForwardProp: r = Si,
    slotShouldForwardProp: a = Si
  } = e, i = (s) => (0, ix.default)((0, rn.default)({}, s, {
    theme: oi((0, rn.default)({}, s, {
      defaultTheme: o,
      themeId: t
    }))
  }));
  return i.__mui_systemSx = !0, (s, l = {}) => {
    (0, zi.internal_processStyles)(s, (P) => P.filter((S) => !(S != null && S.__mui_systemSx)));
    const {
      name: c,
      slot: u,
      skipVariantsResolver: p,
      skipSx: f,
      // TODO v6: remove `lowercaseFirstLetter()` in the next major release
      // For more details: https://github.com/mui/material-ui/pull/37908
      overridesResolver: g = mx(up(u))
    } = l, v = (0, Jl.default)(l, cx), b = c && c.startsWith("Mui") || u ? "components" : "custom", h = p !== void 0 ? p : (
      // TODO v6: remove `Root` in the next major release
      // For more details: https://github.com/mui/material-ui/pull/37908
      u && u !== "Root" && u !== "root" || !1
    ), y = f || !1;
    let C;
    process.env.NODE_ENV !== "production" && c && (C = `${c}-${up(u || "Root")}`);
    let E = Si;
    u === "Root" || u === "root" ? E = r : u ? E = a : px(s) && (E = void 0);
    const w = (0, zi.default)(s, (0, rn.default)({
      shouldForwardProp: E,
      label: C
    }, v)), T = (P) => typeof P == "function" && P.__emotion_real !== P || (0, nx.isPlainObject)(P) ? (S) => {
      const $ = oi({
        theme: S.theme,
        defaultTheme: o,
        themeId: t
      });
      return Pi(P, (0, rn.default)({}, S, {
        theme: $
      }), $.modularCssLayers ? b : void 0);
    } : P, O = (P, ...S) => {
      let $ = T(P);
      const A = S ? S.map(T) : [];
      c && g && A.push((V) => {
        const L = oi((0, rn.default)({}, V, {
          defaultTheme: o,
          themeId: t
        }));
        if (!L.components || !L.components[c] || !L.components[c].styleOverrides)
          return null;
        const I = L.components[c].styleOverrides, R = {};
        return Object.entries(I).forEach(([k, F]) => {
          R[k] = Pi(F, (0, rn.default)({}, V, {
            theme: L
          }), L.modularCssLayers ? "theme" : void 0);
        }), g(V, R);
      }), c && !h && A.push((V) => {
        var L;
        const I = oi((0, rn.default)({}, V, {
          defaultTheme: o,
          themeId: t
        })), R = I == null || (L = I.components) == null || (L = L[c]) == null ? void 0 : L.variants;
        return Pi({
          variants: R
        }, (0, rn.default)({}, V, {
          theme: I
        }), I.modularCssLayers ? "theme" : void 0);
      }), y || A.push(i);
      const N = A.length - S.length;
      if (Array.isArray(P) && N > 0) {
        const V = new Array(N).fill("");
        $ = [...P, ...V], $.raw = [...P.raw, ...V];
      }
      const D = w($, ...A);
      if (process.env.NODE_ENV !== "production") {
        let V;
        c && (V = `${c}${(0, ox.default)(u || "")}`), V === void 0 && (V = `Styled(${(0, rx.default)(s)})`), D.displayName = V;
      }
      return s.muiName && (D.muiName = s.muiName), D;
    };
    return w.withConfig && (O.withConfig = w.withConfig), O;
  };
}
function vs(e) {
  return e !== "ownerState" && e !== "theme" && e !== "sx" && e !== "as";
}
const _t = (e) => vs(e) && e !== "classes", U = tx({
  themeId: Bo,
  defaultTheme: ys,
  rootShouldForwardProp: _t
}), gx = ["theme"];
function ph(e) {
  let {
    theme: t
  } = e, o = oe(e, gx);
  const r = t[Bo];
  let a = r || t;
  return typeof t != "function" && (r && !r.vars ? a = m({}, r, {
    vars: null
  }) : t && !t.vars && (a = m({}, t, {
    vars: null
  }))), /* @__PURE__ */ x(ji, m({}, o, {
    themeId: r ? Bo : void 0,
    theme: a
  }));
}
process.env.NODE_ENV !== "production" && (ph.propTypes = {
  /**
   * Your component tree.
   */
  children: n.node,
  /**
   * A theme object. You can provide a function to extend the outer theme.
   */
  theme: n.oneOfType([n.object, n.func]).isRequired
});
const dp = (e) => {
  let t;
  return e < 1 ? t = 5.11916 * e ** 2 : t = 4.5 * Math.log(e + 1) + 2, (t / 100).toFixed(2);
}, bx = be("MuiBox", ["root"]), yx = Vc(), Ae = Ev({
  themeId: Bo,
  defaultTheme: yx,
  defaultClassName: bx.root,
  generateClassName: Nc.generate
});
process.env.NODE_ENV !== "production" && (Ae.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * @ignore
   */
  children: n.node,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
const N7 = ({ children: e, open: t, onClick: o, ...r }) => t ? /* @__PURE__ */ x(
  Ae,
  {
    onClick: o,
    sx: {
      position: "fixed",
      top: 0,
      left: 0,
      width: "100vw",
      height: "100vh",
      backgroundColor: "rgba(0, 0, 0, 0.3)",
      // Semi-transparent background
      backdropFilter: "blur(5px)",
      // Blur effect
      WebkitBackdropFilter: "blur(5px)",
      // For Safari
      zIndex: 1199,
      // Ensure it's below the Drawer (default 1200) but above other content
      display: "flex",
      justifyContent: "center",
      alignItems: "center"
    },
    ...r,
    children: e
  }
) : null, _7 = ({ children: e, ...t }) => /* @__PURE__ */ x(
  Ae,
  {
    sx: {
      p: 2,
      // Default padding
      bgcolor: "background.paper",
      // Default background color from theme
      borderRadius: 2
      // Default border radius
    },
    ...t,
    children: e
  }
), A7 = ({ children: e, justify: t, align: o, wrap: r, ...a }) => /* @__PURE__ */ x(Ae, { display: "flex", justifyContent: t, alignItems: o, flexWrap: r, ...a, children: e });
process.env.NODE_ENV !== "production" && (n.node, n.object.isRequired);
function Ee(e) {
  return p2(e);
}
function ec(e, t) {
  return ec = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(o, r) {
    return o.__proto__ = r, o;
  }, ec(e, t);
}
function zc(e, t) {
  e.prototype = Object.create(t.prototype), e.prototype.constructor = e, ec(e, t);
}
function vx(e, t) {
  return e.classList ? !!t && e.classList.contains(t) : (" " + (e.className.baseVal || e.className) + " ").indexOf(" " + t + " ") !== -1;
}
function xx(e, t) {
  e.classList ? e.classList.add(t) : vx(e, t) || (typeof e.className == "string" ? e.className = e.className + " " + t : e.setAttribute("class", (e.className && e.className.baseVal || "") + " " + t));
}
function pp(e, t) {
  return e.replace(new RegExp("(^|\\s)" + t + "(?:\\s|$)", "g"), "$1").replace(/\s+/g, " ").replace(/^\s*|\s*$/g, "");
}
function Cx(e, t) {
  e.classList ? e.classList.remove(t) : typeof e.className == "string" ? e.className = pp(e.className, t) : e.setAttribute("class", pp(e.className && e.className.baseVal || "", t));
}
const fp = {
  disabled: !1
};
var Tx = process.env.NODE_ENV !== "production" ? n.oneOfType([n.number, n.shape({
  enter: n.number,
  exit: n.number,
  appear: n.number
}).isRequired]) : null, wx = process.env.NODE_ENV !== "production" ? n.oneOfType([n.string, n.shape({
  enter: n.string,
  exit: n.string,
  active: n.string
}), n.shape({
  enter: n.string,
  enterDone: n.string,
  enterActive: n.string,
  exit: n.string,
  exitDone: n.string,
  exitActive: n.string
})]) : null;
const Bi = tt.createContext(null);
var fh = function(t) {
  return t.scrollTop;
}, sa = "unmounted", _o = "exited", Ao = "entering", ar = "entered", tc = "exiting", qt = /* @__PURE__ */ function(e) {
  zc(t, e);
  function t(r, a) {
    var i;
    i = e.call(this, r, a) || this;
    var s = a, l = s && !s.isMounting ? r.enter : r.appear, c;
    return i.appearStatus = null, r.in ? l ? (c = _o, i.appearStatus = Ao) : c = ar : r.unmountOnExit || r.mountOnEnter ? c = sa : c = _o, i.state = {
      status: c
    }, i.nextCallback = null, i;
  }
  t.getDerivedStateFromProps = function(a, i) {
    var s = a.in;
    return s && i.status === sa ? {
      status: _o
    } : null;
  };
  var o = t.prototype;
  return o.componentDidMount = function() {
    this.updateStatus(!0, this.appearStatus);
  }, o.componentDidUpdate = function(a) {
    var i = null;
    if (a !== this.props) {
      var s = this.state.status;
      this.props.in ? s !== Ao && s !== ar && (i = Ao) : (s === Ao || s === ar) && (i = tc);
    }
    this.updateStatus(!1, i);
  }, o.componentWillUnmount = function() {
    this.cancelNextCallback();
  }, o.getTimeouts = function() {
    var a = this.props.timeout, i, s, l;
    return i = s = l = a, a != null && typeof a != "number" && (i = a.exit, s = a.enter, l = a.appear !== void 0 ? a.appear : s), {
      exit: i,
      enter: s,
      appear: l
    };
  }, o.updateStatus = function(a, i) {
    if (a === void 0 && (a = !1), i !== null)
      if (this.cancelNextCallback(), i === Ao) {
        if (this.props.unmountOnExit || this.props.mountOnEnter) {
          var s = this.props.nodeRef ? this.props.nodeRef.current : ei.findDOMNode(this);
          s && fh(s);
        }
        this.performEnter(a);
      } else
        this.performExit();
    else this.props.unmountOnExit && this.state.status === _o && this.setState({
      status: sa
    });
  }, o.performEnter = function(a) {
    var i = this, s = this.props.enter, l = this.context ? this.context.isMounting : a, c = this.props.nodeRef ? [l] : [ei.findDOMNode(this), l], u = c[0], p = c[1], f = this.getTimeouts(), g = l ? f.appear : f.enter;
    if (!a && !s || fp.disabled) {
      this.safeSetState({
        status: ar
      }, function() {
        i.props.onEntered(u);
      });
      return;
    }
    this.props.onEnter(u, p), this.safeSetState({
      status: Ao
    }, function() {
      i.props.onEntering(u, p), i.onTransitionEnd(g, function() {
        i.safeSetState({
          status: ar
        }, function() {
          i.props.onEntered(u, p);
        });
      });
    });
  }, o.performExit = function() {
    var a = this, i = this.props.exit, s = this.getTimeouts(), l = this.props.nodeRef ? void 0 : ei.findDOMNode(this);
    if (!i || fp.disabled) {
      this.safeSetState({
        status: _o
      }, function() {
        a.props.onExited(l);
      });
      return;
    }
    this.props.onExit(l), this.safeSetState({
      status: tc
    }, function() {
      a.props.onExiting(l), a.onTransitionEnd(s.exit, function() {
        a.safeSetState({
          status: _o
        }, function() {
          a.props.onExited(l);
        });
      });
    });
  }, o.cancelNextCallback = function() {
    this.nextCallback !== null && (this.nextCallback.cancel(), this.nextCallback = null);
  }, o.safeSetState = function(a, i) {
    i = this.setNextCallback(i), this.setState(a, i);
  }, o.setNextCallback = function(a) {
    var i = this, s = !0;
    return this.nextCallback = function(l) {
      s && (s = !1, i.nextCallback = null, a(l));
    }, this.nextCallback.cancel = function() {
      s = !1;
    }, this.nextCallback;
  }, o.onTransitionEnd = function(a, i) {
    this.setNextCallback(i);
    var s = this.props.nodeRef ? this.props.nodeRef.current : ei.findDOMNode(this), l = a == null && !this.props.addEndListener;
    if (!s || l) {
      setTimeout(this.nextCallback, 0);
      return;
    }
    if (this.props.addEndListener) {
      var c = this.props.nodeRef ? [this.nextCallback] : [s, this.nextCallback], u = c[0], p = c[1];
      this.props.addEndListener(u, p);
    }
    a != null && setTimeout(this.nextCallback, a);
  }, o.render = function() {
    var a = this.state.status;
    if (a === sa)
      return null;
    var i = this.props, s = i.children;
    i.in, i.mountOnEnter, i.unmountOnExit, i.appear, i.enter, i.exit, i.timeout, i.addEndListener, i.onEnter, i.onEntering, i.onEntered, i.onExit, i.onExiting, i.onExited, i.nodeRef;
    var l = oe(i, ["children", "in", "mountOnEnter", "unmountOnExit", "appear", "enter", "exit", "timeout", "addEndListener", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "nodeRef"]);
    return (
      // allows for nested Transitions
      /* @__PURE__ */ tt.createElement(Bi.Provider, {
        value: null
      }, typeof s == "function" ? s(a, l) : tt.cloneElement(tt.Children.only(s), l))
    );
  }, t;
}(tt.Component);
qt.contextType = Bi;
qt.propTypes = process.env.NODE_ENV !== "production" ? {
  /**
   * A React reference to DOM element that need to transition:
   * https://stackoverflow.com/a/51127130/4671932
   *
   *   - When `nodeRef` prop is used, `node` is not passed to callback functions
   *      (e.g. `onEnter`) because user already has direct access to the node.
   *   - When changing `key` prop of `Transition` in a `TransitionGroup` a new
   *     `nodeRef` need to be provided to `Transition` with changed `key` prop
   *     (see
   *     [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).
   */
  nodeRef: n.shape({
    current: typeof Element > "u" ? n.any : function(e, t, o, r, a, i) {
      var s = e[t];
      return n.instanceOf(s && "ownerDocument" in s ? s.ownerDocument.defaultView.Element : Element)(e, t, o, r, a, i);
    }
  }),
  /**
   * A `function` child can be used instead of a React element. This function is
   * called with the current transition status (`'entering'`, `'entered'`,
   * `'exiting'`, `'exited'`), which can be used to apply context
   * specific props to a component.
   *
   * ```jsx
   * <Transition in={this.state.in} timeout={150}>
   *   {state => (
   *     <MyComponent className={`fade fade-${state}`} />
   *   )}
   * </Transition>
   * ```
   */
  children: n.oneOfType([n.func.isRequired, n.element.isRequired]).isRequired,
  /**
   * Show the component; triggers the enter or exit states
   */
  in: n.bool,
  /**
   * By default the child component is mounted immediately along with
   * the parent `Transition` component. If you want to "lazy mount" the component on the
   * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay
   * mounted, even on "exited", unless you also specify `unmountOnExit`.
   */
  mountOnEnter: n.bool,
  /**
   * By default the child component stays mounted after it reaches the `'exited'` state.
   * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.
   */
  unmountOnExit: n.bool,
  /**
   * By default the child component does not perform the enter transition when
   * it first mounts, regardless of the value of `in`. If you want this
   * behavior, set both `appear` and `in` to `true`.
   *
   * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop
   * > only adds an additional enter transition. However, in the
   * > `<CSSTransition>` component that first enter transition does result in
   * > additional `.appear-*` classes, that way you can choose to style it
   * > differently.
   */
  appear: n.bool,
  /**
   * Enable or disable enter transitions.
   */
  enter: n.bool,
  /**
   * Enable or disable exit transitions.
   */
  exit: n.bool,
  /**
   * The duration of the transition, in milliseconds.
   * Required unless `addEndListener` is provided.
   *
   * You may specify a single timeout for all transitions:
   *
   * ```jsx
   * timeout={500}
   * ```
   *
   * or individually:
   *
   * ```jsx
   * timeout={{
   *  appear: 500,
   *  enter: 300,
   *  exit: 500,
   * }}
   * ```
   *
   * - `appear` defaults to the value of `enter`
   * - `enter` defaults to `0`
   * - `exit` defaults to `0`
   *
   * @type {number | { enter?: number, exit?: number, appear?: number }}
   */
  timeout: function(t) {
    var o = Tx;
    t.addEndListener || (o = o.isRequired);
    for (var r = arguments.length, a = new Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++)
      a[i - 1] = arguments[i];
    return o.apply(void 0, [t].concat(a));
  },
  /**
   * Add a custom transition end trigger. Called with the transitioning
   * DOM node and a `done` callback. Allows for more fine grained transition end
   * logic. Timeouts are still used as a fallback if provided.
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed.
   *
   * ```jsx
   * addEndListener={(node, done) => {
   *   // use the css transitionend event to mark the finish of a transition
   *   node.addEventListener('transitionend', done, false);
   * }}
   * ```
   */
  addEndListener: n.func,
  /**
   * Callback fired before the "entering" status is applied. An extra parameter
   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed.
   *
   * @type Function(node: HtmlElement, isAppearing: bool) -> void
   */
  onEnter: n.func,
  /**
   * Callback fired after the "entering" status is applied. An extra parameter
   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed.
   *
   * @type Function(node: HtmlElement, isAppearing: bool)
   */
  onEntering: n.func,
  /**
   * Callback fired after the "entered" status is applied. An extra parameter
   * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed.
   *
   * @type Function(node: HtmlElement, isAppearing: bool) -> void
   */
  onEntered: n.func,
  /**
   * Callback fired before the "exiting" status is applied.
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed.
   *
   * @type Function(node: HtmlElement) -> void
   */
  onExit: n.func,
  /**
   * Callback fired after the "exiting" status is applied.
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed.
   *
   * @type Function(node: HtmlElement) -> void
   */
  onExiting: n.func,
  /**
   * Callback fired after the "exited" status is applied.
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed
   *
   * @type Function(node: HtmlElement) -> void
   */
  onExited: n.func
} : {};
function nr() {
}
qt.defaultProps = {
  in: !1,
  mountOnEnter: !1,
  unmountOnExit: !1,
  appear: !1,
  enter: !0,
  exit: !0,
  onEnter: nr,
  onEntering: nr,
  onEntered: nr,
  onExit: nr,
  onExiting: nr,
  onExited: nr
};
qt.UNMOUNTED = sa;
qt.EXITED = _o;
qt.ENTERING = Ao;
qt.ENTERED = ar;
qt.EXITING = tc;
var Ox = function(t, o) {
  return t && o && o.split(" ").forEach(function(r) {
    return xx(t, r);
  });
}, El = function(t, o) {
  return t && o && o.split(" ").forEach(function(r) {
    return Cx(t, r);
  });
}, Bc = /* @__PURE__ */ function(e) {
  zc(t, e);
  function t() {
    for (var r, a = arguments.length, i = new Array(a), s = 0; s < a; s++)
      i[s] = arguments[s];
    return r = e.call.apply(e, [this].concat(i)) || this, r.appliedClasses = {
      appear: {},
      enter: {},
      exit: {}
    }, r.onEnter = function(l, c) {
      var u = r.resolveArguments(l, c), p = u[0], f = u[1];
      r.removeClasses(p, "exit"), r.addClass(p, f ? "appear" : "enter", "base"), r.props.onEnter && r.props.onEnter(l, c);
    }, r.onEntering = function(l, c) {
      var u = r.resolveArguments(l, c), p = u[0], f = u[1], g = f ? "appear" : "enter";
      r.addClass(p, g, "active"), r.props.onEntering && r.props.onEntering(l, c);
    }, r.onEntered = function(l, c) {
      var u = r.resolveArguments(l, c), p = u[0], f = u[1], g = f ? "appear" : "enter";
      r.removeClasses(p, g), r.addClass(p, g, "done"), r.props.onEntered && r.props.onEntered(l, c);
    }, r.onExit = function(l) {
      var c = r.resolveArguments(l), u = c[0];
      r.removeClasses(u, "appear"), r.removeClasses(u, "enter"), r.addClass(u, "exit", "base"), r.props.onExit && r.props.onExit(l);
    }, r.onExiting = function(l) {
      var c = r.resolveArguments(l), u = c[0];
      r.addClass(u, "exit", "active"), r.props.onExiting && r.props.onExiting(l);
    }, r.onExited = function(l) {
      var c = r.resolveArguments(l), u = c[0];
      r.removeClasses(u, "exit"), r.addClass(u, "exit", "done"), r.props.onExited && r.props.onExited(l);
    }, r.resolveArguments = function(l, c) {
      return r.props.nodeRef ? [r.props.nodeRef.current, l] : [l, c];
    }, r.getClassNames = function(l) {
      var c = r.props.classNames, u = typeof c == "string", p = u && c ? c + "-" : "", f = u ? "" + p + l : c[l], g = u ? f + "-active" : c[l + "Active"], v = u ? f + "-done" : c[l + "Done"];
      return {
        baseClassName: f,
        activeClassName: g,
        doneClassName: v
      };
    }, r;
  }
  var o = t.prototype;
  return o.addClass = function(a, i, s) {
    var l = this.getClassNames(i)[s + "ClassName"], c = this.getClassNames("enter"), u = c.doneClassName;
    i === "appear" && s === "done" && u && (l += " " + u), s === "active" && a && fh(a), l && (this.appliedClasses[i][s] = l, Ox(a, l));
  }, o.removeClasses = function(a, i) {
    var s = this.appliedClasses[i], l = s.base, c = s.active, u = s.done;
    this.appliedClasses[i] = {}, l && El(a, l), c && El(a, c), u && El(a, u);
  }, o.render = function() {
    var a = this.props;
    a.classNames;
    var i = oe(a, ["classNames"]);
    return /* @__PURE__ */ tt.createElement(qt, m({}, i, {
      onEnter: this.onEnter,
      onEntered: this.onEntered,
      onEntering: this.onEntering,
      onExit: this.onExit,
      onExiting: this.onExiting,
      onExited: this.onExited
    }));
  }, t;
}(tt.Component);
Bc.defaultProps = {
  classNames: ""
};
Bc.propTypes = process.env.NODE_ENV !== "production" ? m({}, qt.propTypes, {
  /**
   * The animation classNames applied to the component as it appears, enters,
   * exits or has finished the transition. A single name can be provided, which
   * will be suffixed for each stage, e.g. `classNames="fade"` applies:
   *
   * - `fade-appear`, `fade-appear-active`, `fade-appear-done`
   * - `fade-enter`, `fade-enter-active`, `fade-enter-done`
   * - `fade-exit`, `fade-exit-active`, `fade-exit-done`
   *
   * A few details to note about how these classes are applied:
   *
   * 1. They are _joined_ with the ones that are already defined on the child
   *    component, so if you want to add some base styles, you can use
   *    `className` without worrying that it will be overridden.
   *
   * 2. If the transition component mounts with `in={false}`, no classes are
   *    applied yet. You might be expecting `*-exit-done`, but if you think
   *    about it, a component cannot finish exiting if it hasn't entered yet.
   *
   * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This
   *    allows you to define different behavior for when appearing is done and
   *    when regular entering is done, using selectors like
   *    `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply
   *    an epic entrance animation when element first appears in the DOM using
   *    [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can
   *    simply use `fade-enter-done` for defining both cases.
   *
   * Each individual classNames can also be specified independently like:
   *
   * ```js
   * classNames={{
   *  appear: 'my-appear',
   *  appearActive: 'my-active-appear',
   *  appearDone: 'my-done-appear',
   *  enter: 'my-enter',
   *  enterActive: 'my-active-enter',
   *  enterDone: 'my-done-enter',
   *  exit: 'my-exit',
   *  exitActive: 'my-active-exit',
   *  exitDone: 'my-done-exit',
   * }}
   * ```
   *
   * If you want to set these classes using CSS Modules:
   *
   * ```js
   * import styles from './styles.css';
   * ```
   *
   * you might want to use camelCase in your CSS file, that way could simply
   * spread them instead of listing them one by one:
   *
   * ```js
   * classNames={{ ...styles }}
   * ```
   *
   * @type {string | {
   *  appear?: string,
   *  appearActive?: string,
   *  appearDone?: string,
   *  enter?: string,
   *  enterActive?: string,
   *  enterDone?: string,
   *  exit?: string,
   *  exitActive?: string,
   *  exitDone?: string,
   * }}
   */
  classNames: wx,
  /**
   * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is
   * applied.
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed.
   *
   * @type Function(node: HtmlElement, isAppearing: bool)
   */
  onEnter: n.func,
  /**
   * A `<Transition>` callback fired immediately after the 'enter-active' or
   * 'appear-active' class is applied.
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed.
   *
   * @type Function(node: HtmlElement, isAppearing: bool)
   */
  onEntering: n.func,
  /**
   * A `<Transition>` callback fired immediately after the 'enter' or
   * 'appear' classes are **removed** and the `done` class is added to the DOM node.
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed.
   *
   * @type Function(node: HtmlElement, isAppearing: bool)
   */
  onEntered: n.func,
  /**
   * A `<Transition>` callback fired immediately after the 'exit' class is
   * applied.
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed
   *
   * @type Function(node: HtmlElement)
   */
  onExit: n.func,
  /**
   * A `<Transition>` callback fired immediately after the 'exit-active' is applied.
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed
   *
   * @type Function(node: HtmlElement)
   */
  onExiting: n.func,
  /**
   * A `<Transition>` callback fired immediately after the 'exit' classes
   * are **removed** and the `exit-done` class is added to the DOM node.
   *
   * **Note**: when `nodeRef` prop is passed, `node` is not passed
   *
   * @type Function(node: HtmlElement)
   */
  onExited: n.func
}) : {};
function Ex(e) {
  if (e === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  return e;
}
function Wc(e, t) {
  var o = function(i) {
    return t && Ci(i) ? t(i) : i;
  }, r = /* @__PURE__ */ Object.create(null);
  return e && ay.map(e, function(a) {
    return a;
  }).forEach(function(a) {
    r[a.key] = o(a);
  }), r;
}
function Sx(e, t) {
  e = e || {}, t = t || {};
  function o(p) {
    return p in t ? t[p] : e[p];
  }
  var r = /* @__PURE__ */ Object.create(null), a = [];
  for (var i in e)
    i in t ? a.length && (r[i] = a, a = []) : a.push(i);
  var s, l = {};
  for (var c in t) {
    if (r[c])
      for (s = 0; s < r[c].length; s++) {
        var u = r[c][s];
        l[r[c][s]] = o(u);
      }
    l[c] = o(c);
  }
  for (s = 0; s < a.length; s++)
    l[a[s]] = o(a[s]);
  return l;
}
function Fo(e, t, o) {
  return o[t] != null ? o[t] : e.props[t];
}
function Px(e, t) {
  return Wc(e.children, function(o) {
    return Ti(o, {
      onExited: t.bind(null, o),
      in: !0,
      appear: Fo(o, "appear", e),
      enter: Fo(o, "enter", e),
      exit: Fo(o, "exit", e)
    });
  });
}
function Rx(e, t, o) {
  var r = Wc(e.children), a = Sx(t, r);
  return Object.keys(a).forEach(function(i) {
    var s = a[i];
    if (Ci(s)) {
      var l = i in t, c = i in r, u = t[i], p = Ci(u) && !u.props.in;
      c && (!l || p) ? a[i] = Ti(s, {
        onExited: o.bind(null, s),
        in: !0,
        exit: Fo(s, "exit", e),
        enter: Fo(s, "enter", e)
      }) : !c && l && !p ? a[i] = Ti(s, {
        in: !1
      }) : c && l && Ci(u) && (a[i] = Ti(s, {
        onExited: o.bind(null, s),
        in: u.props.in,
        exit: Fo(s, "exit", e),
        enter: Fo(s, "enter", e)
      }));
    }
  }), a;
}
var kx = Object.values || function(e) {
  return Object.keys(e).map(function(t) {
    return e[t];
  });
}, Mx = {
  component: "div",
  childFactory: function(t) {
    return t;
  }
}, Aa = /* @__PURE__ */ function(e) {
  zc(t, e);
  function t(r, a) {
    var i;
    i = e.call(this, r, a) || this;
    var s = i.handleExited.bind(Ex(i));
    return i.state = {
      contextValue: {
        isMounting: !0
      },
      handleExited: s,
      firstRender: !0
    }, i;
  }
  var o = t.prototype;
  return o.componentDidMount = function() {
    this.mounted = !0, this.setState({
      contextValue: {
        isMounting: !1
      }
    });
  }, o.componentWillUnmount = function() {
    this.mounted = !1;
  }, t.getDerivedStateFromProps = function(a, i) {
    var s = i.children, l = i.handleExited, c = i.firstRender;
    return {
      children: c ? Px(a, l) : Rx(a, s, l),
      firstRender: !1
    };
  }, o.handleExited = function(a, i) {
    var s = Wc(this.props.children);
    a.key in s || (a.props.onExited && a.props.onExited(i), this.mounted && this.setState(function(l) {
      var c = m({}, l.children);
      return delete c[a.key], {
        children: c
      };
    }));
  }, o.render = function() {
    var a = this.props, i = a.component, s = a.childFactory, l = oe(a, ["component", "childFactory"]), c = this.state.contextValue, u = kx(this.state.children).map(s);
    return delete l.appear, delete l.enter, delete l.exit, i === null ? /* @__PURE__ */ tt.createElement(Bi.Provider, {
      value: c
    }, u) : /* @__PURE__ */ tt.createElement(Bi.Provider, {
      value: c
    }, /* @__PURE__ */ tt.createElement(i, l, u));
  }, t;
}(tt.Component);
Aa.propTypes = process.env.NODE_ENV !== "production" ? {
  /**
   * `<TransitionGroup>` renders a `<div>` by default. You can change this
   * behavior by providing a `component` prop.
   * If you use React v16+ and would like to avoid a wrapping `<div>` element
   * you can pass in `component={null}`. This is useful if the wrapping div
   * borks your css styles.
   */
  component: n.any,
  /**
   * A set of `<Transition>` components, that are toggled `in` and out as they
   * leave. the `<TransitionGroup>` will inject specific transition props, so
   * remember to spread them through if you are wrapping the `<Transition>` as
   * with our `<Fade>` example.
   *
   * While this component is meant for multiple `Transition` or `CSSTransition`
   * children, sometimes you may want to have a single transition child with
   * content that you want to be transitioned out and in when you change it
   * (e.g. routes, images etc.) In that case you can change the `key` prop of
   * the transition child as you change its content, this will cause
   * `TransitionGroup` to transition the child out and back in.
   */
  children: n.node,
  /**
   * A convenience prop that enables or disables appear animations
   * for all children. Note that specifying this will override any defaults set
   * on individual children Transitions.
   */
  appear: n.bool,
  /**
   * A convenience prop that enables or disables enter animations
   * for all children. Note that specifying this will override any defaults set
   * on individual children Transitions.
   */
  enter: n.bool,
  /**
   * A convenience prop that enables or disables exit animations
   * for all children. Note that specifying this will override any defaults set
   * on individual children Transitions.
   */
  exit: n.bool,
  /**
   * You may need to apply reactive updates to a child as it is exiting.
   * This is generally done by using `cloneElement` however in the case of an exiting
   * child the element has already been removed and not accessible to the consumer.
   *
   * If you do need to update a child as it leaves you can provide a `childFactory`
   * to wrap every child, even the ones that are leaving.
   *
   * @type Function(child: ReactElement) -> ReactElement
   */
  childFactory: n.func
} : {};
Aa.defaultProps = Mx;
function mh(e) {
  const {
    className: t,
    classes: o,
    pulsate: r = !1,
    rippleX: a,
    rippleY: i,
    rippleSize: s,
    in: l,
    onExited: c,
    timeout: u
  } = e, [p, f] = d.useState(!1), g = ce(t, o.ripple, o.rippleVisible, r && o.ripplePulsate), v = {
    width: s,
    height: s,
    top: -(s / 2) + i,
    left: -(s / 2) + a
  }, b = ce(o.child, p && o.childLeaving, r && o.childPulsate);
  return !l && !p && f(!0), d.useEffect(() => {
    if (!l && c != null) {
      const h = setTimeout(c, u);
      return () => {
        clearTimeout(h);
      };
    }
  }, [c, l, u]), /* @__PURE__ */ x("span", {
    className: g,
    style: v,
    children: /* @__PURE__ */ x("span", {
      className: b
    })
  });
}
process.env.NODE_ENV !== "production" && (mh.propTypes = {
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object.isRequired,
  className: n.string,
  /**
   * @ignore - injected from TransitionGroup
   */
  in: n.bool,
  /**
   * @ignore - injected from TransitionGroup
   */
  onExited: n.func,
  /**
   * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.
   */
  pulsate: n.bool,
  /**
   * Diameter of the ripple.
   */
  rippleSize: n.number,
  /**
   * Horizontal position of the ripple center.
   */
  rippleX: n.number,
  /**
   * Vertical position of the ripple center.
   */
  rippleY: n.number,
  /**
   * exit delay
   */
  timeout: n.number.isRequired
});
const an = be("MuiTouchRipple", ["root", "ripple", "rippleVisible", "ripplePulsate", "child", "childLeaving", "childPulsate"]), $x = ["center", "classes", "className"];
let xs = (e) => e, mp, hp, gp, bp;
const nc = 550, Dx = 80, Ix = eo(mp || (mp = xs`
  0% {
    transform: scale(0);
    opacity: 0.1;
  }

  100% {
    transform: scale(1);
    opacity: 0.3;
  }
`)), Nx = eo(hp || (hp = xs`
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
`)), _x = eo(gp || (gp = xs`
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(0.92);
  }

  100% {
    transform: scale(1);
  }
`)), Ax = U("span", {
  name: "MuiTouchRipple",
  slot: "Root"
})({
  overflow: "hidden",
  pointerEvents: "none",
  position: "absolute",
  zIndex: 0,
  top: 0,
  right: 0,
  bottom: 0,
  left: 0,
  borderRadius: "inherit"
}), Lx = U(mh, {
  name: "MuiTouchRipple",
  slot: "Ripple"
})(bp || (bp = xs`
  opacity: 0;
  position: absolute;

  &.${0} {
    opacity: 0.3;
    transform: scale(1);
    animation-name: ${0};
    animation-duration: ${0}ms;
    animation-timing-function: ${0};
  }

  &.${0} {
    animation-duration: ${0}ms;
  }

  & .${0} {
    opacity: 1;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: currentColor;
  }

  & .${0} {
    opacity: 0;
    animation-name: ${0};
    animation-duration: ${0}ms;
    animation-timing-function: ${0};
  }

  & .${0} {
    position: absolute;
    /* @noflip */
    left: 0px;
    top: 0;
    animation-name: ${0};
    animation-duration: 2500ms;
    animation-timing-function: ${0};
    animation-iteration-count: infinite;
    animation-delay: 200ms;
  }
`), an.rippleVisible, Ix, nc, ({
  theme: e
}) => e.transitions.easing.easeInOut, an.ripplePulsate, ({
  theme: e
}) => e.transitions.duration.shorter, an.child, an.childLeaving, Nx, nc, ({
  theme: e
}) => e.transitions.easing.easeInOut, an.childPulsate, _x, ({
  theme: e
}) => e.transitions.easing.easeInOut), hh = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTouchRipple"
  }), {
    center: a = !1,
    classes: i = {},
    className: s
  } = r, l = oe(r, $x), [c, u] = d.useState([]), p = d.useRef(0), f = d.useRef(null);
  d.useEffect(() => {
    f.current && (f.current(), f.current = null);
  }, [c]);
  const g = d.useRef(!1), v = mo(), b = d.useRef(null), h = d.useRef(null), y = d.useCallback((T) => {
    const {
      pulsate: O,
      rippleX: P,
      rippleY: S,
      rippleSize: $,
      cb: A
    } = T;
    u((N) => [...N, /* @__PURE__ */ x(Lx, {
      classes: {
        ripple: ce(i.ripple, an.ripple),
        rippleVisible: ce(i.rippleVisible, an.rippleVisible),
        ripplePulsate: ce(i.ripplePulsate, an.ripplePulsate),
        child: ce(i.child, an.child),
        childLeaving: ce(i.childLeaving, an.childLeaving),
        childPulsate: ce(i.childPulsate, an.childPulsate)
      },
      timeout: nc,
      pulsate: O,
      rippleX: P,
      rippleY: S,
      rippleSize: $
    }, p.current)]), p.current += 1, f.current = A;
  }, [i]), C = d.useCallback((T = {}, O = {}, P = () => {
  }) => {
    const {
      pulsate: S = !1,
      center: $ = a || O.pulsate,
      fakeElement: A = !1
      // For test purposes
    } = O;
    if ((T == null ? void 0 : T.type) === "mousedown" && g.current) {
      g.current = !1;
      return;
    }
    (T == null ? void 0 : T.type) === "touchstart" && (g.current = !0);
    const N = A ? null : h.current, D = N ? N.getBoundingClientRect() : {
      width: 0,
      height: 0,
      left: 0,
      top: 0
    };
    let V, L, I;
    if ($ || T === void 0 || T.clientX === 0 && T.clientY === 0 || !T.clientX && !T.touches)
      V = Math.round(D.width / 2), L = Math.round(D.height / 2);
    else {
      const {
        clientX: R,
        clientY: k
      } = T.touches && T.touches.length > 0 ? T.touches[0] : T;
      V = Math.round(R - D.left), L = Math.round(k - D.top);
    }
    if ($)
      I = Math.sqrt((2 * D.width ** 2 + D.height ** 2) / 3), I % 2 === 0 && (I += 1);
    else {
      const R = Math.max(Math.abs((N ? N.clientWidth : 0) - V), V) * 2 + 2, k = Math.max(Math.abs((N ? N.clientHeight : 0) - L), L) * 2 + 2;
      I = Math.sqrt(R ** 2 + k ** 2);
    }
    T != null && T.touches ? b.current === null && (b.current = () => {
      y({
        pulsate: S,
        rippleX: V,
        rippleY: L,
        rippleSize: I,
        cb: P
      });
    }, v.start(Dx, () => {
      b.current && (b.current(), b.current = null);
    })) : y({
      pulsate: S,
      rippleX: V,
      rippleY: L,
      rippleSize: I,
      cb: P
    });
  }, [a, y, v]), E = d.useCallback(() => {
    C({}, {
      pulsate: !0
    });
  }, [C]), w = d.useCallback((T, O) => {
    if (v.clear(), (T == null ? void 0 : T.type) === "touchend" && b.current) {
      b.current(), b.current = null, v.start(0, () => {
        w(T, O);
      });
      return;
    }
    b.current = null, u((P) => P.length > 0 ? P.slice(1) : P), f.current = O;
  }, [v]);
  return d.useImperativeHandle(o, () => ({
    pulsate: E,
    start: C,
    stop: w
  }), [E, C, w]), /* @__PURE__ */ x(Ax, m({
    className: ce(an.root, i.root, s),
    ref: h
  }, l, {
    children: /* @__PURE__ */ x(Aa, {
      component: null,
      exit: !0,
      children: c
    })
  }));
});
process.env.NODE_ENV !== "production" && (hh.propTypes = {
  /**
   * If `true`, the ripple starts at the center of the component
   * rather than at the point of interaction.
   */
  center: n.bool,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string
});
function Fx(e) {
  return ye("MuiButtonBase", e);
}
const jx = be("MuiButtonBase", ["root", "disabled", "focusVisible"]), Vx = ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type"], zx = (e) => {
  const {
    disabled: t,
    focusVisible: o,
    focusVisibleClassName: r,
    classes: a
  } = e, s = ve({
    root: ["root", t && "disabled", o && "focusVisible"]
  }, Fx, a);
  return o && r && (s.root += ` ${r}`), s;
}, Bx = U("button", {
  name: "MuiButtonBase",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  display: "inline-flex",
  alignItems: "center",
  justifyContent: "center",
  position: "relative",
  boxSizing: "border-box",
  WebkitTapHighlightColor: "transparent",
  backgroundColor: "transparent",
  // Reset default value
  // We disable the focus ring for mouse, touch and keyboard users.
  outline: 0,
  border: 0,
  margin: 0,
  // Remove the margin in Safari
  borderRadius: 0,
  padding: 0,
  // Remove the padding in Firefox
  cursor: "pointer",
  userSelect: "none",
  verticalAlign: "middle",
  MozAppearance: "none",
  // Reset
  WebkitAppearance: "none",
  // Reset
  textDecoration: "none",
  // So we take precedent over the style of a native <a /> element.
  color: "inherit",
  "&::-moz-focus-inner": {
    borderStyle: "none"
    // Remove Firefox dotted outline.
  },
  [`&.${jx.disabled}`]: {
    pointerEvents: "none",
    // Disable link interactions
    cursor: "default"
  },
  "@media print": {
    colorAdjust: "exact"
  }
}), Ht = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiButtonBase"
  }), {
    action: a,
    centerRipple: i = !1,
    children: s,
    className: l,
    component: c = "button",
    disabled: u = !1,
    disableRipple: p = !1,
    disableTouchRipple: f = !1,
    focusRipple: g = !1,
    LinkComponent: v = "a",
    onBlur: b,
    onClick: h,
    onContextMenu: y,
    onDragLeave: C,
    onFocus: E,
    onFocusVisible: w,
    onKeyDown: T,
    onKeyUp: O,
    onMouseDown: P,
    onMouseLeave: S,
    onMouseUp: $,
    onTouchEnd: A,
    onTouchMove: N,
    onTouchStart: D,
    tabIndex: V = 0,
    TouchRippleProps: L,
    touchRippleRef: I,
    type: R
  } = r, k = oe(r, Vx), F = d.useRef(null), M = d.useRef(null), B = ze(M, I), {
    isFocusVisibleRef: j,
    onFocus: W,
    onBlur: re,
    ref: J
  } = Na(), [Q, X] = d.useState(!1);
  u && Q && X(!1), d.useImperativeHandle(a, () => ({
    focusVisible: () => {
      X(!0), F.current.focus();
    }
  }), []);
  const [Y, Z] = d.useState(!1);
  d.useEffect(() => {
    Z(!0);
  }, []);
  const H = Y && !p && !u;
  d.useEffect(() => {
    Q && g && !p && Y && M.current.pulsate();
  }, [p, g, Q, Y]);
  function K(le, xe, ke = f) {
    return Ce((De) => (xe && xe(De), !ke && M.current && M.current[le](De), !0));
  }
  const ne = K("start", P), ae = K("stop", y), z = K("stop", C), q = K("stop", $), te = K("stop", (le) => {
    Q && le.preventDefault(), S && S(le);
  }), ie = K("start", D), de = K("stop", A), ge = K("stop", N), fe = K("stop", (le) => {
    re(le), j.current === !1 && X(!1), b && b(le);
  }, !1), Oe = Ce((le) => {
    F.current || (F.current = le.currentTarget), W(le), j.current === !0 && (X(!0), w && w(le)), E && E(le);
  }), Te = () => {
    const le = F.current;
    return c && c !== "button" && !(le.tagName === "A" && le.href);
  }, Re = d.useRef(!1), Be = Ce((le) => {
    g && !Re.current && Q && M.current && le.key === " " && (Re.current = !0, M.current.stop(le, () => {
      M.current.start(le);
    })), le.target === le.currentTarget && Te() && le.key === " " && le.preventDefault(), T && T(le), le.target === le.currentTarget && Te() && le.key === "Enter" && !u && (le.preventDefault(), h && h(le));
  }), je = Ce((le) => {
    g && le.key === " " && M.current && Q && !le.defaultPrevented && (Re.current = !1, M.current.stop(le, () => {
      M.current.pulsate(le);
    })), O && O(le), h && le.target === le.currentTarget && Te() && le.key === " " && !le.defaultPrevented && h(le);
  });
  let Fe = c;
  Fe === "button" && (k.href || k.to) && (Fe = v);
  const et = {};
  Fe === "button" ? (et.type = R === void 0 ? "button" : R, et.disabled = u) : (!k.href && !k.to && (et.role = "button"), u && (et["aria-disabled"] = u));
  const ct = ze(o, J, F);
  process.env.NODE_ENV !== "production" && d.useEffect(() => {
    H && !M.current && console.error(["MUI: The `component` prop provided to ButtonBase is invalid.", "Please make sure the children prop is rendered in this custom component."].join(`
`));
  }, [H]);
  const ot = m({}, r, {
    centerRipple: i,
    component: c,
    disabled: u,
    disableRipple: p,
    disableTouchRipple: f,
    focusRipple: g,
    tabIndex: V,
    focusVisible: Q
  }), ue = zx(ot);
  return /* @__PURE__ */ he(Bx, m({
    as: Fe,
    className: ce(ue.root, l),
    ownerState: ot,
    onBlur: fe,
    onClick: h,
    onContextMenu: ae,
    onFocus: Oe,
    onKeyDown: Be,
    onKeyUp: je,
    onMouseDown: ne,
    onMouseLeave: te,
    onMouseUp: q,
    onDragLeave: z,
    onTouchEnd: de,
    onTouchMove: ge,
    onTouchStart: ie,
    ref: ct,
    tabIndex: u ? -1 : V,
    type: R
  }, et, k, {
    children: [s, H ? (
      /* TouchRipple is only needed client-side, x2 boost on the server. */
      /* @__PURE__ */ x(hh, m({
        ref: B,
        center: i
      }, L))
    ) : null]
  }));
});
process.env.NODE_ENV !== "production" && (Ht.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * A ref for imperative actions.
   * It currently only supports `focusVisible()` action.
   */
  action: ut,
  /**
   * If `true`, the ripples are centered.
   * They won't start at the cursor interaction position.
   * @default false
   */
  centerRipple: n.bool,
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: Nr,
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, the ripple effect is disabled.
   *
   * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
   * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
   * @default false
   */
  disableRipple: n.bool,
  /**
   * If `true`, the touch ripple effect is disabled.
   * @default false
   */
  disableTouchRipple: n.bool,
  /**
   * If `true`, the base button will have a keyboard focus ripple.
   * @default false
   */
  focusRipple: n.bool,
  /**
   * This prop can help identify which element has keyboard focus.
   * The class name will be applied when the element gains the focus through keyboard interaction.
   * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
   * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
   * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
   * if needed.
   */
  focusVisibleClassName: n.string,
  /**
   * @ignore
   */
  href: n.any,
  /**
   * The component used to render a link when the `href` prop is provided.
   * @default 'a'
   */
  LinkComponent: n.elementType,
  /**
   * @ignore
   */
  onBlur: n.func,
  /**
   * @ignore
   */
  onClick: n.func,
  /**
   * @ignore
   */
  onContextMenu: n.func,
  /**
   * @ignore
   */
  onDragLeave: n.func,
  /**
   * @ignore
   */
  onFocus: n.func,
  /**
   * Callback fired when the component is focused with a keyboard.
   * We trigger a `onFocus` callback too.
   */
  onFocusVisible: n.func,
  /**
   * @ignore
   */
  onKeyDown: n.func,
  /**
   * @ignore
   */
  onKeyUp: n.func,
  /**
   * @ignore
   */
  onMouseDown: n.func,
  /**
   * @ignore
   */
  onMouseLeave: n.func,
  /**
   * @ignore
   */
  onMouseUp: n.func,
  /**
   * @ignore
   */
  onTouchEnd: n.func,
  /**
   * @ignore
   */
  onTouchMove: n.func,
  /**
   * @ignore
   */
  onTouchStart: n.func,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * @default 0
   */
  tabIndex: n.number,
  /**
   * Props applied to the `TouchRipple` element.
   */
  TouchRippleProps: n.object,
  /**
   * A ref that points to the `TouchRipple` element.
   */
  touchRippleRef: n.oneOfType([n.func, n.shape({
    current: n.shape({
      pulsate: n.func.isRequired,
      start: n.func.isRequired,
      stop: n.func.isRequired
    })
  })]),
  /**
   * @ignore
   */
  type: n.oneOfType([n.oneOf(["button", "reset", "submit"]), n.string])
});
function Wx(e) {
  return ye("MuiButton", e);
}
const ri = be("MuiButton", ["root", "text", "textInherit", "textPrimary", "textSecondary", "textSuccess", "textError", "textInfo", "textWarning", "outlined", "outlinedInherit", "outlinedPrimary", "outlinedSecondary", "outlinedSuccess", "outlinedError", "outlinedInfo", "outlinedWarning", "contained", "containedInherit", "containedPrimary", "containedSecondary", "containedSuccess", "containedError", "containedInfo", "containedWarning", "disableElevation", "focusVisible", "disabled", "colorInherit", "colorPrimary", "colorSecondary", "colorSuccess", "colorError", "colorInfo", "colorWarning", "textSizeSmall", "textSizeMedium", "textSizeLarge", "outlinedSizeSmall", "outlinedSizeMedium", "outlinedSizeLarge", "containedSizeSmall", "containedSizeMedium", "containedSizeLarge", "sizeMedium", "sizeSmall", "sizeLarge", "fullWidth", "startIcon", "endIcon", "icon", "iconSizeSmall", "iconSizeMedium", "iconSizeLarge"]), gh = /* @__PURE__ */ d.createContext({});
process.env.NODE_ENV !== "production" && (gh.displayName = "ButtonGroupContext");
const bh = /* @__PURE__ */ d.createContext(void 0);
process.env.NODE_ENV !== "production" && (bh.displayName = "ButtonGroupButtonContext");
const Ux = ["children", "color", "component", "className", "disabled", "disableElevation", "disableFocusRipple", "endIcon", "focusVisibleClassName", "fullWidth", "size", "startIcon", "type", "variant"], Hx = (e) => {
  const {
    color: t,
    disableElevation: o,
    fullWidth: r,
    size: a,
    variant: i,
    classes: s
  } = e, l = {
    root: ["root", i, `${i}${ee(t)}`, `size${ee(a)}`, `${i}Size${ee(a)}`, `color${ee(t)}`, o && "disableElevation", r && "fullWidth"],
    label: ["label"],
    startIcon: ["icon", "startIcon", `iconSize${ee(a)}`],
    endIcon: ["icon", "endIcon", `iconSize${ee(a)}`]
  }, c = ve(l, Wx, s);
  return m({}, s, c);
}, yh = (e) => m({}, e.size === "small" && {
  "& > *:nth-of-type(1)": {
    fontSize: 18
  }
}, e.size === "medium" && {
  "& > *:nth-of-type(1)": {
    fontSize: 20
  }
}, e.size === "large" && {
  "& > *:nth-of-type(1)": {
    fontSize: 22
  }
}), qx = U(Ht, {
  shouldForwardProp: (e) => _t(e) || e === "classes",
  name: "MuiButton",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[o.variant], t[`${o.variant}${ee(o.color)}`], t[`size${ee(o.size)}`], t[`${o.variant}Size${ee(o.size)}`], o.color === "inherit" && t.colorInherit, o.disableElevation && t.disableElevation, o.fullWidth && t.fullWidth];
  }
})(({
  theme: e,
  ownerState: t
}) => {
  var o, r;
  const a = e.palette.mode === "light" ? e.palette.grey[300] : e.palette.grey[800], i = e.palette.mode === "light" ? e.palette.grey.A100 : e.palette.grey[700];
  return m({}, e.typography.button, {
    minWidth: 64,
    padding: "6px 16px",
    borderRadius: (e.vars || e).shape.borderRadius,
    transition: e.transitions.create(["background-color", "box-shadow", "border-color", "color"], {
      duration: e.transitions.duration.short
    }),
    "&:hover": m({
      textDecoration: "none",
      backgroundColor: e.vars ? `rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})` : _e(e.palette.text.primary, e.palette.action.hoverOpacity),
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        backgroundColor: "transparent"
      }
    }, t.variant === "text" && t.color !== "inherit" && {
      backgroundColor: e.vars ? `rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})` : _e(e.palette[t.color].main, e.palette.action.hoverOpacity),
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        backgroundColor: "transparent"
      }
    }, t.variant === "outlined" && t.color !== "inherit" && {
      border: `1px solid ${(e.vars || e).palette[t.color].main}`,
      backgroundColor: e.vars ? `rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})` : _e(e.palette[t.color].main, e.palette.action.hoverOpacity),
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        backgroundColor: "transparent"
      }
    }, t.variant === "contained" && {
      backgroundColor: e.vars ? e.vars.palette.Button.inheritContainedHoverBg : i,
      boxShadow: (e.vars || e).shadows[4],
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        boxShadow: (e.vars || e).shadows[2],
        backgroundColor: (e.vars || e).palette.grey[300]
      }
    }, t.variant === "contained" && t.color !== "inherit" && {
      backgroundColor: (e.vars || e).palette[t.color].dark,
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        backgroundColor: (e.vars || e).palette[t.color].main
      }
    }),
    "&:active": m({}, t.variant === "contained" && {
      boxShadow: (e.vars || e).shadows[8]
    }),
    [`&.${ri.focusVisible}`]: m({}, t.variant === "contained" && {
      boxShadow: (e.vars || e).shadows[6]
    }),
    [`&.${ri.disabled}`]: m({
      color: (e.vars || e).palette.action.disabled
    }, t.variant === "outlined" && {
      border: `1px solid ${(e.vars || e).palette.action.disabledBackground}`
    }, t.variant === "contained" && {
      color: (e.vars || e).palette.action.disabled,
      boxShadow: (e.vars || e).shadows[0],
      backgroundColor: (e.vars || e).palette.action.disabledBackground
    })
  }, t.variant === "text" && {
    padding: "6px 8px"
  }, t.variant === "text" && t.color !== "inherit" && {
    color: (e.vars || e).palette[t.color].main
  }, t.variant === "outlined" && {
    padding: "5px 15px",
    border: "1px solid currentColor"
  }, t.variant === "outlined" && t.color !== "inherit" && {
    color: (e.vars || e).palette[t.color].main,
    border: e.vars ? `1px solid rgba(${e.vars.palette[t.color].mainChannel} / 0.5)` : `1px solid ${_e(e.palette[t.color].main, 0.5)}`
  }, t.variant === "contained" && {
    color: e.vars ? (
      // this is safe because grey does not change between default light/dark mode
      e.vars.palette.text.primary
    ) : (o = (r = e.palette).getContrastText) == null ? void 0 : o.call(r, e.palette.grey[300]),
    backgroundColor: e.vars ? e.vars.palette.Button.inheritContainedBg : a,
    boxShadow: (e.vars || e).shadows[2]
  }, t.variant === "contained" && t.color !== "inherit" && {
    color: (e.vars || e).palette[t.color].contrastText,
    backgroundColor: (e.vars || e).palette[t.color].main
  }, t.color === "inherit" && {
    color: "inherit",
    borderColor: "currentColor"
  }, t.size === "small" && t.variant === "text" && {
    padding: "4px 5px",
    fontSize: e.typography.pxToRem(13)
  }, t.size === "large" && t.variant === "text" && {
    padding: "8px 11px",
    fontSize: e.typography.pxToRem(15)
  }, t.size === "small" && t.variant === "outlined" && {
    padding: "3px 9px",
    fontSize: e.typography.pxToRem(13)
  }, t.size === "large" && t.variant === "outlined" && {
    padding: "7px 21px",
    fontSize: e.typography.pxToRem(15)
  }, t.size === "small" && t.variant === "contained" && {
    padding: "4px 10px",
    fontSize: e.typography.pxToRem(13)
  }, t.size === "large" && t.variant === "contained" && {
    padding: "8px 22px",
    fontSize: e.typography.pxToRem(15)
  }, t.fullWidth && {
    width: "100%"
  });
}, ({
  ownerState: e
}) => e.disableElevation && {
  boxShadow: "none",
  "&:hover": {
    boxShadow: "none"
  },
  [`&.${ri.focusVisible}`]: {
    boxShadow: "none"
  },
  "&:active": {
    boxShadow: "none"
  },
  [`&.${ri.disabled}`]: {
    boxShadow: "none"
  }
}), Yx = U("span", {
  name: "MuiButton",
  slot: "StartIcon",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.startIcon, t[`iconSize${ee(o.size)}`]];
  }
})(({
  ownerState: e
}) => m({
  display: "inherit",
  marginRight: 8,
  marginLeft: -4
}, e.size === "small" && {
  marginLeft: -2
}, yh(e))), Kx = U("span", {
  name: "MuiButton",
  slot: "EndIcon",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.endIcon, t[`iconSize${ee(o.size)}`]];
  }
})(({
  ownerState: e
}) => m({
  display: "inherit",
  marginRight: -4,
  marginLeft: 8
}, e.size === "small" && {
  marginRight: -2
}, yh(e))), Yn = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = d.useContext(gh), a = d.useContext(bh), i = va(r, t), s = Ee({
    props: i,
    name: "MuiButton"
  }), {
    children: l,
    color: c = "primary",
    component: u = "button",
    className: p,
    disabled: f = !1,
    disableElevation: g = !1,
    disableFocusRipple: v = !1,
    endIcon: b,
    focusVisibleClassName: h,
    fullWidth: y = !1,
    size: C = "medium",
    startIcon: E,
    type: w,
    variant: T = "text"
  } = s, O = oe(s, Ux), P = m({}, s, {
    color: c,
    component: u,
    disabled: f,
    disableElevation: g,
    disableFocusRipple: v,
    fullWidth: y,
    size: C,
    type: w,
    variant: T
  }), S = Hx(P), $ = E && /* @__PURE__ */ x(Yx, {
    className: S.startIcon,
    ownerState: P,
    children: E
  }), A = b && /* @__PURE__ */ x(Kx, {
    className: S.endIcon,
    ownerState: P,
    children: b
  }), N = a || "";
  return /* @__PURE__ */ he(qx, m({
    ownerState: P,
    className: ce(r.className, S.root, p, N),
    component: u,
    disabled: f,
    focusRipple: !v,
    focusVisibleClassName: ce(S.focusVisible, h),
    ref: o,
    type: w
  }, O, {
    classes: S,
    children: [$, l, A]
  }));
});
process.env.NODE_ENV !== "production" && (Yn.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOfType([n.oneOf(["inherit", "primary", "secondary", "success", "error", "info", "warning"]), n.string]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, no elevation is used.
   * @default false
   */
  disableElevation: n.bool,
  /**
   * If `true`, the  keyboard focus ripple is disabled.
   * @default false
   */
  disableFocusRipple: n.bool,
  /**
   * If `true`, the ripple effect is disabled.
   *
   * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
   * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
   * @default false
   */
  disableRipple: n.bool,
  /**
   * Element placed after the children.
   */
  endIcon: n.node,
  /**
   * @ignore
   */
  focusVisibleClassName: n.string,
  /**
   * If `true`, the button will take up the full width of its container.
   * @default false
   */
  fullWidth: n.bool,
  /**
   * The URL to link to when the button is clicked.
   * If defined, an `a` element will be used as the root node.
   */
  href: n.string,
  /**
   * The size of the component.
   * `small` is equivalent to the dense button styling.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["small", "medium", "large"]), n.string]),
  /**
   * Element placed before the children.
   */
  startIcon: n.node,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * @ignore
   */
  type: n.oneOfType([n.oneOf(["button", "reset", "submit"]), n.string]),
  /**
   * The variant to use.
   * @default 'text'
   */
  variant: n.oneOfType([n.oneOf(["contained", "outlined", "text"]), n.string])
});
const L7 = ({ children: e, ...t }) => /* @__PURE__ */ x(
  Yn,
  {
    sx: {
      backgroundColor: "rgba(var(--color-surface-primary), 0.1)",
      backdropFilter: "var(--backdrop-filter-blur)",
      WebkitBackdropFilter: "var(--backdrop-filter-blur)",
      border: "1px solid rgba(var(--color-border), 0.18)",
      color: "rgb(var(--color-text-primary))",
      "&:hover": {
        backgroundColor: "rgba(var(--color-surface-primary), 0.2)"
      }
    },
    ...t,
    children: e
  }
), F7 = ({ children: e, ...t }) => /* @__PURE__ */ x(
  Ae,
  {
    sx: {
      backgroundColor: "rgba(var(--color-surface-primary), 0.7)",
      backdropFilter: "var(--backdrop-filter-blur)",
      WebkitBackdropFilter: "var(--backdrop-filter-blur)",
      borderRadius: "16px",
      border: "1px solid rgba(var(--color-border), 0.18)",
      boxShadow: "var(--color-shadow-light)",
      p: 3
    },
    ...t,
    children: e
  }
), Gx = ({ size: e = 1, horizontal: t, vertical: o, ...r }) => {
  const a = typeof e == "number" ? `${e * 8}px` : e;
  return /* @__PURE__ */ x(
    Ae,
    {
      sx: {
        width: t ? a : "100%",
        height: o ? a : "100%",
        flexShrink: 0
      },
      ...r
    }
  );
}, Xx = ["className", "elementType", "ownerState", "externalForwardedProps", "getSlotOwnerState", "internalForwardedProps"], Zx = ["component", "slots", "slotProps"], Qx = ["component"];
function Wi(e, t) {
  const {
    className: o,
    elementType: r,
    ownerState: a,
    externalForwardedProps: i,
    getSlotOwnerState: s,
    internalForwardedProps: l
  } = t, c = oe(t, Xx), {
    component: u,
    slots: p = {
      [e]: void 0
    },
    slotProps: f = {
      [e]: void 0
    }
  } = i, g = oe(i, Zx), v = p[e] || r, b = bs(f[e], a), h = Xm(m({
    className: o
  }, c, {
    externalForwardedProps: e === "root" ? g : void 0,
    externalSlotProps: b
  })), {
    props: {
      component: y
    },
    internalRef: C
  } = h, E = oe(h.props, Qx), w = ze(C, b == null ? void 0 : b.ref, t.ref), T = s ? s(E) : {}, O = m({}, a, T), P = e === "root" ? y || u : y, S = lr(v, m({}, e === "root" && !u && !p[e] && l, e !== "root" && !p[e] && l, E, P && {
    as: P
  }, {
    ref: w
  }), O);
  return Object.keys(T).forEach(($) => {
    delete S[$];
  }), [v, S];
}
function Jx(e) {
  return ye("MuiPaper", e);
}
be("MuiPaper", ["root", "rounded", "outlined", "elevation", "elevation0", "elevation1", "elevation2", "elevation3", "elevation4", "elevation5", "elevation6", "elevation7", "elevation8", "elevation9", "elevation10", "elevation11", "elevation12", "elevation13", "elevation14", "elevation15", "elevation16", "elevation17", "elevation18", "elevation19", "elevation20", "elevation21", "elevation22", "elevation23", "elevation24"]);
const e3 = ["className", "component", "elevation", "square", "variant"], t3 = (e) => {
  const {
    square: t,
    elevation: o,
    variant: r,
    classes: a
  } = e, i = {
    root: ["root", r, !t && "rounded", r === "elevation" && `elevation${o}`]
  };
  return ve(i, Jx, a);
}, n3 = U("div", {
  name: "MuiPaper",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[o.variant], !o.square && t.rounded, o.variant === "elevation" && t[`elevation${o.elevation}`]];
  }
})(({
  theme: e,
  ownerState: t
}) => {
  var o;
  return m({
    backgroundColor: (e.vars || e).palette.background.paper,
    color: (e.vars || e).palette.text.primary,
    transition: e.transitions.create("box-shadow")
  }, !t.square && {
    borderRadius: e.shape.borderRadius
  }, t.variant === "outlined" && {
    border: `1px solid ${(e.vars || e).palette.divider}`
  }, t.variant === "elevation" && m({
    boxShadow: (e.vars || e).shadows[t.elevation]
  }, !e.vars && e.palette.mode === "dark" && {
    backgroundImage: `linear-gradient(${_e("#fff", dp(t.elevation))}, ${_e("#fff", dp(t.elevation))})`
  }, e.vars && {
    backgroundImage: (o = e.vars.overlays) == null ? void 0 : o[t.elevation]
  }));
}), $n = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiPaper"
  }), {
    className: a,
    component: i = "div",
    elevation: s = 1,
    square: l = !1,
    variant: c = "elevation"
  } = r, u = oe(r, e3), p = m({}, r, {
    component: i,
    elevation: s,
    square: l,
    variant: c
  }), f = t3(p);
  return process.env.NODE_ENV !== "production" && vn().shadows[s] === void 0 && console.error([`MUI: The elevation provided <Paper elevation={${s}}> is not available in the theme.`, `Please make sure that \`theme.shadows[${s}]\` is defined.`].join(`
`)), /* @__PURE__ */ x(n3, m({
    as: i,
    ownerState: p,
    className: ce(f.root, a),
    ref: o
  }, u));
});
process.env.NODE_ENV !== "production" && ($n.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * Shadow depth, corresponds to `dp` in the spec.
   * It accepts values between 0 and 24 inclusive.
   * @default 1
   */
  elevation: Jt(Pn, (e) => {
    const {
      elevation: t,
      variant: o
    } = e;
    return t > 0 && o === "outlined" ? new Error(`MUI: Combining \`elevation={${t}}\` with \`variant="${o}"\` has no effect. Either use \`elevation={0}\` or use a different \`variant\`.`) : null;
  }),
  /**
   * If `true`, rounded corners are disabled.
   * @default false
   */
  square: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The variant to use.
   * @default 'elevation'
   */
  variant: n.oneOfType([n.oneOf(["elevation", "outlined"]), n.string])
});
function o3(e) {
  return ye("MuiAlert", e);
}
const yp = be("MuiAlert", ["root", "action", "icon", "message", "filled", "colorSuccess", "colorInfo", "colorWarning", "colorError", "filledSuccess", "filledInfo", "filledWarning", "filledError", "outlined", "outlinedSuccess", "outlinedInfo", "outlinedWarning", "outlinedError", "standard", "standardSuccess", "standardInfo", "standardWarning", "standardError"]);
function r3(e) {
  return ye("MuiIconButton", e);
}
const a3 = be("MuiIconButton", ["root", "disabled", "colorInherit", "colorPrimary", "colorSecondary", "colorError", "colorInfo", "colorSuccess", "colorWarning", "edgeStart", "edgeEnd", "sizeSmall", "sizeMedium", "sizeLarge"]), i3 = ["edge", "children", "className", "color", "disabled", "disableFocusRipple", "size"], s3 = (e) => {
  const {
    classes: t,
    disabled: o,
    color: r,
    edge: a,
    size: i
  } = e, s = {
    root: ["root", o && "disabled", r !== "default" && `color${ee(r)}`, a && `edge${ee(a)}`, `size${ee(i)}`]
  };
  return ve(s, r3, t);
}, l3 = U(Ht, {
  name: "MuiIconButton",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.color !== "default" && t[`color${ee(o.color)}`], o.edge && t[`edge${ee(o.edge)}`], t[`size${ee(o.size)}`]];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  textAlign: "center",
  flex: "0 0 auto",
  fontSize: e.typography.pxToRem(24),
  padding: 8,
  borderRadius: "50%",
  overflow: "visible",
  // Explicitly set the default value to solve a bug on IE11.
  color: (e.vars || e).palette.action.active,
  transition: e.transitions.create("background-color", {
    duration: e.transitions.duration.shortest
  })
}, !t.disableRipple && {
  "&:hover": {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})` : _e(e.palette.action.active, e.palette.action.hoverOpacity),
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      backgroundColor: "transparent"
    }
  }
}, t.edge === "start" && {
  marginLeft: t.size === "small" ? -3 : -12
}, t.edge === "end" && {
  marginRight: t.size === "small" ? -3 : -12
}), ({
  theme: e,
  ownerState: t
}) => {
  var o;
  const r = (o = (e.vars || e).palette) == null ? void 0 : o[t.color];
  return m({}, t.color === "inherit" && {
    color: "inherit"
  }, t.color !== "inherit" && t.color !== "default" && m({
    color: r == null ? void 0 : r.main
  }, !t.disableRipple && {
    "&:hover": m({}, r && {
      backgroundColor: e.vars ? `rgba(${r.mainChannel} / ${e.vars.palette.action.hoverOpacity})` : _e(r.main, e.palette.action.hoverOpacity)
    }, {
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        backgroundColor: "transparent"
      }
    })
  }), t.size === "small" && {
    padding: 5,
    fontSize: e.typography.pxToRem(18)
  }, t.size === "large" && {
    padding: 12,
    fontSize: e.typography.pxToRem(28)
  }, {
    [`&.${a3.disabled}`]: {
      backgroundColor: "transparent",
      color: (e.vars || e).palette.action.disabled
    }
  });
}), mn = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiIconButton"
  }), {
    edge: a = !1,
    children: i,
    className: s,
    color: l = "default",
    disabled: c = !1,
    disableFocusRipple: u = !1,
    size: p = "medium"
  } = r, f = oe(r, i3), g = m({}, r, {
    edge: a,
    color: l,
    disabled: c,
    disableFocusRipple: u,
    size: p
  }), v = s3(g);
  return /* @__PURE__ */ x(l3, m({
    className: ce(v.root, s),
    centerRipple: !0,
    focusRipple: !u,
    disabled: c,
    ref: o
  }, f, {
    ownerState: g,
    children: i
  }));
});
process.env.NODE_ENV !== "production" && (mn.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The icon to display.
   */
  children: Jt(n.node, (e) => d.Children.toArray(e.children).some((o) => /* @__PURE__ */ d.isValidElement(o) && o.props.onClick) ? new Error(["MUI: You are providing an onClick event listener to a child of a button element.", "Prefer applying it to the IconButton directly.", "This guarantees that the whole <button> will be responsive to click events."].join(`
`)) : null),
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'default'
   */
  color: n.oneOfType([n.oneOf(["inherit", "default", "primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, the  keyboard focus ripple is disabled.
   * @default false
   */
  disableFocusRipple: n.bool,
  /**
   * If `true`, the ripple effect is disabled.
   *
   * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
   * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
   * @default false
   */
  disableRipple: n.bool,
  /**
   * If given, uses a negative margin to counteract the padding on one
   * side (this is often helpful for aligning the left or right
   * side of the icon with content above or below, without ruining the border
   * size and shape).
   * @default false
   */
  edge: n.oneOf(["end", "start", !1]),
  /**
   * The size of the component.
   * `small` is equivalent to the dense button styling.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["small", "medium", "large"]), n.string]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function c3(e) {
  return ye("MuiSvgIcon", e);
}
be("MuiSvgIcon", ["root", "colorPrimary", "colorSecondary", "colorAction", "colorError", "colorDisabled", "fontSizeInherit", "fontSizeSmall", "fontSizeMedium", "fontSizeLarge"]);
const u3 = ["children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox"], d3 = (e) => {
  const {
    color: t,
    fontSize: o,
    classes: r
  } = e, a = {
    root: ["root", t !== "inherit" && `color${ee(t)}`, `fontSize${ee(o)}`]
  };
  return ve(a, c3, r);
}, p3 = U("svg", {
  name: "MuiSvgIcon",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.color !== "inherit" && t[`color${ee(o.color)}`], t[`fontSize${ee(o.fontSize)}`]];
  }
})(({
  theme: e,
  ownerState: t
}) => {
  var o, r, a, i, s, l, c, u, p, f, g, v, b;
  return {
    userSelect: "none",
    width: "1em",
    height: "1em",
    display: "inline-block",
    // the <svg> will define the property that has `currentColor`
    // for example heroicons uses fill="none" and stroke="currentColor"
    fill: t.hasSvgAsChild ? void 0 : "currentColor",
    flexShrink: 0,
    transition: (o = e.transitions) == null || (r = o.create) == null ? void 0 : r.call(o, "fill", {
      duration: (a = e.transitions) == null || (a = a.duration) == null ? void 0 : a.shorter
    }),
    fontSize: {
      inherit: "inherit",
      small: ((i = e.typography) == null || (s = i.pxToRem) == null ? void 0 : s.call(i, 20)) || "1.25rem",
      medium: ((l = e.typography) == null || (c = l.pxToRem) == null ? void 0 : c.call(l, 24)) || "1.5rem",
      large: ((u = e.typography) == null || (p = u.pxToRem) == null ? void 0 : p.call(u, 35)) || "2.1875rem"
    }[t.fontSize],
    // TODO v5 deprecate, v6 remove for sx
    color: (f = (g = (e.vars || e).palette) == null || (g = g[t.color]) == null ? void 0 : g.main) != null ? f : {
      action: (v = (e.vars || e).palette) == null || (v = v.action) == null ? void 0 : v.active,
      disabled: (b = (e.vars || e).palette) == null || (b = b.action) == null ? void 0 : b.disabled,
      inherit: void 0
    }[t.color]
  };
}), Ui = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiSvgIcon"
  }), {
    children: a,
    className: i,
    color: s = "inherit",
    component: l = "svg",
    fontSize: c = "medium",
    htmlColor: u,
    inheritViewBox: p = !1,
    titleAccess: f,
    viewBox: g = "0 0 24 24"
  } = r, v = oe(r, u3), b = /* @__PURE__ */ d.isValidElement(a) && a.type === "svg", h = m({}, r, {
    color: s,
    component: l,
    fontSize: c,
    instanceFontSize: t.fontSize,
    inheritViewBox: p,
    viewBox: g,
    hasSvgAsChild: b
  }), y = {};
  p || (y.viewBox = g);
  const C = d3(h);
  return /* @__PURE__ */ he(p3, m({
    as: l,
    className: ce(C.root, i),
    focusable: "false",
    color: u,
    "aria-hidden": f ? void 0 : !0,
    role: f ? "img" : void 0,
    ref: o
  }, y, v, b && a.props, {
    ownerState: h,
    children: [b ? a.props.children : a, f ? /* @__PURE__ */ x("title", {
      children: f
    }) : null]
  }));
});
process.env.NODE_ENV !== "production" && (Ui.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: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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: n.oneOfType([n.oneOf(["inherit", "action", "disabled", "primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.
   * @default 'medium'
   */
  fontSize: n.oneOfType([n.oneOf(["inherit", "large", "medium", "small"]), n.string]),
  /**
   * Applies a color attribute to the SVG element.
   */
  htmlColor: n.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: n.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/Attribute/shape-rendering).
   * If you are having issues with blurry icons you should investigate this prop.
   */
  shapeRendering: n.string,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Provides a human-readable title for the element that contains it.
   * https://www.w3.org/TR/SVG-access/#Equivalent
   */
  titleAccess: n.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: n.string
});
Ui.muiName = "SvgIcon";
function nt(e, t) {
  function o(r, a) {
    return /* @__PURE__ */ x(Ui, m({
      "data-testid": `${t}Icon`,
      ref: a
    }, r, {
      children: e
    }));
  }
  return process.env.NODE_ENV !== "production" && (o.displayName = `${t}Icon`), o.muiName = Ui.muiName, /* @__PURE__ */ d.memo(/* @__PURE__ */ d.forwardRef(o));
}
const f3 = nt(/* @__PURE__ */ x("path", {
  d: "M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"
}), "SuccessOutlined"), m3 = nt(/* @__PURE__ */ x("path", {
  d: "M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"
}), "ReportProblemOutlined"), h3 = nt(/* @__PURE__ */ x("path", {
  d: "M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
}), "ErrorOutline"), g3 = nt(/* @__PURE__ */ x("path", {
  d: "M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"
}), "InfoOutlined"), b3 = nt(/* @__PURE__ */ x("path", {
  d: "M19 6.41L17.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"), y3 = ["action", "children", "className", "closeText", "color", "components", "componentsProps", "icon", "iconMapping", "onClose", "role", "severity", "slotProps", "slots", "variant"], v3 = (e) => {
  const {
    variant: t,
    color: o,
    severity: r,
    classes: a
  } = e, i = {
    root: ["root", `color${ee(o || r)}`, `${t}${ee(o || r)}`, `${t}`],
    icon: ["icon"],
    message: ["message"],
    action: ["action"]
  };
  return ve(i, o3, a);
}, x3 = U($n, {
  name: "MuiAlert",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[o.variant], t[`${o.variant}${ee(o.color || o.severity)}`]];
  }
})(({
  theme: e
}) => {
  const t = e.palette.mode === "light" ? go : bo, o = e.palette.mode === "light" ? bo : go;
  return m({}, e.typography.body2, {
    backgroundColor: "transparent",
    display: "flex",
    padding: "6px 16px",
    variants: [...Object.entries(e.palette).filter(([, r]) => r.main && r.light).map(([r]) => ({
      props: {
        colorSeverity: r,
        variant: "standard"
      },
      style: {
        color: e.vars ? e.vars.palette.Alert[`${r}Color`] : t(e.palette[r].light, 0.6),
        backgroundColor: e.vars ? e.vars.palette.Alert[`${r}StandardBg`] : o(e.palette[r].light, 0.9),
        [`& .${yp.icon}`]: e.vars ? {
          color: e.vars.palette.Alert[`${r}IconColor`]
        } : {
          color: e.palette[r].main
        }
      }
    })), ...Object.entries(e.palette).filter(([, r]) => r.main && r.light).map(([r]) => ({
      props: {
        colorSeverity: r,
        variant: "outlined"
      },
      style: {
        color: e.vars ? e.vars.palette.Alert[`${r}Color`] : t(e.palette[r].light, 0.6),
        border: `1px solid ${(e.vars || e).palette[r].light}`,
        [`& .${yp.icon}`]: e.vars ? {
          color: e.vars.palette.Alert[`${r}IconColor`]
        } : {
          color: e.palette[r].main
        }
      }
    })), ...Object.entries(e.palette).filter(([, r]) => r.main && r.dark).map(([r]) => ({
      props: {
        colorSeverity: r,
        variant: "filled"
      },
      style: m({
        fontWeight: e.typography.fontWeightMedium
      }, e.vars ? {
        color: e.vars.palette.Alert[`${r}FilledColor`],
        backgroundColor: e.vars.palette.Alert[`${r}FilledBg`]
      } : {
        backgroundColor: e.palette.mode === "dark" ? e.palette[r].dark : e.palette[r].main,
        color: e.palette.getContrastText(e.palette[r].main)
      })
    }))]
  });
}), C3 = U("div", {
  name: "MuiAlert",
  slot: "Icon",
  overridesResolver: (e, t) => t.icon
})({
  marginRight: 12,
  padding: "7px 0",
  display: "flex",
  fontSize: 22,
  opacity: 0.9
}), T3 = U("div", {
  name: "MuiAlert",
  slot: "Message",
  overridesResolver: (e, t) => t.message
})({
  padding: "8px 0",
  minWidth: 0,
  overflow: "auto"
}), vp = U("div", {
  name: "MuiAlert",
  slot: "Action",
  overridesResolver: (e, t) => t.action
})({
  display: "flex",
  alignItems: "flex-start",
  padding: "4px 0 0 16px",
  marginLeft: "auto",
  marginRight: -8
}), xp = {
  success: /* @__PURE__ */ x(f3, {
    fontSize: "inherit"
  }),
  warning: /* @__PURE__ */ x(m3, {
    fontSize: "inherit"
  }),
  error: /* @__PURE__ */ x(h3, {
    fontSize: "inherit"
  }),
  info: /* @__PURE__ */ x(g3, {
    fontSize: "inherit"
  })
}, Uc = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiAlert"
  }), {
    action: a,
    children: i,
    className: s,
    closeText: l = "Close",
    color: c,
    components: u = {},
    componentsProps: p = {},
    icon: f,
    iconMapping: g = xp,
    onClose: v,
    role: b = "alert",
    severity: h = "success",
    slotProps: y = {},
    slots: C = {},
    variant: E = "standard"
  } = r, w = oe(r, y3), T = m({}, r, {
    color: c,
    severity: h,
    variant: E,
    colorSeverity: c || h
  }), O = v3(T), P = {
    slots: m({
      closeButton: u.CloseButton,
      closeIcon: u.CloseIcon
    }, C),
    slotProps: m({}, p, y)
  }, [S, $] = Wi("closeButton", {
    elementType: mn,
    externalForwardedProps: P,
    ownerState: T
  }), [A, N] = Wi("closeIcon", {
    elementType: b3,
    externalForwardedProps: P,
    ownerState: T
  });
  return /* @__PURE__ */ he(x3, m({
    role: b,
    elevation: 0,
    ownerState: T,
    className: ce(O.root, s),
    ref: o
  }, w, {
    children: [f !== !1 ? /* @__PURE__ */ x(C3, {
      ownerState: T,
      className: O.icon,
      children: f || g[h] || xp[h]
    }) : null, /* @__PURE__ */ x(T3, {
      ownerState: T,
      className: O.message,
      children: i
    }), a != null ? /* @__PURE__ */ x(vp, {
      ownerState: T,
      className: O.action,
      children: a
    }) : null, a == null && v ? /* @__PURE__ */ x(vp, {
      ownerState: T,
      className: O.action,
      children: /* @__PURE__ */ x(S, m({
        size: "small",
        "aria-label": l,
        title: l,
        color: "inherit",
        onClick: v
      }, $, {
        children: /* @__PURE__ */ x(A, m({
          fontSize: "small"
        }, N))
      }))
    }) : null]
  }));
});
process.env.NODE_ENV !== "production" && (Uc.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The action to display. It renders after the message, at the end of the alert.
   */
  action: n.node,
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * Override the default label for the *close popup* icon button.
   *
   * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).
   * @default 'Close'
   */
  closeText: n.string,
  /**
   * The color of the component. Unless provided, the value is taken from the `severity` prop.
   * 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).
   */
  color: n.oneOfType([n.oneOf(["error", "info", "success", "warning"]), n.string]),
  /**
   * The components used for each slot inside.
   *
   * @deprecated use the `slots` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
   *
   * @default {}
   */
  components: n.shape({
    CloseButton: n.elementType,
    CloseIcon: n.elementType
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
   *
   * @default {}
   */
  componentsProps: n.shape({
    closeButton: n.object,
    closeIcon: n.object
  }),
  /**
   * Override the icon displayed before the children.
   * Unless provided, the icon is mapped to the value of the `severity` prop.
   * Set to `false` to remove the `icon`.
   */
  icon: n.node,
  /**
   * The component maps the `severity` prop to a range of different icons,
   * for instance success to `<SuccessOutlined>`.
   * If you wish to change this mapping, you can provide your own.
   * Alternatively, you can use the `icon` prop to override the icon displayed.
   */
  iconMapping: n.shape({
    error: n.node,
    info: n.node,
    success: n.node,
    warning: n.node
  }),
  /**
   * Callback fired when the component requests to be closed.
   * When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked.
   * @param {React.SyntheticEvent} event The event source of the callback.
   */
  onClose: n.func,
  /**
   * The ARIA role attribute of the element.
   * @default 'alert'
   */
  role: n.string,
  /**
   * The severity of the alert. This defines the color and icon used.
   * @default 'success'
   */
  severity: n.oneOfType([n.oneOf(["error", "info", "success", "warning"]), n.string]),
  /**
   * The props used for each slot inside.
   * @default {}
   */
  slotProps: n.shape({
    closeButton: n.oneOfType([n.func, n.object]),
    closeIcon: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside.
   * @default {}
   */
  slots: n.shape({
    closeButton: n.elementType,
    closeIcon: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The variant to use.
   * @default 'standard'
   */
  variant: n.oneOfType([n.oneOf(["filled", "outlined", "standard"]), n.string])
});
function w3(e) {
  return ye("MuiTypography", e);
}
be("MuiTypography", ["root", "h1", "h2", "h3", "h4", "h5", "h6", "subtitle1", "subtitle2", "body1", "body2", "inherit", "button", "caption", "overline", "alignLeft", "alignRight", "alignCenter", "alignJustify", "noWrap", "gutterBottom", "paragraph"]);
const O3 = ["align", "className", "component", "gutterBottom", "noWrap", "paragraph", "variant", "variantMapping"], E3 = (e) => {
  const {
    align: t,
    gutterBottom: o,
    noWrap: r,
    paragraph: a,
    variant: i,
    classes: s
  } = e, l = {
    root: ["root", i, e.align !== "inherit" && `align${ee(t)}`, o && "gutterBottom", r && "noWrap", a && "paragraph"]
  };
  return ve(l, w3, s);
}, S3 = U("span", {
  name: "MuiTypography",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.variant && t[o.variant], o.align !== "inherit" && t[`align${ee(o.align)}`], o.noWrap && t.noWrap, o.gutterBottom && t.gutterBottom, o.paragraph && t.paragraph];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  margin: 0
}, t.variant === "inherit" && {
  // Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.
  font: "inherit"
}, t.variant !== "inherit" && e.typography[t.variant], t.align !== "inherit" && {
  textAlign: t.align
}, t.noWrap && {
  overflow: "hidden",
  textOverflow: "ellipsis",
  whiteSpace: "nowrap"
}, t.gutterBottom && {
  marginBottom: "0.35em"
}, t.paragraph && {
  marginBottom: 16
})), Cp = {
  h1: "h1",
  h2: "h2",
  h3: "h3",
  h4: "h4",
  h5: "h5",
  h6: "h6",
  subtitle1: "h6",
  subtitle2: "h6",
  body1: "p",
  body2: "p",
  inherit: "p"
}, P3 = {
  primary: "primary.main",
  textPrimary: "text.primary",
  secondary: "secondary.main",
  textSecondary: "text.secondary",
  error: "error.main"
}, R3 = (e) => P3[e] || e, Le = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTypography"
  }), a = R3(r.color), i = Ic(m({}, r, {
    color: a
  })), {
    align: s = "inherit",
    className: l,
    component: c,
    gutterBottom: u = !1,
    noWrap: p = !1,
    paragraph: f = !1,
    variant: g = "body1",
    variantMapping: v = Cp
  } = i, b = oe(i, O3), h = m({}, i, {
    align: s,
    color: a,
    className: l,
    component: c,
    gutterBottom: u,
    noWrap: p,
    paragraph: f,
    variant: g,
    variantMapping: v
  }), y = c || (f ? "p" : v[g] || Cp[g]) || "span", C = E3(h);
  return /* @__PURE__ */ x(S3, m({
    as: y,
    ref: o,
    ownerState: h,
    className: ce(C.root, l)
  }, b));
});
process.env.NODE_ENV !== "production" && (Le.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Set the text-align on the component.
   * @default 'inherit'
   */
  align: n.oneOf(["center", "inherit", "justify", "left", "right"]),
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If `true`, the text will have a bottom margin.
   * @default false
   */
  gutterBottom: n.bool,
  /**
   * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.
   *
   * Note that text overflow can only happen with block or inline-block level elements
   * (the element needs to have a width in order to overflow).
   * @default false
   */
  noWrap: n.bool,
  /**
   * If `true`, the element will be a paragraph element.
   * @default false
   */
  paragraph: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Applies the theme typography styles.
   * @default 'body1'
   */
  variant: n.oneOfType([n.oneOf(["body1", "body2", "button", "caption", "h1", "h2", "h3", "h4", "h5", "h6", "inherit", "overline", "subtitle1", "subtitle2"]), n.string]),
  /**
   * The component maps the variant prop to a range of different HTML element types.
   * For instance, subtitle1 to `<h6>`.
   * If you wish to change that mapping, you can provide your own.
   * Alternatively, you can use the `component` prop.
   * @default {
   *   h1: 'h1',
   *   h2: 'h2',
   *   h3: 'h3',
   *   h4: 'h4',
   *   h5: 'h5',
   *   h6: 'h6',
   *   subtitle1: 'h6',
   *   subtitle2: 'h6',
   *   body1: 'p',
   *   body2: 'p',
   *   inherit: 'p',
   * }
   */
  variantMapping: n.object
});
function k3(e) {
  return ye("MuiAlertTitle", e);
}
be("MuiAlertTitle", ["root"]);
const M3 = ["className"], $3 = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, k3, t);
}, D3 = U(Le, {
  name: "MuiAlertTitle",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})(({
  theme: e
}) => ({
  fontWeight: e.typography.fontWeightMedium,
  marginTop: -2
})), vh = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiAlertTitle"
  }), {
    className: a
  } = r, i = oe(r, M3), s = r, l = $3(s);
  return /* @__PURE__ */ x(D3, m({
    gutterBottom: !0,
    component: "div",
    ownerState: s,
    ref: o,
    className: ce(l.root, a)
  }, i));
});
process.env.NODE_ENV !== "production" && (vh.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
const j7 = ({ title: e, children: t, ...o }) => /* @__PURE__ */ he(
  Uc,
  {
    sx: {
      backgroundColor: "rgba(var(--color-surface-primary), 0.7)",
      backdropFilter: "var(--backdrop-filter-blur)",
      WebkitBackdropFilter: "var(--backdrop-filter-blur)",
      color: "rgb(var(--color-text-primary))",
      border: "1px solid rgba(var(--color-border), 0.18)",
      "& .MuiAlert-icon": {
        color: "rgb(var(--color-primary)) !important"
      },
      "& .MuiAlert-message": {
        color: "rgb(var(--color-text-primary))"
      }
    },
    ...o,
    children: [
      e && /* @__PURE__ */ x(vh, { sx: { color: "rgb(var(--color-primary))", fontWeight: 600 }, children: e }),
      t
    ]
  }
), I3 = nt(/* @__PURE__ */ x("path", {
  d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"
}), "Person");
function N3(e) {
  return ye("MuiAvatar", e);
}
be("MuiAvatar", ["root", "colorDefault", "circular", "rounded", "square", "img", "fallback"]);
const _3 = ["alt", "children", "className", "component", "slots", "slotProps", "imgProps", "sizes", "src", "srcSet", "variant"], A3 = (e) => {
  const {
    classes: t,
    variant: o,
    colorDefault: r
  } = e;
  return ve({
    root: ["root", o, r && "colorDefault"],
    img: ["img"],
    fallback: ["fallback"]
  }, N3, t);
}, L3 = U("div", {
  name: "MuiAvatar",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[o.variant], o.colorDefault && t.colorDefault];
  }
})(({
  theme: e
}) => ({
  position: "relative",
  display: "flex",
  alignItems: "center",
  justifyContent: "center",
  flexShrink: 0,
  width: 40,
  height: 40,
  fontFamily: e.typography.fontFamily,
  fontSize: e.typography.pxToRem(20),
  lineHeight: 1,
  borderRadius: "50%",
  overflow: "hidden",
  userSelect: "none",
  variants: [{
    props: {
      variant: "rounded"
    },
    style: {
      borderRadius: (e.vars || e).shape.borderRadius
    }
  }, {
    props: {
      variant: "square"
    },
    style: {
      borderRadius: 0
    }
  }, {
    props: {
      colorDefault: !0
    },
    style: m({
      color: (e.vars || e).palette.background.default
    }, e.vars ? {
      backgroundColor: e.vars.palette.Avatar.defaultBg
    } : m({
      backgroundColor: e.palette.grey[400]
    }, e.applyStyles("dark", {
      backgroundColor: e.palette.grey[600]
    })))
  }]
})), F3 = U("img", {
  name: "MuiAvatar",
  slot: "Img",
  overridesResolver: (e, t) => t.img
})({
  width: "100%",
  height: "100%",
  textAlign: "center",
  // Handle non-square image. The property isn't supported by IE11.
  objectFit: "cover",
  // Hide alt text.
  color: "transparent",
  // Hide the image broken icon, only works on Chrome.
  textIndent: 1e4
}), j3 = U(I3, {
  name: "MuiAvatar",
  slot: "Fallback",
  overridesResolver: (e, t) => t.fallback
})({
  width: "75%",
  height: "75%"
});
function V3({
  crossOrigin: e,
  referrerPolicy: t,
  src: o,
  srcSet: r
}) {
  const [a, i] = d.useState(!1);
  return d.useEffect(() => {
    if (!o && !r)
      return;
    i(!1);
    let s = !0;
    const l = new Image();
    return l.onload = () => {
      s && i("loaded");
    }, l.onerror = () => {
      s && i("error");
    }, l.crossOrigin = e, l.referrerPolicy = t, l.src = o, r && (l.srcset = r), () => {
      s = !1;
    };
  }, [e, t, o, r]), a;
}
const xh = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiAvatar"
  }), {
    alt: a,
    children: i,
    className: s,
    component: l = "div",
    slots: c = {},
    slotProps: u = {},
    imgProps: p,
    sizes: f,
    src: g,
    srcSet: v,
    variant: b = "circular"
  } = r, h = oe(r, _3);
  let y = null;
  const C = V3(m({}, p, {
    src: g,
    srcSet: v
  })), E = g || v, w = E && C !== "error", T = m({}, r, {
    colorDefault: !w,
    component: l,
    variant: b
  }), O = A3(T), [P, S] = Wi("img", {
    className: O.img,
    elementType: F3,
    externalForwardedProps: {
      slots: c,
      slotProps: {
        img: m({}, p, u.img)
      }
    },
    additionalProps: {
      alt: a,
      src: g,
      srcSet: v,
      sizes: f
    },
    ownerState: T
  });
  return w ? y = /* @__PURE__ */ x(P, m({}, S)) : i || i === 0 ? y = i : E && a ? y = a[0] : y = /* @__PURE__ */ x(j3, {
    ownerState: T,
    className: O.fallback
  }), /* @__PURE__ */ x(L3, m({
    as: l,
    ownerState: T,
    className: ce(O.root, s),
    ref: o
  }, h, {
    children: y
  }));
});
process.env.NODE_ENV !== "production" && (xh.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Used in combination with `src` or `srcSet` to
   * provide an alt attribute for the rendered `img` element.
   */
  alt: n.string,
  /**
   * Used to render icon or text elements inside the Avatar if `src` is not set.
   * This can be an element, or just a string.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes) applied to the `img` element if the component is used to display an image.
   * It can be used to listen for the loading error event.
   * @deprecated Use `slotProps.img` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
   */
  imgProps: n.object,
  /**
   * The `sizes` attribute for the `img` element.
   */
  sizes: n.string,
  /**
   * The props used for each slot inside.
   * @default {}
   */
  slotProps: n.shape({
    img: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside.
   * @default {}
   */
  slots: n.shape({
    img: n.elementType
  }),
  /**
   * The `src` attribute for the `img` element.
   */
  src: n.string,
  /**
   * The `srcSet` attribute for the `img` element.
   * Use this attribute for responsive image display.
   */
  srcSet: n.string,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The shape of the avatar.
   * @default 'circular'
   */
  variant: n.oneOfType([n.oneOf(["circular", "rounded", "square"]), n.string])
});
const V7 = (e) => /* @__PURE__ */ x(
  xh,
  {
    sx: {
      bgcolor: "rgb(var(--color-primary))",
      color: "rgb(var(--color-background-primary))"
    },
    ...e
  }
);
function z3(e) {
  const {
    badgeContent: t,
    invisible: o = !1,
    max: r = 99,
    showZero: a = !1
  } = e, i = qm({
    badgeContent: t,
    max: r
  });
  let s = o;
  o === !1 && t === 0 && !a && (s = !0);
  const {
    badgeContent: l,
    max: c = r
  } = s ? i : e, u = l && Number(l) > c ? `${c}+` : l;
  return {
    badgeContent: l,
    invisible: s,
    max: c,
    displayValue: u
  };
}
function B3(e) {
  return ye("MuiBadge", e);
}
const lo = be("MuiBadge", [
  "root",
  "badge",
  "dot",
  "standard",
  "anchorOriginTopRight",
  "anchorOriginBottomRight",
  "anchorOriginTopLeft",
  "anchorOriginBottomLeft",
  "invisible",
  "colorError",
  "colorInfo",
  "colorPrimary",
  "colorSecondary",
  "colorSuccess",
  "colorWarning",
  "overlapRectangular",
  "overlapCircular",
  // TODO: v6 remove the overlap value from these class keys
  "anchorOriginTopLeftCircular",
  "anchorOriginTopLeftRectangular",
  "anchorOriginTopRightCircular",
  "anchorOriginTopRightRectangular",
  "anchorOriginBottomLeftCircular",
  "anchorOriginBottomLeftRectangular",
  "anchorOriginBottomRightCircular",
  "anchorOriginBottomRightRectangular"
]), W3 = ["anchorOrigin", "className", "classes", "component", "components", "componentsProps", "children", "overlap", "color", "invisible", "max", "badgeContent", "slots", "slotProps", "showZero", "variant"], Sl = 10, Pl = 4, U3 = (e) => {
  const {
    color: t,
    anchorOrigin: o,
    invisible: r,
    overlap: a,
    variant: i,
    classes: s = {}
  } = e, l = {
    root: ["root"],
    badge: ["badge", i, r && "invisible", `anchorOrigin${ee(o.vertical)}${ee(o.horizontal)}`, `anchorOrigin${ee(o.vertical)}${ee(o.horizontal)}${ee(a)}`, `overlap${ee(a)}`, t !== "default" && `color${ee(t)}`]
  };
  return ve(l, B3, s);
}, H3 = U("span", {
  name: "MuiBadge",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  position: "relative",
  display: "inline-flex",
  // For correct alignment with the text.
  verticalAlign: "middle",
  flexShrink: 0
}), q3 = U("span", {
  name: "MuiBadge",
  slot: "Badge",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.badge, t[o.variant], t[`anchorOrigin${ee(o.anchorOrigin.vertical)}${ee(o.anchorOrigin.horizontal)}${ee(o.overlap)}`], o.color !== "default" && t[`color${ee(o.color)}`], o.invisible && t.invisible];
  }
})(({
  theme: e
}) => {
  var t;
  return {
    display: "flex",
    flexDirection: "row",
    flexWrap: "wrap",
    justifyContent: "center",
    alignContent: "center",
    alignItems: "center",
    position: "absolute",
    boxSizing: "border-box",
    fontFamily: e.typography.fontFamily,
    fontWeight: e.typography.fontWeightMedium,
    fontSize: e.typography.pxToRem(12),
    minWidth: Sl * 2,
    lineHeight: 1,
    padding: "0 6px",
    height: Sl * 2,
    borderRadius: Sl,
    zIndex: 1,
    // Render the badge on top of potential ripples.
    transition: e.transitions.create("transform", {
      easing: e.transitions.easing.easeInOut,
      duration: e.transitions.duration.enteringScreen
    }),
    variants: [...Object.keys(((t = e.vars) != null ? t : e).palette).filter((o) => {
      var r, a;
      return ((r = e.vars) != null ? r : e).palette[o].main && ((a = e.vars) != null ? a : e).palette[o].contrastText;
    }).map((o) => ({
      props: {
        color: o
      },
      style: {
        backgroundColor: (e.vars || e).palette[o].main,
        color: (e.vars || e).palette[o].contrastText
      }
    })), {
      props: {
        variant: "dot"
      },
      style: {
        borderRadius: Pl,
        height: Pl * 2,
        minWidth: Pl * 2,
        padding: 0
      }
    }, {
      props: ({
        ownerState: o
      }) => o.anchorOrigin.vertical === "top" && o.anchorOrigin.horizontal === "right" && o.overlap === "rectangular",
      style: {
        top: 0,
        right: 0,
        transform: "scale(1) translate(50%, -50%)",
        transformOrigin: "100% 0%",
        [`&.${lo.invisible}`]: {
          transform: "scale(0) translate(50%, -50%)"
        }
      }
    }, {
      props: ({
        ownerState: o
      }) => o.anchorOrigin.vertical === "bottom" && o.anchorOrigin.horizontal === "right" && o.overlap === "rectangular",
      style: {
        bottom: 0,
        right: 0,
        transform: "scale(1) translate(50%, 50%)",
        transformOrigin: "100% 100%",
        [`&.${lo.invisible}`]: {
          transform: "scale(0) translate(50%, 50%)"
        }
      }
    }, {
      props: ({
        ownerState: o
      }) => o.anchorOrigin.vertical === "top" && o.anchorOrigin.horizontal === "left" && o.overlap === "rectangular",
      style: {
        top: 0,
        left: 0,
        transform: "scale(1) translate(-50%, -50%)",
        transformOrigin: "0% 0%",
        [`&.${lo.invisible}`]: {
          transform: "scale(0) translate(-50%, -50%)"
        }
      }
    }, {
      props: ({
        ownerState: o
      }) => o.anchorOrigin.vertical === "bottom" && o.anchorOrigin.horizontal === "left" && o.overlap === "rectangular",
      style: {
        bottom: 0,
        left: 0,
        transform: "scale(1) translate(-50%, 50%)",
        transformOrigin: "0% 100%",
        [`&.${lo.invisible}`]: {
          transform: "scale(0) translate(-50%, 50%)"
        }
      }
    }, {
      props: ({
        ownerState: o
      }) => o.anchorOrigin.vertical === "top" && o.anchorOrigin.horizontal === "right" && o.overlap === "circular",
      style: {
        top: "14%",
        right: "14%",
        transform: "scale(1) translate(50%, -50%)",
        transformOrigin: "100% 0%",
        [`&.${lo.invisible}`]: {
          transform: "scale(0) translate(50%, -50%)"
        }
      }
    }, {
      props: ({
        ownerState: o
      }) => o.anchorOrigin.vertical === "bottom" && o.anchorOrigin.horizontal === "right" && o.overlap === "circular",
      style: {
        bottom: "14%",
        right: "14%",
        transform: "scale(1) translate(50%, 50%)",
        transformOrigin: "100% 100%",
        [`&.${lo.invisible}`]: {
          transform: "scale(0) translate(50%, 50%)"
        }
      }
    }, {
      props: ({
        ownerState: o
      }) => o.anchorOrigin.vertical === "top" && o.anchorOrigin.horizontal === "left" && o.overlap === "circular",
      style: {
        top: "14%",
        left: "14%",
        transform: "scale(1) translate(-50%, -50%)",
        transformOrigin: "0% 0%",
        [`&.${lo.invisible}`]: {
          transform: "scale(0) translate(-50%, -50%)"
        }
      }
    }, {
      props: ({
        ownerState: o
      }) => o.anchorOrigin.vertical === "bottom" && o.anchorOrigin.horizontal === "left" && o.overlap === "circular",
      style: {
        bottom: "14%",
        left: "14%",
        transform: "scale(1) translate(-50%, 50%)",
        transformOrigin: "0% 100%",
        [`&.${lo.invisible}`]: {
          transform: "scale(0) translate(-50%, 50%)"
        }
      }
    }, {
      props: {
        invisible: !0
      },
      style: {
        transition: e.transitions.create("transform", {
          easing: e.transitions.easing.easeInOut,
          duration: e.transitions.duration.leavingScreen
        })
      }
    }]
  };
}), Ch = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a, i, s, l, c;
  const u = Ee({
    props: t,
    name: "MuiBadge"
  }), {
    anchorOrigin: p = {
      vertical: "top",
      horizontal: "right"
    },
    className: f,
    component: g,
    components: v = {},
    componentsProps: b = {},
    children: h,
    overlap: y = "rectangular",
    color: C = "default",
    invisible: E = !1,
    max: w = 99,
    badgeContent: T,
    slots: O,
    slotProps: P,
    showZero: S = !1,
    variant: $ = "standard"
  } = u, A = oe(u, W3), {
    badgeContent: N,
    invisible: D,
    max: V,
    displayValue: L
  } = z3({
    max: w,
    invisible: E,
    badgeContent: T,
    showZero: S
  }), I = qm({
    anchorOrigin: p,
    color: C,
    overlap: y,
    variant: $,
    badgeContent: T
  }), R = D || N == null && $ !== "dot", {
    color: k = C,
    overlap: F = y,
    anchorOrigin: M = p,
    variant: B = $
  } = R ? I : u, j = B !== "dot" ? L : void 0, W = m({}, u, {
    badgeContent: N,
    invisible: R,
    max: V,
    displayValue: j,
    showZero: S,
    anchorOrigin: M,
    color: k,
    overlap: F,
    variant: B
  }), re = U3(W), J = (r = (a = O == null ? void 0 : O.root) != null ? a : v.Root) != null ? r : H3, Q = (i = (s = O == null ? void 0 : O.badge) != null ? s : v.Badge) != null ? i : q3, X = (l = P == null ? void 0 : P.root) != null ? l : b.root, Y = (c = P == null ? void 0 : P.badge) != null ? c : b.badge, Z = $e({
    elementType: J,
    externalSlotProps: X,
    externalForwardedProps: A,
    additionalProps: {
      ref: o,
      as: g
    },
    ownerState: W,
    className: ce(X == null ? void 0 : X.className, re.root, f)
  }), H = $e({
    elementType: Q,
    externalSlotProps: Y,
    ownerState: W,
    className: ce(re.badge, Y == null ? void 0 : Y.className)
  });
  return /* @__PURE__ */ he(J, m({}, Z, {
    children: [h, /* @__PURE__ */ x(Q, m({}, H, {
      children: j
    }))]
  }));
});
process.env.NODE_ENV !== "production" && (Ch.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The anchor of the badge.
   * @default {
   *   vertical: 'top',
   *   horizontal: 'right',
   * }
   */
  anchorOrigin: n.shape({
    horizontal: n.oneOf(["left", "right"]).isRequired,
    vertical: n.oneOf(["bottom", "top"]).isRequired
  }),
  /**
   * The content rendered within the badge.
   */
  badgeContent: n.node,
  /**
   * The badge will be added relative to this node.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'default'
   */
  color: n.oneOfType([n.oneOf(["default", "primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `slots` prop.
   * It's recommended to use the `slots` prop instead.
   *
   * @default {}
   */
  components: n.shape({
    Badge: n.elementType,
    Root: n.elementType
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `slotProps` prop.
   * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
   *
   * @default {}
   */
  componentsProps: n.shape({
    badge: n.oneOfType([n.func, n.object]),
    root: n.oneOfType([n.func, n.object])
  }),
  /**
   * If `true`, the badge is invisible.
   * @default false
   */
  invisible: n.bool,
  /**
   * Max count to show.
   * @default 99
   */
  max: n.number,
  /**
   * Wrapped shape the badge should overlap.
   * @default 'rectangular'
   */
  overlap: n.oneOf(["circular", "rectangular"]),
  /**
   * Controls whether the badge is hidden when `badgeContent` is zero.
   * @default false
   */
  showZero: n.bool,
  /**
   * The props used for each slot inside the Badge.
   * @default {}
   */
  slotProps: n.shape({
    badge: n.oneOfType([n.func, n.object]),
    root: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside the Badge.
   * Either a string to use a HTML element or a component.
   * @default {}
   */
  slots: n.shape({
    badge: n.elementType,
    root: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The variant to use.
   * @default 'standard'
   */
  variant: n.oneOfType([n.oneOf(["dot", "standard"]), n.string])
});
const z7 = (e) => /* @__PURE__ */ x(
  Ch,
  {
    sx: {
      "& .MuiBadge-badge": {
        backgroundColor: "rgb(var(--color-primary))",
        color: "rgb(var(--color-background-primary))"
      }
    },
    ...e
  }
), un = sm(({ children: e, ...t }, o) => /* @__PURE__ */ x(Yn, { ref: o, ...t, children: e }));
un.displayName = "ThemedButton";
const La = /* @__PURE__ */ d.createContext(void 0);
process.env.NODE_ENV !== "production" && (La.displayName = "FormControlContext");
function xn() {
  return d.useContext(La);
}
function Y3(e) {
  return ye("PrivateSwitchBase", e);
}
be("PrivateSwitchBase", ["root", "checked", "disabled", "input", "edgeStart", "edgeEnd"]);
const K3 = ["autoFocus", "checked", "checkedIcon", "className", "defaultChecked", "disabled", "disableFocusRipple", "edge", "icon", "id", "inputProps", "inputRef", "name", "onBlur", "onChange", "onFocus", "readOnly", "required", "tabIndex", "type", "value"], G3 = (e) => {
  const {
    classes: t,
    checked: o,
    disabled: r,
    edge: a
  } = e, i = {
    root: ["root", o && "checked", r && "disabled", a && `edge${ee(a)}`],
    input: ["input"]
  };
  return ve(i, Y3, t);
}, X3 = U(Ht, {
  name: "MuiSwitchBase"
})(({
  ownerState: e
}) => m({
  padding: 9,
  borderRadius: "50%"
}, e.edge === "start" && {
  marginLeft: e.size === "small" ? -3 : -12
}, e.edge === "end" && {
  marginRight: e.size === "small" ? -3 : -12
})), Z3 = U("input", {
  name: "MuiSwitchBase",
  shouldForwardProp: _t
})({
  cursor: "inherit",
  position: "absolute",
  opacity: 0,
  width: "100%",
  height: "100%",
  top: 0,
  left: 0,
  margin: 0,
  padding: 0,
  zIndex: 1
}), Cs = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const {
    autoFocus: r,
    checked: a,
    checkedIcon: i,
    className: s,
    defaultChecked: l,
    disabled: c,
    disableFocusRipple: u = !1,
    edge: p = !1,
    icon: f,
    id: g,
    inputProps: v,
    inputRef: b,
    name: h,
    onBlur: y,
    onChange: C,
    onFocus: E,
    readOnly: w,
    required: T = !1,
    tabIndex: O,
    type: P,
    value: S
  } = t, $ = oe(t, K3), [A, N] = Vt({
    controlled: a,
    default: !!l,
    name: "SwitchBase",
    state: "checked"
  }), D = xn(), V = (B) => {
    E && E(B), D && D.onFocus && D.onFocus(B);
  }, L = (B) => {
    y && y(B), D && D.onBlur && D.onBlur(B);
  }, I = (B) => {
    if (B.nativeEvent.defaultPrevented)
      return;
    const j = B.target.checked;
    N(j), C && C(B, j);
  };
  let R = c;
  D && typeof R > "u" && (R = D.disabled);
  const k = P === "checkbox" || P === "radio", F = m({}, t, {
    checked: A,
    disabled: R,
    disableFocusRipple: u,
    edge: p
  }), M = G3(F);
  return /* @__PURE__ */ he(X3, m({
    component: "span",
    className: ce(M.root, s),
    centerRipple: !0,
    focusRipple: !u,
    disabled: R,
    tabIndex: null,
    role: void 0,
    onFocus: V,
    onBlur: L,
    ownerState: F,
    ref: o
  }, $, {
    children: [/* @__PURE__ */ x(Z3, m({
      autoFocus: r,
      checked: a,
      defaultChecked: l,
      className: M.input,
      disabled: R,
      id: k ? g : void 0,
      name: h,
      onChange: I,
      readOnly: w,
      ref: b,
      required: T,
      ownerState: F,
      tabIndex: O,
      type: P
    }, P === "checkbox" && S === void 0 ? {} : {
      value: S
    }, v)), A ? i : f]
  }));
});
process.env.NODE_ENV !== "production" && (Cs.propTypes = {
  /**
   * If `true`, the `input` element is focused during the first mount.
   */
  autoFocus: n.bool,
  /**
   * If `true`, the component is checked.
   */
  checked: n.bool,
  /**
   * The icon to display when the component is checked.
   */
  checkedIcon: n.node.isRequired,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * @ignore
   */
  defaultChecked: n.bool,
  /**
   * If `true`, the component is disabled.
   */
  disabled: n.bool,
  /**
   * If `true`, the  keyboard focus ripple is disabled.
   * @default false
   */
  disableFocusRipple: n.bool,
  /**
   * If given, uses a negative margin to counteract the padding on one
   * side (this is often helpful for aligning the left or right
   * side of the icon with content above or below, without ruining the border
   * size and shape).
   * @default false
   */
  edge: n.oneOf(["end", "start", !1]),
  /**
   * The icon to display when the component is unchecked.
   */
  icon: n.node.isRequired,
  /**
   * The id of the `input` element.
   */
  id: n.string,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   */
  inputProps: n.object,
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /*
   * @ignore
   */
  name: n.string,
  /**
   * @ignore
   */
  onBlur: n.func,
  /**
   * Callback fired when the state is changed.
   *
   * @param {object} event The event source of the callback.
   * You can pull out the new checked state by accessing `event.target.checked` (boolean).
   */
  onChange: n.func,
  /**
   * @ignore
   */
  onFocus: n.func,
  /**
   * It prevents the user from changing the value of the field
   * (not from interacting with the field).
   */
  readOnly: n.bool,
  /**
   * If `true`, the `input` element is required.
   */
  required: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.object,
  /**
   * @ignore
   */
  tabIndex: n.oneOfType([n.number, n.string]),
  /**
   * The input component prop `type`.
   */
  type: n.string.isRequired,
  /**
   * The value of the component.
   */
  value: n.any
});
const Q3 = nt(/* @__PURE__ */ x("path", {
  d: "M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"
}), "CheckBoxOutlineBlank"), J3 = nt(/* @__PURE__ */ x("path", {
  d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
}), "CheckBox"), eC = nt(/* @__PURE__ */ x("path", {
  d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"
}), "IndeterminateCheckBox");
function tC(e) {
  return ye("MuiCheckbox", e);
}
const Rl = be("MuiCheckbox", ["root", "checked", "disabled", "indeterminate", "colorPrimary", "colorSecondary", "sizeSmall", "sizeMedium"]), nC = ["checkedIcon", "color", "icon", "indeterminate", "indeterminateIcon", "inputProps", "size", "className"], oC = (e) => {
  const {
    classes: t,
    indeterminate: o,
    color: r,
    size: a
  } = e, i = {
    root: ["root", o && "indeterminate", `color${ee(r)}`, `size${ee(a)}`]
  }, s = ve(i, tC, t);
  return m({}, t, s);
}, rC = U(Cs, {
  shouldForwardProp: (e) => _t(e) || e === "classes",
  name: "MuiCheckbox",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.indeterminate && t.indeterminate, t[`size${ee(o.size)}`], o.color !== "default" && t[`color${ee(o.color)}`]];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  color: (e.vars || e).palette.text.secondary
}, !t.disableRipple && {
  "&:hover": {
    backgroundColor: e.vars ? `rgba(${t.color === "default" ? e.vars.palette.action.activeChannel : e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})` : _e(t.color === "default" ? e.palette.action.active : e.palette[t.color].main, e.palette.action.hoverOpacity),
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      backgroundColor: "transparent"
    }
  }
}, t.color !== "default" && {
  [`&.${Rl.checked}, &.${Rl.indeterminate}`]: {
    color: (e.vars || e).palette[t.color].main
  },
  [`&.${Rl.disabled}`]: {
    color: (e.vars || e).palette.action.disabled
  }
})), aC = /* @__PURE__ */ x(J3, {}), iC = /* @__PURE__ */ x(Q3, {}), sC = /* @__PURE__ */ x(eC, {}), Th = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a;
  const i = Ee({
    props: t,
    name: "MuiCheckbox"
  }), {
    checkedIcon: s = aC,
    color: l = "primary",
    icon: c = iC,
    indeterminate: u = !1,
    indeterminateIcon: p = sC,
    inputProps: f,
    size: g = "medium",
    className: v
  } = i, b = oe(i, nC), h = u ? p : c, y = u ? p : s, C = m({}, i, {
    color: l,
    indeterminate: u,
    size: g
  }), E = oC(C);
  return /* @__PURE__ */ x(rC, m({
    type: "checkbox",
    inputProps: m({
      "data-indeterminate": u
    }, f),
    icon: /* @__PURE__ */ d.cloneElement(h, {
      fontSize: (r = h.props.fontSize) != null ? r : g
    }),
    checkedIcon: /* @__PURE__ */ d.cloneElement(y, {
      fontSize: (a = y.props.fontSize) != null ? a : g
    }),
    ownerState: C,
    ref: o,
    className: ce(E.root, v)
  }, b, {
    classes: E
  }));
});
process.env.NODE_ENV !== "production" && (Th.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * If `true`, the component is checked.
   */
  checked: n.bool,
  /**
   * The icon to display when the component is checked.
   * @default <CheckBoxIcon />
   */
  checkedIcon: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOfType([n.oneOf(["default", "primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * The default checked state. Use when the component is not controlled.
   */
  defaultChecked: n.bool,
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, the ripple effect is disabled.
   * @default false
   */
  disableRipple: n.bool,
  /**
   * The icon to display when the component is unchecked.
   * @default <CheckBoxOutlineBlankIcon />
   */
  icon: n.node,
  /**
   * The id of the `input` element.
   */
  id: n.string,
  /**
   * If `true`, the component appears indeterminate.
   * This does not set the native input element to indeterminate due
   * to inconsistent behavior across browsers.
   * However, we set a `data-indeterminate` attribute on the `input`.
   * @default false
   */
  indeterminate: n.bool,
  /**
   * The icon to display when the component is indeterminate.
   * @default <IndeterminateCheckBoxIcon />
   */
  indeterminateIcon: n.node,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   */
  inputProps: n.object,
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * Callback fired when the state is changed.
   *
   * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
   * You can pull out the new checked state by accessing `event.target.checked` (boolean).
   */
  onChange: n.func,
  /**
   * If `true`, the `input` element is required.
   * @default false
   */
  required: n.bool,
  /**
   * The size of the component.
   * `small` is equivalent to the dense checkbox styling.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["medium", "small"]), n.string]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The value of the component. The DOM API casts this to a string.
   * The browser uses "on" as the default value.
   */
  value: n.any
});
const B7 = (e) => /* @__PURE__ */ x(
  Th,
  {
    sx: {
      color: "rgb(var(--color-text-primary))",
      "&.Mui-checked": {
        color: "rgb(var(--color-primary))"
      }
    },
    ...e
  }
);
var wh = { exports: {} };
(function(e, t) {
  (function(o, r) {
    e.exports = r();
  })(An, function() {
    var o = 1e3, r = 6e4, a = 36e5, i = "millisecond", s = "second", l = "minute", c = "hour", u = "day", p = "week", f = "month", g = "quarter", v = "year", b = "date", h = "Invalid Date", y = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, C = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, E = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(I) {
      var R = ["th", "st", "nd", "rd"], k = I % 100;
      return "[" + I + (R[(k - 20) % 10] || R[k] || R[0]) + "]";
    } }, w = function(I, R, k) {
      var F = String(I);
      return !F || F.length >= R ? I : "" + Array(R + 1 - F.length).join(k) + I;
    }, T = { s: w, z: function(I) {
      var R = -I.utcOffset(), k = Math.abs(R), F = Math.floor(k / 60), M = k % 60;
      return (R <= 0 ? "+" : "-") + w(F, 2, "0") + ":" + w(M, 2, "0");
    }, m: function I(R, k) {
      if (R.date() < k.date()) return -I(k, R);
      var F = 12 * (k.year() - R.year()) + (k.month() - R.month()), M = R.clone().add(F, f), B = k - M < 0, j = R.clone().add(F + (B ? -1 : 1), f);
      return +(-(F + (k - M) / (B ? M - j : j - M)) || 0);
    }, a: function(I) {
      return I < 0 ? Math.ceil(I) || 0 : Math.floor(I);
    }, p: function(I) {
      return { M: f, y: v, w: p, d: u, D: b, h: c, m: l, s, ms: i, Q: g }[I] || String(I || "").toLowerCase().replace(/s$/, "");
    }, u: function(I) {
      return I === void 0;
    } }, O = "en", P = {};
    P[O] = E;
    var S = "$isDayjsObject", $ = function(I) {
      return I instanceof V || !(!I || !I[S]);
    }, A = function I(R, k, F) {
      var M;
      if (!R) return O;
      if (typeof R == "string") {
        var B = R.toLowerCase();
        P[B] && (M = B), k && (P[B] = k, M = B);
        var j = R.split("-");
        if (!M && j.length > 1) return I(j[0]);
      } else {
        var W = R.name;
        P[W] = R, M = W;
      }
      return !F && M && (O = M), M || !F && O;
    }, N = function(I, R) {
      if ($(I)) return I.clone();
      var k = typeof R == "object" ? R : {};
      return k.date = I, k.args = arguments, new V(k);
    }, D = T;
    D.l = A, D.i = $, D.w = function(I, R) {
      return N(I, { locale: R.$L, utc: R.$u, x: R.$x, $offset: R.$offset });
    };
    var V = function() {
      function I(k) {
        this.$L = A(k.locale, null, !0), this.parse(k), this.$x = this.$x || k.x || {}, this[S] = !0;
      }
      var R = I.prototype;
      return R.parse = function(k) {
        this.$d = function(F) {
          var M = F.date, B = F.utc;
          if (M === null) return /* @__PURE__ */ new Date(NaN);
          if (D.u(M)) return /* @__PURE__ */ new Date();
          if (M instanceof Date) return new Date(M);
          if (typeof M == "string" && !/Z$/i.test(M)) {
            var j = M.match(y);
            if (j) {
              var W = j[2] - 1 || 0, re = (j[7] || "0").substring(0, 3);
              return B ? new Date(Date.UTC(j[1], W, j[3] || 1, j[4] || 0, j[5] || 0, j[6] || 0, re)) : new Date(j[1], W, j[3] || 1, j[4] || 0, j[5] || 0, j[6] || 0, re);
            }
          }
          return new Date(M);
        }(k), this.init();
      }, R.init = function() {
        var k = this.$d;
        this.$y = k.getFullYear(), this.$M = k.getMonth(), this.$D = k.getDate(), this.$W = k.getDay(), this.$H = k.getHours(), this.$m = k.getMinutes(), this.$s = k.getSeconds(), this.$ms = k.getMilliseconds();
      }, R.$utils = function() {
        return D;
      }, R.isValid = function() {
        return this.$d.toString() !== h;
      }, R.isSame = function(k, F) {
        var M = N(k);
        return this.startOf(F) <= M && M <= this.endOf(F);
      }, R.isAfter = function(k, F) {
        return N(k) < this.startOf(F);
      }, R.isBefore = function(k, F) {
        return this.endOf(F) < N(k);
      }, R.$g = function(k, F, M) {
        return D.u(k) ? this[F] : this.set(M, k);
      }, R.unix = function() {
        return Math.floor(this.valueOf() / 1e3);
      }, R.valueOf = function() {
        return this.$d.getTime();
      }, R.startOf = function(k, F) {
        var M = this, B = !!D.u(F) || F, j = D.p(k), W = function(K, ne) {
          var ae = D.w(M.$u ? Date.UTC(M.$y, ne, K) : new Date(M.$y, ne, K), M);
          return B ? ae : ae.endOf(u);
        }, re = function(K, ne) {
          return D.w(M.toDate()[K].apply(M.toDate("s"), (B ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(ne)), M);
        }, J = this.$W, Q = this.$M, X = this.$D, Y = "set" + (this.$u ? "UTC" : "");
        switch (j) {
          case v:
            return B ? W(1, 0) : W(31, 11);
          case f:
            return B ? W(1, Q) : W(0, Q + 1);
          case p:
            var Z = this.$locale().weekStart || 0, H = (J < Z ? J + 7 : J) - Z;
            return W(B ? X - H : X + (6 - H), Q);
          case u:
          case b:
            return re(Y + "Hours", 0);
          case c:
            return re(Y + "Minutes", 1);
          case l:
            return re(Y + "Seconds", 2);
          case s:
            return re(Y + "Milliseconds", 3);
          default:
            return this.clone();
        }
      }, R.endOf = function(k) {
        return this.startOf(k, !1);
      }, R.$set = function(k, F) {
        var M, B = D.p(k), j = "set" + (this.$u ? "UTC" : ""), W = (M = {}, M[u] = j + "Date", M[b] = j + "Date", M[f] = j + "Month", M[v] = j + "FullYear", M[c] = j + "Hours", M[l] = j + "Minutes", M[s] = j + "Seconds", M[i] = j + "Milliseconds", M)[B], re = B === u ? this.$D + (F - this.$W) : F;
        if (B === f || B === v) {
          var J = this.clone().set(b, 1);
          J.$d[W](re), J.init(), this.$d = J.set(b, Math.min(this.$D, J.daysInMonth())).$d;
        } else W && this.$d[W](re);
        return this.init(), this;
      }, R.set = function(k, F) {
        return this.clone().$set(k, F);
      }, R.get = function(k) {
        return this[D.p(k)]();
      }, R.add = function(k, F) {
        var M, B = this;
        k = Number(k);
        var j = D.p(F), W = function(Q) {
          var X = N(B);
          return D.w(X.date(X.date() + Math.round(Q * k)), B);
        };
        if (j === f) return this.set(f, this.$M + k);
        if (j === v) return this.set(v, this.$y + k);
        if (j === u) return W(1);
        if (j === p) return W(7);
        var re = (M = {}, M[l] = r, M[c] = a, M[s] = o, M)[j] || 1, J = this.$d.getTime() + k * re;
        return D.w(J, this);
      }, R.subtract = function(k, F) {
        return this.add(-1 * k, F);
      }, R.format = function(k) {
        var F = this, M = this.$locale();
        if (!this.isValid()) return M.invalidDate || h;
        var B = k || "YYYY-MM-DDTHH:mm:ssZ", j = D.z(this), W = this.$H, re = this.$m, J = this.$M, Q = M.weekdays, X = M.months, Y = M.meridiem, Z = function(ne, ae, z, q) {
          return ne && (ne[ae] || ne(F, B)) || z[ae].slice(0, q);
        }, H = function(ne) {
          return D.s(W % 12 || 12, ne, "0");
        }, K = Y || function(ne, ae, z) {
          var q = ne < 12 ? "AM" : "PM";
          return z ? q.toLowerCase() : q;
        };
        return B.replace(C, function(ne, ae) {
          return ae || function(z) {
            switch (z) {
              case "YY":
                return String(F.$y).slice(-2);
              case "YYYY":
                return D.s(F.$y, 4, "0");
              case "M":
                return J + 1;
              case "MM":
                return D.s(J + 1, 2, "0");
              case "MMM":
                return Z(M.monthsShort, J, X, 3);
              case "MMMM":
                return Z(X, J);
              case "D":
                return F.$D;
              case "DD":
                return D.s(F.$D, 2, "0");
              case "d":
                return String(F.$W);
              case "dd":
                return Z(M.weekdaysMin, F.$W, Q, 2);
              case "ddd":
                return Z(M.weekdaysShort, F.$W, Q, 3);
              case "dddd":
                return Q[F.$W];
              case "H":
                return String(W);
              case "HH":
                return D.s(W, 2, "0");
              case "h":
                return H(1);
              case "hh":
                return H(2);
              case "a":
                return K(W, re, !0);
              case "A":
                return K(W, re, !1);
              case "m":
                return String(re);
              case "mm":
                return D.s(re, 2, "0");
              case "s":
                return String(F.$s);
              case "ss":
                return D.s(F.$s, 2, "0");
              case "SSS":
                return D.s(F.$ms, 3, "0");
              case "Z":
                return j;
            }
            return null;
          }(ne) || j.replace(":", "");
        });
      }, R.utcOffset = function() {
        return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
      }, R.diff = function(k, F, M) {
        var B, j = this, W = D.p(F), re = N(k), J = (re.utcOffset() - this.utcOffset()) * r, Q = this - re, X = function() {
          return D.m(j, re);
        };
        switch (W) {
          case v:
            B = X() / 12;
            break;
          case f:
            B = X();
            break;
          case g:
            B = X() / 3;
            break;
          case p:
            B = (Q - J) / 6048e5;
            break;
          case u:
            B = (Q - J) / 864e5;
            break;
          case c:
            B = Q / a;
            break;
          case l:
            B = Q / r;
            break;
          case s:
            B = Q / o;
            break;
          default:
            B = Q;
        }
        return M ? B : D.a(B);
      }, R.daysInMonth = function() {
        return this.endOf(f).$D;
      }, R.$locale = function() {
        return P[this.$L];
      }, R.locale = function(k, F) {
        if (!k) return this.$L;
        var M = this.clone(), B = A(k, F, !0);
        return B && (M.$L = B), M;
      }, R.clone = function() {
        return D.w(this.$d, this);
      }, R.toDate = function() {
        return new Date(this.valueOf());
      }, R.toJSON = function() {
        return this.isValid() ? this.toISOString() : null;
      }, R.toISOString = function() {
        return this.$d.toISOString();
      }, R.toString = function() {
        return this.$d.toUTCString();
      }, I;
    }(), L = V.prototype;
    return N.prototype = L, [["$ms", i], ["$s", s], ["$m", l], ["$H", c], ["$W", u], ["$M", f], ["$y", v], ["$D", b]].forEach(function(I) {
      L[I[1]] = function(R) {
        return this.$g(R, I[0], I[1]);
      };
    }), N.extend = function(I, R) {
      return I.$i || (I(R, V, N), I.$i = !0), N;
    }, N.locale = A, N.isDayjs = $, N.unix = function(I) {
      return N(1e3 * I);
    }, N.en = P[O], N.Ls = P, N.p = {}, N;
  });
})(wh);
var lC = wh.exports;
const Dt = /* @__PURE__ */ kn(lC);
var Oh = { exports: {} };
(function(e, t) {
  (function(o, r) {
    e.exports = r();
  })(An, function() {
    var o = "week", r = "year";
    return function(a, i, s) {
      var l = i.prototype;
      l.week = function(c) {
        if (c === void 0 && (c = null), c !== null) return this.add(7 * (c - this.week()), "day");
        var u = this.$locale().yearStart || 1;
        if (this.month() === 11 && this.date() > 25) {
          var p = s(this).startOf(r).add(1, r).date(u), f = s(this).endOf(o);
          if (p.isBefore(f)) return 1;
        }
        var g = s(this).startOf(r).date(u).startOf(o).subtract(1, "millisecond"), v = this.diff(g, o, !0);
        return v < 0 ? s(this).startOf("week").week() : Math.ceil(v);
      }, l.weeks = function(c) {
        return c === void 0 && (c = null), this.week(c);
      };
    };
  });
})(Oh);
var cC = Oh.exports;
const uC = /* @__PURE__ */ kn(cC);
var Eh = { exports: {} };
(function(e, t) {
  (function(o, r) {
    e.exports = r();
  })(An, function() {
    var o = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }, r = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, a = /\d/, i = /\d\d/, s = /\d\d?/, l = /\d*[^-_:/,()\s\d]+/, c = {}, u = function(y) {
      return (y = +y) + (y > 68 ? 1900 : 2e3);
    }, p = function(y) {
      return function(C) {
        this[y] = +C;
      };
    }, f = [/[+-]\d\d:?(\d\d)?|Z/, function(y) {
      (this.zone || (this.zone = {})).offset = function(C) {
        if (!C || C === "Z") return 0;
        var E = C.match(/([+-]|\d\d)/g), w = 60 * E[1] + (+E[2] || 0);
        return w === 0 ? 0 : E[0] === "+" ? -w : w;
      }(y);
    }], g = function(y) {
      var C = c[y];
      return C && (C.indexOf ? C : C.s.concat(C.f));
    }, v = function(y, C) {
      var E, w = c.meridiem;
      if (w) {
        for (var T = 1; T <= 24; T += 1) if (y.indexOf(w(T, 0, C)) > -1) {
          E = T > 12;
          break;
        }
      } else E = y === (C ? "pm" : "PM");
      return E;
    }, b = { A: [l, function(y) {
      this.afternoon = v(y, !1);
    }], a: [l, function(y) {
      this.afternoon = v(y, !0);
    }], Q: [a, function(y) {
      this.month = 3 * (y - 1) + 1;
    }], S: [a, function(y) {
      this.milliseconds = 100 * +y;
    }], SS: [i, function(y) {
      this.milliseconds = 10 * +y;
    }], SSS: [/\d{3}/, function(y) {
      this.milliseconds = +y;
    }], s: [s, p("seconds")], ss: [s, p("seconds")], m: [s, p("minutes")], mm: [s, p("minutes")], H: [s, p("hours")], h: [s, p("hours")], HH: [s, p("hours")], hh: [s, p("hours")], D: [s, p("day")], DD: [i, p("day")], Do: [l, function(y) {
      var C = c.ordinal, E = y.match(/\d+/);
      if (this.day = E[0], C) for (var w = 1; w <= 31; w += 1) C(w).replace(/\[|\]/g, "") === y && (this.day = w);
    }], w: [s, p("week")], ww: [i, p("week")], M: [s, p("month")], MM: [i, p("month")], MMM: [l, function(y) {
      var C = g("months"), E = (g("monthsShort") || C.map(function(w) {
        return w.slice(0, 3);
      })).indexOf(y) + 1;
      if (E < 1) throw new Error();
      this.month = E % 12 || E;
    }], MMMM: [l, function(y) {
      var C = g("months").indexOf(y) + 1;
      if (C < 1) throw new Error();
      this.month = C % 12 || C;
    }], Y: [/[+-]?\d+/, p("year")], YY: [i, function(y) {
      this.year = u(y);
    }], YYYY: [/\d{4}/, p("year")], Z: f, ZZ: f };
    function h(y) {
      var C, E;
      C = y, E = c && c.formats;
      for (var w = (y = C.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function(N, D, V) {
        var L = V && V.toUpperCase();
        return D || E[V] || o[V] || E[L].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(I, R, k) {
          return R || k.slice(1);
        });
      })).match(r), T = w.length, O = 0; O < T; O += 1) {
        var P = w[O], S = b[P], $ = S && S[0], A = S && S[1];
        w[O] = A ? { regex: $, parser: A } : P.replace(/^\[|\]$/g, "");
      }
      return function(N) {
        for (var D = {}, V = 0, L = 0; V < T; V += 1) {
          var I = w[V];
          if (typeof I == "string") L += I.length;
          else {
            var R = I.regex, k = I.parser, F = N.slice(L), M = R.exec(F)[0];
            k.call(D, M), N = N.replace(M, "");
          }
        }
        return function(B) {
          var j = B.afternoon;
          if (j !== void 0) {
            var W = B.hours;
            j ? W < 12 && (B.hours += 12) : W === 12 && (B.hours = 0), delete B.afternoon;
          }
        }(D), D;
      };
    }
    return function(y, C, E) {
      E.p.customParseFormat = !0, y && y.parseTwoDigitYear && (u = y.parseTwoDigitYear);
      var w = C.prototype, T = w.parse;
      w.parse = function(O) {
        var P = O.date, S = O.utc, $ = O.args;
        this.$u = S;
        var A = $[1];
        if (typeof A == "string") {
          var N = $[2] === !0, D = $[3] === !0, V = N || D, L = $[2];
          D && (L = $[2]), c = this.$locale(), !N && L && (c = E.Ls[L]), this.$d = function(F, M, B, j) {
            try {
              if (["x", "X"].indexOf(M) > -1) return new Date((M === "X" ? 1e3 : 1) * F);
              var W = h(M)(F), re = W.year, J = W.month, Q = W.day, X = W.hours, Y = W.minutes, Z = W.seconds, H = W.milliseconds, K = W.zone, ne = W.week, ae = /* @__PURE__ */ new Date(), z = Q || (re || J ? 1 : ae.getDate()), q = re || ae.getFullYear(), te = 0;
              re && !J || (te = J > 0 ? J - 1 : ae.getMonth());
              var ie, de = X || 0, ge = Y || 0, fe = Z || 0, Oe = H || 0;
              return K ? new Date(Date.UTC(q, te, z, de, ge, fe, Oe + 60 * K.offset * 1e3)) : B ? new Date(Date.UTC(q, te, z, de, ge, fe, Oe)) : (ie = new Date(q, te, z, de, ge, fe, Oe), ne && (ie = j(ie).week(ne).toDate()), ie);
            } catch {
              return /* @__PURE__ */ new Date("");
            }
          }(P, A, S, E), this.init(), L && L !== !0 && (this.$L = this.locale(L).$L), V && P != this.format(A) && (this.$d = /* @__PURE__ */ new Date("")), c = {};
        } else if (A instanceof Array) for (var I = A.length, R = 1; R <= I; R += 1) {
          $[1] = A[R - 1];
          var k = E.apply(this, $);
          if (k.isValid()) {
            this.$d = k.$d, this.$L = k.$L, this.init();
            break;
          }
          R === I && (this.$d = /* @__PURE__ */ new Date(""));
        }
        else T.call(this, O);
      };
    };
  });
})(Eh);
var dC = Eh.exports;
const pC = /* @__PURE__ */ kn(dC);
var Sh = { exports: {} };
(function(e, t) {
  (function(o, r) {
    e.exports = r();
  })(An, function() {
    var o = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" };
    return function(r, a, i) {
      var s = a.prototype, l = s.format;
      i.en.formats = o, s.format = function(c) {
        c === void 0 && (c = "YYYY-MM-DDTHH:mm:ssZ");
        var u = this.$locale().formats, p = function(f, g) {
          return f.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function(v, b, h) {
            var y = h && h.toUpperCase();
            return b || g[h] || o[h] || g[y].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(C, E, w) {
              return E || w.slice(1);
            });
          });
        }(c, u === void 0 ? {} : u);
        return l.call(this, p);
      };
    };
  });
})(Sh);
var fC = Sh.exports;
const mC = /* @__PURE__ */ kn(fC);
var Ph = { exports: {} };
(function(e, t) {
  (function(o, r) {
    e.exports = r();
  })(An, function() {
    return function(o, r, a) {
      r.prototype.isBetween = function(i, s, l, c) {
        var u = a(i), p = a(s), f = (c = c || "()")[0] === "(", g = c[1] === ")";
        return (f ? this.isAfter(u, l) : !this.isBefore(u, l)) && (g ? this.isBefore(p, l) : !this.isAfter(p, l)) || (f ? this.isBefore(u, l) : !this.isAfter(u, l)) && (g ? this.isAfter(p, l) : !this.isBefore(p, l));
      };
    };
  });
})(Ph);
var hC = Ph.exports;
const gC = /* @__PURE__ */ kn(hC);
var Rh = { exports: {} };
(function(e, t) {
  (function(o, r) {
    e.exports = r();
  })(An, function() {
    return function(o, r) {
      var a = r.prototype, i = a.format;
      a.format = function(s) {
        var l = this, c = this.$locale();
        if (!this.isValid()) return i.bind(this)(s);
        var u = this.$utils(), p = (s || "YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g, function(f) {
          switch (f) {
            case "Q":
              return Math.ceil((l.$M + 1) / 3);
            case "Do":
              return c.ordinal(l.$D);
            case "gggg":
              return l.weekYear();
            case "GGGG":
              return l.isoWeekYear();
            case "wo":
              return c.ordinal(l.week(), "W");
            case "w":
            case "ww":
              return u.s(l.week(), f === "w" ? 1 : 2, "0");
            case "W":
            case "WW":
              return u.s(l.isoWeek(), f === "W" ? 1 : 2, "0");
            case "k":
            case "kk":
              return u.s(String(l.$H === 0 ? 24 : l.$H), f === "k" ? 1 : 2, "0");
            case "X":
              return Math.floor(l.$d.getTime() / 1e3);
            case "x":
              return l.$d.getTime();
            case "z":
              return "[" + l.offsetName() + "]";
            case "zzz":
              return "[" + l.offsetName("long") + "]";
            default:
              return f;
          }
        });
        return i.bind(this)(p);
      };
    };
  });
})(Rh);
var bC = Rh.exports;
const yC = /* @__PURE__ */ kn(bC), Tp = /* @__PURE__ */ new Set();
function kh(e, t = "warning") {
  if (process.env.NODE_ENV === "production")
    return;
  const o = Array.isArray(e) ? e.join(`
`) : e;
  Tp.has(o) || (Tp.add(o), t === "error" ? console.error(o) : console.warn(o));
}
Dt.extend(mC);
Dt.extend(uC);
Dt.extend(gC);
Dt.extend(yC);
const vC = {
  // Year
  YY: "year",
  YYYY: {
    sectionType: "year",
    contentType: "digit",
    maxLength: 4
  },
  // Month
  M: {
    sectionType: "month",
    contentType: "digit",
    maxLength: 2
  },
  MM: "month",
  MMM: {
    sectionType: "month",
    contentType: "letter"
  },
  MMMM: {
    sectionType: "month",
    contentType: "letter"
  },
  // Day of the month
  D: {
    sectionType: "day",
    contentType: "digit",
    maxLength: 2
  },
  DD: "day",
  Do: {
    sectionType: "day",
    contentType: "digit-with-letter"
  },
  // Day of the week
  d: {
    sectionType: "weekDay",
    contentType: "digit",
    maxLength: 2
  },
  dd: {
    sectionType: "weekDay",
    contentType: "letter"
  },
  ddd: {
    sectionType: "weekDay",
    contentType: "letter"
  },
  dddd: {
    sectionType: "weekDay",
    contentType: "letter"
  },
  // Meridiem
  A: "meridiem",
  a: "meridiem",
  // Hours
  H: {
    sectionType: "hours",
    contentType: "digit",
    maxLength: 2
  },
  HH: "hours",
  h: {
    sectionType: "hours",
    contentType: "digit",
    maxLength: 2
  },
  hh: "hours",
  // Minutes
  m: {
    sectionType: "minutes",
    contentType: "digit",
    maxLength: 2
  },
  mm: "minutes",
  // Seconds
  s: {
    sectionType: "seconds",
    contentType: "digit",
    maxLength: 2
  },
  ss: "seconds"
}, xC = {
  year: "YYYY",
  month: "MMMM",
  monthShort: "MMM",
  dayOfMonth: "D",
  dayOfMonthFull: "Do",
  weekday: "dddd",
  weekdayShort: "dd",
  hours24h: "HH",
  hours12h: "hh",
  meridiem: "A",
  minutes: "mm",
  seconds: "ss",
  fullDate: "ll",
  keyboardDate: "L",
  shortDate: "MMM D",
  normalDate: "D MMMM",
  normalDateWithWeekday: "ddd, MMM D",
  fullTime: "LT",
  fullTime12h: "hh:mm A",
  fullTime24h: "HH:mm",
  keyboardDateTime: "L LT",
  keyboardDateTime12h: "L hh:mm A",
  keyboardDateTime24h: "L HH:mm"
}, kl = ["Missing UTC plugin", "To be able to use UTC or timezones, you have to enable the `utc` plugin", "Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-utc"].join(`
`), wp = ["Missing timezone plugin", "To be able to use timezones, you have to enable both the `utc` and the `timezone` plugin", "Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-timezone"].join(`
`), CC = (e, t) => t ? (...o) => e(...o).locale(t) : e;
class TC {
  constructor({
    locale: t,
    formats: o
  } = {}) {
    this.isMUIAdapter = !0, this.isTimezoneCompatible = !0, this.lib = "dayjs", this.dayjs = void 0, this.locale = void 0, this.formats = void 0, this.escapedCharacters = {
      start: "[",
      end: "]"
    }, this.formatTokenMap = vC, this.setLocaleToValue = (r) => {
      const a = this.getCurrentLocaleCode();
      return a === r.locale() ? r : r.locale(a);
    }, this.hasUTCPlugin = () => typeof Dt.utc < "u", this.hasTimezonePlugin = () => typeof Dt.tz < "u", this.isSame = (r, a, i) => {
      const s = this.setTimezone(a, this.getTimezone(r));
      return r.format(i) === s.format(i);
    }, this.cleanTimezone = (r) => {
      switch (r) {
        case "default":
          return;
        case "system":
          return Dt.tz.guess();
        default:
          return r;
      }
    }, this.createSystemDate = (r) => {
      if (this.hasUTCPlugin() && this.hasTimezonePlugin()) {
        const a = Dt.tz.guess();
        return a !== "UTC" ? Dt.tz(r, a) : Dt(r);
      }
      return Dt(r);
    }, this.createUTCDate = (r) => {
      if (!this.hasUTCPlugin())
        throw new Error(kl);
      return Dt.utc(r);
    }, this.createTZDate = (r, a) => {
      if (!this.hasUTCPlugin())
        throw new Error(kl);
      if (!this.hasTimezonePlugin())
        throw new Error(wp);
      const i = r !== void 0 && !r.endsWith("Z");
      return Dt(r).tz(this.cleanTimezone(a), i);
    }, this.getLocaleFormats = () => {
      const r = Dt.Ls, a = this.locale || "en";
      let i = r[a];
      return i === void 0 && (process.env.NODE_ENV !== "production" && kh(["MUI X: Your locale has not been found.", "Either the locale key is not a supported one. Locales supported by dayjs are available here: https://github.com/iamkun/dayjs/tree/dev/src/locale.", "Or you forget to import the locale from 'dayjs/locale/{localeUsed}'", "fallback on English locale."]), i = r.en), i.formats;
    }, this.adjustOffset = (r) => {
      if (!this.hasTimezonePlugin())
        return r;
      const a = this.getTimezone(r);
      if (a !== "UTC") {
        const i = r.tz(this.cleanTimezone(a), !0);
        if (i.$offset === (r.$offset ?? 0))
          return r;
        r.$offset = i.$offset;
      }
      return r;
    }, this.date = (r, a = "default") => {
      if (r === null)
        return null;
      let i;
      return a === "UTC" ? i = this.createUTCDate(r) : a === "system" || a === "default" && !this.hasTimezonePlugin() ? i = this.createSystemDate(r) : i = this.createTZDate(r, a), this.locale === void 0 ? i : i.locale(this.locale);
    }, this.getInvalidDate = () => Dt(/* @__PURE__ */ new Date("Invalid date")), this.getTimezone = (r) => {
      var a;
      if (this.hasTimezonePlugin()) {
        const i = (a = r.$x) == null ? void 0 : a.$timezone;
        if (i)
          return i;
      }
      return this.hasUTCPlugin() && r.isUTC() ? "UTC" : "system";
    }, this.setTimezone = (r, a) => {
      if (this.getTimezone(r) === a)
        return r;
      if (a === "UTC") {
        if (!this.hasUTCPlugin())
          throw new Error(kl);
        return r.utc();
      }
      if (a === "system")
        return r.local();
      if (!this.hasTimezonePlugin()) {
        if (a === "default")
          return r;
        throw new Error(wp);
      }
      return Dt.tz(r, this.cleanTimezone(a));
    }, this.toJsDate = (r) => r.toDate(), this.parse = (r, a) => r === "" ? null : this.dayjs(r, a, this.locale, !0), this.getCurrentLocaleCode = () => this.locale || "en", this.is12HourCycleInCurrentLocale = () => /A|a/.test(this.getLocaleFormats().LT || ""), this.expandFormat = (r) => {
      const a = this.getLocaleFormats(), i = (s) => s.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, (l, c, u) => c || u.slice(1));
      return r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, (s, l, c) => {
        const u = c && c.toUpperCase();
        return l || a[c] || i(a[u]);
      });
    }, this.isValid = (r) => r == null ? !1 : r.isValid(), this.format = (r, a) => this.formatByString(r, this.formats[a]), this.formatByString = (r, a) => this.dayjs(r).format(a), this.formatNumber = (r) => r, this.isEqual = (r, a) => r === null && a === null ? !0 : r === null || a === null ? !1 : r.toDate().getTime() === a.toDate().getTime(), this.isSameYear = (r, a) => this.isSame(r, a, "YYYY"), this.isSameMonth = (r, a) => this.isSame(r, a, "YYYY-MM"), this.isSameDay = (r, a) => this.isSame(r, a, "YYYY-MM-DD"), this.isSameHour = (r, a) => r.isSame(a, "hour"), this.isAfter = (r, a) => r > a, this.isAfterYear = (r, a) => this.hasUTCPlugin() ? !this.isSameYear(r, a) && r.utc() > a.utc() : r.isAfter(a, "year"), this.isAfterDay = (r, a) => this.hasUTCPlugin() ? !this.isSameDay(r, a) && r.utc() > a.utc() : r.isAfter(a, "day"), this.isBefore = (r, a) => r < a, this.isBeforeYear = (r, a) => this.hasUTCPlugin() ? !this.isSameYear(r, a) && r.utc() < a.utc() : r.isBefore(a, "year"), this.isBeforeDay = (r, a) => this.hasUTCPlugin() ? !this.isSameDay(r, a) && r.utc() < a.utc() : r.isBefore(a, "day"), this.isWithinRange = (r, [a, i]) => r >= a && r <= i, this.startOfYear = (r) => this.adjustOffset(r.startOf("year")), this.startOfMonth = (r) => this.adjustOffset(r.startOf("month")), this.startOfWeek = (r) => this.adjustOffset(this.setLocaleToValue(r).startOf("week")), this.startOfDay = (r) => this.adjustOffset(r.startOf("day")), this.endOfYear = (r) => this.adjustOffset(r.endOf("year")), this.endOfMonth = (r) => this.adjustOffset(r.endOf("month")), this.endOfWeek = (r) => this.adjustOffset(this.setLocaleToValue(r).endOf("week")), this.endOfDay = (r) => this.adjustOffset(r.endOf("day")), this.addYears = (r, a) => this.adjustOffset(a < 0 ? r.subtract(Math.abs(a), "year") : r.add(a, "year")), this.addMonths = (r, a) => this.adjustOffset(a < 0 ? r.subtract(Math.abs(a), "month") : r.add(a, "month")), this.addWeeks = (r, a) => this.adjustOffset(a < 0 ? r.subtract(Math.abs(a), "week") : r.add(a, "week")), this.addDays = (r, a) => this.adjustOffset(a < 0 ? r.subtract(Math.abs(a), "day") : r.add(a, "day")), this.addHours = (r, a) => this.adjustOffset(a < 0 ? r.subtract(Math.abs(a), "hour") : r.add(a, "hour")), this.addMinutes = (r, a) => this.adjustOffset(a < 0 ? r.subtract(Math.abs(a), "minute") : r.add(a, "minute")), this.addSeconds = (r, a) => this.adjustOffset(a < 0 ? r.subtract(Math.abs(a), "second") : r.add(a, "second")), this.getYear = (r) => r.year(), this.getMonth = (r) => r.month(), this.getDate = (r) => r.date(), this.getHours = (r) => r.hour(), this.getMinutes = (r) => r.minute(), this.getSeconds = (r) => r.second(), this.getMilliseconds = (r) => r.millisecond(), this.setYear = (r, a) => this.adjustOffset(r.set("year", a)), this.setMonth = (r, a) => this.adjustOffset(r.set("month", a)), this.setDate = (r, a) => this.adjustOffset(r.set("date", a)), this.setHours = (r, a) => this.adjustOffset(r.set("hour", a)), this.setMinutes = (r, a) => this.adjustOffset(r.set("minute", a)), this.setSeconds = (r, a) => this.adjustOffset(r.set("second", a)), this.setMilliseconds = (r, a) => this.adjustOffset(r.set("millisecond", a)), this.getDaysInMonth = (r) => r.daysInMonth(), this.getWeekArray = (r) => {
      const a = this.startOfWeek(this.startOfMonth(r)), i = this.endOfWeek(this.endOfMonth(r));
      let s = 0, l = a;
      const c = [];
      for (; l < i; ) {
        const u = Math.floor(s / 7);
        c[u] = c[u] || [], c[u].push(l), l = this.addDays(l, 1), s += 1;
      }
      return c;
    }, this.getWeekNumber = (r) => r.week(), this.getYearRange = ([r, a]) => {
      const i = this.startOfYear(r), s = this.endOfYear(a), l = [];
      let c = i;
      for (; this.isBefore(c, s); )
        l.push(c), c = this.addYears(c, 1);
      return l;
    }, this.dayjs = CC(Dt, t), this.locale = t, this.formats = m({}, xC, o), Dt.extend(pC);
  }
  getDayOfWeek(t) {
    return t.day() + 1;
  }
}
const wC = ["localeText"], Hi = /* @__PURE__ */ d.createContext(null);
process.env.NODE_ENV !== "production" && (Hi.displayName = "MuiPickersAdapterContext");
const Hc = function(t) {
  const {
    localeText: o
  } = t, r = oe(t, wC), {
    utils: a,
    localeText: i
  } = d.useContext(Hi) ?? {
    utils: void 0,
    localeText: void 0
  }, s = dt({
    // We don't want to pass the `localeText` prop to the theme, that way it will always return the theme value,
    // We will then merge this theme value with our value manually
    props: r,
    name: "MuiLocalizationProvider"
  }), {
    children: l,
    dateAdapter: c,
    dateFormats: u,
    dateLibInstance: p,
    adapterLocale: f,
    localeText: g
  } = s, v = d.useMemo(() => m({}, g, i, o), [g, i, o]), b = d.useMemo(() => {
    if (!c)
      return a || null;
    const C = new c({
      locale: f,
      formats: u,
      instance: p
    });
    if (!C.isMUIAdapter)
      throw new Error(["MUI X: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`", "For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`", "More information on the installation documentation: https://mui.com/x/react-date-pickers/getting-started/#installation"].join(`
`));
    return C;
  }, [c, f, u, p, a]), h = d.useMemo(() => b ? {
    minDate: b.date("1900-01-01T00:00:00.000"),
    maxDate: b.date("2099-12-31T00:00:00.000")
  } : null, [b]), y = d.useMemo(() => ({
    utils: b,
    defaultDates: h,
    localeText: v
  }), [h, b, v]);
  return /* @__PURE__ */ x(Hi.Provider, {
    value: y,
    children: l
  });
};
process.env.NODE_ENV !== "production" && (Hc.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Locale for the date library you are using
   */
  adapterLocale: n.any,
  children: n.node,
  /**
   * Date library adapter class function.
   * @see See the localization provider {@link https://mui.com/x/react-date-pickers/getting-started/#date-library-adapter-setup date adapter setup section} for more details.
   */
  dateAdapter: n.func,
  /**
   * Formats that are used for any child pickers
   */
  dateFormats: n.shape({
    dayOfMonth: n.string,
    dayOfMonthFull: n.string,
    fullDate: n.string,
    fullTime: n.string,
    fullTime12h: n.string,
    fullTime24h: n.string,
    hours12h: n.string,
    hours24h: n.string,
    keyboardDate: n.string,
    keyboardDateTime: n.string,
    keyboardDateTime12h: n.string,
    keyboardDateTime24h: n.string,
    meridiem: n.string,
    minutes: n.string,
    month: n.string,
    monthShort: n.string,
    normalDate: n.string,
    normalDateWithWeekday: n.string,
    seconds: n.string,
    shortDate: n.string,
    weekday: n.string,
    weekdayShort: n.string,
    year: n.string
  }),
  /**
   * Date library instance you are using, if it has some global overrides
   * ```jsx
   * dateLibInstance={momentTimeZone}
   * ```
   */
  dateLibInstance: n.any,
  /**
   * Locale for components texts
   */
  localeText: n.object
});
const Kr = (e, t) => e.length !== t.length ? !1 : t.every((o) => e.includes(o)), OC = ({
  openTo: e,
  defaultOpenTo: t,
  views: o,
  defaultViews: r
}) => {
  const a = o ?? r;
  let i;
  if (e != null)
    i = e;
  else if (a.includes(t))
    i = t;
  else if (a.length > 0)
    i = a[0];
  else
    throw new Error("MUI X: The `views` prop must contain at least one view.");
  return {
    views: a,
    openTo: i
  };
}, qi = (e, t, o) => {
  let r = t;
  return r = e.setHours(r, e.getHours(o)), r = e.setMinutes(r, e.getMinutes(o)), r = e.setSeconds(r, e.getSeconds(o)), r = e.setMilliseconds(r, e.getMilliseconds(o)), r;
}, ca = ({
  date: e,
  disableFuture: t,
  disablePast: o,
  maxDate: r,
  minDate: a,
  isDateDisabled: i,
  utils: s,
  timezone: l
}) => {
  const c = qi(s, s.date(void 0, l), e);
  o && s.isBefore(a, c) && (a = c), t && s.isAfter(r, c) && (r = c);
  let u = e, p = e;
  for (s.isBefore(e, a) && (u = a, p = null), s.isAfter(e, r) && (p && (p = r), u = null); u || p; ) {
    if (u && s.isAfter(u, r) && (u = null), p && s.isBefore(p, a) && (p = null), u) {
      if (!i(u))
        return u;
      u = s.addDays(u, 1);
    }
    if (p) {
      if (!i(p))
        return p;
      p = s.addDays(p, -1);
    }
  }
  return null;
}, EC = (e, t) => t == null || !e.isValid(t) ? null : t, hn = (e, t, o) => t == null || !e.isValid(t) ? o : t, SC = (e, t, o) => !e.isValid(t) && t != null && !e.isValid(o) && o != null ? !0 : e.isEqual(t, o), qc = (e, t) => {
  const r = [e.startOfYear(t)];
  for (; r.length < 12; ) {
    const a = r[r.length - 1];
    r.push(e.addMonths(a, 1));
  }
  return r;
}, Mh = (e, t, o) => o === "date" ? e.startOfDay(e.date(void 0, t)) : e.date(void 0, t), PC = ["year", "month", "day"], Op = (e) => PC.includes(e), Yc = (e, {
  format: t,
  views: o
}, r) => {
  if (t != null)
    return t;
  const a = e.formats;
  return Kr(o, ["year"]) ? a.year : Kr(o, ["month"]) ? a.month : Kr(o, ["day"]) ? a.dayOfMonth : Kr(o, ["month", "year"]) ? `${a.month} ${a.year}` : Kr(o, ["day", "month"]) ? `${a.month} ${a.dayOfMonth}` : r ? /en/.test(e.getCurrentLocaleCode()) ? a.normalDateWithWeekday : a.normalDate : a.keyboardDate;
}, RC = (e, t) => {
  const o = e.startOfWeek(t);
  return [0, 1, 2, 3, 4, 5, 6].map((r) => e.addDays(o, r));
}, kC = ["hours", "minutes", "seconds"], MC = (e) => kC.includes(e), Ep = (e, t) => t.getHours(e) * 3600 + t.getMinutes(e) * 60 + t.getSeconds(e), $C = (e, t) => (o, r) => e ? t.isAfter(o, r) : Ep(o, t) > Ep(r, t), _n = {
  year: 1,
  month: 2,
  day: 3,
  hours: 4,
  minutes: 5,
  seconds: 6,
  milliseconds: 7
}, DC = (e) => Math.max(...e.map((t) => _n[t.type] ?? 1)), Gr = (e, t, o) => {
  if (t === _n.year)
    return e.startOfYear(o);
  if (t === _n.month)
    return e.startOfMonth(o);
  if (t === _n.day)
    return e.startOfDay(o);
  let r = o;
  return t < _n.minutes && (r = e.setMinutes(r, 0)), t < _n.seconds && (r = e.setSeconds(r, 0)), t < _n.milliseconds && (r = e.setMilliseconds(r, 0)), r;
}, IC = ({
  props: e,
  utils: t,
  granularity: o,
  timezone: r,
  getTodayDate: a
}) => {
  let i = a ? a() : Gr(t, o, Mh(t, r));
  e.minDate != null && t.isAfterDay(e.minDate, i) && (i = Gr(t, o, e.minDate)), e.maxDate != null && t.isBeforeDay(e.maxDate, i) && (i = Gr(t, o, e.maxDate));
  const s = $C(e.disableIgnoringDatePartForTimeValidation ?? !1, t);
  return e.minTime != null && s(e.minTime, i) && (i = Gr(t, o, e.disableIgnoringDatePartForTimeValidation ? e.minTime : qi(t, i, e.minTime))), e.maxTime != null && s(i, e.maxTime) && (i = Gr(t, o, e.disableIgnoringDatePartForTimeValidation ? e.maxTime : qi(t, i, e.maxTime))), i;
}, Kc = (e, t) => {
  const o = e.formatTokenMap[t];
  if (o == null)
    throw new Error([`MUI X: The token "${t}" is not supported by the Date and Time Pickers.`, "Please try using another token or open an issue on https://github.com/mui/mui-x/issues/new/choose if you think it should be supported."].join(`
`));
  return typeof o == "string" ? {
    type: o,
    contentType: o === "meridiem" ? "letter" : "digit",
    maxLength: void 0
  } : {
    type: o.sectionType,
    contentType: o.contentType,
    maxLength: o.maxLength
  };
}, NC = (e) => {
  switch (e) {
    case "ArrowUp":
      return 1;
    case "ArrowDown":
      return -1;
    case "PageUp":
      return 5;
    case "PageDown":
      return -5;
    default:
      return 0;
  }
}, Ts = (e, t) => {
  const o = [], r = e.date(void 0, "default"), a = e.startOfWeek(r), i = e.endOfWeek(r);
  let s = a;
  for (; e.isBefore(s, i); )
    o.push(s), s = e.addDays(s, 1);
  return o.map((l) => e.formatByString(l, t));
}, $h = (e, t, o, r) => {
  switch (o) {
    case "month":
      return qc(e, e.date(void 0, t)).map((a) => e.formatByString(a, r));
    case "weekDay":
      return Ts(e, r);
    case "meridiem": {
      const a = e.date(void 0, t);
      return [e.startOfDay(a), e.endOfDay(a)].map((i) => e.formatByString(i, r));
    }
    default:
      return [];
  }
}, Sp = "s", _C = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], AC = (e) => {
  const t = e.date(void 0);
  return e.formatByString(e.setSeconds(t, 0), Sp) === "0" ? _C : Array.from({
    length: 10
  }).map((r, a) => e.formatByString(e.setSeconds(t, a), Sp));
}, Wo = (e, t) => {
  if (t[0] === "0")
    return e;
  const o = [];
  let r = "";
  for (let a = 0; a < e.length; a += 1) {
    r += e[a];
    const i = t.indexOf(r);
    i > -1 && (o.push(i.toString()), r = "");
  }
  return o.join("");
}, Gc = (e, t) => t[0] === "0" ? e : e.split("").map((o) => t[Number(o)]).join(""), Pp = (e, t) => {
  const o = Wo(e, t);
  return o !== " " && !Number.isNaN(Number(o));
}, Dh = (e, t) => {
  let o = e;
  for (o = Number(o).toString(); o.length < t; )
    o = `0${o}`;
  return o;
}, Ih = (e, t, o, r, a) => {
  if (process.env.NODE_ENV !== "production" && a.type !== "day" && a.contentType === "digit-with-letter")
    throw new Error([`MUI X: The token "${a.format}" is a digit format with letter in it.'
             This type of format is only supported for 'day' sections`].join(`
`));
  if (a.type === "day" && a.contentType === "digit-with-letter") {
    const s = e.setDate(o.longestMonth, t);
    return e.formatByString(s, a.format);
  }
  let i = t.toString();
  return a.hasLeadingZerosInInput && (i = Dh(i, a.maxLength)), Gc(i, r);
}, LC = (e, t, o, r, a, i, s, l) => {
  const c = NC(r), u = r === "Home", p = r === "End", f = o.value === "" || u || p, g = () => {
    const b = a[o.type]({
      currentDate: s,
      format: o.format,
      contentType: o.contentType
    }), h = (E) => Ih(e, E, b, i, o), y = o.type === "minutes" && (l != null && l.minutesStep) ? l.minutesStep : 1;
    let C;
    if (f) {
      if (o.type === "year" && !p && !u)
        return e.formatByString(e.date(void 0, t), o.format);
      c > 0 || u ? C = b.minimum : C = b.maximum;
    } else
      C = parseInt(Wo(o.value, i), 10) + c * y;
    return C % y !== 0 && ((c < 0 || u) && (C += y - (y + C) % y), (c > 0 || p) && (C -= C % y)), C > b.maximum ? h(b.minimum + (C - b.maximum - 1) % (b.maximum - b.minimum + 1)) : C < b.minimum ? h(b.maximum - (b.minimum - C - 1) % (b.maximum - b.minimum + 1)) : h(C);
  }, v = () => {
    const b = $h(e, t, o.type, o.format);
    if (b.length === 0)
      return o.value;
    if (f)
      return c > 0 || u ? b[0] : b[b.length - 1];
    const C = ((b.indexOf(o.value) + c) % b.length + b.length) % b.length;
    return b[C];
  };
  return o.contentType === "digit" || o.contentType === "digit-with-letter" ? g() : v();
}, Xc = (e, t, o) => {
  let r = e.value || e.placeholder;
  const a = t === "non-input" ? e.hasLeadingZerosInFormat : e.hasLeadingZerosInInput;
  return t === "non-input" && e.hasLeadingZerosInInput && !e.hasLeadingZerosInFormat && (r = Number(Wo(r, o)).toString()), ["input-rtl", "input-ltr"].includes(t) && e.contentType === "digit" && !a && r.length === 1 && (r = `${r}‎`), t === "input-rtl" && (r = `⁨${r}⁩`), r;
}, Rp = (e, t, o, r) => {
  if (process.env.NODE_ENV !== "production" && Kc(e, o).type === "weekDay")
    throw new Error("changeSectionValueFormat doesn't support week day formats");
  return e.formatByString(e.parse(t, o), r);
}, FC = (e, t) => e.formatByString(e.date(void 0, "system"), t).length === 4, Nh = (e, t, o, r) => {
  if (t !== "digit")
    return !1;
  const a = e.date(void 0, "default");
  switch (o) {
    case "year":
      return e.lib === "dayjs" && r === "YY" ? !0 : e.formatByString(e.setYear(a, 1), r).startsWith("0");
    case "month":
      return e.formatByString(e.startOfYear(a), r).length > 1;
    case "day":
      return e.formatByString(e.startOfMonth(a), r).length > 1;
    case "weekDay":
      return e.formatByString(e.startOfWeek(a), r).length > 1;
    case "hours":
      return e.formatByString(e.setHours(a, 1), r).length > 1;
    case "minutes":
      return e.formatByString(e.setMinutes(a, 1), r).length > 1;
    case "seconds":
      return e.formatByString(e.setSeconds(a, 1), r).length > 1;
    default:
      throw new Error("Invalid section type");
  }
}, jC = (e, t, o) => {
  const r = t.some((c) => c.type === "day"), a = [], i = [];
  for (let c = 0; c < t.length; c += 1) {
    const u = t[c];
    r && u.type === "weekDay" || (a.push(u.format), i.push(Xc(u, "non-input", o)));
  }
  const s = a.join(" "), l = i.join(" ");
  return e.parse(l, s);
}, VC = (e) => e.map((t) => `${t.startSeparator}${t.value || t.placeholder}${t.endSeparator}`).join(""), zC = (e, t, o) => {
  const a = e.map((i) => {
    const s = Xc(i, o ? "input-rtl" : "input-ltr", t);
    return `${i.startSeparator}${s}${i.endSeparator}`;
  }).join("");
  return o ? `⁦${a}⁩` : a;
}, BC = (e, t, o) => {
  const r = e.date(void 0, o), a = e.endOfYear(r), i = e.endOfDay(r), {
    maxDaysInMonth: s,
    longestMonth: l
  } = qc(e, r).reduce((c, u) => {
    const p = e.getDaysInMonth(u);
    return p > c.maxDaysInMonth ? {
      maxDaysInMonth: p,
      longestMonth: u
    } : c;
  }, {
    maxDaysInMonth: 0,
    longestMonth: null
  });
  return {
    year: ({
      format: c
    }) => ({
      minimum: 0,
      maximum: FC(e, c) ? 9999 : 99
    }),
    month: () => ({
      minimum: 1,
      // Assumption: All years have the same amount of months
      maximum: e.getMonth(a) + 1
    }),
    day: ({
      currentDate: c
    }) => ({
      minimum: 1,
      maximum: c != null && e.isValid(c) ? e.getDaysInMonth(c) : s,
      longestMonth: l
    }),
    weekDay: ({
      format: c,
      contentType: u
    }) => {
      if (u === "digit") {
        const p = Ts(e, c).map(Number);
        return {
          minimum: Math.min(...p),
          maximum: Math.max(...p)
        };
      }
      return {
        minimum: 1,
        maximum: 7
      };
    },
    hours: ({
      format: c
    }) => {
      const u = e.getHours(i);
      return Wo(e.formatByString(e.endOfDay(r), c), t) !== u.toString() ? {
        minimum: 1,
        maximum: Number(Wo(e.formatByString(e.startOfDay(r), c), t))
      } : {
        minimum: 0,
        maximum: u
      };
    },
    minutes: () => ({
      minimum: 0,
      // Assumption: All years have the same amount of minutes
      maximum: e.getMinutes(i)
    }),
    seconds: () => ({
      minimum: 0,
      // Assumption: All years have the same amount of seconds
      maximum: e.getSeconds(i)
    }),
    meridiem: () => ({
      minimum: 0,
      maximum: 1
    }),
    empty: () => ({
      minimum: 0,
      maximum: 0
    })
  };
};
let kp = !1;
const Mp = (e, t) => {
  if (process.env.NODE_ENV !== "production" && !kp) {
    const o = ["empty"];
    ["date", "date-time"].includes(t) && o.push("weekDay", "day", "month", "year"), ["time", "date-time"].includes(t) && o.push("hours", "minutes", "seconds", "meridiem");
    const r = e.find((a) => !o.includes(a.type));
    r && (console.warn(`MUI X: The field component you are using is not compatible with the "${r.type}" date section.`, `The supported date sections are ["${o.join('", "')}"]\`.`), kp = !0);
  }
}, WC = (e, t, o, r) => {
  switch (t.type) {
    case "year":
      return e.setYear(r, e.getYear(o));
    case "month":
      return e.setMonth(r, e.getMonth(o));
    case "weekDay": {
      const a = Ts(e, t.format), i = e.formatByString(o, t.format), s = a.indexOf(i), c = a.indexOf(t.value) - s;
      return e.addDays(o, c);
    }
    case "day":
      return e.setDate(r, e.getDate(o));
    case "meridiem": {
      const a = e.getHours(o) < 12, i = e.getHours(r);
      return a && i >= 12 ? e.addHours(r, -12) : !a && i < 12 ? e.addHours(r, 12) : r;
    }
    case "hours":
      return e.setHours(r, e.getHours(o));
    case "minutes":
      return e.setMinutes(r, e.getMinutes(o));
    case "seconds":
      return e.setSeconds(r, e.getSeconds(o));
    default:
      return r;
  }
}, $p = {
  year: 1,
  month: 2,
  day: 3,
  weekDay: 4,
  hours: 5,
  minutes: 6,
  seconds: 7,
  meridiem: 8,
  empty: 9
}, Dp = (e, t, o, r, a) => (
  // cloning sections before sort to avoid mutating it
  [...o].sort((i, s) => $p[i.type] - $p[s.type]).reduce((i, s) => !a || s.modified ? WC(e, s, t, i) : i, r)
), UC = () => navigator.userAgent.toLowerCase().includes("android"), HC = (e, t) => {
  const o = {};
  if (!t)
    return e.forEach((c, u) => {
      const p = u === 0 ? null : u - 1, f = u === e.length - 1 ? null : u + 1;
      o[u] = {
        leftIndex: p,
        rightIndex: f
      };
    }), {
      neighbors: o,
      startIndex: 0,
      endIndex: e.length - 1
    };
  const r = {}, a = {};
  let i = 0, s = 0, l = e.length - 1;
  for (; l >= 0; ) {
    s = e.findIndex(
      // eslint-disable-next-line @typescript-eslint/no-loop-func
      (c, u) => {
        var p;
        return u >= i && ((p = c.endSeparator) == null ? void 0 : p.includes(" ")) && // Special case where the spaces were not there in the initial input
        c.endSeparator !== " / ";
      }
    ), s === -1 && (s = e.length - 1);
    for (let c = s; c >= i; c -= 1)
      a[c] = l, r[l] = c, l -= 1;
    i = s + 1;
  }
  return e.forEach((c, u) => {
    const p = a[u], f = p === 0 ? null : r[p - 1], g = p === e.length - 1 ? null : r[p + 1];
    o[u] = {
      leftIndex: f,
      rightIndex: g
    };
  }), {
    neighbors: o,
    startIndex: r[0],
    endIndex: r[e.length - 1]
  };
}, oc = (e, t) => {
  if (e == null)
    return null;
  if (e === "all")
    return "all";
  if (typeof e == "string") {
    const o = t.findIndex((r) => r.type === e);
    return o === -1 ? null : o;
  }
  return e;
}, qC = (e, t) => {
  if (e.value)
    switch (e.type) {
      case "month": {
        if (e.contentType === "digit")
          return t.format(t.setMonth(t.date(), Number(e.value) - 1), "month");
        const o = t.parse(e.value, e.format);
        return o ? t.format(o, "month") : void 0;
      }
      case "day":
        return e.contentType === "digit" ? t.format(t.setDate(t.startOfYear(t.date()), Number(e.value)), "dayOfMonthFull") : e.value;
      case "weekDay":
        return;
      default:
        return;
    }
}, YC = (e, t) => {
  if (e.value)
    switch (e.type) {
      case "weekDay":
        return e.contentType === "letter" ? void 0 : Number(e.value);
      case "meridiem": {
        const o = t.parse(`01:00 ${e.value}`, `${t.formats.hours12h}:${t.formats.minutes} ${e.format}`);
        return o ? t.getHours(o) >= 12 ? 1 : 0 : void 0;
      }
      case "day":
        return e.contentType === "digit-with-letter" ? parseInt(e.value, 10) : Number(e.value);
      case "month": {
        if (e.contentType === "digit")
          return Number(e.value);
        const o = t.parse(e.value, e.format);
        return o ? t.getMonth(o) + 1 : void 0;
      }
      default:
        return e.contentType !== "letter" ? Number(e.value) : void 0;
    }
}, KC = ["value", "referenceDate"], Bn = {
  emptyValue: null,
  getTodayValue: Mh,
  getInitialReferenceValue: (e) => {
    let {
      value: t,
      referenceDate: o
    } = e, r = oe(e, KC);
    return t != null && r.utils.isValid(t) ? t : o ?? IC(r);
  },
  cleanValue: EC,
  areValuesEqual: SC,
  isSameError: (e, t) => e === t,
  hasError: (e) => e != null,
  defaultErrorState: null,
  getTimezone: (e, t) => t == null || !e.isValid(t) ? null : e.getTimezone(t),
  setTimezone: (e, t, o) => o == null ? null : e.setTimezone(o, t)
}, GC = {
  updateReferenceValue: (e, t, o) => t == null || !e.isValid(t) ? o : t,
  getSectionsFromValue: (e, t, o, r) => !e.isValid(t) && !!o ? o : r(t),
  getV7HiddenInputValueFromSections: VC,
  getV6InputValueFromSections: zC,
  getActiveDateManager: (e, t) => ({
    date: t.value,
    referenceDate: t.referenceValue,
    getSections: (o) => o,
    getNewValuesFromNewActiveDate: (o) => ({
      value: o,
      referenceValue: o == null || !e.isValid(o) ? t.referenceValue : o
    })
  }),
  parseValueStr: (e, t, o) => o(e.trim(), t)
}, XC = (e) => ({
  components: {
    MuiLocalizationProvider: {
      defaultProps: {
        localeText: m({}, e)
      }
    }
  }
}), _h = (e) => {
  const {
    utils: t,
    formatKey: o,
    contextTranslation: r,
    propsTranslation: a
  } = e;
  return (i) => {
    const s = i !== null && t.isValid(i) ? t.format(i, o) : null;
    return (a ?? r)(i, t, s);
  };
}, Ah = {
  // Calendar navigation
  previousMonth: "Previous month",
  nextMonth: "Next month",
  // View navigation
  openPreviousView: "Open previous view",
  openNextView: "Open next view",
  calendarViewSwitchingButtonAriaLabel: (e) => e === "year" ? "year view is open, switch to calendar view" : "calendar view is open, switch to year view",
  // DateRange labels
  start: "Start",
  end: "End",
  startDate: "Start date",
  startTime: "Start time",
  endDate: "End date",
  endTime: "End time",
  // Action bar
  cancelButtonLabel: "Cancel",
  clearButtonLabel: "Clear",
  okButtonLabel: "OK",
  todayButtonLabel: "Today",
  // Toolbar titles
  datePickerToolbarTitle: "Select date",
  dateTimePickerToolbarTitle: "Select date & time",
  timePickerToolbarTitle: "Select time",
  dateRangePickerToolbarTitle: "Select date range",
  // Clock labels
  clockLabelText: (e, t, o, r) => `Select ${e}. ${!r && (t === null || !o.isValid(t)) ? "No time selected" : `Selected time is ${r ?? o.format(t, "fullTime")}`}`,
  hoursClockNumberText: (e) => `${e} hours`,
  minutesClockNumberText: (e) => `${e} minutes`,
  secondsClockNumberText: (e) => `${e} seconds`,
  // Digital clock labels
  selectViewText: (e) => `Select ${e}`,
  // Calendar labels
  calendarWeekNumberHeaderLabel: "Week number",
  calendarWeekNumberHeaderText: "#",
  calendarWeekNumberAriaLabelText: (e) => `Week ${e}`,
  calendarWeekNumberText: (e) => `${e}`,
  // Open picker labels
  openDatePickerDialogue: (e, t, o) => o || e !== null && t.isValid(e) ? `Choose date, selected date is ${o ?? t.format(e, "fullDate")}` : "Choose date",
  openTimePickerDialogue: (e, t, o) => o || e !== null && t.isValid(e) ? `Choose time, selected time is ${o ?? t.format(e, "fullTime")}` : "Choose time",
  fieldClearLabel: "Clear",
  // Table labels
  timeTableLabel: "pick time",
  dateTableLabel: "pick date",
  // Field section placeholders
  fieldYearPlaceholder: (e) => "Y".repeat(e.digitAmount),
  fieldMonthPlaceholder: (e) => e.contentType === "letter" ? "MMMM" : "MM",
  fieldDayPlaceholder: () => "DD",
  fieldWeekDayPlaceholder: (e) => e.contentType === "letter" ? "EEEE" : "EE",
  fieldHoursPlaceholder: () => "hh",
  fieldMinutesPlaceholder: () => "mm",
  fieldSecondsPlaceholder: () => "ss",
  fieldMeridiemPlaceholder: () => "aa",
  // View names
  year: "Year",
  month: "Month",
  day: "Day",
  weekDay: "Week day",
  hours: "Hours",
  minutes: "Minutes",
  seconds: "Seconds",
  meridiem: "Meridiem",
  // Common
  empty: "Empty"
}, ZC = Ah;
XC(Ah);
const Yo = () => {
  const e = d.useContext(Hi);
  if (e === null)
    throw new Error(["MUI X: Can not find the date and time pickers localization context.", "It looks like you forgot to wrap your component in LocalizationProvider.", "This can also happen if you are bundling multiple versions of the `@mui/x-date-pickers` package"].join(`
`));
  if (e.utils === null)
    throw new Error(["MUI X: Can not find the date and time pickers adapter from its localization context.", "It looks like you forgot to pass a `dateAdapter` to your LocalizationProvider."].join(`
`));
  const t = d.useMemo(() => m({}, ZC, e.localeText), [e.localeText]);
  return d.useMemo(() => m({}, e, {
    localeText: t
  }), [e, t]);
}, pt = () => Yo().utils, Fa = () => Yo().defaultDates, ws = (e) => {
  const t = pt(), o = d.useRef(void 0);
  return o.current === void 0 && (o.current = t.date(void 0, e)), o.current;
};
function QC(e) {
  return ye("MuiPickersToolbar", e);
}
be("MuiPickersToolbar", ["root", "content"]);
const JC = ["children", "className", "toolbarTitle", "hidden", "titleId", "isLandscape", "classes", "landscapeDirection"], e6 = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    content: ["content"]
  }, QC, t);
}, t6 = U("div", {
  name: "MuiPickersToolbar",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})(({
  theme: e
}) => ({
  display: "flex",
  flexDirection: "column",
  alignItems: "flex-start",
  justifyContent: "space-between",
  padding: e.spacing(2, 3),
  variants: [{
    props: {
      isLandscape: !0
    },
    style: {
      height: "auto",
      maxWidth: 160,
      padding: 16,
      justifyContent: "flex-start",
      flexWrap: "wrap"
    }
  }]
})), n6 = U("div", {
  name: "MuiPickersToolbar",
  slot: "Content",
  overridesResolver: (e, t) => t.content
})({
  display: "flex",
  flexWrap: "wrap",
  width: "100%",
  flex: 1,
  justifyContent: "space-between",
  alignItems: "center",
  flexDirection: "row",
  variants: [{
    props: {
      isLandscape: !0
    },
    style: {
      justifyContent: "flex-start",
      alignItems: "flex-start",
      flexDirection: "column"
    }
  }, {
    props: {
      isLandscape: !0,
      landscapeDirection: "row"
    },
    style: {
      flexDirection: "row"
    }
  }]
}), o6 = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiPickersToolbar"
  }), {
    children: a,
    className: i,
    toolbarTitle: s,
    hidden: l,
    titleId: c
  } = r, u = oe(r, JC), p = r, f = e6(p);
  return l ? null : /* @__PURE__ */ he(t6, m({
    ref: o,
    className: ce(f.root, i),
    ownerState: p
  }, u, {
    children: [/* @__PURE__ */ x(Le, {
      color: "text.secondary",
      variant: "overline",
      id: c,
      children: s
    }), /* @__PURE__ */ x(n6, {
      className: f.content,
      ownerState: p,
      children: a
    })]
  }));
}), to = () => Yo().localeText;
function r6(e) {
  return ye("MuiDatePickerToolbar", e);
}
be("MuiDatePickerToolbar", ["root", "title"]);
const a6 = ["value", "isLandscape", "onChange", "toolbarFormat", "toolbarPlaceholder", "views", "className", "onViewChange", "view"], i6 = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    title: ["title"]
  }, r6, t);
}, s6 = U(o6, {
  name: "MuiDatePickerToolbar",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({}), l6 = U(Le, {
  name: "MuiDatePickerToolbar",
  slot: "Title",
  overridesResolver: (e, t) => t.title
})({
  variants: [{
    props: {
      isLandscape: !0
    },
    style: {
      margin: "auto 16px auto auto"
    }
  }]
}), Lh = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiDatePickerToolbar"
  }), {
    value: a,
    isLandscape: i,
    toolbarFormat: s,
    toolbarPlaceholder: l = "––",
    views: c,
    className: u
  } = r, p = oe(r, a6), f = pt(), g = to(), v = i6(r), b = d.useMemo(() => {
    if (!a)
      return l;
    const y = Yc(f, {
      format: s,
      views: c
    }, !0);
    return f.formatByString(a, y);
  }, [a, s, l, f, c]), h = r;
  return /* @__PURE__ */ x(s6, m({
    ref: o,
    toolbarTitle: g.datePickerToolbarTitle,
    isLandscape: i,
    className: ce(v.root, u)
  }, p, {
    children: /* @__PURE__ */ x(l6, {
      variant: "h4",
      align: i ? "left" : "center",
      ownerState: h,
      className: v.title,
      children: b
    })
  }));
});
process.env.NODE_ENV !== "production" && (Lh.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  className: n.string,
  disabled: n.bool,
  /**
   * If `true`, show the toolbar even in desktop mode.
   * @default `true` for Desktop, `false` for Mobile.
   */
  hidden: n.bool,
  isLandscape: n.bool.isRequired,
  onChange: n.func.isRequired,
  /**
   * Callback called when a toolbar is clicked
   * @template TView
   * @param {TView} view The view to open
   */
  onViewChange: n.func.isRequired,
  readOnly: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  titleId: n.string,
  /**
   * Toolbar date format.
   */
  toolbarFormat: n.string,
  /**
   * Toolbar value placeholder—it is displayed when the value is empty.
   * @default "––"
   */
  toolbarPlaceholder: n.node,
  value: n.object,
  /**
   * Currently visible picker view.
   */
  view: n.oneOf(["day", "month", "year"]).isRequired,
  /**
   * Available views.
   */
  views: n.arrayOf(n.oneOf(["day", "month", "year"]).isRequired).isRequired
});
function Fh(e, t) {
  const o = pt(), r = Fa(), a = dt({
    props: e,
    name: t
  }), i = d.useMemo(() => {
    var s;
    return ((s = a.localeText) == null ? void 0 : s.toolbarTitle) == null ? a.localeText : m({}, a.localeText, {
      datePickerToolbarTitle: a.localeText.toolbarTitle
    });
  }, [a.localeText]);
  return m({}, a, {
    localeText: i
  }, OC({
    views: a.views,
    openTo: a.openTo,
    defaultViews: ["year", "day"],
    defaultOpenTo: "day"
  }), {
    disableFuture: a.disableFuture ?? !1,
    disablePast: a.disablePast ?? !1,
    minDate: hn(o, a.minDate, r.minDate),
    maxDate: hn(o, a.maxDate, r.maxDate),
    slots: m({
      toolbar: Lh
    }, a.slots)
  });
}
const ja = ({
  props: e,
  value: t,
  timezone: o,
  adapter: r
}) => {
  if (t === null)
    return null;
  const {
    shouldDisableDate: a,
    shouldDisableMonth: i,
    shouldDisableYear: s,
    disablePast: l,
    disableFuture: c
  } = e, u = r.utils.date(void 0, o), p = hn(r.utils, e.minDate, r.defaultDates.minDate), f = hn(r.utils, e.maxDate, r.defaultDates.maxDate);
  switch (!0) {
    case !r.utils.isValid(t):
      return "invalidDate";
    case !!(a && a(t)):
      return "shouldDisableDate";
    case !!(i && i(t)):
      return "shouldDisableMonth";
    case !!(s && s(t)):
      return "shouldDisableYear";
    case !!(c && r.utils.isAfterDay(t, u)):
      return "disableFuture";
    case !!(l && r.utils.isBeforeDay(t, u)):
      return "disablePast";
    case !!(p && r.utils.isBeforeDay(t, p)):
      return "minDate";
    case !!(f && r.utils.isAfterDay(t, f)):
      return "maxDate";
    default:
      return null;
  }
};
ja.valueManager = Bn;
const jh = ["disablePast", "disableFuture", "minDate", "maxDate", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear"], c6 = ["disablePast", "disableFuture", "minTime", "maxTime", "shouldDisableTime", "minutesStep", "ampm", "disableIgnoringDatePartForTimeValidation"], u6 = ["minDateTime", "maxDateTime"], d6 = [...jh, ...c6, ...u6], Vh = (e) => d6.reduce((t, o) => (e.hasOwnProperty(o) && (t[o] = e[o]), t), {});
function zh(e) {
  const {
    props: t,
    validator: o,
    value: r,
    timezone: a,
    onError: i
  } = e, s = Yo(), l = d.useRef(o.valueManager.defaultErrorState), c = o({
    adapter: s,
    value: r,
    timezone: a,
    props: t
  }), u = o.valueManager.hasError(c);
  d.useEffect(() => {
    i && !o.valueManager.isSameError(c, l.current) && i(c, r), l.current = c;
  }, [o, i, c, r]);
  const p = Ce((f) => o({
    adapter: s,
    value: f,
    timezone: a,
    props: t
  }));
  return {
    validationError: c,
    hasValidationError: u,
    getValidationErrorForNewValue: p
  };
}
function p6(e) {
  return ye("MuiInputAdornment", e);
}
const Ip = be("MuiInputAdornment", ["root", "filled", "standard", "outlined", "positionStart", "positionEnd", "disablePointerEvents", "hiddenLabel", "sizeSmall"]);
var Np;
const f6 = ["children", "className", "component", "disablePointerEvents", "disableTypography", "position", "variant"], m6 = (e, t) => {
  const {
    ownerState: o
  } = e;
  return [t.root, t[`position${ee(o.position)}`], o.disablePointerEvents === !0 && t.disablePointerEvents, t[o.variant]];
}, h6 = (e) => {
  const {
    classes: t,
    disablePointerEvents: o,
    hiddenLabel: r,
    position: a,
    size: i,
    variant: s
  } = e, l = {
    root: ["root", o && "disablePointerEvents", a && `position${ee(a)}`, s, r && "hiddenLabel", i && `size${ee(i)}`]
  };
  return ve(l, p6, t);
}, g6 = U("div", {
  name: "MuiInputAdornment",
  slot: "Root",
  overridesResolver: m6
})(({
  theme: e,
  ownerState: t
}) => m({
  display: "flex",
  height: "0.01em",
  // Fix IE11 flexbox alignment. To remove at some point.
  maxHeight: "2em",
  alignItems: "center",
  whiteSpace: "nowrap",
  color: (e.vars || e).palette.action.active
}, t.variant === "filled" && {
  // Styles applied to the root element if `variant="filled"`.
  [`&.${Ip.positionStart}&:not(.${Ip.hiddenLabel})`]: {
    marginTop: 16
  }
}, t.position === "start" && {
  // Styles applied to the root element if `position="start"`.
  marginRight: 8
}, t.position === "end" && {
  // Styles applied to the root element if `position="end"`.
  marginLeft: 8
}, t.disablePointerEvents === !0 && {
  // Styles applied to the root element if `disablePointerEvents={true}`.
  pointerEvents: "none"
})), Zc = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiInputAdornment"
  }), {
    children: a,
    className: i,
    component: s = "div",
    disablePointerEvents: l = !1,
    disableTypography: c = !1,
    position: u,
    variant: p
  } = r, f = oe(r, f6), g = xn() || {};
  let v = p;
  p && g.variant && process.env.NODE_ENV !== "production" && p === g.variant && console.error("MUI: The `InputAdornment` variant infers the variant prop you do not have to provide one."), g && !v && (v = g.variant);
  const b = m({}, r, {
    hiddenLabel: g.hiddenLabel,
    size: g.size,
    disablePointerEvents: l,
    position: u,
    variant: v
  }), h = h6(b);
  return /* @__PURE__ */ x(La.Provider, {
    value: null,
    children: /* @__PURE__ */ x(g6, m({
      as: s,
      ownerState: b,
      className: ce(h.root, i),
      ref: o
    }, f, {
      children: typeof a == "string" && !c ? /* @__PURE__ */ x(Le, {
        color: "text.secondary",
        children: a
      }) : /* @__PURE__ */ he(d.Fragment, {
        children: [u === "start" ? (
          /* notranslate needed while Google Translate will not fix zero-width space issue */
          Np || (Np = /* @__PURE__ */ x("span", {
            className: "notranslate",
            children: "​"
          }))
        ) : null, a]
      })
    }))
  });
});
process.env.NODE_ENV !== "production" && (Zc.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component, normally an `IconButton` or string.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * Disable pointer events on the root.
   * This allows for the content of the adornment to focus the `input` on click.
   * @default false
   */
  disablePointerEvents: n.bool,
  /**
   * If children is a string then disable wrapping in a Typography component.
   * @default false
   */
  disableTypography: n.bool,
  /**
   * The position this adornment should appear relative to the `Input`.
   */
  position: n.oneOf(["end", "start"]).isRequired,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The variant to use.
   * Note: If you are using the `TextField` component or the `FormControl` component
   * you do not have to set this manually.
   */
  variant: n.oneOf(["filled", "outlined", "standard"])
});
const Qc = (e) => e.scrollTop;
function yo(e, t) {
  var o, r;
  const {
    timeout: a,
    easing: i,
    style: s = {}
  } = e;
  return {
    duration: (o = s.transitionDuration) != null ? o : typeof a == "number" ? a : a[t.mode] || 0,
    easing: (r = s.transitionTimingFunction) != null ? r : typeof i == "object" ? i[t.mode] : i,
    delay: s.transitionDelay
  };
}
const b6 = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
function rc(e) {
  return `scale(${e}, ${e ** 2})`;
}
const y6 = {
  entering: {
    opacity: 1,
    transform: rc(1)
  },
  entered: {
    opacity: 1,
    transform: "none"
  }
}, Ml = typeof navigator < "u" && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)4/i.test(navigator.userAgent), Uo = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const {
    addEndListener: r,
    appear: a = !0,
    children: i,
    easing: s,
    in: l,
    onEnter: c,
    onEntered: u,
    onEntering: p,
    onExit: f,
    onExited: g,
    onExiting: v,
    style: b,
    timeout: h = "auto",
    // eslint-disable-next-line react/prop-types
    TransitionComponent: y = qt
  } = t, C = oe(t, b6), E = mo(), w = d.useRef(), T = vn(), O = d.useRef(null), P = ze(O, Co(i), o), S = (R) => (k) => {
    if (R) {
      const F = O.current;
      k === void 0 ? R(F) : R(F, k);
    }
  }, $ = S(p), A = S((R, k) => {
    Qc(R);
    const {
      duration: F,
      delay: M,
      easing: B
    } = yo({
      style: b,
      timeout: h,
      easing: s
    }, {
      mode: "enter"
    });
    let j;
    h === "auto" ? (j = T.transitions.getAutoHeightDuration(R.clientHeight), w.current = j) : j = F, R.style.transition = [T.transitions.create("opacity", {
      duration: j,
      delay: M
    }), T.transitions.create("transform", {
      duration: Ml ? j : j * 0.666,
      delay: M,
      easing: B
    })].join(","), c && c(R, k);
  }), N = S(u), D = S(v), V = S((R) => {
    const {
      duration: k,
      delay: F,
      easing: M
    } = yo({
      style: b,
      timeout: h,
      easing: s
    }, {
      mode: "exit"
    });
    let B;
    h === "auto" ? (B = T.transitions.getAutoHeightDuration(R.clientHeight), w.current = B) : B = k, R.style.transition = [T.transitions.create("opacity", {
      duration: B,
      delay: F
    }), T.transitions.create("transform", {
      duration: Ml ? B : B * 0.666,
      delay: Ml ? F : F || B * 0.333,
      easing: M
    })].join(","), R.style.opacity = 0, R.style.transform = rc(0.75), f && f(R);
  }), L = S(g);
  return /* @__PURE__ */ x(y, m({
    appear: a,
    in: l,
    nodeRef: O,
    onEnter: A,
    onEntered: N,
    onEntering: $,
    onExit: V,
    onExited: L,
    onExiting: D,
    addEndListener: (R) => {
      h === "auto" && E.start(w.current || 0, R), r && r(O.current, R);
    },
    timeout: h === "auto" ? null : h
  }, C, {
    children: (R, k) => /* @__PURE__ */ d.cloneElement(i, m({
      style: m({
        opacity: 0,
        transform: rc(0.75),
        visibility: R === "exited" && !l ? "hidden" : void 0
      }, y6[R], b, i.props.style),
      ref: P
    }, k))
  }));
});
process.env.NODE_ENV !== "production" && (Uo.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Add a custom transition end trigger. Called with the transitioning DOM
   * node and a done callback. Allows for more fine grained transition end
   * logic. Note: Timeouts are still used as a fallback if provided.
   */
  addEndListener: n.func,
  /**
   * Perform the enter transition when it first mounts if `in` is also `true`.
   * Set this to `false` to disable this behavior.
   * @default true
   */
  appear: n.bool,
  /**
   * A single child content element.
   */
  children: xo.isRequired,
  /**
   * The transition timing function.
   * You may specify a single easing or a object containing enter and exit values.
   */
  easing: n.oneOfType([n.shape({
    enter: n.string,
    exit: n.string
  }), n.string]),
  /**
   * If `true`, the component will transition in.
   */
  in: n.bool,
  /**
   * @ignore
   */
  onEnter: n.func,
  /**
   * @ignore
   */
  onEntered: n.func,
  /**
   * @ignore
   */
  onEntering: n.func,
  /**
   * @ignore
   */
  onExit: n.func,
  /**
   * @ignore
   */
  onExited: n.func,
  /**
   * @ignore
   */
  onExiting: n.func,
  /**
   * @ignore
   */
  style: n.object,
  /**
   * The duration for the transition, in milliseconds.
   * You may specify a single timeout for all transitions, or individually with an object.
   *
   * Set to 'auto' to automatically calculate transition time based on height.
   * @default 'auto'
   */
  timeout: n.oneOfType([n.oneOf(["auto"]), n.number, n.shape({
    appear: n.number,
    enter: n.number,
    exit: n.number
  })])
});
Uo.muiSupportAuto = !0;
const v6 = ["addEndListener", "appear", "children", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"], x6 = {
  entering: {
    opacity: 1
  },
  entered: {
    opacity: 1
  }
}, Ko = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = vn(), a = {
    enter: r.transitions.duration.enteringScreen,
    exit: r.transitions.duration.leavingScreen
  }, {
    addEndListener: i,
    appear: s = !0,
    children: l,
    easing: c,
    in: u,
    onEnter: p,
    onEntered: f,
    onEntering: g,
    onExit: v,
    onExited: b,
    onExiting: h,
    style: y,
    timeout: C = a,
    // eslint-disable-next-line react/prop-types
    TransitionComponent: E = qt
  } = t, w = oe(t, v6), T = d.useRef(null), O = ze(T, Co(l), o), P = (I) => (R) => {
    if (I) {
      const k = T.current;
      R === void 0 ? I(k) : I(k, R);
    }
  }, S = P(g), $ = P((I, R) => {
    Qc(I);
    const k = yo({
      style: y,
      timeout: C,
      easing: c
    }, {
      mode: "enter"
    });
    I.style.webkitTransition = r.transitions.create("opacity", k), I.style.transition = r.transitions.create("opacity", k), p && p(I, R);
  }), A = P(f), N = P(h), D = P((I) => {
    const R = yo({
      style: y,
      timeout: C,
      easing: c
    }, {
      mode: "exit"
    });
    I.style.webkitTransition = r.transitions.create("opacity", R), I.style.transition = r.transitions.create("opacity", R), v && v(I);
  }), V = P(b);
  return /* @__PURE__ */ x(E, m({
    appear: s,
    in: u,
    nodeRef: T,
    onEnter: $,
    onEntered: A,
    onEntering: S,
    onExit: D,
    onExited: V,
    onExiting: N,
    addEndListener: (I) => {
      i && i(T.current, I);
    },
    timeout: C
  }, w, {
    children: (I, R) => /* @__PURE__ */ d.cloneElement(l, m({
      style: m({
        opacity: 0,
        visibility: I === "exited" && !u ? "hidden" : void 0
      }, x6[I], y, l.props.style),
      ref: O
    }, R))
  }));
});
process.env.NODE_ENV !== "production" && (Ko.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Add a custom transition end trigger. Called with the transitioning DOM
   * node and a done callback. Allows for more fine grained transition end
   * logic. Note: Timeouts are still used as a fallback if provided.
   */
  addEndListener: n.func,
  /**
   * Perform the enter transition when it first mounts if `in` is also `true`.
   * Set this to `false` to disable this behavior.
   * @default true
   */
  appear: n.bool,
  /**
   * A single child content element.
   */
  children: xo.isRequired,
  /**
   * The transition timing function.
   * You may specify a single easing or a object containing enter and exit values.
   */
  easing: n.oneOfType([n.shape({
    enter: n.string,
    exit: n.string
  }), n.string]),
  /**
   * If `true`, the component will transition in.
   */
  in: n.bool,
  /**
   * @ignore
   */
  onEnter: n.func,
  /**
   * @ignore
   */
  onEntered: n.func,
  /**
   * @ignore
   */
  onEntering: n.func,
  /**
   * @ignore
   */
  onExit: n.func,
  /**
   * @ignore
   */
  onExited: n.func,
  /**
   * @ignore
   */
  onExiting: n.func,
  /**
   * @ignore
   */
  style: n.object,
  /**
   * The duration for the transition, in milliseconds.
   * You may specify a single timeout for all transitions, or individually with an object.
   * @default {
   *   enter: theme.transitions.duration.enteringScreen,
   *   exit: theme.transitions.duration.leavingScreen,
   * }
   */
  timeout: n.oneOfType([n.number, n.shape({
    appear: n.number,
    enter: n.number,
    exit: n.number
  })])
});
var Jc = {};
Object.defineProperty(Jc, "__esModule", {
  value: !0
});
var Bh = Jc.default = void 0, C6 = w6(tt), T6 = uh;
function Wh(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (Wh = function(r) {
    return r ? o : t;
  })(e);
}
function w6(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = Wh(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
function O6(e) {
  return Object.keys(e).length === 0;
}
function E6(e = null) {
  const t = C6.useContext(T6.ThemeContext);
  return !t || O6(t) ? e : t;
}
Bh = Jc.default = E6;
var Bt = "top", gn = "bottom", bn = "right", Wt = "left", eu = "auto", Va = [Bt, gn, bn, Wt], wr = "start", Ca = "end", S6 = "clippingParents", Uh = "viewport", Xr = "popper", P6 = "reference", _p = /* @__PURE__ */ Va.reduce(function(e, t) {
  return e.concat([t + "-" + wr, t + "-" + Ca]);
}, []), Hh = /* @__PURE__ */ [].concat(Va, [eu]).reduce(function(e, t) {
  return e.concat([t, t + "-" + wr, t + "-" + Ca]);
}, []), R6 = "beforeRead", k6 = "read", M6 = "afterRead", $6 = "beforeMain", D6 = "main", I6 = "afterMain", N6 = "beforeWrite", _6 = "write", A6 = "afterWrite", L6 = [R6, k6, M6, $6, D6, I6, N6, _6, A6];
function Wn(e) {
  return e ? (e.nodeName || "").toLowerCase() : null;
}
function en(e) {
  if (e == null)
    return window;
  if (e.toString() !== "[object Window]") {
    var t = e.ownerDocument;
    return t && t.defaultView || window;
  }
  return e;
}
function Ho(e) {
  var t = en(e).Element;
  return e instanceof t || e instanceof Element;
}
function dn(e) {
  var t = en(e).HTMLElement;
  return e instanceof t || e instanceof HTMLElement;
}
function tu(e) {
  if (typeof ShadowRoot > "u")
    return !1;
  var t = en(e).ShadowRoot;
  return e instanceof t || e instanceof ShadowRoot;
}
function F6(e) {
  var t = e.state;
  Object.keys(t.elements).forEach(function(o) {
    var r = t.styles[o] || {}, a = t.attributes[o] || {}, i = t.elements[o];
    !dn(i) || !Wn(i) || (Object.assign(i.style, r), Object.keys(a).forEach(function(s) {
      var l = a[s];
      l === !1 ? i.removeAttribute(s) : i.setAttribute(s, l === !0 ? "" : l);
    }));
  });
}
function j6(e) {
  var t = e.state, o = {
    popper: {
      position: t.options.strategy,
      left: "0",
      top: "0",
      margin: "0"
    },
    arrow: {
      position: "absolute"
    },
    reference: {}
  };
  return Object.assign(t.elements.popper.style, o.popper), t.styles = o, t.elements.arrow && Object.assign(t.elements.arrow.style, o.arrow), function() {
    Object.keys(t.elements).forEach(function(r) {
      var a = t.elements[r], i = t.attributes[r] || {}, s = Object.keys(t.styles.hasOwnProperty(r) ? t.styles[r] : o[r]), l = s.reduce(function(c, u) {
        return c[u] = "", c;
      }, {});
      !dn(a) || !Wn(a) || (Object.assign(a.style, l), Object.keys(i).forEach(function(c) {
        a.removeAttribute(c);
      }));
    });
  };
}
const V6 = {
  name: "applyStyles",
  enabled: !0,
  phase: "write",
  fn: F6,
  effect: j6,
  requires: ["computeStyles"]
};
function jn(e) {
  return e.split("-")[0];
}
var zo = Math.max, Yi = Math.min, Or = Math.round;
function ac() {
  var e = navigator.userAgentData;
  return e != null && e.brands && Array.isArray(e.brands) ? e.brands.map(function(t) {
    return t.brand + "/" + t.version;
  }).join(" ") : navigator.userAgent;
}
function qh() {
  return !/^((?!chrome|android).)*safari/i.test(ac());
}
function Er(e, t, o) {
  t === void 0 && (t = !1), o === void 0 && (o = !1);
  var r = e.getBoundingClientRect(), a = 1, i = 1;
  t && dn(e) && (a = e.offsetWidth > 0 && Or(r.width) / e.offsetWidth || 1, i = e.offsetHeight > 0 && Or(r.height) / e.offsetHeight || 1);
  var s = Ho(e) ? en(e) : window, l = s.visualViewport, c = !qh() && o, u = (r.left + (c && l ? l.offsetLeft : 0)) / a, p = (r.top + (c && l ? l.offsetTop : 0)) / i, f = r.width / a, g = r.height / i;
  return {
    width: f,
    height: g,
    top: p,
    right: u + f,
    bottom: p + g,
    left: u,
    x: u,
    y: p
  };
}
function nu(e) {
  var t = Er(e), o = e.offsetWidth, r = e.offsetHeight;
  return Math.abs(t.width - o) <= 1 && (o = t.width), Math.abs(t.height - r) <= 1 && (r = t.height), {
    x: e.offsetLeft,
    y: e.offsetTop,
    width: o,
    height: r
  };
}
function Yh(e, t) {
  var o = t.getRootNode && t.getRootNode();
  if (e.contains(t))
    return !0;
  if (o && tu(o)) {
    var r = t;
    do {
      if (r && e.isSameNode(r))
        return !0;
      r = r.parentNode || r.host;
    } while (r);
  }
  return !1;
}
function Zn(e) {
  return en(e).getComputedStyle(e);
}
function z6(e) {
  return ["table", "td", "th"].indexOf(Wn(e)) >= 0;
}
function wo(e) {
  return ((Ho(e) ? e.ownerDocument : (
    // $FlowFixMe[prop-missing]
    e.document
  )) || window.document).documentElement;
}
function Os(e) {
  return Wn(e) === "html" ? e : (
    // this is a quicker (but less type safe) way to save quite some bytes from the bundle
    // $FlowFixMe[incompatible-return]
    // $FlowFixMe[prop-missing]
    e.assignedSlot || // step into the shadow DOM of the parent of a slotted node
    e.parentNode || // DOM Element detected
    (tu(e) ? e.host : null) || // ShadowRoot detected
    // $FlowFixMe[incompatible-call]: HTMLElement is a Node
    wo(e)
  );
}
function Ap(e) {
  return !dn(e) || // https://github.com/popperjs/popper-core/issues/837
  Zn(e).position === "fixed" ? null : e.offsetParent;
}
function B6(e) {
  var t = /firefox/i.test(ac()), o = /Trident/i.test(ac());
  if (o && dn(e)) {
    var r = Zn(e);
    if (r.position === "fixed")
      return null;
  }
  var a = Os(e);
  for (tu(a) && (a = a.host); dn(a) && ["html", "body"].indexOf(Wn(a)) < 0; ) {
    var i = Zn(a);
    if (i.transform !== "none" || i.perspective !== "none" || i.contain === "paint" || ["transform", "perspective"].indexOf(i.willChange) !== -1 || t && i.willChange === "filter" || t && i.filter && i.filter !== "none")
      return a;
    a = a.parentNode;
  }
  return null;
}
function za(e) {
  for (var t = en(e), o = Ap(e); o && z6(o) && Zn(o).position === "static"; )
    o = Ap(o);
  return o && (Wn(o) === "html" || Wn(o) === "body" && Zn(o).position === "static") ? t : o || B6(e) || t;
}
function ou(e) {
  return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y";
}
function ua(e, t, o) {
  return zo(e, Yi(t, o));
}
function W6(e, t, o) {
  var r = ua(e, t, o);
  return r > o ? o : r;
}
function Kh() {
  return {
    top: 0,
    right: 0,
    bottom: 0,
    left: 0
  };
}
function Gh(e) {
  return Object.assign({}, Kh(), e);
}
function Xh(e, t) {
  return t.reduce(function(o, r) {
    return o[r] = e, o;
  }, {});
}
var U6 = function(t, o) {
  return t = typeof t == "function" ? t(Object.assign({}, o.rects, {
    placement: o.placement
  })) : t, Gh(typeof t != "number" ? t : Xh(t, Va));
};
function H6(e) {
  var t, o = e.state, r = e.name, a = e.options, i = o.elements.arrow, s = o.modifiersData.popperOffsets, l = jn(o.placement), c = ou(l), u = [Wt, bn].indexOf(l) >= 0, p = u ? "height" : "width";
  if (!(!i || !s)) {
    var f = U6(a.padding, o), g = nu(i), v = c === "y" ? Bt : Wt, b = c === "y" ? gn : bn, h = o.rects.reference[p] + o.rects.reference[c] - s[c] - o.rects.popper[p], y = s[c] - o.rects.reference[c], C = za(i), E = C ? c === "y" ? C.clientHeight || 0 : C.clientWidth || 0 : 0, w = h / 2 - y / 2, T = f[v], O = E - g[p] - f[b], P = E / 2 - g[p] / 2 + w, S = ua(T, P, O), $ = c;
    o.modifiersData[r] = (t = {}, t[$] = S, t.centerOffset = S - P, t);
  }
}
function q6(e) {
  var t = e.state, o = e.options, r = o.element, a = r === void 0 ? "[data-popper-arrow]" : r;
  a != null && (typeof a == "string" && (a = t.elements.popper.querySelector(a), !a) || Yh(t.elements.popper, a) && (t.elements.arrow = a));
}
const Y6 = {
  name: "arrow",
  enabled: !0,
  phase: "main",
  fn: H6,
  effect: q6,
  requires: ["popperOffsets"],
  requiresIfExists: ["preventOverflow"]
};
function Sr(e) {
  return e.split("-")[1];
}
var K6 = {
  top: "auto",
  right: "auto",
  bottom: "auto",
  left: "auto"
};
function G6(e, t) {
  var o = e.x, r = e.y, a = t.devicePixelRatio || 1;
  return {
    x: Or(o * a) / a || 0,
    y: Or(r * a) / a || 0
  };
}
function Lp(e) {
  var t, o = e.popper, r = e.popperRect, a = e.placement, i = e.variation, s = e.offsets, l = e.position, c = e.gpuAcceleration, u = e.adaptive, p = e.roundOffsets, f = e.isFixed, g = s.x, v = g === void 0 ? 0 : g, b = s.y, h = b === void 0 ? 0 : b, y = typeof p == "function" ? p({
    x: v,
    y: h
  }) : {
    x: v,
    y: h
  };
  v = y.x, h = y.y;
  var C = s.hasOwnProperty("x"), E = s.hasOwnProperty("y"), w = Wt, T = Bt, O = window;
  if (u) {
    var P = za(o), S = "clientHeight", $ = "clientWidth";
    if (P === en(o) && (P = wo(o), Zn(P).position !== "static" && l === "absolute" && (S = "scrollHeight", $ = "scrollWidth")), P = P, a === Bt || (a === Wt || a === bn) && i === Ca) {
      T = gn;
      var A = f && P === O && O.visualViewport ? O.visualViewport.height : (
        // $FlowFixMe[prop-missing]
        P[S]
      );
      h -= A - r.height, h *= c ? 1 : -1;
    }
    if (a === Wt || (a === Bt || a === gn) && i === Ca) {
      w = bn;
      var N = f && P === O && O.visualViewport ? O.visualViewport.width : (
        // $FlowFixMe[prop-missing]
        P[$]
      );
      v -= N - r.width, v *= c ? 1 : -1;
    }
  }
  var D = Object.assign({
    position: l
  }, u && K6), V = p === !0 ? G6({
    x: v,
    y: h
  }, en(o)) : {
    x: v,
    y: h
  };
  if (v = V.x, h = V.y, c) {
    var L;
    return Object.assign({}, D, (L = {}, L[T] = E ? "0" : "", L[w] = C ? "0" : "", L.transform = (O.devicePixelRatio || 1) <= 1 ? "translate(" + v + "px, " + h + "px)" : "translate3d(" + v + "px, " + h + "px, 0)", L));
  }
  return Object.assign({}, D, (t = {}, t[T] = E ? h + "px" : "", t[w] = C ? v + "px" : "", t.transform = "", t));
}
function X6(e) {
  var t = e.state, o = e.options, r = o.gpuAcceleration, a = r === void 0 ? !0 : r, i = o.adaptive, s = i === void 0 ? !0 : i, l = o.roundOffsets, c = l === void 0 ? !0 : l, u = {
    placement: jn(t.placement),
    variation: Sr(t.placement),
    popper: t.elements.popper,
    popperRect: t.rects.popper,
    gpuAcceleration: a,
    isFixed: t.options.strategy === "fixed"
  };
  t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, Lp(Object.assign({}, u, {
    offsets: t.modifiersData.popperOffsets,
    position: t.options.strategy,
    adaptive: s,
    roundOffsets: c
  })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, Lp(Object.assign({}, u, {
    offsets: t.modifiersData.arrow,
    position: "absolute",
    adaptive: !1,
    roundOffsets: c
  })))), t.attributes.popper = Object.assign({}, t.attributes.popper, {
    "data-popper-placement": t.placement
  });
}
const Z6 = {
  name: "computeStyles",
  enabled: !0,
  phase: "beforeWrite",
  fn: X6,
  data: {}
};
var ai = {
  passive: !0
};
function Q6(e) {
  var t = e.state, o = e.instance, r = e.options, a = r.scroll, i = a === void 0 ? !0 : a, s = r.resize, l = s === void 0 ? !0 : s, c = en(t.elements.popper), u = [].concat(t.scrollParents.reference, t.scrollParents.popper);
  return i && u.forEach(function(p) {
    p.addEventListener("scroll", o.update, ai);
  }), l && c.addEventListener("resize", o.update, ai), function() {
    i && u.forEach(function(p) {
      p.removeEventListener("scroll", o.update, ai);
    }), l && c.removeEventListener("resize", o.update, ai);
  };
}
const J6 = {
  name: "eventListeners",
  enabled: !0,
  phase: "write",
  fn: function() {
  },
  effect: Q6,
  data: {}
};
var e5 = {
  left: "right",
  right: "left",
  bottom: "top",
  top: "bottom"
};
function Ri(e) {
  return e.replace(/left|right|bottom|top/g, function(t) {
    return e5[t];
  });
}
var t5 = {
  start: "end",
  end: "start"
};
function Fp(e) {
  return e.replace(/start|end/g, function(t) {
    return t5[t];
  });
}
function ru(e) {
  var t = en(e), o = t.pageXOffset, r = t.pageYOffset;
  return {
    scrollLeft: o,
    scrollTop: r
  };
}
function au(e) {
  return Er(wo(e)).left + ru(e).scrollLeft;
}
function n5(e, t) {
  var o = en(e), r = wo(e), a = o.visualViewport, i = r.clientWidth, s = r.clientHeight, l = 0, c = 0;
  if (a) {
    i = a.width, s = a.height;
    var u = qh();
    (u || !u && t === "fixed") && (l = a.offsetLeft, c = a.offsetTop);
  }
  return {
    width: i,
    height: s,
    x: l + au(e),
    y: c
  };
}
function o5(e) {
  var t, o = wo(e), r = ru(e), a = (t = e.ownerDocument) == null ? void 0 : t.body, i = zo(o.scrollWidth, o.clientWidth, a ? a.scrollWidth : 0, a ? a.clientWidth : 0), s = zo(o.scrollHeight, o.clientHeight, a ? a.scrollHeight : 0, a ? a.clientHeight : 0), l = -r.scrollLeft + au(e), c = -r.scrollTop;
  return Zn(a || o).direction === "rtl" && (l += zo(o.clientWidth, a ? a.clientWidth : 0) - i), {
    width: i,
    height: s,
    x: l,
    y: c
  };
}
function iu(e) {
  var t = Zn(e), o = t.overflow, r = t.overflowX, a = t.overflowY;
  return /auto|scroll|overlay|hidden/.test(o + a + r);
}
function Zh(e) {
  return ["html", "body", "#document"].indexOf(Wn(e)) >= 0 ? e.ownerDocument.body : dn(e) && iu(e) ? e : Zh(Os(e));
}
function da(e, t) {
  var o;
  t === void 0 && (t = []);
  var r = Zh(e), a = r === ((o = e.ownerDocument) == null ? void 0 : o.body), i = en(r), s = a ? [i].concat(i.visualViewport || [], iu(r) ? r : []) : r, l = t.concat(s);
  return a ? l : (
    // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
    l.concat(da(Os(s)))
  );
}
function ic(e) {
  return Object.assign({}, e, {
    left: e.x,
    top: e.y,
    right: e.x + e.width,
    bottom: e.y + e.height
  });
}
function r5(e, t) {
  var o = Er(e, !1, t === "fixed");
  return o.top = o.top + e.clientTop, o.left = o.left + e.clientLeft, o.bottom = o.top + e.clientHeight, o.right = o.left + e.clientWidth, o.width = e.clientWidth, o.height = e.clientHeight, o.x = o.left, o.y = o.top, o;
}
function jp(e, t, o) {
  return t === Uh ? ic(n5(e, o)) : Ho(t) ? r5(t, o) : ic(o5(wo(e)));
}
function a5(e) {
  var t = da(Os(e)), o = ["absolute", "fixed"].indexOf(Zn(e).position) >= 0, r = o && dn(e) ? za(e) : e;
  return Ho(r) ? t.filter(function(a) {
    return Ho(a) && Yh(a, r) && Wn(a) !== "body";
  }) : [];
}
function i5(e, t, o, r) {
  var a = t === "clippingParents" ? a5(e) : [].concat(t), i = [].concat(a, [o]), s = i[0], l = i.reduce(function(c, u) {
    var p = jp(e, u, r);
    return c.top = zo(p.top, c.top), c.right = Yi(p.right, c.right), c.bottom = Yi(p.bottom, c.bottom), c.left = zo(p.left, c.left), c;
  }, jp(e, s, r));
  return l.width = l.right - l.left, l.height = l.bottom - l.top, l.x = l.left, l.y = l.top, l;
}
function Qh(e) {
  var t = e.reference, o = e.element, r = e.placement, a = r ? jn(r) : null, i = r ? Sr(r) : null, s = t.x + t.width / 2 - o.width / 2, l = t.y + t.height / 2 - o.height / 2, c;
  switch (a) {
    case Bt:
      c = {
        x: s,
        y: t.y - o.height
      };
      break;
    case gn:
      c = {
        x: s,
        y: t.y + t.height
      };
      break;
    case bn:
      c = {
        x: t.x + t.width,
        y: l
      };
      break;
    case Wt:
      c = {
        x: t.x - o.width,
        y: l
      };
      break;
    default:
      c = {
        x: t.x,
        y: t.y
      };
  }
  var u = a ? ou(a) : null;
  if (u != null) {
    var p = u === "y" ? "height" : "width";
    switch (i) {
      case wr:
        c[u] = c[u] - (t[p] / 2 - o[p] / 2);
        break;
      case Ca:
        c[u] = c[u] + (t[p] / 2 - o[p] / 2);
        break;
    }
  }
  return c;
}
function Ta(e, t) {
  t === void 0 && (t = {});
  var o = t, r = o.placement, a = r === void 0 ? e.placement : r, i = o.strategy, s = i === void 0 ? e.strategy : i, l = o.boundary, c = l === void 0 ? S6 : l, u = o.rootBoundary, p = u === void 0 ? Uh : u, f = o.elementContext, g = f === void 0 ? Xr : f, v = o.altBoundary, b = v === void 0 ? !1 : v, h = o.padding, y = h === void 0 ? 0 : h, C = Gh(typeof y != "number" ? y : Xh(y, Va)), E = g === Xr ? P6 : Xr, w = e.rects.popper, T = e.elements[b ? E : g], O = i5(Ho(T) ? T : T.contextElement || wo(e.elements.popper), c, p, s), P = Er(e.elements.reference), S = Qh({
    reference: P,
    element: w,
    placement: a
  }), $ = ic(Object.assign({}, w, S)), A = g === Xr ? $ : P, N = {
    top: O.top - A.top + C.top,
    bottom: A.bottom - O.bottom + C.bottom,
    left: O.left - A.left + C.left,
    right: A.right - O.right + C.right
  }, D = e.modifiersData.offset;
  if (g === Xr && D) {
    var V = D[a];
    Object.keys(N).forEach(function(L) {
      var I = [bn, gn].indexOf(L) >= 0 ? 1 : -1, R = [Bt, gn].indexOf(L) >= 0 ? "y" : "x";
      N[L] += V[R] * I;
    });
  }
  return N;
}
function s5(e, t) {
  t === void 0 && (t = {});
  var o = t, r = o.placement, a = o.boundary, i = o.rootBoundary, s = o.padding, l = o.flipVariations, c = o.allowedAutoPlacements, u = c === void 0 ? Hh : c, p = Sr(r), f = p ? l ? _p : _p.filter(function(b) {
    return Sr(b) === p;
  }) : Va, g = f.filter(function(b) {
    return u.indexOf(b) >= 0;
  });
  g.length === 0 && (g = f);
  var v = g.reduce(function(b, h) {
    return b[h] = Ta(e, {
      placement: h,
      boundary: a,
      rootBoundary: i,
      padding: s
    })[jn(h)], b;
  }, {});
  return Object.keys(v).sort(function(b, h) {
    return v[b] - v[h];
  });
}
function l5(e) {
  if (jn(e) === eu)
    return [];
  var t = Ri(e);
  return [Fp(e), t, Fp(t)];
}
function c5(e) {
  var t = e.state, o = e.options, r = e.name;
  if (!t.modifiersData[r]._skip) {
    for (var a = o.mainAxis, i = a === void 0 ? !0 : a, s = o.altAxis, l = s === void 0 ? !0 : s, c = o.fallbackPlacements, u = o.padding, p = o.boundary, f = o.rootBoundary, g = o.altBoundary, v = o.flipVariations, b = v === void 0 ? !0 : v, h = o.allowedAutoPlacements, y = t.options.placement, C = jn(y), E = C === y, w = c || (E || !b ? [Ri(y)] : l5(y)), T = [y].concat(w).reduce(function(Q, X) {
      return Q.concat(jn(X) === eu ? s5(t, {
        placement: X,
        boundary: p,
        rootBoundary: f,
        padding: u,
        flipVariations: b,
        allowedAutoPlacements: h
      }) : X);
    }, []), O = t.rects.reference, P = t.rects.popper, S = /* @__PURE__ */ new Map(), $ = !0, A = T[0], N = 0; N < T.length; N++) {
      var D = T[N], V = jn(D), L = Sr(D) === wr, I = [Bt, gn].indexOf(V) >= 0, R = I ? "width" : "height", k = Ta(t, {
        placement: D,
        boundary: p,
        rootBoundary: f,
        altBoundary: g,
        padding: u
      }), F = I ? L ? bn : Wt : L ? gn : Bt;
      O[R] > P[R] && (F = Ri(F));
      var M = Ri(F), B = [];
      if (i && B.push(k[V] <= 0), l && B.push(k[F] <= 0, k[M] <= 0), B.every(function(Q) {
        return Q;
      })) {
        A = D, $ = !1;
        break;
      }
      S.set(D, B);
    }
    if ($)
      for (var j = b ? 3 : 1, W = function(X) {
        var Y = T.find(function(Z) {
          var H = S.get(Z);
          if (H)
            return H.slice(0, X).every(function(K) {
              return K;
            });
        });
        if (Y)
          return A = Y, "break";
      }, re = j; re > 0; re--) {
        var J = W(re);
        if (J === "break") break;
      }
    t.placement !== A && (t.modifiersData[r]._skip = !0, t.placement = A, t.reset = !0);
  }
}
const u5 = {
  name: "flip",
  enabled: !0,
  phase: "main",
  fn: c5,
  requiresIfExists: ["offset"],
  data: {
    _skip: !1
  }
};
function Vp(e, t, o) {
  return o === void 0 && (o = {
    x: 0,
    y: 0
  }), {
    top: e.top - t.height - o.y,
    right: e.right - t.width + o.x,
    bottom: e.bottom - t.height + o.y,
    left: e.left - t.width - o.x
  };
}
function zp(e) {
  return [Bt, bn, gn, Wt].some(function(t) {
    return e[t] >= 0;
  });
}
function d5(e) {
  var t = e.state, o = e.name, r = t.rects.reference, a = t.rects.popper, i = t.modifiersData.preventOverflow, s = Ta(t, {
    elementContext: "reference"
  }), l = Ta(t, {
    altBoundary: !0
  }), c = Vp(s, r), u = Vp(l, a, i), p = zp(c), f = zp(u);
  t.modifiersData[o] = {
    referenceClippingOffsets: c,
    popperEscapeOffsets: u,
    isReferenceHidden: p,
    hasPopperEscaped: f
  }, t.attributes.popper = Object.assign({}, t.attributes.popper, {
    "data-popper-reference-hidden": p,
    "data-popper-escaped": f
  });
}
const p5 = {
  name: "hide",
  enabled: !0,
  phase: "main",
  requiresIfExists: ["preventOverflow"],
  fn: d5
};
function f5(e, t, o) {
  var r = jn(e), a = [Wt, Bt].indexOf(r) >= 0 ? -1 : 1, i = typeof o == "function" ? o(Object.assign({}, t, {
    placement: e
  })) : o, s = i[0], l = i[1];
  return s = s || 0, l = (l || 0) * a, [Wt, bn].indexOf(r) >= 0 ? {
    x: l,
    y: s
  } : {
    x: s,
    y: l
  };
}
function m5(e) {
  var t = e.state, o = e.options, r = e.name, a = o.offset, i = a === void 0 ? [0, 0] : a, s = Hh.reduce(function(p, f) {
    return p[f] = f5(f, t.rects, i), p;
  }, {}), l = s[t.placement], c = l.x, u = l.y;
  t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += c, t.modifiersData.popperOffsets.y += u), t.modifiersData[r] = s;
}
const h5 = {
  name: "offset",
  enabled: !0,
  phase: "main",
  requires: ["popperOffsets"],
  fn: m5
};
function g5(e) {
  var t = e.state, o = e.name;
  t.modifiersData[o] = Qh({
    reference: t.rects.reference,
    element: t.rects.popper,
    placement: t.placement
  });
}
const b5 = {
  name: "popperOffsets",
  enabled: !0,
  phase: "read",
  fn: g5,
  data: {}
};
function y5(e) {
  return e === "x" ? "y" : "x";
}
function v5(e) {
  var t = e.state, o = e.options, r = e.name, a = o.mainAxis, i = a === void 0 ? !0 : a, s = o.altAxis, l = s === void 0 ? !1 : s, c = o.boundary, u = o.rootBoundary, p = o.altBoundary, f = o.padding, g = o.tether, v = g === void 0 ? !0 : g, b = o.tetherOffset, h = b === void 0 ? 0 : b, y = Ta(t, {
    boundary: c,
    rootBoundary: u,
    padding: f,
    altBoundary: p
  }), C = jn(t.placement), E = Sr(t.placement), w = !E, T = ou(C), O = y5(T), P = t.modifiersData.popperOffsets, S = t.rects.reference, $ = t.rects.popper, A = typeof h == "function" ? h(Object.assign({}, t.rects, {
    placement: t.placement
  })) : h, N = typeof A == "number" ? {
    mainAxis: A,
    altAxis: A
  } : Object.assign({
    mainAxis: 0,
    altAxis: 0
  }, A), D = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, V = {
    x: 0,
    y: 0
  };
  if (P) {
    if (i) {
      var L, I = T === "y" ? Bt : Wt, R = T === "y" ? gn : bn, k = T === "y" ? "height" : "width", F = P[T], M = F + y[I], B = F - y[R], j = v ? -$[k] / 2 : 0, W = E === wr ? S[k] : $[k], re = E === wr ? -$[k] : -S[k], J = t.elements.arrow, Q = v && J ? nu(J) : {
        width: 0,
        height: 0
      }, X = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : Kh(), Y = X[I], Z = X[R], H = ua(0, S[k], Q[k]), K = w ? S[k] / 2 - j - H - Y - N.mainAxis : W - H - Y - N.mainAxis, ne = w ? -S[k] / 2 + j + H + Z + N.mainAxis : re + H + Z + N.mainAxis, ae = t.elements.arrow && za(t.elements.arrow), z = ae ? T === "y" ? ae.clientTop || 0 : ae.clientLeft || 0 : 0, q = (L = D == null ? void 0 : D[T]) != null ? L : 0, te = F + K - q - z, ie = F + ne - q, de = ua(v ? Yi(M, te) : M, F, v ? zo(B, ie) : B);
      P[T] = de, V[T] = de - F;
    }
    if (l) {
      var ge, fe = T === "x" ? Bt : Wt, Oe = T === "x" ? gn : bn, Te = P[O], Re = O === "y" ? "height" : "width", Be = Te + y[fe], je = Te - y[Oe], Fe = [Bt, Wt].indexOf(C) !== -1, et = (ge = D == null ? void 0 : D[O]) != null ? ge : 0, ct = Fe ? Be : Te - S[Re] - $[Re] - et + N.altAxis, ot = Fe ? Te + S[Re] + $[Re] - et - N.altAxis : je, ue = v && Fe ? W6(ct, Te, ot) : ua(v ? ct : Be, Te, v ? ot : je);
      P[O] = ue, V[O] = ue - Te;
    }
    t.modifiersData[r] = V;
  }
}
const x5 = {
  name: "preventOverflow",
  enabled: !0,
  phase: "main",
  fn: v5,
  requiresIfExists: ["offset"]
};
function C5(e) {
  return {
    scrollLeft: e.scrollLeft,
    scrollTop: e.scrollTop
  };
}
function T5(e) {
  return e === en(e) || !dn(e) ? ru(e) : C5(e);
}
function w5(e) {
  var t = e.getBoundingClientRect(), o = Or(t.width) / e.offsetWidth || 1, r = Or(t.height) / e.offsetHeight || 1;
  return o !== 1 || r !== 1;
}
function O5(e, t, o) {
  o === void 0 && (o = !1);
  var r = dn(t), a = dn(t) && w5(t), i = wo(t), s = Er(e, a, o), l = {
    scrollLeft: 0,
    scrollTop: 0
  }, c = {
    x: 0,
    y: 0
  };
  return (r || !r && !o) && ((Wn(t) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
  iu(i)) && (l = T5(t)), dn(t) ? (c = Er(t, !0), c.x += t.clientLeft, c.y += t.clientTop) : i && (c.x = au(i))), {
    x: s.left + l.scrollLeft - c.x,
    y: s.top + l.scrollTop - c.y,
    width: s.width,
    height: s.height
  };
}
function E5(e) {
  var t = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set(), r = [];
  e.forEach(function(i) {
    t.set(i.name, i);
  });
  function a(i) {
    o.add(i.name);
    var s = [].concat(i.requires || [], i.requiresIfExists || []);
    s.forEach(function(l) {
      if (!o.has(l)) {
        var c = t.get(l);
        c && a(c);
      }
    }), r.push(i);
  }
  return e.forEach(function(i) {
    o.has(i.name) || a(i);
  }), r;
}
function S5(e) {
  var t = E5(e);
  return L6.reduce(function(o, r) {
    return o.concat(t.filter(function(a) {
      return a.phase === r;
    }));
  }, []);
}
function P5(e) {
  var t;
  return function() {
    return t || (t = new Promise(function(o) {
      Promise.resolve().then(function() {
        t = void 0, o(e());
      });
    })), t;
  };
}
function R5(e) {
  var t = e.reduce(function(o, r) {
    var a = o[r.name];
    return o[r.name] = a ? Object.assign({}, a, r, {
      options: Object.assign({}, a.options, r.options),
      data: Object.assign({}, a.data, r.data)
    }) : r, o;
  }, {});
  return Object.keys(t).map(function(o) {
    return t[o];
  });
}
var Bp = {
  placement: "bottom",
  modifiers: [],
  strategy: "absolute"
};
function Wp() {
  for (var e = arguments.length, t = new Array(e), o = 0; o < e; o++)
    t[o] = arguments[o];
  return !t.some(function(r) {
    return !(r && typeof r.getBoundingClientRect == "function");
  });
}
function k5(e) {
  e === void 0 && (e = {});
  var t = e, o = t.defaultModifiers, r = o === void 0 ? [] : o, a = t.defaultOptions, i = a === void 0 ? Bp : a;
  return function(l, c, u) {
    u === void 0 && (u = i);
    var p = {
      placement: "bottom",
      orderedModifiers: [],
      options: Object.assign({}, Bp, i),
      modifiersData: {},
      elements: {
        reference: l,
        popper: c
      },
      attributes: {},
      styles: {}
    }, f = [], g = !1, v = {
      state: p,
      setOptions: function(C) {
        var E = typeof C == "function" ? C(p.options) : C;
        h(), p.options = Object.assign({}, i, p.options, E), p.scrollParents = {
          reference: Ho(l) ? da(l) : l.contextElement ? da(l.contextElement) : [],
          popper: da(c)
        };
        var w = S5(R5([].concat(r, p.options.modifiers)));
        return p.orderedModifiers = w.filter(function(T) {
          return T.enabled;
        }), b(), v.update();
      },
      // Sync update – it will always be executed, even if not necessary. This
      // is useful for low frequency updates where sync behavior simplifies the
      // logic.
      // For high frequency updates (e.g. `resize` and `scroll` events), always
      // prefer the async Popper#update method
      forceUpdate: function() {
        if (!g) {
          var C = p.elements, E = C.reference, w = C.popper;
          if (Wp(E, w)) {
            p.rects = {
              reference: O5(E, za(w), p.options.strategy === "fixed"),
              popper: nu(w)
            }, p.reset = !1, p.placement = p.options.placement, p.orderedModifiers.forEach(function(N) {
              return p.modifiersData[N.name] = Object.assign({}, N.data);
            });
            for (var T = 0; T < p.orderedModifiers.length; T++) {
              if (p.reset === !0) {
                p.reset = !1, T = -1;
                continue;
              }
              var O = p.orderedModifiers[T], P = O.fn, S = O.options, $ = S === void 0 ? {} : S, A = O.name;
              typeof P == "function" && (p = P({
                state: p,
                options: $,
                name: A,
                instance: v
              }) || p);
            }
          }
        }
      },
      // Async and optimistically optimized update – it will not be executed if
      // not necessary (debounced to run at most once-per-tick)
      update: P5(function() {
        return new Promise(function(y) {
          v.forceUpdate(), y(p);
        });
      }),
      destroy: function() {
        h(), g = !0;
      }
    };
    if (!Wp(l, c))
      return v;
    v.setOptions(u).then(function(y) {
      !g && u.onFirstUpdate && u.onFirstUpdate(y);
    });
    function b() {
      p.orderedModifiers.forEach(function(y) {
        var C = y.name, E = y.options, w = E === void 0 ? {} : E, T = y.effect;
        if (typeof T == "function") {
          var O = T({
            state: p,
            name: C,
            instance: v,
            options: w
          }), P = function() {
          };
          f.push(O || P);
        }
      });
    }
    function h() {
      f.forEach(function(y) {
        return y();
      }), f = [];
    }
    return v;
  };
}
var M5 = [J6, b5, Z6, V6, h5, u5, x5, Y6, p5], $5 = /* @__PURE__ */ k5({
  defaultModifiers: M5
});
function D5(e) {
  return typeof e == "function" ? e() : e;
}
const wa = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const {
    children: r,
    container: a,
    disablePortal: i = !1
  } = t, [s, l] = d.useState(null), c = ze(/* @__PURE__ */ d.isValidElement(r) ? Co(r) : null, o);
  if (gt(() => {
    i || l(D5(a) || document.body);
  }, [a, i]), gt(() => {
    if (s && !i)
      return Li(o, s), () => {
        Li(o, null);
      };
  }, [o, s, i]), i) {
    if (/* @__PURE__ */ d.isValidElement(r)) {
      const u = {
        ref: c
      };
      return /* @__PURE__ */ d.cloneElement(r, u);
    }
    return /* @__PURE__ */ x(d.Fragment, {
      children: r
    });
  }
  return /* @__PURE__ */ x(d.Fragment, {
    children: s && /* @__PURE__ */ uy.createPortal(r, s)
  });
});
process.env.NODE_ENV !== "production" && (wa.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The children to render into the `container`.
   */
  children: n.node,
  /**
   * An HTML element or function that returns one.
   * The `container` will have the portal children appended to it.
   *
   * You can also provide a callback, which is called in a React layout effect.
   * This lets you set the container from a ref, and also makes server-side rendering possible.
   *
   * By default, it uses the body of the top-level document object,
   * so it's simply `document.body` most of the time.
   */
  container: n.oneOfType([zn, n.func]),
  /**
   * The `children` will be under the DOM hierarchy of the parent component.
   * @default false
   */
  disablePortal: n.bool
});
process.env.NODE_ENV !== "production" && (wa.propTypes = Da(wa.propTypes));
function I5(e) {
  return ye("MuiPopper", e);
}
be("MuiPopper", ["root"]);
const N5 = ["anchorEl", "children", "direction", "disablePortal", "modifiers", "open", "placement", "popperOptions", "popperRef", "slotProps", "slots", "TransitionProps", "ownerState"], _5 = ["anchorEl", "children", "container", "direction", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "style", "transition", "slotProps", "slots"];
function A5(e, t) {
  if (t === "ltr")
    return e;
  switch (e) {
    case "bottom-end":
      return "bottom-start";
    case "bottom-start":
      return "bottom-end";
    case "top-end":
      return "top-start";
    case "top-start":
      return "top-end";
    default:
      return e;
  }
}
function Ki(e) {
  return typeof e == "function" ? e() : e;
}
function Es(e) {
  return e.nodeType !== void 0;
}
function L5(e) {
  return !Es(e);
}
const F5 = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, I5, t);
}, j5 = {}, V5 = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r;
  const {
    anchorEl: a,
    children: i,
    direction: s,
    disablePortal: l,
    modifiers: c,
    open: u,
    placement: p,
    popperOptions: f,
    popperRef: g,
    slotProps: v = {},
    slots: b = {},
    TransitionProps: h
    // @ts-ignore internal logic
    // prevent from spreading to DOM, it can come from the parent component e.g. Select.
  } = t, y = oe(t, N5), C = d.useRef(null), E = ze(C, o), w = d.useRef(null), T = ze(w, g), O = d.useRef(T);
  gt(() => {
    O.current = T;
  }, [T]), d.useImperativeHandle(g, () => w.current, []);
  const P = A5(p, s), [S, $] = d.useState(P), [A, N] = d.useState(Ki(a));
  d.useEffect(() => {
    w.current && w.current.forceUpdate();
  }), d.useEffect(() => {
    a && N(Ki(a));
  }, [a]), gt(() => {
    if (!A || !u)
      return;
    const R = (M) => {
      $(M.placement);
    };
    if (process.env.NODE_ENV !== "production" && A && Es(A) && A.nodeType === 1) {
      const M = A.getBoundingClientRect();
      process.env.NODE_ENV !== "test" && M.top === 0 && M.left === 0 && M.right === 0 && M.bottom === 0 && console.warn(["MUI: The `anchorEl` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
`));
    }
    let k = [{
      name: "preventOverflow",
      options: {
        altBoundary: l
      }
    }, {
      name: "flip",
      options: {
        altBoundary: l
      }
    }, {
      name: "onUpdate",
      enabled: !0,
      phase: "afterWrite",
      fn: ({
        state: M
      }) => {
        R(M);
      }
    }];
    c != null && (k = k.concat(c)), f && f.modifiers != null && (k = k.concat(f.modifiers));
    const F = $5(A, C.current, m({
      placement: P
    }, f, {
      modifiers: k
    }));
    return O.current(F), () => {
      F.destroy(), O.current(null);
    };
  }, [A, l, c, u, f, P]);
  const D = {
    placement: S
  };
  h !== null && (D.TransitionProps = h);
  const V = F5(t), L = (r = b.root) != null ? r : "div", I = $e({
    elementType: L,
    externalSlotProps: v.root,
    externalForwardedProps: y,
    additionalProps: {
      role: "tooltip",
      ref: E
    },
    ownerState: t,
    className: V.root
  });
  return /* @__PURE__ */ x(L, m({}, I, {
    children: typeof i == "function" ? i(D) : i
  }));
}), Jh = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const {
    anchorEl: r,
    children: a,
    container: i,
    direction: s = "ltr",
    disablePortal: l = !1,
    keepMounted: c = !1,
    modifiers: u,
    open: p,
    placement: f = "bottom",
    popperOptions: g = j5,
    popperRef: v,
    style: b,
    transition: h = !1,
    slotProps: y = {},
    slots: C = {}
  } = t, E = oe(t, _5), [w, T] = d.useState(!0), O = () => {
    T(!1);
  }, P = () => {
    T(!0);
  };
  if (!c && !p && (!h || w))
    return null;
  let S;
  if (i)
    S = i;
  else if (r) {
    const N = Ki(r);
    S = N && Es(N) ? lt(N).body : lt(null).body;
  }
  const $ = !p && c && (!h || w) ? "none" : void 0, A = h ? {
    in: p,
    onEnter: O,
    onExited: P
  } : void 0;
  return /* @__PURE__ */ x(wa, {
    disablePortal: l,
    container: S,
    children: /* @__PURE__ */ x(V5, m({
      anchorEl: r,
      direction: s,
      disablePortal: l,
      modifiers: u,
      ref: o,
      open: h ? !w : p,
      placement: f,
      popperOptions: g,
      popperRef: v,
      slotProps: y,
      slots: C
    }, E, {
      style: m({
        // Prevents scroll issue, waiting for Popper.js to add this style once initiated.
        position: "fixed",
        // Fix Popper.js display issue
        top: 0,
        left: 0,
        display: $
      }, b),
      TransitionProps: A,
      children: a
    }))
  });
});
process.env.NODE_ENV !== "production" && (Jh.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),
   * or a function that returns either.
   * It's used to set the position of the popper.
   * The return value will passed as the reference object of the Popper instance.
   */
  anchorEl: Jt(n.oneOfType([zn, n.object, n.func]), (e) => {
    if (e.open) {
      const t = Ki(e.anchorEl);
      if (t && Es(t) && t.nodeType === 1) {
        const o = t.getBoundingClientRect();
        if (process.env.NODE_ENV !== "test" && o.top === 0 && o.left === 0 && o.right === 0 && o.bottom === 0)
          return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
`));
      } else if (!t || typeof t.getBoundingClientRect != "function" || L5(t) && t.contextElement != null && t.contextElement.nodeType !== 1)
        return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.", "It should be an HTML element instance or a virtualElement ", "(https://popper.js.org/docs/v2/virtual-elements/)."].join(`
`));
    }
    return null;
  }),
  /**
   * Popper render function or node.
   */
  children: n.oneOfType([n.node, n.func]),
  /**
   * An HTML element or function that returns one.
   * The `container` will have the portal children appended to it.
   *
   * You can also provide a callback, which is called in a React layout effect.
   * This lets you set the container from a ref, and also makes server-side rendering possible.
   *
   * By default, it uses the body of the top-level document object,
   * so it's simply `document.body` most of the time.
   */
  container: n.oneOfType([zn, n.func]),
  /**
   * Direction of the text.
   * @default 'ltr'
   */
  direction: n.oneOf(["ltr", "rtl"]),
  /**
   * The `children` will be under the DOM hierarchy of the parent component.
   * @default false
   */
  disablePortal: n.bool,
  /**
   * Always keep the children in the DOM.
   * This prop can be useful in SEO situation or
   * when you want to maximize the responsiveness of the Popper.
   * @default false
   */
  keepMounted: n.bool,
  /**
   * Popper.js is based on a "plugin-like" architecture,
   * most of its features are fully encapsulated "modifiers".
   *
   * A modifier is a function that is called each time Popper.js needs to
   * compute the position of the popper.
   * For this reason, modifiers should be very performant to avoid bottlenecks.
   * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).
   */
  modifiers: n.arrayOf(n.shape({
    data: n.object,
    effect: n.func,
    enabled: n.bool,
    fn: n.func,
    name: n.any,
    options: n.object,
    phase: n.oneOf(["afterMain", "afterRead", "afterWrite", "beforeMain", "beforeRead", "beforeWrite", "main", "read", "write"]),
    requires: n.arrayOf(n.string),
    requiresIfExists: n.arrayOf(n.string)
  })),
  /**
   * If `true`, the component is shown.
   */
  open: n.bool.isRequired,
  /**
   * Popper placement.
   * @default 'bottom'
   */
  placement: n.oneOf(["auto-end", "auto-start", "auto", "bottom-end", "bottom-start", "bottom", "left-end", "left-start", "left", "right-end", "right-start", "right", "top-end", "top-start", "top"]),
  /**
   * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.
   * @default {}
   */
  popperOptions: n.shape({
    modifiers: n.array,
    onFirstUpdate: n.func,
    placement: n.oneOf(["auto-end", "auto-start", "auto", "bottom-end", "bottom-start", "bottom", "left-end", "left-start", "left", "right-end", "right-start", "right", "top-end", "top-start", "top"]),
    strategy: n.oneOf(["absolute", "fixed"])
  }),
  /**
   * A ref that points to the used popper instance.
   */
  popperRef: ut,
  /**
   * The props used for each slot inside the Popper.
   * @default {}
   */
  slotProps: n.shape({
    root: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside the Popper.
   * Either a string to use a HTML element or a component.
   * @default {}
   */
  slots: n.shape({
    root: n.elementType
  }),
  /**
   * Help supporting a react-transition-group/Transition component.
   * @default false
   */
  transition: n.bool
});
const z5 = ["anchorEl", "component", "components", "componentsProps", "container", "disablePortal", "keepMounted", "modifiers", "open", "placement", "popperOptions", "popperRef", "transition", "slots", "slotProps"], B5 = U(Jh, {
  name: "MuiPopper",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({}), Ss = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r;
  const a = Bh(), i = Ee({
    props: t,
    name: "MuiPopper"
  }), {
    anchorEl: s,
    component: l,
    components: c,
    componentsProps: u,
    container: p,
    disablePortal: f,
    keepMounted: g,
    modifiers: v,
    open: b,
    placement: h,
    popperOptions: y,
    popperRef: C,
    transition: E,
    slots: w,
    slotProps: T
  } = i, O = oe(i, z5), P = (r = w == null ? void 0 : w.root) != null ? r : c == null ? void 0 : c.Root, S = m({
    anchorEl: s,
    container: p,
    disablePortal: f,
    keepMounted: g,
    modifiers: v,
    open: b,
    placement: h,
    popperOptions: y,
    popperRef: C,
    transition: E
  }, O);
  return /* @__PURE__ */ x(B5, m({
    as: l,
    direction: a == null ? void 0 : a.direction,
    slots: {
      root: P
    },
    slotProps: T ?? u
  }, S, {
    ref: o
  }));
});
process.env.NODE_ENV !== "production" && (Ss.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),
   * or a function that returns either.
   * It's used to set the position of the popper.
   * The return value will passed as the reference object of the Popper instance.
   */
  anchorEl: n.oneOfType([zn, n.object, n.func]),
  /**
   * Popper render function or node.
   */
  children: n.oneOfType([n.node, n.func]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The components used for each slot inside the Popper.
   * Either a string to use a HTML element or a component.
   * @default {}
   */
  components: n.shape({
    Root: n.elementType
  }),
  /**
   * The props used for each slot inside the Popper.
   * @default {}
   */
  componentsProps: n.shape({
    root: n.oneOfType([n.func, n.object])
  }),
  /**
   * An HTML element or function that returns one.
   * The `container` will have the portal children appended to it.
   *
   * You can also provide a callback, which is called in a React layout effect.
   * This lets you set the container from a ref, and also makes server-side rendering possible.
   *
   * By default, it uses the body of the top-level document object,
   * so it's simply `document.body` most of the time.
   */
  container: n.oneOfType([zn, n.func]),
  /**
   * The `children` will be under the DOM hierarchy of the parent component.
   * @default false
   */
  disablePortal: n.bool,
  /**
   * Always keep the children in the DOM.
   * This prop can be useful in SEO situation or
   * when you want to maximize the responsiveness of the Popper.
   * @default false
   */
  keepMounted: n.bool,
  /**
   * Popper.js is based on a "plugin-like" architecture,
   * most of its features are fully encapsulated "modifiers".
   *
   * A modifier is a function that is called each time Popper.js needs to
   * compute the position of the popper.
   * For this reason, modifiers should be very performant to avoid bottlenecks.
   * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).
   */
  modifiers: n.arrayOf(n.shape({
    data: n.object,
    effect: n.func,
    enabled: n.bool,
    fn: n.func,
    name: n.any,
    options: n.object,
    phase: n.oneOf(["afterMain", "afterRead", "afterWrite", "beforeMain", "beforeRead", "beforeWrite", "main", "read", "write"]),
    requires: n.arrayOf(n.string),
    requiresIfExists: n.arrayOf(n.string)
  })),
  /**
   * If `true`, the component is shown.
   */
  open: n.bool.isRequired,
  /**
   * Popper placement.
   * @default 'bottom'
   */
  placement: n.oneOf(["auto-end", "auto-start", "auto", "bottom-end", "bottom-start", "bottom", "left-end", "left-start", "left", "right-end", "right-start", "right", "top-end", "top-start", "top"]),
  /**
   * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.
   * @default {}
   */
  popperOptions: n.shape({
    modifiers: n.array,
    onFirstUpdate: n.func,
    placement: n.oneOf(["auto-end", "auto-start", "auto", "bottom-end", "bottom-start", "bottom", "left-end", "left-start", "left", "right-end", "right-start", "right", "top-end", "top-start", "top"]),
    strategy: n.oneOf(["absolute", "fixed"])
  }),
  /**
   * A ref that points to the used popper instance.
   */
  popperRef: ut,
  /**
   * The props used for each slot inside the Popper.
   * @default {}
   */
  slotProps: n.shape({
    root: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside the Popper.
   * Either a string to use a HTML element or a component.
   * @default {}
   */
  slots: n.shape({
    root: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Help supporting a react-transition-group/Transition component.
   * @default false
   */
  transition: n.bool
});
const W5 = ["input", "select", "textarea", "a[href]", "button", "[tabindex]", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])'].join(",");
function U5(e) {
  const t = parseInt(e.getAttribute("tabindex") || "", 10);
  return Number.isNaN(t) ? e.contentEditable === "true" || (e.nodeName === "AUDIO" || e.nodeName === "VIDEO" || e.nodeName === "DETAILS") && e.getAttribute("tabindex") === null ? 0 : e.tabIndex : t;
}
function H5(e) {
  if (e.tagName !== "INPUT" || e.type !== "radio" || !e.name)
    return !1;
  const t = (r) => e.ownerDocument.querySelector(`input[type="radio"]${r}`);
  let o = t(`[name="${e.name}"]:checked`);
  return o || (o = t(`[name="${e.name}"]`)), o !== e;
}
function q5(e) {
  return !(e.disabled || e.tagName === "INPUT" && e.type === "hidden" || H5(e));
}
function Y5(e) {
  const t = [], o = [];
  return Array.from(e.querySelectorAll(W5)).forEach((r, a) => {
    const i = U5(r);
    i === -1 || !q5(r) || (i === 0 ? t.push(r) : o.push({
      documentOrder: a,
      tabIndex: i,
      node: r
    }));
  }), o.sort((r, a) => r.tabIndex === a.tabIndex ? r.documentOrder - a.documentOrder : r.tabIndex - a.tabIndex).map((r) => r.node).concat(t);
}
function K5() {
  return !0;
}
function Oa(e) {
  const {
    children: t,
    disableAutoFocus: o = !1,
    disableEnforceFocus: r = !1,
    disableRestoreFocus: a = !1,
    getTabbable: i = Y5,
    isEnabled: s = K5,
    open: l
  } = e, c = d.useRef(!1), u = d.useRef(null), p = d.useRef(null), f = d.useRef(null), g = d.useRef(null), v = d.useRef(!1), b = d.useRef(null), h = ze(Co(t), b), y = d.useRef(null);
  d.useEffect(() => {
    !l || !b.current || (v.current = !o);
  }, [o, l]), d.useEffect(() => {
    if (!l || !b.current)
      return;
    const w = lt(b.current);
    return b.current.contains(w.activeElement) || (b.current.hasAttribute("tabIndex") || (process.env.NODE_ENV !== "production" && console.error(["MUI: The modal content node does not accept focus.", 'For the benefit of assistive technologies, the tabIndex of the node is being set to "-1".'].join(`
`)), b.current.setAttribute("tabIndex", "-1")), v.current && b.current.focus()), () => {
      a || (f.current && f.current.focus && (c.current = !0, f.current.focus()), f.current = null);
    };
  }, [l]), d.useEffect(() => {
    if (!l || !b.current)
      return;
    const w = lt(b.current), T = (S) => {
      y.current = S, !(r || !s() || S.key !== "Tab") && w.activeElement === b.current && S.shiftKey && (c.current = !0, p.current && p.current.focus());
    }, O = () => {
      const S = b.current;
      if (S === null)
        return;
      if (!w.hasFocus() || !s() || c.current) {
        c.current = !1;
        return;
      }
      if (S.contains(w.activeElement) || r && w.activeElement !== u.current && w.activeElement !== p.current)
        return;
      if (w.activeElement !== g.current)
        g.current = null;
      else if (g.current !== null)
        return;
      if (!v.current)
        return;
      let $ = [];
      if ((w.activeElement === u.current || w.activeElement === p.current) && ($ = i(b.current)), $.length > 0) {
        var A, N;
        const D = !!((A = y.current) != null && A.shiftKey && ((N = y.current) == null ? void 0 : N.key) === "Tab"), V = $[0], L = $[$.length - 1];
        typeof V != "string" && typeof L != "string" && (D ? L.focus() : V.focus());
      } else
        S.focus();
    };
    w.addEventListener("focusin", O), w.addEventListener("keydown", T, !0);
    const P = setInterval(() => {
      w.activeElement && w.activeElement.tagName === "BODY" && O();
    }, 50);
    return () => {
      clearInterval(P), w.removeEventListener("focusin", O), w.removeEventListener("keydown", T, !0);
    };
  }, [o, r, a, s, l, i]);
  const C = (w) => {
    f.current === null && (f.current = w.relatedTarget), v.current = !0, g.current = w.target;
    const T = t.props.onFocus;
    T && T(w);
  }, E = (w) => {
    f.current === null && (f.current = w.relatedTarget), v.current = !0;
  };
  return /* @__PURE__ */ he(d.Fragment, {
    children: [/* @__PURE__ */ x("div", {
      tabIndex: l ? 0 : -1,
      onFocus: E,
      ref: u,
      "data-testid": "sentinelStart"
    }), /* @__PURE__ */ d.cloneElement(t, {
      ref: h,
      onFocus: C
    }), /* @__PURE__ */ x("div", {
      tabIndex: l ? 0 : -1,
      onFocus: E,
      ref: p,
      "data-testid": "sentinelEnd"
    })]
  });
}
process.env.NODE_ENV !== "production" && (Oa.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * A single child content element.
   */
  children: xo,
  /**
   * If `true`, the focus trap will not automatically shift focus to itself when it opens, and
   * replace it to the last focused element when it closes.
   * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.
   *
   * Generally this should never be set to `true` as it makes the focus trap less
   * accessible to assistive technologies, like screen readers.
   * @default false
   */
  disableAutoFocus: n.bool,
  /**
   * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.
   *
   * Generally this should never be set to `true` as it makes the focus trap less
   * accessible to assistive technologies, like screen readers.
   * @default false
   */
  disableEnforceFocus: n.bool,
  /**
   * If `true`, the focus trap will not restore focus to previously focused element once
   * focus trap is hidden or unmounted.
   * @default false
   */
  disableRestoreFocus: n.bool,
  /**
   * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.
   * For instance, you can provide the "tabbable" npm dependency.
   * @param {HTMLElement} root
   */
  getTabbable: n.func,
  /**
   * This prop extends the `open` prop.
   * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.
   * This prop should be memoized.
   * It can be used to support multiple focus trap mounted at the same time.
   * @default function defaultIsEnabled(): boolean {
   *   return true;
   * }
   */
  isEnabled: n.func,
  /**
   * If `true`, focus is locked.
   */
  open: n.bool.isRequired
});
process.env.NODE_ENV !== "production" && (Oa.propTypes = Da(Oa.propTypes));
function G5(e) {
  return ye("MuiPickersPopper", e);
}
be("MuiPickersPopper", ["root", "paper"]);
function X5(e, t) {
  return Array.isArray(t) ? t.every((o) => e.indexOf(o) !== -1) : e.indexOf(t) !== -1;
}
const Z5 = (e, t) => (o) => {
  (o.key === "Enter" || o.key === " ") && (e(o), o.preventDefault(), o.stopPropagation());
}, zt = (e = document) => {
  const t = e.activeElement;
  return t ? t.shadowRoot ? zt(t.shadowRoot) : t : null;
}, Q5 = "@media (pointer: fine)", J5 = "@media (prefers-reduced-motion: reduce)", mr = typeof navigator < "u" && navigator.userAgent.match(/android\s(\d+)|OS\s(\d+)/i), Up = mr && mr[1] ? parseInt(mr[1], 10) : null, Hp = mr && mr[2] ? parseInt(mr[2], 10) : null, eT = Up && Up < 10 || Hp && Hp < 13 || !1, eg = () => zm(J5, {
  defaultMatches: !1
}) || eT, tT = ["PaperComponent", "popperPlacement", "ownerState", "children", "paperSlotProps", "paperClasses", "onPaperClick", "onPaperTouchStart"], nT = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    paper: ["paper"]
  }, G5, t);
}, oT = U(Ss, {
  name: "MuiPickersPopper",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})(({
  theme: e
}) => ({
  zIndex: e.zIndex.modal
})), rT = U($n, {
  name: "MuiPickersPopper",
  slot: "Paper",
  overridesResolver: (e, t) => t.paper
})({
  outline: 0,
  transformOrigin: "top center",
  variants: [{
    props: ({
      placement: e
    }) => ["top", "top-start", "top-end"].includes(e),
    style: {
      transformOrigin: "bottom center"
    }
  }]
});
function aT(e, t) {
  return t.documentElement.clientWidth < e.clientX || t.documentElement.clientHeight < e.clientY;
}
function iT(e, t) {
  const o = d.useRef(!1), r = d.useRef(!1), a = d.useRef(null), i = d.useRef(!1);
  d.useEffect(() => {
    if (!e)
      return;
    function c() {
      i.current = !0;
    }
    return document.addEventListener("mousedown", c, !0), document.addEventListener("touchstart", c, !0), () => {
      document.removeEventListener("mousedown", c, !0), document.removeEventListener("touchstart", c, !0), i.current = !1;
    };
  }, [e]);
  const s = Ce((c) => {
    if (!i.current)
      return;
    const u = r.current;
    r.current = !1;
    const p = lt(a.current);
    if (!a.current || // is a TouchEvent?
    "clientX" in c && aT(c, p))
      return;
    if (o.current) {
      o.current = !1;
      return;
    }
    let f;
    c.composedPath ? f = c.composedPath().indexOf(a.current) > -1 : f = !p.documentElement.contains(c.target) || a.current.contains(c.target), !f && !u && t(c);
  }), l = () => {
    r.current = !0;
  };
  return d.useEffect(() => {
    if (e) {
      const c = lt(a.current), u = () => {
        o.current = !0;
      };
      return c.addEventListener("touchstart", s), c.addEventListener("touchmove", u), () => {
        c.removeEventListener("touchstart", s), c.removeEventListener("touchmove", u);
      };
    }
  }, [e, s]), d.useEffect(() => {
    if (e) {
      const c = lt(a.current);
      return c.addEventListener("click", s), () => {
        c.removeEventListener("click", s), r.current = !1;
      };
    }
  }, [e, s]), [a, l, l];
}
const sT = /* @__PURE__ */ d.forwardRef((e, t) => {
  const {
    PaperComponent: o,
    popperPlacement: r,
    ownerState: a,
    children: i,
    paperSlotProps: s,
    paperClasses: l,
    onPaperClick: c,
    onPaperTouchStart: u
    // picks up the style props provided by `Transition`
    // https://mui.com/material-ui/transitions/#child-requirement
  } = e, p = oe(e, tT), f = m({}, a, {
    placement: r
  }), g = $e({
    elementType: o,
    externalSlotProps: s,
    additionalProps: {
      tabIndex: -1,
      elevation: 8,
      ref: t
    },
    className: l,
    ownerState: f
  });
  return /* @__PURE__ */ x(o, m({}, p, g, {
    onClick: (v) => {
      var b;
      c(v), (b = g.onClick) == null || b.call(g, v);
    },
    onTouchStart: (v) => {
      var b;
      u(v), (b = g.onTouchStart) == null || b.call(g, v);
    },
    ownerState: f,
    children: i
  }));
});
function lT(e) {
  const t = dt({
    props: e,
    name: "MuiPickersPopper"
  }), {
    anchorEl: o,
    children: r,
    containerRef: a = null,
    shouldRestoreFocus: i,
    onBlur: s,
    onDismiss: l,
    open: c,
    role: u,
    placement: p,
    slots: f,
    slotProps: g,
    reduceAnimations: v
  } = t;
  d.useEffect(() => {
    function R(k) {
      c && k.key === "Escape" && l();
    }
    return document.addEventListener("keydown", R), () => {
      document.removeEventListener("keydown", R);
    };
  }, [l, c]);
  const b = d.useRef(null);
  d.useEffect(() => {
    u === "tooltip" || i && !i() || (c ? b.current = zt(document) : b.current && b.current instanceof HTMLElement && setTimeout(() => {
      b.current instanceof HTMLElement && b.current.focus();
    }));
  }, [c, u, i]);
  const [h, y, C] = iT(c, s ?? l), E = d.useRef(null), w = ze(E, a), T = ze(w, h), O = t, P = nT(O), S = eg(), $ = v ?? S, A = (R) => {
    R.key === "Escape" && (R.stopPropagation(), l());
  }, N = (f == null ? void 0 : f.desktopTransition) ?? $ ? Ko : Uo, D = (f == null ? void 0 : f.desktopTrapFocus) ?? Oa, V = (f == null ? void 0 : f.desktopPaper) ?? rT, L = (f == null ? void 0 : f.popper) ?? oT, I = $e({
    elementType: L,
    externalSlotProps: g == null ? void 0 : g.popper,
    additionalProps: {
      transition: !0,
      role: u,
      open: c,
      anchorEl: o,
      placement: p,
      onKeyDown: A
    },
    className: P.root,
    ownerState: t
  });
  return /* @__PURE__ */ x(L, m({}, I, {
    children: ({
      TransitionProps: R,
      placement: k
    }) => /* @__PURE__ */ x(D, m({
      open: c,
      disableAutoFocus: !0,
      disableRestoreFocus: !0,
      disableEnforceFocus: u === "tooltip",
      isEnabled: () => !0
    }, g == null ? void 0 : g.desktopTrapFocus, {
      children: /* @__PURE__ */ x(N, m({}, R, g == null ? void 0 : g.desktopTransition, {
        children: /* @__PURE__ */ x(sT, {
          PaperComponent: V,
          ownerState: O,
          popperPlacement: k,
          ref: T,
          onPaperClick: y,
          onPaperTouchStart: C,
          paperClasses: P.paper,
          paperSlotProps: g == null ? void 0 : g.desktopPaper,
          children: r
        })
      }))
    }))
  }));
}
const cT = ({
  open: e,
  onOpen: t,
  onClose: o
}) => {
  const r = d.useRef(typeof e == "boolean").current, [a, i] = d.useState(!1);
  d.useEffect(() => {
    if (r) {
      if (typeof e != "boolean")
        throw new Error("You must not mix controlling and uncontrolled mode for `open` prop");
      i(e);
    }
  }, [r, e]);
  const s = d.useCallback((l) => {
    r || i(l), l && t && t(), !l && o && o();
  }, [r, t, o]);
  return {
    isOpen: a,
    setIsOpen: s
  };
}, su = ({
  timezone: e,
  value: t,
  defaultValue: o,
  referenceDate: r,
  onChange: a,
  valueManager: i
}) => {
  const s = pt(), l = d.useRef(o), c = t ?? l.current ?? i.emptyValue, u = d.useMemo(() => i.getTimezone(s, c), [s, i, c]), p = Ce((b) => u == null ? b : i.setTimezone(s, u, b));
  let f;
  e ? f = e : u ? f = u : r ? f = s.getTimezone(r) : f = "default";
  const g = d.useMemo(() => i.setTimezone(s, f, c), [i, s, f, c]), v = Ce((b, ...h) => {
    const y = p(b);
    a == null || a(y, ...h);
  });
  return {
    value: g,
    handleValueChange: v,
    timezone: f
  };
}, lu = ({
  name: e,
  timezone: t,
  value: o,
  defaultValue: r,
  referenceDate: a,
  onChange: i,
  valueManager: s
}) => {
  const [l, c] = Vt({
    name: e,
    state: "value",
    controlled: o,
    default: r ?? s.emptyValue
  }), u = Ce((p, ...f) => {
    c(p), i == null || i(p, ...f);
  });
  return su({
    timezone: t,
    value: l,
    defaultValue: void 0,
    referenceDate: a,
    onChange: u,
    valueManager: s
  });
}, uT = (e) => {
  const {
    action: t,
    hasChanged: o,
    dateState: r,
    isControlled: a
  } = e, i = !a && !r.hasBeenModifiedSinceMount;
  return t.name === "setValueFromField" ? !0 : t.name === "setValueFromAction" ? i && ["accept", "today", "clear"].includes(t.pickerAction) ? !0 : o(r.lastPublishedValue) : t.name === "setValueFromView" && t.selectionState !== "shallow" || t.name === "setValueFromShortcut" ? i ? !0 : o(r.lastPublishedValue) : !1;
}, dT = (e) => {
  const {
    action: t,
    hasChanged: o,
    dateState: r,
    isControlled: a,
    closeOnSelect: i
  } = e, s = !a && !r.hasBeenModifiedSinceMount;
  return t.name === "setValueFromAction" ? s && ["accept", "today", "clear"].includes(t.pickerAction) ? !0 : o(r.lastCommittedValue) : t.name === "setValueFromView" && t.selectionState === "finish" && i ? s ? !0 : o(r.lastCommittedValue) : t.name === "setValueFromShortcut" ? t.changeImportance === "accept" && o(r.lastCommittedValue) : !1;
}, pT = (e) => {
  const {
    action: t,
    closeOnSelect: o
  } = e;
  return t.name === "setValueFromAction" ? !0 : t.name === "setValueFromView" ? t.selectionState === "finish" && o : t.name === "setValueFromShortcut" ? t.changeImportance === "accept" : !1;
}, fT = ({
  props: e,
  valueManager: t,
  valueType: o,
  wrapperVariant: r,
  validator: a
}) => {
  const {
    onAccept: i,
    onChange: s,
    value: l,
    defaultValue: c,
    closeOnSelect: u = r === "desktop",
    timezone: p,
    referenceDate: f
  } = e, {
    current: g
  } = d.useRef(c), {
    current: v
  } = d.useRef(l !== void 0), [b, h] = d.useState(p);
  process.env.NODE_ENV !== "production" && (d.useEffect(() => {
    v !== (l !== void 0) && console.error([`MUI X: A component is changing the ${v ? "" : "un"}controlled value of a picker to be ${v ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", "Decide between using a controlled or uncontrolled valuefor the lifetime of the component.", "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", "More info: https://fb.me/react-controlled-components"].join(`
`));
  }, [l]), d.useEffect(() => {
    !v && g !== c && console.error(["MUI X: A component is changing the defaultValue of an uncontrolled picker after being initialized. To suppress this warning opt to use a controlled value."].join(`
`));
  }, [JSON.stringify(g)]));
  const y = pt(), C = Yo(), {
    isOpen: E,
    setIsOpen: w
  } = cT(e), {
    timezone: T,
    value: O,
    handleValueChange: P
  } = su({
    timezone: p,
    value: l,
    defaultValue: g,
    referenceDate: f,
    onChange: s,
    valueManager: t
  }), [S, $] = d.useState(() => {
    let K;
    return O !== void 0 ? K = O : g !== void 0 ? K = g : K = t.emptyValue, {
      draft: K,
      lastPublishedValue: K,
      lastCommittedValue: K,
      lastControlledValue: l,
      hasBeenModifiedSinceMount: !1
    };
  }), A = t.getTimezone(y, S.draft);
  b !== p && (h(p), p && A && p !== A && $((K) => m({}, K, {
    draft: t.setTimezone(y, p, K.draft)
  })));
  const {
    getValidationErrorForNewValue: N
  } = zh({
    props: e,
    validator: a,
    timezone: T,
    value: S.draft,
    onError: e.onError
  }), D = Ce((K) => {
    const ne = {
      action: K,
      dateState: S,
      hasChanged: (de) => !t.areValuesEqual(y, K.value, de),
      isControlled: v,
      closeOnSelect: u
    }, ae = uT(ne), z = dT(ne), q = pT(ne);
    $((de) => m({}, de, {
      draft: K.value,
      lastPublishedValue: ae ? K.value : de.lastPublishedValue,
      lastCommittedValue: z ? K.value : de.lastCommittedValue,
      hasBeenModifiedSinceMount: !0
    }));
    let te = null;
    const ie = () => (te || (te = {
      validationError: K.name === "setValueFromField" ? K.context.validationError : N(K.value)
    }, K.name === "setValueFromShortcut" && (te.shortcut = K.shortcut)), te);
    ae && P(K.value, ie()), z && i && i(K.value, ie()), q && w(!1);
  });
  if (S.lastControlledValue !== l) {
    const K = t.areValuesEqual(y, S.draft, O);
    $((ne) => m({}, ne, {
      lastControlledValue: l
    }, K ? {} : {
      lastCommittedValue: O,
      lastPublishedValue: O,
      draft: O,
      hasBeenModifiedSinceMount: !0
    }));
  }
  const V = Ce(() => {
    D({
      value: t.emptyValue,
      name: "setValueFromAction",
      pickerAction: "clear"
    });
  }), L = Ce(() => {
    D({
      value: S.lastPublishedValue,
      name: "setValueFromAction",
      pickerAction: "accept"
    });
  }), I = Ce(() => {
    D({
      value: S.lastPublishedValue,
      name: "setValueFromAction",
      pickerAction: "dismiss"
    });
  }), R = Ce(() => {
    D({
      value: S.lastCommittedValue,
      name: "setValueFromAction",
      pickerAction: "cancel"
    });
  }), k = Ce(() => {
    D({
      value: t.getTodayValue(y, T, o),
      name: "setValueFromAction",
      pickerAction: "today"
    });
  }), F = Ce((K) => {
    K.preventDefault(), w(!0);
  }), M = Ce((K) => {
    K == null || K.preventDefault(), w(!1);
  }), B = Ce((K, ne = "partial") => D({
    name: "setValueFromView",
    value: K,
    selectionState: ne
  })), j = Ce((K, ne, ae) => D({
    name: "setValueFromShortcut",
    value: K,
    changeImportance: ne,
    shortcut: ae
  })), W = Ce((K, ne) => D({
    name: "setValueFromField",
    value: K,
    context: ne
  })), re = {
    onClear: V,
    onAccept: L,
    onDismiss: I,
    onCancel: R,
    onSetToday: k,
    onOpen: F,
    onClose: M
  }, J = {
    value: S.draft,
    onChange: W
  }, Q = d.useMemo(() => t.cleanValue(y, S.draft), [y, t, S.draft]), X = {
    value: Q,
    onChange: B,
    onClose: M,
    open: E
  }, Z = m({}, re, {
    value: Q,
    onChange: B,
    onSelectShortcut: j,
    isValid: (K) => {
      const ne = a({
        adapter: C,
        value: K,
        timezone: T,
        props: e
      });
      return !t.hasError(ne);
    }
  }), H = d.useMemo(() => ({
    onOpen: F,
    onClose: M,
    open: E
  }), [E, M, F]);
  return {
    open: E,
    fieldProps: J,
    viewProps: X,
    layoutProps: Z,
    actions: re,
    contextValue: H
  };
};
let $l = !1;
function tg({
  onChange: e,
  onViewChange: t,
  openTo: o,
  view: r,
  views: a,
  autoFocus: i,
  focusedView: s,
  onFocusedViewChange: l
}) {
  process.env.NODE_ENV !== "production" && ($l || (r != null && !a.includes(r) && (console.warn(`MUI X: \`view="${r}"\` is not a valid prop.`, `It must be an element of \`views=["${a.join('", "')}"]\`.`), $l = !0), r == null && o != null && !a.includes(o) && (console.warn(`MUI X: \`openTo="${o}"\` is not a valid prop.`, `It must be an element of \`views=["${a.join('", "')}"]\`.`), $l = !0)));
  const c = d.useRef(o), u = d.useRef(a), p = d.useRef(a.includes(o) ? o : a[0]), [f, g] = Vt({
    name: "useViews",
    state: "view",
    controlled: r,
    default: p.current
  }), v = d.useRef(i ? f : null), [b, h] = Vt({
    name: "useViews",
    state: "focusedView",
    controlled: s,
    default: v.current
  });
  d.useEffect(() => {
    (c.current && c.current !== o || u.current && u.current.some((S) => !a.includes(S))) && (g(a.includes(o) ? o : a[0]), u.current = a, c.current = o);
  }, [o, g, f, a]);
  const y = a.indexOf(f), C = a[y - 1] ?? null, E = a[y + 1] ?? null, w = Ce((S, $) => {
    h($ ? S : (A) => S === A ? null : A), l == null || l(S, $);
  }), T = Ce((S) => {
    w(S, !0), S !== f && (g(S), t && t(S));
  }), O = Ce(() => {
    E && T(E);
  }), P = Ce((S, $, A) => {
    const N = $ === "finish", D = A ? (
      // handles case like `DateTimePicker`, where a view might return a `finish` selection state
      // but when it's not the final view given all `views` -> overall selection state should be `partial`.
      a.indexOf(A) < a.length - 1
    ) : !!E;
    if (e(S, N && D ? "partial" : $, A), A && A !== f) {
      const L = a[a.indexOf(A) + 1];
      L && T(L);
    } else N && O();
  });
  return {
    view: f,
    setView: T,
    focusedView: b,
    setFocusedView: w,
    nextView: E,
    previousView: C,
    // Always return up-to-date default view instead of the initial one (i.e. defaultView.current)
    defaultView: a.includes(o) ? o : a[0],
    goToNextView: O,
    setValueAndGoToNextView: P
  };
}
const mT = ["className", "sx"], hT = ({
  props: e,
  propsFromPickerValue: t,
  additionalViewProps: o,
  autoFocusView: r,
  rendererInterceptor: a,
  fieldRef: i
}) => {
  const {
    onChange: s,
    open: l,
    onClose: c
  } = t, {
    view: u,
    views: p,
    openTo: f,
    onViewChange: g,
    viewRenderers: v,
    timezone: b
  } = e, h = oe(e, mT), {
    view: y,
    setView: C,
    defaultView: E,
    focusedView: w,
    setFocusedView: T,
    setValueAndGoToNextView: O
  } = tg({
    view: u,
    views: p,
    openTo: f,
    onChange: s,
    onViewChange: g,
    autoFocus: r
  }), {
    hasUIView: P,
    viewModeLookup: S
  } = d.useMemo(() => p.reduce((I, R) => {
    let k;
    return v[R] != null ? k = "UI" : k = "field", I.viewModeLookup[R] = k, k === "UI" && (I.hasUIView = !0), I;
  }, {
    hasUIView: !1,
    viewModeLookup: {}
  }), [v, p]), $ = d.useMemo(() => p.reduce((I, R) => v[R] != null && MC(R) ? I + 1 : I, 0), [v, p]), A = S[y], N = Ce(() => A === "UI"), [D, V] = d.useState(A === "UI" ? y : null);
  return D !== y && S[y] === "UI" && V(y), gt(() => {
    A === "field" && l && (c(), setTimeout(() => {
      var I, R;
      (I = i == null ? void 0 : i.current) == null || I.setSelectedSections(y), (R = i == null ? void 0 : i.current) == null || R.focusField(y);
    }));
  }, [y]), gt(() => {
    if (!l)
      return;
    let I = y;
    A === "field" && D != null && (I = D), I !== E && S[I] === "UI" && S[E] === "UI" && (I = E), I !== y && C(I), T(I, !0);
  }, [l]), {
    hasUIView: P,
    shouldRestoreFocus: N,
    layoutProps: {
      views: p,
      view: D,
      onViewChange: C
    },
    renderCurrentView: () => {
      if (D == null)
        return null;
      const I = v[D];
      if (I == null)
        return null;
      const R = m({}, h, o, t, {
        views: p,
        timezone: b,
        onChange: O,
        view: D,
        onViewChange: C,
        focusedView: w,
        onFocusedViewChange: T,
        showViewSwitcher: $ > 1,
        timeViewsCount: $
      });
      return a ? a(v, D, R) : I(R);
    }
  };
}, gT = /* @__PURE__ */ d.createContext();
process.env.NODE_ENV !== "production" && (n.node, n.bool);
const no = () => d.useContext(gT) ?? !1;
function qp() {
  return typeof window > "u" ? "portrait" : window.screen && window.screen.orientation && window.screen.orientation.angle ? Math.abs(window.screen.orientation.angle) === 90 ? "landscape" : "portrait" : window.orientation && Math.abs(Number(window.orientation)) === 90 ? "landscape" : "portrait";
}
const bT = (e, t) => {
  const [o, r] = d.useState(qp);
  return gt(() => {
    const i = () => {
      r(qp());
    };
    return window.addEventListener("orientationchange", i), () => {
      window.removeEventListener("orientationchange", i);
    };
  }, []), X5(e, ["hours", "minutes", "seconds"]) ? !1 : (t || o) === "landscape";
}, yT = ({
  props: e,
  propsFromPickerValue: t,
  propsFromPickerViews: o,
  wrapperVariant: r
}) => {
  const {
    orientation: a
  } = e, i = bT(o.views, a), s = no();
  return {
    layoutProps: m({}, o, t, {
      isLandscape: i,
      isRtl: s,
      wrapperVariant: r,
      disabled: e.disabled,
      readOnly: e.readOnly
    })
  };
};
function vT(e) {
  const {
    props: t,
    pickerValueResponse: o
  } = e;
  return d.useMemo(() => ({
    value: o.viewProps.value,
    open: o.open,
    disabled: t.disabled ?? !1,
    readOnly: t.readOnly ?? !1
  }), [o.viewProps.value, o.open, t.disabled, t.readOnly]);
}
const ng = ({
  props: e,
  valueManager: t,
  valueType: o,
  wrapperVariant: r,
  additionalViewProps: a,
  validator: i,
  autoFocusView: s,
  rendererInterceptor: l,
  fieldRef: c
}) => {
  process.env.NODE_ENV !== "production" && e.renderInput != null && kh(["MUI X: The `renderInput` prop has been removed in version 6.0 of the Date and Time Pickers.", "You can replace it with the `textField` component slot in most cases.", "For more information, please have a look at the migration guide (https://mui.com/x/migration/migration-pickers-v5/#input-renderer-required-in-v5)."]);
  const u = fT({
    props: e,
    valueManager: t,
    valueType: o,
    wrapperVariant: r,
    validator: i
  }), p = hT({
    props: e,
    additionalViewProps: a,
    autoFocusView: s,
    fieldRef: c,
    propsFromPickerValue: u.viewProps,
    rendererInterceptor: l
  }), f = yT({
    props: e,
    wrapperVariant: r,
    propsFromPickerValue: u.layoutProps,
    propsFromPickerViews: p.layoutProps
  }), g = vT({
    props: e,
    pickerValueResponse: u
  });
  return {
    // Picker value
    open: u.open,
    actions: u.actions,
    fieldProps: u.fieldProps,
    // Picker views
    renderCurrentView: p.renderCurrentView,
    hasUIView: p.hasUIView,
    shouldRestoreFocus: p.shouldRestoreFocus,
    // Picker layout
    layoutProps: f.layoutProps,
    // Picker context
    contextValue: u.contextValue,
    // Picker owner state
    ownerState: g
  };
};
function og(e) {
  return ye("MuiPickersLayout", e);
}
const $o = be("MuiPickersLayout", ["root", "landscape", "contentWrapper", "toolbar", "actionBar", "tabs", "shortcuts"]);
function xT(e) {
  return ye("MuiDialogActions", e);
}
be("MuiDialogActions", ["root", "spacing"]);
const CT = ["className", "disableSpacing"], TT = (e) => {
  const {
    classes: t,
    disableSpacing: o
  } = e;
  return ve({
    root: ["root", !o && "spacing"]
  }, xT, t);
}, wT = U("div", {
  name: "MuiDialogActions",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, !o.disableSpacing && t.spacing];
  }
})(({
  ownerState: e
}) => m({
  display: "flex",
  alignItems: "center",
  padding: 8,
  justifyContent: "flex-end",
  flex: "0 0 auto"
}, !e.disableSpacing && {
  "& > :not(style) ~ :not(style)": {
    marginLeft: 8
  }
})), cu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiDialogActions"
  }), {
    className: a,
    disableSpacing: i = !1
  } = r, s = oe(r, CT), l = m({}, r, {
    disableSpacing: i
  }), c = TT(l);
  return /* @__PURE__ */ x(wT, m({
    className: ce(c.root, a),
    ownerState: l,
    ref: o
  }, s));
});
process.env.NODE_ENV !== "production" && (cu.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * If `true`, the actions do not have additional margin.
   * @default false
   */
  disableSpacing: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
const OT = ["onAccept", "onClear", "onCancel", "onSetToday", "actions"];
function rg(e) {
  const {
    onAccept: t,
    onClear: o,
    onCancel: r,
    onSetToday: a,
    actions: i
  } = e, s = oe(e, OT), l = to();
  if (i == null || i.length === 0)
    return null;
  const c = i == null ? void 0 : i.map((u) => {
    switch (u) {
      case "clear":
        return /* @__PURE__ */ x(Yn, {
          onClick: o,
          children: l.clearButtonLabel
        }, u);
      case "cancel":
        return /* @__PURE__ */ x(Yn, {
          onClick: r,
          children: l.cancelButtonLabel
        }, u);
      case "accept":
        return /* @__PURE__ */ x(Yn, {
          onClick: t,
          children: l.okButtonLabel
        }, u);
      case "today":
        return /* @__PURE__ */ x(Yn, {
          onClick: a,
          children: l.todayButtonLabel
        }, u);
      default:
        return null;
    }
  });
  return /* @__PURE__ */ x(cu, m({}, s, {
    children: c
  }));
}
process.env.NODE_ENV !== "production" && (rg.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Ordered array of actions to display.
   * If empty, does not display that action bar.
   * @default `['cancel', 'accept']` for mobile and `[]` for desktop
   */
  actions: n.arrayOf(n.oneOf(["accept", "cancel", "clear", "today"]).isRequired),
  /**
   * If `true`, the actions do not have additional margin.
   * @default false
   */
  disableSpacing: n.bool,
  onAccept: n.func.isRequired,
  onCancel: n.func.isRequired,
  onClear: n.func.isRequired,
  onSetToday: n.func.isRequired,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
const Kn = /* @__PURE__ */ d.createContext({});
process.env.NODE_ENV !== "production" && (Kn.displayName = "ListContext");
function ET(e) {
  return ye("MuiList", e);
}
be("MuiList", ["root", "padding", "dense", "subheader"]);
const ST = ["children", "className", "component", "dense", "disablePadding", "subheader"], PT = (e) => {
  const {
    classes: t,
    disablePadding: o,
    dense: r,
    subheader: a
  } = e;
  return ve({
    root: ["root", !o && "padding", r && "dense", a && "subheader"]
  }, ET, t);
}, RT = U("ul", {
  name: "MuiList",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, !o.disablePadding && t.padding, o.dense && t.dense, o.subheader && t.subheader];
  }
})(({
  ownerState: e
}) => m({
  listStyle: "none",
  margin: 0,
  padding: 0,
  position: "relative"
}, !e.disablePadding && {
  paddingTop: 8,
  paddingBottom: 8
}, e.subheader && {
  paddingTop: 0
})), Ba = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiList"
  }), {
    children: a,
    className: i,
    component: s = "ul",
    dense: l = !1,
    disablePadding: c = !1,
    subheader: u
  } = r, p = oe(r, ST), f = d.useMemo(() => ({
    dense: l
  }), [l]), g = m({}, r, {
    component: s,
    dense: l,
    disablePadding: c
  }), v = PT(g);
  return /* @__PURE__ */ x(Kn.Provider, {
    value: f,
    children: /* @__PURE__ */ he(RT, m({
      as: s,
      className: ce(v.root, i),
      ref: o,
      ownerState: g
    }, p, {
      children: [u, a]
    }))
  });
});
process.env.NODE_ENV !== "production" && (Ba.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If `true`, compact vertical padding designed for keyboard and mouse input is used for
   * the list and list items.
   * The prop is available to descendant components as the `dense` context.
   * @default false
   */
  dense: n.bool,
  /**
   * If `true`, vertical padding is removed from the list.
   * @default false
   */
  disablePadding: n.bool,
  /**
   * The content of the subheader, normally `ListSubheader`.
   */
  subheader: n.node,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function kT(e) {
  return ye("MuiListItem", e);
}
const ir = be("MuiListItem", ["root", "container", "focusVisible", "dense", "alignItemsFlexStart", "disabled", "divider", "gutters", "padding", "button", "secondaryAction", "selected"]), MT = be("MuiListItemButton", ["root", "focusVisible", "dense", "alignItemsFlexStart", "disabled", "divider", "gutters", "selected"]);
function $T(e) {
  return ye("MuiListItemSecondaryAction", e);
}
be("MuiListItemSecondaryAction", ["root", "disableGutters"]);
const DT = ["className"], IT = (e) => {
  const {
    disableGutters: t,
    classes: o
  } = e;
  return ve({
    root: ["root", t && "disableGutters"]
  }, $T, o);
}, NT = U("div", {
  name: "MuiListItemSecondaryAction",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.disableGutters && t.disableGutters];
  }
})(({
  ownerState: e
}) => m({
  position: "absolute",
  right: 16,
  top: "50%",
  transform: "translateY(-50%)"
}, e.disableGutters && {
  right: 0
})), uu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiListItemSecondaryAction"
  }), {
    className: a
  } = r, i = oe(r, DT), s = d.useContext(Kn), l = m({}, r, {
    disableGutters: s.disableGutters
  }), c = IT(l);
  return /* @__PURE__ */ x(NT, m({
    className: ce(c.root, a),
    ownerState: l,
    ref: o
  }, i));
});
process.env.NODE_ENV !== "production" && (uu.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component, normally an `IconButton` or selection control.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
uu.muiName = "ListItemSecondaryAction";
const _T = ["className"], AT = ["alignItems", "autoFocus", "button", "children", "className", "component", "components", "componentsProps", "ContainerComponent", "ContainerProps", "dense", "disabled", "disableGutters", "disablePadding", "divider", "focusVisibleClassName", "secondaryAction", "selected", "slotProps", "slots"], LT = (e, t) => {
  const {
    ownerState: o
  } = e;
  return [t.root, o.dense && t.dense, o.alignItems === "flex-start" && t.alignItemsFlexStart, o.divider && t.divider, !o.disableGutters && t.gutters, !o.disablePadding && t.padding, o.button && t.button, o.hasSecondaryAction && t.secondaryAction];
}, FT = (e) => {
  const {
    alignItems: t,
    button: o,
    classes: r,
    dense: a,
    disabled: i,
    disableGutters: s,
    disablePadding: l,
    divider: c,
    hasSecondaryAction: u,
    selected: p
  } = e;
  return ve({
    root: ["root", a && "dense", !s && "gutters", !l && "padding", c && "divider", i && "disabled", o && "button", t === "flex-start" && "alignItemsFlexStart", u && "secondaryAction", p && "selected"],
    container: ["container"]
  }, kT, r);
}, jT = U("div", {
  name: "MuiListItem",
  slot: "Root",
  overridesResolver: LT
})(({
  theme: e,
  ownerState: t
}) => m({
  display: "flex",
  justifyContent: "flex-start",
  alignItems: "center",
  position: "relative",
  textDecoration: "none",
  width: "100%",
  boxSizing: "border-box",
  textAlign: "left"
}, !t.disablePadding && m({
  paddingTop: 8,
  paddingBottom: 8
}, t.dense && {
  paddingTop: 4,
  paddingBottom: 4
}, !t.disableGutters && {
  paddingLeft: 16,
  paddingRight: 16
}, !!t.secondaryAction && {
  // Add some space to avoid collision as `ListItemSecondaryAction`
  // is absolutely positioned.
  paddingRight: 48
}), !!t.secondaryAction && {
  [`& > .${MT.root}`]: {
    paddingRight: 48
  }
}, {
  [`&.${ir.focusVisible}`]: {
    backgroundColor: (e.vars || e).palette.action.focus
  },
  [`&.${ir.selected}`]: {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})` : _e(e.palette.primary.main, e.palette.action.selectedOpacity),
    [`&.${ir.focusVisible}`]: {
      backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))` : _e(e.palette.primary.main, e.palette.action.selectedOpacity + e.palette.action.focusOpacity)
    }
  },
  [`&.${ir.disabled}`]: {
    opacity: (e.vars || e).palette.action.disabledOpacity
  }
}, t.alignItems === "flex-start" && {
  alignItems: "flex-start"
}, t.divider && {
  borderBottom: `1px solid ${(e.vars || e).palette.divider}`,
  backgroundClip: "padding-box"
}, t.button && {
  transition: e.transitions.create("background-color", {
    duration: e.transitions.duration.shortest
  }),
  "&:hover": {
    textDecoration: "none",
    backgroundColor: (e.vars || e).palette.action.hover,
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      backgroundColor: "transparent"
    }
  },
  [`&.${ir.selected}:hover`]: {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))` : _e(e.palette.primary.main, e.palette.action.selectedOpacity + e.palette.action.hoverOpacity),
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})` : _e(e.palette.primary.main, e.palette.action.selectedOpacity)
    }
  }
}, t.hasSecondaryAction && {
  // Add some space to avoid collision as `ListItemSecondaryAction`
  // is absolutely positioned.
  paddingRight: 48
})), VT = U("li", {
  name: "MuiListItem",
  slot: "Container",
  overridesResolver: (e, t) => t.container
})({
  position: "relative"
}), Sn = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiListItem"
  }), {
    alignItems: a = "center",
    autoFocus: i = !1,
    button: s = !1,
    children: l,
    className: c,
    component: u,
    components: p = {},
    componentsProps: f = {},
    ContainerComponent: g = "li",
    ContainerProps: {
      className: v
    } = {},
    dense: b = !1,
    disabled: h = !1,
    disableGutters: y = !1,
    disablePadding: C = !1,
    divider: E = !1,
    focusVisibleClassName: w,
    secondaryAction: T,
    selected: O = !1,
    slotProps: P = {},
    slots: S = {}
  } = r, $ = oe(r.ContainerProps, _T), A = oe(r, AT), N = d.useContext(Kn), D = d.useMemo(() => ({
    dense: b || N.dense || !1,
    alignItems: a,
    disableGutters: y
  }), [a, N.dense, b, y]), V = d.useRef(null);
  gt(() => {
    i && (V.current ? V.current.focus() : process.env.NODE_ENV !== "production" && console.error("MUI: Unable to set focus to a ListItem whose component has not been rendered."));
  }, [i]);
  const L = d.Children.toArray(l), I = L.length && fr(L[L.length - 1], ["ListItemSecondaryAction"]), R = m({}, r, {
    alignItems: a,
    autoFocus: i,
    button: s,
    dense: D.dense,
    disabled: h,
    disableGutters: y,
    disablePadding: C,
    divider: E,
    hasSecondaryAction: I,
    selected: O
  }), k = FT(R), F = ze(V, o), M = S.root || p.Root || jT, B = P.root || f.root || {}, j = m({
    className: ce(k.root, B.className, c),
    disabled: h
  }, A);
  let W = u || "li";
  return s && (j.component = u || "div", j.focusVisibleClassName = ce(ir.focusVisible, w), W = Ht), I ? (W = !j.component && !u ? "div" : W, g === "li" && (W === "li" ? W = "div" : j.component === "li" && (j.component = "div")), /* @__PURE__ */ x(Kn.Provider, {
    value: D,
    children: /* @__PURE__ */ he(VT, m({
      as: g,
      className: ce(k.container, v),
      ref: F,
      ownerState: R
    }, $, {
      children: [/* @__PURE__ */ x(M, m({}, B, !Fn(M) && {
        as: W,
        ownerState: m({}, R, B.ownerState)
      }, j, {
        children: L
      })), L.pop()]
    }))
  })) : /* @__PURE__ */ x(Kn.Provider, {
    value: D,
    children: /* @__PURE__ */ he(M, m({}, B, {
      as: W,
      ref: F
    }, !Fn(M) && {
      ownerState: m({}, R, B.ownerState)
    }, j, {
      children: [L, T && /* @__PURE__ */ x(uu, {
        children: T
      })]
    }))
  });
});
process.env.NODE_ENV !== "production" && (Sn.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Defines the `align-items` style property.
   * @default 'center'
   */
  alignItems: n.oneOf(["center", "flex-start"]),
  /**
   * If `true`, the list item is focused during the first mount.
   * Focus will also be triggered if the value changes from false to true.
   * @default false
   * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead
   */
  autoFocus: n.bool,
  /**
   * If `true`, the list item is a button (using `ButtonBase`). Props intended
   * for `ButtonBase` can then be applied to `ListItem`.
   * @default false
   * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead
   */
  button: n.bool,
  /**
   * The content of the component if a `ListItemSecondaryAction` is used it must
   * be the last child.
   */
  children: Jt(n.node, (e) => {
    const t = d.Children.toArray(e.children);
    let o = -1;
    for (let r = t.length - 1; r >= 0; r -= 1) {
      const a = t[r];
      if (fr(a, ["ListItemSecondaryAction"])) {
        o = r;
        break;
      }
    }
    return o !== -1 && o !== t.length - 1 ? new Error("MUI: You used an element after ListItemSecondaryAction. For ListItem to detect that it has a secondary action you must pass it as the last child to ListItem.") : null;
  }),
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `slots` prop.
   * It's recommended to use the `slots` prop instead.
   *
   * @default {}
   */
  components: n.shape({
    Root: n.elementType
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `slotProps` prop.
   * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
   *
   * @default {}
   */
  componentsProps: n.shape({
    root: n.object
  }),
  /**
   * The container component used when a `ListItemSecondaryAction` is the last child.
   * @default 'li'
   * @deprecated
   */
  ContainerComponent: Nr,
  /**
   * Props applied to the container component if used.
   * @default {}
   * @deprecated
   */
  ContainerProps: n.object,
  /**
   * If `true`, compact vertical padding designed for keyboard and mouse input is used.
   * The prop defaults to the value inherited from the parent List component.
   * @default false
   */
  dense: n.bool,
  /**
   * If `true`, the component is disabled.
   * @default false
   * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead
   */
  disabled: n.bool,
  /**
   * If `true`, the left and right padding is removed.
   * @default false
   */
  disableGutters: n.bool,
  /**
   * If `true`, all padding is removed.
   * @default false
   */
  disablePadding: n.bool,
  /**
   * If `true`, a 1px light border is added to the bottom of the list item.
   * @default false
   */
  divider: n.bool,
  /**
   * @ignore
   */
  focusVisibleClassName: n.string,
  /**
   * The element to display at the end of ListItem.
   */
  secondaryAction: n.node,
  /**
   * Use to apply selected styling.
   * @default false
   * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead
   */
  selected: n.bool,
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slotProps: n.shape({
    root: n.object
  }),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `components` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slots: n.shape({
    root: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
const zT = nt(/* @__PURE__ */ x("path", {
  d: "M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"
}), "Cancel");
function BT(e) {
  return ye("MuiChip", e);
}
const He = be("MuiChip", ["root", "sizeSmall", "sizeMedium", "colorError", "colorInfo", "colorPrimary", "colorSecondary", "colorSuccess", "colorWarning", "disabled", "clickable", "clickableColorPrimary", "clickableColorSecondary", "deletable", "deletableColorPrimary", "deletableColorSecondary", "outlined", "filled", "outlinedPrimary", "outlinedSecondary", "filledPrimary", "filledSecondary", "avatar", "avatarSmall", "avatarMedium", "avatarColorPrimary", "avatarColorSecondary", "icon", "iconSmall", "iconMedium", "iconColorPrimary", "iconColorSecondary", "label", "labelSmall", "labelMedium", "deleteIcon", "deleteIconSmall", "deleteIconMedium", "deleteIconColorPrimary", "deleteIconColorSecondary", "deleteIconOutlinedColorPrimary", "deleteIconOutlinedColorSecondary", "deleteIconFilledColorPrimary", "deleteIconFilledColorSecondary", "focusVisible"]), WT = ["avatar", "className", "clickable", "color", "component", "deleteIcon", "disabled", "icon", "label", "onClick", "onDelete", "onKeyDown", "onKeyUp", "size", "variant", "tabIndex", "skipFocusWhenDisabled"], UT = (e) => {
  const {
    classes: t,
    disabled: o,
    size: r,
    color: a,
    iconColor: i,
    onDelete: s,
    clickable: l,
    variant: c
  } = e, u = {
    root: ["root", c, o && "disabled", `size${ee(r)}`, `color${ee(a)}`, l && "clickable", l && `clickableColor${ee(a)}`, s && "deletable", s && `deletableColor${ee(a)}`, `${c}${ee(a)}`],
    label: ["label", `label${ee(r)}`],
    avatar: ["avatar", `avatar${ee(r)}`, `avatarColor${ee(a)}`],
    icon: ["icon", `icon${ee(r)}`, `iconColor${ee(i)}`],
    deleteIcon: ["deleteIcon", `deleteIcon${ee(r)}`, `deleteIconColor${ee(a)}`, `deleteIcon${ee(c)}Color${ee(a)}`]
  };
  return ve(u, BT, t);
}, HT = U("div", {
  name: "MuiChip",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e, {
      color: r,
      iconColor: a,
      clickable: i,
      onDelete: s,
      size: l,
      variant: c
    } = o;
    return [{
      [`& .${He.avatar}`]: t.avatar
    }, {
      [`& .${He.avatar}`]: t[`avatar${ee(l)}`]
    }, {
      [`& .${He.avatar}`]: t[`avatarColor${ee(r)}`]
    }, {
      [`& .${He.icon}`]: t.icon
    }, {
      [`& .${He.icon}`]: t[`icon${ee(l)}`]
    }, {
      [`& .${He.icon}`]: t[`iconColor${ee(a)}`]
    }, {
      [`& .${He.deleteIcon}`]: t.deleteIcon
    }, {
      [`& .${He.deleteIcon}`]: t[`deleteIcon${ee(l)}`]
    }, {
      [`& .${He.deleteIcon}`]: t[`deleteIconColor${ee(r)}`]
    }, {
      [`& .${He.deleteIcon}`]: t[`deleteIcon${ee(c)}Color${ee(r)}`]
    }, t.root, t[`size${ee(l)}`], t[`color${ee(r)}`], i && t.clickable, i && r !== "default" && t[`clickableColor${ee(r)})`], s && t.deletable, s && r !== "default" && t[`deletableColor${ee(r)}`], t[c], t[`${c}${ee(r)}`]];
  }
})(({
  theme: e,
  ownerState: t
}) => {
  const o = e.palette.mode === "light" ? e.palette.grey[700] : e.palette.grey[300];
  return m({
    maxWidth: "100%",
    fontFamily: e.typography.fontFamily,
    fontSize: e.typography.pxToRem(13),
    display: "inline-flex",
    alignItems: "center",
    justifyContent: "center",
    height: 32,
    color: (e.vars || e).palette.text.primary,
    backgroundColor: (e.vars || e).palette.action.selected,
    borderRadius: 32 / 2,
    whiteSpace: "nowrap",
    transition: e.transitions.create(["background-color", "box-shadow"]),
    // reset cursor explicitly in case ButtonBase is used
    cursor: "unset",
    // We disable the focus ring for mouse, touch and keyboard users.
    outline: 0,
    textDecoration: "none",
    border: 0,
    // Remove `button` border
    padding: 0,
    // Remove `button` padding
    verticalAlign: "middle",
    boxSizing: "border-box",
    [`&.${He.disabled}`]: {
      opacity: (e.vars || e).palette.action.disabledOpacity,
      pointerEvents: "none"
    },
    [`& .${He.avatar}`]: {
      marginLeft: 5,
      marginRight: -6,
      width: 24,
      height: 24,
      color: e.vars ? e.vars.palette.Chip.defaultAvatarColor : o,
      fontSize: e.typography.pxToRem(12)
    },
    [`& .${He.avatarColorPrimary}`]: {
      color: (e.vars || e).palette.primary.contrastText,
      backgroundColor: (e.vars || e).palette.primary.dark
    },
    [`& .${He.avatarColorSecondary}`]: {
      color: (e.vars || e).palette.secondary.contrastText,
      backgroundColor: (e.vars || e).palette.secondary.dark
    },
    [`& .${He.avatarSmall}`]: {
      marginLeft: 4,
      marginRight: -4,
      width: 18,
      height: 18,
      fontSize: e.typography.pxToRem(10)
    },
    [`& .${He.icon}`]: m({
      marginLeft: 5,
      marginRight: -6
    }, t.size === "small" && {
      fontSize: 18,
      marginLeft: 4,
      marginRight: -4
    }, t.iconColor === t.color && m({
      color: e.vars ? e.vars.palette.Chip.defaultIconColor : o
    }, t.color !== "default" && {
      color: "inherit"
    })),
    [`& .${He.deleteIcon}`]: m({
      WebkitTapHighlightColor: "transparent",
      color: e.vars ? `rgba(${e.vars.palette.text.primaryChannel} / 0.26)` : _e(e.palette.text.primary, 0.26),
      fontSize: 22,
      cursor: "pointer",
      margin: "0 5px 0 -6px",
      "&:hover": {
        color: e.vars ? `rgba(${e.vars.palette.text.primaryChannel} / 0.4)` : _e(e.palette.text.primary, 0.4)
      }
    }, t.size === "small" && {
      fontSize: 16,
      marginRight: 4,
      marginLeft: -4
    }, t.color !== "default" && {
      color: e.vars ? `rgba(${e.vars.palette[t.color].contrastTextChannel} / 0.7)` : _e(e.palette[t.color].contrastText, 0.7),
      "&:hover, &:active": {
        color: (e.vars || e).palette[t.color].contrastText
      }
    })
  }, t.size === "small" && {
    height: 24
  }, t.color !== "default" && {
    backgroundColor: (e.vars || e).palette[t.color].main,
    color: (e.vars || e).palette[t.color].contrastText
  }, t.onDelete && {
    [`&.${He.focusVisible}`]: {
      backgroundColor: e.vars ? `rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))` : _e(e.palette.action.selected, e.palette.action.selectedOpacity + e.palette.action.focusOpacity)
    }
  }, t.onDelete && t.color !== "default" && {
    [`&.${He.focusVisible}`]: {
      backgroundColor: (e.vars || e).palette[t.color].dark
    }
  });
}, ({
  theme: e,
  ownerState: t
}) => m({}, t.clickable && {
  userSelect: "none",
  WebkitTapHighlightColor: "transparent",
  cursor: "pointer",
  "&:hover": {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))` : _e(e.palette.action.selected, e.palette.action.selectedOpacity + e.palette.action.hoverOpacity)
  },
  [`&.${He.focusVisible}`]: {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))` : _e(e.palette.action.selected, e.palette.action.selectedOpacity + e.palette.action.focusOpacity)
  },
  "&:active": {
    boxShadow: (e.vars || e).shadows[1]
  }
}, t.clickable && t.color !== "default" && {
  [`&:hover, &.${He.focusVisible}`]: {
    backgroundColor: (e.vars || e).palette[t.color].dark
  }
}), ({
  theme: e,
  ownerState: t
}) => m({}, t.variant === "outlined" && {
  backgroundColor: "transparent",
  border: e.vars ? `1px solid ${e.vars.palette.Chip.defaultBorder}` : `1px solid ${e.palette.mode === "light" ? e.palette.grey[400] : e.palette.grey[700]}`,
  [`&.${He.clickable}:hover`]: {
    backgroundColor: (e.vars || e).palette.action.hover
  },
  [`&.${He.focusVisible}`]: {
    backgroundColor: (e.vars || e).palette.action.focus
  },
  [`& .${He.avatar}`]: {
    marginLeft: 4
  },
  [`& .${He.avatarSmall}`]: {
    marginLeft: 2
  },
  [`& .${He.icon}`]: {
    marginLeft: 4
  },
  [`& .${He.iconSmall}`]: {
    marginLeft: 2
  },
  [`& .${He.deleteIcon}`]: {
    marginRight: 5
  },
  [`& .${He.deleteIconSmall}`]: {
    marginRight: 3
  }
}, t.variant === "outlined" && t.color !== "default" && {
  color: (e.vars || e).palette[t.color].main,
  border: `1px solid ${e.vars ? `rgba(${e.vars.palette[t.color].mainChannel} / 0.7)` : _e(e.palette[t.color].main, 0.7)}`,
  [`&.${He.clickable}:hover`]: {
    backgroundColor: e.vars ? `rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})` : _e(e.palette[t.color].main, e.palette.action.hoverOpacity)
  },
  [`&.${He.focusVisible}`]: {
    backgroundColor: e.vars ? `rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.focusOpacity})` : _e(e.palette[t.color].main, e.palette.action.focusOpacity)
  },
  [`& .${He.deleteIcon}`]: {
    color: e.vars ? `rgba(${e.vars.palette[t.color].mainChannel} / 0.7)` : _e(e.palette[t.color].main, 0.7),
    "&:hover, &:active": {
      color: (e.vars || e).palette[t.color].main
    }
  }
})), qT = U("span", {
  name: "MuiChip",
  slot: "Label",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e, {
      size: r
    } = o;
    return [t.label, t[`label${ee(r)}`]];
  }
})(({
  ownerState: e
}) => m({
  overflow: "hidden",
  textOverflow: "ellipsis",
  paddingLeft: 12,
  paddingRight: 12,
  whiteSpace: "nowrap"
}, e.variant === "outlined" && {
  paddingLeft: 11,
  paddingRight: 11
}, e.size === "small" && {
  paddingLeft: 8,
  paddingRight: 8
}, e.size === "small" && e.variant === "outlined" && {
  paddingLeft: 7,
  paddingRight: 7
}));
function Yp(e) {
  return e.key === "Backspace" || e.key === "Delete";
}
const ag = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiChip"
  }), {
    avatar: a,
    className: i,
    clickable: s,
    color: l = "default",
    component: c,
    deleteIcon: u,
    disabled: p = !1,
    icon: f,
    label: g,
    onClick: v,
    onDelete: b,
    onKeyDown: h,
    onKeyUp: y,
    size: C = "medium",
    variant: E = "filled",
    tabIndex: w,
    skipFocusWhenDisabled: T = !1
    // TODO v6: Rename to `focusableWhenDisabled`.
  } = r, O = oe(r, WT), P = d.useRef(null), S = ze(P, o), $ = (B) => {
    B.stopPropagation(), b && b(B);
  }, A = (B) => {
    B.currentTarget === B.target && Yp(B) && B.preventDefault(), h && h(B);
  }, N = (B) => {
    B.currentTarget === B.target && (b && Yp(B) ? b(B) : B.key === "Escape" && P.current && P.current.blur()), y && y(B);
  }, D = s !== !1 && v ? !0 : s, V = D || b ? Ht : c || "div", L = m({}, r, {
    component: V,
    disabled: p,
    size: C,
    color: l,
    iconColor: /* @__PURE__ */ d.isValidElement(f) && f.props.color || l,
    onDelete: !!b,
    clickable: D,
    variant: E
  }), I = UT(L), R = V === Ht ? m({
    component: c || "div",
    focusVisibleClassName: I.focusVisible
  }, b && {
    disableRipple: !0
  }) : {};
  let k = null;
  b && (k = u && /* @__PURE__ */ d.isValidElement(u) ? /* @__PURE__ */ d.cloneElement(u, {
    className: ce(u.props.className, I.deleteIcon),
    onClick: $
  }) : /* @__PURE__ */ x(zT, {
    className: ce(I.deleteIcon),
    onClick: $
  }));
  let F = null;
  a && /* @__PURE__ */ d.isValidElement(a) && (F = /* @__PURE__ */ d.cloneElement(a, {
    className: ce(I.avatar, a.props.className)
  }));
  let M = null;
  return f && /* @__PURE__ */ d.isValidElement(f) && (M = /* @__PURE__ */ d.cloneElement(f, {
    className: ce(I.icon, f.props.className)
  })), process.env.NODE_ENV !== "production" && F && M && console.error("MUI: The Chip component can not handle the avatar and the icon prop at the same time. Pick one."), /* @__PURE__ */ he(HT, m({
    as: V,
    className: ce(I.root, i),
    disabled: D && p ? !0 : void 0,
    onClick: v,
    onKeyDown: A,
    onKeyUp: N,
    ref: S,
    tabIndex: T && p ? -1 : w,
    ownerState: L
  }, R, O, {
    children: [F || M, /* @__PURE__ */ x(qT, {
      className: ce(I.label),
      ownerState: L,
      children: g
    }), k]
  }));
});
process.env.NODE_ENV !== "production" && (ag.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The Avatar element to display.
   */
  avatar: n.element,
  /**
   * This prop isn't supported.
   * Use the `component` prop if you need to change the children structure.
   */
  children: _c,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * If `true`, the chip will appear clickable, and will raise when pressed,
   * even if the onClick prop is not defined.
   * If `false`, the chip will not appear clickable, even if onClick prop is defined.
   * This can be used, for example,
   * along with the component prop to indicate an anchor Chip is clickable.
   * Note: this controls the UI and does not affect the onClick event.
   */
  clickable: n.bool,
  /**
   * 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).
   * @default 'default'
   */
  color: n.oneOfType([n.oneOf(["default", "primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * Override the default delete icon element. Shown only if `onDelete` is set.
   */
  deleteIcon: n.element,
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * Icon element.
   */
  icon: n.element,
  /**
   * The content of the component.
   */
  label: n.node,
  /**
   * @ignore
   */
  onClick: n.func,
  /**
   * Callback fired when the delete icon is clicked.
   * If set, the delete icon will be shown.
   */
  onDelete: n.func,
  /**
   * @ignore
   */
  onKeyDown: n.func,
  /**
   * @ignore
   */
  onKeyUp: n.func,
  /**
   * The size of the component.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["medium", "small"]), n.string]),
  /**
   * If `true`, allows the disabled chip to escape focus.
   * If `false`, allows the disabled chip to receive focus.
   * @default false
   */
  skipFocusWhenDisabled: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * @ignore
   */
  tabIndex: n.number,
  /**
   * The variant to use.
   * @default 'filled'
   */
  variant: n.oneOfType([n.oneOf(["filled", "outlined"]), n.string])
});
const Ea = 36, Ps = 2, Rs = 320, YT = 280, du = 336, KT = ["items", "changeImportance", "isLandscape", "onChange", "isValid"], GT = ["getValue"];
function ig(e) {
  const {
    items: t,
    changeImportance: o = "accept",
    onChange: r,
    isValid: a
  } = e, i = oe(e, KT);
  if (t == null || t.length === 0)
    return null;
  const s = t.map((l) => {
    let {
      getValue: c
    } = l, u = oe(l, GT);
    const p = c({
      isValid: a
    });
    return m({}, u, {
      label: u.label,
      onClick: () => {
        r(p, o, u);
      },
      disabled: !a(p)
    });
  });
  return /* @__PURE__ */ x(Ba, m({
    dense: !0,
    sx: [{
      maxHeight: du,
      maxWidth: 200,
      overflow: "auto"
    }, ...Array.isArray(i.sx) ? i.sx : [i.sx]]
  }, i, {
    children: s.map((l) => /* @__PURE__ */ x(Sn, {
      children: /* @__PURE__ */ x(ag, m({}, l))
    }, l.id ?? l.label))
  }));
}
process.env.NODE_ENV !== "production" && (ig.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Importance of the change when picking a shortcut:
   * - "accept": fires `onChange`, fires `onAccept` and closes the picker.
   * - "set": fires `onChange` but do not fire `onAccept` and does not close the picker.
   * @default "accept"
   */
  changeImportance: n.oneOf(["accept", "set"]),
  className: n.string,
  component: n.elementType,
  /**
   * If `true`, compact vertical padding designed for keyboard and mouse input is used for
   * the list and list items.
   * The prop is available to descendant components as the `dense` context.
   * @default false
   */
  dense: n.bool,
  /**
   * If `true`, vertical padding is removed from the list.
   * @default false
   */
  disablePadding: n.bool,
  isLandscape: n.bool.isRequired,
  isValid: n.func.isRequired,
  /**
   * Ordered array of shortcuts to display.
   * If empty, does not display the shortcuts.
   * @default []
   */
  items: n.arrayOf(n.shape({
    getValue: n.func.isRequired,
    id: n.string,
    label: n.string.isRequired
  })),
  onChange: n.func.isRequired,
  style: n.object,
  /**
   * The content of the subheader, normally `ListSubheader`.
   */
  subheader: n.node,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function XT(e) {
  return e.view !== null;
}
const ZT = (e) => {
  const {
    classes: t,
    isLandscape: o
  } = e;
  return ve({
    root: ["root", o && "landscape"],
    contentWrapper: ["contentWrapper"],
    toolbar: ["toolbar"],
    actionBar: ["actionBar"],
    tabs: ["tabs"],
    landscape: ["landscape"],
    shortcuts: ["shortcuts"]
  }, og, t);
}, QT = (e) => {
  const {
    wrapperVariant: t,
    onAccept: o,
    onClear: r,
    onCancel: a,
    onSetToday: i,
    view: s,
    views: l,
    onViewChange: c,
    value: u,
    onChange: p,
    onSelectShortcut: f,
    isValid: g,
    isLandscape: v,
    disabled: b,
    readOnly: h,
    children: y,
    slots: C,
    slotProps: E
    // TODO: Remove this "as" hack. It get introduced to mark `value` prop in PickersLayoutProps as not required.
    // The true type should be
    // - For pickers value: TDate | null
    // - For range pickers value: [TDate | null, TDate | null]
  } = e, w = ZT(e), T = (C == null ? void 0 : C.actionBar) ?? rg, O = $e({
    elementType: T,
    externalSlotProps: E == null ? void 0 : E.actionBar,
    additionalProps: {
      onAccept: o,
      onClear: r,
      onCancel: a,
      onSetToday: i,
      actions: t === "desktop" ? [] : ["cancel", "accept"]
    },
    className: w.actionBar,
    ownerState: m({}, e, {
      wrapperVariant: t
    })
  }), P = /* @__PURE__ */ x(T, m({}, O)), S = C == null ? void 0 : C.toolbar, $ = $e({
    elementType: S,
    externalSlotProps: E == null ? void 0 : E.toolbar,
    additionalProps: {
      isLandscape: v,
      onChange: p,
      value: u,
      view: s,
      onViewChange: c,
      views: l,
      disabled: b,
      readOnly: h
    },
    className: w.toolbar,
    ownerState: m({}, e, {
      wrapperVariant: t
    })
  }), A = XT($) && S ? /* @__PURE__ */ x(S, m({}, $)) : null, N = y, D = C == null ? void 0 : C.tabs, V = s && D ? /* @__PURE__ */ x(D, m({
    view: s,
    onViewChange: c,
    className: w.tabs
  }, E == null ? void 0 : E.tabs)) : null, L = (C == null ? void 0 : C.shortcuts) ?? ig, I = $e({
    elementType: L,
    externalSlotProps: E == null ? void 0 : E.shortcuts,
    additionalProps: {
      isValid: g,
      isLandscape: v,
      onChange: f
    },
    className: w.shortcuts,
    ownerState: {
      isValid: g,
      isLandscape: v,
      onChange: f,
      wrapperVariant: t
    }
  }), R = s && L ? /* @__PURE__ */ x(L, m({}, I)) : null;
  return {
    toolbar: A,
    content: N,
    tabs: V,
    actionBar: P,
    shortcuts: R
  };
}, JT = (e) => {
  const {
    isLandscape: t,
    classes: o
  } = e;
  return ve({
    root: ["root", t && "landscape"],
    contentWrapper: ["contentWrapper"]
  }, og, o);
}, ew = U("div", {
  name: "MuiPickersLayout",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  display: "grid",
  gridAutoColumns: "max-content auto max-content",
  gridAutoRows: "max-content auto max-content",
  [`& .${$o.actionBar}`]: {
    gridColumn: "1 / 4",
    gridRow: 3
  },
  variants: [{
    props: {
      isLandscape: !0
    },
    style: {
      [`& .${$o.toolbar}`]: {
        gridColumn: 1,
        gridRow: "2 / 3"
      },
      [`.${$o.shortcuts}`]: {
        gridColumn: "2 / 4",
        gridRow: 1
      }
    }
  }, {
    props: {
      isLandscape: !0,
      isRtl: !0
    },
    style: {
      [`& .${$o.toolbar}`]: {
        gridColumn: 3
      }
    }
  }, {
    props: {
      isLandscape: !1
    },
    style: {
      [`& .${$o.toolbar}`]: {
        gridColumn: "2 / 4",
        gridRow: 1
      },
      [`& .${$o.shortcuts}`]: {
        gridColumn: 1,
        gridRow: "2 / 3"
      }
    }
  }, {
    props: {
      isLandscape: !1,
      isRtl: !0
    },
    style: {
      [`& .${$o.shortcuts}`]: {
        gridColumn: 3
      }
    }
  }]
}), tw = U("div", {
  name: "MuiPickersLayout",
  slot: "ContentWrapper",
  overridesResolver: (e, t) => t.contentWrapper
})({
  gridColumn: 2,
  gridRow: 2,
  display: "flex",
  flexDirection: "column"
}), pu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiPickersLayout"
  }), {
    toolbar: a,
    content: i,
    tabs: s,
    actionBar: l,
    shortcuts: c
  } = QT(r), {
    sx: u,
    className: p,
    isLandscape: f,
    wrapperVariant: g
  } = r, v = JT(r);
  return /* @__PURE__ */ he(ew, {
    ref: o,
    sx: u,
    className: ce(v.root, p),
    ownerState: r,
    children: [f ? c : a, f ? a : c, /* @__PURE__ */ x(tw, {
      className: v.contentWrapper,
      children: g === "desktop" ? /* @__PURE__ */ he(d.Fragment, {
        children: [i, s]
      }) : /* @__PURE__ */ he(d.Fragment, {
        children: [s, i]
      })
    }), l]
  });
});
process.env.NODE_ENV !== "production" && (pu.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  className: n.string,
  disabled: n.bool,
  isLandscape: n.bool.isRequired,
  /**
   * `true` if the application is in right-to-left direction.
   */
  isRtl: n.bool.isRequired,
  isValid: n.func.isRequired,
  onAccept: n.func.isRequired,
  onCancel: n.func.isRequired,
  onChange: n.func.isRequired,
  onClear: n.func.isRequired,
  onClose: n.func.isRequired,
  onDismiss: n.func.isRequired,
  onOpen: n.func.isRequired,
  onSelectShortcut: n.func.isRequired,
  onSetToday: n.func.isRequired,
  onViewChange: n.func.isRequired,
  /**
   * Force rendering in particular orientation.
   */
  orientation: n.oneOf(["landscape", "portrait"]),
  readOnly: n.bool,
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   * @default {}
   */
  slots: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  value: n.any,
  view: n.oneOf(["day", "hours", "meridiem", "minutes", "month", "seconds", "year"]),
  views: n.arrayOf(n.oneOf(["day", "hours", "meridiem", "minutes", "month", "seconds", "year"]).isRequired).isRequired,
  wrapperVariant: n.oneOf(["desktop", "mobile"])
});
const nw = /* @__PURE__ */ d.createContext(null);
function sg(e) {
  const {
    contextValue: t,
    localeText: o,
    children: r
  } = e;
  return /* @__PURE__ */ x(nw.Provider, {
    value: t,
    children: /* @__PURE__ */ x(Hc, {
      localeText: o,
      children: r
    })
  });
}
const ow = ["props", "getOpenDialogAriaText"], rw = ["ownerState"], aw = ["ownerState"], iw = (e) => {
  var ie;
  let {
    props: t,
    getOpenDialogAriaText: o
  } = e, r = oe(e, ow);
  const {
    slots: a,
    slotProps: i,
    className: s,
    sx: l,
    format: c,
    formatDensity: u,
    enableAccessibleFieldDOMStructure: p,
    selectedSections: f,
    onSelectedSectionsChange: g,
    timezone: v,
    name: b,
    label: h,
    inputRef: y,
    readOnly: C,
    disabled: E,
    autoFocus: w,
    localeText: T,
    reduceAnimations: O
  } = t, P = d.useRef(null), S = d.useRef(null), $ = Mn(), A = ((ie = i == null ? void 0 : i.toolbar) == null ? void 0 : ie.hidden) ?? !1, {
    open: N,
    actions: D,
    hasUIView: V,
    layoutProps: L,
    renderCurrentView: I,
    shouldRestoreFocus: R,
    fieldProps: k,
    contextValue: F,
    ownerState: M
  } = ng(m({}, r, {
    props: t,
    fieldRef: S,
    autoFocusView: !0,
    additionalViewProps: {},
    wrapperVariant: "desktop"
  })), B = a.inputAdornment ?? Zc, j = $e({
    elementType: B,
    externalSlotProps: i == null ? void 0 : i.inputAdornment,
    additionalProps: {
      position: "end"
    },
    ownerState: t
  }), W = oe(j, rw), re = a.openPickerButton ?? mn, J = $e({
    elementType: re,
    externalSlotProps: i == null ? void 0 : i.openPickerButton,
    additionalProps: {
      disabled: E || C,
      onClick: N ? D.onClose : D.onOpen,
      "aria-label": o(k.value),
      edge: W.position
    },
    ownerState: t
  }), Q = oe(J, aw), X = a.openPickerIcon, Y = $e({
    elementType: X,
    externalSlotProps: i == null ? void 0 : i.openPickerIcon,
    ownerState: M
  }), Z = a.field, H = $e({
    elementType: Z,
    externalSlotProps: i == null ? void 0 : i.field,
    additionalProps: m({}, k, A && {
      id: $
    }, {
      readOnly: C,
      disabled: E,
      className: s,
      sx: l,
      format: c,
      formatDensity: u,
      enableAccessibleFieldDOMStructure: p,
      selectedSections: f,
      onSelectedSectionsChange: g,
      timezone: v,
      label: h,
      name: b,
      autoFocus: w && !t.open,
      focused: N ? !0 : void 0
    }, y ? {
      inputRef: y
    } : {}),
    ownerState: t
  });
  V && (H.InputProps = m({}, H.InputProps, {
    ref: P
  }, !t.disableOpenPicker && {
    [`${W.position}Adornment`]: /* @__PURE__ */ x(B, m({}, W, {
      children: /* @__PURE__ */ x(re, m({}, Q, {
        children: /* @__PURE__ */ x(X, m({}, Y))
      }))
    }))
  }));
  const K = m({
    textField: a.textField,
    clearIcon: a.clearIcon,
    clearButton: a.clearButton
  }, H.slots), ne = a.layout ?? pu;
  let ae = $;
  A && (h ? ae = `${$}-label` : ae = void 0);
  const z = m({}, i, {
    toolbar: m({}, i == null ? void 0 : i.toolbar, {
      titleId: $
    }),
    popper: m({
      "aria-labelledby": ae
    }, i == null ? void 0 : i.popper)
  }), q = ze(S, H.unstableFieldRef);
  return {
    renderPicker: () => /* @__PURE__ */ he(sg, {
      contextValue: F,
      localeText: T,
      children: [/* @__PURE__ */ x(Z, m({}, H, {
        slots: K,
        slotProps: z,
        unstableFieldRef: q
      })), /* @__PURE__ */ x(lT, m({
        role: "dialog",
        placement: "bottom-start",
        anchorEl: P.current
      }, D, {
        open: N,
        slots: a,
        slotProps: z,
        shouldRestoreFocus: R,
        reduceAnimations: O,
        children: /* @__PURE__ */ x(ne, m({}, L, z == null ? void 0 : z.layout, {
          slots: a,
          slotProps: z,
          children: I()
        }))
      }))]
    })
  };
}, sw = {
  configure: (e) => {
    process.env.NODE_ENV !== "production" && console.warn(["MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.", "", "You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead", "", "The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401", "", "The updated documentation: https://mui.com/guides/classname-generator/"].join(`
`)), Nc.configure(e);
  }
}, lw = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  capitalize: ee,
  createChainedFunction: Ai,
  createSvgIcon: nt,
  debounce: _r,
  deprecatedPropType: Wv,
  isMuiElement: fr,
  ownerDocument: lt,
  ownerWindow: pn,
  requirePropFactory: Uv,
  setRef: Li,
  unstable_ClassNameGenerator: sw,
  unstable_useEnhancedEffect: gt,
  unstable_useId: Mn,
  unsupportedProp: _c,
  useControlled: Vt,
  useEventCallback: Ce,
  useForkRef: ze,
  useIsFocusVisible: Na
}, Symbol.toStringTag, { value: "Module" })), cw = nt(/* @__PURE__ */ x("path", {
  d: "M7 10l5 5 5-5z"
}), "ArrowDropDown"), uw = nt(/* @__PURE__ */ x("path", {
  d: "M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"
}), "ArrowLeft"), dw = nt(/* @__PURE__ */ x("path", {
  d: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"
}), "ArrowRight"), pw = nt(/* @__PURE__ */ x("path", {
  d: "M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"
}), "Calendar");
nt(/* @__PURE__ */ he(d.Fragment, {
  children: [/* @__PURE__ */ x("path", {
    d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
  }), /* @__PURE__ */ x("path", {
    d: "M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"
  })]
}), "Clock");
nt(/* @__PURE__ */ x("path", {
  d: "M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"
}), "DateRange");
nt(/* @__PURE__ */ he(d.Fragment, {
  children: [/* @__PURE__ */ x("path", {
    d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
  }), /* @__PURE__ */ x("path", {
    d: "M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"
  })]
}), "Time");
const fw = nt(/* @__PURE__ */ x("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"
}), "Clear"), mw = ["onChange", "maxRows", "minRows", "style", "value"];
function ii(e) {
  return parseInt(e, 10) || 0;
}
const hw = {
  shadow: {
    // Visibility needed to hide the extra text area on iPads
    visibility: "hidden",
    // Remove from the content flow
    position: "absolute",
    // Ignore the scrollbar width
    overflow: "hidden",
    height: 0,
    top: 0,
    left: 0,
    // Create a new layer, increase the isolation of the computed values
    transform: "translateZ(0)"
  }
};
function gw(e) {
  for (const t in e)
    return !1;
  return !0;
}
function Kp(e) {
  return gw(e) || e.outerHeightStyle === 0 && !e.overflowing;
}
const lg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const {
    onChange: r,
    maxRows: a,
    minRows: i = 1,
    style: s,
    value: l
  } = t, c = oe(t, mw), {
    current: u
  } = d.useRef(l != null), p = d.useRef(null), f = ze(o, p), g = d.useRef(null), v = d.useRef(null), b = d.useCallback(() => {
    const w = p.current, T = v.current;
    if (!w || !T)
      return;
    const P = pn(w).getComputedStyle(w);
    if (P.width === "0px")
      return {
        outerHeightStyle: 0,
        overflowing: !1
      };
    T.style.width = P.width, T.value = w.value || t.placeholder || "x", T.value.slice(-1) === `
` && (T.value += " ");
    const S = P.boxSizing, $ = ii(P.paddingBottom) + ii(P.paddingTop), A = ii(P.borderBottomWidth) + ii(P.borderTopWidth), N = T.scrollHeight;
    T.value = "x";
    const D = T.scrollHeight;
    let V = N;
    i && (V = Math.max(Number(i) * D, V)), a && (V = Math.min(Number(a) * D, V)), V = Math.max(V, D);
    const L = V + (S === "border-box" ? $ + A : 0), I = Math.abs(V - N) <= 1;
    return {
      outerHeightStyle: L,
      overflowing: I
    };
  }, [a, i, t.placeholder]), h = Ce(() => {
    const w = p.current, T = b();
    if (!w || !T || Kp(T))
      return !1;
    const O = T.outerHeightStyle;
    return g.current != null && g.current !== O;
  }), y = d.useCallback(() => {
    const w = p.current, T = b();
    if (!w || !T || Kp(T))
      return;
    const O = T.outerHeightStyle;
    g.current !== O && (g.current = O, w.style.height = `${O}px`), w.style.overflow = T.overflowing ? "hidden" : "";
  }, [b]), C = d.useRef(-1);
  gt(() => {
    const w = _r(y), T = p == null ? void 0 : p.current;
    if (!T)
      return;
    const O = pn(T);
    O.addEventListener("resize", w);
    let P;
    return typeof ResizeObserver < "u" && (P = new ResizeObserver(() => {
      h() && (P.unobserve(T), cancelAnimationFrame(C.current), y(), C.current = requestAnimationFrame(() => {
        P.observe(T);
      }));
    }), P.observe(T)), () => {
      w.clear(), cancelAnimationFrame(C.current), O.removeEventListener("resize", w), P && P.disconnect();
    };
  }, [b, y, h]), gt(() => {
    y();
  });
  const E = (w) => {
    u || y(), r && r(w);
  };
  return /* @__PURE__ */ he(d.Fragment, {
    children: [/* @__PURE__ */ x("textarea", m({
      value: l,
      onChange: E,
      ref: f,
      rows: i,
      style: s
    }, c)), /* @__PURE__ */ x("textarea", {
      "aria-hidden": !0,
      className: t.className,
      readOnly: !0,
      ref: v,
      tabIndex: -1,
      style: m({}, hw.shadow, s, {
        paddingTop: 0,
        paddingBottom: 0
      })
    })]
  });
});
process.env.NODE_ENV !== "production" && (lg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * @ignore
   */
  className: n.string,
  /**
   * Maximum number of rows to display.
   */
  maxRows: n.oneOfType([n.number, n.string]),
  /**
   * Minimum number of rows to display.
   * @default 1
   */
  minRows: n.oneOfType([n.number, n.string]),
  /**
   * @ignore
   */
  onChange: n.func,
  /**
   * @ignore
   */
  placeholder: n.string,
  /**
   * @ignore
   */
  style: n.object,
  /**
   * @ignore
   */
  value: n.oneOfType([n.arrayOf(n.string), n.number, n.string])
});
function Fr({
  props: e,
  states: t,
  muiFormControl: o
}) {
  return t.reduce((r, a) => (r[a] = e[a], o && typeof e[a] > "u" && (r[a] = o[a]), r), {});
}
function cg(e) {
  return /* @__PURE__ */ x(Dc, m({}, e, {
    defaultTheme: ys,
    themeId: Bo
  }));
}
process.env.NODE_ENV !== "production" && (cg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The styles you want to apply globally.
   */
  styles: n.oneOfType([n.array, n.func, n.number, n.object, n.string, n.bool])
});
function Gp(e) {
  return e != null && !(Array.isArray(e) && e.length === 0);
}
function Gi(e, t = !1) {
  return e && (Gp(e.value) && e.value !== "" || t && Gp(e.defaultValue) && e.defaultValue !== "");
}
function bw(e) {
  return e.startAdornment;
}
function yw(e) {
  return ye("MuiInputBase", e);
}
const Pr = be("MuiInputBase", ["root", "formControl", "focused", "disabled", "adornedStart", "adornedEnd", "error", "sizeSmall", "multiline", "colorSecondary", "fullWidth", "hiddenLabel", "readOnly", "input", "inputSizeSmall", "inputMultiline", "inputTypeSearch", "inputAdornedStart", "inputAdornedEnd", "inputHiddenLabel"]), vw = ["aria-describedby", "autoComplete", "autoFocus", "className", "color", "components", "componentsProps", "defaultValue", "disabled", "disableInjectingGlobalStyles", "endAdornment", "error", "fullWidth", "id", "inputComponent", "inputProps", "inputRef", "margin", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "placeholder", "readOnly", "renderSuffix", "rows", "size", "slotProps", "slots", "startAdornment", "type", "value"], ks = (e, t) => {
  const {
    ownerState: o
  } = e;
  return [t.root, o.formControl && t.formControl, o.startAdornment && t.adornedStart, o.endAdornment && t.adornedEnd, o.error && t.error, o.size === "small" && t.sizeSmall, o.multiline && t.multiline, o.color && t[`color${ee(o.color)}`], o.fullWidth && t.fullWidth, o.hiddenLabel && t.hiddenLabel];
}, Ms = (e, t) => {
  const {
    ownerState: o
  } = e;
  return [t.input, o.size === "small" && t.inputSizeSmall, o.multiline && t.inputMultiline, o.type === "search" && t.inputTypeSearch, o.startAdornment && t.inputAdornedStart, o.endAdornment && t.inputAdornedEnd, o.hiddenLabel && t.inputHiddenLabel];
}, xw = (e) => {
  const {
    classes: t,
    color: o,
    disabled: r,
    error: a,
    endAdornment: i,
    focused: s,
    formControl: l,
    fullWidth: c,
    hiddenLabel: u,
    multiline: p,
    readOnly: f,
    size: g,
    startAdornment: v,
    type: b
  } = e, h = {
    root: ["root", `color${ee(o)}`, r && "disabled", a && "error", c && "fullWidth", s && "focused", l && "formControl", g && g !== "medium" && `size${ee(g)}`, p && "multiline", v && "adornedStart", i && "adornedEnd", u && "hiddenLabel", f && "readOnly"],
    input: ["input", r && "disabled", b === "search" && "inputTypeSearch", p && "inputMultiline", g === "small" && "inputSizeSmall", u && "inputHiddenLabel", v && "inputAdornedStart", i && "inputAdornedEnd", f && "readOnly"]
  };
  return ve(h, yw, t);
}, $s = U("div", {
  name: "MuiInputBase",
  slot: "Root",
  overridesResolver: ks
})(({
  theme: e,
  ownerState: t
}) => m({}, e.typography.body1, {
  color: (e.vars || e).palette.text.primary,
  lineHeight: "1.4375em",
  // 23px
  boxSizing: "border-box",
  // Prevent padding issue with fullWidth.
  position: "relative",
  cursor: "text",
  display: "inline-flex",
  alignItems: "center",
  [`&.${Pr.disabled}`]: {
    color: (e.vars || e).palette.text.disabled,
    cursor: "default"
  }
}, t.multiline && m({
  padding: "4px 0 5px"
}, t.size === "small" && {
  paddingTop: 1
}), t.fullWidth && {
  width: "100%"
})), Ds = U("input", {
  name: "MuiInputBase",
  slot: "Input",
  overridesResolver: Ms
})(({
  theme: e,
  ownerState: t
}) => {
  const o = e.palette.mode === "light", r = m({
    color: "currentColor"
  }, e.vars ? {
    opacity: e.vars.opacity.inputPlaceholder
  } : {
    opacity: o ? 0.42 : 0.5
  }, {
    transition: e.transitions.create("opacity", {
      duration: e.transitions.duration.shorter
    })
  }), a = {
    opacity: "0 !important"
  }, i = e.vars ? {
    opacity: e.vars.opacity.inputPlaceholder
  } : {
    opacity: o ? 0.42 : 0.5
  };
  return m({
    font: "inherit",
    letterSpacing: "inherit",
    color: "currentColor",
    padding: "4px 0 5px",
    border: 0,
    boxSizing: "content-box",
    background: "none",
    height: "1.4375em",
    // Reset 23pxthe native input line-height
    margin: 0,
    // Reset for Safari
    WebkitTapHighlightColor: "transparent",
    display: "block",
    // Make the flex item shrink with Firefox
    minWidth: 0,
    width: "100%",
    // Fix IE11 width issue
    animationName: "mui-auto-fill-cancel",
    animationDuration: "10ms",
    "&::-webkit-input-placeholder": r,
    "&::-moz-placeholder": r,
    // Firefox 19+
    "&:-ms-input-placeholder": r,
    // IE11
    "&::-ms-input-placeholder": r,
    // Edge
    "&:focus": {
      outline: 0
    },
    // Reset Firefox invalid required input style
    "&:invalid": {
      boxShadow: "none"
    },
    "&::-webkit-search-decoration": {
      // Remove the padding when type=search.
      WebkitAppearance: "none"
    },
    // Show and hide the placeholder logic
    [`label[data-shrink=false] + .${Pr.formControl} &`]: {
      "&::-webkit-input-placeholder": a,
      "&::-moz-placeholder": a,
      // Firefox 19+
      "&:-ms-input-placeholder": a,
      // IE11
      "&::-ms-input-placeholder": a,
      // Edge
      "&:focus::-webkit-input-placeholder": i,
      "&:focus::-moz-placeholder": i,
      // Firefox 19+
      "&:focus:-ms-input-placeholder": i,
      // IE11
      "&:focus::-ms-input-placeholder": i
      // Edge
    },
    [`&.${Pr.disabled}`]: {
      opacity: 1,
      // Reset iOS opacity
      WebkitTextFillColor: (e.vars || e).palette.text.disabled
      // Fix opacity Safari bug
    },
    "&:-webkit-autofill": {
      animationDuration: "5000s",
      animationName: "mui-auto-fill"
    }
  }, t.size === "small" && {
    paddingTop: 1
  }, t.multiline && {
    height: "auto",
    resize: "none",
    padding: 0,
    paddingTop: 0
  }, t.type === "search" && {
    // Improve type search style.
    MozAppearance: "textfield"
  });
}), Cw = /* @__PURE__ */ x(cg, {
  styles: {
    "@keyframes mui-auto-fill": {
      from: {
        display: "block"
      }
    },
    "@keyframes mui-auto-fill-cancel": {
      from: {
        display: "block"
      }
    }
  }
}), Is = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r;
  const a = Ee({
    props: t,
    name: "MuiInputBase"
  }), {
    "aria-describedby": i,
    autoComplete: s,
    autoFocus: l,
    className: c,
    components: u = {},
    componentsProps: p = {},
    defaultValue: f,
    disabled: g,
    disableInjectingGlobalStyles: v,
    endAdornment: b,
    fullWidth: h = !1,
    id: y,
    inputComponent: C = "input",
    inputProps: E = {},
    inputRef: w,
    maxRows: T,
    minRows: O,
    multiline: P = !1,
    name: S,
    onBlur: $,
    onChange: A,
    onClick: N,
    onFocus: D,
    onKeyDown: V,
    onKeyUp: L,
    placeholder: I,
    readOnly: R,
    renderSuffix: k,
    rows: F,
    slotProps: M = {},
    slots: B = {},
    startAdornment: j,
    type: W = "text",
    value: re
  } = a, J = oe(a, vw), Q = E.value != null ? E.value : re, {
    current: X
  } = d.useRef(Q != null), Y = d.useRef(), Z = d.useCallback((ue) => {
    process.env.NODE_ENV !== "production" && ue && ue.nodeName !== "INPUT" && !ue.focus && console.error(["MUI: You have provided a `inputComponent` to the input component", "that does not correctly handle the `ref` prop.", "Make sure the `ref` prop is called with a HTMLInputElement."].join(`
`));
  }, []), H = ze(Y, w, E.ref, Z), [K, ne] = d.useState(!1), ae = xn();
  process.env.NODE_ENV !== "production" && d.useEffect(() => {
    if (ae)
      return ae.registerEffect();
  }, [ae]);
  const z = Fr({
    props: a,
    muiFormControl: ae,
    states: ["color", "disabled", "error", "hiddenLabel", "size", "required", "filled"]
  });
  z.focused = ae ? ae.focused : K, d.useEffect(() => {
    !ae && g && K && (ne(!1), $ && $());
  }, [ae, g, K, $]);
  const q = ae && ae.onFilled, te = ae && ae.onEmpty, ie = d.useCallback((ue) => {
    Gi(ue) ? q && q() : te && te();
  }, [q, te]);
  gt(() => {
    X && ie({
      value: Q
    });
  }, [Q, ie, X]);
  const de = (ue) => {
    if (z.disabled) {
      ue.stopPropagation();
      return;
    }
    D && D(ue), E.onFocus && E.onFocus(ue), ae && ae.onFocus ? ae.onFocus(ue) : ne(!0);
  }, ge = (ue) => {
    $ && $(ue), E.onBlur && E.onBlur(ue), ae && ae.onBlur ? ae.onBlur(ue) : ne(!1);
  }, fe = (ue, ...le) => {
    if (!X) {
      const xe = ue.target || Y.current;
      if (xe == null)
        throw new Error(process.env.NODE_ENV !== "production" ? "MUI: Expected valid input target. Did you use a custom `inputComponent` and forget to forward refs? See https://mui.com/r/input-component-ref-interface for more info." : Gn(1));
      ie({
        value: xe.value
      });
    }
    E.onChange && E.onChange(ue, ...le), A && A(ue, ...le);
  };
  d.useEffect(() => {
    ie(Y.current);
  }, []);
  const Oe = (ue) => {
    Y.current && ue.currentTarget === ue.target && Y.current.focus(), N && N(ue);
  };
  let Te = C, Re = E;
  P && Te === "input" && (F ? (process.env.NODE_ENV !== "production" && (O || T) && console.warn("MUI: You can not use the `minRows` or `maxRows` props when the input `rows` prop is set."), Re = m({
    type: void 0,
    minRows: F,
    maxRows: F
  }, Re)) : Re = m({
    type: void 0,
    maxRows: T,
    minRows: O
  }, Re), Te = lg);
  const Be = (ue) => {
    ie(ue.animationName === "mui-auto-fill-cancel" ? Y.current : {
      value: "x"
    });
  };
  d.useEffect(() => {
    ae && ae.setAdornedStart(!!j);
  }, [ae, j]);
  const je = m({}, a, {
    color: z.color || "primary",
    disabled: z.disabled,
    endAdornment: b,
    error: z.error,
    focused: z.focused,
    formControl: ae,
    fullWidth: h,
    hiddenLabel: z.hiddenLabel,
    multiline: P,
    size: z.size,
    startAdornment: j,
    type: W
  }), Fe = xw(je), et = B.root || u.Root || $s, ct = M.root || p.root || {}, ot = B.input || u.Input || Ds;
  return Re = m({}, Re, (r = M.input) != null ? r : p.input), /* @__PURE__ */ he(d.Fragment, {
    children: [!v && Cw, /* @__PURE__ */ he(et, m({}, ct, !Fn(et) && {
      ownerState: m({}, je, ct.ownerState)
    }, {
      ref: o,
      onClick: Oe
    }, J, {
      className: ce(Fe.root, ct.className, c, R && "MuiInputBase-readOnly"),
      children: [j, /* @__PURE__ */ x(La.Provider, {
        value: null,
        children: /* @__PURE__ */ x(ot, m({
          ownerState: je,
          "aria-invalid": z.error,
          "aria-describedby": i,
          autoComplete: s,
          autoFocus: l,
          defaultValue: f,
          disabled: z.disabled,
          id: y,
          onAnimationStart: Be,
          name: S,
          placeholder: I,
          readOnly: R,
          required: z.required,
          rows: F,
          value: Q,
          onKeyDown: V,
          onKeyUp: L,
          type: W
        }, Re, !Fn(ot) && {
          as: Te,
          ownerState: m({}, je, Re.ownerState)
        }, {
          ref: H,
          className: ce(Fe.input, Re.className, R && "MuiInputBase-readOnly"),
          onBlur: ge,
          onChange: fe,
          onFocus: de
        }))
      }), b, k ? k(m({}, z, {
        startAdornment: j
      })) : null]
    }))]
  });
});
process.env.NODE_ENV !== "production" && (Is.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * @ignore
   */
  "aria-describedby": n.string,
  /**
   * This prop helps users to fill forms faster, especially on mobile devices.
   * The name can be confusing, as it's more like an autofill.
   * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
   */
  autoComplete: n.string,
  /**
   * If `true`, the `input` element is focused during the first mount.
   */
  autoFocus: n.bool,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
   */
  color: n.oneOfType([n.oneOf(["primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `slots` prop.
   * It's recommended to use the `slots` prop instead.
   *
   * @default {}
   */
  components: n.shape({
    Input: n.elementType,
    Root: n.elementType
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `slotProps` prop.
   * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
   *
   * @default {}
   */
  componentsProps: n.shape({
    input: n.object,
    root: n.object
  }),
  /**
   * The default value. Use when the component is not controlled.
   */
  defaultValue: n.any,
  /**
   * If `true`, the component is disabled.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  disabled: n.bool,
  /**
   * If `true`, GlobalStyles for the auto-fill keyframes will not be injected/removed on mount/unmount. Make sure to inject them at the top of your application.
   * This option is intended to help with boosting the initial rendering performance if you are loading a big amount of Input components at once.
   * @default false
   */
  disableInjectingGlobalStyles: n.bool,
  /**
   * End `InputAdornment` for this component.
   */
  endAdornment: n.node,
  /**
   * If `true`, the `input` will indicate an error.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  error: n.bool,
  /**
   * If `true`, the `input` will take up the full width of its container.
   * @default false
   */
  fullWidth: n.bool,
  /**
   * The id of the `input` element.
   */
  id: n.string,
  /**
   * The component used for the `input` element.
   * Either a string to use a HTML element or a component.
   * @default 'input'
   */
  inputComponent: Nr,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   * @default {}
   */
  inputProps: n.object,
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * If `dense`, will adjust vertical spacing. This is normally obtained via context from
   * FormControl.
   * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
   */
  margin: n.oneOf(["dense", "none"]),
  /**
   * Maximum number of rows to display when multiline option is set to true.
   */
  maxRows: n.oneOfType([n.number, n.string]),
  /**
   * Minimum number of rows to display when multiline option is set to true.
   */
  minRows: n.oneOfType([n.number, n.string]),
  /**
   * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.
   * @default false
   */
  multiline: n.bool,
  /**
   * Name attribute of the `input` element.
   */
  name: n.string,
  /**
   * Callback fired when the `input` is blurred.
   *
   * Notice that the first argument (event) might be undefined.
   */
  onBlur: n.func,
  /**
   * Callback fired when the value is changed.
   *
   * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (string).
   */
  onChange: n.func,
  /**
   * @ignore
   */
  onClick: n.func,
  /**
   * @ignore
   */
  onFocus: n.func,
  /**
   * Callback fired when the `input` doesn't satisfy its constraints.
   */
  onInvalid: n.func,
  /**
   * @ignore
   */
  onKeyDown: n.func,
  /**
   * @ignore
   */
  onKeyUp: n.func,
  /**
   * The short hint displayed in the `input` before the user enters a value.
   */
  placeholder: n.string,
  /**
   * It prevents the user from changing the value of the field
   * (not from interacting with the field).
   */
  readOnly: n.bool,
  /**
   * @ignore
   */
  renderSuffix: n.func,
  /**
   * If `true`, the `input` element is required.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  required: n.bool,
  /**
   * Number of rows to display when multiline option is set to true.
   */
  rows: n.oneOfType([n.number, n.string]),
  /**
   * The size of the component.
   */
  size: n.oneOfType([n.oneOf(["medium", "small"]), n.string]),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slotProps: n.shape({
    input: n.object,
    root: n.object
  }),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `components` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slots: n.shape({
    input: n.elementType,
    root: n.elementType
  }),
  /**
   * Start `InputAdornment` for this component.
   */
  startAdornment: n.node,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
   * @default 'text'
   */
  type: n.string,
  /**
   * The value of the `input` element, required for a controlled component.
   */
  value: n.any
});
function Tw(e) {
  return ye("MuiInput", e);
}
const Zr = m({}, Pr, be("MuiInput", ["root", "underline", "input"])), ww = ["disableUnderline", "components", "componentsProps", "fullWidth", "inputComponent", "multiline", "slotProps", "slots", "type"], Ow = (e) => {
  const {
    classes: t,
    disableUnderline: o
  } = e, a = ve({
    root: ["root", !o && "underline"],
    input: ["input"]
  }, Tw, t);
  return m({}, t, a);
}, Ew = U($s, {
  shouldForwardProp: (e) => _t(e) || e === "classes",
  name: "MuiInput",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [...ks(e, t), !o.disableUnderline && t.underline];
  }
})(({
  theme: e,
  ownerState: t
}) => {
  let r = e.palette.mode === "light" ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)";
  return e.vars && (r = `rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`), m({
    position: "relative"
  }, t.formControl && {
    "label + &": {
      marginTop: 16
    }
  }, !t.disableUnderline && {
    "&::after": {
      borderBottom: `2px solid ${(e.vars || e).palette[t.color].main}`,
      left: 0,
      bottom: 0,
      // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
      content: '""',
      position: "absolute",
      right: 0,
      transform: "scaleX(0)",
      transition: e.transitions.create("transform", {
        duration: e.transitions.duration.shorter,
        easing: e.transitions.easing.easeOut
      }),
      pointerEvents: "none"
      // Transparent to the hover style.
    },
    [`&.${Zr.focused}:after`]: {
      // translateX(0) is a workaround for Safari transform scale bug
      // See https://github.com/mui/material-ui/issues/31766
      transform: "scaleX(1) translateX(0)"
    },
    [`&.${Zr.error}`]: {
      "&::before, &::after": {
        borderBottomColor: (e.vars || e).palette.error.main
      }
    },
    "&::before": {
      borderBottom: `1px solid ${r}`,
      left: 0,
      bottom: 0,
      // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
      content: '"\\00a0"',
      position: "absolute",
      right: 0,
      transition: e.transitions.create("border-bottom-color", {
        duration: e.transitions.duration.shorter
      }),
      pointerEvents: "none"
      // Transparent to the hover style.
    },
    [`&:hover:not(.${Zr.disabled}, .${Zr.error}):before`]: {
      borderBottom: `2px solid ${(e.vars || e).palette.text.primary}`,
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        borderBottom: `1px solid ${r}`
      }
    },
    [`&.${Zr.disabled}:before`]: {
      borderBottomStyle: "dotted"
    }
  });
}), Sw = U(Ds, {
  name: "MuiInput",
  slot: "Input",
  overridesResolver: Ms
})({}), Ns = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a, i, s;
  const l = Ee({
    props: t,
    name: "MuiInput"
  }), {
    disableUnderline: c,
    components: u = {},
    componentsProps: p,
    fullWidth: f = !1,
    inputComponent: g = "input",
    multiline: v = !1,
    slotProps: b,
    slots: h = {},
    type: y = "text"
  } = l, C = oe(l, ww), E = Ow(l), T = {
    root: {
      ownerState: {
        disableUnderline: c
      }
    }
  }, O = b ?? p ? Qt(b ?? p, T) : T, P = (r = (a = h.root) != null ? a : u.Root) != null ? r : Ew, S = (i = (s = h.input) != null ? s : u.Input) != null ? i : Sw;
  return /* @__PURE__ */ x(Is, m({
    slots: {
      root: P,
      input: S
    },
    slotProps: O,
    fullWidth: f,
    inputComponent: g,
    multiline: v,
    ref: o,
    type: y
  }, C, {
    classes: E
  }));
});
process.env.NODE_ENV !== "production" && (Ns.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * This prop helps users to fill forms faster, especially on mobile devices.
   * The name can be confusing, as it's more like an autofill.
   * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
   */
  autoComplete: n.string,
  /**
   * If `true`, the `input` element is focused during the first mount.
   */
  autoFocus: n.bool,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * 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).
   * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
   */
  color: n.oneOfType([n.oneOf(["primary", "secondary"]), n.string]),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `slots` prop.
   * It's recommended to use the `slots` prop instead.
   *
   * @default {}
   */
  components: n.shape({
    Input: n.elementType,
    Root: n.elementType
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `slotProps` prop.
   * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
   *
   * @default {}
   */
  componentsProps: n.shape({
    input: n.object,
    root: n.object
  }),
  /**
   * The default value. Use when the component is not controlled.
   */
  defaultValue: n.any,
  /**
   * If `true`, the component is disabled.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  disabled: n.bool,
  /**
   * If `true`, the `input` will not have an underline.
   */
  disableUnderline: n.bool,
  /**
   * End `InputAdornment` for this component.
   */
  endAdornment: n.node,
  /**
   * If `true`, the `input` will indicate an error.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  error: n.bool,
  /**
   * If `true`, the `input` will take up the full width of its container.
   * @default false
   */
  fullWidth: n.bool,
  /**
   * The id of the `input` element.
   */
  id: n.string,
  /**
   * The component used for the `input` element.
   * Either a string to use a HTML element or a component.
   * @default 'input'
   */
  inputComponent: n.elementType,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   * @default {}
   */
  inputProps: n.object,
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * If `dense`, will adjust vertical spacing. This is normally obtained via context from
   * FormControl.
   * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
   */
  margin: n.oneOf(["dense", "none"]),
  /**
   * Maximum number of rows to display when multiline option is set to true.
   */
  maxRows: n.oneOfType([n.number, n.string]),
  /**
   * Minimum number of rows to display when multiline option is set to true.
   */
  minRows: n.oneOfType([n.number, n.string]),
  /**
   * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.
   * @default false
   */
  multiline: n.bool,
  /**
   * Name attribute of the `input` element.
   */
  name: n.string,
  /**
   * Callback fired when the value is changed.
   *
   * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (string).
   */
  onChange: n.func,
  /**
   * The short hint displayed in the `input` before the user enters a value.
   */
  placeholder: n.string,
  /**
   * It prevents the user from changing the value of the field
   * (not from interacting with the field).
   */
  readOnly: n.bool,
  /**
   * If `true`, the `input` element is required.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  required: n.bool,
  /**
   * Number of rows to display when multiline option is set to true.
   */
  rows: n.oneOfType([n.number, n.string]),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slotProps: n.shape({
    input: n.object,
    root: n.object
  }),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `components` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slots: n.shape({
    input: n.elementType,
    root: n.elementType
  }),
  /**
   * Start `InputAdornment` for this component.
   */
  startAdornment: n.node,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
   * @default 'text'
   */
  type: n.string,
  /**
   * The value of the `input` element, required for a controlled component.
   */
  value: n.any
});
Ns.muiName = "Input";
function Pw(e) {
  return ye("MuiFilledInput", e);
}
const Do = m({}, Pr, be("MuiFilledInput", ["root", "underline", "input"])), Rw = ["disableUnderline", "components", "componentsProps", "fullWidth", "hiddenLabel", "inputComponent", "multiline", "slotProps", "slots", "type"], kw = (e) => {
  const {
    classes: t,
    disableUnderline: o
  } = e, a = ve({
    root: ["root", !o && "underline"],
    input: ["input"]
  }, Pw, t);
  return m({}, t, a);
}, Mw = U($s, {
  shouldForwardProp: (e) => _t(e) || e === "classes",
  name: "MuiFilledInput",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [...ks(e, t), !o.disableUnderline && t.underline];
  }
})(({
  theme: e,
  ownerState: t
}) => {
  var o;
  const r = e.palette.mode === "light", a = r ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)", i = r ? "rgba(0, 0, 0, 0.06)" : "rgba(255, 255, 255, 0.09)", s = r ? "rgba(0, 0, 0, 0.09)" : "rgba(255, 255, 255, 0.13)", l = r ? "rgba(0, 0, 0, 0.12)" : "rgba(255, 255, 255, 0.12)";
  return m({
    position: "relative",
    backgroundColor: e.vars ? e.vars.palette.FilledInput.bg : i,
    borderTopLeftRadius: (e.vars || e).shape.borderRadius,
    borderTopRightRadius: (e.vars || e).shape.borderRadius,
    transition: e.transitions.create("background-color", {
      duration: e.transitions.duration.shorter,
      easing: e.transitions.easing.easeOut
    }),
    "&:hover": {
      backgroundColor: e.vars ? e.vars.palette.FilledInput.hoverBg : s,
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        backgroundColor: e.vars ? e.vars.palette.FilledInput.bg : i
      }
    },
    [`&.${Do.focused}`]: {
      backgroundColor: e.vars ? e.vars.palette.FilledInput.bg : i
    },
    [`&.${Do.disabled}`]: {
      backgroundColor: e.vars ? e.vars.palette.FilledInput.disabledBg : l
    }
  }, !t.disableUnderline && {
    "&::after": {
      borderBottom: `2px solid ${(o = (e.vars || e).palette[t.color || "primary"]) == null ? void 0 : o.main}`,
      left: 0,
      bottom: 0,
      // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
      content: '""',
      position: "absolute",
      right: 0,
      transform: "scaleX(0)",
      transition: e.transitions.create("transform", {
        duration: e.transitions.duration.shorter,
        easing: e.transitions.easing.easeOut
      }),
      pointerEvents: "none"
      // Transparent to the hover style.
    },
    [`&.${Do.focused}:after`]: {
      // translateX(0) is a workaround for Safari transform scale bug
      // See https://github.com/mui/material-ui/issues/31766
      transform: "scaleX(1) translateX(0)"
    },
    [`&.${Do.error}`]: {
      "&::before, &::after": {
        borderBottomColor: (e.vars || e).palette.error.main
      }
    },
    "&::before": {
      borderBottom: `1px solid ${e.vars ? `rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})` : a}`,
      left: 0,
      bottom: 0,
      // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
      content: '"\\00a0"',
      position: "absolute",
      right: 0,
      transition: e.transitions.create("border-bottom-color", {
        duration: e.transitions.duration.shorter
      }),
      pointerEvents: "none"
      // Transparent to the hover style.
    },
    [`&:hover:not(.${Do.disabled}, .${Do.error}):before`]: {
      borderBottom: `1px solid ${(e.vars || e).palette.text.primary}`
    },
    [`&.${Do.disabled}:before`]: {
      borderBottomStyle: "dotted"
    }
  }, t.startAdornment && {
    paddingLeft: 12
  }, t.endAdornment && {
    paddingRight: 12
  }, t.multiline && m({
    padding: "25px 12px 8px"
  }, t.size === "small" && {
    paddingTop: 21,
    paddingBottom: 4
  }, t.hiddenLabel && {
    paddingTop: 16,
    paddingBottom: 17
  }, t.hiddenLabel && t.size === "small" && {
    paddingTop: 8,
    paddingBottom: 9
  }));
}), $w = U(Ds, {
  name: "MuiFilledInput",
  slot: "Input",
  overridesResolver: Ms
})(({
  theme: e,
  ownerState: t
}) => m({
  paddingTop: 25,
  paddingRight: 12,
  paddingBottom: 8,
  paddingLeft: 12
}, !e.vars && {
  "&:-webkit-autofill": {
    WebkitBoxShadow: e.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
    WebkitTextFillColor: e.palette.mode === "light" ? null : "#fff",
    caretColor: e.palette.mode === "light" ? null : "#fff",
    borderTopLeftRadius: "inherit",
    borderTopRightRadius: "inherit"
  }
}, e.vars && {
  "&:-webkit-autofill": {
    borderTopLeftRadius: "inherit",
    borderTopRightRadius: "inherit"
  },
  [e.getColorSchemeSelector("dark")]: {
    "&:-webkit-autofill": {
      WebkitBoxShadow: "0 0 0 100px #266798 inset",
      WebkitTextFillColor: "#fff",
      caretColor: "#fff"
    }
  }
}, t.size === "small" && {
  paddingTop: 21,
  paddingBottom: 4
}, t.hiddenLabel && {
  paddingTop: 16,
  paddingBottom: 17
}, t.startAdornment && {
  paddingLeft: 0
}, t.endAdornment && {
  paddingRight: 0
}, t.hiddenLabel && t.size === "small" && {
  paddingTop: 8,
  paddingBottom: 9
}, t.multiline && {
  paddingTop: 0,
  paddingBottom: 0,
  paddingLeft: 0,
  paddingRight: 0
})), _s = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a, i, s;
  const l = Ee({
    props: t,
    name: "MuiFilledInput"
  }), {
    components: c = {},
    componentsProps: u,
    fullWidth: p = !1,
    // declare here to prevent spreading to DOM
    inputComponent: f = "input",
    multiline: g = !1,
    slotProps: v,
    slots: b = {},
    type: h = "text"
  } = l, y = oe(l, Rw), C = m({}, l, {
    fullWidth: p,
    inputComponent: f,
    multiline: g,
    type: h
  }), E = kw(l), w = {
    root: {
      ownerState: C
    },
    input: {
      ownerState: C
    }
  }, T = v ?? u ? Qt(w, v ?? u) : w, O = (r = (a = b.root) != null ? a : c.Root) != null ? r : Mw, P = (i = (s = b.input) != null ? s : c.Input) != null ? i : $w;
  return /* @__PURE__ */ x(Is, m({
    slots: {
      root: O,
      input: P
    },
    componentsProps: T,
    fullWidth: p,
    inputComponent: f,
    multiline: g,
    ref: o,
    type: h
  }, y, {
    classes: E
  }));
});
process.env.NODE_ENV !== "production" && (_s.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * This prop helps users to fill forms faster, especially on mobile devices.
   * The name can be confusing, as it's more like an autofill.
   * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
   */
  autoComplete: n.string,
  /**
   * If `true`, the `input` element is focused during the first mount.
   */
  autoFocus: n.bool,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * 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).
   * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
   */
  color: n.oneOfType([n.oneOf(["primary", "secondary"]), n.string]),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `slots` prop.
   * It's recommended to use the `slots` prop instead.
   *
   * @default {}
   */
  components: n.shape({
    Input: n.elementType,
    Root: n.elementType
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `slotProps` prop.
   * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
   *
   * @default {}
   */
  componentsProps: n.shape({
    input: n.object,
    root: n.object
  }),
  /**
   * The default value. Use when the component is not controlled.
   */
  defaultValue: n.any,
  /**
   * If `true`, the component is disabled.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  disabled: n.bool,
  /**
   * If `true`, the input will not have an underline.
   */
  disableUnderline: n.bool,
  /**
   * End `InputAdornment` for this component.
   */
  endAdornment: n.node,
  /**
   * If `true`, the `input` will indicate an error.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  error: n.bool,
  /**
   * If `true`, the `input` will take up the full width of its container.
   * @default false
   */
  fullWidth: n.bool,
  /**
   * If `true`, the label is hidden.
   * This is used to increase density for a `FilledInput`.
   * Be sure to add `aria-label` to the `input` element.
   * @default false
   */
  hiddenLabel: n.bool,
  /**
   * The id of the `input` element.
   */
  id: n.string,
  /**
   * The component used for the `input` element.
   * Either a string to use a HTML element or a component.
   * @default 'input'
   */
  inputComponent: n.elementType,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   * @default {}
   */
  inputProps: n.object,
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * If `dense`, will adjust vertical spacing. This is normally obtained via context from
   * FormControl.
   * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
   */
  margin: n.oneOf(["dense", "none"]),
  /**
   * Maximum number of rows to display when multiline option is set to true.
   */
  maxRows: n.oneOfType([n.number, n.string]),
  /**
   * Minimum number of rows to display when multiline option is set to true.
   */
  minRows: n.oneOfType([n.number, n.string]),
  /**
   * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.
   * @default false
   */
  multiline: n.bool,
  /**
   * Name attribute of the `input` element.
   */
  name: n.string,
  /**
   * Callback fired when the value is changed.
   *
   * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (string).
   */
  onChange: n.func,
  /**
   * The short hint displayed in the `input` before the user enters a value.
   */
  placeholder: n.string,
  /**
   * It prevents the user from changing the value of the field
   * (not from interacting with the field).
   */
  readOnly: n.bool,
  /**
   * If `true`, the `input` element is required.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  required: n.bool,
  /**
   * Number of rows to display when multiline option is set to true.
   */
  rows: n.oneOfType([n.number, n.string]),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slotProps: n.shape({
    input: n.object,
    root: n.object
  }),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `components` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slots: n.shape({
    input: n.elementType,
    root: n.elementType
  }),
  /**
   * Start `InputAdornment` for this component.
   */
  startAdornment: n.node,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
   * @default 'text'
   */
  type: n.string,
  /**
   * The value of the `input` element, required for a controlled component.
   */
  value: n.any
});
_s.muiName = "Input";
var Xp;
const Dw = ["children", "classes", "className", "label", "notched"], Iw = U("fieldset", {
  name: "MuiNotchedOutlined",
  shouldForwardProp: _t
})({
  textAlign: "left",
  position: "absolute",
  bottom: 0,
  right: 0,
  top: -5,
  left: 0,
  margin: 0,
  padding: "0 8px",
  pointerEvents: "none",
  borderRadius: "inherit",
  borderStyle: "solid",
  borderWidth: 1,
  overflow: "hidden",
  minWidth: "0%"
}), Nw = U("legend", {
  name: "MuiNotchedOutlined",
  shouldForwardProp: _t
})(({
  ownerState: e,
  theme: t
}) => m({
  float: "unset",
  // Fix conflict with bootstrap
  width: "auto",
  // Fix conflict with bootstrap
  overflow: "hidden"
}, !e.withLabel && {
  padding: 0,
  lineHeight: "11px",
  // sync with `height` in `legend` styles
  transition: t.transitions.create("width", {
    duration: 150,
    easing: t.transitions.easing.easeOut
  })
}, e.withLabel && m({
  display: "block",
  // Fix conflict with normalize.css and sanitize.css
  padding: 0,
  height: 11,
  // sync with `lineHeight` in `legend` styles
  fontSize: "0.75em",
  visibility: "hidden",
  maxWidth: 0.01,
  transition: t.transitions.create("max-width", {
    duration: 50,
    easing: t.transitions.easing.easeOut
  }),
  whiteSpace: "nowrap",
  "& > span": {
    paddingLeft: 5,
    paddingRight: 5,
    display: "inline-block",
    opacity: 0,
    visibility: "visible"
  }
}, e.notched && {
  maxWidth: "100%",
  transition: t.transitions.create("max-width", {
    duration: 100,
    easing: t.transitions.easing.easeOut,
    delay: 50
  })
})));
function ug(e) {
  const {
    className: t,
    label: o,
    notched: r
  } = e, a = oe(e, Dw), i = o != null && o !== "", s = m({}, e, {
    notched: r,
    withLabel: i
  });
  return /* @__PURE__ */ x(Iw, m({
    "aria-hidden": !0,
    className: t,
    ownerState: s
  }, a, {
    children: /* @__PURE__ */ x(Nw, {
      ownerState: s,
      children: i ? /* @__PURE__ */ x("span", {
        children: o
      }) : (
        // notranslate needed while Google Translate will not fix zero-width space issue
        Xp || (Xp = /* @__PURE__ */ x("span", {
          className: "notranslate",
          children: "​"
        }))
      )
    })
  }));
}
process.env.NODE_ENV !== "production" && (ug.propTypes = {
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The label.
   */
  label: n.node,
  /**
   * If `true`, the outline is notched to accommodate the label.
   */
  notched: n.bool.isRequired,
  /**
   * @ignore
   */
  style: n.object
});
function _w(e) {
  return ye("MuiOutlinedInput", e);
}
const co = m({}, Pr, be("MuiOutlinedInput", ["root", "notchedOutline", "input"])), Aw = ["components", "fullWidth", "inputComponent", "label", "multiline", "notched", "slots", "type"], Lw = (e) => {
  const {
    classes: t
  } = e, r = ve({
    root: ["root"],
    notchedOutline: ["notchedOutline"],
    input: ["input"]
  }, _w, t);
  return m({}, t, r);
}, Fw = U($s, {
  shouldForwardProp: (e) => _t(e) || e === "classes",
  name: "MuiOutlinedInput",
  slot: "Root",
  overridesResolver: ks
})(({
  theme: e,
  ownerState: t
}) => {
  const o = e.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
  return m({
    position: "relative",
    borderRadius: (e.vars || e).shape.borderRadius,
    [`&:hover .${co.notchedOutline}`]: {
      borderColor: (e.vars || e).palette.text.primary
    },
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      [`&:hover .${co.notchedOutline}`]: {
        borderColor: e.vars ? `rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)` : o
      }
    },
    [`&.${co.focused} .${co.notchedOutline}`]: {
      borderColor: (e.vars || e).palette[t.color].main,
      borderWidth: 2
    },
    [`&.${co.error} .${co.notchedOutline}`]: {
      borderColor: (e.vars || e).palette.error.main
    },
    [`&.${co.disabled} .${co.notchedOutline}`]: {
      borderColor: (e.vars || e).palette.action.disabled
    }
  }, t.startAdornment && {
    paddingLeft: 14
  }, t.endAdornment && {
    paddingRight: 14
  }, t.multiline && m({
    padding: "16.5px 14px"
  }, t.size === "small" && {
    padding: "8.5px 14px"
  }));
}), jw = U(ug, {
  name: "MuiOutlinedInput",
  slot: "NotchedOutline",
  overridesResolver: (e, t) => t.notchedOutline
})(({
  theme: e
}) => {
  const t = e.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
  return {
    borderColor: e.vars ? `rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)` : t
  };
}), Vw = U(Ds, {
  name: "MuiOutlinedInput",
  slot: "Input",
  overridesResolver: Ms
})(({
  theme: e,
  ownerState: t
}) => m({
  padding: "16.5px 14px"
}, !e.vars && {
  "&:-webkit-autofill": {
    WebkitBoxShadow: e.palette.mode === "light" ? null : "0 0 0 100px #266798 inset",
    WebkitTextFillColor: e.palette.mode === "light" ? null : "#fff",
    caretColor: e.palette.mode === "light" ? null : "#fff",
    borderRadius: "inherit"
  }
}, e.vars && {
  "&:-webkit-autofill": {
    borderRadius: "inherit"
  },
  [e.getColorSchemeSelector("dark")]: {
    "&:-webkit-autofill": {
      WebkitBoxShadow: "0 0 0 100px #266798 inset",
      WebkitTextFillColor: "#fff",
      caretColor: "#fff"
    }
  }
}, t.size === "small" && {
  padding: "8.5px 14px"
}, t.multiline && {
  padding: 0
}, t.startAdornment && {
  paddingLeft: 0
}, t.endAdornment && {
  paddingRight: 0
})), As = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a, i, s, l;
  const c = Ee({
    props: t,
    name: "MuiOutlinedInput"
  }), {
    components: u = {},
    fullWidth: p = !1,
    inputComponent: f = "input",
    label: g,
    multiline: v = !1,
    notched: b,
    slots: h = {},
    type: y = "text"
  } = c, C = oe(c, Aw), E = Lw(c), w = xn(), T = Fr({
    props: c,
    muiFormControl: w,
    states: ["color", "disabled", "error", "focused", "hiddenLabel", "size", "required"]
  }), O = m({}, c, {
    color: T.color || "primary",
    disabled: T.disabled,
    error: T.error,
    focused: T.focused,
    formControl: w,
    fullWidth: p,
    hiddenLabel: T.hiddenLabel,
    multiline: v,
    size: T.size,
    type: y
  }), P = (r = (a = h.root) != null ? a : u.Root) != null ? r : Fw, S = (i = (s = h.input) != null ? s : u.Input) != null ? i : Vw;
  return /* @__PURE__ */ x(Is, m({
    slots: {
      root: P,
      input: S
    },
    renderSuffix: ($) => /* @__PURE__ */ x(jw, {
      ownerState: O,
      className: E.notchedOutline,
      label: g != null && g !== "" && T.required ? l || (l = /* @__PURE__ */ he(d.Fragment, {
        children: [g, " ", "*"]
      })) : g,
      notched: typeof b < "u" ? b : !!($.startAdornment || $.filled || $.focused)
    }),
    fullWidth: p,
    inputComponent: f,
    multiline: v,
    ref: o,
    type: y
  }, C, {
    classes: m({}, E, {
      notchedOutline: null
    })
  }));
});
process.env.NODE_ENV !== "production" && (As.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * This prop helps users to fill forms faster, especially on mobile devices.
   * The name can be confusing, as it's more like an autofill.
   * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
   */
  autoComplete: n.string,
  /**
   * If `true`, the `input` element is focused during the first mount.
   */
  autoFocus: n.bool,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * 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).
   * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.
   */
  color: n.oneOfType([n.oneOf(["primary", "secondary"]), n.string]),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `slots` prop.
   * It's recommended to use the `slots` prop instead.
   *
   * @default {}
   */
  components: n.shape({
    Input: n.elementType,
    Root: n.elementType
  }),
  /**
   * The default value. Use when the component is not controlled.
   */
  defaultValue: n.any,
  /**
   * If `true`, the component is disabled.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  disabled: n.bool,
  /**
   * End `InputAdornment` for this component.
   */
  endAdornment: n.node,
  /**
   * If `true`, the `input` will indicate an error.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  error: n.bool,
  /**
   * If `true`, the `input` will take up the full width of its container.
   * @default false
   */
  fullWidth: n.bool,
  /**
   * The id of the `input` element.
   */
  id: n.string,
  /**
   * The component used for the `input` element.
   * Either a string to use a HTML element or a component.
   * @default 'input'
   */
  inputComponent: n.elementType,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   * @default {}
   */
  inputProps: n.object,
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * The label of the `input`. It is only used for layout. The actual labelling
   * is handled by `InputLabel`.
   */
  label: n.node,
  /**
   * If `dense`, will adjust vertical spacing. This is normally obtained via context from
   * FormControl.
   * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.
   */
  margin: n.oneOf(["dense", "none"]),
  /**
   * Maximum number of rows to display when multiline option is set to true.
   */
  maxRows: n.oneOfType([n.number, n.string]),
  /**
   * Minimum number of rows to display when multiline option is set to true.
   */
  minRows: n.oneOfType([n.number, n.string]),
  /**
   * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.
   * @default false
   */
  multiline: n.bool,
  /**
   * Name attribute of the `input` element.
   */
  name: n.string,
  /**
   * If `true`, the outline is notched to accommodate the label.
   */
  notched: n.bool,
  /**
   * Callback fired when the value is changed.
   *
   * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (string).
   */
  onChange: n.func,
  /**
   * The short hint displayed in the `input` before the user enters a value.
   */
  placeholder: n.string,
  /**
   * It prevents the user from changing the value of the field
   * (not from interacting with the field).
   */
  readOnly: n.bool,
  /**
   * If `true`, the `input` element is required.
   * The prop defaults to the value (`false`) inherited from the parent FormControl component.
   */
  required: n.bool,
  /**
   * Number of rows to display when multiline option is set to true.
   */
  rows: n.oneOfType([n.number, n.string]),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `components` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slots: n.shape({
    input: n.elementType,
    root: n.elementType
  }),
  /**
   * Start `InputAdornment` for this component.
   */
  startAdornment: n.node,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
   * @default 'text'
   */
  type: n.string,
  /**
   * The value of the `input` element, required for a controlled component.
   */
  value: n.any
});
As.muiName = "Input";
function zw(e) {
  return ye("MuiFormLabel", e);
}
const pa = be("MuiFormLabel", ["root", "colorSecondary", "focused", "disabled", "error", "filled", "required", "asterisk"]), Bw = ["children", "className", "color", "component", "disabled", "error", "filled", "focused", "required"], Ww = (e) => {
  const {
    classes: t,
    color: o,
    focused: r,
    disabled: a,
    error: i,
    filled: s,
    required: l
  } = e, c = {
    root: ["root", `color${ee(o)}`, a && "disabled", i && "error", s && "filled", r && "focused", l && "required"],
    asterisk: ["asterisk", i && "error"]
  };
  return ve(c, zw, t);
}, Uw = U("label", {
  name: "MuiFormLabel",
  slot: "Root",
  overridesResolver: ({
    ownerState: e
  }, t) => m({}, t.root, e.color === "secondary" && t.colorSecondary, e.filled && t.filled)
})(({
  theme: e,
  ownerState: t
}) => m({
  color: (e.vars || e).palette.text.secondary
}, e.typography.body1, {
  lineHeight: "1.4375em",
  padding: 0,
  position: "relative",
  [`&.${pa.focused}`]: {
    color: (e.vars || e).palette[t.color].main
  },
  [`&.${pa.disabled}`]: {
    color: (e.vars || e).palette.text.disabled
  },
  [`&.${pa.error}`]: {
    color: (e.vars || e).palette.error.main
  }
})), Hw = U("span", {
  name: "MuiFormLabel",
  slot: "Asterisk",
  overridesResolver: (e, t) => t.asterisk
})(({
  theme: e
}) => ({
  [`&.${pa.error}`]: {
    color: (e.vars || e).palette.error.main
  }
})), dg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiFormLabel"
  }), {
    children: a,
    className: i,
    component: s = "label"
  } = r, l = oe(r, Bw), c = xn(), u = Fr({
    props: r,
    muiFormControl: c,
    states: ["color", "required", "focused", "disabled", "error", "filled"]
  }), p = m({}, r, {
    color: u.color || "primary",
    component: s,
    disabled: u.disabled,
    error: u.error,
    filled: u.filled,
    focused: u.focused,
    required: u.required
  }), f = Ww(p);
  return /* @__PURE__ */ he(Uw, m({
    as: s,
    ownerState: p,
    className: ce(f.root, i),
    ref: o
  }, l, {
    children: [a, u.required && /* @__PURE__ */ he(Hw, {
      ownerState: p,
      "aria-hidden": !0,
      className: f.asterisk,
      children: [" ", "*"]
    })]
  }));
});
process.env.NODE_ENV !== "production" && (dg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   */
  color: n.oneOfType([n.oneOf(["error", "info", "primary", "secondary", "success", "warning"]), n.string]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If `true`, the label should be displayed in a disabled state.
   */
  disabled: n.bool,
  /**
   * If `true`, the label is displayed in an error state.
   */
  error: n.bool,
  /**
   * If `true`, the label should use filled classes key.
   */
  filled: n.bool,
  /**
   * If `true`, the input of this label is focused (used by `FormGroup` components).
   */
  focused: n.bool,
  /**
   * If `true`, the label will indicate that the `input` is required.
   */
  required: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function qw(e) {
  return ye("MuiInputLabel", e);
}
be("MuiInputLabel", ["root", "focused", "disabled", "error", "required", "asterisk", "formControl", "sizeSmall", "shrink", "animated", "standard", "filled", "outlined"]);
const Yw = ["disableAnimation", "margin", "shrink", "variant", "className"], Kw = (e) => {
  const {
    classes: t,
    formControl: o,
    size: r,
    shrink: a,
    disableAnimation: i,
    variant: s,
    required: l
  } = e, c = {
    root: ["root", o && "formControl", !i && "animated", a && "shrink", r && r !== "normal" && `size${ee(r)}`, s],
    asterisk: [l && "asterisk"]
  }, u = ve(c, qw, t);
  return m({}, t, u);
}, Gw = U(dg, {
  shouldForwardProp: (e) => _t(e) || e === "classes",
  name: "MuiInputLabel",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [{
      [`& .${pa.asterisk}`]: t.asterisk
    }, t.root, o.formControl && t.formControl, o.size === "small" && t.sizeSmall, o.shrink && t.shrink, !o.disableAnimation && t.animated, o.focused && t.focused, t[o.variant]];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  display: "block",
  transformOrigin: "top left",
  whiteSpace: "nowrap",
  overflow: "hidden",
  textOverflow: "ellipsis",
  maxWidth: "100%"
}, t.formControl && {
  position: "absolute",
  left: 0,
  top: 0,
  // slight alteration to spec spacing to match visual spec result
  transform: "translate(0, 20px) scale(1)"
}, t.size === "small" && {
  // Compensation for the `Input.inputSizeSmall` style.
  transform: "translate(0, 17px) scale(1)"
}, t.shrink && {
  transform: "translate(0, -1.5px) scale(0.75)",
  transformOrigin: "top left",
  maxWidth: "133%"
}, !t.disableAnimation && {
  transition: e.transitions.create(["color", "transform", "max-width"], {
    duration: e.transitions.duration.shorter,
    easing: e.transitions.easing.easeOut
  })
}, t.variant === "filled" && m({
  // Chrome's autofill feature gives the input field a yellow background.
  // Since the input field is behind the label in the HTML tree,
  // the input field is drawn last and hides the label with an opaque background color.
  // zIndex: 1 will raise the label above opaque background-colors of input.
  zIndex: 1,
  pointerEvents: "none",
  transform: "translate(12px, 16px) scale(1)",
  maxWidth: "calc(100% - 24px)"
}, t.size === "small" && {
  transform: "translate(12px, 13px) scale(1)"
}, t.shrink && m({
  userSelect: "none",
  pointerEvents: "auto",
  transform: "translate(12px, 7px) scale(0.75)",
  maxWidth: "calc(133% - 24px)"
}, t.size === "small" && {
  transform: "translate(12px, 4px) scale(0.75)"
})), t.variant === "outlined" && m({
  // see comment above on filled.zIndex
  zIndex: 1,
  pointerEvents: "none",
  transform: "translate(14px, 16px) scale(1)",
  maxWidth: "calc(100% - 24px)"
}, t.size === "small" && {
  transform: "translate(14px, 9px) scale(1)"
}, t.shrink && {
  userSelect: "none",
  pointerEvents: "auto",
  // Theoretically, we should have (8+5)*2/0.75 = 34px
  // but it feels a better when it bleeds a bit on the left, so 32px.
  maxWidth: "calc(133% - 32px)",
  transform: "translate(14px, -9px) scale(0.75)"
}))), fu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    name: "MuiInputLabel",
    props: t
  }), {
    disableAnimation: a = !1,
    shrink: i,
    className: s
  } = r, l = oe(r, Yw), c = xn();
  let u = i;
  typeof u > "u" && c && (u = c.filled || c.focused || c.adornedStart);
  const p = Fr({
    props: r,
    muiFormControl: c,
    states: ["size", "variant", "required", "focused"]
  }), f = m({}, r, {
    disableAnimation: a,
    formControl: c,
    shrink: u,
    size: p.size,
    variant: p.variant,
    required: p.required,
    focused: p.focused
  }), g = Kw(f);
  return /* @__PURE__ */ x(Gw, m({
    "data-shrink": u,
    ownerState: f,
    ref: o,
    className: ce(g.root, s)
  }, l, {
    classes: g
  }));
});
process.env.NODE_ENV !== "production" && (fu.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   */
  color: n.oneOfType([n.oneOf(["error", "info", "primary", "secondary", "success", "warning"]), n.string]),
  /**
   * If `true`, the transition animation is disabled.
   * @default false
   */
  disableAnimation: n.bool,
  /**
   * If `true`, the component is disabled.
   */
  disabled: n.bool,
  /**
   * If `true`, the label is displayed in an error state.
   */
  error: n.bool,
  /**
   * If `true`, the `input` of this label is focused.
   */
  focused: n.bool,
  /**
   * If `dense`, will adjust vertical spacing. This is normally obtained via context from
   * FormControl.
   */
  margin: n.oneOf(["dense"]),
  /**
   * if `true`, the label will indicate that the `input` is required.
   */
  required: n.bool,
  /**
   * If `true`, the label is shrunk.
   */
  shrink: n.bool,
  /**
   * The size of the component.
   * @default 'normal'
   */
  size: n.oneOfType([n.oneOf(["normal", "small"]), n.string]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The variant to use.
   */
  variant: n.oneOf(["filled", "outlined", "standard"])
});
function Xw(e) {
  return ye("MuiFormControl", e);
}
be("MuiFormControl", ["root", "marginNone", "marginNormal", "marginDense", "fullWidth", "disabled"]);
const Zw = ["children", "className", "color", "component", "disabled", "error", "focused", "fullWidth", "hiddenLabel", "margin", "required", "size", "variant"], Qw = (e) => {
  const {
    classes: t,
    margin: o,
    fullWidth: r
  } = e, a = {
    root: ["root", o !== "none" && `margin${ee(o)}`, r && "fullWidth"]
  };
  return ve(a, Xw, t);
}, Jw = U("div", {
  name: "MuiFormControl",
  slot: "Root",
  overridesResolver: ({
    ownerState: e
  }, t) => m({}, t.root, t[`margin${ee(e.margin)}`], e.fullWidth && t.fullWidth)
})(({
  ownerState: e
}) => m({
  display: "inline-flex",
  flexDirection: "column",
  position: "relative",
  // Reset fieldset default style.
  minWidth: 0,
  padding: 0,
  margin: 0,
  border: 0,
  verticalAlign: "top"
}, e.margin === "normal" && {
  marginTop: 16,
  marginBottom: 8
}, e.margin === "dense" && {
  marginTop: 8,
  marginBottom: 4
}, e.fullWidth && {
  width: "100%"
})), mu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiFormControl"
  }), {
    children: a,
    className: i,
    color: s = "primary",
    component: l = "div",
    disabled: c = !1,
    error: u = !1,
    focused: p,
    fullWidth: f = !1,
    hiddenLabel: g = !1,
    margin: v = "none",
    required: b = !1,
    size: h = "medium",
    variant: y = "outlined"
  } = r, C = oe(r, Zw), E = m({}, r, {
    color: s,
    component: l,
    disabled: c,
    error: u,
    fullWidth: f,
    hiddenLabel: g,
    margin: v,
    required: b,
    size: h,
    variant: y
  }), w = Qw(E), [T, O] = d.useState(() => {
    let L = !1;
    return a && d.Children.forEach(a, (I) => {
      if (!fr(I, ["Input", "Select"]))
        return;
      const R = fr(I, ["Select"]) ? I.props.input : I;
      R && bw(R.props) && (L = !0);
    }), L;
  }), [P, S] = d.useState(() => {
    let L = !1;
    return a && d.Children.forEach(a, (I) => {
      fr(I, ["Input", "Select"]) && (Gi(I.props, !0) || Gi(I.props.inputProps, !0)) && (L = !0);
    }), L;
  }), [$, A] = d.useState(!1);
  c && $ && A(!1);
  const N = p !== void 0 && !c ? p : $;
  let D;
  if (process.env.NODE_ENV !== "production") {
    const L = d.useRef(!1);
    D = () => (L.current && console.error(["MUI: There are multiple `InputBase` components inside a FormControl.", "This creates visual inconsistencies, only use one `InputBase`."].join(`
`)), L.current = !0, () => {
      L.current = !1;
    });
  }
  const V = d.useMemo(() => ({
    adornedStart: T,
    setAdornedStart: O,
    color: s,
    disabled: c,
    error: u,
    filled: P,
    focused: N,
    fullWidth: f,
    hiddenLabel: g,
    size: h,
    onBlur: () => {
      A(!1);
    },
    onEmpty: () => {
      S(!1);
    },
    onFilled: () => {
      S(!0);
    },
    onFocus: () => {
      A(!0);
    },
    registerEffect: D,
    required: b,
    variant: y
  }), [T, s, c, u, P, N, f, g, D, b, h, y]);
  return /* @__PURE__ */ x(La.Provider, {
    value: V,
    children: /* @__PURE__ */ x(Jw, m({
      as: l,
      ownerState: E,
      className: ce(w.root, i),
      ref: o
    }, C, {
      children: a
    }))
  });
});
process.env.NODE_ENV !== "production" && (mu.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOfType([n.oneOf(["primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If `true`, the label, input and helper text should be displayed in a disabled state.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, the label is displayed in an error state.
   * @default false
   */
  error: n.bool,
  /**
   * If `true`, the component is displayed in focused state.
   */
  focused: n.bool,
  /**
   * If `true`, the component will take up the full width of its container.
   * @default false
   */
  fullWidth: n.bool,
  /**
   * If `true`, the label is hidden.
   * This is used to increase density for a `FilledInput`.
   * Be sure to add `aria-label` to the `input` element.
   * @default false
   */
  hiddenLabel: n.bool,
  /**
   * If `dense` or `normal`, will adjust vertical spacing of this and contained components.
   * @default 'none'
   */
  margin: n.oneOf(["dense", "none", "normal"]),
  /**
   * If `true`, the label will indicate that the `input` is required.
   * @default false
   */
  required: n.bool,
  /**
   * The size of the component.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["medium", "small"]), n.string]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The variant to use.
   * @default 'outlined'
   */
  variant: n.oneOf(["filled", "outlined", "standard"])
});
function e4(e) {
  return ye("MuiFormHelperText", e);
}
const Zp = be("MuiFormHelperText", ["root", "error", "disabled", "sizeSmall", "sizeMedium", "contained", "focused", "filled", "required"]);
var Qp;
const t4 = ["children", "className", "component", "disabled", "error", "filled", "focused", "margin", "required", "variant"], n4 = (e) => {
  const {
    classes: t,
    contained: o,
    size: r,
    disabled: a,
    error: i,
    filled: s,
    focused: l,
    required: c
  } = e, u = {
    root: ["root", a && "disabled", i && "error", r && `size${ee(r)}`, o && "contained", l && "focused", s && "filled", c && "required"]
  };
  return ve(u, e4, t);
}, o4 = U("p", {
  name: "MuiFormHelperText",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.size && t[`size${ee(o.size)}`], o.contained && t.contained, o.filled && t.filled];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  color: (e.vars || e).palette.text.secondary
}, e.typography.caption, {
  textAlign: "left",
  marginTop: 3,
  marginRight: 0,
  marginBottom: 0,
  marginLeft: 0,
  [`&.${Zp.disabled}`]: {
    color: (e.vars || e).palette.text.disabled
  },
  [`&.${Zp.error}`]: {
    color: (e.vars || e).palette.error.main
  }
}, t.size === "small" && {
  marginTop: 4
}, t.contained && {
  marginLeft: 14,
  marginRight: 14
})), hu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiFormHelperText"
  }), {
    children: a,
    className: i,
    component: s = "p"
  } = r, l = oe(r, t4), c = xn(), u = Fr({
    props: r,
    muiFormControl: c,
    states: ["variant", "size", "disabled", "error", "filled", "focused", "required"]
  }), p = m({}, r, {
    component: s,
    contained: u.variant === "filled" || u.variant === "outlined",
    variant: u.variant,
    size: u.size,
    disabled: u.disabled,
    error: u.error,
    filled: u.filled,
    focused: u.focused,
    required: u.required
  }), f = n4(p);
  return /* @__PURE__ */ x(o4, m({
    as: s,
    ownerState: p,
    className: ce(f.root, i),
    ref: o
  }, l, {
    children: a === " " ? (
      // notranslate needed while Google Translate will not fix zero-width space issue
      Qp || (Qp = /* @__PURE__ */ x("span", {
        className: "notranslate",
        children: "​"
      }))
    ) : a
  }));
});
process.env.NODE_ENV !== "production" && (hu.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   *
   * If `' '` is provided, the component reserves one line height for displaying a future message.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If `true`, the helper text should be displayed in a disabled state.
   */
  disabled: n.bool,
  /**
   * If `true`, helper text should be displayed in an error state.
   */
  error: n.bool,
  /**
   * If `true`, the helper text should use filled classes key.
   */
  filled: n.bool,
  /**
   * If `true`, the helper text should use focused classes key.
   */
  focused: n.bool,
  /**
   * If `dense`, will adjust vertical spacing. This is normally obtained via context from
   * FormControl.
   */
  margin: n.oneOf(["dense"]),
  /**
   * If `true`, the helper text should use required classes key.
   */
  required: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The variant to use.
   */
  variant: n.oneOfType([n.oneOf(["filled", "outlined", "standard"]), n.string])
});
const r4 = ["actions", "autoFocus", "autoFocusItem", "children", "className", "disabledItemsFocusable", "disableListWrap", "onKeyDown", "variant"];
function Dl(e, t, o) {
  return e === t ? e.firstChild : t && t.nextElementSibling ? t.nextElementSibling : o ? null : e.firstChild;
}
function Jp(e, t, o) {
  return e === t ? o ? e.firstChild : e.lastChild : t && t.previousElementSibling ? t.previousElementSibling : o ? null : e.lastChild;
}
function pg(e, t) {
  if (t === void 0)
    return !0;
  let o = e.innerText;
  return o === void 0 && (o = e.textContent), o = o.trim().toLowerCase(), o.length === 0 ? !1 : t.repeating ? o[0] === t.keys[0] : o.indexOf(t.keys.join("")) === 0;
}
function Qr(e, t, o, r, a, i) {
  let s = !1, l = a(e, t, t ? o : !1);
  for (; l; ) {
    if (l === e.firstChild) {
      if (s)
        return !1;
      s = !0;
    }
    const c = r ? !1 : l.disabled || l.getAttribute("aria-disabled") === "true";
    if (!l.hasAttribute("tabindex") || !pg(l, i) || c)
      l = a(e, l, o);
    else
      return l.focus(), !0;
  }
  return !1;
}
const fg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const {
    // private
    // eslint-disable-next-line react/prop-types
    actions: r,
    autoFocus: a = !1,
    autoFocusItem: i = !1,
    children: s,
    className: l,
    disabledItemsFocusable: c = !1,
    disableListWrap: u = !1,
    onKeyDown: p,
    variant: f = "selectedMenu"
  } = t, g = oe(t, r4), v = d.useRef(null), b = d.useRef({
    keys: [],
    repeating: !0,
    previousKeyMatched: !0,
    lastTime: null
  });
  gt(() => {
    a && v.current.focus();
  }, [a]), d.useImperativeHandle(r, () => ({
    adjustStyleForScrollbar: (w, {
      direction: T
    }) => {
      const O = !v.current.style.width;
      if (w.clientHeight < v.current.clientHeight && O) {
        const P = `${Um(lt(w))}px`;
        v.current.style[T === "rtl" ? "paddingLeft" : "paddingRight"] = P, v.current.style.width = `calc(100% + ${P})`;
      }
      return v.current;
    }
  }), []);
  const h = (w) => {
    const T = v.current, O = w.key, P = lt(T).activeElement;
    if (O === "ArrowDown")
      w.preventDefault(), Qr(T, P, u, c, Dl);
    else if (O === "ArrowUp")
      w.preventDefault(), Qr(T, P, u, c, Jp);
    else if (O === "Home")
      w.preventDefault(), Qr(T, null, u, c, Dl);
    else if (O === "End")
      w.preventDefault(), Qr(T, null, u, c, Jp);
    else if (O.length === 1) {
      const S = b.current, $ = O.toLowerCase(), A = performance.now();
      S.keys.length > 0 && (A - S.lastTime > 500 ? (S.keys = [], S.repeating = !0, S.previousKeyMatched = !0) : S.repeating && $ !== S.keys[0] && (S.repeating = !1)), S.lastTime = A, S.keys.push($);
      const N = P && !S.repeating && pg(P, S);
      S.previousKeyMatched && (N || Qr(T, P, !1, c, Dl, S)) ? w.preventDefault() : S.previousKeyMatched = !1;
    }
    p && p(w);
  }, y = ze(v, o);
  let C = -1;
  d.Children.forEach(s, (w, T) => {
    if (!/* @__PURE__ */ d.isValidElement(w)) {
      C === T && (C += 1, C >= s.length && (C = -1));
      return;
    }
    process.env.NODE_ENV !== "production" && Vn.isFragment(w) && console.error(["MUI: The Menu component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
`)), w.props.disabled || (f === "selectedMenu" && w.props.selected || C === -1) && (C = T), C === T && (w.props.disabled || w.props.muiSkipListHighlight || w.type.muiSkipListHighlight) && (C += 1, C >= s.length && (C = -1));
  });
  const E = d.Children.map(s, (w, T) => {
    if (T === C) {
      const O = {};
      return i && (O.autoFocus = !0), w.props.tabIndex === void 0 && f === "selectedMenu" && (O.tabIndex = 0), /* @__PURE__ */ d.cloneElement(w, O);
    }
    return w;
  });
  return /* @__PURE__ */ x(Ba, m({
    role: "menu",
    ref: y,
    className: l,
    onKeyDown: h,
    tabIndex: a ? 0 : -1
  }, g, {
    children: E
  }));
});
process.env.NODE_ENV !== "production" && (fg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * If `true`, will focus the `[role="menu"]` container and move into tab order.
   * @default false
   */
  autoFocus: n.bool,
  /**
   * If `true`, will focus the first menuitem if `variant="menu"` or selected item
   * if `variant="selectedMenu"`.
   * @default false
   */
  autoFocusItem: n.bool,
  /**
   * MenuList contents, normally `MenuItem`s.
   */
  children: n.node,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * If `true`, will allow focus on disabled items.
   * @default false
   */
  disabledItemsFocusable: n.bool,
  /**
   * If `true`, the menu items will not wrap focus.
   * @default false
   */
  disableListWrap: n.bool,
  /**
   * @ignore
   */
  onKeyDown: n.func,
  /**
   * The variant to use. Use `menu` to prevent selected items from impacting the initial focus
   * and the vertical alignment relative to the anchor element.
   * @default 'selectedMenu'
   */
  variant: n.oneOf(["menu", "selectedMenu"])
});
function a4(e) {
  const t = lt(e);
  return t.body === e ? pn(e).innerWidth > t.documentElement.clientWidth : e.scrollHeight > e.clientHeight;
}
function fa(e, t) {
  t ? e.setAttribute("aria-hidden", "true") : e.removeAttribute("aria-hidden");
}
function ef(e) {
  return parseInt(pn(e).getComputedStyle(e).paddingRight, 10) || 0;
}
function i4(e) {
  const o = ["TEMPLATE", "SCRIPT", "STYLE", "LINK", "MAP", "META", "NOSCRIPT", "PICTURE", "COL", "COLGROUP", "PARAM", "SLOT", "SOURCE", "TRACK"].indexOf(e.tagName) !== -1, r = e.tagName === "INPUT" && e.getAttribute("type") === "hidden";
  return o || r;
}
function tf(e, t, o, r, a) {
  const i = [t, o, ...r];
  [].forEach.call(e.children, (s) => {
    const l = i.indexOf(s) === -1, c = !i4(s);
    l && c && fa(s, a);
  });
}
function Il(e, t) {
  let o = -1;
  return e.some((r, a) => t(r) ? (o = a, !0) : !1), o;
}
function s4(e, t) {
  const o = [], r = e.container;
  if (!t.disableScrollLock) {
    if (a4(r)) {
      const s = Um(lt(r));
      o.push({
        value: r.style.paddingRight,
        property: "padding-right",
        el: r
      }), r.style.paddingRight = `${ef(r) + s}px`;
      const l = lt(r).querySelectorAll(".mui-fixed");
      [].forEach.call(l, (c) => {
        o.push({
          value: c.style.paddingRight,
          property: "padding-right",
          el: c
        }), c.style.paddingRight = `${ef(c) + s}px`;
      });
    }
    let i;
    if (r.parentNode instanceof DocumentFragment)
      i = lt(r).body;
    else {
      const s = r.parentElement, l = pn(r);
      i = (s == null ? void 0 : s.nodeName) === "HTML" && l.getComputedStyle(s).overflowY === "scroll" ? s : r;
    }
    o.push({
      value: i.style.overflow,
      property: "overflow",
      el: i
    }, {
      value: i.style.overflowX,
      property: "overflow-x",
      el: i
    }, {
      value: i.style.overflowY,
      property: "overflow-y",
      el: i
    }), i.style.overflow = "hidden";
  }
  return () => {
    o.forEach(({
      value: i,
      el: s,
      property: l
    }) => {
      i ? s.style.setProperty(l, i) : s.style.removeProperty(l);
    });
  };
}
function l4(e) {
  const t = [];
  return [].forEach.call(e.children, (o) => {
    o.getAttribute("aria-hidden") === "true" && t.push(o);
  }), t;
}
class c4 {
  constructor() {
    this.containers = void 0, this.modals = void 0, this.modals = [], this.containers = [];
  }
  add(t, o) {
    let r = this.modals.indexOf(t);
    if (r !== -1)
      return r;
    r = this.modals.length, this.modals.push(t), t.modalRef && fa(t.modalRef, !1);
    const a = l4(o);
    tf(o, t.mount, t.modalRef, a, !0);
    const i = Il(this.containers, (s) => s.container === o);
    return i !== -1 ? (this.containers[i].modals.push(t), r) : (this.containers.push({
      modals: [t],
      container: o,
      restore: null,
      hiddenSiblings: a
    }), r);
  }
  mount(t, o) {
    const r = Il(this.containers, (i) => i.modals.indexOf(t) !== -1), a = this.containers[r];
    a.restore || (a.restore = s4(a, o));
  }
  remove(t, o = !0) {
    const r = this.modals.indexOf(t);
    if (r === -1)
      return r;
    const a = Il(this.containers, (s) => s.modals.indexOf(t) !== -1), i = this.containers[a];
    if (i.modals.splice(i.modals.indexOf(t), 1), this.modals.splice(r, 1), i.modals.length === 0)
      i.restore && i.restore(), t.modalRef && fa(t.modalRef, o), tf(i.container, t.mount, t.modalRef, i.hiddenSiblings, !1), this.containers.splice(a, 1);
    else {
      const s = i.modals[i.modals.length - 1];
      s.modalRef && fa(s.modalRef, !1);
    }
    return r;
  }
  isTopModal(t) {
    return this.modals.length > 0 && this.modals[this.modals.length - 1] === t;
  }
}
function u4(e) {
  return ye("MuiBackdrop", e);
}
be("MuiBackdrop", ["root", "invisible"]);
const d4 = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"], p4 = (e) => {
  const {
    classes: t,
    invisible: o
  } = e;
  return ve({
    root: ["root", o && "invisible"]
  }, u4, t);
}, f4 = U("div", {
  name: "MuiBackdrop",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.invisible && t.invisible];
  }
})(({
  ownerState: e
}) => m({
  position: "fixed",
  display: "flex",
  alignItems: "center",
  justifyContent: "center",
  right: 0,
  bottom: 0,
  top: 0,
  left: 0,
  backgroundColor: "rgba(0, 0, 0, 0.5)",
  WebkitTapHighlightColor: "transparent"
}, e.invisible && {
  backgroundColor: "transparent"
})), gu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a, i;
  const s = Ee({
    props: t,
    name: "MuiBackdrop"
  }), {
    children: l,
    className: c,
    component: u = "div",
    components: p = {},
    componentsProps: f = {},
    invisible: g = !1,
    open: v,
    slotProps: b = {},
    slots: h = {},
    TransitionComponent: y = Ko,
    transitionDuration: C
  } = s, E = oe(s, d4), w = m({}, s, {
    component: u,
    invisible: g
  }), T = p4(w), O = (r = b.root) != null ? r : f.root;
  return /* @__PURE__ */ x(y, m({
    in: v,
    timeout: C
  }, E, {
    children: /* @__PURE__ */ x(f4, m({
      "aria-hidden": !0
    }, O, {
      as: (a = (i = h.root) != null ? i : p.Root) != null ? a : u,
      className: ce(T.root, c, O == null ? void 0 : O.className),
      ownerState: m({}, w, O == null ? void 0 : O.ownerState),
      classes: T,
      ref: o,
      children: l
    }))
  }));
});
process.env.NODE_ENV !== "production" && (gu.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `slots` prop.
   * It's recommended to use the `slots` prop instead.
   *
   * @default {}
   */
  components: n.shape({
    Root: n.elementType
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `slotProps` prop.
   * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
   *
   * @default {}
   */
  componentsProps: n.shape({
    root: n.object
  }),
  /**
   * If `true`, the backdrop is invisible.
   * It can be used when rendering a popover or a custom select component.
   * @default false
   */
  invisible: n.bool,
  /**
   * If `true`, the component is shown.
   */
  open: n.bool.isRequired,
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slotProps: n.shape({
    root: n.object
  }),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `components` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slots: n.shape({
    root: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The component used for the transition.
   * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
   * @default Fade
   */
  TransitionComponent: n.elementType,
  /**
   * The duration for the transition, in milliseconds.
   * You may specify a single timeout for all transitions, or individually with an object.
   */
  transitionDuration: n.oneOfType([n.number, n.shape({
    appear: n.number,
    enter: n.number,
    exit: n.number
  })])
});
function m4(e) {
  return typeof e == "function" ? e() : e;
}
function h4(e) {
  return e ? e.props.hasOwnProperty("in") : !1;
}
const g4 = new c4();
function b4(e) {
  const {
    container: t,
    disableEscapeKeyDown: o = !1,
    disableScrollLock: r = !1,
    // @ts-ignore internal logic - Base UI supports the manager as a prop too
    manager: a = g4,
    closeAfterTransition: i = !1,
    onTransitionEnter: s,
    onTransitionExited: l,
    children: c,
    onClose: u,
    open: p,
    rootRef: f
  } = e, g = d.useRef({}), v = d.useRef(null), b = d.useRef(null), h = ze(b, f), [y, C] = d.useState(!p), E = h4(c);
  let w = !0;
  (e["aria-hidden"] === "false" || e["aria-hidden"] === !1) && (w = !1);
  const T = () => lt(v.current), O = () => (g.current.modalRef = b.current, g.current.mount = v.current, g.current), P = () => {
    a.mount(O(), {
      disableScrollLock: r
    }), b.current && (b.current.scrollTop = 0);
  }, S = Ce(() => {
    const k = m4(t) || T().body;
    a.add(O(), k), b.current && P();
  }), $ = d.useCallback(() => a.isTopModal(O()), [a]), A = Ce((k) => {
    v.current = k, k && (p && $() ? P() : b.current && fa(b.current, w));
  }), N = d.useCallback(() => {
    a.remove(O(), w);
  }, [w, a]);
  d.useEffect(() => () => {
    N();
  }, [N]), d.useEffect(() => {
    p ? S() : (!E || !i) && N();
  }, [p, N, E, i, S]);
  const D = (k) => (F) => {
    var M;
    (M = k.onKeyDown) == null || M.call(k, F), !(F.key !== "Escape" || F.which === 229 || // Wait until IME is settled.
    !$()) && (o || (F.stopPropagation(), u && u(F, "escapeKeyDown")));
  }, V = (k) => (F) => {
    var M;
    (M = k.onClick) == null || M.call(k, F), F.target === F.currentTarget && u && u(F, "backdropClick");
  };
  return {
    getRootProps: (k = {}) => {
      const F = Vo(e);
      delete F.onTransitionEnter, delete F.onTransitionExited;
      const M = m({}, F, k);
      return m({
        role: "presentation"
      }, M, {
        onKeyDown: D(M),
        ref: h
      });
    },
    getBackdropProps: (k = {}) => {
      const F = k;
      return m({
        "aria-hidden": !0
      }, F, {
        onClick: V(F),
        open: p
      });
    },
    getTransitionProps: () => {
      const k = () => {
        C(!1), s && s();
      }, F = () => {
        C(!0), l && l(), i && N();
      };
      return {
        onEnter: Ai(k, c == null ? void 0 : c.props.onEnter),
        onExited: Ai(F, c == null ? void 0 : c.props.onExited)
      };
    },
    rootRef: h,
    portalRef: A,
    isTopModal: $,
    exited: y,
    hasTransition: E
  };
}
function y4(e) {
  return ye("MuiModal", e);
}
be("MuiModal", ["root", "hidden", "backdrop"]);
const v4 = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "container", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "onBackdropClick", "onClose", "onTransitionEnter", "onTransitionExited", "open", "slotProps", "slots", "theme"], x4 = (e) => {
  const {
    open: t,
    exited: o,
    classes: r
  } = e;
  return ve({
    root: ["root", !t && o && "hidden"],
    backdrop: ["backdrop"]
  }, y4, r);
}, C4 = U("div", {
  name: "MuiModal",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, !o.open && o.exited && t.hidden];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  position: "fixed",
  zIndex: (e.vars || e).zIndex.modal,
  right: 0,
  bottom: 0,
  top: 0,
  left: 0
}, !t.open && t.exited && {
  visibility: "hidden"
})), T4 = U(gu, {
  name: "MuiModal",
  slot: "Backdrop",
  overridesResolver: (e, t) => t.backdrop
})({
  zIndex: -1
}), Ls = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a, i, s, l, c;
  const u = Ee({
    name: "MuiModal",
    props: t
  }), {
    BackdropComponent: p = T4,
    BackdropProps: f,
    className: g,
    closeAfterTransition: v = !1,
    children: b,
    container: h,
    component: y,
    components: C = {},
    componentsProps: E = {},
    disableAutoFocus: w = !1,
    disableEnforceFocus: T = !1,
    disableEscapeKeyDown: O = !1,
    disablePortal: P = !1,
    disableRestoreFocus: S = !1,
    disableScrollLock: $ = !1,
    hideBackdrop: A = !1,
    keepMounted: N = !1,
    onBackdropClick: D,
    open: V,
    slotProps: L,
    slots: I
    // eslint-disable-next-line react/prop-types
  } = u, R = oe(u, v4), k = m({}, u, {
    closeAfterTransition: v,
    disableAutoFocus: w,
    disableEnforceFocus: T,
    disableEscapeKeyDown: O,
    disablePortal: P,
    disableRestoreFocus: S,
    disableScrollLock: $,
    hideBackdrop: A,
    keepMounted: N
  }), {
    getRootProps: F,
    getBackdropProps: M,
    getTransitionProps: B,
    portalRef: j,
    isTopModal: W,
    exited: re,
    hasTransition: J
  } = b4(m({}, k, {
    rootRef: o
  })), Q = m({}, k, {
    exited: re
  }), X = x4(Q), Y = {};
  if (b.props.tabIndex === void 0 && (Y.tabIndex = "-1"), J) {
    const {
      onEnter: q,
      onExited: te
    } = B();
    Y.onEnter = q, Y.onExited = te;
  }
  const Z = (r = (a = I == null ? void 0 : I.root) != null ? a : C.Root) != null ? r : C4, H = (i = (s = I == null ? void 0 : I.backdrop) != null ? s : C.Backdrop) != null ? i : p, K = (l = L == null ? void 0 : L.root) != null ? l : E.root, ne = (c = L == null ? void 0 : L.backdrop) != null ? c : E.backdrop, ae = $e({
    elementType: Z,
    externalSlotProps: K,
    externalForwardedProps: R,
    getSlotProps: F,
    additionalProps: {
      ref: o,
      as: y
    },
    ownerState: Q,
    className: ce(g, K == null ? void 0 : K.className, X == null ? void 0 : X.root, !Q.open && Q.exited && (X == null ? void 0 : X.hidden))
  }), z = $e({
    elementType: H,
    externalSlotProps: ne,
    additionalProps: f,
    getSlotProps: (q) => M(m({}, q, {
      onClick: (te) => {
        D && D(te), q != null && q.onClick && q.onClick(te);
      }
    })),
    className: ce(ne == null ? void 0 : ne.className, f == null ? void 0 : f.className, X == null ? void 0 : X.backdrop),
    ownerState: Q
  });
  return !N && !V && (!J || re) ? null : /* @__PURE__ */ x(wa, {
    ref: j,
    container: h,
    disablePortal: P,
    children: /* @__PURE__ */ he(Z, m({}, ae, {
      children: [!A && p ? /* @__PURE__ */ x(H, m({}, z)) : null, /* @__PURE__ */ x(Oa, {
        disableEnforceFocus: T,
        disableAutoFocus: w,
        disableRestoreFocus: S,
        isEnabled: W,
        open: V,
        children: /* @__PURE__ */ d.cloneElement(b, Y)
      })]
    }))
  });
});
process.env.NODE_ENV !== "production" && (Ls.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * A backdrop component. This prop enables custom backdrop rendering.
   * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.
   * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.
   * @default styled(Backdrop, {
   *   name: 'MuiModal',
   *   slot: 'Backdrop',
   *   overridesResolver: (props, styles) => {
   *     return styles.backdrop;
   *   },
   * })({
   *   zIndex: -1,
   * })
   */
  BackdropComponent: n.elementType,
  /**
   * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.
   * @deprecated Use `slotProps.backdrop` instead.
   */
  BackdropProps: n.object,
  /**
   * A single child content element.
   */
  children: xo.isRequired,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * When set to true the Modal waits until a nested Transition is completed before closing.
   * @default false
   */
  closeAfterTransition: n.bool,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `slots` prop.
   * It's recommended to use the `slots` prop instead.
   *
   * @default {}
   */
  components: n.shape({
    Backdrop: n.elementType,
    Root: n.elementType
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `slotProps` prop.
   * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
   *
   * @default {}
   */
  componentsProps: n.shape({
    backdrop: n.oneOfType([n.func, n.object]),
    root: n.oneOfType([n.func, n.object])
  }),
  /**
   * An HTML element or function that returns one.
   * The `container` will have the portal children appended to it.
   *
   * You can also provide a callback, which is called in a React layout effect.
   * This lets you set the container from a ref, and also makes server-side rendering possible.
   *
   * By default, it uses the body of the top-level document object,
   * so it's simply `document.body` most of the time.
   */
  container: n.oneOfType([zn, n.func]),
  /**
   * If `true`, the modal will not automatically shift focus to itself when it opens, and
   * replace it to the last focused element when it closes.
   * This also works correctly with any modal children that have the `disableAutoFocus` prop.
   *
   * Generally this should never be set to `true` as it makes the modal less
   * accessible to assistive technologies, like screen readers.
   * @default false
   */
  disableAutoFocus: n.bool,
  /**
   * If `true`, the modal will not prevent focus from leaving the modal while open.
   *
   * Generally this should never be set to `true` as it makes the modal less
   * accessible to assistive technologies, like screen readers.
   * @default false
   */
  disableEnforceFocus: n.bool,
  /**
   * If `true`, hitting escape will not fire the `onClose` callback.
   * @default false
   */
  disableEscapeKeyDown: n.bool,
  /**
   * The `children` will be under the DOM hierarchy of the parent component.
   * @default false
   */
  disablePortal: n.bool,
  /**
   * If `true`, the modal will not restore focus to previously focused element once
   * modal is hidden or unmounted.
   * @default false
   */
  disableRestoreFocus: n.bool,
  /**
   * Disable the scroll lock behavior.
   * @default false
   */
  disableScrollLock: n.bool,
  /**
   * If `true`, the backdrop is not rendered.
   * @default false
   */
  hideBackdrop: n.bool,
  /**
   * Always keep the children in the DOM.
   * This prop can be useful in SEO situation or
   * when you want to maximize the responsiveness of the Modal.
   * @default false
   */
  keepMounted: n.bool,
  /**
   * Callback fired when the backdrop is clicked.
   * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.
   */
  onBackdropClick: n.func,
  /**
   * Callback fired when the component requests to be closed.
   * The `reason` parameter can optionally be used to control the response to `onClose`.
   *
   * @param {object} event The event source of the callback.
   * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
   */
  onClose: n.func,
  /**
   * A function called when a transition enters.
   */
  onTransitionEnter: n.func,
  /**
   * A function called when a transition has exited.
   */
  onTransitionExited: n.func,
  /**
   * If `true`, the component is shown.
   */
  open: n.bool.isRequired,
  /**
   * The props used for each slot inside the Modal.
   * @default {}
   */
  slotProps: n.shape({
    backdrop: n.oneOfType([n.func, n.object]),
    root: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside the Modal.
   * Either a string to use a HTML element or a component.
   * @default {}
   */
  slots: n.shape({
    backdrop: n.elementType,
    root: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function w4(e) {
  return ye("MuiPopover", e);
}
be("MuiPopover", ["root", "paper"]);
const O4 = ["onEntering"], E4 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps", "disableScrollLock"], S4 = ["slotProps"];
function nf(e, t) {
  let o = 0;
  return typeof t == "number" ? o = t : t === "center" ? o = e.height / 2 : t === "bottom" && (o = e.height), o;
}
function of(e, t) {
  let o = 0;
  return typeof t == "number" ? o = t : t === "center" ? o = e.width / 2 : t === "right" && (o = e.width), o;
}
function rf(e) {
  return [e.horizontal, e.vertical].map((t) => typeof t == "number" ? `${t}px` : t).join(" ");
}
function ki(e) {
  return typeof e == "function" ? e() : e;
}
const P4 = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    paper: ["paper"]
  }, w4, t);
}, R4 = U(Ls, {
  name: "MuiPopover",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({}), mg = U($n, {
  name: "MuiPopover",
  slot: "Paper",
  overridesResolver: (e, t) => t.paper
})({
  position: "absolute",
  overflowY: "auto",
  overflowX: "hidden",
  // So we see the popover when it's empty.
  // It's most likely on issue on userland.
  minWidth: 16,
  minHeight: 16,
  maxWidth: "calc(100% - 32px)",
  maxHeight: "calc(100% - 32px)",
  // We disable the focus ring for mouse, touch and keyboard users.
  outline: 0
}), hg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a, i;
  const s = Ee({
    props: t,
    name: "MuiPopover"
  }), {
    action: l,
    anchorEl: c,
    anchorOrigin: u = {
      vertical: "top",
      horizontal: "left"
    },
    anchorPosition: p,
    anchorReference: f = "anchorEl",
    children: g,
    className: v,
    container: b,
    elevation: h = 8,
    marginThreshold: y = 16,
    open: C,
    PaperProps: E = {},
    slots: w,
    slotProps: T,
    transformOrigin: O = {
      vertical: "top",
      horizontal: "left"
    },
    TransitionComponent: P = Uo,
    transitionDuration: S = "auto",
    TransitionProps: {
      onEntering: $
    } = {},
    disableScrollLock: A = !1
  } = s, N = oe(s.TransitionProps, O4), D = oe(s, E4), V = (r = T == null ? void 0 : T.paper) != null ? r : E, L = d.useRef(), I = ze(L, V.ref), R = m({}, s, {
    anchorOrigin: u,
    anchorReference: f,
    elevation: h,
    marginThreshold: y,
    externalPaperSlotProps: V,
    transformOrigin: O,
    TransitionComponent: P,
    transitionDuration: S,
    TransitionProps: N
  }), k = P4(R), F = d.useCallback(() => {
    if (f === "anchorPosition")
      return process.env.NODE_ENV !== "production" && (p || console.error('MUI: You need to provide a `anchorPosition` prop when using <Popover anchorReference="anchorPosition" />.')), p;
    const q = ki(c), te = q && q.nodeType === 1 ? q : lt(L.current).body, ie = te.getBoundingClientRect();
    if (process.env.NODE_ENV !== "production") {
      const de = te.getBoundingClientRect();
      process.env.NODE_ENV !== "test" && de.top === 0 && de.left === 0 && de.right === 0 && de.bottom === 0 && console.warn(["MUI: The `anchorEl` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
`));
    }
    return {
      top: ie.top + nf(ie, u.vertical),
      left: ie.left + of(ie, u.horizontal)
    };
  }, [c, u.horizontal, u.vertical, p, f]), M = d.useCallback((q) => ({
    vertical: nf(q, O.vertical),
    horizontal: of(q, O.horizontal)
  }), [O.horizontal, O.vertical]), B = d.useCallback((q) => {
    const te = {
      width: q.offsetWidth,
      height: q.offsetHeight
    }, ie = M(te);
    if (f === "none")
      return {
        top: null,
        left: null,
        transformOrigin: rf(ie)
      };
    const de = F();
    let ge = de.top - ie.vertical, fe = de.left - ie.horizontal;
    const Oe = ge + te.height, Te = fe + te.width, Re = pn(ki(c)), Be = Re.innerHeight - y, je = Re.innerWidth - y;
    if (y !== null && ge < y) {
      const Fe = ge - y;
      ge -= Fe, ie.vertical += Fe;
    } else if (y !== null && Oe > Be) {
      const Fe = Oe - Be;
      ge -= Fe, ie.vertical += Fe;
    }
    if (process.env.NODE_ENV !== "production" && te.height > Be && te.height && Be && console.error(["MUI: The popover component is too tall.", `Some part of it can not be seen on the screen (${te.height - Be}px).`, "Please consider adding a `max-height` to improve the user-experience."].join(`
`)), y !== null && fe < y) {
      const Fe = fe - y;
      fe -= Fe, ie.horizontal += Fe;
    } else if (Te > je) {
      const Fe = Te - je;
      fe -= Fe, ie.horizontal += Fe;
    }
    return {
      top: `${Math.round(ge)}px`,
      left: `${Math.round(fe)}px`,
      transformOrigin: rf(ie)
    };
  }, [c, f, F, M, y]), [j, W] = d.useState(C), re = d.useCallback(() => {
    const q = L.current;
    if (!q)
      return;
    const te = B(q);
    te.top !== null && (q.style.top = te.top), te.left !== null && (q.style.left = te.left), q.style.transformOrigin = te.transformOrigin, W(!0);
  }, [B]);
  d.useEffect(() => (A && window.addEventListener("scroll", re), () => window.removeEventListener("scroll", re)), [c, A, re]);
  const J = (q, te) => {
    $ && $(q, te), re();
  }, Q = () => {
    W(!1);
  };
  d.useEffect(() => {
    C && re();
  }), d.useImperativeHandle(l, () => C ? {
    updatePosition: () => {
      re();
    }
  } : null, [C, re]), d.useEffect(() => {
    if (!C)
      return;
    const q = _r(() => {
      re();
    }), te = pn(c);
    return te.addEventListener("resize", q), () => {
      q.clear(), te.removeEventListener("resize", q);
    };
  }, [c, C, re]);
  let X = S;
  S === "auto" && !P.muiSupportAuto && (X = void 0);
  const Y = b || (c ? lt(ki(c)).body : void 0), Z = (a = w == null ? void 0 : w.root) != null ? a : R4, H = (i = w == null ? void 0 : w.paper) != null ? i : mg, K = $e({
    elementType: H,
    externalSlotProps: m({}, V, {
      style: j ? V.style : m({}, V.style, {
        opacity: 0
      })
    }),
    additionalProps: {
      elevation: h,
      ref: I
    },
    ownerState: R,
    className: ce(k.paper, V == null ? void 0 : V.className)
  }), ne = $e({
    elementType: Z,
    externalSlotProps: (T == null ? void 0 : T.root) || {},
    externalForwardedProps: D,
    additionalProps: {
      ref: o,
      slotProps: {
        backdrop: {
          invisible: !0
        }
      },
      container: Y,
      open: C
    },
    ownerState: R,
    className: ce(k.root, v)
  }), {
    slotProps: ae
  } = ne, z = oe(ne, S4);
  return /* @__PURE__ */ x(Z, m({}, z, !Fn(Z) && {
    slotProps: ae,
    disableScrollLock: A
  }, {
    children: /* @__PURE__ */ x(P, m({
      appear: !0,
      in: C,
      onEntering: J,
      onExited: Q,
      timeout: X
    }, N, {
      children: /* @__PURE__ */ x(H, m({}, K, {
        children: g
      }))
    }))
  }));
});
process.env.NODE_ENV !== "production" && (hg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * A ref for imperative actions.
   * It currently only supports updatePosition() action.
   */
  action: ut,
  /**
   * An HTML element, [PopoverVirtualElement](/material-ui/react-popover/#virtual-element),
   * or a function that returns either.
   * It's used to set the position of the popover.
   */
  anchorEl: Jt(n.oneOfType([zn, n.func]), (e) => {
    if (e.open && (!e.anchorReference || e.anchorReference === "anchorEl")) {
      const t = ki(e.anchorEl);
      if (t && t.nodeType === 1) {
        const o = t.getBoundingClientRect();
        if (process.env.NODE_ENV !== "test" && o.top === 0 && o.left === 0 && o.right === 0 && o.bottom === 0)
          return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
`));
      } else
        return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.", `It should be an Element or PopoverVirtualElement instance but it's \`${t}\` instead.`].join(`
`));
    }
    return null;
  }),
  /**
   * This is the point on the anchor where the popover's
   * `anchorEl` will attach to. This is not used when the
   * anchorReference is 'anchorPosition'.
   *
   * Options:
   * vertical: [top, center, bottom];
   * horizontal: [left, center, right].
   * @default {
   *   vertical: 'top',
   *   horizontal: 'left',
   * }
   */
  anchorOrigin: n.shape({
    horizontal: n.oneOfType([n.oneOf(["center", "left", "right"]), n.number]).isRequired,
    vertical: n.oneOfType([n.oneOf(["bottom", "center", "top"]), n.number]).isRequired
  }),
  /**
   * This is the position that may be used to set the position of the popover.
   * The coordinates are relative to the application's client area.
   */
  anchorPosition: n.shape({
    left: n.number.isRequired,
    top: n.number.isRequired
  }),
  /**
   * This determines which anchor prop to refer to when setting
   * the position of the popover.
   * @default 'anchorEl'
   */
  anchorReference: n.oneOf(["anchorEl", "anchorPosition", "none"]),
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * An HTML element, component instance, or function that returns either.
   * The `container` will passed to the Modal component.
   *
   * By default, it uses the body of the anchorEl's top-level document object,
   * so it's simply `document.body` most of the time.
   */
  container: n.oneOfType([zn, n.func]),
  /**
   * Disable the scroll lock behavior.
   * @default false
   */
  disableScrollLock: n.bool,
  /**
   * The elevation of the popover.
   * @default 8
   */
  elevation: Pn,
  /**
   * Specifies how close to the edge of the window the popover can appear.
   * If null, the popover will not be constrained by the window.
   * @default 16
   */
  marginThreshold: n.number,
  /**
   * Callback fired when the component requests to be closed.
   * The `reason` parameter can optionally be used to control the response to `onClose`.
   */
  onClose: n.func,
  /**
   * If `true`, the component is shown.
   */
  open: n.bool.isRequired,
  /**
   * Props applied to the [`Paper`](/material-ui/api/paper/) element.
   *
   * This prop is an alias for `slotProps.paper` and will be overriden by it if both are used.
   * @deprecated Use `slotProps.paper` instead.
   *
   * @default {}
   */
  PaperProps: n.shape({
    component: Nr
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * @default {}
   */
  slotProps: n.shape({
    paper: n.oneOfType([n.func, n.object]),
    root: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside.
   *
   * @default {}
   */
  slots: n.shape({
    paper: n.elementType,
    root: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * This is the point on the popover which
   * will attach to the anchor's origin.
   *
   * Options:
   * vertical: [top, center, bottom, x(px)];
   * horizontal: [left, center, right, x(px)].
   * @default {
   *   vertical: 'top',
   *   horizontal: 'left',
   * }
   */
  transformOrigin: n.shape({
    horizontal: n.oneOfType([n.oneOf(["center", "left", "right"]), n.number]).isRequired,
    vertical: n.oneOfType([n.oneOf(["bottom", "center", "top"]), n.number]).isRequired
  }),
  /**
   * The component used for the transition.
   * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
   * @default Grow
   */
  TransitionComponent: n.elementType,
  /**
   * Set to 'auto' to automatically calculate transition time based on height.
   * @default 'auto'
   */
  transitionDuration: n.oneOfType([n.oneOf(["auto"]), n.number, n.shape({
    appear: n.number,
    enter: n.number,
    exit: n.number
  })]),
  /**
   * Props applied to the transition element.
   * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
   * @default {}
   */
  TransitionProps: n.object
});
function k4(e) {
  return ye("MuiMenu", e);
}
be("MuiMenu", ["root", "paper", "list"]);
const M4 = ["onEntering"], $4 = ["autoFocus", "children", "className", "disableAutoFocusItem", "MenuListProps", "onClose", "open", "PaperProps", "PopoverClasses", "transitionDuration", "TransitionProps", "variant", "slots", "slotProps"], D4 = {
  vertical: "top",
  horizontal: "right"
}, I4 = {
  vertical: "top",
  horizontal: "left"
}, N4 = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    paper: ["paper"],
    list: ["list"]
  }, k4, t);
}, _4 = U(hg, {
  shouldForwardProp: (e) => _t(e) || e === "classes",
  name: "MuiMenu",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({}), A4 = U(mg, {
  name: "MuiMenu",
  slot: "Paper",
  overridesResolver: (e, t) => t.paper
})({
  // specZ: The maximum height of a simple menu should be one or more rows less than the view
  // height. This ensures a tappable area outside of the simple menu with which to dismiss
  // the menu.
  maxHeight: "calc(100% - 96px)",
  // Add iOS momentum scrolling for iOS < 13.0
  WebkitOverflowScrolling: "touch"
}), L4 = U(fg, {
  name: "MuiMenu",
  slot: "List",
  overridesResolver: (e, t) => t.list
})({
  // We disable the focus ring for mouse, touch and keyboard users.
  outline: 0
}), gg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a;
  const i = Ee({
    props: t,
    name: "MuiMenu"
  }), {
    autoFocus: s = !0,
    children: l,
    className: c,
    disableAutoFocusItem: u = !1,
    MenuListProps: p = {},
    onClose: f,
    open: g,
    PaperProps: v = {},
    PopoverClasses: b,
    transitionDuration: h = "auto",
    TransitionProps: {
      onEntering: y
    } = {},
    variant: C = "selectedMenu",
    slots: E = {},
    slotProps: w = {}
  } = i, T = oe(i.TransitionProps, M4), O = oe(i, $4), P = To(), S = m({}, i, {
    autoFocus: s,
    disableAutoFocusItem: u,
    MenuListProps: p,
    onEntering: y,
    PaperProps: v,
    transitionDuration: h,
    TransitionProps: T,
    variant: C
  }), $ = N4(S), A = s && !u && g, N = d.useRef(null), D = (M, B) => {
    N.current && N.current.adjustStyleForScrollbar(M, {
      direction: P ? "rtl" : "ltr"
    }), y && y(M, B);
  }, V = (M) => {
    M.key === "Tab" && (M.preventDefault(), f && f(M, "tabKeyDown"));
  };
  let L = -1;
  d.Children.map(l, (M, B) => {
    /* @__PURE__ */ d.isValidElement(M) && (process.env.NODE_ENV !== "production" && Vn.isFragment(M) && console.error(["MUI: The Menu component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
`)), M.props.disabled || (C === "selectedMenu" && M.props.selected || L === -1) && (L = B));
  });
  const I = (r = E.paper) != null ? r : A4, R = (a = w.paper) != null ? a : v, k = $e({
    elementType: E.root,
    externalSlotProps: w.root,
    ownerState: S,
    className: [$.root, c]
  }), F = $e({
    elementType: I,
    externalSlotProps: R,
    ownerState: S,
    className: $.paper
  });
  return /* @__PURE__ */ x(_4, m({
    onClose: f,
    anchorOrigin: {
      vertical: "bottom",
      horizontal: P ? "right" : "left"
    },
    transformOrigin: P ? D4 : I4,
    slots: {
      paper: I,
      root: E.root
    },
    slotProps: {
      root: k,
      paper: F
    },
    open: g,
    ref: o,
    transitionDuration: h,
    TransitionProps: m({
      onEntering: D
    }, T),
    ownerState: S
  }, O, {
    classes: b,
    children: /* @__PURE__ */ x(L4, m({
      onKeyDown: V,
      actions: N,
      autoFocus: s && (L === -1 || u),
      autoFocusItem: A,
      variant: C
    }, p, {
      className: ce($.list, p.className),
      children: l
    }))
  }));
});
process.env.NODE_ENV !== "production" && (gg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * An HTML element, or a function that returns one.
   * It's used to set the position of the menu.
   */
  anchorEl: n.oneOfType([zn, n.func]),
  /**
   * If `true` (Default) will focus the `[role="menu"]` if no focusable child is found. Disabled
   * children are not focusable. If you set this prop to `false` focus will be placed
   * on the parent modal container. This has severe accessibility implications
   * and should only be considered if you manage focus otherwise.
   * @default true
   */
  autoFocus: n.bool,
  /**
   * Menu contents, normally `MenuItem`s.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * When opening the menu will not focus the active item but the `[role="menu"]`
   * unless `autoFocus` is also set to `false`. Not using the default means not
   * following WAI-ARIA authoring practices. Please be considerate about possible
   * accessibility implications.
   * @default false
   */
  disableAutoFocusItem: n.bool,
  /**
   * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element.
   * @default {}
   */
  MenuListProps: n.object,
  /**
   * Callback fired when the component requests to be closed.
   *
   * @param {object} event The event source of the callback.
   * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`, `"tabKeyDown"`.
   */
  onClose: n.func,
  /**
   * If `true`, the component is shown.
   */
  open: n.bool.isRequired,
  /**
   * @ignore
   */
  PaperProps: n.object,
  /**
   * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element.
   */
  PopoverClasses: n.object,
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * @default {}
   */
  slotProps: n.shape({
    paper: n.oneOfType([n.func, n.object]),
    root: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside.
   *
   * @default {}
   */
  slots: n.shape({
    paper: n.elementType,
    root: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The length of the transition in `ms`, or 'auto'
   * @default 'auto'
   */
  transitionDuration: n.oneOfType([n.oneOf(["auto"]), n.number, n.shape({
    appear: n.number,
    enter: n.number,
    exit: n.number
  })]),
  /**
   * Props applied to the transition element.
   * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
   * @default {}
   */
  TransitionProps: n.object,
  /**
   * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.
   * @default 'selectedMenu'
   */
  variant: n.oneOf(["menu", "selectedMenu"])
});
function F4(e) {
  return ye("MuiNativeSelect", e);
}
const bu = be("MuiNativeSelect", ["root", "select", "multiple", "filled", "outlined", "standard", "disabled", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput", "error"]), j4 = ["className", "disabled", "error", "IconComponent", "inputRef", "variant"], V4 = (e) => {
  const {
    classes: t,
    variant: o,
    disabled: r,
    multiple: a,
    open: i,
    error: s
  } = e, l = {
    select: ["select", o, r && "disabled", a && "multiple", s && "error"],
    icon: ["icon", `icon${ee(o)}`, i && "iconOpen", r && "disabled"]
  };
  return ve(l, F4, t);
}, bg = ({
  ownerState: e,
  theme: t
}) => m({
  MozAppearance: "none",
  // Reset
  WebkitAppearance: "none",
  // Reset
  // When interacting quickly, the text can end up selected.
  // Native select can't be selected either.
  userSelect: "none",
  borderRadius: 0,
  // Reset
  cursor: "pointer",
  "&:focus": m({}, t.vars ? {
    backgroundColor: `rgba(${t.vars.palette.common.onBackgroundChannel} / 0.05)`
  } : {
    backgroundColor: t.palette.mode === "light" ? "rgba(0, 0, 0, 0.05)" : "rgba(255, 255, 255, 0.05)"
  }, {
    borderRadius: 0
    // Reset Chrome style
  }),
  // Remove IE11 arrow
  "&::-ms-expand": {
    display: "none"
  },
  [`&.${bu.disabled}`]: {
    cursor: "default"
  },
  "&[multiple]": {
    height: "auto"
  },
  "&:not([multiple]) option, &:not([multiple]) optgroup": {
    backgroundColor: (t.vars || t).palette.background.paper
  },
  // Bump specificity to allow extending custom inputs
  "&&&": {
    paddingRight: 24,
    minWidth: 16
    // So it doesn't collapse.
  }
}, e.variant === "filled" && {
  "&&&": {
    paddingRight: 32
  }
}, e.variant === "outlined" && {
  borderRadius: (t.vars || t).shape.borderRadius,
  "&:focus": {
    borderRadius: (t.vars || t).shape.borderRadius
    // Reset the reset for Chrome style
  },
  "&&&": {
    paddingRight: 32
  }
}), z4 = U("select", {
  name: "MuiNativeSelect",
  slot: "Select",
  shouldForwardProp: _t,
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.select, t[o.variant], o.error && t.error, {
      [`&.${bu.multiple}`]: t.multiple
    }];
  }
})(bg), yg = ({
  ownerState: e,
  theme: t
}) => m({
  // We use a position absolute over a flexbox in order to forward the pointer events
  // to the input and to support wrapping tags..
  position: "absolute",
  right: 0,
  top: "calc(50% - .5em)",
  // Center vertically, height is 1em
  pointerEvents: "none",
  // Don't block pointer events on the select under the icon.
  color: (t.vars || t).palette.action.active,
  [`&.${bu.disabled}`]: {
    color: (t.vars || t).palette.action.disabled
  }
}, e.open && {
  transform: "rotate(180deg)"
}, e.variant === "filled" && {
  right: 7
}, e.variant === "outlined" && {
  right: 7
}), B4 = U("svg", {
  name: "MuiNativeSelect",
  slot: "Icon",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.icon, o.variant && t[`icon${ee(o.variant)}`], o.open && t.iconOpen];
  }
})(yg), vg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const {
    className: r,
    disabled: a,
    error: i,
    IconComponent: s,
    inputRef: l,
    variant: c = "standard"
  } = t, u = oe(t, j4), p = m({}, t, {
    disabled: a,
    variant: c,
    error: i
  }), f = V4(p);
  return /* @__PURE__ */ he(d.Fragment, {
    children: [/* @__PURE__ */ x(z4, m({
      ownerState: p,
      className: ce(f.select, r),
      disabled: a,
      ref: l || o
    }, u)), t.multiple ? null : /* @__PURE__ */ x(B4, {
      as: s,
      ownerState: p,
      className: f.icon
    })]
  });
});
process.env.NODE_ENV !== "production" && (vg.propTypes = {
  /**
   * The option elements to populate the select with.
   * Can be some `<option>` elements.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * The CSS class name of the select element.
   */
  className: n.string,
  /**
   * If `true`, the select is disabled.
   */
  disabled: n.bool,
  /**
   * If `true`, the `select input` will indicate an error.
   */
  error: n.bool,
  /**
   * The icon that displays the arrow.
   */
  IconComponent: n.elementType.isRequired,
  /**
   * Use that prop to pass a ref to the native select element.
   * @deprecated
   */
  inputRef: ut,
  /**
   * @ignore
   */
  multiple: n.bool,
  /**
   * Name attribute of the `select` or hidden `input` element.
   */
  name: n.string,
  /**
   * Callback fired when a menu item is selected.
   *
   * @param {object} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (string).
   */
  onChange: n.func,
  /**
   * The input value.
   */
  value: n.any,
  /**
   * The variant to use.
   */
  variant: n.oneOf(["standard", "outlined", "filled"])
});
function W4(e) {
  return ye("MuiSelect", e);
}
const Jr = be("MuiSelect", ["root", "select", "multiple", "filled", "outlined", "standard", "disabled", "focused", "icon", "iconOpen", "iconFilled", "iconOutlined", "iconStandard", "nativeInput", "error"]);
var af;
const U4 = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "error", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"], H4 = U("div", {
  name: "MuiSelect",
  slot: "Select",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [
      // Win specificity over the input base
      {
        [`&.${Jr.select}`]: t.select
      },
      {
        [`&.${Jr.select}`]: t[o.variant]
      },
      {
        [`&.${Jr.error}`]: t.error
      },
      {
        [`&.${Jr.multiple}`]: t.multiple
      }
    ];
  }
})(bg, {
  // Win specificity over the input base
  [`&.${Jr.select}`]: {
    height: "auto",
    // Resets for multiple select with chips
    minHeight: "1.4375em",
    // Required for select\text-field height consistency
    textOverflow: "ellipsis",
    whiteSpace: "nowrap",
    overflow: "hidden"
  }
}), q4 = U("svg", {
  name: "MuiSelect",
  slot: "Icon",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.icon, o.variant && t[`icon${ee(o.variant)}`], o.open && t.iconOpen];
  }
})(yg), Y4 = U("input", {
  shouldForwardProp: (e) => vs(e) && e !== "classes",
  name: "MuiSelect",
  slot: "NativeInput",
  overridesResolver: (e, t) => t.nativeInput
})({
  bottom: 0,
  left: 0,
  position: "absolute",
  opacity: 0,
  pointerEvents: "none",
  width: "100%",
  boxSizing: "border-box"
});
function sf(e, t) {
  return typeof t == "object" && t !== null ? e === t : String(e) === String(t);
}
function K4(e) {
  return e == null || typeof e == "string" && !e.trim();
}
const G4 = (e) => {
  const {
    classes: t,
    variant: o,
    disabled: r,
    multiple: a,
    open: i,
    error: s
  } = e, l = {
    select: ["select", o, r && "disabled", a && "multiple", s && "error"],
    icon: ["icon", `icon${ee(o)}`, i && "iconOpen", r && "disabled"],
    nativeInput: ["nativeInput"]
  };
  return ve(l, W4, t);
}, xg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r;
  const {
    "aria-describedby": a,
    "aria-label": i,
    autoFocus: s,
    autoWidth: l,
    children: c,
    className: u,
    defaultOpen: p,
    defaultValue: f,
    disabled: g,
    displayEmpty: v,
    error: b = !1,
    IconComponent: h,
    inputRef: y,
    labelId: C,
    MenuProps: E = {},
    multiple: w,
    name: T,
    onBlur: O,
    onChange: P,
    onClose: S,
    onFocus: $,
    onOpen: A,
    open: N,
    readOnly: D,
    renderValue: V,
    SelectDisplayProps: L = {},
    tabIndex: I,
    value: R,
    variant: k = "standard"
  } = t, F = oe(t, U4), [M, B] = Vt({
    controlled: R,
    default: f,
    name: "Select"
  }), [j, W] = Vt({
    controlled: N,
    default: p,
    name: "Select"
  }), re = d.useRef(null), J = d.useRef(null), [Q, X] = d.useState(null), {
    current: Y
  } = d.useRef(N != null), [Z, H] = d.useState(), K = ze(o, y), ne = d.useCallback((we) => {
    J.current = we, we && X(we);
  }, []), ae = Q == null ? void 0 : Q.parentNode;
  d.useImperativeHandle(K, () => ({
    focus: () => {
      J.current.focus();
    },
    node: re.current,
    value: M
  }), [M]), d.useEffect(() => {
    p && j && Q && !Y && (H(l ? null : ae.clientWidth), J.current.focus());
  }, [Q, l]), d.useEffect(() => {
    s && J.current.focus();
  }, [s]), d.useEffect(() => {
    if (!C)
      return;
    const we = lt(J.current).getElementById(C);
    if (we) {
      const pe = () => {
        getSelection().isCollapsed && J.current.focus();
      };
      return we.addEventListener("click", pe), () => {
        we.removeEventListener("click", pe);
      };
    }
  }, [C]);
  const z = (we, pe) => {
    we ? A && A(pe) : S && S(pe), Y || (H(l ? null : ae.clientWidth), W(we));
  }, q = (we) => {
    we.button === 0 && (we.preventDefault(), J.current.focus(), z(!0, we));
  }, te = (we) => {
    z(!1, we);
  }, ie = d.Children.toArray(c), de = (we) => {
    const pe = ie.find((me) => me.props.value === we.target.value);
    pe !== void 0 && (B(pe.props.value), P && P(we, pe));
  }, ge = (we) => (pe) => {
    let me;
    if (pe.currentTarget.hasAttribute("tabindex")) {
      if (w) {
        me = Array.isArray(M) ? M.slice() : [];
        const Se = M.indexOf(we.props.value);
        Se === -1 ? me.push(we.props.value) : me.splice(Se, 1);
      } else
        me = we.props.value;
      if (we.props.onClick && we.props.onClick(pe), M !== me && (B(me), P)) {
        const Se = pe.nativeEvent || pe, Ne = new Se.constructor(Se.type, Se);
        Object.defineProperty(Ne, "target", {
          writable: !0,
          value: {
            value: me,
            name: T
          }
        }), P(Ne, we);
      }
      w || z(!1, pe);
    }
  }, fe = (we) => {
    D || [
      " ",
      "ArrowUp",
      "ArrowDown",
      // The native select doesn't respond to enter on macOS, but it's recommended by
      // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/
      "Enter"
    ].indexOf(we.key) !== -1 && (we.preventDefault(), z(!0, we));
  }, Oe = Q !== null && j, Te = (we) => {
    !Oe && O && (Object.defineProperty(we, "target", {
      writable: !0,
      value: {
        value: M,
        name: T
      }
    }), O(we));
  };
  delete F["aria-invalid"];
  let Re, Be;
  const je = [];
  let Fe = !1, et = !1;
  (Gi({
    value: M
  }) || v) && (V ? Re = V(M) : Fe = !0);
  const ct = ie.map((we) => {
    if (!/* @__PURE__ */ d.isValidElement(we))
      return null;
    process.env.NODE_ENV !== "production" && Vn.isFragment(we) && console.error(["MUI: The Select component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
`));
    let pe;
    if (w) {
      if (!Array.isArray(M))
        throw new Error(process.env.NODE_ENV !== "production" ? "MUI: The `value` prop must be an array when using the `Select` component with `multiple`." : Gn(2));
      pe = M.some((me) => sf(me, we.props.value)), pe && Fe && je.push(we.props.children);
    } else
      pe = sf(M, we.props.value), pe && Fe && (Be = we.props.children);
    return pe && (et = !0), /* @__PURE__ */ d.cloneElement(we, {
      "aria-selected": pe ? "true" : "false",
      onClick: ge(we),
      onKeyUp: (me) => {
        me.key === " " && me.preventDefault(), we.props.onKeyUp && we.props.onKeyUp(me);
      },
      role: "option",
      selected: pe,
      value: void 0,
      // The value is most likely not a valid HTML attribute.
      "data-value": we.props.value
      // Instead, we provide it as a data attribute.
    });
  });
  process.env.NODE_ENV !== "production" && d.useEffect(() => {
    if (!et && !w && M !== "") {
      const we = ie.map((pe) => pe.props.value);
      console.warn([`MUI: You have provided an out-of-range value \`${M}\` for the select ${T ? `(name="${T}") ` : ""}component.`, "Consider providing a value that matches one of the available options or ''.", `The available values are ${we.filter((pe) => pe != null).map((pe) => `\`${pe}\``).join(", ") || '""'}.`].join(`
`));
    }
  }, [et, ie, w, T, M]), Fe && (w ? je.length === 0 ? Re = null : Re = je.reduce((we, pe, me) => (we.push(pe), me < je.length - 1 && we.push(", "), we), []) : Re = Be);
  let ot = Z;
  !l && Y && Q && (ot = ae.clientWidth);
  let ue;
  typeof I < "u" ? ue = I : ue = g ? null : 0;
  const le = L.id || (T ? `mui-component-select-${T}` : void 0), xe = m({}, t, {
    variant: k,
    value: M,
    open: Oe,
    error: b
  }), ke = G4(xe), De = m({}, E.PaperProps, (r = E.slotProps) == null ? void 0 : r.paper), Ie = Mn();
  return /* @__PURE__ */ he(d.Fragment, {
    children: [/* @__PURE__ */ x(H4, m({
      ref: ne,
      tabIndex: ue,
      role: "combobox",
      "aria-controls": Ie,
      "aria-disabled": g ? "true" : void 0,
      "aria-expanded": Oe ? "true" : "false",
      "aria-haspopup": "listbox",
      "aria-label": i,
      "aria-labelledby": [C, le].filter(Boolean).join(" ") || void 0,
      "aria-describedby": a,
      onKeyDown: fe,
      onMouseDown: g || D ? null : q,
      onBlur: Te,
      onFocus: $
    }, L, {
      ownerState: xe,
      className: ce(L.className, ke.select, u),
      id: le,
      children: K4(Re) ? (
        // notranslate needed while Google Translate will not fix zero-width space issue
        af || (af = /* @__PURE__ */ x("span", {
          className: "notranslate",
          children: "​"
        }))
      ) : Re
    })), /* @__PURE__ */ x(Y4, m({
      "aria-invalid": b,
      value: Array.isArray(M) ? M.join(",") : M,
      name: T,
      ref: re,
      "aria-hidden": !0,
      onChange: de,
      tabIndex: -1,
      disabled: g,
      className: ke.nativeInput,
      autoFocus: s,
      ownerState: xe
    }, F)), /* @__PURE__ */ x(q4, {
      as: h,
      className: ke.icon,
      ownerState: xe
    }), /* @__PURE__ */ x(gg, m({
      id: `menu-${T || ""}`,
      anchorEl: ae,
      open: Oe,
      onClose: te,
      anchorOrigin: {
        vertical: "bottom",
        horizontal: "center"
      },
      transformOrigin: {
        vertical: "top",
        horizontal: "center"
      }
    }, E, {
      MenuListProps: m({
        "aria-labelledby": C,
        role: "listbox",
        "aria-multiselectable": w ? "true" : void 0,
        disableListWrap: !0,
        id: Ie
      }, E.MenuListProps),
      slotProps: m({}, E.slotProps, {
        paper: m({}, De, {
          style: m({
            minWidth: ot
          }, De != null ? De.style : null)
        })
      }),
      children: ct
    }))]
  });
});
process.env.NODE_ENV !== "production" && (xg.propTypes = {
  /**
   * @ignore
   */
  "aria-describedby": n.string,
  /**
   * @ignore
   */
  "aria-label": n.string,
  /**
   * @ignore
   */
  autoFocus: n.bool,
  /**
   * If `true`, the width of the popover will automatically be set according to the items inside the
   * menu, otherwise it will be at least the width of the select input.
   */
  autoWidth: n.bool,
  /**
   * The option elements to populate the select with.
   * Can be some `<MenuItem>` elements.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * The CSS class name of the select element.
   */
  className: n.string,
  /**
   * If `true`, the component is toggled on mount. Use when the component open state is not controlled.
   * You can only use it when the `native` prop is `false` (default).
   */
  defaultOpen: n.bool,
  /**
   * The default value. Use when the component is not controlled.
   */
  defaultValue: n.any,
  /**
   * If `true`, the select is disabled.
   */
  disabled: n.bool,
  /**
   * If `true`, the selected item is displayed even if its value is empty.
   */
  displayEmpty: n.bool,
  /**
   * If `true`, the `select input` will indicate an error.
   */
  error: n.bool,
  /**
   * The icon that displays the arrow.
   */
  IconComponent: n.elementType.isRequired,
  /**
   * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }`
   * Equivalent to `ref`
   */
  inputRef: ut,
  /**
   * The ID of an element that acts as an additional label. The Select will
   * be labelled by the additional label and the selected value.
   */
  labelId: n.string,
  /**
   * Props applied to the [`Menu`](/material-ui/api/menu/) element.
   */
  MenuProps: n.object,
  /**
   * If `true`, `value` must be an array and the menu will support multiple selections.
   */
  multiple: n.bool,
  /**
   * Name attribute of the `select` or hidden `input` element.
   */
  name: n.string,
  /**
   * @ignore
   */
  onBlur: n.func,
  /**
   * Callback fired when a menu item is selected.
   *
   * @param {object} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (any).
   * @param {object} [child] The react element that was selected.
   */
  onChange: n.func,
  /**
   * Callback fired when the component requests to be closed.
   * Use in controlled mode (see open).
   *
   * @param {object} event The event source of the callback.
   */
  onClose: n.func,
  /**
   * @ignore
   */
  onFocus: n.func,
  /**
   * Callback fired when the component requests to be opened.
   * Use in controlled mode (see open).
   *
   * @param {object} event The event source of the callback.
   */
  onOpen: n.func,
  /**
   * If `true`, the component is shown.
   */
  open: n.bool,
  /**
   * @ignore
   */
  readOnly: n.bool,
  /**
   * Render the selected value.
   *
   * @param {any} value The `value` provided to the component.
   * @returns {ReactNode}
   */
  renderValue: n.func,
  /**
   * Props applied to the clickable div element.
   */
  SelectDisplayProps: n.object,
  /**
   * @ignore
   */
  tabIndex: n.oneOfType([n.number, n.string]),
  /**
   * @ignore
   */
  type: n.any,
  /**
   * The input value.
   */
  value: n.any,
  /**
   * The variant to use.
   */
  variant: n.oneOf(["standard", "outlined", "filled"])
});
const X4 = nt(/* @__PURE__ */ x("path", {
  d: "M7 10l5 5 5-5z"
}), "ArrowDropDown"), Z4 = ["autoWidth", "children", "classes", "className", "defaultOpen", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"], Q4 = ["root"], J4 = (e) => {
  const {
    classes: t
  } = e;
  return t;
}, yu = {
  name: "MuiSelect",
  overridesResolver: (e, t) => t.root,
  shouldForwardProp: (e) => _t(e) && e !== "variant",
  slot: "Root"
}, eO = U(Ns, yu)(""), tO = U(As, yu)(""), nO = U(_s, yu)(""), Fs = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    name: "MuiSelect",
    props: t
  }), {
    autoWidth: a = !1,
    children: i,
    classes: s = {},
    className: l,
    defaultOpen: c = !1,
    displayEmpty: u = !1,
    IconComponent: p = X4,
    id: f,
    input: g,
    inputProps: v,
    label: b,
    labelId: h,
    MenuProps: y,
    multiple: C = !1,
    native: E = !1,
    onClose: w,
    onOpen: T,
    open: O,
    renderValue: P,
    SelectDisplayProps: S,
    variant: $ = "outlined"
  } = r, A = oe(r, Z4), N = E ? vg : xg, D = xn(), V = Fr({
    props: r,
    muiFormControl: D,
    states: ["variant", "error"]
  }), L = V.variant || $, I = m({}, r, {
    variant: L,
    classes: s
  }), R = J4(I), k = oe(R, Q4), F = g || {
    standard: /* @__PURE__ */ x(eO, {
      ownerState: I
    }),
    outlined: /* @__PURE__ */ x(tO, {
      label: b,
      ownerState: I
    }),
    filled: /* @__PURE__ */ x(nO, {
      ownerState: I
    })
  }[L], M = ze(o, Co(F));
  return /* @__PURE__ */ x(d.Fragment, {
    children: /* @__PURE__ */ d.cloneElement(F, m({
      // Most of the logic is implemented in `SelectInput`.
      // The `Select` component is a simple API wrapper to expose something better to play with.
      inputComponent: N,
      inputProps: m({
        children: i,
        error: V.error,
        IconComponent: p,
        variant: L,
        type: void 0,
        // We render a select. We can ignore the type provided by the `Input`.
        multiple: C
      }, E ? {
        id: f
      } : {
        autoWidth: a,
        defaultOpen: c,
        displayEmpty: u,
        labelId: h,
        MenuProps: y,
        onClose: w,
        onOpen: T,
        open: O,
        renderValue: P,
        SelectDisplayProps: m({
          id: f
        }, S)
      }, v, {
        classes: v ? Qt(k, v.classes) : k
      }, g ? g.props.inputProps : {})
    }, (C && E || u) && L === "outlined" ? {
      notched: !0
    } : {}, {
      ref: M,
      className: ce(F.props.className, l, R.root)
    }, !g && {
      variant: L
    }, A))
  });
});
process.env.NODE_ENV !== "production" && (Fs.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * If `true`, the width of the popover will automatically be set according to the items inside the
   * menu, otherwise it will be at least the width of the select input.
   * @default false
   */
  autoWidth: n.bool,
  /**
   * The option elements to populate the select with.
   * Can be some `MenuItem` when `native` is false and `option` when `native` is true.
   *
   * ⚠️The `MenuItem` elements **must** be direct descendants when `native` is false.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   * @default {}
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * If `true`, the component is initially open. Use when the component open state is not controlled (i.e. the `open` prop is not defined).
   * You can only use it when the `native` prop is `false` (default).
   * @default false
   */
  defaultOpen: n.bool,
  /**
   * The default value. Use when the component is not controlled.
   */
  defaultValue: n.any,
  /**
   * If `true`, a value is displayed even if no items are selected.
   *
   * In order to display a meaningful value, a function can be passed to the `renderValue` prop which
   * returns the value to be displayed when no items are selected.
   *
   * ⚠️ When using this prop, make sure the label doesn't overlap with the empty displayed value.
   * The label should either be hidden or forced to a shrunk state.
   * @default false
   */
  displayEmpty: n.bool,
  /**
   * The icon that displays the arrow.
   * @default ArrowDropDownIcon
   */
  IconComponent: n.elementType,
  /**
   * The `id` of the wrapper element or the `select` element when `native`.
   */
  id: n.string,
  /**
   * An `Input` element; does not have to be a material-ui specific `Input`.
   */
  input: n.element,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   * When `native` is `true`, the attributes are applied on the `select` element.
   */
  inputProps: n.object,
  /**
   * See [OutlinedInput#label](/material-ui/api/outlined-input/#props)
   */
  label: n.node,
  /**
   * The ID of an element that acts as an additional label. The Select will
   * be labelled by the additional label and the selected value.
   */
  labelId: n.string,
  /**
   * Props applied to the [`Menu`](/material-ui/api/menu/) element.
   */
  MenuProps: n.object,
  /**
   * If `true`, `value` must be an array and the menu will support multiple selections.
   * @default false
   */
  multiple: n.bool,
  /**
   * If `true`, the component uses a native `select` element.
   * @default false
   */
  native: n.bool,
  /**
   * Callback fired when a menu item is selected.
   *
   * @param {SelectChangeEvent<Value>} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (any).
   * **Warning**: This is a generic event, not a change event, unless the change event is caused by browser autofill.
   * @param {object} [child] The react element that was selected when `native` is `false` (default).
   */
  onChange: n.func,
  /**
   * Callback fired when the component requests to be closed.
   * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).
   *
   * @param {object} event The event source of the callback.
   */
  onClose: n.func,
  /**
   * Callback fired when the component requests to be opened.
   * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select expands).
   *
   * @param {object} event The event source of the callback.
   */
  onOpen: n.func,
  /**
   * If `true`, the component is shown.
   * You can only use it when the `native` prop is `false` (default).
   */
  open: n.bool,
  /**
   * Render the selected value.
   * You can only use it when the `native` prop is `false` (default).
   *
   * @param {any} value The `value` provided to the component.
   * @returns {ReactNode}
   */
  renderValue: n.func,
  /**
   * Props applied to the clickable div element.
   */
  SelectDisplayProps: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The `input` value. Providing an empty string will select no options.
   * Set to an empty string `''` if you don't want any of the available options to be selected.
   *
   * If the value is an object it must have reference equality with the option in order to be selected.
   * If the value is not an object, the string representation must match with the string representation of the option in order to be selected.
   */
  value: n.oneOfType([n.oneOf([""]), n.any]),
  /**
   * The variant to use.
   * @default 'outlined'
   */
  variant: n.oneOf(["filled", "outlined", "standard"])
});
Fs.muiName = "Select";
function oO(e) {
  return ye("MuiTextField", e);
}
be("MuiTextField", ["root"]);
const rO = ["autoComplete", "autoFocus", "children", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextProps", "fullWidth", "helperText", "id", "InputLabelProps", "inputProps", "InputProps", "inputRef", "label", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onFocus", "placeholder", "required", "rows", "select", "SelectProps", "type", "value", "variant"], aO = {
  standard: Ns,
  filled: _s,
  outlined: As
}, iO = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, oO, t);
}, sO = U(mu, {
  name: "MuiTextField",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({}), jr = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTextField"
  }), {
    autoComplete: a,
    autoFocus: i = !1,
    children: s,
    className: l,
    color: c = "primary",
    defaultValue: u,
    disabled: p = !1,
    error: f = !1,
    FormHelperTextProps: g,
    fullWidth: v = !1,
    helperText: b,
    id: h,
    InputLabelProps: y,
    inputProps: C,
    InputProps: E,
    inputRef: w,
    label: T,
    maxRows: O,
    minRows: P,
    multiline: S = !1,
    name: $,
    onBlur: A,
    onChange: N,
    onFocus: D,
    placeholder: V,
    required: L = !1,
    rows: I,
    select: R = !1,
    SelectProps: k,
    type: F,
    value: M,
    variant: B = "outlined"
  } = r, j = oe(r, rO), W = m({}, r, {
    autoFocus: i,
    color: c,
    disabled: p,
    error: f,
    fullWidth: v,
    multiline: S,
    required: L,
    select: R,
    variant: B
  }), re = iO(W);
  process.env.NODE_ENV !== "production" && R && !s && console.error("MUI: `children` must be passed when using the `TextField` component with `select`.");
  const J = {};
  B === "outlined" && (y && typeof y.shrink < "u" && (J.notched = y.shrink), J.label = T), R && ((!k || !k.native) && (J.id = void 0), J["aria-describedby"] = void 0);
  const Q = Mn(h), X = b && Q ? `${Q}-helper-text` : void 0, Y = T && Q ? `${Q}-label` : void 0, Z = aO[B], H = /* @__PURE__ */ x(Z, m({
    "aria-describedby": X,
    autoComplete: a,
    autoFocus: i,
    defaultValue: u,
    fullWidth: v,
    multiline: S,
    name: $,
    rows: I,
    maxRows: O,
    minRows: P,
    type: F,
    value: M,
    id: Q,
    inputRef: w,
    onBlur: A,
    onChange: N,
    onFocus: D,
    placeholder: V,
    inputProps: C
  }, J, E));
  return /* @__PURE__ */ he(sO, m({
    className: ce(re.root, l),
    disabled: p,
    error: f,
    fullWidth: v,
    ref: o,
    required: L,
    color: c,
    variant: B,
    ownerState: W
  }, j, {
    children: [T != null && T !== "" && /* @__PURE__ */ x(fu, m({
      htmlFor: Q,
      id: Y
    }, y, {
      children: T
    })), R ? /* @__PURE__ */ x(Fs, m({
      "aria-describedby": X,
      id: Q,
      labelId: Y,
      value: M,
      input: H
    }, k, {
      children: s
    })) : H, b && /* @__PURE__ */ x(hu, m({
      id: X
    }, g, {
      children: b
    }))]
  }));
});
process.env.NODE_ENV !== "production" && (jr.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * This prop helps users to fill forms faster, especially on mobile devices.
   * The name can be confusing, as it's more like an autofill.
   * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
   */
  autoComplete: n.string,
  /**
   * If `true`, the `input` element is focused during the first mount.
   * @default false
   */
  autoFocus: n.bool,
  /**
   * @ignore
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOfType([n.oneOf(["primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * The default value. Use when the component is not controlled.
   */
  defaultValue: n.any,
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, the label is displayed in an error state.
   * @default false
   */
  error: n.bool,
  /**
   * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
   */
  FormHelperTextProps: n.object,
  /**
   * If `true`, the input will take up the full width of its container.
   * @default false
   */
  fullWidth: n.bool,
  /**
   * The helper text content.
   */
  helperText: n.node,
  /**
   * The id of the `input` element.
   * Use this prop to make `label` and `helperText` accessible for screen readers.
   */
  id: n.string,
  /**
   * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
   * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
   */
  InputLabelProps: n.object,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   */
  inputProps: n.object,
  /**
   * Props applied to the Input element.
   * It will be a [`FilledInput`](/material-ui/api/filled-input/),
   * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
   * component depending on the `variant` prop value.
   */
  InputProps: n.object,
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * The label content.
   */
  label: n.node,
  /**
   * If `dense` or `normal`, will adjust vertical spacing of this and contained components.
   * @default 'none'
   */
  margin: n.oneOf(["dense", "none", "normal"]),
  /**
   * Maximum number of rows to display when multiline option is set to true.
   */
  maxRows: n.oneOfType([n.number, n.string]),
  /**
   * Minimum number of rows to display when multiline option is set to true.
   */
  minRows: n.oneOfType([n.number, n.string]),
  /**
   * If `true`, a `textarea` element is rendered instead of an input.
   * @default false
   */
  multiline: n.bool,
  /**
   * Name attribute of the `input` element.
   */
  name: n.string,
  /**
   * @ignore
   */
  onBlur: n.func,
  /**
   * Callback fired when the value is changed.
   *
   * @param {object} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (string).
   */
  onChange: n.func,
  /**
   * @ignore
   */
  onFocus: n.func,
  /**
   * The short hint displayed in the `input` before the user enters a value.
   */
  placeholder: n.string,
  /**
   * If `true`, the label is displayed as required and the `input` element is required.
   * @default false
   */
  required: n.bool,
  /**
   * Number of rows to display when multiline option is set to true.
   */
  rows: n.oneOfType([n.number, n.string]),
  /**
   * Render a [`Select`](/material-ui/api/select/) element while passing the Input element to `Select` as `input` parameter.
   * If this option is set you must pass the options of the select as children.
   * @default false
   */
  select: n.bool,
  /**
   * Props applied to the [`Select`](/material-ui/api/select/) element.
   */
  SelectProps: n.object,
  /**
   * The size of the component.
   */
  size: n.oneOfType([n.oneOf(["medium", "small"]), n.string]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).
   */
  type: n.string,
  /**
   * The value of the `input` element, required for a controlled component.
   */
  value: n.any,
  /**
   * The variant to use.
   * @default 'outlined'
   */
  variant: n.oneOf(["filled", "outlined", "standard"])
});
const lO = ({
  utils: e,
  format: t
}) => {
  let o = 10, r = t, a = e.expandFormat(t);
  for (; a !== r; )
    if (r = a, a = e.expandFormat(r), o -= 1, o < 0)
      throw new Error("MUI X: The format expansion seems to be in an infinite loop. Please open an issue with the format passed to the picker component.");
  return a;
}, cO = ({
  utils: e,
  expandedFormat: t
}) => {
  const o = [], {
    start: r,
    end: a
  } = e.escapedCharacters, i = new RegExp(`(\\${r}[^\\${a}]*\\${a})+`, "g");
  let s = null;
  for (; s = i.exec(t); )
    o.push({
      start: s.index,
      end: i.lastIndex - 1
    });
  return o;
}, uO = (e, t, o, r) => {
  switch (o.type) {
    case "year":
      return t.fieldYearPlaceholder({
        digitAmount: e.formatByString(e.date(void 0, "default"), r).length,
        format: r
      });
    case "month":
      return t.fieldMonthPlaceholder({
        contentType: o.contentType,
        format: r
      });
    case "day":
      return t.fieldDayPlaceholder({
        format: r
      });
    case "weekDay":
      return t.fieldWeekDayPlaceholder({
        contentType: o.contentType,
        format: r
      });
    case "hours":
      return t.fieldHoursPlaceholder({
        format: r
      });
    case "minutes":
      return t.fieldMinutesPlaceholder({
        format: r
      });
    case "seconds":
      return t.fieldSecondsPlaceholder({
        format: r
      });
    case "meridiem":
      return t.fieldMeridiemPlaceholder({
        format: r
      });
    default:
      return r;
  }
}, dO = ({
  utils: e,
  date: t,
  shouldRespectLeadingZeros: o,
  localeText: r,
  localizedDigits: a,
  now: i,
  token: s,
  startSeparator: l
}) => {
  if (s === "")
    throw new Error("MUI X: Should not call `commitToken` with an empty token");
  const c = Kc(e, s), u = Nh(e, c.contentType, c.type, s), p = o ? u : c.contentType === "digit", f = t != null && e.isValid(t);
  let g = f ? e.formatByString(t, s) : "", v = null;
  if (p)
    if (u)
      v = g === "" ? e.formatByString(i, s).length : g.length;
    else {
      if (c.maxLength == null)
        throw new Error(`MUI X: The token ${s} should have a 'maxDigitNumber' property on it's adapter`);
      v = c.maxLength, f && (g = Gc(Dh(Wo(g, a), v), a));
    }
  return m({}, c, {
    format: s,
    maxLength: v,
    value: g,
    placeholder: uO(e, r, c, s),
    hasLeadingZerosInFormat: u,
    hasLeadingZerosInInput: p,
    startSeparator: l,
    endSeparator: "",
    modified: !1
  });
}, pO = (e) => {
  var v;
  const {
    utils: t,
    expandedFormat: o,
    escapedParts: r
  } = e, a = t.date(void 0), i = [];
  let s = "";
  const l = Object.keys(t.formatTokenMap).sort((b, h) => h.length - b.length), c = /^([a-zA-Z]+)/, u = new RegExp(`^(${l.join("|")})*$`), p = new RegExp(`^(${l.join("|")})`), f = (b) => r.find((h) => h.start <= b && h.end >= b);
  let g = 0;
  for (; g < o.length; ) {
    const b = f(g), h = b != null, y = (v = c.exec(o.slice(g))) == null ? void 0 : v[1];
    if (!h && y != null && u.test(y)) {
      let C = y;
      for (; C.length > 0; ) {
        const E = p.exec(C)[1];
        C = C.slice(E.length), i.push(dO(m({}, e, {
          now: a,
          token: E,
          startSeparator: s
        }))), s = "";
      }
      g += y.length;
    } else {
      const C = o[g];
      h && (b == null ? void 0 : b.start) === g || (b == null ? void 0 : b.end) === g || (i.length === 0 ? s += C : i[i.length - 1].endSeparator += C), g += 1;
    }
  }
  return i.length === 0 && s.length > 0 && i.push({
    type: "empty",
    contentType: "letter",
    maxLength: null,
    format: "",
    value: "",
    placeholder: "",
    hasLeadingZerosInFormat: !1,
    hasLeadingZerosInInput: !1,
    startSeparator: s,
    endSeparator: "",
    modified: !1
  }), i;
}, fO = ({
  isRtl: e,
  formatDensity: t,
  sections: o
}) => o.map((r) => {
  const a = (i) => {
    let s = i;
    return e && s !== null && s.includes(" ") && (s = `⁩${s}⁦`), t === "spacious" && ["/", ".", "-"].includes(s) && (s = ` ${s} `), s;
  };
  return r.startSeparator = a(r.startSeparator), r.endSeparator = a(r.endSeparator), r;
}), lf = (e) => {
  let t = lO(e);
  e.isRtl && e.enableAccessibleFieldDOMStructure && (t = t.split(" ").reverse().join(" "));
  const o = cO(m({}, e, {
    expandedFormat: t
  })), r = pO(m({}, e, {
    expandedFormat: t,
    escapedParts: o
  }));
  return fO(m({}, e, {
    sections: r
  }));
}, mO = (e) => {
  const t = pt(), o = to(), r = Yo(), a = no(), {
    valueManager: i,
    fieldValueManager: s,
    valueType: l,
    validator: c,
    internalProps: u,
    internalProps: {
      value: p,
      defaultValue: f,
      referenceDate: g,
      onChange: v,
      format: b,
      formatDensity: h = "dense",
      selectedSections: y,
      onSelectedSectionsChange: C,
      shouldRespectLeadingZeros: E = !1,
      timezone: w,
      enableAccessibleFieldDOMStructure: T = !1
    }
  } = e, {
    timezone: O,
    value: P,
    handleValueChange: S
  } = su({
    timezone: w,
    value: p,
    defaultValue: f,
    referenceDate: g,
    onChange: v,
    valueManager: i
  }), $ = d.useMemo(() => AC(t), [t]), A = d.useMemo(() => BC(t, $, O), [t, $, O]), N = d.useCallback((X, Y = null) => s.getSectionsFromValue(t, X, Y, (Z) => lf({
    utils: t,
    localeText: o,
    localizedDigits: $,
    format: b,
    date: Z,
    formatDensity: h,
    shouldRespectLeadingZeros: E,
    enableAccessibleFieldDOMStructure: T,
    isRtl: a
  })), [s, b, o, $, a, E, t, h, T]), [D, V] = d.useState(() => {
    const X = N(P);
    Mp(X, l);
    const Y = {
      sections: X,
      value: P,
      referenceValue: i.emptyValue,
      tempValueStrAndroid: null
    }, Z = DC(X), H = i.getInitialReferenceValue({
      referenceDate: g,
      value: P,
      utils: t,
      props: u,
      granularity: Z,
      timezone: O
    });
    return m({}, Y, {
      referenceValue: H
    });
  }), [L, I] = Vt({
    controlled: y,
    default: null,
    name: "useField",
    state: "selectedSections"
  }), R = (X) => {
    I(X), C == null || C(X);
  }, k = d.useMemo(() => oc(L, D.sections), [L, D.sections]), F = k === "all" ? 0 : k, M = ({
    value: X,
    referenceValue: Y,
    sections: Z
  }) => {
    if (V((K) => m({}, K, {
      sections: Z,
      value: X,
      referenceValue: Y,
      tempValueStrAndroid: null
    })), i.areValuesEqual(t, D.value, X))
      return;
    const H = {
      validationError: c({
        adapter: r,
        value: X,
        timezone: O,
        props: u
      })
    };
    S(X, H);
  }, B = (X, Y) => {
    const Z = [...D.sections];
    return Z[X] = m({}, Z[X], {
      value: Y,
      modified: !0
    }), Z;
  }, j = () => {
    M({
      value: i.emptyValue,
      referenceValue: D.referenceValue,
      sections: N(i.emptyValue)
    });
  }, W = () => {
    if (F == null)
      return;
    const X = D.sections[F], Y = s.getActiveDateManager(t, D, X), H = Y.getSections(D.sections).filter((z) => z.value !== "").length === (X.value === "" ? 0 : 1), K = B(F, ""), ne = H ? null : t.getInvalidDate(), ae = Y.getNewValuesFromNewActiveDate(ne);
    M(m({}, ae, {
      sections: K
    }));
  }, re = (X) => {
    const Y = (K, ne) => {
      const ae = t.parse(K, b);
      if (ae == null || !t.isValid(ae))
        return null;
      const z = lf({
        utils: t,
        localeText: o,
        localizedDigits: $,
        format: b,
        date: ae,
        formatDensity: h,
        shouldRespectLeadingZeros: E,
        enableAccessibleFieldDOMStructure: T,
        isRtl: a
      });
      return Dp(t, ae, z, ne, !1);
    }, Z = s.parseValueStr(X, D.referenceValue, Y), H = s.updateReferenceValue(t, Z, D.referenceValue);
    M({
      value: Z,
      referenceValue: H,
      sections: N(Z, D.sections)
    });
  }, J = ({
    activeSection: X,
    newSectionValue: Y,
    shouldGoToNextSection: Z
  }) => {
    Z && F < D.sections.length - 1 && R(F + 1);
    const H = s.getActiveDateManager(t, D, X), K = B(F, Y), ne = H.getSections(K), ae = jC(t, ne, $);
    let z, q;
    if (ae != null && t.isValid(ae)) {
      const te = Dp(t, ae, ne, H.referenceDate, !0);
      z = H.getNewValuesFromNewActiveDate(te), q = !0;
    } else
      z = H.getNewValuesFromNewActiveDate(ae), q = (ae != null && !t.isValid(ae)) != (H.date != null && !t.isValid(H.date));
    return q ? M(m({}, z, {
      sections: K
    })) : V((te) => m({}, te, z, {
      sections: K,
      tempValueStrAndroid: null
    }));
  }, Q = (X) => V((Y) => m({}, Y, {
    tempValueStrAndroid: X
  }));
  return d.useEffect(() => {
    const X = N(D.value);
    Mp(X, l), V((Y) => m({}, Y, {
      sections: X
    }));
  }, [b, t.locale, a]), d.useEffect(() => {
    let X;
    i.areValuesEqual(t, D.value, P) ? X = i.getTimezone(t, D.value) !== i.getTimezone(t, P) : X = !0, X && V((Y) => m({}, Y, {
      value: P,
      referenceValue: s.updateReferenceValue(t, P, Y.referenceValue),
      sections: N(P)
    }));
  }, [P]), {
    state: D,
    activeSectionIndex: F,
    parsedSelectedSections: k,
    setSelectedSections: R,
    clearValue: j,
    clearActiveSection: W,
    updateSectionValue: J,
    updateValueFromValueStr: re,
    setTempAndroidValueStr: Q,
    getSectionsFromValue: N,
    sectionsValueBoundaries: A,
    localizedDigits: $,
    timezone: O
  };
}, hO = 5e3, or = (e) => e.saveQuery != null, gO = ({
  sections: e,
  updateSectionValue: t,
  sectionsValueBoundaries: o,
  localizedDigits: r,
  setTempAndroidValueStr: a,
  timezone: i
}) => {
  const s = pt(), [l, c] = d.useState(null), u = Ce(() => c(null));
  d.useEffect(() => {
    var b;
    l != null && ((b = e[l.sectionIndex]) == null ? void 0 : b.type) !== l.sectionType && u();
  }, [e, l, u]), d.useEffect(() => {
    if (l != null) {
      const b = setTimeout(() => u(), hO);
      return () => {
        clearTimeout(b);
      };
    }
    return () => {
    };
  }, [l, u]);
  const p = ({
    keyPressed: b,
    sectionIndex: h
  }, y, C) => {
    const E = b.toLowerCase(), w = e[h];
    if (l != null && (!C || C(l.value)) && l.sectionIndex === h) {
      const O = `${l.value}${E}`, P = y(O, w);
      if (!or(P))
        return c({
          sectionIndex: h,
          value: O,
          sectionType: w.type
        }), P;
    }
    const T = y(E, w);
    return or(T) && !T.saveQuery ? (u(), null) : (c({
      sectionIndex: h,
      value: E,
      sectionType: w.type
    }), or(T) ? null : T);
  }, f = (b) => {
    const h = (E, w, T) => {
      const O = w.filter((P) => P.toLowerCase().startsWith(T));
      return O.length === 0 ? {
        saveQuery: !1
      } : {
        sectionValue: O[0],
        shouldGoToNextSection: O.length === 1
      };
    }, y = (E, w, T, O) => {
      const P = (S) => $h(s, i, w.type, S);
      if (w.contentType === "letter")
        return h(w.format, P(w.format), E);
      if (T && O != null && Kc(s, T).contentType === "letter") {
        const S = P(T), $ = h(T, S, E);
        return or($) ? {
          saveQuery: !1
        } : m({}, $, {
          sectionValue: O($.sectionValue, S)
        });
      }
      return {
        saveQuery: !1
      };
    };
    return p(b, (E, w) => {
      switch (w.type) {
        case "month": {
          const T = (O) => Rp(s, O, s.formats.month, w.format);
          return y(E, w, s.formats.month, T);
        }
        case "weekDay": {
          const T = (O, P) => P.indexOf(O).toString();
          return y(E, w, s.formats.weekday, T);
        }
        case "meridiem":
          return y(E, w);
        default:
          return {
            saveQuery: !1
          };
      }
    });
  }, g = (b) => {
    const h = (C, E) => {
      const w = Wo(C, r), T = Number(w), O = o[E.type]({
        currentDate: null,
        format: E.format,
        contentType: E.contentType
      });
      if (T > O.maximum)
        return {
          saveQuery: !1
        };
      if (T < O.minimum)
        return {
          saveQuery: !0
        };
      const P = T * 10 > O.maximum || w.length === O.maximum.toString().length;
      return {
        sectionValue: Ih(s, T, O, r, E),
        shouldGoToNextSection: P
      };
    };
    return p(b, (C, E) => {
      if (E.contentType === "digit" || E.contentType === "digit-with-letter")
        return h(C, E);
      if (E.type === "month") {
        Nh(s, "digit", "month", "MM");
        const w = h(C, {
          type: E.type,
          format: "MM",
          hasLeadingZerosInInput: !0,
          contentType: "digit",
          maxLength: 2
        });
        if (or(w))
          return w;
        const T = Rp(s, w.sectionValue, "MM", E.format);
        return m({}, w, {
          sectionValue: T
        });
      }
      if (E.type === "weekDay") {
        const w = h(C, E);
        if (or(w))
          return w;
        const T = Ts(s, E.format)[Number(w.sectionValue) - 1];
        return m({}, w, {
          sectionValue: T
        });
      }
      return {
        saveQuery: !1
      };
    }, (C) => Pp(C, r));
  };
  return {
    applyCharacterEditing: Ce((b) => {
      const h = e[b.sectionIndex], C = Pp(b.keyPressed, r) ? g(m({}, b, {
        keyPressed: Gc(b.keyPressed, r)
      })) : f(b);
      if (C == null) {
        a(null);
        return;
      }
      t({
        activeSection: h,
        newSectionValue: C.sectionValue,
        shouldGoToNextSection: C.shouldGoToNextSection
      });
    }),
    resetCharacterQuery: u
  };
}, bO = (e) => {
  const {
    internalProps: {
      disabled: t,
      readOnly: o = !1
    },
    forwardedProps: {
      sectionListRef: r,
      onBlur: a,
      onClick: i,
      onFocus: s,
      onInput: l,
      onPaste: c,
      focused: u,
      autoFocus: p = !1
    },
    fieldValueManager: f,
    applyCharacterEditing: g,
    resetCharacterQuery: v,
    setSelectedSections: b,
    parsedSelectedSections: h,
    state: y,
    clearActiveSection: C,
    clearValue: E,
    updateSectionValue: w,
    updateValueFromValueStr: T,
    sectionOrder: O,
    areAllSectionsEmpty: P,
    sectionsValueBoundaries: S
  } = e, $ = d.useRef(null), A = ze(r, $), N = to(), D = pt(), V = Mn(), [L, I] = d.useState(!1), R = d.useMemo(() => ({
    syncSelectionToDOM: () => {
      if (!$.current)
        return;
      const q = document.getSelection();
      if (!q)
        return;
      if (h == null) {
        q.rangeCount > 0 && $.current.getRoot().contains(q.getRangeAt(0).startContainer) && q.removeAllRanges(), L && $.current.getRoot().blur();
        return;
      }
      if (!$.current.getRoot().contains(zt(document)))
        return;
      const te = new window.Range();
      let ie;
      h === "all" ? ie = $.current.getRoot() : y.sections[h].type === "empty" ? ie = $.current.getSectionContainer(h) : ie = $.current.getSectionContent(h), te.selectNodeContents(ie), ie.focus(), q.removeAllRanges(), q.addRange(te);
    },
    getActiveSectionIndexFromDOM: () => {
      const q = zt(document);
      return !q || !$.current || !$.current.getRoot().contains(q) ? null : $.current.getSectionIndexFromDOMElement(q);
    },
    focusField: (q = 0) => {
      if (!$.current || // if the field is already focused, we don't need to focus it again
      R.getActiveSectionIndexFromDOM() != null)
        return;
      const te = oc(q, y.sections);
      I(!0), $.current.getSectionContent(te).focus();
    },
    setSelectedSections: (q) => {
      if (!$.current)
        return;
      const te = oc(q, y.sections);
      I((te === "all" ? 0 : te) !== null), b(q);
    },
    isFieldFocused: () => {
      const q = zt(document);
      return !!$.current && $.current.getRoot().contains(q);
    }
  }), [h, b, y.sections, L]), k = Ce((q) => {
    if (!$.current)
      return;
    const te = y.sections[q];
    $.current.getSectionContent(q).innerHTML = te.value || te.placeholder, R.syncSelectionToDOM();
  }), F = Ce((q, ...te) => {
    q.isDefaultPrevented() || !$.current || (I(!0), i == null || i(q, ...te), h === "all" ? setTimeout(() => {
      const ie = document.getSelection().getRangeAt(0).startOffset;
      if (ie === 0) {
        b(O.startIndex);
        return;
      }
      let de = 0, ge = 0;
      for (; ge < ie && de < y.sections.length; ) {
        const fe = y.sections[de];
        de += 1, ge += `${fe.startSeparator}${fe.value || fe.placeholder}${fe.endSeparator}`.length;
      }
      b(de - 1);
    }) : L ? $.current.getRoot().contains(q.target) || b(O.startIndex) : (I(!0), b(O.startIndex)));
  }), M = Ce((q) => {
    if (l == null || l(q), !$.current || h !== "all")
      return;
    const ie = q.target.textContent ?? "";
    $.current.getRoot().innerHTML = y.sections.map((de) => `${de.startSeparator}${de.value || de.placeholder}${de.endSeparator}`).join(""), R.syncSelectionToDOM(), ie.length === 0 || ie.charCodeAt(0) === 10 ? (v(), E(), b("all")) : ie.length > 1 ? T(ie) : (h === "all" && b(0), g({
      keyPressed: ie,
      sectionIndex: 0
    }));
  }), B = Ce((q) => {
    if (c == null || c(q), o || h !== "all") {
      q.preventDefault();
      return;
    }
    const te = q.clipboardData.getData("text");
    q.preventDefault(), v(), T(te);
  }), j = Ce((...q) => {
    if (s == null || s(...q), L || !$.current)
      return;
    I(!0), $.current.getSectionIndexFromDOMElement(zt(document)) != null || b(O.startIndex);
  }), W = Ce((...q) => {
    a == null || a(...q), setTimeout(() => {
      if (!$.current)
        return;
      const te = zt(document);
      !$.current.getRoot().contains(te) && (I(!1), b(null));
    });
  }), re = Ce((q) => (te) => {
    te.isDefaultPrevented() || b(q);
  }), J = Ce((q) => {
    q.preventDefault();
  }), Q = Ce((q) => () => {
    b(q);
  }), X = Ce((q) => {
    if (q.preventDefault(), o || t || typeof h != "number")
      return;
    const te = y.sections[h], ie = q.clipboardData.getData("text"), de = /^[a-zA-Z]+$/.test(ie), ge = /^[0-9]+$/.test(ie), fe = /^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(ie);
    te.contentType === "letter" && de || te.contentType === "digit" && ge || te.contentType === "digit-with-letter" && fe ? (v(), w({
      activeSection: te,
      newSectionValue: ie,
      shouldGoToNextSection: !0
    })) : !de && !ge && (v(), T(ie));
  }), Y = Ce((q) => {
    q.preventDefault(), q.dataTransfer.dropEffect = "none";
  }), Z = Ce((q) => {
    if (!$.current)
      return;
    const te = q.target, ie = te.textContent ?? "", de = $.current.getSectionIndexFromDOMElement(te), ge = y.sections[de];
    if (o || !$.current) {
      k(de);
      return;
    }
    if (ie.length === 0) {
      if (ge.value === "") {
        k(de);
        return;
      }
      const fe = q.nativeEvent.inputType;
      if (fe === "insertParagraph" || fe === "insertLineBreak") {
        k(de);
        return;
      }
      v(), C();
      return;
    }
    g({
      keyPressed: ie,
      sectionIndex: de
    }), k(de);
  });
  gt(() => {
    if (!(!L || !$.current)) {
      if (h === "all")
        $.current.getRoot().focus();
      else if (typeof h == "number") {
        const q = $.current.getSectionContent(h);
        q && q.focus();
      }
    }
  }, [h, L]);
  const H = d.useMemo(() => y.sections.reduce((q, te) => (q[te.type] = S[te.type]({
    currentDate: null,
    contentType: te.contentType,
    format: te.format
  }), q), {}), [S, y.sections]), K = h === "all", ne = d.useMemo(() => y.sections.map((q, te) => {
    const ie = !K && !t && !o;
    return {
      container: {
        "data-sectionindex": te,
        onClick: re(te)
      },
      content: {
        tabIndex: K || te > 0 ? -1 : 0,
        contentEditable: !K && !t && !o,
        role: "spinbutton",
        id: `${V}-${q.type}`,
        "aria-labelledby": `${V}-${q.type}`,
        "aria-readonly": o,
        "aria-valuenow": YC(q, D),
        "aria-valuemin": H[q.type].minimum,
        "aria-valuemax": H[q.type].maximum,
        "aria-valuetext": q.value ? qC(q, D) : N.empty,
        "aria-label": N[q.type],
        "aria-disabled": t,
        spellCheck: ie ? !1 : void 0,
        autoCapitalize: ie ? "off" : void 0,
        autoCorrect: ie ? "off" : void 0,
        [parseInt(d.version, 10) >= 17 ? "enterKeyHint" : "enterkeyhint"]: ie ? "next" : void 0,
        children: q.value || q.placeholder,
        onInput: Z,
        onPaste: X,
        onFocus: Q(te),
        onDragOver: Y,
        onMouseUp: J,
        inputMode: q.contentType === "letter" ? "text" : "numeric"
      },
      before: {
        children: q.startSeparator
      },
      after: {
        children: q.endSeparator
      }
    };
  }), [y.sections, Q, X, Y, Z, re, J, t, o, K, N, D, H, V]), ae = Ce((q) => {
    T(q.target.value);
  }), z = d.useMemo(() => P ? "" : f.getV7HiddenInputValueFromSections(y.sections), [P, y.sections, f]);
  return d.useEffect(() => {
    if ($.current == null)
      throw new Error(["MUI X: The `sectionListRef` prop has not been initialized by `PickersSectionList`", "You probably tried to pass a component to the `textField` slot that contains an `<input />` element instead of a `PickersSectionList`.", "", "If you want to keep using an `<input />` HTML element for the editing, please remove the `enableAccessibleFieldDOMStructure` prop from your picker or field component:", "", "<DatePicker slots={{ textField: MyCustomTextField }} />", "", "Learn more about the field accessible DOM structure on the MUI documentation: https://mui.com/x/react-date-pickers/fields/#fields-to-edit-a-single-element"].join(`
`));
    p && $.current && $.current.getSectionContent(O.startIndex).focus();
  }, []), {
    interactions: R,
    returnedValue: {
      // Forwarded
      autoFocus: p,
      readOnly: o,
      focused: u ?? L,
      sectionListRef: A,
      onBlur: W,
      onClick: F,
      onFocus: j,
      onInput: M,
      onPaste: B,
      // Additional
      enableAccessibleFieldDOMStructure: !0,
      elements: ne,
      // TODO v7: Try to set to undefined when there is a section selected.
      tabIndex: h === 0 ? -1 : 0,
      contentEditable: K,
      value: z,
      onChange: ae,
      areAllSectionsEmpty: P
    }
  };
}, cr = (e) => e.replace(/[\u2066\u2067\u2068\u2069]/g, ""), yO = (e, t, o) => {
  let r = 0, a = o ? 1 : 0;
  const i = [];
  for (let s = 0; s < e.length; s += 1) {
    const l = e[s], c = Xc(l, o ? "input-rtl" : "input-ltr", t), u = `${l.startSeparator}${c}${l.endSeparator}`, p = cr(u).length, f = u.length, g = cr(c), v = a + (g === "" ? 0 : c.indexOf(g[0])) + l.startSeparator.length, b = v + g.length;
    i.push(m({}, l, {
      start: r,
      end: r + p,
      startInInput: v,
      endInInput: b
    })), r += p, a += f;
  }
  return i;
}, vO = (e) => {
  const t = no(), o = d.useRef(void 0), r = d.useRef(void 0), {
    forwardedProps: {
      onFocus: a,
      onClick: i,
      onPaste: s,
      onBlur: l,
      inputRef: c,
      placeholder: u
    },
    internalProps: {
      readOnly: p = !1,
      disabled: f = !1
    },
    parsedSelectedSections: g,
    activeSectionIndex: v,
    state: b,
    fieldValueManager: h,
    valueManager: y,
    applyCharacterEditing: C,
    resetCharacterQuery: E,
    updateSectionValue: w,
    updateValueFromValueStr: T,
    clearActiveSection: O,
    clearValue: P,
    setTempAndroidValueStr: S,
    setSelectedSections: $,
    getSectionsFromValue: A,
    areAllSectionsEmpty: N,
    localizedDigits: D
  } = e, V = d.useRef(null), L = ze(c, V), I = d.useMemo(() => yO(b.sections, D, t), [b.sections, D, t]), R = d.useMemo(() => ({
    syncSelectionToDOM: () => {
      if (!V.current)
        return;
      if (g == null) {
        V.current.scrollLeft && (V.current.scrollLeft = 0);
        return;
      }
      if (V.current !== zt(document))
        return;
      const Z = V.current.scrollTop;
      if (g === "all")
        V.current.select();
      else {
        const H = I[g], K = H.type === "empty" ? H.startInInput - H.startSeparator.length : H.startInInput, ne = H.type === "empty" ? H.endInInput + H.endSeparator.length : H.endInInput;
        (K !== V.current.selectionStart || ne !== V.current.selectionEnd) && V.current === zt(document) && V.current.setSelectionRange(K, ne), clearTimeout(r.current), r.current = setTimeout(() => {
          V.current && V.current === zt(document) && // The section might loose all selection, where `selectionStart === selectionEnd`
          // https://github.com/mui/mui-x/pull/13652
          V.current.selectionStart === V.current.selectionEnd && (V.current.selectionStart !== K || V.current.selectionEnd !== ne) && R.syncSelectionToDOM();
        });
      }
      V.current.scrollTop = Z;
    },
    getActiveSectionIndexFromDOM: () => {
      const Z = V.current.selectionStart ?? 0, H = V.current.selectionEnd ?? 0;
      if (Z === 0 && H === 0)
        return null;
      const K = Z <= I[0].startInInput ? 1 : I.findIndex((ne) => ne.startInInput - ne.startSeparator.length > Z);
      return K === -1 ? I.length - 1 : K - 1;
    },
    focusField: (Z = 0) => {
      var H;
      zt(document) !== V.current && ((H = V.current) == null || H.focus(), $(Z));
    },
    setSelectedSections: (Z) => $(Z),
    isFieldFocused: () => V.current === zt(document)
  }), [V, g, I, $]), k = () => {
    const Z = V.current.selectionStart ?? 0;
    let H;
    Z <= I[0].startInInput || Z >= I[I.length - 1].endInInput ? H = 1 : H = I.findIndex((ne) => ne.startInInput - ne.startSeparator.length > Z);
    const K = H === -1 ? I.length - 1 : H - 1;
    $(K);
  }, F = Ce((...Z) => {
    a == null || a(...Z);
    const H = V.current;
    clearTimeout(o.current), o.current = setTimeout(() => {
      !H || H !== V.current || v == null && (// avoid selecting all sections when focusing empty field without value
      H.value.length && Number(H.selectionEnd) - Number(H.selectionStart) === H.value.length ? $("all") : k());
    });
  }), M = Ce((Z, ...H) => {
    Z.isDefaultPrevented() || (i == null || i(Z, ...H), k());
  }), B = Ce((Z) => {
    if (s == null || s(Z), Z.preventDefault(), p || f)
      return;
    const H = Z.clipboardData.getData("text");
    if (typeof g == "number") {
      const K = b.sections[g], ne = /^[a-zA-Z]+$/.test(H), ae = /^[0-9]+$/.test(H), z = /^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(H);
      if (K.contentType === "letter" && ne || K.contentType === "digit" && ae || K.contentType === "digit-with-letter" && z) {
        E(), w({
          activeSection: K,
          newSectionValue: H,
          shouldGoToNextSection: !0
        });
        return;
      }
      if (ne || ae)
        return;
    }
    E(), T(H);
  }), j = Ce((...Z) => {
    l == null || l(...Z), $(null);
  }), W = Ce((Z) => {
    if (p)
      return;
    const H = Z.target.value;
    if (H === "") {
      E(), P();
      return;
    }
    const K = Z.nativeEvent.data, ne = K && K.length > 1, ae = ne ? K : H, z = cr(ae);
    if (g === "all" && $(v), v == null || ne) {
      T(ne ? K : z);
      return;
    }
    let q;
    if (g === "all" && z.length === 1)
      q = z;
    else {
      const te = cr(h.getV6InputValueFromSections(I, D, t));
      let ie = -1, de = -1;
      for (let Te = 0; Te < te.length; Te += 1)
        ie === -1 && te[Te] !== z[Te] && (ie = Te), de === -1 && te[te.length - Te - 1] !== z[z.length - Te - 1] && (de = Te);
      const ge = I[v];
      if (ie < ge.start || te.length - de - 1 > ge.end)
        return;
      const Oe = z.length - te.length + ge.end - cr(ge.endSeparator || "").length;
      q = z.slice(ge.start + cr(ge.startSeparator || "").length, Oe);
    }
    if (q.length === 0) {
      UC() && S(ae), E(), O();
      return;
    }
    C({
      keyPressed: q,
      sectionIndex: v
    });
  }), re = d.useMemo(() => u !== void 0 ? u : h.getV6InputValueFromSections(A(y.emptyValue), D, t), [u, h, A, y.emptyValue, D, t]), J = d.useMemo(() => b.tempValueStrAndroid ?? h.getV6InputValueFromSections(b.sections, D, t), [b.sections, h, b.tempValueStrAndroid, D, t]);
  d.useEffect(() => (V.current && V.current === zt(document) && $("all"), () => {
    clearTimeout(o.current), clearTimeout(r.current);
  }), []);
  const Q = d.useMemo(() => v == null || b.sections[v].contentType === "letter" ? "text" : "numeric", [v, b.sections]), Y = !(V.current && V.current === zt(document)) && N;
  return {
    interactions: R,
    returnedValue: {
      // Forwarded
      readOnly: p,
      onBlur: j,
      onClick: M,
      onFocus: F,
      onPaste: B,
      inputRef: L,
      // Additional
      enableAccessibleFieldDOMStructure: !1,
      placeholder: re,
      inputMode: Q,
      autoComplete: "off",
      value: Y ? "" : J,
      onChange: W
    }
  };
}, xO = (e) => {
  const t = pt(), {
    internalProps: o,
    internalProps: {
      unstableFieldRef: r,
      minutesStep: a,
      enableAccessibleFieldDOMStructure: i = !1,
      disabled: s = !1,
      readOnly: l = !1
    },
    forwardedProps: {
      onKeyDown: c,
      error: u,
      clearable: p,
      onClear: f
    },
    fieldValueManager: g,
    valueManager: v,
    validator: b
  } = e, h = no(), y = mO(e), {
    state: C,
    activeSectionIndex: E,
    parsedSelectedSections: w,
    setSelectedSections: T,
    clearValue: O,
    clearActiveSection: P,
    updateSectionValue: S,
    setTempAndroidValueStr: $,
    sectionsValueBoundaries: A,
    localizedDigits: N,
    timezone: D
  } = y, V = gO({
    sections: C.sections,
    updateSectionValue: S,
    sectionsValueBoundaries: A,
    localizedDigits: N,
    setTempAndroidValueStr: $,
    timezone: D
  }), {
    resetCharacterQuery: L
  } = V, I = v.areValuesEqual(t, C.value, v.emptyValue), R = i ? bO : vO, k = d.useMemo(() => HC(C.sections, h && !i), [C.sections, h, i]), {
    returnedValue: F,
    interactions: M
  } = R(m({}, e, y, V, {
    areAllSectionsEmpty: I,
    sectionOrder: k
  })), B = Ce((X) => {
    if (c == null || c(X), !s)
      switch (!0) {
        case ((X.ctrlKey || X.metaKey) && String.fromCharCode(X.keyCode) === "A" && !X.shiftKey && !X.altKey): {
          X.preventDefault(), T("all");
          break;
        }
        case X.key === "ArrowRight": {
          if (X.preventDefault(), w == null)
            T(k.startIndex);
          else if (w === "all")
            T(k.endIndex);
          else {
            const Y = k.neighbors[w].rightIndex;
            Y !== null && T(Y);
          }
          break;
        }
        case X.key === "ArrowLeft": {
          if (X.preventDefault(), w == null)
            T(k.endIndex);
          else if (w === "all")
            T(k.startIndex);
          else {
            const Y = k.neighbors[w].leftIndex;
            Y !== null && T(Y);
          }
          break;
        }
        case X.key === "Delete": {
          if (X.preventDefault(), l)
            break;
          w == null || w === "all" ? O() : P(), L();
          break;
        }
        case ["ArrowUp", "ArrowDown", "Home", "End", "PageUp", "PageDown"].includes(X.key): {
          if (X.preventDefault(), l || E == null)
            break;
          w === "all" && T(E);
          const Y = C.sections[E], Z = g.getActiveDateManager(t, C, Y), H = LC(t, D, Y, X.key, A, N, Z.date, {
            minutesStep: a
          });
          S({
            activeSection: Y,
            newSectionValue: H,
            shouldGoToNextSection: !1
          });
          break;
        }
      }
  });
  gt(() => {
    M.syncSelectionToDOM();
  });
  const {
    hasValidationError: j
  } = zh({
    props: o,
    validator: b,
    timezone: D,
    value: C.value,
    onError: o.onError
  }), W = d.useMemo(() => u !== void 0 ? u : j, [j, u]);
  d.useEffect(() => {
    !W && E == null && L();
  }, [C.referenceValue, E, W]), d.useEffect(() => {
    C.tempValueStrAndroid != null && E != null && (L(), P());
  }, [C.sections]), d.useImperativeHandle(r, () => ({
    getSections: () => C.sections,
    getActiveSectionIndex: M.getActiveSectionIndexFromDOM,
    setSelectedSections: M.setSelectedSections,
    focusField: M.focusField,
    isFieldFocused: M.isFieldFocused
  }));
  const re = Ce((X, ...Y) => {
    X.preventDefault(), f == null || f(X, ...Y), O(), M.isFieldFocused() ? T(k.startIndex) : M.focusField(0);
  }), J = {
    onKeyDown: B,
    onClear: re,
    error: W,
    clearable: !!(p && !I && !l && !s)
  }, Q = {
    disabled: s,
    readOnly: l
  };
  return m({}, e.forwardedProps, J, Q, F);
}, CO = ["clearable", "onClear", "InputProps", "sx", "slots", "slotProps"], TO = ["ownerState"], wO = (e) => {
  const t = to(), {
    clearable: o,
    onClear: r,
    InputProps: a,
    sx: i,
    slots: s,
    slotProps: l
  } = e, c = oe(e, CO), u = (s == null ? void 0 : s.clearButton) ?? mn, p = $e({
    elementType: u,
    externalSlotProps: l == null ? void 0 : l.clearButton,
    ownerState: {},
    className: "clearButton",
    additionalProps: {
      title: t.fieldClearLabel
    }
  }), f = oe(p, TO), g = (s == null ? void 0 : s.clearIcon) ?? fw, v = $e({
    elementType: g,
    externalSlotProps: l == null ? void 0 : l.clearIcon,
    ownerState: {}
  });
  return m({}, c, {
    InputProps: m({}, a, {
      endAdornment: /* @__PURE__ */ he(d.Fragment, {
        children: [o && /* @__PURE__ */ x(Zc, {
          position: "end",
          sx: {
            marginRight: a != null && a.endAdornment ? -1 : -1.5
          },
          children: /* @__PURE__ */ x(u, m({}, f, {
            onClick: r,
            children: /* @__PURE__ */ x(g, m({
              fontSize: "small"
            }, v))
          }))
        }), a == null ? void 0 : a.endAdornment]
      })
    }),
    sx: [{
      "& .clearButton": {
        opacity: 1
      },
      "@media (pointer: fine)": {
        "& .clearButton": {
          opacity: 0
        },
        "&:hover, &:focus-within": {
          ".clearButton": {
            opacity: 1
          }
        }
      }
    }, ...Array.isArray(i) ? i : [i]]
  });
}, OO = ["value", "defaultValue", "referenceDate", "format", "formatDensity", "onChange", "timezone", "onError", "shouldRespectLeadingZeros", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef", "enableAccessibleFieldDOMStructure", "disabled", "readOnly", "dateSeparator"], EO = (e, t) => d.useMemo(() => {
  const o = m({}, e), r = {}, a = (i) => {
    o.hasOwnProperty(i) && (r[i] = o[i], delete o[i]);
  };
  return OO.forEach(a), jh.forEach(a), {
    forwardedProps: o,
    internalProps: r
  };
}, [e, t]), SO = (e) => {
  const t = pt(), o = Fa();
  return m({}, e, {
    disablePast: e.disablePast ?? !1,
    disableFuture: e.disableFuture ?? !1,
    format: e.format ?? t.formats.keyboardDate,
    minDate: hn(t, e.minDate, o.minDate),
    maxDate: hn(t, e.maxDate, o.maxDate)
  });
}, PO = (e) => {
  const t = SO(e), {
    forwardedProps: o,
    internalProps: r
  } = EO(t, "date");
  return xO({
    forwardedProps: o,
    internalProps: r,
    valueManager: Bn,
    fieldValueManager: GC,
    validator: ja,
    valueType: "date"
  });
};
function RO(e) {
  return ye("MuiPickersTextField", e);
}
be("MuiPickersTextField", ["root", "focused", "disabled", "error", "required"]);
function kO(e) {
  return ye("MuiPickersInputBase", e);
}
const hr = be("MuiPickersInputBase", ["root", "focused", "disabled", "error", "notchedOutline", "sectionContent", "sectionBefore", "sectionAfter", "adornedStart", "adornedEnd", "input"]);
function MO(e) {
  return ye("MuiPickersSectionList", e);
}
const ea = be("MuiPickersSectionList", ["root", "section", "sectionContent"]), $O = ["slots", "slotProps", "elements", "sectionListRef"], Cg = U("div", {
  name: "MuiPickersSectionList",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  direction: "ltr /*! @noflip */",
  outline: "none"
}), Tg = U("span", {
  name: "MuiPickersSectionList",
  slot: "Section",
  overridesResolver: (e, t) => t.section
})({}), wg = U("span", {
  name: "MuiPickersSectionList",
  slot: "SectionSeparator",
  overridesResolver: (e, t) => t.sectionSeparator
})({
  whiteSpace: "pre"
}), Og = U("span", {
  name: "MuiPickersSectionList",
  slot: "SectionContent",
  overridesResolver: (e, t) => t.sectionContent
})({
  outline: "none"
}), DO = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    section: ["section"],
    sectionContent: ["sectionContent"]
  }, MO, t);
};
function Eg(e) {
  const {
    slots: t,
    slotProps: o,
    element: r,
    classes: a
  } = e, i = (t == null ? void 0 : t.section) ?? Tg, s = $e({
    elementType: i,
    externalSlotProps: o == null ? void 0 : o.section,
    externalForwardedProps: r.container,
    className: a.section,
    ownerState: {}
  }), l = (t == null ? void 0 : t.sectionContent) ?? Og, c = $e({
    elementType: l,
    externalSlotProps: o == null ? void 0 : o.sectionContent,
    externalForwardedProps: r.content,
    additionalProps: {
      suppressContentEditableWarning: !0
    },
    className: a.sectionContent,
    ownerState: {}
  }), u = (t == null ? void 0 : t.sectionSeparator) ?? wg, p = $e({
    elementType: u,
    externalSlotProps: o == null ? void 0 : o.sectionSeparator,
    externalForwardedProps: r.before,
    ownerState: {
      position: "before"
    }
  }), f = $e({
    elementType: u,
    externalSlotProps: o == null ? void 0 : o.sectionSeparator,
    externalForwardedProps: r.after,
    ownerState: {
      position: "after"
    }
  });
  return /* @__PURE__ */ he(i, m({}, s, {
    children: [/* @__PURE__ */ x(u, m({}, p)), /* @__PURE__ */ x(l, m({}, c)), /* @__PURE__ */ x(u, m({}, f))]
  }));
}
process.env.NODE_ENV !== "production" && (Eg.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  classes: n.object.isRequired,
  element: n.shape({
    after: n.object.isRequired,
    before: n.object.isRequired,
    container: n.object.isRequired,
    content: n.object.isRequired
  }).isRequired,
  /**
   * The props used for each component slot.
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   */
  slots: n.object
});
const Sg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiPickersSectionList"
  }), {
    slots: a,
    slotProps: i,
    elements: s,
    sectionListRef: l
  } = r, c = oe(r, $O), u = DO(r), p = d.useRef(null), f = ze(o, p), g = (h) => {
    if (!p.current)
      throw new Error(`MUI X: Cannot call sectionListRef.${h} before the mount of the component.`);
    return p.current;
  };
  d.useImperativeHandle(l, () => ({
    getRoot() {
      return g("getRoot");
    },
    getSectionContainer(h) {
      return g("getSectionContainer").querySelector(`.${ea.section}[data-sectionindex="${h}"]`);
    },
    getSectionContent(h) {
      return g("getSectionContent").querySelector(`.${ea.section}[data-sectionindex="${h}"] .${ea.sectionContent}`);
    },
    getSectionIndexFromDOMElement(h) {
      const y = g("getSectionIndexFromDOMElement");
      if (h == null || !y.contains(h))
        return null;
      let C = null;
      return h.classList.contains(ea.section) ? C = h : h.classList.contains(ea.sectionContent) && (C = h.parentElement), C == null ? null : Number(C.dataset.sectionindex);
    }
  }));
  const v = (a == null ? void 0 : a.root) ?? Cg, b = $e({
    elementType: v,
    externalSlotProps: i == null ? void 0 : i.root,
    externalForwardedProps: c,
    additionalProps: {
      ref: f,
      suppressContentEditableWarning: !0
    },
    className: u.root,
    ownerState: {}
  });
  return /* @__PURE__ */ x(v, m({}, b, {
    children: b.contentEditable ? s.map(({
      content: h,
      before: y,
      after: C
    }) => `${y.children}${h.children}${C.children}`).join("") : /* @__PURE__ */ x(d.Fragment, {
      children: s.map((h, y) => /* @__PURE__ */ x(Eg, {
        slots: a,
        slotProps: i,
        element: h,
        classes: u
      }, y))
    })
  }));
});
process.env.NODE_ENV !== "production" && (Sg.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * If true, the whole element is editable.
   * Useful when all the sections are selected.
   */
  contentEditable: n.bool.isRequired,
  /**
   * The elements to render.
   * Each element contains the prop to edit a section of the value.
   */
  elements: n.arrayOf(n.shape({
    after: n.object.isRequired,
    before: n.object.isRequired,
    container: n.object.isRequired,
    content: n.object.isRequired
  })).isRequired,
  sectionListRef: n.oneOfType([n.func, n.shape({
    current: n.shape({
      getRoot: n.func.isRequired,
      getSectionContainer: n.func.isRequired,
      getSectionContent: n.func.isRequired,
      getSectionIndexFromDOMElement: n.func.isRequired
    })
  })]),
  /**
   * The props used for each component slot.
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   */
  slots: n.object
});
const IO = ["elements", "areAllSectionsEmpty", "defaultValue", "label", "value", "onChange", "id", "autoFocus", "endAdornment", "startAdornment", "renderSuffix", "slots", "slotProps", "contentEditable", "tabIndex", "onInput", "onPaste", "onKeyDown", "fullWidth", "name", "readOnly", "inputProps", "inputRef", "sectionListRef"], NO = (e) => Math.round(e * 1e5) / 1e5, js = U("div", {
  name: "MuiPickersInputBase",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})(({
  theme: e
}) => m({}, e.typography.body1, {
  color: (e.vars || e).palette.text.primary,
  cursor: "text",
  padding: 0,
  display: "flex",
  justifyContent: "flex-start",
  alignItems: "center",
  position: "relative",
  boxSizing: "border-box",
  // Prevent padding issue with fullWidth.
  letterSpacing: `${NO(0.15 / 16)}em`,
  variants: [{
    props: {
      fullWidth: !0
    },
    style: {
      width: "100%"
    }
  }]
})), vu = U(Cg, {
  name: "MuiPickersInputBase",
  slot: "SectionsContainer",
  overridesResolver: (e, t) => t.sectionsContainer
})(({
  theme: e
}) => ({
  padding: "4px 0 5px",
  fontFamily: e.typography.fontFamily,
  fontSize: "inherit",
  lineHeight: "1.4375em",
  // 23px
  flexGrow: 1,
  outline: "none",
  display: "flex",
  flexWrap: "nowrap",
  overflow: "hidden",
  letterSpacing: "inherit",
  // Baseline behavior
  width: "182px",
  variants: [{
    props: {
      isRtl: !0
    },
    style: {
      textAlign: "right /*! @noflip */"
    }
  }, {
    props: {
      size: "small"
    },
    style: {
      paddingTop: 1
    }
  }, {
    props: {
      adornedStart: !1,
      focused: !1,
      filled: !1
    },
    style: {
      color: "currentColor",
      opacity: 0
    }
  }, {
    // Can't use the object notation because label can be null or undefined
    props: ({
      adornedStart: t,
      focused: o,
      filled: r,
      label: a
    }) => !t && !o && !r && a == null,
    style: e.vars ? {
      opacity: e.vars.opacity.inputPlaceholder
    } : {
      opacity: e.palette.mode === "light" ? 0.42 : 0.5
    }
  }]
})), _O = U(Tg, {
  name: "MuiPickersInputBase",
  slot: "Section",
  overridesResolver: (e, t) => t.section
})(({
  theme: e
}) => ({
  fontFamily: e.typography.fontFamily,
  fontSize: "inherit",
  letterSpacing: "inherit",
  lineHeight: "1.4375em",
  // 23px
  display: "inline-block",
  whiteSpace: "nowrap"
})), AO = U(Og, {
  name: "MuiPickersInputBase",
  slot: "SectionContent",
  overridesResolver: (e, t) => t.content
})(({
  theme: e
}) => ({
  fontFamily: e.typography.fontFamily,
  lineHeight: "1.4375em",
  // 23px
  letterSpacing: "inherit",
  width: "fit-content",
  outline: "none"
})), LO = U(wg, {
  name: "MuiPickersInputBase",
  slot: "Separator",
  overridesResolver: (e, t) => t.separator
})(() => ({
  whiteSpace: "pre",
  letterSpacing: "inherit"
})), FO = U("input", {
  name: "MuiPickersInputBase",
  slot: "Input",
  overridesResolver: (e, t) => t.hiddenInput
})(m({}, Ym)), jO = (e) => {
  const {
    focused: t,
    disabled: o,
    error: r,
    classes: a,
    fullWidth: i,
    readOnly: s,
    color: l,
    size: c,
    endAdornment: u,
    startAdornment: p
  } = e, f = {
    root: ["root", t && !o && "focused", o && "disabled", s && "readOnly", r && "error", i && "fullWidth", `color${ee(l)}`, c === "small" && "inputSizeSmall", !!p && "adornedStart", !!u && "adornedEnd"],
    notchedOutline: ["notchedOutline"],
    input: ["input"],
    sectionsContainer: ["sectionsContainer"],
    sectionContent: ["sectionContent"],
    sectionBefore: ["sectionBefore"],
    sectionAfter: ["sectionAfter"]
  };
  return ve(f, kO, a);
}, Vs = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiPickersInputBase"
  }), {
    elements: a,
    areAllSectionsEmpty: i,
    value: s,
    onChange: l,
    id: c,
    endAdornment: u,
    startAdornment: p,
    renderSuffix: f,
    slots: g,
    slotProps: v,
    contentEditable: b,
    tabIndex: h,
    onInput: y,
    onPaste: C,
    onKeyDown: E,
    name: w,
    readOnly: T,
    inputProps: O,
    inputRef: P,
    sectionListRef: S
  } = r, $ = oe(r, IO), A = d.useRef(null), N = ze(o, A), D = ze(O == null ? void 0 : O.ref, P), V = no(), L = xn();
  if (!L)
    throw new Error("MUI X: PickersInputBase should always be used inside a PickersTextField component");
  const I = (j) => {
    var W;
    if (L.disabled) {
      j.stopPropagation();
      return;
    }
    (W = L.onFocus) == null || W.call(L, j);
  };
  d.useEffect(() => {
    L && L.setAdornedStart(!!p);
  }, [L, p]), d.useEffect(() => {
    L && (i ? L.onEmpty() : L.onFilled());
  }, [L, i]);
  const R = m({}, r, L, {
    isRtl: V
  }), k = jO(R), F = (g == null ? void 0 : g.root) || js, M = $e({
    elementType: F,
    externalSlotProps: v == null ? void 0 : v.root,
    externalForwardedProps: $,
    additionalProps: {
      "aria-invalid": L.error,
      ref: N
    },
    className: k.root,
    ownerState: R
  }), B = (g == null ? void 0 : g.input) || vu;
  return /* @__PURE__ */ he(F, m({}, M, {
    children: [p, /* @__PURE__ */ x(Sg, {
      sectionListRef: S,
      elements: a,
      contentEditable: b,
      tabIndex: h,
      className: k.sectionsContainer,
      onFocus: I,
      onBlur: L.onBlur,
      onInput: y,
      onPaste: C,
      onKeyDown: E,
      slots: {
        root: B,
        section: _O,
        sectionContent: AO,
        sectionSeparator: LO
      },
      slotProps: {
        root: {
          ownerState: R
        },
        sectionContent: {
          className: hr.sectionContent
        },
        sectionSeparator: ({
          position: j
        }) => ({
          className: j === "before" ? hr.sectionBefore : hr.sectionAfter
        })
      }
    }), u, f ? f(m({}, L)) : null, /* @__PURE__ */ x(FO, m({
      name: w,
      className: k.input,
      value: s,
      onChange: l,
      id: c,
      "aria-hidden": "true",
      tabIndex: -1,
      readOnly: T,
      required: L.required,
      disabled: L.disabled
    }, O, {
      ref: D
    }))]
  }));
});
process.env.NODE_ENV !== "production" && (Vs.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Is `true` if the current values equals the empty value.
   * For a single item value, it means that `value === null`
   * For a range value, it means that `value === [null, null]`
   */
  areAllSectionsEmpty: n.bool.isRequired,
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If true, the whole element is editable.
   * Useful when all the sections are selected.
   */
  contentEditable: n.bool.isRequired,
  /**
   * The elements to render.
   * Each element contains the prop to edit a section of the value.
   */
  elements: n.arrayOf(n.shape({
    after: n.object.isRequired,
    before: n.object.isRequired,
    container: n.object.isRequired,
    content: n.object.isRequired
  })).isRequired,
  endAdornment: n.node,
  fullWidth: n.bool,
  id: n.string,
  inputProps: n.object,
  inputRef: ut,
  label: n.node,
  margin: n.oneOf(["dense", "none", "normal"]),
  name: n.string,
  onChange: n.func.isRequired,
  onClick: n.func.isRequired,
  onInput: n.func.isRequired,
  onKeyDown: n.func.isRequired,
  onPaste: n.func.isRequired,
  ownerState: n.any,
  readOnly: n.bool,
  renderSuffix: n.func,
  sectionListRef: n.oneOfType([n.func, n.shape({
    current: n.shape({
      getRoot: n.func.isRequired,
      getSectionContainer: n.func.isRequired,
      getSectionContent: n.func.isRequired,
      getSectionIndexFromDOMElement: n.func.isRequired
    })
  })]),
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * The components used for each slot inside.
   *
   * @default {}
   */
  slots: n.object,
  startAdornment: n.node,
  style: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  value: n.string.isRequired
});
function VO(e) {
  return ye("MuiPickersOutlinedInput", e);
}
const En = m({}, hr, be("MuiPickersOutlinedInput", ["root", "notchedOutline", "input"])), zO = ["children", "className", "label", "notched", "shrink"], BO = U("fieldset", {
  name: "MuiPickersOutlinedInput",
  slot: "NotchedOutline",
  overridesResolver: (e, t) => t.notchedOutline
})(({
  theme: e
}) => {
  const t = e.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
  return {
    textAlign: "left",
    position: "absolute",
    bottom: 0,
    right: 0,
    top: -5,
    left: 0,
    margin: 0,
    padding: "0 8px",
    pointerEvents: "none",
    borderRadius: "inherit",
    borderStyle: "solid",
    borderWidth: 1,
    overflow: "hidden",
    minWidth: "0%",
    borderColor: e.vars ? `rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)` : t
  };
}), cf = U("span")(({
  theme: e
}) => ({
  fontFamily: e.typography.fontFamily,
  fontSize: "inherit"
})), WO = U("legend")(({
  theme: e
}) => ({
  float: "unset",
  // Fix conflict with bootstrap
  width: "auto",
  // Fix conflict with bootstrap
  overflow: "hidden",
  // Fix Horizontal scroll when label too long
  variants: [{
    props: {
      withLabel: !1
    },
    style: {
      padding: 0,
      lineHeight: "11px",
      // sync with `height` in `legend` styles
      transition: e.transitions.create("width", {
        duration: 150,
        easing: e.transitions.easing.easeOut
      })
    }
  }, {
    props: {
      withLabel: !0
    },
    style: {
      display: "block",
      // Fix conflict with normalize.css and sanitize.css
      padding: 0,
      height: 11,
      // sync with `lineHeight` in `legend` styles
      fontSize: "0.75em",
      visibility: "hidden",
      maxWidth: 0.01,
      transition: e.transitions.create("max-width", {
        duration: 50,
        easing: e.transitions.easing.easeOut
      }),
      whiteSpace: "nowrap",
      "& > span": {
        paddingLeft: 5,
        paddingRight: 5,
        display: "inline-block",
        opacity: 0,
        visibility: "visible"
      }
    }
  }, {
    props: {
      withLabel: !0,
      notched: !0
    },
    style: {
      maxWidth: "100%",
      transition: e.transitions.create("max-width", {
        duration: 100,
        easing: e.transitions.easing.easeOut,
        delay: 50
      })
    }
  }]
}));
function UO(e) {
  const {
    className: t,
    label: o
  } = e, r = oe(e, zO), a = o != null && o !== "", i = m({}, e, {
    withLabel: a
  });
  return /* @__PURE__ */ x(BO, m({
    "aria-hidden": !0,
    className: t
  }, r, {
    ownerState: i,
    children: /* @__PURE__ */ x(WO, {
      ownerState: i,
      children: a ? /* @__PURE__ */ x(cf, {
        children: o
      }) : (
        // notranslate needed while Google Translate will not fix zero-width space issue
        /* @__PURE__ */ x(cf, {
          className: "notranslate",
          children: "​"
        })
      )
    })
  }));
}
const HO = ["label", "autoFocus", "ownerState", "notched"], qO = U(js, {
  name: "MuiPickersOutlinedInput",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})(({
  theme: e
}) => {
  const t = e.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)";
  return {
    padding: "0 14px",
    borderRadius: (e.vars || e).shape.borderRadius,
    [`&:hover .${En.notchedOutline}`]: {
      borderColor: (e.vars || e).palette.text.primary
    },
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      [`&:hover .${En.notchedOutline}`]: {
        borderColor: e.vars ? `rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)` : t
      }
    },
    [`&.${En.focused} .${En.notchedOutline}`]: {
      borderStyle: "solid",
      borderWidth: 2
    },
    [`&.${En.disabled}`]: {
      [`& .${En.notchedOutline}`]: {
        borderColor: (e.vars || e).palette.action.disabled
      },
      "*": {
        color: (e.vars || e).palette.action.disabled
      }
    },
    [`&.${En.error} .${En.notchedOutline}`]: {
      borderColor: (e.vars || e).palette.error.main
    },
    variants: Object.keys((e.vars ?? e).palette).filter((o) => {
      var r;
      return ((r = (e.vars ?? e).palette[o]) == null ? void 0 : r.main) ?? !1;
    }).map((o) => ({
      props: {
        color: o
      },
      style: {
        [`&.${En.focused}:not(.${En.error}) .${En.notchedOutline}`]: {
          // @ts-ignore
          borderColor: (e.vars || e).palette[o].main
        }
      }
    }))
  };
}), YO = U(vu, {
  name: "MuiPickersOutlinedInput",
  slot: "SectionsContainer",
  overridesResolver: (e, t) => t.sectionsContainer
})({
  padding: "16.5px 0",
  variants: [{
    props: {
      size: "small"
    },
    style: {
      padding: "8.5px 0"
    }
  }]
}), KO = (e) => {
  const {
    classes: t
  } = e, r = ve({
    root: ["root"],
    notchedOutline: ["notchedOutline"],
    input: ["input"]
  }, VO, t);
  return m({}, t, r);
}, xu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiPickersOutlinedInput"
  }), {
    label: a,
    ownerState: i,
    notched: s
  } = r, l = oe(r, HO), c = xn(), u = m({}, r, i, c, {
    color: (c == null ? void 0 : c.color) || "primary"
  }), p = KO(u);
  return /* @__PURE__ */ x(Vs, m({
    slots: {
      root: qO,
      input: YO
    },
    renderSuffix: (f) => /* @__PURE__ */ x(UO, {
      shrink: !!(s || f.adornedStart || f.focused || f.filled),
      notched: !!(s || f.adornedStart || f.focused || f.filled),
      className: p.notchedOutline,
      label: a != null && a !== "" && (c != null && c.required) ? /* @__PURE__ */ he(d.Fragment, {
        children: [a, " ", "*"]
      }) : a,
      ownerState: u
    })
  }, l, {
    label: a,
    classes: p,
    ref: o
  }));
});
process.env.NODE_ENV !== "production" && (xu.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Is `true` if the current values equals the empty value.
   * For a single item value, it means that `value === null`
   * For a range value, it means that `value === [null, null]`
   */
  areAllSectionsEmpty: n.bool.isRequired,
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If true, the whole element is editable.
   * Useful when all the sections are selected.
   */
  contentEditable: n.bool.isRequired,
  /**
   * The elements to render.
   * Each element contains the prop to edit a section of the value.
   */
  elements: n.arrayOf(n.shape({
    after: n.object.isRequired,
    before: n.object.isRequired,
    container: n.object.isRequired,
    content: n.object.isRequired
  })).isRequired,
  endAdornment: n.node,
  fullWidth: n.bool,
  id: n.string,
  inputProps: n.object,
  inputRef: ut,
  label: n.node,
  margin: n.oneOf(["dense", "none", "normal"]),
  name: n.string,
  notched: n.bool,
  onChange: n.func.isRequired,
  onClick: n.func.isRequired,
  onInput: n.func.isRequired,
  onKeyDown: n.func.isRequired,
  onPaste: n.func.isRequired,
  ownerState: n.any,
  readOnly: n.bool,
  renderSuffix: n.func,
  sectionListRef: n.oneOfType([n.func, n.shape({
    current: n.shape({
      getRoot: n.func.isRequired,
      getSectionContainer: n.func.isRequired,
      getSectionContent: n.func.isRequired,
      getSectionIndexFromDOMElement: n.func.isRequired
    })
  })]),
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * The components used for each slot inside.
   *
   * @default {}
   */
  slots: n.object,
  startAdornment: n.node,
  style: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  value: n.string.isRequired
});
xu.muiName = "Input";
function Pg(e, ...t) {
  const o = new URL(`https://mui.com/production-error/?code=${e}`);
  return t.forEach((r) => o.searchParams.append("args[]", r)), `Minified MUI error #${e}; visit ${o} for the full message.`;
}
function sr(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 Rg(e) {
  if (/* @__PURE__ */ d.isValidElement(e) || Vn.isValidElementType(e) || !sr(e))
    return e;
  const t = {};
  return Object.keys(e).forEach((o) => {
    t[o] = Rg(e[o]);
  }), t;
}
function Xi(e, t, o = {
  clone: !0
}) {
  const r = o.clone ? {
    ...e
  } : e;
  return sr(e) && sr(t) && Object.keys(t).forEach((a) => {
    /* @__PURE__ */ d.isValidElement(t[a]) || Vn.isValidElementType(t[a]) ? r[a] = t[a] : sr(t[a]) && // Avoid prototype pollution
    Object.prototype.hasOwnProperty.call(e, a) && sr(e[a]) ? r[a] = Xi(e[a], t[a], o) : o.clone ? r[a] = sr(t[a]) ? Rg(t[a]) : t[a] : r[a] = t[a];
  }), r;
}
const GO = (e) => {
  const t = Object.keys(e).map((o) => ({
    key: o,
    val: e[o]
  })) || [];
  return t.sort((o, r) => o.val - r.val), t.reduce((o, r) => ({
    ...o,
    [r.key]: r.val
  }), {});
};
function XO(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: o = "px",
    step: r = 5,
    ...a
  } = e, i = GO(t), s = Object.keys(i);
  function l(g) {
    return `@media (min-width:${typeof t[g] == "number" ? t[g] : g}${o})`;
  }
  function c(g) {
    return `@media (max-width:${(typeof t[g] == "number" ? t[g] : g) - r / 100}${o})`;
  }
  function u(g, v) {
    const b = s.indexOf(v);
    return `@media (min-width:${typeof t[g] == "number" ? t[g] : g}${o}) and (max-width:${(b !== -1 && typeof t[s[b]] == "number" ? t[s[b]] : v) - r / 100}${o})`;
  }
  function p(g) {
    return s.indexOf(g) + 1 < s.length ? u(g, s[s.indexOf(g) + 1]) : l(g);
  }
  function f(g) {
    const v = s.indexOf(g);
    return v === 0 ? l(s[1]) : v === s.length - 1 ? c(s[v]) : u(g, s[s.indexOf(g) + 1]).replace("@media", "@media not all and");
  }
  return {
    keys: s,
    values: i,
    up: l,
    down: c,
    between: u,
    only: p,
    not: f,
    unit: o,
    ...a
  };
}
function uf(e, t) {
  if (!e.containerQueries)
    return t;
  const o = Object.keys(t).filter((r) => r.startsWith("@container")).sort((r, a) => {
    var s, l;
    const i = /min-width:\s*([0-9.]+)/;
    return +(((s = r.match(i)) == null ? void 0 : s[1]) || 0) - +(((l = a.match(i)) == null ? void 0 : l[1]) || 0);
  });
  return o.length ? o.reduce((r, a) => {
    const i = t[a];
    return delete r[a], r[a] = i, r;
  }, {
    ...t
  }) : t;
}
function ZO(e, t) {
  return t === "@" || t.startsWith("@") && (e.some((o) => t.startsWith(`@${o}`)) || !!t.match(/^@\d/));
}
function QO(e, t) {
  const o = t.match(/^@([^/]+)?\/?(.+)?$/);
  if (!o) {
    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\`.` : Pg(18, `(${t})`));
    return null;
  }
  const [, r, a] = o, i = Number.isNaN(+r) ? r || 0 : +r;
  return e.containerQueries(a).up(i);
}
function JO(e) {
  const t = (i, s) => i.replace("@media", s ? `@container ${s}` : "@container");
  function o(i, s) {
    i.up = (...l) => t(e.breakpoints.up(...l), s), i.down = (...l) => t(e.breakpoints.down(...l), s), i.between = (...l) => t(e.breakpoints.between(...l), s), i.only = (...l) => t(e.breakpoints.only(...l), s), i.not = (...l) => {
      const c = t(e.breakpoints.not(...l), s);
      return c.includes("not all and") ? c.replace("not all and ", "").replace("min-width:", "width<").replace("max-width:", "width>").replace("and", "or") : c;
    };
  }
  const r = {}, a = (i) => (o(r, i), r);
  return o(a), {
    ...e,
    containerQueries: a
  };
}
const eE = {
  borderRadius: 4
}, Oo = process.env.NODE_ENV !== "production" ? n.oneOfType([n.number, n.string, n.object, n.array]) : {};
function ma(e, t) {
  return t ? Xi(e, t, {
    clone: !1
    // No need to clone deep, it's way faster.
  }) : e;
}
const zs = {
  xs: 0,
  // phone
  sm: 600,
  // tablet
  md: 900,
  // small laptop
  lg: 1200,
  // desktop
  xl: 1536
  // large screen
}, df = {
  // 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:${zs[e]}px)`
}, tE = {
  containerQueries: (e) => ({
    up: (t) => {
      let o = typeof t == "number" ? t : zs[t] || t;
      return typeof o == "number" && (o = `${o}px`), e ? `@container ${e} (min-width:${o})` : `@container (min-width:${o})`;
    }
  })
};
function Qn(e, t, o) {
  const r = e.theme || {};
  if (Array.isArray(t)) {
    const i = r.breakpoints || df;
    return t.reduce((s, l, c) => (s[i.up(i.keys[c])] = o(t[c]), s), {});
  }
  if (typeof t == "object") {
    const i = r.breakpoints || df;
    return Object.keys(t).reduce((s, l) => {
      if (ZO(i.keys, l)) {
        const c = QO(r.containerQueries ? r : tE, l);
        c && (s[c] = o(t[l], l));
      } else if (Object.keys(i.values || zs).includes(l)) {
        const c = i.up(l);
        s[c] = o(t[l], l);
      } else {
        const c = l;
        s[c] = t[c];
      }
      return s;
    }, {});
  }
  return o(t);
}
function nE(e = {}) {
  var o;
  return ((o = e.keys) == null ? void 0 : o.reduce((r, a) => {
    const i = e.up(a);
    return r[i] = {}, r;
  }, {})) || {};
}
function pf(e, t) {
  return e.reduce((o, r) => {
    const a = o[r];
    return (!a || Object.keys(a).length === 0) && delete o[r], o;
  }, t);
}
function kg(e) {
  if (typeof e != "string")
    throw new Error(process.env.NODE_ENV !== "production" ? "MUI: `capitalize(string)` expects a string argument." : Pg(7));
  return e.charAt(0).toUpperCase() + e.slice(1);
}
function Bs(e, t, o = !0) {
  if (!t || typeof t != "string")
    return null;
  if (e && e.vars && o) {
    const r = `vars.${t}`.split(".").reduce((a, i) => a && a[i] ? a[i] : null, e);
    if (r != null)
      return r;
  }
  return t.split(".").reduce((r, a) => r && r[a] != null ? r[a] : null, e);
}
function Zi(e, t, o, r = o) {
  let a;
  return typeof e == "function" ? a = e(o) : Array.isArray(e) ? a = e[o] || r : a = Bs(e, o) || r, t && (a = t(a, r, e)), a;
}
function Rt(e) {
  const {
    prop: t,
    cssProperty: o = e.prop,
    themeKey: r,
    transform: a
  } = e, i = (s) => {
    if (s[t] == null)
      return null;
    const l = s[t], c = s.theme, u = Bs(c, r) || {};
    return Qn(s, l, (f) => {
      let g = Zi(u, a, f);
      return f === g && typeof f == "string" && (g = Zi(u, a, `${t}${f === "default" ? "" : kg(f)}`, f)), o === !1 ? g : {
        [o]: g
      };
    });
  };
  return i.propTypes = process.env.NODE_ENV !== "production" ? {
    [t]: Oo
  } : {}, i.filterProps = [t], i;
}
function oE(e) {
  const t = {};
  return (o) => (t[o] === void 0 && (t[o] = e(o)), t[o]);
}
const rE = {
  m: "margin",
  p: "padding"
}, aE = {
  t: "Top",
  r: "Right",
  b: "Bottom",
  l: "Left",
  x: ["Left", "Right"],
  y: ["Top", "Bottom"]
}, ff = {
  marginX: "mx",
  marginY: "my",
  paddingX: "px",
  paddingY: "py"
}, iE = oE((e) => {
  if (e.length > 2)
    if (ff[e])
      e = ff[e];
    else
      return [e];
  const [t, o] = e.split(""), r = rE[t], a = aE[o] || "";
  return Array.isArray(a) ? a.map((i) => r + i) : [r + a];
}), Ws = ["m", "mt", "mr", "mb", "ml", "mx", "my", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginX", "marginY", "marginInline", "marginInlineStart", "marginInlineEnd", "marginBlock", "marginBlockStart", "marginBlockEnd"], Us = ["p", "pt", "pr", "pb", "pl", "px", "py", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingX", "paddingY", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "paddingBlock", "paddingBlockStart", "paddingBlockEnd"], sE = [...Ws, ...Us];
function Wa(e, t, o, r) {
  const a = Bs(e, t, !0) ?? o;
  return typeof a == "number" || typeof a == "string" ? (i) => typeof i == "string" ? i : (process.env.NODE_ENV !== "production" && typeof i != "number" && console.error(`MUI: Expected ${r} argument to be a number or a string, got ${i}.`), typeof a == "string" ? a.startsWith("var(") && i === 0 ? 0 : a.startsWith("var(") && i === 1 ? a : `calc(${i} * ${a})` : a * i) : Array.isArray(a) ? (i) => {
    if (typeof i == "string")
      return i;
    const s = Math.abs(i);
    process.env.NODE_ENV !== "production" && (Number.isInteger(s) ? s > a.length - 1 && console.error([`MUI: The value provided (${s}) overflows.`, `The supported values are: ${JSON.stringify(a)}.`, `${s} > ${a.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 = a[s];
    return i >= 0 ? l : typeof l == "number" ? -l : typeof l == "string" && l.startsWith("var(") ? `calc(-1 * ${l})` : `-${l}`;
  } : typeof a == "function" ? a : (process.env.NODE_ENV !== "production" && console.error([`MUI: The \`theme.${t}\` value (${a}) is invalid.`, "It should be a number, an array or a function."].join(`
`)), () => {
  });
}
function Mg(e) {
  return Wa(e, "spacing", 8, "spacing");
}
function Ua(e, t) {
  return typeof t == "string" || t == null ? t : e(t);
}
function lE(e, t) {
  return (o) => e.reduce((r, a) => (r[a] = Ua(t, o), r), {});
}
function cE(e, t, o, r) {
  if (!t.includes(o))
    return null;
  const a = iE(o), i = lE(a, r), s = e[o];
  return Qn(e, s, i);
}
function $g(e, t) {
  const o = Mg(e.theme);
  return Object.keys(e).map((r) => cE(e, t, r, o)).reduce(ma, {});
}
function Ct(e) {
  return $g(e, Ws);
}
Ct.propTypes = process.env.NODE_ENV !== "production" ? Ws.reduce((e, t) => (e[t] = Oo, e), {}) : {};
Ct.filterProps = Ws;
function Tt(e) {
  return $g(e, Us);
}
Tt.propTypes = process.env.NODE_ENV !== "production" ? Us.reduce((e, t) => (e[t] = Oo, e), {}) : {};
Tt.filterProps = Us;
process.env.NODE_ENV !== "production" && sE.reduce((e, t) => (e[t] = Oo, e), {});
function uE(e = 8, t = Mg({
  spacing: e
})) {
  if (e.mui)
    return e;
  const o = (...r) => (process.env.NODE_ENV !== "production" && (r.length <= 4 || console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${r.length}`)), (r.length === 0 ? [1] : r).map((i) => {
    const s = t(i);
    return typeof s == "number" ? `${s}px` : s;
  }).join(" "));
  return o.mui = !0, o;
}
function Hs(...e) {
  const t = e.reduce((r, a) => (a.filterProps.forEach((i) => {
    r[i] = a;
  }), r), {}), o = (r) => Object.keys(r).reduce((a, i) => t[i] ? ma(a, t[i](r)) : a, {});
  return o.propTypes = process.env.NODE_ENV !== "production" ? e.reduce((r, a) => Object.assign(r, a.propTypes), {}) : {}, o.filterProps = e.reduce((r, a) => r.concat(a.filterProps), []), o;
}
function ln(e) {
  return typeof e != "number" ? e : `${e}px solid`;
}
function Cn(e, t) {
  return Rt({
    prop: e,
    themeKey: "borders",
    transform: t
  });
}
const dE = Cn("border", ln), pE = Cn("borderTop", ln), fE = Cn("borderRight", ln), mE = Cn("borderBottom", ln), hE = Cn("borderLeft", ln), gE = Cn("borderColor"), bE = Cn("borderTopColor"), yE = Cn("borderRightColor"), vE = Cn("borderBottomColor"), xE = Cn("borderLeftColor"), CE = Cn("outline", ln), TE = Cn("outlineColor"), qs = (e) => {
  if (e.borderRadius !== void 0 && e.borderRadius !== null) {
    const t = Wa(e.theme, "shape.borderRadius", 4, "borderRadius"), o = (r) => ({
      borderRadius: Ua(t, r)
    });
    return Qn(e, e.borderRadius, o);
  }
  return null;
};
qs.propTypes = process.env.NODE_ENV !== "production" ? {
  borderRadius: Oo
} : {};
qs.filterProps = ["borderRadius"];
Hs(dE, pE, fE, mE, hE, gE, bE, yE, vE, xE, qs, CE, TE);
const Ys = (e) => {
  if (e.gap !== void 0 && e.gap !== null) {
    const t = Wa(e.theme, "spacing", 8, "gap"), o = (r) => ({
      gap: Ua(t, r)
    });
    return Qn(e, e.gap, o);
  }
  return null;
};
Ys.propTypes = process.env.NODE_ENV !== "production" ? {
  gap: Oo
} : {};
Ys.filterProps = ["gap"];
const Ks = (e) => {
  if (e.columnGap !== void 0 && e.columnGap !== null) {
    const t = Wa(e.theme, "spacing", 8, "columnGap"), o = (r) => ({
      columnGap: Ua(t, r)
    });
    return Qn(e, e.columnGap, o);
  }
  return null;
};
Ks.propTypes = process.env.NODE_ENV !== "production" ? {
  columnGap: Oo
} : {};
Ks.filterProps = ["columnGap"];
const Gs = (e) => {
  if (e.rowGap !== void 0 && e.rowGap !== null) {
    const t = Wa(e.theme, "spacing", 8, "rowGap"), o = (r) => ({
      rowGap: Ua(t, r)
    });
    return Qn(e, e.rowGap, o);
  }
  return null;
};
Gs.propTypes = process.env.NODE_ENV !== "production" ? {
  rowGap: Oo
} : {};
Gs.filterProps = ["rowGap"];
const wE = Rt({
  prop: "gridColumn"
}), OE = Rt({
  prop: "gridRow"
}), EE = Rt({
  prop: "gridAutoFlow"
}), SE = Rt({
  prop: "gridAutoColumns"
}), PE = Rt({
  prop: "gridAutoRows"
}), RE = Rt({
  prop: "gridTemplateColumns"
}), kE = Rt({
  prop: "gridTemplateRows"
}), ME = Rt({
  prop: "gridTemplateAreas"
}), $E = Rt({
  prop: "gridArea"
});
Hs(Ys, Ks, Gs, wE, OE, EE, SE, PE, RE, kE, ME, $E);
function gr(e, t) {
  return t === "grey" ? t : e;
}
const DE = Rt({
  prop: "color",
  themeKey: "palette",
  transform: gr
}), IE = Rt({
  prop: "bgcolor",
  cssProperty: "backgroundColor",
  themeKey: "palette",
  transform: gr
}), NE = Rt({
  prop: "backgroundColor",
  themeKey: "palette",
  transform: gr
});
Hs(DE, IE, NE);
function Xt(e) {
  return e <= 1 && e !== 0 ? `${e * 100}%` : e;
}
const _E = Rt({
  prop: "width",
  transform: Xt
}), Cu = (e) => {
  if (e.maxWidth !== void 0 && e.maxWidth !== null) {
    const t = (o) => {
      var a, i, s, l, c;
      const r = ((s = (i = (a = e.theme) == null ? void 0 : a.breakpoints) == null ? void 0 : i.values) == null ? void 0 : s[o]) || zs[o];
      return r ? ((c = (l = e.theme) == null ? void 0 : l.breakpoints) == null ? void 0 : c.unit) !== "px" ? {
        maxWidth: `${r}${e.theme.breakpoints.unit}`
      } : {
        maxWidth: r
      } : {
        maxWidth: Xt(o)
      };
    };
    return Qn(e, e.maxWidth, t);
  }
  return null;
};
Cu.filterProps = ["maxWidth"];
const AE = Rt({
  prop: "minWidth",
  transform: Xt
}), LE = Rt({
  prop: "height",
  transform: Xt
}), FE = Rt({
  prop: "maxHeight",
  transform: Xt
}), jE = Rt({
  prop: "minHeight",
  transform: Xt
});
Rt({
  prop: "size",
  cssProperty: "width",
  transform: Xt
});
Rt({
  prop: "size",
  cssProperty: "height",
  transform: Xt
});
const VE = Rt({
  prop: "boxSizing"
});
Hs(_E, Cu, AE, LE, FE, jE, VE);
const Dg = {
  // borders
  border: {
    themeKey: "borders",
    transform: ln
  },
  borderTop: {
    themeKey: "borders",
    transform: ln
  },
  borderRight: {
    themeKey: "borders",
    transform: ln
  },
  borderBottom: {
    themeKey: "borders",
    transform: ln
  },
  borderLeft: {
    themeKey: "borders",
    transform: ln
  },
  borderColor: {
    themeKey: "palette"
  },
  borderTopColor: {
    themeKey: "palette"
  },
  borderRightColor: {
    themeKey: "palette"
  },
  borderBottomColor: {
    themeKey: "palette"
  },
  borderLeftColor: {
    themeKey: "palette"
  },
  outline: {
    themeKey: "borders",
    transform: ln
  },
  outlineColor: {
    themeKey: "palette"
  },
  borderRadius: {
    themeKey: "shape.borderRadius",
    style: qs
  },
  // palette
  color: {
    themeKey: "palette",
    transform: gr
  },
  bgcolor: {
    themeKey: "palette",
    cssProperty: "backgroundColor",
    transform: gr
  },
  backgroundColor: {
    themeKey: "palette",
    transform: gr
  },
  // spacing
  p: {
    style: Tt
  },
  pt: {
    style: Tt
  },
  pr: {
    style: Tt
  },
  pb: {
    style: Tt
  },
  pl: {
    style: Tt
  },
  px: {
    style: Tt
  },
  py: {
    style: Tt
  },
  padding: {
    style: Tt
  },
  paddingTop: {
    style: Tt
  },
  paddingRight: {
    style: Tt
  },
  paddingBottom: {
    style: Tt
  },
  paddingLeft: {
    style: Tt
  },
  paddingX: {
    style: Tt
  },
  paddingY: {
    style: Tt
  },
  paddingInline: {
    style: Tt
  },
  paddingInlineStart: {
    style: Tt
  },
  paddingInlineEnd: {
    style: Tt
  },
  paddingBlock: {
    style: Tt
  },
  paddingBlockStart: {
    style: Tt
  },
  paddingBlockEnd: {
    style: Tt
  },
  m: {
    style: Ct
  },
  mt: {
    style: Ct
  },
  mr: {
    style: Ct
  },
  mb: {
    style: Ct
  },
  ml: {
    style: Ct
  },
  mx: {
    style: Ct
  },
  my: {
    style: Ct
  },
  margin: {
    style: Ct
  },
  marginTop: {
    style: Ct
  },
  marginRight: {
    style: Ct
  },
  marginBottom: {
    style: Ct
  },
  marginLeft: {
    style: Ct
  },
  marginX: {
    style: Ct
  },
  marginY: {
    style: Ct
  },
  marginInline: {
    style: Ct
  },
  marginInlineStart: {
    style: Ct
  },
  marginInlineEnd: {
    style: Ct
  },
  marginBlock: {
    style: Ct
  },
  marginBlockStart: {
    style: Ct
  },
  marginBlockEnd: {
    style: Ct
  },
  // 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: Ys
  },
  rowGap: {
    style: Gs
  },
  columnGap: {
    style: Ks
  },
  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: Xt
  },
  maxWidth: {
    style: Cu
  },
  minWidth: {
    transform: Xt
  },
  height: {
    transform: Xt
  },
  maxHeight: {
    transform: Xt
  },
  minHeight: {
    transform: Xt
  },
  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 zE(...e) {
  const t = e.reduce((r, a) => r.concat(Object.keys(a)), []), o = new Set(t);
  return e.every((r) => o.size === Object.keys(r).length);
}
function BE(e, t) {
  return typeof e == "function" ? e(t) : e;
}
function WE() {
  function e(o, r, a, i) {
    const s = {
      [o]: r,
      theme: a
    }, l = i[o];
    if (!l)
      return {
        [o]: r
      };
    const {
      cssProperty: c = o,
      themeKey: u,
      transform: p,
      style: f
    } = l;
    if (r == null)
      return null;
    if (u === "typography" && r === "inherit")
      return {
        [o]: r
      };
    const g = Bs(a, u) || {};
    return f ? f(s) : Qn(s, r, (b) => {
      let h = Zi(g, p, b);
      return b === h && typeof b == "string" && (h = Zi(g, p, `${o}${b === "default" ? "" : kg(b)}`, b)), c === !1 ? h : {
        [c]: h
      };
    });
  }
  function t(o) {
    const {
      sx: r,
      theme: a = {},
      nested: i
    } = o || {};
    if (!r)
      return null;
    const s = a.unstable_sxConfig ?? Dg;
    function l(c) {
      let u = c;
      if (typeof c == "function")
        u = c(a);
      else if (typeof c != "object")
        return c;
      if (!u)
        return null;
      const p = nE(a.breakpoints), f = Object.keys(p);
      let g = p;
      return Object.keys(u).forEach((v) => {
        const b = BE(u[v], a);
        if (b != null)
          if (typeof b == "object")
            if (s[v])
              g = ma(g, e(v, b, a, s));
            else {
              const h = Qn({
                theme: a
              }, b, (y) => ({
                [v]: y
              }));
              zE(h, b) ? g[v] = t({
                sx: b,
                theme: a,
                nested: !0
              }) : g = ma(g, h);
            }
          else
            g = ma(g, e(v, b, a, s));
      }), !i && a.modularCssLayers ? {
        "@layer sx": uf(a, pf(f, g))
      } : uf(a, pf(f, g));
    }
    return Array.isArray(r) ? r.map(l) : l(r);
  }
  return t;
}
const Ig = WE();
Ig.filterProps = ["sx"];
function UE(e, t) {
  var r;
  const o = this;
  if (o.vars) {
    if (!((r = o.colorSchemes) != null && r[e]) || typeof o.getColorSchemeSelector != "function")
      return {};
    let a = o.getColorSchemeSelector(e);
    return a === "&" ? t : ((a.includes("data-") || a.includes(".")) && (a = `*:where(${a.replace(/\s*&$/, "")}) &`), {
      [a]: t
    });
  }
  return o.palette.mode === e ? t : {};
}
function HE(e = {}, ...t) {
  const {
    breakpoints: o = {},
    palette: r = {},
    spacing: a,
    shape: i = {},
    ...s
  } = e, l = XO(o), c = uE(a);
  let u = Xi({
    breakpoints: l,
    direction: "ltr",
    components: {},
    // Inject component definitions.
    palette: {
      mode: "light",
      ...r
    },
    spacing: c,
    shape: {
      ...eE,
      ...i
    }
  }, s);
  return u = JO(u), u.applyStyles = UE, u = t.reduce((p, f) => Xi(p, f), u), u.unstable_sxConfig = {
    ...Dg,
    ...s == null ? void 0 : s.unstable_sxConfig
  }, u.unstable_sx = function(f) {
    return Ig({
      sx: f,
      theme: this
    });
  }, u;
}
HE();
function qE(e) {
  return e !== "ownerState" && e !== "theme" && e !== "sx" && e !== "as";
}
function YE(e) {
  return ye("MuiPickersFilledInput", e);
}
const Io = m({}, hr, be("MuiPickersFilledInput", ["root", "underline", "input"])), KE = ["label", "autoFocus", "disableUnderline", "ownerState"], GE = U(js, {
  name: "MuiPickersFilledInput",
  slot: "Root",
  overridesResolver: (e, t) => t.root,
  shouldForwardProp: (e) => qE(e) && e !== "disableUnderline"
})(({
  theme: e
}) => {
  const t = e.palette.mode === "light", o = t ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)", r = t ? "rgba(0, 0, 0, 0.06)" : "rgba(255, 255, 255, 0.09)", a = t ? "rgba(0, 0, 0, 0.09)" : "rgba(255, 255, 255, 0.13)", i = t ? "rgba(0, 0, 0, 0.12)" : "rgba(255, 255, 255, 0.12)";
  return {
    backgroundColor: e.vars ? e.vars.palette.FilledInput.bg : r,
    borderTopLeftRadius: (e.vars || e).shape.borderRadius,
    borderTopRightRadius: (e.vars || e).shape.borderRadius,
    transition: e.transitions.create("background-color", {
      duration: e.transitions.duration.shorter,
      easing: e.transitions.easing.easeOut
    }),
    "&:hover": {
      backgroundColor: e.vars ? e.vars.palette.FilledInput.hoverBg : a,
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        backgroundColor: e.vars ? e.vars.palette.FilledInput.bg : r
      }
    },
    [`&.${Io.focused}`]: {
      backgroundColor: e.vars ? e.vars.palette.FilledInput.bg : r
    },
    [`&.${Io.disabled}`]: {
      backgroundColor: e.vars ? e.vars.palette.FilledInput.disabledBg : i
    },
    variants: [...Object.keys((e.vars ?? e).palette).filter((s) => (e.vars ?? e).palette[s].main).map((s) => {
      var l;
      return {
        props: {
          color: s,
          disableUnderline: !1
        },
        style: {
          "&::after": {
            // @ts-ignore
            borderBottom: `2px solid ${(l = (e.vars || e).palette[s]) == null ? void 0 : l.main}`
          }
        }
      };
    }), {
      props: {
        disableUnderline: !1
      },
      style: {
        "&::after": {
          left: 0,
          bottom: 0,
          // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
          content: '""',
          position: "absolute",
          right: 0,
          transform: "scaleX(0)",
          transition: e.transitions.create("transform", {
            duration: e.transitions.duration.shorter,
            easing: e.transitions.easing.easeOut
          }),
          pointerEvents: "none"
          // Transparent to the hover style.
        },
        [`&.${Io.focused}:after`]: {
          // translateX(0) is a workaround for Safari transform scale bug
          // See https://github.com/mui/material-ui/issues/31766
          transform: "scaleX(1) translateX(0)"
        },
        [`&.${Io.error}`]: {
          "&:before, &:after": {
            borderBottomColor: (e.vars || e).palette.error.main
          }
        },
        "&::before": {
          borderBottom: `1px solid ${e.vars ? `rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})` : o}`,
          left: 0,
          bottom: 0,
          // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
          content: '"\\00a0"',
          position: "absolute",
          right: 0,
          transition: e.transitions.create("border-bottom-color", {
            duration: e.transitions.duration.shorter
          }),
          pointerEvents: "none"
          // Transparent to the hover style.
        },
        [`&:hover:not(.${Io.disabled}, .${Io.error}):before`]: {
          borderBottom: `1px solid ${(e.vars || e).palette.text.primary}`
        },
        [`&.${Io.disabled}:before`]: {
          borderBottomStyle: "dotted"
        }
      }
    }, {
      props: ({
        startAdornment: s
      }) => !!s,
      style: {
        paddingLeft: 12
      }
    }, {
      props: ({
        endAdornment: s
      }) => !!s,
      style: {
        paddingRight: 12
      }
    }]
  };
}), XE = U(vu, {
  name: "MuiPickersFilledInput",
  slot: "sectionsContainer",
  overridesResolver: (e, t) => t.sectionsContainer
})({
  paddingTop: 25,
  paddingRight: 12,
  paddingBottom: 8,
  paddingLeft: 12,
  variants: [{
    props: {
      size: "small"
    },
    style: {
      paddingTop: 21,
      paddingBottom: 4
    }
  }, {
    props: ({
      startAdornment: e
    }) => !!e,
    style: {
      paddingLeft: 0
    }
  }, {
    props: ({
      endAdornment: e
    }) => !!e,
    style: {
      paddingRight: 0
    }
  }, {
    props: {
      hiddenLabel: !0
    },
    style: {
      paddingTop: 16,
      paddingBottom: 17
    }
  }, {
    props: {
      hiddenLabel: !0,
      size: "small"
    },
    style: {
      paddingTop: 8,
      paddingBottom: 9
    }
  }]
}), ZE = (e) => {
  const {
    classes: t,
    disableUnderline: o
  } = e, a = ve({
    root: ["root", !o && "underline"],
    input: ["input"]
  }, YE, t);
  return m({}, t, a);
}, Tu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiPickersFilledInput"
  }), {
    label: a,
    disableUnderline: i = !1,
    ownerState: s
  } = r, l = oe(r, KE), c = xn(), u = m({}, r, s, c, {
    color: (c == null ? void 0 : c.color) || "primary"
  }), p = ZE(u);
  return /* @__PURE__ */ x(Vs, m({
    slots: {
      root: GE,
      input: XE
    },
    slotProps: {
      root: {
        disableUnderline: i
      }
    }
  }, l, {
    label: a,
    classes: p,
    ref: o
  }));
});
process.env.NODE_ENV !== "production" && (Tu.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Is `true` if the current values equals the empty value.
   * For a single item value, it means that `value === null`
   * For a range value, it means that `value === [null, null]`
   */
  areAllSectionsEmpty: n.bool.isRequired,
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If true, the whole element is editable.
   * Useful when all the sections are selected.
   */
  contentEditable: n.bool.isRequired,
  disableUnderline: n.bool,
  /**
   * The elements to render.
   * Each element contains the prop to edit a section of the value.
   */
  elements: n.arrayOf(n.shape({
    after: n.object.isRequired,
    before: n.object.isRequired,
    container: n.object.isRequired,
    content: n.object.isRequired
  })).isRequired,
  endAdornment: n.node,
  fullWidth: n.bool,
  hiddenLabel: n.bool,
  id: n.string,
  inputProps: n.object,
  inputRef: ut,
  label: n.node,
  margin: n.oneOf(["dense", "none", "normal"]),
  name: n.string,
  onChange: n.func.isRequired,
  onClick: n.func.isRequired,
  onInput: n.func.isRequired,
  onKeyDown: n.func.isRequired,
  onPaste: n.func.isRequired,
  ownerState: n.any,
  readOnly: n.bool,
  renderSuffix: n.func,
  sectionListRef: n.oneOfType([n.func, n.shape({
    current: n.shape({
      getRoot: n.func.isRequired,
      getSectionContainer: n.func.isRequired,
      getSectionContent: n.func.isRequired,
      getSectionIndexFromDOMElement: n.func.isRequired
    })
  })]),
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * The components used for each slot inside.
   *
   * @default {}
   */
  slots: n.object,
  startAdornment: n.node,
  style: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  value: n.string.isRequired
});
Tu.muiName = "Input";
function QE(e) {
  return ye("MuiPickersFilledInput", e);
}
const ta = m({}, hr, be("MuiPickersInput", ["root", "input"])), JE = ["label", "autoFocus", "disableUnderline", "ownerState"], eS = U(js, {
  name: "MuiPickersInput",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})(({
  theme: e
}) => {
  let o = e.palette.mode === "light" ? "rgba(0, 0, 0, 0.42)" : "rgba(255, 255, 255, 0.7)";
  return e.vars && (o = `rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`), {
    "label + &": {
      marginTop: 16
    },
    variants: [...Object.keys((e.vars ?? e).palette).filter((r) => (e.vars ?? e).palette[r].main).map((r) => ({
      props: {
        color: r
      },
      style: {
        "&::after": {
          // @ts-ignore
          borderBottom: `2px solid ${(e.vars || e).palette[r].main}`
        }
      }
    })), {
      props: {
        disableUnderline: !1
      },
      style: {
        "&::after": {
          background: "red",
          left: 0,
          bottom: 0,
          // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
          content: '""',
          position: "absolute",
          right: 0,
          transform: "scaleX(0)",
          transition: e.transitions.create("transform", {
            duration: e.transitions.duration.shorter,
            easing: e.transitions.easing.easeOut
          }),
          pointerEvents: "none"
          // Transparent to the hover style.
        },
        [`&.${ta.focused}:after`]: {
          // translateX(0) is a workaround for Safari transform scale bug
          // See https://github.com/mui/material-ui/issues/31766
          transform: "scaleX(1) translateX(0)"
        },
        [`&.${ta.error}`]: {
          "&:before, &:after": {
            borderBottomColor: (e.vars || e).palette.error.main
          }
        },
        "&::before": {
          borderBottom: `1px solid ${o}`,
          left: 0,
          bottom: 0,
          // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
          content: '"\\00a0"',
          position: "absolute",
          right: 0,
          transition: e.transitions.create("border-bottom-color", {
            duration: e.transitions.duration.shorter
          }),
          pointerEvents: "none"
          // Transparent to the hover style.
        },
        [`&:hover:not(.${ta.disabled}, .${ta.error}):before`]: {
          borderBottom: `2px solid ${(e.vars || e).palette.text.primary}`,
          // Reset on touch devices, it doesn't add specificity
          "@media (hover: none)": {
            borderBottom: `1px solid ${o}`
          }
        },
        [`&.${ta.disabled}:before`]: {
          borderBottomStyle: "dotted"
        }
      }
    }]
  };
}), tS = (e) => {
  const {
    classes: t,
    disableUnderline: o
  } = e, a = ve({
    root: ["root", !o && "underline"],
    input: ["input"]
  }, QE, t);
  return m({}, t, a);
}, wu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiPickersInput"
  }), {
    label: a,
    disableUnderline: i = !1,
    ownerState: s
  } = r, l = oe(r, JE), c = xn(), u = m({}, r, s, c, {
    disableUnderline: i,
    color: (c == null ? void 0 : c.color) || "primary"
  }), p = tS(u);
  return /* @__PURE__ */ x(Vs, m({
    slots: {
      root: eS
    }
  }, l, {
    label: a,
    classes: p,
    ref: o
  }));
});
process.env.NODE_ENV !== "production" && (wu.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Is `true` if the current values equals the empty value.
   * For a single item value, it means that `value === null`
   * For a range value, it means that `value === [null, null]`
   */
  areAllSectionsEmpty: n.bool.isRequired,
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If true, the whole element is editable.
   * Useful when all the sections are selected.
   */
  contentEditable: n.bool.isRequired,
  disableUnderline: n.bool,
  /**
   * The elements to render.
   * Each element contains the prop to edit a section of the value.
   */
  elements: n.arrayOf(n.shape({
    after: n.object.isRequired,
    before: n.object.isRequired,
    container: n.object.isRequired,
    content: n.object.isRequired
  })).isRequired,
  endAdornment: n.node,
  fullWidth: n.bool,
  id: n.string,
  inputProps: n.object,
  inputRef: ut,
  label: n.node,
  margin: n.oneOf(["dense", "none", "normal"]),
  name: n.string,
  onChange: n.func.isRequired,
  onClick: n.func.isRequired,
  onInput: n.func.isRequired,
  onKeyDown: n.func.isRequired,
  onPaste: n.func.isRequired,
  ownerState: n.any,
  readOnly: n.bool,
  renderSuffix: n.func,
  sectionListRef: n.oneOfType([n.func, n.shape({
    current: n.shape({
      getRoot: n.func.isRequired,
      getSectionContainer: n.func.isRequired,
      getSectionContent: n.func.isRequired,
      getSectionIndexFromDOMElement: n.func.isRequired
    })
  })]),
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * The components used for each slot inside.
   *
   * @default {}
   */
  slots: n.object,
  startAdornment: n.node,
  style: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  value: n.string.isRequired
});
wu.muiName = "Input";
const nS = ["onFocus", "onBlur", "className", "color", "disabled", "error", "variant", "required", "InputProps", "inputProps", "inputRef", "sectionListRef", "elements", "areAllSectionsEmpty", "onClick", "onKeyDown", "onKeyUp", "onPaste", "onInput", "endAdornment", "startAdornment", "tabIndex", "contentEditable", "focused", "value", "onChange", "fullWidth", "id", "name", "helperText", "FormHelperTextProps", "label", "InputLabelProps"], oS = {
  standard: wu,
  filled: Tu,
  outlined: xu
}, rS = U(mu, {
  name: "MuiPickersTextField",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  maxWidth: "100%"
}), aS = (e) => {
  const {
    focused: t,
    disabled: o,
    classes: r,
    required: a
  } = e;
  return ve({
    root: ["root", t && !o && "focused", o && "disabled", a && "required"]
  }, RO, r);
}, Ng = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiPickersTextField"
  }), {
    // Props used by FormControl
    onFocus: a,
    onBlur: i,
    className: s,
    color: l = "primary",
    disabled: c = !1,
    error: u = !1,
    variant: p = "outlined",
    required: f = !1,
    // Props used by PickersInput
    InputProps: g,
    inputProps: v,
    inputRef: b,
    sectionListRef: h,
    elements: y,
    areAllSectionsEmpty: C,
    onClick: E,
    onKeyDown: w,
    onKeyUp: T,
    onPaste: O,
    onInput: P,
    endAdornment: S,
    startAdornment: $,
    tabIndex: A,
    contentEditable: N,
    focused: D,
    value: V,
    onChange: L,
    fullWidth: I,
    id: R,
    name: k,
    // Props used by FormHelperText
    helperText: F,
    FormHelperTextProps: M,
    // Props used by InputLabel
    label: B,
    InputLabelProps: j
  } = r, W = oe(r, nS), re = d.useRef(null), J = ze(o, re), Q = Mn(R), X = F && Q ? `${Q}-helper-text` : void 0, Y = B && Q ? `${Q}-label` : void 0, Z = m({}, r, {
    color: l,
    disabled: c,
    error: u,
    focused: D,
    required: f,
    variant: p
  }), H = aS(Z), K = oS[p];
  return /* @__PURE__ */ he(rS, m({
    className: ce(H.root, s),
    ref: J,
    focused: D,
    onFocus: a,
    onBlur: i,
    disabled: c,
    variant: p,
    error: u,
    color: l,
    fullWidth: I,
    required: f,
    ownerState: Z
  }, W, {
    children: [/* @__PURE__ */ x(fu, m({
      htmlFor: Q,
      id: Y
    }, j, {
      children: B
    })), /* @__PURE__ */ x(K, m({
      elements: y,
      areAllSectionsEmpty: C,
      onClick: E,
      onKeyDown: w,
      onKeyUp: T,
      onInput: P,
      onPaste: O,
      endAdornment: S,
      startAdornment: $,
      tabIndex: A,
      contentEditable: N,
      value: V,
      onChange: L,
      id: Q,
      fullWidth: I,
      inputProps: v,
      inputRef: b,
      sectionListRef: h,
      label: B,
      name: k,
      role: "group",
      "aria-labelledby": Y,
      "aria-describedby": X,
      "aria-live": X ? "polite" : void 0
    }, g)), F && /* @__PURE__ */ x(hu, m({
      id: X
    }, M, {
      children: F
    }))]
  }));
});
process.env.NODE_ENV !== "production" && (Ng.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Is `true` if the current values equals the empty value.
   * For a single item value, it means that `value === null`
   * For a range value, it means that `value === [null, null]`
   */
  areAllSectionsEmpty: n.bool.isRequired,
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOf(["error", "info", "primary", "secondary", "success", "warning"]),
  component: n.elementType,
  /**
   * If true, the whole element is editable.
   * Useful when all the sections are selected.
   */
  contentEditable: n.bool.isRequired,
  disabled: n.bool.isRequired,
  /**
   * The elements to render.
   * Each element contains the prop to edit a section of the value.
   */
  elements: n.arrayOf(n.shape({
    after: n.object.isRequired,
    before: n.object.isRequired,
    container: n.object.isRequired,
    content: n.object.isRequired
  })).isRequired,
  endAdornment: n.node,
  error: n.bool.isRequired,
  /**
   * If `true`, the component is displayed in focused state.
   */
  focused: n.bool,
  FormHelperTextProps: n.object,
  fullWidth: n.bool,
  /**
   * The helper text content.
   */
  helperText: n.node,
  /**
   * If `true`, the label is hidden.
   * This is used to increase density for a `FilledInput`.
   * Be sure to add `aria-label` to the `input` element.
   * @default false
   */
  hiddenLabel: n.bool,
  id: n.string,
  InputLabelProps: n.object,
  inputProps: n.object,
  /**
   * Props applied to the Input element.
   * It will be a [`FilledInput`](/material-ui/api/filled-input/),
   * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
   * component depending on the `variant` prop value.
   */
  InputProps: n.object,
  inputRef: ut,
  label: n.node,
  /**
   * If `dense` or `normal`, will adjust vertical spacing of this and contained components.
   * @default 'none'
   */
  margin: n.oneOf(["dense", "none", "normal"]),
  name: n.string,
  onBlur: n.func.isRequired,
  onChange: n.func.isRequired,
  onClick: n.func.isRequired,
  onFocus: n.func.isRequired,
  onInput: n.func.isRequired,
  onKeyDown: n.func.isRequired,
  onPaste: n.func.isRequired,
  readOnly: n.bool,
  /**
   * If `true`, the label will indicate that the `input` is required.
   * @default false
   */
  required: n.bool,
  sectionListRef: n.oneOfType([n.func, n.shape({
    current: n.shape({
      getRoot: n.func.isRequired,
      getSectionContainer: n.func.isRequired,
      getSectionContent: n.func.isRequired,
      getSectionIndexFromDOMElement: n.func.isRequired
    })
  })]),
  /**
   * The size of the component.
   * @default 'medium'
   */
  size: n.oneOf(["medium", "small"]),
  startAdornment: n.node,
  style: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  value: n.string.isRequired,
  /**
   * The variant to use.
   * @default 'outlined'
   */
  variant: n.oneOf(["filled", "outlined", "standard"])
});
const iS = ["enableAccessibleFieldDOMStructure"], sS = ["InputProps", "readOnly"], lS = ["onPaste", "onKeyDown", "inputMode", "readOnly", "InputProps", "inputProps", "inputRef"], cS = (e) => {
  let {
    enableAccessibleFieldDOMStructure: t
  } = e, o = oe(e, iS);
  if (t) {
    const {
      InputProps: f,
      readOnly: g
    } = o, v = oe(o, sS);
    return m({}, v, {
      InputProps: m({}, f ?? {}, {
        readOnly: g
      })
    });
  }
  const {
    onPaste: r,
    onKeyDown: a,
    inputMode: i,
    readOnly: s,
    InputProps: l,
    inputProps: c,
    inputRef: u
  } = o, p = oe(o, lS);
  return m({}, p, {
    InputProps: m({}, l ?? {}, {
      readOnly: s
    }),
    inputProps: m({}, c ?? {}, {
      inputMode: i,
      onPaste: r,
      onKeyDown: a,
      ref: u
    })
  });
}, uS = ["slots", "slotProps", "InputProps", "inputProps"], Ou = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiDateField"
  }), {
    slots: a,
    slotProps: i,
    InputProps: s,
    inputProps: l
  } = r, c = oe(r, uS), u = r, p = (a == null ? void 0 : a.textField) ?? (t.enableAccessibleFieldDOMStructure ? Ng : jr), f = $e({
    elementType: p,
    externalSlotProps: i == null ? void 0 : i.textField,
    externalForwardedProps: c,
    additionalProps: {
      ref: o
    },
    ownerState: u
  });
  f.inputProps = m({}, l, f.inputProps), f.InputProps = m({}, s, f.InputProps);
  const g = PO(f), v = cS(g), b = wO(m({}, v, {
    slots: a,
    slotProps: i
  }));
  return /* @__PURE__ */ x(p, m({}, b));
});
process.env.NODE_ENV !== "production" && (Ou.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * If `true`, the `input` element is focused during the first mount.
   * @default false
   */
  autoFocus: n.bool,
  className: n.string,
  /**
   * If `true`, a clear button will be shown in the field allowing value clearing.
   * @default false
   */
  clearable: n.bool,
  /**
   * 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).
   * @default 'primary'
   */
  color: n.oneOf(["error", "info", "primary", "secondary", "success", "warning"]),
  component: n.elementType,
  /**
   * The default value. Use when the component is not controlled.
   */
  defaultValue: n.object,
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, disable values after the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disableFuture: n.bool,
  /**
   * If `true`, disable values before the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disablePast: n.bool,
  /**
   * @default false
   */
  enableAccessibleFieldDOMStructure: n.bool,
  /**
   * If `true`, the component is displayed in focused state.
   */
  focused: n.bool,
  /**
   * Format of the date when rendered in the input(s).
   */
  format: n.string,
  /**
   * Density of the format when rendered in the input.
   * Setting `formatDensity` to `"spacious"` will add a space before and after each `/`, `-` and `.` character.
   * @default "dense"
   */
  formatDensity: n.oneOf(["dense", "spacious"]),
  /**
   * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
   */
  FormHelperTextProps: n.object,
  /**
   * If `true`, the input will take up the full width of its container.
   * @default false
   */
  fullWidth: n.bool,
  /**
   * The helper text content.
   */
  helperText: n.node,
  /**
   * If `true`, the label is hidden.
   * This is used to increase density for a `FilledInput`.
   * Be sure to add `aria-label` to the `input` element.
   * @default false
   */
  hiddenLabel: n.bool,
  /**
   * The id of the `input` element.
   * Use this prop to make `label` and `helperText` accessible for screen readers.
   */
  id: n.string,
  /**
   * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
   * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
   */
  InputLabelProps: n.object,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   */
  inputProps: n.object,
  /**
   * Props applied to the Input element.
   * It will be a [`FilledInput`](/material-ui/api/filled-input/),
   * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
   * component depending on the `variant` prop value.
   */
  InputProps: n.object,
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * The label content.
   */
  label: n.node,
  /**
   * If `dense` or `normal`, will adjust vertical spacing of this and contained components.
   * @default 'none'
   */
  margin: n.oneOf(["dense", "none", "normal"]),
  /**
   * Maximal selectable date.
   * @default 2099-12-31
   */
  maxDate: n.object,
  /**
   * Minimal selectable date.
   * @default 1900-01-01
   */
  minDate: n.object,
  /**
   * Name attribute of the `input` element.
   */
  name: n.string,
  onBlur: n.func,
  /**
   * Callback fired when the value changes.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @param {TValue} value The new value.
   * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
   */
  onChange: n.func,
  /**
   * Callback fired when the clear button is clicked.
   */
  onClear: n.func,
  /**
   * Callback fired when the error associated with the current value changes.
   * When a validation error is detected, the `error` parameter contains a non-null value.
   * This can be used to render an appropriate form error.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @param {TError} error The reason why the current value is not valid.
   * @param {TValue} value The value associated with the error.
   */
  onError: n.func,
  onFocus: n.func,
  /**
   * Callback fired when the selected sections change.
   * @param {FieldSelectedSections} newValue The new selected sections.
   */
  onSelectedSectionsChange: n.func,
  /**
   * It prevents the user from changing the value of the field
   * (not from interacting with the field).
   * @default false
   */
  readOnly: n.bool,
  /**
   * The date used to generate a part of the new value that is not present in the format when both `value` and `defaultValue` are empty.
   * For example, on time fields it will be used to determine the date to set.
   * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
   */
  referenceDate: n.object,
  /**
   * If `true`, the label is displayed as required and the `input` element is required.
   * @default false
   */
  required: n.bool,
  /**
   * The currently selected sections.
   * This prop accepts four formats:
   * 1. If a number is provided, the section at this index will be selected.
   * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
   * 3. If `"all"` is provided, all the sections will be selected.
   * 4. If `null` is provided, no section will be selected.
   * If not provided, the selected sections will be handled internally.
   */
  selectedSections: n.oneOfType([n.oneOf(["all", "day", "empty", "hours", "meridiem", "minutes", "month", "seconds", "weekDay", "year"]), n.number]),
  /**
   * Disable specific date.
   *
   * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
   *
   * @template TDate
   * @param {TDate} day The date to test.
   * @returns {boolean} If `true` the date will be disabled.
   */
  shouldDisableDate: n.func,
  /**
   * Disable specific month.
   * @template TDate
   * @param {TDate} month The month to test.
   * @returns {boolean} If `true`, the month will be disabled.
   */
  shouldDisableMonth: n.func,
  /**
   * Disable specific year.
   * @template TDate
   * @param {TDate} year The year to test.
   * @returns {boolean} If `true`, the year will be disabled.
   */
  shouldDisableYear: n.func,
  /**
   * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
   * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
   *
   * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (e.g: "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
   *
   * Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.
   * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
   *
   * Warning n°3: When used in strict mode, dayjs and moment require to respect the leading zeros.
   * This mean that when using `shouldRespectLeadingZeros={false}`, if you retrieve the value directly from the input (not listening to `onChange`) and your format contains tokens without leading zeros, the value will not be parsed by your library.
   *
   * @default false
   */
  shouldRespectLeadingZeros: n.bool,
  /**
   * The size of the component.
   */
  size: n.oneOf(["medium", "small"]),
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   * @default {}
   */
  slots: n.object,
  style: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Choose which timezone to use for the value.
   * Example: "default", "system", "UTC", "America/New_York".
   * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
   * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
   * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
   */
  timezone: n.string,
  /**
   * The ref object used to imperatively interact with the field.
   */
  unstableFieldRef: n.oneOfType([n.func, n.object]),
  /**
   * The selected value.
   * Used when the component is controlled.
   */
  value: n.object,
  /**
   * The variant to use.
   * @default 'outlined'
   */
  variant: n.oneOf(["filled", "outlined", "standard"])
});
const _g = ({
  shouldDisableDate: e,
  shouldDisableMonth: t,
  shouldDisableYear: o,
  minDate: r,
  maxDate: a,
  disableFuture: i,
  disablePast: s,
  timezone: l
}) => {
  const c = Yo();
  return d.useCallback((u) => ja({
    adapter: c,
    value: u,
    timezone: l,
    props: {
      shouldDisableDate: e,
      shouldDisableMonth: t,
      shouldDisableYear: o,
      minDate: r,
      maxDate: a,
      disableFuture: i,
      disablePast: s
    }
  }) !== null, [c, e, t, o, r, a, i, s, l]);
}, dS = (e, t, o) => (r, a) => {
  switch (a.type) {
    case "changeMonth":
      return m({}, r, {
        slideDirection: a.direction,
        currentMonth: a.newMonth,
        isMonthSwitchingAnimating: !e
      });
    case "changeMonthTimezone": {
      const i = a.newTimezone;
      if (o.getTimezone(r.currentMonth) === i)
        return r;
      let s = o.setTimezone(r.currentMonth, i);
      return o.getMonth(s) !== o.getMonth(r.currentMonth) && (s = o.setMonth(s, o.getMonth(r.currentMonth))), m({}, r, {
        currentMonth: s
      });
    }
    case "finishMonthSwitchingAnimation":
      return m({}, r, {
        isMonthSwitchingAnimating: !1
      });
    case "changeFocusedDay": {
      if (r.focusedDay != null && a.focusedDay != null && o.isSameDay(a.focusedDay, r.focusedDay))
        return r;
      const i = a.focusedDay != null && !t && !o.isSameMonth(r.currentMonth, a.focusedDay);
      return m({}, r, {
        focusedDay: a.focusedDay,
        isMonthSwitchingAnimating: i && !e && !a.withoutMonthSwitchingAnimation,
        currentMonth: i ? o.startOfMonth(a.focusedDay) : r.currentMonth,
        slideDirection: a.focusedDay != null && o.isAfterDay(a.focusedDay, r.currentMonth) ? "left" : "right"
      });
    }
    default:
      throw new Error("missing support");
  }
}, pS = (e) => {
  const {
    value: t,
    referenceDate: o,
    disableFuture: r,
    disablePast: a,
    disableSwitchToMonthOnDayFocus: i = !1,
    maxDate: s,
    minDate: l,
    onMonthChange: c,
    reduceAnimations: u,
    shouldDisableDate: p,
    timezone: f
  } = e, g = pt(), v = d.useRef(dS(!!u, i, g)).current, b = d.useMemo(
    () => Bn.getInitialReferenceValue({
      value: t,
      utils: g,
      timezone: f,
      props: e,
      referenceDate: o,
      granularity: _n.day
    }),
    // We want the `referenceDate` to update on prop and `timezone` change (https://github.com/mui/mui-x/issues/10804)
    // eslint-disable-next-line react-hooks/exhaustive-deps
    [o, f]
  ), [h, y] = d.useReducer(v, {
    isMonthSwitchingAnimating: !1,
    focusedDay: b,
    currentMonth: g.startOfMonth(b),
    slideDirection: "left"
  });
  d.useEffect(() => {
    y({
      type: "changeMonthTimezone",
      newTimezone: g.getTimezone(b)
    });
  }, [b, g]);
  const C = d.useCallback((P) => {
    y(m({
      type: "changeMonth"
    }, P)), c && c(P.newMonth);
  }, [c]), E = d.useCallback((P) => {
    const S = P;
    g.isSameMonth(S, h.currentMonth) || C({
      newMonth: g.startOfMonth(S),
      direction: g.isAfterDay(S, h.currentMonth) ? "left" : "right"
    });
  }, [h.currentMonth, C, g]), w = _g({
    shouldDisableDate: p,
    minDate: l,
    maxDate: s,
    disableFuture: r,
    disablePast: a,
    timezone: f
  }), T = d.useCallback(() => {
    y({
      type: "finishMonthSwitchingAnimation"
    });
  }, []), O = Ce((P, S) => {
    w(P) || y({
      type: "changeFocusedDay",
      focusedDay: P,
      withoutMonthSwitchingAnimation: S
    });
  });
  return {
    referenceDate: b,
    calendarState: h,
    changeMonth: E,
    changeFocusedDay: O,
    isDateDisabled: w,
    onMonthSwitchingAnimationEnd: T,
    handleChangeMonth: C
  };
}, fS = (e) => ye("MuiPickersFadeTransitionGroup", e);
be("MuiPickersFadeTransitionGroup", ["root"]);
const mS = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, fS, t);
}, hS = U(Aa, {
  name: "MuiPickersFadeTransitionGroup",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  display: "block",
  position: "relative"
});
function Ag(e) {
  const t = dt({
    props: e,
    name: "MuiPickersFadeTransitionGroup"
  }), {
    children: o,
    className: r,
    reduceAnimations: a,
    transKey: i
  } = t, s = mS(t), l = vn();
  return a ? o : /* @__PURE__ */ x(hS, {
    className: ce(s.root, r),
    children: /* @__PURE__ */ x(Ko, {
      appear: !1,
      mountOnEnter: !0,
      unmountOnExit: !0,
      timeout: {
        appear: l.transitions.duration.enteringScreen,
        enter: l.transitions.duration.enteringScreen,
        exit: 0
      },
      children: o
    }, i)
  });
}
function gS(e) {
  return ye("MuiPickersDay", e);
}
const No = be("MuiPickersDay", ["root", "dayWithMargin", "dayOutsideMonth", "hiddenDaySpacingFiller", "today", "selected", "disabled"]), bS = ["autoFocus", "className", "day", "disabled", "disableHighlightToday", "disableMargin", "hidden", "isAnimating", "onClick", "onDaySelect", "onFocus", "onBlur", "onKeyDown", "onMouseDown", "onMouseEnter", "outsideCurrentMonth", "selected", "showDaysOutsideCurrentMonth", "children", "today", "isFirstVisibleCell", "isLastVisibleCell"], yS = (e) => {
  const {
    selected: t,
    disableMargin: o,
    disableHighlightToday: r,
    today: a,
    disabled: i,
    outsideCurrentMonth: s,
    showDaysOutsideCurrentMonth: l,
    classes: c
  } = e, u = s && !l;
  return ve({
    root: ["root", t && !u && "selected", i && "disabled", !o && "dayWithMargin", !r && a && "today", s && l && "dayOutsideMonth", u && "hiddenDaySpacingFiller"],
    hiddenDaySpacingFiller: ["hiddenDaySpacingFiller"]
  }, gS, c);
}, Lg = ({
  theme: e
}) => m({}, e.typography.caption, {
  width: Ea,
  height: Ea,
  borderRadius: "50%",
  padding: 0,
  // explicitly setting to `transparent` to avoid potentially getting impacted by change from the overridden component
  backgroundColor: "transparent",
  transition: e.transitions.create("background-color", {
    duration: e.transitions.duration.short
  }),
  color: (e.vars || e).palette.text.primary,
  "@media (pointer: fine)": {
    "&:hover": {
      backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.hoverOpacity})` : Tr(e.palette.primary.main, e.palette.action.hoverOpacity)
    }
  },
  "&:focus": {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.focusOpacity})` : Tr(e.palette.primary.main, e.palette.action.focusOpacity),
    [`&.${No.selected}`]: {
      willChange: "background-color",
      backgroundColor: (e.vars || e).palette.primary.dark
    }
  },
  [`&.${No.selected}`]: {
    color: (e.vars || e).palette.primary.contrastText,
    backgroundColor: (e.vars || e).palette.primary.main,
    fontWeight: e.typography.fontWeightMedium,
    "&:hover": {
      willChange: "background-color",
      backgroundColor: (e.vars || e).palette.primary.dark
    }
  },
  [`&.${No.disabled}:not(.${No.selected})`]: {
    color: (e.vars || e).palette.text.disabled
  },
  [`&.${No.disabled}&.${No.selected}`]: {
    opacity: 0.6
  },
  variants: [{
    props: {
      disableMargin: !1
    },
    style: {
      margin: `0 ${Ps}px`
    }
  }, {
    props: {
      outsideCurrentMonth: !0,
      showDaysOutsideCurrentMonth: !0
    },
    style: {
      color: (e.vars || e).palette.text.secondary
    }
  }, {
    props: {
      disableHighlightToday: !1,
      today: !0
    },
    style: {
      [`&:not(.${No.selected})`]: {
        border: `1px solid ${(e.vars || e).palette.text.secondary}`
      }
    }
  }]
}), Fg = (e, t) => {
  const {
    ownerState: o
  } = e;
  return [t.root, !o.disableMargin && t.dayWithMargin, !o.disableHighlightToday && o.today && t.today, !o.outsideCurrentMonth && o.showDaysOutsideCurrentMonth && t.dayOutsideMonth, o.outsideCurrentMonth && !o.showDaysOutsideCurrentMonth && t.hiddenDaySpacingFiller];
}, vS = U(Ht, {
  name: "MuiPickersDay",
  slot: "Root",
  overridesResolver: Fg
})(Lg), xS = U("div", {
  name: "MuiPickersDay",
  slot: "Root",
  overridesResolver: Fg
})(({
  theme: e
}) => m({}, Lg({
  theme: e
}), {
  // visibility: 'hidden' does not work here as it hides the element from screen readers as well
  opacity: 0,
  pointerEvents: "none"
})), na = () => {
}, jg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiPickersDay"
  }), {
    autoFocus: a = !1,
    className: i,
    day: s,
    disabled: l = !1,
    disableHighlightToday: c = !1,
    disableMargin: u = !1,
    isAnimating: p,
    onClick: f,
    onDaySelect: g,
    onFocus: v = na,
    onBlur: b = na,
    onKeyDown: h = na,
    onMouseDown: y = na,
    onMouseEnter: C = na,
    outsideCurrentMonth: E,
    selected: w = !1,
    showDaysOutsideCurrentMonth: T = !1,
    children: O,
    today: P = !1
  } = r, S = oe(r, bS), $ = m({}, r, {
    autoFocus: a,
    disabled: l,
    disableHighlightToday: c,
    disableMargin: u,
    selected: w,
    showDaysOutsideCurrentMonth: T,
    today: P
  }), A = yS($), N = pt(), D = d.useRef(null), V = ze(D, o);
  gt(() => {
    a && !l && !p && !E && D.current.focus();
  }, [a, l, p, E]);
  const L = (R) => {
    y(R), E && R.preventDefault();
  }, I = (R) => {
    l || g(s), E && R.currentTarget.focus(), f && f(R);
  };
  return E && !T ? /* @__PURE__ */ x(xS, {
    className: ce(A.root, A.hiddenDaySpacingFiller, i),
    ownerState: $,
    role: S.role
  }) : /* @__PURE__ */ x(vS, m({
    className: ce(A.root, i),
    ref: V,
    centerRipple: !0,
    disabled: l,
    tabIndex: w ? 0 : -1,
    onKeyDown: (R) => h(R, s),
    onFocus: (R) => v(R, s),
    onBlur: (R) => b(R, s),
    onMouseEnter: (R) => C(R, s),
    onClick: I,
    onMouseDown: L
  }, S, {
    ownerState: $,
    children: O || N.format(s, "dayOfMonth")
  }));
});
process.env.NODE_ENV !== "production" && (jg.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * A ref for imperative actions.
   * It currently only supports `focusVisible()` action.
   */
  action: n.oneOfType([n.func, n.shape({
    current: n.shape({
      focusVisible: n.func.isRequired
    })
  })]),
  /**
   * If `true`, the ripples are centered.
   * They won't start at the cursor interaction position.
   * @default false
   */
  centerRipple: n.bool,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  className: n.string,
  component: n.elementType,
  /**
   * The date to show.
   */
  day: n.object.isRequired,
  /**
   * If `true`, renders as disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, today's date is rendering without highlighting with circle.
   * @default false
   */
  disableHighlightToday: n.bool,
  /**
   * If `true`, days are rendering without margin. Useful for displaying linked range of days.
   * @default false
   */
  disableMargin: n.bool,
  /**
   * If `true`, the ripple effect is disabled.
   *
   * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
   * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
   * @default false
   */
  disableRipple: n.bool,
  /**
   * If `true`, the touch ripple effect is disabled.
   * @default false
   */
  disableTouchRipple: n.bool,
  /**
   * If `true`, the base button will have a keyboard focus ripple.
   * @default false
   */
  focusRipple: n.bool,
  /**
   * This prop can help identify which element has keyboard focus.
   * The class name will be applied when the element gains the focus through keyboard interaction.
   * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
   * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
   * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
   * if needed.
   */
  focusVisibleClassName: n.string,
  isAnimating: n.bool,
  /**
   * If `true`, day is the first visible cell of the month.
   * Either the first day of the month or the first day of the week depending on `showDaysOutsideCurrentMonth`.
   */
  isFirstVisibleCell: n.bool.isRequired,
  /**
   * If `true`, day is the last visible cell of the month.
   * Either the last day of the month or the last day of the week depending on `showDaysOutsideCurrentMonth`.
   */
  isLastVisibleCell: n.bool.isRequired,
  onBlur: n.func,
  onDaySelect: n.func.isRequired,
  onFocus: n.func,
  /**
   * Callback fired when the component is focused with a keyboard.
   * We trigger a `onFocus` callback too.
   */
  onFocusVisible: n.func,
  onKeyDown: n.func,
  onMouseEnter: n.func,
  /**
   * If `true`, day is outside of month and will be hidden.
   */
  outsideCurrentMonth: n.bool.isRequired,
  /**
   * If `true`, renders as selected.
   * @default false
   */
  selected: n.bool,
  /**
   * If `true`, days outside the current month are rendered:
   *
   * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.
   *
   * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.
   *
   * - ignored if `calendars` equals more than `1` on range pickers.
   * @default false
   */
  showDaysOutsideCurrentMonth: n.bool,
  style: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * @default 0
   */
  tabIndex: n.number,
  /**
   * If `true`, renders as today date.
   * @default false
   */
  today: n.bool,
  /**
   * Props applied to the `TouchRipple` element.
   */
  TouchRippleProps: n.object,
  /**
   * A ref that points to the `TouchRipple` element.
   */
  touchRippleRef: n.oneOfType([n.func, n.shape({
    current: n.shape({
      pulsate: n.func.isRequired,
      start: n.func.isRequired,
      stop: n.func.isRequired
    })
  })])
});
const CS = /* @__PURE__ */ d.memo(jg), TS = (e) => ye("MuiPickersSlideTransition", e), tn = be("MuiPickersSlideTransition", ["root", "slideEnter-left", "slideEnter-right", "slideEnterActive", "slideExit", "slideExitActiveLeft-left", "slideExitActiveLeft-right"]), wS = ["children", "className", "reduceAnimations", "slideDirection", "transKey", "classes"], OS = (e) => {
  const {
    classes: t,
    slideDirection: o
  } = e, r = {
    root: ["root"],
    exit: ["slideExit"],
    enterActive: ["slideEnterActive"],
    enter: [`slideEnter-${o}`],
    exitActive: [`slideExitActiveLeft-${o}`]
  };
  return ve(r, TS, t);
}, ES = U(Aa, {
  name: "MuiPickersSlideTransition",
  slot: "Root",
  overridesResolver: (e, t) => [t.root, {
    [`.${tn["slideEnter-left"]}`]: t["slideEnter-left"]
  }, {
    [`.${tn["slideEnter-right"]}`]: t["slideEnter-right"]
  }, {
    [`.${tn.slideEnterActive}`]: t.slideEnterActive
  }, {
    [`.${tn.slideExit}`]: t.slideExit
  }, {
    [`.${tn["slideExitActiveLeft-left"]}`]: t["slideExitActiveLeft-left"]
  }, {
    [`.${tn["slideExitActiveLeft-right"]}`]: t["slideExitActiveLeft-right"]
  }]
})(({
  theme: e
}) => {
  const t = e.transitions.create("transform", {
    duration: e.transitions.duration.complex,
    easing: "cubic-bezier(0.35, 0.8, 0.4, 1)"
  });
  return {
    display: "block",
    position: "relative",
    overflowX: "hidden",
    "& > *": {
      position: "absolute",
      top: 0,
      right: 0,
      left: 0
    },
    [`& .${tn["slideEnter-left"]}`]: {
      willChange: "transform",
      transform: "translate(100%)",
      zIndex: 1
    },
    [`& .${tn["slideEnter-right"]}`]: {
      willChange: "transform",
      transform: "translate(-100%)",
      zIndex: 1
    },
    [`& .${tn.slideEnterActive}`]: {
      transform: "translate(0%)",
      transition: t
    },
    [`& .${tn.slideExit}`]: {
      transform: "translate(0%)"
    },
    [`& .${tn["slideExitActiveLeft-left"]}`]: {
      willChange: "transform",
      transform: "translate(-100%)",
      transition: t,
      zIndex: 0
    },
    [`& .${tn["slideExitActiveLeft-right"]}`]: {
      willChange: "transform",
      transform: "translate(100%)",
      transition: t,
      zIndex: 0
    }
  };
});
function SS(e) {
  const t = dt({
    props: e,
    name: "MuiPickersSlideTransition"
  }), {
    children: o,
    className: r,
    reduceAnimations: a,
    transKey: i
    // extracting `classes` from `other`
  } = t, s = oe(t, wS), l = OS(t), c = vn();
  if (a)
    return /* @__PURE__ */ x("div", {
      className: ce(l.root, r),
      children: o
    });
  const u = {
    exit: l.exit,
    enterActive: l.enterActive,
    enter: l.enter,
    exitActive: l.exitActive
  };
  return /* @__PURE__ */ x(ES, {
    className: ce(l.root, r),
    childFactory: (p) => /* @__PURE__ */ d.cloneElement(p, {
      classNames: u
    }),
    role: "presentation",
    children: /* @__PURE__ */ x(Bc, m({
      mountOnEnter: !0,
      unmountOnExit: !0,
      timeout: c.transitions.duration.complex,
      classNames: u
    }, s, {
      children: o
    }), i)
  });
}
const PS = (e) => ye("MuiDayCalendar", e);
be("MuiDayCalendar", ["root", "header", "weekDayLabel", "loadingContainer", "slideTransition", "monthContainer", "weekContainer", "weekNumberLabel", "weekNumber"]);
const RS = ["parentProps", "day", "focusableDay", "selectedDays", "isDateDisabled", "currentMonthNumber", "isViewFocused"], kS = ["ownerState"], MS = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    header: ["header"],
    weekDayLabel: ["weekDayLabel"],
    loadingContainer: ["loadingContainer"],
    slideTransition: ["slideTransition"],
    monthContainer: ["monthContainer"],
    weekContainer: ["weekContainer"],
    weekNumberLabel: ["weekNumberLabel"],
    weekNumber: ["weekNumber"]
  }, PS, t);
}, Vg = (Ea + Ps * 2) * 6, $S = U("div", {
  name: "MuiDayCalendar",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({}), DS = U("div", {
  name: "MuiDayCalendar",
  slot: "Header",
  overridesResolver: (e, t) => t.header
})({
  display: "flex",
  justifyContent: "center",
  alignItems: "center"
}), IS = U(Le, {
  name: "MuiDayCalendar",
  slot: "WeekDayLabel",
  overridesResolver: (e, t) => t.weekDayLabel
})(({
  theme: e
}) => ({
  width: 36,
  height: 40,
  margin: "0 2px",
  textAlign: "center",
  display: "flex",
  justifyContent: "center",
  alignItems: "center",
  color: (e.vars || e).palette.text.secondary
})), NS = U(Le, {
  name: "MuiDayCalendar",
  slot: "WeekNumberLabel",
  overridesResolver: (e, t) => t.weekNumberLabel
})(({
  theme: e
}) => ({
  width: 36,
  height: 40,
  margin: "0 2px",
  textAlign: "center",
  display: "flex",
  justifyContent: "center",
  alignItems: "center",
  color: e.palette.text.disabled
})), _S = U(Le, {
  name: "MuiDayCalendar",
  slot: "WeekNumber",
  overridesResolver: (e, t) => t.weekNumber
})(({
  theme: e
}) => m({}, e.typography.caption, {
  width: Ea,
  height: Ea,
  padding: 0,
  margin: `0 ${Ps}px`,
  color: e.palette.text.disabled,
  fontSize: "0.75rem",
  alignItems: "center",
  justifyContent: "center",
  display: "inline-flex"
})), AS = U("div", {
  name: "MuiDayCalendar",
  slot: "LoadingContainer",
  overridesResolver: (e, t) => t.loadingContainer
})({
  display: "flex",
  justifyContent: "center",
  alignItems: "center",
  minHeight: Vg
}), LS = U(SS, {
  name: "MuiDayCalendar",
  slot: "SlideTransition",
  overridesResolver: (e, t) => t.slideTransition
})({
  minHeight: Vg
}), FS = U("div", {
  name: "MuiDayCalendar",
  slot: "MonthContainer",
  overridesResolver: (e, t) => t.monthContainer
})({
  overflow: "hidden"
}), jS = U("div", {
  name: "MuiDayCalendar",
  slot: "WeekContainer",
  overridesResolver: (e, t) => t.weekContainer
})({
  margin: `${Ps}px 0`,
  display: "flex",
  justifyContent: "center"
});
function VS(e) {
  let {
    parentProps: t,
    day: o,
    focusableDay: r,
    selectedDays: a,
    isDateDisabled: i,
    currentMonthNumber: s,
    isViewFocused: l
  } = e, c = oe(e, RS);
  const {
    disabled: u,
    disableHighlightToday: p,
    isMonthSwitchingAnimating: f,
    showDaysOutsideCurrentMonth: g,
    slots: v,
    slotProps: b,
    timezone: h
  } = t, y = pt(), C = ws(h), E = r !== null && y.isSameDay(o, r), w = a.some((V) => y.isSameDay(V, o)), T = y.isSameDay(o, C), O = (v == null ? void 0 : v.day) ?? CS, P = $e({
    elementType: O,
    externalSlotProps: b == null ? void 0 : b.day,
    additionalProps: m({
      disableHighlightToday: p,
      showDaysOutsideCurrentMonth: g,
      role: "gridcell",
      isAnimating: f,
      // it is used in date range dragging logic by accessing `dataset.timestamp`
      "data-timestamp": y.toJsDate(o).valueOf()
    }, c),
    ownerState: m({}, t, {
      day: o,
      selected: w
    })
  }), S = oe(P, kS), $ = d.useMemo(() => u || i(o), [u, i, o]), A = d.useMemo(() => y.getMonth(o) !== s, [y, o, s]), N = d.useMemo(() => {
    const V = y.startOfMonth(y.setMonth(o, s));
    return g ? y.isSameDay(o, y.startOfWeek(V)) : y.isSameDay(o, V);
  }, [s, o, g, y]), D = d.useMemo(() => {
    const V = y.endOfMonth(y.setMonth(o, s));
    return g ? y.isSameDay(o, y.endOfWeek(V)) : y.isSameDay(o, V);
  }, [s, o, g, y]);
  return /* @__PURE__ */ x(O, m({}, S, {
    day: o,
    disabled: $,
    autoFocus: l && E,
    today: T,
    outsideCurrentMonth: A,
    isFirstVisibleCell: N,
    isLastVisibleCell: D,
    selected: w,
    tabIndex: E ? 0 : -1,
    "aria-selected": w,
    "aria-current": T ? "date" : void 0
  }));
}
function zS(e) {
  const t = dt({
    props: e,
    name: "MuiDayCalendar"
  }), o = pt(), {
    onFocusedDayChange: r,
    className: a,
    currentMonth: i,
    selectedDays: s,
    focusedDay: l,
    loading: c,
    onSelectedDaysChange: u,
    onMonthSwitchingAnimationEnd: p,
    readOnly: f,
    reduceAnimations: g,
    renderLoading: v = () => /* @__PURE__ */ x("span", {
      children: "..."
    }),
    slideDirection: b,
    TransitionProps: h,
    disablePast: y,
    disableFuture: C,
    minDate: E,
    maxDate: w,
    shouldDisableDate: T,
    shouldDisableMonth: O,
    shouldDisableYear: P,
    dayOfWeekFormatter: S = (de) => o.format(de, "weekdayShort").charAt(0).toUpperCase(),
    hasFocus: $,
    onFocusedViewChange: A,
    gridLabelId: N,
    displayWeekNumber: D,
    fixedWeekNumber: V,
    autoFocus: L,
    timezone: I
  } = t, R = ws(I), k = MS(t), F = no(), M = _g({
    shouldDisableDate: T,
    shouldDisableMonth: O,
    shouldDisableYear: P,
    minDate: E,
    maxDate: w,
    disablePast: y,
    disableFuture: C,
    timezone: I
  }), B = to(), [j, W] = Vt({
    name: "DayCalendar",
    state: "hasFocus",
    controlled: $,
    default: L ?? !1
  }), [re, J] = d.useState(() => l || R), Q = Ce((de) => {
    f || u(de);
  }), X = (de) => {
    M(de) || (r(de), J(de), A == null || A(!0), W(!0));
  }, Y = Ce((de, ge) => {
    switch (de.key) {
      case "ArrowUp":
        X(o.addDays(ge, -7)), de.preventDefault();
        break;
      case "ArrowDown":
        X(o.addDays(ge, 7)), de.preventDefault();
        break;
      case "ArrowLeft": {
        const fe = o.addDays(ge, F ? 1 : -1), Oe = o.addMonths(ge, F ? 1 : -1), Te = ca({
          utils: o,
          date: fe,
          minDate: F ? fe : o.startOfMonth(Oe),
          maxDate: F ? o.endOfMonth(Oe) : fe,
          isDateDisabled: M,
          timezone: I
        });
        X(Te || fe), de.preventDefault();
        break;
      }
      case "ArrowRight": {
        const fe = o.addDays(ge, F ? -1 : 1), Oe = o.addMonths(ge, F ? -1 : 1), Te = ca({
          utils: o,
          date: fe,
          minDate: F ? o.startOfMonth(Oe) : fe,
          maxDate: F ? fe : o.endOfMonth(Oe),
          isDateDisabled: M,
          timezone: I
        });
        X(Te || fe), de.preventDefault();
        break;
      }
      case "Home":
        X(o.startOfWeek(ge)), de.preventDefault();
        break;
      case "End":
        X(o.endOfWeek(ge)), de.preventDefault();
        break;
      case "PageUp":
        X(o.addMonths(ge, 1)), de.preventDefault();
        break;
      case "PageDown":
        X(o.addMonths(ge, -1)), de.preventDefault();
        break;
    }
  }), Z = Ce((de, ge) => X(ge)), H = Ce((de, ge) => {
    j && o.isSameDay(re, ge) && (A == null || A(!1));
  }), K = o.getMonth(i), ne = o.getYear(i), ae = d.useMemo(() => s.filter((de) => !!de).map((de) => o.startOfDay(de)), [o, s]), z = `${ne}-${K}`, q = d.useMemo(() => /* @__PURE__ */ d.createRef(), [z]), te = d.useMemo(() => {
    const de = o.startOfMonth(i), ge = o.endOfMonth(i);
    return M(re) || o.isAfterDay(re, ge) || o.isBeforeDay(re, de) ? ca({
      utils: o,
      date: re,
      minDate: de,
      maxDate: ge,
      disablePast: y,
      disableFuture: C,
      isDateDisabled: M,
      timezone: I
    }) : re;
  }, [i, C, y, re, M, o, I]), ie = d.useMemo(() => {
    const de = o.getWeekArray(i);
    let ge = o.addMonths(i, 1);
    for (; V && de.length < V; ) {
      const fe = o.getWeekArray(ge), Oe = o.isSameDay(de[de.length - 1][0], fe[0][0]);
      fe.slice(Oe ? 1 : 0).forEach((Te) => {
        de.length < V && de.push(Te);
      }), ge = o.addMonths(ge, 1);
    }
    return de;
  }, [i, V, o]);
  return /* @__PURE__ */ he($S, {
    role: "grid",
    "aria-labelledby": N,
    className: k.root,
    children: [/* @__PURE__ */ he(DS, {
      role: "row",
      className: k.header,
      children: [D && /* @__PURE__ */ x(NS, {
        variant: "caption",
        role: "columnheader",
        "aria-label": B.calendarWeekNumberHeaderLabel,
        className: k.weekNumberLabel,
        children: B.calendarWeekNumberHeaderText
      }), RC(o, R).map((de, ge) => /* @__PURE__ */ x(IS, {
        variant: "caption",
        role: "columnheader",
        "aria-label": o.format(de, "weekday"),
        className: k.weekDayLabel,
        children: S(de)
      }, ge.toString()))]
    }), c ? /* @__PURE__ */ x(AS, {
      className: k.loadingContainer,
      children: v()
    }) : /* @__PURE__ */ x(LS, m({
      transKey: z,
      onExited: p,
      reduceAnimations: g,
      slideDirection: b,
      className: ce(a, k.slideTransition)
    }, h, {
      nodeRef: q,
      children: /* @__PURE__ */ x(FS, {
        ref: q,
        role: "rowgroup",
        className: k.monthContainer,
        children: ie.map((de, ge) => /* @__PURE__ */ he(jS, {
          role: "row",
          className: k.weekContainer,
          "aria-rowindex": ge + 1,
          children: [D && /* @__PURE__ */ x(_S, {
            className: k.weekNumber,
            role: "rowheader",
            "aria-label": B.calendarWeekNumberAriaLabelText(o.getWeekNumber(de[0])),
            children: B.calendarWeekNumberText(o.getWeekNumber(de[0]))
          }), de.map((fe, Oe) => /* @__PURE__ */ x(VS, {
            parentProps: t,
            day: fe,
            selectedDays: ae,
            focusableDay: te,
            onKeyDown: Y,
            onFocus: Z,
            onBlur: H,
            onDaySelect: Q,
            isDateDisabled: M,
            currentMonthNumber: K,
            isViewFocused: j,
            "aria-colindex": Oe + 1
          }, fe.toString()))]
        }, `week-${de[0]}`))
      })
    }))]
  });
}
function BS(e) {
  return ye("MuiPickersMonth", e);
}
const si = be("MuiPickersMonth", ["root", "monthButton", "disabled", "selected"]), WS = ["autoFocus", "className", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "aria-label", "monthsPerRow", "slots", "slotProps"], US = (e) => {
  const {
    disabled: t,
    selected: o,
    classes: r
  } = e;
  return ve({
    root: ["root"],
    monthButton: ["monthButton", t && "disabled", o && "selected"]
  }, BS, r);
}, HS = U("div", {
  name: "MuiPickersMonth",
  slot: "Root",
  overridesResolver: (e, t) => [t.root]
})({
  display: "flex",
  alignItems: "center",
  justifyContent: "center",
  flexBasis: "33.3%",
  variants: [{
    props: {
      monthsPerRow: 4
    },
    style: {
      flexBasis: "25%"
    }
  }]
}), qS = U("button", {
  name: "MuiPickersMonth",
  slot: "MonthButton",
  overridesResolver: (e, t) => [t.monthButton, {
    [`&.${si.disabled}`]: t.disabled
  }, {
    [`&.${si.selected}`]: t.selected
  }]
})(({
  theme: e
}) => m({
  color: "unset",
  backgroundColor: "transparent",
  border: 0,
  outline: 0
}, e.typography.subtitle1, {
  margin: "8px 0",
  height: 36,
  width: 72,
  borderRadius: 18,
  cursor: "pointer",
  "&:focus": {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})` : Tr(e.palette.action.active, e.palette.action.hoverOpacity)
  },
  "&:hover": {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})` : Tr(e.palette.action.active, e.palette.action.hoverOpacity)
  },
  "&:disabled": {
    cursor: "auto",
    pointerEvents: "none"
  },
  [`&.${si.disabled}`]: {
    color: (e.vars || e).palette.text.secondary
  },
  [`&.${si.selected}`]: {
    color: (e.vars || e).palette.primary.contrastText,
    backgroundColor: (e.vars || e).palette.primary.main,
    "&:focus, &:hover": {
      backgroundColor: (e.vars || e).palette.primary.dark
    }
  }
})), YS = /* @__PURE__ */ d.memo(function(t) {
  const o = dt({
    props: t,
    name: "MuiPickersMonth"
  }), {
    autoFocus: r,
    className: a,
    children: i,
    disabled: s,
    selected: l,
    value: c,
    tabIndex: u,
    onClick: p,
    onKeyDown: f,
    onFocus: g,
    onBlur: v,
    "aria-current": b,
    "aria-label": h,
    slots: y,
    slotProps: C
  } = o, E = oe(o, WS), w = d.useRef(null), T = US(o);
  gt(() => {
    var S;
    r && ((S = w.current) == null || S.focus());
  }, [r]);
  const O = (y == null ? void 0 : y.monthButton) ?? qS, P = $e({
    elementType: O,
    externalSlotProps: C == null ? void 0 : C.monthButton,
    additionalProps: {
      children: i,
      disabled: s,
      tabIndex: u,
      ref: w,
      type: "button",
      role: "radio",
      "aria-current": b,
      "aria-checked": l,
      "aria-label": h,
      onClick: (S) => p(S, c),
      onKeyDown: (S) => f(S, c),
      onFocus: (S) => g(S, c),
      onBlur: (S) => v(S, c)
    },
    ownerState: o,
    className: T.monthButton
  });
  return /* @__PURE__ */ x(HS, m({
    className: ce(T.root, a),
    ownerState: o
  }, E, {
    children: /* @__PURE__ */ x(O, m({}, P))
  }));
});
function KS(e) {
  return ye("MuiMonthCalendar", e);
}
be("MuiMonthCalendar", ["root"]);
const GS = ["className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "shouldDisableMonth", "readOnly", "disableHighlightToday", "autoFocus", "onMonthFocus", "hasFocus", "onFocusedViewChange", "monthsPerRow", "timezone", "gridLabelId", "slots", "slotProps"], XS = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, KS, t);
};
function ZS(e, t) {
  const o = pt(), r = Fa(), a = dt({
    props: e,
    name: t
  });
  return m({
    disableFuture: !1,
    disablePast: !1
  }, a, {
    minDate: hn(o, a.minDate, r.minDate),
    maxDate: hn(o, a.maxDate, r.maxDate)
  });
}
const QS = U("div", {
  name: "MuiMonthCalendar",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  display: "flex",
  flexWrap: "wrap",
  alignContent: "stretch",
  padding: "0 4px",
  width: Rs,
  // avoid padding increasing width over defined
  boxSizing: "border-box"
}), zg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = ZS(t, "MuiMonthCalendar"), {
    className: a,
    value: i,
    defaultValue: s,
    referenceDate: l,
    disabled: c,
    disableFuture: u,
    disablePast: p,
    maxDate: f,
    minDate: g,
    onChange: v,
    shouldDisableMonth: b,
    readOnly: h,
    autoFocus: y = !1,
    onMonthFocus: C,
    hasFocus: E,
    onFocusedViewChange: w,
    monthsPerRow: T = 3,
    timezone: O,
    gridLabelId: P,
    slots: S,
    slotProps: $
  } = r, A = oe(r, GS), {
    value: N,
    handleValueChange: D,
    timezone: V
  } = lu({
    name: "MonthCalendar",
    timezone: O,
    value: i,
    defaultValue: s,
    referenceDate: l,
    onChange: v,
    valueManager: Bn
  }), L = ws(V), I = no(), R = pt(), k = d.useMemo(
    () => Bn.getInitialReferenceValue({
      value: N,
      utils: R,
      props: r,
      timezone: V,
      referenceDate: l,
      granularity: _n.month
    }),
    []
    // eslint-disable-line react-hooks/exhaustive-deps
  ), F = r, M = XS(F), B = d.useMemo(() => R.getMonth(L), [R, L]), j = d.useMemo(() => N != null ? R.getMonth(N) : null, [N, R]), [W, re] = d.useState(() => j || R.getMonth(k)), [J, Q] = Vt({
    name: "MonthCalendar",
    state: "hasFocus",
    controlled: E,
    default: y ?? !1
  }), X = Ce((z) => {
    Q(z), w && w(z);
  }), Y = d.useCallback((z) => {
    const q = R.startOfMonth(p && R.isAfter(L, g) ? L : g), te = R.startOfMonth(u && R.isBefore(L, f) ? L : f), ie = R.startOfMonth(z);
    return R.isBefore(ie, q) || R.isAfter(ie, te) ? !0 : b ? b(ie) : !1;
  }, [u, p, f, g, L, b, R]), Z = Ce((z, q) => {
    if (h)
      return;
    const te = R.setMonth(N ?? k, q);
    D(te);
  }), H = Ce((z) => {
    Y(R.setMonth(N ?? k, z)) || (re(z), X(!0), C && C(z));
  });
  d.useEffect(() => {
    re((z) => j !== null && z !== j ? j : z);
  }, [j]);
  const K = Ce((z, q) => {
    switch (z.key) {
      case "ArrowUp":
        H((12 + q - 3) % 12), z.preventDefault();
        break;
      case "ArrowDown":
        H((12 + q + 3) % 12), z.preventDefault();
        break;
      case "ArrowLeft":
        H((12 + q + (I ? 1 : -1)) % 12), z.preventDefault();
        break;
      case "ArrowRight":
        H((12 + q + (I ? -1 : 1)) % 12), z.preventDefault();
        break;
    }
  }), ne = Ce((z, q) => {
    H(q);
  }), ae = Ce((z, q) => {
    W === q && X(!1);
  });
  return /* @__PURE__ */ x(QS, m({
    ref: o,
    className: ce(M.root, a),
    ownerState: F,
    role: "radiogroup",
    "aria-labelledby": P
  }, A, {
    children: qc(R, N ?? k).map((z) => {
      const q = R.getMonth(z), te = R.format(z, "monthShort"), ie = R.format(z, "month"), de = q === j, ge = c || Y(z);
      return /* @__PURE__ */ x(YS, {
        selected: de,
        value: q,
        onClick: Z,
        onKeyDown: K,
        autoFocus: J && q === W,
        disabled: ge,
        tabIndex: q === W && !ge ? 0 : -1,
        onFocus: ne,
        onBlur: ae,
        "aria-current": B === q ? "date" : void 0,
        "aria-label": ie,
        monthsPerRow: T,
        slots: S,
        slotProps: $,
        children: te
      }, te);
    })
  }));
});
process.env.NODE_ENV !== "production" && (zg.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  autoFocus: n.bool,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  className: n.string,
  /**
   * The default selected value.
   * Used when the component is not controlled.
   */
  defaultValue: n.object,
  /**
   * If `true` picker is disabled
   */
  disabled: n.bool,
  /**
   * If `true`, disable values after the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disableFuture: n.bool,
  /**
   * If `true`, today's date is rendering without highlighting with circle.
   * @default false
   */
  disableHighlightToday: n.bool,
  /**
   * If `true`, disable values before the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disablePast: n.bool,
  gridLabelId: n.string,
  hasFocus: n.bool,
  /**
   * Maximal selectable date.
   * @default 2099-12-31
   */
  maxDate: n.object,
  /**
   * Minimal selectable date.
   * @default 1900-01-01
   */
  minDate: n.object,
  /**
   * Months rendered per row.
   * @default 3
   */
  monthsPerRow: n.oneOf([3, 4]),
  /**
   * Callback fired when the value changes.
   * @template TDate
   * @param {TDate} value The new value.
   */
  onChange: n.func,
  onFocusedViewChange: n.func,
  onMonthFocus: n.func,
  /**
   * If `true` picker is readonly
   */
  readOnly: n.bool,
  /**
   * The date used to generate the new value when both `value` and `defaultValue` are empty.
   * @default The closest valid month using the validation props, except callbacks such as `shouldDisableMonth`.
   */
  referenceDate: n.object,
  /**
   * Disable specific month.
   * @template TDate
   * @param {TDate} month The month to test.
   * @returns {boolean} If `true`, the month will be disabled.
   */
  shouldDisableMonth: n.func,
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   * @default {}
   */
  slots: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Choose which timezone to use for the value.
   * Example: "default", "system", "UTC", "America/New_York".
   * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
   * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
   * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
   */
  timezone: n.string,
  /**
   * The selected value.
   * Used when the component is controlled.
   */
  value: n.object
});
function JS(e) {
  return ye("MuiPickersYear", e);
}
const li = be("MuiPickersYear", ["root", "yearButton", "selected", "disabled"]), eP = ["autoFocus", "className", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current", "yearsPerRow", "slots", "slotProps"], tP = (e) => {
  const {
    disabled: t,
    selected: o,
    classes: r
  } = e;
  return ve({
    root: ["root"],
    yearButton: ["yearButton", t && "disabled", o && "selected"]
  }, JS, r);
}, nP = U("div", {
  name: "MuiPickersYear",
  slot: "Root",
  overridesResolver: (e, t) => [t.root]
})({
  display: "flex",
  alignItems: "center",
  justifyContent: "center",
  flexBasis: "33.3%",
  variants: [{
    props: {
      yearsPerRow: 4
    },
    style: {
      flexBasis: "25%"
    }
  }]
}), oP = U("button", {
  name: "MuiPickersYear",
  slot: "YearButton",
  overridesResolver: (e, t) => [t.yearButton, {
    [`&.${li.disabled}`]: t.disabled
  }, {
    [`&.${li.selected}`]: t.selected
  }]
})(({
  theme: e
}) => m({
  color: "unset",
  backgroundColor: "transparent",
  border: 0,
  outline: 0
}, e.typography.subtitle1, {
  margin: "6px 0",
  height: 36,
  width: 72,
  borderRadius: 18,
  cursor: "pointer",
  "&:focus": {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.focusOpacity})` : Tr(e.palette.action.active, e.palette.action.focusOpacity)
  },
  "&:hover": {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})` : Tr(e.palette.action.active, e.palette.action.hoverOpacity)
  },
  "&:disabled": {
    cursor: "auto",
    pointerEvents: "none"
  },
  [`&.${li.disabled}`]: {
    color: (e.vars || e).palette.text.secondary
  },
  [`&.${li.selected}`]: {
    color: (e.vars || e).palette.primary.contrastText,
    backgroundColor: (e.vars || e).palette.primary.main,
    "&:focus, &:hover": {
      backgroundColor: (e.vars || e).palette.primary.dark
    }
  }
})), rP = /* @__PURE__ */ d.memo(function(t) {
  const o = dt({
    props: t,
    name: "MuiPickersYear"
  }), {
    autoFocus: r,
    className: a,
    children: i,
    disabled: s,
    selected: l,
    value: c,
    tabIndex: u,
    onClick: p,
    onKeyDown: f,
    onFocus: g,
    onBlur: v,
    "aria-current": b,
    slots: h,
    slotProps: y
  } = o, C = oe(o, eP), E = d.useRef(null), w = tP(o);
  gt(() => {
    var P;
    r && ((P = E.current) == null || P.focus());
  }, [r]);
  const T = (h == null ? void 0 : h.yearButton) ?? oP, O = $e({
    elementType: T,
    externalSlotProps: y == null ? void 0 : y.yearButton,
    additionalProps: {
      children: i,
      disabled: s,
      tabIndex: u,
      ref: E,
      type: "button",
      role: "radio",
      "aria-current": b,
      "aria-checked": l,
      onClick: (P) => p(P, c),
      onKeyDown: (P) => f(P, c),
      onFocus: (P) => g(P, c),
      onBlur: (P) => v(P, c)
    },
    ownerState: o,
    className: w.yearButton
  });
  return /* @__PURE__ */ x(nP, m({
    className: ce(w.root, a),
    ownerState: o
  }, C, {
    children: /* @__PURE__ */ x(T, m({}, O))
  }));
});
function aP(e) {
  return ye("MuiYearCalendar", e);
}
be("MuiYearCalendar", ["root"]);
const iP = ["autoFocus", "className", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"], sP = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, aP, t);
};
function lP(e, t) {
  const o = pt(), r = Fa(), a = dt({
    props: e,
    name: t
  });
  return m({
    disablePast: !1,
    disableFuture: !1
  }, a, {
    yearsPerRow: a.yearsPerRow ?? 3,
    minDate: hn(o, a.minDate, r.minDate),
    maxDate: hn(o, a.maxDate, r.maxDate)
  });
}
const cP = U("div", {
  name: "MuiYearCalendar",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  display: "flex",
  flexDirection: "row",
  flexWrap: "wrap",
  overflowY: "auto",
  height: "100%",
  padding: "0 4px",
  width: Rs,
  maxHeight: YT,
  // avoid padding increasing width over defined
  boxSizing: "border-box",
  position: "relative"
}), Bg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = lP(t, "MuiYearCalendar"), {
    autoFocus: a,
    className: i,
    value: s,
    defaultValue: l,
    referenceDate: c,
    disabled: u,
    disableFuture: p,
    disablePast: f,
    maxDate: g,
    minDate: v,
    onChange: b,
    readOnly: h,
    shouldDisableYear: y,
    onYearFocus: C,
    hasFocus: E,
    onFocusedViewChange: w,
    yearsOrder: T = "asc",
    yearsPerRow: O,
    timezone: P,
    gridLabelId: S,
    slots: $,
    slotProps: A
  } = r, N = oe(r, iP), {
    value: D,
    handleValueChange: V,
    timezone: L
  } = lu({
    name: "YearCalendar",
    timezone: P,
    value: s,
    defaultValue: l,
    referenceDate: c,
    onChange: b,
    valueManager: Bn
  }), I = ws(L), R = no(), k = pt(), F = d.useMemo(
    () => Bn.getInitialReferenceValue({
      value: D,
      utils: k,
      props: r,
      timezone: L,
      referenceDate: c,
      granularity: _n.year
    }),
    []
    // eslint-disable-line react-hooks/exhaustive-deps
  ), M = r, B = sP(M), j = d.useMemo(() => k.getYear(I), [k, I]), W = d.useMemo(() => D != null ? k.getYear(D) : null, [D, k]), [re, J] = d.useState(() => W || k.getYear(F)), [Q, X] = Vt({
    name: "YearCalendar",
    state: "hasFocus",
    controlled: E,
    default: a ?? !1
  }), Y = Ce((fe) => {
    X(fe), w && w(fe);
  }), Z = d.useCallback((fe) => {
    if (f && k.isBeforeYear(fe, I) || p && k.isAfterYear(fe, I) || v && k.isBeforeYear(fe, v) || g && k.isAfterYear(fe, g))
      return !0;
    if (!y)
      return !1;
    const Oe = k.startOfYear(fe);
    return y(Oe);
  }, [p, f, g, v, I, y, k]), H = Ce((fe, Oe) => {
    if (h)
      return;
    const Te = k.setYear(D ?? F, Oe);
    V(Te);
  }), K = Ce((fe) => {
    Z(k.setYear(D ?? F, fe)) || (J(fe), Y(!0), C == null || C(fe));
  });
  d.useEffect(() => {
    J((fe) => W !== null && fe !== W ? W : fe);
  }, [W]);
  const ne = T !== "desc" ? O * 1 : O * -1, ae = R && T === "asc" || !R && T === "desc" ? -1 : 1, z = Ce((fe, Oe) => {
    switch (fe.key) {
      case "ArrowUp":
        K(Oe - ne), fe.preventDefault();
        break;
      case "ArrowDown":
        K(Oe + ne), fe.preventDefault();
        break;
      case "ArrowLeft":
        K(Oe - ae), fe.preventDefault();
        break;
      case "ArrowRight":
        K(Oe + ae), fe.preventDefault();
        break;
    }
  }), q = Ce((fe, Oe) => {
    K(Oe);
  }), te = Ce((fe, Oe) => {
    re === Oe && Y(!1);
  }), ie = d.useRef(null), de = ze(o, ie);
  d.useEffect(() => {
    if (a || ie.current === null)
      return;
    const fe = ie.current.querySelector('[tabindex="0"]');
    if (!fe)
      return;
    const Oe = fe.offsetHeight, Te = fe.offsetTop, Re = ie.current.clientHeight, Be = ie.current.scrollTop, je = Te + Oe;
    Oe > Re || Te < Be || (ie.current.scrollTop = je - Re / 2 - Oe / 2);
  }, [a]);
  const ge = k.getYearRange([v, g]);
  return T === "desc" && ge.reverse(), /* @__PURE__ */ x(cP, m({
    ref: de,
    className: ce(B.root, i),
    ownerState: M,
    role: "radiogroup",
    "aria-labelledby": S
  }, N, {
    children: ge.map((fe) => {
      const Oe = k.getYear(fe), Te = Oe === W, Re = u || Z(fe);
      return /* @__PURE__ */ x(rP, {
        selected: Te,
        value: Oe,
        onClick: H,
        onKeyDown: z,
        autoFocus: Q && Oe === re,
        disabled: Re,
        tabIndex: Oe === re && !Re ? 0 : -1,
        onFocus: q,
        onBlur: te,
        "aria-current": j === Oe ? "date" : void 0,
        yearsPerRow: O,
        slots: $,
        slotProps: A,
        children: k.format(fe, "year")
      }, k.format(fe, "year"));
    })
  }));
});
process.env.NODE_ENV !== "production" && (Bg.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  autoFocus: n.bool,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  className: n.string,
  /**
   * The default selected value.
   * Used when the component is not controlled.
   */
  defaultValue: n.object,
  /**
   * If `true` picker is disabled
   */
  disabled: n.bool,
  /**
   * If `true`, disable values after the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disableFuture: n.bool,
  /**
   * If `true`, today's date is rendering without highlighting with circle.
   * @default false
   */
  disableHighlightToday: n.bool,
  /**
   * If `true`, disable values before the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disablePast: n.bool,
  gridLabelId: n.string,
  hasFocus: n.bool,
  /**
   * Maximal selectable date.
   * @default 2099-12-31
   */
  maxDate: n.object,
  /**
   * Minimal selectable date.
   * @default 1900-01-01
   */
  minDate: n.object,
  /**
   * Callback fired when the value changes.
   * @template TDate
   * @param {TDate} value The new value.
   */
  onChange: n.func,
  onFocusedViewChange: n.func,
  onYearFocus: n.func,
  /**
   * If `true` picker is readonly
   */
  readOnly: n.bool,
  /**
   * The date used to generate the new value when both `value` and `defaultValue` are empty.
   * @default The closest valid year using the validation props, except callbacks such as `shouldDisableYear`.
   */
  referenceDate: n.object,
  /**
   * Disable specific year.
   * @template TDate
   * @param {TDate} year The year to test.
   * @returns {boolean} If `true`, the year will be disabled.
   */
  shouldDisableYear: n.func,
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   * @default {}
   */
  slots: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Choose which timezone to use for the value.
   * Example: "default", "system", "UTC", "America/New_York".
   * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
   * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
   * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
   */
  timezone: n.string,
  /**
   * The selected value.
   * Used when the component is controlled.
   */
  value: n.object,
  /**
   * Years are displayed in ascending (chronological) order by default.
   * If `desc`, years are displayed in descending order.
   * @default 'asc'
   */
  yearsOrder: n.oneOf(["asc", "desc"]),
  /**
   * Years rendered per row.
   * @default 3
   */
  yearsPerRow: n.oneOf([3, 4])
});
const uP = (e) => ye("MuiPickersCalendarHeader", e), dP = be("MuiPickersCalendarHeader", ["root", "labelContainer", "label", "switchViewButton", "switchViewIcon"]);
function pP(e) {
  return ye("MuiPickersArrowSwitcher", e);
}
be("MuiPickersArrowSwitcher", ["root", "spacer", "button", "previousIconButton", "nextIconButton", "leftArrowIcon", "rightArrowIcon"]);
const fP = ["children", "className", "slots", "slotProps", "isNextDisabled", "isNextHidden", "onGoToNext", "nextLabel", "isPreviousDisabled", "isPreviousHidden", "onGoToPrevious", "previousLabel", "labelId"], mP = ["ownerState"], hP = ["ownerState"], gP = U("div", {
  name: "MuiPickersArrowSwitcher",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  display: "flex"
}), bP = U("div", {
  name: "MuiPickersArrowSwitcher",
  slot: "Spacer",
  overridesResolver: (e, t) => t.spacer
})(({
  theme: e
}) => ({
  width: e.spacing(3)
})), mf = U(mn, {
  name: "MuiPickersArrowSwitcher",
  slot: "Button",
  overridesResolver: (e, t) => t.button
})({
  variants: [{
    props: {
      hidden: !0
    },
    style: {
      visibility: "hidden"
    }
  }]
}), yP = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    spacer: ["spacer"],
    button: ["button"],
    previousIconButton: ["previousIconButton"],
    nextIconButton: ["nextIconButton"],
    leftArrowIcon: ["leftArrowIcon"],
    rightArrowIcon: ["rightArrowIcon"]
  }, pP, t);
}, vP = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = no(), a = dt({
    props: t,
    name: "MuiPickersArrowSwitcher"
  }), {
    children: i,
    className: s,
    slots: l,
    slotProps: c,
    isNextDisabled: u,
    isNextHidden: p,
    onGoToNext: f,
    nextLabel: g,
    isPreviousDisabled: v,
    isPreviousHidden: b,
    onGoToPrevious: h,
    previousLabel: y,
    labelId: C
  } = a, E = oe(a, fP), w = a, T = yP(w), O = {
    isDisabled: u,
    isHidden: p,
    goTo: f,
    label: g
  }, P = {
    isDisabled: v,
    isHidden: b,
    goTo: h,
    label: y
  }, S = (l == null ? void 0 : l.previousIconButton) ?? mf, $ = $e({
    elementType: S,
    externalSlotProps: c == null ? void 0 : c.previousIconButton,
    additionalProps: {
      size: "medium",
      title: P.label,
      "aria-label": P.label,
      disabled: P.isDisabled,
      edge: "end",
      onClick: P.goTo
    },
    ownerState: m({}, w, {
      hidden: P.isHidden
    }),
    className: ce(T.button, T.previousIconButton)
  }), A = (l == null ? void 0 : l.nextIconButton) ?? mf, N = $e({
    elementType: A,
    externalSlotProps: c == null ? void 0 : c.nextIconButton,
    additionalProps: {
      size: "medium",
      title: O.label,
      "aria-label": O.label,
      disabled: O.isDisabled,
      edge: "start",
      onClick: O.goTo
    },
    ownerState: m({}, w, {
      hidden: O.isHidden
    }),
    className: ce(T.button, T.nextIconButton)
  }), D = (l == null ? void 0 : l.leftArrowIcon) ?? uw, V = $e({
    elementType: D,
    externalSlotProps: c == null ? void 0 : c.leftArrowIcon,
    additionalProps: {
      fontSize: "inherit"
    },
    ownerState: w,
    className: T.leftArrowIcon
  }), L = oe(V, mP), I = (l == null ? void 0 : l.rightArrowIcon) ?? dw, R = $e({
    elementType: I,
    externalSlotProps: c == null ? void 0 : c.rightArrowIcon,
    additionalProps: {
      fontSize: "inherit"
    },
    ownerState: w,
    className: T.rightArrowIcon
  }), k = oe(R, hP);
  return /* @__PURE__ */ he(gP, m({
    ref: o,
    className: ce(T.root, s),
    ownerState: w
  }, E, {
    children: [/* @__PURE__ */ x(S, m({}, $, {
      children: r ? /* @__PURE__ */ x(I, m({}, k)) : /* @__PURE__ */ x(D, m({}, L))
    })), i ? /* @__PURE__ */ x(Le, {
      variant: "subtitle1",
      component: "span",
      id: C,
      children: i
    }) : /* @__PURE__ */ x(bP, {
      className: T.spacer,
      ownerState: w
    }), /* @__PURE__ */ x(A, m({}, N, {
      children: r ? /* @__PURE__ */ x(D, m({}, L)) : /* @__PURE__ */ x(I, m({}, k))
    }))]
  }));
});
function xP(e, {
  disableFuture: t,
  maxDate: o,
  timezone: r
}) {
  const a = pt();
  return d.useMemo(() => {
    const i = a.date(void 0, r), s = a.startOfMonth(t && a.isBefore(i, o) ? i : o);
    return !a.isAfter(s, e);
  }, [t, o, e, a, r]);
}
function CP(e, {
  disablePast: t,
  minDate: o,
  timezone: r
}) {
  const a = pt();
  return d.useMemo(() => {
    const i = a.date(void 0, r), s = a.startOfMonth(t && a.isAfter(i, o) ? i : o);
    return !a.isBefore(s, e);
  }, [t, o, e, a, r]);
}
const TP = ["slots", "slotProps", "currentMonth", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onMonthChange", "onViewChange", "view", "reduceAnimations", "views", "labelId", "className", "timezone", "format"], wP = ["ownerState"], OP = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    labelContainer: ["labelContainer"],
    label: ["label"],
    switchViewButton: ["switchViewButton"],
    switchViewIcon: ["switchViewIcon"]
  }, uP, t);
}, EP = U("div", {
  name: "MuiPickersCalendarHeader",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  display: "flex",
  alignItems: "center",
  marginTop: 12,
  marginBottom: 4,
  paddingLeft: 24,
  paddingRight: 12,
  // prevent jumping in safari
  maxHeight: 40,
  minHeight: 40
}), SP = U("div", {
  name: "MuiPickersCalendarHeader",
  slot: "LabelContainer",
  overridesResolver: (e, t) => t.labelContainer
})(({
  theme: e
}) => m({
  display: "flex",
  overflow: "hidden",
  alignItems: "center",
  cursor: "pointer",
  marginRight: "auto"
}, e.typography.body1, {
  fontWeight: e.typography.fontWeightMedium
})), PP = U("div", {
  name: "MuiPickersCalendarHeader",
  slot: "Label",
  overridesResolver: (e, t) => t.label
})({
  marginRight: 6
}), RP = U(mn, {
  name: "MuiPickersCalendarHeader",
  slot: "SwitchViewButton",
  overridesResolver: (e, t) => t.switchViewButton
})({
  marginRight: "auto",
  variants: [{
    props: {
      view: "year"
    },
    style: {
      [`.${dP.switchViewIcon}`]: {
        transform: "rotate(180deg)"
      }
    }
  }]
}), kP = U(cw, {
  name: "MuiPickersCalendarHeader",
  slot: "SwitchViewIcon",
  overridesResolver: (e, t) => t.switchViewIcon
})(({
  theme: e
}) => ({
  willChange: "transform",
  transition: e.transitions.create("transform"),
  transform: "rotate(0deg)"
})), Wg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = to(), a = pt(), i = dt({
    props: t,
    name: "MuiPickersCalendarHeader"
  }), {
    slots: s,
    slotProps: l,
    currentMonth: c,
    disabled: u,
    disableFuture: p,
    disablePast: f,
    maxDate: g,
    minDate: v,
    onMonthChange: b,
    onViewChange: h,
    view: y,
    reduceAnimations: C,
    views: E,
    labelId: w,
    className: T,
    timezone: O,
    format: P = `${a.formats.month} ${a.formats.year}`
  } = i, S = oe(i, TP), $ = i, A = OP(i), N = (s == null ? void 0 : s.switchViewButton) ?? RP, D = $e({
    elementType: N,
    externalSlotProps: l == null ? void 0 : l.switchViewButton,
    additionalProps: {
      size: "small",
      "aria-label": r.calendarViewSwitchingButtonAriaLabel(y)
    },
    ownerState: $,
    className: A.switchViewButton
  }), V = (s == null ? void 0 : s.switchViewIcon) ?? kP, L = $e({
    elementType: V,
    externalSlotProps: l == null ? void 0 : l.switchViewIcon,
    ownerState: $,
    className: A.switchViewIcon
  }), I = oe(L, wP), R = () => b(a.addMonths(c, 1), "left"), k = () => b(a.addMonths(c, -1), "right"), F = xP(c, {
    disableFuture: p,
    maxDate: g,
    timezone: O
  }), M = CP(c, {
    disablePast: f,
    minDate: v,
    timezone: O
  }), B = () => {
    if (!(E.length === 1 || !h || u))
      if (E.length === 2)
        h(E.find((W) => W !== y) || E[0]);
      else {
        const W = E.indexOf(y) !== 0 ? 0 : 1;
        h(E[W]);
      }
  };
  if (E.length === 1 && E[0] === "year")
    return null;
  const j = a.formatByString(c, P);
  return /* @__PURE__ */ he(EP, m({}, S, {
    ownerState: $,
    className: ce(A.root, T),
    ref: o,
    children: [/* @__PURE__ */ he(SP, {
      role: "presentation",
      onClick: B,
      ownerState: $,
      "aria-live": "polite",
      className: A.labelContainer,
      children: [/* @__PURE__ */ x(Ag, {
        reduceAnimations: C,
        transKey: j,
        children: /* @__PURE__ */ x(PP, {
          id: w,
          ownerState: $,
          className: A.label,
          children: j
        })
      }), E.length > 1 && !u && /* @__PURE__ */ x(N, m({}, D, {
        children: /* @__PURE__ */ x(V, m({}, I))
      }))]
    }), /* @__PURE__ */ x(Ko, {
      in: y === "day",
      appear: !C,
      enter: !C,
      children: /* @__PURE__ */ x(vP, {
        slots: s,
        slotProps: l,
        onGoToPrevious: k,
        isPreviousDisabled: M,
        previousLabel: r.previousMonth,
        onGoToNext: R,
        isNextDisabled: F,
        nextLabel: r.nextMonth
      })
    })]
  }));
});
process.env.NODE_ENV !== "production" && (Wg.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  className: n.string,
  currentMonth: n.object.isRequired,
  disabled: n.bool,
  disableFuture: n.bool,
  disablePast: n.bool,
  /**
   * Format used to display the date.
   * @default `${adapter.formats.month} ${adapter.formats.year}`
   */
  format: n.string,
  /**
   * Id of the calendar text element.
   * It is used to establish an `aria-labelledby` relationship with the calendar `grid` element.
   */
  labelId: n.string,
  maxDate: n.object.isRequired,
  minDate: n.object.isRequired,
  onMonthChange: n.func.isRequired,
  onViewChange: n.func,
  reduceAnimations: n.bool.isRequired,
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   * @default {}
   */
  slots: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  timezone: n.string.isRequired,
  view: n.oneOf(["day", "month", "year"]).isRequired,
  views: n.arrayOf(n.oneOf(["day", "month", "year"]).isRequired).isRequired
});
const MP = U("div")({
  overflow: "hidden",
  width: Rs,
  maxHeight: du,
  display: "flex",
  flexDirection: "column",
  margin: "0 auto"
}), $P = (e) => ye("MuiDateCalendar", e);
be("MuiDateCalendar", ["root", "viewTransitionContainer"]);
const DP = ["autoFocus", "onViewChange", "value", "defaultValue", "referenceDate", "disableFuture", "disablePast", "onChange", "onYearChange", "onMonthChange", "reduceAnimations", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "view", "views", "openTo", "className", "disabled", "readOnly", "minDate", "maxDate", "disableHighlightToday", "focusedView", "onFocusedViewChange", "showDaysOutsideCurrentMonth", "fixedWeekNumber", "dayOfWeekFormatter", "slots", "slotProps", "loading", "renderLoading", "displayWeekNumber", "yearsOrder", "yearsPerRow", "monthsPerRow", "timezone"], IP = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    viewTransitionContainer: ["viewTransitionContainer"]
  }, $P, t);
};
function NP(e, t) {
  const o = pt(), r = Fa(), a = eg(), i = dt({
    props: e,
    name: t
  });
  return m({}, i, {
    loading: i.loading ?? !1,
    disablePast: i.disablePast ?? !1,
    disableFuture: i.disableFuture ?? !1,
    openTo: i.openTo ?? "day",
    views: i.views ?? ["year", "day"],
    reduceAnimations: i.reduceAnimations ?? a,
    renderLoading: i.renderLoading ?? (() => /* @__PURE__ */ x("span", {
      children: "..."
    })),
    minDate: hn(o, i.minDate, r.minDate),
    maxDate: hn(o, i.maxDate, r.maxDate)
  });
}
const _P = U(MP, {
  name: "MuiDateCalendar",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  display: "flex",
  flexDirection: "column",
  height: du
}), AP = U(Ag, {
  name: "MuiDateCalendar",
  slot: "ViewTransitionContainer",
  overridesResolver: (e, t) => t.viewTransitionContainer
})({}), Ug = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = pt(), a = Mn(), i = NP(t, "MuiDateCalendar"), {
    autoFocus: s,
    onViewChange: l,
    value: c,
    defaultValue: u,
    referenceDate: p,
    disableFuture: f,
    disablePast: g,
    onChange: v,
    onYearChange: b,
    onMonthChange: h,
    reduceAnimations: y,
    shouldDisableDate: C,
    shouldDisableMonth: E,
    shouldDisableYear: w,
    view: T,
    views: O,
    openTo: P,
    className: S,
    disabled: $,
    readOnly: A,
    minDate: N,
    maxDate: D,
    disableHighlightToday: V,
    focusedView: L,
    onFocusedViewChange: I,
    showDaysOutsideCurrentMonth: R,
    fixedWeekNumber: k,
    dayOfWeekFormatter: F,
    slots: M,
    slotProps: B,
    loading: j,
    renderLoading: W,
    displayWeekNumber: re,
    yearsOrder: J,
    yearsPerRow: Q,
    monthsPerRow: X,
    timezone: Y
  } = i, Z = oe(i, DP), {
    value: H,
    handleValueChange: K,
    timezone: ne
  } = lu({
    name: "DateCalendar",
    timezone: Y,
    value: c,
    defaultValue: u,
    referenceDate: p,
    onChange: v,
    valueManager: Bn
  }), {
    view: ae,
    setView: z,
    focusedView: q,
    setFocusedView: te,
    goToNextView: ie,
    setValueAndGoToNextView: de
  } = tg({
    view: T,
    views: O,
    openTo: P,
    onChange: K,
    onViewChange: l,
    autoFocus: s,
    focusedView: L,
    onFocusedViewChange: I
  }), {
    referenceDate: ge,
    calendarState: fe,
    changeFocusedDay: Oe,
    changeMonth: Te,
    handleChangeMonth: Re,
    isDateDisabled: Be,
    onMonthSwitchingAnimationEnd: je
  } = pS({
    value: H,
    referenceDate: p,
    reduceAnimations: y,
    onMonthChange: h,
    minDate: N,
    maxDate: D,
    shouldDisableDate: C,
    disablePast: g,
    disableFuture: f,
    timezone: ne
  }), Fe = $ && H || N, et = $ && H || D, ct = `${a}-grid-label`, ot = q !== null, ue = (M == null ? void 0 : M.calendarHeader) ?? Wg, le = $e({
    elementType: ue,
    externalSlotProps: B == null ? void 0 : B.calendarHeader,
    additionalProps: {
      views: O,
      view: ae,
      currentMonth: fe.currentMonth,
      onViewChange: z,
      onMonthChange: (Me, We) => Re({
        newMonth: Me,
        direction: We
      }),
      minDate: Fe,
      maxDate: et,
      disabled: $,
      disablePast: g,
      disableFuture: f,
      reduceAnimations: y,
      timezone: ne,
      labelId: ct
    },
    ownerState: i
  }), xe = Ce((Me) => {
    const We = r.startOfMonth(Me), it = r.endOfMonth(Me), bt = Be(Me) ? ca({
      utils: r,
      date: Me,
      minDate: r.isBefore(N, We) ? We : N,
      maxDate: r.isAfter(D, it) ? it : D,
      disablePast: g,
      disableFuture: f,
      isDateDisabled: Be,
      timezone: ne
    }) : Me;
    bt ? (de(bt, "finish"), h == null || h(We)) : (ie(), Te(We)), Oe(bt, !0);
  }), ke = Ce((Me) => {
    const We = r.startOfYear(Me), it = r.endOfYear(Me), bt = Be(Me) ? ca({
      utils: r,
      date: Me,
      minDate: r.isBefore(N, We) ? We : N,
      maxDate: r.isAfter(D, it) ? it : D,
      disablePast: g,
      disableFuture: f,
      isDateDisabled: Be,
      timezone: ne
    }) : Me;
    bt ? (de(bt, "finish"), b == null || b(bt)) : (ie(), Te(We)), Oe(bt, !0);
  }), De = Ce((Me) => K(Me && qi(r, Me, H ?? ge), "finish", ae));
  d.useEffect(() => {
    H != null && r.isValid(H) && Te(H);
  }, [H]);
  const Ie = i, we = IP(Ie), pe = {
    disablePast: g,
    disableFuture: f,
    maxDate: D,
    minDate: N
  }, me = {
    disableHighlightToday: V,
    readOnly: A,
    disabled: $,
    timezone: ne,
    gridLabelId: ct,
    slots: M,
    slotProps: B
  }, Se = d.useRef(ae);
  d.useEffect(() => {
    Se.current !== ae && (q === Se.current && te(ae, !0), Se.current = ae);
  }, [q, te, ae]);
  const Ne = d.useMemo(() => [H], [H]);
  return /* @__PURE__ */ he(_P, m({
    ref: o,
    className: ce(we.root, S),
    ownerState: Ie
  }, Z, {
    children: [/* @__PURE__ */ x(ue, m({}, le, {
      slots: M,
      slotProps: B
    })), /* @__PURE__ */ x(AP, {
      reduceAnimations: y,
      className: we.viewTransitionContainer,
      transKey: ae,
      ownerState: Ie,
      children: /* @__PURE__ */ he("div", {
        children: [ae === "year" && /* @__PURE__ */ x(Bg, m({}, pe, me, {
          value: H,
          onChange: ke,
          shouldDisableYear: w,
          hasFocus: ot,
          onFocusedViewChange: (Me) => te("year", Me),
          yearsOrder: J,
          yearsPerRow: Q,
          referenceDate: ge
        })), ae === "month" && /* @__PURE__ */ x(zg, m({}, pe, me, {
          hasFocus: ot,
          className: S,
          value: H,
          onChange: xe,
          shouldDisableMonth: E,
          onFocusedViewChange: (Me) => te("month", Me),
          monthsPerRow: X,
          referenceDate: ge
        })), ae === "day" && /* @__PURE__ */ x(zS, m({}, fe, pe, me, {
          onMonthSwitchingAnimationEnd: je,
          onFocusedDayChange: Oe,
          reduceAnimations: y,
          selectedDays: Ne,
          onSelectedDaysChange: De,
          shouldDisableDate: C,
          shouldDisableMonth: E,
          shouldDisableYear: w,
          hasFocus: ot,
          onFocusedViewChange: (Me) => te("day", Me),
          showDaysOutsideCurrentMonth: R,
          fixedWeekNumber: k,
          dayOfWeekFormatter: F,
          displayWeekNumber: re,
          loading: j,
          renderLoading: W
        }))]
      })
    })]
  }));
});
process.env.NODE_ENV !== "production" && (Ug.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * If `true`, the main element is focused during the first mount.
   * This main element is:
   * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
   * - the `input` element if there is a field rendered.
   */
  autoFocus: n.bool,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  className: n.string,
  /**
   * Formats the day of week displayed in the calendar header.
   * @param {TDate} date The date of the day of week provided by the adapter.
   * @returns {string} The name to display.
   * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
   */
  dayOfWeekFormatter: n.func,
  /**
   * The default selected value.
   * Used when the component is not controlled.
   */
  defaultValue: n.object,
  /**
   * If `true`, the picker and text field are disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, disable values after the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disableFuture: n.bool,
  /**
   * If `true`, today's date is rendering without highlighting with circle.
   * @default false
   */
  disableHighlightToday: n.bool,
  /**
   * If `true`, disable values before the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disablePast: n.bool,
  /**
   * If `true`, the week number will be display in the calendar.
   */
  displayWeekNumber: n.bool,
  /**
   * The day view will show as many weeks as needed after the end of the current month to match this value.
   * Put it to 6 to have a fixed number of weeks in Gregorian calendars
   */
  fixedWeekNumber: n.number,
  /**
   * Controlled focused view.
   */
  focusedView: n.oneOf(["day", "month", "year"]),
  /**
   * If `true`, calls `renderLoading` instead of rendering the day calendar.
   * Can be used to preload information and show it in calendar.
   * @default false
   */
  loading: n.bool,
  /**
   * Maximal selectable date.
   * @default 2099-12-31
   */
  maxDate: n.object,
  /**
   * Minimal selectable date.
   * @default 1900-01-01
   */
  minDate: n.object,
  /**
   * Months rendered per row.
   * @default 3
   */
  monthsPerRow: n.oneOf([3, 4]),
  /**
   * Callback fired when the value changes.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @template TView The view type. Will be one of date or time views.
   * @param {TValue} value The new value.
   * @param {PickerSelectionState | undefined} selectionState Indicates if the date selection is complete.
   * @param {TView | undefined} selectedView Indicates the view in which the selection has been made.
   */
  onChange: n.func,
  /**
   * Callback fired on focused view change.
   * @template TView
   * @param {TView} view The new view to focus or not.
   * @param {boolean} hasFocus `true` if the view should be focused.
   */
  onFocusedViewChange: n.func,
  /**
   * Callback fired on month change.
   * @template TDate
   * @param {TDate} month The new month.
   */
  onMonthChange: n.func,
  /**
   * Callback fired on view change.
   * @template TView
   * @param {TView} view The new view.
   */
  onViewChange: n.func,
  /**
   * Callback fired on year change.
   * @template TDate
   * @param {TDate} year The new year.
   */
  onYearChange: n.func,
  /**
   * The default visible view.
   * Used when the component view is not controlled.
   * Must be a valid option from `views` list.
   */
  openTo: n.oneOf(["day", "month", "year"]),
  /**
   * Make picker read only.
   * @default false
   */
  readOnly: n.bool,
  /**
   * If `true`, disable heavy animations.
   * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
   */
  reduceAnimations: n.bool,
  /**
   * The date used to generate the new value when both `value` and `defaultValue` are empty.
   * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`.
   */
  referenceDate: n.object,
  /**
   * Component displaying when passed `loading` true.
   * @returns {React.ReactNode} The node to render when loading.
   * @default () => <span>...</span>
   */
  renderLoading: n.func,
  /**
   * Disable specific date.
   *
   * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
   *
   * @template TDate
   * @param {TDate} day The date to test.
   * @returns {boolean} If `true` the date will be disabled.
   */
  shouldDisableDate: n.func,
  /**
   * Disable specific month.
   * @template TDate
   * @param {TDate} month The month to test.
   * @returns {boolean} If `true`, the month will be disabled.
   */
  shouldDisableMonth: n.func,
  /**
   * Disable specific year.
   * @template TDate
   * @param {TDate} year The year to test.
   * @returns {boolean} If `true`, the year will be disabled.
   */
  shouldDisableYear: n.func,
  /**
   * If `true`, days outside the current month are rendered:
   *
   * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.
   *
   * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.
   *
   * - ignored if `calendars` equals more than `1` on range pickers.
   * @default false
   */
  showDaysOutsideCurrentMonth: n.bool,
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   * @default {}
   */
  slots: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Choose which timezone to use for the value.
   * Example: "default", "system", "UTC", "America/New_York".
   * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
   * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
   * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
   */
  timezone: n.string,
  /**
   * The selected value.
   * Used when the component is controlled.
   */
  value: n.object,
  /**
   * The visible view.
   * Used when the component view is controlled.
   * Must be a valid option from `views` list.
   */
  view: n.oneOf(["day", "month", "year"]),
  /**
   * Available views.
   */
  views: n.arrayOf(n.oneOf(["day", "month", "year"]).isRequired),
  /**
   * Years are displayed in ascending (chronological) order by default.
   * If `desc`, years are displayed in descending order.
   * @default 'asc'
   */
  yearsOrder: n.oneOf(["asc", "desc"]),
  /**
   * Years rendered per row.
   * @default 3
   */
  yearsPerRow: n.oneOf([3, 4])
});
const br = ({
  view: e,
  onViewChange: t,
  views: o,
  focusedView: r,
  onFocusedViewChange: a,
  value: i,
  defaultValue: s,
  referenceDate: l,
  onChange: c,
  className: u,
  classes: p,
  disableFuture: f,
  disablePast: g,
  minDate: v,
  maxDate: b,
  shouldDisableDate: h,
  shouldDisableMonth: y,
  shouldDisableYear: C,
  reduceAnimations: E,
  onMonthChange: w,
  monthsPerRow: T,
  onYearChange: O,
  yearsOrder: P,
  yearsPerRow: S,
  slots: $,
  slotProps: A,
  loading: N,
  renderLoading: D,
  disableHighlightToday: V,
  readOnly: L,
  disabled: I,
  showDaysOutsideCurrentMonth: R,
  dayOfWeekFormatter: k,
  sx: F,
  autoFocus: M,
  fixedWeekNumber: B,
  displayWeekNumber: j,
  timezone: W
}) => /* @__PURE__ */ x(Ug, {
  view: e,
  onViewChange: t,
  views: o.filter(Op),
  focusedView: r && Op(r) ? r : null,
  onFocusedViewChange: a,
  value: i,
  defaultValue: s,
  referenceDate: l,
  onChange: c,
  className: u,
  classes: p,
  disableFuture: f,
  disablePast: g,
  minDate: v,
  maxDate: b,
  shouldDisableDate: h,
  shouldDisableMonth: y,
  shouldDisableYear: C,
  reduceAnimations: E,
  onMonthChange: w,
  monthsPerRow: T,
  onYearChange: O,
  yearsOrder: P,
  yearsPerRow: S,
  slots: $,
  slotProps: A,
  loading: N,
  renderLoading: D,
  disableHighlightToday: V,
  readOnly: L,
  disabled: I,
  showDaysOutsideCurrentMonth: R,
  dayOfWeekFormatter: k,
  sx: F,
  autoFocus: M,
  fixedWeekNumber: B,
  displayWeekNumber: j,
  timezone: W
}), Hg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var u, p;
  const r = to(), a = pt(), i = Fh(t, "MuiDesktopDatePicker"), s = m({
    day: br,
    month: br,
    year: br
  }, i.viewRenderers), l = m({}, i, {
    viewRenderers: s,
    format: Yc(a, i, !1),
    yearsPerRow: i.yearsPerRow ?? 4,
    slots: m({
      openPickerIcon: pw,
      field: Ou
    }, i.slots),
    slotProps: m({}, i.slotProps, {
      field: (f) => {
        var g;
        return m({}, bs((g = i.slotProps) == null ? void 0 : g.field, f), Vh(i), {
          ref: o
        });
      },
      toolbar: m({
        hidden: !0
      }, (u = i.slotProps) == null ? void 0 : u.toolbar)
    })
  }), {
    renderPicker: c
  } = iw({
    props: l,
    valueManager: Bn,
    valueType: "date",
    getOpenDialogAriaText: _h({
      utils: a,
      formatKey: "fullDate",
      contextTranslation: r.openDatePickerDialogue,
      propsTranslation: (p = l.localeText) == null ? void 0 : p.openDatePickerDialogue
    }),
    validator: ja
  });
  return c();
});
Hg.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * If `true`, the main element is focused during the first mount.
   * This main element is:
   * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
   * - the `input` element if there is a field rendered.
   */
  autoFocus: n.bool,
  className: n.string,
  /**
   * If `true`, the popover or modal will close after submitting the full date.
   * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
   */
  closeOnSelect: n.bool,
  /**
   * Formats the day of week displayed in the calendar header.
   * @param {TDate} date The date of the day of week provided by the adapter.
   * @returns {string} The name to display.
   * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
   */
  dayOfWeekFormatter: n.func,
  /**
   * The default value.
   * Used when the component is not controlled.
   */
  defaultValue: n.object,
  /**
   * If `true`, the picker and text field are disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, disable values after the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disableFuture: n.bool,
  /**
   * If `true`, today's date is rendering without highlighting with circle.
   * @default false
   */
  disableHighlightToday: n.bool,
  /**
   * If `true`, the open picker button will not be rendered (renders only the field).
   * @default false
   */
  disableOpenPicker: n.bool,
  /**
   * If `true`, disable values before the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disablePast: n.bool,
  /**
   * If `true`, the week number will be display in the calendar.
   */
  displayWeekNumber: n.bool,
  /**
   * @default false
   */
  enableAccessibleFieldDOMStructure: n.any,
  /**
   * The day view will show as many weeks as needed after the end of the current month to match this value.
   * Put it to 6 to have a fixed number of weeks in Gregorian calendars
   */
  fixedWeekNumber: n.number,
  /**
   * Format of the date when rendered in the input(s).
   * Defaults to localized format based on the used `views`.
   */
  format: n.string,
  /**
   * Density of the format when rendered in the input.
   * Setting `formatDensity` to `"spacious"` will add a space before and after each `/`, `-` and `.` character.
   * @default "dense"
   */
  formatDensity: n.oneOf(["dense", "spacious"]),
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * The label content.
   */
  label: n.node,
  /**
   * If `true`, calls `renderLoading` instead of rendering the day calendar.
   * Can be used to preload information and show it in calendar.
   * @default false
   */
  loading: n.bool,
  /**
   * Locale for components texts.
   * Allows overriding texts coming from `LocalizationProvider` and `theme`.
   */
  localeText: n.object,
  /**
   * Maximal selectable date.
   * @default 2099-12-31
   */
  maxDate: n.object,
  /**
   * Minimal selectable date.
   * @default 1900-01-01
   */
  minDate: n.object,
  /**
   * Months rendered per row.
   * @default 3
   */
  monthsPerRow: n.oneOf([3, 4]),
  /**
   * Name attribute used by the `input` element in the Field.
   */
  name: n.string,
  /**
   * Callback fired when the value is accepted.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @param {TValue} value The value that was just accepted.
   * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
   */
  onAccept: n.func,
  /**
   * Callback fired when the value changes.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @param {TValue} value The new value.
   * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
   */
  onChange: n.func,
  /**
   * Callback fired when the popup requests to be closed.
   * Use in controlled mode (see `open`).
   */
  onClose: n.func,
  /**
   * Callback fired when the error associated with the current value changes.
   * When a validation error is detected, the `error` parameter contains a non-null value.
   * This can be used to render an appropriate form error.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @param {TError} error The reason why the current value is not valid.
   * @param {TValue} value The value associated with the error.
   */
  onError: n.func,
  /**
   * Callback fired on month change.
   * @template TDate
   * @param {TDate} month The new month.
   */
  onMonthChange: n.func,
  /**
   * Callback fired when the popup requests to be opened.
   * Use in controlled mode (see `open`).
   */
  onOpen: n.func,
  /**
   * Callback fired when the selected sections change.
   * @param {FieldSelectedSections} newValue The new selected sections.
   */
  onSelectedSectionsChange: n.func,
  /**
   * Callback fired on view change.
   * @template TView
   * @param {TView} view The new view.
   */
  onViewChange: n.func,
  /**
   * Callback fired on year change.
   * @template TDate
   * @param {TDate} year The new year.
   */
  onYearChange: n.func,
  /**
   * Control the popup or dialog open state.
   * @default false
   */
  open: n.bool,
  /**
   * The default visible view.
   * Used when the component view is not controlled.
   * Must be a valid option from `views` list.
   */
  openTo: n.oneOf(["day", "month", "year"]),
  /**
   * Force rendering in particular orientation.
   */
  orientation: n.oneOf(["landscape", "portrait"]),
  readOnly: n.bool,
  /**
   * If `true`, disable heavy animations.
   * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
   */
  reduceAnimations: n.bool,
  /**
   * The date used to generate the new value when both `value` and `defaultValue` are empty.
   * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
   */
  referenceDate: n.object,
  /**
   * Component displaying when passed `loading` true.
   * @returns {React.ReactNode} The node to render when loading.
   * @default () => <span>...</span>
   */
  renderLoading: n.func,
  /**
   * The currently selected sections.
   * This prop accepts four formats:
   * 1. If a number is provided, the section at this index will be selected.
   * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
   * 3. If `"all"` is provided, all the sections will be selected.
   * 4. If `null` is provided, no section will be selected.
   * If not provided, the selected sections will be handled internally.
   */
  selectedSections: n.oneOfType([n.oneOf(["all", "day", "empty", "hours", "meridiem", "minutes", "month", "seconds", "weekDay", "year"]), n.number]),
  /**
   * Disable specific date.
   *
   * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
   *
   * @template TDate
   * @param {TDate} day The date to test.
   * @returns {boolean} If `true` the date will be disabled.
   */
  shouldDisableDate: n.func,
  /**
   * Disable specific month.
   * @template TDate
   * @param {TDate} month The month to test.
   * @returns {boolean} If `true`, the month will be disabled.
   */
  shouldDisableMonth: n.func,
  /**
   * Disable specific year.
   * @template TDate
   * @param {TDate} year The year to test.
   * @returns {boolean} If `true`, the year will be disabled.
   */
  shouldDisableYear: n.func,
  /**
   * If `true`, days outside the current month are rendered:
   *
   * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.
   *
   * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.
   *
   * - ignored if `calendars` equals more than `1` on range pickers.
   * @default false
   */
  showDaysOutsideCurrentMonth: n.bool,
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   * @default {}
   */
  slots: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Choose which timezone to use for the value.
   * Example: "default", "system", "UTC", "America/New_York".
   * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
   * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
   * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
   */
  timezone: n.string,
  /**
   * The selected value.
   * Used when the component is controlled.
   */
  value: n.object,
  /**
   * The visible view.
   * Used when the component view is controlled.
   * Must be a valid option from `views` list.
   */
  view: n.oneOf(["day", "month", "year"]),
  /**
   * Define custom view renderers for each section.
   * If `null`, the section will only have field editing.
   * If `undefined`, internally defined view will be used.
   */
  viewRenderers: n.shape({
    day: n.func,
    month: n.func,
    year: n.func
  }),
  /**
   * Available views.
   */
  views: n.arrayOf(n.oneOf(["day", "month", "year"]).isRequired),
  /**
   * Years are displayed in ascending (chronological) order by default.
   * If `desc`, years are displayed in descending order.
   * @default 'asc'
   */
  yearsOrder: n.oneOf(["asc", "desc"]),
  /**
   * Years rendered per row.
   * @default 4
   */
  yearsPerRow: n.oneOf([3, 4])
};
function LP(e) {
  return ye("MuiDialogContent", e);
}
be("MuiDialogContent", ["root", "dividers"]);
function FP(e) {
  return ye("MuiDialogTitle", e);
}
const jP = be("MuiDialogTitle", ["root"]), VP = ["className", "dividers"], zP = (e) => {
  const {
    classes: t,
    dividers: o
  } = e;
  return ve({
    root: ["root", o && "dividers"]
  }, LP, t);
}, BP = U("div", {
  name: "MuiDialogContent",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.dividers && t.dividers];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  flex: "1 1 auto",
  // Add iOS momentum scrolling for iOS < 13.0
  WebkitOverflowScrolling: "touch",
  overflowY: "auto",
  padding: "20px 24px"
}, t.dividers ? {
  padding: "16px 24px",
  borderTop: `1px solid ${(e.vars || e).palette.divider}`,
  borderBottom: `1px solid ${(e.vars || e).palette.divider}`
} : {
  [`.${jP.root} + &`]: {
    paddingTop: 0
  }
})), Eu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiDialogContent"
  }), {
    className: a,
    dividers: i = !1
  } = r, s = oe(r, VP), l = m({}, r, {
    dividers: i
  }), c = zP(l);
  return /* @__PURE__ */ x(BP, m({
    className: ce(c.root, a),
    ownerState: l,
    ref: o
  }, s));
});
process.env.NODE_ENV !== "production" && (Eu.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * Display the top and bottom dividers.
   * @default false
   */
  dividers: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function WP(e) {
  return ye("MuiDialog", e);
}
const ha = be("MuiDialog", ["root", "scrollPaper", "scrollBody", "container", "paper", "paperScrollPaper", "paperScrollBody", "paperWidthFalse", "paperWidthXs", "paperWidthSm", "paperWidthMd", "paperWidthLg", "paperWidthXl", "paperFullWidth", "paperFullScreen"]), Su = /* @__PURE__ */ d.createContext({});
process.env.NODE_ENV !== "production" && (Su.displayName = "DialogContext");
const UP = ["aria-describedby", "aria-labelledby", "BackdropComponent", "BackdropProps", "children", "className", "disableEscapeKeyDown", "fullScreen", "fullWidth", "maxWidth", "onBackdropClick", "onClick", "onClose", "open", "PaperComponent", "PaperProps", "scroll", "TransitionComponent", "transitionDuration", "TransitionProps"], HP = U(gu, {
  name: "MuiDialog",
  slot: "Backdrop",
  overrides: (e, t) => t.backdrop
})({
  // Improve scrollable dialog support.
  zIndex: -1
}), qP = (e) => {
  const {
    classes: t,
    scroll: o,
    maxWidth: r,
    fullWidth: a,
    fullScreen: i
  } = e, s = {
    root: ["root"],
    container: ["container", `scroll${ee(o)}`],
    paper: ["paper", `paperScroll${ee(o)}`, `paperWidth${ee(String(r))}`, a && "paperFullWidth", i && "paperFullScreen"]
  };
  return ve(s, WP, t);
}, YP = U(Ls, {
  name: "MuiDialog",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  "@media print": {
    // Use !important to override the Modal inline-style.
    position: "absolute !important"
  }
}), KP = U("div", {
  name: "MuiDialog",
  slot: "Container",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.container, t[`scroll${ee(o.scroll)}`]];
  }
})(({
  ownerState: e
}) => m({
  height: "100%",
  "@media print": {
    height: "auto"
  },
  // We disable the focus ring for mouse, touch and keyboard users.
  outline: 0
}, e.scroll === "paper" && {
  display: "flex",
  justifyContent: "center",
  alignItems: "center"
}, e.scroll === "body" && {
  overflowY: "auto",
  overflowX: "hidden",
  textAlign: "center",
  "&::after": {
    content: '""',
    display: "inline-block",
    verticalAlign: "middle",
    height: "100%",
    width: "0"
  }
})), GP = U($n, {
  name: "MuiDialog",
  slot: "Paper",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.paper, t[`scrollPaper${ee(o.scroll)}`], t[`paperWidth${ee(String(o.maxWidth))}`], o.fullWidth && t.paperFullWidth, o.fullScreen && t.paperFullScreen];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  margin: 32,
  position: "relative",
  overflowY: "auto",
  // Fix IE11 issue, to remove at some point.
  "@media print": {
    overflowY: "visible",
    boxShadow: "none"
  }
}, t.scroll === "paper" && {
  display: "flex",
  flexDirection: "column",
  maxHeight: "calc(100% - 64px)"
}, t.scroll === "body" && {
  display: "inline-block",
  verticalAlign: "middle",
  textAlign: "left"
  // 'initial' doesn't work on IE11
}, !t.maxWidth && {
  maxWidth: "calc(100% - 64px)"
}, t.maxWidth === "xs" && {
  maxWidth: e.breakpoints.unit === "px" ? Math.max(e.breakpoints.values.xs, 444) : `max(${e.breakpoints.values.xs}${e.breakpoints.unit}, 444px)`,
  [`&.${ha.paperScrollBody}`]: {
    [e.breakpoints.down(Math.max(e.breakpoints.values.xs, 444) + 32 * 2)]: {
      maxWidth: "calc(100% - 64px)"
    }
  }
}, t.maxWidth && t.maxWidth !== "xs" && {
  maxWidth: `${e.breakpoints.values[t.maxWidth]}${e.breakpoints.unit}`,
  [`&.${ha.paperScrollBody}`]: {
    [e.breakpoints.down(e.breakpoints.values[t.maxWidth] + 32 * 2)]: {
      maxWidth: "calc(100% - 64px)"
    }
  }
}, t.fullWidth && {
  width: "calc(100% - 64px)"
}, t.fullScreen && {
  margin: 0,
  width: "100%",
  maxWidth: "100%",
  height: "100%",
  maxHeight: "none",
  borderRadius: 0,
  [`&.${ha.paperScrollBody}`]: {
    margin: 0,
    maxWidth: "100%"
  }
})), Pu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiDialog"
  }), a = vn(), i = {
    enter: a.transitions.duration.enteringScreen,
    exit: a.transitions.duration.leavingScreen
  }, {
    "aria-describedby": s,
    "aria-labelledby": l,
    BackdropComponent: c,
    BackdropProps: u,
    children: p,
    className: f,
    disableEscapeKeyDown: g = !1,
    fullScreen: v = !1,
    fullWidth: b = !1,
    maxWidth: h = "sm",
    onBackdropClick: y,
    onClick: C,
    onClose: E,
    open: w,
    PaperComponent: T = $n,
    PaperProps: O = {},
    scroll: P = "paper",
    TransitionComponent: S = Ko,
    transitionDuration: $ = i,
    TransitionProps: A
  } = r, N = oe(r, UP), D = m({}, r, {
    disableEscapeKeyDown: g,
    fullScreen: v,
    fullWidth: b,
    maxWidth: h,
    scroll: P
  }), V = qP(D), L = d.useRef(), I = (M) => {
    L.current = M.target === M.currentTarget;
  }, R = (M) => {
    C && C(M), L.current && (L.current = null, y && y(M), E && E(M, "backdropClick"));
  }, k = Mn(l), F = d.useMemo(() => ({
    titleId: k
  }), [k]);
  return /* @__PURE__ */ x(YP, m({
    className: ce(V.root, f),
    closeAfterTransition: !0,
    components: {
      Backdrop: HP
    },
    componentsProps: {
      backdrop: m({
        transitionDuration: $,
        as: c
      }, u)
    },
    disableEscapeKeyDown: g,
    onClose: E,
    open: w,
    ref: o,
    onClick: R,
    ownerState: D
  }, N, {
    children: /* @__PURE__ */ x(S, m({
      appear: !0,
      in: w,
      timeout: $,
      role: "presentation"
    }, A, {
      children: /* @__PURE__ */ x(KP, {
        className: ce(V.container),
        onMouseDown: I,
        ownerState: D,
        children: /* @__PURE__ */ x(GP, m({
          as: T,
          elevation: 24,
          role: "dialog",
          "aria-describedby": s,
          "aria-labelledby": k
        }, O, {
          className: ce(V.paper, O.className),
          ownerState: D,
          children: /* @__PURE__ */ x(Su.Provider, {
            value: F,
            children: p
          })
        }))
      })
    }))
  }));
});
process.env.NODE_ENV !== "production" && (Pu.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The id(s) of the element(s) that describe the dialog.
   */
  "aria-describedby": n.string,
  /**
   * The id(s) of the element(s) that label the dialog.
   */
  "aria-labelledby": n.string,
  /**
   * A backdrop component. This prop enables custom backdrop rendering.
   * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.
   * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.
   * @default styled(Backdrop, {
   *   name: 'MuiModal',
   *   slot: 'Backdrop',
   *   overridesResolver: (props, styles) => {
   *     return styles.backdrop;
   *   },
   * })({
   *   zIndex: -1,
   * })
   */
  BackdropComponent: n.elementType,
  /**
   * @ignore
   */
  BackdropProps: n.object,
  /**
   * Dialog children, usually the included sub-components.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * If `true`, hitting escape will not fire the `onClose` callback.
   * @default false
   */
  disableEscapeKeyDown: n.bool,
  /**
   * If `true`, the dialog is full-screen.
   * @default false
   */
  fullScreen: n.bool,
  /**
   * If `true`, the dialog stretches to `maxWidth`.
   *
   * Notice that the dialog width grow is limited by the default margin.
   * @default false
   */
  fullWidth: n.bool,
  /**
   * Determine the max-width of the dialog.
   * The dialog width grows with the size of the screen.
   * Set to `false` to disable `maxWidth`.
   * @default 'sm'
   */
  maxWidth: n.oneOfType([n.oneOf(["xs", "sm", "md", "lg", "xl", !1]), n.string]),
  /**
   * Callback fired when the backdrop is clicked.
   * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.
   */
  onBackdropClick: n.func,
  /**
   * @ignore
   */
  onClick: n.func,
  /**
   * Callback fired when the component requests to be closed.
   *
   * @param {object} event The event source of the callback.
   * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
   */
  onClose: n.func,
  /**
   * If `true`, the component is shown.
   */
  open: n.bool.isRequired,
  /**
   * The component used to render the body of the dialog.
   * @default Paper
   */
  PaperComponent: n.elementType,
  /**
   * Props applied to the [`Paper`](/material-ui/api/paper/) element.
   * @default {}
   */
  PaperProps: n.object,
  /**
   * Determine the container for scrolling the dialog.
   * @default 'paper'
   */
  scroll: n.oneOf(["body", "paper"]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The component used for the transition.
   * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
   * @default Fade
   */
  TransitionComponent: n.elementType,
  /**
   * The duration for the transition, in milliseconds.
   * You may specify a single timeout for all transitions, or individually with an object.
   * @default {
   *   enter: theme.transitions.duration.enteringScreen,
   *   exit: theme.transitions.duration.leavingScreen,
   * }
   */
  transitionDuration: n.oneOfType([n.number, n.shape({
    appear: n.number,
    enter: n.number,
    exit: n.number
  })]),
  /**
   * Props applied to the transition element.
   * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
   */
  TransitionProps: n.object
});
const XP = U(Pu)({
  [`& .${ha.container}`]: {
    outline: 0
  },
  [`& .${ha.paper}`]: {
    outline: 0,
    minWidth: Rs
  }
}), ZP = U(Eu)({
  "&:first-of-type": {
    padding: 0
  }
});
function QP(e) {
  const {
    children: t,
    onDismiss: o,
    open: r,
    slots: a,
    slotProps: i
  } = e, s = (a == null ? void 0 : a.dialog) ?? XP, l = (a == null ? void 0 : a.mobileTransition) ?? Ko;
  return /* @__PURE__ */ x(s, m({
    open: r,
    onClose: o
  }, i == null ? void 0 : i.dialog, {
    TransitionComponent: l,
    TransitionProps: i == null ? void 0 : i.mobileTransition,
    PaperComponent: a == null ? void 0 : a.mobilePaper,
    PaperProps: i == null ? void 0 : i.mobilePaper,
    children: /* @__PURE__ */ x(ZP, {
      children: t
    })
  }));
}
const JP = ["props", "getOpenDialogAriaText"], eR = (e) => {
  var W;
  let {
    props: t,
    getOpenDialogAriaText: o
  } = e, r = oe(e, JP);
  const {
    slots: a,
    slotProps: i,
    className: s,
    sx: l,
    format: c,
    formatDensity: u,
    enableAccessibleFieldDOMStructure: p,
    selectedSections: f,
    onSelectedSectionsChange: g,
    timezone: v,
    name: b,
    label: h,
    inputRef: y,
    readOnly: C,
    disabled: E,
    localeText: w
  } = t, T = d.useRef(null), O = Mn(), P = ((W = i == null ? void 0 : i.toolbar) == null ? void 0 : W.hidden) ?? !1, {
    open: S,
    actions: $,
    layoutProps: A,
    renderCurrentView: N,
    fieldProps: D,
    contextValue: V
  } = ng(m({}, r, {
    props: t,
    fieldRef: T,
    autoFocusView: !0,
    additionalViewProps: {},
    wrapperVariant: "mobile"
  })), L = a.field, I = $e({
    elementType: L,
    externalSlotProps: i == null ? void 0 : i.field,
    additionalProps: m({}, D, P && {
      id: O
    }, !(E || C) && {
      onClick: $.onOpen,
      onKeyDown: Z5($.onOpen)
    }, {
      readOnly: C ?? !0,
      disabled: E,
      className: s,
      sx: l,
      format: c,
      formatDensity: u,
      enableAccessibleFieldDOMStructure: p,
      selectedSections: f,
      onSelectedSectionsChange: g,
      timezone: v,
      label: h,
      name: b
    }, y ? {
      inputRef: y
    } : {}),
    ownerState: t
  });
  I.inputProps = m({}, I.inputProps, {
    "aria-label": o(D.value)
  });
  const R = m({
    textField: a.textField
  }, I.slots), k = a.layout ?? pu;
  let F = O;
  P && (h ? F = `${O}-label` : F = void 0);
  const M = m({}, i, {
    toolbar: m({}, i == null ? void 0 : i.toolbar, {
      titleId: O
    }),
    mobilePaper: m({
      "aria-labelledby": F
    }, i == null ? void 0 : i.mobilePaper)
  }), B = ze(T, I.unstableFieldRef);
  return {
    renderPicker: () => /* @__PURE__ */ he(sg, {
      contextValue: V,
      localeText: w,
      children: [/* @__PURE__ */ x(L, m({}, I, {
        slots: R,
        slotProps: M,
        unstableFieldRef: B
      })), /* @__PURE__ */ x(QP, m({}, $, {
        open: S,
        slots: a,
        slotProps: M,
        children: /* @__PURE__ */ x(k, m({}, A, M == null ? void 0 : M.layout, {
          slots: a,
          slotProps: M,
          children: N()
        }))
      }))]
    })
  };
}, qg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var u, p;
  const r = to(), a = pt(), i = Fh(t, "MuiMobileDatePicker"), s = m({
    day: br,
    month: br,
    year: br
  }, i.viewRenderers), l = m({}, i, {
    viewRenderers: s,
    format: Yc(a, i, !1),
    slots: m({
      field: Ou
    }, i.slots),
    slotProps: m({}, i.slotProps, {
      field: (f) => {
        var g;
        return m({}, bs((g = i.slotProps) == null ? void 0 : g.field, f), Vh(i), {
          ref: o
        });
      },
      toolbar: m({
        hidden: !1
      }, (u = i.slotProps) == null ? void 0 : u.toolbar)
    })
  }), {
    renderPicker: c
  } = eR({
    props: l,
    valueManager: Bn,
    valueType: "date",
    getOpenDialogAriaText: _h({
      utils: a,
      formatKey: "fullDate",
      contextTranslation: r.openDatePickerDialogue,
      propsTranslation: (p = l.localeText) == null ? void 0 : p.openDatePickerDialogue
    }),
    validator: ja
  });
  return c();
});
qg.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * If `true`, the main element is focused during the first mount.
   * This main element is:
   * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
   * - the `input` element if there is a field rendered.
   */
  autoFocus: n.bool,
  className: n.string,
  /**
   * If `true`, the popover or modal will close after submitting the full date.
   * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
   */
  closeOnSelect: n.bool,
  /**
   * Formats the day of week displayed in the calendar header.
   * @param {TDate} date The date of the day of week provided by the adapter.
   * @returns {string} The name to display.
   * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
   */
  dayOfWeekFormatter: n.func,
  /**
   * The default value.
   * Used when the component is not controlled.
   */
  defaultValue: n.object,
  /**
   * If `true`, the picker and text field are disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, disable values after the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disableFuture: n.bool,
  /**
   * If `true`, today's date is rendering without highlighting with circle.
   * @default false
   */
  disableHighlightToday: n.bool,
  /**
   * If `true`, the open picker button will not be rendered (renders only the field).
   * @default false
   */
  disableOpenPicker: n.bool,
  /**
   * If `true`, disable values before the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disablePast: n.bool,
  /**
   * If `true`, the week number will be display in the calendar.
   */
  displayWeekNumber: n.bool,
  /**
   * @default false
   */
  enableAccessibleFieldDOMStructure: n.any,
  /**
   * The day view will show as many weeks as needed after the end of the current month to match this value.
   * Put it to 6 to have a fixed number of weeks in Gregorian calendars
   */
  fixedWeekNumber: n.number,
  /**
   * Format of the date when rendered in the input(s).
   * Defaults to localized format based on the used `views`.
   */
  format: n.string,
  /**
   * Density of the format when rendered in the input.
   * Setting `formatDensity` to `"spacious"` will add a space before and after each `/`, `-` and `.` character.
   * @default "dense"
   */
  formatDensity: n.oneOf(["dense", "spacious"]),
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * The label content.
   */
  label: n.node,
  /**
   * If `true`, calls `renderLoading` instead of rendering the day calendar.
   * Can be used to preload information and show it in calendar.
   * @default false
   */
  loading: n.bool,
  /**
   * Locale for components texts.
   * Allows overriding texts coming from `LocalizationProvider` and `theme`.
   */
  localeText: n.object,
  /**
   * Maximal selectable date.
   * @default 2099-12-31
   */
  maxDate: n.object,
  /**
   * Minimal selectable date.
   * @default 1900-01-01
   */
  minDate: n.object,
  /**
   * Months rendered per row.
   * @default 3
   */
  monthsPerRow: n.oneOf([3, 4]),
  /**
   * Name attribute used by the `input` element in the Field.
   */
  name: n.string,
  /**
   * Callback fired when the value is accepted.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @param {TValue} value The value that was just accepted.
   * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
   */
  onAccept: n.func,
  /**
   * Callback fired when the value changes.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @param {TValue} value The new value.
   * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
   */
  onChange: n.func,
  /**
   * Callback fired when the popup requests to be closed.
   * Use in controlled mode (see `open`).
   */
  onClose: n.func,
  /**
   * Callback fired when the error associated with the current value changes.
   * When a validation error is detected, the `error` parameter contains a non-null value.
   * This can be used to render an appropriate form error.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @param {TError} error The reason why the current value is not valid.
   * @param {TValue} value The value associated with the error.
   */
  onError: n.func,
  /**
   * Callback fired on month change.
   * @template TDate
   * @param {TDate} month The new month.
   */
  onMonthChange: n.func,
  /**
   * Callback fired when the popup requests to be opened.
   * Use in controlled mode (see `open`).
   */
  onOpen: n.func,
  /**
   * Callback fired when the selected sections change.
   * @param {FieldSelectedSections} newValue The new selected sections.
   */
  onSelectedSectionsChange: n.func,
  /**
   * Callback fired on view change.
   * @template TView
   * @param {TView} view The new view.
   */
  onViewChange: n.func,
  /**
   * Callback fired on year change.
   * @template TDate
   * @param {TDate} year The new year.
   */
  onYearChange: n.func,
  /**
   * Control the popup or dialog open state.
   * @default false
   */
  open: n.bool,
  /**
   * The default visible view.
   * Used when the component view is not controlled.
   * Must be a valid option from `views` list.
   */
  openTo: n.oneOf(["day", "month", "year"]),
  /**
   * Force rendering in particular orientation.
   */
  orientation: n.oneOf(["landscape", "portrait"]),
  readOnly: n.bool,
  /**
   * If `true`, disable heavy animations.
   * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
   */
  reduceAnimations: n.bool,
  /**
   * The date used to generate the new value when both `value` and `defaultValue` are empty.
   * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
   */
  referenceDate: n.object,
  /**
   * Component displaying when passed `loading` true.
   * @returns {React.ReactNode} The node to render when loading.
   * @default () => <span>...</span>
   */
  renderLoading: n.func,
  /**
   * The currently selected sections.
   * This prop accepts four formats:
   * 1. If a number is provided, the section at this index will be selected.
   * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
   * 3. If `"all"` is provided, all the sections will be selected.
   * 4. If `null` is provided, no section will be selected.
   * If not provided, the selected sections will be handled internally.
   */
  selectedSections: n.oneOfType([n.oneOf(["all", "day", "empty", "hours", "meridiem", "minutes", "month", "seconds", "weekDay", "year"]), n.number]),
  /**
   * Disable specific date.
   *
   * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
   *
   * @template TDate
   * @param {TDate} day The date to test.
   * @returns {boolean} If `true` the date will be disabled.
   */
  shouldDisableDate: n.func,
  /**
   * Disable specific month.
   * @template TDate
   * @param {TDate} month The month to test.
   * @returns {boolean} If `true`, the month will be disabled.
   */
  shouldDisableMonth: n.func,
  /**
   * Disable specific year.
   * @template TDate
   * @param {TDate} year The year to test.
   * @returns {boolean} If `true`, the year will be disabled.
   */
  shouldDisableYear: n.func,
  /**
   * If `true`, days outside the current month are rendered:
   *
   * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.
   *
   * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.
   *
   * - ignored if `calendars` equals more than `1` on range pickers.
   * @default false
   */
  showDaysOutsideCurrentMonth: n.bool,
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   * @default {}
   */
  slots: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Choose which timezone to use for the value.
   * Example: "default", "system", "UTC", "America/New_York".
   * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
   * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
   * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
   */
  timezone: n.string,
  /**
   * The selected value.
   * Used when the component is controlled.
   */
  value: n.object,
  /**
   * The visible view.
   * Used when the component view is controlled.
   * Must be a valid option from `views` list.
   */
  view: n.oneOf(["day", "month", "year"]),
  /**
   * Define custom view renderers for each section.
   * If `null`, the section will only have field editing.
   * If `undefined`, internally defined view will be used.
   */
  viewRenderers: n.shape({
    day: n.func,
    month: n.func,
    year: n.func
  }),
  /**
   * Available views.
   */
  views: n.arrayOf(n.oneOf(["day", "month", "year"]).isRequired),
  /**
   * Years are displayed in ascending (chronological) order by default.
   * If `desc`, years are displayed in descending order.
   * @default 'asc'
   */
  yearsOrder: n.oneOf(["asc", "desc"]),
  /**
   * Years rendered per row.
   * @default 3
   */
  yearsPerRow: n.oneOf([3, 4])
};
const tR = ["desktopModeMediaQuery"], Yg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = dt({
    props: t,
    name: "MuiDatePicker"
  }), {
    desktopModeMediaQuery: a = Q5
  } = r, i = oe(r, tR);
  return zm(a, {
    defaultMatches: !0
  }) ? /* @__PURE__ */ x(Hg, m({
    ref: o
  }, i)) : /* @__PURE__ */ x(qg, m({
    ref: o
  }, i));
});
process.env.NODE_ENV !== "production" && (Yg.propTypes = {
  // ----------------------------- Warning --------------------------------
  // | These PropTypes are generated from the TypeScript type definitions |
  // | To update them edit the TypeScript types and run "pnpm proptypes"  |
  // ----------------------------------------------------------------------
  /**
   * If `true`, the main element is focused during the first mount.
   * This main element is:
   * - the element chosen by the visible view if any (i.e: the selected day on the `day` view).
   * - the `input` element if there is a field rendered.
   */
  autoFocus: n.bool,
  className: n.string,
  /**
   * If `true`, the popover or modal will close after submitting the full date.
   * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
   */
  closeOnSelect: n.bool,
  /**
   * Formats the day of week displayed in the calendar header.
   * @param {TDate} date The date of the day of week provided by the adapter.
   * @returns {string} The name to display.
   * @default (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
   */
  dayOfWeekFormatter: n.func,
  /**
   * The default value.
   * Used when the component is not controlled.
   */
  defaultValue: n.object,
  /**
   * CSS media query when `Mobile` mode will be changed to `Desktop`.
   * @default '@media (pointer: fine)'
   * @example '@media (min-width: 720px)' or theme.breakpoints.up("sm")
   */
  desktopModeMediaQuery: n.string,
  /**
   * If `true`, the picker and text field are disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, disable values after the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disableFuture: n.bool,
  /**
   * If `true`, today's date is rendering without highlighting with circle.
   * @default false
   */
  disableHighlightToday: n.bool,
  /**
   * If `true`, the open picker button will not be rendered (renders only the field).
   * @default false
   */
  disableOpenPicker: n.bool,
  /**
   * If `true`, disable values before the current date for date components, time for time components and both for date time components.
   * @default false
   */
  disablePast: n.bool,
  /**
   * If `true`, the week number will be display in the calendar.
   */
  displayWeekNumber: n.bool,
  /**
   * @default false
   */
  enableAccessibleFieldDOMStructure: n.any,
  /**
   * The day view will show as many weeks as needed after the end of the current month to match this value.
   * Put it to 6 to have a fixed number of weeks in Gregorian calendars
   */
  fixedWeekNumber: n.number,
  /**
   * Format of the date when rendered in the input(s).
   * Defaults to localized format based on the used `views`.
   */
  format: n.string,
  /**
   * Density of the format when rendered in the input.
   * Setting `formatDensity` to `"spacious"` will add a space before and after each `/`, `-` and `.` character.
   * @default "dense"
   */
  formatDensity: n.oneOf(["dense", "spacious"]),
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * The label content.
   */
  label: n.node,
  /**
   * If `true`, calls `renderLoading` instead of rendering the day calendar.
   * Can be used to preload information and show it in calendar.
   * @default false
   */
  loading: n.bool,
  /**
   * Locale for components texts.
   * Allows overriding texts coming from `LocalizationProvider` and `theme`.
   */
  localeText: n.object,
  /**
   * Maximal selectable date.
   * @default 2099-12-31
   */
  maxDate: n.object,
  /**
   * Minimal selectable date.
   * @default 1900-01-01
   */
  minDate: n.object,
  /**
   * Months rendered per row.
   * @default 3
   */
  monthsPerRow: n.oneOf([3, 4]),
  /**
   * Name attribute used by the `input` element in the Field.
   */
  name: n.string,
  /**
   * Callback fired when the value is accepted.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @param {TValue} value The value that was just accepted.
   * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
   */
  onAccept: n.func,
  /**
   * Callback fired when the value changes.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @param {TValue} value The new value.
   * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
   */
  onChange: n.func,
  /**
   * Callback fired when the popup requests to be closed.
   * Use in controlled mode (see `open`).
   */
  onClose: n.func,
  /**
   * Callback fired when the error associated with the current value changes.
   * When a validation error is detected, the `error` parameter contains a non-null value.
   * This can be used to render an appropriate form error.
   * @template TError The validation error type. It will be either `string` or a `null`. It can be in `[start, end]` format in case of range value.
   * @template TValue The value type. It will be the same type as `value` or `null`. It can be in `[start, end]` format in case of range value.
   * @param {TError} error The reason why the current value is not valid.
   * @param {TValue} value The value associated with the error.
   */
  onError: n.func,
  /**
   * Callback fired on month change.
   * @template TDate
   * @param {TDate} month The new month.
   */
  onMonthChange: n.func,
  /**
   * Callback fired when the popup requests to be opened.
   * Use in controlled mode (see `open`).
   */
  onOpen: n.func,
  /**
   * Callback fired when the selected sections change.
   * @param {FieldSelectedSections} newValue The new selected sections.
   */
  onSelectedSectionsChange: n.func,
  /**
   * Callback fired on view change.
   * @template TView
   * @param {TView} view The new view.
   */
  onViewChange: n.func,
  /**
   * Callback fired on year change.
   * @template TDate
   * @param {TDate} year The new year.
   */
  onYearChange: n.func,
  /**
   * Control the popup or dialog open state.
   * @default false
   */
  open: n.bool,
  /**
   * The default visible view.
   * Used when the component view is not controlled.
   * Must be a valid option from `views` list.
   */
  openTo: n.oneOf(["day", "month", "year"]),
  /**
   * Force rendering in particular orientation.
   */
  orientation: n.oneOf(["landscape", "portrait"]),
  readOnly: n.bool,
  /**
   * If `true`, disable heavy animations.
   * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
   */
  reduceAnimations: n.bool,
  /**
   * The date used to generate the new value when both `value` and `defaultValue` are empty.
   * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
   */
  referenceDate: n.object,
  /**
   * Component displaying when passed `loading` true.
   * @returns {React.ReactNode} The node to render when loading.
   * @default () => <span>...</span>
   */
  renderLoading: n.func,
  /**
   * The currently selected sections.
   * This prop accepts four formats:
   * 1. If a number is provided, the section at this index will be selected.
   * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
   * 3. If `"all"` is provided, all the sections will be selected.
   * 4. If `null` is provided, no section will be selected.
   * If not provided, the selected sections will be handled internally.
   */
  selectedSections: n.oneOfType([n.oneOf(["all", "day", "empty", "hours", "meridiem", "minutes", "month", "seconds", "weekDay", "year"]), n.number]),
  /**
   * Disable specific date.
   *
   * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
   *
   * @template TDate
   * @param {TDate} day The date to test.
   * @returns {boolean} If `true` the date will be disabled.
   */
  shouldDisableDate: n.func,
  /**
   * Disable specific month.
   * @template TDate
   * @param {TDate} month The month to test.
   * @returns {boolean} If `true`, the month will be disabled.
   */
  shouldDisableMonth: n.func,
  /**
   * Disable specific year.
   * @template TDate
   * @param {TDate} year The year to test.
   * @returns {boolean} If `true`, the year will be disabled.
   */
  shouldDisableYear: n.func,
  /**
   * If `true`, days outside the current month are rendered:
   *
   * - if `fixedWeekNumber` is defined, renders days to have the weeks requested.
   *
   * - if `fixedWeekNumber` is not defined, renders day to fill the first and last week of the current month.
   *
   * - ignored if `calendars` equals more than `1` on range pickers.
   * @default false
   */
  showDaysOutsideCurrentMonth: n.bool,
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps: n.object,
  /**
   * Overridable component slots.
   * @default {}
   */
  slots: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Choose which timezone to use for the value.
   * Example: "default", "system", "UTC", "America/New_York".
   * If you pass values from other timezones to some props, they will be converted to this timezone before being used.
   * @see See the {@link https://mui.com/x/react-date-pickers/timezone/ timezones documentation} for more details.
   * @default The timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.
   */
  timezone: n.string,
  /**
   * The selected value.
   * Used when the component is controlled.
   */
  value: n.object,
  /**
   * The visible view.
   * Used when the component view is controlled.
   * Must be a valid option from `views` list.
   */
  view: n.oneOf(["day", "month", "year"]),
  /**
   * Define custom view renderers for each section.
   * If `null`, the section will only have field editing.
   * If `undefined`, internally defined view will be used.
   */
  viewRenderers: n.shape({
    day: n.func,
    month: n.func,
    year: n.func
  }),
  /**
   * Available views.
   */
  views: n.arrayOf(n.oneOf(["day", "month", "year"]).isRequired),
  /**
   * Years are displayed in ascending (chronological) order by default.
   * If `desc`, years are displayed in descending order.
   * @default 'asc'
   */
  yearsOrder: n.oneOf(["asc", "desc"]),
  /**
   * Years rendered per row.
   * @default 4 on desktop, 3 on mobile
   */
  yearsPerRow: n.oneOf([3, 4])
});
function nR(e) {
  return ye("MuiCollapse", e);
}
be("MuiCollapse", ["root", "horizontal", "vertical", "entered", "hidden", "wrapper", "wrapperInner"]);
const oR = ["addEndListener", "children", "className", "collapsedSize", "component", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "orientation", "style", "timeout", "TransitionComponent"], rR = (e) => {
  const {
    orientation: t,
    classes: o
  } = e, r = {
    root: ["root", `${t}`],
    entered: ["entered"],
    hidden: ["hidden"],
    wrapper: ["wrapper", `${t}`],
    wrapperInner: ["wrapperInner", `${t}`]
  };
  return ve(r, nR, o);
}, aR = U("div", {
  name: "MuiCollapse",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[o.orientation], o.state === "entered" && t.entered, o.state === "exited" && !o.in && o.collapsedSize === "0px" && t.hidden];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  height: 0,
  overflow: "hidden",
  transition: e.transitions.create("height")
}, t.orientation === "horizontal" && {
  height: "auto",
  width: 0,
  transition: e.transitions.create("width")
}, t.state === "entered" && m({
  height: "auto",
  overflow: "visible"
}, t.orientation === "horizontal" && {
  width: "auto"
}), t.state === "exited" && !t.in && t.collapsedSize === "0px" && {
  visibility: "hidden"
})), iR = U("div", {
  name: "MuiCollapse",
  slot: "Wrapper",
  overridesResolver: (e, t) => t.wrapper
})(({
  ownerState: e
}) => m({
  // Hack to get children with a negative margin to not falsify the height computation.
  display: "flex",
  width: "100%"
}, e.orientation === "horizontal" && {
  width: "auto",
  height: "100%"
})), sR = U("div", {
  name: "MuiCollapse",
  slot: "WrapperInner",
  overridesResolver: (e, t) => t.wrapperInner
})(({
  ownerState: e
}) => m({
  width: "100%"
}, e.orientation === "horizontal" && {
  width: "auto",
  height: "100%"
})), Ru = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiCollapse"
  }), {
    addEndListener: a,
    children: i,
    className: s,
    collapsedSize: l = "0px",
    component: c,
    easing: u,
    in: p,
    onEnter: f,
    onEntered: g,
    onEntering: v,
    onExit: b,
    onExited: h,
    onExiting: y,
    orientation: C = "vertical",
    style: E,
    timeout: w = ch.standard,
    // eslint-disable-next-line react/prop-types
    TransitionComponent: T = qt
  } = r, O = oe(r, oR), P = m({}, r, {
    orientation: C,
    collapsedSize: l
  }), S = rR(P), $ = vn(), A = mo(), N = d.useRef(null), D = d.useRef(), V = typeof l == "number" ? `${l}px` : l, L = C === "horizontal", I = L ? "width" : "height", R = d.useRef(null), k = ze(o, R), F = (Y) => (Z) => {
    if (Y) {
      const H = R.current;
      Z === void 0 ? Y(H) : Y(H, Z);
    }
  }, M = () => N.current ? N.current[L ? "clientWidth" : "clientHeight"] : 0, B = F((Y, Z) => {
    N.current && L && (N.current.style.position = "absolute"), Y.style[I] = V, f && f(Y, Z);
  }), j = F((Y, Z) => {
    const H = M();
    N.current && L && (N.current.style.position = "");
    const {
      duration: K,
      easing: ne
    } = yo({
      style: E,
      timeout: w,
      easing: u
    }, {
      mode: "enter"
    });
    if (w === "auto") {
      const ae = $.transitions.getAutoHeightDuration(H);
      Y.style.transitionDuration = `${ae}ms`, D.current = ae;
    } else
      Y.style.transitionDuration = typeof K == "string" ? K : `${K}ms`;
    Y.style[I] = `${H}px`, Y.style.transitionTimingFunction = ne, v && v(Y, Z);
  }), W = F((Y, Z) => {
    Y.style[I] = "auto", g && g(Y, Z);
  }), re = F((Y) => {
    Y.style[I] = `${M()}px`, b && b(Y);
  }), J = F(h), Q = F((Y) => {
    const Z = M(), {
      duration: H,
      easing: K
    } = yo({
      style: E,
      timeout: w,
      easing: u
    }, {
      mode: "exit"
    });
    if (w === "auto") {
      const ne = $.transitions.getAutoHeightDuration(Z);
      Y.style.transitionDuration = `${ne}ms`, D.current = ne;
    } else
      Y.style.transitionDuration = typeof H == "string" ? H : `${H}ms`;
    Y.style[I] = V, Y.style.transitionTimingFunction = K, y && y(Y);
  });
  return /* @__PURE__ */ x(T, m({
    in: p,
    onEnter: B,
    onEntered: W,
    onEntering: j,
    onExit: re,
    onExited: J,
    onExiting: Q,
    addEndListener: (Y) => {
      w === "auto" && A.start(D.current || 0, Y), a && a(R.current, Y);
    },
    nodeRef: R,
    timeout: w === "auto" ? null : w
  }, O, {
    children: (Y, Z) => /* @__PURE__ */ x(aR, m({
      as: c,
      className: ce(S.root, s, {
        entered: S.entered,
        exited: !p && V === "0px" && S.hidden
      }[Y]),
      style: m({
        [L ? "minWidth" : "minHeight"]: V
      }, E),
      ref: k
    }, Z, {
      // `ownerState` is set after `childProps` to override any existing `ownerState` property in `childProps`
      // that might have been forwarded from the Transition component.
      ownerState: m({}, P, {
        state: Y
      }),
      children: /* @__PURE__ */ x(iR, {
        ownerState: m({}, P, {
          state: Y
        }),
        className: S.wrapper,
        ref: N,
        children: /* @__PURE__ */ x(sR, {
          ownerState: m({}, P, {
            state: Y
          }),
          className: S.wrapperInner,
          children: i
        })
      })
    }))
  }));
});
process.env.NODE_ENV !== "production" && (Ru.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Add a custom transition end trigger. Called with the transitioning DOM
   * node and a done callback. Allows for more fine grained transition end
   * logic. Note: Timeouts are still used as a fallback if provided.
   */
  addEndListener: n.func,
  /**
   * The content node to be collapsed.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The width (horizontal) or height (vertical) of the container when collapsed.
   * @default '0px'
   */
  collapsedSize: n.oneOfType([n.number, n.string]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: Nr,
  /**
   * The transition timing function.
   * You may specify a single easing or a object containing enter and exit values.
   */
  easing: n.oneOfType([n.shape({
    enter: n.string,
    exit: n.string
  }), n.string]),
  /**
   * If `true`, the component will transition in.
   */
  in: n.bool,
  /**
   * @ignore
   */
  onEnter: n.func,
  /**
   * @ignore
   */
  onEntered: n.func,
  /**
   * @ignore
   */
  onEntering: n.func,
  /**
   * @ignore
   */
  onExit: n.func,
  /**
   * @ignore
   */
  onExited: n.func,
  /**
   * @ignore
   */
  onExiting: n.func,
  /**
   * The transition orientation.
   * @default 'vertical'
   */
  orientation: n.oneOf(["horizontal", "vertical"]),
  /**
   * @ignore
   */
  style: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The duration for the transition, in milliseconds.
   * You may specify a single timeout for all transitions, or individually with an object.
   *
   * Set to 'auto' to automatically calculate transition time based on height.
   * @default duration.standard
   */
  timeout: n.oneOfType([n.oneOf(["auto"]), n.number, n.shape({
    appear: n.number,
    enter: n.number,
    exit: n.number
  })])
});
Ru.muiSupportAuto = !0;
const ku = /* @__PURE__ */ d.createContext({});
process.env.NODE_ENV !== "production" && (ku.displayName = "AccordionContext");
function lR(e) {
  return ye("MuiAccordion", e);
}
const ci = be("MuiAccordion", ["root", "rounded", "expanded", "disabled", "gutters", "region"]), cR = ["children", "className", "defaultExpanded", "disabled", "disableGutters", "expanded", "onChange", "square", "slots", "slotProps", "TransitionComponent", "TransitionProps"], uR = (e) => {
  const {
    classes: t,
    square: o,
    expanded: r,
    disabled: a,
    disableGutters: i
  } = e;
  return ve({
    root: ["root", !o && "rounded", r && "expanded", a && "disabled", !i && "gutters"],
    region: ["region"]
  }, lR, t);
}, dR = U($n, {
  name: "MuiAccordion",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [{
      [`& .${ci.region}`]: t.region
    }, t.root, !o.square && t.rounded, !o.disableGutters && t.gutters];
  }
})(({
  theme: e
}) => {
  const t = {
    duration: e.transitions.duration.shortest
  };
  return {
    position: "relative",
    transition: e.transitions.create(["margin"], t),
    overflowAnchor: "none",
    // Keep the same scrolling position
    "&::before": {
      position: "absolute",
      left: 0,
      top: -1,
      right: 0,
      height: 1,
      content: '""',
      opacity: 1,
      backgroundColor: (e.vars || e).palette.divider,
      transition: e.transitions.create(["opacity", "background-color"], t)
    },
    "&:first-of-type": {
      "&::before": {
        display: "none"
      }
    },
    [`&.${ci.expanded}`]: {
      "&::before": {
        opacity: 0
      },
      "&:first-of-type": {
        marginTop: 0
      },
      "&:last-of-type": {
        marginBottom: 0
      },
      "& + &": {
        "&::before": {
          display: "none"
        }
      }
    },
    [`&.${ci.disabled}`]: {
      backgroundColor: (e.vars || e).palette.action.disabledBackground
    }
  };
}, ({
  theme: e
}) => ({
  variants: [{
    props: (t) => !t.square,
    style: {
      borderRadius: 0,
      "&:first-of-type": {
        borderTopLeftRadius: (e.vars || e).shape.borderRadius,
        borderTopRightRadius: (e.vars || e).shape.borderRadius
      },
      "&:last-of-type": {
        borderBottomLeftRadius: (e.vars || e).shape.borderRadius,
        borderBottomRightRadius: (e.vars || e).shape.borderRadius,
        // Fix a rendering issue on Edge
        "@supports (-ms-ime-align: auto)": {
          borderBottomLeftRadius: 0,
          borderBottomRightRadius: 0
        }
      }
    }
  }, {
    props: (t) => !t.disableGutters,
    style: {
      [`&.${ci.expanded}`]: {
        margin: "16px 0"
      }
    }
  }]
})), Kg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiAccordion"
  }), {
    children: a,
    className: i,
    defaultExpanded: s = !1,
    disabled: l = !1,
    disableGutters: c = !1,
    expanded: u,
    onChange: p,
    square: f = !1,
    slots: g = {},
    slotProps: v = {},
    TransitionComponent: b,
    TransitionProps: h
  } = r, y = oe(r, cR), [C, E] = Vt({
    controlled: u,
    default: s,
    name: "Accordion",
    state: "expanded"
  }), w = d.useCallback((L) => {
    E(!C), p && p(L, !C);
  }, [C, p, E]), [T, ...O] = d.Children.toArray(a), P = d.useMemo(() => ({
    expanded: C,
    disabled: l,
    disableGutters: c,
    toggle: w
  }), [C, l, c, w]), S = m({}, r, {
    square: f,
    disabled: l,
    disableGutters: c,
    expanded: C
  }), $ = uR(S), A = m({
    transition: b
  }, g), N = m({
    transition: h
  }, v), [D, V] = Wi("transition", {
    elementType: Ru,
    externalForwardedProps: {
      slots: A,
      slotProps: N
    },
    ownerState: S
  });
  return /* @__PURE__ */ he(dR, m({
    className: ce($.root, i),
    ref: o,
    ownerState: S,
    square: f
  }, y, {
    children: [/* @__PURE__ */ x(ku.Provider, {
      value: P,
      children: T
    }), /* @__PURE__ */ x(D, m({
      in: C,
      timeout: "auto"
    }, V, {
      children: /* @__PURE__ */ x("div", {
        "aria-labelledby": T.props.id,
        id: T.props["aria-controls"],
        role: "region",
        className: $.region,
        children: O
      })
    }))]
  }));
});
process.env.NODE_ENV !== "production" && (Kg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: Jt(n.node.isRequired, (e) => {
    const t = d.Children.toArray(e.children)[0];
    return Vn.isFragment(t) ? new Error("MUI: The Accordion doesn't accept a Fragment as a child. Consider providing an array instead.") : /* @__PURE__ */ d.isValidElement(t) ? null : new Error("MUI: Expected the first child of Accordion to be a valid element.");
  }),
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * If `true`, expands the accordion by default.
   * @default false
   */
  defaultExpanded: n.bool,
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, it removes the margin between two expanded accordion items and the increase of height.
   * @default false
   */
  disableGutters: n.bool,
  /**
   * If `true`, expands the accordion, otherwise collapse it.
   * Setting this prop enables control over the accordion.
   */
  expanded: n.bool,
  /**
   * Callback fired when the expand/collapse state is changed.
   *
   * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.
   * @param {boolean} expanded The `expanded` state of the accordion.
   */
  onChange: n.func,
  /**
   * The props used for each slot inside.
   * @default {}
   */
  slotProps: n.shape({
    transition: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside.
   * @default {}
   */
  slots: n.shape({
    transition: n.elementType
  }),
  /**
   * If `true`, rounded corners are disabled.
   * @default false
   */
  square: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The component used for the transition.
   * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
   * @deprecated Use `slots.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
   */
  TransitionComponent: n.elementType,
  /**
   * Props applied to the transition element.
   * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
   * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
   */
  TransitionProps: n.object
});
function pR(e) {
  return ye("MuiAccordionDetails", e);
}
be("MuiAccordionDetails", ["root"]);
const fR = ["className"], mR = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, pR, t);
}, hR = U("div", {
  name: "MuiAccordionDetails",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})(({
  theme: e
}) => ({
  padding: e.spacing(1, 2, 2)
})), Gg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiAccordionDetails"
  }), {
    className: a
  } = r, i = oe(r, fR), s = r, l = mR(s);
  return /* @__PURE__ */ x(hR, m({
    className: ce(l.root, a),
    ref: o,
    ownerState: s
  }, i));
});
process.env.NODE_ENV !== "production" && (Gg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function gR(e) {
  return ye("MuiAccordionSummary", e);
}
const ur = be("MuiAccordionSummary", ["root", "expanded", "focusVisible", "disabled", "gutters", "contentGutters", "content", "expandIconWrapper"]), bR = ["children", "className", "expandIcon", "focusVisibleClassName", "onClick"], yR = (e) => {
  const {
    classes: t,
    expanded: o,
    disabled: r,
    disableGutters: a
  } = e;
  return ve({
    root: ["root", o && "expanded", r && "disabled", !a && "gutters"],
    focusVisible: ["focusVisible"],
    content: ["content", o && "expanded", !a && "contentGutters"],
    expandIconWrapper: ["expandIconWrapper", o && "expanded"]
  }, gR, t);
}, vR = U(Ht, {
  name: "MuiAccordionSummary",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})(({
  theme: e
}) => {
  const t = {
    duration: e.transitions.duration.shortest
  };
  return {
    display: "flex",
    minHeight: 48,
    padding: e.spacing(0, 2),
    transition: e.transitions.create(["min-height", "background-color"], t),
    [`&.${ur.focusVisible}`]: {
      backgroundColor: (e.vars || e).palette.action.focus
    },
    [`&.${ur.disabled}`]: {
      opacity: (e.vars || e).palette.action.disabledOpacity
    },
    [`&:hover:not(.${ur.disabled})`]: {
      cursor: "pointer"
    },
    variants: [{
      props: (o) => !o.disableGutters,
      style: {
        [`&.${ur.expanded}`]: {
          minHeight: 64
        }
      }
    }]
  };
}), xR = U("div", {
  name: "MuiAccordionSummary",
  slot: "Content",
  overridesResolver: (e, t) => t.content
})(({
  theme: e
}) => ({
  display: "flex",
  flexGrow: 1,
  margin: "12px 0",
  variants: [{
    props: (t) => !t.disableGutters,
    style: {
      transition: e.transitions.create(["margin"], {
        duration: e.transitions.duration.shortest
      }),
      [`&.${ur.expanded}`]: {
        margin: "20px 0"
      }
    }
  }]
})), CR = U("div", {
  name: "MuiAccordionSummary",
  slot: "ExpandIconWrapper",
  overridesResolver: (e, t) => t.expandIconWrapper
})(({
  theme: e
}) => ({
  display: "flex",
  color: (e.vars || e).palette.action.active,
  transform: "rotate(0deg)",
  transition: e.transitions.create("transform", {
    duration: e.transitions.duration.shortest
  }),
  [`&.${ur.expanded}`]: {
    transform: "rotate(180deg)"
  }
})), Xg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiAccordionSummary"
  }), {
    children: a,
    className: i,
    expandIcon: s,
    focusVisibleClassName: l,
    onClick: c
  } = r, u = oe(r, bR), {
    disabled: p = !1,
    disableGutters: f,
    expanded: g,
    toggle: v
  } = d.useContext(ku), b = (C) => {
    v && v(C), c && c(C);
  }, h = m({}, r, {
    expanded: g,
    disabled: p,
    disableGutters: f
  }), y = yR(h);
  return /* @__PURE__ */ he(vR, m({
    focusRipple: !1,
    disableRipple: !0,
    disabled: p,
    component: "div",
    "aria-expanded": g,
    className: ce(y.root, i),
    focusVisibleClassName: ce(y.focusVisible, l),
    onClick: b,
    ref: o,
    ownerState: h
  }, u, {
    children: [/* @__PURE__ */ x(xR, {
      className: y.content,
      ownerState: h,
      children: a
    }), s && /* @__PURE__ */ x(CR, {
      className: y.expandIconWrapper,
      ownerState: h,
      children: s
    })]
  }));
});
process.env.NODE_ENV !== "production" && (Xg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The icon to display as the expand indicator.
   */
  expandIcon: n.node,
  /**
   * This prop can help identify which element has keyboard focus.
   * The class name will be applied when the element gains the focus through keyboard interaction.
   * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
   * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
   * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
   * if needed.
   */
  focusVisibleClassName: n.string,
  /**
   * @ignore
   */
  onClick: n.func,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function TR(e) {
  return ye("MuiAppBar", e);
}
be("MuiAppBar", ["root", "positionFixed", "positionAbsolute", "positionSticky", "positionStatic", "positionRelative", "colorDefault", "colorPrimary", "colorSecondary", "colorInherit", "colorTransparent", "colorError", "colorInfo", "colorSuccess", "colorWarning"]);
const wR = ["className", "color", "enableColorOnDark", "position"], OR = (e) => {
  const {
    color: t,
    position: o,
    classes: r
  } = e, a = {
    root: ["root", `color${ee(t)}`, `position${ee(o)}`]
  };
  return ve(a, TR, r);
}, ui = (e, t) => e ? `${e == null ? void 0 : e.replace(")", "")}, ${t})` : t, ER = U($n, {
  name: "MuiAppBar",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[`position${ee(o.position)}`], t[`color${ee(o.color)}`]];
  }
})(({
  theme: e,
  ownerState: t
}) => {
  const o = e.palette.mode === "light" ? e.palette.grey[100] : e.palette.grey[900];
  return m({
    display: "flex",
    flexDirection: "column",
    width: "100%",
    boxSizing: "border-box",
    // Prevent padding issue with the Modal and fixed positioned AppBar.
    flexShrink: 0
  }, t.position === "fixed" && {
    position: "fixed",
    zIndex: (e.vars || e).zIndex.appBar,
    top: 0,
    left: "auto",
    right: 0,
    "@media print": {
      // Prevent the app bar to be visible on each printed page.
      position: "absolute"
    }
  }, t.position === "absolute" && {
    position: "absolute",
    zIndex: (e.vars || e).zIndex.appBar,
    top: 0,
    left: "auto",
    right: 0
  }, t.position === "sticky" && {
    // ⚠️ sticky is not supported by IE11.
    position: "sticky",
    zIndex: (e.vars || e).zIndex.appBar,
    top: 0,
    left: "auto",
    right: 0
  }, t.position === "static" && {
    position: "static"
  }, t.position === "relative" && {
    position: "relative"
  }, !e.vars && m({}, t.color === "default" && {
    backgroundColor: o,
    color: e.palette.getContrastText(o)
  }, t.color && t.color !== "default" && t.color !== "inherit" && t.color !== "transparent" && {
    backgroundColor: e.palette[t.color].main,
    color: e.palette[t.color].contrastText
  }, t.color === "inherit" && {
    color: "inherit"
  }, e.palette.mode === "dark" && !t.enableColorOnDark && {
    backgroundColor: null,
    color: null
  }, t.color === "transparent" && m({
    backgroundColor: "transparent",
    color: "inherit"
  }, e.palette.mode === "dark" && {
    backgroundImage: "none"
  })), e.vars && m({}, t.color === "default" && {
    "--AppBar-background": t.enableColorOnDark ? e.vars.palette.AppBar.defaultBg : ui(e.vars.palette.AppBar.darkBg, e.vars.palette.AppBar.defaultBg),
    "--AppBar-color": t.enableColorOnDark ? e.vars.palette.text.primary : ui(e.vars.palette.AppBar.darkColor, e.vars.palette.text.primary)
  }, t.color && !t.color.match(/^(default|inherit|transparent)$/) && {
    "--AppBar-background": t.enableColorOnDark ? e.vars.palette[t.color].main : ui(e.vars.palette.AppBar.darkBg, e.vars.palette[t.color].main),
    "--AppBar-color": t.enableColorOnDark ? e.vars.palette[t.color].contrastText : ui(e.vars.palette.AppBar.darkColor, e.vars.palette[t.color].contrastText)
  }, !["inherit", "transparent"].includes(t.color) && {
    backgroundColor: "var(--AppBar-background)"
  }, {
    color: t.color === "inherit" ? "inherit" : "var(--AppBar-color)"
  }, t.color === "transparent" && {
    backgroundImage: "none",
    backgroundColor: "transparent",
    color: "inherit"
  }));
}), Mu = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiAppBar"
  }), {
    className: a,
    color: i = "primary",
    enableColorOnDark: s = !1,
    position: l = "fixed"
  } = r, c = oe(r, wR), u = m({}, r, {
    color: i,
    position: l,
    enableColorOnDark: s
  }), p = OR(u);
  return /* @__PURE__ */ x(ER, m({
    square: !0,
    component: "header",
    ownerState: u,
    elevation: 4,
    className: ce(p.root, a, l === "fixed" && "mui-fixed"),
    ref: o
  }, c));
});
process.env.NODE_ENV !== "production" && (Mu.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOfType([n.oneOf(["default", "inherit", "primary", "secondary", "transparent", "error", "info", "success", "warning"]), n.string]),
  /**
   * If true, the `color` prop is applied in dark mode.
   * @default false
   */
  enableColorOnDark: n.bool,
  /**
   * The positioning type. The behavior of the different options is described
   * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning).
   * Note: `sticky` is not universally supported and will fall back to `static` when unavailable.
   * @default 'fixed'
   */
  position: n.oneOf(["absolute", "fixed", "relative", "static", "sticky"]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
const SR = nt(/* @__PURE__ */ x("path", {
  d: "M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"
}), "MoreHoriz"), PR = ["slots", "slotProps"], RR = U(Ht, {
  name: "MuiBreadcrumbCollapsed"
})(({
  theme: e
}) => m({
  display: "flex",
  marginLeft: `calc(${e.spacing(1)} * 0.5)`,
  marginRight: `calc(${e.spacing(1)} * 0.5)`
}, e.palette.mode === "light" ? {
  backgroundColor: e.palette.grey[100],
  color: e.palette.grey[700]
} : {
  backgroundColor: e.palette.grey[700],
  color: e.palette.grey[100]
}, {
  borderRadius: 2,
  "&:hover, &:focus": m({}, e.palette.mode === "light" ? {
    backgroundColor: e.palette.grey[200]
  } : {
    backgroundColor: e.palette.grey[600]
  }),
  "&:active": m({
    boxShadow: e.shadows[0]
  }, e.palette.mode === "light" ? {
    backgroundColor: Ql(e.palette.grey[200], 0.12)
  } : {
    backgroundColor: Ql(e.palette.grey[600], 0.12)
  })
})), kR = U(SR)({
  width: 24,
  height: 16
});
function Zg(e) {
  const {
    slots: t = {},
    slotProps: o = {}
  } = e, r = oe(e, PR), a = e;
  return /* @__PURE__ */ x("li", {
    children: /* @__PURE__ */ x(RR, m({
      focusRipple: !0
    }, r, {
      ownerState: a,
      children: /* @__PURE__ */ x(kR, m({
        as: t.CollapsedIcon,
        ownerState: a
      }, o.collapsedIcon))
    }))
  });
}
process.env.NODE_ENV !== "production" && (Zg.propTypes = {
  /**
   * The props used for the CollapsedIcon slot.
   * @default {}
   */
  slotProps: n.shape({
    collapsedIcon: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside the BreadcumbCollapsed.
   * Either a string to use a HTML element or a component.
   * @default {}
   */
  slots: n.shape({
    CollapsedIcon: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.object
});
function MR(e) {
  return ye("MuiBreadcrumbs", e);
}
const $R = be("MuiBreadcrumbs", ["root", "ol", "li", "separator"]), DR = ["children", "className", "component", "slots", "slotProps", "expandText", "itemsAfterCollapse", "itemsBeforeCollapse", "maxItems", "separator"], IR = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    li: ["li"],
    ol: ["ol"],
    separator: ["separator"]
  }, MR, t);
}, NR = U(Le, {
  name: "MuiBreadcrumbs",
  slot: "Root",
  overridesResolver: (e, t) => [{
    [`& .${$R.li}`]: t.li
  }, t.root]
})({}), _R = U("ol", {
  name: "MuiBreadcrumbs",
  slot: "Ol",
  overridesResolver: (e, t) => t.ol
})({
  display: "flex",
  flexWrap: "wrap",
  alignItems: "center",
  padding: 0,
  margin: 0,
  listStyle: "none"
}), AR = U("li", {
  name: "MuiBreadcrumbs",
  slot: "Separator",
  overridesResolver: (e, t) => t.separator
})({
  display: "flex",
  userSelect: "none",
  marginLeft: 8,
  marginRight: 8
});
function LR(e, t, o, r) {
  return e.reduce((a, i, s) => (s < e.length - 1 ? a = a.concat(i, /* @__PURE__ */ x(AR, {
    "aria-hidden": !0,
    className: t,
    ownerState: r,
    children: o
  }, `separator-${s}`)) : a.push(i), a), []);
}
const Qg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiBreadcrumbs"
  }), {
    children: a,
    className: i,
    component: s = "nav",
    slots: l = {},
    slotProps: c = {},
    expandText: u = "Show path",
    itemsAfterCollapse: p = 1,
    itemsBeforeCollapse: f = 1,
    maxItems: g = 8,
    separator: v = "/"
  } = r, b = oe(r, DR), [h, y] = d.useState(!1), C = m({}, r, {
    component: s,
    expanded: h,
    expandText: u,
    itemsAfterCollapse: p,
    itemsBeforeCollapse: f,
    maxItems: g,
    separator: v
  }), E = IR(C), w = $e({
    elementType: l.CollapsedIcon,
    externalSlotProps: c.collapsedIcon,
    ownerState: C
  }), T = d.useRef(null), O = (S) => {
    const $ = () => {
      y(!0);
      const A = T.current.querySelector("a[href],button,[tabindex]");
      A && A.focus();
    };
    return f + p >= S.length ? (process.env.NODE_ENV !== "production" && console.error(["MUI: You have provided an invalid combination of props to the Breadcrumbs.", `itemsAfterCollapse={${p}} + itemsBeforeCollapse={${f}} >= maxItems={${g}}`].join(`
`)), S) : [...S.slice(0, f), /* @__PURE__ */ x(Zg, {
      "aria-label": u,
      slots: {
        CollapsedIcon: l.CollapsedIcon
      },
      slotProps: {
        collapsedIcon: w
      },
      onClick: $
    }, "ellipsis"), ...S.slice(S.length - p, S.length)];
  }, P = d.Children.toArray(a).filter((S) => (process.env.NODE_ENV !== "production" && Vn.isFragment(S) && console.error(["MUI: The Breadcrumbs component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
`)), /* @__PURE__ */ d.isValidElement(S))).map((S, $) => /* @__PURE__ */ x("li", {
    className: E.li,
    children: S
  }, `child-${$}`));
  return /* @__PURE__ */ x(NR, m({
    ref: o,
    component: s,
    color: "text.secondary",
    className: ce(E.root, i),
    ownerState: C
  }, b, {
    children: /* @__PURE__ */ x(_R, {
      className: E.ol,
      ref: T,
      ownerState: C,
      children: LR(h || g && P.length <= g ? P : O(P), E.separator, v, C)
    })
  }));
});
process.env.NODE_ENV !== "production" && (Qg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * Override the default label for the expand button.
   *
   * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).
   * @default 'Show path'
   */
  expandText: n.string,
  /**
   * If max items is exceeded, the number of items to show after the ellipsis.
   * @default 1
   */
  itemsAfterCollapse: Pn,
  /**
   * If max items is exceeded, the number of items to show before the ellipsis.
   * @default 1
   */
  itemsBeforeCollapse: Pn,
  /**
   * Specifies the maximum number of breadcrumbs to display. When there are more
   * than the maximum number, only the first `itemsBeforeCollapse` and last `itemsAfterCollapse`
   * will be shown, with an ellipsis in between.
   * @default 8
   */
  maxItems: Pn,
  /**
   * Custom separator node.
   * @default '/'
   */
  separator: n.node,
  /**
   * The props used for each slot inside the Breadcumb.
   * @default {}
   */
  slotProps: n.shape({
    collapsedIcon: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside the Breadcumb.
   * Either a string to use a HTML element or a component.
   * @default {}
   */
  slots: n.shape({
    CollapsedIcon: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function FR(e) {
  return ye("MuiCircularProgress", e);
}
be("MuiCircularProgress", ["root", "determinate", "indeterminate", "colorPrimary", "colorSecondary", "svg", "circle", "circleDeterminate", "circleIndeterminate", "circleDisableShrink"]);
const jR = ["className", "color", "disableShrink", "size", "style", "thickness", "value", "variant"];
let Xs = (e) => e, hf, gf, bf, yf;
const uo = 44, VR = eo(hf || (hf = Xs`
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
`)), zR = eo(gf || (gf = Xs`
  0% {
    stroke-dasharray: 1px, 200px;
    stroke-dashoffset: 0;
  }

  50% {
    stroke-dasharray: 100px, 200px;
    stroke-dashoffset: -15px;
  }

  100% {
    stroke-dasharray: 100px, 200px;
    stroke-dashoffset: -125px;
  }
`)), BR = (e) => {
  const {
    classes: t,
    variant: o,
    color: r,
    disableShrink: a
  } = e, i = {
    root: ["root", o, `color${ee(r)}`],
    svg: ["svg"],
    circle: ["circle", `circle${ee(o)}`, a && "circleDisableShrink"]
  };
  return ve(i, FR, t);
}, WR = U("span", {
  name: "MuiCircularProgress",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[o.variant], t[`color${ee(o.color)}`]];
  }
})(({
  ownerState: e,
  theme: t
}) => m({
  display: "inline-block"
}, e.variant === "determinate" && {
  transition: t.transitions.create("transform")
}, e.color !== "inherit" && {
  color: (t.vars || t).palette[e.color].main
}), ({
  ownerState: e
}) => e.variant === "indeterminate" && qo(bf || (bf = Xs`
      animation: ${0} 1.4s linear infinite;
    `), VR)), UR = U("svg", {
  name: "MuiCircularProgress",
  slot: "Svg",
  overridesResolver: (e, t) => t.svg
})({
  display: "block"
  // Keeps the progress centered
}), HR = U("circle", {
  name: "MuiCircularProgress",
  slot: "Circle",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.circle, t[`circle${ee(o.variant)}`], o.disableShrink && t.circleDisableShrink];
  }
})(({
  ownerState: e,
  theme: t
}) => m({
  stroke: "currentColor"
}, e.variant === "determinate" && {
  transition: t.transitions.create("stroke-dashoffset")
}, e.variant === "indeterminate" && {
  // Some default value that looks fine waiting for the animation to kicks in.
  strokeDasharray: "80px, 200px",
  strokeDashoffset: 0
  // Add the unit to fix a Edge 16 and below bug.
}), ({
  ownerState: e
}) => e.variant === "indeterminate" && !e.disableShrink && qo(yf || (yf = Xs`
      animation: ${0} 1.4s ease-in-out infinite;
    `), zR)), Jg = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiCircularProgress"
  }), {
    className: a,
    color: i = "primary",
    disableShrink: s = !1,
    size: l = 40,
    style: c,
    thickness: u = 3.6,
    value: p = 0,
    variant: f = "indeterminate"
  } = r, g = oe(r, jR), v = m({}, r, {
    color: i,
    disableShrink: s,
    size: l,
    thickness: u,
    value: p,
    variant: f
  }), b = BR(v), h = {}, y = {}, C = {};
  if (f === "determinate") {
    const E = 2 * Math.PI * ((uo - u) / 2);
    h.strokeDasharray = E.toFixed(3), C["aria-valuenow"] = Math.round(p), h.strokeDashoffset = `${((100 - p) / 100 * E).toFixed(3)}px`, y.transform = "rotate(-90deg)";
  }
  return /* @__PURE__ */ x(WR, m({
    className: ce(b.root, a),
    style: m({
      width: l,
      height: l
    }, y, c),
    ownerState: v,
    ref: o,
    role: "progressbar"
  }, C, g, {
    children: /* @__PURE__ */ x(UR, {
      className: b.svg,
      ownerState: v,
      viewBox: `${uo / 2} ${uo / 2} ${uo} ${uo}`,
      children: /* @__PURE__ */ x(HR, {
        className: b.circle,
        style: h,
        ownerState: v,
        cx: uo,
        cy: uo,
        r: (uo - u) / 2,
        fill: "none",
        strokeWidth: u
      })
    })
  }));
});
process.env.NODE_ENV !== "production" && (Jg.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOfType([n.oneOf(["inherit", "primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * If `true`, the shrink animation is disabled.
   * This only works if variant is `indeterminate`.
   * @default false
   */
  disableShrink: Jt(n.bool, (e) => e.disableShrink && e.variant && e.variant !== "indeterminate" ? new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect.") : null),
  /**
   * The size of the component.
   * If using a number, the pixel unit is assumed.
   * If using a string, you need to provide the CSS unit, for example '3rem'.
   * @default 40
   */
  size: n.oneOfType([n.number, n.string]),
  /**
   * @ignore
   */
  style: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The thickness of the circle.
   * @default 3.6
   */
  thickness: n.number,
  /**
   * The value of the progress indicator for the determinate variant.
   * Value between 0 and 100.
   * @default 0
   */
  value: n.number,
  /**
   * The variant to use.
   * Use indeterminate when there is no progress value.
   * @default 'indeterminate'
   */
  variant: n.oneOf(["determinate", "indeterminate"])
});
function vf(e) {
  return e.substring(2).toLowerCase();
}
function qR(e, t) {
  return t.documentElement.clientWidth < e.clientX || t.documentElement.clientHeight < e.clientY;
}
function Qi(e) {
  const {
    children: t,
    disableReactTree: o = !1,
    mouseEvent: r = "onClick",
    onClickAway: a,
    touchEvent: i = "onTouchEnd"
  } = e, s = d.useRef(!1), l = d.useRef(null), c = d.useRef(!1), u = d.useRef(!1);
  d.useEffect(() => (setTimeout(() => {
    c.current = !0;
  }, 0), () => {
    c.current = !1;
  }), []);
  const p = ze(Co(t), l), f = Ce((b) => {
    const h = u.current;
    u.current = !1;
    const y = lt(l.current);
    if (!c.current || !l.current || "clientX" in b && qR(b, y))
      return;
    if (s.current) {
      s.current = !1;
      return;
    }
    let C;
    b.composedPath ? C = b.composedPath().indexOf(l.current) > -1 : C = !y.documentElement.contains(
      // @ts-expect-error returns `false` as intended when not dispatched from a Node
      b.target
    ) || l.current.contains(
      // @ts-expect-error returns `false` as intended when not dispatched from a Node
      b.target
    ), !C && (o || !h) && a(b);
  }), g = (b) => (h) => {
    u.current = !0;
    const y = t.props[b];
    y && y(h);
  }, v = {
    ref: p
  };
  return i !== !1 && (v[i] = g(i)), d.useEffect(() => {
    if (i !== !1) {
      const b = vf(i), h = lt(l.current), y = () => {
        s.current = !0;
      };
      return h.addEventListener(b, f), h.addEventListener("touchmove", y), () => {
        h.removeEventListener(b, f), h.removeEventListener("touchmove", y);
      };
    }
  }, [f, i]), r !== !1 && (v[r] = g(r)), d.useEffect(() => {
    if (r !== !1) {
      const b = vf(r), h = lt(l.current);
      return h.addEventListener(b, f), () => {
        h.removeEventListener(b, f);
      };
    }
  }, [f, r]), /* @__PURE__ */ x(d.Fragment, {
    children: /* @__PURE__ */ d.cloneElement(t, v)
  });
}
process.env.NODE_ENV !== "production" && (Qi.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The wrapped element.
   */
  children: xo.isRequired,
  /**
   * If `true`, the React tree is ignored and only the DOM tree is considered.
   * This prop changes how portaled elements are handled.
   * @default false
   */
  disableReactTree: n.bool,
  /**
   * The mouse event to listen to. You can disable the listener by providing `false`.
   * @default 'onClick'
   */
  mouseEvent: n.oneOf(["onClick", "onMouseDown", "onMouseUp", "onPointerDown", "onPointerUp", !1]),
  /**
   * Callback fired when a "click away" event is detected.
   */
  onClickAway: n.func.isRequired,
  /**
   * The touch event to listen to. You can disable the listener by providing `false`.
   * @default 'onTouchEnd'
   */
  touchEvent: n.oneOf(["onTouchEnd", "onTouchStart", !1])
});
process.env.NODE_ENV !== "production" && (Qi.propTypes = Da(Qi.propTypes));
const YR = ["className", "id"], KR = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, FP, t);
}, GR = U(Le, {
  name: "MuiDialogTitle",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  padding: "16px 24px",
  flex: "0 0 auto"
}), eb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiDialogTitle"
  }), {
    className: a,
    id: i
  } = r, s = oe(r, YR), l = r, c = KR(l), {
    titleId: u = i
  } = d.useContext(Su);
  return /* @__PURE__ */ x(GR, m({
    component: "h2",
    className: ce(c.root, a),
    ownerState: l,
    ref: o,
    variant: "h6",
    id: i ?? u
  }, s));
});
process.env.NODE_ENV !== "production" && (eb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * @ignore
   */
  id: n.string,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
const xf = be("MuiDivider", ["root", "absolute", "fullWidth", "inset", "middle", "flexItem", "light", "vertical", "withChildren", "withChildrenVertical", "textAlignRight", "textAlignLeft", "wrapper", "wrapperVertical"]), XR = ["addEndListener", "appear", "children", "container", "direction", "easing", "in", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "style", "timeout", "TransitionComponent"];
function ZR(e, t, o) {
  const r = t.getBoundingClientRect(), a = o && o.getBoundingClientRect(), i = pn(t);
  let s;
  if (t.fakeTransform)
    s = t.fakeTransform;
  else {
    const u = i.getComputedStyle(t);
    s = u.getPropertyValue("-webkit-transform") || u.getPropertyValue("transform");
  }
  let l = 0, c = 0;
  if (s && s !== "none" && typeof s == "string") {
    const u = s.split("(")[1].split(")")[0].split(",");
    l = parseInt(u[4], 10), c = parseInt(u[5], 10);
  }
  return e === "left" ? a ? `translateX(${a.right + l - r.left}px)` : `translateX(${i.innerWidth + l - r.left}px)` : e === "right" ? a ? `translateX(-${r.right - a.left - l}px)` : `translateX(-${r.left + r.width - l}px)` : e === "up" ? a ? `translateY(${a.bottom + c - r.top}px)` : `translateY(${i.innerHeight + c - r.top}px)` : a ? `translateY(-${r.top - a.top + r.height - c}px)` : `translateY(-${r.top + r.height - c}px)`;
}
function tb(e) {
  return typeof e == "function" ? e() : e;
}
function di(e, t, o) {
  const r = tb(o), a = ZR(e, t, r);
  a && (t.style.webkitTransform = a, t.style.transform = a);
}
const nb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = vn(), a = {
    enter: r.transitions.easing.easeOut,
    exit: r.transitions.easing.sharp
  }, i = {
    enter: r.transitions.duration.enteringScreen,
    exit: r.transitions.duration.leavingScreen
  }, {
    addEndListener: s,
    appear: l = !0,
    children: c,
    container: u,
    direction: p = "down",
    easing: f = a,
    in: g,
    onEnter: v,
    onEntered: b,
    onEntering: h,
    onExit: y,
    onExited: C,
    onExiting: E,
    style: w,
    timeout: T = i,
    // eslint-disable-next-line react/prop-types
    TransitionComponent: O = qt
  } = t, P = oe(t, XR), S = d.useRef(null), $ = ze(Co(c), S, o), A = (M) => (B) => {
    M && (B === void 0 ? M(S.current) : M(S.current, B));
  }, N = A((M, B) => {
    di(p, M, u), Qc(M), v && v(M, B);
  }), D = A((M, B) => {
    const j = yo({
      timeout: T,
      style: w,
      easing: f
    }, {
      mode: "enter"
    });
    M.style.webkitTransition = r.transitions.create("-webkit-transform", m({}, j)), M.style.transition = r.transitions.create("transform", m({}, j)), M.style.webkitTransform = "none", M.style.transform = "none", h && h(M, B);
  }), V = A(b), L = A(E), I = A((M) => {
    const B = yo({
      timeout: T,
      style: w,
      easing: f
    }, {
      mode: "exit"
    });
    M.style.webkitTransition = r.transitions.create("-webkit-transform", B), M.style.transition = r.transitions.create("transform", B), di(p, M, u), y && y(M);
  }), R = A((M) => {
    M.style.webkitTransition = "", M.style.transition = "", C && C(M);
  }), k = (M) => {
    s && s(S.current, M);
  }, F = d.useCallback(() => {
    S.current && di(p, S.current, u);
  }, [p, u]);
  return d.useEffect(() => {
    if (g || p === "down" || p === "right")
      return;
    const M = _r(() => {
      S.current && di(p, S.current, u);
    }), B = pn(S.current);
    return B.addEventListener("resize", M), () => {
      M.clear(), B.removeEventListener("resize", M);
    };
  }, [p, g, u]), d.useEffect(() => {
    g || F();
  }, [g, F]), /* @__PURE__ */ x(O, m({
    nodeRef: S,
    onEnter: N,
    onEntered: V,
    onEntering: D,
    onExit: I,
    onExited: R,
    onExiting: L,
    addEndListener: k,
    appear: l,
    in: g,
    timeout: T
  }, P, {
    children: (M, B) => /* @__PURE__ */ d.cloneElement(c, m({
      ref: $,
      style: m({
        visibility: M === "exited" && !g ? "hidden" : void 0
      }, w, c.props.style)
    }, B))
  }));
});
process.env.NODE_ENV !== "production" && (nb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Add a custom transition end trigger. Called with the transitioning DOM
   * node and a done callback. Allows for more fine grained transition end
   * logic. Note: Timeouts are still used as a fallback if provided.
   */
  addEndListener: n.func,
  /**
   * Perform the enter transition when it first mounts if `in` is also `true`.
   * Set this to `false` to disable this behavior.
   * @default true
   */
  appear: n.bool,
  /**
   * A single child content element.
   */
  children: xo.isRequired,
  /**
   * An HTML element, or a function that returns one.
   * It's used to set the container the Slide is transitioning from.
   */
  container: Jt(n.oneOfType([zn, n.func]), (e) => {
    if (e.open) {
      const t = tb(e.container);
      if (t && t.nodeType === 1) {
        const o = t.getBoundingClientRect();
        if (process.env.NODE_ENV !== "test" && o.top === 0 && o.left === 0 && o.right === 0 && o.bottom === 0)
          return new Error(["MUI: The `container` prop provided to the component is invalid.", "The anchor element should be part of the document layout.", "Make sure the element is present in the document or that it's not display none."].join(`
`));
      } else if (!t || typeof t.getBoundingClientRect != "function" || t.contextElement != null && t.contextElement.nodeType !== 1)
        return new Error(["MUI: The `container` prop provided to the component is invalid.", "It should be an HTML element instance."].join(`
`));
    }
    return null;
  }),
  /**
   * Direction the child node will enter from.
   * @default 'down'
   */
  direction: n.oneOf(["down", "left", "right", "up"]),
  /**
   * The transition timing function.
   * You may specify a single easing or a object containing enter and exit values.
   * @default {
   *   enter: theme.transitions.easing.easeOut,
   *   exit: theme.transitions.easing.sharp,
   * }
   */
  easing: n.oneOfType([n.shape({
    enter: n.string,
    exit: n.string
  }), n.string]),
  /**
   * If `true`, the component will transition in.
   */
  in: n.bool,
  /**
   * @ignore
   */
  onEnter: n.func,
  /**
   * @ignore
   */
  onEntered: n.func,
  /**
   * @ignore
   */
  onEntering: n.func,
  /**
   * @ignore
   */
  onExit: n.func,
  /**
   * @ignore
   */
  onExited: n.func,
  /**
   * @ignore
   */
  onExiting: n.func,
  /**
   * @ignore
   */
  style: n.object,
  /**
   * The duration for the transition, in milliseconds.
   * You may specify a single timeout for all transitions, or individually with an object.
   * @default {
   *   enter: theme.transitions.duration.enteringScreen,
   *   exit: theme.transitions.duration.leavingScreen,
   * }
   */
  timeout: n.oneOfType([n.number, n.shape({
    appear: n.number,
    enter: n.number,
    exit: n.number
  })])
});
function QR(e) {
  return ye("MuiDrawer", e);
}
be("MuiDrawer", ["root", "docked", "paper", "paperAnchorLeft", "paperAnchorRight", "paperAnchorTop", "paperAnchorBottom", "paperAnchorDockedLeft", "paperAnchorDockedRight", "paperAnchorDockedTop", "paperAnchorDockedBottom", "modal"]);
const JR = ["BackdropProps"], ek = ["anchor", "BackdropProps", "children", "className", "elevation", "hideBackdrop", "ModalProps", "onClose", "open", "PaperProps", "SlideProps", "TransitionComponent", "transitionDuration", "variant"], ob = (e, t) => {
  const {
    ownerState: o
  } = e;
  return [t.root, (o.variant === "permanent" || o.variant === "persistent") && t.docked, t.modal];
}, tk = (e) => {
  const {
    classes: t,
    anchor: o,
    variant: r
  } = e, a = {
    root: ["root"],
    docked: [(r === "permanent" || r === "persistent") && "docked"],
    modal: ["modal"],
    paper: ["paper", `paperAnchor${ee(o)}`, r !== "temporary" && `paperAnchorDocked${ee(o)}`]
  };
  return ve(a, QR, t);
}, nk = U(Ls, {
  name: "MuiDrawer",
  slot: "Root",
  overridesResolver: ob
})(({
  theme: e
}) => ({
  zIndex: (e.vars || e).zIndex.drawer
})), Cf = U("div", {
  shouldForwardProp: _t,
  name: "MuiDrawer",
  slot: "Docked",
  skipVariantsResolver: !1,
  overridesResolver: ob
})({
  flex: "0 0 auto"
}), ok = U($n, {
  name: "MuiDrawer",
  slot: "Paper",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.paper, t[`paperAnchor${ee(o.anchor)}`], o.variant !== "temporary" && t[`paperAnchorDocked${ee(o.anchor)}`]];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  overflowY: "auto",
  display: "flex",
  flexDirection: "column",
  height: "100%",
  flex: "1 0 auto",
  zIndex: (e.vars || e).zIndex.drawer,
  // Add iOS momentum scrolling for iOS < 13.0
  WebkitOverflowScrolling: "touch",
  // temporary style
  position: "fixed",
  top: 0,
  // We disable the focus ring for mouse, touch and keyboard users.
  // At some point, it would be better to keep it for keyboard users.
  // :focus-ring CSS pseudo-class will help.
  outline: 0
}, t.anchor === "left" && {
  left: 0
}, t.anchor === "top" && {
  top: 0,
  left: 0,
  right: 0,
  height: "auto",
  maxHeight: "100%"
}, t.anchor === "right" && {
  right: 0
}, t.anchor === "bottom" && {
  top: "auto",
  left: 0,
  bottom: 0,
  right: 0,
  height: "auto",
  maxHeight: "100%"
}, t.anchor === "left" && t.variant !== "temporary" && {
  borderRight: `1px solid ${(e.vars || e).palette.divider}`
}, t.anchor === "top" && t.variant !== "temporary" && {
  borderBottom: `1px solid ${(e.vars || e).palette.divider}`
}, t.anchor === "right" && t.variant !== "temporary" && {
  borderLeft: `1px solid ${(e.vars || e).palette.divider}`
}, t.anchor === "bottom" && t.variant !== "temporary" && {
  borderTop: `1px solid ${(e.vars || e).palette.divider}`
})), rb = {
  left: "right",
  right: "left",
  top: "down",
  bottom: "up"
};
function rk(e) {
  return ["left", "right"].indexOf(e) !== -1;
}
function ak({
  direction: e
}, t) {
  return e === "rtl" && rk(t) ? rb[t] : t;
}
const ab = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiDrawer"
  }), a = vn(), i = To(), s = {
    enter: a.transitions.duration.enteringScreen,
    exit: a.transitions.duration.leavingScreen
  }, {
    anchor: l = "left",
    BackdropProps: c,
    children: u,
    className: p,
    elevation: f = 16,
    hideBackdrop: g = !1,
    ModalProps: {
      BackdropProps: v
    } = {},
    onClose: b,
    open: h = !1,
    PaperProps: y = {},
    SlideProps: C,
    // eslint-disable-next-line react/prop-types
    TransitionComponent: E = nb,
    transitionDuration: w = s,
    variant: T = "temporary"
  } = r, O = oe(r.ModalProps, JR), P = oe(r, ek), S = d.useRef(!1);
  d.useEffect(() => {
    S.current = !0;
  }, []);
  const $ = ak({
    direction: i ? "rtl" : "ltr"
  }, l), N = m({}, r, {
    anchor: l,
    elevation: f,
    open: h,
    variant: T
  }, P), D = tk(N), V = /* @__PURE__ */ x(ok, m({
    elevation: T === "temporary" ? f : 0,
    square: !0
  }, y, {
    className: ce(D.paper, y.className),
    ownerState: N,
    children: u
  }));
  if (T === "permanent")
    return /* @__PURE__ */ x(Cf, m({
      className: ce(D.root, D.docked, p),
      ownerState: N,
      ref: o
    }, P, {
      children: V
    }));
  const L = /* @__PURE__ */ x(E, m({
    in: h,
    direction: rb[$],
    timeout: w,
    appear: S.current
  }, C, {
    children: V
  }));
  return T === "persistent" ? /* @__PURE__ */ x(Cf, m({
    className: ce(D.root, D.docked, p),
    ownerState: N,
    ref: o
  }, P, {
    children: L
  })) : /* @__PURE__ */ x(nk, m({
    BackdropProps: m({}, c, v, {
      transitionDuration: w
    }),
    className: ce(D.root, D.modal, p),
    open: h,
    ownerState: N,
    onClose: b,
    hideBackdrop: g,
    ref: o
  }, P, O, {
    children: L
  }));
});
process.env.NODE_ENV !== "production" && (ab.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Side from which the drawer will appear.
   * @default 'left'
   */
  anchor: n.oneOf(["bottom", "left", "right", "top"]),
  /**
   * @ignore
   */
  BackdropProps: n.object,
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The elevation of the drawer.
   * @default 16
   */
  elevation: Pn,
  /**
   * If `true`, the backdrop is not rendered.
   * @default false
   */
  hideBackdrop: n.bool,
  /**
   * Props applied to the [`Modal`](/material-ui/api/modal/) element.
   * @default {}
   */
  ModalProps: n.object,
  /**
   * Callback fired when the component requests to be closed.
   * The `reason` parameter can optionally be used to control the response to `onClose`.
   *
   * @param {object} event The event source of the callback.
   * @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
   */
  onClose: n.func,
  /**
   * If `true`, the component is shown.
   * @default false
   */
  open: n.bool,
  /**
   * Props applied to the [`Paper`](/material-ui/api/paper/) element.
   * @default {}
   */
  PaperProps: n.object,
  /**
   * Props applied to the [`Slide`](/material-ui/api/slide/) element.
   */
  SlideProps: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The duration for the transition, in milliseconds.
   * You may specify a single timeout for all transitions, or individually with an object.
   * @default {
   *   enter: theme.transitions.duration.enteringScreen,
   *   exit: theme.transitions.duration.leavingScreen,
   * }
   */
  transitionDuration: n.oneOfType([n.number, n.shape({
    appear: n.number,
    enter: n.number,
    exit: n.number
  })]),
  /**
   * The variant to use.
   * @default 'temporary'
   */
  variant: n.oneOf(["permanent", "persistent", "temporary"])
});
function ik(e) {
  return ye("MuiLinearProgress", e);
}
be("MuiLinearProgress", ["root", "colorPrimary", "colorSecondary", "determinate", "indeterminate", "buffer", "query", "dashed", "dashedColorPrimary", "dashedColorSecondary", "bar", "barColorPrimary", "barColorSecondary", "bar1Indeterminate", "bar1Determinate", "bar1Buffer", "bar2Indeterminate", "bar2Buffer"]);
const sk = ["className", "color", "value", "valueBuffer", "variant"];
let Vr = (e) => e, Tf, wf, Of, Ef, Sf, Pf;
const sc = 4, lk = eo(Tf || (Tf = Vr`
  0% {
    left: -35%;
    right: 100%;
  }

  60% {
    left: 100%;
    right: -90%;
  }

  100% {
    left: 100%;
    right: -90%;
  }
`)), ck = eo(wf || (wf = Vr`
  0% {
    left: -200%;
    right: 100%;
  }

  60% {
    left: 107%;
    right: -8%;
  }

  100% {
    left: 107%;
    right: -8%;
  }
`)), uk = eo(Of || (Of = Vr`
  0% {
    opacity: 1;
    background-position: 0 -23px;
  }

  60% {
    opacity: 0;
    background-position: 0 -23px;
  }

  100% {
    opacity: 1;
    background-position: -200px -23px;
  }
`)), dk = (e) => {
  const {
    classes: t,
    variant: o,
    color: r
  } = e, a = {
    root: ["root", `color${ee(r)}`, o],
    dashed: ["dashed", `dashedColor${ee(r)}`],
    bar1: ["bar", `barColor${ee(r)}`, (o === "indeterminate" || o === "query") && "bar1Indeterminate", o === "determinate" && "bar1Determinate", o === "buffer" && "bar1Buffer"],
    bar2: ["bar", o !== "buffer" && `barColor${ee(r)}`, o === "buffer" && `color${ee(r)}`, (o === "indeterminate" || o === "query") && "bar2Indeterminate", o === "buffer" && "bar2Buffer"]
  };
  return ve(a, ik, t);
}, $u = (e, t) => t === "inherit" ? "currentColor" : e.vars ? e.vars.palette.LinearProgress[`${t}Bg`] : e.palette.mode === "light" ? bo(e.palette[t].main, 0.62) : go(e.palette[t].main, 0.5), pk = U("span", {
  name: "MuiLinearProgress",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[`color${ee(o.color)}`], t[o.variant]];
  }
})(({
  ownerState: e,
  theme: t
}) => m({
  position: "relative",
  overflow: "hidden",
  display: "block",
  height: 4,
  zIndex: 0,
  // Fix Safari's bug during composition of different paint.
  "@media print": {
    colorAdjust: "exact"
  },
  backgroundColor: $u(t, e.color)
}, e.color === "inherit" && e.variant !== "buffer" && {
  backgroundColor: "none",
  "&::before": {
    content: '""',
    position: "absolute",
    left: 0,
    top: 0,
    right: 0,
    bottom: 0,
    backgroundColor: "currentColor",
    opacity: 0.3
  }
}, e.variant === "buffer" && {
  backgroundColor: "transparent"
}, e.variant === "query" && {
  transform: "rotate(180deg)"
})), fk = U("span", {
  name: "MuiLinearProgress",
  slot: "Dashed",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.dashed, t[`dashedColor${ee(o.color)}`]];
  }
})(({
  ownerState: e,
  theme: t
}) => {
  const o = $u(t, e.color);
  return m({
    position: "absolute",
    marginTop: 0,
    height: "100%",
    width: "100%"
  }, e.color === "inherit" && {
    opacity: 0.3
  }, {
    backgroundImage: `radial-gradient(${o} 0%, ${o} 16%, transparent 42%)`,
    backgroundSize: "10px 10px",
    backgroundPosition: "0 -23px"
  });
}, qo(Ef || (Ef = Vr`
    animation: ${0} 3s infinite linear;
  `), uk)), mk = U("span", {
  name: "MuiLinearProgress",
  slot: "Bar1",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.bar, t[`barColor${ee(o.color)}`], (o.variant === "indeterminate" || o.variant === "query") && t.bar1Indeterminate, o.variant === "determinate" && t.bar1Determinate, o.variant === "buffer" && t.bar1Buffer];
  }
})(({
  ownerState: e,
  theme: t
}) => m({
  width: "100%",
  position: "absolute",
  left: 0,
  bottom: 0,
  top: 0,
  transition: "transform 0.2s linear",
  transformOrigin: "left",
  backgroundColor: e.color === "inherit" ? "currentColor" : (t.vars || t).palette[e.color].main
}, e.variant === "determinate" && {
  transition: `transform .${sc}s linear`
}, e.variant === "buffer" && {
  zIndex: 1,
  transition: `transform .${sc}s linear`
}), ({
  ownerState: e
}) => (e.variant === "indeterminate" || e.variant === "query") && qo(Sf || (Sf = Vr`
      width: auto;
      animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
    `), lk)), hk = U("span", {
  name: "MuiLinearProgress",
  slot: "Bar2",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.bar, t[`barColor${ee(o.color)}`], (o.variant === "indeterminate" || o.variant === "query") && t.bar2Indeterminate, o.variant === "buffer" && t.bar2Buffer];
  }
})(({
  ownerState: e,
  theme: t
}) => m({
  width: "100%",
  position: "absolute",
  left: 0,
  bottom: 0,
  top: 0,
  transition: "transform 0.2s linear",
  transformOrigin: "left"
}, e.variant !== "buffer" && {
  backgroundColor: e.color === "inherit" ? "currentColor" : (t.vars || t).palette[e.color].main
}, e.color === "inherit" && {
  opacity: 0.3
}, e.variant === "buffer" && {
  backgroundColor: $u(t, e.color),
  transition: `transform .${sc}s linear`
}), ({
  ownerState: e
}) => (e.variant === "indeterminate" || e.variant === "query") && qo(Pf || (Pf = Vr`
      width: auto;
      animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;
    `), ck)), ib = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiLinearProgress"
  }), {
    className: a,
    color: i = "primary",
    value: s,
    valueBuffer: l,
    variant: c = "indeterminate"
  } = r, u = oe(r, sk), p = m({}, r, {
    color: i,
    variant: c
  }), f = dk(p), g = To(), v = {}, b = {
    bar1: {},
    bar2: {}
  };
  if (c === "determinate" || c === "buffer")
    if (s !== void 0) {
      v["aria-valuenow"] = Math.round(s), v["aria-valuemin"] = 0, v["aria-valuemax"] = 100;
      let h = s - 100;
      g && (h = -h), b.bar1.transform = `translateX(${h}%)`;
    } else process.env.NODE_ENV !== "production" && console.error("MUI: You need to provide a value prop when using the determinate or buffer variant of LinearProgress .");
  if (c === "buffer")
    if (l !== void 0) {
      let h = (l || 0) - 100;
      g && (h = -h), b.bar2.transform = `translateX(${h}%)`;
    } else process.env.NODE_ENV !== "production" && console.error("MUI: You need to provide a valueBuffer prop when using the buffer variant of LinearProgress.");
  return /* @__PURE__ */ he(pk, m({
    className: ce(f.root, a),
    ownerState: p,
    role: "progressbar"
  }, v, {
    ref: o
  }, u, {
    children: [c === "buffer" ? /* @__PURE__ */ x(fk, {
      className: f.dashed,
      ownerState: p
    }) : null, /* @__PURE__ */ x(mk, {
      className: f.bar1,
      ownerState: p,
      style: b.bar1
    }), c === "determinate" ? null : /* @__PURE__ */ x(hk, {
      className: f.bar2,
      ownerState: p,
      style: b.bar2
    })]
  }));
});
process.env.NODE_ENV !== "production" && (ib.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOfType([n.oneOf(["inherit", "primary", "secondary"]), n.string]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The value of the progress indicator for the determinate and buffer variants.
   * Value between 0 and 100.
   */
  value: n.number,
  /**
   * The value for the buffer variant.
   * Value between 0 and 100.
   */
  valueBuffer: n.number,
  /**
   * The variant to use.
   * Use indeterminate or query when there is no progress value.
   * @default 'indeterminate'
   */
  variant: n.oneOf(["buffer", "determinate", "indeterminate", "query"])
});
function gk(e) {
  return ye("MuiLink", e);
}
const bk = be("MuiLink", ["root", "underlineNone", "underlineHover", "underlineAlways", "button", "focusVisible"]), sb = {
  primary: "primary.main",
  textPrimary: "text.primary",
  secondary: "secondary.main",
  textSecondary: "text.secondary",
  error: "error.main"
}, yk = (e) => sb[e] || e, vk = ({
  theme: e,
  ownerState: t
}) => {
  const o = yk(t.color), r = Cr(e, `palette.${o}`, !1) || t.color, a = Cr(e, `palette.${o}Channel`);
  return "vars" in e && a ? `rgba(${a} / 0.4)` : _e(r, 0.4);
}, xk = ["className", "color", "component", "onBlur", "onFocus", "TypographyClasses", "underline", "variant", "sx"], Ck = (e) => {
  const {
    classes: t,
    component: o,
    focusVisible: r,
    underline: a
  } = e, i = {
    root: ["root", `underline${ee(a)}`, o === "button" && "button", r && "focusVisible"]
  };
  return ve(i, gk, t);
}, Tk = U(Le, {
  name: "MuiLink",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[`underline${ee(o.underline)}`], o.component === "button" && t.button];
  }
})(({
  theme: e,
  ownerState: t
}) => m({}, t.underline === "none" && {
  textDecoration: "none"
}, t.underline === "hover" && {
  textDecoration: "none",
  "&:hover": {
    textDecoration: "underline"
  }
}, t.underline === "always" && m({
  textDecoration: "underline"
}, t.color !== "inherit" && {
  textDecorationColor: vk({
    theme: e,
    ownerState: t
  })
}, {
  "&:hover": {
    textDecorationColor: "inherit"
  }
}), t.component === "button" && {
  position: "relative",
  WebkitTapHighlightColor: "transparent",
  backgroundColor: "transparent",
  // Reset default value
  // We disable the focus ring for mouse, touch and keyboard users.
  outline: 0,
  border: 0,
  margin: 0,
  // Remove the margin in Safari
  borderRadius: 0,
  padding: 0,
  // Remove the padding in Firefox
  cursor: "pointer",
  userSelect: "none",
  verticalAlign: "middle",
  MozAppearance: "none",
  // Reset
  WebkitAppearance: "none",
  // Reset
  "&::-moz-focus-inner": {
    borderStyle: "none"
    // Remove Firefox dotted outline.
  },
  [`&.${bk.focusVisible}`]: {
    outline: "auto"
  }
})), Du = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiLink"
  }), {
    className: a,
    color: i = "primary",
    component: s = "a",
    onBlur: l,
    onFocus: c,
    TypographyClasses: u,
    underline: p = "always",
    variant: f = "inherit",
    sx: g
  } = r, v = oe(r, xk), {
    isFocusVisibleRef: b,
    onBlur: h,
    onFocus: y,
    ref: C
  } = Na(), [E, w] = d.useState(!1), T = ze(o, C), O = (A) => {
    h(A), b.current === !1 && w(!1), l && l(A);
  }, P = (A) => {
    y(A), b.current === !0 && w(!0), c && c(A);
  }, S = m({}, r, {
    color: i,
    component: s,
    focusVisible: E,
    underline: p,
    variant: f
  }), $ = Ck(S);
  return /* @__PURE__ */ x(Tk, m({
    color: i,
    className: ce($.root, a),
    classes: u,
    component: s,
    onBlur: O,
    onFocus: P,
    ref: T,
    ownerState: S,
    variant: f,
    sx: [...Object.keys(sb).includes(i) ? [] : [{
      color: i
    }], ...Array.isArray(g) ? g : [g]]
  }, v));
});
process.env.NODE_ENV !== "production" && (Du.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The color of the link.
   * @default 'primary'
   */
  color: n.any,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: Nr,
  /**
   * @ignore
   */
  onBlur: n.func,
  /**
   * @ignore
   */
  onFocus: n.func,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * `classes` prop applied to the [`Typography`](/material-ui/api/typography/) element.
   */
  TypographyClasses: n.object,
  /**
   * Controls when the link should have an underline.
   * @default 'always'
   */
  underline: n.oneOf(["always", "hover", "none"]),
  /**
   * Applies the theme typography styles.
   * @default 'inherit'
   */
  variant: n.oneOfType([n.oneOf(["body1", "body2", "button", "caption", "h1", "h2", "h3", "h4", "h5", "h6", "inherit", "overline", "subtitle1", "subtitle2"]), n.string])
});
const Rf = be("MuiListItemIcon", ["root", "alignItemsFlexStart"]);
function wk(e) {
  return ye("MuiListItemText", e);
}
const Ji = be("MuiListItemText", ["root", "multiline", "dense", "inset", "primary", "secondary"]), Ok = ["children", "className", "disableTypography", "inset", "primary", "primaryTypographyProps", "secondary", "secondaryTypographyProps"], Ek = (e) => {
  const {
    classes: t,
    inset: o,
    primary: r,
    secondary: a,
    dense: i
  } = e;
  return ve({
    root: ["root", o && "inset", i && "dense", r && a && "multiline"],
    primary: ["primary"],
    secondary: ["secondary"]
  }, wk, t);
}, Sk = U("div", {
  name: "MuiListItemText",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [{
      [`& .${Ji.primary}`]: t.primary
    }, {
      [`& .${Ji.secondary}`]: t.secondary
    }, t.root, o.inset && t.inset, o.primary && o.secondary && t.multiline, o.dense && t.dense];
  }
})(({
  ownerState: e
}) => m({
  flex: "1 1 auto",
  minWidth: 0,
  marginTop: 4,
  marginBottom: 4
}, e.primary && e.secondary && {
  marginTop: 6,
  marginBottom: 6
}, e.inset && {
  paddingLeft: 56
})), lb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiListItemText"
  }), {
    children: a,
    className: i,
    disableTypography: s = !1,
    inset: l = !1,
    primary: c,
    primaryTypographyProps: u,
    secondary: p,
    secondaryTypographyProps: f
  } = r, g = oe(r, Ok), {
    dense: v
  } = d.useContext(Kn);
  let b = c ?? a, h = p;
  const y = m({}, r, {
    disableTypography: s,
    inset: l,
    primary: !!b,
    secondary: !!h,
    dense: v
  }), C = Ek(y);
  return b != null && b.type !== Le && !s && (b = /* @__PURE__ */ x(Le, m({
    variant: v ? "body2" : "body1",
    className: C.primary,
    component: u != null && u.variant ? void 0 : "span",
    display: "block"
  }, u, {
    children: b
  }))), h != null && h.type !== Le && !s && (h = /* @__PURE__ */ x(Le, m({
    variant: "body2",
    className: C.secondary,
    color: "text.secondary",
    display: "block"
  }, f, {
    children: h
  }))), /* @__PURE__ */ he(Sk, m({
    className: ce(C.root, i),
    ownerState: y,
    ref: o
  }, g, {
    children: [b, h]
  }));
});
process.env.NODE_ENV !== "production" && (lb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Alias for the `primary` prop.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * If `true`, the children won't be wrapped by a Typography component.
   * This can be useful to render an alternative Typography variant by wrapping
   * the `children` (or `primary`) text, and optional `secondary` text
   * with the Typography component.
   * @default false
   */
  disableTypography: n.bool,
  /**
   * If `true`, the children are indented.
   * This should be used if there is no left avatar or left icon.
   * @default false
   */
  inset: n.bool,
  /**
   * The main content element.
   */
  primary: n.node,
  /**
   * These props will be forwarded to the primary typography component
   * (as long as disableTypography is not `true`).
   */
  primaryTypographyProps: n.object,
  /**
   * The secondary content element.
   */
  secondary: n.node,
  /**
   * These props will be forwarded to the secondary typography component
   * (as long as disableTypography is not `true`).
   */
  secondaryTypographyProps: n.object,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function Pk(e) {
  return ye("MuiMenuItem", e);
}
const oa = be("MuiMenuItem", ["root", "focusVisible", "dense", "disabled", "divider", "gutters", "selected"]), Rk = ["autoFocus", "component", "dense", "divider", "disableGutters", "focusVisibleClassName", "role", "tabIndex", "className"], kk = (e, t) => {
  const {
    ownerState: o
  } = e;
  return [t.root, o.dense && t.dense, o.divider && t.divider, !o.disableGutters && t.gutters];
}, Mk = (e) => {
  const {
    disabled: t,
    dense: o,
    divider: r,
    disableGutters: a,
    selected: i,
    classes: s
  } = e, c = ve({
    root: ["root", o && "dense", t && "disabled", !a && "gutters", r && "divider", i && "selected"]
  }, Pk, s);
  return m({}, s, c);
}, $k = U(Ht, {
  shouldForwardProp: (e) => _t(e) || e === "classes",
  name: "MuiMenuItem",
  slot: "Root",
  overridesResolver: kk
})(({
  theme: e,
  ownerState: t
}) => m({}, e.typography.body1, {
  display: "flex",
  justifyContent: "flex-start",
  alignItems: "center",
  position: "relative",
  textDecoration: "none",
  minHeight: 48,
  paddingTop: 6,
  paddingBottom: 6,
  boxSizing: "border-box",
  whiteSpace: "nowrap"
}, !t.disableGutters && {
  paddingLeft: 16,
  paddingRight: 16
}, t.divider && {
  borderBottom: `1px solid ${(e.vars || e).palette.divider}`,
  backgroundClip: "padding-box"
}, {
  "&:hover": {
    textDecoration: "none",
    backgroundColor: (e.vars || e).palette.action.hover,
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      backgroundColor: "transparent"
    }
  },
  [`&.${oa.selected}`]: {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})` : _e(e.palette.primary.main, e.palette.action.selectedOpacity),
    [`&.${oa.focusVisible}`]: {
      backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))` : _e(e.palette.primary.main, e.palette.action.selectedOpacity + e.palette.action.focusOpacity)
    }
  },
  [`&.${oa.selected}:hover`]: {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))` : _e(e.palette.primary.main, e.palette.action.selectedOpacity + e.palette.action.hoverOpacity),
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})` : _e(e.palette.primary.main, e.palette.action.selectedOpacity)
    }
  },
  [`&.${oa.focusVisible}`]: {
    backgroundColor: (e.vars || e).palette.action.focus
  },
  [`&.${oa.disabled}`]: {
    opacity: (e.vars || e).palette.action.disabledOpacity
  },
  [`& + .${xf.root}`]: {
    marginTop: e.spacing(1),
    marginBottom: e.spacing(1)
  },
  [`& + .${xf.inset}`]: {
    marginLeft: 52
  },
  [`& .${Ji.root}`]: {
    marginTop: 0,
    marginBottom: 0
  },
  [`& .${Ji.inset}`]: {
    paddingLeft: 36
  },
  [`& .${Rf.root}`]: {
    minWidth: 36
  }
}, !t.dense && {
  [e.breakpoints.up("sm")]: {
    minHeight: "auto"
  }
}, t.dense && m({
  minHeight: 32,
  // https://m2.material.io/components/menus#specs > Dense
  paddingTop: 4,
  paddingBottom: 4
}, e.typography.body2, {
  [`& .${Rf.root} svg`]: {
    fontSize: "1.25rem"
  }
}))), cb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiMenuItem"
  }), {
    autoFocus: a = !1,
    component: i = "li",
    dense: s = !1,
    divider: l = !1,
    disableGutters: c = !1,
    focusVisibleClassName: u,
    role: p = "menuitem",
    tabIndex: f,
    className: g
  } = r, v = oe(r, Rk), b = d.useContext(Kn), h = d.useMemo(() => ({
    dense: s || b.dense || !1,
    disableGutters: c
  }), [b.dense, s, c]), y = d.useRef(null);
  gt(() => {
    a && (y.current ? y.current.focus() : process.env.NODE_ENV !== "production" && console.error("MUI: Unable to set focus to a MenuItem whose component has not been rendered."));
  }, [a]);
  const C = m({}, r, {
    dense: h.dense,
    divider: l,
    disableGutters: c
  }), E = Mk(r), w = ze(y, o);
  let T;
  return r.disabled || (T = f !== void 0 ? f : -1), /* @__PURE__ */ x(Kn.Provider, {
    value: h,
    children: /* @__PURE__ */ x($k, m({
      ref: w,
      role: p,
      tabIndex: T,
      component: i,
      focusVisibleClassName: ce(E.focusVisible, u),
      className: ce(E.root, g)
    }, v, {
      ownerState: C,
      classes: E
    }))
  });
});
process.env.NODE_ENV !== "production" && (cb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * If `true`, the list item is focused during the first mount.
   * Focus will also be triggered if the value changes from false to true.
   * @default false
   */
  autoFocus: n.bool,
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If `true`, compact vertical padding designed for keyboard and mouse input is used.
   * The prop defaults to the value inherited from the parent Menu component.
   * @default false
   */
  dense: n.bool,
  /**
   * @ignore
   */
  disabled: n.bool,
  /**
   * If `true`, the left and right padding is removed.
   * @default false
   */
  disableGutters: n.bool,
  /**
   * If `true`, a 1px light border is added to the bottom of the menu item.
   * @default false
   */
  divider: n.bool,
  /**
   * This prop can help identify which element has keyboard focus.
   * The class name will be applied when the element gains the focus through keyboard interaction.
   * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
   * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
   * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
   * if needed.
   */
  focusVisibleClassName: n.string,
  /**
   * @ignore
   */
  role: n.string,
  /**
   * If `true`, the component is selected.
   * @default false
   */
  selected: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * @default 0
   */
  tabIndex: n.number
});
function Dk(e) {
  return ye("MuiPagination", e);
}
be("MuiPagination", ["root", "ul", "outlined", "text"]);
const Ik = ["boundaryCount", "componentName", "count", "defaultPage", "disabled", "hideNextButton", "hidePrevButton", "onChange", "page", "showFirstButton", "showLastButton", "siblingCount"];
function Nk(e = {}) {
  const {
    boundaryCount: t = 1,
    componentName: o = "usePagination",
    count: r = 1,
    defaultPage: a = 1,
    disabled: i = !1,
    hideNextButton: s = !1,
    hidePrevButton: l = !1,
    onChange: c,
    page: u,
    showFirstButton: p = !1,
    showLastButton: f = !1,
    siblingCount: g = 1
  } = e, v = oe(e, Ik), [b, h] = Vt({
    controlled: u,
    default: a,
    name: o,
    state: "page"
  }), y = (A, N) => {
    u || h(N), c && c(A, N);
  }, C = (A, N) => {
    const D = N - A + 1;
    return Array.from({
      length: D
    }, (V, L) => A + L);
  }, E = C(1, Math.min(t, r)), w = C(Math.max(r - t + 1, t + 1), r), T = Math.max(
    Math.min(
      // Natural start
      b - g,
      // Lower boundary when page is high
      r - t - g * 2 - 1
    ),
    // Greater than startPages
    t + 2
  ), O = Math.min(
    Math.max(
      // Natural end
      b + g,
      // Upper boundary when page is low
      t + g * 2 + 2
    ),
    // Less than endPages
    w.length > 0 ? w[0] - 2 : r - 1
  ), P = [
    ...p ? ["first"] : [],
    ...l ? [] : ["previous"],
    ...E,
    // Start ellipsis
    // eslint-disable-next-line no-nested-ternary
    ...T > t + 2 ? ["start-ellipsis"] : t + 1 < r - t ? [t + 1] : [],
    // Sibling pages
    ...C(T, O),
    // End ellipsis
    // eslint-disable-next-line no-nested-ternary
    ...O < r - t - 1 ? ["end-ellipsis"] : r - t > t ? [r - t] : [],
    ...w,
    ...s ? [] : ["next"],
    ...f ? ["last"] : []
  ], S = (A) => {
    switch (A) {
      case "first":
        return 1;
      case "previous":
        return b - 1;
      case "next":
        return b + 1;
      case "last":
        return r;
      default:
        return null;
    }
  }, $ = P.map((A) => typeof A == "number" ? {
    onClick: (N) => {
      y(N, A);
    },
    type: "page",
    page: A,
    selected: A === b,
    disabled: i,
    "aria-current": A === b ? "true" : void 0
  } : {
    onClick: (N) => {
      y(N, S(A));
    },
    type: A,
    page: S(A),
    selected: !1,
    disabled: i || A.indexOf("ellipsis") === -1 && (A === "next" || A === "last" ? b >= r : b <= 1)
  });
  return m({
    items: $
  }, v);
}
function _k(e) {
  return ye("MuiPaginationItem", e);
}
const nn = be("MuiPaginationItem", ["root", "page", "sizeSmall", "sizeLarge", "text", "textPrimary", "textSecondary", "outlined", "outlinedPrimary", "outlinedSecondary", "rounded", "ellipsis", "firstLast", "previousNext", "focusVisible", "disabled", "selected", "icon", "colorPrimary", "colorSecondary"]), kf = nt(/* @__PURE__ */ x("path", {
  d: "M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"
}), "FirstPage"), Mf = nt(/* @__PURE__ */ x("path", {
  d: "M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"
}), "LastPage"), $f = nt(/* @__PURE__ */ x("path", {
  d: "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"
}), "NavigateBefore"), Df = nt(/* @__PURE__ */ x("path", {
  d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
}), "NavigateNext"), Ak = ["className", "color", "component", "components", "disabled", "page", "selected", "shape", "size", "slots", "type", "variant"], ub = (e, t) => {
  const {
    ownerState: o
  } = e;
  return [t.root, t[o.variant], t[`size${ee(o.size)}`], o.variant === "text" && t[`text${ee(o.color)}`], o.variant === "outlined" && t[`outlined${ee(o.color)}`], o.shape === "rounded" && t.rounded, o.type === "page" && t.page, (o.type === "start-ellipsis" || o.type === "end-ellipsis") && t.ellipsis, (o.type === "previous" || o.type === "next") && t.previousNext, (o.type === "first" || o.type === "last") && t.firstLast];
}, Lk = (e) => {
  const {
    classes: t,
    color: o,
    disabled: r,
    selected: a,
    size: i,
    shape: s,
    type: l,
    variant: c
  } = e, u = {
    root: ["root", `size${ee(i)}`, c, s, o !== "standard" && `color${ee(o)}`, o !== "standard" && `${c}${ee(o)}`, r && "disabled", a && "selected", {
      page: "page",
      first: "firstLast",
      last: "firstLast",
      "start-ellipsis": "ellipsis",
      "end-ellipsis": "ellipsis",
      previous: "previousNext",
      next: "previousNext"
    }[l]],
    icon: ["icon"]
  };
  return ve(u, _k, t);
}, Fk = U("div", {
  name: "MuiPaginationItem",
  slot: "Root",
  overridesResolver: ub
})(({
  theme: e,
  ownerState: t
}) => m({}, e.typography.body2, {
  borderRadius: 32 / 2,
  textAlign: "center",
  boxSizing: "border-box",
  minWidth: 32,
  padding: "0 6px",
  margin: "0 3px",
  color: (e.vars || e).palette.text.primary,
  height: "auto",
  [`&.${nn.disabled}`]: {
    opacity: (e.vars || e).palette.action.disabledOpacity
  }
}, t.size === "small" && {
  minWidth: 26,
  borderRadius: 26 / 2,
  margin: "0 1px",
  padding: "0 4px"
}, t.size === "large" && {
  minWidth: 40,
  borderRadius: 40 / 2,
  padding: "0 10px",
  fontSize: e.typography.pxToRem(15)
})), jk = U(Ht, {
  name: "MuiPaginationItem",
  slot: "Root",
  overridesResolver: ub
})(({
  theme: e,
  ownerState: t
}) => m({}, e.typography.body2, {
  borderRadius: 32 / 2,
  textAlign: "center",
  boxSizing: "border-box",
  minWidth: 32,
  height: 32,
  padding: "0 6px",
  margin: "0 3px",
  color: (e.vars || e).palette.text.primary,
  [`&.${nn.focusVisible}`]: {
    backgroundColor: (e.vars || e).palette.action.focus
  },
  [`&.${nn.disabled}`]: {
    opacity: (e.vars || e).palette.action.disabledOpacity
  },
  transition: e.transitions.create(["color", "background-color"], {
    duration: e.transitions.duration.short
  }),
  "&:hover": {
    backgroundColor: (e.vars || e).palette.action.hover,
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      backgroundColor: "transparent"
    }
  },
  [`&.${nn.selected}`]: {
    backgroundColor: (e.vars || e).palette.action.selected,
    "&:hover": {
      backgroundColor: e.vars ? `rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))` : _e(e.palette.action.selected, e.palette.action.selectedOpacity + e.palette.action.hoverOpacity),
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        backgroundColor: (e.vars || e).palette.action.selected
      }
    },
    [`&.${nn.focusVisible}`]: {
      backgroundColor: e.vars ? `rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))` : _e(e.palette.action.selected, e.palette.action.selectedOpacity + e.palette.action.focusOpacity)
    },
    [`&.${nn.disabled}`]: {
      opacity: 1,
      color: (e.vars || e).palette.action.disabled,
      backgroundColor: (e.vars || e).palette.action.selected
    }
  }
}, t.size === "small" && {
  minWidth: 26,
  height: 26,
  borderRadius: 26 / 2,
  margin: "0 1px",
  padding: "0 4px"
}, t.size === "large" && {
  minWidth: 40,
  height: 40,
  borderRadius: 40 / 2,
  padding: "0 10px",
  fontSize: e.typography.pxToRem(15)
}, t.shape === "rounded" && {
  borderRadius: (e.vars || e).shape.borderRadius
}), ({
  theme: e,
  ownerState: t
}) => m({}, t.variant === "text" && {
  [`&.${nn.selected}`]: m({}, t.color !== "standard" && {
    color: (e.vars || e).palette[t.color].contrastText,
    backgroundColor: (e.vars || e).palette[t.color].main,
    "&:hover": {
      backgroundColor: (e.vars || e).palette[t.color].dark,
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        backgroundColor: (e.vars || e).palette[t.color].main
      }
    },
    [`&.${nn.focusVisible}`]: {
      backgroundColor: (e.vars || e).palette[t.color].dark
    }
  }, {
    [`&.${nn.disabled}`]: {
      color: (e.vars || e).palette.action.disabled
    }
  })
}, t.variant === "outlined" && {
  border: e.vars ? `1px solid rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${e.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)"}`,
  [`&.${nn.selected}`]: m({}, t.color !== "standard" && {
    color: (e.vars || e).palette[t.color].main,
    border: `1px solid ${e.vars ? `rgba(${e.vars.palette[t.color].mainChannel} / 0.5)` : _e(e.palette[t.color].main, 0.5)}`,
    backgroundColor: e.vars ? `rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.activatedOpacity})` : _e(e.palette[t.color].main, e.palette.action.activatedOpacity),
    "&:hover": {
      backgroundColor: e.vars ? `rgba(${e.vars.palette[t.color].mainChannel} / calc(${e.vars.palette.action.activatedOpacity} + ${e.vars.palette.action.focusOpacity}))` : _e(e.palette[t.color].main, e.palette.action.activatedOpacity + e.palette.action.focusOpacity),
      // Reset on touch devices, it doesn't add specificity
      "@media (hover: none)": {
        backgroundColor: "transparent"
      }
    },
    [`&.${nn.focusVisible}`]: {
      backgroundColor: e.vars ? `rgba(${e.vars.palette[t.color].mainChannel} / calc(${e.vars.palette.action.activatedOpacity} + ${e.vars.palette.action.focusOpacity}))` : _e(e.palette[t.color].main, e.palette.action.activatedOpacity + e.palette.action.focusOpacity)
    }
  }, {
    [`&.${nn.disabled}`]: {
      borderColor: (e.vars || e).palette.action.disabledBackground,
      color: (e.vars || e).palette.action.disabled
    }
  })
})), Vk = U("div", {
  name: "MuiPaginationItem",
  slot: "Icon",
  overridesResolver: (e, t) => t.icon
})(({
  theme: e,
  ownerState: t
}) => m({
  fontSize: e.typography.pxToRem(20),
  margin: "0 -8px"
}, t.size === "small" && {
  fontSize: e.typography.pxToRem(18)
}, t.size === "large" && {
  fontSize: e.typography.pxToRem(22)
})), db = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiPaginationItem"
  }), {
    className: a,
    color: i = "standard",
    component: s,
    components: l = {},
    disabled: c = !1,
    page: u,
    selected: p = !1,
    shape: f = "circular",
    size: g = "medium",
    slots: v = {},
    type: b = "page",
    variant: h = "text"
  } = r, y = oe(r, Ak), C = m({}, r, {
    color: i,
    disabled: c,
    selected: p,
    shape: f,
    size: g,
    type: b,
    variant: h
  }), E = To(), w = Lk(C), O = (E ? {
    previous: v.next || l.next || Df,
    next: v.previous || l.previous || $f,
    last: v.first || l.first || kf,
    first: v.last || l.last || Mf
  } : {
    previous: v.previous || l.previous || $f,
    next: v.next || l.next || Df,
    first: v.first || l.first || kf,
    last: v.last || l.last || Mf
  })[b];
  return b === "start-ellipsis" || b === "end-ellipsis" ? /* @__PURE__ */ x(Fk, {
    ref: o,
    ownerState: C,
    className: ce(w.root, a),
    children: "…"
  }) : /* @__PURE__ */ he(jk, m({
    ref: o,
    ownerState: C,
    component: s,
    disabled: c,
    className: ce(w.root, a)
  }, y, {
    children: [b === "page" && u, O ? /* @__PURE__ */ x(Vk, {
      as: O,
      ownerState: C,
      className: w.icon
    }) : null]
  }));
});
process.env.NODE_ENV !== "production" && (db.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * @ignore
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The active color.
   * 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).
   * @default 'standard'
   */
  color: n.oneOfType([n.oneOf(["primary", "secondary", "standard"]), n.string]),
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `slots` prop.
   * It's recommended to use the `slots` prop instead.
   *
   * @default {}
   */
  components: n.shape({
    first: n.elementType,
    last: n.elementType,
    next: n.elementType,
    previous: n.elementType
  }),
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * The current page number.
   */
  page: n.node,
  /**
   * If `true` the pagination item is selected.
   * @default false
   */
  selected: n.bool,
  /**
   * The shape of the pagination item.
   * @default 'circular'
   */
  shape: n.oneOf(["circular", "rounded"]),
  /**
   * The size of the component.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["small", "medium", "large"]), n.string]),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `components` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slots: n.shape({
    first: n.elementType,
    last: n.elementType,
    next: n.elementType,
    previous: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The type of pagination item.
   * @default 'page'
   */
  type: n.oneOf(["end-ellipsis", "first", "last", "next", "page", "previous", "start-ellipsis"]),
  /**
   * The variant to use.
   * @default 'text'
   */
  variant: n.oneOfType([n.oneOf(["outlined", "text"]), n.string])
});
const zk = ["boundaryCount", "className", "color", "count", "defaultPage", "disabled", "getItemAriaLabel", "hideNextButton", "hidePrevButton", "onChange", "page", "renderItem", "shape", "showFirstButton", "showLastButton", "siblingCount", "size", "variant"], Bk = (e) => {
  const {
    classes: t,
    variant: o
  } = e;
  return ve({
    root: ["root", o],
    ul: ["ul"]
  }, Dk, t);
}, Wk = U("nav", {
  name: "MuiPagination",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[o.variant]];
  }
})({}), Uk = U("ul", {
  name: "MuiPagination",
  slot: "Ul",
  overridesResolver: (e, t) => t.ul
})({
  display: "flex",
  flexWrap: "wrap",
  alignItems: "center",
  padding: 0,
  margin: 0,
  listStyle: "none"
});
function Hk(e, t, o) {
  return e === "page" ? `${o ? "" : "Go to "}page ${t}` : `Go to ${e} page`;
}
const pb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiPagination"
  }), {
    boundaryCount: a = 1,
    className: i,
    color: s = "standard",
    count: l = 1,
    defaultPage: c = 1,
    disabled: u = !1,
    getItemAriaLabel: p = Hk,
    hideNextButton: f = !1,
    hidePrevButton: g = !1,
    renderItem: v = ($) => /* @__PURE__ */ x(db, m({}, $)),
    shape: b = "circular",
    showFirstButton: h = !1,
    showLastButton: y = !1,
    siblingCount: C = 1,
    size: E = "medium",
    variant: w = "text"
  } = r, T = oe(r, zk), {
    items: O
  } = Nk(m({}, r, {
    componentName: "Pagination"
  })), P = m({}, r, {
    boundaryCount: a,
    color: s,
    count: l,
    defaultPage: c,
    disabled: u,
    getItemAriaLabel: p,
    hideNextButton: f,
    hidePrevButton: g,
    renderItem: v,
    shape: b,
    showFirstButton: h,
    showLastButton: y,
    siblingCount: C,
    size: E,
    variant: w
  }), S = Bk(P);
  return /* @__PURE__ */ x(Wk, m({
    "aria-label": "pagination navigation",
    className: ce(S.root, i),
    ownerState: P,
    ref: o
  }, T, {
    children: /* @__PURE__ */ x(Uk, {
      className: S.ul,
      ownerState: P,
      children: O.map(($, A) => /* @__PURE__ */ x("li", {
        children: v(m({}, $, {
          color: s,
          "aria-label": p($.type, $.page, $.selected),
          shape: b,
          size: E,
          variant: w
        }))
      }, A))
    })
  }));
});
process.env.NODE_ENV !== "production" && (pb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Number of always visible pages at the beginning and end.
   * @default 1
   */
  boundaryCount: Pn,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The active color.
   * 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).
   * @default 'standard'
   */
  color: n.oneOfType([n.oneOf(["primary", "secondary", "standard"]), n.string]),
  /**
   * The total number of pages.
   * @default 1
   */
  count: Pn,
  /**
   * The page selected by default when the component is uncontrolled.
   * @default 1
   */
  defaultPage: Pn,
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * Accepts a function which returns a string value that provides a user-friendly name for the current page.
   * This is important for screen reader users.
   *
   * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).
   * @param {string} type The link or button type to format ('page' | 'first' | 'last' | 'next' | 'previous' | 'start-ellipsis' | 'end-ellipsis'). Defaults to 'page'.
   * @param {number} page The page number to format.
   * @param {bool} selected If true, the current page is selected.
   * @returns {string}
   */
  getItemAriaLabel: n.func,
  /**
   * If `true`, hide the next-page button.
   * @default false
   */
  hideNextButton: n.bool,
  /**
   * If `true`, hide the previous-page button.
   * @default false
   */
  hidePrevButton: n.bool,
  /**
   * Callback fired when the page is changed.
   *
   * @param {React.ChangeEvent<unknown>} event The event source of the callback.
   * @param {number} page The page selected.
   */
  onChange: n.func,
  /**
   * The current page. Unlike `TablePagination`, which starts numbering from `0`, this pagination starts from `1`.
   */
  page: Pn,
  /**
   * Render the item.
   * @param {PaginationRenderItemParams} params The props to spread on a PaginationItem.
   * @returns {ReactNode}
   * @default (item) => <PaginationItem {...item} />
   */
  renderItem: n.func,
  /**
   * The shape of the pagination items.
   * @default 'circular'
   */
  shape: n.oneOf(["circular", "rounded"]),
  /**
   * If `true`, show the first-page button.
   * @default false
   */
  showFirstButton: n.bool,
  /**
   * If `true`, show the last-page button.
   * @default false
   */
  showLastButton: n.bool,
  /**
   * Number of always visible pages before and after the current page.
   * @default 1
   */
  siblingCount: Pn,
  /**
   * The size of the component.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["small", "medium", "large"]), n.string]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The variant to use.
   * @default 'text'
   */
  variant: n.oneOfType([n.oneOf(["outlined", "text"]), n.string])
});
const qk = nt(/* @__PURE__ */ x("path", {
  d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
}), "RadioButtonUnchecked"), Yk = nt(/* @__PURE__ */ x("path", {
  d: "M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"
}), "RadioButtonChecked"), Kk = U("span", {
  name: "MuiRadioButtonIcon",
  shouldForwardProp: _t
})({
  position: "relative",
  display: "flex"
}), Gk = U(qk, {
  name: "MuiRadioButtonIcon"
})({
  // Scale applied to prevent dot misalignment in Safari
  transform: "scale(1)"
}), Xk = U(Yk, {
  name: "MuiRadioButtonIcon"
})(({
  theme: e,
  ownerState: t
}) => m({
  left: 0,
  position: "absolute",
  transform: "scale(0)",
  transition: e.transitions.create("transform", {
    easing: e.transitions.easing.easeIn,
    duration: e.transitions.duration.shortest
  })
}, t.checked && {
  transform: "scale(1)",
  transition: e.transitions.create("transform", {
    easing: e.transitions.easing.easeOut,
    duration: e.transitions.duration.shortest
  })
}));
function Iu(e) {
  const {
    checked: t = !1,
    classes: o = {},
    fontSize: r
  } = e, a = m({}, e, {
    checked: t
  });
  return /* @__PURE__ */ he(Kk, {
    className: o.root,
    ownerState: a,
    children: [/* @__PURE__ */ x(Gk, {
      fontSize: r,
      className: o.background,
      ownerState: a
    }), /* @__PURE__ */ x(Xk, {
      fontSize: r,
      className: o.dot,
      ownerState: a
    })]
  });
}
process.env.NODE_ENV !== "production" && (Iu.propTypes = {
  /**
   * If `true`, the component is checked.
   */
  checked: n.bool,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * The size of the component.
   * `small` is equivalent to the dense radio styling.
   */
  fontSize: n.oneOf(["small", "medium"])
});
const fb = /* @__PURE__ */ d.createContext(void 0);
process.env.NODE_ENV !== "production" && (fb.displayName = "RadioGroupContext");
function Zk() {
  return d.useContext(fb);
}
function Qk(e) {
  return ye("MuiRadio", e);
}
const If = be("MuiRadio", ["root", "checked", "disabled", "colorPrimary", "colorSecondary", "sizeSmall"]), Jk = ["checked", "checkedIcon", "color", "icon", "name", "onChange", "size", "className"], e9 = (e) => {
  const {
    classes: t,
    color: o,
    size: r
  } = e, a = {
    root: ["root", `color${ee(o)}`, r !== "medium" && `size${ee(r)}`]
  };
  return m({}, t, ve(a, Qk, t));
}, t9 = U(Cs, {
  shouldForwardProp: (e) => _t(e) || e === "classes",
  name: "MuiRadio",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.size !== "medium" && t[`size${ee(o.size)}`], t[`color${ee(o.color)}`]];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  color: (e.vars || e).palette.text.secondary
}, !t.disableRipple && {
  "&:hover": {
    backgroundColor: e.vars ? `rgba(${t.color === "default" ? e.vars.palette.action.activeChannel : e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})` : _e(t.color === "default" ? e.palette.action.active : e.palette[t.color].main, e.palette.action.hoverOpacity),
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      backgroundColor: "transparent"
    }
  }
}, t.color !== "default" && {
  [`&.${If.checked}`]: {
    color: (e.vars || e).palette[t.color].main
  }
}, {
  [`&.${If.disabled}`]: {
    color: (e.vars || e).palette.action.disabled
  }
}));
function n9(e, t) {
  return typeof t == "object" && t !== null ? e === t : String(e) === String(t);
}
const Nf = /* @__PURE__ */ x(Iu, {
  checked: !0
}), _f = /* @__PURE__ */ x(Iu, {}), mb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a;
  const i = Ee({
    props: t,
    name: "MuiRadio"
  }), {
    checked: s,
    checkedIcon: l = Nf,
    color: c = "primary",
    icon: u = _f,
    name: p,
    onChange: f,
    size: g = "medium",
    className: v
  } = i, b = oe(i, Jk), h = m({}, i, {
    color: c,
    size: g
  }), y = e9(h), C = Zk();
  let E = s;
  const w = Ai(f, C && C.onChange);
  let T = p;
  return C && (typeof E > "u" && (E = n9(C.value, i.value)), typeof T > "u" && (T = C.name)), /* @__PURE__ */ x(t9, m({
    type: "radio",
    icon: /* @__PURE__ */ d.cloneElement(u, {
      fontSize: (r = _f.props.fontSize) != null ? r : g
    }),
    checkedIcon: /* @__PURE__ */ d.cloneElement(l, {
      fontSize: (a = Nf.props.fontSize) != null ? a : g
    }),
    ownerState: h,
    classes: y,
    name: T,
    checked: E,
    onChange: w,
    ref: o,
    className: ce(y.root, v)
  }, b));
});
process.env.NODE_ENV !== "production" && (mb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * If `true`, the component is checked.
   */
  checked: n.bool,
  /**
   * The icon to display when the component is checked.
   * @default <RadioButtonIcon checked />
   */
  checkedIcon: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOfType([n.oneOf(["default", "primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * If `true`, the component is disabled.
   */
  disabled: n.bool,
  /**
   * If `true`, the ripple effect is disabled.
   * @default false
   */
  disableRipple: n.bool,
  /**
   * The icon to display when the component is unchecked.
   * @default <RadioButtonIcon />
   */
  icon: n.node,
  /**
   * The id of the `input` element.
   */
  id: n.string,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   */
  inputProps: n.object,
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * Name attribute of the `input` element.
   */
  name: n.string,
  /**
   * Callback fired when the state is changed.
   *
   * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (string).
   * You can pull out the new checked state by accessing `event.target.checked` (boolean).
   */
  onChange: n.func,
  /**
   * If `true`, the `input` element is required.
   * @default false
   */
  required: n.bool,
  /**
   * The size of the component.
   * `small` is equivalent to the dense radio styling.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["medium", "small"]), n.string]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The value of the component. The DOM API casts this to a string.
   */
  value: n.any
});
function o9(e, t, o = (r, a) => r === a) {
  return e.length === t.length && e.every((r, a) => o(r, t[a]));
}
const r9 = 2;
function hb(e, t) {
  return e - t;
}
function Af(e, t) {
  var o;
  const {
    index: r
  } = (o = e.reduce((a, i, s) => {
    const l = Math.abs(t - i);
    return a === null || l < a.distance || l === a.distance ? {
      distance: l,
      index: s
    } : a;
  }, null)) != null ? o : {};
  return r;
}
function pi(e, t) {
  if (t.current !== void 0 && e.changedTouches) {
    const o = e;
    for (let r = 0; r < o.changedTouches.length; r += 1) {
      const a = o.changedTouches[r];
      if (a.identifier === t.current)
        return {
          x: a.clientX,
          y: a.clientY
        };
    }
    return !1;
  }
  return {
    x: e.clientX,
    y: e.clientY
  };
}
function es(e, t, o) {
  return (e - t) * 100 / (o - t);
}
function a9(e, t, o) {
  return (o - t) * e + t;
}
function i9(e) {
  if (Math.abs(e) < 1) {
    const o = e.toExponential().split("e-"), r = o[0].split(".")[1];
    return (r ? r.length : 0) + parseInt(o[1], 10);
  }
  const t = e.toString().split(".")[1];
  return t ? t.length : 0;
}
function s9(e, t, o) {
  const r = Math.round((e - o) / t) * t + o;
  return Number(r.toFixed(i9(t)));
}
function Lf({
  values: e,
  newValue: t,
  index: o
}) {
  const r = e.slice();
  return r[o] = t, r.sort(hb);
}
function fi({
  sliderRef: e,
  activeIndex: t,
  setActive: o
}) {
  var r, a;
  const i = lt(e.current);
  if (!((r = e.current) != null && r.contains(i.activeElement)) || Number(i == null || (a = i.activeElement) == null ? void 0 : a.getAttribute("data-index")) !== t) {
    var s;
    (s = e.current) == null || s.querySelector(`[type="range"][data-index="${t}"]`).focus();
  }
  o && o(t);
}
function mi(e, t) {
  return typeof e == "number" && typeof t == "number" ? e === t : typeof e == "object" && typeof t == "object" ? o9(e, t) : !1;
}
const l9 = {
  horizontal: {
    offset: (e) => ({
      left: `${e}%`
    }),
    leap: (e) => ({
      width: `${e}%`
    })
  },
  "horizontal-reverse": {
    offset: (e) => ({
      right: `${e}%`
    }),
    leap: (e) => ({
      width: `${e}%`
    })
  },
  vertical: {
    offset: (e) => ({
      bottom: `${e}%`
    }),
    leap: (e) => ({
      height: `${e}%`
    })
  }
}, c9 = (e) => e;
let hi;
function Ff() {
  return hi === void 0 && (typeof CSS < "u" && typeof CSS.supports == "function" ? hi = CSS.supports("touch-action", "none") : hi = !0), hi;
}
function u9(e) {
  const {
    "aria-labelledby": t,
    defaultValue: o,
    disabled: r = !1,
    disableSwap: a = !1,
    isRtl: i = !1,
    marks: s = !1,
    max: l = 100,
    min: c = 0,
    name: u,
    onChange: p,
    onChangeCommitted: f,
    orientation: g = "horizontal",
    rootRef: v,
    scale: b = c9,
    step: h = 1,
    shiftStep: y = 10,
    tabIndex: C,
    value: E
  } = e, w = d.useRef(void 0), [T, O] = d.useState(-1), [P, S] = d.useState(-1), [$, A] = d.useState(!1), N = d.useRef(0), [D, V] = Vt({
    controlled: E,
    default: o ?? c,
    name: "Slider"
  }), L = p && ((ue, le, xe) => {
    const ke = ue.nativeEvent || ue, De = new ke.constructor(ke.type, ke);
    Object.defineProperty(De, "target", {
      writable: !0,
      value: {
        value: le,
        name: u
      }
    }), p(De, le, xe);
  }), I = Array.isArray(D);
  let R = I ? D.slice().sort(hb) : [D];
  R = R.map((ue) => ue == null ? c : Lo(ue, c, l));
  const k = s === !0 && h !== null ? [...Array(Math.floor((l - c) / h) + 1)].map((ue, le) => ({
    value: c + h * le
  })) : s || [], F = k.map((ue) => ue.value), {
    isFocusVisibleRef: M,
    onBlur: B,
    onFocus: j,
    ref: W
  } = Na(), [re, J] = d.useState(-1), Q = d.useRef(null), X = ze(W, Q), Y = ze(v, X), Z = (ue) => (le) => {
    var xe;
    const ke = Number(le.currentTarget.getAttribute("data-index"));
    j(le), M.current === !0 && J(ke), S(ke), ue == null || (xe = ue.onFocus) == null || xe.call(ue, le);
  }, H = (ue) => (le) => {
    var xe;
    B(le), M.current === !1 && J(-1), S(-1), ue == null || (xe = ue.onBlur) == null || xe.call(ue, le);
  }, K = (ue, le) => {
    const xe = Number(ue.currentTarget.getAttribute("data-index")), ke = R[xe], De = F.indexOf(ke);
    let Ie = le;
    if (k && h == null) {
      const we = F[F.length - 1];
      Ie > we ? Ie = we : Ie < F[0] ? Ie = F[0] : Ie = Ie < ke ? F[De - 1] : F[De + 1];
    }
    if (Ie = Lo(Ie, c, l), I) {
      a && (Ie = Lo(Ie, R[xe - 1] || -1 / 0, R[xe + 1] || 1 / 0));
      const we = Ie;
      Ie = Lf({
        values: R,
        newValue: Ie,
        index: xe
      });
      let pe = xe;
      a || (pe = Ie.indexOf(we)), fi({
        sliderRef: Q,
        activeIndex: pe
      });
    }
    V(Ie), J(xe), L && !mi(Ie, D) && L(ue, Ie, xe), f && f(ue, Ie);
  }, ne = (ue) => (le) => {
    var xe;
    if (h !== null) {
      const ke = Number(le.currentTarget.getAttribute("data-index")), De = R[ke];
      let Ie = null;
      (le.key === "ArrowLeft" || le.key === "ArrowDown") && le.shiftKey || le.key === "PageDown" ? Ie = Math.max(De - y, c) : ((le.key === "ArrowRight" || le.key === "ArrowUp") && le.shiftKey || le.key === "PageUp") && (Ie = Math.min(De + y, l)), Ie !== null && (K(le, Ie), le.preventDefault());
    }
    ue == null || (xe = ue.onKeyDown) == null || xe.call(ue, le);
  };
  gt(() => {
    if (r && Q.current.contains(document.activeElement)) {
      var ue;
      (ue = document.activeElement) == null || ue.blur();
    }
  }, [r]), r && T !== -1 && O(-1), r && re !== -1 && J(-1);
  const ae = (ue) => (le) => {
    var xe;
    (xe = ue.onChange) == null || xe.call(ue, le), K(le, le.target.valueAsNumber);
  }, z = d.useRef(void 0);
  let q = g;
  i && g === "horizontal" && (q += "-reverse");
  const te = ({
    finger: ue,
    move: le = !1
  }) => {
    const {
      current: xe
    } = Q, {
      width: ke,
      height: De,
      bottom: Ie,
      left: we
    } = xe.getBoundingClientRect();
    let pe;
    q.indexOf("vertical") === 0 ? pe = (Ie - ue.y) / De : pe = (ue.x - we) / ke, q.indexOf("-reverse") !== -1 && (pe = 1 - pe);
    let me;
    if (me = a9(pe, c, l), h)
      me = s9(me, h, c);
    else {
      const Ne = Af(F, me);
      me = F[Ne];
    }
    me = Lo(me, c, l);
    let Se = 0;
    if (I) {
      le ? Se = z.current : Se = Af(R, me), a && (me = Lo(me, R[Se - 1] || -1 / 0, R[Se + 1] || 1 / 0));
      const Ne = me;
      me = Lf({
        values: R,
        newValue: me,
        index: Se
      }), a && le || (Se = me.indexOf(Ne), z.current = Se);
    }
    return {
      newValue: me,
      activeIndex: Se
    };
  }, ie = Ce((ue) => {
    const le = pi(ue, w);
    if (!le)
      return;
    if (N.current += 1, ue.type === "mousemove" && ue.buttons === 0) {
      de(ue);
      return;
    }
    const {
      newValue: xe,
      activeIndex: ke
    } = te({
      finger: le,
      move: !0
    });
    fi({
      sliderRef: Q,
      activeIndex: ke,
      setActive: O
    }), V(xe), !$ && N.current > r9 && A(!0), L && !mi(xe, D) && L(ue, xe, ke);
  }), de = Ce((ue) => {
    const le = pi(ue, w);
    if (A(!1), !le)
      return;
    const {
      newValue: xe
    } = te({
      finger: le,
      move: !0
    });
    O(-1), ue.type === "touchend" && S(-1), f && f(ue, xe), w.current = void 0, fe();
  }), ge = Ce((ue) => {
    if (r)
      return;
    Ff() || ue.preventDefault();
    const le = ue.changedTouches[0];
    le != null && (w.current = le.identifier);
    const xe = pi(ue, w);
    if (xe !== !1) {
      const {
        newValue: De,
        activeIndex: Ie
      } = te({
        finger: xe
      });
      fi({
        sliderRef: Q,
        activeIndex: Ie,
        setActive: O
      }), V(De), L && !mi(De, D) && L(ue, De, Ie);
    }
    N.current = 0;
    const ke = lt(Q.current);
    ke.addEventListener("touchmove", ie, {
      passive: !0
    }), ke.addEventListener("touchend", de, {
      passive: !0
    });
  }), fe = d.useCallback(() => {
    const ue = lt(Q.current);
    ue.removeEventListener("mousemove", ie), ue.removeEventListener("mouseup", de), ue.removeEventListener("touchmove", ie), ue.removeEventListener("touchend", de);
  }, [de, ie]);
  d.useEffect(() => {
    const {
      current: ue
    } = Q;
    return ue.addEventListener("touchstart", ge, {
      passive: Ff()
    }), () => {
      ue.removeEventListener("touchstart", ge), fe();
    };
  }, [fe, ge]), d.useEffect(() => {
    r && fe();
  }, [r, fe]);
  const Oe = (ue) => (le) => {
    var xe;
    if ((xe = ue.onMouseDown) == null || xe.call(ue, le), r || le.defaultPrevented || le.button !== 0)
      return;
    le.preventDefault();
    const ke = pi(le, w);
    if (ke !== !1) {
      const {
        newValue: Ie,
        activeIndex: we
      } = te({
        finger: ke
      });
      fi({
        sliderRef: Q,
        activeIndex: we,
        setActive: O
      }), V(Ie), L && !mi(Ie, D) && L(le, Ie, we);
    }
    N.current = 0;
    const De = lt(Q.current);
    De.addEventListener("mousemove", ie, {
      passive: !0
    }), De.addEventListener("mouseup", de);
  }, Te = es(I ? R[0] : c, c, l), Re = es(R[R.length - 1], c, l) - Te, Be = (ue = {}) => {
    const le = Vo(ue), xe = {
      onMouseDown: Oe(le || {})
    }, ke = m({}, le, xe);
    return m({}, ue, {
      ref: Y
    }, ke);
  }, je = (ue) => (le) => {
    var xe;
    (xe = ue.onMouseOver) == null || xe.call(ue, le);
    const ke = Number(le.currentTarget.getAttribute("data-index"));
    S(ke);
  }, Fe = (ue) => (le) => {
    var xe;
    (xe = ue.onMouseLeave) == null || xe.call(ue, le), S(-1);
  };
  return {
    active: T,
    axis: q,
    axisProps: l9,
    dragging: $,
    focusedThumbIndex: re,
    getHiddenInputProps: (ue = {}) => {
      var le;
      const xe = Vo(ue), ke = {
        onChange: ae(xe || {}),
        onFocus: Z(xe || {}),
        onBlur: H(xe || {}),
        onKeyDown: ne(xe || {})
      }, De = m({}, xe, ke);
      return m({
        tabIndex: C,
        "aria-labelledby": t,
        "aria-orientation": g,
        "aria-valuemax": b(l),
        "aria-valuemin": b(c),
        name: u,
        type: "range",
        min: e.min,
        max: e.max,
        step: e.step === null && e.marks ? "any" : (le = e.step) != null ? le : void 0,
        disabled: r
      }, ue, De, {
        style: m({}, Ym, {
          direction: i ? "rtl" : "ltr",
          // So that VoiceOver's focus indicator matches the thumb's dimensions
          width: "100%",
          height: "100%"
        })
      });
    },
    getRootProps: Be,
    getThumbProps: (ue = {}) => {
      const le = Vo(ue), xe = {
        onMouseOver: je(le || {}),
        onMouseLeave: Fe(le || {})
      };
      return m({}, ue, le, xe);
    },
    marks: k,
    open: P,
    range: I,
    rootRef: Y,
    trackLeap: Re,
    trackOffset: Te,
    values: R,
    getThumbStyle: (ue) => ({
      // So the non active thumb doesn't show its label on hover.
      pointerEvents: T !== -1 && T !== ue ? "none" : void 0
    })
  };
}
const d9 = (e) => !e || !Fn(e);
function p9(e) {
  return ye("MuiSlider", e);
}
const cn = be("MuiSlider", ["root", "active", "colorPrimary", "colorSecondary", "colorError", "colorInfo", "colorSuccess", "colorWarning", "disabled", "dragging", "focusVisible", "mark", "markActive", "marked", "markLabel", "markLabelActive", "rail", "sizeSmall", "thumb", "thumbColorPrimary", "thumbColorSecondary", "thumbColorError", "thumbColorSuccess", "thumbColorInfo", "thumbColorWarning", "track", "trackInverted", "trackFalse", "thumbSizeSmall", "valueLabel", "valueLabelOpen", "valueLabelCircle", "valueLabelLabel", "vertical"]), f9 = (e) => {
  const {
    open: t
  } = e;
  return {
    offset: ce(t && cn.valueLabelOpen),
    circle: cn.valueLabelCircle,
    label: cn.valueLabelLabel
  };
};
function gb(e) {
  const {
    children: t,
    className: o,
    value: r
  } = e, a = f9(e);
  return t ? /* @__PURE__ */ d.cloneElement(t, {
    className: ce(t.props.className)
  }, /* @__PURE__ */ he(d.Fragment, {
    children: [t.props.children, /* @__PURE__ */ x("span", {
      className: ce(a.offset, o),
      "aria-hidden": !0,
      children: /* @__PURE__ */ x("span", {
        className: a.circle,
        children: /* @__PURE__ */ x("span", {
          className: a.label,
          children: r
        })
      })
    })]
  })) : null;
}
process.env.NODE_ENV !== "production" && (gb.propTypes = {
  children: n.element.isRequired,
  className: n.string,
  value: n.node
});
const m9 = ["aria-label", "aria-valuetext", "aria-labelledby", "component", "components", "componentsProps", "color", "classes", "className", "disableSwap", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "orientation", "shiftStep", "size", "step", "scale", "slotProps", "slots", "tabIndex", "track", "value", "valueLabelDisplay", "valueLabelFormat"];
function jf(e) {
  return e;
}
const h9 = U("span", {
  name: "MuiSlider",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[`color${ee(o.color)}`], o.size !== "medium" && t[`size${ee(o.size)}`], o.marked && t.marked, o.orientation === "vertical" && t.vertical, o.track === "inverted" && t.trackInverted, o.track === !1 && t.trackFalse];
  }
})(({
  theme: e
}) => {
  var t;
  return {
    borderRadius: 12,
    boxSizing: "content-box",
    display: "inline-block",
    position: "relative",
    cursor: "pointer",
    touchAction: "none",
    WebkitTapHighlightColor: "transparent",
    "@media print": {
      colorAdjust: "exact"
    },
    [`&.${cn.disabled}`]: {
      pointerEvents: "none",
      cursor: "default",
      color: (e.vars || e).palette.grey[400]
    },
    [`&.${cn.dragging}`]: {
      [`& .${cn.thumb}, & .${cn.track}`]: {
        transition: "none"
      }
    },
    variants: [...Object.keys(((t = e.vars) != null ? t : e).palette).filter((o) => {
      var r;
      return ((r = e.vars) != null ? r : e).palette[o].main;
    }).map((o) => ({
      props: {
        color: o
      },
      style: {
        color: (e.vars || e).palette[o].main
      }
    })), {
      props: {
        orientation: "horizontal"
      },
      style: {
        height: 4,
        width: "100%",
        padding: "13px 0",
        // The primary input mechanism of the device includes a pointing device of limited accuracy.
        "@media (pointer: coarse)": {
          // Reach 42px touch target, about ~8mm on screen.
          padding: "20px 0"
        }
      }
    }, {
      props: {
        orientation: "horizontal",
        size: "small"
      },
      style: {
        height: 2
      }
    }, {
      props: {
        orientation: "horizontal",
        marked: !0
      },
      style: {
        marginBottom: 20
      }
    }, {
      props: {
        orientation: "vertical"
      },
      style: {
        height: "100%",
        width: 4,
        padding: "0 13px",
        // The primary input mechanism of the device includes a pointing device of limited accuracy.
        "@media (pointer: coarse)": {
          // Reach 42px touch target, about ~8mm on screen.
          padding: "0 20px"
        }
      }
    }, {
      props: {
        orientation: "vertical",
        size: "small"
      },
      style: {
        width: 2
      }
    }, {
      props: {
        orientation: "vertical",
        marked: !0
      },
      style: {
        marginRight: 44
      }
    }]
  };
}), g9 = U("span", {
  name: "MuiSlider",
  slot: "Rail",
  overridesResolver: (e, t) => t.rail
})({
  display: "block",
  position: "absolute",
  borderRadius: "inherit",
  backgroundColor: "currentColor",
  opacity: 0.38,
  variants: [{
    props: {
      orientation: "horizontal"
    },
    style: {
      width: "100%",
      height: "inherit",
      top: "50%",
      transform: "translateY(-50%)"
    }
  }, {
    props: {
      orientation: "vertical"
    },
    style: {
      height: "100%",
      width: "inherit",
      left: "50%",
      transform: "translateX(-50%)"
    }
  }, {
    props: {
      track: "inverted"
    },
    style: {
      opacity: 1
    }
  }]
}), b9 = U("span", {
  name: "MuiSlider",
  slot: "Track",
  overridesResolver: (e, t) => t.track
})(({
  theme: e
}) => {
  var t;
  return {
    display: "block",
    position: "absolute",
    borderRadius: "inherit",
    border: "1px solid currentColor",
    backgroundColor: "currentColor",
    transition: e.transitions.create(["left", "width", "bottom", "height"], {
      duration: e.transitions.duration.shortest
    }),
    variants: [{
      props: {
        size: "small"
      },
      style: {
        border: "none"
      }
    }, {
      props: {
        orientation: "horizontal"
      },
      style: {
        height: "inherit",
        top: "50%",
        transform: "translateY(-50%)"
      }
    }, {
      props: {
        orientation: "vertical"
      },
      style: {
        width: "inherit",
        left: "50%",
        transform: "translateX(-50%)"
      }
    }, {
      props: {
        track: !1
      },
      style: {
        display: "none"
      }
    }, ...Object.keys(((t = e.vars) != null ? t : e).palette).filter((o) => {
      var r;
      return ((r = e.vars) != null ? r : e).palette[o].main;
    }).map((o) => ({
      props: {
        color: o,
        track: "inverted"
      },
      style: m({}, e.vars ? {
        backgroundColor: e.vars.palette.Slider[`${o}Track`],
        borderColor: e.vars.palette.Slider[`${o}Track`]
      } : m({
        backgroundColor: bo(e.palette[o].main, 0.62),
        borderColor: bo(e.palette[o].main, 0.62)
      }, e.applyStyles("dark", {
        backgroundColor: go(e.palette[o].main, 0.5)
      }), e.applyStyles("dark", {
        borderColor: go(e.palette[o].main, 0.5)
      })))
    }))]
  };
}), y9 = U("span", {
  name: "MuiSlider",
  slot: "Thumb",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.thumb, t[`thumbColor${ee(o.color)}`], o.size !== "medium" && t[`thumbSize${ee(o.size)}`]];
  }
})(({
  theme: e
}) => {
  var t;
  return {
    position: "absolute",
    width: 20,
    height: 20,
    boxSizing: "border-box",
    borderRadius: "50%",
    outline: 0,
    backgroundColor: "currentColor",
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    transition: e.transitions.create(["box-shadow", "left", "bottom"], {
      duration: e.transitions.duration.shortest
    }),
    "&::before": {
      position: "absolute",
      content: '""',
      borderRadius: "inherit",
      width: "100%",
      height: "100%",
      boxShadow: (e.vars || e).shadows[2]
    },
    "&::after": {
      position: "absolute",
      content: '""',
      borderRadius: "50%",
      // 42px is the hit target
      width: 42,
      height: 42,
      top: "50%",
      left: "50%",
      transform: "translate(-50%, -50%)"
    },
    [`&.${cn.disabled}`]: {
      "&:hover": {
        boxShadow: "none"
      }
    },
    variants: [{
      props: {
        size: "small"
      },
      style: {
        width: 12,
        height: 12,
        "&::before": {
          boxShadow: "none"
        }
      }
    }, {
      props: {
        orientation: "horizontal"
      },
      style: {
        top: "50%",
        transform: "translate(-50%, -50%)"
      }
    }, {
      props: {
        orientation: "vertical"
      },
      style: {
        left: "50%",
        transform: "translate(-50%, 50%)"
      }
    }, ...Object.keys(((t = e.vars) != null ? t : e).palette).filter((o) => {
      var r;
      return ((r = e.vars) != null ? r : e).palette[o].main;
    }).map((o) => ({
      props: {
        color: o
      },
      style: {
        [`&:hover, &.${cn.focusVisible}`]: m({}, e.vars ? {
          boxShadow: `0px 0px 0px 8px rgba(${e.vars.palette[o].mainChannel} / 0.16)`
        } : {
          boxShadow: `0px 0px 0px 8px ${_e(e.palette[o].main, 0.16)}`
        }, {
          "@media (hover: none)": {
            boxShadow: "none"
          }
        }),
        [`&.${cn.active}`]: m({}, e.vars ? {
          boxShadow: `0px 0px 0px 14px rgba(${e.vars.palette[o].mainChannel} / 0.16)`
        } : {
          boxShadow: `0px 0px 0px 14px ${_e(e.palette[o].main, 0.16)}`
        })
      }
    }))]
  };
}), v9 = U(gb, {
  name: "MuiSlider",
  slot: "ValueLabel",
  overridesResolver: (e, t) => t.valueLabel
})(({
  theme: e
}) => m({
  zIndex: 1,
  whiteSpace: "nowrap"
}, e.typography.body2, {
  fontWeight: 500,
  transition: e.transitions.create(["transform"], {
    duration: e.transitions.duration.shortest
  }),
  position: "absolute",
  backgroundColor: (e.vars || e).palette.grey[600],
  borderRadius: 2,
  color: (e.vars || e).palette.common.white,
  display: "flex",
  alignItems: "center",
  justifyContent: "center",
  padding: "0.25rem 0.75rem",
  variants: [{
    props: {
      orientation: "horizontal"
    },
    style: {
      transform: "translateY(-100%) scale(0)",
      top: "-10px",
      transformOrigin: "bottom center",
      "&::before": {
        position: "absolute",
        content: '""',
        width: 8,
        height: 8,
        transform: "translate(-50%, 50%) rotate(45deg)",
        backgroundColor: "inherit",
        bottom: 0,
        left: "50%"
      },
      [`&.${cn.valueLabelOpen}`]: {
        transform: "translateY(-100%) scale(1)"
      }
    }
  }, {
    props: {
      orientation: "vertical"
    },
    style: {
      transform: "translateY(-50%) scale(0)",
      right: "30px",
      top: "50%",
      transformOrigin: "right center",
      "&::before": {
        position: "absolute",
        content: '""',
        width: 8,
        height: 8,
        transform: "translate(-50%, -50%) rotate(45deg)",
        backgroundColor: "inherit",
        right: -8,
        top: "50%"
      },
      [`&.${cn.valueLabelOpen}`]: {
        transform: "translateY(-50%) scale(1)"
      }
    }
  }, {
    props: {
      size: "small"
    },
    style: {
      fontSize: e.typography.pxToRem(12),
      padding: "0.25rem 0.5rem"
    }
  }, {
    props: {
      orientation: "vertical",
      size: "small"
    },
    style: {
      right: "20px"
    }
  }]
})), x9 = U("span", {
  name: "MuiSlider",
  slot: "Mark",
  shouldForwardProp: (e) => vs(e) && e !== "markActive",
  overridesResolver: (e, t) => {
    const {
      markActive: o
    } = e;
    return [t.mark, o && t.markActive];
  }
})(({
  theme: e
}) => ({
  position: "absolute",
  width: 2,
  height: 2,
  borderRadius: 1,
  backgroundColor: "currentColor",
  variants: [{
    props: {
      orientation: "horizontal"
    },
    style: {
      top: "50%",
      transform: "translate(-1px, -50%)"
    }
  }, {
    props: {
      orientation: "vertical"
    },
    style: {
      left: "50%",
      transform: "translate(-50%, 1px)"
    }
  }, {
    props: {
      markActive: !0
    },
    style: {
      backgroundColor: (e.vars || e).palette.background.paper,
      opacity: 0.8
    }
  }]
})), C9 = U("span", {
  name: "MuiSlider",
  slot: "MarkLabel",
  shouldForwardProp: (e) => vs(e) && e !== "markLabelActive",
  overridesResolver: (e, t) => t.markLabel
})(({
  theme: e
}) => m({}, e.typography.body2, {
  color: (e.vars || e).palette.text.secondary,
  position: "absolute",
  whiteSpace: "nowrap",
  variants: [{
    props: {
      orientation: "horizontal"
    },
    style: {
      top: 30,
      transform: "translateX(-50%)",
      "@media (pointer: coarse)": {
        top: 40
      }
    }
  }, {
    props: {
      orientation: "vertical"
    },
    style: {
      left: 36,
      transform: "translateY(50%)",
      "@media (pointer: coarse)": {
        left: 44
      }
    }
  }, {
    props: {
      markLabelActive: !0
    },
    style: {
      color: (e.vars || e).palette.text.primary
    }
  }]
})), T9 = (e) => {
  const {
    disabled: t,
    dragging: o,
    marked: r,
    orientation: a,
    track: i,
    classes: s,
    color: l,
    size: c
  } = e, u = {
    root: ["root", t && "disabled", o && "dragging", r && "marked", a === "vertical" && "vertical", i === "inverted" && "trackInverted", i === !1 && "trackFalse", l && `color${ee(l)}`, c && `size${ee(c)}`],
    rail: ["rail"],
    track: ["track"],
    mark: ["mark"],
    markActive: ["markActive"],
    markLabel: ["markLabel"],
    markLabelActive: ["markLabelActive"],
    valueLabel: ["valueLabel"],
    thumb: ["thumb", t && "disabled", c && `thumbSize${ee(c)}`, l && `thumbColor${ee(l)}`],
    active: ["active"],
    disabled: ["disabled"],
    focusVisible: ["focusVisible"]
  };
  return ve(u, p9, s);
}, w9 = ({
  children: e
}) => e, bb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a, i, s, l, c, u, p, f, g, v, b, h, y, C, E, w, T, O, P, S, $, A, N;
  const D = Ee({
    props: t,
    name: "MuiSlider"
  }), V = To(), {
    "aria-label": L,
    "aria-valuetext": I,
    "aria-labelledby": R,
    // eslint-disable-next-line react/prop-types
    component: k = "span",
    components: F = {},
    componentsProps: M = {},
    color: B = "primary",
    classes: j,
    className: W,
    disableSwap: re = !1,
    disabled: J = !1,
    getAriaLabel: Q,
    getAriaValueText: X,
    marks: Y = !1,
    max: Z = 100,
    min: H = 0,
    orientation: K = "horizontal",
    shiftStep: ne = 10,
    size: ae = "medium",
    step: z = 1,
    scale: q = jf,
    slotProps: te,
    slots: ie,
    track: de = "normal",
    valueLabelDisplay: ge = "off",
    valueLabelFormat: fe = jf
  } = D, Oe = oe(D, m9), Te = m({}, D, {
    isRtl: V,
    max: Z,
    min: H,
    classes: j,
    disabled: J,
    disableSwap: re,
    orientation: K,
    marks: Y,
    color: B,
    size: ae,
    step: z,
    shiftStep: ne,
    scale: q,
    track: de,
    valueLabelDisplay: ge,
    valueLabelFormat: fe
  }), {
    axisProps: Re,
    getRootProps: Be,
    getHiddenInputProps: je,
    getThumbProps: Fe,
    open: et,
    active: ct,
    axis: ot,
    focusedThumbIndex: ue,
    range: le,
    dragging: xe,
    marks: ke,
    values: De,
    trackOffset: Ie,
    trackLeap: we,
    getThumbStyle: pe
  } = u9(m({}, Te, {
    rootRef: o
  }));
  Te.marked = ke.length > 0 && ke.some((Ge) => Ge.label), Te.dragging = xe, Te.focusedThumbIndex = ue;
  const me = T9(Te), Se = (r = (a = ie == null ? void 0 : ie.root) != null ? a : F.Root) != null ? r : h9, Ne = (i = (s = ie == null ? void 0 : ie.rail) != null ? s : F.Rail) != null ? i : g9, Me = (l = (c = ie == null ? void 0 : ie.track) != null ? c : F.Track) != null ? l : b9, We = (u = (p = ie == null ? void 0 : ie.thumb) != null ? p : F.Thumb) != null ? u : y9, it = (f = (g = ie == null ? void 0 : ie.valueLabel) != null ? g : F.ValueLabel) != null ? f : v9, bt = (v = (b = ie == null ? void 0 : ie.mark) != null ? b : F.Mark) != null ? v : x9, yt = (h = (y = ie == null ? void 0 : ie.markLabel) != null ? y : F.MarkLabel) != null ? h : C9, Tn = (C = (E = ie == null ? void 0 : ie.input) != null ? E : F.Input) != null ? C : "input", ro = (w = te == null ? void 0 : te.root) != null ? w : M.root, Br = (T = te == null ? void 0 : te.rail) != null ? T : M.rail, Eo = (O = te == null ? void 0 : te.track) != null ? O : M.track, So = (P = te == null ? void 0 : te.thumb) != null ? P : M.thumb, It = (S = te == null ? void 0 : te.valueLabel) != null ? S : M.valueLabel, Wr = ($ = te == null ? void 0 : te.mark) != null ? $ : M.mark, Un = (A = te == null ? void 0 : te.markLabel) != null ? A : M.markLabel, Po = (N = te == null ? void 0 : te.input) != null ? N : M.input, At = $e({
    elementType: Se,
    getSlotProps: Be,
    externalSlotProps: ro,
    externalForwardedProps: Oe,
    additionalProps: m({}, d9(Se) && {
      as: k
    }),
    ownerState: m({}, Te, ro == null ? void 0 : ro.ownerState),
    className: [me.root, W]
  }), Hn = $e({
    elementType: Ne,
    externalSlotProps: Br,
    ownerState: Te,
    className: me.rail
  }), Dn = $e({
    elementType: Me,
    externalSlotProps: Eo,
    additionalProps: {
      style: m({}, Re[ot].offset(Ie), Re[ot].leap(we))
    },
    ownerState: m({}, Te, Eo == null ? void 0 : Eo.ownerState),
    className: me.track
  }), wn = $e({
    elementType: We,
    getSlotProps: Fe,
    externalSlotProps: So,
    ownerState: m({}, Te, So == null ? void 0 : So.ownerState),
    className: me.thumb
  }), Ro = $e({
    elementType: it,
    externalSlotProps: It,
    ownerState: m({}, Te, It == null ? void 0 : It.ownerState),
    className: me.valueLabel
  }), ao = $e({
    elementType: bt,
    externalSlotProps: Wr,
    ownerState: Te,
    className: me.mark
  }), io = $e({
    elementType: yt,
    externalSlotProps: Un,
    ownerState: Te,
    className: me.markLabel
  }), Go = $e({
    elementType: Tn,
    getSlotProps: je,
    externalSlotProps: Po,
    ownerState: Te
  });
  return /* @__PURE__ */ he(Se, m({}, At, {
    children: [/* @__PURE__ */ x(Ne, m({}, Hn)), /* @__PURE__ */ x(Me, m({}, Dn)), ke.filter((Ge) => Ge.value >= H && Ge.value <= Z).map((Ge, wt) => {
      const ko = es(Ge.value, H, Z), so = Re[ot].offset(ko);
      let Yt;
      return de === !1 ? Yt = De.indexOf(Ge.value) !== -1 : Yt = de === "normal" && (le ? Ge.value >= De[0] && Ge.value <= De[De.length - 1] : Ge.value <= De[0]) || de === "inverted" && (le ? Ge.value <= De[0] || Ge.value >= De[De.length - 1] : Ge.value >= De[0]), /* @__PURE__ */ he(d.Fragment, {
        children: [/* @__PURE__ */ x(bt, m({
          "data-index": wt
        }, ao, !Fn(bt) && {
          markActive: Yt
        }, {
          style: m({}, so, ao.style),
          className: ce(ao.className, Yt && me.markActive)
        })), Ge.label != null ? /* @__PURE__ */ x(yt, m({
          "aria-hidden": !0,
          "data-index": wt
        }, io, !Fn(yt) && {
          markLabelActive: Yt
        }, {
          style: m({}, so, io.style),
          className: ce(me.markLabel, io.className, Yt && me.markLabelActive),
          children: Ge.label
        })) : null]
      }, wt);
    }), De.map((Ge, wt) => {
      const ko = es(Ge, H, Z), so = Re[ot].offset(ko), Yt = ge === "off" ? w9 : it;
      return (
        /* TODO v6: Change component structure. It will help in avoiding the complicated React.cloneElement API added in SliderValueLabel component. Should be: Thumb -> Input, ValueLabel. Follow Joy UI's Slider structure. */
        /* @__PURE__ */ x(Yt, m({}, !Fn(Yt) && {
          valueLabelFormat: fe,
          valueLabelDisplay: ge,
          value: typeof fe == "function" ? fe(q(Ge), wt) : fe,
          index: wt,
          open: et === wt || ct === wt || ge === "on",
          disabled: J
        }, Ro, {
          children: /* @__PURE__ */ x(We, m({
            "data-index": wt
          }, wn, {
            className: ce(me.thumb, wn.className, ct === wt && me.active, ue === wt && me.focusVisible),
            style: m({}, so, pe(wt), wn.style),
            children: /* @__PURE__ */ x(Tn, m({
              "data-index": wt,
              "aria-label": Q ? Q(wt) : L,
              "aria-valuenow": q(Ge),
              "aria-labelledby": R,
              "aria-valuetext": X ? X(q(Ge), wt) : I,
              value: De[wt]
            }, Go))
          }))
        }), wt)
      );
    })]
  }));
});
process.env.NODE_ENV !== "production" && (bb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The label of the slider.
   */
  "aria-label": Jt(n.string, (e) => Array.isArray(e.value || e.defaultValue) && e["aria-label"] != null ? new Error("MUI: You need to use the `getAriaLabel` prop instead of `aria-label` when using a range slider.") : null),
  /**
   * The id of the element containing a label for the slider.
   */
  "aria-labelledby": n.string,
  /**
   * A string value that provides a user-friendly name for the current value of the slider.
   */
  "aria-valuetext": Jt(n.string, (e) => Array.isArray(e.value || e.defaultValue) && e["aria-valuetext"] != null ? new Error("MUI: You need to use the `getAriaValueText` prop instead of `aria-valuetext` when using a range slider.") : null),
  /**
   * @ignore
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOfType([n.oneOf(["primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * The components used for each slot inside.
   *
   * @deprecated use the `slots` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
   *
   * @default {}
   */
  components: n.shape({
    Input: n.elementType,
    Mark: n.elementType,
    MarkLabel: n.elementType,
    Rail: n.elementType,
    Root: n.elementType,
    Thumb: n.elementType,
    Track: n.elementType,
    ValueLabel: n.elementType
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
   *
   * @default {}
   */
  componentsProps: n.shape({
    input: n.oneOfType([n.func, n.object]),
    mark: n.oneOfType([n.func, n.object]),
    markLabel: n.oneOfType([n.func, n.object]),
    rail: n.oneOfType([n.func, n.object]),
    root: n.oneOfType([n.func, n.object]),
    thumb: n.oneOfType([n.func, n.object]),
    track: n.oneOfType([n.func, n.object]),
    valueLabel: n.oneOfType([n.func, n.shape({
      children: n.element,
      className: n.string,
      open: n.bool,
      style: n.object,
      value: n.number,
      valueLabelDisplay: n.oneOf(["auto", "off", "on"])
    })])
  }),
  /**
   * The default value. Use when the component is not controlled.
   */
  defaultValue: n.oneOfType([n.arrayOf(n.number), n.number]),
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, the active thumb doesn't swap when moving pointer over a thumb while dragging another thumb.
   * @default false
   */
  disableSwap: n.bool,
  /**
   * Accepts a function which returns a string value that provides a user-friendly name for the thumb labels of the slider.
   * This is important for screen reader users.
   * @param {number} index The thumb label's index to format.
   * @returns {string}
   */
  getAriaLabel: n.func,
  /**
   * Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider.
   * This is important for screen reader users.
   * @param {number} value The thumb label's value to format.
   * @param {number} index The thumb label's index to format.
   * @returns {string}
   */
  getAriaValueText: n.func,
  /**
   * Marks indicate predetermined values to which the user can move the slider.
   * If `true` the marks are spaced according the value of the `step` prop.
   * If an array, it should contain objects with `value` and an optional `label` keys.
   * @default false
   */
  marks: n.oneOfType([n.arrayOf(n.shape({
    label: n.node,
    value: n.number.isRequired
  })), n.bool]),
  /**
   * The maximum allowed value of the slider.
   * Should not be equal to min.
   * @default 100
   */
  max: n.number,
  /**
   * The minimum allowed value of the slider.
   * Should not be equal to max.
   * @default 0
   */
  min: n.number,
  /**
   * Name attribute of the hidden `input` element.
   */
  name: n.string,
  /**
   * Callback function that is fired when the slider's value changed.
   *
   * @param {Event} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (any).
   * **Warning**: This is a generic event not a change event.
   * @param {number | number[]} value The new value.
   * @param {number} activeThumb Index of the currently moved thumb.
   */
  onChange: n.func,
  /**
   * Callback function that is fired when the `mouseup` is triggered.
   *
   * @param {React.SyntheticEvent | Event} event The event source of the callback. **Warning**: This is a generic event not a change event.
   * @param {number | number[]} value The new value.
   */
  onChangeCommitted: n.func,
  /**
   * The component orientation.
   * @default 'horizontal'
   */
  orientation: n.oneOf(["horizontal", "vertical"]),
  /**
   * A transformation function, to change the scale of the slider.
   * @param {any} x
   * @returns {any}
   * @default function Identity(x) {
   *   return x;
   * }
   */
  scale: n.func,
  /**
   * The granularity with which the slider can step through values when using Page Up/Page Down or Shift + Arrow Up/Arrow Down.
   * @default 10
   */
  shiftStep: n.number,
  /**
   * The size of the slider.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["small", "medium"]), n.string]),
  /**
   * The props used for each slot inside the Slider.
   * @default {}
   */
  slotProps: n.shape({
    input: n.oneOfType([n.func, n.object]),
    mark: n.oneOfType([n.func, n.object]),
    markLabel: n.oneOfType([n.func, n.object]),
    rail: n.oneOfType([n.func, n.object]),
    root: n.oneOfType([n.func, n.object]),
    thumb: n.oneOfType([n.func, n.object]),
    track: n.oneOfType([n.func, n.object]),
    valueLabel: n.oneOfType([n.func, n.shape({
      children: n.element,
      className: n.string,
      open: n.bool,
      style: n.object,
      value: n.number,
      valueLabelDisplay: n.oneOf(["auto", "off", "on"])
    })])
  }),
  /**
   * The components used for each slot inside the Slider.
   * Either a string to use a HTML element or a component.
   * @default {}
   */
  slots: n.shape({
    input: n.elementType,
    mark: n.elementType,
    markLabel: n.elementType,
    rail: n.elementType,
    root: n.elementType,
    thumb: n.elementType,
    track: n.elementType,
    valueLabel: n.elementType
  }),
  /**
   * The granularity with which the slider can step through values. (A "discrete" slider.)
   * The `min` prop serves as the origin for the valid values.
   * We recommend (max - min) to be evenly divisible by the step.
   *
   * When step is `null`, the thumb can only be slid onto marks provided with the `marks` prop.
   * @default 1
   */
  step: n.number,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Tab index attribute of the hidden `input` element.
   */
  tabIndex: n.number,
  /**
   * The track presentation:
   *
   * - `normal` the track will render a bar representing the slider value.
   * - `inverted` the track will render a bar representing the remaining slider value.
   * - `false` the track will render without a bar.
   * @default 'normal'
   */
  track: n.oneOf(["inverted", "normal", !1]),
  /**
   * The value of the slider.
   * For ranged sliders, provide an array with two values.
   */
  value: n.oneOfType([n.arrayOf(n.number), n.number]),
  /**
   * Controls when the value label is displayed:
   *
   * - `auto` the value label will display when the thumb is hovered or focused.
   * - `on` will display persistently.
   * - `off` will never display.
   * @default 'off'
   */
  valueLabelDisplay: n.oneOf(["auto", "off", "on"]),
  /**
   * The format function the value label's value.
   *
   * When a function is provided, it should have the following signature:
   *
   * - {number} value The value label's value to format
   * - {number} index The value label's index to format
   * @param {any} x
   * @returns {any}
   * @default function Identity(x) {
   *   return x;
   * }
   */
  valueLabelFormat: n.oneOfType([n.func, n.string])
});
function O9(e = {}) {
  const {
    autoHideDuration: t = null,
    disableWindowBlurListener: o = !1,
    onClose: r,
    open: a,
    resumeHideDuration: i
  } = e, s = mo();
  d.useEffect(() => {
    if (!a)
      return;
    function C(E) {
      E.defaultPrevented || (E.key === "Escape" || E.key === "Esc") && (r == null || r(E, "escapeKeyDown"));
    }
    return document.addEventListener("keydown", C), () => {
      document.removeEventListener("keydown", C);
    };
  }, [a, r]);
  const l = Ce((C, E) => {
    r == null || r(C, E);
  }), c = Ce((C) => {
    !r || C == null || s.start(C, () => {
      l(null, "timeout");
    });
  });
  d.useEffect(() => (a && c(t), s.clear), [a, t, c, s]);
  const u = (C) => {
    r == null || r(C, "clickaway");
  }, p = s.clear, f = d.useCallback(() => {
    t != null && c(i ?? t * 0.5);
  }, [t, i, c]), g = (C) => (E) => {
    const w = C.onBlur;
    w == null || w(E), f();
  }, v = (C) => (E) => {
    const w = C.onFocus;
    w == null || w(E), p();
  }, b = (C) => (E) => {
    const w = C.onMouseEnter;
    w == null || w(E), p();
  }, h = (C) => (E) => {
    const w = C.onMouseLeave;
    w == null || w(E), f();
  };
  return d.useEffect(() => {
    if (!o && a)
      return window.addEventListener("focus", f), window.addEventListener("blur", p), () => {
        window.removeEventListener("focus", f), window.removeEventListener("blur", p);
      };
  }, [o, a, f, p]), {
    getRootProps: (C = {}) => {
      const E = m({}, Vo(e), Vo(C));
      return m({
        // ClickAwayListener adds an `onClick` prop which results in the alert not being announced.
        // See https://github.com/mui/material-ui/issues/29080
        role: "presentation"
      }, C, E, {
        onBlur: g(E),
        onFocus: v(E),
        onMouseEnter: b(E),
        onMouseLeave: h(E)
      });
    },
    onClickAway: u
  };
}
function E9(e) {
  return ye("MuiSnackbarContent", e);
}
be("MuiSnackbarContent", ["root", "message", "action"]);
const S9 = ["action", "className", "message", "role"], P9 = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"],
    action: ["action"],
    message: ["message"]
  }, E9, t);
}, R9 = U($n, {
  name: "MuiSnackbarContent",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})(({
  theme: e
}) => {
  const t = e.palette.mode === "light" ? 0.8 : 0.98, o = Ql(e.palette.background.default, t);
  return m({}, e.typography.body2, {
    color: e.vars ? e.vars.palette.SnackbarContent.color : e.palette.getContrastText(o),
    backgroundColor: e.vars ? e.vars.palette.SnackbarContent.bg : o,
    display: "flex",
    alignItems: "center",
    flexWrap: "wrap",
    padding: "6px 16px",
    borderRadius: (e.vars || e).shape.borderRadius,
    flexGrow: 1,
    [e.breakpoints.up("sm")]: {
      flexGrow: "initial",
      minWidth: 288
    }
  });
}), k9 = U("div", {
  name: "MuiSnackbarContent",
  slot: "Message",
  overridesResolver: (e, t) => t.message
})({
  padding: "8px 0"
}), M9 = U("div", {
  name: "MuiSnackbarContent",
  slot: "Action",
  overridesResolver: (e, t) => t.action
})({
  display: "flex",
  alignItems: "center",
  marginLeft: "auto",
  paddingLeft: 16,
  marginRight: -8
}), yb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiSnackbarContent"
  }), {
    action: a,
    className: i,
    message: s,
    role: l = "alert"
  } = r, c = oe(r, S9), u = r, p = P9(u);
  return /* @__PURE__ */ he(R9, m({
    role: l,
    square: !0,
    elevation: 6,
    className: ce(p.root, i),
    ownerState: u,
    ref: o
  }, c, {
    children: [/* @__PURE__ */ x(k9, {
      className: p.message,
      ownerState: u,
      children: s
    }), a ? /* @__PURE__ */ x(M9, {
      className: p.action,
      ownerState: u,
      children: a
    }) : null]
  }));
});
process.env.NODE_ENV !== "production" && (yb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The action to display. It renders after the message, at the end of the snackbar.
   */
  action: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The message to display.
   */
  message: n.node,
  /**
   * The ARIA role attribute of the element.
   * @default 'alert'
   */
  role: n.string,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function $9(e) {
  return ye("MuiSnackbar", e);
}
be("MuiSnackbar", ["root", "anchorOriginTopCenter", "anchorOriginBottomCenter", "anchorOriginTopRight", "anchorOriginBottomRight", "anchorOriginTopLeft", "anchorOriginBottomLeft"]);
const D9 = ["onEnter", "onExited"], I9 = ["action", "anchorOrigin", "autoHideDuration", "children", "className", "ClickAwayListenerProps", "ContentProps", "disableWindowBlurListener", "message", "onBlur", "onClose", "onFocus", "onMouseEnter", "onMouseLeave", "open", "resumeHideDuration", "TransitionComponent", "transitionDuration", "TransitionProps"], N9 = (e) => {
  const {
    classes: t,
    anchorOrigin: o
  } = e, r = {
    root: ["root", `anchorOrigin${ee(o.vertical)}${ee(o.horizontal)}`]
  };
  return ve(r, $9, t);
}, Vf = U("div", {
  name: "MuiSnackbar",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[`anchorOrigin${ee(o.anchorOrigin.vertical)}${ee(o.anchorOrigin.horizontal)}`]];
  }
})(({
  theme: e,
  ownerState: t
}) => {
  const o = {
    left: "50%",
    right: "auto",
    transform: "translateX(-50%)"
  };
  return m({
    zIndex: (e.vars || e).zIndex.snackbar,
    position: "fixed",
    display: "flex",
    left: 8,
    right: 8,
    justifyContent: "center",
    alignItems: "center"
  }, t.anchorOrigin.vertical === "top" ? {
    top: 8
  } : {
    bottom: 8
  }, t.anchorOrigin.horizontal === "left" && {
    justifyContent: "flex-start"
  }, t.anchorOrigin.horizontal === "right" && {
    justifyContent: "flex-end"
  }, {
    [e.breakpoints.up("sm")]: m({}, t.anchorOrigin.vertical === "top" ? {
      top: 24
    } : {
      bottom: 24
    }, t.anchorOrigin.horizontal === "center" && o, t.anchorOrigin.horizontal === "left" && {
      left: 24,
      right: "auto"
    }, t.anchorOrigin.horizontal === "right" && {
      right: 24,
      left: "auto"
    })
  });
}), vb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiSnackbar"
  }), a = vn(), i = {
    enter: a.transitions.duration.enteringScreen,
    exit: a.transitions.duration.leavingScreen
  }, {
    action: s,
    anchorOrigin: {
      vertical: l,
      horizontal: c
    } = {
      vertical: "bottom",
      horizontal: "left"
    },
    autoHideDuration: u = null,
    children: p,
    className: f,
    ClickAwayListenerProps: g,
    ContentProps: v,
    disableWindowBlurListener: b = !1,
    message: h,
    open: y,
    TransitionComponent: C = Uo,
    transitionDuration: E = i,
    TransitionProps: {
      onEnter: w,
      onExited: T
    } = {}
  } = r, O = oe(r.TransitionProps, D9), P = oe(r, I9), S = m({}, r, {
    anchorOrigin: {
      vertical: l,
      horizontal: c
    },
    autoHideDuration: u,
    disableWindowBlurListener: b,
    TransitionComponent: C,
    transitionDuration: E
  }), $ = N9(S), {
    getRootProps: A,
    onClickAway: N
  } = O9(m({}, S)), [D, V] = d.useState(!0), L = $e({
    elementType: Vf,
    getSlotProps: A,
    externalForwardedProps: P,
    ownerState: S,
    additionalProps: {
      ref: o
    },
    className: [$.root, f]
  }), I = (k) => {
    V(!0), T && T(k);
  }, R = (k, F) => {
    V(!1), w && w(k, F);
  };
  return !y && D ? null : /* @__PURE__ */ x(Qi, m({
    onClickAway: N
  }, g, {
    children: /* @__PURE__ */ x(Vf, m({}, L, {
      children: /* @__PURE__ */ x(C, m({
        appear: !0,
        in: y,
        timeout: E,
        direction: l === "top" ? "down" : "up",
        onEnter: R,
        onExited: I
      }, O, {
        children: p || /* @__PURE__ */ x(yb, m({
          message: h,
          action: s
        }, v))
      }))
    }))
  }));
});
process.env.NODE_ENV !== "production" && (vb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The action to display. It renders after the message, at the end of the snackbar.
   */
  action: n.node,
  /**
   * The anchor of the `Snackbar`.
   * On smaller screens, the component grows to occupy all the available width,
   * the horizontal alignment is ignored.
   * @default { vertical: 'bottom', horizontal: 'left' }
   */
  anchorOrigin: n.shape({
    horizontal: n.oneOf(["center", "left", "right"]).isRequired,
    vertical: n.oneOf(["bottom", "top"]).isRequired
  }),
  /**
   * The number of milliseconds to wait before automatically calling the
   * `onClose` function. `onClose` should then set the state of the `open`
   * prop to hide the Snackbar. This behavior is disabled by default with
   * the `null` value.
   * @default null
   */
  autoHideDuration: n.number,
  /**
   * Replace the `SnackbarContent` component.
   */
  children: n.element,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * Props applied to the `ClickAwayListener` element.
   */
  ClickAwayListenerProps: n.object,
  /**
   * Props applied to the [`SnackbarContent`](/material-ui/api/snackbar-content/) element.
   */
  ContentProps: n.object,
  /**
   * If `true`, the `autoHideDuration` timer will expire even if the window is not focused.
   * @default false
   */
  disableWindowBlurListener: n.bool,
  /**
   * When displaying multiple consecutive snackbars using a single parent-rendered
   * `<Snackbar/>`, add the `key` prop to ensure independent treatment of each message.
   * For instance, use `<Snackbar key={message} />`. Otherwise, messages might update
   * in place, and features like `autoHideDuration` could be affected.
   */
  key: () => null,
  /**
   * The message to display.
   */
  message: n.node,
  /**
   * @ignore
   */
  onBlur: n.func,
  /**
   * Callback fired when the component requests to be closed.
   * Typically `onClose` is used to set state in the parent component,
   * which is used to control the `Snackbar` `open` prop.
   * The `reason` parameter can optionally be used to control the response to `onClose`,
   * for example ignoring `clickaway`.
   *
   * @param {React.SyntheticEvent<any> | Event} event The event source of the callback.
   * @param {string} reason Can be: `"timeout"` (`autoHideDuration` expired), `"clickaway"`, or `"escapeKeyDown"`.
   */
  onClose: n.func,
  /**
   * @ignore
   */
  onFocus: n.func,
  /**
   * @ignore
   */
  onMouseEnter: n.func,
  /**
   * @ignore
   */
  onMouseLeave: n.func,
  /**
   * If `true`, the component is shown.
   */
  open: n.bool,
  /**
   * The number of milliseconds to wait before dismissing after user interaction.
   * If `autoHideDuration` prop isn't specified, it does nothing.
   * If `autoHideDuration` prop is specified but `resumeHideDuration` isn't,
   * we default to `autoHideDuration / 2` ms.
   */
  resumeHideDuration: n.number,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The component used for the transition.
   * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
   * @default Grow
   */
  TransitionComponent: n.elementType,
  /**
   * The duration for the transition, in milliseconds.
   * You may specify a single timeout for all transitions, or individually with an object.
   * @default {
   *   enter: theme.transitions.duration.enteringScreen,
   *   exit: theme.transitions.duration.leavingScreen,
   * }
   */
  transitionDuration: n.oneOfType([n.number, n.shape({
    appear: n.number,
    enter: n.number,
    exit: n.number
  })]),
  /**
   * Props applied to the transition element.
   * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
   * @default {}
   */
  TransitionProps: n.object
});
function _9(e) {
  return ye("MuiTooltip", e);
}
const ho = be("MuiTooltip", ["popper", "popperInteractive", "popperArrow", "popperClose", "tooltip", "tooltipArrow", "touch", "tooltipPlacementLeft", "tooltipPlacementRight", "tooltipPlacementTop", "tooltipPlacementBottom", "arrow"]), A9 = ["arrow", "children", "classes", "components", "componentsProps", "describeChild", "disableFocusListener", "disableHoverListener", "disableInteractive", "disableTouchListener", "enterDelay", "enterNextDelay", "enterTouchDelay", "followCursor", "id", "leaveDelay", "leaveTouchDelay", "onClose", "onOpen", "open", "placement", "PopperComponent", "PopperProps", "slotProps", "slots", "title", "TransitionComponent", "TransitionProps"];
function L9(e) {
  return Math.round(e * 1e5) / 1e5;
}
const F9 = (e) => {
  const {
    classes: t,
    disableInteractive: o,
    arrow: r,
    touch: a,
    placement: i
  } = e, s = {
    popper: ["popper", !o && "popperInteractive", r && "popperArrow"],
    tooltip: ["tooltip", r && "tooltipArrow", a && "touch", `tooltipPlacement${ee(i.split("-")[0])}`],
    arrow: ["arrow"]
  };
  return ve(s, _9, t);
}, j9 = U(Ss, {
  name: "MuiTooltip",
  slot: "Popper",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.popper, !o.disableInteractive && t.popperInteractive, o.arrow && t.popperArrow, !o.open && t.popperClose];
  }
})(({
  theme: e,
  ownerState: t,
  open: o
}) => m({
  zIndex: (e.vars || e).zIndex.tooltip,
  pointerEvents: "none"
}, !t.disableInteractive && {
  pointerEvents: "auto"
}, !o && {
  pointerEvents: "none"
}, t.arrow && {
  [`&[data-popper-placement*="bottom"] .${ho.arrow}`]: {
    top: 0,
    marginTop: "-0.71em",
    "&::before": {
      transformOrigin: "0 100%"
    }
  },
  [`&[data-popper-placement*="top"] .${ho.arrow}`]: {
    bottom: 0,
    marginBottom: "-0.71em",
    "&::before": {
      transformOrigin: "100% 0"
    }
  },
  [`&[data-popper-placement*="right"] .${ho.arrow}`]: m({}, t.isRtl ? {
    right: 0,
    marginRight: "-0.71em"
  } : {
    left: 0,
    marginLeft: "-0.71em"
  }, {
    height: "1em",
    width: "0.71em",
    "&::before": {
      transformOrigin: "100% 100%"
    }
  }),
  [`&[data-popper-placement*="left"] .${ho.arrow}`]: m({}, t.isRtl ? {
    left: 0,
    marginLeft: "-0.71em"
  } : {
    right: 0,
    marginRight: "-0.71em"
  }, {
    height: "1em",
    width: "0.71em",
    "&::before": {
      transformOrigin: "0 0"
    }
  })
})), V9 = U("div", {
  name: "MuiTooltip",
  slot: "Tooltip",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.tooltip, o.touch && t.touch, o.arrow && t.tooltipArrow, t[`tooltipPlacement${ee(o.placement.split("-")[0])}`]];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  backgroundColor: e.vars ? e.vars.palette.Tooltip.bg : _e(e.palette.grey[700], 0.92),
  borderRadius: (e.vars || e).shape.borderRadius,
  color: (e.vars || e).palette.common.white,
  fontFamily: e.typography.fontFamily,
  padding: "4px 8px",
  fontSize: e.typography.pxToRem(11),
  maxWidth: 300,
  margin: 2,
  wordWrap: "break-word",
  fontWeight: e.typography.fontWeightMedium
}, t.arrow && {
  position: "relative",
  margin: 0
}, t.touch && {
  padding: "8px 16px",
  fontSize: e.typography.pxToRem(14),
  lineHeight: `${L9(16 / 14)}em`,
  fontWeight: e.typography.fontWeightRegular
}, {
  [`.${ho.popper}[data-popper-placement*="left"] &`]: m({
    transformOrigin: "right center"
  }, t.isRtl ? m({
    marginLeft: "14px"
  }, t.touch && {
    marginLeft: "24px"
  }) : m({
    marginRight: "14px"
  }, t.touch && {
    marginRight: "24px"
  })),
  [`.${ho.popper}[data-popper-placement*="right"] &`]: m({
    transformOrigin: "left center"
  }, t.isRtl ? m({
    marginRight: "14px"
  }, t.touch && {
    marginRight: "24px"
  }) : m({
    marginLeft: "14px"
  }, t.touch && {
    marginLeft: "24px"
  })),
  [`.${ho.popper}[data-popper-placement*="top"] &`]: m({
    transformOrigin: "center bottom",
    marginBottom: "14px"
  }, t.touch && {
    marginBottom: "24px"
  }),
  [`.${ho.popper}[data-popper-placement*="bottom"] &`]: m({
    transformOrigin: "center top",
    marginTop: "14px"
  }, t.touch && {
    marginTop: "24px"
  })
})), z9 = U("span", {
  name: "MuiTooltip",
  slot: "Arrow",
  overridesResolver: (e, t) => t.arrow
})(({
  theme: e
}) => ({
  overflow: "hidden",
  position: "absolute",
  width: "1em",
  height: "0.71em",
  boxSizing: "border-box",
  color: e.vars ? e.vars.palette.Tooltip.bg : _e(e.palette.grey[700], 0.9),
  "&::before": {
    content: '""',
    margin: "auto",
    display: "block",
    width: "100%",
    height: "100%",
    backgroundColor: "currentColor",
    transform: "rotate(45deg)"
  }
}));
let gi = !1;
const zf = new Ia();
let ra = {
  x: 0,
  y: 0
};
function bi(e, t) {
  return (o, ...r) => {
    t && t(o, ...r), e(o, ...r);
  };
}
const xb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a, i, s, l, c, u, p, f, g, v, b, h, y, C, E, w, T, O;
  const P = Ee({
    props: t,
    name: "MuiTooltip"
  }), {
    arrow: S = !1,
    children: $,
    components: A = {},
    componentsProps: N = {},
    describeChild: D = !1,
    disableFocusListener: V = !1,
    disableHoverListener: L = !1,
    disableInteractive: I = !1,
    disableTouchListener: R = !1,
    enterDelay: k = 100,
    enterNextDelay: F = 0,
    enterTouchDelay: M = 700,
    followCursor: B = !1,
    id: j,
    leaveDelay: W = 0,
    leaveTouchDelay: re = 1500,
    onClose: J,
    onOpen: Q,
    open: X,
    placement: Y = "bottom",
    PopperComponent: Z,
    PopperProps: H = {},
    slotProps: K = {},
    slots: ne = {},
    title: ae,
    TransitionComponent: z = Uo,
    TransitionProps: q
  } = P, te = oe(P, A9), ie = /* @__PURE__ */ d.isValidElement($) ? $ : /* @__PURE__ */ x("span", {
    children: $
  }), de = vn(), ge = To(), [fe, Oe] = d.useState(), [Te, Re] = d.useState(null), Be = d.useRef(!1), je = I || B, Fe = mo(), et = mo(), ct = mo(), ot = mo(), [ue, le] = Vt({
    controlled: X,
    default: !1,
    name: "Tooltip",
    state: "open"
  });
  let xe = ue;
  if (process.env.NODE_ENV !== "production") {
    const {
      current: Ve
    } = d.useRef(X !== void 0);
    d.useEffect(() => {
      fe && fe.disabled && !Ve && ae !== "" && fe.tagName.toLowerCase() === "button" && console.error(["MUI: You are providing a disabled `button` child to the Tooltip component.", "A disabled element does not fire events.", "Tooltip needs to listen to the child element's events to display the title.", "", "Add a simple wrapper element, such as a `span`."].join(`
`));
    }, [ae, fe, Ve]);
  }
  const ke = Mn(j), De = d.useRef(), Ie = Ce(() => {
    De.current !== void 0 && (document.body.style.WebkitUserSelect = De.current, De.current = void 0), ot.clear();
  });
  d.useEffect(() => Ie, [Ie]);
  const we = (Ve) => {
    zf.clear(), gi = !0, le(!0), Q && !xe && Q(Ve);
  }, pe = Ce(
    /**
     * @param {React.SyntheticEvent | Event} event
     */
    (Ve) => {
      zf.start(800 + W, () => {
        gi = !1;
      }), le(!1), J && xe && J(Ve), Fe.start(de.transitions.duration.shortest, () => {
        Be.current = !1;
      });
    }
  ), me = (Ve) => {
    Be.current && Ve.type !== "touchstart" || (fe && fe.removeAttribute("title"), et.clear(), ct.clear(), k || gi && F ? et.start(gi ? F : k, () => {
      we(Ve);
    }) : we(Ve));
  }, Se = (Ve) => {
    et.clear(), ct.start(W, () => {
      pe(Ve);
    });
  }, {
    isFocusVisibleRef: Ne,
    onBlur: Me,
    onFocus: We,
    ref: it
  } = Na(), [, bt] = d.useState(!1), yt = (Ve) => {
    Me(Ve), Ne.current === !1 && (bt(!1), Se(Ve));
  }, Tn = (Ve) => {
    fe || Oe(Ve.currentTarget), We(Ve), Ne.current === !0 && (bt(!0), me(Ve));
  }, ro = (Ve) => {
    Be.current = !0;
    const Ft = ie.props;
    Ft.onTouchStart && Ft.onTouchStart(Ve);
  }, Br = (Ve) => {
    ro(Ve), ct.clear(), Fe.clear(), Ie(), De.current = document.body.style.WebkitUserSelect, document.body.style.WebkitUserSelect = "none", ot.start(M, () => {
      document.body.style.WebkitUserSelect = De.current, me(Ve);
    });
  }, Eo = (Ve) => {
    ie.props.onTouchEnd && ie.props.onTouchEnd(Ve), Ie(), ct.start(re, () => {
      pe(Ve);
    });
  };
  d.useEffect(() => {
    if (!xe)
      return;
    function Ve(Ft) {
      (Ft.key === "Escape" || Ft.key === "Esc") && pe(Ft);
    }
    return document.addEventListener("keydown", Ve), () => {
      document.removeEventListener("keydown", Ve);
    };
  }, [pe, xe]);
  const So = ze(Co(ie), it, Oe, o);
  !ae && ae !== 0 && (xe = !1);
  const It = d.useRef(), Wr = (Ve) => {
    const Ft = ie.props;
    Ft.onMouseMove && Ft.onMouseMove(Ve), ra = {
      x: Ve.clientX,
      y: Ve.clientY
    }, It.current && It.current.update();
  }, Un = {}, Po = typeof ae == "string";
  D ? (Un.title = !xe && Po && !L ? ae : null, Un["aria-describedby"] = xe ? ke : null) : (Un["aria-label"] = Po ? ae : null, Un["aria-labelledby"] = xe && !Po ? ke : null);
  const At = m({}, Un, te, ie.props, {
    className: ce(te.className, ie.props.className),
    onTouchStart: ro,
    ref: So
  }, B ? {
    onMouseMove: Wr
  } : {});
  process.env.NODE_ENV !== "production" && (At["data-mui-internal-clone-element"] = !0, d.useEffect(() => {
    fe && !fe.getAttribute("data-mui-internal-clone-element") && console.error(["MUI: The `children` component of the Tooltip is not forwarding its props correctly.", "Please make sure that props are spread on the same element that the ref is applied to."].join(`
`));
  }, [fe]));
  const Hn = {};
  R || (At.onTouchStart = Br, At.onTouchEnd = Eo), L || (At.onMouseOver = bi(me, At.onMouseOver), At.onMouseLeave = bi(Se, At.onMouseLeave), je || (Hn.onMouseOver = me, Hn.onMouseLeave = Se)), V || (At.onFocus = bi(Tn, At.onFocus), At.onBlur = bi(yt, At.onBlur), je || (Hn.onFocus = Tn, Hn.onBlur = yt)), process.env.NODE_ENV !== "production" && ie.props.title && console.error(["MUI: You have provided a `title` prop to the child of <Tooltip />.", `Remove this title prop \`${ie.props.title}\` or the Tooltip component.`].join(`
`));
  const Dn = d.useMemo(() => {
    var Ve;
    let Ft = [{
      name: "arrow",
      enabled: !!Te,
      options: {
        element: Te,
        padding: 4
      }
    }];
    return (Ve = H.popperOptions) != null && Ve.modifiers && (Ft = Ft.concat(H.popperOptions.modifiers)), m({}, H.popperOptions, {
      modifiers: Ft
    });
  }, [Te, H]), wn = m({}, P, {
    isRtl: ge,
    arrow: S,
    disableInteractive: je,
    placement: Y,
    PopperComponentProp: Z,
    touch: Be.current
  }), Ro = F9(wn), ao = (r = (a = ne.popper) != null ? a : A.Popper) != null ? r : j9, io = (i = (s = (l = ne.transition) != null ? l : A.Transition) != null ? s : z) != null ? i : Uo, Go = (c = (u = ne.tooltip) != null ? u : A.Tooltip) != null ? c : V9, Ge = (p = (f = ne.arrow) != null ? f : A.Arrow) != null ? p : z9, wt = lr(ao, m({}, H, (g = K.popper) != null ? g : N.popper, {
    className: ce(Ro.popper, H == null ? void 0 : H.className, (v = (b = K.popper) != null ? b : N.popper) == null ? void 0 : v.className)
  }), wn), ko = lr(io, m({}, q, (h = K.transition) != null ? h : N.transition), wn), so = lr(Go, m({}, (y = K.tooltip) != null ? y : N.tooltip, {
    className: ce(Ro.tooltip, (C = (E = K.tooltip) != null ? E : N.tooltip) == null ? void 0 : C.className)
  }), wn), Yt = lr(Ge, m({}, (w = K.arrow) != null ? w : N.arrow, {
    className: ce(Ro.arrow, (T = (O = K.arrow) != null ? O : N.arrow) == null ? void 0 : T.className)
  }), wn);
  return /* @__PURE__ */ he(d.Fragment, {
    children: [/* @__PURE__ */ d.cloneElement(ie, At), /* @__PURE__ */ x(ao, m({
      as: Z ?? Ss,
      placement: Y,
      anchorEl: B ? {
        getBoundingClientRect: () => ({
          top: ra.y,
          left: ra.x,
          right: ra.x,
          bottom: ra.y,
          width: 0,
          height: 0
        })
      } : fe,
      popperRef: It,
      open: fe ? xe : !1,
      id: ke,
      transition: !0
    }, Hn, wt, {
      popperOptions: Dn,
      children: ({
        TransitionProps: Ve
      }) => /* @__PURE__ */ x(io, m({
        timeout: de.transitions.duration.shorter
      }, Ve, ko, {
        children: /* @__PURE__ */ he(Go, m({}, so, {
          children: [ae, S ? /* @__PURE__ */ x(Ge, m({}, Yt, {
            ref: Re
          })) : null]
        }))
      }))
    }))]
  });
});
process.env.NODE_ENV !== "production" && (xb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * If `true`, adds an arrow to the tooltip.
   * @default false
   */
  arrow: n.bool,
  /**
   * Tooltip reference element.
   */
  children: xo.isRequired,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `slots` prop.
   * It's recommended to use the `slots` prop instead.
   *
   * @default {}
   */
  components: n.shape({
    Arrow: n.elementType,
    Popper: n.elementType,
    Tooltip: n.elementType,
    Transition: n.elementType
  }),
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `slotProps` prop.
   * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
   *
   * @default {}
   */
  componentsProps: n.shape({
    arrow: n.object,
    popper: n.object,
    tooltip: n.object,
    transition: n.object
  }),
  /**
   * Set to `true` if the `title` acts as an accessible description.
   * By default the `title` acts as an accessible label for the child.
   * @default false
   */
  describeChild: n.bool,
  /**
   * Do not respond to focus-visible events.
   * @default false
   */
  disableFocusListener: n.bool,
  /**
   * Do not respond to hover events.
   * @default false
   */
  disableHoverListener: n.bool,
  /**
   * Makes a tooltip not interactive, i.e. it will close when the user
   * hovers over the tooltip before the `leaveDelay` is expired.
   * @default false
   */
  disableInteractive: n.bool,
  /**
   * Do not respond to long press touch events.
   * @default false
   */
  disableTouchListener: n.bool,
  /**
   * The number of milliseconds to wait before showing the tooltip.
   * This prop won't impact the enter touch delay (`enterTouchDelay`).
   * @default 100
   */
  enterDelay: n.number,
  /**
   * The number of milliseconds to wait before showing the tooltip when one was already recently opened.
   * @default 0
   */
  enterNextDelay: n.number,
  /**
   * The number of milliseconds a user must touch the element before showing the tooltip.
   * @default 700
   */
  enterTouchDelay: n.number,
  /**
   * If `true`, the tooltip follow the cursor over the wrapped element.
   * @default false
   */
  followCursor: n.bool,
  /**
   * This prop is used to help implement the accessibility logic.
   * If you don't provide this prop. It falls back to a randomly generated id.
   */
  id: n.string,
  /**
   * The number of milliseconds to wait before hiding the tooltip.
   * This prop won't impact the leave touch delay (`leaveTouchDelay`).
   * @default 0
   */
  leaveDelay: n.number,
  /**
   * The number of milliseconds after the user stops touching an element before hiding the tooltip.
   * @default 1500
   */
  leaveTouchDelay: n.number,
  /**
   * Callback fired when the component requests to be closed.
   *
   * @param {React.SyntheticEvent} event The event source of the callback.
   */
  onClose: n.func,
  /**
   * Callback fired when the component requests to be open.
   *
   * @param {React.SyntheticEvent} event The event source of the callback.
   */
  onOpen: n.func,
  /**
   * If `true`, the component is shown.
   */
  open: n.bool,
  /**
   * Tooltip placement.
   * @default 'bottom'
   */
  placement: n.oneOf(["bottom-end", "bottom-start", "bottom", "left-end", "left-start", "left", "right-end", "right-start", "right", "top-end", "top-start", "top"]),
  /**
   * The component used for the popper.
   * @default Popper
   */
  PopperComponent: n.elementType,
  /**
   * Props applied to the [`Popper`](/material-ui/api/popper/) element.
   * @default {}
   */
  PopperProps: n.object,
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   *
   * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slotProps: n.shape({
    arrow: n.object,
    popper: n.object,
    tooltip: n.object,
    transition: n.object
  }),
  /**
   * The components used for each slot inside.
   *
   * This prop is an alias for the `components` prop, which will be deprecated in the future.
   *
   * @default {}
   */
  slots: n.shape({
    arrow: n.elementType,
    popper: n.elementType,
    tooltip: n.elementType,
    transition: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.
   */
  title: n.node,
  /**
   * The component used for the transition.
   * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
   * @default Grow
   */
  TransitionComponent: n.elementType,
  /**
   * Props applied to the transition element.
   * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
   */
  TransitionProps: n.object
});
function B9(e) {
  return ye("MuiSwitch", e);
}
const jt = be("MuiSwitch", ["root", "edgeStart", "edgeEnd", "switchBase", "colorPrimary", "colorSecondary", "sizeSmall", "sizeMedium", "checked", "disabled", "input", "thumb", "track"]), W9 = ["className", "color", "edge", "size", "sx"], U9 = (e) => {
  const {
    classes: t,
    edge: o,
    size: r,
    color: a,
    checked: i,
    disabled: s
  } = e, l = {
    root: ["root", o && `edge${ee(o)}`, `size${ee(r)}`],
    switchBase: ["switchBase", `color${ee(a)}`, i && "checked", s && "disabled"],
    thumb: ["thumb"],
    track: ["track"],
    input: ["input"]
  }, c = ve(l, B9, t);
  return m({}, t, c);
}, H9 = U("span", {
  name: "MuiSwitch",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.edge && t[`edge${ee(o.edge)}`], t[`size${ee(o.size)}`]];
  }
})({
  display: "inline-flex",
  width: 34 + 12 * 2,
  height: 14 + 12 * 2,
  overflow: "hidden",
  padding: 12,
  boxSizing: "border-box",
  position: "relative",
  flexShrink: 0,
  zIndex: 0,
  // Reset the stacking context.
  verticalAlign: "middle",
  // For correct alignment with the text.
  "@media print": {
    colorAdjust: "exact"
  },
  variants: [{
    props: {
      edge: "start"
    },
    style: {
      marginLeft: -8
    }
  }, {
    props: {
      edge: "end"
    },
    style: {
      marginRight: -8
    }
  }, {
    props: {
      size: "small"
    },
    style: {
      width: 40,
      height: 24,
      padding: 7,
      [`& .${jt.thumb}`]: {
        width: 16,
        height: 16
      },
      [`& .${jt.switchBase}`]: {
        padding: 4,
        [`&.${jt.checked}`]: {
          transform: "translateX(16px)"
        }
      }
    }
  }]
}), q9 = U(Cs, {
  name: "MuiSwitch",
  slot: "SwitchBase",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.switchBase, {
      [`& .${jt.input}`]: t.input
    }, o.color !== "default" && t[`color${ee(o.color)}`]];
  }
})(({
  theme: e
}) => ({
  position: "absolute",
  top: 0,
  left: 0,
  zIndex: 1,
  // Render above the focus ripple.
  color: e.vars ? e.vars.palette.Switch.defaultColor : `${e.palette.mode === "light" ? e.palette.common.white : e.palette.grey[300]}`,
  transition: e.transitions.create(["left", "transform"], {
    duration: e.transitions.duration.shortest
  }),
  [`&.${jt.checked}`]: {
    transform: "translateX(20px)"
  },
  [`&.${jt.disabled}`]: {
    color: e.vars ? e.vars.palette.Switch.defaultDisabledColor : `${e.palette.mode === "light" ? e.palette.grey[100] : e.palette.grey[600]}`
  },
  [`&.${jt.checked} + .${jt.track}`]: {
    opacity: 0.5
  },
  [`&.${jt.disabled} + .${jt.track}`]: {
    opacity: e.vars ? e.vars.opacity.switchTrackDisabled : `${e.palette.mode === "light" ? 0.12 : 0.2}`
  },
  [`& .${jt.input}`]: {
    left: "-100%",
    width: "300%"
  }
}), ({
  theme: e
}) => ({
  "&:hover": {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})` : _e(e.palette.action.active, e.palette.action.hoverOpacity),
    // Reset on touch devices, it doesn't add specificity
    "@media (hover: none)": {
      backgroundColor: "transparent"
    }
  },
  variants: [...Object.entries(e.palette).filter(([, t]) => t.main && t.light).map(([t]) => ({
    props: {
      color: t
    },
    style: {
      [`&.${jt.checked}`]: {
        color: (e.vars || e).palette[t].main,
        "&:hover": {
          backgroundColor: e.vars ? `rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})` : _e(e.palette[t].main, e.palette.action.hoverOpacity),
          "@media (hover: none)": {
            backgroundColor: "transparent"
          }
        },
        [`&.${jt.disabled}`]: {
          color: e.vars ? e.vars.palette.Switch[`${t}DisabledColor`] : `${e.palette.mode === "light" ? bo(e.palette[t].main, 0.62) : go(e.palette[t].main, 0.55)}`
        }
      },
      [`&.${jt.checked} + .${jt.track}`]: {
        backgroundColor: (e.vars || e).palette[t].main
      }
    }
  }))]
})), Y9 = U("span", {
  name: "MuiSwitch",
  slot: "Track",
  overridesResolver: (e, t) => t.track
})(({
  theme: e
}) => ({
  height: "100%",
  width: "100%",
  borderRadius: 14 / 2,
  zIndex: -1,
  transition: e.transitions.create(["opacity", "background-color"], {
    duration: e.transitions.duration.shortest
  }),
  backgroundColor: e.vars ? e.vars.palette.common.onBackground : `${e.palette.mode === "light" ? e.palette.common.black : e.palette.common.white}`,
  opacity: e.vars ? e.vars.opacity.switchTrack : `${e.palette.mode === "light" ? 0.38 : 0.3}`
})), K9 = U("span", {
  name: "MuiSwitch",
  slot: "Thumb",
  overridesResolver: (e, t) => t.thumb
})(({
  theme: e
}) => ({
  boxShadow: (e.vars || e).shadows[1],
  backgroundColor: "currentColor",
  width: 20,
  height: 20,
  borderRadius: "50%"
})), Cb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiSwitch"
  }), {
    className: a,
    color: i = "primary",
    edge: s = !1,
    size: l = "medium",
    sx: c
  } = r, u = oe(r, W9), p = m({}, r, {
    color: i,
    edge: s,
    size: l
  }), f = U9(p), g = /* @__PURE__ */ x(K9, {
    className: f.thumb,
    ownerState: p
  });
  return /* @__PURE__ */ he(H9, {
    className: ce(f.root, a),
    sx: c,
    ownerState: p,
    children: [/* @__PURE__ */ x(q9, m({
      type: "checkbox",
      icon: g,
      checkedIcon: g,
      ref: o,
      ownerState: p
    }, u, {
      classes: m({}, f, {
        root: f.switchBase
      })
    })), /* @__PURE__ */ x(Y9, {
      className: f.track,
      ownerState: p
    })]
  });
});
process.env.NODE_ENV !== "production" && (Cb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * If `true`, the component is checked.
   */
  checked: n.bool,
  /**
   * The icon to display when the component is checked.
   */
  checkedIcon: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.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).
   * @default 'primary'
   */
  color: n.oneOfType([n.oneOf(["default", "primary", "secondary", "error", "info", "success", "warning"]), n.string]),
  /**
   * The default checked state. Use when the component is not controlled.
   */
  defaultChecked: n.bool,
  /**
   * If `true`, the component is disabled.
   */
  disabled: n.bool,
  /**
   * If `true`, the ripple effect is disabled.
   * @default false
   */
  disableRipple: n.bool,
  /**
   * If given, uses a negative margin to counteract the padding on one
   * side (this is often helpful for aligning the left or right
   * side of the icon with content above or below, without ruining the border
   * size and shape).
   * @default false
   */
  edge: n.oneOf(["end", "start", !1]),
  /**
   * The icon to display when the component is unchecked.
   */
  icon: n.node,
  /**
   * The id of the `input` element.
   */
  id: n.string,
  /**
   * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
   */
  inputProps: n.object,
  /**
   * Pass a ref to the `input` element.
   */
  inputRef: ut,
  /**
   * Callback fired when the state is changed.
   *
   * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
   * You can pull out the new value by accessing `event.target.value` (string).
   * You can pull out the new checked state by accessing `event.target.checked` (boolean).
   */
  onChange: n.func,
  /**
   * If `true`, the `input` element is required.
   * @default false
   */
  required: n.bool,
  /**
   * The size of the component.
   * `small` is equivalent to the dense switch styling.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["medium", "small"]), n.string]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The value of the component. The DOM API casts this to a string.
   * The browser uses "on" as the default value.
   */
  value: n.any
});
function G9(e) {
  return ye("MuiTab", e);
}
const po = be("MuiTab", ["root", "labelIcon", "textColorInherit", "textColorPrimary", "textColorSecondary", "selected", "disabled", "fullWidth", "wrapped", "iconWrapper"]), X9 = ["className", "disabled", "disableFocusRipple", "fullWidth", "icon", "iconPosition", "indicator", "label", "onChange", "onClick", "onFocus", "selected", "selectionFollowsFocus", "textColor", "value", "wrapped"], Z9 = (e) => {
  const {
    classes: t,
    textColor: o,
    fullWidth: r,
    wrapped: a,
    icon: i,
    label: s,
    selected: l,
    disabled: c
  } = e, u = {
    root: ["root", i && s && "labelIcon", `textColor${ee(o)}`, r && "fullWidth", a && "wrapped", l && "selected", c && "disabled"],
    iconWrapper: ["iconWrapper"]
  };
  return ve(u, G9, t);
}, Q9 = U(Ht, {
  name: "MuiTab",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.label && o.icon && t.labelIcon, t[`textColor${ee(o.textColor)}`], o.fullWidth && t.fullWidth, o.wrapped && t.wrapped, {
      [`& .${po.iconWrapper}`]: t.iconWrapper
    }];
  }
})(({
  theme: e,
  ownerState: t
}) => m({}, e.typography.button, {
  maxWidth: 360,
  minWidth: 90,
  position: "relative",
  minHeight: 48,
  flexShrink: 0,
  padding: "12px 16px",
  overflow: "hidden",
  whiteSpace: "normal",
  textAlign: "center"
}, t.label && {
  flexDirection: t.iconPosition === "top" || t.iconPosition === "bottom" ? "column" : "row"
}, {
  lineHeight: 1.25
}, t.icon && t.label && {
  minHeight: 72,
  paddingTop: 9,
  paddingBottom: 9,
  [`& > .${po.iconWrapper}`]: m({}, t.iconPosition === "top" && {
    marginBottom: 6
  }, t.iconPosition === "bottom" && {
    marginTop: 6
  }, t.iconPosition === "start" && {
    marginRight: e.spacing(1)
  }, t.iconPosition === "end" && {
    marginLeft: e.spacing(1)
  })
}, t.textColor === "inherit" && {
  color: "inherit",
  opacity: 0.6,
  // same opacity as theme.palette.text.secondary
  [`&.${po.selected}`]: {
    opacity: 1
  },
  [`&.${po.disabled}`]: {
    opacity: (e.vars || e).palette.action.disabledOpacity
  }
}, t.textColor === "primary" && {
  color: (e.vars || e).palette.text.secondary,
  [`&.${po.selected}`]: {
    color: (e.vars || e).palette.primary.main
  },
  [`&.${po.disabled}`]: {
    color: (e.vars || e).palette.text.disabled
  }
}, t.textColor === "secondary" && {
  color: (e.vars || e).palette.text.secondary,
  [`&.${po.selected}`]: {
    color: (e.vars || e).palette.secondary.main
  },
  [`&.${po.disabled}`]: {
    color: (e.vars || e).palette.text.disabled
  }
}, t.fullWidth && {
  flexShrink: 1,
  flexGrow: 1,
  flexBasis: 0,
  maxWidth: "none"
}, t.wrapped && {
  fontSize: e.typography.pxToRem(12)
})), Tb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTab"
  }), {
    className: a,
    disabled: i = !1,
    disableFocusRipple: s = !1,
    // eslint-disable-next-line react/prop-types
    fullWidth: l,
    icon: c,
    iconPosition: u = "top",
    // eslint-disable-next-line react/prop-types
    indicator: p,
    label: f,
    onChange: g,
    onClick: v,
    onFocus: b,
    // eslint-disable-next-line react/prop-types
    selected: h,
    // eslint-disable-next-line react/prop-types
    selectionFollowsFocus: y,
    // eslint-disable-next-line react/prop-types
    textColor: C = "inherit",
    value: E,
    wrapped: w = !1
  } = r, T = oe(r, X9), O = m({}, r, {
    disabled: i,
    disableFocusRipple: s,
    selected: h,
    icon: !!c,
    iconPosition: u,
    label: !!f,
    fullWidth: l,
    textColor: C,
    wrapped: w
  }), P = Z9(O), S = c && f && /* @__PURE__ */ d.isValidElement(c) ? /* @__PURE__ */ d.cloneElement(c, {
    className: ce(P.iconWrapper, c.props.className)
  }) : c, $ = (N) => {
    !h && g && g(N, E), v && v(N);
  }, A = (N) => {
    y && !h && g && g(N, E), b && b(N);
  };
  return /* @__PURE__ */ he(Q9, m({
    focusRipple: !s,
    className: ce(P.root, a),
    ref: o,
    role: "tab",
    "aria-selected": h,
    disabled: i,
    onClick: $,
    onFocus: A,
    ownerState: O,
    tabIndex: h ? 0 : -1
  }, T, {
    children: [u === "top" || u === "start" ? /* @__PURE__ */ he(d.Fragment, {
      children: [S, f]
    }) : /* @__PURE__ */ he(d.Fragment, {
      children: [f, S]
    }), p]
  }));
});
process.env.NODE_ENV !== "production" && (Tb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * This prop isn't supported.
   * Use the `component` prop if you need to change the children structure.
   */
  children: _c,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * If `true`, the  keyboard focus ripple is disabled.
   * @default false
   */
  disableFocusRipple: n.bool,
  /**
   * If `true`, the ripple effect is disabled.
   *
   * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
   * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
   * @default false
   */
  disableRipple: n.bool,
  /**
   * The icon to display.
   */
  icon: n.oneOfType([n.element, n.string]),
  /**
   * The position of the icon relative to the label.
   * @default 'top'
   */
  iconPosition: n.oneOf(["bottom", "end", "start", "top"]),
  /**
   * The label element.
   */
  label: n.node,
  /**
   * @ignore
   */
  onChange: n.func,
  /**
   * @ignore
   */
  onClick: n.func,
  /**
   * @ignore
   */
  onFocus: n.func,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * You can provide your own value. Otherwise, we fallback to the child position index.
   */
  value: n.any,
  /**
   * Tab labels appear in a single row.
   * They can use a second line if needed.
   * @default false
   */
  wrapped: n.bool
});
const Nu = /* @__PURE__ */ d.createContext();
process.env.NODE_ENV !== "production" && (Nu.displayName = "TableContext");
function J9(e) {
  return ye("MuiTable", e);
}
be("MuiTable", ["root", "stickyHeader"]);
const eM = ["className", "component", "padding", "size", "stickyHeader"], tM = (e) => {
  const {
    classes: t,
    stickyHeader: o
  } = e;
  return ve({
    root: ["root", o && "stickyHeader"]
  }, J9, t);
}, nM = U("table", {
  name: "MuiTable",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.stickyHeader && t.stickyHeader];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  display: "table",
  width: "100%",
  borderCollapse: "collapse",
  borderSpacing: 0,
  "& caption": m({}, e.typography.body2, {
    padding: e.spacing(2),
    color: (e.vars || e).palette.text.secondary,
    textAlign: "left",
    captionSide: "bottom"
  })
}, t.stickyHeader && {
  borderCollapse: "separate"
})), Bf = "table", wb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTable"
  }), {
    className: a,
    component: i = Bf,
    padding: s = "normal",
    size: l = "medium",
    stickyHeader: c = !1
  } = r, u = oe(r, eM), p = m({}, r, {
    component: i,
    padding: s,
    size: l,
    stickyHeader: c
  }), f = tM(p), g = d.useMemo(() => ({
    padding: s,
    size: l,
    stickyHeader: c
  }), [s, l, c]);
  return /* @__PURE__ */ x(Nu.Provider, {
    value: g,
    children: /* @__PURE__ */ x(nM, m({
      as: i,
      role: i === Bf ? null : "table",
      ref: o,
      className: ce(f.root, a),
      ownerState: p
    }, u))
  });
});
process.env.NODE_ENV !== "production" && (wb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the table, normally `TableHead` and `TableBody`.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * Allows TableCells to inherit padding of the Table.
   * @default 'normal'
   */
  padding: n.oneOf(["checkbox", "none", "normal"]),
  /**
   * Allows TableCells to inherit size of the Table.
   * @default 'medium'
   */
  size: n.oneOfType([n.oneOf(["medium", "small"]), n.string]),
  /**
   * Set the header sticky.
   *
   * ⚠️ It doesn't work with IE11.
   * @default false
   */
  stickyHeader: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
const Ha = /* @__PURE__ */ d.createContext();
process.env.NODE_ENV !== "production" && (Ha.displayName = "Tablelvl2Context");
function oM(e) {
  return ye("MuiTableBody", e);
}
be("MuiTableBody", ["root"]);
const rM = ["className", "component"], aM = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, oM, t);
}, iM = U("tbody", {
  name: "MuiTableBody",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  display: "table-row-group"
}), sM = {
  variant: "body"
}, Wf = "tbody", Ob = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTableBody"
  }), {
    className: a,
    component: i = Wf
  } = r, s = oe(r, rM), l = m({}, r, {
    component: i
  }), c = aM(l);
  return /* @__PURE__ */ x(Ha.Provider, {
    value: sM,
    children: /* @__PURE__ */ x(iM, m({
      className: ce(c.root, a),
      as: i,
      ref: o,
      role: i === Wf ? null : "rowgroup",
      ownerState: l
    }, s))
  });
});
process.env.NODE_ENV !== "production" && (Ob.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component, normally `TableRow`.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function lM(e) {
  return ye("MuiTableCell", e);
}
const cM = be("MuiTableCell", ["root", "head", "body", "footer", "sizeSmall", "sizeMedium", "paddingCheckbox", "paddingNone", "alignLeft", "alignCenter", "alignRight", "alignJustify", "stickyHeader"]), uM = ["align", "className", "component", "padding", "scope", "size", "sortDirection", "variant"], dM = (e) => {
  const {
    classes: t,
    variant: o,
    align: r,
    padding: a,
    size: i,
    stickyHeader: s
  } = e, l = {
    root: ["root", o, s && "stickyHeader", r !== "inherit" && `align${ee(r)}`, a !== "normal" && `padding${ee(a)}`, `size${ee(i)}`]
  };
  return ve(l, lM, t);
}, pM = U("td", {
  name: "MuiTableCell",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, t[o.variant], t[`size${ee(o.size)}`], o.padding !== "normal" && t[`padding${ee(o.padding)}`], o.align !== "inherit" && t[`align${ee(o.align)}`], o.stickyHeader && t.stickyHeader];
  }
})(({
  theme: e,
  ownerState: t
}) => m({}, e.typography.body2, {
  display: "table-cell",
  verticalAlign: "inherit",
  // Workaround for a rendering bug with spanned columns in Chrome 62.0.
  // Removes the alpha (sets it to 1), and lightens or darkens the theme color.
  borderBottom: e.vars ? `1px solid ${e.vars.palette.TableCell.border}` : `1px solid
    ${e.palette.mode === "light" ? bo(_e(e.palette.divider, 1), 0.88) : go(_e(e.palette.divider, 1), 0.68)}`,
  textAlign: "left",
  padding: 16
}, t.variant === "head" && {
  color: (e.vars || e).palette.text.primary,
  lineHeight: e.typography.pxToRem(24),
  fontWeight: e.typography.fontWeightMedium
}, t.variant === "body" && {
  color: (e.vars || e).palette.text.primary
}, t.variant === "footer" && {
  color: (e.vars || e).palette.text.secondary,
  lineHeight: e.typography.pxToRem(21),
  fontSize: e.typography.pxToRem(12)
}, t.size === "small" && {
  padding: "6px 16px",
  [`&.${cM.paddingCheckbox}`]: {
    width: 24,
    // prevent the checkbox column from growing
    padding: "0 12px 0 16px",
    "& > *": {
      padding: 0
    }
  }
}, t.padding === "checkbox" && {
  width: 48,
  // prevent the checkbox column from growing
  padding: "0 0 0 4px"
}, t.padding === "none" && {
  padding: 0
}, t.align === "left" && {
  textAlign: "left"
}, t.align === "center" && {
  textAlign: "center"
}, t.align === "right" && {
  textAlign: "right",
  flexDirection: "row-reverse"
}, t.align === "justify" && {
  textAlign: "justify"
}, t.stickyHeader && {
  position: "sticky",
  top: 0,
  zIndex: 2,
  backgroundColor: (e.vars || e).palette.background.default
})), lc = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTableCell"
  }), {
    align: a = "inherit",
    className: i,
    component: s,
    padding: l,
    scope: c,
    size: u,
    sortDirection: p,
    variant: f
  } = r, g = oe(r, uM), v = d.useContext(Nu), b = d.useContext(Ha), h = b && b.variant === "head";
  let y;
  s ? y = s : y = h ? "th" : "td";
  let C = c;
  y === "td" ? C = void 0 : !C && h && (C = "col");
  const E = f || b && b.variant, w = m({}, r, {
    align: a,
    component: y,
    padding: l || (v && v.padding ? v.padding : "normal"),
    size: u || (v && v.size ? v.size : "medium"),
    sortDirection: p,
    stickyHeader: E === "head" && v && v.stickyHeader,
    variant: E
  }), T = dM(w);
  let O = null;
  return p && (O = p === "asc" ? "ascending" : "descending"), /* @__PURE__ */ x(pM, m({
    as: y,
    ref: o,
    className: ce(T.root, i),
    "aria-sort": O,
    scope: C,
    ownerState: w
  }, g));
});
process.env.NODE_ENV !== "production" && (lc.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Set the text-align on the table cell content.
   *
   * Monetary or generally number fields **should be right aligned** as that allows
   * you to add them up quickly in your head without having to worry about decimals.
   * @default 'inherit'
   */
  align: n.oneOf(["center", "inherit", "justify", "left", "right"]),
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * Sets the padding applied to the cell.
   * The prop defaults to the value (`'default'`) inherited from the parent Table component.
   */
  padding: n.oneOf(["checkbox", "none", "normal"]),
  /**
   * Set scope attribute.
   */
  scope: n.string,
  /**
   * Specify the size of the cell.
   * The prop defaults to the value (`'medium'`) inherited from the parent Table component.
   */
  size: n.oneOfType([n.oneOf(["medium", "small"]), n.string]),
  /**
   * Set aria-sort direction.
   */
  sortDirection: n.oneOf(["asc", "desc", !1]),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Specify the cell type.
   * The prop defaults to the value inherited from the parent TableHead, TableBody, or TableFooter components.
   */
  variant: n.oneOfType([n.oneOf(["body", "footer", "head"]), n.string])
});
function fM(e) {
  return ye("MuiTableContainer", e);
}
be("MuiTableContainer", ["root"]);
const mM = ["className", "component"], hM = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, fM, t);
}, gM = U("div", {
  name: "MuiTableContainer",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  width: "100%",
  overflowX: "auto"
}), Eb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTableContainer"
  }), {
    className: a,
    component: i = "div"
  } = r, s = oe(r, mM), l = m({}, r, {
    component: i
  }), c = hM(l);
  return /* @__PURE__ */ x(gM, m({
    ref: o,
    as: i,
    className: ce(c.root, a),
    ownerState: l
  }, s));
});
process.env.NODE_ENV !== "production" && (Eb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component, normally `Table`.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function bM(e) {
  return ye("MuiTableHead", e);
}
be("MuiTableHead", ["root"]);
const yM = ["className", "component"], vM = (e) => {
  const {
    classes: t
  } = e;
  return ve({
    root: ["root"]
  }, bM, t);
}, xM = U("thead", {
  name: "MuiTableHead",
  slot: "Root",
  overridesResolver: (e, t) => t.root
})({
  display: "table-header-group"
}), CM = {
  variant: "head"
}, Uf = "thead", Sb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTableHead"
  }), {
    className: a,
    component: i = Uf
  } = r, s = oe(r, yM), l = m({}, r, {
    component: i
  }), c = vM(l);
  return /* @__PURE__ */ x(Ha.Provider, {
    value: CM,
    children: /* @__PURE__ */ x(xM, m({
      as: i,
      className: ce(c.root, a),
      ref: o,
      role: i === Uf ? null : "rowgroup",
      ownerState: l
    }, s))
  });
});
process.env.NODE_ENV !== "production" && (Sb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component, normally `TableRow`.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function TM(e) {
  return ye("MuiToolbar", e);
}
be("MuiToolbar", ["root", "gutters", "regular", "dense"]);
const wM = ["className", "component", "disableGutters", "variant"], OM = (e) => {
  const {
    classes: t,
    disableGutters: o,
    variant: r
  } = e;
  return ve({
    root: ["root", !o && "gutters", r]
  }, TM, t);
}, EM = U("div", {
  name: "MuiToolbar",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, !o.disableGutters && t.gutters, t[o.variant]];
  }
})(({
  theme: e,
  ownerState: t
}) => m({
  position: "relative",
  display: "flex",
  alignItems: "center"
}, !t.disableGutters && {
  paddingLeft: e.spacing(2),
  paddingRight: e.spacing(2),
  [e.breakpoints.up("sm")]: {
    paddingLeft: e.spacing(3),
    paddingRight: e.spacing(3)
  }
}, t.variant === "dense" && {
  minHeight: 48
}), ({
  theme: e,
  ownerState: t
}) => t.variant === "regular" && e.mixins.toolbar), _u = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiToolbar"
  }), {
    className: a,
    component: i = "div",
    disableGutters: s = !1,
    variant: l = "regular"
  } = r, c = oe(r, wM), u = m({}, r, {
    component: i,
    disableGutters: s,
    variant: l
  }), p = OM(u);
  return /* @__PURE__ */ x(EM, m({
    as: i,
    className: ce(p.root, a),
    ref: o,
    ownerState: u
  }, c));
});
process.env.NODE_ENV !== "production" && (_u.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.
   * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If `true`, disables gutter padding.
   * @default false
   */
  disableGutters: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * The variant to use.
   * @default 'regular'
   */
  variant: n.oneOfType([n.oneOf(["dense", "regular"]), n.string])
});
const SM = nt(/* @__PURE__ */ x("path", {
  d: "M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"
}), "KeyboardArrowLeft"), PM = nt(/* @__PURE__ */ x("path", {
  d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"
}), "KeyboardArrowRight");
function RM(e) {
  return ye("MuiTableRow", e);
}
const Hf = be("MuiTableRow", ["root", "selected", "hover", "head", "footer"]), kM = ["className", "component", "hover", "selected"], MM = (e) => {
  const {
    classes: t,
    selected: o,
    hover: r,
    head: a,
    footer: i
  } = e;
  return ve({
    root: ["root", o && "selected", r && "hover", a && "head", i && "footer"]
  }, RM, t);
}, $M = U("tr", {
  name: "MuiTableRow",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.head && t.head, o.footer && t.footer];
  }
})(({
  theme: e
}) => ({
  color: "inherit",
  display: "table-row",
  verticalAlign: "middle",
  // We disable the focus ring for mouse, touch and keyboard users.
  outline: 0,
  [`&.${Hf.hover}:hover`]: {
    backgroundColor: (e.vars || e).palette.action.hover
  },
  [`&.${Hf.selected}`]: {
    backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})` : _e(e.palette.primary.main, e.palette.action.selectedOpacity),
    "&:hover": {
      backgroundColor: e.vars ? `rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))` : _e(e.palette.primary.main, e.palette.action.selectedOpacity + e.palette.action.hoverOpacity)
    }
  }
})), qf = "tr", cc = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTableRow"
  }), {
    className: a,
    component: i = qf,
    hover: s = !1,
    selected: l = !1
  } = r, c = oe(r, kM), u = d.useContext(Ha), p = m({}, r, {
    component: i,
    hover: s,
    selected: l,
    head: u && u.variant === "head",
    footer: u && u.variant === "footer"
  }), f = MM(p);
  return /* @__PURE__ */ x($M, m({
    as: i,
    ref: o,
    className: ce(f.root, a),
    role: i === qf ? null : "row",
    ownerState: p
  }, c));
});
process.env.NODE_ENV !== "production" && (cc.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Should be valid `<tr>` children such as `TableCell`.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * If `true`, the table row will shade on hover.
   * @default false
   */
  hover: n.bool,
  /**
   * If `true`, the table row will have the selected shading.
   * @default false
   */
  selected: n.bool,
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function DM(e) {
  return (1 + Math.sin(Math.PI * e - Math.PI / 2)) / 2;
}
function IM(e, t, o, r = {}, a = () => {
}) {
  const {
    ease: i = DM,
    duration: s = 300
    // standard
  } = r;
  let l = null;
  const c = t[e];
  let u = !1;
  const p = () => {
    u = !0;
  }, f = (g) => {
    if (u) {
      a(new Error("Animation cancelled"));
      return;
    }
    l === null && (l = g);
    const v = Math.min(1, (g - l) / s);
    if (t[e] = i(v) * (o - c) + c, v >= 1) {
      requestAnimationFrame(() => {
        a(null);
      });
      return;
    }
    requestAnimationFrame(f);
  };
  return c === o ? (a(new Error("Element already at target position")), p) : (requestAnimationFrame(f), p);
}
const NM = ["onChange"], _M = {
  width: 99,
  height: 99,
  position: "absolute",
  top: -9999,
  overflow: "scroll"
};
function Pb(e) {
  const {
    onChange: t
  } = e, o = oe(e, NM), r = d.useRef(), a = d.useRef(null), i = () => {
    r.current = a.current.offsetHeight - a.current.clientHeight;
  };
  return gt(() => {
    const s = _r(() => {
      const c = r.current;
      i(), c !== r.current && t(r.current);
    }), l = pn(a.current);
    return l.addEventListener("resize", s), () => {
      s.clear(), l.removeEventListener("resize", s);
    };
  }, [t]), d.useEffect(() => {
    i(), t(r.current);
  }, [t]), /* @__PURE__ */ x("div", m({
    style: _M
  }, o, {
    ref: a
  }));
}
process.env.NODE_ENV !== "production" && (Pb.propTypes = {
  onChange: n.func.isRequired
});
function AM(e) {
  return ye("MuiTabScrollButton", e);
}
const LM = be("MuiTabScrollButton", ["root", "vertical", "horizontal", "disabled"]), FM = ["className", "slots", "slotProps", "direction", "orientation", "disabled"], jM = (e) => {
  const {
    classes: t,
    orientation: o,
    disabled: r
  } = e;
  return ve({
    root: ["root", o, r && "disabled"]
  }, AM, t);
}, VM = U(Ht, {
  name: "MuiTabScrollButton",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.root, o.orientation && t[o.orientation]];
  }
})(({
  ownerState: e
}) => m({
  width: 40,
  flexShrink: 0,
  opacity: 0.8,
  [`&.${LM.disabled}`]: {
    opacity: 0
  }
}, e.orientation === "vertical" && {
  width: "100%",
  height: 40,
  "& svg": {
    transform: `rotate(${e.isRtl ? -90 : 90}deg)`
  }
})), Rb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  var r, a;
  const i = Ee({
    props: t,
    name: "MuiTabScrollButton"
  }), {
    className: s,
    slots: l = {},
    slotProps: c = {},
    direction: u
  } = i, p = oe(i, FM), f = To(), g = m({
    isRtl: f
  }, i), v = jM(g), b = (r = l.StartScrollButtonIcon) != null ? r : SM, h = (a = l.EndScrollButtonIcon) != null ? a : PM, y = $e({
    elementType: b,
    externalSlotProps: c.startScrollButtonIcon,
    additionalProps: {
      fontSize: "small"
    },
    ownerState: g
  }), C = $e({
    elementType: h,
    externalSlotProps: c.endScrollButtonIcon,
    additionalProps: {
      fontSize: "small"
    },
    ownerState: g
  });
  return /* @__PURE__ */ x(VM, m({
    component: "div",
    className: ce(v.root, s),
    ref: o,
    role: null,
    ownerState: g,
    tabIndex: null
  }, p, {
    children: u === "left" ? /* @__PURE__ */ x(b, m({}, y)) : /* @__PURE__ */ x(h, m({}, C))
  }));
});
process.env.NODE_ENV !== "production" && (Rb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The direction the button should indicate.
   */
  direction: n.oneOf(["left", "right"]).isRequired,
  /**
   * If `true`, the component is disabled.
   * @default false
   */
  disabled: n.bool,
  /**
   * The component orientation (layout flow direction).
   */
  orientation: n.oneOf(["horizontal", "vertical"]).isRequired,
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   * @default {}
   */
  slotProps: n.shape({
    endScrollButtonIcon: n.oneOfType([n.func, n.object]),
    startScrollButtonIcon: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside.
   * @default {}
   */
  slots: n.shape({
    EndScrollButtonIcon: n.elementType,
    StartScrollButtonIcon: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object])
});
function zM(e) {
  return ye("MuiTabs", e);
}
const Nl = be("MuiTabs", ["root", "vertical", "flexContainer", "flexContainerVertical", "centered", "scroller", "fixed", "scrollableX", "scrollableY", "hideScrollbar", "scrollButtons", "scrollButtonsHideMobile", "indicator"]), BM = ["aria-label", "aria-labelledby", "action", "centered", "children", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "scrollButtons", "selectionFollowsFocus", "slots", "slotProps", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar"], Yf = (e, t) => e === t ? e.firstChild : t && t.nextElementSibling ? t.nextElementSibling : e.firstChild, Kf = (e, t) => e === t ? e.lastChild : t && t.previousElementSibling ? t.previousElementSibling : e.lastChild, yi = (e, t, o) => {
  let r = !1, a = o(e, t);
  for (; a; ) {
    if (a === e.firstChild) {
      if (r)
        return;
      r = !0;
    }
    const i = a.disabled || a.getAttribute("aria-disabled") === "true";
    if (!a.hasAttribute("tabindex") || i)
      a = o(e, a);
    else {
      a.focus();
      return;
    }
  }
}, WM = (e) => {
  const {
    vertical: t,
    fixed: o,
    hideScrollbar: r,
    scrollableX: a,
    scrollableY: i,
    centered: s,
    scrollButtonsHideMobile: l,
    classes: c
  } = e;
  return ve({
    root: ["root", t && "vertical"],
    scroller: ["scroller", o && "fixed", r && "hideScrollbar", a && "scrollableX", i && "scrollableY"],
    flexContainer: ["flexContainer", t && "flexContainerVertical", s && "centered"],
    indicator: ["indicator"],
    scrollButtons: ["scrollButtons", l && "scrollButtonsHideMobile"],
    scrollableX: [a && "scrollableX"],
    hideScrollbar: [r && "hideScrollbar"]
  }, zM, c);
}, UM = U("div", {
  name: "MuiTabs",
  slot: "Root",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [{
      [`& .${Nl.scrollButtons}`]: t.scrollButtons
    }, {
      [`& .${Nl.scrollButtons}`]: o.scrollButtonsHideMobile && t.scrollButtonsHideMobile
    }, t.root, o.vertical && t.vertical];
  }
})(({
  ownerState: e,
  theme: t
}) => m({
  overflow: "hidden",
  minHeight: 48,
  // Add iOS momentum scrolling for iOS < 13.0
  WebkitOverflowScrolling: "touch",
  display: "flex"
}, e.vertical && {
  flexDirection: "column"
}, e.scrollButtonsHideMobile && {
  [`& .${Nl.scrollButtons}`]: {
    [t.breakpoints.down("sm")]: {
      display: "none"
    }
  }
})), HM = U("div", {
  name: "MuiTabs",
  slot: "Scroller",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.scroller, o.fixed && t.fixed, o.hideScrollbar && t.hideScrollbar, o.scrollableX && t.scrollableX, o.scrollableY && t.scrollableY];
  }
})(({
  ownerState: e
}) => m({
  position: "relative",
  display: "inline-block",
  flex: "1 1 auto",
  whiteSpace: "nowrap"
}, e.fixed && {
  overflowX: "hidden",
  width: "100%"
}, e.hideScrollbar && {
  // Hide dimensionless scrollbar on macOS
  scrollbarWidth: "none",
  // Firefox
  "&::-webkit-scrollbar": {
    display: "none"
    // Safari + Chrome
  }
}, e.scrollableX && {
  overflowX: "auto",
  overflowY: "hidden"
}, e.scrollableY && {
  overflowY: "auto",
  overflowX: "hidden"
})), qM = U("div", {
  name: "MuiTabs",
  slot: "FlexContainer",
  overridesResolver: (e, t) => {
    const {
      ownerState: o
    } = e;
    return [t.flexContainer, o.vertical && t.flexContainerVertical, o.centered && t.centered];
  }
})(({
  ownerState: e
}) => m({
  display: "flex"
}, e.vertical && {
  flexDirection: "column"
}, e.centered && {
  justifyContent: "center"
})), YM = U("span", {
  name: "MuiTabs",
  slot: "Indicator",
  overridesResolver: (e, t) => t.indicator
})(({
  ownerState: e,
  theme: t
}) => m({
  position: "absolute",
  height: 2,
  bottom: 0,
  width: "100%",
  transition: t.transitions.create()
}, e.indicatorColor === "primary" && {
  backgroundColor: (t.vars || t).palette.primary.main
}, e.indicatorColor === "secondary" && {
  backgroundColor: (t.vars || t).palette.secondary.main
}, e.vertical && {
  height: "100%",
  width: 2,
  right: 0
})), KM = U(Pb)({
  overflowX: "auto",
  overflowY: "hidden",
  // Hide dimensionless scrollbar on macOS
  scrollbarWidth: "none",
  // Firefox
  "&::-webkit-scrollbar": {
    display: "none"
    // Safari + Chrome
  }
}), Gf = {};
let Xf = !1;
const kb = /* @__PURE__ */ d.forwardRef(function(t, o) {
  const r = Ee({
    props: t,
    name: "MuiTabs"
  }), a = vn(), i = To(), {
    "aria-label": s,
    "aria-labelledby": l,
    action: c,
    centered: u = !1,
    children: p,
    className: f,
    component: g = "div",
    allowScrollButtonsMobile: v = !1,
    indicatorColor: b = "primary",
    onChange: h,
    orientation: y = "horizontal",
    ScrollButtonComponent: C = Rb,
    scrollButtons: E = "auto",
    selectionFollowsFocus: w,
    slots: T = {},
    slotProps: O = {},
    TabIndicatorProps: P = {},
    TabScrollButtonProps: S = {},
    textColor: $ = "primary",
    value: A,
    variant: N = "standard",
    visibleScrollbar: D = !1
  } = r, V = oe(r, BM), L = N === "scrollable", I = y === "vertical", R = I ? "scrollTop" : "scrollLeft", k = I ? "top" : "left", F = I ? "bottom" : "right", M = I ? "clientHeight" : "clientWidth", B = I ? "height" : "width", j = m({}, r, {
    component: g,
    allowScrollButtonsMobile: v,
    indicatorColor: b,
    orientation: y,
    vertical: I,
    scrollButtons: E,
    textColor: $,
    variant: N,
    visibleScrollbar: D,
    fixed: !L,
    hideScrollbar: L && !D,
    scrollableX: L && !I,
    scrollableY: L && I,
    centered: u && !L,
    scrollButtonsHideMobile: !v
  }), W = WM(j), re = $e({
    elementType: T.StartScrollButtonIcon,
    externalSlotProps: O.startScrollButtonIcon,
    ownerState: j
  }), J = $e({
    elementType: T.EndScrollButtonIcon,
    externalSlotProps: O.endScrollButtonIcon,
    ownerState: j
  });
  process.env.NODE_ENV !== "production" && u && L && console.error('MUI: You can not use the `centered={true}` and `variant="scrollable"` properties at the same time on a `Tabs` component.');
  const [Q, X] = d.useState(!1), [Y, Z] = d.useState(Gf), [H, K] = d.useState(!1), [ne, ae] = d.useState(!1), [z, q] = d.useState(!1), [te, ie] = d.useState({
    overflow: "hidden",
    scrollbarWidth: 0
  }), de = /* @__PURE__ */ new Map(), ge = d.useRef(null), fe = d.useRef(null), Oe = () => {
    const pe = ge.current;
    let me;
    if (pe) {
      const Ne = pe.getBoundingClientRect();
      me = {
        clientWidth: pe.clientWidth,
        scrollLeft: pe.scrollLeft,
        scrollTop: pe.scrollTop,
        scrollLeftNormalized: n2(pe, i ? "rtl" : "ltr"),
        scrollWidth: pe.scrollWidth,
        top: Ne.top,
        bottom: Ne.bottom,
        left: Ne.left,
        right: Ne.right
      };
    }
    let Se;
    if (pe && A !== !1) {
      const Ne = fe.current.children;
      if (Ne.length > 0) {
        const Me = Ne[de.get(A)];
        process.env.NODE_ENV !== "production" && (Me || console.error(["MUI: The `value` provided to the Tabs component is invalid.", `None of the Tabs' children match with "${A}".`, de.keys ? `You can provide one of the following values: ${Array.from(de.keys()).join(", ")}.` : null].join(`
`))), Se = Me ? Me.getBoundingClientRect() : null, process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test" && !Xf && Se && Se.width === 0 && Se.height === 0 && // if the whole Tabs component is hidden, don't warn
        me.clientWidth !== 0 && (me = null, console.error(["MUI: The `value` provided to the Tabs component is invalid.", `The Tab with this \`value\` ("${A}") is not part of the document layout.`, "Make sure the tab item is present in the document or that it's not `display: none`."].join(`
`)), Xf = !0);
      }
    }
    return {
      tabsMeta: me,
      tabMeta: Se
    };
  }, Te = Ce(() => {
    const {
      tabsMeta: pe,
      tabMeta: me
    } = Oe();
    let Se = 0, Ne;
    if (I)
      Ne = "top", me && pe && (Se = me.top - pe.top + pe.scrollTop);
    else if (Ne = i ? "right" : "left", me && pe) {
      const We = i ? pe.scrollLeftNormalized + pe.clientWidth - pe.scrollWidth : pe.scrollLeft;
      Se = (i ? -1 : 1) * (me[Ne] - pe[Ne] + We);
    }
    const Me = {
      [Ne]: Se,
      // May be wrong until the font is loaded.
      [B]: me ? me[B] : 0
    };
    if (isNaN(Y[Ne]) || isNaN(Y[B]))
      Z(Me);
    else {
      const We = Math.abs(Y[Ne] - Me[Ne]), it = Math.abs(Y[B] - Me[B]);
      (We >= 1 || it >= 1) && Z(Me);
    }
  }), Re = (pe, {
    animation: me = !0
  } = {}) => {
    me ? IM(R, ge.current, pe, {
      duration: a.transitions.duration.standard
    }) : ge.current[R] = pe;
  }, Be = (pe) => {
    let me = ge.current[R];
    I ? me += pe : (me += pe * (i ? -1 : 1), me *= i && Hm() === "reverse" ? -1 : 1), Re(me);
  }, je = () => {
    const pe = ge.current[M];
    let me = 0;
    const Se = Array.from(fe.current.children);
    for (let Ne = 0; Ne < Se.length; Ne += 1) {
      const Me = Se[Ne];
      if (me + Me[M] > pe) {
        Ne === 0 && (me = pe);
        break;
      }
      me += Me[M];
    }
    return me;
  }, Fe = () => {
    Be(-1 * je());
  }, et = () => {
    Be(je());
  }, ct = d.useCallback((pe) => {
    ie({
      overflow: null,
      scrollbarWidth: pe
    });
  }, []), ot = () => {
    const pe = {};
    pe.scrollbarSizeListener = L ? /* @__PURE__ */ x(KM, {
      onChange: ct,
      className: ce(W.scrollableX, W.hideScrollbar)
    }) : null;
    const Se = L && (E === "auto" && (H || ne) || E === !0);
    return pe.scrollButtonStart = Se ? /* @__PURE__ */ x(C, m({
      slots: {
        StartScrollButtonIcon: T.StartScrollButtonIcon
      },
      slotProps: {
        startScrollButtonIcon: re
      },
      orientation: y,
      direction: i ? "right" : "left",
      onClick: Fe,
      disabled: !H
    }, S, {
      className: ce(W.scrollButtons, S.className)
    })) : null, pe.scrollButtonEnd = Se ? /* @__PURE__ */ x(C, m({
      slots: {
        EndScrollButtonIcon: T.EndScrollButtonIcon
      },
      slotProps: {
        endScrollButtonIcon: J
      },
      orientation: y,
      direction: i ? "left" : "right",
      onClick: et,
      disabled: !ne
    }, S, {
      className: ce(W.scrollButtons, S.className)
    })) : null, pe;
  }, ue = Ce((pe) => {
    const {
      tabsMeta: me,
      tabMeta: Se
    } = Oe();
    if (!(!Se || !me)) {
      if (Se[k] < me[k]) {
        const Ne = me[R] + (Se[k] - me[k]);
        Re(Ne, {
          animation: pe
        });
      } else if (Se[F] > me[F]) {
        const Ne = me[R] + (Se[F] - me[F]);
        Re(Ne, {
          animation: pe
        });
      }
    }
  }), le = Ce(() => {
    L && E !== !1 && q(!z);
  });
  d.useEffect(() => {
    const pe = _r(() => {
      ge.current && Te();
    });
    let me;
    const Se = (We) => {
      We.forEach((it) => {
        it.removedNodes.forEach((bt) => {
          var yt;
          (yt = me) == null || yt.unobserve(bt);
        }), it.addedNodes.forEach((bt) => {
          var yt;
          (yt = me) == null || yt.observe(bt);
        });
      }), pe(), le();
    }, Ne = pn(ge.current);
    Ne.addEventListener("resize", pe);
    let Me;
    return typeof ResizeObserver < "u" && (me = new ResizeObserver(pe), Array.from(fe.current.children).forEach((We) => {
      me.observe(We);
    })), typeof MutationObserver < "u" && (Me = new MutationObserver(Se), Me.observe(fe.current, {
      childList: !0
    })), () => {
      var We, it;
      pe.clear(), Ne.removeEventListener("resize", pe), (We = Me) == null || We.disconnect(), (it = me) == null || it.disconnect();
    };
  }, [Te, le]), d.useEffect(() => {
    const pe = Array.from(fe.current.children), me = pe.length;
    if (typeof IntersectionObserver < "u" && me > 0 && L && E !== !1) {
      const Se = pe[0], Ne = pe[me - 1], Me = {
        root: ge.current,
        threshold: 0.99
      }, We = (Tn) => {
        K(!Tn[0].isIntersecting);
      }, it = new IntersectionObserver(We, Me);
      it.observe(Se);
      const bt = (Tn) => {
        ae(!Tn[0].isIntersecting);
      }, yt = new IntersectionObserver(bt, Me);
      return yt.observe(Ne), () => {
        it.disconnect(), yt.disconnect();
      };
    }
  }, [L, E, z, p == null ? void 0 : p.length]), d.useEffect(() => {
    X(!0);
  }, []), d.useEffect(() => {
    Te();
  }), d.useEffect(() => {
    ue(Gf !== Y);
  }, [ue, Y]), d.useImperativeHandle(c, () => ({
    updateIndicator: Te,
    updateScrollButtons: le
  }), [Te, le]);
  const xe = /* @__PURE__ */ x(YM, m({}, P, {
    className: ce(W.indicator, P.className),
    ownerState: j,
    style: m({}, Y, P.style)
  }));
  let ke = 0;
  const De = d.Children.map(p, (pe) => {
    if (!/* @__PURE__ */ d.isValidElement(pe))
      return null;
    process.env.NODE_ENV !== "production" && Vn.isFragment(pe) && console.error(["MUI: The Tabs component doesn't accept a Fragment as a child.", "Consider providing an array instead."].join(`
`));
    const me = pe.props.value === void 0 ? ke : pe.props.value;
    de.set(me, ke);
    const Se = me === A;
    return ke += 1, /* @__PURE__ */ d.cloneElement(pe, m({
      fullWidth: N === "fullWidth",
      indicator: Se && !Q && xe,
      selected: Se,
      selectionFollowsFocus: w,
      onChange: h,
      textColor: $,
      value: me
    }, ke === 1 && A === !1 && !pe.props.tabIndex ? {
      tabIndex: 0
    } : {}));
  }), Ie = (pe) => {
    const me = fe.current, Se = lt(me).activeElement;
    if (Se.getAttribute("role") !== "tab")
      return;
    let Me = y === "horizontal" ? "ArrowLeft" : "ArrowUp", We = y === "horizontal" ? "ArrowRight" : "ArrowDown";
    switch (y === "horizontal" && i && (Me = "ArrowRight", We = "ArrowLeft"), pe.key) {
      case Me:
        pe.preventDefault(), yi(me, Se, Kf);
        break;
      case We:
        pe.preventDefault(), yi(me, Se, Yf);
        break;
      case "Home":
        pe.preventDefault(), yi(me, null, Yf);
        break;
      case "End":
        pe.preventDefault(), yi(me, null, Kf);
        break;
    }
  }, we = ot();
  return /* @__PURE__ */ he(UM, m({
    className: ce(W.root, f),
    ownerState: j,
    ref: o,
    as: g
  }, V, {
    children: [we.scrollButtonStart, we.scrollbarSizeListener, /* @__PURE__ */ he(HM, {
      className: W.scroller,
      ownerState: j,
      style: {
        overflow: te.overflow,
        [I ? `margin${i ? "Left" : "Right"}` : "marginBottom"]: D ? void 0 : -te.scrollbarWidth
      },
      ref: ge,
      children: [/* @__PURE__ */ x(qM, {
        "aria-label": s,
        "aria-labelledby": l,
        "aria-orientation": y === "vertical" ? "vertical" : null,
        className: W.flexContainer,
        ownerState: j,
        onKeyDown: Ie,
        ref: fe,
        role: "tablist",
        children: De
      }), Q && xe]
    }), we.scrollButtonEnd]
  }));
});
process.env.NODE_ENV !== "production" && (kb.propTypes = {
  // ┌────────────────────────────── Warning ──────────────────────────────┐
  // │ These PropTypes are generated from the TypeScript type definitions. │
  // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │
  // └─────────────────────────────────────────────────────────────────────┘
  /**
   * Callback fired when the component mounts.
   * This is useful when you want to trigger an action programmatically.
   * It supports two actions: `updateIndicator()` and `updateScrollButtons()`
   *
   * @param {object} actions This object contains all possible actions
   * that can be triggered programmatically.
   */
  action: ut,
  /**
   * If `true`, the scroll buttons aren't forced hidden on mobile.
   * By default the scroll buttons are hidden on mobile and takes precedence over `scrollButtons`.
   * @default false
   */
  allowScrollButtonsMobile: n.bool,
  /**
   * The label for the Tabs as a string.
   */
  "aria-label": n.string,
  /**
   * An id or list of ids separated by a space that label the Tabs.
   */
  "aria-labelledby": n.string,
  /**
   * If `true`, the tabs are centered.
   * This prop is intended for large views.
   * @default false
   */
  centered: n.bool,
  /**
   * The content of the component.
   */
  children: n.node,
  /**
   * Override or extend the styles applied to the component.
   */
  classes: n.object,
  /**
   * @ignore
   */
  className: n.string,
  /**
   * The component used for the root node.
   * Either a string to use a HTML element or a component.
   */
  component: n.elementType,
  /**
   * Determines the color of the indicator.
   * @default 'primary'
   */
  indicatorColor: n.oneOfType([n.oneOf(["primary", "secondary"]), n.string]),
  /**
   * Callback fired when the value changes.
   *
   * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.
   * @param {any} value We default to the index of the child (number)
   */
  onChange: n.func,
  /**
   * The component orientation (layout flow direction).
   * @default 'horizontal'
   */
  orientation: n.oneOf(["horizontal", "vertical"]),
  /**
   * The component used to render the scroll buttons.
   * @default TabScrollButton
   */
  ScrollButtonComponent: n.elementType,
  /**
   * Determine behavior of scroll buttons when tabs are set to scroll:
   *
   * - `auto` will only present them when not all the items are visible.
   * - `true` will always present them.
   * - `false` will never present them.
   *
   * By default the scroll buttons are hidden on mobile.
   * This behavior can be disabled with `allowScrollButtonsMobile`.
   * @default 'auto'
   */
  scrollButtons: n.oneOf(["auto", !1, !0]),
  /**
   * If `true` the selected tab changes on focus. Otherwise it only
   * changes on activation.
   */
  selectionFollowsFocus: n.bool,
  /**
   * The extra props for the slot components.
   * You can override the existing props or add new ones.
   * @default {}
   */
  slotProps: n.shape({
    endScrollButtonIcon: n.oneOfType([n.func, n.object]),
    startScrollButtonIcon: n.oneOfType([n.func, n.object])
  }),
  /**
   * The components used for each slot inside.
   * @default {}
   */
  slots: n.shape({
    EndScrollButtonIcon: n.elementType,
    StartScrollButtonIcon: n.elementType
  }),
  /**
   * The system prop that allows defining system overrides as well as additional CSS styles.
   */
  sx: n.oneOfType([n.arrayOf(n.oneOfType([n.func, n.object, n.bool])), n.func, n.object]),
  /**
   * Props applied to the tab indicator element.
   * @default  {}
   */
  TabIndicatorProps: n.object,
  /**
   * Props applied to the [`TabScrollButton`](/material-ui/api/tab-scroll-button/) element.
   * @default {}
   */
  TabScrollButtonProps: n.object,
  /**
   * Determines the color of the `Tab`.
   * @default 'primary'
   */
  textColor: n.oneOf(["inherit", "primary", "secondary"]),
  /**
   * The value of the currently selected `Tab`.
   * If you don't want any selected `Tab`, you can set this prop to `false`.
   */
  value: n.any,
  /**
   * Determines additional display behavior of the tabs:
   *
   *  - `scrollable` will invoke scrolling properties and allow for horizontally
   *  scrolling (or swiping) of the tab bar.
   *  - `fullWidth` will make the tabs grow to use all the available space,
   *  which should be used for small views, like on mobile.
   *  - `standard` will render the default state.
   * @default 'standard'
   */
  variant: n.oneOf(["fullWidth", "scrollable", "standard"]),
  /**
   * If `true`, the scrollbar is visible. It can be useful when displaying
   * a long vertical list of tabs.
   * @default false
   */
  visibleScrollbar: n.bool
});
const W7 = (e) => /* @__PURE__ */ x(Hc, { dateAdapter: TC, children: /* @__PURE__ */ x(
  Yg,
  {
    enableAccessibleFieldDOMStructure: !1,
    slots: { textField: jr },
    slotProps: {
      textField: {
        variant: "outlined",
        sx: {
          "& .MuiOutlinedInput-root": {
            "& fieldset": {
              borderColor: "rgb(var(--color-border))"
            },
            "&:hover fieldset": {
              borderColor: "rgb(var(--color-primary))"
            },
            "&.Mui-focused fieldset": {
              borderColor: "rgb(var(--color-primary))"
            },
            color: "rgb(var(--color-text-primary))",
            backgroundColor: "rgba(var(--color-surface-primary), 0.7)",
            backdropFilter: "var(--backdrop-filter-blur)",
            WebkitBackdropFilter: "var(--backdrop-filter-blur)"
          },
          "& .MuiInputLabel-root": {
            color: "rgb(var(--color-text-primary))"
          }
        }
      }
    },
    ...e
  }
) });
var Au = {}, _l = {};
const GM = /* @__PURE__ */ Jn(lw);
var Zf;
function $t() {
  return Zf || (Zf = 1, function(e) {
    "use client";
    Object.defineProperty(e, "__esModule", {
      value: !0
    }), Object.defineProperty(e, "default", {
      enumerable: !0,
      get: function() {
        return t.createSvgIcon;
      }
    });
    var t = GM;
  }(_l)), _l;
}
var XM = Pt;
Object.defineProperty(Au, "__esModule", {
  value: !0
});
var Mb = Au.default = void 0, ZM = XM($t()), QM = Mt;
Mb = Au.default = (0, ZM.default)(/* @__PURE__ */ (0, QM.jsx)("path", {
  d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l5-5 5 5z"
}), "CloudUpload");
const U7 = ({ onFileUpload: e, buttonText: t = "Upload File" }) => {
  const o = iy(null), [r, a] = os(null);
  return /* @__PURE__ */ he(Ae, { children: [
    /* @__PURE__ */ x(
      "input",
      {
        type: "file",
        ref: o,
        onChange: (l) => {
          const c = l.target.files ? l.target.files[0] : null;
          a(c ? c.name : null), e(c);
        },
        style: { display: "none" }
      }
    ),
    /* @__PURE__ */ x(
      Yn,
      {
        variant: "contained",
        startIcon: /* @__PURE__ */ x(Mb, {}),
        onClick: () => {
          var l;
          (l = o.current) == null || l.click();
        },
        sx: {
          backgroundColor: "rgb(var(--color-primary))",
          color: "rgb(var(--color-background-primary))",
          "&:hover": {
            backgroundColor: "rgb(var(--color-primary))",
            opacity: 0.9
          }
        },
        children: t
      }
    ),
    r && /* @__PURE__ */ he(Le, { variant: "body2", sx: { mt: 1, color: "rgb(var(--color-text-primary))" }, children: [
      "Selected file: ",
      r
    ] })
  ] });
}, Zs = (e) => /* @__PURE__ */ x(
  jr,
  {
    variant: "outlined",
    sx: {
      "& .MuiOutlinedInput-root": {
        "& fieldset": {
          borderColor: "rgb(var(--color-border))"
        },
        "&:hover fieldset": {
          borderColor: "rgb(var(--color-primary))"
        },
        "&.Mui-focused fieldset": {
          borderColor: "rgb(var(--color-primary))"
        },
        color: "rgb(var(--color-text-primary))",
        backgroundColor: "rgba(var(--color-surface-primary), 0.7)",
        backdropFilter: "var(--backdrop-filter-blur)",
        WebkitBackdropFilter: "var(--backdrop-filter-blur)"
      },
      "& .MuiInputLabel-root": {
        color: "rgb(var(--color-text-primary))"
      }
    },
    ...e
  }
), Rr = ({ children: e, ...t }) => /* @__PURE__ */ x(
  Du,
  {
    sx: {
      color: "rgb(var(--color-primary))",
      textDecoration: "none",
      "&:hover": {
        textDecoration: "underline"
      }
    },
    ...t,
    children: e
  }
), H7 = (e) => /* @__PURE__ */ x(Ae, { sx: { width: "100%" }, children: /* @__PURE__ */ x(
  ib,
  {
    sx: {
      backgroundColor: "rgba(var(--color-text-primary), 0.2)",
      "& .MuiLinearProgress-bar": {
        backgroundColor: "rgb(var(--color-primary))"
      }
    },
    ...e
  }
) }), q7 = (e) => /* @__PURE__ */ x(
  mb,
  {
    sx: {
      color: "rgb(var(--color-text-primary))",
      "&.Mui-checked": {
        color: "rgb(var(--color-primary))"
      }
    },
    ...e
  }
), $b = ({ options: e, ...t }) => /* @__PURE__ */ x(
  Fs,
  {
    variant: "outlined",
    sx: {
      "& .MuiOutlinedInput-notchedOutline": {
        borderColor: "rgb(var(--color-border))"
      },
      "&:hover .MuiOutlinedInput-notchedOutline": {
        borderColor: "rgb(var(--color-primary))"
      },
      "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
        borderColor: "rgb(var(--color-primary))"
      },
      color: "rgb(var(--color-text-primary))",
      backgroundColor: "rgba(var(--color-surface-primary), 0.7)",
      backdropFilter: "var(--backdrop-filter-blur)",
      WebkitBackdropFilter: "var(--backdrop-filter-blur)"
    },
    ...t,
    children: e.map((o) => /* @__PURE__ */ x(cb, { value: o.value, children: o.label }, o.value))
  }
), Y7 = (e) => /* @__PURE__ */ x(
  bb,
  {
    sx: {
      color: "rgb(var(--color-primary))",
      "& .MuiSlider-thumb": {
        backgroundColor: "rgb(var(--color-primary))"
      },
      "& .MuiSlider-track": {
        backgroundColor: "rgb(var(--color-primary))"
      },
      "& .MuiSlider-rail": {
        backgroundColor: "rgb(var(--color-text-primary))"
      }
    },
    ...e
  }
), K7 = (e) => /* @__PURE__ */ x(Ae, { sx: { display: "flex", justifyContent: "center", alignItems: "center" }, children: /* @__PURE__ */ x(
  Jg,
  {
    sx: {
      color: "rgb(var(--color-primary))"
    },
    ...e
  }
) }), G7 = (e) => /* @__PURE__ */ x(
  Cb,
  {
    sx: {
      "& .MuiSwitch-switchBase.Mui-checked": {
        color: "rgb(var(--color-primary))",
        "&:hover": {
          backgroundColor: "rgba(var(--color-primary), 0.08)"
        }
      },
      "& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track": {
        backgroundColor: "rgb(var(--color-primary))"
      },
      "& .MuiSwitch-track": {
        backgroundColor: "rgb(var(--color-text-primary))"
      }
    },
    ...e
  }
), X7 = (e) => /* @__PURE__ */ x(
  jr,
  {
    multiline: !0,
    variant: "outlined",
    sx: {
      "& .MuiOutlinedInput-root": {
        "& fieldset": {
          borderColor: "rgb(var(--color-border))"
        },
        "&:hover fieldset": {
          borderColor: "rgb(var(--color-primary))"
        },
        "&.Mui-focused fieldset": {
          borderColor: "rgb(var(--color-primary))"
        },
        color: "rgb(var(--color-text-primary))",
        backgroundColor: "rgba(var(--color-surface-primary), 0.7)",
        backdropFilter: "var(--backdrop-filter-blur)",
        WebkitBackdropFilter: "var(--backdrop-filter-blur)"
      },
      "& .MuiInputLabel-root": {
        color: "rgb(var(--color-text-primary))"
      }
    },
    ...e
  }
), Z7 = ({ children: e, ...t }) => /* @__PURE__ */ x(
  xb,
  {
    PopperProps: {
      sx: {
        "& .MuiTooltip-tooltip": {
          backgroundColor: "rgb(var(--color-surface-primary))",
          color: "rgb(var(--color-text-primary))",
          border: "1px solid rgba(var(--color-border), 0.18)",
          backdropFilter: "var(--backdrop-filter-blur)",
          WebkitBackdropFilter: "var(--backdrop-filter-blur)"
        }
      }
    },
    ...t,
    children: e
  }
), Q7 = ({ children: e, ...t }) => /* @__PURE__ */ x(
  Le,
  {
    sx: {
      color: "rgb(var(--color-text-primary))"
    },
    ...t,
    children: e
  }
), J7 = (e) => /* @__PURE__ */ x(
  jr,
  {
    variant: "outlined",
    sx: {
      "& .MuiOutlinedInput-root": {
        backgroundColor: "transparent",
        "& fieldset": {
          borderColor: "rgba(var(--color-border), 0.5)"
        },
        "&:hover fieldset": {
          borderColor: "rgb(var(--color-primary))"
        },
        "&.Mui-focused fieldset": {
          borderColor: "rgb(var(--color-primary))"
        },
        color: "rgb(var(--color-text-primary))"
      },
      "& .MuiInputLabel-root": {
        color: "rgb(var(--color-text-primary))"
      }
    },
    ...e
  }
), JM = ({
  open: e,
  onClose: t,
  header_name: o,
  navItems: r,
  isAuthenticated: a,
  userName: i,
  onLoginClick: s,
  onLogoutClick: l,
  showSearchBar: c,
  showThemeSwitcher: u,
  ctaButton: p,
  languageSelector: f,
  onLanguageChange: g,
  currentLanguage: v,
  themeIcon: b,
  themeLabel: h,
  toggleTheme: y
}) => {
  const C = {
    transition: "transform 0.3s ease-in-out",
    "&:hover": {
      transform: "scale(1.2)"
    }
  };
  return /* @__PURE__ */ x(
    ab,
    {
      anchor: "right",
      open: e,
      onClose: t,
      sx: {
        "& .MuiDrawer-paper": {
          boxSizing: "border-sizing",
          width: 240,
          backgroundColor: "rgba(var(--color-surface-primary), 0.9)",
          backdropFilter: "var(--backdrop-filter-blur)",
          WebkitBackdropFilter: "var(--backdrop-filter-blur)",
          color: "rgb(var(--color-text-primary))"
        }
      },
      children: /* @__PURE__ */ he(
        Ae,
        {
          onClick: t,
          onKeyDown: t,
          sx: { textAlign: "center", overflowX: "hidden" },
          children: [
            /* @__PURE__ */ x(
              Le,
              {
                variant: "h6",
                sx: { my: 2, color: "rgb(var(--color-text-primary))" },
                children: o
              }
            ),
            /* @__PURE__ */ he(Ba, { children: [
              /* @__PURE__ */ x(Gx, { vertical: !0, size: 2 }),
              r && r.map((E) => /* @__PURE__ */ x(Sn, { disablePadding: !0, children: /* @__PURE__ */ x(
                Rr,
                {
                  href: E.href,
                  sx: {
                    width: "100%",
                    py: 1,
                    px: 2,
                    color: "rgb(var(--color-text-primary))",
                    textAlign: "left"
                  },
                  children: E.label
                }
              ) }, E.label)),
              c && /* @__PURE__ */ x(
                Sn,
                {
                  disablePadding: !0,
                  sx: { px: 2, py: 1 },
                  onClick: (E) => E.stopPropagation(),
                  children: /* @__PURE__ */ x(
                    Zs,
                    {
                      placeholder: "Search...",
                      fullWidth: !0,
                      onKeyDown: (E) => E.stopPropagation()
                    }
                  )
                }
              ),
              f && f.length > 0 && /* @__PURE__ */ x(Sn, { disablePadding: !0, sx: { px: 2, py: 1 }, children: /* @__PURE__ */ x(
                $b,
                {
                  value: v,
                  onChange: (E) => g && g(E.target.value),
                  options: f.map((E) => ({
                    value: E.code,
                    label: /* @__PURE__ */ he(Ae, { sx: { display: "flex", alignItems: "center" }, children: [
                      /* @__PURE__ */ x(
                        Ae,
                        {
                          component: "span",
                          sx: {
                            width: 20,
                            height: 20,
                            marginRight: 1,
                            display: "flex",
                            alignItems: "center"
                          },
                          children: E.flag
                        }
                      ),
                      E.label
                    ] })
                  })),
                  fullWidth: !0
                }
              ) }),
              a ? /* @__PURE__ */ he($r, { children: [
                /* @__PURE__ */ x(Sn, { disablePadding: !0, sx: { px: 2, py: 1 }, children: /* @__PURE__ */ he(Le, { sx: { color: "rgb(var(--color-text-primary))" }, children: [
                  "Hi, ",
                  i
                ] }) }),
                l && /* @__PURE__ */ x(Sn, { disablePadding: !0, sx: { px: 2, py: 1 }, children: /* @__PURE__ */ x(
                  un,
                  {
                    onClick: l,
                    variant: "outlined",
                    fullWidth: !0,
                    children: "Logout"
                  }
                ) })
              ] }) : s && /* @__PURE__ */ x(Sn, { disablePadding: !0, sx: { px: 2, py: 1 }, children: /* @__PURE__ */ x(
                un,
                {
                  onClick: s,
                  variant: "contained",
                  fullWidth: !0,
                  children: "Login"
                }
              ) }),
              p && /* @__PURE__ */ x(Sn, { disablePadding: !0, sx: { px: 2, py: 1 }, children: /* @__PURE__ */ x(
                un,
                {
                  onClick: p.onClick,
                  variant: "contained",
                  fullWidth: !0,
                  children: p.label
                }
              ) }),
              u && /* @__PURE__ */ x(
                Sn,
                {
                  disablePadding: !0,
                  sx: { px: 2, py: 1, justifyContent: "flex-start" },
                  children: /* @__PURE__ */ x(
                    mn,
                    {
                      onClick: y,
                      title: h,
                      size: "large",
                      sx: {
                        ...C,
                        color: "rgb(var(--color-text-primary))"
                      },
                      children: b
                    }
                  )
                }
              )
            ] })
          ]
        }
      )
    }
  );
}, eD = ({ title: e, children: t }) => /* @__PURE__ */ x(Mu, { position: "static", elevation: 0, sx: { background: "transparent" }, children: /* @__PURE__ */ he(_u, { children: [
  e && /* @__PURE__ */ x(Le, { variant: "h6", component: "div", sx: { flexGrow: 1, color: "rgb(var(--color-text-primary))" }, children: e }),
  /* @__PURE__ */ x(Ae, { sx: { flexGrow: e ? 0 : 1 }, children: t })
] }) });
var Lu = {}, e$ = Pt;
Object.defineProperty(Lu, "__esModule", {
  value: !0
});
var Db = Lu.default = void 0, t$ = e$($t()), n$ = Mt;
Db = Lu.default = (0, t$.default)(/* @__PURE__ */ (0, n$.jsx)("path", {
  d: "M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"
}), "ExpandMore");
const tD = ({ title: e, children: t, ...o }) => /* @__PURE__ */ he(
  Kg,
  {
    sx: {
      backgroundColor: "rgba(var(--color-surface-primary), 0.7)",
      backdropFilter: "var(--backdrop-filter-blur)",
      WebkitBackdropFilter: "var(--backdrop-filter-blur)",
      color: "rgb(var(--color-text-primary))",
      border: "1px solid rgba(var(--color-border), 0.18)",
      "&.Mui-expanded": {
        margin: "0"
      },
      "&:before": {
        display: "none"
      }
    },
    ...o,
    children: [
      /* @__PURE__ */ x(
        Xg,
        {
          expandIcon: /* @__PURE__ */ x(Db, { sx: { color: "rgb(var(--color-text-primary))" } }),
          "aria-controls": "panel1a-content",
          id: "panel1a-header",
          sx: {
            borderBottom: "1px solid rgba(var(--color-border), 0.1)",
            "& .MuiAccordionSummary-content": {
              margin: "12px 0"
            }
          },
          children: /* @__PURE__ */ x(Le, { sx: { color: "rgb(var(--color-primary))", fontWeight: 600 }, children: e })
        }
      ),
      /* @__PURE__ */ x(Gg, { children: /* @__PURE__ */ x(Le, { component: "div", sx: { color: "rgb(var(--color-text-primary))" }, children: t }) })
    ]
  }
), nD = ({ items: e }) => /* @__PURE__ */ x(Qg, { "aria-label": "breadcrumb", children: e.map((t, o) => o === e.length - 1 ? /* @__PURE__ */ x(Le, { color: "text.primary", children: t.label }, t.label) : /* @__PURE__ */ x(Du, { color: "inherit", href: t.href || "#", children: t.label }, t.label)) }), oD = ({ title: e, imageUrl: t, children: o, actions: r }) => /* @__PURE__ */ he(
  Ae,
  {
    className: "themed-card",
    sx: {
      border: "1px solid rgba(var(--color-border), 0.18)",
      borderRadius: "8px",
      overflow: "hidden",
      backgroundColor: "rgba(var(--color-surface-primary), 0.7)",
      backdropFilter: "var(--backdrop-filter-blur)",
      WebkitBackdropFilter: "var(--backdrop-filter-blur)"
    },
    children: [
      t && /* @__PURE__ */ x("img", { src: t, alt: e, style: { width: "100%", display: "block" } }),
      /* @__PURE__ */ he(Ae, { className: "themed-card-content", sx: { p: 2 }, children: [
        /* @__PURE__ */ x("h3", { className: "themed-card-title", style: { marginTop: 0 }, children: e }),
        o
      ] }),
      r && /* @__PURE__ */ x(Ae, { className: "themed-card-actions", sx: { p: 2, pt: 0 }, children: r })
    ]
  }
);
var Fu = {}, o$ = Pt;
Object.defineProperty(Fu, "__esModule", {
  value: !0
});
var Ib = Fu.default = void 0, r$ = o$($t()), a$ = Mt;
Ib = Fu.default = (0, r$.default)(/* @__PURE__ */ (0, a$.jsx)("path", {
  d: "M11.67 3.87 9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z"
}), "ArrowBackIos");
var ju = {}, i$ = Pt;
Object.defineProperty(ju, "__esModule", {
  value: !0
});
var Nb = ju.default = void 0, s$ = i$($t()), l$ = Mt;
Nb = ju.default = (0, s$.default)(/* @__PURE__ */ (0, l$.jsx)("path", {
  d: "M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z"
}), "ArrowForwardIos");
const rD = ({ children: e }) => {
  const [t, o] = os(0), r = () => {
    o((i) => (i + 1) % e.length);
  }, a = () => {
    o((i) => (i - 1 + e.length) % e.length);
  };
  return /* @__PURE__ */ he(
    Ae,
    {
      sx: {
        position: "relative",
        width: "100%",
        overflow: "hidden",
        borderRadius: "8px",
        backgroundColor: "rgba(var(--color-surface-primary), 0.7)",
        backdropFilter: "var(--backdrop-filter-blur)",
        WebkitBackdropFilter: "var(--backdrop-filter-blur)",
        border: "1px solid rgba(var(--color-border), 0.18)"
      },
      children: [
        /* @__PURE__ */ x(
          Ae,
          {
            sx: {
              display: "flex",
              transition: "transform 0.5s ease-in-out",
              transform: `translateX(-${t * 100}%)`
            },
            children: e.map((i, s) => /* @__PURE__ */ x(Ae, { sx: { minWidth: "100%" }, children: i }, s))
          }
        ),
        e.length > 1 && /* @__PURE__ */ he($r, { children: [
          /* @__PURE__ */ x(
            mn,
            {
              onClick: a,
              sx: {
                position: "absolute",
                top: "50%",
                left: 8,
                transform: "translateY(-50%)",
                color: "rgb(var(--color-text-primary))",
                backgroundColor: "rgba(var(--color-surface-primary), 0.5)",
                "&:hover": {
                  backgroundColor: "rgba(var(--color-surface-primary), 0.7)"
                }
              },
              children: /* @__PURE__ */ x(Ib, {})
            }
          ),
          /* @__PURE__ */ x(
            mn,
            {
              onClick: r,
              sx: {
                position: "absolute",
                top: "50%",
                right: 8,
                transform: "translateY(-50%)",
                color: "rgb(var(--color-text-primary))",
                backgroundColor: "rgba(var(--color-surface-primary), 0.5)",
                "&:hover": {
                  backgroundColor: "rgba(var(--color-surface-primary), 0.7)"
                }
              },
              children: /* @__PURE__ */ x(Nb, {})
            }
          )
        ] })
      ]
    }
  );
}, aD = ({ data: e, columns: t, caption: o }) => !e || e.length === 0 ? /* @__PURE__ */ x("p", { children: "No data to display." }) : /* @__PURE__ */ x("div", { className: "table-container", style: { width: "100%", overflowX: "auto" }, children: /* @__PURE__ */ he("table", { className: "themed-table", children: [
  o && /* @__PURE__ */ x("caption", { children: o }),
  /* @__PURE__ */ x("thead", { children: /* @__PURE__ */ x("tr", { children: t.map((r) => /* @__PURE__ */ x("th", { children: r.header }, String(r.key))) }) }),
  /* @__PURE__ */ x("tbody", { children: e.map((r, a) => /* @__PURE__ */ x("tr", { children: t.map((i) => /* @__PURE__ */ x("td", { children: i.render ? i.render(r) : String(r[i.key]) }, String(i.key))) }, a)) })
] }) }), iD = ({ title: e, children: t, actions: o, ...r }) => /* @__PURE__ */ he(
  Pu,
  {
    sx: {
      "& .MuiDialog-paper": {
        backgroundColor: "rgba(var(--color-surface-primary), 0.9)",
        backdropFilter: "var(--backdrop-filter-blur)",
        WebkitBackdropFilter: "var(--backdrop-filter-blur)",
        color: "rgb(var(--color-text-primary))",
        border: "1px solid rgba(var(--color-border), 0.18)"
      }
    },
    ...r,
    children: [
      e && /* @__PURE__ */ x(eb, { sx: { color: "rgb(var(--color-primary))", borderBottom: "1px solid rgba(var(--color-border), 0.1)" }, children: e }),
      /* @__PURE__ */ x(Eu, { sx: { color: "rgb(var(--color-text-primary))", borderBottom: o ? "1px solid rgba(var(--color-border), 0.1)" : "none" }, children: t }),
      o && /* @__PURE__ */ x(cu, { children: o })
    ]
  }
), sD = ({ children: e, ...t }) => /* @__PURE__ */ x(
  Ba,
  {
    sx: {
      bgcolor: "rgba(var(--color-surface-primary), 0.7)",
      backdropFilter: "var(--backdrop-filter-blur)",
      WebkitBackdropFilter: "var(--backdrop-filter-blur)",
      borderRadius: "8px",
      border: "1px solid rgba(var(--color-border), 0.18)"
    },
    ...t,
    children: e
  }
), lD = ({ primary: e, secondary: t, ...o }) => /* @__PURE__ */ x(
  Sn,
  {
    sx: {
      color: "rgb(var(--color-text-primary))"
    },
    ...o,
    children: /* @__PURE__ */ x(lb, { primary: e, secondary: t, sx: { "& .MuiListItemText-secondary": { color: "rgb(var(--color-text-primary))", opacity: 0.7 } } })
  }
), cD = (e) => /* @__PURE__ */ x(
  pb,
  {
    sx: {
      "& .MuiPaginationItem-root": {
        color: "rgb(var(--color-text-primary))"
      },
      "& .MuiPaginationItem-root.Mui-selected": {
        backgroundColor: "rgb(var(--color-primary))",
        color: "rgb(var(--color-background-primary))"
      }
    },
    ...e
  }
), uD = ({
  message: e,
  open: t,
  onClose: o,
  severity: r = "info",
  autoHideDuration: a = 3e3,
  anchorOrigin: i = { vertical: "bottom", horizontal: "left" }
}) => /* @__PURE__ */ x(
  vb,
  {
    open: t,
    autoHideDuration: a,
    onClose: o,
    anchorOrigin: i,
    children: /* @__PURE__ */ x(
      Uc,
      {
        onClose: o,
        severity: r,
        sx: {
          width: "100%",
          backgroundColor: "rgba(var(--color-surface-primary), 0.9)",
          backdropFilter: "var(--backdrop-filter-blur)",
          WebkitBackdropFilter: "var(--backdrop-filter-blur)",
          color: "rgb(var(--color-text-primary))",
          border: "1px solid rgba(var(--color-border), 0.18)",
          "& .MuiAlert-icon": {
            color: "rgb(var(--color-primary)) !important"
          },
          "& .MuiAlert-message": {
            color: "rgb(var(--color-text-primary))"
          }
        },
        children: e
      }
    )
  }
), dD = ({ headers: e, rows: t, caption: o }) => /* @__PURE__ */ x(Eb, { component: $n, sx: { bgcolor: "rgba(var(--color-surface-primary), 0.7)", backdropFilter: "var(--backdrop-filter-blur)", WebkitBackdropFilter: "var(--backdrop-filter-blur)", borderRadius: "8px", border: "1px solid rgba(var(--color-border), 0.18)" }, children: /* @__PURE__ */ he(wb, { stickyHeader: !0, "aria-label": "themed table", children: [
  o && /* @__PURE__ */ x("caption", { children: o }),
  /* @__PURE__ */ x(Sb, { children: /* @__PURE__ */ x(cc, { children: e.map((r) => /* @__PURE__ */ x(
    lc,
    {
      sx: { bgcolor: "rgba(var(--color-surface-primary), 0.9)", color: "rgb(var(--color-text-primary))", borderBottom: "1px solid rgba(var(--color-border), 0.18)" },
      children: r
    },
    r
  )) }) }),
  /* @__PURE__ */ x(Ob, { children: t.map((r, a) => /* @__PURE__ */ x(cc, { hover: !0, role: "checkbox", tabIndex: -1, children: r.map((i, s) => /* @__PURE__ */ x(lc, { sx: { color: "rgb(var(--color-text-primary))", borderBottom: "1px solid rgba(var(--color-border), 0.18)" }, children: i }, s)) }, a)) })
] }) }), pD = (e) => /* @__PURE__ */ x(
  kb,
  {
    sx: {
      "& .MuiTabs-indicator": {
        backgroundColor: "rgb(var(--color-primary))"
      }
    },
    ...e
  }
), fD = (e) => /* @__PURE__ */ x(
  Tb,
  {
    sx: {
      color: "rgb(var(--color-text-primary))",
      "&.Mui-selected": {
        color: "rgb(var(--color-primary))"
      }
    },
    ...e
  }
);
var Vu = {}, c$ = Pt;
Object.defineProperty(Vu, "__esModule", {
  value: !0
});
var _b = Vu.default = void 0;
p$(tt);
var u$ = c$($t()), d$ = Mt;
function Ab(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (Ab = function(r) {
    return r ? o : t;
  })(e);
}
function p$(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = Ab(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
_b = Vu.default = (0, u$.default)(/* @__PURE__ */ (0, d$.jsx)("path", {
  d: "M12 1.27a11 11 0 00-3.48 21.46c.55.09.73-.28.73-.55v-1.84c-3.03.64-3.67-1.46-3.67-1.46-.55-1.29-1.28-1.65-1.28-1.65-.92-.65.1-.65.1-.65 1.1 0 1.73 1.1 1.73 1.1.92 1.65 2.57 1.2 3.21.92a2 2 0 01.64-1.47c-2.47-.27-5.04-1.19-5.04-5.5 0-1.1.46-2.1 1.2-2.84a3.76 3.76 0 010-2.93s.91-.28 3.11 1.1c1.8-.49 3.7-.49 5.5 0 2.1-1.38 3.02-1.1 3.02-1.1a3.76 3.76 0 010 2.93c.83.74 1.2 1.74 1.2 2.94 0 4.21-2.57 5.13-5.04 5.4.45.37.82.92.82 2.02v3.03c0 .27.1.64.73.55A11 11 0 0012 1.27"
}), "GitHub");
var zu = {}, f$ = Pt;
Object.defineProperty(zu, "__esModule", {
  value: !0
});
var Lb = zu.default = void 0;
g$(tt);
var m$ = f$($t()), h$ = Mt;
function Fb(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (Fb = function(r) {
    return r ? o : t;
  })(e);
}
function g$(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = Fb(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
Lb = zu.default = (0, m$.default)(/* @__PURE__ */ (0, h$.jsx)("path", {
  d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"
}), "X");
var Bu = {}, b$ = Pt;
Object.defineProperty(Bu, "__esModule", {
  value: !0
});
var jb = Bu.default = void 0, y$ = b$($t()), v$ = Mt;
jb = Bu.default = (0, y$.default)(/* @__PURE__ */ (0, v$.jsx)("path", {
  d: "M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m0 4-8 5-8-5V6l8 5 8-5z"
}), "Email");
var Wu = {}, x$ = Pt;
Object.defineProperty(Wu, "__esModule", {
  value: !0
});
var Vb = Wu.default = void 0;
w$(tt);
var C$ = x$($t()), T$ = Mt;
function zb(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (zb = function(r) {
    return r ? o : t;
  })(e);
}
function w$(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = zb(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
Vb = Wu.default = (0, C$.default)(/* @__PURE__ */ (0, T$.jsx)("path", {
  d: "M10 15l5.19-3L10 9v6m11.56-7.83c.13.47.22 1.1.28 1.9.07.8.1 1.49.1 2.09L22 12c0 2.19-.16 3.8-.44 4.83-.25.9-.83 1.48-1.73 1.73-.47.13-1.33.22-2.65.28-1.3.07-2.49.1-3.59.1L12 19c-4.19 0-6.8-.16-7.83-.44-.9-.25-1.48-.83-1.73-1.73-.13-.47-.22-1.1-.28-1.9-.07-.8-.1-1.49-.1-2.09L2 12c0-2.19.16-3.8.44-4.83.25-.9.83-1.48 1.73-1.73.47-.13 1.33-.22 2.65-.28 1.3-.07 2.49-.1 3.59-.1L12 5c4.19 0 6.8.16 7.83.44.9.25 1.48.83 1.73 1.73z"
}), "YouTube");
var Uu = {}, O$ = Pt;
Object.defineProperty(Uu, "__esModule", {
  value: !0
});
var Bb = Uu.default = void 0;
P$(tt);
var E$ = O$($t()), S$ = Mt;
function Wb(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (Wb = function(r) {
    return r ? o : t;
  })(e);
}
function P$(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = Wb(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
Bb = Uu.default = (0, E$.default)(/* @__PURE__ */ (0, S$.jsx)("path", {
  d: "M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"
}), "LinkedIn");
var Hu = {}, R$ = Pt;
Object.defineProperty(Hu, "__esModule", {
  value: !0
});
var Ub = Hu.default = void 0;
$$(tt);
var k$ = R$($t()), M$ = Mt;
function Hb(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (Hb = function(r) {
    return r ? o : t;
  })(e);
}
function $$(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = Hb(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
Ub = Hu.default = (0, k$.default)(/* @__PURE__ */ (0, M$.jsx)("path", {
  d: "M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2m13 2h-2.5A3.5 3.5 0 0 0 12 8.5V11h-2v3h2v7h3v-7h3v-3h-3V9a1 1 0 0 1 1-1h2V5z"
}), "Facebook");
var qu = {}, D$ = Pt;
Object.defineProperty(qu, "__esModule", {
  value: !0
});
var qb = qu.default = void 0;
_$(tt);
var I$ = D$($t()), N$ = Mt;
function Yb(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (Yb = function(r) {
    return r ? o : t;
  })(e);
}
function _$(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = Yb(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
qb = qu.default = (0, I$.default)(/* @__PURE__ */ (0, N$.jsx)("path", {
  d: "M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4H7.6m9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8 1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3z"
}), "Instagram");
var Yu = {}, A$ = Pt;
Object.defineProperty(Yu, "__esModule", {
  value: !0
});
var Kb = Yu.default = void 0;
j$(tt);
var L$ = A$($t()), F$ = Mt;
function Gb(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (Gb = function(r) {
    return r ? o : t;
  })(e);
}
function j$(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = Gb(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
Kb = Yu.default = (0, L$.default)(/* @__PURE__ */ (0, F$.jsx)("path", {
  d: "M22 12.14a2.19 2.19 0 0 0-3.71-1.57 10.93 10.93 0 0 0-5.86-1.87l1-4.7 3.27.71a1.56 1.56 0 1 0 .16-.76l-3.64-.77c-.11-.02-.22 0-.29.06-.09.05-.14.14-.16.26l-1.11 5.22c-2.33.07-4.43.78-5.95 1.86A2.2 2.2 0 0 0 4.19 10a2.16 2.16 0 0 0-.9 4.15 3.6 3.6 0 0 0-.05.66c0 3.37 3.92 6.12 8.76 6.12s8.76-2.73 8.76-6.12c0-.21-.01-.44-.05-.66A2.21 2.21 0 0 0 22 12.14M7 13.7c0-.86.68-1.56 1.54-1.56s1.56.7 1.56 1.56a1.56 1.56 0 0 1-1.56 1.56c-.86.02-1.54-.7-1.54-1.56m8.71 4.14C14.63 18.92 12.59 19 12 19c-.61 0-2.65-.1-3.71-1.16a.4.4 0 0 1 0-.57.4.4 0 0 1 .57 0c.68.68 2.14.91 3.14.91s2.47-.23 3.14-.91a.4.4 0 0 1 .57 0c.14.16.14.41 0 .57m-.29-2.56c-.86 0-1.56-.7-1.56-1.56a1.56 1.56 0 0 1 1.56-1.56c.86 0 1.58.7 1.58 1.56a1.6 1.6 0 0 1-1.58 1.56z"
}), "Reddit");
var Ku = {}, V$ = Pt;
Object.defineProperty(Ku, "__esModule", {
  value: !0
});
var Xb = Ku.default = void 0;
W$(tt);
var z$ = V$($t()), B$ = Mt;
function Zb(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (Zb = function(r) {
    return r ? o : t;
  })(e);
}
function W$(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = Zb(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
Xb = Ku.default = (0, z$.default)(/* @__PURE__ */ (0, B$.jsx)("path", {
  d: "M16.75 13.96c.25.13.41.2.46.3.06.11.04.61-.21 1.18-.2.56-1.24 1.1-1.7 1.12-.46.02-.47.36-2.96-.73-2.49-1.09-3.99-3.75-4.11-3.92-.12-.17-.96-1.38-.92-2.61.05-1.22.69-1.8.95-2.04.24-.26.51-.29.68-.26h.47c.15 0 .36-.06.55.45l.69 1.87c.06.13.1.28.01.44l-.27.41-.39.42c-.12.12-.26.25-.12.5.12.26.62 1.09 1.32 1.78.91.88 1.71 1.17 1.95 1.3.24.14.39.12.54-.04l.81-.94c.19-.25.35-.19.58-.11l1.67.88M12 2a10 10 0 0 1 10 10 10 10 0 0 1-10 10c-1.97 0-3.8-.57-5.35-1.55L2 22l1.55-4.65A9.969 9.969 0 0 1 2 12 10 10 0 0 1 12 2m0 2a8 8 0 0 0-8 8c0 1.72.54 3.31 1.46 4.61L4.5 19.5l2.89-.96A7.95 7.95 0 0 0 12 20a8 8 0 0 0 8-8 8 8 0 0 0-8-8z"
}), "WhatsApp");
var Gu = {}, U$ = Pt;
Object.defineProperty(Gu, "__esModule", {
  value: !0
});
var uc = Gu.default = void 0, H$ = U$($t()), q$ = Mt;
uc = Gu.default = (0, H$.default)(/* @__PURE__ */ (0, q$.jsx)("path", {
  d: "M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92"
}), "Share");
var Xu = {}, Y$ = Pt;
Object.defineProperty(Xu, "__esModule", {
  value: !0
});
var Qb = Xu.default = void 0;
X$(tt);
var K$ = Y$($t()), G$ = Mt;
function Jb(e) {
  if (typeof WeakMap != "function") return null;
  var t = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
  return (Jb = function(r) {
    return r ? o : t;
  })(e);
}
function X$(e, t) {
  if (e && e.__esModule) return e;
  if (e === null || typeof e != "object" && typeof e != "function") return { default: e };
  var o = Jb(t);
  if (o && o.has(e)) return o.get(e);
  var r = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor;
  for (var i in e) if (i !== "default" && Object.prototype.hasOwnProperty.call(e, i)) {
    var s = a ? Object.getOwnPropertyDescriptor(e, i) : null;
    s && (s.get || s.set) ? Object.defineProperty(r, i, s) : r[i] = e[i];
  }
  return r.default = e, o && o.set(e, r), r;
}
Qb = Xu.default = (0, K$.default)(/* @__PURE__ */ (0, G$.jsx)("path", {
  d: "M9.04 21.54c.96.29 1.93.46 2.96.46a10 10 0 0 0 10-10A10 10 0 0 0 12 2 10 10 0 0 0 2 12c0 4.25 2.67 7.9 6.44 9.34-.09-.78-.18-2.07 0-2.96l1.15-4.94s-.29-.58-.29-1.5c0-1.38.86-2.41 1.84-2.41.86 0 1.26.63 1.26 1.44 0 .86-.57 2.09-.86 3.27-.17.98.52 1.84 1.52 1.84 1.78 0 3.16-1.9 3.16-4.58 0-2.4-1.72-4.04-4.19-4.04-2.82 0-4.48 2.1-4.48 4.31 0 .86.28 1.73.74 2.3.09.06.09.14.06.29l-.29 1.09c0 .17-.11.23-.28.11-1.28-.56-2.02-2.38-2.02-3.85 0-3.16 2.24-6.03 6.56-6.03 3.44 0 6.12 2.47 6.12 5.75 0 3.44-2.13 6.2-5.18 6.2-.97 0-1.92-.52-2.26-1.13l-.67 2.37c-.23.86-.86 2.01-1.29 2.7v-.03z"
}), "Pinterest");
const e1 = {
  tracking: {
    googleAnalyticsId: "G-6Z418360MB",
    // 'G-XXXXXXXXXX', // Default placeholder
    googleAdsenseId: "ca-pub-9120623799304305",
    // 'ca-pub-XXXXXXXXXXXXXXXX', // Default placeholder
    vercelAnalytics: !0
  },
  seo: {
    title: "Harito UI - A Modern React UI Library",
    description: "A library of modern, accessible, and customizable React components.",
    keywords: "react, typescript, ui, library, components, harito"
  },
  footer: {
    companyName: "Harito ID",
    startYear: 2003,
    socialLinks: [
      // --- NHÓM 1: CÓ ICON RIÊNG (Sắp xếp theo độ phổ biến/quan trọng) ---
      { platform: "facebook", url: "https://facebook.com/harito97" },
      { platform: "youtube", url: "https://www.youtube.com/@haritoID" },
      { platform: "instagram", url: "https://instagram.com/harito_id" },
      {
        platform: "whatsapp",
        url: "whatsapp.com/channel/0029VbBHm3PLSmbt1q75yX0L"
      },
      { platform: "twitter", url: "https://x.com/harito_id" },
      // X
      { platform: "linkedin", url: "https://linkedin.com/in/harito97" },
      { platform: "github", url: "https://github.com/harito97" },
      // Chuyên môn/Code
      { platform: "reddit", url: "https://reddit.com/user/harito97" },
      { platform: "pinterest", url: "https://pinterest.com/harito_id" },
      { platform: "email", url: "mailto:harito.work@gmail.com" },
      // Kênh liên hệ quan trọng
      // --- NHÓM 2: DÙNG ICON CHUNG (Sắp xếp theo độ phổ biến/quan trọng) ---
      { platform: "tiktok", url: "https://tiktok.com/@harito_id" },
      // Rất phổ biến
      { platform: "substack", url: "https://harito.substack.com" },
      // Nội dung chuyên sâu
      { platform: "patreon", url: "https://patreon.com/harito" },
      // Hỗ trợ/Tài trợ
      { platform: "threads", url: "https://threads.net/@harito_id" },
      { platform: "home", url: "https://harito.id.vn" }
      // Trang chủ (Thường ở cuối hoặc đầu)
    ],
    legalLinks: [
      { label: "Privacy Policy", href: "/privacy" },
      { label: "Terms of Service", href: "/terms" },
      { label: "Disclaimer", href: "/disclaimer" }
    ],
    contactInfo: {
      address: "111 Trieu Khuc St, Hanoi Vietnam",
      phone: "+84 379-08-9703",
      email: "harito.work@gmail.com"
    },
    showNewsletterSignup: !0
  },
  aboutPage: {
    title: "About Us",
    sections: [
      {
        heading: "Our Mission",
        content: "Harito UI aims to provide a modern, accessible, and highly customizable React UI library that empowers developers to build beautiful and functional web applications with ease. We believe in open-source and community-driven development."
      },
      {
        heading: "Our Vision",
        content: "To become the go-to UI library for React developers seeking elegant design, robust functionality, and unparalleled flexibility."
      },
      {
        heading: "Our Values",
        content: "Quality, Accessibility, Community, Innovation, and Transparency."
      }
    ]
  },
  contactPage: {
    title: "Contact Us",
    description: "We'd love to hear from you! Feel free to reach out through any of the following channels.",
    contactMethods: [
      {
        type: "email",
        label: "Email Us",
        value: "harito.work@gmail.com",
        href: "mailto:harito.work@gmail.com"
      },
      {
        type: "phone",
        label: "Call Us",
        value: "+84 379-08-9703",
        href: "tel:+84379089703"
      },
      {
        type: "address",
        label: "Visit Us",
        value: "111 Trieu Khuc St, Hanoi Vietnam"
      }
    ],
    form: {
      enabled: !0,
      fields: [
        { name: "name", label: "Your Name", type: "text", required: !0 },
        { name: "email", label: "Your Email", type: "email", required: !0 },
        { name: "subject", label: "Subject", type: "text", required: !0 },
        { name: "message", label: "Message", type: "textarea", required: !0 }
      ],
      submitButtonText: "Send Message"
    }
  },
  donationPage: {
    title: "Support Our Project",
    description: "Your generous contributions help us continue developing and maintaining Harito UI. Every little bit helps!",
    donationOptions: [
      {
        type: "paypal",
        label: "Donate via PayPal",
        details: "Use PayPal to support us",
        url: "https://paypal.me/harito97"
      },
      {
        type: "patreon",
        label: "Support on Patreon",
        details: "Become a patron for exclusive benefits",
        url: "https://patreon.com/harito"
      },
      // {
      //   type: "binance",
      //   label: "Binance Pay",
      //   details: "Use Binance Pay to support us",
      //   url: "binance://pay?id=1132769899", // Placeholder deep link
      //   copyable: true,
      //   copyDetails: "1132769899", // Actual ID to copy
      // },
      {
        type: "bank",
        label: "MB Bank Transfer in Vietnam",
        details: "Account: 9379089703 (PHAM NGOC HAI)",
        qrCodeUrl: "https://img.vietqr.io/image/MB-9379089703-OuuPlAc.png?amount=79000&addInfo=MB Bank&accountName=PHAM NGOC HAI",
        copyable: !0,
        copyDetails: "9379089703"
        // The actual account number to copy
      }
    ]
  }
};
var ts = { exports: {} };
ts.exports;
(function(e, t) {
  var o = 200, r = "__lodash_hash_undefined__", a = 800, i = 16, s = 9007199254740991, l = "[object Arguments]", c = "[object Array]", u = "[object AsyncFunction]", p = "[object Boolean]", f = "[object Date]", g = "[object Error]", v = "[object Function]", b = "[object GeneratorFunction]", h = "[object Map]", y = "[object Number]", C = "[object Null]", E = "[object Object]", w = "[object Proxy]", T = "[object RegExp]", O = "[object Set]", P = "[object String]", S = "[object Undefined]", $ = "[object WeakMap]", A = "[object ArrayBuffer]", N = "[object DataView]", D = "[object Float32Array]", V = "[object Float64Array]", L = "[object Int8Array]", I = "[object Int16Array]", R = "[object Int32Array]", k = "[object Uint8Array]", F = "[object Uint8ClampedArray]", M = "[object Uint16Array]", B = "[object Uint32Array]", j = /[\\^$.*+?()[\]{}|]/g, W = /^\[object .+?Constructor\]$/, re = /^(?:0|[1-9]\d*)$/, J = {};
  J[D] = J[V] = J[L] = J[I] = J[R] = J[k] = J[F] = J[M] = J[B] = !0, J[l] = J[c] = J[A] = J[p] = J[N] = J[f] = J[g] = J[v] = J[h] = J[y] = J[E] = J[T] = J[O] = J[P] = J[$] = !1;
  var Q = typeof An == "object" && An && An.Object === Object && An, X = typeof self == "object" && self && self.Object === Object && self, Y = Q || X || Function("return this")(), Z = t && !t.nodeType && t, H = Z && !0 && e && !e.nodeType && e, K = H && H.exports === Z, ne = K && Q.process, ae = function() {
    try {
      var _ = H && H.require && H.require("util").types;
      return _ || ne && ne.binding && ne.binding("util");
    } catch {
    }
  }(), z = ae && ae.isTypedArray;
  function q(_, G, se) {
    switch (se.length) {
      case 0:
        return _.call(G);
      case 1:
        return _.call(G, se[0]);
      case 2:
        return _.call(G, se[0], se[1]);
      case 3:
        return _.call(G, se[0], se[1], se[2]);
    }
    return _.apply(G, se);
  }
  function te(_, G) {
    for (var se = -1, Pe = Array(_); ++se < _; )
      Pe[se] = G(se);
    return Pe;
  }
  function ie(_) {
    return function(G) {
      return _(G);
    };
  }
  function de(_, G) {
    return _ == null ? void 0 : _[G];
  }
  function ge(_, G) {
    return function(se) {
      return _(G(se));
    };
  }
  var fe = Array.prototype, Oe = Function.prototype, Te = Object.prototype, Re = Y["__core-js_shared__"], Be = Oe.toString, je = Te.hasOwnProperty, Fe = function() {
    var _ = /[^.]+$/.exec(Re && Re.keys && Re.keys.IE_PROTO || "");
    return _ ? "Symbol(src)_1." + _ : "";
  }(), et = Te.toString, ct = Be.call(Object), ot = RegExp(
    "^" + Be.call(je).replace(j, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
  ), ue = K ? Y.Buffer : void 0, le = Y.Symbol, xe = Y.Uint8Array;
  ue && ue.allocUnsafe;
  var ke = ge(Object.getPrototypeOf, Object), De = Object.create, Ie = Te.propertyIsEnumerable, we = fe.splice, pe = le ? le.toStringTag : void 0, me = function() {
    try {
      var _ = ol(Object, "defineProperty");
      return _({}, "", {}), _;
    } catch {
    }
  }(), Se = ue ? ue.isBuffer : void 0, Ne = Math.max, Me = Date.now, We = ol(Y, "Map"), it = ol(Object, "create"), bt = /* @__PURE__ */ function() {
    function _() {
    }
    return function(G) {
      if (!Mo(G))
        return {};
      if (De)
        return De(G);
      _.prototype = G;
      var se = new _();
      return _.prototype = void 0, se;
    };
  }();
  function yt(_) {
    var G = -1, se = _ == null ? 0 : _.length;
    for (this.clear(); ++G < se; ) {
      var Pe = _[G];
      this.set(Pe[0], Pe[1]);
    }
  }
  function Tn() {
    this.__data__ = it ? it(null) : {}, this.size = 0;
  }
  function ro(_) {
    var G = this.has(_) && delete this.__data__[_];
    return this.size -= G ? 1 : 0, G;
  }
  function Br(_) {
    var G = this.__data__;
    if (it) {
      var se = G[_];
      return se === r ? void 0 : se;
    }
    return je.call(G, _) ? G[_] : void 0;
  }
  function Eo(_) {
    var G = this.__data__;
    return it ? G[_] !== void 0 : je.call(G, _);
  }
  function So(_, G) {
    var se = this.__data__;
    return this.size += this.has(_) ? 0 : 1, se[_] = it && G === void 0 ? r : G, this;
  }
  yt.prototype.clear = Tn, yt.prototype.delete = ro, yt.prototype.get = Br, yt.prototype.has = Eo, yt.prototype.set = So;
  function It(_) {
    var G = -1, se = _ == null ? 0 : _.length;
    for (this.clear(); ++G < se; ) {
      var Pe = _[G];
      this.set(Pe[0], Pe[1]);
    }
  }
  function Wr() {
    this.__data__ = [], this.size = 0;
  }
  function Un(_) {
    var G = this.__data__, se = Xa(G, _);
    if (se < 0)
      return !1;
    var Pe = G.length - 1;
    return se == Pe ? G.pop() : we.call(G, se, 1), --this.size, !0;
  }
  function Po(_) {
    var G = this.__data__, se = Xa(G, _);
    return se < 0 ? void 0 : G[se][1];
  }
  function At(_) {
    return Xa(this.__data__, _) > -1;
  }
  function Hn(_, G) {
    var se = this.__data__, Pe = Xa(se, _);
    return Pe < 0 ? (++this.size, se.push([_, G])) : se[Pe][1] = G, this;
  }
  It.prototype.clear = Wr, It.prototype.delete = Un, It.prototype.get = Po, It.prototype.has = At, It.prototype.set = Hn;
  function Dn(_) {
    var G = -1, se = _ == null ? 0 : _.length;
    for (this.clear(); ++G < se; ) {
      var Pe = _[G];
      this.set(Pe[0], Pe[1]);
    }
  }
  function wn() {
    this.size = 0, this.__data__ = {
      hash: new yt(),
      map: new (We || It)(),
      string: new yt()
    };
  }
  function Ro(_) {
    var G = Qa(this, _).delete(_);
    return this.size -= G ? 1 : 0, G;
  }
  function ao(_) {
    return Qa(this, _).get(_);
  }
  function io(_) {
    return Qa(this, _).has(_);
  }
  function Go(_, G) {
    var se = Qa(this, _), Pe = se.size;
    return se.set(_, G), this.size += se.size == Pe ? 0 : 1, this;
  }
  Dn.prototype.clear = wn, Dn.prototype.delete = Ro, Dn.prototype.get = ao, Dn.prototype.has = io, Dn.prototype.set = Go;
  function Ge(_) {
    var G = this.__data__ = new It(_);
    this.size = G.size;
  }
  function wt() {
    this.__data__ = new It(), this.size = 0;
  }
  function ko(_) {
    var G = this.__data__, se = G.delete(_);
    return this.size = G.size, se;
  }
  function so(_) {
    return this.__data__.get(_);
  }
  function Yt(_) {
    return this.__data__.has(_);
  }
  function Ve(_, G) {
    var se = this.__data__;
    if (se instanceof It) {
      var Pe = se.__data__;
      if (!We || Pe.length < o - 1)
        return Pe.push([_, G]), this.size = ++se.size, this;
      se = this.__data__ = new Dn(Pe);
    }
    return se.set(_, G), this.size = se.size, this;
  }
  Ge.prototype.clear = wt, Ge.prototype.delete = ko, Ge.prototype.get = so, Ge.prototype.has = Yt, Ge.prototype.set = Ve;
  function Ft(_, G) {
    var se = il(_), Pe = !se && al(_), Ue = !se && !Pe && fd(_), st = !se && !Pe && !Ue && hd(_), ft = se || Pe || Ue || st, qe = ft ? te(_.length, String) : [], mt = qe.length;
    for (var On in _)
      ft && // Safari 9 has enumerable `arguments.length` in strict mode.
      (On == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
      Ue && (On == "offset" || On == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
      st && (On == "buffer" || On == "byteLength" || On == "byteOffset") || // Skip index properties.
      dd(On, mt)) || qe.push(On);
    return qe;
  }
  function tl(_, G, se) {
    (se !== void 0 && !Ja(_[G], se) || se === void 0 && !(G in _)) && nl(_, G, se);
  }
  function E1(_, G, se) {
    var Pe = _[G];
    (!(je.call(_, G) && Ja(Pe, se)) || se === void 0 && !(G in _)) && nl(_, G, se);
  }
  function Xa(_, G) {
    for (var se = _.length; se--; )
      if (Ja(_[se][0], G))
        return se;
    return -1;
  }
  function nl(_, G, se) {
    G == "__proto__" && me ? me(_, G, {
      configurable: !0,
      enumerable: !0,
      value: se,
      writable: !0
    }) : _[G] = se;
  }
  var S1 = j1();
  function Za(_) {
    return _ == null ? _ === void 0 ? S : C : pe && pe in Object(_) ? V1(_) : q1(_);
  }
  function cd(_) {
    return Ur(_) && Za(_) == l;
  }
  function P1(_) {
    if (!Mo(_) || U1(_))
      return !1;
    var G = ll(_) ? ot : W;
    return G.test(X1(_));
  }
  function R1(_) {
    return Ur(_) && md(_.length) && !!J[Za(_)];
  }
  function k1(_) {
    if (!Mo(_))
      return H1(_);
    var G = pd(_), se = [];
    for (var Pe in _)
      Pe == "constructor" && (G || !je.call(_, Pe)) || se.push(Pe);
    return se;
  }
  function ud(_, G, se, Pe, Ue) {
    _ !== G && S1(G, function(st, ft) {
      if (Ue || (Ue = new Ge()), Mo(st))
        M1(_, G, ft, se, ud, Pe, Ue);
      else {
        var qe = Pe ? Pe(rl(_, ft), st, ft + "", _, G, Ue) : void 0;
        qe === void 0 && (qe = st), tl(_, ft, qe);
      }
    }, gd);
  }
  function M1(_, G, se, Pe, Ue, st, ft) {
    var qe = rl(_, se), mt = rl(G, se), On = ft.get(mt);
    if (On) {
      tl(_, se, On);
      return;
    }
    var Kt = st ? st(qe, mt, se + "", _, G, ft) : void 0, Hr = Kt === void 0;
    if (Hr) {
      var cl = il(mt), ul = !cl && fd(mt), yd = !cl && !ul && hd(mt);
      Kt = mt, cl || ul || yd ? il(qe) ? Kt = qe : Z1(qe) ? Kt = A1(qe) : ul ? (Hr = !1, Kt = I1(mt)) : yd ? (Hr = !1, Kt = _1(mt)) : Kt = [] : Q1(mt) || al(mt) ? (Kt = qe, al(qe) ? Kt = J1(qe) : (!Mo(qe) || ll(qe)) && (Kt = z1(mt))) : Hr = !1;
    }
    Hr && (ft.set(mt, Kt), Ue(Kt, mt, Pe, st, ft), ft.delete(mt)), tl(_, se, Kt);
  }
  function $1(_, G) {
    return K1(Y1(_, G, bd), _ + "");
  }
  var D1 = me ? function(_, G) {
    return me(_, "toString", {
      configurable: !0,
      enumerable: !1,
      value: ty(G),
      writable: !0
    });
  } : bd;
  function I1(_, G) {
    return _.slice();
  }
  function N1(_) {
    var G = new _.constructor(_.byteLength);
    return new xe(G).set(new xe(_)), G;
  }
  function _1(_, G) {
    var se = N1(_.buffer);
    return new _.constructor(se, _.byteOffset, _.length);
  }
  function A1(_, G) {
    var se = -1, Pe = _.length;
    for (G || (G = Array(Pe)); ++se < Pe; )
      G[se] = _[se];
    return G;
  }
  function L1(_, G, se, Pe) {
    var Ue = !se;
    se || (se = {});
    for (var st = -1, ft = G.length; ++st < ft; ) {
      var qe = G[st], mt = void 0;
      mt === void 0 && (mt = _[qe]), Ue ? nl(se, qe, mt) : E1(se, qe, mt);
    }
    return se;
  }
  function F1(_) {
    return $1(function(G, se) {
      var Pe = -1, Ue = se.length, st = Ue > 1 ? se[Ue - 1] : void 0, ft = Ue > 2 ? se[2] : void 0;
      for (st = _.length > 3 && typeof st == "function" ? (Ue--, st) : void 0, ft && B1(se[0], se[1], ft) && (st = Ue < 3 ? void 0 : st, Ue = 1), G = Object(G); ++Pe < Ue; ) {
        var qe = se[Pe];
        qe && _(G, qe, Pe, st);
      }
      return G;
    });
  }
  function j1(_) {
    return function(G, se, Pe) {
      for (var Ue = -1, st = Object(G), ft = Pe(G), qe = ft.length; qe--; ) {
        var mt = ft[++Ue];
        if (se(st[mt], mt, st) === !1)
          break;
      }
      return G;
    };
  }
  function Qa(_, G) {
    var se = _.__data__;
    return W1(G) ? se[typeof G == "string" ? "string" : "hash"] : se.map;
  }
  function ol(_, G) {
    var se = de(_, G);
    return P1(se) ? se : void 0;
  }
  function V1(_) {
    var G = je.call(_, pe), se = _[pe];
    try {
      _[pe] = void 0;
      var Pe = !0;
    } catch {
    }
    var Ue = et.call(_);
    return Pe && (G ? _[pe] = se : delete _[pe]), Ue;
  }
  function z1(_) {
    return typeof _.constructor == "function" && !pd(_) ? bt(ke(_)) : {};
  }
  function dd(_, G) {
    var se = typeof _;
    return G = G ?? s, !!G && (se == "number" || se != "symbol" && re.test(_)) && _ > -1 && _ % 1 == 0 && _ < G;
  }
  function B1(_, G, se) {
    if (!Mo(se))
      return !1;
    var Pe = typeof G;
    return (Pe == "number" ? sl(se) && dd(G, se.length) : Pe == "string" && G in se) ? Ja(se[G], _) : !1;
  }
  function W1(_) {
    var G = typeof _;
    return G == "string" || G == "number" || G == "symbol" || G == "boolean" ? _ !== "__proto__" : _ === null;
  }
  function U1(_) {
    return !!Fe && Fe in _;
  }
  function pd(_) {
    var G = _ && _.constructor, se = typeof G == "function" && G.prototype || Te;
    return _ === se;
  }
  function H1(_) {
    var G = [];
    if (_ != null)
      for (var se in Object(_))
        G.push(se);
    return G;
  }
  function q1(_) {
    return et.call(_);
  }
  function Y1(_, G, se) {
    return G = Ne(G === void 0 ? _.length - 1 : G, 0), function() {
      for (var Pe = arguments, Ue = -1, st = Ne(Pe.length - G, 0), ft = Array(st); ++Ue < st; )
        ft[Ue] = Pe[G + Ue];
      Ue = -1;
      for (var qe = Array(G + 1); ++Ue < G; )
        qe[Ue] = Pe[Ue];
      return qe[G] = se(ft), q(_, this, qe);
    };
  }
  function rl(_, G) {
    if (!(G === "constructor" && typeof _[G] == "function") && G != "__proto__")
      return _[G];
  }
  var K1 = G1(D1);
  function G1(_) {
    var G = 0, se = 0;
    return function() {
      var Pe = Me(), Ue = i - (Pe - se);
      if (se = Pe, Ue > 0) {
        if (++G >= a)
          return arguments[0];
      } else
        G = 0;
      return _.apply(void 0, arguments);
    };
  }
  function X1(_) {
    if (_ != null) {
      try {
        return Be.call(_);
      } catch {
      }
      try {
        return _ + "";
      } catch {
      }
    }
    return "";
  }
  function Ja(_, G) {
    return _ === G || _ !== _ && G !== G;
  }
  var al = cd(/* @__PURE__ */ function() {
    return arguments;
  }()) ? cd : function(_) {
    return Ur(_) && je.call(_, "callee") && !Ie.call(_, "callee");
  }, il = Array.isArray;
  function sl(_) {
    return _ != null && md(_.length) && !ll(_);
  }
  function Z1(_) {
    return Ur(_) && sl(_);
  }
  var fd = Se || ny;
  function ll(_) {
    if (!Mo(_))
      return !1;
    var G = Za(_);
    return G == v || G == b || G == u || G == w;
  }
  function md(_) {
    return typeof _ == "number" && _ > -1 && _ % 1 == 0 && _ <= s;
  }
  function Mo(_) {
    var G = typeof _;
    return _ != null && (G == "object" || G == "function");
  }
  function Ur(_) {
    return _ != null && typeof _ == "object";
  }
  function Q1(_) {
    if (!Ur(_) || Za(_) != E)
      return !1;
    var G = ke(_);
    if (G === null)
      return !0;
    var se = je.call(G, "constructor") && G.constructor;
    return typeof se == "function" && se instanceof se && Be.call(se) == ct;
  }
  var hd = z ? ie(z) : R1;
  function J1(_) {
    return L1(_, gd(_));
  }
  function gd(_) {
    return sl(_) ? Ft(_) : k1(_);
  }
  var ey = F1(function(_, G, se) {
    ud(_, G, se);
  });
  function ty(_) {
    return function() {
      return _;
    };
  }
  function bd(_) {
    return _;
  }
  function ny() {
    return !1;
  }
  e.exports = ey;
})(ts, ts.exports);
var Z$ = ts.exports;
const Q$ = /* @__PURE__ */ kn(Z$);
let t1 = { ...e1 };
const mD = (e) => {
  e && (t1 = Q$({}, e1, e));
}, qa = () => t1, hD = () => {
  const e = qa().footer, t = (/* @__PURE__ */ new Date()).getFullYear(), o = {
    transition: "transform 0.3s ease-in-out",
    "&:hover": {
      transform: "scale(1.2)"
    }
  }, r = (a) => {
    switch (a) {
      case "github":
        return /* @__PURE__ */ x(_b, {});
      case "twitter":
        return /* @__PURE__ */ x(Lb, {});
      case "email":
        return /* @__PURE__ */ x(jb, {});
      case "youtube":
        return /* @__PURE__ */ x(Vb, {});
      case "linkedin":
        return /* @__PURE__ */ x(Bb, {});
      case "facebook":
        return /* @__PURE__ */ x(Ub, {});
      case "instagram":
        return /* @__PURE__ */ x(qb, {});
      case "reddit":
        return /* @__PURE__ */ x(Kb, {});
      case "whatsapp":
        return /* @__PURE__ */ x(Xb, {});
      case "pinterest":
        return /* @__PURE__ */ x(Qb, {});
      case "substack":
      case "patreon":
      case "tiktok":
      case "threads":
        return /* @__PURE__ */ x(uc, {});
      default:
        return /* @__PURE__ */ x(uc, {});
    }
  };
  return /* @__PURE__ */ he(
    Ae,
    {
      component: "footer",
      className: "liquid-glass",
      sx: {
        mx: 2,
        my: 2,
        px: 2,
        py: 2,
        textAlign: "center",
        borderRadius: "16px",
        border: "1px solid rgba(var(--color-border), 0.18)",
        boxShadow: "var(--color-shadow-light)",
        background: "rgba(var(--color-surface-primary), 0.7)",
        backdropFilter: "var(--backdrop-filter-blur)",
        WebkitBackdropFilter: "var(--backdrop-filter-blur)"
      },
      children: [
        /* @__PURE__ */ he(
          Le,
          {
            variant: "body2",
            sx: { color: "rgb(var(--color-text-primary))", mb: 1 },
            children: [
              "© ",
              e.startYear,
              "-",
              t,
              " ",
              e.companyName,
              ". All rights reserved."
            ]
          }
        ),
        e.socialLinks && e.socialLinks.length > 0 && /* @__PURE__ */ x(Ae, { sx: { mb: 1 }, children: e.socialLinks.map((a) => /* @__PURE__ */ x(
          mn,
          {
            href: a.url,
            target: "_blank",
            rel: "noopener",
            color: "inherit",
            size: "large",
            sx: {
              ...o,
              color: "rgb(var(--color-text-primary))"
            },
            children: r(a.platform)
          },
          a.platform
        )) }),
        e.legalLinks && e.legalLinks.length > 0 && /* @__PURE__ */ x(Ae, { sx: { mb: 1 }, children: e.legalLinks.map((a) => /* @__PURE__ */ x(Rr, { href: a.href, sx: { mx: 1 }, children: a.label }, a.label)) }),
        e.contactInfo && /* @__PURE__ */ he(Ae, { sx: { mb: 1 }, children: [
          e.contactInfo.address && /* @__PURE__ */ x(
            Le,
            {
              variant: "body2",
              sx: { color: "rgb(var(--color-text-primary))" },
              children: e.contactInfo.address
            }
          ),
          e.contactInfo.phone && /* @__PURE__ */ he(
            Le,
            {
              variant: "body2",
              sx: { color: "rgb(var(--color-text-primary))" },
              children: [
                "Phone: ",
                e.contactInfo.phone
              ]
            }
          ),
          e.contactInfo.email && /* @__PURE__ */ he(
            Le,
            {
              variant: "body2",
              sx: { color: "rgb(var(--color-text-primary))" },
              children: [
                "Email: ",
                e.contactInfo.email
              ]
            }
          )
        ] }),
        e.showNewsletterSignup && /* @__PURE__ */ he(Ae, { sx: { mt: 2 }, children: [
          /* @__PURE__ */ x(
            Le,
            {
              variant: "h6",
              sx: { color: "rgb(var(--color-text-primary))", mb: 1 },
              children: "Subscribe to our Newsletter"
            }
          ),
          /* @__PURE__ */ he(Ae, { sx: { display: "flex", justifyContent: "center", gap: 1 }, children: [
            /* @__PURE__ */ x(Zs, { placeholder: "Your email", sx: { width: 200 } }),
            /* @__PURE__ */ x(un, { variant: "contained", children: "Subscribe" })
          ] })
        ] })
      ]
    }
  );
};
var Zu = {}, J$ = Pt;
Object.defineProperty(Zu, "__esModule", {
  value: !0
});
var n1 = Zu.default = void 0, e8 = J$($t()), t8 = Mt;
n1 = Zu.default = (0, e8.default)(/* @__PURE__ */ (0, t8.jsx)("path", {
  d: "M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5M2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1m18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1M11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1m0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1M5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0z"
}), "LightMode");
var Qu = {}, n8 = Pt;
Object.defineProperty(Qu, "__esModule", {
  value: !0
});
var o1 = Qu.default = void 0, o8 = n8($t()), r8 = Mt;
o1 = Qu.default = (0, o8.default)(/* @__PURE__ */ (0, r8.jsx)("path", {
  d: "M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9c0-.46-.04-.92-.1-1.36-.98 1.37-2.58 2.26-4.4 2.26-2.98 0-5.4-2.42-5.4-5.4 0-1.81.89-3.42 2.26-4.4-.44-.06-.9-.1-1.36-.1"
}), "DarkMode");
var Ju = {}, a8 = Pt;
Object.defineProperty(Ju, "__esModule", {
  value: !0
});
var r1 = Ju.default = void 0, i8 = a8($t()), s8 = Mt;
r1 = Ju.default = (0, i8.default)(/* @__PURE__ */ (0, s8.jsx)("path", {
  d: "M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2m0 14H4V8h16zm-2-1h-6v-2h6zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4z"
}), "Terminal");
const ed = sy(
  void 0
);
var td = {}, l8 = Pt;
Object.defineProperty(td, "__esModule", {
  value: !0
});
var a1 = td.default = void 0, c8 = l8($t()), u8 = Mt;
a1 = td.default = (0, c8.default)(/* @__PURE__ */ (0, u8.jsx)("path", {
  d: "M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"
}), "Menu");
const gD = ({
  header_name: e,
  logo: t,
  navItems: o,
  isAuthenticated: r = !1,
  userName: a,
  onLoginClick: i,
  onLogoutClick: s,
  showSearchBar: l = !1,
  showThemeSwitcher: c = !0,
  ctaButton: u,
  languageSelector: p,
  onLanguageChange: f,
  currentLanguage: g,
  mobileOpen: v,
  handleDrawerToggle: b
}) => {
  const { theme: h, toggleTheme: y } = yc(ed), C = {
    transition: "transform 0.3s ease-in-out",
    "&:hover": {
      transform: "scale(1.2)"
    }
  }, E = h === "light" ? /* @__PURE__ */ x(n1, {}) : h === "dark" ? /* @__PURE__ */ x(o1, {}) : /* @__PURE__ */ x(r1, {}), w = h === "light" ? "LightMode" : h === "dark" ? "DarkMode" : "Hacker";
  return /* @__PURE__ */ x(
    Mu,
    {
      position: "sticky",
      elevation: 0,
      sx: {
        mx: 2,
        my: 2,
        borderRadius: "16px",
        border: "1px solid rgba(var(--color-border), 0.18)",
        boxShadow: "var(--color-shadow-light)",
        background: "rgba(var(--color-surface-primary), 0.7)",
        backdropFilter: "var(--backdrop-filter-blur)",
        WebkitBackdropFilter: "var(--backdrop-filter-blur)",
        px: 2,
        py: 2,
        width: "calc(100% - 32px)",
        // Account for mx: 2 (16px on each side)
        left: 16,
        // Explicitly set left margin
        right: 16,
        // Explicitly set right margin
        top: 16
        // Maintain 16px margin from the top when sticky
      },
      children: /* @__PURE__ */ he(_u, { sx: { justifyContent: "space-between", gap: { xs: 1, sm: 2 } }, children: [
        /* @__PURE__ */ he(Ae, { sx: { display: "flex", alignItems: "center", flexGrow: 1 }, children: [
          t && /* @__PURE__ */ x(
            Rr,
            {
              href: t.link || "#",
              "aria-label": t.alt,
              sx: {
                display: "flex",
                alignItems: "center",
                textDecoration: "none",
                marginRight: 2,
                // Add margin to the right
                transition: "transform 0.3s ease-in-out",
                "&:hover": {
                  transform: "scale(1.1)"
                }
              },
              children: t.node
            }
          ),
          /* @__PURE__ */ x(
            Le,
            {
              variant: "h6",
              component: "div",
              sx: {
                fontWeight: 700,
                color: "rgb(var(--color-text-primary))",
                display: { xs: "none", sm: "block" }
              },
              children: e
            }
          ),
          /* @__PURE__ */ x(
            Ae,
            {
              sx: {
                flexGrow: 1,
                display: { xs: "none", sm: "none", md: "flex" },
                justifyContent: "center",
                gap: 2,
                marginLeft: 4,
                // Add some space from the name
                marginRight: 2
              },
              children: o && o.map((T) => /* @__PURE__ */ x(Rr, { href: T.href, children: T.label }, T.label))
            }
          )
        ] }),
        /* @__PURE__ */ he(
          Ae,
          {
            sx: {
              display: { xs: "none", sm: "none", md: "flex" },
              alignItems: "stretch",
              justifyContent: "flex-end",
              gap: { md: 1, lg: 2 }
            },
            children: [
              l && /* @__PURE__ */ x(
                Zs,
                {
                  placeholder: "Search...",
                  sx: {
                    width: { lg: 150 },
                    display: { xs: "none", lg: "inline-flex" }
                  }
                }
              ),
              p && p.length > 0 && /* @__PURE__ */ x(
                $b,
                {
                  value: g,
                  onChange: (T) => f && f(T.target.value),
                  options: p.map((T) => ({
                    value: T.code,
                    label: /* @__PURE__ */ he(Ae, { sx: { display: "flex", alignItems: "center" }, children: [
                      /* @__PURE__ */ x(
                        Ae,
                        {
                          component: "span",
                          sx: {
                            width: 20,
                            height: 20,
                            marginRight: 1,
                            display: "flex",
                            alignItems: "center"
                          },
                          children: T.flag
                        }
                      ),
                      T.label
                    ] })
                  })),
                  sx: { width: { md: "auto", lg: 150 } }
                }
              ),
              /* @__PURE__ */ he(Ae, { sx: { display: "flex", alignItems: "stretch", gap: 1 }, children: [
                r ? /* @__PURE__ */ x(
                  Ae,
                  {
                    sx: {
                      display: "flex",
                      alignItems: "stretch",
                      gap: 1
                    },
                    children: s && /* @__PURE__ */ x(un, { onClick: s, variant: "outlined", children: "Logout" })
                  }
                ) : i && /* @__PURE__ */ x(un, { onClick: i, variant: "contained", children: "Login" }),
                u && /* @__PURE__ */ x(un, { onClick: u.onClick, variant: "contained", children: u.label })
              ] }),
              c && /* @__PURE__ */ x(
                mn,
                {
                  onClick: y,
                  title: w,
                  size: "large",
                  sx: {
                    ...C,
                    color: "rgb(var(--color-text-primary))"
                  },
                  children: E
                }
              )
            ]
          }
        ),
        /* @__PURE__ */ x(Ae, { sx: { display: { xs: "flex", md: "none" } }, children: /* @__PURE__ */ x(
          mn,
          {
            color: "inherit",
            "aria-label": "open drawer",
            edge: "end",
            onClick: b,
            sx: { color: "rgb(var(--color-text-primary))" },
            children: /* @__PURE__ */ x(a1, {})
          }
        ) }),
        /* @__PURE__ */ x(
          JM,
          {
            open: v,
            onClose: b,
            header_name: e,
            navItems: o,
            isAuthenticated: r,
            userName: a,
            onLoginClick: i,
            onLogoutClick: s,
            showSearchBar: l,
            showThemeSwitcher: c,
            ctaButton: u,
            languageSelector: p,
            onLanguageChange: f,
            currentLanguage: g,
            themeIcon: E,
            themeLabel: w,
            toggleTheme: y
          }
        )
      ] })
    }
  );
};
var d8 = typeof Element < "u", p8 = typeof Map == "function", f8 = typeof Set == "function", m8 = typeof ArrayBuffer == "function" && !!ArrayBuffer.isView;
function Mi(e, t) {
  if (e === t) return !0;
  if (e && t && typeof e == "object" && typeof t == "object") {
    if (e.constructor !== t.constructor) return !1;
    var o, r, a;
    if (Array.isArray(e)) {
      if (o = e.length, o != t.length) return !1;
      for (r = o; r-- !== 0; )
        if (!Mi(e[r], t[r])) return !1;
      return !0;
    }
    var i;
    if (p8 && e instanceof Map && t instanceof Map) {
      if (e.size !== t.size) return !1;
      for (i = e.entries(); !(r = i.next()).done; )
        if (!t.has(r.value[0])) return !1;
      for (i = e.entries(); !(r = i.next()).done; )
        if (!Mi(r.value[1], t.get(r.value[0]))) return !1;
      return !0;
    }
    if (f8 && e instanceof Set && t instanceof Set) {
      if (e.size !== t.size) return !1;
      for (i = e.entries(); !(r = i.next()).done; )
        if (!t.has(r.value[0])) return !1;
      return !0;
    }
    if (m8 && ArrayBuffer.isView(e) && ArrayBuffer.isView(t)) {
      if (o = e.length, o != t.length) return !1;
      for (r = o; r-- !== 0; )
        if (e[r] !== t[r]) return !1;
      return !0;
    }
    if (e.constructor === RegExp) return e.source === t.source && e.flags === t.flags;
    if (e.valueOf !== Object.prototype.valueOf && typeof e.valueOf == "function" && typeof t.valueOf == "function") return e.valueOf() === t.valueOf();
    if (e.toString !== Object.prototype.toString && typeof e.toString == "function" && typeof t.toString == "function") return e.toString() === t.toString();
    if (a = Object.keys(e), o = a.length, o !== Object.keys(t).length) return !1;
    for (r = o; r-- !== 0; )
      if (!Object.prototype.hasOwnProperty.call(t, a[r])) return !1;
    if (d8 && e instanceof Element) return !1;
    for (r = o; r-- !== 0; )
      if (!((a[r] === "_owner" || a[r] === "__v" || a[r] === "__o") && e.$$typeof) && !Mi(e[a[r]], t[a[r]]))
        return !1;
    return !0;
  }
  return e !== e && t !== t;
}
var h8 = function(t, o) {
  try {
    return Mi(t, o);
  } catch (r) {
    if ((r.message || "").match(/stack|recursion/i))
      return console.warn("react-fast-compare cannot handle circular refs"), !1;
    throw r;
  }
};
const g8 = /* @__PURE__ */ kn(h8);
var b8 = function(e, t, o, r, a, i, s, l) {
  if (process.env.NODE_ENV !== "production" && t === void 0)
    throw new Error("invariant requires an error message argument");
  if (!e) {
    var c;
    if (t === void 0)
      c = new Error(
        "Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."
      );
    else {
      var u = [o, r, a, i, s, l], p = 0;
      c = new Error(
        t.replace(/%s/g, function() {
          return u[p++];
        })
      ), c.name = "Invariant Violation";
    }
    throw c.framesToPop = 1, c;
  }
}, y8 = b8;
const Qf = /* @__PURE__ */ kn(y8);
var v8 = function(t, o, r, a) {
  var i = r ? r.call(a, t, o) : void 0;
  if (i !== void 0)
    return !!i;
  if (t === o)
    return !0;
  if (typeof t != "object" || !t || typeof o != "object" || !o)
    return !1;
  var s = Object.keys(t), l = Object.keys(o);
  if (s.length !== l.length)
    return !1;
  for (var c = Object.prototype.hasOwnProperty.bind(o), u = 0; u < s.length; u++) {
    var p = s[u];
    if (!c(p))
      return !1;
    var f = t[p], g = o[p];
    if (i = r ? r.call(a, f, g, p) : void 0, i === !1 || i === void 0 && f !== g)
      return !1;
  }
  return !0;
};
const x8 = /* @__PURE__ */ kn(v8);
var i1 = /* @__PURE__ */ ((e) => (e.BASE = "base", e.BODY = "body", e.HEAD = "head", e.HTML = "html", e.LINK = "link", e.META = "meta", e.NOSCRIPT = "noscript", e.SCRIPT = "script", e.STYLE = "style", e.TITLE = "title", e.FRAGMENT = "Symbol(react.fragment)", e))(i1 || {}), Al = {
  link: { rel: ["amphtml", "canonical", "alternate"] },
  script: { type: ["application/ld+json"] },
  meta: {
    charset: "",
    name: ["generator", "robots", "description"],
    property: [
      "og:type",
      "og:title",
      "og:url",
      "og:image",
      "og:image:alt",
      "og:description",
      "twitter:url",
      "twitter:title",
      "twitter:description",
      "twitter:image",
      "twitter:image:alt",
      "twitter:card",
      "twitter:site"
    ]
  }
}, Jf = Object.values(i1), nd = {
  accesskey: "accessKey",
  charset: "charSet",
  class: "className",
  contenteditable: "contentEditable",
  contextmenu: "contextMenu",
  "http-equiv": "httpEquiv",
  itemprop: "itemProp",
  tabindex: "tabIndex"
}, C8 = Object.entries(nd).reduce(
  (e, [t, o]) => (e[o] = t, e),
  {}
), Rn = "data-rh", yr = {
  DEFAULT_TITLE: "defaultTitle",
  DEFER: "defer",
  ENCODE_SPECIAL_CHARACTERS: "encodeSpecialCharacters",
  ON_CHANGE_CLIENT_STATE: "onChangeClientState",
  TITLE_TEMPLATE: "titleTemplate",
  PRIORITIZE_SEO_TAGS: "prioritizeSeoTags"
}, vr = (e, t) => {
  for (let o = e.length - 1; o >= 0; o -= 1) {
    const r = e[o];
    if (Object.prototype.hasOwnProperty.call(r, t))
      return r[t];
  }
  return null;
}, T8 = (e) => {
  let t = vr(
    e,
    "title"
    /* TITLE */
  );
  const o = vr(e, yr.TITLE_TEMPLATE);
  if (Array.isArray(t) && (t = t.join("")), o && t)
    return o.replace(/%s/g, () => t);
  const r = vr(e, yr.DEFAULT_TITLE);
  return t || r || void 0;
}, w8 = (e) => vr(e, yr.ON_CHANGE_CLIENT_STATE) || (() => {
}), Ll = (e, t) => t.filter((o) => typeof o[e] < "u").map((o) => o[e]).reduce((o, r) => ({ ...o, ...r }), {}), O8 = (e, t) => t.filter((o) => typeof o.base < "u").map((o) => o.base).reverse().reduce((o, r) => {
  if (!o.length) {
    const a = Object.keys(r);
    for (let i = 0; i < a.length; i += 1) {
      const l = a[i].toLowerCase();
      if (e.indexOf(l) !== -1 && r[l])
        return o.concat(r);
    }
  }
  return o;
}, []), E8 = (e) => console && typeof console.warn == "function" && console.warn(e), aa = (e, t, o) => {
  const r = {};
  return o.filter((a) => Array.isArray(a[e]) ? !0 : (typeof a[e] < "u" && E8(
    `Helmet: ${e} should be of type "Array". Instead found type "${typeof a[e]}"`
  ), !1)).map((a) => a[e]).reverse().reduce((a, i) => {
    const s = {};
    i.filter((c) => {
      let u;
      const p = Object.keys(c);
      for (let g = 0; g < p.length; g += 1) {
        const v = p[g], b = v.toLowerCase();
        t.indexOf(b) !== -1 && !(u === "rel" && c[u].toLowerCase() === "canonical") && !(b === "rel" && c[b].toLowerCase() === "stylesheet") && (u = b), t.indexOf(v) !== -1 && (v === "innerHTML" || v === "cssText" || v === "itemprop") && (u = v);
      }
      if (!u || !c[u])
        return !1;
      const f = c[u].toLowerCase();
      return r[u] || (r[u] = {}), s[u] || (s[u] = {}), r[u][f] ? !1 : (s[u][f] = !0, !0);
    }).reverse().forEach((c) => a.push(c));
    const l = Object.keys(s);
    for (let c = 0; c < l.length; c += 1) {
      const u = l[c], p = {
        ...r[u],
        ...s[u]
      };
      r[u] = p;
    }
    return a;
  }, []).reverse();
}, S8 = (e, t) => {
  if (Array.isArray(e) && e.length) {
    for (let o = 0; o < e.length; o += 1)
      if (e[o][t])
        return !0;
  }
  return !1;
}, P8 = (e) => ({
  baseTag: O8([
    "href"
    /* HREF */
  ], e),
  bodyAttributes: Ll("bodyAttributes", e),
  defer: vr(e, yr.DEFER),
  encode: vr(e, yr.ENCODE_SPECIAL_CHARACTERS),
  htmlAttributes: Ll("htmlAttributes", e),
  linkTags: aa(
    "link",
    [
      "rel",
      "href"
      /* HREF */
    ],
    e
  ),
  metaTags: aa(
    "meta",
    [
      "name",
      "charset",
      "http-equiv",
      "property",
      "itemprop"
      /* ITEM_PROP */
    ],
    e
  ),
  noscriptTags: aa("noscript", [
    "innerHTML"
    /* INNER_HTML */
  ], e),
  onChangeClientState: w8(e),
  scriptTags: aa(
    "script",
    [
      "src",
      "innerHTML"
      /* INNER_HTML */
    ],
    e
  ),
  styleTags: aa("style", [
    "cssText"
    /* CSS_TEXT */
  ], e),
  title: T8(e),
  titleAttributes: Ll("titleAttributes", e),
  prioritizeSeoTags: S8(e, yr.PRIORITIZE_SEO_TAGS)
}), s1 = (e) => Array.isArray(e) ? e.join("") : e, R8 = (e, t) => {
  const o = Object.keys(e);
  for (let r = 0; r < o.length; r += 1)
    if (t[o[r]] && t[o[r]].includes(e[o[r]]))
      return !0;
  return !1;
}, Fl = (e, t) => Array.isArray(e) ? e.reduce(
  (o, r) => (R8(r, t) ? o.priority.push(r) : o.default.push(r), o),
  { priority: [], default: [] }
) : { default: e, priority: [] }, em = (e, t) => ({
  ...e,
  [t]: void 0
}), k8 = [
  "noscript",
  "script",
  "style"
  /* STYLE */
], dc = (e, t = !0) => t === !1 ? String(e) : String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#x27;"), l1 = (e) => Object.keys(e).reduce((t, o) => {
  const r = typeof e[o] < "u" ? `${o}="${e[o]}"` : `${o}`;
  return t ? `${t} ${r}` : r;
}, ""), M8 = (e, t, o, r) => {
  const a = l1(o), i = s1(t);
  return a ? `<${e} ${Rn}="true" ${a}>${dc(
    i,
    r
  )}</${e}>` : `<${e} ${Rn}="true">${dc(
    i,
    r
  )}</${e}>`;
}, $8 = (e, t, o = !0) => t.reduce((r, a) => {
  const i = a, s = Object.keys(i).filter(
    (u) => !(u === "innerHTML" || u === "cssText")
  ).reduce((u, p) => {
    const f = typeof i[p] > "u" ? p : `${p}="${dc(i[p], o)}"`;
    return u ? `${u} ${f}` : f;
  }, ""), l = i.innerHTML || i.cssText || "", c = k8.indexOf(e) === -1;
  return `${r}<${e} ${Rn}="true" ${s}${c ? "/>" : `>${l}</${e}>`}`;
}, ""), c1 = (e, t = {}) => Object.keys(e).reduce((o, r) => {
  const a = nd[r];
  return o[a || r] = e[r], o;
}, t), D8 = (e, t, o) => {
  const r = {
    key: t,
    [Rn]: !0
  }, a = c1(o, r);
  return [tt.createElement("title", a, t)];
}, $i = (e, t) => t.map((o, r) => {
  const a = {
    key: r,
    [Rn]: !0
  };
  return Object.keys(o).forEach((i) => {
    const l = nd[i] || i;
    if (l === "innerHTML" || l === "cssText") {
      const c = o.innerHTML || o.cssText;
      a.dangerouslySetInnerHTML = { __html: c };
    } else
      a[l] = o[i];
  }), tt.createElement(e, a);
}), on = (e, t, o = !0) => {
  switch (e) {
    case "title":
      return {
        toComponent: () => D8(e, t.title, t.titleAttributes),
        toString: () => M8(e, t.title, t.titleAttributes, o)
      };
    case "bodyAttributes":
    case "htmlAttributes":
      return {
        toComponent: () => c1(t),
        toString: () => l1(t)
      };
    default:
      return {
        toComponent: () => $i(e, t),
        toString: () => $8(e, t, o)
      };
  }
}, I8 = ({ metaTags: e, linkTags: t, scriptTags: o, encode: r }) => {
  const a = Fl(e, Al.meta), i = Fl(t, Al.link), s = Fl(o, Al.script);
  return {
    priorityMethods: {
      toComponent: () => [
        ...$i("meta", a.priority),
        ...$i("link", i.priority),
        ...$i("script", s.priority)
      ],
      toString: () => (
        // generate all the tags as strings and concatenate them
        `${on("meta", a.priority, r)} ${on(
          "link",
          i.priority,
          r
        )} ${on("script", s.priority, r)}`
      )
    },
    metaTags: a.default,
    linkTags: i.default,
    scriptTags: s.default
  };
}, N8 = (e) => {
  const {
    baseTag: t,
    bodyAttributes: o,
    encode: r = !0,
    htmlAttributes: a,
    noscriptTags: i,
    styleTags: s,
    title: l = "",
    titleAttributes: c,
    prioritizeSeoTags: u
  } = e;
  let { linkTags: p, metaTags: f, scriptTags: g } = e, v = {
    toComponent: () => {
    },
    toString: () => ""
  };
  return u && ({ priorityMethods: v, linkTags: p, metaTags: f, scriptTags: g } = I8(e)), {
    priority: v,
    base: on("base", t, r),
    bodyAttributes: on("bodyAttributes", o, r),
    htmlAttributes: on("htmlAttributes", a, r),
    link: on("link", p, r),
    meta: on("meta", f, r),
    noscript: on("noscript", i, r),
    script: on("script", g, r),
    style: on("style", s, r),
    title: on("title", { title: l, titleAttributes: c }, r)
  };
}, pc = N8, vi = [], u1 = !!(typeof window < "u" && window.document && window.document.createElement), fc = class {
  constructor(e, t) {
    qn(this, "instances", []);
    qn(this, "canUseDOM", u1);
    qn(this, "context");
    qn(this, "value", {
      setHelmet: (e) => {
        this.context.helmet = e;
      },
      helmetInstances: {
        get: () => this.canUseDOM ? vi : this.instances,
        add: (e) => {
          (this.canUseDOM ? vi : this.instances).push(e);
        },
        remove: (e) => {
          const t = (this.canUseDOM ? vi : this.instances).indexOf(e);
          (this.canUseDOM ? vi : this.instances).splice(t, 1);
        }
      }
    });
    this.context = e, this.canUseDOM = t || !1, t || (e.helmet = pc({
      baseTag: [],
      bodyAttributes: {},
      htmlAttributes: {},
      linkTags: [],
      metaTags: [],
      noscriptTags: [],
      scriptTags: [],
      styleTags: [],
      title: "",
      titleAttributes: {}
    }));
  }
}, _8 = {}, d1 = tt.createContext(_8), jo, A8 = (jo = class extends vc {
  constructor(o) {
    super(o);
    qn(this, "helmetData");
    this.helmetData = new fc(this.props.context || {}, jo.canUseDOM);
  }
  render() {
    return /* @__PURE__ */ tt.createElement(d1.Provider, { value: this.helmetData.value }, this.props.children);
  }
}, qn(jo, "canUseDOM", u1), jo), rr = (e, t) => {
  const o = document.head || document.querySelector(
    "head"
    /* HEAD */
  ), r = o.querySelectorAll(`${e}[${Rn}]`), a = [].slice.call(r), i = [];
  let s;
  return t && t.length && t.forEach((l) => {
    const c = document.createElement(e);
    for (const u in l)
      if (Object.prototype.hasOwnProperty.call(l, u))
        if (u === "innerHTML")
          c.innerHTML = l.innerHTML;
        else if (u === "cssText")
          c.styleSheet ? c.styleSheet.cssText = l.cssText : c.appendChild(document.createTextNode(l.cssText));
        else {
          const p = u, f = typeof l[p] > "u" ? "" : l[p];
          c.setAttribute(u, f);
        }
    c.setAttribute(Rn, "true"), a.some((u, p) => (s = p, c.isEqualNode(u))) ? a.splice(s, 1) : i.push(c);
  }), a.forEach((l) => {
    var c;
    return (c = l.parentNode) == null ? void 0 : c.removeChild(l);
  }), i.forEach((l) => o.appendChild(l)), {
    oldTags: a,
    newTags: i
  };
}, mc = (e, t) => {
  const o = document.getElementsByTagName(e)[0];
  if (!o)
    return;
  const r = o.getAttribute(Rn), a = r ? r.split(",") : [], i = [...a], s = Object.keys(t);
  for (const l of s) {
    const c = t[l] || "";
    o.getAttribute(l) !== c && o.setAttribute(l, c), a.indexOf(l) === -1 && a.push(l);
    const u = i.indexOf(l);
    u !== -1 && i.splice(u, 1);
  }
  for (let l = i.length - 1; l >= 0; l -= 1)
    o.removeAttribute(i[l]);
  a.length === i.length ? o.removeAttribute(Rn) : o.getAttribute(Rn) !== s.join(",") && o.setAttribute(Rn, s.join(","));
}, L8 = (e, t) => {
  typeof e < "u" && document.title !== e && (document.title = s1(e)), mc("title", t);
}, tm = (e, t) => {
  const {
    baseTag: o,
    bodyAttributes: r,
    htmlAttributes: a,
    linkTags: i,
    metaTags: s,
    noscriptTags: l,
    onChangeClientState: c,
    scriptTags: u,
    styleTags: p,
    title: f,
    titleAttributes: g
  } = e;
  mc("body", r), mc("html", a), L8(f, g);
  const v = {
    baseTag: rr("base", o),
    linkTags: rr("link", i),
    metaTags: rr("meta", s),
    noscriptTags: rr("noscript", l),
    scriptTags: rr("script", u),
    styleTags: rr("style", p)
  }, b = {}, h = {};
  Object.keys(v).forEach((y) => {
    const { newTags: C, oldTags: E } = v[y];
    C.length && (b[y] = C), E.length && (h[y] = v[y].oldTags);
  }), t && t(), c(e, b, h);
}, ia = null, F8 = (e) => {
  ia && cancelAnimationFrame(ia), e.defer ? ia = requestAnimationFrame(() => {
    tm(e, () => {
      ia = null;
    });
  }) : (tm(e), ia = null);
}, j8 = F8, nm = class extends vc {
  constructor() {
    super(...arguments);
    qn(this, "rendered", !1);
  }
  shouldComponentUpdate(t) {
    return !x8(t, this.props);
  }
  componentDidUpdate() {
    this.emitChange();
  }
  componentWillUnmount() {
    const { helmetInstances: t } = this.props.context;
    t.remove(this), this.emitChange();
  }
  emitChange() {
    const { helmetInstances: t, setHelmet: o } = this.props.context;
    let r = null;
    const a = P8(
      t.get().map((i) => {
        const s = { ...i.props };
        return delete s.context, s;
      })
    );
    A8.canUseDOM ? j8(a) : pc && (r = pc(a)), o(r);
  }
  // componentWillMount will be deprecated
  // for SSR, initialize on first render
  // constructor is also unsafe in StrictMode
  init() {
    if (this.rendered)
      return;
    this.rendered = !0;
    const { helmetInstances: t } = this.props.context;
    t.add(this), this.emitChange();
  }
  render() {
    return this.init(), null;
  }
}, Bl, Qs = (Bl = class extends vc {
  shouldComponentUpdate(e) {
    return !g8(em(this.props, "helmetData"), em(e, "helmetData"));
  }
  mapNestedChildrenToProps(e, t) {
    if (!t)
      return null;
    switch (e.type) {
      case "script":
      case "noscript":
        return {
          innerHTML: t
        };
      case "style":
        return {
          cssText: t
        };
      default:
        throw new Error(
          `<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`
        );
    }
  }
  flattenArrayTypeChildren(e, t, o, r) {
    return {
      ...t,
      [e.type]: [
        ...t[e.type] || [],
        {
          ...o,
          ...this.mapNestedChildrenToProps(e, r)
        }
      ]
    };
  }
  mapObjectTypeChildren(e, t, o, r) {
    switch (e.type) {
      case "title":
        return {
          ...t,
          [e.type]: r,
          titleAttributes: { ...o }
        };
      case "body":
        return {
          ...t,
          bodyAttributes: { ...o }
        };
      case "html":
        return {
          ...t,
          htmlAttributes: { ...o }
        };
      default:
        return {
          ...t,
          [e.type]: { ...o }
        };
    }
  }
  mapArrayTypeChildrenToProps(e, t) {
    let o = { ...t };
    return Object.keys(e).forEach((r) => {
      o = {
        ...o,
        [r]: e[r]
      };
    }), o;
  }
  warnOnInvalidChildren(e, t) {
    return Qf(
      Jf.some((o) => e.type === o),
      typeof e.type == "function" ? "You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information." : `Only elements types ${Jf.join(
        ", "
      )} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`
    ), Qf(
      !t || typeof t == "string" || Array.isArray(t) && !t.some((o) => typeof o != "string"),
      `Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`
    ), !0;
  }
  mapChildrenToProps(e, t) {
    let o = {};
    return tt.Children.forEach(e, (r) => {
      if (!r || !r.props)
        return;
      const { children: a, ...i } = r.props, s = Object.keys(i).reduce((c, u) => (c[C8[u] || u] = i[u], c), {});
      let { type: l } = r;
      switch (typeof l == "symbol" ? l = l.toString() : this.warnOnInvalidChildren(r, a), l) {
        case "Symbol(react.fragment)":
          t = this.mapChildrenToProps(a, t);
          break;
        case "link":
        case "meta":
        case "noscript":
        case "script":
        case "style":
          o = this.flattenArrayTypeChildren(
            r,
            o,
            s,
            a
          );
          break;
        default:
          t = this.mapObjectTypeChildren(r, t, s, a);
          break;
      }
    }), this.mapArrayTypeChildrenToProps(o, t);
  }
  render() {
    const { children: e, ...t } = this.props;
    let o = { ...t }, { helmetData: r } = t;
    if (e && (o = this.mapChildrenToProps(e, o)), r && !(r instanceof fc)) {
      const a = r;
      r = new fc(a.context, !0), delete o.helmetData;
    }
    return r ? /* @__PURE__ */ tt.createElement(nm, { ...o, context: r.value }) : /* @__PURE__ */ tt.createElement(d1.Consumer, null, (a) => /* @__PURE__ */ tt.createElement(nm, { ...o, context: a }));
  }
}, qn(Bl, "defaultProps", {
  defer: !0,
  encodeSpecialCharacters: !0,
  prioritizeSeoTags: !1
}), Bl);
const bD = () => {
  const e = qa().aboutPage;
  return /* @__PURE__ */ he($r, { children: [
    /* @__PURE__ */ he(Qs, { children: [
      /* @__PURE__ */ x("title", { children: e.title }),
      /* @__PURE__ */ x("meta", { name: "description", content: "About Harito UI library." })
    ] }),
    /* @__PURE__ */ he(
      Ae,
      {
        sx: {
          display: "flex",
          flexDirection: "column",
          alignItems: "center",
          justifyContent: "center",
          minHeight: "60vh",
          textAlign: "center",
          color: "rgb(var(--color-text-primary))",
          p: 3
        },
        children: [
          /* @__PURE__ */ x(Le, { variant: "h4", component: "h1", gutterBottom: !0, children: e.title }),
          e.sections.map((t, o) => /* @__PURE__ */ he(Ae, { sx: { mb: 3, maxWidth: 800 }, children: [
            /* @__PURE__ */ x(Le, { variant: "h5", component: "h2", gutterBottom: !0, children: t.heading }),
            /* @__PURE__ */ x(Le, { variant: "body1", children: t.content })
          ] }, o))
        ]
      }
    )
  ] });
}, yD = () => {
  const e = qa().contactPage, [t, o] = os({
    name: "",
    email: "",
    subject: "",
    message: ""
  }), r = (i) => {
    o({
      ...t,
      [i.target.name]: i.target.value
    });
  }, a = (i) => {
    var p;
    i.preventDefault();
    const s = ((p = e.contactMethods.find((f) => f.type === "email")) == null ? void 0 : p.value) || "harito.work@gmail.com", l = encodeURIComponent(t.subject), c = encodeURIComponent(`Name: ${t.name}
Email: ${t.email}
Message: ${t.message}`), u = `mailto:${s}?subject=${l}&body=${c}`;
    window.location.href = u;
  };
  return /* @__PURE__ */ he($r, { children: [
    /* @__PURE__ */ he(Qs, { children: [
      /* @__PURE__ */ x("title", { children: e.title }),
      /* @__PURE__ */ x("meta", { name: "description", content: e.description })
    ] }),
    /* @__PURE__ */ he(
      Ae,
      {
        sx: {
          display: "flex",
          flexDirection: "column",
          alignItems: "center",
          justifyContent: "center",
          minHeight: "60vh",
          textAlign: "center",
          color: "rgb(var(--color-text-primary))",
          p: 3
        },
        children: [
          /* @__PURE__ */ x(Le, { variant: "h4", component: "h1", gutterBottom: !0, children: e.title }),
          /* @__PURE__ */ x(Le, { variant: "body1", sx: { mb: 4, maxWidth: 600 }, children: e.description }),
          /* @__PURE__ */ x(
            Ae,
            {
              sx: {
                display: "flex",
                flexDirection: "column",
                gap: 2,
                maxWidth: 500,
                width: "100%"
              },
              children: e.contactMethods.map((i, s) => /* @__PURE__ */ x(Ae, { children: i.href ? /* @__PURE__ */ x(Le, { variant: "body1", children: /* @__PURE__ */ he(
                "a",
                {
                  href: i.href,
                  style: {
                    color: "rgb(var(--color-primary))",
                    textDecoration: "none"
                  },
                  children: [
                    i.label,
                    ": ",
                    i.value
                  ]
                }
              ) }) : /* @__PURE__ */ he(Le, { variant: "body1", children: [
                i.label,
                ": ",
                i.value
              ] }) }, s))
            }
          ),
          e.form.enabled && /* @__PURE__ */ he(
            Ae,
            {
              component: "form",
              sx: {
                mt: 4,
                display: "flex",
                flexDirection: "column",
                gap: 2,
                maxWidth: 500,
                width: "100%"
              },
              onSubmit: a,
              children: [
                e.form.fields.map((i, s) => /* @__PURE__ */ x(
                  Zs,
                  {
                    label: i.label,
                    name: i.name,
                    type: i.type,
                    required: i.required,
                    multiline: i.type === "textarea",
                    rows: i.type === "textarea" ? 4 : 1,
                    fullWidth: !0,
                    value: t[i.name],
                    onChange: r
                  },
                  s
                )),
                /* @__PURE__ */ x(un, { type: "submit", variant: "contained", fullWidth: !0, children: e.form.submitButtonText })
              ]
            }
          )
        ]
      }
    )
  ] });
}, vD = () => {
  const e = qa().donationPage, { theme: t } = yc(ed), o = (r) => {
    navigator.clipboard.writeText(r).then(() => {
      alert("Copied to clipboard!");
    }).catch((a) => {
      console.error("Failed to copy: ", a);
    });
  };
  return /* @__PURE__ */ he($r, { children: [
    /* @__PURE__ */ he(Qs, { children: [
      /* @__PURE__ */ x("title", { children: e.title }),
      /* @__PURE__ */ x("meta", { name: "description", content: e.description })
    ] }),
    /* @__PURE__ */ he(
      Ae,
      {
        sx: {
          margin: 2,
          // Add horizontal margin
          display: "flex",
          flexDirection: "column",
          alignItems: "center",
          justifyContent: "center",
          minHeight: "60vh",
          textAlign: "center",
          color: "rgb(var(--color-text-primary))",
          p: 3,
          width: "calc(100% - 32px)"
          // Account for mx: 2 (16px on each side)
        },
        children: [
          /* @__PURE__ */ x(Le, { variant: "h4", component: "h1", gutterBottom: !0, children: e.title }),
          /* @__PURE__ */ x(Le, { variant: "body1", sx: { mb: 4, maxWidth: 600 }, children: e.description }),
          /* @__PURE__ */ x(
            Ae,
            {
              sx: {
                display: "grid",
                gridTemplateColumns: {
                  xs: "1fr",
                  sm: "repeat(auto-fit, minmax(280px, 1fr))"
                },
                gap: 3,
                width: "100%",
                maxWidth: 1e3
              },
              children: e.donationOptions.map((r, a) => /* @__PURE__ */ he(
                Ae,
                {
                  sx: {
                    p: 3,
                    borderRadius: "16px",
                    border: "1px solid rgba(var(--color-border), 0.18)",
                    boxShadow: "var(--color-shadow-light)",
                    background: "rgba(var(--color-surface-primary), 0.7)",
                    backdropFilter: "var(--backdrop-filter-blur)",
                    WebkitBackdropFilter: "var(--backdrop-filter-blur)",
                    display: "flex",
                    flexDirection: "column",
                    alignItems: "center",
                    textAlign: "center",
                    gap: 2
                  },
                  children: [
                    /* @__PURE__ */ x(Le, { variant: "h6", component: "h3", gutterBottom: !0, children: r.label }),
                    /* @__PURE__ */ x(Le, { variant: "body1", children: r.details }),
                    r.url && r.type !== "binance" && /* @__PURE__ */ x(
                      Rr,
                      {
                        href: r.url,
                        target: "_blank",
                        rel: "noopener",
                        sx: { textDecoration: "none", width: "100%" },
                        children: /* @__PURE__ */ he(un, { variant: "contained", fullWidth: !0, children: [
                          "Go to ",
                          r.label
                        ] })
                      }
                    ),
                    r.type === "binance" && r.url && /* @__PURE__ */ x(
                      Rr,
                      {
                        href: r.url,
                        target: "_blank",
                        rel: "noopener",
                        sx: { textDecoration: "none", width: "100%" },
                        children: /* @__PURE__ */ x(un, { variant: "contained", fullWidth: !0, children: "Open Binance App" })
                      }
                    ),
                    r.qrCodeUrl && /* @__PURE__ */ x(
                      Ae,
                      {
                        sx: {
                          backgroundColor: t === "dark" ? "rgba(var(--color-surface-primary), 0.7)" : t === "hacker" ? "black" : "white",
                          display: "flex",
                          justifyContent: "center",
                          alignItems: "center",
                          borderRadius: "8px",
                          // Optional: add some border-radius to the inner box
                          overflow: "hidden"
                          // Ensures content respects border-radius
                        },
                        children: /* @__PURE__ */ x(
                          "img",
                          {
                            src: r.qrCodeUrl,
                            alt: r.label,
                            style: {
                              maxWidth: "100%",
                              height: "100%",
                              filter: t === "dark" || t === "hacker" ? "invert(1)" : "none",
                              mixBlendMode: t === "dark" || t === "hacker" ? "screen" : "normal"
                            }
                          }
                        )
                      }
                    ),
                    r.copyable && !r.qrCodeUrl && /* @__PURE__ */ he(
                      un,
                      {
                        onClick: () => o(r.copyDetails || r.details),
                        fullWidth: !0,
                        children: [
                          "Copy ",
                          r.label
                        ]
                      }
                    )
                  ]
                },
                a
              ))
            }
          )
        ]
      }
    )
  ] });
};
/**
 * @remix-run/router v1.23.0
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */
function hc() {
  return hc = Object.assign ? Object.assign.bind() : function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var o = arguments[t];
      for (var r in o)
        Object.prototype.hasOwnProperty.call(o, r) && (e[r] = o[r]);
    }
    return e;
  }, hc.apply(this, arguments);
}
var om;
(function(e) {
  e.Pop = "POP", e.Push = "PUSH", e.Replace = "REPLACE";
})(om || (om = {}));
function Ot(e, t) {
  if (e === !1 || e === null || typeof e > "u")
    throw new Error(t);
}
function Ya(e, t) {
  if (!e) {
    typeof console < "u" && console.warn(t);
    try {
      throw new Error(t);
    } catch {
    }
  }
}
function gc(e) {
  let {
    pathname: t = "/",
    search: o = "",
    hash: r = ""
  } = e;
  return o && o !== "?" && (t += o.charAt(0) === "?" ? o : "?" + o), r && r !== "#" && (t += r.charAt(0) === "#" ? r : "#" + r), t;
}
function p1(e) {
  let t = {};
  if (e) {
    let o = e.indexOf("#");
    o >= 0 && (t.hash = e.substr(o), e = e.substr(0, o));
    let r = e.indexOf("?");
    r >= 0 && (t.search = e.substr(r), e = e.substr(0, r)), e && (t.pathname = e);
  }
  return t;
}
var rm;
(function(e) {
  e.data = "data", e.deferred = "deferred", e.redirect = "redirect", e.error = "error";
})(rm || (rm = {}));
function am(e, t) {
  typeof e == "string" && (e = {
    path: e,
    caseSensitive: !1,
    end: !0
  });
  let [o, r] = V8(e.path, e.caseSensitive, e.end), a = t.match(o);
  if (!a) return null;
  let i = a[0], s = i.replace(/(.)\/+$/, "$1"), l = a.slice(1);
  return {
    params: r.reduce((u, p, f) => {
      let {
        paramName: g,
        isOptional: v
      } = p;
      if (g === "*") {
        let h = l[f] || "";
        s = i.slice(0, i.length - h.length).replace(/(.)\/+$/, "$1");
      }
      const b = l[f];
      return v && !b ? u[g] = void 0 : u[g] = (b || "").replace(/%2F/g, "/"), u;
    }, {}),
    pathname: i,
    pathnameBase: s,
    pattern: e
  };
}
function V8(e, t, o) {
  t === void 0 && (t = !1), o === void 0 && (o = !0), Ya(e === "*" || !e.endsWith("*") || e.endsWith("/*"), 'Route path "' + e + '" will be treated as if it were ' + ('"' + e.replace(/\*$/, "/*") + '" because the `*` character must ') + "always follow a `/` in the pattern. To get rid of this warning, " + ('please change the route path to "' + e.replace(/\*$/, "/*") + '".'));
  let r = [], a = "^" + e.replace(/\/*\*?$/, "").replace(/^\/*/, "/").replace(/[\\.*+^${}|()[\]]/g, "\\$&").replace(/\/:([\w-]+)(\?)?/g, (s, l, c) => (r.push({
    paramName: l,
    isOptional: c != null
  }), c ? "/?([^\\/]+)?" : "/([^\\/]+)"));
  return e.endsWith("*") ? (r.push({
    paramName: "*"
  }), a += e === "*" || e === "/*" ? "(.*)$" : "(?:\\/(.+)|\\/*)$") : o ? a += "\\/*$" : e !== "" && e !== "/" && (a += "(?:(?=\\/|$))"), [new RegExp(a, t ? void 0 : "i"), r];
}
function kr(e, t) {
  if (t === "/") return e;
  if (!e.toLowerCase().startsWith(t.toLowerCase()))
    return null;
  let o = t.endsWith("/") ? t.length - 1 : t.length, r = e.charAt(o);
  return r && r !== "/" ? null : e.slice(o) || "/";
}
function z8(e, t) {
  t === void 0 && (t = "/");
  let {
    pathname: o,
    search: r = "",
    hash: a = ""
  } = typeof e == "string" ? p1(e) : e;
  return {
    pathname: o ? o.startsWith("/") ? o : B8(o, t) : t,
    search: U8(r),
    hash: H8(a)
  };
}
function B8(e, t) {
  let o = t.replace(/\/+$/, "").split("/");
  return e.split("/").forEach((a) => {
    a === ".." ? o.length > 1 && o.pop() : a !== "." && o.push(a);
  }), o.length > 1 ? o.join("/") : "/";
}
function jl(e, t, o, r) {
  return "Cannot include a '" + e + "' character in a manually specified " + ("`to." + t + "` field [" + JSON.stringify(r) + "].  Please separate it out to the ") + ("`to." + o + "` field. Alternatively you may provide the full path as ") + 'a string in <Link to="..."> and the router will parse it for you.';
}
function W8(e) {
  return e.filter((t, o) => o === 0 || t.route.path && t.route.path.length > 0);
}
function f1(e, t) {
  let o = W8(e);
  return t ? o.map((r, a) => a === o.length - 1 ? r.pathname : r.pathnameBase) : o.map((r) => r.pathnameBase);
}
function m1(e, t, o, r) {
  r === void 0 && (r = !1);
  let a;
  typeof e == "string" ? a = p1(e) : (a = hc({}, e), Ot(!a.pathname || !a.pathname.includes("?"), jl("?", "pathname", "search", a)), Ot(!a.pathname || !a.pathname.includes("#"), jl("#", "pathname", "hash", a)), Ot(!a.search || !a.search.includes("#"), jl("#", "search", "hash", a)));
  let i = e === "" || a.pathname === "", s = i ? "/" : a.pathname, l;
  if (s == null)
    l = o;
  else {
    let f = t.length - 1;
    if (!r && s.startsWith("..")) {
      let g = s.split("/");
      for (; g[0] === ".."; )
        g.shift(), f -= 1;
      a.pathname = g.join("/");
    }
    l = f >= 0 ? t[f] : "/";
  }
  let c = z8(a, l), u = s && s !== "/" && s.endsWith("/"), p = (i || s === ".") && o.endsWith("/");
  return !c.pathname.endsWith("/") && (u || p) && (c.pathname += "/"), c;
}
const od = (e) => e.join("/").replace(/\/\/+/g, "/"), U8 = (e) => !e || e === "?" ? "" : e.startsWith("?") ? e : "?" + e, H8 = (e) => !e || e === "#" ? "" : e.startsWith("#") ? e : "#" + e, h1 = ["post", "put", "patch", "delete"];
new Set(h1);
const q8 = ["get", ...h1];
new Set(q8);
/**
 * React Router v6.30.1
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */
function bc() {
  return bc = Object.assign ? Object.assign.bind() : function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var o = arguments[t];
      for (var r in o)
        Object.prototype.hasOwnProperty.call(o, r) && (e[r] = o[r]);
    }
    return e;
  }, bc.apply(this, arguments);
}
const Js = /* @__PURE__ */ d.createContext(null);
process.env.NODE_ENV !== "production" && (Js.displayName = "DataRouter");
const g1 = /* @__PURE__ */ d.createContext(null);
process.env.NODE_ENV !== "production" && (g1.displayName = "DataRouterState");
const Y8 = /* @__PURE__ */ d.createContext(null);
process.env.NODE_ENV !== "production" && (Y8.displayName = "Await");
const oo = /* @__PURE__ */ d.createContext(null);
process.env.NODE_ENV !== "production" && (oo.displayName = "Navigation");
const rd = /* @__PURE__ */ d.createContext(null);
process.env.NODE_ENV !== "production" && (rd.displayName = "Location");
const zr = /* @__PURE__ */ d.createContext({
  outlet: null,
  matches: [],
  isDataRoute: !1
});
process.env.NODE_ENV !== "production" && (zr.displayName = "Route");
const K8 = /* @__PURE__ */ d.createContext(null);
process.env.NODE_ENV !== "production" && (K8.displayName = "RouteError");
function G8(e, t) {
  let {
    relative: o
  } = t === void 0 ? {} : t;
  ad() || (process.env.NODE_ENV !== "production" ? Ot(
    !1,
    // TODO: This error is probably because they somehow have 2 versions of the
    // router loaded. We can help them understand how to avoid that.
    "useHref() may be used only in the context of a <Router> component."
  ) : Ot(!1));
  let {
    basename: r,
    navigator: a
  } = d.useContext(oo), {
    hash: i,
    pathname: s,
    search: l
  } = Ga(e, {
    relative: o
  }), c = s;
  return r !== "/" && (c = s === "/" ? r : od([r, s])), a.createHref({
    pathname: c,
    search: l,
    hash: i
  });
}
function ad() {
  return d.useContext(rd) != null;
}
function Ka() {
  return ad() || (process.env.NODE_ENV !== "production" ? Ot(
    !1,
    // TODO: This error is probably because they somehow have 2 versions of the
    // router loaded. We can help them understand how to avoid that.
    "useLocation() may be used only in the context of a <Router> component."
  ) : Ot(!1)), d.useContext(rd).location;
}
const b1 = "You should call navigate() in a React.useEffect(), not when your component is first rendered.";
function y1(e) {
  d.useContext(oo).static || d.useLayoutEffect(e);
}
function X8() {
  let {
    isDataRoute: e
  } = d.useContext(zr);
  return e ? t7() : Z8();
}
function Z8() {
  ad() || (process.env.NODE_ENV !== "production" ? Ot(
    !1,
    // TODO: This error is probably because they somehow have 2 versions of the
    // router loaded. We can help them understand how to avoid that.
    "useNavigate() may be used only in the context of a <Router> component."
  ) : Ot(!1));
  let e = d.useContext(Js), {
    basename: t,
    future: o,
    navigator: r
  } = d.useContext(oo), {
    matches: a
  } = d.useContext(zr), {
    pathname: i
  } = Ka(), s = JSON.stringify(f1(a, o.v7_relativeSplatPath)), l = d.useRef(!1);
  return y1(() => {
    l.current = !0;
  }), d.useCallback(function(u, p) {
    if (p === void 0 && (p = {}), process.env.NODE_ENV !== "production" && Ya(l.current, b1), !l.current) return;
    if (typeof u == "number") {
      r.go(u);
      return;
    }
    let f = m1(u, JSON.parse(s), i, p.relative === "path");
    e == null && t !== "/" && (f.pathname = f.pathname === "/" ? t : od([t, f.pathname])), (p.replace ? r.replace : r.push)(f, p.state, p);
  }, [t, r, s, i, e]);
}
function Ga(e, t) {
  let {
    relative: o
  } = t === void 0 ? {} : t, {
    future: r
  } = d.useContext(oo), {
    matches: a
  } = d.useContext(zr), {
    pathname: i
  } = Ka(), s = JSON.stringify(f1(a, r.v7_relativeSplatPath));
  return d.useMemo(() => m1(e, JSON.parse(s), i, o === "path"), [e, s, i, o]);
}
var v1 = /* @__PURE__ */ function(e) {
  return e.UseBlocker = "useBlocker", e.UseRevalidator = "useRevalidator", e.UseNavigateStable = "useNavigate", e;
}(v1 || {}), id = /* @__PURE__ */ function(e) {
  return e.UseBlocker = "useBlocker", e.UseLoaderData = "useLoaderData", e.UseActionData = "useActionData", e.UseRouteError = "useRouteError", e.UseNavigation = "useNavigation", e.UseRouteLoaderData = "useRouteLoaderData", e.UseMatches = "useMatches", e.UseRevalidator = "useRevalidator", e.UseNavigateStable = "useNavigate", e.UseRouteId = "useRouteId", e;
}(id || {});
function x1(e) {
  return e + " must be used within a data router.  See https://reactrouter.com/v6/routers/picking-a-router.";
}
function Q8(e) {
  let t = d.useContext(Js);
  return t || (process.env.NODE_ENV !== "production" ? Ot(!1, x1(e)) : Ot(!1)), t;
}
function J8(e) {
  let t = d.useContext(zr);
  return t || (process.env.NODE_ENV !== "production" ? Ot(!1, x1(e)) : Ot(!1)), t;
}
function C1(e) {
  let t = J8(e), o = t.matches[t.matches.length - 1];
  return o.route.id || (process.env.NODE_ENV !== "production" ? Ot(!1, e + ' can only be used on routes that contain a unique "id"') : Ot(!1)), o.route.id;
}
function e7() {
  return C1(id.UseRouteId);
}
function t7() {
  let {
    router: e
  } = Q8(v1.UseNavigateStable), t = C1(id.UseNavigateStable), o = d.useRef(!1);
  return y1(() => {
    o.current = !0;
  }), d.useCallback(function(a, i) {
    i === void 0 && (i = {}), process.env.NODE_ENV !== "production" && Ya(o.current, b1), o.current && (typeof a == "number" ? e.navigate(a) : e.navigate(a, bc({
      fromRouteId: t
    }, i)));
  }, [e, t]);
}
new Promise(() => {
});
/**
 * React Router DOM v6.30.1
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */
function Mr() {
  return Mr = Object.assign ? Object.assign.bind() : function(e) {
    for (var t = 1; t < arguments.length; t++) {
      var o = arguments[t];
      for (var r in o)
        Object.prototype.hasOwnProperty.call(o, r) && (e[r] = o[r]);
    }
    return e;
  }, Mr.apply(this, arguments);
}
function sd(e, t) {
  if (e == null) return {};
  var o = {}, r = Object.keys(e), a, i;
  for (i = 0; i < r.length; i++)
    a = r[i], !(t.indexOf(a) >= 0) && (o[a] = e[a]);
  return o;
}
const Di = "get", Ii = "application/x-www-form-urlencoded";
function el(e) {
  return e != null && typeof e.tagName == "string";
}
function n7(e) {
  return el(e) && e.tagName.toLowerCase() === "button";
}
function o7(e) {
  return el(e) && e.tagName.toLowerCase() === "form";
}
function r7(e) {
  return el(e) && e.tagName.toLowerCase() === "input";
}
function a7(e) {
  return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);
}
function i7(e, t) {
  return e.button === 0 && // Ignore everything but left clicks
  (!t || t === "_self") && // Let browser handle "target=_blank" etc.
  !a7(e);
}
let xi = null;
function s7() {
  if (xi === null)
    try {
      new FormData(
        document.createElement("form"),
        // @ts-expect-error if FormData supports the submitter parameter, this will throw
        0
      ), xi = !1;
    } catch {
      xi = !0;
    }
  return xi;
}
const l7 = /* @__PURE__ */ new Set(["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]);
function Vl(e) {
  return e != null && !l7.has(e) ? (process.env.NODE_ENV !== "production" && Ya(!1, '"' + e + '" is not a valid `encType` for `<Form>`/`<fetcher.Form>` ' + ('and will default to "' + Ii + '"')), null) : e;
}
function c7(e, t) {
  let o, r, a, i, s;
  if (o7(e)) {
    let l = e.getAttribute("action");
    r = l ? kr(l, t) : null, o = e.getAttribute("method") || Di, a = Vl(e.getAttribute("enctype")) || Ii, i = new FormData(e);
  } else if (n7(e) || r7(e) && (e.type === "submit" || e.type === "image")) {
    let l = e.form;
    if (l == null)
      throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');
    let c = e.getAttribute("formaction") || l.getAttribute("action");
    if (r = c ? kr(c, t) : null, o = e.getAttribute("formmethod") || l.getAttribute("method") || Di, a = Vl(e.getAttribute("formenctype")) || Vl(l.getAttribute("enctype")) || Ii, i = new FormData(l, e), !s7()) {
      let {
        name: u,
        type: p,
        value: f
      } = e;
      if (p === "image") {
        let g = u ? u + "." : "";
        i.append(g + "x", "0"), i.append(g + "y", "0");
      } else u && i.append(u, f);
    }
  } else {
    if (el(e))
      throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');
    o = Di, r = null, a = Ii, s = e;
  }
  return i && a === "text/plain" && (s = i, i = void 0), {
    action: r,
    method: o.toLowerCase(),
    encType: a,
    formData: i,
    body: s
  };
}
const u7 = ["onClick", "relative", "reloadDocument", "replace", "state", "target", "to", "preventScrollReset", "viewTransition"], d7 = ["aria-current", "caseSensitive", "className", "end", "style", "to", "viewTransition", "children"], p7 = ["fetcherKey", "navigate", "reloadDocument", "replace", "state", "method", "action", "onSubmit", "relative", "preventScrollReset", "viewTransition"], f7 = "6";
try {
  window.__reactRouterVersion = f7;
} catch {
}
const T1 = /* @__PURE__ */ d.createContext({
  isTransitioning: !1
});
process.env.NODE_ENV !== "production" && (T1.displayName = "ViewTransition");
const m7 = /* @__PURE__ */ d.createContext(/* @__PURE__ */ new Map());
process.env.NODE_ENV !== "production" && (m7.displayName = "Fetchers");
process.env.NODE_ENV;
const h7 = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u", g7 = /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i, ld = /* @__PURE__ */ d.forwardRef(function(t, o) {
  let {
    onClick: r,
    relative: a,
    reloadDocument: i,
    replace: s,
    state: l,
    target: c,
    to: u,
    preventScrollReset: p,
    viewTransition: f
  } = t, g = sd(t, u7), {
    basename: v
  } = d.useContext(oo), b, h = !1;
  if (typeof u == "string" && g7.test(u) && (b = u, h7))
    try {
      let w = new URL(window.location.href), T = u.startsWith("//") ? new URL(w.protocol + u) : new URL(u), O = kr(T.pathname, v);
      T.origin === w.origin && O != null ? u = O + T.search + T.hash : h = !0;
    } catch {
      process.env.NODE_ENV !== "production" && Ya(!1, '<Link to="' + u + '"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.');
    }
  let y = G8(u, {
    relative: a
  }), C = x7(u, {
    replace: s,
    state: l,
    target: c,
    preventScrollReset: p,
    relative: a,
    viewTransition: f
  });
  function E(w) {
    r && r(w), w.defaultPrevented || C(w);
  }
  return (
    // eslint-disable-next-line jsx-a11y/anchor-has-content
    /* @__PURE__ */ d.createElement("a", Mr({}, g, {
      href: b || y,
      onClick: h || i ? r : E,
      ref: o,
      target: c
    }))
  );
});
process.env.NODE_ENV !== "production" && (ld.displayName = "Link");
const b7 = /* @__PURE__ */ d.forwardRef(function(t, o) {
  let {
    "aria-current": r = "page",
    caseSensitive: a = !1,
    className: i = "",
    end: s = !1,
    style: l,
    to: c,
    viewTransition: u,
    children: p
  } = t, f = sd(t, d7), g = Ga(c, {
    relative: f.relative
  }), v = Ka(), b = d.useContext(g1), {
    navigator: h,
    basename: y
  } = d.useContext(oo), C = b != null && // Conditional usage is OK here because the usage of a data router is static
  // eslint-disable-next-line react-hooks/rules-of-hooks
  S7(g) && u === !0, E = h.encodeLocation ? h.encodeLocation(g).pathname : g.pathname, w = v.pathname, T = b && b.navigation && b.navigation.location ? b.navigation.location.pathname : null;
  a || (w = w.toLowerCase(), T = T ? T.toLowerCase() : null, E = E.toLowerCase()), T && y && (T = kr(T, y) || T);
  const O = E !== "/" && E.endsWith("/") ? E.length - 1 : E.length;
  let P = w === E || !s && w.startsWith(E) && w.charAt(O) === "/", S = T != null && (T === E || !s && T.startsWith(E) && T.charAt(E.length) === "/"), $ = {
    isActive: P,
    isPending: S,
    isTransitioning: C
  }, A = P ? r : void 0, N;
  typeof i == "function" ? N = i($) : N = [i, P ? "active" : null, S ? "pending" : null, C ? "transitioning" : null].filter(Boolean).join(" ");
  let D = typeof l == "function" ? l($) : l;
  return /* @__PURE__ */ d.createElement(ld, Mr({}, f, {
    "aria-current": A,
    className: N,
    ref: o,
    style: D,
    to: c,
    viewTransition: u
  }), typeof p == "function" ? p($) : p);
});
process.env.NODE_ENV !== "production" && (b7.displayName = "NavLink");
const y7 = /* @__PURE__ */ d.forwardRef((e, t) => {
  let {
    fetcherKey: o,
    navigate: r,
    reloadDocument: a,
    replace: i,
    state: s,
    method: l = Di,
    action: c,
    onSubmit: u,
    relative: p,
    preventScrollReset: f,
    viewTransition: g
  } = e, v = sd(e, p7), b = O7(), h = E7(c, {
    relative: p
  }), y = l.toLowerCase() === "get" ? "get" : "post", C = (E) => {
    if (u && u(E), E.defaultPrevented) return;
    E.preventDefault();
    let w = E.nativeEvent.submitter, T = (w == null ? void 0 : w.getAttribute("formmethod")) || l;
    b(w || E.currentTarget, {
      fetcherKey: o,
      method: T,
      navigate: r,
      replace: i,
      state: s,
      relative: p,
      preventScrollReset: f,
      viewTransition: g
    });
  };
  return /* @__PURE__ */ d.createElement("form", Mr({
    ref: t,
    method: y,
    action: h,
    onSubmit: a ? u : C
  }, v));
});
process.env.NODE_ENV !== "production" && (y7.displayName = "Form");
process.env.NODE_ENV;
var ns;
(function(e) {
  e.UseScrollRestoration = "useScrollRestoration", e.UseSubmit = "useSubmit", e.UseSubmitFetcher = "useSubmitFetcher", e.UseFetcher = "useFetcher", e.useViewTransitionState = "useViewTransitionState";
})(ns || (ns = {}));
var im;
(function(e) {
  e.UseFetcher = "useFetcher", e.UseFetchers = "useFetchers", e.UseScrollRestoration = "useScrollRestoration";
})(im || (im = {}));
function v7(e) {
  return e + " must be used within a data router.  See https://reactrouter.com/v6/routers/picking-a-router.";
}
function w1(e) {
  let t = d.useContext(Js);
  return t || (process.env.NODE_ENV !== "production" ? Ot(!1, v7(e)) : Ot(!1)), t;
}
function x7(e, t) {
  let {
    target: o,
    replace: r,
    state: a,
    preventScrollReset: i,
    relative: s,
    viewTransition: l
  } = t === void 0 ? {} : t, c = X8(), u = Ka(), p = Ga(e, {
    relative: s
  });
  return d.useCallback((f) => {
    if (i7(f, o)) {
      f.preventDefault();
      let g = r !== void 0 ? r : gc(u) === gc(p);
      c(e, {
        replace: g,
        state: a,
        preventScrollReset: i,
        relative: s,
        viewTransition: l
      });
    }
  }, [u, c, p, r, a, o, e, i, s, l]);
}
function C7() {
  if (typeof document > "u")
    throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");
}
let T7 = 0, w7 = () => "__" + String(++T7) + "__";
function O7() {
  let {
    router: e
  } = w1(ns.UseSubmit), {
    basename: t
  } = d.useContext(oo), o = e7();
  return d.useCallback(function(r, a) {
    a === void 0 && (a = {}), C7();
    let {
      action: i,
      method: s,
      encType: l,
      formData: c,
      body: u
    } = c7(r, t);
    if (a.navigate === !1) {
      let p = a.fetcherKey || w7();
      e.fetch(p, o, a.action || i, {
        preventScrollReset: a.preventScrollReset,
        formData: c,
        body: u,
        formMethod: a.method || s,
        formEncType: a.encType || l,
        flushSync: a.flushSync
      });
    } else
      e.navigate(a.action || i, {
        preventScrollReset: a.preventScrollReset,
        formData: c,
        body: u,
        formMethod: a.method || s,
        formEncType: a.encType || l,
        replace: a.replace,
        state: a.state,
        fromRouteId: o,
        flushSync: a.flushSync,
        viewTransition: a.viewTransition
      });
  }, [e, t, o]);
}
function E7(e, t) {
  let {
    relative: o
  } = t === void 0 ? {} : t, {
    basename: r
  } = d.useContext(oo), a = d.useContext(zr);
  a || (process.env.NODE_ENV !== "production" ? Ot(!1, "useFormAction must be used inside a RouteContext") : Ot(!1));
  let [i] = a.matches.slice(-1), s = Mr({}, Ga(e || ".", {
    relative: o
  })), l = Ka();
  if (e == null) {
    s.search = l.search;
    let c = new URLSearchParams(s.search), u = c.getAll("index");
    if (u.some((f) => f === "")) {
      c.delete("index"), u.filter((g) => g).forEach((g) => c.append("index", g));
      let f = c.toString();
      s.search = f ? "?" + f : "";
    }
  }
  return (!e || e === ".") && i.route.index && (s.search = s.search ? s.search.replace(/^\?/, "?index&") : "?index"), r !== "/" && (s.pathname = s.pathname === "/" ? r : od([r, s.pathname])), gc(s);
}
function S7(e, t) {
  t === void 0 && (t = {});
  let o = d.useContext(T1);
  o == null && (process.env.NODE_ENV !== "production" ? Ot(!1, "`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?") : Ot(!1));
  let {
    basename: r
  } = w1(ns.useViewTransitionState), a = Ga(e, {
    relative: t.relative
  });
  if (!o.isTransitioning)
    return !1;
  let i = kr(o.currentLocation.pathname, r) || o.currentLocation.pathname, s = kr(o.nextLocation.pathname, r) || o.nextLocation.pathname;
  return am(a.pathname, s) != null || am(a.pathname, i) != null;
}
const xD = () => /* @__PURE__ */ he($r, { children: [
  /* @__PURE__ */ he(Qs, { children: [
    /* @__PURE__ */ x("title", { children: "404 - Not Found" }),
    /* @__PURE__ */ x("meta", { name: "description", content: "Page not found on HaritoUI." })
  ] }),
  /* @__PURE__ */ he(
    Ae,
    {
      sx: {
        display: "flex",
        flexDirection: "column",
        alignItems: "center",
        justifyContent: "center",
        minHeight: "60vh",
        textAlign: "center",
        color: "rgb(var(--color-text-primary))"
      },
      children: [
        /* @__PURE__ */ x(Le, { variant: "h1", component: "h1", sx: { fontSize: "6rem", mb: 2 }, children: "404" }),
        /* @__PURE__ */ x(Le, { variant: "h5", component: "h2", sx: { mb: 3 }, children: "Oops! Page Not Found." }),
        /* @__PURE__ */ x(Le, { variant: "body1", sx: { mb: 4, maxWidth: 500 }, children: "The page you are looking for might have been removed, had its name changed, or is temporarily unavailable." }),
        /* @__PURE__ */ x(Yn, { variant: "contained", component: ld, to: "/", children: "Go to Homepage" })
      ]
    }
  )
] }), CD = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#999", d: "M256 0c70.68 0 134.69 28.66 181.01 74.99C483.34 121.31 512 185.32 512 256c0 70.68-28.66 134.69-74.99 181.01C390.69 483.34 326.68 512 256 512c-70.68 0-134.69-28.66-181.01-74.99C28.66 390.69 0 326.68 0 256c0-70.68 28.66-134.69 74.99-181.01C121.31 28.66 185.32 0 256 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M256 19.48c65.3 0 124.46 26.48 167.25 69.27l1.09 1.18c42.14 42.71 68.18 101.37 68.18 166.06 0 65.31-26.49 124.46-69.28 167.25l-1.19 1.09c-42.73 42.16-101.4 68.19-166.05 68.19-65.3 0-124.45-26.49-167.24-69.28-42.79-42.79-69.29-101.95-69.29-167.25 0-65.23 26.51-124.38 69.34-167.18C131.55 45.97 190.7 19.48 256 19.48z" }), /* @__PURE__ */ d.createElement("path", { fill: "#EE1C25", d: "M256 39.59c119.52 0 216.41 96.89 216.41 216.4 0 119.52-96.89 216.42-216.41 216.42-119.51 0-216.41-96.9-216.41-216.42 0-119.51 96.9-216.4 216.41-216.4z" }), /* @__PURE__ */ d.createElement("path", { fill: "#ff0", d: "m156.3 97.57 44.4 136.68-116.27-84.47h143.7l-116.25 84.47L156.3 97.57zm134.8 152.74-2.23 47.84-26.33-40 44.82 16.88-46.19 12.67 29.93-37.39zm65.15-35.44-37.72 29.52 13.16-46.06 16.4 44.99-39.73-26.74 47.89-1.71zm-5.59-84.44-22.38 42.34-6.79-47.43 33.33 34.37-47.17-8.2 43.01-21.08zM292.08 74.4l-4.23 47.71-24.64-41.06L307.3 99.8l-46.69 10.74 31.47-36.14z" }))), TD = (e) => /* @__PURE__ */ d.createElement("svg", { id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", x: "0px", y: "0px", viewBox: "0 0 55.2 38.4", style: {
  enableBackground: "new 0 0 55.2 38.4"
}, xmlSpace: "preserve", ...e }, /* @__PURE__ */ d.createElement("style", { type: "text/css" }, ".st0{fill:#DE2910;} .st1{fill:#FFDE00;}"), /* @__PURE__ */ d.createElement("g", null, /* @__PURE__ */ d.createElement("path", { className: "st0", d: "M3.01,0h49.17c1.66,0.01,3.01,1.37,3.01,3.03v32.33c0,1.66-1.35,3.02-3.01,3.03L3,38.4 c-1.65-0.02-3-1.38-3-3.03V3.03C0,1.37,1.35,0.01,3.01,0L3.01,0z" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "8.4,3.84 11.79,14.26 2.92,7.82 13.88,7.82 5.01,14.26 8.4,3.84" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "18.75,2.07 18.43,5.71 16.55,2.58 19.91,4.01 16.35,4.83 18.75,2.07" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "23.22,6.34 21.51,9.57 20.99,5.96 23.54,8.58 19.94,7.95 23.22,6.34" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "23.64,12.78 20.77,15.03 21.77,11.52 23.02,14.95 19.99,12.91 23.64,12.78" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "18.68,15.48 18.51,19.13 16.5,16.08 19.92,17.37 16.4,18.34 18.68,15.48" }))), wD = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#999", d: "M256 0c70.68 0 134.69 28.66 181.01 74.99C483.34 121.31 512 185.32 512 256c0 70.68-28.66 134.69-74.99 181.01C390.69 483.34 326.68 512 256 512c-70.68 0-134.69-28.66-181.01-74.99C28.66 390.69 0 326.68 0 256c0-70.68 28.66-134.69 74.99-181.01C121.31 28.66 185.32 0 256 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M256 19.48c65.29 0 124.45 26.48 167.24 69.27l1.1 1.18c42.14 42.71 68.17 101.37 68.17 166.06 0 65.31-26.49 124.46-69.28 167.25l-1.19 1.09c-42.73 42.16-101.4 68.19-166.04 68.19-65.23 0-124.38-26.51-167.19-69.33-42.84-42.74-69.33-101.89-69.33-167.2 0-65.31 26.48-124.45 69.27-167.24C131.54 45.96 190.69 19.48 256 19.48z" }), /* @__PURE__ */ d.createElement("path", { fill: "#E1000F", d: "M337.87 55.63C416.8 87.92 472.4 165.46 472.4 255.99c0 90.54-55.6 168.09-134.53 200.38V55.63z" }), /* @__PURE__ */ d.createElement("path", { fill: "#273375", d: "M174.14 456.37V55.63C95.21 87.91 39.59 165.44 39.59 255.99c0 90.56 55.62 168.11 134.55 200.38z" }))), OD = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 356.18", ...e }, /* @__PURE__ */ d.createElement("path", { fill: "#E1000F", d: "M345.04 0h139C499.44.1 512 12.72 512 28.13v299.91c0 15.47-12.65 28.13-28.13 28.14H345.04V0zM15.11 352.95zm-9.54-8.15z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M27.96 0h317.08v356.18H27.98C12.57 356.09 0 343.46 0 328.04V28.14C0 12.72 12.56.1 27.96 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#273375", d: "M27.96 0h138.99v356.18H28c-15.42-.08-28-12.71-28-28.14V28.14C0 12.72 12.56.1 27.96 0z" })), ED = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#999", d: "M256 0c70.68 0 134.69 28.66 181.01 74.99C483.34 121.31 512 185.32 512 256c0 70.68-28.66 134.69-74.99 181.01C390.69 483.34 326.68 512 256 512c-70.68 0-134.69-28.66-181.01-74.99C28.66 390.69 0 326.68 0 256c0-70.68 28.66-134.69 74.99-181.01C121.31 28.66 185.32 0 256 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M256 19.48c65.3 0 124.46 26.48 167.25 69.27l1.09 1.18c42.14 42.71 68.18 101.37 68.18 166.06 0 65.31-26.5 124.46-69.29 167.25l-1.18 1.09c-42.73 42.16-101.4 68.19-166.05 68.19-65.23 0-124.37-26.51-167.18-69.33-42.84-42.74-69.33-101.89-69.33-167.2 0-65.31 26.48-124.45 69.27-167.24C131.55 45.96 190.7 19.48 256 19.48z" }), /* @__PURE__ */ d.createElement("path", { d: "M255.99 39.59c119.51 0 216.4 96.89 216.4 216.4 0 119.52-96.89 216.42-216.4 216.42-119.52 0-216.41-96.9-216.41-216.42 0-119.51 96.89-216.4 216.41-216.4z" }), /* @__PURE__ */ d.createElement("path", { fill: "#D00", d: "M459.56 182.47H52.41c-8.3 22.96-12.83 47.71-12.83 73.52 0 119.52 96.89 216.42 216.41 216.42 119.51 0 216.4-96.9 216.4-216.42 0-25.81-4.53-50.56-12.83-73.52z" }), /* @__PURE__ */ d.createElement("path", { fill: "#FFCE00", d: "M459.56 329.55H52.41c30.11 83.32 109.89 142.86 203.58 142.86 93.69 0 173.47-59.54 203.57-142.86z" }))), SD = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 55.2 38.4", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "evenodd", clipRule: "evenodd" }, /* @__PURE__ */ d.createElement("path", { d: "M3.03 0h49.13c1.67 0 3.03 1.36 3.03 3.03v32.33c0 1.66-1.36 3.02-3.02 3.03H3.02C1.36 38.4 0 37.03 0 35.37V3.03C0 1.36 1.36 0 3.03 0z" }), /* @__PURE__ */ d.createElement("path", { d: "M0 12.8h55.2v22.57c0 1.67-1.36 3.03-3.03 3.03H3.03C1.36 38.4 0 37.04 0 35.37V12.8z", fill: "#d00" }), /* @__PURE__ */ d.createElement("path", { d: "M0 25.6h55.2v9.77c0 1.66-1.36 3.02-3.02 3.03H3.03A3.04 3.04 0 010 35.37V25.6z", fill: "#ffce00" }))), PD = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("path", { fill: "#999", fillRule: "nonzero", d: "M256 0c70.68 0 134.69 28.66 181.01 74.99C483.34 121.31 512 185.32 512 256c0 70.68-28.66 134.69-74.99 181.01C390.69 483.34 326.68 512 256 512c-70.68 0-134.69-28.66-181.01-74.99C28.66 390.69 0 326.68 0 256c0-70.68 28.66-134.69 74.99-181.01C121.31 28.66 185.32 0 256 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", fillRule: "nonzero", d: "M255.99 19.48c65.31 0 124.46 26.48 167.25 69.27 42.79 42.79 69.28 101.93 69.28 167.24s-26.49 124.46-69.28 167.25c-42.79 42.79-101.94 69.28-167.25 69.28-65.23 0-124.38-26.51-167.18-69.33-42.84-42.74-69.33-101.89-69.33-167.2 0-65.31 26.48-124.45 69.27-167.24 42.79-42.79 101.93-69.27 167.24-69.27z" }), /* @__PURE__ */ d.createElement("path", { fill: "#F93", fillRule: "nonzero", d: "M255.99 39.59c84.4 0 157.5 48.29 193.17 118.74H62.84C98.52 87.88 171.62 39.59 255.99 39.59z" }), /* @__PURE__ */ d.createElement("path", { fill: "#128807", fillRule: "nonzero", d: "M60.38 348.64h391.24c-34.71 73.18-109.24 123.77-195.63 123.77-86.37 0-160.89-50.59-195.61-123.77z" }), /* @__PURE__ */ d.createElement("path", { fill: "#008", d: "M255.99 179.9c42.05 0 76.13 34.08 76.13 76.11 0 42.04-34.08 76.12-76.13 76.12-42.03 0-76.11-34.08-76.11-76.12 0-42.03 34.08-76.11 76.11-76.11zm13.31 75.43c-.04-.71-.13-1.41-.27-2.09l13.3-1.92 38.01-12.54-39.2 8.14-12.46 4.99c-.22-.68-.49-1.33-.81-1.95l12.34-5.29 33.46-21.96c-.9-1.56-1.85-3.08-2.87-4.55l.07-.05c-1.46 1.13-3.55.84-4.68-.61a3.345 3.345 0 0 1 .56-4.61 62.382 62.382 0 0 0-3.66-3.96v-.02l-29.87 26.65-8.29 10.57c-.53-.48-1.1-.91-1.68-1.3l8.04-10.75 18.01-35.75-21.95 33.47-5.29 12.35c-.62-.32-1.28-.59-1.97-.81l5.01-12.46 8.14-39.2-12.56 38.01-1.9 13.3c-.68-.14-1.38-.23-2.09-.28l1.6-13.34-2.3-39.95c-1.8 0-3.59.09-5.37.22l-.01-.1c.24 1.83-1.05 3.5-2.87 3.74a3.325 3.325 0 0 1-3.72-2.79c-3.58.65-7.05 1.59-10.4 2.79.65 1.68-.16 3.6-1.84 4.28-1.66.68-3.58-.08-4.31-1.73-1.63.78-3.23 1.63-4.78 2.52l21.96 33.45 5.29 12.35c.62-.32 1.27-.59 1.95-.81l-4.99-12.46-8.14-39.2 12.55 38.01 1.91 13.3c.68-.14 1.38-.23 2.09-.28l-1.6-13.34 2.28-39.95c1.81 0 3.61.08 5.39.22l.01-.1a3.342 3.342 0 0 0 2.87 3.74c1.79.24 3.45-1.01 3.72-2.79 3.58.65 7.05 1.59 10.41 2.79-.65 1.68.16 3.6 1.82 4.28 1.68.68 3.59-.08 4.32-1.73 3.28 1.55 6.38 3.34 9.33 5.39l.05-.07c-1.13 1.46-.84 3.55.61 4.67a3.36 3.36 0 0 0 4.68-.61l-.07.08a64.22 64.22 0 0 1 3.94 3.62h.02l-26.64 29.89-10.56 8.29c.48.53.9 1.08 1.28 1.68l10.76-8.06 35.74-18c.89 1.56 1.74 3.15 2.52 4.78a3.298 3.298 0 0 0-1.73 4.31c.68 1.67 2.58 2.48 4.28 1.83 1.19 3.34 2.13 6.83 2.78 10.41a3.325 3.325 0 0 0-2.78 3.72c.23 1.82 1.91 3.1 3.73 2.86l-.09.02c.13 1.77.22 3.56.22 5.37l-39.95-2.28-13.35 1.6zm-46.61-56.98 18.01 35.73 8.06 10.75c-.6.39-1.16.82-1.68 1.3l-8.3-10.57-29.87-26.63c1.27-1.27 2.6-2.49 3.96-3.66 1.13 1.39 3.18 1.65 4.61.55a3.33 3.33 0 0 0 .62-4.67l.05.07c1.48-1.02 2.99-1.97 4.54-2.87zm-13.78 10.58 26.64 29.87 10.56 8.29c-.47.53-.9 1.08-1.3 1.68l-10.75-8.06-35.74-18c-.89 1.55-1.73 3.15-2.5 4.76a3.35 3.35 0 0 1 1.72 4.33c-.68 1.67-2.6 2.48-4.27 1.83-.61 1.7-1.13 3.41-1.6 5.15l38 12.54 13.31 1.92c-.15.68-.24 1.38-.29 2.09l-13.33-1.6-39.96 2.28c0 1.81.1 3.61.22 5.38l-.09.02c1.82-.25 3.5 1.03 3.74 2.87.23 1.79-1.02 3.45-2.79 3.72.65 3.58 1.58 7.03 2.79 10.39 1.67-.64 3.59.17 4.27 1.83.68 1.67-.08 3.6-1.72 4.33.77 1.63 1.61 3.21 2.5 4.76l35.74-18 10.75-8.05c.4.59.83 1.16 1.3 1.68l-10.56 8.3-26.65 29.87h.01c1.27 1.26 2.6 2.48 3.96 3.66 1.13-1.4 3.18-1.67 4.61-.56 1.46 1.12 1.74 3.22.62 4.67l.05-.06c1.47 1.03 2.99 1.98 4.54 2.88l21.96-33.48 5.29-12.35c.62.33 1.27.6 1.95.82l-4.99 12.47-8.14 39.19c1.73.46 3.49.86 5.26 1.19a3.325 3.325 0 0 1 3.72-2.8c1.79.25 3.06 1.87 2.87 3.65 1.77.15 3.56.23 5.38.23l2.3-39.97-1.6-13.34c.71-.03 1.41-.13 2.09-.27l1.9 13.3 12.56 38.01-8.14-39.19-5.01-12.47c.69-.22 1.35-.5 1.97-.82l5.29 12.35 21.95 33.48c1.55-.9 3.09-1.87 4.56-2.88l.05.06c-1.13-1.45-.84-3.55.61-4.67 1.43-1.11 3.49-.84 4.6.56 1.37-1.16 2.7-2.4 3.97-3.66l-26.64-29.87-10.56-8.3c.48-.52.9-1.09 1.28-1.68l10.76 8.05 35.76 18-33.48-21.96-12.36-5.28c.34-.63.61-1.28.83-1.96l12.46 5.01 39.18 8.13c.46-1.72.87-3.46 1.2-5.25a3.325 3.325 0 0 1-2.78-3.72 3.318 3.318 0 0 1 3.73-2.87l-.09-.02c.14-1.77.22-3.56.22-5.38l-39.95 2.28-13.35-1.6c-.04.73-.13 1.43-.27 2.11l13.3 1.9 37.99 12.55c-.47 1.75-.98 3.46-1.58 5.14-1.7-.64-3.6.17-4.28 1.83-.7 1.7.08 3.61 1.73 4.33a64.329 64.329 0 0 1-5.39 9.32l.07.05a3.335 3.335 0 0 0-4.68.62c-1.1 1.42-.83 3.48.56 4.59a72.466 72.466 0 0 1-3.66 3.98l-29.87-26.64-8.29-10.56c-.53.46-1.1.9-1.68 1.28l8.04 10.75 18.01 35.76c-1.55.89-3.14 1.73-4.77 2.5-.71-1.64-2.63-2.42-4.32-1.72-1.7.69-2.5 2.64-1.79 4.34l-.03-.07a64.87 64.87 0 0 1-10.41 2.79 3.325 3.325 0 0 0-3.72-2.8c-1.79.25-3.06 1.87-2.87 3.65-1.77.13-3.59.23-5.4.23l-2.28-39.97 1.6-13.34c-.71-.03-1.41-.13-2.09-.27l-1.91 13.3-12.55 38.01c-1.75-.46-3.48-1-5.14-1.6a3.3 3.3 0 0 0-1.84-4.27c-1.68-.7-3.6.08-4.32 1.72a65.32 65.32 0 0 1-4.77-2.5l18.01-35.76 8.06-10.75c-.6-.38-1.16-.82-1.68-1.28l-8.3 10.56-29.88 26.64v-.02c-1.27-1.27-2.49-2.6-3.65-3.96 1.4-1.11 1.65-3.17.56-4.59a3.324 3.324 0 0 0-4.67-.62l.06-.05c-1.01-1.47-1.98-3-2.88-4.56l33.46-21.96 12.35-5.28c-.31-.63-.58-1.28-.81-1.96l-12.46 5.01-39.19 8.13 38-12.55 13.31-1.9c-.15-.68-.24-1.38-.29-2.11l-13.33 1.6-39.96-2.28c0-1.82.08-3.6.22-5.37l-.09-.02c1.82.24 3.5-1.04 3.74-2.86.23-1.79-1.02-3.45-2.79-3.72.33-1.78.73-3.53 1.19-5.26l39.19 8.14 12.46 4.99c.23-.68.5-1.33.81-1.95l-12.35-5.29-33.46-21.96c.9-1.56 1.85-3.08 2.88-4.55l-.06-.05c1.45 1.13 3.54.84 4.67-.61 1.09-1.43.84-3.49-.56-4.61 1.18-1.36 2.4-2.69 3.66-3.96z" })), RD = (e) => /* @__PURE__ */ d.createElement("svg", { id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", x: "0px", y: "0px", viewBox: "0 0 122.88 85.48", style: {
  enableBackground: "new 0 0 122.88 85.48"
}, xmlSpace: "preserve", ...e }, /* @__PURE__ */ d.createElement("style", { type: "text/css" }), /* @__PURE__ */ d.createElement("g", null, /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M6.71,0h109.46c3.7,0.02,6.71,3.05,6.71,6.75v71.98c0,3.71-3.04,6.75-6.75,6.75l-109.42,0 C3.02,85.46,0,82.43,0,78.73V6.75C0,3.05,3.01,0.02,6.71,0L6.71,0z" }), /* @__PURE__ */ d.createElement("polygon", { className: "st2", points: "0,28.49 122.88,28.49 122.88,56.99 0,56.99 0,28.49" }), /* @__PURE__ */ d.createElement("path", { className: "st0", d: "M0,56.99h122.88v21.74c0,3.71-3.04,6.75-6.75,6.75l-109.42,0C3.02,85.46,0,82.43,0,78.73V56.99L0,56.99z" }), /* @__PURE__ */ d.createElement("path", { className: "st3", d: "M72.84,42.74c0-6.3-5.1-11.4-11.4-11.4s-11.4,5.1-11.4,11.4c0,6.29,5.1,11.4,11.4,11.4 S72.84,49.04,72.84,42.74L72.84,42.74z" }), /* @__PURE__ */ d.createElement("path", { className: "st2", d: "M71.41,42.74c0-5.51-4.46-9.97-9.97-9.97s-9.97,4.46-9.97,9.97c0,5.51,4.46,9.97,9.97,9.97 S71.41,48.25,71.41,42.74L71.41,42.74z" }), /* @__PURE__ */ d.createElement("path", { className: "st3", d: "M63.43,42.74c0-1.1-0.89-2-1.99-2s-1.99,0.89-1.99,2c0,1.1,0.89,1.99,1.99,1.99S63.43,43.84,63.43,42.74 L63.43,42.74z" }), /* @__PURE__ */ d.createElement("path", { className: "st3", d: "M71.82,44.11c0.04-0.27-0.16-0.52-0.43-0.56c-0.27-0.04-0.52,0.16-0.56,0.43s0.16,0.52,0.43,0.56 C71.54,44.57,71.79,44.38,71.82,44.11L71.82,44.11z" }), /* @__PURE__ */ d.createElement("polygon", { className: "st3", points: "61.44,52.71 61.78,46.73 61.44,43.88 61.1,46.73 61.44,52.71" }), /* @__PURE__ */ d.createElement("path", { d: "M71.11,46.75c0.11-0.25-0.02-0.55-0.27-0.65c-0.25-0.11-0.55,0.02-0.65,0.27c-0.11,0.25,0.02,0.55,0.27,0.65 C70.72,47.12,71.01,47,71.11,46.75L71.11,46.75z" }), /* @__PURE__ */ d.createElement("polygon", { points: "58.86,52.37 60.74,46.68 61.15,43.84 60.08,46.51 58.86,52.37" }), /* @__PURE__ */ d.createElement("path", { d: "M69.75,49.12c0.17-0.22,0.13-0.53-0.09-0.7c-0.22-0.17-0.53-0.13-0.7,0.09c-0.17,0.22-0.13,0.53,0.09,0.7 C69.27,49.38,69.58,49.33,69.75,49.12L69.75,49.12z" }), /* @__PURE__ */ d.createElement("polygon", { points: "56.45,51.38 59.74,46.37 60.87,43.73 59.15,46.02 56.45,51.38" }), /* @__PURE__ */ d.createElement("path", { d: "M67.81,51.05c0.22-0.17,0.26-0.48,0.09-0.7c-0.17-0.22-0.48-0.26-0.7-0.09c-0.22,0.17-0.26,0.48-0.09,0.7 C67.28,51.17,67.6,51.22,67.81,51.05L67.81,51.05z" }), /* @__PURE__ */ d.createElement("polygon", { points: "54.39,49.79 58.86,45.8 60.63,43.55 58.38,45.32 54.39,49.79" }), /* @__PURE__ */ d.createElement("path", { d: "M65.45,52.42c0.25-0.11,0.38-0.4,0.27-0.65c-0.11-0.25-0.4-0.38-0.65-0.27c-0.25,0.1-0.38,0.4-0.27,0.65 C64.9,52.4,65.19,52.52,65.45,52.42L65.45,52.42z" }), /* @__PURE__ */ d.createElement("polygon", { points: "52.8,47.73 58.16,45.03 60.45,43.31 57.81,44.44 52.8,47.73" }), /* @__PURE__ */ d.createElement("path", { d: "M62.81,53.12c0.27-0.04,0.46-0.29,0.43-0.56c-0.04-0.27-0.29-0.46-0.56-0.43c-0.27,0.04-0.46,0.29-0.43,0.56 C62.28,52.97,62.53,53.16,62.81,53.12L62.81,53.12z" }), /* @__PURE__ */ d.createElement("polygon", { points: "51.81,45.32 57.68,44.1 60.34,43.04 57.5,43.44 51.81,45.32" }), /* @__PURE__ */ d.createElement("path", { d: "M60.07,53.12c0.27,0.04,0.52-0.16,0.56-0.43c0.04-0.27-0.16-0.52-0.43-0.56c-0.27-0.04-0.52,0.16-0.56,0.43 C59.61,52.84,59.8,53.09,60.07,53.12L60.07,53.12z" }), /* @__PURE__ */ d.createElement("polygon", { points: "51.47,42.74 57.45,43.08 60.3,42.74 57.45,42.4 51.47,42.74" }), /* @__PURE__ */ d.createElement("path", { d: "M57.43,52.42c0.25,0.11,0.55-0.02,0.65-0.27s-0.02-0.55-0.27-0.65c-0.25-0.11-0.55,0.02-0.65,0.27 C57.06,52.02,57.18,52.31,57.43,52.42L57.43,52.42z" }), /* @__PURE__ */ d.createElement("polygon", { points: "51.81,40.16 57.5,42.04 60.34,42.45 57.68,41.38 51.81,40.16" }), /* @__PURE__ */ d.createElement("path", { d: "M55.06,51.05c0.22,0.17,0.53,0.13,0.7-0.09c0.17-0.22,0.13-0.53-0.09-0.7c-0.22-0.17-0.53-0.13-0.7,0.09 C54.81,50.57,54.85,50.88,55.06,51.05L55.06,51.05z" }), /* @__PURE__ */ d.createElement("polygon", { points: "52.8,37.75 57.81,41.04 60.45,42.17 58.16,40.45 52.8,37.75" }), /* @__PURE__ */ d.createElement("path", { d: "M53.13,49.12c0.17,0.22,0.48,0.26,0.7,0.09c0.22-0.17,0.26-0.48,0.09-0.7c-0.17-0.22-0.48-0.26-0.7-0.09 C53.01,48.58,52.96,48.9,53.13,49.12L53.13,49.12z" }), /* @__PURE__ */ d.createElement("polygon", { points: "54.39,35.69 58.38,40.16 60.63,41.94 58.86,39.68 54.39,35.69" }), /* @__PURE__ */ d.createElement("path", { d: "M51.76,46.75c0.11,0.25,0.4,0.38,0.65,0.27c0.25-0.11,0.38-0.4,0.27-0.65c-0.11-0.25-0.4-0.38-0.65-0.27 C51.78,46.2,51.66,46.49,51.76,46.75L51.76,46.75z" }), /* @__PURE__ */ d.createElement("polygon", { points: "56.45,34.1 59.15,39.46 60.87,41.75 59.74,39.12 56.45,34.1" }), /* @__PURE__ */ d.createElement("path", { d: "M51.06,44.11c0.04,0.27,0.29,0.46,0.56,0.43c0.27-0.04,0.46-0.29,0.43-0.56c-0.04-0.27-0.29-0.46-0.56-0.43 C51.21,43.58,51.02,43.83,51.06,44.11L51.06,44.11z" }), /* @__PURE__ */ d.createElement("polygon", { points: "58.86,33.11 60.08,38.98 61.15,41.64 60.74,38.8 58.86,33.11" }), /* @__PURE__ */ d.createElement("path", { d: "M51.06,41.37c-0.04,0.27,0.16,0.52,0.43,0.56c0.27,0.04,0.52-0.16,0.56-0.43c0.04-0.27-0.16-0.52-0.43-0.56 C51.34,40.91,51.09,41.1,51.06,41.37L51.06,41.37z" }), /* @__PURE__ */ d.createElement("polygon", { points: "61.44,32.77 61.1,38.75 61.44,41.6 61.78,38.75 61.44,32.77" }), /* @__PURE__ */ d.createElement("path", { d: "M51.77,38.73c-0.11,0.25,0.02,0.55,0.27,0.65c0.25,0.1,0.55-0.02,0.65-0.27c0.11-0.25-0.02-0.55-0.27-0.65 C52.16,38.36,51.87,38.48,51.77,38.73L51.77,38.73z" }), /* @__PURE__ */ d.createElement("polygon", { points: "64.02,33.11 62.14,38.8 61.73,41.64 62.8,38.98 64.02,33.11" }), /* @__PURE__ */ d.createElement("path", { d: "M53.13,36.37c-0.17,0.22-0.13,0.53,0.09,0.7c0.22,0.17,0.53,0.13,0.7-0.09c0.17-0.22,0.13-0.53-0.09-0.7 C53.61,36.11,53.3,36.15,53.13,36.37L53.13,36.37z" }), /* @__PURE__ */ d.createElement("polygon", { points: "66.43,34.1 63.14,39.12 62.01,41.75 63.73,39.46 66.43,34.1" }), /* @__PURE__ */ d.createElement("path", { d: "M55.07,34.43c-0.22,0.17-0.26,0.48-0.09,0.7c0.17,0.22,0.48,0.26,0.7,0.09c0.22-0.17,0.26-0.48,0.09-0.7 S55.28,34.27,55.07,34.43L55.07,34.43z" }), /* @__PURE__ */ d.createElement("polygon", { points: "68.49,35.69 64.02,39.68 62.25,41.94 64.5,40.16 68.49,35.69" }), /* @__PURE__ */ d.createElement("path", { d: "M57.43,33.07c-0.25,0.11-0.37,0.4-0.27,0.65c0.11,0.25,0.4,0.38,0.65,0.27c0.25-0.11,0.38-0.4,0.27-0.65 C57.98,33.08,57.69,32.96,57.43,33.07L57.43,33.07z" }), /* @__PURE__ */ d.createElement("polygon", { points: "70.08,37.75 64.72,40.45 62.43,42.17 65.07,41.04 70.08,37.75" }), /* @__PURE__ */ d.createElement("path", { d: "M60.07,32.36c-0.27,0.04-0.46,0.29-0.43,0.56c0.04,0.27,0.29,0.46,0.56,0.43c0.27-0.04,0.47-0.29,0.43-0.56 C60.6,32.52,60.35,32.32,60.07,32.36L60.07,32.36z" }), /* @__PURE__ */ d.createElement("polygon", { points: "71.07,40.16 65.2,41.38 62.54,42.45 65.38,42.04 71.07,40.16" }), /* @__PURE__ */ d.createElement("path", { d: "M62.81,32.36c-0.27-0.04-0.52,0.16-0.56,0.43c-0.04,0.27,0.16,0.52,0.43,0.56c0.27,0.04,0.52-0.16,0.56-0.43 C63.27,32.65,63.08,32.39,62.81,32.36L62.81,32.36z" }), /* @__PURE__ */ d.createElement("polygon", { points: "71.41,42.74 65.43,42.4 62.58,42.74 65.43,43.08 71.41,42.74" }), /* @__PURE__ */ d.createElement("path", { d: "M65.45,33.07c-0.25-0.11-0.55,0.02-0.65,0.27c-0.11,0.25,0.02,0.55,0.27,0.65c0.25,0.1,0.55-0.02,0.65-0.27 C65.82,33.46,65.7,33.17,65.45,33.07L65.45,33.07z" }), /* @__PURE__ */ d.createElement("polygon", { points: "71.07,45.32 65.38,43.44 62.54,43.04 65.2,44.1 71.07,45.32" }), /* @__PURE__ */ d.createElement("path", { d: "M67.81,34.43c-0.22-0.17-0.53-0.13-0.7,0.09c-0.17,0.22-0.13,0.53,0.09,0.7c0.22,0.17,0.53,0.13,0.7-0.09 C68.07,34.91,68.03,34.6,67.81,34.43L67.81,34.43z" }), /* @__PURE__ */ d.createElement("polygon", { points: "70.08,47.73 65.07,44.44 62.43,43.31 64.72,45.03 70.08,47.73" }), /* @__PURE__ */ d.createElement("path", { d: "M69.75,36.37c-0.17-0.22-0.48-0.26-0.7-0.09s-0.26,0.48-0.09,0.7c0.17,0.22,0.48,0.26,0.7,0.09 C69.87,36.9,69.92,36.58,69.75,36.37L69.75,36.37z" }), /* @__PURE__ */ d.createElement("polygon", { points: "68.49,49.79 64.5,45.32 62.25,43.55 64.02,45.8 68.49,49.79" }), /* @__PURE__ */ d.createElement("path", { d: "M71.12,38.73c-0.11-0.25-0.4-0.38-0.65-0.27s-0.38,0.4-0.27,0.65c0.11,0.25,0.4,0.37,0.65,0.27 C71.1,39.28,71.22,38.99,71.12,38.73L71.12,38.73z" }), /* @__PURE__ */ d.createElement("polygon", { points: "66.43,51.38 63.73,46.02 62.01,43.73 63.14,46.37 66.43,51.38" }), /* @__PURE__ */ d.createElement("path", { d: "M71.82,41.37c-0.04-0.27-0.29-0.46-0.56-0.43c-0.27,0.04-0.46,0.29-0.43,0.56c0.04,0.27,0.29,0.46,0.56,0.43 C71.67,41.9,71.86,41.65,71.82,41.37L71.82,41.37z" }), /* @__PURE__ */ d.createElement("polygon", { points: "64.02,52.37 62.8,46.51 61.73,43.84 62.14,46.68 64.02,52.37" }))), kD = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#999", d: "M256 0c70.68 0 134.69 28.66 181.01 74.99C483.34 121.31 512 185.32 512 256c0 70.68-28.66 134.69-74.99 181.01C390.69 483.34 326.68 512 256 512c-70.68 0-134.69-28.66-181.01-74.99C28.66 390.69 0 326.68 0 256c0-70.68 28.66-134.69 74.99-181.01C121.31 28.66 185.32 0 256 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M256.01 19.48c65.29 0 124.45 26.48 167.24 69.27l1.1 1.18c42.14 42.72 68.17 101.37 68.17 166.07 0 65.3-26.49 124.45-69.28 167.24l-1.19 1.1c-42.73 42.15-101.4 68.19-166.04 68.19-65.31 0-124.46-26.5-167.25-69.29C45.97 380.45 19.47 321.29 19.47 256c0-65.24 26.51-124.38 69.34-167.19 42.74-42.84 101.89-69.33 167.2-69.33z" }), /* @__PURE__ */ d.createElement("path", { fill: "#BC002D", d: "M363.03 254.92c0-59.09-47.91-106.99-106.99-106.99-59.09 0-106.99 47.9-106.99 106.99 0 59.08 47.9 106.99 106.99 106.99 59.08 0 106.99-47.91 106.99-106.99z" }))), MD = (e) => /* @__PURE__ */ d.createElement("svg", { id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", x: "0px", y: "0px", viewBox: "0 0 55.7 38.9", style: {
  enableBackground: "new 0 0 55.7 38.9"
}, xmlSpace: "preserve", ...e }, /* @__PURE__ */ d.createElement("style", { type: "text/css" }, ".st0{fill:#FFFFFF;stroke:#CCCCCC;stroke-width:0.5;stroke-miterlimit:2.6131;} .st1{fill:#BC002D;}"), /* @__PURE__ */ d.createElement("g", null, /* @__PURE__ */ d.createElement("path", { className: "st0", d: "M3.28,0.25h49.13c1.67,0,3.03,1.36,3.03,3.03v32.33c0,1.67-1.36,3.03-3.03,3.03H3.28 c-1.67,0-3.03-1.37-3.03-3.03V3.28C0.25,1.61,1.61,0.25,3.28,0.25L3.28,0.25z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M39.37,19.45c0-6.36-5.16-11.52-11.52-11.52c-6.36,0-11.52,5.16-11.52,11.52c0,6.36,5.16,11.52,11.52,11.52 C34.21,30.97,39.37,25.81,39.37,19.45L39.37,19.45z" }))), $D = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#4D4D4D", d: "M256 0c70.684 0 134.689 28.664 181.012 74.987C483.336 121.311 512 185.316 512 256c0 70.684-28.664 134.689-74.988 181.013C390.689 483.336 326.684 512 256 512c-70.677 0-134.689-28.664-181.013-74.987C28.664 390.689 0 326.676 0 256c0-70.684 28.664-134.689 74.987-181.013C121.311 28.664 185.316 0 256 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M256.001 19.597c65.278 0 124.382 26.466 167.162 69.242 42.776 42.78 69.242 101.884 69.242 167.162S465.939 380.384 423.16 423.16c-42.777 42.78-101.881 69.246-167.159 69.246-65.278 0-124.382-26.466-167.162-69.243-42.777-42.779-69.243-101.884-69.243-167.162S46.062 131.619 88.839 88.839c42.78-42.776 101.884-69.242 167.162-69.242z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M472.405 256.232H39.597l-.003-.231c0-119.52 96.886-216.407 216.407-216.407 119.517 0 216.407 96.887 216.407 216.407l-.003.231z" }), /* @__PURE__ */ d.createElement("path", { fill: "#D52B1E", d: "M39.597 256.232h432.808c-.124 119.411-96.963 216.176-216.404 216.176-119.444 0-216.28-96.765-216.404-216.176z" }), /* @__PURE__ */ d.createElement("path", { fill: "#0039A6", d: "M52.038 183.55h407.926c8.048 22.652 12.444 47.036 12.444 72.451 0 25.586-4.452 50.131-12.606 72.915H52.2c-8.154-22.784-12.606-47.329-12.606-72.915 0-25.415 4.396-49.799 12.444-72.451z" }))), DD = (e) => /* @__PURE__ */ d.createElement("svg", { id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", x: "0px", y: "0px", viewBox: "0 0 55.32 38.52", style: {
  enableBackground: "new 0 0 55.32 38.52"
}, xmlSpace: "preserve", ...e }, /* @__PURE__ */ d.createElement("style", { type: "text/css" }, ".st0{fill:#FFFFFF;} .st1{fill:#D52B1E;} .st2{fill:#0039A6;} .st3{fill:none;stroke:#CCCCCC;stroke-width:0.1199;stroke-miterlimit:2.6131;}"), /* @__PURE__ */ d.createElement("g", null, /* @__PURE__ */ d.createElement("path", { className: "st0", d: "M3.09,0.06h49.13c1.67,0,3.03,1.36,3.03,3.03v16.17H0.06V3.09C0.06,1.42,1.42,0.06,3.09,0.06L3.09,0.06z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M0.06,19.26h55.2v16.17c0,1.67-1.36,3.03-3.03,3.03H3.09c-1.67,0-3.03-1.37-3.03-3.03V19.26L0.06,19.26z" }), /* @__PURE__ */ d.createElement("polygon", { className: "st2", points: "0.06,12.86 55.26,12.86 55.26,25.66 0.06,25.66 0.06,12.86" }), /* @__PURE__ */ d.createElement("path", { className: "st3", d: "M3.09,0.06h49.13c1.67,0,3.03,1.36,3.03,3.03v32.33c0,1.67-1.36,3.03-3.03,3.03H3.09 c-1.67,0-3.03-1.37-3.03-3.03V3.09C0.06,1.42,1.42,0.06,3.09,0.06L3.09,0.06z" }))), ID = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#999", d: "M256 0c70.68 0 134.69 28.66 181.01 74.99C483.34 121.31 512 185.32 512 256c0 70.68-28.66 134.69-74.99 181.01C390.69 483.34 326.68 512 256 512c-70.68 0-134.69-28.66-181.01-74.99C28.66 390.69 0 326.68 0 256c0-70.68 28.66-134.69 74.99-181.01C121.31 28.66 185.32 0 256 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M256 19.48c65.31 0 124.45 26.5 167.23 69.28 42.79 42.79 69.28 101.93 69.28 167.23 0 65.31-26.49 124.47-69.28 167.25-42.78 42.79-101.92 69.28-167.23 69.28-65.3 0-124.46-26.49-167.24-69.28-42.79-42.78-69.28-101.94-69.28-167.25 0-65.3 26.49-124.44 69.28-167.23C131.54 45.98 190.7 19.48 256 19.48z" }), /* @__PURE__ */ d.createElement("path", { d: "m106.55 203.82 39.86-59.78 9.96 6.65-39.86 59.78-9.96-6.65zm14.95 9.96L161.36 154l9.96 6.65-39.86 59.78-9.96-6.65zm14.95 9.97 39.84-59.79 9.98 6.65-39.86 59.78-9.96-6.64zm189.29 126.21 39.86-59.79 9.96 6.65-39.84 59.77-9.98-6.63zm14.95 9.96 39.85-59.78 9.96 6.64-39.85 59.77-9.96-6.63zm14.95 9.96 39.85-59.78 9.96 6.64-39.85 59.79-9.96-6.65z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "m342.35 314.25 49.82 33.21-3.33 4.98-49.81-33.2z" }), /* @__PURE__ */ d.createElement("path", { fill: "#CD2E3A", d: "M196.23 220.43c22.01-33.02 66.61-41.93 99.63-19.92 33 21.99 41.93 66.62 19.92 99.63l-119.55-79.71z" }), /* @__PURE__ */ d.createElement("path", { fill: "#0047A0", d: "M196.23 220.43c-22.01 33.02-13.08 77.62 19.92 99.63 33.01 22.01 77.62 13.08 99.63-19.92 11.01-16.51 6.54-38.82-9.96-49.82s-38.81-6.55-49.82 9.97l-59.77-39.86z" }), /* @__PURE__ */ d.createElement("path", { fill: "#CD2E3A", d: "M246.04 210.47c-16.51-11.01-38.81-6.56-49.81 9.96-11.01 16.5-6.56 38.81 9.96 49.82 16.5 11 38.81 6.54 49.81-9.96 11.01-16.52 6.54-38.82-9.96-49.82z" }), /* @__PURE__ */ d.createElement("path", { d: "m146.41 376.53-39.86-59.79 9.96-6.64 39.86 59.78-9.96 6.65zm14.95-9.98-39.86-59.77 9.96-6.64 39.86 59.78-9.96 6.63zm14.93-9.96-39.84-59.77 9.96-6.65 39.86 59.79-9.98 6.63zm189.31-126.2-39.86-59.78 9.98-6.65 39.84 59.79-9.96 6.64zm14.94-9.96-39.85-59.78 9.96-6.65 39.85 59.78-9.96 6.65zm14.95-9.96-39.85-59.78 9.96-6.65 39.85 59.78-9.96 6.65z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "m137.29 335.83 14.93-9.96 3.31 4.99-14.95 9.96-3.29-4.99zm201.74-134.48 17.45-11.62 3.31 4.95-17.44 11.62-3.32-4.95zm32.38-21.6 14.95-9.98 3.32 4.99-14.95 9.96-3.32-4.97z" }))), ND = (e) => /* @__PURE__ */ d.createElement("svg", { id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", x: "0px", y: "0px", viewBox: "0 0 55.7 38.9", style: {
  enableBackground: "new 0 0 55.7 38.9"
}, xmlSpace: "preserve", ...e }, /* @__PURE__ */ d.createElement("style", { type: "text/css" }, ".st0{fill:#FEFEFE;stroke:#CCCCCC;stroke-width:0.5;stroke-miterlimit:2.6131;} .st1{fill:#252422;} .st2{fill:none;stroke:#252422;stroke-width:1.6002;} .st3{fill:none;stroke:#FEFEFE;stroke-width:0.7999;} .st4{fill:#C62631;} .st5{fill:#303C70;}"), /* @__PURE__ */ d.createElement("g", null, /* @__PURE__ */ d.createElement("path", { className: "st0", d: "M3.28,38.65h49.13c1.67,0,3.03-1.37,3.03-3.03V3.28c0-1.67-1.36-3.03-3.03-3.03H3.28 c-1.67,0-3.03,1.36-3.03,3.03v32.33C0.25,37.29,1.61,38.65,3.28,38.65L3.28,38.65z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M12.54,15.01l5.32-7.99L12.54,15.01L12.54,15.01z M10.54,13.68l5.33-7.99L10.54,13.68L10.54,13.68z M8.55,12.35l5.33-7.99L8.55,12.35L8.55,12.35z" }), /* @__PURE__ */ d.createElement("path", { className: "st2", d: "M12.54,15.01l5.32-7.99 M10.54,13.68l5.33-7.99 M8.55,12.35l5.33-7.99" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M41.83,34.54l5.33-7.99L41.83,34.54L41.83,34.54z M39.83,33.21l5.33-7.99L39.83,33.21L39.83,33.21z M37.83,31.88l5.33-7.99L37.83,31.88L37.83,31.88z" }), /* @__PURE__ */ d.createElement("path", { className: "st2", d: "M41.83,34.54l5.33-7.99 M39.83,33.21l5.33-7.99 M37.83,31.88l5.33-7.99" }), /* @__PURE__ */ d.createElement("line", { className: "st3", x1: 39.17, y1: 26.99, x2: 45.82, y2: 31.43 }), /* @__PURE__ */ d.createElement("path", { className: "st4", d: "M19.86,14.13c2.94-4.41,8.9-5.6,13.31-2.66c4.41,2.94,5.6,8.9,2.66,13.31c-2.94,4.41-8.9,5.6-13.31,2.66 C18.11,24.5,16.92,18.54,19.86,14.13L19.86,14.13z" }), /* @__PURE__ */ d.createElement("path", { className: "st5", d: "M19.86,14.13c-1.47,2.21-0.87,5.19,1.33,6.66c2.21,1.47,5.19,0.87,6.66-1.33c1.47-2.21,4.45-2.8,6.66-1.33 c2.21,1.47,2.8,4.45,1.33,6.66c-2.94,4.41-8.9,5.6-13.31,2.66C18.11,24.5,16.92,18.54,19.86,14.13L19.86,14.13z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M17.86,31.88l-5.32-7.99L17.86,31.88L17.86,31.88z M15.87,33.21l-5.33-7.99L15.87,33.21L15.87,33.21z M13.87,34.54l-5.33-7.99L13.87,34.54L13.87,34.54z" }), /* @__PURE__ */ d.createElement("path", { className: "st2", d: "M17.86,31.88l-5.32-7.99 M15.87,33.21l-5.33-7.99 M13.87,34.54l-5.33-7.99" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M47.15,12.35l-5.33-7.99L47.15,12.35L47.15,12.35z M45.16,13.68l-5.33-7.99L45.16,13.68L45.16,13.68z M43.16,15.01l-5.33-7.99L43.16,15.01L43.16,15.01z" }), /* @__PURE__ */ d.createElement("path", { className: "st2", d: "M47.15,12.35l-5.33-7.99 M45.16,13.68l-5.33-7.99 M43.16,15.01l-5.33-7.99" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M43.49,9.02l2-1.33L43.49,9.02L43.49,9.02z M39.17,11.91l2.33-1.55L39.17,11.91L39.17,11.91z M12.21,29.88 l2-1.33L12.21,29.88L12.21,29.88z" }), /* @__PURE__ */ d.createElement("path", { className: "st3", d: "M43.49,9.02l2-1.33 M39.17,11.91l2.33-1.55 M12.21,29.88l2-1.33" }))), _D = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#4D4D4D", d: "M256 0c70.684 0 134.689 28.664 181.013 74.987C483.336 121.311 512 185.316 512 256c0 70.684-28.664 134.69-74.987 181.013C390.689 483.337 326.684 512 256 512c-70.677 0-134.69-28.663-181.013-74.987C28.663 390.69 0 326.676 0 256c0-70.684 28.663-134.689 74.987-181.013C121.31 28.664 185.316 0 256 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M256.001 19.596c65.278 0 124.383 26.466 167.162 69.243 42.777 42.779 69.243 101.884 69.243 167.162s-26.466 124.383-69.246 167.16c-42.776 42.779-101.881 69.245-167.159 69.245-65.278 0-124.383-26.466-167.162-69.242-42.777-42.78-69.243-101.885-69.243-167.163S46.062 131.618 88.839 88.839c42.779-42.777 101.884-69.243 167.162-69.243z" }), /* @__PURE__ */ d.createElement("path", { fill: "#FE0000", d: "M39.62 258.071h243.355V41.265c106.787 13.279 189.433 104.353 189.433 214.736 0 119.518-96.889 216.407-216.407 216.407-118.83 0-215.267-95.773-216.381-214.337z" }), /* @__PURE__ */ d.createElement("path", { fill: "#000095", d: "M39.62 258.071h243.355V41.265a218.685 218.685 0 00-26.974-1.671c-119.521 0-216.407 96.887-216.407 216.407 0 .691.02 1.379.026 2.07z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M218.81 227.888l-8.316-30.956a39.273 39.273 0 01-14.372 8.269l22.688 22.687zm0-60.144c0-19.23-15.617-34.7-34.697-34.7-19.23 0-34.699 15.617-34.699 34.7 0 19.227 15.617 34.697 34.699 34.697a34.614 34.614 0 0034.697-34.697zm-5.509 26.38l30.95 8.317-22.687-22.655a39.294 39.294 0 01-8.263 14.338zm9.264-18.091l31.086-8.289-31.098-8.275c.573 2.669.88 5.438.88 8.275 0 2.846-.301 5.621-.868 8.289zm-1.021-20.34l22.707-22.643-30.997 8.316a39.378 39.378 0 018.29 14.327zm-11.056-17.09l8.322-30.997-22.643 22.708a39.447 39.447 0 0114.321 8.289zm-18.103-9.305l-8.272-31.092-8.289 31.092c2.671-.582 5.44-.88 8.283-.88 2.84 0 5.606.304 8.278.88zm-20.364 1.022l-22.755-22.714 8.411 31.042a39.153 39.153 0 0114.344-8.328zm-17.06 11.053l-30.992-8.329 22.687 22.688a39.334 39.334 0 018.305-14.359zm-9.299 18.087l-31.092 8.284 31.092 8.272a39.168 39.168 0 01-.88-8.272c0-2.843.304-5.612.88-8.284zm1.009 20.338l-22.702 22.643 30.998-8.317a39.456 39.456 0 01-8.296-14.326zm11.065 17.095l-8.322 30.995 22.654-22.705a39.242 39.242 0 01-14.332-8.29zm18.099 9.303l8.272 31.086 8.284-31.086a39.874 39.874 0 01-8.284.873 39.41 39.41 0 01-8.272-.873z" }))), AD = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#FE0000", d: "M176.727 77.926h307.164c15.494 0 28.109 12.616 28.109 28.11v299.927c0 15.494-12.615 28.11-28.109 28.11H28.109C12.615 434.164 0 421.548 0 406.054V256.045h176.727V77.926z" }), /* @__PURE__ */ d.createElement("path", { fill: "#000095", d: "M0 256.045h176.727V77.926H28.109C12.615 77.926 0 90.542 0 106.036v150.009z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M110.63 205.579l-5.337-19.863a25.172 25.172 0 01-9.221 5.305l14.558 14.558zm0-38.593c0-12.339-10.021-22.265-22.265-22.265-12.339 0-22.265 10.021-22.265 22.265 0 12.338 10.021 22.264 22.265 22.264a22.21 22.21 0 0022.265-22.264zm-3.534 16.928l19.859 5.336-14.558-14.536a25.229 25.229 0 01-5.301 9.2zm5.943-11.609l19.947-5.319-19.954-5.309a25.24 25.24 0 01.564 5.309 25.56 25.56 0 01-.557 5.319zm-.656-13.051l14.572-14.53-19.891 5.337a25.242 25.242 0 015.319 9.193zm-7.093-10.967l5.34-19.891-14.53 14.572a25.296 25.296 0 019.19 5.319zm-11.617-5.971l-5.308-19.951-5.319 19.951a25.037 25.037 0 015.316-.565c1.823 0 3.597.196 5.311.565zm-13.067.655l-14.601-14.575 5.397 19.919a25.17 25.17 0 019.204-5.344zm-10.947 7.093l-19.888-5.343 14.558 14.558a25.282 25.282 0 015.33-9.215zm-5.968 11.606l-19.951 5.316 19.951 5.308a25.306 25.306 0 010-10.624zm.649 13.05l-14.569 14.53 19.891-5.336a25.315 25.315 0 01-5.322-9.194zm7.1 10.972l-5.34 19.887 14.537-14.568a25.183 25.183 0 01-9.197-5.319zm11.613 5.967l5.309 19.947 5.315-19.947a25.504 25.504 0 01-5.315.561c-1.82 0-3.598-.192-5.309-.561z" }))), LD = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#999", d: "M256 0c70.68 0 134.69 28.66 181.01 74.99C483.34 121.31 512 185.32 512 256c0 70.68-28.66 134.69-74.99 181.01C390.69 483.34 326.68 512 256 512c-70.68 0-134.69-28.66-181.01-74.99C28.66 390.69 0 326.68 0 256c0-70.68 28.66-134.69 74.99-181.01C121.31 28.66 185.32 0 256 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M256 19.48c65.3 0 124.46 26.48 167.25 69.27l1.09 1.18c42.14 42.71 68.18 101.37 68.18 166.06 0 65.31-26.5 124.46-69.29 167.25l-1.18 1.09c-42.73 42.16-101.4 68.19-166.05 68.19-65.23 0-124.37-26.51-167.18-69.33-42.84-42.74-69.33-101.89-69.33-167.2 0-65.31 26.48-124.45 69.27-167.24C131.55 45.96 190.7 19.48 256 19.48z" }), /* @__PURE__ */ d.createElement("path", { fill: "#A51931", d: "M256 39.59c119.52 0 216.41 96.89 216.41 216.4 0 119.52-96.89 216.42-216.41 216.42-119.51 0-216.4-96.9-216.4-216.42 0-119.51 96.89-216.4 216.4-216.4z" }), /* @__PURE__ */ d.createElement("path", { fill: "#F4F5F8", d: "M94.98 400.56h322.05c34.41-38.32 55.38-89 55.38-144.57 0-55.98-21.26-106.99-56.14-145.4H95.74C60.85 149 39.6 200.01 39.6 255.99c0 55.57 20.97 106.25 55.38 144.57z" }), /* @__PURE__ */ d.createElement("path", { fill: "#2D2A4A", d: "M51.91 328.06H460.1c7.97-22.53 12.31-46.79 12.31-72.07 0-25.59-4.45-50.13-12.61-72.92H52.21c-8.16 22.79-12.61 47.33-12.61 72.92 0 25.28 4.34 49.54 12.31 72.07z" }))), FD = (e) => /* @__PURE__ */ d.createElement("svg", { id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", x: "0px", y: "0px", viewBox: "0 0 55.68 38.88", style: {
  enableBackground: "new 0 0 55.68 38.88"
}, xmlSpace: "preserve", ...e }, /* @__PURE__ */ d.createElement("style", { type: "text/css" }), /* @__PURE__ */ d.createElement("g", null, /* @__PURE__ */ d.createElement("path", { className: "st3", d: "M3.27,0.24h49.13c1.67,0,3.03,1.36,3.03,3.03v32.33c0,1.67-1.37,3.03-3.03,3.03H3.27 c-1.67,0-3.03-1.37-3.03-3.03V3.27C0.24,1.6,1.6,0.24,3.27,0.24L3.27,0.24z" }), /* @__PURE__ */ d.createElement("polygon", { className: "st0", points: "0.24,5.59 55.44,5.59 55.44,33.29 0.24,33.29 0.24,5.59" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "0.24,12.52 55.44,12.52 55.44,26.36 0.24,26.36 0.24,12.52" }), /* @__PURE__ */ d.createElement("path", { className: "st2", d: "M3.27,0.24h49.13c1.67,0,3.03,1.36,3.03,3.03v32.33c0,1.67-1.37,3.03-3.03,3.03H3.27 c-1.67,0-3.03-1.37-3.03-3.03V3.27C0.24,1.6,1.6,0.24,3.27,0.24L3.27,0.24z" }))), jD = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#999", d: "M256 0c70.68 0 134.69 28.66 181.01 74.99C483.34 121.31 512 185.32 512 256c0 70.68-28.66 134.69-74.99 181.01C390.69 483.34 326.68 512 256 512c-70.68 0-134.69-28.66-181.01-74.99C28.66 390.69 0 326.68 0 256c0-70.68 28.66-134.69 74.99-181.01C121.31 28.66 185.32 0 256 0z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M256 19.48c65.3 0 124.46 26.48 167.25 69.27l1.09 1.18c42.14 42.71 68.18 101.37 68.18 166.06 0 65.31-26.5 124.46-69.29 167.25l-1.18 1.09c-42.73 42.16-101.4 68.19-166.05 68.19-65.23 0-124.37-26.51-167.18-69.33-42.84-42.74-69.33-101.89-69.33-167.2 0-65.31 26.48-124.45 69.27-167.24C131.55 45.96 190.7 19.48 256 19.48z" }), /* @__PURE__ */ d.createElement("path", { fill: "#FEFEFE", d: "M256 39.59c119.52 0 216.41 96.89 216.41 216.4 0 119.52-96.89 216.42-216.41 216.42-119.51 0-216.4-96.9-216.4-216.42 0-119.51 96.89-216.4 216.4-216.4z" }), /* @__PURE__ */ d.createElement("path", { fill: "#012169", d: "M183.49 179.55V52.05c-41.32 14.7-76.85 41.61-102.27 76.35l102.27 51.15zm0 152.9v127.5c-41.3-14.7-76.82-41.59-102.26-76.35l102.26-51.15zm144.55 0v127.67c41.45-14.63 77.09-41.54 102.61-76.34l-102.61-51.33zm0-152.9V51.88c41.45 14.63 77.11 41.54 102.62 76.35l-102.62 51.32z" }), /* @__PURE__ */ d.createElement("path", { fill: "#C8102E", d: "M448.3 328.16h-48.11l49.35 24.72c3.21-6.41 6.11-13 8.69-19.75l-9.93-4.97zm-9.34-187.76-86.42 43.33h48.11l48.95-24.5c-3.23-6.46-6.79-12.75-10.64-18.83zM212.41 299.26v168.75c14.08 2.87 28.66 4.4 43.59 4.4 14.76 0 29.19-1.49 43.13-4.3V299.26h168.94c2.83-13.98 4.34-28.44 4.34-43.27 0-14.88-1.51-29.42-4.37-43.47H299.13V43.9A217.404 217.404 0 0 0 256 39.59c-14.93 0-29.51 1.54-43.59 4.4v168.53H43.97a217.777 217.777 0 0 0-4.37 43.47c0 14.83 1.51 29.29 4.34 43.27h168.47zM63.12 183.84h48.11l-48.89-24.48c-3.2 6.41-6.11 13.02-8.68 19.76l9.46 4.72zm95.87 144.43h-48.11l-48.57 24.31A216.76 216.76 0 0 0 73 371.52l86.43-43.25h-.44z" }))), VD = (e) => /* @__PURE__ */ d.createElement("svg", { id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", x: "0px", y: "0px", viewBox: "0 0 55.2 38.4", style: {
  enableBackground: "new 0 0 55.2 38.4"
}, xmlSpace: "preserve", ...e }, /* @__PURE__ */ d.createElement("style", { type: "text/css" }, ".st0{fill:#FEFEFE;} .st1{fill:#C8102E;} .st2{fill:#012169;}"), /* @__PURE__ */ d.createElement("g", null, /* @__PURE__ */ d.createElement("path", { className: "st0", d: "M2.87,38.4h49.46c1.59-0.09,2.87-1.42,2.87-3.03V3.03c0-1.66-1.35-3.02-3.01-3.03H3.01 C1.35,0.01,0,1.37,0,3.03v32.33C0,36.98,1.28,38.31,2.87,38.4L2.87,38.4z" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "23.74,23.03 23.74,38.4 31.42,38.4 31.42,23.03 55.2,23.03 55.2,15.35 31.42,15.35 31.42,0 23.74,0 23.74,15.35 0,15.35 0,23.03 23.74,23.03" }), /* @__PURE__ */ d.createElement("path", { className: "st2", d: "M33.98,12.43V0h18.23c1.26,0.02,2.34,0.81,2.78,1.92L33.98,12.43L33.98,12.43z" }), /* @__PURE__ */ d.createElement("path", { className: "st2", d: "M33.98,25.97V38.4h18.35c1.21-0.07,2.23-0.85,2.66-1.92L33.98,25.97L33.98,25.97z" }), /* @__PURE__ */ d.createElement("path", { className: "st2", d: "M21.18,25.97V38.4H2.87c-1.21-0.07-2.24-0.85-2.66-1.94L21.18,25.97L21.18,25.97z" }), /* @__PURE__ */ d.createElement("path", { className: "st2", d: "M21.18,12.43V0H2.99C1.73,0.02,0.64,0.82,0.21,1.94L21.18,12.43L21.18,12.43z" }), /* @__PURE__ */ d.createElement("polygon", { className: "st2", points: "0,12.8 7.65,12.8 0,8.97 0,12.8" }), /* @__PURE__ */ d.createElement("polygon", { className: "st2", points: "55.2,12.8 47.51,12.8 55.2,8.95 55.2,12.8" }), /* @__PURE__ */ d.createElement("polygon", { className: "st2", points: "55.2,25.6 47.51,25.6 55.2,29.45 55.2,25.6" }), /* @__PURE__ */ d.createElement("polygon", { className: "st2", points: "0,25.6 7.65,25.6 0,29.43 0,25.6" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "55.2,3.25 36.15,12.8 40.41,12.8 55.2,5.4 55.2,3.25" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "19.01,25.6 14.75,25.6 0,32.98 0,35.13 19.05,25.6 19.01,25.6" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "10.52,12.81 14.78,12.81 0,5.41 0,7.55 10.52,12.81" }), /* @__PURE__ */ d.createElement("polygon", { className: "st1", points: "44.63,25.59 40.37,25.59 55.2,33.02 55.2,30.88 44.63,25.59" }))), zD = (e) => /* @__PURE__ */ d.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", imageRendering: "optimizeQuality", fillRule: "evenodd", clipRule: "evenodd", viewBox: "0 0 512 512", ...e }, /* @__PURE__ */ d.createElement("g", { fillRule: "nonzero" }, /* @__PURE__ */ d.createElement("path", { fill: "#4D4D4D", d: "M256-.001c70.684 0 134.69 28.664 181.013 74.988C483.337 121.31 512.001 185.316 512.001 256c0 70.684-28.664 134.69-74.988 181.013C390.69 483.337 326.684 512.001 256 512.001c-70.677 0-134.69-28.664-181.013-74.988C28.663 390.69-.001 326.676-.001 256c0-70.684 28.664-134.69 74.988-181.013C121.31 28.663 185.316-.001 256-.001z" }), /* @__PURE__ */ d.createElement("path", { fill: "#fff", d: "M256.001 19.596c65.278 0 124.383 26.466 167.163 69.243 42.776 42.779 69.243 101.884 69.243 167.162s-26.467 124.383-69.246 167.16c-42.777 42.779-101.882 69.246-167.16 69.246-65.278 0-124.383-26.467-167.162-69.243-42.777-42.78-69.243-101.885-69.243-167.163S46.062 131.618 88.839 88.839c42.779-42.777 101.884-69.243 167.162-69.243z" }), /* @__PURE__ */ d.createElement("path", { fill: "#DA251D", d: "M256.001 39.594c119.518 0 216.408 96.886 216.408 216.407 0 119.518-96.89 216.408-216.408 216.408-119.521 0-216.407-96.89-216.407-216.408 0-119.521 96.886-216.407 216.407-216.407z" }), /* @__PURE__ */ d.createElement("path", { fill: "#ff0", d: "M252.273 294.553l51.249 37.218-19.567-60.264 51.271-37.235h-63.365l-19.588-60.337-19.589 60.337H169.32l51.271 37.235-19.567 60.264z" }))), BD = (e) => /* @__PURE__ */ d.createElement("svg", { id: "Layer_1", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", x: "0px", y: "0px", viewBox: "0 0 55.2 38.4", style: {
  enableBackground: "new 0 0 55.2 38.4"
}, xmlSpace: "preserve", ...e }, /* @__PURE__ */ d.createElement("style", { type: "text/css" }, ".st0{fill:#DA251D;} .st1{fill:#FFFF00;}"), /* @__PURE__ */ d.createElement("g", null, /* @__PURE__ */ d.createElement("path", { className: "st0", d: "M3.01,0h49.17c1.66,0.01,3.01,1.37,3.01,3.03v32.33c0,1.66-1.35,3.02-3.01,3.03H3.01 C1.35,38.39,0,37.03,0,35.37V3.03C0,1.37,1.35,0.01,3.01,0L3.01,0z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M27.6,11.52l-2.37,7.3l4.87,1.58L27.6,11.52L27.6,11.52z M27.6,11.52L27.6,11.52L27.6,11.52L27.6,11.52z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M27.6,11.52l2.37,7.3l-4.87,1.58L27.6,11.52L27.6,11.52z M27.6,11.52L27.6,11.52L27.6,11.52L27.6,11.52z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M34.9,16.83h-7.68v5.12L34.9,16.83L34.9,16.83z M34.9,16.83L34.9,16.83L34.9,16.83L34.9,16.83z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M34.9,16.83l-6.21,4.51l-3.01-4.14L34.9,16.83L34.9,16.83z M34.9,16.83L34.9,16.83L34.9,16.83L34.9,16.83z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M32.11,25.41l-2.37-7.3l-4.87,1.58L32.11,25.41L32.11,25.41z M32.11,25.41L32.11,25.41L32.11,25.41 L32.11,25.41z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M32.11,25.41L25.9,20.9l3.01-4.14L32.11,25.41L32.11,25.41z M32.11,25.41L32.11,25.41L32.11,25.41L32.11,25.41 z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M20.3,16.83h7.68v5.12L20.3,16.83L20.3,16.83z M20.3,16.83L20.3,16.83L20.3,16.83L20.3,16.83z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M20.3,16.83l6.21,4.51l3.01-4.14L20.3,16.83L20.3,16.83z M20.3,16.83L20.3,16.83L20.3,16.83L20.3,16.83z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M23.09,25.41l2.37-7.3l4.87,1.58L23.09,25.41L23.09,25.41z M23.09,25.41L23.09,25.41L23.09,25.41L23.09,25.41z" }), /* @__PURE__ */ d.createElement("path", { className: "st1", d: "M23.09,25.41l6.21-4.51l-3.01-4.14L23.09,25.41L23.09,25.41z M23.09,25.41L23.09,25.41L23.09,25.41 L23.09,25.41z" }))), O1 = (e, t = !0, o = !1) => {
  const r = document.createElement("script");
  return r.src = e, r.async = t, o && (r.defer = o), document.head.appendChild(r), r;
}, P7 = (e) => {
  O1(`https://www.googletagmanager.com/gtag/js?id=${e}`);
  const t = document.createElement("script");
  t.innerHTML = `
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', '${e}');
  `, document.head.appendChild(t);
}, R7 = (e) => {
  O1(`https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=${e}`, !0, !1);
}, k7 = async (e) => {
  try {
    const t = await fetch("http://ip-api.com/json");
    if (!t.ok)
      throw new Error("Failed to fetch IP info");
    const o = await t.json();
    window.gtag && (window.gtag("config", e, {
      custom_map: {
        dimension1: "ip_address",
        dimension2: "isp",
        dimension3: "organization"
      }
    }), window.gtag("event", "ip_info", {
      ip_address: o.ip,
      isp: o.isp,
      organization: o.org
    }));
  } catch (t) {
    console.error("Error fetching or sending IP info:", t);
  }
}, WD = () => {
  const e = qa().tracking;
  e.googleAnalyticsId && (P7(e.googleAnalyticsId), k7(e.googleAnalyticsId)), e.googleAdsenseId && R7(e.googleAdsenseId);
}, zl = {
  light: {
    colors: {
      backgroundPrimary: "255, 255, 255",
      textPrimary: "30, 30, 30",
      primary: "59, 130, 246",
      surfacePrimary: "255, 255, 255",
      // shadowLight:
      //   "0 4px 6px -1px rgba(255, 255, 255, 0.5), 0 2px 4px -1px rgba(0, 0, 0, 0.5)",
      // shadowDark:
      //   "0 4px 6px -1px rgba(255, 255, 255, 0.5), 0 2px 4px -1px rgba(0, 0, 0, 0.5)",
      shadowLight: "0 0 10px rgba(0, 0, 0, 0.5)",
      shadowDark: "0 0 10px rgba(0, 0, 0, 0.5)",
      border: "220, 220, 220"
    },
    glass: {
      blurAmount: 0.0625,
      saturation: 140,
      aberrationIntensity: 2,
      elasticity: 0.15,
      displacementScale: 70,
      frostedOpacity: 0.4,
      // Decreased opacity for more background visibility
      frostedBlur: "3px"
      // Slightly reduced blur
    }
  },
  dark: {
    colors: {
      backgroundPrimary: "20, 20, 20",
      textPrimary: "240, 240, 240",
      primary: "103, 232, 249",
      surfacePrimary: "30, 30, 30",
      // shadowLight:
      //   "0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -1px rgba(255, 255, 255, 0.5)",
      // shadowDark:
      //   "0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -1px rgba(255, 255, 255, 0.5)",
      shadowLight: "0 0 10px rgba(255, 255, 255, 0.5)",
      shadowDark: "0 0 10px rgba(255, 255, 255, 0.5)",
      border: "50, 50, 50"
    },
    glass: {
      blurAmount: 0.1,
      saturation: 120,
      aberrationIntensity: 1.5,
      elasticity: 0.15,
      displacementScale: 70,
      frostedOpacity: 0.4,
      // Increased opacity for better visibility
      frostedBlur: "3px"
      // Slightly reduced blur
    }
  },
  hacker: {
    colors: {
      backgroundPrimary: "0, 0, 0",
      textPrimary: "0, 255, 0",
      primary: "0, 255, 0",
      surfacePrimary: "10, 10, 10",
      shadowLight: "0 0 10px rgba(0, 255, 0, 0.5)",
      shadowDark: "0 0 10px rgba(0, 255, 0, 0.5)",
      border: "0, 100, 0"
    },
    glass: {
      blurAmount: 0.08,
      saturation: 150,
      aberrationIntensity: 2.5,
      elasticity: 0.2,
      displacementScale: 80,
      frostedOpacity: 0.4,
      frostedBlur: "3px"
    }
  }
}, UD = ({ children: e, initialTheme: t }) => {
  const [o, r] = os(() => {
    if (t)
      return t;
    const c = localStorage.getItem("theme");
    return c && (c === "light" || c === "dark" || c === "hacker") ? c : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
  });
  ly(() => {
    const c = window.document.documentElement;
    Object.keys(zl).forEach((p) => c.classList.remove(p)), c.classList.add(o), localStorage.setItem("theme", o);
    const u = zl[o];
    for (const p in u.colors)
      c.style.setProperty(`--color-${p.replace(/([A-Z])/g, "-$1").toLowerCase()}`, u.colors[p]);
    c.style.setProperty("--backdrop-filter-blur", `blur(${u.glass.frostedBlur})`);
  }, [o]);
  const a = cy(() => {
    r((c) => c === "light" ? "dark" : c === "dark" ? "hacker" : "light");
  }, []), i = dl(() => zl[o], [o]), s = dl(() => {
    const c = i.colors, u = (p) => {
      const [f, g, v] = p.split(", ").map(Number);
      return (0.299 * f + 0.587 * g + 0.114 * v) / 255 > 0.5 ? "#000" : "#fff";
    };
    return Vc({
      palette: {
        primary: {
          main: `rgb(${c.primary})`,
          contrastText: u(c.primary)
        },
        secondary: {
          main: `rgb(${c.surfacePrimary})`,
          contrastText: u(c.surfacePrimary)
        },
        text: {
          primary: `rgb(${c.textPrimary})`
        },
        background: {
          default: `rgb(${c.backgroundPrimary})`,
          paper: `rgb(${c.surfacePrimary})`
        },
        action: {
          active: `rgb(${c.primary})`,
          hover: `rgba(${c.primary}, 0.08)`
        }
      }
    });
  }, [i]), l = dl(() => ({ theme: o, toggleTheme: a }), [o, a]);
  return /* @__PURE__ */ x(ed.Provider, { value: l, children: /* @__PURE__ */ x(ph, { theme: s, children: e }) });
};
export {
  bD as AboutPage,
  N7 as BlurOverlay,
  CD as ChinaCir,
  TD as ChinaRec,
  yD as ContactPage,
  _7 as Container,
  vD as DonationPage,
  A7 as FlexContainer,
  hD as Footer,
  wD as FranceCir,
  OD as FranceRec,
  L7 as FrostedButton,
  ED as GermanyCir,
  SD as GermanyRec,
  F7 as GlassPanel,
  gD as Header,
  PD as IndiaCir,
  RD as IndiaRec,
  kD as JapanCir,
  MD as JapanRec,
  JM as MobileDrawer,
  eD as Navbar,
  xD as NotFoundPage,
  $D as RussiaCir,
  DD as RussiaRec,
  ID as SouthKoreaCir,
  ND as SouthKoreaRec,
  Gx as Spacer,
  _D as TaiwanCir,
  AD as TaiwanRec,
  LD as ThailandCir,
  FD as ThailandRec,
  UD as ThemeProvider,
  tD as ThemedAccordion,
  j7 as ThemedAlert,
  V7 as ThemedAvatar,
  z7 as ThemedBadge,
  nD as ThemedBreadcrumbs,
  un as ThemedButton,
  oD as ThemedCard,
  rD as ThemedCarousel,
  B7 as ThemedCheckbox,
  aD as ThemedDataTable,
  W7 as ThemedDatePicker,
  iD as ThemedDialog,
  U7 as ThemedFileUpload,
  Zs as ThemedInput,
  Rr as ThemedLink,
  sD as ThemedList,
  lD as ThemedListItem,
  cD as ThemedPagination,
  H7 as ThemedProgressBar,
  q7 as ThemedRadio,
  $b as ThemedSelect,
  Y7 as ThemedSlider,
  uD as ThemedSnackbar,
  K7 as ThemedSpinner,
  G7 as ThemedSwitch,
  fD as ThemedTab,
  dD as ThemedTable,
  pD as ThemedTabs,
  X7 as ThemedTextarea,
  Z7 as ThemedTooltip,
  Q7 as ThemedTypography,
  J7 as TransparentInput,
  jD as UkCir,
  VD as UkRec,
  zD as VietnamCir,
  BD as VietnamRec,
  qa as getConfig,
  WD as initTracking,
  mD as initialize,
  zl as themes
};