(function () {
  var Gn = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, ll = { exports: {} }, Yi = {}, La = { exports: {} }, ot = {};
  /**
   * @license React
   * react.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 tl;
  function zd() {
    if (tl)
      return ot;
    tl = 1;
    var he = Symbol.for("react.element"), Oe = Symbol.for("react.portal"), Q = Symbol.for("react.fragment"), ke = Symbol.for("react.strict_mode"), Ie = Symbol.for("react.profiler"), Te = Symbol.for("react.provider"), je = Symbol.for("react.context"), pe = Symbol.for("react.forward_ref"), _ = Symbol.for("react.suspense"), U = Symbol.for("react.memo"), L = Symbol.for("react.lazy"), h = Symbol.iterator;
    function p(w) {
      return w === null || typeof w != "object" ? null : (w = h && w[h] || w["@@iterator"], typeof w == "function" ? w : null);
    }
    var c = { isMounted: function() {
      return !1;
    }, enqueueForceUpdate: function() {
    }, enqueueReplaceState: function() {
    }, enqueueSetState: function() {
    } }, o = Object.assign, r = {};
    function s(w, b, N) {
      this.props = w, this.context = b, this.refs = r, this.updater = N || c;
    }
    s.prototype.isReactComponent = {}, s.prototype.setState = function(w, b) {
      if (typeof w != "object" && typeof w != "function" && w != null)
        throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");
      this.updater.enqueueSetState(this, w, b, "setState");
    }, s.prototype.forceUpdate = function(w) {
      this.updater.enqueueForceUpdate(this, w, "forceUpdate");
    };
    function d() {
    }
    d.prototype = s.prototype;
    function a(w, b, N) {
      this.props = w, this.context = b, this.refs = r, this.updater = N || c;
    }
    var u = a.prototype = new d();
    u.constructor = a, o(u, s.prototype), u.isPureReactComponent = !0;
    var l = Array.isArray, m = Object.prototype.hasOwnProperty, v = { current: null }, C = { key: !0, ref: !0, __self: !0, __source: !0 };
    function E(w, b, N) {
      var W, X = {}, oe = null, Ee = null;
      if (b != null)
        for (W in b.ref !== void 0 && (Ee = b.ref), b.key !== void 0 && (oe = "" + b.key), b)
          m.call(b, W) && !C.hasOwnProperty(W) && (X[W] = b[W]);
      var ee = arguments.length - 2;
      if (ee === 1)
        X.children = N;
      else if (1 < ee) {
        for (var ce = Array(ee), _e = 0; _e < ee; _e++)
          ce[_e] = arguments[_e + 2];
        X.children = ce;
      }
      if (w && w.defaultProps)
        for (W in ee = w.defaultProps, ee)
          X[W] === void 0 && (X[W] = ee[W]);
      return { $$typeof: he, type: w, key: oe, ref: Ee, props: X, _owner: v.current };
    }
    function k(w, b) {
      return { $$typeof: he, type: w.type, key: b, ref: w.ref, props: w.props, _owner: w._owner };
    }
    function O(w) {
      return typeof w == "object" && w !== null && w.$$typeof === he;
    }
    function P(w) {
      var b = { "=": "=0", ":": "=2" };
      return "$" + w.replace(/[=:]/g, function(N) {
        return b[N];
      });
    }
    var z = /\/+/g;
    function R(w, b) {
      return typeof w == "object" && w !== null && w.key != null ? P("" + w.key) : b.toString(36);
    }
    function q(w, b, N, W, X) {
      var oe = typeof w;
      (oe === "undefined" || oe === "boolean") && (w = null);
      var Ee = !1;
      if (w === null)
        Ee = !0;
      else
        switch (oe) {
          case "string":
          case "number":
            Ee = !0;
            break;
          case "object":
            switch (w.$$typeof) {
              case he:
              case Oe:
                Ee = !0;
            }
        }
      if (Ee)
        return Ee = w, X = X(Ee), w = W === "" ? "." + R(Ee, 0) : W, l(X) ? (N = "", w != null && (N = w.replace(z, "$&/") + "/"), q(X, b, N, "", function(_e) {
          return _e;
        })) : X != null && (O(X) && (X = k(X, N + (!X.key || Ee && Ee.key === X.key ? "" : ("" + X.key).replace(z, "$&/") + "/") + w)), b.push(X)), 1;
      if (Ee = 0, W = W === "" ? "." : W + ":", l(w))
        for (var ee = 0; ee < w.length; ee++) {
          oe = w[ee];
          var ce = W + R(oe, ee);
          Ee += q(oe, b, N, ce, X);
        }
      else if (ce = p(w), typeof ce == "function")
        for (w = ce.call(w), ee = 0; !(oe = w.next()).done; )
          oe = oe.value, ce = W + R(oe, ee++), Ee += q(oe, b, N, ce, X);
      else if (oe === "object")
        throw b = String(w), Error("Objects are not valid as a React child (found: " + (b === "[object Object]" ? "object with keys {" + Object.keys(w).join(", ") + "}" : b) + "). If you meant to render a collection of children, use an array instead.");
      return Ee;
    }
    function F(w, b, N) {
      if (w == null)
        return w;
      var W = [], X = 0;
      return q(w, W, "", "", function(oe) {
        return b.call(N, oe, X++);
      }), W;
    }
    function ae(w) {
      if (w._status === -1) {
        var b = w._result;
        b = b(), b.then(function(N) {
          (w._status === 0 || w._status === -1) && (w._status = 1, w._result = N);
        }, function(N) {
          (w._status === 0 || w._status === -1) && (w._status = 2, w._result = N);
        }), w._status === -1 && (w._status = 0, w._result = b);
      }
      if (w._status === 1)
        return w._result.default;
      throw w._result;
    }
    var Ae = { current: null }, me = { transition: null }, Ne = { ReactCurrentDispatcher: Ae, ReactCurrentBatchConfig: me, ReactCurrentOwner: v };
    function se() {
      throw Error("act(...) is not supported in production builds of React.");
    }
    return ot.Children = { map: F, forEach: function(w, b, N) {
      F(w, function() {
        b.apply(this, arguments);
      }, N);
    }, count: function(w) {
      var b = 0;
      return F(w, function() {
        b++;
      }), b;
    }, toArray: function(w) {
      return F(w, function(b) {
        return b;
      }) || [];
    }, only: function(w) {
      if (!O(w))
        throw Error("React.Children.only expected to receive a single React element child.");
      return w;
    } }, ot.Component = s, ot.Fragment = Q, ot.Profiler = Ie, ot.PureComponent = a, ot.StrictMode = ke, ot.Suspense = _, ot.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Ne, ot.act = se, ot.cloneElement = function(w, b, N) {
      if (w == null)
        throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + w + ".");
      var W = o({}, w.props), X = w.key, oe = w.ref, Ee = w._owner;
      if (b != null) {
        if (b.ref !== void 0 && (oe = b.ref, Ee = v.current), b.key !== void 0 && (X = "" + b.key), w.type && w.type.defaultProps)
          var ee = w.type.defaultProps;
        for (ce in b)
          m.call(b, ce) && !C.hasOwnProperty(ce) && (W[ce] = b[ce] === void 0 && ee !== void 0 ? ee[ce] : b[ce]);
      }
      var ce = arguments.length - 2;
      if (ce === 1)
        W.children = N;
      else if (1 < ce) {
        ee = Array(ce);
        for (var _e = 0; _e < ce; _e++)
          ee[_e] = arguments[_e + 2];
        W.children = ee;
      }
      return { $$typeof: he, type: w.type, key: X, ref: oe, props: W, _owner: Ee };
    }, ot.createContext = function(w) {
      return w = { $$typeof: je, _currentValue: w, _currentValue2: w, _threadCount: 0, Provider: null, Consumer: null, _defaultValue: null, _globalName: null }, w.Provider = { $$typeof: Te, _context: w }, w.Consumer = w;
    }, ot.createElement = E, ot.createFactory = function(w) {
      var b = E.bind(null, w);
      return b.type = w, b;
    }, ot.createRef = function() {
      return { current: null };
    }, ot.forwardRef = function(w) {
      return { $$typeof: pe, render: w };
    }, ot.isValidElement = O, ot.lazy = function(w) {
      return { $$typeof: L, _payload: { _status: -1, _result: w }, _init: ae };
    }, ot.memo = function(w, b) {
      return { $$typeof: U, type: w, compare: b === void 0 ? null : b };
    }, ot.startTransition = function(w) {
      var b = me.transition;
      me.transition = {};
      try {
        w();
      } finally {
        me.transition = b;
      }
    }, ot.unstable_act = se, ot.useCallback = function(w, b) {
      return Ae.current.useCallback(w, b);
    }, ot.useContext = function(w) {
      return Ae.current.useContext(w);
    }, ot.useDebugValue = function() {
    }, ot.useDeferredValue = function(w) {
      return Ae.current.useDeferredValue(w);
    }, ot.useEffect = function(w, b) {
      return Ae.current.useEffect(w, b);
    }, ot.useId = function() {
      return Ae.current.useId();
    }, ot.useImperativeHandle = function(w, b, N) {
      return Ae.current.useImperativeHandle(w, b, N);
    }, ot.useInsertionEffect = function(w, b) {
      return Ae.current.useInsertionEffect(w, b);
    }, ot.useLayoutEffect = function(w, b) {
      return Ae.current.useLayoutEffect(w, b);
    }, ot.useMemo = function(w, b) {
      return Ae.current.useMemo(w, b);
    }, ot.useReducer = function(w, b, N) {
      return Ae.current.useReducer(w, b, N);
    }, ot.useRef = function(w) {
      return Ae.current.useRef(w);
    }, ot.useState = function(w) {
      return Ae.current.useState(w);
    }, ot.useSyncExternalStore = function(w, b, N) {
      return Ae.current.useSyncExternalStore(w, b, N);
    }, ot.useTransition = function() {
      return Ae.current.useTransition();
    }, ot.version = "18.3.1", ot;
  }
  var nl;
  function za() {
    return nl || (nl = 1, La.exports = zd()), La.exports;
  }
  /**
   * @license React
   * react-jsx-runtime.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 rl;
  function Wd() {
    if (rl)
      return Yi;
    rl = 1;
    var he = za(), Oe = Symbol.for("react.element"), Q = Symbol.for("react.fragment"), ke = Object.prototype.hasOwnProperty, Ie = he.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, Te = { key: !0, ref: !0, __self: !0, __source: !0 };
    function je(pe, _, U) {
      var L, h = {}, p = null, c = null;
      U !== void 0 && (p = "" + U), _.key !== void 0 && (p = "" + _.key), _.ref !== void 0 && (c = _.ref);
      for (L in _)
        ke.call(_, L) && !Te.hasOwnProperty(L) && (h[L] = _[L]);
      if (pe && pe.defaultProps)
        for (L in _ = pe.defaultProps, _)
          h[L] === void 0 && (h[L] = _[L]);
      return { $$typeof: Oe, type: pe, key: p, ref: c, props: h, _owner: Ie.current };
    }
    return Yi.Fragment = Q, Yi.jsx = je, Yi.jsxs = je, Yi;
  }
  ll.exports = Wd();
  var ze = ll.exports, Ua = {}, dl = { exports: {} }, an = {}, Ma = { exports: {} }, Da = {};
  /**
   * @license React
   * scheduler.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 il;
  function qd() {
    return il || (il = 1, function(he) {
      function Oe(me, Ne) {
        var se = me.length;
        me.push(Ne);
        e:
          for (; 0 < se; ) {
            var w = se - 1 >>> 1, b = me[w];
            if (0 < Ie(b, Ne))
              me[w] = Ne, me[se] = b, se = w;
            else
              break e;
          }
      }
      function Q(me) {
        return me.length === 0 ? null : me[0];
      }
      function ke(me) {
        if (me.length === 0)
          return null;
        var Ne = me[0], se = me.pop();
        if (se !== Ne) {
          me[0] = se;
          e:
            for (var w = 0, b = me.length, N = b >>> 1; w < N; ) {
              var W = 2 * (w + 1) - 1, X = me[W], oe = W + 1, Ee = me[oe];
              if (0 > Ie(X, se))
                oe < b && 0 > Ie(Ee, X) ? (me[w] = Ee, me[oe] = se, w = oe) : (me[w] = X, me[W] = se, w = W);
              else if (oe < b && 0 > Ie(Ee, se))
                me[w] = Ee, me[oe] = se, w = oe;
              else
                break e;
            }
        }
        return Ne;
      }
      function Ie(me, Ne) {
        var se = me.sortIndex - Ne.sortIndex;
        return se !== 0 ? se : me.id - Ne.id;
      }
      if (typeof performance == "object" && typeof performance.now == "function") {
        var Te = performance;
        he.unstable_now = function() {
          return Te.now();
        };
      } else {
        var je = Date, pe = je.now();
        he.unstable_now = function() {
          return je.now() - pe;
        };
      }
      var _ = [], U = [], L = 1, h = null, p = 3, c = !1, o = !1, r = !1, s = typeof setTimeout == "function" ? setTimeout : null, d = typeof clearTimeout == "function" ? clearTimeout : null, a = typeof setImmediate < "u" ? setImmediate : null;
      typeof navigator < "u" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 && navigator.scheduling.isInputPending.bind(navigator.scheduling);
      function u(me) {
        for (var Ne = Q(U); Ne !== null; ) {
          if (Ne.callback === null)
            ke(U);
          else if (Ne.startTime <= me)
            ke(U), Ne.sortIndex = Ne.expirationTime, Oe(_, Ne);
          else
            break;
          Ne = Q(U);
        }
      }
      function l(me) {
        if (r = !1, u(me), !o)
          if (Q(_) !== null)
            o = !0, ae(m);
          else {
            var Ne = Q(U);
            Ne !== null && Ae(l, Ne.startTime - me);
          }
      }
      function m(me, Ne) {
        o = !1, r && (r = !1, d(E), E = -1), c = !0;
        var se = p;
        try {
          for (u(Ne), h = Q(_); h !== null && (!(h.expirationTime > Ne) || me && !P()); ) {
            var w = h.callback;
            if (typeof w == "function") {
              h.callback = null, p = h.priorityLevel;
              var b = w(h.expirationTime <= Ne);
              Ne = he.unstable_now(), typeof b == "function" ? h.callback = b : h === Q(_) && ke(_), u(Ne);
            } else
              ke(_);
            h = Q(_);
          }
          if (h !== null)
            var N = !0;
          else {
            var W = Q(U);
            W !== null && Ae(l, W.startTime - Ne), N = !1;
          }
          return N;
        } finally {
          h = null, p = se, c = !1;
        }
      }
      var v = !1, C = null, E = -1, k = 5, O = -1;
      function P() {
        return !(he.unstable_now() - O < k);
      }
      function z() {
        if (C !== null) {
          var me = he.unstable_now();
          O = me;
          var Ne = !0;
          try {
            Ne = C(!0, me);
          } finally {
            Ne ? R() : (v = !1, C = null);
          }
        } else
          v = !1;
      }
      var R;
      if (typeof a == "function")
        R = function() {
          a(z);
        };
      else if (typeof MessageChannel < "u") {
        var q = new MessageChannel(), F = q.port2;
        q.port1.onmessage = z, R = function() {
          F.postMessage(null);
        };
      } else
        R = function() {
          s(z, 0);
        };
      function ae(me) {
        C = me, v || (v = !0, R());
      }
      function Ae(me, Ne) {
        E = s(function() {
          me(he.unstable_now());
        }, Ne);
      }
      he.unstable_IdlePriority = 5, he.unstable_ImmediatePriority = 1, he.unstable_LowPriority = 4, he.unstable_NormalPriority = 3, he.unstable_Profiling = null, he.unstable_UserBlockingPriority = 2, he.unstable_cancelCallback = function(me) {
        me.callback = null;
      }, he.unstable_continueExecution = function() {
        o || c || (o = !0, ae(m));
      }, he.unstable_forceFrameRate = function(me) {
        0 > me || 125 < me ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : k = 0 < me ? Math.floor(1e3 / me) : 5;
      }, he.unstable_getCurrentPriorityLevel = function() {
        return p;
      }, he.unstable_getFirstCallbackNode = function() {
        return Q(_);
      }, he.unstable_next = function(me) {
        switch (p) {
          case 1:
          case 2:
          case 3:
            var Ne = 3;
            break;
          default:
            Ne = p;
        }
        var se = p;
        p = Ne;
        try {
          return me();
        } finally {
          p = se;
        }
      }, he.unstable_pauseExecution = function() {
      }, he.unstable_requestPaint = function() {
      }, he.unstable_runWithPriority = function(me, Ne) {
        switch (me) {
          case 1:
          case 2:
          case 3:
          case 4:
          case 5:
            break;
          default:
            me = 3;
        }
        var se = p;
        p = me;
        try {
          return Ne();
        } finally {
          p = se;
        }
      }, he.unstable_scheduleCallback = function(me, Ne, se) {
        var w = he.unstable_now();
        switch (typeof se == "object" && se !== null ? (se = se.delay, se = typeof se == "number" && 0 < se ? w + se : w) : se = w, me) {
          case 1:
            var b = -1;
            break;
          case 2:
            b = 250;
            break;
          case 5:
            b = 1073741823;
            break;
          case 4:
            b = 1e4;
            break;
          default:
            b = 5e3;
        }
        return b = se + b, me = { id: L++, callback: Ne, priorityLevel: me, startTime: se, expirationTime: b, sortIndex: -1 }, se > w ? (me.sortIndex = se, Oe(U, me), Q(_) === null && me === Q(U) && (r ? (d(E), E = -1) : r = !0, Ae(l, se - w))) : (me.sortIndex = b, Oe(_, me), o || c || (o = !0, ae(m))), me;
      }, he.unstable_shouldYield = P, he.unstable_wrapCallback = function(me) {
        var Ne = p;
        return function() {
          var se = p;
          p = Ne;
          try {
            return me.apply(this, arguments);
          } finally {
            p = se;
          }
        };
      };
    }(Da)), Da;
  }
  var ol;
  function Bd() {
    return ol || (ol = 1, Ma.exports = qd()), Ma.exports;
  }
  /**
   * @license React
   * react-dom.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 sl;
  function Hd() {
    if (sl)
      return an;
    sl = 1;
    var he = za(), Oe = Bd();
    function Q(e) {
      for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++)
        t += "&args[]=" + encodeURIComponent(arguments[n]);
      return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
    }
    var ke = /* @__PURE__ */ new Set(), Ie = {};
    function Te(e, t) {
      je(e, t), je(e + "Capture", t);
    }
    function je(e, t) {
      for (Ie[e] = t, e = 0; e < t.length; e++)
        ke.add(t[e]);
    }
    var pe = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), _ = Object.prototype.hasOwnProperty, U = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, L = {}, h = {};
    function p(e) {
      return _.call(h, e) ? !0 : _.call(L, e) ? !1 : U.test(e) ? h[e] = !0 : (L[e] = !0, !1);
    }
    function c(e, t, n, i) {
      if (n !== null && n.type === 0)
        return !1;
      switch (typeof t) {
        case "function":
        case "symbol":
          return !0;
        case "boolean":
          return i ? !1 : n !== null ? !n.acceptsBooleans : (e = e.toLowerCase().slice(0, 5), e !== "data-" && e !== "aria-");
        default:
          return !1;
      }
    }
    function o(e, t, n, i) {
      if (t === null || typeof t > "u" || c(e, t, n, i))
        return !0;
      if (i)
        return !1;
      if (n !== null)
        switch (n.type) {
          case 3:
            return !t;
          case 4:
            return t === !1;
          case 5:
            return isNaN(t);
          case 6:
            return isNaN(t) || 1 > t;
        }
      return !1;
    }
    function r(e, t, n, i, f, g, x) {
      this.acceptsBooleans = t === 2 || t === 3 || t === 4, this.attributeName = i, this.attributeNamespace = f, this.mustUseProperty = n, this.propertyName = e, this.type = t, this.sanitizeURL = g, this.removeEmptyString = x;
    }
    var s = {};
    "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e) {
      s[e] = new r(e, 0, !1, e, null, !1, !1);
    }), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function(e) {
      var t = e[0];
      s[t] = new r(t, 1, !1, e[1], null, !1, !1);
    }), ["contentEditable", "draggable", "spellCheck", "value"].forEach(function(e) {
      s[e] = new r(e, 2, !1, e.toLowerCase(), null, !1, !1);
    }), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function(e) {
      s[e] = new r(e, 2, !1, e, null, !1, !1);
    }), "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e) {
      s[e] = new r(e, 3, !1, e.toLowerCase(), null, !1, !1);
    }), ["checked", "multiple", "muted", "selected"].forEach(function(e) {
      s[e] = new r(e, 3, !0, e, null, !1, !1);
    }), ["capture", "download"].forEach(function(e) {
      s[e] = new r(e, 4, !1, e, null, !1, !1);
    }), ["cols", "rows", "size", "span"].forEach(function(e) {
      s[e] = new r(e, 6, !1, e, null, !1, !1);
    }), ["rowSpan", "start"].forEach(function(e) {
      s[e] = new r(e, 5, !1, e.toLowerCase(), null, !1, !1);
    });
    var d = /[\-:]([a-z])/g;
    function a(e) {
      return e[1].toUpperCase();
    }
    "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e) {
      var t = e.replace(
        d,
        a
      );
      s[t] = new r(t, 1, !1, e, null, !1, !1);
    }), "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e) {
      var t = e.replace(d, a);
      s[t] = new r(t, 1, !1, e, "http://www.w3.org/1999/xlink", !1, !1);
    }), ["xml:base", "xml:lang", "xml:space"].forEach(function(e) {
      var t = e.replace(d, a);
      s[t] = new r(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace", !1, !1);
    }), ["tabIndex", "crossOrigin"].forEach(function(e) {
      s[e] = new r(e, 1, !1, e.toLowerCase(), null, !1, !1);
    }), s.xlinkHref = new r("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1), ["src", "href", "action", "formAction"].forEach(function(e) {
      s[e] = new r(e, 1, !1, e.toLowerCase(), null, !0, !0);
    });
    function u(e, t, n, i) {
      var f = s.hasOwnProperty(t) ? s[t] : null;
      (f !== null ? f.type !== 0 : i || !(2 < t.length) || t[0] !== "o" && t[0] !== "O" || t[1] !== "n" && t[1] !== "N") && (o(t, n, f, i) && (n = null), i || f === null ? p(t) && (n === null ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : f.mustUseProperty ? e[f.propertyName] = n === null ? f.type === 3 ? !1 : "" : n : (t = f.attributeName, i = f.attributeNamespace, n === null ? e.removeAttribute(t) : (f = f.type, n = f === 3 || f === 4 && n === !0 ? "" : "" + n, i ? e.setAttributeNS(i, t, n) : e.setAttribute(t, n))));
    }
    var l = he.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, m = Symbol.for("react.element"), v = Symbol.for("react.portal"), C = Symbol.for("react.fragment"), E = Symbol.for("react.strict_mode"), k = Symbol.for("react.profiler"), O = Symbol.for("react.provider"), P = Symbol.for("react.context"), z = Symbol.for("react.forward_ref"), R = Symbol.for("react.suspense"), q = Symbol.for("react.suspense_list"), F = Symbol.for("react.memo"), ae = Symbol.for("react.lazy"), Ae = Symbol.for("react.offscreen"), me = Symbol.iterator;
    function Ne(e) {
      return e === null || typeof e != "object" ? null : (e = me && e[me] || e["@@iterator"], typeof e == "function" ? e : null);
    }
    var se = Object.assign, w;
    function b(e) {
      if (w === void 0)
        try {
          throw Error();
        } catch (n) {
          var t = n.stack.trim().match(/\n( *(at )?)/);
          w = t && t[1] || "";
        }
      return `
  ` + w + e;
    }
    var N = !1;
    function W(e, t) {
      if (!e || N)
        return "";
      N = !0;
      var n = Error.prepareStackTrace;
      Error.prepareStackTrace = void 0;
      try {
        if (t)
          if (t = function() {
            throw Error();
          }, Object.defineProperty(t.prototype, "props", { set: function() {
            throw Error();
          } }), typeof Reflect == "object" && Reflect.construct) {
            try {
              Reflect.construct(t, []);
            } catch (ne) {
              var i = ne;
            }
            Reflect.construct(e, [], t);
          } else {
            try {
              t.call();
            } catch (ne) {
              i = ne;
            }
            e.call(t.prototype);
          }
        else {
          try {
            throw Error();
          } catch (ne) {
            i = ne;
          }
          e();
        }
      } catch (ne) {
        if (ne && i && typeof ne.stack == "string") {
          for (var f = ne.stack.split(`
  `), g = i.stack.split(`
  `), x = f.length - 1, j = g.length - 1; 1 <= x && 0 <= j && f[x] !== g[j]; )
            j--;
          for (; 1 <= x && 0 <= j; x--, j--)
            if (f[x] !== g[j]) {
              if (x !== 1 || j !== 1)
                do
                  if (x--, j--, 0 > j || f[x] !== g[j]) {
                    var B = `
  ` + f[x].replace(" at new ", " at ");
                    return e.displayName && B.includes("<anonymous>") && (B = B.replace("<anonymous>", e.displayName)), B;
                  }
                while (1 <= x && 0 <= j);
              break;
            }
        }
      } finally {
        N = !1, Error.prepareStackTrace = n;
      }
      return (e = e ? e.displayName || e.name : "") ? b(e) : "";
    }
    function X(e) {
      switch (e.tag) {
        case 5:
          return b(e.type);
        case 16:
          return b("Lazy");
        case 13:
          return b("Suspense");
        case 19:
          return b("SuspenseList");
        case 0:
        case 2:
        case 15:
          return e = W(e.type, !1), e;
        case 11:
          return e = W(e.type.render, !1), e;
        case 1:
          return e = W(e.type, !0), e;
        default:
          return "";
      }
    }
    function oe(e) {
      if (e == null)
        return null;
      if (typeof e == "function")
        return e.displayName || e.name || null;
      if (typeof e == "string")
        return e;
      switch (e) {
        case C:
          return "Fragment";
        case v:
          return "Portal";
        case k:
          return "Profiler";
        case E:
          return "StrictMode";
        case R:
          return "Suspense";
        case q:
          return "SuspenseList";
      }
      if (typeof e == "object")
        switch (e.$$typeof) {
          case P:
            return (e.displayName || "Context") + ".Consumer";
          case O:
            return (e._context.displayName || "Context") + ".Provider";
          case z:
            var t = e.render;
            return e = e.displayName, e || (e = t.displayName || t.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
          case F:
            return t = e.displayName || null, t !== null ? t : oe(e.type) || "Memo";
          case ae:
            t = e._payload, e = e._init;
            try {
              return oe(e(t));
            } catch {
            }
        }
      return null;
    }
    function Ee(e) {
      var t = e.type;
      switch (e.tag) {
        case 24:
          return "Cache";
        case 9:
          return (t.displayName || "Context") + ".Consumer";
        case 10:
          return (t._context.displayName || "Context") + ".Provider";
        case 18:
          return "DehydratedFragment";
        case 11:
          return e = t.render, e = e.displayName || e.name || "", t.displayName || (e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef");
        case 7:
          return "Fragment";
        case 5:
          return t;
        case 4:
          return "Portal";
        case 3:
          return "Root";
        case 6:
          return "Text";
        case 16:
          return oe(t);
        case 8:
          return t === E ? "StrictMode" : "Mode";
        case 22:
          return "Offscreen";
        case 12:
          return "Profiler";
        case 21:
          return "Scope";
        case 13:
          return "Suspense";
        case 19:
          return "SuspenseList";
        case 25:
          return "TracingMarker";
        case 1:
        case 0:
        case 17:
        case 2:
        case 14:
        case 15:
          if (typeof t == "function")
            return t.displayName || t.name || null;
          if (typeof t == "string")
            return t;
      }
      return null;
    }
    function ee(e) {
      switch (typeof e) {
        case "boolean":
        case "number":
        case "string":
        case "undefined":
          return e;
        case "object":
          return e;
        default:
          return "";
      }
    }
    function ce(e) {
      var t = e.type;
      return (e = e.nodeName) && e.toLowerCase() === "input" && (t === "checkbox" || t === "radio");
    }
    function _e(e) {
      var t = ce(e) ? "checked" : "value", n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), i = "" + e[t];
      if (!e.hasOwnProperty(t) && typeof n < "u" && typeof n.get == "function" && typeof n.set == "function") {
        var f = n.get, g = n.set;
        return Object.defineProperty(e, t, { configurable: !0, get: function() {
          return f.call(this);
        }, set: function(x) {
          i = "" + x, g.call(this, x);
        } }), Object.defineProperty(e, t, { enumerable: n.enumerable }), { getValue: function() {
          return i;
        }, setValue: function(x) {
          i = "" + x;
        }, stopTracking: function() {
          e._valueTracker = null, delete e[t];
        } };
      }
    }
    function de(e) {
      e._valueTracker || (e._valueTracker = _e(e));
    }
    function et(e) {
      if (!e)
        return !1;
      var t = e._valueTracker;
      if (!t)
        return !0;
      var n = t.getValue(), i = "";
      return e && (i = ce(e) ? e.checked ? "true" : "false" : e.value), e = i, e !== n ? (t.setValue(e), !0) : !1;
    }
    function it(e) {
      if (e = e || (typeof document < "u" ? document : void 0), typeof e > "u")
        return null;
      try {
        return e.activeElement || e.body;
      } catch {
        return e.body;
      }
    }
    function Ge(e, t) {
      var n = t.checked;
      return se({}, t, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: n ?? e._wrapperState.initialChecked });
    }
    function nt(e, t) {
      var n = t.defaultValue == null ? "" : t.defaultValue, i = t.checked != null ? t.checked : t.defaultChecked;
      n = ee(t.value != null ? t.value : n), e._wrapperState = { initialChecked: i, initialValue: n, controlled: t.type === "checkbox" || t.type === "radio" ? t.checked != null : t.value != null };
    }
    function st(e, t) {
      t = t.checked, t != null && u(e, "checked", t, !1);
    }
    function at(e, t) {
      st(e, t);
      var n = ee(t.value), i = t.type;
      if (n != null)
        i === "number" ? (n === 0 && e.value === "" || e.value != n) && (e.value = "" + n) : e.value !== "" + n && (e.value = "" + n);
      else if (i === "submit" || i === "reset") {
        e.removeAttribute("value");
        return;
      }
      t.hasOwnProperty("value") ? T(e, t.type, n) : t.hasOwnProperty("defaultValue") && T(e, t.type, ee(t.defaultValue)), t.checked == null && t.defaultChecked != null && (e.defaultChecked = !!t.defaultChecked);
    }
    function S(e, t, n) {
      if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) {
        var i = t.type;
        if (!(i !== "submit" && i !== "reset" || t.value !== void 0 && t.value !== null))
          return;
        t = "" + e._wrapperState.initialValue, n || t === e.value || (e.value = t), e.defaultValue = t;
      }
      n = e.name, n !== "" && (e.name = ""), e.defaultChecked = !!e._wrapperState.initialChecked, n !== "" && (e.name = n);
    }
    function T(e, t, n) {
      (t !== "number" || it(e.ownerDocument) !== e) && (n == null ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n));
    }
    var A = Array.isArray;
    function H(e, t, n, i) {
      if (e = e.options, t) {
        t = {};
        for (var f = 0; f < n.length; f++)
          t["$" + n[f]] = !0;
        for (n = 0; n < e.length; n++)
          f = t.hasOwnProperty("$" + e[n].value), e[n].selected !== f && (e[n].selected = f), f && i && (e[n].defaultSelected = !0);
      } else {
        for (n = "" + ee(n), t = null, f = 0; f < e.length; f++) {
          if (e[f].value === n) {
            e[f].selected = !0, i && (e[f].defaultSelected = !0);
            return;
          }
          t !== null || e[f].disabled || (t = e[f]);
        }
        t !== null && (t.selected = !0);
      }
    }
    function V(e, t) {
      if (t.dangerouslySetInnerHTML != null)
        throw Error(Q(91));
      return se({}, t, { value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue });
    }
    function Y(e, t) {
      var n = t.value;
      if (n == null) {
        if (n = t.children, t = t.defaultValue, n != null) {
          if (t != null)
            throw Error(Q(92));
          if (A(n)) {
            if (1 < n.length)
              throw Error(Q(93));
            n = n[0];
          }
          t = n;
        }
        t == null && (t = ""), n = t;
      }
      e._wrapperState = { initialValue: ee(n) };
    }
    function ye(e, t) {
      var n = ee(t.value), i = ee(t.defaultValue);
      n != null && (n = "" + n, n !== e.value && (e.value = n), t.defaultValue == null && e.defaultValue !== n && (e.defaultValue = n)), i != null && (e.defaultValue = "" + i);
    }
    function Qe(e) {
      var t = e.textContent;
      t === e._wrapperState.initialValue && t !== "" && t !== null && (e.value = t);
    }
    function Ke(e) {
      switch (e) {
        case "svg":
          return "http://www.w3.org/2000/svg";
        case "math":
          return "http://www.w3.org/1998/Math/MathML";
        default:
          return "http://www.w3.org/1999/xhtml";
      }
    }
    function ft(e, t) {
      return e == null || e === "http://www.w3.org/1999/xhtml" ? Ke(t) : e === "http://www.w3.org/2000/svg" && t === "foreignObject" ? "http://www.w3.org/1999/xhtml" : e;
    }
    var tt, At = function(e) {
      return typeof MSApp < "u" && MSApp.execUnsafeLocalFunction ? function(t, n, i, f) {
        MSApp.execUnsafeLocalFunction(function() {
          return e(t, n, i, f);
        });
      } : e;
    }(function(e, t) {
      if (e.namespaceURI !== "http://www.w3.org/2000/svg" || "innerHTML" in e)
        e.innerHTML = t;
      else {
        for (tt = tt || document.createElement("div"), tt.innerHTML = "<svg>" + t.valueOf().toString() + "</svg>", t = tt.firstChild; e.firstChild; )
          e.removeChild(e.firstChild);
        for (; t.firstChild; )
          e.appendChild(t.firstChild);
      }
    });
    function Mt(e, t) {
      if (t) {
        var n = e.firstChild;
        if (n && n === e.lastChild && n.nodeType === 3) {
          n.nodeValue = t;
          return;
        }
      }
      e.textContent = t;
    }
    var Ut = {
      animationIterationCount: !0,
      aspectRatio: !0,
      borderImageOutset: !0,
      borderImageSlice: !0,
      borderImageWidth: !0,
      boxFlex: !0,
      boxFlexGroup: !0,
      boxOrdinalGroup: !0,
      columnCount: !0,
      columns: !0,
      flex: !0,
      flexGrow: !0,
      flexPositive: !0,
      flexShrink: !0,
      flexNegative: !0,
      flexOrder: !0,
      gridArea: !0,
      gridRow: !0,
      gridRowEnd: !0,
      gridRowSpan: !0,
      gridRowStart: !0,
      gridColumn: !0,
      gridColumnEnd: !0,
      gridColumnSpan: !0,
      gridColumnStart: !0,
      fontWeight: !0,
      lineClamp: !0,
      lineHeight: !0,
      opacity: !0,
      order: !0,
      orphans: !0,
      tabSize: !0,
      widows: !0,
      zIndex: !0,
      zoom: !0,
      fillOpacity: !0,
      floodOpacity: !0,
      stopOpacity: !0,
      strokeDasharray: !0,
      strokeDashoffset: !0,
      strokeMiterlimit: !0,
      strokeOpacity: !0,
      strokeWidth: !0
    }, Dn = ["Webkit", "ms", "Moz", "O"];
    Object.keys(Ut).forEach(function(e) {
      Dn.forEach(function(t) {
        t = t + e.charAt(0).toUpperCase() + e.substring(1), Ut[t] = Ut[e];
      });
    });
    function Tt(e, t, n) {
      return t == null || typeof t == "boolean" || t === "" ? "" : n || typeof t != "number" || t === 0 || Ut.hasOwnProperty(e) && Ut[e] ? ("" + t).trim() : t + "px";
    }
    function gi(e, t) {
      e = e.style;
      for (var n in t)
        if (t.hasOwnProperty(n)) {
          var i = n.indexOf("--") === 0, f = Tt(n, t[n], i);
          n === "float" && (n = "cssFloat"), i ? e.setProperty(n, f) : e[n] = f;
        }
    }
    var rs = se({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });
    function qr(e, t) {
      if (t) {
        if (rs[e] && (t.children != null || t.dangerouslySetInnerHTML != null))
          throw Error(Q(137, e));
        if (t.dangerouslySetInnerHTML != null) {
          if (t.children != null)
            throw Error(Q(60));
          if (typeof t.dangerouslySetInnerHTML != "object" || !("__html" in t.dangerouslySetInnerHTML))
            throw Error(Q(61));
        }
        if (t.style != null && typeof t.style != "object")
          throw Error(Q(62));
      }
    }
    function vi(e, t) {
      if (e.indexOf("-") === -1)
        return typeof t.is == "string";
      switch (e) {
        case "annotation-xml":
        case "color-profile":
        case "font-face":
        case "font-face-src":
        case "font-face-uri":
        case "font-face-format":
        case "font-face-name":
        case "missing-glyph":
          return !1;
        default:
          return !0;
      }
    }
    var Br = null;
    function Hr(e) {
      return e = e.target || e.srcElement || window, e.correspondingUseElement && (e = e.correspondingUseElement), e.nodeType === 3 ? e.parentNode : e;
    }
    var yi = null, Kn = null, rr = null;
    function Qi(e) {
      if (e = Li(e)) {
        if (typeof yi != "function")
          throw Error(Q(280));
        var t = e.stateNode;
        t && (t = vo(t), yi(e.stateNode, e.type, t));
      }
    }
    function wi(e) {
      Kn ? rr ? rr.push(e) : rr = [e] : Kn = e;
    }
    function Ji() {
      if (Kn) {
        var e = Kn, t = rr;
        if (rr = Kn = null, Qi(e), t)
          for (e = 0; e < t.length; e++)
            Qi(t[e]);
      }
    }
    function Zi(e, t) {
      return e(t);
    }
    function eo() {
    }
    var Vr = !1;
    function br(e, t, n) {
      if (Vr)
        return e(t, n);
      Vr = !0;
      try {
        return Zi(e, t, n);
      } finally {
        Vr = !1, (Kn !== null || rr !== null) && (eo(), Ji());
      }
    }
    function M(e, t) {
      var n = e.stateNode;
      if (n === null)
        return null;
      var i = vo(n);
      if (i === null)
        return null;
      n = i[t];
      e:
        switch (t) {
          case "onClick":
          case "onClickCapture":
          case "onDoubleClick":
          case "onDoubleClickCapture":
          case "onMouseDown":
          case "onMouseDownCapture":
          case "onMouseMove":
          case "onMouseMoveCapture":
          case "onMouseUp":
          case "onMouseUpCapture":
          case "onMouseEnter":
            (i = !i.disabled) || (e = e.type, i = !(e === "button" || e === "input" || e === "select" || e === "textarea")), e = !i;
            break e;
          default:
            e = !1;
        }
      if (e)
        return null;
      if (n && typeof n != "function")
        throw Error(Q(231, t, typeof n));
      return n;
    }
    var y = !1;
    if (pe)
      try {
        var I = {};
        Object.defineProperty(I, "passive", { get: function() {
          y = !0;
        } }), window.addEventListener("test", I, I), window.removeEventListener("test", I, I);
      } catch {
        y = !1;
      }
    function D(e, t, n, i, f, g, x, j, B) {
      var ne = Array.prototype.slice.call(arguments, 3);
      try {
        t.apply(n, ne);
      } catch (ve) {
        this.onError(ve);
      }
    }
    var G = !1, re = null, ie = !1, le = null, Se = { onError: function(e) {
      G = !0, re = e;
    } };
    function We(e, t, n, i, f, g, x, j, B) {
      G = !1, re = null, D.apply(Se, arguments);
    }
    function rt(e, t, n, i, f, g, x, j, B) {
      if (We.apply(this, arguments), G) {
        if (G) {
          var ne = re;
          G = !1, re = null;
        } else
          throw Error(Q(198));
        ie || (ie = !0, le = ne);
      }
    }
    function Ze(e) {
      var t = e, n = e;
      if (e.alternate)
        for (; t.return; )
          t = t.return;
      else {
        e = t;
        do
          t = e, t.flags & 4098 && (n = t.return), e = t.return;
        while (e);
      }
      return t.tag === 3 ? n : null;
    }
    function ut(e) {
      if (e.tag === 13) {
        var t = e.memoizedState;
        if (t === null && (e = e.alternate, e !== null && (t = e.memoizedState)), t !== null)
          return t.dehydrated;
      }
      return null;
    }
    function Re(e) {
      if (Ze(e) !== e)
        throw Error(Q(188));
    }
    function Ce(e) {
      var t = e.alternate;
      if (!t) {
        if (t = Ze(e), t === null)
          throw Error(Q(188));
        return t !== e ? null : e;
      }
      for (var n = e, i = t; ; ) {
        var f = n.return;
        if (f === null)
          break;
        var g = f.alternate;
        if (g === null) {
          if (i = f.return, i !== null) {
            n = i;
            continue;
          }
          break;
        }
        if (f.child === g.child) {
          for (g = f.child; g; ) {
            if (g === n)
              return Re(f), e;
            if (g === i)
              return Re(f), t;
            g = g.sibling;
          }
          throw Error(Q(188));
        }
        if (n.return !== i.return)
          n = f, i = g;
        else {
          for (var x = !1, j = f.child; j; ) {
            if (j === n) {
              x = !0, n = f, i = g;
              break;
            }
            if (j === i) {
              x = !0, i = f, n = g;
              break;
            }
            j = j.sibling;
          }
          if (!x) {
            for (j = g.child; j; ) {
              if (j === n) {
                x = !0, n = g, i = f;
                break;
              }
              if (j === i) {
                x = !0, i = g, n = f;
                break;
              }
              j = j.sibling;
            }
            if (!x)
              throw Error(Q(189));
          }
        }
        if (n.alternate !== i)
          throw Error(Q(190));
      }
      if (n.tag !== 3)
        throw Error(Q(188));
      return n.stateNode.current === n ? e : t;
    }
    function ht(e) {
      return e = Ce(e), e !== null ? xt(e) : null;
    }
    function xt(e) {
      if (e.tag === 5 || e.tag === 6)
        return e;
      for (e = e.child; e !== null; ) {
        var t = xt(e);
        if (t !== null)
          return t;
        e = e.sibling;
      }
      return null;
    }
    var He = Oe.unstable_scheduleCallback, Nt = Oe.unstable_cancelCallback, vt = Oe.unstable_shouldYield, kn = Oe.unstable_requestPaint, lt = Oe.unstable_now, Bt = Oe.unstable_getCurrentPriorityLevel, jn = Oe.unstable_ImmediatePriority, Pt = Oe.unstable_UserBlockingPriority, $t = Oe.unstable_NormalPriority, to = Oe.unstable_LowPriority, no = Oe.unstable_IdlePriority, kr = null, hn = null;
    function is(e) {
      if (hn && typeof hn.onCommitFiberRoot == "function")
        try {
          hn.onCommitFiberRoot(kr, e, void 0, (e.current.flags & 128) === 128);
        } catch {
        }
    }
    var Ot = Math.clz32 ? Math.clz32 : $, os = Math.log, ss = Math.LN2;
    function $(e) {
      return e >>>= 0, e === 0 ? 32 : 31 - (os(e) / ss | 0) | 0;
    }
    var we = 64, fe = 4194304;
    function ue(e) {
      switch (e & -e) {
        case 1:
          return 1;
        case 2:
          return 2;
        case 4:
          return 4;
        case 8:
          return 8;
        case 16:
          return 16;
        case 32:
          return 32;
        case 64:
        case 128:
        case 256:
        case 512:
        case 1024:
        case 2048:
        case 4096:
        case 8192:
        case 16384:
        case 32768:
        case 65536:
        case 131072:
        case 262144:
        case 524288:
        case 1048576:
        case 2097152:
          return e & 4194240;
        case 4194304:
        case 8388608:
        case 16777216:
        case 33554432:
        case 67108864:
          return e & 130023424;
        case 134217728:
          return 134217728;
        case 268435456:
          return 268435456;
        case 536870912:
          return 536870912;
        case 1073741824:
          return 1073741824;
        default:
          return e;
      }
    }
    function De(e, t) {
      var n = e.pendingLanes;
      if (n === 0)
        return 0;
      var i = 0, f = e.suspendedLanes, g = e.pingedLanes, x = n & 268435455;
      if (x !== 0) {
        var j = x & ~f;
        j !== 0 ? i = ue(j) : (g &= x, g !== 0 && (i = ue(g)));
      } else
        x = n & ~f, x !== 0 ? i = ue(x) : g !== 0 && (i = ue(g));
      if (i === 0)
        return 0;
      if (t !== 0 && t !== i && !(t & f) && (f = i & -i, g = t & -t, f >= g || f === 16 && (g & 4194240) !== 0))
        return t;
      if (i & 4 && (i |= n & 16), t = e.entangledLanes, t !== 0)
        for (e = e.entanglements, t &= i; 0 < t; )
          n = 31 - Ot(t), f = 1 << n, i |= e[n], t &= ~f;
      return i;
    }
    function Pe(e, t) {
      switch (e) {
        case 1:
        case 2:
        case 4:
          return t + 250;
        case 8:
        case 16:
        case 32:
        case 64:
        case 128:
        case 256:
        case 512:
        case 1024:
        case 2048:
        case 4096:
        case 8192:
        case 16384:
        case 32768:
        case 65536:
        case 131072:
        case 262144:
        case 524288:
        case 1048576:
        case 2097152:
          return t + 5e3;
        case 4194304:
        case 8388608:
        case 16777216:
        case 33554432:
        case 67108864:
          return -1;
        case 134217728:
        case 268435456:
        case 536870912:
        case 1073741824:
          return -1;
        default:
          return -1;
      }
    }
    function mt(e, t) {
      for (var n = e.suspendedLanes, i = e.pingedLanes, f = e.expirationTimes, g = e.pendingLanes; 0 < g; ) {
        var x = 31 - Ot(g), j = 1 << x, B = f[x];
        B === -1 ? (!(j & n) || j & i) && (f[x] = Pe(j, t)) : B <= t && (e.expiredLanes |= j), g &= ~j;
      }
    }
    function Ve(e) {
      return e = e.pendingLanes & -1073741825, e !== 0 ? e : e & 1073741824 ? 1073741824 : 0;
    }
    function Qt() {
      var e = we;
      return we <<= 1, !(we & 4194240) && (we = 64), e;
    }
    function It(e) {
      for (var t = [], n = 0; 31 > n; n++)
        t.push(e);
      return t;
    }
    function yt(e, t, n) {
      e.pendingLanes |= t, t !== 536870912 && (e.suspendedLanes = 0, e.pingedLanes = 0), e = e.eventTimes, t = 31 - Ot(t), e[t] = n;
    }
    function Tr(e, t) {
      var n = e.pendingLanes & ~t;
      e.pendingLanes = t, e.suspendedLanes = 0, e.pingedLanes = 0, e.expiredLanes &= t, e.mutableReadLanes &= t, e.entangledLanes &= t, t = e.entanglements;
      var i = e.eventTimes;
      for (e = e.expirationTimes; 0 < n; ) {
        var f = 31 - Ot(n), g = 1 << f;
        t[f] = 0, i[f] = -1, e[f] = -1, n &= ~g;
      }
    }
    function Ei(e, t) {
      var n = e.entangledLanes |= t;
      for (e = e.entanglements; n; ) {
        var i = 31 - Ot(n), f = 1 << i;
        f & t | e[i] & t && (e[i] |= t), n &= ~f;
      }
    }
    var dt = 0;
    function Ft(e) {
      return e &= -e, 1 < e ? 4 < e ? e & 268435455 ? 16 : 536870912 : 4 : 1;
    }
    var Gr, Un, Tn, en, Kr, _n = !1, Xn = [], mn = null, un = null, xn = null, ir = /* @__PURE__ */ new Map(), _r = /* @__PURE__ */ new Map(), Fn = [], as = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");
    function xr(e, t) {
      switch (e) {
        case "focusin":
        case "focusout":
          mn = null;
          break;
        case "dragenter":
        case "dragleave":
          un = null;
          break;
        case "mouseover":
        case "mouseout":
          xn = null;
          break;
        case "pointerover":
        case "pointerout":
          ir.delete(t.pointerId);
          break;
        case "gotpointercapture":
        case "lostpointercapture":
          _r.delete(t.pointerId);
      }
    }
    function zn(e, t, n, i, f, g) {
      return e === null || e.nativeEvent !== g ? (e = { blockedOn: t, domEventName: n, eventSystemFlags: i, nativeEvent: g, targetContainers: [f] }, t !== null && (t = Li(t), t !== null && Un(t)), e) : (e.eventSystemFlags |= i, t = e.targetContainers, f !== null && t.indexOf(f) === -1 && t.push(f), e);
    }
    function ro(e, t, n, i, f) {
      switch (t) {
        case "focusin":
          return mn = zn(mn, e, t, n, i, f), !0;
        case "dragenter":
          return un = zn(un, e, t, n, i, f), !0;
        case "mouseover":
          return xn = zn(xn, e, t, n, i, f), !0;
        case "pointerover":
          var g = f.pointerId;
          return ir.set(g, zn(ir.get(g) || null, e, t, n, i, f)), !0;
        case "gotpointercapture":
          return g = f.pointerId, _r.set(g, zn(_r.get(g) || null, e, t, n, i, f)), !0;
      }
      return !1;
    }
    function Ir(e) {
      var t = Ar(e.target);
      if (t !== null) {
        var n = Ze(t);
        if (n !== null) {
          if (t = n.tag, t === 13) {
            if (t = ut(n), t !== null) {
              e.blockedOn = t, Kr(e.priority, function() {
                Tn(n);
              });
              return;
            }
          } else if (t === 3 && n.stateNode.current.memoizedState.isDehydrated) {
            e.blockedOn = n.tag === 3 ? n.stateNode.containerInfo : null;
            return;
          }
        }
      }
      e.blockedOn = null;
    }
    function or(e) {
      if (e.blockedOn !== null)
        return !1;
      for (var t = e.targetContainers; 0 < t.length; ) {
        var n = Si(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent);
        if (n === null) {
          n = e.nativeEvent;
          var i = new n.constructor(n.type, n);
          Br = i, n.target.dispatchEvent(i), Br = null;
        } else
          return t = Li(n), t !== null && Un(t), e.blockedOn = n, !1;
        t.shift();
      }
      return !0;
    }
    function Ci(e, t, n) {
      or(e) && n.delete(t);
    }
    function In() {
      _n = !1, mn !== null && or(mn) && (mn = null), un !== null && or(un) && (un = null), xn !== null && or(xn) && (xn = null), ir.forEach(Ci), _r.forEach(Ci);
    }
    function Rr(e, t) {
      e.blockedOn === t && (e.blockedOn = null, _n || (_n = !0, Oe.unstable_scheduleCallback(Oe.unstable_NormalPriority, In)));
    }
    function sr(e) {
      function t(f) {
        return Rr(f, e);
      }
      if (0 < Xn.length) {
        Rr(Xn[0], e);
        for (var n = 1; n < Xn.length; n++) {
          var i = Xn[n];
          i.blockedOn === e && (i.blockedOn = null);
        }
      }
      for (mn !== null && Rr(mn, e), un !== null && Rr(un, e), xn !== null && Rr(xn, e), ir.forEach(t), _r.forEach(t), n = 0; n < Fn.length; n++)
        i = Fn[n], i.blockedOn === e && (i.blockedOn = null);
      for (; 0 < Fn.length && (n = Fn[0], n.blockedOn === null); )
        Ir(n), n.blockedOn === null && Fn.shift();
    }
    var Le = l.ReactCurrentBatchConfig, te = !0;
    function $e(e, t, n, i) {
      var f = dt, g = Le.transition;
      Le.transition = null;
      try {
        dt = 1, Wn(e, t, n, i);
      } finally {
        dt = f, Le.transition = g;
      }
    }
    function wt(e, t, n, i) {
      var f = dt, g = Le.transition;
      Le.transition = null;
      try {
        dt = 4, Wn(e, t, n, i);
      } finally {
        dt = f, Le.transition = g;
      }
    }
    function Wn(e, t, n, i) {
      if (te) {
        var f = Si(e, t, n, i);
        if (f === null)
          ks(e, t, i, gn, n), xr(e, i);
        else if (ro(f, e, t, n, i))
          i.stopPropagation();
        else if (xr(e, i), t & 4 && -1 < as.indexOf(e)) {
          for (; f !== null; ) {
            var g = Li(f);
            if (g !== null && Gr(g), g = Si(e, t, n, i), g === null && ks(e, t, i, gn, n), g === f)
              break;
            f = g;
          }
          f !== null && i.stopPropagation();
        } else
          ks(e, t, i, null, n);
      }
    }
    var gn = null;
    function Si(e, t, n, i) {
      if (gn = null, e = Hr(i), e = Ar(e), e !== null)
        if (t = Ze(e), t === null)
          e = null;
        else if (n = t.tag, n === 13) {
          if (e = ut(t), e !== null)
            return e;
          e = null;
        } else if (n === 3) {
          if (t.stateNode.current.memoizedState.isDehydrated)
            return t.tag === 3 ? t.stateNode.containerInfo : null;
          e = null;
        } else
          t !== e && (e = null);
      return gn = e, null;
    }
    function io(e) {
      switch (e) {
        case "cancel":
        case "click":
        case "close":
        case "contextmenu":
        case "copy":
        case "cut":
        case "auxclick":
        case "dblclick":
        case "dragend":
        case "dragstart":
        case "drop":
        case "focusin":
        case "focusout":
        case "input":
        case "invalid":
        case "keydown":
        case "keypress":
        case "keyup":
        case "mousedown":
        case "mouseup":
        case "paste":
        case "pause":
        case "play":
        case "pointercancel":
        case "pointerdown":
        case "pointerup":
        case "ratechange":
        case "reset":
        case "resize":
        case "seeked":
        case "submit":
        case "touchcancel":
        case "touchend":
        case "touchstart":
        case "volumechange":
        case "change":
        case "selectionchange":
        case "textInput":
        case "compositionstart":
        case "compositionend":
        case "compositionupdate":
        case "beforeblur":
        case "afterblur":
        case "beforeinput":
        case "blur":
        case "fullscreenchange":
        case "focus":
        case "hashchange":
        case "popstate":
        case "select":
        case "selectstart":
          return 1;
        case "drag":
        case "dragenter":
        case "dragexit":
        case "dragleave":
        case "dragover":
        case "mousemove":
        case "mouseout":
        case "mouseover":
        case "pointermove":
        case "pointerout":
        case "pointerover":
        case "scroll":
        case "toggle":
        case "touchmove":
        case "wheel":
        case "mouseenter":
        case "mouseleave":
        case "pointerenter":
        case "pointerleave":
          return 4;
        case "message":
          switch (Bt()) {
            case jn:
              return 1;
            case Pt:
              return 4;
            case $t:
            case to:
              return 16;
            case no:
              return 536870912;
            default:
              return 16;
          }
        default:
          return 16;
      }
    }
    var ar = null, us = null, oo = null;
    function qa() {
      if (oo)
        return oo;
      var e, t = us, n = t.length, i, f = "value" in ar ? ar.value : ar.textContent, g = f.length;
      for (e = 0; e < n && t[e] === f[e]; e++)
        ;
      var x = n - e;
      for (i = 1; i <= x && t[n - i] === f[g - i]; i++)
        ;
      return oo = f.slice(e, 1 < i ? 1 - i : void 0);
    }
    function so(e) {
      var t = e.keyCode;
      return "charCode" in e ? (e = e.charCode, e === 0 && t === 13 && (e = 13)) : e = t, e === 10 && (e = 13), 32 <= e || e === 13 ? e : 0;
    }
    function ao() {
      return !0;
    }
    function Ba() {
      return !1;
    }
    function cn(e) {
      function t(n, i, f, g, x) {
        this._reactName = n, this._targetInst = f, this.type = i, this.nativeEvent = g, this.target = x, this.currentTarget = null;
        for (var j in e)
          e.hasOwnProperty(j) && (n = e[j], this[j] = n ? n(g) : g[j]);
        return this.isDefaultPrevented = (g.defaultPrevented != null ? g.defaultPrevented : g.returnValue === !1) ? ao : Ba, this.isPropagationStopped = Ba, this;
      }
      return se(t.prototype, { preventDefault: function() {
        this.defaultPrevented = !0;
        var n = this.nativeEvent;
        n && (n.preventDefault ? n.preventDefault() : typeof n.returnValue != "unknown" && (n.returnValue = !1), this.isDefaultPrevented = ao);
      }, stopPropagation: function() {
        var n = this.nativeEvent;
        n && (n.stopPropagation ? n.stopPropagation() : typeof n.cancelBubble != "unknown" && (n.cancelBubble = !0), this.isPropagationStopped = ao);
      }, persist: function() {
      }, isPersistent: ao }), t;
    }
    var Xr = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function(e) {
      return e.timeStamp || Date.now();
    }, defaultPrevented: 0, isTrusted: 0 }, cs = cn(Xr), bi = se({}, Xr, { view: 0, detail: 0 }), fl = cn(bi), ls, ds, ki, uo = se({}, bi, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: fs, button: 0, buttons: 0, relatedTarget: function(e) {
      return e.relatedTarget === void 0 ? e.fromElement === e.srcElement ? e.toElement : e.fromElement : e.relatedTarget;
    }, movementX: function(e) {
      return "movementX" in e ? e.movementX : (e !== ki && (ki && e.type === "mousemove" ? (ls = e.screenX - ki.screenX, ds = e.screenY - ki.screenY) : ds = ls = 0, ki = e), ls);
    }, movementY: function(e) {
      return "movementY" in e ? e.movementY : ds;
    } }), Ha = cn(uo), hl = se({}, uo, { dataTransfer: 0 }), ml = cn(hl), gl = se({}, bi, { relatedTarget: 0 }), ps = cn(gl), vl = se({}, Xr, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), yl = cn(vl), wl = se({}, Xr, { clipboardData: function(e) {
      return "clipboardData" in e ? e.clipboardData : window.clipboardData;
    } }), El = cn(wl), Cl = se({}, Xr, { data: 0 }), Va = cn(Cl), Sl = {
      Esc: "Escape",
      Spacebar: " ",
      Left: "ArrowLeft",
      Up: "ArrowUp",
      Right: "ArrowRight",
      Down: "ArrowDown",
      Del: "Delete",
      Win: "OS",
      Menu: "ContextMenu",
      Apps: "ContextMenu",
      Scroll: "ScrollLock",
      MozPrintableKey: "Unidentified"
    }, bl = {
      8: "Backspace",
      9: "Tab",
      12: "Clear",
      13: "Enter",
      16: "Shift",
      17: "Control",
      18: "Alt",
      19: "Pause",
      20: "CapsLock",
      27: "Escape",
      32: " ",
      33: "PageUp",
      34: "PageDown",
      35: "End",
      36: "Home",
      37: "ArrowLeft",
      38: "ArrowUp",
      39: "ArrowRight",
      40: "ArrowDown",
      45: "Insert",
      46: "Delete",
      112: "F1",
      113: "F2",
      114: "F3",
      115: "F4",
      116: "F5",
      117: "F6",
      118: "F7",
      119: "F8",
      120: "F9",
      121: "F10",
      122: "F11",
      123: "F12",
      144: "NumLock",
      145: "ScrollLock",
      224: "Meta"
    }, kl = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };
    function Tl(e) {
      var t = this.nativeEvent;
      return t.getModifierState ? t.getModifierState(e) : (e = kl[e]) ? !!t[e] : !1;
    }
    function fs() {
      return Tl;
    }
    var _l = se({}, bi, { key: function(e) {
      if (e.key) {
        var t = Sl[e.key] || e.key;
        if (t !== "Unidentified")
          return t;
      }
      return e.type === "keypress" ? (e = so(e), e === 13 ? "Enter" : String.fromCharCode(e)) : e.type === "keydown" || e.type === "keyup" ? bl[e.keyCode] || "Unidentified" : "";
    }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: fs, charCode: function(e) {
      return e.type === "keypress" ? so(e) : 0;
    }, keyCode: function(e) {
      return e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
    }, which: function(e) {
      return e.type === "keypress" ? so(e) : e.type === "keydown" || e.type === "keyup" ? e.keyCode : 0;
    } }), xl = cn(_l), Il = se({}, uo, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), Ga = cn(Il), Rl = se({}, bi, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: fs }), Al = cn(Rl), Nl = se({}, Xr, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Pl = cn(Nl), Ol = se({}, uo, {
      deltaX: function(e) {
        return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0;
      },
      deltaY: function(e) {
        return "deltaY" in e ? e.deltaY : "wheelDeltaY" in e ? -e.wheelDeltaY : "wheelDelta" in e ? -e.wheelDelta : 0;
      },
      deltaZ: 0,
      deltaMode: 0
    }), Ll = cn(Ol), Ml = [9, 13, 27, 32], hs = pe && "CompositionEvent" in window, Ti = null;
    pe && "documentMode" in document && (Ti = document.documentMode);
    var Dl = pe && "TextEvent" in window && !Ti, Ka = pe && (!hs || Ti && 8 < Ti && 11 >= Ti), Xa = " ", Ya = !1;
    function $a(e, t) {
      switch (e) {
        case "keyup":
          return Ml.indexOf(t.keyCode) !== -1;
        case "keydown":
          return t.keyCode !== 229;
        case "keypress":
        case "mousedown":
        case "focusout":
          return !0;
        default:
          return !1;
      }
    }
    function Qa(e) {
      return e = e.detail, typeof e == "object" && "data" in e ? e.data : null;
    }
    var Yr = !1;
    function jl(e, t) {
      switch (e) {
        case "compositionend":
          return Qa(t);
        case "keypress":
          return t.which !== 32 ? null : (Ya = !0, Xa);
        case "textInput":
          return e = t.data, e === Xa && Ya ? null : e;
        default:
          return null;
      }
    }
    function Ul(e, t) {
      if (Yr)
        return e === "compositionend" || !hs && $a(e, t) ? (e = qa(), oo = us = ar = null, Yr = !1, e) : null;
      switch (e) {
        case "paste":
          return null;
        case "keypress":
          if (!(t.ctrlKey || t.altKey || t.metaKey) || t.ctrlKey && t.altKey) {
            if (t.char && 1 < t.char.length)
              return t.char;
            if (t.which)
              return String.fromCharCode(t.which);
          }
          return null;
        case "compositionend":
          return Ka && t.locale !== "ko" ? null : t.data;
        default:
          return null;
      }
    }
    var Fl = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };
    function Ja(e) {
      var t = e && e.nodeName && e.nodeName.toLowerCase();
      return t === "input" ? !!Fl[e.type] : t === "textarea";
    }
    function Za(e, t, n, i) {
      wi(i), t = ho(t, "onChange"), 0 < t.length && (n = new cs("onChange", "change", null, n, i), e.push({ event: n, listeners: t }));
    }
    var _i = null, xi = null;
    function zl(e) {
      vu(e, 0);
    }
    function co(e) {
      var t = ei(e);
      if (et(t))
        return e;
    }
    function Wl(e, t) {
      if (e === "change")
        return t;
    }
    var eu = !1;
    if (pe) {
      var ms;
      if (pe) {
        var gs = "oninput" in document;
        if (!gs) {
          var tu = document.createElement("div");
          tu.setAttribute("oninput", "return;"), gs = typeof tu.oninput == "function";
        }
        ms = gs;
      } else
        ms = !1;
      eu = ms && (!document.documentMode || 9 < document.documentMode);
    }
    function nu() {
      _i && (_i.detachEvent("onpropertychange", ru), xi = _i = null);
    }
    function ru(e) {
      if (e.propertyName === "value" && co(xi)) {
        var t = [];
        Za(t, xi, e, Hr(e)), br(zl, t);
      }
    }
    function ql(e, t, n) {
      e === "focusin" ? (nu(), _i = t, xi = n, _i.attachEvent("onpropertychange", ru)) : e === "focusout" && nu();
    }
    function Bl(e) {
      if (e === "selectionchange" || e === "keyup" || e === "keydown")
        return co(xi);
    }
    function Hl(e, t) {
      if (e === "click")
        return co(t);
    }
    function Vl(e, t) {
      if (e === "input" || e === "change")
        return co(t);
    }
    function Gl(e, t) {
      return e === t && (e !== 0 || 1 / e === 1 / t) || e !== e && t !== t;
    }
    var Rn = typeof Object.is == "function" ? Object.is : Gl;
    function Ii(e, t) {
      if (Rn(e, t))
        return !0;
      if (typeof e != "object" || e === null || typeof t != "object" || t === null)
        return !1;
      var n = Object.keys(e), i = Object.keys(t);
      if (n.length !== i.length)
        return !1;
      for (i = 0; i < n.length; i++) {
        var f = n[i];
        if (!_.call(t, f) || !Rn(e[f], t[f]))
          return !1;
      }
      return !0;
    }
    function iu(e) {
      for (; e && e.firstChild; )
        e = e.firstChild;
      return e;
    }
    function ou(e, t) {
      var n = iu(e);
      e = 0;
      for (var i; n; ) {
        if (n.nodeType === 3) {
          if (i = e + n.textContent.length, e <= t && i >= t)
            return { node: n, offset: t - e };
          e = i;
        }
        e: {
          for (; n; ) {
            if (n.nextSibling) {
              n = n.nextSibling;
              break e;
            }
            n = n.parentNode;
          }
          n = void 0;
        }
        n = iu(n);
      }
    }
    function su(e, t) {
      return e && t ? e === t ? !0 : e && e.nodeType === 3 ? !1 : t && t.nodeType === 3 ? su(e, t.parentNode) : "contains" in e ? e.contains(t) : e.compareDocumentPosition ? !!(e.compareDocumentPosition(t) & 16) : !1 : !1;
    }
    function au() {
      for (var e = window, t = it(); t instanceof e.HTMLIFrameElement; ) {
        try {
          var n = typeof t.contentWindow.location.href == "string";
        } catch {
          n = !1;
        }
        if (n)
          e = t.contentWindow;
        else
          break;
        t = it(e.document);
      }
      return t;
    }
    function vs(e) {
      var t = e && e.nodeName && e.nodeName.toLowerCase();
      return t && (t === "input" && (e.type === "text" || e.type === "search" || e.type === "tel" || e.type === "url" || e.type === "password") || t === "textarea" || e.contentEditable === "true");
    }
    function Kl(e) {
      var t = au(), n = e.focusedElem, i = e.selectionRange;
      if (t !== n && n && n.ownerDocument && su(n.ownerDocument.documentElement, n)) {
        if (i !== null && vs(n)) {
          if (t = i.start, e = i.end, e === void 0 && (e = t), "selectionStart" in n)
            n.selectionStart = t, n.selectionEnd = Math.min(e, n.value.length);
          else if (e = (t = n.ownerDocument || document) && t.defaultView || window, e.getSelection) {
            e = e.getSelection();
            var f = n.textContent.length, g = Math.min(i.start, f);
            i = i.end === void 0 ? g : Math.min(i.end, f), !e.extend && g > i && (f = i, i = g, g = f), f = ou(n, g);
            var x = ou(
              n,
              i
            );
            f && x && (e.rangeCount !== 1 || e.anchorNode !== f.node || e.anchorOffset !== f.offset || e.focusNode !== x.node || e.focusOffset !== x.offset) && (t = t.createRange(), t.setStart(f.node, f.offset), e.removeAllRanges(), g > i ? (e.addRange(t), e.extend(x.node, x.offset)) : (t.setEnd(x.node, x.offset), e.addRange(t)));
          }
        }
        for (t = [], e = n; e = e.parentNode; )
          e.nodeType === 1 && t.push({ element: e, left: e.scrollLeft, top: e.scrollTop });
        for (typeof n.focus == "function" && n.focus(), n = 0; n < t.length; n++)
          e = t[n], e.element.scrollLeft = e.left, e.element.scrollTop = e.top;
      }
    }
    var Xl = pe && "documentMode" in document && 11 >= document.documentMode, $r = null, ys = null, Ri = null, ws = !1;
    function uu(e, t, n) {
      var i = n.window === n ? n.document : n.nodeType === 9 ? n : n.ownerDocument;
      ws || $r == null || $r !== it(i) || (i = $r, "selectionStart" in i && vs(i) ? i = { start: i.selectionStart, end: i.selectionEnd } : (i = (i.ownerDocument && i.ownerDocument.defaultView || window).getSelection(), i = { anchorNode: i.anchorNode, anchorOffset: i.anchorOffset, focusNode: i.focusNode, focusOffset: i.focusOffset }), Ri && Ii(Ri, i) || (Ri = i, i = ho(ys, "onSelect"), 0 < i.length && (t = new cs("onSelect", "select", null, t, n), e.push({ event: t, listeners: i }), t.target = $r)));
    }
    function lo(e, t) {
      var n = {};
      return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n;
    }
    var Qr = { animationend: lo("Animation", "AnimationEnd"), animationiteration: lo("Animation", "AnimationIteration"), animationstart: lo("Animation", "AnimationStart"), transitionend: lo("Transition", "TransitionEnd") }, Es = {}, cu = {};
    pe && (cu = document.createElement("div").style, "AnimationEvent" in window || (delete Qr.animationend.animation, delete Qr.animationiteration.animation, delete Qr.animationstart.animation), "TransitionEvent" in window || delete Qr.transitionend.transition);
    function po(e) {
      if (Es[e])
        return Es[e];
      if (!Qr[e])
        return e;
      var t = Qr[e], n;
      for (n in t)
        if (t.hasOwnProperty(n) && n in cu)
          return Es[e] = t[n];
      return e;
    }
    var lu = po("animationend"), du = po("animationiteration"), pu = po("animationstart"), fu = po("transitionend"), hu = /* @__PURE__ */ new Map(), mu = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");
    function ur(e, t) {
      hu.set(e, t), Te(t, [e]);
    }
    for (var Cs = 0; Cs < mu.length; Cs++) {
      var Ss = mu[Cs], Yl = Ss.toLowerCase(), $l = Ss[0].toUpperCase() + Ss.slice(1);
      ur(Yl, "on" + $l);
    }
    ur(lu, "onAnimationEnd"), ur(du, "onAnimationIteration"), ur(pu, "onAnimationStart"), ur("dblclick", "onDoubleClick"), ur("focusin", "onFocus"), ur("focusout", "onBlur"), ur(fu, "onTransitionEnd"), je("onMouseEnter", ["mouseout", "mouseover"]), je("onMouseLeave", ["mouseout", "mouseover"]), je("onPointerEnter", ["pointerout", "pointerover"]), je("onPointerLeave", ["pointerout", "pointerover"]), Te("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")), Te("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")), Te("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]), Te("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")), Te("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")), Te("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
    var Ai = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), Ql = new Set("cancel close invalid load scroll toggle".split(" ").concat(Ai));
    function gu(e, t, n) {
      var i = e.type || "unknown-event";
      e.currentTarget = n, rt(i, t, void 0, e), e.currentTarget = null;
    }
    function vu(e, t) {
      t = (t & 4) !== 0;
      for (var n = 0; n < e.length; n++) {
        var i = e[n], f = i.event;
        i = i.listeners;
        e: {
          var g = void 0;
          if (t)
            for (var x = i.length - 1; 0 <= x; x--) {
              var j = i[x], B = j.instance, ne = j.currentTarget;
              if (j = j.listener, B !== g && f.isPropagationStopped())
                break e;
              gu(f, j, ne), g = B;
            }
          else
            for (x = 0; x < i.length; x++) {
              if (j = i[x], B = j.instance, ne = j.currentTarget, j = j.listener, B !== g && f.isPropagationStopped())
                break e;
              gu(f, j, ne), g = B;
            }
        }
      }
      if (ie)
        throw e = le, ie = !1, le = null, e;
    }
    function Et(e, t) {
      var n = t[As];
      n === void 0 && (n = t[As] = /* @__PURE__ */ new Set());
      var i = e + "__bubble";
      n.has(i) || (yu(t, e, 2, !1), n.add(i));
    }
    function bs(e, t, n) {
      var i = 0;
      t && (i |= 4), yu(n, e, i, t);
    }
    var fo = "_reactListening" + Math.random().toString(36).slice(2);
    function Ni(e) {
      if (!e[fo]) {
        e[fo] = !0, ke.forEach(function(n) {
          n !== "selectionchange" && (Ql.has(n) || bs(n, !1, e), bs(n, !0, e));
        });
        var t = e.nodeType === 9 ? e : e.ownerDocument;
        t === null || t[fo] || (t[fo] = !0, bs("selectionchange", !1, t));
      }
    }
    function yu(e, t, n, i) {
      switch (io(t)) {
        case 1:
          var f = $e;
          break;
        case 4:
          f = wt;
          break;
        default:
          f = Wn;
      }
      n = f.bind(null, t, n, e), f = void 0, !y || t !== "touchstart" && t !== "touchmove" && t !== "wheel" || (f = !0), i ? f !== void 0 ? e.addEventListener(t, n, { capture: !0, passive: f }) : e.addEventListener(t, n, !0) : f !== void 0 ? e.addEventListener(t, n, { passive: f }) : e.addEventListener(t, n, !1);
    }
    function ks(e, t, n, i, f) {
      var g = i;
      if (!(t & 1) && !(t & 2) && i !== null)
        e:
          for (; ; ) {
            if (i === null)
              return;
            var x = i.tag;
            if (x === 3 || x === 4) {
              var j = i.stateNode.containerInfo;
              if (j === f || j.nodeType === 8 && j.parentNode === f)
                break;
              if (x === 4)
                for (x = i.return; x !== null; ) {
                  var B = x.tag;
                  if ((B === 3 || B === 4) && (B = x.stateNode.containerInfo, B === f || B.nodeType === 8 && B.parentNode === f))
                    return;
                  x = x.return;
                }
              for (; j !== null; ) {
                if (x = Ar(j), x === null)
                  return;
                if (B = x.tag, B === 5 || B === 6) {
                  i = g = x;
                  continue e;
                }
                j = j.parentNode;
              }
            }
            i = i.return;
          }
      br(function() {
        var ne = g, ve = Hr(n), be = [];
        e: {
          var ge = hu.get(e);
          if (ge !== void 0) {
            var Me = cs, Fe = e;
            switch (e) {
              case "keypress":
                if (so(n) === 0)
                  break e;
              case "keydown":
              case "keyup":
                Me = xl;
                break;
              case "focusin":
                Fe = "focus", Me = ps;
                break;
              case "focusout":
                Fe = "blur", Me = ps;
                break;
              case "beforeblur":
              case "afterblur":
                Me = ps;
                break;
              case "click":
                if (n.button === 2)
                  break e;
              case "auxclick":
              case "dblclick":
              case "mousedown":
              case "mousemove":
              case "mouseup":
              case "mouseout":
              case "mouseover":
              case "contextmenu":
                Me = Ha;
                break;
              case "drag":
              case "dragend":
              case "dragenter":
              case "dragexit":
              case "dragleave":
              case "dragover":
              case "dragstart":
              case "drop":
                Me = ml;
                break;
              case "touchcancel":
              case "touchend":
              case "touchmove":
              case "touchstart":
                Me = Al;
                break;
              case lu:
              case du:
              case pu:
                Me = yl;
                break;
              case fu:
                Me = Pl;
                break;
              case "scroll":
                Me = fl;
                break;
              case "wheel":
                Me = Ll;
                break;
              case "copy":
              case "cut":
              case "paste":
                Me = El;
                break;
              case "gotpointercapture":
              case "lostpointercapture":
              case "pointercancel":
              case "pointerdown":
              case "pointermove":
              case "pointerout":
              case "pointerover":
              case "pointerup":
                Me = Ga;
            }
            var qe = (t & 4) !== 0, Rt = !qe && e === "scroll", J = qe ? ge !== null ? ge + "Capture" : null : ge;
            qe = [];
            for (var K = ne, Z; K !== null; ) {
              Z = K;
              var xe = Z.stateNode;
              if (Z.tag === 5 && xe !== null && (Z = xe, J !== null && (xe = M(K, J), xe != null && qe.push(Pi(K, xe, Z)))), Rt)
                break;
              K = K.return;
            }
            0 < qe.length && (ge = new Me(ge, Fe, null, n, ve), be.push({ event: ge, listeners: qe }));
          }
        }
        if (!(t & 7)) {
          e: {
            if (ge = e === "mouseover" || e === "pointerover", Me = e === "mouseout" || e === "pointerout", ge && n !== Br && (Fe = n.relatedTarget || n.fromElement) && (Ar(Fe) || Fe[Yn]))
              break e;
            if ((Me || ge) && (ge = ve.window === ve ? ve : (ge = ve.ownerDocument) ? ge.defaultView || ge.parentWindow : window, Me ? (Fe = n.relatedTarget || n.toElement, Me = ne, Fe = Fe ? Ar(Fe) : null, Fe !== null && (Rt = Ze(Fe), Fe !== Rt || Fe.tag !== 5 && Fe.tag !== 6) && (Fe = null)) : (Me = null, Fe = ne), Me !== Fe)) {
              if (qe = Ha, xe = "onMouseLeave", J = "onMouseEnter", K = "mouse", (e === "pointerout" || e === "pointerover") && (qe = Ga, xe = "onPointerLeave", J = "onPointerEnter", K = "pointer"), Rt = Me == null ? ge : ei(Me), Z = Fe == null ? ge : ei(Fe), ge = new qe(xe, K + "leave", Me, n, ve), ge.target = Rt, ge.relatedTarget = Z, xe = null, Ar(ve) === ne && (qe = new qe(J, K + "enter", Fe, n, ve), qe.target = Z, qe.relatedTarget = Rt, xe = qe), Rt = xe, Me && Fe)
                t: {
                  for (qe = Me, J = Fe, K = 0, Z = qe; Z; Z = Jr(Z))
                    K++;
                  for (Z = 0, xe = J; xe; xe = Jr(xe))
                    Z++;
                  for (; 0 < K - Z; )
                    qe = Jr(qe), K--;
                  for (; 0 < Z - K; )
                    J = Jr(J), Z--;
                  for (; K--; ) {
                    if (qe === J || J !== null && qe === J.alternate)
                      break t;
                    qe = Jr(qe), J = Jr(J);
                  }
                  qe = null;
                }
              else
                qe = null;
              Me !== null && wu(be, ge, Me, qe, !1), Fe !== null && Rt !== null && wu(be, Rt, Fe, qe, !0);
            }
          }
          e: {
            if (ge = ne ? ei(ne) : window, Me = ge.nodeName && ge.nodeName.toLowerCase(), Me === "select" || Me === "input" && ge.type === "file")
              var Be = Wl;
            else if (Ja(ge))
              if (eu)
                Be = Vl;
              else {
                Be = Bl;
                var Xe = ql;
              }
            else
              (Me = ge.nodeName) && Me.toLowerCase() === "input" && (ge.type === "checkbox" || ge.type === "radio") && (Be = Hl);
            if (Be && (Be = Be(e, ne))) {
              Za(be, Be, n, ve);
              break e;
            }
            Xe && Xe(e, ge, ne), e === "focusout" && (Xe = ge._wrapperState) && Xe.controlled && ge.type === "number" && T(ge, "number", ge.value);
          }
          switch (Xe = ne ? ei(ne) : window, e) {
            case "focusin":
              (Ja(Xe) || Xe.contentEditable === "true") && ($r = Xe, ys = ne, Ri = null);
              break;
            case "focusout":
              Ri = ys = $r = null;
              break;
            case "mousedown":
              ws = !0;
              break;
            case "contextmenu":
            case "mouseup":
            case "dragend":
              ws = !1, uu(be, n, ve);
              break;
            case "selectionchange":
              if (Xl)
                break;
            case "keydown":
            case "keyup":
              uu(be, n, ve);
          }
          var Ye;
          if (hs)
            e: {
              switch (e) {
                case "compositionstart":
                  var Je = "onCompositionStart";
                  break e;
                case "compositionend":
                  Je = "onCompositionEnd";
                  break e;
                case "compositionupdate":
                  Je = "onCompositionUpdate";
                  break e;
              }
              Je = void 0;
            }
          else
            Yr ? $a(e, n) && (Je = "onCompositionEnd") : e === "keydown" && n.keyCode === 229 && (Je = "onCompositionStart");
          Je && (Ka && n.locale !== "ko" && (Yr || Je !== "onCompositionStart" ? Je === "onCompositionEnd" && Yr && (Ye = qa()) : (ar = ve, us = "value" in ar ? ar.value : ar.textContent, Yr = !0)), Xe = ho(ne, Je), 0 < Xe.length && (Je = new Va(Je, e, null, n, ve), be.push({ event: Je, listeners: Xe }), Ye ? Je.data = Ye : (Ye = Qa(n), Ye !== null && (Je.data = Ye)))), (Ye = Dl ? jl(e, n) : Ul(e, n)) && (ne = ho(ne, "onBeforeInput"), 0 < ne.length && (ve = new Va("onBeforeInput", "beforeinput", null, n, ve), be.push({ event: ve, listeners: ne }), ve.data = Ye));
        }
        vu(be, t);
      });
    }
    function Pi(e, t, n) {
      return { instance: e, listener: t, currentTarget: n };
    }
    function ho(e, t) {
      for (var n = t + "Capture", i = []; e !== null; ) {
        var f = e, g = f.stateNode;
        f.tag === 5 && g !== null && (f = g, g = M(e, n), g != null && i.unshift(Pi(e, g, f)), g = M(e, t), g != null && i.push(Pi(e, g, f))), e = e.return;
      }
      return i;
    }
    function Jr(e) {
      if (e === null)
        return null;
      do
        e = e.return;
      while (e && e.tag !== 5);
      return e || null;
    }
    function wu(e, t, n, i, f) {
      for (var g = t._reactName, x = []; n !== null && n !== i; ) {
        var j = n, B = j.alternate, ne = j.stateNode;
        if (B !== null && B === i)
          break;
        j.tag === 5 && ne !== null && (j = ne, f ? (B = M(n, g), B != null && x.unshift(Pi(n, B, j))) : f || (B = M(n, g), B != null && x.push(Pi(n, B, j)))), n = n.return;
      }
      x.length !== 0 && e.push({ event: t, listeners: x });
    }
    var Jl = /\r\n?/g, Zl = /\u0000|\uFFFD/g;
    function Eu(e) {
      return (typeof e == "string" ? e : "" + e).replace(Jl, `
  `).replace(Zl, "");
    }
    function mo(e, t, n) {
      if (t = Eu(t), Eu(e) !== t && n)
        throw Error(Q(425));
    }
    function go() {
    }
    var Ts = null, _s = null;
    function xs(e, t) {
      return e === "textarea" || e === "noscript" || typeof t.children == "string" || typeof t.children == "number" || typeof t.dangerouslySetInnerHTML == "object" && t.dangerouslySetInnerHTML !== null && t.dangerouslySetInnerHTML.__html != null;
    }
    var Is = typeof setTimeout == "function" ? setTimeout : void 0, ed = typeof clearTimeout == "function" ? clearTimeout : void 0, Cu = typeof Promise == "function" ? Promise : void 0, td = typeof queueMicrotask == "function" ? queueMicrotask : typeof Cu < "u" ? function(e) {
      return Cu.resolve(null).then(e).catch(nd);
    } : Is;
    function nd(e) {
      setTimeout(function() {
        throw e;
      });
    }
    function Rs(e, t) {
      var n = t, i = 0;
      do {
        var f = n.nextSibling;
        if (e.removeChild(n), f && f.nodeType === 8)
          if (n = f.data, n === "/$") {
            if (i === 0) {
              e.removeChild(f), sr(t);
              return;
            }
            i--;
          } else
            n !== "$" && n !== "$?" && n !== "$!" || i++;
        n = f;
      } while (n);
      sr(t);
    }
    function cr(e) {
      for (; e != null; e = e.nextSibling) {
        var t = e.nodeType;
        if (t === 1 || t === 3)
          break;
        if (t === 8) {
          if (t = e.data, t === "$" || t === "$!" || t === "$?")
            break;
          if (t === "/$")
            return null;
        }
      }
      return e;
    }
    function Su(e) {
      e = e.previousSibling;
      for (var t = 0; e; ) {
        if (e.nodeType === 8) {
          var n = e.data;
          if (n === "$" || n === "$!" || n === "$?") {
            if (t === 0)
              return e;
            t--;
          } else
            n === "/$" && t++;
        }
        e = e.previousSibling;
      }
      return null;
    }
    var Zr = Math.random().toString(36).slice(2), qn = "__reactFiber$" + Zr, Oi = "__reactProps$" + Zr, Yn = "__reactContainer$" + Zr, As = "__reactEvents$" + Zr, rd = "__reactListeners$" + Zr, id = "__reactHandles$" + Zr;
    function Ar(e) {
      var t = e[qn];
      if (t)
        return t;
      for (var n = e.parentNode; n; ) {
        if (t = n[Yn] || n[qn]) {
          if (n = t.alternate, t.child !== null || n !== null && n.child !== null)
            for (e = Su(e); e !== null; ) {
              if (n = e[qn])
                return n;
              e = Su(e);
            }
          return t;
        }
        e = n, n = e.parentNode;
      }
      return null;
    }
    function Li(e) {
      return e = e[qn] || e[Yn], !e || e.tag !== 5 && e.tag !== 6 && e.tag !== 13 && e.tag !== 3 ? null : e;
    }
    function ei(e) {
      if (e.tag === 5 || e.tag === 6)
        return e.stateNode;
      throw Error(Q(33));
    }
    function vo(e) {
      return e[Oi] || null;
    }
    var Ns = [], ti = -1;
    function lr(e) {
      return { current: e };
    }
    function Ct(e) {
      0 > ti || (e.current = Ns[ti], Ns[ti] = null, ti--);
    }
    function gt(e, t) {
      ti++, Ns[ti] = e.current, e.current = t;
    }
    var dr = {}, Gt = lr(dr), tn = lr(!1), Nr = dr;
    function ni(e, t) {
      var n = e.type.contextTypes;
      if (!n)
        return dr;
      var i = e.stateNode;
      if (i && i.__reactInternalMemoizedUnmaskedChildContext === t)
        return i.__reactInternalMemoizedMaskedChildContext;
      var f = {}, g;
      for (g in n)
        f[g] = t[g];
      return i && (e = e.stateNode, e.__reactInternalMemoizedUnmaskedChildContext = t, e.__reactInternalMemoizedMaskedChildContext = f), f;
    }
    function nn(e) {
      return e = e.childContextTypes, e != null;
    }
    function yo() {
      Ct(tn), Ct(Gt);
    }
    function bu(e, t, n) {
      if (Gt.current !== dr)
        throw Error(Q(168));
      gt(Gt, t), gt(tn, n);
    }
    function ku(e, t, n) {
      var i = e.stateNode;
      if (t = t.childContextTypes, typeof i.getChildContext != "function")
        return n;
      i = i.getChildContext();
      for (var f in i)
        if (!(f in t))
          throw Error(Q(108, Ee(e) || "Unknown", f));
      return se({}, n, i);
    }
    function wo(e) {
      return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || dr, Nr = Gt.current, gt(Gt, e), gt(tn, tn.current), !0;
    }
    function Tu(e, t, n) {
      var i = e.stateNode;
      if (!i)
        throw Error(Q(169));
      n ? (e = ku(e, t, Nr), i.__reactInternalMemoizedMergedChildContext = e, Ct(tn), Ct(Gt), gt(Gt, e)) : Ct(tn), gt(tn, n);
    }
    var $n = null, Eo = !1, Ps = !1;
    function _u(e) {
      $n === null ? $n = [e] : $n.push(e);
    }
    function od(e) {
      Eo = !0, _u(e);
    }
    function pr() {
      if (!Ps && $n !== null) {
        Ps = !0;
        var e = 0, t = dt;
        try {
          var n = $n;
          for (dt = 1; e < n.length; e++) {
            var i = n[e];
            do
              i = i(!0);
            while (i !== null);
          }
          $n = null, Eo = !1;
        } catch (f) {
          throw $n !== null && ($n = $n.slice(e + 1)), He(jn, pr), f;
        } finally {
          dt = t, Ps = !1;
        }
      }
      return null;
    }
    var ri = [], ii = 0, Co = null, So = 0, vn = [], yn = 0, Pr = null, Qn = 1, Jn = "";
    function Or(e, t) {
      ri[ii++] = So, ri[ii++] = Co, Co = e, So = t;
    }
    function xu(e, t, n) {
      vn[yn++] = Qn, vn[yn++] = Jn, vn[yn++] = Pr, Pr = e;
      var i = Qn;
      e = Jn;
      var f = 32 - Ot(i) - 1;
      i &= ~(1 << f), n += 1;
      var g = 32 - Ot(t) + f;
      if (30 < g) {
        var x = f - f % 5;
        g = (i & (1 << x) - 1).toString(32), i >>= x, f -= x, Qn = 1 << 32 - Ot(t) + f | n << f | i, Jn = g + e;
      } else
        Qn = 1 << g | n << f | i, Jn = e;
    }
    function Os(e) {
      e.return !== null && (Or(e, 1), xu(e, 1, 0));
    }
    function Ls(e) {
      for (; e === Co; )
        Co = ri[--ii], ri[ii] = null, So = ri[--ii], ri[ii] = null;
      for (; e === Pr; )
        Pr = vn[--yn], vn[yn] = null, Jn = vn[--yn], vn[yn] = null, Qn = vn[--yn], vn[yn] = null;
    }
    var ln = null, dn = null, St = !1, An = null;
    function Iu(e, t) {
      var n = Sn(5, null, null, 0);
      n.elementType = "DELETED", n.stateNode = t, n.return = e, t = e.deletions, t === null ? (e.deletions = [n], e.flags |= 16) : t.push(n);
    }
    function Ru(e, t) {
      switch (e.tag) {
        case 5:
          var n = e.type;
          return t = t.nodeType !== 1 || n.toLowerCase() !== t.nodeName.toLowerCase() ? null : t, t !== null ? (e.stateNode = t, ln = e, dn = cr(t.firstChild), !0) : !1;
        case 6:
          return t = e.pendingProps === "" || t.nodeType !== 3 ? null : t, t !== null ? (e.stateNode = t, ln = e, dn = null, !0) : !1;
        case 13:
          return t = t.nodeType !== 8 ? null : t, t !== null ? (n = Pr !== null ? { id: Qn, overflow: Jn } : null, e.memoizedState = { dehydrated: t, treeContext: n, retryLane: 1073741824 }, n = Sn(18, null, null, 0), n.stateNode = t, n.return = e, e.child = n, ln = e, dn = null, !0) : !1;
        default:
          return !1;
      }
    }
    function Ms(e) {
      return (e.mode & 1) !== 0 && (e.flags & 128) === 0;
    }
    function Ds(e) {
      if (St) {
        var t = dn;
        if (t) {
          var n = t;
          if (!Ru(e, t)) {
            if (Ms(e))
              throw Error(Q(418));
            t = cr(n.nextSibling);
            var i = ln;
            t && Ru(e, t) ? Iu(i, n) : (e.flags = e.flags & -4097 | 2, St = !1, ln = e);
          }
        } else {
          if (Ms(e))
            throw Error(Q(418));
          e.flags = e.flags & -4097 | 2, St = !1, ln = e;
        }
      }
    }
    function Au(e) {
      for (e = e.return; e !== null && e.tag !== 5 && e.tag !== 3 && e.tag !== 13; )
        e = e.return;
      ln = e;
    }
    function bo(e) {
      if (e !== ln)
        return !1;
      if (!St)
        return Au(e), St = !0, !1;
      var t;
      if ((t = e.tag !== 3) && !(t = e.tag !== 5) && (t = e.type, t = t !== "head" && t !== "body" && !xs(e.type, e.memoizedProps)), t && (t = dn)) {
        if (Ms(e))
          throw Nu(), Error(Q(418));
        for (; t; )
          Iu(e, t), t = cr(t.nextSibling);
      }
      if (Au(e), e.tag === 13) {
        if (e = e.memoizedState, e = e !== null ? e.dehydrated : null, !e)
          throw Error(Q(317));
        e: {
          for (e = e.nextSibling, t = 0; e; ) {
            if (e.nodeType === 8) {
              var n = e.data;
              if (n === "/$") {
                if (t === 0) {
                  dn = cr(e.nextSibling);
                  break e;
                }
                t--;
              } else
                n !== "$" && n !== "$!" && n !== "$?" || t++;
            }
            e = e.nextSibling;
          }
          dn = null;
        }
      } else
        dn = ln ? cr(e.stateNode.nextSibling) : null;
      return !0;
    }
    function Nu() {
      for (var e = dn; e; )
        e = cr(e.nextSibling);
    }
    function oi() {
      dn = ln = null, St = !1;
    }
    function js(e) {
      An === null ? An = [e] : An.push(e);
    }
    var sd = l.ReactCurrentBatchConfig;
    function Mi(e, t, n) {
      if (e = n.ref, e !== null && typeof e != "function" && typeof e != "object") {
        if (n._owner) {
          if (n = n._owner, n) {
            if (n.tag !== 1)
              throw Error(Q(309));
            var i = n.stateNode;
          }
          if (!i)
            throw Error(Q(147, e));
          var f = i, g = "" + e;
          return t !== null && t.ref !== null && typeof t.ref == "function" && t.ref._stringRef === g ? t.ref : (t = function(x) {
            var j = f.refs;
            x === null ? delete j[g] : j[g] = x;
          }, t._stringRef = g, t);
        }
        if (typeof e != "string")
          throw Error(Q(284));
        if (!n._owner)
          throw Error(Q(290, e));
      }
      return e;
    }
    function ko(e, t) {
      throw e = Object.prototype.toString.call(t), Error(Q(31, e === "[object Object]" ? "object with keys {" + Object.keys(t).join(", ") + "}" : e));
    }
    function Pu(e) {
      var t = e._init;
      return t(e._payload);
    }
    function Ou(e) {
      function t(J, K) {
        if (e) {
          var Z = J.deletions;
          Z === null ? (J.deletions = [K], J.flags |= 16) : Z.push(K);
        }
      }
      function n(J, K) {
        if (!e)
          return null;
        for (; K !== null; )
          t(J, K), K = K.sibling;
        return null;
      }
      function i(J, K) {
        for (J = /* @__PURE__ */ new Map(); K !== null; )
          K.key !== null ? J.set(K.key, K) : J.set(K.index, K), K = K.sibling;
        return J;
      }
      function f(J, K) {
        return J = Er(J, K), J.index = 0, J.sibling = null, J;
      }
      function g(J, K, Z) {
        return J.index = Z, e ? (Z = J.alternate, Z !== null ? (Z = Z.index, Z < K ? (J.flags |= 2, K) : Z) : (J.flags |= 2, K)) : (J.flags |= 1048576, K);
      }
      function x(J) {
        return e && J.alternate === null && (J.flags |= 2), J;
      }
      function j(J, K, Z, xe) {
        return K === null || K.tag !== 6 ? (K = Ia(Z, J.mode, xe), K.return = J, K) : (K = f(K, Z), K.return = J, K);
      }
      function B(J, K, Z, xe) {
        var Be = Z.type;
        return Be === C ? ve(J, K, Z.props.children, xe, Z.key) : K !== null && (K.elementType === Be || typeof Be == "object" && Be !== null && Be.$$typeof === ae && Pu(Be) === K.type) ? (xe = f(K, Z.props), xe.ref = Mi(J, K, Z), xe.return = J, xe) : (xe = Xo(Z.type, Z.key, Z.props, null, J.mode, xe), xe.ref = Mi(J, K, Z), xe.return = J, xe);
      }
      function ne(J, K, Z, xe) {
        return K === null || K.tag !== 4 || K.stateNode.containerInfo !== Z.containerInfo || K.stateNode.implementation !== Z.implementation ? (K = Ra(Z, J.mode, xe), K.return = J, K) : (K = f(K, Z.children || []), K.return = J, K);
      }
      function ve(J, K, Z, xe, Be) {
        return K === null || K.tag !== 7 ? (K = Wr(Z, J.mode, xe, Be), K.return = J, K) : (K = f(K, Z), K.return = J, K);
      }
      function be(J, K, Z) {
        if (typeof K == "string" && K !== "" || typeof K == "number")
          return K = Ia("" + K, J.mode, Z), K.return = J, K;
        if (typeof K == "object" && K !== null) {
          switch (K.$$typeof) {
            case m:
              return Z = Xo(K.type, K.key, K.props, null, J.mode, Z), Z.ref = Mi(J, null, K), Z.return = J, Z;
            case v:
              return K = Ra(K, J.mode, Z), K.return = J, K;
            case ae:
              var xe = K._init;
              return be(J, xe(K._payload), Z);
          }
          if (A(K) || Ne(K))
            return K = Wr(K, J.mode, Z, null), K.return = J, K;
          ko(J, K);
        }
        return null;
      }
      function ge(J, K, Z, xe) {
        var Be = K !== null ? K.key : null;
        if (typeof Z == "string" && Z !== "" || typeof Z == "number")
          return Be !== null ? null : j(J, K, "" + Z, xe);
        if (typeof Z == "object" && Z !== null) {
          switch (Z.$$typeof) {
            case m:
              return Z.key === Be ? B(J, K, Z, xe) : null;
            case v:
              return Z.key === Be ? ne(J, K, Z, xe) : null;
            case ae:
              return Be = Z._init, ge(
                J,
                K,
                Be(Z._payload),
                xe
              );
          }
          if (A(Z) || Ne(Z))
            return Be !== null ? null : ve(J, K, Z, xe, null);
          ko(J, Z);
        }
        return null;
      }
      function Me(J, K, Z, xe, Be) {
        if (typeof xe == "string" && xe !== "" || typeof xe == "number")
          return J = J.get(Z) || null, j(K, J, "" + xe, Be);
        if (typeof xe == "object" && xe !== null) {
          switch (xe.$$typeof) {
            case m:
              return J = J.get(xe.key === null ? Z : xe.key) || null, B(K, J, xe, Be);
            case v:
              return J = J.get(xe.key === null ? Z : xe.key) || null, ne(K, J, xe, Be);
            case ae:
              var Xe = xe._init;
              return Me(J, K, Z, Xe(xe._payload), Be);
          }
          if (A(xe) || Ne(xe))
            return J = J.get(Z) || null, ve(K, J, xe, Be, null);
          ko(K, xe);
        }
        return null;
      }
      function Fe(J, K, Z, xe) {
        for (var Be = null, Xe = null, Ye = K, Je = K = 0, qt = null; Ye !== null && Je < Z.length; Je++) {
          Ye.index > Je ? (qt = Ye, Ye = null) : qt = Ye.sibling;
          var pt = ge(J, Ye, Z[Je], xe);
          if (pt === null) {
            Ye === null && (Ye = qt);
            break;
          }
          e && Ye && pt.alternate === null && t(J, Ye), K = g(pt, K, Je), Xe === null ? Be = pt : Xe.sibling = pt, Xe = pt, Ye = qt;
        }
        if (Je === Z.length)
          return n(J, Ye), St && Or(J, Je), Be;
        if (Ye === null) {
          for (; Je < Z.length; Je++)
            Ye = be(J, Z[Je], xe), Ye !== null && (K = g(Ye, K, Je), Xe === null ? Be = Ye : Xe.sibling = Ye, Xe = Ye);
          return St && Or(J, Je), Be;
        }
        for (Ye = i(J, Ye); Je < Z.length; Je++)
          qt = Me(Ye, J, Je, Z[Je], xe), qt !== null && (e && qt.alternate !== null && Ye.delete(qt.key === null ? Je : qt.key), K = g(qt, K, Je), Xe === null ? Be = qt : Xe.sibling = qt, Xe = qt);
        return e && Ye.forEach(function(Cr) {
          return t(J, Cr);
        }), St && Or(J, Je), Be;
      }
      function qe(J, K, Z, xe) {
        var Be = Ne(Z);
        if (typeof Be != "function")
          throw Error(Q(150));
        if (Z = Be.call(Z), Z == null)
          throw Error(Q(151));
        for (var Xe = Be = null, Ye = K, Je = K = 0, qt = null, pt = Z.next(); Ye !== null && !pt.done; Je++, pt = Z.next()) {
          Ye.index > Je ? (qt = Ye, Ye = null) : qt = Ye.sibling;
          var Cr = ge(J, Ye, pt.value, xe);
          if (Cr === null) {
            Ye === null && (Ye = qt);
            break;
          }
          e && Ye && Cr.alternate === null && t(J, Ye), K = g(Cr, K, Je), Xe === null ? Be = Cr : Xe.sibling = Cr, Xe = Cr, Ye = qt;
        }
        if (pt.done)
          return n(
            J,
            Ye
          ), St && Or(J, Je), Be;
        if (Ye === null) {
          for (; !pt.done; Je++, pt = Z.next())
            pt = be(J, pt.value, xe), pt !== null && (K = g(pt, K, Je), Xe === null ? Be = pt : Xe.sibling = pt, Xe = pt);
          return St && Or(J, Je), Be;
        }
        for (Ye = i(J, Ye); !pt.done; Je++, pt = Z.next())
          pt = Me(Ye, J, Je, pt.value, xe), pt !== null && (e && pt.alternate !== null && Ye.delete(pt.key === null ? Je : pt.key), K = g(pt, K, Je), Xe === null ? Be = pt : Xe.sibling = pt, Xe = pt);
        return e && Ye.forEach(function(Fd) {
          return t(J, Fd);
        }), St && Or(J, Je), Be;
      }
      function Rt(J, K, Z, xe) {
        if (typeof Z == "object" && Z !== null && Z.type === C && Z.key === null && (Z = Z.props.children), typeof Z == "object" && Z !== null) {
          switch (Z.$$typeof) {
            case m:
              e: {
                for (var Be = Z.key, Xe = K; Xe !== null; ) {
                  if (Xe.key === Be) {
                    if (Be = Z.type, Be === C) {
                      if (Xe.tag === 7) {
                        n(J, Xe.sibling), K = f(Xe, Z.props.children), K.return = J, J = K;
                        break e;
                      }
                    } else if (Xe.elementType === Be || typeof Be == "object" && Be !== null && Be.$$typeof === ae && Pu(Be) === Xe.type) {
                      n(J, Xe.sibling), K = f(Xe, Z.props), K.ref = Mi(J, Xe, Z), K.return = J, J = K;
                      break e;
                    }
                    n(J, Xe);
                    break;
                  } else
                    t(J, Xe);
                  Xe = Xe.sibling;
                }
                Z.type === C ? (K = Wr(Z.props.children, J.mode, xe, Z.key), K.return = J, J = K) : (xe = Xo(Z.type, Z.key, Z.props, null, J.mode, xe), xe.ref = Mi(J, K, Z), xe.return = J, J = xe);
              }
              return x(J);
            case v:
              e: {
                for (Xe = Z.key; K !== null; ) {
                  if (K.key === Xe)
                    if (K.tag === 4 && K.stateNode.containerInfo === Z.containerInfo && K.stateNode.implementation === Z.implementation) {
                      n(J, K.sibling), K = f(K, Z.children || []), K.return = J, J = K;
                      break e;
                    } else {
                      n(J, K);
                      break;
                    }
                  else
                    t(J, K);
                  K = K.sibling;
                }
                K = Ra(Z, J.mode, xe), K.return = J, J = K;
              }
              return x(J);
            case ae:
              return Xe = Z._init, Rt(J, K, Xe(Z._payload), xe);
          }
          if (A(Z))
            return Fe(J, K, Z, xe);
          if (Ne(Z))
            return qe(J, K, Z, xe);
          ko(J, Z);
        }
        return typeof Z == "string" && Z !== "" || typeof Z == "number" ? (Z = "" + Z, K !== null && K.tag === 6 ? (n(J, K.sibling), K = f(K, Z), K.return = J, J = K) : (n(J, K), K = Ia(Z, J.mode, xe), K.return = J, J = K), x(J)) : n(J, K);
      }
      return Rt;
    }
    var si = Ou(!0), Lu = Ou(!1), To = lr(null), _o = null, ai = null, Us = null;
    function Fs() {
      Us = ai = _o = null;
    }
    function zs(e) {
      var t = To.current;
      Ct(To), e._currentValue = t;
    }
    function Ws(e, t, n) {
      for (; e !== null; ) {
        var i = e.alternate;
        if ((e.childLanes & t) !== t ? (e.childLanes |= t, i !== null && (i.childLanes |= t)) : i !== null && (i.childLanes & t) !== t && (i.childLanes |= t), e === n)
          break;
        e = e.return;
      }
    }
    function ui(e, t) {
      _o = e, Us = ai = null, e = e.dependencies, e !== null && e.firstContext !== null && (e.lanes & t && (rn = !0), e.firstContext = null);
    }
    function wn(e) {
      var t = e._currentValue;
      if (Us !== e)
        if (e = { context: e, memoizedValue: t, next: null }, ai === null) {
          if (_o === null)
            throw Error(Q(308));
          ai = e, _o.dependencies = { lanes: 0, firstContext: e };
        } else
          ai = ai.next = e;
      return t;
    }
    var Lr = null;
    function qs(e) {
      Lr === null ? Lr = [e] : Lr.push(e);
    }
    function Mu(e, t, n, i) {
      var f = t.interleaved;
      return f === null ? (n.next = n, qs(t)) : (n.next = f.next, f.next = n), t.interleaved = n, Zn(e, i);
    }
    function Zn(e, t) {
      e.lanes |= t;
      var n = e.alternate;
      for (n !== null && (n.lanes |= t), n = e, e = e.return; e !== null; )
        e.childLanes |= t, n = e.alternate, n !== null && (n.childLanes |= t), n = e, e = e.return;
      return n.tag === 3 ? n.stateNode : null;
    }
    var fr = !1;
    function Bs(e) {
      e.updateQueue = { baseState: e.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, interleaved: null, lanes: 0 }, effects: null };
    }
    function Du(e, t) {
      e = e.updateQueue, t.updateQueue === e && (t.updateQueue = { baseState: e.baseState, firstBaseUpdate: e.firstBaseUpdate, lastBaseUpdate: e.lastBaseUpdate, shared: e.shared, effects: e.effects });
    }
    function er(e, t) {
      return { eventTime: e, lane: t, tag: 0, payload: null, callback: null, next: null };
    }
    function hr(e, t, n) {
      var i = e.updateQueue;
      if (i === null)
        return null;
      if (i = i.shared, ct & 2) {
        var f = i.pending;
        return f === null ? t.next = t : (t.next = f.next, f.next = t), i.pending = t, Zn(e, n);
      }
      return f = i.interleaved, f === null ? (t.next = t, qs(i)) : (t.next = f.next, f.next = t), i.interleaved = t, Zn(e, n);
    }
    function xo(e, t, n) {
      if (t = t.updateQueue, t !== null && (t = t.shared, (n & 4194240) !== 0)) {
        var i = t.lanes;
        i &= e.pendingLanes, n |= i, t.lanes = n, Ei(e, n);
      }
    }
    function ju(e, t) {
      var n = e.updateQueue, i = e.alternate;
      if (i !== null && (i = i.updateQueue, n === i)) {
        var f = null, g = null;
        if (n = n.firstBaseUpdate, n !== null) {
          do {
            var x = { eventTime: n.eventTime, lane: n.lane, tag: n.tag, payload: n.payload, callback: n.callback, next: null };
            g === null ? f = g = x : g = g.next = x, n = n.next;
          } while (n !== null);
          g === null ? f = g = t : g = g.next = t;
        } else
          f = g = t;
        n = { baseState: i.baseState, firstBaseUpdate: f, lastBaseUpdate: g, shared: i.shared, effects: i.effects }, e.updateQueue = n;
        return;
      }
      e = n.lastBaseUpdate, e === null ? n.firstBaseUpdate = t : e.next = t, n.lastBaseUpdate = t;
    }
    function Io(e, t, n, i) {
      var f = e.updateQueue;
      fr = !1;
      var g = f.firstBaseUpdate, x = f.lastBaseUpdate, j = f.shared.pending;
      if (j !== null) {
        f.shared.pending = null;
        var B = j, ne = B.next;
        B.next = null, x === null ? g = ne : x.next = ne, x = B;
        var ve = e.alternate;
        ve !== null && (ve = ve.updateQueue, j = ve.lastBaseUpdate, j !== x && (j === null ? ve.firstBaseUpdate = ne : j.next = ne, ve.lastBaseUpdate = B));
      }
      if (g !== null) {
        var be = f.baseState;
        x = 0, ve = ne = B = null, j = g;
        do {
          var ge = j.lane, Me = j.eventTime;
          if ((i & ge) === ge) {
            ve !== null && (ve = ve.next = {
              eventTime: Me,
              lane: 0,
              tag: j.tag,
              payload: j.payload,
              callback: j.callback,
              next: null
            });
            e: {
              var Fe = e, qe = j;
              switch (ge = t, Me = n, qe.tag) {
                case 1:
                  if (Fe = qe.payload, typeof Fe == "function") {
                    be = Fe.call(Me, be, ge);
                    break e;
                  }
                  be = Fe;
                  break e;
                case 3:
                  Fe.flags = Fe.flags & -65537 | 128;
                case 0:
                  if (Fe = qe.payload, ge = typeof Fe == "function" ? Fe.call(Me, be, ge) : Fe, ge == null)
                    break e;
                  be = se({}, be, ge);
                  break e;
                case 2:
                  fr = !0;
              }
            }
            j.callback !== null && j.lane !== 0 && (e.flags |= 64, ge = f.effects, ge === null ? f.effects = [j] : ge.push(j));
          } else
            Me = { eventTime: Me, lane: ge, tag: j.tag, payload: j.payload, callback: j.callback, next: null }, ve === null ? (ne = ve = Me, B = be) : ve = ve.next = Me, x |= ge;
          if (j = j.next, j === null) {
            if (j = f.shared.pending, j === null)
              break;
            ge = j, j = ge.next, ge.next = null, f.lastBaseUpdate = ge, f.shared.pending = null;
          }
        } while (!0);
        if (ve === null && (B = be), f.baseState = B, f.firstBaseUpdate = ne, f.lastBaseUpdate = ve, t = f.shared.interleaved, t !== null) {
          f = t;
          do
            x |= f.lane, f = f.next;
          while (f !== t);
        } else
          g === null && (f.shared.lanes = 0);
        jr |= x, e.lanes = x, e.memoizedState = be;
      }
    }
    function Uu(e, t, n) {
      if (e = t.effects, t.effects = null, e !== null)
        for (t = 0; t < e.length; t++) {
          var i = e[t], f = i.callback;
          if (f !== null) {
            if (i.callback = null, i = n, typeof f != "function")
              throw Error(Q(191, f));
            f.call(i);
          }
        }
    }
    var Di = {}, Bn = lr(Di), ji = lr(Di), Ui = lr(Di);
    function Mr(e) {
      if (e === Di)
        throw Error(Q(174));
      return e;
    }
    function Hs(e, t) {
      switch (gt(Ui, t), gt(ji, e), gt(Bn, Di), e = t.nodeType, e) {
        case 9:
        case 11:
          t = (t = t.documentElement) ? t.namespaceURI : ft(null, "");
          break;
        default:
          e = e === 8 ? t.parentNode : t, t = e.namespaceURI || null, e = e.tagName, t = ft(t, e);
      }
      Ct(Bn), gt(Bn, t);
    }
    function ci() {
      Ct(Bn), Ct(ji), Ct(Ui);
    }
    function Fu(e) {
      Mr(Ui.current);
      var t = Mr(Bn.current), n = ft(t, e.type);
      t !== n && (gt(ji, e), gt(Bn, n));
    }
    function Vs(e) {
      ji.current === e && (Ct(Bn), Ct(ji));
    }
    var bt = lr(0);
    function Ro(e) {
      for (var t = e; t !== null; ) {
        if (t.tag === 13) {
          var n = t.memoizedState;
          if (n !== null && (n = n.dehydrated, n === null || n.data === "$?" || n.data === "$!"))
            return t;
        } else if (t.tag === 19 && t.memoizedProps.revealOrder !== void 0) {
          if (t.flags & 128)
            return t;
        } else if (t.child !== null) {
          t.child.return = t, t = t.child;
          continue;
        }
        if (t === e)
          break;
        for (; t.sibling === null; ) {
          if (t.return === null || t.return === e)
            return null;
          t = t.return;
        }
        t.sibling.return = t.return, t = t.sibling;
      }
      return null;
    }
    var Gs = [];
    function Ks() {
      for (var e = 0; e < Gs.length; e++)
        Gs[e]._workInProgressVersionPrimary = null;
      Gs.length = 0;
    }
    var Ao = l.ReactCurrentDispatcher, Xs = l.ReactCurrentBatchConfig, Dr = 0, kt = null, Dt = null, zt = null, No = !1, Fi = !1, zi = 0, ad = 0;
    function Kt() {
      throw Error(Q(321));
    }
    function Ys(e, t) {
      if (t === null)
        return !1;
      for (var n = 0; n < t.length && n < e.length; n++)
        if (!Rn(e[n], t[n]))
          return !1;
      return !0;
    }
    function $s(e, t, n, i, f, g) {
      if (Dr = g, kt = t, t.memoizedState = null, t.updateQueue = null, t.lanes = 0, Ao.current = e === null || e.memoizedState === null ? dd : pd, e = n(i, f), Fi) {
        g = 0;
        do {
          if (Fi = !1, zi = 0, 25 <= g)
            throw Error(Q(301));
          g += 1, zt = Dt = null, t.updateQueue = null, Ao.current = fd, e = n(i, f);
        } while (Fi);
      }
      if (Ao.current = Lo, t = Dt !== null && Dt.next !== null, Dr = 0, zt = Dt = kt = null, No = !1, t)
        throw Error(Q(300));
      return e;
    }
    function Qs() {
      var e = zi !== 0;
      return zi = 0, e;
    }
    function Hn() {
      var e = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null };
      return zt === null ? kt.memoizedState = zt = e : zt = zt.next = e, zt;
    }
    function En() {
      if (Dt === null) {
        var e = kt.alternate;
        e = e !== null ? e.memoizedState : null;
      } else
        e = Dt.next;
      var t = zt === null ? kt.memoizedState : zt.next;
      if (t !== null)
        zt = t, Dt = e;
      else {
        if (e === null)
          throw Error(Q(310));
        Dt = e, e = { memoizedState: Dt.memoizedState, baseState: Dt.baseState, baseQueue: Dt.baseQueue, queue: Dt.queue, next: null }, zt === null ? kt.memoizedState = zt = e : zt = zt.next = e;
      }
      return zt;
    }
    function Wi(e, t) {
      return typeof t == "function" ? t(e) : t;
    }
    function Js(e) {
      var t = En(), n = t.queue;
      if (n === null)
        throw Error(Q(311));
      n.lastRenderedReducer = e;
      var i = Dt, f = i.baseQueue, g = n.pending;
      if (g !== null) {
        if (f !== null) {
          var x = f.next;
          f.next = g.next, g.next = x;
        }
        i.baseQueue = f = g, n.pending = null;
      }
      if (f !== null) {
        g = f.next, i = i.baseState;
        var j = x = null, B = null, ne = g;
        do {
          var ve = ne.lane;
          if ((Dr & ve) === ve)
            B !== null && (B = B.next = { lane: 0, action: ne.action, hasEagerState: ne.hasEagerState, eagerState: ne.eagerState, next: null }), i = ne.hasEagerState ? ne.eagerState : e(i, ne.action);
          else {
            var be = {
              lane: ve,
              action: ne.action,
              hasEagerState: ne.hasEagerState,
              eagerState: ne.eagerState,
              next: null
            };
            B === null ? (j = B = be, x = i) : B = B.next = be, kt.lanes |= ve, jr |= ve;
          }
          ne = ne.next;
        } while (ne !== null && ne !== g);
        B === null ? x = i : B.next = j, Rn(i, t.memoizedState) || (rn = !0), t.memoizedState = i, t.baseState = x, t.baseQueue = B, n.lastRenderedState = i;
      }
      if (e = n.interleaved, e !== null) {
        f = e;
        do
          g = f.lane, kt.lanes |= g, jr |= g, f = f.next;
        while (f !== e);
      } else
        f === null && (n.lanes = 0);
      return [t.memoizedState, n.dispatch];
    }
    function Zs(e) {
      var t = En(), n = t.queue;
      if (n === null)
        throw Error(Q(311));
      n.lastRenderedReducer = e;
      var i = n.dispatch, f = n.pending, g = t.memoizedState;
      if (f !== null) {
        n.pending = null;
        var x = f = f.next;
        do
          g = e(g, x.action), x = x.next;
        while (x !== f);
        Rn(g, t.memoizedState) || (rn = !0), t.memoizedState = g, t.baseQueue === null && (t.baseState = g), n.lastRenderedState = g;
      }
      return [g, i];
    }
    function zu() {
    }
    function Wu(e, t) {
      var n = kt, i = En(), f = t(), g = !Rn(i.memoizedState, f);
      if (g && (i.memoizedState = f, rn = !0), i = i.queue, ea(Hu.bind(null, n, i, e), [e]), i.getSnapshot !== t || g || zt !== null && zt.memoizedState.tag & 1) {
        if (n.flags |= 2048, qi(9, Bu.bind(null, n, i, f, t), void 0, null), Wt === null)
          throw Error(Q(349));
        Dr & 30 || qu(n, t, f);
      }
      return f;
    }
    function qu(e, t, n) {
      e.flags |= 16384, e = { getSnapshot: t, value: n }, t = kt.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, kt.updateQueue = t, t.stores = [e]) : (n = t.stores, n === null ? t.stores = [e] : n.push(e));
    }
    function Bu(e, t, n, i) {
      t.value = n, t.getSnapshot = i, Vu(t) && Gu(e);
    }
    function Hu(e, t, n) {
      return n(function() {
        Vu(t) && Gu(e);
      });
    }
    function Vu(e) {
      var t = e.getSnapshot;
      e = e.value;
      try {
        var n = t();
        return !Rn(e, n);
      } catch {
        return !0;
      }
    }
    function Gu(e) {
      var t = Zn(e, 1);
      t !== null && Ln(t, e, 1, -1);
    }
    function Ku(e) {
      var t = Hn();
      return typeof e == "function" && (e = e()), t.memoizedState = t.baseState = e, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: Wi, lastRenderedState: e }, t.queue = e, e = e.dispatch = ld.bind(null, kt, e), [t.memoizedState, e];
    }
    function qi(e, t, n, i) {
      return e = { tag: e, create: t, destroy: n, deps: i, next: null }, t = kt.updateQueue, t === null ? (t = { lastEffect: null, stores: null }, kt.updateQueue = t, t.lastEffect = e.next = e) : (n = t.lastEffect, n === null ? t.lastEffect = e.next = e : (i = n.next, n.next = e, e.next = i, t.lastEffect = e)), e;
    }
    function Xu() {
      return En().memoizedState;
    }
    function Po(e, t, n, i) {
      var f = Hn();
      kt.flags |= e, f.memoizedState = qi(1 | t, n, void 0, i === void 0 ? null : i);
    }
    function Oo(e, t, n, i) {
      var f = En();
      i = i === void 0 ? null : i;
      var g = void 0;
      if (Dt !== null) {
        var x = Dt.memoizedState;
        if (g = x.destroy, i !== null && Ys(i, x.deps)) {
          f.memoizedState = qi(t, n, g, i);
          return;
        }
      }
      kt.flags |= e, f.memoizedState = qi(1 | t, n, g, i);
    }
    function Yu(e, t) {
      return Po(8390656, 8, e, t);
    }
    function ea(e, t) {
      return Oo(2048, 8, e, t);
    }
    function $u(e, t) {
      return Oo(4, 2, e, t);
    }
    function Qu(e, t) {
      return Oo(4, 4, e, t);
    }
    function Ju(e, t) {
      if (typeof t == "function")
        return e = e(), t(e), function() {
          t(null);
        };
      if (t != null)
        return e = e(), t.current = e, function() {
          t.current = null;
        };
    }
    function Zu(e, t, n) {
      return n = n != null ? n.concat([e]) : null, Oo(4, 4, Ju.bind(null, t, e), n);
    }
    function ta() {
    }
    function ec(e, t) {
      var n = En();
      t = t === void 0 ? null : t;
      var i = n.memoizedState;
      return i !== null && t !== null && Ys(t, i[1]) ? i[0] : (n.memoizedState = [e, t], e);
    }
    function tc(e, t) {
      var n = En();
      t = t === void 0 ? null : t;
      var i = n.memoizedState;
      return i !== null && t !== null && Ys(t, i[1]) ? i[0] : (e = e(), n.memoizedState = [e, t], e);
    }
    function nc(e, t, n) {
      return Dr & 21 ? (Rn(n, t) || (n = Qt(), kt.lanes |= n, jr |= n, e.baseState = !0), t) : (e.baseState && (e.baseState = !1, rn = !0), e.memoizedState = n);
    }
    function ud(e, t) {
      var n = dt;
      dt = n !== 0 && 4 > n ? n : 4, e(!0);
      var i = Xs.transition;
      Xs.transition = {};
      try {
        e(!1), t();
      } finally {
        dt = n, Xs.transition = i;
      }
    }
    function rc() {
      return En().memoizedState;
    }
    function cd(e, t, n) {
      var i = yr(e);
      if (n = { lane: i, action: n, hasEagerState: !1, eagerState: null, next: null }, ic(e))
        oc(t, n);
      else if (n = Mu(e, t, n, i), n !== null) {
        var f = Zt();
        Ln(n, e, i, f), sc(n, t, i);
      }
    }
    function ld(e, t, n) {
      var i = yr(e), f = { lane: i, action: n, hasEagerState: !1, eagerState: null, next: null };
      if (ic(e))
        oc(t, f);
      else {
        var g = e.alternate;
        if (e.lanes === 0 && (g === null || g.lanes === 0) && (g = t.lastRenderedReducer, g !== null))
          try {
            var x = t.lastRenderedState, j = g(x, n);
            if (f.hasEagerState = !0, f.eagerState = j, Rn(j, x)) {
              var B = t.interleaved;
              B === null ? (f.next = f, qs(t)) : (f.next = B.next, B.next = f), t.interleaved = f;
              return;
            }
          } catch {
          } finally {
          }
        n = Mu(e, t, f, i), n !== null && (f = Zt(), Ln(n, e, i, f), sc(n, t, i));
      }
    }
    function ic(e) {
      var t = e.alternate;
      return e === kt || t !== null && t === kt;
    }
    function oc(e, t) {
      Fi = No = !0;
      var n = e.pending;
      n === null ? t.next = t : (t.next = n.next, n.next = t), e.pending = t;
    }
    function sc(e, t, n) {
      if (n & 4194240) {
        var i = t.lanes;
        i &= e.pendingLanes, n |= i, t.lanes = n, Ei(e, n);
      }
    }
    var Lo = { readContext: wn, useCallback: Kt, useContext: Kt, useEffect: Kt, useImperativeHandle: Kt, useInsertionEffect: Kt, useLayoutEffect: Kt, useMemo: Kt, useReducer: Kt, useRef: Kt, useState: Kt, useDebugValue: Kt, useDeferredValue: Kt, useTransition: Kt, useMutableSource: Kt, useSyncExternalStore: Kt, useId: Kt, unstable_isNewReconciler: !1 }, dd = { readContext: wn, useCallback: function(e, t) {
      return Hn().memoizedState = [e, t === void 0 ? null : t], e;
    }, useContext: wn, useEffect: Yu, useImperativeHandle: function(e, t, n) {
      return n = n != null ? n.concat([e]) : null, Po(
        4194308,
        4,
        Ju.bind(null, t, e),
        n
      );
    }, useLayoutEffect: function(e, t) {
      return Po(4194308, 4, e, t);
    }, useInsertionEffect: function(e, t) {
      return Po(4, 2, e, t);
    }, useMemo: function(e, t) {
      var n = Hn();
      return t = t === void 0 ? null : t, e = e(), n.memoizedState = [e, t], e;
    }, useReducer: function(e, t, n) {
      var i = Hn();
      return t = n !== void 0 ? n(t) : t, i.memoizedState = i.baseState = t, e = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }, i.queue = e, e = e.dispatch = cd.bind(null, kt, e), [i.memoizedState, e];
    }, useRef: function(e) {
      var t = Hn();
      return e = { current: e }, t.memoizedState = e;
    }, useState: Ku, useDebugValue: ta, useDeferredValue: function(e) {
      return Hn().memoizedState = e;
    }, useTransition: function() {
      var e = Ku(!1), t = e[0];
      return e = ud.bind(null, e[1]), Hn().memoizedState = e, [t, e];
    }, useMutableSource: function() {
    }, useSyncExternalStore: function(e, t, n) {
      var i = kt, f = Hn();
      if (St) {
        if (n === void 0)
          throw Error(Q(407));
        n = n();
      } else {
        if (n = t(), Wt === null)
          throw Error(Q(349));
        Dr & 30 || qu(i, t, n);
      }
      f.memoizedState = n;
      var g = { value: n, getSnapshot: t };
      return f.queue = g, Yu(Hu.bind(
        null,
        i,
        g,
        e
      ), [e]), i.flags |= 2048, qi(9, Bu.bind(null, i, g, n, t), void 0, null), n;
    }, useId: function() {
      var e = Hn(), t = Wt.identifierPrefix;
      if (St) {
        var n = Jn, i = Qn;
        n = (i & ~(1 << 32 - Ot(i) - 1)).toString(32) + n, t = ":" + t + "R" + n, n = zi++, 0 < n && (t += "H" + n.toString(32)), t += ":";
      } else
        n = ad++, t = ":" + t + "r" + n.toString(32) + ":";
      return e.memoizedState = t;
    }, unstable_isNewReconciler: !1 }, pd = {
      readContext: wn,
      useCallback: ec,
      useContext: wn,
      useEffect: ea,
      useImperativeHandle: Zu,
      useInsertionEffect: $u,
      useLayoutEffect: Qu,
      useMemo: tc,
      useReducer: Js,
      useRef: Xu,
      useState: function() {
        return Js(Wi);
      },
      useDebugValue: ta,
      useDeferredValue: function(e) {
        var t = En();
        return nc(t, Dt.memoizedState, e);
      },
      useTransition: function() {
        var e = Js(Wi)[0], t = En().memoizedState;
        return [e, t];
      },
      useMutableSource: zu,
      useSyncExternalStore: Wu,
      useId: rc,
      unstable_isNewReconciler: !1
    }, fd = { readContext: wn, useCallback: ec, useContext: wn, useEffect: ea, useImperativeHandle: Zu, useInsertionEffect: $u, useLayoutEffect: Qu, useMemo: tc, useReducer: Zs, useRef: Xu, useState: function() {
      return Zs(Wi);
    }, useDebugValue: ta, useDeferredValue: function(e) {
      var t = En();
      return Dt === null ? t.memoizedState = e : nc(t, Dt.memoizedState, e);
    }, useTransition: function() {
      var e = Zs(Wi)[0], t = En().memoizedState;
      return [e, t];
    }, useMutableSource: zu, useSyncExternalStore: Wu, useId: rc, unstable_isNewReconciler: !1 };
    function Nn(e, t) {
      if (e && e.defaultProps) {
        t = se({}, t), e = e.defaultProps;
        for (var n in e)
          t[n] === void 0 && (t[n] = e[n]);
        return t;
      }
      return t;
    }
    function na(e, t, n, i) {
      t = e.memoizedState, n = n(i, t), n = n == null ? t : se({}, t, n), e.memoizedState = n, e.lanes === 0 && (e.updateQueue.baseState = n);
    }
    var Mo = { isMounted: function(e) {
      return (e = e._reactInternals) ? Ze(e) === e : !1;
    }, enqueueSetState: function(e, t, n) {
      e = e._reactInternals;
      var i = Zt(), f = yr(e), g = er(i, f);
      g.payload = t, n != null && (g.callback = n), t = hr(e, g, f), t !== null && (Ln(t, e, f, i), xo(t, e, f));
    }, enqueueReplaceState: function(e, t, n) {
      e = e._reactInternals;
      var i = Zt(), f = yr(e), g = er(i, f);
      g.tag = 1, g.payload = t, n != null && (g.callback = n), t = hr(e, g, f), t !== null && (Ln(t, e, f, i), xo(t, e, f));
    }, enqueueForceUpdate: function(e, t) {
      e = e._reactInternals;
      var n = Zt(), i = yr(e), f = er(n, i);
      f.tag = 2, t != null && (f.callback = t), t = hr(e, f, i), t !== null && (Ln(t, e, i, n), xo(t, e, i));
    } };
    function ac(e, t, n, i, f, g, x) {
      return e = e.stateNode, typeof e.shouldComponentUpdate == "function" ? e.shouldComponentUpdate(i, g, x) : t.prototype && t.prototype.isPureReactComponent ? !Ii(n, i) || !Ii(f, g) : !0;
    }
    function uc(e, t, n) {
      var i = !1, f = dr, g = t.contextType;
      return typeof g == "object" && g !== null ? g = wn(g) : (f = nn(t) ? Nr : Gt.current, i = t.contextTypes, g = (i = i != null) ? ni(e, f) : dr), t = new t(n, g), e.memoizedState = t.state !== null && t.state !== void 0 ? t.state : null, t.updater = Mo, e.stateNode = t, t._reactInternals = e, i && (e = e.stateNode, e.__reactInternalMemoizedUnmaskedChildContext = f, e.__reactInternalMemoizedMaskedChildContext = g), t;
    }
    function cc(e, t, n, i) {
      e = t.state, typeof t.componentWillReceiveProps == "function" && t.componentWillReceiveProps(n, i), typeof t.UNSAFE_componentWillReceiveProps == "function" && t.UNSAFE_componentWillReceiveProps(n, i), t.state !== e && Mo.enqueueReplaceState(t, t.state, null);
    }
    function ra(e, t, n, i) {
      var f = e.stateNode;
      f.props = n, f.state = e.memoizedState, f.refs = {}, Bs(e);
      var g = t.contextType;
      typeof g == "object" && g !== null ? f.context = wn(g) : (g = nn(t) ? Nr : Gt.current, f.context = ni(e, g)), f.state = e.memoizedState, g = t.getDerivedStateFromProps, typeof g == "function" && (na(e, t, g, n), f.state = e.memoizedState), typeof t.getDerivedStateFromProps == "function" || typeof f.getSnapshotBeforeUpdate == "function" || typeof f.UNSAFE_componentWillMount != "function" && typeof f.componentWillMount != "function" || (t = f.state, typeof f.componentWillMount == "function" && f.componentWillMount(), typeof f.UNSAFE_componentWillMount == "function" && f.UNSAFE_componentWillMount(), t !== f.state && Mo.enqueueReplaceState(f, f.state, null), Io(e, n, f, i), f.state = e.memoizedState), typeof f.componentDidMount == "function" && (e.flags |= 4194308);
    }
    function li(e, t) {
      try {
        var n = "", i = t;
        do
          n += X(i), i = i.return;
        while (i);
        var f = n;
      } catch (g) {
        f = `
  Error generating stack: ` + g.message + `
  ` + g.stack;
      }
      return { value: e, source: t, stack: f, digest: null };
    }
    function ia(e, t, n) {
      return { value: e, source: null, stack: n ?? null, digest: t ?? null };
    }
    function oa(e, t) {
      try {
        console.error(t.value);
      } catch (n) {
        setTimeout(function() {
          throw n;
        });
      }
    }
    var hd = typeof WeakMap == "function" ? WeakMap : Map;
    function lc(e, t, n) {
      n = er(-1, n), n.tag = 3, n.payload = { element: null };
      var i = t.value;
      return n.callback = function() {
        qo || (qo = !0, Ea = i), oa(e, t);
      }, n;
    }
    function dc(e, t, n) {
      n = er(-1, n), n.tag = 3;
      var i = e.type.getDerivedStateFromError;
      if (typeof i == "function") {
        var f = t.value;
        n.payload = function() {
          return i(f);
        }, n.callback = function() {
          oa(e, t);
        };
      }
      var g = e.stateNode;
      return g !== null && typeof g.componentDidCatch == "function" && (n.callback = function() {
        oa(e, t), typeof i != "function" && (gr === null ? gr = /* @__PURE__ */ new Set([this]) : gr.add(this));
        var x = t.stack;
        this.componentDidCatch(t.value, { componentStack: x !== null ? x : "" });
      }), n;
    }
    function pc(e, t, n) {
      var i = e.pingCache;
      if (i === null) {
        i = e.pingCache = new hd();
        var f = /* @__PURE__ */ new Set();
        i.set(t, f);
      } else
        f = i.get(t), f === void 0 && (f = /* @__PURE__ */ new Set(), i.set(t, f));
      f.has(n) || (f.add(n), e = Id.bind(null, e, t, n), t.then(e, e));
    }
    function fc(e) {
      do {
        var t;
        if ((t = e.tag === 13) && (t = e.memoizedState, t = t !== null ? t.dehydrated !== null : !0), t)
          return e;
        e = e.return;
      } while (e !== null);
      return null;
    }
    function hc(e, t, n, i, f) {
      return e.mode & 1 ? (e.flags |= 65536, e.lanes = f, e) : (e === t ? e.flags |= 65536 : (e.flags |= 128, n.flags |= 131072, n.flags &= -52805, n.tag === 1 && (n.alternate === null ? n.tag = 17 : (t = er(-1, 1), t.tag = 2, hr(n, t, 1))), n.lanes |= 1), e);
    }
    var md = l.ReactCurrentOwner, rn = !1;
    function Jt(e, t, n, i) {
      t.child = e === null ? Lu(t, null, n, i) : si(t, e.child, n, i);
    }
    function mc(e, t, n, i, f) {
      n = n.render;
      var g = t.ref;
      return ui(t, f), i = $s(e, t, n, i, g, f), n = Qs(), e !== null && !rn ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~f, tr(e, t, f)) : (St && n && Os(t), t.flags |= 1, Jt(e, t, i, f), t.child);
    }
    function gc(e, t, n, i, f) {
      if (e === null) {
        var g = n.type;
        return typeof g == "function" && !xa(g) && g.defaultProps === void 0 && n.compare === null && n.defaultProps === void 0 ? (t.tag = 15, t.type = g, vc(e, t, g, i, f)) : (e = Xo(n.type, null, i, t, t.mode, f), e.ref = t.ref, e.return = t, t.child = e);
      }
      if (g = e.child, !(e.lanes & f)) {
        var x = g.memoizedProps;
        if (n = n.compare, n = n !== null ? n : Ii, n(x, i) && e.ref === t.ref)
          return tr(e, t, f);
      }
      return t.flags |= 1, e = Er(g, i), e.ref = t.ref, e.return = t, t.child = e;
    }
    function vc(e, t, n, i, f) {
      if (e !== null) {
        var g = e.memoizedProps;
        if (Ii(g, i) && e.ref === t.ref)
          if (rn = !1, t.pendingProps = i = g, (e.lanes & f) !== 0)
            e.flags & 131072 && (rn = !0);
          else
            return t.lanes = e.lanes, tr(e, t, f);
      }
      return sa(e, t, n, i, f);
    }
    function yc(e, t, n) {
      var i = t.pendingProps, f = i.children, g = e !== null ? e.memoizedState : null;
      if (i.mode === "hidden")
        if (!(t.mode & 1))
          t.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, gt(pi, pn), pn |= n;
        else {
          if (!(n & 1073741824))
            return e = g !== null ? g.baseLanes | n : n, t.lanes = t.childLanes = 1073741824, t.memoizedState = { baseLanes: e, cachePool: null, transitions: null }, t.updateQueue = null, gt(pi, pn), pn |= e, null;
          t.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, i = g !== null ? g.baseLanes : n, gt(pi, pn), pn |= i;
        }
      else
        g !== null ? (i = g.baseLanes | n, t.memoizedState = null) : i = n, gt(pi, pn), pn |= i;
      return Jt(e, t, f, n), t.child;
    }
    function wc(e, t) {
      var n = t.ref;
      (e === null && n !== null || e !== null && e.ref !== n) && (t.flags |= 512, t.flags |= 2097152);
    }
    function sa(e, t, n, i, f) {
      var g = nn(n) ? Nr : Gt.current;
      return g = ni(t, g), ui(t, f), n = $s(e, t, n, i, g, f), i = Qs(), e !== null && !rn ? (t.updateQueue = e.updateQueue, t.flags &= -2053, e.lanes &= ~f, tr(e, t, f)) : (St && i && Os(t), t.flags |= 1, Jt(e, t, n, f), t.child);
    }
    function Ec(e, t, n, i, f) {
      if (nn(n)) {
        var g = !0;
        wo(t);
      } else
        g = !1;
      if (ui(t, f), t.stateNode === null)
        jo(e, t), uc(t, n, i), ra(t, n, i, f), i = !0;
      else if (e === null) {
        var x = t.stateNode, j = t.memoizedProps;
        x.props = j;
        var B = x.context, ne = n.contextType;
        typeof ne == "object" && ne !== null ? ne = wn(ne) : (ne = nn(n) ? Nr : Gt.current, ne = ni(t, ne));
        var ve = n.getDerivedStateFromProps, be = typeof ve == "function" || typeof x.getSnapshotBeforeUpdate == "function";
        be || typeof x.UNSAFE_componentWillReceiveProps != "function" && typeof x.componentWillReceiveProps != "function" || (j !== i || B !== ne) && cc(t, x, i, ne), fr = !1;
        var ge = t.memoizedState;
        x.state = ge, Io(t, i, x, f), B = t.memoizedState, j !== i || ge !== B || tn.current || fr ? (typeof ve == "function" && (na(t, n, ve, i), B = t.memoizedState), (j = fr || ac(t, n, j, i, ge, B, ne)) ? (be || typeof x.UNSAFE_componentWillMount != "function" && typeof x.componentWillMount != "function" || (typeof x.componentWillMount == "function" && x.componentWillMount(), typeof x.UNSAFE_componentWillMount == "function" && x.UNSAFE_componentWillMount()), typeof x.componentDidMount == "function" && (t.flags |= 4194308)) : (typeof x.componentDidMount == "function" && (t.flags |= 4194308), t.memoizedProps = i, t.memoizedState = B), x.props = i, x.state = B, x.context = ne, i = j) : (typeof x.componentDidMount == "function" && (t.flags |= 4194308), i = !1);
      } else {
        x = t.stateNode, Du(e, t), j = t.memoizedProps, ne = t.type === t.elementType ? j : Nn(t.type, j), x.props = ne, be = t.pendingProps, ge = x.context, B = n.contextType, typeof B == "object" && B !== null ? B = wn(B) : (B = nn(n) ? Nr : Gt.current, B = ni(t, B));
        var Me = n.getDerivedStateFromProps;
        (ve = typeof Me == "function" || typeof x.getSnapshotBeforeUpdate == "function") || typeof x.UNSAFE_componentWillReceiveProps != "function" && typeof x.componentWillReceiveProps != "function" || (j !== be || ge !== B) && cc(t, x, i, B), fr = !1, ge = t.memoizedState, x.state = ge, Io(t, i, x, f);
        var Fe = t.memoizedState;
        j !== be || ge !== Fe || tn.current || fr ? (typeof Me == "function" && (na(t, n, Me, i), Fe = t.memoizedState), (ne = fr || ac(t, n, ne, i, ge, Fe, B) || !1) ? (ve || typeof x.UNSAFE_componentWillUpdate != "function" && typeof x.componentWillUpdate != "function" || (typeof x.componentWillUpdate == "function" && x.componentWillUpdate(i, Fe, B), typeof x.UNSAFE_componentWillUpdate == "function" && x.UNSAFE_componentWillUpdate(i, Fe, B)), typeof x.componentDidUpdate == "function" && (t.flags |= 4), typeof x.getSnapshotBeforeUpdate == "function" && (t.flags |= 1024)) : (typeof x.componentDidUpdate != "function" || j === e.memoizedProps && ge === e.memoizedState || (t.flags |= 4), typeof x.getSnapshotBeforeUpdate != "function" || j === e.memoizedProps && ge === e.memoizedState || (t.flags |= 1024), t.memoizedProps = i, t.memoizedState = Fe), x.props = i, x.state = Fe, x.context = B, i = ne) : (typeof x.componentDidUpdate != "function" || j === e.memoizedProps && ge === e.memoizedState || (t.flags |= 4), typeof x.getSnapshotBeforeUpdate != "function" || j === e.memoizedProps && ge === e.memoizedState || (t.flags |= 1024), i = !1);
      }
      return aa(e, t, n, i, g, f);
    }
    function aa(e, t, n, i, f, g) {
      wc(e, t);
      var x = (t.flags & 128) !== 0;
      if (!i && !x)
        return f && Tu(t, n, !1), tr(e, t, g);
      i = t.stateNode, md.current = t;
      var j = x && typeof n.getDerivedStateFromError != "function" ? null : i.render();
      return t.flags |= 1, e !== null && x ? (t.child = si(t, e.child, null, g), t.child = si(t, null, j, g)) : Jt(e, t, j, g), t.memoizedState = i.state, f && Tu(t, n, !0), t.child;
    }
    function Cc(e) {
      var t = e.stateNode;
      t.pendingContext ? bu(e, t.pendingContext, t.pendingContext !== t.context) : t.context && bu(e, t.context, !1), Hs(e, t.containerInfo);
    }
    function Sc(e, t, n, i, f) {
      return oi(), js(f), t.flags |= 256, Jt(e, t, n, i), t.child;
    }
    var ua = { dehydrated: null, treeContext: null, retryLane: 0 };
    function ca(e) {
      return { baseLanes: e, cachePool: null, transitions: null };
    }
    function bc(e, t, n) {
      var i = t.pendingProps, f = bt.current, g = !1, x = (t.flags & 128) !== 0, j;
      if ((j = x) || (j = e !== null && e.memoizedState === null ? !1 : (f & 2) !== 0), j ? (g = !0, t.flags &= -129) : (e === null || e.memoizedState !== null) && (f |= 1), gt(bt, f & 1), e === null)
        return Ds(t), e = t.memoizedState, e !== null && (e = e.dehydrated, e !== null) ? (t.mode & 1 ? e.data === "$!" ? t.lanes = 8 : t.lanes = 1073741824 : t.lanes = 1, null) : (x = i.children, e = i.fallback, g ? (i = t.mode, g = t.child, x = { mode: "hidden", children: x }, !(i & 1) && g !== null ? (g.childLanes = 0, g.pendingProps = x) : g = Yo(x, i, 0, null), e = Wr(e, i, n, null), g.return = t, e.return = t, g.sibling = e, t.child = g, t.child.memoizedState = ca(n), t.memoizedState = ua, e) : la(t, x));
      if (f = e.memoizedState, f !== null && (j = f.dehydrated, j !== null))
        return gd(e, t, x, i, j, f, n);
      if (g) {
        g = i.fallback, x = t.mode, f = e.child, j = f.sibling;
        var B = { mode: "hidden", children: i.children };
        return !(x & 1) && t.child !== f ? (i = t.child, i.childLanes = 0, i.pendingProps = B, t.deletions = null) : (i = Er(f, B), i.subtreeFlags = f.subtreeFlags & 14680064), j !== null ? g = Er(j, g) : (g = Wr(g, x, n, null), g.flags |= 2), g.return = t, i.return = t, i.sibling = g, t.child = i, i = g, g = t.child, x = e.child.memoizedState, x = x === null ? ca(n) : { baseLanes: x.baseLanes | n, cachePool: null, transitions: x.transitions }, g.memoizedState = x, g.childLanes = e.childLanes & ~n, t.memoizedState = ua, i;
      }
      return g = e.child, e = g.sibling, i = Er(g, { mode: "visible", children: i.children }), !(t.mode & 1) && (i.lanes = n), i.return = t, i.sibling = null, e !== null && (n = t.deletions, n === null ? (t.deletions = [e], t.flags |= 16) : n.push(e)), t.child = i, t.memoizedState = null, i;
    }
    function la(e, t) {
      return t = Yo({ mode: "visible", children: t }, e.mode, 0, null), t.return = e, e.child = t;
    }
    function Do(e, t, n, i) {
      return i !== null && js(i), si(t, e.child, null, n), e = la(t, t.pendingProps.children), e.flags |= 2, t.memoizedState = null, e;
    }
    function gd(e, t, n, i, f, g, x) {
      if (n)
        return t.flags & 256 ? (t.flags &= -257, i = ia(Error(Q(422))), Do(e, t, x, i)) : t.memoizedState !== null ? (t.child = e.child, t.flags |= 128, null) : (g = i.fallback, f = t.mode, i = Yo({ mode: "visible", children: i.children }, f, 0, null), g = Wr(g, f, x, null), g.flags |= 2, i.return = t, g.return = t, i.sibling = g, t.child = i, t.mode & 1 && si(t, e.child, null, x), t.child.memoizedState = ca(x), t.memoizedState = ua, g);
      if (!(t.mode & 1))
        return Do(e, t, x, null);
      if (f.data === "$!") {
        if (i = f.nextSibling && f.nextSibling.dataset, i)
          var j = i.dgst;
        return i = j, g = Error(Q(419)), i = ia(g, i, void 0), Do(e, t, x, i);
      }
      if (j = (x & e.childLanes) !== 0, rn || j) {
        if (i = Wt, i !== null) {
          switch (x & -x) {
            case 4:
              f = 2;
              break;
            case 16:
              f = 8;
              break;
            case 64:
            case 128:
            case 256:
            case 512:
            case 1024:
            case 2048:
            case 4096:
            case 8192:
            case 16384:
            case 32768:
            case 65536:
            case 131072:
            case 262144:
            case 524288:
            case 1048576:
            case 2097152:
            case 4194304:
            case 8388608:
            case 16777216:
            case 33554432:
            case 67108864:
              f = 32;
              break;
            case 536870912:
              f = 268435456;
              break;
            default:
              f = 0;
          }
          f = f & (i.suspendedLanes | x) ? 0 : f, f !== 0 && f !== g.retryLane && (g.retryLane = f, Zn(e, f), Ln(i, e, f, -1));
        }
        return _a(), i = ia(Error(Q(421))), Do(e, t, x, i);
      }
      return f.data === "$?" ? (t.flags |= 128, t.child = e.child, t = Rd.bind(null, e), f._reactRetry = t, null) : (e = g.treeContext, dn = cr(f.nextSibling), ln = t, St = !0, An = null, e !== null && (vn[yn++] = Qn, vn[yn++] = Jn, vn[yn++] = Pr, Qn = e.id, Jn = e.overflow, Pr = t), t = la(t, i.children), t.flags |= 4096, t);
    }
    function kc(e, t, n) {
      e.lanes |= t;
      var i = e.alternate;
      i !== null && (i.lanes |= t), Ws(e.return, t, n);
    }
    function da(e, t, n, i, f) {
      var g = e.memoizedState;
      g === null ? e.memoizedState = { isBackwards: t, rendering: null, renderingStartTime: 0, last: i, tail: n, tailMode: f } : (g.isBackwards = t, g.rendering = null, g.renderingStartTime = 0, g.last = i, g.tail = n, g.tailMode = f);
    }
    function Tc(e, t, n) {
      var i = t.pendingProps, f = i.revealOrder, g = i.tail;
      if (Jt(e, t, i.children, n), i = bt.current, i & 2)
        i = i & 1 | 2, t.flags |= 128;
      else {
        if (e !== null && e.flags & 128)
          e:
            for (e = t.child; e !== null; ) {
              if (e.tag === 13)
                e.memoizedState !== null && kc(e, n, t);
              else if (e.tag === 19)
                kc(e, n, t);
              else if (e.child !== null) {
                e.child.return = e, e = e.child;
                continue;
              }
              if (e === t)
                break e;
              for (; e.sibling === null; ) {
                if (e.return === null || e.return === t)
                  break e;
                e = e.return;
              }
              e.sibling.return = e.return, e = e.sibling;
            }
        i &= 1;
      }
      if (gt(bt, i), !(t.mode & 1))
        t.memoizedState = null;
      else
        switch (f) {
          case "forwards":
            for (n = t.child, f = null; n !== null; )
              e = n.alternate, e !== null && Ro(e) === null && (f = n), n = n.sibling;
            n = f, n === null ? (f = t.child, t.child = null) : (f = n.sibling, n.sibling = null), da(t, !1, f, n, g);
            break;
          case "backwards":
            for (n = null, f = t.child, t.child = null; f !== null; ) {
              if (e = f.alternate, e !== null && Ro(e) === null) {
                t.child = f;
                break;
              }
              e = f.sibling, f.sibling = n, n = f, f = e;
            }
            da(t, !0, n, null, g);
            break;
          case "together":
            da(t, !1, null, null, void 0);
            break;
          default:
            t.memoizedState = null;
        }
      return t.child;
    }
    function jo(e, t) {
      !(t.mode & 1) && e !== null && (e.alternate = null, t.alternate = null, t.flags |= 2);
    }
    function tr(e, t, n) {
      if (e !== null && (t.dependencies = e.dependencies), jr |= t.lanes, !(n & t.childLanes))
        return null;
      if (e !== null && t.child !== e.child)
        throw Error(Q(153));
      if (t.child !== null) {
        for (e = t.child, n = Er(e, e.pendingProps), t.child = n, n.return = t; e.sibling !== null; )
          e = e.sibling, n = n.sibling = Er(e, e.pendingProps), n.return = t;
        n.sibling = null;
      }
      return t.child;
    }
    function vd(e, t, n) {
      switch (t.tag) {
        case 3:
          Cc(t), oi();
          break;
        case 5:
          Fu(t);
          break;
        case 1:
          nn(t.type) && wo(t);
          break;
        case 4:
          Hs(t, t.stateNode.containerInfo);
          break;
        case 10:
          var i = t.type._context, f = t.memoizedProps.value;
          gt(To, i._currentValue), i._currentValue = f;
          break;
        case 13:
          if (i = t.memoizedState, i !== null)
            return i.dehydrated !== null ? (gt(bt, bt.current & 1), t.flags |= 128, null) : n & t.child.childLanes ? bc(e, t, n) : (gt(bt, bt.current & 1), e = tr(e, t, n), e !== null ? e.sibling : null);
          gt(bt, bt.current & 1);
          break;
        case 19:
          if (i = (n & t.childLanes) !== 0, e.flags & 128) {
            if (i)
              return Tc(e, t, n);
            t.flags |= 128;
          }
          if (f = t.memoizedState, f !== null && (f.rendering = null, f.tail = null, f.lastEffect = null), gt(bt, bt.current), i)
            break;
          return null;
        case 22:
        case 23:
          return t.lanes = 0, yc(e, t, n);
      }
      return tr(e, t, n);
    }
    var _c, pa, xc, Ic;
    _c = function(e, t) {
      for (var n = t.child; n !== null; ) {
        if (n.tag === 5 || n.tag === 6)
          e.appendChild(n.stateNode);
        else if (n.tag !== 4 && n.child !== null) {
          n.child.return = n, n = n.child;
          continue;
        }
        if (n === t)
          break;
        for (; n.sibling === null; ) {
          if (n.return === null || n.return === t)
            return;
          n = n.return;
        }
        n.sibling.return = n.return, n = n.sibling;
      }
    }, pa = function() {
    }, xc = function(e, t, n, i) {
      var f = e.memoizedProps;
      if (f !== i) {
        e = t.stateNode, Mr(Bn.current);
        var g = null;
        switch (n) {
          case "input":
            f = Ge(e, f), i = Ge(e, i), g = [];
            break;
          case "select":
            f = se({}, f, { value: void 0 }), i = se({}, i, { value: void 0 }), g = [];
            break;
          case "textarea":
            f = V(e, f), i = V(e, i), g = [];
            break;
          default:
            typeof f.onClick != "function" && typeof i.onClick == "function" && (e.onclick = go);
        }
        qr(n, i);
        var x;
        n = null;
        for (ne in f)
          if (!i.hasOwnProperty(ne) && f.hasOwnProperty(ne) && f[ne] != null)
            if (ne === "style") {
              var j = f[ne];
              for (x in j)
                j.hasOwnProperty(x) && (n || (n = {}), n[x] = "");
            } else
              ne !== "dangerouslySetInnerHTML" && ne !== "children" && ne !== "suppressContentEditableWarning" && ne !== "suppressHydrationWarning" && ne !== "autoFocus" && (Ie.hasOwnProperty(ne) ? g || (g = []) : (g = g || []).push(ne, null));
        for (ne in i) {
          var B = i[ne];
          if (j = f?.[ne], i.hasOwnProperty(ne) && B !== j && (B != null || j != null))
            if (ne === "style")
              if (j) {
                for (x in j)
                  !j.hasOwnProperty(x) || B && B.hasOwnProperty(x) || (n || (n = {}), n[x] = "");
                for (x in B)
                  B.hasOwnProperty(x) && j[x] !== B[x] && (n || (n = {}), n[x] = B[x]);
              } else
                n || (g || (g = []), g.push(
                  ne,
                  n
                )), n = B;
            else
              ne === "dangerouslySetInnerHTML" ? (B = B ? B.__html : void 0, j = j ? j.__html : void 0, B != null && j !== B && (g = g || []).push(ne, B)) : ne === "children" ? typeof B != "string" && typeof B != "number" || (g = g || []).push(ne, "" + B) : ne !== "suppressContentEditableWarning" && ne !== "suppressHydrationWarning" && (Ie.hasOwnProperty(ne) ? (B != null && ne === "onScroll" && Et("scroll", e), g || j === B || (g = [])) : (g = g || []).push(ne, B));
        }
        n && (g = g || []).push("style", n);
        var ne = g;
        (t.updateQueue = ne) && (t.flags |= 4);
      }
    }, Ic = function(e, t, n, i) {
      n !== i && (t.flags |= 4);
    };
    function Bi(e, t) {
      if (!St)
        switch (e.tailMode) {
          case "hidden":
            t = e.tail;
            for (var n = null; t !== null; )
              t.alternate !== null && (n = t), t = t.sibling;
            n === null ? e.tail = null : n.sibling = null;
            break;
          case "collapsed":
            n = e.tail;
            for (var i = null; n !== null; )
              n.alternate !== null && (i = n), n = n.sibling;
            i === null ? t || e.tail === null ? e.tail = null : e.tail.sibling = null : i.sibling = null;
        }
    }
    function Xt(e) {
      var t = e.alternate !== null && e.alternate.child === e.child, n = 0, i = 0;
      if (t)
        for (var f = e.child; f !== null; )
          n |= f.lanes | f.childLanes, i |= f.subtreeFlags & 14680064, i |= f.flags & 14680064, f.return = e, f = f.sibling;
      else
        for (f = e.child; f !== null; )
          n |= f.lanes | f.childLanes, i |= f.subtreeFlags, i |= f.flags, f.return = e, f = f.sibling;
      return e.subtreeFlags |= i, e.childLanes = n, t;
    }
    function yd(e, t, n) {
      var i = t.pendingProps;
      switch (Ls(t), t.tag) {
        case 2:
        case 16:
        case 15:
        case 0:
        case 11:
        case 7:
        case 8:
        case 12:
        case 9:
        case 14:
          return Xt(t), null;
        case 1:
          return nn(t.type) && yo(), Xt(t), null;
        case 3:
          return i = t.stateNode, ci(), Ct(tn), Ct(Gt), Ks(), i.pendingContext && (i.context = i.pendingContext, i.pendingContext = null), (e === null || e.child === null) && (bo(t) ? t.flags |= 4 : e === null || e.memoizedState.isDehydrated && !(t.flags & 256) || (t.flags |= 1024, An !== null && (ba(An), An = null))), pa(e, t), Xt(t), null;
        case 5:
          Vs(t);
          var f = Mr(Ui.current);
          if (n = t.type, e !== null && t.stateNode != null)
            xc(e, t, n, i, f), e.ref !== t.ref && (t.flags |= 512, t.flags |= 2097152);
          else {
            if (!i) {
              if (t.stateNode === null)
                throw Error(Q(166));
              return Xt(t), null;
            }
            if (e = Mr(Bn.current), bo(t)) {
              i = t.stateNode, n = t.type;
              var g = t.memoizedProps;
              switch (i[qn] = t, i[Oi] = g, e = (t.mode & 1) !== 0, n) {
                case "dialog":
                  Et("cancel", i), Et("close", i);
                  break;
                case "iframe":
                case "object":
                case "embed":
                  Et("load", i);
                  break;
                case "video":
                case "audio":
                  for (f = 0; f < Ai.length; f++)
                    Et(Ai[f], i);
                  break;
                case "source":
                  Et("error", i);
                  break;
                case "img":
                case "image":
                case "link":
                  Et(
                    "error",
                    i
                  ), Et("load", i);
                  break;
                case "details":
                  Et("toggle", i);
                  break;
                case "input":
                  nt(i, g), Et("invalid", i);
                  break;
                case "select":
                  i._wrapperState = { wasMultiple: !!g.multiple }, Et("invalid", i);
                  break;
                case "textarea":
                  Y(i, g), Et("invalid", i);
              }
              qr(n, g), f = null;
              for (var x in g)
                if (g.hasOwnProperty(x)) {
                  var j = g[x];
                  x === "children" ? typeof j == "string" ? i.textContent !== j && (g.suppressHydrationWarning !== !0 && mo(i.textContent, j, e), f = ["children", j]) : typeof j == "number" && i.textContent !== "" + j && (g.suppressHydrationWarning !== !0 && mo(
                    i.textContent,
                    j,
                    e
                  ), f = ["children", "" + j]) : Ie.hasOwnProperty(x) && j != null && x === "onScroll" && Et("scroll", i);
                }
              switch (n) {
                case "input":
                  de(i), S(i, g, !0);
                  break;
                case "textarea":
                  de(i), Qe(i);
                  break;
                case "select":
                case "option":
                  break;
                default:
                  typeof g.onClick == "function" && (i.onclick = go);
              }
              i = f, t.updateQueue = i, i !== null && (t.flags |= 4);
            } else {
              x = f.nodeType === 9 ? f : f.ownerDocument, e === "http://www.w3.org/1999/xhtml" && (e = Ke(n)), e === "http://www.w3.org/1999/xhtml" ? n === "script" ? (e = x.createElement("div"), e.innerHTML = "<script><\/script>", e = e.removeChild(e.firstChild)) : typeof i.is == "string" ? e = x.createElement(n, { is: i.is }) : (e = x.createElement(n), n === "select" && (x = e, i.multiple ? x.multiple = !0 : i.size && (x.size = i.size))) : e = x.createElementNS(e, n), e[qn] = t, e[Oi] = i, _c(e, t, !1, !1), t.stateNode = e;
              e: {
                switch (x = vi(n, i), n) {
                  case "dialog":
                    Et("cancel", e), Et("close", e), f = i;
                    break;
                  case "iframe":
                  case "object":
                  case "embed":
                    Et("load", e), f = i;
                    break;
                  case "video":
                  case "audio":
                    for (f = 0; f < Ai.length; f++)
                      Et(Ai[f], e);
                    f = i;
                    break;
                  case "source":
                    Et("error", e), f = i;
                    break;
                  case "img":
                  case "image":
                  case "link":
                    Et(
                      "error",
                      e
                    ), Et("load", e), f = i;
                    break;
                  case "details":
                    Et("toggle", e), f = i;
                    break;
                  case "input":
                    nt(e, i), f = Ge(e, i), Et("invalid", e);
                    break;
                  case "option":
                    f = i;
                    break;
                  case "select":
                    e._wrapperState = { wasMultiple: !!i.multiple }, f = se({}, i, { value: void 0 }), Et("invalid", e);
                    break;
                  case "textarea":
                    Y(e, i), f = V(e, i), Et("invalid", e);
                    break;
                  default:
                    f = i;
                }
                qr(n, f), j = f;
                for (g in j)
                  if (j.hasOwnProperty(g)) {
                    var B = j[g];
                    g === "style" ? gi(e, B) : g === "dangerouslySetInnerHTML" ? (B = B ? B.__html : void 0, B != null && At(e, B)) : g === "children" ? typeof B == "string" ? (n !== "textarea" || B !== "") && Mt(e, B) : typeof B == "number" && Mt(e, "" + B) : g !== "suppressContentEditableWarning" && g !== "suppressHydrationWarning" && g !== "autoFocus" && (Ie.hasOwnProperty(g) ? B != null && g === "onScroll" && Et("scroll", e) : B != null && u(e, g, B, x));
                  }
                switch (n) {
                  case "input":
                    de(e), S(e, i, !1);
                    break;
                  case "textarea":
                    de(e), Qe(e);
                    break;
                  case "option":
                    i.value != null && e.setAttribute("value", "" + ee(i.value));
                    break;
                  case "select":
                    e.multiple = !!i.multiple, g = i.value, g != null ? H(e, !!i.multiple, g, !1) : i.defaultValue != null && H(
                      e,
                      !!i.multiple,
                      i.defaultValue,
                      !0
                    );
                    break;
                  default:
                    typeof f.onClick == "function" && (e.onclick = go);
                }
                switch (n) {
                  case "button":
                  case "input":
                  case "select":
                  case "textarea":
                    i = !!i.autoFocus;
                    break e;
                  case "img":
                    i = !0;
                    break e;
                  default:
                    i = !1;
                }
              }
              i && (t.flags |= 4);
            }
            t.ref !== null && (t.flags |= 512, t.flags |= 2097152);
          }
          return Xt(t), null;
        case 6:
          if (e && t.stateNode != null)
            Ic(e, t, e.memoizedProps, i);
          else {
            if (typeof i != "string" && t.stateNode === null)
              throw Error(Q(166));
            if (n = Mr(Ui.current), Mr(Bn.current), bo(t)) {
              if (i = t.stateNode, n = t.memoizedProps, i[qn] = t, (g = i.nodeValue !== n) && (e = ln, e !== null))
                switch (e.tag) {
                  case 3:
                    mo(i.nodeValue, n, (e.mode & 1) !== 0);
                    break;
                  case 5:
                    e.memoizedProps.suppressHydrationWarning !== !0 && mo(i.nodeValue, n, (e.mode & 1) !== 0);
                }
              g && (t.flags |= 4);
            } else
              i = (n.nodeType === 9 ? n : n.ownerDocument).createTextNode(i), i[qn] = t, t.stateNode = i;
          }
          return Xt(t), null;
        case 13:
          if (Ct(bt), i = t.memoizedState, e === null || e.memoizedState !== null && e.memoizedState.dehydrated !== null) {
            if (St && dn !== null && t.mode & 1 && !(t.flags & 128))
              Nu(), oi(), t.flags |= 98560, g = !1;
            else if (g = bo(t), i !== null && i.dehydrated !== null) {
              if (e === null) {
                if (!g)
                  throw Error(Q(318));
                if (g = t.memoizedState, g = g !== null ? g.dehydrated : null, !g)
                  throw Error(Q(317));
                g[qn] = t;
              } else
                oi(), !(t.flags & 128) && (t.memoizedState = null), t.flags |= 4;
              Xt(t), g = !1;
            } else
              An !== null && (ba(An), An = null), g = !0;
            if (!g)
              return t.flags & 65536 ? t : null;
          }
          return t.flags & 128 ? (t.lanes = n, t) : (i = i !== null, i !== (e !== null && e.memoizedState !== null) && i && (t.child.flags |= 8192, t.mode & 1 && (e === null || bt.current & 1 ? jt === 0 && (jt = 3) : _a())), t.updateQueue !== null && (t.flags |= 4), Xt(t), null);
        case 4:
          return ci(), pa(e, t), e === null && Ni(t.stateNode.containerInfo), Xt(t), null;
        case 10:
          return zs(t.type._context), Xt(t), null;
        case 17:
          return nn(t.type) && yo(), Xt(t), null;
        case 19:
          if (Ct(bt), g = t.memoizedState, g === null)
            return Xt(t), null;
          if (i = (t.flags & 128) !== 0, x = g.rendering, x === null)
            if (i)
              Bi(g, !1);
            else {
              if (jt !== 0 || e !== null && e.flags & 128)
                for (e = t.child; e !== null; ) {
                  if (x = Ro(e), x !== null) {
                    for (t.flags |= 128, Bi(g, !1), i = x.updateQueue, i !== null && (t.updateQueue = i, t.flags |= 4), t.subtreeFlags = 0, i = n, n = t.child; n !== null; )
                      g = n, e = i, g.flags &= 14680066, x = g.alternate, x === null ? (g.childLanes = 0, g.lanes = e, g.child = null, g.subtreeFlags = 0, g.memoizedProps = null, g.memoizedState = null, g.updateQueue = null, g.dependencies = null, g.stateNode = null) : (g.childLanes = x.childLanes, g.lanes = x.lanes, g.child = x.child, g.subtreeFlags = 0, g.deletions = null, g.memoizedProps = x.memoizedProps, g.memoizedState = x.memoizedState, g.updateQueue = x.updateQueue, g.type = x.type, e = x.dependencies, g.dependencies = e === null ? null : { lanes: e.lanes, firstContext: e.firstContext }), n = n.sibling;
                    return gt(bt, bt.current & 1 | 2), t.child;
                  }
                  e = e.sibling;
                }
              g.tail !== null && lt() > fi && (t.flags |= 128, i = !0, Bi(g, !1), t.lanes = 4194304);
            }
          else {
            if (!i)
              if (e = Ro(x), e !== null) {
                if (t.flags |= 128, i = !0, n = e.updateQueue, n !== null && (t.updateQueue = n, t.flags |= 4), Bi(g, !0), g.tail === null && g.tailMode === "hidden" && !x.alternate && !St)
                  return Xt(t), null;
              } else
                2 * lt() - g.renderingStartTime > fi && n !== 1073741824 && (t.flags |= 128, i = !0, Bi(g, !1), t.lanes = 4194304);
            g.isBackwards ? (x.sibling = t.child, t.child = x) : (n = g.last, n !== null ? n.sibling = x : t.child = x, g.last = x);
          }
          return g.tail !== null ? (t = g.tail, g.rendering = t, g.tail = t.sibling, g.renderingStartTime = lt(), t.sibling = null, n = bt.current, gt(bt, i ? n & 1 | 2 : n & 1), t) : (Xt(t), null);
        case 22:
        case 23:
          return Ta(), i = t.memoizedState !== null, e !== null && e.memoizedState !== null !== i && (t.flags |= 8192), i && t.mode & 1 ? pn & 1073741824 && (Xt(t), t.subtreeFlags & 6 && (t.flags |= 8192)) : Xt(t), null;
        case 24:
          return null;
        case 25:
          return null;
      }
      throw Error(Q(156, t.tag));
    }
    function wd(e, t) {
      switch (Ls(t), t.tag) {
        case 1:
          return nn(t.type) && yo(), e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
        case 3:
          return ci(), Ct(tn), Ct(Gt), Ks(), e = t.flags, e & 65536 && !(e & 128) ? (t.flags = e & -65537 | 128, t) : null;
        case 5:
          return Vs(t), null;
        case 13:
          if (Ct(bt), e = t.memoizedState, e !== null && e.dehydrated !== null) {
            if (t.alternate === null)
              throw Error(Q(340));
            oi();
          }
          return e = t.flags, e & 65536 ? (t.flags = e & -65537 | 128, t) : null;
        case 19:
          return Ct(bt), null;
        case 4:
          return ci(), null;
        case 10:
          return zs(t.type._context), null;
        case 22:
        case 23:
          return Ta(), null;
        case 24:
          return null;
        default:
          return null;
      }
    }
    var Uo = !1, Yt = !1, Ed = typeof WeakSet == "function" ? WeakSet : Set, Ue = null;
    function di(e, t) {
      var n = e.ref;
      if (n !== null)
        if (typeof n == "function")
          try {
            n(null);
          } catch (i) {
            _t(e, t, i);
          }
        else
          n.current = null;
    }
    function fa(e, t, n) {
      try {
        n();
      } catch (i) {
        _t(e, t, i);
      }
    }
    var Rc = !1;
    function Cd(e, t) {
      if (Ts = te, e = au(), vs(e)) {
        if ("selectionStart" in e)
          var n = { start: e.selectionStart, end: e.selectionEnd };
        else
          e: {
            n = (n = e.ownerDocument) && n.defaultView || window;
            var i = n.getSelection && n.getSelection();
            if (i && i.rangeCount !== 0) {
              n = i.anchorNode;
              var f = i.anchorOffset, g = i.focusNode;
              i = i.focusOffset;
              try {
                n.nodeType, g.nodeType;
              } catch {
                n = null;
                break e;
              }
              var x = 0, j = -1, B = -1, ne = 0, ve = 0, be = e, ge = null;
              t:
                for (; ; ) {
                  for (var Me; be !== n || f !== 0 && be.nodeType !== 3 || (j = x + f), be !== g || i !== 0 && be.nodeType !== 3 || (B = x + i), be.nodeType === 3 && (x += be.nodeValue.length), (Me = be.firstChild) !== null; )
                    ge = be, be = Me;
                  for (; ; ) {
                    if (be === e)
                      break t;
                    if (ge === n && ++ne === f && (j = x), ge === g && ++ve === i && (B = x), (Me = be.nextSibling) !== null)
                      break;
                    be = ge, ge = be.parentNode;
                  }
                  be = Me;
                }
              n = j === -1 || B === -1 ? null : { start: j, end: B };
            } else
              n = null;
          }
        n = n || { start: 0, end: 0 };
      } else
        n = null;
      for (_s = { focusedElem: e, selectionRange: n }, te = !1, Ue = t; Ue !== null; )
        if (t = Ue, e = t.child, (t.subtreeFlags & 1028) !== 0 && e !== null)
          e.return = t, Ue = e;
        else
          for (; Ue !== null; ) {
            t = Ue;
            try {
              var Fe = t.alternate;
              if (t.flags & 1024)
                switch (t.tag) {
                  case 0:
                  case 11:
                  case 15:
                    break;
                  case 1:
                    if (Fe !== null) {
                      var qe = Fe.memoizedProps, Rt = Fe.memoizedState, J = t.stateNode, K = J.getSnapshotBeforeUpdate(t.elementType === t.type ? qe : Nn(t.type, qe), Rt);
                      J.__reactInternalSnapshotBeforeUpdate = K;
                    }
                    break;
                  case 3:
                    var Z = t.stateNode.containerInfo;
                    Z.nodeType === 1 ? Z.textContent = "" : Z.nodeType === 9 && Z.documentElement && Z.removeChild(Z.documentElement);
                    break;
                  case 5:
                  case 6:
                  case 4:
                  case 17:
                    break;
                  default:
                    throw Error(Q(163));
                }
            } catch (xe) {
              _t(t, t.return, xe);
            }
            if (e = t.sibling, e !== null) {
              e.return = t.return, Ue = e;
              break;
            }
            Ue = t.return;
          }
      return Fe = Rc, Rc = !1, Fe;
    }
    function Hi(e, t, n) {
      var i = t.updateQueue;
      if (i = i !== null ? i.lastEffect : null, i !== null) {
        var f = i = i.next;
        do {
          if ((f.tag & e) === e) {
            var g = f.destroy;
            f.destroy = void 0, g !== void 0 && fa(t, n, g);
          }
          f = f.next;
        } while (f !== i);
      }
    }
    function Fo(e, t) {
      if (t = t.updateQueue, t = t !== null ? t.lastEffect : null, t !== null) {
        var n = t = t.next;
        do {
          if ((n.tag & e) === e) {
            var i = n.create;
            n.destroy = i();
          }
          n = n.next;
        } while (n !== t);
      }
    }
    function ha(e) {
      var t = e.ref;
      if (t !== null) {
        var n = e.stateNode;
        switch (e.tag) {
          case 5:
            e = n;
            break;
          default:
            e = n;
        }
        typeof t == "function" ? t(e) : t.current = e;
      }
    }
    function Ac(e) {
      var t = e.alternate;
      t !== null && (e.alternate = null, Ac(t)), e.child = null, e.deletions = null, e.sibling = null, e.tag === 5 && (t = e.stateNode, t !== null && (delete t[qn], delete t[Oi], delete t[As], delete t[rd], delete t[id])), e.stateNode = null, e.return = null, e.dependencies = null, e.memoizedProps = null, e.memoizedState = null, e.pendingProps = null, e.stateNode = null, e.updateQueue = null;
    }
    function Nc(e) {
      return e.tag === 5 || e.tag === 3 || e.tag === 4;
    }
    function Pc(e) {
      e:
        for (; ; ) {
          for (; e.sibling === null; ) {
            if (e.return === null || Nc(e.return))
              return null;
            e = e.return;
          }
          for (e.sibling.return = e.return, e = e.sibling; e.tag !== 5 && e.tag !== 6 && e.tag !== 18; ) {
            if (e.flags & 2 || e.child === null || e.tag === 4)
              continue e;
            e.child.return = e, e = e.child;
          }
          if (!(e.flags & 2))
            return e.stateNode;
        }
    }
    function ma(e, t, n) {
      var i = e.tag;
      if (i === 5 || i === 6)
        e = e.stateNode, t ? n.nodeType === 8 ? n.parentNode.insertBefore(e, t) : n.insertBefore(e, t) : (n.nodeType === 8 ? (t = n.parentNode, t.insertBefore(e, n)) : (t = n, t.appendChild(e)), n = n._reactRootContainer, n != null || t.onclick !== null || (t.onclick = go));
      else if (i !== 4 && (e = e.child, e !== null))
        for (ma(e, t, n), e = e.sibling; e !== null; )
          ma(e, t, n), e = e.sibling;
    }
    function ga(e, t, n) {
      var i = e.tag;
      if (i === 5 || i === 6)
        e = e.stateNode, t ? n.insertBefore(e, t) : n.appendChild(e);
      else if (i !== 4 && (e = e.child, e !== null))
        for (ga(e, t, n), e = e.sibling; e !== null; )
          ga(e, t, n), e = e.sibling;
    }
    var Ht = null, Pn = !1;
    function mr(e, t, n) {
      for (n = n.child; n !== null; )
        Oc(e, t, n), n = n.sibling;
    }
    function Oc(e, t, n) {
      if (hn && typeof hn.onCommitFiberUnmount == "function")
        try {
          hn.onCommitFiberUnmount(kr, n);
        } catch {
        }
      switch (n.tag) {
        case 5:
          Yt || di(n, t);
        case 6:
          var i = Ht, f = Pn;
          Ht = null, mr(e, t, n), Ht = i, Pn = f, Ht !== null && (Pn ? (e = Ht, n = n.stateNode, e.nodeType === 8 ? e.parentNode.removeChild(n) : e.removeChild(n)) : Ht.removeChild(n.stateNode));
          break;
        case 18:
          Ht !== null && (Pn ? (e = Ht, n = n.stateNode, e.nodeType === 8 ? Rs(e.parentNode, n) : e.nodeType === 1 && Rs(e, n), sr(e)) : Rs(Ht, n.stateNode));
          break;
        case 4:
          i = Ht, f = Pn, Ht = n.stateNode.containerInfo, Pn = !0, mr(e, t, n), Ht = i, Pn = f;
          break;
        case 0:
        case 11:
        case 14:
        case 15:
          if (!Yt && (i = n.updateQueue, i !== null && (i = i.lastEffect, i !== null))) {
            f = i = i.next;
            do {
              var g = f, x = g.destroy;
              g = g.tag, x !== void 0 && (g & 2 || g & 4) && fa(n, t, x), f = f.next;
            } while (f !== i);
          }
          mr(e, t, n);
          break;
        case 1:
          if (!Yt && (di(n, t), i = n.stateNode, typeof i.componentWillUnmount == "function"))
            try {
              i.props = n.memoizedProps, i.state = n.memoizedState, i.componentWillUnmount();
            } catch (j) {
              _t(n, t, j);
            }
          mr(e, t, n);
          break;
        case 21:
          mr(e, t, n);
          break;
        case 22:
          n.mode & 1 ? (Yt = (i = Yt) || n.memoizedState !== null, mr(e, t, n), Yt = i) : mr(e, t, n);
          break;
        default:
          mr(e, t, n);
      }
    }
    function Lc(e) {
      var t = e.updateQueue;
      if (t !== null) {
        e.updateQueue = null;
        var n = e.stateNode;
        n === null && (n = e.stateNode = new Ed()), t.forEach(function(i) {
          var f = Ad.bind(null, e, i);
          n.has(i) || (n.add(i), i.then(f, f));
        });
      }
    }
    function On(e, t) {
      var n = t.deletions;
      if (n !== null)
        for (var i = 0; i < n.length; i++) {
          var f = n[i];
          try {
            var g = e, x = t, j = x;
            e:
              for (; j !== null; ) {
                switch (j.tag) {
                  case 5:
                    Ht = j.stateNode, Pn = !1;
                    break e;
                  case 3:
                    Ht = j.stateNode.containerInfo, Pn = !0;
                    break e;
                  case 4:
                    Ht = j.stateNode.containerInfo, Pn = !0;
                    break e;
                }
                j = j.return;
              }
            if (Ht === null)
              throw Error(Q(160));
            Oc(g, x, f), Ht = null, Pn = !1;
            var B = f.alternate;
            B !== null && (B.return = null), f.return = null;
          } catch (ne) {
            _t(f, t, ne);
          }
        }
      if (t.subtreeFlags & 12854)
        for (t = t.child; t !== null; )
          Mc(t, e), t = t.sibling;
    }
    function Mc(e, t) {
      var n = e.alternate, i = e.flags;
      switch (e.tag) {
        case 0:
        case 11:
        case 14:
        case 15:
          if (On(t, e), Vn(e), i & 4) {
            try {
              Hi(3, e, e.return), Fo(3, e);
            } catch (qe) {
              _t(e, e.return, qe);
            }
            try {
              Hi(5, e, e.return);
            } catch (qe) {
              _t(e, e.return, qe);
            }
          }
          break;
        case 1:
          On(t, e), Vn(e), i & 512 && n !== null && di(n, n.return);
          break;
        case 5:
          if (On(t, e), Vn(e), i & 512 && n !== null && di(n, n.return), e.flags & 32) {
            var f = e.stateNode;
            try {
              Mt(f, "");
            } catch (qe) {
              _t(e, e.return, qe);
            }
          }
          if (i & 4 && (f = e.stateNode, f != null)) {
            var g = e.memoizedProps, x = n !== null ? n.memoizedProps : g, j = e.type, B = e.updateQueue;
            if (e.updateQueue = null, B !== null)
              try {
                j === "input" && g.type === "radio" && g.name != null && st(f, g), vi(j, x);
                var ne = vi(j, g);
                for (x = 0; x < B.length; x += 2) {
                  var ve = B[x], be = B[x + 1];
                  ve === "style" ? gi(f, be) : ve === "dangerouslySetInnerHTML" ? At(f, be) : ve === "children" ? Mt(f, be) : u(f, ve, be, ne);
                }
                switch (j) {
                  case "input":
                    at(f, g);
                    break;
                  case "textarea":
                    ye(f, g);
                    break;
                  case "select":
                    var ge = f._wrapperState.wasMultiple;
                    f._wrapperState.wasMultiple = !!g.multiple;
                    var Me = g.value;
                    Me != null ? H(f, !!g.multiple, Me, !1) : ge !== !!g.multiple && (g.defaultValue != null ? H(
                      f,
                      !!g.multiple,
                      g.defaultValue,
                      !0
                    ) : H(f, !!g.multiple, g.multiple ? [] : "", !1));
                }
                f[Oi] = g;
              } catch (qe) {
                _t(e, e.return, qe);
              }
          }
          break;
        case 6:
          if (On(t, e), Vn(e), i & 4) {
            if (e.stateNode === null)
              throw Error(Q(162));
            f = e.stateNode, g = e.memoizedProps;
            try {
              f.nodeValue = g;
            } catch (qe) {
              _t(e, e.return, qe);
            }
          }
          break;
        case 3:
          if (On(t, e), Vn(e), i & 4 && n !== null && n.memoizedState.isDehydrated)
            try {
              sr(t.containerInfo);
            } catch (qe) {
              _t(e, e.return, qe);
            }
          break;
        case 4:
          On(t, e), Vn(e);
          break;
        case 13:
          On(t, e), Vn(e), f = e.child, f.flags & 8192 && (g = f.memoizedState !== null, f.stateNode.isHidden = g, !g || f.alternate !== null && f.alternate.memoizedState !== null || (wa = lt())), i & 4 && Lc(e);
          break;
        case 22:
          if (ve = n !== null && n.memoizedState !== null, e.mode & 1 ? (Yt = (ne = Yt) || ve, On(t, e), Yt = ne) : On(t, e), Vn(e), i & 8192) {
            if (ne = e.memoizedState !== null, (e.stateNode.isHidden = ne) && !ve && e.mode & 1)
              for (Ue = e, ve = e.child; ve !== null; ) {
                for (be = Ue = ve; Ue !== null; ) {
                  switch (ge = Ue, Me = ge.child, ge.tag) {
                    case 0:
                    case 11:
                    case 14:
                    case 15:
                      Hi(4, ge, ge.return);
                      break;
                    case 1:
                      di(ge, ge.return);
                      var Fe = ge.stateNode;
                      if (typeof Fe.componentWillUnmount == "function") {
                        i = ge, n = ge.return;
                        try {
                          t = i, Fe.props = t.memoizedProps, Fe.state = t.memoizedState, Fe.componentWillUnmount();
                        } catch (qe) {
                          _t(i, n, qe);
                        }
                      }
                      break;
                    case 5:
                      di(ge, ge.return);
                      break;
                    case 22:
                      if (ge.memoizedState !== null) {
                        Uc(be);
                        continue;
                      }
                  }
                  Me !== null ? (Me.return = ge, Ue = Me) : Uc(be);
                }
                ve = ve.sibling;
              }
            e:
              for (ve = null, be = e; ; ) {
                if (be.tag === 5) {
                  if (ve === null) {
                    ve = be;
                    try {
                      f = be.stateNode, ne ? (g = f.style, typeof g.setProperty == "function" ? g.setProperty("display", "none", "important") : g.display = "none") : (j = be.stateNode, B = be.memoizedProps.style, x = B != null && B.hasOwnProperty("display") ? B.display : null, j.style.display = Tt("display", x));
                    } catch (qe) {
                      _t(e, e.return, qe);
                    }
                  }
                } else if (be.tag === 6) {
                  if (ve === null)
                    try {
                      be.stateNode.nodeValue = ne ? "" : be.memoizedProps;
                    } catch (qe) {
                      _t(e, e.return, qe);
                    }
                } else if ((be.tag !== 22 && be.tag !== 23 || be.memoizedState === null || be === e) && be.child !== null) {
                  be.child.return = be, be = be.child;
                  continue;
                }
                if (be === e)
                  break e;
                for (; be.sibling === null; ) {
                  if (be.return === null || be.return === e)
                    break e;
                  ve === be && (ve = null), be = be.return;
                }
                ve === be && (ve = null), be.sibling.return = be.return, be = be.sibling;
              }
          }
          break;
        case 19:
          On(t, e), Vn(e), i & 4 && Lc(e);
          break;
        case 21:
          break;
        default:
          On(
            t,
            e
          ), Vn(e);
      }
    }
    function Vn(e) {
      var t = e.flags;
      if (t & 2) {
        try {
          e: {
            for (var n = e.return; n !== null; ) {
              if (Nc(n)) {
                var i = n;
                break e;
              }
              n = n.return;
            }
            throw Error(Q(160));
          }
          switch (i.tag) {
            case 5:
              var f = i.stateNode;
              i.flags & 32 && (Mt(f, ""), i.flags &= -33);
              var g = Pc(e);
              ga(e, g, f);
              break;
            case 3:
            case 4:
              var x = i.stateNode.containerInfo, j = Pc(e);
              ma(e, j, x);
              break;
            default:
              throw Error(Q(161));
          }
        } catch (B) {
          _t(e, e.return, B);
        }
        e.flags &= -3;
      }
      t & 4096 && (e.flags &= -4097);
    }
    function Sd(e, t, n) {
      Ue = e, Dc(e);
    }
    function Dc(e, t, n) {
      for (var i = (e.mode & 1) !== 0; Ue !== null; ) {
        var f = Ue, g = f.child;
        if (f.tag === 22 && i) {
          var x = f.memoizedState !== null || Uo;
          if (!x) {
            var j = f.alternate, B = j !== null && j.memoizedState !== null || Yt;
            j = Uo;
            var ne = Yt;
            if (Uo = x, (Yt = B) && !ne)
              for (Ue = f; Ue !== null; )
                x = Ue, B = x.child, x.tag === 22 && x.memoizedState !== null ? Fc(f) : B !== null ? (B.return = x, Ue = B) : Fc(f);
            for (; g !== null; )
              Ue = g, Dc(g), g = g.sibling;
            Ue = f, Uo = j, Yt = ne;
          }
          jc(e);
        } else
          f.subtreeFlags & 8772 && g !== null ? (g.return = f, Ue = g) : jc(e);
      }
    }
    function jc(e) {
      for (; Ue !== null; ) {
        var t = Ue;
        if (t.flags & 8772) {
          var n = t.alternate;
          try {
            if (t.flags & 8772)
              switch (t.tag) {
                case 0:
                case 11:
                case 15:
                  Yt || Fo(5, t);
                  break;
                case 1:
                  var i = t.stateNode;
                  if (t.flags & 4 && !Yt)
                    if (n === null)
                      i.componentDidMount();
                    else {
                      var f = t.elementType === t.type ? n.memoizedProps : Nn(t.type, n.memoizedProps);
                      i.componentDidUpdate(f, n.memoizedState, i.__reactInternalSnapshotBeforeUpdate);
                    }
                  var g = t.updateQueue;
                  g !== null && Uu(t, g, i);
                  break;
                case 3:
                  var x = t.updateQueue;
                  if (x !== null) {
                    if (n = null, t.child !== null)
                      switch (t.child.tag) {
                        case 5:
                          n = t.child.stateNode;
                          break;
                        case 1:
                          n = t.child.stateNode;
                      }
                    Uu(t, x, n);
                  }
                  break;
                case 5:
                  var j = t.stateNode;
                  if (n === null && t.flags & 4) {
                    n = j;
                    var B = t.memoizedProps;
                    switch (t.type) {
                      case "button":
                      case "input":
                      case "select":
                      case "textarea":
                        B.autoFocus && n.focus();
                        break;
                      case "img":
                        B.src && (n.src = B.src);
                    }
                  }
                  break;
                case 6:
                  break;
                case 4:
                  break;
                case 12:
                  break;
                case 13:
                  if (t.memoizedState === null) {
                    var ne = t.alternate;
                    if (ne !== null) {
                      var ve = ne.memoizedState;
                      if (ve !== null) {
                        var be = ve.dehydrated;
                        be !== null && sr(be);
                      }
                    }
                  }
                  break;
                case 19:
                case 17:
                case 21:
                case 22:
                case 23:
                case 25:
                  break;
                default:
                  throw Error(Q(163));
              }
            Yt || t.flags & 512 && ha(t);
          } catch (ge) {
            _t(t, t.return, ge);
          }
        }
        if (t === e) {
          Ue = null;
          break;
        }
        if (n = t.sibling, n !== null) {
          n.return = t.return, Ue = n;
          break;
        }
        Ue = t.return;
      }
    }
    function Uc(e) {
      for (; Ue !== null; ) {
        var t = Ue;
        if (t === e) {
          Ue = null;
          break;
        }
        var n = t.sibling;
        if (n !== null) {
          n.return = t.return, Ue = n;
          break;
        }
        Ue = t.return;
      }
    }
    function Fc(e) {
      for (; Ue !== null; ) {
        var t = Ue;
        try {
          switch (t.tag) {
            case 0:
            case 11:
            case 15:
              var n = t.return;
              try {
                Fo(4, t);
              } catch (B) {
                _t(t, n, B);
              }
              break;
            case 1:
              var i = t.stateNode;
              if (typeof i.componentDidMount == "function") {
                var f = t.return;
                try {
                  i.componentDidMount();
                } catch (B) {
                  _t(t, f, B);
                }
              }
              var g = t.return;
              try {
                ha(t);
              } catch (B) {
                _t(t, g, B);
              }
              break;
            case 5:
              var x = t.return;
              try {
                ha(t);
              } catch (B) {
                _t(t, x, B);
              }
          }
        } catch (B) {
          _t(t, t.return, B);
        }
        if (t === e) {
          Ue = null;
          break;
        }
        var j = t.sibling;
        if (j !== null) {
          j.return = t.return, Ue = j;
          break;
        }
        Ue = t.return;
      }
    }
    var bd = Math.ceil, zo = l.ReactCurrentDispatcher, va = l.ReactCurrentOwner, Cn = l.ReactCurrentBatchConfig, ct = 0, Wt = null, Lt = null, Vt = 0, pn = 0, pi = lr(0), jt = 0, Vi = null, jr = 0, Wo = 0, ya = 0, Gi = null, on = null, wa = 0, fi = 1 / 0, nr = null, qo = !1, Ea = null, gr = null, Bo = !1, vr = null, Ho = 0, Ki = 0, Ca = null, Vo = -1, Go = 0;
    function Zt() {
      return ct & 6 ? lt() : Vo !== -1 ? Vo : Vo = lt();
    }
    function yr(e) {
      return e.mode & 1 ? ct & 2 && Vt !== 0 ? Vt & -Vt : sd.transition !== null ? (Go === 0 && (Go = Qt()), Go) : (e = dt, e !== 0 || (e = window.event, e = e === void 0 ? 16 : io(e.type)), e) : 1;
    }
    function Ln(e, t, n, i) {
      if (50 < Ki)
        throw Ki = 0, Ca = null, Error(Q(185));
      yt(e, n, i), (!(ct & 2) || e !== Wt) && (e === Wt && (!(ct & 2) && (Wo |= n), jt === 4 && wr(e, Vt)), sn(e, i), n === 1 && ct === 0 && !(t.mode & 1) && (fi = lt() + 500, Eo && pr()));
    }
    function sn(e, t) {
      var n = e.callbackNode;
      mt(e, t);
      var i = De(e, e === Wt ? Vt : 0);
      if (i === 0)
        n !== null && Nt(n), e.callbackNode = null, e.callbackPriority = 0;
      else if (t = i & -i, e.callbackPriority !== t) {
        if (n != null && Nt(n), t === 1)
          e.tag === 0 ? od(Wc.bind(null, e)) : _u(Wc.bind(null, e)), td(function() {
            !(ct & 6) && pr();
          }), n = null;
        else {
          switch (Ft(i)) {
            case 1:
              n = jn;
              break;
            case 4:
              n = Pt;
              break;
            case 16:
              n = $t;
              break;
            case 536870912:
              n = no;
              break;
            default:
              n = $t;
          }
          n = Yc(n, zc.bind(null, e));
        }
        e.callbackPriority = t, e.callbackNode = n;
      }
    }
    function zc(e, t) {
      if (Vo = -1, Go = 0, ct & 6)
        throw Error(Q(327));
      var n = e.callbackNode;
      if (hi() && e.callbackNode !== n)
        return null;
      var i = De(e, e === Wt ? Vt : 0);
      if (i === 0)
        return null;
      if (i & 30 || i & e.expiredLanes || t)
        t = Ko(e, i);
      else {
        t = i;
        var f = ct;
        ct |= 2;
        var g = Bc();
        (Wt !== e || Vt !== t) && (nr = null, fi = lt() + 500, Fr(e, t));
        do
          try {
            _d();
            break;
          } catch (j) {
            qc(e, j);
          }
        while (!0);
        Fs(), zo.current = g, ct = f, Lt !== null ? t = 0 : (Wt = null, Vt = 0, t = jt);
      }
      if (t !== 0) {
        if (t === 2 && (f = Ve(e), f !== 0 && (i = f, t = Sa(e, f))), t === 1)
          throw n = Vi, Fr(e, 0), wr(e, i), sn(e, lt()), n;
        if (t === 6)
          wr(e, i);
        else {
          if (f = e.current.alternate, !(i & 30) && !kd(f) && (t = Ko(e, i), t === 2 && (g = Ve(e), g !== 0 && (i = g, t = Sa(e, g))), t === 1))
            throw n = Vi, Fr(e, 0), wr(e, i), sn(e, lt()), n;
          switch (e.finishedWork = f, e.finishedLanes = i, t) {
            case 0:
            case 1:
              throw Error(Q(345));
            case 2:
              zr(e, on, nr);
              break;
            case 3:
              if (wr(e, i), (i & 130023424) === i && (t = wa + 500 - lt(), 10 < t)) {
                if (De(e, 0) !== 0)
                  break;
                if (f = e.suspendedLanes, (f & i) !== i) {
                  Zt(), e.pingedLanes |= e.suspendedLanes & f;
                  break;
                }
                e.timeoutHandle = Is(zr.bind(null, e, on, nr), t);
                break;
              }
              zr(e, on, nr);
              break;
            case 4:
              if (wr(e, i), (i & 4194240) === i)
                break;
              for (t = e.eventTimes, f = -1; 0 < i; ) {
                var x = 31 - Ot(i);
                g = 1 << x, x = t[x], x > f && (f = x), i &= ~g;
              }
              if (i = f, i = lt() - i, i = (120 > i ? 120 : 480 > i ? 480 : 1080 > i ? 1080 : 1920 > i ? 1920 : 3e3 > i ? 3e3 : 4320 > i ? 4320 : 1960 * bd(i / 1960)) - i, 10 < i) {
                e.timeoutHandle = Is(zr.bind(null, e, on, nr), i);
                break;
              }
              zr(e, on, nr);
              break;
            case 5:
              zr(e, on, nr);
              break;
            default:
              throw Error(Q(329));
          }
        }
      }
      return sn(e, lt()), e.callbackNode === n ? zc.bind(null, e) : null;
    }
    function Sa(e, t) {
      var n = Gi;
      return e.current.memoizedState.isDehydrated && (Fr(e, t).flags |= 256), e = Ko(e, t), e !== 2 && (t = on, on = n, t !== null && ba(t)), e;
    }
    function ba(e) {
      on === null ? on = e : on.push.apply(on, e);
    }
    function kd(e) {
      for (var t = e; ; ) {
        if (t.flags & 16384) {
          var n = t.updateQueue;
          if (n !== null && (n = n.stores, n !== null))
            for (var i = 0; i < n.length; i++) {
              var f = n[i], g = f.getSnapshot;
              f = f.value;
              try {
                if (!Rn(g(), f))
                  return !1;
              } catch {
                return !1;
              }
            }
        }
        if (n = t.child, t.subtreeFlags & 16384 && n !== null)
          n.return = t, t = n;
        else {
          if (t === e)
            break;
          for (; t.sibling === null; ) {
            if (t.return === null || t.return === e)
              return !0;
            t = t.return;
          }
          t.sibling.return = t.return, t = t.sibling;
        }
      }
      return !0;
    }
    function wr(e, t) {
      for (t &= ~ya, t &= ~Wo, e.suspendedLanes |= t, e.pingedLanes &= ~t, e = e.expirationTimes; 0 < t; ) {
        var n = 31 - Ot(t), i = 1 << n;
        e[n] = -1, t &= ~i;
      }
    }
    function Wc(e) {
      if (ct & 6)
        throw Error(Q(327));
      hi();
      var t = De(e, 0);
      if (!(t & 1))
        return sn(e, lt()), null;
      var n = Ko(e, t);
      if (e.tag !== 0 && n === 2) {
        var i = Ve(e);
        i !== 0 && (t = i, n = Sa(e, i));
      }
      if (n === 1)
        throw n = Vi, Fr(e, 0), wr(e, t), sn(e, lt()), n;
      if (n === 6)
        throw Error(Q(345));
      return e.finishedWork = e.current.alternate, e.finishedLanes = t, zr(e, on, nr), sn(e, lt()), null;
    }
    function ka(e, t) {
      var n = ct;
      ct |= 1;
      try {
        return e(t);
      } finally {
        ct = n, ct === 0 && (fi = lt() + 500, Eo && pr());
      }
    }
    function Ur(e) {
      vr !== null && vr.tag === 0 && !(ct & 6) && hi();
      var t = ct;
      ct |= 1;
      var n = Cn.transition, i = dt;
      try {
        if (Cn.transition = null, dt = 1, e)
          return e();
      } finally {
        dt = i, Cn.transition = n, ct = t, !(ct & 6) && pr();
      }
    }
    function Ta() {
      pn = pi.current, Ct(pi);
    }
    function Fr(e, t) {
      e.finishedWork = null, e.finishedLanes = 0;
      var n = e.timeoutHandle;
      if (n !== -1 && (e.timeoutHandle = -1, ed(n)), Lt !== null)
        for (n = Lt.return; n !== null; ) {
          var i = n;
          switch (Ls(i), i.tag) {
            case 1:
              i = i.type.childContextTypes, i != null && yo();
              break;
            case 3:
              ci(), Ct(tn), Ct(Gt), Ks();
              break;
            case 5:
              Vs(i);
              break;
            case 4:
              ci();
              break;
            case 13:
              Ct(bt);
              break;
            case 19:
              Ct(bt);
              break;
            case 10:
              zs(i.type._context);
              break;
            case 22:
            case 23:
              Ta();
          }
          n = n.return;
        }
      if (Wt = e, Lt = e = Er(e.current, null), Vt = pn = t, jt = 0, Vi = null, ya = Wo = jr = 0, on = Gi = null, Lr !== null) {
        for (t = 0; t < Lr.length; t++)
          if (n = Lr[t], i = n.interleaved, i !== null) {
            n.interleaved = null;
            var f = i.next, g = n.pending;
            if (g !== null) {
              var x = g.next;
              g.next = f, i.next = x;
            }
            n.pending = i;
          }
        Lr = null;
      }
      return e;
    }
    function qc(e, t) {
      do {
        var n = Lt;
        try {
          if (Fs(), Ao.current = Lo, No) {
            for (var i = kt.memoizedState; i !== null; ) {
              var f = i.queue;
              f !== null && (f.pending = null), i = i.next;
            }
            No = !1;
          }
          if (Dr = 0, zt = Dt = kt = null, Fi = !1, zi = 0, va.current = null, n === null || n.return === null) {
            jt = 1, Vi = t, Lt = null;
            break;
          }
          e: {
            var g = e, x = n.return, j = n, B = t;
            if (t = Vt, j.flags |= 32768, B !== null && typeof B == "object" && typeof B.then == "function") {
              var ne = B, ve = j, be = ve.tag;
              if (!(ve.mode & 1) && (be === 0 || be === 11 || be === 15)) {
                var ge = ve.alternate;
                ge ? (ve.updateQueue = ge.updateQueue, ve.memoizedState = ge.memoizedState, ve.lanes = ge.lanes) : (ve.updateQueue = null, ve.memoizedState = null);
              }
              var Me = fc(x);
              if (Me !== null) {
                Me.flags &= -257, hc(Me, x, j, g, t), Me.mode & 1 && pc(g, ne, t), t = Me, B = ne;
                var Fe = t.updateQueue;
                if (Fe === null) {
                  var qe = /* @__PURE__ */ new Set();
                  qe.add(B), t.updateQueue = qe;
                } else
                  Fe.add(B);
                break e;
              } else {
                if (!(t & 1)) {
                  pc(g, ne, t), _a();
                  break e;
                }
                B = Error(Q(426));
              }
            } else if (St && j.mode & 1) {
              var Rt = fc(x);
              if (Rt !== null) {
                !(Rt.flags & 65536) && (Rt.flags |= 256), hc(Rt, x, j, g, t), js(li(B, j));
                break e;
              }
            }
            g = B = li(B, j), jt !== 4 && (jt = 2), Gi === null ? Gi = [g] : Gi.push(g), g = x;
            do {
              switch (g.tag) {
                case 3:
                  g.flags |= 65536, t &= -t, g.lanes |= t;
                  var J = lc(g, B, t);
                  ju(g, J);
                  break e;
                case 1:
                  j = B;
                  var K = g.type, Z = g.stateNode;
                  if (!(g.flags & 128) && (typeof K.getDerivedStateFromError == "function" || Z !== null && typeof Z.componentDidCatch == "function" && (gr === null || !gr.has(Z)))) {
                    g.flags |= 65536, t &= -t, g.lanes |= t;
                    var xe = dc(g, j, t);
                    ju(g, xe);
                    break e;
                  }
              }
              g = g.return;
            } while (g !== null);
          }
          Vc(n);
        } catch (Be) {
          t = Be, Lt === n && n !== null && (Lt = n = n.return);
          continue;
        }
        break;
      } while (!0);
    }
    function Bc() {
      var e = zo.current;
      return zo.current = Lo, e === null ? Lo : e;
    }
    function _a() {
      (jt === 0 || jt === 3 || jt === 2) && (jt = 4), Wt === null || !(jr & 268435455) && !(Wo & 268435455) || wr(Wt, Vt);
    }
    function Ko(e, t) {
      var n = ct;
      ct |= 2;
      var i = Bc();
      (Wt !== e || Vt !== t) && (nr = null, Fr(e, t));
      do
        try {
          Td();
          break;
        } catch (f) {
          qc(e, f);
        }
      while (!0);
      if (Fs(), ct = n, zo.current = i, Lt !== null)
        throw Error(Q(261));
      return Wt = null, Vt = 0, jt;
    }
    function Td() {
      for (; Lt !== null; )
        Hc(Lt);
    }
    function _d() {
      for (; Lt !== null && !vt(); )
        Hc(Lt);
    }
    function Hc(e) {
      var t = Xc(e.alternate, e, pn);
      e.memoizedProps = e.pendingProps, t === null ? Vc(e) : Lt = t, va.current = null;
    }
    function Vc(e) {
      var t = e;
      do {
        var n = t.alternate;
        if (e = t.return, t.flags & 32768) {
          if (n = wd(n, t), n !== null) {
            n.flags &= 32767, Lt = n;
            return;
          }
          if (e !== null)
            e.flags |= 32768, e.subtreeFlags = 0, e.deletions = null;
          else {
            jt = 6, Lt = null;
            return;
          }
        } else if (n = yd(n, t, pn), n !== null) {
          Lt = n;
          return;
        }
        if (t = t.sibling, t !== null) {
          Lt = t;
          return;
        }
        Lt = t = e;
      } while (t !== null);
      jt === 0 && (jt = 5);
    }
    function zr(e, t, n) {
      var i = dt, f = Cn.transition;
      try {
        Cn.transition = null, dt = 1, xd(e, t, n, i);
      } finally {
        Cn.transition = f, dt = i;
      }
      return null;
    }
    function xd(e, t, n, i) {
      do
        hi();
      while (vr !== null);
      if (ct & 6)
        throw Error(Q(327));
      n = e.finishedWork;
      var f = e.finishedLanes;
      if (n === null)
        return null;
      if (e.finishedWork = null, e.finishedLanes = 0, n === e.current)
        throw Error(Q(177));
      e.callbackNode = null, e.callbackPriority = 0;
      var g = n.lanes | n.childLanes;
      if (Tr(e, g), e === Wt && (Lt = Wt = null, Vt = 0), !(n.subtreeFlags & 2064) && !(n.flags & 2064) || Bo || (Bo = !0, Yc($t, function() {
        return hi(), null;
      })), g = (n.flags & 15990) !== 0, n.subtreeFlags & 15990 || g) {
        g = Cn.transition, Cn.transition = null;
        var x = dt;
        dt = 1;
        var j = ct;
        ct |= 4, va.current = null, Cd(e, n), Mc(n, e), Kl(_s), te = !!Ts, _s = Ts = null, e.current = n, Sd(n), kn(), ct = j, dt = x, Cn.transition = g;
      } else
        e.current = n;
      if (Bo && (Bo = !1, vr = e, Ho = f), g = e.pendingLanes, g === 0 && (gr = null), is(n.stateNode), sn(e, lt()), t !== null)
        for (i = e.onRecoverableError, n = 0; n < t.length; n++)
          f = t[n], i(f.value, { componentStack: f.stack, digest: f.digest });
      if (qo)
        throw qo = !1, e = Ea, Ea = null, e;
      return Ho & 1 && e.tag !== 0 && hi(), g = e.pendingLanes, g & 1 ? e === Ca ? Ki++ : (Ki = 0, Ca = e) : Ki = 0, pr(), null;
    }
    function hi() {
      if (vr !== null) {
        var e = Ft(Ho), t = Cn.transition, n = dt;
        try {
          if (Cn.transition = null, dt = 16 > e ? 16 : e, vr === null)
            var i = !1;
          else {
            if (e = vr, vr = null, Ho = 0, ct & 6)
              throw Error(Q(331));
            var f = ct;
            for (ct |= 4, Ue = e.current; Ue !== null; ) {
              var g = Ue, x = g.child;
              if (Ue.flags & 16) {
                var j = g.deletions;
                if (j !== null) {
                  for (var B = 0; B < j.length; B++) {
                    var ne = j[B];
                    for (Ue = ne; Ue !== null; ) {
                      var ve = Ue;
                      switch (ve.tag) {
                        case 0:
                        case 11:
                        case 15:
                          Hi(8, ve, g);
                      }
                      var be = ve.child;
                      if (be !== null)
                        be.return = ve, Ue = be;
                      else
                        for (; Ue !== null; ) {
                          ve = Ue;
                          var ge = ve.sibling, Me = ve.return;
                          if (Ac(ve), ve === ne) {
                            Ue = null;
                            break;
                          }
                          if (ge !== null) {
                            ge.return = Me, Ue = ge;
                            break;
                          }
                          Ue = Me;
                        }
                    }
                  }
                  var Fe = g.alternate;
                  if (Fe !== null) {
                    var qe = Fe.child;
                    if (qe !== null) {
                      Fe.child = null;
                      do {
                        var Rt = qe.sibling;
                        qe.sibling = null, qe = Rt;
                      } while (qe !== null);
                    }
                  }
                  Ue = g;
                }
              }
              if (g.subtreeFlags & 2064 && x !== null)
                x.return = g, Ue = x;
              else
                e:
                  for (; Ue !== null; ) {
                    if (g = Ue, g.flags & 2048)
                      switch (g.tag) {
                        case 0:
                        case 11:
                        case 15:
                          Hi(9, g, g.return);
                      }
                    var J = g.sibling;
                    if (J !== null) {
                      J.return = g.return, Ue = J;
                      break e;
                    }
                    Ue = g.return;
                  }
            }
            var K = e.current;
            for (Ue = K; Ue !== null; ) {
              x = Ue;
              var Z = x.child;
              if (x.subtreeFlags & 2064 && Z !== null)
                Z.return = x, Ue = Z;
              else
                e:
                  for (x = K; Ue !== null; ) {
                    if (j = Ue, j.flags & 2048)
                      try {
                        switch (j.tag) {
                          case 0:
                          case 11:
                          case 15:
                            Fo(9, j);
                        }
                      } catch (Be) {
                        _t(j, j.return, Be);
                      }
                    if (j === x) {
                      Ue = null;
                      break e;
                    }
                    var xe = j.sibling;
                    if (xe !== null) {
                      xe.return = j.return, Ue = xe;
                      break e;
                    }
                    Ue = j.return;
                  }
            }
            if (ct = f, pr(), hn && typeof hn.onPostCommitFiberRoot == "function")
              try {
                hn.onPostCommitFiberRoot(kr, e);
              } catch {
              }
            i = !0;
          }
          return i;
        } finally {
          dt = n, Cn.transition = t;
        }
      }
      return !1;
    }
    function Gc(e, t, n) {
      t = li(n, t), t = lc(e, t, 1), e = hr(e, t, 1), t = Zt(), e !== null && (yt(e, 1, t), sn(e, t));
    }
    function _t(e, t, n) {
      if (e.tag === 3)
        Gc(e, e, n);
      else
        for (; t !== null; ) {
          if (t.tag === 3) {
            Gc(t, e, n);
            break;
          } else if (t.tag === 1) {
            var i = t.stateNode;
            if (typeof t.type.getDerivedStateFromError == "function" || typeof i.componentDidCatch == "function" && (gr === null || !gr.has(i))) {
              e = li(n, e), e = dc(t, e, 1), t = hr(t, e, 1), e = Zt(), t !== null && (yt(t, 1, e), sn(t, e));
              break;
            }
          }
          t = t.return;
        }
    }
    function Id(e, t, n) {
      var i = e.pingCache;
      i !== null && i.delete(t), t = Zt(), e.pingedLanes |= e.suspendedLanes & n, Wt === e && (Vt & n) === n && (jt === 4 || jt === 3 && (Vt & 130023424) === Vt && 500 > lt() - wa ? Fr(e, 0) : ya |= n), sn(e, t);
    }
    function Kc(e, t) {
      t === 0 && (e.mode & 1 ? (t = fe, fe <<= 1, !(fe & 130023424) && (fe = 4194304)) : t = 1);
      var n = Zt();
      e = Zn(e, t), e !== null && (yt(e, t, n), sn(e, n));
    }
    function Rd(e) {
      var t = e.memoizedState, n = 0;
      t !== null && (n = t.retryLane), Kc(e, n);
    }
    function Ad(e, t) {
      var n = 0;
      switch (e.tag) {
        case 13:
          var i = e.stateNode, f = e.memoizedState;
          f !== null && (n = f.retryLane);
          break;
        case 19:
          i = e.stateNode;
          break;
        default:
          throw Error(Q(314));
      }
      i !== null && i.delete(t), Kc(e, n);
    }
    var Xc;
    Xc = function(e, t, n) {
      if (e !== null)
        if (e.memoizedProps !== t.pendingProps || tn.current)
          rn = !0;
        else {
          if (!(e.lanes & n) && !(t.flags & 128))
            return rn = !1, vd(e, t, n);
          rn = !!(e.flags & 131072);
        }
      else
        rn = !1, St && t.flags & 1048576 && xu(t, So, t.index);
      switch (t.lanes = 0, t.tag) {
        case 2:
          var i = t.type;
          jo(e, t), e = t.pendingProps;
          var f = ni(t, Gt.current);
          ui(t, n), f = $s(null, t, i, e, f, n);
          var g = Qs();
          return t.flags |= 1, typeof f == "object" && f !== null && typeof f.render == "function" && f.$$typeof === void 0 ? (t.tag = 1, t.memoizedState = null, t.updateQueue = null, nn(i) ? (g = !0, wo(t)) : g = !1, t.memoizedState = f.state !== null && f.state !== void 0 ? f.state : null, Bs(t), f.updater = Mo, t.stateNode = f, f._reactInternals = t, ra(t, i, e, n), t = aa(null, t, i, !0, g, n)) : (t.tag = 0, St && g && Os(t), Jt(null, t, f, n), t = t.child), t;
        case 16:
          i = t.elementType;
          e: {
            switch (jo(e, t), e = t.pendingProps, f = i._init, i = f(i._payload), t.type = i, f = t.tag = Pd(i), e = Nn(i, e), f) {
              case 0:
                t = sa(null, t, i, e, n);
                break e;
              case 1:
                t = Ec(null, t, i, e, n);
                break e;
              case 11:
                t = mc(null, t, i, e, n);
                break e;
              case 14:
                t = gc(null, t, i, Nn(i.type, e), n);
                break e;
            }
            throw Error(Q(
              306,
              i,
              ""
            ));
          }
          return t;
        case 0:
          return i = t.type, f = t.pendingProps, f = t.elementType === i ? f : Nn(i, f), sa(e, t, i, f, n);
        case 1:
          return i = t.type, f = t.pendingProps, f = t.elementType === i ? f : Nn(i, f), Ec(e, t, i, f, n);
        case 3:
          e: {
            if (Cc(t), e === null)
              throw Error(Q(387));
            i = t.pendingProps, g = t.memoizedState, f = g.element, Du(e, t), Io(t, i, null, n);
            var x = t.memoizedState;
            if (i = x.element, g.isDehydrated)
              if (g = { element: i, isDehydrated: !1, cache: x.cache, pendingSuspenseBoundaries: x.pendingSuspenseBoundaries, transitions: x.transitions }, t.updateQueue.baseState = g, t.memoizedState = g, t.flags & 256) {
                f = li(Error(Q(423)), t), t = Sc(e, t, i, n, f);
                break e;
              } else if (i !== f) {
                f = li(Error(Q(424)), t), t = Sc(e, t, i, n, f);
                break e;
              } else
                for (dn = cr(t.stateNode.containerInfo.firstChild), ln = t, St = !0, An = null, n = Lu(t, null, i, n), t.child = n; n; )
                  n.flags = n.flags & -3 | 4096, n = n.sibling;
            else {
              if (oi(), i === f) {
                t = tr(e, t, n);
                break e;
              }
              Jt(e, t, i, n);
            }
            t = t.child;
          }
          return t;
        case 5:
          return Fu(t), e === null && Ds(t), i = t.type, f = t.pendingProps, g = e !== null ? e.memoizedProps : null, x = f.children, xs(i, f) ? x = null : g !== null && xs(i, g) && (t.flags |= 32), wc(e, t), Jt(e, t, x, n), t.child;
        case 6:
          return e === null && Ds(t), null;
        case 13:
          return bc(e, t, n);
        case 4:
          return Hs(t, t.stateNode.containerInfo), i = t.pendingProps, e === null ? t.child = si(t, null, i, n) : Jt(e, t, i, n), t.child;
        case 11:
          return i = t.type, f = t.pendingProps, f = t.elementType === i ? f : Nn(i, f), mc(e, t, i, f, n);
        case 7:
          return Jt(e, t, t.pendingProps, n), t.child;
        case 8:
          return Jt(e, t, t.pendingProps.children, n), t.child;
        case 12:
          return Jt(e, t, t.pendingProps.children, n), t.child;
        case 10:
          e: {
            if (i = t.type._context, f = t.pendingProps, g = t.memoizedProps, x = f.value, gt(To, i._currentValue), i._currentValue = x, g !== null)
              if (Rn(g.value, x)) {
                if (g.children === f.children && !tn.current) {
                  t = tr(e, t, n);
                  break e;
                }
              } else
                for (g = t.child, g !== null && (g.return = t); g !== null; ) {
                  var j = g.dependencies;
                  if (j !== null) {
                    x = g.child;
                    for (var B = j.firstContext; B !== null; ) {
                      if (B.context === i) {
                        if (g.tag === 1) {
                          B = er(-1, n & -n), B.tag = 2;
                          var ne = g.updateQueue;
                          if (ne !== null) {
                            ne = ne.shared;
                            var ve = ne.pending;
                            ve === null ? B.next = B : (B.next = ve.next, ve.next = B), ne.pending = B;
                          }
                        }
                        g.lanes |= n, B = g.alternate, B !== null && (B.lanes |= n), Ws(
                          g.return,
                          n,
                          t
                        ), j.lanes |= n;
                        break;
                      }
                      B = B.next;
                    }
                  } else if (g.tag === 10)
                    x = g.type === t.type ? null : g.child;
                  else if (g.tag === 18) {
                    if (x = g.return, x === null)
                      throw Error(Q(341));
                    x.lanes |= n, j = x.alternate, j !== null && (j.lanes |= n), Ws(x, n, t), x = g.sibling;
                  } else
                    x = g.child;
                  if (x !== null)
                    x.return = g;
                  else
                    for (x = g; x !== null; ) {
                      if (x === t) {
                        x = null;
                        break;
                      }
                      if (g = x.sibling, g !== null) {
                        g.return = x.return, x = g;
                        break;
                      }
                      x = x.return;
                    }
                  g = x;
                }
            Jt(e, t, f.children, n), t = t.child;
          }
          return t;
        case 9:
          return f = t.type, i = t.pendingProps.children, ui(t, n), f = wn(f), i = i(f), t.flags |= 1, Jt(e, t, i, n), t.child;
        case 14:
          return i = t.type, f = Nn(i, t.pendingProps), f = Nn(i.type, f), gc(e, t, i, f, n);
        case 15:
          return vc(e, t, t.type, t.pendingProps, n);
        case 17:
          return i = t.type, f = t.pendingProps, f = t.elementType === i ? f : Nn(i, f), jo(e, t), t.tag = 1, nn(i) ? (e = !0, wo(t)) : e = !1, ui(t, n), uc(t, i, f), ra(t, i, f, n), aa(null, t, i, !0, e, n);
        case 19:
          return Tc(e, t, n);
        case 22:
          return yc(e, t, n);
      }
      throw Error(Q(156, t.tag));
    };
    function Yc(e, t) {
      return He(e, t);
    }
    function Nd(e, t, n, i) {
      this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = i, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null;
    }
    function Sn(e, t, n, i) {
      return new Nd(e, t, n, i);
    }
    function xa(e) {
      return e = e.prototype, !(!e || !e.isReactComponent);
    }
    function Pd(e) {
      if (typeof e == "function")
        return xa(e) ? 1 : 0;
      if (e != null) {
        if (e = e.$$typeof, e === z)
          return 11;
        if (e === F)
          return 14;
      }
      return 2;
    }
    function Er(e, t) {
      var n = e.alternate;
      return n === null ? (n = Sn(e.tag, t, e.key, e.mode), n.elementType = e.elementType, n.type = e.type, n.stateNode = e.stateNode, n.alternate = e, e.alternate = n) : (n.pendingProps = t, n.type = e.type, n.flags = 0, n.subtreeFlags = 0, n.deletions = null), n.flags = e.flags & 14680064, n.childLanes = e.childLanes, n.lanes = e.lanes, n.child = e.child, n.memoizedProps = e.memoizedProps, n.memoizedState = e.memoizedState, n.updateQueue = e.updateQueue, t = e.dependencies, n.dependencies = t === null ? null : { lanes: t.lanes, firstContext: t.firstContext }, n.sibling = e.sibling, n.index = e.index, n.ref = e.ref, n;
    }
    function Xo(e, t, n, i, f, g) {
      var x = 2;
      if (i = e, typeof e == "function")
        xa(e) && (x = 1);
      else if (typeof e == "string")
        x = 5;
      else
        e:
          switch (e) {
            case C:
              return Wr(n.children, f, g, t);
            case E:
              x = 8, f |= 8;
              break;
            case k:
              return e = Sn(12, n, t, f | 2), e.elementType = k, e.lanes = g, e;
            case R:
              return e = Sn(13, n, t, f), e.elementType = R, e.lanes = g, e;
            case q:
              return e = Sn(19, n, t, f), e.elementType = q, e.lanes = g, e;
            case Ae:
              return Yo(n, f, g, t);
            default:
              if (typeof e == "object" && e !== null)
                switch (e.$$typeof) {
                  case O:
                    x = 10;
                    break e;
                  case P:
                    x = 9;
                    break e;
                  case z:
                    x = 11;
                    break e;
                  case F:
                    x = 14;
                    break e;
                  case ae:
                    x = 16, i = null;
                    break e;
                }
              throw Error(Q(130, e == null ? e : typeof e, ""));
          }
      return t = Sn(x, n, t, f), t.elementType = e, t.type = i, t.lanes = g, t;
    }
    function Wr(e, t, n, i) {
      return e = Sn(7, e, i, t), e.lanes = n, e;
    }
    function Yo(e, t, n, i) {
      return e = Sn(22, e, i, t), e.elementType = Ae, e.lanes = n, e.stateNode = { isHidden: !1 }, e;
    }
    function Ia(e, t, n) {
      return e = Sn(6, e, null, t), e.lanes = n, e;
    }
    function Ra(e, t, n) {
      return t = Sn(4, e.children !== null ? e.children : [], e.key, t), t.lanes = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t;
    }
    function Od(e, t, n, i, f) {
      this.tag = t, this.containerInfo = e, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.pendingContext = this.context = null, this.callbackPriority = 0, this.eventTimes = It(0), this.expirationTimes = It(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = It(0), this.identifierPrefix = i, this.onRecoverableError = f, this.mutableSourceEagerHydrationData = null;
    }
    function Aa(e, t, n, i, f, g, x, j, B) {
      return e = new Od(e, t, n, j, B), t === 1 ? (t = 1, g === !0 && (t |= 8)) : t = 0, g = Sn(3, null, null, t), e.current = g, g.stateNode = e, g.memoizedState = { element: i, isDehydrated: n, cache: null, transitions: null, pendingSuspenseBoundaries: null }, Bs(g), e;
    }
    function Ld(e, t, n) {
      var i = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
      return { $$typeof: v, key: i == null ? null : "" + i, children: e, containerInfo: t, implementation: n };
    }
    function $c(e) {
      if (!e)
        return dr;
      e = e._reactInternals;
      e: {
        if (Ze(e) !== e || e.tag !== 1)
          throw Error(Q(170));
        var t = e;
        do {
          switch (t.tag) {
            case 3:
              t = t.stateNode.context;
              break e;
            case 1:
              if (nn(t.type)) {
                t = t.stateNode.__reactInternalMemoizedMergedChildContext;
                break e;
              }
          }
          t = t.return;
        } while (t !== null);
        throw Error(Q(171));
      }
      if (e.tag === 1) {
        var n = e.type;
        if (nn(n))
          return ku(e, n, t);
      }
      return t;
    }
    function Qc(e, t, n, i, f, g, x, j, B) {
      return e = Aa(n, i, !0, e, f, g, x, j, B), e.context = $c(null), n = e.current, i = Zt(), f = yr(n), g = er(i, f), g.callback = t ?? null, hr(n, g, f), e.current.lanes = f, yt(e, f, i), sn(e, i), e;
    }
    function $o(e, t, n, i) {
      var f = t.current, g = Zt(), x = yr(f);
      return n = $c(n), t.context === null ? t.context = n : t.pendingContext = n, t = er(g, x), t.payload = { element: e }, i = i === void 0 ? null : i, i !== null && (t.callback = i), e = hr(f, t, x), e !== null && (Ln(e, f, x, g), xo(e, f, x)), x;
    }
    function Qo(e) {
      if (e = e.current, !e.child)
        return null;
      switch (e.child.tag) {
        case 5:
          return e.child.stateNode;
        default:
          return e.child.stateNode;
      }
    }
    function Jc(e, t) {
      if (e = e.memoizedState, e !== null && e.dehydrated !== null) {
        var n = e.retryLane;
        e.retryLane = n !== 0 && n < t ? n : t;
      }
    }
    function Na(e, t) {
      Jc(e, t), (e = e.alternate) && Jc(e, t);
    }
    function Md() {
      return null;
    }
    var Zc = typeof reportError == "function" ? reportError : function(e) {
      console.error(e);
    };
    function Pa(e) {
      this._internalRoot = e;
    }
    Jo.prototype.render = Pa.prototype.render = function(e) {
      var t = this._internalRoot;
      if (t === null)
        throw Error(Q(409));
      $o(e, t, null, null);
    }, Jo.prototype.unmount = Pa.prototype.unmount = function() {
      var e = this._internalRoot;
      if (e !== null) {
        this._internalRoot = null;
        var t = e.containerInfo;
        Ur(function() {
          $o(null, e, null, null);
        }), t[Yn] = null;
      }
    };
    function Jo(e) {
      this._internalRoot = e;
    }
    Jo.prototype.unstable_scheduleHydration = function(e) {
      if (e) {
        var t = en();
        e = { blockedOn: null, target: e, priority: t };
        for (var n = 0; n < Fn.length && t !== 0 && t < Fn[n].priority; n++)
          ;
        Fn.splice(n, 0, e), n === 0 && Ir(e);
      }
    };
    function Oa(e) {
      return !(!e || e.nodeType !== 1 && e.nodeType !== 9 && e.nodeType !== 11);
    }
    function Zo(e) {
      return !(!e || e.nodeType !== 1 && e.nodeType !== 9 && e.nodeType !== 11 && (e.nodeType !== 8 || e.nodeValue !== " react-mount-point-unstable "));
    }
    function el() {
    }
    function Dd(e, t, n, i, f) {
      if (f) {
        if (typeof i == "function") {
          var g = i;
          i = function() {
            var ne = Qo(x);
            g.call(ne);
          };
        }
        var x = Qc(t, i, e, 0, null, !1, !1, "", el);
        return e._reactRootContainer = x, e[Yn] = x.current, Ni(e.nodeType === 8 ? e.parentNode : e), Ur(), x;
      }
      for (; f = e.lastChild; )
        e.removeChild(f);
      if (typeof i == "function") {
        var j = i;
        i = function() {
          var ne = Qo(B);
          j.call(ne);
        };
      }
      var B = Aa(e, 0, !1, null, null, !1, !1, "", el);
      return e._reactRootContainer = B, e[Yn] = B.current, Ni(e.nodeType === 8 ? e.parentNode : e), Ur(function() {
        $o(t, B, n, i);
      }), B;
    }
    function es(e, t, n, i, f) {
      var g = n._reactRootContainer;
      if (g) {
        var x = g;
        if (typeof f == "function") {
          var j = f;
          f = function() {
            var B = Qo(x);
            j.call(B);
          };
        }
        $o(t, x, e, f);
      } else
        x = Dd(n, t, e, f, i);
      return Qo(x);
    }
    Gr = function(e) {
      switch (e.tag) {
        case 3:
          var t = e.stateNode;
          if (t.current.memoizedState.isDehydrated) {
            var n = ue(t.pendingLanes);
            n !== 0 && (Ei(t, n | 1), sn(t, lt()), !(ct & 6) && (fi = lt() + 500, pr()));
          }
          break;
        case 13:
          Ur(function() {
            var i = Zn(e, 1);
            if (i !== null) {
              var f = Zt();
              Ln(i, e, 1, f);
            }
          }), Na(e, 1);
      }
    }, Un = function(e) {
      if (e.tag === 13) {
        var t = Zn(e, 134217728);
        if (t !== null) {
          var n = Zt();
          Ln(t, e, 134217728, n);
        }
        Na(e, 134217728);
      }
    }, Tn = function(e) {
      if (e.tag === 13) {
        var t = yr(e), n = Zn(e, t);
        if (n !== null) {
          var i = Zt();
          Ln(n, e, t, i);
        }
        Na(e, t);
      }
    }, en = function() {
      return dt;
    }, Kr = function(e, t) {
      var n = dt;
      try {
        return dt = e, t();
      } finally {
        dt = n;
      }
    }, yi = function(e, t, n) {
      switch (t) {
        case "input":
          if (at(e, n), t = n.name, n.type === "radio" && t != null) {
            for (n = e; n.parentNode; )
              n = n.parentNode;
            for (n = n.querySelectorAll("input[name=" + JSON.stringify("" + t) + '][type="radio"]'), t = 0; t < n.length; t++) {
              var i = n[t];
              if (i !== e && i.form === e.form) {
                var f = vo(i);
                if (!f)
                  throw Error(Q(90));
                et(i), at(i, f);
              }
            }
          }
          break;
        case "textarea":
          ye(e, n);
          break;
        case "select":
          t = n.value, t != null && H(e, !!n.multiple, t, !1);
      }
    }, Zi = ka, eo = Ur;
    var jd = { usingClientEntryPoint: !1, Events: [Li, ei, vo, wi, Ji, ka] }, Xi = { findFiberByHostInstance: Ar, bundleType: 0, version: "18.3.1", rendererPackageName: "react-dom" }, Ud = { bundleType: Xi.bundleType, version: Xi.version, rendererPackageName: Xi.rendererPackageName, rendererConfig: Xi.rendererConfig, overrideHookState: null, overrideHookStateDeletePath: null, overrideHookStateRenamePath: null, overrideProps: null, overridePropsDeletePath: null, overridePropsRenamePath: null, setErrorHandler: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: l.ReactCurrentDispatcher, findHostInstanceByFiber: function(e) {
      return e = ht(e), e === null ? null : e.stateNode;
    }, findFiberByHostInstance: Xi.findFiberByHostInstance || Md, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, reconcilerVersion: "18.3.1-next-f1338f8080-20240426" };
    if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u") {
      var ts = __REACT_DEVTOOLS_GLOBAL_HOOK__;
      if (!ts.isDisabled && ts.supportsFiber)
        try {
          kr = ts.inject(Ud), hn = ts;
        } catch {
        }
    }
    return an.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = jd, an.createPortal = function(e, t) {
      var n = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
      if (!Oa(t))
        throw Error(Q(200));
      return Ld(e, t, null, n);
    }, an.createRoot = function(e, t) {
      if (!Oa(e))
        throw Error(Q(299));
      var n = !1, i = "", f = Zc;
      return t != null && (t.unstable_strictMode === !0 && (n = !0), t.identifierPrefix !== void 0 && (i = t.identifierPrefix), t.onRecoverableError !== void 0 && (f = t.onRecoverableError)), t = Aa(e, 1, !1, null, null, n, !1, i, f), e[Yn] = t.current, Ni(e.nodeType === 8 ? e.parentNode : e), new Pa(t);
    }, an.findDOMNode = function(e) {
      if (e == null)
        return null;
      if (e.nodeType === 1)
        return e;
      var t = e._reactInternals;
      if (t === void 0)
        throw typeof e.render == "function" ? Error(Q(188)) : (e = Object.keys(e).join(","), Error(Q(268, e)));
      return e = ht(t), e = e === null ? null : e.stateNode, e;
    }, an.flushSync = function(e) {
      return Ur(e);
    }, an.hydrate = function(e, t, n) {
      if (!Zo(t))
        throw Error(Q(200));
      return es(null, e, t, !0, n);
    }, an.hydrateRoot = function(e, t, n) {
      if (!Oa(e))
        throw Error(Q(405));
      var i = n != null && n.hydratedSources || null, f = !1, g = "", x = Zc;
      if (n != null && (n.unstable_strictMode === !0 && (f = !0), n.identifierPrefix !== void 0 && (g = n.identifierPrefix), n.onRecoverableError !== void 0 && (x = n.onRecoverableError)), t = Qc(t, null, e, 1, n ?? null, f, !1, g, x), e[Yn] = t.current, Ni(e), i)
        for (e = 0; e < i.length; e++)
          n = i[e], f = n._getVersion, f = f(n._source), t.mutableSourceEagerHydrationData == null ? t.mutableSourceEagerHydrationData = [n, f] : t.mutableSourceEagerHydrationData.push(
            n,
            f
          );
      return new Jo(t);
    }, an.render = function(e, t, n) {
      if (!Zo(t))
        throw Error(Q(200));
      return es(null, e, t, !1, n);
    }, an.unmountComponentAtNode = function(e) {
      if (!Zo(e))
        throw Error(Q(40));
      return e._reactRootContainer ? (Ur(function() {
        es(null, null, e, !1, function() {
          e._reactRootContainer = null, e[Yn] = null;
        });
      }), !0) : !1;
    }, an.unstable_batchedUpdates = ka, an.unstable_renderSubtreeIntoContainer = function(e, t, n, i) {
      if (!Zo(n))
        throw Error(Q(200));
      if (e == null || e._reactInternals === void 0)
        throw Error(Q(38));
      return es(e, t, n, !1, i);
    }, an.version = "18.3.1-next-f1338f8080-20240426", an;
  }
  function pl() {
    if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function"))
      try {
        __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(pl);
      } catch (he) {
        console.error(he);
      }
  }
  pl(), dl.exports = Hd();
  var Vd = dl.exports, al = Vd;
  Ua.createRoot = al.createRoot, Ua.hydrateRoot = al.hydrateRoot;
  var Mn = za();
  const Gd = '@import"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,500;1,500&display=swap";:host{--color-primary: #e56606;--font-primary: "Poppins", sans-serif;--logo: url(https://b1425435.smushcdn.com/1425435/wp-content/uploads/2020/09/segenlogo.jpg?lossy=1&strip=1&webp=1)}@keyframes appear{0%{opacity:0;scale:.5}to{scale:1;opacity:1}}.animate__appear{animation:appear .2s ease-in-out}', Kd = ".chat-button{z-index:999}.chat-button button{box-shadow:#00000026 0 13px 30px;position:absolute;bottom:25px;right:25px;width:75px;height:75px;background:var(--external-color-primary, var(--color-primary));cursor:pointer;border:0px;border-radius:10px 10px 0;line-height:26px}.chat-button button svg{width:auto;height:35px;margin-top:10px}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-button .animate__rotate{animation:rotate 2s linear infinite}";
  function ja({ Icon: he, onClick: Oe }) {
    return /* @__PURE__ */ ze.jsxs(ze.Fragment, { children: [
      /* @__PURE__ */ ze.jsx("style", { children: Kd }),
      /* @__PURE__ */ ze.jsx("button", { className: "animate__appear", onClick: Oe, children: /* @__PURE__ */ ze.jsx(he, {}) })
    ] });
  }
  const ul = () => /* @__PURE__ */ ze.jsxs(
    "svg",
    {
      xmlns: "http://www.w3.org/2000/svg",
      width: "16",
      height: "16",
      fill: "white",
      viewBox: "0 0 16 16",
      children: [
        /* @__PURE__ */ ze.jsx("path", { d: "M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2z" }),
        /* @__PURE__ */ ze.jsx("path", { d: "M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0m4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0m4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0" })
      ]
    }
  ), Xd = () => /* @__PURE__ */ ze.jsxs(
    "svg",
    {
      xmlns: "http://www.w3.org/2000/svg",
      width: "16",
      height: "16",
      fill: "white",
      viewBox: "0 0 16 16",
      className: "animate__rotate",
      children: [
        /* @__PURE__ */ ze.jsx("path", { d: "M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9" }),
        /* @__PURE__ */ ze.jsx(
          "path",
          {
            "fill-rule": "evenodd",
            d: "M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z"
          }
        )
      ]
    }
  ), Yd = (he) => /* @__PURE__ */ ze.jsxs(
    "svg",
    {
      xmlns: "http://www.w3.org/2000/svg",
      width: "20",
      height: "20",
      fill: "currentColor",
      viewBox: "0 0 16 16",
      onClick: he.onClick,
      children: [
        /* @__PURE__ */ ze.jsx("title", { id: "svg-inline--fa-title-xftoi5YZkYy5", children: "Minimise chat window" }),
        /* @__PURE__ */ ze.jsx(
          "path",
          {
            d: "M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8",
            stroke: "black",
            "stroke-width": "0.5"
          }
        )
      ]
    }
  ), $d = (he) => /* @__PURE__ */ ze.jsxs(
    "svg",
    {
      xmlns: "http://www.w3.org/2000/svg",
      width: "20",
      height: "20",
      fill: "currentColor",
      viewBox: "0 0 16 16",
      onClick: he.onClick,
      children: [
        /* @__PURE__ */ ze.jsx("title", { id: "svg-inline--fa-title-xftoi5YZkYy5", children: "Close chat window" }),
        /* @__PURE__ */ ze.jsx(
          "path",
          {
            d: "M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708",
            stroke: "black",
            "stroke-width": "0.5"
          }
        )
      ]
    }
  ), Qd = () => /* @__PURE__ */ ze.jsx(
    "svg",
    {
      xmlns: "http://www.w3.org/2000/svg",
      width: "16",
      height: "16",
      fill: "currentColor",
      className: "animate__typing-dots",
      viewBox: "0 0 16 16",
      children: /* @__PURE__ */ ze.jsx(
        "path",
        {
          d: "M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3",
          stroke: "black",
          "stroke-width": "1"
        }
      )
    }
  ), Jd = () => /* @__PURE__ */ ze.jsxs(
    "svg",
    {
      version: "1.1",
      xmlns: "http://www.w3.org/2000/svg",
      width: "100%",
      height: "100%",
      viewBox: "0 0 458 480",
      children: [
        /* @__PURE__ */ ze.jsx(
          "path",
          {
            d: "M0 0 C1.37430176 0.30550781 1.37430176 0.30550781 2.77636719 0.6171875 C54.56942904 12.41399034 101.03847888 45.99931724 129.40356445 90.78149414 C134.83340218 99.57216715 139.68958898 108.6116021 144 118 C144.45584473 118.98637451 144.45584473 118.98637451 144.92089844 119.99267578 C154.92559866 141.98272926 161.07250801 166.93721043 161.203125 191.14453125 C161.20882507 191.99440109 161.21452515 192.84427094 161.22039795 193.71989441 C161.22978568 195.51238792 161.23635692 197.30489821 161.24023438 199.09741211 C161.24983902 201.76774483 161.28088013 204.43727233 161.3125 207.10742188 C161.40831369 222.64987442 159.71323224 237.93971749 155.75 253 C155.54093018 253.80993408 155.33186035 254.61986816 155.11645508 255.4543457 C146.18814394 288.96861019 129.66662077 319.48961278 105.47460938 344.47412109 C104.45365211 345.53057522 103.43976855 346.59389417 102.43164062 347.66259766 C84.41021277 366.75519162 62.80596877 381.07017884 39 392 C38.34241699 392.30389648 37.68483398 392.60779297 37.00732422 392.92089844 C25.06686696 398.35338615 12.77045669 402.05828419 0 405 C-0.91088379 405.21317871 -1.82176758 405.42635742 -2.76025391 405.64599609 C-30.88048212 411.92092226 -62.97954186 411.4963352 -91 405 C-91.91620117 404.79632813 -92.83240234 404.59265625 -93.77636719 404.3828125 C-145.56942904 392.58600966 -192.03847888 359.00068276 -220.40356445 314.21850586 C-225.83340218 305.42783285 -230.68958898 296.3883979 -235 287 C-235.45584473 286.01362549 -235.45584473 286.01362549 -235.92089844 285.00732422 C-241.35338615 273.06686696 -245.05828419 260.77045669 -248 248 C-248.21317871 247.08911621 -248.42635742 246.17823242 -248.64599609 245.23974609 C-254.92092226 217.11951788 -254.4963352 185.02045814 -248 157 C-247.69449219 155.62569824 -247.69449219 155.62569824 -247.3828125 154.22363281 C-235.58600966 102.43057096 -202.00068276 55.96152112 -157.21850586 27.59643555 C-148.42783285 22.16659782 -139.3883979 17.31041102 -130 13 C-129.34241699 12.69610352 -128.68483398 12.39220703 -128.00732422 12.07910156 C-116.06686696 6.64661385 -103.77045669 2.94171581 -91 0 C-90.08911621 -0.21317871 -89.17823242 -0.42635742 -88.23974609 -0.64599609 C-60.11951788 -6.92092226 -28.02045814 -6.4963352 0 0 Z M-161 58 C-161.59184082 58.49177734 -162.18368164 58.98355469 -162.79345703 59.49023438 C-173.30224402 68.25351267 -182.53111547 77.20047844 -191 88 C-191.42297363 88.53061035 -191.84594727 89.0612207 -192.28173828 89.60791016 C-222.24750472 127.44594474 -234.95542151 176.5866166 -229.75048828 224.28662109 C-224.15489904 270.98864804 -199.96682988 316.08572875 -163.11328125 345.55859375 C-162.08589844 346.36425781 -161.05851562 347.16992188 -160 348 C-159.46938965 348.42297363 -158.9387793 348.84594727 -158.39208984 349.28173828 C-120.64452469 379.17585761 -71.38349621 392.06684871 -23.76513672 386.75048828 C22.97490145 381.1051727 68.04568149 357.01690588 97.55859375 320.11328125 C98.36425781 319.08589844 99.16992188 318.05851562 100 317 C100.42297363 316.46938965 100.84594727 315.9387793 101.28173828 315.39208984 C130.34310354 278.69605052 144.31099022 229.52726642 139 183 C134.48436493 147.99114387 121.82203297 114.24857721 99 87 C98.50822266 86.40815918 98.01644531 85.81631836 97.50976562 85.20654297 C88.74648733 74.69775598 79.79952156 65.46888453 69 57 C68.46938965 56.57702637 67.9387793 56.15405273 67.39208984 55.71826172 C2.01918684 3.94630357 -96.80061336 4.22983405 -161 58 Z ",
            fill: "#FFFFFF",
            transform: "translate(274,34)"
          }
        ),
        /* @__PURE__ */ ze.jsx(
          "path",
          {
            d: "M0 0 C4.9555587 2.96949439 9.01220202 6.58323334 13.18359375 10.55859375 C13.9040538 11.24110703 14.62451385 11.9236203 15.36680603 12.6268158 C27.15384203 23.87683549 38.57505956 35.50857227 50.0625 47.0625 C54.21817602 51.2419948 58.37562586 55.41969694 62.53729057 59.59322929 C64.17663099 61.23895181 65.81288771 62.88769548 67.44898987 64.53663635 C72.79277298 69.90664611 78.23208937 75.08292908 84 80 C86.65661459 82.42762108 89.23935692 84.92182813 91.8125 87.4375 C92.46669922 88.05431641 93.12089844 88.67113281 93.79492188 89.30664062 C98.56731024 93.99128334 101.89138896 98.27197484 102.04978943 105.16741943 C100.94984619 114.13834243 94.88019358 119.15498688 88.7109375 125.10546875 C87.56542891 126.23856468 86.42162737 127.37338869 85.27944946 128.50984192 C82.27843451 131.4861031 79.25378873 134.43717771 76.22375488 137.3838501 C73.16339037 140.3695494 70.1283104 143.38072225 67.08984375 146.38867188 C49.3297927 163.928748 49.3297927 163.928748 41.8637085 170.34333801 C38.34516621 173.47099197 35.09423579 176.86588462 31.80859375 180.234375 C30.27192923 181.79340735 28.73480625 183.35198792 27.19726562 184.91015625 C24.80751546 187.33708086 22.42100801 189.76690047 20.04223633 192.20458984 C17.72350063 194.57788123 15.39219782 196.93821389 13.05859375 199.296875 C12.00205849 200.38908356 12.00205849 200.38908356 10.92417908 201.50335693 C5.86391043 206.59011201 1.76919276 209.60324287 -5.5625 210.375 C-10.93365142 209.78905621 -14.33465505 208.01325526 -17.8125 203.9375 C-20.36242636 200.51331317 -21.16489315 198.92023552 -21.25 194.75 C-21.28867187 193.62851562 -21.28867187 193.62851562 -21.328125 192.484375 C-20.35198945 185.09363443 -14.93786831 180.52874283 -9.89453125 175.56640625 C-9.09649582 174.77024399 -8.29846039 173.97408173 -7.47624207 173.15379333 C-5.78933929 171.47359919 -4.09884931 169.79699988 -2.4050293 168.1237793 C0.16805182 165.58171376 2.73044409 163.02926905 5.29101562 160.47460938 C6.93688215 158.83792012 8.58334752 157.2018328 10.23046875 155.56640625 C10.98909714 154.81202774 11.74772552 154.05764923 12.52934265 153.28041077 C13.25982315 152.55953781 13.99030365 151.83866486 14.74291992 151.09594727 C15.37340744 150.47228775 16.00389496 149.84862823 16.65348816 149.20606995 C18.6109082 147.36580413 20.60367653 145.61444162 22.6410675 143.86509705 C27.66092583 139.49698877 32.32019926 134.78902686 37 130.0625 C38.30517578 128.75055664 38.30517578 128.75055664 39.63671875 127.41210938 C41.76013549 125.27702551 43.88116378 123.13962795 46 121 C44.37713986 120.99641747 44.37713986 120.99641747 42.72149467 120.99276257 C16.40690608 120.93399078 -9.90759077 120.85812231 -36.22207832 120.76428509 C-48.94752296 120.71930285 -61.67293947 120.67989375 -74.3984375 120.65356445 C-85.48884994 120.63060409 -96.57917351 120.59722796 -107.66951549 120.55129844 C-113.54278377 120.52733986 -119.41596389 120.50862832 -125.28927994 120.50238609 C-130.8165061 120.49634722 -136.34350663 120.47639052 -141.87064934 120.44572449 C-143.89993537 120.43692508 -145.92925088 120.43322561 -147.95855522 120.43499184 C-150.72866406 120.43664171 -153.4980827 120.41996962 -156.26809692 120.39872742 C-157.47336649 120.40599878 -157.47336649 120.40599878 -158.70298493 120.41341704 C-165.07706504 120.33271909 -169.15189122 118.80703969 -173.8125 114.25 C-177.04532533 109.44694522 -177.3484626 106.02108308 -176.375 100.375 C-174.36102027 95.4315952 -171.37456969 92.91637979 -167 90 C-164.13987287 89.79830775 -161.3760698 89.71480868 -158.51496887 89.7215271 C-157.63852539 89.7157347 -156.76208191 89.7099423 -155.85907954 89.70397437 C-152.91098036 89.68691704 -149.96303718 89.68409294 -147.01489258 89.68115234 C-144.90609857 89.67185812 -142.79730825 89.66169022 -140.68852234 89.65071106 C-134.95335356 89.62333994 -129.21820944 89.6082406 -123.48299241 89.59528303 C-117.49316459 89.57968355 -111.50338736 89.55288324 -105.51359558 89.5272522 C-94.16643854 89.48040793 -82.81927205 89.44369118 -71.47206753 89.41057932 C-58.55564658 89.3723978 -45.63927636 89.32297728 -32.72289813 89.27259517 C-6.14863633 89.16919132 20.42565805 89.07995845 47 89 C46.54869465 88.57814379 46.0973893 88.15628759 45.63240802 87.72164786 C43.55376089 85.77790101 41.47607915 83.83312513 39.39840698 81.88833618 C38.68869342 81.22496781 37.97897985 80.56159945 37.24775982 79.87812901 C30.91576727 73.94878968 24.71541865 67.8957924 18.5703125 61.7734375 C18.03585384 61.24180622 17.50139519 60.71017494 16.95074081 60.16243362 C14.14473686 57.3711402 11.34139242 54.57721132 8.54052734 51.78076172 C5.66479034 48.91059784 2.77980891 46.0499049 -0.10716057 43.19104576 C-2.35123517 40.96556737 -4.58860009 38.7334357 -6.82416153 36.49940872 C-7.88618583 35.4403973 -8.95069436 34.38387078 -10.01778793 33.3299675 C-11.49803826 31.86678106 -12.96852579 30.39441386 -14.43701172 28.91943359 C-15.27255585 28.0875351 -16.10809998 27.2556366 -16.96896362 26.39852905 C-20.45478576 22.28198748 -21.48212956 18.46492143 -21.30859375 13.0546875 C-20.51832931 7.79292679 -17.99302486 4.77455939 -13.875 1.5625 C-9.5009059 -0.61043707 -4.75560888 -0.9996334 0 0 Z ",
            fill: "#FFFFFF",
            transform: "translate(266,137)"
          }
        )
      ]
    }
  ), Zd = ".chat-container{-webkit-box-align:center;-webkit-box-pack:center;display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;z-index:999;bottom:0;right:0;float:left;margin-left:3px;border-radius:inherit;font-family:inherit}.chat-container__interface{border-collapse:collapse;box-shadow:#64646f33 0 7px 29px;box-sizing:border-box;width:350px;height:540px;margin:25px;background:#e7e7e7;border-top-left-radius:32px;font-size:16px}.chat-container__wrapper{display:flex;flex-direction:column;position:relative;height:100%;border-radius:inherit}.chat-container__header{border-collapse:separate;border-spacing:2px;width:100%;padding:10px 10px 0;background:#fff;border-top-left-radius:inherit;color:#000}.chat-container__header_image{width:100%;height:56px;background-image:var(--external-logo, var(--logo));background-repeat:no-repeat;background-size:auto 56px}.chat-container__header_icons{display:flex;justify-content:flex-end}.chat-container__header_icons svg{margin-right:5px;cursor:pointer}.chat-container__transcriptor{text-size-adjust:none;flex:12 1 auto;overflow:auto;overflow-y:auto;max-height:540px;background:#e7e7e7}.chat-container__transcriptor_message{overflow:auto;padding:10px 12px;font-family:var(--external-font-primary, var(--font-primary));font-style:normal;font-weight:500;text-align:left;word-break:break-word;white-space:pre-line}.chat-container__transcriptor_message-incoming{position:relative;float:left;margin-top:6px;padding:12px;background:#fff;border-radius:0 18px 18px;color:#000;text-align:left}.chat-container__transcriptor_message-incoming ul{padding:0;margin:15px 0 5px}.chat-container__transcriptor_message-incoming ul li{list-style:none;padding:10px;background-color:var(--external-color-primary, var(--color-primary));margin-bottom:5px;border-radius:5px;color:#fff;cursor:pointer}.chat-container__transcriptor_message-incoming ul li:last-child{margin-bottom:0}.chat-container__transcriptor_message-outgoing{position:relative;float:right;margin-top:6px;padding:12px;background:var(--external-color-primary, var(--color-primary));border-radius:18px 18px 0;color:#fff;text-align:right}.chat-container__transcriptor_message-agent{overflow:auto;font-style:italic;color:var(--external-color-primary, var(--color-primary));text-align:left;word-break:break-word;white-space:pre-line}.chat-container__transcriptor svg{width:20px;height:25px;margin-left:22px}.chat-container__composer{display:flex;flex-direction:row;align-items:stretch;max-height:60px;padding:10px;background:#fff}.chat-container__composer textarea{resize:none;outline:none;user-select:text;overflow:auto;width:100%;min-height:30px;padding:10px;border:3px solid var(--external-color-primary, var(--color-primary));border-bottom-left-radius:9px;font-size:16px;font-family:var(--external-font-primary, var(--font-primary));font-style:normal;font-weight:500;word-break:break-word}.chat-container__composer textarea:disabled{background:#fff;border:0;cursor:default;font-weight:700}.chat-container__composer button{z-index:2;background-color:var(--external-color-primary, var(--color-primary));cursor:pointer;border:3px solid var(--external-color-primary, var(--color-primary));border-top-right-radius:9px;border-bottom-right-radius:9px}.chat-container__composer button:disabled{background:#fff;border:0;cursor:default}@keyframes typingDots{0%,20%,40%,60%,80%,to{opacity:1}10%,30%,50%,70%,90%{opacity:.2}}.chat-container .animate__typing-dots{animation:typingDots 2.5s infinite}", fn = {
    AGENT: "AGENT",
    CUSTOMER: "CUSTOMER",
    SYSTEM: "SYSTEM"
  }, mi = {
    TYPING: "application/vnd.amazonaws.connect.event.typing",
    READ_RECEIPT: "application/vnd.amazonaws.connect.event.message.read",
    DELIVERED_RECEIPT: "application/vnd.amazonaws.connect.event.message.delivered",
    PARTICIPANT_JOINED: "application/vnd.amazonaws.connect.event.participant.joined",
    PARTICIPANT_LEFT: "application/vnd.amazonaws.connect.event.participant.left",
    TRANSFER_SUCCEEDED: "application/vnd.amazonaws.connect.event.transfer.succeeded",
    TRANSFER_FAILED: "application/vnd.amazonaws.connect.event.transfer.failed",
    PARTICIPANT_IDLE: "application/vnd.amazonaws.connect.event.participant.idle",
    PARTICIPANT_DISCONNECT: "application/vnd.amazonaws.connect.event.participant.autodisconnection",
    PARTICIPANT_RETURNED: "application/vnd.amazonaws.connect.event.participant.returned",
    CONNECTION_ACKNOWLEDGED: "application/vnd.amazonaws.connect.event.connection.acknowledged",
    CHAT_ENDED: "application/vnd.amazonaws.connect.event.chat.ended"
  }, bn = {
    TEXT_PLAIN: "text/plain",
    TEXT_MARKDOWN: "text/markdown",
    APPLICATION_PDF: "application/pdf",
    IMAGE_JPG: "image/jpeg",
    IMAGE_PNG: "image/png",
    APPLICATION_DOC: "application/msword",
    APPLICATION_DOCX: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    APPLICATION_XLS: "application/vnd.ms-excel",
    APPLICATION_XLSX: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    TEXT_CSV: "text/csv",
    APPLICATION_PPT: "application/vnd.ms-powerpoint",
    APPLICATION_PPTX: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
    AUDIO_WAV: "audio/wav",
    AUDIO_X_WAV: "audio/x-wav",
    AUDIO_VND_WAVE: "audio/vnd.wave",
    INTERACTIVE_MESSAGE: "application/vnd.amazonaws.connect.message.interactive",
    INTERACTIVE_RESPONSE: "application/vnd.amazonaws.connect.message.interactive.response",
    VIDEO_QUICKTIME: "video/quicktime",
    RICH_TEXT: "text/richtext",
    TEXT_RTF: "text/rtf",
    RICH_TEST_FILE_RTF: "application/rtf",
    RICH_TEST_FILE_X_RTF: "application/x-rtf",
    VIDEO_MP4: "video/mp4",
    IMAGE_HEIC: "image/heic"
  };
  (() => {
    var he = { 639: (ke, Ie, Te) => {
      var je, pe = function _(U, L, h) {
        function p(r, s) {
          if (!L[r]) {
            if (!U[r]) {
              if (c)
                return c(r, !0);
              var d = new Error("Cannot find module '" + r + "'");
              throw d.code = "MODULE_NOT_FOUND", d;
            }
            var a = L[r] = { exports: {} };
            U[r][0].call(a.exports, function(u) {
              return p(U[r][1][u] || u);
            }, a, a.exports, _, U, L, h);
          }
          return L[r].exports;
        }
        for (var c = void 0, o = 0; o < h.length; o++)
          p(h[o]);
        return p;
      }({ 116: [function(_, U, L) {
        (function(h) {
          (function() {
            var p = _("../core"), c = _("../region_config"), o = { isArnInParam: function(r, s) {
              var d = ((r.service.api.operations[r.operation] || {}).input || {}).members || {};
              return !(!r.params[s] || !d[s]) && p.util.ARN.validate(r.params[s]);
            }, validateArnService: function(r) {
              var s = r._parsedArn;
              if (s.service !== "s3" && s.service !== "s3-outposts" && s.service !== "s3-object-lambda")
                throw p.util.error(new Error(), { code: "InvalidARN", message: "expect 's3' or 's3-outposts' or 's3-object-lambda' in ARN service component" });
            }, validateArnAccount: function(r) {
              if (!/[0-9]{12}/.exec(r._parsedArn.accountId))
                throw p.util.error(new Error(), { code: "InvalidARN", message: 'ARN accountID does not match regex "[0-9]{12}"' });
            }, validateS3AccessPointArn: function(r) {
              var s = r._parsedArn, d = s.resource[11];
              if (s.resource.split(d).length !== 2)
                throw p.util.error(new Error(), { code: "InvalidARN", message: "Access Point ARN should have one resource accesspoint/{accesspointName}" });
              var a = s.resource.split(d)[1], u = a + "-" + s.accountId;
              if (!o.dnsCompatibleBucketName(u) || u.match(/\./))
                throw p.util.error(new Error(), { code: "InvalidARN", message: "Access point resource in ARN is not DNS compatible. Got " + a });
              r._parsedArn.accessPoint = a;
            }, validateOutpostsArn: function(r) {
              var s = r._parsedArn;
              if (s.resource.indexOf("outpost:") !== 0 && s.resource.indexOf("outpost/") !== 0)
                throw p.util.error(new Error(), { code: "InvalidARN", message: "ARN resource should begin with 'outpost/'" });
              var d = s.resource[7], a = s.resource.split(d)[1];
              if (!new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/).test(a))
                throw p.util.error(new Error(), { code: "InvalidARN", message: "Outpost resource in ARN is not DNS compatible. Got " + a });
              r._parsedArn.outpostId = a;
            }, validateOutpostsAccessPointArn: function(r) {
              var s = r._parsedArn, d = s.resource[7];
              if (s.resource.split(d).length !== 4)
                throw p.util.error(new Error(), { code: "InvalidARN", message: "Outposts ARN should have two resources outpost/{outpostId}/accesspoint/{accesspointName}" });
              var a = s.resource.split(d)[3], u = a + "-" + s.accountId;
              if (!o.dnsCompatibleBucketName(u) || u.match(/\./))
                throw p.util.error(new Error(), { code: "InvalidARN", message: "Access point resource in ARN is not DNS compatible. Got " + a });
              r._parsedArn.accessPoint = a;
            }, validateArnRegion: function(r, s) {
              s === void 0 && (s = {});
              var d = o.loadUseArnRegionConfig(r), a = r._parsedArn.region, u = r.service.config.region, l = r.service.config.useFipsEndpoint, m = s.allowFipsEndpoint || !1;
              if (!a) {
                var v = "ARN region is empty";
                throw r._parsedArn.service === "s3" && (v += `
  You may want to use multi-regional ARN. The feature is not supported in current SDK. You should consider switching to V3(https://github.com/aws/aws-sdk-js-v3).`), p.util.error(new Error(), { code: "InvalidARN", message: v });
              }
              if (l && !m)
                throw p.util.error(new Error(), { code: "InvalidConfiguration", message: "ARN endpoint is not compatible with FIPS region" });
              if (a.indexOf("fips") >= 0)
                throw p.util.error(new Error(), { code: "InvalidConfiguration", message: "FIPS region not allowed in ARN" });
              if (!d && a !== u)
                throw p.util.error(new Error(), { code: "InvalidConfiguration", message: "Configured region conflicts with access point region" });
              if (d && c.getEndpointSuffix(a) !== c.getEndpointSuffix(u))
                throw p.util.error(new Error(), { code: "InvalidConfiguration", message: "Configured region and access point region not in same partition" });
              if (r.service.config.useAccelerateEndpoint)
                throw p.util.error(new Error(), { code: "InvalidConfiguration", message: "useAccelerateEndpoint config is not supported with access point ARN" });
              if (r._parsedArn.service === "s3-outposts" && r.service.config.useDualstackEndpoint)
                throw p.util.error(new Error(), { code: "InvalidConfiguration", message: "Dualstack is not supported with outposts access point ARN" });
            }, loadUseArnRegionConfig: function(r) {
              var s = "AWS_S3_USE_ARN_REGION", d = "s3_use_arn_region", a = !0, u = r.service._originalConfig || {};
              if (r.service.config.s3UseArnRegion !== void 0)
                return r.service.config.s3UseArnRegion;
              if (u.s3UseArnRegion !== void 0)
                a = u.s3UseArnRegion === !0;
              else if (p.util.isNode())
                if (h.env[s]) {
                  var l = h.env[s].trim().toLowerCase();
                  if (["false", "true"].indexOf(l) < 0)
                    throw p.util.error(new Error(), { code: "InvalidConfiguration", message: s + " only accepts true or false. Got " + h.env[s], retryable: !1 });
                  a = l === "true";
                } else {
                  var m = {};
                  try {
                    m = p.util.getProfilesFromSharedConfig(p.util.iniLoader)[h.env.AWS_PROFILE || p.util.defaultProfile];
                  } catch {
                  }
                  if (m[d]) {
                    if (["false", "true"].indexOf(m[d].trim().toLowerCase()) < 0)
                      throw p.util.error(new Error(), { code: "InvalidConfiguration", message: d + " only accepts true or false. Got " + m[d], retryable: !1 });
                    a = m[d].trim().toLowerCase() === "true";
                  }
                }
              return r.service.config.s3UseArnRegion = a, a;
            }, validatePopulateUriFromArn: function(r) {
              if (r.service._originalConfig && r.service._originalConfig.endpoint)
                throw p.util.error(new Error(), { code: "InvalidConfiguration", message: "Custom endpoint is not compatible with access point ARN" });
              if (r.service.config.s3ForcePathStyle)
                throw p.util.error(new Error(), { code: "InvalidConfiguration", message: "Cannot construct path-style endpoint with access point" });
            }, dnsCompatibleBucketName: function(r) {
              var s = r, d = new RegExp(/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/), a = new RegExp(/(\d+\.){3}\d+/), u = new RegExp(/\.\./);
              return !(!s.match(d) || s.match(a) || s.match(u));
            } };
            U.exports = o;
          }).call(this);
        }).call(this, _("_process"));
      }, { "../core": 44, "../region_config": 89, _process: 11 }], 112: [function(_, U, L) {
        var h = _("../core"), p = { setupRequestListeners: function(c, o, r) {
          if (r.indexOf(o.operation) !== -1 && o.params.SourceRegion)
            if (o.params = h.util.copy(o.params), o.params.PreSignedUrl || o.params.SourceRegion === c.config.region)
              delete o.params.SourceRegion;
            else {
              var s = !!c.config.paramValidation;
              s && o.removeListener("validate", h.EventListeners.Core.VALIDATE_PARAMETERS), o.onAsync("validate", p.buildCrossRegionPresignedUrl), s && o.addListener("validate", h.EventListeners.Core.VALIDATE_PARAMETERS);
            }
        }, buildCrossRegionPresignedUrl: function(c, o) {
          var r = h.util.copy(c.service.config);
          r.region = c.params.SourceRegion, delete c.params.SourceRegion, delete r.endpoint, delete r.params, r.signatureVersion = "v4";
          var s = c.service.config.region, d = new c.service.constructor(r)[c.operation](h.util.copy(c.params));
          d.on("build", function(a) {
            var u = a.httpRequest;
            u.params.DestinationRegion = s, u.body = h.util.queryParamsToString(u.params);
          }), d.presign(function(a, u) {
            a ? o(a) : (c.params.PreSignedUrl = u, o());
          });
        } };
        U.exports = p;
      }, { "../core": 44 }], 43: [function(_, U, L) {
        (function(h) {
          (function() {
            function p(o, r) {
              if (typeof o == "string") {
                if (["legacy", "regional"].indexOf(o.toLowerCase()) >= 0)
                  return o.toLowerCase();
                throw c.util.error(new Error(), r);
              }
            }
            var c = _("./core");
            U.exports = function(o, r) {
              var s;
              if ((o = o || {})[r.clientConfig] && (s = p(o[r.clientConfig], { code: "InvalidConfiguration", message: 'invalid "' + r.clientConfig + '" configuration. Expect "legacy"  or "regional". Got "' + o[r.clientConfig] + '".' })) || !c.util.isNode() || Object.prototype.hasOwnProperty.call(h.env, r.env) && (s = p(h.env[r.env], { code: "InvalidEnvironmentalVariable", message: "invalid " + r.env + ' environmental variable. Expect "legacy"  or "regional". Got "' + h.env[r.env] + '".' })))
                return s;
              var d = {};
              try {
                d = c.util.getProfilesFromSharedConfig(c.util.iniLoader)[h.env.AWS_PROFILE || c.util.defaultProfile];
              } catch {
              }
              return d && Object.prototype.hasOwnProperty.call(d, r.sharedConfig) && (s = p(d[r.sharedConfig], { code: "InvalidConfiguration", message: "invalid " + r.sharedConfig + ' profile config. Expect "legacy"  or "regional". Got "' + d[r.sharedConfig] + '".' })), s;
            };
          }).call(this);
        }).call(this, _("_process"));
      }, { "./core": 44, _process: 11 }], 44: [function(_, U, L) {
        var h = { util: _("./util") };
        U.exports = h, h.util.update(h, { VERSION: "2.1459.0", Signers: {}, Protocol: { Json: _("./protocol/json"), Query: _("./protocol/query"), Rest: _("./protocol/rest"), RestJson: _("./protocol/rest_json"), RestXml: _("./protocol/rest_xml") }, XML: { Builder: _("./xml/builder"), Parser: null }, JSON: { Builder: _("./json/builder"), Parser: _("./json/parser") }, Model: { Api: _("./model/api"), Operation: _("./model/operation"), Shape: _("./model/shape"), Paginator: _("./model/paginator"), ResourceWaiter: _("./model/resource_waiter") }, apiLoader: _("./api_loader"), EndpointCache: _("../vendor/endpoint-cache").EndpointCache }), _("./sequential_executor"), _("./service"), _("./config"), _("./http"), _("./event_listeners"), _("./request"), _("./response"), _("./resource_waiter"), _("./signers/request_signer"), _("./param_validator"), _("./maintenance_mode_message"), h.events = new h.SequentialExecutor(), h.util.memoizedProperty(h, "endpointCache", function() {
          return new h.EndpointCache(h.config.endpointCacheSize);
        }, !0);
      }, { "../vendor/endpoint-cache": 137, "./api_loader": 32, "./config": 42, "./event_listeners": 65, "./http": 66, "./json/builder": 68, "./json/parser": 69, "./maintenance_mode_message": 70, "./model/api": 71, "./model/operation": 73, "./model/paginator": 74, "./model/resource_waiter": 75, "./model/shape": 76, "./param_validator": 77, "./protocol/json": 80, "./protocol/query": 81, "./protocol/rest": 82, "./protocol/rest_json": 83, "./protocol/rest_xml": 84, "./request": 91, "./resource_waiter": 92, "./response": 93, "./sequential_executor": 95, "./service": 96, "./signers/request_signer": 122, "./util": 130, "./xml/builder": 132 }], 137: [function(_, U, L) {
        Object.defineProperty(L, "__esModule", { value: !0 });
        var h = _("./utils/LRU"), p = function() {
          function c(o) {
            o === void 0 && (o = 1e3), this.maxSize = o, this.cache = new h.LRUCache(o);
          }
          return Object.defineProperty(c.prototype, "size", { get: function() {
            return this.cache.length;
          }, enumerable: !0, configurable: !0 }), c.prototype.put = function(o, r) {
            var s = typeof o != "string" ? c.getKeyString(o) : o, d = this.populateValue(r);
            this.cache.put(s, d);
          }, c.prototype.get = function(o) {
            var r = typeof o != "string" ? c.getKeyString(o) : o, s = Date.now(), d = this.cache.get(r);
            if (d) {
              for (var a = d.length - 1; a >= 0; a--)
                d[a].Expire < s && d.splice(a, 1);
              if (d.length === 0)
                return void this.cache.remove(r);
            }
            return d;
          }, c.getKeyString = function(o) {
            for (var r = [], s = Object.keys(o).sort(), d = 0; d < s.length; d++) {
              var a = s[d];
              o[a] !== void 0 && r.push(o[a]);
            }
            return r.join(" ");
          }, c.prototype.populateValue = function(o) {
            var r = Date.now();
            return o.map(function(s) {
              return { Address: s.Address || "", Expire: r + 60 * (s.CachePeriodInMinutes || 1) * 1e3 };
            });
          }, c.prototype.empty = function() {
            this.cache.empty();
          }, c.prototype.remove = function(o) {
            var r = typeof o != "string" ? c.getKeyString(o) : o;
            this.cache.remove(r);
          }, c;
        }();
        L.EndpointCache = p;
      }, { "./utils/LRU": 138 }], 138: [function(_, U, L) {
        Object.defineProperty(L, "__esModule", { value: !0 });
        var h = function(c, o) {
          this.key = c, this.value = o;
        }, p = function() {
          function c(o) {
            if (this.nodeMap = {}, this.size = 0, typeof o != "number" || o < 1)
              throw new Error("Cache size can only be positive number");
            this.sizeLimit = o;
          }
          return Object.defineProperty(c.prototype, "length", { get: function() {
            return this.size;
          }, enumerable: !0, configurable: !0 }), c.prototype.prependToList = function(o) {
            this.headerNode ? (this.headerNode.prev = o, o.next = this.headerNode) : this.tailNode = o, this.headerNode = o, this.size++;
          }, c.prototype.removeFromTail = function() {
            if (this.tailNode) {
              var o = this.tailNode, r = o.prev;
              return r && (r.next = void 0), o.prev = void 0, this.tailNode = r, this.size--, o;
            }
          }, c.prototype.detachFromList = function(o) {
            this.headerNode === o && (this.headerNode = o.next), this.tailNode === o && (this.tailNode = o.prev), o.prev && (o.prev.next = o.next), o.next && (o.next.prev = o.prev), o.next = void 0, o.prev = void 0, this.size--;
          }, c.prototype.get = function(o) {
            if (this.nodeMap[o]) {
              var r = this.nodeMap[o];
              return this.detachFromList(r), this.prependToList(r), r.value;
            }
          }, c.prototype.remove = function(o) {
            if (this.nodeMap[o]) {
              var r = this.nodeMap[o];
              this.detachFromList(r), delete this.nodeMap[o];
            }
          }, c.prototype.put = function(o, r) {
            if (this.nodeMap[o])
              this.remove(o);
            else if (this.size === this.sizeLimit) {
              var s = this.removeFromTail().key;
              delete this.nodeMap[s];
            }
            var d = new h(o, r);
            this.nodeMap[o] = d, this.prependToList(d);
          }, c.prototype.empty = function() {
            for (var o = Object.keys(this.nodeMap), r = 0; r < o.length; r++) {
              var s = o[r], d = this.nodeMap[s];
              this.detachFromList(d), delete this.nodeMap[s];
            }
          }, c;
        }();
        L.LRUCache = p;
      }, {}], 132: [function(_, U, L) {
        function h() {
        }
        function p(d, a, u) {
          switch (u.type) {
            case "structure":
              return function(l, m, v) {
                o.arrayEach(v.memberNames, function(C) {
                  var E = v.members[C];
                  if (E.location === "body") {
                    var k = m[C], O = E.name;
                    if (k != null)
                      if (E.isXmlAttribute)
                        l.addAttribute(O, k);
                      else if (E.flattened)
                        p(l, k, E);
                      else {
                        var P = new r(O);
                        l.addChildNode(P), c(P, E), p(P, k, E);
                      }
                  }
                });
              }(d, a, u);
            case "map":
              return function(l, m, v) {
                var C = v.key.name || "key", E = v.value.name || "value";
                o.each(m, function(k, O) {
                  var P = new r(v.flattened ? v.name : "entry");
                  l.addChildNode(P);
                  var z = new r(C), R = new r(E);
                  P.addChildNode(z), P.addChildNode(R), p(z, k, v.key), p(R, O, v.value);
                });
              }(d, a, u);
            case "list":
              return function(l, m, v) {
                v.flattened ? o.arrayEach(m, function(C) {
                  var E = v.member.name || v.name, k = new r(E);
                  l.addChildNode(k), p(k, C, v.member);
                }) : o.arrayEach(m, function(C) {
                  var E = v.member.name || "member", k = new r(E);
                  l.addChildNode(k), p(k, C, v.member);
                });
              }(d, a, u);
            default:
              return function(l, m, v) {
                l.addChildNode(new s(v.toWireFormat(m)));
              }(d, a, u);
          }
        }
        function c(d, a, u) {
          var l, m = "xmlns";
          a.xmlNamespaceUri ? (l = a.xmlNamespaceUri, a.xmlNamespacePrefix && (m += ":" + a.xmlNamespacePrefix)) : u && a.api.xmlNamespaceUri && (l = a.api.xmlNamespaceUri), l && d.addAttribute(m, l);
        }
        var o = _("../util"), r = _("./xml-node").XmlNode, s = _("./xml-text").XmlText;
        h.prototype.toXML = function(d, a, u, l) {
          var m = new r(u);
          return c(m, a, !0), p(m, d, a), m.children.length > 0 || l ? m.toString() : "";
        }, U.exports = h;
      }, { "../util": 130, "./xml-node": 135, "./xml-text": 136 }], 136: [function(_, U, L) {
        function h(c) {
          this.value = c;
        }
        var p = _("./escape-element").escapeElement;
        h.prototype.toString = function() {
          return p("" + this.value);
        }, U.exports = { XmlText: h };
      }, { "./escape-element": 134 }], 134: [function(_, U, L) {
        U.exports = { escapeElement: function(h) {
          return h.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\r/g, "&#x0D;").replace(/\n/g, "&#x0A;").replace(/\u0085/g, "&#x85;").replace(/\u2028/, "&#x2028;");
        } };
      }, {}], 135: [function(_, U, L) {
        function h(c, o) {
          o === void 0 && (o = []), this.name = c, this.children = o, this.attributes = {};
        }
        var p = _("./escape-attribute").escapeAttribute;
        h.prototype.addAttribute = function(c, o) {
          return this.attributes[c] = o, this;
        }, h.prototype.addChildNode = function(c) {
          return this.children.push(c), this;
        }, h.prototype.removeAttribute = function(c) {
          return delete this.attributes[c], this;
        }, h.prototype.toString = function() {
          for (var c = !!this.children.length, o = "<" + this.name, r = this.attributes, s = 0, d = Object.keys(r); s < d.length; s++) {
            var a = d[s], u = r[a];
            u != null && (o += " " + a + '="' + p("" + u) + '"');
          }
          return o + (c ? ">" + this.children.map(function(l) {
            return l.toString();
          }).join("") + "</" + this.name + ">" : "/>");
        }, U.exports = { XmlNode: h };
      }, { "./escape-attribute": 133 }], 133: [function(_, U, L) {
        U.exports = { escapeAttribute: function(h) {
          return h.replace(/&/g, "&amp;").replace(/'/g, "&apos;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
        } };
      }, {}], 122: [function(_, U, L) {
        var h = _("../core"), p = h.util.inherit;
        h.Signers.RequestSigner = p({ constructor: function(c) {
          this.request = c;
        }, setServiceClientId: function(c) {
          this.serviceClientId = c;
        }, getServiceClientId: function() {
          return this.serviceClientId;
        } }), h.Signers.RequestSigner.getVersion = function(c) {
          switch (c) {
            case "v2":
              return h.Signers.V2;
            case "v3":
              return h.Signers.V3;
            case "s3v4":
            case "v4":
              return h.Signers.V4;
            case "s3":
              return h.Signers.S3;
            case "v3https":
              return h.Signers.V3Https;
            case "bearer":
              return h.Signers.Bearer;
          }
          throw new Error("Unknown signing version " + c);
        }, _("./v2"), _("./v3"), _("./v3https"), _("./v4"), _("./s3"), _("./presign"), _("./bearer");
      }, { "../core": 44, "./bearer": 120, "./presign": 121, "./s3": 123, "./v2": 124, "./v3": 125, "./v3https": 126, "./v4": 127 }], 127: [function(_, U, L) {
        var h = _("../core"), p = _("./v4_credentials"), c = h.util.inherit;
        h.Signers.V4 = c(h.Signers.RequestSigner, { constructor: function(o, r, s) {
          h.Signers.RequestSigner.call(this, o), this.serviceName = r, s = s || {}, this.signatureCache = typeof s.signatureCache != "boolean" || s.signatureCache, this.operation = s.operation, this.signatureVersion = s.signatureVersion;
        }, algorithm: "AWS4-HMAC-SHA256", addAuthorization: function(o, r) {
          var s = h.util.date.iso8601(r).replace(/[:\-]|\.\d{3}/g, "");
          this.isPresigned() ? this.updateForPresigned(o, s) : this.addHeaders(o, s), this.request.headers.Authorization = this.authorization(o, s);
        }, addHeaders: function(o, r) {
          this.request.headers["X-Amz-Date"] = r, o.sessionToken && (this.request.headers["x-amz-security-token"] = o.sessionToken);
        }, updateForPresigned: function(o, r) {
          var s = this.credentialString(r), d = { "X-Amz-Date": r, "X-Amz-Algorithm": this.algorithm, "X-Amz-Credential": o.accessKeyId + "/" + s, "X-Amz-Expires": this.request.headers["presigned-expires"], "X-Amz-SignedHeaders": this.signedHeaders() };
          o.sessionToken && (d["X-Amz-Security-Token"] = o.sessionToken), this.request.headers["Content-Type"] && (d["Content-Type"] = this.request.headers["Content-Type"]), this.request.headers["Content-MD5"] && (d["Content-MD5"] = this.request.headers["Content-MD5"]), this.request.headers["Cache-Control"] && (d["Cache-Control"] = this.request.headers["Cache-Control"]), h.util.each.call(this, this.request.headers, function(u, l) {
            if (u !== "presigned-expires" && this.isSignableHeader(u)) {
              var m = u.toLowerCase();
              m.indexOf("x-amz-meta-") === 0 ? d[m] = l : m.indexOf("x-amz-") === 0 && (d[u] = l);
            }
          });
          var a = this.request.path.indexOf("?") >= 0 ? "&" : "?";
          this.request.path += a + h.util.queryParamsToString(d);
        }, authorization: function(o, r) {
          var s = [], d = this.credentialString(r);
          return s.push(this.algorithm + " Credential=" + o.accessKeyId + "/" + d), s.push("SignedHeaders=" + this.signedHeaders()), s.push("Signature=" + this.signature(o, r)), s.join(", ");
        }, signature: function(o, r) {
          var s = p.getSigningKey(o, r.substr(0, 8), this.request.region, this.serviceName, this.signatureCache);
          return h.util.crypto.hmac(s, this.stringToSign(r), "hex");
        }, stringToSign: function(o) {
          var r = [];
          return r.push("AWS4-HMAC-SHA256"), r.push(o), r.push(this.credentialString(o)), r.push(this.hexEncodedHash(this.canonicalString())), r.join(`
  `);
        }, canonicalString: function() {
          var o = [], r = this.request.pathname();
          return this.serviceName !== "s3" && this.signatureVersion !== "s3v4" && (r = h.util.uriEscapePath(r)), o.push(this.request.method), o.push(r), o.push(this.request.search()), o.push(this.canonicalHeaders() + `
  `), o.push(this.signedHeaders()), o.push(this.hexEncodedBodyHash()), o.join(`
  `);
        }, canonicalHeaders: function() {
          var o = [];
          h.util.each.call(this, this.request.headers, function(s, d) {
            o.push([s, d]);
          }), o.sort(function(s, d) {
            return s[0].toLowerCase() < d[0].toLowerCase() ? -1 : 1;
          });
          var r = [];
          return h.util.arrayEach.call(this, o, function(s) {
            var d = s[0].toLowerCase();
            if (this.isSignableHeader(d)) {
              var a = s[1];
              if (a == null || typeof a.toString != "function")
                throw h.util.error(new Error("Header " + d + " contains invalid value"), { code: "InvalidHeader" });
              r.push(d + ":" + this.canonicalHeaderValues(a.toString()));
            }
          }), r.join(`
  `);
        }, canonicalHeaderValues: function(o) {
          return o.replace(/\s+/g, " ").replace(/^\s+|\s+$/g, "");
        }, signedHeaders: function() {
          var o = [];
          return h.util.each.call(this, this.request.headers, function(r) {
            r = r.toLowerCase(), this.isSignableHeader(r) && o.push(r);
          }), o.sort().join(";");
        }, credentialString: function(o) {
          return p.createScope(o.substr(0, 8), this.request.region, this.serviceName);
        }, hexEncodedHash: function(o) {
          return h.util.crypto.sha256(o, "hex");
        }, hexEncodedBodyHash: function() {
          var o = this.request;
          return this.isPresigned() && ["s3", "s3-object-lambda"].indexOf(this.serviceName) > -1 && !o.body ? "UNSIGNED-PAYLOAD" : o.headers["X-Amz-Content-Sha256"] ? o.headers["X-Amz-Content-Sha256"] : this.hexEncodedHash(this.request.body || "");
        }, unsignableHeaders: ["authorization", "content-type", "content-length", "user-agent", "presigned-expires", "expect", "x-amzn-trace-id"], isSignableHeader: function(o) {
          return o.toLowerCase().indexOf("x-amz-") === 0 || this.unsignableHeaders.indexOf(o) < 0;
        }, isPresigned: function() {
          return !!this.request.headers["presigned-expires"];
        } }), U.exports = h.Signers.V4;
      }, { "../core": 44, "./v4_credentials": 128 }], 128: [function(_, U, L) {
        var h = _("../core"), p = {}, c = [];
        U.exports = { createScope: function(o, r, s) {
          return [o.substr(0, 8), r, s, "aws4_request"].join("/");
        }, getSigningKey: function(o, r, s, d, a) {
          var u = [h.util.crypto.hmac(o.secretAccessKey, o.accessKeyId, "base64"), r, s, d].join("_");
          if ((a = a !== !1) && u in p)
            return p[u];
          var l = h.util.crypto.hmac("AWS4" + o.secretAccessKey, r, "buffer"), m = h.util.crypto.hmac(l, s, "buffer"), v = h.util.crypto.hmac(m, d, "buffer"), C = h.util.crypto.hmac(v, "aws4_request", "buffer");
          return a && (p[u] = C, c.push(u), c.length > 50 && delete p[c.shift()]), C;
        }, emptyCache: function() {
          p = {}, c = [];
        } };
      }, { "../core": 44 }], 126: [function(_, U, L) {
        var h = _("../core"), p = h.util.inherit;
        _("./v3"), h.Signers.V3Https = p(h.Signers.V3, { authorization: function(c) {
          return "AWS3-HTTPS AWSAccessKeyId=" + c.accessKeyId + ",Algorithm=HmacSHA256,Signature=" + this.signature(c);
        }, stringToSign: function() {
          return this.request.headers["X-Amz-Date"];
        } }), U.exports = h.Signers.V3Https;
      }, { "../core": 44, "./v3": 125 }], 125: [function(_, U, L) {
        var h = _("../core"), p = h.util.inherit;
        h.Signers.V3 = p(h.Signers.RequestSigner, { addAuthorization: function(c, o) {
          var r = h.util.date.rfc822(o);
          this.request.headers["X-Amz-Date"] = r, c.sessionToken && (this.request.headers["x-amz-security-token"] = c.sessionToken), this.request.headers["X-Amzn-Authorization"] = this.authorization(c, r);
        }, authorization: function(c) {
          return "AWS3 AWSAccessKeyId=" + c.accessKeyId + ",Algorithm=HmacSHA256,SignedHeaders=" + this.signedHeaders() + ",Signature=" + this.signature(c);
        }, signedHeaders: function() {
          var c = [];
          return h.util.arrayEach(this.headersToSign(), function(o) {
            c.push(o.toLowerCase());
          }), c.sort().join(";");
        }, canonicalHeaders: function() {
          var c = this.request.headers, o = [];
          return h.util.arrayEach(this.headersToSign(), function(r) {
            o.push(r.toLowerCase().trim() + ":" + String(c[r]).trim());
          }), o.sort().join(`
  `) + `
  `;
        }, headersToSign: function() {
          var c = [];
          return h.util.each(this.request.headers, function(o) {
            (o === "Host" || o === "Content-Encoding" || o.match(/^X-Amz/i)) && c.push(o);
          }), c;
        }, signature: function(c) {
          return h.util.crypto.hmac(c.secretAccessKey, this.stringToSign(), "base64");
        }, stringToSign: function() {
          var c = [];
          return c.push(this.request.method), c.push("/"), c.push(""), c.push(this.canonicalHeaders()), c.push(this.request.body), h.util.crypto.sha256(c.join(`
  `));
        } }), U.exports = h.Signers.V3;
      }, { "../core": 44 }], 124: [function(_, U, L) {
        var h = _("../core"), p = h.util.inherit;
        h.Signers.V2 = p(h.Signers.RequestSigner, { addAuthorization: function(c, o) {
          o || (o = h.util.date.getDate());
          var r = this.request;
          r.params.Timestamp = h.util.date.iso8601(o), r.params.SignatureVersion = "2", r.params.SignatureMethod = "HmacSHA256", r.params.AWSAccessKeyId = c.accessKeyId, c.sessionToken && (r.params.SecurityToken = c.sessionToken), delete r.params.Signature, r.params.Signature = this.signature(c), r.body = h.util.queryParamsToString(r.params), r.headers["Content-Length"] = r.body.length;
        }, signature: function(c) {
          return h.util.crypto.hmac(c.secretAccessKey, this.stringToSign(), "base64");
        }, stringToSign: function() {
          var c = [];
          return c.push(this.request.method), c.push(this.request.endpoint.host.toLowerCase()), c.push(this.request.pathname()), c.push(h.util.queryParamsToString(this.request.params)), c.join(`
  `);
        } }), U.exports = h.Signers.V2;
      }, { "../core": 44 }], 123: [function(_, U, L) {
        var h = _("../core"), p = h.util.inherit;
        h.Signers.S3 = p(h.Signers.RequestSigner, { subResources: { acl: 1, accelerate: 1, analytics: 1, cors: 1, lifecycle: 1, delete: 1, inventory: 1, location: 1, logging: 1, metrics: 1, notification: 1, partNumber: 1, policy: 1, requestPayment: 1, replication: 1, restore: 1, tagging: 1, torrent: 1, uploadId: 1, uploads: 1, versionId: 1, versioning: 1, versions: 1, website: 1 }, responseHeaders: { "response-content-type": 1, "response-content-language": 1, "response-expires": 1, "response-cache-control": 1, "response-content-disposition": 1, "response-content-encoding": 1 }, addAuthorization: function(c, o) {
          this.request.headers["presigned-expires"] || (this.request.headers["X-Amz-Date"] = h.util.date.rfc822(o)), c.sessionToken && (this.request.headers["x-amz-security-token"] = c.sessionToken);
          var r = this.sign(c.secretAccessKey, this.stringToSign()), s = "AWS " + c.accessKeyId + ":" + r;
          this.request.headers.Authorization = s;
        }, stringToSign: function() {
          var c = this.request, o = [];
          o.push(c.method), o.push(c.headers["Content-MD5"] || ""), o.push(c.headers["Content-Type"] || ""), o.push(c.headers["presigned-expires"] || "");
          var r = this.canonicalizedAmzHeaders();
          return r && o.push(r), o.push(this.canonicalizedResource()), o.join(`
  `);
        }, canonicalizedAmzHeaders: function() {
          var c = [];
          h.util.each(this.request.headers, function(r) {
            r.match(/^x-amz-/i) && c.push(r);
          }), c.sort(function(r, s) {
            return r.toLowerCase() < s.toLowerCase() ? -1 : 1;
          });
          var o = [];
          return h.util.arrayEach.call(this, c, function(r) {
            o.push(r.toLowerCase() + ":" + String(this.request.headers[r]));
          }), o.join(`
  `);
        }, canonicalizedResource: function() {
          var c = this.request, o = c.path.split("?"), r = o[0], s = o[1], d = "";
          if (c.virtualHostedBucket && (d += "/" + c.virtualHostedBucket), d += r, s) {
            var a = [];
            h.util.arrayEach.call(this, s.split("&"), function(u) {
              var l = u.split("=")[0], m = u.split("=")[1];
              if (this.subResources[l] || this.responseHeaders[l]) {
                var v = { name: l };
                m !== void 0 && (this.subResources[l] ? v.value = m : v.value = decodeURIComponent(m)), a.push(v);
              }
            }), a.sort(function(u, l) {
              return u.name < l.name ? -1 : 1;
            }), a.length && (s = [], h.util.arrayEach(a, function(u) {
              u.value === void 0 ? s.push(u.name) : s.push(u.name + "=" + u.value);
            }), d += "?" + s.join("&"));
          }
          return d;
        }, sign: function(c, o) {
          return h.util.crypto.hmac(c, o, "base64", "sha1");
        } }), U.exports = h.Signers.S3;
      }, { "../core": 44 }], 121: [function(_, U, L) {
        function h(s) {
          var d = s.httpRequest.headers[r], a = s.service.getSignerClass(s);
          if (delete s.httpRequest.headers["User-Agent"], delete s.httpRequest.headers["X-Amz-User-Agent"], a === c.Signers.V4) {
            if (d > 604800)
              throw c.util.error(new Error(), { code: "InvalidExpiryTime", message: "Presigning does not support expiry time greater than a week with SigV4 signing.", retryable: !1 });
            s.httpRequest.headers[r] = d;
          } else {
            if (a !== c.Signers.S3)
              throw c.util.error(new Error(), { message: "Presigning only supports S3 or SigV4 signing.", code: "UnsupportedSigner", retryable: !1 });
            var u = s.service ? s.service.getSkewCorrectedDate() : c.util.date.getDate();
            s.httpRequest.headers[r] = parseInt(c.util.date.unixTimestamp(u) + d, 10).toString();
          }
        }
        function p(s) {
          var d = s.httpRequest.endpoint, a = c.util.urlParse(s.httpRequest.path), u = {};
          a.search && (u = c.util.queryStringParse(a.search.substr(1)));
          var l = s.httpRequest.headers.Authorization.split(" ");
          if (l[0] === "AWS")
            l = l[1].split(":"), u.Signature = l.pop(), u.AWSAccessKeyId = l.join(":"), c.util.each(s.httpRequest.headers, function(v, C) {
              v === r && (v = "Expires"), v.indexOf("x-amz-meta-") === 0 && (delete u[v], v = v.toLowerCase()), u[v] = C;
            }), delete s.httpRequest.headers[r], delete u.Authorization, delete u.Host;
          else if (l[0] === "AWS4-HMAC-SHA256") {
            l.shift();
            var m = l.join(" ").match(/Signature=(.*?)(?:,|\s|\r?\n|$)/)[1];
            u["X-Amz-Signature"] = m, delete u.Expires;
          }
          d.pathname = a.pathname, d.search = c.util.queryParamsToString(u);
        }
        var c = _("../core"), o = c.util.inherit, r = "presigned-expires";
        c.Signers.Presign = o({ sign: function(s, d, a) {
          if (s.httpRequest.headers[r] = d || 3600, s.on("build", h), s.on("sign", p), s.removeListener("afterBuild", c.EventListeners.Core.SET_CONTENT_LENGTH), s.removeListener("afterBuild", c.EventListeners.Core.COMPUTE_SHA256), s.emit("beforePresign", [s]), !a) {
            if (s.build(), s.response.error)
              throw s.response.error;
            return c.util.urlFormat(s.httpRequest.endpoint);
          }
          s.build(function() {
            this.response.error ? a(this.response.error) : a(null, c.util.urlFormat(s.httpRequest.endpoint));
          });
        } }), U.exports = c.Signers.Presign;
      }, { "../core": 44 }], 120: [function(_, U, L) {
        var h = _("../core");
        h.Signers.Bearer = h.util.inherit(h.Signers.RequestSigner, { constructor: function(p) {
          h.Signers.RequestSigner.call(this, p);
        }, addAuthorization: function(p) {
          this.request.headers.Authorization = "Bearer " + p.token;
        } });
      }, { "../core": 44 }], 96: [function(_, U, L) {
        (function(h) {
          (function() {
            var p = _("./core"), c = _("./model/api"), o = _("./region_config"), r = p.util.inherit, s = 0, d = _("./region/utils");
            p.Service = r({ constructor: function(a) {
              if (!this.loadServiceClass)
                throw p.util.error(new Error(), "Service must be constructed with `new' operator");
              if (a) {
                if (a.region) {
                  var u = a.region;
                  d.isFipsRegion(u) && (a.region = d.getRealRegion(u), a.useFipsEndpoint = !0), d.isGlobalRegion(u) && (a.region = d.getRealRegion(u));
                }
                typeof a.useDualstack == "boolean" && typeof a.useDualstackEndpoint != "boolean" && (a.useDualstackEndpoint = a.useDualstack);
              }
              var l = this.loadServiceClass(a || {});
              if (l) {
                var m = p.util.copy(a), v = new l(a);
                return Object.defineProperty(v, "_originalConfig", { get: function() {
                  return m;
                }, enumerable: !1, configurable: !0 }), v._clientId = ++s, v;
              }
              this.initialize(a);
            }, initialize: function(a) {
              var u = p.config[this.serviceIdentifier];
              if (this.config = new p.Config(p.config), u && this.config.update(u, !0), a && this.config.update(a, !0), this.validateService(), this.config.endpoint || o.configureEndpoint(this), this.config.endpoint = this.endpointFromTemplate(this.config.endpoint), this.setEndpoint(this.config.endpoint), p.SequentialExecutor.call(this), p.Service.addDefaultMonitoringListeners(this), (this.config.clientSideMonitoring || p.Service._clientSideMonitoring) && this.publisher) {
                var l = this.publisher;
                this.addNamedListener("PUBLISH_API_CALL", "apiCall", function(m) {
                  h.nextTick(function() {
                    l.eventHandler(m);
                  });
                }), this.addNamedListener("PUBLISH_API_ATTEMPT", "apiCallAttempt", function(m) {
                  h.nextTick(function() {
                    l.eventHandler(m);
                  });
                });
              }
            }, validateService: function() {
            }, loadServiceClass: function(a) {
              var u = a;
              if (p.util.isEmpty(this.api)) {
                if (u.apiConfig)
                  return p.Service.defineServiceApi(this.constructor, u.apiConfig);
                if (this.constructor.services) {
                  (u = new p.Config(p.config)).update(a, !0);
                  var l = u.apiVersions[this.constructor.serviceIdentifier];
                  return l = l || u.apiVersion, this.getLatestServiceClass(l);
                }
                return null;
              }
              return null;
            }, getLatestServiceClass: function(a) {
              return a = this.getLatestServiceVersion(a), this.constructor.services[a] === null && p.Service.defineServiceApi(this.constructor, a), this.constructor.services[a];
            }, getLatestServiceVersion: function(a) {
              if (!this.constructor.services || this.constructor.services.length === 0)
                throw new Error("No services defined on " + this.constructor.serviceIdentifier);
              if (a ? p.util.isType(a, Date) && (a = p.util.date.iso8601(a).split("T")[0]) : a = "latest", Object.hasOwnProperty(this.constructor.services, a))
                return a;
              for (var u = Object.keys(this.constructor.services).sort(), l = null, m = u.length - 1; m >= 0; m--)
                if (u[m][u[m].length - 1] !== "*" && (l = u[m]), u[m].substr(0, 10) <= a)
                  return l;
              throw new Error("Could not find " + this.constructor.serviceIdentifier + " API to satisfy version constraint `" + a + "'");
            }, api: {}, defaultRetryCount: 3, customizeRequests: function(a) {
              if (a) {
                if (typeof a != "function")
                  throw new Error("Invalid callback type '" + typeof a + "' provided in customizeRequests");
                this.customRequestHandler = a;
              } else
                this.customRequestHandler = null;
            }, makeRequest: function(a, u, l) {
              if (typeof u == "function" && (l = u, u = null), u = u || {}, this.config.params) {
                var m = this.api.operations[a];
                m && (u = p.util.copy(u), p.util.each(this.config.params, function(C, E) {
                  m.input.members[C] && (u[C] !== void 0 && u[C] !== null || (u[C] = E));
                }));
              }
              var v = new p.Request(this, a, u);
              return this.addAllRequestListeners(v), this.attachMonitoringEmitter(v), l && v.send(l), v;
            }, makeUnauthenticatedRequest: function(a, u, l) {
              typeof u == "function" && (l = u, u = {});
              var m = this.makeRequest(a, u).toUnauthenticated();
              return l ? m.send(l) : m;
            }, waitFor: function(a, u, l) {
              return new p.ResourceWaiter(this, a).wait(u, l);
            }, addAllRequestListeners: function(a) {
              for (var u = [p.events, p.EventListeners.Core, this.serviceInterface(), p.EventListeners.CorePost], l = 0; l < u.length; l++)
                u[l] && a.addListeners(u[l]);
              this.config.paramValidation || a.removeListener("validate", p.EventListeners.Core.VALIDATE_PARAMETERS), this.config.logger && a.addListeners(p.EventListeners.Logger), this.setupRequestListeners(a), typeof this.constructor.prototype.customRequestHandler == "function" && this.constructor.prototype.customRequestHandler(a), Object.prototype.hasOwnProperty.call(this, "customRequestHandler") && typeof this.customRequestHandler == "function" && this.customRequestHandler(a);
            }, apiCallEvent: function(a) {
              var u = a.service.api.operations[a.operation], l = { Type: "ApiCall", Api: u ? u.name : a.operation, Version: 1, Service: a.service.api.serviceId || a.service.api.endpointPrefix, Region: a.httpRequest.region, MaxRetriesExceeded: 0, UserAgent: a.httpRequest.getUserAgent() }, m = a.response;
              if (m.httpResponse.statusCode && (l.FinalHttpStatusCode = m.httpResponse.statusCode), m.error) {
                var v = m.error;
                m.httpResponse.statusCode > 299 ? (v.code && (l.FinalAwsException = v.code), v.message && (l.FinalAwsExceptionMessage = v.message)) : ((v.code || v.name) && (l.FinalSdkException = v.code || v.name), v.message && (l.FinalSdkExceptionMessage = v.message));
              }
              return l;
            }, apiAttemptEvent: function(a) {
              var u = a.service.api.operations[a.operation], l = { Type: "ApiCallAttempt", Api: u ? u.name : a.operation, Version: 1, Service: a.service.api.serviceId || a.service.api.endpointPrefix, Fqdn: a.httpRequest.endpoint.hostname, UserAgent: a.httpRequest.getUserAgent() }, m = a.response;
              return m.httpResponse.statusCode && (l.HttpStatusCode = m.httpResponse.statusCode), !a._unAuthenticated && a.service.config.credentials && a.service.config.credentials.accessKeyId && (l.AccessKey = a.service.config.credentials.accessKeyId), m.httpResponse.headers && (a.httpRequest.headers["x-amz-security-token"] && (l.SessionToken = a.httpRequest.headers["x-amz-security-token"]), m.httpResponse.headers["x-amzn-requestid"] && (l.XAmznRequestId = m.httpResponse.headers["x-amzn-requestid"]), m.httpResponse.headers["x-amz-request-id"] && (l.XAmzRequestId = m.httpResponse.headers["x-amz-request-id"]), m.httpResponse.headers["x-amz-id-2"] && (l.XAmzId2 = m.httpResponse.headers["x-amz-id-2"])), l;
            }, attemptFailEvent: function(a) {
              var u = this.apiAttemptEvent(a), l = a.response, m = l.error;
              return l.httpResponse.statusCode > 299 ? (m.code && (u.AwsException = m.code), m.message && (u.AwsExceptionMessage = m.message)) : ((m.code || m.name) && (u.SdkException = m.code || m.name), m.message && (u.SdkExceptionMessage = m.message)), u;
            }, attachMonitoringEmitter: function(a) {
              var u, l, m, v, C, E, k = 0, O = this;
              a.on("validate", function() {
                v = p.util.realClock.now(), E = Date.now();
              }, !0), a.on("sign", function() {
                l = p.util.realClock.now(), u = Date.now(), C = a.httpRequest.region, k++;
              }, !0), a.on("validateResponse", function() {
                m = Math.round(p.util.realClock.now() - l);
              }), a.addNamedListener("API_CALL_ATTEMPT", "success", function() {
                var P = O.apiAttemptEvent(a);
                P.Timestamp = u, P.AttemptLatency = m >= 0 ? m : 0, P.Region = C, O.emit("apiCallAttempt", [P]);
              }), a.addNamedListener("API_CALL_ATTEMPT_RETRY", "retry", function() {
                var P = O.attemptFailEvent(a);
                P.Timestamp = u, m = m || Math.round(p.util.realClock.now() - l), P.AttemptLatency = m >= 0 ? m : 0, P.Region = C, O.emit("apiCallAttempt", [P]);
              }), a.addNamedListener("API_CALL", "complete", function() {
                var P = O.apiCallEvent(a);
                if (P.AttemptCount = k, !(P.AttemptCount <= 0)) {
                  P.Timestamp = E;
                  var z = Math.round(p.util.realClock.now() - v);
                  P.Latency = z >= 0 ? z : 0;
                  var R = a.response;
                  R.error && R.error.retryable && typeof R.retryCount == "number" && typeof R.maxRetries == "number" && R.retryCount >= R.maxRetries && (P.MaxRetriesExceeded = 1), O.emit("apiCall", [P]);
                }
              });
            }, setupRequestListeners: function(a) {
            }, getSigningName: function() {
              return this.api.signingName || this.api.endpointPrefix;
            }, getSignerClass: function(a) {
              var u, l = null, m = "";
              return a && (m = (l = (a.service.api.operations || {})[a.operation] || null) ? l.authtype : ""), u = this.config.signatureVersion ? this.config.signatureVersion : m === "v4" || m === "v4-unsigned-body" ? "v4" : m === "bearer" ? "bearer" : this.api.signatureVersion, p.Signers.RequestSigner.getVersion(u);
            }, serviceInterface: function() {
              switch (this.api.protocol) {
                case "ec2":
                case "query":
                  return p.EventListeners.Query;
                case "json":
                  return p.EventListeners.Json;
                case "rest-json":
                  return p.EventListeners.RestJson;
                case "rest-xml":
                  return p.EventListeners.RestXml;
              }
              if (this.api.protocol)
                throw new Error("Invalid service `protocol' " + this.api.protocol + " in API config");
            }, successfulResponse: function(a) {
              return a.httpResponse.statusCode < 300;
            }, numRetries: function() {
              return this.config.maxRetries !== void 0 ? this.config.maxRetries : this.defaultRetryCount;
            }, retryDelays: function(a, u) {
              return p.util.calculateRetryDelay(a, this.config.retryDelayOptions, u);
            }, retryableError: function(a) {
              return !!this.timeoutError(a) || !!this.networkingError(a) || !!this.expiredCredentialsError(a) || !!this.throttledError(a) || a.statusCode >= 500;
            }, networkingError: function(a) {
              return a.code === "NetworkingError";
            }, timeoutError: function(a) {
              return a.code === "TimeoutError";
            }, expiredCredentialsError: function(a) {
              return a.code === "ExpiredTokenException";
            }, clockSkewError: function(a) {
              switch (a.code) {
                case "RequestTimeTooSkewed":
                case "RequestExpired":
                case "InvalidSignatureException":
                case "SignatureDoesNotMatch":
                case "AuthFailure":
                case "RequestInTheFuture":
                  return !0;
                default:
                  return !1;
              }
            }, getSkewCorrectedDate: function() {
              return new Date(Date.now() + this.config.systemClockOffset);
            }, applyClockOffset: function(a) {
              a && (this.config.systemClockOffset = a - Date.now());
            }, isClockSkewed: function(a) {
              if (a)
                return Math.abs(this.getSkewCorrectedDate().getTime() - a) >= 3e5;
            }, throttledError: function(a) {
              if (a.statusCode === 429)
                return !0;
              switch (a.code) {
                case "ProvisionedThroughputExceededException":
                case "Throttling":
                case "ThrottlingException":
                case "RequestLimitExceeded":
                case "RequestThrottled":
                case "RequestThrottledException":
                case "TooManyRequestsException":
                case "TransactionInProgressException":
                case "EC2ThrottledException":
                  return !0;
                default:
                  return !1;
              }
            }, endpointFromTemplate: function(a) {
              return typeof a != "string" ? a : a.replace(/\{service\}/g, this.api.endpointPrefix).replace(/\{region\}/g, this.config.region).replace(/\{scheme\}/g, this.config.sslEnabled ? "https" : "http");
            }, setEndpoint: function(a) {
              this.endpoint = new p.Endpoint(a, this.config);
            }, paginationConfig: function(a, u) {
              var l = this.api.operations[a].paginator;
              if (!l) {
                if (u) {
                  var m = new Error();
                  throw p.util.error(m, "No pagination configuration for " + a);
                }
                return null;
              }
              return l;
            } }), p.util.update(p.Service, { defineMethods: function(a) {
              p.util.each(a.prototype.api.operations, function(u) {
                a.prototype[u] || (a.prototype.api.operations[u].authtype === "none" ? a.prototype[u] = function(l, m) {
                  return this.makeUnauthenticatedRequest(u, l, m);
                } : a.prototype[u] = function(l, m) {
                  return this.makeRequest(u, l, m);
                });
              });
            }, defineService: function(a, u, l) {
              p.Service._serviceMap[a] = !0, Array.isArray(u) || (l = u, u = []);
              var m = r(p.Service, l || {});
              if (typeof a == "string") {
                p.Service.addVersions(m, u);
                var v = m.serviceIdentifier || a;
                m.serviceIdentifier = v;
              } else
                m.prototype.api = a, p.Service.defineMethods(m);
              if (p.SequentialExecutor.call(this.prototype), !this.prototype.publisher && p.util.clientSideMonitoring) {
                var C = p.util.clientSideMonitoring.Publisher, E = (0, p.util.clientSideMonitoring.configProvider)();
                this.prototype.publisher = new C(E), E.enabled && (p.Service._clientSideMonitoring = !0);
              }
              return p.SequentialExecutor.call(m.prototype), p.Service.addDefaultMonitoringListeners(m.prototype), m;
            }, addVersions: function(a, u) {
              Array.isArray(u) || (u = [u]), a.services = a.services || {};
              for (var l = 0; l < u.length; l++)
                a.services[u[l]] === void 0 && (a.services[u[l]] = null);
              a.apiVersions = Object.keys(a.services).sort();
            }, defineServiceApi: function(a, u, l) {
              function m(C) {
                C.isApi ? v.prototype.api = C : v.prototype.api = new c(C, { serviceIdentifier: a.serviceIdentifier });
              }
              var v = r(a, { serviceIdentifier: a.serviceIdentifier });
              if (typeof u == "string") {
                if (l)
                  m(l);
                else
                  try {
                    m(p.apiLoader(a.serviceIdentifier, u));
                  } catch (C) {
                    throw p.util.error(C, { message: "Could not find API configuration " + a.serviceIdentifier + "-" + u });
                  }
                Object.prototype.hasOwnProperty.call(a.services, u) || (a.apiVersions = a.apiVersions.concat(u).sort()), a.services[u] = v;
              } else
                m(u);
              return p.Service.defineMethods(v), v;
            }, hasService: function(a) {
              return Object.prototype.hasOwnProperty.call(p.Service._serviceMap, a);
            }, addDefaultMonitoringListeners: function(a) {
              a.addNamedListener("MONITOR_EVENTS_BUBBLE", "apiCallAttempt", function(u) {
                var l = Object.getPrototypeOf(a);
                l._events && l.emit("apiCallAttempt", [u]);
              }), a.addNamedListener("CALL_EVENTS_BUBBLE", "apiCall", function(u) {
                var l = Object.getPrototypeOf(a);
                l._events && l.emit("apiCall", [u]);
              });
            }, _serviceMap: {} }), p.util.mixin(p.Service, p.SequentialExecutor), U.exports = p.Service;
          }).call(this);
        }).call(this, _("_process"));
      }, { "./core": 44, "./model/api": 71, "./region/utils": 88, "./region_config": 89, _process: 11 }], 89: [function(_, U, L) {
        function h(o, r) {
          p.each(r, function(s, d) {
            s !== "globalEndpoint" && (o.config[s] !== void 0 && o.config[s] !== null || (o.config[s] = d));
          });
        }
        var p = _("./util"), c = _("./region_config_data.json");
        U.exports = { configureEndpoint: function(o) {
          for (var r = function(C) {
            var E = C.config.region, k = function(P) {
              if (!P)
                return null;
              var z = P.split("-");
              return z.length < 3 ? null : z.slice(0, z.length - 2).join("-") + "-*";
            }(E), O = C.api.endpointPrefix;
            return [[E, O], [k, O], [E, "*"], [k, "*"], ["*", O], [E, "internal-*"], ["*", "*"]].map(function(P) {
              return P[0] && P[1] ? P.join("/") : null;
            });
          }(o), s = o.config.useFipsEndpoint, d = o.config.useDualstackEndpoint, a = 0; a < r.length; a++) {
            var u = r[a];
            if (u) {
              var l = s ? d ? c.dualstackFipsRules : c.fipsRules : d ? c.dualstackRules : c.rules;
              if (Object.prototype.hasOwnProperty.call(l, u)) {
                var m = l[u];
                typeof m == "string" && (m = c.patterns[m]), o.isGlobalEndpoint = !!m.globalEndpoint, m.signingRegion && (o.signingRegion = m.signingRegion), m.signatureVersion || (m.signatureVersion = "v4");
                var v = (o.api && o.api.signatureVersion) === "bearer";
                return void h(o, Object.assign({}, m, { signatureVersion: v ? "bearer" : m.signatureVersion }));
              }
            }
          }
        }, getEndpointSuffix: function(o) {
          for (var r = { "^(us|eu|ap|sa|ca|me)\\-\\w+\\-\\d+$": "amazonaws.com", "^cn\\-\\w+\\-\\d+$": "amazonaws.com.cn", "^us\\-gov\\-\\w+\\-\\d+$": "amazonaws.com", "^us\\-iso\\-\\w+\\-\\d+$": "c2s.ic.gov", "^us\\-isob\\-\\w+\\-\\d+$": "sc2s.sgov.gov" }, s = Object.keys(r), d = 0; d < s.length; d++) {
            var a = RegExp(s[d]), u = r[s[d]];
            if (a.test(o))
              return u;
          }
          return "amazonaws.com";
        } };
      }, { "./region_config_data.json": 90, "./util": 130 }], 90: [function(_, U, L) {
        U.exports = { rules: { "*/*": { endpoint: "{service}.{region}.amazonaws.com" }, "cn-*/*": { endpoint: "{service}.{region}.amazonaws.com.cn" }, "us-iso-*/*": "usIso", "us-isob-*/*": "usIsob", "*/budgets": "globalSSL", "*/cloudfront": "globalSSL", "*/sts": "globalSSL", "*/importexport": { endpoint: "{service}.amazonaws.com", signatureVersion: "v2", globalEndpoint: !0 }, "*/route53": "globalSSL", "cn-*/route53": { endpoint: "{service}.amazonaws.com.cn", globalEndpoint: !0, signingRegion: "cn-northwest-1" }, "us-gov-*/route53": "globalGovCloud", "us-iso-*/route53": { endpoint: "{service}.c2s.ic.gov", globalEndpoint: !0, signingRegion: "us-iso-east-1" }, "us-isob-*/route53": { endpoint: "{service}.sc2s.sgov.gov", globalEndpoint: !0, signingRegion: "us-isob-east-1" }, "*/waf": "globalSSL", "*/iam": "globalSSL", "cn-*/iam": { endpoint: "{service}.cn-north-1.amazonaws.com.cn", globalEndpoint: !0, signingRegion: "cn-north-1" }, "us-iso-*/iam": { endpoint: "{service}.us-iso-east-1.c2s.ic.gov", globalEndpoint: !0, signingRegion: "us-iso-east-1" }, "us-gov-*/iam": "globalGovCloud", "*/ce": { endpoint: "{service}.us-east-1.amazonaws.com", globalEndpoint: !0, signingRegion: "us-east-1" }, "cn-*/ce": { endpoint: "{service}.cn-northwest-1.amazonaws.com.cn", globalEndpoint: !0, signingRegion: "cn-northwest-1" }, "us-gov-*/sts": { endpoint: "{service}.{region}.amazonaws.com" }, "us-gov-west-1/s3": "s3signature", "us-west-1/s3": "s3signature", "us-west-2/s3": "s3signature", "eu-west-1/s3": "s3signature", "ap-southeast-1/s3": "s3signature", "ap-southeast-2/s3": "s3signature", "ap-northeast-1/s3": "s3signature", "sa-east-1/s3": "s3signature", "us-east-1/s3": { endpoint: "{service}.amazonaws.com", signatureVersion: "s3" }, "us-east-1/sdb": { endpoint: "{service}.amazonaws.com", signatureVersion: "v2" }, "*/sdb": { endpoint: "{service}.{region}.amazonaws.com", signatureVersion: "v2" }, "*/resource-explorer-2": "dualstackByDefault", "*/kendra-ranking": "dualstackByDefault", "*/internetmonitor": "dualstackByDefault", "*/codecatalyst": "globalDualstackByDefault" }, fipsRules: { "*/*": "fipsStandard", "us-gov-*/*": "fipsStandard", "us-iso-*/*": { endpoint: "{service}-fips.{region}.c2s.ic.gov" }, "us-iso-*/dms": "usIso", "us-isob-*/*": { endpoint: "{service}-fips.{region}.sc2s.sgov.gov" }, "us-isob-*/dms": "usIsob", "cn-*/*": { endpoint: "{service}-fips.{region}.amazonaws.com.cn" }, "*/api.ecr": "fips.api.ecr", "*/api.sagemaker": "fips.api.sagemaker", "*/batch": "fipsDotPrefix", "*/eks": "fipsDotPrefix", "*/models.lex": "fips.models.lex", "*/runtime.lex": "fips.runtime.lex", "*/runtime.sagemaker": { endpoint: "runtime-fips.sagemaker.{region}.amazonaws.com" }, "*/iam": "fipsWithoutRegion", "*/route53": "fipsWithoutRegion", "*/transcribe": "fipsDotPrefix", "*/waf": "fipsWithoutRegion", "us-gov-*/transcribe": "fipsDotPrefix", "us-gov-*/api.ecr": "fips.api.ecr", "us-gov-*/api.sagemaker": "fips.api.sagemaker", "us-gov-*/models.lex": "fips.models.lex", "us-gov-*/runtime.lex": "fips.runtime.lex", "us-gov-*/acm-pca": "fipsWithServiceOnly", "us-gov-*/batch": "fipsWithServiceOnly", "us-gov-*/cloudformation": "fipsWithServiceOnly", "us-gov-*/config": "fipsWithServiceOnly", "us-gov-*/eks": "fipsWithServiceOnly", "us-gov-*/elasticmapreduce": "fipsWithServiceOnly", "us-gov-*/identitystore": "fipsWithServiceOnly", "us-gov-*/dynamodb": "fipsWithServiceOnly", "us-gov-*/elasticloadbalancing": "fipsWithServiceOnly", "us-gov-*/guardduty": "fipsWithServiceOnly", "us-gov-*/monitoring": "fipsWithServiceOnly", "us-gov-*/resource-groups": "fipsWithServiceOnly", "us-gov-*/runtime.sagemaker": "fipsWithServiceOnly", "us-gov-*/servicecatalog-appregistry": "fipsWithServiceOnly", "us-gov-*/servicequotas": "fipsWithServiceOnly", "us-gov-*/ssm": "fipsWithServiceOnly", "us-gov-*/sts": "fipsWithServiceOnly", "us-gov-*/support": "fipsWithServiceOnly", "us-gov-west-1/states": "fipsWithServiceOnly", "us-iso-east-1/elasticfilesystem": { endpoint: "elasticfilesystem-fips.{region}.c2s.ic.gov" }, "us-gov-west-1/organizations": "fipsWithServiceOnly", "us-gov-west-1/route53": { endpoint: "route53.us-gov.amazonaws.com" }, "*/resource-explorer-2": "fipsDualstackByDefault", "*/kendra-ranking": "dualstackByDefault", "*/internetmonitor": "dualstackByDefault", "*/codecatalyst": "fipsGlobalDualstackByDefault" }, dualstackRules: { "*/*": { endpoint: "{service}.{region}.api.aws" }, "cn-*/*": { endpoint: "{service}.{region}.api.amazonwebservices.com.cn" }, "*/s3": "dualstackLegacy", "cn-*/s3": "dualstackLegacyCn", "*/s3-control": "dualstackLegacy", "cn-*/s3-control": "dualstackLegacyCn", "ap-south-1/ec2": "dualstackLegacyEc2", "eu-west-1/ec2": "dualstackLegacyEc2", "sa-east-1/ec2": "dualstackLegacyEc2", "us-east-1/ec2": "dualstackLegacyEc2", "us-east-2/ec2": "dualstackLegacyEc2", "us-west-2/ec2": "dualstackLegacyEc2" }, dualstackFipsRules: { "*/*": { endpoint: "{service}-fips.{region}.api.aws" }, "cn-*/*": { endpoint: "{service}-fips.{region}.api.amazonwebservices.com.cn" }, "*/s3": "dualstackFipsLegacy", "cn-*/s3": "dualstackFipsLegacyCn", "*/s3-control": "dualstackFipsLegacy", "cn-*/s3-control": "dualstackFipsLegacyCn" }, patterns: { globalSSL: { endpoint: "https://{service}.amazonaws.com", globalEndpoint: !0, signingRegion: "us-east-1" }, globalGovCloud: { endpoint: "{service}.us-gov.amazonaws.com", globalEndpoint: !0, signingRegion: "us-gov-west-1" }, s3signature: { endpoint: "{service}.{region}.amazonaws.com", signatureVersion: "s3" }, usIso: { endpoint: "{service}.{region}.c2s.ic.gov" }, usIsob: { endpoint: "{service}.{region}.sc2s.sgov.gov" }, fipsStandard: { endpoint: "{service}-fips.{region}.amazonaws.com" }, fipsDotPrefix: { endpoint: "fips.{service}.{region}.amazonaws.com" }, fipsWithoutRegion: { endpoint: "{service}-fips.amazonaws.com" }, "fips.api.ecr": { endpoint: "ecr-fips.{region}.amazonaws.com" }, "fips.api.sagemaker": { endpoint: "api-fips.sagemaker.{region}.amazonaws.com" }, "fips.models.lex": { endpoint: "models-fips.lex.{region}.amazonaws.com" }, "fips.runtime.lex": { endpoint: "runtime-fips.lex.{region}.amazonaws.com" }, fipsWithServiceOnly: { endpoint: "{service}.{region}.amazonaws.com" }, dualstackLegacy: { endpoint: "{service}.dualstack.{region}.amazonaws.com" }, dualstackLegacyCn: { endpoint: "{service}.dualstack.{region}.amazonaws.com.cn" }, dualstackFipsLegacy: { endpoint: "{service}-fips.dualstack.{region}.amazonaws.com" }, dualstackFipsLegacyCn: { endpoint: "{service}-fips.dualstack.{region}.amazonaws.com.cn" }, dualstackLegacyEc2: { endpoint: "api.ec2.{region}.aws" }, dualstackByDefault: { endpoint: "{service}.{region}.api.aws" }, fipsDualstackByDefault: { endpoint: "{service}-fips.{region}.api.aws" }, globalDualstackByDefault: { endpoint: "{service}.global.api.aws" }, fipsGlobalDualstackByDefault: { endpoint: "{service}-fips.global.api.aws" } } };
      }, {}], 88: [function(_, U, L) {
        U.exports = { isFipsRegion: function(h) {
          return typeof h == "string" && (h.startsWith("fips-") || h.endsWith("-fips"));
        }, isGlobalRegion: function(h) {
          return typeof h == "string" && ["aws-global", "aws-us-gov-global"].includes(h);
        }, getRealRegion: function(h) {
          return ["fips-aws-global", "aws-fips", "aws-global"].includes(h) ? "us-east-1" : ["fips-aws-us-gov-global", "aws-us-gov-global"].includes(h) ? "us-gov-west-1" : h.replace(/fips-(dkr-|prod-)?|-fips/, "");
        } };
      }, {}], 93: [function(_, U, L) {
        var h = _("./core"), p = h.util.inherit, c = _("jmespath");
        h.Response = p({ constructor: function(o) {
          this.request = o, this.data = null, this.error = null, this.retryCount = 0, this.redirectCount = 0, this.httpResponse = new h.HttpResponse(), o && (this.maxRetries = o.service.numRetries(), this.maxRedirects = o.service.config.maxRedirects);
        }, nextPage: function(o) {
          var r, s = this.request.service, d = this.request.operation;
          try {
            r = s.paginationConfig(d, !0);
          } catch (m) {
            this.error = m;
          }
          if (!this.hasNextPage()) {
            if (o)
              o(this.error, null);
            else if (this.error)
              throw this.error;
            return null;
          }
          var a = h.util.copy(this.request.params);
          if (this.nextPageTokens) {
            var u = r.inputToken;
            typeof u == "string" && (u = [u]);
            for (var l = 0; l < u.length; l++)
              a[u[l]] = this.nextPageTokens[l];
            return s.makeRequest(this.request.operation, a, o);
          }
          return o ? o(null, null) : null;
        }, hasNextPage: function() {
          return this.cacheNextPageTokens(), !!this.nextPageTokens || this.nextPageTokens === void 0 && void 0;
        }, cacheNextPageTokens: function() {
          if (Object.prototype.hasOwnProperty.call(this, "nextPageTokens"))
            return this.nextPageTokens;
          this.nextPageTokens = void 0;
          var o = this.request.service.paginationConfig(this.request.operation);
          if (!o)
            return this.nextPageTokens;
          if (this.nextPageTokens = null, o.moreResults && !c.search(this.data, o.moreResults))
            return this.nextPageTokens;
          var r = o.outputToken;
          return typeof r == "string" && (r = [r]), h.util.arrayEach.call(this, r, function(s) {
            var d = c.search(this.data, s);
            d && (this.nextPageTokens = this.nextPageTokens || [], this.nextPageTokens.push(d));
          }), this.nextPageTokens;
        } });
      }, { "./core": 44, jmespath: 10 }], 92: [function(_, U, L) {
        function h(r) {
          var s = r.request._waiter, d = s.config.acceptors, a = !1, u = "retry";
          d.forEach(function(l) {
            if (!a) {
              var m = s.matchers[l.matcher];
              m && m(r, l.expected, l.argument) && (a = !0, u = l.state);
            }
          }), !a && r.error && (u = "failure"), u === "success" ? s.setSuccess(r) : s.setError(r, u === "retry");
        }
        var p = _("./core"), c = p.util.inherit, o = _("jmespath");
        p.ResourceWaiter = c({ constructor: function(r, s) {
          this.service = r, this.state = s, this.loadWaiterConfig(this.state);
        }, service: null, state: null, config: null, matchers: { path: function(r, s, d) {
          try {
            var a = o.search(r.data, d);
          } catch {
            return !1;
          }
          return o.strictDeepEqual(a, s);
        }, pathAll: function(r, s, d) {
          try {
            var a = o.search(r.data, d);
          } catch {
            return !1;
          }
          Array.isArray(a) || (a = [a]);
          var u = a.length;
          if (!u)
            return !1;
          for (var l = 0; l < u; l++)
            if (!o.strictDeepEqual(a[l], s))
              return !1;
          return !0;
        }, pathAny: function(r, s, d) {
          try {
            var a = o.search(r.data, d);
          } catch {
            return !1;
          }
          Array.isArray(a) || (a = [a]);
          for (var u = a.length, l = 0; l < u; l++)
            if (o.strictDeepEqual(a[l], s))
              return !0;
          return !1;
        }, status: function(r, s) {
          var d = r.httpResponse.statusCode;
          return typeof d == "number" && d === s;
        }, error: function(r, s) {
          return typeof s == "string" && r.error ? s === r.error.code : s === !!r.error;
        } }, listeners: new p.SequentialExecutor().addNamedListeners(function(r) {
          r("RETRY_CHECK", "retry", function(s) {
            var d = s.request._waiter;
            s.error && s.error.code === "ResourceNotReady" && (s.error.retryDelay = 1e3 * (d.config.delay || 0));
          }), r("CHECK_OUTPUT", "extractData", h), r("CHECK_ERROR", "extractError", h);
        }), wait: function(r, s) {
          typeof r == "function" && (s = r, r = void 0), r && r.$waiter && (typeof (r = p.util.copy(r)).$waiter.delay == "number" && (this.config.delay = r.$waiter.delay), typeof r.$waiter.maxAttempts == "number" && (this.config.maxAttempts = r.$waiter.maxAttempts), delete r.$waiter);
          var d = this.service.makeRequest(this.config.operation, r);
          return d._waiter = this, d.response.maxRetries = this.config.maxAttempts, d.addListeners(this.listeners), s && d.send(s), d;
        }, setSuccess: function(r) {
          r.error = null, r.data = r.data || {}, r.request.removeAllListeners("extractData");
        }, setError: function(r, s) {
          r.data = null, r.error = p.util.error(r.error || new Error(), { code: "ResourceNotReady", message: "Resource is not in the state " + this.state, retryable: s });
        }, loadWaiterConfig: function(r) {
          if (!this.service.api.waiters[r])
            throw new p.util.error(new Error(), { code: "StateNotFoundError", message: "State " + r + " not found." });
          this.config = p.util.copy(this.service.api.waiters[r]);
        } });
      }, { "./core": 44, jmespath: 10 }], 91: [function(_, U, L) {
        (function(h) {
          (function() {
            var p = _("./core"), c = _("./state_machine"), o = p.util.inherit, r = p.util.domain, s = _("jmespath"), d = { success: 1, error: 1, complete: 1 }, a = new c();
            a.setupStates = function() {
              var u = function(l, m) {
                var v = this;
                v._haltHandlersOnError = !1, v.emit(v._asm.currentState, function(C) {
                  if (C)
                    if (function(E) {
                      return Object.prototype.hasOwnProperty.call(d, E._asm.currentState);
                    }(v)) {
                      if (!(r && v.domain instanceof r.Domain))
                        throw C;
                      C.domainEmitter = v, C.domain = v.domain, C.domainThrown = !1, v.domain.emit("error", C);
                    } else
                      v.response.error = C, m(C);
                  else
                    m(v.response.error);
                });
              };
              this.addState("validate", "build", "error", u), this.addState("build", "afterBuild", "restart", u), this.addState("afterBuild", "sign", "restart", u), this.addState("sign", "send", "retry", u), this.addState("retry", "afterRetry", "afterRetry", u), this.addState("afterRetry", "sign", "error", u), this.addState("send", "validateResponse", "retry", u), this.addState("validateResponse", "extractData", "extractError", u), this.addState("extractError", "extractData", "retry", u), this.addState("extractData", "success", "retry", u), this.addState("restart", "build", "error", u), this.addState("success", "complete", "complete", u), this.addState("error", "complete", "complete", u), this.addState("complete", null, null, u);
            }, a.setupStates(), p.Request = o({ constructor: function(u, l, m) {
              var v = u.endpoint, C = u.config.region, E = u.config.customUserAgent;
              u.signingRegion ? C = u.signingRegion : u.isGlobalEndpoint && (C = "us-east-1"), this.domain = r && r.active, this.service = u, this.operation = l, this.params = m || {}, this.httpRequest = new p.HttpRequest(v, C), this.httpRequest.appendToUserAgent(E), this.startTime = u.getSkewCorrectedDate(), this.response = new p.Response(this), this._asm = new c(a.states, "validate"), this._haltHandlersOnError = !1, p.SequentialExecutor.call(this), this.emit = this.emitEvent;
            }, send: function(u) {
              return u && (this.httpRequest.appendToUserAgent("callback"), this.on("complete", function(l) {
                u.call(l, l.error, l.data);
              })), this.runTo(), this.response;
            }, build: function(u) {
              return this.runTo("send", u);
            }, runTo: function(u, l) {
              return this._asm.runTo(u, l, this), this;
            }, abort: function() {
              return this.removeAllListeners("validateResponse"), this.removeAllListeners("extractError"), this.on("validateResponse", function(u) {
                u.error = p.util.error(new Error("Request aborted by user"), { code: "RequestAbortedError", retryable: !1 });
              }), this.httpRequest.stream && !this.httpRequest.stream.didCallback && (this.httpRequest.stream.abort(), this.httpRequest._abortCallback ? this.httpRequest._abortCallback() : this.removeAllListeners("send")), this;
            }, eachPage: function(u) {
              u = p.util.fn.makeAsync(u, 3), this.on("complete", function l(m) {
                u.call(m, m.error, m.data, function(v) {
                  v !== !1 && (m.hasNextPage() ? m.nextPage().on("complete", l).send() : u.call(m, null, null, p.util.fn.noop));
                });
              }).send();
            }, eachItem: function(u) {
              var l = this;
              this.eachPage(function(m, v) {
                if (m)
                  return u(m, null);
                if (v === null)
                  return u(null, null);
                var C = l.service.paginationConfig(l.operation).resultKey;
                Array.isArray(C) && (C = C[0]);
                var E = s.search(v, C), k = !0;
                return p.util.arrayEach(E, function(O) {
                  if ((k = u(null, O)) === !1)
                    return p.util.abort;
                }), k;
              });
            }, isPageable: function() {
              return !!this.service.paginationConfig(this.operation);
            }, createReadStream: function() {
              var u = p.util.stream, l = this, m = null;
              return p.HttpClient.streamsApiVersion === 2 ? (m = new u.PassThrough(), h.nextTick(function() {
                l.send();
              })) : ((m = new u.Stream()).readable = !0, m.sent = !1, m.on("newListener", function(v) {
                m.sent || v !== "data" || (m.sent = !0, h.nextTick(function() {
                  l.send();
                }));
              })), this.on("error", function(v) {
                m.emit("error", v);
              }), this.on("httpHeaders", function(v, C, E) {
                if (v < 300) {
                  l.removeListener("httpData", p.EventListeners.Core.HTTP_DATA), l.removeListener("httpError", p.EventListeners.Core.HTTP_ERROR), l.on("httpError", function(F) {
                    E.error = F, E.error.retryable = !1;
                  });
                  var k, O = !1;
                  if (l.httpRequest.method !== "HEAD" && (k = parseInt(C["content-length"], 10)), k !== void 0 && !isNaN(k) && k >= 0) {
                    O = !0;
                    var P = 0;
                  }
                  var z = function() {
                    O && P !== k ? m.emit("error", p.util.error(new Error("Stream content length mismatch. Received " + P + " of " + k + " bytes."), { code: "StreamContentLengthMismatch" })) : p.HttpClient.streamsApiVersion === 2 ? m.end() : m.emit("end");
                  }, R = E.httpResponse.createUnbufferedStream();
                  if (p.HttpClient.streamsApiVersion === 2)
                    if (O) {
                      var q = new u.PassThrough();
                      q._write = function(F) {
                        return F && F.length && (P += F.length), u.PassThrough.prototype._write.apply(this, arguments);
                      }, q.on("end", z), m.on("error", function(F) {
                        O = !1, R.unpipe(q), q.emit("end"), q.end();
                      }), R.pipe(q).pipe(m, { end: !1 });
                    } else
                      R.pipe(m);
                  else
                    O && R.on("data", function(F) {
                      F && F.length && (P += F.length);
                    }), R.on("data", function(F) {
                      m.emit("data", F);
                    }), R.on("end", z);
                  R.on("error", function(F) {
                    O = !1, m.emit("error", F);
                  });
                }
              }), m;
            }, emitEvent: function(u, l, m) {
              typeof l == "function" && (m = l, l = null), m || (m = function() {
              }), l || (l = this.eventParameters(u, this.response)), p.SequentialExecutor.prototype.emit.call(this, u, l, function(v) {
                v && (this.response.error = v), m.call(this, v);
              });
            }, eventParameters: function(u) {
              switch (u) {
                case "restart":
                case "validate":
                case "sign":
                case "build":
                case "afterValidate":
                case "afterBuild":
                  return [this];
                case "error":
                  return [this.response.error, this.response];
                default:
                  return [this.response];
              }
            }, presign: function(u, l) {
              return l || typeof u != "function" || (l = u, u = null), new p.Signers.Presign().sign(this.toGet(), u, l);
            }, isPresigned: function() {
              return Object.prototype.hasOwnProperty.call(this.httpRequest.headers, "presigned-expires");
            }, toUnauthenticated: function() {
              return this._unAuthenticated = !0, this.removeListener("validate", p.EventListeners.Core.VALIDATE_CREDENTIALS), this.removeListener("sign", p.EventListeners.Core.SIGN), this;
            }, toGet: function() {
              return this.service.api.protocol !== "query" && this.service.api.protocol !== "ec2" || (this.removeListener("build", this.buildAsGet), this.addListener("build", this.buildAsGet)), this;
            }, buildAsGet: function(u) {
              u.httpRequest.method = "GET", u.httpRequest.path = u.service.endpoint.path + "?" + u.httpRequest.body, u.httpRequest.body = "", delete u.httpRequest.headers["Content-Length"], delete u.httpRequest.headers["Content-Type"];
            }, haltHandlersOnError: function() {
              this._haltHandlersOnError = !0;
            } }), p.Request.addPromisesToClass = function(u) {
              this.prototype.promise = function() {
                var l = this;
                return this.httpRequest.appendToUserAgent("promise"), new u(function(m, v) {
                  l.on("complete", function(C) {
                    C.error ? v(C.error) : m(Object.defineProperty(C.data || {}, "$response", { value: C }));
                  }), l.runTo();
                });
              };
            }, p.Request.deletePromisesFromClass = function() {
              delete this.prototype.promise;
            }, p.util.addPromises(p.Request), p.util.mixin(p.Request, p.SequentialExecutor);
          }).call(this);
        }).call(this, _("_process"));
      }, { "./core": 44, "./state_machine": 129, _process: 11, jmespath: 10 }], 129: [function(_, U, L) {
        function h(p, c) {
          this.currentState = c || null, this.states = p || {};
        }
        h.prototype.runTo = function(p, c, o, r) {
          typeof p == "function" && (r = o, o = c, c = p, p = null);
          var s = this, d = s.states[s.currentState];
          d.fn.call(o || s, r, function(a) {
            if (a) {
              if (!d.fail)
                return c ? c.call(o, a) : null;
              s.currentState = d.fail;
            } else {
              if (!d.accept)
                return c ? c.call(o) : null;
              s.currentState = d.accept;
            }
            if (s.currentState === p)
              return c ? c.call(o, a) : null;
            s.runTo(p, c, o, a);
          });
        }, h.prototype.addState = function(p, c, o, r) {
          return typeof c == "function" ? (r = c, c = null, o = null) : typeof o == "function" && (r = o, o = null), this.currentState || (this.currentState = p), this.states[p] = { accept: c, fail: o, fn: r }, this;
        }, U.exports = h;
      }, {}], 77: [function(_, U, L) {
        var h = _("./core");
        h.ParamValidator = h.util.inherit({ constructor: function(p) {
          p !== !0 && p !== void 0 || (p = { min: !0 }), this.validation = p;
        }, validate: function(p, c, o) {
          if (this.errors = [], this.validateMember(p, c || {}, o || "params"), this.errors.length > 1) {
            var r = this.errors.join(`
  * `);
            throw r = "There were " + this.errors.length + ` validation errors:
  * ` + r, h.util.error(new Error(r), { code: "MultipleValidationErrors", errors: this.errors });
          }
          if (this.errors.length === 1)
            throw this.errors[0];
          return !0;
        }, fail: function(p, c) {
          this.errors.push(h.util.error(new Error(c), { code: p }));
        }, validateStructure: function(p, c, o) {
          if (p.isDocument)
            return !0;
          this.validateType(c, o, ["object"], "structure");
          for (var r, s = 0; p.required && s < p.required.length; s++)
            c[r = p.required[s]] != null || this.fail("MissingRequiredParameter", "Missing required key '" + r + "' in " + o);
          for (r in c)
            if (Object.prototype.hasOwnProperty.call(c, r)) {
              var d = c[r], a = p.members[r];
              if (a !== void 0) {
                var u = [o, r].join(".");
                this.validateMember(a, d, u);
              } else
                d != null && this.fail("UnexpectedParameter", "Unexpected key '" + r + "' found in " + o);
            }
          return !0;
        }, validateMember: function(p, c, o) {
          switch (p.type) {
            case "structure":
              return this.validateStructure(p, c, o);
            case "list":
              return this.validateList(p, c, o);
            case "map":
              return this.validateMap(p, c, o);
            default:
              return this.validateScalar(p, c, o);
          }
        }, validateList: function(p, c, o) {
          if (this.validateType(c, o, [Array])) {
            this.validateRange(p, c.length, o, "list member count");
            for (var r = 0; r < c.length; r++)
              this.validateMember(p.member, c[r], o + "[" + r + "]");
          }
        }, validateMap: function(p, c, o) {
          if (this.validateType(c, o, ["object"], "map")) {
            var r = 0;
            for (var s in c)
              Object.prototype.hasOwnProperty.call(c, s) && (this.validateMember(p.key, s, o + "[key='" + s + "']"), this.validateMember(p.value, c[s], o + "['" + s + "']"), r++);
            this.validateRange(p, r, o, "map member count");
          }
        }, validateScalar: function(p, c, o) {
          switch (p.type) {
            case null:
            case void 0:
            case "string":
              return this.validateString(p, c, o);
            case "base64":
            case "binary":
              return this.validatePayload(c, o);
            case "integer":
            case "float":
              return this.validateNumber(p, c, o);
            case "boolean":
              return this.validateType(c, o, ["boolean"]);
            case "timestamp":
              return this.validateType(c, o, [Date, /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/, "number"], "Date object, ISO-8601 string, or a UNIX timestamp");
            default:
              return this.fail("UnkownType", "Unhandled type " + p.type + " for " + o);
          }
        }, validateString: function(p, c, o) {
          var r = ["string"];
          p.isJsonValue && (r = r.concat(["number", "object", "boolean"])), c !== null && this.validateType(c, o, r) && (this.validateEnum(p, c, o), this.validateRange(p, c.length, o, "string length"), this.validatePattern(p, c, o), this.validateUri(p, c, o));
        }, validateUri: function(p, c, o) {
          p.location === "uri" && c.length === 0 && this.fail("UriParameterError", 'Expected uri parameter to have length >= 1, but found "' + c + '" for ' + o);
        }, validatePattern: function(p, c, o) {
          this.validation.pattern && p.pattern !== void 0 && (new RegExp(p.pattern).test(c) || this.fail("PatternMatchError", 'Provided value "' + c + '" does not match regex pattern /' + p.pattern + "/ for " + o));
        }, validateRange: function(p, c, o, r) {
          this.validation.min && p.min !== void 0 && c < p.min && this.fail("MinRangeError", "Expected " + r + " >= " + p.min + ", but found " + c + " for " + o), this.validation.max && p.max !== void 0 && c > p.max && this.fail("MaxRangeError", "Expected " + r + " <= " + p.max + ", but found " + c + " for " + o);
        }, validateEnum: function(p, c, o) {
          this.validation.enum && p.enum !== void 0 && p.enum.indexOf(c) === -1 && this.fail("EnumError", "Found string value of " + c + ", but expected " + p.enum.join("|") + " for " + o);
        }, validateType: function(p, c, o, r) {
          if (p == null)
            return !1;
          for (var s = !1, d = 0; d < o.length; d++) {
            if (typeof o[d] == "string") {
              if (typeof p === o[d])
                return !0;
            } else if (o[d] instanceof RegExp) {
              if ((p || "").toString().match(o[d]))
                return !0;
            } else {
              if (p instanceof o[d] || h.util.isType(p, o[d]))
                return !0;
              r || s || (o = o.slice()), o[d] = h.util.typeName(o[d]);
            }
            s = !0;
          }
          var a = r;
          a || (a = o.join(", ").replace(/,([^,]+)$/, ", or$1"));
          var u = a.match(/^[aeiou]/i) ? "n" : "";
          return this.fail("InvalidParameterType", "Expected " + c + " to be a" + u + " " + a), !1;
        }, validateNumber: function(p, c, o) {
          if (c != null) {
            if (typeof c == "string") {
              var r = parseFloat(c);
              r.toString() === c && (c = r);
            }
            this.validateType(c, o, ["number"]) && this.validateRange(p, c, o, "numeric value");
          }
        }, validatePayload: function(p, c) {
          if (p != null && typeof p != "string" && (!p || typeof p.byteLength != "number")) {
            if (h.util.isNode()) {
              var o = h.util.stream.Stream;
              if (h.util.Buffer.isBuffer(p) || p instanceof o)
                return;
            } else if (typeof Blob !== void 0 && p instanceof Blob)
              return;
            var r = ["Buffer", "Stream", "File", "Blob", "ArrayBuffer", "DataView"];
            if (p) {
              for (var s = 0; s < r.length; s++)
                if (h.util.isType(p, r[s]) || h.util.typeName(p.constructor) === r[s])
                  return;
            }
            this.fail("InvalidParameterType", "Expected " + c + " to be a string, Buffer, Stream, Blob, or typed array object");
          }
        } });
      }, { "./core": 44 }], 71: [function(_, U, L) {
        var h = _("./collection"), p = _("./operation"), c = _("./shape"), o = _("./paginator"), r = _("./resource_waiter"), s = _("../../apis/metadata.json"), d = _("../util"), a = d.property, u = d.memoizedProperty;
        U.exports = function(l, m) {
          var v = this;
          l = l || {}, (m = m || {}).api = this, l.metadata = l.metadata || {};
          var C = m.serviceIdentifier;
          delete m.serviceIdentifier, a(this, "isApi", !0, !1), a(this, "apiVersion", l.metadata.apiVersion), a(this, "endpointPrefix", l.metadata.endpointPrefix), a(this, "signingName", l.metadata.signingName), a(this, "globalEndpoint", l.metadata.globalEndpoint), a(this, "signatureVersion", l.metadata.signatureVersion), a(this, "jsonVersion", l.metadata.jsonVersion), a(this, "targetPrefix", l.metadata.targetPrefix), a(this, "protocol", l.metadata.protocol), a(this, "timestampFormat", l.metadata.timestampFormat), a(this, "xmlNamespaceUri", l.metadata.xmlNamespace), a(this, "abbreviation", l.metadata.serviceAbbreviation), a(this, "fullName", l.metadata.serviceFullName), a(this, "serviceId", l.metadata.serviceId), C && s[C] && a(this, "xmlNoDefaultLists", s[C].xmlNoDefaultLists, !1), u(this, "className", function() {
            var E = l.metadata.serviceAbbreviation || l.metadata.serviceFullName;
            return E ? ((E = E.replace(/^Amazon|AWS\s*|\(.*|\s+|\W+/g, "")) === "ElasticLoadBalancing" && (E = "ELB"), E) : null;
          }), a(this, "operations", new h(l.operations, m, function(E, k) {
            return new p(E, k, m);
          }, d.string.lowerFirst, function(E, k) {
            k.endpointoperation === !0 && a(v, "endpointOperation", d.string.lowerFirst(E)), k.endpointdiscovery && !v.hasRequiredEndpointDiscovery && a(v, "hasRequiredEndpointDiscovery", k.endpointdiscovery.required === !0);
          })), a(this, "shapes", new h(l.shapes, m, function(E, k) {
            return c.create(k, m);
          })), a(this, "paginators", new h(l.paginators, m, function(E, k) {
            return new o(E, k, m);
          })), a(this, "waiters", new h(l.waiters, m, function(E, k) {
            return new r(E, k, m);
          }, d.string.lowerFirst)), m.documentation && (a(this, "documentation", l.documentation), a(this, "documentationUrl", l.documentationUrl)), a(this, "awsQueryCompatible", l.metadata.awsQueryCompatible);
        };
      }, { "../../apis/metadata.json": 31, "../util": 130, "./collection": 72, "./operation": 73, "./paginator": 74, "./resource_waiter": 75, "./shape": 76 }], 75: [function(_, U, L) {
        var h = _("../util"), p = h.property;
        U.exports = function(c, o, r) {
          r = r || {}, p(this, "name", c), p(this, "api", r.api, !1), o.operation && p(this, "operation", h.string.lowerFirst(o.operation));
          var s = this;
          ["type", "description", "delay", "maxAttempts", "acceptors"].forEach(function(d) {
            var a = o[d];
            a && p(s, d, a);
          });
        };
      }, { "../util": 130 }], 74: [function(_, U, L) {
        var h = _("../util").property;
        U.exports = function(p, c) {
          h(this, "inputToken", c.input_token), h(this, "limitKey", c.limit_key), h(this, "moreResults", c.more_results), h(this, "outputToken", c.output_token), h(this, "resultKey", c.result_key);
        };
      }, { "../util": 130 }], 73: [function(_, U, L) {
        var h = _("./shape"), p = _("../util"), c = p.property, o = p.memoizedProperty;
        U.exports = function(r, s, d) {
          var a = this;
          d = d || {}, c(this, "name", s.name || r), c(this, "api", d.api, !1), s.http = s.http || {}, c(this, "endpoint", s.endpoint), c(this, "httpMethod", s.http.method || "POST"), c(this, "httpPath", s.http.requestUri || "/"), c(this, "authtype", s.authtype || ""), c(this, "endpointDiscoveryRequired", s.endpointdiscovery ? s.endpointdiscovery.required ? "REQUIRED" : "OPTIONAL" : "NULL");
          var u = s.httpChecksumRequired || s.httpChecksum && s.httpChecksum.requestChecksumRequired;
          c(this, "httpChecksumRequired", u, !1), o(this, "input", function() {
            return s.input ? h.create(s.input, d) : new h.create({ type: "structure" }, d);
          }), o(this, "output", function() {
            return s.output ? h.create(s.output, d) : new h.create({ type: "structure" }, d);
          }), o(this, "errors", function() {
            var l = [];
            if (!s.errors)
              return null;
            for (var m = 0; m < s.errors.length; m++)
              l.push(h.create(s.errors[m], d));
            return l;
          }), o(this, "paginator", function() {
            return d.api.paginators[r];
          }), d.documentation && (c(this, "documentation", s.documentation), c(this, "documentationUrl", s.documentationUrl)), o(this, "idempotentMembers", function() {
            var l = [], m = a.input, v = m.members;
            if (!m.members)
              return l;
            for (var C in v)
              v.hasOwnProperty(C) && v[C].isIdempotent === !0 && l.push(C);
            return l;
          }), o(this, "hasEventOutput", function() {
            return function(l) {
              var m = l.members, v = l.payload;
              if (!l.members)
                return !1;
              if (v)
                return m[v].isEventStream;
              for (var C in m)
                if (!m.hasOwnProperty(C) && m[C].isEventStream === !0)
                  return !0;
              return !1;
            }(a.output);
          });
        };
      }, { "../util": 130, "./shape": 76 }], 70: [function(_, U, L) {
        (function(h) {
          (function() {
            var p = [`We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023.
  `, "Please migrate your code to use AWS SDK for JavaScript (v3).", "For more information, check the migration guide at https://a.co/7PzMCcy"].join(`
  `);
            U.exports = { suppress: !1 }, setTimeout(function() {
              U.exports.suppress || h !== void 0 && (typeof h.env == "object" && h.env.AWS_EXECUTION_ENV !== void 0 && h.env.AWS_EXECUTION_ENV.indexOf("AWS_Lambda_") === 0 || typeof h.env == "object" && h.env.AWS_SDK_JS_SUPPRESS_MAINTENANCE_MODE_MESSAGE !== void 0 || typeof h.emitWarning == "function" && h.emitWarning(p, { type: "NOTE" }));
            }, 0);
          }).call(this);
        }).call(this, _("_process"));
      }, { _process: 11 }], 66: [function(_, U, L) {
        var h = _("./core"), p = h.util.inherit;
        h.Endpoint = p({ constructor: function(c, o) {
          if (h.util.hideProperties(this, ["slashes", "auth", "hash", "search", "query"]), c == null)
            throw new Error("Invalid endpoint: " + c);
          if (typeof c != "string")
            return h.util.copy(c);
          c.match(/^http/) || (c = ((o && o.sslEnabled !== void 0 ? o.sslEnabled : h.config.sslEnabled) ? "https" : "http") + "://" + c), h.util.update(this, h.util.urlParse(c)), this.port ? this.port = parseInt(this.port, 10) : this.port = this.protocol === "https:" ? 443 : 80;
        } }), h.HttpRequest = p({ constructor: function(c, o) {
          c = new h.Endpoint(c), this.method = "POST", this.path = c.path || "/", this.headers = {}, this.body = "", this.endpoint = c, this.region = o, this._userAgent = "", this.setUserAgent();
        }, setUserAgent: function() {
          this._userAgent = this.headers[this.getUserAgentHeaderName()] = h.util.userAgent();
        }, getUserAgentHeaderName: function() {
          return (h.util.isBrowser() ? "X-Amz-" : "") + "User-Agent";
        }, appendToUserAgent: function(c) {
          typeof c == "string" && c && (this._userAgent += " " + c), this.headers[this.getUserAgentHeaderName()] = this._userAgent;
        }, getUserAgent: function() {
          return this._userAgent;
        }, pathname: function() {
          return this.path.split("?", 1)[0];
        }, search: function() {
          var c = this.path.split("?", 2)[1];
          return c ? (c = h.util.queryStringParse(c), h.util.queryParamsToString(c)) : "";
        }, updateEndpoint: function(c) {
          var o = new h.Endpoint(c);
          this.endpoint = o, this.path = o.path || "/", this.headers.Host && (this.headers.Host = o.host);
        } }), h.HttpResponse = p({ constructor: function() {
          this.statusCode = void 0, this.headers = {}, this.body = void 0, this.streaming = !1, this.stream = null;
        }, createUnbufferedStream: function() {
          return this.streaming = !0, this.stream;
        } }), h.HttpClient = p({}), h.HttpClient.getInstance = function() {
          return this.singleton === void 0 && (this.singleton = new this()), this.singleton;
        };
      }, { "./core": 44 }], 65: [function(_, U, L) {
        (function(h) {
          (function() {
            function p(d) {
              if (!d.service.api.operations)
                return "";
              var a = d.service.api.operations[d.operation];
              return a ? a.authtype : "";
            }
            function c(d) {
              var a = d.service;
              return a.config.signatureVersion ? a.config.signatureVersion : a.api.signatureVersion ? a.api.signatureVersion : p(d);
            }
            var o = _("./core"), r = _("./sequential_executor"), s = _("./discover_endpoint").discoverEndpoint;
            o.EventListeners = { Core: {} }, o.EventListeners = { Core: new r().addNamedListeners(function(d, a) {
              a("VALIDATE_CREDENTIALS", "validate", function(u, l) {
                return u.service.api.signatureVersion || u.service.config.signatureVersion ? c(u) === "bearer" ? void u.service.config.getToken(function(m) {
                  m && (u.response.error = o.util.error(m, { code: "TokenError" })), l();
                }) : void u.service.config.getCredentials(function(m) {
                  m && (u.response.error = o.util.error(m, { code: "CredentialsError", message: "Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1" })), l();
                }) : l();
              }), d("VALIDATE_REGION", "validate", function(u) {
                if (!u.service.isGlobalEndpoint) {
                  var l = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);
                  u.service.config.region ? l.test(u.service.config.region) || (u.response.error = o.util.error(new Error(), { code: "ConfigError", message: "Invalid region in config" })) : u.response.error = o.util.error(new Error(), { code: "ConfigError", message: "Missing region in config" });
                }
              }), d("BUILD_IDEMPOTENCY_TOKENS", "validate", function(u) {
                if (u.service.api.operations) {
                  var l = u.service.api.operations[u.operation];
                  if (l) {
                    var m = l.idempotentMembers;
                    if (m.length) {
                      for (var v = o.util.copy(u.params), C = 0, E = m.length; C < E; C++)
                        v[m[C]] || (v[m[C]] = o.util.uuid.v4());
                      u.params = v;
                    }
                  }
                }
              }), d("VALIDATE_PARAMETERS", "validate", function(u) {
                if (u.service.api.operations) {
                  var l = u.service.api.operations[u.operation].input, m = u.service.config.paramValidation;
                  new o.ParamValidator(m).validate(l, u.params);
                }
              }), d("COMPUTE_CHECKSUM", "afterBuild", function(u) {
                if (u.service.api.operations) {
                  var l = u.service.api.operations[u.operation];
                  if (l) {
                    var m = u.httpRequest.body, v = m && (o.util.Buffer.isBuffer(m) || typeof m == "string"), C = u.httpRequest.headers;
                    if (l.httpChecksumRequired && u.service.config.computeChecksums && v && !C["Content-MD5"]) {
                      var E = o.util.crypto.md5(m, "base64");
                      C["Content-MD5"] = E;
                    }
                  }
                }
              }), a("COMPUTE_SHA256", "afterBuild", function(u, l) {
                if (u.haltHandlersOnError(), u.service.api.operations) {
                  var m = u.service.api.operations[u.operation], v = m ? m.authtype : "";
                  if (!u.service.api.signatureVersion && !v && !u.service.config.signatureVersion)
                    return l();
                  if (u.service.getSignerClass(u) === o.Signers.V4) {
                    var C = u.httpRequest.body || "";
                    if (v.indexOf("unsigned-body") >= 0)
                      return u.httpRequest.headers["X-Amz-Content-Sha256"] = "UNSIGNED-PAYLOAD", l();
                    o.util.computeSha256(C, function(E, k) {
                      E ? l(E) : (u.httpRequest.headers["X-Amz-Content-Sha256"] = k, l());
                    });
                  } else
                    l();
                }
              }), d("SET_CONTENT_LENGTH", "afterBuild", function(u) {
                var l = p(u), m = o.util.getRequestPayloadShape(u);
                if (u.httpRequest.headers["Content-Length"] === void 0)
                  try {
                    var v = o.util.string.byteLength(u.httpRequest.body);
                    u.httpRequest.headers["Content-Length"] = v;
                  } catch (C) {
                    if (m && m.isStreaming) {
                      if (m.requiresLength)
                        throw C;
                      if (l.indexOf("unsigned-body") >= 0)
                        return void (u.httpRequest.headers["Transfer-Encoding"] = "chunked");
                      throw C;
                    }
                    throw C;
                  }
              }), d("SET_HTTP_HOST", "afterBuild", function(u) {
                u.httpRequest.headers.Host = u.httpRequest.endpoint.host;
              }), d("SET_TRACE_ID", "afterBuild", function(u) {
                if (o.util.isNode() && !Object.hasOwnProperty.call(u.httpRequest.headers, "X-Amzn-Trace-Id")) {
                  var l = h.env.AWS_LAMBDA_FUNCTION_NAME, m = h.env._X_AMZN_TRACE_ID;
                  typeof l == "string" && l.length > 0 && typeof m == "string" && m.length > 0 && (u.httpRequest.headers["X-Amzn-Trace-Id"] = m);
                }
              }), d("RESTART", "restart", function() {
                var u = this.response.error;
                u && u.retryable && (this.httpRequest = new o.HttpRequest(this.service.endpoint, this.service.region), this.response.retryCount < this.service.config.maxRetries ? this.response.retryCount++ : this.response.error = null);
              }), a("DISCOVER_ENDPOINT", "sign", s, !0), a("SIGN", "sign", function(u, l) {
                var m = u.service, v = c(u);
                if (!v || v.length === 0)
                  return l();
                v === "bearer" ? m.config.getToken(function(C, E) {
                  if (C)
                    return u.response.error = C, l();
                  try {
                    new (m.getSignerClass(u))(u.httpRequest).addAuthorization(E);
                  } catch (k) {
                    u.response.error = k;
                  }
                  l();
                }) : m.config.getCredentials(function(C, E) {
                  if (C)
                    return u.response.error = C, l();
                  try {
                    var k = m.getSkewCorrectedDate(), O = m.getSignerClass(u), P = (u.service.api.operations || {})[u.operation], z = new O(u.httpRequest, m.getSigningName(u), { signatureCache: m.config.signatureCache, operation: P, signatureVersion: m.api.signatureVersion });
                    z.setServiceClientId(m._clientId), delete u.httpRequest.headers.Authorization, delete u.httpRequest.headers.Date, delete u.httpRequest.headers["X-Amz-Date"], z.addAuthorization(E, k), u.signedAt = k;
                  } catch (R) {
                    u.response.error = R;
                  }
                  l();
                });
              }), d("VALIDATE_RESPONSE", "validateResponse", function(u) {
                this.service.successfulResponse(u, this) ? (u.data = {}, u.error = null) : (u.data = null, u.error = o.util.error(new Error(), { code: "UnknownError", message: "An unknown error occurred." }));
              }), d("ERROR", "error", function(u, l) {
                if (l.request.service.api.awsQueryCompatible) {
                  var m = l.httpResponse.headers, v = m ? m["x-amzn-query-error"] : void 0;
                  v && v.includes(";") && (l.error.code = v.split(";")[0]);
                }
              }, !0), a("SEND", "send", function(u, l) {
                function m(E) {
                  u.httpResponse.stream = E;
                  var k = u.request.httpRequest.stream, O = u.request.service, P = O.api, z = u.request.operation, R = P.operations[z] || {};
                  E.on("headers", function(q, F, ae) {
                    if (u.request.emit("httpHeaders", [q, F, u, ae]), !u.httpResponse.streaming)
                      if (o.HttpClient.streamsApiVersion === 2) {
                        if (R.hasEventOutput && O.successfulResponse(u))
                          return u.request.emit("httpDone"), void l();
                        E.on("readable", function() {
                          var Ae = E.read();
                          Ae !== null && u.request.emit("httpData", [Ae, u]);
                        });
                      } else
                        E.on("data", function(Ae) {
                          u.request.emit("httpData", [Ae, u]);
                        });
                  }), E.on("end", function() {
                    if (!k || !k.didCallback) {
                      if (o.HttpClient.streamsApiVersion === 2 && R.hasEventOutput && O.successfulResponse(u))
                        return;
                      u.request.emit("httpDone"), l();
                    }
                  });
                }
                function v(E) {
                  if (E.code !== "RequestAbortedError") {
                    var k = E.code === "TimeoutError" ? E.code : "NetworkingError";
                    E = o.util.error(E, { code: k, region: u.request.httpRequest.region, hostname: u.request.httpRequest.endpoint.hostname, retryable: !0 });
                  }
                  u.error = E, u.request.emit("httpError", [u.error, u], function() {
                    l();
                  });
                }
                function C() {
                  var E = o.HttpClient.getInstance(), k = u.request.service.config.httpOptions || {};
                  try {
                    (function(O) {
                      O.on("sendProgress", function(P) {
                        u.request.emit("httpUploadProgress", [P, u]);
                      }), O.on("receiveProgress", function(P) {
                        u.request.emit("httpDownloadProgress", [P, u]);
                      });
                    })(E.handleRequest(u.request.httpRequest, k, m, v));
                  } catch (O) {
                    v(O);
                  }
                }
                u.httpResponse._abortCallback = l, u.error = null, u.data = null, (u.request.service.getSkewCorrectedDate() - this.signedAt) / 1e3 >= 600 ? this.emit("sign", [this], function(E) {
                  E ? l(E) : C();
                }) : C();
              }), d("HTTP_HEADERS", "httpHeaders", function(u, l, m, v) {
                m.httpResponse.statusCode = u, m.httpResponse.statusMessage = v, m.httpResponse.headers = l, m.httpResponse.body = o.util.buffer.toBuffer(""), m.httpResponse.buffers = [], m.httpResponse.numBytes = 0;
                var C = l.date || l.Date, E = m.request.service;
                if (C) {
                  var k = Date.parse(C);
                  E.config.correctClockSkew && E.isClockSkewed(k) && E.applyClockOffset(k);
                }
              }), d("HTTP_DATA", "httpData", function(u, l) {
                if (u) {
                  if (o.util.isNode()) {
                    l.httpResponse.numBytes += u.length;
                    var m = l.httpResponse.headers["content-length"], v = { loaded: l.httpResponse.numBytes, total: m };
                    l.request.emit("httpDownloadProgress", [v, l]);
                  }
                  l.httpResponse.buffers.push(o.util.buffer.toBuffer(u));
                }
              }), d("HTTP_DONE", "httpDone", function(u) {
                if (u.httpResponse.buffers && u.httpResponse.buffers.length > 0) {
                  var l = o.util.buffer.concat(u.httpResponse.buffers);
                  u.httpResponse.body = l;
                }
                delete u.httpResponse.numBytes, delete u.httpResponse.buffers;
              }), d("FINALIZE_ERROR", "retry", function(u) {
                u.httpResponse.statusCode && (u.error.statusCode = u.httpResponse.statusCode, u.error.retryable === void 0 && (u.error.retryable = this.service.retryableError(u.error, this)));
              }), d("INVALIDATE_CREDENTIALS", "retry", function(u) {
                if (u.error)
                  switch (u.error.code) {
                    case "RequestExpired":
                    case "ExpiredTokenException":
                    case "ExpiredToken":
                      u.error.retryable = !0, u.request.service.config.credentials.expired = !0;
                  }
              }), d("EXPIRED_SIGNATURE", "retry", function(u) {
                var l = u.error;
                l && typeof l.code == "string" && typeof l.message == "string" && l.code.match(/Signature/) && l.message.match(/expired/) && (u.error.retryable = !0);
              }), d("CLOCK_SKEWED", "retry", function(u) {
                u.error && this.service.clockSkewError(u.error) && this.service.config.correctClockSkew && (u.error.retryable = !0);
              }), d("REDIRECT", "retry", function(u) {
                u.error && u.error.statusCode >= 300 && u.error.statusCode < 400 && u.httpResponse.headers.location && (this.httpRequest.endpoint = new o.Endpoint(u.httpResponse.headers.location), this.httpRequest.headers.Host = this.httpRequest.endpoint.host, u.error.redirect = !0, u.error.retryable = !0);
              }), d("RETRY_CHECK", "retry", function(u) {
                u.error && (u.error.redirect && u.redirectCount < u.maxRedirects ? u.error.retryDelay = 0 : u.retryCount < u.maxRetries && (u.error.retryDelay = this.service.retryDelays(u.retryCount, u.error) || 0));
              }), a("RESET_RETRY_STATE", "afterRetry", function(u, l) {
                var m, v = !1;
                u.error && (m = u.error.retryDelay || 0, u.error.retryable && u.retryCount < u.maxRetries ? (u.retryCount++, v = !0) : u.error.redirect && u.redirectCount < u.maxRedirects && (u.redirectCount++, v = !0)), v && m >= 0 ? (u.error = null, setTimeout(l, m)) : l();
              });
            }), CorePost: new r().addNamedListeners(function(d) {
              d("EXTRACT_REQUEST_ID", "extractData", o.util.extractRequestId), d("EXTRACT_REQUEST_ID", "extractError", o.util.extractRequestId), d("ENOTFOUND_ERROR", "httpError", function(a) {
                if (a.code === "NetworkingError" && function(l) {
                  return l.errno === "ENOTFOUND" || typeof l.errno == "number" && typeof o.util.getSystemErrorName == "function" && ["EAI_NONAME", "EAI_NODATA"].indexOf(o.util.getSystemErrorName(l.errno) >= 0);
                }(a)) {
                  var u = "Inaccessible host: `" + a.hostname + "' at port `" + a.port + "'. This service may not be available in the `" + a.region + "' region.";
                  this.response.error = o.util.error(new Error(u), { code: "UnknownEndpoint", region: a.region, hostname: a.hostname, retryable: !0, originalError: a });
                }
              });
            }), Logger: new r().addNamedListeners(function(d) {
              d("LOG_REQUEST", "complete", function(a) {
                function u(C, E) {
                  if (!E)
                    return E;
                  if (C.isSensitive)
                    return "***SensitiveInformation***";
                  switch (C.type) {
                    case "structure":
                      var k = {};
                      return o.util.each(E, function(z, R) {
                        Object.prototype.hasOwnProperty.call(C.members, z) ? k[z] = u(C.members[z], R) : k[z] = R;
                      }), k;
                    case "list":
                      var O = [];
                      return o.util.arrayEach(E, function(z, R) {
                        O.push(u(C.member, z));
                      }), O;
                    case "map":
                      var P = {};
                      return o.util.each(E, function(z, R) {
                        P[z] = u(C.value, R);
                      }), P;
                    default:
                      return E;
                  }
                }
                var l = a.request, m = l.service.config.logger;
                if (m) {
                  var v = function() {
                    var C = (a.request.service.getSkewCorrectedDate().getTime() - l.startTime.getTime()) / 1e3, E = !!m.isTTY, k = a.httpResponse.statusCode, O = l.params;
                    l.service.api.operations && l.service.api.operations[l.operation] && l.service.api.operations[l.operation].input && (O = u(l.service.api.operations[l.operation].input, l.params));
                    var P = _("util").inspect(O, !0, null), z = "";
                    return E && (z += "\x1B[33m"), z += "[AWS " + l.service.serviceIdentifier + " " + k, z += " " + C.toString() + "s " + a.retryCount + " retries]", E && (z += "\x1B[0;1m"), z += " " + o.util.string.lowerFirst(l.operation), z += "(" + P + ")", E && (z += "\x1B[0m"), z;
                  }();
                  typeof m.log == "function" ? m.log(v) : typeof m.write == "function" && m.write(v + `
  `);
                }
              });
            }), Json: new r().addNamedListeners(function(d) {
              var a = _("./protocol/json");
              d("BUILD", "build", a.buildRequest), d("EXTRACT_DATA", "extractData", a.extractData), d("EXTRACT_ERROR", "extractError", a.extractError);
            }), Rest: new r().addNamedListeners(function(d) {
              var a = _("./protocol/rest");
              d("BUILD", "build", a.buildRequest), d("EXTRACT_DATA", "extractData", a.extractData), d("EXTRACT_ERROR", "extractError", a.extractError);
            }), RestJson: new r().addNamedListeners(function(d) {
              var a = _("./protocol/rest_json");
              d("BUILD", "build", a.buildRequest), d("EXTRACT_DATA", "extractData", a.extractData), d("EXTRACT_ERROR", "extractError", a.extractError), d("UNSET_CONTENT_LENGTH", "afterBuild", a.unsetContentLength);
            }), RestXml: new r().addNamedListeners(function(d) {
              var a = _("./protocol/rest_xml");
              d("BUILD", "build", a.buildRequest), d("EXTRACT_DATA", "extractData", a.extractData), d("EXTRACT_ERROR", "extractError", a.extractError);
            }), Query: new r().addNamedListeners(function(d) {
              var a = _("./protocol/query");
              d("BUILD", "build", a.buildRequest), d("EXTRACT_DATA", "extractData", a.extractData), d("EXTRACT_ERROR", "extractError", a.extractError);
            }) };
          }).call(this);
        }).call(this, _("_process"));
      }, { "./core": 44, "./discover_endpoint": 52, "./protocol/json": 80, "./protocol/query": 81, "./protocol/rest": 82, "./protocol/rest_json": 83, "./protocol/rest_xml": 84, "./sequential_executor": 95, _process: 11, util: 5 }], 95: [function(_, U, L) {
        var h = _("./core");
        h.SequentialExecutor = h.util.inherit({ constructor: function() {
          this._events = {};
        }, listeners: function(p) {
          return this._events[p] ? this._events[p].slice(0) : [];
        }, on: function(p, c, o) {
          return this._events[p] ? o ? this._events[p].unshift(c) : this._events[p].push(c) : this._events[p] = [c], this;
        }, onAsync: function(p, c, o) {
          return c._isAsync = !0, this.on(p, c, o);
        }, removeListener: function(p, c) {
          var o = this._events[p];
          if (o) {
            for (var r = o.length, s = -1, d = 0; d < r; ++d)
              o[d] === c && (s = d);
            s > -1 && o.splice(s, 1);
          }
          return this;
        }, removeAllListeners: function(p) {
          return p ? delete this._events[p] : this._events = {}, this;
        }, emit: function(p, c, o) {
          o || (o = function() {
          });
          var r = this.listeners(p), s = r.length;
          return this.callListeners(r, c, o), s > 0;
        }, callListeners: function(p, c, o, r) {
          function s(l) {
            if (l && (a = h.util.error(a || new Error(), l), d._haltHandlersOnError))
              return o.call(d, a);
            d.callListeners(p, c, o, a);
          }
          for (var d = this, a = r || null; p.length > 0; ) {
            var u = p.shift();
            if (u._isAsync)
              return void u.apply(d, c.concat([s]));
            try {
              u.apply(d, c);
            } catch (l) {
              a = h.util.error(a || new Error(), l);
            }
            if (a && d._haltHandlersOnError)
              return void o.call(d, a);
          }
          o.call(d, a);
        }, addListeners: function(p) {
          var c = this;
          return p._events && (p = p._events), h.util.each(p, function(o, r) {
            typeof r == "function" && (r = [r]), h.util.arrayEach(r, function(s) {
              c.on(o, s);
            });
          }), c;
        }, addNamedListener: function(p, c, o, r) {
          return this[p] = o, this.addListener(c, o, r), this;
        }, addNamedAsyncListener: function(p, c, o, r) {
          return o._isAsync = !0, this.addNamedListener(p, c, o, r);
        }, addNamedListeners: function(p) {
          var c = this;
          return p(function() {
            c.addNamedListener.apply(c, arguments);
          }, function() {
            c.addNamedAsyncListener.apply(c, arguments);
          }), this;
        } }), h.SequentialExecutor.prototype.addListener = h.SequentialExecutor.prototype.on, U.exports = h.SequentialExecutor;
      }, { "./core": 44 }], 84: [function(_, U, L) {
        var h = _("../core"), p = _("../util"), c = _("./rest");
        U.exports = { buildRequest: function(o) {
          c.buildRequest(o), ["GET", "HEAD"].indexOf(o.httpRequest.method) < 0 && function(r) {
            var s = r.service.api.operations[r.operation].input, d = new h.XML.Builder(), a = r.params, u = s.payload;
            if (u) {
              var l = s.members[u];
              if ((a = a[u]) === void 0)
                return;
              if (l.type === "structure") {
                var m = l.name;
                r.httpRequest.body = d.toXML(a, l, m, !0);
              } else
                r.httpRequest.body = a;
            } else
              r.httpRequest.body = d.toXML(a, s, s.name || s.shape || p.string.upperFirst(r.operation) + "Request");
          }(o);
        }, extractError: function(o) {
          var r;
          c.extractError(o);
          try {
            r = new h.XML.Parser().parse(o.httpResponse.body.toString());
          } catch {
            r = { Code: o.httpResponse.statusCode, Message: o.httpResponse.statusMessage };
          }
          r.Errors && (r = r.Errors), r.Error && (r = r.Error), r.Code ? o.error = p.error(new Error(), { code: r.Code, message: r.Message }) : o.error = p.error(new Error(), { code: o.httpResponse.statusCode, message: null });
        }, extractData: function(o) {
          c.extractData(o);
          var r, s = o.request, d = o.httpResponse.body, a = s.service.api.operations[s.operation], u = a.output, l = (a.hasEventOutput, u.payload);
          if (l) {
            var m = u.members[l];
            m.isEventStream ? (r = new h.XML.Parser(), o.data[l] = p.createEventStream(h.HttpClient.streamsApiVersion === 2 ? o.httpResponse.stream : o.httpResponse.body, r, m)) : m.type === "structure" ? (r = new h.XML.Parser(), o.data[l] = r.parse(d.toString(), m)) : m.type === "binary" || m.isStreaming ? o.data[l] = d : o.data[l] = m.toType(d);
          } else if (d.length > 0) {
            var v = (r = new h.XML.Parser()).parse(d.toString(), u);
            p.update(o.data, v);
          }
        } };
      }, { "../core": 44, "../util": 130, "./rest": 82 }], 83: [function(_, U, L) {
        function h(a, u) {
          if (!a.httpRequest.headers["Content-Type"]) {
            var l = u ? "binary/octet-stream" : "application/json";
            a.httpRequest.headers["Content-Type"] = l;
          }
        }
        var p = _("../util"), c = _("./rest"), o = _("./json"), r = _("../json/builder"), s = _("../json/parser"), d = ["GET", "HEAD", "DELETE"];
        U.exports = { buildRequest: function(a) {
          c.buildRequest(a), d.indexOf(a.httpRequest.method) < 0 && function(u) {
            var l = new r(), m = u.service.api.operations[u.operation].input;
            if (m.payload) {
              var v, C = m.members[m.payload];
              v = u.params[m.payload], C.type === "structure" ? (u.httpRequest.body = l.build(v || {}, C), h(u)) : v !== void 0 && (u.httpRequest.body = v, (C.type === "binary" || C.isStreaming) && h(u, !0));
            } else
              u.httpRequest.body = l.build(u.params, m), h(u);
          }(a);
        }, extractError: function(a) {
          o.extractError(a);
        }, extractData: function(a) {
          c.extractData(a);
          var u = a.request, l = u.service.api.operations[u.operation], m = u.service.api.operations[u.operation].output || {};
          if (l.hasEventOutput, m.payload) {
            var v = m.members[m.payload], C = a.httpResponse.body;
            if (v.isEventStream)
              E = new s(), a.data[payload] = p.createEventStream(AWS.HttpClient.streamsApiVersion === 2 ? a.httpResponse.stream : C, E, v);
            else if (v.type === "structure" || v.type === "list") {
              var E = new s();
              a.data[m.payload] = E.parse(C, v);
            } else
              v.type === "binary" || v.isStreaming ? a.data[m.payload] = C : a.data[m.payload] = v.toType(C);
          } else {
            var k = a.data;
            o.extractData(a), a.data = p.merge(k, a.data);
          }
        }, unsetContentLength: function(a) {
          p.getRequestPayloadShape(a) === void 0 && d.indexOf(a.httpRequest.method) >= 0 && delete a.httpRequest.headers["Content-Length"];
        } };
      }, { "../json/builder": 68, "../json/parser": 69, "../util": 130, "./json": 80, "./rest": 82 }], 82: [function(_, U, L) {
        function h(o, r, s, d) {
          var a = [o, r].join("/");
          a = a.replace(/\/+/g, "/");
          var u = {}, l = !1;
          if (p.each(s.members, function(v, C) {
            var E = d[v];
            if (E != null)
              if (C.location === "uri") {
                var k = new RegExp("\\{" + C.name + "(\\+)?\\}");
                a = a.replace(k, function(O, P) {
                  return (P ? p.uriEscapePath : p.uriEscape)(String(E));
                });
              } else
                C.location === "querystring" && (l = !0, C.type === "list" ? u[C.name] = E.map(function(O) {
                  return p.uriEscape(C.member.toWireFormat(O).toString());
                }) : C.type === "map" ? p.each(E, function(O, P) {
                  Array.isArray(P) ? u[O] = P.map(function(z) {
                    return p.uriEscape(String(z));
                  }) : u[O] = p.uriEscape(String(P));
                }) : u[C.name] = p.uriEscape(C.toWireFormat(E).toString()));
          }), l) {
            a += a.indexOf("?") >= 0 ? "&" : "?";
            var m = [];
            p.arrayEach(Object.keys(u).sort(), function(v) {
              Array.isArray(u[v]) || (u[v] = [u[v]]);
              for (var C = 0; C < u[v].length; C++)
                m.push(p.uriEscape(String(v)) + "=" + u[v][C]);
            }), a += m.join("&");
          }
          return a;
        }
        var p = _("../util"), c = _("./helpers").populateHostPrefix;
        U.exports = { buildRequest: function(o) {
          (function(r) {
            r.httpRequest.method = r.service.api.operations[r.operation].httpMethod;
          })(o), function(r) {
            var s = r.service.api.operations[r.operation], d = s.input, a = h(r.httpRequest.endpoint.path, s.httpPath, d, r.params);
            r.httpRequest.path = a;
          }(o), function(r) {
            var s = r.service.api.operations[r.operation];
            p.each(s.input.members, function(d, a) {
              var u = r.params[d];
              u != null && (a.location === "headers" && a.type === "map" ? p.each(u, function(l, m) {
                r.httpRequest.headers[a.name + l] = m;
              }) : a.location === "header" && (u = a.toWireFormat(u).toString(), a.isJsonValue && (u = p.base64.encode(u)), r.httpRequest.headers[a.name] = u));
            });
          }(o), c(o);
        }, extractError: function() {
        }, extractData: function(o) {
          var r = o.request, s = {}, d = o.httpResponse, a = r.service.api.operations[r.operation].output, u = {};
          p.each(d.headers, function(l, m) {
            u[l.toLowerCase()] = m;
          }), p.each(a.members, function(l, m) {
            var v = (m.name || l).toLowerCase();
            if (m.location === "headers" && m.type === "map") {
              s[l] = {};
              var C = m.isLocationName ? m.name : "", E = new RegExp("^" + C + "(.+)", "i");
              p.each(d.headers, function(O, P) {
                var z = O.match(E);
                z !== null && (s[l][z[1]] = P);
              });
            } else if (m.location === "header") {
              if (u[v] !== void 0) {
                var k = m.isJsonValue ? p.base64.decode(u[v]) : u[v];
                s[l] = m.toType(k);
              }
            } else
              m.location === "statusCode" && (s[l] = parseInt(d.statusCode, 10));
          }), o.data = s;
        }, generateURI: h };
      }, { "../util": 130, "./helpers": 79 }], 81: [function(_, U, L) {
        var h = _("../core"), p = _("../util"), c = _("../query/query_param_serializer"), o = _("../model/shape"), r = _("./helpers").populateHostPrefix;
        U.exports = { buildRequest: function(s) {
          var d = s.service.api.operations[s.operation], a = s.httpRequest;
          a.headers["Content-Type"] = "application/x-www-form-urlencoded; charset=utf-8", a.params = { Version: s.service.api.apiVersion, Action: d.name }, new c().serialize(s.params, d.input, function(u, l) {
            a.params[u] = l;
          }), a.body = p.queryParamsToString(a.params), r(s);
        }, extractError: function(s) {
          var d, a = s.httpResponse.body.toString();
          if (a.match("<UnknownOperationException"))
            d = { Code: "UnknownOperation", Message: "Unknown operation " + s.request.operation };
          else
            try {
              d = new h.XML.Parser().parse(a);
            } catch {
              d = { Code: s.httpResponse.statusCode, Message: s.httpResponse.statusMessage };
            }
          d.requestId && !s.requestId && (s.requestId = d.requestId), d.Errors && (d = d.Errors), d.Error && (d = d.Error), d.Code ? s.error = p.error(new Error(), { code: d.Code, message: d.Message }) : s.error = p.error(new Error(), { code: s.httpResponse.statusCode, message: null });
        }, extractData: function(s) {
          var d = s.request, a = d.service.api.operations[d.operation].output || {}, u = a;
          if (u.resultWrapper) {
            var l = o.create({ type: "structure" });
            l.members[u.resultWrapper] = a, l.memberNames = [u.resultWrapper], p.property(a, "name", a.resultWrapper), a = l;
          }
          var m = new h.XML.Parser();
          if (a && a.members && !a.members._XAMZRequestId) {
            var v = o.create({ type: "string" }, { api: { protocol: "query" } }, "requestId");
            a.members._XAMZRequestId = v;
          }
          var C = m.parse(s.httpResponse.body.toString(), a);
          s.requestId = C._XAMZRequestId || C.requestId, C._XAMZRequestId && delete C._XAMZRequestId, u.resultWrapper && C[u.resultWrapper] && (p.update(C, C[u.resultWrapper]), delete C[u.resultWrapper]), s.data = C;
        } };
      }, { "../core": 44, "../model/shape": 76, "../query/query_param_serializer": 85, "../util": 130, "./helpers": 79 }], 85: [function(_, U, L) {
        function h() {
        }
        function p(s) {
          return s.isQueryName || s.api.protocol !== "ec2" ? s.name : s.name[0].toUpperCase() + s.name.substr(1);
        }
        function c(s, d, a, u) {
          r.each(a.members, function(l, m) {
            var v = d[l];
            if (v != null) {
              var C = p(m);
              o(C = s ? s + "." + C : C, v, m, u);
            }
          });
        }
        function o(s, d, a, u) {
          d != null && (a.type === "structure" ? c(s, d, a, u) : a.type === "list" ? function(l, m, v, C) {
            var E = v.member || {};
            m.length !== 0 ? r.arrayEach(m, function(k, O) {
              var P = "." + (O + 1);
              if (v.api.protocol === "ec2")
                P += "";
              else if (v.flattened) {
                if (E.name) {
                  var z = l.split(".");
                  z.pop(), z.push(p(E)), l = z.join(".");
                }
              } else
                P = "." + (E.name ? E.name : "member") + P;
              o(l + P, k, E, C);
            }) : C.call(this, l, null);
          }(s, d, a, u) : a.type === "map" ? function(l, m, v, C) {
            var E = 1;
            r.each(m, function(k, O) {
              var P = (v.flattened ? "." : ".entry.") + E++ + ".", z = P + (v.key.name || "key"), R = P + (v.value.name || "value");
              o(l + z, k, v.key, C), o(l + R, O, v.value, C);
            });
          }(s, d, a, u) : u(s, a.toWireFormat(d).toString()));
        }
        var r = _("../util");
        h.prototype.serialize = function(s, d, a) {
          c("", s, d, a);
        }, U.exports = h;
      }, { "../util": 130 }], 76: [function(_, U, L) {
        function h(E, k, O) {
          O != null && C.property.apply(this, arguments);
        }
        function p(E, k) {
          E.constructor.prototype[k] || C.memoizedProperty.apply(this, arguments);
        }
        function c(E, k, O) {
          k = k || {}, h(this, "shape", E.shape), h(this, "api", k.api, !1), h(this, "type", E.type), h(this, "enum", E.enum), h(this, "min", E.min), h(this, "max", E.max), h(this, "pattern", E.pattern), h(this, "location", E.location || this.location || "body"), h(this, "name", this.name || E.xmlName || E.queryName || E.locationName || O), h(this, "isStreaming", E.streaming || this.isStreaming || !1), h(this, "requiresLength", E.requiresLength, !1), h(this, "isComposite", E.isComposite || !1), h(this, "isShape", !0, !1), h(this, "isQueryName", !!E.queryName, !1), h(this, "isLocationName", !!E.locationName, !1), h(this, "isIdempotent", E.idempotencyToken === !0), h(this, "isJsonValue", E.jsonvalue === !0), h(this, "isSensitive", E.sensitive === !0 || E.prototype && E.prototype.sensitive === !0), h(this, "isEventStream", !!E.eventstream, !1), h(this, "isEvent", !!E.event, !1), h(this, "isEventPayload", !!E.eventpayload, !1), h(this, "isEventHeader", !!E.eventheader, !1), h(this, "isTimestampFormatSet", !!E.timestampFormat || E.prototype && E.prototype.isTimestampFormatSet === !0, !1), h(this, "endpointDiscoveryId", !!E.endpointdiscoveryid, !1), h(this, "hostLabel", !!E.hostLabel, !1), k.documentation && (h(this, "documentation", E.documentation), h(this, "documentationUrl", E.documentationUrl)), E.xmlAttribute && h(this, "isXmlAttribute", E.xmlAttribute || !1), h(this, "defaultValue", null), this.toWireFormat = function(P) {
            return P ?? "";
          }, this.toType = function(P) {
            return P;
          };
        }
        function o(E) {
          c.apply(this, arguments), h(this, "isComposite", !0), E.flattened && h(this, "flattened", E.flattened || !1);
        }
        function r(E, k) {
          var O = this, P = null, z = !this.isShape;
          o.apply(this, arguments), z && (h(this, "defaultValue", function() {
            return {};
          }), h(this, "members", {}), h(this, "memberNames", []), h(this, "required", []), h(this, "isRequired", function() {
            return !1;
          }), h(this, "isDocument", !!E.document)), E.members && (h(this, "members", new v(E.members, k, function(R, q) {
            return c.create(q, k, R);
          })), p(this, "memberNames", function() {
            return E.xmlOrder || Object.keys(E.members);
          }), E.event && (p(this, "eventPayloadMemberName", function() {
            for (var R = O.members, q = O.memberNames, F = 0, ae = q.length; F < ae; F++)
              if (R[q[F]].isEventPayload)
                return q[F];
          }), p(this, "eventHeaderMemberNames", function() {
            for (var R = O.members, q = O.memberNames, F = [], ae = 0, Ae = q.length; ae < Ae; ae++)
              R[q[ae]].isEventHeader && F.push(q[ae]);
            return F;
          }))), E.required && (h(this, "required", E.required), h(this, "isRequired", function(R) {
            if (!P) {
              P = {};
              for (var q = 0; q < E.required.length; q++)
                P[E.required[q]] = !0;
            }
            return P[R];
          }, !1, !0)), h(this, "resultWrapper", E.resultWrapper || null), E.payload && h(this, "payload", E.payload), typeof E.xmlNamespace == "string" ? h(this, "xmlNamespaceUri", E.xmlNamespace) : typeof E.xmlNamespace == "object" && (h(this, "xmlNamespacePrefix", E.xmlNamespace.prefix), h(this, "xmlNamespaceUri", E.xmlNamespace.uri));
        }
        function s(E, k) {
          var O = this, P = !this.isShape;
          if (o.apply(this, arguments), P && h(this, "defaultValue", function() {
            return [];
          }), E.member && p(this, "member", function() {
            return c.create(E.member, k);
          }), this.flattened) {
            var z = this.name;
            p(this, "name", function() {
              return O.member.name || z;
            });
          }
        }
        function d(E, k) {
          var O = !this.isShape;
          o.apply(this, arguments), O && (h(this, "defaultValue", function() {
            return {};
          }), h(this, "key", c.create({ type: "string" }, k)), h(this, "value", c.create({ type: "string" }, k))), E.key && p(this, "key", function() {
            return c.create(E.key, k);
          }), E.value && p(this, "value", function() {
            return c.create(E.value, k);
          });
        }
        function a() {
          c.apply(this, arguments);
          var E = ["rest-xml", "query", "ec2"];
          this.toType = function(k) {
            return k = this.api && E.indexOf(this.api.protocol) > -1 ? k || "" : k, this.isJsonValue ? JSON.parse(k) : k && typeof k.toString == "function" ? k.toString() : k;
          }, this.toWireFormat = function(k) {
            return this.isJsonValue ? JSON.stringify(k) : k;
          };
        }
        function u() {
          c.apply(this, arguments), this.toType = function(E) {
            var k = C.base64.decode(E);
            if (this.isSensitive && C.isNode() && typeof C.Buffer.alloc == "function") {
              var O = C.Buffer.alloc(k.length, k);
              k.fill(0), k = O;
            }
            return k;
          }, this.toWireFormat = C.base64.encode;
        }
        function l() {
          u.apply(this, arguments);
        }
        function m() {
          c.apply(this, arguments), this.toType = function(E) {
            return typeof E == "boolean" ? E : E == null ? null : E === "true";
          };
        }
        var v = _("./collection"), C = _("../util");
        c.normalizedTypes = { character: "string", double: "float", long: "integer", short: "integer", biginteger: "integer", bigdecimal: "float", blob: "binary" }, c.types = { structure: r, list: s, map: d, boolean: m, timestamp: function(E) {
          var k = this;
          if (c.apply(this, arguments), E.timestampFormat)
            h(this, "timestampFormat", E.timestampFormat);
          else if (k.isTimestampFormatSet && this.timestampFormat)
            h(this, "timestampFormat", this.timestampFormat);
          else if (this.location === "header")
            h(this, "timestampFormat", "rfc822");
          else if (this.location === "querystring")
            h(this, "timestampFormat", "iso8601");
          else if (this.api)
            switch (this.api.protocol) {
              case "json":
              case "rest-json":
                h(this, "timestampFormat", "unixTimestamp");
                break;
              case "rest-xml":
              case "query":
              case "ec2":
                h(this, "timestampFormat", "iso8601");
            }
          this.toType = function(O) {
            return O == null ? null : typeof O.toUTCString == "function" ? O : typeof O == "string" || typeof O == "number" ? C.date.parseTimestamp(O) : null;
          }, this.toWireFormat = function(O) {
            return C.date.format(O, k.timestampFormat);
          };
        }, float: function() {
          c.apply(this, arguments), this.toType = function(E) {
            return E == null ? null : parseFloat(E);
          }, this.toWireFormat = this.toType;
        }, integer: function() {
          c.apply(this, arguments), this.toType = function(E) {
            return E == null ? null : parseInt(E, 10);
          }, this.toWireFormat = this.toType;
        }, string: a, base64: l, binary: u }, c.resolve = function(E, k) {
          if (E.shape) {
            var O = k.api.shapes[E.shape];
            if (!O)
              throw new Error("Cannot find shape reference: " + E.shape);
            return O;
          }
          return null;
        }, c.create = function(E, k, O) {
          if (E.isShape)
            return E;
          var P = c.resolve(E, k);
          if (P) {
            var z = Object.keys(E);
            k.documentation || (z = z.filter(function(F) {
              return !F.match(/documentation/);
            }));
            var R = function() {
              P.constructor.call(this, E, k, O);
            };
            return R.prototype = P, new R();
          }
          E.type || (E.members ? E.type = "structure" : E.member ? E.type = "list" : E.key ? E.type = "map" : E.type = "string");
          var q = E.type;
          if (c.normalizedTypes[E.type] && (E.type = c.normalizedTypes[E.type]), c.types[E.type])
            return new c.types[E.type](E, k, O);
          throw new Error("Unrecognized shape type: " + q);
        }, c.shapes = { StructureShape: r, ListShape: s, MapShape: d, StringShape: a, BooleanShape: m, Base64Shape: l }, U.exports = c;
      }, { "../util": 130, "./collection": 72 }], 72: [function(_, U, L) {
        function h(c, o, r, s) {
          p(this, s(c), function() {
            return r(c, o);
          });
        }
        var p = _("../util").memoizedProperty;
        U.exports = function(c, o, r, s, d) {
          for (var a in s = s || String, c)
            Object.prototype.hasOwnProperty.call(c, a) && (h.call(this, a, c[a], r, s), d && d(a, c[a]));
        };
      }, { "../util": 130 }], 80: [function(_, U, L) {
        var h = _("../util"), p = _("../json/builder"), c = _("../json/parser"), o = _("./helpers").populateHostPrefix;
        U.exports = { buildRequest: function(r) {
          var s = r.httpRequest, d = r.service.api, a = d.targetPrefix + "." + d.operations[r.operation].name, u = d.jsonVersion || "1.0", l = d.operations[r.operation].input, m = new p();
          u === 1 && (u = "1.0"), d.awsQueryCompatible && (s.params || (s.params = {}), Object.assign(s.params, r.params)), s.body = m.build(r.params || {}, l), s.headers["Content-Type"] = "application/x-amz-json-" + u, s.headers["X-Amz-Target"] = a, o(r);
        }, extractError: function(r) {
          var s = {}, d = r.httpResponse;
          if (s.code = d.headers["x-amzn-errortype"] || "UnknownError", typeof s.code == "string" && (s.code = s.code.split(":")[0]), d.body.length > 0)
            try {
              var a = JSON.parse(d.body.toString()), u = a.__type || a.code || a.Code;
              for (var l in u && (s.code = u.split("#").pop()), s.code === "RequestEntityTooLarge" ? s.message = "Request body must be less than 1 MB" : s.message = a.message || a.Message || null, a || {})
                l !== "code" && l !== "message" && (s["[" + l + "]"] = "See error." + l + " for details.", Object.defineProperty(s, l, { value: a[l], enumerable: !1, writable: !0 }));
            } catch {
              s.statusCode = d.statusCode, s.message = d.statusMessage;
            }
          else
            s.statusCode = d.statusCode, s.message = d.statusCode.toString();
          r.error = h.error(new Error(), s);
        }, extractData: function(r) {
          var s = r.httpResponse.body.toString() || "{}";
          if (r.request.service.config.convertResponseTypes === !1)
            r.data = JSON.parse(s);
          else {
            var d = r.request.service.api.operations[r.request.operation].output || {}, a = new c();
            r.data = a.parse(s, d);
          }
        } };
      }, { "../json/builder": 68, "../json/parser": 69, "../util": 130, "./helpers": 79 }], 79: [function(_, U, L) {
        var h = _("../util"), p = _("../core");
        U.exports = { populateHostPrefix: function(c) {
          if (!c.service.config.hostPrefixEnabled)
            return c;
          var o = c.service.api.operations[c.operation];
          if (function(s) {
            var d = s.service.api, a = d.operations[s.operation], u = d.endpointOperation && d.endpointOperation === h.string.lowerFirst(a.name);
            return a.endpointDiscoveryRequired !== "NULL" || u === !0;
          }(c))
            return c;
          if (o.endpoint && o.endpoint.hostPrefix) {
            var r = function(s, d, a) {
              return h.each(a.members, function(u, l) {
                if (l.hostLabel === !0) {
                  if (typeof d[u] != "string" || d[u] === "")
                    throw h.error(new Error(), { message: "Parameter " + u + " should be a non-empty string.", code: "InvalidParameter" });
                  var m = new RegExp("\\{" + u + "\\}", "g");
                  s = s.replace(m, d[u]);
                }
              }), s;
            }(o.endpoint.hostPrefix, c.params, o.input);
            (function(s, d) {
              s.host && (s.host = d + s.host), s.hostname && (s.hostname = d + s.hostname);
            })(c.httpRequest.endpoint, r), function(s) {
              var d = s.split("."), a = /^[a-zA-Z0-9]{1}$|^[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9]$/;
              h.arrayEach(d, function(u) {
                if (!u.length || u.length < 1 || u.length > 63)
                  throw h.error(new Error(), { code: "ValidationError", message: "Hostname label length should be between 1 to 63 characters, inclusive." });
                if (!a.test(u))
                  throw p.util.error(new Error(), { code: "ValidationError", message: u + " is not hostname compatible." });
              });
            }(c.httpRequest.endpoint.hostname);
          }
          return c;
        } };
      }, { "../core": 44, "../util": 130 }], 69: [function(_, U, L) {
        function h() {
        }
        function p(o, r) {
          if (r && o !== void 0)
            switch (r.type) {
              case "structure":
                return function(s, d) {
                  if (s != null) {
                    if (d.isDocument)
                      return s;
                    var a = {}, u = d.members;
                    return c.each(u, function(l, m) {
                      var v = m.isLocationName ? m.name : l;
                      if (Object.prototype.hasOwnProperty.call(s, v)) {
                        var C = p(s[v], m);
                        C !== void 0 && (a[l] = C);
                      }
                    }), a;
                  }
                }(o, r);
              case "map":
                return function(s, d) {
                  if (s != null) {
                    var a = {};
                    return c.each(s, function(u, l) {
                      var m = p(l, d.value);
                      a[u] = m === void 0 ? null : m;
                    }), a;
                  }
                }(o, r);
              case "list":
                return function(s, d) {
                  if (s != null) {
                    var a = [];
                    return c.arrayEach(s, function(u) {
                      var l = p(u, d.member);
                      l === void 0 ? a.push(null) : a.push(l);
                    }), a;
                  }
                }(o, r);
              default:
                return function(s, d) {
                  return d.toType(s);
                }(o, r);
            }
        }
        var c = _("../util");
        h.prototype.parse = function(o, r) {
          return p(JSON.parse(o), r);
        }, U.exports = h;
      }, { "../util": 130 }], 68: [function(_, U, L) {
        function h() {
        }
        function p(o, r) {
          if (r && o != null)
            switch (r.type) {
              case "structure":
                return function(s, d) {
                  if (d.isDocument)
                    return s;
                  var a = {};
                  return c.each(s, function(u, l) {
                    var m = d.members[u];
                    if (m) {
                      if (m.location !== "body")
                        return;
                      var v = m.isLocationName ? m.name : u, C = p(l, m);
                      C !== void 0 && (a[v] = C);
                    }
                  }), a;
                }(o, r);
              case "map":
                return function(s, d) {
                  var a = {};
                  return c.each(s, function(u, l) {
                    var m = p(l, d.value);
                    m !== void 0 && (a[u] = m);
                  }), a;
                }(o, r);
              case "list":
                return function(s, d) {
                  var a = [];
                  return c.arrayEach(s, function(u) {
                    var l = p(u, d.member);
                    l !== void 0 && a.push(l);
                  }), a;
                }(o, r);
              default:
                return function(s, d) {
                  return d.toWireFormat(s);
                }(o, r);
            }
        }
        var c = _("../util");
        h.prototype.build = function(o, r) {
          return JSON.stringify(p(o, r));
        }, U.exports = h;
      }, { "../util": 130 }], 52: [function(_, U, L) {
        (function(h) {
          (function() {
            function p(k) {
              var O = k.service, P = O.api || {}, z = {};
              return O.config.region && (z.region = O.config.region), P.serviceId && (z.serviceId = P.serviceId), O.config.credentials.accessKeyId && (z.accessKeyId = O.config.credentials.accessKeyId), z;
            }
            function c(k, O, P) {
              P && O != null && P.type === "structure" && P.required && P.required.length > 0 && v.arrayEach(P.required, function(z) {
                var R = P.members[z];
                if (R.endpointDiscoveryId === !0) {
                  var q = R.isLocationName ? R.name : z;
                  k[q] = String(O[z]);
                } else
                  c(k, O[z], R);
              });
            }
            function o(k, O) {
              var P = {};
              return c(P, k.params, O), P;
            }
            function r(k) {
              var O = k.service, P = O.api, z = P.operations ? P.operations[k.operation] : void 0, R = o(k, z ? z.input : void 0), q = p(k);
              Object.keys(R).length > 0 && (q = v.update(q, R), z && (q.operation = z.name));
              var F = m.endpointCache.get(q);
              if (!F || F.length !== 1 || F[0].Address !== "")
                if (F && F.length > 0)
                  k.httpRequest.updateEndpoint(F[0].Address);
                else {
                  var ae = O.makeRequest(P.endpointOperation, { Operation: z.name, Identifiers: R });
                  d(ae), ae.removeListener("validate", m.EventListeners.Core.VALIDATE_PARAMETERS), ae.removeListener("retry", m.EventListeners.Core.RETRY_CHECK), m.endpointCache.put(q, [{ Address: "", CachePeriodInMinutes: 1 }]), ae.send(function(Ae, me) {
                    me && me.Endpoints ? m.endpointCache.put(q, me.Endpoints) : Ae && m.endpointCache.put(q, [{ Address: "", CachePeriodInMinutes: 1 }]);
                  });
                }
            }
            function s(k, O) {
              var P = k.service, z = P.api, R = z.operations ? z.operations[k.operation] : void 0, q = R ? R.input : void 0, F = o(k, q), ae = p(k);
              Object.keys(F).length > 0 && (ae = v.update(ae, F), R && (ae.operation = R.name));
              var Ae = m.EndpointCache.getKeyString(ae), me = m.endpointCache.get(Ae);
              if (me && me.length === 1 && me[0].Address === "")
                return E[Ae] || (E[Ae] = []), void E[Ae].push({ request: k, callback: O });
              if (me && me.length > 0)
                k.httpRequest.updateEndpoint(me[0].Address), O();
              else {
                var Ne = P.makeRequest(z.endpointOperation, { Operation: R.name, Identifiers: F });
                Ne.removeListener("validate", m.EventListeners.Core.VALIDATE_PARAMETERS), d(Ne), m.endpointCache.put(Ae, [{ Address: "", CachePeriodInMinutes: 60 }]), Ne.send(function(se, w) {
                  if (se) {
                    if (k.response.error = v.error(se, { retryable: !1 }), m.endpointCache.remove(ae), E[Ae]) {
                      var b = E[Ae];
                      v.arrayEach(b, function(N) {
                        N.request.response.error = v.error(se, { retryable: !1 }), N.callback();
                      }), delete E[Ae];
                    }
                  } else
                    w && (m.endpointCache.put(Ae, w.Endpoints), k.httpRequest.updateEndpoint(w.Endpoints[0].Address), E[Ae]) && (b = E[Ae], v.arrayEach(b, function(N) {
                      N.request.httpRequest.updateEndpoint(w.Endpoints[0].Address), N.callback();
                    }), delete E[Ae]);
                  O();
                });
              }
            }
            function d(k) {
              var O = k.service.api.apiVersion;
              O && !k.httpRequest.headers["x-amz-api-version"] && (k.httpRequest.headers["x-amz-api-version"] = O);
            }
            function a(k) {
              var O = k.error, P = k.httpResponse;
              if (O && (O.code === "InvalidEndpointException" || P.statusCode === 421)) {
                var z = k.request, R = z.service.api.operations || {}, q = o(z, R[z.operation] ? R[z.operation].input : void 0), F = p(z);
                Object.keys(q).length > 0 && (F = v.update(F, q), R[z.operation] && (F.operation = R[z.operation].name)), m.endpointCache.remove(F);
              }
            }
            function u(k) {
              return ["false", "0"].indexOf(k) >= 0;
            }
            function l(k) {
              var O = k.service || {};
              if (O.config.endpointDiscoveryEnabled !== void 0)
                return O.config.endpointDiscoveryEnabled;
              if (!v.isBrowser()) {
                for (var P = 0; P < C.length; P++) {
                  var z = C[P];
                  if (Object.prototype.hasOwnProperty.call(h.env, z)) {
                    if (h.env[z] === "" || h.env[z] === void 0)
                      throw v.error(new Error(), { code: "ConfigurationException", message: "environmental variable " + z + " cannot be set to nothing" });
                    return !u(h.env[z]);
                  }
                }
                var R = {};
                try {
                  R = m.util.iniLoader ? m.util.iniLoader.loadFrom({ isConfig: !0, filename: h.env[m.util.sharedConfigFileEnv] }) : {};
                } catch {
                }
                var q = R[h.env.AWS_PROFILE || m.util.defaultProfile] || {};
                if (Object.prototype.hasOwnProperty.call(q, "endpoint_discovery_enabled")) {
                  if (q.endpoint_discovery_enabled === void 0)
                    throw v.error(new Error(), { code: "ConfigurationException", message: "config file entry 'endpoint_discovery_enabled' cannot be set to nothing" });
                  return !u(q.endpoint_discovery_enabled);
                }
              }
            }
            var m = _("./core"), v = _("./util"), C = ["AWS_ENABLE_ENDPOINT_DISCOVERY", "AWS_ENDPOINT_DISCOVERY_ENABLED"], E = {};
            U.exports = { discoverEndpoint: function(k, O) {
              var P = k.service || {};
              if (function(ae) {
                if (ae._originalConfig && ae._originalConfig.endpoint && ae._originalConfig.endpointDiscoveryEnabled === !0)
                  throw v.error(new Error(), { code: "ConfigurationException", message: "Custom endpoint is supplied; endpointDiscoveryEnabled must not be true." });
                var Ae = m.config[ae.serviceIdentifier] || {};
                return !!(m.config.endpoint || Ae.endpoint || ae._originalConfig && ae._originalConfig.endpoint);
              }(P) || k.isPresigned())
                return O();
              var z = (P.api.operations || {})[k.operation], R = z ? z.endpointDiscoveryRequired : "NULL", q = l(k), F = P.api.hasRequiredEndpointDiscovery;
              switch ((q || F) && k.httpRequest.appendToUserAgent("endpoint-discovery"), R) {
                case "OPTIONAL":
                  (q || F) && (r(k), k.addNamedListener("INVALIDATE_CACHED_ENDPOINTS", "extractError", a)), O();
                  break;
                case "REQUIRED":
                  if (q === !1) {
                    k.response.error = v.error(new Error(), { code: "ConfigurationException", message: "Endpoint Discovery is disabled but " + P.api.className + "." + k.operation + "() requires it. Please check your configurations." }), O();
                    break;
                  }
                  k.addNamedListener("INVALIDATE_CACHED_ENDPOINTS", "extractError", a), s(k, O);
                  break;
                default:
                  O();
              }
            }, requiredDiscoverEndpoint: s, optionalDiscoverEndpoint: r, marshallCustomIdentifiers: o, getCacheKey: p, invalidateCachedEndpoint: a };
          }).call(this);
        }).call(this, _("_process"));
      }, { "./core": 44, "./util": 130, _process: 11 }], 130: [function(_, U, L) {
        (function(h, p) {
          (function() {
            var c, o = { environment: "nodejs", engine: function() {
              if (o.isBrowser() && typeof navigator < "u")
                return navigator.userAgent;
              var r = h.platform + "/" + h.version;
              return h.env.AWS_EXECUTION_ENV && (r += " exec-env/" + h.env.AWS_EXECUTION_ENV), r;
            }, userAgent: function() {
              var r = o.environment, s = "aws-sdk-" + r + "/" + _("./core").VERSION;
              return r === "nodejs" && (s += " " + o.engine()), s;
            }, uriEscape: function(r) {
              var s = encodeURIComponent(r);
              return (s = s.replace(/[^A-Za-z0-9_.~\-%]+/g, escape)).replace(/[*]/g, function(d) {
                return "%" + d.charCodeAt(0).toString(16).toUpperCase();
              });
            }, uriEscapePath: function(r) {
              var s = [];
              return o.arrayEach(r.split("/"), function(d) {
                s.push(o.uriEscape(d));
              }), s.join("/");
            }, urlParse: function(r) {
              return o.url.parse(r);
            }, urlFormat: function(r) {
              return o.url.format(r);
            }, queryStringParse: function(r) {
              return o.querystring.parse(r);
            }, queryParamsToString: function(r) {
              var s = [], d = o.uriEscape, a = Object.keys(r).sort();
              return o.arrayEach(a, function(u) {
                var l = r[u], m = d(u), v = m + "=";
                if (Array.isArray(l)) {
                  var C = [];
                  o.arrayEach(l, function(E) {
                    C.push(d(E));
                  }), v = m + "=" + C.sort().join("&" + m + "=");
                } else
                  l != null && (v = m + "=" + d(l));
                s.push(v);
              }), s.join("&");
            }, readFileSync: function(r) {
              return o.isBrowser() ? null : _("fs").readFileSync(r, "utf-8");
            }, base64: { encode: function(r) {
              if (typeof r == "number")
                throw o.error(new Error("Cannot base64 encode number " + r));
              return r == null ? r : o.buffer.toBuffer(r).toString("base64");
            }, decode: function(r) {
              if (typeof r == "number")
                throw o.error(new Error("Cannot base64 decode number " + r));
              return r == null ? r : o.buffer.toBuffer(r, "base64");
            } }, buffer: { toBuffer: function(r, s) {
              return typeof o.Buffer.from == "function" && o.Buffer.from !== Uint8Array.from ? o.Buffer.from(r, s) : new o.Buffer(r, s);
            }, alloc: function(r, s, d) {
              if (typeof r != "number")
                throw new Error("size passed to alloc must be a number.");
              if (typeof o.Buffer.alloc == "function")
                return o.Buffer.alloc(r, s, d);
              var a = new o.Buffer(r);
              return s !== void 0 && typeof a.fill == "function" && a.fill(s, void 0, void 0, d), a;
            }, toStream: function(r) {
              o.Buffer.isBuffer(r) || (r = o.buffer.toBuffer(r));
              var s = new o.stream.Readable(), d = 0;
              return s._read = function(a) {
                if (d >= r.length)
                  return s.push(null);
                var u = d + a;
                u > r.length && (u = r.length), s.push(r.slice(d, u)), d = u;
              }, s;
            }, concat: function(r) {
              var s, d, a = 0, u = 0;
              for (s = 0; s < r.length; s++)
                a += r[s].length;
              for (d = o.buffer.alloc(a), s = 0; s < r.length; s++)
                r[s].copy(d, u), u += r[s].length;
              return d;
            } }, string: { byteLength: function(r) {
              if (r == null)
                return 0;
              if (typeof r == "string" && (r = o.buffer.toBuffer(r)), typeof r.byteLength == "number")
                return r.byteLength;
              if (typeof r.length == "number")
                return r.length;
              if (typeof r.size == "number")
                return r.size;
              if (typeof r.path == "string")
                return _("fs").lstatSync(r.path).size;
              throw o.error(new Error("Cannot determine length of " + r), { object: r });
            }, upperFirst: function(r) {
              return r[0].toUpperCase() + r.substr(1);
            }, lowerFirst: function(r) {
              return r[0].toLowerCase() + r.substr(1);
            } }, ini: { parse: function(r) {
              var s, d = {};
              return o.arrayEach(r.split(/\r?\n/), function(a) {
                if ((a = a.split(/(^|\s)[;#]/)[0].trim())[0] === "[" && a[a.length - 1] === "]") {
                  if ((s = a.substring(1, a.length - 1)) === "__proto__" || s.split(/\s/)[1] === "__proto__")
                    throw o.error(new Error("Cannot load profile name '" + s + "' from shared ini file."));
                } else if (s) {
                  var u = a.indexOf("="), l = a.length - 1;
                  if (u !== -1 && u !== 0 && u !== l) {
                    var m = a.substring(0, u).trim(), v = a.substring(u + 1).trim();
                    d[s] = d[s] || {}, d[s][m] = v;
                  }
                }
              }), d;
            } }, fn: { noop: function() {
            }, callback: function(r) {
              if (r)
                throw r;
            }, makeAsync: function(r, s) {
              return s && s <= r.length ? r : function() {
                var d = Array.prototype.slice.call(arguments, 0);
                d.pop()(r.apply(null, d));
              };
            } }, date: { getDate: function() {
              return c || (c = _("./core")), c.config.systemClockOffset ? new Date((/* @__PURE__ */ new Date()).getTime() + c.config.systemClockOffset) : /* @__PURE__ */ new Date();
            }, iso8601: function(r) {
              return r === void 0 && (r = o.date.getDate()), r.toISOString().replace(/\.\d{3}Z$/, "Z");
            }, rfc822: function(r) {
              return r === void 0 && (r = o.date.getDate()), r.toUTCString();
            }, unixTimestamp: function(r) {
              return r === void 0 && (r = o.date.getDate()), r.getTime() / 1e3;
            }, from: function(r) {
              return typeof r == "number" ? new Date(1e3 * r) : new Date(r);
            }, format: function(r, s) {
              return s || (s = "iso8601"), o.date[s](o.date.from(r));
            }, parseTimestamp: function(r) {
              if (typeof r == "number")
                return new Date(1e3 * r);
              if (r.match(/^\d+$/))
                return new Date(1e3 * r);
              if (r.match(/^\d{4}/))
                return new Date(r);
              if (r.match(/^\w{3},/))
                return new Date(r);
              throw o.error(new Error("unhandled timestamp format: " + r), { code: "TimestampParserError" });
            } }, crypto: { crc32Table: [0, 1996959894, 3993919788, 2567524794, 124634137, 1886057615, 3915621685, 2657392035, 249268274, 2044508324, 3772115230, 2547177864, 162941995, 2125561021, 3887607047, 2428444049, 498536548, 1789927666, 4089016648, 2227061214, 450548861, 1843258603, 4107580753, 2211677639, 325883990, 1684777152, 4251122042, 2321926636, 335633487, 1661365465, 4195302755, 2366115317, 997073096, 1281953886, 3579855332, 2724688242, 1006888145, 1258607687, 3524101629, 2768942443, 901097722, 1119000684, 3686517206, 2898065728, 853044451, 1172266101, 3705015759, 2882616665, 651767980, 1373503546, 3369554304, 3218104598, 565507253, 1454621731, 3485111705, 3099436303, 671266974, 1594198024, 3322730930, 2970347812, 795835527, 1483230225, 3244367275, 3060149565, 1994146192, 31158534, 2563907772, 4023717930, 1907459465, 112637215, 2680153253, 3904427059, 2013776290, 251722036, 2517215374, 3775830040, 2137656763, 141376813, 2439277719, 3865271297, 1802195444, 476864866, 2238001368, 4066508878, 1812370925, 453092731, 2181625025, 4111451223, 1706088902, 314042704, 2344532202, 4240017532, 1658658271, 366619977, 2362670323, 4224994405, 1303535960, 984961486, 2747007092, 3569037538, 1256170817, 1037604311, 2765210733, 3554079995, 1131014506, 879679996, 2909243462, 3663771856, 1141124467, 855842277, 2852801631, 3708648649, 1342533948, 654459306, 3188396048, 3373015174, 1466479909, 544179635, 3110523913, 3462522015, 1591671054, 702138776, 2966460450, 3352799412, 1504918807, 783551873, 3082640443, 3233442989, 3988292384, 2596254646, 62317068, 1957810842, 3939845945, 2647816111, 81470997, 1943803523, 3814918930, 2489596804, 225274430, 2053790376, 3826175755, 2466906013, 167816743, 2097651377, 4027552580, 2265490386, 503444072, 1762050814, 4150417245, 2154129355, 426522225, 1852507879, 4275313526, 2312317920, 282753626, 1742555852, 4189708143, 2394877945, 397917763, 1622183637, 3604390888, 2714866558, 953729732, 1340076626, 3518719985, 2797360999, 1068828381, 1219638859, 3624741850, 2936675148, 906185462, 1090812512, 3747672003, 2825379669, 829329135, 1181335161, 3412177804, 3160834842, 628085408, 1382605366, 3423369109, 3138078467, 570562233, 1426400815, 3317316542, 2998733608, 733239954, 1555261956, 3268935591, 3050360625, 752459403, 1541320221, 2607071920, 3965973030, 1969922972, 40735498, 2617837225, 3943577151, 1913087877, 83908371, 2512341634, 3803740692, 2075208622, 213261112, 2463272603, 3855990285, 2094854071, 198958881, 2262029012, 4057260610, 1759359992, 534414190, 2176718541, 4139329115, 1873836001, 414664567, 2282248934, 4279200368, 1711684554, 285281116, 2405801727, 4167216745, 1634467795, 376229701, 2685067896, 3608007406, 1308918612, 956543938, 2808555105, 3495958263, 1231636301, 1047427035, 2932959818, 3654703836, 1088359270, 936918e3, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117], crc32: function(r) {
              var s = o.crypto.crc32Table, d = -1;
              typeof r == "string" && (r = o.buffer.toBuffer(r));
              for (var a = 0; a < r.length; a++)
                d = d >>> 8 ^ s[255 & (d ^ r.readUInt8(a))];
              return ~d >>> 0;
            }, hmac: function(r, s, d, a) {
              return d || (d = "binary"), d === "buffer" && (d = void 0), a || (a = "sha256"), typeof s == "string" && (s = o.buffer.toBuffer(s)), o.crypto.lib.createHmac(a, r).update(s).digest(d);
            }, md5: function(r, s, d) {
              return o.crypto.hash("md5", r, s, d);
            }, sha256: function(r, s, d) {
              return o.crypto.hash("sha256", r, s, d);
            }, hash: function(r, s, d, a) {
              var u = o.crypto.createHash(r);
              d || (d = "binary"), d === "buffer" && (d = void 0), typeof s == "string" && (s = o.buffer.toBuffer(s));
              var l = o.arraySliceFn(s), m = o.Buffer.isBuffer(s);
              if (o.isBrowser() && typeof ArrayBuffer < "u" && s && s.buffer instanceof ArrayBuffer && (m = !0), a && typeof s == "object" && typeof s.on == "function" && !m)
                s.on("data", function(k) {
                  u.update(k);
                }), s.on("error", function(k) {
                  a(k);
                }), s.on("end", function() {
                  a(null, u.digest(d));
                });
              else {
                if (!a || !l || m || typeof FileReader > "u") {
                  o.isBrowser() && typeof s == "object" && !m && (s = new o.Buffer(new Uint8Array(s)));
                  var v = u.update(s).digest(d);
                  return a && a(null, v), v;
                }
                var C = 0, E = new FileReader();
                E.onerror = function() {
                  a(new Error("Failed to read data."));
                }, E.onload = function() {
                  var k = new o.Buffer(new Uint8Array(E.result));
                  u.update(k), C += k.length, E._continueReading();
                }, E._continueReading = function() {
                  if (C >= s.size)
                    a(null, u.digest(d));
                  else {
                    var k = C + 524288;
                    k > s.size && (k = s.size), E.readAsArrayBuffer(l.call(s, C, k));
                  }
                }, E._continueReading();
              }
            }, toHex: function(r) {
              for (var s = [], d = 0; d < r.length; d++)
                s.push(("0" + r.charCodeAt(d).toString(16)).substr(-2, 2));
              return s.join("");
            }, createHash: function(r) {
              return o.crypto.lib.createHash(r);
            } }, abort: {}, each: function(r, s) {
              for (var d in r)
                if (Object.prototype.hasOwnProperty.call(r, d) && s.call(this, d, r[d]) === o.abort)
                  break;
            }, arrayEach: function(r, s) {
              for (var d in r)
                if (Object.prototype.hasOwnProperty.call(r, d) && s.call(this, r[d], parseInt(d, 10)) === o.abort)
                  break;
            }, update: function(r, s) {
              return o.each(s, function(d, a) {
                r[d] = a;
              }), r;
            }, merge: function(r, s) {
              return o.update(o.copy(r), s);
            }, copy: function(r) {
              if (r == null)
                return r;
              var s = {};
              for (var d in r)
                s[d] = r[d];
              return s;
            }, isEmpty: function(r) {
              for (var s in r)
                if (Object.prototype.hasOwnProperty.call(r, s))
                  return !1;
              return !0;
            }, arraySliceFn: function(r) {
              var s = r.slice || r.webkitSlice || r.mozSlice;
              return typeof s == "function" ? s : null;
            }, isType: function(r, s) {
              return typeof s == "function" && (s = o.typeName(s)), Object.prototype.toString.call(r) === "[object " + s + "]";
            }, typeName: function(r) {
              if (Object.prototype.hasOwnProperty.call(r, "name"))
                return r.name;
              var s = r.toString(), d = s.match(/^\s*function (.+)\(/);
              return d ? d[1] : s;
            }, error: function(r, s) {
              var d = null;
              for (var a in typeof r.message == "string" && r.message !== "" && (typeof s == "string" || s && s.message) && ((d = o.copy(r)).message = r.message), r.message = r.message || null, typeof s == "string" ? r.message = s : typeof s == "object" && s !== null && (o.update(r, s), s.message && (r.message = s.message), (s.code || s.name) && (r.code = s.code || s.name), s.stack && (r.stack = s.stack)), typeof Object.defineProperty == "function" && (Object.defineProperty(r, "name", { writable: !0, enumerable: !1 }), Object.defineProperty(r, "message", { enumerable: !0 })), r.name = String(s && s.name || r.name || r.code || "Error"), r.time = /* @__PURE__ */ new Date(), d && (r.originalError = d), s || {})
                if (a[0] === "[" && a[a.length - 1] === "]") {
                  if ((a = a.slice(1, -1)) === "code" || a === "message")
                    continue;
                  r["[" + a + "]"] = "See error." + a + " for details.", Object.defineProperty(r, a, { value: r[a] || s && s[a] || d && d[a], enumerable: !1, writable: !0 });
                }
              return r;
            }, inherit: function(r, s) {
              var d = null;
              if (s === void 0)
                s = r, r = Object, d = {};
              else {
                var a = function() {
                };
                a.prototype = r.prototype, d = new a();
              }
              return s.constructor === Object && (s.constructor = function() {
                if (r !== Object)
                  return r.apply(this, arguments);
              }), s.constructor.prototype = d, o.update(s.constructor.prototype, s), s.constructor.__super__ = r, s.constructor;
            }, mixin: function() {
              for (var r = arguments[0], s = 1; s < arguments.length; s++)
                for (var d in arguments[s].prototype) {
                  var a = arguments[s].prototype[d];
                  d !== "constructor" && (r.prototype[d] = a);
                }
              return r;
            }, hideProperties: function(r, s) {
              typeof Object.defineProperty == "function" && o.arrayEach(s, function(d) {
                Object.defineProperty(r, d, { enumerable: !1, writable: !0, configurable: !0 });
              });
            }, property: function(r, s, d, a, u) {
              var l = { configurable: !0, enumerable: a === void 0 || a };
              typeof d != "function" || u ? (l.value = d, l.writable = !0) : l.get = d, Object.defineProperty(r, s, l);
            }, memoizedProperty: function(r, s, d, a) {
              var u = null;
              o.property(r, s, function() {
                return u === null && (u = d()), u;
              }, a);
            }, hoistPayloadMember: function(r) {
              var s = r.request, d = s.operation, a = s.service.api.operations[d], u = a.output;
              if (u.payload && !a.hasEventOutput) {
                var l = u.members[u.payload], m = r.data[u.payload];
                l.type === "structure" && o.each(m, function(v, C) {
                  o.property(r.data, v, C, !1);
                });
              }
            }, computeSha256: function(r, s) {
              if (o.isNode()) {
                var d = o.stream.Stream, a = _("fs");
                if (typeof d == "function" && r instanceof d) {
                  if (typeof r.path != "string")
                    return s(new Error("Non-file stream objects are not supported with SigV4"));
                  var u = {};
                  typeof r.start == "number" && (u.start = r.start), typeof r.end == "number" && (u.end = r.end), r = a.createReadStream(r.path, u);
                }
              }
              o.crypto.sha256(r, "hex", function(l, m) {
                l ? s(l) : s(null, m);
              });
            }, isClockSkewed: function(r) {
              if (r)
                return o.property(c.config, "isClockSkewed", Math.abs((/* @__PURE__ */ new Date()).getTime() - r) >= 3e5, !1), c.config.isClockSkewed;
            }, applyClockOffset: function(r) {
              r && (c.config.systemClockOffset = r - (/* @__PURE__ */ new Date()).getTime());
            }, extractRequestId: function(r) {
              var s = r.httpResponse.headers["x-amz-request-id"] || r.httpResponse.headers["x-amzn-requestid"];
              !s && r.data && r.data.ResponseMetadata && (s = r.data.ResponseMetadata.RequestId), s && (r.requestId = s), r.error && (r.error.requestId = s);
            }, addPromises: function(r, s) {
              var d = !1;
              s === void 0 && c && c.config && (s = c.config.getPromisesDependency()), s === void 0 && typeof Promise < "u" && (s = Promise), typeof s != "function" && (d = !0), Array.isArray(r) || (r = [r]);
              for (var a = 0; a < r.length; a++) {
                var u = r[a];
                d ? u.deletePromisesFromClass && u.deletePromisesFromClass() : u.addPromisesToClass && u.addPromisesToClass(s);
              }
            }, promisifyMethod: function(r, s) {
              return function() {
                var d = this, a = Array.prototype.slice.call(arguments);
                return new s(function(u, l) {
                  a.push(function(m, v) {
                    m ? l(m) : u(v);
                  }), d[r].apply(d, a);
                });
              };
            }, isDualstackAvailable: function(r) {
              if (!r)
                return !1;
              var s = _("../apis/metadata.json");
              return typeof r != "string" && (r = r.serviceIdentifier), !(typeof r != "string" || !s.hasOwnProperty(r) || !s[r].dualstackAvailable);
            }, calculateRetryDelay: function(r, s, d) {
              s || (s = {});
              var a = s.customBackoff || null;
              if (typeof a == "function")
                return a(r, d);
              var u = typeof s.base == "number" ? s.base : 100;
              return Math.random() * (Math.pow(2, r) * u);
            }, handleRequestWithRetries: function(r, s, d) {
              s || (s = {});
              var a = c.HttpClient.getInstance(), u = s.httpOptions || {}, l = 0, m = function(C) {
                var E = s.maxRetries || 0;
                if (C && C.code === "TimeoutError" && (C.retryable = !0), C && C.retryable && l < E) {
                  var k = o.calculateRetryDelay(l, s.retryDelayOptions, C);
                  if (k >= 0)
                    return l++, void setTimeout(v, k + (C.retryAfter || 0));
                }
                d(C);
              }, v = function() {
                var C = "";
                a.handleRequest(r, u, function(E) {
                  E.on("data", function(k) {
                    C += k.toString();
                  }), E.on("end", function() {
                    var k = E.statusCode;
                    if (k < 300)
                      d(null, C);
                    else {
                      var O = 1e3 * parseInt(E.headers["retry-after"], 10) || 0, P = o.error(new Error(), { statusCode: k, retryable: k >= 500 || k === 429 });
                      O && P.retryable && (P.retryAfter = O), m(P);
                    }
                  });
                }, m);
              };
              c.util.defer(v);
            }, uuid: { v4: function() {
              return _("uuid").v4();
            } }, convertPayloadToString: function(r) {
              var s = r.request, d = s.operation, a = s.service.api.operations[d].output || {};
              a.payload && r.data[a.payload] && (r.data[a.payload] = r.data[a.payload].toString());
            }, defer: function(r) {
              typeof h == "object" && typeof h.nextTick == "function" ? h.nextTick(r) : typeof p == "function" ? p(r) : setTimeout(r, 0);
            }, getRequestPayloadShape: function(r) {
              var s = r.service.api.operations;
              if (s) {
                var d = (s || {})[r.operation];
                if (d && d.input && d.input.payload)
                  return d.input.members[d.input.payload];
              }
            }, getProfilesFromSharedConfig: function(r, s) {
              function d(C, E) {
                for (var k = 0, O = Object.keys(E); k < O.length; k++)
                  C[O[k]] = E[O[k]];
                return C;
              }
              var a = {}, u = {};
              h.env[o.configOptInEnv] && (u = r.loadFrom({ isConfig: !0, filename: h.env[o.sharedConfigFileEnv] }));
              var l = {};
              try {
                l = r.loadFrom({ filename: s || h.env[o.configOptInEnv] && h.env[o.sharedCredentialsFileEnv] });
              } catch (C) {
                if (!h.env[o.configOptInEnv])
                  throw C;
              }
              for (var m = 0, v = Object.keys(u); m < v.length; m++)
                a[v[m]] = d(a[v[m]] || {}, u[v[m]]);
              for (m = 0, v = Object.keys(l); m < v.length; m++)
                a[v[m]] = d(a[v[m]] || {}, l[v[m]]);
              return a;
            }, ARN: { validate: function(r) {
              return r && r.indexOf("arn:") === 0 && r.split(":").length >= 6;
            }, parse: function(r) {
              var s = r.split(":");
              return { partition: s[1], service: s[2], region: s[3], accountId: s[4], resource: s.slice(5).join(":") };
            }, build: function(r) {
              if (r.service === void 0 || r.region === void 0 || r.accountId === void 0 || r.resource === void 0)
                throw o.error(new Error("Input ARN object is invalid"));
              return "arn:" + (r.partition || "aws") + ":" + r.service + ":" + r.region + ":" + r.accountId + ":" + r.resource;
            } }, defaultProfile: "default", configOptInEnv: "AWS_SDK_LOAD_CONFIG", sharedCredentialsFileEnv: "AWS_SHARED_CREDENTIALS_FILE", sharedConfigFileEnv: "AWS_CONFIG_FILE", imdsDisabledEnv: "AWS_EC2_METADATA_DISABLED" };
            U.exports = o;
          }).call(this);
        }).call(this, _("_process"), _("timers").setImmediate);
      }, { "../apis/metadata.json": 31, "./core": 44, _process: 11, fs: 2, timers: 19, uuid: 22 }], 42: [function(_, U, L) {
        var h, p = _("./core");
        _("./credentials"), _("./credentials/credential_provider_chain"), p.Config = p.util.inherit({ constructor: function(c) {
          c === void 0 && (c = {}), c = this.extractCredentials(c), p.util.each.call(this, this.keys, function(o, r) {
            this.set(o, c[o], r);
          });
        }, getCredentials: function(c) {
          function o(d) {
            c(d, d ? null : s.credentials);
          }
          function r(d, a) {
            return new p.util.error(a || new Error(), { code: "CredentialsError", message: d, name: "CredentialsError" });
          }
          var s = this;
          s.credentials ? typeof s.credentials.get == "function" ? s.credentials.get(function(d) {
            d && (d = r("Could not load credentials from " + s.credentials.constructor.name, d)), o(d);
          }) : function() {
            var d = null;
            s.credentials.accessKeyId && s.credentials.secretAccessKey || (d = r("Missing credentials")), o(d);
          }() : s.credentialProvider ? s.credentialProvider.resolve(function(d, a) {
            d && (d = r("Could not load credentials from any providers", d)), s.credentials = a, o(d);
          }) : o(r("No credentials to load"));
        }, getToken: function(c) {
          function o(d) {
            c(d, d ? null : s.token);
          }
          function r(d, a) {
            return new p.util.error(a || new Error(), { code: "TokenError", message: d, name: "TokenError" });
          }
          var s = this;
          s.token ? typeof s.token.get == "function" ? s.token.get(function(d) {
            d && (d = r("Could not load token from " + s.token.constructor.name, d)), o(d);
          }) : function() {
            var d = null;
            s.token.token || (d = r("Missing token")), o(d);
          }() : s.tokenProvider ? s.tokenProvider.resolve(function(d, a) {
            d && (d = r("Could not load token from any providers", d)), s.token = a, o(d);
          }) : o(r("No token to load"));
        }, update: function(c, o) {
          o = o || !1, c = this.extractCredentials(c), p.util.each.call(this, c, function(r, s) {
            (o || Object.prototype.hasOwnProperty.call(this.keys, r) || p.Service.hasService(r)) && this.set(r, s);
          });
        }, loadFromPath: function(c) {
          this.clear();
          var o = JSON.parse(p.util.readFileSync(c)), r = new p.FileSystemCredentials(c), s = new p.CredentialProviderChain();
          return s.providers.unshift(r), s.resolve(function(d, a) {
            if (d)
              throw d;
            o.credentials = a;
          }), this.constructor(o), this;
        }, clear: function() {
          p.util.each.call(this, this.keys, function(c) {
            delete this[c];
          }), this.set("credentials", void 0), this.set("credentialProvider", void 0);
        }, set: function(c, o, r) {
          o === void 0 ? (r === void 0 && (r = this.keys[c]), this[c] = typeof r == "function" ? r.call(this) : r) : c === "httpOptions" && this[c] ? this[c] = p.util.merge(this[c], o) : this[c] = o;
        }, keys: { credentials: null, credentialProvider: null, region: null, logger: null, apiVersions: {}, apiVersion: null, endpoint: void 0, httpOptions: { timeout: 12e4 }, maxRetries: void 0, maxRedirects: 10, paramValidation: !0, sslEnabled: !0, s3ForcePathStyle: !1, s3BucketEndpoint: !1, s3DisableBodySigning: !0, s3UsEast1RegionalEndpoint: "legacy", s3UseArnRegion: void 0, computeChecksums: !0, convertResponseTypes: !0, correctClockSkew: !1, customUserAgent: null, dynamoDbCrc32: !0, systemClockOffset: 0, signatureVersion: null, signatureCache: !0, retryDelayOptions: {}, useAccelerateEndpoint: !1, clientSideMonitoring: !1, endpointDiscoveryEnabled: void 0, endpointCacheSize: 1e3, hostPrefixEnabled: !0, stsRegionalEndpoints: "legacy", useFipsEndpoint: !1, useDualstackEndpoint: !1, token: null }, extractCredentials: function(c) {
          return c.accessKeyId && c.secretAccessKey && ((c = p.util.copy(c)).credentials = new p.Credentials(c)), c;
        }, setPromisesDependency: function(c) {
          h = c, c === null && typeof Promise == "function" && (h = Promise);
          var o = [p.Request, p.Credentials, p.CredentialProviderChain];
          p.S3 && (o.push(p.S3), p.S3.ManagedUpload && o.push(p.S3.ManagedUpload)), p.util.addPromises(o, h);
        }, getPromisesDependency: function() {
          return h;
        } }), p.config = new p.Config();
      }, { "./core": 44, "./credentials": 45, "./credentials/credential_provider_chain": 48 }], 48: [function(_, U, L) {
        var h = _("../core");
        h.CredentialProviderChain = h.util.inherit(h.Credentials, { constructor: function(p) {
          this.providers = p || h.CredentialProviderChain.defaultProviders.slice(0), this.resolveCallbacks = [];
        }, resolve: function(p) {
          var c = this;
          if (c.providers.length === 0)
            return p(new Error("No providers")), c;
          if (c.resolveCallbacks.push(p) === 1) {
            var o = 0, r = c.providers.slice(0);
            (function s(d, a) {
              if (!d && a || o === r.length)
                return h.util.arrayEach(c.resolveCallbacks, function(l) {
                  l(d, a);
                }), void (c.resolveCallbacks.length = 0);
              var u = r[o++];
              (a = typeof u == "function" ? u.call() : u).get ? a.get(function(l) {
                s(l, l ? null : a);
              }) : s(null, a);
            })();
          }
          return c;
        } }), h.CredentialProviderChain.defaultProviders = [], h.CredentialProviderChain.addPromisesToClass = function(p) {
          this.prototype.resolvePromise = h.util.promisifyMethod("resolve", p);
        }, h.CredentialProviderChain.deletePromisesFromClass = function() {
          delete this.prototype.resolvePromise;
        }, h.util.addPromises(h.CredentialProviderChain);
      }, { "../core": 44 }], 45: [function(_, U, L) {
        var h = _("./core");
        h.Credentials = h.util.inherit({ constructor: function() {
          if (h.util.hideProperties(this, ["secretAccessKey"]), this.expired = !1, this.expireTime = null, this.refreshCallbacks = [], arguments.length === 1 && typeof arguments[0] == "object") {
            var p = arguments[0].credentials || arguments[0];
            this.accessKeyId = p.accessKeyId, this.secretAccessKey = p.secretAccessKey, this.sessionToken = p.sessionToken;
          } else
            this.accessKeyId = arguments[0], this.secretAccessKey = arguments[1], this.sessionToken = arguments[2];
        }, expiryWindow: 15, needsRefresh: function() {
          var p = h.util.date.getDate().getTime(), c = new Date(p + 1e3 * this.expiryWindow);
          return !!(this.expireTime && c > this.expireTime) || this.expired || !this.accessKeyId || !this.secretAccessKey;
        }, get: function(p) {
          var c = this;
          this.needsRefresh() ? this.refresh(function(o) {
            o || (c.expired = !1), p && p(o);
          }) : p && p();
        }, refresh: function(p) {
          this.expired = !1, p();
        }, coalesceRefresh: function(p, c) {
          var o = this;
          o.refreshCallbacks.push(p) === 1 && o.load(function(r) {
            h.util.arrayEach(o.refreshCallbacks, function(s) {
              c ? s(r) : h.util.defer(function() {
                s(r);
              });
            }), o.refreshCallbacks.length = 0;
          });
        }, load: function(p) {
          p();
        } }), h.Credentials.addPromisesToClass = function(p) {
          this.prototype.getPromise = h.util.promisifyMethod("get", p), this.prototype.refreshPromise = h.util.promisifyMethod("refresh", p);
        }, h.Credentials.deletePromisesFromClass = function() {
          delete this.prototype.getPromise, delete this.prototype.refreshPromise;
        }, h.util.addPromises(h.Credentials);
      }, { "./core": 44 }], 32: [function(_, U, L) {
        function h(p, c) {
          if (!h.services.hasOwnProperty(p))
            throw new Error("InvalidService: Failed to load api for " + p);
          return h.services[p][c];
        }
        h.services = {}, U.exports = h;
      }, {}], 31: [function(_, U, L) {
        U.exports = { acm: { name: "ACM", cors: !0 }, apigateway: { name: "APIGateway", cors: !0 }, applicationautoscaling: { prefix: "application-autoscaling", name: "ApplicationAutoScaling", cors: !0 }, appstream: { name: "AppStream" }, autoscaling: { name: "AutoScaling", cors: !0 }, batch: { name: "Batch" }, budgets: { name: "Budgets" }, clouddirectory: { name: "CloudDirectory", versions: ["2016-05-10*"] }, cloudformation: { name: "CloudFormation", cors: !0 }, cloudfront: { name: "CloudFront", versions: ["2013-05-12*", "2013-11-11*", "2014-05-31*", "2014-10-21*", "2014-11-06*", "2015-04-17*", "2015-07-27*", "2015-09-17*", "2016-01-13*", "2016-01-28*", "2016-08-01*", "2016-08-20*", "2016-09-07*", "2016-09-29*", "2016-11-25*", "2017-03-25*", "2017-10-30*", "2018-06-18*", "2018-11-05*", "2019-03-26*"], cors: !0 }, cloudhsm: { name: "CloudHSM", cors: !0 }, cloudsearch: { name: "CloudSearch" }, cloudsearchdomain: { name: "CloudSearchDomain" }, cloudtrail: { name: "CloudTrail", cors: !0 }, cloudwatch: { prefix: "monitoring", name: "CloudWatch", cors: !0 }, cloudwatchevents: { prefix: "events", name: "CloudWatchEvents", versions: ["2014-02-03*"], cors: !0 }, cloudwatchlogs: { prefix: "logs", name: "CloudWatchLogs", cors: !0 }, codebuild: { name: "CodeBuild", cors: !0 }, codecommit: { name: "CodeCommit", cors: !0 }, codedeploy: { name: "CodeDeploy", cors: !0 }, codepipeline: { name: "CodePipeline", cors: !0 }, cognitoidentity: { prefix: "cognito-identity", name: "CognitoIdentity", cors: !0 }, cognitoidentityserviceprovider: { prefix: "cognito-idp", name: "CognitoIdentityServiceProvider", cors: !0 }, cognitosync: { prefix: "cognito-sync", name: "CognitoSync", cors: !0 }, configservice: { prefix: "config", name: "ConfigService", cors: !0 }, cur: { name: "CUR", cors: !0 }, datapipeline: { name: "DataPipeline" }, devicefarm: { name: "DeviceFarm", cors: !0 }, directconnect: { name: "DirectConnect", cors: !0 }, directoryservice: { prefix: "ds", name: "DirectoryService" }, discovery: { name: "Discovery" }, dms: { name: "DMS" }, dynamodb: { name: "DynamoDB", cors: !0 }, dynamodbstreams: { prefix: "streams.dynamodb", name: "DynamoDBStreams", cors: !0 }, ec2: { name: "EC2", versions: ["2013-06-15*", "2013-10-15*", "2014-02-01*", "2014-05-01*", "2014-06-15*", "2014-09-01*", "2014-10-01*", "2015-03-01*", "2015-04-15*", "2015-10-01*", "2016-04-01*", "2016-09-15*"], cors: !0 }, ecr: { name: "ECR", cors: !0 }, ecs: { name: "ECS", cors: !0 }, efs: { prefix: "elasticfilesystem", name: "EFS", cors: !0 }, elasticache: { name: "ElastiCache", versions: ["2012-11-15*", "2014-03-24*", "2014-07-15*", "2014-09-30*"], cors: !0 }, elasticbeanstalk: { name: "ElasticBeanstalk", cors: !0 }, elb: { prefix: "elasticloadbalancing", name: "ELB", cors: !0 }, elbv2: { prefix: "elasticloadbalancingv2", name: "ELBv2", cors: !0 }, emr: { prefix: "elasticmapreduce", name: "EMR", cors: !0 }, es: { name: "ES" }, elastictranscoder: { name: "ElasticTranscoder", cors: !0 }, firehose: { name: "Firehose", cors: !0 }, gamelift: { name: "GameLift", cors: !0 }, glacier: { name: "Glacier" }, health: { name: "Health" }, iam: { name: "IAM", cors: !0 }, importexport: { name: "ImportExport" }, inspector: { name: "Inspector", versions: ["2015-08-18*"], cors: !0 }, iot: { name: "Iot", cors: !0 }, iotdata: { prefix: "iot-data", name: "IotData", cors: !0 }, kinesis: { name: "Kinesis", cors: !0 }, kinesisanalytics: { name: "KinesisAnalytics" }, kms: { name: "KMS", cors: !0 }, lambda: { name: "Lambda", cors: !0 }, lexruntime: { prefix: "runtime.lex", name: "LexRuntime", cors: !0 }, lightsail: { name: "Lightsail" }, machinelearning: { name: "MachineLearning", cors: !0 }, marketplacecommerceanalytics: { name: "MarketplaceCommerceAnalytics", cors: !0 }, marketplacemetering: { prefix: "meteringmarketplace", name: "MarketplaceMetering" }, mturk: { prefix: "mturk-requester", name: "MTurk", cors: !0 }, mobileanalytics: { name: "MobileAnalytics", cors: !0 }, opsworks: { name: "OpsWorks", cors: !0 }, opsworkscm: { name: "OpsWorksCM" }, organizations: { name: "Organizations" }, pinpoint: { name: "Pinpoint" }, polly: { name: "Polly", cors: !0 }, rds: { name: "RDS", versions: ["2014-09-01*"], cors: !0 }, redshift: { name: "Redshift", cors: !0 }, rekognition: { name: "Rekognition", cors: !0 }, resourcegroupstaggingapi: { name: "ResourceGroupsTaggingAPI" }, route53: { name: "Route53", cors: !0 }, route53domains: { name: "Route53Domains", cors: !0 }, s3: { name: "S3", dualstackAvailable: !0, cors: !0 }, s3control: { name: "S3Control", dualstackAvailable: !0, xmlNoDefaultLists: !0 }, servicecatalog: { name: "ServiceCatalog", cors: !0 }, ses: { prefix: "email", name: "SES", cors: !0 }, shield: { name: "Shield" }, simpledb: { prefix: "sdb", name: "SimpleDB" }, sms: { name: "SMS" }, snowball: { name: "Snowball" }, sns: { name: "SNS", cors: !0 }, sqs: { name: "SQS", cors: !0 }, ssm: { name: "SSM", cors: !0 }, storagegateway: { name: "StorageGateway", cors: !0 }, stepfunctions: { prefix: "states", name: "StepFunctions" }, sts: { name: "STS", cors: !0 }, support: { name: "Support" }, swf: { name: "SWF" }, xray: { name: "XRay", cors: !0 }, waf: { name: "WAF", cors: !0 }, wafregional: { prefix: "waf-regional", name: "WAFRegional" }, workdocs: { name: "WorkDocs", cors: !0 }, workspaces: { name: "WorkSpaces" }, codestar: { name: "CodeStar" }, lexmodelbuildingservice: { prefix: "lex-models", name: "LexModelBuildingService", cors: !0 }, marketplaceentitlementservice: { prefix: "entitlement.marketplace", name: "MarketplaceEntitlementService" }, athena: { name: "Athena", cors: !0 }, greengrass: { name: "Greengrass" }, dax: { name: "DAX" }, migrationhub: { prefix: "AWSMigrationHub", name: "MigrationHub" }, cloudhsmv2: { name: "CloudHSMV2", cors: !0 }, glue: { name: "Glue" }, mobile: { name: "Mobile" }, pricing: { name: "Pricing", cors: !0 }, costexplorer: { prefix: "ce", name: "CostExplorer", cors: !0 }, mediaconvert: { name: "MediaConvert" }, medialive: { name: "MediaLive" }, mediapackage: { name: "MediaPackage" }, mediastore: { name: "MediaStore" }, mediastoredata: { prefix: "mediastore-data", name: "MediaStoreData", cors: !0 }, appsync: { name: "AppSync" }, guardduty: { name: "GuardDuty" }, mq: { name: "MQ" }, comprehend: { name: "Comprehend", cors: !0 }, iotjobsdataplane: { prefix: "iot-jobs-data", name: "IoTJobsDataPlane" }, kinesisvideoarchivedmedia: { prefix: "kinesis-video-archived-media", name: "KinesisVideoArchivedMedia", cors: !0 }, kinesisvideomedia: { prefix: "kinesis-video-media", name: "KinesisVideoMedia", cors: !0 }, kinesisvideo: { name: "KinesisVideo", cors: !0 }, sagemakerruntime: { prefix: "runtime.sagemaker", name: "SageMakerRuntime" }, sagemaker: { name: "SageMaker" }, translate: { name: "Translate", cors: !0 }, resourcegroups: { prefix: "resource-groups", name: "ResourceGroups", cors: !0 }, alexaforbusiness: { name: "AlexaForBusiness" }, cloud9: { name: "Cloud9" }, serverlessapplicationrepository: { prefix: "serverlessrepo", name: "ServerlessApplicationRepository" }, servicediscovery: { name: "ServiceDiscovery" }, workmail: { name: "WorkMail" }, autoscalingplans: { prefix: "autoscaling-plans", name: "AutoScalingPlans" }, transcribeservice: { prefix: "transcribe", name: "TranscribeService" }, connect: { name: "Connect", cors: !0 }, acmpca: { prefix: "acm-pca", name: "ACMPCA" }, fms: { name: "FMS" }, secretsmanager: { name: "SecretsManager", cors: !0 }, iotanalytics: { name: "IoTAnalytics", cors: !0 }, iot1clickdevicesservice: { prefix: "iot1click-devices", name: "IoT1ClickDevicesService" }, iot1clickprojects: { prefix: "iot1click-projects", name: "IoT1ClickProjects" }, pi: { name: "PI" }, neptune: { name: "Neptune" }, mediatailor: { name: "MediaTailor" }, eks: { name: "EKS" }, macie: { name: "Macie" }, dlm: { name: "DLM" }, signer: { name: "Signer" }, chime: { name: "Chime" }, pinpointemail: { prefix: "pinpoint-email", name: "PinpointEmail" }, ram: { name: "RAM" }, route53resolver: { name: "Route53Resolver" }, pinpointsmsvoice: { prefix: "sms-voice", name: "PinpointSMSVoice" }, quicksight: { name: "QuickSight" }, rdsdataservice: { prefix: "rds-data", name: "RDSDataService" }, amplify: { name: "Amplify" }, datasync: { name: "DataSync" }, robomaker: { name: "RoboMaker" }, transfer: { name: "Transfer" }, globalaccelerator: { name: "GlobalAccelerator" }, comprehendmedical: { name: "ComprehendMedical", cors: !0 }, kinesisanalyticsv2: { name: "KinesisAnalyticsV2" }, mediaconnect: { name: "MediaConnect" }, fsx: { name: "FSx" }, securityhub: { name: "SecurityHub" }, appmesh: { name: "AppMesh", versions: ["2018-10-01*"] }, licensemanager: { prefix: "license-manager", name: "LicenseManager" }, kafka: { name: "Kafka" }, apigatewaymanagementapi: { name: "ApiGatewayManagementApi" }, apigatewayv2: { name: "ApiGatewayV2" }, docdb: { name: "DocDB" }, backup: { name: "Backup" }, worklink: { name: "WorkLink" }, textract: { name: "Textract" }, managedblockchain: { name: "ManagedBlockchain" }, mediapackagevod: { prefix: "mediapackage-vod", name: "MediaPackageVod" }, groundstation: { name: "GroundStation" }, iotthingsgraph: { name: "IoTThingsGraph" }, iotevents: { name: "IoTEvents" }, ioteventsdata: { prefix: "iotevents-data", name: "IoTEventsData" }, personalize: { name: "Personalize", cors: !0 }, personalizeevents: { prefix: "personalize-events", name: "PersonalizeEvents", cors: !0 }, personalizeruntime: { prefix: "personalize-runtime", name: "PersonalizeRuntime", cors: !0 }, applicationinsights: { prefix: "application-insights", name: "ApplicationInsights" }, servicequotas: { prefix: "service-quotas", name: "ServiceQuotas" }, ec2instanceconnect: { prefix: "ec2-instance-connect", name: "EC2InstanceConnect" }, eventbridge: { name: "EventBridge" }, lakeformation: { name: "LakeFormation" }, forecastservice: { prefix: "forecast", name: "ForecastService", cors: !0 }, forecastqueryservice: { prefix: "forecastquery", name: "ForecastQueryService", cors: !0 }, qldb: { name: "QLDB" }, qldbsession: { prefix: "qldb-session", name: "QLDBSession" }, workmailmessageflow: { name: "WorkMailMessageFlow" }, codestarnotifications: { prefix: "codestar-notifications", name: "CodeStarNotifications" }, savingsplans: { name: "SavingsPlans" }, sso: { name: "SSO" }, ssooidc: { prefix: "sso-oidc", name: "SSOOIDC" }, marketplacecatalog: { prefix: "marketplace-catalog", name: "MarketplaceCatalog", cors: !0 }, dataexchange: { name: "DataExchange" }, sesv2: { name: "SESV2" }, migrationhubconfig: { prefix: "migrationhub-config", name: "MigrationHubConfig" }, connectparticipant: { name: "ConnectParticipant" }, appconfig: { name: "AppConfig" }, iotsecuretunneling: { name: "IoTSecureTunneling" }, wafv2: { name: "WAFV2" }, elasticinference: { prefix: "elastic-inference", name: "ElasticInference" }, imagebuilder: { name: "Imagebuilder" }, schemas: { name: "Schemas" }, accessanalyzer: { name: "AccessAnalyzer" }, codegurureviewer: { prefix: "codeguru-reviewer", name: "CodeGuruReviewer" }, codeguruprofiler: { name: "CodeGuruProfiler" }, computeoptimizer: { prefix: "compute-optimizer", name: "ComputeOptimizer" }, frauddetector: { name: "FraudDetector" }, kendra: { name: "Kendra" }, networkmanager: { name: "NetworkManager" }, outposts: { name: "Outposts" }, augmentedairuntime: { prefix: "sagemaker-a2i-runtime", name: "AugmentedAIRuntime" }, ebs: { name: "EBS" }, kinesisvideosignalingchannels: { prefix: "kinesis-video-signaling", name: "KinesisVideoSignalingChannels", cors: !0 }, detective: { name: "Detective" }, codestarconnections: { prefix: "codestar-connections", name: "CodeStarconnections" }, synthetics: { name: "Synthetics" }, iotsitewise: { name: "IoTSiteWise" }, macie2: { name: "Macie2" }, codeartifact: { name: "CodeArtifact" }, honeycode: { name: "Honeycode" }, ivs: { name: "IVS" }, braket: { name: "Braket" }, identitystore: { name: "IdentityStore" }, appflow: { name: "Appflow" }, redshiftdata: { prefix: "redshift-data", name: "RedshiftData" }, ssoadmin: { prefix: "sso-admin", name: "SSOAdmin" }, timestreamquery: { prefix: "timestream-query", name: "TimestreamQuery" }, timestreamwrite: { prefix: "timestream-write", name: "TimestreamWrite" }, s3outposts: { name: "S3Outposts" }, databrew: { name: "DataBrew" }, servicecatalogappregistry: { prefix: "servicecatalog-appregistry", name: "ServiceCatalogAppRegistry" }, networkfirewall: { prefix: "network-firewall", name: "NetworkFirewall" }, mwaa: { name: "MWAA" }, amplifybackend: { name: "AmplifyBackend" }, appintegrations: { name: "AppIntegrations" }, connectcontactlens: { prefix: "connect-contact-lens", name: "ConnectContactLens" }, devopsguru: { prefix: "devops-guru", name: "DevOpsGuru" }, ecrpublic: { prefix: "ecr-public", name: "ECRPUBLIC" }, lookoutvision: { name: "LookoutVision" }, sagemakerfeaturestoreruntime: { prefix: "sagemaker-featurestore-runtime", name: "SageMakerFeatureStoreRuntime" }, customerprofiles: { prefix: "customer-profiles", name: "CustomerProfiles" }, auditmanager: { name: "AuditManager" }, emrcontainers: { prefix: "emr-containers", name: "EMRcontainers" }, healthlake: { name: "HealthLake" }, sagemakeredge: { prefix: "sagemaker-edge", name: "SagemakerEdge" }, amp: { name: "Amp", cors: !0 }, greengrassv2: { name: "GreengrassV2" }, iotdeviceadvisor: { name: "IotDeviceAdvisor" }, iotfleethub: { name: "IoTFleetHub" }, iotwireless: { name: "IoTWireless" }, location: { name: "Location", cors: !0 }, wellarchitected: { name: "WellArchitected" }, lexmodelsv2: { prefix: "models.lex.v2", name: "LexModelsV2" }, lexruntimev2: { prefix: "runtime.lex.v2", name: "LexRuntimeV2", cors: !0 }, fis: { name: "Fis" }, lookoutmetrics: { name: "LookoutMetrics" }, mgn: { name: "Mgn" }, lookoutequipment: { name: "LookoutEquipment" }, nimble: { name: "Nimble" }, finspace: { name: "Finspace" }, finspacedata: { prefix: "finspace-data", name: "Finspacedata" }, ssmcontacts: { prefix: "ssm-contacts", name: "SSMContacts" }, ssmincidents: { prefix: "ssm-incidents", name: "SSMIncidents" }, applicationcostprofiler: { name: "ApplicationCostProfiler" }, apprunner: { name: "AppRunner" }, proton: { name: "Proton" }, route53recoverycluster: { prefix: "route53-recovery-cluster", name: "Route53RecoveryCluster" }, route53recoverycontrolconfig: { prefix: "route53-recovery-control-config", name: "Route53RecoveryControlConfig" }, route53recoveryreadiness: { prefix: "route53-recovery-readiness", name: "Route53RecoveryReadiness" }, chimesdkidentity: { prefix: "chime-sdk-identity", name: "ChimeSDKIdentity" }, chimesdkmessaging: { prefix: "chime-sdk-messaging", name: "ChimeSDKMessaging" }, snowdevicemanagement: { prefix: "snow-device-management", name: "SnowDeviceManagement" }, memorydb: { name: "MemoryDB" }, opensearch: { name: "OpenSearch" }, kafkaconnect: { name: "KafkaConnect" }, voiceid: { prefix: "voice-id", name: "VoiceID" }, wisdom: { name: "Wisdom" }, account: { name: "Account" }, cloudcontrol: { name: "CloudControl" }, grafana: { name: "Grafana" }, panorama: { name: "Panorama" }, chimesdkmeetings: { prefix: "chime-sdk-meetings", name: "ChimeSDKMeetings" }, resiliencehub: { name: "Resiliencehub" }, migrationhubstrategy: { name: "MigrationHubStrategy" }, appconfigdata: { name: "AppConfigData" }, drs: { name: "Drs" }, migrationhubrefactorspaces: { prefix: "migration-hub-refactor-spaces", name: "MigrationHubRefactorSpaces" }, evidently: { name: "Evidently" }, inspector2: { name: "Inspector2" }, rbin: { name: "Rbin" }, rum: { name: "RUM" }, backupgateway: { prefix: "backup-gateway", name: "BackupGateway" }, iottwinmaker: { name: "IoTTwinMaker" }, workspacesweb: { prefix: "workspaces-web", name: "WorkSpacesWeb" }, amplifyuibuilder: { name: "AmplifyUIBuilder" }, keyspaces: { name: "Keyspaces" }, billingconductor: { name: "Billingconductor" }, gamesparks: { name: "GameSparks" }, pinpointsmsvoicev2: { prefix: "pinpoint-sms-voice-v2", name: "PinpointSMSVoiceV2" }, ivschat: { name: "Ivschat" }, chimesdkmediapipelines: { prefix: "chime-sdk-media-pipelines", name: "ChimeSDKMediaPipelines" }, emrserverless: { prefix: "emr-serverless", name: "EMRServerless" }, m2: { name: "M2" }, connectcampaigns: { name: "ConnectCampaigns" }, redshiftserverless: { prefix: "redshift-serverless", name: "RedshiftServerless" }, rolesanywhere: { name: "RolesAnywhere" }, licensemanagerusersubscriptions: { prefix: "license-manager-user-subscriptions", name: "LicenseManagerUserSubscriptions" }, backupstorage: { name: "BackupStorage" }, privatenetworks: { name: "PrivateNetworks" }, supportapp: { prefix: "support-app", name: "SupportApp" }, controltower: { name: "ControlTower" }, iotfleetwise: { name: "IoTFleetWise" }, migrationhuborchestrator: { name: "MigrationHubOrchestrator" }, connectcases: { name: "ConnectCases" }, resourceexplorer2: { prefix: "resource-explorer-2", name: "ResourceExplorer2" }, scheduler: { name: "Scheduler" }, chimesdkvoice: { prefix: "chime-sdk-voice", name: "ChimeSDKVoice" }, iotroborunner: { prefix: "iot-roborunner", name: "IoTRoboRunner" }, ssmsap: { prefix: "ssm-sap", name: "SsmSap" }, oam: { name: "OAM" }, arczonalshift: { prefix: "arc-zonal-shift", name: "ARCZonalShift" }, omics: { name: "Omics" }, opensearchserverless: { name: "OpenSearchServerless" }, securitylake: { name: "SecurityLake" }, simspaceweaver: { name: "SimSpaceWeaver" }, docdbelastic: { prefix: "docdb-elastic", name: "DocDBElastic" }, sagemakergeospatial: { prefix: "sagemaker-geospatial", name: "SageMakerGeospatial" }, codecatalyst: { name: "CodeCatalyst" }, pipes: { name: "Pipes" }, sagemakermetrics: { prefix: "sagemaker-metrics", name: "SageMakerMetrics" }, kinesisvideowebrtcstorage: { prefix: "kinesis-video-webrtc-storage", name: "KinesisVideoWebRTCStorage" }, licensemanagerlinuxsubscriptions: { prefix: "license-manager-linux-subscriptions", name: "LicenseManagerLinuxSubscriptions" }, kendraranking: { prefix: "kendra-ranking", name: "KendraRanking" }, cleanrooms: { name: "CleanRooms" }, cloudtraildata: { prefix: "cloudtrail-data", name: "CloudTrailData" }, tnb: { name: "Tnb" }, internetmonitor: { name: "InternetMonitor" }, ivsrealtime: { prefix: "ivs-realtime", name: "IVSRealTime" }, vpclattice: { prefix: "vpc-lattice", name: "VPCLattice" }, osis: { name: "OSIS" }, mediapackagev2: { name: "MediaPackageV2" }, paymentcryptography: { prefix: "payment-cryptography", name: "PaymentCryptography" }, paymentcryptographydata: { prefix: "payment-cryptography-data", name: "PaymentCryptographyData" }, codegurusecurity: { prefix: "codeguru-security", name: "CodeGuruSecurity" }, verifiedpermissions: { name: "VerifiedPermissions" }, appfabric: { name: "AppFabric" }, medicalimaging: { prefix: "medical-imaging", name: "MedicalImaging" }, entityresolution: { name: "EntityResolution" }, managedblockchainquery: { prefix: "managedblockchain-query", name: "ManagedBlockchainQuery" }, neptunedata: { name: "Neptunedata" }, pcaconnectorad: { prefix: "pca-connector-ad", name: "PcaConnectorAd" } };
      }, {}], 22: [function(_, U, L) {
        function h(s) {
          return s && s.__esModule ? s : { default: s };
        }
        Object.defineProperty(L, "__esModule", { value: !0 }), Object.defineProperty(L, "v1", { enumerable: !0, get: function() {
          return p.default;
        } }), Object.defineProperty(L, "v3", { enumerable: !0, get: function() {
          return c.default;
        } }), Object.defineProperty(L, "v4", { enumerable: !0, get: function() {
          return o.default;
        } }), Object.defineProperty(L, "v5", { enumerable: !0, get: function() {
          return r.default;
        } });
        var p = h(_("./v1.js")), c = h(_("./v3.js")), o = h(_("./v4.js")), r = h(_("./v5.js"));
      }, { "./v1.js": 26, "./v3.js": 27, "./v4.js": 29, "./v5.js": 30 }], 30: [function(_, U, L) {
        function h(r) {
          return r && r.__esModule ? r : { default: r };
        }
        Object.defineProperty(L, "__esModule", { value: !0 }), L.default = void 0;
        var p = h(_("./v35.js")), c = h(_("./sha1.js")), o = (0, p.default)("v5", 80, c.default);
        L.default = o;
      }, { "./sha1.js": 25, "./v35.js": 28 }], 25: [function(_, U, L) {
        function h(c, o, r, s) {
          switch (c) {
            case 0:
              return o & r ^ ~o & s;
            case 1:
            case 3:
              return o ^ r ^ s;
            case 2:
              return o & r ^ o & s ^ r & s;
          }
        }
        function p(c, o) {
          return c << o | c >>> 32 - o;
        }
        Object.defineProperty(L, "__esModule", { value: !0 }), L.default = void 0, L.default = function(c) {
          var o = [1518500249, 1859775393, 2400959708, 3395469782], r = [1732584193, 4023233417, 2562383102, 271733878, 3285377520];
          if (typeof c == "string") {
            var s = unescape(encodeURIComponent(c));
            c = new Array(s.length);
            for (var d = 0; d < s.length; d++)
              c[d] = s.charCodeAt(d);
          }
          c.push(128);
          var a = c.length / 4 + 2, u = Math.ceil(a / 16), l = new Array(u);
          for (d = 0; d < u; d++) {
            l[d] = new Array(16);
            for (var m = 0; m < 16; m++)
              l[d][m] = c[64 * d + 4 * m] << 24 | c[64 * d + 4 * m + 1] << 16 | c[64 * d + 4 * m + 2] << 8 | c[64 * d + 4 * m + 3];
          }
          for (l[u - 1][14] = 8 * (c.length - 1) / Math.pow(2, 32), l[u - 1][14] = Math.floor(l[u - 1][14]), l[u - 1][15] = 8 * (c.length - 1) & 4294967295, d = 0; d < u; d++) {
            for (var v = new Array(80), C = 0; C < 16; C++)
              v[C] = l[d][C];
            for (C = 16; C < 80; C++)
              v[C] = p(v[C - 3] ^ v[C - 8] ^ v[C - 14] ^ v[C - 16], 1);
            var E = r[0], k = r[1], O = r[2], P = r[3], z = r[4];
            for (C = 0; C < 80; C++) {
              var R = Math.floor(C / 20), q = p(E, 5) + h(R, k, O, P) + z + o[R] + v[C] >>> 0;
              z = P, P = O, O = p(k, 30) >>> 0, k = E, E = q;
            }
            r[0] = r[0] + E >>> 0, r[1] = r[1] + k >>> 0, r[2] = r[2] + O >>> 0, r[3] = r[3] + P >>> 0, r[4] = r[4] + z >>> 0;
          }
          return [r[0] >> 24 & 255, r[0] >> 16 & 255, r[0] >> 8 & 255, 255 & r[0], r[1] >> 24 & 255, r[1] >> 16 & 255, r[1] >> 8 & 255, 255 & r[1], r[2] >> 24 & 255, r[2] >> 16 & 255, r[2] >> 8 & 255, 255 & r[2], r[3] >> 24 & 255, r[3] >> 16 & 255, r[3] >> 8 & 255, 255 & r[3], r[4] >> 24 & 255, r[4] >> 16 & 255, r[4] >> 8 & 255, 255 & r[4]];
        };
      }, {}], 29: [function(_, U, L) {
        function h(o) {
          return o && o.__esModule ? o : { default: o };
        }
        Object.defineProperty(L, "__esModule", { value: !0 }), L.default = void 0;
        var p = h(_("./rng.js")), c = h(_("./bytesToUuid.js"));
        L.default = function(o, r, s) {
          var d = r && s || 0;
          typeof o == "string" && (r = o === "binary" ? new Array(16) : null, o = null);
          var a = (o = o || {}).random || (o.rng || p.default)();
          if (a[6] = 15 & a[6] | 64, a[8] = 63 & a[8] | 128, r)
            for (var u = 0; u < 16; ++u)
              r[d + u] = a[u];
          return r || (0, c.default)(a);
        };
      }, { "./bytesToUuid.js": 21, "./rng.js": 24 }], 27: [function(_, U, L) {
        function h(r) {
          return r && r.__esModule ? r : { default: r };
        }
        Object.defineProperty(L, "__esModule", { value: !0 }), L.default = void 0;
        var p = h(_("./v35.js")), c = h(_("./md5.js")), o = (0, p.default)("v3", 48, c.default);
        L.default = o;
      }, { "./md5.js": 23, "./v35.js": 28 }], 28: [function(_, U, L) {
        Object.defineProperty(L, "__esModule", { value: !0 }), L.default = function(o, r, s) {
          var d = function(a, u, l, m) {
            var v = l && m || 0;
            if (typeof a == "string" && (a = function(k) {
              k = unescape(encodeURIComponent(k));
              for (var O = new Array(k.length), P = 0; P < k.length; P++)
                O[P] = k.charCodeAt(P);
              return O;
            }(a)), typeof u == "string" && (u = function(k) {
              var O = [];
              return k.replace(/[a-fA-F0-9]{2}/g, function(P) {
                O.push(parseInt(P, 16));
              }), O;
            }(u)), !Array.isArray(a))
              throw TypeError("value must be an array of bytes");
            if (!Array.isArray(u) || u.length !== 16)
              throw TypeError("namespace must be uuid string or an Array of 16 byte values");
            var C = s(u.concat(a));
            if (C[6] = 15 & C[6] | r, C[8] = 63 & C[8] | 128, l)
              for (var E = 0; E < 16; ++E)
                l[v + E] = C[E];
            return l || (0, h.default)(C);
          };
          try {
            d.name = o;
          } catch {
          }
          return d.DNS = p, d.URL = c, d;
        }, L.URL = L.DNS = void 0;
        var h = function(o) {
          return o && o.__esModule ? o : { default: o };
        }(_("./bytesToUuid.js")), p = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
        L.DNS = p;
        var c = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
        L.URL = c;
      }, { "./bytesToUuid.js": 21 }], 23: [function(_, U, L) {
        function h(d, a) {
          var u = (65535 & d) + (65535 & a);
          return (d >> 16) + (a >> 16) + (u >> 16) << 16 | 65535 & u;
        }
        function p(d, a, u, l, m, v) {
          return h(function(C, E) {
            return C << E | C >>> 32 - E;
          }(h(h(a, d), h(l, v)), m), u);
        }
        function c(d, a, u, l, m, v, C) {
          return p(a & u | ~a & l, d, a, m, v, C);
        }
        function o(d, a, u, l, m, v, C) {
          return p(a & l | u & ~l, d, a, m, v, C);
        }
        function r(d, a, u, l, m, v, C) {
          return p(a ^ u ^ l, d, a, m, v, C);
        }
        function s(d, a, u, l, m, v, C) {
          return p(u ^ (a | ~l), d, a, m, v, C);
        }
        Object.defineProperty(L, "__esModule", { value: !0 }), L.default = void 0, L.default = function(d) {
          if (typeof d == "string") {
            var a = unescape(encodeURIComponent(d));
            d = new Array(a.length);
            for (var u = 0; u < a.length; u++)
              d[u] = a.charCodeAt(u);
          }
          return function(l) {
            var m, v, C, E = [], k = 32 * l.length, O = "0123456789abcdef";
            for (m = 0; m < k; m += 8)
              v = l[m >> 5] >>> m % 32 & 255, C = parseInt(O.charAt(v >>> 4 & 15) + O.charAt(15 & v), 16), E.push(C);
            return E;
          }(function(l, m) {
            l[m >> 5] |= 128 << m % 32, l[14 + (m + 64 >>> 9 << 4)] = m;
            var v, C, E, k, O, P = 1732584193, z = -271733879, R = -1732584194, q = 271733878;
            for (v = 0; v < l.length; v += 16)
              C = P, E = z, k = R, O = q, P = c(P, z, R, q, l[v], 7, -680876936), q = c(q, P, z, R, l[v + 1], 12, -389564586), R = c(R, q, P, z, l[v + 2], 17, 606105819), z = c(z, R, q, P, l[v + 3], 22, -1044525330), P = c(P, z, R, q, l[v + 4], 7, -176418897), q = c(q, P, z, R, l[v + 5], 12, 1200080426), R = c(R, q, P, z, l[v + 6], 17, -1473231341), z = c(z, R, q, P, l[v + 7], 22, -45705983), P = c(P, z, R, q, l[v + 8], 7, 1770035416), q = c(q, P, z, R, l[v + 9], 12, -1958414417), R = c(R, q, P, z, l[v + 10], 17, -42063), z = c(z, R, q, P, l[v + 11], 22, -1990404162), P = c(P, z, R, q, l[v + 12], 7, 1804603682), q = c(q, P, z, R, l[v + 13], 12, -40341101), R = c(R, q, P, z, l[v + 14], 17, -1502002290), P = o(P, z = c(z, R, q, P, l[v + 15], 22, 1236535329), R, q, l[v + 1], 5, -165796510), q = o(q, P, z, R, l[v + 6], 9, -1069501632), R = o(R, q, P, z, l[v + 11], 14, 643717713), z = o(z, R, q, P, l[v], 20, -373897302), P = o(P, z, R, q, l[v + 5], 5, -701558691), q = o(q, P, z, R, l[v + 10], 9, 38016083), R = o(R, q, P, z, l[v + 15], 14, -660478335), z = o(z, R, q, P, l[v + 4], 20, -405537848), P = o(P, z, R, q, l[v + 9], 5, 568446438), q = o(q, P, z, R, l[v + 14], 9, -1019803690), R = o(R, q, P, z, l[v + 3], 14, -187363961), z = o(z, R, q, P, l[v + 8], 20, 1163531501), P = o(P, z, R, q, l[v + 13], 5, -1444681467), q = o(q, P, z, R, l[v + 2], 9, -51403784), R = o(R, q, P, z, l[v + 7], 14, 1735328473), P = r(P, z = o(z, R, q, P, l[v + 12], 20, -1926607734), R, q, l[v + 5], 4, -378558), q = r(q, P, z, R, l[v + 8], 11, -2022574463), R = r(R, q, P, z, l[v + 11], 16, 1839030562), z = r(z, R, q, P, l[v + 14], 23, -35309556), P = r(P, z, R, q, l[v + 1], 4, -1530992060), q = r(q, P, z, R, l[v + 4], 11, 1272893353), R = r(R, q, P, z, l[v + 7], 16, -155497632), z = r(z, R, q, P, l[v + 10], 23, -1094730640), P = r(P, z, R, q, l[v + 13], 4, 681279174), q = r(q, P, z, R, l[v], 11, -358537222), R = r(R, q, P, z, l[v + 3], 16, -722521979), z = r(z, R, q, P, l[v + 6], 23, 76029189), P = r(P, z, R, q, l[v + 9], 4, -640364487), q = r(q, P, z, R, l[v + 12], 11, -421815835), R = r(R, q, P, z, l[v + 15], 16, 530742520), P = s(P, z = r(z, R, q, P, l[v + 2], 23, -995338651), R, q, l[v], 6, -198630844), q = s(q, P, z, R, l[v + 7], 10, 1126891415), R = s(R, q, P, z, l[v + 14], 15, -1416354905), z = s(z, R, q, P, l[v + 5], 21, -57434055), P = s(P, z, R, q, l[v + 12], 6, 1700485571), q = s(q, P, z, R, l[v + 3], 10, -1894986606), R = s(R, q, P, z, l[v + 10], 15, -1051523), z = s(z, R, q, P, l[v + 1], 21, -2054922799), P = s(P, z, R, q, l[v + 8], 6, 1873313359), q = s(q, P, z, R, l[v + 15], 10, -30611744), R = s(R, q, P, z, l[v + 6], 15, -1560198380), z = s(z, R, q, P, l[v + 13], 21, 1309151649), P = s(P, z, R, q, l[v + 4], 6, -145523070), q = s(q, P, z, R, l[v + 11], 10, -1120210379), R = s(R, q, P, z, l[v + 2], 15, 718787259), z = s(z, R, q, P, l[v + 9], 21, -343485551), P = h(P, C), z = h(z, E), R = h(R, k), q = h(q, O);
            return [P, z, R, q];
          }(function(l) {
            var m, v = [];
            for (v[(l.length >> 2) - 1] = void 0, m = 0; m < v.length; m += 1)
              v[m] = 0;
            var C = 8 * l.length;
            for (m = 0; m < C; m += 8)
              v[m >> 5] |= (255 & l[m / 8]) << m % 32;
            return v;
          }(d), 8 * d.length));
        };
      }, {}], 26: [function(_, U, L) {
        function h(a) {
          return a && a.__esModule ? a : { default: a };
        }
        Object.defineProperty(L, "__esModule", { value: !0 }), L.default = void 0;
        var p, c, o = h(_("./rng.js")), r = h(_("./bytesToUuid.js")), s = 0, d = 0;
        L.default = function(a, u, l) {
          var m = u && l || 0, v = u || [], C = (a = a || {}).node || p, E = a.clockseq !== void 0 ? a.clockseq : c;
          if (C == null || E == null) {
            var k = a.random || (a.rng || o.default)();
            C == null && (C = p = [1 | k[0], k[1], k[2], k[3], k[4], k[5]]), E == null && (E = c = 16383 & (k[6] << 8 | k[7]));
          }
          var O = a.msecs !== void 0 ? a.msecs : (/* @__PURE__ */ new Date()).getTime(), P = a.nsecs !== void 0 ? a.nsecs : d + 1, z = O - s + (P - d) / 1e4;
          if (z < 0 && a.clockseq === void 0 && (E = E + 1 & 16383), (z < 0 || O > s) && a.nsecs === void 0 && (P = 0), P >= 1e4)
            throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
          s = O, d = P, c = E;
          var R = (1e4 * (268435455 & (O += 122192928e5)) + P) % 4294967296;
          v[m++] = R >>> 24 & 255, v[m++] = R >>> 16 & 255, v[m++] = R >>> 8 & 255, v[m++] = 255 & R;
          var q = O / 4294967296 * 1e4 & 268435455;
          v[m++] = q >>> 8 & 255, v[m++] = 255 & q, v[m++] = q >>> 24 & 15 | 16, v[m++] = q >>> 16 & 255, v[m++] = E >>> 8 | 128, v[m++] = 255 & E;
          for (var F = 0; F < 6; ++F)
            v[m + F] = C[F];
          return u || (0, r.default)(v);
        };
      }, { "./bytesToUuid.js": 21, "./rng.js": 24 }], 24: [function(_, U, L) {
        Object.defineProperty(L, "__esModule", { value: !0 }), L.default = function() {
          if (!h)
            throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
          return h(p);
        };
        var h = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto < "u" && typeof msCrypto.getRandomValues == "function" && msCrypto.getRandomValues.bind(msCrypto), p = new Uint8Array(16);
      }, {}], 21: [function(_, U, L) {
        Object.defineProperty(L, "__esModule", { value: !0 }), L.default = void 0;
        for (var h = [], p = 0; p < 256; ++p)
          h[p] = (p + 256).toString(16).substr(1);
        L.default = function(c, o) {
          var r = o || 0, s = h;
          return [s[c[r++]], s[c[r++]], s[c[r++]], s[c[r++]], "-", s[c[r++]], s[c[r++]], "-", s[c[r++]], s[c[r++]], "-", s[c[r++]], s[c[r++]], "-", s[c[r++]], s[c[r++]], s[c[r++]], s[c[r++]], s[c[r++]], s[c[r++]]].join("");
        };
      }, {}], 19: [function(_, U, L) {
        (function(h, p) {
          (function() {
            function c(u, l) {
              this._id = u, this._clearFn = l;
            }
            var o = _("process/browser.js").nextTick, r = Function.prototype.apply, s = Array.prototype.slice, d = {}, a = 0;
            L.setTimeout = function() {
              return new c(r.call(setTimeout, window, arguments), clearTimeout);
            }, L.setInterval = function() {
              return new c(r.call(setInterval, window, arguments), clearInterval);
            }, L.clearTimeout = L.clearInterval = function(u) {
              u.close();
            }, c.prototype.unref = c.prototype.ref = function() {
            }, c.prototype.close = function() {
              this._clearFn.call(window, this._id);
            }, L.enroll = function(u, l) {
              clearTimeout(u._idleTimeoutId), u._idleTimeout = l;
            }, L.unenroll = function(u) {
              clearTimeout(u._idleTimeoutId), u._idleTimeout = -1;
            }, L._unrefActive = L.active = function(u) {
              clearTimeout(u._idleTimeoutId);
              var l = u._idleTimeout;
              l >= 0 && (u._idleTimeoutId = setTimeout(function() {
                u._onTimeout && u._onTimeout();
              }, l));
            }, L.setImmediate = typeof h == "function" ? h : function(u) {
              var l = a++, m = !(arguments.length < 2) && s.call(arguments, 1);
              return d[l] = !0, o(function() {
                d[l] && (m ? u.apply(null, m) : u.call(null), L.clearImmediate(l));
              }), l;
            }, L.clearImmediate = typeof p == "function" ? p : function(u) {
              delete d[u];
            };
          }).call(this);
        }).call(this, _("timers").setImmediate, _("timers").clearImmediate);
      }, { "process/browser.js": 11, timers: 19 }], 10: [function(_, U, L) {
        (function(h) {
          function p(w) {
            return w !== null && Object.prototype.toString.call(w) === "[object Array]";
          }
          function c(w) {
            return w !== null && Object.prototype.toString.call(w) === "[object Object]";
          }
          function o(w, b) {
            if (w === b)
              return !0;
            if (Object.prototype.toString.call(w) !== Object.prototype.toString.call(b))
              return !1;
            if (p(w) === !0) {
              if (w.length !== b.length)
                return !1;
              for (var N = 0; N < w.length; N++)
                if (o(w[N], b[N]) === !1)
                  return !1;
              return !0;
            }
            if (c(w) === !0) {
              var W = {};
              for (var X in w)
                if (hasOwnProperty.call(w, X)) {
                  if (o(w[X], b[X]) === !1)
                    return !1;
                  W[X] = !0;
                }
              for (var oe in b)
                if (hasOwnProperty.call(b, oe) && W[oe] !== !0)
                  return !1;
              return !0;
            }
            return !1;
          }
          function r(w) {
            if (w === "" || w === !1 || w === null || p(w) && w.length === 0)
              return !0;
            if (c(w)) {
              for (var b in w)
                if (w.hasOwnProperty(b))
                  return !1;
              return !0;
            }
            return !1;
          }
          function s(w) {
            return w >= "a" && w <= "z" || w >= "A" && w <= "Z" || w === "_";
          }
          function d(w) {
            return w >= "0" && w <= "9" || w === "-";
          }
          function a(w) {
            return w >= "a" && w <= "z" || w >= "A" && w <= "Z" || w >= "0" && w <= "9" || w === "_";
          }
          function u() {
          }
          function l() {
          }
          function m(w) {
            this.runtime = w;
          }
          function v(w) {
            this._interpreter = w, this.functionTable = { abs: { _func: this._functionAbs, _signature: [{ types: [E] }] }, avg: { _func: this._functionAvg, _signature: [{ types: [q] }] }, ceil: { _func: this._functionCeil, _signature: [{ types: [E] }] }, contains: { _func: this._functionContains, _signature: [{ types: [O, P] }, { types: [k] }] }, ends_with: { _func: this._functionEndsWith, _signature: [{ types: [O] }, { types: [O] }] }, floor: { _func: this._functionFloor, _signature: [{ types: [E] }] }, length: { _func: this._functionLength, _signature: [{ types: [O, P, z] }] }, map: { _func: this._functionMap, _signature: [{ types: [R] }, { types: [P] }] }, max: { _func: this._functionMax, _signature: [{ types: [q, F] }] }, merge: { _func: this._functionMerge, _signature: [{ types: [z], variadic: !0 }] }, max_by: { _func: this._functionMaxBy, _signature: [{ types: [P] }, { types: [R] }] }, sum: { _func: this._functionSum, _signature: [{ types: [q] }] }, starts_with: { _func: this._functionStartsWith, _signature: [{ types: [O] }, { types: [O] }] }, min: { _func: this._functionMin, _signature: [{ types: [q, F] }] }, min_by: { _func: this._functionMinBy, _signature: [{ types: [P] }, { types: [R] }] }, type: { _func: this._functionType, _signature: [{ types: [k] }] }, keys: { _func: this._functionKeys, _signature: [{ types: [z] }] }, values: { _func: this._functionValues, _signature: [{ types: [z] }] }, sort: { _func: this._functionSort, _signature: [{ types: [F, q] }] }, sort_by: { _func: this._functionSortBy, _signature: [{ types: [P] }, { types: [R] }] }, join: { _func: this._functionJoin, _signature: [{ types: [O] }, { types: [F] }] }, reverse: { _func: this._functionReverse, _signature: [{ types: [O, P] }] }, to_array: { _func: this._functionToArray, _signature: [{ types: [k] }] }, to_string: { _func: this._functionToString, _signature: [{ types: [k] }] }, to_number: { _func: this._functionToNumber, _signature: [{ types: [k] }] }, not_null: { _func: this._functionNotNull, _signature: [{ types: [k], variadic: !0 }] } };
          }
          var C;
          C = typeof String.prototype.trimLeft == "function" ? function(w) {
            return w.trimLeft();
          } : function(w) {
            return w.match(/^\s*(.*)/)[1];
          };
          var E = 0, k = 1, O = 2, P = 3, z = 4, R = 6, q = 8, F = 9, ae = { 0: "number", 1: "any", 2: "string", 3: "array", 4: "object", 5: "boolean", 6: "expression", 7: "null", 8: "Array<number>", 9: "Array<string>" }, Ae = { ".": "Dot", "*": "Star", ",": "Comma", ":": "Colon", "{": "Lbrace", "}": "Rbrace", "]": "Rbracket", "(": "Lparen", ")": "Rparen", "@": "Current" }, me = { "<": !0, ">": !0, "=": !0, "!": !0 }, Ne = { " ": !0, "	": !0, "\n": !0 };
          u.prototype = { tokenize: function(w) {
            var b, N, W, X = [];
            for (this._current = 0; this._current < w.length; )
              if (s(w[this._current]))
                b = this._current, N = this._consumeUnquotedIdentifier(w), X.push({ type: "UnquotedIdentifier", value: N, start: b });
              else if (Ae[w[this._current]] !== void 0)
                X.push({ type: Ae[w[this._current]], value: w[this._current], start: this._current }), this._current++;
              else if (d(w[this._current]))
                W = this._consumeNumber(w), X.push(W);
              else if (w[this._current] === "[")
                W = this._consumeLBracket(w), X.push(W);
              else if (w[this._current] === '"')
                b = this._current, N = this._consumeQuotedIdentifier(w), X.push({ type: "QuotedIdentifier", value: N, start: b });
              else if (w[this._current] === "'")
                b = this._current, N = this._consumeRawStringLiteral(w), X.push({ type: "Literal", value: N, start: b });
              else if (w[this._current] === "`") {
                b = this._current;
                var oe = this._consumeLiteral(w);
                X.push({ type: "Literal", value: oe, start: b });
              } else if (me[w[this._current]] !== void 0)
                X.push(this._consumeOperator(w));
              else if (Ne[w[this._current]] !== void 0)
                this._current++;
              else if (w[this._current] === "&")
                b = this._current, this._current++, w[this._current] === "&" ? (this._current++, X.push({ type: "And", value: "&&", start: b })) : X.push({ type: "Expref", value: "&", start: b });
              else {
                if (w[this._current] !== "|") {
                  var Ee = new Error("Unknown character:" + w[this._current]);
                  throw Ee.name = "LexerError", Ee;
                }
                b = this._current, this._current++, w[this._current] === "|" ? (this._current++, X.push({ type: "Or", value: "||", start: b })) : X.push({ type: "Pipe", value: "|", start: b });
              }
            return X;
          }, _consumeUnquotedIdentifier: function(w) {
            var b = this._current;
            for (this._current++; this._current < w.length && a(w[this._current]); )
              this._current++;
            return w.slice(b, this._current);
          }, _consumeQuotedIdentifier: function(w) {
            var b = this._current;
            this._current++;
            for (var N = w.length; w[this._current] !== '"' && this._current < N; ) {
              var W = this._current;
              w[W] !== "\\" || w[W + 1] !== "\\" && w[W + 1] !== '"' ? W++ : W += 2, this._current = W;
            }
            return this._current++, JSON.parse(w.slice(b, this._current));
          }, _consumeRawStringLiteral: function(w) {
            var b = this._current;
            this._current++;
            for (var N = w.length; w[this._current] !== "'" && this._current < N; ) {
              var W = this._current;
              w[W] !== "\\" || w[W + 1] !== "\\" && w[W + 1] !== "'" ? W++ : W += 2, this._current = W;
            }
            return this._current++, w.slice(b + 1, this._current - 1).replace("\\'", "'");
          }, _consumeNumber: function(w) {
            var b = this._current;
            this._current++;
            for (var N = w.length; d(w[this._current]) && this._current < N; )
              this._current++;
            return { type: "Number", value: parseInt(w.slice(b, this._current)), start: b };
          }, _consumeLBracket: function(w) {
            var b = this._current;
            return this._current++, w[this._current] === "?" ? (this._current++, { type: "Filter", value: "[?", start: b }) : w[this._current] === "]" ? (this._current++, { type: "Flatten", value: "[]", start: b }) : { type: "Lbracket", value: "[", start: b };
          }, _consumeOperator: function(w) {
            var b = this._current, N = w[b];
            return this._current++, N === "!" ? w[this._current] === "=" ? (this._current++, { type: "NE", value: "!=", start: b }) : { type: "Not", value: "!", start: b } : N === "<" ? w[this._current] === "=" ? (this._current++, { type: "LTE", value: "<=", start: b }) : { type: "LT", value: "<", start: b } : N === ">" ? w[this._current] === "=" ? (this._current++, { type: "GTE", value: ">=", start: b }) : { type: "GT", value: ">", start: b } : N === "=" && w[this._current] === "=" ? (this._current++, { type: "EQ", value: "==", start: b }) : void 0;
          }, _consumeLiteral: function(w) {
            this._current++;
            for (var b, N = this._current, W = w.length; w[this._current] !== "`" && this._current < W; ) {
              var X = this._current;
              w[X] !== "\\" || w[X + 1] !== "\\" && w[X + 1] !== "`" ? X++ : X += 2, this._current = X;
            }
            var oe = C(w.slice(N, this._current));
            return oe = oe.replace("\\`", "`"), b = this._looksLikeJSON(oe) ? JSON.parse(oe) : JSON.parse('"' + oe + '"'), this._current++, b;
          }, _looksLikeJSON: function(w) {
            if (w === "")
              return !1;
            if ('[{"'.indexOf(w[0]) >= 0 || ["true", "false", "null"].indexOf(w) >= 0)
              return !0;
            if (!("-0123456789".indexOf(w[0]) >= 0))
              return !1;
            try {
              return JSON.parse(w), !0;
            } catch {
              return !1;
            }
          } };
          var se = { EOF: 0, UnquotedIdentifier: 0, QuotedIdentifier: 0, Rbracket: 0, Rparen: 0, Comma: 0, Rbrace: 0, Number: 0, Current: 0, Expref: 0, Pipe: 1, Or: 2, And: 3, EQ: 5, GT: 5, LT: 5, GTE: 5, LTE: 5, NE: 5, Flatten: 9, Star: 20, Filter: 21, Dot: 40, Not: 45, Lbrace: 50, Lbracket: 55, Lparen: 60 };
          l.prototype = { parse: function(w) {
            this._loadTokens(w), this.index = 0;
            var b = this.expression(0);
            if (this._lookahead(0) !== "EOF") {
              var N = this._lookaheadToken(0), W = new Error("Unexpected token type: " + N.type + ", value: " + N.value);
              throw W.name = "ParserError", W;
            }
            return b;
          }, _loadTokens: function(w) {
            var b = new u().tokenize(w);
            b.push({ type: "EOF", value: "", start: w.length }), this.tokens = b;
          }, expression: function(w) {
            var b = this._lookaheadToken(0);
            this._advance();
            for (var N = this.nud(b), W = this._lookahead(0); w < se[W]; )
              this._advance(), N = this.led(W, N), W = this._lookahead(0);
            return N;
          }, _lookahead: function(w) {
            return this.tokens[this.index + w].type;
          }, _lookaheadToken: function(w) {
            return this.tokens[this.index + w];
          }, _advance: function() {
            this.index++;
          }, nud: function(w) {
            var b, N;
            switch (w.type) {
              case "Literal":
                return { type: "Literal", value: w.value };
              case "UnquotedIdentifier":
                return { type: "Field", name: w.value };
              case "QuotedIdentifier":
                var W = { type: "Field", name: w.value };
                if (this._lookahead(0) === "Lparen")
                  throw new Error("Quoted identifier not allowed for function names.");
                return W;
              case "Not":
                return { type: "NotExpression", children: [b = this.expression(se.Not)] };
              case "Star":
                return b = null, { type: "ValueProjection", children: [{ type: "Identity" }, b = this._lookahead(0) === "Rbracket" ? { type: "Identity" } : this._parseProjectionRHS(se.Star)] };
              case "Filter":
                return this.led(w.type, { type: "Identity" });
              case "Lbrace":
                return this._parseMultiselectHash();
              case "Flatten":
                return { type: "Projection", children: [{ type: "Flatten", children: [{ type: "Identity" }] }, b = this._parseProjectionRHS(se.Flatten)] };
              case "Lbracket":
                return this._lookahead(0) === "Number" || this._lookahead(0) === "Colon" ? (b = this._parseIndexExpression(), this._projectIfSlice({ type: "Identity" }, b)) : this._lookahead(0) === "Star" && this._lookahead(1) === "Rbracket" ? (this._advance(), this._advance(), { type: "Projection", children: [{ type: "Identity" }, b = this._parseProjectionRHS(se.Star)] }) : this._parseMultiselectList();
              case "Current":
                return { type: "Current" };
              case "Expref":
                return { type: "ExpressionReference", children: [N = this.expression(se.Expref)] };
              case "Lparen":
                for (var X = []; this._lookahead(0) !== "Rparen"; )
                  this._lookahead(0) === "Current" ? (N = { type: "Current" }, this._advance()) : N = this.expression(0), X.push(N);
                return this._match("Rparen"), X[0];
              default:
                this._errorToken(w);
            }
          }, led: function(w, b) {
            var N;
            switch (w) {
              case "Dot":
                var W = se.Dot;
                return this._lookahead(0) !== "Star" ? { type: "Subexpression", children: [b, N = this._parseDotRHS(W)] } : (this._advance(), { type: "ValueProjection", children: [b, N = this._parseProjectionRHS(W)] });
              case "Pipe":
                return { type: "Pipe", children: [b, N = this.expression(se.Pipe)] };
              case "Or":
                return { type: "OrExpression", children: [b, N = this.expression(se.Or)] };
              case "And":
                return { type: "AndExpression", children: [b, N = this.expression(se.And)] };
              case "Lparen":
                for (var X, oe = b.name, Ee = []; this._lookahead(0) !== "Rparen"; )
                  this._lookahead(0) === "Current" ? (X = { type: "Current" }, this._advance()) : X = this.expression(0), this._lookahead(0) === "Comma" && this._match("Comma"), Ee.push(X);
                return this._match("Rparen"), { type: "Function", name: oe, children: Ee };
              case "Filter":
                var ee = this.expression(0);
                return this._match("Rbracket"), { type: "FilterProjection", children: [b, N = this._lookahead(0) === "Flatten" ? { type: "Identity" } : this._parseProjectionRHS(se.Filter), ee] };
              case "Flatten":
                return { type: "Projection", children: [{ type: "Flatten", children: [b] }, this._parseProjectionRHS(se.Flatten)] };
              case "EQ":
              case "NE":
              case "GT":
              case "GTE":
              case "LT":
              case "LTE":
                return this._parseComparator(b, w);
              case "Lbracket":
                var ce = this._lookaheadToken(0);
                return ce.type === "Number" || ce.type === "Colon" ? (N = this._parseIndexExpression(), this._projectIfSlice(b, N)) : (this._match("Star"), this._match("Rbracket"), { type: "Projection", children: [b, N = this._parseProjectionRHS(se.Star)] });
              default:
                this._errorToken(this._lookaheadToken(0));
            }
          }, _match: function(w) {
            if (this._lookahead(0) !== w) {
              var b = this._lookaheadToken(0), N = new Error("Expected " + w + ", got: " + b.type);
              throw N.name = "ParserError", N;
            }
            this._advance();
          }, _errorToken: function(w) {
            var b = new Error("Invalid token (" + w.type + '): "' + w.value + '"');
            throw b.name = "ParserError", b;
          }, _parseIndexExpression: function() {
            if (this._lookahead(0) === "Colon" || this._lookahead(1) === "Colon")
              return this._parseSliceExpression();
            var w = { type: "Index", value: this._lookaheadToken(0).value };
            return this._advance(), this._match("Rbracket"), w;
          }, _projectIfSlice: function(w, b) {
            var N = { type: "IndexExpression", children: [w, b] };
            return b.type === "Slice" ? { type: "Projection", children: [N, this._parseProjectionRHS(se.Star)] } : N;
          }, _parseSliceExpression: function() {
            for (var w = [null, null, null], b = 0, N = this._lookahead(0); N !== "Rbracket" && b < 3; ) {
              if (N === "Colon")
                b++, this._advance();
              else {
                if (N !== "Number") {
                  var W = this._lookahead(0), X = new Error("Syntax error, unexpected token: " + W.value + "(" + W.type + ")");
                  throw X.name = "Parsererror", X;
                }
                w[b] = this._lookaheadToken(0).value, this._advance();
              }
              N = this._lookahead(0);
            }
            return this._match("Rbracket"), { type: "Slice", children: w };
          }, _parseComparator: function(w, b) {
            return { type: "Comparator", name: b, children: [w, this.expression(se[b])] };
          }, _parseDotRHS: function(w) {
            var b = this._lookahead(0);
            return ["UnquotedIdentifier", "QuotedIdentifier", "Star"].indexOf(b) >= 0 ? this.expression(w) : b === "Lbracket" ? (this._match("Lbracket"), this._parseMultiselectList()) : b === "Lbrace" ? (this._match("Lbrace"), this._parseMultiselectHash()) : void 0;
          }, _parseProjectionRHS: function(w) {
            var b;
            if (se[this._lookahead(0)] < 10)
              b = { type: "Identity" };
            else if (this._lookahead(0) === "Lbracket")
              b = this.expression(w);
            else if (this._lookahead(0) === "Filter")
              b = this.expression(w);
            else {
              if (this._lookahead(0) !== "Dot") {
                var N = this._lookaheadToken(0), W = new Error("Sytanx error, unexpected token: " + N.value + "(" + N.type + ")");
                throw W.name = "ParserError", W;
              }
              this._match("Dot"), b = this._parseDotRHS(w);
            }
            return b;
          }, _parseMultiselectList: function() {
            for (var w = []; this._lookahead(0) !== "Rbracket"; ) {
              var b = this.expression(0);
              if (w.push(b), this._lookahead(0) === "Comma" && (this._match("Comma"), this._lookahead(0) === "Rbracket"))
                throw new Error("Unexpected token Rbracket");
            }
            return this._match("Rbracket"), { type: "MultiSelectList", children: w };
          }, _parseMultiselectHash: function() {
            for (var w, b, N, W = [], X = ["UnquotedIdentifier", "QuotedIdentifier"]; ; ) {
              if (w = this._lookaheadToken(0), X.indexOf(w.type) < 0)
                throw new Error("Expecting an identifier token, got: " + w.type);
              if (b = w.value, this._advance(), this._match("Colon"), N = { type: "KeyValuePair", name: b, value: this.expression(0) }, W.push(N), this._lookahead(0) === "Comma")
                this._match("Comma");
              else if (this._lookahead(0) === "Rbrace") {
                this._match("Rbrace");
                break;
              }
            }
            return { type: "MultiSelectHash", children: W };
          } }, m.prototype = { search: function(w, b) {
            return this.visit(w, b);
          }, visit: function(w, b) {
            var N, W, X, oe, Ee, ee, ce, _e, de;
            switch (w.type) {
              case "Field":
                return b !== null && c(b) ? (ee = b[w.name]) === void 0 ? null : ee : null;
              case "Subexpression":
                for (X = this.visit(w.children[0], b), de = 1; de < w.children.length; de++)
                  if ((X = this.visit(w.children[1], X)) === null)
                    return null;
                return X;
              case "IndexExpression":
              case "Pipe":
                return ce = this.visit(w.children[0], b), this.visit(w.children[1], ce);
              case "Index":
                if (!p(b))
                  return null;
                var et = w.value;
                return et < 0 && (et = b.length + et), (X = b[et]) === void 0 && (X = null), X;
              case "Slice":
                if (!p(b))
                  return null;
                var it = w.children.slice(0), Ge = this.computeSliceParams(b.length, it), nt = Ge[0], st = Ge[1], at = Ge[2];
                if (X = [], at > 0)
                  for (de = nt; de < st; de += at)
                    X.push(b[de]);
                else
                  for (de = nt; de > st; de += at)
                    X.push(b[de]);
                return X;
              case "Projection":
                var S = this.visit(w.children[0], b);
                if (!p(S))
                  return null;
                for (_e = [], de = 0; de < S.length; de++)
                  (W = this.visit(w.children[1], S[de])) !== null && _e.push(W);
                return _e;
              case "ValueProjection":
                if (!c(S = this.visit(w.children[0], b)))
                  return null;
                _e = [];
                var T = function(tt) {
                  for (var At = Object.keys(tt), Mt = [], Ut = 0; Ut < At.length; Ut++)
                    Mt.push(tt[At[Ut]]);
                  return Mt;
                }(S);
                for (de = 0; de < T.length; de++)
                  (W = this.visit(w.children[1], T[de])) !== null && _e.push(W);
                return _e;
              case "FilterProjection":
                if (!p(S = this.visit(w.children[0], b)))
                  return null;
                var A = [], H = [];
                for (de = 0; de < S.length; de++)
                  r(N = this.visit(w.children[2], S[de])) || A.push(S[de]);
                for (var V = 0; V < A.length; V++)
                  (W = this.visit(w.children[1], A[V])) !== null && H.push(W);
                return H;
              case "Comparator":
                switch (oe = this.visit(w.children[0], b), Ee = this.visit(w.children[1], b), w.name) {
                  case "EQ":
                    X = o(oe, Ee);
                    break;
                  case "NE":
                    X = !o(oe, Ee);
                    break;
                  case "GT":
                    X = oe > Ee;
                    break;
                  case "GTE":
                    X = oe >= Ee;
                    break;
                  case "LT":
                    X = oe < Ee;
                    break;
                  case "LTE":
                    X = oe <= Ee;
                    break;
                  default:
                    throw new Error("Unknown comparator: " + w.name);
                }
                return X;
              case "Flatten":
                var Y = this.visit(w.children[0], b);
                if (!p(Y))
                  return null;
                var ye = [];
                for (de = 0; de < Y.length; de++)
                  p(W = Y[de]) ? ye.push.apply(ye, W) : ye.push(W);
                return ye;
              case "Identity":
              case "Current":
                return b;
              case "MultiSelectList":
                if (b === null)
                  return null;
                for (_e = [], de = 0; de < w.children.length; de++)
                  _e.push(this.visit(w.children[de], b));
                return _e;
              case "MultiSelectHash":
                if (b === null)
                  return null;
                var Qe;
                for (_e = {}, de = 0; de < w.children.length; de++)
                  _e[(Qe = w.children[de]).name] = this.visit(Qe.value, b);
                return _e;
              case "OrExpression":
                return r(N = this.visit(w.children[0], b)) && (N = this.visit(w.children[1], b)), N;
              case "AndExpression":
                return r(oe = this.visit(w.children[0], b)) === !0 ? oe : this.visit(w.children[1], b);
              case "NotExpression":
                return r(oe = this.visit(w.children[0], b));
              case "Literal":
                return w.value;
              case "Function":
                var Ke = [];
                for (de = 0; de < w.children.length; de++)
                  Ke.push(this.visit(w.children[de], b));
                return this.runtime.callFunction(w.name, Ke);
              case "ExpressionReference":
                var ft = w.children[0];
                return ft.jmespathType = "Expref", ft;
              default:
                throw new Error("Unknown node type: " + w.type);
            }
          }, computeSliceParams: function(w, b) {
            var N = b[0], W = b[1], X = b[2], oe = [null, null, null];
            if (X === null)
              X = 1;
            else if (X === 0) {
              var Ee = new Error("Invalid slice, step cannot be 0");
              throw Ee.name = "RuntimeError", Ee;
            }
            var ee = X < 0;
            return N = N === null ? ee ? w - 1 : 0 : this.capSliceRange(w, N, X), W = W === null ? ee ? -1 : w : this.capSliceRange(w, W, X), oe[0] = N, oe[1] = W, oe[2] = X, oe;
          }, capSliceRange: function(w, b, N) {
            return b < 0 ? (b += w) < 0 && (b = N < 0 ? -1 : 0) : b >= w && (b = N < 0 ? w - 1 : w), b;
          } }, v.prototype = { callFunction: function(w, b) {
            var N = this.functionTable[w];
            if (N === void 0)
              throw new Error("Unknown function: " + w + "()");
            return this._validateArgs(w, b, N._signature), N._func.call(this, b);
          }, _validateArgs: function(w, b, N) {
            var W;
            if (N[N.length - 1].variadic) {
              if (b.length < N.length)
                throw W = N.length === 1 ? " argument" : " arguments", new Error("ArgumentError: " + w + "() takes at least" + N.length + W + " but received " + b.length);
            } else if (b.length !== N.length)
              throw W = N.length === 1 ? " argument" : " arguments", new Error("ArgumentError: " + w + "() takes " + N.length + W + " but received " + b.length);
            for (var X, oe, Ee, ee = 0; ee < N.length; ee++) {
              Ee = !1, X = N[ee].types, oe = this._getTypeName(b[ee]);
              for (var ce = 0; ce < X.length; ce++)
                if (this._typeMatches(oe, X[ce], b[ee])) {
                  Ee = !0;
                  break;
                }
              if (!Ee) {
                var _e = X.map(function(de) {
                  return ae[de];
                }).join(",");
                throw new Error("TypeError: " + w + "() expected argument " + (ee + 1) + " to be type " + _e + " but received type " + ae[oe] + " instead.");
              }
            }
          }, _typeMatches: function(w, b, N) {
            if (b === k)
              return !0;
            if (b !== F && b !== q && b !== P)
              return w === b;
            if (b === P)
              return w === P;
            if (w === P) {
              var W;
              b === q ? W = E : b === F && (W = O);
              for (var X = 0; X < N.length; X++)
                if (!this._typeMatches(this._getTypeName(N[X]), W, N[X]))
                  return !1;
              return !0;
            }
          }, _getTypeName: function(w) {
            switch (Object.prototype.toString.call(w)) {
              case "[object String]":
                return O;
              case "[object Number]":
                return E;
              case "[object Array]":
                return P;
              case "[object Boolean]":
                return 5;
              case "[object Null]":
                return 7;
              case "[object Object]":
                return w.jmespathType === "Expref" ? R : z;
            }
          }, _functionStartsWith: function(w) {
            return w[0].lastIndexOf(w[1]) === 0;
          }, _functionEndsWith: function(w) {
            var b = w[0], N = w[1];
            return b.indexOf(N, b.length - N.length) !== -1;
          }, _functionReverse: function(w) {
            if (this._getTypeName(w[0]) === O) {
              for (var b = w[0], N = "", W = b.length - 1; W >= 0; W--)
                N += b[W];
              return N;
            }
            var X = w[0].slice(0);
            return X.reverse(), X;
          }, _functionAbs: function(w) {
            return Math.abs(w[0]);
          }, _functionCeil: function(w) {
            return Math.ceil(w[0]);
          }, _functionAvg: function(w) {
            for (var b = 0, N = w[0], W = 0; W < N.length; W++)
              b += N[W];
            return b / N.length;
          }, _functionContains: function(w) {
            return w[0].indexOf(w[1]) >= 0;
          }, _functionFloor: function(w) {
            return Math.floor(w[0]);
          }, _functionLength: function(w) {
            return c(w[0]) ? Object.keys(w[0]).length : w[0].length;
          }, _functionMap: function(w) {
            for (var b = [], N = this._interpreter, W = w[0], X = w[1], oe = 0; oe < X.length; oe++)
              b.push(N.visit(W, X[oe]));
            return b;
          }, _functionMerge: function(w) {
            for (var b = {}, N = 0; N < w.length; N++) {
              var W = w[N];
              for (var X in W)
                b[X] = W[X];
            }
            return b;
          }, _functionMax: function(w) {
            if (w[0].length > 0) {
              if (this._getTypeName(w[0][0]) === E)
                return Math.max.apply(Math, w[0]);
              for (var b = w[0], N = b[0], W = 1; W < b.length; W++)
                N.localeCompare(b[W]) < 0 && (N = b[W]);
              return N;
            }
            return null;
          }, _functionMin: function(w) {
            if (w[0].length > 0) {
              if (this._getTypeName(w[0][0]) === E)
                return Math.min.apply(Math, w[0]);
              for (var b = w[0], N = b[0], W = 1; W < b.length; W++)
                b[W].localeCompare(N) < 0 && (N = b[W]);
              return N;
            }
            return null;
          }, _functionSum: function(w) {
            for (var b = 0, N = w[0], W = 0; W < N.length; W++)
              b += N[W];
            return b;
          }, _functionType: function(w) {
            switch (this._getTypeName(w[0])) {
              case E:
                return "number";
              case O:
                return "string";
              case P:
                return "array";
              case z:
                return "object";
              case 5:
                return "boolean";
              case R:
                return "expref";
              case 7:
                return "null";
            }
          }, _functionKeys: function(w) {
            return Object.keys(w[0]);
          }, _functionValues: function(w) {
            for (var b = w[0], N = Object.keys(b), W = [], X = 0; X < N.length; X++)
              W.push(b[N[X]]);
            return W;
          }, _functionJoin: function(w) {
            var b = w[0];
            return w[1].join(b);
          }, _functionToArray: function(w) {
            return this._getTypeName(w[0]) === P ? w[0] : [w[0]];
          }, _functionToString: function(w) {
            return this._getTypeName(w[0]) === O ? w[0] : JSON.stringify(w[0]);
          }, _functionToNumber: function(w) {
            var b, N = this._getTypeName(w[0]);
            return N === E ? w[0] : N !== O || (b = +w[0], isNaN(b)) ? null : b;
          }, _functionNotNull: function(w) {
            for (var b = 0; b < w.length; b++)
              if (this._getTypeName(w[b]) !== 7)
                return w[b];
            return null;
          }, _functionSort: function(w) {
            var b = w[0].slice(0);
            return b.sort(), b;
          }, _functionSortBy: function(w) {
            var b = w[0].slice(0);
            if (b.length === 0)
              return b;
            var N = this._interpreter, W = w[1], X = this._getTypeName(N.visit(W, b[0]));
            if ([E, O].indexOf(X) < 0)
              throw new Error("TypeError");
            for (var oe = this, Ee = [], ee = 0; ee < b.length; ee++)
              Ee.push([ee, b[ee]]);
            Ee.sort(function(_e, de) {
              var et = N.visit(W, _e[1]), it = N.visit(W, de[1]);
              if (oe._getTypeName(et) !== X)
                throw new Error("TypeError: expected " + X + ", received " + oe._getTypeName(et));
              if (oe._getTypeName(it) !== X)
                throw new Error("TypeError: expected " + X + ", received " + oe._getTypeName(it));
              return et > it ? 1 : et < it ? -1 : _e[0] - de[0];
            });
            for (var ce = 0; ce < Ee.length; ce++)
              b[ce] = Ee[ce][1];
            return b;
          }, _functionMaxBy: function(w) {
            for (var b, N, W = w[1], X = w[0], oe = this.createKeyFunction(W, [E, O]), Ee = -1 / 0, ee = 0; ee < X.length; ee++)
              (N = oe(X[ee])) > Ee && (Ee = N, b = X[ee]);
            return b;
          }, _functionMinBy: function(w) {
            for (var b, N, W = w[1], X = w[0], oe = this.createKeyFunction(W, [E, O]), Ee = 1 / 0, ee = 0; ee < X.length; ee++)
              (N = oe(X[ee])) < Ee && (Ee = N, b = X[ee]);
            return b;
          }, createKeyFunction: function(w, b) {
            var N = this, W = this._interpreter;
            return function(X) {
              var oe = W.visit(w, X);
              if (b.indexOf(N._getTypeName(oe)) < 0) {
                var Ee = "TypeError: expected one of " + b + ", received " + N._getTypeName(oe);
                throw new Error(Ee);
              }
              return oe;
            };
          } }, h.tokenize = function(w) {
            return new u().tokenize(w);
          }, h.compile = function(w) {
            return new l().parse(w);
          }, h.search = function(w, b) {
            var N = new l(), W = new v(), X = new m(W);
            W._interpreter = X;
            var oe = N.parse(b);
            return X.search(oe, w);
          }, h.strictDeepEqual = o;
        })(L === void 0 ? this.jmespath = {} : L);
      }, {}], 5: [function(_, U, L) {
        (function(h, p) {
          (function() {
            function c(b, N) {
              var W = { seen: [], stylize: r };
              return arguments.length >= 3 && (W.depth = arguments[2]), arguments.length >= 4 && (W.colors = arguments[3]), m(N) ? W.showHidden = N : N && L._extend(W, N), k(W.showHidden) && (W.showHidden = !1), k(W.depth) && (W.depth = 2), k(W.colors) && (W.colors = !1), k(W.customInspect) && (W.customInspect = !0), W.colors && (W.stylize = o), s(W, b, W.depth);
            }
            function o(b, N) {
              var W = c.styles[N];
              return W ? "\x1B[" + c.colors[W][0] + "m" + b + "\x1B[" + c.colors[W][1] + "m" : b;
            }
            function r(b, N) {
              return b;
            }
            function s(b, N, W) {
              if (b.customInspect && N && q(N.inspect) && N.inspect !== L.inspect && (!N.constructor || N.constructor.prototype !== N)) {
                var X = N.inspect(W, b);
                return E(X) || (X = s(b, X, W)), X;
              }
              var oe = d(b, N);
              if (oe)
                return oe;
              var Ee = Object.keys(N), ee = function(Ge) {
                var nt = {};
                return Ge.forEach(function(st, at) {
                  nt[st] = !0;
                }), nt;
              }(Ee);
              if (b.showHidden && (Ee = Object.getOwnPropertyNames(N)), R(N) && (Ee.indexOf("message") >= 0 || Ee.indexOf("description") >= 0))
                return a(N);
              if (Ee.length === 0) {
                if (q(N)) {
                  var ce = N.name ? ": " + N.name : "";
                  return b.stylize("[Function" + ce + "]", "special");
                }
                if (O(N))
                  return b.stylize(RegExp.prototype.toString.call(N), "regexp");
                if (z(N))
                  return b.stylize(Date.prototype.toString.call(N), "date");
                if (R(N))
                  return a(N);
              }
              var _e, de = "", et = !1, it = ["{", "}"];
              return l(N) && (et = !0, it = ["[", "]"]), q(N) && (de = " [Function" + (N.name ? ": " + N.name : "") + "]"), O(N) && (de = " " + RegExp.prototype.toString.call(N)), z(N) && (de = " " + Date.prototype.toUTCString.call(N)), R(N) && (de = " " + a(N)), Ee.length !== 0 || et && N.length != 0 ? W < 0 ? O(N) ? b.stylize(RegExp.prototype.toString.call(N), "regexp") : b.stylize("[Object]", "special") : (b.seen.push(N), _e = et ? function(Ge, nt, st, at, S) {
                for (var T = [], A = 0, H = nt.length; A < H; ++A)
                  Ae(nt, String(A)) ? T.push(u(Ge, nt, st, at, String(A), !0)) : T.push("");
                return S.forEach(function(V) {
                  V.match(/^\d+$/) || T.push(u(Ge, nt, st, at, V, !0));
                }), T;
              }(b, N, W, ee, Ee) : Ee.map(function(Ge) {
                return u(b, N, W, ee, Ge, et);
              }), b.seen.pop(), function(Ge, nt, st) {
                return Ge.reduce(function(at, S) {
                  return S.indexOf(`
  `), at + S.replace(/\u001b\[\d\d?m/g, "").length + 1;
                }, 0) > 60 ? st[0] + (nt === "" ? "" : nt + `
  `) + " " + Ge.join(`,
    `) + " " + st[1] : st[0] + nt + " " + Ge.join(", ") + " " + st[1];
              }(_e, de, it)) : it[0] + de + it[1];
            }
            function d(b, N) {
              if (k(N))
                return b.stylize("undefined", "undefined");
              if (E(N)) {
                var W = "'" + JSON.stringify(N).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
                return b.stylize(W, "string");
              }
              return C(N) ? b.stylize("" + N, "number") : m(N) ? b.stylize("" + N, "boolean") : v(N) ? b.stylize("null", "null") : void 0;
            }
            function a(b) {
              return "[" + Error.prototype.toString.call(b) + "]";
            }
            function u(b, N, W, X, oe, Ee) {
              var ee, ce, _e;
              if ((_e = Object.getOwnPropertyDescriptor(N, oe) || { value: N[oe] }).get ? ce = _e.set ? b.stylize("[Getter/Setter]", "special") : b.stylize("[Getter]", "special") : _e.set && (ce = b.stylize("[Setter]", "special")), Ae(X, oe) || (ee = "[" + oe + "]"), ce || (b.seen.indexOf(_e.value) < 0 ? (ce = v(W) ? s(b, _e.value, null) : s(b, _e.value, W - 1)).indexOf(`
  `) > -1 && (ce = Ee ? ce.split(`
  `).map(function(de) {
                return "  " + de;
              }).join(`
  `).substr(2) : `
  ` + ce.split(`
  `).map(function(de) {
                return "   " + de;
              }).join(`
  `)) : ce = b.stylize("[Circular]", "special")), k(ee)) {
                if (Ee && oe.match(/^\d+$/))
                  return ce;
                (ee = JSON.stringify("" + oe)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (ee = ee.substr(1, ee.length - 2), ee = b.stylize(ee, "name")) : (ee = ee.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), ee = b.stylize(ee, "string"));
              }
              return ee + ": " + ce;
            }
            function l(b) {
              return Array.isArray(b);
            }
            function m(b) {
              return typeof b == "boolean";
            }
            function v(b) {
              return b === null;
            }
            function C(b) {
              return typeof b == "number";
            }
            function E(b) {
              return typeof b == "string";
            }
            function k(b) {
              return b === void 0;
            }
            function O(b) {
              return P(b) && F(b) === "[object RegExp]";
            }
            function P(b) {
              return typeof b == "object" && b !== null;
            }
            function z(b) {
              return P(b) && F(b) === "[object Date]";
            }
            function R(b) {
              return P(b) && (F(b) === "[object Error]" || b instanceof Error);
            }
            function q(b) {
              return typeof b == "function";
            }
            function F(b) {
              return Object.prototype.toString.call(b);
            }
            function ae(b) {
              return b < 10 ? "0" + b.toString(10) : b.toString(10);
            }
            function Ae(b, N) {
              return Object.prototype.hasOwnProperty.call(b, N);
            }
            var me = /%[sdj%]/g;
            L.format = function(b) {
              if (!E(b)) {
                for (var N = [], W = 0; W < arguments.length; W++)
                  N.push(c(arguments[W]));
                return N.join(" ");
              }
              W = 1;
              for (var X = arguments, oe = X.length, Ee = String(b).replace(me, function(ce) {
                if (ce === "%%")
                  return "%";
                if (W >= oe)
                  return ce;
                switch (ce) {
                  case "%s":
                    return String(X[W++]);
                  case "%d":
                    return Number(X[W++]);
                  case "%j":
                    try {
                      return JSON.stringify(X[W++]);
                    } catch {
                      return "[Circular]";
                    }
                  default:
                    return ce;
                }
              }), ee = X[W]; W < oe; ee = X[++W])
                v(ee) || !P(ee) ? Ee += " " + ee : Ee += " " + c(ee);
              return Ee;
            }, L.deprecate = function(b, N) {
              if (k(p.process))
                return function() {
                  return L.deprecate(b, N).apply(this, arguments);
                };
              if (h.noDeprecation === !0)
                return b;
              var W = !1;
              return function() {
                if (!W) {
                  if (h.throwDeprecation)
                    throw new Error(N);
                  h.traceDeprecation ? console.trace(N) : console.error(N), W = !0;
                }
                return b.apply(this, arguments);
              };
            };
            var Ne, se = {};
            L.debuglog = function(b) {
              if (k(Ne) && (Ne = h.env.NODE_DEBUG || ""), b = b.toUpperCase(), !se[b])
                if (new RegExp("\\b" + b + "\\b", "i").test(Ne)) {
                  var N = h.pid;
                  se[b] = function() {
                    var W = L.format.apply(L, arguments);
                    console.error("%s %d: %s", b, N, W);
                  };
                } else
                  se[b] = function() {
                  };
              return se[b];
            }, L.inspect = c, c.colors = { bold: [1, 22], italic: [3, 23], underline: [4, 24], inverse: [7, 27], white: [37, 39], grey: [90, 39], black: [30, 39], blue: [34, 39], cyan: [36, 39], green: [32, 39], magenta: [35, 39], red: [31, 39], yellow: [33, 39] }, c.styles = { special: "cyan", number: "yellow", boolean: "yellow", undefined: "grey", null: "bold", string: "green", date: "magenta", regexp: "red" }, L.isArray = l, L.isBoolean = m, L.isNull = v, L.isNullOrUndefined = function(b) {
              return b == null;
            }, L.isNumber = C, L.isString = E, L.isSymbol = function(b) {
              return typeof b == "symbol";
            }, L.isUndefined = k, L.isRegExp = O, L.isObject = P, L.isDate = z, L.isError = R, L.isFunction = q, L.isPrimitive = function(b) {
              return b === null || typeof b == "boolean" || typeof b == "number" || typeof b == "string" || typeof b == "symbol" || b === void 0;
            }, L.isBuffer = _("./support/isBuffer");
            var w = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
            L.log = function() {
              console.log("%s - %s", function() {
                var b = /* @__PURE__ */ new Date(), N = [ae(b.getHours()), ae(b.getMinutes()), ae(b.getSeconds())].join(":");
                return [b.getDate(), w[b.getMonth()], N].join(" ");
              }(), L.format.apply(L, arguments));
            }, L.inherits = _("inherits"), L._extend = function(b, N) {
              if (!N || !P(N))
                return b;
              for (var W = Object.keys(N), X = W.length; X--; )
                b[W[X]] = N[W[X]];
              return b;
            };
          }).call(this);
        }).call(this, _("_process"), typeof Gn < "u" ? Gn : typeof self < "u" ? self : typeof window < "u" ? window : {});
      }, { "./support/isBuffer": 4, _process: 11, inherits: 3 }], 11: [function(_, U, L) {
        function h() {
          throw new Error("setTimeout has not been defined");
        }
        function p() {
          throw new Error("clearTimeout has not been defined");
        }
        function c(k) {
          if (a === setTimeout)
            return setTimeout(k, 0);
          if ((a === h || !a) && setTimeout)
            return a = setTimeout, setTimeout(k, 0);
          try {
            return a(k, 0);
          } catch {
            try {
              return a.call(null, k, 0);
            } catch {
              return a.call(this, k, 0);
            }
          }
        }
        function o() {
          C && m && (C = !1, m.length ? v = m.concat(v) : E = -1, v.length && r());
        }
        function r() {
          if (!C) {
            var k = c(o);
            C = !0;
            for (var O = v.length; O; ) {
              for (m = v, v = []; ++E < O; )
                m && m[E].run();
              E = -1, O = v.length;
            }
            m = null, C = !1, function(P) {
              if (u === clearTimeout)
                return clearTimeout(P);
              if ((u === p || !u) && clearTimeout)
                return u = clearTimeout, clearTimeout(P);
              try {
                return u(P);
              } catch {
                try {
                  return u.call(null, P);
                } catch {
                  return u.call(this, P);
                }
              }
            }(k);
          }
        }
        function s(k, O) {
          this.fun = k, this.array = O;
        }
        function d() {
        }
        var a, u, l = U.exports = {};
        (function() {
          try {
            a = typeof setTimeout == "function" ? setTimeout : h;
          } catch {
            a = h;
          }
          try {
            u = typeof clearTimeout == "function" ? clearTimeout : p;
          } catch {
            u = p;
          }
        })();
        var m, v = [], C = !1, E = -1;
        l.nextTick = function(k) {
          var O = new Array(arguments.length - 1);
          if (arguments.length > 1)
            for (var P = 1; P < arguments.length; P++)
              O[P - 1] = arguments[P];
          v.push(new s(k, O)), v.length !== 1 || C || c(r);
        }, s.prototype.run = function() {
          this.fun.apply(null, this.array);
        }, l.title = "browser", l.browser = !0, l.env = {}, l.argv = [], l.version = "", l.versions = {}, l.on = d, l.addListener = d, l.once = d, l.off = d, l.removeListener = d, l.removeAllListeners = d, l.emit = d, l.prependListener = d, l.prependOnceListener = d, l.listeners = function(k) {
          return [];
        }, l.binding = function(k) {
          throw new Error("process.binding is not supported");
        }, l.cwd = function() {
          return "/";
        }, l.chdir = function(k) {
          throw new Error("process.chdir is not supported");
        }, l.umask = function() {
          return 0;
        };
      }, {}], 4: [function(_, U, L) {
        U.exports = function(h) {
          return h && typeof h == "object" && typeof h.copy == "function" && typeof h.fill == "function" && typeof h.readUInt8 == "function";
        };
      }, {}], 3: [function(_, U, L) {
        typeof Object.create == "function" ? U.exports = function(h, p) {
          h.super_ = p, h.prototype = Object.create(p.prototype, { constructor: { value: h, enumerable: !1, writable: !0, configurable: !0 } });
        } : U.exports = function(h, p) {
          h.super_ = p;
          var c = function() {
          };
          c.prototype = p.prototype, h.prototype = new c(), h.prototype.constructor = h;
        };
      }, {}], 2: [function(_, U, L) {
      }, {}] }, {}, [112, 116]);
      pe = function _(U, L, h) {
        function p(r, s) {
          if (!L[r]) {
            if (!U[r]) {
              var d = typeof pe == "function" && pe;
              if (!s && d)
                return d(r, !0);
              if (c)
                return c(r, !0);
              var a = new Error("Cannot find module '" + r + "'");
              throw a.code = "MODULE_NOT_FOUND", a;
            }
            var u = L[r] = { exports: {} };
            U[r][0].call(u.exports, function(l) {
              return p(U[r][1][l] || l);
            }, u, u.exports, _, U, L, h);
          }
          return L[r].exports;
        }
        for (var c = typeof pe == "function" && pe, o = 0; o < h.length; o++)
          p(h[o]);
        return p;
      }({ 33: [function(_, U, L) {
        _("./browser_loader");
        var h = _("./core");
        typeof window < "u" && (window.AWS = h), U !== void 0 && (U.exports = h), typeof self < "u" && (self.AWS = h);
      }, { "./browser_loader": 40, "./core": 44 }], 40: [function(_, U, L) {
        (function(h) {
          (function() {
            var p = _("./util");
            p.crypto.lib = _("./browserCryptoLib"), p.Buffer = _("buffer/").Buffer, p.url = _("url/"), p.querystring = _("querystring/"), p.realClock = _("./realclock/browserClock"), p.environment = "js", p.createEventStream = _("./event-stream/buffered-create-event-stream").createEventStream, p.isBrowser = function() {
              return !0;
            }, p.isNode = function() {
              return !1;
            };
            var c = _("./core");
            if (U.exports = c, _("./credentials"), _("./credentials/credential_provider_chain"), _("./credentials/temporary_credentials"), _("./credentials/chainable_temporary_credentials"), _("./credentials/web_identity_credentials"), _("./credentials/cognito_identity_credentials"), _("./credentials/saml_credentials"), c.XML.Parser = _("./xml/browser_parser"), _("./http/xhr"), o === void 0)
              var o = { browser: !0 };
          }).call(this);
        }).call(this, _("_process"));
      }, { "./browserCryptoLib": 34, "./core": 44, "./credentials": 45, "./credentials/chainable_temporary_credentials": 46, "./credentials/cognito_identity_credentials": 47, "./credentials/credential_provider_chain": 48, "./credentials/saml_credentials": 49, "./credentials/temporary_credentials": 50, "./credentials/web_identity_credentials": 51, "./event-stream/buffered-create-event-stream": 59, "./http/xhr": 67, "./realclock/browserClock": 87, "./util": 130, "./xml/browser_parser": 131, _process: 11, "buffer/": 6, "querystring/": 18, "url/": 20 }], 131: [function(_, U, L) {
        function h() {
        }
        function p(d, a) {
          for (var u = d.getElementsByTagName(a), l = 0, m = u.length; l < m; l++)
            if (u[l].parentNode === d)
              return u[l];
        }
        function c(d, a) {
          switch (a || (a = {}), a.type) {
            case "structure":
              return o(d, a);
            case "map":
              return function(u, l) {
                for (var m = {}, v = l.key.name || "key", C = l.value.name || "value", E = l.flattened ? l.name : "entry", k = u.firstElementChild; k; ) {
                  if (k.nodeName === E) {
                    var O = p(k, v).textContent, P = p(k, C);
                    m[O] = c(P, l.value);
                  }
                  k = k.nextElementSibling;
                }
                return m;
              }(d, a);
            case "list":
              return function(u, l) {
                for (var m = [], v = l.flattened ? l.name : l.member.name || "member", C = u.firstElementChild; C; )
                  C.nodeName === v && m.push(c(C, l.member)), C = C.nextElementSibling;
                return m;
              }(d, a);
            case void 0:
            case null:
              return function(u) {
                if (u == null)
                  return "";
                if (!u.firstElementChild)
                  return u.parentNode.parentNode === null ? {} : u.childNodes.length === 0 ? "" : u.textContent;
                for (var l = { type: "structure", members: {} }, m = u.firstElementChild; m; ) {
                  var v = m.nodeName;
                  Object.prototype.hasOwnProperty.call(l.members, v) ? l.members[v].type = "list" : l.members[v] = { name: v }, m = m.nextElementSibling;
                }
                return o(u, l);
              }(d);
            default:
              return function(u, l) {
                if (u.getAttribute) {
                  var m = u.getAttribute("encoding");
                  m === "base64" && (l = new s.create({ type: m }));
                }
                var v = u.textContent;
                return v === "" && (v = null), typeof l.toType == "function" ? l.toType(v) : v;
              }(d, a);
          }
        }
        function o(d, a) {
          var u = {};
          return d === null || r.each(a.members, function(l, m) {
            if (m.isXmlAttribute) {
              if (Object.prototype.hasOwnProperty.call(d.attributes, m.name)) {
                var v = d.attributes[m.name].value;
                u[l] = c({ textContent: v }, m);
              }
            } else {
              var C = m.flattened ? d : p(d, m.name);
              C ? u[l] = c(C, m) : m.flattened || m.type !== "list" || a.api.xmlNoDefaultLists || (u[l] = m.defaultValue);
            }
          }), u;
        }
        var r = _("../util"), s = _("../model/shape");
        h.prototype.parse = function(d, a) {
          if (d.replace(/^\s+/, "") === "")
            return {};
          var u, l;
          try {
            if (window.DOMParser) {
              try {
                u = new DOMParser().parseFromString(d, "text/xml");
              } catch (k) {
                throw r.error(new Error("Parse error in document"), { originalError: k, code: "XMLParserError", retryable: !0 });
              }
              if (u.documentElement === null)
                throw r.error(new Error("Cannot parse empty document."), { code: "XMLParserError", retryable: !0 });
              var m = u.getElementsByTagName("parsererror")[0];
              if (m && (m.parentNode === u || m.parentNode.nodeName === "body" || m.parentNode.parentNode === u || m.parentNode.parentNode.nodeName === "body")) {
                var v = m.getElementsByTagName("div")[0] || m;
                throw r.error(new Error(v.textContent || "Parser error in document"), { code: "XMLParserError", retryable: !0 });
              }
            } else {
              if (!window.ActiveXObject)
                throw new Error("Cannot load XML parser");
              if ((u = new window.ActiveXObject("Microsoft.XMLDOM")).async = !1, !u.loadXML(d))
                throw r.error(new Error("Parse error in document"), { code: "XMLParserError", retryable: !0 });
            }
          } catch (k) {
            l = k;
          }
          if (u && u.documentElement && !l) {
            var C = c(u.documentElement, a), E = p(u.documentElement, "ResponseMetadata");
            return E && (C.ResponseMetadata = c(E, {})), C;
          }
          if (l)
            throw r.error(l || new Error(), { code: "XMLParserError", retryable: !0 });
          return {};
        }, U.exports = h;
      }, { "../model/shape": 76, "../util": 130 }], 87: [function(_, U, L) {
        U.exports = { now: function() {
          return typeof performance < "u" && typeof performance.now == "function" ? performance.now() : Date.now();
        } };
      }, {}], 67: [function(_, U, L) {
        var h = _("../core"), p = _("events").EventEmitter;
        _("../http"), h.XHRClient = h.util.inherit({ handleRequest: function(c, o, r, s) {
          var d = this, a = c.endpoint, u = new p(), l = a.protocol + "//" + a.hostname;
          a.port !== 80 && a.port !== 443 && (l += ":" + a.port), l += c.path;
          var m = new XMLHttpRequest(), v = !1;
          c.stream = m, m.addEventListener("readystatechange", function() {
            try {
              if (m.status === 0)
                return;
            } catch {
              return;
            }
            this.readyState >= this.HEADERS_RECEIVED && !v && (u.statusCode = m.status, u.headers = d.parseHeaders(m.getAllResponseHeaders()), u.emit("headers", u.statusCode, u.headers, m.statusText), v = !0), this.readyState === this.DONE && d.finishRequest(m, u);
          }, !1), m.upload.addEventListener("progress", function(C) {
            u.emit("sendProgress", C);
          }), m.addEventListener("progress", function(C) {
            u.emit("receiveProgress", C);
          }, !1), m.addEventListener("timeout", function() {
            s(h.util.error(new Error("Timeout"), { code: "TimeoutError" }));
          }, !1), m.addEventListener("error", function() {
            s(h.util.error(new Error("Network Failure"), { code: "NetworkingError" }));
          }, !1), m.addEventListener("abort", function() {
            s(h.util.error(new Error("Request aborted"), { code: "RequestAbortedError" }));
          }, !1), r(u), m.open(c.method, l, o.xhrAsync !== !1), h.util.each(c.headers, function(C, E) {
            C !== "Content-Length" && C !== "User-Agent" && C !== "Host" && m.setRequestHeader(C, E);
          }), o.timeout && o.xhrAsync !== !1 && (m.timeout = o.timeout), o.xhrWithCredentials && (m.withCredentials = !0);
          try {
            m.responseType = "arraybuffer";
          } catch {
          }
          try {
            c.body ? m.send(c.body) : m.send();
          } catch (C) {
            if (!c.body || typeof c.body.buffer != "object")
              throw C;
            m.send(c.body.buffer);
          }
          return u;
        }, parseHeaders: function(c) {
          var o = {};
          return h.util.arrayEach(c.split(/\r?\n/), function(r) {
            var s = r.split(":", 1)[0], d = r.substring(s.length + 2);
            s.length > 0 && (o[s.toLowerCase()] = d);
          }), o;
        }, finishRequest: function(c, o) {
          var r;
          if (c.responseType === "arraybuffer" && c.response) {
            var s = c.response;
            r = new h.util.Buffer(s.byteLength);
            for (var d = new Uint8Array(s), a = 0; a < r.length; ++a)
              r[a] = d[a];
          }
          try {
            r || typeof c.responseText != "string" || (r = new h.util.Buffer(c.responseText));
          } catch {
          }
          r && o.emit("data", r), o.emit("end");
        } }), h.HttpClient.prototype = h.XHRClient.prototype, h.HttpClient.streamsApiVersion = 1;
      }, { "../core": 44, "../http": 66, events: 7 }], 59: [function(_, U, L) {
        var h = _("../event-stream/event-message-chunker").eventMessageChunker, p = _("./parse-event").parseEvent;
        U.exports = { createEventStream: function(c, o, r) {
          for (var s = h(c), d = [], a = 0; a < s.length; a++)
            d.push(p(o, s[a], r));
          return d;
        } };
      }, { "../event-stream/event-message-chunker": 60, "./parse-event": 62 }], 62: [function(_, U, L) {
        var h = _("./parse-message").parseMessage;
        U.exports = { parseEvent: function(p, c, o) {
          var r = h(c), s = r.headers[":message-type"];
          if (s) {
            if (s.value === "error")
              throw function(O) {
                var P = O.headers[":error-code"], z = O.headers[":error-message"], R = new Error(z.value || z);
                return R.code = R.name = P.value || P, R;
              }(r);
            if (s.value !== "event")
              return;
          }
          var d = r.headers[":event-type"], a = o.members[d.value];
          if (a) {
            var u = {}, l = a.eventPayloadMemberName;
            if (l) {
              var m = a.members[l];
              m.type === "binary" ? u[l] = r.body : u[l] = p.parse(r.body.toString(), m);
            }
            for (var v = a.eventHeaderMemberNames, C = 0; C < v.length; C++) {
              var E = v[C];
              r.headers[E] && (u[E] = a.members[E].toType(r.headers[E].value));
            }
            var k = {};
            return k[d.value] = u, k;
          }
        } };
      }, { "./parse-message": 63 }], 63: [function(_, U, L) {
        function h(C) {
          for (var E = {}, k = 0; k < C.length; ) {
            var O = C.readUInt8(k++), P = C.slice(k, k + O).toString();
            switch (k += O, C.readUInt8(k++)) {
              case 0:
                E[P] = { type: o, value: !0 };
                break;
              case 1:
                E[P] = { type: o, value: !1 };
                break;
              case 2:
                E[P] = { type: r, value: C.readInt8(k++) };
                break;
              case 3:
                E[P] = { type: s, value: C.readInt16BE(k) }, k += 2;
                break;
              case 4:
                E[P] = { type: d, value: C.readInt32BE(k) }, k += 4;
                break;
              case 5:
                E[P] = { type: a, value: new p(C.slice(k, k + 8)) }, k += 8;
                break;
              case 6:
                var z = C.readUInt16BE(k);
                k += 2, E[P] = { type: u, value: C.slice(k, k + z) }, k += z;
                break;
              case 7:
                var R = C.readUInt16BE(k);
                k += 2, E[P] = { type: l, value: C.slice(k, k + R).toString() }, k += R;
                break;
              case 8:
                E[P] = { type: m, value: new Date(new p(C.slice(k, k + 8)).valueOf()) }, k += 8;
                break;
              case 9:
                var q = C.slice(k, k + 16).toString("hex");
                k += 16, E[P] = { type: v, value: q.substr(0, 8) + "-" + q.substr(8, 4) + "-" + q.substr(12, 4) + "-" + q.substr(16, 4) + "-" + q.substr(20) };
                break;
              default:
                throw new Error("Unrecognized header type tag");
            }
          }
          return E;
        }
        var p = _("./int64").Int64, c = _("./split-message").splitMessage, o = "boolean", r = "byte", s = "short", d = "integer", a = "long", u = "binary", l = "string", m = "timestamp", v = "uuid";
        U.exports = { parseMessage: function(C) {
          var E = c(C);
          return { headers: h(E.headers), body: E.body };
        } };
      }, { "./int64": 61, "./split-message": 64 }], 64: [function(_, U, L) {
        var h = _("../core").util, p = h.buffer.toBuffer;
        U.exports = { splitMessage: function(c) {
          if (h.Buffer.isBuffer(c) || (c = p(c)), c.length < 16)
            throw new Error("Provided message too short to accommodate event stream message overhead");
          if (c.length !== c.readUInt32BE(0))
            throw new Error("Reported message length does not match received message length");
          var o = c.readUInt32BE(8);
          if (o !== h.crypto.crc32(c.slice(0, 8)))
            throw new Error("The prelude checksum specified in the message (" + o + ") does not match the calculated CRC32 checksum.");
          var r = c.readUInt32BE(c.length - 4);
          if (r !== h.crypto.crc32(c.slice(0, c.length - 4)))
            throw new Error("The message checksum did not match the expected value of " + r);
          var s = 12 + c.readUInt32BE(4);
          return { headers: c.slice(12, s), body: c.slice(s, c.length - 4) };
        } };
      }, { "../core": 44 }], 61: [function(_, U, L) {
        function h(r) {
          if (r.length !== 8)
            throw new Error("Int64 buffers must be exactly 8 bytes");
          c.Buffer.isBuffer(r) || (r = o(r)), this.bytes = r;
        }
        function p(r) {
          for (var s = 0; s < 8; s++)
            r[s] ^= 255;
          for (s = 7; s > -1 && ++r[s] == 0; s--)
            ;
        }
        var c = _("../core").util, o = c.buffer.toBuffer;
        h.fromNumber = function(r) {
          if (r > 9223372036854776e3 || r < -9223372036854776e3)
            throw new Error(r + " is too large (or, if negative, too small) to represent as an Int64");
          for (var s = new Uint8Array(8), d = 7, a = Math.abs(Math.round(r)); d > -1 && a > 0; d--, a /= 256)
            s[d] = a;
          return r < 0 && p(s), new h(s);
        }, h.prototype.valueOf = function() {
          var r = this.bytes.slice(0), s = 128 & r[0];
          return s && p(r), parseInt(r.toString("hex"), 16) * (s ? -1 : 1);
        }, h.prototype.toString = function() {
          return String(this.valueOf());
        }, U.exports = { Int64: h };
      }, { "../core": 44 }], 60: [function(_, U, L) {
        U.exports = { eventMessageChunker: function(h) {
          for (var p = [], c = 0; c < h.length; ) {
            var o = h.readInt32BE(c), r = h.slice(c, o + c);
            c += o, p.push(r);
          }
          return p;
        } };
      }, {}], 51: [function(_, U, L) {
        var h = _("../core");
        h.WebIdentityCredentials = h.util.inherit(h.Credentials, { constructor: function(p, c) {
          h.Credentials.call(this), this.expired = !0, this.params = p, this.params.RoleSessionName = this.params.RoleSessionName || "web-identity", this.data = null, this._clientConfig = h.util.copy(c || {});
        }, refresh: function(p) {
          this.coalesceRefresh(p || h.util.fn.callback);
        }, load: function(p) {
          var c = this;
          c.createClients(), c.service.assumeRoleWithWebIdentity(function(o, r) {
            c.data = null, o || (c.data = r, c.service.credentialsFrom(r, c)), p(o);
          });
        }, createClients: function() {
          if (!this.service) {
            var p = h.util.merge({}, this._clientConfig);
            p.params = this.params, this.service = new h.STS(p);
          }
        } });
      }, { "../core": 44 }], 50: [function(_, U, L) {
        var h = _("../core");
        h.TemporaryCredentials = h.util.inherit(h.Credentials, { constructor: function(p, c) {
          h.Credentials.call(this), this.loadMasterCredentials(c), this.expired = !0, this.params = p || {}, this.params.RoleArn && (this.params.RoleSessionName = this.params.RoleSessionName || "temporary-credentials");
        }, refresh: function(p) {
          this.coalesceRefresh(p || h.util.fn.callback);
        }, load: function(p) {
          var c = this;
          c.createClients(), c.masterCredentials.get(function() {
            c.service.config.credentials = c.masterCredentials, (c.params.RoleArn ? c.service.assumeRole : c.service.getSessionToken).call(c.service, function(o, r) {
              o || c.service.credentialsFrom(r, c), p(o);
            });
          });
        }, loadMasterCredentials: function(p) {
          for (this.masterCredentials = p || h.config.credentials; this.masterCredentials.masterCredentials; )
            this.masterCredentials = this.masterCredentials.masterCredentials;
          typeof this.masterCredentials.get != "function" && (this.masterCredentials = new h.Credentials(this.masterCredentials));
        }, createClients: function() {
          this.service = this.service || new h.STS({ params: this.params });
        } });
      }, { "../core": 44 }], 49: [function(_, U, L) {
        var h = _("../core");
        h.SAMLCredentials = h.util.inherit(h.Credentials, { constructor: function(p) {
          h.Credentials.call(this), this.expired = !0, this.params = p;
        }, refresh: function(p) {
          this.coalesceRefresh(p || h.util.fn.callback);
        }, load: function(p) {
          var c = this;
          c.createClients(), c.service.assumeRoleWithSAML(function(o, r) {
            o || c.service.credentialsFrom(r, c), p(o);
          });
        }, createClients: function() {
          this.service = this.service || new h.STS({ params: this.params });
        } });
      }, { "../core": 44 }], 47: [function(_, U, L) {
        var h = _("../core");
        h.CognitoIdentityCredentials = h.util.inherit(h.Credentials, { localStorageKey: { id: "aws.cognito.identity-id.", providers: "aws.cognito.identity-providers." }, constructor: function(p, c) {
          h.Credentials.call(this), this.expired = !0, this.params = p, this.data = null, this._identityId = null, this._clientConfig = h.util.copy(c || {}), this.loadCachedId();
          var o = this;
          Object.defineProperty(this, "identityId", { get: function() {
            return o.loadCachedId(), o._identityId || o.params.IdentityId;
          }, set: function(r) {
            o._identityId = r;
          } });
        }, refresh: function(p) {
          this.coalesceRefresh(p || h.util.fn.callback);
        }, load: function(p) {
          var c = this;
          c.createClients(), c.data = null, c._identityId = null, c.getId(function(o) {
            o ? (c.clearIdOnNotAuthorized(o), p(o)) : c.params.RoleArn ? c.getCredentialsFromSTS(p) : c.getCredentialsForIdentity(p);
          });
        }, clearCachedId: function() {
          this._identityId = null, delete this.params.IdentityId;
          var p = this.params.IdentityPoolId, c = this.params.LoginId || "";
          delete this.storage[this.localStorageKey.id + p + c], delete this.storage[this.localStorageKey.providers + p + c];
        }, clearIdOnNotAuthorized: function(p) {
          p.code == "NotAuthorizedException" && this.clearCachedId();
        }, getId: function(p) {
          var c = this;
          if (typeof c.params.IdentityId == "string")
            return p(null, c.params.IdentityId);
          c.cognito.getId(function(o, r) {
            !o && r.IdentityId ? (c.params.IdentityId = r.IdentityId, p(null, r.IdentityId)) : p(o);
          });
        }, loadCredentials: function(p, c) {
          p && c && (c.expired = !1, c.accessKeyId = p.Credentials.AccessKeyId, c.secretAccessKey = p.Credentials.SecretKey, c.sessionToken = p.Credentials.SessionToken, c.expireTime = p.Credentials.Expiration);
        }, getCredentialsForIdentity: function(p) {
          var c = this;
          c.cognito.getCredentialsForIdentity(function(o, r) {
            o ? c.clearIdOnNotAuthorized(o) : (c.cacheId(r), c.data = r, c.loadCredentials(c.data, c)), p(o);
          });
        }, getCredentialsFromSTS: function(p) {
          var c = this;
          c.cognito.getOpenIdToken(function(o, r) {
            o ? (c.clearIdOnNotAuthorized(o), p(o)) : (c.cacheId(r), c.params.WebIdentityToken = r.Token, c.webIdentityCredentials.refresh(function(s) {
              s || (c.data = c.webIdentityCredentials.data, c.sts.credentialsFrom(c.data, c)), p(s);
            }));
          });
        }, loadCachedId: function() {
          var p = this;
          if (h.util.isBrowser() && !p.params.IdentityId) {
            var c = p.getStorage("id");
            if (c && p.params.Logins) {
              var o = Object.keys(p.params.Logins);
              (p.getStorage("providers") || "").split(",").filter(function(r) {
                return o.indexOf(r) !== -1;
              }).length !== 0 && (p.params.IdentityId = c);
            } else
              c && (p.params.IdentityId = c);
          }
        }, createClients: function() {
          var p = this._clientConfig;
          if (this.webIdentityCredentials = this.webIdentityCredentials || new h.WebIdentityCredentials(this.params, p), !this.cognito) {
            var c = h.util.merge({}, p);
            c.params = this.params, this.cognito = new h.CognitoIdentity(c);
          }
          this.sts = this.sts || new h.STS(p);
        }, cacheId: function(p) {
          this._identityId = p.IdentityId, this.params.IdentityId = this._identityId, h.util.isBrowser() && (this.setStorage("id", p.IdentityId), this.params.Logins && this.setStorage("providers", Object.keys(this.params.Logins).join(",")));
        }, getStorage: function(p) {
          return this.storage[this.localStorageKey[p] + this.params.IdentityPoolId + (this.params.LoginId || "")];
        }, setStorage: function(p, c) {
          try {
            this.storage[this.localStorageKey[p] + this.params.IdentityPoolId + (this.params.LoginId || "")] = c;
          } catch {
          }
        }, storage: function() {
          try {
            var p = h.util.isBrowser() && window.localStorage !== null && typeof window.localStorage == "object" ? window.localStorage : {};
            return p["aws.test-storage"] = "foobar", delete p["aws.test-storage"], p;
          } catch {
            return {};
          }
        }() });
      }, { "../core": 44 }], 46: [function(_, U, L) {
        var h = _("../core");
        h.ChainableTemporaryCredentials = h.util.inherit(h.Credentials, { constructor: function(p) {
          h.Credentials.call(this), p = p || {}, this.errorCode = "ChainableTemporaryCredentialsProviderFailure", this.expired = !0, this.tokenCodeFn = null;
          var c = h.util.copy(p.params) || {};
          if (c.RoleArn && (c.RoleSessionName = c.RoleSessionName || "temporary-credentials"), c.SerialNumber) {
            if (!p.tokenCodeFn || typeof p.tokenCodeFn != "function")
              throw new h.util.error(new Error("tokenCodeFn must be a function when params.SerialNumber is given"), { code: this.errorCode });
            this.tokenCodeFn = p.tokenCodeFn;
          }
          var o = h.util.merge({ params: c, credentials: p.masterCredentials || h.config.credentials }, p.stsConfig || {});
          this.service = new h.STS(o);
        }, refresh: function(p) {
          this.coalesceRefresh(p || h.util.fn.callback);
        }, load: function(p) {
          var c = this, o = c.service.config.params.RoleArn ? "assumeRole" : "getSessionToken";
          this.getTokenCode(function(r, s) {
            var d = {};
            r ? p(r) : (s && (d.TokenCode = s), c.service[o](d, function(a, u) {
              a || c.service.credentialsFrom(u, c), p(a);
            }));
          });
        }, getTokenCode: function(p) {
          var c = this;
          this.tokenCodeFn ? this.tokenCodeFn(this.service.config.params.SerialNumber, function(o, r) {
            if (o) {
              var s = o;
              return o instanceof Error && (s = o.message), void p(h.util.error(new Error("Error fetching MFA token: " + s), { code: c.errorCode }));
            }
            p(null, r);
          }) : p(null);
        } });
      }, { "../core": 44 }], 34: [function(_, U, L) {
        var h = _("./browserHmac"), p = _("./browserMd5"), c = _("./browserSha1"), o = _("./browserSha256");
        U.exports = { createHash: function(r) {
          if ((r = r.toLowerCase()) === "md5")
            return new p();
          if (r === "sha256")
            return new o();
          if (r === "sha1")
            return new c();
          throw new Error("Hash algorithm " + r + " is not supported in the browser SDK");
        }, createHmac: function(r, s) {
          if ((r = r.toLowerCase()) === "md5")
            return new h(p, s);
          if (r === "sha256")
            return new h(o, s);
          if (r === "sha1")
            return new h(c, s);
          throw new Error("HMAC algorithm " + r + " is not supported in the browser SDK");
        }, createSign: function() {
          throw new Error("createSign is not implemented in the browser");
        } };
      }, { "./browserHmac": 36, "./browserMd5": 37, "./browserSha1": 38, "./browserSha256": 39 }], 39: [function(_, U, L) {
        function h() {
          this.state = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], this.temp = new Int32Array(64), this.buffer = new Uint8Array(64), this.bufferLength = 0, this.bytesHashed = 0, this.finished = !1;
        }
        var p = _("buffer/").Buffer, c = _("./browserHashUtils"), o = new Uint32Array([1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298]), r = Math.pow(2, 53) - 1;
        U.exports = h, h.BLOCK_SIZE = 64, h.prototype.update = function(s) {
          if (this.finished)
            throw new Error("Attempted to update an already finished hash.");
          if (c.isEmptyData(s))
            return this;
          var d = 0, a = (s = c.convertToBuffer(s)).byteLength;
          if (this.bytesHashed += a, 8 * this.bytesHashed > r)
            throw new Error("Cannot hash more than 2^53 - 1 bits");
          for (; a > 0; )
            this.buffer[this.bufferLength++] = s[d++], a--, this.bufferLength === 64 && (this.hashBuffer(), this.bufferLength = 0);
          return this;
        }, h.prototype.digest = function(s) {
          if (!this.finished) {
            var d = 8 * this.bytesHashed, a = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength), u = this.bufferLength;
            if (a.setUint8(this.bufferLength++, 128), u % 64 >= 56) {
              for (var l = this.bufferLength; l < 64; l++)
                a.setUint8(l, 0);
              this.hashBuffer(), this.bufferLength = 0;
            }
            for (l = this.bufferLength; l < 56; l++)
              a.setUint8(l, 0);
            a.setUint32(56, Math.floor(d / 4294967296), !0), a.setUint32(60, d), this.hashBuffer(), this.finished = !0;
          }
          var m = new p(32);
          for (l = 0; l < 8; l++)
            m[4 * l] = this.state[l] >>> 24 & 255, m[4 * l + 1] = this.state[l] >>> 16 & 255, m[4 * l + 2] = this.state[l] >>> 8 & 255, m[4 * l + 3] = this.state[l] >>> 0 & 255;
          return s ? m.toString(s) : m;
        }, h.prototype.hashBuffer = function() {
          for (var s = this.buffer, d = this.state, a = d[0], u = d[1], l = d[2], m = d[3], v = d[4], C = d[5], E = d[6], k = d[7], O = 0; O < 64; O++) {
            if (O < 16)
              this.temp[O] = (255 & s[4 * O]) << 24 | (255 & s[4 * O + 1]) << 16 | (255 & s[4 * O + 2]) << 8 | 255 & s[4 * O + 3];
            else {
              var P = this.temp[O - 2], z = (P >>> 17 | P << 15) ^ (P >>> 19 | P << 13) ^ P >>> 10, R = ((P = this.temp[O - 15]) >>> 7 | P << 25) ^ (P >>> 18 | P << 14) ^ P >>> 3;
              this.temp[O] = (z + this.temp[O - 7] | 0) + (R + this.temp[O - 16] | 0);
            }
            var q = (((v >>> 6 | v << 26) ^ (v >>> 11 | v << 21) ^ (v >>> 25 | v << 7)) + (v & C ^ ~v & E) | 0) + (k + (o[O] + this.temp[O] | 0) | 0) | 0, F = ((a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10)) + (a & u ^ a & l ^ u & l) | 0;
            k = E, E = C, C = v, v = m + q | 0, m = l, l = u, u = a, a = q + F | 0;
          }
          d[0] += a, d[1] += u, d[2] += l, d[3] += m, d[4] += v, d[5] += C, d[6] += E, d[7] += k;
        };
      }, { "./browserHashUtils": 35, "buffer/": 6 }], 38: [function(_, U, L) {
        function h() {
          this.h0 = 1732584193, this.h1 = 4023233417, this.h2 = 2562383102, this.h3 = 271733878, this.h4 = 3285377520, this.block = new Uint32Array(80), this.offset = 0, this.shift = 24, this.totalLength = 0;
        }
        var p = _("buffer/").Buffer, c = _("./browserHashUtils");
        U.exports = h, h.BLOCK_SIZE = 64, h.prototype.update = function(o) {
          if (this.finished)
            throw new Error("Attempted to update an already finished hash.");
          if (c.isEmptyData(o))
            return this;
          var r = (o = c.convertToBuffer(o)).length;
          this.totalLength += 8 * r;
          for (var s = 0; s < r; s++)
            this.write(o[s]);
          return this;
        }, h.prototype.write = function(o) {
          this.block[this.offset] |= (255 & o) << this.shift, this.shift ? this.shift -= 8 : (this.offset++, this.shift = 24), this.offset === 16 && this.processBlock();
        }, h.prototype.digest = function(o) {
          this.write(128), (this.offset > 14 || this.offset === 14 && this.shift < 24) && this.processBlock(), this.offset = 14, this.shift = 24, this.write(0), this.write(0), this.write(this.totalLength > 1099511627775 ? this.totalLength / 1099511627776 : 0), this.write(this.totalLength > 4294967295 ? this.totalLength / 4294967296 : 0);
          for (var r = 24; r >= 0; r -= 8)
            this.write(this.totalLength >> r);
          var s = new p(20), d = new DataView(s.buffer);
          return d.setUint32(0, this.h0, !1), d.setUint32(4, this.h1, !1), d.setUint32(8, this.h2, !1), d.setUint32(12, this.h3, !1), d.setUint32(16, this.h4, !1), o ? s.toString(o) : s;
        }, h.prototype.processBlock = function() {
          for (var o = 16; o < 80; o++) {
            var r = this.block[o - 3] ^ this.block[o - 8] ^ this.block[o - 14] ^ this.block[o - 16];
            this.block[o] = r << 1 | r >>> 31;
          }
          var s, d, a = this.h0, u = this.h1, l = this.h2, m = this.h3, v = this.h4;
          for (o = 0; o < 80; o++) {
            o < 20 ? (s = m ^ u & (l ^ m), d = 1518500249) : o < 40 ? (s = u ^ l ^ m, d = 1859775393) : o < 60 ? (s = u & l | m & (u | l), d = 2400959708) : (s = u ^ l ^ m, d = 3395469782);
            var C = (a << 5 | a >>> 27) + s + v + d + (0 | this.block[o]);
            v = m, m = l, l = u << 30 | u >>> 2, u = a, a = C;
          }
          for (this.h0 = this.h0 + a | 0, this.h1 = this.h1 + u | 0, this.h2 = this.h2 + l | 0, this.h3 = this.h3 + m | 0, this.h4 = this.h4 + v | 0, this.offset = 0, o = 0; o < 16; o++)
            this.block[o] = 0;
        };
      }, { "./browserHashUtils": 35, "buffer/": 6 }], 37: [function(_, U, L) {
        function h() {
          this.state = [1732584193, 4023233417, 2562383102, 271733878], this.buffer = new DataView(new ArrayBuffer(u)), this.bufferLength = 0, this.bytesHashed = 0, this.finished = !1;
        }
        function p(l, m, v, C, E, k) {
          return ((m = (m + l & 4294967295) + (C + k & 4294967295) & 4294967295) << E | m >>> 32 - E) + v & 4294967295;
        }
        function c(l, m, v, C, E, k, O) {
          return p(m & v | ~m & C, l, m, E, k, O);
        }
        function o(l, m, v, C, E, k, O) {
          return p(m & C | v & ~C, l, m, E, k, O);
        }
        function r(l, m, v, C, E, k, O) {
          return p(m ^ v ^ C, l, m, E, k, O);
        }
        function s(l, m, v, C, E, k, O) {
          return p(v ^ (m | ~C), l, m, E, k, O);
        }
        var d = _("./browserHashUtils"), a = _("buffer/").Buffer, u = 64;
        U.exports = h, h.BLOCK_SIZE = u, h.prototype.update = function(l) {
          if (d.isEmptyData(l))
            return this;
          if (this.finished)
            throw new Error("Attempted to update an already finished hash.");
          var m = d.convertToBuffer(l), v = 0, C = m.byteLength;
          for (this.bytesHashed += C; C > 0; )
            this.buffer.setUint8(this.bufferLength++, m[v++]), C--, this.bufferLength === u && (this.hashBuffer(), this.bufferLength = 0);
          return this;
        }, h.prototype.digest = function(l) {
          if (!this.finished) {
            var m = this, v = m.buffer, C = m.bufferLength, E = 8 * m.bytesHashed;
            if (v.setUint8(this.bufferLength++, 128), C % u >= u - 8) {
              for (var k = this.bufferLength; k < u; k++)
                v.setUint8(k, 0);
              this.hashBuffer(), this.bufferLength = 0;
            }
            for (k = this.bufferLength; k < u - 8; k++)
              v.setUint8(k, 0);
            v.setUint32(u - 8, E >>> 0, !0), v.setUint32(u - 4, Math.floor(E / 4294967296), !0), this.hashBuffer(), this.finished = !0;
          }
          var O = new DataView(new ArrayBuffer(16));
          for (k = 0; k < 4; k++)
            O.setUint32(4 * k, this.state[k], !0);
          var P = new a(O.buffer, O.byteOffset, O.byteLength);
          return l ? P.toString(l) : P;
        }, h.prototype.hashBuffer = function() {
          var l = this.buffer, m = this.state, v = m[0], C = m[1], E = m[2], k = m[3];
          v = c(v, C, E, k, l.getUint32(0, !0), 7, 3614090360), k = c(k, v, C, E, l.getUint32(4, !0), 12, 3905402710), E = c(E, k, v, C, l.getUint32(8, !0), 17, 606105819), C = c(C, E, k, v, l.getUint32(12, !0), 22, 3250441966), v = c(v, C, E, k, l.getUint32(16, !0), 7, 4118548399), k = c(k, v, C, E, l.getUint32(20, !0), 12, 1200080426), E = c(E, k, v, C, l.getUint32(24, !0), 17, 2821735955), C = c(C, E, k, v, l.getUint32(28, !0), 22, 4249261313), v = c(v, C, E, k, l.getUint32(32, !0), 7, 1770035416), k = c(k, v, C, E, l.getUint32(36, !0), 12, 2336552879), E = c(E, k, v, C, l.getUint32(40, !0), 17, 4294925233), C = c(C, E, k, v, l.getUint32(44, !0), 22, 2304563134), v = c(v, C, E, k, l.getUint32(48, !0), 7, 1804603682), k = c(k, v, C, E, l.getUint32(52, !0), 12, 4254626195), E = c(E, k, v, C, l.getUint32(56, !0), 17, 2792965006), v = o(v, C = c(C, E, k, v, l.getUint32(60, !0), 22, 1236535329), E, k, l.getUint32(4, !0), 5, 4129170786), k = o(k, v, C, E, l.getUint32(24, !0), 9, 3225465664), E = o(E, k, v, C, l.getUint32(44, !0), 14, 643717713), C = o(C, E, k, v, l.getUint32(0, !0), 20, 3921069994), v = o(v, C, E, k, l.getUint32(20, !0), 5, 3593408605), k = o(k, v, C, E, l.getUint32(40, !0), 9, 38016083), E = o(E, k, v, C, l.getUint32(60, !0), 14, 3634488961), C = o(C, E, k, v, l.getUint32(16, !0), 20, 3889429448), v = o(v, C, E, k, l.getUint32(36, !0), 5, 568446438), k = o(k, v, C, E, l.getUint32(56, !0), 9, 3275163606), E = o(E, k, v, C, l.getUint32(12, !0), 14, 4107603335), C = o(C, E, k, v, l.getUint32(32, !0), 20, 1163531501), v = o(v, C, E, k, l.getUint32(52, !0), 5, 2850285829), k = o(k, v, C, E, l.getUint32(8, !0), 9, 4243563512), E = o(E, k, v, C, l.getUint32(28, !0), 14, 1735328473), v = r(v, C = o(C, E, k, v, l.getUint32(48, !0), 20, 2368359562), E, k, l.getUint32(20, !0), 4, 4294588738), k = r(k, v, C, E, l.getUint32(32, !0), 11, 2272392833), E = r(E, k, v, C, l.getUint32(44, !0), 16, 1839030562), C = r(C, E, k, v, l.getUint32(56, !0), 23, 4259657740), v = r(v, C, E, k, l.getUint32(4, !0), 4, 2763975236), k = r(k, v, C, E, l.getUint32(16, !0), 11, 1272893353), E = r(E, k, v, C, l.getUint32(28, !0), 16, 4139469664), C = r(C, E, k, v, l.getUint32(40, !0), 23, 3200236656), v = r(v, C, E, k, l.getUint32(52, !0), 4, 681279174), k = r(k, v, C, E, l.getUint32(0, !0), 11, 3936430074), E = r(E, k, v, C, l.getUint32(12, !0), 16, 3572445317), C = r(C, E, k, v, l.getUint32(24, !0), 23, 76029189), v = r(v, C, E, k, l.getUint32(36, !0), 4, 3654602809), k = r(k, v, C, E, l.getUint32(48, !0), 11, 3873151461), E = r(E, k, v, C, l.getUint32(60, !0), 16, 530742520), v = s(v, C = r(C, E, k, v, l.getUint32(8, !0), 23, 3299628645), E, k, l.getUint32(0, !0), 6, 4096336452), k = s(k, v, C, E, l.getUint32(28, !0), 10, 1126891415), E = s(E, k, v, C, l.getUint32(56, !0), 15, 2878612391), C = s(C, E, k, v, l.getUint32(20, !0), 21, 4237533241), v = s(v, C, E, k, l.getUint32(48, !0), 6, 1700485571), k = s(k, v, C, E, l.getUint32(12, !0), 10, 2399980690), E = s(E, k, v, C, l.getUint32(40, !0), 15, 4293915773), C = s(C, E, k, v, l.getUint32(4, !0), 21, 2240044497), v = s(v, C, E, k, l.getUint32(32, !0), 6, 1873313359), k = s(k, v, C, E, l.getUint32(60, !0), 10, 4264355552), E = s(E, k, v, C, l.getUint32(24, !0), 15, 2734768916), C = s(C, E, k, v, l.getUint32(52, !0), 21, 1309151649), v = s(v, C, E, k, l.getUint32(16, !0), 6, 4149444226), k = s(k, v, C, E, l.getUint32(44, !0), 10, 3174756917), E = s(E, k, v, C, l.getUint32(8, !0), 15, 718787259), C = s(C, E, k, v, l.getUint32(36, !0), 21, 3951481745), m[0] = v + m[0] & 4294967295, m[1] = C + m[1] & 4294967295, m[2] = E + m[2] & 4294967295, m[3] = k + m[3] & 4294967295;
        };
      }, { "./browserHashUtils": 35, "buffer/": 6 }], 36: [function(_, U, L) {
        function h(o, r) {
          this.hash = new o(), this.outer = new o();
          var s = p(o, r), d = new Uint8Array(o.BLOCK_SIZE);
          d.set(s);
          for (var a = 0; a < o.BLOCK_SIZE; a++)
            s[a] ^= 54, d[a] ^= 92;
          for (this.hash.update(s), this.outer.update(d), a = 0; a < s.byteLength; a++)
            s[a] = 0;
        }
        function p(o, r) {
          var s = c.convertToBuffer(r);
          if (s.byteLength > o.BLOCK_SIZE) {
            var d = new o();
            d.update(s), s = d.digest();
          }
          var a = new Uint8Array(o.BLOCK_SIZE);
          return a.set(s), a;
        }
        var c = _("./browserHashUtils");
        U.exports = h, h.prototype.update = function(o) {
          if (c.isEmptyData(o) || this.error)
            return this;
          try {
            this.hash.update(c.convertToBuffer(o));
          } catch (r) {
            this.error = r;
          }
          return this;
        }, h.prototype.digest = function(o) {
          return this.outer.finished || this.outer.update(this.hash.digest()), this.outer.digest(o);
        };
      }, { "./browserHashUtils": 35 }], 35: [function(_, U, L) {
        var h = _("buffer/").Buffer;
        typeof ArrayBuffer < "u" && ArrayBuffer.isView === void 0 && (ArrayBuffer.isView = function(c) {
          return p.indexOf(Object.prototype.toString.call(c)) > -1;
        });
        var p = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]", "[object DataView]"];
        U.exports = { isEmptyData: function(c) {
          return typeof c == "string" ? c.length === 0 : c.byteLength === 0;
        }, convertToBuffer: function(c) {
          return typeof c == "string" && (c = new h(c, "utf8")), ArrayBuffer.isView(c) ? new Uint8Array(c.buffer, c.byteOffset, c.byteLength / Uint8Array.BYTES_PER_ELEMENT) : new Uint8Array(c);
        } };
      }, { "buffer/": 6 }], 20: [function(_, U, L) {
        function h() {
          this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null;
        }
        function p(R, q, F) {
          if (R && o(R) && R instanceof h)
            return R;
          var ae = new h();
          return ae.parse(R, q, F), ae;
        }
        function c(R) {
          return typeof R == "string";
        }
        function o(R) {
          return typeof R == "object" && R !== null;
        }
        function r(R) {
          return R === null;
        }
        var s = _("punycode");
        L.parse = p, L.resolve = function(R, q) {
          return p(R, !1, !0).resolve(q);
        }, L.resolveObject = function(R, q) {
          return R ? p(R, !1, !0).resolveObject(q) : q;
        }, L.format = function(R) {
          return c(R) && (R = p(R)), R instanceof h ? R.format() : h.prototype.format.call(R);
        }, L.Url = h;
        var d = /^([a-z0-9.+-]+:)/i, a = /:[0-9]*$/, u = ["{", "}", "|", "\\", "^", "`"].concat(["<", ">", '"', "`", " ", "\r", `
  `, "	"]), l = ["'"].concat(u), m = ["%", "/", "?", ";", "#"].concat(l), v = ["/", "?", "#"], C = /^[a-z0-9A-Z_-]{0,63}$/, E = /^([a-z0-9A-Z_-]{0,63})(.*)$/, k = { javascript: !0, "javascript:": !0 }, O = { javascript: !0, "javascript:": !0 }, P = { http: !0, https: !0, ftp: !0, gopher: !0, file: !0, "http:": !0, "https:": !0, "ftp:": !0, "gopher:": !0, "file:": !0 }, z = _("querystring");
        h.prototype.parse = function(R, q, F) {
          if (!c(R))
            throw new TypeError("Parameter 'url' must be a string, not " + typeof R);
          var ae = R;
          ae = ae.trim();
          var Ae = d.exec(ae);
          if (Ae) {
            var me = (Ae = Ae[0]).toLowerCase();
            this.protocol = me, ae = ae.substr(Ae.length);
          }
          if (F || Ae || ae.match(/^\/\/[^@\/]+@[^@\/]+/)) {
            var Ne = ae.substr(0, 2) === "//";
            !Ne || Ae && O[Ae] || (ae = ae.substr(2), this.slashes = !0);
          }
          if (!O[Ae] && (Ne || Ae && !P[Ae])) {
            for (var se = -1, w = 0; w < v.length; w++)
              (W = ae.indexOf(v[w])) !== -1 && (se === -1 || W < se) && (se = W);
            var b, N;
            for ((N = se === -1 ? ae.lastIndexOf("@") : ae.lastIndexOf("@", se)) !== -1 && (b = ae.slice(0, N), ae = ae.slice(N + 1), this.auth = decodeURIComponent(b)), se = -1, w = 0; w < m.length; w++) {
              var W;
              (W = ae.indexOf(m[w])) !== -1 && (se === -1 || W < se) && (se = W);
            }
            se === -1 && (se = ae.length), this.host = ae.slice(0, se), ae = ae.slice(se), this.parseHost(), this.hostname = this.hostname || "";
            var X = this.hostname[0] === "[" && this.hostname[this.hostname.length - 1] === "]";
            if (!X)
              for (var oe = this.hostname.split(/\./), Ee = (w = 0, oe.length); w < Ee; w++) {
                var ee = oe[w];
                if (ee && !ee.match(C)) {
                  for (var ce = "", _e = 0, de = ee.length; _e < de; _e++)
                    ee.charCodeAt(_e) > 127 ? ce += "x" : ce += ee[_e];
                  if (!ce.match(C)) {
                    var et = oe.slice(0, w), it = oe.slice(w + 1), Ge = ee.match(E);
                    Ge && (et.push(Ge[1]), it.unshift(Ge[2])), it.length && (ae = "/" + it.join(".") + ae), this.hostname = et.join(".");
                    break;
                  }
                }
              }
            if (this.hostname.length > 255 ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(), !X) {
              var nt = this.hostname.split("."), st = [];
              for (w = 0; w < nt.length; ++w) {
                var at = nt[w];
                st.push(at.match(/[^A-Za-z0-9_-]/) ? "xn--" + s.encode(at) : at);
              }
              this.hostname = st.join(".");
            }
            var S = this.port ? ":" + this.port : "", T = this.hostname || "";
            this.host = T + S, this.href += this.host, X && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), ae[0] !== "/" && (ae = "/" + ae));
          }
          if (!k[me])
            for (w = 0, Ee = l.length; w < Ee; w++) {
              var A = l[w], H = encodeURIComponent(A);
              H === A && (H = escape(A)), ae = ae.split(A).join(H);
            }
          var V = ae.indexOf("#");
          V !== -1 && (this.hash = ae.substr(V), ae = ae.slice(0, V));
          var Y = ae.indexOf("?");
          return Y !== -1 ? (this.search = ae.substr(Y), this.query = ae.substr(Y + 1), q && (this.query = z.parse(this.query)), ae = ae.slice(0, Y)) : q && (this.search = "", this.query = {}), ae && (this.pathname = ae), P[me] && this.hostname && !this.pathname && (this.pathname = "/"), (this.pathname || this.search) && (S = this.pathname || "", at = this.search || "", this.path = S + at), this.href = this.format(), this;
        }, h.prototype.format = function() {
          var R = this.auth || "";
          R && (R = (R = encodeURIComponent(R)).replace(/%3A/i, ":"), R += "@");
          var q = this.protocol || "", F = this.pathname || "", ae = this.hash || "", Ae = !1, me = "";
          this.host ? Ae = R + this.host : this.hostname && (Ae = R + (this.hostname.indexOf(":") === -1 ? this.hostname : "[" + this.hostname + "]"), this.port && (Ae += ":" + this.port)), this.query && o(this.query) && Object.keys(this.query).length && (me = z.stringify(this.query));
          var Ne = this.search || me && "?" + me || "";
          return q && q.substr(-1) !== ":" && (q += ":"), this.slashes || (!q || P[q]) && Ae !== !1 ? (Ae = "//" + (Ae || ""), F && F.charAt(0) !== "/" && (F = "/" + F)) : Ae || (Ae = ""), ae && ae.charAt(0) !== "#" && (ae = "#" + ae), Ne && Ne.charAt(0) !== "?" && (Ne = "?" + Ne), F = F.replace(/[?#]/g, function(se) {
            return encodeURIComponent(se);
          }), q + Ae + F + (Ne = Ne.replace("#", "%23")) + ae;
        }, h.prototype.resolve = function(R) {
          return this.resolveObject(p(R, !1, !0)).format();
        }, h.prototype.resolveObject = function(R) {
          if (c(R)) {
            var q = new h();
            q.parse(R, !1, !0), R = q;
          }
          var F = new h();
          if (Object.keys(this).forEach(function(de) {
            F[de] = this[de];
          }, this), F.hash = R.hash, R.href === "")
            return F.href = F.format(), F;
          if (R.slashes && !R.protocol)
            return Object.keys(R).forEach(function(de) {
              de !== "protocol" && (F[de] = R[de]);
            }), P[F.protocol] && F.hostname && !F.pathname && (F.path = F.pathname = "/"), F.href = F.format(), F;
          if (R.protocol && R.protocol !== F.protocol) {
            if (!P[R.protocol])
              return Object.keys(R).forEach(function(de) {
                F[de] = R[de];
              }), F.href = F.format(), F;
            if (F.protocol = R.protocol, R.host || O[R.protocol])
              F.pathname = R.pathname;
            else {
              for (var ae = (R.pathname || "").split("/"); ae.length && !(R.host = ae.shift()); )
                ;
              R.host || (R.host = ""), R.hostname || (R.hostname = ""), ae[0] !== "" && ae.unshift(""), ae.length < 2 && ae.unshift(""), F.pathname = ae.join("/");
            }
            if (F.search = R.search, F.query = R.query, F.host = R.host || "", F.auth = R.auth, F.hostname = R.hostname || R.host, F.port = R.port, F.pathname || F.search) {
              var Ae = F.pathname || "", me = F.search || "";
              F.path = Ae + me;
            }
            return F.slashes = F.slashes || R.slashes, F.href = F.format(), F;
          }
          var Ne = F.pathname && F.pathname.charAt(0) === "/", se = R.host || R.pathname && R.pathname.charAt(0) === "/", w = se || Ne || F.host && R.pathname, b = w, N = F.pathname && F.pathname.split("/") || [], W = (ae = R.pathname && R.pathname.split("/") || [], F.protocol && !P[F.protocol]);
          if (W && (F.hostname = "", F.port = null, F.host && (N[0] === "" ? N[0] = F.host : N.unshift(F.host)), F.host = "", R.protocol && (R.hostname = null, R.port = null, R.host && (ae[0] === "" ? ae[0] = R.host : ae.unshift(R.host)), R.host = null), w = w && (ae[0] === "" || N[0] === "")), se)
            F.host = R.host || R.host === "" ? R.host : F.host, F.hostname = R.hostname || R.hostname === "" ? R.hostname : F.hostname, F.search = R.search, F.query = R.query, N = ae;
          else if (ae.length)
            N || (N = []), N.pop(), N = N.concat(ae), F.search = R.search, F.query = R.query;
          else if (!function(de) {
            return de == null;
          }(R.search))
            return W && (F.hostname = F.host = N.shift(), (ce = !!(F.host && F.host.indexOf("@") > 0) && F.host.split("@")) && (F.auth = ce.shift(), F.host = F.hostname = ce.shift())), F.search = R.search, F.query = R.query, r(F.pathname) && r(F.search) || (F.path = (F.pathname ? F.pathname : "") + (F.search ? F.search : "")), F.href = F.format(), F;
          if (!N.length)
            return F.pathname = null, F.search ? F.path = "/" + F.search : F.path = null, F.href = F.format(), F;
          for (var X = N.slice(-1)[0], oe = (F.host || R.host) && (X === "." || X === "..") || X === "", Ee = 0, ee = N.length; ee >= 0; ee--)
            (X = N[ee]) == "." ? N.splice(ee, 1) : X === ".." ? (N.splice(ee, 1), Ee++) : Ee && (N.splice(ee, 1), Ee--);
          if (!w && !b)
            for (; Ee--; Ee)
              N.unshift("..");
          !w || N[0] === "" || N[0] && N[0].charAt(0) === "/" || N.unshift(""), oe && N.join("/").substr(-1) !== "/" && N.push("");
          var ce, _e = N[0] === "" || N[0] && N[0].charAt(0) === "/";
          return W && (F.hostname = F.host = _e ? "" : N.length ? N.shift() : "", (ce = !!(F.host && F.host.indexOf("@") > 0) && F.host.split("@")) && (F.auth = ce.shift(), F.host = F.hostname = ce.shift())), (w = w || F.host && N.length) && !_e && N.unshift(""), N.length ? F.pathname = N.join("/") : (F.pathname = null, F.path = null), r(F.pathname) && r(F.search) || (F.path = (F.pathname ? F.pathname : "") + (F.search ? F.search : "")), F.auth = R.auth || F.auth, F.slashes = F.slashes || R.slashes, F.href = F.format(), F;
        }, h.prototype.parseHost = function() {
          var R = this.host, q = a.exec(R);
          q && ((q = q[0]) !== ":" && (this.port = q.substr(1)), R = R.substr(0, R.length - q.length)), R && (this.hostname = R);
        };
      }, { punycode: 12, querystring: 15 }], 18: [function(_, U, L) {
        arguments[4][15][0].apply(L, arguments);
      }, { "./decode": 16, "./encode": 17, dup: 15 }], 17: [function(_, U, L) {
        var h = function(p) {
          switch (typeof p) {
            case "string":
              return p;
            case "boolean":
              return p ? "true" : "false";
            case "number":
              return isFinite(p) ? p : "";
            default:
              return "";
          }
        };
        U.exports = function(p, c, o, r) {
          return c = c || "&", o = o || "=", p === null && (p = void 0), typeof p == "object" ? Object.keys(p).map(function(s) {
            var d = encodeURIComponent(h(s)) + o;
            return Array.isArray(p[s]) ? p[s].map(function(a) {
              return d + encodeURIComponent(h(a));
            }).join(c) : d + encodeURIComponent(h(p[s]));
          }).join(c) : r ? encodeURIComponent(h(r)) + o + encodeURIComponent(h(p)) : "";
        };
      }, {}], 16: [function(_, U, L) {
        function h(p, c) {
          return Object.prototype.hasOwnProperty.call(p, c);
        }
        U.exports = function(p, c, o, r) {
          c = c || "&", o = o || "=";
          var s = {};
          if (typeof p != "string" || p.length === 0)
            return s;
          var d = /\+/g;
          p = p.split(c);
          var a = 1e3;
          r && typeof r.maxKeys == "number" && (a = r.maxKeys);
          var u = p.length;
          a > 0 && u > a && (u = a);
          for (var l = 0; l < u; ++l) {
            var m, v, C, E, k = p[l].replace(d, "%20"), O = k.indexOf(o);
            O >= 0 ? (m = k.substr(0, O), v = k.substr(O + 1)) : (m = k, v = ""), C = decodeURIComponent(m), E = decodeURIComponent(v), h(s, C) ? Array.isArray(s[C]) ? s[C].push(E) : s[C] = [s[C], E] : s[C] = E;
          }
          return s;
        };
      }, {}], 15: [function(_, U, L) {
        L.decode = L.parse = _("./decode"), L.encode = L.stringify = _("./encode");
      }, { "./decode": 13, "./encode": 14 }], 14: [function(_, U, L) {
        function h(r, s) {
          if (r.map)
            return r.map(s);
          for (var d = [], a = 0; a < r.length; a++)
            d.push(s(r[a], a));
          return d;
        }
        var p = function(r) {
          switch (typeof r) {
            case "string":
              return r;
            case "boolean":
              return r ? "true" : "false";
            case "number":
              return isFinite(r) ? r : "";
            default:
              return "";
          }
        };
        U.exports = function(r, s, d, a) {
          return s = s || "&", d = d || "=", r === null && (r = void 0), typeof r == "object" ? h(o(r), function(u) {
            var l = encodeURIComponent(p(u)) + d;
            return c(r[u]) ? h(r[u], function(m) {
              return l + encodeURIComponent(p(m));
            }).join(s) : l + encodeURIComponent(p(r[u]));
          }).join(s) : a ? encodeURIComponent(p(a)) + d + encodeURIComponent(p(r)) : "";
        };
        var c = Array.isArray || function(r) {
          return Object.prototype.toString.call(r) === "[object Array]";
        }, o = Object.keys || function(r) {
          var s = [];
          for (var d in r)
            Object.prototype.hasOwnProperty.call(r, d) && s.push(d);
          return s;
        };
      }, {}], 13: [function(_, U, L) {
        function h(c, o) {
          return Object.prototype.hasOwnProperty.call(c, o);
        }
        U.exports = function(c, o, r, s) {
          o = o || "&", r = r || "=";
          var d = {};
          if (typeof c != "string" || c.length === 0)
            return d;
          var a = /\+/g;
          c = c.split(o);
          var u = 1e3;
          s && typeof s.maxKeys == "number" && (u = s.maxKeys);
          var l = c.length;
          u > 0 && l > u && (l = u);
          for (var m = 0; m < l; ++m) {
            var v, C, E, k, O = c[m].replace(a, "%20"), P = O.indexOf(r);
            P >= 0 ? (v = O.substr(0, P), C = O.substr(P + 1)) : (v = O, C = ""), E = decodeURIComponent(v), k = decodeURIComponent(C), h(d, E) ? p(d[E]) ? d[E].push(k) : d[E] = [d[E], k] : d[E] = k;
          }
          return d;
        };
        var p = Array.isArray || function(c) {
          return Object.prototype.toString.call(c) === "[object Array]";
        };
      }, {}], 12: [function(_, U, L) {
        (function(h) {
          (function() {
            (function(p) {
              function c(ee) {
                throw RangeError(W[ee]);
              }
              function o(ee, ce) {
                for (var _e = ee.length, de = []; _e--; )
                  de[_e] = ce(ee[_e]);
                return de;
              }
              function r(ee, ce) {
                var _e = ee.split("@"), de = "";
                return _e.length > 1 && (de = _e[0] + "@", ee = _e[1]), de + o((ee = ee.replace(N, ".")).split("."), ce).join(".");
              }
              function s(ee) {
                for (var ce, _e, de = [], et = 0, it = ee.length; et < it; )
                  (ce = ee.charCodeAt(et++)) >= 55296 && ce <= 56319 && et < it ? (64512 & (_e = ee.charCodeAt(et++))) == 56320 ? de.push(((1023 & ce) << 10) + (1023 & _e) + 65536) : (de.push(ce), et--) : de.push(ce);
                return de;
              }
              function d(ee) {
                return o(ee, function(ce) {
                  var _e = "";
                  return ce > 65535 && (_e += Ee((ce -= 65536) >>> 10 & 1023 | 55296), ce = 56320 | 1023 & ce), _e + Ee(ce);
                }).join("");
              }
              function a(ee) {
                return ee - 48 < 10 ? ee - 22 : ee - 65 < 26 ? ee - 65 : ee - 97 < 26 ? ee - 97 : R;
              }
              function u(ee, ce) {
                return ee + 22 + 75 * (ee < 26) - ((ce != 0) << 5);
              }
              function l(ee, ce, _e) {
                var de = 0;
                for (ee = _e ? oe(ee / Ae) : ee >> 1, ee += oe(ee / ce); ee > X * F >> 1; de += R)
                  ee = oe(ee / X);
                return oe(de + (X + 1) * ee / (ee + ae));
              }
              function m(ee) {
                var ce, _e, de, et, it, Ge, nt, st, at, S, T = [], A = ee.length, H = 0, V = Ne, Y = me;
                for ((_e = ee.lastIndexOf(se)) < 0 && (_e = 0), de = 0; de < _e; ++de)
                  ee.charCodeAt(de) >= 128 && c("not-basic"), T.push(ee.charCodeAt(de));
                for (et = _e > 0 ? _e + 1 : 0; et < A; ) {
                  for (it = H, Ge = 1, nt = R; et >= A && c("invalid-input"), ((st = a(ee.charCodeAt(et++))) >= R || st > oe((z - H) / Ge)) && c("overflow"), H += st * Ge, !(st < (at = nt <= Y ? q : nt >= Y + F ? F : nt - Y)); nt += R)
                    Ge > oe(z / (S = R - at)) && c("overflow"), Ge *= S;
                  Y = l(H - it, ce = T.length + 1, it == 0), oe(H / ce) > z - V && c("overflow"), V += oe(H / ce), H %= ce, T.splice(H++, 0, V);
                }
                return d(T);
              }
              function v(ee) {
                var ce, _e, de, et, it, Ge, nt, st, at, S, T, A, H, V, Y, ye = [];
                for (A = (ee = s(ee)).length, ce = Ne, _e = 0, it = me, Ge = 0; Ge < A; ++Ge)
                  (T = ee[Ge]) < 128 && ye.push(Ee(T));
                for (de = et = ye.length, et && ye.push(se); de < A; ) {
                  for (nt = z, Ge = 0; Ge < A; ++Ge)
                    (T = ee[Ge]) >= ce && T < nt && (nt = T);
                  for (nt - ce > oe((z - _e) / (H = de + 1)) && c("overflow"), _e += (nt - ce) * H, ce = nt, Ge = 0; Ge < A; ++Ge)
                    if ((T = ee[Ge]) < ce && ++_e > z && c("overflow"), T == ce) {
                      for (st = _e, at = R; !(st < (S = at <= it ? q : at >= it + F ? F : at - it)); at += R)
                        Y = st - S, V = R - S, ye.push(Ee(u(S + Y % V, 0))), st = oe(Y / V);
                      ye.push(Ee(u(st, 0))), it = l(_e, H, de == et), _e = 0, ++de;
                    }
                  ++_e, ++ce;
                }
                return ye.join("");
              }
              var C = typeof L == "object" && L && !L.nodeType && L, E = typeof U == "object" && U && !U.nodeType && U, k = typeof h == "object" && h;
              k.global !== k && k.window !== k && k.self !== k || (p = k);
              var O, P, z = 2147483647, R = 36, q = 1, F = 26, ae = 38, Ae = 700, me = 72, Ne = 128, se = "-", w = /^xn--/, b = /[^\x20-\x7E]/, N = /[\x2E\u3002\uFF0E\uFF61]/g, W = { overflow: "Overflow: input needs wider integers to process", "not-basic": "Illegal input >= 0x80 (not a basic code point)", "invalid-input": "Invalid input" }, X = R - q, oe = Math.floor, Ee = String.fromCharCode;
              if (O = { version: "1.3.2", ucs2: { decode: s, encode: d }, decode: m, encode: v, toASCII: function(ee) {
                return r(ee, function(ce) {
                  return b.test(ce) ? "xn--" + v(ce) : ce;
                });
              }, toUnicode: function(ee) {
                return r(ee, function(ce) {
                  return w.test(ce) ? m(ce.slice(4).toLowerCase()) : ce;
                });
              } }, Te.amdO)
                (je = function() {
                  return O;
                }.call(Ie, Te, Ie, ke)) === void 0 || (ke.exports = je);
              else if (C && E)
                if (U.exports == C)
                  E.exports = O;
                else
                  for (P in O)
                    O.hasOwnProperty(P) && (C[P] = O[P]);
              else
                p.punycode = O;
            })(this);
          }).call(this);
        }).call(this, typeof Gn < "u" ? Gn : typeof self < "u" ? self : typeof window < "u" ? window : {});
      }, {}], 7: [function(_, U, L) {
        function h() {
          this._events = this._events || {}, this._maxListeners = this._maxListeners || void 0;
        }
        function p(r) {
          return typeof r == "function";
        }
        function c(r) {
          return typeof r == "object" && r !== null;
        }
        function o(r) {
          return r === void 0;
        }
        U.exports = h, h.EventEmitter = h, h.prototype._events = void 0, h.prototype._maxListeners = void 0, h.defaultMaxListeners = 10, h.prototype.setMaxListeners = function(r) {
          if (!/* @__PURE__ */ function(s) {
            return typeof s == "number";
          }(r) || r < 0 || isNaN(r))
            throw TypeError("n must be a positive number");
          return this._maxListeners = r, this;
        }, h.prototype.emit = function(r) {
          var s, d, a, u, l, m;
          if (this._events || (this._events = {}), r === "error" && (!this._events.error || c(this._events.error) && !this._events.error.length)) {
            if ((s = arguments[1]) instanceof Error)
              throw s;
            var v = new Error('Uncaught, unspecified "error" event. (' + s + ")");
            throw v.context = s, v;
          }
          if (o(d = this._events[r]))
            return !1;
          if (p(d))
            switch (arguments.length) {
              case 1:
                d.call(this);
                break;
              case 2:
                d.call(this, arguments[1]);
                break;
              case 3:
                d.call(this, arguments[1], arguments[2]);
                break;
              default:
                u = Array.prototype.slice.call(arguments, 1), d.apply(this, u);
            }
          else if (c(d))
            for (u = Array.prototype.slice.call(arguments, 1), a = (m = d.slice()).length, l = 0; l < a; l++)
              m[l].apply(this, u);
          return !0;
        }, h.prototype.addListener = function(r, s) {
          var d;
          if (!p(s))
            throw TypeError("listener must be a function");
          return this._events || (this._events = {}), this._events.newListener && this.emit("newListener", r, p(s.listener) ? s.listener : s), this._events[r] ? c(this._events[r]) ? this._events[r].push(s) : this._events[r] = [this._events[r], s] : this._events[r] = s, c(this._events[r]) && !this._events[r].warned && (d = o(this._maxListeners) ? h.defaultMaxListeners : this._maxListeners) && d > 0 && this._events[r].length > d && (this._events[r].warned = !0, console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", this._events[r].length), typeof console.trace == "function" && console.trace()), this;
        }, h.prototype.on = h.prototype.addListener, h.prototype.once = function(r, s) {
          function d() {
            this.removeListener(r, d), a || (a = !0, s.apply(this, arguments));
          }
          if (!p(s))
            throw TypeError("listener must be a function");
          var a = !1;
          return d.listener = s, this.on(r, d), this;
        }, h.prototype.removeListener = function(r, s) {
          var d, a, u, l;
          if (!p(s))
            throw TypeError("listener must be a function");
          if (!this._events || !this._events[r])
            return this;
          if (u = (d = this._events[r]).length, a = -1, d === s || p(d.listener) && d.listener === s)
            delete this._events[r], this._events.removeListener && this.emit("removeListener", r, s);
          else if (c(d)) {
            for (l = u; l-- > 0; )
              if (d[l] === s || d[l].listener && d[l].listener === s) {
                a = l;
                break;
              }
            if (a < 0)
              return this;
            d.length === 1 ? (d.length = 0, delete this._events[r]) : d.splice(a, 1), this._events.removeListener && this.emit("removeListener", r, s);
          }
          return this;
        }, h.prototype.removeAllListeners = function(r) {
          var s, d;
          if (!this._events)
            return this;
          if (!this._events.removeListener)
            return arguments.length === 0 ? this._events = {} : this._events[r] && delete this._events[r], this;
          if (arguments.length === 0) {
            for (s in this._events)
              s !== "removeListener" && this.removeAllListeners(s);
            return this.removeAllListeners("removeListener"), this._events = {}, this;
          }
          if (p(d = this._events[r]))
            this.removeListener(r, d);
          else if (d)
            for (; d.length; )
              this.removeListener(r, d[d.length - 1]);
          return delete this._events[r], this;
        }, h.prototype.listeners = function(r) {
          return this._events && this._events[r] ? p(this._events[r]) ? [this._events[r]] : this._events[r].slice() : [];
        }, h.prototype.listenerCount = function(r) {
          if (this._events) {
            var s = this._events[r];
            if (p(s))
              return 1;
            if (s)
              return s.length;
          }
          return 0;
        }, h.listenerCount = function(r, s) {
          return r.listenerCount(s);
        };
      }, {}], 6: [function(_, U, L) {
        (function(h, p) {
          (function() {
            function c() {
              return r.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
            }
            function o(S, T) {
              if (c() < T)
                throw new RangeError("Invalid typed array length");
              return r.TYPED_ARRAY_SUPPORT ? (S = new Uint8Array(T)).__proto__ = r.prototype : (S === null && (S = new r(T)), S.length = T), S;
            }
            function r(S, T, A) {
              if (!(r.TYPED_ARRAY_SUPPORT || this instanceof r))
                return new r(S, T, A);
              if (typeof S == "number") {
                if (typeof T == "string")
                  throw new Error("If encoding is specified then the first argument must be a string");
                return a(this, S);
              }
              return s(this, S, T, A);
            }
            function s(S, T, A, H) {
              if (typeof T == "number")
                throw new TypeError('"value" argument must not be a number');
              return typeof ArrayBuffer < "u" && T instanceof ArrayBuffer ? function(V, Y, ye, Qe) {
                if (Y.byteLength, ye < 0 || Y.byteLength < ye)
                  throw new RangeError("'offset' is out of bounds");
                if (Y.byteLength < ye + (Qe || 0))
                  throw new RangeError("'length' is out of bounds");
                return Y = ye === void 0 && Qe === void 0 ? new Uint8Array(Y) : Qe === void 0 ? new Uint8Array(Y, ye) : new Uint8Array(Y, ye, Qe), r.TYPED_ARRAY_SUPPORT ? (V = Y).__proto__ = r.prototype : V = u(V, Y), V;
              }(S, T, A, H) : typeof T == "string" ? function(V, Y, ye) {
                if (typeof ye == "string" && ye !== "" || (ye = "utf8"), !r.isEncoding(ye))
                  throw new TypeError('"encoding" must be a valid string encoding');
                var Qe = 0 | m(Y, ye), Ke = (V = o(V, Qe)).write(Y, ye);
                return Ke !== Qe && (V = V.slice(0, Ke)), V;
              }(S, T, A) : function(V, Y) {
                if (r.isBuffer(Y)) {
                  var ye = 0 | l(Y.length);
                  return (V = o(V, ye)).length === 0 || Y.copy(V, 0, 0, ye), V;
                }
                if (Y) {
                  if (typeof ArrayBuffer < "u" && Y.buffer instanceof ArrayBuffer || "length" in Y)
                    return typeof Y.length != "number" || function(Qe) {
                      return Qe != Qe;
                    }(Y.length) ? o(V, 0) : u(V, Y);
                  if (Y.type === "Buffer" && nt(Y.data))
                    return u(V, Y.data);
                }
                throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.");
              }(S, T);
            }
            function d(S) {
              if (typeof S != "number")
                throw new TypeError('"size" argument must be a number');
              if (S < 0)
                throw new RangeError('"size" argument must not be negative');
            }
            function a(S, T) {
              if (d(T), S = o(S, T < 0 ? 0 : 0 | l(T)), !r.TYPED_ARRAY_SUPPORT)
                for (var A = 0; A < T; ++A)
                  S[A] = 0;
              return S;
            }
            function u(S, T) {
              var A = T.length < 0 ? 0 : 0 | l(T.length);
              S = o(S, A);
              for (var H = 0; H < A; H += 1)
                S[H] = 255 & T[H];
              return S;
            }
            function l(S) {
              if (S >= c())
                throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + c().toString(16) + " bytes");
              return 0 | S;
            }
            function m(S, T) {
              if (r.isBuffer(S))
                return S.length;
              if (typeof ArrayBuffer < "u" && typeof ArrayBuffer.isView == "function" && (ArrayBuffer.isView(S) || S instanceof ArrayBuffer))
                return S.byteLength;
              typeof S != "string" && (S = "" + S);
              var A = S.length;
              if (A === 0)
                return 0;
              for (var H = !1; ; )
                switch (T) {
                  case "ascii":
                  case "latin1":
                  case "binary":
                    return A;
                  case "utf8":
                  case "utf-8":
                  case void 0:
                    return _e(S).length;
                  case "ucs2":
                  case "ucs-2":
                  case "utf16le":
                  case "utf-16le":
                    return 2 * A;
                  case "hex":
                    return A >>> 1;
                  case "base64":
                    return de(S).length;
                  default:
                    if (H)
                      return _e(S).length;
                    T = ("" + T).toLowerCase(), H = !0;
                }
            }
            function v(S, T, A) {
              var H = !1;
              if ((T === void 0 || T < 0) && (T = 0), T > this.length || ((A === void 0 || A > this.length) && (A = this.length), A <= 0) || (A >>>= 0) <= (T >>>= 0))
                return "";
              for (S || (S = "utf8"); ; )
                switch (S) {
                  case "hex":
                    return se(this, T, A);
                  case "utf8":
                  case "utf-8":
                    return Ae(this, T, A);
                  case "ascii":
                    return me(this, T, A);
                  case "latin1":
                  case "binary":
                    return Ne(this, T, A);
                  case "base64":
                    return ae(this, T, A);
                  case "ucs2":
                  case "ucs-2":
                  case "utf16le":
                  case "utf-16le":
                    return w(this, T, A);
                  default:
                    if (H)
                      throw new TypeError("Unknown encoding: " + S);
                    S = (S + "").toLowerCase(), H = !0;
                }
            }
            function C(S, T, A) {
              var H = S[T];
              S[T] = S[A], S[A] = H;
            }
            function E(S, T, A, H, V) {
              if (S.length === 0)
                return -1;
              if (typeof A == "string" ? (H = A, A = 0) : A > 2147483647 ? A = 2147483647 : A < -2147483648 && (A = -2147483648), A = +A, isNaN(A) && (A = V ? 0 : S.length - 1), A < 0 && (A = S.length + A), A >= S.length) {
                if (V)
                  return -1;
                A = S.length - 1;
              } else if (A < 0) {
                if (!V)
                  return -1;
                A = 0;
              }
              if (typeof T == "string" && (T = r.from(T, H)), r.isBuffer(T))
                return T.length === 0 ? -1 : k(S, T, A, H, V);
              if (typeof T == "number")
                return T &= 255, r.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf == "function" ? V ? Uint8Array.prototype.indexOf.call(S, T, A) : Uint8Array.prototype.lastIndexOf.call(S, T, A) : k(S, [T], A, H, V);
              throw new TypeError("val must be string, number or Buffer");
            }
            function k(S, T, A, H, V) {
              function Y(Ut, Dn) {
                return Qe === 1 ? Ut[Dn] : Ut.readUInt16BE(Dn * Qe);
              }
              var ye, Qe = 1, Ke = S.length, ft = T.length;
              if (H !== void 0 && ((H = String(H).toLowerCase()) === "ucs2" || H === "ucs-2" || H === "utf16le" || H === "utf-16le")) {
                if (S.length < 2 || T.length < 2)
                  return -1;
                Qe = 2, Ke /= 2, ft /= 2, A /= 2;
              }
              if (V) {
                var tt = -1;
                for (ye = A; ye < Ke; ye++)
                  if (Y(S, ye) === Y(T, tt === -1 ? 0 : ye - tt)) {
                    if (tt === -1 && (tt = ye), ye - tt + 1 === ft)
                      return tt * Qe;
                  } else
                    tt !== -1 && (ye -= ye - tt), tt = -1;
              } else
                for (A + ft > Ke && (A = Ke - ft), ye = A; ye >= 0; ye--) {
                  for (var At = !0, Mt = 0; Mt < ft; Mt++)
                    if (Y(S, ye + Mt) !== Y(T, Mt)) {
                      At = !1;
                      break;
                    }
                  if (At)
                    return ye;
                }
              return -1;
            }
            function O(S, T, A, H) {
              A = Number(A) || 0;
              var V = S.length - A;
              H ? (H = Number(H)) > V && (H = V) : H = V;
              var Y = T.length;
              if (Y % 2 != 0)
                throw new TypeError("Invalid hex string");
              H > Y / 2 && (H = Y / 2);
              for (var ye = 0; ye < H; ++ye) {
                var Qe = parseInt(T.substr(2 * ye, 2), 16);
                if (isNaN(Qe))
                  return ye;
                S[A + ye] = Qe;
              }
              return ye;
            }
            function P(S, T, A, H) {
              return et(_e(T, S.length - A), S, A, H);
            }
            function z(S, T, A, H) {
              return et(function(V) {
                for (var Y = [], ye = 0; ye < V.length; ++ye)
                  Y.push(255 & V.charCodeAt(ye));
                return Y;
              }(T), S, A, H);
            }
            function R(S, T, A, H) {
              return z(S, T, A, H);
            }
            function q(S, T, A, H) {
              return et(de(T), S, A, H);
            }
            function F(S, T, A, H) {
              return et(function(V, Y) {
                for (var ye, Qe, Ke, ft = [], tt = 0; tt < V.length && !((Y -= 2) < 0); ++tt)
                  Qe = (ye = V.charCodeAt(tt)) >> 8, Ke = ye % 256, ft.push(Ke), ft.push(Qe);
                return ft;
              }(T, S.length - A), S, A, H);
            }
            function ae(S, T, A) {
              return T === 0 && A === S.length ? it.fromByteArray(S) : it.fromByteArray(S.slice(T, A));
            }
            function Ae(S, T, A) {
              A = Math.min(S.length, A);
              for (var H = [], V = T; V < A; ) {
                var Y, ye, Qe, Ke, ft = S[V], tt = null, At = ft > 239 ? 4 : ft > 223 ? 3 : ft > 191 ? 2 : 1;
                if (V + At <= A)
                  switch (At) {
                    case 1:
                      ft < 128 && (tt = ft);
                      break;
                    case 2:
                      (192 & (Y = S[V + 1])) == 128 && (Ke = (31 & ft) << 6 | 63 & Y) > 127 && (tt = Ke);
                      break;
                    case 3:
                      Y = S[V + 1], ye = S[V + 2], (192 & Y) == 128 && (192 & ye) == 128 && (Ke = (15 & ft) << 12 | (63 & Y) << 6 | 63 & ye) > 2047 && (Ke < 55296 || Ke > 57343) && (tt = Ke);
                      break;
                    case 4:
                      Y = S[V + 1], ye = S[V + 2], Qe = S[V + 3], (192 & Y) == 128 && (192 & ye) == 128 && (192 & Qe) == 128 && (Ke = (15 & ft) << 18 | (63 & Y) << 12 | (63 & ye) << 6 | 63 & Qe) > 65535 && Ke < 1114112 && (tt = Ke);
                  }
                tt === null ? (tt = 65533, At = 1) : tt > 65535 && (tt -= 65536, H.push(tt >>> 10 & 1023 | 55296), tt = 56320 | 1023 & tt), H.push(tt), V += At;
              }
              return function(Mt) {
                var Ut = Mt.length;
                if (Ut <= st)
                  return String.fromCharCode.apply(String, Mt);
                for (var Dn = "", Tt = 0; Tt < Ut; )
                  Dn += String.fromCharCode.apply(String, Mt.slice(Tt, Tt += st));
                return Dn;
              }(H);
            }
            function me(S, T, A) {
              var H = "";
              A = Math.min(S.length, A);
              for (var V = T; V < A; ++V)
                H += String.fromCharCode(127 & S[V]);
              return H;
            }
            function Ne(S, T, A) {
              var H = "";
              A = Math.min(S.length, A);
              for (var V = T; V < A; ++V)
                H += String.fromCharCode(S[V]);
              return H;
            }
            function se(S, T, A) {
              var H = S.length;
              (!T || T < 0) && (T = 0), (!A || A < 0 || A > H) && (A = H);
              for (var V = "", Y = T; Y < A; ++Y)
                V += ce(S[Y]);
              return V;
            }
            function w(S, T, A) {
              for (var H = S.slice(T, A), V = "", Y = 0; Y < H.length; Y += 2)
                V += String.fromCharCode(H[Y] + 256 * H[Y + 1]);
              return V;
            }
            function b(S, T, A) {
              if (S % 1 != 0 || S < 0)
                throw new RangeError("offset is not uint");
              if (S + T > A)
                throw new RangeError("Trying to access beyond buffer length");
            }
            function N(S, T, A, H, V, Y) {
              if (!r.isBuffer(S))
                throw new TypeError('"buffer" argument must be a Buffer instance');
              if (T > V || T < Y)
                throw new RangeError('"value" argument is out of bounds');
              if (A + H > S.length)
                throw new RangeError("Index out of range");
            }
            function W(S, T, A, H) {
              T < 0 && (T = 65535 + T + 1);
              for (var V = 0, Y = Math.min(S.length - A, 2); V < Y; ++V)
                S[A + V] = (T & 255 << 8 * (H ? V : 1 - V)) >>> 8 * (H ? V : 1 - V);
            }
            function X(S, T, A, H) {
              T < 0 && (T = 4294967295 + T + 1);
              for (var V = 0, Y = Math.min(S.length - A, 4); V < Y; ++V)
                S[A + V] = T >>> 8 * (H ? V : 3 - V) & 255;
            }
            function oe(S, T, A, H, V, Y) {
              if (A + H > S.length)
                throw new RangeError("Index out of range");
              if (A < 0)
                throw new RangeError("Index out of range");
            }
            function Ee(S, T, A, H, V) {
              return V || oe(S, 0, A, 4), Ge.write(S, T, A, H, 23, 4), A + 4;
            }
            function ee(S, T, A, H, V) {
              return V || oe(S, 0, A, 8), Ge.write(S, T, A, H, 52, 8), A + 8;
            }
            function ce(S) {
              return S < 16 ? "0" + S.toString(16) : S.toString(16);
            }
            function _e(S, T) {
              T = T || 1 / 0;
              for (var A, H = S.length, V = null, Y = [], ye = 0; ye < H; ++ye) {
                if ((A = S.charCodeAt(ye)) > 55295 && A < 57344) {
                  if (!V) {
                    if (A > 56319) {
                      (T -= 3) > -1 && Y.push(239, 191, 189);
                      continue;
                    }
                    if (ye + 1 === H) {
                      (T -= 3) > -1 && Y.push(239, 191, 189);
                      continue;
                    }
                    V = A;
                    continue;
                  }
                  if (A < 56320) {
                    (T -= 3) > -1 && Y.push(239, 191, 189), V = A;
                    continue;
                  }
                  A = 65536 + (V - 55296 << 10 | A - 56320);
                } else
                  V && (T -= 3) > -1 && Y.push(239, 191, 189);
                if (V = null, A < 128) {
                  if ((T -= 1) < 0)
                    break;
                  Y.push(A);
                } else if (A < 2048) {
                  if ((T -= 2) < 0)
                    break;
                  Y.push(A >> 6 | 192, 63 & A | 128);
                } else if (A < 65536) {
                  if ((T -= 3) < 0)
                    break;
                  Y.push(A >> 12 | 224, A >> 6 & 63 | 128, 63 & A | 128);
                } else {
                  if (!(A < 1114112))
                    throw new Error("Invalid code point");
                  if ((T -= 4) < 0)
                    break;
                  Y.push(A >> 18 | 240, A >> 12 & 63 | 128, A >> 6 & 63 | 128, 63 & A | 128);
                }
              }
              return Y;
            }
            function de(S) {
              return it.toByteArray(function(T) {
                if ((T = function(A) {
                  return A.trim ? A.trim() : A.replace(/^\s+|\s+$/g, "");
                }(T).replace(at, "")).length < 2)
                  return "";
                for (; T.length % 4 != 0; )
                  T += "=";
                return T;
              }(S));
            }
            function et(S, T, A, H) {
              for (var V = 0; V < H && !(V + A >= T.length || V >= S.length); ++V)
                T[V + A] = S[V];
              return V;
            }
            var it = _("base64-js"), Ge = _("ieee754"), nt = _("isarray");
            L.Buffer = r, L.SlowBuffer = function(S) {
              return +S != S && (S = 0), r.alloc(+S);
            }, L.INSPECT_MAX_BYTES = 50, r.TYPED_ARRAY_SUPPORT = h.TYPED_ARRAY_SUPPORT !== void 0 ? h.TYPED_ARRAY_SUPPORT : function() {
              try {
                var S = new Uint8Array(1);
                return S.__proto__ = { __proto__: Uint8Array.prototype, foo: function() {
                  return 42;
                } }, S.foo() === 42 && typeof S.subarray == "function" && S.subarray(1, 1).byteLength === 0;
              } catch {
                return !1;
              }
            }(), L.kMaxLength = c(), r.poolSize = 8192, r._augment = function(S) {
              return S.__proto__ = r.prototype, S;
            }, r.from = function(S, T, A) {
              return s(null, S, T, A);
            }, r.TYPED_ARRAY_SUPPORT && (r.prototype.__proto__ = Uint8Array.prototype, r.__proto__ = Uint8Array, typeof Symbol < "u" && Symbol.species && r[Symbol.species] === r && Object.defineProperty(r, Symbol.species, { value: null, configurable: !0 })), r.alloc = function(S, T, A) {
              return function(H, V, Y, ye) {
                return d(V), V <= 0 ? o(H, V) : Y !== void 0 ? typeof ye == "string" ? o(H, V).fill(Y, ye) : o(H, V).fill(Y) : o(H, V);
              }(null, S, T, A);
            }, r.allocUnsafe = function(S) {
              return a(null, S);
            }, r.allocUnsafeSlow = function(S) {
              return a(null, S);
            }, r.isBuffer = function(S) {
              return !(S == null || !S._isBuffer);
            }, r.compare = function(S, T) {
              if (!r.isBuffer(S) || !r.isBuffer(T))
                throw new TypeError("Arguments must be Buffers");
              if (S === T)
                return 0;
              for (var A = S.length, H = T.length, V = 0, Y = Math.min(A, H); V < Y; ++V)
                if (S[V] !== T[V]) {
                  A = S[V], H = T[V];
                  break;
                }
              return A < H ? -1 : H < A ? 1 : 0;
            }, r.isEncoding = function(S) {
              switch (String(S).toLowerCase()) {
                case "hex":
                case "utf8":
                case "utf-8":
                case "ascii":
                case "latin1":
                case "binary":
                case "base64":
                case "ucs2":
                case "ucs-2":
                case "utf16le":
                case "utf-16le":
                  return !0;
                default:
                  return !1;
              }
            }, r.concat = function(S, T) {
              if (!nt(S))
                throw new TypeError('"list" argument must be an Array of Buffers');
              if (S.length === 0)
                return r.alloc(0);
              var A;
              if (T === void 0)
                for (T = 0, A = 0; A < S.length; ++A)
                  T += S[A].length;
              var H = r.allocUnsafe(T), V = 0;
              for (A = 0; A < S.length; ++A) {
                var Y = S[A];
                if (!r.isBuffer(Y))
                  throw new TypeError('"list" argument must be an Array of Buffers');
                Y.copy(H, V), V += Y.length;
              }
              return H;
            }, r.byteLength = m, r.prototype._isBuffer = !0, r.prototype.swap16 = function() {
              var S = this.length;
              if (S % 2 != 0)
                throw new RangeError("Buffer size must be a multiple of 16-bits");
              for (var T = 0; T < S; T += 2)
                C(this, T, T + 1);
              return this;
            }, r.prototype.swap32 = function() {
              var S = this.length;
              if (S % 4 != 0)
                throw new RangeError("Buffer size must be a multiple of 32-bits");
              for (var T = 0; T < S; T += 4)
                C(this, T, T + 3), C(this, T + 1, T + 2);
              return this;
            }, r.prototype.swap64 = function() {
              var S = this.length;
              if (S % 8 != 0)
                throw new RangeError("Buffer size must be a multiple of 64-bits");
              for (var T = 0; T < S; T += 8)
                C(this, T, T + 7), C(this, T + 1, T + 6), C(this, T + 2, T + 5), C(this, T + 3, T + 4);
              return this;
            }, r.prototype.toString = function() {
              var S = 0 | this.length;
              return S === 0 ? "" : arguments.length === 0 ? Ae(this, 0, S) : v.apply(this, arguments);
            }, r.prototype.equals = function(S) {
              if (!r.isBuffer(S))
                throw new TypeError("Argument must be a Buffer");
              return this === S || r.compare(this, S) === 0;
            }, r.prototype.inspect = function() {
              var S = "", T = L.INSPECT_MAX_BYTES;
              return this.length > 0 && (S = this.toString("hex", 0, T).match(/.{2}/g).join(" "), this.length > T && (S += " ... ")), "<Buffer " + S + ">";
            }, r.prototype.compare = function(S, T, A, H, V) {
              if (!r.isBuffer(S))
                throw new TypeError("Argument must be a Buffer");
              if (T === void 0 && (T = 0), A === void 0 && (A = S ? S.length : 0), H === void 0 && (H = 0), V === void 0 && (V = this.length), T < 0 || A > S.length || H < 0 || V > this.length)
                throw new RangeError("out of range index");
              if (H >= V && T >= A)
                return 0;
              if (H >= V)
                return -1;
              if (T >= A)
                return 1;
              if (this === S)
                return 0;
              for (var Y = (V >>>= 0) - (H >>>= 0), ye = (A >>>= 0) - (T >>>= 0), Qe = Math.min(Y, ye), Ke = this.slice(H, V), ft = S.slice(T, A), tt = 0; tt < Qe; ++tt)
                if (Ke[tt] !== ft[tt]) {
                  Y = Ke[tt], ye = ft[tt];
                  break;
                }
              return Y < ye ? -1 : ye < Y ? 1 : 0;
            }, r.prototype.includes = function(S, T, A) {
              return this.indexOf(S, T, A) !== -1;
            }, r.prototype.indexOf = function(S, T, A) {
              return E(this, S, T, A, !0);
            }, r.prototype.lastIndexOf = function(S, T, A) {
              return E(this, S, T, A, !1);
            }, r.prototype.write = function(S, T, A, H) {
              if (T === void 0)
                H = "utf8", A = this.length, T = 0;
              else if (A === void 0 && typeof T == "string")
                H = T, A = this.length, T = 0;
              else {
                if (!isFinite(T))
                  throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
                T |= 0, isFinite(A) ? (A |= 0, H === void 0 && (H = "utf8")) : (H = A, A = void 0);
              }
              var V = this.length - T;
              if ((A === void 0 || A > V) && (A = V), S.length > 0 && (A < 0 || T < 0) || T > this.length)
                throw new RangeError("Attempt to write outside buffer bounds");
              H || (H = "utf8");
              for (var Y = !1; ; )
                switch (H) {
                  case "hex":
                    return O(this, S, T, A);
                  case "utf8":
                  case "utf-8":
                    return P(this, S, T, A);
                  case "ascii":
                    return z(this, S, T, A);
                  case "latin1":
                  case "binary":
                    return R(this, S, T, A);
                  case "base64":
                    return q(this, S, T, A);
                  case "ucs2":
                  case "ucs-2":
                  case "utf16le":
                  case "utf-16le":
                    return F(this, S, T, A);
                  default:
                    if (Y)
                      throw new TypeError("Unknown encoding: " + H);
                    H = ("" + H).toLowerCase(), Y = !0;
                }
            }, r.prototype.toJSON = function() {
              return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) };
            };
            var st = 4096;
            r.prototype.slice = function(S, T) {
              var A, H = this.length;
              if ((S = ~~S) < 0 ? (S += H) < 0 && (S = 0) : S > H && (S = H), (T = T === void 0 ? H : ~~T) < 0 ? (T += H) < 0 && (T = 0) : T > H && (T = H), T < S && (T = S), r.TYPED_ARRAY_SUPPORT)
                (A = this.subarray(S, T)).__proto__ = r.prototype;
              else {
                var V = T - S;
                A = new r(V, void 0);
                for (var Y = 0; Y < V; ++Y)
                  A[Y] = this[Y + S];
              }
              return A;
            }, r.prototype.readUIntLE = function(S, T, A) {
              S |= 0, T |= 0, A || b(S, T, this.length);
              for (var H = this[S], V = 1, Y = 0; ++Y < T && (V *= 256); )
                H += this[S + Y] * V;
              return H;
            }, r.prototype.readUIntBE = function(S, T, A) {
              S |= 0, T |= 0, A || b(S, T, this.length);
              for (var H = this[S + --T], V = 1; T > 0 && (V *= 256); )
                H += this[S + --T] * V;
              return H;
            }, r.prototype.readUInt8 = function(S, T) {
              return T || b(S, 1, this.length), this[S];
            }, r.prototype.readUInt16LE = function(S, T) {
              return T || b(S, 2, this.length), this[S] | this[S + 1] << 8;
            }, r.prototype.readUInt16BE = function(S, T) {
              return T || b(S, 2, this.length), this[S] << 8 | this[S + 1];
            }, r.prototype.readUInt32LE = function(S, T) {
              return T || b(S, 4, this.length), (this[S] | this[S + 1] << 8 | this[S + 2] << 16) + 16777216 * this[S + 3];
            }, r.prototype.readUInt32BE = function(S, T) {
              return T || b(S, 4, this.length), 16777216 * this[S] + (this[S + 1] << 16 | this[S + 2] << 8 | this[S + 3]);
            }, r.prototype.readIntLE = function(S, T, A) {
              S |= 0, T |= 0, A || b(S, T, this.length);
              for (var H = this[S], V = 1, Y = 0; ++Y < T && (V *= 256); )
                H += this[S + Y] * V;
              return H >= (V *= 128) && (H -= Math.pow(2, 8 * T)), H;
            }, r.prototype.readIntBE = function(S, T, A) {
              S |= 0, T |= 0, A || b(S, T, this.length);
              for (var H = T, V = 1, Y = this[S + --H]; H > 0 && (V *= 256); )
                Y += this[S + --H] * V;
              return Y >= (V *= 128) && (Y -= Math.pow(2, 8 * T)), Y;
            }, r.prototype.readInt8 = function(S, T) {
              return T || b(S, 1, this.length), 128 & this[S] ? -1 * (255 - this[S] + 1) : this[S];
            }, r.prototype.readInt16LE = function(S, T) {
              T || b(S, 2, this.length);
              var A = this[S] | this[S + 1] << 8;
              return 32768 & A ? 4294901760 | A : A;
            }, r.prototype.readInt16BE = function(S, T) {
              T || b(S, 2, this.length);
              var A = this[S + 1] | this[S] << 8;
              return 32768 & A ? 4294901760 | A : A;
            }, r.prototype.readInt32LE = function(S, T) {
              return T || b(S, 4, this.length), this[S] | this[S + 1] << 8 | this[S + 2] << 16 | this[S + 3] << 24;
            }, r.prototype.readInt32BE = function(S, T) {
              return T || b(S, 4, this.length), this[S] << 24 | this[S + 1] << 16 | this[S + 2] << 8 | this[S + 3];
            }, r.prototype.readFloatLE = function(S, T) {
              return T || b(S, 4, this.length), Ge.read(this, S, !0, 23, 4);
            }, r.prototype.readFloatBE = function(S, T) {
              return T || b(S, 4, this.length), Ge.read(this, S, !1, 23, 4);
            }, r.prototype.readDoubleLE = function(S, T) {
              return T || b(S, 8, this.length), Ge.read(this, S, !0, 52, 8);
            }, r.prototype.readDoubleBE = function(S, T) {
              return T || b(S, 8, this.length), Ge.read(this, S, !1, 52, 8);
            }, r.prototype.writeUIntLE = function(S, T, A, H) {
              S = +S, T |= 0, A |= 0, H || N(this, S, T, A, Math.pow(2, 8 * A) - 1, 0);
              var V = 1, Y = 0;
              for (this[T] = 255 & S; ++Y < A && (V *= 256); )
                this[T + Y] = S / V & 255;
              return T + A;
            }, r.prototype.writeUIntBE = function(S, T, A, H) {
              S = +S, T |= 0, A |= 0, H || N(this, S, T, A, Math.pow(2, 8 * A) - 1, 0);
              var V = A - 1, Y = 1;
              for (this[T + V] = 255 & S; --V >= 0 && (Y *= 256); )
                this[T + V] = S / Y & 255;
              return T + A;
            }, r.prototype.writeUInt8 = function(S, T, A) {
              return S = +S, T |= 0, A || N(this, S, T, 1, 255, 0), r.TYPED_ARRAY_SUPPORT || (S = Math.floor(S)), this[T] = 255 & S, T + 1;
            }, r.prototype.writeUInt16LE = function(S, T, A) {
              return S = +S, T |= 0, A || N(this, S, T, 2, 65535, 0), r.TYPED_ARRAY_SUPPORT ? (this[T] = 255 & S, this[T + 1] = S >>> 8) : W(this, S, T, !0), T + 2;
            }, r.prototype.writeUInt16BE = function(S, T, A) {
              return S = +S, T |= 0, A || N(this, S, T, 2, 65535, 0), r.TYPED_ARRAY_SUPPORT ? (this[T] = S >>> 8, this[T + 1] = 255 & S) : W(this, S, T, !1), T + 2;
            }, r.prototype.writeUInt32LE = function(S, T, A) {
              return S = +S, T |= 0, A || N(this, S, T, 4, 4294967295, 0), r.TYPED_ARRAY_SUPPORT ? (this[T + 3] = S >>> 24, this[T + 2] = S >>> 16, this[T + 1] = S >>> 8, this[T] = 255 & S) : X(this, S, T, !0), T + 4;
            }, r.prototype.writeUInt32BE = function(S, T, A) {
              return S = +S, T |= 0, A || N(this, S, T, 4, 4294967295, 0), r.TYPED_ARRAY_SUPPORT ? (this[T] = S >>> 24, this[T + 1] = S >>> 16, this[T + 2] = S >>> 8, this[T + 3] = 255 & S) : X(this, S, T, !1), T + 4;
            }, r.prototype.writeIntLE = function(S, T, A, H) {
              if (S = +S, T |= 0, !H) {
                var V = Math.pow(2, 8 * A - 1);
                N(this, S, T, A, V - 1, -V);
              }
              var Y = 0, ye = 1, Qe = 0;
              for (this[T] = 255 & S; ++Y < A && (ye *= 256); )
                S < 0 && Qe === 0 && this[T + Y - 1] !== 0 && (Qe = 1), this[T + Y] = (S / ye | 0) - Qe & 255;
              return T + A;
            }, r.prototype.writeIntBE = function(S, T, A, H) {
              if (S = +S, T |= 0, !H) {
                var V = Math.pow(2, 8 * A - 1);
                N(this, S, T, A, V - 1, -V);
              }
              var Y = A - 1, ye = 1, Qe = 0;
              for (this[T + Y] = 255 & S; --Y >= 0 && (ye *= 256); )
                S < 0 && Qe === 0 && this[T + Y + 1] !== 0 && (Qe = 1), this[T + Y] = (S / ye | 0) - Qe & 255;
              return T + A;
            }, r.prototype.writeInt8 = function(S, T, A) {
              return S = +S, T |= 0, A || N(this, S, T, 1, 127, -128), r.TYPED_ARRAY_SUPPORT || (S = Math.floor(S)), S < 0 && (S = 255 + S + 1), this[T] = 255 & S, T + 1;
            }, r.prototype.writeInt16LE = function(S, T, A) {
              return S = +S, T |= 0, A || N(this, S, T, 2, 32767, -32768), r.TYPED_ARRAY_SUPPORT ? (this[T] = 255 & S, this[T + 1] = S >>> 8) : W(this, S, T, !0), T + 2;
            }, r.prototype.writeInt16BE = function(S, T, A) {
              return S = +S, T |= 0, A || N(this, S, T, 2, 32767, -32768), r.TYPED_ARRAY_SUPPORT ? (this[T] = S >>> 8, this[T + 1] = 255 & S) : W(this, S, T, !1), T + 2;
            }, r.prototype.writeInt32LE = function(S, T, A) {
              return S = +S, T |= 0, A || N(this, S, T, 4, 2147483647, -2147483648), r.TYPED_ARRAY_SUPPORT ? (this[T] = 255 & S, this[T + 1] = S >>> 8, this[T + 2] = S >>> 16, this[T + 3] = S >>> 24) : X(this, S, T, !0), T + 4;
            }, r.prototype.writeInt32BE = function(S, T, A) {
              return S = +S, T |= 0, A || N(this, S, T, 4, 2147483647, -2147483648), S < 0 && (S = 4294967295 + S + 1), r.TYPED_ARRAY_SUPPORT ? (this[T] = S >>> 24, this[T + 1] = S >>> 16, this[T + 2] = S >>> 8, this[T + 3] = 255 & S) : X(this, S, T, !1), T + 4;
            }, r.prototype.writeFloatLE = function(S, T, A) {
              return Ee(this, S, T, !0, A);
            }, r.prototype.writeFloatBE = function(S, T, A) {
              return Ee(this, S, T, !1, A);
            }, r.prototype.writeDoubleLE = function(S, T, A) {
              return ee(this, S, T, !0, A);
            }, r.prototype.writeDoubleBE = function(S, T, A) {
              return ee(this, S, T, !1, A);
            }, r.prototype.copy = function(S, T, A, H) {
              if (A || (A = 0), H || H === 0 || (H = this.length), T >= S.length && (T = S.length), T || (T = 0), H > 0 && H < A && (H = A), H === A || S.length === 0 || this.length === 0)
                return 0;
              if (T < 0)
                throw new RangeError("targetStart out of bounds");
              if (A < 0 || A >= this.length)
                throw new RangeError("sourceStart out of bounds");
              if (H < 0)
                throw new RangeError("sourceEnd out of bounds");
              H > this.length && (H = this.length), S.length - T < H - A && (H = S.length - T + A);
              var V, Y = H - A;
              if (this === S && A < T && T < H)
                for (V = Y - 1; V >= 0; --V)
                  S[V + T] = this[V + A];
              else if (Y < 1e3 || !r.TYPED_ARRAY_SUPPORT)
                for (V = 0; V < Y; ++V)
                  S[V + T] = this[V + A];
              else
                Uint8Array.prototype.set.call(S, this.subarray(A, A + Y), T);
              return Y;
            }, r.prototype.fill = function(S, T, A, H) {
              if (typeof S == "string") {
                if (typeof T == "string" ? (H = T, T = 0, A = this.length) : typeof A == "string" && (H = A, A = this.length), S.length === 1) {
                  var V = S.charCodeAt(0);
                  V < 256 && (S = V);
                }
                if (H !== void 0 && typeof H != "string")
                  throw new TypeError("encoding must be a string");
                if (typeof H == "string" && !r.isEncoding(H))
                  throw new TypeError("Unknown encoding: " + H);
              } else
                typeof S == "number" && (S &= 255);
              if (T < 0 || this.length < T || this.length < A)
                throw new RangeError("Out of range index");
              if (A <= T)
                return this;
              var Y;
              if (T >>>= 0, A = A === void 0 ? this.length : A >>> 0, S || (S = 0), typeof S == "number")
                for (Y = T; Y < A; ++Y)
                  this[Y] = S;
              else {
                var ye = r.isBuffer(S) ? S : _e(new r(S, H).toString()), Qe = ye.length;
                for (Y = 0; Y < A - T; ++Y)
                  this[Y + T] = ye[Y % Qe];
              }
              return this;
            };
            var at = /[^+\/0-9A-Za-z-_]/g;
          }).call(this);
        }).call(this, typeof Gn < "u" ? Gn : typeof self < "u" ? self : typeof window < "u" ? window : {}, _("buffer").Buffer);
      }, { "base64-js": 1, buffer: 6, ieee754: 8, isarray: 9 }], 9: [function(_, U, L) {
        var h = {}.toString;
        U.exports = Array.isArray || function(p) {
          return h.call(p) == "[object Array]";
        };
      }, {}], 8: [function(_, U, L) {
        L.read = function(h, p, c, o, r) {
          var s, d, a = 8 * r - o - 1, u = (1 << a) - 1, l = u >> 1, m = -7, v = c ? r - 1 : 0, C = c ? -1 : 1, E = h[p + v];
          for (v += C, s = E & (1 << -m) - 1, E >>= -m, m += a; m > 0; s = 256 * s + h[p + v], v += C, m -= 8)
            ;
          for (d = s & (1 << -m) - 1, s >>= -m, m += o; m > 0; d = 256 * d + h[p + v], v += C, m -= 8)
            ;
          if (s === 0)
            s = 1 - l;
          else {
            if (s === u)
              return d ? NaN : 1 / 0 * (E ? -1 : 1);
            d += Math.pow(2, o), s -= l;
          }
          return (E ? -1 : 1) * d * Math.pow(2, s - o);
        }, L.write = function(h, p, c, o, r, s) {
          var d, a, u, l = 8 * s - r - 1, m = (1 << l) - 1, v = m >> 1, C = r === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, E = o ? 0 : s - 1, k = o ? 1 : -1, O = p < 0 || p === 0 && 1 / p < 0 ? 1 : 0;
          for (p = Math.abs(p), isNaN(p) || p === 1 / 0 ? (a = isNaN(p) ? 1 : 0, d = m) : (d = Math.floor(Math.log(p) / Math.LN2), p * (u = Math.pow(2, -d)) < 1 && (d--, u *= 2), (p += d + v >= 1 ? C / u : C * Math.pow(2, 1 - v)) * u >= 2 && (d++, u /= 2), d + v >= m ? (a = 0, d = m) : d + v >= 1 ? (a = (p * u - 1) * Math.pow(2, r), d += v) : (a = p * Math.pow(2, v - 1) * Math.pow(2, r), d = 0)); r >= 8; h[c + E] = 255 & a, E += k, a /= 256, r -= 8)
            ;
          for (d = d << r | a, l += r; l > 0; h[c + E] = 255 & d, E += k, d /= 256, l -= 8)
            ;
          h[c + E - k] |= 128 * O;
        };
      }, {}], 1: [function(_, U, L) {
        function h(u) {
          var l = u.length;
          if (l % 4 > 0)
            throw new Error("Invalid string. Length must be a multiple of 4");
          var m = u.indexOf("=");
          return m === -1 && (m = l), [m, m === l ? 0 : 4 - m % 4];
        }
        function p(u) {
          return o[u >> 18 & 63] + o[u >> 12 & 63] + o[u >> 6 & 63] + o[63 & u];
        }
        function c(u, l, m) {
          for (var v, C = [], E = l; E < m; E += 3)
            v = (u[E] << 16 & 16711680) + (u[E + 1] << 8 & 65280) + (255 & u[E + 2]), C.push(p(v));
          return C.join("");
        }
        L.byteLength = function(u) {
          var l = h(u), m = l[0], v = l[1];
          return 3 * (m + v) / 4 - v;
        }, L.toByteArray = function(u) {
          var l, m, v = h(u), C = v[0], E = v[1], k = new s(function(z, R, q) {
            return 3 * (R + q) / 4 - q;
          }(0, C, E)), O = 0, P = E > 0 ? C - 4 : C;
          for (m = 0; m < P; m += 4)
            l = r[u.charCodeAt(m)] << 18 | r[u.charCodeAt(m + 1)] << 12 | r[u.charCodeAt(m + 2)] << 6 | r[u.charCodeAt(m + 3)], k[O++] = l >> 16 & 255, k[O++] = l >> 8 & 255, k[O++] = 255 & l;
          return E === 2 && (l = r[u.charCodeAt(m)] << 2 | r[u.charCodeAt(m + 1)] >> 4, k[O++] = 255 & l), E === 1 && (l = r[u.charCodeAt(m)] << 10 | r[u.charCodeAt(m + 1)] << 4 | r[u.charCodeAt(m + 2)] >> 2, k[O++] = l >> 8 & 255, k[O++] = 255 & l), k;
        }, L.fromByteArray = function(u) {
          for (var l, m = u.length, v = m % 3, C = [], E = 0, k = m - v; E < k; E += 16383)
            C.push(c(u, E, E + 16383 > k ? k : E + 16383));
          return v === 1 ? (l = u[m - 1], C.push(o[l >> 2] + o[l << 4 & 63] + "==")) : v === 2 && (l = (u[m - 2] << 8) + u[m - 1], C.push(o[l >> 10] + o[l >> 4 & 63] + o[l << 2 & 63] + "=")), C.join("");
        };
        for (var o = [], r = [], s = typeof Uint8Array < "u" ? Uint8Array : Array, d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", a = 0; a < 64; ++a)
          o[a] = d[a], r[d.charCodeAt(a)] = a;
        r[45] = 62, r[95] = 63;
      }, {}] }, {}, [33]), AWS.apiLoader.services.connectparticipant = {}, AWS.ConnectParticipant = AWS.Service.defineService("connectparticipant", ["2018-09-07"]), AWS.apiLoader.services.connectparticipant["2018-09-07"] = { version: "2.0", metadata: { apiVersion: "2018-09-07", endpointPrefix: "participant.connect", jsonVersion: "1.1", protocol: "rest-json", serviceAbbreviation: "Amazon Connect Participant", serviceFullName: "Amazon Connect Participant Service", serviceId: "ConnectParticipant", signatureVersion: "v4", signingName: "execute-api", uid: "connectparticipant-2018-09-07" }, operations: { CompleteAttachmentUpload: { http: { requestUri: "/participant/complete-attachment-upload" }, input: { type: "structure", required: ["AttachmentIds", "ClientToken", "ConnectionToken"], members: { AttachmentIds: { type: "list", member: {} }, ClientToken: { idempotencyToken: !0 }, ConnectionToken: { location: "header", locationName: "X-Amz-Bearer" } } }, output: { type: "structure", members: {} } }, CreateParticipantConnection: { http: { requestUri: "/participant/connection" }, input: { type: "structure", required: ["ParticipantToken"], members: { Type: { type: "list", member: {} }, ParticipantToken: { location: "header", locationName: "X-Amz-Bearer" }, ConnectParticipant: { type: "boolean" } } }, output: { type: "structure", members: { Websocket: { type: "structure", members: { Url: {}, ConnectionExpiry: {} } }, ConnectionCredentials: { type: "structure", members: { ConnectionToken: {}, Expiry: {} } } } } }, DescribeView: { http: { method: "GET", requestUri: "/participant/views/{ViewToken}" }, input: { type: "structure", required: ["ViewToken", "ConnectionToken"], members: { ViewToken: { location: "uri", locationName: "ViewToken" }, ConnectionToken: { location: "header", locationName: "X-Amz-Bearer" } } }, output: { type: "structure", members: { View: { type: "structure", members: { Id: {}, Arn: {}, Name: { type: "string", sensitive: !0 }, Version: { type: "integer" }, Content: { type: "structure", members: { InputSchema: { type: "string", sensitive: !0 }, Template: { type: "string", sensitive: !0 }, Actions: { type: "list", member: { type: "string", sensitive: !0 } } } } } } } } }, DisconnectParticipant: { http: { requestUri: "/participant/disconnect" }, input: { type: "structure", required: ["ConnectionToken"], members: { ClientToken: { idempotencyToken: !0 }, ConnectionToken: { location: "header", locationName: "X-Amz-Bearer" } } }, output: { type: "structure", members: {} } }, GetAttachment: { http: { requestUri: "/participant/attachment" }, input: { type: "structure", required: ["AttachmentId", "ConnectionToken"], members: { AttachmentId: {}, ConnectionToken: { location: "header", locationName: "X-Amz-Bearer" } } }, output: { type: "structure", members: { Url: {}, UrlExpiry: {} } } }, GetTranscript: { http: { requestUri: "/participant/transcript" }, input: { type: "structure", required: ["ConnectionToken"], members: { ContactId: {}, MaxResults: { type: "integer" }, NextToken: {}, ScanDirection: {}, SortOrder: {}, StartPosition: { type: "structure", members: { Id: {}, AbsoluteTime: {}, MostRecent: { type: "integer" } } }, ConnectionToken: { location: "header", locationName: "X-Amz-Bearer" } } }, output: { type: "structure", members: { InitialContactId: {}, Transcript: { type: "list", member: { type: "structure", members: { AbsoluteTime: {}, Content: {}, ContentType: {}, Id: {}, Type: {}, ParticipantId: {}, DisplayName: {}, ParticipantRole: {}, Attachments: { type: "list", member: { type: "structure", members: { ContentType: {}, AttachmentId: {}, AttachmentName: {}, Status: {} } } }, MessageMetadata: { type: "structure", members: { MessageId: {}, Receipts: { type: "list", member: { type: "structure", members: { DeliveredTimestamp: {}, ReadTimestamp: {}, RecipientParticipantId: {} } } } } }, RelatedContactId: {}, ContactId: {} } } }, NextToken: {} } } }, SendEvent: { http: { requestUri: "/participant/event" }, input: { type: "structure", required: ["ContentType", "ConnectionToken"], members: { ContentType: {}, Content: {}, ClientToken: { idempotencyToken: !0 }, ConnectionToken: { location: "header", locationName: "X-Amz-Bearer" } } }, output: { type: "structure", members: { Id: {}, AbsoluteTime: {} } } }, SendMessage: { http: { requestUri: "/participant/message" }, input: { type: "structure", required: ["ContentType", "Content", "ConnectionToken"], members: { ContentType: {}, Content: {}, ClientToken: { idempotencyToken: !0 }, ConnectionToken: { location: "header", locationName: "X-Amz-Bearer" } } }, output: { type: "structure", members: { Id: {}, AbsoluteTime: {} } } }, StartAttachmentUpload: { http: { requestUri: "/participant/start-attachment-upload" }, input: { type: "structure", required: ["ContentType", "AttachmentSizeInBytes", "AttachmentName", "ClientToken", "ConnectionToken"], members: { ContentType: {}, AttachmentSizeInBytes: { type: "long" }, AttachmentName: {}, ClientToken: { idempotencyToken: !0 }, ConnectionToken: { location: "header", locationName: "X-Amz-Bearer" } } }, output: { type: "structure", members: { AttachmentId: {}, UploadMetadata: { type: "structure", members: { Url: {}, UrlExpiry: {}, HeadersToInclude: { type: "map", key: {}, value: {} } } } } } } }, shapes: {}, paginators: { GetTranscript: { input_token: "NextToken", output_token: "NextToken", limit_key: "MaxResults" } } }, AWS.apiLoader.services.sts = {}, AWS.STS = AWS.Service.defineService("sts", ["2011-06-15"]), pe = function _(U, L, h) {
        function p(r, s) {
          if (!L[r]) {
            if (!U[r]) {
              var d = typeof pe == "function" && pe;
              if (!s && d)
                return d(r, !0);
              if (c)
                return c(r, !0);
              var a = new Error("Cannot find module '" + r + "'");
              throw a.code = "MODULE_NOT_FOUND", a;
            }
            var u = L[r] = { exports: {} };
            U[r][0].call(u.exports, function(l) {
              return p(U[r][1][l] || l);
            }, u, u.exports, _, U, L, h);
          }
          return L[r].exports;
        }
        for (var c = typeof pe == "function" && pe, o = 0; o < h.length; o++)
          p(h[o]);
        return p;
      }({ 118: [function(_, U, L) {
        var h = _("../core"), p = _("../config_regional_endpoint");
        h.util.update(h.STS.prototype, { credentialsFrom: function(c, o) {
          return c ? (o || (o = new h.TemporaryCredentials()), o.expired = !1, o.accessKeyId = c.Credentials.AccessKeyId, o.secretAccessKey = c.Credentials.SecretAccessKey, o.sessionToken = c.Credentials.SessionToken, o.expireTime = c.Credentials.Expiration, o) : null;
        }, assumeRoleWithWebIdentity: function(c, o) {
          return this.makeUnauthenticatedRequest("assumeRoleWithWebIdentity", c, o);
        }, assumeRoleWithSAML: function(c, o) {
          return this.makeUnauthenticatedRequest("assumeRoleWithSAML", c, o);
        }, setupRequestListeners: function(c) {
          c.addListener("validate", this.optInRegionalEndpoint, !0);
        }, optInRegionalEndpoint: function(c) {
          var o = c.service, r = o.config;
          if (r.stsRegionalEndpoints = p(o._originalConfig, { env: "AWS_STS_REGIONAL_ENDPOINTS", sharedConfig: "sts_regional_endpoints", clientConfig: "stsRegionalEndpoints" }), r.stsRegionalEndpoints === "regional" && o.isGlobalEndpoint) {
            if (!r.region)
              throw h.util.error(new Error(), { code: "ConfigError", message: "Missing region in config" });
            var s = r.endpoint.indexOf(".amazonaws.com"), d = r.endpoint.substring(0, s) + "." + r.region + r.endpoint.substring(s);
            c.httpRequest.updateEndpoint(d), c.httpRequest.region = r.region;
          }
        } });
      }, { "../config_regional_endpoint": 43, "../core": 44 }] }, {}, [118]), AWS.apiLoader.services.sts["2011-06-15"] = { version: "2.0", metadata: { apiVersion: "2011-06-15", endpointPrefix: "sts", globalEndpoint: "sts.amazonaws.com", protocol: "query", serviceAbbreviation: "AWS STS", serviceFullName: "AWS Security Token Service", serviceId: "STS", signatureVersion: "v4", uid: "sts-2011-06-15", xmlNamespace: "https://sts.amazonaws.com/doc/2011-06-15/" }, operations: { AssumeRole: { input: { type: "structure", required: ["RoleArn", "RoleSessionName"], members: { RoleArn: {}, RoleSessionName: {}, PolicyArns: { shape: "S4" }, Policy: {}, DurationSeconds: { type: "integer" }, Tags: { shape: "S8" }, TransitiveTagKeys: { type: "list", member: {} }, ExternalId: {}, SerialNumber: {}, TokenCode: {}, SourceIdentity: {}, ProvidedContexts: { type: "list", member: { type: "structure", members: { ProviderArn: {}, ContextAssertion: {} } } } } }, output: { resultWrapper: "AssumeRoleResult", type: "structure", members: { Credentials: { shape: "Sl" }, AssumedRoleUser: { shape: "Sq" }, PackedPolicySize: { type: "integer" }, SourceIdentity: {} } } }, AssumeRoleWithSAML: { input: { type: "structure", required: ["RoleArn", "PrincipalArn", "SAMLAssertion"], members: { RoleArn: {}, PrincipalArn: {}, SAMLAssertion: { type: "string", sensitive: !0 }, PolicyArns: { shape: "S4" }, Policy: {}, DurationSeconds: { type: "integer" } } }, output: { resultWrapper: "AssumeRoleWithSAMLResult", type: "structure", members: { Credentials: { shape: "Sl" }, AssumedRoleUser: { shape: "Sq" }, PackedPolicySize: { type: "integer" }, Subject: {}, SubjectType: {}, Issuer: {}, Audience: {}, NameQualifier: {}, SourceIdentity: {} } } }, AssumeRoleWithWebIdentity: { input: { type: "structure", required: ["RoleArn", "RoleSessionName", "WebIdentityToken"], members: { RoleArn: {}, RoleSessionName: {}, WebIdentityToken: { type: "string", sensitive: !0 }, ProviderId: {}, PolicyArns: { shape: "S4" }, Policy: {}, DurationSeconds: { type: "integer" } } }, output: { resultWrapper: "AssumeRoleWithWebIdentityResult", type: "structure", members: { Credentials: { shape: "Sl" }, SubjectFromWebIdentityToken: {}, AssumedRoleUser: { shape: "Sq" }, PackedPolicySize: { type: "integer" }, Provider: {}, Audience: {}, SourceIdentity: {} } } }, DecodeAuthorizationMessage: { input: { type: "structure", required: ["EncodedMessage"], members: { EncodedMessage: {} } }, output: { resultWrapper: "DecodeAuthorizationMessageResult", type: "structure", members: { DecodedMessage: {} } } }, GetAccessKeyInfo: { input: { type: "structure", required: ["AccessKeyId"], members: { AccessKeyId: {} } }, output: { resultWrapper: "GetAccessKeyInfoResult", type: "structure", members: { Account: {} } } }, GetCallerIdentity: { input: { type: "structure", members: {} }, output: { resultWrapper: "GetCallerIdentityResult", type: "structure", members: { UserId: {}, Account: {}, Arn: {} } } }, GetFederationToken: { input: { type: "structure", required: ["Name"], members: { Name: {}, Policy: {}, PolicyArns: { shape: "S4" }, DurationSeconds: { type: "integer" }, Tags: { shape: "S8" } } }, output: { resultWrapper: "GetFederationTokenResult", type: "structure", members: { Credentials: { shape: "Sl" }, FederatedUser: { type: "structure", required: ["FederatedUserId", "Arn"], members: { FederatedUserId: {}, Arn: {} } }, PackedPolicySize: { type: "integer" } } } }, GetSessionToken: { input: { type: "structure", members: { DurationSeconds: { type: "integer" }, SerialNumber: {}, TokenCode: {} } }, output: { resultWrapper: "GetSessionTokenResult", type: "structure", members: { Credentials: { shape: "Sl" } } } } }, shapes: { S4: { type: "list", member: { type: "structure", members: { arn: {} } } }, S8: { type: "list", member: { type: "structure", required: ["Key", "Value"], members: { Key: {}, Value: {} } } }, Sl: { type: "structure", required: ["AccessKeyId", "SecretAccessKey", "SessionToken", "Expiration"], members: { AccessKeyId: {}, SecretAccessKey: { type: "string", sensitive: !0 }, SessionToken: {}, Expiration: { type: "timestamp" } } }, Sq: { type: "structure", required: ["AssumedRoleId", "Arn"], members: { AssumedRoleId: {}, Arn: {} } } }, paginators: {} };
    }, 873: (ke, Ie, Te) => {
      var je = Te(325).Symbol;
      ke.exports = je;
    }, 552: (ke, Ie, Te) => {
      var je = Te(873), pe = Te(659), _ = Te(969), U = je ? je.toStringTag : void 0;
      ke.exports = function(L) {
        return L == null ? L === void 0 ? "[object Undefined]" : "[object Null]" : U && U in Object(L) ? pe(L) : _(L);
      };
    }, 128: (ke, Ie, Te) => {
      var je = Te(800), pe = /^\s+/;
      ke.exports = function(_) {
        return _ && _.slice(0, je(_) + 1).replace(pe, "");
      };
    }, 840: (ke) => {
      var Ie = typeof Gn == "object" && Gn && Gn.Object === Object && Gn;
      ke.exports = Ie;
    }, 659: (ke, Ie, Te) => {
      var je = Te(873), pe = Object.prototype, _ = pe.hasOwnProperty, U = pe.toString, L = je ? je.toStringTag : void 0;
      ke.exports = function(h) {
        var p = _.call(h, L), c = h[L];
        try {
          h[L] = void 0;
          var o = !0;
        } catch {
        }
        var r = U.call(h);
        return o && (p ? h[L] = c : delete h[L]), r;
      };
    }, 969: (ke) => {
      var Ie = Object.prototype.toString;
      ke.exports = function(Te) {
        return Ie.call(Te);
      };
    }, 325: (ke, Ie, Te) => {
      var je = Te(840), pe = typeof self == "object" && self && self.Object === Object && self, _ = je || pe || Function("return this")();
      ke.exports = _;
    }, 800: (ke) => {
      var Ie = /\s/;
      ke.exports = function(Te) {
        for (var je = Te.length; je-- && Ie.test(Te.charAt(je)); )
          ;
        return je;
      };
    }, 221: (ke, Ie, Te) => {
      var je = Te(805), pe = Te(124), _ = Te(374), U = Math.max, L = Math.min;
      ke.exports = function(h, p, c) {
        var o, r, s, d, a, u, l = 0, m = !1, v = !1, C = !0;
        if (typeof h != "function")
          throw new TypeError("Expected a function");
        function E(R) {
          var q = o, F = r;
          return o = r = void 0, l = R, d = h.apply(F, q);
        }
        function k(R) {
          var q = R - u;
          return u === void 0 || q >= p || q < 0 || v && R - l >= s;
        }
        function O() {
          var R = pe();
          if (k(R))
            return P(R);
          a = setTimeout(O, function(q) {
            var F = p - (q - u);
            return v ? L(F, s - (q - l)) : F;
          }(R));
        }
        function P(R) {
          return a = void 0, C && o ? E(R) : (o = r = void 0, d);
        }
        function z() {
          var R = pe(), q = k(R);
          if (o = arguments, r = this, u = R, q) {
            if (a === void 0)
              return function(F) {
                return l = F, a = setTimeout(O, p), m ? E(F) : d;
              }(u);
            if (v)
              return clearTimeout(a), a = setTimeout(O, p), E(u);
          }
          return a === void 0 && (a = setTimeout(O, p)), d;
        }
        return p = _(p) || 0, je(c) && (m = !!c.leading, s = (v = "maxWait" in c) ? U(_(c.maxWait) || 0, p) : s, C = "trailing" in c ? !!c.trailing : C), z.cancel = function() {
          a !== void 0 && clearTimeout(a), l = 0, o = u = r = a = void 0;
        }, z.flush = function() {
          return a === void 0 ? d : P(pe());
        }, z;
      };
    }, 805: (ke) => {
      ke.exports = function(Ie) {
        var Te = typeof Ie;
        return Ie != null && (Te == "object" || Te == "function");
      };
    }, 346: (ke) => {
      ke.exports = function(Ie) {
        return Ie != null && typeof Ie == "object";
      };
    }, 394: (ke, Ie, Te) => {
      var je = Te(552), pe = Te(346);
      ke.exports = function(_) {
        return typeof _ == "symbol" || pe(_) && je(_) == "[object Symbol]";
      };
    }, 124: (ke, Ie, Te) => {
      var je = Te(325);
      ke.exports = function() {
        return je.Date.now();
      };
    }, 350: (ke, Ie, Te) => {
      var je = Te(221), pe = Te(805);
      ke.exports = function(_, U, L) {
        var h = !0, p = !0;
        if (typeof _ != "function")
          throw new TypeError("Expected a function");
        return pe(L) && (h = "leading" in L ? !!L.leading : h, p = "trailing" in L ? !!L.trailing : p), je(_, U, { leading: h, maxWait: U, trailing: p });
      };
    }, 374: (ke, Ie, Te) => {
      var je = Te(128), pe = Te(805), _ = Te(394), U = /^[-+]0x[0-9a-f]+$/i, L = /^0b[01]+$/i, h = /^0o[0-7]+$/i, p = parseInt;
      ke.exports = function(c) {
        if (typeof c == "number")
          return c;
        if (_(c))
          return NaN;
        if (pe(c)) {
          var o = typeof c.valueOf == "function" ? c.valueOf() : c;
          c = pe(o) ? o + "" : o;
        }
        if (typeof c != "string")
          return c === 0 ? c : +c;
        c = je(c);
        var r = L.test(c);
        return r || h.test(c) ? p(c.slice(2), r ? 2 : 8) : U.test(c) ? NaN : +c;
      };
    }, 604: (ke, Ie, Te) => {
      var je;
      (function() {
        var pe = { not_string: /[^s]/, not_bool: /[^t]/, not_type: /[^T]/, not_primitive: /[^v]/, number: /[diefg]/, numeric_arg: /[bcdiefguxX]/, json: /[j]/, not_json: /[^j]/, text: /^[^\x25]+/, modulo: /^\x25{2}/, placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, key: /^([a-z_][a-z_\d]*)/i, key_access: /^\.([a-z_][a-z_\d]*)/i, index_access: /^\[(\d+)\]/, sign: /^[+-]/ };
        function _(h) {
          return function(p, c) {
            var o, r, s, d, a, u, l, m, v, C = 1, E = p.length, k = "";
            for (r = 0; r < E; r++)
              if (typeof p[r] == "string")
                k += p[r];
              else if (typeof p[r] == "object") {
                if ((d = p[r]).keys)
                  for (o = c[C], s = 0; s < d.keys.length; s++) {
                    if (o == null)
                      throw new Error(_('[sprintf] Cannot access property "%s" of undefined value "%s"', d.keys[s], d.keys[s - 1]));
                    o = o[d.keys[s]];
                  }
                else
                  o = d.param_no ? c[d.param_no] : c[C++];
                if (pe.not_type.test(d.type) && pe.not_primitive.test(d.type) && o instanceof Function && (o = o()), pe.numeric_arg.test(d.type) && typeof o != "number" && isNaN(o))
                  throw new TypeError(_("[sprintf] expecting number but found %T", o));
                switch (pe.number.test(d.type) && (m = o >= 0), d.type) {
                  case "b":
                    o = parseInt(o, 10).toString(2);
                    break;
                  case "c":
                    o = String.fromCharCode(parseInt(o, 10));
                    break;
                  case "d":
                  case "i":
                    o = parseInt(o, 10);
                    break;
                  case "j":
                    o = JSON.stringify(o, null, d.width ? parseInt(d.width) : 0);
                    break;
                  case "e":
                    o = d.precision ? parseFloat(o).toExponential(d.precision) : parseFloat(o).toExponential();
                    break;
                  case "f":
                    o = d.precision ? parseFloat(o).toFixed(d.precision) : parseFloat(o);
                    break;
                  case "g":
                    o = d.precision ? String(Number(o.toPrecision(d.precision))) : parseFloat(o);
                    break;
                  case "o":
                    o = (parseInt(o, 10) >>> 0).toString(8);
                    break;
                  case "s":
                    o = String(o), o = d.precision ? o.substring(0, d.precision) : o;
                    break;
                  case "t":
                    o = String(!!o), o = d.precision ? o.substring(0, d.precision) : o;
                    break;
                  case "T":
                    o = Object.prototype.toString.call(o).slice(8, -1).toLowerCase(), o = d.precision ? o.substring(0, d.precision) : o;
                    break;
                  case "u":
                    o = parseInt(o, 10) >>> 0;
                    break;
                  case "v":
                    o = o.valueOf(), o = d.precision ? o.substring(0, d.precision) : o;
                    break;
                  case "x":
                    o = (parseInt(o, 10) >>> 0).toString(16);
                    break;
                  case "X":
                    o = (parseInt(o, 10) >>> 0).toString(16).toUpperCase();
                }
                pe.json.test(d.type) ? k += o : (!pe.number.test(d.type) || m && !d.sign ? v = "" : (v = m ? "+" : "-", o = o.toString().replace(pe.sign, "")), u = d.pad_char ? d.pad_char === "0" ? "0" : d.pad_char.charAt(1) : " ", l = d.width - (v + o).length, a = d.width && l > 0 ? u.repeat(l) : "", k += d.align ? v + o + a : u === "0" ? v + a + o : a + v + o);
              }
            return k;
          }(function(p) {
            if (L[p])
              return L[p];
            for (var c, o = p, r = [], s = 0; o; ) {
              if ((c = pe.text.exec(o)) !== null)
                r.push(c[0]);
              else if ((c = pe.modulo.exec(o)) !== null)
                r.push("%");
              else {
                if ((c = pe.placeholder.exec(o)) === null)
                  throw new SyntaxError("[sprintf] unexpected placeholder");
                if (c[2]) {
                  s |= 1;
                  var d = [], a = c[2], u = [];
                  if ((u = pe.key.exec(a)) === null)
                    throw new SyntaxError("[sprintf] failed to parse named argument key");
                  for (d.push(u[1]); (a = a.substring(u[0].length)) !== ""; )
                    if ((u = pe.key_access.exec(a)) !== null)
                      d.push(u[1]);
                    else {
                      if ((u = pe.index_access.exec(a)) === null)
                        throw new SyntaxError("[sprintf] failed to parse named argument key");
                      d.push(u[1]);
                    }
                  c[2] = d;
                } else
                  s |= 2;
                if (s === 3)
                  throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
                r.push({ placeholder: c[0], param_no: c[1], keys: c[2], sign: c[3], pad_char: c[4], align: c[5], width: c[6], precision: c[7], type: c[8] });
              }
              o = o.substring(c[0].length);
            }
            return L[p] = r;
          }(h), arguments);
        }
        function U(h, p) {
          return _.apply(null, [h].concat(p || []));
        }
        var L = /* @__PURE__ */ Object.create(null);
        Ie.sprintf = _, Ie.vsprintf = U, typeof window < "u" && (window.sprintf = _, window.vsprintf = U, (je = function() {
          return { sprintf: _, vsprintf: U };
        }.call(Ie, Te, Ie, ke)) === void 0 || (ke.exports = je));
      })();
    } }, Oe = {};
    function Q(ke) {
      var Ie = Oe[ke];
      if (Ie !== void 0)
        return Ie.exports;
      var Te = Oe[ke] = { exports: {} };
      return he[ke](Te, Te.exports, Q), Te.exports;
    }
    Q.amdO = {}, Q.n = (ke) => {
      var Ie = ke && ke.__esModule ? () => ke.default : () => ke;
      return Q.d(Ie, { a: Ie }), Ie;
    }, Q.d = (ke, Ie) => {
      for (var Te in Ie)
        Q.o(Ie, Te) && !Q.o(ke, Te) && Object.defineProperty(ke, Te, { enumerable: !0, get: Ie[Te] });
    }, Q.o = (ke, Ie) => Object.prototype.hasOwnProperty.call(ke, Ie), (() => {
      class ke extends Error {
        constructor(y) {
          super(y), this.name = "ValueError";
        }
      }
      class Ie extends Error {
        constructor(y) {
          super(y), this.name = "UnImplementedMethod";
        }
      }
      class Te extends Error {
        constructor(y, I) {
          super(y), this.name = "IllegalArgument", this.argument = I;
        }
      }
      var je = "MESSAGE_RECEIPTS_ENABLED", pe = { AGENT: "AGENT", CUSTOMER: "CUSTOMER" }, _ = "API", U = "SendMessage", L = "SendAttachment", h = "DownloadAttachment", p = "SendEvent", c = "GetTranscript", o = "DisconnectParticipant", r = "CreateParticipantConnection", s = "DescribeView", d = "InitWebsocket", a = { INCOMING_MESSAGE: "INCOMING_MESSAGE", INCOMING_TYPING: "INCOMING_TYPING", INCOMING_READ_RECEIPT: "INCOMING_READ_RECEIPT", INCOMING_DELIVERED_RECEIPT: "INCOMING_DELIVERED_RECEIPT", CONNECTION_ESTABLISHED: "CONNECTION_ESTABLISHED", CONNECTION_LOST: "CONNECTION_LOST", CONNECTION_BROKEN: "CONNECTION_BROKEN", CONNECTION_ACK: "CONNECTION_ACK", CHAT_ENDED: "CHAT_ENDED", MESSAGE_METADATA: "MESSAGEMETADATA", PARTICIPANT_IDLE: "PARTICIPANT_IDLE", PARTICIPANT_RETURNED: "PARTICIPANT_RETURNED", AUTODISCONNECTION: "AUTODISCONNECTION", DEEP_HEARTBEAT_SUCCESS: "DEEP_HEARTBEAT_SUCCESS", DEEP_HEARTBEAT_FAILURE: "DEEP_HEARTBEAT_FAILURE" }, u = { textPlain: "text/plain", textMarkdown: "text/markdown", textCsv: "text/csv", applicationDoc: "application/msword", applicationDocx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", applicationJson: "application/json", applicationPdf: "application/pdf", applicationPpt: "application/vnd.ms-powerpoint", applicationPptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation", applicationXls: "application/vnd.ms-excel", applicationXlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", imageJpg: "image/jpeg", imagePng: "image/png", audioWav: "audio/wav", audioXWav: "audio/x-wav", audioVndWave: "audio/vnd.wave", connectionAcknowledged: "application/vnd.amazonaws.connect.event.connection.acknowledged", typing: "application/vnd.amazonaws.connect.event.typing", participantJoined: "application/vnd.amazonaws.connect.event.participant.joined", participantLeft: "application/vnd.amazonaws.connect.event.participant.left", participantActive: "application/vnd.amazonaws.connect.event.participant.active", participantInactive: "application/vnd.amazonaws.connect.event.participant.inactive", transferSucceeded: "application/vnd.amazonaws.connect.event.transfer.succeeded", transferFailed: "application/vnd.amazonaws.connect.event.transfer.failed", chatEnded: "application/vnd.amazonaws.connect.event.chat.ended", interactiveMessage: "application/vnd.amazonaws.connect.message.interactive", interactiveMessageResponse: "application/vnd.amazonaws.connect.message.interactive.response", readReceipt: "application/vnd.amazonaws.connect.event.message.read", deliveredReceipt: "application/vnd.amazonaws.connect.event.message.delivered", participantIdle: "application/vnd.amazonaws.connect.event.participant.idle", participantReturned: "application/vnd.amazonaws.connect.event.participant.returned", autoDisconnection: "application/vnd.amazonaws.connect.event.participant.autodisconnection" }, l = { [u.typing]: a.INCOMING_TYPING, [u.readReceipt]: a.INCOMING_READ_RECEIPT, [u.deliveredReceipt]: a.INCOMING_DELIVERED_RECEIPT, [u.participantIdle]: a.PARTICIPANT_IDLE, [u.participantReturned]: a.PARTICIPANT_RETURNED, [u.autoDisconnection]: a.AUTODISCONNECTION, default: a.INCOMING_MESSAGE }, m = 3540, v = Q(604), C = { assertTrue: function(M, y) {
        if (!M)
          throw new ke(y);
      }, assertNotNull: function(M, y) {
        return C.assertTrue(M != null, (0, v.sprintf)("%s must be provided", y || "A value")), M;
      }, now: function() {
        return (/* @__PURE__ */ new Date()).getTime();
      }, isString: function(M) {
        return typeof M == "string";
      }, randomId: function() {
        return (0, v.sprintf)("%s-%s", C.now(), Math.random().toString(36).slice(2));
      }, assertIsNonEmptyString: function(M, y) {
        if (!M || typeof M != "string")
          throw new Te(y + " is not a non-empty string!");
      }, assertIsList: function(M, y) {
        if (!Array.isArray(M))
          throw new Te(y + " is not an array");
      }, assertIsEnum: function(M, y, I) {
        var D;
        for (D = 0; D < y.length; D++)
          if (y[D] === M)
            return;
        throw new Te(I + " passed (" + M + ") is not valid. Allowed values are: " + y);
      }, makeEnum: function(M) {
        var y = {};
        return M.forEach(function(I) {
          var D = I.replace(/\.?([a-z]+)_?/g, function(G, re) {
            return re.toUpperCase() + "_";
          }).replace(/_$/, "");
          y[D] = I;
        }), y;
      }, contains: function(M, y) {
        return M instanceof Array ? C.find(M, function(I) {
          return I === y;
        }) !== null : y in M;
      }, find: function(M, y) {
        for (var I = 0; I < M.length; I++)
          if (y(M[I]))
            return M[I];
        return null;
      }, containsValue: function(M, y) {
        return M instanceof Array ? C.find(M, function(I) {
          return I === y;
        }) !== null : C.find(C.values(M), function(I) {
          return I === y;
        }) !== null;
      }, isFunction: function(M) {
        return !!(M && M.constructor && M.call && M.apply);
      }, values: function(M) {
        var y = [];
        for (var I in C.assertNotNull(M, "map"), M)
          y.push(M[I]);
        return y;
      }, isObject: function(M) {
        return !(typeof M != "object" || M === null);
      }, assertIsObject: function(M, y) {
        if (!C.isObject(M))
          throw new Te(y + " is not an object!");
      }, delay: (M) => new Promise((y) => setTimeout(y, M)), asyncWhileInterval: function(M, y, I) {
        var D = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0, G = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : null, re = /* @__PURE__ */ new Date();
        return y(D) ? M(D).catch((ie) => {
          var le = Math.max(0, I - (/* @__PURE__ */ new Date()).valueOf() + re.valueOf());
          return C.delay(le).then(() => C.asyncWhileInterval(M, y, I, D + 1, ie));
        }) : Promise.reject(G || new Error("async while aborted"));
      }, isAttachmentContentType: function(M) {
        return M === u.applicationPdf || M === u.imageJpg || M === u.imagePng || M === u.applicationDoc || M === u.applicationXls || M === u.applicationPpt || M === u.textCsv || M === u.audioWav;
      } };
      const E = C;
      var k = { DEBUG: 10, INFO: 20, WARN: 30, ERROR: 40, ADVANCED_LOG: 50 }, O = new class {
        constructor() {
          this.updateLoggerConfig();
        }
        writeToClientLogger(M) {
          var y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", I = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "";
          if (this.hasClientLogger()) {
            var D = typeof y == "string" ? y : JSON.stringify(y, R()), G = typeof I == "string" ? I : JSON.stringify(I, R()), re = "".concat(function(ie) {
              switch (ie) {
                case 10:
                  return "DEBUG";
                case 20:
                  return "INFO";
                case 30:
                  return "WARN";
                case 40:
                  return "ERROR";
                case 50:
                  return "ADVANCED_LOG";
              }
            }(M), " ").concat(D, " ").concat(G);
            switch (M) {
              case k.DEBUG:
                return this._clientLogger.debug(re) || re;
              case k.INFO:
                return this._clientLogger.info(re) || re;
              case k.WARN:
                return this._clientLogger.warn(re) || re;
              case k.ERROR:
                return this._clientLogger.error(re) || re;
              case k.ADVANCED_LOG:
                return this._advancedLogWriter && this._clientLogger[this._advancedLogWriter](re) || re;
            }
          }
        }
        isLevelEnabled(M) {
          return M >= this._level;
        }
        hasClientLogger() {
          return this._clientLogger !== null;
        }
        getLogger() {
          return new z(arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {});
        }
        updateLoggerConfig(M) {
          var y = M || {};
          this._level = y.level || k.INFO, this._advancedLogWriter = "warn", function(I, D) {
            var G = D && Object.keys(D);
            if (G && G.indexOf(I) === -1)
              return console.error("customizedLogger: incorrect value for loggerConfig:advancedLogWriter; use valid values from list ".concat(G, " but used ").concat(I)), !1;
            var re = ["warn", "info", "debug", "log"];
            return !I || re.indexOf(I) !== -1 || (console.error("incorrect value for loggerConfig:advancedLogWriter; use valid values from list ".concat(re, " but used ").concat(I)), !1);
          }(y.advancedLogWriter, y.customizedLogger) && (this._advancedLogWriter = y.advancedLogWriter), (y.customizedLogger && typeof y.customizedLogger == "object" || y.logger && typeof y.logger == "object") && (this.useClientLogger = !0), this._clientLogger = this.selectLogger(y);
        }
        selectLogger(M) {
          return M.customizedLogger && typeof M.customizedLogger == "object" ? M.customizedLogger : M.logger && typeof M.logger == "object" ? M.logger : M.useDefaultLogger ? q() : null;
        }
      }();
      class P {
        debug() {
        }
        info() {
        }
        warn() {
        }
        error() {
        }
      }
      class z extends P {
        constructor(y) {
          super(), this.options = y || {};
        }
        debug() {
          for (var y = arguments.length, I = new Array(y), D = 0; D < y; D++)
            I[D] = arguments[D];
          return this._log(k.DEBUG, I);
        }
        info() {
          for (var y = arguments.length, I = new Array(y), D = 0; D < y; D++)
            I[D] = arguments[D];
          return this._log(k.INFO, I);
        }
        warn() {
          for (var y = arguments.length, I = new Array(y), D = 0; D < y; D++)
            I[D] = arguments[D];
          return this._log(k.WARN, I);
        }
        error() {
          for (var y = arguments.length, I = new Array(y), D = 0; D < y; D++)
            I[D] = arguments[D];
          return this._log(k.ERROR, I);
        }
        advancedLog() {
          for (var y = arguments.length, I = new Array(y), D = 0; D < y; D++)
            I[D] = arguments[D];
          return this._log(k.ADVANCED_LOG, I);
        }
        _shouldLog(y) {
          return O.hasClientLogger() && O.isLevelEnabled(y);
        }
        _writeToClientLogger(y, I) {
          var D;
          return O.writeToClientLogger(y, I, (D = this.options) === null || D === void 0 ? void 0 : D.logMetaData);
        }
        _log(y, I) {
          if (this._shouldLog(y)) {
            var D = O.useClientLogger ? I : this._convertToSingleStatement(I);
            return this._writeToClientLogger(y, D);
          }
        }
        _convertToSingleStatement(y) {
          var I = new Date(Date.now()).toISOString(), D = "[".concat(I, "]");
          this.options && (this.options.prefix ? D += " " + this.options.prefix + ":" : D += "");
          for (var G = 0; G < y.length; G++) {
            var re = y[G];
            D += " " + this._convertToString(re);
          }
          return D;
        }
        _convertToString(y) {
          try {
            if (!y)
              return "";
            if (E.isString(y))
              return y;
            if (E.isObject(y) && E.isFunction(y.toString)) {
              var I = y.toString();
              if (I !== "[object Object]")
                return I;
            }
            return JSON.stringify(y);
          } catch (D) {
            return console.error("Error while converting argument to string", y, D), "";
          }
        }
      }
      function R() {
        var M = /* @__PURE__ */ new WeakSet();
        return (y, I) => {
          if (typeof I == "object" && I !== null) {
            if (M.has(I))
              return;
            M.add(I);
          }
          return I;
        };
      }
      var q = () => {
        var M = new P();
        return M.debug = console.debug.bind(window.console), M.info = console.info.bind(window.console), M.warn = console.warn.bind(window.console), M.error = console.error.bind(window.console), M;
      }, F = new class {
        constructor() {
          this.stage = "prod", this.region = "us-west-2", this.cell = "1", this.reconnect = !0;
          var M = this;
          this.logger = O.getLogger({ prefix: "ChatJS-GlobalConfig" }), this.features = new Proxy([], { set: (y, I, D) => {
            this.stage !== "test-stage2" && this.logger.info("new features added, initialValue: " + y[I] + " , newValue: " + D, Array.isArray(y[I]));
            var G = y[I];
            return Array.isArray(D) && D.forEach((re) => {
              Array.isArray(G) && G.indexOf(re) === -1 && Array.isArray(M.featureChangeListeners[re]) && (M.featureChangeListeners[re].forEach((ie) => ie()), M._cleanFeatureChangeListener(re));
            }), y[I] = D, !0;
          } }), this.setFeatureFlag(je), this.messageReceiptThrottleTime = 5e3, this.featureChangeListeners = [];
        }
        update(M) {
          var y = M || {};
          this.stage = y.stage || this.stage, this.region = y.region || this.region, this.cell = y.cell || this.cell, this.endpointOverride = y.endpoint || this.endpointOverride, this.reconnect = y.reconnect !== !1 && this.reconnect, this.messageReceiptThrottleTime = y.throttleTime ? y.throttleTime : 5e3;
          var I = y.features || this.features.values;
          this.features.values = Array.isArray(I) ? [...I] : new Array();
        }
        updateStageRegionCell(M) {
          M && (this.stage = M.stage || this.stage, this.region = M.region || this.region, this.cell = M.cell || this.cell);
        }
        getCell() {
          return this.cell;
        }
        updateThrottleTime(M) {
          this.messageReceiptThrottleTime = M || this.messageReceiptThrottleTime;
        }
        getMessageReceiptsThrottleTime() {
          return this.messageReceiptThrottleTime;
        }
        getStage() {
          return this.stage;
        }
        getRegion() {
          return this.region;
        }
        getEndpointOverride() {
          return this.endpointOverride;
        }
        removeFeatureFlag(M) {
          if (this.isFeatureEnabled(M)) {
            var y = this.features.values.indexOf(M);
            this.features.values.splice(y, 1);
          }
        }
        setFeatureFlag(M) {
          if (!this.isFeatureEnabled(M)) {
            var y = Array.isArray(this.features.values) ? this.features.values : [];
            this.features.values = [...y, M];
          }
        }
        _registerFeatureChangeListener(M, y) {
          this.featureChangeListeners[M] || (this.featureChangeListeners[M] = []), this.featureChangeListeners[M].push(y);
        }
        _cleanFeatureChangeListener(M) {
          delete this.featureChangeListeners[M];
        }
        isFeatureEnabled(M, y) {
          return Array.isArray(this.features.values) && this.features.values.indexOf(M) !== -1 ? typeof y != "function" || y() : (typeof y == "function" && this._registerFeatureChangeListener(M, y), !1);
        }
      }(), ae = (Q(639), Q(350)), Ae = Q.n(ae);
      function me(M, y, I, D, G, re, ie) {
        try {
          var le = M[re](ie), Se = le.value;
        } catch (We) {
          return void I(We);
        }
        le.done ? y(Se) : Promise.resolve(Se).then(D, G);
      }
      function Ne(M, y) {
        var I = Object.keys(M);
        if (Object.getOwnPropertySymbols) {
          var D = Object.getOwnPropertySymbols(M);
          y && (D = D.filter(function(G) {
            return Object.getOwnPropertyDescriptor(M, G).enumerable;
          })), I.push.apply(I, D);
        }
        return I;
      }
      function se(M) {
        for (var y = 1; y < arguments.length; y++) {
          var I = arguments[y] != null ? arguments[y] : {};
          y % 2 ? Ne(Object(I), !0).forEach(function(D) {
            w(M, D, I[D]);
          }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(M, Object.getOwnPropertyDescriptors(I)) : Ne(Object(I)).forEach(function(D) {
            Object.defineProperty(M, D, Object.getOwnPropertyDescriptor(I, D));
          });
        }
        return M;
      }
      function w(M, y, I) {
        var D;
        return (y = typeof (D = function(G, re) {
          if (typeof G != "object" || !G)
            return G;
          var ie = G[Symbol.toPrimitive];
          if (ie !== void 0) {
            var le = ie.call(G, "string");
            if (typeof le != "object")
              return le;
            throw new TypeError("@@toPrimitive must return a primitive value.");
          }
          return String(G);
        }(y)) == "symbol" ? D : D + "") in M ? Object.defineProperty(M, y, { value: I, enumerable: !0, configurable: !0, writable: !0 }) : M[y] = I, M;
      }
      class b {
        sendMessage(y, I, D) {
          throw new Ie("sendTextMessage in ChatClient");
        }
        sendAttachment(y, I, D) {
          throw new Ie("sendAttachment in ChatClient");
        }
        downloadAttachment(y, I) {
          throw new Ie("downloadAttachment in ChatClient");
        }
        disconnectParticipant(y) {
          throw new Ie("disconnectParticipant in ChatClient");
        }
        sendEvent(y, I, D) {
          throw new Ie("sendEvent in ChatClient");
        }
        createParticipantConnection(y, I) {
          throw new Ie("createParticipantConnection in ChatClient");
        }
        describeView() {
          throw new Ie("describeView in ChatClient");
        }
      }
      class N extends b {
        constructor(y) {
          super(), w(this, "throttleEvent", Ae()((G, re, ie) => this._submitEvent(G, re, ie), 1e4, { trailing: !1, leading: !0 }));
          var I = new AWS.Credentials("", ""), D = new AWS.Config({ region: y.region, endpoint: y.endpoint, credentials: I });
          this.chatClient = new AWS.ConnectParticipant(D), this.invokeUrl = y.endpoint, this.logger = O.getLogger({ prefix: "Amazon-Connect-ChatJS-ChatClient", logMetaData: y.logMetaData });
        }
        describeView(y, I) {
          var D = this, G = { ViewToken: y, ConnectionToken: I }, re = D.chatClient.describeView(G);
          return D._sendRequest(re).then((ie) => {
            var le, Se;
            return (le = D.logger.info("Successful describe view request")) === null || le === void 0 || (Se = le.sendInternalLogToServer) === null || Se === void 0 || Se.call(le), ie;
          }).catch((ie) => {
            var le, Se;
            return (le = D.logger.error("describeView gave an error response", ie)) === null || le === void 0 || (Se = le.sendInternalLogToServer) === null || Se === void 0 || Se.call(le), Promise.reject(ie);
          });
        }
        createParticipantConnection(y, I, D) {
          var G = this, re = { ParticipantToken: y, Type: I, ConnectParticipant: D }, ie = G.chatClient.createParticipantConnection(re);
          return G._sendRequest(ie).then((le) => {
            var Se, We;
            return (Se = G.logger.info("Successfully create connection request")) === null || Se === void 0 || (We = Se.sendInternalLogToServer) === null || We === void 0 || We.call(Se), le;
          }).catch((le) => {
            var Se, We;
            return (Se = G.logger.error("Error when creating connection request ", le)) === null || Se === void 0 || (We = Se.sendInternalLogToServer) === null || We === void 0 || We.call(Se), Promise.reject(le);
          });
        }
        disconnectParticipant(y) {
          var I = this, D = { ConnectionToken: y }, G = I.chatClient.disconnectParticipant(D);
          return I._sendRequest(G).then((re) => {
            var ie, le;
            return (ie = I.logger.info("Successfully disconnect participant")) === null || ie === void 0 || (le = ie.sendInternalLogToServer) === null || le === void 0 || le.call(ie), re;
          }).catch((re) => {
            var ie, le;
            return (ie = I.logger.error("Error when disconnecting participant ", re)) === null || ie === void 0 || (le = ie.sendInternalLogToServer) === null || le === void 0 || le.call(ie), Promise.reject(re);
          });
        }
        getTranscript(y, I) {
          var D = { MaxResults: I.maxResults, NextToken: I.nextToken, ScanDirection: I.scanDirection, SortOrder: I.sortOrder, StartPosition: { Id: I.startPosition.id, AbsoluteTime: I.startPosition.absoluteTime, MostRecent: I.startPosition.mostRecent }, ConnectionToken: y };
          I.contactId && (D.ContactId = I.contactId);
          var G = this.chatClient.getTranscript(D);
          return this._sendRequest(G).then((re) => (this.logger.info("Successfully get transcript"), re)).catch((re) => (this.logger.error("Get transcript error", re), Promise.reject(re)));
        }
        sendMessage(y, I, D) {
          var G = { Content: I, ContentType: D, ConnectionToken: y }, re = this.chatClient.sendMessage(G);
          return this._sendRequest(re).then((ie) => {
            var le, Se = { id: (le = ie.data) === null || le === void 0 ? void 0 : le.Id, contentType: G.ContentType };
            return this.logger.debug("Successfully send message", Se), ie;
          }).catch((ie) => (this.logger.error("Send message error", ie, { contentType: G.ContentType }), Promise.reject(ie)));
        }
        sendAttachment(y, I, D) {
          var G = this, re = { ContentType: I.type, AttachmentName: I.name, AttachmentSizeInBytes: I.size, ConnectionToken: y }, ie = G.chatClient.startAttachmentUpload(re), le = { contentType: I.type, size: I.size };
          return G._sendRequest(ie).then((Se) => G._uploadToS3(I, Se.data.UploadMetadata).then(() => {
            var We, rt = { AttachmentIds: [Se.data.AttachmentId], ConnectionToken: y };
            this.logger.debug("Successfully upload attachment", se(se({}, le), {}, { attachmentId: (We = Se.data) === null || We === void 0 ? void 0 : We.AttachmentId }));
            var Ze = G.chatClient.completeAttachmentUpload(rt);
            return G._sendRequest(Ze);
          })).catch((Se) => (this.logger.error("Upload attachment error", Se, le), Promise.reject(Se)));
        }
        _uploadToS3(y, I) {
          return fetch(I.Url, { method: "PUT", headers: I.HeadersToInclude, body: y });
        }
        downloadAttachment(y, I) {
          var D = this, G = { AttachmentId: I, ConnectionToken: y }, re = { attachmentId: I }, ie = D.chatClient.getAttachment(G);
          return D._sendRequest(ie).then((le) => (this.logger.debug("Successfully download attachment", re), D._downloadUrl(le.data.Url))).catch((le) => (this.logger.error("Download attachment error", le, re), Promise.reject(le)));
        }
        _downloadUrl(y) {
          return fetch(y).then((I) => I.blob()).catch((I) => Promise.reject(I));
        }
        sendEvent(y, I, D) {
          return I === u.typing ? this.throttleEvent(y, I, D) : this._submitEvent(y, I, D);
        }
        _submitEvent(y, I, D) {
          var G, re = this;
          return (G = function* () {
            var ie = re, le = { ConnectionToken: y, ContentType: I, Content: D }, Se = ie.chatClient.sendEvent(le), We = { contentType: I };
            try {
              var rt, Ze = yield ie._sendRequest(Se);
              return re.logger.debug("Successfully send event", se(se({}, We), {}, { id: (rt = Ze.data) === null || rt === void 0 ? void 0 : rt.Id })), Ze;
            } catch (ut) {
              return yield Promise.reject(ut);
            }
          }, function() {
            var ie = this, le = arguments;
            return new Promise(function(Se, We) {
              var rt = G.apply(ie, le);
              function Ze(Re) {
                me(rt, Se, We, Ze, ut, "next", Re);
              }
              function ut(Re) {
                me(rt, Se, We, Ze, ut, "throw", Re);
              }
              Ze(void 0);
            });
          })();
        }
        _sendRequest(y) {
          return new Promise((I, D) => {
            y.on("success", function(G) {
              I(G);
            }).on("error", function(G) {
              var re = { type: G.code, message: G.message, stack: G.stack ? G.stack.split(`
  `) : [], statusCode: G.statusCode };
              D(re);
            }).send();
          });
        }
      }
      var W = new class {
        constructor() {
          this.clientCache = {};
        }
        getCachedClient(M, y) {
          var I = Object.assign({}, M), D = M.region || F.getRegion() || "us-west-2";
          if (I.region = D, y.region = D, this.clientCache[D])
            return this.clientCache[D];
          var G = this._createAwsClient(I, y);
          return this.clientCache[D] = G, G;
        }
        _createAwsClient(M, y) {
          var I = M.region, D = F.getEndpointOverride(), G = "https://participant.connect.".concat(I, ".amazonaws.com");
          return D && (G = D), new N({ endpoint: G, region: I, logMetaData: y });
        }
      }();
      class X {
        validateNewControllerDetails(y) {
          return !0;
        }
        validateSendMessage(y) {
          if (!E.isString(y.message))
            throw new Te(y.message + "is not a valid message");
          this.validateContentType(y.contentType);
        }
        validateContentType(y) {
          E.assertIsEnum(y, Object.values(u), "contentType");
        }
        validateConnectChat(y) {
          return !0;
        }
        validateLogger(y) {
          E.assertIsObject(y, "logger"), ["debug", "info", "warn", "error"].forEach((I) => {
            if (!E.isFunction(y[I]))
              throw new Te(I + " should be a valid function on the passed logger object!");
          });
        }
        validateSendEvent(y) {
          this.validateContentType(y.contentType);
        }
        validateGetMessages(y) {
          return !0;
        }
      }
      class oe extends X {
        validateChatDetails(y, I) {
          if (E.assertIsObject(y, "chatDetails"), I === pe.AGENT && !E.isFunction(y.getConnectionToken))
            throw new Te("getConnectionToken was not a function", y.getConnectionToken);
          if (E.assertIsNonEmptyString(y.contactId, "chatDetails.contactId"), E.assertIsNonEmptyString(y.participantId, "chatDetails.participantId"), I === pe.CUSTOMER) {
            if (!y.participantToken)
              throw new Te("participantToken was not provided for a customer session type", y.participantToken);
            E.assertIsNonEmptyString(y.participantToken, "chatDetails.participantToken");
          }
        }
        validateInitiateChatResponse() {
          return !0;
        }
        normalizeChatDetails(y) {
          var I = {};
          return I.contactId = y.ContactId || y.contactId, I.participantId = y.ParticipantId || y.participantId, I.initialContactId = y.InitialContactId || y.initialContactId || I.contactId || I.ContactId, I.getConnectionToken = y.getConnectionToken || y.GetConnectionToken, (y.participantToken || y.ParticipantToken) && (I.participantToken = y.ParticipantToken || y.participantToken), this.validateChatDetails(I), I;
        }
      }
      var Ee = "NeverStarted", ee = "Starting", ce = "Connected", _e = "ConnectionLost", de = "Ended", et = "DeepHeartbeatSuccess", it = "DeepHeartbeatFailure", Ge = "ConnectionLost", nt = "ConnectionGained", st = "Ended", at = "IncomingMessage", S = "DeepHeartbeatSuccess", T = "DeepHeartbeatFailure";
      class A {
        constructor(y, I) {
          this.connectionDetailsProvider = y, this.isStarted = !1, this.logger = O.getLogger({ prefix: "ChatJS-BaseConnectionHelper", logMetaData: I });
        }
        startConnectionTokenPolling() {
          var y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 432e5;
          if (!(arguments.length > 0 && arguments[0] !== void 0 && arguments[0]))
            return this.connectionDetailsProvider.fetchConnectionDetails().then((I) => (this.logger.info("Connection token polling succeeded."), y = this.getTimeToConnectionTokenExpiry(), this.timeout = setTimeout(this.startConnectionTokenPolling.bind(this), y), I)).catch((I) => (this.logger.error("An error occurred when attempting to fetch the connection token during Connection Token Polling", I), this.timeout = setTimeout(this.startConnectionTokenPolling.bind(this), y), I));
          this.logger.info("First time polling connection token."), this.timeout = setTimeout(this.startConnectionTokenPolling.bind(this), y);
        }
        start() {
          return this.isStarted ? this.getConnectionToken() : (this.isStarted = !0, this.startConnectionTokenPolling(!0, this.getTimeToConnectionTokenExpiry()));
        }
        end() {
          clearTimeout(this.timeout);
        }
        getConnectionToken() {
          return this.connectionDetailsProvider.getFetchedConnectionToken();
        }
        getConnectionTokenExpiry() {
          return this.connectionDetailsProvider.getConnectionTokenExpiry();
        }
        getTimeToConnectionTokenExpiry() {
          return new Date(this.getConnectionTokenExpiry()).getTime() - (/* @__PURE__ */ new Date()).getTime() - 6e4;
        }
      }
      var H = "<<all>>", V = function(M, y, I) {
        this.subMap = M, this.id = E.randomId(), this.eventName = y, this.f = I;
      };
      V.prototype.unsubscribe = function() {
        this.subMap.unsubscribe(this.eventName, this.id);
      };
      var Y = function() {
        this.subIdMap = {}, this.subEventNameMap = {};
      };
      Y.prototype.subscribe = function(M, y) {
        var I = new V(this, M, y);
        this.subIdMap[I.id] = I;
        var D = this.subEventNameMap[M] || [];
        return D.push(I), this.subEventNameMap[M] = D, () => I.unsubscribe();
      }, Y.prototype.unsubscribe = function(M, y) {
        E.contains(this.subEventNameMap, M) && (this.subEventNameMap[M] = this.subEventNameMap[M].filter(function(I) {
          return I.id !== y;
        }), this.subEventNameMap[M].length < 1 && delete this.subEventNameMap[M]), E.contains(this.subIdMap, y) && delete this.subIdMap[y];
      }, Y.prototype.getAllSubscriptions = function() {
        return E.values(this.subEventNameMap).reduce(function(M, y) {
          return M.concat(y);
        }, []);
      }, Y.prototype.getSubscriptions = function(M) {
        return this.subEventNameMap[M] || [];
      };
      var ye = function(M) {
        var y = M || {};
        this.subMap = new Y(), this.logEvents = y.logEvents || !1;
      };
      ye.prototype.subscribe = function(M, y) {
        return E.assertNotNull(M, "eventName"), E.assertNotNull(y, "f"), E.assertTrue(E.isFunction(y), "f must be a function"), this.subMap.subscribe(M, y);
      }, ye.prototype.subscribeAll = function(M) {
        return E.assertNotNull(M, "f"), E.assertTrue(E.isFunction(M), "f must be a function"), this.subMap.subscribe(H, M);
      }, ye.prototype.getSubscriptions = function(M) {
        return this.subMap.getSubscriptions(M);
      }, ye.prototype.trigger = function(M, y) {
        E.assertNotNull(M, "eventName");
        var I = this, D = this.subMap.getSubscriptions(H), G = this.subMap.getSubscriptions(M);
        D.concat(G).forEach(function(re) {
          try {
            re.f(y || null, M, I);
          } catch {
          }
        });
      }, ye.prototype.triggerAsync = function(M, y) {
        setTimeout(() => this.trigger(M, y), 0);
      }, ye.prototype.bridge = function() {
        var M = this;
        return function(y, I) {
          M.trigger(I, y);
        };
      }, ye.prototype.unsubscribeAll = function() {
        this.subMap.getAllSubscriptions().forEach(function(M) {
          M.unsubscribe();
        });
      };
      var Qe = "Category", Ke = new class {
        constructor() {
          this.widgetType = "CustomChatWidget", this.logger = O.getLogger({ prefix: "ChatJS-csmService" }), this.csmInitialized = !1, this.metricsToBePublished = [], this.agentMetricToBePublished = [], this.MAX_RETRY = 5;
        }
        loadCsmScriptAndExecute() {
          try {
            var M = document.createElement("script");
            M.type = "text/javascript", M.innerHTML = `(function() {
    const global = self;
    const csm = global.csm || {};
    global.csm = csm;

    csm.EVENT_TYPE = {
      LOG: 'LOG',
      METRIC: 'METRIC',
      CONFIG: 'CONFIG',
      WORKFLOW_EVENT: 'WORKFLOW_EVENT',
      CUSTOM: 'CUSTOM',
      CLOSE: 'CLOSE',
      SET_AUTH: 'SET_AUTH',
      SET_CONFIG: 'SET_CONFIG',
    };

    csm.UNIT = {
      COUNT: 'Count',
      SECONDS: 'Seconds',
      MILLISECONDS: 'Milliseconds',
      MICROSECONDS: 'Microseconds',
    };
  })();

  (function() {
    const global = self;
    const csm = global.csm || {};
    global.csm = csm;

    const MAX_METRIC_DIMENSIONS = 10;

    /** ********* Dimension Classes ***********/

    const Dimension = function(name, value) {
      csm.Util.assertExist(name, 'name');
      csm.Util.assertExist(value, 'value');

      this.name = name;
      this.value = value == null ? 'null' : (value === '' ? ' ' : value.toString());
    };


    /** ********* Metric Classes ***********/

    const Metric = function(metricName, unit, value, dedupeOptions) {
      csm.Util.assertExist(metricName, 'metricName');
      csm.Util.assertExist(value, 'value');
      csm.Util.assertExist(unit, 'unit');
      csm.Util.assertTrue(csm.Util.isValidUnit(unit));
      if (dedupeOptions) {
        csm.Util.assertInObject(dedupeOptions, 'dedupeOptions', 'dedupeIntervalMs');
      }

      this.metricName = metricName;
      this.unit = unit;
      this.value = value;
      this.timestamp = new Date();
      this.dimensions = csm.globalDimensions ? csm.Util.deepCopy(csm.globalDimensions): [];
      this.namespace = csm.configuration.namespace;
      this.dedupeOptions = dedupeOptions; // optional. { dedupeIntervalMs: (int; required), context: (string; optional) }

      // Currently, CloudWatch can't aggregate metrics by a subset of dimensions.
      // To bypass this limitation, we introduce the optional dimensions concept to CSM.
      // The CSM metric publisher will publish a default metric without optional dimension
      // For each optional dimension, the CSM metric publisher publishes an extra metric with that dimension.
      this.optionalDimensions = csm.globalOptionalDimensions ? csm.Util.deepCopy(csm.globalOptionalDimensions): [];
    };

    Metric.prototype.addDimension = function(name, value) {
      this._addDimensionHelper(this.dimensions, name, value);
    };

    Metric.prototype.addOptionalDimension = function(name, value) {
      this._addDimensionHelper(this.optionalDimensions, name, value);
    };

    Metric.prototype._addDimensionHelper = function(targetDimensions, name, value) {
      // CloudWatch metric allows maximum 10 dimensions
      // http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#putMetricData-property
      if ((this.dimensions.length + this.optionalDimensions.length) >= MAX_METRIC_DIMENSIONS) {
        throw new csm.ExceedDimensionLimitException(name);
      }

      const existing = targetDimensions.find(function(dimension) {
        return dimension.name === name;
      });

      if (existing) {
        existing.value = value == null ? 'null' : (value === '' ? ' ' : value.toString());
      } else {
        targetDimensions.push(new Dimension(name, value));
      }
    };


    /** ********* Telemetry Classes ***********/

    const WorkflowEvent = function(params) {
      this.timestamp = params.timestamp || new Date().getTime();
      this.workflowType = params.workflow.type;
      this.instanceId = params.workflow.instanceId;
      this.userId = params.userId;
      this.organizationId = params.organizationId;
      this.accountId = params.accountId;
      this.event = params.event;
      this.appName = params.appName;
      this.data = [];

      // Convert 'data' map into the KeyValuePairList structure expected by the Lambda API
      for (const key in params.data) {
        if (Object.prototype.hasOwnProperty.call(params.data, key)) {
          this.data.push({'key': key, 'value': params.data[key]});
        }
      }
    };

    /** ********* Exceptions ***********/

    const NullOrUndefinedException = function(paramName) {
      this.name = 'NullOrUndefinedException';
      this.message = paramName + ' is null or undefined. ';
    };
    NullOrUndefinedException.prototype.toString = function() {
      return this.name + ': ' + this.message;
    };

    const AssertTrueException = function() {
      this.name = 'AssertTrueException';
      this.message = 'Assertion failed. ';
    };
    AssertTrueException.prototype.toString = function() {
      return this.name + ': ' + this.message;
    };

    const ExceedDimensionLimitException = function(dimensionName) {
      this.name = 'ExceedDimensionLimitException';
      this.message = 'Could not add dimension \\'' + dimensionName + '\\'. Metric has maximum 10 dimensions. ';
    };
    ExceedDimensionLimitException.prototype.toString = function() {
      return this.name + ': ' + this.message;
    };

    const InitializationException = function() {
      this.name = 'InitializationException';
      this.message = 'Initialization failed. ';
    };
    InitializationException.prototype.toString = function() {
      return this.name + ': ' + this.message;
    };


    csm.Dimension = Dimension;
    csm.Metric = Metric;
    csm.WorkflowEvent = WorkflowEvent;
    csm.NullOrUndefinedException = NullOrUndefinedException;
    csm.AssertTrueException = AssertTrueException;
    csm.InitializationException = InitializationException;
    csm.ExceedDimensionLimitException = ExceedDimensionLimitException;
  })();

  (function() {
    const global = self;
    const csm = global.csm || {};
    global.csm = csm;

    const validTimeUnits = [csm.UNIT.SECONDS, csm.UNIT.MILLISECONDS, csm.UNIT.MICROSECONDS];
    const validUnits = validTimeUnits.concat(csm.UNIT.COUNT);

    const Util = {
      assertExist: function(value, paramName) {
        if (value === null || value === undefined) {
          throw new csm.NullOrUndefinedException(paramName);
        }
      },
      assertTrue: function(value) {
        if (!value) {
          throw new csm.AssertTrueException();
        }
      },
      assertInObject: function(obj, objName, key) {
        if (obj === null || obj === undefined || typeof obj !== 'object') {
          throw new csm.NullOrUndefinedException(objName);
        }
        if (key === null || key === undefined || !obj[key]) {
          throw new csm.NullOrUndefinedException(\`\${objName}[\${key}]\`);
        }
      },
      isValidUnit: function(unit) {
        return validUnits.includes(unit);
      },
      isValidTimeUnit: function(unit) {
        return validTimeUnits.includes(unit);
      },
      isEmpty: function(value) {
        if (value !== null && typeof val === 'object') {
          return Objects.keys(value).length === 0;
        }
        return !value;
      },
      deepCopy: function(obj) {
        // NOTE: this will fail if obj has a circular reference
        return JSON.parse(JSON.stringify(obj));
      },

      /**
       * This function is used before setting the page location for default metrics and logs,
       * and the APIs that set page location
       * Can be overridden by calling csm.API.setPageLocationTransformer(function(){})
       * @param {string}        pathname path for page location
       * @return {string}       pathname provided
       */
      pageLocationTransformer: function(pathname) {
        return pathname;
      },

      /**
       * As of now, our service public claims only support for Firefox and Chrome
       * Reference https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent
       *
       * This function will only return firefox, chrome and others
       *
       * Best practice as indicated in MDN, "Avoiding user agent detection"
       */
      getBrowserDetails: function() {
        const userAgent = window.navigator.userAgent;
        const details = {};
        if (userAgent.includes('Firefox') && !userAgent.includes('Seamonkey')) {
          details.name = 'Firefox';
          details.version = getBrowserVersion('Firefox');
        } else if (userAgent.includes('Chrome') && !userAgent.includes('Chromium')) {
          details.name = 'Chrome';
          details.version = getBrowserVersion('Chrome');
        }
      },

      randomId: function() {
        return new Date().getTime() + '-' + Math.random().toString(36).slice(2);
      },

      getOrigin: function() {
        return document.location.origin;
      },

      getReferrerUrl: function() {
        const referrer = document.referrer || '';
        return this.getURLOrigin(referrer);
      },

      getWindowParent: function() {
        let parentLocation = '';
        try {
          parentLocation = window.parent.location.href;
        } catch (e) {
          parentLocation = '';
        }
        return parentLocation;
      },

      getURLOrigin: function(urlValue) {
        let origin = '';
        const originArray = urlValue.split( '/' );
        if (originArray.length >= 3) {
          const protocol = originArray[0];
          const host = originArray[2];
          origin = protocol + '//' + host;
        }
        return origin;
      },

    };

    const getBrowserVersion = function(browserName) {
      const userAgent = window.navigator.userAgent;
      const browserNameIndex = userAgent.indexOf(browserName);
      const nextSpaceIndex = userAgent.indexOf(' ', browserNameIndex);
      if (nextSpaceIndex === -1) {
        return userAgent.substring(browserNameIndex + browserName.length + 1, userAgent.length);
      } else {
        return userAgent.substring(browserNameIndex + browserName.length + 1, nextSpaceIndex);
      }
    };

    csm.Util = Util;
  })();

  (function() {
    const global = window;
    const csm = global.csm || {};
    global.csm = csm;

    csm.globalDimensions = []; // These dimensions are added to all captured metrics.
    csm.globalOptionalDimensions = [];
    csm.initFailureDimensions = [];

    const API = {
      getWorkflow: function(workflowType, instanceId, data) {
        return csm.workflow(workflowType, instanceId, data);
      },

      addMetric: function(metric) {
        csm.Util.assertExist(metric, 'metric');
        csm.putMetric(metric);
      },

      addMetricWithDedupe: function(metric, dedupeIntervalMs, context) {
        csm.Util.assertExist(metric, 'metric');
        csm.Util.assertExist(metric, 'dedupeIntervalMs');
        // context is optional; if present it will only dedupe on metrics with the same context. ex.) tabId
        metric.dedupeOptions = {dedupeIntervalMs, context: context || 'global'};
        csm.putMetric(metric);
      },

      addCount: function(metricName, count) {
        csm.Util.assertExist(metricName, 'metricName');
        csm.Util.assertExist(count, 'count');

        const metric = new csm.Metric(metricName, csm.UNIT.COUNT, count);
        csm.putMetric(metric);
      },

      addCountWithPageLocation: function(metricName) {
        csm.Util.assertExist(metricName, 'metricName');

        const metric = new csm.Metric(metricName, csm.UNIT.COUNT, 1.0);
        metric.addDimension('WindowLocation', csm.Util.pageLocationTransformer(window.location.pathname));
        csm.putMetric(metric);
      },

      addError: function(metricName, count) {
        csm.Util.assertExist(metricName, 'metricName');

        if (count === undefined || count == null) {
          count = 1.0;
        }
        const metric = new csm.Metric(metricName, csm.UNIT.COUNT, count);
        metric.addDimension('Metric', 'Error');
        csm.putMetric(metric);
      },

      addSuccess: function(metricName) {
        API.addError(metricName, 0);
      },

      addTime: function(metricName, time, unit) {
        csm.Util.assertExist(metricName, 'metricName');
        csm.Util.assertExist(time, 'time');

        let timeUnit = csm.UNIT.MILLISECONDS;
        if (unit && csm.Util.isValidTimeUnit(unit)) {
          timeUnit = unit;
        }
        const metric = new csm.Metric(metricName, timeUnit, time);
        metric.addDimension('Metric', 'Time');
        csm.putMetric(metric);
      },

      addTimeWithPageLocation: function(metricName, time, unit) {
        csm.Util.assertExist(metricName, 'metricName');
        csm.Util.assertExist(time, 'time');

        let timeUnit = csm.UNIT.MILLISECONDS;
        if (unit && csm.Util.isValidTimeUnit(unit)) {
          timeUnit = unit;
        }
        const metric = new csm.Metric(metricName, timeUnit, time);
        metric.addDimension('WindowLocation', csm.Util.pageLocationTransformer(window.location.pathname));
        csm.putMetric(metric);
      },

      pageReady: function() {
        if (window.performance && window.performance.now) {
          const pageLoadTime = window.performance.now();
          const metric = new csm.Metric('PageReadyLatency', csm.UNIT.MILLISECONDS, pageLoadTime);
          metric.addDimension('WindowLocation', csm.Util.pageLocationTransformer(window.location.pathname));
          csm.putMetric(metric);
        }
      },

      setPageLocationTransformer: function(transformFunc) {
        csm.Util.assertExist(transformFunc, 'transformFunc');
        csm.Util.assertTrue((typeof transformFunc) === 'function');
        csm.Util.pageLocationTransformer = transformFunc;
      },

      setGlobalDimensions: function(dimensions) {
        csm.Util.assertExist(dimensions, 'dimensions');
        csm.globalDimensions = dimensions;
      },

      setGlobalOptionalDimensions: function(dimensions) {
        csm.Util.assertExist(dimensions, 'dimensions');
        csm.globalOptionalDimensions = dimensions;
      },

      setInitFailureDimensions: function(dimensions) {
        csm.Util.assertExist(dimensions, 'dimensions');
        csm.initFailureDimensions = dimensions;
      },

      putCustom: function(endpoint, headers, data) {
        csm.Util.assertExist(data, 'data');
        csm.Util.assertExist(endpoint, 'endpoint');
        csm.Util.assertExist(headers, 'headers');
        csm.putCustom(endpoint, headers, data);
      },

      setAuthParams: function(authParams) {
        csm.setAuthParams(authParams);
      },

      setConfig: function(key, value) {
        csm.Util.assertExist(key, 'key');
        csm.Util.assertExist(value, 'value');
        if (!csm.configuration[key]) {
          csm.setConfig(key, value); // set configuration variables such as accountId, instanceId, userId
        }
      },
    };

    csm.API = API;
  })();

  (function() {
    const global = window;
    const csm = global.csm || {};
    global.csm = csm;

    const WORKFLOW_KEY_PREFIX = 'csm.workflow';

    /**
     * Calculates the local storage key used to store a workflow of the specified type.
     * @param {string} type of workflow
     * @return {string} storage key
     */
    const getWorkflowKeyForType = function(type) {
      return [
        WORKFLOW_KEY_PREFIX,
        type,
      ].join('.');
    };

    /**
     * Constructor for new Workflow objects.
     *
     * If you need to be able to share a workflow across tabs, it is recommended
     * to use "csm.workflow" to create/hydrate your workflows instead.
     * @param {string} type of workflow
     * @param {string} instanceId of workflow
     * @param {JSON} data blob associated with workflow
     */
    const Workflow = function(type, instanceId, data) {
      this.type = type;
      this.instanceId = instanceId || csm.Util.randomId();
      this.instanceSpecified = instanceId || false;
      this.eventMap = {};
      this.data = data || {};

      // Merge global dimensions into the data map.
      const dimensionData = {};
      csm.globalDimensions.forEach(function(dimension) {
        dimensionData[dimension.name] = dimension.value;
      });
      csm.globalOptionalDimensions.forEach(function(dimension) {
        dimensionData[dimension.name] = dimension.value;
      });
      this.data = this._mergeData(dimensionData);
    };

    /**
     * Create a new workflow or rehydrate an existing shared workflow.
     *
     * @param {string} type The type of workflow to be created.
     * @param {string} instanceId The instanceId of the workflow.  If not provided, it will be
     *      assigned a random ID and will not be automatically saved to local storage.
     *      If provided, we will attempt to load an existing workflow of the same type
     *      from local storage and rehydrate it.
     * @param {JSON} data An optional map of key/value pairs to be added as data to every
     *      workflow event created with this workflow.
     * @return {Workflow} workflow event
     * NOTE: Only one workflow of each type can be stored at the same time, to avoid
     *       overloading localStorage with unused workflow records.
     */
    csm.workflow = function(type, instanceId, data) {
      let workflow = new Workflow(type, instanceId, data);

      if (instanceId) {
        const savedWorkflow = csm._loadWorkflow(type);
        if (savedWorkflow && savedWorkflow.instanceId === instanceId) {
          workflow = savedWorkflow;
          workflow.addData(data || {});
        }
      }

      return workflow;
    };

    csm._loadWorkflow = function(type) {
      let workflow = null;
      const workflowJson = localStorage.getItem(getWorkflowKeyForType(type));
      const workflowStruct = workflowJson ? JSON.parse(workflowJson) : null;
      if (workflowStruct) {
        workflow = new Workflow(type, workflowStruct.instanceId);
        workflow.eventMap = workflowStruct.eventMap;
      }
      return workflow;
    };

    /**
     * Creates a new workflow event and returns it.  Then this workflow event is sent upstream
     * to the CSMSharedWorker where it is provided to the backend.
     *
     * If an instanceId was specified when the workflow was created, this will also save the workflow
     * and all of its events to localStorage.
     *
     * @param {string} event The name of the event that occurred.
     * @param {JSON} data An optional free-form key attribute pair of metadata items that will be stored
     *      and reported backstream with the workflow event.
     * @return {WorkflowEvent} workflowEvent
     */
    Workflow.prototype.event = function(event, data) {
      const mergedData = this._mergeData(data || {});
      const workflowEvent = new csm.WorkflowEvent({
        workflow: this,
        event: event,
        data: mergedData,
        userId: csm.configuration.userId || '',
        organizationId: csm.configuration.organizationId || '',
        accountId: csm.configuration.accountId || '',
        appName: csm.configuration.namespace || '',
      });
      csm.putWorkflowEvent(workflowEvent);
      this.eventMap[event] = workflowEvent;
      if (this.instanceSpecified) {
        this.save();
      }
      return workflowEvent;
    };

    /**
     * Creates a new workflow event and returns it, if the same event is not happened in ths past
     * dedupeIntervalMs milliseconds.
     * @param {string} event The name of the event that occurred.
     * @param {JSON} data An optional free-form key attribute pair of metadata items that will be stored
     * and reported backstream with the workflow event.
     * @param {int} dedupeIntervalMs defaults to 200 MS
     * @return {WorkflowEvent} workflowEvent
     */
    Workflow.prototype.eventWithDedupe = function(event, data, dedupeIntervalMs) {
      const pastEvent = this.getPastEvent(event);
      const now = new Date().getTime();
      const interval = dedupeIntervalMs || 200;

      // Crafting the expected workflow event data result
      const mergedData = this._mergeData(data);
      const expectedData = [];
      for (const key in mergedData) {
        if (Object.prototype.hasOwnProperty.call(mergedData, key)) {
          expectedData.push({'key': key, 'value': mergedData[key]});
        }
      }

      // Deduplicate same events that happened within interval
      if (!pastEvent || (pastEvent && JSON.stringify(pastEvent.data) !== JSON.stringify(expectedData)) ||
          (pastEvent && (now - pastEvent.timestamp > interval))) {
        return this.event(event, data);
      }
      return null;
    };

    /**
     * Get a past event if it exists in this workflow, otherwise returns null.
     * This can be helpful to emit metrics in real time based on the differences
     * between workflow event timestamps, especially for workflows shared across tabs.
     * @param {string} event key to see if workflow exists for this event
     * @return {WorkflowEvent} workflow event retrieved
     */
    Workflow.prototype.getPastEvent = function(event) {
      return event in this.eventMap ? this.eventMap[event] : null;
    };

    /**
     * Save the workflow to local storage. This only happens automatically when an
     * instanceId is specified on workflow creation, however if this method is called
     * explicitly by the client, the randomly generated workflow instance id can be
     * used to retrieve the workflow later and automatic save on events will be enabled.
     */
    Workflow.prototype.save = function() {
      this.instanceSpecified = true;
      localStorage.setItem(getWorkflowKeyForType(this.type), JSON.stringify(this));
    };

    /**
     * Remove this workflow if it is the saved instance for this workflow type in localStorage.
     */
    Workflow.prototype.close = function() {
      const storedWorkflow = csm._loadWorkflow(this.type);
      if (storedWorkflow && storedWorkflow.instanceId === this.instanceId) {
        localStorage.removeItem(getWorkflowKeyForType(this.type));
      }
    };

    Workflow.prototype.addData = function(data) {
      for (const key in data) {
        if (Object.prototype.hasOwnProperty.call(data, key)) {
          this.data[key] = data[key];
        }
      }
    };

    Workflow.prototype._mergeData = function(data) {
      const mergedData = {};
      let key = null;
      for (key in this.data) {
        if (Object.prototype.hasOwnProperty.call(this.data, key)) {
          mergedData[key] = this.data[key] == null ? 'null' : (this.data[key] === '' ? ' ' : this.data[key].toString());
        }
      }
      for (key in data) {
        if (Object.prototype.hasOwnProperty.call(data, key)) {
          mergedData[key] = data[key] == null ? 'null' : (data[key] === '' ? ' ' : data[key].toString());
        }
      }
      return mergedData;
    };
  })();

  (function() {
    const global = window;
    const csm = global.csm || {};
    global.csm = csm;

    let worker = null;
    let portId = null;

    const MAX_INIT_MILLISECONDS = 5000;
    const preInitTaskQueue = [];
    csm.configuration = {};

    /**
     * Initialize CSM variables
     * @param {object} params for CSM
     * @params.namespace Define your metric namespace used in CloudWatch metrics
     * @params.sharedWorkerUrl Specify the relative url to the connect-csm-worker.js file in your service
     * @params.endpoint Specify an LDAS endpoint to use.
     * @params.dryRunMode When CSM is initialized with dry run mode, it won't actually publish metrics.
     * @params.defaultMetrics Enable default metrics. Default to false.
     */
    csm.initCSM = function(params) {
      csm.Util.assertExist(params.namespace, 'namespace');
      csm.Util.assertExist(params.sharedWorkerUrl, 'sharedWorkerUrl');
      csm.Util.assertExist(params.endpoint, 'endpoint');

      try {
        console.log('Starting csm shared worker with', params.sharedWorkerUrl);
        worker = new SharedWorker(params.sharedWorkerUrl, 'CSM_SharedWorker');
        worker.port.start();
      } catch (e) {
        console.log('Failed to initialize csm shared worker with', params.sharedWorkerUrl);
        console.log(e.message);
      }

      /**
       * Configure shared worker
       */
      csm.configuration = {
        namespace: params.namespace,
        userId: params.userId || '',
        accountId: params.accountId || '',
        organizationId: params.organizationId || '',
        endpointUrl: params.endpoint || null,
        batchSettings: params.batchSettings || null,
        addPageVisibilityDimension: params.addPageVisibilityDimension || false,
        addUrlDataDimensions: params.addUrlDataDimensions || false,
        dryRunMode: params.dryRunMode || false, // When csm is in dryRunMode it won't actually publish metrics to CSM
      };

      postEventToWorker(csm.EVENT_TYPE.CONFIG, csm.configuration);

      /**
       * Receive message from shared worker
       * @param {MessageEvent} messageEvent from shared worker
       */
      worker.port.onmessage = function(messageEvent) {
        const messageType = messageEvent.data.type;
        onMessageFromWorker(messageType, messageEvent.data);
      };

      /**
       * Inform shared worker window closed
       */
      global.onbeforeunload = function() {
        worker.port.postMessage(
            {
              type: csm.EVENT_TYPE.CLOSE,
              portId: portId,
            },
        );
      };

      /**
       * Check if initialization success
       */
      global.setTimeout(function() {
        if (!isCSMInitialized()) {
          console.log('[FATAL] CSM initialization failed! Please make sure the sharedWorkerUrl is reachable.');
        }
      }, MAX_INIT_MILLISECONDS);

      // Emit out of the box metrics
      if (params.defaultMetrics) {
        emitDefaultMetrics();
      }
    };
    // Final processing before sending to SharedWorker
    const processMetric = function(metric) {
      if (csm.configuration.addPageVisibilityDimension && document.visibilityState) {
        metric.addOptionalDimension('VisibilityState', document.visibilityState);
      }
    };

    const processWorkflowEvent = function(event) {
      if (csm.configuration.addUrlDataDimensions) {
        event.data.push({'key': 'ReferrerUrl', 'value': csm.Util.getReferrerUrl()});
        event.data.push({'key': 'Origin', 'value': csm.Util.getOrigin()});
        event.data.push({'key': 'WindowParent', 'value': csm.Util.getWindowParent()});
      }
      if (['initFailure', 'initializationLatencyInfo'].includes(event.event)) {
        csm.initFailureDimensions.forEach((dimension) => {
          Object.keys(dimension).forEach((key) => {
            event.data.push({'key': key, 'value': dimension[key]});
          });
        });
      }
      return event;
    };

    csm.putMetric = function(metric) {
      processMetric(metric);
      postEventToWorker(csm.EVENT_TYPE.METRIC, metric);
    };

    csm.putLog = function(log) {
      postEventToWorker(csm.EVENT_TYPE.LOG, log);
    };

    csm.putWorkflowEvent = function(event) {
      const processedEvent = processWorkflowEvent(event);
      postEventToWorker(csm.EVENT_TYPE.WORKFLOW_EVENT, processedEvent);
    };

    csm.putCustom = function(endpoint, headers, data) {
      postEventToWorker(csm.EVENT_TYPE.CUSTOM, data, endpoint, headers);
    };

    csm.setAuthParams = function(authParams) {
      postEventToWorker(csm.EVENT_TYPE.SET_AUTH, authParams);
    };

    csm.setConfig = function(key, value) {
      csm.configuration[key] = value;
      postEventToWorker(csm.EVENT_TYPE.SET_CONFIG, {key, value});
    };
    /** **********************  PRIVATE METHODS  ************************/

    const onMessageFromWorker = function(messageType, data) {
      if (messageType === csm.EVENT_TYPE.CONFIG) {
        portId = data.portId;
        onCSMInitialized();
      }
    };

    const onCSMInitialized = function() {
      // Purge the preInitTaskQueue
      preInitTaskQueue.forEach(function(task) {
        postEventToWorker(task.type, task.message, task.endpoint, task.headers);
      });

      // TODO:  Capture on errors and publish log to shared worker
      /**
              window.onerror = function(message, fileName, lineNumber, columnNumber, errorstack) {
                  var log = new csm.Log(message, fileName, lineNumber, columnNumber, errorstack.stack);
                  csm.putLog(log);
              };
          */
    };

    /**
     * Emit out of the box metrics automatically
     *
     * TODO allow configuration
     */
    const emitDefaultMetrics = function() {
      window.addEventListener('load', function() {
        // loadEventEnd is avaliable after the onload function finished
        // https://www.w3.org/TR/navigation-timing-2/#processing-model
        // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming
        global.setTimeout(function() {
          try {
            const perfData = window.performance.getEntriesByType('navigation')[0];
            const pageLoadTime = perfData.loadEventEnd - perfData.startTime;
            const connectTime = perfData.responseEnd - perfData.requestStart;
            const domRenderTime = perfData.domComplete - perfData.domInteractive;
            csm.API.addCountWithPageLocation('PageLoad');
            csm.API.addTimeWithPageLocation('PageLoadTime', pageLoadTime);
            csm.API.addTimeWithPageLocation('ConnectTime', connectTime);
            csm.API.addTimeWithPageLocation('DomRenderTime', domRenderTime);
          } catch (err) {
            console.log('Error emitting default metrics', err);
          }
        }, 0);
      });
    };

    /**
     * Try posting message to shared worker
     * If shared worker hasn't been initialized, put the task to queue to be clean up once initialized
     * @param {csm.EVENT_TYPE} eventType for CSM
     * @param {object} message event following type of eventType
     * @param {string} [endpoint] optional parameter for putCustom function (put any data to specified endpoint)
     * @param {object} [headers] optional parameter for putCustom function
     */
    const postEventToWorker = function(eventType, message, endpoint, headers) {
      if (eventType === csm.EVENT_TYPE.CONFIG || isCSMInitialized()) {
        worker.port.postMessage(
            {
              type: eventType,
              portId: portId,
              message: message,
              endpoint: endpoint,
              headers: headers,
            },
        );
      } else {
        preInitTaskQueue.push({
          type: eventType,
          message: message,
          endpoint: endpoint,
          headers: headers,
        });
      }
    };

    const isCSMInitialized = function() {
      return portId !== null;
    };
  })()`, document.head.appendChild(M), this.initializeCSM();
          } catch (y) {
            this.logger.error("Load csm script error: ", y);
          }
        }
        initializeCSM() {
          try {
            if (this.csmInitialized)
              return;
            var M = F.getRegion(), y = F.getCell(), I = `(function() {
    const global = self;
    const csm = global.csm || {};
    global.csm = csm;

    csm.EVENT_TYPE = {
      LOG: 'LOG',
      METRIC: 'METRIC',
      CONFIG: 'CONFIG',
      WORKFLOW_EVENT: 'WORKFLOW_EVENT',
      CUSTOM: 'CUSTOM',
      CLOSE: 'CLOSE',
      SET_AUTH: 'SET_AUTH',
      SET_CONFIG: 'SET_CONFIG',
    };

    csm.UNIT = {
      COUNT: 'Count',
      SECONDS: 'Seconds',
      MILLISECONDS: 'Milliseconds',
      MICROSECONDS: 'Microseconds',
    };
  })();

  (function() {
    const global = self;
    const csm = global.csm || {};
    global.csm = csm;

    const MAX_METRIC_DIMENSIONS = 10;

    /** ********* Dimension Classes ***********/

    const Dimension = function(name, value) {
      csm.Util.assertExist(name, 'name');
      csm.Util.assertExist(value, 'value');

      this.name = name;
      this.value = value == null ? 'null' : (value === '' ? ' ' : value.toString());
    };


    /** ********* Metric Classes ***********/

    const Metric = function(metricName, unit, value, dedupeOptions) {
      csm.Util.assertExist(metricName, 'metricName');
      csm.Util.assertExist(value, 'value');
      csm.Util.assertExist(unit, 'unit');
      csm.Util.assertTrue(csm.Util.isValidUnit(unit));
      if (dedupeOptions) {
        csm.Util.assertInObject(dedupeOptions, 'dedupeOptions', 'dedupeIntervalMs');
      }

      this.metricName = metricName;
      this.unit = unit;
      this.value = value;
      this.timestamp = new Date();
      this.dimensions = csm.globalDimensions ? csm.Util.deepCopy(csm.globalDimensions): [];
      this.namespace = csm.configuration.namespace;
      this.dedupeOptions = dedupeOptions; // optional. { dedupeIntervalMs: (int; required), context: (string; optional) }

      // Currently, CloudWatch can't aggregate metrics by a subset of dimensions.
      // To bypass this limitation, we introduce the optional dimensions concept to CSM.
      // The CSM metric publisher will publish a default metric without optional dimension
      // For each optional dimension, the CSM metric publisher publishes an extra metric with that dimension.
      this.optionalDimensions = csm.globalOptionalDimensions ? csm.Util.deepCopy(csm.globalOptionalDimensions): [];
    };

    Metric.prototype.addDimension = function(name, value) {
      this._addDimensionHelper(this.dimensions, name, value);
    };

    Metric.prototype.addOptionalDimension = function(name, value) {
      this._addDimensionHelper(this.optionalDimensions, name, value);
    };

    Metric.prototype._addDimensionHelper = function(targetDimensions, name, value) {
      // CloudWatch metric allows maximum 10 dimensions
      // http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudWatch.html#putMetricData-property
      if ((this.dimensions.length + this.optionalDimensions.length) >= MAX_METRIC_DIMENSIONS) {
        throw new csm.ExceedDimensionLimitException(name);
      }

      const existing = targetDimensions.find(function(dimension) {
        return dimension.name === name;
      });

      if (existing) {
        existing.value = value == null ? 'null' : (value === '' ? ' ' : value.toString());
      } else {
        targetDimensions.push(new Dimension(name, value));
      }
    };


    /** ********* Telemetry Classes ***********/

    const WorkflowEvent = function(params) {
      this.timestamp = params.timestamp || new Date().getTime();
      this.workflowType = params.workflow.type;
      this.instanceId = params.workflow.instanceId;
      this.userId = params.userId;
      this.organizationId = params.organizationId;
      this.accountId = params.accountId;
      this.event = params.event;
      this.appName = params.appName;
      this.data = [];

      // Convert 'data' map into the KeyValuePairList structure expected by the Lambda API
      for (const key in params.data) {
        if (Object.prototype.hasOwnProperty.call(params.data, key)) {
          this.data.push({'key': key, 'value': params.data[key]});
        }
      }
    };

    /** ********* Exceptions ***********/

    const NullOrUndefinedException = function(paramName) {
      this.name = 'NullOrUndefinedException';
      this.message = paramName + ' is null or undefined. ';
    };
    NullOrUndefinedException.prototype.toString = function() {
      return this.name + ': ' + this.message;
    };

    const AssertTrueException = function() {
      this.name = 'AssertTrueException';
      this.message = 'Assertion failed. ';
    };
    AssertTrueException.prototype.toString = function() {
      return this.name + ': ' + this.message;
    };

    const ExceedDimensionLimitException = function(dimensionName) {
      this.name = 'ExceedDimensionLimitException';
      this.message = 'Could not add dimension ' + dimensionName + ' . Metric has maximum 10 dimensions. ';
    };
    ExceedDimensionLimitException.prototype.toString = function() {
      return this.name + ': ' + this.message;
    };

    const InitializationException = function() {
      this.name = 'InitializationException';
      this.message = 'Initialization failed. ';
    };
    InitializationException.prototype.toString = function() {
      return this.name + ': ' + this.message;
    };


    csm.Dimension = Dimension;
    csm.Metric = Metric;
    csm.WorkflowEvent = WorkflowEvent;
    csm.NullOrUndefinedException = NullOrUndefinedException;
    csm.AssertTrueException = AssertTrueException;
    csm.InitializationException = InitializationException;
    csm.ExceedDimensionLimitException = ExceedDimensionLimitException;
  })();

  (function() {
    const global = self;
    const csm = global.csm || {};
    global.csm = csm;

    const validTimeUnits = [csm.UNIT.SECONDS, csm.UNIT.MILLISECONDS, csm.UNIT.MICROSECONDS];
    const validUnits = validTimeUnits.concat(csm.UNIT.COUNT);

    const Util = {
      assertExist: function(value, paramName) {
        if (value === null || value === undefined) {
          throw new csm.NullOrUndefinedException(paramName);
        }
      },
      assertTrue: function(value) {
        if (!value) {
          throw new csm.AssertTrueException();
        }
      },
      assertInObject: function(obj, objName, key) {
        if (obj === null || obj === undefined || typeof obj !== 'object') {
          throw new csm.NullOrUndefinedException(objName);
        }
        if (key === null || key === undefined || !obj[key]) {
          throw new csm.NullOrUndefinedException(\`\${objName}[\${key}]\`);
        }
      },
      isValidUnit: function(unit) {
        return validUnits.includes(unit);
      },
      isValidTimeUnit: function(unit) {
        return validTimeUnits.includes(unit);
      },
      isEmpty: function(value) {
        if (value !== null && typeof val === 'object') {
          return Objects.keys(value).length === 0;
        }
        return !value;
      },
      deepCopy: function(obj) {
        // NOTE: this will fail if obj has a circular reference
        return JSON.parse(JSON.stringify(obj));
      },

      /**
       * This function is used before setting the page location for default metrics and logs,
       * and the APIs that set page location
       * Can be overridden by calling csm.API.setPageLocationTransformer(function(){})
       * @param {string}        pathname path for page location
       * @return {string}       pathname provided
       */
      pageLocationTransformer: function(pathname) {
        return pathname;
      },

      /**
       * As of now, our service public claims only support for Firefox and Chrome
       * Reference https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent
       *
       * This function will only return firefox, chrome and others
       *
       * Best practice as indicated in MDN, "Avoiding user agent detection"
       */
      getBrowserDetails: function() {
        const userAgent = window.navigator.userAgent;
        const details = {};
        if (userAgent.includes('Firefox') && !userAgent.includes('Seamonkey')) {
          details.name = 'Firefox';
          details.version = getBrowserVersion('Firefox');
        } else if (userAgent.includes('Chrome') && !userAgent.includes('Chromium')) {
          details.name = 'Chrome';
          details.version = getBrowserVersion('Chrome');
        }
      },

      randomId: function() {
        return new Date().getTime() + '-' + Math.random().toString(36).slice(2);
      },

      getOrigin: function() {
        return document.location.origin;
      },

      getReferrerUrl: function() {
        const referrer = document.referrer || '';
        return this.getURLOrigin(referrer);
      },

      getWindowParent: function() {
        let parentLocation = '';
        try {
          parentLocation = window.parent.location.href;
        } catch (e) {
          parentLocation = '';
        }
        return parentLocation;
      },

      getURLOrigin: function(urlValue) {
        let origin = '';
        const originArray = urlValue.split( '/' );
        if (originArray.length >= 3) {
          const protocol = originArray[0];
          const host = originArray[2];
          origin = protocol + '//' + host;
        }
        return origin;
      },

    };

    const getBrowserVersion = function(browserName) {
      const userAgent = window.navigator.userAgent;
      const browserNameIndex = userAgent.indexOf(browserName);
      const nextSpaceIndex = userAgent.indexOf(' ', browserNameIndex);
      if (nextSpaceIndex === -1) {
        return userAgent.substring(browserNameIndex + browserName.length + 1, userAgent.length);
      } else {
        return userAgent.substring(browserNameIndex + browserName.length + 1, nextSpaceIndex);
      }
    };

    csm.Util = Util;
  })();

  (function() {
    const XHR_DONE_READY_STATE = 4; // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState

    const global = self;
    const configuration = {};
    const batchSettings = {
      maxMetricsSize: 30,
      maxWorkflowEventsSize: 30,
      putMetricsIntervalMs: 30000,
      putWorkflowEventsIntervalMs: 2000,
    };
    const metricLists = {}; // metricList per CloudWatch Namespace
    const metricMap = {};
    const ports = {};
    let workflowEvents = {workflowEventList: []};

    // SharedWorker wiki:  https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker
    onconnect = function(connectEvent) {
      const port = connectEvent.ports[0];

      port.onmessage = function(event) {
        const data = event.data;
        const messageType = data.type;
        const message = data.message;
        const endpoint = data.endpoint;
        const headers = data.headers;

        if (data.portId && !(data.portId in ports)) {
          // This could happen when a user tries to close a tab which has a pop up alert to confirm closing,
          // and the user decides to cancel closing
          // This triggers before unload event while the tab or window is not closed actually
          ports[data.portId] = port;
        }

        const {METRIC, WORKFLOW_EVENT, CUSTOM, CONFIG, SET_AUTH, SET_CONFIG, CLOSE} = csm.EVENT_TYPE;
        switch (messageType) {
          case METRIC: {
            csm.Util.assertInObject(message, 'message', 'namespace');
            const namespace = message.namespace;
            if (shouldDedupe(message)) break;
            addMetricEventToMap(message);
            if (metricLists[namespace]) {
              metricLists[namespace].push(message);
            } else {
              metricLists[namespace] = [message];
            }
            if (metricLists[namespace].length >= batchSettings.maxMetricsSize) {
              putMetricsForNamespace(namespace);
            }
            break;
          }
          case WORKFLOW_EVENT: {
            workflowEvents.workflowEventList.push(message);
            if (workflowEvents.length >= batchSettings.maxWorkflowEventsSize) {
              putWorkflowEvents();
            }
            break;
          }
          case CUSTOM: {
            putCustom(endpoint, headers, message);
            break;
          }
          case CONFIG: {
            const portId = Object.keys(ports).length + 1; // portId starts from 1
            ports[portId] = port;
            for (const setting of Object.keys(message)) {
              if (!csm.Util.isEmpty(message[setting])) {
                configuration[setting] = message[setting];
              }
            }

            // set optional batch settings
            if (configuration.batchSettings) {
              for (const setting of Object.keys(configuration.batchSettings)) {
                batchSettings[setting] = configuration.batchSettings[setting];
              }
            }
            // send metrics and workflow events at set intervals
            putMetrics();
            putWorkflowEvents();
            global.setInterval(putMetrics, batchSettings.putMetricsIntervalMs);
            global.setInterval(putWorkflowEvents, batchSettings.putWorkflowEventsIntervalMs);

            port.postMessage(
                {
                  type: csm.EVENT_TYPE.CONFIG,
                  portId: portId,
                },
            );
            break;
          }
          case SET_AUTH: {
            configuration.authParams = message;
            authenticate();
            break;
          }
          case SET_CONFIG: {
            configuration[message.key] = message.value;
            break;
          }
          case CLOSE: {
            delete ports[data.portId];
            if (Object.keys(ports).length === 0) {
              putMetrics();
              putWorkflowEvents();
            }
            break;
          }
          default:
            break;
        }
      };
    };

    const shouldDedupe = function(metric) {
      try {
        const pastMetric = getPastMetricEvent(metric);
        return pastMetric && metric.dedupeOptions &&
          (metric.timestamp - pastMetric.timestamp < metric.dedupeOptions.dedupeIntervalMs);
      } catch (err) {
        console.error('Error in shouldDedupe', err);
        return false;
      }
    };

    const getPastMetricEvent = function(metric) {
      try {
        return metricMap[getMetricEventKey(metric)];
      } catch (err) {
        // ignore err - no previous metrics found
        return null;
      }
    };

    const addMetricEventToMap = function(metric) {
      try {
        metricMap[getMetricEventKey(metric)] = metric;
      } catch (err) {
        console.error('Failed to add event to metricMap', err);
      }
      csm.metricMap = metricMap;
    };

    const getMetricEventKey = function(metric) {
      const {namespace, metricName, unit, dedupeOptions} = metric;
      let context = 'global';
      if (dedupeOptions && dedupeOptions.context) {
        context = dedupeOptions.context;
      }
      return \`\${namespace}-\${metricName}-\${unit}-\${context}\`;
    };

    const authenticate = function() {
      postRequest(configuration.endpointUrl + '/auth', {authParams: configuration.authParams},
          {
            success: function(response) {
              if (response && response.jwtToken) {
                configuration.authParams.jwtToken = response.jwtToken;
              }
            },
            failure: function(response) {
              broadcastMessage('[ERROR] csm auth failed!');
              broadcastMessage('Response : ' + response);
            },
          }, {'x-api-key': 'auth-method-level-key'});
    };

    /**
     * Put metrics to service when:
     * a) metricList size is at maxMetricsSize
     * b) every putMetricsIntervalMs time if the metricList is not empty
     * c) worker is closed
     *
     * Timer is reset, and metricList emptied after each putMetrics call
     */
    const putMetrics = function() {
      for (const namespace of Object.keys(metricLists)) {
        putMetricsForNamespace(namespace);
      }
    };

    const putMetricsForNamespace = function(namespace) {
      csm.Util.assertInObject(metricLists, 'metricLists', namespace);
      const metricList = metricLists[namespace];

      if (metricList.length > 0 && !configuration.dryRunMode && configuration.endpointUrl) {
        postRequest(configuration.endpointUrl + '/put-metrics', {
          metricNamespace: namespace,
          metricList: metricList,
          authParams: configuration.authParams,
          accountId: configuration.accountId,
          organizationId: configuration.organizationId,
          agentResourceId: configuration.userId,
        }, {
          success: function(response) {
            if (response) {
              broadcastMessage('PutMetrics response : ' + response);
              if (response.unsetToken) {
                delete configuration.authParams.jwtToken;
                authenticate();
              }
            }
          },
          failure: function(response) {
            broadcastMessage('[ERROR] Put metrics to service failed! ');
          },
        });
      }
      metricLists[namespace] = [];
    };

    /**
     * Put metrics to service every two seconds if there are events to be put.
     */
    const putWorkflowEvents = function() {
      if (workflowEvents.workflowEventList.length > 0 && !configuration.dryRunMode && configuration.endpointUrl) {
        workflowEvents.authParams = configuration.authParams;
        postRequest(configuration.endpointUrl + '/put-workflow-events', workflowEvents,
            {
              success: function(response) {
                if (response) {
                  if (response.workflowEventList && response.workflowEventList.length > 0) {
                    broadcastMessage('[WARN] There are ' + response.length + ' workflow events that failed to publish');
                    broadcastMessage('Response : ' + response);
                  }
                  if (response.unsetToken) {
                    delete configuration.authParams.jwtToken;
                    authenticate();
                  }
                }
              },
              failure: function(response) {
                broadcastMessage('[ERROR] Put workflow events to service failed! ');
              },
            });
      }

      workflowEvents = {workflowEventList: []};
    };

    /**
     * Put data to custom endpoint on demand
     * @param {string} endpoint
     * @param {object} headers
     * @param {object} data to send to endpoint
     */
    const putCustom = function(endpoint, headers, data) {
      if (!configuration.dryRunMode && endpoint && data) {
        postRequest(endpoint, data, {
          success: function(response) {
            if (response) {
              broadcastMessage('Response : ' + response);
            }
          },
          failure: function(response) {
            broadcastMessage('[ERROR] Failed to put custom data! ');
          },
        }, headers);
      }
    };

    /**
     * Broadcast message to all tabs
     * @param {string} message to post to all the tabs
     */
    const broadcastMessage = function(message) {
      for (const portId in ports) {
        if (Object.prototype.hasOwnProperty.call(ports, portId)) {
          ports[portId].postMessage(message);
        }
      }
    };

    const postRequest = function(url, data, callbacks, headers) {
      csm.Util.assertExist(url, 'url');
      csm.Util.assertExist(data, 'data');

      callbacks = callbacks || {};
      callbacks.success = callbacks.success || function() {};
      callbacks.failure = callbacks.failure || function() {};

      const request = new XMLHttpRequest(); // new HttpRequest instance
      request.onreadystatechange = function() {
        const errorList = request.response ? JSON.parse(request.response): [];
        if (request.readyState === XHR_DONE_READY_STATE) { // request finished and response is ready
          if (request.status === 200) {
            callbacks.success(errorList);
          } else {
            broadcastMessage('AJAX request failed with status: ' + request.status);
            callbacks.failure(errorList);
          }
        }
      };

      request.open('POST', url);
      if (headers && typeof headers === 'object') {
        Object.keys(headers).forEach((header) => request.setRequestHeader(header, headers[header]));
      } else {
        request.setRequestHeader('Content-Type', 'application/json');
      }
      request.send(JSON.stringify(data));
    };
  })()`.replace(/\\/g, ""), D = URL.createObjectURL(new Blob([I], { type: "text/javascript" })), G = ((ie) => "https://ieluqbvv.telemetry.connect.".concat(ie, ".amazonaws.com/prod"))(M), re = { endpoint: G, namespace: "chat-widget", sharedWorkerUrl: D };
            csm.initCSM(re), this.logger.info("CSMService is initialized in ".concat(M, " cell-").concat(y)), this.csmInitialized = !0, this.metricsToBePublished && (this.metricsToBePublished.forEach((ie) => {
              csm.API.addMetric(ie);
            }), this.metricsToBePublished = null);
          } catch (ie) {
            this.logger.error("Failed to initialize csm: ", ie);
          }
        }
        updateCsmConfig(M) {
          this.widgetType = typeof M != "object" || M === null || Array.isArray(M) ? this.widgetType : M.widgetType;
        }
        _hasCSMFailedToImport() {
          return typeof csm > "u";
        }
        getDefaultDimensions() {
          return [{ name: "WidgetType", value: this.widgetType }];
        }
        addMetric(M) {
          if (!this._hasCSMFailedToImport())
            if (this.csmInitialized)
              try {
                csm.API.addMetric(M);
              } catch (y) {
                this.logger.error("Failed to addMetric csm: ", y);
              }
            else
              this.metricsToBePublished && (this.metricsToBePublished.push(M), this.logger.info("CSMService is not initialized yet. Adding metrics to queue to be published once CSMService is initialized"));
        }
        setDimensions(M, y) {
          y.forEach((I) => {
            M.addDimension(I.name, I.value);
          });
        }
        addLatencyMetric(M, y, I) {
          var D = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [];
          if (!this._hasCSMFailedToImport())
            try {
              var G = new csm.Metric(M, csm.UNIT.MILLISECONDS, y), re = [...this.getDefaultDimensions(), { name: "Metric", value: "Latency" }, { name: Qe, value: I }, ...D];
              this.setDimensions(G, re), this.addMetric(G), this.logger.debug("Successfully published latency API metrics for method ".concat(M));
            } catch (ie) {
              this.logger.error("Failed to addLatencyMetric csm: ", ie);
            }
        }
        addLatencyMetricWithStartTime(M, y, I) {
          var D = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [], G = (/* @__PURE__ */ new Date()).getTime() - y;
          this.addLatencyMetric(M, G, I, D), this.logger.debug("Successfully published latency API metrics for method ".concat(M));
        }
        addCountAndErrorMetric(M, y, I) {
          var D = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : [];
          if (!this._hasCSMFailedToImport())
            try {
              var G = [...this.getDefaultDimensions(), { name: Qe, value: y }, ...D], re = new csm.Metric(M, csm.UNIT.COUNT, 1);
              this.setDimensions(re, [...G, { name: "Metric", value: "Count" }]);
              var ie = I ? 1 : 0, le = new csm.Metric(M, csm.UNIT.COUNT, ie);
              this.setDimensions(le, [...G, { name: "Metric", value: "Error" }]), this.addMetric(re), this.addMetric(le), this.logger.debug("Successfully published count and error metrics for method ".concat(M));
            } catch (Se) {
              this.logger.error("Failed to addCountAndErrorMetric csm: ", Se);
            }
        }
        addCountMetric(M, y) {
          var I = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
          if (!this._hasCSMFailedToImport())
            try {
              var D = [...this.getDefaultDimensions(), { name: Qe, value: y }, { name: "Metric", value: "Count" }, ...I], G = new csm.Metric(M, csm.UNIT.COUNT, 1);
              this.setDimensions(G, D), this.addMetric(G), this.logger.debug("Successfully published count metrics for method ".concat(M));
            } catch (re) {
              this.logger.error("Failed to addCountMetric csm: ", re);
            }
        }
        addAgentCountMetric(M, y) {
          if (!this._hasCSMFailedToImport())
            try {
              var I = this;
              csm && csm.API.addCount && M ? (csm.API.addCount(M, y), I.MAX_RETRY = 5) : (M && this.agentMetricToBePublished.push({ metricName: M, count: y }), setTimeout(() => {
                csm && csm.API.addCount ? (this.agentMetricToBePublished.forEach((D) => {
                  csm.API.addCount(D.metricName, D.count);
                }), this.agentMetricToBePublished = []) : I.MAX_RETRY > 0 && (I.MAX_RETRY -= 1, I.addAgentCountMetric());
              }, 3e3));
            } catch (D) {
              this.logger.error("Failed to addAgentCountMetric csm: ", D);
            }
        }
      }();
      function ft(M, y, I, D, G, re, ie) {
        try {
          var le = M[re](ie), Se = le.value;
        } catch (We) {
          return void I(We);
        }
        le.done ? y(Se) : Promise.resolve(Se).then(D, G);
      }
      class tt {
        constructor(y, I, D) {
          var G = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : null;
          this.chatClient = I, this.participantToken = y || null, this.connectionDetails = null, this.connectionToken = null, this.connectionTokenExpiry = null, this.sessionType = D, this.getConnectionToken = G;
        }
        getFetchedConnectionToken() {
          return this.connectionToken;
        }
        getConnectionTokenExpiry() {
          return this.connectionTokenExpiry;
        }
        getConnectionDetails() {
          return this.connectionDetails;
        }
        fetchConnectionDetails() {
          return this._fetchConnectionDetails().then((y) => y);
        }
        _handleCreateParticipantConnectionResponse(y, I) {
          return this.connectionDetails = { url: y.Websocket.Url, expiry: y.Websocket.ConnectionExpiry, transportLifeTimeInSeconds: m, connectionAcknowledged: I, connectionToken: y.ConnectionCredentials.ConnectionToken, connectionTokenExpiry: y.ConnectionCredentials.Expiry }, this.connectionToken = y.ConnectionCredentials.ConnectionToken, this.connectionTokenExpiry = y.ConnectionCredentials.Expiry, this.connectionDetails;
        }
        _handleGetConnectionTokenResponse(y) {
          return this.connectionDetails = { url: null, expiry: null, connectionToken: y.participantToken, connectionTokenExpiry: y.expiry, transportLifeTimeInSeconds: m, connectionAcknowledged: !1 }, this.connectionToken = y.participantToken, this.connectionTokenExpiry = y.expiry, Promise.resolve(this.connectionDetails);
        }
        callCreateParticipantConnection() {
          var { Type: y = !0, ConnectParticipant: I = !1 } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, D = (/* @__PURE__ */ new Date()).getTime();
          return this.chatClient.createParticipantConnection(this.participantToken, y ? ["WEBSOCKET", "CONNECTION_CREDENTIALS"] : null, I || null).then((G) => {
            if (y)
              return this._addParticipantConnectionMetric(D), this._handleCreateParticipantConnectionResponse(G.data, I);
          }).catch((G) => (y && this._addParticipantConnectionMetric(D, !0), Promise.reject({ reason: "Failed to fetch connectionDetails with createParticipantConnection", _debug: G })));
        }
        _addParticipantConnectionMetric(y) {
          var I = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
          Ke.addLatencyMetricWithStartTime(r, y, _), Ke.addCountAndErrorMetric(r, _, I);
        }
        _fetchConnectionDetails() {
          var y, I = this;
          return (y = function* () {
            return I.sessionType === pe.CUSTOMER ? I.callCreateParticipantConnection() : I.sessionType === pe.AGENT ? I.getConnectionToken().then((D) => I._handleGetConnectionTokenResponse(D.chatTokenTransport)).catch(() => I.callCreateParticipantConnection({ Type: !0, ConnectParticipant: !0 }).catch((D) => {
              throw new Error({ type: "CONN_ACK_FAILED", errorMessage: D });
            })) : Promise.reject({ reason: "Failed to fetch connectionDetails.", _debug: new Te("Failed to fetch connectionDetails.") });
          }, function() {
            var D = this, G = arguments;
            return new Promise(function(re, ie) {
              var le = y.apply(D, G);
              function Se(rt) {
                ft(le, re, ie, Se, We, "next", rt);
              }
              function We(rt) {
                ft(le, re, ie, Se, We, "throw", rt);
              }
              Se(void 0);
            });
          })();
        }
      }
      var At = At !== void 0 ? At : typeof self < "u" ? self : typeof window < "u" ? window : {};
      At.connect = At.connect || {};
      var Mt = connect.WebSocketManager;
      (() => {
        var M = { 975: (D, G, re) => {
          var ie;
          (function() {
            var le = { not_string: /[^s]/, not_bool: /[^t]/, not_type: /[^T]/, not_primitive: /[^v]/, number: /[diefg]/, numeric_arg: /[bcdiefguxX]/, json: /[j]/, not_json: /[^j]/, text: /^[^\x25]+/, modulo: /^\x25{2}/, placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, key: /^([a-z_][a-z_\d]*)/i, key_access: /^\.([a-z_][a-z_\d]*)/i, index_access: /^\[(\d+)\]/, sign: /^[+-]/ };
            function Se(Ze) {
              return function(ut, Re) {
                var Ce, ht, xt, He, Nt, vt, kn, lt, Bt, jn = 1, Pt = ut.length, $t = "";
                for (ht = 0; ht < Pt; ht++)
                  if (typeof ut[ht] == "string")
                    $t += ut[ht];
                  else if (typeof ut[ht] == "object") {
                    if ((He = ut[ht]).keys)
                      for (Ce = Re[jn], xt = 0; xt < He.keys.length; xt++) {
                        if (Ce == null)
                          throw new Error(Se('[sprintf] Cannot access property "%s" of undefined value "%s"', He.keys[xt], He.keys[xt - 1]));
                        Ce = Ce[He.keys[xt]];
                      }
                    else
                      Ce = He.param_no ? Re[He.param_no] : Re[jn++];
                    if (le.not_type.test(He.type) && le.not_primitive.test(He.type) && Ce instanceof Function && (Ce = Ce()), le.numeric_arg.test(He.type) && typeof Ce != "number" && isNaN(Ce))
                      throw new TypeError(Se("[sprintf] expecting number but found %T", Ce));
                    switch (le.number.test(He.type) && (lt = Ce >= 0), He.type) {
                      case "b":
                        Ce = parseInt(Ce, 10).toString(2);
                        break;
                      case "c":
                        Ce = String.fromCharCode(parseInt(Ce, 10));
                        break;
                      case "d":
                      case "i":
                        Ce = parseInt(Ce, 10);
                        break;
                      case "j":
                        Ce = JSON.stringify(Ce, null, He.width ? parseInt(He.width) : 0);
                        break;
                      case "e":
                        Ce = He.precision ? parseFloat(Ce).toExponential(He.precision) : parseFloat(Ce).toExponential();
                        break;
                      case "f":
                        Ce = He.precision ? parseFloat(Ce).toFixed(He.precision) : parseFloat(Ce);
                        break;
                      case "g":
                        Ce = He.precision ? String(Number(Ce.toPrecision(He.precision))) : parseFloat(Ce);
                        break;
                      case "o":
                        Ce = (parseInt(Ce, 10) >>> 0).toString(8);
                        break;
                      case "s":
                        Ce = String(Ce), Ce = He.precision ? Ce.substring(0, He.precision) : Ce;
                        break;
                      case "t":
                        Ce = String(!!Ce), Ce = He.precision ? Ce.substring(0, He.precision) : Ce;
                        break;
                      case "T":
                        Ce = Object.prototype.toString.call(Ce).slice(8, -1).toLowerCase(), Ce = He.precision ? Ce.substring(0, He.precision) : Ce;
                        break;
                      case "u":
                        Ce = parseInt(Ce, 10) >>> 0;
                        break;
                      case "v":
                        Ce = Ce.valueOf(), Ce = He.precision ? Ce.substring(0, He.precision) : Ce;
                        break;
                      case "x":
                        Ce = (parseInt(Ce, 10) >>> 0).toString(16);
                        break;
                      case "X":
                        Ce = (parseInt(Ce, 10) >>> 0).toString(16).toUpperCase();
                    }
                    le.json.test(He.type) ? $t += Ce : (!le.number.test(He.type) || lt && !He.sign ? Bt = "" : (Bt = lt ? "+" : "-", Ce = Ce.toString().replace(le.sign, "")), vt = He.pad_char ? He.pad_char === "0" ? "0" : He.pad_char.charAt(1) : " ", kn = He.width - (Bt + Ce).length, Nt = He.width && kn > 0 ? vt.repeat(kn) : "", $t += He.align ? Bt + Ce + Nt : vt === "0" ? Bt + Nt + Ce : Nt + Bt + Ce);
                  }
                return $t;
              }(function(ut) {
                if (rt[ut])
                  return rt[ut];
                for (var Re, Ce = ut, ht = [], xt = 0; Ce; ) {
                  if ((Re = le.text.exec(Ce)) !== null)
                    ht.push(Re[0]);
                  else if ((Re = le.modulo.exec(Ce)) !== null)
                    ht.push("%");
                  else {
                    if ((Re = le.placeholder.exec(Ce)) === null)
                      throw new SyntaxError("[sprintf] unexpected placeholder");
                    if (Re[2]) {
                      xt |= 1;
                      var He = [], Nt = Re[2], vt = [];
                      if ((vt = le.key.exec(Nt)) === null)
                        throw new SyntaxError("[sprintf] failed to parse named argument key");
                      for (He.push(vt[1]); (Nt = Nt.substring(vt[0].length)) !== ""; )
                        if ((vt = le.key_access.exec(Nt)) !== null)
                          He.push(vt[1]);
                        else {
                          if ((vt = le.index_access.exec(Nt)) === null)
                            throw new SyntaxError("[sprintf] failed to parse named argument key");
                          He.push(vt[1]);
                        }
                      Re[2] = He;
                    } else
                      xt |= 2;
                    if (xt === 3)
                      throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
                    ht.push({ placeholder: Re[0], param_no: Re[1], keys: Re[2], sign: Re[3], pad_char: Re[4], align: Re[5], width: Re[6], precision: Re[7], type: Re[8] });
                  }
                  Ce = Ce.substring(Re[0].length);
                }
                return rt[ut] = ht;
              }(Ze), arguments);
            }
            function We(Ze, ut) {
              return Se.apply(null, [Ze].concat(ut || []));
            }
            var rt = /* @__PURE__ */ Object.create(null);
            G.sprintf = Se, G.vsprintf = We, typeof window < "u" && (window.sprintf = Se, window.vsprintf = We, (ie = function() {
              return { sprintf: Se, vsprintf: We };
            }.call(G, re, G, D)) === void 0 || (D.exports = ie));
          })();
        } }, y = {};
        function I(D) {
          var G = y[D];
          if (G !== void 0)
            return G.exports;
          var re = y[D] = { exports: {} };
          return M[D](re, re.exports, I), re.exports;
        }
        (() => {
          function D($) {
            return (D = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(we) {
              return typeof we;
            } : function(we) {
              return we && typeof Symbol == "function" && we.constructor === Symbol && we !== Symbol.prototype ? "symbol" : typeof we;
            })($);
          }
          var G = I(975), re = "AMZ_WEB_SOCKET_MANAGER:", ie = "aws/subscribe", le = "aws/heartbeat", Se = "aws/ping", We = "disconnected", rt = { assertTrue: function($, we) {
            if (!$)
              throw new Error(we);
          }, assertNotNull: function($, we) {
            return rt.assertTrue($ !== null && D($) !== void 0, (0, G.sprintf)("%s must be provided", we || "A value")), $;
          }, isNonEmptyString: function($) {
            return typeof $ == "string" && $.length > 0;
          }, assertIsList: function($, we) {
            if (!Array.isArray($))
              throw new Error(we + " is not an array");
          }, isFunction: function($) {
            return !!($ && $.constructor && $.call && $.apply);
          }, isObject: function($) {
            return !(D($) !== "object" || $ === null);
          }, isString: function($) {
            return typeof $ == "string";
          }, isNumber: function($) {
            return typeof $ == "number";
          } }, Ze = new RegExp("^(wss://)\\w*"), ut = new RegExp("^(ws://127.0.0.1:)");
          rt.validWSUrl = function($) {
            return Ze.test($) || ut.test($);
          }, rt.getSubscriptionResponse = function($, we, fe) {
            return { topic: $, content: { status: we ? "success" : "failure", topics: fe } };
          }, rt.assertIsObject = function($, we) {
            if (!rt.isObject($))
              throw new Error(we + " is not an object!");
          }, rt.addJitter = function($) {
            var we = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
            we = Math.min(we, 1);
            var fe = Math.random() > 0.5 ? 1 : -1;
            return Math.floor($ + fe * $ * Math.random() * we);
          }, rt.isNetworkOnline = function() {
            return navigator.onLine;
          }, rt.isNetworkFailure = function($) {
            return !(!$._debug || !$._debug.type) && $._debug.type === "NetworkingError";
          };
          var Re = rt;
          function Ce($, we) {
            return Ce = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(fe, ue) {
              return fe.__proto__ = ue, fe;
            }, Ce($, we);
          }
          function ht($) {
            return ht = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(we) {
              return we.__proto__ || Object.getPrototypeOf(we);
            }, ht($);
          }
          function xt($, we, fe) {
            return we in $ ? Object.defineProperty($, we, { value: fe, enumerable: !0, configurable: !0, writable: !0 }) : $[we] = fe, $;
          }
          function He($, we) {
            if (!($ instanceof we))
              throw new TypeError("Cannot call a class as a function");
          }
          function Nt($, we) {
            for (var fe = 0; fe < we.length; fe++) {
              var ue = we[fe];
              ue.enumerable = ue.enumerable || !1, ue.configurable = !0, "value" in ue && (ue.writable = !0), Object.defineProperty($, ue.key, ue);
            }
          }
          function vt($, we, fe) {
            return we && Nt($.prototype, we), Object.defineProperty($, "prototype", { writable: !1 }), $;
          }
          function kn($) {
            var we = function() {
              if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham)
                return !1;
              if (typeof Proxy == "function")
                return !0;
              try {
                return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
                })), !0;
              } catch {
                return !1;
              }
            }();
            return function() {
              var fe, ue = ht($);
              if (we) {
                var De = ht(this).constructor;
                fe = Reflect.construct(ue, arguments, De);
              } else
                fe = ue.apply(this, arguments);
              return function(Pe, mt) {
                if (mt && (D(mt) === "object" || typeof mt == "function"))
                  return mt;
                if (mt !== void 0)
                  throw new TypeError("Derived constructors may only return object or undefined");
                return function(Ve) {
                  if (Ve === void 0)
                    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
                  return Ve;
                }(Pe);
              }(this, fe);
            };
          }
          function lt($, we) {
            var fe = Object.keys($);
            if (Object.getOwnPropertySymbols) {
              var ue = Object.getOwnPropertySymbols($);
              we && (ue = ue.filter(function(De) {
                return Object.getOwnPropertyDescriptor($, De).enumerable;
              })), fe.push.apply(fe, ue);
            }
            return fe;
          }
          var Bt = function() {
            function $() {
              He(this, $);
            }
            return vt($, [{ key: "debug", value: function(we) {
            } }, { key: "info", value: function(we) {
            } }, { key: "warn", value: function(we) {
            } }, { key: "error", value: function(we) {
            } }, { key: "advancedLog", value: function(we) {
            } }]), $;
          }(), jn = re, Pt = { DEBUG: 10, INFO: 20, WARN: 30, ERROR: 40, ADVANCED_LOG: 50 }, $t = function() {
            function $(we) {
              He(this, $), this.logMetaData = we || "", this.updateLoggerConfig();
            }
            return vt($, [{ key: "hasLogMetaData", value: function() {
              return !!this.logMetaData;
            } }, { key: "writeToClientLogger", value: function(we) {
              var fe = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
              if (this.hasClientLogger()) {
                var ue = typeof fe == "string" ? fe : JSON.stringify(fe, kr()), De = typeof this.logMetaData == "string" ? this.logMetaData : JSON.stringify(this.logMetaData, kr()), Pe = "".concat(function(mt) {
                  switch (mt) {
                    case 10:
                      return "DEBUG";
                    case 20:
                      return "INFO";
                    case 30:
                      return "WARN";
                    case 40:
                      return "ERROR";
                    case 50:
                      return "ADVANCED_LOG";
                  }
                }(we), " ").concat(ue);
                switch (De && (Pe += " ".concat(De)), we) {
                  case Pt.DEBUG:
                    return this._clientLogger.debug(Pe) || Pe;
                  case Pt.INFO:
                    return this._clientLogger.info(Pe) || Pe;
                  case Pt.WARN:
                    return this._clientLogger.warn(Pe) || Pe;
                  case Pt.ERROR:
                    return this._clientLogger.error(Pe) || Pe;
                  case Pt.ADVANCED_LOG:
                    return this._advancedLogWriter ? this._clientLogger[this._advancedLogWriter](Pe) || Pe : "";
                }
              }
            } }, { key: "isLevelEnabled", value: function(we) {
              return we >= this._level;
            } }, { key: "hasClientLogger", value: function() {
              return this._clientLogger !== null;
            } }, { key: "getLogger", value: function() {
              var we = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, fe = we.prefix || jn;
              return we.logMetaData && this.setLogMetaData(we.logMetaData), new no(this, function(ue) {
                for (var De = 1; De < arguments.length; De++) {
                  var Pe = arguments[De] != null ? arguments[De] : {};
                  De % 2 ? lt(Object(Pe), !0).forEach(function(mt) {
                    xt(ue, mt, Pe[mt]);
                  }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(ue, Object.getOwnPropertyDescriptors(Pe)) : lt(Object(Pe)).forEach(function(mt) {
                    Object.defineProperty(ue, mt, Object.getOwnPropertyDescriptor(Pe, mt));
                  });
                }
                return ue;
              }({ prefix: fe, logMetaData: this.logMetaData }, we));
            } }, { key: "setLogMetaData", value: function(we) {
              this.logMetaData = we;
            } }, { key: "updateLoggerConfig", value: function(we) {
              var fe = we || {};
              this._level = fe.level || Pt.INFO, this._advancedLogWriter = "warn", fe.advancedLogWriter && (this._advancedLogWriter = fe.advancedLogWriter), fe.customizedLogger && D(fe.customizedLogger) === "object" ? this.useClientLogger = !0 : this.useClientLogger = !1, this._clientLogger = fe.logger || this.selectLogger(fe), this._logsDestination = "NULL", fe.debug && (this._logsDestination = "DEBUG"), fe.logger && (this._logsDestination = "CLIENT_LOGGER");
            } }, { key: "selectLogger", value: function(we) {
              return we.customizedLogger && D(we.customizedLogger) === "object" ? we.customizedLogger : we.useDefaultLogger ? hn() : null;
            } }]), $;
          }(), to = function() {
            function $() {
              He(this, $);
            }
            return vt($, [{ key: "debug", value: function() {
            } }, { key: "info", value: function() {
            } }, { key: "warn", value: function() {
            } }, { key: "error", value: function() {
            } }, { key: "advancedLog", value: function() {
            } }]), $;
          }(), no = function($) {
            (function(ue, De) {
              if (typeof De != "function" && De !== null)
                throw new TypeError("Super expression must either be null or a function");
              ue.prototype = Object.create(De && De.prototype, { constructor: { value: ue, writable: !0, configurable: !0 } }), Object.defineProperty(ue, "prototype", { writable: !1 }), De && Ce(ue, De);
            })(fe, $);
            var we = kn(fe);
            function fe(ue, De) {
              var Pe;
              return He(this, fe), (Pe = we.call(this)).options = De || {}, Pe.prefix = De.prefix || jn, Pe.excludeTimestamp = De.excludeTimestamp, Pe.logManager = ue, Pe;
            }
            return vt(fe, [{ key: "debug", value: function() {
              for (var ue = arguments.length, De = new Array(ue), Pe = 0; Pe < ue; Pe++)
                De[Pe] = arguments[Pe];
              return this._log(Pt.DEBUG, De);
            } }, { key: "info", value: function() {
              for (var ue = arguments.length, De = new Array(ue), Pe = 0; Pe < ue; Pe++)
                De[Pe] = arguments[Pe];
              return this._log(Pt.INFO, De);
            } }, { key: "warn", value: function() {
              for (var ue = arguments.length, De = new Array(ue), Pe = 0; Pe < ue; Pe++)
                De[Pe] = arguments[Pe];
              return this._log(Pt.WARN, De);
            } }, { key: "error", value: function() {
              for (var ue = arguments.length, De = new Array(ue), Pe = 0; Pe < ue; Pe++)
                De[Pe] = arguments[Pe];
              return this._log(Pt.ERROR, De);
            } }, { key: "advancedLog", value: function() {
              for (var ue = arguments.length, De = new Array(ue), Pe = 0; Pe < ue; Pe++)
                De[Pe] = arguments[Pe];
              return this._log(Pt.ADVANCED_LOG, De);
            } }, { key: "_shouldLog", value: function(ue) {
              return this.logManager.hasClientLogger() && this.logManager.isLevelEnabled(ue);
            } }, { key: "_writeToClientLogger", value: function(ue, De) {
              return this.logManager.writeToClientLogger(ue, De);
            } }, { key: "_log", value: function(ue, De) {
              if (this._shouldLog(ue)) {
                var Pe = this.logManager.useClientLogger ? De : this._convertToSingleStatement(De);
                return this._writeToClientLogger(ue, Pe);
              }
            } }, { key: "_convertToSingleStatement", value: function(ue) {
              var De = new Date(Date.now()).toISOString(), Pe = this.excludeTimestamp ? "" : "[".concat(De, "] ");
              (this.prefix || this.options.prefix) && (Pe += (this.options.prefix || this.prefix) + ":");
              for (var mt = 0; mt < ue.length; mt++) {
                var Ve = ue[mt];
                Pe += this._convertToString(Ve) + " ";
              }
              return Pe;
            } }, { key: "_convertToString", value: function(ue) {
              try {
                if (!ue)
                  return "";
                if (Re.isString(ue))
                  return ue;
                if (Re.isObject(ue) && Re.isFunction(ue.toString)) {
                  var De = ue.toString();
                  if (!De.startsWith("[object"))
                    return De;
                }
                return JSON.stringify(ue);
              } catch (Pe) {
                return console.error("Error while converting argument to string", ue, Pe), "";
              }
            } }]), fe;
          }(to);
          function kr() {
            var $ = /* @__PURE__ */ new WeakSet();
            return function(we, fe) {
              if (D(fe) === "object" && fe !== null) {
                if ($.has(fe))
                  return;
                $.add(fe);
              }
              return fe;
            };
          }
          var hn = function() {
            var $ = new to();
            return $.debug = function() {
              for (var we = arguments.length, fe = new Array(we), ue = 0; ue < we; ue++)
                fe[ue] = arguments[ue];
              return console.debug.apply(window.console, [].concat(fe));
            }, $.info = function() {
              for (var we = arguments.length, fe = new Array(we), ue = 0; ue < we; ue++)
                fe[ue] = arguments[ue];
              return console.info.apply(window.console, [].concat(fe));
            }, $.warn = function() {
              for (var we = arguments.length, fe = new Array(we), ue = 0; ue < we; ue++)
                fe[ue] = arguments[ue];
              return console.warn.apply(window.console, [].concat(fe));
            }, $.error = function() {
              for (var we = arguments.length, fe = new Array(we), ue = 0; ue < we; ue++)
                fe[ue] = arguments[ue];
              return console.error.apply(window.console, [].concat(fe));
            }, $;
          }, is = function() {
            function $(we) {
              var fe = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 2e3;
              He(this, $), this.numAttempts = 0, this.executor = we, this.hasActiveReconnection = !1, this.defaultRetry = fe;
            }
            return vt($, [{ key: "retry", value: function() {
              var we = this;
              this.hasActiveReconnection || (this.hasActiveReconnection = !0, setTimeout(function() {
                we._execute();
              }, this._getDelay()));
            } }, { key: "_execute", value: function() {
              this.hasActiveReconnection = !1, this.executor(), this.numAttempts++;
            } }, { key: "connected", value: function() {
              this.numAttempts = 0;
            } }, { key: "_getDelay", value: function() {
              var we = Math.pow(2, this.numAttempts) * this.defaultRetry;
              return we <= 3e4 ? we : 3e4;
            } }, { key: "getIsConnected", value: function() {
              return !this.numAttempts;
            } }]), $;
          }(), Ot = null, os = function() {
            var $ = Ot.getLogger({ prefix: re, excludeTimestamp: !0 }), we = Re.isNetworkOnline(), fe = { primary: null, secondary: null }, ue = { reconnectWebSocket: !0, websocketInitFailed: !1, exponentialBackOffTime: 1e3, exponentialTimeoutHandle: null, lifeTimeTimeoutHandle: null, webSocketInitCheckerTimeoutId: null, connState: null }, De = { connectWebSocketRetryCount: 0, connectionAttemptStartTime: null, noOpenConnectionsTimestamp: null }, Pe = { pendingResponse: !1, intervalHandle: null }, mt = { pendingResponse: !1, intervalHandle: null }, Ve = { initFailure: /* @__PURE__ */ new Set(), getWebSocketTransport: null, subscriptionUpdate: /* @__PURE__ */ new Set(), subscriptionFailure: /* @__PURE__ */ new Set(), topic: /* @__PURE__ */ new Map(), allMessage: /* @__PURE__ */ new Set(), connectionGain: /* @__PURE__ */ new Set(), connectionLost: /* @__PURE__ */ new Set(), connectionOpen: /* @__PURE__ */ new Set(), connectionClose: /* @__PURE__ */ new Set(), deepHeartbeatSuccess: /* @__PURE__ */ new Set(), deepHeartbeatFailure: /* @__PURE__ */ new Set(), topicFailure: /* @__PURE__ */ new Set() }, Qt = { connConfig: null, promiseHandle: null, promiseCompleted: !0 }, It = { subscribed: /* @__PURE__ */ new Set(), pending: /* @__PURE__ */ new Set(), subscriptionHistory: /* @__PURE__ */ new Set() }, yt = { responseCheckIntervalId: null, requestCompleted: !0, reSubscribeIntervalId: null, consecutiveFailedSubscribeAttempts: 0, consecutiveNoResponseRequest: 0 }, Tr = new is(function() {
              In().catch(function() {
              });
            }), Ei = /* @__PURE__ */ new Set([ie, "aws/unsubscribe", le, Se]), dt = setInterval(function() {
              if (we !== Re.isNetworkOnline()) {
                if (!(we = Re.isNetworkOnline()))
                  return void Le($.advancedLog("Network offline"));
                var te = _n();
                we && (!te || Tn(te, WebSocket.CLOSING) || Tn(te, WebSocket.CLOSED)) && (Le($.advancedLog("Network online, connecting to WebSocket server")), In().catch(function() {
                }));
              }
            }, 250), Ft = function(te, $e) {
              te.forEach(function(wt) {
                try {
                  wt($e);
                } catch (Wn) {
                  Le($.error("Error executing callback", Wn));
                }
              });
            }, Gr = function(te) {
              if (te === null)
                return "NULL";
              switch (te.readyState) {
                case WebSocket.CONNECTING:
                  return "CONNECTING";
                case WebSocket.OPEN:
                  return "OPEN";
                case WebSocket.CLOSING:
                  return "CLOSING";
                case WebSocket.CLOSED:
                  return "CLOSED";
                default:
                  return "UNDEFINED";
              }
            }, Un = function() {
              var te = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
              Le($.debug("[" + te + "] Primary WebSocket: " + Gr(fe.primary) + " | Secondary WebSocket: " + Gr(fe.secondary)));
            }, Tn = function(te, $e) {
              return te && te.readyState === $e;
            }, en = function(te) {
              return Tn(te, WebSocket.OPEN);
            }, Kr = function(te) {
              return te === null || te.readyState === void 0 || Tn(te, WebSocket.CLOSED);
            }, _n = function() {
              return fe.secondary !== null ? fe.secondary : fe.primary;
            }, Xn = function() {
              return en(_n());
            }, mn = function() {
              if (mt.pendingResponse && (Le($.debug("aws/ping deep heartbeat response not received")), Ft(Ve.deepHeartbeatFailure, { timestamp: Date.now(), error: "aws/ping response is not received" }), clearInterval(mt.intervalHandle), mt.pendingResponse = !1), Pe.pendingResponse)
                return Le($.warn("Heartbeat response not received")), clearInterval(Pe.intervalHandle), Pe.intervalHandle = null, Pe.pendingResponse = !1, void In().catch(function() {
                });
              Xn() ? (Le($.debug("Sending aws/ping deep heartbeat")), _n().send(or(Se)), mt.pendingResponse = !0, Le($.debug("Sending heartbeat")), _n().send(or(le)), Pe.pendingResponse = !0) : (Le($.debug("Failed to send aws/ping deep heartbeat since WebSocket is not open")), Ft(Ve.deepHeartbeatFailure, { timestamp: Date.now(), error: "Unable to send message to aws/ping because websocket connection is not established." }), Le($.warn("Failed to send heartbeat since WebSocket is not open")), Un("sendHeartBeat"), In().catch(function() {
              }));
            }, un = function() {
              Le($.advancedLog("Reset Websocket state")), ue.exponentialBackOffTime = 1e3, Pe.pendingResponse = !1, mt.pendingResponse = !1, ue.reconnectWebSocket = !0, clearTimeout(ue.lifeTimeTimeoutHandle), clearInterval(Pe.intervalHandle), clearInterval(mt.intervalHandle), clearTimeout(ue.exponentialTimeoutHandle), clearTimeout(ue.webSocketInitCheckerTimeoutId), Pe.intervalHandle = null;
            }, xn = function() {
              yt.consecutiveFailedSubscribeAttempts = 0, yt.consecutiveNoResponseRequest = 0, clearInterval(yt.responseCheckIntervalId), clearInterval(yt.reSubscribeIntervalId);
            }, ir = function() {
              De.connectWebSocketRetryCount = 0, De.connectionAttemptStartTime = null, De.noOpenConnectionsTimestamp = null;
            }, _r = function() {
              Tr.connected();
              try {
                Le($.advancedLog("WebSocket connection established!")), Un("webSocketOnOpen"), ue.connState !== null && ue.connState !== We || Ft(Ve.connectionGain), ue.connState = "connected";
                var te = Date.now();
                Ft(Ve.connectionOpen, { connectWebSocketRetryCount: De.connectWebSocketRetryCount, connectionAttemptStartTime: De.connectionAttemptStartTime, noOpenConnectionsTimestamp: De.noOpenConnectionsTimestamp, connectionEstablishedTime: te, timeToConnect: te - De.connectionAttemptStartTime, timeWithoutConnection: De.noOpenConnectionsTimestamp ? te - De.noOpenConnectionsTimestamp : null }), ir(), un(), _n().openTimestamp = Date.now(), It.subscribed.size === 0 && en(fe.secondary) && zn(fe.primary, "[Primary WebSocket] Closing WebSocket"), (It.subscribed.size > 0 || It.pending.size > 0) && (en(fe.secondary) && Le($.info("Subscribing secondary websocket to topics of primary websocket")), It.subscribed.forEach(function(wt) {
                  It.subscriptionHistory.add(wt), It.pending.add(wt);
                }), It.subscribed.clear(), xr()), mn(), Pe.intervalHandle !== null && clearInterval(Pe.intervalHandle), Pe.intervalHandle = setInterval(mn, 1e4);
                var $e = 1e3 * Qt.connConfig.webSocketTransport.transportLifeTimeInSeconds;
                Le($.debug("Scheduling WebSocket manager reconnection, after delay " + $e + " ms")), ue.lifeTimeTimeoutHandle = setTimeout(function() {
                  Le($.debug("Starting scheduled WebSocket manager reconnection")), In().catch(function() {
                  });
                }, $e);
              } catch (wt) {
                Le($.error("Error after establishing WebSocket connection", wt));
              }
            }, Fn = function(te) {
              Un("webSocketOnError"), Le($.advancedLog("WebSocketManager Error, error_event: ", JSON.stringify(te))), Tr.getIsConnected() ? In().catch(function() {
              }) : Tr.retry();
            }, as = function(te) {
              if (te.data !== void 0 && te.data !== "") {
                var $e = JSON.parse(te.data);
                switch ($e.topic) {
                  case ie:
                    if (Le($.debug("Subscription Message received from webSocket server")), yt.requestCompleted = !0, yt.consecutiveNoResponseRequest = 0, $e.content.status === "success")
                      yt.consecutiveFailedSubscribeAttempts = 0, $e.content.topics.forEach(function(wt) {
                        It.subscriptionHistory.delete(wt), It.pending.delete(wt), It.subscribed.add(wt);
                      }), It.subscriptionHistory.size === 0 ? en(fe.secondary) && (Le($.debug("Successfully subscribed secondary websocket to all topics of primary websocket")), zn(fe.primary, "[Primary WebSocket] Closing WebSocket")) : xr(), Ft(Ve.subscriptionUpdate, $e);
                    else {
                      if (clearInterval(yt.reSubscribeIntervalId), ++yt.consecutiveFailedSubscribeAttempts, yt.consecutiveFailedSubscribeAttempts === 5)
                        return Ft(Ve.subscriptionFailure, $e), void (yt.consecutiveFailedSubscribeAttempts = 0);
                      yt.reSubscribeIntervalId = setInterval(function() {
                        xr();
                      }, 500);
                    }
                    break;
                  case le:
                    Le($.debug("Heartbeat response received")), Pe.pendingResponse = !1, Pe.intervalHandle === null && (Pe.intervalHandle = setInterval(mn, 1e4));
                    break;
                  case Se:
                    Le($.debug("aws/ping deep heartbeat received")), mt.pendingResponse = !1, $e.statusCode === 200 ? Ft(Ve.deepHeartbeatSuccess, { timestamp: Date.now() }) : Ft(Ve.deepHeartbeatFailure, { timestamp: Date.now(), statusCode: $e.statusCode, statusContent: $e.statusContent });
                    break;
                  default:
                    if ($e.topic) {
                      if (Le($.advancedLog("Message received for topic ", $e.topic)), en(fe.primary) && en(fe.secondary) && It.subscriptionHistory.size === 0 && this === fe.primary)
                        return void Le($.warn("Ignoring Message for Topic " + $e.topic + ", to avoid duplicates"));
                      if (Ve.allMessage.size === 0 && Ve.topic.size === 0)
                        return void Le($.warn("No registered callback listener for Topic", $e.topic));
                      Le($.advancedLog("WebsocketManager invoke callbacks for topic success ", $e.topic)), Ft(Ve.allMessage, $e), Ve.topic.has($e.topic) && Ft(Ve.topic.get($e.topic), $e);
                    } else
                      $e.message ? (Le($.advancedLog("WebSocketManager Message Error", $e)), Ft(Ve.topicFailure, { timestamp: Date.now(), errorMessage: $e.message, connectionId: $e.connectionId, requestId: $e.requestId })) : Le($.advancedLog("Invalid incoming message", $e));
                }
              } else
                Le($.warn("An empty message has been received on Websocket. Ignoring"));
            }, xr = function te() {
              if (yt.consecutiveNoResponseRequest > 3)
                return Le($.warn("Ignoring subscribePendingTopics since we have exhausted max subscription retries with no response")), void Ft(Ve.subscriptionFailure, Re.getSubscriptionResponse(ie, !1, Array.from(It.pending)));
              Xn() ? Array.from(It.pending).length !== 0 && (clearInterval(yt.responseCheckIntervalId), _n().send(or(ie, { topics: Array.from(It.pending) })), yt.requestCompleted = !1, yt.responseCheckIntervalId = setInterval(function() {
                yt.requestCompleted || (++yt.consecutiveNoResponseRequest, te());
              }, 1e3)) : Le($.warn("Ignoring subscribePendingTopics call since Default WebSocket is not open"));
            }, zn = function(te, $e) {
              Tn(te, WebSocket.CONNECTING) || Tn(te, WebSocket.OPEN) ? te.close(1e3, $e) : Le($.warn("Ignoring WebSocket Close request, WebSocket State: " + Gr(te)));
            }, ro = function(te) {
              zn(fe.primary, "[Primary] WebSocket " + te), zn(fe.secondary, "[Secondary] WebSocket " + te);
            }, Ir = function(te) {
              un(), xn(), Le($.advancedLog("WebSocket Initialization failed - Terminating and cleaning subscriptions", te)), ue.websocketInitFailed = !0, ro("Terminating WebSocket Manager"), clearInterval(dt), Ft(Ve.initFailure, { connectWebSocketRetryCount: De.connectWebSocketRetryCount, connectionAttemptStartTime: De.connectionAttemptStartTime, reason: te }), ir();
            }, or = function(te, $e) {
              return JSON.stringify({ topic: te, content: $e });
            }, Ci = function(te) {
              return !!(Re.isObject(te) && Re.isObject(te.webSocketTransport) && Re.isNonEmptyString(te.webSocketTransport.url) && Re.validWSUrl(te.webSocketTransport.url) && 1e3 * te.webSocketTransport.transportLifeTimeInSeconds >= 3e5) || (Le($.error("Invalid WebSocket Connection Configuration", te)), !1);
            }, In = function() {
              return Re.isNetworkOnline() ? ue.websocketInitFailed ? (Le($.debug("WebSocket Init had failed, ignoring this getWebSocketConnConfig request")), Promise.resolve({ webSocketConnectionFailed: !0 })) : Qt.promiseCompleted ? (un(), Le($.advancedLog("Fetching new WebSocket connection configuration")), De.connectionAttemptStartTime = De.connectionAttemptStartTime || Date.now(), Qt.promiseCompleted = !1, Qt.promiseHandle = Ve.getWebSocketTransport(), Qt.promiseHandle.then(function(te) {
                return Qt.promiseCompleted = !0, Le($.advancedLog("Successfully fetched webSocket connection configuration")), Ci(te) ? (Qt.connConfig = te, Qt.connConfig.urlConnValidTime = Date.now() + 85e3, Rr()) : (Ir("Invalid WebSocket connection configuration: " + te), { webSocketConnectionFailed: !0 });
              }, function(te) {
                return Qt.promiseCompleted = !0, Le($.advancedLog("Failed to fetch webSocket connection configuration", te)), Re.isNetworkFailure(te) ? (Le($.advancedLog("Retrying fetching new WebSocket connection configuration", te)), Tr.retry()) : Ir("Failed to fetch webSocket connection configuration: " + JSON.stringify(te)), { webSocketConnectionFailed: !0 };
              })) : (Le($.debug("There is an ongoing getWebSocketConnConfig request, this request will be ignored")), Promise.resolve({ webSocketConnectionFailed: !0 })) : (Le($.advancedLog("Network offline, ignoring this getWebSocketConnConfig request")), Promise.resolve({ webSocketConnectionFailed: !0 }));
            }, Rr = function te() {
              if (ue.websocketInitFailed)
                return Le($.info("web-socket initializing had failed, aborting re-init")), { webSocketConnectionFailed: !0 };
              if (!Re.isNetworkOnline())
                return Le($.warn("System is offline aborting web-socket init")), { webSocketConnectionFailed: !0 };
              Le($.advancedLog("Initializing Websocket Manager")), Un("initWebSocket");
              try {
                if (Ci(Qt.connConfig)) {
                  var $e = null;
                  return en(fe.primary) ? (Le($.debug("Primary Socket connection is already open")), Tn(fe.secondary, WebSocket.CONNECTING) || (Le($.debug("Establishing a secondary web-socket connection")), Tr.numAttempts = 0, fe.secondary = sr()), $e = fe.secondary) : (Tn(fe.primary, WebSocket.CONNECTING) || (Le($.debug("Establishing a primary web-socket connection")), fe.primary = sr()), $e = fe.primary), ue.webSocketInitCheckerTimeoutId = setTimeout(function() {
                    en($e) || function() {
                      De.connectWebSocketRetryCount++;
                      var wt = Re.addJitter(ue.exponentialBackOffTime, 0.3);
                      Date.now() + wt <= Qt.connConfig.urlConnValidTime ? (Le($.advancedLog("Scheduling WebSocket reinitialization, after delay " + wt + " ms")), ue.exponentialTimeoutHandle = setTimeout(function() {
                        return te();
                      }, wt), ue.exponentialBackOffTime *= 2) : (Le($.advancedLog("WebSocket URL cannot be used to establish connection")), In().catch(function() {
                      }));
                    }();
                  }, 1e3), { webSocketConnectionFailed: !1 };
                }
              } catch (wt) {
                return Le($.error("Error Initializing web-socket-manager", wt)), Ir("Failed to initialize new WebSocket: " + wt.message), { webSocketConnectionFailed: !0 };
              }
            }, sr = function() {
              var te = new WebSocket(Qt.connConfig.webSocketTransport.url);
              return te.addEventListener("open", _r), te.addEventListener("message", as), te.addEventListener("error", Fn), te.addEventListener("close", function($e) {
                return function(wt, Wn) {
                  var gn = { openTimestamp: Wn.openTimestamp, closeTimestamp: Date.now(), connectionDuration: Date.now() - Wn.openTimestamp, code: wt.code, reason: wt.reason, wasClean: wt.wasClean }, Si = "Close Code: ".concat(gn.code, " - Reason: ").concat(gn.reason, " - WasClean: ").concat(gn.wasClean), io = "OpenTimestamp: ".concat(gn.openTimestamp, " - CloseTimestamp: ").concat(gn.closeTimestamp, " - ConnectionDuration: ").concat(gn.connectionDuration);
                  Le($.advancedLog("WebSocket connection is closed. ", Si)), Le($.advancedLog("Closed WebSocket connection duration: ", io)), Un("webSocketOnClose before-cleanup"), Ft(Ve.connectionClose, gn), Kr(fe.primary) && (fe.primary = null), Kr(fe.secondary) && (fe.secondary = null), ue.reconnectWebSocket && (en(fe.primary) || en(fe.secondary) ? Kr(fe.primary) && en(fe.secondary) && (Le($.debug("[Primary] WebSocket Cleanly Closed")), fe.primary = fe.secondary, fe.secondary = null) : (Le($.warn("Neither primary websocket and nor secondary websocket have open connections, attempting to re-establish connection")), ue.connState === We ? Le($.info("Ignoring connectionLost callback invocation")) : (Ft(Ve.connectionLost, { openTimestamp: Wn.openTimestamp, closeTimestamp: Date.now(), connectionDuration: Date.now() - Wn.openTimestamp, code: wt.code, reason: wt.reason }), De.noOpenConnectionsTimestamp = Date.now()), ue.connState = We, In().catch(function() {
                  })), Un("webSocketOnClose after-cleanup"));
                }($e, te);
              }), te;
            }, Le = function(te) {
              return te && typeof te.sendInternalLogToServer == "function" && te.sendInternalLogToServer(), te;
            };
            this.init = function(te) {
              if (Re.assertTrue(Re.isFunction(te), "transportHandle must be a function"), Ve.getWebSocketTransport === null)
                return Ve.getWebSocketTransport = te, In();
              Le($.warn("Web Socket Manager was already initialized"));
            }, this.onInitFailure = function(te) {
              return Le($.advancedLog("Initializing Websocket Manager Failure callback registered")), Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.initFailure.add(te), ue.websocketInitFailed && te(), function() {
                return Ve.initFailure.delete(te);
              };
            }, this.onConnectionOpen = function(te) {
              return Le($.advancedLog("Websocket connection open callback registered")), Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.connectionOpen.add(te), function() {
                return Ve.connectionOpen.delete(te);
              };
            }, this.onConnectionClose = function(te) {
              return Le($.advancedLog("Websocket connection close callback registered")), Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.connectionClose.add(te), function() {
                return Ve.connectionClose.delete(te);
              };
            }, this.onConnectionGain = function(te) {
              return Le($.advancedLog("Websocket connection gain callback registered")), Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.connectionGain.add(te), Xn() && te(), function() {
                return Ve.connectionGain.delete(te);
              };
            }, this.onConnectionLost = function(te) {
              return Le($.advancedLog("Websocket connection lost callback registered")), Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.connectionLost.add(te), ue.connState === We && te(), function() {
                return Ve.connectionLost.delete(te);
              };
            }, this.onSubscriptionUpdate = function(te) {
              return Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.subscriptionUpdate.add(te), function() {
                return Ve.subscriptionUpdate.delete(te);
              };
            }, this.onSubscriptionFailure = function(te) {
              return Le($.advancedLog("Websocket subscription failure callback registered")), Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.subscriptionFailure.add(te), function() {
                return Ve.subscriptionFailure.delete(te);
              };
            }, this.onMessage = function(te, $e) {
              return Re.assertNotNull(te, "topicName"), Re.assertTrue(Re.isFunction($e), "cb must be a function"), Ve.topic.has(te) ? Ve.topic.get(te).add($e) : Ve.topic.set(te, /* @__PURE__ */ new Set([$e])), function() {
                return Ve.topic.get(te).delete($e);
              };
            }, this.onAllMessage = function(te) {
              return Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.allMessage.add(te), function() {
                return Ve.allMessage.delete(te);
              };
            }, this.subscribeTopics = function(te) {
              Re.assertNotNull(te, "topics"), Re.assertIsList(te), te.forEach(function($e) {
                It.subscribed.has($e) || It.pending.add($e);
              }), yt.consecutiveNoResponseRequest = 0, xr();
            }, this.sendMessage = function(te) {
              if (Re.assertIsObject(te, "payload"), te.topic === void 0 || Ei.has(te.topic))
                Le($.warn("Cannot send message, Invalid topic: " + te.topic));
              else {
                try {
                  te = JSON.stringify(te);
                } catch {
                  return void Le($.warn("Error stringify message", te));
                }
                Xn() ? _n().send(te) : Le($.warn("Cannot send message, web socket connection is not open"));
              }
            }, this.onDeepHeartbeatSuccess = function(te) {
              return Le($.advancedLog("Websocket deep heartbeat success callback registered")), Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.deepHeartbeatSuccess.add(te), function() {
                return Ve.deepHeartbeatSuccess.delete(te);
              };
            }, this.onDeepHeartbeatFailure = function(te) {
              return Le($.advancedLog("Websocket deep heartbeat failure callback registered")), Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.deepHeartbeatFailure.add(te), function() {
                return Ve.deepHeartbeatFailure.delete(te);
              };
            }, this.onTopicFailure = function(te) {
              return Le($.advancedLog("Websocket topic failure callback registered")), Re.assertTrue(Re.isFunction(te), "cb must be a function"), Ve.topicFailure.add(te), function() {
                return Ve.topicFailure.delete(te);
              };
            }, this.closeWebSocket = function() {
              un(), xn(), ue.reconnectWebSocket = !1, clearInterval(dt), ro("User request to close WebSocket");
            }, this.terminateWebSocketManager = Ir;
          }, ss = { create: function($) {
            return Ot || (Ot = new $t($)), Ot.hasLogMetaData() || Ot.setLogMetaData($), new os();
          }, setGlobalConfig: function($) {
            var we = $ && $.loggerConfig;
            Ot || (Ot = new $t()), Ot.updateLoggerConfig(we);
            var fe = $ && $.webSocketManagerConfig, ue = fe && fe.isNetworkOnline;
            ue && typeof ue == "function" && (Re.isNetworkOnline = ue);
          }, LogLevel: Pt, Logger: Bt };
          At.connect = At.connect || {}, connect.WebSocketManager = ss;
        })();
      })();
      var Ut = connect.WebSocketManager;
      connect.WebSocketManager = Mt || Ut;
      const Dn = Ut;
      class Tt extends A {
        constructor(y, I, D, G, re, ie) {
          super(D, re), this.customerConnection = !G, this.customerConnection ? (Tt.customerBaseInstances[y] || (Tt.customerBaseInstances[y] = new gi(D, void 0, re, ie)), this.baseInstance = Tt.customerBaseInstances[y]) : (Tt.agentBaseInstance && Tt.agentBaseInstance.getWebsocketManager() !== G && (Tt.agentBaseInstance.end(), Tt.agentBaseInstance = null), Tt.agentBaseInstance || (Tt.agentBaseInstance = new gi(void 0, G, re)), this.baseInstance = Tt.agentBaseInstance), this.contactId = y, this.initialContactId = I, this.status = null, this.eventBus = new ye(), this.subscriptions = [this.baseInstance.onEnded(this.handleEnded.bind(this)), this.baseInstance.onConnectionGain(this.handleConnectionGain.bind(this)), this.baseInstance.onConnectionLost(this.handleConnectionLost.bind(this)), this.baseInstance.onMessage(this.handleMessage.bind(this)), this.baseInstance.onDeepHeartbeatSuccess(this.handleDeepHeartbeatSuccess.bind(this)), this.baseInstance.onDeepHeartbeatFailure(this.handleDeepHeartbeatFailure.bind(this))];
        }
        start() {
          return super.start(), this.baseInstance.start();
        }
        end() {
          super.end(), this.eventBus.unsubscribeAll(), this.subscriptions.forEach((y) => y()), this.status = de, this.tryCleanup();
        }
        tryCleanup() {
          this.customerConnection && !this.baseInstance.hasMessageSubscribers() && (this.baseInstance.end(), delete Tt.customerBaseInstances[this.contactId]);
        }
        getStatus() {
          return this.status || this.baseInstance.getStatus();
        }
        onEnded(y) {
          return this.eventBus.subscribe(st, y);
        }
        handleEnded() {
          this.eventBus.trigger(st, {});
        }
        onConnectionGain(y) {
          return this.eventBus.subscribe(nt, y);
        }
        handleConnectionGain() {
          this.eventBus.trigger(nt, {});
        }
        onConnectionLost(y) {
          return this.eventBus.subscribe(Ge, y);
        }
        handleConnectionLost() {
          this.eventBus.trigger(Ge, {});
        }
        onDeepHeartbeatSuccess(y) {
          return this.eventBus.subscribe(S, y);
        }
        handleDeepHeartbeatSuccess() {
          this.eventBus.trigger(S, {});
        }
        onDeepHeartbeatFailure(y) {
          return this.eventBus.subscribe(T, y);
        }
        handleDeepHeartbeatFailure() {
          this.eventBus.trigger(T, {});
        }
        onMessage(y) {
          return this.eventBus.subscribe(at, y);
        }
        handleMessage(y) {
          y.InitialContactId !== this.initialContactId && y.ContactId !== this.contactId && y.Type !== a.MESSAGE_METADATA || this.eventBus.trigger(at, y);
        }
      }
      Tt.customerBaseInstances = {}, Tt.agentBaseInstance = null;
      class gi {
        constructor(y, I, D, G) {
          this.status = Ee, this.eventBus = new ye(), this.logger = O.getLogger({ prefix: "ChatJS-LPCConnectionHelperBase", logMetaData: D }), this.initialConnectionDetails = G, this.initWebsocketManager(I, y, D);
        }
        initWebsocketManager(y, I, D) {
          var G, re, ie, le;
          if (this.websocketManager = y || Dn.create(D), this.websocketManager.subscribeTopics(["aws/chat"]), this.subscriptions = [this.websocketManager.onMessage("aws/chat", this.handleMessage.bind(this)), this.websocketManager.onConnectionGain(this.handleConnectionGain.bind(this)), this.websocketManager.onConnectionLost(this.handleConnectionLost.bind(this)), this.websocketManager.onInitFailure(this.handleEnded.bind(this)), (G = (re = this.websocketManager).onDeepHeartbeatSuccess) === null || G === void 0 ? void 0 : G.call(re, this.handleDeepHeartbeatSuccess.bind(this)), (ie = (le = this.websocketManager).onDeepHeartbeatFailure) === null || ie === void 0 ? void 0 : ie.call(le, this.handleDeepHeartbeatFailure.bind(this))], this.logger.info("Initializing websocket manager."), !y) {
            var Se = (/* @__PURE__ */ new Date()).getTime();
            this.websocketManager.init(() => this._getConnectionDetails(I, this.initialConnectionDetails, Se).then((We) => (this.initialConnectionDetails = null, We)));
          }
        }
        _getConnectionDetails(y, I, D) {
          if (I !== null && typeof I == "object" && I.expiry && I.connectionTokenExpiry) {
            var G = { expiry: I.expiry, transportLifeTimeInSeconds: m };
            return this.logger.debug("Websocket manager initialized. Connection details:", G), Promise.resolve({ webSocketTransport: { url: I.url, expiry: I.expiry, transportLifeTimeInSeconds: m } });
          }
          return y.fetchConnectionDetails().then((re) => {
            var ie = { webSocketTransport: { url: re.url, expiry: re.expiry, transportLifeTimeInSeconds: m } }, le = { expiry: re.expiry, transportLifeTimeInSeconds: m };
            return this.logger.debug("Websocket manager initialized. Connection details:", le), this._addWebsocketInitCSMMetric(D), ie;
          }).catch((re) => {
            throw this.logger.error("Initializing Websocket Manager failed:", re), this._addWebsocketInitCSMMetric(D, !0), re;
          });
        }
        _addWebsocketInitCSMMetric(y) {
          var I = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
          Ke.addLatencyMetric(d, y, _), Ke.addCountAndErrorMetric(d, _, I);
        }
        end() {
          this.websocketManager.closeWebSocket && this.websocketManager.closeWebSocket(), this.eventBus.unsubscribeAll(), this.subscriptions.forEach((y) => y()), this.logger.info("Websocket closed. All event subscriptions are cleared.");
        }
        start() {
          return this.status === Ee && (this.status = ee), Promise.resolve({ websocketStatus: this.status });
        }
        onEnded(y) {
          return this.eventBus.subscribe(st, y);
        }
        handleEnded() {
          this.status = de, this.eventBus.trigger(st, {}), Ke.addCountMetric("WebsocketEnded", _), this.logger.info("Websocket connection ended.");
        }
        onConnectionGain(y) {
          return this.eventBus.subscribe(nt, y);
        }
        handleConnectionGain() {
          this.status = ce, this.eventBus.trigger(nt, {}), Ke.addCountMetric("WebsocketConnectionGained", _), this.logger.info("Websocket connection gained.");
        }
        onConnectionLost(y) {
          return this.eventBus.subscribe(Ge, y);
        }
        handleConnectionLost() {
          this.status = _e, this.eventBus.trigger(Ge, {}), Ke.addCountMetric("WebsocketConnectionLost", _), this.logger.info("Websocket connection lost.");
        }
        onMessage(y) {
          return this.eventBus.subscribe(at, y);
        }
        handleMessage(y) {
          var I;
          try {
            I = JSON.parse(y.content), this.eventBus.trigger(at, I), Ke.addCountMetric("WebsocketIncomingMessage", _), this.logger.info("this.eventBus trigger Websocket incoming message", at, I);
          } catch {
            this._sendInternalLogToServer(this.logger.error("Wrong message format"));
          }
        }
        getStatus() {
          return this.status;
        }
        getWebsocketManager() {
          return this.websocketManager;
        }
        hasMessageSubscribers() {
          return this.eventBus.getSubscriptions(at).length > 0;
        }
        _sendInternalLogToServer(y) {
          return y && typeof y.sendInternalLogToServer == "function" && y.sendInternalLogToServer(), y;
        }
        onDeepHeartbeatSuccess(y) {
          return this.eventBus.subscribe(S, y);
        }
        handleDeepHeartbeatSuccess() {
          this.status = et, this.eventBus.trigger(S, {}), Ke.addCountMetric("WebsocketDeepHeartbeatSuccess", _), this.logger.info("Websocket deep heartbeat success.");
        }
        onDeepHeartbeatFailure(y) {
          return this.eventBus.subscribe(T, y);
        }
        handleDeepHeartbeatFailure() {
          this.status = it, this.eventBus.trigger(T, {}), Ke.addCountMetric("WebsocketDeepHeartbeatFailure", _), this.logger.info("Websocket deep heartbeat failure.");
        }
      }
      const rs = Tt;
      function qr(M, y) {
        var I = Object.keys(M);
        if (Object.getOwnPropertySymbols) {
          var D = Object.getOwnPropertySymbols(M);
          y && (D = D.filter(function(G) {
            return Object.getOwnPropertyDescriptor(M, G).enumerable;
          })), I.push.apply(I, D);
        }
        return I;
      }
      class vi {
        constructor(y) {
          this.logger = O.getLogger({ prefix: "ChatJS-MessageReceiptUtil", logMetaData: y }), this.timeout = null, this.timeoutId = null, this.readSet = /* @__PURE__ */ new Set(), this.deliveredSet = /* @__PURE__ */ new Set(), this.readPromiseMap = /* @__PURE__ */ new Map(), this.deliveredPromiseMap = /* @__PURE__ */ new Map(), this.lastReadArgs = null, this.throttleInitialEventsToPrioritizeRead = null, this.throttleSendEventApiCall = null;
        }
        isMessageReceipt(y, I) {
          return [a.INCOMING_READ_RECEIPT, a.INCOMING_DELIVERED_RECEIPT].indexOf(y) !== -1 || I.Type === a.MESSAGE_METADATA;
        }
        getEventTypeFromMessageMetaData(y) {
          return Array.isArray(y.Receipts) && y.Receipts[0] && y.Receipts[0].ReadTimestamp ? a.INCOMING_READ_RECEIPT : y.Receipts[0].DeliveredTimestamp ? a.INCOMING_DELIVERED_RECEIPT : null;
        }
        shouldShowMessageReceiptForCurrentParticipantId(y, I) {
          return y !== (I.MessageMetadata && Array.isArray(I.MessageMetadata.Receipts) && I.MessageMetadata.Receipts[0] && I.MessageMetadata.Receipts[0].RecipientParticipantId);
        }
        prioritizeAndSendMessageReceipt(y, I) {
          for (var D = arguments.length, G = new Array(D > 2 ? D - 2 : 0), re = 2; re < D; re++)
            G[re - 2] = arguments[re];
          try {
            var ie, le, Se = this, We = G[3], rt = typeof G[2] == "string" ? JSON.parse(G[2]) : G[2], Ze = typeof rt == "object" ? rt.messageId : "";
            if (Se.readSet.has(Ze) || We === a.INCOMING_DELIVERED_RECEIPT && Se.deliveredSet.has(Ze) || !Ze)
              return this.logger.info("Event already fired ".concat(Ze, ": sending messageReceipt ").concat(We)), Promise.resolve({ message: "Event already fired" });
            var ut = new Promise(function(Re, Ce) {
              ie = Re, le = Ce;
            });
            return We === a.INCOMING_DELIVERED_RECEIPT ? Se.deliveredPromiseMap.set(Ze, [ie, le]) : Se.readPromiseMap.set(Ze, [ie, le]), Se.throttleInitialEventsToPrioritizeRead = function() {
              return We === a.INCOMING_DELIVERED_RECEIPT && (Se.deliveredSet.add(Ze), Se.readSet.has(Ze)) ? (Se.resolveDeliveredPromises(Ze, "Event already fired"), ie({ message: "Event already fired" })) : Se.readSet.has(Ze) ? (Se.resolveReadPromises(Ze, "Event already fired"), ie({ message: "Event already fired" })) : (We === a.INCOMING_READ_RECEIPT && Se.readSet.add(Ze), rt.disableThrottle ? (this.logger.info("throttleFn disabled for ".concat(Ze, ": sending messageReceipt ").concat(We)), ie(I.call(y, ...G))) : (Se.logger.debug("call next throttleFn sendMessageReceipts", G), void Se.sendMessageReceipts.call(Se, y, I, ...G)));
            }, Se.timeout || (Se.timeout = setTimeout(function() {
              Se.timeout = null, Se.throttleInitialEventsToPrioritizeRead();
            }, 300)), We !== a.INCOMING_READ_RECEIPT || Se.readSet.has(Ze) || (clearTimeout(Se.timeout), Se.timeout = null, Se.throttleInitialEventsToPrioritizeRead()), ut;
          } catch (Re) {
            return Promise.reject(function(Ce) {
              for (var ht = 1; ht < arguments.length; ht++) {
                var xt = arguments[ht] != null ? arguments[ht] : {};
                ht % 2 ? qr(Object(xt), !0).forEach(function(He) {
                  var Nt, vt, kn, lt;
                  Nt = Ce, vt = He, kn = xt[He], (vt = typeof (lt = function(Bt, jn) {
                    if (typeof Bt != "object" || !Bt)
                      return Bt;
                    var Pt = Bt[Symbol.toPrimitive];
                    if (Pt !== void 0) {
                      var $t = Pt.call(Bt, "string");
                      if (typeof $t != "object")
                        return $t;
                      throw new TypeError("@@toPrimitive must return a primitive value.");
                    }
                    return String(Bt);
                  }(vt)) == "symbol" ? lt : lt + "") in Nt ? Object.defineProperty(Nt, vt, { value: kn, enumerable: !0, configurable: !0, writable: !0 }) : Nt[vt] = kn;
                }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(Ce, Object.getOwnPropertyDescriptors(xt)) : qr(Object(xt)).forEach(function(He) {
                  Object.defineProperty(Ce, He, Object.getOwnPropertyDescriptor(xt, He));
                });
              }
              return Ce;
            }({ message: "Failed to send messageReceipt", args: G }, Re));
          }
        }
        sendMessageReceipts(y, I) {
          for (var D = arguments.length, G = new Array(D > 2 ? D - 2 : 0), re = 2; re < D; re++)
            G[re - 2] = arguments[re];
          var ie = this, le = G[4] || F.getMessageReceiptsThrottleTime(), Se = G[3], We = (typeof G[2] == "string" ? JSON.parse(G[2]) : G[2]).messageId;
          this.lastReadArgs = Se === a.INCOMING_READ_RECEIPT ? G : this.lastReadArgs, ie.throttleSendEventApiCall = function() {
            try {
              if (Se === a.INCOMING_READ_RECEIPT) {
                var rt = I.call(y, ...G);
                ie.resolveReadPromises(We, rt), ie.logger.debug("send Read event:", I, G);
              } else {
                var Ze = [I.call(y, ...G)], ut = this.lastReadArgs ? typeof this.lastReadArgs[2] == "string" ? JSON.parse(this.lastReadArgs[2]) : this.lastReadArgs[2] : null, Re = ut && ut.messageId;
                ie.readPromiseMap.has(Re) && Ze.push(I.call(y, ...this.lastReadArgs)), ie.logger.debug("send Delivered event:", G, "read event:", this.lastReadArgs), Promise.allSettled(Ze).then((Ce) => {
                  ie.resolveDeliveredPromises(We, Ce[0].value || Ce[0].reason, Ce[0].status === "rejected"), Re && Ce.length > 1 && ie.resolveReadPromises(Re, Ce[1].value || Ce[1].reason, Ce[1].status === "rejected");
                });
              }
            } catch (Ce) {
              ie.logger.error("send message receipt failed", Ce), ie.resolveReadPromises(We, Ce, !0), ie.resolveDeliveredPromises(We, Ce, !0);
            }
          }, ie.timeoutId || (ie.timeoutId = setTimeout(function() {
            ie.timeoutId = null, ie.throttleSendEventApiCall();
          }, le));
        }
        resolveDeliveredPromises(y, I, D) {
          return this.resolvePromises(this.deliveredPromiseMap, y, I, D);
        }
        resolveReadPromises(y, I, D) {
          return this.resolvePromises(this.readPromiseMap, y, I, D);
        }
        resolvePromises(y, I, D, G) {
          var re = Array.from(y.keys()), ie = re.indexOf(I);
          if (ie !== -1)
            for (var le = 0; le <= ie; le++) {
              var Se, We = (Se = y.get(re[le])) === null || Se === void 0 ? void 0 : Se[G ? 1 : 0];
              typeof We == "function" && (y.delete(re[le]), We(D));
            }
          else
            this.logger.debug("Promise for messageId: ".concat(I, " already resolved"));
        }
        rehydrateReceiptMappers(y, I) {
          var D = this;
          return (G) => {
            if (D.logger.debug("rehydrate chat", G?.data), I) {
              var { Transcript: re = [] } = G?.data || {};
              re.forEach((ie) => {
                if (ie?.Type === a.MESSAGE_METADATA) {
                  var le, Se, We = ie == null || (le = ie.MessageMetadata) === null || le === void 0 || (le = le.Receipts) === null || le === void 0 ? void 0 : le[0], rt = ie == null || (Se = ie.MessageMetadata) === null || Se === void 0 ? void 0 : Se.MessageId;
                  We != null && We.ReadTimestamp && this.readSet.add(rt), We != null && We.DeliveredTimestamp && this.deliveredSet.add(rt);
                }
              });
            }
            return y(G);
          };
        }
      }
      function Br(M, y) {
        var I = Object.keys(M);
        if (Object.getOwnPropertySymbols) {
          var D = Object.getOwnPropertySymbols(M);
          y && (D = D.filter(function(G) {
            return Object.getOwnPropertyDescriptor(M, G).enumerable;
          })), I.push.apply(I, D);
        }
        return I;
      }
      var Hr = "Broken";
      class yi {
        constructor(y) {
          this.argsValidator = new oe(), this.pubsub = new ye(), this.sessionType = y.sessionType, this.getConnectionToken = y.chatDetails.getConnectionToken, this.connectionDetails = y.chatDetails.connectionDetails, this.initialContactId = y.chatDetails.initialContactId, this.contactId = y.chatDetails.contactId, this.participantId = y.chatDetails.participantId, this.chatClient = y.chatClient, this.participantToken = y.chatDetails.participantToken, this.websocketManager = y.websocketManager, this._participantDisconnected = !1, this.sessionMetadata = {}, this.connectionDetailsProvider = null, this.logger = O.getLogger({ prefix: "ChatJS-ChatController", logMetaData: y.logMetaData }), this.logMetaData = y.logMetaData, this.messageReceiptUtil = new vi(y.logMetaData), this.hasChatEnded = !1, this.logger.info("Browser info:", window.navigator.userAgent);
        }
        subscribe(y, I) {
          this.pubsub.subscribe(y, I), this._sendInternalLogToServer(this.logger.info("Subscribed successfully to event:", y));
        }
        handleRequestSuccess(y, I, D, G) {
          return (re) => {
            var ie = G ? [{ name: "ContentType", value: G }] : [];
            return Ke.addLatencyMetricWithStartTime(I, D, _, ie), Ke.addCountAndErrorMetric(I, _, !1, ie), re.metadata = y, re;
          };
        }
        handleRequestFailure(y, I, D, G) {
          return (re) => {
            var ie = G ? [{ name: "ContentType", value: G }] : [];
            return Ke.addLatencyMetricWithStartTime(I, D, _, ie), Ke.addCountAndErrorMetric(I, _, !0, ie), re.metadata = y, Promise.reject(re);
          };
        }
        sendMessage(y) {
          if (!this._validateConnectionStatus("sendMessage"))
            return Promise.reject("Failed to call sendMessage, No active connection");
          var I = (/* @__PURE__ */ new Date()).getTime(), D = y.metadata || null;
          this.argsValidator.validateSendMessage(y);
          var G = this.connectionHelper.getConnectionToken();
          return this.chatClient.sendMessage(G, y.message, y.contentType).then(this.handleRequestSuccess(D, U, I, y.contentType)).catch(this.handleRequestFailure(D, U, I, y.contentType));
        }
        sendAttachment(y) {
          if (!this._validateConnectionStatus("sendAttachment"))
            return Promise.reject("Failed to call sendAttachment, No active connection");
          var I = (/* @__PURE__ */ new Date()).getTime(), D = y.metadata || null, G = this.connectionHelper.getConnectionToken();
          return this.chatClient.sendAttachment(G, y.attachment, y.metadata).then(this.handleRequestSuccess(D, L, I, y.attachment.type)).catch(this.handleRequestFailure(D, L, I, y.attachment.type));
        }
        downloadAttachment(y) {
          if (!this._validateConnectionStatus("downloadAttachment"))
            return Promise.reject("Failed to call downloadAttachment, No active connection");
          var I = (/* @__PURE__ */ new Date()).getTime(), D = y.metadata || null, G = this.connectionHelper.getConnectionToken();
          return this.chatClient.downloadAttachment(G, y.attachmentId).then(this.handleRequestSuccess(D, h, I)).catch(this.handleRequestFailure(D, h, I));
        }
        sendEventIfChatHasNotEnded() {
          for (var y = arguments.length, I = new Array(y), D = 0; D < y; D++)
            I[D] = arguments[D];
          return this.hasChatEnded ? (this.logger.warn("Ignoring sendEvent API bec chat has ended", ...I), Promise.resolve()) : this.chatClient.sendEvent(...I);
        }
        sendEvent(y) {
          if (!this._validateConnectionStatus("sendEvent"))
            return Promise.reject("Failed to call sendEvent, No active connection");
          var I = (/* @__PURE__ */ new Date()).getTime(), D = y.metadata || null;
          this.argsValidator.validateSendEvent(y);
          var G = this.connectionHelper.getConnectionToken(), re = y.content || null, ie = Kn(y.contentType), le = typeof re == "string" ? JSON.parse(re) : re;
          return this.messageReceiptUtil.isMessageReceipt(ie, y) ? F.isFeatureEnabled(je) && le.messageId ? this.messageReceiptUtil.prioritizeAndSendMessageReceipt(this.chatClient, this.sendEventIfChatHasNotEnded.bind(this), G, y.contentType, re, ie, F.getMessageReceiptsThrottleTime()).then(this.handleRequestSuccess(D, p, I, y.contentType)).catch(this.handleRequestFailure(D, p, I, y.contentType)) : (this.logger.warn("Ignoring messageReceipt: ".concat(F.isFeatureEnabled(je) && "missing messageId"), y), Promise.reject({ errorMessage: "Ignoring messageReceipt: ".concat(F.isFeatureEnabled(je) && "missing messageId"), data: y })) : this.chatClient.sendEvent(G, y.contentType, re).then(this.handleRequestSuccess(D, p, I, y.contentType)).catch(this.handleRequestFailure(D, p, I, y.contentType));
        }
        getTranscript() {
          var y = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
          if (!this._validateConnectionStatus("getTranscript"))
            return Promise.reject("Failed to call getTranscript, No active connection");
          var I = (/* @__PURE__ */ new Date()).getTime(), D = y.metadata || null, G = { startPosition: y.startPosition || {}, scanDirection: y.scanDirection || "BACKWARD", sortOrder: y.sortOrder || "ASCENDING", maxResults: y.maxResults || 15 };
          y.nextToken && (G.nextToken = y.nextToken), y.contactId && (G.contactId = y.contactId);
          var re = this.connectionHelper.getConnectionToken();
          return this.chatClient.getTranscript(re, G).then(this.messageReceiptUtil.rehydrateReceiptMappers(this.handleRequestSuccess(D, c, I), F.isFeatureEnabled(je))).catch(this.handleRequestFailure(D, c, I));
        }
        connect() {
          var y = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
          if (this.sessionMetadata = y.metadata || null, this.argsValidator.validateConnectChat(y), !this.connectionDetailsProvider)
            return this.connectionDetailsProvider = this._getConnectionDetailsProvider(), this.connectionDetailsProvider.fetchConnectionDetails().then((I) => this._initConnectionHelper(this.connectionDetailsProvider, I)).then((I) => this._onConnectSuccess(I, this.connectionDetailsProvider)).catch((I) => this._onConnectFailure(I));
          this.logger.warn("Ignoring duplicate call to connect. Method can only be invoked once", y);
        }
        _initConnectionHelper(y, I) {
          return this.connectionHelper = new rs(this.contactId, this.initialContactId, y, this.websocketManager, this.logMetaData, I), this.connectionDetails = I, this.connectionHelper.onEnded(this._handleEndedConnection.bind(this)), this.connectionHelper.onConnectionLost(this._handleLostConnection.bind(this)), this.connectionHelper.onConnectionGain(this._handleGainedConnection.bind(this)), this.connectionHelper.onMessage(this._handleIncomingMessage.bind(this)), this.connectionHelper.onDeepHeartbeatSuccess(this._handleDeepHeartbeatSuccess.bind(this)), this.connectionHelper.onDeepHeartbeatFailure(this._handleDeepHeartbeatFailure.bind(this)), this.connectionHelper.start();
        }
        _getConnectionDetailsProvider() {
          return new tt(this.participantToken, this.chatClient, this.sessionType, this.getConnectionToken);
        }
        _handleEndedConnection(y) {
          this._forwardChatEvent(a.CONNECTION_BROKEN, { data: y, chatDetails: this.getChatDetails() }), this.breakConnection();
        }
        _handleLostConnection(y) {
          this._forwardChatEvent(a.CONNECTION_LOST, { data: y, chatDetails: this.getChatDetails() });
        }
        _handleGainedConnection(y) {
          this.hasChatEnded = !1, this._forwardChatEvent(a.CONNECTION_ESTABLISHED, { data: y, chatDetails: this.getChatDetails() });
        }
        _handleDeepHeartbeatSuccess(y) {
          this._forwardChatEvent(a.DEEP_HEARTBEAT_SUCCESS, { data: y, chatDetails: this.getChatDetails() });
        }
        _handleDeepHeartbeatFailure(y) {
          this._forwardChatEvent(a.DEEP_HEARTBEAT_FAILURE, { data: y, chatDetails: this.getChatDetails() });
        }
        _handleIncomingMessage(y) {
          try {
            var I = Kn(y?.ContentType);
            if (this.messageReceiptUtil.isMessageReceipt(I, y) && (!(I = this.messageReceiptUtil.getEventTypeFromMessageMetaData(y?.MessageMetadata)) || !this.messageReceiptUtil.shouldShowMessageReceiptForCurrentParticipantId(this.participantId, y)))
              return;
            this._forwardChatEvent(I, { data: y, chatDetails: this.getChatDetails() }), y.ContentType === u.chatEnded && (this.hasChatEnded = !0, this._forwardChatEvent(a.CHAT_ENDED, { data: null, chatDetails: this.getChatDetails() }), this.breakConnection());
          } catch (D) {
            this._sendInternalLogToServer(this.logger.error("Error occured while handling message from Connection. eventData:", y, " Causing exception:", D));
          }
        }
        _forwardChatEvent(y, I) {
          this.pubsub.triggerAsync(y, I);
        }
        _onConnectSuccess(y, I) {
          var D;
          this._sendInternalLogToServer(this.logger.info("Connect successful!")), this.logger.warn("onConnectionSuccess response", y);
          var G = { _debug: y, connectSuccess: !0, connectCalled: !0, metadata: this.sessionMetadata }, re = Object.assign({ chatDetails: this.getChatDetails() }, G);
          this.pubsub.triggerAsync(a.CONNECTION_ESTABLISHED, re);
          var ie = (D = I.getConnectionDetails()) === null || D === void 0 ? void 0 : D.connectionAcknowledged;
          return this._shouldAcknowledgeContact() && !ie && (Ke.addAgentCountMetric("CREATE_PARTICIPANT_CONACK_CALL_COUNT", 1), I.callCreateParticipantConnection({ Type: !1, ConnectParticipant: !0 }).catch((le) => {
            this.logger.warn("ConnectParticipant failed to acknowledge Agent connection in CreateParticipantConnection: ", le), Ke.addAgentCountMetric("CREATE_PARTICIPANT_CONACK_FAILURE", 1);
          })), this.logger.warn("onConnectionSuccess responseObject", G), G;
        }
        _onConnectFailure(y) {
          var I = { _debug: y, connectSuccess: !1, connectCalled: !0, metadata: this.sessionMetadata };
          return this._sendInternalLogToServer(this.logger.error("Connect Failed. Error: ", I)), Promise.reject(I);
        }
        _shouldAcknowledgeContact() {
          return this.sessionType === pe.AGENT;
        }
        breakConnection() {
          return this.connectionHelper ? this.connectionHelper.end() : Promise.resolve();
        }
        cleanUpOnParticipantDisconnect() {
          this.pubsub.unsubscribeAll();
        }
        disconnectParticipant() {
          if (!this._validateConnectionStatus("disconnectParticipant"))
            return Promise.reject("Failed to call disconnectParticipant, No active connection");
          var y = (/* @__PURE__ */ new Date()).getTime(), I = this.connectionHelper.getConnectionToken();
          return this.chatClient.disconnectParticipant(I).then((D) => (this._sendInternalLogToServer(this.logger.info("Disconnect participant successfully")), this._participantDisconnected = !0, this.cleanUpOnParticipantDisconnect(), this.breakConnection(), Ke.addLatencyMetricWithStartTime(o, y, _), Ke.addCountAndErrorMetric(o, _, !1), D = function(G) {
            for (var re = 1; re < arguments.length; re++) {
              var ie = arguments[re] != null ? arguments[re] : {};
              re % 2 ? Br(Object(ie), !0).forEach(function(le) {
                var Se, We, rt, Ze;
                Se = G, We = le, rt = ie[le], (We = typeof (Ze = function(ut, Re) {
                  if (typeof ut != "object" || !ut)
                    return ut;
                  var Ce = ut[Symbol.toPrimitive];
                  if (Ce !== void 0) {
                    var ht = Ce.call(ut, "string");
                    if (typeof ht != "object")
                      return ht;
                    throw new TypeError("@@toPrimitive must return a primitive value.");
                  }
                  return String(ut);
                }(We)) == "symbol" ? Ze : Ze + "") in Se ? Object.defineProperty(Se, We, { value: rt, enumerable: !0, configurable: !0, writable: !0 }) : Se[We] = rt;
              }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(G, Object.getOwnPropertyDescriptors(ie)) : Br(Object(ie)).forEach(function(le) {
                Object.defineProperty(G, le, Object.getOwnPropertyDescriptor(ie, le));
              });
            }
            return G;
          }({}, D || {}), D), (D) => (this._sendInternalLogToServer(this.logger.error("Disconnect participant failed. Error:", D)), Ke.addLatencyMetricWithStartTime(o, y, _), Ke.addCountAndErrorMetric(o, _, !0), Promise.reject(D)));
        }
        getChatDetails() {
          return { initialContactId: this.initialContactId, contactId: this.contactId, participantId: this.participantId, participantToken: this.participantToken, connectionDetails: this.connectionDetails };
        }
        describeView(y) {
          var I = (/* @__PURE__ */ new Date()).getTime(), D = y.metadata || null, G = this.connectionHelper.getConnectionToken();
          return this.chatClient.describeView(y.viewToken, G).then(this.handleRequestSuccess(D, s, I)).catch(this.handleRequestFailure(D, s, I));
        }
        _convertConnectionHelperStatus(y) {
          switch (y) {
            case Ee:
              return "NeverEstablished";
            case ee:
              return "Establishing";
            case de:
            case _e:
              return Hr;
            case ce:
            case et:
              return "Established";
            case it:
              return Hr;
          }
          this._sendInternalLogToServer(this.logger.error("Reached invalid state. Unknown connectionHelperStatus: ", y));
        }
        getConnectionStatus() {
          return this._convertConnectionHelperStatus(this.connectionHelper.getStatus());
        }
        _sendInternalLogToServer(y) {
          return y && typeof y.sendInternalLogToServer == "function" && y.sendInternalLogToServer(), y;
        }
        _validateConnectionStatus(y) {
          return this.connectionHelper ? !this._participantDisconnected || (this.logger.error("Cannot call ".concat(y, " when participant is disconnected")), !1) : (this.logger.error("Cannot call ".concat(y, " before calling connect()")), !1);
        }
      }
      var Kn = (M) => l[M] || l.default, rr = O.getLogger({ prefix: "ChatJS-GlobalConfig" });
      class Qi {
        createAgentChatController(y, I) {
          throw new Ie("createAgentChatController in ChatControllerFactory.");
        }
        createCustomerChatController(y, I) {
          throw new Ie("createCustomerChatController in ChatControllerFactory.");
        }
      }
      class wi {
        constructor(y) {
          this.controller = y;
        }
        onMessage(y) {
          this.controller.subscribe(a.INCOMING_MESSAGE, y);
        }
        onTyping(y) {
          this.controller.subscribe(a.INCOMING_TYPING, y);
        }
        onReadReceipt(y) {
          this.controller.subscribe(a.INCOMING_READ_RECEIPT, y);
        }
        onDeliveredReceipt(y) {
          this.controller.subscribe(a.INCOMING_DELIVERED_RECEIPT, y);
        }
        onConnectionBroken(y) {
          this.controller.subscribe(a.CONNECTION_BROKEN, y);
        }
        onConnectionEstablished(y) {
          this.controller.subscribe(a.CONNECTION_ESTABLISHED, y);
        }
        onEnded(y) {
          this.controller.subscribe(a.CHAT_ENDED, y);
        }
        onParticipantIdle(y) {
          this.controller.subscribe(a.PARTICIPANT_IDLE, y);
        }
        onParticipantReturned(y) {
          this.controller.subscribe(a.PARTICIPANT_RETURNED, y);
        }
        onAutoDisconnection(y) {
          this.controller.subscribe(a.AUTODISCONNECTION, y);
        }
        onConnectionLost(y) {
          this.controller.subscribe(a.CONNECTION_LOST, y);
        }
        onDeepHeartbeatSuccess(y) {
          this.controller.subscribe(a.DEEP_HEARTBEAT_SUCCESS, y);
        }
        onDeepHeartbeatFailure(y) {
          this.controller.subscribe(a.DEEP_HEARTBEAT_FAILURE, y);
        }
        sendMessage(y) {
          return this.controller.sendMessage(y);
        }
        sendAttachment(y) {
          return this.controller.sendAttachment(y);
        }
        downloadAttachment(y) {
          return this.controller.downloadAttachment(y);
        }
        connect(y) {
          return this.controller.connect(y);
        }
        sendEvent(y) {
          return this.controller.sendEvent(y);
        }
        getTranscript(y) {
          return this.controller.getTranscript(y);
        }
        getChatDetails() {
          return this.controller.getChatDetails();
        }
        describeView(y) {
          return this.controller.describeView(y);
        }
      }
      class Ji extends wi {
        constructor(y) {
          super(y);
        }
        cleanUpOnParticipantDisconnect() {
          return this.controller.cleanUpOnParticipantDisconnect();
        }
      }
      class Zi extends wi {
        constructor(y) {
          super(y);
        }
        disconnectParticipant() {
          return this.controller.disconnectParticipant();
        }
      }
      var eo = new class extends Qi {
        constructor() {
          super(), this.argsValidator = new oe();
        }
        createChatSession(M, y, I, D) {
          var G = this._createChatController(M, y, I, D);
          if (M === pe.AGENT)
            return new Ji(G);
          if (M === pe.CUSTOMER)
            return new Zi(G);
          throw new Te("Unkown value for session type, Allowed values are: " + Object.values(pe), M);
        }
        _createChatController(M, y, I, D) {
          var G = this.argsValidator.normalizeChatDetails(y), re = { contactId: G.contactId, participantId: G.participantId, sessionType: M }, ie = W.getCachedClient(I, re);
          return new yi({ sessionType: M, chatDetails: G, chatClient: ie, websocketManager: D, logMetaData: re });
        }
      }(), Vr = { create: (M) => {
        var y = M.options || {}, I = M.type || pe.AGENT;
        return F.updateStageRegionCell(y), M.disableCSM || I !== pe.CUSTOMER || Ke.loadCsmScriptAndExecute(), eo.createChatSession(I, M.chatDetails, y, M.websocketManager);
      }, setGlobalConfig: (M) => {
        var y, I, D = M.loggerConfig, G = M.csmConfig;
        F.update(M), Dn.setGlobalConfig(M), O.updateLoggerConfig(D), G && Ke.updateCsmConfig(G), rr.warn("enabling message-receipts by default; to disable set config.features.messageReceipts.shouldSendMessageReceipts = false"), F.updateThrottleTime((y = M.features) === null || y === void 0 || (y = y.messageReceipts) === null || y === void 0 ? void 0 : y.throttleTime), ((I = M.features) === null || I === void 0 || (I = I.messageReceipts) === null || I === void 0 ? void 0 : I.shouldSendMessageReceipts) === !1 && F.removeFeatureFlag(je);
      }, LogLevel: k, Logger: class {
        debug(M) {
        }
        info(M) {
        }
        warn(M) {
        }
        error(M) {
        }
        advancedLog(M) {
        }
      }, SessionTypes: pe, csmService: Ke, setFeatureFlag: (M) => {
        F.setFeatureFlag(M);
      } }, br = br !== void 0 ? br : typeof self < "u" ? self : typeof window < "u" ? window : {};
      br.connect = br.connect || {}, connect.ChatSession = Vr, connect.LogManager = O, connect.LogLevel = k, connect.csmService = Vr.csmService;
    })();
  })();
  const ep = {
    region: "eu-west-2",
    contactFlowId: "5d41ccb3-0a16-47d3-bc58-d8d1e76eef8c",
    instanceId: "b788e0ed-82a1-4033-a6c7-74a30aee0173",
    apiGatewayEndpoint: "https://y9we1458xk.execute-api.eu-west-2.amazonaws.com/Prod",
    verifyEndpoint: "https://f3au4nygfj.execute-api.eu-west-2.amazonaws.com/prod/widget/fd71a26b-83b4-4077-a9ea-15026a807767",
    verifySnippedId: "QVFJREFIaCtFalN0ZDVNdVlGRUhSSWxuYkZIVi9vOWJuK3J1RHFLMnREVloybXpFTVFGbEhlaU9EekI3OURGMlg4dW9aZVVjQUFBQWJqQnNCZ2txaGtpRzl3MEJCd2FnWHpCZEFnRUFNRmdHQ1NxR1NJYjNEUUVIQVRBZUJnbGdoa2dCWlFNRUFTNHdFUVFNTU16YVJDN2NFYk93ODNvbUFnRVFnQ3M5K0pjM1lkQVlqcHhhcE9qQkZSeHE5cUNBczF0dlBrSXRzRThTNy9SM3lFRk1tRVIvbTRCYkZWSG86OmFTV1VsbGlnSkdveVp5NXR3S1lhZTc0OU85V2pBWlBaK3BVYjk4MjU1VjN3dCtrMnFVc3dreXJTVWtKeWlQamQ3YnZISTRDbUZXRFhSUm8yaHdlaFNVU1IwT1huT2FIZjN4QWZBZE5PU2U1UlJraURUMTRmcjJzVDlSTkVkRHNITXQ5SVI1dDJCaTc0ZnV3OGlzSHdhMHVtODR2Vm9XZz0=",
    discussedOrderNumberEndpoint: "https://3qnplfs9si.execute-api.eu-west-2.amazonaws.com/Prod/DiscussedOrderNumber"
  }, ns = ep;
  class $i extends Error {
  }
  $i.prototype.name = "InvalidTokenError";
  function tp(he) {
    return decodeURIComponent(atob(he).replace(/(.)/g, (Oe, Q) => {
      let ke = Q.charCodeAt(0).toString(16).toUpperCase();
      return ke.length < 2 && (ke = "0" + ke), "%" + ke;
    }));
  }
  function np(he) {
    let Oe = he.replace(/-/g, "+").replace(/_/g, "/");
    switch (Oe.length % 4) {
      case 0:
        break;
      case 2:
        Oe += "==";
        break;
      case 3:
        Oe += "=";
        break;
      default:
        throw new Error("base64 string is not of the correct length");
    }
    try {
      return tp(Oe);
    } catch {
      return atob(Oe);
    }
  }
  function rp(he, Oe) {
    if (typeof he != "string")
      throw new $i("Invalid token specified: must be a string");
    Oe || (Oe = {});
    const Q = Oe.header === !0 ? 0 : 1, ke = he.split(".")[Q];
    if (typeof ke != "string")
      throw new $i(`Invalid token specified: missing part #${Q + 1}`);
    let Ie;
    try {
      Ie = np(ke);
    } catch (Te) {
      throw new $i(`Invalid token specified: invalid base64 for part #${Q + 1} (${Te.message})`);
    }
    try {
      return JSON.parse(Ie);
    } catch (Te) {
      throw new $i(`Invalid token specified: invalid json for part #${Q + 1} (${Te.message})`);
    }
  }
  function ip(he) {
    return Object.keys(he).reduce((Oe, Q) => (Oe[Q] = String(he[Q]), Oe), {});
  }
  let cl;
  async function op() {
    try {
      const { verifyEndpoint: he, verifySnippedId: Oe } = ns;
      return (await fetch(he, {
        headers: {
          "x-amz-snippet-id": Oe
        },
        method: "GET"
      })).ok;
    } catch (he) {
      return console.error("Request Error:", he), !1;
    }
  }
  function sp(he) {
    try {
      return rp(he);
    } catch (Oe) {
      console.error("JWT Error:", Oe);
    }
  }
  async function ap(he, Oe, Q) {
    const { discussedOrderNumberEndpoint: ke } = ns, Ie = sp(he);
    if (Ie) {
      const Te = {
        InstanceId: Oe,
        InitialContactId: Q,
        Attributes: ip(Ie.attributes)
      };
      return (await fetch(ke, {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify(Te)
      })).ok;
    }
  }
  function up() {
    const { region: he } = ns;
    connect.ChatSession.setGlobalConfig({
      region: he
    });
  }
  async function cp(he) {
    const { contactFlowId: Oe, instanceId: Q, apiGatewayEndpoint: ke } = ns;
    if (!await op())
      return;
    const Te = {
      ParticipantDetails: {
        DisplayName: fn.CUSTOMER
      },
      ContactFlowId: Oe,
      InstanceId: Q,
      SupportedMessagingContentTypes: [
        bn.TEXT_PLAIN,
        bn.TEXT_MARKDOWN
      ]
    }, pe = await (await fetch(ke, {
      method: "POST",
      headers: {
        "Content-Type": "application/json"
      },
      body: JSON.stringify(Te)
    })).json();
    if (cl = connect.ChatSession.create({
      chatDetails: pe.data.startChatResult,
      type: fn.CUSTOMER
    }), !!await ap(
      he,
      Q,
      pe.data.startChatResult.ContactId
    ))
      return cl;
  }
  async function lp(he) {
    const { connectSuccess: Oe } = await he.connect();
    if (!Oe)
      throw new Error("Unable to connect.");
  }
  async function Wa(he) {
    !he.controller.hasChatEnded && !he.controller._participantDisconnected && await he.disconnectParticipant();
  }
  function dp(he) {
    he.onConnectionBroken(() => {
      Wa(he);
    });
  }
  function pp(he, Oe) {
    he.onTyping((Q) => {
      const { data: ke } = Q;
      ke.ParticipantRole === fn.AGENT && (Oe(ke.ContentType), setTimeout(() => {
        Oe("");
      }, 3e3));
    });
  }
  function fp(he, Oe, Q, ke, Ie, Te) {
    he.onMessage(async (je) => {
      ke("");
      const { data: pe } = je;
      if (pe.ParticipantRole === fn.SYSTEM && pe.DisplayName === "BOT" && (pe.ContentType === bn.TEXT_PLAIN || pe.ContentType === bn.TEXT_MARKDOWN)) {
        if (Te(!0), setTimeout(() => {
          Te(!1);
        }, 3e3), pe.Content === "input") {
          Te(!1);
          return;
        }
        Ie(!0), await Fa(he, pe.Content);
        return;
      }
      pe.ParticipantRole !== fn.CUSTOMER && (pe.ContentType === mi.CHAT_ENDED && Oe(!1), pe.ParticipantRole === fn.SYSTEM && pe.DisplayName === "BOT" && pe.ContentType === bn.INTERACTIVE_MESSAGE && Te(!1), Q((_) => [
        ..._,
        {
          id: pe.Id,
          absoluteTime: pe.AbsoluteTime,
          content: pe.ParticipantRole === fn.SYSTEM && pe.DisplayName === "BOT" && pe.ContentType === bn.INTERACTIVE_MESSAGE ? JSON.parse(pe.Content) : pe.Content,
          contentType: pe.ContentType,
          participantRole: pe.ParticipantRole,
          displayName: pe.DisplayName
        }
      ]), pe.Type === "MESSAGE" && vp(he, pe.Id));
    });
  }
  function hp(he, Oe, Q, ke) {
    he.onConnectionEstablished(() => {
      Oe(!1), Q(!0), ke(!0);
    });
  }
  function mp(he) {
    he.onConnectionBroken(() => {
      Wa(he);
    });
  }
  async function gp(he) {
    await he.sendEvent({
      contentType: mi.TYPING
    });
  }
  async function vp(he, Oe) {
    await he.sendEvent({
      contentType: mi.DELIVERED_RECEIPT,
      content: JSON.stringify({
        messageId: Oe
      })
    });
  }
  async function Fa(he, Oe) {
    const Q = await he.sendMessage({
      contentType: bn.TEXT_PLAIN,
      message: Oe
    });
    if (Q.error)
      throw new Error("Unable to send message");
    return Q.data;
  }
  function yp({
    chatSession: he,
    transcript: Oe,
    isChatActive: Q,
    agentEvent: ke,
    isBotActive: Ie,
    isBotLoading: Te,
    setTranscript: je,
    setIsChatVisible: pe,
    setIsChatActive: _,
    setIsChatLoading: U,
    setIsBotActive: L
  }) {
    const [h, p] = Mn.useState(""), c = Mn.useRef();
    Mn.useEffect(() => {
      c.current && (c.current.scrollTop = c.current.scrollHeight);
    }, [Oe, ke]);
    function o() {
      pe(!1);
    }
    async function r() {
      U(!0), pe(!1), _(!1), await Wa(he), je([]), U(!1);
    }
    const s = (l) => {
      l.key === "Enter" && !l.shiftKey && (l.preventDefault(), a(), p(""));
    };
    async function d(l) {
      p(l.target.value), l.target.value.length > 0 && gp(he);
    }
    async function a() {
      try {
        if (he) {
          const l = h.trim();
          if (l.length <= 0)
            return;
          const { AbsoluteTime: m, Id: v } = await Fa(he, l);
          je((C) => [
            ...C,
            {
              id: v,
              absoluteTime: m,
              content: l,
              contentType: bn.TEXT_PLAIN,
              participantRole: fn.CUSTOMER
            }
          ]), p("");
        } else
          console.error("Chat Session not found");
      } catch (l) {
        console.error(l);
      }
    }
    async function u(l) {
      try {
        if (!Ie)
          return;
        const { AbsoluteTime: m, Id: v } = await Fa(he, l);
        je((C) => [
          ...C,
          {
            id: v,
            absoluteTime: m,
            content: l,
            contentType: bn.TEXT_PLAIN,
            participantRole: fn.CUSTOMER
          }
        ]);
      } catch (m) {
        console.error(m);
      } finally {
        L(!1);
      }
    }
    return /* @__PURE__ */ ze.jsxs(ze.Fragment, { children: [
      /* @__PURE__ */ ze.jsx("style", { children: Zd }),
      /* @__PURE__ */ ze.jsx("div", { className: "chat-container animate__appear", children: /* @__PURE__ */ ze.jsx("div", { className: "chat-container__interface", children: /* @__PURE__ */ ze.jsxs("div", { className: "chat-container__wrapper", children: [
        /* @__PURE__ */ ze.jsxs("table", { className: "chat-container__header", children: [
          /* @__PURE__ */ ze.jsx("td", { className: "chat-container__header_image" }),
          /* @__PURE__ */ ze.jsxs("td", { className: "chat-container__header_icons", children: [
            /* @__PURE__ */ ze.jsx(Yd, { onClick: o }),
            /* @__PURE__ */ ze.jsx($d, { onClick: r })
          ] })
        ] }),
        /* @__PURE__ */ ze.jsxs("div", { className: "chat-container__transcriptor", ref: c, children: [
          Oe.map((l, m) => /* @__PURE__ */ ze.jsxs(
            "div",
            {
              className: "chat-container__transcriptor_message",
              children: [
                (l.participantRole === fn.AGENT || l.participantRole === fn.SYSTEM) && l.displayName !== "BOT" && (l.contentType === bn.TEXT_PLAIN || l.contentType === bn.TEXT_MARKDOWN) && typeof l.content == "string" && /* @__PURE__ */ ze.jsx("div", { className: "chat-container__transcriptor_message-incoming", children: l.content }),
                l.participantRole === fn.SYSTEM && l.displayName === "BOT" && l.contentType === bn.INTERACTIVE_MESSAGE && typeof l.content == "object" && /* @__PURE__ */ ze.jsxs("div", { className: "chat-container__transcriptor_message-incoming", children: [
                  l.content.data.content.title,
                  /* @__PURE__ */ ze.jsx("ul", { children: l.content.data.content.elements.map(
                    (v, C) => /* @__PURE__ */ ze.jsx(
                      "li",
                      {
                        onClick: () => u(v.title),
                        children: v.title
                      },
                      C
                    )
                  ) })
                ] }),
                l.participantRole === fn.CUSTOMER && typeof l.content == "string" && /* @__PURE__ */ ze.jsx("div", { className: "chat-container__transcriptor_message-outgoing", children: l.content }),
                l.contentType === mi.PARTICIPANT_JOINED && /* @__PURE__ */ ze.jsx("div", { className: "chat-container__transcriptor_message-agent", children: `${l.displayName || "Advisor"} has joined the chat` }),
                l.contentType === mi.PARTICIPANT_LEFT && /* @__PURE__ */ ze.jsx("div", { className: "chat-container__transcriptor_message-agent", children: `${l.displayName || "Advisor"} has left the chat` }),
                l.contentType === mi.CHAT_ENDED && /* @__PURE__ */ ze.jsx("div", { className: "chat-container__transcriptor_message-agent", children: "Chat has ended!" })
              ]
            },
            m
          )),
          (ke || Te) && /* @__PURE__ */ ze.jsx(Qd, {})
        ] }),
        /* @__PURE__ */ ze.jsxs("div", { className: "chat-container__composer", children: [
          /* @__PURE__ */ ze.jsx(
            "textarea",
            {
              value: h,
              placeholder: Q ? Ie ? "Select an option from above" : "Type here..." : "",
              onChange: d,
              onKeyDown: s,
              disabled: !Q || Ie
            }
          ),
          /* @__PURE__ */ ze.jsx(
            "button",
            {
              onClick: a,
              disabled: !Q || Ie,
              children: /* @__PURE__ */ ze.jsx(Jd, {})
            }
          )
        ] })
      ] }) }) })
    ] });
  }
  const wp = ".chat-error{box-shadow:#00000026 0 13px 30px;position:absolute;bottom:25px;right:25px;width:auto;height:auto;padding:10px;background:#d32f2f;border:0px;border-radius:10px;font-size:large;font-family:var(--external-font-primary, var(--font-primary));font-style:normal;font-weight:500;color:#fff}";
  function Ep() {
    return /* @__PURE__ */ ze.jsxs(ze.Fragment, { children: [
      /* @__PURE__ */ ze.jsx("style", { children: wp }),
      /* @__PURE__ */ ze.jsx("div", { className: "chat-error", children: "Something went wrong. Try again later." })
    ] });
  }
  let Sr;
  const Cp = ({ jwt: he }) => {
    const [Oe, Q] = Mn.useState(!1), [ke, Ie] = Mn.useState(!1), [Te, je] = Mn.useState(!1), [pe, _] = Mn.useState(!1), [U, L] = Mn.useState([]), [h, p] = Mn.useState(""), [c, o] = Mn.useState(!1), [r, s] = Mn.useState(!1);
    up();
    async function d() {
      je(!0);
      try {
        Sr = await cp(he), await lp(Sr), hp(
          Sr,
          je,
          Q,
          Ie
        ), mp(Sr), dp(Sr), pp(Sr, p), fp(
          Sr,
          Ie,
          L,
          p,
          o,
          s
        );
      } catch (a) {
        console.error(a), Q(!1), Ie(!1), je(!1), _(!0), setTimeout(() => {
          _(!1);
        }, 5e3);
      }
    }
    return /* @__PURE__ */ ze.jsxs(ze.Fragment, { children: [
      /* @__PURE__ */ ze.jsx("style", { children: Gd }),
      pe ? /* @__PURE__ */ ze.jsx(Ep, {}) : /* @__PURE__ */ ze.jsxs(ze.Fragment, { children: [
        !Oe && /* @__PURE__ */ ze.jsxs("div", { className: "chat-button", children: [
          ke && /* @__PURE__ */ ze.jsx(
            ja,
            {
              Icon: ul,
              onClick: () => Q(!0)
            }
          ),
          !ke && /* @__PURE__ */ ze.jsx(ja, { Icon: ul, onClick: d }),
          Te && /* @__PURE__ */ ze.jsx(ja, { Icon: Xd })
        ] }),
        Oe && /* @__PURE__ */ ze.jsx(
          yp,
          {
            chatSession: Sr,
            transcript: U,
            isChatActive: ke,
            agentEvent: h,
            isBotActive: c,
            isBotLoading: r,
            setTranscript: L,
            setIsChatVisible: Q,
            setIsChatActive: Ie,
            setIsChatLoading: je,
            setIsBotActive: o
          }
        )
      ] })
    ] });
  }, Sp = (he) => he.replace(/-([a-z])/g, (Oe, Q) => Q.toUpperCase());
  class bp extends HTMLElement {
    constructor() {
      super(), this.attachShadow({ mode: "open" });
    }
    connectedCallback() {
      const Oe = this.getPropsFromAttributes();
      Ua.createRoot(this.shadowRoot).render(/* @__PURE__ */ ze.jsx(Cp, { ...Oe }));
    }
    getPropsFromAttributes() {
      const Oe = {};
      for (let Q = 0; Q < this.attributes.length; Q++) {
        const ke = this.attributes[Q];
        Oe[Sp(ke.name)] = ke.value;
      }
      return Oe;
    }
  }
  customElements.define("chat-widget", bp);
})();
