var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
(async () => {
  function xg(e, t) {
    for (var r = 0; r < t.length; r++) {
      const n = t[r];
      if (typeof n != "string" && !Array.isArray(n)) {
        for (const a in n) if (a !== "default" && !(a in e)) {
          const i = Object.getOwnPropertyDescriptor(n, a);
          i && Object.defineProperty(e, a, i.get ? i : {
            enumerable: true,
            get: () => n[a]
          });
        }
      }
    }
    return Object.freeze(Object.defineProperty(e, Symbol.toStringTag, {
      value: "Module"
    }));
  }
  (function() {
    const t = document.createElement("link").relList;
    if (t && t.supports && t.supports("modulepreload")) return;
    for (const a of document.querySelectorAll('link[rel="modulepreload"]')) n(a);
    new MutationObserver((a) => {
      for (const i of a) if (i.type === "childList") for (const l of i.addedNodes) l.tagName === "LINK" && l.rel === "modulepreload" && n(l);
    }).observe(document, {
      childList: true,
      subtree: true
    });
    function r(a) {
      const i = {};
      return a.integrity && (i.integrity = a.integrity), a.referrerPolicy && (i.referrerPolicy = a.referrerPolicy), a.crossOrigin === "use-credentials" ? i.credentials = "include" : a.crossOrigin === "anonymous" ? i.credentials = "omit" : i.credentials = "same-origin", i;
    }
    function n(a) {
      if (a.ep) return;
      a.ep = true;
      const i = r(a);
      fetch(a.href, i);
    }
  })();
  function dg(e) {
    return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
  }
  var S1 = {
    exports: {}
  }, il = {}, _1 = {
    exports: {}
  }, $e = {}, fp;
  function ZA() {
    if (fp) return $e;
    fp = 1;
    var e = Symbol.for("react.element"), t = Symbol.for("react.portal"), r = Symbol.for("react.fragment"), n = Symbol.for("react.strict_mode"), a = Symbol.for("react.profiler"), i = Symbol.for("react.provider"), l = Symbol.for("react.context"), c = Symbol.for("react.forward_ref"), u = Symbol.for("react.suspense"), x = Symbol.for("react.memo"), f = Symbol.for("react.lazy"), h = Symbol.iterator;
    function p(M) {
      return M === null || typeof M != "object" ? null : (M = h && M[h] || M["@@iterator"], typeof M == "function" ? M : null);
    }
    var m = {
      isMounted: function() {
        return false;
      },
      enqueueForceUpdate: function() {
      },
      enqueueReplaceState: function() {
      },
      enqueueSetState: function() {
      }
    }, y = Object.assign, B = {};
    function v(M, G, ee) {
      this.props = M, this.context = G, this.refs = B, this.updater = ee || m;
    }
    v.prototype.isReactComponent = {}, v.prototype.setState = function(M, G) {
      if (typeof M != "object" && typeof M != "function" && M != 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, M, G, "setState");
    }, v.prototype.forceUpdate = function(M) {
      this.updater.enqueueForceUpdate(this, M, "forceUpdate");
    };
    function D() {
    }
    D.prototype = v.prototype;
    function P(M, G, ee) {
      this.props = M, this.context = G, this.refs = B, this.updater = ee || m;
    }
    var k = P.prototype = new D();
    k.constructor = P, y(k, v.prototype), k.isPureReactComponent = true;
    var w = Array.isArray, _ = Object.prototype.hasOwnProperty, T = {
      current: null
    }, N = {
      key: true,
      ref: true,
      __self: true,
      __source: true
    };
    function U(M, G, ee) {
      var te, oe = {}, ie = null, xe = null;
      if (G != null) for (te in G.ref !== void 0 && (xe = G.ref), G.key !== void 0 && (ie = "" + G.key), G) _.call(G, te) && !N.hasOwnProperty(te) && (oe[te] = G[te]);
      var de = arguments.length - 2;
      if (de === 1) oe.children = ee;
      else if (1 < de) {
        for (var he = Array(de), be = 0; be < de; be++) he[be] = arguments[be + 2];
        oe.children = he;
      }
      if (M && M.defaultProps) for (te in de = M.defaultProps, de) oe[te] === void 0 && (oe[te] = de[te]);
      return {
        $$typeof: e,
        type: M,
        key: ie,
        ref: xe,
        props: oe,
        _owner: T.current
      };
    }
    function C(M, G) {
      return {
        $$typeof: e,
        type: M.type,
        key: G,
        ref: M.ref,
        props: M.props,
        _owner: M._owner
      };
    }
    function z(M) {
      return typeof M == "object" && M !== null && M.$$typeof === e;
    }
    function I(M) {
      var G = {
        "=": "=0",
        ":": "=2"
      };
      return "$" + M.replace(/[=:]/g, function(ee) {
        return G[ee];
      });
    }
    var R = /\/+/g;
    function L(M, G) {
      return typeof M == "object" && M !== null && M.key != null ? I("" + M.key) : G.toString(36);
    }
    function O(M, G, ee, te, oe) {
      var ie = typeof M;
      (ie === "undefined" || ie === "boolean") && (M = null);
      var xe = false;
      if (M === null) xe = true;
      else switch (ie) {
        case "string":
        case "number":
          xe = true;
          break;
        case "object":
          switch (M.$$typeof) {
            case e:
            case t:
              xe = true;
          }
      }
      if (xe) return xe = M, oe = oe(xe), M = te === "" ? "." + L(xe, 0) : te, w(oe) ? (ee = "", M != null && (ee = M.replace(R, "$&/") + "/"), O(oe, G, ee, "", function(be) {
        return be;
      })) : oe != null && (z(oe) && (oe = C(oe, ee + (!oe.key || xe && xe.key === oe.key ? "" : ("" + oe.key).replace(R, "$&/") + "/") + M)), G.push(oe)), 1;
      if (xe = 0, te = te === "" ? "." : te + ":", w(M)) for (var de = 0; de < M.length; de++) {
        ie = M[de];
        var he = te + L(ie, de);
        xe += O(ie, G, ee, he, oe);
      }
      else if (he = p(M), typeof he == "function") for (M = he.call(M), de = 0; !(ie = M.next()).done; ) ie = ie.value, he = te + L(ie, de++), xe += O(ie, G, ee, he, oe);
      else if (ie === "object") throw G = String(M), Error("Objects are not valid as a React child (found: " + (G === "[object Object]" ? "object with keys {" + Object.keys(M).join(", ") + "}" : G) + "). If you meant to render a collection of children, use an array instead.");
      return xe;
    }
    function W(M, G, ee) {
      if (M == null) return M;
      var te = [], oe = 0;
      return O(M, te, "", "", function(ie) {
        return G.call(ee, ie, oe++);
      }), te;
    }
    function $(M) {
      if (M._status === -1) {
        var G = M._result;
        G = G(), G.then(function(ee) {
          (M._status === 0 || M._status === -1) && (M._status = 1, M._result = ee);
        }, function(ee) {
          (M._status === 0 || M._status === -1) && (M._status = 2, M._result = ee);
        }), M._status === -1 && (M._status = 0, M._result = G);
      }
      if (M._status === 1) return M._result.default;
      throw M._result;
    }
    var X = {
      current: null
    }, Y = {
      transition: null
    }, Q = {
      ReactCurrentDispatcher: X,
      ReactCurrentBatchConfig: Y,
      ReactCurrentOwner: T
    };
    function V() {
      throw Error("act(...) is not supported in production builds of React.");
    }
    return $e.Children = {
      map: W,
      forEach: function(M, G, ee) {
        W(M, function() {
          G.apply(this, arguments);
        }, ee);
      },
      count: function(M) {
        var G = 0;
        return W(M, function() {
          G++;
        }), G;
      },
      toArray: function(M) {
        return W(M, function(G) {
          return G;
        }) || [];
      },
      only: function(M) {
        if (!z(M)) throw Error("React.Children.only expected to receive a single React element child.");
        return M;
      }
    }, $e.Component = v, $e.Fragment = r, $e.Profiler = a, $e.PureComponent = P, $e.StrictMode = n, $e.Suspense = u, $e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Q, $e.act = V, $e.cloneElement = function(M, G, ee) {
      if (M == null) throw Error("React.cloneElement(...): The argument must be a React element, but you passed " + M + ".");
      var te = y({}, M.props), oe = M.key, ie = M.ref, xe = M._owner;
      if (G != null) {
        if (G.ref !== void 0 && (ie = G.ref, xe = T.current), G.key !== void 0 && (oe = "" + G.key), M.type && M.type.defaultProps) var de = M.type.defaultProps;
        for (he in G) _.call(G, he) && !N.hasOwnProperty(he) && (te[he] = G[he] === void 0 && de !== void 0 ? de[he] : G[he]);
      }
      var he = arguments.length - 2;
      if (he === 1) te.children = ee;
      else if (1 < he) {
        de = Array(he);
        for (var be = 0; be < he; be++) de[be] = arguments[be + 2];
        te.children = de;
      }
      return {
        $$typeof: e,
        type: M.type,
        key: oe,
        ref: ie,
        props: te,
        _owner: xe
      };
    }, $e.createContext = function(M) {
      return M = {
        $$typeof: l,
        _currentValue: M,
        _currentValue2: M,
        _threadCount: 0,
        Provider: null,
        Consumer: null,
        _defaultValue: null,
        _globalName: null
      }, M.Provider = {
        $$typeof: i,
        _context: M
      }, M.Consumer = M;
    }, $e.createElement = U, $e.createFactory = function(M) {
      var G = U.bind(null, M);
      return G.type = M, G;
    }, $e.createRef = function() {
      return {
        current: null
      };
    }, $e.forwardRef = function(M) {
      return {
        $$typeof: c,
        render: M
      };
    }, $e.isValidElement = z, $e.lazy = function(M) {
      return {
        $$typeof: f,
        _payload: {
          _status: -1,
          _result: M
        },
        _init: $
      };
    }, $e.memo = function(M, G) {
      return {
        $$typeof: x,
        type: M,
        compare: G === void 0 ? null : G
      };
    }, $e.startTransition = function(M) {
      var G = Y.transition;
      Y.transition = {};
      try {
        M();
      } finally {
        Y.transition = G;
      }
    }, $e.unstable_act = V, $e.useCallback = function(M, G) {
      return X.current.useCallback(M, G);
    }, $e.useContext = function(M) {
      return X.current.useContext(M);
    }, $e.useDebugValue = function() {
    }, $e.useDeferredValue = function(M) {
      return X.current.useDeferredValue(M);
    }, $e.useEffect = function(M, G) {
      return X.current.useEffect(M, G);
    }, $e.useId = function() {
      return X.current.useId();
    }, $e.useImperativeHandle = function(M, G, ee) {
      return X.current.useImperativeHandle(M, G, ee);
    }, $e.useInsertionEffect = function(M, G) {
      return X.current.useInsertionEffect(M, G);
    }, $e.useLayoutEffect = function(M, G) {
      return X.current.useLayoutEffect(M, G);
    }, $e.useMemo = function(M, G) {
      return X.current.useMemo(M, G);
    }, $e.useReducer = function(M, G, ee) {
      return X.current.useReducer(M, G, ee);
    }, $e.useRef = function(M) {
      return X.current.useRef(M);
    }, $e.useState = function(M) {
      return X.current.useState(M);
    }, $e.useSyncExternalStore = function(M, G, ee) {
      return X.current.useSyncExternalStore(M, G, ee);
    }, $e.useTransition = function() {
      return X.current.useTransition();
    }, $e.version = "18.3.1", $e;
  }
  var hp;
  function r9() {
    return hp || (hp = 1, _1.exports = ZA()), _1.exports;
  }
  var pp;
  function YA() {
    if (pp) return il;
    pp = 1;
    var e = r9(), t = Symbol.for("react.element"), r = Symbol.for("react.fragment"), n = Object.prototype.hasOwnProperty, a = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, i = {
      key: true,
      ref: true,
      __self: true,
      __source: true
    };
    function l(c, u, x) {
      var f, h = {}, p = null, m = null;
      x !== void 0 && (p = "" + x), u.key !== void 0 && (p = "" + u.key), u.ref !== void 0 && (m = u.ref);
      for (f in u) n.call(u, f) && !i.hasOwnProperty(f) && (h[f] = u[f]);
      if (c && c.defaultProps) for (f in u = c.defaultProps, u) h[f] === void 0 && (h[f] = u[f]);
      return {
        $$typeof: t,
        type: c,
        key: p,
        ref: m,
        props: h,
        _owner: a.current
      };
    }
    return il.Fragment = r, il.jsx = l, il.jsxs = l, il;
  }
  var gp;
  function XA() {
    return gp || (gp = 1, S1.exports = YA()), S1.exports;
  }
  var E = XA(), I1 = {}, sl = {}, mp;
  function JA() {
    if (mp) return sl;
    mp = 1, sl.byteLength = c, sl.toByteArray = x, sl.fromByteArray = p;
    for (var e = [], t = [], r = typeof Uint8Array < "u" ? Uint8Array : Array, n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", a = 0, i = n.length; a < i; ++a) e[a] = n[a], t[n.charCodeAt(a)] = a;
    t[45] = 62, t[95] = 63;
    function l(m) {
      var y = m.length;
      if (y % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
      var B = m.indexOf("=");
      B === -1 && (B = y);
      var v = B === y ? 0 : 4 - B % 4;
      return [
        B,
        v
      ];
    }
    function c(m) {
      var y = l(m), B = y[0], v = y[1];
      return (B + v) * 3 / 4 - v;
    }
    function u(m, y, B) {
      return (y + B) * 3 / 4 - B;
    }
    function x(m) {
      var y, B = l(m), v = B[0], D = B[1], P = new r(u(m, v, D)), k = 0, w = D > 0 ? v - 4 : v, _;
      for (_ = 0; _ < w; _ += 4) y = t[m.charCodeAt(_)] << 18 | t[m.charCodeAt(_ + 1)] << 12 | t[m.charCodeAt(_ + 2)] << 6 | t[m.charCodeAt(_ + 3)], P[k++] = y >> 16 & 255, P[k++] = y >> 8 & 255, P[k++] = y & 255;
      return D === 2 && (y = t[m.charCodeAt(_)] << 2 | t[m.charCodeAt(_ + 1)] >> 4, P[k++] = y & 255), D === 1 && (y = t[m.charCodeAt(_)] << 10 | t[m.charCodeAt(_ + 1)] << 4 | t[m.charCodeAt(_ + 2)] >> 2, P[k++] = y >> 8 & 255, P[k++] = y & 255), P;
    }
    function f(m) {
      return e[m >> 18 & 63] + e[m >> 12 & 63] + e[m >> 6 & 63] + e[m & 63];
    }
    function h(m, y, B) {
      for (var v, D = [], P = y; P < B; P += 3) v = (m[P] << 16 & 16711680) + (m[P + 1] << 8 & 65280) + (m[P + 2] & 255), D.push(f(v));
      return D.join("");
    }
    function p(m) {
      for (var y, B = m.length, v = B % 3, D = [], P = 16383, k = 0, w = B - v; k < w; k += P) D.push(h(m, k, k + P > w ? w : k + P));
      return v === 1 ? (y = m[B - 1], D.push(e[y >> 2] + e[y << 4 & 63] + "==")) : v === 2 && (y = (m[B - 2] << 8) + m[B - 1], D.push(e[y >> 10] + e[y >> 4 & 63] + e[y << 2 & 63] + "=")), D.join("");
    }
    return sl;
  }
  var Lu = {};
  var yp;
  function eb() {
    return yp || (yp = 1, Lu.read = function(e, t, r, n, a) {
      var i, l, c = a * 8 - n - 1, u = (1 << c) - 1, x = u >> 1, f = -7, h = r ? a - 1 : 0, p = r ? -1 : 1, m = e[t + h];
      for (h += p, i = m & (1 << -f) - 1, m >>= -f, f += c; f > 0; i = i * 256 + e[t + h], h += p, f -= 8) ;
      for (l = i & (1 << -f) - 1, i >>= -f, f += n; f > 0; l = l * 256 + e[t + h], h += p, f -= 8) ;
      if (i === 0) i = 1 - x;
      else {
        if (i === u) return l ? NaN : (m ? -1 : 1) * (1 / 0);
        l = l + Math.pow(2, n), i = i - x;
      }
      return (m ? -1 : 1) * l * Math.pow(2, i - n);
    }, Lu.write = function(e, t, r, n, a, i) {
      var l, c, u, x = i * 8 - a - 1, f = (1 << x) - 1, h = f >> 1, p = a === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, m = n ? 0 : i - 1, y = n ? 1 : -1, B = t < 0 || t === 0 && 1 / t < 0 ? 1 : 0;
      for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (c = isNaN(t) ? 1 : 0, l = f) : (l = Math.floor(Math.log(t) / Math.LN2), t * (u = Math.pow(2, -l)) < 1 && (l--, u *= 2), l + h >= 1 ? t += p / u : t += p * Math.pow(2, 1 - h), t * u >= 2 && (l++, u /= 2), l + h >= f ? (c = 0, l = f) : l + h >= 1 ? (c = (t * u - 1) * Math.pow(2, a), l = l + h) : (c = t * Math.pow(2, h - 1) * Math.pow(2, a), l = 0)); a >= 8; e[r + m] = c & 255, m += y, c /= 256, a -= 8) ;
      for (l = l << a | c, x += a; x > 0; e[r + m] = l & 255, m += y, l /= 256, x -= 8) ;
      e[r + m - y] |= B * 128;
    }), Lu;
  }
  var Ep;
  function tb() {
    return Ep || (Ep = 1, (function(e) {
      const t = JA(), r = eb(), n = typeof Symbol == "function" && typeof Symbol.for == "function" ? Symbol.for("nodejs.util.inspect.custom") : null;
      e.Buffer = c, e.SlowBuffer = P, e.INSPECT_MAX_BYTES = 50;
      const a = 2147483647;
      e.kMaxLength = a, c.TYPED_ARRAY_SUPPORT = i(), !c.TYPED_ARRAY_SUPPORT && typeof console < "u" && typeof console.error == "function" && console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");
      function i() {
        try {
          const q = new Uint8Array(1), S = {
            foo: function() {
              return 42;
            }
          };
          return Object.setPrototypeOf(S, Uint8Array.prototype), Object.setPrototypeOf(q, S), q.foo() === 42;
        } catch {
          return false;
        }
      }
      Object.defineProperty(c.prototype, "parent", {
        enumerable: true,
        get: function() {
          if (c.isBuffer(this)) return this.buffer;
        }
      }), Object.defineProperty(c.prototype, "offset", {
        enumerable: true,
        get: function() {
          if (c.isBuffer(this)) return this.byteOffset;
        }
      });
      function l(q) {
        if (q > a) throw new RangeError('The value "' + q + '" is invalid for option "size"');
        const S = new Uint8Array(q);
        return Object.setPrototypeOf(S, c.prototype), S;
      }
      function c(q, S, j) {
        if (typeof q == "number") {
          if (typeof S == "string") throw new TypeError('The "string" argument must be of type string. Received type number');
          return h(q);
        }
        return u(q, S, j);
      }
      c.poolSize = 8192;
      function u(q, S, j) {
        if (typeof q == "string") return p(q, S);
        if (ArrayBuffer.isView(q)) return y(q);
        if (q == null) throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof q);
        if (wt(q, ArrayBuffer) || q && wt(q.buffer, ArrayBuffer) || typeof SharedArrayBuffer < "u" && (wt(q, SharedArrayBuffer) || q && wt(q.buffer, SharedArrayBuffer))) return B(q, S, j);
        if (typeof q == "number") throw new TypeError('The "value" argument must not be of type number. Received type number');
        const Z = q.valueOf && q.valueOf();
        if (Z != null && Z !== q) return c.from(Z, S, j);
        const ne = v(q);
        if (ne) return ne;
        if (typeof Symbol < "u" && Symbol.toPrimitive != null && typeof q[Symbol.toPrimitive] == "function") return c.from(q[Symbol.toPrimitive]("string"), S, j);
        throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof q);
      }
      c.from = function(q, S, j) {
        return u(q, S, j);
      }, Object.setPrototypeOf(c.prototype, Uint8Array.prototype), Object.setPrototypeOf(c, Uint8Array);
      function x(q) {
        if (typeof q != "number") throw new TypeError('"size" argument must be of type number');
        if (q < 0) throw new RangeError('The value "' + q + '" is invalid for option "size"');
      }
      function f(q, S, j) {
        return x(q), q <= 0 ? l(q) : S !== void 0 ? typeof j == "string" ? l(q).fill(S, j) : l(q).fill(S) : l(q);
      }
      c.alloc = function(q, S, j) {
        return f(q, S, j);
      };
      function h(q) {
        return x(q), l(q < 0 ? 0 : D(q) | 0);
      }
      c.allocUnsafe = function(q) {
        return h(q);
      }, c.allocUnsafeSlow = function(q) {
        return h(q);
      };
      function p(q, S) {
        if ((typeof S != "string" || S === "") && (S = "utf8"), !c.isEncoding(S)) throw new TypeError("Unknown encoding: " + S);
        const j = k(q, S) | 0;
        let Z = l(j);
        const ne = Z.write(q, S);
        return ne !== j && (Z = Z.slice(0, ne)), Z;
      }
      function m(q) {
        const S = q.length < 0 ? 0 : D(q.length) | 0, j = l(S);
        for (let Z = 0; Z < S; Z += 1) j[Z] = q[Z] & 255;
        return j;
      }
      function y(q) {
        if (wt(q, Uint8Array)) {
          const S = new Uint8Array(q);
          return B(S.buffer, S.byteOffset, S.byteLength);
        }
        return m(q);
      }
      function B(q, S, j) {
        if (S < 0 || q.byteLength < S) throw new RangeError('"offset" is outside of buffer bounds');
        if (q.byteLength < S + (j || 0)) throw new RangeError('"length" is outside of buffer bounds');
        let Z;
        return S === void 0 && j === void 0 ? Z = new Uint8Array(q) : j === void 0 ? Z = new Uint8Array(q, S) : Z = new Uint8Array(q, S, j), Object.setPrototypeOf(Z, c.prototype), Z;
      }
      function v(q) {
        if (c.isBuffer(q)) {
          const S = D(q.length) | 0, j = l(S);
          return j.length === 0 || q.copy(j, 0, 0, S), j;
        }
        if (q.length !== void 0) return typeof q.length != "number" || _n(q.length) ? l(0) : m(q);
        if (q.type === "Buffer" && Array.isArray(q.data)) return m(q.data);
      }
      function D(q) {
        if (q >= a) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + a.toString(16) + " bytes");
        return q | 0;
      }
      function P(q) {
        return +q != q && (q = 0), c.alloc(+q);
      }
      c.isBuffer = function(S) {
        return S != null && S._isBuffer === true && S !== c.prototype;
      }, c.compare = function(S, j) {
        if (wt(S, Uint8Array) && (S = c.from(S, S.offset, S.byteLength)), wt(j, Uint8Array) && (j = c.from(j, j.offset, j.byteLength)), !c.isBuffer(S) || !c.isBuffer(j)) throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');
        if (S === j) return 0;
        let Z = S.length, ne = j.length;
        for (let ce = 0, pe = Math.min(Z, ne); ce < pe; ++ce) if (S[ce] !== j[ce]) {
          Z = S[ce], ne = j[ce];
          break;
        }
        return Z < ne ? -1 : ne < Z ? 1 : 0;
      }, c.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 true;
          default:
            return false;
        }
      }, c.concat = function(S, j) {
        if (!Array.isArray(S)) throw new TypeError('"list" argument must be an Array of Buffers');
        if (S.length === 0) return c.alloc(0);
        let Z;
        if (j === void 0) for (j = 0, Z = 0; Z < S.length; ++Z) j += S[Z].length;
        const ne = c.allocUnsafe(j);
        let ce = 0;
        for (Z = 0; Z < S.length; ++Z) {
          let pe = S[Z];
          if (wt(pe, Uint8Array)) ce + pe.length > ne.length ? (c.isBuffer(pe) || (pe = c.from(pe)), pe.copy(ne, ce)) : Uint8Array.prototype.set.call(ne, pe, ce);
          else if (c.isBuffer(pe)) pe.copy(ne, ce);
          else throw new TypeError('"list" argument must be an Array of Buffers');
          ce += pe.length;
        }
        return ne;
      };
      function k(q, S) {
        if (c.isBuffer(q)) return q.length;
        if (ArrayBuffer.isView(q) || wt(q, ArrayBuffer)) return q.byteLength;
        if (typeof q != "string") throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof q);
        const j = q.length, Z = arguments.length > 2 && arguments[2] === true;
        if (!Z && j === 0) return 0;
        let ne = false;
        for (; ; ) switch (S) {
          case "ascii":
          case "latin1":
          case "binary":
            return j;
          case "utf8":
          case "utf-8":
            return ze(q).length;
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return j * 2;
          case "hex":
            return j >>> 1;
          case "base64":
            return ft(q).length;
          default:
            if (ne) return Z ? -1 : ze(q).length;
            S = ("" + S).toLowerCase(), ne = true;
        }
      }
      c.byteLength = k;
      function w(q, S, j) {
        let Z = false;
        if ((S === void 0 || S < 0) && (S = 0), S > this.length || ((j === void 0 || j > this.length) && (j = this.length), j <= 0) || (j >>>= 0, S >>>= 0, j <= S)) return "";
        for (q || (q = "utf8"); ; ) switch (q) {
          case "hex":
            return Q(this, S, j);
          case "utf8":
          case "utf-8":
            return O(this, S, j);
          case "ascii":
            return X(this, S, j);
          case "latin1":
          case "binary":
            return Y(this, S, j);
          case "base64":
            return L(this, S, j);
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return V(this, S, j);
          default:
            if (Z) throw new TypeError("Unknown encoding: " + q);
            q = (q + "").toLowerCase(), Z = true;
        }
      }
      c.prototype._isBuffer = true;
      function _(q, S, j) {
        const Z = q[S];
        q[S] = q[j], q[j] = Z;
      }
      c.prototype.swap16 = function() {
        const S = this.length;
        if (S % 2 !== 0) throw new RangeError("Buffer size must be a multiple of 16-bits");
        for (let j = 0; j < S; j += 2) _(this, j, j + 1);
        return this;
      }, c.prototype.swap32 = function() {
        const S = this.length;
        if (S % 4 !== 0) throw new RangeError("Buffer size must be a multiple of 32-bits");
        for (let j = 0; j < S; j += 4) _(this, j, j + 3), _(this, j + 1, j + 2);
        return this;
      }, c.prototype.swap64 = function() {
        const S = this.length;
        if (S % 8 !== 0) throw new RangeError("Buffer size must be a multiple of 64-bits");
        for (let j = 0; j < S; j += 8) _(this, j, j + 7), _(this, j + 1, j + 6), _(this, j + 2, j + 5), _(this, j + 3, j + 4);
        return this;
      }, c.prototype.toString = function() {
        const S = this.length;
        return S === 0 ? "" : arguments.length === 0 ? O(this, 0, S) : w.apply(this, arguments);
      }, c.prototype.toLocaleString = c.prototype.toString, c.prototype.equals = function(S) {
        if (!c.isBuffer(S)) throw new TypeError("Argument must be a Buffer");
        return this === S ? true : c.compare(this, S) === 0;
      }, c.prototype.inspect = function() {
        let S = "";
        const j = e.INSPECT_MAX_BYTES;
        return S = this.toString("hex", 0, j).replace(/(.{2})/g, "$1 ").trim(), this.length > j && (S += " ... "), "<Buffer " + S + ">";
      }, n && (c.prototype[n] = c.prototype.inspect), c.prototype.compare = function(S, j, Z, ne, ce) {
        if (wt(S, Uint8Array) && (S = c.from(S, S.offset, S.byteLength)), !c.isBuffer(S)) throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type ' + typeof S);
        if (j === void 0 && (j = 0), Z === void 0 && (Z = S ? S.length : 0), ne === void 0 && (ne = 0), ce === void 0 && (ce = this.length), j < 0 || Z > S.length || ne < 0 || ce > this.length) throw new RangeError("out of range index");
        if (ne >= ce && j >= Z) return 0;
        if (ne >= ce) return -1;
        if (j >= Z) return 1;
        if (j >>>= 0, Z >>>= 0, ne >>>= 0, ce >>>= 0, this === S) return 0;
        let pe = ce - ne, qe = Z - j;
        const yt = Math.min(pe, qe), Ze = this.slice(ne, ce), We = S.slice(j, Z);
        for (let Je = 0; Je < yt; ++Je) if (Ze[Je] !== We[Je]) {
          pe = Ze[Je], qe = We[Je];
          break;
        }
        return pe < qe ? -1 : qe < pe ? 1 : 0;
      };
      function T(q, S, j, Z, ne) {
        if (q.length === 0) return -1;
        if (typeof j == "string" ? (Z = j, j = 0) : j > 2147483647 ? j = 2147483647 : j < -2147483648 && (j = -2147483648), j = +j, _n(j) && (j = ne ? 0 : q.length - 1), j < 0 && (j = q.length + j), j >= q.length) {
          if (ne) return -1;
          j = q.length - 1;
        } else if (j < 0) if (ne) j = 0;
        else return -1;
        if (typeof S == "string" && (S = c.from(S, Z)), c.isBuffer(S)) return S.length === 0 ? -1 : N(q, S, j, Z, ne);
        if (typeof S == "number") return S = S & 255, typeof Uint8Array.prototype.indexOf == "function" ? ne ? Uint8Array.prototype.indexOf.call(q, S, j) : Uint8Array.prototype.lastIndexOf.call(q, S, j) : N(q, [
          S
        ], j, Z, ne);
        throw new TypeError("val must be string, number or Buffer");
      }
      function N(q, S, j, Z, ne) {
        let ce = 1, pe = q.length, qe = S.length;
        if (Z !== void 0 && (Z = String(Z).toLowerCase(), Z === "ucs2" || Z === "ucs-2" || Z === "utf16le" || Z === "utf-16le")) {
          if (q.length < 2 || S.length < 2) return -1;
          ce = 2, pe /= 2, qe /= 2, j /= 2;
        }
        function yt(We, Je) {
          return ce === 1 ? We[Je] : We.readUInt16BE(Je * ce);
        }
        let Ze;
        if (ne) {
          let We = -1;
          for (Ze = j; Ze < pe; Ze++) if (yt(q, Ze) === yt(S, We === -1 ? 0 : Ze - We)) {
            if (We === -1 && (We = Ze), Ze - We + 1 === qe) return We * ce;
          } else We !== -1 && (Ze -= Ze - We), We = -1;
        } else for (j + qe > pe && (j = pe - qe), Ze = j; Ze >= 0; Ze--) {
          let We = true;
          for (let Je = 0; Je < qe; Je++) if (yt(q, Ze + Je) !== yt(S, Je)) {
            We = false;
            break;
          }
          if (We) return Ze;
        }
        return -1;
      }
      c.prototype.includes = function(S, j, Z) {
        return this.indexOf(S, j, Z) !== -1;
      }, c.prototype.indexOf = function(S, j, Z) {
        return T(this, S, j, Z, true);
      }, c.prototype.lastIndexOf = function(S, j, Z) {
        return T(this, S, j, Z, false);
      };
      function U(q, S, j, Z) {
        j = Number(j) || 0;
        const ne = q.length - j;
        Z ? (Z = Number(Z), Z > ne && (Z = ne)) : Z = ne;
        const ce = S.length;
        Z > ce / 2 && (Z = ce / 2);
        let pe;
        for (pe = 0; pe < Z; ++pe) {
          const qe = parseInt(S.substr(pe * 2, 2), 16);
          if (_n(qe)) return pe;
          q[j + pe] = qe;
        }
        return pe;
      }
      function C(q, S, j, Z) {
        return rt(ze(S, q.length - j), q, j, Z);
      }
      function z(q, S, j, Z) {
        return rt(Qe(S), q, j, Z);
      }
      function I(q, S, j, Z) {
        return rt(ft(S), q, j, Z);
      }
      function R(q, S, j, Z) {
        return rt(Le(S, q.length - j), q, j, Z);
      }
      c.prototype.write = function(S, j, Z, ne) {
        if (j === void 0) ne = "utf8", Z = this.length, j = 0;
        else if (Z === void 0 && typeof j == "string") ne = j, Z = this.length, j = 0;
        else if (isFinite(j)) j = j >>> 0, isFinite(Z) ? (Z = Z >>> 0, ne === void 0 && (ne = "utf8")) : (ne = Z, Z = void 0);
        else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
        const ce = this.length - j;
        if ((Z === void 0 || Z > ce) && (Z = ce), S.length > 0 && (Z < 0 || j < 0) || j > this.length) throw new RangeError("Attempt to write outside buffer bounds");
        ne || (ne = "utf8");
        let pe = false;
        for (; ; ) switch (ne) {
          case "hex":
            return U(this, S, j, Z);
          case "utf8":
          case "utf-8":
            return C(this, S, j, Z);
          case "ascii":
          case "latin1":
          case "binary":
            return z(this, S, j, Z);
          case "base64":
            return I(this, S, j, Z);
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return R(this, S, j, Z);
          default:
            if (pe) throw new TypeError("Unknown encoding: " + ne);
            ne = ("" + ne).toLowerCase(), pe = true;
        }
      }, c.prototype.toJSON = function() {
        return {
          type: "Buffer",
          data: Array.prototype.slice.call(this._arr || this, 0)
        };
      };
      function L(q, S, j) {
        return S === 0 && j === q.length ? t.fromByteArray(q) : t.fromByteArray(q.slice(S, j));
      }
      function O(q, S, j) {
        j = Math.min(q.length, j);
        const Z = [];
        let ne = S;
        for (; ne < j; ) {
          const ce = q[ne];
          let pe = null, qe = ce > 239 ? 4 : ce > 223 ? 3 : ce > 191 ? 2 : 1;
          if (ne + qe <= j) {
            let yt, Ze, We, Je;
            switch (qe) {
              case 1:
                ce < 128 && (pe = ce);
                break;
              case 2:
                yt = q[ne + 1], (yt & 192) === 128 && (Je = (ce & 31) << 6 | yt & 63, Je > 127 && (pe = Je));
                break;
              case 3:
                yt = q[ne + 1], Ze = q[ne + 2], (yt & 192) === 128 && (Ze & 192) === 128 && (Je = (ce & 15) << 12 | (yt & 63) << 6 | Ze & 63, Je > 2047 && (Je < 55296 || Je > 57343) && (pe = Je));
                break;
              case 4:
                yt = q[ne + 1], Ze = q[ne + 2], We = q[ne + 3], (yt & 192) === 128 && (Ze & 192) === 128 && (We & 192) === 128 && (Je = (ce & 15) << 18 | (yt & 63) << 12 | (Ze & 63) << 6 | We & 63, Je > 65535 && Je < 1114112 && (pe = Je));
            }
          }
          pe === null ? (pe = 65533, qe = 1) : pe > 65535 && (pe -= 65536, Z.push(pe >>> 10 & 1023 | 55296), pe = 56320 | pe & 1023), Z.push(pe), ne += qe;
        }
        return $(Z);
      }
      const W = 4096;
      function $(q) {
        const S = q.length;
        if (S <= W) return String.fromCharCode.apply(String, q);
        let j = "", Z = 0;
        for (; Z < S; ) j += String.fromCharCode.apply(String, q.slice(Z, Z += W));
        return j;
      }
      function X(q, S, j) {
        let Z = "";
        j = Math.min(q.length, j);
        for (let ne = S; ne < j; ++ne) Z += String.fromCharCode(q[ne] & 127);
        return Z;
      }
      function Y(q, S, j) {
        let Z = "";
        j = Math.min(q.length, j);
        for (let ne = S; ne < j; ++ne) Z += String.fromCharCode(q[ne]);
        return Z;
      }
      function Q(q, S, j) {
        const Z = q.length;
        (!S || S < 0) && (S = 0), (!j || j < 0 || j > Z) && (j = Z);
        let ne = "";
        for (let ce = S; ce < j; ++ce) ne += Wr[q[ce]];
        return ne;
      }
      function V(q, S, j) {
        const Z = q.slice(S, j);
        let ne = "";
        for (let ce = 0; ce < Z.length - 1; ce += 2) ne += String.fromCharCode(Z[ce] + Z[ce + 1] * 256);
        return ne;
      }
      c.prototype.slice = function(S, j) {
        const Z = this.length;
        S = ~~S, j = j === void 0 ? Z : ~~j, S < 0 ? (S += Z, S < 0 && (S = 0)) : S > Z && (S = Z), j < 0 ? (j += Z, j < 0 && (j = 0)) : j > Z && (j = Z), j < S && (j = S);
        const ne = this.subarray(S, j);
        return Object.setPrototypeOf(ne, c.prototype), ne;
      };
      function M(q, S, j) {
        if (q % 1 !== 0 || q < 0) throw new RangeError("offset is not uint");
        if (q + S > j) throw new RangeError("Trying to access beyond buffer length");
      }
      c.prototype.readUintLE = c.prototype.readUIntLE = function(S, j, Z) {
        S = S >>> 0, j = j >>> 0, Z || M(S, j, this.length);
        let ne = this[S], ce = 1, pe = 0;
        for (; ++pe < j && (ce *= 256); ) ne += this[S + pe] * ce;
        return ne;
      }, c.prototype.readUintBE = c.prototype.readUIntBE = function(S, j, Z) {
        S = S >>> 0, j = j >>> 0, Z || M(S, j, this.length);
        let ne = this[S + --j], ce = 1;
        for (; j > 0 && (ce *= 256); ) ne += this[S + --j] * ce;
        return ne;
      }, c.prototype.readUint8 = c.prototype.readUInt8 = function(S, j) {
        return S = S >>> 0, j || M(S, 1, this.length), this[S];
      }, c.prototype.readUint16LE = c.prototype.readUInt16LE = function(S, j) {
        return S = S >>> 0, j || M(S, 2, this.length), this[S] | this[S + 1] << 8;
      }, c.prototype.readUint16BE = c.prototype.readUInt16BE = function(S, j) {
        return S = S >>> 0, j || M(S, 2, this.length), this[S] << 8 | this[S + 1];
      }, c.prototype.readUint32LE = c.prototype.readUInt32LE = function(S, j) {
        return S = S >>> 0, j || M(S, 4, this.length), (this[S] | this[S + 1] << 8 | this[S + 2] << 16) + this[S + 3] * 16777216;
      }, c.prototype.readUint32BE = c.prototype.readUInt32BE = function(S, j) {
        return S = S >>> 0, j || M(S, 4, this.length), this[S] * 16777216 + (this[S + 1] << 16 | this[S + 2] << 8 | this[S + 3]);
      }, c.prototype.readBigUInt64LE = Ir(function(S) {
        S = S >>> 0, Ie(S, "offset");
        const j = this[S], Z = this[S + 7];
        (j === void 0 || Z === void 0) && Ue(S, this.length - 8);
        const ne = j + this[++S] * 2 ** 8 + this[++S] * 2 ** 16 + this[++S] * 2 ** 24, ce = this[++S] + this[++S] * 2 ** 8 + this[++S] * 2 ** 16 + Z * 2 ** 24;
        return BigInt(ne) + (BigInt(ce) << BigInt(32));
      }), c.prototype.readBigUInt64BE = Ir(function(S) {
        S = S >>> 0, Ie(S, "offset");
        const j = this[S], Z = this[S + 7];
        (j === void 0 || Z === void 0) && Ue(S, this.length - 8);
        const ne = j * 2 ** 24 + this[++S] * 2 ** 16 + this[++S] * 2 ** 8 + this[++S], ce = this[++S] * 2 ** 24 + this[++S] * 2 ** 16 + this[++S] * 2 ** 8 + Z;
        return (BigInt(ne) << BigInt(32)) + BigInt(ce);
      }), c.prototype.readIntLE = function(S, j, Z) {
        S = S >>> 0, j = j >>> 0, Z || M(S, j, this.length);
        let ne = this[S], ce = 1, pe = 0;
        for (; ++pe < j && (ce *= 256); ) ne += this[S + pe] * ce;
        return ce *= 128, ne >= ce && (ne -= Math.pow(2, 8 * j)), ne;
      }, c.prototype.readIntBE = function(S, j, Z) {
        S = S >>> 0, j = j >>> 0, Z || M(S, j, this.length);
        let ne = j, ce = 1, pe = this[S + --ne];
        for (; ne > 0 && (ce *= 256); ) pe += this[S + --ne] * ce;
        return ce *= 128, pe >= ce && (pe -= Math.pow(2, 8 * j)), pe;
      }, c.prototype.readInt8 = function(S, j) {
        return S = S >>> 0, j || M(S, 1, this.length), this[S] & 128 ? (255 - this[S] + 1) * -1 : this[S];
      }, c.prototype.readInt16LE = function(S, j) {
        S = S >>> 0, j || M(S, 2, this.length);
        const Z = this[S] | this[S + 1] << 8;
        return Z & 32768 ? Z | 4294901760 : Z;
      }, c.prototype.readInt16BE = function(S, j) {
        S = S >>> 0, j || M(S, 2, this.length);
        const Z = this[S + 1] | this[S] << 8;
        return Z & 32768 ? Z | 4294901760 : Z;
      }, c.prototype.readInt32LE = function(S, j) {
        return S = S >>> 0, j || M(S, 4, this.length), this[S] | this[S + 1] << 8 | this[S + 2] << 16 | this[S + 3] << 24;
      }, c.prototype.readInt32BE = function(S, j) {
        return S = S >>> 0, j || M(S, 4, this.length), this[S] << 24 | this[S + 1] << 16 | this[S + 2] << 8 | this[S + 3];
      }, c.prototype.readBigInt64LE = Ir(function(S) {
        S = S >>> 0, Ie(S, "offset");
        const j = this[S], Z = this[S + 7];
        (j === void 0 || Z === void 0) && Ue(S, this.length - 8);
        const ne = this[S + 4] + this[S + 5] * 2 ** 8 + this[S + 6] * 2 ** 16 + (Z << 24);
        return (BigInt(ne) << BigInt(32)) + BigInt(j + this[++S] * 2 ** 8 + this[++S] * 2 ** 16 + this[++S] * 2 ** 24);
      }), c.prototype.readBigInt64BE = Ir(function(S) {
        S = S >>> 0, Ie(S, "offset");
        const j = this[S], Z = this[S + 7];
        (j === void 0 || Z === void 0) && Ue(S, this.length - 8);
        const ne = (j << 24) + this[++S] * 2 ** 16 + this[++S] * 2 ** 8 + this[++S];
        return (BigInt(ne) << BigInt(32)) + BigInt(this[++S] * 2 ** 24 + this[++S] * 2 ** 16 + this[++S] * 2 ** 8 + Z);
      }), c.prototype.readFloatLE = function(S, j) {
        return S = S >>> 0, j || M(S, 4, this.length), r.read(this, S, true, 23, 4);
      }, c.prototype.readFloatBE = function(S, j) {
        return S = S >>> 0, j || M(S, 4, this.length), r.read(this, S, false, 23, 4);
      }, c.prototype.readDoubleLE = function(S, j) {
        return S = S >>> 0, j || M(S, 8, this.length), r.read(this, S, true, 52, 8);
      }, c.prototype.readDoubleBE = function(S, j) {
        return S = S >>> 0, j || M(S, 8, this.length), r.read(this, S, false, 52, 8);
      };
      function G(q, S, j, Z, ne, ce) {
        if (!c.isBuffer(q)) throw new TypeError('"buffer" argument must be a Buffer instance');
        if (S > ne || S < ce) throw new RangeError('"value" argument is out of bounds');
        if (j + Z > q.length) throw new RangeError("Index out of range");
      }
      c.prototype.writeUintLE = c.prototype.writeUIntLE = function(S, j, Z, ne) {
        if (S = +S, j = j >>> 0, Z = Z >>> 0, !ne) {
          const qe = Math.pow(2, 8 * Z) - 1;
          G(this, S, j, Z, qe, 0);
        }
        let ce = 1, pe = 0;
        for (this[j] = S & 255; ++pe < Z && (ce *= 256); ) this[j + pe] = S / ce & 255;
        return j + Z;
      }, c.prototype.writeUintBE = c.prototype.writeUIntBE = function(S, j, Z, ne) {
        if (S = +S, j = j >>> 0, Z = Z >>> 0, !ne) {
          const qe = Math.pow(2, 8 * Z) - 1;
          G(this, S, j, Z, qe, 0);
        }
        let ce = Z - 1, pe = 1;
        for (this[j + ce] = S & 255; --ce >= 0 && (pe *= 256); ) this[j + ce] = S / pe & 255;
        return j + Z;
      }, c.prototype.writeUint8 = c.prototype.writeUInt8 = function(S, j, Z) {
        return S = +S, j = j >>> 0, Z || G(this, S, j, 1, 255, 0), this[j] = S & 255, j + 1;
      }, c.prototype.writeUint16LE = c.prototype.writeUInt16LE = function(S, j, Z) {
        return S = +S, j = j >>> 0, Z || G(this, S, j, 2, 65535, 0), this[j] = S & 255, this[j + 1] = S >>> 8, j + 2;
      }, c.prototype.writeUint16BE = c.prototype.writeUInt16BE = function(S, j, Z) {
        return S = +S, j = j >>> 0, Z || G(this, S, j, 2, 65535, 0), this[j] = S >>> 8, this[j + 1] = S & 255, j + 2;
      }, c.prototype.writeUint32LE = c.prototype.writeUInt32LE = function(S, j, Z) {
        return S = +S, j = j >>> 0, Z || G(this, S, j, 4, 4294967295, 0), this[j + 3] = S >>> 24, this[j + 2] = S >>> 16, this[j + 1] = S >>> 8, this[j] = S & 255, j + 4;
      }, c.prototype.writeUint32BE = c.prototype.writeUInt32BE = function(S, j, Z) {
        return S = +S, j = j >>> 0, Z || G(this, S, j, 4, 4294967295, 0), this[j] = S >>> 24, this[j + 1] = S >>> 16, this[j + 2] = S >>> 8, this[j + 3] = S & 255, j + 4;
      };
      function ee(q, S, j, Z, ne) {
        Ce(S, Z, ne, q, j, 7);
        let ce = Number(S & BigInt(4294967295));
        q[j++] = ce, ce = ce >> 8, q[j++] = ce, ce = ce >> 8, q[j++] = ce, ce = ce >> 8, q[j++] = ce;
        let pe = Number(S >> BigInt(32) & BigInt(4294967295));
        return q[j++] = pe, pe = pe >> 8, q[j++] = pe, pe = pe >> 8, q[j++] = pe, pe = pe >> 8, q[j++] = pe, j;
      }
      function te(q, S, j, Z, ne) {
        Ce(S, Z, ne, q, j, 7);
        let ce = Number(S & BigInt(4294967295));
        q[j + 7] = ce, ce = ce >> 8, q[j + 6] = ce, ce = ce >> 8, q[j + 5] = ce, ce = ce >> 8, q[j + 4] = ce;
        let pe = Number(S >> BigInt(32) & BigInt(4294967295));
        return q[j + 3] = pe, pe = pe >> 8, q[j + 2] = pe, pe = pe >> 8, q[j + 1] = pe, pe = pe >> 8, q[j] = pe, j + 8;
      }
      c.prototype.writeBigUInt64LE = Ir(function(S, j = 0) {
        return ee(this, S, j, BigInt(0), BigInt("0xffffffffffffffff"));
      }), c.prototype.writeBigUInt64BE = Ir(function(S, j = 0) {
        return te(this, S, j, BigInt(0), BigInt("0xffffffffffffffff"));
      }), c.prototype.writeIntLE = function(S, j, Z, ne) {
        if (S = +S, j = j >>> 0, !ne) {
          const yt = Math.pow(2, 8 * Z - 1);
          G(this, S, j, Z, yt - 1, -yt);
        }
        let ce = 0, pe = 1, qe = 0;
        for (this[j] = S & 255; ++ce < Z && (pe *= 256); ) S < 0 && qe === 0 && this[j + ce - 1] !== 0 && (qe = 1), this[j + ce] = (S / pe >> 0) - qe & 255;
        return j + Z;
      }, c.prototype.writeIntBE = function(S, j, Z, ne) {
        if (S = +S, j = j >>> 0, !ne) {
          const yt = Math.pow(2, 8 * Z - 1);
          G(this, S, j, Z, yt - 1, -yt);
        }
        let ce = Z - 1, pe = 1, qe = 0;
        for (this[j + ce] = S & 255; --ce >= 0 && (pe *= 256); ) S < 0 && qe === 0 && this[j + ce + 1] !== 0 && (qe = 1), this[j + ce] = (S / pe >> 0) - qe & 255;
        return j + Z;
      }, c.prototype.writeInt8 = function(S, j, Z) {
        return S = +S, j = j >>> 0, Z || G(this, S, j, 1, 127, -128), S < 0 && (S = 255 + S + 1), this[j] = S & 255, j + 1;
      }, c.prototype.writeInt16LE = function(S, j, Z) {
        return S = +S, j = j >>> 0, Z || G(this, S, j, 2, 32767, -32768), this[j] = S & 255, this[j + 1] = S >>> 8, j + 2;
      }, c.prototype.writeInt16BE = function(S, j, Z) {
        return S = +S, j = j >>> 0, Z || G(this, S, j, 2, 32767, -32768), this[j] = S >>> 8, this[j + 1] = S & 255, j + 2;
      }, c.prototype.writeInt32LE = function(S, j, Z) {
        return S = +S, j = j >>> 0, Z || G(this, S, j, 4, 2147483647, -2147483648), this[j] = S & 255, this[j + 1] = S >>> 8, this[j + 2] = S >>> 16, this[j + 3] = S >>> 24, j + 4;
      }, c.prototype.writeInt32BE = function(S, j, Z) {
        return S = +S, j = j >>> 0, Z || G(this, S, j, 4, 2147483647, -2147483648), S < 0 && (S = 4294967295 + S + 1), this[j] = S >>> 24, this[j + 1] = S >>> 16, this[j + 2] = S >>> 8, this[j + 3] = S & 255, j + 4;
      }, c.prototype.writeBigInt64LE = Ir(function(S, j = 0) {
        return ee(this, S, j, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
      }), c.prototype.writeBigInt64BE = Ir(function(S, j = 0) {
        return te(this, S, j, -BigInt("0x8000000000000000"), BigInt("0x7fffffffffffffff"));
      });
      function oe(q, S, j, Z, ne, ce) {
        if (j + Z > q.length) throw new RangeError("Index out of range");
        if (j < 0) throw new RangeError("Index out of range");
      }
      function ie(q, S, j, Z, ne) {
        return S = +S, j = j >>> 0, ne || oe(q, S, j, 4), r.write(q, S, j, Z, 23, 4), j + 4;
      }
      c.prototype.writeFloatLE = function(S, j, Z) {
        return ie(this, S, j, true, Z);
      }, c.prototype.writeFloatBE = function(S, j, Z) {
        return ie(this, S, j, false, Z);
      };
      function xe(q, S, j, Z, ne) {
        return S = +S, j = j >>> 0, ne || oe(q, S, j, 8), r.write(q, S, j, Z, 52, 8), j + 8;
      }
      c.prototype.writeDoubleLE = function(S, j, Z) {
        return xe(this, S, j, true, Z);
      }, c.prototype.writeDoubleBE = function(S, j, Z) {
        return xe(this, S, j, false, Z);
      }, c.prototype.copy = function(S, j, Z, ne) {
        if (!c.isBuffer(S)) throw new TypeError("argument should be a Buffer");
        if (Z || (Z = 0), !ne && ne !== 0 && (ne = this.length), j >= S.length && (j = S.length), j || (j = 0), ne > 0 && ne < Z && (ne = Z), ne === Z || S.length === 0 || this.length === 0) return 0;
        if (j < 0) throw new RangeError("targetStart out of bounds");
        if (Z < 0 || Z >= this.length) throw new RangeError("Index out of range");
        if (ne < 0) throw new RangeError("sourceEnd out of bounds");
        ne > this.length && (ne = this.length), S.length - j < ne - Z && (ne = S.length - j + Z);
        const ce = ne - Z;
        return this === S && typeof Uint8Array.prototype.copyWithin == "function" ? this.copyWithin(j, Z, ne) : Uint8Array.prototype.set.call(S, this.subarray(Z, ne), j), ce;
      }, c.prototype.fill = function(S, j, Z, ne) {
        if (typeof S == "string") {
          if (typeof j == "string" ? (ne = j, j = 0, Z = this.length) : typeof Z == "string" && (ne = Z, Z = this.length), ne !== void 0 && typeof ne != "string") throw new TypeError("encoding must be a string");
          if (typeof ne == "string" && !c.isEncoding(ne)) throw new TypeError("Unknown encoding: " + ne);
          if (S.length === 1) {
            const pe = S.charCodeAt(0);
            (ne === "utf8" && pe < 128 || ne === "latin1") && (S = pe);
          }
        } else typeof S == "number" ? S = S & 255 : typeof S == "boolean" && (S = Number(S));
        if (j < 0 || this.length < j || this.length < Z) throw new RangeError("Out of range index");
        if (Z <= j) return this;
        j = j >>> 0, Z = Z === void 0 ? this.length : Z >>> 0, S || (S = 0);
        let ce;
        if (typeof S == "number") for (ce = j; ce < Z; ++ce) this[ce] = S;
        else {
          const pe = c.isBuffer(S) ? S : c.from(S, ne), qe = pe.length;
          if (qe === 0) throw new TypeError('The value "' + S + '" is invalid for argument "value"');
          for (ce = 0; ce < Z - j; ++ce) this[ce + j] = pe[ce % qe];
        }
        return this;
      };
      const de = {};
      function he(q, S, j) {
        de[q] = class extends j {
          constructor() {
            super(), Object.defineProperty(this, "message", {
              value: S.apply(this, arguments),
              writable: true,
              configurable: true
            }), this.name = `${this.name} [${q}]`, this.stack, delete this.name;
          }
          get code() {
            return q;
          }
          set code(ne) {
            Object.defineProperty(this, "code", {
              configurable: true,
              enumerable: true,
              value: ne,
              writable: true
            });
          }
          toString() {
            return `${this.name} [${q}]: ${this.message}`;
          }
        };
      }
      he("ERR_BUFFER_OUT_OF_BOUNDS", function(q) {
        return q ? `${q} is outside of buffer bounds` : "Attempt to access memory outside buffer bounds";
      }, RangeError), he("ERR_INVALID_ARG_TYPE", function(q, S) {
        return `The "${q}" argument must be of type number. Received type ${typeof S}`;
      }, TypeError), he("ERR_OUT_OF_RANGE", function(q, S, j) {
        let Z = `The value of "${q}" is out of range.`, ne = j;
        return Number.isInteger(j) && Math.abs(j) > 2 ** 32 ? ne = be(String(j)) : typeof j == "bigint" && (ne = String(j), (j > BigInt(2) ** BigInt(32) || j < -(BigInt(2) ** BigInt(32))) && (ne = be(ne)), ne += "n"), Z += ` It must be ${S}. Received ${ne}`, Z;
      }, RangeError);
      function be(q) {
        let S = "", j = q.length;
        const Z = q[0] === "-" ? 1 : 0;
        for (; j >= Z + 4; j -= 3) S = `_${q.slice(j - 3, j)}${S}`;
        return `${q.slice(0, j)}${S}`;
      }
      function ve(q, S, j) {
        Ie(S, "offset"), (q[S] === void 0 || q[S + j] === void 0) && Ue(S, q.length - (j + 1));
      }
      function Ce(q, S, j, Z, ne, ce) {
        if (q > j || q < S) {
          const pe = typeof S == "bigint" ? "n" : "";
          let qe;
          throw S === 0 || S === BigInt(0) ? qe = `>= 0${pe} and < 2${pe} ** ${(ce + 1) * 8}${pe}` : qe = `>= -(2${pe} ** ${(ce + 1) * 8 - 1}${pe}) and < 2 ** ${(ce + 1) * 8 - 1}${pe}`, new de.ERR_OUT_OF_RANGE("value", qe, q);
        }
        ve(Z, ne, ce);
      }
      function Ie(q, S) {
        if (typeof q != "number") throw new de.ERR_INVALID_ARG_TYPE(S, "number", q);
      }
      function Ue(q, S, j) {
        throw Math.floor(q) !== q ? (Ie(q, j), new de.ERR_OUT_OF_RANGE("offset", "an integer", q)) : S < 0 ? new de.ERR_BUFFER_OUT_OF_BOUNDS() : new de.ERR_OUT_OF_RANGE("offset", `>= 0 and <= ${S}`, q);
      }
      const ge = /[^+/0-9A-Za-z-_]/g;
      function ke(q) {
        if (q = q.split("=")[0], q = q.trim().replace(ge, ""), q.length < 2) return "";
        for (; q.length % 4 !== 0; ) q = q + "=";
        return q;
      }
      function ze(q, S) {
        S = S || 1 / 0;
        let j;
        const Z = q.length;
        let ne = null;
        const ce = [];
        for (let pe = 0; pe < Z; ++pe) {
          if (j = q.charCodeAt(pe), j > 55295 && j < 57344) {
            if (!ne) {
              if (j > 56319) {
                (S -= 3) > -1 && ce.push(239, 191, 189);
                continue;
              } else if (pe + 1 === Z) {
                (S -= 3) > -1 && ce.push(239, 191, 189);
                continue;
              }
              ne = j;
              continue;
            }
            if (j < 56320) {
              (S -= 3) > -1 && ce.push(239, 191, 189), ne = j;
              continue;
            }
            j = (ne - 55296 << 10 | j - 56320) + 65536;
          } else ne && (S -= 3) > -1 && ce.push(239, 191, 189);
          if (ne = null, j < 128) {
            if ((S -= 1) < 0) break;
            ce.push(j);
          } else if (j < 2048) {
            if ((S -= 2) < 0) break;
            ce.push(j >> 6 | 192, j & 63 | 128);
          } else if (j < 65536) {
            if ((S -= 3) < 0) break;
            ce.push(j >> 12 | 224, j >> 6 & 63 | 128, j & 63 | 128);
          } else if (j < 1114112) {
            if ((S -= 4) < 0) break;
            ce.push(j >> 18 | 240, j >> 12 & 63 | 128, j >> 6 & 63 | 128, j & 63 | 128);
          } else throw new Error("Invalid code point");
        }
        return ce;
      }
      function Qe(q) {
        const S = [];
        for (let j = 0; j < q.length; ++j) S.push(q.charCodeAt(j) & 255);
        return S;
      }
      function Le(q, S) {
        let j, Z, ne;
        const ce = [];
        for (let pe = 0; pe < q.length && !((S -= 2) < 0); ++pe) j = q.charCodeAt(pe), Z = j >> 8, ne = j % 256, ce.push(ne), ce.push(Z);
        return ce;
      }
      function ft(q) {
        return t.toByteArray(ke(q));
      }
      function rt(q, S, j, Z) {
        let ne;
        for (ne = 0; ne < Z && !(ne + j >= S.length || ne >= q.length); ++ne) S[ne + j] = q[ne];
        return ne;
      }
      function wt(q, S) {
        return q instanceof S || q != null && q.constructor != null && q.constructor.name != null && q.constructor.name === S.name;
      }
      function _n(q) {
        return q !== q;
      }
      const Wr = (function() {
        const q = "0123456789abcdef", S = new Array(256);
        for (let j = 0; j < 16; ++j) {
          const Z = j * 16;
          for (let ne = 0; ne < 16; ++ne) S[Z + ne] = q[j] + q[ne];
        }
        return S;
      })();
      function Ir(q) {
        return typeof BigInt > "u" ? dr : q;
      }
      function dr() {
        throw new Error("BigInt not supported");
      }
    })(I1)), I1;
  }
  var fg = tb();
  typeof window < "u" && (window.Buffer = fg.Buffer, window.global = window);
  var fe = r9(), Ou = {}, P1 = {
    exports: {}
  }, Tr = {}, N1 = {
    exports: {}
  }, j1 = {};
  var Ap;
  function rb() {
    return Ap || (Ap = 1, (function(e) {
      function t(Y, Q) {
        var V = Y.length;
        Y.push(Q);
        e: for (; 0 < V; ) {
          var M = V - 1 >>> 1, G = Y[M];
          if (0 < a(G, Q)) Y[M] = Q, Y[V] = G, V = M;
          else break e;
        }
      }
      function r(Y) {
        return Y.length === 0 ? null : Y[0];
      }
      function n(Y) {
        if (Y.length === 0) return null;
        var Q = Y[0], V = Y.pop();
        if (V !== Q) {
          Y[0] = V;
          e: for (var M = 0, G = Y.length, ee = G >>> 1; M < ee; ) {
            var te = 2 * (M + 1) - 1, oe = Y[te], ie = te + 1, xe = Y[ie];
            if (0 > a(oe, V)) ie < G && 0 > a(xe, oe) ? (Y[M] = xe, Y[ie] = V, M = ie) : (Y[M] = oe, Y[te] = V, M = te);
            else if (ie < G && 0 > a(xe, V)) Y[M] = xe, Y[ie] = V, M = ie;
            else break e;
          }
        }
        return Q;
      }
      function a(Y, Q) {
        var V = Y.sortIndex - Q.sortIndex;
        return V !== 0 ? V : Y.id - Q.id;
      }
      if (typeof performance == "object" && typeof performance.now == "function") {
        var i = performance;
        e.unstable_now = function() {
          return i.now();
        };
      } else {
        var l = Date, c = l.now();
        e.unstable_now = function() {
          return l.now() - c;
        };
      }
      var u = [], x = [], f = 1, h = null, p = 3, m = false, y = false, B = false, v = typeof setTimeout == "function" ? setTimeout : null, D = typeof clearTimeout == "function" ? clearTimeout : null, P = typeof setImmediate < "u" ? setImmediate : null;
      typeof navigator < "u" && navigator.scheduling !== void 0 && navigator.scheduling.isInputPending !== void 0 && navigator.scheduling.isInputPending.bind(navigator.scheduling);
      function k(Y) {
        for (var Q = r(x); Q !== null; ) {
          if (Q.callback === null) n(x);
          else if (Q.startTime <= Y) n(x), Q.sortIndex = Q.expirationTime, t(u, Q);
          else break;
          Q = r(x);
        }
      }
      function w(Y) {
        if (B = false, k(Y), !y) if (r(u) !== null) y = true, $(_);
        else {
          var Q = r(x);
          Q !== null && X(w, Q.startTime - Y);
        }
      }
      function _(Y, Q) {
        y = false, B && (B = false, D(U), U = -1), m = true;
        var V = p;
        try {
          for (k(Q), h = r(u); h !== null && (!(h.expirationTime > Q) || Y && !I()); ) {
            var M = h.callback;
            if (typeof M == "function") {
              h.callback = null, p = h.priorityLevel;
              var G = M(h.expirationTime <= Q);
              Q = e.unstable_now(), typeof G == "function" ? h.callback = G : h === r(u) && n(u), k(Q);
            } else n(u);
            h = r(u);
          }
          if (h !== null) var ee = true;
          else {
            var te = r(x);
            te !== null && X(w, te.startTime - Q), ee = false;
          }
          return ee;
        } finally {
          h = null, p = V, m = false;
        }
      }
      var T = false, N = null, U = -1, C = 5, z = -1;
      function I() {
        return !(e.unstable_now() - z < C);
      }
      function R() {
        if (N !== null) {
          var Y = e.unstable_now();
          z = Y;
          var Q = true;
          try {
            Q = N(true, Y);
          } finally {
            Q ? L() : (T = false, N = null);
          }
        } else T = false;
      }
      var L;
      if (typeof P == "function") L = function() {
        P(R);
      };
      else if (typeof MessageChannel < "u") {
        var O = new MessageChannel(), W = O.port2;
        O.port1.onmessage = R, L = function() {
          W.postMessage(null);
        };
      } else L = function() {
        v(R, 0);
      };
      function $(Y) {
        N = Y, T || (T = true, L());
      }
      function X(Y, Q) {
        U = v(function() {
          Y(e.unstable_now());
        }, Q);
      }
      e.unstable_IdlePriority = 5, e.unstable_ImmediatePriority = 1, e.unstable_LowPriority = 4, e.unstable_NormalPriority = 3, e.unstable_Profiling = null, e.unstable_UserBlockingPriority = 2, e.unstable_cancelCallback = function(Y) {
        Y.callback = null;
      }, e.unstable_continueExecution = function() {
        y || m || (y = true, $(_));
      }, e.unstable_forceFrameRate = function(Y) {
        0 > Y || 125 < Y ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : C = 0 < Y ? Math.floor(1e3 / Y) : 5;
      }, e.unstable_getCurrentPriorityLevel = function() {
        return p;
      }, e.unstable_getFirstCallbackNode = function() {
        return r(u);
      }, e.unstable_next = function(Y) {
        switch (p) {
          case 1:
          case 2:
          case 3:
            var Q = 3;
            break;
          default:
            Q = p;
        }
        var V = p;
        p = Q;
        try {
          return Y();
        } finally {
          p = V;
        }
      }, e.unstable_pauseExecution = function() {
      }, e.unstable_requestPaint = function() {
      }, e.unstable_runWithPriority = function(Y, Q) {
        switch (Y) {
          case 1:
          case 2:
          case 3:
          case 4:
          case 5:
            break;
          default:
            Y = 3;
        }
        var V = p;
        p = Y;
        try {
          return Q();
        } finally {
          p = V;
        }
      }, e.unstable_scheduleCallback = function(Y, Q, V) {
        var M = e.unstable_now();
        switch (typeof V == "object" && V !== null ? (V = V.delay, V = typeof V == "number" && 0 < V ? M + V : M) : V = M, Y) {
          case 1:
            var G = -1;
            break;
          case 2:
            G = 250;
            break;
          case 5:
            G = 1073741823;
            break;
          case 4:
            G = 1e4;
            break;
          default:
            G = 5e3;
        }
        return G = V + G, Y = {
          id: f++,
          callback: Q,
          priorityLevel: Y,
          startTime: V,
          expirationTime: G,
          sortIndex: -1
        }, V > M ? (Y.sortIndex = V, t(x, Y), r(u) === null && Y === r(x) && (B ? (D(U), U = -1) : B = true, X(w, V - M))) : (Y.sortIndex = G, t(u, Y), y || m || (y = true, $(_))), Y;
      }, e.unstable_shouldYield = I, e.unstable_wrapCallback = function(Y) {
        var Q = p;
        return function() {
          var V = p;
          p = Q;
          try {
            return Y.apply(this, arguments);
          } finally {
            p = V;
          }
        };
      };
    })(j1)), j1;
  }
  var bp;
  function nb() {
    return bp || (bp = 1, N1.exports = rb()), N1.exports;
  }
  var wp;
  function ab() {
    if (wp) return Tr;
    wp = 1;
    var e = r9(), t = nb();
    function r(o) {
      for (var s = "https://reactjs.org/docs/error-decoder.html?invariant=" + o, d = 1; d < arguments.length; d++) s += "&args[]=" + encodeURIComponent(arguments[d]);
      return "Minified React error #" + o + "; visit " + s + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
    }
    var n = /* @__PURE__ */ new Set(), a = {};
    function i(o, s) {
      l(o, s), l(o + "Capture", s);
    }
    function l(o, s) {
      for (a[o] = s, o = 0; o < s.length; o++) n.add(s[o]);
    }
    var c = !(typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u"), u = Object.prototype.hasOwnProperty, x = /^[: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]*$/, f = {}, h = {};
    function p(o) {
      return u.call(h, o) ? true : u.call(f, o) ? false : x.test(o) ? h[o] = true : (f[o] = true, false);
    }
    function m(o, s, d, g) {
      if (d !== null && d.type === 0) return false;
      switch (typeof s) {
        case "function":
        case "symbol":
          return true;
        case "boolean":
          return g ? false : d !== null ? !d.acceptsBooleans : (o = o.toLowerCase().slice(0, 5), o !== "data-" && o !== "aria-");
        default:
          return false;
      }
    }
    function y(o, s, d, g) {
      if (s === null || typeof s > "u" || m(o, s, d, g)) return true;
      if (g) return false;
      if (d !== null) switch (d.type) {
        case 3:
          return !s;
        case 4:
          return s === false;
        case 5:
          return isNaN(s);
        case 6:
          return isNaN(s) || 1 > s;
      }
      return false;
    }
    function B(o, s, d, g, b, F, H) {
      this.acceptsBooleans = s === 2 || s === 3 || s === 4, this.attributeName = g, this.attributeNamespace = b, this.mustUseProperty = d, this.propertyName = o, this.type = s, this.sanitizeURL = F, this.removeEmptyString = H;
    }
    var v = {};
    "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(o) {
      v[o] = new B(o, 0, false, o, null, false, false);
    }), [
      [
        "acceptCharset",
        "accept-charset"
      ],
      [
        "className",
        "class"
      ],
      [
        "htmlFor",
        "for"
      ],
      [
        "httpEquiv",
        "http-equiv"
      ]
    ].forEach(function(o) {
      var s = o[0];
      v[s] = new B(s, 1, false, o[1], null, false, false);
    }), [
      "contentEditable",
      "draggable",
      "spellCheck",
      "value"
    ].forEach(function(o) {
      v[o] = new B(o, 2, false, o.toLowerCase(), null, false, false);
    }), [
      "autoReverse",
      "externalResourcesRequired",
      "focusable",
      "preserveAlpha"
    ].forEach(function(o) {
      v[o] = new B(o, 2, false, o, null, false, false);
    }), "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(o) {
      v[o] = new B(o, 3, false, o.toLowerCase(), null, false, false);
    }), [
      "checked",
      "multiple",
      "muted",
      "selected"
    ].forEach(function(o) {
      v[o] = new B(o, 3, true, o, null, false, false);
    }), [
      "capture",
      "download"
    ].forEach(function(o) {
      v[o] = new B(o, 4, false, o, null, false, false);
    }), [
      "cols",
      "rows",
      "size",
      "span"
    ].forEach(function(o) {
      v[o] = new B(o, 6, false, o, null, false, false);
    }), [
      "rowSpan",
      "start"
    ].forEach(function(o) {
      v[o] = new B(o, 5, false, o.toLowerCase(), null, false, false);
    });
    var D = /[\-:]([a-z])/g;
    function P(o) {
      return o[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(o) {
      var s = o.replace(D, P);
      v[s] = new B(s, 1, false, o, null, false, false);
    }), "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(o) {
      var s = o.replace(D, P);
      v[s] = new B(s, 1, false, o, "http://www.w3.org/1999/xlink", false, false);
    }), [
      "xml:base",
      "xml:lang",
      "xml:space"
    ].forEach(function(o) {
      var s = o.replace(D, P);
      v[s] = new B(s, 1, false, o, "http://www.w3.org/XML/1998/namespace", false, false);
    }), [
      "tabIndex",
      "crossOrigin"
    ].forEach(function(o) {
      v[o] = new B(o, 1, false, o.toLowerCase(), null, false, false);
    }), v.xlinkHref = new B("xlinkHref", 1, false, "xlink:href", "http://www.w3.org/1999/xlink", true, false), [
      "src",
      "href",
      "action",
      "formAction"
    ].forEach(function(o) {
      v[o] = new B(o, 1, false, o.toLowerCase(), null, true, true);
    });
    function k(o, s, d, g) {
      var b = v.hasOwnProperty(s) ? v[s] : null;
      (b !== null ? b.type !== 0 : g || !(2 < s.length) || s[0] !== "o" && s[0] !== "O" || s[1] !== "n" && s[1] !== "N") && (y(s, d, b, g) && (d = null), g || b === null ? p(s) && (d === null ? o.removeAttribute(s) : o.setAttribute(s, "" + d)) : b.mustUseProperty ? o[b.propertyName] = d === null ? b.type === 3 ? false : "" : d : (s = b.attributeName, g = b.attributeNamespace, d === null ? o.removeAttribute(s) : (b = b.type, d = b === 3 || b === 4 && d === true ? "" : "" + d, g ? o.setAttributeNS(g, s, d) : o.setAttribute(s, d))));
    }
    var w = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, _ = Symbol.for("react.element"), T = Symbol.for("react.portal"), N = Symbol.for("react.fragment"), U = Symbol.for("react.strict_mode"), C = Symbol.for("react.profiler"), z = Symbol.for("react.provider"), I = Symbol.for("react.context"), R = Symbol.for("react.forward_ref"), L = Symbol.for("react.suspense"), O = Symbol.for("react.suspense_list"), W = Symbol.for("react.memo"), $ = Symbol.for("react.lazy"), X = Symbol.for("react.offscreen"), Y = Symbol.iterator;
    function Q(o) {
      return o === null || typeof o != "object" ? null : (o = Y && o[Y] || o["@@iterator"], typeof o == "function" ? o : null);
    }
    var V = Object.assign, M;
    function G(o) {
      if (M === void 0) try {
        throw Error();
      } catch (d) {
        var s = d.stack.trim().match(/\n( *(at )?)/);
        M = s && s[1] || "";
      }
      return `
` + M + o;
    }
    var ee = false;
    function te(o, s) {
      if (!o || ee) return "";
      ee = true;
      var d = Error.prepareStackTrace;
      Error.prepareStackTrace = void 0;
      try {
        if (s) if (s = function() {
          throw Error();
        }, Object.defineProperty(s.prototype, "props", {
          set: function() {
            throw Error();
          }
        }), typeof Reflect == "object" && Reflect.construct) {
          try {
            Reflect.construct(s, []);
          } catch (ue) {
            var g = ue;
          }
          Reflect.construct(o, [], s);
        } else {
          try {
            s.call();
          } catch (ue) {
            g = ue;
          }
          o.call(s.prototype);
        }
        else {
          try {
            throw Error();
          } catch (ue) {
            g = ue;
          }
          o();
        }
      } catch (ue) {
        if (ue && g && typeof ue.stack == "string") {
          for (var b = ue.stack.split(`
`), F = g.stack.split(`
`), H = b.length - 1, J = F.length - 1; 1 <= H && 0 <= J && b[H] !== F[J]; ) J--;
          for (; 1 <= H && 0 <= J; H--, J--) if (b[H] !== F[J]) {
            if (H !== 1 || J !== 1) do
              if (H--, J--, 0 > J || b[H] !== F[J]) {
                var re = `
` + b[H].replace(" at new ", " at ");
                return o.displayName && re.includes("<anonymous>") && (re = re.replace("<anonymous>", o.displayName)), re;
              }
            while (1 <= H && 0 <= J);
            break;
          }
        }
      } finally {
        ee = false, Error.prepareStackTrace = d;
      }
      return (o = o ? o.displayName || o.name : "") ? G(o) : "";
    }
    function oe(o) {
      switch (o.tag) {
        case 5:
          return G(o.type);
        case 16:
          return G("Lazy");
        case 13:
          return G("Suspense");
        case 19:
          return G("SuspenseList");
        case 0:
        case 2:
        case 15:
          return o = te(o.type, false), o;
        case 11:
          return o = te(o.type.render, false), o;
        case 1:
          return o = te(o.type, true), o;
        default:
          return "";
      }
    }
    function ie(o) {
      if (o == null) return null;
      if (typeof o == "function") return o.displayName || o.name || null;
      if (typeof o == "string") return o;
      switch (o) {
        case N:
          return "Fragment";
        case T:
          return "Portal";
        case C:
          return "Profiler";
        case U:
          return "StrictMode";
        case L:
          return "Suspense";
        case O:
          return "SuspenseList";
      }
      if (typeof o == "object") switch (o.$$typeof) {
        case I:
          return (o.displayName || "Context") + ".Consumer";
        case z:
          return (o._context.displayName || "Context") + ".Provider";
        case R:
          var s = o.render;
          return o = o.displayName, o || (o = s.displayName || s.name || "", o = o !== "" ? "ForwardRef(" + o + ")" : "ForwardRef"), o;
        case W:
          return s = o.displayName || null, s !== null ? s : ie(o.type) || "Memo";
        case $:
          s = o._payload, o = o._init;
          try {
            return ie(o(s));
          } catch {
          }
      }
      return null;
    }
    function xe(o) {
      var s = o.type;
      switch (o.tag) {
        case 24:
          return "Cache";
        case 9:
          return (s.displayName || "Context") + ".Consumer";
        case 10:
          return (s._context.displayName || "Context") + ".Provider";
        case 18:
          return "DehydratedFragment";
        case 11:
          return o = s.render, o = o.displayName || o.name || "", s.displayName || (o !== "" ? "ForwardRef(" + o + ")" : "ForwardRef");
        case 7:
          return "Fragment";
        case 5:
          return s;
        case 4:
          return "Portal";
        case 3:
          return "Root";
        case 6:
          return "Text";
        case 16:
          return ie(s);
        case 8:
          return s === U ? "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 s == "function") return s.displayName || s.name || null;
          if (typeof s == "string") return s;
      }
      return null;
    }
    function de(o) {
      switch (typeof o) {
        case "boolean":
        case "number":
        case "string":
        case "undefined":
          return o;
        case "object":
          return o;
        default:
          return "";
      }
    }
    function he(o) {
      var s = o.type;
      return (o = o.nodeName) && o.toLowerCase() === "input" && (s === "checkbox" || s === "radio");
    }
    function be(o) {
      var s = he(o) ? "checked" : "value", d = Object.getOwnPropertyDescriptor(o.constructor.prototype, s), g = "" + o[s];
      if (!o.hasOwnProperty(s) && typeof d < "u" && typeof d.get == "function" && typeof d.set == "function") {
        var b = d.get, F = d.set;
        return Object.defineProperty(o, s, {
          configurable: true,
          get: function() {
            return b.call(this);
          },
          set: function(H) {
            g = "" + H, F.call(this, H);
          }
        }), Object.defineProperty(o, s, {
          enumerable: d.enumerable
        }), {
          getValue: function() {
            return g;
          },
          setValue: function(H) {
            g = "" + H;
          },
          stopTracking: function() {
            o._valueTracker = null, delete o[s];
          }
        };
      }
    }
    function ve(o) {
      o._valueTracker || (o._valueTracker = be(o));
    }
    function Ce(o) {
      if (!o) return false;
      var s = o._valueTracker;
      if (!s) return true;
      var d = s.getValue(), g = "";
      return o && (g = he(o) ? o.checked ? "true" : "false" : o.value), o = g, o !== d ? (s.setValue(o), true) : false;
    }
    function Ie(o) {
      if (o = o || (typeof document < "u" ? document : void 0), typeof o > "u") return null;
      try {
        return o.activeElement || o.body;
      } catch {
        return o.body;
      }
    }
    function Ue(o, s) {
      var d = s.checked;
      return V({}, s, {
        defaultChecked: void 0,
        defaultValue: void 0,
        value: void 0,
        checked: d ?? o._wrapperState.initialChecked
      });
    }
    function ge(o, s) {
      var d = s.defaultValue == null ? "" : s.defaultValue, g = s.checked != null ? s.checked : s.defaultChecked;
      d = de(s.value != null ? s.value : d), o._wrapperState = {
        initialChecked: g,
        initialValue: d,
        controlled: s.type === "checkbox" || s.type === "radio" ? s.checked != null : s.value != null
      };
    }
    function ke(o, s) {
      s = s.checked, s != null && k(o, "checked", s, false);
    }
    function ze(o, s) {
      ke(o, s);
      var d = de(s.value), g = s.type;
      if (d != null) g === "number" ? (d === 0 && o.value === "" || o.value != d) && (o.value = "" + d) : o.value !== "" + d && (o.value = "" + d);
      else if (g === "submit" || g === "reset") {
        o.removeAttribute("value");
        return;
      }
      s.hasOwnProperty("value") ? Le(o, s.type, d) : s.hasOwnProperty("defaultValue") && Le(o, s.type, de(s.defaultValue)), s.checked == null && s.defaultChecked != null && (o.defaultChecked = !!s.defaultChecked);
    }
    function Qe(o, s, d) {
      if (s.hasOwnProperty("value") || s.hasOwnProperty("defaultValue")) {
        var g = s.type;
        if (!(g !== "submit" && g !== "reset" || s.value !== void 0 && s.value !== null)) return;
        s = "" + o._wrapperState.initialValue, d || s === o.value || (o.value = s), o.defaultValue = s;
      }
      d = o.name, d !== "" && (o.name = ""), o.defaultChecked = !!o._wrapperState.initialChecked, d !== "" && (o.name = d);
    }
    function Le(o, s, d) {
      (s !== "number" || Ie(o.ownerDocument) !== o) && (d == null ? o.defaultValue = "" + o._wrapperState.initialValue : o.defaultValue !== "" + d && (o.defaultValue = "" + d));
    }
    var ft = Array.isArray;
    function rt(o, s, d, g) {
      if (o = o.options, s) {
        s = {};
        for (var b = 0; b < d.length; b++) s["$" + d[b]] = true;
        for (d = 0; d < o.length; d++) b = s.hasOwnProperty("$" + o[d].value), o[d].selected !== b && (o[d].selected = b), b && g && (o[d].defaultSelected = true);
      } else {
        for (d = "" + de(d), s = null, b = 0; b < o.length; b++) {
          if (o[b].value === d) {
            o[b].selected = true, g && (o[b].defaultSelected = true);
            return;
          }
          s !== null || o[b].disabled || (s = o[b]);
        }
        s !== null && (s.selected = true);
      }
    }
    function wt(o, s) {
      if (s.dangerouslySetInnerHTML != null) throw Error(r(91));
      return V({}, s, {
        value: void 0,
        defaultValue: void 0,
        children: "" + o._wrapperState.initialValue
      });
    }
    function _n(o, s) {
      var d = s.value;
      if (d == null) {
        if (d = s.children, s = s.defaultValue, d != null) {
          if (s != null) throw Error(r(92));
          if (ft(d)) {
            if (1 < d.length) throw Error(r(93));
            d = d[0];
          }
          s = d;
        }
        s == null && (s = ""), d = s;
      }
      o._wrapperState = {
        initialValue: de(d)
      };
    }
    function Wr(o, s) {
      var d = de(s.value), g = de(s.defaultValue);
      d != null && (d = "" + d, d !== o.value && (o.value = d), s.defaultValue == null && o.defaultValue !== d && (o.defaultValue = d)), g != null && (o.defaultValue = "" + g);
    }
    function Ir(o) {
      var s = o.textContent;
      s === o._wrapperState.initialValue && s !== "" && s !== null && (o.value = s);
    }
    function dr(o) {
      switch (o) {
        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 q(o, s) {
      return o == null || o === "http://www.w3.org/1999/xhtml" ? dr(s) : o === "http://www.w3.org/2000/svg" && s === "foreignObject" ? "http://www.w3.org/1999/xhtml" : o;
    }
    var S, j = (function(o) {
      return typeof MSApp < "u" && MSApp.execUnsafeLocalFunction ? function(s, d, g, b) {
        MSApp.execUnsafeLocalFunction(function() {
          return o(s, d, g, b);
        });
      } : o;
    })(function(o, s) {
      if (o.namespaceURI !== "http://www.w3.org/2000/svg" || "innerHTML" in o) o.innerHTML = s;
      else {
        for (S = S || document.createElement("div"), S.innerHTML = "<svg>" + s.valueOf().toString() + "</svg>", s = S.firstChild; o.firstChild; ) o.removeChild(o.firstChild);
        for (; s.firstChild; ) o.appendChild(s.firstChild);
      }
    });
    function Z(o, s) {
      if (s) {
        var d = o.firstChild;
        if (d && d === o.lastChild && d.nodeType === 3) {
          d.nodeValue = s;
          return;
        }
      }
      o.textContent = s;
    }
    var ne = {
      animationIterationCount: true,
      aspectRatio: true,
      borderImageOutset: true,
      borderImageSlice: true,
      borderImageWidth: true,
      boxFlex: true,
      boxFlexGroup: true,
      boxOrdinalGroup: true,
      columnCount: true,
      columns: true,
      flex: true,
      flexGrow: true,
      flexPositive: true,
      flexShrink: true,
      flexNegative: true,
      flexOrder: true,
      gridArea: true,
      gridRow: true,
      gridRowEnd: true,
      gridRowSpan: true,
      gridRowStart: true,
      gridColumn: true,
      gridColumnEnd: true,
      gridColumnSpan: true,
      gridColumnStart: true,
      fontWeight: true,
      lineClamp: true,
      lineHeight: true,
      opacity: true,
      order: true,
      orphans: true,
      tabSize: true,
      widows: true,
      zIndex: true,
      zoom: true,
      fillOpacity: true,
      floodOpacity: true,
      stopOpacity: true,
      strokeDasharray: true,
      strokeDashoffset: true,
      strokeMiterlimit: true,
      strokeOpacity: true,
      strokeWidth: true
    }, ce = [
      "Webkit",
      "ms",
      "Moz",
      "O"
    ];
    Object.keys(ne).forEach(function(o) {
      ce.forEach(function(s) {
        s = s + o.charAt(0).toUpperCase() + o.substring(1), ne[s] = ne[o];
      });
    });
    function pe(o, s, d) {
      return s == null || typeof s == "boolean" || s === "" ? "" : d || typeof s != "number" || s === 0 || ne.hasOwnProperty(o) && ne[o] ? ("" + s).trim() : s + "px";
    }
    function qe(o, s) {
      o = o.style;
      for (var d in s) if (s.hasOwnProperty(d)) {
        var g = d.indexOf("--") === 0, b = pe(d, s[d], g);
        d === "float" && (d = "cssFloat"), g ? o.setProperty(d, b) : o[d] = b;
      }
    }
    var yt = V({
      menuitem: true
    }, {
      area: true,
      base: true,
      br: true,
      col: true,
      embed: true,
      hr: true,
      img: true,
      input: true,
      keygen: true,
      link: true,
      meta: true,
      param: true,
      source: true,
      track: true,
      wbr: true
    });
    function Ze(o, s) {
      if (s) {
        if (yt[o] && (s.children != null || s.dangerouslySetInnerHTML != null)) throw Error(r(137, o));
        if (s.dangerouslySetInnerHTML != null) {
          if (s.children != null) throw Error(r(60));
          if (typeof s.dangerouslySetInnerHTML != "object" || !("__html" in s.dangerouslySetInnerHTML)) throw Error(r(61));
        }
        if (s.style != null && typeof s.style != "object") throw Error(r(62));
      }
    }
    function We(o, s) {
      if (o.indexOf("-") === -1) return typeof s.is == "string";
      switch (o) {
        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 false;
        default:
          return true;
      }
    }
    var Je = null;
    function to(o) {
      return o = o.target || o.srcElement || window, o.correspondingUseElement && (o = o.correspondingUseElement), o.nodeType === 3 ? o.parentNode : o;
    }
    var ro = null, no = null, ao = null;
    function ws(o) {
      if (o = qs(o)) {
        if (typeof ro != "function") throw Error(r(280));
        var s = o.stateNode;
        s && (s = ru(s), ro(o.stateNode, o.type, s));
      }
    }
    function vs(o) {
      no ? ao ? ao.push(o) : ao = [
        o
      ] : no = o;
    }
    function Ic() {
      if (no) {
        var o = no, s = ao;
        if (ao = no = null, ws(o), s) for (o = 0; o < s.length; o++) ws(s[o]);
      }
    }
    function Pc(o, s) {
      return o(s);
    }
    function ii() {
    }
    var Bs = false;
    function Nc(o, s, d) {
      if (Bs) return o(s, d);
      Bs = true;
      try {
        return Pc(o, s, d);
      } finally {
        Bs = false, (no !== null || ao !== null) && (ii(), Ic());
      }
    }
    function oo(o, s) {
      var d = o.stateNode;
      if (d === null) return null;
      var g = ru(d);
      if (g === null) return null;
      d = g[s];
      e: switch (s) {
        case "onClick":
        case "onClickCapture":
        case "onDoubleClick":
        case "onDoubleClickCapture":
        case "onMouseDown":
        case "onMouseDownCapture":
        case "onMouseMove":
        case "onMouseMoveCapture":
        case "onMouseUp":
        case "onMouseUpCapture":
        case "onMouseEnter":
          (g = !g.disabled) || (o = o.type, g = !(o === "button" || o === "input" || o === "select" || o === "textarea")), o = !g;
          break e;
        default:
          o = false;
      }
      if (o) return null;
      if (d && typeof d != "function") throw Error(r(231, s, typeof d));
      return d;
    }
    var Cs = false;
    if (c) try {
      var si = {};
      Object.defineProperty(si, "passive", {
        get: function() {
          Cs = true;
        }
      }), window.addEventListener("test", si, si), window.removeEventListener("test", si, si);
    } catch {
      Cs = false;
    }
    function qd(o, s, d, g, b, F, H, J, re) {
      var ue = Array.prototype.slice.call(arguments, 3);
      try {
        s.apply(d, ue);
      } catch (ye) {
        this.onError(ye);
      }
    }
    var li = false, io = null, a0 = false, ks = null, jc = {
      onError: function(o) {
        li = true, io = o;
      }
    };
    function Gd(o, s, d, g, b, F, H, J, re) {
      li = false, io = null, qd.apply(jc, arguments);
    }
    function Vd(o, s, d, g, b, F, H, J, re) {
      if (Gd.apply(this, arguments), li) {
        if (li) {
          var ue = io;
          li = false, io = null;
        } else throw Error(r(198));
        a0 || (a0 = true, ks = ue);
      }
    }
    function Ba(o) {
      var s = o, d = o;
      if (o.alternate) for (; s.return; ) s = s.return;
      else {
        o = s;
        do
          s = o, (s.flags & 4098) !== 0 && (d = s.return), o = s.return;
        while (o);
      }
      return s.tag === 3 ? d : null;
    }
    function zc(o) {
      if (o.tag === 13) {
        var s = o.memoizedState;
        if (s === null && (o = o.alternate, o !== null && (s = o.memoizedState)), s !== null) return s.dehydrated;
      }
      return null;
    }
    function Ee(o) {
      if (Ba(o) !== o) throw Error(r(188));
    }
    function Me(o) {
      var s = o.alternate;
      if (!s) {
        if (s = Ba(o), s === null) throw Error(r(188));
        return s !== o ? null : o;
      }
      for (var d = o, g = s; ; ) {
        var b = d.return;
        if (b === null) break;
        var F = b.alternate;
        if (F === null) {
          if (g = b.return, g !== null) {
            d = g;
            continue;
          }
          break;
        }
        if (b.child === F.child) {
          for (F = b.child; F; ) {
            if (F === d) return Ee(b), o;
            if (F === g) return Ee(b), s;
            F = F.sibling;
          }
          throw Error(r(188));
        }
        if (d.return !== g.return) d = b, g = F;
        else {
          for (var H = false, J = b.child; J; ) {
            if (J === d) {
              H = true, d = b, g = F;
              break;
            }
            if (J === g) {
              H = true, g = b, d = F;
              break;
            }
            J = J.sibling;
          }
          if (!H) {
            for (J = F.child; J; ) {
              if (J === d) {
                H = true, d = F, g = b;
                break;
              }
              if (J === g) {
                H = true, g = F, d = b;
                break;
              }
              J = J.sibling;
            }
            if (!H) throw Error(r(189));
          }
        }
        if (d.alternate !== g) throw Error(r(190));
      }
      if (d.tag !== 3) throw Error(r(188));
      return d.stateNode.current === d ? o : s;
    }
    function Te(o) {
      return o = Me(o), o !== null ? ct(o) : null;
    }
    function ct(o) {
      if (o.tag === 5 || o.tag === 6) return o;
      for (o = o.child; o !== null; ) {
        var s = ct(o);
        if (s !== null) return s;
        o = o.sibling;
      }
      return null;
    }
    var ut = t.unstable_scheduleCallback, Br = t.unstable_cancelCallback, sn = t.unstable_shouldYield, ci = t.unstable_requestPaint, xt = t.unstable_now, so = t.unstable_getCurrentPriorityLevel, Wd = t.unstable_ImmediatePriority, O9 = t.unstable_UserBlockingPriority, Uc = t.unstable_NormalPriority, uE = t.unstable_LowPriority, H9 = t.unstable_IdlePriority, Tc = null, Vn = null;
    function xE(o) {
      if (Vn && typeof Vn.onCommitFiberRoot == "function") try {
        Vn.onCommitFiberRoot(Tc, o, void 0, (o.current.flags & 128) === 128);
      } catch {
      }
    }
    var In = Math.clz32 ? Math.clz32 : hE, dE = Math.log, fE = Math.LN2;
    function hE(o) {
      return o >>>= 0, o === 0 ? 32 : 31 - (dE(o) / fE | 0) | 0;
    }
    var Rc = 64, Kc = 4194304;
    function Ds(o) {
      switch (o & -o) {
        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 o & 4194240;
        case 4194304:
        case 8388608:
        case 16777216:
        case 33554432:
        case 67108864:
          return o & 130023424;
        case 134217728:
          return 134217728;
        case 268435456:
          return 268435456;
        case 536870912:
          return 536870912;
        case 1073741824:
          return 1073741824;
        default:
          return o;
      }
    }
    function Mc(o, s) {
      var d = o.pendingLanes;
      if (d === 0) return 0;
      var g = 0, b = o.suspendedLanes, F = o.pingedLanes, H = d & 268435455;
      if (H !== 0) {
        var J = H & ~b;
        J !== 0 ? g = Ds(J) : (F &= H, F !== 0 && (g = Ds(F)));
      } else H = d & ~b, H !== 0 ? g = Ds(H) : F !== 0 && (g = Ds(F));
      if (g === 0) return 0;
      if (s !== 0 && s !== g && (s & b) === 0 && (b = g & -g, F = s & -s, b >= F || b === 16 && (F & 4194240) !== 0)) return s;
      if ((g & 4) !== 0 && (g |= d & 16), s = o.entangledLanes, s !== 0) for (o = o.entanglements, s &= g; 0 < s; ) d = 31 - In(s), b = 1 << d, g |= o[d], s &= ~b;
      return g;
    }
    function pE(o, s) {
      switch (o) {
        case 1:
        case 2:
        case 4:
          return s + 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 s + 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 gE(o, s) {
      for (var d = o.suspendedLanes, g = o.pingedLanes, b = o.expirationTimes, F = o.pendingLanes; 0 < F; ) {
        var H = 31 - In(F), J = 1 << H, re = b[H];
        re === -1 ? ((J & d) === 0 || (J & g) !== 0) && (b[H] = pE(J, s)) : re <= s && (o.expiredLanes |= J), F &= ~J;
      }
    }
    function $d(o) {
      return o = o.pendingLanes & -1073741825, o !== 0 ? o : o & 1073741824 ? 1073741824 : 0;
    }
    function Q9() {
      var o = Rc;
      return Rc <<= 1, (Rc & 4194240) === 0 && (Rc = 64), o;
    }
    function Zd(o) {
      for (var s = [], d = 0; 31 > d; d++) s.push(o);
      return s;
    }
    function Fs(o, s, d) {
      o.pendingLanes |= s, s !== 536870912 && (o.suspendedLanes = 0, o.pingedLanes = 0), o = o.eventTimes, s = 31 - In(s), o[s] = d;
    }
    function mE(o, s) {
      var d = o.pendingLanes & ~s;
      o.pendingLanes = s, o.suspendedLanes = 0, o.pingedLanes = 0, o.expiredLanes &= s, o.mutableReadLanes &= s, o.entangledLanes &= s, s = o.entanglements;
      var g = o.eventTimes;
      for (o = o.expirationTimes; 0 < d; ) {
        var b = 31 - In(d), F = 1 << b;
        s[b] = 0, g[b] = -1, o[b] = -1, d &= ~F;
      }
    }
    function Yd(o, s) {
      var d = o.entangledLanes |= s;
      for (o = o.entanglements; d; ) {
        var g = 31 - In(d), b = 1 << g;
        b & s | o[g] & s && (o[g] |= s), d &= ~b;
      }
    }
    var lt = 0;
    function q9(o) {
      return o &= -o, 1 < o ? 4 < o ? (o & 268435455) !== 0 ? 16 : 536870912 : 4 : 1;
    }
    var G9, Xd, V9, W9, $9, Jd = false, Lc = [], lo = null, co = null, uo = null, Ss = /* @__PURE__ */ new Map(), _s = /* @__PURE__ */ new Map(), xo = [], yE = "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 Z9(o, s) {
      switch (o) {
        case "focusin":
        case "focusout":
          lo = null;
          break;
        case "dragenter":
        case "dragleave":
          co = null;
          break;
        case "mouseover":
        case "mouseout":
          uo = null;
          break;
        case "pointerover":
        case "pointerout":
          Ss.delete(s.pointerId);
          break;
        case "gotpointercapture":
        case "lostpointercapture":
          _s.delete(s.pointerId);
      }
    }
    function Is(o, s, d, g, b, F) {
      return o === null || o.nativeEvent !== F ? (o = {
        blockedOn: s,
        domEventName: d,
        eventSystemFlags: g,
        nativeEvent: F,
        targetContainers: [
          b
        ]
      }, s !== null && (s = qs(s), s !== null && Xd(s)), o) : (o.eventSystemFlags |= g, s = o.targetContainers, b !== null && s.indexOf(b) === -1 && s.push(b), o);
    }
    function EE(o, s, d, g, b) {
      switch (s) {
        case "focusin":
          return lo = Is(lo, o, s, d, g, b), true;
        case "dragenter":
          return co = Is(co, o, s, d, g, b), true;
        case "mouseover":
          return uo = Is(uo, o, s, d, g, b), true;
        case "pointerover":
          var F = b.pointerId;
          return Ss.set(F, Is(Ss.get(F) || null, o, s, d, g, b)), true;
        case "gotpointercapture":
          return F = b.pointerId, _s.set(F, Is(_s.get(F) || null, o, s, d, g, b)), true;
      }
      return false;
    }
    function Y9(o) {
      var s = ui(o.target);
      if (s !== null) {
        var d = Ba(s);
        if (d !== null) {
          if (s = d.tag, s === 13) {
            if (s = zc(d), s !== null) {
              o.blockedOn = s, $9(o.priority, function() {
                V9(d);
              });
              return;
            }
          } else if (s === 3 && d.stateNode.current.memoizedState.isDehydrated) {
            o.blockedOn = d.tag === 3 ? d.stateNode.containerInfo : null;
            return;
          }
        }
      }
      o.blockedOn = null;
    }
    function Oc(o) {
      if (o.blockedOn !== null) return false;
      for (var s = o.targetContainers; 0 < s.length; ) {
        var d = tf(o.domEventName, o.eventSystemFlags, s[0], o.nativeEvent);
        if (d === null) {
          d = o.nativeEvent;
          var g = new d.constructor(d.type, d);
          Je = g, d.target.dispatchEvent(g), Je = null;
        } else return s = qs(d), s !== null && Xd(s), o.blockedOn = d, false;
        s.shift();
      }
      return true;
    }
    function X9(o, s, d) {
      Oc(o) && d.delete(s);
    }
    function AE() {
      Jd = false, lo !== null && Oc(lo) && (lo = null), co !== null && Oc(co) && (co = null), uo !== null && Oc(uo) && (uo = null), Ss.forEach(X9), _s.forEach(X9);
    }
    function Ps(o, s) {
      o.blockedOn === s && (o.blockedOn = null, Jd || (Jd = true, t.unstable_scheduleCallback(t.unstable_NormalPriority, AE)));
    }
    function Ns(o) {
      function s(b) {
        return Ps(b, o);
      }
      if (0 < Lc.length) {
        Ps(Lc[0], o);
        for (var d = 1; d < Lc.length; d++) {
          var g = Lc[d];
          g.blockedOn === o && (g.blockedOn = null);
        }
      }
      for (lo !== null && Ps(lo, o), co !== null && Ps(co, o), uo !== null && Ps(uo, o), Ss.forEach(s), _s.forEach(s), d = 0; d < xo.length; d++) g = xo[d], g.blockedOn === o && (g.blockedOn = null);
      for (; 0 < xo.length && (d = xo[0], d.blockedOn === null); ) Y9(d), d.blockedOn === null && xo.shift();
    }
    var o0 = w.ReactCurrentBatchConfig, Hc = true;
    function bE(o, s, d, g) {
      var b = lt, F = o0.transition;
      o0.transition = null;
      try {
        lt = 1, ef(o, s, d, g);
      } finally {
        lt = b, o0.transition = F;
      }
    }
    function wE(o, s, d, g) {
      var b = lt, F = o0.transition;
      o0.transition = null;
      try {
        lt = 4, ef(o, s, d, g);
      } finally {
        lt = b, o0.transition = F;
      }
    }
    function ef(o, s, d, g) {
      if (Hc) {
        var b = tf(o, s, d, g);
        if (b === null) Ef(o, s, g, Qc, d), Z9(o, g);
        else if (EE(b, o, s, d, g)) g.stopPropagation();
        else if (Z9(o, g), s & 4 && -1 < yE.indexOf(o)) {
          for (; b !== null; ) {
            var F = qs(b);
            if (F !== null && G9(F), F = tf(o, s, d, g), F === null && Ef(o, s, g, Qc, d), F === b) break;
            b = F;
          }
          b !== null && g.stopPropagation();
        } else Ef(o, s, g, null, d);
      }
    }
    var Qc = null;
    function tf(o, s, d, g) {
      if (Qc = null, o = to(g), o = ui(o), o !== null) if (s = Ba(o), s === null) o = null;
      else if (d = s.tag, d === 13) {
        if (o = zc(s), o !== null) return o;
        o = null;
      } else if (d === 3) {
        if (s.stateNode.current.memoizedState.isDehydrated) return s.tag === 3 ? s.stateNode.containerInfo : null;
        o = null;
      } else s !== o && (o = null);
      return Qc = o, null;
    }
    function J9(o) {
      switch (o) {
        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 (so()) {
            case Wd:
              return 1;
            case O9:
              return 4;
            case Uc:
            case uE:
              return 16;
            case H9:
              return 536870912;
            default:
              return 16;
          }
        default:
          return 16;
      }
    }
    var fo = null, rf = null, qc = null;
    function e5() {
      if (qc) return qc;
      var o, s = rf, d = s.length, g, b = "value" in fo ? fo.value : fo.textContent, F = b.length;
      for (o = 0; o < d && s[o] === b[o]; o++) ;
      var H = d - o;
      for (g = 1; g <= H && s[d - g] === b[F - g]; g++) ;
      return qc = b.slice(o, 1 < g ? 1 - g : void 0);
    }
    function Gc(o) {
      var s = o.keyCode;
      return "charCode" in o ? (o = o.charCode, o === 0 && s === 13 && (o = 13)) : o = s, o === 10 && (o = 13), 32 <= o || o === 13 ? o : 0;
    }
    function Vc() {
      return true;
    }
    function t5() {
      return false;
    }
    function $r(o) {
      function s(d, g, b, F, H) {
        this._reactName = d, this._targetInst = b, this.type = g, this.nativeEvent = F, this.target = H, this.currentTarget = null;
        for (var J in o) o.hasOwnProperty(J) && (d = o[J], this[J] = d ? d(F) : F[J]);
        return this.isDefaultPrevented = (F.defaultPrevented != null ? F.defaultPrevented : F.returnValue === false) ? Vc : t5, this.isPropagationStopped = t5, this;
      }
      return V(s.prototype, {
        preventDefault: function() {
          this.defaultPrevented = true;
          var d = this.nativeEvent;
          d && (d.preventDefault ? d.preventDefault() : typeof d.returnValue != "unknown" && (d.returnValue = false), this.isDefaultPrevented = Vc);
        },
        stopPropagation: function() {
          var d = this.nativeEvent;
          d && (d.stopPropagation ? d.stopPropagation() : typeof d.cancelBubble != "unknown" && (d.cancelBubble = true), this.isPropagationStopped = Vc);
        },
        persist: function() {
        },
        isPersistent: Vc
      }), s;
    }
    var i0 = {
      eventPhase: 0,
      bubbles: 0,
      cancelable: 0,
      timeStamp: function(o) {
        return o.timeStamp || Date.now();
      },
      defaultPrevented: 0,
      isTrusted: 0
    }, nf = $r(i0), js = V({}, i0, {
      view: 0,
      detail: 0
    }), vE = $r(js), af, of, zs, Wc = V({}, js, {
      screenX: 0,
      screenY: 0,
      clientX: 0,
      clientY: 0,
      pageX: 0,
      pageY: 0,
      ctrlKey: 0,
      shiftKey: 0,
      altKey: 0,
      metaKey: 0,
      getModifierState: lf,
      button: 0,
      buttons: 0,
      relatedTarget: function(o) {
        return o.relatedTarget === void 0 ? o.fromElement === o.srcElement ? o.toElement : o.fromElement : o.relatedTarget;
      },
      movementX: function(o) {
        return "movementX" in o ? o.movementX : (o !== zs && (zs && o.type === "mousemove" ? (af = o.screenX - zs.screenX, of = o.screenY - zs.screenY) : of = af = 0, zs = o), af);
      },
      movementY: function(o) {
        return "movementY" in o ? o.movementY : of;
      }
    }), r5 = $r(Wc), BE = V({}, Wc, {
      dataTransfer: 0
    }), CE = $r(BE), kE = V({}, js, {
      relatedTarget: 0
    }), sf = $r(kE), DE = V({}, i0, {
      animationName: 0,
      elapsedTime: 0,
      pseudoElement: 0
    }), FE = $r(DE), SE = V({}, i0, {
      clipboardData: function(o) {
        return "clipboardData" in o ? o.clipboardData : window.clipboardData;
      }
    }), _E = $r(SE), IE = V({}, i0, {
      data: 0
    }), n5 = $r(IE), PE = {
      Esc: "Escape",
      Spacebar: " ",
      Left: "ArrowLeft",
      Up: "ArrowUp",
      Right: "ArrowRight",
      Down: "ArrowDown",
      Del: "Delete",
      Win: "OS",
      Menu: "ContextMenu",
      Apps: "ContextMenu",
      Scroll: "ScrollLock",
      MozPrintableKey: "Unidentified"
    }, NE = {
      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"
    }, jE = {
      Alt: "altKey",
      Control: "ctrlKey",
      Meta: "metaKey",
      Shift: "shiftKey"
    };
    function zE(o) {
      var s = this.nativeEvent;
      return s.getModifierState ? s.getModifierState(o) : (o = jE[o]) ? !!s[o] : false;
    }
    function lf() {
      return zE;
    }
    var UE = V({}, js, {
      key: function(o) {
        if (o.key) {
          var s = PE[o.key] || o.key;
          if (s !== "Unidentified") return s;
        }
        return o.type === "keypress" ? (o = Gc(o), o === 13 ? "Enter" : String.fromCharCode(o)) : o.type === "keydown" || o.type === "keyup" ? NE[o.keyCode] || "Unidentified" : "";
      },
      code: 0,
      location: 0,
      ctrlKey: 0,
      shiftKey: 0,
      altKey: 0,
      metaKey: 0,
      repeat: 0,
      locale: 0,
      getModifierState: lf,
      charCode: function(o) {
        return o.type === "keypress" ? Gc(o) : 0;
      },
      keyCode: function(o) {
        return o.type === "keydown" || o.type === "keyup" ? o.keyCode : 0;
      },
      which: function(o) {
        return o.type === "keypress" ? Gc(o) : o.type === "keydown" || o.type === "keyup" ? o.keyCode : 0;
      }
    }), TE = $r(UE), RE = V({}, Wc, {
      pointerId: 0,
      width: 0,
      height: 0,
      pressure: 0,
      tangentialPressure: 0,
      tiltX: 0,
      tiltY: 0,
      twist: 0,
      pointerType: 0,
      isPrimary: 0
    }), a5 = $r(RE), KE = V({}, js, {
      touches: 0,
      targetTouches: 0,
      changedTouches: 0,
      altKey: 0,
      metaKey: 0,
      ctrlKey: 0,
      shiftKey: 0,
      getModifierState: lf
    }), ME = $r(KE), LE = V({}, i0, {
      propertyName: 0,
      elapsedTime: 0,
      pseudoElement: 0
    }), OE = $r(LE), HE = V({}, Wc, {
      deltaX: function(o) {
        return "deltaX" in o ? o.deltaX : "wheelDeltaX" in o ? -o.wheelDeltaX : 0;
      },
      deltaY: function(o) {
        return "deltaY" in o ? o.deltaY : "wheelDeltaY" in o ? -o.wheelDeltaY : "wheelDelta" in o ? -o.wheelDelta : 0;
      },
      deltaZ: 0,
      deltaMode: 0
    }), QE = $r(HE), qE = [
      9,
      13,
      27,
      32
    ], cf = c && "CompositionEvent" in window, Us = null;
    c && "documentMode" in document && (Us = document.documentMode);
    var GE = c && "TextEvent" in window && !Us, o5 = c && (!cf || Us && 8 < Us && 11 >= Us), i5 = " ", s5 = false;
    function l5(o, s) {
      switch (o) {
        case "keyup":
          return qE.indexOf(s.keyCode) !== -1;
        case "keydown":
          return s.keyCode !== 229;
        case "keypress":
        case "mousedown":
        case "focusout":
          return true;
        default:
          return false;
      }
    }
    function c5(o) {
      return o = o.detail, typeof o == "object" && "data" in o ? o.data : null;
    }
    var s0 = false;
    function VE(o, s) {
      switch (o) {
        case "compositionend":
          return c5(s);
        case "keypress":
          return s.which !== 32 ? null : (s5 = true, i5);
        case "textInput":
          return o = s.data, o === i5 && s5 ? null : o;
        default:
          return null;
      }
    }
    function WE(o, s) {
      if (s0) return o === "compositionend" || !cf && l5(o, s) ? (o = e5(), qc = rf = fo = null, s0 = false, o) : null;
      switch (o) {
        case "paste":
          return null;
        case "keypress":
          if (!(s.ctrlKey || s.altKey || s.metaKey) || s.ctrlKey && s.altKey) {
            if (s.char && 1 < s.char.length) return s.char;
            if (s.which) return String.fromCharCode(s.which);
          }
          return null;
        case "compositionend":
          return o5 && s.locale !== "ko" ? null : s.data;
        default:
          return null;
      }
    }
    var $E = {
      color: true,
      date: true,
      datetime: true,
      "datetime-local": true,
      email: true,
      month: true,
      number: true,
      password: true,
      range: true,
      search: true,
      tel: true,
      text: true,
      time: true,
      url: true,
      week: true
    };
    function u5(o) {
      var s = o && o.nodeName && o.nodeName.toLowerCase();
      return s === "input" ? !!$E[o.type] : s === "textarea";
    }
    function x5(o, s, d, g) {
      vs(g), s = Jc(s, "onChange"), 0 < s.length && (d = new nf("onChange", "change", null, d, g), o.push({
        event: d,
        listeners: s
      }));
    }
    var Ts = null, Rs = null;
    function ZE(o) {
      S5(o, 0);
    }
    function $c(o) {
      var s = d0(o);
      if (Ce(s)) return o;
    }
    function YE(o, s) {
      if (o === "change") return s;
    }
    var d5 = false;
    if (c) {
      var uf;
      if (c) {
        var xf = "oninput" in document;
        if (!xf) {
          var f5 = document.createElement("div");
          f5.setAttribute("oninput", "return;"), xf = typeof f5.oninput == "function";
        }
        uf = xf;
      } else uf = false;
      d5 = uf && (!document.documentMode || 9 < document.documentMode);
    }
    function h5() {
      Ts && (Ts.detachEvent("onpropertychange", p5), Rs = Ts = null);
    }
    function p5(o) {
      if (o.propertyName === "value" && $c(Rs)) {
        var s = [];
        x5(s, Rs, o, to(o)), Nc(ZE, s);
      }
    }
    function XE(o, s, d) {
      o === "focusin" ? (h5(), Ts = s, Rs = d, Ts.attachEvent("onpropertychange", p5)) : o === "focusout" && h5();
    }
    function JE(o) {
      if (o === "selectionchange" || o === "keyup" || o === "keydown") return $c(Rs);
    }
    function eA(o, s) {
      if (o === "click") return $c(s);
    }
    function tA(o, s) {
      if (o === "input" || o === "change") return $c(s);
    }
    function rA(o, s) {
      return o === s && (o !== 0 || 1 / o === 1 / s) || o !== o && s !== s;
    }
    var Pn = typeof Object.is == "function" ? Object.is : rA;
    function Ks(o, s) {
      if (Pn(o, s)) return true;
      if (typeof o != "object" || o === null || typeof s != "object" || s === null) return false;
      var d = Object.keys(o), g = Object.keys(s);
      if (d.length !== g.length) return false;
      for (g = 0; g < d.length; g++) {
        var b = d[g];
        if (!u.call(s, b) || !Pn(o[b], s[b])) return false;
      }
      return true;
    }
    function g5(o) {
      for (; o && o.firstChild; ) o = o.firstChild;
      return o;
    }
    function m5(o, s) {
      var d = g5(o);
      o = 0;
      for (var g; d; ) {
        if (d.nodeType === 3) {
          if (g = o + d.textContent.length, o <= s && g >= s) return {
            node: d,
            offset: s - o
          };
          o = g;
        }
        e: {
          for (; d; ) {
            if (d.nextSibling) {
              d = d.nextSibling;
              break e;
            }
            d = d.parentNode;
          }
          d = void 0;
        }
        d = g5(d);
      }
    }
    function y5(o, s) {
      return o && s ? o === s ? true : o && o.nodeType === 3 ? false : s && s.nodeType === 3 ? y5(o, s.parentNode) : "contains" in o ? o.contains(s) : o.compareDocumentPosition ? !!(o.compareDocumentPosition(s) & 16) : false : false;
    }
    function E5() {
      for (var o = window, s = Ie(); s instanceof o.HTMLIFrameElement; ) {
        try {
          var d = typeof s.contentWindow.location.href == "string";
        } catch {
          d = false;
        }
        if (d) o = s.contentWindow;
        else break;
        s = Ie(o.document);
      }
      return s;
    }
    function df(o) {
      var s = o && o.nodeName && o.nodeName.toLowerCase();
      return s && (s === "input" && (o.type === "text" || o.type === "search" || o.type === "tel" || o.type === "url" || o.type === "password") || s === "textarea" || o.contentEditable === "true");
    }
    function nA(o) {
      var s = E5(), d = o.focusedElem, g = o.selectionRange;
      if (s !== d && d && d.ownerDocument && y5(d.ownerDocument.documentElement, d)) {
        if (g !== null && df(d)) {
          if (s = g.start, o = g.end, o === void 0 && (o = s), "selectionStart" in d) d.selectionStart = s, d.selectionEnd = Math.min(o, d.value.length);
          else if (o = (s = d.ownerDocument || document) && s.defaultView || window, o.getSelection) {
            o = o.getSelection();
            var b = d.textContent.length, F = Math.min(g.start, b);
            g = g.end === void 0 ? F : Math.min(g.end, b), !o.extend && F > g && (b = g, g = F, F = b), b = m5(d, F);
            var H = m5(d, g);
            b && H && (o.rangeCount !== 1 || o.anchorNode !== b.node || o.anchorOffset !== b.offset || o.focusNode !== H.node || o.focusOffset !== H.offset) && (s = s.createRange(), s.setStart(b.node, b.offset), o.removeAllRanges(), F > g ? (o.addRange(s), o.extend(H.node, H.offset)) : (s.setEnd(H.node, H.offset), o.addRange(s)));
          }
        }
        for (s = [], o = d; o = o.parentNode; ) o.nodeType === 1 && s.push({
          element: o,
          left: o.scrollLeft,
          top: o.scrollTop
        });
        for (typeof d.focus == "function" && d.focus(), d = 0; d < s.length; d++) o = s[d], o.element.scrollLeft = o.left, o.element.scrollTop = o.top;
      }
    }
    var aA = c && "documentMode" in document && 11 >= document.documentMode, l0 = null, ff = null, Ms = null, hf = false;
    function A5(o, s, d) {
      var g = d.window === d ? d.document : d.nodeType === 9 ? d : d.ownerDocument;
      hf || l0 == null || l0 !== Ie(g) || (g = l0, "selectionStart" in g && df(g) ? g = {
        start: g.selectionStart,
        end: g.selectionEnd
      } : (g = (g.ownerDocument && g.ownerDocument.defaultView || window).getSelection(), g = {
        anchorNode: g.anchorNode,
        anchorOffset: g.anchorOffset,
        focusNode: g.focusNode,
        focusOffset: g.focusOffset
      }), Ms && Ks(Ms, g) || (Ms = g, g = Jc(ff, "onSelect"), 0 < g.length && (s = new nf("onSelect", "select", null, s, d), o.push({
        event: s,
        listeners: g
      }), s.target = l0)));
    }
    function Zc(o, s) {
      var d = {};
      return d[o.toLowerCase()] = s.toLowerCase(), d["Webkit" + o] = "webkit" + s, d["Moz" + o] = "moz" + s, d;
    }
    var c0 = {
      animationend: Zc("Animation", "AnimationEnd"),
      animationiteration: Zc("Animation", "AnimationIteration"),
      animationstart: Zc("Animation", "AnimationStart"),
      transitionend: Zc("Transition", "TransitionEnd")
    }, pf = {}, b5 = {};
    c && (b5 = document.createElement("div").style, "AnimationEvent" in window || (delete c0.animationend.animation, delete c0.animationiteration.animation, delete c0.animationstart.animation), "TransitionEvent" in window || delete c0.transitionend.transition);
    function Yc(o) {
      if (pf[o]) return pf[o];
      if (!c0[o]) return o;
      var s = c0[o], d;
      for (d in s) if (s.hasOwnProperty(d) && d in b5) return pf[o] = s[d];
      return o;
    }
    var w5 = Yc("animationend"), v5 = Yc("animationiteration"), B5 = Yc("animationstart"), C5 = Yc("transitionend"), k5 = /* @__PURE__ */ new Map(), D5 = "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 ho(o, s) {
      k5.set(o, s), i(s, [
        o
      ]);
    }
    for (var gf = 0; gf < D5.length; gf++) {
      var mf = D5[gf], oA = mf.toLowerCase(), iA = mf[0].toUpperCase() + mf.slice(1);
      ho(oA, "on" + iA);
    }
    ho(w5, "onAnimationEnd"), ho(v5, "onAnimationIteration"), ho(B5, "onAnimationStart"), ho("dblclick", "onDoubleClick"), ho("focusin", "onFocus"), ho("focusout", "onBlur"), ho(C5, "onTransitionEnd"), l("onMouseEnter", [
      "mouseout",
      "mouseover"
    ]), l("onMouseLeave", [
      "mouseout",
      "mouseover"
    ]), l("onPointerEnter", [
      "pointerout",
      "pointerover"
    ]), l("onPointerLeave", [
      "pointerout",
      "pointerover"
    ]), i("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")), i("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")), i("onBeforeInput", [
      "compositionend",
      "keypress",
      "textInput",
      "paste"
    ]), i("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")), i("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")), i("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" "));
    var Ls = "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(" "), sA = new Set("cancel close invalid load scroll toggle".split(" ").concat(Ls));
    function F5(o, s, d) {
      var g = o.type || "unknown-event";
      o.currentTarget = d, Vd(g, s, void 0, o), o.currentTarget = null;
    }
    function S5(o, s) {
      s = (s & 4) !== 0;
      for (var d = 0; d < o.length; d++) {
        var g = o[d], b = g.event;
        g = g.listeners;
        e: {
          var F = void 0;
          if (s) for (var H = g.length - 1; 0 <= H; H--) {
            var J = g[H], re = J.instance, ue = J.currentTarget;
            if (J = J.listener, re !== F && b.isPropagationStopped()) break e;
            F5(b, J, ue), F = re;
          }
          else for (H = 0; H < g.length; H++) {
            if (J = g[H], re = J.instance, ue = J.currentTarget, J = J.listener, re !== F && b.isPropagationStopped()) break e;
            F5(b, J, ue), F = re;
          }
        }
      }
      if (a0) throw o = ks, a0 = false, ks = null, o;
    }
    function vt(o, s) {
      var d = s[Cf];
      d === void 0 && (d = s[Cf] = /* @__PURE__ */ new Set());
      var g = o + "__bubble";
      d.has(g) || (_5(s, o, 2, false), d.add(g));
    }
    function yf(o, s, d) {
      var g = 0;
      s && (g |= 4), _5(d, o, g, s);
    }
    var Xc = "_reactListening" + Math.random().toString(36).slice(2);
    function Os(o) {
      if (!o[Xc]) {
        o[Xc] = true, n.forEach(function(d) {
          d !== "selectionchange" && (sA.has(d) || yf(d, false, o), yf(d, true, o));
        });
        var s = o.nodeType === 9 ? o : o.ownerDocument;
        s === null || s[Xc] || (s[Xc] = true, yf("selectionchange", false, s));
      }
    }
    function _5(o, s, d, g) {
      switch (J9(s)) {
        case 1:
          var b = bE;
          break;
        case 4:
          b = wE;
          break;
        default:
          b = ef;
      }
      d = b.bind(null, s, d, o), b = void 0, !Cs || s !== "touchstart" && s !== "touchmove" && s !== "wheel" || (b = true), g ? b !== void 0 ? o.addEventListener(s, d, {
        capture: true,
        passive: b
      }) : o.addEventListener(s, d, true) : b !== void 0 ? o.addEventListener(s, d, {
        passive: b
      }) : o.addEventListener(s, d, false);
    }
    function Ef(o, s, d, g, b) {
      var F = g;
      if ((s & 1) === 0 && (s & 2) === 0 && g !== null) e: for (; ; ) {
        if (g === null) return;
        var H = g.tag;
        if (H === 3 || H === 4) {
          var J = g.stateNode.containerInfo;
          if (J === b || J.nodeType === 8 && J.parentNode === b) break;
          if (H === 4) for (H = g.return; H !== null; ) {
            var re = H.tag;
            if ((re === 3 || re === 4) && (re = H.stateNode.containerInfo, re === b || re.nodeType === 8 && re.parentNode === b)) return;
            H = H.return;
          }
          for (; J !== null; ) {
            if (H = ui(J), H === null) return;
            if (re = H.tag, re === 5 || re === 6) {
              g = F = H;
              continue e;
            }
            J = J.parentNode;
          }
        }
        g = g.return;
      }
      Nc(function() {
        var ue = F, ye = to(d), Ae = [];
        e: {
          var me = k5.get(o);
          if (me !== void 0) {
            var De = nf, Se = o;
            switch (o) {
              case "keypress":
                if (Gc(d) === 0) break e;
              case "keydown":
              case "keyup":
                De = TE;
                break;
              case "focusin":
                Se = "focus", De = sf;
                break;
              case "focusout":
                Se = "blur", De = sf;
                break;
              case "beforeblur":
              case "afterblur":
                De = sf;
                break;
              case "click":
                if (d.button === 2) break e;
              case "auxclick":
              case "dblclick":
              case "mousedown":
              case "mousemove":
              case "mouseup":
              case "mouseout":
              case "mouseover":
              case "contextmenu":
                De = r5;
                break;
              case "drag":
              case "dragend":
              case "dragenter":
              case "dragexit":
              case "dragleave":
              case "dragover":
              case "dragstart":
              case "drop":
                De = CE;
                break;
              case "touchcancel":
              case "touchend":
              case "touchmove":
              case "touchstart":
                De = ME;
                break;
              case w5:
              case v5:
              case B5:
                De = FE;
                break;
              case C5:
                De = OE;
                break;
              case "scroll":
                De = vE;
                break;
              case "wheel":
                De = QE;
                break;
              case "copy":
              case "cut":
              case "paste":
                De = _E;
                break;
              case "gotpointercapture":
              case "lostpointercapture":
              case "pointercancel":
              case "pointerdown":
              case "pointermove":
              case "pointerout":
              case "pointerover":
              case "pointerup":
                De = a5;
            }
            var _e = (s & 4) !== 0, Tt = !_e && o === "scroll", se = _e ? me !== null ? me + "Capture" : null : me;
            _e = [];
            for (var ae = ue, le; ae !== null; ) {
              le = ae;
              var we = le.stateNode;
              if (le.tag === 5 && we !== null && (le = we, se !== null && (we = oo(ae, se), we != null && _e.push(Hs(ae, we, le)))), Tt) break;
              ae = ae.return;
            }
            0 < _e.length && (me = new De(me, Se, null, d, ye), Ae.push({
              event: me,
              listeners: _e
            }));
          }
        }
        if ((s & 7) === 0) {
          e: {
            if (me = o === "mouseover" || o === "pointerover", De = o === "mouseout" || o === "pointerout", me && d !== Je && (Se = d.relatedTarget || d.fromElement) && (ui(Se) || Se[Ca])) break e;
            if ((De || me) && (me = ye.window === ye ? ye : (me = ye.ownerDocument) ? me.defaultView || me.parentWindow : window, De ? (Se = d.relatedTarget || d.toElement, De = ue, Se = Se ? ui(Se) : null, Se !== null && (Tt = Ba(Se), Se !== Tt || Se.tag !== 5 && Se.tag !== 6) && (Se = null)) : (De = null, Se = ue), De !== Se)) {
              if (_e = r5, we = "onMouseLeave", se = "onMouseEnter", ae = "mouse", (o === "pointerout" || o === "pointerover") && (_e = a5, we = "onPointerLeave", se = "onPointerEnter", ae = "pointer"), Tt = De == null ? me : d0(De), le = Se == null ? me : d0(Se), me = new _e(we, ae + "leave", De, d, ye), me.target = Tt, me.relatedTarget = le, we = null, ui(ye) === ue && (_e = new _e(se, ae + "enter", Se, d, ye), _e.target = le, _e.relatedTarget = Tt, we = _e), Tt = we, De && Se) t: {
                for (_e = De, se = Se, ae = 0, le = _e; le; le = u0(le)) ae++;
                for (le = 0, we = se; we; we = u0(we)) le++;
                for (; 0 < ae - le; ) _e = u0(_e), ae--;
                for (; 0 < le - ae; ) se = u0(se), le--;
                for (; ae--; ) {
                  if (_e === se || se !== null && _e === se.alternate) break t;
                  _e = u0(_e), se = u0(se);
                }
                _e = null;
              }
              else _e = null;
              De !== null && I5(Ae, me, De, _e, false), Se !== null && Tt !== null && I5(Ae, Tt, Se, _e, true);
            }
          }
          e: {
            if (me = ue ? d0(ue) : window, De = me.nodeName && me.nodeName.toLowerCase(), De === "select" || De === "input" && me.type === "file") var Pe = YE;
            else if (u5(me)) if (d5) Pe = tA;
            else {
              Pe = JE;
              var Re = XE;
            }
            else (De = me.nodeName) && De.toLowerCase() === "input" && (me.type === "checkbox" || me.type === "radio") && (Pe = eA);
            if (Pe && (Pe = Pe(o, ue))) {
              x5(Ae, Pe, d, ye);
              break e;
            }
            Re && Re(o, me, ue), o === "focusout" && (Re = me._wrapperState) && Re.controlled && me.type === "number" && Le(me, "number", me.value);
          }
          switch (Re = ue ? d0(ue) : window, o) {
            case "focusin":
              (u5(Re) || Re.contentEditable === "true") && (l0 = Re, ff = ue, Ms = null);
              break;
            case "focusout":
              Ms = ff = l0 = null;
              break;
            case "mousedown":
              hf = true;
              break;
            case "contextmenu":
            case "mouseup":
            case "dragend":
              hf = false, A5(Ae, d, ye);
              break;
            case "selectionchange":
              if (aA) break;
            case "keydown":
            case "keyup":
              A5(Ae, d, ye);
          }
          var Ke;
          if (cf) e: {
            switch (o) {
              case "compositionstart":
                var Oe = "onCompositionStart";
                break e;
              case "compositionend":
                Oe = "onCompositionEnd";
                break e;
              case "compositionupdate":
                Oe = "onCompositionUpdate";
                break e;
            }
            Oe = void 0;
          }
          else s0 ? l5(o, d) && (Oe = "onCompositionEnd") : o === "keydown" && d.keyCode === 229 && (Oe = "onCompositionStart");
          Oe && (o5 && d.locale !== "ko" && (s0 || Oe !== "onCompositionStart" ? Oe === "onCompositionEnd" && s0 && (Ke = e5()) : (fo = ye, rf = "value" in fo ? fo.value : fo.textContent, s0 = true)), Re = Jc(ue, Oe), 0 < Re.length && (Oe = new n5(Oe, o, null, d, ye), Ae.push({
            event: Oe,
            listeners: Re
          }), Ke ? Oe.data = Ke : (Ke = c5(d), Ke !== null && (Oe.data = Ke)))), (Ke = GE ? VE(o, d) : WE(o, d)) && (ue = Jc(ue, "onBeforeInput"), 0 < ue.length && (ye = new n5("onBeforeInput", "beforeinput", null, d, ye), Ae.push({
            event: ye,
            listeners: ue
          }), ye.data = Ke));
        }
        S5(Ae, s);
      });
    }
    function Hs(o, s, d) {
      return {
        instance: o,
        listener: s,
        currentTarget: d
      };
    }
    function Jc(o, s) {
      for (var d = s + "Capture", g = []; o !== null; ) {
        var b = o, F = b.stateNode;
        b.tag === 5 && F !== null && (b = F, F = oo(o, d), F != null && g.unshift(Hs(o, F, b)), F = oo(o, s), F != null && g.push(Hs(o, F, b))), o = o.return;
      }
      return g;
    }
    function u0(o) {
      if (o === null) return null;
      do
        o = o.return;
      while (o && o.tag !== 5);
      return o || null;
    }
    function I5(o, s, d, g, b) {
      for (var F = s._reactName, H = []; d !== null && d !== g; ) {
        var J = d, re = J.alternate, ue = J.stateNode;
        if (re !== null && re === g) break;
        J.tag === 5 && ue !== null && (J = ue, b ? (re = oo(d, F), re != null && H.unshift(Hs(d, re, J))) : b || (re = oo(d, F), re != null && H.push(Hs(d, re, J)))), d = d.return;
      }
      H.length !== 0 && o.push({
        event: s,
        listeners: H
      });
    }
    var lA = /\r\n?/g, cA = /\u0000|\uFFFD/g;
    function P5(o) {
      return (typeof o == "string" ? o : "" + o).replace(lA, `
`).replace(cA, "");
    }
    function eu(o, s, d) {
      if (s = P5(s), P5(o) !== s && d) throw Error(r(425));
    }
    function tu() {
    }
    var Af = null, bf = null;
    function wf(o, s) {
      return o === "textarea" || o === "noscript" || typeof s.children == "string" || typeof s.children == "number" || typeof s.dangerouslySetInnerHTML == "object" && s.dangerouslySetInnerHTML !== null && s.dangerouslySetInnerHTML.__html != null;
    }
    var vf = typeof setTimeout == "function" ? setTimeout : void 0, uA = typeof clearTimeout == "function" ? clearTimeout : void 0, N5 = typeof Promise == "function" ? Promise : void 0, xA = typeof queueMicrotask == "function" ? queueMicrotask : typeof N5 < "u" ? function(o) {
      return N5.resolve(null).then(o).catch(dA);
    } : vf;
    function dA(o) {
      setTimeout(function() {
        throw o;
      });
    }
    function Bf(o, s) {
      var d = s, g = 0;
      do {
        var b = d.nextSibling;
        if (o.removeChild(d), b && b.nodeType === 8) if (d = b.data, d === "/$") {
          if (g === 0) {
            o.removeChild(b), Ns(s);
            return;
          }
          g--;
        } else d !== "$" && d !== "$?" && d !== "$!" || g++;
        d = b;
      } while (d);
      Ns(s);
    }
    function po(o) {
      for (; o != null; o = o.nextSibling) {
        var s = o.nodeType;
        if (s === 1 || s === 3) break;
        if (s === 8) {
          if (s = o.data, s === "$" || s === "$!" || s === "$?") break;
          if (s === "/$") return null;
        }
      }
      return o;
    }
    function j5(o) {
      o = o.previousSibling;
      for (var s = 0; o; ) {
        if (o.nodeType === 8) {
          var d = o.data;
          if (d === "$" || d === "$!" || d === "$?") {
            if (s === 0) return o;
            s--;
          } else d === "/$" && s++;
        }
        o = o.previousSibling;
      }
      return null;
    }
    var x0 = Math.random().toString(36).slice(2), Wn = "__reactFiber$" + x0, Qs = "__reactProps$" + x0, Ca = "__reactContainer$" + x0, Cf = "__reactEvents$" + x0, fA = "__reactListeners$" + x0, hA = "__reactHandles$" + x0;
    function ui(o) {
      var s = o[Wn];
      if (s) return s;
      for (var d = o.parentNode; d; ) {
        if (s = d[Ca] || d[Wn]) {
          if (d = s.alternate, s.child !== null || d !== null && d.child !== null) for (o = j5(o); o !== null; ) {
            if (d = o[Wn]) return d;
            o = j5(o);
          }
          return s;
        }
        o = d, d = o.parentNode;
      }
      return null;
    }
    function qs(o) {
      return o = o[Wn] || o[Ca], !o || o.tag !== 5 && o.tag !== 6 && o.tag !== 13 && o.tag !== 3 ? null : o;
    }
    function d0(o) {
      if (o.tag === 5 || o.tag === 6) return o.stateNode;
      throw Error(r(33));
    }
    function ru(o) {
      return o[Qs] || null;
    }
    var kf = [], f0 = -1;
    function go(o) {
      return {
        current: o
      };
    }
    function Bt(o) {
      0 > f0 || (o.current = kf[f0], kf[f0] = null, f0--);
    }
    function Et(o, s) {
      f0++, kf[f0] = o.current, o.current = s;
    }
    var mo = {}, fr = go(mo), Pr = go(false), xi = mo;
    function h0(o, s) {
      var d = o.type.contextTypes;
      if (!d) return mo;
      var g = o.stateNode;
      if (g && g.__reactInternalMemoizedUnmaskedChildContext === s) return g.__reactInternalMemoizedMaskedChildContext;
      var b = {}, F;
      for (F in d) b[F] = s[F];
      return g && (o = o.stateNode, o.__reactInternalMemoizedUnmaskedChildContext = s, o.__reactInternalMemoizedMaskedChildContext = b), b;
    }
    function Nr(o) {
      return o = o.childContextTypes, o != null;
    }
    function nu() {
      Bt(Pr), Bt(fr);
    }
    function z5(o, s, d) {
      if (fr.current !== mo) throw Error(r(168));
      Et(fr, s), Et(Pr, d);
    }
    function U5(o, s, d) {
      var g = o.stateNode;
      if (s = s.childContextTypes, typeof g.getChildContext != "function") return d;
      g = g.getChildContext();
      for (var b in g) if (!(b in s)) throw Error(r(108, xe(o) || "Unknown", b));
      return V({}, d, g);
    }
    function au(o) {
      return o = (o = o.stateNode) && o.__reactInternalMemoizedMergedChildContext || mo, xi = fr.current, Et(fr, o), Et(Pr, Pr.current), true;
    }
    function T5(o, s, d) {
      var g = o.stateNode;
      if (!g) throw Error(r(169));
      d ? (o = U5(o, s, xi), g.__reactInternalMemoizedMergedChildContext = o, Bt(Pr), Bt(fr), Et(fr, o)) : Bt(Pr), Et(Pr, d);
    }
    var ka = null, ou = false, Df = false;
    function R5(o) {
      ka === null ? ka = [
        o
      ] : ka.push(o);
    }
    function pA(o) {
      ou = true, R5(o);
    }
    function yo() {
      if (!Df && ka !== null) {
        Df = true;
        var o = 0, s = lt;
        try {
          var d = ka;
          for (lt = 1; o < d.length; o++) {
            var g = d[o];
            do
              g = g(true);
            while (g !== null);
          }
          ka = null, ou = false;
        } catch (b) {
          throw ka !== null && (ka = ka.slice(o + 1)), ut(Wd, yo), b;
        } finally {
          lt = s, Df = false;
        }
      }
      return null;
    }
    var p0 = [], g0 = 0, iu = null, su = 0, ln = [], cn = 0, di = null, Da = 1, Fa = "";
    function fi(o, s) {
      p0[g0++] = su, p0[g0++] = iu, iu = o, su = s;
    }
    function K5(o, s, d) {
      ln[cn++] = Da, ln[cn++] = Fa, ln[cn++] = di, di = o;
      var g = Da;
      o = Fa;
      var b = 32 - In(g) - 1;
      g &= ~(1 << b), d += 1;
      var F = 32 - In(s) + b;
      if (30 < F) {
        var H = b - b % 5;
        F = (g & (1 << H) - 1).toString(32), g >>= H, b -= H, Da = 1 << 32 - In(s) + b | d << b | g, Fa = F + o;
      } else Da = 1 << F | d << b | g, Fa = o;
    }
    function Ff(o) {
      o.return !== null && (fi(o, 1), K5(o, 1, 0));
    }
    function Sf(o) {
      for (; o === iu; ) iu = p0[--g0], p0[g0] = null, su = p0[--g0], p0[g0] = null;
      for (; o === di; ) di = ln[--cn], ln[cn] = null, Fa = ln[--cn], ln[cn] = null, Da = ln[--cn], ln[cn] = null;
    }
    var Zr = null, Yr = null, kt = false, Nn = null;
    function M5(o, s) {
      var d = fn(5, null, null, 0);
      d.elementType = "DELETED", d.stateNode = s, d.return = o, s = o.deletions, s === null ? (o.deletions = [
        d
      ], o.flags |= 16) : s.push(d);
    }
    function L5(o, s) {
      switch (o.tag) {
        case 5:
          var d = o.type;
          return s = s.nodeType !== 1 || d.toLowerCase() !== s.nodeName.toLowerCase() ? null : s, s !== null ? (o.stateNode = s, Zr = o, Yr = po(s.firstChild), true) : false;
        case 6:
          return s = o.pendingProps === "" || s.nodeType !== 3 ? null : s, s !== null ? (o.stateNode = s, Zr = o, Yr = null, true) : false;
        case 13:
          return s = s.nodeType !== 8 ? null : s, s !== null ? (d = di !== null ? {
            id: Da,
            overflow: Fa
          } : null, o.memoizedState = {
            dehydrated: s,
            treeContext: d,
            retryLane: 1073741824
          }, d = fn(18, null, null, 0), d.stateNode = s, d.return = o, o.child = d, Zr = o, Yr = null, true) : false;
        default:
          return false;
      }
    }
    function _f(o) {
      return (o.mode & 1) !== 0 && (o.flags & 128) === 0;
    }
    function If(o) {
      if (kt) {
        var s = Yr;
        if (s) {
          var d = s;
          if (!L5(o, s)) {
            if (_f(o)) throw Error(r(418));
            s = po(d.nextSibling);
            var g = Zr;
            s && L5(o, s) ? M5(g, d) : (o.flags = o.flags & -4097 | 2, kt = false, Zr = o);
          }
        } else {
          if (_f(o)) throw Error(r(418));
          o.flags = o.flags & -4097 | 2, kt = false, Zr = o;
        }
      }
    }
    function O5(o) {
      for (o = o.return; o !== null && o.tag !== 5 && o.tag !== 3 && o.tag !== 13; ) o = o.return;
      Zr = o;
    }
    function lu(o) {
      if (o !== Zr) return false;
      if (!kt) return O5(o), kt = true, false;
      var s;
      if ((s = o.tag !== 3) && !(s = o.tag !== 5) && (s = o.type, s = s !== "head" && s !== "body" && !wf(o.type, o.memoizedProps)), s && (s = Yr)) {
        if (_f(o)) throw H5(), Error(r(418));
        for (; s; ) M5(o, s), s = po(s.nextSibling);
      }
      if (O5(o), o.tag === 13) {
        if (o = o.memoizedState, o = o !== null ? o.dehydrated : null, !o) throw Error(r(317));
        e: {
          for (o = o.nextSibling, s = 0; o; ) {
            if (o.nodeType === 8) {
              var d = o.data;
              if (d === "/$") {
                if (s === 0) {
                  Yr = po(o.nextSibling);
                  break e;
                }
                s--;
              } else d !== "$" && d !== "$!" && d !== "$?" || s++;
            }
            o = o.nextSibling;
          }
          Yr = null;
        }
      } else Yr = Zr ? po(o.stateNode.nextSibling) : null;
      return true;
    }
    function H5() {
      for (var o = Yr; o; ) o = po(o.nextSibling);
    }
    function m0() {
      Yr = Zr = null, kt = false;
    }
    function Pf(o) {
      Nn === null ? Nn = [
        o
      ] : Nn.push(o);
    }
    var gA = w.ReactCurrentBatchConfig;
    function Gs(o, s, d) {
      if (o = d.ref, o !== null && typeof o != "function" && typeof o != "object") {
        if (d._owner) {
          if (d = d._owner, d) {
            if (d.tag !== 1) throw Error(r(309));
            var g = d.stateNode;
          }
          if (!g) throw Error(r(147, o));
          var b = g, F = "" + o;
          return s !== null && s.ref !== null && typeof s.ref == "function" && s.ref._stringRef === F ? s.ref : (s = function(H) {
            var J = b.refs;
            H === null ? delete J[F] : J[F] = H;
          }, s._stringRef = F, s);
        }
        if (typeof o != "string") throw Error(r(284));
        if (!d._owner) throw Error(r(290, o));
      }
      return o;
    }
    function cu(o, s) {
      throw o = Object.prototype.toString.call(s), Error(r(31, o === "[object Object]" ? "object with keys {" + Object.keys(s).join(", ") + "}" : o));
    }
    function Q5(o) {
      var s = o._init;
      return s(o._payload);
    }
    function q5(o) {
      function s(se, ae) {
        if (o) {
          var le = se.deletions;
          le === null ? (se.deletions = [
            ae
          ], se.flags |= 16) : le.push(ae);
        }
      }
      function d(se, ae) {
        if (!o) return null;
        for (; ae !== null; ) s(se, ae), ae = ae.sibling;
        return null;
      }
      function g(se, ae) {
        for (se = /* @__PURE__ */ new Map(); ae !== null; ) ae.key !== null ? se.set(ae.key, ae) : se.set(ae.index, ae), ae = ae.sibling;
        return se;
      }
      function b(se, ae) {
        return se = ko(se, ae), se.index = 0, se.sibling = null, se;
      }
      function F(se, ae, le) {
        return se.index = le, o ? (le = se.alternate, le !== null ? (le = le.index, le < ae ? (se.flags |= 2, ae) : le) : (se.flags |= 2, ae)) : (se.flags |= 1048576, ae);
      }
      function H(se) {
        return o && se.alternate === null && (se.flags |= 2), se;
      }
      function J(se, ae, le, we) {
        return ae === null || ae.tag !== 6 ? (ae = v1(le, se.mode, we), ae.return = se, ae) : (ae = b(ae, le), ae.return = se, ae);
      }
      function re(se, ae, le, we) {
        var Pe = le.type;
        return Pe === N ? ye(se, ae, le.props.children, we, le.key) : ae !== null && (ae.elementType === Pe || typeof Pe == "object" && Pe !== null && Pe.$$typeof === $ && Q5(Pe) === ae.type) ? (we = b(ae, le.props), we.ref = Gs(se, ae, le), we.return = se, we) : (we = Nu(le.type, le.key, le.props, null, se.mode, we), we.ref = Gs(se, ae, le), we.return = se, we);
      }
      function ue(se, ae, le, we) {
        return ae === null || ae.tag !== 4 || ae.stateNode.containerInfo !== le.containerInfo || ae.stateNode.implementation !== le.implementation ? (ae = B1(le, se.mode, we), ae.return = se, ae) : (ae = b(ae, le.children || []), ae.return = se, ae);
      }
      function ye(se, ae, le, we, Pe) {
        return ae === null || ae.tag !== 7 ? (ae = bi(le, se.mode, we, Pe), ae.return = se, ae) : (ae = b(ae, le), ae.return = se, ae);
      }
      function Ae(se, ae, le) {
        if (typeof ae == "string" && ae !== "" || typeof ae == "number") return ae = v1("" + ae, se.mode, le), ae.return = se, ae;
        if (typeof ae == "object" && ae !== null) {
          switch (ae.$$typeof) {
            case _:
              return le = Nu(ae.type, ae.key, ae.props, null, se.mode, le), le.ref = Gs(se, null, ae), le.return = se, le;
            case T:
              return ae = B1(ae, se.mode, le), ae.return = se, ae;
            case $:
              var we = ae._init;
              return Ae(se, we(ae._payload), le);
          }
          if (ft(ae) || Q(ae)) return ae = bi(ae, se.mode, le, null), ae.return = se, ae;
          cu(se, ae);
        }
        return null;
      }
      function me(se, ae, le, we) {
        var Pe = ae !== null ? ae.key : null;
        if (typeof le == "string" && le !== "" || typeof le == "number") return Pe !== null ? null : J(se, ae, "" + le, we);
        if (typeof le == "object" && le !== null) {
          switch (le.$$typeof) {
            case _:
              return le.key === Pe ? re(se, ae, le, we) : null;
            case T:
              return le.key === Pe ? ue(se, ae, le, we) : null;
            case $:
              return Pe = le._init, me(se, ae, Pe(le._payload), we);
          }
          if (ft(le) || Q(le)) return Pe !== null ? null : ye(se, ae, le, we, null);
          cu(se, le);
        }
        return null;
      }
      function De(se, ae, le, we, Pe) {
        if (typeof we == "string" && we !== "" || typeof we == "number") return se = se.get(le) || null, J(ae, se, "" + we, Pe);
        if (typeof we == "object" && we !== null) {
          switch (we.$$typeof) {
            case _:
              return se = se.get(we.key === null ? le : we.key) || null, re(ae, se, we, Pe);
            case T:
              return se = se.get(we.key === null ? le : we.key) || null, ue(ae, se, we, Pe);
            case $:
              var Re = we._init;
              return De(se, ae, le, Re(we._payload), Pe);
          }
          if (ft(we) || Q(we)) return se = se.get(le) || null, ye(ae, se, we, Pe, null);
          cu(ae, we);
        }
        return null;
      }
      function Se(se, ae, le, we) {
        for (var Pe = null, Re = null, Ke = ae, Oe = ae = 0, Jt = null; Ke !== null && Oe < le.length; Oe++) {
          Ke.index > Oe ? (Jt = Ke, Ke = null) : Jt = Ke.sibling;
          var at = me(se, Ke, le[Oe], we);
          if (at === null) {
            Ke === null && (Ke = Jt);
            break;
          }
          o && Ke && at.alternate === null && s(se, Ke), ae = F(at, ae, Oe), Re === null ? Pe = at : Re.sibling = at, Re = at, Ke = Jt;
        }
        if (Oe === le.length) return d(se, Ke), kt && fi(se, Oe), Pe;
        if (Ke === null) {
          for (; Oe < le.length; Oe++) Ke = Ae(se, le[Oe], we), Ke !== null && (ae = F(Ke, ae, Oe), Re === null ? Pe = Ke : Re.sibling = Ke, Re = Ke);
          return kt && fi(se, Oe), Pe;
        }
        for (Ke = g(se, Ke); Oe < le.length; Oe++) Jt = De(Ke, se, Oe, le[Oe], we), Jt !== null && (o && Jt.alternate !== null && Ke.delete(Jt.key === null ? Oe : Jt.key), ae = F(Jt, ae, Oe), Re === null ? Pe = Jt : Re.sibling = Jt, Re = Jt);
        return o && Ke.forEach(function(Do) {
          return s(se, Do);
        }), kt && fi(se, Oe), Pe;
      }
      function _e(se, ae, le, we) {
        var Pe = Q(le);
        if (typeof Pe != "function") throw Error(r(150));
        if (le = Pe.call(le), le == null) throw Error(r(151));
        for (var Re = Pe = null, Ke = ae, Oe = ae = 0, Jt = null, at = le.next(); Ke !== null && !at.done; Oe++, at = le.next()) {
          Ke.index > Oe ? (Jt = Ke, Ke = null) : Jt = Ke.sibling;
          var Do = me(se, Ke, at.value, we);
          if (Do === null) {
            Ke === null && (Ke = Jt);
            break;
          }
          o && Ke && Do.alternate === null && s(se, Ke), ae = F(Do, ae, Oe), Re === null ? Pe = Do : Re.sibling = Do, Re = Do, Ke = Jt;
        }
        if (at.done) return d(se, Ke), kt && fi(se, Oe), Pe;
        if (Ke === null) {
          for (; !at.done; Oe++, at = le.next()) at = Ae(se, at.value, we), at !== null && (ae = F(at, ae, Oe), Re === null ? Pe = at : Re.sibling = at, Re = at);
          return kt && fi(se, Oe), Pe;
        }
        for (Ke = g(se, Ke); !at.done; Oe++, at = le.next()) at = De(Ke, se, Oe, at.value, we), at !== null && (o && at.alternate !== null && Ke.delete(at.key === null ? Oe : at.key), ae = F(at, ae, Oe), Re === null ? Pe = at : Re.sibling = at, Re = at);
        return o && Ke.forEach(function($A) {
          return s(se, $A);
        }), kt && fi(se, Oe), Pe;
      }
      function Tt(se, ae, le, we) {
        if (typeof le == "object" && le !== null && le.type === N && le.key === null && (le = le.props.children), typeof le == "object" && le !== null) {
          switch (le.$$typeof) {
            case _:
              e: {
                for (var Pe = le.key, Re = ae; Re !== null; ) {
                  if (Re.key === Pe) {
                    if (Pe = le.type, Pe === N) {
                      if (Re.tag === 7) {
                        d(se, Re.sibling), ae = b(Re, le.props.children), ae.return = se, se = ae;
                        break e;
                      }
                    } else if (Re.elementType === Pe || typeof Pe == "object" && Pe !== null && Pe.$$typeof === $ && Q5(Pe) === Re.type) {
                      d(se, Re.sibling), ae = b(Re, le.props), ae.ref = Gs(se, Re, le), ae.return = se, se = ae;
                      break e;
                    }
                    d(se, Re);
                    break;
                  } else s(se, Re);
                  Re = Re.sibling;
                }
                le.type === N ? (ae = bi(le.props.children, se.mode, we, le.key), ae.return = se, se = ae) : (we = Nu(le.type, le.key, le.props, null, se.mode, we), we.ref = Gs(se, ae, le), we.return = se, se = we);
              }
              return H(se);
            case T:
              e: {
                for (Re = le.key; ae !== null; ) {
                  if (ae.key === Re) if (ae.tag === 4 && ae.stateNode.containerInfo === le.containerInfo && ae.stateNode.implementation === le.implementation) {
                    d(se, ae.sibling), ae = b(ae, le.children || []), ae.return = se, se = ae;
                    break e;
                  } else {
                    d(se, ae);
                    break;
                  }
                  else s(se, ae);
                  ae = ae.sibling;
                }
                ae = B1(le, se.mode, we), ae.return = se, se = ae;
              }
              return H(se);
            case $:
              return Re = le._init, Tt(se, ae, Re(le._payload), we);
          }
          if (ft(le)) return Se(se, ae, le, we);
          if (Q(le)) return _e(se, ae, le, we);
          cu(se, le);
        }
        return typeof le == "string" && le !== "" || typeof le == "number" ? (le = "" + le, ae !== null && ae.tag === 6 ? (d(se, ae.sibling), ae = b(ae, le), ae.return = se, se = ae) : (d(se, ae), ae = v1(le, se.mode, we), ae.return = se, se = ae), H(se)) : d(se, ae);
      }
      return Tt;
    }
    var y0 = q5(true), G5 = q5(false), uu = go(null), xu = null, E0 = null, Nf = null;
    function jf() {
      Nf = E0 = xu = null;
    }
    function zf(o) {
      var s = uu.current;
      Bt(uu), o._currentValue = s;
    }
    function Uf(o, s, d) {
      for (; o !== null; ) {
        var g = o.alternate;
        if ((o.childLanes & s) !== s ? (o.childLanes |= s, g !== null && (g.childLanes |= s)) : g !== null && (g.childLanes & s) !== s && (g.childLanes |= s), o === d) break;
        o = o.return;
      }
    }
    function A0(o, s) {
      xu = o, Nf = E0 = null, o = o.dependencies, o !== null && o.firstContext !== null && ((o.lanes & s) !== 0 && (jr = true), o.firstContext = null);
    }
    function un(o) {
      var s = o._currentValue;
      if (Nf !== o) if (o = {
        context: o,
        memoizedValue: s,
        next: null
      }, E0 === null) {
        if (xu === null) throw Error(r(308));
        E0 = o, xu.dependencies = {
          lanes: 0,
          firstContext: o
        };
      } else E0 = E0.next = o;
      return s;
    }
    var hi = null;
    function Tf(o) {
      hi === null ? hi = [
        o
      ] : hi.push(o);
    }
    function V5(o, s, d, g) {
      var b = s.interleaved;
      return b === null ? (d.next = d, Tf(s)) : (d.next = b.next, b.next = d), s.interleaved = d, Sa(o, g);
    }
    function Sa(o, s) {
      o.lanes |= s;
      var d = o.alternate;
      for (d !== null && (d.lanes |= s), d = o, o = o.return; o !== null; ) o.childLanes |= s, d = o.alternate, d !== null && (d.childLanes |= s), d = o, o = o.return;
      return d.tag === 3 ? d.stateNode : null;
    }
    var Eo = false;
    function Rf(o) {
      o.updateQueue = {
        baseState: o.memoizedState,
        firstBaseUpdate: null,
        lastBaseUpdate: null,
        shared: {
          pending: null,
          interleaved: null,
          lanes: 0
        },
        effects: null
      };
    }
    function W5(o, s) {
      o = o.updateQueue, s.updateQueue === o && (s.updateQueue = {
        baseState: o.baseState,
        firstBaseUpdate: o.firstBaseUpdate,
        lastBaseUpdate: o.lastBaseUpdate,
        shared: o.shared,
        effects: o.effects
      });
    }
    function _a(o, s) {
      return {
        eventTime: o,
        lane: s,
        tag: 0,
        payload: null,
        callback: null,
        next: null
      };
    }
    function Ao(o, s, d) {
      var g = o.updateQueue;
      if (g === null) return null;
      if (g = g.shared, (nt & 2) !== 0) {
        var b = g.pending;
        return b === null ? s.next = s : (s.next = b.next, b.next = s), g.pending = s, Sa(o, d);
      }
      return b = g.interleaved, b === null ? (s.next = s, Tf(g)) : (s.next = b.next, b.next = s), g.interleaved = s, Sa(o, d);
    }
    function du(o, s, d) {
      if (s = s.updateQueue, s !== null && (s = s.shared, (d & 4194240) !== 0)) {
        var g = s.lanes;
        g &= o.pendingLanes, d |= g, s.lanes = d, Yd(o, d);
      }
    }
    function $5(o, s) {
      var d = o.updateQueue, g = o.alternate;
      if (g !== null && (g = g.updateQueue, d === g)) {
        var b = null, F = null;
        if (d = d.firstBaseUpdate, d !== null) {
          do {
            var H = {
              eventTime: d.eventTime,
              lane: d.lane,
              tag: d.tag,
              payload: d.payload,
              callback: d.callback,
              next: null
            };
            F === null ? b = F = H : F = F.next = H, d = d.next;
          } while (d !== null);
          F === null ? b = F = s : F = F.next = s;
        } else b = F = s;
        d = {
          baseState: g.baseState,
          firstBaseUpdate: b,
          lastBaseUpdate: F,
          shared: g.shared,
          effects: g.effects
        }, o.updateQueue = d;
        return;
      }
      o = d.lastBaseUpdate, o === null ? d.firstBaseUpdate = s : o.next = s, d.lastBaseUpdate = s;
    }
    function fu(o, s, d, g) {
      var b = o.updateQueue;
      Eo = false;
      var F = b.firstBaseUpdate, H = b.lastBaseUpdate, J = b.shared.pending;
      if (J !== null) {
        b.shared.pending = null;
        var re = J, ue = re.next;
        re.next = null, H === null ? F = ue : H.next = ue, H = re;
        var ye = o.alternate;
        ye !== null && (ye = ye.updateQueue, J = ye.lastBaseUpdate, J !== H && (J === null ? ye.firstBaseUpdate = ue : J.next = ue, ye.lastBaseUpdate = re));
      }
      if (F !== null) {
        var Ae = b.baseState;
        H = 0, ye = ue = re = null, J = F;
        do {
          var me = J.lane, De = J.eventTime;
          if ((g & me) === me) {
            ye !== null && (ye = ye.next = {
              eventTime: De,
              lane: 0,
              tag: J.tag,
              payload: J.payload,
              callback: J.callback,
              next: null
            });
            e: {
              var Se = o, _e = J;
              switch (me = s, De = d, _e.tag) {
                case 1:
                  if (Se = _e.payload, typeof Se == "function") {
                    Ae = Se.call(De, Ae, me);
                    break e;
                  }
                  Ae = Se;
                  break e;
                case 3:
                  Se.flags = Se.flags & -65537 | 128;
                case 0:
                  if (Se = _e.payload, me = typeof Se == "function" ? Se.call(De, Ae, me) : Se, me == null) break e;
                  Ae = V({}, Ae, me);
                  break e;
                case 2:
                  Eo = true;
              }
            }
            J.callback !== null && J.lane !== 0 && (o.flags |= 64, me = b.effects, me === null ? b.effects = [
              J
            ] : me.push(J));
          } else De = {
            eventTime: De,
            lane: me,
            tag: J.tag,
            payload: J.payload,
            callback: J.callback,
            next: null
          }, ye === null ? (ue = ye = De, re = Ae) : ye = ye.next = De, H |= me;
          if (J = J.next, J === null) {
            if (J = b.shared.pending, J === null) break;
            me = J, J = me.next, me.next = null, b.lastBaseUpdate = me, b.shared.pending = null;
          }
        } while (true);
        if (ye === null && (re = Ae), b.baseState = re, b.firstBaseUpdate = ue, b.lastBaseUpdate = ye, s = b.shared.interleaved, s !== null) {
          b = s;
          do
            H |= b.lane, b = b.next;
          while (b !== s);
        } else F === null && (b.shared.lanes = 0);
        mi |= H, o.lanes = H, o.memoizedState = Ae;
      }
    }
    function Z5(o, s, d) {
      if (o = s.effects, s.effects = null, o !== null) for (s = 0; s < o.length; s++) {
        var g = o[s], b = g.callback;
        if (b !== null) {
          if (g.callback = null, g = d, typeof b != "function") throw Error(r(191, b));
          b.call(g);
        }
      }
    }
    var Vs = {}, $n = go(Vs), Ws = go(Vs), $s = go(Vs);
    function pi(o) {
      if (o === Vs) throw Error(r(174));
      return o;
    }
    function Kf(o, s) {
      switch (Et($s, s), Et(Ws, o), Et($n, Vs), o = s.nodeType, o) {
        case 9:
        case 11:
          s = (s = s.documentElement) ? s.namespaceURI : q(null, "");
          break;
        default:
          o = o === 8 ? s.parentNode : s, s = o.namespaceURI || null, o = o.tagName, s = q(s, o);
      }
      Bt($n), Et($n, s);
    }
    function b0() {
      Bt($n), Bt(Ws), Bt($s);
    }
    function Y5(o) {
      pi($s.current);
      var s = pi($n.current), d = q(s, o.type);
      s !== d && (Et(Ws, o), Et($n, d));
    }
    function Mf(o) {
      Ws.current === o && (Bt($n), Bt(Ws));
    }
    var Pt = go(0);
    function hu(o) {
      for (var s = o; s !== null; ) {
        if (s.tag === 13) {
          var d = s.memoizedState;
          if (d !== null && (d = d.dehydrated, d === null || d.data === "$?" || d.data === "$!")) return s;
        } else if (s.tag === 19 && s.memoizedProps.revealOrder !== void 0) {
          if ((s.flags & 128) !== 0) return s;
        } else if (s.child !== null) {
          s.child.return = s, s = s.child;
          continue;
        }
        if (s === o) break;
        for (; s.sibling === null; ) {
          if (s.return === null || s.return === o) return null;
          s = s.return;
        }
        s.sibling.return = s.return, s = s.sibling;
      }
      return null;
    }
    var Lf = [];
    function Of() {
      for (var o = 0; o < Lf.length; o++) Lf[o]._workInProgressVersionPrimary = null;
      Lf.length = 0;
    }
    var pu = w.ReactCurrentDispatcher, Hf = w.ReactCurrentBatchConfig, gi = 0, Nt = null, Qt = null, Yt = null, gu = false, Zs = false, Ys = 0, mA = 0;
    function hr() {
      throw Error(r(321));
    }
    function Qf(o, s) {
      if (s === null) return false;
      for (var d = 0; d < s.length && d < o.length; d++) if (!Pn(o[d], s[d])) return false;
      return true;
    }
    function qf(o, s, d, g, b, F) {
      if (gi = F, Nt = s, s.memoizedState = null, s.updateQueue = null, s.lanes = 0, pu.current = o === null || o.memoizedState === null ? bA : wA, o = d(g, b), Zs) {
        F = 0;
        do {
          if (Zs = false, Ys = 0, 25 <= F) throw Error(r(301));
          F += 1, Yt = Qt = null, s.updateQueue = null, pu.current = vA, o = d(g, b);
        } while (Zs);
      }
      if (pu.current = Eu, s = Qt !== null && Qt.next !== null, gi = 0, Yt = Qt = Nt = null, gu = false, s) throw Error(r(300));
      return o;
    }
    function Gf() {
      var o = Ys !== 0;
      return Ys = 0, o;
    }
    function Zn() {
      var o = {
        memoizedState: null,
        baseState: null,
        baseQueue: null,
        queue: null,
        next: null
      };
      return Yt === null ? Nt.memoizedState = Yt = o : Yt = Yt.next = o, Yt;
    }
    function xn() {
      if (Qt === null) {
        var o = Nt.alternate;
        o = o !== null ? o.memoizedState : null;
      } else o = Qt.next;
      var s = Yt === null ? Nt.memoizedState : Yt.next;
      if (s !== null) Yt = s, Qt = o;
      else {
        if (o === null) throw Error(r(310));
        Qt = o, o = {
          memoizedState: Qt.memoizedState,
          baseState: Qt.baseState,
          baseQueue: Qt.baseQueue,
          queue: Qt.queue,
          next: null
        }, Yt === null ? Nt.memoizedState = Yt = o : Yt = Yt.next = o;
      }
      return Yt;
    }
    function Xs(o, s) {
      return typeof s == "function" ? s(o) : s;
    }
    function Vf(o) {
      var s = xn(), d = s.queue;
      if (d === null) throw Error(r(311));
      d.lastRenderedReducer = o;
      var g = Qt, b = g.baseQueue, F = d.pending;
      if (F !== null) {
        if (b !== null) {
          var H = b.next;
          b.next = F.next, F.next = H;
        }
        g.baseQueue = b = F, d.pending = null;
      }
      if (b !== null) {
        F = b.next, g = g.baseState;
        var J = H = null, re = null, ue = F;
        do {
          var ye = ue.lane;
          if ((gi & ye) === ye) re !== null && (re = re.next = {
            lane: 0,
            action: ue.action,
            hasEagerState: ue.hasEagerState,
            eagerState: ue.eagerState,
            next: null
          }), g = ue.hasEagerState ? ue.eagerState : o(g, ue.action);
          else {
            var Ae = {
              lane: ye,
              action: ue.action,
              hasEagerState: ue.hasEagerState,
              eagerState: ue.eagerState,
              next: null
            };
            re === null ? (J = re = Ae, H = g) : re = re.next = Ae, Nt.lanes |= ye, mi |= ye;
          }
          ue = ue.next;
        } while (ue !== null && ue !== F);
        re === null ? H = g : re.next = J, Pn(g, s.memoizedState) || (jr = true), s.memoizedState = g, s.baseState = H, s.baseQueue = re, d.lastRenderedState = g;
      }
      if (o = d.interleaved, o !== null) {
        b = o;
        do
          F = b.lane, Nt.lanes |= F, mi |= F, b = b.next;
        while (b !== o);
      } else b === null && (d.lanes = 0);
      return [
        s.memoizedState,
        d.dispatch
      ];
    }
    function Wf(o) {
      var s = xn(), d = s.queue;
      if (d === null) throw Error(r(311));
      d.lastRenderedReducer = o;
      var g = d.dispatch, b = d.pending, F = s.memoizedState;
      if (b !== null) {
        d.pending = null;
        var H = b = b.next;
        do
          F = o(F, H.action), H = H.next;
        while (H !== b);
        Pn(F, s.memoizedState) || (jr = true), s.memoizedState = F, s.baseQueue === null && (s.baseState = F), d.lastRenderedState = F;
      }
      return [
        F,
        g
      ];
    }
    function X5() {
    }
    function J5(o, s) {
      var d = Nt, g = xn(), b = s(), F = !Pn(g.memoizedState, b);
      if (F && (g.memoizedState = b, jr = true), g = g.queue, $f(r2.bind(null, d, g, o), [
        o
      ]), g.getSnapshot !== s || F || Yt !== null && Yt.memoizedState.tag & 1) {
        if (d.flags |= 2048, Js(9, t2.bind(null, d, g, b, s), void 0, null), Xt === null) throw Error(r(349));
        (gi & 30) !== 0 || e2(d, s, b);
      }
      return b;
    }
    function e2(o, s, d) {
      o.flags |= 16384, o = {
        getSnapshot: s,
        value: d
      }, s = Nt.updateQueue, s === null ? (s = {
        lastEffect: null,
        stores: null
      }, Nt.updateQueue = s, s.stores = [
        o
      ]) : (d = s.stores, d === null ? s.stores = [
        o
      ] : d.push(o));
    }
    function t2(o, s, d, g) {
      s.value = d, s.getSnapshot = g, n2(s) && a2(o);
    }
    function r2(o, s, d) {
      return d(function() {
        n2(s) && a2(o);
      });
    }
    function n2(o) {
      var s = o.getSnapshot;
      o = o.value;
      try {
        var d = s();
        return !Pn(o, d);
      } catch {
        return true;
      }
    }
    function a2(o) {
      var s = Sa(o, 1);
      s !== null && Tn(s, o, 1, -1);
    }
    function o2(o) {
      var s = Zn();
      return typeof o == "function" && (o = o()), s.memoizedState = s.baseState = o, o = {
        pending: null,
        interleaved: null,
        lanes: 0,
        dispatch: null,
        lastRenderedReducer: Xs,
        lastRenderedState: o
      }, s.queue = o, o = o.dispatch = AA.bind(null, Nt, o), [
        s.memoizedState,
        o
      ];
    }
    function Js(o, s, d, g) {
      return o = {
        tag: o,
        create: s,
        destroy: d,
        deps: g,
        next: null
      }, s = Nt.updateQueue, s === null ? (s = {
        lastEffect: null,
        stores: null
      }, Nt.updateQueue = s, s.lastEffect = o.next = o) : (d = s.lastEffect, d === null ? s.lastEffect = o.next = o : (g = d.next, d.next = o, o.next = g, s.lastEffect = o)), o;
    }
    function i2() {
      return xn().memoizedState;
    }
    function mu(o, s, d, g) {
      var b = Zn();
      Nt.flags |= o, b.memoizedState = Js(1 | s, d, void 0, g === void 0 ? null : g);
    }
    function yu(o, s, d, g) {
      var b = xn();
      g = g === void 0 ? null : g;
      var F = void 0;
      if (Qt !== null) {
        var H = Qt.memoizedState;
        if (F = H.destroy, g !== null && Qf(g, H.deps)) {
          b.memoizedState = Js(s, d, F, g);
          return;
        }
      }
      Nt.flags |= o, b.memoizedState = Js(1 | s, d, F, g);
    }
    function s2(o, s) {
      return mu(8390656, 8, o, s);
    }
    function $f(o, s) {
      return yu(2048, 8, o, s);
    }
    function l2(o, s) {
      return yu(4, 2, o, s);
    }
    function c2(o, s) {
      return yu(4, 4, o, s);
    }
    function u2(o, s) {
      if (typeof s == "function") return o = o(), s(o), function() {
        s(null);
      };
      if (s != null) return o = o(), s.current = o, function() {
        s.current = null;
      };
    }
    function x2(o, s, d) {
      return d = d != null ? d.concat([
        o
      ]) : null, yu(4, 4, u2.bind(null, s, o), d);
    }
    function Zf() {
    }
    function d2(o, s) {
      var d = xn();
      s = s === void 0 ? null : s;
      var g = d.memoizedState;
      return g !== null && s !== null && Qf(s, g[1]) ? g[0] : (d.memoizedState = [
        o,
        s
      ], o);
    }
    function f2(o, s) {
      var d = xn();
      s = s === void 0 ? null : s;
      var g = d.memoizedState;
      return g !== null && s !== null && Qf(s, g[1]) ? g[0] : (o = o(), d.memoizedState = [
        o,
        s
      ], o);
    }
    function h2(o, s, d) {
      return (gi & 21) === 0 ? (o.baseState && (o.baseState = false, jr = true), o.memoizedState = d) : (Pn(d, s) || (d = Q9(), Nt.lanes |= d, mi |= d, o.baseState = true), s);
    }
    function yA(o, s) {
      var d = lt;
      lt = d !== 0 && 4 > d ? d : 4, o(true);
      var g = Hf.transition;
      Hf.transition = {};
      try {
        o(false), s();
      } finally {
        lt = d, Hf.transition = g;
      }
    }
    function p2() {
      return xn().memoizedState;
    }
    function EA(o, s, d) {
      var g = Bo(o);
      if (d = {
        lane: g,
        action: d,
        hasEagerState: false,
        eagerState: null,
        next: null
      }, g2(o)) m2(s, d);
      else if (d = V5(o, s, d, g), d !== null) {
        var b = kr();
        Tn(d, o, g, b), y2(d, s, g);
      }
    }
    function AA(o, s, d) {
      var g = Bo(o), b = {
        lane: g,
        action: d,
        hasEagerState: false,
        eagerState: null,
        next: null
      };
      if (g2(o)) m2(s, b);
      else {
        var F = o.alternate;
        if (o.lanes === 0 && (F === null || F.lanes === 0) && (F = s.lastRenderedReducer, F !== null)) try {
          var H = s.lastRenderedState, J = F(H, d);
          if (b.hasEagerState = true, b.eagerState = J, Pn(J, H)) {
            var re = s.interleaved;
            re === null ? (b.next = b, Tf(s)) : (b.next = re.next, re.next = b), s.interleaved = b;
            return;
          }
        } catch {
        } finally {
        }
        d = V5(o, s, b, g), d !== null && (b = kr(), Tn(d, o, g, b), y2(d, s, g));
      }
    }
    function g2(o) {
      var s = o.alternate;
      return o === Nt || s !== null && s === Nt;
    }
    function m2(o, s) {
      Zs = gu = true;
      var d = o.pending;
      d === null ? s.next = s : (s.next = d.next, d.next = s), o.pending = s;
    }
    function y2(o, s, d) {
      if ((d & 4194240) !== 0) {
        var g = s.lanes;
        g &= o.pendingLanes, d |= g, s.lanes = d, Yd(o, d);
      }
    }
    var Eu = {
      readContext: un,
      useCallback: hr,
      useContext: hr,
      useEffect: hr,
      useImperativeHandle: hr,
      useInsertionEffect: hr,
      useLayoutEffect: hr,
      useMemo: hr,
      useReducer: hr,
      useRef: hr,
      useState: hr,
      useDebugValue: hr,
      useDeferredValue: hr,
      useTransition: hr,
      useMutableSource: hr,
      useSyncExternalStore: hr,
      useId: hr,
      unstable_isNewReconciler: false
    }, bA = {
      readContext: un,
      useCallback: function(o, s) {
        return Zn().memoizedState = [
          o,
          s === void 0 ? null : s
        ], o;
      },
      useContext: un,
      useEffect: s2,
      useImperativeHandle: function(o, s, d) {
        return d = d != null ? d.concat([
          o
        ]) : null, mu(4194308, 4, u2.bind(null, s, o), d);
      },
      useLayoutEffect: function(o, s) {
        return mu(4194308, 4, o, s);
      },
      useInsertionEffect: function(o, s) {
        return mu(4, 2, o, s);
      },
      useMemo: function(o, s) {
        var d = Zn();
        return s = s === void 0 ? null : s, o = o(), d.memoizedState = [
          o,
          s
        ], o;
      },
      useReducer: function(o, s, d) {
        var g = Zn();
        return s = d !== void 0 ? d(s) : s, g.memoizedState = g.baseState = s, o = {
          pending: null,
          interleaved: null,
          lanes: 0,
          dispatch: null,
          lastRenderedReducer: o,
          lastRenderedState: s
        }, g.queue = o, o = o.dispatch = EA.bind(null, Nt, o), [
          g.memoizedState,
          o
        ];
      },
      useRef: function(o) {
        var s = Zn();
        return o = {
          current: o
        }, s.memoizedState = o;
      },
      useState: o2,
      useDebugValue: Zf,
      useDeferredValue: function(o) {
        return Zn().memoizedState = o;
      },
      useTransition: function() {
        var o = o2(false), s = o[0];
        return o = yA.bind(null, o[1]), Zn().memoizedState = o, [
          s,
          o
        ];
      },
      useMutableSource: function() {
      },
      useSyncExternalStore: function(o, s, d) {
        var g = Nt, b = Zn();
        if (kt) {
          if (d === void 0) throw Error(r(407));
          d = d();
        } else {
          if (d = s(), Xt === null) throw Error(r(349));
          (gi & 30) !== 0 || e2(g, s, d);
        }
        b.memoizedState = d;
        var F = {
          value: d,
          getSnapshot: s
        };
        return b.queue = F, s2(r2.bind(null, g, F, o), [
          o
        ]), g.flags |= 2048, Js(9, t2.bind(null, g, F, d, s), void 0, null), d;
      },
      useId: function() {
        var o = Zn(), s = Xt.identifierPrefix;
        if (kt) {
          var d = Fa, g = Da;
          d = (g & ~(1 << 32 - In(g) - 1)).toString(32) + d, s = ":" + s + "R" + d, d = Ys++, 0 < d && (s += "H" + d.toString(32)), s += ":";
        } else d = mA++, s = ":" + s + "r" + d.toString(32) + ":";
        return o.memoizedState = s;
      },
      unstable_isNewReconciler: false
    }, wA = {
      readContext: un,
      useCallback: d2,
      useContext: un,
      useEffect: $f,
      useImperativeHandle: x2,
      useInsertionEffect: l2,
      useLayoutEffect: c2,
      useMemo: f2,
      useReducer: Vf,
      useRef: i2,
      useState: function() {
        return Vf(Xs);
      },
      useDebugValue: Zf,
      useDeferredValue: function(o) {
        var s = xn();
        return h2(s, Qt.memoizedState, o);
      },
      useTransition: function() {
        var o = Vf(Xs)[0], s = xn().memoizedState;
        return [
          o,
          s
        ];
      },
      useMutableSource: X5,
      useSyncExternalStore: J5,
      useId: p2,
      unstable_isNewReconciler: false
    }, vA = {
      readContext: un,
      useCallback: d2,
      useContext: un,
      useEffect: $f,
      useImperativeHandle: x2,
      useInsertionEffect: l2,
      useLayoutEffect: c2,
      useMemo: f2,
      useReducer: Wf,
      useRef: i2,
      useState: function() {
        return Wf(Xs);
      },
      useDebugValue: Zf,
      useDeferredValue: function(o) {
        var s = xn();
        return Qt === null ? s.memoizedState = o : h2(s, Qt.memoizedState, o);
      },
      useTransition: function() {
        var o = Wf(Xs)[0], s = xn().memoizedState;
        return [
          o,
          s
        ];
      },
      useMutableSource: X5,
      useSyncExternalStore: J5,
      useId: p2,
      unstable_isNewReconciler: false
    };
    function jn(o, s) {
      if (o && o.defaultProps) {
        s = V({}, s), o = o.defaultProps;
        for (var d in o) s[d] === void 0 && (s[d] = o[d]);
        return s;
      }
      return s;
    }
    function Yf(o, s, d, g) {
      s = o.memoizedState, d = d(g, s), d = d == null ? s : V({}, s, d), o.memoizedState = d, o.lanes === 0 && (o.updateQueue.baseState = d);
    }
    var Au = {
      isMounted: function(o) {
        return (o = o._reactInternals) ? Ba(o) === o : false;
      },
      enqueueSetState: function(o, s, d) {
        o = o._reactInternals;
        var g = kr(), b = Bo(o), F = _a(g, b);
        F.payload = s, d != null && (F.callback = d), s = Ao(o, F, b), s !== null && (Tn(s, o, b, g), du(s, o, b));
      },
      enqueueReplaceState: function(o, s, d) {
        o = o._reactInternals;
        var g = kr(), b = Bo(o), F = _a(g, b);
        F.tag = 1, F.payload = s, d != null && (F.callback = d), s = Ao(o, F, b), s !== null && (Tn(s, o, b, g), du(s, o, b));
      },
      enqueueForceUpdate: function(o, s) {
        o = o._reactInternals;
        var d = kr(), g = Bo(o), b = _a(d, g);
        b.tag = 2, s != null && (b.callback = s), s = Ao(o, b, g), s !== null && (Tn(s, o, g, d), du(s, o, g));
      }
    };
    function E2(o, s, d, g, b, F, H) {
      return o = o.stateNode, typeof o.shouldComponentUpdate == "function" ? o.shouldComponentUpdate(g, F, H) : s.prototype && s.prototype.isPureReactComponent ? !Ks(d, g) || !Ks(b, F) : true;
    }
    function A2(o, s, d) {
      var g = false, b = mo, F = s.contextType;
      return typeof F == "object" && F !== null ? F = un(F) : (b = Nr(s) ? xi : fr.current, g = s.contextTypes, F = (g = g != null) ? h0(o, b) : mo), s = new s(d, F), o.memoizedState = s.state !== null && s.state !== void 0 ? s.state : null, s.updater = Au, o.stateNode = s, s._reactInternals = o, g && (o = o.stateNode, o.__reactInternalMemoizedUnmaskedChildContext = b, o.__reactInternalMemoizedMaskedChildContext = F), s;
    }
    function b2(o, s, d, g) {
      o = s.state, typeof s.componentWillReceiveProps == "function" && s.componentWillReceiveProps(d, g), typeof s.UNSAFE_componentWillReceiveProps == "function" && s.UNSAFE_componentWillReceiveProps(d, g), s.state !== o && Au.enqueueReplaceState(s, s.state, null);
    }
    function Xf(o, s, d, g) {
      var b = o.stateNode;
      b.props = d, b.state = o.memoizedState, b.refs = {}, Rf(o);
      var F = s.contextType;
      typeof F == "object" && F !== null ? b.context = un(F) : (F = Nr(s) ? xi : fr.current, b.context = h0(o, F)), b.state = o.memoizedState, F = s.getDerivedStateFromProps, typeof F == "function" && (Yf(o, s, F, d), b.state = o.memoizedState), typeof s.getDerivedStateFromProps == "function" || typeof b.getSnapshotBeforeUpdate == "function" || typeof b.UNSAFE_componentWillMount != "function" && typeof b.componentWillMount != "function" || (s = b.state, typeof b.componentWillMount == "function" && b.componentWillMount(), typeof b.UNSAFE_componentWillMount == "function" && b.UNSAFE_componentWillMount(), s !== b.state && Au.enqueueReplaceState(b, b.state, null), fu(o, d, b, g), b.state = o.memoizedState), typeof b.componentDidMount == "function" && (o.flags |= 4194308);
    }
    function w0(o, s) {
      try {
        var d = "", g = s;
        do
          d += oe(g), g = g.return;
        while (g);
        var b = d;
      } catch (F) {
        b = `
Error generating stack: ` + F.message + `
` + F.stack;
      }
      return {
        value: o,
        source: s,
        stack: b,
        digest: null
      };
    }
    function Jf(o, s, d) {
      return {
        value: o,
        source: null,
        stack: d ?? null,
        digest: s ?? null
      };
    }
    function e1(o, s) {
      try {
        console.error(s.value);
      } catch (d) {
        setTimeout(function() {
          throw d;
        });
      }
    }
    var BA = typeof WeakMap == "function" ? WeakMap : Map;
    function w2(o, s, d) {
      d = _a(-1, d), d.tag = 3, d.payload = {
        element: null
      };
      var g = s.value;
      return d.callback = function() {
        Du || (Du = true, p1 = g), e1(o, s);
      }, d;
    }
    function v2(o, s, d) {
      d = _a(-1, d), d.tag = 3;
      var g = o.type.getDerivedStateFromError;
      if (typeof g == "function") {
        var b = s.value;
        d.payload = function() {
          return g(b);
        }, d.callback = function() {
          e1(o, s);
        };
      }
      var F = o.stateNode;
      return F !== null && typeof F.componentDidCatch == "function" && (d.callback = function() {
        e1(o, s), typeof g != "function" && (wo === null ? wo = /* @__PURE__ */ new Set([
          this
        ]) : wo.add(this));
        var H = s.stack;
        this.componentDidCatch(s.value, {
          componentStack: H !== null ? H : ""
        });
      }), d;
    }
    function B2(o, s, d) {
      var g = o.pingCache;
      if (g === null) {
        g = o.pingCache = new BA();
        var b = /* @__PURE__ */ new Set();
        g.set(s, b);
      } else b = g.get(s), b === void 0 && (b = /* @__PURE__ */ new Set(), g.set(s, b));
      b.has(d) || (b.add(d), o = RA.bind(null, o, s, d), s.then(o, o));
    }
    function C2(o) {
      do {
        var s;
        if ((s = o.tag === 13) && (s = o.memoizedState, s = s !== null ? s.dehydrated !== null : true), s) return o;
        o = o.return;
      } while (o !== null);
      return null;
    }
    function k2(o, s, d, g, b) {
      return (o.mode & 1) === 0 ? (o === s ? o.flags |= 65536 : (o.flags |= 128, d.flags |= 131072, d.flags &= -52805, d.tag === 1 && (d.alternate === null ? d.tag = 17 : (s = _a(-1, 1), s.tag = 2, Ao(d, s, 1))), d.lanes |= 1), o) : (o.flags |= 65536, o.lanes = b, o);
    }
    var CA = w.ReactCurrentOwner, jr = false;
    function Cr(o, s, d, g) {
      s.child = o === null ? G5(s, null, d, g) : y0(s, o.child, d, g);
    }
    function D2(o, s, d, g, b) {
      d = d.render;
      var F = s.ref;
      return A0(s, b), g = qf(o, s, d, g, F, b), d = Gf(), o !== null && !jr ? (s.updateQueue = o.updateQueue, s.flags &= -2053, o.lanes &= ~b, Ia(o, s, b)) : (kt && d && Ff(s), s.flags |= 1, Cr(o, s, g, b), s.child);
    }
    function F2(o, s, d, g, b) {
      if (o === null) {
        var F = d.type;
        return typeof F == "function" && !w1(F) && F.defaultProps === void 0 && d.compare === null && d.defaultProps === void 0 ? (s.tag = 15, s.type = F, S2(o, s, F, g, b)) : (o = Nu(d.type, null, g, s, s.mode, b), o.ref = s.ref, o.return = s, s.child = o);
      }
      if (F = o.child, (o.lanes & b) === 0) {
        var H = F.memoizedProps;
        if (d = d.compare, d = d !== null ? d : Ks, d(H, g) && o.ref === s.ref) return Ia(o, s, b);
      }
      return s.flags |= 1, o = ko(F, g), o.ref = s.ref, o.return = s, s.child = o;
    }
    function S2(o, s, d, g, b) {
      if (o !== null) {
        var F = o.memoizedProps;
        if (Ks(F, g) && o.ref === s.ref) if (jr = false, s.pendingProps = g = F, (o.lanes & b) !== 0) (o.flags & 131072) !== 0 && (jr = true);
        else return s.lanes = o.lanes, Ia(o, s, b);
      }
      return t1(o, s, d, g, b);
    }
    function _2(o, s, d) {
      var g = s.pendingProps, b = g.children, F = o !== null ? o.memoizedState : null;
      if (g.mode === "hidden") if ((s.mode & 1) === 0) s.memoizedState = {
        baseLanes: 0,
        cachePool: null,
        transitions: null
      }, Et(B0, Xr), Xr |= d;
      else {
        if ((d & 1073741824) === 0) return o = F !== null ? F.baseLanes | d : d, s.lanes = s.childLanes = 1073741824, s.memoizedState = {
          baseLanes: o,
          cachePool: null,
          transitions: null
        }, s.updateQueue = null, Et(B0, Xr), Xr |= o, null;
        s.memoizedState = {
          baseLanes: 0,
          cachePool: null,
          transitions: null
        }, g = F !== null ? F.baseLanes : d, Et(B0, Xr), Xr |= g;
      }
      else F !== null ? (g = F.baseLanes | d, s.memoizedState = null) : g = d, Et(B0, Xr), Xr |= g;
      return Cr(o, s, b, d), s.child;
    }
    function I2(o, s) {
      var d = s.ref;
      (o === null && d !== null || o !== null && o.ref !== d) && (s.flags |= 512, s.flags |= 2097152);
    }
    function t1(o, s, d, g, b) {
      var F = Nr(d) ? xi : fr.current;
      return F = h0(s, F), A0(s, b), d = qf(o, s, d, g, F, b), g = Gf(), o !== null && !jr ? (s.updateQueue = o.updateQueue, s.flags &= -2053, o.lanes &= ~b, Ia(o, s, b)) : (kt && g && Ff(s), s.flags |= 1, Cr(o, s, d, b), s.child);
    }
    function P2(o, s, d, g, b) {
      if (Nr(d)) {
        var F = true;
        au(s);
      } else F = false;
      if (A0(s, b), s.stateNode === null) wu(o, s), A2(s, d, g), Xf(s, d, g, b), g = true;
      else if (o === null) {
        var H = s.stateNode, J = s.memoizedProps;
        H.props = J;
        var re = H.context, ue = d.contextType;
        typeof ue == "object" && ue !== null ? ue = un(ue) : (ue = Nr(d) ? xi : fr.current, ue = h0(s, ue));
        var ye = d.getDerivedStateFromProps, Ae = typeof ye == "function" || typeof H.getSnapshotBeforeUpdate == "function";
        Ae || typeof H.UNSAFE_componentWillReceiveProps != "function" && typeof H.componentWillReceiveProps != "function" || (J !== g || re !== ue) && b2(s, H, g, ue), Eo = false;
        var me = s.memoizedState;
        H.state = me, fu(s, g, H, b), re = s.memoizedState, J !== g || me !== re || Pr.current || Eo ? (typeof ye == "function" && (Yf(s, d, ye, g), re = s.memoizedState), (J = Eo || E2(s, d, J, g, me, re, ue)) ? (Ae || typeof H.UNSAFE_componentWillMount != "function" && typeof H.componentWillMount != "function" || (typeof H.componentWillMount == "function" && H.componentWillMount(), typeof H.UNSAFE_componentWillMount == "function" && H.UNSAFE_componentWillMount()), typeof H.componentDidMount == "function" && (s.flags |= 4194308)) : (typeof H.componentDidMount == "function" && (s.flags |= 4194308), s.memoizedProps = g, s.memoizedState = re), H.props = g, H.state = re, H.context = ue, g = J) : (typeof H.componentDidMount == "function" && (s.flags |= 4194308), g = false);
      } else {
        H = s.stateNode, W5(o, s), J = s.memoizedProps, ue = s.type === s.elementType ? J : jn(s.type, J), H.props = ue, Ae = s.pendingProps, me = H.context, re = d.contextType, typeof re == "object" && re !== null ? re = un(re) : (re = Nr(d) ? xi : fr.current, re = h0(s, re));
        var De = d.getDerivedStateFromProps;
        (ye = typeof De == "function" || typeof H.getSnapshotBeforeUpdate == "function") || typeof H.UNSAFE_componentWillReceiveProps != "function" && typeof H.componentWillReceiveProps != "function" || (J !== Ae || me !== re) && b2(s, H, g, re), Eo = false, me = s.memoizedState, H.state = me, fu(s, g, H, b);
        var Se = s.memoizedState;
        J !== Ae || me !== Se || Pr.current || Eo ? (typeof De == "function" && (Yf(s, d, De, g), Se = s.memoizedState), (ue = Eo || E2(s, d, ue, g, me, Se, re) || false) ? (ye || typeof H.UNSAFE_componentWillUpdate != "function" && typeof H.componentWillUpdate != "function" || (typeof H.componentWillUpdate == "function" && H.componentWillUpdate(g, Se, re), typeof H.UNSAFE_componentWillUpdate == "function" && H.UNSAFE_componentWillUpdate(g, Se, re)), typeof H.componentDidUpdate == "function" && (s.flags |= 4), typeof H.getSnapshotBeforeUpdate == "function" && (s.flags |= 1024)) : (typeof H.componentDidUpdate != "function" || J === o.memoizedProps && me === o.memoizedState || (s.flags |= 4), typeof H.getSnapshotBeforeUpdate != "function" || J === o.memoizedProps && me === o.memoizedState || (s.flags |= 1024), s.memoizedProps = g, s.memoizedState = Se), H.props = g, H.state = Se, H.context = re, g = ue) : (typeof H.componentDidUpdate != "function" || J === o.memoizedProps && me === o.memoizedState || (s.flags |= 4), typeof H.getSnapshotBeforeUpdate != "function" || J === o.memoizedProps && me === o.memoizedState || (s.flags |= 1024), g = false);
      }
      return r1(o, s, d, g, F, b);
    }
    function r1(o, s, d, g, b, F) {
      I2(o, s);
      var H = (s.flags & 128) !== 0;
      if (!g && !H) return b && T5(s, d, false), Ia(o, s, F);
      g = s.stateNode, CA.current = s;
      var J = H && typeof d.getDerivedStateFromError != "function" ? null : g.render();
      return s.flags |= 1, o !== null && H ? (s.child = y0(s, o.child, null, F), s.child = y0(s, null, J, F)) : Cr(o, s, J, F), s.memoizedState = g.state, b && T5(s, d, true), s.child;
    }
    function N2(o) {
      var s = o.stateNode;
      s.pendingContext ? z5(o, s.pendingContext, s.pendingContext !== s.context) : s.context && z5(o, s.context, false), Kf(o, s.containerInfo);
    }
    function j2(o, s, d, g, b) {
      return m0(), Pf(b), s.flags |= 256, Cr(o, s, d, g), s.child;
    }
    var n1 = {
      dehydrated: null,
      treeContext: null,
      retryLane: 0
    };
    function a1(o) {
      return {
        baseLanes: o,
        cachePool: null,
        transitions: null
      };
    }
    function z2(o, s, d) {
      var g = s.pendingProps, b = Pt.current, F = false, H = (s.flags & 128) !== 0, J;
      if ((J = H) || (J = o !== null && o.memoizedState === null ? false : (b & 2) !== 0), J ? (F = true, s.flags &= -129) : (o === null || o.memoizedState !== null) && (b |= 1), Et(Pt, b & 1), o === null) return If(s), o = s.memoizedState, o !== null && (o = o.dehydrated, o !== null) ? ((s.mode & 1) === 0 ? s.lanes = 1 : o.data === "$!" ? s.lanes = 8 : s.lanes = 1073741824, null) : (H = g.children, o = g.fallback, F ? (g = s.mode, F = s.child, H = {
        mode: "hidden",
        children: H
      }, (g & 1) === 0 && F !== null ? (F.childLanes = 0, F.pendingProps = H) : F = ju(H, g, 0, null), o = bi(o, g, d, null), F.return = s, o.return = s, F.sibling = o, s.child = F, s.child.memoizedState = a1(d), s.memoizedState = n1, o) : o1(s, H));
      if (b = o.memoizedState, b !== null && (J = b.dehydrated, J !== null)) return kA(o, s, H, g, J, b, d);
      if (F) {
        F = g.fallback, H = s.mode, b = o.child, J = b.sibling;
        var re = {
          mode: "hidden",
          children: g.children
        };
        return (H & 1) === 0 && s.child !== b ? (g = s.child, g.childLanes = 0, g.pendingProps = re, s.deletions = null) : (g = ko(b, re), g.subtreeFlags = b.subtreeFlags & 14680064), J !== null ? F = ko(J, F) : (F = bi(F, H, d, null), F.flags |= 2), F.return = s, g.return = s, g.sibling = F, s.child = g, g = F, F = s.child, H = o.child.memoizedState, H = H === null ? a1(d) : {
          baseLanes: H.baseLanes | d,
          cachePool: null,
          transitions: H.transitions
        }, F.memoizedState = H, F.childLanes = o.childLanes & ~d, s.memoizedState = n1, g;
      }
      return F = o.child, o = F.sibling, g = ko(F, {
        mode: "visible",
        children: g.children
      }), (s.mode & 1) === 0 && (g.lanes = d), g.return = s, g.sibling = null, o !== null && (d = s.deletions, d === null ? (s.deletions = [
        o
      ], s.flags |= 16) : d.push(o)), s.child = g, s.memoizedState = null, g;
    }
    function o1(o, s) {
      return s = ju({
        mode: "visible",
        children: s
      }, o.mode, 0, null), s.return = o, o.child = s;
    }
    function bu(o, s, d, g) {
      return g !== null && Pf(g), y0(s, o.child, null, d), o = o1(s, s.pendingProps.children), o.flags |= 2, s.memoizedState = null, o;
    }
    function kA(o, s, d, g, b, F, H) {
      if (d) return s.flags & 256 ? (s.flags &= -257, g = Jf(Error(r(422))), bu(o, s, H, g)) : s.memoizedState !== null ? (s.child = o.child, s.flags |= 128, null) : (F = g.fallback, b = s.mode, g = ju({
        mode: "visible",
        children: g.children
      }, b, 0, null), F = bi(F, b, H, null), F.flags |= 2, g.return = s, F.return = s, g.sibling = F, s.child = g, (s.mode & 1) !== 0 && y0(s, o.child, null, H), s.child.memoizedState = a1(H), s.memoizedState = n1, F);
      if ((s.mode & 1) === 0) return bu(o, s, H, null);
      if (b.data === "$!") {
        if (g = b.nextSibling && b.nextSibling.dataset, g) var J = g.dgst;
        return g = J, F = Error(r(419)), g = Jf(F, g, void 0), bu(o, s, H, g);
      }
      if (J = (H & o.childLanes) !== 0, jr || J) {
        if (g = Xt, g !== null) {
          switch (H & -H) {
            case 4:
              b = 2;
              break;
            case 16:
              b = 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:
              b = 32;
              break;
            case 536870912:
              b = 268435456;
              break;
            default:
              b = 0;
          }
          b = (b & (g.suspendedLanes | H)) !== 0 ? 0 : b, b !== 0 && b !== F.retryLane && (F.retryLane = b, Sa(o, b), Tn(g, o, b, -1));
        }
        return b1(), g = Jf(Error(r(421))), bu(o, s, H, g);
      }
      return b.data === "$?" ? (s.flags |= 128, s.child = o.child, s = KA.bind(null, o), b._reactRetry = s, null) : (o = F.treeContext, Yr = po(b.nextSibling), Zr = s, kt = true, Nn = null, o !== null && (ln[cn++] = Da, ln[cn++] = Fa, ln[cn++] = di, Da = o.id, Fa = o.overflow, di = s), s = o1(s, g.children), s.flags |= 4096, s);
    }
    function U2(o, s, d) {
      o.lanes |= s;
      var g = o.alternate;
      g !== null && (g.lanes |= s), Uf(o.return, s, d);
    }
    function i1(o, s, d, g, b) {
      var F = o.memoizedState;
      F === null ? o.memoizedState = {
        isBackwards: s,
        rendering: null,
        renderingStartTime: 0,
        last: g,
        tail: d,
        tailMode: b
      } : (F.isBackwards = s, F.rendering = null, F.renderingStartTime = 0, F.last = g, F.tail = d, F.tailMode = b);
    }
    function T2(o, s, d) {
      var g = s.pendingProps, b = g.revealOrder, F = g.tail;
      if (Cr(o, s, g.children, d), g = Pt.current, (g & 2) !== 0) g = g & 1 | 2, s.flags |= 128;
      else {
        if (o !== null && (o.flags & 128) !== 0) e: for (o = s.child; o !== null; ) {
          if (o.tag === 13) o.memoizedState !== null && U2(o, d, s);
          else if (o.tag === 19) U2(o, d, s);
          else if (o.child !== null) {
            o.child.return = o, o = o.child;
            continue;
          }
          if (o === s) break e;
          for (; o.sibling === null; ) {
            if (o.return === null || o.return === s) break e;
            o = o.return;
          }
          o.sibling.return = o.return, o = o.sibling;
        }
        g &= 1;
      }
      if (Et(Pt, g), (s.mode & 1) === 0) s.memoizedState = null;
      else switch (b) {
        case "forwards":
          for (d = s.child, b = null; d !== null; ) o = d.alternate, o !== null && hu(o) === null && (b = d), d = d.sibling;
          d = b, d === null ? (b = s.child, s.child = null) : (b = d.sibling, d.sibling = null), i1(s, false, b, d, F);
          break;
        case "backwards":
          for (d = null, b = s.child, s.child = null; b !== null; ) {
            if (o = b.alternate, o !== null && hu(o) === null) {
              s.child = b;
              break;
            }
            o = b.sibling, b.sibling = d, d = b, b = o;
          }
          i1(s, true, d, null, F);
          break;
        case "together":
          i1(s, false, null, null, void 0);
          break;
        default:
          s.memoizedState = null;
      }
      return s.child;
    }
    function wu(o, s) {
      (s.mode & 1) === 0 && o !== null && (o.alternate = null, s.alternate = null, s.flags |= 2);
    }
    function Ia(o, s, d) {
      if (o !== null && (s.dependencies = o.dependencies), mi |= s.lanes, (d & s.childLanes) === 0) return null;
      if (o !== null && s.child !== o.child) throw Error(r(153));
      if (s.child !== null) {
        for (o = s.child, d = ko(o, o.pendingProps), s.child = d, d.return = s; o.sibling !== null; ) o = o.sibling, d = d.sibling = ko(o, o.pendingProps), d.return = s;
        d.sibling = null;
      }
      return s.child;
    }
    function DA(o, s, d) {
      switch (s.tag) {
        case 3:
          N2(s), m0();
          break;
        case 5:
          Y5(s);
          break;
        case 1:
          Nr(s.type) && au(s);
          break;
        case 4:
          Kf(s, s.stateNode.containerInfo);
          break;
        case 10:
          var g = s.type._context, b = s.memoizedProps.value;
          Et(uu, g._currentValue), g._currentValue = b;
          break;
        case 13:
          if (g = s.memoizedState, g !== null) return g.dehydrated !== null ? (Et(Pt, Pt.current & 1), s.flags |= 128, null) : (d & s.child.childLanes) !== 0 ? z2(o, s, d) : (Et(Pt, Pt.current & 1), o = Ia(o, s, d), o !== null ? o.sibling : null);
          Et(Pt, Pt.current & 1);
          break;
        case 19:
          if (g = (d & s.childLanes) !== 0, (o.flags & 128) !== 0) {
            if (g) return T2(o, s, d);
            s.flags |= 128;
          }
          if (b = s.memoizedState, b !== null && (b.rendering = null, b.tail = null, b.lastEffect = null), Et(Pt, Pt.current), g) break;
          return null;
        case 22:
        case 23:
          return s.lanes = 0, _2(o, s, d);
      }
      return Ia(o, s, d);
    }
    var R2, s1, K2, M2;
    R2 = function(o, s) {
      for (var d = s.child; d !== null; ) {
        if (d.tag === 5 || d.tag === 6) o.appendChild(d.stateNode);
        else if (d.tag !== 4 && d.child !== null) {
          d.child.return = d, d = d.child;
          continue;
        }
        if (d === s) break;
        for (; d.sibling === null; ) {
          if (d.return === null || d.return === s) return;
          d = d.return;
        }
        d.sibling.return = d.return, d = d.sibling;
      }
    }, s1 = function() {
    }, K2 = function(o, s, d, g) {
      var b = o.memoizedProps;
      if (b !== g) {
        o = s.stateNode, pi($n.current);
        var F = null;
        switch (d) {
          case "input":
            b = Ue(o, b), g = Ue(o, g), F = [];
            break;
          case "select":
            b = V({}, b, {
              value: void 0
            }), g = V({}, g, {
              value: void 0
            }), F = [];
            break;
          case "textarea":
            b = wt(o, b), g = wt(o, g), F = [];
            break;
          default:
            typeof b.onClick != "function" && typeof g.onClick == "function" && (o.onclick = tu);
        }
        Ze(d, g);
        var H;
        d = null;
        for (ue in b) if (!g.hasOwnProperty(ue) && b.hasOwnProperty(ue) && b[ue] != null) if (ue === "style") {
          var J = b[ue];
          for (H in J) J.hasOwnProperty(H) && (d || (d = {}), d[H] = "");
        } else ue !== "dangerouslySetInnerHTML" && ue !== "children" && ue !== "suppressContentEditableWarning" && ue !== "suppressHydrationWarning" && ue !== "autoFocus" && (a.hasOwnProperty(ue) ? F || (F = []) : (F = F || []).push(ue, null));
        for (ue in g) {
          var re = g[ue];
          if (J = b == null ? void 0 : b[ue], g.hasOwnProperty(ue) && re !== J && (re != null || J != null)) if (ue === "style") if (J) {
            for (H in J) !J.hasOwnProperty(H) || re && re.hasOwnProperty(H) || (d || (d = {}), d[H] = "");
            for (H in re) re.hasOwnProperty(H) && J[H] !== re[H] && (d || (d = {}), d[H] = re[H]);
          } else d || (F || (F = []), F.push(ue, d)), d = re;
          else ue === "dangerouslySetInnerHTML" ? (re = re ? re.__html : void 0, J = J ? J.__html : void 0, re != null && J !== re && (F = F || []).push(ue, re)) : ue === "children" ? typeof re != "string" && typeof re != "number" || (F = F || []).push(ue, "" + re) : ue !== "suppressContentEditableWarning" && ue !== "suppressHydrationWarning" && (a.hasOwnProperty(ue) ? (re != null && ue === "onScroll" && vt("scroll", o), F || J === re || (F = [])) : (F = F || []).push(ue, re));
        }
        d && (F = F || []).push("style", d);
        var ue = F;
        (s.updateQueue = ue) && (s.flags |= 4);
      }
    }, M2 = function(o, s, d, g) {
      d !== g && (s.flags |= 4);
    };
    function el(o, s) {
      if (!kt) switch (o.tailMode) {
        case "hidden":
          s = o.tail;
          for (var d = null; s !== null; ) s.alternate !== null && (d = s), s = s.sibling;
          d === null ? o.tail = null : d.sibling = null;
          break;
        case "collapsed":
          d = o.tail;
          for (var g = null; d !== null; ) d.alternate !== null && (g = d), d = d.sibling;
          g === null ? s || o.tail === null ? o.tail = null : o.tail.sibling = null : g.sibling = null;
      }
    }
    function pr(o) {
      var s = o.alternate !== null && o.alternate.child === o.child, d = 0, g = 0;
      if (s) for (var b = o.child; b !== null; ) d |= b.lanes | b.childLanes, g |= b.subtreeFlags & 14680064, g |= b.flags & 14680064, b.return = o, b = b.sibling;
      else for (b = o.child; b !== null; ) d |= b.lanes | b.childLanes, g |= b.subtreeFlags, g |= b.flags, b.return = o, b = b.sibling;
      return o.subtreeFlags |= g, o.childLanes = d, s;
    }
    function FA(o, s, d) {
      var g = s.pendingProps;
      switch (Sf(s), s.tag) {
        case 2:
        case 16:
        case 15:
        case 0:
        case 11:
        case 7:
        case 8:
        case 12:
        case 9:
        case 14:
          return pr(s), null;
        case 1:
          return Nr(s.type) && nu(), pr(s), null;
        case 3:
          return g = s.stateNode, b0(), Bt(Pr), Bt(fr), Of(), g.pendingContext && (g.context = g.pendingContext, g.pendingContext = null), (o === null || o.child === null) && (lu(s) ? s.flags |= 4 : o === null || o.memoizedState.isDehydrated && (s.flags & 256) === 0 || (s.flags |= 1024, Nn !== null && (y1(Nn), Nn = null))), s1(o, s), pr(s), null;
        case 5:
          Mf(s);
          var b = pi($s.current);
          if (d = s.type, o !== null && s.stateNode != null) K2(o, s, d, g, b), o.ref !== s.ref && (s.flags |= 512, s.flags |= 2097152);
          else {
            if (!g) {
              if (s.stateNode === null) throw Error(r(166));
              return pr(s), null;
            }
            if (o = pi($n.current), lu(s)) {
              g = s.stateNode, d = s.type;
              var F = s.memoizedProps;
              switch (g[Wn] = s, g[Qs] = F, o = (s.mode & 1) !== 0, d) {
                case "dialog":
                  vt("cancel", g), vt("close", g);
                  break;
                case "iframe":
                case "object":
                case "embed":
                  vt("load", g);
                  break;
                case "video":
                case "audio":
                  for (b = 0; b < Ls.length; b++) vt(Ls[b], g);
                  break;
                case "source":
                  vt("error", g);
                  break;
                case "img":
                case "image":
                case "link":
                  vt("error", g), vt("load", g);
                  break;
                case "details":
                  vt("toggle", g);
                  break;
                case "input":
                  ge(g, F), vt("invalid", g);
                  break;
                case "select":
                  g._wrapperState = {
                    wasMultiple: !!F.multiple
                  }, vt("invalid", g);
                  break;
                case "textarea":
                  _n(g, F), vt("invalid", g);
              }
              Ze(d, F), b = null;
              for (var H in F) if (F.hasOwnProperty(H)) {
                var J = F[H];
                H === "children" ? typeof J == "string" ? g.textContent !== J && (F.suppressHydrationWarning !== true && eu(g.textContent, J, o), b = [
                  "children",
                  J
                ]) : typeof J == "number" && g.textContent !== "" + J && (F.suppressHydrationWarning !== true && eu(g.textContent, J, o), b = [
                  "children",
                  "" + J
                ]) : a.hasOwnProperty(H) && J != null && H === "onScroll" && vt("scroll", g);
              }
              switch (d) {
                case "input":
                  ve(g), Qe(g, F, true);
                  break;
                case "textarea":
                  ve(g), Ir(g);
                  break;
                case "select":
                case "option":
                  break;
                default:
                  typeof F.onClick == "function" && (g.onclick = tu);
              }
              g = b, s.updateQueue = g, g !== null && (s.flags |= 4);
            } else {
              H = b.nodeType === 9 ? b : b.ownerDocument, o === "http://www.w3.org/1999/xhtml" && (o = dr(d)), o === "http://www.w3.org/1999/xhtml" ? d === "script" ? (o = H.createElement("div"), o.innerHTML = "<script><\/script>", o = o.removeChild(o.firstChild)) : typeof g.is == "string" ? o = H.createElement(d, {
                is: g.is
              }) : (o = H.createElement(d), d === "select" && (H = o, g.multiple ? H.multiple = true : g.size && (H.size = g.size))) : o = H.createElementNS(o, d), o[Wn] = s, o[Qs] = g, R2(o, s, false, false), s.stateNode = o;
              e: {
                switch (H = We(d, g), d) {
                  case "dialog":
                    vt("cancel", o), vt("close", o), b = g;
                    break;
                  case "iframe":
                  case "object":
                  case "embed":
                    vt("load", o), b = g;
                    break;
                  case "video":
                  case "audio":
                    for (b = 0; b < Ls.length; b++) vt(Ls[b], o);
                    b = g;
                    break;
                  case "source":
                    vt("error", o), b = g;
                    break;
                  case "img":
                  case "image":
                  case "link":
                    vt("error", o), vt("load", o), b = g;
                    break;
                  case "details":
                    vt("toggle", o), b = g;
                    break;
                  case "input":
                    ge(o, g), b = Ue(o, g), vt("invalid", o);
                    break;
                  case "option":
                    b = g;
                    break;
                  case "select":
                    o._wrapperState = {
                      wasMultiple: !!g.multiple
                    }, b = V({}, g, {
                      value: void 0
                    }), vt("invalid", o);
                    break;
                  case "textarea":
                    _n(o, g), b = wt(o, g), vt("invalid", o);
                    break;
                  default:
                    b = g;
                }
                Ze(d, b), J = b;
                for (F in J) if (J.hasOwnProperty(F)) {
                  var re = J[F];
                  F === "style" ? qe(o, re) : F === "dangerouslySetInnerHTML" ? (re = re ? re.__html : void 0, re != null && j(o, re)) : F === "children" ? typeof re == "string" ? (d !== "textarea" || re !== "") && Z(o, re) : typeof re == "number" && Z(o, "" + re) : F !== "suppressContentEditableWarning" && F !== "suppressHydrationWarning" && F !== "autoFocus" && (a.hasOwnProperty(F) ? re != null && F === "onScroll" && vt("scroll", o) : re != null && k(o, F, re, H));
                }
                switch (d) {
                  case "input":
                    ve(o), Qe(o, g, false);
                    break;
                  case "textarea":
                    ve(o), Ir(o);
                    break;
                  case "option":
                    g.value != null && o.setAttribute("value", "" + de(g.value));
                    break;
                  case "select":
                    o.multiple = !!g.multiple, F = g.value, F != null ? rt(o, !!g.multiple, F, false) : g.defaultValue != null && rt(o, !!g.multiple, g.defaultValue, true);
                    break;
                  default:
                    typeof b.onClick == "function" && (o.onclick = tu);
                }
                switch (d) {
                  case "button":
                  case "input":
                  case "select":
                  case "textarea":
                    g = !!g.autoFocus;
                    break e;
                  case "img":
                    g = true;
                    break e;
                  default:
                    g = false;
                }
              }
              g && (s.flags |= 4);
            }
            s.ref !== null && (s.flags |= 512, s.flags |= 2097152);
          }
          return pr(s), null;
        case 6:
          if (o && s.stateNode != null) M2(o, s, o.memoizedProps, g);
          else {
            if (typeof g != "string" && s.stateNode === null) throw Error(r(166));
            if (d = pi($s.current), pi($n.current), lu(s)) {
              if (g = s.stateNode, d = s.memoizedProps, g[Wn] = s, (F = g.nodeValue !== d) && (o = Zr, o !== null)) switch (o.tag) {
                case 3:
                  eu(g.nodeValue, d, (o.mode & 1) !== 0);
                  break;
                case 5:
                  o.memoizedProps.suppressHydrationWarning !== true && eu(g.nodeValue, d, (o.mode & 1) !== 0);
              }
              F && (s.flags |= 4);
            } else g = (d.nodeType === 9 ? d : d.ownerDocument).createTextNode(g), g[Wn] = s, s.stateNode = g;
          }
          return pr(s), null;
        case 13:
          if (Bt(Pt), g = s.memoizedState, o === null || o.memoizedState !== null && o.memoizedState.dehydrated !== null) {
            if (kt && Yr !== null && (s.mode & 1) !== 0 && (s.flags & 128) === 0) H5(), m0(), s.flags |= 98560, F = false;
            else if (F = lu(s), g !== null && g.dehydrated !== null) {
              if (o === null) {
                if (!F) throw Error(r(318));
                if (F = s.memoizedState, F = F !== null ? F.dehydrated : null, !F) throw Error(r(317));
                F[Wn] = s;
              } else m0(), (s.flags & 128) === 0 && (s.memoizedState = null), s.flags |= 4;
              pr(s), F = false;
            } else Nn !== null && (y1(Nn), Nn = null), F = true;
            if (!F) return s.flags & 65536 ? s : null;
          }
          return (s.flags & 128) !== 0 ? (s.lanes = d, s) : (g = g !== null, g !== (o !== null && o.memoizedState !== null) && g && (s.child.flags |= 8192, (s.mode & 1) !== 0 && (o === null || (Pt.current & 1) !== 0 ? qt === 0 && (qt = 3) : b1())), s.updateQueue !== null && (s.flags |= 4), pr(s), null);
        case 4:
          return b0(), s1(o, s), o === null && Os(s.stateNode.containerInfo), pr(s), null;
        case 10:
          return zf(s.type._context), pr(s), null;
        case 17:
          return Nr(s.type) && nu(), pr(s), null;
        case 19:
          if (Bt(Pt), F = s.memoizedState, F === null) return pr(s), null;
          if (g = (s.flags & 128) !== 0, H = F.rendering, H === null) if (g) el(F, false);
          else {
            if (qt !== 0 || o !== null && (o.flags & 128) !== 0) for (o = s.child; o !== null; ) {
              if (H = hu(o), H !== null) {
                for (s.flags |= 128, el(F, false), g = H.updateQueue, g !== null && (s.updateQueue = g, s.flags |= 4), s.subtreeFlags = 0, g = d, d = s.child; d !== null; ) F = d, o = g, F.flags &= 14680066, H = F.alternate, H === null ? (F.childLanes = 0, F.lanes = o, F.child = null, F.subtreeFlags = 0, F.memoizedProps = null, F.memoizedState = null, F.updateQueue = null, F.dependencies = null, F.stateNode = null) : (F.childLanes = H.childLanes, F.lanes = H.lanes, F.child = H.child, F.subtreeFlags = 0, F.deletions = null, F.memoizedProps = H.memoizedProps, F.memoizedState = H.memoizedState, F.updateQueue = H.updateQueue, F.type = H.type, o = H.dependencies, F.dependencies = o === null ? null : {
                  lanes: o.lanes,
                  firstContext: o.firstContext
                }), d = d.sibling;
                return Et(Pt, Pt.current & 1 | 2), s.child;
              }
              o = o.sibling;
            }
            F.tail !== null && xt() > C0 && (s.flags |= 128, g = true, el(F, false), s.lanes = 4194304);
          }
          else {
            if (!g) if (o = hu(H), o !== null) {
              if (s.flags |= 128, g = true, d = o.updateQueue, d !== null && (s.updateQueue = d, s.flags |= 4), el(F, true), F.tail === null && F.tailMode === "hidden" && !H.alternate && !kt) return pr(s), null;
            } else 2 * xt() - F.renderingStartTime > C0 && d !== 1073741824 && (s.flags |= 128, g = true, el(F, false), s.lanes = 4194304);
            F.isBackwards ? (H.sibling = s.child, s.child = H) : (d = F.last, d !== null ? d.sibling = H : s.child = H, F.last = H);
          }
          return F.tail !== null ? (s = F.tail, F.rendering = s, F.tail = s.sibling, F.renderingStartTime = xt(), s.sibling = null, d = Pt.current, Et(Pt, g ? d & 1 | 2 : d & 1), s) : (pr(s), null);
        case 22:
        case 23:
          return A1(), g = s.memoizedState !== null, o !== null && o.memoizedState !== null !== g && (s.flags |= 8192), g && (s.mode & 1) !== 0 ? (Xr & 1073741824) !== 0 && (pr(s), s.subtreeFlags & 6 && (s.flags |= 8192)) : pr(s), null;
        case 24:
          return null;
        case 25:
          return null;
      }
      throw Error(r(156, s.tag));
    }
    function SA(o, s) {
      switch (Sf(s), s.tag) {
        case 1:
          return Nr(s.type) && nu(), o = s.flags, o & 65536 ? (s.flags = o & -65537 | 128, s) : null;
        case 3:
          return b0(), Bt(Pr), Bt(fr), Of(), o = s.flags, (o & 65536) !== 0 && (o & 128) === 0 ? (s.flags = o & -65537 | 128, s) : null;
        case 5:
          return Mf(s), null;
        case 13:
          if (Bt(Pt), o = s.memoizedState, o !== null && o.dehydrated !== null) {
            if (s.alternate === null) throw Error(r(340));
            m0();
          }
          return o = s.flags, o & 65536 ? (s.flags = o & -65537 | 128, s) : null;
        case 19:
          return Bt(Pt), null;
        case 4:
          return b0(), null;
        case 10:
          return zf(s.type._context), null;
        case 22:
        case 23:
          return A1(), null;
        case 24:
          return null;
        default:
          return null;
      }
    }
    var vu = false, gr = false, _A = typeof WeakSet == "function" ? WeakSet : Set, Fe = null;
    function v0(o, s) {
      var d = o.ref;
      if (d !== null) if (typeof d == "function") try {
        d(null);
      } catch (g) {
        jt(o, s, g);
      }
      else d.current = null;
    }
    function l1(o, s, d) {
      try {
        d();
      } catch (g) {
        jt(o, s, g);
      }
    }
    var L2 = false;
    function IA(o, s) {
      if (Af = Hc, o = E5(), df(o)) {
        if ("selectionStart" in o) var d = {
          start: o.selectionStart,
          end: o.selectionEnd
        };
        else e: {
          d = (d = o.ownerDocument) && d.defaultView || window;
          var g = d.getSelection && d.getSelection();
          if (g && g.rangeCount !== 0) {
            d = g.anchorNode;
            var b = g.anchorOffset, F = g.focusNode;
            g = g.focusOffset;
            try {
              d.nodeType, F.nodeType;
            } catch {
              d = null;
              break e;
            }
            var H = 0, J = -1, re = -1, ue = 0, ye = 0, Ae = o, me = null;
            t: for (; ; ) {
              for (var De; Ae !== d || b !== 0 && Ae.nodeType !== 3 || (J = H + b), Ae !== F || g !== 0 && Ae.nodeType !== 3 || (re = H + g), Ae.nodeType === 3 && (H += Ae.nodeValue.length), (De = Ae.firstChild) !== null; ) me = Ae, Ae = De;
              for (; ; ) {
                if (Ae === o) break t;
                if (me === d && ++ue === b && (J = H), me === F && ++ye === g && (re = H), (De = Ae.nextSibling) !== null) break;
                Ae = me, me = Ae.parentNode;
              }
              Ae = De;
            }
            d = J === -1 || re === -1 ? null : {
              start: J,
              end: re
            };
          } else d = null;
        }
        d = d || {
          start: 0,
          end: 0
        };
      } else d = null;
      for (bf = {
        focusedElem: o,
        selectionRange: d
      }, Hc = false, Fe = s; Fe !== null; ) if (s = Fe, o = s.child, (s.subtreeFlags & 1028) !== 0 && o !== null) o.return = s, Fe = o;
      else for (; Fe !== null; ) {
        s = Fe;
        try {
          var Se = s.alternate;
          if ((s.flags & 1024) !== 0) switch (s.tag) {
            case 0:
            case 11:
            case 15:
              break;
            case 1:
              if (Se !== null) {
                var _e = Se.memoizedProps, Tt = Se.memoizedState, se = s.stateNode, ae = se.getSnapshotBeforeUpdate(s.elementType === s.type ? _e : jn(s.type, _e), Tt);
                se.__reactInternalSnapshotBeforeUpdate = ae;
              }
              break;
            case 3:
              var le = s.stateNode.containerInfo;
              le.nodeType === 1 ? le.textContent = "" : le.nodeType === 9 && le.documentElement && le.removeChild(le.documentElement);
              break;
            case 5:
            case 6:
            case 4:
            case 17:
              break;
            default:
              throw Error(r(163));
          }
        } catch (we) {
          jt(s, s.return, we);
        }
        if (o = s.sibling, o !== null) {
          o.return = s.return, Fe = o;
          break;
        }
        Fe = s.return;
      }
      return Se = L2, L2 = false, Se;
    }
    function tl(o, s, d) {
      var g = s.updateQueue;
      if (g = g !== null ? g.lastEffect : null, g !== null) {
        var b = g = g.next;
        do {
          if ((b.tag & o) === o) {
            var F = b.destroy;
            b.destroy = void 0, F !== void 0 && l1(s, d, F);
          }
          b = b.next;
        } while (b !== g);
      }
    }
    function Bu(o, s) {
      if (s = s.updateQueue, s = s !== null ? s.lastEffect : null, s !== null) {
        var d = s = s.next;
        do {
          if ((d.tag & o) === o) {
            var g = d.create;
            d.destroy = g();
          }
          d = d.next;
        } while (d !== s);
      }
    }
    function c1(o) {
      var s = o.ref;
      if (s !== null) {
        var d = o.stateNode;
        switch (o.tag) {
          case 5:
            o = d;
            break;
          default:
            o = d;
        }
        typeof s == "function" ? s(o) : s.current = o;
      }
    }
    function O2(o) {
      var s = o.alternate;
      s !== null && (o.alternate = null, O2(s)), o.child = null, o.deletions = null, o.sibling = null, o.tag === 5 && (s = o.stateNode, s !== null && (delete s[Wn], delete s[Qs], delete s[Cf], delete s[fA], delete s[hA])), o.stateNode = null, o.return = null, o.dependencies = null, o.memoizedProps = null, o.memoizedState = null, o.pendingProps = null, o.stateNode = null, o.updateQueue = null;
    }
    function H2(o) {
      return o.tag === 5 || o.tag === 3 || o.tag === 4;
    }
    function Q2(o) {
      e: for (; ; ) {
        for (; o.sibling === null; ) {
          if (o.return === null || H2(o.return)) return null;
          o = o.return;
        }
        for (o.sibling.return = o.return, o = o.sibling; o.tag !== 5 && o.tag !== 6 && o.tag !== 18; ) {
          if (o.flags & 2 || o.child === null || o.tag === 4) continue e;
          o.child.return = o, o = o.child;
        }
        if (!(o.flags & 2)) return o.stateNode;
      }
    }
    function u1(o, s, d) {
      var g = o.tag;
      if (g === 5 || g === 6) o = o.stateNode, s ? d.nodeType === 8 ? d.parentNode.insertBefore(o, s) : d.insertBefore(o, s) : (d.nodeType === 8 ? (s = d.parentNode, s.insertBefore(o, d)) : (s = d, s.appendChild(o)), d = d._reactRootContainer, d != null || s.onclick !== null || (s.onclick = tu));
      else if (g !== 4 && (o = o.child, o !== null)) for (u1(o, s, d), o = o.sibling; o !== null; ) u1(o, s, d), o = o.sibling;
    }
    function x1(o, s, d) {
      var g = o.tag;
      if (g === 5 || g === 6) o = o.stateNode, s ? d.insertBefore(o, s) : d.appendChild(o);
      else if (g !== 4 && (o = o.child, o !== null)) for (x1(o, s, d), o = o.sibling; o !== null; ) x1(o, s, d), o = o.sibling;
    }
    var or = null, zn = false;
    function bo(o, s, d) {
      for (d = d.child; d !== null; ) q2(o, s, d), d = d.sibling;
    }
    function q2(o, s, d) {
      if (Vn && typeof Vn.onCommitFiberUnmount == "function") try {
        Vn.onCommitFiberUnmount(Tc, d);
      } catch {
      }
      switch (d.tag) {
        case 5:
          gr || v0(d, s);
        case 6:
          var g = or, b = zn;
          or = null, bo(o, s, d), or = g, zn = b, or !== null && (zn ? (o = or, d = d.stateNode, o.nodeType === 8 ? o.parentNode.removeChild(d) : o.removeChild(d)) : or.removeChild(d.stateNode));
          break;
        case 18:
          or !== null && (zn ? (o = or, d = d.stateNode, o.nodeType === 8 ? Bf(o.parentNode, d) : o.nodeType === 1 && Bf(o, d), Ns(o)) : Bf(or, d.stateNode));
          break;
        case 4:
          g = or, b = zn, or = d.stateNode.containerInfo, zn = true, bo(o, s, d), or = g, zn = b;
          break;
        case 0:
        case 11:
        case 14:
        case 15:
          if (!gr && (g = d.updateQueue, g !== null && (g = g.lastEffect, g !== null))) {
            b = g = g.next;
            do {
              var F = b, H = F.destroy;
              F = F.tag, H !== void 0 && ((F & 2) !== 0 || (F & 4) !== 0) && l1(d, s, H), b = b.next;
            } while (b !== g);
          }
          bo(o, s, d);
          break;
        case 1:
          if (!gr && (v0(d, s), g = d.stateNode, typeof g.componentWillUnmount == "function")) try {
            g.props = d.memoizedProps, g.state = d.memoizedState, g.componentWillUnmount();
          } catch (J) {
            jt(d, s, J);
          }
          bo(o, s, d);
          break;
        case 21:
          bo(o, s, d);
          break;
        case 22:
          d.mode & 1 ? (gr = (g = gr) || d.memoizedState !== null, bo(o, s, d), gr = g) : bo(o, s, d);
          break;
        default:
          bo(o, s, d);
      }
    }
    function G2(o) {
      var s = o.updateQueue;
      if (s !== null) {
        o.updateQueue = null;
        var d = o.stateNode;
        d === null && (d = o.stateNode = new _A()), s.forEach(function(g) {
          var b = MA.bind(null, o, g);
          d.has(g) || (d.add(g), g.then(b, b));
        });
      }
    }
    function Un(o, s) {
      var d = s.deletions;
      if (d !== null) for (var g = 0; g < d.length; g++) {
        var b = d[g];
        try {
          var F = o, H = s, J = H;
          e: for (; J !== null; ) {
            switch (J.tag) {
              case 5:
                or = J.stateNode, zn = false;
                break e;
              case 3:
                or = J.stateNode.containerInfo, zn = true;
                break e;
              case 4:
                or = J.stateNode.containerInfo, zn = true;
                break e;
            }
            J = J.return;
          }
          if (or === null) throw Error(r(160));
          q2(F, H, b), or = null, zn = false;
          var re = b.alternate;
          re !== null && (re.return = null), b.return = null;
        } catch (ue) {
          jt(b, s, ue);
        }
      }
      if (s.subtreeFlags & 12854) for (s = s.child; s !== null; ) V2(s, o), s = s.sibling;
    }
    function V2(o, s) {
      var d = o.alternate, g = o.flags;
      switch (o.tag) {
        case 0:
        case 11:
        case 14:
        case 15:
          if (Un(s, o), Yn(o), g & 4) {
            try {
              tl(3, o, o.return), Bu(3, o);
            } catch (_e) {
              jt(o, o.return, _e);
            }
            try {
              tl(5, o, o.return);
            } catch (_e) {
              jt(o, o.return, _e);
            }
          }
          break;
        case 1:
          Un(s, o), Yn(o), g & 512 && d !== null && v0(d, d.return);
          break;
        case 5:
          if (Un(s, o), Yn(o), g & 512 && d !== null && v0(d, d.return), o.flags & 32) {
            var b = o.stateNode;
            try {
              Z(b, "");
            } catch (_e) {
              jt(o, o.return, _e);
            }
          }
          if (g & 4 && (b = o.stateNode, b != null)) {
            var F = o.memoizedProps, H = d !== null ? d.memoizedProps : F, J = o.type, re = o.updateQueue;
            if (o.updateQueue = null, re !== null) try {
              J === "input" && F.type === "radio" && F.name != null && ke(b, F), We(J, H);
              var ue = We(J, F);
              for (H = 0; H < re.length; H += 2) {
                var ye = re[H], Ae = re[H + 1];
                ye === "style" ? qe(b, Ae) : ye === "dangerouslySetInnerHTML" ? j(b, Ae) : ye === "children" ? Z(b, Ae) : k(b, ye, Ae, ue);
              }
              switch (J) {
                case "input":
                  ze(b, F);
                  break;
                case "textarea":
                  Wr(b, F);
                  break;
                case "select":
                  var me = b._wrapperState.wasMultiple;
                  b._wrapperState.wasMultiple = !!F.multiple;
                  var De = F.value;
                  De != null ? rt(b, !!F.multiple, De, false) : me !== !!F.multiple && (F.defaultValue != null ? rt(b, !!F.multiple, F.defaultValue, true) : rt(b, !!F.multiple, F.multiple ? [] : "", false));
              }
              b[Qs] = F;
            } catch (_e) {
              jt(o, o.return, _e);
            }
          }
          break;
        case 6:
          if (Un(s, o), Yn(o), g & 4) {
            if (o.stateNode === null) throw Error(r(162));
            b = o.stateNode, F = o.memoizedProps;
            try {
              b.nodeValue = F;
            } catch (_e) {
              jt(o, o.return, _e);
            }
          }
          break;
        case 3:
          if (Un(s, o), Yn(o), g & 4 && d !== null && d.memoizedState.isDehydrated) try {
            Ns(s.containerInfo);
          } catch (_e) {
            jt(o, o.return, _e);
          }
          break;
        case 4:
          Un(s, o), Yn(o);
          break;
        case 13:
          Un(s, o), Yn(o), b = o.child, b.flags & 8192 && (F = b.memoizedState !== null, b.stateNode.isHidden = F, !F || b.alternate !== null && b.alternate.memoizedState !== null || (h1 = xt())), g & 4 && G2(o);
          break;
        case 22:
          if (ye = d !== null && d.memoizedState !== null, o.mode & 1 ? (gr = (ue = gr) || ye, Un(s, o), gr = ue) : Un(s, o), Yn(o), g & 8192) {
            if (ue = o.memoizedState !== null, (o.stateNode.isHidden = ue) && !ye && (o.mode & 1) !== 0) for (Fe = o, ye = o.child; ye !== null; ) {
              for (Ae = Fe = ye; Fe !== null; ) {
                switch (me = Fe, De = me.child, me.tag) {
                  case 0:
                  case 11:
                  case 14:
                  case 15:
                    tl(4, me, me.return);
                    break;
                  case 1:
                    v0(me, me.return);
                    var Se = me.stateNode;
                    if (typeof Se.componentWillUnmount == "function") {
                      g = me, d = me.return;
                      try {
                        s = g, Se.props = s.memoizedProps, Se.state = s.memoizedState, Se.componentWillUnmount();
                      } catch (_e) {
                        jt(g, d, _e);
                      }
                    }
                    break;
                  case 5:
                    v0(me, me.return);
                    break;
                  case 22:
                    if (me.memoizedState !== null) {
                      Z2(Ae);
                      continue;
                    }
                }
                De !== null ? (De.return = me, Fe = De) : Z2(Ae);
              }
              ye = ye.sibling;
            }
            e: for (ye = null, Ae = o; ; ) {
              if (Ae.tag === 5) {
                if (ye === null) {
                  ye = Ae;
                  try {
                    b = Ae.stateNode, ue ? (F = b.style, typeof F.setProperty == "function" ? F.setProperty("display", "none", "important") : F.display = "none") : (J = Ae.stateNode, re = Ae.memoizedProps.style, H = re != null && re.hasOwnProperty("display") ? re.display : null, J.style.display = pe("display", H));
                  } catch (_e) {
                    jt(o, o.return, _e);
                  }
                }
              } else if (Ae.tag === 6) {
                if (ye === null) try {
                  Ae.stateNode.nodeValue = ue ? "" : Ae.memoizedProps;
                } catch (_e) {
                  jt(o, o.return, _e);
                }
              } else if ((Ae.tag !== 22 && Ae.tag !== 23 || Ae.memoizedState === null || Ae === o) && Ae.child !== null) {
                Ae.child.return = Ae, Ae = Ae.child;
                continue;
              }
              if (Ae === o) break e;
              for (; Ae.sibling === null; ) {
                if (Ae.return === null || Ae.return === o) break e;
                ye === Ae && (ye = null), Ae = Ae.return;
              }
              ye === Ae && (ye = null), Ae.sibling.return = Ae.return, Ae = Ae.sibling;
            }
          }
          break;
        case 19:
          Un(s, o), Yn(o), g & 4 && G2(o);
          break;
        case 21:
          break;
        default:
          Un(s, o), Yn(o);
      }
    }
    function Yn(o) {
      var s = o.flags;
      if (s & 2) {
        try {
          e: {
            for (var d = o.return; d !== null; ) {
              if (H2(d)) {
                var g = d;
                break e;
              }
              d = d.return;
            }
            throw Error(r(160));
          }
          switch (g.tag) {
            case 5:
              var b = g.stateNode;
              g.flags & 32 && (Z(b, ""), g.flags &= -33);
              var F = Q2(o);
              x1(o, F, b);
              break;
            case 3:
            case 4:
              var H = g.stateNode.containerInfo, J = Q2(o);
              u1(o, J, H);
              break;
            default:
              throw Error(r(161));
          }
        } catch (re) {
          jt(o, o.return, re);
        }
        o.flags &= -3;
      }
      s & 4096 && (o.flags &= -4097);
    }
    function PA(o, s, d) {
      Fe = o, W2(o);
    }
    function W2(o, s, d) {
      for (var g = (o.mode & 1) !== 0; Fe !== null; ) {
        var b = Fe, F = b.child;
        if (b.tag === 22 && g) {
          var H = b.memoizedState !== null || vu;
          if (!H) {
            var J = b.alternate, re = J !== null && J.memoizedState !== null || gr;
            J = vu;
            var ue = gr;
            if (vu = H, (gr = re) && !ue) for (Fe = b; Fe !== null; ) H = Fe, re = H.child, H.tag === 22 && H.memoizedState !== null ? Y2(b) : re !== null ? (re.return = H, Fe = re) : Y2(b);
            for (; F !== null; ) Fe = F, W2(F), F = F.sibling;
            Fe = b, vu = J, gr = ue;
          }
          $2(o);
        } else (b.subtreeFlags & 8772) !== 0 && F !== null ? (F.return = b, Fe = F) : $2(o);
      }
    }
    function $2(o) {
      for (; Fe !== null; ) {
        var s = Fe;
        if ((s.flags & 8772) !== 0) {
          var d = s.alternate;
          try {
            if ((s.flags & 8772) !== 0) switch (s.tag) {
              case 0:
              case 11:
              case 15:
                gr || Bu(5, s);
                break;
              case 1:
                var g = s.stateNode;
                if (s.flags & 4 && !gr) if (d === null) g.componentDidMount();
                else {
                  var b = s.elementType === s.type ? d.memoizedProps : jn(s.type, d.memoizedProps);
                  g.componentDidUpdate(b, d.memoizedState, g.__reactInternalSnapshotBeforeUpdate);
                }
                var F = s.updateQueue;
                F !== null && Z5(s, F, g);
                break;
              case 3:
                var H = s.updateQueue;
                if (H !== null) {
                  if (d = null, s.child !== null) switch (s.child.tag) {
                    case 5:
                      d = s.child.stateNode;
                      break;
                    case 1:
                      d = s.child.stateNode;
                  }
                  Z5(s, H, d);
                }
                break;
              case 5:
                var J = s.stateNode;
                if (d === null && s.flags & 4) {
                  d = J;
                  var re = s.memoizedProps;
                  switch (s.type) {
                    case "button":
                    case "input":
                    case "select":
                    case "textarea":
                      re.autoFocus && d.focus();
                      break;
                    case "img":
                      re.src && (d.src = re.src);
                  }
                }
                break;
              case 6:
                break;
              case 4:
                break;
              case 12:
                break;
              case 13:
                if (s.memoizedState === null) {
                  var ue = s.alternate;
                  if (ue !== null) {
                    var ye = ue.memoizedState;
                    if (ye !== null) {
                      var Ae = ye.dehydrated;
                      Ae !== null && Ns(Ae);
                    }
                  }
                }
                break;
              case 19:
              case 17:
              case 21:
              case 22:
              case 23:
              case 25:
                break;
              default:
                throw Error(r(163));
            }
            gr || s.flags & 512 && c1(s);
          } catch (me) {
            jt(s, s.return, me);
          }
        }
        if (s === o) {
          Fe = null;
          break;
        }
        if (d = s.sibling, d !== null) {
          d.return = s.return, Fe = d;
          break;
        }
        Fe = s.return;
      }
    }
    function Z2(o) {
      for (; Fe !== null; ) {
        var s = Fe;
        if (s === o) {
          Fe = null;
          break;
        }
        var d = s.sibling;
        if (d !== null) {
          d.return = s.return, Fe = d;
          break;
        }
        Fe = s.return;
      }
    }
    function Y2(o) {
      for (; Fe !== null; ) {
        var s = Fe;
        try {
          switch (s.tag) {
            case 0:
            case 11:
            case 15:
              var d = s.return;
              try {
                Bu(4, s);
              } catch (re) {
                jt(s, d, re);
              }
              break;
            case 1:
              var g = s.stateNode;
              if (typeof g.componentDidMount == "function") {
                var b = s.return;
                try {
                  g.componentDidMount();
                } catch (re) {
                  jt(s, b, re);
                }
              }
              var F = s.return;
              try {
                c1(s);
              } catch (re) {
                jt(s, F, re);
              }
              break;
            case 5:
              var H = s.return;
              try {
                c1(s);
              } catch (re) {
                jt(s, H, re);
              }
          }
        } catch (re) {
          jt(s, s.return, re);
        }
        if (s === o) {
          Fe = null;
          break;
        }
        var J = s.sibling;
        if (J !== null) {
          J.return = s.return, Fe = J;
          break;
        }
        Fe = s.return;
      }
    }
    var NA = Math.ceil, Cu = w.ReactCurrentDispatcher, d1 = w.ReactCurrentOwner, dn = w.ReactCurrentBatchConfig, nt = 0, Xt = null, Lt = null, ir = 0, Xr = 0, B0 = go(0), qt = 0, rl = null, mi = 0, ku = 0, f1 = 0, nl = null, zr = null, h1 = 0, C0 = 1 / 0, Pa = null, Du = false, p1 = null, wo = null, Fu = false, vo = null, Su = 0, al = 0, g1 = null, _u = -1, Iu = 0;
    function kr() {
      return (nt & 6) !== 0 ? xt() : _u !== -1 ? _u : _u = xt();
    }
    function Bo(o) {
      return (o.mode & 1) === 0 ? 1 : (nt & 2) !== 0 && ir !== 0 ? ir & -ir : gA.transition !== null ? (Iu === 0 && (Iu = Q9()), Iu) : (o = lt, o !== 0 || (o = window.event, o = o === void 0 ? 16 : J9(o.type)), o);
    }
    function Tn(o, s, d, g) {
      if (50 < al) throw al = 0, g1 = null, Error(r(185));
      Fs(o, d, g), ((nt & 2) === 0 || o !== Xt) && (o === Xt && ((nt & 2) === 0 && (ku |= d), qt === 4 && Co(o, ir)), Ur(o, g), d === 1 && nt === 0 && (s.mode & 1) === 0 && (C0 = xt() + 500, ou && yo()));
    }
    function Ur(o, s) {
      var d = o.callbackNode;
      gE(o, s);
      var g = Mc(o, o === Xt ? ir : 0);
      if (g === 0) d !== null && Br(d), o.callbackNode = null, o.callbackPriority = 0;
      else if (s = g & -g, o.callbackPriority !== s) {
        if (d != null && Br(d), s === 1) o.tag === 0 ? pA(J2.bind(null, o)) : R5(J2.bind(null, o)), xA(function() {
          (nt & 6) === 0 && yo();
        }), d = null;
        else {
          switch (q9(g)) {
            case 1:
              d = Wd;
              break;
            case 4:
              d = O9;
              break;
            case 16:
              d = Uc;
              break;
            case 536870912:
              d = H9;
              break;
            default:
              d = Uc;
          }
          d = sp(d, X2.bind(null, o));
        }
        o.callbackPriority = s, o.callbackNode = d;
      }
    }
    function X2(o, s) {
      if (_u = -1, Iu = 0, (nt & 6) !== 0) throw Error(r(327));
      var d = o.callbackNode;
      if (k0() && o.callbackNode !== d) return null;
      var g = Mc(o, o === Xt ? ir : 0);
      if (g === 0) return null;
      if ((g & 30) !== 0 || (g & o.expiredLanes) !== 0 || s) s = Pu(o, g);
      else {
        s = g;
        var b = nt;
        nt |= 2;
        var F = tp();
        (Xt !== o || ir !== s) && (Pa = null, C0 = xt() + 500, Ei(o, s));
        do
          try {
            UA();
            break;
          } catch (J) {
            ep(o, J);
          }
        while (true);
        jf(), Cu.current = F, nt = b, Lt !== null ? s = 0 : (Xt = null, ir = 0, s = qt);
      }
      if (s !== 0) {
        if (s === 2 && (b = $d(o), b !== 0 && (g = b, s = m1(o, b))), s === 1) throw d = rl, Ei(o, 0), Co(o, g), Ur(o, xt()), d;
        if (s === 6) Co(o, g);
        else {
          if (b = o.current.alternate, (g & 30) === 0 && !jA(b) && (s = Pu(o, g), s === 2 && (F = $d(o), F !== 0 && (g = F, s = m1(o, F))), s === 1)) throw d = rl, Ei(o, 0), Co(o, g), Ur(o, xt()), d;
          switch (o.finishedWork = b, o.finishedLanes = g, s) {
            case 0:
            case 1:
              throw Error(r(345));
            case 2:
              Ai(o, zr, Pa);
              break;
            case 3:
              if (Co(o, g), (g & 130023424) === g && (s = h1 + 500 - xt(), 10 < s)) {
                if (Mc(o, 0) !== 0) break;
                if (b = o.suspendedLanes, (b & g) !== g) {
                  kr(), o.pingedLanes |= o.suspendedLanes & b;
                  break;
                }
                o.timeoutHandle = vf(Ai.bind(null, o, zr, Pa), s);
                break;
              }
              Ai(o, zr, Pa);
              break;
            case 4:
              if (Co(o, g), (g & 4194240) === g) break;
              for (s = o.eventTimes, b = -1; 0 < g; ) {
                var H = 31 - In(g);
                F = 1 << H, H = s[H], H > b && (b = H), g &= ~F;
              }
              if (g = b, g = xt() - g, g = (120 > g ? 120 : 480 > g ? 480 : 1080 > g ? 1080 : 1920 > g ? 1920 : 3e3 > g ? 3e3 : 4320 > g ? 4320 : 1960 * NA(g / 1960)) - g, 10 < g) {
                o.timeoutHandle = vf(Ai.bind(null, o, zr, Pa), g);
                break;
              }
              Ai(o, zr, Pa);
              break;
            case 5:
              Ai(o, zr, Pa);
              break;
            default:
              throw Error(r(329));
          }
        }
      }
      return Ur(o, xt()), o.callbackNode === d ? X2.bind(null, o) : null;
    }
    function m1(o, s) {
      var d = nl;
      return o.current.memoizedState.isDehydrated && (Ei(o, s).flags |= 256), o = Pu(o, s), o !== 2 && (s = zr, zr = d, s !== null && y1(s)), o;
    }
    function y1(o) {
      zr === null ? zr = o : zr.push.apply(zr, o);
    }
    function jA(o) {
      for (var s = o; ; ) {
        if (s.flags & 16384) {
          var d = s.updateQueue;
          if (d !== null && (d = d.stores, d !== null)) for (var g = 0; g < d.length; g++) {
            var b = d[g], F = b.getSnapshot;
            b = b.value;
            try {
              if (!Pn(F(), b)) return false;
            } catch {
              return false;
            }
          }
        }
        if (d = s.child, s.subtreeFlags & 16384 && d !== null) d.return = s, s = d;
        else {
          if (s === o) break;
          for (; s.sibling === null; ) {
            if (s.return === null || s.return === o) return true;
            s = s.return;
          }
          s.sibling.return = s.return, s = s.sibling;
        }
      }
      return true;
    }
    function Co(o, s) {
      for (s &= ~f1, s &= ~ku, o.suspendedLanes |= s, o.pingedLanes &= ~s, o = o.expirationTimes; 0 < s; ) {
        var d = 31 - In(s), g = 1 << d;
        o[d] = -1, s &= ~g;
      }
    }
    function J2(o) {
      if ((nt & 6) !== 0) throw Error(r(327));
      k0();
      var s = Mc(o, 0);
      if ((s & 1) === 0) return Ur(o, xt()), null;
      var d = Pu(o, s);
      if (o.tag !== 0 && d === 2) {
        var g = $d(o);
        g !== 0 && (s = g, d = m1(o, g));
      }
      if (d === 1) throw d = rl, Ei(o, 0), Co(o, s), Ur(o, xt()), d;
      if (d === 6) throw Error(r(345));
      return o.finishedWork = o.current.alternate, o.finishedLanes = s, Ai(o, zr, Pa), Ur(o, xt()), null;
    }
    function E1(o, s) {
      var d = nt;
      nt |= 1;
      try {
        return o(s);
      } finally {
        nt = d, nt === 0 && (C0 = xt() + 500, ou && yo());
      }
    }
    function yi(o) {
      vo !== null && vo.tag === 0 && (nt & 6) === 0 && k0();
      var s = nt;
      nt |= 1;
      var d = dn.transition, g = lt;
      try {
        if (dn.transition = null, lt = 1, o) return o();
      } finally {
        lt = g, dn.transition = d, nt = s, (nt & 6) === 0 && yo();
      }
    }
    function A1() {
      Xr = B0.current, Bt(B0);
    }
    function Ei(o, s) {
      o.finishedWork = null, o.finishedLanes = 0;
      var d = o.timeoutHandle;
      if (d !== -1 && (o.timeoutHandle = -1, uA(d)), Lt !== null) for (d = Lt.return; d !== null; ) {
        var g = d;
        switch (Sf(g), g.tag) {
          case 1:
            g = g.type.childContextTypes, g != null && nu();
            break;
          case 3:
            b0(), Bt(Pr), Bt(fr), Of();
            break;
          case 5:
            Mf(g);
            break;
          case 4:
            b0();
            break;
          case 13:
            Bt(Pt);
            break;
          case 19:
            Bt(Pt);
            break;
          case 10:
            zf(g.type._context);
            break;
          case 22:
          case 23:
            A1();
        }
        d = d.return;
      }
      if (Xt = o, Lt = o = ko(o.current, null), ir = Xr = s, qt = 0, rl = null, f1 = ku = mi = 0, zr = nl = null, hi !== null) {
        for (s = 0; s < hi.length; s++) if (d = hi[s], g = d.interleaved, g !== null) {
          d.interleaved = null;
          var b = g.next, F = d.pending;
          if (F !== null) {
            var H = F.next;
            F.next = b, g.next = H;
          }
          d.pending = g;
        }
        hi = null;
      }
      return o;
    }
    function ep(o, s) {
      do {
        var d = Lt;
        try {
          if (jf(), pu.current = Eu, gu) {
            for (var g = Nt.memoizedState; g !== null; ) {
              var b = g.queue;
              b !== null && (b.pending = null), g = g.next;
            }
            gu = false;
          }
          if (gi = 0, Yt = Qt = Nt = null, Zs = false, Ys = 0, d1.current = null, d === null || d.return === null) {
            qt = 1, rl = s, Lt = null;
            break;
          }
          e: {
            var F = o, H = d.return, J = d, re = s;
            if (s = ir, J.flags |= 32768, re !== null && typeof re == "object" && typeof re.then == "function") {
              var ue = re, ye = J, Ae = ye.tag;
              if ((ye.mode & 1) === 0 && (Ae === 0 || Ae === 11 || Ae === 15)) {
                var me = ye.alternate;
                me ? (ye.updateQueue = me.updateQueue, ye.memoizedState = me.memoizedState, ye.lanes = me.lanes) : (ye.updateQueue = null, ye.memoizedState = null);
              }
              var De = C2(H);
              if (De !== null) {
                De.flags &= -257, k2(De, H, J, F, s), De.mode & 1 && B2(F, ue, s), s = De, re = ue;
                var Se = s.updateQueue;
                if (Se === null) {
                  var _e = /* @__PURE__ */ new Set();
                  _e.add(re), s.updateQueue = _e;
                } else Se.add(re);
                break e;
              } else {
                if ((s & 1) === 0) {
                  B2(F, ue, s), b1();
                  break e;
                }
                re = Error(r(426));
              }
            } else if (kt && J.mode & 1) {
              var Tt = C2(H);
              if (Tt !== null) {
                (Tt.flags & 65536) === 0 && (Tt.flags |= 256), k2(Tt, H, J, F, s), Pf(w0(re, J));
                break e;
              }
            }
            F = re = w0(re, J), qt !== 4 && (qt = 2), nl === null ? nl = [
              F
            ] : nl.push(F), F = H;
            do {
              switch (F.tag) {
                case 3:
                  F.flags |= 65536, s &= -s, F.lanes |= s;
                  var se = w2(F, re, s);
                  $5(F, se);
                  break e;
                case 1:
                  J = re;
                  var ae = F.type, le = F.stateNode;
                  if ((F.flags & 128) === 0 && (typeof ae.getDerivedStateFromError == "function" || le !== null && typeof le.componentDidCatch == "function" && (wo === null || !wo.has(le)))) {
                    F.flags |= 65536, s &= -s, F.lanes |= s;
                    var we = v2(F, J, s);
                    $5(F, we);
                    break e;
                  }
              }
              F = F.return;
            } while (F !== null);
          }
          np(d);
        } catch (Pe) {
          s = Pe, Lt === d && d !== null && (Lt = d = d.return);
          continue;
        }
        break;
      } while (true);
    }
    function tp() {
      var o = Cu.current;
      return Cu.current = Eu, o === null ? Eu : o;
    }
    function b1() {
      (qt === 0 || qt === 3 || qt === 2) && (qt = 4), Xt === null || (mi & 268435455) === 0 && (ku & 268435455) === 0 || Co(Xt, ir);
    }
    function Pu(o, s) {
      var d = nt;
      nt |= 2;
      var g = tp();
      (Xt !== o || ir !== s) && (Pa = null, Ei(o, s));
      do
        try {
          zA();
          break;
        } catch (b) {
          ep(o, b);
        }
      while (true);
      if (jf(), nt = d, Cu.current = g, Lt !== null) throw Error(r(261));
      return Xt = null, ir = 0, qt;
    }
    function zA() {
      for (; Lt !== null; ) rp(Lt);
    }
    function UA() {
      for (; Lt !== null && !sn(); ) rp(Lt);
    }
    function rp(o) {
      var s = ip(o.alternate, o, Xr);
      o.memoizedProps = o.pendingProps, s === null ? np(o) : Lt = s, d1.current = null;
    }
    function np(o) {
      var s = o;
      do {
        var d = s.alternate;
        if (o = s.return, (s.flags & 32768) === 0) {
          if (d = FA(d, s, Xr), d !== null) {
            Lt = d;
            return;
          }
        } else {
          if (d = SA(d, s), d !== null) {
            d.flags &= 32767, Lt = d;
            return;
          }
          if (o !== null) o.flags |= 32768, o.subtreeFlags = 0, o.deletions = null;
          else {
            qt = 6, Lt = null;
            return;
          }
        }
        if (s = s.sibling, s !== null) {
          Lt = s;
          return;
        }
        Lt = s = o;
      } while (s !== null);
      qt === 0 && (qt = 5);
    }
    function Ai(o, s, d) {
      var g = lt, b = dn.transition;
      try {
        dn.transition = null, lt = 1, TA(o, s, d, g);
      } finally {
        dn.transition = b, lt = g;
      }
      return null;
    }
    function TA(o, s, d, g) {
      do
        k0();
      while (vo !== null);
      if ((nt & 6) !== 0) throw Error(r(327));
      d = o.finishedWork;
      var b = o.finishedLanes;
      if (d === null) return null;
      if (o.finishedWork = null, o.finishedLanes = 0, d === o.current) throw Error(r(177));
      o.callbackNode = null, o.callbackPriority = 0;
      var F = d.lanes | d.childLanes;
      if (mE(o, F), o === Xt && (Lt = Xt = null, ir = 0), (d.subtreeFlags & 2064) === 0 && (d.flags & 2064) === 0 || Fu || (Fu = true, sp(Uc, function() {
        return k0(), null;
      })), F = (d.flags & 15990) !== 0, (d.subtreeFlags & 15990) !== 0 || F) {
        F = dn.transition, dn.transition = null;
        var H = lt;
        lt = 1;
        var J = nt;
        nt |= 4, d1.current = null, IA(o, d), V2(d, o), nA(bf), Hc = !!Af, bf = Af = null, o.current = d, PA(d), ci(), nt = J, lt = H, dn.transition = F;
      } else o.current = d;
      if (Fu && (Fu = false, vo = o, Su = b), F = o.pendingLanes, F === 0 && (wo = null), xE(d.stateNode), Ur(o, xt()), s !== null) for (g = o.onRecoverableError, d = 0; d < s.length; d++) b = s[d], g(b.value, {
        componentStack: b.stack,
        digest: b.digest
      });
      if (Du) throw Du = false, o = p1, p1 = null, o;
      return (Su & 1) !== 0 && o.tag !== 0 && k0(), F = o.pendingLanes, (F & 1) !== 0 ? o === g1 ? al++ : (al = 0, g1 = o) : al = 0, yo(), null;
    }
    function k0() {
      if (vo !== null) {
        var o = q9(Su), s = dn.transition, d = lt;
        try {
          if (dn.transition = null, lt = 16 > o ? 16 : o, vo === null) var g = false;
          else {
            if (o = vo, vo = null, Su = 0, (nt & 6) !== 0) throw Error(r(331));
            var b = nt;
            for (nt |= 4, Fe = o.current; Fe !== null; ) {
              var F = Fe, H = F.child;
              if ((Fe.flags & 16) !== 0) {
                var J = F.deletions;
                if (J !== null) {
                  for (var re = 0; re < J.length; re++) {
                    var ue = J[re];
                    for (Fe = ue; Fe !== null; ) {
                      var ye = Fe;
                      switch (ye.tag) {
                        case 0:
                        case 11:
                        case 15:
                          tl(8, ye, F);
                      }
                      var Ae = ye.child;
                      if (Ae !== null) Ae.return = ye, Fe = Ae;
                      else for (; Fe !== null; ) {
                        ye = Fe;
                        var me = ye.sibling, De = ye.return;
                        if (O2(ye), ye === ue) {
                          Fe = null;
                          break;
                        }
                        if (me !== null) {
                          me.return = De, Fe = me;
                          break;
                        }
                        Fe = De;
                      }
                    }
                  }
                  var Se = F.alternate;
                  if (Se !== null) {
                    var _e = Se.child;
                    if (_e !== null) {
                      Se.child = null;
                      do {
                        var Tt = _e.sibling;
                        _e.sibling = null, _e = Tt;
                      } while (_e !== null);
                    }
                  }
                  Fe = F;
                }
              }
              if ((F.subtreeFlags & 2064) !== 0 && H !== null) H.return = F, Fe = H;
              else e: for (; Fe !== null; ) {
                if (F = Fe, (F.flags & 2048) !== 0) switch (F.tag) {
                  case 0:
                  case 11:
                  case 15:
                    tl(9, F, F.return);
                }
                var se = F.sibling;
                if (se !== null) {
                  se.return = F.return, Fe = se;
                  break e;
                }
                Fe = F.return;
              }
            }
            var ae = o.current;
            for (Fe = ae; Fe !== null; ) {
              H = Fe;
              var le = H.child;
              if ((H.subtreeFlags & 2064) !== 0 && le !== null) le.return = H, Fe = le;
              else e: for (H = ae; Fe !== null; ) {
                if (J = Fe, (J.flags & 2048) !== 0) try {
                  switch (J.tag) {
                    case 0:
                    case 11:
                    case 15:
                      Bu(9, J);
                  }
                } catch (Pe) {
                  jt(J, J.return, Pe);
                }
                if (J === H) {
                  Fe = null;
                  break e;
                }
                var we = J.sibling;
                if (we !== null) {
                  we.return = J.return, Fe = we;
                  break e;
                }
                Fe = J.return;
              }
            }
            if (nt = b, yo(), Vn && typeof Vn.onPostCommitFiberRoot == "function") try {
              Vn.onPostCommitFiberRoot(Tc, o);
            } catch {
            }
            g = true;
          }
          return g;
        } finally {
          lt = d, dn.transition = s;
        }
      }
      return false;
    }
    function ap(o, s, d) {
      s = w0(d, s), s = w2(o, s, 1), o = Ao(o, s, 1), s = kr(), o !== null && (Fs(o, 1, s), Ur(o, s));
    }
    function jt(o, s, d) {
      if (o.tag === 3) ap(o, o, d);
      else for (; s !== null; ) {
        if (s.tag === 3) {
          ap(s, o, d);
          break;
        } else if (s.tag === 1) {
          var g = s.stateNode;
          if (typeof s.type.getDerivedStateFromError == "function" || typeof g.componentDidCatch == "function" && (wo === null || !wo.has(g))) {
            o = w0(d, o), o = v2(s, o, 1), s = Ao(s, o, 1), o = kr(), s !== null && (Fs(s, 1, o), Ur(s, o));
            break;
          }
        }
        s = s.return;
      }
    }
    function RA(o, s, d) {
      var g = o.pingCache;
      g !== null && g.delete(s), s = kr(), o.pingedLanes |= o.suspendedLanes & d, Xt === o && (ir & d) === d && (qt === 4 || qt === 3 && (ir & 130023424) === ir && 500 > xt() - h1 ? Ei(o, 0) : f1 |= d), Ur(o, s);
    }
    function op(o, s) {
      s === 0 && ((o.mode & 1) === 0 ? s = 1 : (s = Kc, Kc <<= 1, (Kc & 130023424) === 0 && (Kc = 4194304)));
      var d = kr();
      o = Sa(o, s), o !== null && (Fs(o, s, d), Ur(o, d));
    }
    function KA(o) {
      var s = o.memoizedState, d = 0;
      s !== null && (d = s.retryLane), op(o, d);
    }
    function MA(o, s) {
      var d = 0;
      switch (o.tag) {
        case 13:
          var g = o.stateNode, b = o.memoizedState;
          b !== null && (d = b.retryLane);
          break;
        case 19:
          g = o.stateNode;
          break;
        default:
          throw Error(r(314));
      }
      g !== null && g.delete(s), op(o, d);
    }
    var ip;
    ip = function(o, s, d) {
      if (o !== null) if (o.memoizedProps !== s.pendingProps || Pr.current) jr = true;
      else {
        if ((o.lanes & d) === 0 && (s.flags & 128) === 0) return jr = false, DA(o, s, d);
        jr = (o.flags & 131072) !== 0;
      }
      else jr = false, kt && (s.flags & 1048576) !== 0 && K5(s, su, s.index);
      switch (s.lanes = 0, s.tag) {
        case 2:
          var g = s.type;
          wu(o, s), o = s.pendingProps;
          var b = h0(s, fr.current);
          A0(s, d), b = qf(null, s, g, o, b, d);
          var F = Gf();
          return s.flags |= 1, typeof b == "object" && b !== null && typeof b.render == "function" && b.$$typeof === void 0 ? (s.tag = 1, s.memoizedState = null, s.updateQueue = null, Nr(g) ? (F = true, au(s)) : F = false, s.memoizedState = b.state !== null && b.state !== void 0 ? b.state : null, Rf(s), b.updater = Au, s.stateNode = b, b._reactInternals = s, Xf(s, g, o, d), s = r1(null, s, g, true, F, d)) : (s.tag = 0, kt && F && Ff(s), Cr(null, s, b, d), s = s.child), s;
        case 16:
          g = s.elementType;
          e: {
            switch (wu(o, s), o = s.pendingProps, b = g._init, g = b(g._payload), s.type = g, b = s.tag = OA(g), o = jn(g, o), b) {
              case 0:
                s = t1(null, s, g, o, d);
                break e;
              case 1:
                s = P2(null, s, g, o, d);
                break e;
              case 11:
                s = D2(null, s, g, o, d);
                break e;
              case 14:
                s = F2(null, s, g, jn(g.type, o), d);
                break e;
            }
            throw Error(r(306, g, ""));
          }
          return s;
        case 0:
          return g = s.type, b = s.pendingProps, b = s.elementType === g ? b : jn(g, b), t1(o, s, g, b, d);
        case 1:
          return g = s.type, b = s.pendingProps, b = s.elementType === g ? b : jn(g, b), P2(o, s, g, b, d);
        case 3:
          e: {
            if (N2(s), o === null) throw Error(r(387));
            g = s.pendingProps, F = s.memoizedState, b = F.element, W5(o, s), fu(s, g, null, d);
            var H = s.memoizedState;
            if (g = H.element, F.isDehydrated) if (F = {
              element: g,
              isDehydrated: false,
              cache: H.cache,
              pendingSuspenseBoundaries: H.pendingSuspenseBoundaries,
              transitions: H.transitions
            }, s.updateQueue.baseState = F, s.memoizedState = F, s.flags & 256) {
              b = w0(Error(r(423)), s), s = j2(o, s, g, d, b);
              break e;
            } else if (g !== b) {
              b = w0(Error(r(424)), s), s = j2(o, s, g, d, b);
              break e;
            } else for (Yr = po(s.stateNode.containerInfo.firstChild), Zr = s, kt = true, Nn = null, d = G5(s, null, g, d), s.child = d; d; ) d.flags = d.flags & -3 | 4096, d = d.sibling;
            else {
              if (m0(), g === b) {
                s = Ia(o, s, d);
                break e;
              }
              Cr(o, s, g, d);
            }
            s = s.child;
          }
          return s;
        case 5:
          return Y5(s), o === null && If(s), g = s.type, b = s.pendingProps, F = o !== null ? o.memoizedProps : null, H = b.children, wf(g, b) ? H = null : F !== null && wf(g, F) && (s.flags |= 32), I2(o, s), Cr(o, s, H, d), s.child;
        case 6:
          return o === null && If(s), null;
        case 13:
          return z2(o, s, d);
        case 4:
          return Kf(s, s.stateNode.containerInfo), g = s.pendingProps, o === null ? s.child = y0(s, null, g, d) : Cr(o, s, g, d), s.child;
        case 11:
          return g = s.type, b = s.pendingProps, b = s.elementType === g ? b : jn(g, b), D2(o, s, g, b, d);
        case 7:
          return Cr(o, s, s.pendingProps, d), s.child;
        case 8:
          return Cr(o, s, s.pendingProps.children, d), s.child;
        case 12:
          return Cr(o, s, s.pendingProps.children, d), s.child;
        case 10:
          e: {
            if (g = s.type._context, b = s.pendingProps, F = s.memoizedProps, H = b.value, Et(uu, g._currentValue), g._currentValue = H, F !== null) if (Pn(F.value, H)) {
              if (F.children === b.children && !Pr.current) {
                s = Ia(o, s, d);
                break e;
              }
            } else for (F = s.child, F !== null && (F.return = s); F !== null; ) {
              var J = F.dependencies;
              if (J !== null) {
                H = F.child;
                for (var re = J.firstContext; re !== null; ) {
                  if (re.context === g) {
                    if (F.tag === 1) {
                      re = _a(-1, d & -d), re.tag = 2;
                      var ue = F.updateQueue;
                      if (ue !== null) {
                        ue = ue.shared;
                        var ye = ue.pending;
                        ye === null ? re.next = re : (re.next = ye.next, ye.next = re), ue.pending = re;
                      }
                    }
                    F.lanes |= d, re = F.alternate, re !== null && (re.lanes |= d), Uf(F.return, d, s), J.lanes |= d;
                    break;
                  }
                  re = re.next;
                }
              } else if (F.tag === 10) H = F.type === s.type ? null : F.child;
              else if (F.tag === 18) {
                if (H = F.return, H === null) throw Error(r(341));
                H.lanes |= d, J = H.alternate, J !== null && (J.lanes |= d), Uf(H, d, s), H = F.sibling;
              } else H = F.child;
              if (H !== null) H.return = F;
              else for (H = F; H !== null; ) {
                if (H === s) {
                  H = null;
                  break;
                }
                if (F = H.sibling, F !== null) {
                  F.return = H.return, H = F;
                  break;
                }
                H = H.return;
              }
              F = H;
            }
            Cr(o, s, b.children, d), s = s.child;
          }
          return s;
        case 9:
          return b = s.type, g = s.pendingProps.children, A0(s, d), b = un(b), g = g(b), s.flags |= 1, Cr(o, s, g, d), s.child;
        case 14:
          return g = s.type, b = jn(g, s.pendingProps), b = jn(g.type, b), F2(o, s, g, b, d);
        case 15:
          return S2(o, s, s.type, s.pendingProps, d);
        case 17:
          return g = s.type, b = s.pendingProps, b = s.elementType === g ? b : jn(g, b), wu(o, s), s.tag = 1, Nr(g) ? (o = true, au(s)) : o = false, A0(s, d), A2(s, g, b), Xf(s, g, b, d), r1(null, s, g, true, o, d);
        case 19:
          return T2(o, s, d);
        case 22:
          return _2(o, s, d);
      }
      throw Error(r(156, s.tag));
    };
    function sp(o, s) {
      return ut(o, s);
    }
    function LA(o, s, d, g) {
      this.tag = o, this.key = d, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = s, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = g, this.subtreeFlags = this.flags = 0, this.deletions = null, this.childLanes = this.lanes = 0, this.alternate = null;
    }
    function fn(o, s, d, g) {
      return new LA(o, s, d, g);
    }
    function w1(o) {
      return o = o.prototype, !(!o || !o.isReactComponent);
    }
    function OA(o) {
      if (typeof o == "function") return w1(o) ? 1 : 0;
      if (o != null) {
        if (o = o.$$typeof, o === R) return 11;
        if (o === W) return 14;
      }
      return 2;
    }
    function ko(o, s) {
      var d = o.alternate;
      return d === null ? (d = fn(o.tag, s, o.key, o.mode), d.elementType = o.elementType, d.type = o.type, d.stateNode = o.stateNode, d.alternate = o, o.alternate = d) : (d.pendingProps = s, d.type = o.type, d.flags = 0, d.subtreeFlags = 0, d.deletions = null), d.flags = o.flags & 14680064, d.childLanes = o.childLanes, d.lanes = o.lanes, d.child = o.child, d.memoizedProps = o.memoizedProps, d.memoizedState = o.memoizedState, d.updateQueue = o.updateQueue, s = o.dependencies, d.dependencies = s === null ? null : {
        lanes: s.lanes,
        firstContext: s.firstContext
      }, d.sibling = o.sibling, d.index = o.index, d.ref = o.ref, d;
    }
    function Nu(o, s, d, g, b, F) {
      var H = 2;
      if (g = o, typeof o == "function") w1(o) && (H = 1);
      else if (typeof o == "string") H = 5;
      else e: switch (o) {
        case N:
          return bi(d.children, b, F, s);
        case U:
          H = 8, b |= 8;
          break;
        case C:
          return o = fn(12, d, s, b | 2), o.elementType = C, o.lanes = F, o;
        case L:
          return o = fn(13, d, s, b), o.elementType = L, o.lanes = F, o;
        case O:
          return o = fn(19, d, s, b), o.elementType = O, o.lanes = F, o;
        case X:
          return ju(d, b, F, s);
        default:
          if (typeof o == "object" && o !== null) switch (o.$$typeof) {
            case z:
              H = 10;
              break e;
            case I:
              H = 9;
              break e;
            case R:
              H = 11;
              break e;
            case W:
              H = 14;
              break e;
            case $:
              H = 16, g = null;
              break e;
          }
          throw Error(r(130, o == null ? o : typeof o, ""));
      }
      return s = fn(H, d, s, b), s.elementType = o, s.type = g, s.lanes = F, s;
    }
    function bi(o, s, d, g) {
      return o = fn(7, o, g, s), o.lanes = d, o;
    }
    function ju(o, s, d, g) {
      return o = fn(22, o, g, s), o.elementType = X, o.lanes = d, o.stateNode = {
        isHidden: false
      }, o;
    }
    function v1(o, s, d) {
      return o = fn(6, o, null, s), o.lanes = d, o;
    }
    function B1(o, s, d) {
      return s = fn(4, o.children !== null ? o.children : [], o.key, s), s.lanes = d, s.stateNode = {
        containerInfo: o.containerInfo,
        pendingChildren: null,
        implementation: o.implementation
      }, s;
    }
    function HA(o, s, d, g, b) {
      this.tag = s, this.containerInfo = o, this.finishedWork = this.pingCache = this.current = this.pendingChildren = null, this.timeoutHandle = -1, this.callbackNode = this.pendingContext = this.context = null, this.callbackPriority = 0, this.eventTimes = Zd(0), this.expirationTimes = Zd(-1), this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0, this.entanglements = Zd(0), this.identifierPrefix = g, this.onRecoverableError = b, this.mutableSourceEagerHydrationData = null;
    }
    function C1(o, s, d, g, b, F, H, J, re) {
      return o = new HA(o, s, d, J, re), s === 1 ? (s = 1, F === true && (s |= 8)) : s = 0, F = fn(3, null, null, s), o.current = F, F.stateNode = o, F.memoizedState = {
        element: g,
        isDehydrated: d,
        cache: null,
        transitions: null,
        pendingSuspenseBoundaries: null
      }, Rf(F), o;
    }
    function QA(o, s, d) {
      var g = 3 < arguments.length && arguments[3] !== void 0 ? arguments[3] : null;
      return {
        $$typeof: T,
        key: g == null ? null : "" + g,
        children: o,
        containerInfo: s,
        implementation: d
      };
    }
    function lp(o) {
      if (!o) return mo;
      o = o._reactInternals;
      e: {
        if (Ba(o) !== o || o.tag !== 1) throw Error(r(170));
        var s = o;
        do {
          switch (s.tag) {
            case 3:
              s = s.stateNode.context;
              break e;
            case 1:
              if (Nr(s.type)) {
                s = s.stateNode.__reactInternalMemoizedMergedChildContext;
                break e;
              }
          }
          s = s.return;
        } while (s !== null);
        throw Error(r(171));
      }
      if (o.tag === 1) {
        var d = o.type;
        if (Nr(d)) return U5(o, d, s);
      }
      return s;
    }
    function cp(o, s, d, g, b, F, H, J, re) {
      return o = C1(d, g, true, o, b, F, H, J, re), o.context = lp(null), d = o.current, g = kr(), b = Bo(d), F = _a(g, b), F.callback = s ?? null, Ao(d, F, b), o.current.lanes = b, Fs(o, b, g), Ur(o, g), o;
    }
    function zu(o, s, d, g) {
      var b = s.current, F = kr(), H = Bo(b);
      return d = lp(d), s.context === null ? s.context = d : s.pendingContext = d, s = _a(F, H), s.payload = {
        element: o
      }, g = g === void 0 ? null : g, g !== null && (s.callback = g), o = Ao(b, s, H), o !== null && (Tn(o, b, H, F), du(o, b, H)), H;
    }
    function Uu(o) {
      if (o = o.current, !o.child) return null;
      switch (o.child.tag) {
        case 5:
          return o.child.stateNode;
        default:
          return o.child.stateNode;
      }
    }
    function up(o, s) {
      if (o = o.memoizedState, o !== null && o.dehydrated !== null) {
        var d = o.retryLane;
        o.retryLane = d !== 0 && d < s ? d : s;
      }
    }
    function k1(o, s) {
      up(o, s), (o = o.alternate) && up(o, s);
    }
    function qA() {
      return null;
    }
    var xp = typeof reportError == "function" ? reportError : function(o) {
      console.error(o);
    };
    function D1(o) {
      this._internalRoot = o;
    }
    Tu.prototype.render = D1.prototype.render = function(o) {
      var s = this._internalRoot;
      if (s === null) throw Error(r(409));
      zu(o, s, null, null);
    }, Tu.prototype.unmount = D1.prototype.unmount = function() {
      var o = this._internalRoot;
      if (o !== null) {
        this._internalRoot = null;
        var s = o.containerInfo;
        yi(function() {
          zu(null, o, null, null);
        }), s[Ca] = null;
      }
    };
    function Tu(o) {
      this._internalRoot = o;
    }
    Tu.prototype.unstable_scheduleHydration = function(o) {
      if (o) {
        var s = W9();
        o = {
          blockedOn: null,
          target: o,
          priority: s
        };
        for (var d = 0; d < xo.length && s !== 0 && s < xo[d].priority; d++) ;
        xo.splice(d, 0, o), d === 0 && Y9(o);
      }
    };
    function F1(o) {
      return !(!o || o.nodeType !== 1 && o.nodeType !== 9 && o.nodeType !== 11);
    }
    function Ru(o) {
      return !(!o || o.nodeType !== 1 && o.nodeType !== 9 && o.nodeType !== 11 && (o.nodeType !== 8 || o.nodeValue !== " react-mount-point-unstable "));
    }
    function dp() {
    }
    function GA(o, s, d, g, b) {
      if (b) {
        if (typeof g == "function") {
          var F = g;
          g = function() {
            var ue = Uu(H);
            F.call(ue);
          };
        }
        var H = cp(s, g, o, 0, null, false, false, "", dp);
        return o._reactRootContainer = H, o[Ca] = H.current, Os(o.nodeType === 8 ? o.parentNode : o), yi(), H;
      }
      for (; b = o.lastChild; ) o.removeChild(b);
      if (typeof g == "function") {
        var J = g;
        g = function() {
          var ue = Uu(re);
          J.call(ue);
        };
      }
      var re = C1(o, 0, false, null, null, false, false, "", dp);
      return o._reactRootContainer = re, o[Ca] = re.current, Os(o.nodeType === 8 ? o.parentNode : o), yi(function() {
        zu(s, re, d, g);
      }), re;
    }
    function Ku(o, s, d, g, b) {
      var F = d._reactRootContainer;
      if (F) {
        var H = F;
        if (typeof b == "function") {
          var J = b;
          b = function() {
            var re = Uu(H);
            J.call(re);
          };
        }
        zu(s, H, o, b);
      } else H = GA(d, s, o, b, g);
      return Uu(H);
    }
    G9 = function(o) {
      switch (o.tag) {
        case 3:
          var s = o.stateNode;
          if (s.current.memoizedState.isDehydrated) {
            var d = Ds(s.pendingLanes);
            d !== 0 && (Yd(s, d | 1), Ur(s, xt()), (nt & 6) === 0 && (C0 = xt() + 500, yo()));
          }
          break;
        case 13:
          yi(function() {
            var g = Sa(o, 1);
            if (g !== null) {
              var b = kr();
              Tn(g, o, 1, b);
            }
          }), k1(o, 1);
      }
    }, Xd = function(o) {
      if (o.tag === 13) {
        var s = Sa(o, 134217728);
        if (s !== null) {
          var d = kr();
          Tn(s, o, 134217728, d);
        }
        k1(o, 134217728);
      }
    }, V9 = function(o) {
      if (o.tag === 13) {
        var s = Bo(o), d = Sa(o, s);
        if (d !== null) {
          var g = kr();
          Tn(d, o, s, g);
        }
        k1(o, s);
      }
    }, W9 = function() {
      return lt;
    }, $9 = function(o, s) {
      var d = lt;
      try {
        return lt = o, s();
      } finally {
        lt = d;
      }
    }, ro = function(o, s, d) {
      switch (s) {
        case "input":
          if (ze(o, d), s = d.name, d.type === "radio" && s != null) {
            for (d = o; d.parentNode; ) d = d.parentNode;
            for (d = d.querySelectorAll("input[name=" + JSON.stringify("" + s) + '][type="radio"]'), s = 0; s < d.length; s++) {
              var g = d[s];
              if (g !== o && g.form === o.form) {
                var b = ru(g);
                if (!b) throw Error(r(90));
                Ce(g), ze(g, b);
              }
            }
          }
          break;
        case "textarea":
          Wr(o, d);
          break;
        case "select":
          s = d.value, s != null && rt(o, !!d.multiple, s, false);
      }
    }, Pc = E1, ii = yi;
    var VA = {
      usingClientEntryPoint: false,
      Events: [
        qs,
        d0,
        ru,
        vs,
        Ic,
        E1
      ]
    }, ol = {
      findFiberByHostInstance: ui,
      bundleType: 0,
      version: "18.3.1",
      rendererPackageName: "react-dom"
    }, WA = {
      bundleType: ol.bundleType,
      version: ol.version,
      rendererPackageName: ol.rendererPackageName,
      rendererConfig: ol.rendererConfig,
      overrideHookState: null,
      overrideHookStateDeletePath: null,
      overrideHookStateRenamePath: null,
      overrideProps: null,
      overridePropsDeletePath: null,
      overridePropsRenamePath: null,
      setErrorHandler: null,
      setSuspenseHandler: null,
      scheduleUpdate: null,
      currentDispatcherRef: w.ReactCurrentDispatcher,
      findHostInstanceByFiber: function(o) {
        return o = Te(o), o === null ? null : o.stateNode;
      },
      findFiberByHostInstance: ol.findFiberByHostInstance || qA,
      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 Mu = __REACT_DEVTOOLS_GLOBAL_HOOK__;
      if (!Mu.isDisabled && Mu.supportsFiber) try {
        Tc = Mu.inject(WA), Vn = Mu;
      } catch {
      }
    }
    return Tr.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = VA, Tr.createPortal = function(o, s) {
      var d = 2 < arguments.length && arguments[2] !== void 0 ? arguments[2] : null;
      if (!F1(s)) throw Error(r(200));
      return QA(o, s, null, d);
    }, Tr.createRoot = function(o, s) {
      if (!F1(o)) throw Error(r(299));
      var d = false, g = "", b = xp;
      return s != null && (s.unstable_strictMode === true && (d = true), s.identifierPrefix !== void 0 && (g = s.identifierPrefix), s.onRecoverableError !== void 0 && (b = s.onRecoverableError)), s = C1(o, 1, false, null, null, d, false, g, b), o[Ca] = s.current, Os(o.nodeType === 8 ? o.parentNode : o), new D1(s);
    }, Tr.findDOMNode = function(o) {
      if (o == null) return null;
      if (o.nodeType === 1) return o;
      var s = o._reactInternals;
      if (s === void 0) throw typeof o.render == "function" ? Error(r(188)) : (o = Object.keys(o).join(","), Error(r(268, o)));
      return o = Te(s), o = o === null ? null : o.stateNode, o;
    }, Tr.flushSync = function(o) {
      return yi(o);
    }, Tr.hydrate = function(o, s, d) {
      if (!Ru(s)) throw Error(r(200));
      return Ku(null, o, s, true, d);
    }, Tr.hydrateRoot = function(o, s, d) {
      if (!F1(o)) throw Error(r(405));
      var g = d != null && d.hydratedSources || null, b = false, F = "", H = xp;
      if (d != null && (d.unstable_strictMode === true && (b = true), d.identifierPrefix !== void 0 && (F = d.identifierPrefix), d.onRecoverableError !== void 0 && (H = d.onRecoverableError)), s = cp(s, null, o, 1, d ?? null, b, false, F, H), o[Ca] = s.current, Os(o), g) for (o = 0; o < g.length; o++) d = g[o], b = d._getVersion, b = b(d._source), s.mutableSourceEagerHydrationData == null ? s.mutableSourceEagerHydrationData = [
        d,
        b
      ] : s.mutableSourceEagerHydrationData.push(d, b);
      return new Tu(s);
    }, Tr.render = function(o, s, d) {
      if (!Ru(s)) throw Error(r(200));
      return Ku(null, o, s, false, d);
    }, Tr.unmountComponentAtNode = function(o) {
      if (!Ru(o)) throw Error(r(40));
      return o._reactRootContainer ? (yi(function() {
        Ku(null, null, o, false, function() {
          o._reactRootContainer = null, o[Ca] = null;
        });
      }), true) : false;
    }, Tr.unstable_batchedUpdates = E1, Tr.unstable_renderSubtreeIntoContainer = function(o, s, d, g) {
      if (!Ru(d)) throw Error(r(200));
      if (o == null || o._reactInternals === void 0) throw Error(r(38));
      return Ku(o, s, d, false, g);
    }, Tr.version = "18.3.1-next-f1338f8080-20240426", Tr;
  }
  var vp;
  function ob() {
    if (vp) return P1.exports;
    vp = 1;
    function e() {
      if (!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ > "u" || typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE != "function")) try {
        __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e);
      } catch (t) {
        console.error(t);
      }
    }
    return e(), P1.exports = ab(), P1.exports;
  }
  var Bp;
  function ib() {
    if (Bp) return Ou;
    Bp = 1;
    var e = ob();
    return Ou.createRoot = e.createRoot, Ou.hydrateRoot = e.hydrateRoot, Ou;
  }
  var sb = ib();
  const lb = "modulepreload", cb = function(e, t) {
    return new URL(e, t).href;
  }, Cp = {}, ld = function(t, r, n) {
    let a = Promise.resolve();
    if (r && r.length > 0) {
      let l = function(f) {
        return Promise.all(f.map((h) => Promise.resolve(h).then((p) => ({
          status: "fulfilled",
          value: p
        }), (p) => ({
          status: "rejected",
          reason: p
        }))));
      };
      const c = document.getElementsByTagName("link"), u = document.querySelector("meta[property=csp-nonce]"), x = (u == null ? void 0 : u.nonce) || (u == null ? void 0 : u.getAttribute("nonce"));
      a = l(r.map((f) => {
        if (f = cb(f, n), f in Cp) return;
        Cp[f] = true;
        const h = f.endsWith(".css"), p = h ? '[rel="stylesheet"]' : "";
        if (!!n) for (let B = c.length - 1; B >= 0; B--) {
          const v = c[B];
          if (v.href === f && (!h || v.rel === "stylesheet")) return;
        }
        else if (document.querySelector(`link[href="${f}"]${p}`)) return;
        const y = document.createElement("link");
        if (y.rel = h ? "stylesheet" : lb, h || (y.as = "script"), y.crossOrigin = "", y.href = f, x && y.setAttribute("nonce", x), document.head.appendChild(y), h) return new Promise((B, v) => {
          y.addEventListener("load", B), y.addEventListener("error", () => v(new Error(`Unable to preload CSS for ${f}`)));
        });
      }));
    }
    function i(l) {
      const c = new Event("vite:preloadError", {
        cancelable: true
      });
      if (c.payload = l, window.dispatchEvent(c), !c.defaultPrevented) throw l;
    }
    return a.then((l) => {
      for (const c of l || []) c.status === "rejected" && i(c.reason);
      return t().catch(i);
    });
  };
  const ub = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), hg = (...e) => e.filter((t, r, n) => !!t && t.trim() !== "" && n.indexOf(t) === r).join(" ").trim();
  var xb = {
    xmlns: "http://www.w3.org/2000/svg",
    width: 24,
    height: 24,
    viewBox: "0 0 24 24",
    fill: "none",
    stroke: "currentColor",
    strokeWidth: 2,
    strokeLinecap: "round",
    strokeLinejoin: "round"
  };
  const db = fe.forwardRef(({ color: e = "currentColor", size: t = 24, strokeWidth: r = 2, absoluteStrokeWidth: n, className: a = "", children: i, iconNode: l, ...c }, u) => fe.createElement("svg", {
    ref: u,
    ...xb,
    width: t,
    height: t,
    stroke: e,
    strokeWidth: n ? Number(r) * 24 / Number(t) : r,
    className: hg("lucide", a),
    ...c
  }, [
    ...l.map(([x, f]) => fe.createElement(x, f)),
    ...Array.isArray(i) ? i : [
      i
    ]
  ]));
  const mt = (e, t) => {
    const r = fe.forwardRef(({ className: n, ...a }, i) => fe.createElement(db, {
      ref: i,
      iconNode: t,
      className: hg(`lucide-${ub(e)}`, n),
      ...a
    }));
    return r.displayName = `${e}`, r;
  };
  const fb = mt("ArrowRight", [
    [
      "path",
      {
        d: "M5 12h14",
        key: "1ays0h"
      }
    ],
    [
      "path",
      {
        d: "m12 5 7 7-7 7",
        key: "xquz4c"
      }
    ]
  ]);
  const Nx = mt("Camera", [
    [
      "path",
      {
        d: "M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",
        key: "1tc9qg"
      }
    ],
    [
      "circle",
      {
        cx: "12",
        cy: "13",
        r: "3",
        key: "1vg3eu"
      }
    ]
  ]);
  const Wo = mt("CircleAlert", [
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "10",
        key: "1mglay"
      }
    ],
    [
      "line",
      {
        x1: "12",
        x2: "12",
        y1: "8",
        y2: "12",
        key: "1pkeuh"
      }
    ],
    [
      "line",
      {
        x1: "12",
        x2: "12.01",
        y1: "16",
        y2: "16",
        key: "4dfq90"
      }
    ]
  ]);
  const ha = mt("CircleCheck", [
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "10",
        key: "1mglay"
      }
    ],
    [
      "path",
      {
        d: "m9 12 2 2 4-4",
        key: "dzmm74"
      }
    ]
  ]);
  const hb = mt("Clipboard", [
    [
      "rect",
      {
        width: "8",
        height: "4",
        x: "8",
        y: "2",
        rx: "1",
        ry: "1",
        key: "tgr4d6"
      }
    ],
    [
      "path",
      {
        d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",
        key: "116196"
      }
    ]
  ]);
  const pb = mt("Copy", [
    [
      "rect",
      {
        width: "14",
        height: "14",
        x: "8",
        y: "8",
        rx: "2",
        ry: "2",
        key: "17jyea"
      }
    ],
    [
      "path",
      {
        d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
        key: "zix9uf"
      }
    ]
  ]);
  const px = mt("Dices", [
    [
      "rect",
      {
        width: "12",
        height: "12",
        x: "2",
        y: "10",
        rx: "2",
        ry: "2",
        key: "6agr2n"
      }
    ],
    [
      "path",
      {
        d: "m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6",
        key: "1o487t"
      }
    ],
    [
      "path",
      {
        d: "M6 18h.01",
        key: "uhywen"
      }
    ],
    [
      "path",
      {
        d: "M10 14h.01",
        key: "ssrbsk"
      }
    ],
    [
      "path",
      {
        d: "M15 6h.01",
        key: "cblpky"
      }
    ],
    [
      "path",
      {
        d: "M18 9h.01",
        key: "2061c0"
      }
    ]
  ]);
  const gb = mt("Download", [
    [
      "path",
      {
        d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
        key: "ih7n3h"
      }
    ],
    [
      "polyline",
      {
        points: "7 10 12 15 17 10",
        key: "2ggqvy"
      }
    ],
    [
      "line",
      {
        x1: "12",
        x2: "12",
        y1: "15",
        y2: "3",
        key: "1vk2je"
      }
    ]
  ]);
  const mb = mt("ExternalLink", [
    [
      "path",
      {
        d: "M15 3h6v6",
        key: "1q9fwt"
      }
    ],
    [
      "path",
      {
        d: "M10 14 21 3",
        key: "gplh6r"
      }
    ],
    [
      "path",
      {
        d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",
        key: "a6xqqp"
      }
    ]
  ]);
  const n9 = mt("EyeOff", [
    [
      "path",
      {
        d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
        key: "ct8e1f"
      }
    ],
    [
      "path",
      {
        d: "M14.084 14.158a3 3 0 0 1-4.242-4.242",
        key: "151rxh"
      }
    ],
    [
      "path",
      {
        d: "M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",
        key: "13bj9a"
      }
    ],
    [
      "path",
      {
        d: "m2 2 20 20",
        key: "1ooewy"
      }
    ]
  ]);
  const yb = mt("Eye", [
    [
      "path",
      {
        d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
        key: "1nclc0"
      }
    ],
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "3",
        key: "1v7zrd"
      }
    ]
  ]);
  const kp = mt("FileKey", [
    [
      "path",
      {
        d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",
        key: "1rqfz7"
      }
    ],
    [
      "circle",
      {
        cx: "10",
        cy: "16",
        r: "2",
        key: "4ckbqe"
      }
    ],
    [
      "path",
      {
        d: "m16 10-4.5 4.5",
        key: "7p3ebg"
      }
    ],
    [
      "path",
      {
        d: "m15 11 1 1",
        key: "1bsyx3"
      }
    ]
  ]);
  const Eb = mt("Globe", [
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "10",
        key: "1mglay"
      }
    ],
    [
      "path",
      {
        d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",
        key: "13o1zl"
      }
    ],
    [
      "path",
      {
        d: "M2 12h20",
        key: "9i4pu4"
      }
    ]
  ]);
  const Ab = mt("HardDrive", [
    [
      "line",
      {
        x1: "22",
        x2: "2",
        y1: "12",
        y2: "12",
        key: "1y58io"
      }
    ],
    [
      "path",
      {
        d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",
        key: "oot6mr"
      }
    ],
    [
      "line",
      {
        x1: "6",
        x2: "6.01",
        y1: "16",
        y2: "16",
        key: "sgf278"
      }
    ],
    [
      "line",
      {
        x1: "10",
        x2: "10.01",
        y1: "16",
        y2: "16",
        key: "1l4acy"
      }
    ]
  ]);
  const Dl = mt("Info", [
    [
      "circle",
      {
        cx: "12",
        cy: "12",
        r: "10",
        key: "1mglay"
      }
    ],
    [
      "path",
      {
        d: "M12 16v-4",
        key: "1dtifu"
      }
    ],
    [
      "path",
      {
        d: "M12 8h.01",
        key: "e9boi3"
      }
    ]
  ]);
  const bb = mt("Key", [
    [
      "path",
      {
        d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",
        key: "g0fldk"
      }
    ],
    [
      "path",
      {
        d: "m21 2-9.6 9.6",
        key: "1j0ho8"
      }
    ],
    [
      "circle",
      {
        cx: "7.5",
        cy: "15.5",
        r: "5.5",
        key: "yqb3hr"
      }
    ]
  ]);
  const wb = mt("LockOpen", [
    [
      "rect",
      {
        width: "18",
        height: "11",
        x: "3",
        y: "11",
        rx: "2",
        ry: "2",
        key: "1w4ew1"
      }
    ],
    [
      "path",
      {
        d: "M7 11V7a5 5 0 0 1 9.9-1",
        key: "1mm8w8"
      }
    ]
  ]);
  const ll = mt("Lock", [
    [
      "rect",
      {
        width: "18",
        height: "11",
        x: "3",
        y: "11",
        rx: "2",
        ry: "2",
        key: "1w4ew1"
      }
    ],
    [
      "path",
      {
        d: "M7 11V7a5 5 0 0 1 10 0v4",
        key: "fwvmzm"
      }
    ]
  ]);
  const gx = mt("Mic", [
    [
      "path",
      {
        d: "M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",
        key: "131961"
      }
    ],
    [
      "path",
      {
        d: "M19 10v2a7 7 0 0 1-14 0v-2",
        key: "1vc78b"
      }
    ],
    [
      "line",
      {
        x1: "12",
        x2: "12",
        y1: "19",
        y2: "22",
        key: "x3vr5v"
      }
    ]
  ]);
  const vb = mt("Plus", [
    [
      "path",
      {
        d: "M5 12h14",
        key: "1ays0h"
      }
    ],
    [
      "path",
      {
        d: "M12 5v14",
        key: "s699le"
      }
    ]
  ]);
  const jx = mt("QrCode", [
    [
      "rect",
      {
        width: "5",
        height: "5",
        x: "3",
        y: "3",
        rx: "1",
        key: "1tu5fj"
      }
    ],
    [
      "rect",
      {
        width: "5",
        height: "5",
        x: "16",
        y: "3",
        rx: "1",
        key: "1v8r4q"
      }
    ],
    [
      "rect",
      {
        width: "5",
        height: "5",
        x: "3",
        y: "16",
        rx: "1",
        key: "1x03jg"
      }
    ],
    [
      "path",
      {
        d: "M21 16h-3a2 2 0 0 0-2 2v3",
        key: "177gqh"
      }
    ],
    [
      "path",
      {
        d: "M21 21v.01",
        key: "ents32"
      }
    ],
    [
      "path",
      {
        d: "M12 7v3a2 2 0 0 1-2 2H7",
        key: "8crl2c"
      }
    ],
    [
      "path",
      {
        d: "M3 12h.01",
        key: "nlz23k"
      }
    ],
    [
      "path",
      {
        d: "M12 3h.01",
        key: "n36tog"
      }
    ],
    [
      "path",
      {
        d: "M12 16v.01",
        key: "133mhm"
      }
    ],
    [
      "path",
      {
        d: "M16 12h1",
        key: "1slzba"
      }
    ],
    [
      "path",
      {
        d: "M21 12v.01",
        key: "1lwtk9"
      }
    ],
    [
      "path",
      {
        d: "M12 21v-1",
        key: "1880an"
      }
    ]
  ]);
  const zx = mt("RefreshCw", [
    [
      "path",
      {
        d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",
        key: "v9h5vc"
      }
    ],
    [
      "path",
      {
        d: "M21 3v5h-5",
        key: "1q7to0"
      }
    ],
    [
      "path",
      {
        d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",
        key: "3uifl3"
      }
    ],
    [
      "path",
      {
        d: "M8 16H3v5",
        key: "1cv678"
      }
    ]
  ]);
  const Bb = mt("Shield", [
    [
      "path",
      {
        d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
        key: "oel41y"
      }
    ]
  ]);
  const Cb = mt("Sparkles", [
    [
      "path",
      {
        d: "M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",
        key: "4pj2yx"
      }
    ],
    [
      "path",
      {
        d: "M20 3v4",
        key: "1olli1"
      }
    ],
    [
      "path",
      {
        d: "M22 5h-4",
        key: "1gvqau"
      }
    ],
    [
      "path",
      {
        d: "M4 17v2",
        key: "vumght"
      }
    ],
    [
      "path",
      {
        d: "M5 18H3",
        key: "zchphs"
      }
    ]
  ]);
  const mx = mt("TriangleAlert", [
    [
      "path",
      {
        d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
        key: "wmoenq"
      }
    ],
    [
      "path",
      {
        d: "M12 9v4",
        key: "juzpu7"
      }
    ],
    [
      "path",
      {
        d: "M12 17h.01",
        key: "p32p05"
      }
    ]
  ]);
  const kb = mt("Upload", [
    [
      "path",
      {
        d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
        key: "ih7n3h"
      }
    ],
    [
      "polyline",
      {
        points: "17 8 12 3 7 8",
        key: "t8dd8p"
      }
    ],
    [
      "line",
      {
        x1: "12",
        x2: "12",
        y1: "3",
        y2: "15",
        key: "widbto"
      }
    ]
  ]);
  const ds = mt("X", [
    [
      "path",
      {
        d: "M18 6 6 18",
        key: "1bl5f8"
      }
    ],
    [
      "path",
      {
        d: "m6 6 12 12",
        key: "d8bk6v"
      }
    ]
  ]), Dp = ({ value: e, onChange: t, placeholder: r, label: n, icon: a, readOnly: i = false }) => {
    const [l, c] = fe.useState(false), u = (h) => {
      i || (h.preventDefault(), c(true));
    }, x = (h) => {
      i || (h.preventDefault(), c(false));
    }, f = (h) => {
      if (i) return;
      h.preventDefault(), c(false);
      const p = h.dataTransfer.files[0];
      if (p) {
        const m = new FileReader();
        m.onload = (y) => {
          var _a;
          ((_a = y.target) == null ? void 0 : _a.result) && t(y.target.result);
        }, m.readAsText(p);
      }
    };
    return E.jsxs("div", {
      className: "space-y-2",
      children: [
        E.jsxs("label", {
          className: "text-[12px] font-bold text-[#00f0ff] uppercase tracking-widest flex items-center justify-between",
          style: {
            textShadow: "0 0 10px rgba(0,240,255,0.7)"
          },
          children: [
            E.jsxs("span", {
              className: "flex items-center gap-2",
              children: [
                a && E.jsx(a, {
                  size: 14
                }),
                " ",
                n
              ]
            }),
            !i && E.jsx("span", {
              className: "text-[10px] text-[#6ef3f7] font-normal bg-[#16213e] px-2 py-0.5 rounded-full border border-[#00f0ff]/30",
              children: "Drag & Drop .asc file"
            })
          ]
        }),
        E.jsxs("div", {
          className: `relative transition-all duration-200 ${l && !i ? "scale-[1.01]" : ""}`,
          onDragOver: u,
          onDragLeave: x,
          onDrop: f,
          children: [
            E.jsx("textarea", {
              className: `w-full h-40 p-3 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-xl text-xs font-mono text-[#00f0ff] placeholder-[#9d84b7] transition-colors resize-none focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] ${l && !i ? "border-[#ff006e] bg-[#16213e]" : "border-[#00f0ff]/50"} ${i ? "blur-sm select-none" : ""}`,
              placeholder: r,
              value: e,
              onChange: (h) => t(h.target.value),
              readOnly: i
            }),
            l && !i && E.jsx("div", {
              className: "absolute inset-0 flex items-center justify-center bg-[#16213e]/90 rounded-xl border-2 border-dashed border-[#ff006e] pointer-events-none z-10",
              children: E.jsxs("div", {
                className: "text-[#ff006e] font-bold flex flex-col items-center animate-bounce",
                style: {
                  textShadow: "0 0 10px rgba(255,0,110,0.5)"
                },
                children: [
                  E.jsx(kb, {
                    size: 24
                  }),
                  E.jsx("span", {
                    className: "text-sm mt-2",
                    children: "Drop Key File Here"
                  })
                ]
              })
            })
          ]
        })
      ]
    });
  };
  var D0 = {}, z1, Fp;
  function Db() {
    return Fp || (Fp = 1, z1 = function() {
      return typeof Promise == "function" && Promise.prototype && Promise.prototype.then;
    }), z1;
  }
  var U1 = {}, Fo = {}, Sp;
  function Zi() {
    if (Sp) return Fo;
    Sp = 1;
    let e;
    const t = [
      0,
      26,
      44,
      70,
      100,
      134,
      172,
      196,
      242,
      292,
      346,
      404,
      466,
      532,
      581,
      655,
      733,
      815,
      901,
      991,
      1085,
      1156,
      1258,
      1364,
      1474,
      1588,
      1706,
      1828,
      1921,
      2051,
      2185,
      2323,
      2465,
      2611,
      2761,
      2876,
      3034,
      3196,
      3362,
      3532,
      3706
    ];
    return Fo.getSymbolSize = function(n) {
      if (!n) throw new Error('"version" cannot be null or undefined');
      if (n < 1 || n > 40) throw new Error('"version" should be in range from 1 to 40');
      return n * 4 + 17;
    }, Fo.getSymbolTotalCodewords = function(n) {
      return t[n];
    }, Fo.getBCHDigit = function(r) {
      let n = 0;
      for (; r !== 0; ) n++, r >>>= 1;
      return n;
    }, Fo.setToSJISFunction = function(n) {
      if (typeof n != "function") throw new Error('"toSJISFunc" is not a valid function.');
      e = n;
    }, Fo.isKanjiModeEnabled = function() {
      return typeof e < "u";
    }, Fo.toSJIS = function(n) {
      return e(n);
    }, Fo;
  }
  var T1 = {}, _p;
  function a9() {
    return _p || (_p = 1, (function(e) {
      e.L = {
        bit: 1
      }, e.M = {
        bit: 0
      }, e.Q = {
        bit: 3
      }, e.H = {
        bit: 2
      };
      function t(r) {
        if (typeof r != "string") throw new Error("Param is not a string");
        switch (r.toLowerCase()) {
          case "l":
          case "low":
            return e.L;
          case "m":
          case "medium":
            return e.M;
          case "q":
          case "quartile":
            return e.Q;
          case "h":
          case "high":
            return e.H;
          default:
            throw new Error("Unknown EC Level: " + r);
        }
      }
      e.isValid = function(n) {
        return n && typeof n.bit < "u" && n.bit >= 0 && n.bit < 4;
      }, e.from = function(n, a) {
        if (e.isValid(n)) return n;
        try {
          return t(n);
        } catch {
          return a;
        }
      };
    })(T1)), T1;
  }
  var R1, Ip;
  function Fb() {
    if (Ip) return R1;
    Ip = 1;
    function e() {
      this.buffer = [], this.length = 0;
    }
    return e.prototype = {
      get: function(t) {
        const r = Math.floor(t / 8);
        return (this.buffer[r] >>> 7 - t % 8 & 1) === 1;
      },
      put: function(t, r) {
        for (let n = 0; n < r; n++) this.putBit((t >>> r - n - 1 & 1) === 1);
      },
      getLengthInBits: function() {
        return this.length;
      },
      putBit: function(t) {
        const r = Math.floor(this.length / 8);
        this.buffer.length <= r && this.buffer.push(0), t && (this.buffer[r] |= 128 >>> this.length % 8), this.length++;
      }
    }, R1 = e, R1;
  }
  var K1, Pp;
  function Sb() {
    if (Pp) return K1;
    Pp = 1;
    function e(t) {
      if (!t || t < 1) throw new Error("BitMatrix size must be defined and greater than 0");
      this.size = t, this.data = new Uint8Array(t * t), this.reservedBit = new Uint8Array(t * t);
    }
    return e.prototype.set = function(t, r, n, a) {
      const i = t * this.size + r;
      this.data[i] = n, a && (this.reservedBit[i] = true);
    }, e.prototype.get = function(t, r) {
      return this.data[t * this.size + r];
    }, e.prototype.xor = function(t, r, n) {
      this.data[t * this.size + r] ^= n;
    }, e.prototype.isReserved = function(t, r) {
      return this.reservedBit[t * this.size + r];
    }, K1 = e, K1;
  }
  var M1 = {}, Np;
  function _b() {
    return Np || (Np = 1, (function(e) {
      const t = Zi().getSymbolSize;
      e.getRowColCoords = function(n) {
        if (n === 1) return [];
        const a = Math.floor(n / 7) + 2, i = t(n), l = i === 145 ? 26 : Math.ceil((i - 13) / (2 * a - 2)) * 2, c = [
          i - 7
        ];
        for (let u = 1; u < a - 1; u++) c[u] = c[u - 1] - l;
        return c.push(6), c.reverse();
      }, e.getPositions = function(n) {
        const a = [], i = e.getRowColCoords(n), l = i.length;
        for (let c = 0; c < l; c++) for (let u = 0; u < l; u++) c === 0 && u === 0 || c === 0 && u === l - 1 || c === l - 1 && u === 0 || a.push([
          i[c],
          i[u]
        ]);
        return a;
      };
    })(M1)), M1;
  }
  var L1 = {}, jp;
  function Ib() {
    if (jp) return L1;
    jp = 1;
    const e = Zi().getSymbolSize, t = 7;
    return L1.getPositions = function(n) {
      const a = e(n);
      return [
        [
          0,
          0
        ],
        [
          a - t,
          0
        ],
        [
          0,
          a - t
        ]
      ];
    }, L1;
  }
  var O1 = {}, zp;
  function Pb() {
    return zp || (zp = 1, (function(e) {
      e.Patterns = {
        PATTERN000: 0,
        PATTERN001: 1,
        PATTERN010: 2,
        PATTERN011: 3,
        PATTERN100: 4,
        PATTERN101: 5,
        PATTERN110: 6,
        PATTERN111: 7
      };
      const t = {
        N1: 3,
        N2: 3,
        N3: 40,
        N4: 10
      };
      e.isValid = function(a) {
        return a != null && a !== "" && !isNaN(a) && a >= 0 && a <= 7;
      }, e.from = function(a) {
        return e.isValid(a) ? parseInt(a, 10) : void 0;
      }, e.getPenaltyN1 = function(a) {
        const i = a.size;
        let l = 0, c = 0, u = 0, x = null, f = null;
        for (let h = 0; h < i; h++) {
          c = u = 0, x = f = null;
          for (let p = 0; p < i; p++) {
            let m = a.get(h, p);
            m === x ? c++ : (c >= 5 && (l += t.N1 + (c - 5)), x = m, c = 1), m = a.get(p, h), m === f ? u++ : (u >= 5 && (l += t.N1 + (u - 5)), f = m, u = 1);
          }
          c >= 5 && (l += t.N1 + (c - 5)), u >= 5 && (l += t.N1 + (u - 5));
        }
        return l;
      }, e.getPenaltyN2 = function(a) {
        const i = a.size;
        let l = 0;
        for (let c = 0; c < i - 1; c++) for (let u = 0; u < i - 1; u++) {
          const x = a.get(c, u) + a.get(c, u + 1) + a.get(c + 1, u) + a.get(c + 1, u + 1);
          (x === 4 || x === 0) && l++;
        }
        return l * t.N2;
      }, e.getPenaltyN3 = function(a) {
        const i = a.size;
        let l = 0, c = 0, u = 0;
        for (let x = 0; x < i; x++) {
          c = u = 0;
          for (let f = 0; f < i; f++) c = c << 1 & 2047 | a.get(x, f), f >= 10 && (c === 1488 || c === 93) && l++, u = u << 1 & 2047 | a.get(f, x), f >= 10 && (u === 1488 || u === 93) && l++;
        }
        return l * t.N3;
      }, e.getPenaltyN4 = function(a) {
        let i = 0;
        const l = a.data.length;
        for (let u = 0; u < l; u++) i += a.data[u];
        return Math.abs(Math.ceil(i * 100 / l / 5) - 10) * t.N4;
      };
      function r(n, a, i) {
        switch (n) {
          case e.Patterns.PATTERN000:
            return (a + i) % 2 === 0;
          case e.Patterns.PATTERN001:
            return a % 2 === 0;
          case e.Patterns.PATTERN010:
            return i % 3 === 0;
          case e.Patterns.PATTERN011:
            return (a + i) % 3 === 0;
          case e.Patterns.PATTERN100:
            return (Math.floor(a / 2) + Math.floor(i / 3)) % 2 === 0;
          case e.Patterns.PATTERN101:
            return a * i % 2 + a * i % 3 === 0;
          case e.Patterns.PATTERN110:
            return (a * i % 2 + a * i % 3) % 2 === 0;
          case e.Patterns.PATTERN111:
            return (a * i % 3 + (a + i) % 2) % 2 === 0;
          default:
            throw new Error("bad maskPattern:" + n);
        }
      }
      e.applyMask = function(a, i) {
        const l = i.size;
        for (let c = 0; c < l; c++) for (let u = 0; u < l; u++) i.isReserved(u, c) || i.xor(u, c, r(a, u, c));
      }, e.getBestMask = function(a, i) {
        const l = Object.keys(e.Patterns).length;
        let c = 0, u = 1 / 0;
        for (let x = 0; x < l; x++) {
          i(x), e.applyMask(x, a);
          const f = e.getPenaltyN1(a) + e.getPenaltyN2(a) + e.getPenaltyN3(a) + e.getPenaltyN4(a);
          e.applyMask(x, a), f < u && (u = f, c = x);
        }
        return c;
      };
    })(O1)), O1;
  }
  var Hu = {}, Up;
  function pg() {
    if (Up) return Hu;
    Up = 1;
    const e = a9(), t = [
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      2,
      2,
      1,
      2,
      2,
      4,
      1,
      2,
      4,
      4,
      2,
      4,
      4,
      4,
      2,
      4,
      6,
      5,
      2,
      4,
      6,
      6,
      2,
      5,
      8,
      8,
      4,
      5,
      8,
      8,
      4,
      5,
      8,
      11,
      4,
      8,
      10,
      11,
      4,
      9,
      12,
      16,
      4,
      9,
      16,
      16,
      6,
      10,
      12,
      18,
      6,
      10,
      17,
      16,
      6,
      11,
      16,
      19,
      6,
      13,
      18,
      21,
      7,
      14,
      21,
      25,
      8,
      16,
      20,
      25,
      8,
      17,
      23,
      25,
      9,
      17,
      23,
      34,
      9,
      18,
      25,
      30,
      10,
      20,
      27,
      32,
      12,
      21,
      29,
      35,
      12,
      23,
      34,
      37,
      12,
      25,
      34,
      40,
      13,
      26,
      35,
      42,
      14,
      28,
      38,
      45,
      15,
      29,
      40,
      48,
      16,
      31,
      43,
      51,
      17,
      33,
      45,
      54,
      18,
      35,
      48,
      57,
      19,
      37,
      51,
      60,
      19,
      38,
      53,
      63,
      20,
      40,
      56,
      66,
      21,
      43,
      59,
      70,
      22,
      45,
      62,
      74,
      24,
      47,
      65,
      77,
      25,
      49,
      68,
      81
    ], r = [
      7,
      10,
      13,
      17,
      10,
      16,
      22,
      28,
      15,
      26,
      36,
      44,
      20,
      36,
      52,
      64,
      26,
      48,
      72,
      88,
      36,
      64,
      96,
      112,
      40,
      72,
      108,
      130,
      48,
      88,
      132,
      156,
      60,
      110,
      160,
      192,
      72,
      130,
      192,
      224,
      80,
      150,
      224,
      264,
      96,
      176,
      260,
      308,
      104,
      198,
      288,
      352,
      120,
      216,
      320,
      384,
      132,
      240,
      360,
      432,
      144,
      280,
      408,
      480,
      168,
      308,
      448,
      532,
      180,
      338,
      504,
      588,
      196,
      364,
      546,
      650,
      224,
      416,
      600,
      700,
      224,
      442,
      644,
      750,
      252,
      476,
      690,
      816,
      270,
      504,
      750,
      900,
      300,
      560,
      810,
      960,
      312,
      588,
      870,
      1050,
      336,
      644,
      952,
      1110,
      360,
      700,
      1020,
      1200,
      390,
      728,
      1050,
      1260,
      420,
      784,
      1140,
      1350,
      450,
      812,
      1200,
      1440,
      480,
      868,
      1290,
      1530,
      510,
      924,
      1350,
      1620,
      540,
      980,
      1440,
      1710,
      570,
      1036,
      1530,
      1800,
      570,
      1064,
      1590,
      1890,
      600,
      1120,
      1680,
      1980,
      630,
      1204,
      1770,
      2100,
      660,
      1260,
      1860,
      2220,
      720,
      1316,
      1950,
      2310,
      750,
      1372,
      2040,
      2430
    ];
    return Hu.getBlocksCount = function(a, i) {
      switch (i) {
        case e.L:
          return t[(a - 1) * 4 + 0];
        case e.M:
          return t[(a - 1) * 4 + 1];
        case e.Q:
          return t[(a - 1) * 4 + 2];
        case e.H:
          return t[(a - 1) * 4 + 3];
        default:
          return;
      }
    }, Hu.getTotalCodewordsCount = function(a, i) {
      switch (i) {
        case e.L:
          return r[(a - 1) * 4 + 0];
        case e.M:
          return r[(a - 1) * 4 + 1];
        case e.Q:
          return r[(a - 1) * 4 + 2];
        case e.H:
          return r[(a - 1) * 4 + 3];
        default:
          return;
      }
    }, Hu;
  }
  var H1 = {}, cl = {}, Tp;
  function Nb() {
    if (Tp) return cl;
    Tp = 1;
    const e = new Uint8Array(512), t = new Uint8Array(256);
    return (function() {
      let n = 1;
      for (let a = 0; a < 255; a++) e[a] = n, t[n] = a, n <<= 1, n & 256 && (n ^= 285);
      for (let a = 255; a < 512; a++) e[a] = e[a - 255];
    })(), cl.log = function(n) {
      if (n < 1) throw new Error("log(" + n + ")");
      return t[n];
    }, cl.exp = function(n) {
      return e[n];
    }, cl.mul = function(n, a) {
      return n === 0 || a === 0 ? 0 : e[t[n] + t[a]];
    }, cl;
  }
  var Rp;
  function jb() {
    return Rp || (Rp = 1, (function(e) {
      const t = Nb();
      e.mul = function(n, a) {
        const i = new Uint8Array(n.length + a.length - 1);
        for (let l = 0; l < n.length; l++) for (let c = 0; c < a.length; c++) i[l + c] ^= t.mul(n[l], a[c]);
        return i;
      }, e.mod = function(n, a) {
        let i = new Uint8Array(n);
        for (; i.length - a.length >= 0; ) {
          const l = i[0];
          for (let u = 0; u < a.length; u++) i[u] ^= t.mul(a[u], l);
          let c = 0;
          for (; c < i.length && i[c] === 0; ) c++;
          i = i.slice(c);
        }
        return i;
      }, e.generateECPolynomial = function(n) {
        let a = new Uint8Array([
          1
        ]);
        for (let i = 0; i < n; i++) a = e.mul(a, new Uint8Array([
          1,
          t.exp(i)
        ]));
        return a;
      };
    })(H1)), H1;
  }
  var Q1, Kp;
  function zb() {
    if (Kp) return Q1;
    Kp = 1;
    const e = jb();
    function t(r) {
      this.genPoly = void 0, this.degree = r, this.degree && this.initialize(this.degree);
    }
    return t.prototype.initialize = function(n) {
      this.degree = n, this.genPoly = e.generateECPolynomial(this.degree);
    }, t.prototype.encode = function(n) {
      if (!this.genPoly) throw new Error("Encoder not initialized");
      const a = new Uint8Array(n.length + this.degree);
      a.set(n);
      const i = e.mod(a, this.genPoly), l = this.degree - i.length;
      if (l > 0) {
        const c = new Uint8Array(this.degree);
        return c.set(i, l), c;
      }
      return i;
    }, Q1 = t, Q1;
  }
  var q1 = {}, G1 = {}, V1 = {}, Mp;
  function gg() {
    return Mp || (Mp = 1, V1.isValid = function(t) {
      return !isNaN(t) && t >= 1 && t <= 40;
    }), V1;
  }
  var Xn = {}, Lp;
  function mg() {
    if (Lp) return Xn;
    Lp = 1;
    const e = "[0-9]+", t = "[A-Z $%*+\\-./:]+";
    let r = "(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";
    r = r.replace(/u/g, "\\u");
    const n = "(?:(?![A-Z0-9 $%*+\\-./:]|" + r + `)(?:.|[\r
]))+`;
    Xn.KANJI = new RegExp(r, "g"), Xn.BYTE_KANJI = new RegExp("[^A-Z0-9 $%*+\\-./:]+", "g"), Xn.BYTE = new RegExp(n, "g"), Xn.NUMERIC = new RegExp(e, "g"), Xn.ALPHANUMERIC = new RegExp(t, "g");
    const a = new RegExp("^" + r + "$"), i = new RegExp("^" + e + "$"), l = new RegExp("^[A-Z0-9 $%*+\\-./:]+$");
    return Xn.testKanji = function(u) {
      return a.test(u);
    }, Xn.testNumeric = function(u) {
      return i.test(u);
    }, Xn.testAlphanumeric = function(u) {
      return l.test(u);
    }, Xn;
  }
  var Op;
  function Yi() {
    return Op || (Op = 1, (function(e) {
      const t = gg(), r = mg();
      e.NUMERIC = {
        id: "Numeric",
        bit: 1,
        ccBits: [
          10,
          12,
          14
        ]
      }, e.ALPHANUMERIC = {
        id: "Alphanumeric",
        bit: 2,
        ccBits: [
          9,
          11,
          13
        ]
      }, e.BYTE = {
        id: "Byte",
        bit: 4,
        ccBits: [
          8,
          16,
          16
        ]
      }, e.KANJI = {
        id: "Kanji",
        bit: 8,
        ccBits: [
          8,
          10,
          12
        ]
      }, e.MIXED = {
        bit: -1
      }, e.getCharCountIndicator = function(i, l) {
        if (!i.ccBits) throw new Error("Invalid mode: " + i);
        if (!t.isValid(l)) throw new Error("Invalid version: " + l);
        return l >= 1 && l < 10 ? i.ccBits[0] : l < 27 ? i.ccBits[1] : i.ccBits[2];
      }, e.getBestModeForData = function(i) {
        return r.testNumeric(i) ? e.NUMERIC : r.testAlphanumeric(i) ? e.ALPHANUMERIC : r.testKanji(i) ? e.KANJI : e.BYTE;
      }, e.toString = function(i) {
        if (i && i.id) return i.id;
        throw new Error("Invalid mode");
      }, e.isValid = function(i) {
        return i && i.bit && i.ccBits;
      };
      function n(a) {
        if (typeof a != "string") throw new Error("Param is not a string");
        switch (a.toLowerCase()) {
          case "numeric":
            return e.NUMERIC;
          case "alphanumeric":
            return e.ALPHANUMERIC;
          case "kanji":
            return e.KANJI;
          case "byte":
            return e.BYTE;
          default:
            throw new Error("Unknown mode: " + a);
        }
      }
      e.from = function(i, l) {
        if (e.isValid(i)) return i;
        try {
          return n(i);
        } catch {
          return l;
        }
      };
    })(G1)), G1;
  }
  var Hp;
  function Ub() {
    return Hp || (Hp = 1, (function(e) {
      const t = Zi(), r = pg(), n = a9(), a = Yi(), i = gg(), l = 7973, c = t.getBCHDigit(l);
      function u(p, m, y) {
        for (let B = 1; B <= 40; B++) if (m <= e.getCapacity(B, y, p)) return B;
      }
      function x(p, m) {
        return a.getCharCountIndicator(p, m) + 4;
      }
      function f(p, m) {
        let y = 0;
        return p.forEach(function(B) {
          const v = x(B.mode, m);
          y += v + B.getBitsLength();
        }), y;
      }
      function h(p, m) {
        for (let y = 1; y <= 40; y++) if (f(p, y) <= e.getCapacity(y, m, a.MIXED)) return y;
      }
      e.from = function(m, y) {
        return i.isValid(m) ? parseInt(m, 10) : y;
      }, e.getCapacity = function(m, y, B) {
        if (!i.isValid(m)) throw new Error("Invalid QR Code version");
        typeof B > "u" && (B = a.BYTE);
        const v = t.getSymbolTotalCodewords(m), D = r.getTotalCodewordsCount(m, y), P = (v - D) * 8;
        if (B === a.MIXED) return P;
        const k = P - x(B, m);
        switch (B) {
          case a.NUMERIC:
            return Math.floor(k / 10 * 3);
          case a.ALPHANUMERIC:
            return Math.floor(k / 11 * 2);
          case a.KANJI:
            return Math.floor(k / 13);
          case a.BYTE:
          default:
            return Math.floor(k / 8);
        }
      }, e.getBestVersionForData = function(m, y) {
        let B;
        const v = n.from(y, n.M);
        if (Array.isArray(m)) {
          if (m.length > 1) return h(m, v);
          if (m.length === 0) return 1;
          B = m[0];
        } else B = m;
        return u(B.mode, B.getLength(), v);
      }, e.getEncodedBits = function(m) {
        if (!i.isValid(m) || m < 7) throw new Error("Invalid QR Code version");
        let y = m << 12;
        for (; t.getBCHDigit(y) - c >= 0; ) y ^= l << t.getBCHDigit(y) - c;
        return m << 12 | y;
      };
    })(q1)), q1;
  }
  var W1 = {}, Qp;
  function Tb() {
    if (Qp) return W1;
    Qp = 1;
    const e = Zi(), t = 1335, r = 21522, n = e.getBCHDigit(t);
    return W1.getEncodedBits = function(i, l) {
      const c = i.bit << 3 | l;
      let u = c << 10;
      for (; e.getBCHDigit(u) - n >= 0; ) u ^= t << e.getBCHDigit(u) - n;
      return (c << 10 | u) ^ r;
    }, W1;
  }
  var $1 = {}, Z1, qp;
  function Rb() {
    if (qp) return Z1;
    qp = 1;
    const e = Yi();
    function t(r) {
      this.mode = e.NUMERIC, this.data = r.toString();
    }
    return t.getBitsLength = function(n) {
      return 10 * Math.floor(n / 3) + (n % 3 ? n % 3 * 3 + 1 : 0);
    }, t.prototype.getLength = function() {
      return this.data.length;
    }, t.prototype.getBitsLength = function() {
      return t.getBitsLength(this.data.length);
    }, t.prototype.write = function(n) {
      let a, i, l;
      for (a = 0; a + 3 <= this.data.length; a += 3) i = this.data.substr(a, 3), l = parseInt(i, 10), n.put(l, 10);
      const c = this.data.length - a;
      c > 0 && (i = this.data.substr(a), l = parseInt(i, 10), n.put(l, c * 3 + 1));
    }, Z1 = t, Z1;
  }
  var Y1, Gp;
  function Kb() {
    if (Gp) return Y1;
    Gp = 1;
    const e = Yi(), t = [
      "0",
      "1",
      "2",
      "3",
      "4",
      "5",
      "6",
      "7",
      "8",
      "9",
      "A",
      "B",
      "C",
      "D",
      "E",
      "F",
      "G",
      "H",
      "I",
      "J",
      "K",
      "L",
      "M",
      "N",
      "O",
      "P",
      "Q",
      "R",
      "S",
      "T",
      "U",
      "V",
      "W",
      "X",
      "Y",
      "Z",
      " ",
      "$",
      "%",
      "*",
      "+",
      "-",
      ".",
      "/",
      ":"
    ];
    function r(n) {
      this.mode = e.ALPHANUMERIC, this.data = n;
    }
    return r.getBitsLength = function(a) {
      return 11 * Math.floor(a / 2) + 6 * (a % 2);
    }, r.prototype.getLength = function() {
      return this.data.length;
    }, r.prototype.getBitsLength = function() {
      return r.getBitsLength(this.data.length);
    }, r.prototype.write = function(a) {
      let i;
      for (i = 0; i + 2 <= this.data.length; i += 2) {
        let l = t.indexOf(this.data[i]) * 45;
        l += t.indexOf(this.data[i + 1]), a.put(l, 11);
      }
      this.data.length % 2 && a.put(t.indexOf(this.data[i]), 6);
    }, Y1 = r, Y1;
  }
  var X1, Vp;
  function Mb() {
    if (Vp) return X1;
    Vp = 1;
    const e = Yi();
    function t(r) {
      this.mode = e.BYTE, typeof r == "string" ? this.data = new TextEncoder().encode(r) : this.data = new Uint8Array(r);
    }
    return t.getBitsLength = function(n) {
      return n * 8;
    }, t.prototype.getLength = function() {
      return this.data.length;
    }, t.prototype.getBitsLength = function() {
      return t.getBitsLength(this.data.length);
    }, t.prototype.write = function(r) {
      for (let n = 0, a = this.data.length; n < a; n++) r.put(this.data[n], 8);
    }, X1 = t, X1;
  }
  var J1, Wp;
  function Lb() {
    if (Wp) return J1;
    Wp = 1;
    const e = Yi(), t = Zi();
    function r(n) {
      this.mode = e.KANJI, this.data = n;
    }
    return r.getBitsLength = function(a) {
      return a * 13;
    }, r.prototype.getLength = function() {
      return this.data.length;
    }, r.prototype.getBitsLength = function() {
      return r.getBitsLength(this.data.length);
    }, r.prototype.write = function(n) {
      let a;
      for (a = 0; a < this.data.length; a++) {
        let i = t.toSJIS(this.data[a]);
        if (i >= 33088 && i <= 40956) i -= 33088;
        else if (i >= 57408 && i <= 60351) i -= 49472;
        else throw new Error("Invalid SJIS character: " + this.data[a] + `
Make sure your charset is UTF-8`);
        i = (i >>> 8 & 255) * 192 + (i & 255), n.put(i, 13);
      }
    }, J1 = r, J1;
  }
  var eh = {
    exports: {}
  }, $p;
  function Ob() {
    return $p || ($p = 1, (function(e) {
      var t = {
        single_source_shortest_paths: function(r, n, a) {
          var i = {}, l = {};
          l[n] = 0;
          var c = t.PriorityQueue.make();
          c.push(n, 0);
          for (var u, x, f, h, p, m, y, B, v; !c.empty(); ) {
            u = c.pop(), x = u.value, h = u.cost, p = r[x] || {};
            for (f in p) p.hasOwnProperty(f) && (m = p[f], y = h + m, B = l[f], v = typeof l[f] > "u", (v || B > y) && (l[f] = y, c.push(f, y), i[f] = x));
          }
          if (typeof a < "u" && typeof l[a] > "u") {
            var D = [
              "Could not find a path from ",
              n,
              " to ",
              a,
              "."
            ].join("");
            throw new Error(D);
          }
          return i;
        },
        extract_shortest_path_from_predecessor_list: function(r, n) {
          for (var a = [], i = n; i; ) a.push(i), r[i], i = r[i];
          return a.reverse(), a;
        },
        find_path: function(r, n, a) {
          var i = t.single_source_shortest_paths(r, n, a);
          return t.extract_shortest_path_from_predecessor_list(i, a);
        },
        PriorityQueue: {
          make: function(r) {
            var n = t.PriorityQueue, a = {}, i;
            r = r || {};
            for (i in n) n.hasOwnProperty(i) && (a[i] = n[i]);
            return a.queue = [], a.sorter = r.sorter || n.default_sorter, a;
          },
          default_sorter: function(r, n) {
            return r.cost - n.cost;
          },
          push: function(r, n) {
            var a = {
              value: r,
              cost: n
            };
            this.queue.push(a), this.queue.sort(this.sorter);
          },
          pop: function() {
            return this.queue.shift();
          },
          empty: function() {
            return this.queue.length === 0;
          }
        }
      };
      e.exports = t;
    })(eh)), eh.exports;
  }
  var Zp;
  function Hb() {
    return Zp || (Zp = 1, (function(e) {
      const t = Yi(), r = Rb(), n = Kb(), a = Mb(), i = Lb(), l = mg(), c = Zi(), u = Ob();
      function x(D) {
        return unescape(encodeURIComponent(D)).length;
      }
      function f(D, P, k) {
        const w = [];
        let _;
        for (; (_ = D.exec(k)) !== null; ) w.push({
          data: _[0],
          index: _.index,
          mode: P,
          length: _[0].length
        });
        return w;
      }
      function h(D) {
        const P = f(l.NUMERIC, t.NUMERIC, D), k = f(l.ALPHANUMERIC, t.ALPHANUMERIC, D);
        let w, _;
        return c.isKanjiModeEnabled() ? (w = f(l.BYTE, t.BYTE, D), _ = f(l.KANJI, t.KANJI, D)) : (w = f(l.BYTE_KANJI, t.BYTE, D), _ = []), P.concat(k, w, _).sort(function(N, U) {
          return N.index - U.index;
        }).map(function(N) {
          return {
            data: N.data,
            mode: N.mode,
            length: N.length
          };
        });
      }
      function p(D, P) {
        switch (P) {
          case t.NUMERIC:
            return r.getBitsLength(D);
          case t.ALPHANUMERIC:
            return n.getBitsLength(D);
          case t.KANJI:
            return i.getBitsLength(D);
          case t.BYTE:
            return a.getBitsLength(D);
        }
      }
      function m(D) {
        return D.reduce(function(P, k) {
          const w = P.length - 1 >= 0 ? P[P.length - 1] : null;
          return w && w.mode === k.mode ? (P[P.length - 1].data += k.data, P) : (P.push(k), P);
        }, []);
      }
      function y(D) {
        const P = [];
        for (let k = 0; k < D.length; k++) {
          const w = D[k];
          switch (w.mode) {
            case t.NUMERIC:
              P.push([
                w,
                {
                  data: w.data,
                  mode: t.ALPHANUMERIC,
                  length: w.length
                },
                {
                  data: w.data,
                  mode: t.BYTE,
                  length: w.length
                }
              ]);
              break;
            case t.ALPHANUMERIC:
              P.push([
                w,
                {
                  data: w.data,
                  mode: t.BYTE,
                  length: w.length
                }
              ]);
              break;
            case t.KANJI:
              P.push([
                w,
                {
                  data: w.data,
                  mode: t.BYTE,
                  length: x(w.data)
                }
              ]);
              break;
            case t.BYTE:
              P.push([
                {
                  data: w.data,
                  mode: t.BYTE,
                  length: x(w.data)
                }
              ]);
          }
        }
        return P;
      }
      function B(D, P) {
        const k = {}, w = {
          start: {}
        };
        let _ = [
          "start"
        ];
        for (let T = 0; T < D.length; T++) {
          const N = D[T], U = [];
          for (let C = 0; C < N.length; C++) {
            const z = N[C], I = "" + T + C;
            U.push(I), k[I] = {
              node: z,
              lastCount: 0
            }, w[I] = {};
            for (let R = 0; R < _.length; R++) {
              const L = _[R];
              k[L] && k[L].node.mode === z.mode ? (w[L][I] = p(k[L].lastCount + z.length, z.mode) - p(k[L].lastCount, z.mode), k[L].lastCount += z.length) : (k[L] && (k[L].lastCount = z.length), w[L][I] = p(z.length, z.mode) + 4 + t.getCharCountIndicator(z.mode, P));
            }
          }
          _ = U;
        }
        for (let T = 0; T < _.length; T++) w[_[T]].end = 0;
        return {
          map: w,
          table: k
        };
      }
      function v(D, P) {
        let k;
        const w = t.getBestModeForData(D);
        if (k = t.from(P, w), k !== t.BYTE && k.bit < w.bit) throw new Error('"' + D + '" cannot be encoded with mode ' + t.toString(k) + `.
 Suggested mode is: ` + t.toString(w));
        switch (k === t.KANJI && !c.isKanjiModeEnabled() && (k = t.BYTE), k) {
          case t.NUMERIC:
            return new r(D);
          case t.ALPHANUMERIC:
            return new n(D);
          case t.KANJI:
            return new i(D);
          case t.BYTE:
            return new a(D);
        }
      }
      e.fromArray = function(P) {
        return P.reduce(function(k, w) {
          return typeof w == "string" ? k.push(v(w, null)) : w.data && k.push(v(w.data, w.mode)), k;
        }, []);
      }, e.fromString = function(P, k) {
        const w = h(P, c.isKanjiModeEnabled()), _ = y(w), T = B(_, k), N = u.find_path(T.map, "start", "end"), U = [];
        for (let C = 1; C < N.length - 1; C++) U.push(T.table[N[C]].node);
        return e.fromArray(m(U));
      }, e.rawSplit = function(P) {
        return e.fromArray(h(P, c.isKanjiModeEnabled()));
      };
    })($1)), $1;
  }
  var Yp;
  function Qb() {
    if (Yp) return U1;
    Yp = 1;
    const e = Zi(), t = a9(), r = Fb(), n = Sb(), a = _b(), i = Ib(), l = Pb(), c = pg(), u = zb(), x = Ub(), f = Tb(), h = Yi(), p = Hb();
    function m(T, N) {
      const U = T.size, C = i.getPositions(N);
      for (let z = 0; z < C.length; z++) {
        const I = C[z][0], R = C[z][1];
        for (let L = -1; L <= 7; L++) if (!(I + L <= -1 || U <= I + L)) for (let O = -1; O <= 7; O++) R + O <= -1 || U <= R + O || (L >= 0 && L <= 6 && (O === 0 || O === 6) || O >= 0 && O <= 6 && (L === 0 || L === 6) || L >= 2 && L <= 4 && O >= 2 && O <= 4 ? T.set(I + L, R + O, true, true) : T.set(I + L, R + O, false, true));
      }
    }
    function y(T) {
      const N = T.size;
      for (let U = 8; U < N - 8; U++) {
        const C = U % 2 === 0;
        T.set(U, 6, C, true), T.set(6, U, C, true);
      }
    }
    function B(T, N) {
      const U = a.getPositions(N);
      for (let C = 0; C < U.length; C++) {
        const z = U[C][0], I = U[C][1];
        for (let R = -2; R <= 2; R++) for (let L = -2; L <= 2; L++) R === -2 || R === 2 || L === -2 || L === 2 || R === 0 && L === 0 ? T.set(z + R, I + L, true, true) : T.set(z + R, I + L, false, true);
      }
    }
    function v(T, N) {
      const U = T.size, C = x.getEncodedBits(N);
      let z, I, R;
      for (let L = 0; L < 18; L++) z = Math.floor(L / 3), I = L % 3 + U - 8 - 3, R = (C >> L & 1) === 1, T.set(z, I, R, true), T.set(I, z, R, true);
    }
    function D(T, N, U) {
      const C = T.size, z = f.getEncodedBits(N, U);
      let I, R;
      for (I = 0; I < 15; I++) R = (z >> I & 1) === 1, I < 6 ? T.set(I, 8, R, true) : I < 8 ? T.set(I + 1, 8, R, true) : T.set(C - 15 + I, 8, R, true), I < 8 ? T.set(8, C - I - 1, R, true) : I < 9 ? T.set(8, 15 - I - 1 + 1, R, true) : T.set(8, 15 - I - 1, R, true);
      T.set(C - 8, 8, 1, true);
    }
    function P(T, N) {
      const U = T.size;
      let C = -1, z = U - 1, I = 7, R = 0;
      for (let L = U - 1; L > 0; L -= 2) for (L === 6 && L--; ; ) {
        for (let O = 0; O < 2; O++) if (!T.isReserved(z, L - O)) {
          let W = false;
          R < N.length && (W = (N[R] >>> I & 1) === 1), T.set(z, L - O, W), I--, I === -1 && (R++, I = 7);
        }
        if (z += C, z < 0 || U <= z) {
          z -= C, C = -C;
          break;
        }
      }
    }
    function k(T, N, U) {
      const C = new r();
      U.forEach(function(O) {
        C.put(O.mode.bit, 4), C.put(O.getLength(), h.getCharCountIndicator(O.mode, T)), O.write(C);
      });
      const z = e.getSymbolTotalCodewords(T), I = c.getTotalCodewordsCount(T, N), R = (z - I) * 8;
      for (C.getLengthInBits() + 4 <= R && C.put(0, 4); C.getLengthInBits() % 8 !== 0; ) C.putBit(0);
      const L = (R - C.getLengthInBits()) / 8;
      for (let O = 0; O < L; O++) C.put(O % 2 ? 17 : 236, 8);
      return w(C, T, N);
    }
    function w(T, N, U) {
      const C = e.getSymbolTotalCodewords(N), z = c.getTotalCodewordsCount(N, U), I = C - z, R = c.getBlocksCount(N, U), L = C % R, O = R - L, W = Math.floor(C / R), $ = Math.floor(I / R), X = $ + 1, Y = W - $, Q = new u(Y);
      let V = 0;
      const M = new Array(R), G = new Array(R);
      let ee = 0;
      const te = new Uint8Array(T.buffer);
      for (let he = 0; he < R; he++) {
        const be = he < O ? $ : X;
        M[he] = te.slice(V, V + be), G[he] = Q.encode(M[he]), V += be, ee = Math.max(ee, be);
      }
      const oe = new Uint8Array(C);
      let ie = 0, xe, de;
      for (xe = 0; xe < ee; xe++) for (de = 0; de < R; de++) xe < M[de].length && (oe[ie++] = M[de][xe]);
      for (xe = 0; xe < Y; xe++) for (de = 0; de < R; de++) oe[ie++] = G[de][xe];
      return oe;
    }
    function _(T, N, U, C) {
      let z;
      if (Array.isArray(T)) z = p.fromArray(T);
      else if (typeof T == "string") {
        let W = N;
        if (!W) {
          const $ = p.rawSplit(T);
          W = x.getBestVersionForData($, U);
        }
        z = p.fromString(T, W || 40);
      } else throw new Error("Invalid data");
      const I = x.getBestVersionForData(z, U);
      if (!I) throw new Error("The amount of data is too big to be stored in a QR Code");
      if (!N) N = I;
      else if (N < I) throw new Error(`
The chosen QR Code version cannot contain this amount of data.
Minimum version required to store current data is: ` + I + `.
`);
      const R = k(N, U, z), L = e.getSymbolSize(N), O = new n(L);
      return m(O, N), y(O), B(O, N), D(O, U, 0), N >= 7 && v(O, N), P(O, R), isNaN(C) && (C = l.getBestMask(O, D.bind(null, O, U))), l.applyMask(C, O), D(O, U, C), {
        modules: O,
        version: N,
        errorCorrectionLevel: U,
        maskPattern: C,
        segments: z
      };
    }
    return U1.create = function(N, U) {
      if (typeof N > "u" || N === "") throw new Error("No input text");
      let C = t.M, z, I;
      return typeof U < "u" && (C = t.from(U.errorCorrectionLevel, t.M), z = x.from(U.version), I = l.from(U.maskPattern), U.toSJISFunc && e.setToSJISFunction(U.toSJISFunc)), _(N, z, C, I);
    }, U1;
  }
  var th = {}, rh = {}, Xp;
  function yg() {
    return Xp || (Xp = 1, (function(e) {
      function t(r) {
        if (typeof r == "number" && (r = r.toString()), typeof r != "string") throw new Error("Color should be defined as hex string");
        let n = r.slice().replace("#", "").split("");
        if (n.length < 3 || n.length === 5 || n.length > 8) throw new Error("Invalid hex color: " + r);
        (n.length === 3 || n.length === 4) && (n = Array.prototype.concat.apply([], n.map(function(i) {
          return [
            i,
            i
          ];
        }))), n.length === 6 && n.push("F", "F");
        const a = parseInt(n.join(""), 16);
        return {
          r: a >> 24 & 255,
          g: a >> 16 & 255,
          b: a >> 8 & 255,
          a: a & 255,
          hex: "#" + n.slice(0, 6).join("")
        };
      }
      e.getOptions = function(n) {
        n || (n = {}), n.color || (n.color = {});
        const a = typeof n.margin > "u" || n.margin === null || n.margin < 0 ? 4 : n.margin, i = n.width && n.width >= 21 ? n.width : void 0, l = n.scale || 4;
        return {
          width: i,
          scale: i ? 4 : l,
          margin: a,
          color: {
            dark: t(n.color.dark || "#000000ff"),
            light: t(n.color.light || "#ffffffff")
          },
          type: n.type,
          rendererOpts: n.rendererOpts || {}
        };
      }, e.getScale = function(n, a) {
        return a.width && a.width >= n + a.margin * 2 ? a.width / (n + a.margin * 2) : a.scale;
      }, e.getImageWidth = function(n, a) {
        const i = e.getScale(n, a);
        return Math.floor((n + a.margin * 2) * i);
      }, e.qrToImageData = function(n, a, i) {
        const l = a.modules.size, c = a.modules.data, u = e.getScale(l, i), x = Math.floor((l + i.margin * 2) * u), f = i.margin * u, h = [
          i.color.light,
          i.color.dark
        ];
        for (let p = 0; p < x; p++) for (let m = 0; m < x; m++) {
          let y = (p * x + m) * 4, B = i.color.light;
          if (p >= f && m >= f && p < x - f && m < x - f) {
            const v = Math.floor((p - f) / u), D = Math.floor((m - f) / u);
            B = h[c[v * l + D] ? 1 : 0];
          }
          n[y++] = B.r, n[y++] = B.g, n[y++] = B.b, n[y] = B.a;
        }
      };
    })(rh)), rh;
  }
  var Jp;
  function qb() {
    return Jp || (Jp = 1, (function(e) {
      const t = yg();
      function r(a, i, l) {
        a.clearRect(0, 0, i.width, i.height), i.style || (i.style = {}), i.height = l, i.width = l, i.style.height = l + "px", i.style.width = l + "px";
      }
      function n() {
        try {
          return document.createElement("canvas");
        } catch {
          throw new Error("You need to specify a canvas element");
        }
      }
      e.render = function(i, l, c) {
        let u = c, x = l;
        typeof u > "u" && (!l || !l.getContext) && (u = l, l = void 0), l || (x = n()), u = t.getOptions(u);
        const f = t.getImageWidth(i.modules.size, u), h = x.getContext("2d"), p = h.createImageData(f, f);
        return t.qrToImageData(p.data, i, u), r(h, x, f), h.putImageData(p, 0, 0), x;
      }, e.renderToDataURL = function(i, l, c) {
        let u = c;
        typeof u > "u" && (!l || !l.getContext) && (u = l, l = void 0), u || (u = {});
        const x = e.render(i, l, u), f = u.type || "image/png", h = u.rendererOpts || {};
        return x.toDataURL(f, h.quality);
      };
    })(th)), th;
  }
  var nh = {}, e3;
  function Gb() {
    if (e3) return nh;
    e3 = 1;
    const e = yg();
    function t(a, i) {
      const l = a.a / 255, c = i + '="' + a.hex + '"';
      return l < 1 ? c + " " + i + '-opacity="' + l.toFixed(2).slice(1) + '"' : c;
    }
    function r(a, i, l) {
      let c = a + i;
      return typeof l < "u" && (c += " " + l), c;
    }
    function n(a, i, l) {
      let c = "", u = 0, x = false, f = 0;
      for (let h = 0; h < a.length; h++) {
        const p = Math.floor(h % i), m = Math.floor(h / i);
        !p && !x && (x = true), a[h] ? (f++, h > 0 && p > 0 && a[h - 1] || (c += x ? r("M", p + l, 0.5 + m + l) : r("m", u, 0), u = 0, x = false), p + 1 < i && a[h + 1] || (c += r("h", f), f = 0)) : u++;
      }
      return c;
    }
    return nh.render = function(i, l, c) {
      const u = e.getOptions(l), x = i.modules.size, f = i.modules.data, h = x + u.margin * 2, p = u.color.light.a ? "<path " + t(u.color.light, "fill") + ' d="M0 0h' + h + "v" + h + 'H0z"/>' : "", m = "<path " + t(u.color.dark, "stroke") + ' d="' + n(f, x, u.margin) + '"/>', y = 'viewBox="0 0 ' + h + " " + h + '"', v = '<svg xmlns="http://www.w3.org/2000/svg" ' + (u.width ? 'width="' + u.width + '" height="' + u.width + '" ' : "") + y + ' shape-rendering="crispEdges">' + p + m + `</svg>
`;
      return typeof c == "function" && c(null, v), v;
    }, nh;
  }
  var t3;
  function Vb() {
    if (t3) return D0;
    t3 = 1;
    const e = Db(), t = Qb(), r = qb(), n = Gb();
    function a(i, l, c, u, x) {
      const f = [].slice.call(arguments, 1), h = f.length, p = typeof f[h - 1] == "function";
      if (!p && !e()) throw new Error("Callback required as last argument");
      if (p) {
        if (h < 2) throw new Error("Too few arguments provided");
        h === 2 ? (x = c, c = l, l = u = void 0) : h === 3 && (l.getContext && typeof x > "u" ? (x = u, u = void 0) : (x = u, u = c, c = l, l = void 0));
      } else {
        if (h < 1) throw new Error("Too few arguments provided");
        return h === 1 ? (c = l, l = u = void 0) : h === 2 && !l.getContext && (u = c, c = l, l = void 0), new Promise(function(m, y) {
          try {
            const B = t.create(c, u);
            m(i(B, l, u));
          } catch (B) {
            y(B);
          }
        });
      }
      try {
        const m = t.create(c, u);
        x(null, i(m, l, u));
      } catch (m) {
        x(m);
      }
    }
    return D0.create = t.create, D0.toCanvas = a.bind(null, r.render), D0.toDataURL = a.bind(null, r.renderToDataURL), D0.toString = a.bind(null, function(i, l, c) {
      return n.render(i, c);
    }), D0;
  }
  var Wb = Vb();
  const r3 = dg(Wb), Eg = ({ value: e }) => {
    const [t, r] = fe.useState(""), [n, a] = fe.useState("");
    fe.useEffect(() => {
      if (!e) {
        r("");
        return;
      }
      (async () => {
        try {
          if (e instanceof Uint8Array) {
            const c = document.createElement("canvas");
            await r3.toCanvas(c, [
              {
                data: e,
                mode: "byte"
              }
            ], {
              errorCorrectionLevel: "L",
              width: 512,
              margin: 4,
              color: {
                dark: "#000000",
                light: "#FFFFFF"
              }
            });
            const u = c.toDataURL("image/png");
            r(u), a(`Binary QR: ${e.length} bytes`);
          } else {
            console.log("  - String data:", e.slice(0, 50));
            const c = await r3.toDataURL(e, {
              errorCorrectionLevel: "L",
              type: "image/png",
              width: 512,
              margin: 4,
              color: {
                dark: "#000000",
                light: "#FFFFFF"
              }
            });
            r(c), a(`String QR: ${e.length} chars`);
          }
        } catch {
          a("Error generating QR code");
        }
      })();
    }, [
      e
    ]);
    const i = () => {
      if (!t) return;
      const l = /* @__PURE__ */ new Date(), c = l.toISOString().split("T")[0], u = l.toTimeString().split(" ")[0].replace(/:/g, ""), x = `SeedPGP_${c}_${u}.png`, f = document.createElement("a");
      f.href = t, f.download = x, document.body.appendChild(f), f.click(), document.body.removeChild(f);
    };
    return t ? E.jsxs("div", {
      className: "border-4 border-[#00f0ff] rounded-xl shadow-[0_0_40px_rgba(0,240,255,0.6)] p-4 bg-[#0a0a0f] space-y-4",
      children: [
        E.jsx("div", {
          className: "bg-[#16213e] p-6 rounded-lg inline-block shadow-[0_0_20px_rgba(0,240,255,0.3)] border-2 border-[#00f0ff]/30",
          children: E.jsx("img", {
            src: t,
            alt: "QR Code",
            className: "w-full h-auto"
          })
        }),
        n && E.jsx("div", {
          className: "text-xs text-[#6ef3f7] font-mono",
          children: n
        }),
        E.jsxs("button", {
          onClick: i,
          className: "flex items-center gap-2 px-4 py-2 bg-[#00f0ff] hover:bg-[#00f0ff]/80 text-[#0a0a0f] rounded-lg transition-all hover:shadow-[0_0_15px_rgba(0,240,255,0.5)]",
          children: [
            E.jsx(gb, {
              size: 16
            }),
            "Download QR Code"
          ]
        }),
        E.jsxs("p", {
          className: "text-xs text-[#6ef3f7]",
          children: [
            "Downloads as: SeedPGP_",
            (/* @__PURE__ */ new Date()).toISOString().split("T")[0],
            "_HHMMSS.png"
          ]
        })
      ]
    }) : null;
  };
  var yx = {
    exports: {}
  }, $b = yx.exports, n3;
  function Zb() {
    return n3 || (n3 = 1, (function(e, t) {
      (function(n, a) {
        e.exports = a();
      })(typeof self < "u" ? self : $b, function() {
        return (function(r) {
          var n = {};
          function a(i) {
            if (n[i]) return n[i].exports;
            var l = n[i] = {
              i,
              l: false,
              exports: {}
            };
            return r[i].call(l.exports, l, l.exports, a), l.l = true, l.exports;
          }
          return a.m = r, a.c = n, a.d = function(i, l, c) {
            a.o(i, l) || Object.defineProperty(i, l, {
              configurable: false,
              enumerable: true,
              get: c
            });
          }, a.n = function(i) {
            var l = i && i.__esModule ? function() {
              return i.default;
            } : function() {
              return i;
            };
            return a.d(l, "a", l), l;
          }, a.o = function(i, l) {
            return Object.prototype.hasOwnProperty.call(i, l);
          }, a.p = "", a(a.s = 3);
        })([
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = (function() {
              function l(c, u) {
                this.width = u, this.height = c.length / u, this.data = c;
              }
              return l.createEmpty = function(c, u) {
                return new l(new Uint8ClampedArray(c * u), c);
              }, l.prototype.get = function(c, u) {
                return c < 0 || c >= this.width || u < 0 || u >= this.height ? false : !!this.data[u * this.width + c];
              }, l.prototype.set = function(c, u, x) {
                this.data[u * this.width + c] = x ? 1 : 0;
              }, l.prototype.setRegion = function(c, u, x, f, h) {
                for (var p = u; p < u + f; p++) for (var m = c; m < c + x; m++) this.set(m, p, !!h);
              }, l;
            })();
            n.BitMatrix = i;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(2);
            function l(u, x) {
              return u ^ x;
            }
            n.addOrSubtractGF = l;
            var c = (function() {
              function u(x, f, h) {
                this.primitive = x, this.size = f, this.generatorBase = h, this.expTable = new Array(this.size), this.logTable = new Array(this.size);
                for (var p = 1, m = 0; m < this.size; m++) this.expTable[m] = p, p = p * 2, p >= this.size && (p = (p ^ this.primitive) & this.size - 1);
                for (var m = 0; m < this.size - 1; m++) this.logTable[this.expTable[m]] = m;
                this.zero = new i.default(this, Uint8ClampedArray.from([
                  0
                ])), this.one = new i.default(this, Uint8ClampedArray.from([
                  1
                ]));
              }
              return u.prototype.multiply = function(x, f) {
                return x === 0 || f === 0 ? 0 : this.expTable[(this.logTable[x] + this.logTable[f]) % (this.size - 1)];
              }, u.prototype.inverse = function(x) {
                if (x === 0) throw new Error("Can't invert 0");
                return this.expTable[this.size - this.logTable[x] - 1];
              }, u.prototype.buildMonomial = function(x, f) {
                if (x < 0) throw new Error("Invalid monomial degree less than 0");
                if (f === 0) return this.zero;
                var h = new Uint8ClampedArray(x + 1);
                return h[0] = f, new i.default(this, h);
              }, u.prototype.log = function(x) {
                if (x === 0) throw new Error("Can't take log(0)");
                return this.logTable[x];
              }, u.prototype.exp = function(x) {
                return this.expTable[x];
              }, u;
            })();
            n.default = c;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(1), l = (function() {
              function c(u, x) {
                if (x.length === 0) throw new Error("No coefficients.");
                this.field = u;
                var f = x.length;
                if (f > 1 && x[0] === 0) {
                  for (var h = 1; h < f && x[h] === 0; ) h++;
                  if (h === f) this.coefficients = u.zero.coefficients;
                  else {
                    this.coefficients = new Uint8ClampedArray(f - h);
                    for (var p = 0; p < this.coefficients.length; p++) this.coefficients[p] = x[h + p];
                  }
                } else this.coefficients = x;
              }
              return c.prototype.degree = function() {
                return this.coefficients.length - 1;
              }, c.prototype.isZero = function() {
                return this.coefficients[0] === 0;
              }, c.prototype.getCoefficient = function(u) {
                return this.coefficients[this.coefficients.length - 1 - u];
              }, c.prototype.addOrSubtract = function(u) {
                var x;
                if (this.isZero()) return u;
                if (u.isZero()) return this;
                var f = this.coefficients, h = u.coefficients;
                f.length > h.length && (x = [
                  h,
                  f
                ], f = x[0], h = x[1]);
                for (var p = new Uint8ClampedArray(h.length), m = h.length - f.length, y = 0; y < m; y++) p[y] = h[y];
                for (var y = m; y < h.length; y++) p[y] = i.addOrSubtractGF(f[y - m], h[y]);
                return new c(this.field, p);
              }, c.prototype.multiply = function(u) {
                if (u === 0) return this.field.zero;
                if (u === 1) return this;
                for (var x = this.coefficients.length, f = new Uint8ClampedArray(x), h = 0; h < x; h++) f[h] = this.field.multiply(this.coefficients[h], u);
                return new c(this.field, f);
              }, c.prototype.multiplyPoly = function(u) {
                if (this.isZero() || u.isZero()) return this.field.zero;
                for (var x = this.coefficients, f = x.length, h = u.coefficients, p = h.length, m = new Uint8ClampedArray(f + p - 1), y = 0; y < f; y++) for (var B = x[y], v = 0; v < p; v++) m[y + v] = i.addOrSubtractGF(m[y + v], this.field.multiply(B, h[v]));
                return new c(this.field, m);
              }, c.prototype.multiplyByMonomial = function(u, x) {
                if (u < 0) throw new Error("Invalid degree less than 0");
                if (x === 0) return this.field.zero;
                for (var f = this.coefficients.length, h = new Uint8ClampedArray(f + u), p = 0; p < f; p++) h[p] = this.field.multiply(this.coefficients[p], x);
                return new c(this.field, h);
              }, c.prototype.evaluateAt = function(u) {
                var x = 0;
                if (u === 0) return this.getCoefficient(0);
                var f = this.coefficients.length;
                if (u === 1) return this.coefficients.forEach(function(p) {
                  x = i.addOrSubtractGF(x, p);
                }), x;
                x = this.coefficients[0];
                for (var h = 1; h < f; h++) x = i.addOrSubtractGF(this.field.multiply(u, x), this.coefficients[h]);
                return x;
              }, c;
            })();
            n.default = l;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(4), l = a(5), c = a(11), u = a(12);
            function x(p) {
              var m = u.locate(p);
              if (!m) return null;
              for (var y = 0, B = m; y < B.length; y++) {
                var v = B[y], D = c.extract(p, v), P = l.decode(D.matrix);
                if (P) return {
                  binaryData: P.bytes,
                  data: P.text,
                  chunks: P.chunks,
                  version: P.version,
                  location: {
                    topRightCorner: D.mappingFunction(v.dimension, 0),
                    topLeftCorner: D.mappingFunction(0, 0),
                    bottomRightCorner: D.mappingFunction(v.dimension, v.dimension),
                    bottomLeftCorner: D.mappingFunction(0, v.dimension),
                    topRightFinderPattern: v.topRight,
                    topLeftFinderPattern: v.topLeft,
                    bottomLeftFinderPattern: v.bottomLeft,
                    bottomRightAlignmentPattern: v.alignmentPattern
                  }
                };
              }
              return null;
            }
            var f = {
              inversionAttempts: "attemptBoth"
            };
            function h(p, m, y, B) {
              B === void 0 && (B = {});
              var v = f;
              Object.keys(v || {}).forEach(function(N) {
                v[N] = B[N] || v[N];
              });
              var D = v.inversionAttempts === "attemptBoth" || v.inversionAttempts === "invertFirst", P = v.inversionAttempts === "onlyInvert" || v.inversionAttempts === "invertFirst", k = i.binarize(p, m, y, D), w = k.binarized, _ = k.inverted, T = x(P ? _ : w);
              return !T && (v.inversionAttempts === "attemptBoth" || v.inversionAttempts === "invertFirst") && (T = x(P ? w : _)), T;
            }
            h.default = h, n.default = h;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(0), l = 8, c = 24;
            function u(h, p, m) {
              return h < p ? p : h > m ? m : h;
            }
            var x = (function() {
              function h(p, m) {
                this.width = p, this.data = new Uint8ClampedArray(p * m);
              }
              return h.prototype.get = function(p, m) {
                return this.data[m * this.width + p];
              }, h.prototype.set = function(p, m, y) {
                this.data[m * this.width + p] = y;
              }, h;
            })();
            function f(h, p, m, y) {
              if (h.length !== p * m * 4) throw new Error("Malformed data passed to binarizer.");
              for (var B = new x(p, m), v = 0; v < p; v++) for (var D = 0; D < m; D++) {
                var P = h[(D * p + v) * 4 + 0], k = h[(D * p + v) * 4 + 1], w = h[(D * p + v) * 4 + 2];
                B.set(v, D, 0.2126 * P + 0.7152 * k + 0.0722 * w);
              }
              for (var _ = Math.ceil(p / l), T = Math.ceil(m / l), N = new x(_, T), U = 0; U < T; U++) for (var C = 0; C < _; C++) {
                for (var z = 0, I = 1 / 0, R = 0, D = 0; D < l; D++) for (var v = 0; v < l; v++) {
                  var L = B.get(C * l + v, U * l + D);
                  z += L, I = Math.min(I, L), R = Math.max(R, L);
                }
                var O = z / Math.pow(l, 2);
                if (R - I <= c && (O = I / 2, U > 0 && C > 0)) {
                  var W = (N.get(C, U - 1) + 2 * N.get(C - 1, U) + N.get(C - 1, U - 1)) / 4;
                  I < W && (O = W);
                }
                N.set(C, U, O);
              }
              var $ = i.BitMatrix.createEmpty(p, m), X = null;
              y && (X = i.BitMatrix.createEmpty(p, m));
              for (var U = 0; U < T; U++) for (var C = 0; C < _; C++) {
                for (var Y = u(C, 2, _ - 3), Q = u(U, 2, T - 3), z = 0, V = -2; V <= 2; V++) for (var M = -2; M <= 2; M++) z += N.get(Y + V, Q + M);
                for (var G = z / 25, V = 0; V < l; V++) for (var M = 0; M < l; M++) {
                  var v = C * l + V, D = U * l + M, ee = B.get(v, D);
                  $.set(v, D, ee <= G), y && X.set(v, D, !(ee <= G));
                }
              }
              return y ? {
                binarized: $,
                inverted: X
              } : {
                binarized: $
              };
            }
            n.binarize = f;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(0), l = a(6), c = a(9), u = a(10);
            function x(w, _) {
              for (var T = w ^ _, N = 0; T; ) N++, T &= T - 1;
              return N;
            }
            function f(w, _) {
              return _ << 1 | w;
            }
            var h = [
              {
                bits: 21522,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 0
                }
              },
              {
                bits: 20773,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 1
                }
              },
              {
                bits: 24188,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 2
                }
              },
              {
                bits: 23371,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 3
                }
              },
              {
                bits: 17913,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 4
                }
              },
              {
                bits: 16590,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 5
                }
              },
              {
                bits: 20375,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 6
                }
              },
              {
                bits: 19104,
                formatInfo: {
                  errorCorrectionLevel: 1,
                  dataMask: 7
                }
              },
              {
                bits: 30660,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 0
                }
              },
              {
                bits: 29427,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 1
                }
              },
              {
                bits: 32170,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 2
                }
              },
              {
                bits: 30877,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 3
                }
              },
              {
                bits: 26159,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 4
                }
              },
              {
                bits: 25368,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 5
                }
              },
              {
                bits: 27713,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 6
                }
              },
              {
                bits: 26998,
                formatInfo: {
                  errorCorrectionLevel: 0,
                  dataMask: 7
                }
              },
              {
                bits: 5769,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 0
                }
              },
              {
                bits: 5054,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 1
                }
              },
              {
                bits: 7399,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 2
                }
              },
              {
                bits: 6608,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 3
                }
              },
              {
                bits: 1890,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 4
                }
              },
              {
                bits: 597,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 5
                }
              },
              {
                bits: 3340,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 6
                }
              },
              {
                bits: 2107,
                formatInfo: {
                  errorCorrectionLevel: 3,
                  dataMask: 7
                }
              },
              {
                bits: 13663,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 0
                }
              },
              {
                bits: 12392,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 1
                }
              },
              {
                bits: 16177,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 2
                }
              },
              {
                bits: 14854,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 3
                }
              },
              {
                bits: 9396,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 4
                }
              },
              {
                bits: 8579,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 5
                }
              },
              {
                bits: 11994,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 6
                }
              },
              {
                bits: 11245,
                formatInfo: {
                  errorCorrectionLevel: 2,
                  dataMask: 7
                }
              }
            ], p = [
              function(w) {
                return (w.y + w.x) % 2 === 0;
              },
              function(w) {
                return w.y % 2 === 0;
              },
              function(w) {
                return w.x % 3 === 0;
              },
              function(w) {
                return (w.y + w.x) % 3 === 0;
              },
              function(w) {
                return (Math.floor(w.y / 2) + Math.floor(w.x / 3)) % 2 === 0;
              },
              function(w) {
                return w.x * w.y % 2 + w.x * w.y % 3 === 0;
              },
              function(w) {
                return (w.y * w.x % 2 + w.y * w.x % 3) % 2 === 0;
              },
              function(w) {
                return ((w.y + w.x) % 2 + w.y * w.x % 3) % 2 === 0;
              }
            ];
            function m(w) {
              var _ = 17 + 4 * w.versionNumber, T = i.BitMatrix.createEmpty(_, _);
              T.setRegion(0, 0, 9, 9, true), T.setRegion(_ - 8, 0, 8, 9, true), T.setRegion(0, _ - 8, 9, 8, true);
              for (var N = 0, U = w.alignmentPatternCenters; N < U.length; N++) for (var C = U[N], z = 0, I = w.alignmentPatternCenters; z < I.length; z++) {
                var R = I[z];
                C === 6 && R === 6 || C === 6 && R === _ - 7 || C === _ - 7 && R === 6 || T.setRegion(C - 2, R - 2, 5, 5, true);
              }
              return T.setRegion(6, 9, 1, _ - 17, true), T.setRegion(9, 6, _ - 17, 1, true), w.versionNumber > 6 && (T.setRegion(_ - 11, 0, 3, 6, true), T.setRegion(0, _ - 11, 6, 3, true)), T;
            }
            function y(w, _, T) {
              for (var N = p[T.dataMask], U = w.height, C = m(_), z = [], I = 0, R = 0, L = true, O = U - 1; O > 0; O -= 2) {
                O === 6 && O--;
                for (var W = 0; W < U; W++) for (var $ = L ? U - 1 - W : W, X = 0; X < 2; X++) {
                  var Y = O - X;
                  if (!C.get(Y, $)) {
                    R++;
                    var Q = w.get(Y, $);
                    N({
                      y: $,
                      x: Y
                    }) && (Q = !Q), I = f(Q, I), R === 8 && (z.push(I), R = 0, I = 0);
                  }
                }
                L = !L;
              }
              return z;
            }
            function B(w) {
              var _ = w.height, T = Math.floor((_ - 17) / 4);
              if (T <= 6) return u.VERSIONS[T - 1];
              for (var N = 0, U = 5; U >= 0; U--) for (var C = _ - 9; C >= _ - 11; C--) N = f(w.get(C, U), N);
              for (var z = 0, C = 5; C >= 0; C--) for (var U = _ - 9; U >= _ - 11; U--) z = f(w.get(C, U), z);
              for (var I = 1 / 0, R, L = 0, O = u.VERSIONS; L < O.length; L++) {
                var W = O[L];
                if (W.infoBits === N || W.infoBits === z) return W;
                var $ = x(N, W.infoBits);
                $ < I && (R = W, I = $), $ = x(z, W.infoBits), $ < I && (R = W, I = $);
              }
              if (I <= 3) return R;
            }
            function v(w) {
              for (var _ = 0, T = 0; T <= 8; T++) T !== 6 && (_ = f(w.get(T, 8), _));
              for (var N = 7; N >= 0; N--) N !== 6 && (_ = f(w.get(8, N), _));
              for (var U = w.height, C = 0, N = U - 1; N >= U - 7; N--) C = f(w.get(8, N), C);
              for (var T = U - 8; T < U; T++) C = f(w.get(T, 8), C);
              for (var z = 1 / 0, I = null, R = 0, L = h; R < L.length; R++) {
                var O = L[R], W = O.bits, $ = O.formatInfo;
                if (W === _ || W === C) return $;
                var X = x(_, W);
                X < z && (I = $, z = X), _ !== C && (X = x(C, W), X < z && (I = $, z = X));
              }
              return z <= 3 ? I : null;
            }
            function D(w, _, T) {
              var N = _.errorCorrectionLevels[T], U = [], C = 0;
              if (N.ecBlocks.forEach(function(Q) {
                for (var V = 0; V < Q.numBlocks; V++) U.push({
                  numDataCodewords: Q.dataCodewordsPerBlock,
                  codewords: []
                }), C += Q.dataCodewordsPerBlock + N.ecCodewordsPerBlock;
              }), w.length < C) return null;
              w = w.slice(0, C);
              for (var z = N.ecBlocks[0].dataCodewordsPerBlock, I = 0; I < z; I++) for (var R = 0, L = U; R < L.length; R++) {
                var O = L[R];
                O.codewords.push(w.shift());
              }
              if (N.ecBlocks.length > 1) for (var W = N.ecBlocks[0].numBlocks, $ = N.ecBlocks[1].numBlocks, I = 0; I < $; I++) U[W + I].codewords.push(w.shift());
              for (; w.length > 0; ) for (var X = 0, Y = U; X < Y.length; X++) {
                var O = Y[X];
                O.codewords.push(w.shift());
              }
              return U;
            }
            function P(w) {
              var _ = B(w);
              if (!_) return null;
              var T = v(w);
              if (!T) return null;
              var N = y(w, _, T), U = D(N, _, T.errorCorrectionLevel);
              if (!U) return null;
              for (var C = U.reduce(function(X, Y) {
                return X + Y.numDataCodewords;
              }, 0), z = new Uint8ClampedArray(C), I = 0, R = 0, L = U; R < L.length; R++) {
                var O = L[R], W = c.decode(O.codewords, O.codewords.length - O.numDataCodewords);
                if (!W) return null;
                for (var $ = 0; $ < O.numDataCodewords; $++) z[I++] = W[$];
              }
              try {
                return l.decode(z, _.versionNumber);
              } catch {
                return null;
              }
            }
            function k(w) {
              if (w == null) return null;
              var _ = P(w);
              if (_) return _;
              for (var T = 0; T < w.width; T++) for (var N = T + 1; N < w.height; N++) w.get(T, N) !== w.get(N, T) && (w.set(T, N, !w.get(T, N)), w.set(N, T, !w.get(N, T)));
              return P(w);
            }
            n.decode = k;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(7), l = a(8), c;
            (function(B) {
              B.Numeric = "numeric", B.Alphanumeric = "alphanumeric", B.Byte = "byte", B.Kanji = "kanji", B.ECI = "eci";
            })(c = n.Mode || (n.Mode = {}));
            var u;
            (function(B) {
              B[B.Terminator = 0] = "Terminator", B[B.Numeric = 1] = "Numeric", B[B.Alphanumeric = 2] = "Alphanumeric", B[B.Byte = 4] = "Byte", B[B.Kanji = 8] = "Kanji", B[B.ECI = 7] = "ECI";
            })(u || (u = {}));
            function x(B, v) {
              for (var D = [], P = "", k = [
                10,
                12,
                14
              ][v], w = B.readBits(k); w >= 3; ) {
                var _ = B.readBits(10);
                if (_ >= 1e3) throw new Error("Invalid numeric value above 999");
                var T = Math.floor(_ / 100), N = Math.floor(_ / 10) % 10, U = _ % 10;
                D.push(48 + T, 48 + N, 48 + U), P += T.toString() + N.toString() + U.toString(), w -= 3;
              }
              if (w === 2) {
                var _ = B.readBits(7);
                if (_ >= 100) throw new Error("Invalid numeric value above 99");
                var T = Math.floor(_ / 10), N = _ % 10;
                D.push(48 + T, 48 + N), P += T.toString() + N.toString();
              } else if (w === 1) {
                var _ = B.readBits(4);
                if (_ >= 10) throw new Error("Invalid numeric value above 9");
                D.push(48 + _), P += _.toString();
              }
              return {
                bytes: D,
                text: P
              };
            }
            var f = [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8",
              "9",
              "A",
              "B",
              "C",
              "D",
              "E",
              "F",
              "G",
              "H",
              "I",
              "J",
              "K",
              "L",
              "M",
              "N",
              "O",
              "P",
              "Q",
              "R",
              "S",
              "T",
              "U",
              "V",
              "W",
              "X",
              "Y",
              "Z",
              " ",
              "$",
              "%",
              "*",
              "+",
              "-",
              ".",
              "/",
              ":"
            ];
            function h(B, v) {
              for (var D = [], P = "", k = [
                9,
                11,
                13
              ][v], w = B.readBits(k); w >= 2; ) {
                var _ = B.readBits(11), T = Math.floor(_ / 45), N = _ % 45;
                D.push(f[T].charCodeAt(0), f[N].charCodeAt(0)), P += f[T] + f[N], w -= 2;
              }
              if (w === 1) {
                var T = B.readBits(6);
                D.push(f[T].charCodeAt(0)), P += f[T];
              }
              return {
                bytes: D,
                text: P
              };
            }
            function p(B, v) {
              for (var D = [], P = "", k = [
                8,
                16,
                16
              ][v], w = B.readBits(k), _ = 0; _ < w; _++) {
                var T = B.readBits(8);
                D.push(T);
              }
              try {
                P += decodeURIComponent(D.map(function(N) {
                  return "%" + ("0" + N.toString(16)).substr(-2);
                }).join(""));
              } catch {
              }
              return {
                bytes: D,
                text: P
              };
            }
            function m(B, v) {
              for (var D = [], P = "", k = [
                8,
                10,
                12
              ][v], w = B.readBits(k), _ = 0; _ < w; _++) {
                var T = B.readBits(13), N = Math.floor(T / 192) << 8 | T % 192;
                N < 7936 ? N += 33088 : N += 49472, D.push(N >> 8, N & 255), P += String.fromCharCode(l.shiftJISTable[N]);
              }
              return {
                bytes: D,
                text: P
              };
            }
            function y(B, v) {
              for (var D, P, k, w, _ = new i.BitStream(B), T = v <= 9 ? 0 : v <= 26 ? 1 : 2, N = {
                text: "",
                bytes: [],
                chunks: [],
                version: v
              }; _.available() >= 4; ) {
                var U = _.readBits(4);
                if (U === u.Terminator) return N;
                if (U === u.ECI) _.readBits(1) === 0 ? N.chunks.push({
                  type: c.ECI,
                  assignmentNumber: _.readBits(7)
                }) : _.readBits(1) === 0 ? N.chunks.push({
                  type: c.ECI,
                  assignmentNumber: _.readBits(14)
                }) : _.readBits(1) === 0 ? N.chunks.push({
                  type: c.ECI,
                  assignmentNumber: _.readBits(21)
                }) : N.chunks.push({
                  type: c.ECI,
                  assignmentNumber: -1
                });
                else if (U === u.Numeric) {
                  var C = x(_, T);
                  N.text += C.text, (D = N.bytes).push.apply(D, C.bytes), N.chunks.push({
                    type: c.Numeric,
                    text: C.text
                  });
                } else if (U === u.Alphanumeric) {
                  var z = h(_, T);
                  N.text += z.text, (P = N.bytes).push.apply(P, z.bytes), N.chunks.push({
                    type: c.Alphanumeric,
                    text: z.text
                  });
                } else if (U === u.Byte) {
                  var I = p(_, T);
                  N.text += I.text, (k = N.bytes).push.apply(k, I.bytes), N.chunks.push({
                    type: c.Byte,
                    bytes: I.bytes,
                    text: I.text
                  });
                } else if (U === u.Kanji) {
                  var R = m(_, T);
                  N.text += R.text, (w = N.bytes).push.apply(w, R.bytes), N.chunks.push({
                    type: c.Kanji,
                    bytes: R.bytes,
                    text: R.text
                  });
                }
              }
              if (_.available() === 0 || _.readBits(_.available()) === 0) return N;
            }
            n.decode = y;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = (function() {
              function l(c) {
                this.byteOffset = 0, this.bitOffset = 0, this.bytes = c;
              }
              return l.prototype.readBits = function(c) {
                if (c < 1 || c > 32 || c > this.available()) throw new Error("Cannot read " + c.toString() + " bits");
                var u = 0;
                if (this.bitOffset > 0) {
                  var x = 8 - this.bitOffset, f = c < x ? c : x, h = x - f, p = 255 >> 8 - f << h;
                  u = (this.bytes[this.byteOffset] & p) >> h, c -= f, this.bitOffset += f, this.bitOffset === 8 && (this.bitOffset = 0, this.byteOffset++);
                }
                if (c > 0) {
                  for (; c >= 8; ) u = u << 8 | this.bytes[this.byteOffset] & 255, this.byteOffset++, c -= 8;
                  if (c > 0) {
                    var h = 8 - c, p = 255 >> h << h;
                    u = u << c | (this.bytes[this.byteOffset] & p) >> h, this.bitOffset += c;
                  }
                }
                return u;
              }, l.prototype.available = function() {
                return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;
              }, l;
            })();
            n.BitStream = i;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            }), n.shiftJISTable = {
              32: 32,
              33: 33,
              34: 34,
              35: 35,
              36: 36,
              37: 37,
              38: 38,
              39: 39,
              40: 40,
              41: 41,
              42: 42,
              43: 43,
              44: 44,
              45: 45,
              46: 46,
              47: 47,
              48: 48,
              49: 49,
              50: 50,
              51: 51,
              52: 52,
              53: 53,
              54: 54,
              55: 55,
              56: 56,
              57: 57,
              58: 58,
              59: 59,
              60: 60,
              61: 61,
              62: 62,
              63: 63,
              64: 64,
              65: 65,
              66: 66,
              67: 67,
              68: 68,
              69: 69,
              70: 70,
              71: 71,
              72: 72,
              73: 73,
              74: 74,
              75: 75,
              76: 76,
              77: 77,
              78: 78,
              79: 79,
              80: 80,
              81: 81,
              82: 82,
              83: 83,
              84: 84,
              85: 85,
              86: 86,
              87: 87,
              88: 88,
              89: 89,
              90: 90,
              91: 91,
              92: 165,
              93: 93,
              94: 94,
              95: 95,
              96: 96,
              97: 97,
              98: 98,
              99: 99,
              100: 100,
              101: 101,
              102: 102,
              103: 103,
              104: 104,
              105: 105,
              106: 106,
              107: 107,
              108: 108,
              109: 109,
              110: 110,
              111: 111,
              112: 112,
              113: 113,
              114: 114,
              115: 115,
              116: 116,
              117: 117,
              118: 118,
              119: 119,
              120: 120,
              121: 121,
              122: 122,
              123: 123,
              124: 124,
              125: 125,
              126: 8254,
              33088: 12288,
              33089: 12289,
              33090: 12290,
              33091: 65292,
              33092: 65294,
              33093: 12539,
              33094: 65306,
              33095: 65307,
              33096: 65311,
              33097: 65281,
              33098: 12443,
              33099: 12444,
              33100: 180,
              33101: 65344,
              33102: 168,
              33103: 65342,
              33104: 65507,
              33105: 65343,
              33106: 12541,
              33107: 12542,
              33108: 12445,
              33109: 12446,
              33110: 12291,
              33111: 20189,
              33112: 12293,
              33113: 12294,
              33114: 12295,
              33115: 12540,
              33116: 8213,
              33117: 8208,
              33118: 65295,
              33119: 92,
              33120: 12316,
              33121: 8214,
              33122: 65372,
              33123: 8230,
              33124: 8229,
              33125: 8216,
              33126: 8217,
              33127: 8220,
              33128: 8221,
              33129: 65288,
              33130: 65289,
              33131: 12308,
              33132: 12309,
              33133: 65339,
              33134: 65341,
              33135: 65371,
              33136: 65373,
              33137: 12296,
              33138: 12297,
              33139: 12298,
              33140: 12299,
              33141: 12300,
              33142: 12301,
              33143: 12302,
              33144: 12303,
              33145: 12304,
              33146: 12305,
              33147: 65291,
              33148: 8722,
              33149: 177,
              33150: 215,
              33152: 247,
              33153: 65309,
              33154: 8800,
              33155: 65308,
              33156: 65310,
              33157: 8806,
              33158: 8807,
              33159: 8734,
              33160: 8756,
              33161: 9794,
              33162: 9792,
              33163: 176,
              33164: 8242,
              33165: 8243,
              33166: 8451,
              33167: 65509,
              33168: 65284,
              33169: 162,
              33170: 163,
              33171: 65285,
              33172: 65283,
              33173: 65286,
              33174: 65290,
              33175: 65312,
              33176: 167,
              33177: 9734,
              33178: 9733,
              33179: 9675,
              33180: 9679,
              33181: 9678,
              33182: 9671,
              33183: 9670,
              33184: 9633,
              33185: 9632,
              33186: 9651,
              33187: 9650,
              33188: 9661,
              33189: 9660,
              33190: 8251,
              33191: 12306,
              33192: 8594,
              33193: 8592,
              33194: 8593,
              33195: 8595,
              33196: 12307,
              33208: 8712,
              33209: 8715,
              33210: 8838,
              33211: 8839,
              33212: 8834,
              33213: 8835,
              33214: 8746,
              33215: 8745,
              33224: 8743,
              33225: 8744,
              33226: 172,
              33227: 8658,
              33228: 8660,
              33229: 8704,
              33230: 8707,
              33242: 8736,
              33243: 8869,
              33244: 8978,
              33245: 8706,
              33246: 8711,
              33247: 8801,
              33248: 8786,
              33249: 8810,
              33250: 8811,
              33251: 8730,
              33252: 8765,
              33253: 8733,
              33254: 8757,
              33255: 8747,
              33256: 8748,
              33264: 8491,
              33265: 8240,
              33266: 9839,
              33267: 9837,
              33268: 9834,
              33269: 8224,
              33270: 8225,
              33271: 182,
              33276: 9711,
              33359: 65296,
              33360: 65297,
              33361: 65298,
              33362: 65299,
              33363: 65300,
              33364: 65301,
              33365: 65302,
              33366: 65303,
              33367: 65304,
              33368: 65305,
              33376: 65313,
              33377: 65314,
              33378: 65315,
              33379: 65316,
              33380: 65317,
              33381: 65318,
              33382: 65319,
              33383: 65320,
              33384: 65321,
              33385: 65322,
              33386: 65323,
              33387: 65324,
              33388: 65325,
              33389: 65326,
              33390: 65327,
              33391: 65328,
              33392: 65329,
              33393: 65330,
              33394: 65331,
              33395: 65332,
              33396: 65333,
              33397: 65334,
              33398: 65335,
              33399: 65336,
              33400: 65337,
              33401: 65338,
              33409: 65345,
              33410: 65346,
              33411: 65347,
              33412: 65348,
              33413: 65349,
              33414: 65350,
              33415: 65351,
              33416: 65352,
              33417: 65353,
              33418: 65354,
              33419: 65355,
              33420: 65356,
              33421: 65357,
              33422: 65358,
              33423: 65359,
              33424: 65360,
              33425: 65361,
              33426: 65362,
              33427: 65363,
              33428: 65364,
              33429: 65365,
              33430: 65366,
              33431: 65367,
              33432: 65368,
              33433: 65369,
              33434: 65370,
              33439: 12353,
              33440: 12354,
              33441: 12355,
              33442: 12356,
              33443: 12357,
              33444: 12358,
              33445: 12359,
              33446: 12360,
              33447: 12361,
              33448: 12362,
              33449: 12363,
              33450: 12364,
              33451: 12365,
              33452: 12366,
              33453: 12367,
              33454: 12368,
              33455: 12369,
              33456: 12370,
              33457: 12371,
              33458: 12372,
              33459: 12373,
              33460: 12374,
              33461: 12375,
              33462: 12376,
              33463: 12377,
              33464: 12378,
              33465: 12379,
              33466: 12380,
              33467: 12381,
              33468: 12382,
              33469: 12383,
              33470: 12384,
              33471: 12385,
              33472: 12386,
              33473: 12387,
              33474: 12388,
              33475: 12389,
              33476: 12390,
              33477: 12391,
              33478: 12392,
              33479: 12393,
              33480: 12394,
              33481: 12395,
              33482: 12396,
              33483: 12397,
              33484: 12398,
              33485: 12399,
              33486: 12400,
              33487: 12401,
              33488: 12402,
              33489: 12403,
              33490: 12404,
              33491: 12405,
              33492: 12406,
              33493: 12407,
              33494: 12408,
              33495: 12409,
              33496: 12410,
              33497: 12411,
              33498: 12412,
              33499: 12413,
              33500: 12414,
              33501: 12415,
              33502: 12416,
              33503: 12417,
              33504: 12418,
              33505: 12419,
              33506: 12420,
              33507: 12421,
              33508: 12422,
              33509: 12423,
              33510: 12424,
              33511: 12425,
              33512: 12426,
              33513: 12427,
              33514: 12428,
              33515: 12429,
              33516: 12430,
              33517: 12431,
              33518: 12432,
              33519: 12433,
              33520: 12434,
              33521: 12435,
              33600: 12449,
              33601: 12450,
              33602: 12451,
              33603: 12452,
              33604: 12453,
              33605: 12454,
              33606: 12455,
              33607: 12456,
              33608: 12457,
              33609: 12458,
              33610: 12459,
              33611: 12460,
              33612: 12461,
              33613: 12462,
              33614: 12463,
              33615: 12464,
              33616: 12465,
              33617: 12466,
              33618: 12467,
              33619: 12468,
              33620: 12469,
              33621: 12470,
              33622: 12471,
              33623: 12472,
              33624: 12473,
              33625: 12474,
              33626: 12475,
              33627: 12476,
              33628: 12477,
              33629: 12478,
              33630: 12479,
              33631: 12480,
              33632: 12481,
              33633: 12482,
              33634: 12483,
              33635: 12484,
              33636: 12485,
              33637: 12486,
              33638: 12487,
              33639: 12488,
              33640: 12489,
              33641: 12490,
              33642: 12491,
              33643: 12492,
              33644: 12493,
              33645: 12494,
              33646: 12495,
              33647: 12496,
              33648: 12497,
              33649: 12498,
              33650: 12499,
              33651: 12500,
              33652: 12501,
              33653: 12502,
              33654: 12503,
              33655: 12504,
              33656: 12505,
              33657: 12506,
              33658: 12507,
              33659: 12508,
              33660: 12509,
              33661: 12510,
              33662: 12511,
              33664: 12512,
              33665: 12513,
              33666: 12514,
              33667: 12515,
              33668: 12516,
              33669: 12517,
              33670: 12518,
              33671: 12519,
              33672: 12520,
              33673: 12521,
              33674: 12522,
              33675: 12523,
              33676: 12524,
              33677: 12525,
              33678: 12526,
              33679: 12527,
              33680: 12528,
              33681: 12529,
              33682: 12530,
              33683: 12531,
              33684: 12532,
              33685: 12533,
              33686: 12534,
              33695: 913,
              33696: 914,
              33697: 915,
              33698: 916,
              33699: 917,
              33700: 918,
              33701: 919,
              33702: 920,
              33703: 921,
              33704: 922,
              33705: 923,
              33706: 924,
              33707: 925,
              33708: 926,
              33709: 927,
              33710: 928,
              33711: 929,
              33712: 931,
              33713: 932,
              33714: 933,
              33715: 934,
              33716: 935,
              33717: 936,
              33718: 937,
              33727: 945,
              33728: 946,
              33729: 947,
              33730: 948,
              33731: 949,
              33732: 950,
              33733: 951,
              33734: 952,
              33735: 953,
              33736: 954,
              33737: 955,
              33738: 956,
              33739: 957,
              33740: 958,
              33741: 959,
              33742: 960,
              33743: 961,
              33744: 963,
              33745: 964,
              33746: 965,
              33747: 966,
              33748: 967,
              33749: 968,
              33750: 969,
              33856: 1040,
              33857: 1041,
              33858: 1042,
              33859: 1043,
              33860: 1044,
              33861: 1045,
              33862: 1025,
              33863: 1046,
              33864: 1047,
              33865: 1048,
              33866: 1049,
              33867: 1050,
              33868: 1051,
              33869: 1052,
              33870: 1053,
              33871: 1054,
              33872: 1055,
              33873: 1056,
              33874: 1057,
              33875: 1058,
              33876: 1059,
              33877: 1060,
              33878: 1061,
              33879: 1062,
              33880: 1063,
              33881: 1064,
              33882: 1065,
              33883: 1066,
              33884: 1067,
              33885: 1068,
              33886: 1069,
              33887: 1070,
              33888: 1071,
              33904: 1072,
              33905: 1073,
              33906: 1074,
              33907: 1075,
              33908: 1076,
              33909: 1077,
              33910: 1105,
              33911: 1078,
              33912: 1079,
              33913: 1080,
              33914: 1081,
              33915: 1082,
              33916: 1083,
              33917: 1084,
              33918: 1085,
              33920: 1086,
              33921: 1087,
              33922: 1088,
              33923: 1089,
              33924: 1090,
              33925: 1091,
              33926: 1092,
              33927: 1093,
              33928: 1094,
              33929: 1095,
              33930: 1096,
              33931: 1097,
              33932: 1098,
              33933: 1099,
              33934: 1100,
              33935: 1101,
              33936: 1102,
              33937: 1103,
              33951: 9472,
              33952: 9474,
              33953: 9484,
              33954: 9488,
              33955: 9496,
              33956: 9492,
              33957: 9500,
              33958: 9516,
              33959: 9508,
              33960: 9524,
              33961: 9532,
              33962: 9473,
              33963: 9475,
              33964: 9487,
              33965: 9491,
              33966: 9499,
              33967: 9495,
              33968: 9507,
              33969: 9523,
              33970: 9515,
              33971: 9531,
              33972: 9547,
              33973: 9504,
              33974: 9519,
              33975: 9512,
              33976: 9527,
              33977: 9535,
              33978: 9501,
              33979: 9520,
              33980: 9509,
              33981: 9528,
              33982: 9538,
              34975: 20124,
              34976: 21782,
              34977: 23043,
              34978: 38463,
              34979: 21696,
              34980: 24859,
              34981: 25384,
              34982: 23030,
              34983: 36898,
              34984: 33909,
              34985: 33564,
              34986: 31312,
              34987: 24746,
              34988: 25569,
              34989: 28197,
              34990: 26093,
              34991: 33894,
              34992: 33446,
              34993: 39925,
              34994: 26771,
              34995: 22311,
              34996: 26017,
              34997: 25201,
              34998: 23451,
              34999: 22992,
              35e3: 34427,
              35001: 39156,
              35002: 32098,
              35003: 32190,
              35004: 39822,
              35005: 25110,
              35006: 31903,
              35007: 34999,
              35008: 23433,
              35009: 24245,
              35010: 25353,
              35011: 26263,
              35012: 26696,
              35013: 38343,
              35014: 38797,
              35015: 26447,
              35016: 20197,
              35017: 20234,
              35018: 20301,
              35019: 20381,
              35020: 20553,
              35021: 22258,
              35022: 22839,
              35023: 22996,
              35024: 23041,
              35025: 23561,
              35026: 24799,
              35027: 24847,
              35028: 24944,
              35029: 26131,
              35030: 26885,
              35031: 28858,
              35032: 30031,
              35033: 30064,
              35034: 31227,
              35035: 32173,
              35036: 32239,
              35037: 32963,
              35038: 33806,
              35039: 34915,
              35040: 35586,
              35041: 36949,
              35042: 36986,
              35043: 21307,
              35044: 20117,
              35045: 20133,
              35046: 22495,
              35047: 32946,
              35048: 37057,
              35049: 30959,
              35050: 19968,
              35051: 22769,
              35052: 28322,
              35053: 36920,
              35054: 31282,
              35055: 33576,
              35056: 33419,
              35057: 39983,
              35058: 20801,
              35059: 21360,
              35060: 21693,
              35061: 21729,
              35062: 22240,
              35063: 23035,
              35064: 24341,
              35065: 39154,
              35066: 28139,
              35067: 32996,
              35068: 34093,
              35136: 38498,
              35137: 38512,
              35138: 38560,
              35139: 38907,
              35140: 21515,
              35141: 21491,
              35142: 23431,
              35143: 28879,
              35144: 32701,
              35145: 36802,
              35146: 38632,
              35147: 21359,
              35148: 40284,
              35149: 31418,
              35150: 19985,
              35151: 30867,
              35152: 33276,
              35153: 28198,
              35154: 22040,
              35155: 21764,
              35156: 27421,
              35157: 34074,
              35158: 39995,
              35159: 23013,
              35160: 21417,
              35161: 28006,
              35162: 29916,
              35163: 38287,
              35164: 22082,
              35165: 20113,
              35166: 36939,
              35167: 38642,
              35168: 33615,
              35169: 39180,
              35170: 21473,
              35171: 21942,
              35172: 23344,
              35173: 24433,
              35174: 26144,
              35175: 26355,
              35176: 26628,
              35177: 27704,
              35178: 27891,
              35179: 27945,
              35180: 29787,
              35181: 30408,
              35182: 31310,
              35183: 38964,
              35184: 33521,
              35185: 34907,
              35186: 35424,
              35187: 37613,
              35188: 28082,
              35189: 30123,
              35190: 30410,
              35191: 39365,
              35192: 24742,
              35193: 35585,
              35194: 36234,
              35195: 38322,
              35196: 27022,
              35197: 21421,
              35198: 20870,
              35200: 22290,
              35201: 22576,
              35202: 22852,
              35203: 23476,
              35204: 24310,
              35205: 24616,
              35206: 25513,
              35207: 25588,
              35208: 27839,
              35209: 28436,
              35210: 28814,
              35211: 28948,
              35212: 29017,
              35213: 29141,
              35214: 29503,
              35215: 32257,
              35216: 33398,
              35217: 33489,
              35218: 34199,
              35219: 36960,
              35220: 37467,
              35221: 40219,
              35222: 22633,
              35223: 26044,
              35224: 27738,
              35225: 29989,
              35226: 20985,
              35227: 22830,
              35228: 22885,
              35229: 24448,
              35230: 24540,
              35231: 25276,
              35232: 26106,
              35233: 27178,
              35234: 27431,
              35235: 27572,
              35236: 29579,
              35237: 32705,
              35238: 35158,
              35239: 40236,
              35240: 40206,
              35241: 40644,
              35242: 23713,
              35243: 27798,
              35244: 33659,
              35245: 20740,
              35246: 23627,
              35247: 25014,
              35248: 33222,
              35249: 26742,
              35250: 29281,
              35251: 20057,
              35252: 20474,
              35253: 21368,
              35254: 24681,
              35255: 28201,
              35256: 31311,
              35257: 38899,
              35258: 19979,
              35259: 21270,
              35260: 20206,
              35261: 20309,
              35262: 20285,
              35263: 20385,
              35264: 20339,
              35265: 21152,
              35266: 21487,
              35267: 22025,
              35268: 22799,
              35269: 23233,
              35270: 23478,
              35271: 23521,
              35272: 31185,
              35273: 26247,
              35274: 26524,
              35275: 26550,
              35276: 27468,
              35277: 27827,
              35278: 28779,
              35279: 29634,
              35280: 31117,
              35281: 31166,
              35282: 31292,
              35283: 31623,
              35284: 33457,
              35285: 33499,
              35286: 33540,
              35287: 33655,
              35288: 33775,
              35289: 33747,
              35290: 34662,
              35291: 35506,
              35292: 22057,
              35293: 36008,
              35294: 36838,
              35295: 36942,
              35296: 38686,
              35297: 34442,
              35298: 20420,
              35299: 23784,
              35300: 25105,
              35301: 29273,
              35302: 30011,
              35303: 33253,
              35304: 33469,
              35305: 34558,
              35306: 36032,
              35307: 38597,
              35308: 39187,
              35309: 39381,
              35310: 20171,
              35311: 20250,
              35312: 35299,
              35313: 22238,
              35314: 22602,
              35315: 22730,
              35316: 24315,
              35317: 24555,
              35318: 24618,
              35319: 24724,
              35320: 24674,
              35321: 25040,
              35322: 25106,
              35323: 25296,
              35324: 25913,
              35392: 39745,
              35393: 26214,
              35394: 26800,
              35395: 28023,
              35396: 28784,
              35397: 30028,
              35398: 30342,
              35399: 32117,
              35400: 33445,
              35401: 34809,
              35402: 38283,
              35403: 38542,
              35404: 35997,
              35405: 20977,
              35406: 21182,
              35407: 22806,
              35408: 21683,
              35409: 23475,
              35410: 23830,
              35411: 24936,
              35412: 27010,
              35413: 28079,
              35414: 30861,
              35415: 33995,
              35416: 34903,
              35417: 35442,
              35418: 37799,
              35419: 39608,
              35420: 28012,
              35421: 39336,
              35422: 34521,
              35423: 22435,
              35424: 26623,
              35425: 34510,
              35426: 37390,
              35427: 21123,
              35428: 22151,
              35429: 21508,
              35430: 24275,
              35431: 25313,
              35432: 25785,
              35433: 26684,
              35434: 26680,
              35435: 27579,
              35436: 29554,
              35437: 30906,
              35438: 31339,
              35439: 35226,
              35440: 35282,
              35441: 36203,
              35442: 36611,
              35443: 37101,
              35444: 38307,
              35445: 38548,
              35446: 38761,
              35447: 23398,
              35448: 23731,
              35449: 27005,
              35450: 38989,
              35451: 38990,
              35452: 25499,
              35453: 31520,
              35454: 27179,
              35456: 27263,
              35457: 26806,
              35458: 39949,
              35459: 28511,
              35460: 21106,
              35461: 21917,
              35462: 24688,
              35463: 25324,
              35464: 27963,
              35465: 28167,
              35466: 28369,
              35467: 33883,
              35468: 35088,
              35469: 36676,
              35470: 19988,
              35471: 39993,
              35472: 21494,
              35473: 26907,
              35474: 27194,
              35475: 38788,
              35476: 26666,
              35477: 20828,
              35478: 31427,
              35479: 33970,
              35480: 37340,
              35481: 37772,
              35482: 22107,
              35483: 40232,
              35484: 26658,
              35485: 33541,
              35486: 33841,
              35487: 31909,
              35488: 21e3,
              35489: 33477,
              35490: 29926,
              35491: 20094,
              35492: 20355,
              35493: 20896,
              35494: 23506,
              35495: 21002,
              35496: 21208,
              35497: 21223,
              35498: 24059,
              35499: 21914,
              35500: 22570,
              35501: 23014,
              35502: 23436,
              35503: 23448,
              35504: 23515,
              35505: 24178,
              35506: 24185,
              35507: 24739,
              35508: 24863,
              35509: 24931,
              35510: 25022,
              35511: 25563,
              35512: 25954,
              35513: 26577,
              35514: 26707,
              35515: 26874,
              35516: 27454,
              35517: 27475,
              35518: 27735,
              35519: 28450,
              35520: 28567,
              35521: 28485,
              35522: 29872,
              35523: 29976,
              35524: 30435,
              35525: 30475,
              35526: 31487,
              35527: 31649,
              35528: 31777,
              35529: 32233,
              35530: 32566,
              35531: 32752,
              35532: 32925,
              35533: 33382,
              35534: 33694,
              35535: 35251,
              35536: 35532,
              35537: 36011,
              35538: 36996,
              35539: 37969,
              35540: 38291,
              35541: 38289,
              35542: 38306,
              35543: 38501,
              35544: 38867,
              35545: 39208,
              35546: 33304,
              35547: 20024,
              35548: 21547,
              35549: 23736,
              35550: 24012,
              35551: 29609,
              35552: 30284,
              35553: 30524,
              35554: 23721,
              35555: 32747,
              35556: 36107,
              35557: 38593,
              35558: 38929,
              35559: 38996,
              35560: 39e3,
              35561: 20225,
              35562: 20238,
              35563: 21361,
              35564: 21916,
              35565: 22120,
              35566: 22522,
              35567: 22855,
              35568: 23305,
              35569: 23492,
              35570: 23696,
              35571: 24076,
              35572: 24190,
              35573: 24524,
              35574: 25582,
              35575: 26426,
              35576: 26071,
              35577: 26082,
              35578: 26399,
              35579: 26827,
              35580: 26820,
              35648: 27231,
              35649: 24112,
              35650: 27589,
              35651: 27671,
              35652: 27773,
              35653: 30079,
              35654: 31048,
              35655: 23395,
              35656: 31232,
              35657: 32e3,
              35658: 24509,
              35659: 35215,
              35660: 35352,
              35661: 36020,
              35662: 36215,
              35663: 36556,
              35664: 36637,
              35665: 39138,
              35666: 39438,
              35667: 39740,
              35668: 20096,
              35669: 20605,
              35670: 20736,
              35671: 22931,
              35672: 23452,
              35673: 25135,
              35674: 25216,
              35675: 25836,
              35676: 27450,
              35677: 29344,
              35678: 30097,
              35679: 31047,
              35680: 32681,
              35681: 34811,
              35682: 35516,
              35683: 35696,
              35684: 25516,
              35685: 33738,
              35686: 38816,
              35687: 21513,
              35688: 21507,
              35689: 21931,
              35690: 26708,
              35691: 27224,
              35692: 35440,
              35693: 30759,
              35694: 26485,
              35695: 40653,
              35696: 21364,
              35697: 23458,
              35698: 33050,
              35699: 34384,
              35700: 36870,
              35701: 19992,
              35702: 20037,
              35703: 20167,
              35704: 20241,
              35705: 21450,
              35706: 21560,
              35707: 23470,
              35708: 24339,
              35709: 24613,
              35710: 25937,
              35712: 26429,
              35713: 27714,
              35714: 27762,
              35715: 27875,
              35716: 28792,
              35717: 29699,
              35718: 31350,
              35719: 31406,
              35720: 31496,
              35721: 32026,
              35722: 31998,
              35723: 32102,
              35724: 26087,
              35725: 29275,
              35726: 21435,
              35727: 23621,
              35728: 24040,
              35729: 25298,
              35730: 25312,
              35731: 25369,
              35732: 28192,
              35733: 34394,
              35734: 35377,
              35735: 36317,
              35736: 37624,
              35737: 28417,
              35738: 31142,
              35739: 39770,
              35740: 20136,
              35741: 20139,
              35742: 20140,
              35743: 20379,
              35744: 20384,
              35745: 20689,
              35746: 20807,
              35747: 31478,
              35748: 20849,
              35749: 20982,
              35750: 21332,
              35751: 21281,
              35752: 21375,
              35753: 21483,
              35754: 21932,
              35755: 22659,
              35756: 23777,
              35757: 24375,
              35758: 24394,
              35759: 24623,
              35760: 24656,
              35761: 24685,
              35762: 25375,
              35763: 25945,
              35764: 27211,
              35765: 27841,
              35766: 29378,
              35767: 29421,
              35768: 30703,
              35769: 33016,
              35770: 33029,
              35771: 33288,
              35772: 34126,
              35773: 37111,
              35774: 37857,
              35775: 38911,
              35776: 39255,
              35777: 39514,
              35778: 20208,
              35779: 20957,
              35780: 23597,
              35781: 26241,
              35782: 26989,
              35783: 23616,
              35784: 26354,
              35785: 26997,
              35786: 29577,
              35787: 26704,
              35788: 31873,
              35789: 20677,
              35790: 21220,
              35791: 22343,
              35792: 24062,
              35793: 37670,
              35794: 26020,
              35795: 27427,
              35796: 27453,
              35797: 29748,
              35798: 31105,
              35799: 31165,
              35800: 31563,
              35801: 32202,
              35802: 33465,
              35803: 33740,
              35804: 34943,
              35805: 35167,
              35806: 35641,
              35807: 36817,
              35808: 37329,
              35809: 21535,
              35810: 37504,
              35811: 20061,
              35812: 20534,
              35813: 21477,
              35814: 21306,
              35815: 29399,
              35816: 29590,
              35817: 30697,
              35818: 33510,
              35819: 36527,
              35820: 39366,
              35821: 39368,
              35822: 39378,
              35823: 20855,
              35824: 24858,
              35825: 34398,
              35826: 21936,
              35827: 31354,
              35828: 20598,
              35829: 23507,
              35830: 36935,
              35831: 38533,
              35832: 20018,
              35833: 27355,
              35834: 37351,
              35835: 23633,
              35836: 23624,
              35904: 25496,
              35905: 31391,
              35906: 27795,
              35907: 38772,
              35908: 36705,
              35909: 31402,
              35910: 29066,
              35911: 38536,
              35912: 31874,
              35913: 26647,
              35914: 32368,
              35915: 26705,
              35916: 37740,
              35917: 21234,
              35918: 21531,
              35919: 34219,
              35920: 35347,
              35921: 32676,
              35922: 36557,
              35923: 37089,
              35924: 21350,
              35925: 34952,
              35926: 31041,
              35927: 20418,
              35928: 20670,
              35929: 21009,
              35930: 20804,
              35931: 21843,
              35932: 22317,
              35933: 29674,
              35934: 22411,
              35935: 22865,
              35936: 24418,
              35937: 24452,
              35938: 24693,
              35939: 24950,
              35940: 24935,
              35941: 25001,
              35942: 25522,
              35943: 25658,
              35944: 25964,
              35945: 26223,
              35946: 26690,
              35947: 28179,
              35948: 30054,
              35949: 31293,
              35950: 31995,
              35951: 32076,
              35952: 32153,
              35953: 32331,
              35954: 32619,
              35955: 33550,
              35956: 33610,
              35957: 34509,
              35958: 35336,
              35959: 35427,
              35960: 35686,
              35961: 36605,
              35962: 38938,
              35963: 40335,
              35964: 33464,
              35965: 36814,
              35966: 39912,
              35968: 21127,
              35969: 25119,
              35970: 25731,
              35971: 28608,
              35972: 38553,
              35973: 26689,
              35974: 20625,
              35975: 27424,
              35976: 27770,
              35977: 28500,
              35978: 31348,
              35979: 32080,
              35980: 34880,
              35981: 35363,
              35982: 26376,
              35983: 20214,
              35984: 20537,
              35985: 20518,
              35986: 20581,
              35987: 20860,
              35988: 21048,
              35989: 21091,
              35990: 21927,
              35991: 22287,
              35992: 22533,
              35993: 23244,
              35994: 24314,
              35995: 25010,
              35996: 25080,
              35997: 25331,
              35998: 25458,
              35999: 26908,
              36e3: 27177,
              36001: 29309,
              36002: 29356,
              36003: 29486,
              36004: 30740,
              36005: 30831,
              36006: 32121,
              36007: 30476,
              36008: 32937,
              36009: 35211,
              36010: 35609,
              36011: 36066,
              36012: 36562,
              36013: 36963,
              36014: 37749,
              36015: 38522,
              36016: 38997,
              36017: 39443,
              36018: 40568,
              36019: 20803,
              36020: 21407,
              36021: 21427,
              36022: 24187,
              36023: 24358,
              36024: 28187,
              36025: 28304,
              36026: 29572,
              36027: 29694,
              36028: 32067,
              36029: 33335,
              36030: 35328,
              36031: 35578,
              36032: 38480,
              36033: 20046,
              36034: 20491,
              36035: 21476,
              36036: 21628,
              36037: 22266,
              36038: 22993,
              36039: 23396,
              36040: 24049,
              36041: 24235,
              36042: 24359,
              36043: 25144,
              36044: 25925,
              36045: 26543,
              36046: 28246,
              36047: 29392,
              36048: 31946,
              36049: 34996,
              36050: 32929,
              36051: 32993,
              36052: 33776,
              36053: 34382,
              36054: 35463,
              36055: 36328,
              36056: 37431,
              36057: 38599,
              36058: 39015,
              36059: 40723,
              36060: 20116,
              36061: 20114,
              36062: 20237,
              36063: 21320,
              36064: 21577,
              36065: 21566,
              36066: 23087,
              36067: 24460,
              36068: 24481,
              36069: 24735,
              36070: 26791,
              36071: 27278,
              36072: 29786,
              36073: 30849,
              36074: 35486,
              36075: 35492,
              36076: 35703,
              36077: 37264,
              36078: 20062,
              36079: 39881,
              36080: 20132,
              36081: 20348,
              36082: 20399,
              36083: 20505,
              36084: 20502,
              36085: 20809,
              36086: 20844,
              36087: 21151,
              36088: 21177,
              36089: 21246,
              36090: 21402,
              36091: 21475,
              36092: 21521,
              36160: 21518,
              36161: 21897,
              36162: 22353,
              36163: 22434,
              36164: 22909,
              36165: 23380,
              36166: 23389,
              36167: 23439,
              36168: 24037,
              36169: 24039,
              36170: 24055,
              36171: 24184,
              36172: 24195,
              36173: 24218,
              36174: 24247,
              36175: 24344,
              36176: 24658,
              36177: 24908,
              36178: 25239,
              36179: 25304,
              36180: 25511,
              36181: 25915,
              36182: 26114,
              36183: 26179,
              36184: 26356,
              36185: 26477,
              36186: 26657,
              36187: 26775,
              36188: 27083,
              36189: 27743,
              36190: 27946,
              36191: 28009,
              36192: 28207,
              36193: 28317,
              36194: 30002,
              36195: 30343,
              36196: 30828,
              36197: 31295,
              36198: 31968,
              36199: 32005,
              36200: 32024,
              36201: 32094,
              36202: 32177,
              36203: 32789,
              36204: 32771,
              36205: 32943,
              36206: 32945,
              36207: 33108,
              36208: 33167,
              36209: 33322,
              36210: 33618,
              36211: 34892,
              36212: 34913,
              36213: 35611,
              36214: 36002,
              36215: 36092,
              36216: 37066,
              36217: 37237,
              36218: 37489,
              36219: 30783,
              36220: 37628,
              36221: 38308,
              36222: 38477,
              36224: 38917,
              36225: 39321,
              36226: 39640,
              36227: 40251,
              36228: 21083,
              36229: 21163,
              36230: 21495,
              36231: 21512,
              36232: 22741,
              36233: 25335,
              36234: 28640,
              36235: 35946,
              36236: 36703,
              36237: 40633,
              36238: 20811,
              36239: 21051,
              36240: 21578,
              36241: 22269,
              36242: 31296,
              36243: 37239,
              36244: 40288,
              36245: 40658,
              36246: 29508,
              36247: 28425,
              36248: 33136,
              36249: 29969,
              36250: 24573,
              36251: 24794,
              36252: 39592,
              36253: 29403,
              36254: 36796,
              36255: 27492,
              36256: 38915,
              36257: 20170,
              36258: 22256,
              36259: 22372,
              36260: 22718,
              36261: 23130,
              36262: 24680,
              36263: 25031,
              36264: 26127,
              36265: 26118,
              36266: 26681,
              36267: 26801,
              36268: 28151,
              36269: 30165,
              36270: 32058,
              36271: 33390,
              36272: 39746,
              36273: 20123,
              36274: 20304,
              36275: 21449,
              36276: 21766,
              36277: 23919,
              36278: 24038,
              36279: 24046,
              36280: 26619,
              36281: 27801,
              36282: 29811,
              36283: 30722,
              36284: 35408,
              36285: 37782,
              36286: 35039,
              36287: 22352,
              36288: 24231,
              36289: 25387,
              36290: 20661,
              36291: 20652,
              36292: 20877,
              36293: 26368,
              36294: 21705,
              36295: 22622,
              36296: 22971,
              36297: 23472,
              36298: 24425,
              36299: 25165,
              36300: 25505,
              36301: 26685,
              36302: 27507,
              36303: 28168,
              36304: 28797,
              36305: 37319,
              36306: 29312,
              36307: 30741,
              36308: 30758,
              36309: 31085,
              36310: 25998,
              36311: 32048,
              36312: 33756,
              36313: 35009,
              36314: 36617,
              36315: 38555,
              36316: 21092,
              36317: 22312,
              36318: 26448,
              36319: 32618,
              36320: 36001,
              36321: 20916,
              36322: 22338,
              36323: 38442,
              36324: 22586,
              36325: 27018,
              36326: 32948,
              36327: 21682,
              36328: 23822,
              36329: 22524,
              36330: 30869,
              36331: 40442,
              36332: 20316,
              36333: 21066,
              36334: 21643,
              36335: 25662,
              36336: 26152,
              36337: 26388,
              36338: 26613,
              36339: 31364,
              36340: 31574,
              36341: 32034,
              36342: 37679,
              36343: 26716,
              36344: 39853,
              36345: 31545,
              36346: 21273,
              36347: 20874,
              36348: 21047,
              36416: 23519,
              36417: 25334,
              36418: 25774,
              36419: 25830,
              36420: 26413,
              36421: 27578,
              36422: 34217,
              36423: 38609,
              36424: 30352,
              36425: 39894,
              36426: 25420,
              36427: 37638,
              36428: 39851,
              36429: 30399,
              36430: 26194,
              36431: 19977,
              36432: 20632,
              36433: 21442,
              36434: 23665,
              36435: 24808,
              36436: 25746,
              36437: 25955,
              36438: 26719,
              36439: 29158,
              36440: 29642,
              36441: 29987,
              36442: 31639,
              36443: 32386,
              36444: 34453,
              36445: 35715,
              36446: 36059,
              36447: 37240,
              36448: 39184,
              36449: 26028,
              36450: 26283,
              36451: 27531,
              36452: 20181,
              36453: 20180,
              36454: 20282,
              36455: 20351,
              36456: 21050,
              36457: 21496,
              36458: 21490,
              36459: 21987,
              36460: 22235,
              36461: 22763,
              36462: 22987,
              36463: 22985,
              36464: 23039,
              36465: 23376,
              36466: 23629,
              36467: 24066,
              36468: 24107,
              36469: 24535,
              36470: 24605,
              36471: 25351,
              36472: 25903,
              36473: 23388,
              36474: 26031,
              36475: 26045,
              36476: 26088,
              36477: 26525,
              36478: 27490,
              36480: 27515,
              36481: 27663,
              36482: 29509,
              36483: 31049,
              36484: 31169,
              36485: 31992,
              36486: 32025,
              36487: 32043,
              36488: 32930,
              36489: 33026,
              36490: 33267,
              36491: 35222,
              36492: 35422,
              36493: 35433,
              36494: 35430,
              36495: 35468,
              36496: 35566,
              36497: 36039,
              36498: 36060,
              36499: 38604,
              36500: 39164,
              36501: 27503,
              36502: 20107,
              36503: 20284,
              36504: 20365,
              36505: 20816,
              36506: 23383,
              36507: 23546,
              36508: 24904,
              36509: 25345,
              36510: 26178,
              36511: 27425,
              36512: 28363,
              36513: 27835,
              36514: 29246,
              36515: 29885,
              36516: 30164,
              36517: 30913,
              36518: 31034,
              36519: 32780,
              36520: 32819,
              36521: 33258,
              36522: 33940,
              36523: 36766,
              36524: 27728,
              36525: 40575,
              36526: 24335,
              36527: 35672,
              36528: 40235,
              36529: 31482,
              36530: 36600,
              36531: 23437,
              36532: 38635,
              36533: 19971,
              36534: 21489,
              36535: 22519,
              36536: 22833,
              36537: 23241,
              36538: 23460,
              36539: 24713,
              36540: 28287,
              36541: 28422,
              36542: 30142,
              36543: 36074,
              36544: 23455,
              36545: 34048,
              36546: 31712,
              36547: 20594,
              36548: 26612,
              36549: 33437,
              36550: 23649,
              36551: 34122,
              36552: 32286,
              36553: 33294,
              36554: 20889,
              36555: 23556,
              36556: 25448,
              36557: 36198,
              36558: 26012,
              36559: 29038,
              36560: 31038,
              36561: 32023,
              36562: 32773,
              36563: 35613,
              36564: 36554,
              36565: 36974,
              36566: 34503,
              36567: 37034,
              36568: 20511,
              36569: 21242,
              36570: 23610,
              36571: 26451,
              36572: 28796,
              36573: 29237,
              36574: 37196,
              36575: 37320,
              36576: 37675,
              36577: 33509,
              36578: 23490,
              36579: 24369,
              36580: 24825,
              36581: 20027,
              36582: 21462,
              36583: 23432,
              36584: 25163,
              36585: 26417,
              36586: 27530,
              36587: 29417,
              36588: 29664,
              36589: 31278,
              36590: 33131,
              36591: 36259,
              36592: 37202,
              36593: 39318,
              36594: 20754,
              36595: 21463,
              36596: 21610,
              36597: 23551,
              36598: 25480,
              36599: 27193,
              36600: 32172,
              36601: 38656,
              36602: 22234,
              36603: 21454,
              36604: 21608,
              36672: 23447,
              36673: 23601,
              36674: 24030,
              36675: 20462,
              36676: 24833,
              36677: 25342,
              36678: 27954,
              36679: 31168,
              36680: 31179,
              36681: 32066,
              36682: 32333,
              36683: 32722,
              36684: 33261,
              36685: 33311,
              36686: 33936,
              36687: 34886,
              36688: 35186,
              36689: 35728,
              36690: 36468,
              36691: 36655,
              36692: 36913,
              36693: 37195,
              36694: 37228,
              36695: 38598,
              36696: 37276,
              36697: 20160,
              36698: 20303,
              36699: 20805,
              36700: 21313,
              36701: 24467,
              36702: 25102,
              36703: 26580,
              36704: 27713,
              36705: 28171,
              36706: 29539,
              36707: 32294,
              36708: 37325,
              36709: 37507,
              36710: 21460,
              36711: 22809,
              36712: 23487,
              36713: 28113,
              36714: 31069,
              36715: 32302,
              36716: 31899,
              36717: 22654,
              36718: 29087,
              36719: 20986,
              36720: 34899,
              36721: 36848,
              36722: 20426,
              36723: 23803,
              36724: 26149,
              36725: 30636,
              36726: 31459,
              36727: 33308,
              36728: 39423,
              36729: 20934,
              36730: 24490,
              36731: 26092,
              36732: 26991,
              36733: 27529,
              36734: 28147,
              36736: 28310,
              36737: 28516,
              36738: 30462,
              36739: 32020,
              36740: 24033,
              36741: 36981,
              36742: 37255,
              36743: 38918,
              36744: 20966,
              36745: 21021,
              36746: 25152,
              36747: 26257,
              36748: 26329,
              36749: 28186,
              36750: 24246,
              36751: 32210,
              36752: 32626,
              36753: 26360,
              36754: 34223,
              36755: 34295,
              36756: 35576,
              36757: 21161,
              36758: 21465,
              36759: 22899,
              36760: 24207,
              36761: 24464,
              36762: 24661,
              36763: 37604,
              36764: 38500,
              36765: 20663,
              36766: 20767,
              36767: 21213,
              36768: 21280,
              36769: 21319,
              36770: 21484,
              36771: 21736,
              36772: 21830,
              36773: 21809,
              36774: 22039,
              36775: 22888,
              36776: 22974,
              36777: 23100,
              36778: 23477,
              36779: 23558,
              36780: 23567,
              36781: 23569,
              36782: 23578,
              36783: 24196,
              36784: 24202,
              36785: 24288,
              36786: 24432,
              36787: 25215,
              36788: 25220,
              36789: 25307,
              36790: 25484,
              36791: 25463,
              36792: 26119,
              36793: 26124,
              36794: 26157,
              36795: 26230,
              36796: 26494,
              36797: 26786,
              36798: 27167,
              36799: 27189,
              36800: 27836,
              36801: 28040,
              36802: 28169,
              36803: 28248,
              36804: 28988,
              36805: 28966,
              36806: 29031,
              36807: 30151,
              36808: 30465,
              36809: 30813,
              36810: 30977,
              36811: 31077,
              36812: 31216,
              36813: 31456,
              36814: 31505,
              36815: 31911,
              36816: 32057,
              36817: 32918,
              36818: 33750,
              36819: 33931,
              36820: 34121,
              36821: 34909,
              36822: 35059,
              36823: 35359,
              36824: 35388,
              36825: 35412,
              36826: 35443,
              36827: 35937,
              36828: 36062,
              36829: 37284,
              36830: 37478,
              36831: 37758,
              36832: 37912,
              36833: 38556,
              36834: 38808,
              36835: 19978,
              36836: 19976,
              36837: 19998,
              36838: 20055,
              36839: 20887,
              36840: 21104,
              36841: 22478,
              36842: 22580,
              36843: 22732,
              36844: 23330,
              36845: 24120,
              36846: 24773,
              36847: 25854,
              36848: 26465,
              36849: 26454,
              36850: 27972,
              36851: 29366,
              36852: 30067,
              36853: 31331,
              36854: 33976,
              36855: 35698,
              36856: 37304,
              36857: 37664,
              36858: 22065,
              36859: 22516,
              36860: 39166,
              36928: 25325,
              36929: 26893,
              36930: 27542,
              36931: 29165,
              36932: 32340,
              36933: 32887,
              36934: 33394,
              36935: 35302,
              36936: 39135,
              36937: 34645,
              36938: 36785,
              36939: 23611,
              36940: 20280,
              36941: 20449,
              36942: 20405,
              36943: 21767,
              36944: 23072,
              36945: 23517,
              36946: 23529,
              36947: 24515,
              36948: 24910,
              36949: 25391,
              36950: 26032,
              36951: 26187,
              36952: 26862,
              36953: 27035,
              36954: 28024,
              36955: 28145,
              36956: 30003,
              36957: 30137,
              36958: 30495,
              36959: 31070,
              36960: 31206,
              36961: 32051,
              36962: 33251,
              36963: 33455,
              36964: 34218,
              36965: 35242,
              36966: 35386,
              36967: 36523,
              36968: 36763,
              36969: 36914,
              36970: 37341,
              36971: 38663,
              36972: 20154,
              36973: 20161,
              36974: 20995,
              36975: 22645,
              36976: 22764,
              36977: 23563,
              36978: 29978,
              36979: 23613,
              36980: 33102,
              36981: 35338,
              36982: 36805,
              36983: 38499,
              36984: 38765,
              36985: 31525,
              36986: 35535,
              36987: 38920,
              36988: 37218,
              36989: 22259,
              36990: 21416,
              36992: 36887,
              36993: 21561,
              36994: 22402,
              36995: 24101,
              36996: 25512,
              36997: 27700,
              36998: 28810,
              36999: 30561,
              37e3: 31883,
              37001: 32736,
              37002: 34928,
              37003: 36930,
              37004: 37204,
              37005: 37648,
              37006: 37656,
              37007: 38543,
              37008: 29790,
              37009: 39620,
              37010: 23815,
              37011: 23913,
              37012: 25968,
              37013: 26530,
              37014: 36264,
              37015: 38619,
              37016: 25454,
              37017: 26441,
              37018: 26905,
              37019: 33733,
              37020: 38935,
              37021: 38592,
              37022: 35070,
              37023: 28548,
              37024: 25722,
              37025: 23544,
              37026: 19990,
              37027: 28716,
              37028: 30045,
              37029: 26159,
              37030: 20932,
              37031: 21046,
              37032: 21218,
              37033: 22995,
              37034: 24449,
              37035: 24615,
              37036: 25104,
              37037: 25919,
              37038: 25972,
              37039: 26143,
              37040: 26228,
              37041: 26866,
              37042: 26646,
              37043: 27491,
              37044: 28165,
              37045: 29298,
              37046: 29983,
              37047: 30427,
              37048: 31934,
              37049: 32854,
              37050: 22768,
              37051: 35069,
              37052: 35199,
              37053: 35488,
              37054: 35475,
              37055: 35531,
              37056: 36893,
              37057: 37266,
              37058: 38738,
              37059: 38745,
              37060: 25993,
              37061: 31246,
              37062: 33030,
              37063: 38587,
              37064: 24109,
              37065: 24796,
              37066: 25114,
              37067: 26021,
              37068: 26132,
              37069: 26512,
              37070: 30707,
              37071: 31309,
              37072: 31821,
              37073: 32318,
              37074: 33034,
              37075: 36012,
              37076: 36196,
              37077: 36321,
              37078: 36447,
              37079: 30889,
              37080: 20999,
              37081: 25305,
              37082: 25509,
              37083: 25666,
              37084: 25240,
              37085: 35373,
              37086: 31363,
              37087: 31680,
              37088: 35500,
              37089: 38634,
              37090: 32118,
              37091: 33292,
              37092: 34633,
              37093: 20185,
              37094: 20808,
              37095: 21315,
              37096: 21344,
              37097: 23459,
              37098: 23554,
              37099: 23574,
              37100: 24029,
              37101: 25126,
              37102: 25159,
              37103: 25776,
              37104: 26643,
              37105: 26676,
              37106: 27849,
              37107: 27973,
              37108: 27927,
              37109: 26579,
              37110: 28508,
              37111: 29006,
              37112: 29053,
              37113: 26059,
              37114: 31359,
              37115: 31661,
              37116: 32218,
              37184: 32330,
              37185: 32680,
              37186: 33146,
              37187: 33307,
              37188: 33337,
              37189: 34214,
              37190: 35438,
              37191: 36046,
              37192: 36341,
              37193: 36984,
              37194: 36983,
              37195: 37549,
              37196: 37521,
              37197: 38275,
              37198: 39854,
              37199: 21069,
              37200: 21892,
              37201: 28472,
              37202: 28982,
              37203: 20840,
              37204: 31109,
              37205: 32341,
              37206: 33203,
              37207: 31950,
              37208: 22092,
              37209: 22609,
              37210: 23720,
              37211: 25514,
              37212: 26366,
              37213: 26365,
              37214: 26970,
              37215: 29401,
              37216: 30095,
              37217: 30094,
              37218: 30990,
              37219: 31062,
              37220: 31199,
              37221: 31895,
              37222: 32032,
              37223: 32068,
              37224: 34311,
              37225: 35380,
              37226: 38459,
              37227: 36961,
              37228: 40736,
              37229: 20711,
              37230: 21109,
              37231: 21452,
              37232: 21474,
              37233: 20489,
              37234: 21930,
              37235: 22766,
              37236: 22863,
              37237: 29245,
              37238: 23435,
              37239: 23652,
              37240: 21277,
              37241: 24803,
              37242: 24819,
              37243: 25436,
              37244: 25475,
              37245: 25407,
              37246: 25531,
              37248: 25805,
              37249: 26089,
              37250: 26361,
              37251: 24035,
              37252: 27085,
              37253: 27133,
              37254: 28437,
              37255: 29157,
              37256: 20105,
              37257: 30185,
              37258: 30456,
              37259: 31379,
              37260: 31967,
              37261: 32207,
              37262: 32156,
              37263: 32865,
              37264: 33609,
              37265: 33624,
              37266: 33900,
              37267: 33980,
              37268: 34299,
              37269: 35013,
              37270: 36208,
              37271: 36865,
              37272: 36973,
              37273: 37783,
              37274: 38684,
              37275: 39442,
              37276: 20687,
              37277: 22679,
              37278: 24974,
              37279: 33235,
              37280: 34101,
              37281: 36104,
              37282: 36896,
              37283: 20419,
              37284: 20596,
              37285: 21063,
              37286: 21363,
              37287: 24687,
              37288: 25417,
              37289: 26463,
              37290: 28204,
              37291: 36275,
              37292: 36895,
              37293: 20439,
              37294: 23646,
              37295: 36042,
              37296: 26063,
              37297: 32154,
              37298: 21330,
              37299: 34966,
              37300: 20854,
              37301: 25539,
              37302: 23384,
              37303: 23403,
              37304: 23562,
              37305: 25613,
              37306: 26449,
              37307: 36956,
              37308: 20182,
              37309: 22810,
              37310: 22826,
              37311: 27760,
              37312: 35409,
              37313: 21822,
              37314: 22549,
              37315: 22949,
              37316: 24816,
              37317: 25171,
              37318: 26561,
              37319: 33333,
              37320: 26965,
              37321: 38464,
              37322: 39364,
              37323: 39464,
              37324: 20307,
              37325: 22534,
              37326: 23550,
              37327: 32784,
              37328: 23729,
              37329: 24111,
              37330: 24453,
              37331: 24608,
              37332: 24907,
              37333: 25140,
              37334: 26367,
              37335: 27888,
              37336: 28382,
              37337: 32974,
              37338: 33151,
              37339: 33492,
              37340: 34955,
              37341: 36024,
              37342: 36864,
              37343: 36910,
              37344: 38538,
              37345: 40667,
              37346: 39899,
              37347: 20195,
              37348: 21488,
              37349: 22823,
              37350: 31532,
              37351: 37261,
              37352: 38988,
              37353: 40441,
              37354: 28381,
              37355: 28711,
              37356: 21331,
              37357: 21828,
              37358: 23429,
              37359: 25176,
              37360: 25246,
              37361: 25299,
              37362: 27810,
              37363: 28655,
              37364: 29730,
              37365: 35351,
              37366: 37944,
              37367: 28609,
              37368: 35582,
              37369: 33592,
              37370: 20967,
              37371: 34552,
              37372: 21482,
              37440: 21481,
              37441: 20294,
              37442: 36948,
              37443: 36784,
              37444: 22890,
              37445: 33073,
              37446: 24061,
              37447: 31466,
              37448: 36799,
              37449: 26842,
              37450: 35895,
              37451: 29432,
              37452: 40008,
              37453: 27197,
              37454: 35504,
              37455: 20025,
              37456: 21336,
              37457: 22022,
              37458: 22374,
              37459: 25285,
              37460: 25506,
              37461: 26086,
              37462: 27470,
              37463: 28129,
              37464: 28251,
              37465: 28845,
              37466: 30701,
              37467: 31471,
              37468: 31658,
              37469: 32187,
              37470: 32829,
              37471: 32966,
              37472: 34507,
              37473: 35477,
              37474: 37723,
              37475: 22243,
              37476: 22727,
              37477: 24382,
              37478: 26029,
              37479: 26262,
              37480: 27264,
              37481: 27573,
              37482: 30007,
              37483: 35527,
              37484: 20516,
              37485: 30693,
              37486: 22320,
              37487: 24347,
              37488: 24677,
              37489: 26234,
              37490: 27744,
              37491: 30196,
              37492: 31258,
              37493: 32622,
              37494: 33268,
              37495: 34584,
              37496: 36933,
              37497: 39347,
              37498: 31689,
              37499: 30044,
              37500: 31481,
              37501: 31569,
              37502: 33988,
              37504: 36880,
              37505: 31209,
              37506: 31378,
              37507: 33590,
              37508: 23265,
              37509: 30528,
              37510: 20013,
              37511: 20210,
              37512: 23449,
              37513: 24544,
              37514: 25277,
              37515: 26172,
              37516: 26609,
              37517: 27880,
              37518: 34411,
              37519: 34935,
              37520: 35387,
              37521: 37198,
              37522: 37619,
              37523: 39376,
              37524: 27159,
              37525: 28710,
              37526: 29482,
              37527: 33511,
              37528: 33879,
              37529: 36015,
              37530: 19969,
              37531: 20806,
              37532: 20939,
              37533: 21899,
              37534: 23541,
              37535: 24086,
              37536: 24115,
              37537: 24193,
              37538: 24340,
              37539: 24373,
              37540: 24427,
              37541: 24500,
              37542: 25074,
              37543: 25361,
              37544: 26274,
              37545: 26397,
              37546: 28526,
              37547: 29266,
              37548: 30010,
              37549: 30522,
              37550: 32884,
              37551: 33081,
              37552: 33144,
              37553: 34678,
              37554: 35519,
              37555: 35548,
              37556: 36229,
              37557: 36339,
              37558: 37530,
              37559: 38263,
              37560: 38914,
              37561: 40165,
              37562: 21189,
              37563: 25431,
              37564: 30452,
              37565: 26389,
              37566: 27784,
              37567: 29645,
              37568: 36035,
              37569: 37806,
              37570: 38515,
              37571: 27941,
              37572: 22684,
              37573: 26894,
              37574: 27084,
              37575: 36861,
              37576: 37786,
              37577: 30171,
              37578: 36890,
              37579: 22618,
              37580: 26626,
              37581: 25524,
              37582: 27131,
              37583: 20291,
              37584: 28460,
              37585: 26584,
              37586: 36795,
              37587: 34086,
              37588: 32180,
              37589: 37716,
              37590: 26943,
              37591: 28528,
              37592: 22378,
              37593: 22775,
              37594: 23340,
              37595: 32044,
              37596: 29226,
              37597: 21514,
              37598: 37347,
              37599: 40372,
              37600: 20141,
              37601: 20302,
              37602: 20572,
              37603: 20597,
              37604: 21059,
              37605: 35998,
              37606: 21576,
              37607: 22564,
              37608: 23450,
              37609: 24093,
              37610: 24213,
              37611: 24237,
              37612: 24311,
              37613: 24351,
              37614: 24716,
              37615: 25269,
              37616: 25402,
              37617: 25552,
              37618: 26799,
              37619: 27712,
              37620: 30855,
              37621: 31118,
              37622: 31243,
              37623: 32224,
              37624: 33351,
              37625: 35330,
              37626: 35558,
              37627: 36420,
              37628: 36883,
              37696: 37048,
              37697: 37165,
              37698: 37336,
              37699: 40718,
              37700: 27877,
              37701: 25688,
              37702: 25826,
              37703: 25973,
              37704: 28404,
              37705: 30340,
              37706: 31515,
              37707: 36969,
              37708: 37841,
              37709: 28346,
              37710: 21746,
              37711: 24505,
              37712: 25764,
              37713: 36685,
              37714: 36845,
              37715: 37444,
              37716: 20856,
              37717: 22635,
              37718: 22825,
              37719: 23637,
              37720: 24215,
              37721: 28155,
              37722: 32399,
              37723: 29980,
              37724: 36028,
              37725: 36578,
              37726: 39003,
              37727: 28857,
              37728: 20253,
              37729: 27583,
              37730: 28593,
              37731: 3e4,
              37732: 38651,
              37733: 20814,
              37734: 21520,
              37735: 22581,
              37736: 22615,
              37737: 22956,
              37738: 23648,
              37739: 24466,
              37740: 26007,
              37741: 26460,
              37742: 28193,
              37743: 30331,
              37744: 33759,
              37745: 36077,
              37746: 36884,
              37747: 37117,
              37748: 37709,
              37749: 30757,
              37750: 30778,
              37751: 21162,
              37752: 24230,
              37753: 22303,
              37754: 22900,
              37755: 24594,
              37756: 20498,
              37757: 20826,
              37758: 20908,
              37760: 20941,
              37761: 20992,
              37762: 21776,
              37763: 22612,
              37764: 22616,
              37765: 22871,
              37766: 23445,
              37767: 23798,
              37768: 23947,
              37769: 24764,
              37770: 25237,
              37771: 25645,
              37772: 26481,
              37773: 26691,
              37774: 26812,
              37775: 26847,
              37776: 30423,
              37777: 28120,
              37778: 28271,
              37779: 28059,
              37780: 28783,
              37781: 29128,
              37782: 24403,
              37783: 30168,
              37784: 31095,
              37785: 31561,
              37786: 31572,
              37787: 31570,
              37788: 31958,
              37789: 32113,
              37790: 21040,
              37791: 33891,
              37792: 34153,
              37793: 34276,
              37794: 35342,
              37795: 35588,
              37796: 35910,
              37797: 36367,
              37798: 36867,
              37799: 36879,
              37800: 37913,
              37801: 38518,
              37802: 38957,
              37803: 39472,
              37804: 38360,
              37805: 20685,
              37806: 21205,
              37807: 21516,
              37808: 22530,
              37809: 23566,
              37810: 24999,
              37811: 25758,
              37812: 27934,
              37813: 30643,
              37814: 31461,
              37815: 33012,
              37816: 33796,
              37817: 36947,
              37818: 37509,
              37819: 23776,
              37820: 40199,
              37821: 21311,
              37822: 24471,
              37823: 24499,
              37824: 28060,
              37825: 29305,
              37826: 30563,
              37827: 31167,
              37828: 31716,
              37829: 27602,
              37830: 29420,
              37831: 35501,
              37832: 26627,
              37833: 27233,
              37834: 20984,
              37835: 31361,
              37836: 26932,
              37837: 23626,
              37838: 40182,
              37839: 33515,
              37840: 23493,
              37841: 37193,
              37842: 28702,
              37843: 22136,
              37844: 23663,
              37845: 24775,
              37846: 25958,
              37847: 27788,
              37848: 35930,
              37849: 36929,
              37850: 38931,
              37851: 21585,
              37852: 26311,
              37853: 37389,
              37854: 22856,
              37855: 37027,
              37856: 20869,
              37857: 20045,
              37858: 20970,
              37859: 34201,
              37860: 35598,
              37861: 28760,
              37862: 25466,
              37863: 37707,
              37864: 26978,
              37865: 39348,
              37866: 32260,
              37867: 30071,
              37868: 21335,
              37869: 26976,
              37870: 36575,
              37871: 38627,
              37872: 27741,
              37873: 20108,
              37874: 23612,
              37875: 24336,
              37876: 36841,
              37877: 21250,
              37878: 36049,
              37879: 32905,
              37880: 34425,
              37881: 24319,
              37882: 26085,
              37883: 20083,
              37884: 20837,
              37952: 22914,
              37953: 23615,
              37954: 38894,
              37955: 20219,
              37956: 22922,
              37957: 24525,
              37958: 35469,
              37959: 28641,
              37960: 31152,
              37961: 31074,
              37962: 23527,
              37963: 33905,
              37964: 29483,
              37965: 29105,
              37966: 24180,
              37967: 24565,
              37968: 25467,
              37969: 25754,
              37970: 29123,
              37971: 31896,
              37972: 20035,
              37973: 24316,
              37974: 20043,
              37975: 22492,
              37976: 22178,
              37977: 24745,
              37978: 28611,
              37979: 32013,
              37980: 33021,
              37981: 33075,
              37982: 33215,
              37983: 36786,
              37984: 35223,
              37985: 34468,
              37986: 24052,
              37987: 25226,
              37988: 25773,
              37989: 35207,
              37990: 26487,
              37991: 27874,
              37992: 27966,
              37993: 29750,
              37994: 30772,
              37995: 23110,
              37996: 32629,
              37997: 33453,
              37998: 39340,
              37999: 20467,
              38e3: 24259,
              38001: 25309,
              38002: 25490,
              38003: 25943,
              38004: 26479,
              38005: 30403,
              38006: 29260,
              38007: 32972,
              38008: 32954,
              38009: 36649,
              38010: 37197,
              38011: 20493,
              38012: 22521,
              38013: 23186,
              38014: 26757,
              38016: 26995,
              38017: 29028,
              38018: 29437,
              38019: 36023,
              38020: 22770,
              38021: 36064,
              38022: 38506,
              38023: 36889,
              38024: 34687,
              38025: 31204,
              38026: 30695,
              38027: 33833,
              38028: 20271,
              38029: 21093,
              38030: 21338,
              38031: 25293,
              38032: 26575,
              38033: 27850,
              38034: 30333,
              38035: 31636,
              38036: 31893,
              38037: 33334,
              38038: 34180,
              38039: 36843,
              38040: 26333,
              38041: 28448,
              38042: 29190,
              38043: 32283,
              38044: 33707,
              38045: 39361,
              38046: 40614,
              38047: 20989,
              38048: 31665,
              38049: 30834,
              38050: 31672,
              38051: 32903,
              38052: 31560,
              38053: 27368,
              38054: 24161,
              38055: 32908,
              38056: 30033,
              38057: 30048,
              38058: 20843,
              38059: 37474,
              38060: 28300,
              38061: 30330,
              38062: 37271,
              38063: 39658,
              38064: 20240,
              38065: 32624,
              38066: 25244,
              38067: 31567,
              38068: 38309,
              38069: 40169,
              38070: 22138,
              38071: 22617,
              38072: 34532,
              38073: 38588,
              38074: 20276,
              38075: 21028,
              38076: 21322,
              38077: 21453,
              38078: 21467,
              38079: 24070,
              38080: 25644,
              38081: 26001,
              38082: 26495,
              38083: 27710,
              38084: 27726,
              38085: 29256,
              38086: 29359,
              38087: 29677,
              38088: 30036,
              38089: 32321,
              38090: 33324,
              38091: 34281,
              38092: 36009,
              38093: 31684,
              38094: 37318,
              38095: 29033,
              38096: 38930,
              38097: 39151,
              38098: 25405,
              38099: 26217,
              38100: 30058,
              38101: 30436,
              38102: 30928,
              38103: 34115,
              38104: 34542,
              38105: 21290,
              38106: 21329,
              38107: 21542,
              38108: 22915,
              38109: 24199,
              38110: 24444,
              38111: 24754,
              38112: 25161,
              38113: 25209,
              38114: 25259,
              38115: 26e3,
              38116: 27604,
              38117: 27852,
              38118: 30130,
              38119: 30382,
              38120: 30865,
              38121: 31192,
              38122: 32203,
              38123: 32631,
              38124: 32933,
              38125: 34987,
              38126: 35513,
              38127: 36027,
              38128: 36991,
              38129: 38750,
              38130: 39131,
              38131: 27147,
              38132: 31800,
              38133: 20633,
              38134: 23614,
              38135: 24494,
              38136: 26503,
              38137: 27608,
              38138: 29749,
              38139: 30473,
              38140: 32654,
              38208: 40763,
              38209: 26570,
              38210: 31255,
              38211: 21305,
              38212: 30091,
              38213: 39661,
              38214: 24422,
              38215: 33181,
              38216: 33777,
              38217: 32920,
              38218: 24380,
              38219: 24517,
              38220: 30050,
              38221: 31558,
              38222: 36924,
              38223: 26727,
              38224: 23019,
              38225: 23195,
              38226: 32016,
              38227: 30334,
              38228: 35628,
              38229: 20469,
              38230: 24426,
              38231: 27161,
              38232: 27703,
              38233: 28418,
              38234: 29922,
              38235: 31080,
              38236: 34920,
              38237: 35413,
              38238: 35961,
              38239: 24287,
              38240: 25551,
              38241: 30149,
              38242: 31186,
              38243: 33495,
              38244: 37672,
              38245: 37618,
              38246: 33948,
              38247: 34541,
              38248: 39981,
              38249: 21697,
              38250: 24428,
              38251: 25996,
              38252: 27996,
              38253: 28693,
              38254: 36007,
              38255: 36051,
              38256: 38971,
              38257: 25935,
              38258: 29942,
              38259: 19981,
              38260: 20184,
              38261: 22496,
              38262: 22827,
              38263: 23142,
              38264: 23500,
              38265: 20904,
              38266: 24067,
              38267: 24220,
              38268: 24598,
              38269: 25206,
              38270: 25975,
              38272: 26023,
              38273: 26222,
              38274: 28014,
              38275: 29238,
              38276: 31526,
              38277: 33104,
              38278: 33178,
              38279: 33433,
              38280: 35676,
              38281: 36e3,
              38282: 36070,
              38283: 36212,
              38284: 38428,
              38285: 38468,
              38286: 20398,
              38287: 25771,
              38288: 27494,
              38289: 33310,
              38290: 33889,
              38291: 34154,
              38292: 37096,
              38293: 23553,
              38294: 26963,
              38295: 39080,
              38296: 33914,
              38297: 34135,
              38298: 20239,
              38299: 21103,
              38300: 24489,
              38301: 24133,
              38302: 26381,
              38303: 31119,
              38304: 33145,
              38305: 35079,
              38306: 35206,
              38307: 28149,
              38308: 24343,
              38309: 25173,
              38310: 27832,
              38311: 20175,
              38312: 29289,
              38313: 39826,
              38314: 20998,
              38315: 21563,
              38316: 22132,
              38317: 22707,
              38318: 24996,
              38319: 25198,
              38320: 28954,
              38321: 22894,
              38322: 31881,
              38323: 31966,
              38324: 32027,
              38325: 38640,
              38326: 25991,
              38327: 32862,
              38328: 19993,
              38329: 20341,
              38330: 20853,
              38331: 22592,
              38332: 24163,
              38333: 24179,
              38334: 24330,
              38335: 26564,
              38336: 20006,
              38337: 34109,
              38338: 38281,
              38339: 38491,
              38340: 31859,
              38341: 38913,
              38342: 20731,
              38343: 22721,
              38344: 30294,
              38345: 30887,
              38346: 21029,
              38347: 30629,
              38348: 34065,
              38349: 31622,
              38350: 20559,
              38351: 22793,
              38352: 29255,
              38353: 31687,
              38354: 32232,
              38355: 36794,
              38356: 36820,
              38357: 36941,
              38358: 20415,
              38359: 21193,
              38360: 23081,
              38361: 24321,
              38362: 38829,
              38363: 20445,
              38364: 33303,
              38365: 37610,
              38366: 22275,
              38367: 25429,
              38368: 27497,
              38369: 29995,
              38370: 35036,
              38371: 36628,
              38372: 31298,
              38373: 21215,
              38374: 22675,
              38375: 24917,
              38376: 25098,
              38377: 26286,
              38378: 27597,
              38379: 31807,
              38380: 33769,
              38381: 20515,
              38382: 20472,
              38383: 21253,
              38384: 21574,
              38385: 22577,
              38386: 22857,
              38387: 23453,
              38388: 23792,
              38389: 23791,
              38390: 23849,
              38391: 24214,
              38392: 25265,
              38393: 25447,
              38394: 25918,
              38395: 26041,
              38396: 26379,
              38464: 27861,
              38465: 27873,
              38466: 28921,
              38467: 30770,
              38468: 32299,
              38469: 32990,
              38470: 33459,
              38471: 33804,
              38472: 34028,
              38473: 34562,
              38474: 35090,
              38475: 35370,
              38476: 35914,
              38477: 37030,
              38478: 37586,
              38479: 39165,
              38480: 40179,
              38481: 40300,
              38482: 20047,
              38483: 20129,
              38484: 20621,
              38485: 21078,
              38486: 22346,
              38487: 22952,
              38488: 24125,
              38489: 24536,
              38490: 24537,
              38491: 25151,
              38492: 26292,
              38493: 26395,
              38494: 26576,
              38495: 26834,
              38496: 20882,
              38497: 32033,
              38498: 32938,
              38499: 33192,
              38500: 35584,
              38501: 35980,
              38502: 36031,
              38503: 37502,
              38504: 38450,
              38505: 21536,
              38506: 38956,
              38507: 21271,
              38508: 20693,
              38509: 21340,
              38510: 22696,
              38511: 25778,
              38512: 26420,
              38513: 29287,
              38514: 30566,
              38515: 31302,
              38516: 37350,
              38517: 21187,
              38518: 27809,
              38519: 27526,
              38520: 22528,
              38521: 24140,
              38522: 22868,
              38523: 26412,
              38524: 32763,
              38525: 20961,
              38526: 30406,
              38528: 25705,
              38529: 30952,
              38530: 39764,
              38531: 40635,
              38532: 22475,
              38533: 22969,
              38534: 26151,
              38535: 26522,
              38536: 27598,
              38537: 21737,
              38538: 27097,
              38539: 24149,
              38540: 33180,
              38541: 26517,
              38542: 39850,
              38543: 26622,
              38544: 40018,
              38545: 26717,
              38546: 20134,
              38547: 20451,
              38548: 21448,
              38549: 25273,
              38550: 26411,
              38551: 27819,
              38552: 36804,
              38553: 20397,
              38554: 32365,
              38555: 40639,
              38556: 19975,
              38557: 24930,
              38558: 28288,
              38559: 28459,
              38560: 34067,
              38561: 21619,
              38562: 26410,
              38563: 39749,
              38564: 24051,
              38565: 31637,
              38566: 23724,
              38567: 23494,
              38568: 34588,
              38569: 28234,
              38570: 34001,
              38571: 31252,
              38572: 33032,
              38573: 22937,
              38574: 31885,
              38575: 27665,
              38576: 30496,
              38577: 21209,
              38578: 22818,
              38579: 28961,
              38580: 29279,
              38581: 30683,
              38582: 38695,
              38583: 40289,
              38584: 26891,
              38585: 23167,
              38586: 23064,
              38587: 20901,
              38588: 21517,
              38589: 21629,
              38590: 26126,
              38591: 30431,
              38592: 36855,
              38593: 37528,
              38594: 40180,
              38595: 23018,
              38596: 29277,
              38597: 28357,
              38598: 20813,
              38599: 26825,
              38600: 32191,
              38601: 32236,
              38602: 38754,
              38603: 40634,
              38604: 25720,
              38605: 27169,
              38606: 33538,
              38607: 22916,
              38608: 23391,
              38609: 27611,
              38610: 29467,
              38611: 30450,
              38612: 32178,
              38613: 32791,
              38614: 33945,
              38615: 20786,
              38616: 26408,
              38617: 40665,
              38618: 30446,
              38619: 26466,
              38620: 21247,
              38621: 39173,
              38622: 23588,
              38623: 25147,
              38624: 31870,
              38625: 36016,
              38626: 21839,
              38627: 24758,
              38628: 32011,
              38629: 38272,
              38630: 21249,
              38631: 20063,
              38632: 20918,
              38633: 22812,
              38634: 29242,
              38635: 32822,
              38636: 37326,
              38637: 24357,
              38638: 30690,
              38639: 21380,
              38640: 24441,
              38641: 32004,
              38642: 34220,
              38643: 35379,
              38644: 36493,
              38645: 38742,
              38646: 26611,
              38647: 34222,
              38648: 37971,
              38649: 24841,
              38650: 24840,
              38651: 27833,
              38652: 30290,
              38720: 35565,
              38721: 36664,
              38722: 21807,
              38723: 20305,
              38724: 20778,
              38725: 21191,
              38726: 21451,
              38727: 23461,
              38728: 24189,
              38729: 24736,
              38730: 24962,
              38731: 25558,
              38732: 26377,
              38733: 26586,
              38734: 28263,
              38735: 28044,
              38736: 29494,
              38737: 29495,
              38738: 30001,
              38739: 31056,
              38740: 35029,
              38741: 35480,
              38742: 36938,
              38743: 37009,
              38744: 37109,
              38745: 38596,
              38746: 34701,
              38747: 22805,
              38748: 20104,
              38749: 20313,
              38750: 19982,
              38751: 35465,
              38752: 36671,
              38753: 38928,
              38754: 20653,
              38755: 24188,
              38756: 22934,
              38757: 23481,
              38758: 24248,
              38759: 25562,
              38760: 25594,
              38761: 25793,
              38762: 26332,
              38763: 26954,
              38764: 27096,
              38765: 27915,
              38766: 28342,
              38767: 29076,
              38768: 29992,
              38769: 31407,
              38770: 32650,
              38771: 32768,
              38772: 33865,
              38773: 33993,
              38774: 35201,
              38775: 35617,
              38776: 36362,
              38777: 36965,
              38778: 38525,
              38779: 39178,
              38780: 24958,
              38781: 25233,
              38782: 27442,
              38784: 27779,
              38785: 28020,
              38786: 32716,
              38787: 32764,
              38788: 28096,
              38789: 32645,
              38790: 34746,
              38791: 35064,
              38792: 26469,
              38793: 33713,
              38794: 38972,
              38795: 38647,
              38796: 27931,
              38797: 32097,
              38798: 33853,
              38799: 37226,
              38800: 20081,
              38801: 21365,
              38802: 23888,
              38803: 27396,
              38804: 28651,
              38805: 34253,
              38806: 34349,
              38807: 35239,
              38808: 21033,
              38809: 21519,
              38810: 23653,
              38811: 26446,
              38812: 26792,
              38813: 29702,
              38814: 29827,
              38815: 30178,
              38816: 35023,
              38817: 35041,
              38818: 37324,
              38819: 38626,
              38820: 38520,
              38821: 24459,
              38822: 29575,
              38823: 31435,
              38824: 33870,
              38825: 25504,
              38826: 30053,
              38827: 21129,
              38828: 27969,
              38829: 28316,
              38830: 29705,
              38831: 30041,
              38832: 30827,
              38833: 31890,
              38834: 38534,
              38835: 31452,
              38836: 40845,
              38837: 20406,
              38838: 24942,
              38839: 26053,
              38840: 34396,
              38841: 20102,
              38842: 20142,
              38843: 20698,
              38844: 20001,
              38845: 20940,
              38846: 23534,
              38847: 26009,
              38848: 26753,
              38849: 28092,
              38850: 29471,
              38851: 30274,
              38852: 30637,
              38853: 31260,
              38854: 31975,
              38855: 33391,
              38856: 35538,
              38857: 36988,
              38858: 37327,
              38859: 38517,
              38860: 38936,
              38861: 21147,
              38862: 32209,
              38863: 20523,
              38864: 21400,
              38865: 26519,
              38866: 28107,
              38867: 29136,
              38868: 29747,
              38869: 33256,
              38870: 36650,
              38871: 38563,
              38872: 40023,
              38873: 40607,
              38874: 29792,
              38875: 22593,
              38876: 28057,
              38877: 32047,
              38878: 39006,
              38879: 20196,
              38880: 20278,
              38881: 20363,
              38882: 20919,
              38883: 21169,
              38884: 23994,
              38885: 24604,
              38886: 29618,
              38887: 31036,
              38888: 33491,
              38889: 37428,
              38890: 38583,
              38891: 38646,
              38892: 38666,
              38893: 40599,
              38894: 40802,
              38895: 26278,
              38896: 27508,
              38897: 21015,
              38898: 21155,
              38899: 28872,
              38900: 35010,
              38901: 24265,
              38902: 24651,
              38903: 24976,
              38904: 28451,
              38905: 29001,
              38906: 31806,
              38907: 32244,
              38908: 32879,
              38976: 34030,
              38977: 36899,
              38978: 37676,
              38979: 21570,
              38980: 39791,
              38981: 27347,
              38982: 28809,
              38983: 36034,
              38984: 36335,
              38985: 38706,
              38986: 21172,
              38987: 23105,
              38988: 24266,
              38989: 24324,
              38990: 26391,
              38991: 27004,
              38992: 27028,
              38993: 28010,
              38994: 28431,
              38995: 29282,
              38996: 29436,
              38997: 31725,
              38998: 32769,
              38999: 32894,
              39e3: 34635,
              39001: 37070,
              39002: 20845,
              39003: 40595,
              39004: 31108,
              39005: 32907,
              39006: 37682,
              39007: 35542,
              39008: 20525,
              39009: 21644,
              39010: 35441,
              39011: 27498,
              39012: 36036,
              39013: 33031,
              39014: 24785,
              39015: 26528,
              39016: 40434,
              39017: 20121,
              39018: 20120,
              39019: 39952,
              39020: 35435,
              39021: 34241,
              39022: 34152,
              39023: 26880,
              39024: 28286,
              39025: 30871,
              39026: 33109,
              39071: 24332,
              39072: 19984,
              39073: 19989,
              39074: 20010,
              39075: 20017,
              39076: 20022,
              39077: 20028,
              39078: 20031,
              39079: 20034,
              39080: 20054,
              39081: 20056,
              39082: 20098,
              39083: 20101,
              39084: 35947,
              39085: 20106,
              39086: 33298,
              39087: 24333,
              39088: 20110,
              39089: 20126,
              39090: 20127,
              39091: 20128,
              39092: 20130,
              39093: 20144,
              39094: 20147,
              39095: 20150,
              39096: 20174,
              39097: 20173,
              39098: 20164,
              39099: 20166,
              39100: 20162,
              39101: 20183,
              39102: 20190,
              39103: 20205,
              39104: 20191,
              39105: 20215,
              39106: 20233,
              39107: 20314,
              39108: 20272,
              39109: 20315,
              39110: 20317,
              39111: 20311,
              39112: 20295,
              39113: 20342,
              39114: 20360,
              39115: 20367,
              39116: 20376,
              39117: 20347,
              39118: 20329,
              39119: 20336,
              39120: 20369,
              39121: 20335,
              39122: 20358,
              39123: 20374,
              39124: 20760,
              39125: 20436,
              39126: 20447,
              39127: 20430,
              39128: 20440,
              39129: 20443,
              39130: 20433,
              39131: 20442,
              39132: 20432,
              39133: 20452,
              39134: 20453,
              39135: 20506,
              39136: 20520,
              39137: 20500,
              39138: 20522,
              39139: 20517,
              39140: 20485,
              39141: 20252,
              39142: 20470,
              39143: 20513,
              39144: 20521,
              39145: 20524,
              39146: 20478,
              39147: 20463,
              39148: 20497,
              39149: 20486,
              39150: 20547,
              39151: 20551,
              39152: 26371,
              39153: 20565,
              39154: 20560,
              39155: 20552,
              39156: 20570,
              39157: 20566,
              39158: 20588,
              39159: 20600,
              39160: 20608,
              39161: 20634,
              39162: 20613,
              39163: 20660,
              39164: 20658,
              39232: 20681,
              39233: 20682,
              39234: 20659,
              39235: 20674,
              39236: 20694,
              39237: 20702,
              39238: 20709,
              39239: 20717,
              39240: 20707,
              39241: 20718,
              39242: 20729,
              39243: 20725,
              39244: 20745,
              39245: 20737,
              39246: 20738,
              39247: 20758,
              39248: 20757,
              39249: 20756,
              39250: 20762,
              39251: 20769,
              39252: 20794,
              39253: 20791,
              39254: 20796,
              39255: 20795,
              39256: 20799,
              39257: 20800,
              39258: 20818,
              39259: 20812,
              39260: 20820,
              39261: 20834,
              39262: 31480,
              39263: 20841,
              39264: 20842,
              39265: 20846,
              39266: 20864,
              39267: 20866,
              39268: 22232,
              39269: 20876,
              39270: 20873,
              39271: 20879,
              39272: 20881,
              39273: 20883,
              39274: 20885,
              39275: 20886,
              39276: 20900,
              39277: 20902,
              39278: 20898,
              39279: 20905,
              39280: 20906,
              39281: 20907,
              39282: 20915,
              39283: 20913,
              39284: 20914,
              39285: 20912,
              39286: 20917,
              39287: 20925,
              39288: 20933,
              39289: 20937,
              39290: 20955,
              39291: 20960,
              39292: 34389,
              39293: 20969,
              39294: 20973,
              39296: 20976,
              39297: 20981,
              39298: 20990,
              39299: 20996,
              39300: 21003,
              39301: 21012,
              39302: 21006,
              39303: 21031,
              39304: 21034,
              39305: 21038,
              39306: 21043,
              39307: 21049,
              39308: 21071,
              39309: 21060,
              39310: 21067,
              39311: 21068,
              39312: 21086,
              39313: 21076,
              39314: 21098,
              39315: 21108,
              39316: 21097,
              39317: 21107,
              39318: 21119,
              39319: 21117,
              39320: 21133,
              39321: 21140,
              39322: 21138,
              39323: 21105,
              39324: 21128,
              39325: 21137,
              39326: 36776,
              39327: 36775,
              39328: 21164,
              39329: 21165,
              39330: 21180,
              39331: 21173,
              39332: 21185,
              39333: 21197,
              39334: 21207,
              39335: 21214,
              39336: 21219,
              39337: 21222,
              39338: 39149,
              39339: 21216,
              39340: 21235,
              39341: 21237,
              39342: 21240,
              39343: 21241,
              39344: 21254,
              39345: 21256,
              39346: 30008,
              39347: 21261,
              39348: 21264,
              39349: 21263,
              39350: 21269,
              39351: 21274,
              39352: 21283,
              39353: 21295,
              39354: 21297,
              39355: 21299,
              39356: 21304,
              39357: 21312,
              39358: 21318,
              39359: 21317,
              39360: 19991,
              39361: 21321,
              39362: 21325,
              39363: 20950,
              39364: 21342,
              39365: 21353,
              39366: 21358,
              39367: 22808,
              39368: 21371,
              39369: 21367,
              39370: 21378,
              39371: 21398,
              39372: 21408,
              39373: 21414,
              39374: 21413,
              39375: 21422,
              39376: 21424,
              39377: 21430,
              39378: 21443,
              39379: 31762,
              39380: 38617,
              39381: 21471,
              39382: 26364,
              39383: 29166,
              39384: 21486,
              39385: 21480,
              39386: 21485,
              39387: 21498,
              39388: 21505,
              39389: 21565,
              39390: 21568,
              39391: 21548,
              39392: 21549,
              39393: 21564,
              39394: 21550,
              39395: 21558,
              39396: 21545,
              39397: 21533,
              39398: 21582,
              39399: 21647,
              39400: 21621,
              39401: 21646,
              39402: 21599,
              39403: 21617,
              39404: 21623,
              39405: 21616,
              39406: 21650,
              39407: 21627,
              39408: 21632,
              39409: 21622,
              39410: 21636,
              39411: 21648,
              39412: 21638,
              39413: 21703,
              39414: 21666,
              39415: 21688,
              39416: 21669,
              39417: 21676,
              39418: 21700,
              39419: 21704,
              39420: 21672,
              39488: 21675,
              39489: 21698,
              39490: 21668,
              39491: 21694,
              39492: 21692,
              39493: 21720,
              39494: 21733,
              39495: 21734,
              39496: 21775,
              39497: 21780,
              39498: 21757,
              39499: 21742,
              39500: 21741,
              39501: 21754,
              39502: 21730,
              39503: 21817,
              39504: 21824,
              39505: 21859,
              39506: 21836,
              39507: 21806,
              39508: 21852,
              39509: 21829,
              39510: 21846,
              39511: 21847,
              39512: 21816,
              39513: 21811,
              39514: 21853,
              39515: 21913,
              39516: 21888,
              39517: 21679,
              39518: 21898,
              39519: 21919,
              39520: 21883,
              39521: 21886,
              39522: 21912,
              39523: 21918,
              39524: 21934,
              39525: 21884,
              39526: 21891,
              39527: 21929,
              39528: 21895,
              39529: 21928,
              39530: 21978,
              39531: 21957,
              39532: 21983,
              39533: 21956,
              39534: 21980,
              39535: 21988,
              39536: 21972,
              39537: 22036,
              39538: 22007,
              39539: 22038,
              39540: 22014,
              39541: 22013,
              39542: 22043,
              39543: 22009,
              39544: 22094,
              39545: 22096,
              39546: 29151,
              39547: 22068,
              39548: 22070,
              39549: 22066,
              39550: 22072,
              39552: 22123,
              39553: 22116,
              39554: 22063,
              39555: 22124,
              39556: 22122,
              39557: 22150,
              39558: 22144,
              39559: 22154,
              39560: 22176,
              39561: 22164,
              39562: 22159,
              39563: 22181,
              39564: 22190,
              39565: 22198,
              39566: 22196,
              39567: 22210,
              39568: 22204,
              39569: 22209,
              39570: 22211,
              39571: 22208,
              39572: 22216,
              39573: 22222,
              39574: 22225,
              39575: 22227,
              39576: 22231,
              39577: 22254,
              39578: 22265,
              39579: 22272,
              39580: 22271,
              39581: 22276,
              39582: 22281,
              39583: 22280,
              39584: 22283,
              39585: 22285,
              39586: 22291,
              39587: 22296,
              39588: 22294,
              39589: 21959,
              39590: 22300,
              39591: 22310,
              39592: 22327,
              39593: 22328,
              39594: 22350,
              39595: 22331,
              39596: 22336,
              39597: 22351,
              39598: 22377,
              39599: 22464,
              39600: 22408,
              39601: 22369,
              39602: 22399,
              39603: 22409,
              39604: 22419,
              39605: 22432,
              39606: 22451,
              39607: 22436,
              39608: 22442,
              39609: 22448,
              39610: 22467,
              39611: 22470,
              39612: 22484,
              39613: 22482,
              39614: 22483,
              39615: 22538,
              39616: 22486,
              39617: 22499,
              39618: 22539,
              39619: 22553,
              39620: 22557,
              39621: 22642,
              39622: 22561,
              39623: 22626,
              39624: 22603,
              39625: 22640,
              39626: 27584,
              39627: 22610,
              39628: 22589,
              39629: 22649,
              39630: 22661,
              39631: 22713,
              39632: 22687,
              39633: 22699,
              39634: 22714,
              39635: 22750,
              39636: 22715,
              39637: 22712,
              39638: 22702,
              39639: 22725,
              39640: 22739,
              39641: 22737,
              39642: 22743,
              39643: 22745,
              39644: 22744,
              39645: 22757,
              39646: 22748,
              39647: 22756,
              39648: 22751,
              39649: 22767,
              39650: 22778,
              39651: 22777,
              39652: 22779,
              39653: 22780,
              39654: 22781,
              39655: 22786,
              39656: 22794,
              39657: 22800,
              39658: 22811,
              39659: 26790,
              39660: 22821,
              39661: 22828,
              39662: 22829,
              39663: 22834,
              39664: 22840,
              39665: 22846,
              39666: 31442,
              39667: 22869,
              39668: 22864,
              39669: 22862,
              39670: 22874,
              39671: 22872,
              39672: 22882,
              39673: 22880,
              39674: 22887,
              39675: 22892,
              39676: 22889,
              39744: 22904,
              39745: 22913,
              39746: 22941,
              39747: 20318,
              39748: 20395,
              39749: 22947,
              39750: 22962,
              39751: 22982,
              39752: 23016,
              39753: 23004,
              39754: 22925,
              39755: 23001,
              39756: 23002,
              39757: 23077,
              39758: 23071,
              39759: 23057,
              39760: 23068,
              39761: 23049,
              39762: 23066,
              39763: 23104,
              39764: 23148,
              39765: 23113,
              39766: 23093,
              39767: 23094,
              39768: 23138,
              39769: 23146,
              39770: 23194,
              39771: 23228,
              39772: 23230,
              39773: 23243,
              39774: 23234,
              39775: 23229,
              39776: 23267,
              39777: 23255,
              39778: 23270,
              39779: 23273,
              39780: 23254,
              39781: 23290,
              39782: 23291,
              39783: 23308,
              39784: 23307,
              39785: 23318,
              39786: 23346,
              39787: 23248,
              39788: 23338,
              39789: 23350,
              39790: 23358,
              39791: 23363,
              39792: 23365,
              39793: 23360,
              39794: 23377,
              39795: 23381,
              39796: 23386,
              39797: 23387,
              39798: 23397,
              39799: 23401,
              39800: 23408,
              39801: 23411,
              39802: 23413,
              39803: 23416,
              39804: 25992,
              39805: 23418,
              39806: 23424,
              39808: 23427,
              39809: 23462,
              39810: 23480,
              39811: 23491,
              39812: 23495,
              39813: 23497,
              39814: 23508,
              39815: 23504,
              39816: 23524,
              39817: 23526,
              39818: 23522,
              39819: 23518,
              39820: 23525,
              39821: 23531,
              39822: 23536,
              39823: 23542,
              39824: 23539,
              39825: 23557,
              39826: 23559,
              39827: 23560,
              39828: 23565,
              39829: 23571,
              39830: 23584,
              39831: 23586,
              39832: 23592,
              39833: 23608,
              39834: 23609,
              39835: 23617,
              39836: 23622,
              39837: 23630,
              39838: 23635,
              39839: 23632,
              39840: 23631,
              39841: 23409,
              39842: 23660,
              39843: 23662,
              39844: 20066,
              39845: 23670,
              39846: 23673,
              39847: 23692,
              39848: 23697,
              39849: 23700,
              39850: 22939,
              39851: 23723,
              39852: 23739,
              39853: 23734,
              39854: 23740,
              39855: 23735,
              39856: 23749,
              39857: 23742,
              39858: 23751,
              39859: 23769,
              39860: 23785,
              39861: 23805,
              39862: 23802,
              39863: 23789,
              39864: 23948,
              39865: 23786,
              39866: 23819,
              39867: 23829,
              39868: 23831,
              39869: 23900,
              39870: 23839,
              39871: 23835,
              39872: 23825,
              39873: 23828,
              39874: 23842,
              39875: 23834,
              39876: 23833,
              39877: 23832,
              39878: 23884,
              39879: 23890,
              39880: 23886,
              39881: 23883,
              39882: 23916,
              39883: 23923,
              39884: 23926,
              39885: 23943,
              39886: 23940,
              39887: 23938,
              39888: 23970,
              39889: 23965,
              39890: 23980,
              39891: 23982,
              39892: 23997,
              39893: 23952,
              39894: 23991,
              39895: 23996,
              39896: 24009,
              39897: 24013,
              39898: 24019,
              39899: 24018,
              39900: 24022,
              39901: 24027,
              39902: 24043,
              39903: 24050,
              39904: 24053,
              39905: 24075,
              39906: 24090,
              39907: 24089,
              39908: 24081,
              39909: 24091,
              39910: 24118,
              39911: 24119,
              39912: 24132,
              39913: 24131,
              39914: 24128,
              39915: 24142,
              39916: 24151,
              39917: 24148,
              39918: 24159,
              39919: 24162,
              39920: 24164,
              39921: 24135,
              39922: 24181,
              39923: 24182,
              39924: 24186,
              39925: 40636,
              39926: 24191,
              39927: 24224,
              39928: 24257,
              39929: 24258,
              39930: 24264,
              39931: 24272,
              39932: 24271,
              4e4: 24278,
              40001: 24291,
              40002: 24285,
              40003: 24282,
              40004: 24283,
              40005: 24290,
              40006: 24289,
              40007: 24296,
              40008: 24297,
              40009: 24300,
              40010: 24305,
              40011: 24307,
              40012: 24304,
              40013: 24308,
              40014: 24312,
              40015: 24318,
              40016: 24323,
              40017: 24329,
              40018: 24413,
              40019: 24412,
              40020: 24331,
              40021: 24337,
              40022: 24342,
              40023: 24361,
              40024: 24365,
              40025: 24376,
              40026: 24385,
              40027: 24392,
              40028: 24396,
              40029: 24398,
              40030: 24367,
              40031: 24401,
              40032: 24406,
              40033: 24407,
              40034: 24409,
              40035: 24417,
              40036: 24429,
              40037: 24435,
              40038: 24439,
              40039: 24451,
              40040: 24450,
              40041: 24447,
              40042: 24458,
              40043: 24456,
              40044: 24465,
              40045: 24455,
              40046: 24478,
              40047: 24473,
              40048: 24472,
              40049: 24480,
              40050: 24488,
              40051: 24493,
              40052: 24508,
              40053: 24534,
              40054: 24571,
              40055: 24548,
              40056: 24568,
              40057: 24561,
              40058: 24541,
              40059: 24755,
              40060: 24575,
              40061: 24609,
              40062: 24672,
              40064: 24601,
              40065: 24592,
              40066: 24617,
              40067: 24590,
              40068: 24625,
              40069: 24603,
              40070: 24597,
              40071: 24619,
              40072: 24614,
              40073: 24591,
              40074: 24634,
              40075: 24666,
              40076: 24641,
              40077: 24682,
              40078: 24695,
              40079: 24671,
              40080: 24650,
              40081: 24646,
              40082: 24653,
              40083: 24675,
              40084: 24643,
              40085: 24676,
              40086: 24642,
              40087: 24684,
              40088: 24683,
              40089: 24665,
              40090: 24705,
              40091: 24717,
              40092: 24807,
              40093: 24707,
              40094: 24730,
              40095: 24708,
              40096: 24731,
              40097: 24726,
              40098: 24727,
              40099: 24722,
              40100: 24743,
              40101: 24715,
              40102: 24801,
              40103: 24760,
              40104: 24800,
              40105: 24787,
              40106: 24756,
              40107: 24560,
              40108: 24765,
              40109: 24774,
              40110: 24757,
              40111: 24792,
              40112: 24909,
              40113: 24853,
              40114: 24838,
              40115: 24822,
              40116: 24823,
              40117: 24832,
              40118: 24820,
              40119: 24826,
              40120: 24835,
              40121: 24865,
              40122: 24827,
              40123: 24817,
              40124: 24845,
              40125: 24846,
              40126: 24903,
              40127: 24894,
              40128: 24872,
              40129: 24871,
              40130: 24906,
              40131: 24895,
              40132: 24892,
              40133: 24876,
              40134: 24884,
              40135: 24893,
              40136: 24898,
              40137: 24900,
              40138: 24947,
              40139: 24951,
              40140: 24920,
              40141: 24921,
              40142: 24922,
              40143: 24939,
              40144: 24948,
              40145: 24943,
              40146: 24933,
              40147: 24945,
              40148: 24927,
              40149: 24925,
              40150: 24915,
              40151: 24949,
              40152: 24985,
              40153: 24982,
              40154: 24967,
              40155: 25004,
              40156: 24980,
              40157: 24986,
              40158: 24970,
              40159: 24977,
              40160: 25003,
              40161: 25006,
              40162: 25036,
              40163: 25034,
              40164: 25033,
              40165: 25079,
              40166: 25032,
              40167: 25027,
              40168: 25030,
              40169: 25018,
              40170: 25035,
              40171: 32633,
              40172: 25037,
              40173: 25062,
              40174: 25059,
              40175: 25078,
              40176: 25082,
              40177: 25076,
              40178: 25087,
              40179: 25085,
              40180: 25084,
              40181: 25086,
              40182: 25088,
              40183: 25096,
              40184: 25097,
              40185: 25101,
              40186: 25100,
              40187: 25108,
              40188: 25115,
              40256: 25118,
              40257: 25121,
              40258: 25130,
              40259: 25134,
              40260: 25136,
              40261: 25138,
              40262: 25139,
              40263: 25153,
              40264: 25166,
              40265: 25182,
              40266: 25187,
              40267: 25179,
              40268: 25184,
              40269: 25192,
              40270: 25212,
              40271: 25218,
              40272: 25225,
              40273: 25214,
              40274: 25234,
              40275: 25235,
              40276: 25238,
              40277: 25300,
              40278: 25219,
              40279: 25236,
              40280: 25303,
              40281: 25297,
              40282: 25275,
              40283: 25295,
              40284: 25343,
              40285: 25286,
              40286: 25812,
              40287: 25288,
              40288: 25308,
              40289: 25292,
              40290: 25290,
              40291: 25282,
              40292: 25287,
              40293: 25243,
              40294: 25289,
              40295: 25356,
              40296: 25326,
              40297: 25329,
              40298: 25383,
              40299: 25346,
              40300: 25352,
              40301: 25327,
              40302: 25333,
              40303: 25424,
              40304: 25406,
              40305: 25421,
              40306: 25628,
              40307: 25423,
              40308: 25494,
              40309: 25486,
              40310: 25472,
              40311: 25515,
              40312: 25462,
              40313: 25507,
              40314: 25487,
              40315: 25481,
              40316: 25503,
              40317: 25525,
              40318: 25451,
              40320: 25449,
              40321: 25534,
              40322: 25577,
              40323: 25536,
              40324: 25542,
              40325: 25571,
              40326: 25545,
              40327: 25554,
              40328: 25590,
              40329: 25540,
              40330: 25622,
              40331: 25652,
              40332: 25606,
              40333: 25619,
              40334: 25638,
              40335: 25654,
              40336: 25885,
              40337: 25623,
              40338: 25640,
              40339: 25615,
              40340: 25703,
              40341: 25711,
              40342: 25718,
              40343: 25678,
              40344: 25898,
              40345: 25749,
              40346: 25747,
              40347: 25765,
              40348: 25769,
              40349: 25736,
              40350: 25788,
              40351: 25818,
              40352: 25810,
              40353: 25797,
              40354: 25799,
              40355: 25787,
              40356: 25816,
              40357: 25794,
              40358: 25841,
              40359: 25831,
              40360: 33289,
              40361: 25824,
              40362: 25825,
              40363: 25260,
              40364: 25827,
              40365: 25839,
              40366: 25900,
              40367: 25846,
              40368: 25844,
              40369: 25842,
              40370: 25850,
              40371: 25856,
              40372: 25853,
              40373: 25880,
              40374: 25884,
              40375: 25861,
              40376: 25892,
              40377: 25891,
              40378: 25899,
              40379: 25908,
              40380: 25909,
              40381: 25911,
              40382: 25910,
              40383: 25912,
              40384: 30027,
              40385: 25928,
              40386: 25942,
              40387: 25941,
              40388: 25933,
              40389: 25944,
              40390: 25950,
              40391: 25949,
              40392: 25970,
              40393: 25976,
              40394: 25986,
              40395: 25987,
              40396: 35722,
              40397: 26011,
              40398: 26015,
              40399: 26027,
              40400: 26039,
              40401: 26051,
              40402: 26054,
              40403: 26049,
              40404: 26052,
              40405: 26060,
              40406: 26066,
              40407: 26075,
              40408: 26073,
              40409: 26080,
              40410: 26081,
              40411: 26097,
              40412: 26482,
              40413: 26122,
              40414: 26115,
              40415: 26107,
              40416: 26483,
              40417: 26165,
              40418: 26166,
              40419: 26164,
              40420: 26140,
              40421: 26191,
              40422: 26180,
              40423: 26185,
              40424: 26177,
              40425: 26206,
              40426: 26205,
              40427: 26212,
              40428: 26215,
              40429: 26216,
              40430: 26207,
              40431: 26210,
              40432: 26224,
              40433: 26243,
              40434: 26248,
              40435: 26254,
              40436: 26249,
              40437: 26244,
              40438: 26264,
              40439: 26269,
              40440: 26305,
              40441: 26297,
              40442: 26313,
              40443: 26302,
              40444: 26300,
              40512: 26308,
              40513: 26296,
              40514: 26326,
              40515: 26330,
              40516: 26336,
              40517: 26175,
              40518: 26342,
              40519: 26345,
              40520: 26352,
              40521: 26357,
              40522: 26359,
              40523: 26383,
              40524: 26390,
              40525: 26398,
              40526: 26406,
              40527: 26407,
              40528: 38712,
              40529: 26414,
              40530: 26431,
              40531: 26422,
              40532: 26433,
              40533: 26424,
              40534: 26423,
              40535: 26438,
              40536: 26462,
              40537: 26464,
              40538: 26457,
              40539: 26467,
              40540: 26468,
              40541: 26505,
              40542: 26480,
              40543: 26537,
              40544: 26492,
              40545: 26474,
              40546: 26508,
              40547: 26507,
              40548: 26534,
              40549: 26529,
              40550: 26501,
              40551: 26551,
              40552: 26607,
              40553: 26548,
              40554: 26604,
              40555: 26547,
              40556: 26601,
              40557: 26552,
              40558: 26596,
              40559: 26590,
              40560: 26589,
              40561: 26594,
              40562: 26606,
              40563: 26553,
              40564: 26574,
              40565: 26566,
              40566: 26599,
              40567: 27292,
              40568: 26654,
              40569: 26694,
              40570: 26665,
              40571: 26688,
              40572: 26701,
              40573: 26674,
              40574: 26702,
              40576: 26803,
              40577: 26667,
              40578: 26713,
              40579: 26723,
              40580: 26743,
              40581: 26751,
              40582: 26783,
              40583: 26767,
              40584: 26797,
              40585: 26772,
              40586: 26781,
              40587: 26779,
              40588: 26755,
              40589: 27310,
              40590: 26809,
              40591: 26740,
              40592: 26805,
              40593: 26784,
              40594: 26810,
              40595: 26895,
              40596: 26765,
              40597: 26750,
              40598: 26881,
              40599: 26826,
              40600: 26888,
              40601: 26840,
              40602: 26914,
              40603: 26918,
              40604: 26849,
              40605: 26892,
              40606: 26829,
              40607: 26836,
              40608: 26855,
              40609: 26837,
              40610: 26934,
              40611: 26898,
              40612: 26884,
              40613: 26839,
              40614: 26851,
              40615: 26917,
              40616: 26873,
              40617: 26848,
              40618: 26863,
              40619: 26920,
              40620: 26922,
              40621: 26906,
              40622: 26915,
              40623: 26913,
              40624: 26822,
              40625: 27001,
              40626: 26999,
              40627: 26972,
              40628: 27e3,
              40629: 26987,
              40630: 26964,
              40631: 27006,
              40632: 26990,
              40633: 26937,
              40634: 26996,
              40635: 26941,
              40636: 26969,
              40637: 26928,
              40638: 26977,
              40639: 26974,
              40640: 26973,
              40641: 27009,
              40642: 26986,
              40643: 27058,
              40644: 27054,
              40645: 27088,
              40646: 27071,
              40647: 27073,
              40648: 27091,
              40649: 27070,
              40650: 27086,
              40651: 23528,
              40652: 27082,
              40653: 27101,
              40654: 27067,
              40655: 27075,
              40656: 27047,
              40657: 27182,
              40658: 27025,
              40659: 27040,
              40660: 27036,
              40661: 27029,
              40662: 27060,
              40663: 27102,
              40664: 27112,
              40665: 27138,
              40666: 27163,
              40667: 27135,
              40668: 27402,
              40669: 27129,
              40670: 27122,
              40671: 27111,
              40672: 27141,
              40673: 27057,
              40674: 27166,
              40675: 27117,
              40676: 27156,
              40677: 27115,
              40678: 27146,
              40679: 27154,
              40680: 27329,
              40681: 27171,
              40682: 27155,
              40683: 27204,
              40684: 27148,
              40685: 27250,
              40686: 27190,
              40687: 27256,
              40688: 27207,
              40689: 27234,
              40690: 27225,
              40691: 27238,
              40692: 27208,
              40693: 27192,
              40694: 27170,
              40695: 27280,
              40696: 27277,
              40697: 27296,
              40698: 27268,
              40699: 27298,
              40700: 27299,
              40768: 27287,
              40769: 34327,
              40770: 27323,
              40771: 27331,
              40772: 27330,
              40773: 27320,
              40774: 27315,
              40775: 27308,
              40776: 27358,
              40777: 27345,
              40778: 27359,
              40779: 27306,
              40780: 27354,
              40781: 27370,
              40782: 27387,
              40783: 27397,
              40784: 34326,
              40785: 27386,
              40786: 27410,
              40787: 27414,
              40788: 39729,
              40789: 27423,
              40790: 27448,
              40791: 27447,
              40792: 30428,
              40793: 27449,
              40794: 39150,
              40795: 27463,
              40796: 27459,
              40797: 27465,
              40798: 27472,
              40799: 27481,
              40800: 27476,
              40801: 27483,
              40802: 27487,
              40803: 27489,
              40804: 27512,
              40805: 27513,
              40806: 27519,
              40807: 27520,
              40808: 27524,
              40809: 27523,
              40810: 27533,
              40811: 27544,
              40812: 27541,
              40813: 27550,
              40814: 27556,
              40815: 27562,
              40816: 27563,
              40817: 27567,
              40818: 27570,
              40819: 27569,
              40820: 27571,
              40821: 27575,
              40822: 27580,
              40823: 27590,
              40824: 27595,
              40825: 27603,
              40826: 27615,
              40827: 27628,
              40828: 27627,
              40829: 27635,
              40830: 27631,
              40832: 40638,
              40833: 27656,
              40834: 27667,
              40835: 27668,
              40836: 27675,
              40837: 27684,
              40838: 27683,
              40839: 27742,
              40840: 27733,
              40841: 27746,
              40842: 27754,
              40843: 27778,
              40844: 27789,
              40845: 27802,
              40846: 27777,
              40847: 27803,
              40848: 27774,
              40849: 27752,
              40850: 27763,
              40851: 27794,
              40852: 27792,
              40853: 27844,
              40854: 27889,
              40855: 27859,
              40856: 27837,
              40857: 27863,
              40858: 27845,
              40859: 27869,
              40860: 27822,
              40861: 27825,
              40862: 27838,
              40863: 27834,
              40864: 27867,
              40865: 27887,
              40866: 27865,
              40867: 27882,
              40868: 27935,
              40869: 34893,
              40870: 27958,
              40871: 27947,
              40872: 27965,
              40873: 27960,
              40874: 27929,
              40875: 27957,
              40876: 27955,
              40877: 27922,
              40878: 27916,
              40879: 28003,
              40880: 28051,
              40881: 28004,
              40882: 27994,
              40883: 28025,
              40884: 27993,
              40885: 28046,
              40886: 28053,
              40887: 28644,
              40888: 28037,
              40889: 28153,
              40890: 28181,
              40891: 28170,
              40892: 28085,
              40893: 28103,
              40894: 28134,
              40895: 28088,
              40896: 28102,
              40897: 28140,
              40898: 28126,
              40899: 28108,
              40900: 28136,
              40901: 28114,
              40902: 28101,
              40903: 28154,
              40904: 28121,
              40905: 28132,
              40906: 28117,
              40907: 28138,
              40908: 28142,
              40909: 28205,
              40910: 28270,
              40911: 28206,
              40912: 28185,
              40913: 28274,
              40914: 28255,
              40915: 28222,
              40916: 28195,
              40917: 28267,
              40918: 28203,
              40919: 28278,
              40920: 28237,
              40921: 28191,
              40922: 28227,
              40923: 28218,
              40924: 28238,
              40925: 28196,
              40926: 28415,
              40927: 28189,
              40928: 28216,
              40929: 28290,
              40930: 28330,
              40931: 28312,
              40932: 28361,
              40933: 28343,
              40934: 28371,
              40935: 28349,
              40936: 28335,
              40937: 28356,
              40938: 28338,
              40939: 28372,
              40940: 28373,
              40941: 28303,
              40942: 28325,
              40943: 28354,
              40944: 28319,
              40945: 28481,
              40946: 28433,
              40947: 28748,
              40948: 28396,
              40949: 28408,
              40950: 28414,
              40951: 28479,
              40952: 28402,
              40953: 28465,
              40954: 28399,
              40955: 28466,
              40956: 28364,
              161: 65377,
              162: 65378,
              163: 65379,
              164: 65380,
              165: 65381,
              166: 65382,
              167: 65383,
              168: 65384,
              169: 65385,
              170: 65386,
              171: 65387,
              172: 65388,
              173: 65389,
              174: 65390,
              175: 65391,
              176: 65392,
              177: 65393,
              178: 65394,
              179: 65395,
              180: 65396,
              181: 65397,
              182: 65398,
              183: 65399,
              184: 65400,
              185: 65401,
              186: 65402,
              187: 65403,
              188: 65404,
              189: 65405,
              190: 65406,
              191: 65407,
              192: 65408,
              193: 65409,
              194: 65410,
              195: 65411,
              196: 65412,
              197: 65413,
              198: 65414,
              199: 65415,
              200: 65416,
              201: 65417,
              202: 65418,
              203: 65419,
              204: 65420,
              205: 65421,
              206: 65422,
              207: 65423,
              208: 65424,
              209: 65425,
              210: 65426,
              211: 65427,
              212: 65428,
              213: 65429,
              214: 65430,
              215: 65431,
              216: 65432,
              217: 65433,
              218: 65434,
              219: 65435,
              220: 65436,
              221: 65437,
              222: 65438,
              223: 65439,
              57408: 28478,
              57409: 28435,
              57410: 28407,
              57411: 28550,
              57412: 28538,
              57413: 28536,
              57414: 28545,
              57415: 28544,
              57416: 28527,
              57417: 28507,
              57418: 28659,
              57419: 28525,
              57420: 28546,
              57421: 28540,
              57422: 28504,
              57423: 28558,
              57424: 28561,
              57425: 28610,
              57426: 28518,
              57427: 28595,
              57428: 28579,
              57429: 28577,
              57430: 28580,
              57431: 28601,
              57432: 28614,
              57433: 28586,
              57434: 28639,
              57435: 28629,
              57436: 28652,
              57437: 28628,
              57438: 28632,
              57439: 28657,
              57440: 28654,
              57441: 28635,
              57442: 28681,
              57443: 28683,
              57444: 28666,
              57445: 28689,
              57446: 28673,
              57447: 28687,
              57448: 28670,
              57449: 28699,
              57450: 28698,
              57451: 28532,
              57452: 28701,
              57453: 28696,
              57454: 28703,
              57455: 28720,
              57456: 28734,
              57457: 28722,
              57458: 28753,
              57459: 28771,
              57460: 28825,
              57461: 28818,
              57462: 28847,
              57463: 28913,
              57464: 28844,
              57465: 28856,
              57466: 28851,
              57467: 28846,
              57468: 28895,
              57469: 28875,
              57470: 28893,
              57472: 28889,
              57473: 28937,
              57474: 28925,
              57475: 28956,
              57476: 28953,
              57477: 29029,
              57478: 29013,
              57479: 29064,
              57480: 29030,
              57481: 29026,
              57482: 29004,
              57483: 29014,
              57484: 29036,
              57485: 29071,
              57486: 29179,
              57487: 29060,
              57488: 29077,
              57489: 29096,
              57490: 29100,
              57491: 29143,
              57492: 29113,
              57493: 29118,
              57494: 29138,
              57495: 29129,
              57496: 29140,
              57497: 29134,
              57498: 29152,
              57499: 29164,
              57500: 29159,
              57501: 29173,
              57502: 29180,
              57503: 29177,
              57504: 29183,
              57505: 29197,
              57506: 29200,
              57507: 29211,
              57508: 29224,
              57509: 29229,
              57510: 29228,
              57511: 29232,
              57512: 29234,
              57513: 29243,
              57514: 29244,
              57515: 29247,
              57516: 29248,
              57517: 29254,
              57518: 29259,
              57519: 29272,
              57520: 29300,
              57521: 29310,
              57522: 29314,
              57523: 29313,
              57524: 29319,
              57525: 29330,
              57526: 29334,
              57527: 29346,
              57528: 29351,
              57529: 29369,
              57530: 29362,
              57531: 29379,
              57532: 29382,
              57533: 29380,
              57534: 29390,
              57535: 29394,
              57536: 29410,
              57537: 29408,
              57538: 29409,
              57539: 29433,
              57540: 29431,
              57541: 20495,
              57542: 29463,
              57543: 29450,
              57544: 29468,
              57545: 29462,
              57546: 29469,
              57547: 29492,
              57548: 29487,
              57549: 29481,
              57550: 29477,
              57551: 29502,
              57552: 29518,
              57553: 29519,
              57554: 40664,
              57555: 29527,
              57556: 29546,
              57557: 29544,
              57558: 29552,
              57559: 29560,
              57560: 29557,
              57561: 29563,
              57562: 29562,
              57563: 29640,
              57564: 29619,
              57565: 29646,
              57566: 29627,
              57567: 29632,
              57568: 29669,
              57569: 29678,
              57570: 29662,
              57571: 29858,
              57572: 29701,
              57573: 29807,
              57574: 29733,
              57575: 29688,
              57576: 29746,
              57577: 29754,
              57578: 29781,
              57579: 29759,
              57580: 29791,
              57581: 29785,
              57582: 29761,
              57583: 29788,
              57584: 29801,
              57585: 29808,
              57586: 29795,
              57587: 29802,
              57588: 29814,
              57589: 29822,
              57590: 29835,
              57591: 29854,
              57592: 29863,
              57593: 29898,
              57594: 29903,
              57595: 29908,
              57596: 29681,
              57664: 29920,
              57665: 29923,
              57666: 29927,
              57667: 29929,
              57668: 29934,
              57669: 29938,
              57670: 29936,
              57671: 29937,
              57672: 29944,
              57673: 29943,
              57674: 29956,
              57675: 29955,
              57676: 29957,
              57677: 29964,
              57678: 29966,
              57679: 29965,
              57680: 29973,
              57681: 29971,
              57682: 29982,
              57683: 29990,
              57684: 29996,
              57685: 30012,
              57686: 30020,
              57687: 30029,
              57688: 30026,
              57689: 30025,
              57690: 30043,
              57691: 30022,
              57692: 30042,
              57693: 30057,
              57694: 30052,
              57695: 30055,
              57696: 30059,
              57697: 30061,
              57698: 30072,
              57699: 30070,
              57700: 30086,
              57701: 30087,
              57702: 30068,
              57703: 30090,
              57704: 30089,
              57705: 30082,
              57706: 30100,
              57707: 30106,
              57708: 30109,
              57709: 30117,
              57710: 30115,
              57711: 30146,
              57712: 30131,
              57713: 30147,
              57714: 30133,
              57715: 30141,
              57716: 30136,
              57717: 30140,
              57718: 30129,
              57719: 30157,
              57720: 30154,
              57721: 30162,
              57722: 30169,
              57723: 30179,
              57724: 30174,
              57725: 30206,
              57726: 30207,
              57728: 30204,
              57729: 30209,
              57730: 30192,
              57731: 30202,
              57732: 30194,
              57733: 30195,
              57734: 30219,
              57735: 30221,
              57736: 30217,
              57737: 30239,
              57738: 30247,
              57739: 30240,
              57740: 30241,
              57741: 30242,
              57742: 30244,
              57743: 30260,
              57744: 30256,
              57745: 30267,
              57746: 30279,
              57747: 30280,
              57748: 30278,
              57749: 30300,
              57750: 30296,
              57751: 30305,
              57752: 30306,
              57753: 30312,
              57754: 30313,
              57755: 30314,
              57756: 30311,
              57757: 30316,
              57758: 30320,
              57759: 30322,
              57760: 30326,
              57761: 30328,
              57762: 30332,
              57763: 30336,
              57764: 30339,
              57765: 30344,
              57766: 30347,
              57767: 30350,
              57768: 30358,
              57769: 30355,
              57770: 30361,
              57771: 30362,
              57772: 30384,
              57773: 30388,
              57774: 30392,
              57775: 30393,
              57776: 30394,
              57777: 30402,
              57778: 30413,
              57779: 30422,
              57780: 30418,
              57781: 30430,
              57782: 30433,
              57783: 30437,
              57784: 30439,
              57785: 30442,
              57786: 34351,
              57787: 30459,
              57788: 30472,
              57789: 30471,
              57790: 30468,
              57791: 30505,
              57792: 30500,
              57793: 30494,
              57794: 30501,
              57795: 30502,
              57796: 30491,
              57797: 30519,
              57798: 30520,
              57799: 30535,
              57800: 30554,
              57801: 30568,
              57802: 30571,
              57803: 30555,
              57804: 30565,
              57805: 30591,
              57806: 30590,
              57807: 30585,
              57808: 30606,
              57809: 30603,
              57810: 30609,
              57811: 30624,
              57812: 30622,
              57813: 30640,
              57814: 30646,
              57815: 30649,
              57816: 30655,
              57817: 30652,
              57818: 30653,
              57819: 30651,
              57820: 30663,
              57821: 30669,
              57822: 30679,
              57823: 30682,
              57824: 30684,
              57825: 30691,
              57826: 30702,
              57827: 30716,
              57828: 30732,
              57829: 30738,
              57830: 31014,
              57831: 30752,
              57832: 31018,
              57833: 30789,
              57834: 30862,
              57835: 30836,
              57836: 30854,
              57837: 30844,
              57838: 30874,
              57839: 30860,
              57840: 30883,
              57841: 30901,
              57842: 30890,
              57843: 30895,
              57844: 30929,
              57845: 30918,
              57846: 30923,
              57847: 30932,
              57848: 30910,
              57849: 30908,
              57850: 30917,
              57851: 30922,
              57852: 30956,
              57920: 30951,
              57921: 30938,
              57922: 30973,
              57923: 30964,
              57924: 30983,
              57925: 30994,
              57926: 30993,
              57927: 31001,
              57928: 31020,
              57929: 31019,
              57930: 31040,
              57931: 31072,
              57932: 31063,
              57933: 31071,
              57934: 31066,
              57935: 31061,
              57936: 31059,
              57937: 31098,
              57938: 31103,
              57939: 31114,
              57940: 31133,
              57941: 31143,
              57942: 40779,
              57943: 31146,
              57944: 31150,
              57945: 31155,
              57946: 31161,
              57947: 31162,
              57948: 31177,
              57949: 31189,
              57950: 31207,
              57951: 31212,
              57952: 31201,
              57953: 31203,
              57954: 31240,
              57955: 31245,
              57956: 31256,
              57957: 31257,
              57958: 31264,
              57959: 31263,
              57960: 31104,
              57961: 31281,
              57962: 31291,
              57963: 31294,
              57964: 31287,
              57965: 31299,
              57966: 31319,
              57967: 31305,
              57968: 31329,
              57969: 31330,
              57970: 31337,
              57971: 40861,
              57972: 31344,
              57973: 31353,
              57974: 31357,
              57975: 31368,
              57976: 31383,
              57977: 31381,
              57978: 31384,
              57979: 31382,
              57980: 31401,
              57981: 31432,
              57982: 31408,
              57984: 31414,
              57985: 31429,
              57986: 31428,
              57987: 31423,
              57988: 36995,
              57989: 31431,
              57990: 31434,
              57991: 31437,
              57992: 31439,
              57993: 31445,
              57994: 31443,
              57995: 31449,
              57996: 31450,
              57997: 31453,
              57998: 31457,
              57999: 31458,
              58e3: 31462,
              58001: 31469,
              58002: 31472,
              58003: 31490,
              58004: 31503,
              58005: 31498,
              58006: 31494,
              58007: 31539,
              58008: 31512,
              58009: 31513,
              58010: 31518,
              58011: 31541,
              58012: 31528,
              58013: 31542,
              58014: 31568,
              58015: 31610,
              58016: 31492,
              58017: 31565,
              58018: 31499,
              58019: 31564,
              58020: 31557,
              58021: 31605,
              58022: 31589,
              58023: 31604,
              58024: 31591,
              58025: 31600,
              58026: 31601,
              58027: 31596,
              58028: 31598,
              58029: 31645,
              58030: 31640,
              58031: 31647,
              58032: 31629,
              58033: 31644,
              58034: 31642,
              58035: 31627,
              58036: 31634,
              58037: 31631,
              58038: 31581,
              58039: 31641,
              58040: 31691,
              58041: 31681,
              58042: 31692,
              58043: 31695,
              58044: 31668,
              58045: 31686,
              58046: 31709,
              58047: 31721,
              58048: 31761,
              58049: 31764,
              58050: 31718,
              58051: 31717,
              58052: 31840,
              58053: 31744,
              58054: 31751,
              58055: 31763,
              58056: 31731,
              58057: 31735,
              58058: 31767,
              58059: 31757,
              58060: 31734,
              58061: 31779,
              58062: 31783,
              58063: 31786,
              58064: 31775,
              58065: 31799,
              58066: 31787,
              58067: 31805,
              58068: 31820,
              58069: 31811,
              58070: 31828,
              58071: 31823,
              58072: 31808,
              58073: 31824,
              58074: 31832,
              58075: 31839,
              58076: 31844,
              58077: 31830,
              58078: 31845,
              58079: 31852,
              58080: 31861,
              58081: 31875,
              58082: 31888,
              58083: 31908,
              58084: 31917,
              58085: 31906,
              58086: 31915,
              58087: 31905,
              58088: 31912,
              58089: 31923,
              58090: 31922,
              58091: 31921,
              58092: 31918,
              58093: 31929,
              58094: 31933,
              58095: 31936,
              58096: 31941,
              58097: 31938,
              58098: 31960,
              58099: 31954,
              58100: 31964,
              58101: 31970,
              58102: 39739,
              58103: 31983,
              58104: 31986,
              58105: 31988,
              58106: 31990,
              58107: 31994,
              58108: 32006,
              58176: 32002,
              58177: 32028,
              58178: 32021,
              58179: 32010,
              58180: 32069,
              58181: 32075,
              58182: 32046,
              58183: 32050,
              58184: 32063,
              58185: 32053,
              58186: 32070,
              58187: 32115,
              58188: 32086,
              58189: 32078,
              58190: 32114,
              58191: 32104,
              58192: 32110,
              58193: 32079,
              58194: 32099,
              58195: 32147,
              58196: 32137,
              58197: 32091,
              58198: 32143,
              58199: 32125,
              58200: 32155,
              58201: 32186,
              58202: 32174,
              58203: 32163,
              58204: 32181,
              58205: 32199,
              58206: 32189,
              58207: 32171,
              58208: 32317,
              58209: 32162,
              58210: 32175,
              58211: 32220,
              58212: 32184,
              58213: 32159,
              58214: 32176,
              58215: 32216,
              58216: 32221,
              58217: 32228,
              58218: 32222,
              58219: 32251,
              58220: 32242,
              58221: 32225,
              58222: 32261,
              58223: 32266,
              58224: 32291,
              58225: 32289,
              58226: 32274,
              58227: 32305,
              58228: 32287,
              58229: 32265,
              58230: 32267,
              58231: 32290,
              58232: 32326,
              58233: 32358,
              58234: 32315,
              58235: 32309,
              58236: 32313,
              58237: 32323,
              58238: 32311,
              58240: 32306,
              58241: 32314,
              58242: 32359,
              58243: 32349,
              58244: 32342,
              58245: 32350,
              58246: 32345,
              58247: 32346,
              58248: 32377,
              58249: 32362,
              58250: 32361,
              58251: 32380,
              58252: 32379,
              58253: 32387,
              58254: 32213,
              58255: 32381,
              58256: 36782,
              58257: 32383,
              58258: 32392,
              58259: 32393,
              58260: 32396,
              58261: 32402,
              58262: 32400,
              58263: 32403,
              58264: 32404,
              58265: 32406,
              58266: 32398,
              58267: 32411,
              58268: 32412,
              58269: 32568,
              58270: 32570,
              58271: 32581,
              58272: 32588,
              58273: 32589,
              58274: 32590,
              58275: 32592,
              58276: 32593,
              58277: 32597,
              58278: 32596,
              58279: 32600,
              58280: 32607,
              58281: 32608,
              58282: 32616,
              58283: 32617,
              58284: 32615,
              58285: 32632,
              58286: 32642,
              58287: 32646,
              58288: 32643,
              58289: 32648,
              58290: 32647,
              58291: 32652,
              58292: 32660,
              58293: 32670,
              58294: 32669,
              58295: 32666,
              58296: 32675,
              58297: 32687,
              58298: 32690,
              58299: 32697,
              58300: 32686,
              58301: 32694,
              58302: 32696,
              58303: 35697,
              58304: 32709,
              58305: 32710,
              58306: 32714,
              58307: 32725,
              58308: 32724,
              58309: 32737,
              58310: 32742,
              58311: 32745,
              58312: 32755,
              58313: 32761,
              58314: 39132,
              58315: 32774,
              58316: 32772,
              58317: 32779,
              58318: 32786,
              58319: 32792,
              58320: 32793,
              58321: 32796,
              58322: 32801,
              58323: 32808,
              58324: 32831,
              58325: 32827,
              58326: 32842,
              58327: 32838,
              58328: 32850,
              58329: 32856,
              58330: 32858,
              58331: 32863,
              58332: 32866,
              58333: 32872,
              58334: 32883,
              58335: 32882,
              58336: 32880,
              58337: 32886,
              58338: 32889,
              58339: 32893,
              58340: 32895,
              58341: 32900,
              58342: 32902,
              58343: 32901,
              58344: 32923,
              58345: 32915,
              58346: 32922,
              58347: 32941,
              58348: 20880,
              58349: 32940,
              58350: 32987,
              58351: 32997,
              58352: 32985,
              58353: 32989,
              58354: 32964,
              58355: 32986,
              58356: 32982,
              58357: 33033,
              58358: 33007,
              58359: 33009,
              58360: 33051,
              58361: 33065,
              58362: 33059,
              58363: 33071,
              58364: 33099,
              58432: 38539,
              58433: 33094,
              58434: 33086,
              58435: 33107,
              58436: 33105,
              58437: 33020,
              58438: 33137,
              58439: 33134,
              58440: 33125,
              58441: 33126,
              58442: 33140,
              58443: 33155,
              58444: 33160,
              58445: 33162,
              58446: 33152,
              58447: 33154,
              58448: 33184,
              58449: 33173,
              58450: 33188,
              58451: 33187,
              58452: 33119,
              58453: 33171,
              58454: 33193,
              58455: 33200,
              58456: 33205,
              58457: 33214,
              58458: 33208,
              58459: 33213,
              58460: 33216,
              58461: 33218,
              58462: 33210,
              58463: 33225,
              58464: 33229,
              58465: 33233,
              58466: 33241,
              58467: 33240,
              58468: 33224,
              58469: 33242,
              58470: 33247,
              58471: 33248,
              58472: 33255,
              58473: 33274,
              58474: 33275,
              58475: 33278,
              58476: 33281,
              58477: 33282,
              58478: 33285,
              58479: 33287,
              58480: 33290,
              58481: 33293,
              58482: 33296,
              58483: 33302,
              58484: 33321,
              58485: 33323,
              58486: 33336,
              58487: 33331,
              58488: 33344,
              58489: 33369,
              58490: 33368,
              58491: 33373,
              58492: 33370,
              58493: 33375,
              58494: 33380,
              58496: 33378,
              58497: 33384,
              58498: 33386,
              58499: 33387,
              58500: 33326,
              58501: 33393,
              58502: 33399,
              58503: 33400,
              58504: 33406,
              58505: 33421,
              58506: 33426,
              58507: 33451,
              58508: 33439,
              58509: 33467,
              58510: 33452,
              58511: 33505,
              58512: 33507,
              58513: 33503,
              58514: 33490,
              58515: 33524,
              58516: 33523,
              58517: 33530,
              58518: 33683,
              58519: 33539,
              58520: 33531,
              58521: 33529,
              58522: 33502,
              58523: 33542,
              58524: 33500,
              58525: 33545,
              58526: 33497,
              58527: 33589,
              58528: 33588,
              58529: 33558,
              58530: 33586,
              58531: 33585,
              58532: 33600,
              58533: 33593,
              58534: 33616,
              58535: 33605,
              58536: 33583,
              58537: 33579,
              58538: 33559,
              58539: 33560,
              58540: 33669,
              58541: 33690,
              58542: 33706,
              58543: 33695,
              58544: 33698,
              58545: 33686,
              58546: 33571,
              58547: 33678,
              58548: 33671,
              58549: 33674,
              58550: 33660,
              58551: 33717,
              58552: 33651,
              58553: 33653,
              58554: 33696,
              58555: 33673,
              58556: 33704,
              58557: 33780,
              58558: 33811,
              58559: 33771,
              58560: 33742,
              58561: 33789,
              58562: 33795,
              58563: 33752,
              58564: 33803,
              58565: 33729,
              58566: 33783,
              58567: 33799,
              58568: 33760,
              58569: 33778,
              58570: 33805,
              58571: 33826,
              58572: 33824,
              58573: 33725,
              58574: 33848,
              58575: 34054,
              58576: 33787,
              58577: 33901,
              58578: 33834,
              58579: 33852,
              58580: 34138,
              58581: 33924,
              58582: 33911,
              58583: 33899,
              58584: 33965,
              58585: 33902,
              58586: 33922,
              58587: 33897,
              58588: 33862,
              58589: 33836,
              58590: 33903,
              58591: 33913,
              58592: 33845,
              58593: 33994,
              58594: 33890,
              58595: 33977,
              58596: 33983,
              58597: 33951,
              58598: 34009,
              58599: 33997,
              58600: 33979,
              58601: 34010,
              58602: 34e3,
              58603: 33985,
              58604: 33990,
              58605: 34006,
              58606: 33953,
              58607: 34081,
              58608: 34047,
              58609: 34036,
              58610: 34071,
              58611: 34072,
              58612: 34092,
              58613: 34079,
              58614: 34069,
              58615: 34068,
              58616: 34044,
              58617: 34112,
              58618: 34147,
              58619: 34136,
              58620: 34120,
              58688: 34113,
              58689: 34306,
              58690: 34123,
              58691: 34133,
              58692: 34176,
              58693: 34212,
              58694: 34184,
              58695: 34193,
              58696: 34186,
              58697: 34216,
              58698: 34157,
              58699: 34196,
              58700: 34203,
              58701: 34282,
              58702: 34183,
              58703: 34204,
              58704: 34167,
              58705: 34174,
              58706: 34192,
              58707: 34249,
              58708: 34234,
              58709: 34255,
              58710: 34233,
              58711: 34256,
              58712: 34261,
              58713: 34269,
              58714: 34277,
              58715: 34268,
              58716: 34297,
              58717: 34314,
              58718: 34323,
              58719: 34315,
              58720: 34302,
              58721: 34298,
              58722: 34310,
              58723: 34338,
              58724: 34330,
              58725: 34352,
              58726: 34367,
              58727: 34381,
              58728: 20053,
              58729: 34388,
              58730: 34399,
              58731: 34407,
              58732: 34417,
              58733: 34451,
              58734: 34467,
              58735: 34473,
              58736: 34474,
              58737: 34443,
              58738: 34444,
              58739: 34486,
              58740: 34479,
              58741: 34500,
              58742: 34502,
              58743: 34480,
              58744: 34505,
              58745: 34851,
              58746: 34475,
              58747: 34516,
              58748: 34526,
              58749: 34537,
              58750: 34540,
              58752: 34527,
              58753: 34523,
              58754: 34543,
              58755: 34578,
              58756: 34566,
              58757: 34568,
              58758: 34560,
              58759: 34563,
              58760: 34555,
              58761: 34577,
              58762: 34569,
              58763: 34573,
              58764: 34553,
              58765: 34570,
              58766: 34612,
              58767: 34623,
              58768: 34615,
              58769: 34619,
              58770: 34597,
              58771: 34601,
              58772: 34586,
              58773: 34656,
              58774: 34655,
              58775: 34680,
              58776: 34636,
              58777: 34638,
              58778: 34676,
              58779: 34647,
              58780: 34664,
              58781: 34670,
              58782: 34649,
              58783: 34643,
              58784: 34659,
              58785: 34666,
              58786: 34821,
              58787: 34722,
              58788: 34719,
              58789: 34690,
              58790: 34735,
              58791: 34763,
              58792: 34749,
              58793: 34752,
              58794: 34768,
              58795: 38614,
              58796: 34731,
              58797: 34756,
              58798: 34739,
              58799: 34759,
              58800: 34758,
              58801: 34747,
              58802: 34799,
              58803: 34802,
              58804: 34784,
              58805: 34831,
              58806: 34829,
              58807: 34814,
              58808: 34806,
              58809: 34807,
              58810: 34830,
              58811: 34770,
              58812: 34833,
              58813: 34838,
              58814: 34837,
              58815: 34850,
              58816: 34849,
              58817: 34865,
              58818: 34870,
              58819: 34873,
              58820: 34855,
              58821: 34875,
              58822: 34884,
              58823: 34882,
              58824: 34898,
              58825: 34905,
              58826: 34910,
              58827: 34914,
              58828: 34923,
              58829: 34945,
              58830: 34942,
              58831: 34974,
              58832: 34933,
              58833: 34941,
              58834: 34997,
              58835: 34930,
              58836: 34946,
              58837: 34967,
              58838: 34962,
              58839: 34990,
              58840: 34969,
              58841: 34978,
              58842: 34957,
              58843: 34980,
              58844: 34992,
              58845: 35007,
              58846: 34993,
              58847: 35011,
              58848: 35012,
              58849: 35028,
              58850: 35032,
              58851: 35033,
              58852: 35037,
              58853: 35065,
              58854: 35074,
              58855: 35068,
              58856: 35060,
              58857: 35048,
              58858: 35058,
              58859: 35076,
              58860: 35084,
              58861: 35082,
              58862: 35091,
              58863: 35139,
              58864: 35102,
              58865: 35109,
              58866: 35114,
              58867: 35115,
              58868: 35137,
              58869: 35140,
              58870: 35131,
              58871: 35126,
              58872: 35128,
              58873: 35148,
              58874: 35101,
              58875: 35168,
              58876: 35166,
              58944: 35174,
              58945: 35172,
              58946: 35181,
              58947: 35178,
              58948: 35183,
              58949: 35188,
              58950: 35191,
              58951: 35198,
              58952: 35203,
              58953: 35208,
              58954: 35210,
              58955: 35219,
              58956: 35224,
              58957: 35233,
              58958: 35241,
              58959: 35238,
              58960: 35244,
              58961: 35247,
              58962: 35250,
              58963: 35258,
              58964: 35261,
              58965: 35263,
              58966: 35264,
              58967: 35290,
              58968: 35292,
              58969: 35293,
              58970: 35303,
              58971: 35316,
              58972: 35320,
              58973: 35331,
              58974: 35350,
              58975: 35344,
              58976: 35340,
              58977: 35355,
              58978: 35357,
              58979: 35365,
              58980: 35382,
              58981: 35393,
              58982: 35419,
              58983: 35410,
              58984: 35398,
              58985: 35400,
              58986: 35452,
              58987: 35437,
              58988: 35436,
              58989: 35426,
              58990: 35461,
              58991: 35458,
              58992: 35460,
              58993: 35496,
              58994: 35489,
              58995: 35473,
              58996: 35493,
              58997: 35494,
              58998: 35482,
              58999: 35491,
              59e3: 35524,
              59001: 35533,
              59002: 35522,
              59003: 35546,
              59004: 35563,
              59005: 35571,
              59006: 35559,
              59008: 35556,
              59009: 35569,
              59010: 35604,
              59011: 35552,
              59012: 35554,
              59013: 35575,
              59014: 35550,
              59015: 35547,
              59016: 35596,
              59017: 35591,
              59018: 35610,
              59019: 35553,
              59020: 35606,
              59021: 35600,
              59022: 35607,
              59023: 35616,
              59024: 35635,
              59025: 38827,
              59026: 35622,
              59027: 35627,
              59028: 35646,
              59029: 35624,
              59030: 35649,
              59031: 35660,
              59032: 35663,
              59033: 35662,
              59034: 35657,
              59035: 35670,
              59036: 35675,
              59037: 35674,
              59038: 35691,
              59039: 35679,
              59040: 35692,
              59041: 35695,
              59042: 35700,
              59043: 35709,
              59044: 35712,
              59045: 35724,
              59046: 35726,
              59047: 35730,
              59048: 35731,
              59049: 35734,
              59050: 35737,
              59051: 35738,
              59052: 35898,
              59053: 35905,
              59054: 35903,
              59055: 35912,
              59056: 35916,
              59057: 35918,
              59058: 35920,
              59059: 35925,
              59060: 35938,
              59061: 35948,
              59062: 35960,
              59063: 35962,
              59064: 35970,
              59065: 35977,
              59066: 35973,
              59067: 35978,
              59068: 35981,
              59069: 35982,
              59070: 35988,
              59071: 35964,
              59072: 35992,
              59073: 25117,
              59074: 36013,
              59075: 36010,
              59076: 36029,
              59077: 36018,
              59078: 36019,
              59079: 36014,
              59080: 36022,
              59081: 36040,
              59082: 36033,
              59083: 36068,
              59084: 36067,
              59085: 36058,
              59086: 36093,
              59087: 36090,
              59088: 36091,
              59089: 36100,
              59090: 36101,
              59091: 36106,
              59092: 36103,
              59093: 36111,
              59094: 36109,
              59095: 36112,
              59096: 40782,
              59097: 36115,
              59098: 36045,
              59099: 36116,
              59100: 36118,
              59101: 36199,
              59102: 36205,
              59103: 36209,
              59104: 36211,
              59105: 36225,
              59106: 36249,
              59107: 36290,
              59108: 36286,
              59109: 36282,
              59110: 36303,
              59111: 36314,
              59112: 36310,
              59113: 36300,
              59114: 36315,
              59115: 36299,
              59116: 36330,
              59117: 36331,
              59118: 36319,
              59119: 36323,
              59120: 36348,
              59121: 36360,
              59122: 36361,
              59123: 36351,
              59124: 36381,
              59125: 36382,
              59126: 36368,
              59127: 36383,
              59128: 36418,
              59129: 36405,
              59130: 36400,
              59131: 36404,
              59132: 36426,
              59200: 36423,
              59201: 36425,
              59202: 36428,
              59203: 36432,
              59204: 36424,
              59205: 36441,
              59206: 36452,
              59207: 36448,
              59208: 36394,
              59209: 36451,
              59210: 36437,
              59211: 36470,
              59212: 36466,
              59213: 36476,
              59214: 36481,
              59215: 36487,
              59216: 36485,
              59217: 36484,
              59218: 36491,
              59219: 36490,
              59220: 36499,
              59221: 36497,
              59222: 36500,
              59223: 36505,
              59224: 36522,
              59225: 36513,
              59226: 36524,
              59227: 36528,
              59228: 36550,
              59229: 36529,
              59230: 36542,
              59231: 36549,
              59232: 36552,
              59233: 36555,
              59234: 36571,
              59235: 36579,
              59236: 36604,
              59237: 36603,
              59238: 36587,
              59239: 36606,
              59240: 36618,
              59241: 36613,
              59242: 36629,
              59243: 36626,
              59244: 36633,
              59245: 36627,
              59246: 36636,
              59247: 36639,
              59248: 36635,
              59249: 36620,
              59250: 36646,
              59251: 36659,
              59252: 36667,
              59253: 36665,
              59254: 36677,
              59255: 36674,
              59256: 36670,
              59257: 36684,
              59258: 36681,
              59259: 36678,
              59260: 36686,
              59261: 36695,
              59262: 36700,
              59264: 36706,
              59265: 36707,
              59266: 36708,
              59267: 36764,
              59268: 36767,
              59269: 36771,
              59270: 36781,
              59271: 36783,
              59272: 36791,
              59273: 36826,
              59274: 36837,
              59275: 36834,
              59276: 36842,
              59277: 36847,
              59278: 36999,
              59279: 36852,
              59280: 36869,
              59281: 36857,
              59282: 36858,
              59283: 36881,
              59284: 36885,
              59285: 36897,
              59286: 36877,
              59287: 36894,
              59288: 36886,
              59289: 36875,
              59290: 36903,
              59291: 36918,
              59292: 36917,
              59293: 36921,
              59294: 36856,
              59295: 36943,
              59296: 36944,
              59297: 36945,
              59298: 36946,
              59299: 36878,
              59300: 36937,
              59301: 36926,
              59302: 36950,
              59303: 36952,
              59304: 36958,
              59305: 36968,
              59306: 36975,
              59307: 36982,
              59308: 38568,
              59309: 36978,
              59310: 36994,
              59311: 36989,
              59312: 36993,
              59313: 36992,
              59314: 37002,
              59315: 37001,
              59316: 37007,
              59317: 37032,
              59318: 37039,
              59319: 37041,
              59320: 37045,
              59321: 37090,
              59322: 37092,
              59323: 25160,
              59324: 37083,
              59325: 37122,
              59326: 37138,
              59327: 37145,
              59328: 37170,
              59329: 37168,
              59330: 37194,
              59331: 37206,
              59332: 37208,
              59333: 37219,
              59334: 37221,
              59335: 37225,
              59336: 37235,
              59337: 37234,
              59338: 37259,
              59339: 37257,
              59340: 37250,
              59341: 37282,
              59342: 37291,
              59343: 37295,
              59344: 37290,
              59345: 37301,
              59346: 37300,
              59347: 37306,
              59348: 37312,
              59349: 37313,
              59350: 37321,
              59351: 37323,
              59352: 37328,
              59353: 37334,
              59354: 37343,
              59355: 37345,
              59356: 37339,
              59357: 37372,
              59358: 37365,
              59359: 37366,
              59360: 37406,
              59361: 37375,
              59362: 37396,
              59363: 37420,
              59364: 37397,
              59365: 37393,
              59366: 37470,
              59367: 37463,
              59368: 37445,
              59369: 37449,
              59370: 37476,
              59371: 37448,
              59372: 37525,
              59373: 37439,
              59374: 37451,
              59375: 37456,
              59376: 37532,
              59377: 37526,
              59378: 37523,
              59379: 37531,
              59380: 37466,
              59381: 37583,
              59382: 37561,
              59383: 37559,
              59384: 37609,
              59385: 37647,
              59386: 37626,
              59387: 37700,
              59388: 37678,
              59456: 37657,
              59457: 37666,
              59458: 37658,
              59459: 37667,
              59460: 37690,
              59461: 37685,
              59462: 37691,
              59463: 37724,
              59464: 37728,
              59465: 37756,
              59466: 37742,
              59467: 37718,
              59468: 37808,
              59469: 37804,
              59470: 37805,
              59471: 37780,
              59472: 37817,
              59473: 37846,
              59474: 37847,
              59475: 37864,
              59476: 37861,
              59477: 37848,
              59478: 37827,
              59479: 37853,
              59480: 37840,
              59481: 37832,
              59482: 37860,
              59483: 37914,
              59484: 37908,
              59485: 37907,
              59486: 37891,
              59487: 37895,
              59488: 37904,
              59489: 37942,
              59490: 37931,
              59491: 37941,
              59492: 37921,
              59493: 37946,
              59494: 37953,
              59495: 37970,
              59496: 37956,
              59497: 37979,
              59498: 37984,
              59499: 37986,
              59500: 37982,
              59501: 37994,
              59502: 37417,
              59503: 38e3,
              59504: 38005,
              59505: 38007,
              59506: 38013,
              59507: 37978,
              59508: 38012,
              59509: 38014,
              59510: 38017,
              59511: 38015,
              59512: 38274,
              59513: 38279,
              59514: 38282,
              59515: 38292,
              59516: 38294,
              59517: 38296,
              59518: 38297,
              59520: 38304,
              59521: 38312,
              59522: 38311,
              59523: 38317,
              59524: 38332,
              59525: 38331,
              59526: 38329,
              59527: 38334,
              59528: 38346,
              59529: 28662,
              59530: 38339,
              59531: 38349,
              59532: 38348,
              59533: 38357,
              59534: 38356,
              59535: 38358,
              59536: 38364,
              59537: 38369,
              59538: 38373,
              59539: 38370,
              59540: 38433,
              59541: 38440,
              59542: 38446,
              59543: 38447,
              59544: 38466,
              59545: 38476,
              59546: 38479,
              59547: 38475,
              59548: 38519,
              59549: 38492,
              59550: 38494,
              59551: 38493,
              59552: 38495,
              59553: 38502,
              59554: 38514,
              59555: 38508,
              59556: 38541,
              59557: 38552,
              59558: 38549,
              59559: 38551,
              59560: 38570,
              59561: 38567,
              59562: 38577,
              59563: 38578,
              59564: 38576,
              59565: 38580,
              59566: 38582,
              59567: 38584,
              59568: 38585,
              59569: 38606,
              59570: 38603,
              59571: 38601,
              59572: 38605,
              59573: 35149,
              59574: 38620,
              59575: 38669,
              59576: 38613,
              59577: 38649,
              59578: 38660,
              59579: 38662,
              59580: 38664,
              59581: 38675,
              59582: 38670,
              59583: 38673,
              59584: 38671,
              59585: 38678,
              59586: 38681,
              59587: 38692,
              59588: 38698,
              59589: 38704,
              59590: 38713,
              59591: 38717,
              59592: 38718,
              59593: 38724,
              59594: 38726,
              59595: 38728,
              59596: 38722,
              59597: 38729,
              59598: 38748,
              59599: 38752,
              59600: 38756,
              59601: 38758,
              59602: 38760,
              59603: 21202,
              59604: 38763,
              59605: 38769,
              59606: 38777,
              59607: 38789,
              59608: 38780,
              59609: 38785,
              59610: 38778,
              59611: 38790,
              59612: 38795,
              59613: 38799,
              59614: 38800,
              59615: 38812,
              59616: 38824,
              59617: 38822,
              59618: 38819,
              59619: 38835,
              59620: 38836,
              59621: 38851,
              59622: 38854,
              59623: 38856,
              59624: 38859,
              59625: 38876,
              59626: 38893,
              59627: 40783,
              59628: 38898,
              59629: 31455,
              59630: 38902,
              59631: 38901,
              59632: 38927,
              59633: 38924,
              59634: 38968,
              59635: 38948,
              59636: 38945,
              59637: 38967,
              59638: 38973,
              59639: 38982,
              59640: 38991,
              59641: 38987,
              59642: 39019,
              59643: 39023,
              59644: 39024,
              59712: 39025,
              59713: 39028,
              59714: 39027,
              59715: 39082,
              59716: 39087,
              59717: 39089,
              59718: 39094,
              59719: 39108,
              59720: 39107,
              59721: 39110,
              59722: 39145,
              59723: 39147,
              59724: 39171,
              59725: 39177,
              59726: 39186,
              59727: 39188,
              59728: 39192,
              59729: 39201,
              59730: 39197,
              59731: 39198,
              59732: 39204,
              59733: 39200,
              59734: 39212,
              59735: 39214,
              59736: 39229,
              59737: 39230,
              59738: 39234,
              59739: 39241,
              59740: 39237,
              59741: 39248,
              59742: 39243,
              59743: 39249,
              59744: 39250,
              59745: 39244,
              59746: 39253,
              59747: 39319,
              59748: 39320,
              59749: 39333,
              59750: 39341,
              59751: 39342,
              59752: 39356,
              59753: 39391,
              59754: 39387,
              59755: 39389,
              59756: 39384,
              59757: 39377,
              59758: 39405,
              59759: 39406,
              59760: 39409,
              59761: 39410,
              59762: 39419,
              59763: 39416,
              59764: 39425,
              59765: 39439,
              59766: 39429,
              59767: 39394,
              59768: 39449,
              59769: 39467,
              59770: 39479,
              59771: 39493,
              59772: 39490,
              59773: 39488,
              59774: 39491,
              59776: 39486,
              59777: 39509,
              59778: 39501,
              59779: 39515,
              59780: 39511,
              59781: 39519,
              59782: 39522,
              59783: 39525,
              59784: 39524,
              59785: 39529,
              59786: 39531,
              59787: 39530,
              59788: 39597,
              59789: 39600,
              59790: 39612,
              59791: 39616,
              59792: 39631,
              59793: 39633,
              59794: 39635,
              59795: 39636,
              59796: 39646,
              59797: 39647,
              59798: 39650,
              59799: 39651,
              59800: 39654,
              59801: 39663,
              59802: 39659,
              59803: 39662,
              59804: 39668,
              59805: 39665,
              59806: 39671,
              59807: 39675,
              59808: 39686,
              59809: 39704,
              59810: 39706,
              59811: 39711,
              59812: 39714,
              59813: 39715,
              59814: 39717,
              59815: 39719,
              59816: 39720,
              59817: 39721,
              59818: 39722,
              59819: 39726,
              59820: 39727,
              59821: 39730,
              59822: 39748,
              59823: 39747,
              59824: 39759,
              59825: 39757,
              59826: 39758,
              59827: 39761,
              59828: 39768,
              59829: 39796,
              59830: 39827,
              59831: 39811,
              59832: 39825,
              59833: 39830,
              59834: 39831,
              59835: 39839,
              59836: 39840,
              59837: 39848,
              59838: 39860,
              59839: 39872,
              59840: 39882,
              59841: 39865,
              59842: 39878,
              59843: 39887,
              59844: 39889,
              59845: 39890,
              59846: 39907,
              59847: 39906,
              59848: 39908,
              59849: 39892,
              59850: 39905,
              59851: 39994,
              59852: 39922,
              59853: 39921,
              59854: 39920,
              59855: 39957,
              59856: 39956,
              59857: 39945,
              59858: 39955,
              59859: 39948,
              59860: 39942,
              59861: 39944,
              59862: 39954,
              59863: 39946,
              59864: 39940,
              59865: 39982,
              59866: 39963,
              59867: 39973,
              59868: 39972,
              59869: 39969,
              59870: 39984,
              59871: 40007,
              59872: 39986,
              59873: 40006,
              59874: 39998,
              59875: 40026,
              59876: 40032,
              59877: 40039,
              59878: 40054,
              59879: 40056,
              59880: 40167,
              59881: 40172,
              59882: 40176,
              59883: 40201,
              59884: 40200,
              59885: 40171,
              59886: 40195,
              59887: 40198,
              59888: 40234,
              59889: 40230,
              59890: 40367,
              59891: 40227,
              59892: 40223,
              59893: 40260,
              59894: 40213,
              59895: 40210,
              59896: 40257,
              59897: 40255,
              59898: 40254,
              59899: 40262,
              59900: 40264,
              59968: 40285,
              59969: 40286,
              59970: 40292,
              59971: 40273,
              59972: 40272,
              59973: 40281,
              59974: 40306,
              59975: 40329,
              59976: 40327,
              59977: 40363,
              59978: 40303,
              59979: 40314,
              59980: 40346,
              59981: 40356,
              59982: 40361,
              59983: 40370,
              59984: 40388,
              59985: 40385,
              59986: 40379,
              59987: 40376,
              59988: 40378,
              59989: 40390,
              59990: 40399,
              59991: 40386,
              59992: 40409,
              59993: 40403,
              59994: 40440,
              59995: 40422,
              59996: 40429,
              59997: 40431,
              59998: 40445,
              59999: 40474,
              6e4: 40475,
              60001: 40478,
              60002: 40565,
              60003: 40569,
              60004: 40573,
              60005: 40577,
              60006: 40584,
              60007: 40587,
              60008: 40588,
              60009: 40594,
              60010: 40597,
              60011: 40593,
              60012: 40605,
              60013: 40613,
              60014: 40617,
              60015: 40632,
              60016: 40618,
              60017: 40621,
              60018: 38753,
              60019: 40652,
              60020: 40654,
              60021: 40655,
              60022: 40656,
              60023: 40660,
              60024: 40668,
              60025: 40670,
              60026: 40669,
              60027: 40672,
              60028: 40677,
              60029: 40680,
              60030: 40687,
              60032: 40692,
              60033: 40694,
              60034: 40695,
              60035: 40697,
              60036: 40699,
              60037: 40700,
              60038: 40701,
              60039: 40711,
              60040: 40712,
              60041: 30391,
              60042: 40725,
              60043: 40737,
              60044: 40748,
              60045: 40766,
              60046: 40778,
              60047: 40786,
              60048: 40788,
              60049: 40803,
              60050: 40799,
              60051: 40800,
              60052: 40801,
              60053: 40806,
              60054: 40807,
              60055: 40812,
              60056: 40810,
              60057: 40823,
              60058: 40818,
              60059: 40822,
              60060: 40853,
              60061: 40860,
              60062: 40864,
              60063: 22575,
              60064: 27079,
              60065: 36953,
              60066: 29796,
              60067: 20956,
              60068: 29081
            };
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(1), l = a(2);
            function c(h, p, m, y) {
              var B;
              p.degree() < m.degree() && (B = [
                m,
                p
              ], p = B[0], m = B[1]);
              for (var v = p, D = m, P = h.zero, k = h.one; D.degree() >= y / 2; ) {
                var w = v, _ = P;
                if (v = D, P = k, v.isZero()) return null;
                D = w;
                for (var T = h.zero, N = v.getCoefficient(v.degree()), U = h.inverse(N); D.degree() >= v.degree() && !D.isZero(); ) {
                  var C = D.degree() - v.degree(), z = h.multiply(D.getCoefficient(D.degree()), U);
                  T = T.addOrSubtract(h.buildMonomial(C, z)), D = D.addOrSubtract(v.multiplyByMonomial(C, z));
                }
                if (k = T.multiplyPoly(P).addOrSubtract(_), D.degree() >= v.degree()) return null;
              }
              var I = k.getCoefficient(0);
              if (I === 0) return null;
              var R = h.inverse(I);
              return [
                k.multiply(R),
                D.multiply(R)
              ];
            }
            function u(h, p) {
              var m = p.degree();
              if (m === 1) return [
                p.getCoefficient(1)
              ];
              for (var y = new Array(m), B = 0, v = 1; v < h.size && B < m; v++) p.evaluateAt(v) === 0 && (y[B] = h.inverse(v), B++);
              return B !== m ? null : y;
            }
            function x(h, p, m) {
              for (var y = m.length, B = new Array(y), v = 0; v < y; v++) {
                for (var D = h.inverse(m[v]), P = 1, k = 0; k < y; k++) v !== k && (P = h.multiply(P, i.addOrSubtractGF(1, h.multiply(m[k], D))));
                B[v] = h.multiply(p.evaluateAt(D), h.inverse(P)), h.generatorBase !== 0 && (B[v] = h.multiply(B[v], D));
              }
              return B;
            }
            function f(h, p) {
              var m = new Uint8ClampedArray(h.length);
              m.set(h);
              for (var y = new i.default(285, 256, 0), B = new l.default(y, m), v = new Uint8ClampedArray(p), D = false, P = 0; P < p; P++) {
                var k = B.evaluateAt(y.exp(P + y.generatorBase));
                v[v.length - 1 - P] = k, k !== 0 && (D = true);
              }
              if (!D) return m;
              var w = new l.default(y, v), _ = c(y, y.buildMonomial(p, 1), w, p);
              if (_ === null) return null;
              var T = u(y, _[0]);
              if (T == null) return null;
              for (var N = x(y, _[1], T), U = 0; U < T.length; U++) {
                var C = m.length - 1 - y.log(T[U]);
                if (C < 0) return null;
                m[C] = i.addOrSubtractGF(m[C], N[U]);
              }
              return m;
            }
            n.decode = f;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            }), n.VERSIONS = [
              {
                infoBits: null,
                versionNumber: 1,
                alignmentPatternCenters: [],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 7,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 19
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 10,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 13,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 17,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 9
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: null,
                versionNumber: 2,
                alignmentPatternCenters: [
                  6,
                  18
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 10,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 34
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 16,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 28
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 22
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: null,
                versionNumber: 3,
                alignmentPatternCenters: [
                  6,
                  22
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 15,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 55
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 44
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: null,
                versionNumber: 4,
                alignmentPatternCenters: [
                  6,
                  26
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 20,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 80
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 32
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 24
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 16,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 9
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: null,
                versionNumber: 5,
                alignmentPatternCenters: [
                  6,
                  30
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 108
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 43
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 11
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 12
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: null,
                versionNumber: 6,
                alignmentPatternCenters: [
                  6,
                  34
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 68
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 16,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 27
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 19
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 31892,
                versionNumber: 7,
                alignmentPatternCenters: [
                  6,
                  22,
                  38
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 20,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 78
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 31
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 14
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 13
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 14
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 34236,
                versionNumber: 8,
                alignmentPatternCenters: [
                  6,
                  24,
                  42
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 97
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 38
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 39
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 18
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 19
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 14
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 39577,
                versionNumber: 9,
                alignmentPatternCenters: [
                  6,
                  26,
                  46
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 36
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 37
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 20,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 12
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 42195,
                versionNumber: 10,
                alignmentPatternCenters: [
                  6,
                  28,
                  50
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 18,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 68
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 69
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 43
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 44
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 19
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 20
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 48118,
                versionNumber: 11,
                alignmentPatternCenters: [
                  6,
                  30,
                  54
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 20,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 81
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 50
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 51
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 22
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 23
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 12
                      },
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 51042,
                versionNumber: 12,
                alignmentPatternCenters: [
                  6,
                  32,
                  58
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 92
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 93
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 36
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 37
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 20
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 21
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 14
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 55367,
                versionNumber: 13,
                alignmentPatternCenters: [
                  6,
                  34,
                  62
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 107
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 37
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 38
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 20
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 21
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 12,
                        dataCodewordsPerBlock: 11
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 12
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 58893,
                versionNumber: 14,
                alignmentPatternCenters: [
                  6,
                  26,
                  46,
                  66
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 115
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 40
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 41
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 20,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 12
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 63784,
                versionNumber: 15,
                alignmentPatternCenters: [
                  6,
                  26,
                  48,
                  70
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 22,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 87
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 88
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 41
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 42
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 12
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 68472,
                versionNumber: 16,
                alignmentPatternCenters: [
                  6,
                  26,
                  50,
                  74
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 98
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 99
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 45
                      },
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 15,
                        dataCodewordsPerBlock: 19
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 20
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 70749,
                versionNumber: 17,
                alignmentPatternCenters: [
                  6,
                  30,
                  54,
                  78
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 107
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 108
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 22
                      },
                      {
                        numBlocks: 15,
                        dataCodewordsPerBlock: 23
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 14
                      },
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 76311,
                versionNumber: 18,
                alignmentPatternCenters: [
                  6,
                  30,
                  56,
                  82
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 120
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 121
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 9,
                        dataCodewordsPerBlock: 43
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 44
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 22
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 23
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 14
                      },
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 15
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 79154,
                versionNumber: 19,
                alignmentPatternCenters: [
                  6,
                  30,
                  58,
                  86
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 113
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 114
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 44
                      },
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 45
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 21
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 22
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 9,
                        dataCodewordsPerBlock: 13
                      },
                      {
                        numBlocks: 16,
                        dataCodewordsPerBlock: 14
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 84390,
                versionNumber: 20,
                alignmentPatternCenters: [
                  6,
                  34,
                  62,
                  90
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 107
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 108
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 41
                      },
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 42
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 15,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 15,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 87683,
                versionNumber: 21,
                alignmentPatternCenters: [
                  6,
                  28,
                  50,
                  72,
                  94
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 116
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 117
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 42
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 22
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 23
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 92361,
                versionNumber: 22,
                alignmentPatternCenters: [
                  6,
                  26,
                  50,
                  74,
                  98
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 111
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 112
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 16,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 24,
                    ecBlocks: [
                      {
                        numBlocks: 34,
                        dataCodewordsPerBlock: 13
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 96236,
                versionNumber: 23,
                alignmentPatternCenters: [
                  6,
                  30,
                  54,
                  74,
                  102
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 121
                      },
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 122
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 16,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 102084,
                versionNumber: 24,
                alignmentPatternCenters: [
                  6,
                  28,
                  54,
                  80,
                  106
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 117
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 118
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 45
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 16,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 30,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 102881,
                versionNumber: 25,
                alignmentPatternCenters: [
                  6,
                  32,
                  58,
                  84,
                  110
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 26,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 106
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 107
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 22,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 22,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 110507,
                versionNumber: 26,
                alignmentPatternCenters: [
                  6,
                  30,
                  58,
                  86,
                  114
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 114
                      },
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 115
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 28,
                        dataCodewordsPerBlock: 22
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 23
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 33,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 110734,
                versionNumber: 27,
                alignmentPatternCenters: [
                  6,
                  34,
                  62,
                  90,
                  118
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 122
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 123
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 22,
                        dataCodewordsPerBlock: 45
                      },
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 8,
                        dataCodewordsPerBlock: 23
                      },
                      {
                        numBlocks: 26,
                        dataCodewordsPerBlock: 24
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 12,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 28,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 117786,
                versionNumber: 28,
                alignmentPatternCenters: [
                  6,
                  26,
                  50,
                  74,
                  98,
                  122
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 117
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 118
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 45
                      },
                      {
                        numBlocks: 23,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 31,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 31,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 119615,
                versionNumber: 29,
                alignmentPatternCenters: [
                  6,
                  30,
                  54,
                  78,
                  102,
                  126
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 116
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 117
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 21,
                        dataCodewordsPerBlock: 45
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 46
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 23
                      },
                      {
                        numBlocks: 37,
                        dataCodewordsPerBlock: 24
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 26,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 126325,
                versionNumber: 30,
                alignmentPatternCenters: [
                  6,
                  26,
                  52,
                  78,
                  104,
                  130
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 5,
                        dataCodewordsPerBlock: 115
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 15,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 25,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 23,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 25,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 127568,
                versionNumber: 31,
                alignmentPatternCenters: [
                  6,
                  30,
                  56,
                  82,
                  108,
                  134
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 115
                      },
                      {
                        numBlocks: 3,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 29,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 42,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 23,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 28,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 133589,
                versionNumber: 32,
                alignmentPatternCenters: [
                  6,
                  34,
                  60,
                  86,
                  112,
                  138
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 115
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 23,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 35,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 35,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 136944,
                versionNumber: 33,
                alignmentPatternCenters: [
                  6,
                  30,
                  58,
                  86,
                  114,
                  142
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 115
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 21,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 29,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 11,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 46,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 141498,
                versionNumber: 34,
                alignmentPatternCenters: [
                  6,
                  34,
                  62,
                  90,
                  118,
                  146
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 115
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 116
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 23,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 44,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 59,
                        dataCodewordsPerBlock: 16
                      },
                      {
                        numBlocks: 1,
                        dataCodewordsPerBlock: 17
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 145311,
                versionNumber: 35,
                alignmentPatternCenters: [
                  6,
                  30,
                  54,
                  78,
                  102,
                  126,
                  150
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 12,
                        dataCodewordsPerBlock: 121
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 122
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 12,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 26,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 39,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 22,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 41,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 150283,
                versionNumber: 36,
                alignmentPatternCenters: [
                  6,
                  24,
                  50,
                  76,
                  102,
                  128,
                  154
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 121
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 122
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 34,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 46,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 2,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 64,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 152622,
                versionNumber: 37,
                alignmentPatternCenters: [
                  6,
                  28,
                  54,
                  80,
                  106,
                  132,
                  158
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 17,
                        dataCodewordsPerBlock: 122
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 123
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 29,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 49,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 24,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 46,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 158308,
                versionNumber: 38,
                alignmentPatternCenters: [
                  6,
                  32,
                  58,
                  84,
                  110,
                  136,
                  162
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 122
                      },
                      {
                        numBlocks: 18,
                        dataCodewordsPerBlock: 123
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 13,
                        dataCodewordsPerBlock: 46
                      },
                      {
                        numBlocks: 32,
                        dataCodewordsPerBlock: 47
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 48,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 14,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 42,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 32,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 161089,
                versionNumber: 39,
                alignmentPatternCenters: [
                  6,
                  26,
                  54,
                  82,
                  110,
                  138,
                  166
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 20,
                        dataCodewordsPerBlock: 117
                      },
                      {
                        numBlocks: 4,
                        dataCodewordsPerBlock: 118
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 40,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 7,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 43,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 22,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 10,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 67,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              },
              {
                infoBits: 167017,
                versionNumber: 40,
                alignmentPatternCenters: [
                  6,
                  30,
                  58,
                  86,
                  114,
                  142,
                  170
                ],
                errorCorrectionLevels: [
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 19,
                        dataCodewordsPerBlock: 118
                      },
                      {
                        numBlocks: 6,
                        dataCodewordsPerBlock: 119
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 28,
                    ecBlocks: [
                      {
                        numBlocks: 18,
                        dataCodewordsPerBlock: 47
                      },
                      {
                        numBlocks: 31,
                        dataCodewordsPerBlock: 48
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 34,
                        dataCodewordsPerBlock: 24
                      },
                      {
                        numBlocks: 34,
                        dataCodewordsPerBlock: 25
                      }
                    ]
                  },
                  {
                    ecCodewordsPerBlock: 30,
                    ecBlocks: [
                      {
                        numBlocks: 20,
                        dataCodewordsPerBlock: 15
                      },
                      {
                        numBlocks: 61,
                        dataCodewordsPerBlock: 16
                      }
                    ]
                  }
                ]
              }
            ];
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = a(0);
            function l(f, h, p, m) {
              var y = f.x - h.x + p.x - m.x, B = f.y - h.y + p.y - m.y;
              if (y === 0 && B === 0) return {
                a11: h.x - f.x,
                a12: h.y - f.y,
                a13: 0,
                a21: p.x - h.x,
                a22: p.y - h.y,
                a23: 0,
                a31: f.x,
                a32: f.y,
                a33: 1
              };
              var v = h.x - p.x, D = m.x - p.x, P = h.y - p.y, k = m.y - p.y, w = v * k - D * P, _ = (y * k - D * B) / w, T = (v * B - y * P) / w;
              return {
                a11: h.x - f.x + _ * h.x,
                a12: h.y - f.y + _ * h.y,
                a13: _,
                a21: m.x - f.x + T * m.x,
                a22: m.y - f.y + T * m.y,
                a23: T,
                a31: f.x,
                a32: f.y,
                a33: 1
              };
            }
            function c(f, h, p, m) {
              var y = l(f, h, p, m);
              return {
                a11: y.a22 * y.a33 - y.a23 * y.a32,
                a12: y.a13 * y.a32 - y.a12 * y.a33,
                a13: y.a12 * y.a23 - y.a13 * y.a22,
                a21: y.a23 * y.a31 - y.a21 * y.a33,
                a22: y.a11 * y.a33 - y.a13 * y.a31,
                a23: y.a13 * y.a21 - y.a11 * y.a23,
                a31: y.a21 * y.a32 - y.a22 * y.a31,
                a32: y.a12 * y.a31 - y.a11 * y.a32,
                a33: y.a11 * y.a22 - y.a12 * y.a21
              };
            }
            function u(f, h) {
              return {
                a11: f.a11 * h.a11 + f.a21 * h.a12 + f.a31 * h.a13,
                a12: f.a12 * h.a11 + f.a22 * h.a12 + f.a32 * h.a13,
                a13: f.a13 * h.a11 + f.a23 * h.a12 + f.a33 * h.a13,
                a21: f.a11 * h.a21 + f.a21 * h.a22 + f.a31 * h.a23,
                a22: f.a12 * h.a21 + f.a22 * h.a22 + f.a32 * h.a23,
                a23: f.a13 * h.a21 + f.a23 * h.a22 + f.a33 * h.a23,
                a31: f.a11 * h.a31 + f.a21 * h.a32 + f.a31 * h.a33,
                a32: f.a12 * h.a31 + f.a22 * h.a32 + f.a32 * h.a33,
                a33: f.a13 * h.a31 + f.a23 * h.a32 + f.a33 * h.a33
              };
            }
            function x(f, h) {
              for (var p = c({
                x: 3.5,
                y: 3.5
              }, {
                x: h.dimension - 3.5,
                y: 3.5
              }, {
                x: h.dimension - 6.5,
                y: h.dimension - 6.5
              }, {
                x: 3.5,
                y: h.dimension - 3.5
              }), m = l(h.topLeft, h.topRight, h.alignmentPattern, h.bottomLeft), y = u(m, p), B = i.BitMatrix.createEmpty(h.dimension, h.dimension), v = function(T, N) {
                var U = y.a13 * T + y.a23 * N + y.a33;
                return {
                  x: (y.a11 * T + y.a21 * N + y.a31) / U,
                  y: (y.a12 * T + y.a22 * N + y.a32) / U
                };
              }, D = 0; D < h.dimension; D++) for (var P = 0; P < h.dimension; P++) {
                var k = P + 0.5, w = D + 0.5, _ = v(k, w);
                B.set(P, D, f.get(Math.floor(_.x), Math.floor(_.y)));
              }
              return {
                matrix: B,
                mappingFunction: v
              };
            }
            n.extract = x;
          }),
          (function(r, n, a) {
            Object.defineProperty(n, "__esModule", {
              value: true
            });
            var i = 4, l = 0.5, c = 1.5, u = function(k, w) {
              return Math.sqrt(Math.pow(w.x - k.x, 2) + Math.pow(w.y - k.y, 2));
            };
            function x(k) {
              return k.reduce(function(w, _) {
                return w + _;
              });
            }
            function f(k, w, _) {
              var T, N, U, C, z = u(k, w), I = u(w, _), R = u(k, _), L, O, W;
              return I >= z && I >= R ? (T = [
                w,
                k,
                _
              ], L = T[0], O = T[1], W = T[2]) : R >= I && R >= z ? (N = [
                k,
                w,
                _
              ], L = N[0], O = N[1], W = N[2]) : (U = [
                k,
                _,
                w
              ], L = U[0], O = U[1], W = U[2]), (W.x - O.x) * (L.y - O.y) - (W.y - O.y) * (L.x - O.x) < 0 && (C = [
                W,
                L
              ], L = C[0], W = C[1]), {
                bottomLeft: L,
                topLeft: O,
                topRight: W
              };
            }
            function h(k, w, _, T) {
              var N = (x(m(k, _, T, 5)) / 7 + x(m(k, w, T, 5)) / 7 + x(m(_, k, T, 5)) / 7 + x(m(w, k, T, 5)) / 7) / 4;
              if (N < 1) throw new Error("Invalid module size");
              var U = Math.round(u(k, w) / N), C = Math.round(u(k, _) / N), z = Math.floor((U + C) / 2) + 7;
              switch (z % 4) {
                case 0:
                  z++;
                  break;
                case 2:
                  z--;
                  break;
              }
              return {
                dimension: z,
                moduleSize: N
              };
            }
            function p(k, w, _, T) {
              var N = [
                {
                  x: Math.floor(k.x),
                  y: Math.floor(k.y)
                }
              ], U = Math.abs(w.y - k.y) > Math.abs(w.x - k.x), C, z, I, R;
              U ? (C = Math.floor(k.y), z = Math.floor(k.x), I = Math.floor(w.y), R = Math.floor(w.x)) : (C = Math.floor(k.x), z = Math.floor(k.y), I = Math.floor(w.x), R = Math.floor(w.y));
              for (var L = Math.abs(I - C), O = Math.abs(R - z), W = Math.floor(-L / 2), $ = C < I ? 1 : -1, X = z < R ? 1 : -1, Y = true, Q = C, V = z; Q !== I + $; Q += $) {
                var M = U ? V : Q, G = U ? Q : V;
                if (_.get(M, G) !== Y && (Y = !Y, N.push({
                  x: M,
                  y: G
                }), N.length === T + 1)) break;
                if (W += O, W > 0) {
                  if (V === R) break;
                  V += X, W -= L;
                }
              }
              for (var ee = [], te = 0; te < T; te++) N[te] && N[te + 1] ? ee.push(u(N[te], N[te + 1])) : ee.push(0);
              return ee;
            }
            function m(k, w, _, T) {
              var N, U = w.y - k.y, C = w.x - k.x, z = p(k, w, _, Math.ceil(T / 2)), I = p(k, {
                x: k.x - C,
                y: k.y - U
              }, _, Math.ceil(T / 2)), R = z.shift() + I.shift() - 1;
              return (N = I.concat(R)).concat.apply(N, z);
            }
            function y(k, w) {
              var _ = x(k) / x(w), T = 0;
              return w.forEach(function(N, U) {
                T += Math.pow(k[U] - N * _, 2);
              }), {
                averageSize: _,
                error: T
              };
            }
            function B(k, w, _) {
              try {
                var T = m(k, {
                  x: -1,
                  y: k.y
                }, _, w.length), N = m(k, {
                  x: k.x,
                  y: -1
                }, _, w.length), U = {
                  x: Math.max(0, k.x - k.y) - 1,
                  y: Math.max(0, k.y - k.x) - 1
                }, C = m(k, U, _, w.length), z = {
                  x: Math.min(_.width, k.x + k.y) + 1,
                  y: Math.min(_.height, k.y + k.x) + 1
                }, I = m(k, z, _, w.length), R = y(T, w), L = y(N, w), O = y(C, w), W = y(I, w), $ = Math.sqrt(R.error * R.error + L.error * L.error + O.error * O.error + W.error * W.error), X = (R.averageSize + L.averageSize + O.averageSize + W.averageSize) / 4, Y = (Math.pow(R.averageSize - X, 2) + Math.pow(L.averageSize - X, 2) + Math.pow(O.averageSize - X, 2) + Math.pow(W.averageSize - X, 2)) / X;
                return $ + Y;
              } catch {
                return 1 / 0;
              }
            }
            function v(k, w) {
              for (var _ = Math.round(w.x); k.get(_, Math.round(w.y)); ) _--;
              for (var T = Math.round(w.x); k.get(T, Math.round(w.y)); ) T++;
              for (var N = (_ + T) / 2, U = Math.round(w.y); k.get(Math.round(N), U); ) U--;
              for (var C = Math.round(w.y); k.get(Math.round(N), C); ) C++;
              var z = (U + C) / 2;
              return {
                x: N,
                y: z
              };
            }
            function D(k) {
              for (var w = [], _ = [], T = [], N = [], U = function(M) {
                for (var G = 0, ee = false, te = [
                  0,
                  0,
                  0,
                  0,
                  0
                ], oe = function(xe) {
                  var de = k.get(xe, M);
                  if (de === ee) G++;
                  else {
                    te = [
                      te[1],
                      te[2],
                      te[3],
                      te[4],
                      G
                    ], G = 1, ee = de;
                    var he = x(te) / 7, be = Math.abs(te[0] - he) < he && Math.abs(te[1] - he) < he && Math.abs(te[2] - 3 * he) < 3 * he && Math.abs(te[3] - he) < he && Math.abs(te[4] - he) < he && !de, ve = x(te.slice(-3)) / 3, Ce = Math.abs(te[2] - ve) < ve && Math.abs(te[3] - ve) < ve && Math.abs(te[4] - ve) < ve && de;
                    if (be) {
                      var Ie = xe - te[3] - te[4], Ue = Ie - te[2], ge = {
                        startX: Ue,
                        endX: Ie,
                        y: M
                      }, ke = _.filter(function(Le) {
                        return Ue >= Le.bottom.startX && Ue <= Le.bottom.endX || Ie >= Le.bottom.startX && Ue <= Le.bottom.endX || Ue <= Le.bottom.startX && Ie >= Le.bottom.endX && te[2] / (Le.bottom.endX - Le.bottom.startX) < c && te[2] / (Le.bottom.endX - Le.bottom.startX) > l;
                      });
                      ke.length > 0 ? ke[0].bottom = ge : _.push({
                        top: ge,
                        bottom: ge
                      });
                    }
                    if (Ce) {
                      var ze = xe - te[4], Qe = ze - te[3], ge = {
                        startX: Qe,
                        y: M,
                        endX: ze
                      }, ke = N.filter(function(rt) {
                        return Qe >= rt.bottom.startX && Qe <= rt.bottom.endX || ze >= rt.bottom.startX && Qe <= rt.bottom.endX || Qe <= rt.bottom.startX && ze >= rt.bottom.endX && te[2] / (rt.bottom.endX - rt.bottom.startX) < c && te[2] / (rt.bottom.endX - rt.bottom.startX) > l;
                      });
                      ke.length > 0 ? ke[0].bottom = ge : N.push({
                        top: ge,
                        bottom: ge
                      });
                    }
                  }
                }, ie = -1; ie <= k.width; ie++) oe(ie);
                w.push.apply(w, _.filter(function(xe) {
                  return xe.bottom.y !== M && xe.bottom.y - xe.top.y >= 2;
                })), _ = _.filter(function(xe) {
                  return xe.bottom.y === M;
                }), T.push.apply(T, N.filter(function(xe) {
                  return xe.bottom.y !== M;
                })), N = N.filter(function(xe) {
                  return xe.bottom.y === M;
                });
              }, C = 0; C <= k.height; C++) U(C);
              w.push.apply(w, _.filter(function(M) {
                return M.bottom.y - M.top.y >= 2;
              })), T.push.apply(T, N);
              var z = w.filter(function(M) {
                return M.bottom.y - M.top.y >= 2;
              }).map(function(M) {
                var G = (M.top.startX + M.top.endX + M.bottom.startX + M.bottom.endX) / 4, ee = (M.top.y + M.bottom.y + 1) / 2;
                if (k.get(Math.round(G), Math.round(ee))) {
                  var te = [
                    M.top.endX - M.top.startX,
                    M.bottom.endX - M.bottom.startX,
                    M.bottom.y - M.top.y + 1
                  ], oe = x(te) / te.length, ie = B({
                    x: Math.round(G),
                    y: Math.round(ee)
                  }, [
                    1,
                    1,
                    3,
                    1,
                    1
                  ], k);
                  return {
                    score: ie,
                    x: G,
                    y: ee,
                    size: oe
                  };
                }
              }).filter(function(M) {
                return !!M;
              }).sort(function(M, G) {
                return M.score - G.score;
              }).map(function(M, G, ee) {
                if (G > i) return null;
                var te = ee.filter(function(ie, xe) {
                  return G !== xe;
                }).map(function(ie) {
                  return {
                    x: ie.x,
                    y: ie.y,
                    score: ie.score + Math.pow(ie.size - M.size, 2) / M.size,
                    size: ie.size
                  };
                }).sort(function(ie, xe) {
                  return ie.score - xe.score;
                });
                if (te.length < 2) return null;
                var oe = M.score + te[0].score + te[1].score;
                return {
                  points: [
                    M
                  ].concat(te.slice(0, 2)),
                  score: oe
                };
              }).filter(function(M) {
                return !!M;
              }).sort(function(M, G) {
                return M.score - G.score;
              });
              if (z.length === 0) return null;
              var I = f(z[0].points[0], z[0].points[1], z[0].points[2]), R = I.topRight, L = I.topLeft, O = I.bottomLeft, W = P(k, T, R, L, O), $ = [];
              W && $.push({
                alignmentPattern: {
                  x: W.alignmentPattern.x,
                  y: W.alignmentPattern.y
                },
                bottomLeft: {
                  x: O.x,
                  y: O.y
                },
                dimension: W.dimension,
                topLeft: {
                  x: L.x,
                  y: L.y
                },
                topRight: {
                  x: R.x,
                  y: R.y
                }
              });
              var X = v(k, R), Y = v(k, L), Q = v(k, O), V = P(k, T, X, Y, Q);
              return V && $.push({
                alignmentPattern: {
                  x: V.alignmentPattern.x,
                  y: V.alignmentPattern.y
                },
                bottomLeft: {
                  x: Q.x,
                  y: Q.y
                },
                topLeft: {
                  x: Y.x,
                  y: Y.y
                },
                topRight: {
                  x: X.x,
                  y: X.y
                },
                dimension: V.dimension
              }), $.length === 0 ? null : $;
            }
            n.locate = D;
            function P(k, w, _, T, N) {
              var U, C, z;
              try {
                U = h(T, _, N, k), C = U.dimension, z = U.moduleSize;
              } catch {
                return null;
              }
              var I = {
                x: _.x - T.x + N.x,
                y: _.y - T.y + N.y
              }, R = (u(T, N) + u(T, _)) / 2 / z, L = 1 - 3 / R, O = {
                x: T.x + L * (I.x - T.x),
                y: T.y + L * (I.y - T.y)
              }, W = w.map(function(X) {
                var Y = (X.top.startX + X.top.endX + X.bottom.startX + X.bottom.endX) / 4, Q = (X.top.y + X.bottom.y + 1) / 2;
                if (k.get(Math.floor(Y), Math.floor(Q))) {
                  var V = [
                    X.top.endX - X.top.startX,
                    X.bottom.endX - X.bottom.startX,
                    X.bottom.y - X.top.y + 1
                  ];
                  x(V) / V.length;
                  var M = B({
                    x: Math.floor(Y),
                    y: Math.floor(Q)
                  }, [
                    1,
                    1,
                    1
                  ], k), G = M + u({
                    x: Y,
                    y: Q
                  }, O);
                  return {
                    x: Y,
                    y: Q,
                    score: G
                  };
                }
              }).filter(function(X) {
                return !!X;
              }).sort(function(X, Y) {
                return X.score - Y.score;
              }), $ = R >= 15 && W.length ? W[0] : O;
              return {
                alignmentPattern: $,
                dimension: C
              };
            }
          })
        ]).default;
      });
    })(yx)), yx.exports;
  }
  var Ag = Zb();
  const bg = dg(Ag), Yb = xg({
    __proto__: null,
    default: bg
  }, [
    Ag
  ]);
  function wg({ onScanSuccess: e, onClose: t, onError: r }) {
    const [n, a] = fe.useState(""), [i, l] = fe.useState(false), [c, u] = fe.useState(null), x = fe.useRef(null), f = fe.useRef(null);
    return fe.useEffect(() => {
      let h = null, p = null, m = false;
      const y = () => {
        p && clearInterval(p), h && h.getTracks().forEach((v) => v.stop());
      };
      return (async () => {
        try {
          if (h = await navigator.mediaDevices.getUserMedia({
            video: {
              facingMode: "environment"
            }
          }), m) return y();
          u(true);
          const v = x.current, D = f.current;
          if (v && D) {
            if (v.srcObject = h, await v.play(), m) return y();
            const P = D.getContext("2d");
            if (!P) return a("Canvas context not available"), y();
            p = window.setInterval(() => {
              if (m || !v || v.paused || v.ended || !v.videoWidth || !v.videoHeight) return;
              D.width = v.videoWidth, D.height = v.videoHeight, P.drawImage(v, 0, 0, D.width, D.height);
              const k = P.getImageData(0, 0, D.width, D.height), w = bg(k.data, k.width, k.height, {
                inversionAttempts: "dontInvert"
              });
              if (w) {
                m = true, y(), l(true);
                const _ = w.binaryData, T = (_.length === 16 || _.length === 32) && /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\xFF]/.test(String.fromCharCode(...Array.from(_)));
                e(T ? new Uint8Array(_) : w.data), setTimeout(() => t(), 1e3);
              }
            }, 300);
          }
        } catch (v) {
          if (!v) {
            console.error("Caught a null or undefined error inside QRScanner.");
            return;
          }
          if (m || v.name === "AbortError") {
            console.log("Camera operation was cancelled or aborted, which is expected on unmount.");
            return;
          }
          console.error("Camera error:", v), u(false);
          let D = "An unknown camera error occurred.";
          v.name === "NotAllowedError" ? D = "Camera access was denied. Please grant permission in your browser settings." : v.name === "NotFoundError" ? D = "No camera found on this device." : v.name === "NotReadableError" ? D = "Cannot access the camera. It may be in use by another application or browser tab." : v.name === "OverconstrainedError" ? D = "The camera does not meet the required constraints." : v instanceof Error && (D = `Camera error: ${v.message}`), a(D), r == null ? void 0 : r(D);
        }
      })(), () => {
        m = true, y();
      };
    }, [
      e,
      t,
      r
    ]), E.jsx("div", {
      className: "fixed inset-0 bg-black/80 backdrop-blur-sm flex items-center justify-center z-50",
      children: E.jsxs("div", {
        className: "bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/50 p-6 max-w-md w-full mx-4 shadow-[0_0_40px_rgba(0,240,255,0.3)]",
        children: [
          E.jsxs("div", {
            className: "flex items-center justify-between mb-4",
            children: [
              E.jsxs("h3", {
                className: "text-lg font-semibold text-[#00f0ff] flex items-center gap-2",
                style: {
                  textShadow: "0 0 10px rgba(0,240,255,0.7)"
                },
                children: [
                  E.jsx(Nx, {
                    size: 20
                  }),
                  "Scan QR Code"
                ]
              }),
              E.jsx("button", {
                onClick: t,
                className: "p-2 hover:bg-[#1a1a2e] rounded-lg transition-colors border-2 border-[#00f0ff]/30",
                children: E.jsx(ds, {
                  size: 20,
                  className: "text-[#6ef3f7]"
                })
              })
            ]
          }),
          n && E.jsxs("div", {
            className: "mb-4 p-3 bg-[#ff006e]/10 border-2 border-[#ff006e]/30 rounded-lg flex items-start gap-2 text-[#ff006e] text-sm",
            children: [
              E.jsx(Wo, {
                size: 16,
                className: "shrink-0 mt-0.5"
              }),
              E.jsx("span", {
                children: n
              })
            ]
          }),
          i && E.jsxs("div", {
            className: "mb-4 p-3 bg-[#39ff14]/10 border-2 border-[#39ff14]/30 rounded-lg flex items-center gap-2 text-[#39ff14] text-sm",
            children: [
              E.jsx(ha, {
                size: 16
              }),
              E.jsx("span", {
                children: "QR Code detected!"
              })
            ]
          }),
          E.jsxs("div", {
            className: "relative bg-black rounded-lg overflow-hidden border-2 border-[#00f0ff]/30",
            children: [
              E.jsx("video", {
                ref: x,
                className: "w-full h-64 object-cover",
                playsInline: true,
                muted: true
              }),
              E.jsx("canvas", {
                ref: f,
                className: "hidden"
              })
            ]
          }),
          !c && !n && E.jsx("p", {
            className: "text-sm text-[#6ef3f7] mt-3 text-center",
            children: "Requesting camera access..."
          }),
          E.jsx("button", {
            onClick: t,
            className: "w-full mt-4 py-2 bg-[#1a1a2e] hover:bg-[#16213e] rounded-lg text-[#00f0ff] font-medium transition-all border-2 border-[#00f0ff]/50 hover:shadow-[0_0_15px_rgba(0,240,255,0.3)]",
            children: "Cancel"
          })
        ]
      })
    });
  }
  const vg = `abandon
ability
able
about
above
absent
absorb
abstract
absurd
abuse
access
accident
account
accuse
achieve
acid
acoustic
acquire
across
act
action
actor
actress
actual
adapt
add
addict
address
adjust
admit
adult
advance
advice
aerobic
affair
afford
afraid
again
age
agent
agree
ahead
aim
air
airport
aisle
alarm
album
alcohol
alert
alien
all
alley
allow
almost
alone
alpha
already
also
alter
always
amateur
amazing
among
amount
amused
analyst
anchor
ancient
anger
angle
angry
animal
ankle
announce
annual
another
answer
antenna
antique
anxiety
any
apart
apology
appear
apple
approve
april
arch
arctic
area
arena
argue
arm
armed
armor
army
around
arrange
arrest
arrive
arrow
art
artefact
artist
artwork
ask
aspect
assault
asset
assist
assume
asthma
athlete
atom
attack
attend
attitude
attract
auction
audit
august
aunt
author
auto
autumn
average
avocado
avoid
awake
aware
away
awesome
awful
awkward
axis
baby
bachelor
bacon
badge
bag
balance
balcony
ball
bamboo
banana
banner
bar
barely
bargain
barrel
base
basic
basket
battle
beach
bean
beauty
because
become
beef
before
begin
behave
behind
believe
below
belt
bench
benefit
best
betray
better
between
beyond
bicycle
bid
bike
bind
biology
bird
birth
bitter
black
blade
blame
blanket
blast
bleak
bless
blind
blood
blossom
blouse
blue
blur
blush
board
boat
body
boil
bomb
bone
bonus
book
boost
border
boring
borrow
boss
bottom
bounce
box
boy
bracket
brain
brand
brass
brave
bread
breeze
brick
bridge
brief
bright
bring
brisk
broccoli
broken
bronze
broom
brother
brown
brush
bubble
buddy
budget
buffalo
build
bulb
bulk
bullet
bundle
bunker
burden
burger
burst
bus
business
busy
butter
buyer
buzz
cabbage
cabin
cable
cactus
cage
cake
call
calm
camera
camp
can
canal
cancel
candy
cannon
canoe
canvas
canyon
capable
capital
captain
car
carbon
card
cargo
carpet
carry
cart
case
cash
casino
castle
casual
cat
catalog
catch
category
cattle
caught
cause
caution
cave
ceiling
celery
cement
census
century
cereal
certain
chair
chalk
champion
change
chaos
chapter
charge
chase
chat
cheap
check
cheese
chef
cherry
chest
chicken
chief
child
chimney
choice
choose
chronic
chuckle
chunk
churn
cigar
cinnamon
circle
citizen
city
civil
claim
clap
clarify
claw
clay
clean
clerk
clever
click
client
cliff
climb
clinic
clip
clock
clog
close
cloth
cloud
clown
club
clump
cluster
clutch
coach
coast
coconut
code
coffee
coil
coin
collect
color
column
combine
come
comfort
comic
common
company
concert
conduct
confirm
congress
connect
consider
control
convince
cook
cool
copper
copy
coral
core
corn
correct
cost
cotton
couch
country
couple
course
cousin
cover
coyote
crack
cradle
craft
cram
crane
crash
crater
crawl
crazy
cream
credit
creek
crew
cricket
crime
crisp
critic
crop
cross
crouch
crowd
crucial
cruel
cruise
crumble
crunch
crush
cry
crystal
cube
culture
cup
cupboard
curious
current
curtain
curve
cushion
custom
cute
cycle
dad
damage
damp
dance
danger
daring
dash
daughter
dawn
day
deal
debate
debris
decade
december
decide
decline
decorate
decrease
deer
defense
define
defy
degree
delay
deliver
demand
demise
denial
dentist
deny
depart
depend
deposit
depth
deputy
derive
describe
desert
design
desk
despair
destroy
detail
detect
develop
device
devote
diagram
dial
diamond
diary
dice
diesel
diet
differ
digital
dignity
dilemma
dinner
dinosaur
direct
dirt
disagree
discover
disease
dish
dismiss
disorder
display
distance
divert
divide
divorce
dizzy
doctor
document
dog
doll
dolphin
domain
donate
donkey
donor
door
dose
double
dove
draft
dragon
drama
drastic
draw
dream
dress
drift
drill
drink
drip
drive
drop
drum
dry
duck
dumb
dune
during
dust
dutch
duty
dwarf
dynamic
eager
eagle
early
earn
earth
easily
east
easy
echo
ecology
economy
edge
edit
educate
effort
egg
eight
either
elbow
elder
electric
elegant
element
elephant
elevator
elite
else
embark
embody
embrace
emerge
emotion
employ
empower
empty
enable
enact
end
endless
endorse
enemy
energy
enforce
engage
engine
enhance
enjoy
enlist
enough
enrich
enroll
ensure
enter
entire
entry
envelope
episode
equal
equip
era
erase
erode
erosion
error
erupt
escape
essay
essence
estate
eternal
ethics
evidence
evil
evoke
evolve
exact
example
excess
exchange
excite
exclude
excuse
execute
exercise
exhaust
exhibit
exile
exist
exit
exotic
expand
expect
expire
explain
expose
express
extend
extra
eye
eyebrow
fabric
face
faculty
fade
faint
faith
fall
false
fame
family
famous
fan
fancy
fantasy
farm
fashion
fat
fatal
father
fatigue
fault
favorite
feature
february
federal
fee
feed
feel
female
fence
festival
fetch
fever
few
fiber
fiction
field
figure
file
film
filter
final
find
fine
finger
finish
fire
firm
first
fiscal
fish
fit
fitness
fix
flag
flame
flash
flat
flavor
flee
flight
flip
float
flock
floor
flower
fluid
flush
fly
foam
focus
fog
foil
fold
follow
food
foot
force
forest
forget
fork
fortune
forum
forward
fossil
foster
found
fox
fragile
frame
frequent
fresh
friend
fringe
frog
front
frost
frown
frozen
fruit
fuel
fun
funny
furnace
fury
future
gadget
gain
galaxy
gallery
game
gap
garage
garbage
garden
garlic
garment
gas
gasp
gate
gather
gauge
gaze
general
genius
genre
gentle
genuine
gesture
ghost
giant
gift
giggle
ginger
giraffe
girl
give
glad
glance
glare
glass
glide
glimpse
globe
gloom
glory
glove
glow
glue
goat
goddess
gold
good
goose
gorilla
gospel
gossip
govern
gown
grab
grace
grain
grant
grape
grass
gravity
great
green
grid
grief
grit
grocery
group
grow
grunt
guard
guess
guide
guilt
guitar
gun
gym
habit
hair
half
hammer
hamster
hand
happy
harbor
hard
harsh
harvest
hat
have
hawk
hazard
head
health
heart
heavy
hedgehog
height
hello
helmet
help
hen
hero
hidden
high
hill
hint
hip
hire
history
hobby
hockey
hold
hole
holiday
hollow
home
honey
hood
hope
horn
horror
horse
hospital
host
hotel
hour
hover
hub
huge
human
humble
humor
hundred
hungry
hunt
hurdle
hurry
hurt
husband
hybrid
ice
icon
idea
identify
idle
ignore
ill
illegal
illness
image
imitate
immense
immune
impact
impose
improve
impulse
inch
include
income
increase
index
indicate
indoor
industry
infant
inflict
inform
inhale
inherit
initial
inject
injury
inmate
inner
innocent
input
inquiry
insane
insect
inside
inspire
install
intact
interest
into
invest
invite
involve
iron
island
isolate
issue
item
ivory
jacket
jaguar
jar
jazz
jealous
jeans
jelly
jewel
job
join
joke
journey
joy
judge
juice
jump
jungle
junior
junk
just
kangaroo
keen
keep
ketchup
key
kick
kid
kidney
kind
kingdom
kiss
kit
kitchen
kite
kitten
kiwi
knee
knife
knock
know
lab
label
labor
ladder
lady
lake
lamp
language
laptop
large
later
latin
laugh
laundry
lava
law
lawn
lawsuit
layer
lazy
leader
leaf
learn
leave
lecture
left
leg
legal
legend
leisure
lemon
lend
length
lens
leopard
lesson
letter
level
liar
liberty
library
license
life
lift
light
like
limb
limit
link
lion
liquid
list
little
live
lizard
load
loan
lobster
local
lock
logic
lonely
long
loop
lottery
loud
lounge
love
loyal
lucky
luggage
lumber
lunar
lunch
luxury
lyrics
machine
mad
magic
magnet
maid
mail
main
major
make
mammal
man
manage
mandate
mango
mansion
manual
maple
marble
march
margin
marine
market
marriage
mask
mass
master
match
material
math
matrix
matter
maximum
maze
meadow
mean
measure
meat
mechanic
medal
media
melody
melt
member
memory
mention
menu
mercy
merge
merit
merry
mesh
message
metal
method
middle
midnight
milk
million
mimic
mind
minimum
minor
minute
miracle
mirror
misery
miss
mistake
mix
mixed
mixture
mobile
model
modify
mom
moment
monitor
monkey
monster
month
moon
moral
more
morning
mosquito
mother
motion
motor
mountain
mouse
move
movie
much
muffin
mule
multiply
muscle
museum
mushroom
music
must
mutual
myself
mystery
myth
naive
name
napkin
narrow
nasty
nation
nature
near
neck
need
negative
neglect
neither
nephew
nerve
nest
net
network
neutral
never
news
next
nice
night
noble
noise
nominee
noodle
normal
north
nose
notable
note
nothing
notice
novel
now
nuclear
number
nurse
nut
oak
obey
object
oblige
obscure
observe
obtain
obvious
occur
ocean
october
odor
off
offer
office
often
oil
okay
old
olive
olympic
omit
once
one
onion
online
only
open
opera
opinion
oppose
option
orange
orbit
orchard
order
ordinary
organ
orient
original
orphan
ostrich
other
outdoor
outer
output
outside
oval
oven
over
own
owner
oxygen
oyster
ozone
pact
paddle
page
pair
palace
palm
panda
panel
panic
panther
paper
parade
parent
park
parrot
party
pass
patch
path
patient
patrol
pattern
pause
pave
payment
peace
peanut
pear
peasant
pelican
pen
penalty
pencil
people
pepper
perfect
permit
person
pet
phone
photo
phrase
physical
piano
picnic
picture
piece
pig
pigeon
pill
pilot
pink
pioneer
pipe
pistol
pitch
pizza
place
planet
plastic
plate
play
please
pledge
pluck
plug
plunge
poem
poet
point
polar
pole
police
pond
pony
pool
popular
portion
position
possible
post
potato
pottery
poverty
powder
power
practice
praise
predict
prefer
prepare
present
pretty
prevent
price
pride
primary
print
priority
prison
private
prize
problem
process
produce
profit
program
project
promote
proof
property
prosper
protect
proud
provide
public
pudding
pull
pulp
pulse
pumpkin
punch
pupil
puppy
purchase
purity
purpose
purse
push
put
puzzle
pyramid
quality
quantum
quarter
question
quick
quit
quiz
quote
rabbit
raccoon
race
rack
radar
radio
rail
rain
raise
rally
ramp
ranch
random
range
rapid
rare
rate
rather
raven
raw
razor
ready
real
reason
rebel
rebuild
recall
receive
recipe
record
recycle
reduce
reflect
reform
refuse
region
regret
regular
reject
relax
release
relief
rely
remain
remember
remind
remove
render
renew
rent
reopen
repair
repeat
replace
report
require
rescue
resemble
resist
resource
response
result
retire
retreat
return
reunion
reveal
review
reward
rhythm
rib
ribbon
rice
rich
ride
ridge
rifle
right
rigid
ring
riot
ripple
risk
ritual
rival
river
road
roast
robot
robust
rocket
romance
roof
rookie
room
rose
rotate
rough
round
route
royal
rubber
rude
rug
rule
run
runway
rural
sad
saddle
sadness
safe
sail
salad
salmon
salon
salt
salute
same
sample
sand
satisfy
satoshi
sauce
sausage
save
say
scale
scan
scare
scatter
scene
scheme
school
science
scissors
scorpion
scout
scrap
screen
script
scrub
sea
search
season
seat
second
secret
section
security
seed
seek
segment
select
sell
seminar
senior
sense
sentence
series
service
session
settle
setup
seven
shadow
shaft
shallow
share
shed
shell
sheriff
shield
shift
shine
ship
shiver
shock
shoe
shoot
shop
short
shoulder
shove
shrimp
shrug
shuffle
shy
sibling
sick
side
siege
sight
sign
silent
silk
silly
silver
similar
simple
since
sing
siren
sister
situate
six
size
skate
sketch
ski
skill
skin
skirt
skull
slab
slam
sleep
slender
slice
slide
slight
slim
slogan
slot
slow
slush
small
smart
smile
smoke
smooth
snack
snake
snap
sniff
snow
soap
soccer
social
sock
soda
soft
solar
soldier
solid
solution
solve
someone
song
soon
sorry
sort
soul
sound
soup
source
south
space
spare
spatial
spawn
speak
special
speed
spell
spend
sphere
spice
spider
spike
spin
spirit
split
spoil
sponsor
spoon
sport
spot
spray
spread
spring
spy
square
squeeze
squirrel
stable
stadium
staff
stage
stairs
stamp
stand
start
state
stay
steak
steel
stem
step
stereo
stick
still
sting
stock
stomach
stone
stool
story
stove
strategy
street
strike
strong
struggle
student
stuff
stumble
style
subject
submit
subway
success
such
sudden
suffer
sugar
suggest
suit
summer
sun
sunny
sunset
super
supply
supreme
sure
surface
surge
surprise
surround
survey
suspect
sustain
swallow
swamp
swap
swarm
swear
sweet
swift
swim
swing
switch
sword
symbol
symptom
syrup
system
table
tackle
tag
tail
talent
talk
tank
tape
target
task
taste
tattoo
taxi
teach
team
tell
ten
tenant
tennis
tent
term
test
text
thank
that
theme
then
theory
there
they
thing
this
thought
three
thrive
throw
thumb
thunder
ticket
tide
tiger
tilt
timber
time
tiny
tip
tired
tissue
title
toast
tobacco
today
toddler
toe
together
toilet
token
tomato
tomorrow
tone
tongue
tonight
tool
tooth
top
topic
topple
torch
tornado
tortoise
toss
total
tourist
toward
tower
town
toy
track
trade
traffic
tragic
train
transfer
trap
trash
travel
tray
treat
tree
trend
trial
tribe
trick
trigger
trim
trip
trophy
trouble
truck
true
truly
trumpet
trust
truth
try
tube
tuition
tumble
tuna
tunnel
turkey
turn
turtle
twelve
twenty
twice
twin
twist
two
type
typical
ugly
umbrella
unable
unaware
uncle
uncover
under
undo
unfair
unfold
unhappy
uniform
unique
unit
universe
unknown
unlock
until
unusual
unveil
update
upgrade
uphold
upon
upper
upset
urban
urge
usage
use
used
useful
useless
usual
utility
vacant
vacuum
vague
valid
valley
valve
van
vanish
vapor
various
vast
vault
vehicle
velvet
vendor
venture
venue
verb
verify
version
very
vessel
veteran
viable
vibrant
vicious
victory
video
view
village
vintage
violin
virtual
virus
visa
visit
visual
vital
vivid
vocal
voice
void
volcano
volume
vote
voyage
wage
wagon
wait
walk
wall
walnut
want
warfare
warm
warrior
wash
wasp
waste
water
wave
way
wealth
weapon
wear
weasel
weather
web
wedding
weekend
weird
welcome
west
wet
whale
what
wheat
wheel
when
where
whip
whisper
wide
width
wife
wild
will
win
window
wine
wing
wink
winner
winter
wire
wisdom
wise
wish
witness
wolf
woman
wonder
wood
wool
word
work
world
worry
worth
wrap
wreck
wrestle
wrist
write
wrong
yard
year
yellow
you
young
youth
zebra
zero
zone
zoo
`, Jh = vg.trim().split(/\r?\n/), a3 = new Map(Jh.map((e, t) => [
    e,
    t
  ]));
  if (Jh.length !== 2048) throw new Error(`Invalid wordlist loaded: expected 2048 words, got ${Jh.length}`);
  async function Xb() {
    var _a;
    if ((_a = globalThis.crypto) == null ? void 0 : _a.subtle) return globalThis.crypto.subtle;
    try {
      const { webcrypto: e } = await ld(async () => {
        const { webcrypto: t } = await Promise.resolve().then(() => cE);
        return {
          webcrypto: t
        };
      }, void 0, import.meta.url);
      if (e == null ? void 0 : e.subtle) return e.subtle;
    } catch {
    }
    throw new Error("SubtleCrypto not found in this environment");
  }
  async function Jb(e) {
    const t = await Xb(), r = new Uint8Array(e), n = await t.digest("SHA-256", r);
    return new Uint8Array(n);
  }
  function ew(e) {
    return e.trim().toLowerCase().replace(/\s+/g, " ");
  }
  async function tw(e) {
    const t = ew(e), r = t.length ? t.split(" ") : [];
    if (!(/* @__PURE__ */ new Set([
      12,
      15,
      18,
      21,
      24
    ])).has(r.length)) return {
      valid: false,
      error: `Invalid word count: ${r.length}. Must be 12, 15, 18, 21, or 24.`
    };
    for (const a of r) if (!a3.has(a)) return {
      valid: false,
      error: `Invalid word: "${a}" is not in the BIP39 wordlist.`
    };
    try {
      let a = 0n;
      for (const m of r) a = a << 11n | BigInt(a3.get(m));
      const i = r.length * 11, l = i / 33, c = i - l;
      let u = a >> BigInt(l);
      const x = new Uint8Array(c / 8);
      for (let m = x.length - 1; m >= 0; m--) x[m] = Number(u & 0xFFn), u >>= 8n;
      const h = (await Jb(x))[0] >> 8 - l;
      if (Number(a & (1n << BigInt(l)) - 1n) !== h) return {
        valid: false,
        error: "Invalid mnemonic: Checksum mismatch."
      };
    } catch (a) {
      return {
        valid: false,
        error: `An unexpected error occurred during validation: ${a instanceof Error ? a.message : "Unknown error"}`
      };
    }
    return {
      valid: true
    };
  }
  const wr = typeof window < "u" ? window : typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : {}, O0 = Symbol("doneWritingPromise"), Bg = Symbol("doneWritingResolve"), Cg = Symbol("doneWritingReject"), ul = Symbol("readingIndex");
  class An extends Array {
    constructor() {
      super(), Object.setPrototypeOf(this, An.prototype), this[O0] = new Promise(((t, r) => {
        this[Bg] = t, this[Cg] = r;
      })), this[O0].catch((() => {
      }));
    }
  }
  function It(e) {
    return e && e.getReader && Array.isArray(e);
  }
  function Fl(e) {
    if (!It(e)) {
      const t = e.getWriter(), r = t.releaseLock;
      return t.releaseLock = () => {
        t.closed.catch((function() {
        })), r.call(t);
      }, t;
    }
    this.stream = e;
  }
  function Ht(e) {
    if (It(e)) return "array";
    if (wr.ReadableStream && wr.ReadableStream.prototype.isPrototypeOf(e)) return "web";
    if (e && !(wr.ReadableStream && e instanceof wr.ReadableStream) && typeof e._read == "function" && typeof e._readableState == "object") throw Error("Native Node streams are no longer supported: please manually convert the stream to a WebStream, using e.g. `stream.Readable.toWeb`");
    return !(!e || !e.getReader) && "web-like";
  }
  function cd(e) {
    return Uint8Array.prototype.isPrototypeOf(e);
  }
  function kg(e) {
    if (e.length === 1) return e[0];
    let t = 0;
    for (let a = 0; a < e.length; a++) {
      if (!cd(e[a])) throw Error("concatUint8Array: Data must be in the form of a Uint8Array");
      t += e[a].length;
    }
    const r = new Uint8Array(t);
    let n = 0;
    return e.forEach((function(a) {
      r.set(a, n), n += a.length;
    })), r;
  }
  An.prototype.getReader = function() {
    return this[ul] === void 0 && (this[ul] = 0), {
      read: async () => (await this[O0], this[ul] === this.length ? {
        value: void 0,
        done: true
      } : {
        value: this[this[ul]++],
        done: false
      })
    };
  }, An.prototype.readToEnd = async function(e) {
    await this[O0];
    const t = e(this.slice(this[ul]));
    return this.length = 0, t;
  }, An.prototype.clone = function() {
    const e = new An();
    return e[O0] = this[O0].then((() => {
      e.push(...this);
    })), e;
  }, Fl.prototype.write = async function(e) {
    this.stream.push(e);
  }, Fl.prototype.close = async function() {
    this.stream[Bg]();
  }, Fl.prototype.abort = async function(e) {
    return this.stream[Cg](e), e;
  }, Fl.prototype.releaseLock = function() {
  }, typeof wr.process == "object" && wr.process.versions;
  const o3 = /* @__PURE__ */ new WeakSet(), At = Symbol("externalBuffer");
  function na(e) {
    if (this.stream = e, e[At] && (this[At] = e[At].slice()), It(e)) {
      const r = e.getReader();
      return this._read = r.read.bind(r), this._releaseLock = () => {
      }, void (this._cancel = () => {
      });
    }
    if (Ht(e)) {
      const r = e.getReader();
      return this._read = r.read.bind(r), this._releaseLock = () => {
        r.closed.catch((function() {
        })), r.releaseLock();
      }, void (this._cancel = r.cancel.bind(r));
    }
    let t = false;
    this._read = async () => t || o3.has(e) ? {
      value: void 0,
      done: true
    } : (t = true, {
      value: e,
      done: false
    }), this._releaseLock = () => {
      if (t) try {
        o3.add(e);
      } catch {
      }
    };
  }
  function gc(e) {
    return Ht(e) ? e : new ReadableStream({
      start(t) {
        t.enqueue(e), t.close();
      }
    });
  }
  function Dg(e) {
    const t = Ht(e);
    if (t) {
      if (t !== "array") throw Error("Can't convert Stream to ArrayStream here, call `readToEnd` first");
      return e;
    }
    const r = new An();
    return (async () => {
      const n = an(r);
      await n.write(e), await n.close();
    })(), r;
  }
  function Sr(e) {
    return e.some(((t) => Ht(t) && !It(t))) ? (function(t) {
      t = t.map(gc);
      const r = Fg((async function(i) {
        await Promise.all(a.map(((l) => t8(l, i))));
      }));
      let n = Promise.resolve();
      const a = t.map(((i, l) => ni(i, ((c, u) => (n = n.then((() => J0(c, r.writable, {
        preventClose: l !== t.length - 1
      }))), n)))));
      return r.readable;
    })(e) : e.some(((t) => It(t))) ? (function(t) {
      const r = new An();
      let n = Promise.resolve();
      return t.forEach(((a, i) => (n = n.then((() => J0(a, r, {
        preventClose: i !== t.length - 1
      }))), n))), r;
    })(e) : typeof e[0] == "string" ? e.join("") : kg(e);
  }
  async function J0(e, t, { preventClose: r = false, preventAbort: n = false, preventCancel: a = false } = {}) {
    if (Ht(e) && !It(e) && !It(t)) {
      e = gc(e);
      try {
        if (e[At]) {
          const c = an(t);
          for (let u = 0; u < e[At].length; u++) await c.ready, await c.write(e[At][u]);
          c.releaseLock();
        }
        await e.pipeTo(t, {
          preventClose: r,
          preventAbort: n,
          preventCancel: a
        });
      } catch {
      }
      return;
    }
    Ht(e) || (e = Dg(e));
    const i = qn(e), l = an(t);
    try {
      for (; ; ) {
        await l.ready;
        const { done: c, value: u } = await i.read();
        if (c) {
          r || await l.close();
          break;
        }
        await l.write(u);
      }
    } catch (c) {
      n || await l.abort(c);
    } finally {
      i.releaseLock(), l.releaseLock();
    }
  }
  function Fg(e) {
    let t, r, n, a = false, i = false;
    return {
      readable: new ReadableStream({
        start(l) {
          n = l;
        },
        pull() {
          t ? t() : a = true;
        },
        async cancel(l) {
          i = true, e && await e(l), r && r(l);
        }
      }, {
        highWaterMark: 0
      }),
      writable: new WritableStream({
        write: async function(l) {
          if (i) throw Error("Stream is cancelled");
          n.enqueue(l), a ? a = false : (await new Promise(((c, u) => {
            t = c, r = u;
          })), t = null, r = null);
        },
        close: n.close.bind(n),
        abort: n.error.bind(n)
      })
    };
  }
  function Ot(e, t = () => {
  }, r = () => {
  }, n = {
    highWaterMark: 0
  }) {
    if (Ht(e)) return Sg(e, t, r, n);
    const a = t(e), i = r();
    return a !== void 0 && i !== void 0 ? Sr([
      a,
      i
    ]) : a !== void 0 ? a : i;
  }
  async function e8(e, t = async () => {
  }, r = async () => {
  }, n = {
    highWaterMark: 1
  }) {
    if (Ht(e)) return Sg(e, t, r, n);
    const a = await t(e), i = await r();
    return a !== void 0 && i !== void 0 ? Sr([
      a,
      i
    ]) : a !== void 0 ? a : i;
  }
  function Sg(e, t, r, n) {
    if (It(e)) {
      const a = new An();
      return (async () => {
        const i = an(a);
        try {
          const l = await Mt(e), c = await t(l), u = await r();
          let x;
          x = c !== void 0 && u !== void 0 ? Sr([
            c,
            u
          ]) : c !== void 0 ? c : u, await i.write(x), await i.close();
        } catch (l) {
          await i.abort(l);
        }
      })(), a;
    }
    if (Ht(e)) {
      let a, i = false;
      return new ReadableStream({
        start() {
          a = e.getReader();
        },
        async pull(l) {
          if (i) return l.close(), void e.releaseLock();
          try {
            for (; ; ) {
              const { value: c, done: u } = await a.read();
              i = u;
              const x = await (u ? r : t)(c);
              if (x !== void 0) return void l.enqueue(x);
              if (u) return l.close(), void e.releaseLock();
            }
          } catch (c) {
            l.error(c);
          }
        },
        async cancel(l) {
          await a.cancel(l);
        }
      }, n);
    }
    throw Error("Unreachable");
  }
  function ni(e, t) {
    if (Ht(e) && !It(e)) {
      let n;
      const a = new TransformStream({
        start(c) {
          n = c;
        }
      }), i = J0(e, a.writable), l = Fg((async function(c) {
        n.error(c), await i, await new Promise(((u) => setTimeout(u)));
      }));
      return t(a.readable, l.writable), l.readable;
    }
    e = Dg(e);
    const r = new An();
    return t(e, r), r;
  }
  function ud(e, t) {
    let r;
    const n = ni(e, ((a, i) => {
      const l = qn(a);
      l.remainder = () => (l.releaseLock(), J0(a, i), n), r = t(l);
    }));
    return r;
  }
  function Ki(e) {
    if (It(e)) return e.clone();
    if (Ht(e)) {
      const t = (function(r) {
        if (It(r)) throw Error("ArrayStream cannot be tee()d, use clone() instead");
        if (Ht(r)) {
          const n = gc(r).tee();
          return n[0][At] = n[1][At] = r[At], n;
        }
        return [
          cr(r),
          cr(r)
        ];
      })(e);
      return _g(e, t[0]), t[1];
    }
    return cr(e);
  }
  function Ll(e) {
    return It(e) ? Ki(e) : Ht(e) ? new ReadableStream({
      start(t) {
        const r = ni(e, (async (n, a) => {
          const i = qn(n), l = an(a);
          try {
            for (; ; ) {
              await l.ready;
              const { done: c, value: u } = await i.read();
              if (c) {
                try {
                  t.close();
                } catch {
                }
                return void await l.close();
              }
              try {
                t.enqueue(u);
              } catch {
              }
              await l.write(u);
            }
          } catch (c) {
            t.error(c), await l.abort(c);
          }
        }));
        _g(e, r);
      }
    }) : cr(e);
  }
  function _g(e, t) {
    Object.entries(Object.getOwnPropertyDescriptors(e.constructor.prototype)).forEach((([r, n]) => {
      r !== "constructor" && (n.value ? n.value = n.value.bind(t) : n.get = n.get.bind(t), Object.defineProperty(e, r, n));
    }));
  }
  function cr(e, t = 0, r = 1 / 0) {
    if (It(e)) throw Error("Not implemented");
    if (Ht(e)) {
      if (t >= 0 && r >= 0) {
        let n, a = 0;
        return new ReadableStream({
          start() {
            n = e.getReader();
          },
          async pull(i) {
            try {
              for (; ; ) {
                if (!(a < r)) return i.close(), void e.releaseLock();
                {
                  const { value: l, done: c } = await n.read();
                  if (c) return i.close(), void e.releaseLock();
                  let u;
                  if (a + l.length >= t && (u = cr(l, Math.max(t - a, 0), r - a)), a += l.length, u) return void i.enqueue(u);
                }
              }
            } catch (l) {
              i.error(l);
            }
          },
          async cancel(i) {
            await n.cancel(i);
          }
        }, {
          highWaterMark: 0
        });
      }
      if (t < 0 && (r < 0 || r === 1 / 0)) {
        let n = [];
        return Ot(e, ((a) => {
          a.length >= -t ? n = [
            a
          ] : n.push(a);
        }), (() => cr(Sr(n), t, r)));
      }
      if (t === 0 && r < 0) {
        let n;
        return Ot(e, ((a) => {
          const i = n ? Sr([
            n,
            a
          ]) : a;
          if (i.length >= -r) return n = cr(i, r), cr(i, t, r);
          n = i;
        }));
      }
      return console.warn(`stream.slice(input, ${t}, ${r}) not implemented efficiently.`), Xi((async () => cr(await Mt(e), t, r)));
    }
    return e[At] && (e = Sr(e[At].concat([
      e
    ]))), cd(e) ? e.subarray(t, r === 1 / 0 ? e.length : r) : e.slice(t, r);
  }
  async function Mt(e, t = Sr) {
    return It(e) ? e.readToEnd(t) : Ht(e) ? qn(e).readToEnd(t) : e;
  }
  async function t8(e, t) {
    if (Ht(e)) {
      if (e.cancel) {
        const r = await e.cancel(t);
        return await new Promise(((n) => setTimeout(n))), r;
      }
      if (e.destroy) return e.destroy(t), await new Promise(((r) => setTimeout(r))), t;
    }
  }
  function Xi(e) {
    const t = new An();
    return (async () => {
      const r = an(t);
      try {
        await r.write(await e()), await r.close();
      } catch (n) {
        await r.abort(n);
      }
    })(), t;
  }
  function qn(e) {
    return new na(e);
  }
  function an(e) {
    return new Fl(e);
  }
  na.prototype.read = async function() {
    return this[At] && this[At].length ? {
      done: false,
      value: this[At].shift()
    } : this._read();
  }, na.prototype.releaseLock = function() {
    this[At] && (this.stream[At] = this[At]), this._releaseLock();
  }, na.prototype.cancel = function(e) {
    return this._cancel(e);
  }, na.prototype.readLine = async function() {
    let e, t = [];
    for (; !e; ) {
      let { done: r, value: n } = await this.read();
      if (n += "", r) return t.length ? Sr(t) : void 0;
      const a = n.indexOf(`
`) + 1;
      a && (e = Sr(t.concat(n.substr(0, a))), t = []), a !== n.length && t.push(n.substr(a));
    }
    return this.unshift(...t), e;
  }, na.prototype.readByte = async function() {
    const { done: e, value: t } = await this.read();
    if (e) return;
    const r = t[0];
    return this.unshift(cr(t, 1)), r;
  }, na.prototype.readBytes = async function(e) {
    const t = [];
    let r = 0;
    for (; ; ) {
      const { done: n, value: a } = await this.read();
      if (n) return t.length ? Sr(t) : void 0;
      if (t.push(a), r += a.length, r >= e) {
        const i = Sr(t);
        return this.unshift(cr(i, e)), cr(i, 0, e);
      }
    }
  }, na.prototype.peekBytes = async function(e) {
    const t = await this.readBytes(e);
    return this.unshift(t), t;
  }, na.prototype.unshift = function(...e) {
    this[At] || (this[At] = []), e.length === 1 && cd(e[0]) && this[At].length && e[0].length && this[At][0].byteOffset >= e[0].length ? this[At][0] = new Uint8Array(this[At][0].buffer, this[At][0].byteOffset - e[0].length, this[At][0].byteLength + e[0].length) : this[At].unshift(...e.filter(((t) => t && t.length)));
  }, na.prototype.readToEnd = async function(e = Sr) {
    const t = [];
    for (; ; ) {
      const { done: r, value: n } = await this.read();
      if (r) break;
      t.push(n);
    }
    return e(t);
  };
  const xl = Symbol("byValue");
  var A = {
    curve: {
      nistP256: "nistP256",
      p256: "nistP256",
      nistP384: "nistP384",
      p384: "nistP384",
      nistP521: "nistP521",
      p521: "nistP521",
      secp256k1: "secp256k1",
      ed25519Legacy: "ed25519Legacy",
      ed25519: "ed25519Legacy",
      curve25519Legacy: "curve25519Legacy",
      curve25519: "curve25519Legacy",
      brainpoolP256r1: "brainpoolP256r1",
      brainpoolP384r1: "brainpoolP384r1",
      brainpoolP512r1: "brainpoolP512r1"
    },
    s2k: {
      simple: 0,
      salted: 1,
      iterated: 3,
      argon2: 4,
      gnu: 101
    },
    publicKey: {
      rsaEncryptSign: 1,
      rsaEncrypt: 2,
      rsaSign: 3,
      elgamal: 16,
      dsa: 17,
      ecdh: 18,
      ecdsa: 19,
      eddsaLegacy: 22,
      aedh: 23,
      aedsa: 24,
      x25519: 25,
      x448: 26,
      ed25519: 27,
      ed448: 28
    },
    symmetric: {
      idea: 1,
      tripledes: 2,
      cast5: 3,
      blowfish: 4,
      aes128: 7,
      aes192: 8,
      aes256: 9,
      twofish: 10
    },
    compression: {
      uncompressed: 0,
      zip: 1,
      zlib: 2,
      bzip2: 3
    },
    hash: {
      md5: 1,
      sha1: 2,
      ripemd: 3,
      sha256: 8,
      sha384: 9,
      sha512: 10,
      sha224: 11,
      sha3_256: 12,
      sha3_512: 14
    },
    webHash: {
      "SHA-1": 2,
      "SHA-256": 8,
      "SHA-384": 9,
      "SHA-512": 10
    },
    aead: {
      eax: 1,
      ocb: 2,
      gcm: 3,
      experimentalGCM: 100
    },
    packet: {
      publicKeyEncryptedSessionKey: 1,
      signature: 2,
      symEncryptedSessionKey: 3,
      onePassSignature: 4,
      secretKey: 5,
      publicKey: 6,
      secretSubkey: 7,
      compressedData: 8,
      symmetricallyEncryptedData: 9,
      marker: 10,
      literalData: 11,
      trust: 12,
      userID: 13,
      publicSubkey: 14,
      userAttribute: 17,
      symEncryptedIntegrityProtectedData: 18,
      modificationDetectionCode: 19,
      aeadEncryptedData: 20,
      padding: 21
    },
    literal: {
      binary: 98,
      text: 116,
      utf8: 117,
      mime: 109
    },
    signature: {
      binary: 0,
      text: 1,
      standalone: 2,
      certGeneric: 16,
      certPersona: 17,
      certCasual: 18,
      certPositive: 19,
      certRevocation: 48,
      subkeyBinding: 24,
      keyBinding: 25,
      key: 31,
      keyRevocation: 32,
      subkeyRevocation: 40,
      timestamp: 64,
      thirdParty: 80
    },
    signatureSubpacket: {
      signatureCreationTime: 2,
      signatureExpirationTime: 3,
      exportableCertification: 4,
      trustSignature: 5,
      regularExpression: 6,
      revocable: 7,
      keyExpirationTime: 9,
      placeholderBackwardsCompatibility: 10,
      preferredSymmetricAlgorithms: 11,
      revocationKey: 12,
      issuerKeyID: 16,
      notationData: 20,
      preferredHashAlgorithms: 21,
      preferredCompressionAlgorithms: 22,
      keyServerPreferences: 23,
      preferredKeyServer: 24,
      primaryUserID: 25,
      policyURI: 26,
      keyFlags: 27,
      signersUserID: 28,
      reasonForRevocation: 29,
      features: 30,
      signatureTarget: 31,
      embeddedSignature: 32,
      issuerFingerprint: 33,
      preferredAEADAlgorithms: 34,
      preferredCipherSuites: 39
    },
    keyFlags: {
      certifyKeys: 1,
      signData: 2,
      encryptCommunication: 4,
      encryptStorage: 8,
      splitPrivateKey: 16,
      authentication: 32,
      sharedPrivateKey: 128
    },
    armor: {
      multipartSection: 0,
      multipartLast: 1,
      signed: 2,
      message: 3,
      publicKey: 4,
      privateKey: 5,
      signature: 6
    },
    reasonForRevocation: {
      noReason: 0,
      keySuperseded: 1,
      keyCompromised: 2,
      keyRetired: 3,
      userIDInvalid: 32
    },
    features: {
      modificationDetection: 1,
      aead: 2,
      v5Keys: 4,
      seipdv2: 8
    },
    write: function(e, t) {
      if (typeof t == "number" && (t = this.read(e, t)), e[t] !== void 0) return e[t];
      throw Error("Invalid enum value.");
    },
    read: function(e, t) {
      if (e[xl] || (e[xl] = [], Object.entries(e).forEach((([r, n]) => {
        e[xl][n] = r;
      }))), e[xl][t] !== void 0) return e[xl][t];
      throw Error("Invalid enum value.");
    }
  }, Be = {
    preferredHashAlgorithm: A.hash.sha512,
    preferredSymmetricAlgorithm: A.symmetric.aes256,
    preferredCompressionAlgorithm: A.compression.uncompressed,
    aeadProtect: false,
    parseAEADEncryptedV4KeysAsLegacy: false,
    preferredAEADAlgorithm: A.aead.gcm,
    aeadChunkSizeByte: 12,
    v6Keys: false,
    enableParsingV5Entities: false,
    s2kType: A.s2k.iterated,
    s2kIterationCountByte: 224,
    s2kArgon2Params: {
      passes: 3,
      parallelism: 4,
      memoryExponent: 16
    },
    allowUnauthenticatedMessages: false,
    allowUnauthenticatedStream: false,
    minRSABits: 2047,
    passwordCollisionCheck: false,
    allowInsecureDecryptionWithSigningKeys: false,
    allowInsecureVerificationWithReformattedKeys: false,
    allowMissingKeyFlags: false,
    constantTimePKCS1Decryption: false,
    constantTimePKCS1DecryptionSupportedSymmetricAlgorithms: /* @__PURE__ */ new Set([
      A.symmetric.aes128,
      A.symmetric.aes192,
      A.symmetric.aes256
    ]),
    ignoreUnsupportedPackets: true,
    ignoreMalformedPackets: false,
    enforceGrammar: true,
    additionalAllowedPackets: [],
    showVersion: false,
    showComment: false,
    versionString: "OpenPGP.js 6.3.0",
    commentString: "https://openpgpjs.org",
    maxUserIDLength: 5120,
    maxDecompressedMessageSize: 1 / 0,
    knownNotations: [],
    nonDeterministicSignaturesViaNotation: true,
    useEllipticFallback: true,
    rejectHashAlgorithms: /* @__PURE__ */ new Set([
      A.hash.md5,
      A.hash.ripemd
    ]),
    rejectMessageHashAlgorithms: /* @__PURE__ */ new Set([
      A.hash.md5,
      A.hash.ripemd,
      A.hash.sha1
    ]),
    rejectPublicKeyAlgorithms: /* @__PURE__ */ new Set([
      A.publicKey.elgamal,
      A.publicKey.dsa
    ]),
    rejectCurves: /* @__PURE__ */ new Set([
      A.curve.secp256k1
    ])
  };
  const i3 = (() => {
    try {
      return false;
    } catch {
    }
    return false;
  })(), K = {
    isString: function(e) {
      return typeof e == "string" || e instanceof String;
    },
    nodeRequire: () => {
    },
    isArray: function(e) {
      return e instanceof Array;
    },
    isUint8Array: cd,
    isStream: Ht,
    getNobleCurve: async (e, t) => {
      if (!Be.useEllipticFallback) throw Error("This curve is only supported in the full build of OpenPGP.js");
      const { nobleCurves: r } = await Promise.resolve().then((function() {
        return nC;
      }));
      switch (e) {
        case A.publicKey.ecdh:
        case A.publicKey.ecdsa: {
          const n = r.get(t);
          if (!n) throw Error("Unsupported curve");
          return n;
        }
        case A.publicKey.x448:
          return r.get("x448");
        case A.publicKey.ed448:
          return r.get("ed448");
        default:
          throw Error("Unsupported curve");
      }
    },
    readNumber: function(e) {
      let t = 0;
      for (let r = 0; r < e.length; r++) t += 256 ** r * e[e.length - 1 - r];
      return t;
    },
    writeNumber: function(e, t) {
      const r = new Uint8Array(t);
      for (let n = 0; n < t; n++) r[n] = e >> 8 * (t - n - 1) & 255;
      return r;
    },
    readDate: function(e) {
      const t = K.readNumber(e);
      return new Date(1e3 * t);
    },
    writeDate: function(e) {
      const t = Math.floor(e.getTime() / 1e3);
      return K.writeNumber(t, 4);
    },
    normalizeDate: function(e = Date.now()) {
      return e === null || e === 1 / 0 ? e : new Date(1e3 * Math.floor(+e / 1e3));
    },
    readMPI: function(e) {
      const t = (e[0] << 8 | e[1]) + 7 >>> 3;
      return K.readExactSubarray(e, 2, 2 + t);
    },
    readExactSubarray: function(e, t, r) {
      if (e.length < r - t) throw Error("Input array too short");
      return e.subarray(t, r);
    },
    leftPad(e, t) {
      if (e.length > t) throw Error("Input array too long");
      const r = new Uint8Array(t), n = t - e.length;
      return r.set(e, n), r;
    },
    uint8ArrayToMPI: function(e) {
      const t = K.uint8ArrayBitLength(e);
      if (t === 0) throw Error("Zero MPI");
      const r = e.subarray(e.length - Math.ceil(t / 8)), n = new Uint8Array([
        (65280 & t) >> 8,
        255 & t
      ]);
      return K.concatUint8Array([
        n,
        r
      ]);
    },
    uint8ArrayBitLength: function(e) {
      let t;
      for (t = 0; t < e.length && e[t] === 0; t++) ;
      if (t === e.length) return 0;
      const r = e.subarray(t);
      return 8 * (r.length - 1) + K.nbits(r[0]);
    },
    hexToUint8Array: function(e) {
      const t = new Uint8Array(e.length >> 1);
      for (let r = 0; r < e.length >> 1; r++) t[r] = parseInt(e.substr(r << 1, 2), 16);
      return t;
    },
    uint8ArrayToHex: function(e) {
      const t = "0123456789abcdef";
      let r = "";
      return e.forEach(((n) => {
        r += t[n >> 4] + t[15 & n];
      })), r;
    },
    stringToUint8Array: function(e) {
      return Ot(e, ((t) => {
        if (!K.isString(t)) throw Error("stringToUint8Array: Data must be in the form of a string");
        const r = new Uint8Array(t.length);
        for (let n = 0; n < t.length; n++) r[n] = t.charCodeAt(n);
        return r;
      }));
    },
    uint8ArrayToString: function(e) {
      const t = [], n = (e = new Uint8Array(e)).length;
      for (let a = 0; a < n; a += 16384) t.push(String.fromCharCode.apply(String, e.subarray(a, a + 16384 < n ? a + 16384 : n)));
      return t.join("");
    },
    encodeUTF8: function(e) {
      const t = new TextEncoder("utf-8");
      function r(n, a = false) {
        return t.encode(n, {
          stream: !a
        });
      }
      return Ot(e, r, (() => r("", true)));
    },
    decodeUTF8: function(e) {
      const t = new TextDecoder("utf-8");
      function r(n, a = false) {
        return t.decode(n, {
          stream: !a
        });
      }
      return Ot(e, r, (() => r(new Uint8Array(), true)));
    },
    concat: Sr,
    concatUint8Array: kg,
    equalsUint8Array: function(e, t) {
      if (!K.isUint8Array(e) || !K.isUint8Array(t)) throw Error("Data must be in the form of a Uint8Array");
      if (e.length !== t.length) return false;
      for (let r = 0; r < e.length; r++) if (e[r] !== t[r]) return false;
      return true;
    },
    findLastIndex: function(e, t) {
      for (let r = e.length; r >= 0; r--) if (t(e[r], r, e)) return r;
      return -1;
    },
    writeChecksum: function(e) {
      let t = 0;
      for (let r = 0; r < e.length; r++) t = t + e[r] & 65535;
      return K.writeNumber(t, 2);
    },
    printDebug: function(e) {
      i3 && console.log("[OpenPGP.js debug]", e);
    },
    printDebugError: function(e) {
      i3 && console.error("[OpenPGP.js debug]", e);
    },
    nbits: function(e) {
      let t = 1, r = e >>> 16;
      return r !== 0 && (e = r, t += 16), r = e >> 8, r !== 0 && (e = r, t += 8), r = e >> 4, r !== 0 && (e = r, t += 4), r = e >> 2, r !== 0 && (e = r, t += 2), r = e >> 1, r !== 0 && (e = r, t += 1), t;
    },
    double: function(e) {
      const t = new Uint8Array(e.length), r = e.length - 1;
      for (let n = 0; n < r; n++) t[n] = e[n] << 1 ^ e[n + 1] >> 7;
      return t[r] = e[r] << 1 ^ 135 * (e[0] >> 7), t;
    },
    shiftRight: function(e, t) {
      if (t) for (let r = e.length - 1; r >= 0; r--) e[r] >>= t, r > 0 && (e[r] |= e[r - 1] << 8 - t);
      return e;
    },
    getWebCrypto: function() {
      var _a;
      const e = wr !== void 0 && wr.crypto && wr.crypto.subtle || ((_a = this.getNodeCrypto()) == null ? void 0 : _a.webcrypto.subtle);
      if (!e) throw Error("The WebCrypto API is not available");
      return e;
    },
    getNodeCrypto: function() {
      return this.nodeRequire("crypto");
    },
    getNodeZlib: function() {
      return this.nodeRequire("zlib");
    },
    getNodeBuffer: function() {
      return (this.nodeRequire("buffer") || {}).Buffer;
    },
    getHardwareConcurrency: function() {
      return typeof navigator < "u" ? navigator.hardwareConcurrency || 1 : this.nodeRequire("os").cpus().length;
    },
    isEmailAddress: function(e) {
      return K.isString(e) ? /^[^\p{C}\p{Z}@<>\\]+@[^\p{C}\p{Z}@<>\\]+[^\p{C}\p{Z}\p{P}]$/u.test(e) : false;
    },
    canonicalizeEOL: function(e) {
      let t = false;
      return Ot(e, ((r) => {
        let n;
        t && (r = K.concatUint8Array([
          new Uint8Array([
            13
          ]),
          r
        ])), r[r.length - 1] === 13 ? (t = true, r = r.subarray(0, -1)) : t = false;
        const a = [];
        for (let c = 0; n = r.indexOf(10, c) + 1, n; c = n) r[n - 2] !== 13 && a.push(n);
        if (!a.length) return r;
        const i = new Uint8Array(r.length + a.length);
        let l = 0;
        for (let c = 0; c < a.length; c++) {
          const u = r.subarray(a[c - 1] || 0, a[c]);
          i.set(u, l), l += u.length, i[l - 1] = 13, i[l] = 10, l++;
        }
        return i.set(r.subarray(a[a.length - 1] || 0), l), i;
      }), (() => t ? new Uint8Array([
        13
      ]) : void 0));
    },
    nativeEOL: function(e) {
      let t = false;
      return Ot(e, ((r) => {
        let n;
        (r = t && r[0] !== 10 ? K.concatUint8Array([
          new Uint8Array([
            13
          ]),
          r
        ]) : new Uint8Array(r))[r.length - 1] === 13 ? (t = true, r = r.subarray(0, -1)) : t = false;
        let a = 0;
        for (let i = 0; i !== r.length; i = n) {
          n = r.indexOf(13, i) + 1, n || (n = r.length);
          const l = n - (r[n] === 10 ? 1 : 0);
          i && r.copyWithin(a, i, l), a += l - i;
        }
        return r.subarray(0, a);
      }), (() => t ? new Uint8Array([
        13
      ]) : void 0));
    },
    removeTrailingSpaces: function(e) {
      return e.split(`
`).map(((t) => {
        let r = t.length - 1;
        for (; r >= 0 && (t[r] === " " || t[r] === "	" || t[r] === "\r"); r--) ;
        return t.substr(0, r + 1);
      })).join(`
`);
    },
    wrapError: function(e, t) {
      if (!t) return e instanceof Error ? e : Error(e);
      if (e instanceof Error) {
        try {
          e.message += ": " + t.message, e.cause = t;
        } catch {
        }
        return e;
      }
      return Error(e + ": " + t.message, {
        cause: t
      });
    },
    constructAllowedPackets: function(e) {
      const t = {};
      return e.forEach(((r) => {
        if (!r.tag) throw Error("Invalid input: expected a packet class");
        t[r.tag] = r;
      })), t;
    },
    anyPromise: function(e) {
      return new Promise(((t, r) => {
        let n;
        Promise.all(e.map((async (a) => {
          try {
            t(await a);
          } catch (i) {
            n = i;
          }
        }))).then((() => {
          r(n);
        }));
      }));
    },
    selectUint8Array: function(e, t, r) {
      const n = Math.max(t.length, r.length), a = new Uint8Array(n);
      let i = 0;
      for (let l = 0; l < a.length; l++) a[l] = t[l] & 256 - e | r[l] & 255 + e, i += e & l < t.length | 1 - e & l < r.length;
      return a.subarray(0, i);
    },
    selectUint8: function(e, t, r) {
      return t & 256 - e | r & 255 + e;
    },
    isAES: function(e) {
      return e === A.symmetric.aes128 || e === A.symmetric.aes192 || e === A.symmetric.aes256;
    }
  }, ah = K.getNodeBuffer();
  let Ux, Tx;
  function Oa(e) {
    let t = new Uint8Array();
    return Ot(e, ((r) => {
      t = K.concatUint8Array([
        t,
        r
      ]);
      const n = [], a = Math.floor(t.length / 45), i = 45 * a, l = Ux(t.subarray(0, i));
      for (let c = 0; c < a; c++) n.push(l.substr(60 * c, 60)), n.push(`
`);
      return t = t.subarray(i), n.join("");
    }), (() => t.length ? Ux(t) + `
` : ""));
  }
  function Ig(e) {
    let t = "";
    return Ot(e, ((r) => {
      t += r;
      let n = 0;
      const a = [
        " ",
        "	",
        "\r",
        `
`
      ];
      for (let c = 0; c < a.length; c++) {
        const u = a[c];
        for (let x = t.indexOf(u); x !== -1; x = t.indexOf(u, x + 1)) n++;
      }
      let i = t.length;
      for (; i > 0 && (i - n) % 4 != 0; i--) a.includes(t[i]) && n--;
      const l = Tx(t.substr(0, i));
      return t = t.substr(i), l;
    }), (() => Tx(t)));
  }
  function Or(e) {
    return Ig(e.replace(/-/g, "+").replace(/_/g, "/"));
  }
  function lr(e, t) {
    let r = Oa(e).replace(/[\r\n]/g, "");
    return r = r.replace(/[+]/g, "-").replace(/[/]/g, "_").replace(/[=]/g, ""), r;
  }
  function rw(e) {
    const t = e.match(/^-----BEGIN PGP (MESSAGE, PART \d+\/\d+|MESSAGE, PART \d+|SIGNED MESSAGE|MESSAGE|PUBLIC KEY BLOCK|PRIVATE KEY BLOCK|SIGNATURE)-----$/m);
    if (!t) throw Error("Unknown ASCII armor type");
    return /MESSAGE, PART \d+\/\d+/.test(t[1]) ? A.armor.multipartSection : /MESSAGE, PART \d+/.test(t[1]) ? A.armor.multipartLast : /SIGNED MESSAGE/.test(t[1]) ? A.armor.signed : /MESSAGE/.test(t[1]) ? A.armor.message : /PUBLIC KEY BLOCK/.test(t[1]) ? A.armor.publicKey : /PRIVATE KEY BLOCK/.test(t[1]) ? A.armor.privateKey : /SIGNATURE/.test(t[1]) ? A.armor.signature : void 0;
  }
  function wi(e, t) {
    let r = "";
    return t.showVersion && (r += "Version: " + t.versionString + `
`), t.showComment && (r += "Comment: " + t.commentString + `
`), e && (r += "Comment: " + e + `
`), r += `
`, r;
  }
  function vi(e) {
    const t = (function(r) {
      let n = 13501623;
      return Ot(r, ((a) => {
        const i = nw ? Math.floor(a.length / 4) : 0, l = new Uint32Array(a.buffer, a.byteOffset, i);
        for (let c = 0; c < i; c++) n ^= l[c], n = nr[0][n >> 24 & 255] ^ nr[1][n >> 16 & 255] ^ nr[2][n >> 8 & 255] ^ nr[3][255 & n];
        for (let c = 4 * i; c < a.length; c++) n = n >> 8 ^ nr[0][255 & n ^ a[c]];
      }), (() => new Uint8Array([
        n,
        n >> 8,
        n >> 16
      ])));
    })(e);
    return Oa(t);
  }
  ah ? (Ux = (e) => ah.from(e).toString("base64"), Tx = (e) => {
    const t = ah.from(e, "base64");
    return new Uint8Array(t.buffer, t.byteOffset, t.byteLength);
  }) : (Ux = (e) => btoa(K.uint8ArrayToString(e)), Tx = (e) => K.stringToUint8Array(atob(e)));
  const nr = [
    Array(255),
    Array(255),
    Array(255),
    Array(255)
  ];
  for (let e = 0; e <= 255; e++) {
    let t = e << 16;
    for (let r = 0; r < 8; r++) t = t << 1 ^ (8388608 & t ? 8801531 : 0);
    nr[0][e] = (16711680 & t) >> 16 | 65280 & t | (255 & t) << 16;
  }
  for (let e = 0; e <= 255; e++) nr[1][e] = nr[0][e] >> 8 ^ nr[0][255 & nr[0][e]];
  for (let e = 0; e <= 255; e++) nr[2][e] = nr[1][e] >> 8 ^ nr[0][255 & nr[1][e]];
  for (let e = 0; e <= 255; e++) nr[3][e] = nr[2][e] >> 8 ^ nr[0][255 & nr[2][e]];
  const nw = (function() {
    const e = new ArrayBuffer(2);
    return new DataView(e).setInt16(0, 255, true), new Int16Array(e)[0] === 255;
  })();
  function s3(e) {
    for (let t = 0; t < e.length; t++) /^([^\s:]|[^\s:][^:]*[^\s:]): .+$/.test(e[t]) || K.printDebugError(Error("Improperly formatted armor header: " + e[t])), /^(Version|Comment|MessageID|Hash|Charset): .+$/.test(e[t]) || K.printDebugError(Error("Unknown header: " + e[t]));
  }
  function aw(e) {
    let t = e;
    const r = e.lastIndexOf("=");
    return r >= 0 && r !== e.length - 1 && (t = e.slice(0, r)), t;
  }
  function mc(e) {
    return new Promise(((t, r) => {
      try {
        const n = /^-----[^-]+-----$/m, a = /^[ \f\r\t\u00a0\u2000-\u200a\u202f\u205f\u3000]*$/;
        let i;
        const l = [];
        let c, u, x = l, f = [];
        const h = Ig(ni(e, (async (p, m) => {
          const y = qn(p);
          try {
            for (; ; ) {
              let v = await y.readLine();
              if (v === void 0) throw Error("Misformed armored text");
              if (v = K.removeTrailingSpaces(v.replace(/[\r\n]/g, "")), i) if (c) u || i !== A.armor.signed || (n.test(v) ? (f = f.join(`\r
`), u = true, s3(x), x = [], c = false) : f.push(v.replace(/^- /, "")));
              else if (n.test(v) && r(Error("Mandatory blank line missing between armor headers and armor data")), a.test(v)) {
                if (s3(x), c = true, u || i !== A.armor.signed) {
                  t({
                    text: f,
                    data: h,
                    headers: l,
                    type: i
                  });
                  break;
                }
              } else x.push(v);
              else n.test(v) && (i = rw(v));
            }
          } catch (v) {
            return void r(v);
          }
          const B = an(m);
          try {
            for (; ; ) {
              await B.ready;
              const { done: v, value: D } = await y.read();
              if (v) throw Error("Misformed armored text");
              const P = D + "";
              if (P.indexOf("=") !== -1 || P.indexOf("-") !== -1) {
                let k = await y.readToEnd();
                k.length || (k = ""), k = P + k, k = K.removeTrailingSpaces(k.replace(/\r/g, ""));
                const w = k.split(n);
                if (w.length === 1) throw Error("Misformed armored text");
                const _ = aw(w[0].slice(0, -1));
                await B.write(_);
                break;
              }
              await B.write(P);
            }
            await B.ready, await B.close();
          } catch (v) {
            await B.abort(v);
          }
        })));
      } catch (n) {
        r(n);
      }
    })).then((async (t) => (It(t.data) && (t.data = await Mt(t.data)), t)));
  }
  function yc(e, t, r, n, a, i = false, l = Be) {
    let c, u;
    e === A.armor.signed && (c = t.text, u = t.hash, t = t.data);
    const x = i && Ll(t), f = [];
    switch (e) {
      case A.armor.multipartSection:
        f.push("-----BEGIN PGP MESSAGE, PART " + r + "/" + n + `-----
`), f.push(wi(a, l)), f.push(Oa(t)), x && f.push("=", vi(x)), f.push("-----END PGP MESSAGE, PART " + r + "/" + n + `-----
`);
        break;
      case A.armor.multipartLast:
        f.push("-----BEGIN PGP MESSAGE, PART " + r + `-----
`), f.push(wi(a, l)), f.push(Oa(t)), x && f.push("=", vi(x)), f.push("-----END PGP MESSAGE, PART " + r + `-----
`);
        break;
      case A.armor.signed:
        f.push(`-----BEGIN PGP SIGNED MESSAGE-----
`), f.push(u ? `Hash: ${u}

` : `
`), f.push(c.replace(/^-/gm, "- -")), f.push(`
-----BEGIN PGP SIGNATURE-----
`), f.push(wi(a, l)), f.push(Oa(t)), x && f.push("=", vi(x)), f.push(`-----END PGP SIGNATURE-----
`);
        break;
      case A.armor.message:
        f.push(`-----BEGIN PGP MESSAGE-----
`), f.push(wi(a, l)), f.push(Oa(t)), x && f.push("=", vi(x)), f.push(`-----END PGP MESSAGE-----
`);
        break;
      case A.armor.publicKey:
        f.push(`-----BEGIN PGP PUBLIC KEY BLOCK-----
`), f.push(wi(a, l)), f.push(Oa(t)), x && f.push("=", vi(x)), f.push(`-----END PGP PUBLIC KEY BLOCK-----
`);
        break;
      case A.armor.privateKey:
        f.push(`-----BEGIN PGP PRIVATE KEY BLOCK-----
`), f.push(wi(a, l)), f.push(Oa(t)), x && f.push("=", vi(x)), f.push(`-----END PGP PRIVATE KEY BLOCK-----
`);
        break;
      case A.armor.signature:
        f.push(`-----BEGIN PGP SIGNATURE-----
`), f.push(wi(a, l)), f.push(Oa(t)), x && f.push("=", vi(x)), f.push(`-----END PGP SIGNATURE-----
`);
    }
    return K.concat(f);
  }
  const qr = BigInt(0), $0 = BigInt(1);
  function je(e) {
    const t = "0123456789ABCDEF";
    let r = "";
    return e.forEach(((n) => {
      r += t[n >> 4] + t[15 & n];
    })), BigInt("0x0" + r);
  }
  function Xe(e, t) {
    const r = e % t;
    return r < qr ? r + t : r;
  }
  function ar(e, t, r) {
    if (r === qr) throw Error("Modulo cannot be zero");
    if (r === $0) return BigInt(0);
    if (t < qr) throw Error("Unsopported negative exponent");
    let n = t, a = e;
    a %= r;
    let i = BigInt(1);
    for (; n > qr; ) {
      const l = n & $0;
      n >>= $0, i = l ? i * a % r : i, a = a * a % r;
    }
    return i;
  }
  function l3(e) {
    return e >= qr ? e : -e;
  }
  function es(e, t) {
    const { gcd: r, x: n } = (function(a, i) {
      let l = BigInt(0), c = BigInt(1), u = BigInt(1), x = BigInt(0), f = l3(a), h = l3(i);
      const p = a < qr, m = i < qr;
      for (; h !== qr; ) {
        const y = f / h;
        let B = l;
        l = u - y * l, u = B, B = c, c = x - y * c, x = B, B = h, h = f % h, f = B;
      }
      return {
        x: p ? -u : u,
        y: m ? -x : x,
        gcd: f
      };
    })(e, t);
    if (r !== $0) throw Error("Inverse does not exist");
    return Xe(n + t, t);
  }
  function r8(e) {
    const t = Number(e);
    if (t > Number.MAX_SAFE_INTEGER) throw Error("Number can only safely store up to 53 bits");
    return t;
  }
  function ow(e, t) {
    return (e >> BigInt(t) & $0) === qr ? 0 : 1;
  }
  function Z0(e) {
    const t = e < qr ? BigInt(-1) : qr;
    let r = 1, n = e;
    for (; (n >>= $0) !== t; ) r++;
    return r;
  }
  function Gr(e) {
    const t = e < qr ? BigInt(-1) : qr, r = BigInt(8);
    let n = 1, a = e;
    for (; (a >>= r) !== t; ) n++;
    return n;
  }
  function Kt(e, t = "be", r) {
    let n = e.toString(16);
    n.length % 2 == 1 && (n = "0" + n);
    const a = n.length / 2, i = new Uint8Array(r || a), l = r ? r - a : 0;
    let c = 0;
    for (; c < a; ) i[c + l] = parseInt(n.slice(2 * c, 2 * c + 2), 16), c++;
    return t !== "be" && i.reverse(), i;
  }
  const iw = K.getNodeCrypto();
  function ur(e) {
    const t = typeof crypto < "u" ? crypto : iw == null ? void 0 : iw.webcrypto;
    if (t == null ? void 0 : t.getRandomValues) {
      const r = new Uint8Array(e);
      return t.getRandomValues(r);
    }
    throw Error("No secure random number generator available.");
  }
  function $o(e, t) {
    if (t < e) throw Error("Illegal parameter value: max <= min");
    const r = t - e;
    return Xe(je(ur(Gr(r) + 8)), r) + e;
  }
  const oa = BigInt(1);
  function c3(e, t, r) {
    const n = BigInt(30), a = oa << BigInt(e - 1), i = [
      1,
      6,
      5,
      4,
      3,
      2,
      1,
      4,
      3,
      2,
      1,
      2,
      1,
      4,
      3,
      2,
      1,
      2,
      1,
      4,
      3,
      2,
      1,
      6,
      5,
      4,
      3,
      2,
      1,
      2
    ];
    let l = $o(a, a << oa), c = r8(Xe(l, n));
    do
      l += BigInt(i[c]), c = (c + i[c]) % i.length, Z0(l) > e && (l = Xe(l, a << oa), l += a, c = r8(Xe(l, n)));
    while (!Pg(l, t, r));
    return l;
  }
  function Pg(e, t, r) {
    return (!t || (function(n, a) {
      let i = n, l = a;
      for (; l !== qr; ) {
        const c = l;
        l = i % l, i = c;
      }
      return i;
    })(e - oa, t) === oa) && !!(function(n) {
      const a = BigInt(0);
      return sw.every(((i) => Xe(n, i) !== a));
    })(e) && !!(function(n, a = BigInt(2)) {
      return ar(a, n - oa, n) === oa;
    })(e) && !!(function(n, a) {
      const i = Z0(n);
      a || (a = Math.max(1, i / 48 | 0));
      const l = n - oa;
      let c = 0;
      for (; !ow(l, c); ) c++;
      const u = n >> BigInt(c);
      for (; a > 0; a--) {
        let x, f = ar($o(BigInt(2), l), u, n);
        if (f !== oa && f !== l) {
          for (x = 1; x < c; x++) {
            if (f = Xe(f * f, n), f === oa) return false;
            if (f === l) break;
          }
          if (x === c) return false;
        }
      }
      return true;
    })(e, r);
  }
  const sw = [
    7,
    11,
    13,
    17,
    19,
    23,
    29,
    31,
    37,
    41,
    43,
    47,
    53,
    59,
    61,
    67,
    71,
    73,
    79,
    83,
    89,
    97,
    101,
    103,
    107,
    109,
    113,
    127,
    131,
    137,
    139,
    149,
    151,
    157,
    163,
    167,
    173,
    179,
    181,
    191,
    193,
    197,
    199,
    211,
    223,
    227,
    229,
    233,
    239,
    241,
    251,
    257,
    263,
    269,
    271,
    277,
    281,
    283,
    293,
    307,
    311,
    313,
    317,
    331,
    337,
    347,
    349,
    353,
    359,
    367,
    373,
    379,
    383,
    389,
    397,
    401,
    409,
    419,
    421,
    431,
    433,
    439,
    443,
    449,
    457,
    461,
    463,
    467,
    479,
    487,
    491,
    499,
    503,
    509,
    521,
    523,
    541,
    547,
    557,
    563,
    569,
    571,
    577,
    587,
    593,
    599,
    601,
    607,
    613,
    617,
    619,
    631,
    641,
    643,
    647,
    653,
    659,
    661,
    673,
    677,
    683,
    691,
    701,
    709,
    719,
    727,
    733,
    739,
    743,
    751,
    757,
    761,
    769,
    773,
    787,
    797,
    809,
    811,
    821,
    823,
    827,
    829,
    839,
    853,
    857,
    859,
    863,
    877,
    881,
    883,
    887,
    907,
    911,
    919,
    929,
    937,
    941,
    947,
    953,
    967,
    971,
    977,
    983,
    991,
    997,
    1009,
    1013,
    1019,
    1021,
    1031,
    1033,
    1039,
    1049,
    1051,
    1061,
    1063,
    1069,
    1087,
    1091,
    1093,
    1097,
    1103,
    1109,
    1117,
    1123,
    1129,
    1151,
    1153,
    1163,
    1171,
    1181,
    1187,
    1193,
    1201,
    1213,
    1217,
    1223,
    1229,
    1231,
    1237,
    1249,
    1259,
    1277,
    1279,
    1283,
    1289,
    1291,
    1297,
    1301,
    1303,
    1307,
    1319,
    1321,
    1327,
    1361,
    1367,
    1373,
    1381,
    1399,
    1409,
    1423,
    1427,
    1429,
    1433,
    1439,
    1447,
    1451,
    1453,
    1459,
    1471,
    1481,
    1483,
    1487,
    1489,
    1493,
    1499,
    1511,
    1523,
    1531,
    1543,
    1549,
    1553,
    1559,
    1567,
    1571,
    1579,
    1583,
    1597,
    1601,
    1607,
    1609,
    1613,
    1619,
    1621,
    1627,
    1637,
    1657,
    1663,
    1667,
    1669,
    1693,
    1697,
    1699,
    1709,
    1721,
    1723,
    1733,
    1741,
    1747,
    1753,
    1759,
    1777,
    1783,
    1787,
    1789,
    1801,
    1811,
    1823,
    1831,
    1847,
    1861,
    1867,
    1871,
    1873,
    1877,
    1879,
    1889,
    1901,
    1907,
    1913,
    1931,
    1933,
    1949,
    1951,
    1973,
    1979,
    1987,
    1993,
    1997,
    1999,
    2003,
    2011,
    2017,
    2027,
    2029,
    2039,
    2053,
    2063,
    2069,
    2081,
    2083,
    2087,
    2089,
    2099,
    2111,
    2113,
    2129,
    2131,
    2137,
    2141,
    2143,
    2153,
    2161,
    2179,
    2203,
    2207,
    2213,
    2221,
    2237,
    2239,
    2243,
    2251,
    2267,
    2269,
    2273,
    2281,
    2287,
    2293,
    2297,
    2309,
    2311,
    2333,
    2339,
    2341,
    2347,
    2351,
    2357,
    2371,
    2377,
    2381,
    2383,
    2389,
    2393,
    2399,
    2411,
    2417,
    2423,
    2437,
    2441,
    2447,
    2459,
    2467,
    2473,
    2477,
    2503,
    2521,
    2531,
    2539,
    2543,
    2549,
    2551,
    2557,
    2579,
    2591,
    2593,
    2609,
    2617,
    2621,
    2633,
    2647,
    2657,
    2659,
    2663,
    2671,
    2677,
    2683,
    2687,
    2689,
    2693,
    2699,
    2707,
    2711,
    2713,
    2719,
    2729,
    2731,
    2741,
    2749,
    2753,
    2767,
    2777,
    2789,
    2791,
    2797,
    2801,
    2803,
    2819,
    2833,
    2837,
    2843,
    2851,
    2857,
    2861,
    2879,
    2887,
    2897,
    2903,
    2909,
    2917,
    2927,
    2939,
    2953,
    2957,
    2963,
    2969,
    2971,
    2999,
    3001,
    3011,
    3019,
    3023,
    3037,
    3041,
    3049,
    3061,
    3067,
    3079,
    3083,
    3089,
    3109,
    3119,
    3121,
    3137,
    3163,
    3167,
    3169,
    3181,
    3187,
    3191,
    3203,
    3209,
    3217,
    3221,
    3229,
    3251,
    3253,
    3257,
    3259,
    3271,
    3299,
    3301,
    3307,
    3313,
    3319,
    3323,
    3329,
    3331,
    3343,
    3347,
    3359,
    3361,
    3371,
    3373,
    3389,
    3391,
    3407,
    3413,
    3433,
    3449,
    3457,
    3461,
    3463,
    3467,
    3469,
    3491,
    3499,
    3511,
    3517,
    3527,
    3529,
    3533,
    3539,
    3541,
    3547,
    3557,
    3559,
    3571,
    3581,
    3583,
    3593,
    3607,
    3613,
    3617,
    3623,
    3631,
    3637,
    3643,
    3659,
    3671,
    3673,
    3677,
    3691,
    3697,
    3701,
    3709,
    3719,
    3727,
    3733,
    3739,
    3761,
    3767,
    3769,
    3779,
    3793,
    3797,
    3803,
    3821,
    3823,
    3833,
    3847,
    3851,
    3853,
    3863,
    3877,
    3881,
    3889,
    3907,
    3911,
    3917,
    3919,
    3923,
    3929,
    3931,
    3943,
    3947,
    3967,
    3989,
    4001,
    4003,
    4007,
    4013,
    4019,
    4021,
    4027,
    4049,
    4051,
    4057,
    4073,
    4079,
    4091,
    4093,
    4099,
    4111,
    4127,
    4129,
    4133,
    4139,
    4153,
    4157,
    4159,
    4177,
    4201,
    4211,
    4217,
    4219,
    4229,
    4231,
    4241,
    4243,
    4253,
    4259,
    4261,
    4271,
    4273,
    4283,
    4289,
    4297,
    4327,
    4337,
    4339,
    4349,
    4357,
    4363,
    4373,
    4391,
    4397,
    4409,
    4421,
    4423,
    4441,
    4447,
    4451,
    4457,
    4463,
    4481,
    4483,
    4493,
    4507,
    4513,
    4517,
    4519,
    4523,
    4547,
    4549,
    4561,
    4567,
    4583,
    4591,
    4597,
    4603,
    4621,
    4637,
    4639,
    4643,
    4649,
    4651,
    4657,
    4663,
    4673,
    4679,
    4691,
    4703,
    4721,
    4723,
    4729,
    4733,
    4751,
    4759,
    4783,
    4787,
    4789,
    4793,
    4799,
    4801,
    4813,
    4817,
    4831,
    4861,
    4871,
    4877,
    4889,
    4903,
    4909,
    4919,
    4931,
    4933,
    4937,
    4943,
    4951,
    4957,
    4967,
    4969,
    4973,
    4987,
    4993,
    4999
  ].map(((e) => BigInt(e))), u3 = K.getWebCrypto(), Rx = K.getNodeCrypto(), lw = Rx && Rx.getHashes();
  function Za(e) {
    if (Rx && lw.includes(e)) return async function(t) {
      const r = Rx.createHash(e);
      return Ot(t, ((n) => {
        r.update(n);
      }), (() => new Uint8Array(r.digest())));
    };
  }
  function Ya(e, t) {
    const r = async () => {
      const { nobleHashes: n } = await Promise.resolve().then((function() {
        return yC;
      })), a = n.get(e);
      if (!a) throw Error("Unsupported hash");
      return a;
    };
    return async function(n) {
      if (It(n) && (n = await Mt(n)), K.isStream(n)) {
        const a = (await r()).create();
        return Ot(n, ((i) => {
          a.update(i);
        }), (() => a.digest()));
      }
      return u3 && t ? new Uint8Array(await u3.digest(t, n)) : (await r())(n);
    };
  }
  const cw = Za("md5") || Ya("md5"), uw = Za("sha1") || Ya("sha1", "SHA-1"), xw = Za("sha224") || Ya("sha224"), dw = Za("sha256") || Ya("sha256", "SHA-256"), fw = Za("sha384") || Ya("sha384", "SHA-384"), hw = Za("sha512") || Ya("sha512", "SHA-512"), pw = Za("ripemd160") || Ya("ripemd160"), gw = Za("sha3-256") || Ya("sha3_256"), mw = Za("sha3-512") || Ya("sha3_512");
  function Aa(e, t) {
    switch (e) {
      case A.hash.md5:
        return cw(t);
      case A.hash.sha1:
        return uw(t);
      case A.hash.ripemd:
        return pw(t);
      case A.hash.sha256:
        return dw(t);
      case A.hash.sha384:
        return fw(t);
      case A.hash.sha512:
        return hw(t);
      case A.hash.sha224:
        return xw(t);
      case A.hash.sha3_256:
        return gw(t);
      case A.hash.sha3_512:
        return mw(t);
      default:
        throw Error("Unsupported hash function");
    }
  }
  function Wt(e) {
    switch (e) {
      case A.hash.md5:
        return 16;
      case A.hash.sha1:
      case A.hash.ripemd:
        return 20;
      case A.hash.sha256:
        return 32;
      case A.hash.sha384:
        return 48;
      case A.hash.sha512:
        return 64;
      case A.hash.sha224:
        return 28;
      case A.hash.sha3_256:
        return 32;
      case A.hash.sha3_512:
        return 64;
      default:
        throw Error("Invalid hash algorithm.");
    }
  }
  const ia = [];
  function Ng(e, t) {
    const r = e.length;
    if (r > t - 11) throw Error("Message too long");
    const n = (function(i) {
      const l = new Uint8Array(i);
      let c = 0;
      for (; c < i; ) {
        const u = ur(i - c);
        for (let x = 0; x < u.length; x++) u[x] !== 0 && (l[c++] = u[x]);
      }
      return l;
    })(t - r - 3), a = new Uint8Array(t);
    return a[1] = 2, a.set(n, 2), a.set(e, t - r), a;
  }
  function jg(e, t) {
    let r = 2, n = 1;
    for (let c = r; c < e.length; c++) n &= e[c] !== 0, r += n;
    const a = r - 2, i = e.subarray(r + 1), l = e[0] === 0 & e[1] === 2 & a >= 8 & !n;
    if (t) return K.selectUint8Array(l, i, t);
    if (l) return i;
    throw Error("Decryption error");
  }
  function zg(e, t, r) {
    let n;
    if (t.length !== Wt(e)) throw Error("Invalid hash length");
    const a = new Uint8Array(ia[e].length);
    for (n = 0; n < ia[e].length; n++) a[n] = ia[e][n];
    const i = a.length + t.length;
    if (r < i + 11) throw Error("Intended encoded message length too short");
    const l = new Uint8Array(r - i - 3).fill(255), c = new Uint8Array(r);
    return c[1] = 1, c.set(l, 2), c.set(a, r - i), c.set(t, r - t.length), c;
  }
  ia[1] = [
    48,
    32,
    48,
    12,
    6,
    8,
    42,
    134,
    72,
    134,
    247,
    13,
    2,
    5,
    5,
    0,
    4,
    16
  ], ia[2] = [
    48,
    33,
    48,
    9,
    6,
    5,
    43,
    14,
    3,
    2,
    26,
    5,
    0,
    4,
    20
  ], ia[3] = [
    48,
    33,
    48,
    9,
    6,
    5,
    43,
    36,
    3,
    2,
    1,
    5,
    0,
    4,
    20
  ], ia[8] = [
    48,
    49,
    48,
    13,
    6,
    9,
    96,
    134,
    72,
    1,
    101,
    3,
    4,
    2,
    1,
    5,
    0,
    4,
    32
  ], ia[9] = [
    48,
    65,
    48,
    13,
    6,
    9,
    96,
    134,
    72,
    1,
    101,
    3,
    4,
    2,
    2,
    5,
    0,
    4,
    48
  ], ia[10] = [
    48,
    81,
    48,
    13,
    6,
    9,
    96,
    134,
    72,
    1,
    101,
    3,
    4,
    2,
    3,
    5,
    0,
    4,
    64
  ], ia[11] = [
    48,
    45,
    48,
    13,
    6,
    9,
    96,
    134,
    72,
    1,
    101,
    3,
    4,
    2,
    4,
    5,
    0,
    4,
    28
  ];
  const ts = K.getWebCrypto(), Mi = K.getNodeCrypto(), Jo = BigInt(1);
  async function yw(e, t, r, n, a, i, l, c, u) {
    if (Wt(e) >= r.length) throw Error("Digest size cannot exceed key modulus size");
    if (t && !K.isStream(t)) {
      if (K.getWebCrypto()) try {
        return await (async function(x, f, h, p, m, y, B, v) {
          const D = n8(h, p, m, y, B, v), P = {
            name: "RSASSA-PKCS1-v1_5",
            hash: {
              name: x
            }
          }, k = await ts.importKey("jwk", D, P, false, [
            "sign"
          ]);
          return new Uint8Array(await ts.sign("RSASSA-PKCS1-v1_5", k, f));
        })(A.read(A.webHash, e), t, r, n, a, i, l, c);
      } catch (x) {
        K.printDebugError(x);
      }
      else if (K.getNodeCrypto()) return (function(x, f, h, p, m, y, B, v) {
        const D = Mi.createSign(A.read(A.hash, x));
        D.write(f), D.end();
        const P = n8(h, p, m, y, B, v);
        return new Uint8Array(D.sign({
          key: P,
          format: "jwk",
          type: "pkcs1"
        }));
      })(e, t, r, n, a, i, l, c);
    }
    return (function(x, f, h, p) {
      f = je(f);
      const m = je(zg(x, p, Gr(f)));
      return h = je(h), Kt(ar(m, h, f), "be", Gr(f));
    })(e, r, a, u);
  }
  async function Ew(e, t, r, n, a, i) {
    if (t && !K.isStream(t)) {
      if (K.getWebCrypto()) try {
        return await (async function(l, c, u, x, f) {
          const h = a8(x, f), p = await ts.importKey("jwk", h, {
            name: "RSASSA-PKCS1-v1_5",
            hash: {
              name: l
            }
          }, false, [
            "verify"
          ]);
          return ts.verify("RSASSA-PKCS1-v1_5", p, u, c);
        })(A.read(A.webHash, e), t, r, n, a);
      } catch (l) {
        K.printDebugError(l);
      }
      else if (K.getNodeCrypto()) return (function(l, c, u, x, f) {
        const h = a8(x, f), p = {
          key: h,
          format: "jwk",
          type: "pkcs1"
        }, m = Mi.createVerify(A.read(A.hash, l));
        m.write(c), m.end();
        try {
          return m.verify(p, u);
        } catch {
          return false;
        }
      })(e, t, r, n, a);
    }
    return (function(l, c, u, x, f) {
      if (u = je(u), c = je(c), x = je(x), c >= u) throw Error("Signature size cannot exceed modulus size");
      const h = Kt(ar(c, x, u), "be", Gr(u)), p = zg(l, f, Gr(u));
      return K.equalsUint8Array(h, p);
    })(e, r, n, a, i);
  }
  async function Aw(e, t, r) {
    return K.getNodeCrypto() ? (function(n, a, i) {
      const l = a8(a, i), c = {
        key: l,
        format: "jwk",
        type: "pkcs1",
        padding: Mi.constants.RSA_PKCS1_PADDING
      };
      return new Uint8Array(Mi.publicEncrypt(c, n));
    })(e, t, r) : (function(n, a, i) {
      if (a = je(a), n = je(Ng(n, Gr(a))), i = je(i), n >= a) throw Error("Message size cannot exceed modulus size");
      return Kt(ar(n, i, a), "be", Gr(a));
    })(e, t, r);
  }
  async function bw(e, t, r, n, a, i, l, c) {
    if (K.getNodeCrypto() && !c) try {
      return (function(u, x, f, h, p, m, y) {
        const B = n8(x, f, h, p, m, y), v = {
          key: B,
          format: "jwk",
          type: "pkcs1",
          padding: Mi.constants.RSA_PKCS1_PADDING
        };
        try {
          return new Uint8Array(Mi.privateDecrypt(v, u));
        } catch {
          throw Error("Decryption error");
        }
      })(e, t, r, n, a, i, l);
    } catch (u) {
      K.printDebugError(u);
    }
    return (function(u, x, f, h, p, m, y, B) {
      if (u = je(u), x = je(x), f = je(f), h = je(h), p = je(p), m = je(m), y = je(y), u >= x) throw Error("Data too large.");
      const v = Xe(h, m - Jo), D = Xe(h, p - Jo), P = $o(BigInt(2), x), k = ar(es(P, x), f, x);
      u = Xe(u * k, x);
      const w = ar(u, D, p), _ = ar(u, v, m);
      let N = Xe(y * (_ - w), m) * p + w;
      return N = Xe(N * P, x), jg(Kt(N, "be", Gr(x)), B);
    })(e, t, r, n, a, i, l, c);
  }
  function n8(e, t, r, n, a, i) {
    const l = je(n), c = je(a), u = je(r);
    let x = Xe(u, c - Jo), f = Xe(u, l - Jo);
    return f = Kt(f), x = Kt(x), {
      kty: "RSA",
      n: lr(e),
      e: lr(t),
      d: lr(r),
      p: lr(a),
      q: lr(n),
      dp: lr(x),
      dq: lr(f),
      qi: lr(i),
      ext: true
    };
  }
  function a8(e, t) {
    return {
      kty: "RSA",
      n: lr(e),
      e: lr(t),
      ext: true
    };
  }
  function x3(e, t) {
    return {
      n: Or(e.n),
      e: Kt(t),
      d: Or(e.d),
      p: Or(e.q),
      q: Or(e.p),
      u: Or(e.qi)
    };
  }
  const Oo = BigInt(1), ww = {
    "2a8648ce3d030107": A.curve.nistP256,
    "2b81040022": A.curve.nistP384,
    "2b81040023": A.curve.nistP521,
    "2b8104000a": A.curve.secp256k1,
    "2b06010401da470f01": A.curve.ed25519Legacy,
    "2b060104019755010501": A.curve.curve25519Legacy,
    "2b2403030208010107": A.curve.brainpoolP256r1,
    "2b240303020801010b": A.curve.brainpoolP384r1,
    "2b240303020801010d": A.curve.brainpoolP512r1
  };
  class Wa {
    constructor(t) {
      if (t instanceof Wa) this.oid = t.oid;
      else if (K.isArray(t) || K.isUint8Array(t)) {
        if ((t = new Uint8Array(t))[0] === 6) {
          if (t[1] !== t.length - 2) throw Error("Length mismatch in DER encoded oid");
          t = t.subarray(2);
        }
        this.oid = t;
      } else this.oid = "";
    }
    read(t) {
      if (t.length >= 1) {
        const r = t[0];
        if (t.length >= 1 + r) return this.oid = t.subarray(1, 1 + r), 1 + this.oid.length;
      }
      throw Error("Invalid oid");
    }
    write() {
      return K.concatUint8Array([
        new Uint8Array([
          this.oid.length
        ]),
        this.oid
      ]);
    }
    toHex() {
      return K.uint8ArrayToHex(this.oid);
    }
    getName() {
      const t = ww[this.toHex()];
      if (!t) throw Error("Unknown curve object identifier.");
      return t;
    }
  }
  function Ug(e) {
    let t, r = 0;
    const n = e[0];
    return n < 192 ? ([r] = e, t = 1) : n < 255 ? (r = (e[0] - 192 << 8) + e[1] + 192, t = 2) : n === 255 && (r = K.readNumber(e.subarray(1, 5)), t = 5), {
      len: r,
      offset: t
    };
  }
  function xd(e) {
    return e < 192 ? new Uint8Array([
      e
    ]) : e > 191 && e < 8384 ? new Uint8Array([
      192 + (e - 192 >> 8),
      e - 192 & 255
    ]) : K.concatUint8Array([
      new Uint8Array([
        255
      ]),
      K.writeNumber(e, 4)
    ]);
  }
  function vw(e) {
    if (e < 0 || e > 30) throw Error("Partial Length power must be between 1 and 30");
    return new Uint8Array([
      224 + e
    ]);
  }
  function Kx(e) {
    return new Uint8Array([
      192 | e
    ]);
  }
  function d3(e, t) {
    return K.concatUint8Array([
      Kx(e),
      xd(t)
    ]);
  }
  function Ex(e) {
    return [
      A.packet.literalData,
      A.packet.compressedData,
      A.packet.symmetricallyEncryptedData,
      A.packet.symEncryptedIntegrityProtectedData,
      A.packet.aeadEncryptedData
    ].includes(e);
  }
  async function Bw(e, t, r) {
    let n, a;
    try {
      const i = await e.peekBytes(2);
      if (!i || i.length < 2 || !(128 & i[0])) throw Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format.");
      const l = await e.readByte();
      let c, u, x = -1, f = -1;
      f = 0, 64 & l && (f = 1), f ? x = 63 & l : (x = (63 & l) >> 2, u = 3 & l);
      const h = Ex(x);
      let p, m = null;
      if (t && h) {
        if (t === "array") {
          const y = new An();
          n = an(y), m = y;
        } else {
          const y = new TransformStream();
          n = an(y.writable), m = y.readable;
        }
        a = r({
          tag: x,
          packet: m
        });
      } else m = [];
      do {
        if (f) {
          const y = await e.readByte();
          if (p = false, y < 192) c = y;
          else if (y >= 192 && y < 224) c = (y - 192 << 8) + await e.readByte() + 192;
          else if (y > 223 && y < 255) {
            if (c = 1 << (31 & y), p = true, !h) throw new TypeError("This packet type does not support partial lengths.");
          } else c = await e.readByte() << 24 | await e.readByte() << 16 | await e.readByte() << 8 | await e.readByte();
        } else switch (u) {
          case 0:
            c = await e.readByte();
            break;
          case 1:
            c = await e.readByte() << 8 | await e.readByte();
            break;
          case 2:
            c = await e.readByte() << 24 | await e.readByte() << 16 | await e.readByte() << 8 | await e.readByte();
            break;
          default:
            c = 1 / 0;
        }
        if (c > 0) {
          let y = 0;
          for (; ; ) {
            n && await n.ready;
            const { done: B, value: v } = await e.read();
            if (B) {
              if (c === 1 / 0) break;
              throw Error("Unexpected end of packet");
            }
            const D = c === 1 / 0 ? v : v.subarray(0, c - y);
            if (n ? await n.write(D) : m.push(D), y += v.length, y >= c) {
              e.unshift(v.subarray(c - y + v.length));
              break;
            }
          }
        }
      } while (p);
      n ? (await n.ready, await n.close()) : (m = K.concatUint8Array(m), await r({
        tag: x,
        packet: m
      }));
    } catch (i) {
      if (n) return await n.abort(i), true;
      throw i;
    } finally {
      n && await a;
    }
  }
  class st extends Error {
    constructor(...t) {
      super(...t), Error.captureStackTrace && Error.captureStackTrace(this, st), this.name = "UnsupportedError";
    }
  }
  class Ax extends st {
    constructor(...t) {
      super(...t), Error.captureStackTrace && Error.captureStackTrace(this, st), this.name = "UnknownPacketError";
    }
  }
  class oh extends st {
    constructor(...t) {
      super(...t), Error.captureStackTrace && Error.captureStackTrace(this, st), this.name = "MalformedPacketError";
    }
  }
  class o8 {
    constructor(t, r) {
      this.tag = t, this.rawContent = r;
    }
    write() {
      return this.rawContent;
    }
  }
  async function o9(e) {
    switch (e) {
      case A.publicKey.ed25519:
        try {
          const t = K.getWebCrypto(), r = await t.generateKey("Ed25519", true, [
            "sign",
            "verify"
          ]).catch(((i) => {
            if (i.name === "OperationError") {
              const l = Error("Unexpected key generation issue");
              throw l.name = "NotSupportedError", l;
            }
            throw i;
          })), n = await t.exportKey("jwk", r.privateKey), a = await t.exportKey("jwk", r.publicKey);
          return {
            A: new Uint8Array(Or(a.x)),
            seed: Or(n.d)
          };
        } catch (t) {
          if (t.name !== "NotSupportedError") throw t;
          const { default: r } = await Promise.resolve().then((function() {
            return r0;
          })), n = ur(dd(e)), { publicKey: a } = r.sign.keyPair.fromSeed(n);
          return {
            A: a,
            seed: n
          };
        }
      case A.publicKey.ed448: {
        const t = await K.getNobleCurve(A.publicKey.ed448), { secretKey: r, publicKey: n } = t.keygen();
        return {
          A: n,
          seed: r
        };
      }
      default:
        throw Error("Unsupported EdDSA algorithm");
    }
  }
  async function i9(e, t, r, n, a, i) {
    if (Wt(t) < Wt(fd(e))) throw Error("Hash algorithm too weak for EdDSA.");
    switch (e) {
      case A.publicKey.ed25519:
        try {
          const l = K.getWebCrypto(), c = Tg(e, n, a), u = await l.importKey("jwk", c, "Ed25519", false, [
            "sign"
          ]);
          return {
            RS: new Uint8Array(await l.sign("Ed25519", u, i))
          };
        } catch (l) {
          if (l.name !== "NotSupportedError") throw l;
          const { default: c } = await Promise.resolve().then((function() {
            return r0;
          })), u = K.concatUint8Array([
            a,
            n
          ]);
          return {
            RS: c.sign.detached(i, u)
          };
        }
      case A.publicKey.ed448:
        return {
          RS: (await K.getNobleCurve(A.publicKey.ed448)).sign(i, a)
        };
      default:
        throw Error("Unsupported EdDSA algorithm");
    }
  }
  async function s9(e, t, { RS: r }, n, a, i) {
    if (Wt(t) < Wt(fd(e))) throw Error("Hash algorithm too weak for EdDSA.");
    switch (e) {
      case A.publicKey.ed25519:
        try {
          const l = K.getWebCrypto(), c = c9(e, a), u = await l.importKey("jwk", c, "Ed25519", false, [
            "verify"
          ]);
          return await l.verify("Ed25519", u, r, i);
        } catch (l) {
          if (l.name !== "NotSupportedError") throw l;
          const { default: c } = await Promise.resolve().then((function() {
            return r0;
          }));
          return c.sign.detached.verify(i, r, a);
        }
      case A.publicKey.ed448:
        return (await K.getNobleCurve(A.publicKey.ed448)).verify(r, i, a);
      default:
        throw Error("Unsupported EdDSA algorithm");
    }
  }
  async function l9(e, t, r) {
    switch (e) {
      case A.publicKey.ed25519:
        try {
          const n = K.getWebCrypto(), a = Tg(e, t, r), i = c9(e, t), l = await n.importKey("jwk", a, "Ed25519", false, [
            "sign"
          ]), c = await n.importKey("jwk", i, "Ed25519", false, [
            "verify"
          ]), u = ur(8), x = new Uint8Array(await n.sign("Ed25519", l, u));
          return await n.verify("Ed25519", c, x, u);
        } catch (n) {
          if (n.name !== "NotSupportedError") return false;
          const { default: a } = await Promise.resolve().then((function() {
            return r0;
          })), { publicKey: i } = a.sign.keyPair.fromSeed(r);
          return K.equalsUint8Array(t, i);
        }
      case A.publicKey.ed448: {
        const n = (await K.getNobleCurve(A.publicKey.ed448)).getPublicKey(r);
        return K.equalsUint8Array(t, n);
      }
      default:
        return false;
    }
  }
  function dd(e) {
    switch (e) {
      case A.publicKey.ed25519:
        return 32;
      case A.publicKey.ed448:
        return 57;
      default:
        throw Error("Unsupported EdDSA algorithm");
    }
  }
  function fd(e) {
    switch (e) {
      case A.publicKey.ed25519:
        return A.hash.sha256;
      case A.publicKey.ed448:
        return A.hash.sha512;
      default:
        throw Error("Unknown EdDSA algo");
    }
  }
  const c9 = (e, t) => {
    if (e === A.publicKey.ed25519) return {
      kty: "OKP",
      crv: "Ed25519",
      x: lr(t),
      ext: true
    };
    throw Error("Unsupported EdDSA algorithm");
  }, Tg = (e, t, r) => {
    if (e === A.publicKey.ed25519) {
      const n = c9(e, t);
      return n.d = lr(r), n;
    }
    throw Error("Unsupported EdDSA algorithm");
  };
  var Cw = Object.freeze({
    __proto__: null,
    generate: o9,
    getPayloadSize: dd,
    getPreferredHashAlgo: fd,
    sign: i9,
    validateParams: l9,
    verify: s9
  });
  function Rg(e) {
    return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
  }
  function _t(e, ...t) {
    if (!Rg(e)) throw Error("Uint8Array expected");
    if (t.length > 0 && !t.includes(e.length)) throw Error("Uint8Array expected of length " + t + ", got length=" + e.length);
  }
  function Mx(e, t = true) {
    if (e.destroyed) throw Error("Hash instance has been destroyed");
    if (t && e.finished) throw Error("Hash#digest() has already been called");
  }
  function Kg(e, t) {
    _t(e);
    const r = t.outputLen;
    if (e.length < r) throw Error("digestInto() expects output buffer of length at least " + r);
  }
  function u9(e) {
    return new Uint8Array(e.buffer, e.byteOffset, e.byteLength);
  }
  function bt(e) {
    return new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4));
  }
  function vr(...e) {
    for (let t = 0; t < e.length; t++) e[t].fill(0);
  }
  function hd(e) {
    return new DataView(e.buffer, e.byteOffset, e.byteLength);
  }
  const kw = new Uint8Array(new Uint32Array([
    287454020
  ]).buffer)[0] === 68;
  function Wl(e) {
    if (typeof e == "string") e = (function(t) {
      if (typeof t != "string") throw Error("string expected");
      return new Uint8Array(new TextEncoder().encode(t));
    })(e);
    else {
      if (!Rg(e)) throw Error("Uint8Array expected, got " + typeof e);
      e = Hr(e);
    }
    return e;
  }
  function Mg(e, t) {
    return e.buffer === t.buffer && e.byteOffset < t.byteOffset + t.byteLength && t.byteOffset < e.byteOffset + e.byteLength;
  }
  function i8(e, t) {
    if (Mg(e, t) && e.byteOffset < t.byteOffset) throw Error("complex overlap of input and output is not supported");
  }
  function Lg(e, t) {
    if (e.length !== t.length) return false;
    let r = 0;
    for (let n = 0; n < e.length; n++) r |= e[n] ^ t[n];
    return r === 0;
  }
  const Ec = (e, t) => {
    function r(n, ...a) {
      if (_t(n), !kw) throw Error("Non little-endian hardware is not yet supported");
      if (e.nonceLength !== void 0) {
        const x = a[0];
        if (!x) throw Error("nonce / iv required");
        e.varSizeNonce ? _t(x) : _t(x, e.nonceLength);
      }
      const i = e.tagLength;
      i && a[1] !== void 0 && _t(a[1]);
      const l = t(n, ...a), c = (x, f) => {
        if (f !== void 0) {
          if (x !== 2) throw Error("cipher output not supported");
          _t(f);
        }
      };
      let u = false;
      return {
        encrypt(x, f) {
          if (u) throw Error("cannot encrypt() twice with same key + nonce");
          return u = true, _t(x), c(l.encrypt.length, f), l.encrypt(x, f);
        },
        decrypt(x, f) {
          if (_t(x), i && x.length < i) throw Error("invalid ciphertext length: smaller than tagLength=" + i);
          return c(l.decrypt.length, f), l.decrypt(x, f);
        }
      };
    }
    return Object.assign(r, e), r;
  };
  function $l(e, t, r = true) {
    if (t === void 0) return new Uint8Array(e);
    if (t.length !== e) throw Error("invalid output length, expected " + e + ", got: " + t.length);
    if (r && !bn(t)) throw Error("invalid output, must be aligned");
    return t;
  }
  function s8(e, t, r, n) {
    if (typeof e.setBigUint64 == "function") return e.setBigUint64(t, r, n);
    const a = BigInt(32), i = BigInt(4294967295), l = Number(r >> a & i), c = Number(r & i);
    e.setUint32(t + 0, l, n), e.setUint32(t + 4, c, n);
  }
  function bn(e) {
    return e.byteOffset % 4 == 0;
  }
  function Hr(e) {
    return Uint8Array.from(e);
  }
  const Ha = 16, x9 = new Uint8Array(16), la = bt(x9), gn = (e) => (e >>> 0 & 255) << 24 | (e >>> 8 & 255) << 16 | (e >>> 16 & 255) << 8 | e >>> 24 & 255;
  class Og {
    constructor(t, r) {
      this.blockLen = Ha, this.outputLen = Ha, this.s0 = 0, this.s1 = 0, this.s2 = 0, this.s3 = 0, this.finished = false, _t(t = Wl(t), 16);
      const n = hd(t);
      let a = n.getUint32(0, false), i = n.getUint32(4, false), l = n.getUint32(8, false), c = n.getUint32(12, false);
      const u = [];
      for (let P = 0; P < 128; P++) u.push({
        s0: gn(a),
        s1: gn(i),
        s2: gn(l),
        s3: gn(c)
      }), { s0: a, s1: i, s2: l, s3: c } = {
        s3: (h = l) << 31 | (p = c) >>> 1,
        s2: (f = i) << 31 | h >>> 1,
        s1: (x = a) << 31 | f >>> 1,
        s0: x >>> 1 ^ 225 << 24 & -(1 & p)
      };
      var x, f, h, p;
      const m = (y = r || 1024) > 65536 ? 8 : y > 1024 ? 4 : 2;
      var y;
      if (![
        1,
        2,
        4,
        8
      ].includes(m)) throw Error("ghash: invalid window size, expected 2, 4 or 8");
      this.W = m;
      const B = 128 / m, v = this.windowSize = 2 ** m, D = [];
      for (let P = 0; P < B; P++) for (let k = 0; k < v; k++) {
        let w = 0, _ = 0, T = 0, N = 0;
        for (let U = 0; U < m; U++) {
          if (!(k >>> m - U - 1 & 1)) continue;
          const { s0: C, s1: z, s2: I, s3: R } = u[m * P + U];
          w ^= C, _ ^= z, T ^= I, N ^= R;
        }
        D.push({
          s0: w,
          s1: _,
          s2: T,
          s3: N
        });
      }
      this.t = D;
    }
    _updateBlock(t, r, n, a) {
      t ^= this.s0, r ^= this.s1, n ^= this.s2, a ^= this.s3;
      const { W: i, t: l, windowSize: c } = this;
      let u = 0, x = 0, f = 0, h = 0;
      const p = (1 << i) - 1;
      let m = 0;
      for (const y of [
        t,
        r,
        n,
        a
      ]) for (let B = 0; B < 4; B++) {
        const v = y >>> 8 * B & 255;
        for (let D = 8 / i - 1; D >= 0; D--) {
          const P = v >>> i * D & p, { s0: k, s1: w, s2: _, s3: T } = l[m * c + P];
          u ^= k, x ^= w, f ^= _, h ^= T, m += 1;
        }
      }
      this.s0 = u, this.s1 = x, this.s2 = f, this.s3 = h;
    }
    update(t) {
      Mx(this), _t(t = Wl(t));
      const r = bt(t), n = Math.floor(t.length / Ha), a = t.length % Ha;
      for (let i = 0; i < n; i++) this._updateBlock(r[4 * i + 0], r[4 * i + 1], r[4 * i + 2], r[4 * i + 3]);
      return a && (x9.set(t.subarray(n * Ha)), this._updateBlock(la[0], la[1], la[2], la[3]), vr(la)), this;
    }
    destroy() {
      const { t } = this;
      for (const r of t) r.s0 = 0, r.s1 = 0, r.s2 = 0, r.s3 = 0;
    }
    digestInto(t) {
      Mx(this), Kg(t, this), this.finished = true;
      const { s0: r, s1: n, s2: a, s3: i } = this, l = bt(t);
      return l[0] = r, l[1] = n, l[2] = a, l[3] = i, t;
    }
    digest() {
      const t = new Uint8Array(Ha);
      return this.digestInto(t), this.destroy(), t;
    }
  }
  class Dw extends Og {
    constructor(t, r) {
      _t(t = Wl(t));
      const n = (function(a) {
        a.reverse();
        const i = 1 & a[15];
        let l = 0;
        for (let c = 0; c < a.length; c++) {
          const u = a[c];
          a[c] = u >>> 1 | l, l = (1 & u) << 7;
        }
        return a[0] ^= 225 & -i, a;
      })(Hr(t));
      super(n, r), vr(n);
    }
    update(t) {
      t = Wl(t), Mx(this);
      const r = bt(t), n = t.length % Ha, a = Math.floor(t.length / Ha);
      for (let i = 0; i < a; i++) this._updateBlock(gn(r[4 * i + 3]), gn(r[4 * i + 2]), gn(r[4 * i + 1]), gn(r[4 * i + 0]));
      return n && (x9.set(t.subarray(a * Ha)), this._updateBlock(gn(la[3]), gn(la[2]), gn(la[1]), gn(la[0])), vr(la)), this;
    }
    digestInto(t) {
      Mx(this), Kg(t, this), this.finished = true;
      const { s0: r, s1: n, s2: a, s3: i } = this, l = bt(t);
      return l[0] = r, l[1] = n, l[2] = a, l[3] = i, t.reverse();
    }
  }
  function Hg(e) {
    const t = (n, a) => e(a, n.length).update(Wl(n)).digest(), r = e(new Uint8Array(16), 0);
    return t.outputLen = r.outputLen, t.blockLen = r.blockLen, t.create = (n, a) => e(n, a), t;
  }
  const f3 = Hg(((e, t) => new Og(e, t)));
  Hg(((e, t) => new Dw(e, t)));
  const tn = 16, Qu = new Uint8Array(tn);
  function d9(e) {
    return e << 1 ^ 283 & -(e >> 7);
  }
  function H0(e, t) {
    let r = 0;
    for (; t > 0; t >>= 1) r ^= e & -(1 & t), e = d9(e);
    return r;
  }
  const l8 = (() => {
    const e = new Uint8Array(256);
    for (let r = 0, n = 1; r < 256; r++, n ^= d9(n)) e[r] = n;
    const t = new Uint8Array(256);
    t[0] = 99;
    for (let r = 0; r < 255; r++) {
      let n = e[255 - r];
      n |= n << 8, t[e[r]] = 255 & (n ^ n >> 4 ^ n >> 5 ^ n >> 6 ^ n >> 7 ^ 99);
    }
    return vr(e), t;
  })(), Fw = l8.map(((e, t) => l8.indexOf(t))), ih = (e) => e << 8 | e >>> 24, h3 = (e) => e << 24 & 4278190080 | e << 8 & 16711680 | e >>> 8 & 65280 | e >>> 24 & 255;
  function Qg(e, t) {
    if (e.length !== 256) throw Error("Wrong sbox length");
    const r = new Uint32Array(256).map(((x, f) => t(e[f]))), n = r.map(ih), a = n.map(ih), i = a.map(ih), l = new Uint32Array(65536), c = new Uint32Array(65536), u = new Uint16Array(65536);
    for (let x = 0; x < 256; x++) for (let f = 0; f < 256; f++) {
      const h = 256 * x + f;
      l[h] = r[x] ^ n[f], c[h] = a[x] ^ i[f], u[h] = e[x] << 8 | e[f];
    }
    return {
      sbox: e,
      sbox2: u,
      T0: r,
      T1: n,
      T2: a,
      T3: i,
      T01: l,
      T23: c
    };
  }
  const f9 = Qg(l8, ((e) => H0(e, 3) << 24 | e << 16 | e << 8 | H0(e, 2))), qg = Qg(Fw, ((e) => H0(e, 11) << 24 | H0(e, 13) << 16 | H0(e, 9) << 8 | H0(e, 14))), Sw = (() => {
    const e = new Uint8Array(16);
    for (let t = 0, r = 1; t < 16; t++, r = d9(r)) e[t] = r;
    return e;
  })();
  function Ji(e) {
    _t(e);
    const t = e.length;
    if (![
      16,
      24,
      32
    ].includes(t)) throw Error("aes: invalid key size, should be 16, 24 or 32, got " + t);
    const { sbox2: r } = f9, n = [];
    bn(e) || n.push(e = Hr(e));
    const a = bt(e), i = a.length, l = (x) => xa(r, x, x, x, x), c = new Uint32Array(t + 28);
    c.set(a);
    for (let x = i; x < c.length; x++) {
      let f = c[x - 1];
      x % i == 0 ? f = l((u = f) << 24 | u >>> 8) ^ Sw[x / i - 1] : i > 6 && x % i == 4 && (f = l(f)), c[x] = c[x - i] ^ f;
    }
    var u;
    return vr(...n), c;
  }
  function h9(e) {
    const t = Ji(e), r = t.slice(), n = t.length, { sbox2: a } = f9, { T0: i, T1: l, T2: c, T3: u } = qg;
    for (let x = 0; x < n; x += 4) for (let f = 0; f < 4; f++) r[x + f] = t[n - x - 4 + f];
    vr(t);
    for (let x = 4; x < n - 4; x++) {
      const f = r[x], h = xa(a, f, f, f, f);
      r[x] = i[255 & h] ^ l[h >>> 8 & 255] ^ c[h >>> 16 & 255] ^ u[h >>> 24];
    }
    return r;
  }
  function Qo(e, t, r, n, a, i) {
    return e[r << 8 & 65280 | n >>> 8 & 255] ^ t[a >>> 8 & 65280 | i >>> 24 & 255];
  }
  function xa(e, t, r, n, a) {
    return e[255 & t | 65280 & r] | e[n >>> 16 & 255 | a >>> 16 & 65280] << 16;
  }
  function Gn(e, t, r, n, a) {
    const { sbox2: i, T01: l, T23: c } = f9;
    let u = 0;
    t ^= e[u++], r ^= e[u++], n ^= e[u++], a ^= e[u++];
    const x = e.length / 4 - 2;
    for (let f = 0; f < x; f++) {
      const h = e[u++] ^ Qo(l, c, t, r, n, a), p = e[u++] ^ Qo(l, c, r, n, a, t), m = e[u++] ^ Qo(l, c, n, a, t, r), y = e[u++] ^ Qo(l, c, a, t, r, n);
      t = h, r = p, n = m, a = y;
    }
    return {
      s0: e[u++] ^ xa(i, t, r, n, a),
      s1: e[u++] ^ xa(i, r, n, a, t),
      s2: e[u++] ^ xa(i, n, a, t, r),
      s3: e[u++] ^ xa(i, a, t, r, n)
    };
  }
  function pd(e, t, r, n, a) {
    const { sbox2: i, T01: l, T23: c } = qg;
    let u = 0;
    t ^= e[u++], r ^= e[u++], n ^= e[u++], a ^= e[u++];
    const x = e.length / 4 - 2;
    for (let f = 0; f < x; f++) {
      const h = e[u++] ^ Qo(l, c, t, a, n, r), p = e[u++] ^ Qo(l, c, r, t, a, n), m = e[u++] ^ Qo(l, c, n, r, t, a), y = e[u++] ^ Qo(l, c, a, n, r, t);
      t = h, r = p, n = m, a = y;
    }
    return {
      s0: e[u++] ^ xa(i, t, a, n, r),
      s1: e[u++] ^ xa(i, r, t, a, n),
      s2: e[u++] ^ xa(i, n, r, t, a),
      s3: e[u++] ^ xa(i, a, n, r, t)
    };
  }
  function Gg(e, t, r, n) {
    _t(t, tn), _t(r);
    const a = r.length;
    i8(r, n = $l(a, n));
    const i = t, l = bt(i);
    let { s0: c, s1: u, s2: x, s3: f } = Gn(e, l[0], l[1], l[2], l[3]);
    const h = bt(r), p = bt(n);
    for (let y = 0; y + 4 <= h.length; y += 4) {
      p[y + 0] = h[y + 0] ^ c, p[y + 1] = h[y + 1] ^ u, p[y + 2] = h[y + 2] ^ x, p[y + 3] = h[y + 3] ^ f;
      let B = 1;
      for (let v = i.length - 1; v >= 0; v--) B = B + (255 & i[v]) | 0, i[v] = 255 & B, B >>>= 8;
      ({ s0: c, s1: u, s2: x, s3: f } = Gn(e, l[0], l[1], l[2], l[3]));
    }
    const m = tn * Math.floor(h.length / 4);
    if (m < a) {
      const y = new Uint32Array([
        c,
        u,
        x,
        f
      ]), B = u9(y);
      for (let v = m, D = 0; v < a; v++, D++) n[v] = r[v] ^ B[D];
      vr(y);
    }
    return n;
  }
  function Sl(e, t, r, n, a) {
    _t(r, tn), _t(n), a = $l(n.length, a);
    const i = r, l = bt(i), c = hd(i), u = bt(n), x = bt(a), f = t ? 0 : 12, h = n.length;
    let p = c.getUint32(f, t), { s0: m, s1: y, s2: B, s3: v } = Gn(e, l[0], l[1], l[2], l[3]);
    for (let P = 0; P + 4 <= u.length; P += 4) x[P + 0] = u[P + 0] ^ m, x[P + 1] = u[P + 1] ^ y, x[P + 2] = u[P + 2] ^ B, x[P + 3] = u[P + 3] ^ v, p = p + 1 >>> 0, c.setUint32(f, p, t), { s0: m, s1: y, s2: B, s3: v } = Gn(e, l[0], l[1], l[2], l[3]);
    const D = tn * Math.floor(u.length / 4);
    if (D < h) {
      const P = new Uint32Array([
        m,
        y,
        B,
        v
      ]), k = u9(P);
      for (let w = D, _ = 0; w < h; w++, _++) a[w] = n[w] ^ k[_];
      vr(P);
    }
    return a;
  }
  const _w = Ec({
    blockSize: 16,
    nonceLength: 16
  }, (function(e, t) {
    function r(n, a) {
      if (_t(n), a !== void 0 && (_t(a), !bn(a))) throw Error("unaligned destination");
      const i = Ji(e), l = Hr(t), c = [
        i,
        l
      ];
      bn(n) || c.push(n = Hr(n));
      const u = Gg(i, l, n, a);
      return vr(...c), u;
    }
    return {
      encrypt: (n, a) => r(n, a),
      decrypt: (n, a) => r(n, a)
    };
  })), c8 = Ec({
    blockSize: 16,
    nonceLength: 16
  }, (function(e, t, r = {}) {
    const n = !r.disablePadding;
    return {
      encrypt(a, i) {
        const l = Ji(e), { b: c, o: u, out: x } = (function(P, k, w) {
          _t(P);
          let _ = P.length;
          const T = _ % tn;
          if (!k && T !== 0) throw Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");
          bn(P) || (P = Hr(P));
          const N = bt(P);
          if (k) {
            let U = tn - T;
            U || (U = tn), _ += U;
          }
          return i8(P, w = $l(_, w)), {
            b: N,
            o: bt(w),
            out: w
          };
        })(a, n, i);
        let f = t;
        const h = [
          l
        ];
        bn(f) || h.push(f = Hr(f));
        const p = bt(f);
        let m = p[0], y = p[1], B = p[2], v = p[3], D = 0;
        for (; D + 4 <= c.length; ) m ^= c[D + 0], y ^= c[D + 1], B ^= c[D + 2], v ^= c[D + 3], { s0: m, s1: y, s2: B, s3: v } = Gn(l, m, y, B, v), u[D++] = m, u[D++] = y, u[D++] = B, u[D++] = v;
        if (n) {
          const P = (function(k) {
            const w = new Uint8Array(16), _ = bt(w);
            w.set(k);
            const T = tn - k.length;
            for (let N = tn - T; N < tn; N++) w[N] = T;
            return _;
          })(a.subarray(4 * D));
          m ^= P[0], y ^= P[1], B ^= P[2], v ^= P[3], { s0: m, s1: y, s2: B, s3: v } = Gn(l, m, y, B, v), u[D++] = m, u[D++] = y, u[D++] = B, u[D++] = v;
        }
        return vr(...h), x;
      },
      decrypt(a, i) {
        (function(v) {
          if (_t(v), v.length % tn != 0) throw Error("aes-(cbc/ecb).decrypt ciphertext should consist of blocks with size 16");
        })(a);
        const l = h9(e);
        let c = t;
        const u = [
          l
        ];
        bn(c) || u.push(c = Hr(c));
        const x = bt(c);
        i = $l(a.length, i), bn(a) || u.push(a = Hr(a)), i8(a, i);
        const f = bt(a), h = bt(i);
        let p = x[0], m = x[1], y = x[2], B = x[3];
        for (let v = 0; v + 4 <= f.length; ) {
          const D = p, P = m, k = y, w = B;
          p = f[v + 0], m = f[v + 1], y = f[v + 2], B = f[v + 3];
          const { s0: _, s1: T, s2: N, s3: U } = pd(l, p, m, y, B);
          h[v++] = _ ^ D, h[v++] = T ^ P, h[v++] = N ^ k, h[v++] = U ^ w;
        }
        return vr(...u), (function(v, D) {
          if (!D) return v;
          const P = v.length;
          if (!P) throw Error("aes/pcks5: empty ciphertext not allowed");
          const k = v[P - 1];
          if (k <= 0 || k > 16) throw Error("aes/pcks5: wrong padding");
          const w = v.subarray(0, -k);
          for (let _ = 0; _ < k; _++) if (v[P - _ - 1] !== k) throw Error("aes/pcks5: wrong padding");
          return w;
        })(i, n);
      }
    };
  })), Vg = Ec({
    blockSize: 16,
    nonceLength: 16
  }, (function(e, t) {
    function r(n, a, i) {
      _t(n);
      const l = n.length;
      if (Mg(n, i = $l(l, i))) throw Error("overlapping src and dst not supported.");
      const c = Ji(e);
      let u = t;
      const x = [
        c
      ];
      bn(u) || x.push(u = Hr(u)), bn(n) || x.push(n = Hr(n));
      const f = bt(n), h = bt(i), p = a ? h : f, m = bt(u);
      let y = m[0], B = m[1], v = m[2], D = m[3];
      for (let k = 0; k + 4 <= f.length; ) {
        const { s0: w, s1: _, s2: T, s3: N } = Gn(c, y, B, v, D);
        h[k + 0] = f[k + 0] ^ w, h[k + 1] = f[k + 1] ^ _, h[k + 2] = f[k + 2] ^ T, h[k + 3] = f[k + 3] ^ N, y = p[k++], B = p[k++], v = p[k++], D = p[k++];
      }
      const P = tn * Math.floor(f.length / 4);
      if (P < l) {
        ({ s0: y, s1: B, s2: v, s3: D } = Gn(c, y, B, v, D));
        const k = u9(new Uint32Array([
          y,
          B,
          v,
          D
        ]));
        for (let w = P, _ = 0; w < l; w++, _++) i[w] = n[w] ^ k[_];
        vr(k);
      }
      return vr(...x), i;
    }
    return {
      encrypt: (n, a) => r(n, true, a),
      decrypt: (n, a) => r(n, false, a)
    };
  }));
  function Iw(e, t, r, n, a) {
    const i = a ? a.length : 0, l = e.create(r, n.length + i);
    a && l.update(a);
    const c = (function(x, f, h) {
      const p = new Uint8Array(16), m = hd(p);
      return s8(m, 0, BigInt(f), h), s8(m, 8, BigInt(x), h), p;
    })(8 * n.length, 8 * i, t);
    l.update(n), l.update(c);
    const u = l.digest();
    return vr(c), u;
  }
  const qu = Ec({
    blockSize: 16,
    nonceLength: 12,
    tagLength: 16,
    varSizeNonce: true
  }, (function(e, t, r) {
    if (t.length < 8) throw Error("aes/gcm: invalid nonce length");
    function n(i, l, c) {
      const u = Iw(f3, false, i, c, r);
      for (let x = 0; x < l.length; x++) u[x] ^= l[x];
      return u;
    }
    function a() {
      const i = Ji(e), l = Qu.slice(), c = Qu.slice();
      if (Sl(i, false, c, c, l), t.length === 12) c.set(t);
      else {
        const u = Qu.slice();
        s8(hd(u), 8, BigInt(8 * t.length), false);
        const x = f3.create(l).update(t).update(u);
        x.digestInto(c), x.destroy();
      }
      return {
        xk: i,
        authKey: l,
        counter: c,
        tagMask: Sl(i, false, c, Qu)
      };
    }
    return {
      encrypt(i) {
        const { xk: l, authKey: c, counter: u, tagMask: x } = a(), f = new Uint8Array(i.length + 16), h = [
          l,
          c,
          u,
          x
        ];
        bn(i) || h.push(i = Hr(i)), Sl(l, false, u, i, f.subarray(0, i.length));
        const p = n(c, x, f.subarray(0, f.length - 16));
        return h.push(p), f.set(p, i.length), vr(...h), f;
      },
      decrypt(i) {
        const { xk: l, authKey: c, counter: u, tagMask: x } = a(), f = [
          l,
          c,
          x,
          u
        ];
        bn(i) || f.push(i = Hr(i));
        const h = i.subarray(0, -16), p = i.subarray(-16), m = n(c, x, h);
        if (f.push(m), !Lg(m, p)) throw Error("aes/gcm: invalid ghash tag");
        const y = Sl(l, false, u, h);
        return vr(...f), y;
      }
    };
  }));
  function Wg(e) {
    return e instanceof Uint32Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint32Array";
  }
  function $g(e, t) {
    if (_t(t, 16), !Wg(e)) throw Error("_encryptBlock accepts result of expandKeyLE");
    const r = bt(t);
    let { s0: n, s1: a, s2: i, s3: l } = Gn(e, r[0], r[1], r[2], r[3]);
    return r[0] = n, r[1] = a, r[2] = i, r[3] = l, t;
  }
  function Zg(e, t) {
    if (_t(t, 16), !Wg(e)) throw Error("_decryptBlock accepts result of expandKeyLE");
    const r = bt(t);
    let { s0: n, s1: a, s2: i, s3: l } = pd(e, r[0], r[1], r[2], r[3]);
    return r[0] = n, r[1] = a, r[2] = i, r[3] = l, t;
  }
  const p3 = {
    encrypt(e, t) {
      if (t.length >= 2 ** 32) throw Error("plaintext should be less than 4gb");
      const r = Ji(e);
      if (t.length === 16) $g(r, t);
      else {
        const n = bt(t);
        let a = n[0], i = n[1];
        for (let l = 0, c = 1; l < 6; l++) for (let u = 2; u < n.length; u += 2, c++) {
          const { s0: x, s1: f, s2: h, s3: p } = Gn(r, a, i, n[u], n[u + 1]);
          a = x, i = f ^ h3(c), n[u] = h, n[u + 1] = p;
        }
        n[0] = a, n[1] = i;
      }
      r.fill(0);
    },
    decrypt(e, t) {
      if (t.length - 8 >= 2 ** 32) throw Error("ciphertext should be less than 4gb");
      const r = h9(e), n = t.length / 8 - 1;
      if (n === 1) Zg(r, t);
      else {
        const a = bt(t);
        let i = a[0], l = a[1];
        for (let c = 0, u = 6 * n; c < 6; c++) for (let x = 2 * n; x >= 1; x -= 2, u--) {
          l ^= h3(u);
          const { s0: f, s1: h, s2: p, s3: m } = pd(r, i, l, a[x], a[x + 1]);
          i = f, l = h, a[x] = p, a[x + 1] = m;
        }
        a[0] = i, a[1] = l;
      }
      r.fill(0);
    }
  }, g3 = new Uint8Array(8).fill(166), Yg = Ec({
    blockSize: 8
  }, ((e) => ({
    encrypt(t) {
      if (!t.length || t.length % 8 != 0) throw Error("invalid plaintext length");
      if (t.length === 8) throw Error("8-byte keys not allowed in AESKW, use AESKWP instead");
      const r = (function(...n) {
        let a = 0;
        for (let l = 0; l < n.length; l++) {
          const c = n[l];
          _t(c), a += c.length;
        }
        const i = new Uint8Array(a);
        for (let l = 0, c = 0; l < n.length; l++) {
          const u = n[l];
          i.set(u, c), c += u.length;
        }
        return i;
      })(g3, t);
      return p3.encrypt(e, r), r;
    },
    decrypt(t) {
      if (t.length % 8 != 0 || t.length < 24) throw Error("invalid ciphertext length");
      const r = Hr(t);
      if (p3.decrypt(e, r), !Lg(r.subarray(0, 8), g3)) throw Error("integrity check failed");
      return r.subarray(0, 8).fill(0), r.subarray(8);
    }
  }))), m3 = {
    expandKeyLE: Ji,
    expandKeyDecLE: h9,
    encrypt: Gn,
    decrypt: pd,
    encryptBlock: $g,
    decryptBlock: Zg,
    ctrCounter: Gg,
    ctr32: Sl
  };
  async function Xg(e) {
    switch (e) {
      case A.symmetric.aes128:
      case A.symmetric.aes192:
      case A.symmetric.aes256:
        throw Error("Not a legacy cipher");
      case A.symmetric.cast5:
      case A.symmetric.blowfish:
      case A.symmetric.twofish:
      case A.symmetric.tripledes: {
        const { legacyCiphers: t } = await Promise.resolve().then((function() {
          return kC;
        })), r = A.read(A.symmetric, e), n = t.get(r);
        if (!n) throw Error("Unsupported cipher algorithm");
        return n;
      }
      default:
        throw Error("Unsupported cipher algorithm");
    }
  }
  function Pw(e) {
    switch (e) {
      case A.symmetric.aes128:
      case A.symmetric.aes192:
      case A.symmetric.aes256:
      case A.symmetric.twofish:
        return 16;
      case A.symmetric.blowfish:
      case A.symmetric.cast5:
      case A.symmetric.tripledes:
        return 8;
      default:
        throw Error("Unsupported cipher");
    }
  }
  function Nw(e) {
    switch (e) {
      case A.symmetric.aes128:
      case A.symmetric.blowfish:
      case A.symmetric.cast5:
        return 16;
      case A.symmetric.aes192:
      case A.symmetric.tripledes:
        return 24;
      case A.symmetric.aes256:
      case A.symmetric.twofish:
        return 32;
      default:
        throw Error("Unsupported cipher");
    }
  }
  function gt(e) {
    return {
      keySize: Nw(e),
      blockSize: Pw(e)
    };
  }
  const Y0 = K.getWebCrypto();
  async function u8(e, t, r) {
    const { keySize: n } = gt(e);
    if (!K.isAES(e) || t.length !== n) throw Error("Unexpected algorithm or key size");
    try {
      const a = await Y0.importKey("raw", t, {
        name: "AES-KW"
      }, false, [
        "wrapKey"
      ]), i = await Y0.importKey("raw", r, {
        name: "HMAC",
        hash: "SHA-256"
      }, true, [
        "sign"
      ]), l = await Y0.wrapKey("raw", i, a, {
        name: "AES-KW"
      });
      return new Uint8Array(l);
    } catch (a) {
      if (a.name !== "NotSupportedError" && (t.length !== 24 || a.name !== "OperationError")) throw a;
      K.printDebugError("Browser did not support operation: " + a.message);
    }
    return Yg(t).encrypt(r);
  }
  async function x8(e, t, r) {
    const { keySize: n } = gt(e);
    if (!K.isAES(e) || t.length !== n) throw Error("Unexpected algorithm or key size");
    let a;
    try {
      a = await Y0.importKey("raw", t, {
        name: "AES-KW"
      }, false, [
        "unwrapKey"
      ]);
    } catch (i) {
      if (i.name !== "NotSupportedError" && (t.length !== 24 || i.name !== "OperationError")) throw i;
      return K.printDebugError("Browser did not support operation: " + i.message), Yg(t).decrypt(r);
    }
    try {
      const i = await Y0.unwrapKey("raw", r, a, {
        name: "AES-KW"
      }, {
        name: "HMAC",
        hash: "SHA-256"
      }, true, [
        "sign"
      ]);
      return new Uint8Array(await Y0.exportKey("raw", i));
    } catch (i) {
      throw i.name === "OperationError" ? Error("Key Data Integrity failed") : i;
    }
  }
  async function ei(e, t, r, n, a) {
    const i = K.getWebCrypto(), l = A.read(A.webHash, e);
    if (!l) throw Error("Hash algo not supported with HKDF");
    const c = await i.importKey("raw", t, "HKDF", false, [
      "deriveBits"
    ]), u = await i.deriveBits({
      name: "HKDF",
      hash: l,
      salt: r,
      info: n
    }, c, 8 * a);
    return new Uint8Array(u);
  }
  const Lx = {
    x25519: K.encodeUTF8("OpenPGP X25519"),
    x448: K.encodeUTF8("OpenPGP X448")
  };
  async function p9(e) {
    switch (e) {
      case A.publicKey.x25519:
        try {
          const t = K.getWebCrypto(), r = await t.generateKey("X25519", true, [
            "deriveKey",
            "deriveBits"
          ]).catch(((i) => {
            if (i.name === "OperationError") {
              const l = Error("Unexpected key generation issue");
              throw l.name = "NotSupportedError", l;
            }
            throw i;
          })), n = await t.exportKey("jwk", r.privateKey), a = await t.exportKey("jwk", r.publicKey);
          if (n.x !== a.x) {
            const i = Error("Unexpected mismatching public point");
            throw i.name = "NotSupportedError", i;
          }
          return {
            A: new Uint8Array(Or(a.x)),
            k: Or(n.d)
          };
        } catch (t) {
          if (t.name !== "NotSupportedError") throw t;
          const { default: r } = await Promise.resolve().then((function() {
            return r0;
          })), { secretKey: n, publicKey: a } = r.box.keyPair();
          return {
            A: a,
            k: n
          };
        }
      case A.publicKey.x448: {
        const t = await K.getNobleCurve(A.publicKey.x448), { secretKey: r, publicKey: n } = t.keygen();
        return {
          A: n,
          k: r
        };
      }
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  async function g9(e, t, r) {
    switch (e) {
      case A.publicKey.x25519:
        try {
          const { ephemeralPublicKey: n, sharedSecret: a } = await md(e, t), i = await yd(e, n, t, r);
          return K.equalsUint8Array(a, i);
        } catch {
          return false;
        }
      case A.publicKey.x448: {
        const n = (await K.getNobleCurve(A.publicKey.x448)).getPublicKey(r);
        return K.equalsUint8Array(t, n);
      }
      default:
        return false;
    }
  }
  async function Jg(e, t, r) {
    const { ephemeralPublicKey: n, sharedSecret: a } = await md(e, r), i = K.concatUint8Array([
      n,
      r,
      a
    ]);
    switch (e) {
      case A.publicKey.x25519: {
        const l = A.symmetric.aes128, { keySize: c } = gt(l), u = await ei(A.hash.sha256, i, new Uint8Array(), Lx.x25519, c);
        return {
          ephemeralPublicKey: n,
          wrappedKey: await u8(l, u, t)
        };
      }
      case A.publicKey.x448: {
        const l = A.symmetric.aes256, { keySize: c } = gt(A.symmetric.aes256), u = await ei(A.hash.sha512, i, new Uint8Array(), Lx.x448, c);
        return {
          ephemeralPublicKey: n,
          wrappedKey: await u8(l, u, t)
        };
      }
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  async function em(e, t, r, n, a) {
    const i = await yd(e, t, n, a), l = K.concatUint8Array([
      t,
      n,
      i
    ]);
    switch (e) {
      case A.publicKey.x25519: {
        const c = A.symmetric.aes128, { keySize: u } = gt(c);
        return x8(c, await ei(A.hash.sha256, l, new Uint8Array(), Lx.x25519, u), r);
      }
      case A.publicKey.x448: {
        const c = A.symmetric.aes256, { keySize: u } = gt(A.symmetric.aes256);
        return x8(c, await ei(A.hash.sha512, l, new Uint8Array(), Lx.x448, u), r);
      }
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  function gd(e) {
    switch (e) {
      case A.publicKey.x25519:
        return 32;
      case A.publicKey.x448:
        return 56;
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  async function md(e, t) {
    switch (e) {
      case A.publicKey.x25519:
        try {
          const r = K.getWebCrypto(), n = await r.generateKey("X25519", true, [
            "deriveKey",
            "deriveBits"
          ]).catch(((u) => {
            if (u.name === "OperationError") {
              const x = Error("Unexpected key generation issue");
              throw x.name = "NotSupportedError", x;
            }
            throw u;
          })), a = await r.exportKey("jwk", n.publicKey);
          if ((await r.exportKey("jwk", n.privateKey)).x !== a.x) {
            const u = Error("Unexpected mismatching public point");
            throw u.name = "NotSupportedError", u;
          }
          const i = d8(e, t), l = await r.importKey("jwk", i, "X25519", false, []), c = await r.deriveBits({
            name: "X25519",
            public: l
          }, n.privateKey, 8 * gd(e));
          return {
            sharedSecret: new Uint8Array(c),
            ephemeralPublicKey: new Uint8Array(Or(a.x))
          };
        } catch (r) {
          if (r.name !== "NotSupportedError") throw r;
          const { default: n } = await Promise.resolve().then((function() {
            return r0;
          })), { secretKey: a, publicKey: i } = n.box.keyPair(), l = n.scalarMult(a, t);
          return Ox(l), {
            ephemeralPublicKey: i,
            sharedSecret: l
          };
        }
      case A.publicKey.x448: {
        const r = await K.getNobleCurve(A.publicKey.x448), { secretKey: n, publicKey: a } = r.keygen(), i = r.getSharedSecret(n, t);
        return Ox(i), {
          ephemeralPublicKey: a,
          sharedSecret: i
        };
      }
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  async function yd(e, t, r, n) {
    switch (e) {
      case A.publicKey.x25519:
        try {
          const a = K.getWebCrypto(), i = (function(f, h, p) {
            if (f === A.publicKey.x25519) {
              const m = d8(f, h);
              return m.d = lr(p), m;
            }
            throw Error("Unsupported ECDH algorithm");
          })(e, r, n), l = d8(e, t), c = await a.importKey("jwk", i, "X25519", false, [
            "deriveKey",
            "deriveBits"
          ]), u = await a.importKey("jwk", l, "X25519", false, []), x = await a.deriveBits({
            name: "X25519",
            public: u
          }, c, 8 * gd(e));
          return new Uint8Array(x);
        } catch (a) {
          if (a.name !== "NotSupportedError") throw a;
          const { default: i } = await Promise.resolve().then((function() {
            return r0;
          })), l = i.scalarMult(n, t);
          return Ox(l), l;
        }
      case A.publicKey.x448: {
        const a = (await K.getNobleCurve(A.publicKey.x448)).getSharedSecret(n, t);
        return Ox(a), a;
      }
      default:
        throw Error("Unsupported ECDH algorithm");
    }
  }
  function Ox(e) {
    let t = 0;
    for (let r = 0; r < e.length; r++) t |= e[r];
    if (t === 0) throw Error("Unexpected low order point");
  }
  function d8(e, t) {
    if (e === A.publicKey.x25519) return {
      kty: "OKP",
      crv: "X25519",
      x: lr(t),
      ext: true
    };
    throw Error("Unsupported ECDH algorithm");
  }
  var jw = Object.freeze({
    __proto__: null,
    decrypt: em,
    encrypt: Jg,
    generate: p9,
    generateEphemeralEncryptionMaterial: md,
    getPayloadSize: gd,
    recomputeSharedSecret: yd,
    validateParams: g9
  });
  const sh = K.getWebCrypto(), Hx = K.getNodeCrypto(), pa = {
    [A.curve.nistP256]: "P-256",
    [A.curve.nistP384]: "P-384",
    [A.curve.nistP521]: "P-521"
  }, Na = Hx ? Hx.getCurves() : [], sa = Hx ? {
    [A.curve.secp256k1]: Na.includes("secp256k1") ? "secp256k1" : void 0,
    [A.curve.nistP256]: Na.includes("prime256v1") ? "prime256v1" : void 0,
    [A.curve.nistP384]: Na.includes("secp384r1") ? "secp384r1" : void 0,
    [A.curve.nistP521]: Na.includes("secp521r1") ? "secp521r1" : void 0,
    [A.curve.ed25519Legacy]: Na.includes("ED25519") ? "ED25519" : void 0,
    [A.curve.curve25519Legacy]: Na.includes("X25519") ? "X25519" : void 0,
    [A.curve.brainpoolP256r1]: Na.includes("brainpoolP256r1") ? "brainpoolP256r1" : void 0,
    [A.curve.brainpoolP384r1]: Na.includes("brainpoolP384r1") ? "brainpoolP384r1" : void 0,
    [A.curve.brainpoolP512r1]: Na.includes("brainpoolP512r1") ? "brainpoolP512r1" : void 0
  } : {}, tm = {
    [A.curve.nistP256]: {
      oid: [
        6,
        8,
        42,
        134,
        72,
        206,
        61,
        3,
        1,
        7
      ],
      keyType: A.publicKey.ecdsa,
      hash: A.hash.sha256,
      cipher: A.symmetric.aes128,
      node: sa[A.curve.nistP256],
      web: pa[A.curve.nistP256],
      payloadSize: 32,
      sharedSize: 256,
      wireFormatLeadingByte: 4
    },
    [A.curve.nistP384]: {
      oid: [
        6,
        5,
        43,
        129,
        4,
        0,
        34
      ],
      keyType: A.publicKey.ecdsa,
      hash: A.hash.sha384,
      cipher: A.symmetric.aes192,
      node: sa[A.curve.nistP384],
      web: pa[A.curve.nistP384],
      payloadSize: 48,
      sharedSize: 384,
      wireFormatLeadingByte: 4
    },
    [A.curve.nistP521]: {
      oid: [
        6,
        5,
        43,
        129,
        4,
        0,
        35
      ],
      keyType: A.publicKey.ecdsa,
      hash: A.hash.sha512,
      cipher: A.symmetric.aes256,
      node: sa[A.curve.nistP521],
      web: pa[A.curve.nistP521],
      payloadSize: 66,
      sharedSize: 528,
      wireFormatLeadingByte: 4
    },
    [A.curve.secp256k1]: {
      oid: [
        6,
        5,
        43,
        129,
        4,
        0,
        10
      ],
      keyType: A.publicKey.ecdsa,
      hash: A.hash.sha256,
      cipher: A.symmetric.aes128,
      node: sa[A.curve.secp256k1],
      payloadSize: 32,
      wireFormatLeadingByte: 4
    },
    [A.curve.ed25519Legacy]: {
      oid: [
        6,
        9,
        43,
        6,
        1,
        4,
        1,
        218,
        71,
        15,
        1
      ],
      keyType: A.publicKey.eddsaLegacy,
      hash: A.hash.sha512,
      node: false,
      payloadSize: 32,
      wireFormatLeadingByte: 64
    },
    [A.curve.curve25519Legacy]: {
      oid: [
        6,
        10,
        43,
        6,
        1,
        4,
        1,
        151,
        85,
        1,
        5,
        1
      ],
      keyType: A.publicKey.ecdh,
      hash: A.hash.sha256,
      cipher: A.symmetric.aes128,
      node: false,
      payloadSize: 32,
      wireFormatLeadingByte: 64
    },
    [A.curve.brainpoolP256r1]: {
      oid: [
        6,
        9,
        43,
        36,
        3,
        3,
        2,
        8,
        1,
        1,
        7
      ],
      keyType: A.publicKey.ecdsa,
      hash: A.hash.sha256,
      cipher: A.symmetric.aes128,
      node: sa[A.curve.brainpoolP256r1],
      payloadSize: 32,
      wireFormatLeadingByte: 4
    },
    [A.curve.brainpoolP384r1]: {
      oid: [
        6,
        9,
        43,
        36,
        3,
        3,
        2,
        8,
        1,
        1,
        11
      ],
      keyType: A.publicKey.ecdsa,
      hash: A.hash.sha384,
      cipher: A.symmetric.aes192,
      node: sa[A.curve.brainpoolP384r1],
      payloadSize: 48,
      wireFormatLeadingByte: 4
    },
    [A.curve.brainpoolP512r1]: {
      oid: [
        6,
        9,
        43,
        36,
        3,
        3,
        2,
        8,
        1,
        1,
        13
      ],
      keyType: A.publicKey.ecdsa,
      hash: A.hash.sha512,
      cipher: A.symmetric.aes256,
      node: sa[A.curve.brainpoolP512r1],
      payloadSize: 64,
      wireFormatLeadingByte: 4
    }
  };
  class Bn {
    constructor(t) {
      try {
        this.name = t instanceof Wa ? t.getName() : A.write(A.curve, t);
      } catch {
        throw new st("Unknown curve");
      }
      const r = tm[this.name];
      this.keyType = r.keyType, this.oid = r.oid, this.hash = r.hash, this.cipher = r.cipher, this.node = r.node, this.web = r.web, this.payloadSize = r.payloadSize, this.sharedSize = r.sharedSize, this.wireFormatLeadingByte = r.wireFormatLeadingByte, this.web && K.getWebCrypto() ? this.type = "web" : this.node && K.getNodeCrypto() ? this.type = "node" : this.name === A.curve.curve25519Legacy ? this.type = "curve25519Legacy" : this.name === A.curve.ed25519Legacy && (this.type = "ed25519Legacy");
    }
    async genKeyPair() {
      switch (this.type) {
        case "web":
          try {
            return await (async function(t, r) {
              const n = await sh.generateKey({
                name: "ECDSA",
                namedCurve: pa[t]
              }, true, [
                "sign",
                "verify"
              ]), a = await sh.exportKey("jwk", n.privateKey);
              return {
                publicKey: am(await sh.exportKey("jwk", n.publicKey), r),
                privateKey: Or(a.d)
              };
            })(this.name, this.wireFormatLeadingByte);
          } catch (t) {
            return K.printDebugError("Browser did not support generating ec key " + t.message), y3(this.name);
          }
        case "node":
          return (function(t) {
            const r = Hx.createECDH(sa[t]);
            return r.generateKeys(), {
              publicKey: new Uint8Array(r.getPublicKey()),
              privateKey: new Uint8Array(r.getPrivateKey())
            };
          })(this.name);
        case "curve25519Legacy": {
          const { k: t, A: r } = await p9(A.publicKey.x25519), n = t.slice().reverse();
          return n[0] = 127 & n[0] | 64, n[31] &= 248, {
            publicKey: K.concatUint8Array([
              new Uint8Array([
                this.wireFormatLeadingByte
              ]),
              r
            ]),
            privateKey: n
          };
        }
        case "ed25519Legacy": {
          const { seed: t, A: r } = await o9(A.publicKey.ed25519);
          return {
            publicKey: K.concatUint8Array([
              new Uint8Array([
                this.wireFormatLeadingByte
              ]),
              r
            ]),
            privateKey: t
          };
        }
        default:
          return y3(this.name);
      }
    }
  }
  async function bx(e) {
    const t = new Bn(e), { oid: r, hash: n, cipher: a } = t, i = await t.genKeyPair();
    return {
      oid: r,
      Q: i.publicKey,
      secret: K.leftPad(i.privateKey, t.payloadSize),
      hash: n,
      cipher: a
    };
  }
  function rm(e) {
    return tm[e.getName()].hash;
  }
  async function nm(e, t, r, n) {
    const a = {
      [A.curve.nistP256]: true,
      [A.curve.nistP384]: true,
      [A.curve.nistP521]: true,
      [A.curve.secp256k1]: true,
      [A.curve.curve25519Legacy]: e === A.publicKey.ecdh,
      [A.curve.brainpoolP256r1]: true,
      [A.curve.brainpoolP384r1]: true,
      [A.curve.brainpoolP512r1]: true
    }, i = t.getName();
    if (!a[i]) return false;
    if (i === A.curve.curve25519Legacy) {
      const c = n.slice().reverse();
      return !(r.length < 1 || r[0] !== 64) && g9(A.publicKey.x25519, r.subarray(1), c);
    }
    const l = (await K.getNobleCurve(A.publicKey.ecdsa, i)).getPublicKey(n, false);
    return !!K.equalsUint8Array(l, r);
  }
  function Li(e, t) {
    const { payloadSize: r, wireFormatLeadingByte: n, name: a } = e, i = a === A.curve.curve25519Legacy || a === A.curve.ed25519Legacy ? r : 2 * r;
    if (t[0] !== n || t.length !== i + 1) throw Error("Invalid point encoding");
  }
  async function y3(e) {
    const t = await K.getNobleCurve(A.publicKey.ecdsa, e), { secretKey: r } = t.keygen();
    return {
      publicKey: t.getPublicKey(r, false),
      privateKey: r
    };
  }
  function am(e, t) {
    const r = Or(e.x), n = Or(e.y), a = new Uint8Array(r.length + n.length + 1);
    return a[0] = t, a.set(r, 1), a.set(n, r.length + 1), a;
  }
  function Ed(e, t, r) {
    const n = e, a = r.slice(1, n + 1), i = r.slice(n + 1, 2 * n + 1);
    return {
      kty: "EC",
      crv: t,
      x: lr(a),
      y: lr(i),
      ext: true
    };
  }
  function om(e, t, r, n) {
    const a = Ed(e, t, r);
    return a.d = lr(n), a;
  }
  const Qx = K.getWebCrypto(), im = K.getNodeCrypto();
  async function f8(e, t, r, n, a, i) {
    const l = new Bn(e);
    if (Li(l, n), r && !K.isStream(r)) {
      const u = {
        publicKey: n,
        privateKey: a
      };
      switch (l.type) {
        case "web":
          try {
            return await (async function(x, f, h, p) {
              const m = x.payloadSize, y = om(x.payloadSize, pa[x.name], p.publicKey, p.privateKey), B = await Qx.importKey("jwk", y, {
                name: "ECDSA",
                namedCurve: pa[x.name],
                hash: {
                  name: A.read(A.webHash, x.hash)
                }
              }, false, [
                "sign"
              ]), v = new Uint8Array(await Qx.sign({
                name: "ECDSA",
                namedCurve: pa[x.name],
                hash: {
                  name: A.read(A.webHash, f)
                }
              }, B, h));
              return {
                r: v.slice(0, m),
                s: v.slice(m, m << 1)
              };
            })(l, t, r, u);
          } catch (x) {
            if (l.name !== "nistP521" && (x.name === "DataError" || x.name === "OperationError")) throw x;
            K.printDebugError("Browser did not support signing: " + x.message);
          }
          break;
        case "node":
          return (function(x, f, h, p) {
            const m = K.nodeRequire("eckey-utils"), y = K.getNodeBuffer(), { privateKey: B } = m.generateDer({
              curveName: sa[x.name],
              privateKey: y.from(p)
            }), v = im.createSign(A.read(A.hash, f));
            v.write(h), v.end();
            const D = new Uint8Array(v.sign({
              key: B,
              format: "der",
              type: "sec1",
              dsaEncoding: "ieee-p1363"
            })), P = x.payloadSize;
            return {
              r: D.subarray(0, P),
              s: D.subarray(P, P << 1)
            };
          })(l, t, r, a);
      }
    }
    const c = (await K.getNobleCurve(A.publicKey.ecdsa, l.name)).sign(i, a, {
      lowS: false
    });
    return {
      r: Kt(c.r, "be", l.payloadSize),
      s: Kt(c.s, "be", l.payloadSize)
    };
  }
  async function h8(e, t, r, n, a, i) {
    const l = new Bn(e);
    Li(l, a);
    const c = async () => i[0] === 0 && E3(l, r, i.subarray(1), a);
    if (n && !K.isStream(n)) switch (l.type) {
      case "web":
        try {
          return await (async function(x, f, { r: h, s: p }, m, y) {
            const B = Ed(x.payloadSize, pa[x.name], y), v = await Qx.importKey("jwk", B, {
              name: "ECDSA",
              namedCurve: pa[x.name],
              hash: {
                name: A.read(A.webHash, x.hash)
              }
            }, false, [
              "verify"
            ]), D = K.concatUint8Array([
              h,
              p
            ]).buffer;
            return Qx.verify({
              name: "ECDSA",
              namedCurve: pa[x.name],
              hash: {
                name: A.read(A.webHash, f)
              }
            }, v, D, m);
          })(l, t, r, n, a) || c();
        } catch (u) {
          if (l.name !== "nistP521" && (u.name === "DataError" || u.name === "OperationError")) throw u;
          K.printDebugError("Browser did not support verifying: " + u.message);
        }
        break;
      case "node":
        return (function(x, f, { r: h, s: p }, m, y) {
          const B = K.nodeRequire("eckey-utils"), v = K.getNodeBuffer(), { publicKey: D } = B.generateDer({
            curveName: sa[x.name],
            publicKey: v.from(y)
          }), P = im.createVerify(A.read(A.hash, f));
          P.write(m), P.end();
          const k = K.concatUint8Array([
            h,
            p
          ]);
          try {
            return P.verify({
              key: D,
              format: "der",
              type: "spki",
              dsaEncoding: "ieee-p1363"
            }, k);
          } catch {
            return false;
          }
        })(l, t, r, n, a) || c();
    }
    return await E3(l, r, i, a) || c();
  }
  async function E3(e, t, r, n) {
    return (await K.getNobleCurve(A.publicKey.ecdsa, e.name)).verify(K.concatUint8Array([
      t.r,
      t.s
    ]), r, n, {
      lowS: false
    });
  }
  var zw = Object.freeze({
    __proto__: null,
    sign: f8,
    validateParams: async function(e, t, r) {
      const n = new Bn(e);
      if (n.keyType !== A.publicKey.ecdsa) return false;
      switch (n.type) {
        case "web":
        case "node": {
          const a = ur(8), i = A.hash.sha256, l = await Aa(i, a);
          try {
            const c = await f8(e, i, a, t, r, l);
            return await h8(e, i, c, a, t, l);
          } catch {
            return false;
          }
        }
        default:
          return nm(A.publicKey.ecdsa, e, t, r);
      }
    },
    verify: h8
  });
  async function sm(e, t, r, n, a, i) {
    if (Li(new Bn(e), n), Wt(t) < Wt(A.hash.sha256)) throw Error("Hash algorithm too weak for EdDSA.");
    const { RS: l } = await i9(A.publicKey.ed25519, t, 0, n.subarray(1), a, i);
    return {
      r: l.subarray(0, 32),
      s: l.subarray(32)
    };
  }
  async function lm(e, t, { r, s: n }, a, i, l) {
    if (Li(new Bn(e), i), Wt(t) < Wt(A.hash.sha256)) throw Error("Hash algorithm too weak for EdDSA.");
    const c = K.concatUint8Array([
      r,
      n
    ]);
    return s9(A.publicKey.ed25519, t, {
      RS: c
    }, 0, i.subarray(1), l);
  }
  async function cm(e, t, r) {
    return e.getName() === A.curve.ed25519Legacy && !(t.length < 1 || t[0] !== 64) && l9(A.publicKey.ed25519, t.subarray(1), r);
  }
  var Uw = Object.freeze({
    __proto__: null,
    sign: sm,
    validateParams: cm,
    verify: lm
  });
  function Tw(e) {
    const t = e.length;
    if (t > 0) {
      const r = e[t - 1];
      if (r >= 1) {
        const n = e.subarray(t - r), a = new Uint8Array(r).fill(r);
        if (K.equalsUint8Array(n, a)) return e.subarray(0, t - r);
      }
    }
    throw Error("Invalid padding");
  }
  function um(e, t, r, n) {
    return K.concatUint8Array([
      t.write(),
      new Uint8Array([
        e
      ]),
      r.write(),
      K.stringToUint8Array("Anonymous Sender    "),
      n
    ]);
  }
  async function xm(e, t, r, n, a = false, i = false) {
    let l;
    if (a) {
      for (l = 0; l < t.length && t[l] === 0; l++) ;
      t = t.subarray(l);
    }
    if (i) {
      for (l = t.length - 1; l >= 0 && t[l] === 0; l--) ;
      t = t.subarray(0, l + 1);
    }
    return (await Aa(e, K.concatUint8Array([
      new Uint8Array([
        0,
        0,
        0,
        1
      ]),
      t,
      n
    ]))).subarray(0, r);
  }
  async function Rw(e, t) {
    switch (e.type) {
      case "curve25519Legacy": {
        const { sharedSecret: r, ephemeralPublicKey: n } = await md(A.publicKey.x25519, t.subarray(1));
        return {
          publicKey: K.concatUint8Array([
            new Uint8Array([
              e.wireFormatLeadingByte
            ]),
            n
          ]),
          sharedKey: r
        };
      }
      case "web":
        if (e.web && K.getWebCrypto()) try {
          return await (async function(r, n) {
            const a = K.getWebCrypto(), i = Ed(r.payloadSize, r.web, n);
            let l = a.generateKey({
              name: "ECDH",
              namedCurve: r.web
            }, true, [
              "deriveKey",
              "deriveBits"
            ]), c = a.importKey("jwk", i, {
              name: "ECDH",
              namedCurve: r.web
            }, false, []);
            [l, c] = await Promise.all([
              l,
              c
            ]);
            let u = a.deriveBits({
              name: "ECDH",
              namedCurve: r.web,
              public: c
            }, l.privateKey, r.sharedSize), x = a.exportKey("jwk", l.publicKey);
            [u, x] = await Promise.all([
              u,
              x
            ]);
            const f = new Uint8Array(u);
            return {
              publicKey: new Uint8Array(am(x, r.wireFormatLeadingByte)),
              sharedKey: f
            };
          })(e, t);
        } catch (r) {
          return K.printDebugError(r), b3(e, t);
        }
        break;
      case "node":
        return (function(r, n) {
          const a = K.getNodeCrypto(), i = a.createECDH(r.node);
          i.generateKeys();
          const l = new Uint8Array(i.computeSecret(n));
          return {
            publicKey: new Uint8Array(i.getPublicKey()),
            sharedKey: l
          };
        })(e, t);
      default:
        return b3(e, t);
    }
  }
  async function dm(e, t, r, n, a) {
    const i = (function(p) {
      const m = 8 - p.length % 8, y = new Uint8Array(p.length + m).fill(m);
      return y.set(p), y;
    })(r), l = new Bn(e);
    Li(l, n);
    const { publicKey: c, sharedKey: u } = await Rw(l, n), x = um(A.publicKey.ecdh, e, t, a), { keySize: f } = gt(t.cipher), h = await xm(t.hash, u, f, x);
    return {
      publicKey: c,
      wrappedKey: await u8(t.cipher, h, i)
    };
  }
  async function Kw(e, t, r, n) {
    if (n.length !== e.payloadSize) {
      const a = new Uint8Array(e.payloadSize);
      a.set(n, e.payloadSize - n.length), n = a;
    }
    switch (e.type) {
      case "curve25519Legacy": {
        const a = n.slice().reverse();
        return {
          secretKey: a,
          sharedKey: await yd(A.publicKey.x25519, t.subarray(1), r.subarray(1), a)
        };
      }
      case "web":
        if (e.web && K.getWebCrypto()) try {
          return await (async function(a, i, l, c) {
            const u = K.getWebCrypto(), x = om(a.payloadSize, a.web, l, c);
            let f = u.importKey("jwk", x, {
              name: "ECDH",
              namedCurve: a.web
            }, true, [
              "deriveKey",
              "deriveBits"
            ]);
            const h = Ed(a.payloadSize, a.web, i);
            let p = u.importKey("jwk", h, {
              name: "ECDH",
              namedCurve: a.web
            }, true, []);
            [f, p] = await Promise.all([
              f,
              p
            ]);
            let m = u.deriveBits({
              name: "ECDH",
              namedCurve: a.web,
              public: p
            }, f, a.sharedSize), y = u.exportKey("jwk", f);
            [m, y] = await Promise.all([
              m,
              y
            ]);
            const B = new Uint8Array(m);
            return {
              secretKey: Or(y.d),
              sharedKey: B
            };
          })(e, t, r, n);
        } catch (a) {
          return K.printDebugError(a), A3(e, t, n);
        }
        break;
      case "node":
        return (function(a, i, l) {
          const c = K.getNodeCrypto(), u = c.createECDH(a.node);
          u.setPrivateKey(l);
          const x = new Uint8Array(u.computeSecret(i));
          return {
            secretKey: new Uint8Array(u.getPrivateKey()),
            sharedKey: x
          };
        })(e, t, n);
      default:
        return A3(e, t, n);
    }
  }
  async function fm(e, t, r, n, a, i, l) {
    const c = new Bn(e);
    Li(c, a), Li(c, r);
    const { sharedKey: u } = await Kw(c, r, a, i), x = um(A.publicKey.ecdh, e, t, l), { keySize: f } = gt(t.cipher);
    let h;
    for (let p = 0; p < 3; p++) try {
      const m = await xm(t.hash, u, f, x, p === 1, p === 2);
      return Tw(await x8(t.cipher, m, n));
    } catch (m) {
      h = m;
    }
    throw h;
  }
  async function A3(e, t, r) {
    return {
      secretKey: r,
      sharedKey: (await K.getNobleCurve(A.publicKey.ecdh, e.name)).getSharedSecret(r, t).subarray(1)
    };
  }
  async function b3(e, t) {
    const r = await K.getNobleCurve(A.publicKey.ecdh, e.name), { publicKey: n, privateKey: a } = await e.genKeyPair();
    return {
      publicKey: n,
      sharedKey: r.getSharedSecret(a, t).subarray(1)
    };
  }
  var Mw = Object.freeze({
    __proto__: null,
    CurveWithOID: Bn,
    ecdh: Object.freeze({
      __proto__: null,
      decrypt: fm,
      encrypt: dm,
      validateParams: async function(e, t, r) {
        return nm(A.publicKey.ecdh, e, t, r);
      }
    }),
    ecdhX: jw,
    ecdsa: zw,
    eddsa: Cw,
    eddsaLegacy: Uw,
    generate: bx,
    getPreferredHashAlgo: rm
  });
  const wx = BigInt(0), _l = BigInt(1);
  class hm {
    constructor(t) {
      t && (this.data = t);
    }
    read(t) {
      if (t.length >= 1) {
        const r = t[0];
        if (t.length >= 1 + r) return this.data = t.subarray(1, 1 + r), 1 + this.data.length;
      }
      throw Error("Invalid symmetric key");
    }
    write() {
      return K.concatUint8Array([
        new Uint8Array([
          this.data.length
        ]),
        this.data
      ]);
    }
  }
  class pm {
    constructor(t) {
      if (t) {
        const { hash: r, cipher: n } = t;
        this.hash = r, this.cipher = n;
      } else this.hash = null, this.cipher = null;
    }
    read(t) {
      if (t.length < 4 || t[0] !== 3 || t[1] !== 1) throw new st("Cannot read KDFParams");
      return this.hash = t[2], this.cipher = t[3], 4;
    }
    write() {
      return new Uint8Array([
        3,
        1,
        this.hash,
        this.cipher
      ]);
    }
  }
  class Ad {
    static fromObject({ wrappedKey: t, algorithm: r }) {
      const n = new Ad();
      return n.wrappedKey = t, n.algorithm = r, n;
    }
    read(t) {
      let r = 0, n = t[r++];
      this.algorithm = n % 2 ? t[r++] : null, n -= n % 2, this.wrappedKey = K.readExactSubarray(t, r, r + n), r += n;
    }
    write() {
      return K.concatUint8Array([
        this.algorithm ? new Uint8Array([
          this.wrappedKey.length + 1,
          this.algorithm
        ]) : new Uint8Array([
          this.wrappedKey.length
        ]),
        this.wrappedKey
      ]);
    }
  }
  async function Lw(e, t, r, n, a) {
    switch (e) {
      case A.publicKey.rsaEncrypt:
      case A.publicKey.rsaEncryptSign: {
        const { n: i, e: l } = r;
        return {
          c: await Aw(n, i, l)
        };
      }
      case A.publicKey.elgamal: {
        const { p: i, g: l, y: c } = r;
        return (async function(u, x, f, h) {
          x = je(x), f = je(f), h = je(h);
          const p = je(Ng(u, Gr(x))), m = $o(Oo, x - Oo);
          return {
            c1: Kt(ar(f, m, x)),
            c2: Kt(Xe(ar(h, m, x) * p, x))
          };
        })(n, i, l, c);
      }
      case A.publicKey.ecdh: {
        const { oid: i, Q: l, kdfParams: c } = r, { publicKey: u, wrappedKey: x } = await dm(i, c, n, l, a);
        return {
          V: u,
          C: new hm(x)
        };
      }
      case A.publicKey.x25519:
      case A.publicKey.x448: {
        if (t && !K.isAES(t)) throw Error("X25519 and X448 keys can only encrypt AES session keys");
        const { A: i } = r, { ephemeralPublicKey: l, wrappedKey: c } = await Jg(e, n, i);
        return {
          ephemeralPublicKey: l,
          C: Ad.fromObject({
            algorithm: t,
            wrappedKey: c
          })
        };
      }
      default:
        return [];
    }
  }
  async function Ow(e, t, r, n, a, i) {
    switch (e) {
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.rsaEncrypt: {
        const { c: l } = n, { n: c, e: u } = t, { d: x, p: f, q: h, u: p } = r;
        return bw(l, c, u, x, f, h, p, i);
      }
      case A.publicKey.elgamal: {
        const { c1: l, c2: c } = n;
        return (async function(u, x, f, h, p) {
          return u = je(u), x = je(x), f = je(f), jg(Kt(Xe(es(ar(u, h = je(h), f), f) * x, f), "be", Gr(f)), p);
        })(l, c, t.p, r.x, i);
      }
      case A.publicKey.ecdh: {
        const { oid: l, Q: c, kdfParams: u } = t, { d: x } = r, { V: f, C: h } = n;
        return fm(l, u, f, h.data, c, x, a);
      }
      case A.publicKey.x25519:
      case A.publicKey.x448: {
        const { A: l } = t, { k: c } = r, { ephemeralPublicKey: u, C: x } = n;
        if (x.algorithm !== null && !K.isAES(x.algorithm)) throw Error("AES session key expected");
        return em(e, u, x.wrappedKey, l, c);
      }
      default:
        throw Error("Unknown public key encryption algorithm.");
    }
  }
  function w3(e, t, r) {
    let n = 0;
    switch (e) {
      case A.publicKey.rsaEncrypt:
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.rsaSign: {
        const a = K.readMPI(t.subarray(n));
        n += a.length + 2;
        const i = K.readMPI(t.subarray(n));
        n += i.length + 2;
        const l = K.readMPI(t.subarray(n));
        n += l.length + 2;
        const c = K.readMPI(t.subarray(n));
        return n += c.length + 2, {
          read: n,
          privateParams: {
            d: a,
            p: i,
            q: l,
            u: c
          }
        };
      }
      case A.publicKey.dsa:
      case A.publicKey.elgamal: {
        const a = K.readMPI(t.subarray(n));
        return n += a.length + 2, {
          read: n,
          privateParams: {
            x: a
          }
        };
      }
      case A.publicKey.ecdsa:
      case A.publicKey.ecdh: {
        const a = Q0(e, r.oid);
        let i = K.readMPI(t.subarray(n));
        return n += i.length + 2, i = K.leftPad(i, a), {
          read: n,
          privateParams: {
            d: i
          }
        };
      }
      case A.publicKey.eddsaLegacy: {
        const a = Q0(e, r.oid);
        if (r.oid.getName() !== A.curve.ed25519Legacy) throw Error("Unexpected OID for eddsaLegacy");
        let i = K.readMPI(t.subarray(n));
        return n += i.length + 2, i = K.leftPad(i, a), {
          read: n,
          privateParams: {
            seed: i
          }
        };
      }
      case A.publicKey.ed25519:
      case A.publicKey.ed448: {
        const a = Q0(e), i = K.readExactSubarray(t, n, n + a);
        return n += i.length, {
          read: n,
          privateParams: {
            seed: i
          }
        };
      }
      case A.publicKey.x25519:
      case A.publicKey.x448: {
        const a = Q0(e), i = K.readExactSubarray(t, n, n + a);
        return n += i.length, {
          read: n,
          privateParams: {
            k: i
          }
        };
      }
      default:
        throw new st("Unknown public key encryption algorithm.");
    }
  }
  function rs(e, t) {
    const r = /* @__PURE__ */ new Set([
      A.publicKey.ed25519,
      A.publicKey.x25519,
      A.publicKey.ed448,
      A.publicKey.x448
    ]), n = Object.keys(t).map(((a) => {
      const i = t[a];
      return K.isUint8Array(i) ? r.has(e) ? i : K.uint8ArrayToMPI(i) : i.write();
    }));
    return K.concatUint8Array(n);
  }
  function Hw(e, t, r) {
    switch (e) {
      case A.publicKey.rsaEncrypt:
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.rsaSign:
        return (async function(n, a) {
          if (a = BigInt(a), K.getWebCrypto()) {
            const x = {
              name: "RSASSA-PKCS1-v1_5",
              modulusLength: n,
              publicExponent: Kt(a),
              hash: {
                name: "SHA-1"
              }
            }, f = await ts.generateKey(x, true, [
              "sign",
              "verify"
            ]);
            return x3(await ts.exportKey("jwk", f.privateKey), a);
          }
          if (K.getNodeCrypto()) {
            const x = {
              modulusLength: n,
              publicExponent: r8(a),
              publicKeyEncoding: {
                type: "pkcs1",
                format: "jwk"
              },
              privateKeyEncoding: {
                type: "pkcs1",
                format: "jwk"
              }
            }, f = await new Promise(((h, p) => {
              Mi.generateKeyPair("rsa", x, ((m, y, B) => {
                m ? p(m) : h(B);
              }));
            }));
            return x3(f, a);
          }
          let i, l, c;
          do
            l = c3(n - (n >> 1), a, 40), i = c3(n >> 1, a, 40), c = i * l;
          while (Z0(c) !== n);
          const u = (i - Jo) * (l - Jo);
          return l < i && ([i, l] = [
            l,
            i
          ]), {
            n: Kt(c),
            e: Kt(a),
            d: Kt(es(a, u)),
            p: Kt(i),
            q: Kt(l),
            u: Kt(es(i, l))
          };
        })(t, 65537).then((({ n, e: a, d: i, p: l, q: c, u }) => ({
          privateParams: {
            d: i,
            p: l,
            q: c,
            u
          },
          publicParams: {
            n,
            e: a
          }
        })));
      case A.publicKey.ecdsa:
        return bx(r).then((({ oid: n, Q: a, secret: i }) => ({
          privateParams: {
            d: i
          },
          publicParams: {
            oid: new Wa(n),
            Q: a
          }
        })));
      case A.publicKey.eddsaLegacy:
        return bx(r).then((({ oid: n, Q: a, secret: i }) => ({
          privateParams: {
            seed: i
          },
          publicParams: {
            oid: new Wa(n),
            Q: a
          }
        })));
      case A.publicKey.ecdh:
        return bx(r).then((({ oid: n, Q: a, secret: i, hash: l, cipher: c }) => ({
          privateParams: {
            d: i
          },
          publicParams: {
            oid: new Wa(n),
            Q: a,
            kdfParams: new pm({
              hash: l,
              cipher: c
            })
          }
        })));
      case A.publicKey.ed25519:
      case A.publicKey.ed448:
        return o9(e).then((({ A: n, seed: a }) => ({
          privateParams: {
            seed: a
          },
          publicParams: {
            A: n
          }
        })));
      case A.publicKey.x25519:
      case A.publicKey.x448:
        return p9(e).then((({ A: n, k: a }) => ({
          privateParams: {
            k: a
          },
          publicParams: {
            A: n
          }
        })));
      case A.publicKey.dsa:
      case A.publicKey.elgamal:
        throw Error("Unsupported algorithm for key generation.");
      default:
        throw Error("Unknown public key algorithm.");
    }
  }
  async function Qw(e, t, r) {
    if (!t || !r) throw Error("Missing key parameters");
    switch (e) {
      case A.publicKey.rsaEncrypt:
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.rsaSign: {
        const { n, e: a } = t, { d: i, p: l, q: c, u } = r;
        return (async function(x, f, h, p, m, y) {
          if (x = je(x), (p = je(p)) * (m = je(m)) !== x) return false;
          const B = BigInt(2);
          if (Xe(p * (y = je(y)), m) !== BigInt(1)) return false;
          f = je(f), h = je(h);
          const v = $o(B, B << BigInt(Math.floor(Z0(x) / 3))), D = v * h * f;
          return !(Xe(D, p - Jo) !== v || Xe(D, m - Jo) !== v);
        })(n, a, i, l, c, u);
      }
      case A.publicKey.dsa: {
        const { p: n, q: a, g: i, y: l } = t, { x: c } = r;
        return (async function(u, x, f, h, p) {
          const m = je(u), y = je(x), B = je(f), v = je(h);
          if (B <= _l || B >= m || Xe(m - _l, y) !== wx || ar(B, y, m) !== _l) return false;
          const D = BigInt(Z0(y));
          if (D < BigInt(150) || !Pg(y, null, 32)) return false;
          const P = je(p), k = BigInt(2);
          return v === ar(B, y * $o(k << D - _l, k << D) + P, m);
        })(n, a, i, l, c);
      }
      case A.publicKey.elgamal: {
        const { p: n, g: a, y: i } = t, { x: l } = r;
        return (async function(c, u, x, f) {
          const h = je(c), p = je(u), m = je(x);
          if (p <= Oo || p >= h) return false;
          const y = BigInt(Z0(h));
          if (y < BigInt(1023) || ar(p, h - Oo, h) !== Oo) return false;
          let B = p, v = BigInt(1);
          const D = BigInt(2), P = D << BigInt(17);
          for (; v < P; ) {
            if (B = Xe(B * p, h), B === Oo) return false;
            v++;
          }
          const k = je(f), w = $o(D << y - Oo, D << y);
          return m === ar(p, (h - Oo) * w + k, h);
        })(n, a, i, l);
      }
      case A.publicKey.ecdsa:
      case A.publicKey.ecdh: {
        const n = Mw[A.read(A.publicKey, e)], { oid: a, Q: i } = t, { d: l } = r;
        return n.validateParams(a, i, l);
      }
      case A.publicKey.eddsaLegacy: {
        const { Q: n, oid: a } = t, { seed: i } = r;
        return cm(a, n, i);
      }
      case A.publicKey.ed25519:
      case A.publicKey.ed448: {
        const { A: n } = t, { seed: a } = r;
        return l9(e, n, a);
      }
      case A.publicKey.x25519:
      case A.publicKey.x448: {
        const { A: n } = t, { k: a } = r;
        return g9(e, n, a);
      }
      default:
        throw Error("Unknown public key algorithm.");
    }
  }
  function p8(e) {
    const { keySize: t } = gt(e);
    return ur(t);
  }
  function lh(e) {
    try {
      e.getName();
    } catch {
      throw new st("Unknown curve OID");
    }
  }
  function Q0(e, t) {
    switch (e) {
      case A.publicKey.ecdsa:
      case A.publicKey.ecdh:
      case A.publicKey.eddsaLegacy:
        return new Bn(t).payloadSize;
      case A.publicKey.ed25519:
      case A.publicKey.ed448:
        return dd(e);
      case A.publicKey.x25519:
      case A.publicKey.x448:
        return gd(e);
      default:
        throw Error("Unknown elliptic algo");
    }
  }
  const vx = K.getWebCrypto(), Zl = K.getNodeCrypto(), Bi = Zl ? Zl.getCiphers() : [], qx = {
    idea: Bi.includes("idea-cfb") ? "idea-cfb" : void 0,
    tripledes: Bi.includes("des-ede3-cfb") ? "des-ede3-cfb" : void 0,
    cast5: Bi.includes("cast5-cfb") ? "cast5-cfb" : void 0,
    blowfish: Bi.includes("bf-cfb") ? "bf-cfb" : void 0,
    aes128: Bi.includes("aes-128-cfb") ? "aes-128-cfb" : void 0,
    aes192: Bi.includes("aes-192-cfb") ? "aes-192-cfb" : void 0,
    aes256: Bi.includes("aes-256-cfb") ? "aes-256-cfb" : void 0
  };
  function gm(e) {
    const { blockSize: t } = gt(e), r = ur(t), n = new Uint8Array([
      r[r.length - 2],
      r[r.length - 1]
    ]);
    return K.concat([
      r,
      n
    ]);
  }
  async function Yl(e, t, r, n, a) {
    const i = A.read(A.symmetric, e);
    if (K.getNodeCrypto() && qx[i]) return (function(h, p, m, y) {
      const B = A.read(A.symmetric, h), v = new Zl.createCipheriv(qx[B], p, y);
      return Ot(m, ((D) => new Uint8Array(v.update(D))));
    })(e, t, r, n);
    if (K.isAES(e)) return (async function(h, p, m, y) {
      if (vx && await v3.isSupported(h)) {
        const B = new v3(h, p, y);
        return K.isStream(m) ? e8(m, ((v) => B.encryptChunk(v)), (() => B.finish())) : B.encrypt(m);
      }
      if (K.isStream(m)) {
        const B = new mm(true, h, p, y);
        return e8(m, ((v) => B.processChunk(v)), (() => B.finish()));
      }
      return Vg(p, y).encrypt(m);
    })(e, t, r, n);
    const l = new (await Xg(e))(t), c = l.blockSize, u = n.slice();
    let x = new Uint8Array();
    const f = (h) => {
      h && (x = K.concatUint8Array([
        x,
        h
      ]));
      const p = new Uint8Array(x.length);
      let m, y = 0;
      for (; h ? x.length >= c : x.length; ) {
        const B = l.encrypt(u);
        for (m = 0; m < c; m++) u[m] = x[m] ^ B[m], p[y++] = u[m];
        x = x.subarray(c);
      }
      return p.subarray(0, y);
    };
    return Ot(r, f, f);
  }
  async function bd(e, t, r, n) {
    const a = A.read(A.symmetric, e);
    if (Zl && qx[a]) return (function(f, h, p, m) {
      const y = A.read(A.symmetric, f), B = new Zl.createDecipheriv(qx[y], h, m);
      return Ot(p, ((v) => new Uint8Array(B.update(v))));
    })(e, t, r, n);
    if (K.isAES(e)) return (function(f, h, p, m) {
      if (K.isStream(p)) {
        const y = new mm(false, f, h, m);
        return e8(p, ((B) => y.processChunk(B)), (() => y.finish()));
      }
      return Vg(h, m).decrypt(p);
    })(e, t, r, n);
    const i = new (await Xg(e))(t), l = i.blockSize;
    let c = n, u = new Uint8Array();
    const x = (f) => {
      f && (u = K.concatUint8Array([
        u,
        f
      ]));
      const h = new Uint8Array(u.length);
      let p, m = 0;
      for (; f ? u.length >= l : u.length; ) {
        const y = i.encrypt(c);
        for (c = u.subarray(0, l), p = 0; p < l; p++) h[m++] = c[p] ^ y[p];
        u = u.subarray(l);
      }
      return h.subarray(0, m);
    };
    return Ot(r, x, x);
  }
  class v3 {
    constructor(t, r, n) {
      const { blockSize: a } = gt(t);
      this.key = r, this.prevBlock = n, this.nextBlock = new Uint8Array(a), this.i = 0, this.blockSize = a, this.zeroBlock = new Uint8Array(this.blockSize);
    }
    static isSupported(t) {
      const { keySize: r } = gt(t);
      return vx.importKey("raw", new Uint8Array(r), "aes-cbc", false, [
        "encrypt"
      ]).then((() => true), (() => false));
    }
    async _runCBC(t, r) {
      const n = "AES-CBC";
      this.keyRef = this.keyRef || await vx.importKey("raw", this.key, n, false, [
        "encrypt"
      ]);
      const a = await vx.encrypt({
        name: n,
        iv: r || this.zeroBlock
      }, this.keyRef, t);
      return new Uint8Array(a).subarray(0, t.length);
    }
    async encryptChunk(t) {
      const r = this.nextBlock.length - this.i, n = t.subarray(0, r);
      if (this.nextBlock.set(n, this.i), this.i + t.length >= 2 * this.blockSize) {
        const i = (t.length - r) % this.blockSize, l = K.concatUint8Array([
          this.nextBlock,
          t.subarray(r, t.length - i)
        ]), c = K.concatUint8Array([
          this.prevBlock,
          l.subarray(0, l.length - this.blockSize)
        ]), u = await this._runCBC(c);
        return Gu(u, l), this.prevBlock = u.slice(-this.blockSize), i > 0 && this.nextBlock.set(t.subarray(-i)), this.i = i, u;
      }
      let a;
      if (this.i += n.length, this.i === this.nextBlock.length) {
        const i = this.nextBlock;
        a = await this._runCBC(this.prevBlock), Gu(a, i), this.prevBlock = a.slice(), this.i = 0;
        const l = t.subarray(n.length);
        this.nextBlock.set(l, this.i), this.i += l.length;
      } else a = new Uint8Array();
      return a;
    }
    async finish() {
      let t;
      if (this.i === 0) t = new Uint8Array();
      else {
        this.nextBlock = this.nextBlock.subarray(0, this.i);
        const r = this.nextBlock, n = await this._runCBC(this.prevBlock);
        Gu(n, r), t = n.subarray(0, r.length);
      }
      return this.clearSensitiveData(), t;
    }
    clearSensitiveData() {
      this.nextBlock.fill(0), this.prevBlock.fill(0), this.keyRef = null, this.key = null;
    }
    async encrypt(t) {
      const r = (await this._runCBC(K.concatUint8Array([
        new Uint8Array(this.blockSize),
        t
      ]), this.iv)).subarray(0, t.length);
      return Gu(r, t), this.clearSensitiveData(), r;
    }
  }
  class mm {
    constructor(t, r, n, a) {
      this.forEncryption = t;
      const { blockSize: i } = gt(r);
      this.key = m3.expandKeyLE(n), a.byteOffset % 4 != 0 && (a = a.slice()), this.prevBlock = ch(a), this.nextBlock = new Uint8Array(i), this.i = 0, this.blockSize = i;
    }
    _runCFB(t) {
      const r = ch(t), n = new Uint8Array(t.length), a = ch(n);
      for (let i = 0; i + 4 <= a.length; i += 4) {
        const { s0: l, s1: c, s2: u, s3: x } = m3.encrypt(this.key, this.prevBlock[0], this.prevBlock[1], this.prevBlock[2], this.prevBlock[3]);
        a[i + 0] = r[i + 0] ^ l, a[i + 1] = r[i + 1] ^ c, a[i + 2] = r[i + 2] ^ u, a[i + 3] = r[i + 3] ^ x, this.prevBlock = (this.forEncryption ? a : r).slice(i, i + 4);
      }
      return n;
    }
    async processChunk(t) {
      const r = this.nextBlock.length - this.i, n = t.subarray(0, r);
      if (this.nextBlock.set(n, this.i), this.i + t.length >= 2 * this.blockSize) {
        const i = (t.length - r) % this.blockSize, l = K.concatUint8Array([
          this.nextBlock,
          t.subarray(r, t.length - i)
        ]), c = this._runCFB(l);
        return i > 0 && this.nextBlock.set(t.subarray(-i)), this.i = i, c;
      }
      let a;
      if (this.i += n.length, this.i === this.nextBlock.length) {
        a = this._runCFB(this.nextBlock), this.i = 0;
        const i = t.subarray(n.length);
        this.nextBlock.set(i, this.i), this.i += i.length;
      } else a = new Uint8Array();
      return a;
    }
    async finish() {
      let t;
      return this.i === 0 ? t = new Uint8Array() : t = this._runCFB(this.nextBlock).subarray(0, this.i), this.clearSensitiveData(), t;
    }
    clearSensitiveData() {
      this.nextBlock.fill(0), this.prevBlock.fill(0), this.key.fill(0);
    }
  }
  function Gu(e, t) {
    const r = Math.min(e.length, t.length);
    for (let n = 0; n < r; n++) e[n] = e[n] ^ t[n];
  }
  const ch = (e) => new Uint32Array(e.buffer, e.byteOffset, Math.floor(e.byteLength / 4)), B3 = K.getWebCrypto(), qw = K.getNodeCrypto(), Ui = 16;
  function C3(e, t) {
    const r = e.length - Ui;
    for (let n = 0; n < Ui; n++) e[n + r] ^= t[n];
    return e;
  }
  const Bx = new Uint8Array(Ui);
  async function Gw(e) {
    const t = await Vw(e), r = K.double(await t(Bx)), n = K.double(r);
    return async function(a) {
      return (await t((function(i, l, c) {
        if (i.length && i.length % Ui == 0) return C3(i, l);
        const u = new Uint8Array(i.length + (Ui - i.length % Ui));
        return u.set(i), u[i.length] = 128, C3(u, c);
      })(a, r, n))).subarray(-16);
    };
  }
  async function Vw(e) {
    if (K.getNodeCrypto()) return async function(t) {
      const r = new qw.createCipheriv("aes-" + 8 * e.length + "-cbc", e, Bx).update(t);
      return new Uint8Array(r);
    };
    if (K.getWebCrypto()) try {
      return e = await B3.importKey("raw", e, {
        name: "AES-CBC",
        length: 8 * e.length
      }, false, [
        "encrypt"
      ]), async function(t) {
        const r = await B3.encrypt({
          name: "AES-CBC",
          iv: Bx,
          length: 128
        }, e, t);
        return new Uint8Array(r).subarray(0, r.byteLength - Ui);
      };
    } catch (t) {
      if (t.name !== "NotSupportedError" && (e.length !== 24 || t.name !== "OperationError")) throw t;
      K.printDebugError("Browser did not support operation: " + t.message);
    }
    return async function(t) {
      return c8(e, Bx, {
        disablePadding: true
      }).encrypt(t);
    };
  }
  const k3 = K.getWebCrypto(), Ww = K.getNodeCrypto(), $w = K.getNodeBuffer(), Ac = 16, Cx = Ac, D3 = new Uint8Array(Ac), g8 = new Uint8Array(Ac);
  g8[15] = 1;
  const m8 = new Uint8Array(Ac);
  async function Zw(e) {
    const t = await Gw(e);
    return function(r, n) {
      return t(K.concatUint8Array([
        r,
        n
      ]));
    };
  }
  async function Yw(e) {
    if (K.getNodeCrypto()) return async function(t, r) {
      const n = new Ww.createCipheriv("aes-" + 8 * e.length + "-ctr", e, r), a = $w.concat([
        n.update(t),
        n.final()
      ]);
      return new Uint8Array(a);
    };
    if (K.getWebCrypto()) try {
      const t = await k3.importKey("raw", e, {
        name: "AES-CTR",
        length: 8 * e.length
      }, false, [
        "encrypt"
      ]);
      return async function(r, n) {
        const a = await k3.encrypt({
          name: "AES-CTR",
          counter: n,
          length: 128
        }, t, r);
        return new Uint8Array(a);
      };
    } catch (t) {
      if (t.name !== "NotSupportedError" && (e.length !== 24 || t.name !== "OperationError")) throw t;
      K.printDebugError("Browser did not support operation: " + t.message);
    }
    return async function(t, r) {
      return _w(e, r).encrypt(t);
    };
  }
  async function Il(e, t) {
    if (e !== A.symmetric.aes128 && e !== A.symmetric.aes192 && e !== A.symmetric.aes256) throw Error("EAX mode supports only AES cipher");
    const [r, n] = await Promise.all([
      Zw(t),
      Yw(t)
    ]);
    return {
      encrypt: async function(a, i, l) {
        const [c, u] = await Promise.all([
          r(D3, i),
          r(g8, l)
        ]), x = await n(a, c), f = await r(m8, x);
        for (let h = 0; h < Cx; h++) f[h] ^= u[h] ^ c[h];
        return K.concatUint8Array([
          x,
          f
        ]);
      },
      decrypt: async function(a, i, l) {
        if (a.length < Cx) throw Error("Invalid EAX ciphertext");
        const c = a.subarray(0, -16), u = a.subarray(-16), [x, f, h] = await Promise.all([
          r(D3, i),
          r(g8, l),
          r(m8, c)
        ]), p = h;
        for (let m = 0; m < Cx; m++) p[m] ^= f[m] ^ x[m];
        if (!K.equalsUint8Array(u, p)) throw Error("Authentication tag mismatch");
        return await n(c, x);
      }
    };
  }
  m8[15] = 2, Il.getNonce = function(e, t) {
    const r = e.slice();
    for (let n = 0; n < t.length; n++) r[8 + n] ^= t[n];
    return r;
  }, Il.blockLength = Ac, Il.ivLength = 16, Il.tagLength = Cx;
  const Jr = 16, y8 = 16;
  function F3(e) {
    let t = 0;
    for (let r = 1; !(e & r); r <<= 1) t++;
    return t;
  }
  function Rr(e, t) {
    for (let r = 0; r < e.length; r++) e[r] ^= t[r];
    return e;
  }
  function Vu(e, t) {
    return Rr(e.slice(), t);
  }
  const dl = new Uint8Array(Jr), Xw = new Uint8Array([
    1
  ]);
  async function Pl(e, t) {
    const { keySize: r } = gt(e);
    if (!K.isAES(e) || t.length !== r) throw Error("Unexpected algorithm or key size");
    let n = 0;
    const a = (u) => c8(t, dl, {
      disablePadding: true
    }).encrypt(u), i = (u) => c8(t, dl, {
      disablePadding: true
    }).decrypt(u);
    let l;
    function c(u, x, f, h) {
      const p = x.length / Jr | 0;
      (function(N, U) {
        const C = K.nbits(Math.max(N.length, U.length) / Jr | 0) - 1;
        for (let z = n + 1; z <= C; z++) l[z] = K.double(l[z - 1]);
        n = C;
      })(x, h);
      const m = K.concatUint8Array([
        dl.subarray(0, 15 - f.length),
        Xw,
        f
      ]), y = 63 & m[15];
      m[15] &= 192;
      const B = a(m), v = K.concatUint8Array([
        B,
        Vu(B.subarray(0, 8), B.subarray(1, 9))
      ]), D = K.shiftRight(v.subarray(0 + (y >> 3), 17 + (y >> 3)), 8 - (7 & y)).subarray(1), P = new Uint8Array(Jr), k = new Uint8Array(x.length + y8);
      let w, _ = 0;
      for (w = 0; w < p; w++) Rr(D, l[F3(w + 1)]), k.set(Rr(u(Vu(D, x)), D), _), Rr(P, u === a ? x : k.subarray(_)), x = x.subarray(Jr), _ += Jr;
      if (x.length) {
        Rr(D, l.x);
        const N = a(D);
        k.set(Vu(x, N), _);
        const U = new Uint8Array(Jr);
        U.set(u === a ? x : k.subarray(_, -16), 0), U[x.length] = 128, Rr(P, U), _ += x.length;
      }
      const T = Rr(a(Rr(Rr(P, D), l.$)), (function(N) {
        if (!N.length) return dl;
        const U = N.length / Jr | 0, C = new Uint8Array(Jr), z = new Uint8Array(Jr);
        for (let I = 0; I < U; I++) Rr(C, l[F3(I + 1)]), Rr(z, a(Vu(C, N))), N = N.subarray(Jr);
        if (N.length) {
          Rr(C, l.x);
          const I = new Uint8Array(Jr);
          I.set(N, 0), I[N.length] = 128, Rr(I, C), Rr(z, a(I));
        }
        return z;
      })(h));
      return k.set(T, _), k;
    }
    return (function() {
      const u = a(dl), x = K.double(u);
      l = [], l[0] = K.double(x), l.x = u, l.$ = x;
    })(), {
      encrypt: async function(u, x, f) {
        return c(a, u, x, f);
      },
      decrypt: async function(u, x, f) {
        if (u.length < y8) throw Error("Invalid OCB ciphertext");
        const h = u.subarray(-16);
        u = u.subarray(0, -16);
        const p = c(i, u, x, f);
        if (K.equalsUint8Array(h, p.subarray(-16))) return p.subarray(0, -16);
        throw Error("Authentication tag mismatch");
      }
    };
  }
  Pl.getNonce = function(e, t) {
    const r = e.slice();
    for (let n = 0; n < t.length; n++) r[7 + n] ^= t[n];
    return r;
  }, Pl.blockLength = Jr, Pl.ivLength = 15, Pl.tagLength = y8;
  const uh = K.getWebCrypto(), S3 = K.getNodeCrypto(), _3 = K.getNodeBuffer(), kx = 16, xh = "AES-GCM";
  async function q0(e, t) {
    if (e !== A.symmetric.aes128 && e !== A.symmetric.aes192 && e !== A.symmetric.aes256) throw Error("GCM mode supports only AES cipher");
    if (K.getNodeCrypto()) return {
      encrypt: async function(r, n, a = new Uint8Array()) {
        const i = new S3.createCipheriv("aes-" + 8 * t.length + "-gcm", t, n);
        i.setAAD(a);
        const l = _3.concat([
          i.update(r),
          i.final(),
          i.getAuthTag()
        ]);
        return new Uint8Array(l);
      },
      decrypt: async function(r, n, a = new Uint8Array()) {
        const i = new S3.createDecipheriv("aes-" + 8 * t.length + "-gcm", t, n);
        i.setAAD(a), i.setAuthTag(r.slice(r.length - kx, r.length));
        const l = _3.concat([
          i.update(r.slice(0, r.length - kx)),
          i.final()
        ]);
        return new Uint8Array(l);
      }
    };
    if (K.getWebCrypto()) try {
      const r = await uh.importKey("raw", t, {
        name: xh
      }, false, [
        "encrypt",
        "decrypt"
      ]), n = navigator.userAgent.match(/Version\/13\.\d(\.\d)* Safari/) || navigator.userAgent.match(/Version\/(13|14)\.\d(\.\d)* Mobile\/\S* Safari/);
      return {
        encrypt: async function(a, i, l = new Uint8Array()) {
          if (n && !a.length) return qu(t, i, l).encrypt(a);
          const c = await uh.encrypt({
            name: xh,
            iv: i,
            additionalData: l,
            tagLength: 128
          }, r, a);
          return new Uint8Array(c);
        },
        decrypt: async function(a, i, l = new Uint8Array()) {
          if (n && a.length === kx) return qu(t, i, l).decrypt(a);
          try {
            const c = await uh.decrypt({
              name: xh,
              iv: i,
              additionalData: l,
              tagLength: 128
            }, r, a);
            return new Uint8Array(c);
          } catch (c) {
            if (c.name === "OperationError") throw Error("Authentication tag mismatch");
          }
        }
      };
    } catch (r) {
      if (r.name !== "NotSupportedError" && (t.length !== 24 || r.name !== "OperationError")) throw r;
      K.printDebugError("Browser did not support operation: " + r.message);
    }
    return {
      encrypt: async function(r, n, a) {
        return qu(t, n, a).encrypt(r);
      },
      decrypt: async function(r, n, a) {
        return qu(t, n, a).decrypt(r);
      }
    };
  }
  function $a(e, t = false) {
    switch (e) {
      case A.aead.eax:
        return Il;
      case A.aead.ocb:
        return Pl;
      case A.aead.gcm:
        return q0;
      case A.aead.experimentalGCM:
        if (!t) throw Error("Unexpected non-standard `experimentalGCM` AEAD algorithm provided in `config.preferredAEADAlgorithm`: use `gcm` instead");
        return q0;
      default:
        throw Error("Unsupported AEAD mode");
    }
  }
  async function Jw(e, t, r, n, a, i) {
    switch (e) {
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.rsaEncrypt:
      case A.publicKey.rsaSign: {
        const { n: l, e: c } = n;
        return Ew(t, a, K.leftPad(r.s, l.length), l, c, i);
      }
      case A.publicKey.dsa: {
        const { g: l, p: c, q: u, y: x } = n, { r: f, s: h } = r;
        return (async function(p, m, y, B, v, D, P, k) {
          if (m = je(m), y = je(y), D = je(D), P = je(P), v = je(v), k = je(k), m <= wx || m >= P || y <= wx || y >= P) return K.printDebug("invalid DSA Signature"), false;
          const w = Xe(je(B.subarray(0, Gr(P))), P), _ = es(y, P);
          if (_ === wx) return K.printDebug("invalid DSA Signature"), false;
          v = Xe(v, D), k = Xe(k, D);
          const T = Xe(w * _, P), N = Xe(m * _, P);
          return Xe(Xe(ar(v, T, D) * ar(k, N, D), D), P) === m;
        })(0, f, h, i, l, c, u, x);
      }
      case A.publicKey.ecdsa: {
        const { oid: l, Q: c } = n, u = new Bn(l).payloadSize;
        return h8(l, t, {
          r: K.leftPad(r.r, u),
          s: K.leftPad(r.s, u)
        }, a, c, i);
      }
      case A.publicKey.eddsaLegacy: {
        const { oid: l, Q: c } = n, u = new Bn(l).payloadSize;
        return lm(l, t, {
          r: K.leftPad(r.r, u),
          s: K.leftPad(r.s, u)
        }, 0, c, i);
      }
      case A.publicKey.ed25519:
      case A.publicKey.ed448: {
        const { A: l } = n;
        return s9(e, t, r, 0, l, i);
      }
      default:
        throw Error("Unknown signature algorithm.");
    }
  }
  async function ev(e, t, r, n, a, i) {
    if (!r || !n) throw Error("Missing key parameters");
    switch (e) {
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.rsaEncrypt:
      case A.publicKey.rsaSign: {
        const { n: l, e: c } = r, { d: u, p: x, q: f, u: h } = n;
        return {
          s: await yw(t, a, l, c, u, x, f, h, i)
        };
      }
      case A.publicKey.dsa: {
        const { g: l, p: c, q: u } = r, { x } = n;
        return (async function(f, h, p, m, y, B) {
          const v = BigInt(0);
          let D, P, k, w;
          m = je(m), y = je(y), p = je(p), B = je(B), p = Xe(p, m), B = Xe(B, y);
          const _ = Xe(je(h.subarray(0, Gr(y))), y);
          for (; ; ) {
            if (D = $o(_l, y), P = Xe(ar(p, D, m), y), P === v) continue;
            const T = Xe(B * P, y);
            if (w = Xe(_ + T, y), k = Xe(es(D, y) * w, y), k !== v) break;
          }
          return {
            r: Kt(P, "be", Gr(m)),
            s: Kt(k, "be", Gr(m))
          };
        })(0, i, l, c, u, x);
      }
      case A.publicKey.elgamal:
        throw Error("Signing with Elgamal is not defined in the OpenPGP standard.");
      case A.publicKey.ecdsa: {
        const { oid: l, Q: c } = r, { d: u } = n;
        return f8(l, t, a, c, u, i);
      }
      case A.publicKey.eddsaLegacy: {
        const { oid: l, Q: c } = r, { seed: u } = n;
        return sm(l, t, 0, c, u, i);
      }
      case A.publicKey.ed25519:
      case A.publicKey.ed448: {
        const { A: l } = r, { seed: c } = n;
        return i9(e, t, 0, l, c, i);
      }
      default:
        throw Error("Unknown signature algorithm.");
    }
  }
  q0.getNonce = function(e, t) {
    const r = e.slice();
    for (let n = 0; n < t.length; n++) r[4 + n] ^= t[n];
    return r;
  }, q0.blockLength = 16, q0.ivLength = 12, q0.tagLength = kx;
  class wd extends Error {
    constructor(...t) {
      super(...t), Error.captureStackTrace && Error.captureStackTrace(this, wd), this.name = "Argon2OutOfMemoryError";
    }
  }
  let Wu, fl;
  class tv {
    constructor(t = Be) {
      const { passes: r, parallelism: n, memoryExponent: a } = t.s2kArgon2Params;
      this.type = "argon2", this.salt = null, this.t = r, this.p = n, this.encodedM = a;
    }
    generateSalt() {
      this.salt = ur(16);
    }
    read(t) {
      let r = 0;
      return this.salt = t.subarray(r, r + 16), r += 16, this.t = t[r++], this.p = t[r++], this.encodedM = t[r++], r;
    }
    write() {
      const t = [
        new Uint8Array([
          A.write(A.s2k, this.type)
        ]),
        this.salt,
        new Uint8Array([
          this.t,
          this.p,
          this.encodedM
        ])
      ];
      return K.concatUint8Array(t);
    }
    async produceKey(t, r) {
      const n = 2 << this.encodedM - 1;
      try {
        Wu = Wu || (await Promise.resolve().then((function() {
          return jC;
        }))).default, fl = fl || Wu();
        const a = await fl, i = a({
          version: 19,
          type: 2,
          password: K.encodeUTF8(t),
          salt: this.salt,
          tagLength: r,
          memorySize: n,
          parallelism: this.p,
          passes: this.t
        });
        return n > 1048576 && (fl = Wu(), fl.catch((() => {
        }))), i;
      } catch (a) {
        throw a.message && (a.message.includes("Unable to grow instance memory") || a.message.includes("failed to grow memory") || a.message.includes("WebAssembly.Memory.grow") || a.message.includes("Out of memory")) ? new wd("Could not allocate required memory for Argon2") : a;
      }
    }
  }
  class rv {
    constructor(t, r = Be) {
      this.algorithm = A.hash.sha256, this.type = A.read(A.s2k, t), this.c = r.s2kIterationCountByte, this.salt = null;
    }
    generateSalt() {
      switch (this.type) {
        case "salted":
        case "iterated":
          this.salt = ur(8);
      }
    }
    getCount() {
      return 16 + (15 & this.c) << 6 + (this.c >> 4);
    }
    read(t) {
      let r = 0;
      switch (this.algorithm = t[r++], this.type) {
        case "simple":
          break;
        case "salted":
          this.salt = t.subarray(r, r + 8), r += 8;
          break;
        case "iterated":
          this.salt = t.subarray(r, r + 8), r += 8, this.c = t[r++];
          break;
        case "gnu":
          if (K.uint8ArrayToString(t.subarray(r, r + 3)) !== "GNU") throw new st("Unknown s2k type.");
          if (r += 3, 1e3 + t[r++] !== 1001) throw new st("Unknown s2k gnu protection mode.");
          this.type = "gnu-dummy";
          break;
        default:
          throw new st("Unknown s2k type.");
      }
      return r;
    }
    write() {
      if (this.type === "gnu-dummy") return new Uint8Array([
        101,
        0,
        ...K.stringToUint8Array("GNU"),
        1
      ]);
      const t = [
        new Uint8Array([
          A.write(A.s2k, this.type),
          this.algorithm
        ])
      ];
      switch (this.type) {
        case "simple":
          break;
        case "salted":
          t.push(this.salt);
          break;
        case "iterated":
          t.push(this.salt), t.push(new Uint8Array([
            this.c
          ]));
          break;
        case "gnu":
          throw Error("GNU s2k type not supported.");
        default:
          throw Error("Unknown s2k type.");
      }
      return K.concatUint8Array(t);
    }
    async produceKey(t, r) {
      t = K.encodeUTF8(t);
      const n = [];
      let a = 0, i = 0;
      for (; a < r; ) {
        let l;
        switch (this.type) {
          case "simple":
            l = K.concatUint8Array([
              new Uint8Array(i),
              t
            ]);
            break;
          case "salted":
            l = K.concatUint8Array([
              new Uint8Array(i),
              this.salt,
              t
            ]);
            break;
          case "iterated": {
            const u = K.concatUint8Array([
              this.salt,
              t
            ]);
            let x = u.length;
            const f = Math.max(this.getCount(), x);
            l = new Uint8Array(i + f), l.set(u, i);
            for (let h = i + x; h < f; h += x, x *= 2) l.copyWithin(h, i, h);
            break;
          }
          case "gnu":
            throw Error("GNU s2k type not supported.");
          default:
            throw Error("Unknown s2k type.");
        }
        const c = await Aa(this.algorithm, l);
        n.push(c), a += c.length, i++;
      }
      return K.concatUint8Array(n).subarray(0, r);
    }
  }
  const nv = /* @__PURE__ */ new Set([
    A.s2k.argon2,
    A.s2k.iterated
  ]);
  function Gx(e, t = Be) {
    switch (e) {
      case A.s2k.argon2:
        return new tv(t);
      case A.s2k.iterated:
      case A.s2k.gnu:
      case A.s2k.salted:
      case A.s2k.simple:
        return new rv(e, t);
      default:
        throw new st("Unsupported S2K type");
    }
  }
  function ym(e) {
    const { s2kType: t } = e;
    if (!nv.has(t)) throw Error("The provided `config.s2kType` value is not allowed");
    return Gx(t, e);
  }
  var Rt = Uint8Array, rn = Uint16Array, m9 = Int32Array, vd = new Rt([
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1,
    1,
    1,
    1,
    2,
    2,
    2,
    2,
    3,
    3,
    3,
    3,
    4,
    4,
    4,
    4,
    5,
    5,
    5,
    5,
    0,
    0,
    0,
    0
  ]), Bd = new Rt([
    0,
    0,
    0,
    0,
    1,
    1,
    2,
    2,
    3,
    3,
    4,
    4,
    5,
    5,
    6,
    6,
    7,
    7,
    8,
    8,
    9,
    9,
    10,
    10,
    11,
    11,
    12,
    12,
    13,
    13,
    0,
    0
  ]), E8 = new Rt([
    16,
    17,
    18,
    0,
    8,
    7,
    9,
    6,
    10,
    5,
    11,
    4,
    12,
    3,
    13,
    2,
    14,
    1,
    15
  ]), Em = function(e, t) {
    for (var r = new rn(31), n = 0; n < 31; ++n) r[n] = t += 1 << e[n - 1];
    var a = new m9(r[30]);
    for (n = 1; n < 30; ++n) for (var i = r[n]; i < r[n + 1]; ++i) a[i] = i - r[n] << 5 | n;
    return {
      b: r,
      r: a
    };
  }, Am = Em(vd, 2), bm = Am.b, A8 = Am.r;
  bm[28] = 258, A8[258] = 28;
  for (var I3 = Em(Bd, 0), av = I3.b, P3 = I3.r, b8 = new rn(32768), Ct = 0; Ct < 32768; ++Ct) {
    var Ci = (43690 & Ct) >> 1 | (21845 & Ct) << 1;
    Ci = (61680 & (Ci = (52428 & Ci) >> 2 | (13107 & Ci) << 2)) >> 4 | (3855 & Ci) << 4, b8[Ct] = ((65280 & Ci) >> 8 | (255 & Ci) << 8) >> 1;
  }
  var ga = function(e, t, r) {
    for (var n = e.length, a = 0, i = new rn(t); a < n; ++a) e[a] && ++i[e[a] - 1];
    var l, c = new rn(t);
    for (a = 1; a < t; ++a) c[a] = c[a - 1] + i[a - 1] << 1;
    if (r) {
      l = new rn(1 << t);
      var u = 15 - t;
      for (a = 0; a < n; ++a) if (e[a]) for (var x = a << 4 | e[a], f = t - e[a], h = c[e[a] - 1]++ << f, p = h | (1 << f) - 1; h <= p; ++h) l[b8[h] >> u] = x;
    } else for (l = new rn(n), a = 0; a < n; ++a) e[a] && (l[a] = b8[c[e[a] - 1]++] >> 15 - e[a]);
    return l;
  }, ti = new Rt(288);
  for (Ct = 0; Ct < 144; ++Ct) ti[Ct] = 8;
  for (Ct = 144; Ct < 256; ++Ct) ti[Ct] = 9;
  for (Ct = 256; Ct < 280; ++Ct) ti[Ct] = 7;
  for (Ct = 280; Ct < 288; ++Ct) ti[Ct] = 8;
  var Xl = new Rt(32);
  for (Ct = 0; Ct < 32; ++Ct) Xl[Ct] = 5;
  var ov = ga(ti, 9, 0), iv = ga(ti, 9, 1), sv = ga(Xl, 5, 0), lv = ga(Xl, 5, 1), dh = function(e) {
    for (var t = e[0], r = 1; r < e.length; ++r) e[r] > t && (t = e[r]);
    return t;
  }, Rn = function(e, t, r) {
    var n = t / 8 | 0;
    return (e[n] | e[n + 1] << 8) >> (7 & t) & r;
  }, fh = function(e, t) {
    var r = t / 8 | 0;
    return (e[r] | e[r + 1] << 8 | e[r + 2] << 16) >> (7 & t);
  }, y9 = function(e) {
    return (e + 7) / 8 | 0;
  }, Nl = function(e, t, r) {
    return (t == null || t < 0) && (t = 0), (r == null || r > e.length) && (r = e.length), new Rt(e.subarray(t, r));
  }, cv = [
    "unexpected EOF",
    "invalid block type",
    "invalid length/literal",
    "invalid distance",
    "stream finished",
    "no stream handler",
    ,
    "no callback",
    "invalid UTF-8 data",
    "extra field too long",
    "date not in range 1980-2099",
    "filename too long",
    "stream finishing",
    "invalid zip data"
  ], tr = function(e, t, r) {
    var n = Error(t || cv[e]);
    if (n.code = e, Error.captureStackTrace && Error.captureStackTrace(n, tr), !r) throw n;
    return n;
  }, ja = function(e, t, r) {
    r <<= 7 & t;
    var n = t / 8 | 0;
    e[n] |= r, e[n + 1] |= r >> 8;
  }, hl = function(e, t, r) {
    r <<= 7 & t;
    var n = t / 8 | 0;
    e[n] |= r, e[n + 1] |= r >> 8, e[n + 2] |= r >> 16;
  }, hh = function(e, t) {
    for (var r = [], n = 0; n < e.length; ++n) e[n] && r.push({
      s: n,
      f: e[n]
    });
    var a = r.length, i = r.slice();
    if (!a) return {
      t: vm,
      l: 0
    };
    if (a == 1) {
      var l = new Rt(r[0].s + 1);
      return l[r[0].s] = 1, {
        t: l,
        l: 1
      };
    }
    r.sort((function(_, T) {
      return _.f - T.f;
    })), r.push({
      s: -1,
      f: 25001
    });
    var c = r[0], u = r[1], x = 0, f = 1, h = 2;
    for (r[0] = {
      s: -1,
      f: c.f + u.f,
      l: c,
      r: u
    }; f != a - 1; ) c = r[r[x].f < r[h].f ? x++ : h++], u = r[x != f && r[x].f < r[h].f ? x++ : h++], r[f++] = {
      s: -1,
      f: c.f + u.f,
      l: c,
      r: u
    };
    var p = i[0].s;
    for (n = 1; n < a; ++n) i[n].s > p && (p = i[n].s);
    var m = new rn(p + 1), y = w8(r[f - 1], m, 0);
    if (y > t) {
      n = 0;
      var B = 0, v = y - t, D = 1 << v;
      for (i.sort((function(_, T) {
        return m[T.s] - m[_.s] || _.f - T.f;
      })); n < a; ++n) {
        var P = i[n].s;
        if (!(m[P] > t)) break;
        B += D - (1 << y - m[P]), m[P] = t;
      }
      for (B >>= v; B > 0; ) {
        var k = i[n].s;
        m[k] < t ? B -= 1 << t - m[k]++ - 1 : ++n;
      }
      for (; n >= 0 && B; --n) {
        var w = i[n].s;
        m[w] == t && (--m[w], ++B);
      }
      y = t;
    }
    return {
      t: new Rt(m),
      l: y
    };
  }, w8 = function(e, t, r) {
    return e.s == -1 ? Math.max(w8(e.l, t, r + 1), w8(e.r, t, r + 1)) : t[e.s] = r;
  }, N3 = function(e) {
    for (var t = e.length; t && !e[--t]; ) ;
    for (var r = new rn(++t), n = 0, a = e[0], i = 1, l = function(u) {
      r[n++] = u;
    }, c = 1; c <= t; ++c) if (e[c] == a && c != t) ++i;
    else {
      if (!a && i > 2) {
        for (; i > 138; i -= 138) l(32754);
        i > 2 && (l(i > 10 ? i - 11 << 5 | 28690 : i - 3 << 5 | 12305), i = 0);
      } else if (i > 3) {
        for (l(a), --i; i > 6; i -= 6) l(8304);
        i > 2 && (l(i - 3 << 5 | 8208), i = 0);
      }
      for (; i--; ) l(a);
      i = 1, a = e[c];
    }
    return {
      c: r.subarray(0, n),
      n: t
    };
  }, pl = function(e, t) {
    for (var r = 0, n = 0; n < t.length; ++n) r += e[n] * t[n];
    return r;
  }, wm = function(e, t, r) {
    var n = r.length, a = y9(t + 2);
    e[a] = 255 & n, e[a + 1] = n >> 8, e[a + 2] = 255 ^ e[a], e[a + 3] = 255 ^ e[a + 1];
    for (var i = 0; i < n; ++i) e[a + i + 4] = r[i];
    return 8 * (a + 4 + n);
  }, j3 = function(e, t, r, n, a, i, l, c, u, x, f) {
    ja(t, f++, r), ++a[256];
    for (var h = hh(a, 15), p = h.t, m = h.l, y = hh(i, 15), B = y.t, v = y.l, D = N3(p), P = D.c, k = D.n, w = N3(B), _ = w.c, T = w.n, N = new rn(19), U = 0; U < P.length; ++U) ++N[31 & P[U]];
    for (U = 0; U < _.length; ++U) ++N[31 & _[U]];
    for (var C = hh(N, 7), z = C.t, I = C.l, R = 19; R > 4 && !z[E8[R - 1]]; --R) ;
    var L, O, W, $, X = x + 5 << 3, Y = pl(a, ti) + pl(i, Xl) + l, Q = pl(a, p) + pl(i, B) + l + 14 + 3 * R + pl(N, z) + 2 * N[16] + 3 * N[17] + 7 * N[18];
    if (u >= 0 && X <= Y && X <= Q) return wm(t, f, e.subarray(u, u + x));
    if (ja(t, f, 1 + (Q < Y)), f += 2, Q < Y) {
      L = ga(p, m, 0), O = p, W = ga(B, v, 0), $ = B;
      var V = ga(z, I, 0);
      for (ja(t, f, k - 257), ja(t, f + 5, T - 1), ja(t, f + 10, R - 4), f += 14, U = 0; U < R; ++U) ja(t, f + 3 * U, z[E8[U]]);
      f += 3 * R;
      for (var M = [
        P,
        _
      ], G = 0; G < 2; ++G) {
        var ee = M[G];
        for (U = 0; U < ee.length; ++U) {
          var te = 31 & ee[U];
          ja(t, f, V[te]), f += z[te], te > 15 && (ja(t, f, ee[U] >> 5 & 127), f += ee[U] >> 12);
        }
      }
    } else L = ov, O = ti, W = sv, $ = Xl;
    for (U = 0; U < c; ++U) {
      var oe = n[U];
      if (oe > 255) {
        hl(t, f, L[(te = oe >> 18 & 31) + 257]), f += O[te + 257], te > 7 && (ja(t, f, oe >> 23 & 31), f += vd[te]);
        var ie = 31 & oe;
        hl(t, f, W[ie]), f += $[ie], ie > 3 && (hl(t, f, oe >> 5 & 8191), f += Bd[ie]);
      } else hl(t, f, L[oe]), f += O[oe];
    }
    return hl(t, f, L[256]), f + O[256];
  }, uv = new m9([
    65540,
    131080,
    131088,
    131104,
    262176,
    1048704,
    1048832,
    2114560,
    2117632
  ]), vm = new Rt(0), z3 = function() {
    var e = 1, t = 0;
    return {
      p: function(r) {
        for (var n = e, a = t, i = 0 | r.length, l = 0; l != i; ) {
          for (var c = Math.min(l + 2655, i); l < c; ++l) a += n += r[l];
          n = (65535 & n) + 15 * (n >> 16), a = (65535 & a) + 15 * (a >> 16);
        }
        e = n, t = a;
      },
      d: function() {
        return (255 & (e %= 65521)) << 24 | (65280 & e) << 8 | (255 & (t %= 65521)) << 8 | t >> 8;
      }
    };
  }, Bm = function(e, t, r, n, a) {
    if (!a && (a = {
      l: 1
    }, t.dictionary)) {
      var i = t.dictionary.subarray(-32768), l = new Rt(i.length + e.length);
      l.set(i), l.set(e, i.length), e = l, a.w = i.length;
    }
    return (function(c, u, x, f, h, p) {
      var m = p.z || c.length, y = new Rt(f + m + 5 * (1 + Math.ceil(m / 7e3)) + h), B = y.subarray(f, y.length - h), v = p.l, D = 7 & (p.r || 0);
      if (u) {
        D && (B[0] = p.r >> 3);
        for (var P = uv[u - 1], k = P >> 13, w = 8191 & P, _ = (1 << x) - 1, T = p.p || new rn(32768), N = p.h || new rn(_ + 1), U = Math.ceil(x / 3), C = 2 * U, z = function(ft) {
          return (c[ft] ^ c[ft + 1] << U ^ c[ft + 2] << C) & _;
        }, I = new m9(25e3), R = new rn(288), L = new rn(32), O = 0, W = 0, $ = p.i || 0, X = 0, Y = p.w || 0, Q = 0; $ + 2 < m; ++$) {
          var V = z($), M = 32767 & $, G = N[V];
          if (T[M] = G, N[V] = M, Y <= $) {
            var ee = m - $;
            if ((O > 7e3 || X > 24576) && (ee > 423 || !v)) {
              D = j3(c, B, 0, I, R, L, W, X, Q, $ - Q, D), X = O = W = 0, Q = $;
              for (var te = 0; te < 286; ++te) R[te] = 0;
              for (te = 0; te < 30; ++te) L[te] = 0;
            }
            var oe = 2, ie = 0, xe = w, de = M - G & 32767;
            if (ee > 2 && V == z($ - de)) for (var he = Math.min(k, ee) - 1, be = Math.min(32767, $), ve = Math.min(258, ee); de <= be && --xe && M != G; ) {
              if (c[$ + oe] == c[$ + oe - de]) {
                for (var Ce = 0; Ce < ve && c[$ + Ce] == c[$ + Ce - de]; ++Ce) ;
                if (Ce > oe) {
                  if (oe = Ce, ie = de, Ce > he) break;
                  var Ie = Math.min(de, Ce - 2), Ue = 0;
                  for (te = 0; te < Ie; ++te) {
                    var ge = $ - de + te & 32767, ke = ge - T[ge] & 32767;
                    ke > Ue && (Ue = ke, G = ge);
                  }
                }
              }
              de += (M = G) - (G = T[M]) & 32767;
            }
            if (ie) {
              I[X++] = 268435456 | A8[oe] << 18 | P3[ie];
              var ze = 31 & A8[oe], Qe = 31 & P3[ie];
              W += vd[ze] + Bd[Qe], ++R[257 + ze], ++L[Qe], Y = $ + oe, ++O;
            } else I[X++] = c[$], ++R[c[$]];
          }
        }
        for ($ = Math.max($, Y); $ < m; ++$) I[X++] = c[$], ++R[c[$]];
        D = j3(c, B, v, I, R, L, W, X, Q, $ - Q, D), v || (p.r = 7 & D | B[D / 8 | 0] << 3, D -= 7, p.h = N, p.p = T, p.i = $, p.w = Y);
      } else {
        for ($ = p.w || 0; $ < m + v; $ += 65535) {
          var Le = $ + 65535;
          Le >= m && (B[D / 8 | 0] = v, Le = m), D = wm(B, D + 1, c.subarray($, Le));
        }
        p.i = m;
      }
      return Nl(y, 0, f + y9(D) + h);
    })(e, t.level == null ? 6 : t.level, t.mem == null ? a.l ? Math.ceil(1.5 * Math.max(8, Math.min(13, Math.log(e.length)))) : 20 : 12 + t.mem, r, n, a);
  }, U3 = function(e, t, r) {
    for (; r; ++t) e[t] = r, r >>>= 8;
  }, Dx = (function() {
    function e(t, r) {
      if (typeof t == "function" && (r = t, t = {}), this.ondata = r, this.o = t || {}, this.s = {
        l: 0,
        i: 32768,
        w: 32768,
        z: 32768
      }, this.b = new Rt(98304), this.o.dictionary) {
        var n = this.o.dictionary.subarray(-32768);
        this.b.set(n, 32768 - n.length), this.s.i = 32768 - n.length;
      }
    }
    return e.prototype.p = function(t, r) {
      this.ondata(Bm(t, this.o, 0, 0, this.s), r);
    }, e.prototype.push = function(t, r) {
      this.ondata || tr(5), this.s.l && tr(4);
      var n = t.length + this.s.z;
      if (n > this.b.length) {
        if (n > 2 * this.b.length - 32768) {
          var a = new Rt(-32768 & n);
          a.set(this.b.subarray(0, this.s.z)), this.b = a;
        }
        var i = this.b.length - this.s.z;
        this.b.set(t.subarray(0, i), this.s.z), this.s.z = this.b.length, this.p(this.b, false), this.b.set(this.b.subarray(-32768)), this.b.set(t.subarray(i), 32768), this.s.z = t.length - i + 32768, this.s.i = 32766, this.s.w = 32768;
      } else this.b.set(t, this.s.z), this.s.z += t.length;
      this.s.l = 1 & r, (this.s.z > this.s.w + 8191 || r) && (this.p(this.b, r || false), this.s.w = this.s.i, this.s.i -= 2);
    }, e.prototype.flush = function() {
      this.ondata || tr(5), this.s.l && tr(4), this.p(this.b, false), this.s.w = this.s.i, this.s.i -= 2;
    }, e;
  })(), Fx = (function() {
    function e(t, r) {
      typeof t == "function" && (r = t, t = {}), this.ondata = r;
      var n = t && t.dictionary && t.dictionary.subarray(-32768);
      this.s = {
        i: 0,
        b: n ? n.length : 0
      }, this.o = new Rt(32768), this.p = new Rt(0), n && this.o.set(n);
    }
    return e.prototype.e = function(t) {
      if (this.ondata || tr(5), this.d && tr(4), this.p.length) {
        if (t.length) {
          var r = new Rt(this.p.length + t.length);
          r.set(this.p), r.set(t, this.p.length), this.p = r;
        }
      } else this.p = t;
    }, e.prototype.c = function(t) {
      this.s.i = +(this.d = t || false);
      var r = this.s.b, n = (function(a, i, l, c) {
        var u = a.length;
        if (!u || i.f && !i.l) return l || new Rt(0);
        var x = !l, f = x || i.i != 2, h = i.i;
        x && (l = new Rt(3 * u));
        var p = function(Ue) {
          var ge = l.length;
          if (Ue > ge) {
            var ke = new Rt(Math.max(2 * ge, Ue));
            ke.set(l), l = ke;
          }
        }, m = i.f || 0, y = i.p || 0, B = i.b || 0, v = i.l, D = i.d, P = i.m, k = i.n, w = 8 * u;
        do {
          if (!v) {
            m = Rn(a, y, 1);
            var _ = Rn(a, y + 1, 3);
            if (y += 3, !_) {
              var T = a[(X = y9(y) + 4) - 4] | a[X - 3] << 8, N = X + T;
              if (N > u) {
                h && tr(0);
                break;
              }
              f && p(B + T), l.set(a.subarray(X, N), B), i.b = B += T, i.p = y = 8 * N, i.f = m;
              continue;
            }
            if (_ == 1) v = iv, D = lv, P = 9, k = 5;
            else if (_ == 2) {
              var U = Rn(a, y, 31) + 257, C = Rn(a, y + 10, 15) + 4, z = U + Rn(a, y + 5, 31) + 1;
              y += 14;
              for (var I = new Rt(z), R = new Rt(19), L = 0; L < C; ++L) R[E8[L]] = Rn(a, y + 3 * L, 7);
              y += 3 * C;
              var O = dh(R), W = (1 << O) - 1, $ = ga(R, O, 1);
              for (L = 0; L < z; ) {
                var X, Y = $[Rn(a, y, W)];
                if (y += 15 & Y, (X = Y >> 4) < 16) I[L++] = X;
                else {
                  var Q = 0, V = 0;
                  for (X == 16 ? (V = 3 + Rn(a, y, 3), y += 2, Q = I[L - 1]) : X == 17 ? (V = 3 + Rn(a, y, 7), y += 3) : X == 18 && (V = 11 + Rn(a, y, 127), y += 7); V--; ) I[L++] = Q;
                }
              }
              var M = I.subarray(0, U), G = I.subarray(U);
              P = dh(M), k = dh(G), v = ga(M, P, 1), D = ga(G, k, 1);
            } else tr(1);
            if (y > w) {
              h && tr(0);
              break;
            }
          }
          f && p(B + 131072);
          for (var ee = (1 << P) - 1, te = (1 << k) - 1, oe = y; ; oe = y) {
            var ie = (Q = v[fh(a, y) & ee]) >> 4;
            if ((y += 15 & Q) > w) {
              h && tr(0);
              break;
            }
            if (Q || tr(2), ie < 256) l[B++] = ie;
            else {
              if (ie == 256) {
                oe = y, v = null;
                break;
              }
              var xe = ie - 254;
              if (ie > 264) {
                var de = vd[L = ie - 257];
                xe = Rn(a, y, (1 << de) - 1) + bm[L], y += de;
              }
              var he = D[fh(a, y) & te], be = he >> 4;
              if (he || tr(3), y += 15 & he, G = av[be], be > 3 && (de = Bd[be], G += fh(a, y) & (1 << de) - 1, y += de), y > w) {
                h && tr(0);
                break;
              }
              f && p(B + 131072);
              var ve = B + xe;
              if (B < G) {
                var Ce = 0 - G, Ie = Math.min(G, ve);
                for (Ce + B < 0 && tr(3); B < Ie; ++B) l[B] = c[Ce + B];
              }
              for (; B < ve; ++B) l[B] = l[B - G];
            }
          }
          i.l = v, i.p = oe, i.b = B, i.f = m, v && (m = 1, i.m = P, i.d = D, i.n = k);
        } while (!m);
        return B != l.length && x ? Nl(l, 0, B) : l.subarray(0, B);
      })(this.p, this.s, this.o);
      this.ondata(Nl(n, r, this.s.b), this.d), this.o = Nl(n, this.s.b - 32768), this.s.b = this.o.length, this.p = Nl(this.p, this.s.p / 8 | 0), this.s.p &= 7;
    }, e.prototype.push = function(t, r) {
      this.e(t), this.c(r);
    }, e;
  })(), xv = (function() {
    function e(t, r) {
      this.c = z3(), this.v = 1, Dx.call(this, t, r);
    }
    return e.prototype.push = function(t, r) {
      this.c.p(t), Dx.prototype.push.call(this, t, r);
    }, e.prototype.p = function(t, r) {
      var n = Bm(t, this.o, this.v && (this.o.dictionary ? 6 : 2), r && 4, this.s);
      this.v && ((function(a, i) {
        var l = i.level, c = l == 0 ? 0 : l < 6 ? 1 : l == 9 ? 3 : 2;
        if (a[0] = 120, a[1] = c << 6 | (i.dictionary && 32), a[1] |= 31 - (a[0] << 8 | a[1]) % 31, i.dictionary) {
          var u = z3();
          u.p(i.dictionary), U3(a, 2, u.d());
        }
      })(n, this.o), this.v = 0), r && U3(n, n.length - 4, this.c.d()), this.ondata(n, r);
    }, e.prototype.flush = function() {
      Dx.prototype.flush.call(this);
    }, e;
  })(), dv = (function() {
    function e(t, r) {
      Fx.call(this, t, r), this.v = t && t.dictionary ? 2 : 1;
    }
    return e.prototype.push = function(t, r) {
      if (Fx.prototype.e.call(this, t), this.v) {
        if (this.p.length < 6 && !r) return;
        this.p = this.p.subarray((n = this.p, a = this.v - 1, ((15 & n[0]) != 8 || n[0] >> 4 > 7 || (n[0] << 8 | n[1]) % 31) && tr(6, "invalid zlib data"), (n[1] >> 5 & 1) == +!a && tr(6, "invalid zlib data: " + (32 & n[1] ? "need" : "unexpected") + " dictionary"), 2 + (n[1] >> 3 & 4))), this.v = 0;
      }
      var n, a;
      r && (this.p.length < 4 && tr(6, "invalid zlib data"), this.p = this.p.subarray(0, -4)), Fx.prototype.c.call(this, r);
    }, e;
  })(), fv = typeof TextDecoder < "u" && new TextDecoder();
  try {
    fv.decode(vm, {
      stream: true
    });
  } catch {
  }
  class fs {
    static get tag() {
      return A.packet.literalData;
    }
    constructor(t = /* @__PURE__ */ new Date()) {
      this.format = A.literal.utf8, this.date = K.normalizeDate(t), this.text = null, this.data = null, this.filename = "";
    }
    setText(t, r = A.literal.utf8) {
      this.format = r, this.text = t, this.data = null;
    }
    getText(t = false) {
      return (this.text === null || K.isStream(this.text)) && (this.text = K.decodeUTF8(K.nativeEOL(this.getBytes(t)))), this.text;
    }
    setBytes(t, r) {
      this.format = r, this.data = t, this.text = null;
    }
    getBytes(t = false) {
      return this.data === null && (this.data = K.canonicalizeEOL(K.encodeUTF8(this.text))), t ? Ll(this.data) : this.data;
    }
    setFilename(t) {
      this.filename = t;
    }
    getFilename() {
      return this.filename;
    }
    async read(t) {
      await ud(t, (async (r) => {
        const n = await r.readByte(), a = await r.readByte();
        this.filename = K.decodeUTF8(await r.readBytes(a)), this.date = K.readDate(await r.readBytes(4));
        let i = r.remainder();
        It(i) && (i = await Mt(i)), this.setBytes(i, n);
      }));
    }
    writeHeader() {
      const t = K.encodeUTF8(this.filename), r = new Uint8Array([
        t.length
      ]), n = new Uint8Array([
        this.format
      ]), a = K.writeDate(this.date);
      return K.concatUint8Array([
        n,
        r,
        t,
        a
      ]);
    }
    write() {
      const t = this.writeHeader(), r = this.getBytes();
      return K.concat([
        t,
        r
      ]);
    }
  }
  class ma {
    constructor() {
      this.bytes = "";
    }
    read(t) {
      return this.bytes = K.uint8ArrayToString(t.subarray(0, 8)), this.bytes.length;
    }
    write() {
      return K.stringToUint8Array(this.bytes);
    }
    toHex() {
      return K.uint8ArrayToHex(K.stringToUint8Array(this.bytes));
    }
    equals(t, r = false) {
      return r && (t.isWildcard() || this.isWildcard()) || this.bytes === t.bytes;
    }
    isNull() {
      return this.bytes === "";
    }
    isWildcard() {
      return /^0+$/.test(this.toHex());
    }
    static mapToHex(t) {
      return t.toHex();
    }
    static fromID(t) {
      const r = new ma();
      return r.read(K.hexToUint8Array(t)), r;
    }
    static wildcard() {
      const t = new ma();
      return t.read(new Uint8Array(8)), t;
    }
  }
  const gl = Symbol("verified"), T3 = "salt@notations.openpgpjs.org", hv = /* @__PURE__ */ new Set([
    A.signatureSubpacket.issuerKeyID,
    A.signatureSubpacket.issuerFingerprint,
    A.signatureSubpacket.embeddedSignature
  ]);
  class xr {
    static get tag() {
      return A.packet.signature;
    }
    constructor() {
      this.version = null, this.signatureType = null, this.hashAlgorithm = null, this.publicKeyAlgorithm = null, this.signatureData = null, this.unhashedSubpackets = [], this.unknownSubpackets = [], this.signedHashValue = null, this.salt = null, this.created = null, this.signatureExpirationTime = null, this.signatureNeverExpires = true, this.exportable = null, this.trustLevel = null, this.trustAmount = null, this.regularExpression = null, this.revocable = null, this.keyExpirationTime = null, this.keyNeverExpires = null, this.preferredSymmetricAlgorithms = null, this.revocationKeyClass = null, this.revocationKeyAlgorithm = null, this.revocationKeyFingerprint = null, this.issuerKeyID = new ma(), this.rawNotations = [], this.notations = {}, this.preferredHashAlgorithms = null, this.preferredCompressionAlgorithms = null, this.keyServerPreferences = null, this.preferredKeyServer = null, this.isPrimaryUserID = null, this.policyURI = null, this.keyFlags = null, this.signersUserID = null, this.reasonForRevocationFlag = null, this.reasonForRevocationString = null, this.features = null, this.signatureTargetPublicKeyAlgorithm = null, this.signatureTargetHashAlgorithm = null, this.signatureTargetHash = null, this.embeddedSignature = null, this.issuerKeyVersion = null, this.issuerFingerprint = null, this.preferredAEADAlgorithms = null, this.preferredCipherSuites = null, this.revoked = null, this[gl] = null;
    }
    read(t, r = Be) {
      let n = 0;
      if (this.version = t[n++], this.version === 5 && !r.enableParsingV5Entities) throw new st("Support for v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");
      if (this.version !== 4 && this.version !== 5 && this.version !== 6) throw new st(`Version ${this.version} of the signature packet is unsupported.`);
      if (this.signatureType = t[n++], this.publicKeyAlgorithm = t[n++], this.hashAlgorithm = t[n++], n += this.readSubPackets(t.subarray(n, t.length), true), !this.created) throw Error("Missing signature creation time subpacket.");
      if (this.signatureData = t.subarray(0, n), n += this.readSubPackets(t.subarray(n, t.length), false), this.signedHashValue = t.subarray(n, n + 2), n += 2, this.version === 6) {
        const c = t[n++];
        this.salt = t.subarray(n, n + c), n += c;
      }
      const a = t.subarray(n, t.length), { read: i, signatureParams: l } = (function(c, u) {
        let x = 0;
        switch (c) {
          case A.publicKey.rsaEncryptSign:
          case A.publicKey.rsaEncrypt:
          case A.publicKey.rsaSign: {
            const f = K.readMPI(u.subarray(x));
            return x += f.length + 2, {
              read: x,
              signatureParams: {
                s: f
              }
            };
          }
          case A.publicKey.dsa:
          case A.publicKey.ecdsa: {
            const f = K.readMPI(u.subarray(x));
            x += f.length + 2;
            const h = K.readMPI(u.subarray(x));
            return x += h.length + 2, {
              read: x,
              signatureParams: {
                r: f,
                s: h
              }
            };
          }
          case A.publicKey.eddsaLegacy: {
            const f = K.readMPI(u.subarray(x));
            x += f.length + 2;
            const h = K.readMPI(u.subarray(x));
            return x += h.length + 2, {
              read: x,
              signatureParams: {
                r: f,
                s: h
              }
            };
          }
          case A.publicKey.ed25519:
          case A.publicKey.ed448: {
            const f = 2 * dd(c), h = K.readExactSubarray(u, x, x + f);
            return x += h.length, {
              read: x,
              signatureParams: {
                RS: h
              }
            };
          }
          default:
            throw new st("Unknown signature algorithm.");
        }
      })(this.publicKeyAlgorithm, a);
      if (i < a.length) throw Error("Error reading MPIs");
      this.params = l;
    }
    writeParams() {
      return this.params instanceof Promise ? Xi((async () => rs(this.publicKeyAlgorithm, await this.params))) : rs(this.publicKeyAlgorithm, this.params);
    }
    write() {
      const t = [];
      return t.push(this.signatureData), t.push(this.writeUnhashedSubPackets()), t.push(this.signedHashValue), this.version === 6 && (t.push(new Uint8Array([
        this.salt.length
      ])), t.push(this.salt)), t.push(this.writeParams()), K.concat(t);
    }
    async sign(t, r, n = /* @__PURE__ */ new Date(), a = false, i) {
      this.version = t.version, this.created = K.normalizeDate(n), this.issuerKeyVersion = t.version, this.issuerFingerprint = t.getFingerprintBytes(), this.issuerKeyID = t.getKeyID();
      const l = [
        new Uint8Array([
          this.version,
          this.signatureType,
          this.publicKeyAlgorithm,
          this.hashAlgorithm
        ])
      ];
      if (this.version === 6) {
        const f = ph(this.hashAlgorithm);
        if (this.salt === null) this.salt = ur(f);
        else if (f !== this.salt.length) throw Error("Provided salt does not have the required length");
      } else if (i.nonDeterministicSignaturesViaNotation) {
        if (this.rawNotations.filter((({ name: f }) => f === T3)).length !== 0) throw Error("Unexpected existing salt notation");
        {
          const f = ur(ph(this.hashAlgorithm));
          this.rawNotations.push({
            name: T3,
            value: f,
            humanReadable: false,
            critical: false
          });
        }
      }
      l.push(this.writeHashedSubPackets()), this.unhashedSubpackets = [], this.signatureData = K.concat(l);
      const c = this.toHash(this.signatureType, r, a), u = await this.hash(this.signatureType, r, c, a);
      this.signedHashValue = cr(Ki(u), 0, 2);
      const x = async () => ev(this.publicKeyAlgorithm, this.hashAlgorithm, t.publicParams, t.privateParams, c, await Mt(u));
      K.isStream(u) ? this.params = x() : (this.params = await x(), this[gl] = true);
    }
    writeHashedSubPackets() {
      const t = A.signatureSubpacket, r = [];
      let n;
      if (this.created === null) throw Error("Missing signature creation time");
      r.push(ht(t.signatureCreationTime, true, K.writeDate(this.created))), this.signatureExpirationTime !== null && r.push(ht(t.signatureExpirationTime, true, K.writeNumber(this.signatureExpirationTime, 4))), this.exportable !== null && r.push(ht(t.exportableCertification, true, new Uint8Array([
        this.exportable ? 1 : 0
      ]))), this.trustLevel !== null && (n = new Uint8Array([
        this.trustLevel,
        this.trustAmount
      ]), r.push(ht(t.trustSignature, true, n))), this.regularExpression !== null && r.push(ht(t.regularExpression, true, this.regularExpression)), this.revocable !== null && r.push(ht(t.revocable, true, new Uint8Array([
        this.revocable ? 1 : 0
      ]))), this.keyExpirationTime !== null && r.push(ht(t.keyExpirationTime, true, K.writeNumber(this.keyExpirationTime, 4))), this.preferredSymmetricAlgorithms !== null && (n = K.stringToUint8Array(K.uint8ArrayToString(this.preferredSymmetricAlgorithms)), r.push(ht(t.preferredSymmetricAlgorithms, false, n))), this.revocationKeyClass !== null && (n = new Uint8Array([
        this.revocationKeyClass,
        this.revocationKeyAlgorithm
      ]), n = K.concat([
        n,
        this.revocationKeyFingerprint
      ]), r.push(ht(t.revocationKey, false, n))), !this.issuerKeyID.isNull() && this.issuerKeyVersion < 5 && r.push(ht(t.issuerKeyID, false, this.issuerKeyID.write())), this.rawNotations.forEach((({ name: l, value: c, humanReadable: u, critical: x }) => {
        n = [
          new Uint8Array([
            u ? 128 : 0,
            0,
            0,
            0
          ])
        ];
        const f = K.encodeUTF8(l);
        n.push(K.writeNumber(f.length, 2)), n.push(K.writeNumber(c.length, 2)), n.push(f), n.push(c), n = K.concat(n), r.push(ht(t.notationData, x, n));
      })), this.preferredHashAlgorithms !== null && (n = K.stringToUint8Array(K.uint8ArrayToString(this.preferredHashAlgorithms)), r.push(ht(t.preferredHashAlgorithms, false, n))), this.preferredCompressionAlgorithms !== null && (n = K.stringToUint8Array(K.uint8ArrayToString(this.preferredCompressionAlgorithms)), r.push(ht(t.preferredCompressionAlgorithms, false, n))), this.keyServerPreferences !== null && (n = K.stringToUint8Array(K.uint8ArrayToString(this.keyServerPreferences)), r.push(ht(t.keyServerPreferences, false, n))), this.preferredKeyServer !== null && r.push(ht(t.preferredKeyServer, false, K.encodeUTF8(this.preferredKeyServer))), this.isPrimaryUserID !== null && r.push(ht(t.primaryUserID, false, new Uint8Array([
        this.isPrimaryUserID ? 1 : 0
      ]))), this.policyURI !== null && r.push(ht(t.policyURI, false, K.encodeUTF8(this.policyURI))), this.keyFlags !== null && (n = K.stringToUint8Array(K.uint8ArrayToString(this.keyFlags)), r.push(ht(t.keyFlags, true, n))), this.signersUserID !== null && r.push(ht(t.signersUserID, false, K.encodeUTF8(this.signersUserID))), this.reasonForRevocationFlag !== null && (n = K.stringToUint8Array(String.fromCharCode(this.reasonForRevocationFlag) + this.reasonForRevocationString), r.push(ht(t.reasonForRevocation, true, n))), this.features !== null && (n = K.stringToUint8Array(K.uint8ArrayToString(this.features)), r.push(ht(t.features, false, n))), this.signatureTargetPublicKeyAlgorithm !== null && (n = [
        new Uint8Array([
          this.signatureTargetPublicKeyAlgorithm,
          this.signatureTargetHashAlgorithm
        ])
      ], n.push(K.stringToUint8Array(this.signatureTargetHash)), n = K.concat(n), r.push(ht(t.signatureTarget, true, n))), this.embeddedSignature !== null && r.push(ht(t.embeddedSignature, true, this.embeddedSignature.write())), this.issuerFingerprint !== null && (n = [
        new Uint8Array([
          this.issuerKeyVersion
        ]),
        this.issuerFingerprint
      ], n = K.concat(n), r.push(ht(t.issuerFingerprint, this.version >= 5, n))), this.preferredAEADAlgorithms !== null && (n = K.stringToUint8Array(K.uint8ArrayToString(this.preferredAEADAlgorithms)), r.push(ht(t.preferredAEADAlgorithms, false, n))), this.preferredCipherSuites !== null && (n = new Uint8Array([].concat(...this.preferredCipherSuites)), r.push(ht(t.preferredCipherSuites, false, n)));
      const a = K.concat(r), i = K.writeNumber(a.length, this.version === 6 ? 4 : 2);
      return K.concat([
        i,
        a
      ]);
    }
    writeUnhashedSubPackets() {
      const t = this.unhashedSubpackets.map((({ type: a, critical: i, body: l }) => ht(a, i, l))), r = K.concat(t), n = K.writeNumber(r.length, this.version === 6 ? 4 : 2);
      return K.concat([
        n,
        r
      ]);
    }
    readSubPacket(t, r = true) {
      let n = 0;
      const a = !!(128 & t[n]), i = 127 & t[n];
      if (n++, r || (this.unhashedSubpackets.push({
        type: i,
        critical: a,
        body: t.subarray(n, t.length)
      }), hv.has(i))) switch (i) {
        case A.signatureSubpacket.signatureCreationTime:
          this.created = K.readDate(t.subarray(n, t.length));
          break;
        case A.signatureSubpacket.signatureExpirationTime: {
          const l = K.readNumber(t.subarray(n, t.length));
          this.signatureNeverExpires = l === 0, this.signatureExpirationTime = l;
          break;
        }
        case A.signatureSubpacket.exportableCertification:
          this.exportable = t[n++] === 1;
          break;
        case A.signatureSubpacket.trustSignature:
          this.trustLevel = t[n++], this.trustAmount = t[n++];
          break;
        case A.signatureSubpacket.regularExpression:
          this.regularExpression = t[n];
          break;
        case A.signatureSubpacket.revocable:
          this.revocable = t[n++] === 1;
          break;
        case A.signatureSubpacket.keyExpirationTime: {
          const l = K.readNumber(t.subarray(n, t.length));
          this.keyExpirationTime = l, this.keyNeverExpires = l === 0;
          break;
        }
        case A.signatureSubpacket.preferredSymmetricAlgorithms:
          this.preferredSymmetricAlgorithms = [
            ...t.subarray(n, t.length)
          ];
          break;
        case A.signatureSubpacket.revocationKey:
          this.revocationKeyClass = t[n++], this.revocationKeyAlgorithm = t[n++], this.revocationKeyFingerprint = t.subarray(n, n + 20);
          break;
        case A.signatureSubpacket.issuerKeyID:
          if (this.version === 4) this.issuerKeyID.read(t.subarray(n, t.length));
          else if (r) throw Error("Unexpected Issuer Key ID subpacket");
          break;
        case A.signatureSubpacket.notationData: {
          const l = !!(128 & t[n]);
          n += 4;
          const c = K.readNumber(t.subarray(n, n + 2));
          n += 2;
          const u = K.readNumber(t.subarray(n, n + 2));
          n += 2;
          const x = K.decodeUTF8(t.subarray(n, n + c)), f = t.subarray(n + c, n + c + u);
          this.rawNotations.push({
            name: x,
            humanReadable: l,
            value: f,
            critical: a
          }), l && (this.notations[x] = K.decodeUTF8(f));
          break;
        }
        case A.signatureSubpacket.preferredHashAlgorithms:
          this.preferredHashAlgorithms = [
            ...t.subarray(n, t.length)
          ];
          break;
        case A.signatureSubpacket.preferredCompressionAlgorithms:
          this.preferredCompressionAlgorithms = [
            ...t.subarray(n, t.length)
          ];
          break;
        case A.signatureSubpacket.keyServerPreferences:
          this.keyServerPreferences = [
            ...t.subarray(n, t.length)
          ];
          break;
        case A.signatureSubpacket.preferredKeyServer:
          this.preferredKeyServer = K.decodeUTF8(t.subarray(n, t.length));
          break;
        case A.signatureSubpacket.primaryUserID:
          this.isPrimaryUserID = t[n++] !== 0;
          break;
        case A.signatureSubpacket.policyURI:
          this.policyURI = K.decodeUTF8(t.subarray(n, t.length));
          break;
        case A.signatureSubpacket.keyFlags:
          this.keyFlags = [
            ...t.subarray(n, t.length)
          ];
          break;
        case A.signatureSubpacket.signersUserID:
          this.signersUserID = K.decodeUTF8(t.subarray(n, t.length));
          break;
        case A.signatureSubpacket.reasonForRevocation:
          this.reasonForRevocationFlag = t[n++], this.reasonForRevocationString = K.decodeUTF8(t.subarray(n, t.length));
          break;
        case A.signatureSubpacket.features:
          this.features = [
            ...t.subarray(n, t.length)
          ];
          break;
        case A.signatureSubpacket.signatureTarget: {
          this.signatureTargetPublicKeyAlgorithm = t[n++], this.signatureTargetHashAlgorithm = t[n++];
          const l = Wt(this.signatureTargetHashAlgorithm);
          this.signatureTargetHash = K.uint8ArrayToString(t.subarray(n, n + l));
          break;
        }
        case A.signatureSubpacket.embeddedSignature:
          this.embeddedSignature = new xr(), this.embeddedSignature.read(t.subarray(n, t.length));
          break;
        case A.signatureSubpacket.issuerFingerprint:
          this.issuerKeyVersion = t[n++], this.issuerFingerprint = t.subarray(n, t.length), this.issuerKeyVersion >= 5 ? this.issuerKeyID.read(this.issuerFingerprint) : this.issuerKeyID.read(this.issuerFingerprint.subarray(-8));
          break;
        case A.signatureSubpacket.preferredAEADAlgorithms:
          this.preferredAEADAlgorithms = [
            ...t.subarray(n, t.length)
          ];
          break;
        case A.signatureSubpacket.preferredCipherSuites:
          this.preferredCipherSuites = [];
          for (let l = n; l < t.length; l += 2) this.preferredCipherSuites.push([
            t[l],
            t[l + 1]
          ]);
          break;
        default:
          this.unknownSubpackets.push({
            type: i,
            critical: a,
            body: t.subarray(n, t.length)
          });
      }
    }
    readSubPackets(t, r = true, n) {
      const a = this.version === 6 ? 4 : 2, i = K.readNumber(t.subarray(0, a));
      let l = a;
      for (; l < 2 + i; ) {
        const c = Ug(t.subarray(l, t.length));
        l += c.offset, this.readSubPacket(t.subarray(l, l + c.len), r, n), l += c.len;
      }
      return l;
    }
    toSign(t, r) {
      const n = A.signature;
      switch (t) {
        case n.binary:
          return r.text !== null ? K.encodeUTF8(r.getText(true)) : r.getBytes(true);
        case n.text: {
          const a = r.getBytes(true);
          return K.canonicalizeEOL(a);
        }
        case n.standalone:
          return new Uint8Array(0);
        case n.certGeneric:
        case n.certPersona:
        case n.certCasual:
        case n.certPositive:
        case n.certRevocation: {
          let a, i;
          if (r.userID) i = 180, a = r.userID;
          else {
            if (!r.userAttribute) throw Error("Either a userID or userAttribute packet needs to be supplied for certification.");
            i = 209, a = r.userAttribute;
          }
          const l = a.write();
          return K.concat([
            this.toSign(n.key, r),
            new Uint8Array([
              i
            ]),
            K.writeNumber(l.length, 4),
            l
          ]);
        }
        case n.subkeyBinding:
        case n.subkeyRevocation:
        case n.keyBinding:
          return K.concat([
            this.toSign(n.key, r),
            this.toSign(n.key, {
              key: r.bind
            })
          ]);
        case n.key:
          if (r.key === void 0) throw Error("Key packet is required for this signature.");
          return r.key.writeForHash(this.version);
        case n.keyRevocation:
          return this.toSign(n.key, r);
        case n.timestamp:
          return new Uint8Array(0);
        case n.thirdParty:
          throw Error("Not implemented");
        default:
          throw Error("Unknown signature type.");
      }
    }
    calculateTrailer(t, r) {
      let n = 0;
      return Ot(Ki(this.signatureData), ((a) => {
        n += a.length;
      }), (() => {
        const a = [];
        return this.version !== 5 || this.signatureType !== A.signature.binary && this.signatureType !== A.signature.text || (r ? a.push(new Uint8Array(6)) : a.push(t.writeHeader())), a.push(new Uint8Array([
          this.version,
          255
        ])), this.version === 5 && a.push(new Uint8Array(4)), a.push(K.writeNumber(n, 4)), K.concat(a);
      }));
    }
    toHash(t, r, n = false) {
      const a = this.toSign(t, r);
      return K.concat([
        this.salt || new Uint8Array(),
        a,
        this.signatureData,
        this.calculateTrailer(r, n)
      ]);
    }
    async hash(t, r, n, a = false) {
      if (this.version === 6 && this.salt.length !== ph(this.hashAlgorithm)) throw Error("Signature salt does not have the expected length");
      return n || (n = this.toHash(t, r, a)), Aa(this.hashAlgorithm, n);
    }
    async verify(t, r, n, a = /* @__PURE__ */ new Date(), i = false, l = Be) {
      if (!this.issuerKeyID.equals(t.getKeyID())) throw Error("Signature was not issued by the given public key");
      if (this.publicKeyAlgorithm !== t.algorithm) throw Error("Public key algorithm used to sign signature does not match issuer key algorithm.");
      const c = r === A.signature.binary || r === A.signature.text;
      if (!(this[gl] && !c)) {
        let x, f;
        if (this.hashed ? f = await this.hashed : (x = this.toHash(r, n, i), f = await this.hash(r, n, x)), f = await Mt(f), this.signedHashValue[0] !== f[0] || this.signedHashValue[1] !== f[1]) throw Error("Signed digest did not match");
        if (this.params = await this.params, this[gl] = await Jw(this.publicKeyAlgorithm, this.hashAlgorithm, this.params, t.publicParams, x, f), !this[gl]) throw Error("Signature verification failed");
      }
      const u = K.normalizeDate(a);
      if (u && this.created > u) throw Error("Signature creation time is in the future");
      if (u && u >= this.getExpirationTime()) throw Error("Signature is expired");
      if (l.rejectHashAlgorithms.has(this.hashAlgorithm)) throw Error("Insecure hash algorithm: " + A.read(A.hash, this.hashAlgorithm).toUpperCase());
      if (l.rejectMessageHashAlgorithms.has(this.hashAlgorithm) && [
        A.signature.binary,
        A.signature.text
      ].includes(this.signatureType)) throw Error("Insecure message hash algorithm: " + A.read(A.hash, this.hashAlgorithm).toUpperCase());
      if (this.unknownSubpackets.forEach((({ type: x, critical: f }) => {
        if (f) throw Error("Unknown critical signature subpacket type " + x);
      })), this.rawNotations.forEach((({ name: x, critical: f }) => {
        if (f && l.knownNotations.indexOf(x) < 0) throw Error("Unknown critical notation: " + x);
      })), this.revocationKeyClass !== null) throw Error("This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.");
    }
    isExpired(t = /* @__PURE__ */ new Date()) {
      const r = K.normalizeDate(t);
      return r !== null && !(this.created <= r && r < this.getExpirationTime());
    }
    getExpirationTime() {
      return this.signatureNeverExpires ? 1 / 0 : new Date(this.created.getTime() + 1e3 * this.signatureExpirationTime);
    }
  }
  function ht(e, t, r) {
    const n = [];
    return n.push(xd(r.length + 1)), n.push(new Uint8Array([
      (t ? 128 : 0) | e
    ])), n.push(r), K.concat(n);
  }
  function ph(e) {
    switch (e) {
      case A.hash.sha256:
        return 16;
      case A.hash.sha384:
        return 24;
      case A.hash.sha512:
        return 32;
      case A.hash.sha224:
      case A.hash.sha3_256:
        return 16;
      case A.hash.sha3_512:
        return 32;
      default:
        throw Error("Unsupported hash function");
    }
  }
  class wn {
    static get tag() {
      return A.packet.onePassSignature;
    }
    static fromSignaturePacket(t, r) {
      const n = new wn();
      return n.version = t.version === 6 ? 6 : 3, n.signatureType = t.signatureType, n.hashAlgorithm = t.hashAlgorithm, n.publicKeyAlgorithm = t.publicKeyAlgorithm, n.issuerKeyID = t.issuerKeyID, n.salt = t.salt, n.issuerFingerprint = t.issuerFingerprint, n.flags = r ? 1 : 0, n;
    }
    constructor() {
      this.version = null, this.signatureType = null, this.hashAlgorithm = null, this.publicKeyAlgorithm = null, this.salt = null, this.issuerKeyID = null, this.issuerFingerprint = null, this.flags = null;
    }
    read(t) {
      let r = 0;
      if (this.version = t[r++], this.version !== 3 && this.version !== 6) throw new st(`Version ${this.version} of the one-pass signature packet is unsupported.`);
      if (this.signatureType = t[r++], this.hashAlgorithm = t[r++], this.publicKeyAlgorithm = t[r++], this.version === 6) {
        const n = t[r++];
        this.salt = t.subarray(r, r + n), r += n, this.issuerFingerprint = t.subarray(r, r + 32), r += 32, this.issuerKeyID = new ma(), this.issuerKeyID.read(this.issuerFingerprint);
      } else this.issuerKeyID = new ma(), this.issuerKeyID.read(t.subarray(r, r + 8)), r += 8;
      return this.flags = t[r++], this;
    }
    write() {
      const t = [
        new Uint8Array([
          this.version,
          this.signatureType,
          this.hashAlgorithm,
          this.publicKeyAlgorithm
        ])
      ];
      return this.version === 6 ? t.push(new Uint8Array([
        this.salt.length
      ]), this.salt, this.issuerFingerprint) : t.push(this.issuerKeyID.write()), t.push(new Uint8Array([
        this.flags
      ])), K.concatUint8Array(t);
    }
    calculateTrailer(...t) {
      return Xi((async () => xr.prototype.calculateTrailer.apply(await this.correspondingSig, t)));
    }
    async verify() {
      const t = await this.correspondingSig;
      if (!t || t.constructor.tag !== A.packet.signature) throw Error("Corresponding signature packet missing");
      if (t.signatureType !== this.signatureType || t.hashAlgorithm !== this.hashAlgorithm || t.publicKeyAlgorithm !== this.publicKeyAlgorithm || !t.issuerKeyID.equals(this.issuerKeyID) || this.version === 3 && t.version === 6 || this.version === 6 && t.version !== 6 || this.version === 6 && !K.equalsUint8Array(t.issuerFingerprint, this.issuerFingerprint) || this.version === 6 && !K.equalsUint8Array(t.salt, this.salt)) throw Error("Corresponding signature packet does not match one-pass signature packet");
      return t.hashed = this.hashed, t.verify.apply(t, arguments);
    }
  }
  function pv(e, t) {
    if (!t[e]) {
      let r;
      try {
        r = A.read(A.packet, e);
      } catch {
        throw new Ax("Unknown packet type with tag: " + e);
      }
      throw Error("Packet not allowed in this context: " + r);
    }
    return new t[e]();
  }
  wn.prototype.hash = xr.prototype.hash, wn.prototype.toHash = xr.prototype.toHash, wn.prototype.toSign = xr.prototype.toSign;
  class dt extends Array {
    static async fromBinary(t, r, n = Be, a = null, i = false) {
      const l = new dt();
      return await l.read(t, r, n, a, i), l;
    }
    async read(t, r, n = Be, a = null, i = false) {
      let l;
      n.additionalAllowedPackets.length && (l = K.constructAllowedPackets(n.additionalAllowedPackets), r = {
        ...r,
        ...l
      }), this.stream = ni(t, (async (u, x) => {
        const f = qn(u), h = an(x);
        try {
          let p = K.isStream(u);
          for (; ; ) {
            let m, y;
            if (await h.ready, await Bw(f, p, (async (v) => {
              try {
                if (v.tag === A.packet.marker || v.tag === A.packet.trust || v.tag === A.packet.padding) return;
                const D = pv(v.tag, r);
                try {
                  a == null ? void 0 : a.recordPacket(v.tag, l);
                } catch (P) {
                  if (n.enforceGrammar) throw P;
                  K.printDebugError(P);
                }
                D.packets = new dt(), D.fromStream = K.isStream(v.packet), y = D.fromStream;
                try {
                  await D.read(v.packet, n);
                } catch (P) {
                  throw P instanceof st ? P : K.wrapError(new oh(`Parsing ${D.constructor.name} failed`), P);
                }
                await h.write(D);
              } catch (D) {
                const P = D instanceof Ax && v.tag <= 39, k = D instanceof st && !(D instanceof Ax) && !n.ignoreUnsupportedPackets, w = D instanceof oh && !n.ignoreMalformedPackets, _ = Ex(v.tag);
                if (P || k || w || _ || !(D instanceof Ax || D instanceof st || D instanceof oh)) i ? m = D : await h.abort(D);
                else {
                  const T = new o8(v.tag, v.packet);
                  await h.write(T);
                }
                K.printDebugError(D);
              }
            })), y && (p = null), m) throw await f.readToEnd(), m;
            const B = await f.peekBytes(2);
            if (!B || !B.length) {
              try {
                a == null ? void 0 : a.recordEnd();
              } catch (v) {
                if (n.enforceGrammar) throw v;
                K.printDebugError(v);
              }
              return await h.ready, void await h.close();
            }
          }
        } catch (p) {
          await h.abort(p);
        }
      }));
      const c = qn(this.stream);
      for (; ; ) {
        const { done: u, value: x } = await c.read();
        if (u ? this.stream = null : this.push(x), u || Ex(x.constructor.tag)) break;
      }
      c.releaseLock();
    }
    write() {
      const t = [];
      for (let r = 0; r < this.length; r++) {
        const n = this[r] instanceof o8 ? this[r].tag : this[r].constructor.tag, a = this[r].write();
        if (K.isStream(a) && Ex(this[r].constructor.tag)) {
          let i = [], l = 0;
          const c = 512;
          t.push(Kx(n)), t.push(Ot(a, ((u) => {
            if (i.push(u), l += u.length, l >= c) {
              const x = Math.min(Math.log(l) / Math.LN2 | 0, 30), f = 2 ** x, h = K.concat([
                vw(x)
              ].concat(i));
              return i = [
                h.subarray(1 + f)
              ], l = i[0].length, h.subarray(0, 1 + f);
            }
          }), (() => K.concat([
            xd(l)
          ].concat(i)))));
        } else {
          if (K.isStream(a)) {
            let i = 0;
            t.push(Ot(Ki(a), ((l) => {
              i += l.length;
            }), (() => d3(n, i))));
          } else t.push(d3(n, a.length));
          t.push(a);
        }
      }
      return K.concat(t);
    }
    filterByTag(...t) {
      const r = new dt(), n = (a) => (i) => a === i;
      for (let a = 0; a < this.length; a++) t.some(n(this[a].constructor.tag)) && r.push(this[a]);
      return r;
    }
    findPacket(t) {
      return this.find(((r) => r.constructor.tag === t));
    }
    indexOfTag(...t) {
      const r = [], n = this, a = (i) => (l) => i === l;
      for (let i = 0; i < this.length; i++) t.some(a(n[i].constructor.tag)) && r.push(i);
      return r;
    }
  }
  class aa extends Error {
    constructor(...t) {
      super(...t), Error.captureStackTrace && Error.captureStackTrace(this, aa), this.name = "GrammarError";
    }
  }
  var zt;
  (function(e) {
    e[e.EmptyMessage = 0] = "EmptyMessage", e[e.PlaintextOrEncryptedData = 1] = "PlaintextOrEncryptedData", e[e.EncryptedSessionKeys = 2] = "EncryptedSessionKeys", e[e.StandaloneAdditionalAllowedData = 3] = "StandaloneAdditionalAllowedData";
  })(zt || (zt = {}));
  class Cd {
    constructor() {
      this.state = zt.EmptyMessage, this.leadingOnePassSignatureCounter = 0;
    }
    recordPacket(t, r) {
      switch (this.state) {
        case zt.EmptyMessage:
        case zt.StandaloneAdditionalAllowedData:
          switch (t) {
            case A.packet.literalData:
            case A.packet.compressedData:
            case A.packet.aeadEncryptedData:
            case A.packet.symEncryptedIntegrityProtectedData:
            case A.packet.symmetricallyEncryptedData:
              return void (this.state = zt.PlaintextOrEncryptedData);
            case A.packet.signature:
              if (this.state === zt.StandaloneAdditionalAllowedData && --this.leadingOnePassSignatureCounter < 0) throw new aa("Trailing signature packet without OPS");
              return;
            case A.packet.onePassSignature:
              if (this.state === zt.StandaloneAdditionalAllowedData) throw new aa("OPS following StandaloneAdditionalAllowedData");
              return void this.leadingOnePassSignatureCounter++;
            case A.packet.publicKeyEncryptedSessionKey:
            case A.packet.symEncryptedSessionKey:
              return void (this.state = zt.EncryptedSessionKeys);
            default:
              if (!(r == null ? void 0 : r[t])) throw new aa(`Unexpected packet ${t} in state ${this.state}`);
              return void (this.state = zt.StandaloneAdditionalAllowedData);
          }
        case zt.PlaintextOrEncryptedData:
          if (t === A.packet.signature) {
            if (--this.leadingOnePassSignatureCounter < 0) throw new aa("Trailing signature packet without OPS");
            return void (this.state = zt.PlaintextOrEncryptedData);
          }
          if (!(r == null ? void 0 : r[t])) throw new aa(`Unexpected packet ${t} in state ${this.state}`);
          return void (this.state = zt.PlaintextOrEncryptedData);
        case zt.EncryptedSessionKeys:
          switch (t) {
            case A.packet.publicKeyEncryptedSessionKey:
            case A.packet.symEncryptedSessionKey:
              return void (this.state = zt.EncryptedSessionKeys);
            case A.packet.symEncryptedIntegrityProtectedData:
            case A.packet.aeadEncryptedData:
            case A.packet.symmetricallyEncryptedData:
              return void (this.state = zt.PlaintextOrEncryptedData);
            case A.packet.signature:
              if (--this.leadingOnePassSignatureCounter < 0) throw new aa("Trailing signature packet without OPS");
              return void (this.state = zt.PlaintextOrEncryptedData);
            default:
              if (!(r == null ? void 0 : r[t])) throw new aa(`Unexpected packet ${t} in state ${this.state}`);
              this.state = zt.EncryptedSessionKeys;
          }
      }
    }
    recordEnd() {
      switch (this.state) {
        case zt.EmptyMessage:
        case zt.PlaintextOrEncryptedData:
        case zt.EncryptedSessionKeys:
        case zt.StandaloneAdditionalAllowedData:
          if (this.leadingOnePassSignatureCounter > 0) throw new aa("Missing trailing signature packets");
      }
    }
  }
  const gv = K.constructAllowedPackets([
    fs,
    wn,
    xr
  ]);
  class bc {
    static get tag() {
      return A.packet.compressedData;
    }
    constructor(t = Be) {
      this.packets = null, this.algorithm = t.preferredCompressionAlgorithm, this.compressed = null;
    }
    async read(t, r = Be) {
      await ud(t, (async (n) => {
        this.algorithm = await n.readByte(), this.compressed = n.remainder(), await this.decompress(r);
      }));
    }
    write() {
      return this.compressed === null && this.compress(), K.concat([
        new Uint8Array([
          this.algorithm
        ]),
        this.compressed
      ]);
    }
    async decompress(t = Be) {
      const r = A.read(A.compression, this.algorithm), n = Ev[r];
      if (!n) throw Error(r + " decompression not supported");
      let a = await n(this.compressed);
      if (t.maxDecompressedMessageSize !== 1 / 0) {
        let i = 0;
        a = Ot(a, ((l) => {
          if (i += l.length, i > t.maxDecompressedMessageSize) throw Error("Maximum decompressed message size exceeded");
          return l;
        }));
      }
      Ht(this.compressed) && !It(this.compressed) || (a = await Mt(a)), this.packets = await dt.fromBinary(a, gv, t, new Cd());
    }
    compress() {
      const t = A.read(A.compression, this.algorithm), r = yv[t];
      if (!r) throw Error(t + " compression not supported");
      const n = this.packets.write();
      let a = r(n);
      Ht(n) && !It(n) || (a = Xi((() => Mt(a)))), this.compressed = a;
    }
  }
  function Vx(e, t) {
    return (r) => {
      let n;
      if (n = It(r) ? new ReadableStream({
        async start(u) {
          try {
            u.enqueue(await Mt(r)), u.close();
          } catch (x) {
            u.error(x);
          }
        }
      }) : Ht(r) ? r : gc(r), n = (function(u) {
        const x = qn(u);
        return new ReadableStream({
          async pull(f) {
            try {
              const { value: h, done: p } = await x.read();
              if (p) return void f.close();
              for (let m = 0; m <= h.length; m += 65536) (!m || m < h.length) && f.enqueue(h.subarray(m, m + 65536));
            } catch (h) {
              f.error(h);
            }
          }
        }, {
          highWaterMark: 0
        });
      })(n), e) try {
        const u = e();
        return n.pipeThrough(u);
      } catch (u) {
        if (u.name !== "TypeError") throw u;
      }
      const a = qn(n), i = new t();
      let l = false, c = false;
      return new ReadableStream({
        start(u) {
          i.ondata = (x, f) => {
            u.enqueue(x), l = true, f && (u.close(), c = true);
          };
        },
        async pull() {
          for (l = false; !l && !c; ) {
            const { done: u, value: x } = await a.read();
            if (u) return void i.push(new Uint8Array(), true);
            x.length && i.push(x);
          }
        }
      }, {
        highWaterMark: 0
      });
    };
  }
  function mv() {
    return async function(e) {
      const { default: t } = await Promise.resolve().then((function() {
        return TC;
      }));
      return t(gc(e));
    };
  }
  const Wx = (e) => ({
    compressor: typeof CompressionStream < "u" && (() => new CompressionStream(e)),
    decompressor: typeof DecompressionStream < "u" && (() => new DecompressionStream(e))
  }), yv = {
    zip: Vx(Wx("deflate-raw").compressor, Dx),
    zlib: Vx(Wx("deflate").compressor, xv)
  }, Ev = {
    uncompressed: (e) => e,
    zip: Vx(Wx("deflate-raw").decompressor, Fx),
    zlib: Vx(Wx("deflate").decompressor, dv),
    bzip2: mv()
  }, Av = K.constructAllowedPackets([
    fs,
    bc,
    wn,
    xr
  ]);
  class ns {
    static get tag() {
      return A.packet.symEncryptedIntegrityProtectedData;
    }
    static fromObject({ version: t, aeadAlgorithm: r }) {
      if (t !== 1 && t !== 2) throw Error("Unsupported SEIPD version");
      const n = new ns();
      return n.version = t, t === 2 && (n.aeadAlgorithm = r), n;
    }
    constructor() {
      this.version = null, this.cipherAlgorithm = null, this.aeadAlgorithm = null, this.chunkSizeByte = null, this.salt = null, this.encrypted = null, this.packets = null;
    }
    async read(t) {
      await ud(t, (async (r) => {
        if (this.version = await r.readByte(), this.version !== 1 && this.version !== 2) throw new st(`Version ${this.version} of the SEIP packet is unsupported.`);
        this.version === 2 && (this.cipherAlgorithm = await r.readByte(), this.aeadAlgorithm = await r.readByte(), this.chunkSizeByte = await r.readByte(), this.salt = await r.readBytes(32)), this.encrypted = r.remainder();
      }));
    }
    write() {
      return this.version === 2 ? K.concat([
        new Uint8Array([
          this.version,
          this.cipherAlgorithm,
          this.aeadAlgorithm,
          this.chunkSizeByte
        ]),
        this.salt,
        this.encrypted
      ]) : K.concat([
        new Uint8Array([
          this.version
        ]),
        this.encrypted
      ]);
    }
    async encrypt(t, r, n = Be) {
      const { blockSize: a, keySize: i } = gt(t);
      if (r.length !== i) throw Error("Unexpected session key size");
      let l = this.packets.write();
      if (It(l) && (l = await Mt(l)), this.version === 2) this.cipherAlgorithm = t, this.salt = ur(32), this.chunkSizeByte = n.aeadChunkSizeByte, this.encrypted = await $x(this, "encrypt", r, l);
      else {
        const c = await gm(t), u = new Uint8Array([
          211,
          20
        ]), x = K.concat([
          c,
          l,
          u
        ]), f = await Aa(A.hash.sha1, Ll(x)), h = K.concat([
          x,
          f
        ]);
        this.encrypted = await Yl(t, r, h, new Uint8Array(a));
      }
      return true;
    }
    async decrypt(t, r, n = Be) {
      if (r.length !== gt(t).keySize) throw Error("Unexpected session key size");
      let a, i = Ki(this.encrypted);
      It(i) && (i = await Mt(i));
      let l = false;
      if (this.version === 2) {
        if (this.cipherAlgorithm !== t) throw Error("Unexpected session key algorithm");
        a = await $x(this, "decrypt", r, i);
      } else {
        const { blockSize: c } = gt(t), u = await bd(t, r, i, new Uint8Array(c)), x = cr(Ll(u), -20), f = cr(u, 0, -20), h = Promise.all([
          Mt(await Aa(A.hash.sha1, Ll(f))),
          Mt(x)
        ]).then((([m, y]) => {
          if (!K.equalsUint8Array(m, y)) throw Error("Modification detected.");
          return new Uint8Array();
        })), p = cr(f, c + 2);
        a = cr(p, 0, -2), a = Sr([
          a,
          Xi((() => h))
        ]), K.isStream(i) && n.allowUnauthenticatedStream ? l = true : a = await Mt(a);
      }
      return this.packets = await dt.fromBinary(a, Av, n, new Cd(), l), true;
    }
  }
  async function $x(e, t, r, n) {
    const a = e instanceof ns && e.version === 2, i = !a && e.constructor.tag === A.packet.aeadEncryptedData;
    if (!a && !i) throw Error("Unexpected packet type");
    const l = $a(e.aeadAlgorithm, i), c = t === "decrypt" ? l.tagLength : 0, u = t === "encrypt" ? l.tagLength : 0, x = 2 ** (e.chunkSizeByte + 6) + c, f = i ? 8 : 0, h = new ArrayBuffer(13 + f), p = new Uint8Array(h, 0, 5 + f), m = new Uint8Array(h), y = new DataView(h), B = new Uint8Array(h, 5, 8);
    p.set([
      192 | e.constructor.tag,
      e.version,
      e.cipherAlgorithm,
      e.aeadAlgorithm,
      e.chunkSizeByte
    ], 0);
    let v, D, P = 0, k = Promise.resolve(), w = 0, _ = 0;
    if (a) {
      const { keySize: N } = gt(e.cipherAlgorithm), { ivLength: U } = l, C = new Uint8Array(h, 0, 5), z = await ei(A.hash.sha256, r, e.salt, C, N + U);
      r = z.subarray(0, N), v = z.subarray(N), v.fill(0, v.length - 8), D = new DataView(v.buffer, v.byteOffset, v.byteLength);
    } else v = e.iv;
    const T = await l(e.cipherAlgorithm, r);
    return ni(n, (async (N, U) => {
      if (K.isStream(N) !== "array") {
        const I = new TransformStream({}, {
          highWaterMark: K.getHardwareConcurrency() * 2 ** (e.chunkSizeByte + 6),
          size: (R) => R.length
        });
        J0(I.readable, U), U = I.writable;
      }
      const C = qn(N), z = an(U);
      try {
        for (; ; ) {
          let I = await C.readBytes(x + c) || new Uint8Array();
          const R = I.subarray(I.length - c);
          let L, O, W;
          if (I = I.subarray(0, I.length - c), a) W = v;
          else {
            W = v.slice();
            for (let $ = 0; $ < 8; $++) W[v.length - 8 + $] ^= B[$];
          }
          if (!P || I.length ? (C.unshift(R), L = T[t](I, W, p), L.catch((() => {
          })), _ += I.length - c + u) : (y.setInt32(5 + f + 4, w), L = T[t](R, W, m), L.catch((() => {
          })), _ += u, O = true), w += I.length - c, k = k.then((() => L)).then((async ($) => {
            await z.ready, await z.write($), _ -= $.length;
          })).catch((($) => z.abort($))), (O || _ > z.desiredSize) && await k, O) {
            await z.close();
            break;
          }
          a ? D.setInt32(v.length - 4, ++P) : y.setInt32(9, ++P);
        }
      } catch (I) {
        await z.ready.catch((() => {
        })), await z.abort(I);
      }
    }));
  }
  const bv = K.constructAllowedPackets([
    fs,
    bc,
    wn,
    xr
  ]);
  class wv {
    static get tag() {
      return A.packet.aeadEncryptedData;
    }
    constructor() {
      this.version = 1, this.cipherAlgorithm = null, this.aeadAlgorithm = A.aead.eax, this.chunkSizeByte = null, this.iv = null, this.encrypted = null, this.packets = null;
    }
    async read(t) {
      await ud(t, (async (r) => {
        const n = await r.readByte();
        if (n !== 1) throw new st(`Version ${n} of the AEAD-encrypted data packet is not supported.`);
        this.cipherAlgorithm = await r.readByte(), this.aeadAlgorithm = await r.readByte(), this.chunkSizeByte = await r.readByte();
        const a = $a(this.aeadAlgorithm, true);
        this.iv = await r.readBytes(a.ivLength), this.encrypted = r.remainder();
      }));
    }
    write() {
      return K.concat([
        new Uint8Array([
          this.version,
          this.cipherAlgorithm,
          this.aeadAlgorithm,
          this.chunkSizeByte
        ]),
        this.iv,
        this.encrypted
      ]);
    }
    async decrypt(t, r, n = Be) {
      this.packets = await dt.fromBinary(await $x(this, "decrypt", r, Ki(this.encrypted)), bv, n, new Cd());
    }
    async encrypt(t, r, n = Be) {
      this.cipherAlgorithm = t;
      const { ivLength: a } = $a(this.aeadAlgorithm, true);
      this.iv = ur(a), this.chunkSizeByte = n.aeadChunkSizeByte;
      const i = this.packets.write();
      this.encrypted = await $x(this, "encrypt", r, i);
    }
  }
  class Jl {
    static get tag() {
      return A.packet.publicKeyEncryptedSessionKey;
    }
    constructor() {
      this.version = null, this.publicKeyID = new ma(), this.publicKeyVersion = null, this.publicKeyFingerprint = null, this.publicKeyAlgorithm = null, this.sessionKey = null, this.sessionKeyAlgorithm = null, this.encrypted = {};
    }
    static fromObject({ version: t, encryptionKeyPacket: r, anonymousRecipient: n, sessionKey: a, sessionKeyAlgorithm: i }) {
      const l = new Jl();
      if (t !== 3 && t !== 6) throw Error("Unsupported PKESK version");
      return l.version = t, t === 6 && (l.publicKeyVersion = n ? null : r.version, l.publicKeyFingerprint = n ? null : r.getFingerprintBytes()), l.publicKeyID = n ? ma.wildcard() : r.getKeyID(), l.publicKeyAlgorithm = r.algorithm, l.sessionKey = a, l.sessionKeyAlgorithm = i, l;
    }
    read(t) {
      let r = 0;
      if (this.version = t[r++], this.version !== 3 && this.version !== 6) throw new st(`Version ${this.version} of the PKESK packet is unsupported.`);
      if (this.version === 6) {
        const n = t[r++];
        if (n) {
          this.publicKeyVersion = t[r++];
          const a = n - 1;
          this.publicKeyFingerprint = t.subarray(r, r + a), r += a, this.publicKeyVersion >= 5 ? this.publicKeyID.read(this.publicKeyFingerprint) : this.publicKeyID.read(this.publicKeyFingerprint.subarray(-8));
        } else this.publicKeyID = ma.wildcard();
      } else r += this.publicKeyID.read(t.subarray(r, r + 8));
      if (this.publicKeyAlgorithm = t[r++], this.encrypted = (function(n, a) {
        let i = 0;
        switch (n) {
          case A.publicKey.rsaEncrypt:
          case A.publicKey.rsaEncryptSign:
            return {
              c: K.readMPI(a.subarray(i))
            };
          case A.publicKey.elgamal: {
            const l = K.readMPI(a.subarray(i));
            return i += l.length + 2, {
              c1: l,
              c2: K.readMPI(a.subarray(i))
            };
          }
          case A.publicKey.ecdh: {
            const l = K.readMPI(a.subarray(i));
            i += l.length + 2;
            const c = new hm();
            return c.read(a.subarray(i)), {
              V: l,
              C: c
            };
          }
          case A.publicKey.x25519:
          case A.publicKey.x448: {
            const l = Q0(n), c = K.readExactSubarray(a, i, i + l);
            i += c.length;
            const u = new Ad();
            return u.read(a.subarray(i)), {
              ephemeralPublicKey: c,
              C: u
            };
          }
          default:
            throw new st("Unknown public key encryption algorithm.");
        }
      })(this.publicKeyAlgorithm, t.subarray(r)), this.publicKeyAlgorithm === A.publicKey.x25519 || this.publicKeyAlgorithm === A.publicKey.x448) {
        if (this.version === 3) this.sessionKeyAlgorithm = A.write(A.symmetric, this.encrypted.C.algorithm);
        else if (this.encrypted.C.algorithm !== null) throw Error("Unexpected cleartext symmetric algorithm");
      }
    }
    write() {
      const t = [
        new Uint8Array([
          this.version
        ])
      ];
      return this.version === 6 ? this.publicKeyFingerprint !== null ? (t.push(new Uint8Array([
        this.publicKeyFingerprint.length + 1,
        this.publicKeyVersion
      ])), t.push(this.publicKeyFingerprint)) : t.push(new Uint8Array([
        0
      ])) : t.push(this.publicKeyID.write()), t.push(new Uint8Array([
        this.publicKeyAlgorithm
      ]), rs(this.publicKeyAlgorithm, this.encrypted)), K.concatUint8Array(t);
    }
    async encrypt(t) {
      const r = A.write(A.publicKey, this.publicKeyAlgorithm), n = this.version === 3 ? this.sessionKeyAlgorithm : null, a = t.version === 5 ? t.getFingerprintBytes().subarray(0, 20) : t.getFingerprintBytes(), i = R3(this.version, r, n, this.sessionKey);
      this.encrypted = await Lw(r, n, t.publicParams, i, a);
    }
    async decrypt(t, r) {
      if (this.publicKeyAlgorithm !== t.algorithm) throw Error("Decryption error");
      const n = r ? R3(this.version, this.publicKeyAlgorithm, r.sessionKeyAlgorithm, r.sessionKey) : null, a = t.version === 5 ? t.getFingerprintBytes().subarray(0, 20) : t.getFingerprintBytes(), i = await Ow(this.publicKeyAlgorithm, t.publicParams, t.privateParams, this.encrypted, a, n), { sessionKey: l, sessionKeyAlgorithm: c } = (function(u, x, f, h) {
        switch (x) {
          case A.publicKey.rsaEncrypt:
          case A.publicKey.rsaEncryptSign:
          case A.publicKey.elgamal:
          case A.publicKey.ecdh: {
            const p = f.subarray(0, f.length - 2), m = f.subarray(f.length - 2), y = K.writeChecksum(p.subarray(p.length % 8)), B = y[0] === m[0] & y[1] === m[1], v = u === 6 ? {
              sessionKeyAlgorithm: null,
              sessionKey: p
            } : {
              sessionKeyAlgorithm: p[0],
              sessionKey: p.subarray(1)
            };
            if (h) {
              const D = B & v.sessionKeyAlgorithm === h.sessionKeyAlgorithm & v.sessionKey.length === h.sessionKey.length;
              return {
                sessionKey: K.selectUint8Array(D, v.sessionKey, h.sessionKey),
                sessionKeyAlgorithm: u === 6 ? null : K.selectUint8(D, v.sessionKeyAlgorithm, h.sessionKeyAlgorithm)
              };
            }
            if (B && (u === 6 || A.read(A.symmetric, v.sessionKeyAlgorithm))) return v;
            throw Error("Decryption error");
          }
          case A.publicKey.x25519:
          case A.publicKey.x448:
            return {
              sessionKeyAlgorithm: null,
              sessionKey: f
            };
          default:
            throw Error("Unsupported public key algorithm");
        }
      })(this.version, this.publicKeyAlgorithm, i, r);
      if (this.version === 3) {
        const u = this.publicKeyAlgorithm !== A.publicKey.x25519 && this.publicKeyAlgorithm !== A.publicKey.x448;
        if (this.sessionKeyAlgorithm = u ? c : this.sessionKeyAlgorithm, l.length !== gt(this.sessionKeyAlgorithm).keySize) throw Error("Unexpected session key size");
      }
      this.sessionKey = l;
    }
  }
  function R3(e, t, r, n) {
    switch (t) {
      case A.publicKey.rsaEncrypt:
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.elgamal:
      case A.publicKey.ecdh:
        return K.concatUint8Array([
          new Uint8Array(e === 6 ? [] : [
            r
          ]),
          n,
          K.writeChecksum(n.subarray(n.length % 8))
        ]);
      case A.publicKey.x25519:
      case A.publicKey.x448:
        return n;
      default:
        throw Error("Unsupported public key algorithm");
    }
  }
  class as {
    static get tag() {
      return A.packet.symEncryptedSessionKey;
    }
    constructor(t = Be) {
      this.version = t.aeadProtect ? 6 : 4, this.sessionKey = null, this.sessionKeyEncryptionAlgorithm = null, this.sessionKeyAlgorithm = null, this.aeadAlgorithm = A.write(A.aead, t.preferredAEADAlgorithm), this.encrypted = null, this.s2k = null, this.iv = null;
    }
    read(t) {
      let r = 0;
      if (this.version = t[r++], this.version !== 4 && this.version !== 5 && this.version !== 6) throw new st(`Version ${this.version} of the SKESK packet is unsupported.`);
      this.version === 6 && r++;
      const n = t[r++];
      this.version >= 5 && (this.aeadAlgorithm = t[r++], this.version === 6 && r++);
      const a = t[r++];
      if (this.s2k = Gx(a), r += this.s2k.read(t.subarray(r, t.length)), this.version >= 5) {
        const i = $a(this.aeadAlgorithm, true);
        this.iv = t.subarray(r, r += i.ivLength);
      }
      this.version >= 5 || r < t.length ? (this.encrypted = t.subarray(r, t.length), this.sessionKeyEncryptionAlgorithm = n) : this.sessionKeyAlgorithm = n;
    }
    write() {
      const t = this.encrypted === null ? this.sessionKeyAlgorithm : this.sessionKeyEncryptionAlgorithm;
      let r;
      const n = this.s2k.write();
      if (this.version === 6) {
        const a = n.length, i = 3 + a + this.iv.length;
        r = K.concatUint8Array([
          new Uint8Array([
            this.version,
            i,
            t,
            this.aeadAlgorithm,
            a
          ]),
          n,
          this.iv,
          this.encrypted
        ]);
      } else this.version === 5 ? r = K.concatUint8Array([
        new Uint8Array([
          this.version,
          t,
          this.aeadAlgorithm
        ]),
        n,
        this.iv,
        this.encrypted
      ]) : (r = K.concatUint8Array([
        new Uint8Array([
          this.version,
          t
        ]),
        n
      ]), this.encrypted !== null && (r = K.concatUint8Array([
        r,
        this.encrypted
      ])));
      return r;
    }
    async decrypt(t) {
      const r = this.sessionKeyEncryptionAlgorithm !== null ? this.sessionKeyEncryptionAlgorithm : this.sessionKeyAlgorithm, { blockSize: n, keySize: a } = gt(r), i = await this.s2k.produceKey(t, a);
      if (this.version >= 5) {
        const l = $a(this.aeadAlgorithm, true), c = new Uint8Array([
          192 | as.tag,
          this.version,
          this.sessionKeyEncryptionAlgorithm,
          this.aeadAlgorithm
        ]), u = this.version === 6 ? await ei(A.hash.sha256, i, new Uint8Array(), c, a) : i, x = await l(r, u);
        this.sessionKey = await x.decrypt(this.encrypted, this.iv, c);
      } else if (this.encrypted !== null) {
        const l = await bd(r, i, this.encrypted, new Uint8Array(n));
        if (this.sessionKeyAlgorithm = A.write(A.symmetric, l[0]), this.sessionKey = l.subarray(1, l.length), this.sessionKey.length !== gt(this.sessionKeyAlgorithm).keySize) throw Error("Unexpected session key size");
      } else this.sessionKey = i;
    }
    async encrypt(t, r = Be) {
      const n = this.sessionKeyEncryptionAlgorithm !== null ? this.sessionKeyEncryptionAlgorithm : this.sessionKeyAlgorithm;
      this.sessionKeyEncryptionAlgorithm = n, this.s2k = ym(r), this.s2k.generateSalt();
      const { blockSize: a, keySize: i } = gt(n), l = await this.s2k.produceKey(t, i);
      if (this.sessionKey === null && (this.sessionKey = p8(this.sessionKeyAlgorithm)), this.version >= 5) {
        const c = $a(this.aeadAlgorithm);
        this.iv = ur(c.ivLength);
        const u = new Uint8Array([
          192 | as.tag,
          this.version,
          this.sessionKeyEncryptionAlgorithm,
          this.aeadAlgorithm
        ]), x = this.version === 6 ? await ei(A.hash.sha256, l, new Uint8Array(), u, i) : l, f = await c(n, x);
        this.encrypted = await f.encrypt(this.sessionKey, this.iv, u);
      } else {
        const c = K.concatUint8Array([
          new Uint8Array([
            this.sessionKeyAlgorithm
          ]),
          this.sessionKey
        ]);
        this.encrypted = await Yl(n, l, c, new Uint8Array(a));
      }
    }
  }
  class da {
    static get tag() {
      return A.packet.publicKey;
    }
    constructor(t = /* @__PURE__ */ new Date(), r = Be) {
      this.version = r.v6Keys ? 6 : 4, this.created = K.normalizeDate(t), this.algorithm = null, this.publicParams = null, this.expirationTimeV3 = 0, this.fingerprint = null, this.keyID = null;
    }
    static fromSecretKeyPacket(t) {
      const r = new da(), { version: n, created: a, algorithm: i, publicParams: l, keyID: c, fingerprint: u } = t;
      return r.version = n, r.created = a, r.algorithm = i, r.publicParams = l, r.keyID = c, r.fingerprint = u, r;
    }
    async read(t, r = Be) {
      let n = 0;
      if (this.version = t[n++], this.version === 5 && !r.enableParsingV5Entities) throw new st("Support for parsing v5 entities is disabled; turn on `config.enableParsingV5Entities` if needed");
      if (this.version === 4 || this.version === 5 || this.version === 6) {
        this.created = K.readDate(t.subarray(n, n + 4)), n += 4, this.algorithm = t[n++], this.version >= 5 && (n += 4);
        const { read: a, publicParams: i } = (function(l, c) {
          let u = 0;
          switch (l) {
            case A.publicKey.rsaEncrypt:
            case A.publicKey.rsaEncryptSign:
            case A.publicKey.rsaSign: {
              const x = K.readMPI(c.subarray(u));
              u += x.length + 2;
              const f = K.readMPI(c.subarray(u));
              return u += f.length + 2, {
                read: u,
                publicParams: {
                  n: x,
                  e: f
                }
              };
            }
            case A.publicKey.dsa: {
              const x = K.readMPI(c.subarray(u));
              u += x.length + 2;
              const f = K.readMPI(c.subarray(u));
              u += f.length + 2;
              const h = K.readMPI(c.subarray(u));
              u += h.length + 2;
              const p = K.readMPI(c.subarray(u));
              return u += p.length + 2, {
                read: u,
                publicParams: {
                  p: x,
                  q: f,
                  g: h,
                  y: p
                }
              };
            }
            case A.publicKey.elgamal: {
              const x = K.readMPI(c.subarray(u));
              u += x.length + 2;
              const f = K.readMPI(c.subarray(u));
              u += f.length + 2;
              const h = K.readMPI(c.subarray(u));
              return u += h.length + 2, {
                read: u,
                publicParams: {
                  p: x,
                  g: f,
                  y: h
                }
              };
            }
            case A.publicKey.ecdsa: {
              const x = new Wa();
              u += x.read(c), lh(x);
              const f = K.readMPI(c.subarray(u));
              return u += f.length + 2, {
                read: u,
                publicParams: {
                  oid: x,
                  Q: f
                }
              };
            }
            case A.publicKey.eddsaLegacy: {
              const x = new Wa();
              if (u += x.read(c), lh(x), x.getName() !== A.curve.ed25519Legacy) throw Error("Unexpected OID for eddsaLegacy");
              let f = K.readMPI(c.subarray(u));
              return u += f.length + 2, f = K.leftPad(f, 33), {
                read: u,
                publicParams: {
                  oid: x,
                  Q: f
                }
              };
            }
            case A.publicKey.ecdh: {
              const x = new Wa();
              u += x.read(c), lh(x);
              const f = K.readMPI(c.subarray(u));
              u += f.length + 2;
              const h = new pm();
              return u += h.read(c.subarray(u)), {
                read: u,
                publicParams: {
                  oid: x,
                  Q: f,
                  kdfParams: h
                }
              };
            }
            case A.publicKey.ed25519:
            case A.publicKey.ed448:
            case A.publicKey.x25519:
            case A.publicKey.x448: {
              const x = K.readExactSubarray(c, u, u + Q0(l));
              return u += x.length, {
                read: u,
                publicParams: {
                  A: x
                }
              };
            }
            default:
              throw new st("Unknown public key encryption algorithm.");
          }
        })(this.algorithm, t.subarray(n));
        if (this.version === 6 && i.oid && (i.oid.getName() === A.curve.curve25519Legacy || i.oid.getName() === A.curve.ed25519Legacy)) throw Error("Legacy curve25519 cannot be used with v6 keys");
        return this.publicParams = i, n += a, await this.computeFingerprintAndKeyID(), n;
      }
      throw new st(`Version ${this.version} of the key packet is unsupported.`);
    }
    write() {
      const t = [];
      t.push(new Uint8Array([
        this.version
      ])), t.push(K.writeDate(this.created)), t.push(new Uint8Array([
        this.algorithm
      ]));
      const r = rs(this.algorithm, this.publicParams);
      return this.version >= 5 && t.push(K.writeNumber(r.length, 4)), t.push(r), K.concatUint8Array(t);
    }
    writeForHash(t) {
      const r = this.writePublicKey(), n = 149 + t, a = t >= 5 ? 4 : 2;
      return K.concatUint8Array([
        new Uint8Array([
          n
        ]),
        K.writeNumber(r.length, a),
        r
      ]);
    }
    isDecrypted() {
      return null;
    }
    getCreationTime() {
      return this.created;
    }
    getKeyID() {
      return this.keyID;
    }
    async computeFingerprintAndKeyID() {
      if (await this.computeFingerprint(), this.keyID = new ma(), this.version >= 5) this.keyID.read(this.fingerprint.subarray(0, 8));
      else {
        if (this.version !== 4) throw Error("Unsupported key version");
        this.keyID.read(this.fingerprint.subarray(12, 20));
      }
    }
    async computeFingerprint() {
      const t = this.writeForHash(this.version);
      if (this.version >= 5) this.fingerprint = await Aa(A.hash.sha256, t);
      else {
        if (this.version !== 4) throw Error("Unsupported key version");
        this.fingerprint = await Aa(A.hash.sha1, t);
      }
    }
    getFingerprintBytes() {
      return this.fingerprint;
    }
    getFingerprint() {
      return K.uint8ArrayToHex(this.getFingerprintBytes());
    }
    hasSameFingerprintAs(t) {
      return this.version === t.version && K.equalsUint8Array(this.writePublicKey(), t.writePublicKey());
    }
    getAlgorithmInfo() {
      const t = {};
      t.algorithm = A.read(A.publicKey, this.algorithm);
      const r = this.publicParams.n || this.publicParams.p;
      return r ? t.bits = K.uint8ArrayBitLength(r) : this.publicParams.oid && (t.curve = this.publicParams.oid.getName()), t;
    }
  }
  da.prototype.readPublicKey = da.prototype.read, da.prototype.writePublicKey = da.prototype.write;
  const vv = K.constructAllowedPackets([
    fs,
    bc,
    wn,
    xr
  ]);
  class Bv {
    static get tag() {
      return A.packet.symmetricallyEncryptedData;
    }
    constructor() {
      this.encrypted = null, this.packets = null;
    }
    read(t) {
      this.encrypted = t;
    }
    write() {
      return this.encrypted;
    }
    async decrypt(t, r, n = Be) {
      if (!n.allowUnauthenticatedMessages) throw Error("Message is not authenticated.");
      const { blockSize: a } = gt(t), i = await Mt(Ki(this.encrypted)), l = await bd(t, r, i.subarray(a + 2), i.subarray(2, a + 2));
      this.packets = await dt.fromBinary(l, vv, n);
    }
    async encrypt(t, r, n = Be) {
      const a = this.packets.write(), { blockSize: i } = gt(t), l = await gm(t), c = await Yl(t, r, l, new Uint8Array(i)), u = await Yl(t, r, a, c.subarray(2));
      this.encrypted = K.concat([
        c,
        u
      ]);
    }
  }
  class kd extends da {
    static get tag() {
      return A.packet.publicSubkey;
    }
    constructor(t, r) {
      super(t, r);
    }
    static fromSecretSubkeyPacket(t) {
      const r = new kd(), { version: n, created: a, algorithm: i, publicParams: l, keyID: c, fingerprint: u } = t;
      return r.version = n, r.created = a, r.algorithm = i, r.publicParams = l, r.keyID = c, r.fingerprint = u, r;
    }
  }
  class E9 {
    static get tag() {
      return A.packet.userAttribute;
    }
    constructor() {
      this.attributes = [];
    }
    read(t) {
      let r = 0;
      for (; r < t.length; ) {
        const n = Ug(t.subarray(r, t.length));
        r += n.offset, this.attributes.push(K.uint8ArrayToString(t.subarray(r, r + n.len))), r += n.len;
      }
    }
    write() {
      const t = [];
      for (let r = 0; r < this.attributes.length; r++) t.push(xd(this.attributes[r].length)), t.push(K.stringToUint8Array(this.attributes[r]));
      return K.concatUint8Array(t);
    }
    equals(t) {
      return !!(t && t instanceof E9) && this.attributes.every((function(r, n) {
        return r === t.attributes[n];
      }));
    }
  }
  class Cm extends da {
    static get tag() {
      return A.packet.secretKey;
    }
    constructor(t = /* @__PURE__ */ new Date(), r = Be) {
      super(t, r), this.keyMaterial = null, this.isEncrypted = null, this.s2kUsage = 0, this.s2k = null, this.symmetric = null, this.aead = null, this.isLegacyAEAD = null, this.privateParams = null, this.usedModernAEAD = null;
    }
    async read(t, r = Be) {
      let n = await this.readPublicKey(t, r);
      const a = n;
      this.s2kUsage = t[n++], this.version === 5 && n++, this.version === 6 && this.s2kUsage && n++;
      try {
        if (this.s2kUsage === 255 || this.s2kUsage === 254 || this.s2kUsage === 253) {
          this.symmetric = t[n++], this.s2kUsage === 253 && (this.aead = t[n++]), this.version === 6 && n++;
          const i = t[n++];
          if (this.s2k = Gx(i), n += this.s2k.read(t.subarray(n, t.length)), this.s2k.type === "gnu-dummy") return;
        } else this.s2kUsage && (this.symmetric = this.s2kUsage);
        this.s2kUsage && (this.isLegacyAEAD = this.s2kUsage === 253 && (this.version === 5 || this.version === 4 && r.parseAEADEncryptedV4KeysAsLegacy), this.s2kUsage !== 253 || this.isLegacyAEAD ? (this.iv = t.subarray(n, n + gt(this.symmetric).blockSize), this.usedModernAEAD = false) : (this.iv = t.subarray(n, n + $a(this.aead).ivLength), this.usedModernAEAD = true), n += this.iv.length);
      } catch (i) {
        if (!this.s2kUsage) throw i;
        this.unparseableKeyMaterial = t.subarray(a), this.isEncrypted = true;
      }
      if (this.version === 5 && (n += 4), this.keyMaterial = t.subarray(n), this.isEncrypted = !!this.s2kUsage, !this.isEncrypted) {
        let i;
        if (this.version === 6) i = this.keyMaterial;
        else if (i = this.keyMaterial.subarray(0, -2), !K.equalsUint8Array(K.writeChecksum(i), this.keyMaterial.subarray(-2))) throw Error("Key checksum mismatch");
        try {
          const { read: l, privateParams: c } = w3(this.algorithm, i, this.publicParams);
          if (l < i.length) throw Error("Error reading MPIs");
          this.privateParams = c;
        } catch (l) {
          throw l instanceof st ? l : Error("Error reading MPIs");
        }
      }
    }
    write() {
      const t = this.writePublicKey();
      if (this.unparseableKeyMaterial) return K.concatUint8Array([
        t,
        this.unparseableKeyMaterial
      ]);
      const r = [
        t
      ];
      r.push(new Uint8Array([
        this.s2kUsage
      ]));
      const n = [];
      if (this.s2kUsage === 255 || this.s2kUsage === 254 || this.s2kUsage === 253) {
        n.push(this.symmetric), this.s2kUsage === 253 && n.push(this.aead);
        const a = this.s2k.write();
        this.version === 6 && n.push(a.length), n.push(...a);
      }
      return this.s2kUsage && this.s2k.type !== "gnu-dummy" && n.push(...this.iv), (this.version === 5 || this.version === 6 && this.s2kUsage) && r.push(new Uint8Array([
        n.length
      ])), r.push(new Uint8Array(n)), this.isDummy() || (this.s2kUsage || (this.keyMaterial = rs(this.algorithm, this.privateParams)), this.version === 5 && r.push(K.writeNumber(this.keyMaterial.length, 4)), r.push(this.keyMaterial), this.s2kUsage || this.version === 6 || r.push(K.writeChecksum(this.keyMaterial))), K.concatUint8Array(r);
    }
    isDecrypted() {
      return this.isEncrypted === false;
    }
    isMissingSecretKeyMaterial() {
      return this.unparseableKeyMaterial !== void 0 || this.isDummy();
    }
    isDummy() {
      return !(!this.s2k || this.s2k.type !== "gnu-dummy");
    }
    makeDummy(t = Be) {
      this.isDummy() || (this.isDecrypted() && this.clearPrivateParams(), delete this.unparseableKeyMaterial, this.isEncrypted = null, this.keyMaterial = null, this.s2k = Gx(A.s2k.gnu, t), this.s2k.algorithm = 0, this.s2k.c = 0, this.s2k.type = "gnu-dummy", this.s2kUsage = 254, this.symmetric = A.symmetric.aes256, this.isLegacyAEAD = null, this.usedModernAEAD = null);
    }
    async encrypt(t, r = Be) {
      if (this.isDummy()) return;
      if (!this.isDecrypted()) throw Error("Key packet is already encrypted");
      if (!t) throw Error("A non-empty passphrase is required for key encryption.");
      this.s2k = ym(r), this.s2k.generateSalt();
      const n = rs(this.algorithm, this.privateParams);
      this.symmetric = A.symmetric.aes256;
      const { blockSize: a } = gt(this.symmetric);
      if (r.aeadProtect) {
        this.s2kUsage = 253, this.aead = r.preferredAEADAlgorithm;
        const i = $a(this.aead);
        this.isLegacyAEAD = this.version === 5, this.usedModernAEAD = !this.isLegacyAEAD;
        const l = Kx(this.constructor.tag), c = await gh(this.version, this.s2k, t, this.symmetric, this.aead, l, this.isLegacyAEAD), u = await i(this.symmetric, c);
        this.iv = this.isLegacyAEAD ? ur(a) : ur(i.ivLength);
        const x = this.isLegacyAEAD ? new Uint8Array() : K.concatUint8Array([
          l,
          this.writePublicKey()
        ]);
        this.keyMaterial = await u.encrypt(n, this.iv.subarray(0, i.ivLength), x);
      } else {
        this.s2kUsage = 254, this.usedModernAEAD = false;
        const i = await gh(this.version, this.s2k, t, this.symmetric);
        this.iv = ur(a), this.keyMaterial = await Yl(this.symmetric, i, K.concatUint8Array([
          n,
          await Aa(A.hash.sha1, n)
        ]), this.iv);
      }
    }
    async decrypt(t) {
      if (this.isDummy()) return false;
      if (this.unparseableKeyMaterial) throw Error("Key packet cannot be decrypted: unsupported S2K or cipher algo");
      if (this.isDecrypted()) throw Error("Key packet is already decrypted.");
      let r;
      const n = Kx(this.constructor.tag);
      if (this.s2kUsage !== 254 && this.s2kUsage !== 253) throw this.s2kUsage === 255 ? Error("Encrypted private key is authenticated using an insecure two-byte hash") : Error("Private key is encrypted using an insecure S2K function: unsalted MD5");
      let a;
      if (r = await gh(this.version, this.s2k, t, this.symmetric, this.aead, n, this.isLegacyAEAD), this.s2kUsage === 253) {
        const i = $a(this.aead, true), l = await i(this.symmetric, r);
        try {
          const c = this.isLegacyAEAD ? new Uint8Array() : K.concatUint8Array([
            n,
            this.writePublicKey()
          ]);
          a = await l.decrypt(this.keyMaterial, this.iv.subarray(0, i.ivLength), c);
        } catch (c) {
          throw c.message === "Authentication tag mismatch" ? Error("Incorrect key passphrase: " + c.message) : c;
        }
      } else {
        const i = await bd(this.symmetric, r, this.keyMaterial, this.iv);
        a = i.subarray(0, -20);
        const l = await Aa(A.hash.sha1, a);
        if (!K.equalsUint8Array(l, i.subarray(-20))) throw Error("Incorrect key passphrase");
      }
      try {
        const { privateParams: i } = w3(this.algorithm, a, this.publicParams);
        this.privateParams = i;
      } catch {
        throw Error("Error reading MPIs");
      }
      this.isEncrypted = false, this.keyMaterial = null, this.s2kUsage = 0, this.aead = null, this.symmetric = null, this.isLegacyAEAD = null;
    }
    async validate() {
      if (this.isDummy()) return;
      if (!this.isDecrypted()) throw Error("Key is not decrypted");
      if (this.usedModernAEAD) return;
      let t;
      try {
        t = await Qw(this.algorithm, this.publicParams, this.privateParams);
      } catch {
        t = false;
      }
      if (!t) throw Error("Key is invalid");
    }
    async generate(t, r) {
      if (this.version === 6 && (this.algorithm === A.publicKey.ecdh && r === A.curve.curve25519Legacy || this.algorithm === A.publicKey.eddsaLegacy)) throw Error(`Cannot generate v6 keys of type 'ecc' with curve ${r}. Generate a key of type 'curve25519' instead`);
      const { privateParams: n, publicParams: a } = await Hw(this.algorithm, t, r);
      this.privateParams = n, this.publicParams = a, this.isEncrypted = false;
    }
    clearPrivateParams() {
      this.isMissingSecretKeyMaterial() || (Object.keys(this.privateParams).forEach(((t) => {
        this.privateParams[t].fill(0), delete this.privateParams[t];
      })), this.privateParams = null, this.isEncrypted = true);
    }
  }
  async function gh(e, t, r, n, a, i, l) {
    if (t.type === "argon2" && !a) throw Error("Using Argon2 S2K without AEAD is not allowed");
    if (t.type === "simple" && e === 6) throw Error("Using Simple S2K with version 6 keys is not allowed");
    const { keySize: c } = gt(n), u = await t.produceKey(r, c);
    if (!a || e === 5 || l) return u;
    const x = K.concatUint8Array([
      i,
      new Uint8Array([
        e,
        n,
        a
      ])
    ]);
    return ei(A.hash.sha256, u, new Uint8Array(), x, c);
  }
  class A9 {
    static get tag() {
      return A.packet.userID;
    }
    constructor() {
      this.userID = "", this.name = "", this.email = "", this.comment = "";
    }
    static fromObject(t) {
      if (K.isString(t) || t.name && !K.isString(t.name) || t.email && !K.isEmailAddress(t.email) || t.comment && !K.isString(t.comment)) throw Error("Invalid user ID format");
      const r = new A9();
      Object.assign(r, t);
      const n = [];
      return r.name && n.push(r.name), r.comment && n.push(`(${r.comment})`), r.email && n.push(`<${r.email}>`), r.userID = n.join(" "), r;
    }
    read(t, r = Be) {
      const n = K.decodeUTF8(t);
      if (n.length > r.maxUserIDLength) throw Error("User ID string is too long");
      const a = (c) => /^[^\s@]+@[^\s@]+$/.test(c), i = n.indexOf("<"), l = n.lastIndexOf(">");
      if (i !== -1 && l !== -1 && l > i) {
        const c = n.substring(i + 1, l);
        if (a(c)) {
          this.email = c;
          const u = n.substring(0, i).trim(), x = u.indexOf("("), f = u.lastIndexOf(")");
          x !== -1 && f !== -1 && f > x ? (this.comment = u.substring(x + 1, f).trim(), this.name = u.substring(0, x).trim()) : (this.name = u, this.comment = "");
        }
      } else a(n.trim()) && (this.email = n.trim(), this.name = "", this.comment = "");
      this.userID = n;
    }
    write() {
      return K.encodeUTF8(this.userID);
    }
    equals(t) {
      return t && t.userID === this.userID;
    }
  }
  class km extends Cm {
    static get tag() {
      return A.packet.secretSubkey;
    }
    constructor(t = /* @__PURE__ */ new Date(), r = Be) {
      super(t, r);
    }
  }
  class Dm {
    constructor(t) {
      this.packets = t || new dt();
    }
    write() {
      return this.packets.write();
    }
    armor(t = Be) {
      const r = this.packets.some(((n) => n.constructor.tag === xr.tag && n.version !== 6));
      return yc(A.armor.signature, this.write(), void 0, void 0, void 0, r, t);
    }
    getSigningKeyIDs() {
      return this.packets.map(((t) => t.issuerKeyID));
    }
  }
  async function Cv(e, t) {
    const r = new km(e.date, t);
    return r.packets = null, r.algorithm = A.write(A.publicKey, e.algorithm), await r.generate(e.rsaBits, e.curve), await r.computeFingerprintAndKeyID(), r;
  }
  async function Ln(e, t, r, n, a = /* @__PURE__ */ new Date(), i) {
    let l, c;
    for (let u = e.length - 1; u >= 0; u--) try {
      (!l || e[u].created >= l.created) && (await e[u].verify(t, r, n, a, void 0, i), l = e[u]);
    } catch (x) {
      c = x;
    }
    if (!l) throw K.wrapError(`Could not find valid ${A.read(A.signature, r)} signature in key ${t.getKeyID().toHex()}`.replace("certGeneric ", "self-").replace(/([a-z])([A-Z])/g, ((u, x, f) => x + " " + f.toLowerCase())), c);
    return l;
  }
  function v8(e, t, r = /* @__PURE__ */ new Date()) {
    const n = K.normalizeDate(r);
    if (n !== null) {
      const a = Zx(e, t);
      return !(e.created <= n && n < a);
    }
    return false;
  }
  async function kv(e, t, r, n) {
    const a = {};
    a.key = t, a.bind = e;
    const i = {
      signatureType: A.signature.subkeyBinding
    };
    return r.sign ? (i.keyFlags = [
      A.keyFlags.signData
    ], i.embeddedSignature = await Oi(a, [], e, {
      signatureType: A.signature.keyBinding
    }, r.date, void 0, void 0, void 0, n)) : i.keyFlags = [
      A.keyFlags.encryptCommunication | A.keyFlags.encryptStorage
    ], r.keyExpirationTime > 0 && (i.keyExpirationTime = r.keyExpirationTime, i.keyNeverExpires = false), await Oi(a, [], t, i, r.date, void 0, void 0, void 0, n);
  }
  async function Dv(e, t, r = /* @__PURE__ */ new Date(), n = [], a) {
    const i = A.hash.sha256, l = a.preferredHashAlgorithm, c = await Promise.all(e.map((async (h, p) => (await h.getPrimarySelfSignature(r, n[p], a)).preferredHashAlgorithms || []))), u = /* @__PURE__ */ new Map();
    for (const h of c) for (const p of h) try {
      const m = A.write(A.hash, p);
      u.set(m, u.has(m) ? u.get(m) + 1 : 1);
    } catch {
    }
    const x = (h) => e.length === 0 || u.get(h) === e.length || h === i, f = () => {
      if (u.size === 0) return i;
      const h = Array.from(u.keys()).filter(((p) => x(p))).sort(((p, m) => Wt(p) - Wt(m)))[0];
      return Wt(h) >= Wt(i) ? h : i;
    };
    if ((/* @__PURE__ */ new Set([
      A.publicKey.ecdsa,
      A.publicKey.eddsaLegacy,
      A.publicKey.ed25519,
      A.publicKey.ed448
    ])).has(t.algorithm)) {
      const h = (function(y, B) {
        switch (y) {
          case A.publicKey.ecdsa:
          case A.publicKey.eddsaLegacy:
            return rm(B);
          case A.publicKey.ed25519:
          case A.publicKey.ed448:
            return fd(y);
          default:
            throw Error("Unknown elliptic signing algo");
        }
      })(t.algorithm, t.publicParams.oid), p = x(l), m = Wt(l) >= Wt(h);
      if (p && m) return l;
      {
        const y = f();
        return Wt(y) >= Wt(h) ? y : h;
      }
    }
    return x(l) ? l : f();
  }
  async function Oi(e, t, r, n, a, i, l = [], c = false, u) {
    if (r.isDummy()) throw Error("Cannot sign with a gnu-dummy key.");
    if (!r.isDecrypted()) throw Error("Signing key is not decrypted.");
    const x = new xr();
    return Object.assign(x, n), x.publicKeyAlgorithm = r.algorithm, x.hashAlgorithm = await Dv(t, r, a, i, u), x.rawNotations = [
      ...l
    ], await x.sign(r, e, a, c, u), x;
  }
  async function Ti(e, t, r, n = /* @__PURE__ */ new Date(), a) {
    (e = e[r]) && (t[r].length ? await Promise.all(e.map((async function(i) {
      i.isExpired(n) || a && !await a(i) || t[r].some((function(l) {
        return K.equalsUint8Array(l.writeParams(), i.writeParams());
      })) || t[r].push(i);
    }))) : t[r] = e);
  }
  async function os(e, t, r, n, a, i, l = /* @__PURE__ */ new Date(), c) {
    i = i || e;
    const u = [];
    return await Promise.all(n.map((async function(x) {
      try {
        if (!a || x.issuerKeyID.equals(a.issuerKeyID)) {
          const f = ![
            A.reasonForRevocation.keyRetired,
            A.reasonForRevocation.keySuperseded,
            A.reasonForRevocation.userIDInvalid
          ].includes(x.reasonForRevocationFlag);
          await x.verify(i, t, r, f ? null : l, false, c), u.push(x.issuerKeyID);
        }
      } catch {
      }
    }))), a ? (a.revoked = !!u.some(((x) => x.equals(a.issuerKeyID))) || a.revoked || false, a.revoked) : u.length > 0;
  }
  function Zx(e, t) {
    let r;
    return t.keyNeverExpires === false && (r = e.created.getTime() + 1e3 * t.keyExpirationTime), r ? new Date(r) : 1 / 0;
  }
  function Fv(e, t = {}) {
    switch (e.type = e.type || t.type, e.curve = e.curve || t.curve, e.rsaBits = e.rsaBits || t.rsaBits, e.keyExpirationTime = e.keyExpirationTime !== void 0 ? e.keyExpirationTime : t.keyExpirationTime, e.passphrase = K.isString(e.passphrase) ? e.passphrase : t.passphrase, e.date = e.date || t.date, e.sign = e.sign || false, e.type) {
      case "ecc":
        try {
          e.curve = A.write(A.curve, e.curve);
        } catch {
          throw Error("Unknown curve");
        }
        e.curve !== A.curve.ed25519Legacy && e.curve !== A.curve.curve25519Legacy && e.curve !== "ed25519" && e.curve !== "curve25519" || (e.curve = e.sign ? A.curve.ed25519Legacy : A.curve.curve25519Legacy), e.sign ? e.algorithm = e.curve === A.curve.ed25519Legacy ? A.publicKey.eddsaLegacy : A.publicKey.ecdsa : e.algorithm = A.publicKey.ecdh;
        break;
      case "curve25519":
        e.algorithm = e.sign ? A.publicKey.ed25519 : A.publicKey.x25519;
        break;
      case "curve448":
        e.algorithm = e.sign ? A.publicKey.ed448 : A.publicKey.x448;
        break;
      case "rsa":
        e.algorithm = A.publicKey.rsaEncryptSign;
        break;
      default:
        throw Error("Unsupported key type " + e.type);
    }
    return e;
  }
  function K3(e, t, r) {
    switch (e.algorithm) {
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.rsaSign:
      case A.publicKey.dsa:
      case A.publicKey.ecdsa:
      case A.publicKey.eddsaLegacy:
      case A.publicKey.ed25519:
      case A.publicKey.ed448:
        if (!t.keyFlags && !r.allowMissingKeyFlags) throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");
        return !t.keyFlags || !!(t.keyFlags[0] & A.keyFlags.signData);
      default:
        return false;
    }
  }
  function M3(e, t, r) {
    switch (e.algorithm) {
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.rsaEncrypt:
      case A.publicKey.elgamal:
      case A.publicKey.ecdh:
      case A.publicKey.x25519:
      case A.publicKey.x448:
        if (!t.keyFlags && !r.allowMissingKeyFlags) throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");
        return !t.keyFlags || !!(t.keyFlags[0] & A.keyFlags.encryptCommunication) || !!(t.keyFlags[0] & A.keyFlags.encryptStorage);
      default:
        return false;
    }
  }
  function L3(e, t, r) {
    if (!t.keyFlags && !r.allowMissingKeyFlags) throw Error("None of the key flags is set: consider passing `config.allowMissingKeyFlags`");
    switch (e.algorithm) {
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.rsaEncrypt:
      case A.publicKey.elgamal:
      case A.publicKey.ecdh:
      case A.publicKey.x25519:
      case A.publicKey.x448:
        return !(!(!t.keyFlags || t.keyFlags[0] & A.keyFlags.signData) || !r.allowInsecureDecryptionWithSigningKeys) || !t.keyFlags || !!(t.keyFlags[0] & A.keyFlags.encryptCommunication) || !!(t.keyFlags[0] & A.keyFlags.encryptStorage);
      default:
        return false;
    }
  }
  function Fi(e, t) {
    const r = A.write(A.publicKey, e.algorithm), n = e.getAlgorithmInfo();
    if (t.rejectPublicKeyAlgorithms.has(r)) throw Error(n.algorithm + " keys are considered too weak.");
    switch (r) {
      case A.publicKey.rsaEncryptSign:
      case A.publicKey.rsaSign:
      case A.publicKey.rsaEncrypt:
        if (n.bits < t.minRSABits) throw Error(`RSA keys shorter than ${t.minRSABits} bits are considered too weak.`);
        break;
      case A.publicKey.ecdsa:
      case A.publicKey.eddsaLegacy:
      case A.publicKey.ecdh:
        if (t.rejectCurves.has(n.curve)) throw Error(`Support for ${n.algorithm} keys using curve ${n.curve} is disabled.`);
    }
  }
  class Ol {
    constructor(t, r) {
      this.userID = t.constructor.tag === A.packet.userID ? t : null, this.userAttribute = t.constructor.tag === A.packet.userAttribute ? t : null, this.selfCertifications = [], this.otherCertifications = [], this.revocationSignatures = [], this.mainKey = r;
    }
    toPacketList() {
      const t = new dt();
      return t.push(this.userID || this.userAttribute), t.push(...this.revocationSignatures), t.push(...this.selfCertifications), t.push(...this.otherCertifications), t;
    }
    clone() {
      const t = new Ol(this.userID || this.userAttribute, this.mainKey);
      return t.selfCertifications = [
        ...this.selfCertifications
      ], t.otherCertifications = [
        ...this.otherCertifications
      ], t.revocationSignatures = [
        ...this.revocationSignatures
      ], t;
    }
    async certify(t, r, n) {
      const a = this.mainKey.keyPacket, i = {
        userID: this.userID,
        userAttribute: this.userAttribute,
        key: a
      }, l = new Ol(i.userID || i.userAttribute, this.mainKey);
      return l.otherCertifications = await Promise.all(t.map((async function(c) {
        if (!c.isPrivate()) throw Error("Need private key for signing");
        if (c.hasSameFingerprintAs(a)) throw Error("The user's own key can only be used for self-certifications");
        const u = await c.getSigningKey(void 0, r, void 0, n);
        return Oi(i, [
          c
        ], u.keyPacket, {
          signatureType: A.signature.certGeneric,
          keyFlags: [
            A.keyFlags.certifyKeys | A.keyFlags.signData
          ]
        }, r, void 0, void 0, void 0, n);
      }))), await l.update(this, r, n), l;
    }
    async isRevoked(t, r, n = /* @__PURE__ */ new Date(), a = Be) {
      const i = this.mainKey.keyPacket;
      return os(i, A.signature.certRevocation, {
        key: i,
        userID: this.userID,
        userAttribute: this.userAttribute
      }, this.revocationSignatures, t, r, n, a);
    }
    async verifyCertificate(t, r, n = /* @__PURE__ */ new Date(), a) {
      const i = this, l = this.mainKey.keyPacket, c = {
        userID: this.userID,
        userAttribute: this.userAttribute,
        key: l
      }, { issuerKeyID: u } = t, x = r.filter(((f) => f.getKeys(u).length > 0));
      return x.length === 0 ? null : (await Promise.all(x.map((async (f) => {
        const h = await f.getSigningKey(u, t.created, void 0, a);
        if (t.revoked || await i.isRevoked(t, h.keyPacket, n, a)) throw Error("User certificate is revoked");
        try {
          await t.verify(h.keyPacket, A.signature.certGeneric, c, n, void 0, a);
        } catch (p) {
          throw K.wrapError("User certificate is invalid", p);
        }
      }))), true);
    }
    async verifyAllCertifications(t, r = /* @__PURE__ */ new Date(), n) {
      const a = this, i = this.selfCertifications.concat(this.otherCertifications);
      return Promise.all(i.map((async (l) => ({
        keyID: l.issuerKeyID,
        valid: await a.verifyCertificate(l, t, r, n).catch((() => false))
      }))));
    }
    async verify(t = /* @__PURE__ */ new Date(), r) {
      if (!this.selfCertifications.length) throw Error("No self-certifications found");
      const n = this, a = this.mainKey.keyPacket, i = {
        userID: this.userID,
        userAttribute: this.userAttribute,
        key: a
      };
      let l;
      for (let c = this.selfCertifications.length - 1; c >= 0; c--) try {
        const u = this.selfCertifications[c];
        if (u.revoked || await n.isRevoked(u, void 0, t, r)) throw Error("Self-certification is revoked");
        try {
          await u.verify(a, A.signature.certGeneric, i, t, void 0, r);
        } catch (x) {
          throw K.wrapError("Self-certification is invalid", x);
        }
        return true;
      } catch (u) {
        l = u;
      }
      throw l;
    }
    async update(t, r, n) {
      const a = this.mainKey.keyPacket, i = {
        userID: this.userID,
        userAttribute: this.userAttribute,
        key: a
      };
      await Ti(t, this, "selfCertifications", r, (async function(l) {
        try {
          return await l.verify(a, A.signature.certGeneric, i, r, false, n), true;
        } catch {
          return false;
        }
      })), await Ti(t, this, "otherCertifications", r), await Ti(t, this, "revocationSignatures", r, (function(l) {
        return os(a, A.signature.certRevocation, i, [
          l
        ], void 0, void 0, r, n);
      }));
    }
    async revoke(t, { flag: r = A.reasonForRevocation.noReason, string: n = "" } = {}, a = /* @__PURE__ */ new Date(), i = Be) {
      const l = {
        userID: this.userID,
        userAttribute: this.userAttribute,
        key: t
      }, c = new Ol(l.userID || l.userAttribute, this.mainKey);
      return c.revocationSignatures.push(await Oi(l, [], t, {
        signatureType: A.signature.certRevocation,
        reasonForRevocationFlag: A.write(A.reasonForRevocation, r),
        reasonForRevocationString: n
      }, a, void 0, void 0, false, i)), await c.update(this), c;
    }
  }
  class is {
    constructor(t, r) {
      this.keyPacket = t, this.bindingSignatures = [], this.revocationSignatures = [], this.mainKey = r;
    }
    toPacketList() {
      const t = new dt();
      return t.push(this.keyPacket), t.push(...this.revocationSignatures), t.push(...this.bindingSignatures), t;
    }
    clone() {
      const t = new is(this.keyPacket, this.mainKey);
      return t.bindingSignatures = [
        ...this.bindingSignatures
      ], t.revocationSignatures = [
        ...this.revocationSignatures
      ], t;
    }
    async isRevoked(t, r, n = /* @__PURE__ */ new Date(), a = Be) {
      const i = this.mainKey.keyPacket;
      return os(i, A.signature.subkeyRevocation, {
        key: i,
        bind: this.keyPacket
      }, this.revocationSignatures, t, r, n, a);
    }
    async verify(t = /* @__PURE__ */ new Date(), r = Be) {
      const n = this.mainKey.keyPacket, a = {
        key: n,
        bind: this.keyPacket
      }, i = await Ln(this.bindingSignatures, n, A.signature.subkeyBinding, a, t, r);
      if (i.revoked || await this.isRevoked(i, null, t, r)) throw Error("Subkey is revoked");
      if (v8(this.keyPacket, i, t)) throw Error("Subkey is expired");
      return i;
    }
    async getExpirationTime(t = /* @__PURE__ */ new Date(), r = Be) {
      const n = this.mainKey.keyPacket, a = {
        key: n,
        bind: this.keyPacket
      };
      let i;
      try {
        i = await Ln(this.bindingSignatures, n, A.signature.subkeyBinding, a, t, r);
      } catch {
        return null;
      }
      const l = Zx(this.keyPacket, i), c = i.getExpirationTime();
      return l < c ? l : c;
    }
    async update(t, r = /* @__PURE__ */ new Date(), n = Be) {
      const a = this.mainKey.keyPacket;
      if (!this.hasSameFingerprintAs(t)) throw Error("Subkey update method: fingerprints of subkeys not equal");
      this.keyPacket.constructor.tag === A.packet.publicSubkey && t.keyPacket.constructor.tag === A.packet.secretSubkey && (this.keyPacket = t.keyPacket);
      const i = this, l = {
        key: a,
        bind: i.keyPacket
      };
      await Ti(t, this, "bindingSignatures", r, (async function(c) {
        for (let u = 0; u < i.bindingSignatures.length; u++) if (i.bindingSignatures[u].issuerKeyID.equals(c.issuerKeyID)) return c.created > i.bindingSignatures[u].created && (i.bindingSignatures[u] = c), false;
        try {
          return await c.verify(a, A.signature.subkeyBinding, l, r, void 0, n), true;
        } catch {
          return false;
        }
      })), await Ti(t, this, "revocationSignatures", r, (function(c) {
        return os(a, A.signature.subkeyRevocation, l, [
          c
        ], void 0, void 0, r, n);
      }));
    }
    async revoke(t, { flag: r = A.reasonForRevocation.noReason, string: n = "" } = {}, a = /* @__PURE__ */ new Date(), i = Be) {
      const l = {
        key: t,
        bind: this.keyPacket
      }, c = new is(this.keyPacket, this.mainKey);
      return c.revocationSignatures.push(await Oi(l, [], t, {
        signatureType: A.signature.subkeyRevocation,
        reasonForRevocationFlag: A.write(A.reasonForRevocation, r),
        reasonForRevocationString: n
      }, a, void 0, void 0, false, i)), await c.update(this), c;
    }
    hasSameFingerprintAs(t) {
      return this.keyPacket.hasSameFingerprintAs(t.keyPacket || t);
    }
  }
  [
    "getKeyID",
    "getFingerprint",
    "getAlgorithmInfo",
    "getCreationTime",
    "isDecrypted"
  ].forEach(((e) => {
    is.prototype[e] = function() {
      return this.keyPacket[e]();
    };
  }));
  const Sv = K.constructAllowedPackets([
    xr
  ]), O3 = /* @__PURE__ */ new Set([
    A.packet.publicKey,
    A.packet.privateKey
  ]), H3 = /* @__PURE__ */ new Set([
    A.packet.publicKey,
    A.packet.privateKey,
    A.packet.publicSubkey,
    A.packet.privateSubkey
  ]);
  class Fm {
    packetListToStructure(t, r = /* @__PURE__ */ new Set()) {
      let n, a, i, l;
      for (const c of t) {
        if (c instanceof o8) {
          H3.has(c.tag) && !l && (l = O3.has(c.tag) ? O3 : H3);
          continue;
        }
        const u = c.constructor.tag;
        if (l) {
          if (!l.has(u)) continue;
          l = null;
        }
        if (r.has(u)) throw Error("Unexpected packet type: " + u);
        switch (u) {
          case A.packet.publicKey:
          case A.packet.secretKey:
            if (this.keyPacket) throw Error("Key block contains multiple keys");
            if (this.keyPacket = c, a = this.getKeyID(), !a) throw Error("Missing Key ID");
            break;
          case A.packet.userID:
          case A.packet.userAttribute:
            n = new Ol(c, this), this.users.push(n);
            break;
          case A.packet.publicSubkey:
          case A.packet.secretSubkey:
            n = null, i = new is(c, this), this.subkeys.push(i);
            break;
          case A.packet.signature:
            switch (c.signatureType) {
              case A.signature.certGeneric:
              case A.signature.certPersona:
              case A.signature.certCasual:
              case A.signature.certPositive:
                if (!n) {
                  K.printDebug("Dropping certification signatures without preceding user packet");
                  continue;
                }
                c.issuerKeyID.equals(a) ? n.selfCertifications.push(c) : n.otherCertifications.push(c);
                break;
              case A.signature.certRevocation:
                n ? n.revocationSignatures.push(c) : this.directSignatures.push(c);
                break;
              case A.signature.key:
                this.directSignatures.push(c);
                break;
              case A.signature.subkeyBinding:
                if (!i) {
                  K.printDebug("Dropping subkey binding signature without preceding subkey packet");
                  continue;
                }
                i.bindingSignatures.push(c);
                break;
              case A.signature.keyRevocation:
                this.revocationSignatures.push(c);
                break;
              case A.signature.subkeyRevocation:
                if (!i) {
                  K.printDebug("Dropping subkey revocation signature without preceding subkey packet");
                  continue;
                }
                i.revocationSignatures.push(c);
            }
        }
      }
    }
    toPacketList() {
      const t = new dt();
      return t.push(this.keyPacket), t.push(...this.revocationSignatures), t.push(...this.directSignatures), this.users.map(((r) => t.push(...r.toPacketList()))), this.subkeys.map(((r) => t.push(...r.toPacketList()))), t;
    }
    clone(t = false) {
      const r = new this.constructor(this.toPacketList());
      return t && r.getKeys().forEach(((n) => {
        if (n.keyPacket = Object.create(Object.getPrototypeOf(n.keyPacket), Object.getOwnPropertyDescriptors(n.keyPacket)), !n.keyPacket.isDecrypted()) return;
        const a = {};
        Object.keys(n.keyPacket.privateParams).forEach(((i) => {
          a[i] = new Uint8Array(n.keyPacket.privateParams[i]);
        })), n.keyPacket.privateParams = a;
      })), r;
    }
    getSubkeys(t = null) {
      return this.subkeys.filter(((r) => !t || r.getKeyID().equals(t, true)));
    }
    getKeys(t = null) {
      const r = [];
      return t && !this.getKeyID().equals(t, true) || r.push(this), r.concat(this.getSubkeys(t));
    }
    getKeyIDs() {
      return this.getKeys().map(((t) => t.getKeyID()));
    }
    getUserIDs() {
      return this.users.map(((t) => t.userID ? t.userID.userID : null)).filter(((t) => t !== null));
    }
    write() {
      return this.toPacketList().write();
    }
    async getSigningKey(t = null, r = /* @__PURE__ */ new Date(), n = {}, a = Be) {
      await this.verifyPrimaryKey(r, n, a);
      const i = this.keyPacket;
      try {
        Fi(i, a);
      } catch (u) {
        throw K.wrapError("Could not verify primary key", u);
      }
      const l = this.subkeys.slice().sort(((u, x) => x.keyPacket.created - u.keyPacket.created || x.keyPacket.algorithm - u.keyPacket.algorithm));
      let c;
      for (const u of l) if (!t || u.getKeyID().equals(t)) try {
        await u.verify(r, a);
        const x = {
          key: i,
          bind: u.keyPacket
        }, f = await Ln(u.bindingSignatures, i, A.signature.subkeyBinding, x, r, a);
        if (!K3(u.keyPacket, f, a)) continue;
        if (!f.embeddedSignature) throw Error("Missing embedded signature");
        return await Ln([
          f.embeddedSignature
        ], u.keyPacket, A.signature.keyBinding, x, r, a), Fi(u.keyPacket, a), u;
      } catch (x) {
        c = x;
      }
      try {
        const u = await this.getPrimarySelfSignature(r, n, a);
        if ((!t || i.getKeyID().equals(t)) && K3(i, u, a)) return Fi(i, a), this;
      } catch (u) {
        c = u;
      }
      throw K.wrapError("Could not find valid signing key packet in key " + this.getKeyID().toHex(), c);
    }
    async getEncryptionKey(t, r = /* @__PURE__ */ new Date(), n = {}, a = Be) {
      await this.verifyPrimaryKey(r, n, a);
      const i = this.keyPacket;
      try {
        Fi(i, a);
      } catch (u) {
        throw K.wrapError("Could not verify primary key", u);
      }
      const l = this.subkeys.slice().sort(((u, x) => x.keyPacket.created - u.keyPacket.created || x.keyPacket.algorithm - u.keyPacket.algorithm));
      let c;
      for (const u of l) if (!t || u.getKeyID().equals(t)) try {
        await u.verify(r, a);
        const x = {
          key: i,
          bind: u.keyPacket
        }, f = await Ln(u.bindingSignatures, i, A.signature.subkeyBinding, x, r, a);
        if (M3(u.keyPacket, f, a)) return Fi(u.keyPacket, a), u;
      } catch (x) {
        c = x;
      }
      try {
        const u = await this.getPrimarySelfSignature(r, n, a);
        if ((!t || i.getKeyID().equals(t)) && M3(i, u, a)) return Fi(i, a), this;
      } catch (u) {
        c = u;
      }
      throw K.wrapError("Could not find valid encryption key packet in key " + this.getKeyID().toHex(), c);
    }
    async isRevoked(t, r, n = /* @__PURE__ */ new Date(), a = Be) {
      return os(this.keyPacket, A.signature.keyRevocation, {
        key: this.keyPacket
      }, this.revocationSignatures, t, r, n, a);
    }
    async verifyPrimaryKey(t = /* @__PURE__ */ new Date(), r = {}, n = Be) {
      const a = this.keyPacket;
      if (await this.isRevoked(null, null, t, n)) throw Error("Primary key is revoked");
      if (v8(a, await this.getPrimarySelfSignature(t, r, n), t)) throw Error("Primary key is expired");
      if (a.version !== 6) {
        const i = await Ln(this.directSignatures, a, A.signature.key, {
          key: a
        }, t, n).catch((() => {
        }));
        if (i && v8(a, i, t)) throw Error("Primary key is expired");
      }
    }
    async getExpirationTime(t, r = Be) {
      let n;
      try {
        const a = await this.getPrimarySelfSignature(null, t, r), i = Zx(this.keyPacket, a), l = a.getExpirationTime(), c = this.keyPacket.version !== 6 && await Ln(this.directSignatures, this.keyPacket, A.signature.key, {
          key: this.keyPacket
        }, null, r).catch((() => {
        }));
        if (c) {
          const u = Zx(this.keyPacket, c);
          n = Math.min(i, l, u);
        } else n = i < l ? i : l;
      } catch {
        n = null;
      }
      return K.normalizeDate(n);
    }
    async getPrimarySelfSignature(t = /* @__PURE__ */ new Date(), r = {}, n = Be) {
      const a = this.keyPacket;
      if (a.version === 6) return Ln(this.directSignatures, a, A.signature.key, {
        key: a
      }, t, n);
      const { selfCertification: i } = await this.getPrimaryUser(t, r, n);
      return i;
    }
    async getPrimaryUser(t = /* @__PURE__ */ new Date(), r = {}, n = Be) {
      const a = this.keyPacket, i = [];
      let l;
      for (let f = 0; f < this.users.length; f++) try {
        const h = this.users[f];
        if (!h.userID) continue;
        if (r.name !== void 0 && h.userID.name !== r.name || r.email !== void 0 && h.userID.email !== r.email || r.comment !== void 0 && h.userID.comment !== r.comment) throw Error("Could not find user that matches that user ID");
        const p = {
          userID: h.userID,
          key: a
        }, m = await Ln(h.selfCertifications, a, A.signature.certGeneric, p, t, n);
        i.push({
          index: f,
          user: h,
          selfCertification: m
        });
      } catch (h) {
        l = h;
      }
      if (!i.length) throw l || Error("Could not find primary user");
      await Promise.all(i.map((async (f) => {
        f.selfCertification.revoked || await f.user.isRevoked(f.selfCertification, null, t, n);
      })));
      const c = i.sort((function(f, h) {
        const p = f.selfCertification, m = h.selfCertification;
        return m.revoked - p.revoked || p.isPrimaryUserID - m.isPrimaryUserID || p.created - m.created;
      })).pop(), { user: u, selfCertification: x } = c;
      if (x.revoked || await u.isRevoked(x, null, t, n)) throw Error("Primary user is revoked");
      return c;
    }
    async update(t, r = /* @__PURE__ */ new Date(), n = Be) {
      if (!this.hasSameFingerprintAs(t)) throw Error("Primary key fingerprints must be equal to update the key");
      if (!this.isPrivate() && t.isPrivate()) {
        if (!(this.subkeys.length === t.subkeys.length && this.subkeys.every(((i) => t.subkeys.some(((l) => i.hasSameFingerprintAs(l))))))) throw Error("Cannot update public key with private key if subkeys mismatch");
        return t.update(this, n);
      }
      const a = this.clone();
      return await Ti(t, a, "revocationSignatures", r, ((i) => os(a.keyPacket, A.signature.keyRevocation, a, [
        i
      ], null, t.keyPacket, r, n))), await Ti(t, a, "directSignatures", r), await Promise.all(t.users.map((async (i) => {
        const l = a.users.filter(((c) => i.userID && i.userID.equals(c.userID) || i.userAttribute && i.userAttribute.equals(c.userAttribute)));
        if (l.length > 0) await Promise.all(l.map(((c) => c.update(i, r, n))));
        else {
          const c = i.clone();
          c.mainKey = a, a.users.push(c);
        }
      }))), await Promise.all(t.subkeys.map((async (i) => {
        const l = a.subkeys.filter(((c) => c.hasSameFingerprintAs(i)));
        if (l.length > 0) await Promise.all(l.map(((c) => c.update(i, r, n))));
        else {
          const c = i.clone();
          c.mainKey = a, a.subkeys.push(c);
        }
      }))), a;
    }
    async getRevocationCertificate(t = /* @__PURE__ */ new Date(), r = Be) {
      const n = {
        key: this.keyPacket
      }, a = await Ln(this.revocationSignatures, this.keyPacket, A.signature.keyRevocation, n, t, r), i = new dt();
      i.push(a);
      const l = this.keyPacket.version !== 6;
      return yc(A.armor.publicKey, i.write(), null, null, "This is a revocation certificate", l, r);
    }
    async applyRevocationCertificate(t, r = /* @__PURE__ */ new Date(), n = Be) {
      const a = await mc(t), i = (await dt.fromBinary(a.data, Sv, n)).findPacket(A.packet.signature);
      if (!i || i.signatureType !== A.signature.keyRevocation) throw Error("Could not find revocation signature packet");
      if (!i.issuerKeyID.equals(this.getKeyID())) throw Error("Revocation signature does not match key");
      try {
        await i.verify(this.keyPacket, A.signature.keyRevocation, {
          key: this.keyPacket
        }, r, void 0, n);
      } catch (c) {
        throw K.wrapError("Could not verify revocation signature", c);
      }
      const l = this.clone();
      return l.revocationSignatures.push(i), l;
    }
    async signPrimaryUser(t, r, n, a = Be) {
      const { index: i, user: l } = await this.getPrimaryUser(r, n, a), c = await l.certify(t, r, a), u = this.clone();
      return u.users[i] = c, u;
    }
    async signAllUsers(t, r = /* @__PURE__ */ new Date(), n = Be) {
      const a = this.clone();
      return a.users = await Promise.all(this.users.map((function(i) {
        return i.certify(t, r, n);
      }))), a;
    }
    async verifyPrimaryUser(t, r = /* @__PURE__ */ new Date(), n, a = Be) {
      const i = this.keyPacket, { user: l } = await this.getPrimaryUser(r, n, a);
      return t ? await l.verifyAllCertifications(t, r, a) : [
        {
          keyID: i.getKeyID(),
          valid: await l.verify(r, a).catch((() => false))
        }
      ];
    }
    async verifyAllUsers(t, r = /* @__PURE__ */ new Date(), n = Be) {
      const a = this.keyPacket, i = [];
      return await Promise.all(this.users.map((async (l) => {
        const c = t ? await l.verifyAllCertifications(t, r, n) : [
          {
            keyID: a.getKeyID(),
            valid: await l.verify(r, n).catch((() => false))
          }
        ];
        i.push(...c.map(((u) => ({
          userID: l.userID ? l.userID.userID : null,
          userAttribute: l.userAttribute,
          keyID: u.keyID,
          valid: u.valid
        }))));
      }))), i;
    }
  }
  [
    "getKeyID",
    "getFingerprint",
    "getAlgorithmInfo",
    "getCreationTime",
    "hasSameFingerprintAs"
  ].forEach(((e) => {
    Fm.prototype[e] = is.prototype[e];
  }));
  class B8 extends Fm {
    constructor(t) {
      if (super(), this.keyPacket = null, this.revocationSignatures = [], this.directSignatures = [], this.users = [], this.subkeys = [], t && (this.packetListToStructure(t, /* @__PURE__ */ new Set([
        A.packet.secretKey,
        A.packet.secretSubkey
      ])), !this.keyPacket)) throw Error("Invalid key: missing public-key packet");
    }
    isPrivate() {
      return false;
    }
    toPublic() {
      return this;
    }
    armor(t = Be) {
      const r = this.keyPacket.version !== 6;
      return yc(A.armor.publicKey, this.toPacketList().write(), void 0, void 0, void 0, r, t);
    }
  }
  class Dd extends B8 {
    constructor(t) {
      if (super(), this.packetListToStructure(t, /* @__PURE__ */ new Set([
        A.packet.publicKey,
        A.packet.publicSubkey
      ])), !this.keyPacket) throw Error("Invalid key: missing private-key packet");
    }
    isPrivate() {
      return true;
    }
    toPublic() {
      const t = new dt(), r = this.toPacketList();
      for (const n of r) switch (n.constructor.tag) {
        case A.packet.secretKey: {
          const a = da.fromSecretKeyPacket(n);
          t.push(a);
          break;
        }
        case A.packet.secretSubkey: {
          const a = kd.fromSecretSubkeyPacket(n);
          t.push(a);
          break;
        }
        default:
          t.push(n);
      }
      return new B8(t);
    }
    armor(t = Be) {
      const r = this.keyPacket.version !== 6;
      return yc(A.armor.privateKey, this.toPacketList().write(), void 0, void 0, void 0, r, t);
    }
    async getDecryptionKeys(t, r = /* @__PURE__ */ new Date(), n = {}, a = Be) {
      const i = this.keyPacket, l = [];
      let c = null;
      for (let x = 0; x < this.subkeys.length; x++) if (!t || this.subkeys[x].getKeyID().equals(t, true)) {
        if (this.subkeys[x].keyPacket.isDummy()) {
          c = c || Error("Gnu-dummy key packets cannot be used for decryption");
          continue;
        }
        try {
          const f = {
            key: i,
            bind: this.subkeys[x].keyPacket
          }, h = await Ln(this.subkeys[x].bindingSignatures, i, A.signature.subkeyBinding, f, r, a);
          L3(this.subkeys[x].keyPacket, h, a) && l.push(this.subkeys[x]);
        } catch (f) {
          c = f;
        }
      }
      const u = await this.getPrimarySelfSignature(r, n, a);
      if (t && !i.getKeyID().equals(t, true) || !L3(i, u, a) || (i.isDummy() ? c = c || Error("Gnu-dummy key packets cannot be used for decryption") : l.push(this)), l.length === 0) throw c || Error("No decryption key packets found");
      return l;
    }
    isDecrypted() {
      return this.getKeys().some((({ keyPacket: t }) => t.isDecrypted()));
    }
    async validate(t = Be) {
      if (!this.isPrivate()) throw Error("Cannot validate a public key");
      let r;
      if (this.keyPacket.isDummy()) {
        const n = await this.getSigningKey(null, null, void 0, {
          ...t,
          rejectPublicKeyAlgorithms: /* @__PURE__ */ new Set(),
          minRSABits: 0
        });
        n && !n.keyPacket.isDummy() && (r = n.keyPacket);
      } else r = this.keyPacket;
      if (r) return r.validate();
      {
        const n = this.getKeys();
        if (n.map(((a) => a.keyPacket.isDummy())).every(Boolean)) throw Error("Cannot validate an all-gnu-dummy key");
        return Promise.all(n.map(((a) => a.keyPacket.validate())));
      }
    }
    clearPrivateParams() {
      this.getKeys().forEach((({ keyPacket: t }) => {
        t.isDecrypted() && t.clearPrivateParams();
      }));
    }
    async revoke({ flag: t = A.reasonForRevocation.noReason, string: r = "" } = {}, n = /* @__PURE__ */ new Date(), a = Be) {
      if (!this.isPrivate()) throw Error("Need private key for revoking");
      const i = {
        key: this.keyPacket
      }, l = this.clone();
      return l.revocationSignatures.push(await Oi(i, [], this.keyPacket, {
        signatureType: A.signature.keyRevocation,
        reasonForRevocationFlag: A.write(A.reasonForRevocation, t),
        reasonForRevocationString: r
      }, n, void 0, void 0, void 0, a)), l;
    }
    async addSubkey(t = {}) {
      const r = {
        ...Be,
        ...t.config
      };
      if (t.passphrase) throw Error("Subkey could not be encrypted here, please encrypt whole key");
      if (t.rsaBits < r.minRSABits) throw Error(`rsaBits should be at least ${r.minRSABits}, got: ${t.rsaBits}`);
      const n = this.keyPacket;
      if (n.isDummy()) throw Error("Cannot add subkey to gnu-dummy primary key");
      if (!n.isDecrypted()) throw Error("Key is not decrypted");
      const a = n.getAlgorithmInfo();
      a.type = (function(u) {
        switch (A.write(A.publicKey, u)) {
          case A.publicKey.rsaEncrypt:
          case A.publicKey.rsaEncryptSign:
          case A.publicKey.rsaSign:
          case A.publicKey.dsa:
            return "rsa";
          case A.publicKey.ecdsa:
          case A.publicKey.eddsaLegacy:
            return "ecc";
          case A.publicKey.ed25519:
            return "curve25519";
          case A.publicKey.ed448:
            return "curve448";
          default:
            throw Error("Unsupported algorithm");
        }
      })(a.algorithm), a.rsaBits = a.bits || 4096, a.curve = a.curve || "curve25519Legacy", t = Fv(t, a);
      const i = await Cv(t, {
        ...r,
        v6Keys: this.keyPacket.version === 6
      });
      Fi(i, r);
      const l = await kv(i, n, t, r), c = this.toPacketList();
      return c.push(i, l), new Dd(c);
    }
  }
  const Sm = K.constructAllowedPackets([
    da,
    kd,
    Cm,
    km,
    A9,
    E9,
    xr
  ]);
  function _v(e) {
    for (const t of e) switch (t.constructor.tag) {
      case A.packet.secretKey:
        return new Dd(e);
      case A.packet.publicKey:
        return new B8(e);
    }
    throw Error("No key packet found");
  }
  async function _m({ armoredKey: e, binaryKey: t, config: r, ...n }) {
    if (r = {
      ...Be,
      ...r
    }, !e && !t) throw Error("readKey: must pass options object containing `armoredKey` or `binaryKey`");
    if (e && !K.isString(e)) throw Error("readKey: options.armoredKey must be a string");
    if (t && !K.isUint8Array(t)) throw Error("readKey: options.binaryKey must be a Uint8Array");
    const a = Object.keys(n);
    if (a.length > 0) throw Error("Unknown option: " + a.join(", "));
    let i;
    if (e) {
      const { type: u, data: x } = await mc(e);
      if (u !== A.armor.publicKey && u !== A.armor.privateKey) throw Error("Armored text not of type key");
      i = x;
    } else i = t;
    const l = await dt.fromBinary(i, Sm, r), c = l.indexOfTag(A.packet.publicKey, A.packet.secretKey);
    if (c.length === 0) throw Error("No key packet found");
    return _v(l.slice(c[0], c[1]));
  }
  async function Iv({ armoredKey: e, binaryKey: t, config: r, ...n }) {
    if (r = {
      ...Be,
      ...r
    }, !e && !t) throw Error("readPrivateKey: must pass options object containing `armoredKey` or `binaryKey`");
    if (e && !K.isString(e)) throw Error("readPrivateKey: options.armoredKey must be a string");
    if (t && !K.isUint8Array(t)) throw Error("readPrivateKey: options.binaryKey must be a Uint8Array");
    const a = Object.keys(n);
    if (a.length > 0) throw Error("Unknown option: " + a.join(", "));
    let i;
    if (e) {
      const { type: u, data: x } = await mc(e);
      if (u !== A.armor.privateKey) throw Error("Armored text not of type private key");
      i = x;
    } else i = t;
    const l = await dt.fromBinary(i, Sm, r), c = l.indexOfTag(A.packet.publicKey, A.packet.secretKey);
    for (let u = 0; u < c.length; u++) {
      if (l[c[u]].constructor.tag === A.packet.publicKey) continue;
      const x = l.slice(c[u], c[u + 1]);
      return new Dd(x);
    }
    throw Error("No secret key packet found");
  }
  const Pv = K.constructAllowedPackets([
    fs,
    bc,
    wv,
    ns,
    Bv,
    Jl,
    as,
    wn,
    xr
  ]), Nv = K.constructAllowedPackets([
    as
  ]), jv = K.constructAllowedPackets([
    xr
  ]);
  class mn {
    constructor(t) {
      this.packets = t || new dt();
    }
    getEncryptionKeyIDs() {
      const t = [];
      return this.packets.filterByTag(A.packet.publicKeyEncryptedSessionKey).forEach((function(r) {
        t.push(r.publicKeyID);
      })), t;
    }
    getSigningKeyIDs() {
      const t = this.unwrapCompressed(), r = t.packets.filterByTag(A.packet.onePassSignature);
      return r.length > 0 ? r.map(((n) => n.issuerKeyID)) : t.packets.filterByTag(A.packet.signature).map(((n) => n.issuerKeyID));
    }
    async decrypt(t, r, n, a = /* @__PURE__ */ new Date(), i = Be) {
      const l = this.packets.filterByTag(A.packet.symmetricallyEncryptedData, A.packet.symEncryptedIntegrityProtectedData, A.packet.aeadEncryptedData);
      if (l.length === 0) throw Error("No encrypted data found");
      const c = l[0], u = c.cipherAlgorithm, x = n || await this.decryptSessionKeys(t, r, u, a, i);
      let f = null;
      const h = Promise.all(x.map((async ({ algorithm: m, data: y }) => {
        if (!K.isUint8Array(y) || !c.cipherAlgorithm && !K.isString(m)) throw Error("Invalid session key for decryption.");
        try {
          const B = c.cipherAlgorithm || A.write(A.symmetric, m);
          await c.decrypt(B, y, i);
        } catch (B) {
          K.printDebugError(B), f = B;
        }
      })));
      if (t8(c.encrypted), c.encrypted = null, await h, !c.packets || !c.packets.length) throw f || Error("Decryption failed.");
      const p = new mn(c.packets);
      return c.packets = new dt(), p;
    }
    async decryptSessionKeys(t, r, n, a = /* @__PURE__ */ new Date(), i = Be) {
      let l, c = [];
      if (r) {
        const u = this.packets.filterByTag(A.packet.symEncryptedSessionKey);
        if (u.length === 0) throw Error("No symmetrically encrypted session key packet found.");
        await Promise.all(r.map((async function(x, f) {
          let h;
          h = f ? await dt.fromBinary(u.write(), Nv, i) : u, await Promise.all(h.map((async function(p) {
            try {
              await p.decrypt(x), c.push(p);
            } catch (m) {
              K.printDebugError(m), m instanceof wd && (l = m);
            }
          })));
        })));
      } else {
        if (!t) throw Error("No key or password specified.");
        {
          const u = this.packets.filterByTag(A.packet.publicKeyEncryptedSessionKey);
          if (u.length === 0) throw Error("No public key encrypted session key packet found.");
          await Promise.all(u.map((async function(x) {
            await Promise.all(t.map((async function(f) {
              let h;
              try {
                h = (await f.getDecryptionKeys(x.publicKeyID, null, void 0, i)).map(((m) => m.keyPacket));
              } catch (m) {
                return void (l = m);
              }
              let p = [
                A.symmetric.aes256,
                A.symmetric.aes128,
                A.symmetric.tripledes,
                A.symmetric.cast5
              ];
              try {
                const m = await f.getPrimarySelfSignature(a, void 0, i);
                m.preferredSymmetricAlgorithms && (p = p.concat(m.preferredSymmetricAlgorithms));
              } catch {
              }
              await Promise.all(h.map((async function(m) {
                if (!m.isDecrypted()) throw Error("Decryption key is not decrypted.");
                if (i.constantTimePKCS1Decryption && (x.publicKeyAlgorithm === A.publicKey.rsaEncrypt || x.publicKeyAlgorithm === A.publicKey.rsaEncryptSign || x.publicKeyAlgorithm === A.publicKey.rsaSign || x.publicKeyAlgorithm === A.publicKey.elgamal)) {
                  const y = x.write();
                  await Promise.all((n ? [
                    n
                  ] : Array.from(i.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms)).map((async (B) => {
                    const v = new Jl();
                    v.read(y);
                    const D = {
                      sessionKeyAlgorithm: B,
                      sessionKey: p8(B)
                    };
                    try {
                      await v.decrypt(m, D), c.push(v);
                    } catch (P) {
                      K.printDebugError(P), l = P;
                    }
                  })));
                } else try {
                  await x.decrypt(m);
                  const y = n || x.sessionKeyAlgorithm;
                  if (y && !p.includes(A.write(A.symmetric, y))) throw Error("A non-preferred symmetric algorithm was used.");
                  c.push(x);
                } catch (y) {
                  K.printDebugError(y), l = y;
                }
              })));
            }))), t8(x.encrypted), x.encrypted = null;
          })));
        }
      }
      if (c.length > 0) {
        if (c.length > 1) {
          const u = /* @__PURE__ */ new Set();
          c = c.filter(((x) => {
            const f = x.sessionKeyAlgorithm + K.uint8ArrayToString(x.sessionKey);
            return !u.has(f) && (u.add(f), true);
          }));
        }
        return c.map(((u) => ({
          data: u.sessionKey,
          algorithm: u.sessionKeyAlgorithm && A.read(A.symmetric, u.sessionKeyAlgorithm)
        })));
      }
      throw l || Error("Session key decryption failed.");
    }
    getLiteralData() {
      const t = this.unwrapCompressed().packets.findPacket(A.packet.literalData);
      return t && t.getBytes() || null;
    }
    getFilename() {
      const t = this.unwrapCompressed().packets.findPacket(A.packet.literalData);
      return t && t.getFilename() || null;
    }
    getText() {
      const t = this.unwrapCompressed().packets.findPacket(A.packet.literalData);
      return t ? t.getText() : null;
    }
    static async generateSessionKey(t = [], r = /* @__PURE__ */ new Date(), n = [], a = Be) {
      const { symmetricAlgo: i, aeadAlgo: l } = await (async function(x = [], f = /* @__PURE__ */ new Date(), h = [], p = Be) {
        const m = await Promise.all(x.map(((v, D) => v.getPrimarySelfSignature(f, h[D], p))));
        if (x.length ? m.every(((v) => v.features && v.features[0] & A.features.seipdv2)) : p.aeadProtect) {
          const v = {
            symmetricAlgo: A.symmetric.aes128,
            aeadAlgo: A.aead.ocb
          }, D = [
            {
              symmetricAlgo: p.preferredSymmetricAlgorithm,
              aeadAlgo: p.preferredAEADAlgorithm
            },
            {
              symmetricAlgo: p.preferredSymmetricAlgorithm,
              aeadAlgo: A.aead.ocb
            },
            {
              symmetricAlgo: A.symmetric.aes128,
              aeadAlgo: p.preferredAEADAlgorithm
            }
          ];
          for (const P of D) if (m.every(((k) => k.preferredCipherSuites && k.preferredCipherSuites.some(((w) => w[0] === P.symmetricAlgo && w[1] === P.aeadAlgo))))) return P;
          return v;
        }
        const y = A.symmetric.aes128, B = p.preferredSymmetricAlgorithm;
        return {
          symmetricAlgo: m.every(((v) => v.preferredSymmetricAlgorithms && v.preferredSymmetricAlgorithms.includes(B))) ? B : y,
          aeadAlgo: void 0
        };
      })(t, r, n, a), c = A.read(A.symmetric, i), u = l ? A.read(A.aead, l) : void 0;
      return await Promise.all(t.map(((x) => x.getEncryptionKey().catch((() => null)).then(((f) => {
        if (f && (f.keyPacket.algorithm === A.publicKey.x25519 || f.keyPacket.algorithm === A.publicKey.x448) && !u && !K.isAES(i)) throw Error("Could not generate a session key compatible with the given `encryptionKeys`: X22519 and X448 keys can only be used to encrypt AES session keys; change `config.preferredSymmetricAlgorithm` accordingly.");
      }))))), {
        data: p8(i),
        algorithm: c,
        aeadAlgorithm: u
      };
    }
    async encrypt(t, r, n, a = false, i = [], l = /* @__PURE__ */ new Date(), c = [], u = Be) {
      if (n) {
        if (!K.isUint8Array(n.data) || !K.isString(n.algorithm)) throw Error("Invalid session key for encryption.");
      } else if (t && t.length) n = await mn.generateSessionKey(t, l, c, u);
      else {
        if (!r || !r.length) throw Error("No keys, passwords, or session key provided.");
        n = await mn.generateSessionKey(void 0, void 0, void 0, u);
      }
      const { data: x, algorithm: f, aeadAlgorithm: h } = n, p = await mn.encryptSessionKey(x, f, h, t, r, a, i, l, c, u), m = ns.fromObject({
        version: h ? 2 : 1,
        aeadAlgorithm: h ? A.write(A.aead, h) : null
      });
      m.packets = this.packets;
      const y = A.write(A.symmetric, f);
      return await m.encrypt(y, x, u), p.packets.push(m), m.packets = new dt(), p;
    }
    static async encryptSessionKey(t, r, n, a, i, l = false, c = [], u = /* @__PURE__ */ new Date(), x = [], f = Be) {
      const h = new dt(), p = A.write(A.symmetric, r), m = n && A.write(A.aead, n);
      if (a) {
        const y = await Promise.all(a.map((async function(B, v) {
          const D = await B.getEncryptionKey(c[v], u, x, f), P = Jl.fromObject({
            version: m ? 6 : 3,
            encryptionKeyPacket: D.keyPacket,
            anonymousRecipient: l,
            sessionKey: t,
            sessionKeyAlgorithm: p
          });
          return await P.encrypt(D.keyPacket), delete P.sessionKey, P;
        })));
        h.push(...y);
      }
      if (i) {
        const y = async function(P, k) {
          try {
            return await P.decrypt(k), 1;
          } catch {
            return 0;
          }
        }, B = (P, k) => P + k, v = async function(P, k, w, _) {
          const T = new as(f);
          return T.sessionKey = P, T.sessionKeyAlgorithm = k, w && (T.aeadAlgorithm = w), await T.encrypt(_, f), f.passwordCollisionCheck && (await Promise.all(i.map(((N) => y(T, N))))).reduce(B) !== 1 ? v(P, k, _) : (delete T.sessionKey, T);
        }, D = await Promise.all(i.map(((P) => v(t, p, m, P))));
        h.push(...D);
      }
      return new mn(h);
    }
    async sign(t = [], r = [], n = null, a = [], i = /* @__PURE__ */ new Date(), l = [], c = [], u = [], x = Be) {
      const f = new dt(), h = this.packets.findPacket(A.packet.literalData);
      if (!h) throw Error("No literal data packet to sign.");
      const p = await Q3(h, t, r, n, a, i, l, c, u, false, x), m = p.map(((y, B) => wn.fromSignaturePacket(y, B === 0))).reverse();
      return f.push(...m), f.push(h), f.push(...p), new mn(f);
    }
    compress(t, r = Be) {
      if (t === A.compression.uncompressed) return this;
      const n = new bc(r);
      n.algorithm = t, n.packets = this.packets;
      const a = new dt();
      return a.push(n), new mn(a);
    }
    async signDetached(t = [], r = [], n = null, a = [], i = [], l = /* @__PURE__ */ new Date(), c = [], u = [], x = Be) {
      const f = this.packets.findPacket(A.packet.literalData);
      if (!f) throw Error("No literal data packet to sign.");
      return new Dm(await Q3(f, t, r, n, a, i, l, c, u, true, x));
    }
    async verify(t, r = /* @__PURE__ */ new Date(), n = Be) {
      const a = this.unwrapCompressed(), i = a.packets.filterByTag(A.packet.literalData);
      if (i.length !== 1) throw Error("Can only verify message with one literal data packet.");
      let l = a.packets;
      It(l.stream) && (l = l.concat(await Mt(l.stream, ((x) => x || []))));
      const c = l.filterByTag(A.packet.onePassSignature).reverse(), u = l.filterByTag(A.packet.signature);
      return c.length && !u.length && K.isStream(l.stream) && !It(l.stream) ? (await Promise.all(c.map((async (x) => {
        x.correspondingSig = new Promise(((f, h) => {
          x.correspondingSigResolve = f, x.correspondingSigReject = h;
        })), x.signatureData = Xi((async () => (await x.correspondingSig).signatureData)), x.hashed = Mt(await x.hash(x.signatureType, i[0], void 0, false)), x.hashed.catch((() => {
        }));
      }))), l.stream = ni(l.stream, (async (x, f) => {
        const h = qn(x), p = an(f);
        try {
          for (let m = 0; m < c.length; m++) {
            const { value: y } = await h.read();
            c[m].correspondingSigResolve(y);
          }
          await h.readToEnd(), await p.ready, await p.close();
        } catch (m) {
          c.forEach(((y) => {
            y.correspondingSigReject(m);
          })), await p.abort(m);
        }
      })), mh(c, i, t, r, false, n)) : mh(u, i, t, r, false, n);
    }
    async verifyDetached(t, r, n = /* @__PURE__ */ new Date(), a = Be) {
      const i = this.unwrapCompressed().packets.filterByTag(A.packet.literalData);
      if (i.length !== 1) throw Error("Can only verify message with one literal data packet.");
      return mh(t.packets.filterByTag(A.packet.signature), i, r, n, true, a);
    }
    unwrapCompressed() {
      const t = this.packets.filterByTag(A.packet.compressedData);
      return t.length ? new mn(t[0].packets) : this;
    }
    async appendSignature(t, r = Be) {
      await this.packets.read(K.isUint8Array(t) ? t : (await mc(t)).data, jv, r);
    }
    write() {
      return this.packets.write();
    }
    armor(t = Be) {
      const r = this.packets[this.packets.length - 1], n = r.constructor.tag === ns.tag ? r.version !== 2 : this.packets.some(((a) => a.constructor.tag === xr.tag && a.version !== 6));
      return yc(A.armor.message, this.write(), null, null, null, n, t);
    }
  }
  async function Q3(e, t, r = [], n = null, a = [], i = /* @__PURE__ */ new Date(), l = [], c = [], u = [], x = false, f = Be) {
    const h = new dt(), p = e.text === null ? A.signature.binary : A.signature.text;
    if (await Promise.all(t.map((async (m, y) => {
      const B = l[y];
      if (!m.isPrivate()) throw Error("Need private key for signing");
      const v = await m.getSigningKey(a[y], i, B, f);
      return Oi(e, r.length ? r : [
        m
      ], v.keyPacket, {
        signatureType: p
      }, i, c, u, x, f);
    }))).then(((m) => {
      h.push(...m);
    })), n) {
      const m = n.packets.filterByTag(A.packet.signature);
      h.push(...m);
    }
    return h;
  }
  function mh(e, t, r, n = /* @__PURE__ */ new Date(), a = false, i = Be) {
    return e.filter(((l) => [
      "text",
      "binary"
    ].includes(A.read(A.signature, l.signatureType)))).map(((l) => (function(c, u, x, f = /* @__PURE__ */ new Date(), h = false, p = Be) {
      let m, y;
      for (const D of x) {
        const P = D.getKeys(c.issuerKeyID);
        if (P.length > 0) {
          m = D, y = P[0];
          break;
        }
      }
      const B = c instanceof wn ? c.correspondingSig : c, v = {
        keyID: c.issuerKeyID,
        verified: (async () => {
          if (!y) throw Error("Could not find signing key with key ID " + c.issuerKeyID.toHex());
          await c.verify(y.keyPacket, c.signatureType, u[0], f, h, p);
          const D = await B;
          if (y.getCreationTime() > D.created) throw Error("Key is newer than the signature");
          try {
            await m.getSigningKey(y.getKeyID(), D.created, void 0, p);
          } catch (P) {
            if (!p.allowInsecureVerificationWithReformattedKeys || !P.message.match(/Signature creation time is in the future/)) throw P;
            await m.getSigningKey(y.getKeyID(), f, void 0, p);
          }
          return true;
        })(),
        signature: (async () => {
          const D = await B, P = new dt();
          return D && P.push(D), new Dm(P);
        })()
      };
      return v.signature.catch((() => {
      })), v.verified.catch((() => {
      })), v;
    })(l, t, r, n, a, i)));
  }
  async function zv({ armoredMessage: e, binaryMessage: t, config: r, ...n }) {
    r = {
      ...Be,
      ...r
    };
    let a = e || t;
    if (!a) throw Error("readMessage: must pass options object containing `armoredMessage` or `binaryMessage`");
    if (e && !K.isString(e) && !K.isStream(e)) throw Error("readMessage: options.armoredMessage must be a string or stream");
    if (t && !K.isUint8Array(t) && !K.isStream(t)) throw Error("readMessage: options.binaryMessage must be a Uint8Array or stream");
    const i = Object.keys(n);
    if (i.length > 0) throw Error("Unknown option: " + i.join(", "));
    const l = K.isStream(a);
    if (e) {
      const { type: x, data: f } = await mc(a);
      if (x !== A.armor.message) throw Error("Armored text not of type message");
      a = f;
    }
    const c = await dt.fromBinary(a, Pv, r, new Cd()), u = new mn(c);
    return u.fromStream = l, u;
  }
  async function Uv({ text: e, binary: t, filename: r, date: n = /* @__PURE__ */ new Date(), format: a = e !== void 0 ? "utf8" : "binary", ...i }) {
    const l = e !== void 0 ? e : t;
    if (l === void 0) throw Error("createMessage: must pass options object containing `text` or `binary`");
    if (e && !K.isString(e) && !K.isStream(e)) throw Error("createMessage: options.text must be a string or stream");
    if (t && !K.isUint8Array(t) && !K.isStream(t)) throw Error("createMessage: options.binary must be a Uint8Array or stream");
    const c = Object.keys(i);
    if (c.length > 0) throw Error("Unknown option: " + c.join(", "));
    const u = K.isStream(l), x = new fs(n);
    e !== void 0 ? x.setText(l, A.write(A.literal, a)) : x.setBytes(l, A.write(A.literal, a)), r !== void 0 && x.setFilename(r);
    const f = new dt();
    f.push(x);
    const h = new mn(f);
    return h.fromStream = u, h;
  }
  async function Tv({ privateKey: e, passphrase: t, config: r, ...n }) {
    b9(r = {
      ...Be,
      ...r
    });
    const a = Object.keys(n);
    if (a.length > 0) throw Error("Unknown option: " + a.join(", "));
    if (!e.isPrivate()) throw Error("Cannot decrypt a public key");
    const i = e.clone(true), l = K.isArray(t) ? t : [
      t
    ];
    try {
      return await Promise.all(i.getKeys().map(((c) => K.anyPromise(l.map(((u) => c.keyPacket.decrypt(u))))))), await i.validate(r), i;
    } catch (c) {
      throw i.clearPrivateParams(), K.wrapError("Error decrypting private key", c);
    }
  }
  async function Rv({ message: e, encryptionKeys: t, signingKeys: r, passwords: n, sessionKey: a, format: i = "armored", signature: l = null, wildcard: c = false, signingKeyIDs: u = [], encryptionKeyIDs: x = [], date: f = /* @__PURE__ */ new Date(), signingUserIDs: h = [], encryptionUserIDs: p = [], signatureNotations: m = [], config: y, ...B }) {
    if (b9(y = {
      ...Be,
      ...y
    }), Im(e), Mv(i), t = yn(t), r = yn(r), n = yn(n), u = yn(u), x = yn(x), h = yn(h), p = yn(p), m = yn(m), B.detached) throw Error("The `detached` option has been removed from openpgp.encrypt, separately call openpgp.sign instead. Don't forget to remove the `privateKeys` option as well.");
    if (B.publicKeys) throw Error("The `publicKeys` option has been removed from openpgp.encrypt, pass `encryptionKeys` instead");
    if (B.privateKeys) throw Error("The `privateKeys` option has been removed from openpgp.encrypt, pass `signingKeys` instead");
    if (B.armor !== void 0) throw Error("The `armor` option has been removed from openpgp.encrypt, pass `format` instead.");
    const v = Object.keys(B);
    if (v.length > 0) throw Error("Unknown option: " + v.join(", "));
    r || (r = []);
    try {
      if ((r.length || l) && (e = await e.sign(r, t, l, u, f, h, x, m, y)), e = e.compress(await (async function(P = [], k = /* @__PURE__ */ new Date(), w = [], _ = Be) {
        const T = A.compression.uncompressed, N = _.preferredCompressionAlgorithm;
        return (await Promise.all(P.map((async function(C, z) {
          const I = (await C.getPrimarySelfSignature(k, w[z], _)).preferredCompressionAlgorithms;
          return !!I && I.indexOf(N) >= 0;
        })))).every(Boolean) ? N : T;
      })(t, f, p, y), y), e = await e.encrypt(t, n, a, c, x, f, p, y), i === "object") return e;
      const D = i === "armored" ? e.armor(y) : e.write();
      return await Pm(D);
    } catch (D) {
      throw K.wrapError("Error encrypting message", D);
    }
  }
  async function Kv({ message: e, decryptionKeys: t, passwords: r, sessionKeys: n, verificationKeys: a, expectSigned: i = false, format: l = "utf8", signature: c = null, date: u = /* @__PURE__ */ new Date(), config: x, ...f }) {
    if (b9(x = {
      ...Be,
      ...x
    }), Im(e), a = yn(a), t = yn(t), r = yn(r), n = yn(n), f.privateKeys) throw Error("The `privateKeys` option has been removed from openpgp.decrypt, pass `decryptionKeys` instead");
    if (f.publicKeys) throw Error("The `publicKeys` option has been removed from openpgp.decrypt, pass `verificationKeys` instead");
    const h = Object.keys(f);
    if (h.length > 0) throw Error("Unknown option: " + h.join(", "));
    try {
      const p = await e.decrypt(t, r, n, u, x);
      a || (a = []);
      const m = {};
      if (m.signatures = c ? await p.verifyDetached(c, a, u, x) : await p.verify(a, u, x), m.data = l === "binary" ? p.getLiteralData() : p.getText(), m.filename = p.getFilename(), Ov(m, e, .../* @__PURE__ */ new Set([
        p,
        p.unwrapCompressed()
      ])), i) {
        if (a.length === 0) throw Error("Verification keys are required to verify message signatures");
        if (m.signatures.length === 0) throw Error("Message is not signed");
        m.data = Sr([
          m.data,
          Xi((async () => (await K.anyPromise(m.signatures.map(((y) => y.verified))), l === "binary" ? new Uint8Array() : "")))
        ]);
      }
      return m.data = await Pm(m.data), m;
    } catch (p) {
      throw K.wrapError("Error decrypting message", p);
    }
  }
  function Im(e) {
    if (!(e instanceof mn)) throw Error("Parameter [message] needs to be of type Message");
  }
  function Mv(e) {
    if (e !== "armored" && e !== "binary" && e !== "object") throw Error("Unsupported format " + e);
  }
  const Lv = Object.keys(Be).length;
  function b9(e) {
    const t = Object.keys(e);
    if (t.length !== Lv) {
      for (const r of t) if (Be[r] === void 0) throw Error("Unknown config property: " + r);
    }
  }
  function yn(e) {
    return e && !K.isArray(e) && (e = [
      e
    ]), e;
  }
  async function Pm(e) {
    return K.isStream(e) === "array" ? Mt(e) : e;
  }
  function Ov(e, t, ...r) {
    e.data = ni(t.packets.stream, (async (n, a) => {
      await J0(e.data, a, {
        preventClose: true
      });
      const i = an(a);
      try {
        await Mt(n, ((l) => l)), await Promise.all(r.map(((l) => Mt(l.packets.stream, ((c) => c))))), await i.close();
      } catch (l) {
        await i.abort(l);
      }
    }));
  }
  const F0 = typeof wr == "object" && "crypto" in wr ? wr.crypto : void 0;
  function wc(e) {
    return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
  }
  function ec(e) {
    if (!Number.isSafeInteger(e) || e < 0) throw Error("positive integer expected, got " + e);
  }
  function ba(e, ...t) {
    if (!wc(e)) throw Error("Uint8Array expected");
    if (t.length > 0 && !t.includes(e.length)) throw Error("Uint8Array expected of length " + t + ", got length=" + e.length);
  }
  function Nm(e) {
    if (typeof e != "function" || typeof e.create != "function") throw Error("Hash should be wrapped by utils.createHasher");
    ec(e.outputLen), ec(e.blockLen);
  }
  function ss(e, t = true) {
    if (e.destroyed) throw Error("Hash instance has been destroyed");
    if (t && e.finished) throw Error("Hash#digest() has already been called");
  }
  function jm(e, t) {
    ba(e);
    const r = t.outputLen;
    if (e.length < r) throw Error("digestInto() expects output buffer of length at least " + r);
  }
  function Cn(...e) {
    for (let t = 0; t < e.length; t++) e[t].fill(0);
  }
  function yh(e) {
    return new DataView(e.buffer, e.byteOffset, e.byteLength);
  }
  function Jn(e, t) {
    return e << 32 - t | e >>> t;
  }
  function qo(e, t) {
    return e << t | e >>> 32 - t >>> 0;
  }
  const q3 = new Uint8Array(new Uint32Array([
    287454020
  ]).buffer)[0] === 68 ? (e) => e : function(e) {
    for (let r = 0; r < e.length; r++) e[r] = (t = e[r]) << 24 & 4278190080 | t << 8 & 16711680 | t >>> 8 & 65280 | t >>> 24 & 255;
    var t;
    return e;
  }, zm = typeof Uint8Array.from([]).toHex == "function" && typeof Uint8Array.fromHex == "function", Hv = Array.from({
    length: 256
  }, ((e, t) => t.toString(16).padStart(2, "0")));
  function Ri(e) {
    if (ba(e), zm) return e.toHex();
    let t = "";
    for (let r = 0; r < e.length; r++) t += Hv[e[r]];
    return t;
  }
  const G3 = 48, Qv = 57, V3 = 65, qv = 70, W3 = 97, Gv = 102;
  function $3(e) {
    return e >= G3 && e <= Qv ? e - G3 : e >= V3 && e <= qv ? e - (V3 - 10) : e >= W3 && e <= Gv ? e - (W3 - 10) : void 0;
  }
  function Yx(e) {
    if (typeof e != "string") throw Error("hex string expected, got " + typeof e);
    if (zm) return Uint8Array.fromHex(e);
    const t = e.length, r = t / 2;
    if (t % 2) throw Error("hex string expected, got unpadded hex of length " + t);
    const n = new Uint8Array(r);
    for (let a = 0, i = 0; a < r; a++, i += 2) {
      const l = $3(e.charCodeAt(i)), c = $3(e.charCodeAt(i + 1));
      if (l === void 0 || c === void 0) {
        const u = e[i] + e[i + 1];
        throw Error('hex string expected, got non-hex character "' + u + '" at index ' + i);
      }
      n[a] = 16 * l + c;
    }
    return n;
  }
  function vc(e) {
    return typeof e == "string" && (e = (function(t) {
      if (typeof t != "string") throw Error("string expected");
      return new Uint8Array(new TextEncoder().encode(t));
    })(e)), ba(e), e;
  }
  function On(...e) {
    let t = 0;
    for (let n = 0; n < e.length; n++) {
      const a = e[n];
      ba(a), t += a.length;
    }
    const r = new Uint8Array(t);
    for (let n = 0, a = 0; n < e.length; n++) {
      const i = e[n];
      r.set(i, a), a += i.length;
    }
    return r;
  }
  class w9 {
  }
  function Xa(e) {
    const t = (n) => e().update(vc(n)).digest(), r = e();
    return t.outputLen = r.outputLen, t.blockLen = r.blockLen, t.create = () => e(), t;
  }
  const Vv = Xa;
  function Fd(e = 32) {
    if (F0 && typeof F0.getRandomValues == "function") return F0.getRandomValues(new Uint8Array(e));
    if (F0 && typeof F0.randomBytes == "function") return Uint8Array.from(F0.randomBytes(e));
    throw Error("crypto.getRandomValues must be defined");
  }
  const v9 = BigInt(0), C8 = BigInt(1);
  function Hi(e, t = "") {
    if (typeof e != "boolean") throw Error((t && `"${t}"`) + "expected boolean, got type=" + typeof e);
    return e;
  }
  function Qn(e, t, r = "") {
    const n = wc(e), a = e == null ? void 0 : e.length, i = t !== void 0;
    if (!n || i && a !== t) throw Error((r && `"${r}" `) + "expected Uint8Array" + (i ? " of length " + t : "") + ", got " + (n ? "length=" + a : "type=" + typeof e));
    return e;
  }
  function $u(e) {
    const t = e.toString(16);
    return 1 & t.length ? "0" + t : t;
  }
  function Um(e) {
    if (typeof e != "string") throw Error("hex string expected, got " + typeof e);
    return e === "" ? v9 : BigInt("0x" + e);
  }
  function Sd(e) {
    return Um(Ri(e));
  }
  function Qi(e) {
    return ba(e), Um(Ri(Uint8Array.from(e).reverse()));
  }
  function B9(e, t) {
    return Yx(e.toString(16).padStart(2 * t, "0"));
  }
  function C9(e, t) {
    return B9(e, t).reverse();
  }
  function St(e, t, r) {
    let n;
    if (typeof t == "string") try {
      n = Yx(t);
    } catch (i) {
      throw Error(e + " must be hex string or Uint8Array, cause: " + i);
    }
    else {
      if (!wc(t)) throw Error(e + " must be hex string or Uint8Array");
      n = Uint8Array.from(t);
    }
    const a = n.length;
    if (typeof r == "number" && a !== r) throw Error(e + " of length " + r + " expected, got " + a);
    return n;
  }
  function Z3(e) {
    return Uint8Array.from(e);
  }
  const Eh = (e) => typeof e == "bigint" && v9 <= e;
  function tc(e, t, r, n) {
    if (!(function(a, i, l) {
      return Eh(a) && Eh(i) && Eh(l) && i <= a && a < l;
    })(t, r, n)) throw Error("expected valid " + e + ": " + r + " <= n < " + n + ", got " + t);
  }
  function Tm(e) {
    let t;
    for (t = 0; e > v9; e >>= C8, t += 1) ;
    return t;
  }
  const Bc = (e) => (C8 << BigInt(e)) - C8;
  function hs(e, t, r = {}) {
    if (!e || typeof e != "object") throw Error("expected valid options object");
    function n(a, i, l) {
      const c = e[a];
      if (l && c === void 0) return;
      const u = typeof c;
      if (u !== i || c === null) throw Error(`param "${a}" is invalid: expected ${i}, got ${u}`);
    }
    Object.entries(t).forEach((([a, i]) => n(a, i, false))), Object.entries(r).forEach((([a, i]) => n(a, i, true)));
  }
  function Xx(e) {
    const t = /* @__PURE__ */ new WeakMap();
    return (r, ...n) => {
      const a = t.get(r);
      if (a !== void 0) return a;
      const i = e(r, ...n);
      return t.set(r, i), i;
    };
  }
  const Lr = BigInt(0), Fr = BigInt(1), _i = BigInt(2), Rm = BigInt(3), Km = BigInt(4), Mm = BigInt(5), Wv = BigInt(7), Lm = BigInt(8), $v = BigInt(9), Y3 = BigInt(16);
  function $t(e, t) {
    const r = e % t;
    return r >= Lr ? r : t + r;
  }
  function Ft(e, t, r) {
    let n = e;
    for (; t-- > Lr; ) n *= n, n %= r;
    return n;
  }
  function X3(e, t) {
    if (e === Lr) throw Error("invert: expected non-zero number");
    if (t <= Lr) throw Error("invert: expected positive modulus, got " + t);
    let r = $t(e, t), n = t, a = Lr, i = Fr;
    for (; r !== Lr; ) {
      const l = n % r, c = a - i * (n / r);
      n = r, r = l, a = i, i = c;
    }
    if (n !== Fr) throw Error("invert: does not exist");
    return $t(a, t);
  }
  function k9(e, t, r) {
    if (!e.eql(e.sqr(t), r)) throw Error("Cannot find square root");
  }
  function Om(e, t) {
    const r = (e.ORDER + Fr) / Km, n = e.pow(t, r);
    return k9(e, n, t), n;
  }
  function Zv(e, t) {
    const r = (e.ORDER - Mm) / Lm, n = e.mul(t, _i), a = e.pow(n, r), i = e.mul(t, a), l = e.mul(e.mul(i, _i), a), c = e.mul(i, e.sub(l, e.ONE));
    return k9(e, c, t), c;
  }
  function J3(e) {
    if (e < Rm) throw Error("sqrt is not defined for small field");
    let t = e - Fr, r = 0;
    for (; t % _i === Lr; ) t /= _i, r++;
    let n = _i;
    const a = Vr(e);
    for (; e6(a, n) === 1; ) if (n++ > 1e3) throw Error("Cannot find square root: probably non-prime P");
    if (r === 1) return Om;
    let i = a.pow(n, t);
    const l = (t + Fr) / _i;
    return function(c, u) {
      if (c.is0(u)) return u;
      if (e6(c, u) !== 1) throw Error("Cannot find square root");
      let x = r, f = c.mul(c.ONE, i), h = c.pow(u, t), p = c.pow(u, l);
      for (; !c.eql(h, c.ONE); ) {
        if (c.is0(h)) return c.ZERO;
        let m = 1, y = c.sqr(h);
        for (; !c.eql(y, c.ONE); ) if (m++, y = c.sqr(y), m === x) throw Error("Cannot find square root");
        const B = Fr << BigInt(x - m - 1), v = c.pow(f, B);
        x = m, f = c.sqr(v), h = c.mul(h, f), p = c.mul(p, v);
      }
      return p;
    };
  }
  function Yv(e) {
    return e % Km === Rm ? Om : e % Lm === Mm ? Zv : e % Y3 === $v ? (function(t) {
      const r = Vr(t), n = J3(t), a = n(r, r.neg(r.ONE)), i = n(r, a), l = n(r, r.neg(a)), c = (t + Wv) / Y3;
      return (u, x) => {
        let f = u.pow(x, c), h = u.mul(f, a);
        const p = u.mul(f, i), m = u.mul(f, l), y = u.eql(u.sqr(h), x), B = u.eql(u.sqr(p), x);
        f = u.cmov(f, h, y), h = u.cmov(m, p, B);
        const v = u.eql(u.sqr(h), x), D = u.cmov(f, h, v);
        return k9(u, D, x), D;
      };
    })(e) : J3(e);
  }
  const Xv = [
    "create",
    "isValid",
    "is0",
    "neg",
    "inv",
    "sqrt",
    "sqr",
    "eql",
    "add",
    "sub",
    "mul",
    "pow",
    "div",
    "addN",
    "subN",
    "mulN",
    "sqrN"
  ];
  function Hm(e, t, r = false) {
    const n = Array(t.length).fill(r ? e.ZERO : void 0), a = t.reduce(((l, c, u) => e.is0(c) ? l : (n[u] = l, e.mul(l, c))), e.ONE), i = e.inv(a);
    return t.reduceRight(((l, c, u) => e.is0(c) ? l : (n[u] = e.mul(l, n[u]), e.mul(l, c))), i), n;
  }
  function e6(e, t) {
    const r = (e.ORDER - Fr) / _i, n = e.pow(t, r), a = e.eql(n, e.ONE), i = e.eql(n, e.ZERO), l = e.eql(n, e.neg(e.ONE));
    if (!a && !i && !l) throw Error("invalid Legendre symbol result");
    return a ? 1 : i ? 0 : -1;
  }
  function Qm(e, t) {
    t !== void 0 && ec(t);
    const r = t !== void 0 ? t : e.toString(2).length;
    return {
      nBitLength: r,
      nByteLength: Math.ceil(r / 8)
    };
  }
  function Vr(e, t, r = false, n = {}) {
    if (e <= Lr) throw Error("invalid field: expected ORDER > 0, got " + e);
    let a, i, l, c = false;
    if (typeof t == "object" && t != null) {
      if (n.sqrt || r) throw Error("cannot specify opts in two arguments");
      const p = t;
      p.BITS && (a = p.BITS), p.sqrt && (i = p.sqrt), typeof p.isLE == "boolean" && (r = p.isLE), typeof p.modFromBytes == "boolean" && (c = p.modFromBytes), l = p.allowedLengths;
    } else typeof t == "number" && (a = t), n.sqrt && (i = n.sqrt);
    const { nBitLength: u, nByteLength: x } = Qm(e, a);
    if (x > 2048) throw Error("invalid field: expected ORDER of <= 2048 bytes");
    let f;
    const h = Object.freeze({
      ORDER: e,
      isLE: r,
      BITS: u,
      BYTES: x,
      MASK: Bc(u),
      ZERO: Lr,
      ONE: Fr,
      allowedLengths: l,
      create: (p) => $t(p, e),
      isValid: (p) => {
        if (typeof p != "bigint") throw Error("invalid field element: expected bigint, got " + typeof p);
        return Lr <= p && p < e;
      },
      is0: (p) => p === Lr,
      isValidNot0: (p) => !h.is0(p) && h.isValid(p),
      isOdd: (p) => (p & Fr) === Fr,
      neg: (p) => $t(-p, e),
      eql: (p, m) => p === m,
      sqr: (p) => $t(p * p, e),
      add: (p, m) => $t(p + m, e),
      sub: (p, m) => $t(p - m, e),
      mul: (p, m) => $t(p * m, e),
      pow: (p, m) => (function(y, B, v) {
        if (v < Lr) throw Error("invalid exponent, negatives unsupported");
        if (v === Lr) return y.ONE;
        if (v === Fr) return B;
        let D = y.ONE, P = B;
        for (; v > Lr; ) v & Fr && (D = y.mul(D, P)), P = y.sqr(P), v >>= Fr;
        return D;
      })(h, p, m),
      div: (p, m) => $t(p * X3(m, e), e),
      sqrN: (p) => p * p,
      addN: (p, m) => p + m,
      subN: (p, m) => p - m,
      mulN: (p, m) => p * m,
      inv: (p) => X3(p, e),
      sqrt: i || ((p) => (f || (f = Yv(e)), f(h, p))),
      toBytes: (p) => r ? C9(p, x) : B9(p, x),
      fromBytes: (p, m = true) => {
        if (l) {
          if (!l.includes(p.length) || p.length > x) throw Error("Field.fromBytes: expected " + l + " bytes, got " + p.length);
          const B = new Uint8Array(x);
          B.set(p, r ? 0 : B.length - p.length), p = B;
        }
        if (p.length !== x) throw Error("Field.fromBytes: expected " + x + " bytes, got " + p.length);
        let y = r ? Qi(p) : Sd(p);
        if (c && (y = $t(y, e)), !m && !h.isValid(y)) throw Error("invalid field element: outside of range 0..ORDER");
        return y;
      },
      invertBatch: (p) => Hm(h, p),
      cmov: (p, m, y) => y ? m : p
    });
    return Object.freeze(h);
  }
  function qm(e) {
    if (typeof e != "bigint") throw Error("field order must be bigint");
    const t = e.toString(2).length;
    return Math.ceil(t / 8);
  }
  function t6(e) {
    const t = qm(e);
    return t + Math.ceil(t / 2);
  }
  function Gm(e, t, r) {
    return e & t ^ ~e & r;
  }
  function Vm(e, t, r) {
    return e & t ^ e & r ^ t & r;
  }
  class Cc extends w9 {
    constructor(t, r, n, a) {
      super(), this.finished = false, this.length = 0, this.pos = 0, this.destroyed = false, this.blockLen = t, this.outputLen = r, this.padOffset = n, this.isLE = a, this.buffer = new Uint8Array(t), this.view = yh(this.buffer);
    }
    update(t) {
      ss(this), ba(t = vc(t));
      const { view: r, buffer: n, blockLen: a } = this, i = t.length;
      for (let l = 0; l < i; ) {
        const c = Math.min(a - this.pos, i - l);
        if (c !== a) n.set(t.subarray(l, l + c), this.pos), this.pos += c, l += c, this.pos === a && (this.process(r, 0), this.pos = 0);
        else {
          const u = yh(t);
          for (; a <= i - l; l += a) this.process(u, l);
        }
      }
      return this.length += t.length, this.roundClean(), this;
    }
    digestInto(t) {
      ss(this), jm(t, this), this.finished = true;
      const { buffer: r, view: n, blockLen: a, isLE: i } = this;
      let { pos: l } = this;
      r[l++] = 128, Cn(this.buffer.subarray(l)), this.padOffset > a - l && (this.process(n, 0), l = 0);
      for (let h = l; h < a; h++) r[h] = 0;
      (function(h, p, m, y) {
        if (typeof h.setBigUint64 == "function") return h.setBigUint64(p, m, y);
        const B = BigInt(32), v = BigInt(4294967295), D = Number(m >> B & v), P = Number(m & v), k = y ? 4 : 0, w = y ? 0 : 4;
        h.setUint32(p + k, D, y), h.setUint32(p + w, P, y);
      })(n, a - 8, BigInt(8 * this.length), i), this.process(n, 0);
      const c = yh(t), u = this.outputLen;
      if (u % 4) throw Error("_sha2: outputLen should be aligned to 32bit");
      const x = u / 4, f = this.get();
      if (x > f.length) throw Error("_sha2: outputLen bigger than state");
      for (let h = 0; h < x; h++) c.setUint32(4 * h, f[h], i);
    }
    digest() {
      const { buffer: t, outputLen: r } = this;
      this.digestInto(t);
      const n = t.slice(0, r);
      return this.destroy(), n;
    }
    _cloneInto(t) {
      t || (t = new this.constructor()), t.set(...this.get());
      const { blockLen: r, buffer: n, length: a, finished: i, destroyed: l, pos: c } = this;
      return t.destroyed = l, t.finished = i, t.length = a, t.pos = c, a % r && t.buffer.set(n), t;
    }
    clone() {
      return this._cloneInto();
    }
  }
  const So = Uint32Array.from([
    1779033703,
    3144134277,
    1013904242,
    2773480762,
    1359893119,
    2600822924,
    528734635,
    1541459225
  ]), _o = Uint32Array.from([
    3238371032,
    914150663,
    812702999,
    4144912697,
    4290775857,
    1750603025,
    1694076839,
    3204075428
  ]), mr = Uint32Array.from([
    3418070365,
    3238371032,
    1654270250,
    914150663,
    2438529370,
    812702999,
    355462360,
    4144912697,
    1731405415,
    4290775857,
    2394180231,
    1750603025,
    3675008525,
    1694076839,
    1203062813,
    3204075428
  ]), yr = Uint32Array.from([
    1779033703,
    4089235720,
    3144134277,
    2227873595,
    1013904242,
    4271175723,
    2773480762,
    1595750129,
    1359893119,
    2917565137,
    2600822924,
    725511199,
    528734635,
    4215389547,
    1541459225,
    327033209
  ]), Zu = BigInt(2 ** 32 - 1), r6 = BigInt(32);
  function Jv(e, t = false) {
    return t ? {
      h: Number(e & Zu),
      l: Number(e >> r6 & Zu)
    } : {
      h: 0 | Number(e >> r6 & Zu),
      l: 0 | Number(e & Zu)
    };
  }
  function Wm(e, t = false) {
    const r = e.length;
    let n = new Uint32Array(r), a = new Uint32Array(r);
    for (let i = 0; i < r; i++) {
      const { h: l, l: c } = Jv(e[i], t);
      [n[i], a[i]] = [
        l,
        c
      ];
    }
    return [
      n,
      a
    ];
  }
  const n6 = (e, t, r) => e >>> r, a6 = (e, t, r) => e << 32 - r | t >>> r, S0 = (e, t, r) => e >>> r | t << 32 - r, _0 = (e, t, r) => e << 32 - r | t >>> r, Yu = (e, t, r) => e << 64 - r | t >>> r - 32, Xu = (e, t, r) => e >>> r - 32 | t << 64 - r;
  function za(e, t, r, n) {
    const a = (t >>> 0) + (n >>> 0);
    return {
      h: e + r + (a / 2 ** 32 | 0) | 0,
      l: 0 | a
    };
  }
  const eB = (e, t, r) => (e >>> 0) + (t >>> 0) + (r >>> 0), tB = (e, t, r, n) => t + r + n + (e / 2 ** 32 | 0) | 0, rB = (e, t, r, n) => (e >>> 0) + (t >>> 0) + (r >>> 0) + (n >>> 0), nB = (e, t, r, n, a) => t + r + n + a + (e / 2 ** 32 | 0) | 0, aB = (e, t, r, n, a) => (e >>> 0) + (t >>> 0) + (r >>> 0) + (n >>> 0) + (a >>> 0), oB = (e, t, r, n, a, i) => t + r + n + a + i + (e / 2 ** 32 | 0) | 0, iB = Uint32Array.from([
    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
  ]), Io = new Uint32Array(64);
  class $m extends Cc {
    constructor(t = 32) {
      super(64, t, 8, false), this.A = 0 | So[0], this.B = 0 | So[1], this.C = 0 | So[2], this.D = 0 | So[3], this.E = 0 | So[4], this.F = 0 | So[5], this.G = 0 | So[6], this.H = 0 | So[7];
    }
    get() {
      const { A: t, B: r, C: n, D: a, E: i, F: l, G: c, H: u } = this;
      return [
        t,
        r,
        n,
        a,
        i,
        l,
        c,
        u
      ];
    }
    set(t, r, n, a, i, l, c, u) {
      this.A = 0 | t, this.B = 0 | r, this.C = 0 | n, this.D = 0 | a, this.E = 0 | i, this.F = 0 | l, this.G = 0 | c, this.H = 0 | u;
    }
    process(t, r) {
      for (let h = 0; h < 16; h++, r += 4) Io[h] = t.getUint32(r, false);
      for (let h = 16; h < 64; h++) {
        const p = Io[h - 15], m = Io[h - 2], y = Jn(p, 7) ^ Jn(p, 18) ^ p >>> 3, B = Jn(m, 17) ^ Jn(m, 19) ^ m >>> 10;
        Io[h] = B + Io[h - 7] + y + Io[h - 16] | 0;
      }
      let { A: n, B: a, C: i, D: l, E: c, F: u, G: x, H: f } = this;
      for (let h = 0; h < 64; h++) {
        const p = f + (Jn(c, 6) ^ Jn(c, 11) ^ Jn(c, 25)) + Gm(c, u, x) + iB[h] + Io[h] | 0, m = (Jn(n, 2) ^ Jn(n, 13) ^ Jn(n, 22)) + Vm(n, a, i) | 0;
        f = x, x = u, u = c, c = l + p | 0, l = i, i = a, a = n, n = p + m | 0;
      }
      n = n + this.A | 0, a = a + this.B | 0, i = i + this.C | 0, l = l + this.D | 0, c = c + this.E | 0, u = u + this.F | 0, x = x + this.G | 0, f = f + this.H | 0, this.set(n, a, i, l, c, u, x, f);
    }
    roundClean() {
      Cn(Io);
    }
    destroy() {
      this.set(0, 0, 0, 0, 0, 0, 0, 0), Cn(this.buffer);
    }
  }
  class sB extends $m {
    constructor() {
      super(28), this.A = 0 | _o[0], this.B = 0 | _o[1], this.C = 0 | _o[2], this.D = 0 | _o[3], this.E = 0 | _o[4], this.F = 0 | _o[5], this.G = 0 | _o[6], this.H = 0 | _o[7];
    }
  }
  const Zm = Wm([
    "0x428a2f98d728ae22",
    "0x7137449123ef65cd",
    "0xb5c0fbcfec4d3b2f",
    "0xe9b5dba58189dbbc",
    "0x3956c25bf348b538",
    "0x59f111f1b605d019",
    "0x923f82a4af194f9b",
    "0xab1c5ed5da6d8118",
    "0xd807aa98a3030242",
    "0x12835b0145706fbe",
    "0x243185be4ee4b28c",
    "0x550c7dc3d5ffb4e2",
    "0x72be5d74f27b896f",
    "0x80deb1fe3b1696b1",
    "0x9bdc06a725c71235",
    "0xc19bf174cf692694",
    "0xe49b69c19ef14ad2",
    "0xefbe4786384f25e3",
    "0x0fc19dc68b8cd5b5",
    "0x240ca1cc77ac9c65",
    "0x2de92c6f592b0275",
    "0x4a7484aa6ea6e483",
    "0x5cb0a9dcbd41fbd4",
    "0x76f988da831153b5",
    "0x983e5152ee66dfab",
    "0xa831c66d2db43210",
    "0xb00327c898fb213f",
    "0xbf597fc7beef0ee4",
    "0xc6e00bf33da88fc2",
    "0xd5a79147930aa725",
    "0x06ca6351e003826f",
    "0x142929670a0e6e70",
    "0x27b70a8546d22ffc",
    "0x2e1b21385c26c926",
    "0x4d2c6dfc5ac42aed",
    "0x53380d139d95b3df",
    "0x650a73548baf63de",
    "0x766a0abb3c77b2a8",
    "0x81c2c92e47edaee6",
    "0x92722c851482353b",
    "0xa2bfe8a14cf10364",
    "0xa81a664bbc423001",
    "0xc24b8b70d0f89791",
    "0xc76c51a30654be30",
    "0xd192e819d6ef5218",
    "0xd69906245565a910",
    "0xf40e35855771202a",
    "0x106aa07032bbd1b8",
    "0x19a4c116b8d2d0c8",
    "0x1e376c085141ab53",
    "0x2748774cdf8eeb99",
    "0x34b0bcb5e19b48a8",
    "0x391c0cb3c5c95a63",
    "0x4ed8aa4ae3418acb",
    "0x5b9cca4f7763e373",
    "0x682e6ff3d6b2b8a3",
    "0x748f82ee5defb2fc",
    "0x78a5636f43172f60",
    "0x84c87814a1f0ab72",
    "0x8cc702081a6439ec",
    "0x90befffa23631e28",
    "0xa4506cebde82bde9",
    "0xbef9a3f7b2c67915",
    "0xc67178f2e372532b",
    "0xca273eceea26619c",
    "0xd186b8c721c0c207",
    "0xeada7dd6cde0eb1e",
    "0xf57d4f7fee6ed178",
    "0x06f067aa72176fba",
    "0x0a637dc5a2c898a6",
    "0x113f9804bef90dae",
    "0x1b710b35131c471b",
    "0x28db77f523047d84",
    "0x32caab7b40c72493",
    "0x3c9ebe0a15c9bebc",
    "0x431d67c49c100d4c",
    "0x4cc5d4becb3e42b6",
    "0x597f299cfc657e2a",
    "0x5fcb6fab3ad6faec",
    "0x6c44198c4a475817"
  ].map(((e) => BigInt(e)))), lB = Zm[0], cB = Zm[1], Po = new Uint32Array(80), No = new Uint32Array(80);
  class Ym extends Cc {
    constructor(t = 64) {
      super(128, t, 16, false), this.Ah = 0 | yr[0], this.Al = 0 | yr[1], this.Bh = 0 | yr[2], this.Bl = 0 | yr[3], this.Ch = 0 | yr[4], this.Cl = 0 | yr[5], this.Dh = 0 | yr[6], this.Dl = 0 | yr[7], this.Eh = 0 | yr[8], this.El = 0 | yr[9], this.Fh = 0 | yr[10], this.Fl = 0 | yr[11], this.Gh = 0 | yr[12], this.Gl = 0 | yr[13], this.Hh = 0 | yr[14], this.Hl = 0 | yr[15];
    }
    get() {
      const { Ah: t, Al: r, Bh: n, Bl: a, Ch: i, Cl: l, Dh: c, Dl: u, Eh: x, El: f, Fh: h, Fl: p, Gh: m, Gl: y, Hh: B, Hl: v } = this;
      return [
        t,
        r,
        n,
        a,
        i,
        l,
        c,
        u,
        x,
        f,
        h,
        p,
        m,
        y,
        B,
        v
      ];
    }
    set(t, r, n, a, i, l, c, u, x, f, h, p, m, y, B, v) {
      this.Ah = 0 | t, this.Al = 0 | r, this.Bh = 0 | n, this.Bl = 0 | a, this.Ch = 0 | i, this.Cl = 0 | l, this.Dh = 0 | c, this.Dl = 0 | u, this.Eh = 0 | x, this.El = 0 | f, this.Fh = 0 | h, this.Fl = 0 | p, this.Gh = 0 | m, this.Gl = 0 | y, this.Hh = 0 | B, this.Hl = 0 | v;
    }
    process(t, r) {
      for (let k = 0; k < 16; k++, r += 4) Po[k] = t.getUint32(r), No[k] = t.getUint32(r += 4);
      for (let k = 16; k < 80; k++) {
        const w = 0 | Po[k - 15], _ = 0 | No[k - 15], T = S0(w, _, 1) ^ S0(w, _, 8) ^ n6(w, 0, 7), N = _0(w, _, 1) ^ _0(w, _, 8) ^ a6(w, _, 7), U = 0 | Po[k - 2], C = 0 | No[k - 2], z = S0(U, C, 19) ^ Yu(U, C, 61) ^ n6(U, 0, 6), I = _0(U, C, 19) ^ Xu(U, C, 61) ^ a6(U, C, 6), R = rB(N, I, No[k - 7], No[k - 16]), L = nB(R, T, z, Po[k - 7], Po[k - 16]);
        Po[k] = 0 | L, No[k] = 0 | R;
      }
      let { Ah: n, Al: a, Bh: i, Bl: l, Ch: c, Cl: u, Dh: x, Dl: f, Eh: h, El: p, Fh: m, Fl: y, Gh: B, Gl: v, Hh: D, Hl: P } = this;
      for (let k = 0; k < 80; k++) {
        const w = S0(h, p, 14) ^ S0(h, p, 18) ^ Yu(h, p, 41), _ = _0(h, p, 14) ^ _0(h, p, 18) ^ Xu(h, p, 41), T = h & m ^ ~h & B, N = aB(P, _, p & y ^ ~p & v, cB[k], No[k]), U = oB(N, D, w, T, lB[k], Po[k]), C = 0 | N, z = S0(n, a, 28) ^ Yu(n, a, 34) ^ Yu(n, a, 39), I = _0(n, a, 28) ^ Xu(n, a, 34) ^ Xu(n, a, 39), R = n & i ^ n & c ^ i & c, L = a & l ^ a & u ^ l & u;
        D = 0 | B, P = 0 | v, B = 0 | m, v = 0 | y, m = 0 | h, y = 0 | p, { h, l: p } = za(0 | x, 0 | f, 0 | U, 0 | C), x = 0 | c, f = 0 | u, c = 0 | i, u = 0 | l, i = 0 | n, l = 0 | a;
        const O = eB(C, I, L);
        n = tB(O, U, z, R), a = 0 | O;
      }
      ({ h: n, l: a } = za(0 | this.Ah, 0 | this.Al, 0 | n, 0 | a)), { h: i, l } = za(0 | this.Bh, 0 | this.Bl, 0 | i, 0 | l), { h: c, l: u } = za(0 | this.Ch, 0 | this.Cl, 0 | c, 0 | u), { h: x, l: f } = za(0 | this.Dh, 0 | this.Dl, 0 | x, 0 | f), { h, l: p } = za(0 | this.Eh, 0 | this.El, 0 | h, 0 | p), { h: m, l: y } = za(0 | this.Fh, 0 | this.Fl, 0 | m, 0 | y), { h: B, l: v } = za(0 | this.Gh, 0 | this.Gl, 0 | B, 0 | v), { h: D, l: P } = za(0 | this.Hh, 0 | this.Hl, 0 | D, 0 | P), this.set(n, a, i, l, c, u, x, f, h, p, m, y, B, v, D, P);
    }
    roundClean() {
      Cn(Po, No);
    }
    destroy() {
      Cn(this.buffer), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    }
  }
  class uB extends Ym {
    constructor() {
      super(48), this.Ah = 0 | mr[0], this.Al = 0 | mr[1], this.Bh = 0 | mr[2], this.Bl = 0 | mr[3], this.Ch = 0 | mr[4], this.Cl = 0 | mr[5], this.Dh = 0 | mr[6], this.Dl = 0 | mr[7], this.Eh = 0 | mr[8], this.El = 0 | mr[9], this.Fh = 0 | mr[10], this.Fl = 0 | mr[11], this.Gh = 0 | mr[12], this.Gl = 0 | mr[13], this.Hh = 0 | mr[14], this.Hl = 0 | mr[15];
    }
  }
  const D9 = Xa((() => new $m())), xB = Xa((() => new sB())), Xm = Xa((() => new Ym())), Jm = Xa((() => new uB()));
  class e7 extends w9 {
    constructor(t, r) {
      super(), this.finished = false, this.destroyed = false, Nm(t);
      const n = vc(r);
      if (this.iHash = t.create(), typeof this.iHash.update != "function") throw Error("Expected instance of class which extends utils.Hash");
      this.blockLen = this.iHash.blockLen, this.outputLen = this.iHash.outputLen;
      const a = this.blockLen, i = new Uint8Array(a);
      i.set(n.length > a ? t.create().update(n).digest() : n);
      for (let l = 0; l < i.length; l++) i[l] ^= 54;
      this.iHash.update(i), this.oHash = t.create();
      for (let l = 0; l < i.length; l++) i[l] ^= 106;
      this.oHash.update(i), Cn(i);
    }
    update(t) {
      return ss(this), this.iHash.update(t), this;
    }
    digestInto(t) {
      ss(this), ba(t, this.outputLen), this.finished = true, this.iHash.digestInto(t), this.oHash.update(t), this.oHash.digestInto(t), this.destroy();
    }
    digest() {
      const t = new Uint8Array(this.oHash.outputLen);
      return this.digestInto(t), t;
    }
    _cloneInto(t) {
      t || (t = Object.create(Object.getPrototypeOf(this), {}));
      const { oHash: r, iHash: n, finished: a, destroyed: i, blockLen: l, outputLen: c } = this;
      return t.finished = a, t.destroyed = i, t.blockLen = l, t.outputLen = c, t.oHash = r._cloneInto(t.oHash), t.iHash = n._cloneInto(t.iHash), t;
    }
    clone() {
      return this._cloneInto();
    }
    destroy() {
      this.destroyed = true, this.oHash.destroy(), this.iHash.destroy();
    }
  }
  const t7 = (e, t, r) => new e7(e, t).update(r).digest();
  t7.create = (e, t) => new e7(e, t);
  const ls = BigInt(0), Ii = BigInt(1);
  function Jx(e, t) {
    const r = t.negate();
    return e ? r : t;
  }
  function Pi(e, t) {
    const r = Hm(e.Fp, t.map(((n) => n.Z)));
    return t.map(((n, a) => e.fromAffine(n.toAffine(r[a]))));
  }
  function r7(e, t) {
    if (!Number.isSafeInteger(e) || e <= 0 || e > t) throw Error("invalid window size, expected [1.." + t + "], got W=" + e);
  }
  function Ah(e, t) {
    r7(e, t);
    const r = 2 ** e;
    return {
      windows: Math.ceil(t / e) + 1,
      windowSize: 2 ** (e - 1),
      mask: Bc(e),
      maxNumber: r,
      shiftBy: BigInt(e)
    };
  }
  function o6(e, t, r) {
    const { windowSize: n, mask: a, maxNumber: i, shiftBy: l } = r;
    let c = Number(e & a), u = e >> l;
    c > n && (c -= i, u += Ii);
    const x = t * n;
    return {
      nextN: u,
      offset: x + Math.abs(c) - 1,
      isZero: c === 0,
      isNeg: c < 0,
      isNegF: t % 2 != 0,
      offsetF: x
    };
  }
  const bh = /* @__PURE__ */ new WeakMap(), n7 = /* @__PURE__ */ new WeakMap();
  function wh(e) {
    return n7.get(e) || 1;
  }
  function i6(e) {
    if (e !== ls) throw Error("invalid wNAF");
  }
  class a7 {
    constructor(t, r) {
      this.BASE = t.BASE, this.ZERO = t.ZERO, this.Fn = t.Fn, this.bits = r;
    }
    _unsafeLadder(t, r, n = this.ZERO) {
      let a = t;
      for (; r > ls; ) r & Ii && (n = n.add(a)), a = a.double(), r >>= Ii;
      return n;
    }
    precomputeWindow(t, r) {
      const { windows: n, windowSize: a } = Ah(r, this.bits), i = [];
      let l = t, c = l;
      for (let u = 0; u < n; u++) {
        c = l, i.push(c);
        for (let x = 1; x < a; x++) c = c.add(l), i.push(c);
        l = c.double();
      }
      return i;
    }
    wNAF(t, r, n) {
      if (!this.Fn.isValid(n)) throw Error("invalid scalar");
      let a = this.ZERO, i = this.BASE;
      const l = Ah(t, this.bits);
      for (let c = 0; c < l.windows; c++) {
        const { nextN: u, offset: x, isZero: f, isNeg: h, isNegF: p, offsetF: m } = o6(n, c, l);
        n = u, f ? i = i.add(Jx(p, r[m])) : a = a.add(Jx(h, r[x]));
      }
      return i6(n), {
        p: a,
        f: i
      };
    }
    wNAFUnsafe(t, r, n, a = this.ZERO) {
      const i = Ah(t, this.bits);
      for (let l = 0; l < i.windows && n !== ls; l++) {
        const { nextN: c, offset: u, isZero: x, isNeg: f } = o6(n, l, i);
        if (n = c, !x) {
          const h = r[u];
          a = a.add(f ? h.negate() : h);
        }
      }
      return i6(n), a;
    }
    getPrecomputes(t, r, n) {
      let a = bh.get(r);
      return a || (a = this.precomputeWindow(r, t), t !== 1 && (typeof n == "function" && (a = n(a)), bh.set(r, a))), a;
    }
    cached(t, r, n) {
      const a = wh(t);
      return this.wNAF(a, this.getPrecomputes(a, t, n), r);
    }
    unsafe(t, r, n, a) {
      const i = wh(t);
      return i === 1 ? this._unsafeLadder(t, r, a) : this.wNAFUnsafe(i, this.getPrecomputes(i, t, n), r, a);
    }
    createCache(t, r) {
      r7(r, this.bits), n7.set(t, r), bh.delete(t);
    }
    hasCache(t) {
      return wh(t) !== 1;
    }
  }
  function o7(e, t, r, n) {
    (function(p, m) {
      if (!Array.isArray(p)) throw Error("array expected");
      p.forEach(((y, B) => {
        if (!(y instanceof m)) throw Error("invalid point at index " + B);
      }));
    })(r, e), (function(p, m) {
      if (!Array.isArray(p)) throw Error("array of scalars expected");
      p.forEach(((y, B) => {
        if (!m.isValid(y)) throw Error("invalid scalar at index " + B);
      }));
    })(n, t);
    const a = r.length, i = n.length;
    if (a !== i) throw Error("arrays of points and scalars must have equal length");
    const l = e.ZERO, c = Tm(BigInt(a));
    let u = 1;
    c > 12 ? u = c - 3 : c > 4 ? u = c - 2 : c > 0 && (u = 2);
    const x = Bc(u), f = Array(Number(x) + 1).fill(l);
    let h = l;
    for (let p = Math.floor((t.BITS - 1) / u) * u; p >= 0; p -= u) {
      f.fill(l);
      for (let y = 0; y < i; y++) {
        const B = n[y], v = Number(B >> BigInt(p) & x);
        f[v] = f[v].add(r[y]);
      }
      let m = l;
      for (let y = f.length - 1, B = l; y > 0; y--) B = B.add(f[y]), m = m.add(B);
      if (h = h.add(m), p !== 0) for (let y = 0; y < u; y++) h = h.double();
    }
    return h;
  }
  function s6(e, t, r) {
    if (t) {
      if (t.ORDER !== e) throw Error("Field.ORDER must match order: Fp == p, Fn == n");
      return (function(n) {
        hs(n, Xv.reduce(((a, i) => (a[i] = "function", a)), {
          ORDER: "bigint",
          MASK: "bigint",
          BYTES: "number",
          BITS: "number"
        }));
      })(t), t;
    }
    return Vr(e, {
      isLE: r
    });
  }
  function i7(e, t, r = {}, n) {
    if (n === void 0 && (n = e === "edwards"), !t || typeof t != "object") throw Error(`expected valid ${e} CURVE object`);
    for (const c of [
      "p",
      "n",
      "h"
    ]) {
      const u = t[c];
      if (!(typeof u == "bigint" && u > ls)) throw Error(`CURVE.${c} must be positive bigint`);
    }
    const a = s6(t.p, r.Fp, n), i = s6(t.n, r.Fn, n), l = [
      "Gx",
      "Gy",
      "a",
      e === "weierstrass" ? "b" : "d"
    ];
    for (const c of l) if (!a.isValid(t[c])) throw Error(`CURVE.${c} must be valid field element of CURVE.Fp`);
    return {
      CURVE: t = Object.freeze(Object.assign({}, t)),
      Fp: a,
      Fn: i
    };
  }
  const l6 = (e, t) => (e + (e >= 0 ? t : -t) / s7) / t;
  function k8(e) {
    if (![
      "compact",
      "recovered",
      "der"
    ].includes(e)) throw Error('Signature format must be "compact", "recovered", or "der"');
    return e;
  }
  function vh(e, t) {
    const r = {};
    for (let n of Object.keys(t)) r[n] = e[n] === void 0 ? t[n] : e[n];
    return Hi(r.lowS, "lowS"), Hi(r.prehash, "prehash"), r.format !== void 0 && k8(r.format), r;
  }
  const Qa = {
    Err: class extends Error {
      constructor(e = "") {
        super(e);
      }
    },
    _tlv: {
      encode: (e, t) => {
        const { Err: r } = Qa;
        if (e < 0 || e > 256) throw new r("tlv.encode: wrong tag");
        if (1 & t.length) throw new r("tlv.encode: unpadded data");
        const n = t.length / 2, a = $u(n);
        if (a.length / 2 & 128) throw new r("tlv.encode: long form length too big");
        const i = n > 127 ? $u(a.length / 2 | 128) : "";
        return $u(e) + i + a + t;
      },
      decode(e, t) {
        const { Err: r } = Qa;
        let n = 0;
        if (e < 0 || e > 256) throw new r("tlv.encode: wrong tag");
        if (t.length < 2 || t[n++] !== e) throw new r("tlv.decode: wrong tlv");
        const a = t[n++];
        let i = 0;
        if (128 & a) {
          const c = 127 & a;
          if (!c) throw new r("tlv.decode(long): indefinite length not supported");
          if (c > 4) throw new r("tlv.decode(long): byte length is too big");
          const u = t.subarray(n, n + c);
          if (u.length !== c) throw new r("tlv.decode: length bytes not complete");
          if (u[0] === 0) throw new r("tlv.decode(long): zero leftmost byte");
          for (const x of u) i = i << 8 | x;
          if (n += c, i < 128) throw new r("tlv.decode(long): not minimal encoding");
        } else i = a;
        const l = t.subarray(n, n + i);
        if (l.length !== i) throw new r("tlv.decode: wrong value length");
        return {
          v: l,
          l: t.subarray(n + i)
        };
      }
    },
    _int: {
      encode(e) {
        const { Err: t } = Qa;
        if (e < Va) throw new t("integer: negative integers are not allowed");
        let r = $u(e);
        if (8 & Number.parseInt(r[0], 16) && (r = "00" + r), 1 & r.length) throw new t("unexpected DER parsing assertion: unpadded hex");
        return r;
      },
      decode(e) {
        const { Err: t } = Qa;
        if (128 & e[0]) throw new t("invalid signature integer: negative");
        if (e[0] === 0 && !(128 & e[1])) throw new t("invalid signature integer: unnecessary leading zero");
        return Sd(e);
      }
    },
    toSig(e) {
      const { Err: t, _int: r, _tlv: n } = Qa, a = St("signature", e), { v: i, l } = n.decode(48, a);
      if (l.length) throw new t("invalid signature: left bytes after parsing");
      const { v: c, l: u } = n.decode(2, i), { v: x, l: f } = n.decode(2, u);
      if (f.length) throw new t("invalid signature: left bytes after parsing");
      return {
        r: r.decode(c),
        s: r.decode(x)
      };
    },
    hexFromSig(e) {
      const { _tlv: t, _int: r } = Qa, n = t.encode(2, r.encode(e.r)) + t.encode(2, r.encode(e.s));
      return t.encode(48, n);
    }
  }, Va = BigInt(0), G0 = BigInt(1), s7 = BigInt(2), Ju = BigInt(3), dB = BigInt(4);
  function V0(e, t) {
    const { BYTES: r } = e;
    let n;
    if (typeof t == "bigint") n = t;
    else {
      let a = St("private key", t);
      try {
        n = e.fromBytes(a);
      } catch {
        throw Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`);
      }
    }
    if (!e.isValidNot0(n)) throw Error("invalid private key: out of range [1..N-1]");
    return n;
  }
  function fB(e, t = {}) {
    const r = i7("weierstrass", e, t), { Fp: n, Fn: a } = r;
    let i = r.CURVE;
    const { h: l, n: c } = i;
    hs(t, {}, {
      allowInfinityPoint: "boolean",
      clearCofactor: "function",
      isTorsionFree: "function",
      fromBytes: "function",
      toBytes: "function",
      endo: "object",
      wrapPrivateKey: "boolean"
    });
    const { endo: u } = t;
    if (u && (!n.is0(i.a) || typeof u.beta != "bigint" || !Array.isArray(u.basises))) throw Error('invalid endo: expected "beta": bigint and "basises": array');
    const x = c7(n, a);
    function f() {
      if (!n.isOdd) throw Error("compression is not supported: Field does not have .isOdd()");
    }
    const h = t.toBytes || function(z, I, R) {
      const { x: L, y: O } = I.toAffine(), W = n.toBytes(L);
      return Hi(R, "isCompressed"), R ? (f(), On(l7(!n.isOdd(O)), W)) : On(Uint8Array.of(4), W, n.toBytes(O));
    }, p = t.fromBytes || function(z) {
      Qn(z, void 0, "Point");
      const { publicKey: I, publicKeyUncompressed: R } = x, L = z.length, O = z[0], W = z.subarray(1);
      if (L !== I || O !== 2 && O !== 3) {
        if (L === R && O === 4) {
          const $ = n.BYTES, X = n.fromBytes(W.subarray(0, $)), Y = n.fromBytes(W.subarray($, 2 * $));
          if (!y(X, Y)) throw Error("bad point: is not on curve");
          return {
            x: X,
            y: Y
          };
        }
        throw Error(`bad point: got length ${L}, expected compressed=${I} or uncompressed=${R}`);
      }
      {
        const $ = n.fromBytes(W);
        if (!n.isValid($)) throw Error("bad point: is not on curve, wrong x");
        const X = m($);
        let Y;
        try {
          Y = n.sqrt(X);
        } catch (Q) {
          const V = Q instanceof Error ? ": " + Q.message : "";
          throw Error("bad point: is not on curve, sqrt error" + V);
        }
        return f(), !(1 & ~O) !== n.isOdd(Y) && (Y = n.neg(Y)), {
          x: $,
          y: Y
        };
      }
    };
    function m(z) {
      const I = n.sqr(z), R = n.mul(I, z);
      return n.add(n.add(R, n.mul(z, i.a)), i.b);
    }
    function y(z, I) {
      const R = n.sqr(I), L = m(z);
      return n.eql(R, L);
    }
    if (!y(i.Gx, i.Gy)) throw Error("bad curve params: generator point");
    const B = n.mul(n.pow(i.a, Ju), dB), v = n.mul(n.sqr(i.b), BigInt(27));
    if (n.is0(n.add(B, v))) throw Error("bad curve params: a or b");
    function D(z, I, R = false) {
      if (!n.isValid(I) || R && n.is0(I)) throw Error("bad point coordinate " + z);
      return I;
    }
    function P(z) {
      if (!(z instanceof N)) throw Error("ProjectivePoint expected");
    }
    function k(z) {
      if (!u || !u.basises) throw Error("no endo");
      return (function(I, R, L) {
        const [[O, W], [$, X]] = R, Y = l6(X * I, L), Q = l6(-W * I, L);
        let V = I - Y * O - Q * $, M = -Y * W - Q * X;
        const G = V < Va, ee = M < Va;
        G && (V = -V), ee && (M = -M);
        const te = Bc(Math.ceil(Tm(L) / 2)) + G0;
        if (V < Va || V >= te || M < Va || M >= te) throw Error("splitScalar (endomorphism): failed, k=" + I);
        return {
          k1neg: G,
          k1: V,
          k2neg: ee,
          k2: M
        };
      })(z, u.basises, a.ORDER);
    }
    const w = Xx(((z, I) => {
      const { X: R, Y: L, Z: O } = z;
      if (n.eql(O, n.ONE)) return {
        x: R,
        y: L
      };
      const W = z.is0();
      I == null && (I = W ? n.ONE : n.inv(O));
      const $ = n.mul(R, I), X = n.mul(L, I), Y = n.mul(O, I);
      if (W) return {
        x: n.ZERO,
        y: n.ZERO
      };
      if (!n.eql(Y, n.ONE)) throw Error("invZ was invalid");
      return {
        x: $,
        y: X
      };
    })), _ = Xx(((z) => {
      if (z.is0()) {
        if (t.allowInfinityPoint && !n.is0(z.Y)) return;
        throw Error("bad point: ZERO");
      }
      const { x: I, y: R } = z.toAffine();
      if (!n.isValid(I) || !n.isValid(R)) throw Error("bad point: x or y not field elements");
      if (!y(I, R)) throw Error("bad point: equation left != right");
      if (!z.isTorsionFree()) throw Error("bad point: not in prime-order subgroup");
      return true;
    }));
    function T(z, I, R, L, O) {
      return R = new N(n.mul(R.X, z), R.Y, R.Z), I = Jx(L, I), R = Jx(O, R), I.add(R);
    }
    class N {
      constructor(I, R, L) {
        this.X = D("x", I), this.Y = D("y", R, true), this.Z = D("z", L), Object.freeze(this);
      }
      static CURVE() {
        return i;
      }
      static fromAffine(I) {
        const { x: R, y: L } = I || {};
        if (!I || !n.isValid(R) || !n.isValid(L)) throw Error("invalid affine point");
        if (I instanceof N) throw Error("projective point not allowed");
        return n.is0(R) && n.is0(L) ? N.ZERO : new N(R, L, n.ONE);
      }
      static fromBytes(I) {
        const R = N.fromAffine(p(Qn(I, void 0, "point")));
        return R.assertValidity(), R;
      }
      static fromHex(I) {
        return N.fromBytes(St("pointHex", I));
      }
      get x() {
        return this.toAffine().x;
      }
      get y() {
        return this.toAffine().y;
      }
      precompute(I = 8, R = true) {
        return C.createCache(this, I), R || this.multiply(Ju), this;
      }
      assertValidity() {
        _(this);
      }
      hasEvenY() {
        const { y: I } = this.toAffine();
        if (!n.isOdd) throw Error("Field doesn't support isOdd");
        return !n.isOdd(I);
      }
      equals(I) {
        P(I);
        const { X: R, Y: L, Z: O } = this, { X: W, Y: $, Z: X } = I, Y = n.eql(n.mul(R, X), n.mul(W, O)), Q = n.eql(n.mul(L, X), n.mul($, O));
        return Y && Q;
      }
      negate() {
        return new N(this.X, n.neg(this.Y), this.Z);
      }
      double() {
        const { a: I, b: R } = i, L = n.mul(R, Ju), { X: O, Y: W, Z: $ } = this;
        let X = n.ZERO, Y = n.ZERO, Q = n.ZERO, V = n.mul(O, O), M = n.mul(W, W), G = n.mul($, $), ee = n.mul(O, W);
        return ee = n.add(ee, ee), Q = n.mul(O, $), Q = n.add(Q, Q), X = n.mul(I, Q), Y = n.mul(L, G), Y = n.add(X, Y), X = n.sub(M, Y), Y = n.add(M, Y), Y = n.mul(X, Y), X = n.mul(ee, X), Q = n.mul(L, Q), G = n.mul(I, G), ee = n.sub(V, G), ee = n.mul(I, ee), ee = n.add(ee, Q), Q = n.add(V, V), V = n.add(Q, V), V = n.add(V, G), V = n.mul(V, ee), Y = n.add(Y, V), G = n.mul(W, $), G = n.add(G, G), V = n.mul(G, ee), X = n.sub(X, V), Q = n.mul(G, M), Q = n.add(Q, Q), Q = n.add(Q, Q), new N(X, Y, Q);
      }
      add(I) {
        P(I);
        const { X: R, Y: L, Z: O } = this, { X: W, Y: $, Z: X } = I;
        let Y = n.ZERO, Q = n.ZERO, V = n.ZERO;
        const M = i.a, G = n.mul(i.b, Ju);
        let ee = n.mul(R, W), te = n.mul(L, $), oe = n.mul(O, X), ie = n.add(R, L), xe = n.add(W, $);
        ie = n.mul(ie, xe), xe = n.add(ee, te), ie = n.sub(ie, xe), xe = n.add(R, O);
        let de = n.add(W, X);
        return xe = n.mul(xe, de), de = n.add(ee, oe), xe = n.sub(xe, de), de = n.add(L, O), Y = n.add($, X), de = n.mul(de, Y), Y = n.add(te, oe), de = n.sub(de, Y), V = n.mul(M, xe), Y = n.mul(G, oe), V = n.add(Y, V), Y = n.sub(te, V), V = n.add(te, V), Q = n.mul(Y, V), te = n.add(ee, ee), te = n.add(te, ee), oe = n.mul(M, oe), xe = n.mul(G, xe), te = n.add(te, oe), oe = n.sub(ee, oe), oe = n.mul(M, oe), xe = n.add(xe, oe), ee = n.mul(te, xe), Q = n.add(Q, ee), ee = n.mul(de, xe), Y = n.mul(ie, Y), Y = n.sub(Y, ee), ee = n.mul(ie, te), V = n.mul(de, V), V = n.add(V, ee), new N(Y, Q, V);
      }
      subtract(I) {
        return this.add(I.negate());
      }
      is0() {
        return this.equals(N.ZERO);
      }
      multiply(I) {
        const { endo: R } = t;
        if (!a.isValidNot0(I)) throw Error("invalid scalar: out of range");
        let L, O;
        const W = ($) => C.cached(this, $, ((X) => Pi(N, X)));
        if (R) {
          const { k1neg: $, k1: X, k2neg: Y, k2: Q } = k(I), { p: V, f: M } = W(X), { p: G, f: ee } = W(Q);
          O = M.add(ee), L = T(R.beta, V, G, $, Y);
        } else {
          const { p: $, f: X } = W(I);
          L = $, O = X;
        }
        return Pi(N, [
          L,
          O
        ])[0];
      }
      multiplyUnsafe(I) {
        const { endo: R } = t, L = this;
        if (!a.isValid(I)) throw Error("invalid scalar: out of range");
        if (I === Va || L.is0()) return N.ZERO;
        if (I === G0) return L;
        if (C.hasCache(this)) return this.multiply(I);
        if (R) {
          const { k1neg: O, k1: W, k2neg: $, k2: X } = k(I), { p1: Y, p2: Q } = (function(V, M, G, ee) {
            let te = M, oe = V.ZERO, ie = V.ZERO;
            for (; G > ls || ee > ls; ) G & Ii && (oe = oe.add(te)), ee & Ii && (ie = ie.add(te)), te = te.double(), G >>= Ii, ee >>= Ii;
            return {
              p1: oe,
              p2: ie
            };
          })(N, L, W, X);
          return T(R.beta, Y, Q, O, $);
        }
        return C.unsafe(L, I);
      }
      multiplyAndAddUnsafe(I, R, L) {
        const O = this.multiplyUnsafe(R).add(I.multiplyUnsafe(L));
        return O.is0() ? void 0 : O;
      }
      toAffine(I) {
        return w(this, I);
      }
      isTorsionFree() {
        const { isTorsionFree: I } = t;
        return l === G0 || (I ? I(N, this) : C.unsafe(this, c).is0());
      }
      clearCofactor() {
        const { clearCofactor: I } = t;
        return l === G0 ? this : I ? I(N, this) : this.multiplyUnsafe(l);
      }
      isSmallOrder() {
        return this.multiplyUnsafe(l).is0();
      }
      toBytes(I = true) {
        return Hi(I, "isCompressed"), this.assertValidity(), h(N, this, I);
      }
      toHex(I = true) {
        return Ri(this.toBytes(I));
      }
      toString() {
        return `<Point ${this.is0() ? "ZERO" : this.toHex()}>`;
      }
      get px() {
        return this.X;
      }
      get py() {
        return this.X;
      }
      get pz() {
        return this.Z;
      }
      toRawBytes(I = true) {
        return this.toBytes(I);
      }
      _setWindowSize(I) {
        this.precompute(I);
      }
      static normalizeZ(I) {
        return Pi(N, I);
      }
      static msm(I, R) {
        return o7(N, a, I, R);
      }
      static fromPrivateKey(I) {
        return N.BASE.multiply(V0(a, I));
      }
    }
    N.BASE = new N(i.Gx, i.Gy, n.ONE), N.ZERO = new N(n.ZERO, n.ONE, n.ZERO), N.Fp = n, N.Fn = a;
    const U = a.BITS, C = new a7(N, t.endo ? Math.ceil(U / 2) : U);
    return N.BASE.precompute(8), N;
  }
  function l7(e) {
    return Uint8Array.of(e ? 2 : 3);
  }
  function c7(e, t) {
    return {
      secretKey: t.BYTES,
      publicKey: 1 + e.BYTES,
      publicKeyUncompressed: 1 + 2 * e.BYTES,
      publicKeyHasPrefix: true,
      signature: 2 * t.BYTES
    };
  }
  function hB(e, t = {}) {
    const { Fn: r } = e, n = t.randomBytes || Fd, a = Object.assign(c7(e.Fp, r), {
      seed: t6(r.ORDER)
    });
    function i(f) {
      try {
        return !!V0(r, f);
      } catch {
        return false;
      }
    }
    function l(f = n(a.seed)) {
      return (function(h, p, m = false) {
        const y = h.length, B = qm(p), v = t6(p);
        if (y < 16 || y < v || y > 1024) throw Error("expected " + v + "-1024 bytes of input, got " + y);
        const D = $t(m ? Qi(h) : Sd(h), p - Fr) + Fr;
        return m ? C9(D, B) : B9(D, B);
      })(Qn(f, a.seed, "seed"), r.ORDER);
    }
    function c(f, h = true) {
      return e.BASE.multiply(V0(r, f)).toBytes(h);
    }
    function u(f) {
      if (typeof f == "bigint") return false;
      if (f instanceof e) return true;
      const { secretKey: h, publicKey: p, publicKeyUncompressed: m } = a;
      if (r.allowedLengths || h === p) return;
      const y = St("key", f).length;
      return y === p || y === m;
    }
    return Object.freeze({
      getPublicKey: c,
      getSharedSecret: function(f, h, p = true) {
        if (u(f) === true) throw Error("first arg must be private key");
        if (u(h) === false) throw Error("second arg must be public key");
        const m = V0(r, f);
        return e.fromHex(h).multiply(m).toBytes(p);
      },
      keygen: function(f) {
        const h = l(f);
        return {
          secretKey: h,
          publicKey: c(h)
        };
      },
      Point: e,
      utils: {
        isValidSecretKey: i,
        isValidPublicKey: function(f, h) {
          const { publicKey: p, publicKeyUncompressed: m } = a;
          try {
            const y = f.length;
            return (h !== true || y === p) && (h !== false || y === m) && !!e.fromBytes(f);
          } catch {
            return false;
          }
        },
        randomSecretKey: l,
        isValidPrivateKey: i,
        randomPrivateKey: l,
        normPrivateKeyToScalar: (f) => V0(r, f),
        precompute: (f = 8, h = e.BASE) => h.precompute(f, false)
      },
      lengths: a
    });
  }
  function pB(e, t, r = {}) {
    Nm(t), hs(r, {}, {
      hmac: "function",
      lowS: "boolean",
      randomBytes: "function",
      bits2int: "function",
      bits2int_modN: "function"
    });
    const n = r.randomBytes || Fd, a = r.hmac || ((U, ...C) => t7(t, U, On(...C))), { Fp: i, Fn: l } = e, { ORDER: c, BITS: u } = l, { keygen: x, getPublicKey: f, getSharedSecret: h, utils: p, lengths: m } = hB(e, r), y = {
      prehash: false,
      lowS: typeof r.lowS == "boolean" && r.lowS,
      format: void 0,
      extraEntropy: false
    }, B = "compact";
    function v(U) {
      return U > c >> G0;
    }
    function D(U, C) {
      if (!l.isValidNot0(C)) throw Error(`invalid signature ${U}: out of range 1..Point.Fn.ORDER`);
      return C;
    }
    class P {
      constructor(C, z, I) {
        this.r = D("r", C), this.s = D("s", z), I != null && (this.recovery = I), Object.freeze(this);
      }
      static fromBytes(C, z = B) {
        let I;
        if ((function(W, $) {
          k8($);
          const X = m.signature;
          Qn(W, $ === "compact" ? X : $ === "recovered" ? X + 1 : void 0, $ + " signature");
        })(C, z), z === "der") {
          const { r: W, s: $ } = Qa.toSig(Qn(C));
          return new P(W, $);
        }
        z === "recovered" && (I = C[0], z = "compact", C = C.subarray(1));
        const R = l.BYTES, L = C.subarray(0, R), O = C.subarray(R, 2 * R);
        return new P(l.fromBytes(L), l.fromBytes(O), I);
      }
      static fromHex(C, z) {
        return this.fromBytes(Yx(C), z);
      }
      addRecoveryBit(C) {
        return new P(this.r, this.s, C);
      }
      recoverPublicKey(C) {
        const z = i.ORDER, { r: I, s: R, recovery: L } = this;
        if (L == null || ![
          0,
          1,
          2,
          3
        ].includes(L)) throw Error("recovery id invalid");
        if (c * s7 < z && L > 1) throw Error("recovery id is ambiguous for h>1 curve");
        const O = L === 2 || L === 3 ? I + c : I;
        if (!i.isValid(O)) throw Error("recovery id 2 or 3 invalid");
        const W = i.toBytes(O), $ = e.fromBytes(On(l7(!(1 & L)), W)), X = l.inv(O), Y = w(St("msgHash", C)), Q = l.create(-Y * X), V = l.create(R * X), M = e.BASE.multiplyUnsafe(Q).add($.multiplyUnsafe(V));
        if (M.is0()) throw Error("point at infinify");
        return M.assertValidity(), M;
      }
      hasHighS() {
        return v(this.s);
      }
      toBytes(C = B) {
        if (k8(C), C === "der") return Yx(Qa.hexFromSig(this));
        const z = l.toBytes(this.r), I = l.toBytes(this.s);
        if (C === "recovered") {
          if (this.recovery == null) throw Error("recovery bit must be present");
          return On(Uint8Array.of(this.recovery), z, I);
        }
        return On(z, I);
      }
      toHex(C) {
        return Ri(this.toBytes(C));
      }
      assertValidity() {
      }
      static fromCompact(C) {
        return P.fromBytes(St("sig", C), "compact");
      }
      static fromDER(C) {
        return P.fromBytes(St("sig", C), "der");
      }
      normalizeS() {
        return this.hasHighS() ? new P(this.r, l.neg(this.s), this.recovery) : this;
      }
      toDERRawBytes() {
        return this.toBytes("der");
      }
      toDERHex() {
        return Ri(this.toBytes("der"));
      }
      toCompactRawBytes() {
        return this.toBytes("compact");
      }
      toCompactHex() {
        return Ri(this.toBytes("compact"));
      }
    }
    const k = r.bits2int || function(U) {
      if (U.length > 8192) throw Error("input is too large");
      const C = Sd(U), z = 8 * U.length - u;
      return z > 0 ? C >> BigInt(z) : C;
    }, w = r.bits2int_modN || function(U) {
      return l.create(k(U));
    }, _ = Bc(u);
    function T(U) {
      return tc("num < 2^" + u, U, Va, _), l.toBytes(U);
    }
    function N(U, C) {
      return Qn(U, void 0, "message"), C ? Qn(t(U), void 0, "prehashed message") : U;
    }
    return Object.freeze({
      keygen: x,
      getPublicKey: f,
      getSharedSecret: h,
      utils: p,
      lengths: m,
      Point: e,
      sign: function(U, C, z = {}) {
        U = St("message", U);
        const { seed: I, k2sig: R } = (function(O, W, $) {
          if ([
            "recovered",
            "canonical"
          ].some(((oe) => oe in $))) throw Error("sign() legacy options not supported");
          const { lowS: X, prehash: Y, extraEntropy: Q } = vh($, y);
          O = N(O, Y);
          const V = w(O), M = V0(l, W), G = [
            T(M),
            T(V)
          ];
          if (Q != null && Q !== false) {
            const oe = Q === true ? n(m.secretKey) : Q;
            G.push(St("extraEntropy", oe));
          }
          const ee = On(...G), te = V;
          return {
            seed: ee,
            k2sig: function(oe) {
              const ie = k(oe);
              if (!l.isValidNot0(ie)) return;
              const xe = l.inv(ie), de = e.BASE.multiply(ie).toAffine(), he = l.create(de.x);
              if (he === Va) return;
              const be = l.create(xe * l.create(te + he * M));
              if (be === Va) return;
              let ve = (de.x === he ? 0 : 2) | Number(de.y & G0), Ce = be;
              return X && v(be) && (Ce = l.neg(be), ve ^= 1), new P(he, Ce, ve);
            }
          };
        })(U, C, z);
        return (function(O, W, $) {
          if (typeof O != "number" || O < 2) throw Error("hashLen must be a number");
          if (typeof W != "number" || W < 2) throw Error("qByteLen must be a number");
          if (typeof $ != "function") throw Error("hmacFn must be a function");
          const X = (ie) => new Uint8Array(ie), Y = (ie) => Uint8Array.of(ie);
          let Q = X(O), V = X(O), M = 0;
          const G = () => {
            Q.fill(1), V.fill(0), M = 0;
          }, ee = (...ie) => $(V, Q, ...ie), te = (ie = X(0)) => {
            V = ee(Y(0), ie), Q = ee(), ie.length !== 0 && (V = ee(Y(1), ie), Q = ee());
          }, oe = () => {
            if (M++ >= 1e3) throw Error("drbg: tried 1000 values");
            let ie = 0;
            const xe = [];
            for (; ie < W; ) {
              Q = ee();
              const de = Q.slice();
              xe.push(de), ie += Q.length;
            }
            return On(...xe);
          };
          return (ie, xe) => {
            let de;
            for (G(), te(ie); !(de = xe(oe())); ) te();
            return G(), de;
          };
        })(t.outputLen, l.BYTES, a)(I, R);
      },
      verify: function(U, C, z, I = {}) {
        const { lowS: R, prehash: L, format: O } = vh(I, y);
        if (z = St("publicKey", z), C = N(St("message", C), L), "strict" in I) throw Error("options.strict was renamed to lowS");
        const W = O === void 0 ? (function($) {
          let X;
          const Y = typeof $ == "string" || wc($), Q = !Y && $ !== null && typeof $ == "object" && typeof $.r == "bigint" && typeof $.s == "bigint";
          if (!Y && !Q) throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");
          if (Q) X = new P($.r, $.s);
          else if (Y) {
            try {
              X = P.fromBytes(St("sig", $), "der");
            } catch (V) {
              if (!(V instanceof Qa.Err)) throw V;
            }
            if (!X) try {
              X = P.fromBytes(St("sig", $), "compact");
            } catch {
              return false;
            }
          }
          return X || false;
        })(U) : P.fromBytes(St("sig", U), O);
        if (W === false) return false;
        try {
          const $ = e.fromBytes(z);
          if (R && W.hasHighS()) return false;
          const { r: X, s: Y } = W, Q = w(C), V = l.inv(Y), M = l.create(Q * V), G = l.create(X * V), ee = e.BASE.multiplyUnsafe(M).add($.multiplyUnsafe(G));
          return ee.is0() ? false : l.create(ee.x) === X;
        } catch {
          return false;
        }
      },
      recoverPublicKey: function(U, C, z = {}) {
        const { prehash: I } = vh(z, y);
        return C = N(C, I), P.fromBytes(U, "recovered").recoverPublicKey(C).toBytes();
      },
      Signature: P,
      hash: t
    });
  }
  function gB(e) {
    const { CURVE: t, curveOpts: r } = (function(a) {
      const i = {
        a: a.a,
        b: a.b,
        p: a.Fp.ORDER,
        n: a.n,
        h: a.h,
        Gx: a.Gx,
        Gy: a.Gy
      }, l = a.Fp;
      let c = a.allowedPrivateKeyLengths ? Array.from(new Set(a.allowedPrivateKeyLengths.map(((u) => Math.ceil(u / 2))))) : void 0;
      return {
        CURVE: i,
        curveOpts: {
          Fp: l,
          Fn: Vr(i.n, {
            BITS: a.nBitLength,
            allowedLengths: c,
            modFromBytes: a.wrapPrivateKey
          }),
          allowInfinityPoint: a.allowInfinityPoint,
          endo: a.endo,
          isTorsionFree: a.isTorsionFree,
          clearCofactor: a.clearCofactor,
          fromBytes: a.fromBytes,
          toBytes: a.toBytes
        }
      };
    })(e), n = {
      hmac: e.hmac,
      randomBytes: e.randomBytes,
      lowS: e.lowS,
      bits2int: e.bits2int,
      bits2int_modN: e.bits2int_modN
    };
    return {
      CURVE: t,
      curveOpts: r,
      hash: e.hash,
      ecdsaOpts: n
    };
  }
  function mB(e) {
    const { CURVE: t, curveOpts: r, hash: n, ecdsaOpts: a } = gB(e);
    return (function(i, l) {
      const c = l.Point;
      return Object.assign({}, l, {
        ProjectivePoint: c,
        CURVE: Object.assign({}, i, Qm(c.Fn.ORDER, c.Fn.BITS))
      });
    })(e, pB(fB(t, r), n, a));
  }
  function e0(e, t) {
    const r = (n) => mB({
      ...e,
      hash: n
    });
    return {
      ...r(t),
      create: r
    };
  }
  const u7 = {
    p: BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),
    n: BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),
    h: BigInt(1),
    a: BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),
    b: BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),
    Gx: BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),
    Gy: BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")
  }, x7 = {
    p: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),
    n: BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),
    h: BigInt(1),
    a: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),
    b: BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),
    Gx: BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),
    Gy: BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")
  }, d7 = {
    p: BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),
    n: BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),
    h: BigInt(1),
    a: BigInt("0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc"),
    b: BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00"),
    Gx: BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),
    Gy: BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650")
  }, yB = Vr(u7.p), EB = Vr(x7.p), AB = Vr(d7.p), bB = e0({
    ...u7,
    Fp: yB,
    lowS: false
  }, D9), wB = e0({
    ...x7,
    Fp: EB,
    lowS: false
  }, Jm), vB = e0({
    ...d7,
    Fp: AB,
    lowS: false,
    allowedPrivateKeyLengths: [
      130,
      131,
      132
    ]
  }, Xm), BB = BigInt(0), ml = BigInt(1), CB = BigInt(2), kB = BigInt(7), DB = BigInt(256), FB = BigInt(113), f7 = [], h7 = [], p7 = [];
  for (let e = 0, t = ml, r = 1, n = 0; e < 24; e++) {
    [r, n] = [
      n,
      (2 * r + 3 * n) % 5
    ], f7.push(2 * (5 * n + r)), h7.push((e + 1) * (e + 2) / 2 % 64);
    let a = BB;
    for (let i = 0; i < 7; i++) t = (t << ml ^ (t >> kB) * FB) % DB, t & CB && (a ^= ml << (ml << BigInt(i)) - ml);
    p7.push(a);
  }
  const g7 = Wm(p7, true), SB = g7[0], _B = g7[1], c6 = (e, t, r) => r > 32 ? ((n, a, i) => a << i - 32 | n >>> 64 - i)(e, t, r) : ((n, a, i) => n << i | a >>> 32 - i)(e, t, r), u6 = (e, t, r) => r > 32 ? ((n, a, i) => n << i - 32 | a >>> 64 - i)(e, t, r) : ((n, a, i) => a << i | n >>> 32 - i)(e, t, r);
  class _d extends w9 {
    constructor(t, r, n, a = false, i = 24) {
      if (super(), this.pos = 0, this.posOut = 0, this.finished = false, this.destroyed = false, this.enableXOF = false, this.blockLen = t, this.suffix = r, this.outputLen = n, this.enableXOF = a, this.rounds = i, ec(n), !(0 < t && t < 200)) throw Error("only keccak-f1600 function is supported");
      var l;
      this.state = new Uint8Array(200), this.state32 = (l = this.state, new Uint32Array(l.buffer, l.byteOffset, Math.floor(l.byteLength / 4)));
    }
    clone() {
      return this._cloneInto();
    }
    keccak() {
      q3(this.state32), (function(t, r = 24) {
        const n = new Uint32Array(10);
        for (let a = 24 - r; a < 24; a++) {
          for (let c = 0; c < 10; c++) n[c] = t[c] ^ t[c + 10] ^ t[c + 20] ^ t[c + 30] ^ t[c + 40];
          for (let c = 0; c < 10; c += 2) {
            const u = (c + 8) % 10, x = (c + 2) % 10, f = n[x], h = n[x + 1], p = c6(f, h, 1) ^ n[u], m = u6(f, h, 1) ^ n[u + 1];
            for (let y = 0; y < 50; y += 10) t[c + y] ^= p, t[c + y + 1] ^= m;
          }
          let i = t[2], l = t[3];
          for (let c = 0; c < 24; c++) {
            const u = h7[c], x = c6(i, l, u), f = u6(i, l, u), h = f7[c];
            i = t[h], l = t[h + 1], t[h] = x, t[h + 1] = f;
          }
          for (let c = 0; c < 50; c += 10) {
            for (let u = 0; u < 10; u++) n[u] = t[c + u];
            for (let u = 0; u < 10; u++) t[c + u] ^= ~n[(u + 2) % 10] & n[(u + 4) % 10];
          }
          t[0] ^= SB[a], t[1] ^= _B[a];
        }
        Cn(n);
      })(this.state32, this.rounds), q3(this.state32), this.posOut = 0, this.pos = 0;
    }
    update(t) {
      ss(this), ba(t = vc(t));
      const { blockLen: r, state: n } = this, a = t.length;
      for (let i = 0; i < a; ) {
        const l = Math.min(r - this.pos, a - i);
        for (let c = 0; c < l; c++) n[this.pos++] ^= t[i++];
        this.pos === r && this.keccak();
      }
      return this;
    }
    finish() {
      if (this.finished) return;
      this.finished = true;
      const { state: t, suffix: r, pos: n, blockLen: a } = this;
      t[n] ^= r, 128 & r && n === a - 1 && this.keccak(), t[a - 1] ^= 128, this.keccak();
    }
    writeInto(t) {
      ss(this, false), ba(t), this.finish();
      const r = this.state, { blockLen: n } = this;
      for (let a = 0, i = t.length; a < i; ) {
        this.posOut >= n && this.keccak();
        const l = Math.min(n - this.posOut, i - a);
        t.set(r.subarray(this.posOut, this.posOut + l), a), this.posOut += l, a += l;
      }
      return t;
    }
    xofInto(t) {
      if (!this.enableXOF) throw Error("XOF is not possible for this instance");
      return this.writeInto(t);
    }
    xof(t) {
      return ec(t), this.xofInto(new Uint8Array(t));
    }
    digestInto(t) {
      if (jm(t, this), this.finished) throw Error("digest() was already called");
      return this.writeInto(t), this.destroy(), t;
    }
    digest() {
      return this.digestInto(new Uint8Array(this.outputLen));
    }
    destroy() {
      this.destroyed = true, Cn(this.state);
    }
    _cloneInto(t) {
      const { blockLen: r, suffix: n, outputLen: a, rounds: i, enableXOF: l } = this;
      return t || (t = new _d(r, n, a, l, i)), t.state32.set(this.state32), t.pos = this.pos, t.posOut = this.posOut, t.finished = this.finished, t.rounds = i, t.suffix = n, t.outputLen = a, t.enableXOF = l, t.destroyed = this.destroyed, t;
    }
  }
  const m7 = (e, t, r) => Xa((() => new _d(t, e, r))), IB = m7(6, 136, 32), PB = m7(6, 72, 64), NB = (e, t, r) => (function(n) {
    const a = (l, c) => n(c).update(vc(l)).digest(), i = n({});
    return a.outputLen = i.outputLen, a.blockLen = i.blockLen, a.create = (l) => n(l), a;
  })(((n = {}) => new _d(t, e, n.dkLen === void 0 ? r : n.dkLen, true))), jB = NB(31, 136, 32), jo = BigInt(0), er = BigInt(1), Bh = BigInt(2), zB = BigInt(8);
  function y7(e, t = {}) {
    const r = i7("edwards", e, t, t.FpFnLE), { Fp: n, Fn: a } = r;
    let i = r.CURVE;
    const { h: l } = i;
    hs(t, {}, {
      uvRatio: "function"
    });
    const c = Bh << BigInt(8 * a.BYTES) - er, u = (v) => n.create(v), x = t.uvRatio || ((v, D) => {
      try {
        return {
          isValid: true,
          value: n.sqrt(n.div(v, D))
        };
      } catch {
        return {
          isValid: false,
          value: jo
        };
      }
    });
    if (!(function(v, D, P, k) {
      const w = v.sqr(P), _ = v.sqr(k), T = v.add(v.mul(D.a, w), _), N = v.add(v.ONE, v.mul(D.d, v.mul(w, _)));
      return v.eql(T, N);
    })(n, i, i.Gx, i.Gy)) throw Error("bad curve params: generator point");
    function f(v, D, P = false) {
      return tc("coordinate " + v, D, P ? er : jo, c), D;
    }
    function h(v) {
      if (!(v instanceof y)) throw Error("ExtendedPoint expected");
    }
    const p = Xx(((v, D) => {
      const { X: P, Y: k, Z: w } = v, _ = v.is0();
      D == null && (D = _ ? zB : n.inv(w));
      const T = u(P * D), N = u(k * D), U = n.mul(w, D);
      if (_) return {
        x: jo,
        y: er
      };
      if (U !== er) throw Error("invZ was invalid");
      return {
        x: T,
        y: N
      };
    })), m = Xx(((v) => {
      const { a: D, d: P } = i;
      if (v.is0()) throw Error("bad point: ZERO");
      const { X: k, Y: w, Z: _, T } = v, N = u(k * k), U = u(w * w), C = u(_ * _), z = u(C * C), I = u(N * D);
      if (u(C * u(I + U)) !== u(z + u(P * u(N * U)))) throw Error("bad point: equation left != right (1)");
      if (u(k * w) !== u(_ * T)) throw Error("bad point: equation left != right (2)");
      return true;
    }));
    class y {
      constructor(D, P, k, w) {
        this.X = f("x", D), this.Y = f("y", P), this.Z = f("z", k, true), this.T = f("t", w), Object.freeze(this);
      }
      static CURVE() {
        return i;
      }
      static fromAffine(D) {
        if (D instanceof y) throw Error("extended point not allowed");
        const { x: P, y: k } = D || {};
        return f("x", P), f("y", k), new y(P, k, er, u(P * k));
      }
      static fromBytes(D, P = false) {
        const k = n.BYTES, { a: w, d: _ } = i;
        D = Z3(Qn(D, k, "point")), Hi(P, "zip215");
        const T = Z3(D), N = D[k - 1];
        T[k - 1] = -129 & N;
        const U = Qi(T), C = P ? c : n.ORDER;
        tc("point.y", U, jo, C);
        const z = u(U * U), I = u(z - er), R = u(_ * z - w);
        let { isValid: L, value: O } = x(I, R);
        if (!L) throw Error("bad point: invalid y coordinate");
        const W = (O & er) === er, $ = !!(128 & N);
        if (!P && O === jo && $) throw Error("bad point: x=0 and x_0=1");
        return $ !== W && (O = u(-O)), y.fromAffine({
          x: O,
          y: U
        });
      }
      static fromHex(D, P = false) {
        return y.fromBytes(St("point", D), P);
      }
      get x() {
        return this.toAffine().x;
      }
      get y() {
        return this.toAffine().y;
      }
      precompute(D = 8, P = true) {
        return B.createCache(this, D), P || this.multiply(Bh), this;
      }
      assertValidity() {
        m(this);
      }
      equals(D) {
        h(D);
        const { X: P, Y: k, Z: w } = this, { X: _, Y: T, Z: N } = D, U = u(P * N), C = u(_ * w), z = u(k * N), I = u(T * w);
        return U === C && z === I;
      }
      is0() {
        return this.equals(y.ZERO);
      }
      negate() {
        return new y(u(-this.X), this.Y, this.Z, u(-this.T));
      }
      double() {
        const { a: D } = i, { X: P, Y: k, Z: w } = this, _ = u(P * P), T = u(k * k), N = u(Bh * u(w * w)), U = u(D * _), C = P + k, z = u(u(C * C) - _ - T), I = U + T, R = I - N, L = U - T, O = u(z * R), W = u(I * L), $ = u(z * L), X = u(R * I);
        return new y(O, W, X, $);
      }
      add(D) {
        h(D);
        const { a: P, d: k } = i, { X: w, Y: _, Z: T, T: N } = this, { X: U, Y: C, Z: z, T: I } = D, R = u(w * U), L = u(_ * C), O = u(N * k * I), W = u(T * z), $ = u((w + _) * (U + C) - R - L), X = W - O, Y = W + O, Q = u(L - P * R), V = u($ * X), M = u(Y * Q), G = u($ * Q), ee = u(X * Y);
        return new y(V, M, ee, G);
      }
      subtract(D) {
        return this.add(D.negate());
      }
      multiply(D) {
        if (!a.isValidNot0(D)) throw Error("invalid scalar: expected 1 <= sc < curve.n");
        const { p: P, f: k } = B.cached(this, D, ((w) => Pi(y, w)));
        return Pi(y, [
          P,
          k
        ])[0];
      }
      multiplyUnsafe(D, P = y.ZERO) {
        if (!a.isValid(D)) throw Error("invalid scalar: expected 0 <= sc < curve.n");
        return D === jo ? y.ZERO : this.is0() || D === er ? this : B.unsafe(this, D, ((k) => Pi(y, k)), P);
      }
      isSmallOrder() {
        return this.multiplyUnsafe(l).is0();
      }
      isTorsionFree() {
        return B.unsafe(this, i.n).is0();
      }
      toAffine(D) {
        return p(this, D);
      }
      clearCofactor() {
        return l === er ? this : this.multiplyUnsafe(l);
      }
      toBytes() {
        const { x: D, y: P } = this.toAffine(), k = n.toBytes(P);
        return k[k.length - 1] |= D & er ? 128 : 0, k;
      }
      toHex() {
        return Ri(this.toBytes());
      }
      toString() {
        return `<Point ${this.is0() ? "ZERO" : this.toHex()}>`;
      }
      get ex() {
        return this.X;
      }
      get ey() {
        return this.Y;
      }
      get ez() {
        return this.Z;
      }
      get et() {
        return this.T;
      }
      static normalizeZ(D) {
        return Pi(y, D);
      }
      static msm(D, P) {
        return o7(y, a, D, P);
      }
      _setWindowSize(D) {
        this.precompute(D);
      }
      toRawBytes() {
        return this.toBytes();
      }
    }
    y.BASE = new y(i.Gx, i.Gy, er, u(i.Gx * i.Gy)), y.ZERO = new y(jo, er, er, jo), y.Fp = n, y.Fn = a;
    const B = new a7(y, a.BITS);
    return y.BASE.precompute(8), y;
  }
  function UB(e, t, r = {}) {
    if (typeof t != "function") throw Error('"hash" function param is required');
    hs(r, {}, {
      adjustScalarBytes: "function",
      randomBytes: "function",
      domain: "function",
      prehash: "function",
      mapToCurve: "function"
    });
    const { prehash: n } = r, { BASE: a, Fp: i, Fn: l } = e, c = r.randomBytes || Fd, u = r.adjustScalarBytes || ((k) => k), x = r.domain || ((k, w, _) => {
      if (Hi(_, "phflag"), w.length || _) throw Error("Contexts/pre-hash are not supported");
      return k;
    });
    function f(k) {
      return l.create(Qi(k));
    }
    function h(k) {
      const { head: w, prefix: _, scalar: T } = (function(C) {
        const z = v.secretKey;
        C = St("private key", C, z);
        const I = St("hashed private key", t(C), 2 * z), R = u(I.slice(0, z));
        return {
          head: R,
          prefix: I.slice(z, 2 * z),
          scalar: f(R)
        };
      })(k), N = a.multiply(T), U = N.toBytes();
      return {
        head: w,
        prefix: _,
        scalar: T,
        point: N,
        pointBytes: U
      };
    }
    function p(k) {
      return h(k).pointBytes;
    }
    function m(k = Uint8Array.of(), ...w) {
      const _ = On(...w);
      return f(t(x(_, St("context", k), !!n)));
    }
    const y = {
      zip215: true
    }, B = i.BYTES, v = {
      secretKey: B,
      publicKey: B,
      signature: 2 * B,
      seed: B
    };
    function D(k = c(v.seed)) {
      return Qn(k, v.seed, "seed");
    }
    const P = {
      getExtendedPublicKey: h,
      randomSecretKey: D,
      isValidSecretKey: function(k) {
        return wc(k) && k.length === l.BYTES;
      },
      isValidPublicKey: function(k, w) {
        try {
          return !!e.fromBytes(k, w);
        } catch {
          return false;
        }
      },
      toMontgomery(k) {
        const { y: w } = e.fromBytes(k), _ = v.publicKey, T = _ === 32;
        if (!T && _ !== 57) throw Error("only defined for 25519 and 448");
        const N = T ? i.div(er + w, er - w) : i.div(w - er, w + er);
        return i.toBytes(N);
      },
      toMontgomerySecret(k) {
        const w = v.secretKey;
        Qn(k, w);
        const _ = t(k.subarray(0, w));
        return u(_).subarray(0, w);
      },
      randomPrivateKey: D,
      precompute: (k = 8, w = e.BASE) => w.precompute(k, false)
    };
    return Object.freeze({
      keygen: function(k) {
        const w = P.randomSecretKey(k);
        return {
          secretKey: w,
          publicKey: p(w)
        };
      },
      getPublicKey: p,
      sign: function(k, w, _ = {}) {
        k = St("message", k), n && (k = n(k));
        const { prefix: T, scalar: N, pointBytes: U } = h(w), C = m(_.context, T, k), z = a.multiply(C).toBytes(), I = m(_.context, z, U, k), R = l.create(C + I * N);
        if (!l.isValid(R)) throw Error("sign failed: invalid s");
        return Qn(On(z, l.toBytes(R)), v.signature, "result");
      },
      verify: function(k, w, _, T = y) {
        const { context: N, zip215: U } = T, C = v.signature;
        k = St("signature", k, C), w = St("message", w), _ = St("publicKey", _, v.publicKey), U !== void 0 && Hi(U, "zip215"), n && (w = n(w));
        const z = C / 2, I = k.subarray(0, z), R = Qi(k.subarray(z, C));
        let L, O, W;
        try {
          L = e.fromBytes(_, U), O = e.fromBytes(I, U), W = a.multiplyUnsafe(R);
        } catch {
          return false;
        }
        if (!U && L.isSmallOrder()) return false;
        const $ = m(N, O.toBytes(), L.toBytes(), w);
        return O.add(L.multiplyUnsafe($)).subtract(W).clearCofactor().is0();
      },
      utils: P,
      Point: e,
      lengths: v
    });
  }
  const yl = BigInt(0), I0 = BigInt(1), ex = BigInt(2);
  function TB(e) {
    const t = (hs(r = e, {
      adjustScalarBytes: "function",
      powPminus2: "function"
    }), Object.freeze({
      ...r
    }));
    var r;
    const { P: n, type: a, adjustScalarBytes: i, powPminus2: l, randomBytes: c } = t, u = a === "x25519";
    if (!u && a !== "x448") throw Error("invalid type");
    const x = c || Fd, f = u ? 255 : 448, h = u ? 32 : 56, p = BigInt(u ? 9 : 5), m = BigInt(u ? 121665 : 39081), y = u ? ex ** BigInt(254) : ex ** BigInt(447), B = u ? BigInt(8) * ex ** BigInt(251) - I0 : BigInt(4) * ex ** BigInt(445) - I0, v = y + B + I0, D = (C) => $t(C, n), P = k(p);
    function k(C) {
      return C9(D(C), h);
    }
    function w(C, z) {
      const I = (function(R, L) {
        tc("u", R, yl, n), tc("scalar", L, y, v);
        const O = L, W = R;
        let $ = I0, X = yl, Y = R, Q = I0, V = yl;
        for (let G = BigInt(f - 1); G >= yl; G--) {
          const ee = O >> G & I0;
          V ^= ee, { x_2: $, x_3: Y } = T(V, $, Y), { x_2: X, x_3: Q } = T(V, X, Q), V = ee;
          const te = $ + X, oe = D(te * te), ie = $ - X, xe = D(ie * ie), de = oe - xe, he = Y + Q, be = D((Y - Q) * te), ve = D(he * ie), Ce = be + ve, Ie = be - ve;
          Y = D(Ce * Ce), Q = D(W * D(Ie * Ie)), $ = D(oe * xe), X = D(de * (oe + D(m * de)));
        }
        ({ x_2: $, x_3: Y } = T(V, $, Y)), { x_2: X, x_3: Q } = T(V, X, Q);
        const M = l(X);
        return D($ * M);
      })((function(R) {
        const L = St("u coordinate", R, h);
        return u && (L[31] &= 127), D(Qi(L));
      })(z), (function(R) {
        return Qi(i(St("scalar", R, h)));
      })(C));
      if (I === yl) throw Error("invalid private or public key received");
      return k(I);
    }
    function _(C) {
      return w(C, P);
    }
    function T(C, z, I) {
      const R = D(C * (z - I));
      return {
        x_2: z = D(z - R),
        x_3: I = D(I + R)
      };
    }
    const N = {
      secretKey: h,
      publicKey: h,
      seed: h
    }, U = (C = x(h)) => (ba(C, N.seed), C);
    return {
      keygen: function(C) {
        const z = U(C);
        return {
          secretKey: z,
          publicKey: _(z)
        };
      },
      getSharedSecret: (C, z) => w(C, z),
      getPublicKey: (C) => _(C),
      scalarMult: w,
      scalarMultBase: _,
      utils: {
        randomSecretKey: U,
        randomPrivateKey: U
      },
      GuBytes: P.slice(),
      lengths: N
    };
  }
  const t0 = {
    p: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),
    n: BigInt("0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3"),
    h: BigInt(4),
    a: BigInt(1),
    d: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff6756"),
    Gx: BigInt("0x4f1970c66bed0ded221d15a622bf36da9e146570470f1767ea6de324a3d3a46412ae1af72ab66511433b80e18b00938e2626a82bc70cc05e"),
    Gy: BigInt("0x693f46716eb6bc248876203756c9c7624bea73736ca3984087789c1e05a0c2d73ad3ff1ce67c39c4fdbd132c4ed7c8ad9808795bf230fa14")
  }, RB = Object.assign({}, t0, {
    d: BigInt("0xd78b4bdc7f0daf19f24f38c29373a2ccad46157242a50f37809b1da3412a12e79ccc9c81264cfe9ad080997058fb61c4243cc32dbaa156b9"),
    Gx: BigInt("0x79a70b2b70400553ae7c9df416c792c61128751ac92969240c25a07d728bdc93e21f7787ed6972249de732f38496cd11698713093e9c04fc"),
    Gy: BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000001")
  }), KB = Xa((() => jB.create({
    dkLen: 114
  }))), MB = BigInt(1), D8 = BigInt(2), x6 = BigInt(3);
  BigInt(4);
  const LB = BigInt(11), OB = BigInt(22), d6 = BigInt(44), HB = BigInt(88), QB = BigInt(223);
  function E7(e) {
    const t = t0.p, r = e * e * e % t, n = r * r * e % t, a = Ft(n, x6, t) * n % t, i = Ft(a, x6, t) * n % t, l = Ft(i, D8, t) * r % t, c = Ft(l, LB, t) * l % t, u = Ft(c, OB, t) * c % t, x = Ft(u, d6, t) * u % t, f = Ft(x, HB, t) * x % t, h = Ft(f, d6, t) * u % t, p = Ft(h, D8, t) * r % t, m = Ft(p, MB, t) * e % t;
    return Ft(m, QB, t) * p % t;
  }
  function A7(e) {
    return e[0] &= 252, e[55] |= 128, e[56] = 0, e;
  }
  function qB(e, t) {
    const r = t0.p, n = $t(e * e * t, r), a = $t(n * e, r), i = $t(a * n * t, r), l = $t(a * E7(i), r), c = $t(l * l, r);
    return {
      isValid: $t(c * t, r) === e,
      value: l
    };
  }
  const GB = Vr(t0.p, {
    BITS: 456,
    isLE: true
  }), f6 = Vr(t0.n, {
    BITS: 456,
    isLE: true
  });
  function VB(e, t, r) {
    if (t.length > 255) throw Error("context must be smaller than 255, got: " + t.length);
    return On((n = "SigEd448", Uint8Array.from(n, ((a, i) => {
      const l = a.charCodeAt(0);
      if (a.length !== 1 || l > 127) throw Error(`string contains non-ASCII character "${n[i]}" with code ${l} at position ${i}`);
      return l;
    }))), new Uint8Array([
      r ? 1 : 0,
      t.length
    ]), t, e);
    var n;
  }
  const WB = (function(e) {
    const { CURVE: t, curveOpts: r, hash: n, eddsaOpts: a } = (function(i) {
      const l = {
        a: i.a,
        d: i.d,
        p: i.Fp.ORDER,
        n: i.n,
        h: i.h,
        Gx: i.Gx,
        Gy: i.Gy
      }, c = {
        Fp: i.Fp,
        Fn: Vr(l.n, i.nBitLength, true),
        uvRatio: i.uvRatio
      }, u = {
        randomBytes: i.randomBytes,
        adjustScalarBytes: i.adjustScalarBytes,
        domain: i.domain,
        prehash: i.prehash,
        mapToCurve: i.mapToCurve
      };
      return {
        CURVE: l,
        curveOpts: c,
        hash: i.hash,
        eddsaOpts: u
      };
    })(e);
    return (function(i, l) {
      const c = l.Point;
      return Object.assign({}, l, {
        ExtendedPoint: c,
        CURVE: i,
        nBitLength: c.Fn.BITS,
        nByteLength: c.Fn.BYTES
      });
    })(e, UB(y7(t, r), n, a));
  })({
    ...t0,
    Fp: GB,
    Fn: f6,
    nBitLength: f6.BITS,
    hash: KB,
    adjustScalarBytes: A7,
    domain: VB,
    uvRatio: qB
  });
  y7(RB);
  const $B = (() => {
    const e = t0.p;
    return TB({
      P: e,
      type: "x448",
      powPminus2: (t) => $t(Ft(E7(t), D8, e) * t, e),
      adjustScalarBytes: A7
    });
  })(), F8 = {
    p: BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),
    n: BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),
    h: BigInt(1),
    a: BigInt(0),
    b: BigInt(7),
    Gx: BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),
    Gy: BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")
  }, ZB = {
    beta: BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),
    basises: [
      [
        BigInt("0x3086d221a7d46bcde86c90e49284eb15"),
        -BigInt("0xe4437ed6010e88286f547fa90abfe4c3")
      ],
      [
        BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),
        BigInt("0x3086d221a7d46bcde86c90e49284eb15")
      ]
    ]
  }, h6 = BigInt(2);
  const S8 = Vr(F8.p, {
    sqrt: function(e) {
      const t = F8.p, r = BigInt(3), n = BigInt(6), a = BigInt(11), i = BigInt(22), l = BigInt(23), c = BigInt(44), u = BigInt(88), x = e * e * e % t, f = x * x * e % t, h = Ft(f, r, t) * f % t, p = Ft(h, r, t) * f % t, m = Ft(p, h6, t) * x % t, y = Ft(m, a, t) * m % t, B = Ft(y, i, t) * y % t, v = Ft(B, c, t) * B % t, D = Ft(v, u, t) * v % t, P = Ft(D, c, t) * B % t, k = Ft(P, r, t) * f % t, w = Ft(k, l, t) * y % t, _ = Ft(w, n, t) * x % t, T = Ft(_, h6, t);
      if (!S8.eql(S8.sqr(T), e)) throw Error("Cannot find square root");
      return T;
    }
  }), YB = e0({
    ...F8,
    Fp: S8,
    lowS: true,
    endo: ZB
  }, D9), b7 = D9, XB = xB, p6 = Vr(BigInt("0xa9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377")), JB = e0({
    a: p6.create(BigInt("0x7d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9")),
    b: BigInt("0x26dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b6"),
    Fp: p6,
    n: BigInt("0xa9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7"),
    Gx: BigInt("0x8bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262"),
    Gy: BigInt("0x547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"),
    h: BigInt(1),
    lowS: false
  }, b7), w7 = Xm, v7 = Jm, g6 = Vr(BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53")), eC = e0({
    a: g6.create(BigInt("0x7bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826")),
    b: BigInt("0x04a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c11"),
    Fp: g6,
    n: BigInt("0x8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565"),
    Gx: BigInt("0x1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e"),
    Gy: BigInt("0x8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"),
    h: BigInt(1),
    lowS: false
  }, v7), m6 = Vr(BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3")), tC = e0({
    a: m6.create(BigInt("0x7830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca")),
    b: BigInt("0x3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723"),
    Fp: m6,
    n: BigInt("0xaadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069"),
    Gx: BigInt("0x81aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822"),
    Gy: BigInt("0x7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"),
    h: BigInt(1),
    lowS: false
  }, w7), rC = new Map(Object.entries({
    nistP256: bB,
    nistP384: wB,
    nistP521: vB,
    brainpoolP256r1: JB,
    brainpoolP384r1: eC,
    brainpoolP512r1: tC,
    secp256k1: YB,
    x448: $B,
    ed448: WB
  }));
  var nC = Object.freeze({
    __proto__: null,
    nobleCurves: rC
  });
  const El = Uint32Array.from([
    1732584193,
    4023233417,
    2562383102,
    271733878,
    3285377520
  ]), zo = new Uint32Array(80);
  class aC extends Cc {
    constructor() {
      super(64, 20, 8, false), this.A = 0 | El[0], this.B = 0 | El[1], this.C = 0 | El[2], this.D = 0 | El[3], this.E = 0 | El[4];
    }
    get() {
      const { A: t, B: r, C: n, D: a, E: i } = this;
      return [
        t,
        r,
        n,
        a,
        i
      ];
    }
    set(t, r, n, a, i) {
      this.A = 0 | t, this.B = 0 | r, this.C = 0 | n, this.D = 0 | a, this.E = 0 | i;
    }
    process(t, r) {
      for (let u = 0; u < 16; u++, r += 4) zo[u] = t.getUint32(r, false);
      for (let u = 16; u < 80; u++) zo[u] = qo(zo[u - 3] ^ zo[u - 8] ^ zo[u - 14] ^ zo[u - 16], 1);
      let { A: n, B: a, C: i, D: l, E: c } = this;
      for (let u = 0; u < 80; u++) {
        let x, f;
        u < 20 ? (x = Gm(a, i, l), f = 1518500249) : u < 40 ? (x = a ^ i ^ l, f = 1859775393) : u < 60 ? (x = Vm(a, i, l), f = 2400959708) : (x = a ^ i ^ l, f = 3395469782);
        const h = qo(n, 5) + x + c + f + zo[u] | 0;
        c = l, l = i, i = qo(a, 30), a = n, n = h;
      }
      n = n + this.A | 0, a = a + this.B | 0, i = i + this.C | 0, l = l + this.D | 0, c = c + this.E | 0, this.set(n, a, i, l, c);
    }
    roundClean() {
      Cn(zo);
    }
    destroy() {
      this.set(0, 0, 0, 0, 0), Cn(this.buffer);
    }
  }
  const oC = Xa((() => new aC())), iC = Uint8Array.from([
    7,
    4,
    13,
    1,
    10,
    6,
    15,
    3,
    12,
    0,
    9,
    5,
    2,
    14,
    11,
    8
  ]), B7 = Uint8Array.from(Array(16).fill(0).map(((e, t) => t))), sC = B7.map(((e) => (9 * e + 5) % 16)), C7 = (() => {
    const e = [
      [
        B7
      ],
      [
        sC
      ]
    ];
    for (let t = 0; t < 4; t++) for (let r of e) r.push(r[t].map(((n) => iC[n])));
    return e;
  })(), k7 = C7[0], D7 = C7[1], F7 = [
    [
      11,
      14,
      15,
      12,
      5,
      8,
      7,
      9,
      11,
      13,
      14,
      15,
      6,
      7,
      9,
      8
    ],
    [
      12,
      13,
      11,
      15,
      6,
      9,
      9,
      7,
      12,
      15,
      11,
      13,
      7,
      8,
      7,
      7
    ],
    [
      13,
      15,
      14,
      11,
      7,
      7,
      6,
      8,
      13,
      14,
      13,
      12,
      5,
      5,
      6,
      9
    ],
    [
      14,
      11,
      12,
      14,
      8,
      6,
      5,
      5,
      15,
      12,
      15,
      14,
      9,
      9,
      8,
      6
    ],
    [
      15,
      12,
      13,
      13,
      9,
      5,
      8,
      6,
      14,
      11,
      12,
      11,
      8,
      6,
      5,
      5
    ]
  ].map(((e) => Uint8Array.from(e))), lC = k7.map(((e, t) => e.map(((r) => F7[t][r])))), cC = D7.map(((e, t) => e.map(((r) => F7[t][r])))), uC = Uint32Array.from([
    0,
    1518500249,
    1859775393,
    2400959708,
    2840853838
  ]), xC = Uint32Array.from([
    1352829926,
    1548603684,
    1836072691,
    2053994217,
    0
  ]);
  function y6(e, t, r, n) {
    return e === 0 ? t ^ r ^ n : e === 1 ? t & r | ~t & n : e === 2 ? (t | ~r) ^ n : e === 3 ? t & n | r & ~n : t ^ (r | ~n);
  }
  const tx = new Uint32Array(16);
  class dC extends Cc {
    constructor() {
      super(64, 20, 8, true), this.h0 = 1732584193, this.h1 = -271733879, this.h2 = -1732584194, this.h3 = 271733878, this.h4 = -1009589776;
    }
    get() {
      const { h0: t, h1: r, h2: n, h3: a, h4: i } = this;
      return [
        t,
        r,
        n,
        a,
        i
      ];
    }
    set(t, r, n, a, i) {
      this.h0 = 0 | t, this.h1 = 0 | r, this.h2 = 0 | n, this.h3 = 0 | a, this.h4 = 0 | i;
    }
    process(t, r) {
      for (let m = 0; m < 16; m++, r += 4) tx[m] = t.getUint32(r, true);
      let n = 0 | this.h0, a = n, i = 0 | this.h1, l = i, c = 0 | this.h2, u = c, x = 0 | this.h3, f = x, h = 0 | this.h4, p = h;
      for (let m = 0; m < 5; m++) {
        const y = 4 - m, B = uC[m], v = xC[m], D = k7[m], P = D7[m], k = lC[m], w = cC[m];
        for (let _ = 0; _ < 16; _++) {
          const T = qo(n + y6(m, i, c, x) + tx[D[_]] + B, k[_]) + h | 0;
          n = h, h = x, x = 0 | qo(c, 10), c = i, i = T;
        }
        for (let _ = 0; _ < 16; _++) {
          const T = qo(a + y6(y, l, u, f) + tx[P[_]] + v, w[_]) + p | 0;
          a = p, p = f, f = 0 | qo(u, 10), u = l, l = T;
        }
      }
      this.set(this.h1 + c + f | 0, this.h2 + x + p | 0, this.h3 + h + a | 0, this.h4 + n + l | 0, this.h0 + i + u | 0);
    }
    roundClean() {
      Cn(tx);
    }
    destroy() {
      this.destroyed = true, Cn(this.buffer), this.set(0, 0, 0, 0, 0);
    }
  }
  const fC = oC, hC = Xa((() => new dC())), pC = Array.from({
    length: 64
  }, ((e, t) => Math.floor(2 ** 32 * Math.abs(Math.sin(t + 1))))), E6 = (e, t, r) => e & t ^ ~e & r, rx = new Uint32Array([
    1732584193,
    4023233417,
    2562383102,
    271733878
  ]), Ch = new Uint32Array(16);
  class gC extends Cc {
    constructor() {
      super(64, 16, 8, true), this.A = 0 | rx[0], this.B = 0 | rx[1], this.C = 0 | rx[2], this.D = 0 | rx[3];
    }
    get() {
      const { A: t, B: r, C: n, D: a } = this;
      return [
        t,
        r,
        n,
        a
      ];
    }
    set(t, r, n, a) {
      this.A = 0 | t, this.B = 0 | r, this.C = 0 | n, this.D = 0 | a;
    }
    process(t, r) {
      for (let c = 0; c < 16; c++, r += 4) Ch[c] = t.getUint32(r, true);
      let { A: n, B: a, C: i, D: l } = this;
      for (let c = 0; c < 64; c++) {
        let u, x, f;
        c < 16 ? (u = E6(a, i, l), x = c, f = [
          7,
          12,
          17,
          22
        ]) : c < 32 ? (u = E6(l, a, i), x = (5 * c + 1) % 16, f = [
          5,
          9,
          14,
          20
        ]) : c < 48 ? (u = a ^ i ^ l, x = (3 * c + 5) % 16, f = [
          4,
          11,
          16,
          23
        ]) : (u = i ^ (a | ~l), x = 7 * c % 16, f = [
          6,
          10,
          15,
          21
        ]), u = u + n + pC[c] + Ch[x], n = l, l = i, i = a, a += qo(u, f[c % 4]);
      }
      n = n + this.A | 0, a = a + this.B | 0, i = i + this.C | 0, l = l + this.D | 0, this.set(n, a, i, l);
    }
    roundClean() {
      Ch.fill(0);
    }
    destroy() {
      this.set(0, 0, 0, 0), this.buffer.fill(0);
    }
  }
  const mC = new Map(Object.entries({
    md5: Vv((() => new gC())),
    sha1: fC,
    sha224: XB,
    sha256: b7,
    sha384: v7,
    sha512: w7,
    sha3_256: IB,
    sha3_512: PB,
    ripemd160: hC
  }));
  var yC = Object.freeze({
    __proto__: null,
    nobleHashes: mC
  });
  const kh = typeof wr == "object" && "crypto" in wr ? wr.crypto : void 0, Kr = {};
  var Ne = function(e) {
    var t, r = new Float64Array(16);
    if (e) for (t = 0; t < e.length; t++) r[t] = e[t];
    return r;
  }, _8 = function() {
    throw Error("no PRNG");
  }, S7 = new Uint8Array(32);
  S7[0] = 9;
  var I8 = Ne(), ed = Ne([
    1
  ]), EC = Ne([
    56129,
    1
  ]), AC = Ne([
    30883,
    4953,
    19914,
    30187,
    55467,
    16705,
    2637,
    112,
    59544,
    30585,
    16505,
    36039,
    65139,
    11119,
    27886,
    20995
  ]), bC = Ne([
    61785,
    9906,
    39828,
    60374,
    45398,
    33411,
    5274,
    224,
    53552,
    61171,
    33010,
    6542,
    64743,
    22239,
    55772,
    9222
  ]), A6 = Ne([
    54554,
    36645,
    11616,
    51542,
    42930,
    38181,
    51040,
    26924,
    56412,
    64982,
    57905,
    49316,
    21502,
    52590,
    14035,
    8553
  ]), b6 = Ne([
    26200,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214,
    26214
  ]), wC = Ne([
    41136,
    18958,
    6951,
    50414,
    58488,
    44335,
    6150,
    12099,
    55207,
    15867,
    153,
    11085,
    57099,
    20417,
    9344,
    11139
  ]);
  function w6(e, t, r, n) {
    e[t] = r >> 24 & 255, e[t + 1] = r >> 16 & 255, e[t + 2] = r >> 8 & 255, e[t + 3] = 255 & r, e[t + 4] = n >> 24 & 255, e[t + 5] = n >> 16 & 255, e[t + 6] = n >> 8 & 255, e[t + 7] = 255 & n;
  }
  function _7(e, t, r, n) {
    return (function(a, i, l, c, u) {
      var x, f = 0;
      for (x = 0; x < u; x++) f |= a[i + x] ^ l[c + x];
      return (1 & f - 1 >>> 8) - 1;
    })(e, t, r, n, 32);
  }
  function Go(e, t) {
    var r;
    for (r = 0; r < 16; r++) e[r] = 0 | t[r];
  }
  function Dh(e) {
    var t, r, n = 1;
    for (t = 0; t < 16; t++) r = e[t] + n + 65535, n = Math.floor(r / 65536), e[t] = r - 65536 * n;
    e[0] += n - 1 + 37 * (n - 1);
  }
  function W0(e, t, r) {
    for (var n, a = ~(r - 1), i = 0; i < 16; i++) n = a & (e[i] ^ t[i]), e[i] ^= n, t[i] ^= n;
  }
  function rc(e, t) {
    var r, n, a, i = Ne(), l = Ne();
    for (r = 0; r < 16; r++) l[r] = t[r];
    for (Dh(l), Dh(l), Dh(l), n = 0; n < 2; n++) {
      for (i[0] = l[0] - 65517, r = 1; r < 15; r++) i[r] = l[r] - 65535 - (i[r - 1] >> 16 & 1), i[r - 1] &= 65535;
      i[15] = l[15] - 32767 - (i[14] >> 16 & 1), a = i[15] >> 16 & 1, i[14] &= 65535, W0(l, i, 1 - a);
    }
    for (r = 0; r < 16; r++) e[2 * r] = 255 & l[r], e[2 * r + 1] = l[r] >> 8;
  }
  function v6(e, t) {
    var r = new Uint8Array(32), n = new Uint8Array(32);
    return rc(r, e), rc(n, t), _7(r, 0, n, 0);
  }
  function I7(e) {
    var t = new Uint8Array(32);
    return rc(t, e), 1 & t[0];
  }
  function P7(e, t) {
    var r;
    for (r = 0; r < 16; r++) e[r] = t[2 * r] + (t[2 * r + 1] << 8);
    e[15] &= 32767;
  }
  function ca(e, t, r) {
    for (var n = 0; n < 16; n++) e[n] = t[n] + r[n];
  }
  function fa(e, t, r) {
    for (var n = 0; n < 16; n++) e[n] = t[n] - r[n];
  }
  function et(e, t, r) {
    var n, a, i = 0, l = 0, c = 0, u = 0, x = 0, f = 0, h = 0, p = 0, m = 0, y = 0, B = 0, v = 0, D = 0, P = 0, k = 0, w = 0, _ = 0, T = 0, N = 0, U = 0, C = 0, z = 0, I = 0, R = 0, L = 0, O = 0, W = 0, $ = 0, X = 0, Y = 0, Q = 0, V = r[0], M = r[1], G = r[2], ee = r[3], te = r[4], oe = r[5], ie = r[6], xe = r[7], de = r[8], he = r[9], be = r[10], ve = r[11], Ce = r[12], Ie = r[13], Ue = r[14], ge = r[15];
    i += (n = t[0]) * V, l += n * M, c += n * G, u += n * ee, x += n * te, f += n * oe, h += n * ie, p += n * xe, m += n * de, y += n * he, B += n * be, v += n * ve, D += n * Ce, P += n * Ie, k += n * Ue, w += n * ge, l += (n = t[1]) * V, c += n * M, u += n * G, x += n * ee, f += n * te, h += n * oe, p += n * ie, m += n * xe, y += n * de, B += n * he, v += n * be, D += n * ve, P += n * Ce, k += n * Ie, w += n * Ue, _ += n * ge, c += (n = t[2]) * V, u += n * M, x += n * G, f += n * ee, h += n * te, p += n * oe, m += n * ie, y += n * xe, B += n * de, v += n * he, D += n * be, P += n * ve, k += n * Ce, w += n * Ie, _ += n * Ue, T += n * ge, u += (n = t[3]) * V, x += n * M, f += n * G, h += n * ee, p += n * te, m += n * oe, y += n * ie, B += n * xe, v += n * de, D += n * he, P += n * be, k += n * ve, w += n * Ce, _ += n * Ie, T += n * Ue, N += n * ge, x += (n = t[4]) * V, f += n * M, h += n * G, p += n * ee, m += n * te, y += n * oe, B += n * ie, v += n * xe, D += n * de, P += n * he, k += n * be, w += n * ve, _ += n * Ce, T += n * Ie, N += n * Ue, U += n * ge, f += (n = t[5]) * V, h += n * M, p += n * G, m += n * ee, y += n * te, B += n * oe, v += n * ie, D += n * xe, P += n * de, k += n * he, w += n * be, _ += n * ve, T += n * Ce, N += n * Ie, U += n * Ue, C += n * ge, h += (n = t[6]) * V, p += n * M, m += n * G, y += n * ee, B += n * te, v += n * oe, D += n * ie, P += n * xe, k += n * de, w += n * he, _ += n * be, T += n * ve, N += n * Ce, U += n * Ie, C += n * Ue, z += n * ge, p += (n = t[7]) * V, m += n * M, y += n * G, B += n * ee, v += n * te, D += n * oe, P += n * ie, k += n * xe, w += n * de, _ += n * he, T += n * be, N += n * ve, U += n * Ce, C += n * Ie, z += n * Ue, I += n * ge, m += (n = t[8]) * V, y += n * M, B += n * G, v += n * ee, D += n * te, P += n * oe, k += n * ie, w += n * xe, _ += n * de, T += n * he, N += n * be, U += n * ve, C += n * Ce, z += n * Ie, I += n * Ue, R += n * ge, y += (n = t[9]) * V, B += n * M, v += n * G, D += n * ee, P += n * te, k += n * oe, w += n * ie, _ += n * xe, T += n * de, N += n * he, U += n * be, C += n * ve, z += n * Ce, I += n * Ie, R += n * Ue, L += n * ge, B += (n = t[10]) * V, v += n * M, D += n * G, P += n * ee, k += n * te, w += n * oe, _ += n * ie, T += n * xe, N += n * de, U += n * he, C += n * be, z += n * ve, I += n * Ce, R += n * Ie, L += n * Ue, O += n * ge, v += (n = t[11]) * V, D += n * M, P += n * G, k += n * ee, w += n * te, _ += n * oe, T += n * ie, N += n * xe, U += n * de, C += n * he, z += n * be, I += n * ve, R += n * Ce, L += n * Ie, O += n * Ue, W += n * ge, D += (n = t[12]) * V, P += n * M, k += n * G, w += n * ee, _ += n * te, T += n * oe, N += n * ie, U += n * xe, C += n * de, z += n * he, I += n * be, R += n * ve, L += n * Ce, O += n * Ie, W += n * Ue, $ += n * ge, P += (n = t[13]) * V, k += n * M, w += n * G, _ += n * ee, T += n * te, N += n * oe, U += n * ie, C += n * xe, z += n * de, I += n * he, R += n * be, L += n * ve, O += n * Ce, W += n * Ie, $ += n * Ue, X += n * ge, k += (n = t[14]) * V, w += n * M, _ += n * G, T += n * ee, N += n * te, U += n * oe, C += n * ie, z += n * xe, I += n * de, R += n * he, L += n * be, O += n * ve, W += n * Ce, $ += n * Ie, X += n * Ue, Y += n * ge, w += (n = t[15]) * V, l += 38 * (T += n * G), c += 38 * (N += n * ee), u += 38 * (U += n * te), x += 38 * (C += n * oe), f += 38 * (z += n * ie), h += 38 * (I += n * xe), p += 38 * (R += n * de), m += 38 * (L += n * he), y += 38 * (O += n * be), B += 38 * (W += n * ve), v += 38 * ($ += n * Ce), D += 38 * (X += n * Ie), P += 38 * (Y += n * Ue), k += 38 * (Q += n * ge), i = (n = (i += 38 * (_ += n * M)) + (a = 1) + 65535) - 65536 * (a = Math.floor(n / 65536)), l = (n = l + a + 65535) - 65536 * (a = Math.floor(n / 65536)), c = (n = c + a + 65535) - 65536 * (a = Math.floor(n / 65536)), u = (n = u + a + 65535) - 65536 * (a = Math.floor(n / 65536)), x = (n = x + a + 65535) - 65536 * (a = Math.floor(n / 65536)), f = (n = f + a + 65535) - 65536 * (a = Math.floor(n / 65536)), h = (n = h + a + 65535) - 65536 * (a = Math.floor(n / 65536)), p = (n = p + a + 65535) - 65536 * (a = Math.floor(n / 65536)), m = (n = m + a + 65535) - 65536 * (a = Math.floor(n / 65536)), y = (n = y + a + 65535) - 65536 * (a = Math.floor(n / 65536)), B = (n = B + a + 65535) - 65536 * (a = Math.floor(n / 65536)), v = (n = v + a + 65535) - 65536 * (a = Math.floor(n / 65536)), D = (n = D + a + 65535) - 65536 * (a = Math.floor(n / 65536)), P = (n = P + a + 65535) - 65536 * (a = Math.floor(n / 65536)), k = (n = k + a + 65535) - 65536 * (a = Math.floor(n / 65536)), w = (n = w + a + 65535) - 65536 * (a = Math.floor(n / 65536)), i = (n = (i += a - 1 + 37 * (a - 1)) + (a = 1) + 65535) - 65536 * (a = Math.floor(n / 65536)), l = (n = l + a + 65535) - 65536 * (a = Math.floor(n / 65536)), c = (n = c + a + 65535) - 65536 * (a = Math.floor(n / 65536)), u = (n = u + a + 65535) - 65536 * (a = Math.floor(n / 65536)), x = (n = x + a + 65535) - 65536 * (a = Math.floor(n / 65536)), f = (n = f + a + 65535) - 65536 * (a = Math.floor(n / 65536)), h = (n = h + a + 65535) - 65536 * (a = Math.floor(n / 65536)), p = (n = p + a + 65535) - 65536 * (a = Math.floor(n / 65536)), m = (n = m + a + 65535) - 65536 * (a = Math.floor(n / 65536)), y = (n = y + a + 65535) - 65536 * (a = Math.floor(n / 65536)), B = (n = B + a + 65535) - 65536 * (a = Math.floor(n / 65536)), v = (n = v + a + 65535) - 65536 * (a = Math.floor(n / 65536)), D = (n = D + a + 65535) - 65536 * (a = Math.floor(n / 65536)), P = (n = P + a + 65535) - 65536 * (a = Math.floor(n / 65536)), k = (n = k + a + 65535) - 65536 * (a = Math.floor(n / 65536)), w = (n = w + a + 65535) - 65536 * (a = Math.floor(n / 65536)), i += a - 1 + 37 * (a - 1), e[0] = i, e[1] = l, e[2] = c, e[3] = u, e[4] = x, e[5] = f, e[6] = h, e[7] = p, e[8] = m, e[9] = y, e[10] = B, e[11] = v, e[12] = D, e[13] = P, e[14] = k, e[15] = w;
  }
  function Hn(e, t) {
    et(e, t, t);
  }
  function N7(e, t) {
    var r, n = Ne();
    for (r = 0; r < 16; r++) n[r] = t[r];
    for (r = 253; r >= 0; r--) Hn(n, n), r !== 2 && r !== 4 && et(n, n, t);
    for (r = 0; r < 16; r++) e[r] = n[r];
  }
  function j7(e, t, r) {
    var n, a, i = new Uint8Array(32), l = new Float64Array(80), c = Ne(), u = Ne(), x = Ne(), f = Ne(), h = Ne(), p = Ne();
    for (a = 0; a < 31; a++) i[a] = t[a];
    for (i[31] = 127 & t[31] | 64, i[0] &= 248, P7(l, r), a = 0; a < 16; a++) u[a] = l[a], f[a] = c[a] = x[a] = 0;
    for (c[0] = f[0] = 1, a = 254; a >= 0; --a) W0(c, u, n = i[a >>> 3] >>> (7 & a) & 1), W0(x, f, n), ca(h, c, x), fa(c, c, x), ca(x, u, f), fa(u, u, f), Hn(f, h), Hn(p, c), et(c, x, c), et(x, u, h), ca(h, c, x), fa(c, c, x), Hn(u, c), fa(x, f, p), et(c, x, EC), ca(c, c, f), et(x, x, c), et(c, f, p), et(f, u, l), Hn(u, h), W0(c, u, n), W0(x, f, n);
    for (a = 0; a < 16; a++) l[a + 16] = c[a], l[a + 32] = x[a], l[a + 48] = u[a], l[a + 64] = f[a];
    var m = l.subarray(32), y = l.subarray(16);
    return N7(m, m), et(y, y, m), rc(e, y), 0;
  }
  function B6(e, t) {
    return j7(e, t, S7);
  }
  var C6 = [
    1116352408,
    3609767458,
    1899447441,
    602891725,
    3049323471,
    3964484399,
    3921009573,
    2173295548,
    961987163,
    4081628472,
    1508970993,
    3053834265,
    2453635748,
    2937671579,
    2870763221,
    3664609560,
    3624381080,
    2734883394,
    310598401,
    1164996542,
    607225278,
    1323610764,
    1426881987,
    3590304994,
    1925078388,
    4068182383,
    2162078206,
    991336113,
    2614888103,
    633803317,
    3248222580,
    3479774868,
    3835390401,
    2666613458,
    4022224774,
    944711139,
    264347078,
    2341262773,
    604807628,
    2007800933,
    770255983,
    1495990901,
    1249150122,
    1856431235,
    1555081692,
    3175218132,
    1996064986,
    2198950837,
    2554220882,
    3999719339,
    2821834349,
    766784016,
    2952996808,
    2566594879,
    3210313671,
    3203337956,
    3336571891,
    1034457026,
    3584528711,
    2466948901,
    113926993,
    3758326383,
    338241895,
    168717936,
    666307205,
    1188179964,
    773529912,
    1546045734,
    1294757372,
    1522805485,
    1396182291,
    2643833823,
    1695183700,
    2343527390,
    1986661051,
    1014477480,
    2177026350,
    1206759142,
    2456956037,
    344077627,
    2730485921,
    1290863460,
    2820302411,
    3158454273,
    3259730800,
    3505952657,
    3345764771,
    106217008,
    3516065817,
    3606008344,
    3600352804,
    1432725776,
    4094571909,
    1467031594,
    275423344,
    851169720,
    430227734,
    3100823752,
    506948616,
    1363258195,
    659060556,
    3750685593,
    883997877,
    3785050280,
    958139571,
    3318307427,
    1322822218,
    3812723403,
    1537002063,
    2003034995,
    1747873779,
    3602036899,
    1955562222,
    1575990012,
    2024104815,
    1125592928,
    2227730452,
    2716904306,
    2361852424,
    442776044,
    2428436474,
    593698344,
    2756734187,
    3733110249,
    3204031479,
    2999351573,
    3329325298,
    3815920427,
    3391569614,
    3928383900,
    3515267271,
    566280711,
    3940187606,
    3454069534,
    4118630271,
    4000239992,
    116418474,
    1914138554,
    174292421,
    2731055270,
    289380356,
    3203993006,
    460393269,
    320620315,
    685471733,
    587496836,
    852142971,
    1086792851,
    1017036298,
    365543100,
    1126000580,
    2618297676,
    1288033470,
    3409855158,
    1501505948,
    4234509866,
    1607167915,
    987167468,
    1816402316,
    1246189591
  ];
  function k6(e, t, r, n) {
    for (var a, i, l, c, u, x, f, h, p, m, y, B, v, D, P, k, w, _, T, N, U, C, z, I, R, L, O = new Int32Array(16), W = new Int32Array(16), $ = e[0], X = e[1], Y = e[2], Q = e[3], V = e[4], M = e[5], G = e[6], ee = e[7], te = t[0], oe = t[1], ie = t[2], xe = t[3], de = t[4], he = t[5], be = t[6], ve = t[7], Ce = 0; n >= 128; ) {
      for (T = 0; T < 16; T++) N = 8 * T + Ce, O[T] = r[N + 0] << 24 | r[N + 1] << 16 | r[N + 2] << 8 | r[N + 3], W[T] = r[N + 4] << 24 | r[N + 5] << 16 | r[N + 6] << 8 | r[N + 7];
      for (T = 0; T < 80; T++) if (a = $, i = X, l = Y, c = Q, u = V, x = M, f = G, p = te, m = oe, y = ie, B = xe, v = de, D = he, P = be, z = 65535 & (C = ve), I = C >>> 16, R = 65535 & (U = ee), L = U >>> 16, z += 65535 & (C = (de >>> 14 | V << 18) ^ (de >>> 18 | V << 14) ^ (V >>> 9 | de << 23)), I += C >>> 16, R += 65535 & (U = (V >>> 14 | de << 18) ^ (V >>> 18 | de << 14) ^ (de >>> 9 | V << 23)), L += U >>> 16, z += 65535 & (C = de & he ^ ~de & be), I += C >>> 16, R += 65535 & (U = V & M ^ ~V & G), L += U >>> 16, z += 65535 & (C = C6[2 * T + 1]), I += C >>> 16, R += 65535 & (U = C6[2 * T]), L += U >>> 16, U = O[T % 16], I += (C = W[T % 16]) >>> 16, R += 65535 & U, L += U >>> 16, R += (I += (z += 65535 & C) >>> 16) >>> 16, z = 65535 & (C = _ = 65535 & z | I << 16), I = C >>> 16, R = 65535 & (U = w = 65535 & R | (L += R >>> 16) << 16), L = U >>> 16, z += 65535 & (C = (te >>> 28 | $ << 4) ^ ($ >>> 2 | te << 30) ^ ($ >>> 7 | te << 25)), I += C >>> 16, R += 65535 & (U = ($ >>> 28 | te << 4) ^ (te >>> 2 | $ << 30) ^ (te >>> 7 | $ << 25)), L += U >>> 16, I += (C = te & oe ^ te & ie ^ oe & ie) >>> 16, R += 65535 & (U = $ & X ^ $ & Y ^ X & Y), L += U >>> 16, h = 65535 & (R += (I += (z += 65535 & C) >>> 16) >>> 16) | (L += R >>> 16) << 16, k = 65535 & z | I << 16, z = 65535 & (C = B), I = C >>> 16, R = 65535 & (U = c), L = U >>> 16, I += (C = _) >>> 16, R += 65535 & (U = w), L += U >>> 16, X = a, Y = i, Q = l, V = c = 65535 & (R += (I += (z += 65535 & C) >>> 16) >>> 16) | (L += R >>> 16) << 16, M = u, G = x, ee = f, $ = h, oe = p, ie = m, xe = y, de = B = 65535 & z | I << 16, he = v, be = D, ve = P, te = k, T % 16 == 15) for (N = 0; N < 16; N++) U = O[N], z = 65535 & (C = W[N]), I = C >>> 16, R = 65535 & U, L = U >>> 16, U = O[(N + 9) % 16], z += 65535 & (C = W[(N + 9) % 16]), I += C >>> 16, R += 65535 & U, L += U >>> 16, w = O[(N + 1) % 16], z += 65535 & (C = ((_ = W[(N + 1) % 16]) >>> 1 | w << 31) ^ (_ >>> 8 | w << 24) ^ (_ >>> 7 | w << 25)), I += C >>> 16, R += 65535 & (U = (w >>> 1 | _ << 31) ^ (w >>> 8 | _ << 24) ^ w >>> 7), L += U >>> 16, w = O[(N + 14) % 16], I += (C = ((_ = W[(N + 14) % 16]) >>> 19 | w << 13) ^ (w >>> 29 | _ << 3) ^ (_ >>> 6 | w << 26)) >>> 16, R += 65535 & (U = (w >>> 19 | _ << 13) ^ (_ >>> 29 | w << 3) ^ w >>> 6), L += U >>> 16, L += (R += (I += (z += 65535 & C) >>> 16) >>> 16) >>> 16, O[N] = 65535 & R | L << 16, W[N] = 65535 & z | I << 16;
      z = 65535 & (C = te), I = C >>> 16, R = 65535 & (U = $), L = U >>> 16, U = e[0], I += (C = t[0]) >>> 16, R += 65535 & U, L += U >>> 16, L += (R += (I += (z += 65535 & C) >>> 16) >>> 16) >>> 16, e[0] = $ = 65535 & R | L << 16, t[0] = te = 65535 & z | I << 16, z = 65535 & (C = oe), I = C >>> 16, R = 65535 & (U = X), L = U >>> 16, U = e[1], I += (C = t[1]) >>> 16, R += 65535 & U, L += U >>> 16, L += (R += (I += (z += 65535 & C) >>> 16) >>> 16) >>> 16, e[1] = X = 65535 & R | L << 16, t[1] = oe = 65535 & z | I << 16, z = 65535 & (C = ie), I = C >>> 16, R = 65535 & (U = Y), L = U >>> 16, U = e[2], I += (C = t[2]) >>> 16, R += 65535 & U, L += U >>> 16, L += (R += (I += (z += 65535 & C) >>> 16) >>> 16) >>> 16, e[2] = Y = 65535 & R | L << 16, t[2] = ie = 65535 & z | I << 16, z = 65535 & (C = xe), I = C >>> 16, R = 65535 & (U = Q), L = U >>> 16, U = e[3], I += (C = t[3]) >>> 16, R += 65535 & U, L += U >>> 16, L += (R += (I += (z += 65535 & C) >>> 16) >>> 16) >>> 16, e[3] = Q = 65535 & R | L << 16, t[3] = xe = 65535 & z | I << 16, z = 65535 & (C = de), I = C >>> 16, R = 65535 & (U = V), L = U >>> 16, U = e[4], I += (C = t[4]) >>> 16, R += 65535 & U, L += U >>> 16, L += (R += (I += (z += 65535 & C) >>> 16) >>> 16) >>> 16, e[4] = V = 65535 & R | L << 16, t[4] = de = 65535 & z | I << 16, z = 65535 & (C = he), I = C >>> 16, R = 65535 & (U = M), L = U >>> 16, U = e[5], I += (C = t[5]) >>> 16, R += 65535 & U, L += U >>> 16, L += (R += (I += (z += 65535 & C) >>> 16) >>> 16) >>> 16, e[5] = M = 65535 & R | L << 16, t[5] = he = 65535 & z | I << 16, z = 65535 & (C = be), I = C >>> 16, R = 65535 & (U = G), L = U >>> 16, U = e[6], I += (C = t[6]) >>> 16, R += 65535 & U, L += U >>> 16, L += (R += (I += (z += 65535 & C) >>> 16) >>> 16) >>> 16, e[6] = G = 65535 & R | L << 16, t[6] = be = 65535 & z | I << 16, z = 65535 & (C = ve), I = C >>> 16, R = 65535 & (U = ee), L = U >>> 16, U = e[7], I += (C = t[7]) >>> 16, R += 65535 & U, L += U >>> 16, L += (R += (I += (z += 65535 & C) >>> 16) >>> 16) >>> 16, e[7] = ee = 65535 & R | L << 16, t[7] = ve = 65535 & z | I << 16, Ce += 128, n -= 128;
    }
    return n;
  }
  function jl(e, t, r) {
    var n, a = new Int32Array(8), i = new Int32Array(8), l = new Uint8Array(256), c = r;
    for (a[0] = 1779033703, a[1] = 3144134277, a[2] = 1013904242, a[3] = 2773480762, a[4] = 1359893119, a[5] = 2600822924, a[6] = 528734635, a[7] = 1541459225, i[0] = 4089235720, i[1] = 2227873595, i[2] = 4271175723, i[3] = 1595750129, i[4] = 2917565137, i[5] = 725511199, i[6] = 4215389547, i[7] = 327033209, k6(a, i, t, r), r %= 128, n = 0; n < r; n++) l[n] = t[c - r + n];
    for (l[r] = 128, l[(r = 256 - 128 * (r < 112 ? 1 : 0)) - 9] = 0, w6(l, r - 8, c / 536870912 | 0, c << 3), k6(a, i, l, r), n = 0; n < 8; n++) w6(e, 8 * n, a[n], i[n]);
    return 0;
  }
  function P8(e, t) {
    var r = Ne(), n = Ne(), a = Ne(), i = Ne(), l = Ne(), c = Ne(), u = Ne(), x = Ne(), f = Ne();
    fa(r, e[1], e[0]), fa(f, t[1], t[0]), et(r, r, f), ca(n, e[0], e[1]), ca(f, t[0], t[1]), et(n, n, f), et(a, e[3], t[3]), et(a, a, bC), et(i, e[2], t[2]), ca(i, i, i), fa(l, n, r), fa(c, i, a), ca(u, i, a), ca(x, n, r), et(e[0], l, c), et(e[1], x, u), et(e[2], u, c), et(e[3], l, x);
  }
  function D6(e, t, r) {
    var n;
    for (n = 0; n < 4; n++) W0(e[n], t[n], r);
  }
  function N8(e, t) {
    var r = Ne(), n = Ne(), a = Ne();
    N7(a, t[2]), et(r, t[0], a), et(n, t[1], a), rc(e, n), e[31] ^= I7(r) << 7;
  }
  function z7(e, t, r) {
    var n, a;
    for (Go(e[0], I8), Go(e[1], ed), Go(e[2], ed), Go(e[3], I8), a = 255; a >= 0; --a) D6(e, t, n = r[a / 8 | 0] >> (7 & a) & 1), P8(t, e), P8(e, e), D6(e, t, n);
  }
  function j8(e, t) {
    var r = [
      Ne(),
      Ne(),
      Ne(),
      Ne()
    ];
    Go(r[0], A6), Go(r[1], b6), Go(r[2], ed), et(r[3], A6, b6), z7(e, r, t);
  }
  function F6(e, t, r) {
    var n, a = new Uint8Array(64), i = [
      Ne(),
      Ne(),
      Ne(),
      Ne()
    ];
    for (r || _8(t, 32), jl(a, t, 32), a[0] &= 248, a[31] &= 127, a[31] |= 64, j8(i, a), N8(e, i), n = 0; n < 32; n++) t[n + 32] = e[n];
    return 0;
  }
  var Fh = new Float64Array([
    237,
    211,
    245,
    92,
    26,
    99,
    18,
    88,
    214,
    156,
    247,
    162,
    222,
    249,
    222,
    20,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    16
  ]);
  function U7(e, t) {
    var r, n, a, i;
    for (n = 63; n >= 32; --n) {
      for (r = 0, a = n - 32, i = n - 12; a < i; ++a) t[a] += r - 16 * t[n] * Fh[a - (n - 32)], r = Math.floor((t[a] + 128) / 256), t[a] -= 256 * r;
      t[a] += r, t[n] = 0;
    }
    for (r = 0, a = 0; a < 32; a++) t[a] += r - (t[31] >> 4) * Fh[a], r = t[a] >> 8, t[a] &= 255;
    for (a = 0; a < 32; a++) t[a] -= r * Fh[a];
    for (n = 0; n < 32; n++) t[n + 1] += t[n] >> 8, e[n] = 255 & t[n];
  }
  function Sh(e) {
    var t, r = new Float64Array(64);
    for (t = 0; t < 64; t++) r[t] = e[t];
    for (t = 0; t < 64; t++) e[t] = 0;
    U7(e, r);
  }
  function vC(e, t) {
    var r = Ne(), n = Ne(), a = Ne(), i = Ne(), l = Ne(), c = Ne(), u = Ne();
    return Go(e[2], ed), P7(e[1], t), Hn(a, e[1]), et(i, a, AC), fa(a, a, e[2]), ca(i, e[2], i), Hn(l, i), Hn(c, l), et(u, c, l), et(r, u, a), et(r, r, i), (function(x, f) {
      var h, p = Ne();
      for (h = 0; h < 16; h++) p[h] = f[h];
      for (h = 250; h >= 0; h--) Hn(p, p), h !== 1 && et(p, p, f);
      for (h = 0; h < 16; h++) x[h] = p[h];
    })(r, r), et(r, r, a), et(r, r, i), et(r, r, i), et(e[0], r, i), Hn(n, e[0]), et(n, n, i), v6(n, a) && et(e[0], e[0], wC), Hn(n, e[0]), et(n, n, i), v6(n, a) ? -1 : (I7(e[0]) === t[31] >> 7 && fa(e[0], I8, e[0]), et(e[3], e[0], e[1]), 0);
  }
  var ki = 64;
  function P0() {
    for (var e = 0; e < arguments.length; e++) if (!(arguments[e] instanceof Uint8Array)) throw new TypeError("unexpected type, use Uint8Array");
  }
  Kr.scalarMult = function(e, t) {
    if (P0(e, t), e.length !== 32) throw Error("bad n size");
    if (t.length !== 32) throw Error("bad p size");
    var r = new Uint8Array(32);
    return j7(r, e, t), r;
  }, Kr.box = {}, Kr.box.keyPair = function() {
    var e = new Uint8Array(32), t = new Uint8Array(32);
    return (function(r, n) {
      _8(n, 32), B6(r, n);
    })(e, t), {
      publicKey: e,
      secretKey: t
    };
  }, Kr.box.keyPair.fromSecretKey = function(e) {
    if (P0(e), e.length !== 32) throw Error("bad secret key size");
    var t = new Uint8Array(32);
    return B6(t, e), {
      publicKey: t,
      secretKey: new Uint8Array(e)
    };
  }, Kr.sign = function(e, t) {
    if (P0(e, t), t.length !== 64) throw Error("bad secret key size");
    var r = new Uint8Array(ki + e.length);
    return (function(n, a, i, l) {
      var c, u, x = new Uint8Array(64), f = new Uint8Array(64), h = new Uint8Array(64), p = new Float64Array(64), m = [
        Ne(),
        Ne(),
        Ne(),
        Ne()
      ];
      for (jl(x, l, 32), x[0] &= 248, x[31] &= 127, x[31] |= 64, c = 0; c < i; c++) n[64 + c] = a[c];
      for (c = 0; c < 32; c++) n[32 + c] = x[32 + c];
      for (jl(h, n.subarray(32), i + 32), Sh(h), j8(m, h), N8(n, m), c = 32; c < 64; c++) n[c] = l[c];
      for (jl(f, n, i + 64), Sh(f), c = 0; c < 64; c++) p[c] = 0;
      for (c = 0; c < 32; c++) p[c] = h[c];
      for (c = 0; c < 32; c++) for (u = 0; u < 32; u++) p[c + u] += f[c] * x[u];
      U7(n.subarray(32), p);
    })(r, e, e.length, t), r;
  }, Kr.sign.detached = function(e, t) {
    for (var r = Kr.sign(e, t), n = new Uint8Array(ki), a = 0; a < n.length; a++) n[a] = r[a];
    return n;
  }, Kr.sign.detached.verify = function(e, t, r) {
    if (P0(e, t, r), t.length !== ki) throw Error("bad signature size");
    if (r.length !== 32) throw Error("bad public key size");
    var n, a = new Uint8Array(ki + e.length), i = new Uint8Array(ki + e.length);
    for (n = 0; n < ki; n++) a[n] = t[n];
    for (n = 0; n < e.length; n++) a[n + ki] = e[n];
    return (function(l, c, u, x) {
      var f, h = new Uint8Array(32), p = new Uint8Array(64), m = [
        Ne(),
        Ne(),
        Ne(),
        Ne()
      ], y = [
        Ne(),
        Ne(),
        Ne(),
        Ne()
      ];
      if (u < 64 || vC(y, x)) return -1;
      for (f = 0; f < u; f++) l[f] = c[f];
      for (f = 0; f < 32; f++) l[f + 32] = x[f];
      if (jl(p, l, u), Sh(p), z7(m, y, p), j8(y, c.subarray(32)), P8(m, y), N8(h, m), u -= 64, _7(c, 0, h, 0)) {
        for (f = 0; f < u; f++) l[f] = 0;
        return -1;
      }
      for (f = 0; f < u; f++) l[f] = c[f + 64];
      return u;
    })(i, a, a.length, r) >= 0;
  }, Kr.sign.keyPair = function() {
    var e = new Uint8Array(32), t = new Uint8Array(64);
    return F6(e, t), {
      publicKey: e,
      secretKey: t
    };
  }, Kr.sign.keyPair.fromSecretKey = function(e) {
    if (P0(e), e.length !== 64) throw Error("bad secret key size");
    for (var t = new Uint8Array(32), r = 0; r < t.length; r++) t[r] = e[32 + r];
    return {
      publicKey: t,
      secretKey: new Uint8Array(e)
    };
  }, Kr.sign.keyPair.fromSeed = function(e) {
    if (P0(e), e.length !== 32) throw Error("bad seed size");
    for (var t = new Uint8Array(32), r = new Uint8Array(64), n = 0; n < 32; n++) r[n] = e[n];
    return F6(t, r, true), {
      publicKey: t,
      secretKey: r
    };
  }, Kr.setPRNG = function(e) {
    _8 = e;
  }, (function() {
    kh && kh.getRandomValues && Kr.setPRNG((function(e, t) {
      var r, n = new Uint8Array(t);
      for (r = 0; r < t; r += 65536) kh.getRandomValues(n.subarray(r, r + Math.min(t - r, 65536)));
      for (r = 0; r < t; r++) e[r] = n[r];
      (function(a) {
        for (var i = 0; i < a.length; i++) a[i] = 0;
      })(n);
    }));
  })();
  var r0 = Object.freeze({
    __proto__: null,
    default: Kr
  });
  function _h(e, t, r, n, a, i) {
    const l = [
      16843776,
      0,
      65536,
      16843780,
      16842756,
      66564,
      4,
      65536,
      1024,
      16843776,
      16843780,
      1024,
      16778244,
      16842756,
      16777216,
      4,
      1028,
      16778240,
      16778240,
      66560,
      66560,
      16842752,
      16842752,
      16778244,
      65540,
      16777220,
      16777220,
      65540,
      0,
      1028,
      66564,
      16777216,
      65536,
      16843780,
      4,
      16842752,
      16843776,
      16777216,
      16777216,
      1024,
      16842756,
      65536,
      66560,
      16777220,
      1024,
      4,
      16778244,
      66564,
      16843780,
      65540,
      16842752,
      16778244,
      16777220,
      1028,
      66564,
      16843776,
      1028,
      16778240,
      16778240,
      0,
      65540,
      66560,
      0,
      16842756
    ], c = [
      -2146402272,
      -2147450880,
      32768,
      1081376,
      1048576,
      32,
      -2146435040,
      -2147450848,
      -2147483616,
      -2146402272,
      -2146402304,
      -2147483648,
      -2147450880,
      1048576,
      32,
      -2146435040,
      1081344,
      1048608,
      -2147450848,
      0,
      -2147483648,
      32768,
      1081376,
      -2146435072,
      1048608,
      -2147483616,
      0,
      1081344,
      32800,
      -2146402304,
      -2146435072,
      32800,
      0,
      1081376,
      -2146435040,
      1048576,
      -2147450848,
      -2146435072,
      -2146402304,
      32768,
      -2146435072,
      -2147450880,
      32,
      -2146402272,
      1081376,
      32,
      32768,
      -2147483648,
      32800,
      -2146402304,
      1048576,
      -2147483616,
      1048608,
      -2147450848,
      -2147483616,
      1048608,
      1081344,
      0,
      -2147450880,
      32800,
      -2147483648,
      -2146435040,
      -2146402272,
      1081344
    ], u = [
      520,
      134349312,
      0,
      134348808,
      134218240,
      0,
      131592,
      134218240,
      131080,
      134217736,
      134217736,
      131072,
      134349320,
      131080,
      134348800,
      520,
      134217728,
      8,
      134349312,
      512,
      131584,
      134348800,
      134348808,
      131592,
      134218248,
      131584,
      131072,
      134218248,
      8,
      134349320,
      512,
      134217728,
      134349312,
      134217728,
      131080,
      520,
      131072,
      134349312,
      134218240,
      0,
      512,
      131080,
      134349320,
      134218240,
      134217736,
      512,
      0,
      134348808,
      134218248,
      131072,
      134217728,
      134349320,
      8,
      131592,
      131584,
      134217736,
      134348800,
      134218248,
      520,
      134348800,
      131592,
      8,
      134348808,
      131584
    ], x = [
      8396801,
      8321,
      8321,
      128,
      8396928,
      8388737,
      8388609,
      8193,
      0,
      8396800,
      8396800,
      8396929,
      129,
      0,
      8388736,
      8388609,
      1,
      8192,
      8388608,
      8396801,
      128,
      8388608,
      8193,
      8320,
      8388737,
      1,
      8320,
      8388736,
      8192,
      8396928,
      8396929,
      129,
      8388736,
      8388609,
      8396800,
      8396929,
      129,
      0,
      0,
      8396800,
      8320,
      8388736,
      8388737,
      1,
      8396801,
      8321,
      8321,
      128,
      8396929,
      129,
      1,
      8192,
      8388609,
      8193,
      8396928,
      8388737,
      8193,
      8320,
      8388608,
      8396801,
      128,
      8388608,
      8192,
      8396928
    ], f = [
      256,
      34078976,
      34078720,
      1107296512,
      524288,
      256,
      1073741824,
      34078720,
      1074266368,
      524288,
      33554688,
      1074266368,
      1107296512,
      1107820544,
      524544,
      1073741824,
      33554432,
      1074266112,
      1074266112,
      0,
      1073742080,
      1107820800,
      1107820800,
      33554688,
      1107820544,
      1073742080,
      0,
      1107296256,
      34078976,
      33554432,
      1107296256,
      524544,
      524288,
      1107296512,
      256,
      33554432,
      1073741824,
      34078720,
      1107296512,
      1074266368,
      33554688,
      1073741824,
      1107820544,
      34078976,
      1074266368,
      256,
      33554432,
      1107820544,
      1107820800,
      524544,
      1107296256,
      1107820800,
      34078720,
      0,
      1074266112,
      1107296256,
      524544,
      33554688,
      1073742080,
      524288,
      0,
      1074266112,
      34078976,
      1073742080
    ], h = [
      536870928,
      541065216,
      16384,
      541081616,
      541065216,
      16,
      541081616,
      4194304,
      536887296,
      4210704,
      4194304,
      536870928,
      4194320,
      536887296,
      536870912,
      16400,
      0,
      4194320,
      536887312,
      16384,
      4210688,
      536887312,
      16,
      541065232,
      541065232,
      0,
      4210704,
      541081600,
      16400,
      4210688,
      541081600,
      536870912,
      536887296,
      16,
      541065232,
      4210688,
      541081616,
      4194304,
      16400,
      536870928,
      4194304,
      536887296,
      536870912,
      16400,
      536870928,
      541081616,
      4210688,
      541065216,
      4210704,
      541081600,
      0,
      541065232,
      16,
      16384,
      541065216,
      4210704,
      16384,
      4194320,
      536887312,
      0,
      541081600,
      536870912,
      4194320,
      536887312
    ], p = [
      2097152,
      69206018,
      67110914,
      0,
      2048,
      67110914,
      2099202,
      69208064,
      69208066,
      2097152,
      0,
      67108866,
      2,
      67108864,
      69206018,
      2050,
      67110912,
      2099202,
      2097154,
      67110912,
      67108866,
      69206016,
      69208064,
      2097154,
      69206016,
      2048,
      2050,
      69208066,
      2099200,
      2,
      67108864,
      2099200,
      67108864,
      2099200,
      2097152,
      67110914,
      67110914,
      69206018,
      69206018,
      2,
      2097154,
      67108864,
      67110912,
      2097152,
      69208064,
      2050,
      2099202,
      69208064,
      2050,
      67108866,
      69208066,
      69206016,
      2099200,
      0,
      2,
      69208066,
      0,
      2099202,
      69206016,
      2048,
      67108866,
      67110912,
      2048,
      2097154
    ], m = [
      268439616,
      4096,
      262144,
      268701760,
      268435456,
      268439616,
      64,
      268435456,
      262208,
      268697600,
      268701760,
      266240,
      268701696,
      266304,
      4096,
      64,
      268697600,
      268435520,
      268439552,
      4160,
      266240,
      262208,
      268697664,
      268701696,
      4160,
      0,
      0,
      268697664,
      268435520,
      268439552,
      266304,
      262144,
      266304,
      262144,
      268701696,
      4096,
      64,
      268697664,
      4096,
      266304,
      268439552,
      64,
      268435520,
      268697600,
      268697664,
      268435456,
      262144,
      268439616,
      0,
      268701760,
      262208,
      268435520,
      268697600,
      268439552,
      268439616,
      0,
      268701760,
      266240,
      266240,
      4160,
      4160,
      262208,
      268435456,
      268701696
    ];
    let y, B, v, D, P, k, w, _, T, N, U = 0, C = t.length;
    const z = e.length === 32 ? 3 : 9;
    _ = z === 3 ? r ? [
      0,
      32,
      2
    ] : [
      30,
      -2,
      -2
    ] : r ? [
      0,
      32,
      2,
      62,
      30,
      -2,
      64,
      96,
      2
    ] : [
      94,
      62,
      -2,
      32,
      64,
      2,
      30,
      -2,
      -2
    ], r && (t = (function(L) {
      const O = 8 - L.length % 8;
      let W;
      if (!(O < 8)) {
        if (O === 8) return L;
        throw Error("des: invalid padding");
      }
      W = 0;
      const $ = new Uint8Array(L.length + O);
      for (let X = 0; X < L.length; X++) $[X] = L[X];
      for (let X = 0; X < O; X++) $[L.length + X] = W;
      return $;
    })(t), C = t.length);
    let I = new Uint8Array(C), R = 0;
    for (; U < C; ) {
      for (k = t[U++] << 24 | t[U++] << 16 | t[U++] << 8 | t[U++], w = t[U++] << 24 | t[U++] << 16 | t[U++] << 8 | t[U++], v = 252645135 & (k >>> 4 ^ w), w ^= v, k ^= v << 4, v = 65535 & (k >>> 16 ^ w), w ^= v, k ^= v << 16, v = 858993459 & (w >>> 2 ^ k), k ^= v, w ^= v << 2, v = 16711935 & (w >>> 8 ^ k), k ^= v, w ^= v << 8, v = 1431655765 & (k >>> 1 ^ w), w ^= v, k ^= v << 1, k = k << 1 | k >>> 31, w = w << 1 | w >>> 31, B = 0; B < z; B += 3) {
        for (T = _[B + 1], N = _[B + 2], y = _[B]; y !== T; y += N) D = w ^ e[y], P = (w >>> 4 | w << 28) ^ e[y + 1], v = k, k = w, w = v ^ (c[D >>> 24 & 63] | x[D >>> 16 & 63] | h[D >>> 8 & 63] | m[63 & D] | l[P >>> 24 & 63] | u[P >>> 16 & 63] | f[P >>> 8 & 63] | p[63 & P]);
        v = k, k = w, w = v;
      }
      k = k >>> 1 | k << 31, w = w >>> 1 | w << 31, v = 1431655765 & (k >>> 1 ^ w), w ^= v, k ^= v << 1, v = 16711935 & (w >>> 8 ^ k), k ^= v, w ^= v << 8, v = 858993459 & (w >>> 2 ^ k), k ^= v, w ^= v << 2, v = 65535 & (k >>> 16 ^ w), w ^= v, k ^= v << 16, v = 252645135 & (k >>> 4 ^ w), w ^= v, k ^= v << 4, I[R++] = k >>> 24, I[R++] = k >>> 16 & 255, I[R++] = k >>> 8 & 255, I[R++] = 255 & k, I[R++] = w >>> 24, I[R++] = w >>> 16 & 255, I[R++] = w >>> 8 & 255, I[R++] = 255 & w;
    }
    return r || (I = (function(L) {
      let O, W = null;
      if (O = 0, !W) {
        for (W = 1; L[L.length - W] === O; ) W++;
        W--;
      }
      return L.subarray(0, L.length - W);
    })(I)), I;
  }
  function Ih(e) {
    const t = [
      0,
      4,
      536870912,
      536870916,
      65536,
      65540,
      536936448,
      536936452,
      512,
      516,
      536871424,
      536871428,
      66048,
      66052,
      536936960,
      536936964
    ], r = [
      0,
      1,
      1048576,
      1048577,
      67108864,
      67108865,
      68157440,
      68157441,
      256,
      257,
      1048832,
      1048833,
      67109120,
      67109121,
      68157696,
      68157697
    ], n = [
      0,
      8,
      2048,
      2056,
      16777216,
      16777224,
      16779264,
      16779272,
      0,
      8,
      2048,
      2056,
      16777216,
      16777224,
      16779264,
      16779272
    ], a = [
      0,
      2097152,
      134217728,
      136314880,
      8192,
      2105344,
      134225920,
      136323072,
      131072,
      2228224,
      134348800,
      136445952,
      139264,
      2236416,
      134356992,
      136454144
    ], i = [
      0,
      262144,
      16,
      262160,
      0,
      262144,
      16,
      262160,
      4096,
      266240,
      4112,
      266256,
      4096,
      266240,
      4112,
      266256
    ], l = [
      0,
      1024,
      32,
      1056,
      0,
      1024,
      32,
      1056,
      33554432,
      33555456,
      33554464,
      33555488,
      33554432,
      33555456,
      33554464,
      33555488
    ], c = [
      0,
      268435456,
      524288,
      268959744,
      2,
      268435458,
      524290,
      268959746,
      0,
      268435456,
      524288,
      268959744,
      2,
      268435458,
      524290,
      268959746
    ], u = [
      0,
      65536,
      2048,
      67584,
      536870912,
      536936448,
      536872960,
      536938496,
      131072,
      196608,
      133120,
      198656,
      537001984,
      537067520,
      537004032,
      537069568
    ], x = [
      0,
      262144,
      0,
      262144,
      2,
      262146,
      2,
      262146,
      33554432,
      33816576,
      33554432,
      33816576,
      33554434,
      33816578,
      33554434,
      33816578
    ], f = [
      0,
      268435456,
      8,
      268435464,
      0,
      268435456,
      8,
      268435464,
      1024,
      268436480,
      1032,
      268436488,
      1024,
      268436480,
      1032,
      268436488
    ], h = [
      0,
      32,
      0,
      32,
      1048576,
      1048608,
      1048576,
      1048608,
      8192,
      8224,
      8192,
      8224,
      1056768,
      1056800,
      1056768,
      1056800
    ], p = [
      0,
      16777216,
      512,
      16777728,
      2097152,
      18874368,
      2097664,
      18874880,
      67108864,
      83886080,
      67109376,
      83886592,
      69206016,
      85983232,
      69206528,
      85983744
    ], m = [
      0,
      4096,
      134217728,
      134221824,
      524288,
      528384,
      134742016,
      134746112,
      16,
      4112,
      134217744,
      134221840,
      524304,
      528400,
      134742032,
      134746128
    ], y = [
      0,
      4,
      256,
      260,
      0,
      4,
      256,
      260,
      1,
      5,
      257,
      261,
      1,
      5,
      257,
      261
    ], B = e.length > 8 ? 3 : 1, v = Array(32 * B), D = [
      0,
      0,
      1,
      1,
      1,
      1,
      1,
      1,
      0,
      1,
      1,
      1,
      1,
      1,
      1,
      0
    ];
    let P, k, w, _ = 0, T = 0;
    for (let N = 0; N < B; N++) {
      let U = e[_++] << 24 | e[_++] << 16 | e[_++] << 8 | e[_++], C = e[_++] << 24 | e[_++] << 16 | e[_++] << 8 | e[_++];
      w = 252645135 & (U >>> 4 ^ C), C ^= w, U ^= w << 4, w = 65535 & (C >>> -16 ^ U), U ^= w, C ^= w << -16, w = 858993459 & (U >>> 2 ^ C), C ^= w, U ^= w << 2, w = 65535 & (C >>> -16 ^ U), U ^= w, C ^= w << -16, w = 1431655765 & (U >>> 1 ^ C), C ^= w, U ^= w << 1, w = 16711935 & (C >>> 8 ^ U), U ^= w, C ^= w << 8, w = 1431655765 & (U >>> 1 ^ C), C ^= w, U ^= w << 1, w = U << 8 | C >>> 20 & 240, U = C << 24 | C << 8 & 16711680 | C >>> 8 & 65280 | C >>> 24 & 240, C = w;
      for (let z = 0; z < 16; z++) D[z] ? (U = U << 2 | U >>> 26, C = C << 2 | C >>> 26) : (U = U << 1 | U >>> 27, C = C << 1 | C >>> 27), U &= -15, C &= -15, P = t[U >>> 28] | r[U >>> 24 & 15] | n[U >>> 20 & 15] | a[U >>> 16 & 15] | i[U >>> 12 & 15] | l[U >>> 8 & 15] | c[U >>> 4 & 15], k = u[C >>> 28] | x[C >>> 24 & 15] | f[C >>> 20 & 15] | h[C >>> 16 & 15] | p[C >>> 12 & 15] | m[C >>> 8 & 15] | y[C >>> 4 & 15], w = 65535 & (k >>> 16 ^ P), v[T++] = P ^ w, v[T++] = k ^ w << 16;
    }
    return v;
  }
  function zl(e) {
    this.key = [];
    for (let t = 0; t < 3; t++) this.key.push(new Uint8Array(e.subarray(8 * t, 8 * t + 8)));
    this.encrypt = function(t) {
      return _h(Ih(this.key[2]), _h(Ih(this.key[1]), _h(Ih(this.key[0]), t, true), false), true);
    };
  }
  function BC() {
    this.BlockSize = 8, this.KeySize = 16, this.setKey = function(l) {
      if (this.masking = Array(16), this.rotate = Array(16), this.reset(), l.length !== this.KeySize) throw Error("CAST-128: keys must be 16 bytes");
      return this.keySchedule(l), true;
    }, this.reset = function() {
      for (let l = 0; l < 16; l++) this.masking[l] = 0, this.rotate[l] = 0;
    }, this.getBlockSize = function() {
      return this.BlockSize;
    }, this.encrypt = function(l) {
      const c = Array(l.length);
      for (let u = 0; u < l.length; u += 8) {
        let x, f = l[u] << 24 | l[u + 1] << 16 | l[u + 2] << 8 | l[u + 3], h = l[u + 4] << 24 | l[u + 5] << 16 | l[u + 6] << 8 | l[u + 7];
        x = h, h = f ^ r(h, this.masking[0], this.rotate[0]), f = x, x = h, h = f ^ n(h, this.masking[1], this.rotate[1]), f = x, x = h, h = f ^ a(h, this.masking[2], this.rotate[2]), f = x, x = h, h = f ^ r(h, this.masking[3], this.rotate[3]), f = x, x = h, h = f ^ n(h, this.masking[4], this.rotate[4]), f = x, x = h, h = f ^ a(h, this.masking[5], this.rotate[5]), f = x, x = h, h = f ^ r(h, this.masking[6], this.rotate[6]), f = x, x = h, h = f ^ n(h, this.masking[7], this.rotate[7]), f = x, x = h, h = f ^ a(h, this.masking[8], this.rotate[8]), f = x, x = h, h = f ^ r(h, this.masking[9], this.rotate[9]), f = x, x = h, h = f ^ n(h, this.masking[10], this.rotate[10]), f = x, x = h, h = f ^ a(h, this.masking[11], this.rotate[11]), f = x, x = h, h = f ^ r(h, this.masking[12], this.rotate[12]), f = x, x = h, h = f ^ n(h, this.masking[13], this.rotate[13]), f = x, x = h, h = f ^ a(h, this.masking[14], this.rotate[14]), f = x, x = h, h = f ^ r(h, this.masking[15], this.rotate[15]), f = x, c[u] = h >>> 24 & 255, c[u + 1] = h >>> 16 & 255, c[u + 2] = h >>> 8 & 255, c[u + 3] = 255 & h, c[u + 4] = f >>> 24 & 255, c[u + 5] = f >>> 16 & 255, c[u + 6] = f >>> 8 & 255, c[u + 7] = 255 & f;
      }
      return c;
    }, this.decrypt = function(l) {
      const c = Array(l.length);
      for (let u = 0; u < l.length; u += 8) {
        let x, f = l[u] << 24 | l[u + 1] << 16 | l[u + 2] << 8 | l[u + 3], h = l[u + 4] << 24 | l[u + 5] << 16 | l[u + 6] << 8 | l[u + 7];
        x = h, h = f ^ r(h, this.masking[15], this.rotate[15]), f = x, x = h, h = f ^ a(h, this.masking[14], this.rotate[14]), f = x, x = h, h = f ^ n(h, this.masking[13], this.rotate[13]), f = x, x = h, h = f ^ r(h, this.masking[12], this.rotate[12]), f = x, x = h, h = f ^ a(h, this.masking[11], this.rotate[11]), f = x, x = h, h = f ^ n(h, this.masking[10], this.rotate[10]), f = x, x = h, h = f ^ r(h, this.masking[9], this.rotate[9]), f = x, x = h, h = f ^ a(h, this.masking[8], this.rotate[8]), f = x, x = h, h = f ^ n(h, this.masking[7], this.rotate[7]), f = x, x = h, h = f ^ r(h, this.masking[6], this.rotate[6]), f = x, x = h, h = f ^ a(h, this.masking[5], this.rotate[5]), f = x, x = h, h = f ^ n(h, this.masking[4], this.rotate[4]), f = x, x = h, h = f ^ r(h, this.masking[3], this.rotate[3]), f = x, x = h, h = f ^ a(h, this.masking[2], this.rotate[2]), f = x, x = h, h = f ^ n(h, this.masking[1], this.rotate[1]), f = x, x = h, h = f ^ r(h, this.masking[0], this.rotate[0]), f = x, c[u] = h >>> 24 & 255, c[u + 1] = h >>> 16 & 255, c[u + 2] = h >>> 8 & 255, c[u + 3] = 255 & h, c[u + 4] = f >>> 24 & 255, c[u + 5] = f >> 16 & 255, c[u + 6] = f >> 8 & 255, c[u + 7] = 255 & f;
      }
      return c;
    };
    const e = [
      ,
      ,
      ,
      ,
    ];
    e[0] = [
      ,
      ,
      ,
      ,
    ], e[0][0] = [
      4,
      0,
      13,
      15,
      12,
      14,
      8
    ], e[0][1] = [
      5,
      2,
      16,
      18,
      17,
      19,
      10
    ], e[0][2] = [
      6,
      3,
      23,
      22,
      21,
      20,
      9
    ], e[0][3] = [
      7,
      1,
      26,
      25,
      27,
      24,
      11
    ], e[1] = [
      ,
      ,
      ,
      ,
    ], e[1][0] = [
      0,
      6,
      21,
      23,
      20,
      22,
      16
    ], e[1][1] = [
      1,
      4,
      0,
      2,
      1,
      3,
      18
    ], e[1][2] = [
      2,
      5,
      7,
      6,
      5,
      4,
      17
    ], e[1][3] = [
      3,
      7,
      10,
      9,
      11,
      8,
      19
    ], e[2] = [
      ,
      ,
      ,
      ,
    ], e[2][0] = [
      4,
      0,
      13,
      15,
      12,
      14,
      8
    ], e[2][1] = [
      5,
      2,
      16,
      18,
      17,
      19,
      10
    ], e[2][2] = [
      6,
      3,
      23,
      22,
      21,
      20,
      9
    ], e[2][3] = [
      7,
      1,
      26,
      25,
      27,
      24,
      11
    ], e[3] = [
      ,
      ,
      ,
      ,
    ], e[3][0] = [
      0,
      6,
      21,
      23,
      20,
      22,
      16
    ], e[3][1] = [
      1,
      4,
      0,
      2,
      1,
      3,
      18
    ], e[3][2] = [
      2,
      5,
      7,
      6,
      5,
      4,
      17
    ], e[3][3] = [
      3,
      7,
      10,
      9,
      11,
      8,
      19
    ];
    const t = [
      ,
      ,
      ,
      ,
    ];
    function r(l, c, u) {
      const x = c + l, f = x << u | x >>> 32 - u;
      return (i[0][f >>> 24] ^ i[1][f >>> 16 & 255]) - i[2][f >>> 8 & 255] + i[3][255 & f];
    }
    function n(l, c, u) {
      const x = c ^ l, f = x << u | x >>> 32 - u;
      return i[0][f >>> 24] - i[1][f >>> 16 & 255] + i[2][f >>> 8 & 255] ^ i[3][255 & f];
    }
    function a(l, c, u) {
      const x = c - l, f = x << u | x >>> 32 - u;
      return (i[0][f >>> 24] + i[1][f >>> 16 & 255] ^ i[2][f >>> 8 & 255]) - i[3][255 & f];
    }
    t[0] = [
      ,
      ,
      ,
      ,
    ], t[0][0] = [
      24,
      25,
      23,
      22,
      18
    ], t[0][1] = [
      26,
      27,
      21,
      20,
      22
    ], t[0][2] = [
      28,
      29,
      19,
      18,
      25
    ], t[0][3] = [
      30,
      31,
      17,
      16,
      28
    ], t[1] = [
      ,
      ,
      ,
      ,
    ], t[1][0] = [
      3,
      2,
      12,
      13,
      8
    ], t[1][1] = [
      1,
      0,
      14,
      15,
      13
    ], t[1][2] = [
      7,
      6,
      8,
      9,
      3
    ], t[1][3] = [
      5,
      4,
      10,
      11,
      7
    ], t[2] = [
      ,
      ,
      ,
      ,
    ], t[2][0] = [
      19,
      18,
      28,
      29,
      25
    ], t[2][1] = [
      17,
      16,
      30,
      31,
      28
    ], t[2][2] = [
      23,
      22,
      24,
      25,
      18
    ], t[2][3] = [
      21,
      20,
      26,
      27,
      22
    ], t[3] = [
      ,
      ,
      ,
      ,
    ], t[3][0] = [
      8,
      9,
      7,
      6,
      3
    ], t[3][1] = [
      10,
      11,
      5,
      4,
      7
    ], t[3][2] = [
      12,
      13,
      3,
      2,
      8
    ], t[3][3] = [
      14,
      15,
      1,
      0,
      13
    ], this.keySchedule = function(l) {
      const c = [
        ,
        ,
        ,
        ,
        ,
        ,
        ,
        ,
      ], u = Array(32);
      let x;
      for (let m = 0; m < 4; m++) x = 4 * m, c[m] = l[x] << 24 | l[x + 1] << 16 | l[x + 2] << 8 | l[x + 3];
      const f = [
        6,
        7,
        4,
        5
      ];
      let h, p = 0;
      for (let m = 0; m < 2; m++) for (let y = 0; y < 4; y++) {
        for (x = 0; x < 4; x++) {
          const B = e[y][x];
          h = c[B[1]], h ^= i[4][c[B[2] >>> 2] >>> 24 - 8 * (3 & B[2]) & 255], h ^= i[5][c[B[3] >>> 2] >>> 24 - 8 * (3 & B[3]) & 255], h ^= i[6][c[B[4] >>> 2] >>> 24 - 8 * (3 & B[4]) & 255], h ^= i[7][c[B[5] >>> 2] >>> 24 - 8 * (3 & B[5]) & 255], h ^= i[f[x]][c[B[6] >>> 2] >>> 24 - 8 * (3 & B[6]) & 255], c[B[0]] = h;
        }
        for (x = 0; x < 4; x++) {
          const B = t[y][x];
          h = i[4][c[B[0] >>> 2] >>> 24 - 8 * (3 & B[0]) & 255], h ^= i[5][c[B[1] >>> 2] >>> 24 - 8 * (3 & B[1]) & 255], h ^= i[6][c[B[2] >>> 2] >>> 24 - 8 * (3 & B[2]) & 255], h ^= i[7][c[B[3] >>> 2] >>> 24 - 8 * (3 & B[3]) & 255], h ^= i[4 + x][c[B[4] >>> 2] >>> 24 - 8 * (3 & B[4]) & 255], u[p] = h, p++;
        }
      }
      for (let m = 0; m < 16; m++) this.masking[m] = u[m], this.rotate[m] = 31 & u[16 + m];
    };
    const i = [
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
    ];
    i[0] = [
      821772500,
      2678128395,
      1810681135,
      1059425402,
      505495343,
      2617265619,
      1610868032,
      3483355465,
      3218386727,
      2294005173,
      3791863952,
      2563806837,
      1852023008,
      365126098,
      3269944861,
      584384398,
      677919599,
      3229601881,
      4280515016,
      2002735330,
      1136869587,
      3744433750,
      2289869850,
      2731719981,
      2714362070,
      879511577,
      1639411079,
      575934255,
      717107937,
      2857637483,
      576097850,
      2731753936,
      1725645e3,
      2810460463,
      5111599,
      767152862,
      2543075244,
      1251459544,
      1383482551,
      3052681127,
      3089939183,
      3612463449,
      1878520045,
      1510570527,
      2189125840,
      2431448366,
      582008916,
      3163445557,
      1265446783,
      1354458274,
      3529918736,
      3202711853,
      3073581712,
      3912963487,
      3029263377,
      1275016285,
      4249207360,
      2905708351,
      3304509486,
      1442611557,
      3585198765,
      2712415662,
      2731849581,
      3248163920,
      2283946226,
      208555832,
      2766454743,
      1331405426,
      1447828783,
      3315356441,
      3108627284,
      2957404670,
      2981538698,
      3339933917,
      1669711173,
      286233437,
      1465092821,
      1782121619,
      3862771680,
      710211251,
      980974943,
      1651941557,
      430374111,
      2051154026,
      704238805,
      4128970897,
      3144820574,
      2857402727,
      948965521,
      3333752299,
      2227686284,
      718756367,
      2269778983,
      2731643755,
      718440111,
      2857816721,
      3616097120,
      1113355533,
      2478022182,
      410092745,
      1811985197,
      1944238868,
      2696854588,
      1415722873,
      1682284203,
      1060277122,
      1998114690,
      1503841958,
      82706478,
      2315155686,
      1068173648,
      845149890,
      2167947013,
      1768146376,
      1993038550,
      3566826697,
      3390574031,
      940016341,
      3355073782,
      2328040721,
      904371731,
      1205506512,
      4094660742,
      2816623006,
      825647681,
      85914773,
      2857843460,
      1249926541,
      1417871568,
      3287612,
      3211054559,
      3126306446,
      1975924523,
      1353700161,
      2814456437,
      2438597621,
      1800716203,
      722146342,
      2873936343,
      1151126914,
      4160483941,
      2877670899,
      458611604,
      2866078500,
      3483680063,
      770352098,
      2652916994,
      3367839148,
      3940505011,
      3585973912,
      3809620402,
      718646636,
      2504206814,
      2914927912,
      3631288169,
      2857486607,
      2860018678,
      575749918,
      2857478043,
      718488780,
      2069512688,
      3548183469,
      453416197,
      1106044049,
      3032691430,
      52586708,
      3378514636,
      3459808877,
      3211506028,
      1785789304,
      218356169,
      3571399134,
      3759170522,
      1194783844,
      1523787992,
      3007827094,
      1975193539,
      2555452411,
      1341901877,
      3045838698,
      3776907964,
      3217423946,
      2802510864,
      2889438986,
      1057244207,
      1636348243,
      3761863214,
      1462225785,
      2632663439,
      481089165,
      718503062,
      24497053,
      3332243209,
      3344655856,
      3655024856,
      3960371065,
      1195698900,
      2971415156,
      3710176158,
      2115785917,
      4027663609,
      3525578417,
      2524296189,
      2745972565,
      3564906415,
      1372086093,
      1452307862,
      2780501478,
      1476592880,
      3389271281,
      18495466,
      2378148571,
      901398090,
      891748256,
      3279637769,
      3157290713,
      2560960102,
      1447622437,
      4284372637,
      216884176,
      2086908623,
      1879786977,
      3588903153,
      2242455666,
      2938092967,
      3559082096,
      2810645491,
      758861177,
      1121993112,
      215018983,
      642190776,
      4169236812,
      1196255959,
      2081185372,
      3508738393,
      941322904,
      4124243163,
      2877523539,
      1848581667,
      2205260958,
      3180453958,
      2589345134,
      3694731276,
      550028657,
      2519456284,
      3789985535,
      2973870856,
      2093648313,
      443148163,
      46942275,
      2734146937,
      1117713533,
      1115362972,
      1523183689,
      3717140224,
      1551984063
    ], i[1] = [
      522195092,
      4010518363,
      1776537470,
      960447360,
      4267822970,
      4005896314,
      1435016340,
      1929119313,
      2913464185,
      1310552629,
      3579470798,
      3724818106,
      2579771631,
      1594623892,
      417127293,
      2715217907,
      2696228731,
      1508390405,
      3994398868,
      3925858569,
      3695444102,
      4019471449,
      3129199795,
      3770928635,
      3520741761,
      990456497,
      4187484609,
      2783367035,
      21106139,
      3840405339,
      631373633,
      3783325702,
      532942976,
      396095098,
      3548038825,
      4267192484,
      2564721535,
      2011709262,
      2039648873,
      620404603,
      3776170075,
      2898526339,
      3612357925,
      4159332703,
      1645490516,
      223693667,
      1567101217,
      3362177881,
      1029951347,
      3470931136,
      3570957959,
      1550265121,
      119497089,
      972513919,
      907948164,
      3840628539,
      1613718692,
      3594177948,
      465323573,
      2659255085,
      654439692,
      2575596212,
      2699288441,
      3127702412,
      277098644,
      624404830,
      4100943870,
      2717858591,
      546110314,
      2403699828,
      3655377447,
      1321679412,
      4236791657,
      1045293279,
      4010672264,
      895050893,
      2319792268,
      494945126,
      1914543101,
      2777056443,
      3894764339,
      2219737618,
      311263384,
      4275257268,
      3458730721,
      669096869,
      3584475730,
      3835122877,
      3319158237,
      3949359204,
      2005142349,
      2713102337,
      2228954793,
      3769984788,
      569394103,
      3855636576,
      1425027204,
      108000370,
      2736431443,
      3671869269,
      3043122623,
      1750473702,
      2211081108,
      762237499,
      3972989403,
      2798899386,
      3061857628,
      2943854345,
      867476300,
      964413654,
      1591880597,
      1594774276,
      2179821409,
      552026980,
      3026064248,
      3726140315,
      2283577634,
      3110545105,
      2152310760,
      582474363,
      1582640421,
      1383256631,
      2043843868,
      3322775884,
      1217180674,
      463797851,
      2763038571,
      480777679,
      2718707717,
      2289164131,
      3118346187,
      214354409,
      200212307,
      3810608407,
      3025414197,
      2674075964,
      3997296425,
      1847405948,
      1342460550,
      510035443,
      4080271814,
      815934613,
      833030224,
      1620250387,
      1945732119,
      2703661145,
      3966000196,
      1388869545,
      3456054182,
      2687178561,
      2092620194,
      562037615,
      1356438536,
      3409922145,
      3261847397,
      1688467115,
      2150901366,
      631725691,
      3840332284,
      549916902,
      3455104640,
      394546491,
      837744717,
      2114462948,
      751520235,
      2221554606,
      2415360136,
      3999097078,
      2063029875,
      803036379,
      2702586305,
      821456707,
      3019566164,
      360699898,
      4018502092,
      3511869016,
      3677355358,
      2402471449,
      812317050,
      49299192,
      2570164949,
      3259169295,
      2816732080,
      3331213574,
      3101303564,
      2156015656,
      3705598920,
      3546263921,
      143268808,
      3200304480,
      1638124008,
      3165189453,
      3341807610,
      578956953,
      2193977524,
      3638120073,
      2333881532,
      807278310,
      658237817,
      2969561766,
      1641658566,
      11683945,
      3086995007,
      148645947,
      1138423386,
      4158756760,
      1981396783,
      2401016740,
      3699783584,
      380097457,
      2680394679,
      2803068651,
      3334260286,
      441530178,
      4016580796,
      1375954390,
      761952171,
      891809099,
      2183123478,
      157052462,
      3683840763,
      1592404427,
      341349109,
      2438483839,
      1417898363,
      644327628,
      2233032776,
      2353769706,
      2201510100,
      220455161,
      1815641738,
      182899273,
      2995019788,
      3627381533,
      3702638151,
      2890684138,
      1052606899,
      588164016,
      1681439879,
      4038439418,
      2405343923,
      4229449282,
      167996282,
      1336969661,
      1688053129,
      2739224926,
      1543734051,
      1046297529,
      1138201970,
      2121126012,
      115334942,
      1819067631,
      1902159161,
      1941945968,
      2206692869,
      1159982321
    ], i[2] = [
      2381300288,
      637164959,
      3952098751,
      3893414151,
      1197506559,
      916448331,
      2350892612,
      2932787856,
      3199334847,
      4009478890,
      3905886544,
      1373570990,
      2450425862,
      4037870920,
      3778841987,
      2456817877,
      286293407,
      124026297,
      3001279700,
      1028597854,
      3115296800,
      4208886496,
      2691114635,
      2188540206,
      1430237888,
      1218109995,
      3572471700,
      308166588,
      570424558,
      2187009021,
      2455094765,
      307733056,
      1310360322,
      3135275007,
      1384269543,
      2388071438,
      863238079,
      2359263624,
      2801553128,
      3380786597,
      2831162807,
      1470087780,
      1728663345,
      4072488799,
      1090516929,
      532123132,
      2389430977,
      1132193179,
      2578464191,
      3051079243,
      1670234342,
      1434557849,
      2711078940,
      1241591150,
      3314043432,
      3435360113,
      3091448339,
      1812415473,
      2198440252,
      267246943,
      796911696,
      3619716990,
      38830015,
      1526438404,
      2806502096,
      374413614,
      2943401790,
      1489179520,
      1603809326,
      1920779204,
      168801282,
      260042626,
      2358705581,
      1563175598,
      2397674057,
      1356499128,
      2217211040,
      514611088,
      2037363785,
      2186468373,
      4022173083,
      2792511869,
      2913485016,
      1173701892,
      4200428547,
      3896427269,
      1334932762,
      2455136706,
      602925377,
      2835607854,
      1613172210,
      41346230,
      2499634548,
      2457437618,
      2188827595,
      41386358,
      4172255629,
      1313404830,
      2405527007,
      3801973774,
      2217704835,
      873260488,
      2528884354,
      2478092616,
      4012915883,
      2555359016,
      2006953883,
      2463913485,
      575479328,
      2218240648,
      2099895446,
      660001756,
      2341502190,
      3038761536,
      3888151779,
      3848713377,
      3286851934,
      1022894237,
      1620365795,
      3449594689,
      1551255054,
      15374395,
      3570825345,
      4249311020,
      4151111129,
      3181912732,
      310226346,
      1133119310,
      530038928,
      136043402,
      2476768958,
      3107506709,
      2544909567,
      1036173560,
      2367337196,
      1681395281,
      1758231547,
      3641649032,
      306774401,
      1575354324,
      3716085866,
      1990386196,
      3114533736,
      2455606671,
      1262092282,
      3124342505,
      2768229131,
      4210529083,
      1833535011,
      423410938,
      660763973,
      2187129978,
      1639812e3,
      3508421329,
      3467445492,
      310289298,
      272797111,
      2188552562,
      2456863912,
      310240523,
      677093832,
      1013118031,
      901835429,
      3892695601,
      1116285435,
      3036471170,
      1337354835,
      243122523,
      520626091,
      277223598,
      4244441197,
      4194248841,
      1766575121,
      594173102,
      316590669,
      742362309,
      3536858622,
      4176435350,
      3838792410,
      2501204839,
      1229605004,
      3115755532,
      1552908988,
      2312334149,
      979407927,
      3959474601,
      1148277331,
      176638793,
      3614686272,
      2083809052,
      40992502,
      1340822838,
      2731552767,
      3535757508,
      3560899520,
      1354035053,
      122129617,
      7215240,
      2732932949,
      3118912700,
      2718203926,
      2539075635,
      3609230695,
      3725561661,
      1928887091,
      2882293555,
      1988674909,
      2063640240,
      2491088897,
      1459647954,
      4189817080,
      2302804382,
      1113892351,
      2237858528,
      1927010603,
      4002880361,
      1856122846,
      1594404395,
      2944033133,
      3855189863,
      3474975698,
      1643104450,
      4054590833,
      3431086530,
      1730235576,
      2984608721,
      3084664418,
      2131803598,
      4178205752,
      267404349,
      1617849798,
      1616132681,
      1462223176,
      736725533,
      2327058232,
      551665188,
      2945899023,
      1749386277,
      2575514597,
      1611482493,
      674206544,
      2201269090,
      3642560800,
      728599968,
      1680547377,
      2620414464,
      1388111496,
      453204106,
      4156223445,
      1094905244,
      2754698257,
      2201108165,
      3757000246,
      2704524545,
      3922940700,
      3996465027
    ], i[3] = [
      2645754912,
      532081118,
      2814278639,
      3530793624,
      1246723035,
      1689095255,
      2236679235,
      4194438865,
      2116582143,
      3859789411,
      157234593,
      2045505824,
      4245003587,
      1687664561,
      4083425123,
      605965023,
      672431967,
      1336064205,
      3376611392,
      214114848,
      4258466608,
      3232053071,
      489488601,
      605322005,
      3998028058,
      264917351,
      1912574028,
      756637694,
      436560991,
      202637054,
      135989450,
      85393697,
      2152923392,
      3896401662,
      2895836408,
      2145855233,
      3535335007,
      115294817,
      3147733898,
      1922296357,
      3464822751,
      4117858305,
      1037454084,
      2725193275,
      2127856640,
      1417604070,
      1148013728,
      1827919605,
      642362335,
      2929772533,
      909348033,
      1346338451,
      3547799649,
      297154785,
      1917849091,
      4161712827,
      2883604526,
      3968694238,
      1469521537,
      3780077382,
      3375584256,
      1763717519,
      136166297,
      4290970789,
      1295325189,
      2134727907,
      2798151366,
      1566297257,
      3672928234,
      2677174161,
      2672173615,
      965822077,
      2780786062,
      289653839,
      1133871874,
      3491843819,
      35685304,
      1068898316,
      418943774,
      672553190,
      642281022,
      2346158704,
      1954014401,
      3037126780,
      4079815205,
      2030668546,
      3840588673,
      672283427,
      1776201016,
      359975446,
      3750173538,
      555499703,
      2769985273,
      1324923,
      69110472,
      152125443,
      3176785106,
      3822147285,
      1340634837,
      798073664,
      1434183902,
      15393959,
      216384236,
      1303690150,
      3881221631,
      3711134124,
      3960975413,
      106373927,
      2578434224,
      1455997841,
      1801814300,
      1578393881,
      1854262133,
      3188178946,
      3258078583,
      2302670060,
      1539295533,
      3505142565,
      3078625975,
      2372746020,
      549938159,
      3278284284,
      2620926080,
      181285381,
      2865321098,
      3970029511,
      68876850,
      488006234,
      1728155692,
      2608167508,
      836007927,
      2435231793,
      919367643,
      3339422534,
      3655756360,
      1457871481,
      40520939,
      1380155135,
      797931188,
      234455205,
      2255801827,
      3990488299,
      397000196,
      739833055,
      3077865373,
      2871719860,
      4022553888,
      772369276,
      390177364,
      3853951029,
      557662966,
      740064294,
      1640166671,
      1699928825,
      3535942136,
      622006121,
      3625353122,
      68743880,
      1742502,
      219489963,
      1664179233,
      1577743084,
      1236991741,
      410585305,
      2366487942,
      823226535,
      1050371084,
      3426619607,
      3586839478,
      212779912,
      4147118561,
      1819446015,
      1911218849,
      530248558,
      3486241071,
      3252585495,
      2886188651,
      3410272728,
      2342195030,
      20547779,
      2982490058,
      3032363469,
      3631753222,
      312714466,
      1870521650,
      1493008054,
      3491686656,
      615382978,
      4103671749,
      2534517445,
      1932181,
      2196105170,
      278426614,
      6369430,
      3274544417,
      2913018367,
      697336853,
      2143000447,
      2946413531,
      701099306,
      1558357093,
      2805003052,
      3500818408,
      2321334417,
      3567135975,
      216290473,
      3591032198,
      23009561,
      1996984579,
      3735042806,
      2024298078,
      3739440863,
      569400510,
      2339758983,
      3016033873,
      3097871343,
      3639523026,
      3844324983,
      3256173865,
      795471839,
      2951117563,
      4101031090,
      4091603803,
      3603732598,
      971261452,
      534414648,
      428311343,
      3389027175,
      2844869880,
      694888862,
      1227866773,
      2456207019,
      3043454569,
      2614353370,
      3749578031,
      3676663836,
      459166190,
      4132644070,
      1794958188,
      51825668,
      2252611902,
      3084671440,
      2036672799,
      3436641603,
      1099053433,
      2469121526,
      3059204941,
      1323291266,
      2061838604,
      1018778475,
      2233344254,
      2553501054,
      334295216,
      3556750194,
      1065731521,
      183467730
    ], i[4] = [
      2127105028,
      745436345,
      2601412319,
      2788391185,
      3093987327,
      500390133,
      1155374404,
      389092991,
      150729210,
      3891597772,
      3523549952,
      1935325696,
      716645080,
      946045387,
      2901812282,
      1774124410,
      3869435775,
      4039581901,
      3293136918,
      3438657920,
      948246080,
      363898952,
      3867875531,
      1286266623,
      1598556673,
      68334250,
      630723836,
      1104211938,
      1312863373,
      613332731,
      2377784574,
      1101634306,
      441780740,
      3129959883,
      1917973735,
      2510624549,
      3238456535,
      2544211978,
      3308894634,
      1299840618,
      4076074851,
      1756332096,
      3977027158,
      297047435,
      3790297736,
      2265573040,
      3621810518,
      1311375015,
      1667687725,
      47300608,
      3299642885,
      2474112369,
      201668394,
      1468347890,
      576830978,
      3594690761,
      3742605952,
      1958042578,
      1747032512,
      3558991340,
      1408974056,
      3366841779,
      682131401,
      1033214337,
      1545599232,
      4265137049,
      206503691,
      103024618,
      2855227313,
      1337551222,
      2428998917,
      2963842932,
      4015366655,
      3852247746,
      2796956967,
      3865723491,
      3747938335,
      247794022,
      3755824572,
      702416469,
      2434691994,
      397379957,
      851939612,
      2314769512,
      218229120,
      1380406772,
      62274761,
      214451378,
      3170103466,
      2276210409,
      3845813286,
      28563499,
      446592073,
      1693330814,
      3453727194,
      29968656,
      3093872512,
      220656637,
      2470637031,
      77972100,
      1667708854,
      1358280214,
      4064765667,
      2395616961,
      325977563,
      4277240721,
      4220025399,
      3605526484,
      3355147721,
      811859167,
      3069544926,
      3962126810,
      652502677,
      3075892249,
      4132761541,
      3498924215,
      1217549313,
      3250244479,
      3858715919,
      3053989961,
      1538642152,
      2279026266,
      2875879137,
      574252750,
      3324769229,
      2651358713,
      1758150215,
      141295887,
      2719868960,
      3515574750,
      4093007735,
      4194485238,
      1082055363,
      3417560400,
      395511885,
      2966884026,
      179534037,
      3646028556,
      3738688086,
      1092926436,
      2496269142,
      257381841,
      3772900718,
      1636087230,
      1477059743,
      2499234752,
      3811018894,
      2675660129,
      3285975680,
      90732309,
      1684827095,
      1150307763,
      1723134115,
      3237045386,
      1769919919,
      1240018934,
      815675215,
      750138730,
      2239792499,
      1234303040,
      1995484674,
      138143821,
      675421338,
      1145607174,
      1936608440,
      3238603024,
      2345230278,
      2105974004,
      323969391,
      779555213,
      3004902369,
      2861610098,
      1017501463,
      2098600890,
      2628620304,
      2940611490,
      2682542546,
      1171473753,
      3656571411,
      3687208071,
      4091869518,
      393037935,
      159126506,
      1662887367,
      1147106178,
      391545844,
      3452332695,
      1891500680,
      3016609650,
      1851642611,
      546529401,
      1167818917,
      3194020571,
      2848076033,
      3953471836,
      575554290,
      475796850,
      4134673196,
      450035699,
      2351251534,
      844027695,
      1080539133,
      86184846,
      1554234488,
      3692025454,
      1972511363,
      2018339607,
      1491841390,
      1141460869,
      1061690759,
      4244549243,
      2008416118,
      2351104703,
      2868147542,
      1598468138,
      722020353,
      1027143159,
      212344630,
      1387219594,
      1725294528,
      3745187956,
      2500153616,
      458938280,
      4129215917,
      1828119673,
      544571780,
      3503225445,
      2297937496,
      1241802790,
      267843827,
      2694610800,
      1397140384,
      1558801448,
      3782667683,
      1806446719,
      929573330,
      2234912681,
      400817706,
      616011623,
      4121520928,
      3603768725,
      1761550015,
      1968522284,
      4053731006,
      4192232858,
      4005120285,
      872482584,
      3140537016,
      3894607381,
      2287405443,
      1963876937,
      3663887957,
      1584857e3,
      2975024454,
      1833426440,
      4025083860
    ], i[5] = [
      4143615901,
      749497569,
      1285769319,
      3795025788,
      2514159847,
      23610292,
      3974978748,
      844452780,
      3214870880,
      3751928557,
      2213566365,
      1676510905,
      448177848,
      3730751033,
      4086298418,
      2307502392,
      871450977,
      3222878141,
      4110862042,
      3831651966,
      2735270553,
      1310974780,
      2043402188,
      1218528103,
      2736035353,
      4274605013,
      2702448458,
      3936360550,
      2693061421,
      162023535,
      2827510090,
      687910808,
      23484817,
      3784910947,
      3371371616,
      779677500,
      3503626546,
      3473927188,
      4157212626,
      3500679282,
      4248902014,
      2466621104,
      3899384794,
      1958663117,
      925738300,
      1283408968,
      3669349440,
      1840910019,
      137959847,
      2679828185,
      1239142320,
      1315376211,
      1547541505,
      1690155329,
      739140458,
      3128809933,
      3933172616,
      3876308834,
      905091803,
      1548541325,
      4040461708,
      3095483362,
      144808038,
      451078856,
      676114313,
      2861728291,
      2469707347,
      993665471,
      373509091,
      2599041286,
      4025009006,
      4170239449,
      2149739950,
      3275793571,
      3749616649,
      2794760199,
      1534877388,
      572371878,
      2590613551,
      1753320020,
      3467782511,
      1405125690,
      4270405205,
      633333386,
      3026356924,
      3475123903,
      632057672,
      2846462855,
      1404951397,
      3882875879,
      3915906424,
      195638627,
      2385783745,
      3902872553,
      1233155085,
      3355999740,
      2380578713,
      2702246304,
      2144565621,
      3663341248,
      3894384975,
      2502479241,
      4248018925,
      3094885567,
      1594115437,
      572884632,
      3385116731,
      767645374,
      1331858858,
      1475698373,
      3793881790,
      3532746431,
      1321687957,
      619889600,
      1121017241,
      3440213920,
      2070816767,
      2833025776,
      1933951238,
      4095615791,
      890643334,
      3874130214,
      859025556,
      360630002,
      925594799,
      1764062180,
      3920222280,
      4078305929,
      979562269,
      2810700344,
      4087740022,
      1949714515,
      546639971,
      1165388173,
      3069891591,
      1495988560,
      922170659,
      1291546247,
      2107952832,
      1813327274,
      3406010024,
      3306028637,
      4241950635,
      153207855,
      2313154747,
      1608695416,
      1150242611,
      1967526857,
      721801357,
      1220138373,
      3691287617,
      3356069787,
      2112743302,
      3281662835,
      1111556101,
      1778980689,
      250857638,
      2298507990,
      673216130,
      2846488510,
      3207751581,
      3562756981,
      3008625920,
      3417367384,
      2198807050,
      529510932,
      3547516680,
      3426503187,
      2364944742,
      102533054,
      2294910856,
      1617093527,
      1204784762,
      3066581635,
      1019391227,
      1069574518,
      1317995090,
      1691889997,
      3661132003,
      510022745,
      3238594800,
      1362108837,
      1817929911,
      2184153760,
      805817662,
      1953603311,
      3699844737,
      120799444,
      2118332377,
      207536705,
      2282301548,
      4120041617,
      145305846,
      2508124933,
      3086745533,
      3261524335,
      1877257368,
      2977164480,
      3160454186,
      2503252186,
      4221677074,
      759945014,
      254147243,
      2767453419,
      3801518371,
      629083197,
      2471014217,
      907280572,
      3900796746,
      940896768,
      2751021123,
      2625262786,
      3161476951,
      3661752313,
      3260732218,
      1425318020,
      2977912069,
      1496677566,
      3988592072,
      2140652971,
      3126511541,
      3069632175,
      977771578,
      1392695845,
      1698528874,
      1411812681,
      1369733098,
      1343739227,
      3620887944,
      1142123638,
      67414216,
      3102056737,
      3088749194,
      1626167401,
      2546293654,
      3941374235,
      697522451,
      33404913,
      143560186,
      2595682037,
      994885535,
      1247667115,
      3859094837,
      2699155541,
      3547024625,
      4114935275,
      2968073508,
      3199963069,
      2732024527,
      1237921620,
      951448369,
      1898488916,
      1211705605,
      2790989240,
      2233243581,
      3598044975
    ], i[6] = [
      2246066201,
      858518887,
      1714274303,
      3485882003,
      713916271,
      2879113490,
      3730835617,
      539548191,
      36158695,
      1298409750,
      419087104,
      1358007170,
      749914897,
      2989680476,
      1261868530,
      2995193822,
      2690628854,
      3443622377,
      3780124940,
      3796824509,
      2976433025,
      4259637129,
      1551479e3,
      512490819,
      1296650241,
      951993153,
      2436689437,
      2460458047,
      144139966,
      3136204276,
      310820559,
      3068840729,
      643875328,
      1969602020,
      1680088954,
      2185813161,
      3283332454,
      672358534,
      198762408,
      896343282,
      276269502,
      3014846926,
      84060815,
      197145886,
      376173866,
      3943890818,
      3813173521,
      3545068822,
      1316698879,
      1598252827,
      2633424951,
      1233235075,
      859989710,
      2358460855,
      3503838400,
      3409603720,
      1203513385,
      1193654839,
      2792018475,
      2060853022,
      207403770,
      1144516871,
      3068631394,
      1121114134,
      177607304,
      3785736302,
      326409831,
      1929119770,
      2983279095,
      4183308101,
      3474579288,
      3200513878,
      3228482096,
      119610148,
      1170376745,
      3378393471,
      3163473169,
      951863017,
      3337026068,
      3135789130,
      2907618374,
      1183797387,
      2015970143,
      4045674555,
      2182986399,
      2952138740,
      3928772205,
      384012900,
      2454997643,
      10178499,
      2879818989,
      2596892536,
      111523738,
      2995089006,
      451689641,
      3196290696,
      235406569,
      1441906262,
      3890558523,
      3013735005,
      4158569349,
      1644036924,
      376726067,
      1006849064,
      3664579700,
      2041234796,
      1021632941,
      1374734338,
      2566452058,
      371631263,
      4007144233,
      490221539,
      206551450,
      3140638584,
      1053219195,
      1853335209,
      3412429660,
      3562156231,
      735133835,
      1623211703,
      3104214392,
      2738312436,
      4096837757,
      3366392578,
      3110964274,
      3956598718,
      3196820781,
      2038037254,
      3877786376,
      2339753847,
      300912036,
      3766732888,
      2372630639,
      1516443558,
      4200396704,
      1574567987,
      4069441456,
      4122592016,
      2699739776,
      146372218,
      2748961456,
      2043888151,
      35287437,
      2596680554,
      655490400,
      1132482787,
      110692520,
      1031794116,
      2188192751,
      1324057718,
      1217253157,
      919197030,
      686247489,
      3261139658,
      1028237775,
      3135486431,
      3059715558,
      2460921700,
      986174950,
      2661811465,
      4062904701,
      2752986992,
      3709736643,
      367056889,
      1353824391,
      731860949,
      1650113154,
      1778481506,
      784341916,
      357075625,
      3608602432,
      1074092588,
      2480052770,
      3811426202,
      92751289,
      877911070,
      3600361838,
      1231880047,
      480201094,
      3756190983,
      3094495953,
      434011822,
      87971354,
      363687820,
      1717726236,
      1901380172,
      3926403882,
      2481662265,
      400339184,
      1490350766,
      2661455099,
      1389319756,
      2558787174,
      784598401,
      1983468483,
      30828846,
      3550527752,
      2716276238,
      3841122214,
      1765724805,
      1955612312,
      1277890269,
      1333098070,
      1564029816,
      2704417615,
      1026694237,
      3287671188,
      1260819201,
      3349086767,
      1016692350,
      1582273796,
      1073413053,
      1995943182,
      694588404,
      1025494639,
      3323872702,
      3551898420,
      4146854327,
      453260480,
      1316140391,
      1435673405,
      3038941953,
      3486689407,
      1622062951,
      403978347,
      817677117,
      950059133,
      4246079218,
      3278066075,
      1486738320,
      1417279718,
      481875527,
      2549965225,
      3933690356,
      760697757,
      1452955855,
      3897451437,
      1177426808,
      1702951038,
      4085348628,
      2447005172,
      1084371187,
      3516436277,
      3068336338,
      1073369276,
      1027665953,
      3284188590,
      1230553676,
      1368340146,
      2226246512,
      267243139,
      2274220762,
      4070734279,
      2497715176,
      2423353163,
      2504755875
    ], i[7] = [
      3793104909,
      3151888380,
      2817252029,
      895778965,
      2005530807,
      3871412763,
      237245952,
      86829237,
      296341424,
      3851759377,
      3974600970,
      2475086196,
      709006108,
      1994621201,
      2972577594,
      937287164,
      3734691505,
      168608556,
      3189338153,
      2225080640,
      3139713551,
      3033610191,
      3025041904,
      77524477,
      185966941,
      1208824168,
      2344345178,
      1721625922,
      3354191921,
      1066374631,
      1927223579,
      1971335949,
      2483503697,
      1551748602,
      2881383779,
      2856329572,
      3003241482,
      48746954,
      1398218158,
      2050065058,
      313056748,
      4255789917,
      393167848,
      1912293076,
      940740642,
      3465845460,
      3091687853,
      2522601570,
      2197016661,
      1727764327,
      364383054,
      492521376,
      1291706479,
      3264136376,
      1474851438,
      1685747964,
      2575719748,
      1619776915,
      1814040067,
      970743798,
      1561002147,
      2925768690,
      2123093554,
      1880132620,
      3151188041,
      697884420,
      2550985770,
      2607674513,
      2659114323,
      110200136,
      1489731079,
      997519150,
      1378877361,
      3527870668,
      478029773,
      2766872923,
      1022481122,
      431258168,
      1112503832,
      897933369,
      2635587303,
      669726182,
      3383752315,
      918222264,
      163866573,
      3246985393,
      3776823163,
      114105080,
      1903216136,
      761148244,
      3571337562,
      1690750982,
      3166750252,
      1037045171,
      1888456500,
      2010454850,
      642736655,
      616092351,
      365016990,
      1185228132,
      4174898510,
      1043824992,
      2023083429,
      2241598885,
      3863320456,
      3279669087,
      3674716684,
      108438443,
      2132974366,
      830746235,
      606445527,
      4173263986,
      2204105912,
      1844756978,
      2532684181,
      4245352700,
      2969441100,
      3796921661,
      1335562986,
      4061524517,
      2720232303,
      2679424040,
      634407289,
      885462008,
      3294724487,
      3933892248,
      2094100220,
      339117932,
      4048830727,
      3202280980,
      1458155303,
      2689246273,
      1022871705,
      2464987878,
      3714515309,
      353796843,
      2822958815,
      4256850100,
      4052777845,
      551748367,
      618185374,
      3778635579,
      4020649912,
      1904685140,
      3069366075,
      2670879810,
      3407193292,
      2954511620,
      4058283405,
      2219449317,
      3135758300,
      1120655984,
      3447565834,
      1474845562,
      3577699062,
      550456716,
      3466908712,
      2043752612,
      881257467,
      869518812,
      2005220179,
      938474677,
      3305539448,
      3850417126,
      1315485940,
      3318264702,
      226533026,
      965733244,
      321539988,
      1136104718,
      804158748,
      573969341,
      3708209826,
      937399083,
      3290727049,
      2901666755,
      1461057207,
      4013193437,
      4066861423,
      3242773476,
      2421326174,
      1581322155,
      3028952165,
      786071460,
      3900391652,
      3918438532,
      1485433313,
      4023619836,
      3708277595,
      3678951060,
      953673138,
      1467089153,
      1930354364,
      1533292819,
      2492563023,
      1346121658,
      1685000834,
      1965281866,
      3765933717,
      4190206607,
      2052792609,
      3515332758,
      690371149,
      3125873887,
      2180283551,
      2903598061,
      3933952357,
      436236910,
      289419410,
      14314871,
      1242357089,
      2904507907,
      1616633776,
      2666382180,
      585885352,
      3471299210,
      2699507360,
      1432659641,
      277164553,
      3354103607,
      770115018,
      2303809295,
      3741942315,
      3177781868,
      2853364978,
      2269453327,
      3774259834,
      987383833,
      1290892879,
      225909803,
      1741533526,
      890078084,
      1496906255,
      1111072499,
      916028167,
      243534141,
      1252605537,
      2204162171,
      531204876,
      290011180,
      3916834213,
      102027703,
      237315147,
      209093447,
      1486785922,
      220223953,
      2758195998,
      4175039106,
      82940208,
      3127791296,
      2569425252,
      518464269,
      1353887104,
      3941492737,
      2377294467,
      3935040926
    ];
  }
  function Ul(e) {
    this.cast5 = new BC(), this.cast5.setKey(e), this.encrypt = function(t) {
      return this.cast5.encrypt(t);
    };
  }
  zl.keySize = zl.prototype.keySize = 24, zl.blockSize = zl.prototype.blockSize = 8, Ul.blockSize = Ul.prototype.blockSize = 8, Ul.keySize = Ul.prototype.keySize = 16;
  const pn = 4294967295;
  function ea(e, t) {
    return (e << t | e >>> 32 - t) & pn;
  }
  function Ua(e, t) {
    return e[t] | e[t + 1] << 8 | e[t + 2] << 16 | e[t + 3] << 24;
  }
  function Uo(e, t, r) {
    e.splice(t, 4, 255 & r, r >>> 8 & 255, r >>> 16 & 255, r >>> 24 & 255);
  }
  function Ge(e, t) {
    return e >>> 8 * t & 255;
  }
  function Tl(e) {
    this.tf = /* @__PURE__ */ (function() {
      let t = null, r = null, n = -1, a = [], i = [
        [],
        [],
        [],
        []
      ];
      function l(f) {
        return i[0][Ge(f, 0)] ^ i[1][Ge(f, 1)] ^ i[2][Ge(f, 2)] ^ i[3][Ge(f, 3)];
      }
      function c(f) {
        return i[0][Ge(f, 3)] ^ i[1][Ge(f, 0)] ^ i[2][Ge(f, 1)] ^ i[3][Ge(f, 2)];
      }
      function u(f, h) {
        let p = l(h[0]), m = c(h[1]);
        h[2] = ea(h[2] ^ p + m + a[4 * f + 8] & pn, 31), h[3] = ea(h[3], 1) ^ p + 2 * m + a[4 * f + 9] & pn, p = l(h[2]), m = c(h[3]), h[0] = ea(h[0] ^ p + m + a[4 * f + 10] & pn, 31), h[1] = ea(h[1], 1) ^ p + 2 * m + a[4 * f + 11] & pn;
      }
      function x(f, h) {
        let p = l(h[0]), m = c(h[1]);
        h[2] = ea(h[2], 1) ^ p + m + a[4 * f + 10] & pn, h[3] = ea(h[3] ^ p + 2 * m + a[4 * f + 11] & pn, 31), p = l(h[2]), m = c(h[3]), h[0] = ea(h[0], 1) ^ p + m + a[4 * f + 8] & pn, h[1] = ea(h[1] ^ p + 2 * m + a[4 * f + 9] & pn, 31);
      }
      return {
        name: "twofish",
        blocksize: 16,
        open: function(f) {
          let h, p, m, y, B;
          t = f;
          const v = [], D = [], P = [];
          let k;
          const w = [];
          let _, T, N;
          const U = [
            [
              8,
              1,
              7,
              13,
              6,
              15,
              3,
              2,
              0,
              11,
              5,
              9,
              14,
              12,
              10,
              4
            ],
            [
              2,
              8,
              11,
              13,
              15,
              7,
              6,
              14,
              3,
              1,
              9,
              4,
              0,
              10,
              12,
              5
            ]
          ], C = [
            [
              14,
              12,
              11,
              8,
              1,
              2,
              3,
              5,
              15,
              4,
              10,
              6,
              7,
              0,
              9,
              13
            ],
            [
              1,
              14,
              2,
              11,
              4,
              12,
              3,
              7,
              6,
              13,
              10,
              5,
              15,
              9,
              0,
              8
            ]
          ], z = [
            [
              11,
              10,
              5,
              14,
              6,
              13,
              9,
              0,
              12,
              8,
              15,
              3,
              2,
              4,
              7,
              1
            ],
            [
              4,
              12,
              7,
              5,
              1,
              6,
              9,
              10,
              0,
              14,
              13,
              8,
              2,
              11,
              3,
              15
            ]
          ], I = [
            [
              13,
              7,
              15,
              4,
              1,
              2,
              6,
              14,
              9,
              11,
              3,
              0,
              8,
              5,
              12,
              10
            ],
            [
              11,
              9,
              5,
              1,
              12,
              3,
              13,
              14,
              6,
              4,
              7,
              15,
              2,
              0,
              8,
              10
            ]
          ], R = [
            0,
            8,
            1,
            9,
            2,
            10,
            3,
            11,
            4,
            12,
            5,
            13,
            6,
            14,
            7,
            15
          ], L = [
            0,
            9,
            2,
            11,
            4,
            13,
            6,
            15,
            8,
            1,
            10,
            3,
            12,
            5,
            14,
            7
          ], O = [
            [],
            []
          ], W = [
            [],
            [],
            [],
            []
          ];
          function $(M) {
            return M ^ M >> 2 ^ [
              0,
              90,
              180,
              238
            ][3 & M];
          }
          function X(M) {
            return M ^ M >> 1 ^ M >> 2 ^ [
              0,
              238,
              180,
              90
            ][3 & M];
          }
          function Y(M, G) {
            let ee, te, oe;
            for (ee = 0; ee < 8; ee++) te = G >>> 24, G = G << 8 & pn | M >>> 24, M = M << 8 & pn, oe = te << 1, 128 & te && (oe ^= 333), G ^= te ^ oe << 16, oe ^= te >>> 1, 1 & te && (oe ^= 166), G ^= oe << 24 | oe << 8;
            return G;
          }
          function Q(M, G) {
            const ee = G >> 4, te = 15 & G, oe = U[M][ee ^ te], ie = C[M][R[te] ^ L[ee]];
            return I[M][R[ie] ^ L[oe]] << 4 | z[M][oe ^ ie];
          }
          function V(M, G) {
            let ee = Ge(M, 0), te = Ge(M, 1), oe = Ge(M, 2), ie = Ge(M, 3);
            switch (k) {
              case 4:
                ee = O[1][ee] ^ Ge(G[3], 0), te = O[0][te] ^ Ge(G[3], 1), oe = O[0][oe] ^ Ge(G[3], 2), ie = O[1][ie] ^ Ge(G[3], 3);
              case 3:
                ee = O[1][ee] ^ Ge(G[2], 0), te = O[1][te] ^ Ge(G[2], 1), oe = O[0][oe] ^ Ge(G[2], 2), ie = O[0][ie] ^ Ge(G[2], 3);
              case 2:
                ee = O[0][O[0][ee] ^ Ge(G[1], 0)] ^ Ge(G[0], 0), te = O[0][O[1][te] ^ Ge(G[1], 1)] ^ Ge(G[0], 1), oe = O[1][O[0][oe] ^ Ge(G[1], 2)] ^ Ge(G[0], 2), ie = O[1][O[1][ie] ^ Ge(G[1], 3)] ^ Ge(G[0], 3);
            }
            return W[0][ee] ^ W[1][te] ^ W[2][oe] ^ W[3][ie];
          }
          for (t = t.slice(0, 32), h = t.length; h !== 16 && h !== 24 && h !== 32; ) t[h++] = 0;
          for (h = 0; h < t.length; h += 4) P[h >> 2] = Ua(t, h);
          for (h = 0; h < 256; h++) O[0][h] = Q(0, h), O[1][h] = Q(1, h);
          for (h = 0; h < 256; h++) _ = O[1][h], T = $(_), N = X(_), W[0][h] = _ + (T << 8) + (N << 16) + (N << 24), W[2][h] = T + (N << 8) + (_ << 16) + (N << 24), _ = O[0][h], T = $(_), N = X(_), W[1][h] = N + (N << 8) + (T << 16) + (_ << 24), W[3][h] = T + (_ << 8) + (N << 16) + (T << 24);
          for (k = P.length / 2, h = 0; h < k; h++) p = P[h + h], v[h] = p, m = P[h + h + 1], D[h] = m, w[k - h - 1] = Y(p, m);
          for (h = 0; h < 40; h += 2) p = 16843009 * h, m = p + 16843009, p = V(p, v), m = ea(V(m, D), 8), a[h] = p + m & pn, a[h + 1] = ea(p + 2 * m, 9);
          for (h = 0; h < 256; h++) switch (p = m = y = B = h, k) {
            case 4:
              p = O[1][p] ^ Ge(w[3], 0), m = O[0][m] ^ Ge(w[3], 1), y = O[0][y] ^ Ge(w[3], 2), B = O[1][B] ^ Ge(w[3], 3);
            case 3:
              p = O[1][p] ^ Ge(w[2], 0), m = O[1][m] ^ Ge(w[2], 1), y = O[0][y] ^ Ge(w[2], 2), B = O[0][B] ^ Ge(w[2], 3);
            case 2:
              i[0][h] = W[0][O[0][O[0][p] ^ Ge(w[1], 0)] ^ Ge(w[0], 0)], i[1][h] = W[1][O[0][O[1][m] ^ Ge(w[1], 1)] ^ Ge(w[0], 1)], i[2][h] = W[2][O[1][O[0][y] ^ Ge(w[1], 2)] ^ Ge(w[0], 2)], i[3][h] = W[3][O[1][O[1][B] ^ Ge(w[1], 3)] ^ Ge(w[0], 3)];
          }
        },
        close: function() {
          a = [], i = [
            [],
            [],
            [],
            []
          ];
        },
        encrypt: function(f, h) {
          r = f, n = h;
          const p = [
            Ua(r, n) ^ a[0],
            Ua(r, n + 4) ^ a[1],
            Ua(r, n + 8) ^ a[2],
            Ua(r, n + 12) ^ a[3]
          ];
          for (let m = 0; m < 8; m++) u(m, p);
          return Uo(r, n, p[2] ^ a[4]), Uo(r, n + 4, p[3] ^ a[5]), Uo(r, n + 8, p[0] ^ a[6]), Uo(r, n + 12, p[1] ^ a[7]), n += 16, r;
        },
        decrypt: function(f, h) {
          r = f, n = h;
          const p = [
            Ua(r, n) ^ a[4],
            Ua(r, n + 4) ^ a[5],
            Ua(r, n + 8) ^ a[6],
            Ua(r, n + 12) ^ a[7]
          ];
          for (let m = 7; m >= 0; m--) x(m, p);
          Uo(r, n, p[2] ^ a[0]), Uo(r, n + 4, p[3] ^ a[1]), Uo(r, n + 8, p[0] ^ a[2]), Uo(r, n + 12, p[1] ^ a[3]), n += 16;
        },
        finalize: function() {
          return r;
        }
      };
    })(), this.tf.open(Array.from(e), 0), this.encrypt = function(t) {
      return this.tf.encrypt(Array.from(t), 0);
    };
  }
  function Mn() {
  }
  function Rl(e) {
    this.bf = new Mn(), this.bf.init(e), this.encrypt = function(t) {
      return this.bf.encryptBlock(t);
    };
  }
  Tl.keySize = Tl.prototype.keySize = 32, Tl.blockSize = Tl.prototype.blockSize = 16, Mn.prototype.BLOCKSIZE = 8, Mn.prototype.SBOXES = [
    [
      3509652390,
      2564797868,
      805139163,
      3491422135,
      3101798381,
      1780907670,
      3128725573,
      4046225305,
      614570311,
      3012652279,
      134345442,
      2240740374,
      1667834072,
      1901547113,
      2757295779,
      4103290238,
      227898511,
      1921955416,
      1904987480,
      2182433518,
      2069144605,
      3260701109,
      2620446009,
      720527379,
      3318853667,
      677414384,
      3393288472,
      3101374703,
      2390351024,
      1614419982,
      1822297739,
      2954791486,
      3608508353,
      3174124327,
      2024746970,
      1432378464,
      3864339955,
      2857741204,
      1464375394,
      1676153920,
      1439316330,
      715854006,
      3033291828,
      289532110,
      2706671279,
      2087905683,
      3018724369,
      1668267050,
      732546397,
      1947742710,
      3462151702,
      2609353502,
      2950085171,
      1814351708,
      2050118529,
      680887927,
      999245976,
      1800124847,
      3300911131,
      1713906067,
      1641548236,
      4213287313,
      1216130144,
      1575780402,
      4018429277,
      3917837745,
      3693486850,
      3949271944,
      596196993,
      3549867205,
      258830323,
      2213823033,
      772490370,
      2760122372,
      1774776394,
      2652871518,
      566650946,
      4142492826,
      1728879713,
      2882767088,
      1783734482,
      3629395816,
      2517608232,
      2874225571,
      1861159788,
      326777828,
      3124490320,
      2130389656,
      2716951837,
      967770486,
      1724537150,
      2185432712,
      2364442137,
      1164943284,
      2105845187,
      998989502,
      3765401048,
      2244026483,
      1075463327,
      1455516326,
      1322494562,
      910128902,
      469688178,
      1117454909,
      936433444,
      3490320968,
      3675253459,
      1240580251,
      122909385,
      2157517691,
      634681816,
      4142456567,
      3825094682,
      3061402683,
      2540495037,
      79693498,
      3249098678,
      1084186820,
      1583128258,
      426386531,
      1761308591,
      1047286709,
      322548459,
      995290223,
      1845252383,
      2603652396,
      3431023940,
      2942221577,
      3202600964,
      3727903485,
      1712269319,
      422464435,
      3234572375,
      1170764815,
      3523960633,
      3117677531,
      1434042557,
      442511882,
      3600875718,
      1076654713,
      1738483198,
      4213154764,
      2393238008,
      3677496056,
      1014306527,
      4251020053,
      793779912,
      2902807211,
      842905082,
      4246964064,
      1395751752,
      1040244610,
      2656851899,
      3396308128,
      445077038,
      3742853595,
      3577915638,
      679411651,
      2892444358,
      2354009459,
      1767581616,
      3150600392,
      3791627101,
      3102740896,
      284835224,
      4246832056,
      1258075500,
      768725851,
      2589189241,
      3069724005,
      3532540348,
      1274779536,
      3789419226,
      2764799539,
      1660621633,
      3471099624,
      4011903706,
      913787905,
      3497959166,
      737222580,
      2514213453,
      2928710040,
      3937242737,
      1804850592,
      3499020752,
      2949064160,
      2386320175,
      2390070455,
      2415321851,
      4061277028,
      2290661394,
      2416832540,
      1336762016,
      1754252060,
      3520065937,
      3014181293,
      791618072,
      3188594551,
      3933548030,
      2332172193,
      3852520463,
      3043980520,
      413987798,
      3465142937,
      3030929376,
      4245938359,
      2093235073,
      3534596313,
      375366246,
      2157278981,
      2479649556,
      555357303,
      3870105701,
      2008414854,
      3344188149,
      4221384143,
      3956125452,
      2067696032,
      3594591187,
      2921233993,
      2428461,
      544322398,
      577241275,
      1471733935,
      610547355,
      4027169054,
      1432588573,
      1507829418,
      2025931657,
      3646575487,
      545086370,
      48609733,
      2200306550,
      1653985193,
      298326376,
      1316178497,
      3007786442,
      2064951626,
      458293330,
      2589141269,
      3591329599,
      3164325604,
      727753846,
      2179363840,
      146436021,
      1461446943,
      4069977195,
      705550613,
      3059967265,
      3887724982,
      4281599278,
      3313849956,
      1404054877,
      2845806497,
      146425753,
      1854211946
    ],
    [
      1266315497,
      3048417604,
      3681880366,
      3289982499,
      290971e4,
      1235738493,
      2632868024,
      2414719590,
      3970600049,
      1771706367,
      1449415276,
      3266420449,
      422970021,
      1963543593,
      2690192192,
      3826793022,
      1062508698,
      1531092325,
      1804592342,
      2583117782,
      2714934279,
      4024971509,
      1294809318,
      4028980673,
      1289560198,
      2221992742,
      1669523910,
      35572830,
      157838143,
      1052438473,
      1016535060,
      1802137761,
      1753167236,
      1386275462,
      3080475397,
      2857371447,
      1040679964,
      2145300060,
      2390574316,
      1461121720,
      2956646967,
      4031777805,
      4028374788,
      33600511,
      2920084762,
      1018524850,
      629373528,
      3691585981,
      3515945977,
      2091462646,
      2486323059,
      586499841,
      988145025,
      935516892,
      3367335476,
      2599673255,
      2839830854,
      265290510,
      3972581182,
      2759138881,
      3795373465,
      1005194799,
      847297441,
      406762289,
      1314163512,
      1332590856,
      1866599683,
      4127851711,
      750260880,
      613907577,
      1450815602,
      3165620655,
      3734664991,
      3650291728,
      3012275730,
      3704569646,
      1427272223,
      778793252,
      1343938022,
      2676280711,
      2052605720,
      1946737175,
      3164576444,
      3914038668,
      3967478842,
      3682934266,
      1661551462,
      3294938066,
      4011595847,
      840292616,
      3712170807,
      616741398,
      312560963,
      711312465,
      1351876610,
      322626781,
      1910503582,
      271666773,
      2175563734,
      1594956187,
      70604529,
      3617834859,
      1007753275,
      1495573769,
      4069517037,
      2549218298,
      2663038764,
      504708206,
      2263041392,
      3941167025,
      2249088522,
      1514023603,
      1998579484,
      1312622330,
      694541497,
      2582060303,
      2151582166,
      1382467621,
      776784248,
      2618340202,
      3323268794,
      2497899128,
      2784771155,
      503983604,
      4076293799,
      907881277,
      423175695,
      432175456,
      1378068232,
      4145222326,
      3954048622,
      3938656102,
      3820766613,
      2793130115,
      2977904593,
      26017576,
      3274890735,
      3194772133,
      1700274565,
      1756076034,
      4006520079,
      3677328699,
      720338349,
      1533947780,
      354530856,
      688349552,
      3973924725,
      1637815568,
      332179504,
      3949051286,
      53804574,
      2852348879,
      3044236432,
      1282449977,
      3583942155,
      3416972820,
      4006381244,
      1617046695,
      2628476075,
      3002303598,
      1686838959,
      431878346,
      2686675385,
      1700445008,
      1080580658,
      1009431731,
      832498133,
      3223435511,
      2605976345,
      2271191193,
      2516031870,
      1648197032,
      4164389018,
      2548247927,
      300782431,
      375919233,
      238389289,
      3353747414,
      2531188641,
      2019080857,
      1475708069,
      455242339,
      2609103871,
      448939670,
      3451063019,
      1395535956,
      2413381860,
      1841049896,
      1491858159,
      885456874,
      4264095073,
      4001119347,
      1565136089,
      3898914787,
      1108368660,
      540939232,
      1173283510,
      2745871338,
      3681308437,
      4207628240,
      3343053890,
      4016749493,
      1699691293,
      1103962373,
      3625875870,
      2256883143,
      3830138730,
      1031889488,
      3479347698,
      1535977030,
      4236805024,
      3251091107,
      2132092099,
      1774941330,
      1199868427,
      1452454533,
      157007616,
      2904115357,
      342012276,
      595725824,
      1480756522,
      206960106,
      497939518,
      591360097,
      863170706,
      2375253569,
      3596610801,
      1814182875,
      2094937945,
      3421402208,
      1082520231,
      3463918190,
      2785509508,
      435703966,
      3908032597,
      1641649973,
      2842273706,
      3305899714,
      1510255612,
      2148256476,
      2655287854,
      3276092548,
      4258621189,
      236887753,
      3681803219,
      274041037,
      1734335097,
      3815195456,
      3317970021,
      1899903192,
      1026095262,
      4050517792,
      356393447,
      2410691914,
      3873677099,
      3682840055
    ],
    [
      3913112168,
      2491498743,
      4132185628,
      2489919796,
      1091903735,
      1979897079,
      3170134830,
      3567386728,
      3557303409,
      857797738,
      1136121015,
      1342202287,
      507115054,
      2535736646,
      337727348,
      3213592640,
      1301675037,
      2528481711,
      1895095763,
      1721773893,
      3216771564,
      62756741,
      2142006736,
      835421444,
      2531993523,
      1442658625,
      3659876326,
      2882144922,
      676362277,
      1392781812,
      170690266,
      3921047035,
      1759253602,
      3611846912,
      1745797284,
      664899054,
      1329594018,
      3901205900,
      3045908486,
      2062866102,
      2865634940,
      3543621612,
      3464012697,
      1080764994,
      553557557,
      3656615353,
      3996768171,
      991055499,
      499776247,
      1265440854,
      648242737,
      3940784050,
      980351604,
      3713745714,
      1749149687,
      3396870395,
      4211799374,
      3640570775,
      1161844396,
      3125318951,
      1431517754,
      545492359,
      4268468663,
      3499529547,
      1437099964,
      2702547544,
      3433638243,
      2581715763,
      2787789398,
      1060185593,
      1593081372,
      2418618748,
      4260947970,
      69676912,
      2159744348,
      86519011,
      2512459080,
      3838209314,
      1220612927,
      3339683548,
      133810670,
      1090789135,
      1078426020,
      1569222167,
      845107691,
      3583754449,
      4072456591,
      1091646820,
      628848692,
      1613405280,
      3757631651,
      526609435,
      236106946,
      48312990,
      2942717905,
      3402727701,
      1797494240,
      859738849,
      992217954,
      4005476642,
      2243076622,
      3870952857,
      3732016268,
      765654824,
      3490871365,
      2511836413,
      1685915746,
      3888969200,
      1414112111,
      2273134842,
      3281911079,
      4080962846,
      172450625,
      2569994100,
      980381355,
      4109958455,
      2819808352,
      2716589560,
      2568741196,
      3681446669,
      3329971472,
      1835478071,
      660984891,
      3704678404,
      4045999559,
      3422617507,
      3040415634,
      1762651403,
      1719377915,
      3470491036,
      2693910283,
      3642056355,
      3138596744,
      1364962596,
      2073328063,
      1983633131,
      926494387,
      3423689081,
      2150032023,
      4096667949,
      1749200295,
      3328846651,
      309677260,
      2016342300,
      1779581495,
      3079819751,
      111262694,
      1274766160,
      443224088,
      298511866,
      1025883608,
      3806446537,
      1145181785,
      168956806,
      3641502830,
      3584813610,
      1689216846,
      3666258015,
      3200248200,
      1692713982,
      2646376535,
      4042768518,
      1618508792,
      1610833997,
      3523052358,
      4130873264,
      2001055236,
      3610705100,
      2202168115,
      4028541809,
      2961195399,
      1006657119,
      2006996926,
      3186142756,
      1430667929,
      3210227297,
      1314452623,
      4074634658,
      4101304120,
      2273951170,
      1399257539,
      3367210612,
      3027628629,
      1190975929,
      2062231137,
      2333990788,
      2221543033,
      2438960610,
      1181637006,
      548689776,
      2362791313,
      3372408396,
      3104550113,
      3145860560,
      296247880,
      1970579870,
      3078560182,
      3769228297,
      1714227617,
      3291629107,
      3898220290,
      166772364,
      1251581989,
      493813264,
      448347421,
      195405023,
      2709975567,
      677966185,
      3703036547,
      1463355134,
      2715995803,
      1338867538,
      1343315457,
      2802222074,
      2684532164,
      233230375,
      2599980071,
      2000651841,
      3277868038,
      1638401717,
      4028070440,
      3237316320,
      6314154,
      819756386,
      300326615,
      590932579,
      1405279636,
      3267499572,
      3150704214,
      2428286686,
      3959192993,
      3461946742,
      1862657033,
      1266418056,
      963775037,
      2089974820,
      2263052895,
      1917689273,
      448879540,
      3550394620,
      3981727096,
      150775221,
      3627908307,
      1303187396,
      508620638,
      2975983352,
      2726630617,
      1817252668,
      1876281319,
      1457606340,
      908771278,
      3720792119,
      3617206836,
      2455994898,
      1729034894,
      1080033504
    ],
    [
      976866871,
      3556439503,
      2881648439,
      1522871579,
      1555064734,
      1336096578,
      3548522304,
      2579274686,
      3574697629,
      3205460757,
      3593280638,
      3338716283,
      3079412587,
      564236357,
      2993598910,
      1781952180,
      1464380207,
      3163844217,
      3332601554,
      1699332808,
      1393555694,
      1183702653,
      3581086237,
      1288719814,
      691649499,
      2847557200,
      2895455976,
      3193889540,
      2717570544,
      1781354906,
      1676643554,
      2592534050,
      3230253752,
      1126444790,
      2770207658,
      2633158820,
      2210423226,
      2615765581,
      2414155088,
      3127139286,
      673620729,
      2805611233,
      1269405062,
      4015350505,
      3341807571,
      4149409754,
      1057255273,
      2012875353,
      2162469141,
      2276492801,
      2601117357,
      993977747,
      3918593370,
      2654263191,
      753973209,
      36408145,
      2530585658,
      25011837,
      3520020182,
      2088578344,
      530523599,
      2918365339,
      1524020338,
      1518925132,
      3760827505,
      3759777254,
      1202760957,
      3985898139,
      3906192525,
      674977740,
      4174734889,
      2031300136,
      2019492241,
      3983892565,
      4153806404,
      3822280332,
      352677332,
      2297720250,
      60907813,
      90501309,
      3286998549,
      1016092578,
      2535922412,
      2839152426,
      457141659,
      509813237,
      4120667899,
      652014361,
      1966332200,
      2975202805,
      55981186,
      2327461051,
      676427537,
      3255491064,
      2882294119,
      3433927263,
      1307055953,
      942726286,
      933058658,
      2468411793,
      3933900994,
      4215176142,
      1361170020,
      2001714738,
      2830558078,
      3274259782,
      1222529897,
      1679025792,
      2729314320,
      3714953764,
      1770335741,
      151462246,
      3013232138,
      1682292957,
      1483529935,
      471910574,
      1539241949,
      458788160,
      3436315007,
      1807016891,
      3718408830,
      978976581,
      1043663428,
      3165965781,
      1927990952,
      4200891579,
      2372276910,
      3208408903,
      3533431907,
      1412390302,
      2931980059,
      4132332400,
      1947078029,
      3881505623,
      4168226417,
      2941484381,
      1077988104,
      1320477388,
      886195818,
      18198404,
      3786409e3,
      2509781533,
      112762804,
      3463356488,
      1866414978,
      891333506,
      18488651,
      661792760,
      1628790961,
      3885187036,
      3141171499,
      876946877,
      2693282273,
      1372485963,
      791857591,
      2686433993,
      3759982718,
      3167212022,
      3472953795,
      2716379847,
      445679433,
      3561995674,
      3504004811,
      3574258232,
      54117162,
      3331405415,
      2381918588,
      3769707343,
      4154350007,
      1140177722,
      4074052095,
      668550556,
      3214352940,
      367459370,
      261225585,
      2610173221,
      4209349473,
      3468074219,
      3265815641,
      314222801,
      3066103646,
      3808782860,
      282218597,
      3406013506,
      3773591054,
      379116347,
      1285071038,
      846784868,
      2669647154,
      3771962079,
      3550491691,
      2305946142,
      453669953,
      1268987020,
      3317592352,
      3279303384,
      3744833421,
      2610507566,
      3859509063,
      266596637,
      3847019092,
      517658769,
      3462560207,
      3443424879,
      370717030,
      4247526661,
      2224018117,
      4143653529,
      4112773975,
      2788324899,
      2477274417,
      1456262402,
      2901442914,
      1517677493,
      1846949527,
      2295493580,
      3734397586,
      2176403920,
      1280348187,
      1908823572,
      3871786941,
      846861322,
      1172426758,
      3287448474,
      3383383037,
      1655181056,
      3139813346,
      901632758,
      1897031941,
      2986607138,
      3066810236,
      3447102507,
      1393639104,
      373351379,
      950779232,
      625454576,
      3124240540,
      4148612726,
      2007998917,
      544563296,
      2244738638,
      2330496472,
      2058025392,
      1291430526,
      424198748,
      50039436,
      29584100,
      3605783033,
      2429876329,
      2791104160,
      1057563949,
      3255363231,
      3075367218,
      3463963227,
      1469046755,
      985887462
    ]
  ], Mn.prototype.PARRAY = [
    608135816,
    2242054355,
    320440878,
    57701188,
    2752067618,
    698298832,
    137296536,
    3964562569,
    1160258022,
    953160567,
    3193202383,
    887688300,
    3232508343,
    3380367581,
    1065670069,
    3041331479,
    2450970073,
    2306472731
  ], Mn.prototype.NN = 16, Mn.prototype._clean = function(e) {
    return e < 0 && (e = (2147483647 & e) + 2147483648), e;
  }, Mn.prototype._F = function(e) {
    let t;
    const r = 255 & e, n = 255 & (e >>>= 8), a = 255 & (e >>>= 8), i = 255 & (e >>>= 8);
    return t = this.sboxes[0][i] + this.sboxes[1][a], t ^= this.sboxes[2][n], t += this.sboxes[3][r], t;
  }, Mn.prototype._encryptBlock = function(e) {
    let t, r = e[0], n = e[1];
    for (t = 0; t < this.NN; ++t) {
      r ^= this.parray[t], n = this._F(r) ^ n;
      const a = r;
      r = n, n = a;
    }
    r ^= this.parray[this.NN + 0], n ^= this.parray[this.NN + 1], e[0] = this._clean(n), e[1] = this._clean(r);
  }, Mn.prototype.encryptBlock = function(e) {
    let t;
    const r = [
      0,
      0
    ], n = this.BLOCKSIZE / 2;
    for (t = 0; t < this.BLOCKSIZE / 2; ++t) r[0] = r[0] << 8 | 255 & e[t + 0], r[1] = r[1] << 8 | 255 & e[t + n];
    this._encryptBlock(r);
    const a = [];
    for (t = 0; t < this.BLOCKSIZE / 2; ++t) a[t + 0] = r[0] >>> 24 - 8 * t & 255, a[t + n] = r[1] >>> 24 - 8 * t & 255;
    return a;
  }, Mn.prototype._decryptBlock = function(e) {
    let t, r = e[0], n = e[1];
    for (t = this.NN + 1; t > 1; --t) {
      r ^= this.parray[t], n = this._F(r) ^ n;
      const a = r;
      r = n, n = a;
    }
    r ^= this.parray[1], n ^= this.parray[0], e[0] = this._clean(n), e[1] = this._clean(r);
  }, Mn.prototype.init = function(e) {
    let t, r = 0;
    for (this.parray = [], t = 0; t < this.NN + 2; ++t) {
      let a = 0;
      for (let i = 0; i < 4; ++i) a = a << 8 | 255 & e[r], ++r >= e.length && (r = 0);
      this.parray[t] = this.PARRAY[t] ^ a;
    }
    for (this.sboxes = [], t = 0; t < 4; ++t) for (this.sboxes[t] = [], r = 0; r < 256; ++r) this.sboxes[t][r] = this.SBOXES[t][r];
    const n = [
      0,
      0
    ];
    for (t = 0; t < this.NN + 2; t += 2) this._encryptBlock(n), this.parray[t + 0] = n[0], this.parray[t + 1] = n[1];
    for (t = 0; t < 4; ++t) for (r = 0; r < 256; r += 2) this._encryptBlock(n), this.sboxes[t][r + 0] = n[0], this.sboxes[t][r + 1] = n[1];
  }, Rl.keySize = Rl.prototype.keySize = 16, Rl.blockSize = Rl.prototype.blockSize = 8;
  const CC = new Map(Object.entries({
    tripledes: zl,
    cast5: Ul,
    twofish: Tl,
    blowfish: Rl
  }));
  var kC = Object.freeze({
    __proto__: null,
    legacyCiphers: CC
  });
  function N0(e, t, r, n) {
    e[t] += r[n], e[t + 1] += r[n + 1] + (e[t] < r[n]);
  }
  function S6(e, t) {
    e[0] += t, e[1] += e[0] < t;
  }
  function To(e, t, r, n, a, i, l, c) {
    N0(e, r, e, n), N0(e, r, t, l);
    let u = e[i] ^ e[r], x = e[i + 1] ^ e[r + 1];
    e[i] = x, e[i + 1] = u, N0(e, a, e, i), u = e[n] ^ e[a], x = e[n + 1] ^ e[a + 1], e[n] = u >>> 24 ^ x << 8, e[n + 1] = x >>> 24 ^ u << 8, N0(e, r, e, n), N0(e, r, t, c), u = e[i] ^ e[r], x = e[i + 1] ^ e[r + 1], e[i] = u >>> 16 ^ x << 16, e[i + 1] = x >>> 16 ^ u << 16, N0(e, a, e, i), u = e[n] ^ e[a], x = e[n + 1] ^ e[a + 1], e[n] = x >>> 31 ^ u << 1, e[n + 1] = u >>> 31 ^ x << 1;
  }
  const T7 = new Uint32Array([
    4089235720,
    1779033703,
    2227873595,
    3144134277,
    4271175723,
    1013904242,
    1595750129,
    2773480762,
    2917565137,
    1359893119,
    725511199,
    2600822924,
    4215389547,
    528734635,
    327033209,
    1541459225
  ]), Er = new Uint8Array([
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    14,
    10,
    4,
    8,
    9,
    15,
    13,
    6,
    1,
    12,
    0,
    2,
    11,
    7,
    5,
    3,
    11,
    8,
    12,
    0,
    5,
    2,
    15,
    13,
    10,
    14,
    3,
    6,
    7,
    1,
    9,
    4,
    7,
    9,
    3,
    1,
    13,
    12,
    11,
    14,
    2,
    6,
    5,
    10,
    4,
    0,
    15,
    8,
    9,
    0,
    5,
    7,
    2,
    4,
    10,
    15,
    14,
    1,
    11,
    12,
    6,
    8,
    3,
    13,
    2,
    12,
    6,
    10,
    0,
    11,
    8,
    3,
    4,
    13,
    7,
    5,
    15,
    14,
    1,
    9,
    12,
    5,
    1,
    15,
    14,
    13,
    4,
    10,
    0,
    7,
    6,
    3,
    9,
    2,
    8,
    11,
    13,
    11,
    7,
    14,
    12,
    1,
    3,
    9,
    5,
    0,
    15,
    4,
    8,
    6,
    2,
    10,
    6,
    15,
    14,
    9,
    11,
    3,
    0,
    8,
    12,
    2,
    13,
    7,
    1,
    4,
    10,
    5,
    10,
    2,
    8,
    4,
    7,
    6,
    1,
    5,
    15,
    11,
    9,
    14,
    3,
    12,
    13,
    0,
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12,
    13,
    14,
    15,
    14,
    10,
    4,
    8,
    9,
    15,
    13,
    6,
    1,
    12,
    0,
    2,
    11,
    7,
    5,
    3
  ].map(((e) => 2 * e)));
  function _6(e, t) {
    const r = new Uint32Array(32), n = new Uint32Array(e.b.buffer, e.b.byteOffset, 32);
    for (let i = 0; i < 16; i++) r[i] = e.h[i], r[i + 16] = T7[i];
    r[24] ^= e.t0[0], r[25] ^= e.t0[1];
    const a = t ? 4294967295 : 0;
    r[28] ^= a, r[29] ^= a;
    for (let i = 0; i < 12; i++) {
      const l = i << 4;
      To(r, n, 0, 8, 16, 24, Er[l + 0], Er[l + 1]), To(r, n, 2, 10, 18, 26, Er[l + 2], Er[l + 3]), To(r, n, 4, 12, 20, 28, Er[l + 4], Er[l + 5]), To(r, n, 6, 14, 22, 30, Er[l + 6], Er[l + 7]), To(r, n, 0, 10, 20, 30, Er[l + 8], Er[l + 9]), To(r, n, 2, 12, 22, 24, Er[l + 10], Er[l + 11]), To(r, n, 4, 14, 16, 26, Er[l + 12], Er[l + 13]), To(r, n, 6, 8, 18, 28, Er[l + 14], Er[l + 15]);
    }
    for (let i = 0; i < 16; i++) e.h[i] ^= r[i] ^ r[i + 16];
  }
  class DC {
    constructor(t, r, n, a) {
      const i = new Uint8Array(64);
      this.S = {
        b: new Uint8Array(Al),
        h: new Uint32Array(z8 / 4),
        t0: new Uint32Array(2),
        c: 0,
        outlen: t
      }, i[0] = t, r && (i[1] = r.length), i[2] = 1, i[3] = 1, n && i.set(n, 32), a && i.set(a, 48);
      const l = new Uint32Array(i.buffer, i.byteOffset, i.length / Uint32Array.BYTES_PER_ELEMENT);
      for (let c = 0; c < 16; c++) this.S.h[c] = T7[c] ^ l[c];
      if (r) {
        const c = new Uint8Array(Al);
        c.set(r), this.update(c);
      }
    }
    update(t) {
      if (!(t instanceof Uint8Array)) throw Error("Input must be Uint8Array or Buffer");
      let r = 0;
      for (; r < t.length; ) {
        this.S.c === Al && (S6(this.S.t0, this.S.c), _6(this.S, false), this.S.c = 0);
        let n = Al - this.S.c;
        this.S.b.set(t.subarray(r, r + n), this.S.c);
        const a = Math.min(n, t.length - r);
        this.S.c += a, r += a;
      }
      return this;
    }
    digest(t) {
      S6(this.S.t0, this.S.c), this.S.b.fill(0, this.S.c), this.S.c = Al, _6(this.S, true);
      const r = t || new Uint8Array(this.S.outlen);
      for (let n = 0; n < this.S.outlen; n++) r[n] = this.S.h[n >> 2] >> 8 * (3 & n);
      return this.S.h = null, r.buffer;
    }
  }
  function Sx(e, t, r, n) {
    if (e > z8) throw Error(`outlen must be at most ${z8} (given: ${e})`);
    return new DC(e, t, r, n);
  }
  const z8 = 64, Al = 128, Ta = 1024, FC = new Uint8Array(new Uint16Array([
    43981
  ]).buffer)[0] === 205;
  function Mr(e, t, r) {
    return e[r + 0] = t, e[r + 1] = t >> 8, e[r + 2] = t >> 16, e[r + 3] = t >> 24, e;
  }
  function Di(e, t, r) {
    if (t > Number.MAX_SAFE_INTEGER) throw Error("LE64: large numbers unsupported");
    let n = t;
    for (let a = r; a < r + 7; a++) e[a] = n, n = (n - e[a]) / 256;
    return e;
  }
  function Ph(e, t, r) {
    const n = new Uint8Array(64), a = new Uint8Array(4 + t.length);
    if (Mr(a, e, 0), a.set(t, 4), e <= 64) return Sx(e).update(a).digest(r), r;
    const i = Math.ceil(e / 32) - 2;
    for (let c = 0; c < i; c++) Sx(64).update(c === 0 ? a : n).digest(n), r.set(n.subarray(0, 32), 32 * c);
    const l = new Uint8Array(Sx(e - 32 * i).update(n).digest());
    return r.set(l, 32 * i), r;
  }
  function I6(e, t, r, n) {
    return e.fn.XOR(t.byteOffset, r.byteOffset, n.byteOffset), t;
  }
  function SC(e, t, r, n) {
    return e.fn.G(t.byteOffset, r.byteOffset, n.byteOffset, e.refs.gZ.byteOffset), n;
  }
  function _C(e, t, r, n) {
    return e.fn.G2(t.byteOffset, r.byteOffset, n.byteOffset, e.refs.gZ.byteOffset), n;
  }
  function* IC(e, t, r, n, a, i, l, c) {
    e.refs.prngTmp.fill(0);
    const u = e.refs.prngTmp.subarray(0, 48);
    Di(u, t, 0), Di(u, r, 8), Di(u, n, 16), Di(u, a, 24), Di(u, i, 32), Di(u, 2, 40);
    for (let x = 1; x <= l; x++) {
      Di(e.refs.prngTmp, x, u.length);
      const f = _C(e, e.refs.ZERO1024, e.refs.prngTmp, e.refs.prngR);
      for (let h = x === 1 ? 8 * c : 0; h < f.length; h += 8) yield f.subarray(h, h + 8);
    }
    return [];
  }
  function PC(e, { memory: t, instance: r }) {
    if (!FC) throw Error("BigEndian system not supported");
    const n = (function({ type: C, version: z, tagLength: I, password: R, salt: L, ad: O, secret: W, parallelism: $, memorySize: X, passes: Y }) {
      const Q = (V, M, G, ee) => {
        if (M < G || M > ee) throw Error(`${V} size should be between ${G} and ${ee} bytes`);
      };
      if (C !== 2 || z !== 19) throw Error("Unsupported type or version");
      return Q("password", R, 8, 4294967295), Q("salt", L, 8, 4294967295), Q("tag", I, 4, 4294967295), Q("memory", X, 8 * $, 4294967295), O && Q("associated data", O, 0, 4294967295), W && Q("secret", W, 0, 32), {
        type: C,
        version: z,
        tagLength: I,
        password: R,
        salt: L,
        ad: O,
        secret: W,
        lanes: $,
        memorySize: X,
        passes: Y
      };
    })({
      type: 2,
      version: 19,
      ...e
    }), { G: a, G2: i, xor: l, getLZ: c } = r.exports, u = {}, x = {};
    x.G = a, x.G2 = i, x.XOR = l;
    const f = 4 * n.lanes * Math.floor(n.memorySize / (4 * n.lanes)), h = f * Ta + 10240;
    if (t.buffer.byteLength < h) {
      const C = Math.ceil((h - t.buffer.byteLength) / 65536);
      t.grow(C);
    }
    let p = 0;
    u.gZ = new Uint8Array(t.buffer, p, Ta), p += u.gZ.length, u.prngR = new Uint8Array(t.buffer, p, Ta), p += u.prngR.length, u.prngTmp = new Uint8Array(t.buffer, p, Ta), p += u.prngTmp.length, u.ZERO1024 = new Uint8Array(t.buffer, p, 1024), p += u.ZERO1024.length;
    const m = new Uint32Array(t.buffer, p, 2);
    p += m.length * Uint32Array.BYTES_PER_ELEMENT;
    const y = {
      fn: x,
      refs: u
    }, B = new Uint8Array(t.buffer, p, Ta);
    p += B.length;
    const v = new Uint8Array(t.buffer, p, n.memorySize * Ta), D = new Uint8Array(t.buffer, 0, p), P = (function(C) {
      const z = Sx(64), I = new Uint8Array(4), R = new Uint8Array(24);
      Mr(R, C.lanes, 0), Mr(R, C.tagLength, 4), Mr(R, C.memorySize, 8), Mr(R, C.passes, 12), Mr(R, C.version, 16), Mr(R, C.type, 20);
      const L = [
        R
      ];
      C.password ? (L.push(Mr(new Uint8Array(4), C.password.length, 0)), L.push(C.password)) : L.push(I), C.salt ? (L.push(Mr(new Uint8Array(4), C.salt.length, 0)), L.push(C.salt)) : L.push(I), C.secret ? (L.push(Mr(new Uint8Array(4), C.secret.length, 0)), L.push(C.secret)) : L.push(I), C.ad ? (L.push(Mr(new Uint8Array(4), C.ad.length, 0)), L.push(C.ad)) : L.push(I), z.update((function(W) {
        if (W.length === 1) return W[0];
        let $ = 0;
        for (let Q = 0; Q < W.length; Q++) {
          if (!(W[Q] instanceof Uint8Array)) throw Error("concatArrays: Data must be in the form of a Uint8Array");
          $ += W[Q].length;
        }
        const X = new Uint8Array($);
        let Y = 0;
        return W.forEach(((Q) => {
          X.set(Q, Y), Y += Q.length;
        })), X;
      })(L));
      const O = z.digest();
      return new Uint8Array(O);
    })(n), k = f / n.lanes, w = Array(n.lanes).fill(null).map((() => Array(k))), _ = (C, z) => (w[C][z] = v.subarray(C * k * 1024 + 1024 * z, C * k * 1024 + 1024 * z + Ta), w[C][z]);
    for (let C = 0; C < n.lanes; C++) {
      const z = new Uint8Array(P.length + 8);
      z.set(P), Mr(z, 0, P.length), Mr(z, C, P.length + 4), Ph(Ta, z, _(C, 0)), Mr(z, 1, P.length), Ph(Ta, z, _(C, 1));
    }
    const T = k / 4;
    for (let C = 0; C < n.passes; C++) for (let z = 0; z < 4; z++) {
      const I = C === 0 && z <= 1;
      for (let R = 0; R < n.lanes; R++) {
        let L = z === 0 && C === 0 ? 2 : 0;
        const O = I ? IC(y, C, R, z, f, n.passes, T, L) : null;
        for (; L < T; L++) {
          const W = z * T + L, $ = W > 0 ? w[R][W - 1] : w[R][k - 1], X = I ? O.next().value : $;
          c(m.byteOffset, X.byteOffset, R, n.lanes, C, z, L, 4, T);
          const Y = m[0], Q = m[1];
          C === 0 && _(R, W), SC(y, $, w[Y][Q], C > 0 ? B : w[R][W]), C > 0 && I6(y, w[R][W], B, w[R][W]);
        }
      }
    }
    const N = w[0][k - 1];
    for (let C = 1; C < n.lanes; C++) I6(y, N, N, w[C][k - 1]);
    const U = Ph(n.tagLength, N, new Uint8Array(n.tagLength));
    return D.fill(0), t.grow(0), U;
  }
  let nx;
  async function NC(e, t) {
    const r = new WebAssembly.Memory({
      initial: 1040,
      maximum: 65536
    }), n = await (async function(a, i, l) {
      const c = {
        env: {
          memory: a
        }
      };
      if (nx === void 0) try {
        const u = await i(c);
        return nx = true, u;
      } catch {
        nx = false;
      }
      return (nx ? i : l)(c);
    })(r, e, t);
    return (a) => PC(a, {
      instance: n.instance,
      memory: r
    });
  }
  function P6(e, t, r, n) {
    var a = null, i = wr.atob(r), l = i.length;
    a = new Uint8Array(new ArrayBuffer(l));
    for (var c = 0; c < l; c++) a[c] = i.charCodeAt(c);
    return (function(u, x, f) {
      var h = WebAssembly.instantiate, p = WebAssembly.compile;
      return x ? h(u, x) : p(u);
    })(a, n);
  }
  var N6, j6, z6, U6, T6, R6, jC = Object.freeze({
    __proto__: null,
    default: async () => NC(((e) => P6(0, 0, "[encoded data, 5888 characters]", e)), ((e) => P6(0, 0, "[encoded data, 4892 characters]", e)))
  });
  function zC(e) {
    return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
  }
  var UC = (function() {
    if (R6) return T6;
    R6 = 1;
    const e = (function() {
      if (j6) return N6;
      function r(i) {
        this.name = "Bzip2Error", this.message = i, this.stack = Error().stack;
      }
      j6 = 1, r.prototype = Error();
      var n = function(i) {
        throw new r(i);
      }, a = {};
      return a.Bzip2Error = r, a.crcTable = [
        0,
        79764919,
        159529838,
        222504665,
        319059676,
        398814059,
        445009330,
        507990021,
        638119352,
        583659535,
        797628118,
        726387553,
        890018660,
        835552979,
        1015980042,
        944750013,
        1276238704,
        1221641927,
        1167319070,
        1095957929,
        1595256236,
        1540665371,
        1452775106,
        1381403509,
        1780037320,
        1859660671,
        1671105958,
        1733955601,
        2031960084,
        2111593891,
        1889500026,
        1952343757,
        2552477408,
        2632100695,
        2443283854,
        2506133561,
        2334638140,
        2414271883,
        2191915858,
        2254759653,
        3190512472,
        3135915759,
        3081330742,
        3009969537,
        2905550212,
        2850959411,
        2762807018,
        2691435357,
        3560074640,
        3505614887,
        3719321342,
        3648080713,
        3342211916,
        3287746299,
        3467911202,
        3396681109,
        4063920168,
        4143685023,
        4223187782,
        4286162673,
        3779000052,
        3858754371,
        3904687514,
        3967668269,
        881225847,
        809987520,
        1023691545,
        969234094,
        662832811,
        591600412,
        771767749,
        717299826,
        311336399,
        374308984,
        453813921,
        533576470,
        25881363,
        88864420,
        134795389,
        214552010,
        2023205639,
        2086057648,
        1897238633,
        1976864222,
        1804852699,
        1867694188,
        1645340341,
        1724971778,
        1587496639,
        1516133128,
        1461550545,
        1406951526,
        1302016099,
        1230646740,
        1142491917,
        1087903418,
        2896545431,
        2825181984,
        2770861561,
        2716262478,
        3215044683,
        3143675388,
        3055782693,
        3001194130,
        2326604591,
        2389456536,
        2200899649,
        2280525302,
        2578013683,
        2640855108,
        2418763421,
        2498394922,
        3769900519,
        3832873040,
        3912640137,
        3992402750,
        4088425275,
        4151408268,
        4197601365,
        4277358050,
        3334271071,
        3263032808,
        3476998961,
        3422541446,
        3585640067,
        3514407732,
        3694837229,
        3640369242,
        1762451694,
        1842216281,
        1619975040,
        1682949687,
        2047383090,
        2127137669,
        1938468188,
        2001449195,
        1325665622,
        1271206113,
        1183200824,
        1111960463,
        1543535498,
        1489069629,
        1434599652,
        1363369299,
        622672798,
        568075817,
        748617968,
        677256519,
        907627842,
        853037301,
        1067152940,
        995781531,
        51762726,
        131386257,
        177728840,
        240578815,
        269590778,
        349224269,
        429104020,
        491947555,
        4046411278,
        4126034873,
        4172115296,
        4234965207,
        3794477266,
        3874110821,
        3953728444,
        4016571915,
        3609705398,
        3555108353,
        3735388376,
        3664026991,
        3290680682,
        3236090077,
        3449943556,
        3378572211,
        3174993278,
        3120533705,
        3032266256,
        2961025959,
        2923101090,
        2868635157,
        2813903052,
        2742672763,
        2604032198,
        2683796849,
        2461293480,
        2524268063,
        2284983834,
        2364738477,
        2175806836,
        2238787779,
        1569362073,
        1498123566,
        1409854455,
        1355396672,
        1317987909,
        1246755826,
        1192025387,
        1137557660,
        2072149281,
        2135122070,
        1912620623,
        1992383480,
        1753615357,
        1816598090,
        1627664531,
        1707420964,
        295390185,
        358241886,
        404320391,
        483945776,
        43990325,
        106832002,
        186451547,
        266083308,
        932423249,
        861060070,
        1041341759,
        986742920,
        613929101,
        542559546,
        756411363,
        701822548,
        3316196985,
        3244833742,
        3425377559,
        3370778784,
        3601682597,
        3530312978,
        3744426955,
        3689838204,
        3819031489,
        3881883254,
        3928223919,
        4007849240,
        4037393693,
        4100235434,
        4180117107,
        4259748804,
        2310601993,
        2373574846,
        2151335527,
        2231098320,
        2596047829,
        2659030626,
        2470359227,
        2550115596,
        2947551409,
        2876312838,
        2788305887,
        2733848168,
        3165939309,
        3094707162,
        3040238851,
        2985771188
      ], a.array = function(i) {
        var l = 0, c = 0, u = [
          0,
          1,
          3,
          7,
          15,
          31,
          63,
          127,
          255
        ];
        return function(x) {
          for (var f = 0; x > 0; ) {
            var h = 8 - l;
            x >= h ? (f <<= h, f |= u[h] & i[c++], l = 0, x -= h) : (f <<= x, f |= (i[c] & u[x] << 8 - x - l) >> 8 - x - l, l += x, x = 0);
          }
          return f;
        };
      }, a.simple = function(i, l) {
        var c = a.array(i), u = false, x = 1e5 * a.header(c), f = new Int32Array(x);
        do
          u = a.decompress(c, l, f, x);
        while (!u);
      }, a.header = function(i) {
        this.byteCount = new Int32Array(256), this.symToByte = new Uint8Array(256), this.mtfSymbol = new Int32Array(256), this.selectors = new Uint8Array(32768), i(24) != 4348520 && n("No magic number found");
        var l = i(8) - 48;
        return (l < 1 || l > 9) && n("Not a BZIP archive"), l;
      }, a.decompress = function(i, l, c, u, x) {
        for (var f = -1, h = "", p = 0; p < 6; p++) h += i(8).toString(16);
        if (h == "177245385090") return (0 | i(32)) !== x && n("Error in bzip2: crc32 do not match"), i(null), null;
        h != "314159265359" && n("Invalid bzip data");
        var m = 0 | i(32);
        i(1) && n("unsupported obsolete version");
        var y = i(24);
        y > u && n("Initial position larger than buffer size");
        var B = i(16), v = 0;
        for (p = 0; p < 16; p++) if (B & 1 << 15 - p) {
          var D = i(16);
          for (w = 0; w < 16; w++) D & 1 << 15 - w && (this.symToByte[v++] = 16 * p + w);
        }
        var P = i(3);
        (P < 2 || P > 6) && n("Invalid bzip data");
        var k = i(15);
        for (k == 0 && n("Invalid bzip data"), p = 0; p < P; p++) this.mtfSymbol[p] = p;
        for (p = 0; p < k; p++) {
          for (var w = 0; i(1); w++) w >= P && n("Invalid bzip data");
          var _ = this.mtfSymbol[w];
          for (D = w - 1; D >= 0; D--) this.mtfSymbol[D + 1] = this.mtfSymbol[D];
          this.mtfSymbol[0] = _, this.selectors[p] = _;
        }
        var T, N, U, C, z = v + 2, I = [], R = new Uint8Array(258), L = new Uint16Array(21);
        for (w = 0; w < P; w++) {
          for (B = i(5), p = 0; p < z; p++) {
            for (; (B < 1 || B > 20) && n("Invalid bzip data"), i(1); ) i(1) ? B-- : B++;
            R[p] = B;
          }
          var O, W;
          for (O = W = R[0], p = 1; p < z; p++) R[p] > W ? W = R[p] : R[p] < O && (O = R[p]);
          (T = I[w] = {}).permute = new Int32Array(258), T.limit = new Int32Array(21), T.base = new Int32Array(21), T.minLen = O, T.maxLen = W;
          var $ = T.base, X = T.limit, Y = 0;
          for (p = O; p <= W; p++) for (B = 0; B < z; B++) R[B] == p && (T.permute[Y++] = B);
          for (p = O; p <= W; p++) L[p] = X[p] = 0;
          for (p = 0; p < z; p++) L[R[p]]++;
          for (Y = B = 0, p = O; p < W; p++) Y += L[p], X[p] = Y - 1, Y <<= 1, $[p + 1] = Y - (B += L[p]);
          X[W] = Y + L[W] - 1, $[O] = 0;
        }
        for (p = 0; p < 256; p++) this.mtfSymbol[p] = p, this.byteCount[p] = 0;
        for (N = U = z = C = 0; ; ) {
          for (z-- || (z = 49, C >= k && n("Invalid bzip data"), $ = (T = I[this.selectors[C++]]).base, X = T.limit), w = i(p = T.minLen); p > T.maxLen && n("Invalid bzip data"), !(w <= X[p]); ) p++, w = w << 1 | i(1);
          ((w -= $[p]) < 0 || w >= 258) && n("Invalid bzip data");
          var Q = T.permute[w];
          if (Q != 0 && Q != 1) {
            if (N) for (N = 0, U + B > u && n("Invalid bzip data"), _ = this.symToByte[this.mtfSymbol[0]], this.byteCount[_] += B; B--; ) c[U++] = _;
            if (Q > v) break;
            for (U >= u && n("Invalid bzip data"), p = Q - 1, _ = this.mtfSymbol[p], D = p - 1; D >= 0; D--) this.mtfSymbol[D + 1] = this.mtfSymbol[D];
            this.mtfSymbol[0] = _, _ = this.symToByte[_], this.byteCount[_]++, c[U++] = _;
          } else N || (N = 1, B = 0), B += Q == 0 ? N : 2 * N, N <<= 1;
        }
        for ((y < 0 || y >= U) && n("Invalid bzip data"), w = 0, p = 0; p < 256; p++) D = w + this.byteCount[p], this.byteCount[p] = w, w = D;
        for (p = 0; p < U; p++) _ = 255 & c[p], c[this.byteCount[_]] |= p << 8, this.byteCount[_]++;
        var V, M, G, ee = 0, te = 0, oe = 0;
        for (U && (te = 255 & (ee = c[y]), ee >>= 8, oe = -1); U; ) {
          for (U--, M = te, te = 255 & (ee = c[ee]), ee >>= 8, oe++ == 3 ? (V = te, G = M, te = -1) : (V = 1, G = te); V--; ) f = 4294967295 & (f << 8 ^ this.crcTable[255 & (f >> 24 ^ G)]), l(G);
          te != M && (oe = 0);
        }
        return (0 | (f = ~f >>> 0)) != (0 | m) && n("Error in bzip2: crc32 do not match"), 4294967295 & (f ^ (x << 1 | x >>> 31));
      }, N6 = a;
    })(), t = (function() {
      if (U6) return z6;
      U6 = 1;
      var r = [
        0,
        1,
        3,
        7,
        15,
        31,
        63,
        127,
        255
      ];
      return z6 = function(n) {
        var a = 0, i = 0, l = n(), c = function(u) {
          if (u === null && a != 0) return a = 0, void i++;
          for (var x = 0; u > 0; ) {
            i >= l.length && (i = 0, l = n());
            var f = 8 - a;
            a === 0 && u > 0 && c.bytesRead++, u >= f ? (x <<= f, x |= r[f] & l[i++], a = 0, u -= f) : (x <<= u, x |= (l[i] & r[u] << 8 - u - a) >> 8 - u - a, a += u, u = 0);
          }
          return x;
        };
        return c.bytesRead = 0, c;
      };
    })();
    return T6 = function(r) {
      const n = [];
      let a = 0, i = 0, l = false, c = false, u = null, x = null, f, h = 0;
      function p(m) {
        if (!l) try {
          return (function(y) {
            if (i) {
              const B = 1e5 * i, v = new Int32Array(B), D = [], P = function(k) {
                D.push(k);
              };
              return x = e.decompress(u, P, v, B, x), x === null ? (i = 0, false) : (y(new Uint8Array(D)), true);
            }
            return i = e.header(u), x = 0, false;
          })((function(y) {
            m.enqueue(y), y !== null && (h += y.length);
          }));
        } catch (y) {
          return m.error(y), l = true, true;
        }
      }
      return new ReadableStream({
        start() {
          f = r.getReader();
        },
        async pull(m) {
          try {
            for (; ; ) {
              for (; !(c || u && a - u.bytesRead + 1 >= 25e3 + 1e5 * (i || 4)); ) {
                const { value: y, done: B } = await f.read();
                B ? c = true : (n.push(y), a += y.length, u === null && (u = t((function() {
                  return n.shift();
                }))));
              }
              for (; c ? u && a > u.bytesRead : u && a - u.bytesRead + 1 >= 25e3 + 1e5 * (i || 4); ) if (p(m)) return;
              if (c && !l && (!u || a <= u.bytesRead)) return void (x === null ? m.close() : m.error(Error("input stream ended prematurely")));
            }
          } catch (y) {
            m.error(y);
          }
        },
        async cancel(m) {
          await f.abort(m);
        }
      }, {
        highWaterMark: 0
      });
    };
  })(), TC = Object.freeze({
    __proto__: null,
    default: zC(UC)
  });
  const Si = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:", j0 = (() => {
    const e = /* @__PURE__ */ new Map();
    for (let t = 0; t < Si.length; t++) e.set(Si[t], t);
    return e;
  })();
  function RC(e) {
    let t = "";
    for (let r = 0; r < e.length; r += 2) if (r + 1 < e.length) {
      const n = e[r] * 256 + e[r + 1], a = n % 45, i = Math.floor(n / 45) % 45, l = Math.floor(n / 2025);
      t += Si[a] + Si[i] + Si[l];
    } else {
      const n = e[r], a = n % 45, i = Math.floor(n / 45);
      t += Si[a] + Si[i];
    }
    return t;
  }
  function KC(e) {
    if (!e.length) return new Uint8Array();
    for (const r of e) if (!j0.has(r)) throw new Error(`Base45 decode: invalid character '${r}' (position ${e.indexOf(r)})`);
    if (e.length % 3 === 1) throw new Error("Base45 decode: invalid length (length mod 3 == 1)");
    const t = [];
    for (let r = 0; r < e.length; ) if (e.length - r >= 3) {
      const a = j0.get(e[r++]), i = j0.get(e[r++]), l = j0.get(e[r++]), c = a + i * 45 + l * 45 * 45;
      if (c > 65535) throw new Error("Base45 decode: value overflow in 3-tuple");
      t.push(c >> 8 & 255, c & 255);
    } else {
      const a = j0.get(e[r++]), i = j0.get(e[r++]), l = a + i * 45;
      if (l > 255) throw new Error("Base45 decode: value overflow in 2-tuple");
      t.push(l);
    }
    return new Uint8Array(t);
  }
  function R7(e) {
    let t = 65535;
    for (let r = 0; r < e.length; r++) {
      t ^= e[r] << 8;
      for (let n = 0; n < 8; n++) t = t & 32768 ? t << 1 ^ 4129 : t << 1, t &= 65535;
    }
    return t.toString(16).toUpperCase().padStart(4, "0");
  }
  const MC = 4, K6 = 0, M6 = 1, LC = 2;
  function ps(e) {
    let t = e.length;
    for (; --t >= 0; ) e[t] = 0;
  }
  const OC = 0, K7 = 1, HC = 2, QC = 3, qC = 258, F9 = 29, kc = 256, nc = kc + 1 + F9, X0 = 30, S9 = 19, M7 = 2 * nc + 1, Ni = 15, Nh = 16, GC = 7, _9 = 256, L7 = 16, O7 = 17, H7 = 18, U8 = new Uint8Array([
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1,
    1,
    1,
    1,
    2,
    2,
    2,
    2,
    3,
    3,
    3,
    3,
    4,
    4,
    4,
    4,
    5,
    5,
    5,
    5,
    0
  ]), _x = new Uint8Array([
    0,
    0,
    0,
    0,
    1,
    1,
    2,
    2,
    3,
    3,
    4,
    4,
    5,
    5,
    6,
    6,
    7,
    7,
    8,
    8,
    9,
    9,
    10,
    10,
    11,
    11,
    12,
    12,
    13,
    13
  ]), VC = new Uint8Array([
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    2,
    3,
    7
  ]), Q7 = new Uint8Array([
    16,
    17,
    18,
    0,
    8,
    7,
    9,
    6,
    10,
    5,
    11,
    4,
    12,
    3,
    13,
    2,
    14,
    1,
    15
  ]), WC = 512, qa = new Array((nc + 2) * 2);
  ps(qa);
  const Hl = new Array(X0 * 2);
  ps(Hl);
  const ac = new Array(WC);
  ps(ac);
  const oc = new Array(qC - QC + 1);
  ps(oc);
  const I9 = new Array(F9);
  ps(I9);
  const td = new Array(X0);
  ps(td);
  function jh(e, t, r, n, a) {
    this.static_tree = e, this.extra_bits = t, this.extra_base = r, this.elems = n, this.max_length = a, this.has_stree = e && e.length;
  }
  let q7, G7, V7;
  function zh(e, t) {
    this.dyn_tree = e, this.max_code = 0, this.stat_desc = t;
  }
  const W7 = (e) => e < 256 ? ac[e] : ac[256 + (e >>> 7)], ic = (e, t) => {
    e.pending_buf[e.pending++] = t & 255, e.pending_buf[e.pending++] = t >>> 8 & 255;
  }, Qr = (e, t, r) => {
    e.bi_valid > Nh - r ? (e.bi_buf |= t << e.bi_valid & 65535, ic(e, e.bi_buf), e.bi_buf = t >> Nh - e.bi_valid, e.bi_valid += r - Nh) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += r);
  }, ua = (e, t, r) => {
    Qr(e, r[t * 2], r[t * 2 + 1]);
  }, $7 = (e, t) => {
    let r = 0;
    do
      r |= e & 1, e >>>= 1, r <<= 1;
    while (--t > 0);
    return r >>> 1;
  }, $C = (e) => {
    e.bi_valid === 16 ? (ic(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : e.bi_valid >= 8 && (e.pending_buf[e.pending++] = e.bi_buf & 255, e.bi_buf >>= 8, e.bi_valid -= 8);
  }, ZC = (e, t) => {
    const r = t.dyn_tree, n = t.max_code, a = t.stat_desc.static_tree, i = t.stat_desc.has_stree, l = t.stat_desc.extra_bits, c = t.stat_desc.extra_base, u = t.stat_desc.max_length;
    let x, f, h, p, m, y, B = 0;
    for (p = 0; p <= Ni; p++) e.bl_count[p] = 0;
    for (r[e.heap[e.heap_max] * 2 + 1] = 0, x = e.heap_max + 1; x < M7; x++) f = e.heap[x], p = r[r[f * 2 + 1] * 2 + 1] + 1, p > u && (p = u, B++), r[f * 2 + 1] = p, !(f > n) && (e.bl_count[p]++, m = 0, f >= c && (m = l[f - c]), y = r[f * 2], e.opt_len += y * (p + m), i && (e.static_len += y * (a[f * 2 + 1] + m)));
    if (B !== 0) {
      do {
        for (p = u - 1; e.bl_count[p] === 0; ) p--;
        e.bl_count[p]--, e.bl_count[p + 1] += 2, e.bl_count[u]--, B -= 2;
      } while (B > 0);
      for (p = u; p !== 0; p--) for (f = e.bl_count[p]; f !== 0; ) h = e.heap[--x], !(h > n) && (r[h * 2 + 1] !== p && (e.opt_len += (p - r[h * 2 + 1]) * r[h * 2], r[h * 2 + 1] = p), f--);
    }
  }, Z7 = (e, t, r) => {
    const n = new Array(Ni + 1);
    let a = 0, i, l;
    for (i = 1; i <= Ni; i++) a = a + r[i - 1] << 1, n[i] = a;
    for (l = 0; l <= t; l++) {
      let c = e[l * 2 + 1];
      c !== 0 && (e[l * 2] = $7(n[c]++, c));
    }
  }, YC = () => {
    let e, t, r, n, a;
    const i = new Array(Ni + 1);
    for (r = 0, n = 0; n < F9 - 1; n++) for (I9[n] = r, e = 0; e < 1 << U8[n]; e++) oc[r++] = n;
    for (oc[r - 1] = n, a = 0, n = 0; n < 16; n++) for (td[n] = a, e = 0; e < 1 << _x[n]; e++) ac[a++] = n;
    for (a >>= 7; n < X0; n++) for (td[n] = a << 7, e = 0; e < 1 << _x[n] - 7; e++) ac[256 + a++] = n;
    for (t = 0; t <= Ni; t++) i[t] = 0;
    for (e = 0; e <= 143; ) qa[e * 2 + 1] = 8, e++, i[8]++;
    for (; e <= 255; ) qa[e * 2 + 1] = 9, e++, i[9]++;
    for (; e <= 279; ) qa[e * 2 + 1] = 7, e++, i[7]++;
    for (; e <= 287; ) qa[e * 2 + 1] = 8, e++, i[8]++;
    for (Z7(qa, nc + 1, i), e = 0; e < X0; e++) Hl[e * 2 + 1] = 5, Hl[e * 2] = $7(e, 5);
    q7 = new jh(qa, U8, kc + 1, nc, Ni), G7 = new jh(Hl, _x, 0, X0, Ni), V7 = new jh(new Array(0), VC, 0, S9, GC);
  }, Y7 = (e) => {
    let t;
    for (t = 0; t < nc; t++) e.dyn_ltree[t * 2] = 0;
    for (t = 0; t < X0; t++) e.dyn_dtree[t * 2] = 0;
    for (t = 0; t < S9; t++) e.bl_tree[t * 2] = 0;
    e.dyn_ltree[_9 * 2] = 1, e.opt_len = e.static_len = 0, e.sym_next = e.matches = 0;
  }, X7 = (e) => {
    e.bi_valid > 8 ? ic(e, e.bi_buf) : e.bi_valid > 0 && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0;
  }, L6 = (e, t, r, n) => {
    const a = t * 2, i = r * 2;
    return e[a] < e[i] || e[a] === e[i] && n[t] <= n[r];
  }, Uh = (e, t, r) => {
    const n = e.heap[r];
    let a = r << 1;
    for (; a <= e.heap_len && (a < e.heap_len && L6(t, e.heap[a + 1], e.heap[a], e.depth) && a++, !L6(t, n, e.heap[a], e.depth)); ) e.heap[r] = e.heap[a], r = a, a <<= 1;
    e.heap[r] = n;
  }, O6 = (e, t, r) => {
    let n, a, i = 0, l, c;
    if (e.sym_next !== 0) do
      n = e.pending_buf[e.sym_buf + i++] & 255, n += (e.pending_buf[e.sym_buf + i++] & 255) << 8, a = e.pending_buf[e.sym_buf + i++], n === 0 ? ua(e, a, t) : (l = oc[a], ua(e, l + kc + 1, t), c = U8[l], c !== 0 && (a -= I9[l], Qr(e, a, c)), n--, l = W7(n), ua(e, l, r), c = _x[l], c !== 0 && (n -= td[l], Qr(e, n, c)));
    while (i < e.sym_next);
    ua(e, _9, t);
  }, T8 = (e, t) => {
    const r = t.dyn_tree, n = t.stat_desc.static_tree, a = t.stat_desc.has_stree, i = t.stat_desc.elems;
    let l, c, u = -1, x;
    for (e.heap_len = 0, e.heap_max = M7, l = 0; l < i; l++) r[l * 2] !== 0 ? (e.heap[++e.heap_len] = u = l, e.depth[l] = 0) : r[l * 2 + 1] = 0;
    for (; e.heap_len < 2; ) x = e.heap[++e.heap_len] = u < 2 ? ++u : 0, r[x * 2] = 1, e.depth[x] = 0, e.opt_len--, a && (e.static_len -= n[x * 2 + 1]);
    for (t.max_code = u, l = e.heap_len >> 1; l >= 1; l--) Uh(e, r, l);
    x = i;
    do
      l = e.heap[1], e.heap[1] = e.heap[e.heap_len--], Uh(e, r, 1), c = e.heap[1], e.heap[--e.heap_max] = l, e.heap[--e.heap_max] = c, r[x * 2] = r[l * 2] + r[c * 2], e.depth[x] = (e.depth[l] >= e.depth[c] ? e.depth[l] : e.depth[c]) + 1, r[l * 2 + 1] = r[c * 2 + 1] = x, e.heap[1] = x++, Uh(e, r, 1);
    while (e.heap_len >= 2);
    e.heap[--e.heap_max] = e.heap[1], ZC(e, t), Z7(r, u, e.bl_count);
  }, H6 = (e, t, r) => {
    let n, a = -1, i, l = t[1], c = 0, u = 7, x = 4;
    for (l === 0 && (u = 138, x = 3), t[(r + 1) * 2 + 1] = 65535, n = 0; n <= r; n++) i = l, l = t[(n + 1) * 2 + 1], !(++c < u && i === l) && (c < x ? e.bl_tree[i * 2] += c : i !== 0 ? (i !== a && e.bl_tree[i * 2]++, e.bl_tree[L7 * 2]++) : c <= 10 ? e.bl_tree[O7 * 2]++ : e.bl_tree[H7 * 2]++, c = 0, a = i, l === 0 ? (u = 138, x = 3) : i === l ? (u = 6, x = 3) : (u = 7, x = 4));
  }, Q6 = (e, t, r) => {
    let n, a = -1, i, l = t[1], c = 0, u = 7, x = 4;
    for (l === 0 && (u = 138, x = 3), n = 0; n <= r; n++) if (i = l, l = t[(n + 1) * 2 + 1], !(++c < u && i === l)) {
      if (c < x) do
        ua(e, i, e.bl_tree);
      while (--c !== 0);
      else i !== 0 ? (i !== a && (ua(e, i, e.bl_tree), c--), ua(e, L7, e.bl_tree), Qr(e, c - 3, 2)) : c <= 10 ? (ua(e, O7, e.bl_tree), Qr(e, c - 3, 3)) : (ua(e, H7, e.bl_tree), Qr(e, c - 11, 7));
      c = 0, a = i, l === 0 ? (u = 138, x = 3) : i === l ? (u = 6, x = 3) : (u = 7, x = 4);
    }
  }, XC = (e) => {
    let t;
    for (H6(e, e.dyn_ltree, e.l_desc.max_code), H6(e, e.dyn_dtree, e.d_desc.max_code), T8(e, e.bl_desc), t = S9 - 1; t >= 3 && e.bl_tree[Q7[t] * 2 + 1] === 0; t--) ;
    return e.opt_len += 3 * (t + 1) + 5 + 5 + 4, t;
  }, JC = (e, t, r, n) => {
    let a;
    for (Qr(e, t - 257, 5), Qr(e, r - 1, 5), Qr(e, n - 4, 4), a = 0; a < n; a++) Qr(e, e.bl_tree[Q7[a] * 2 + 1], 3);
    Q6(e, e.dyn_ltree, t - 1), Q6(e, e.dyn_dtree, r - 1);
  }, ek = (e) => {
    let t = 4093624447, r;
    for (r = 0; r <= 31; r++, t >>>= 1) if (t & 1 && e.dyn_ltree[r * 2] !== 0) return K6;
    if (e.dyn_ltree[18] !== 0 || e.dyn_ltree[20] !== 0 || e.dyn_ltree[26] !== 0) return M6;
    for (r = 32; r < kc; r++) if (e.dyn_ltree[r * 2] !== 0) return M6;
    return K6;
  };
  let q6 = false;
  const tk = (e) => {
    q6 || (YC(), q6 = true), e.l_desc = new zh(e.dyn_ltree, q7), e.d_desc = new zh(e.dyn_dtree, G7), e.bl_desc = new zh(e.bl_tree, V7), e.bi_buf = 0, e.bi_valid = 0, Y7(e);
  }, J7 = (e, t, r, n) => {
    Qr(e, (OC << 1) + (n ? 1 : 0), 3), X7(e), ic(e, r), ic(e, ~r), r && e.pending_buf.set(e.window.subarray(t, t + r), e.pending), e.pending += r;
  }, rk = (e) => {
    Qr(e, K7 << 1, 3), ua(e, _9, qa), $C(e);
  }, nk = (e, t, r, n) => {
    let a, i, l = 0;
    e.level > 0 ? (e.strm.data_type === LC && (e.strm.data_type = ek(e)), T8(e, e.l_desc), T8(e, e.d_desc), l = XC(e), a = e.opt_len + 3 + 7 >>> 3, i = e.static_len + 3 + 7 >>> 3, i <= a && (a = i)) : a = i = r + 5, r + 4 <= a && t !== -1 ? J7(e, t, r, n) : e.strategy === MC || i === a ? (Qr(e, (K7 << 1) + (n ? 1 : 0), 3), O6(e, qa, Hl)) : (Qr(e, (HC << 1) + (n ? 1 : 0), 3), JC(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, l + 1), O6(e, e.dyn_ltree, e.dyn_dtree)), Y7(e), n && X7(e);
  }, ak = (e, t, r) => (e.pending_buf[e.sym_buf + e.sym_next++] = t, e.pending_buf[e.sym_buf + e.sym_next++] = t >> 8, e.pending_buf[e.sym_buf + e.sym_next++] = r, t === 0 ? e.dyn_ltree[r * 2]++ : (e.matches++, t--, e.dyn_ltree[(oc[r] + kc + 1) * 2]++, e.dyn_dtree[W7(t) * 2]++), e.sym_next === e.sym_end);
  var ok = tk, ik = J7, sk = nk, lk = ak, ck = rk, uk = {
    _tr_init: ok,
    _tr_stored_block: ik,
    _tr_flush_block: sk,
    _tr_tally: lk,
    _tr_align: ck
  };
  const xk = (e, t, r, n) => {
    let a = e & 65535 | 0, i = e >>> 16 & 65535 | 0, l = 0;
    for (; r !== 0; ) {
      l = r > 2e3 ? 2e3 : r, r -= l;
      do
        a = a + t[n++] | 0, i = i + a | 0;
      while (--l);
      a %= 65521, i %= 65521;
    }
    return a | i << 16 | 0;
  };
  var sc = xk;
  const dk = () => {
    let e, t = [];
    for (var r = 0; r < 256; r++) {
      e = r;
      for (var n = 0; n < 8; n++) e = e & 1 ? 3988292384 ^ e >>> 1 : e >>> 1;
      t[r] = e;
    }
    return t;
  }, fk = new Uint32Array(dk()), hk = (e, t, r, n) => {
    const a = fk, i = n + r;
    e ^= -1;
    for (let l = n; l < i; l++) e = e >>> 8 ^ a[(e ^ t[l]) & 255];
    return e ^ -1;
  };
  var rr = hk, qi = {
    2: "need dictionary",
    1: "stream end",
    0: "",
    "-1": "file error",
    "-2": "stream error",
    "-3": "data error",
    "-4": "insufficient memory",
    "-5": "buffer error",
    "-6": "incompatible version"
  }, Id = {
    Z_NO_FLUSH: 0,
    Z_PARTIAL_FLUSH: 1,
    Z_SYNC_FLUSH: 2,
    Z_FULL_FLUSH: 3,
    Z_FINISH: 4,
    Z_BLOCK: 5,
    Z_TREES: 6,
    Z_OK: 0,
    Z_STREAM_END: 1,
    Z_NEED_DICT: 2,
    Z_STREAM_ERROR: -2,
    Z_DATA_ERROR: -3,
    Z_MEM_ERROR: -4,
    Z_BUF_ERROR: -5,
    Z_DEFAULT_COMPRESSION: -1,
    Z_FILTERED: 1,
    Z_HUFFMAN_ONLY: 2,
    Z_RLE: 3,
    Z_FIXED: 4,
    Z_DEFAULT_STRATEGY: 0,
    Z_UNKNOWN: 2,
    Z_DEFLATED: 8
  };
  const { _tr_init: pk, _tr_stored_block: R8, _tr_flush_block: gk, _tr_tally: Zo, _tr_align: mk } = uk, { Z_NO_FLUSH: Yo, Z_PARTIAL_FLUSH: yk, Z_FULL_FLUSH: Ek, Z_FINISH: En, Z_BLOCK: G6, Z_OK: sr, Z_STREAM_END: V6, Z_STREAM_ERROR: ya, Z_DATA_ERROR: Ak, Z_BUF_ERROR: Th, Z_DEFAULT_COMPRESSION: bk, Z_FILTERED: wk, Z_HUFFMAN_ONLY: ax, Z_RLE: vk, Z_FIXED: Bk, Z_DEFAULT_STRATEGY: Ck, Z_UNKNOWN: kk, Z_DEFLATED: Pd } = Id, Dk = 9, Fk = 15, Sk = 8, _k = 29, Ik = 256, K8 = Ik + 1 + _k, Pk = 30, Nk = 19, jk = 2 * K8 + 1, zk = 15, Ye = 3, Vo = 258, Ea = Vo + Ye + 1, Uk = 32, cs = 42, P9 = 57, M8 = 69, L8 = 73, O8 = 91, H8 = 103, ji = 113, Kl = 666, _r = 1, gs = 2, Gi = 3, ms = 4, Tk = 3, zi = (e, t) => (e.msg = qi[t], t), W6 = (e) => e * 2 - (e > 4 ? 9 : 0), Ho = (e) => {
    let t = e.length;
    for (; --t >= 0; ) e[t] = 0;
  }, Rk = (e) => {
    let t, r, n, a = e.w_size;
    t = e.hash_size, n = t;
    do
      r = e.head[--n], e.head[n] = r >= a ? r - a : 0;
    while (--t);
    t = a, n = t;
    do
      r = e.prev[--n], e.prev[n] = r >= a ? r - a : 0;
    while (--t);
  };
  let Kk = (e, t, r) => (t << e.hash_shift ^ r) & e.hash_mask, Xo = Kk;
  const en = (e) => {
    const t = e.state;
    let r = t.pending;
    r > e.avail_out && (r = e.avail_out), r !== 0 && (e.output.set(t.pending_buf.subarray(t.pending_out, t.pending_out + r), e.next_out), e.next_out += r, t.pending_out += r, e.total_out += r, e.avail_out -= r, t.pending -= r, t.pending === 0 && (t.pending_out = 0));
  }, nn = (e, t) => {
    gk(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, en(e.strm);
  }, ot = (e, t) => {
    e.pending_buf[e.pending++] = t;
  }, bl = (e, t) => {
    e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = t & 255;
  }, Q8 = (e, t, r, n) => {
    let a = e.avail_in;
    return a > n && (a = n), a === 0 ? 0 : (e.avail_in -= a, t.set(e.input.subarray(e.next_in, e.next_in + a), r), e.state.wrap === 1 ? e.adler = sc(e.adler, t, a, r) : e.state.wrap === 2 && (e.adler = rr(e.adler, t, a, r)), e.next_in += a, e.total_in += a, a);
  }, ey = (e, t) => {
    let r = e.max_chain_length, n = e.strstart, a, i, l = e.prev_length, c = e.nice_match;
    const u = e.strstart > e.w_size - Ea ? e.strstart - (e.w_size - Ea) : 0, x = e.window, f = e.w_mask, h = e.prev, p = e.strstart + Vo;
    let m = x[n + l - 1], y = x[n + l];
    e.prev_length >= e.good_match && (r >>= 2), c > e.lookahead && (c = e.lookahead);
    do
      if (a = t, !(x[a + l] !== y || x[a + l - 1] !== m || x[a] !== x[n] || x[++a] !== x[n + 1])) {
        n += 2, a++;
        do
          ;
        while (x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && x[++n] === x[++a] && n < p);
        if (i = Vo - (p - n), n = p - Vo, i > l) {
          if (e.match_start = t, l = i, i >= c) break;
          m = x[n + l - 1], y = x[n + l];
        }
      }
    while ((t = h[t & f]) > u && --r !== 0);
    return l <= e.lookahead ? l : e.lookahead;
  }, us = (e) => {
    const t = e.w_size;
    let r, n, a;
    do {
      if (n = e.window_size - e.lookahead - e.strstart, e.strstart >= t + (t - Ea) && (e.window.set(e.window.subarray(t, t + t - n), 0), e.match_start -= t, e.strstart -= t, e.block_start -= t, e.insert > e.strstart && (e.insert = e.strstart), Rk(e), n += t), e.strm.avail_in === 0) break;
      if (r = Q8(e.strm, e.window, e.strstart + e.lookahead, n), e.lookahead += r, e.lookahead + e.insert >= Ye) for (a = e.strstart - e.insert, e.ins_h = e.window[a], e.ins_h = Xo(e, e.ins_h, e.window[a + 1]); e.insert && (e.ins_h = Xo(e, e.ins_h, e.window[a + Ye - 1]), e.prev[a & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = a, a++, e.insert--, !(e.lookahead + e.insert < Ye)); ) ;
    } while (e.lookahead < Ea && e.strm.avail_in !== 0);
  }, ty = (e, t) => {
    let r = e.pending_buf_size - 5 > e.w_size ? e.w_size : e.pending_buf_size - 5, n, a, i, l = 0, c = e.strm.avail_in;
    do {
      if (n = 65535, i = e.bi_valid + 42 >> 3, e.strm.avail_out < i || (i = e.strm.avail_out - i, a = e.strstart - e.block_start, n > a + e.strm.avail_in && (n = a + e.strm.avail_in), n > i && (n = i), n < r && (n === 0 && t !== En || t === Yo || n !== a + e.strm.avail_in))) break;
      l = t === En && n === a + e.strm.avail_in ? 1 : 0, R8(e, 0, 0, l), e.pending_buf[e.pending - 4] = n, e.pending_buf[e.pending - 3] = n >> 8, e.pending_buf[e.pending - 2] = ~n, e.pending_buf[e.pending - 1] = ~n >> 8, en(e.strm), a && (a > n && (a = n), e.strm.output.set(e.window.subarray(e.block_start, e.block_start + a), e.strm.next_out), e.strm.next_out += a, e.strm.avail_out -= a, e.strm.total_out += a, e.block_start += a, n -= a), n && (Q8(e.strm, e.strm.output, e.strm.next_out, n), e.strm.next_out += n, e.strm.avail_out -= n, e.strm.total_out += n);
    } while (l === 0);
    return c -= e.strm.avail_in, c && (c >= e.w_size ? (e.matches = 2, e.window.set(e.strm.input.subarray(e.strm.next_in - e.w_size, e.strm.next_in), 0), e.strstart = e.w_size, e.insert = e.strstart) : (e.window_size - e.strstart <= c && (e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, e.insert > e.strstart && (e.insert = e.strstart)), e.window.set(e.strm.input.subarray(e.strm.next_in - c, e.strm.next_in), e.strstart), e.strstart += c, e.insert += c > e.w_size - e.insert ? e.w_size - e.insert : c), e.block_start = e.strstart), e.high_water < e.strstart && (e.high_water = e.strstart), l ? ms : t !== Yo && t !== En && e.strm.avail_in === 0 && e.strstart === e.block_start ? gs : (i = e.window_size - e.strstart, e.strm.avail_in > i && e.block_start >= e.w_size && (e.block_start -= e.w_size, e.strstart -= e.w_size, e.window.set(e.window.subarray(e.w_size, e.w_size + e.strstart), 0), e.matches < 2 && e.matches++, i += e.w_size, e.insert > e.strstart && (e.insert = e.strstart)), i > e.strm.avail_in && (i = e.strm.avail_in), i && (Q8(e.strm, e.window, e.strstart, i), e.strstart += i, e.insert += i > e.w_size - e.insert ? e.w_size - e.insert : i), e.high_water < e.strstart && (e.high_water = e.strstart), i = e.bi_valid + 42 >> 3, i = e.pending_buf_size - i > 65535 ? 65535 : e.pending_buf_size - i, r = i > e.w_size ? e.w_size : i, a = e.strstart - e.block_start, (a >= r || (a || t === En) && t !== Yo && e.strm.avail_in === 0 && a <= i) && (n = a > i ? i : a, l = t === En && e.strm.avail_in === 0 && n === a ? 1 : 0, R8(e, e.block_start, n, l), e.block_start += n, en(e.strm)), l ? Gi : _r);
  }, Rh = (e, t) => {
    let r, n;
    for (; ; ) {
      if (e.lookahead < Ea) {
        if (us(e), e.lookahead < Ea && t === Yo) return _r;
        if (e.lookahead === 0) break;
      }
      if (r = 0, e.lookahead >= Ye && (e.ins_h = Xo(e, e.ins_h, e.window[e.strstart + Ye - 1]), r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), r !== 0 && e.strstart - r <= e.w_size - Ea && (e.match_length = ey(e, r)), e.match_length >= Ye) if (n = Zo(e, e.strstart - e.match_start, e.match_length - Ye), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= Ye) {
        e.match_length--;
        do
          e.strstart++, e.ins_h = Xo(e, e.ins_h, e.window[e.strstart + Ye - 1]), r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart;
        while (--e.match_length !== 0);
        e.strstart++;
      } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = Xo(e, e.ins_h, e.window[e.strstart + 1]);
      else n = Zo(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++;
      if (n && (nn(e, false), e.strm.avail_out === 0)) return _r;
    }
    return e.insert = e.strstart < Ye - 1 ? e.strstart : Ye - 1, t === En ? (nn(e, true), e.strm.avail_out === 0 ? Gi : ms) : e.sym_next && (nn(e, false), e.strm.avail_out === 0) ? _r : gs;
  }, z0 = (e, t) => {
    let r, n, a;
    for (; ; ) {
      if (e.lookahead < Ea) {
        if (us(e), e.lookahead < Ea && t === Yo) return _r;
        if (e.lookahead === 0) break;
      }
      if (r = 0, e.lookahead >= Ye && (e.ins_h = Xo(e, e.ins_h, e.window[e.strstart + Ye - 1]), r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = Ye - 1, r !== 0 && e.prev_length < e.max_lazy_match && e.strstart - r <= e.w_size - Ea && (e.match_length = ey(e, r), e.match_length <= 5 && (e.strategy === wk || e.match_length === Ye && e.strstart - e.match_start > 4096) && (e.match_length = Ye - 1)), e.prev_length >= Ye && e.match_length <= e.prev_length) {
        a = e.strstart + e.lookahead - Ye, n = Zo(e, e.strstart - 1 - e.prev_match, e.prev_length - Ye), e.lookahead -= e.prev_length - 1, e.prev_length -= 2;
        do
          ++e.strstart <= a && (e.ins_h = Xo(e, e.ins_h, e.window[e.strstart + Ye - 1]), r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart);
        while (--e.prev_length !== 0);
        if (e.match_available = 0, e.match_length = Ye - 1, e.strstart++, n && (nn(e, false), e.strm.avail_out === 0)) return _r;
      } else if (e.match_available) {
        if (n = Zo(e, 0, e.window[e.strstart - 1]), n && nn(e, false), e.strstart++, e.lookahead--, e.strm.avail_out === 0) return _r;
      } else e.match_available = 1, e.strstart++, e.lookahead--;
    }
    return e.match_available && (n = Zo(e, 0, e.window[e.strstart - 1]), e.match_available = 0), e.insert = e.strstart < Ye - 1 ? e.strstart : Ye - 1, t === En ? (nn(e, true), e.strm.avail_out === 0 ? Gi : ms) : e.sym_next && (nn(e, false), e.strm.avail_out === 0) ? _r : gs;
  }, Mk = (e, t) => {
    let r, n, a, i;
    const l = e.window;
    for (; ; ) {
      if (e.lookahead <= Vo) {
        if (us(e), e.lookahead <= Vo && t === Yo) return _r;
        if (e.lookahead === 0) break;
      }
      if (e.match_length = 0, e.lookahead >= Ye && e.strstart > 0 && (a = e.strstart - 1, n = l[a], n === l[++a] && n === l[++a] && n === l[++a])) {
        i = e.strstart + Vo;
        do
          ;
        while (n === l[++a] && n === l[++a] && n === l[++a] && n === l[++a] && n === l[++a] && n === l[++a] && n === l[++a] && n === l[++a] && a < i);
        e.match_length = Vo - (i - a), e.match_length > e.lookahead && (e.match_length = e.lookahead);
      }
      if (e.match_length >= Ye ? (r = Zo(e, 1, e.match_length - Ye), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (r = Zo(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), r && (nn(e, false), e.strm.avail_out === 0)) return _r;
    }
    return e.insert = 0, t === En ? (nn(e, true), e.strm.avail_out === 0 ? Gi : ms) : e.sym_next && (nn(e, false), e.strm.avail_out === 0) ? _r : gs;
  }, Lk = (e, t) => {
    let r;
    for (; ; ) {
      if (e.lookahead === 0 && (us(e), e.lookahead === 0)) {
        if (t === Yo) return _r;
        break;
      }
      if (e.match_length = 0, r = Zo(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, r && (nn(e, false), e.strm.avail_out === 0)) return _r;
    }
    return e.insert = 0, t === En ? (nn(e, true), e.strm.avail_out === 0 ? Gi : ms) : e.sym_next && (nn(e, false), e.strm.avail_out === 0) ? _r : gs;
  };
  function ta(e, t, r, n, a) {
    this.good_length = e, this.max_lazy = t, this.nice_length = r, this.max_chain = n, this.func = a;
  }
  const Ml = [
    new ta(0, 0, 0, 0, ty),
    new ta(4, 4, 8, 4, Rh),
    new ta(4, 5, 16, 8, Rh),
    new ta(4, 6, 32, 32, Rh),
    new ta(4, 4, 16, 16, z0),
    new ta(8, 16, 32, 32, z0),
    new ta(8, 16, 128, 128, z0),
    new ta(8, 32, 128, 256, z0),
    new ta(32, 128, 258, 1024, z0),
    new ta(32, 258, 258, 4096, z0)
  ], Ok = (e) => {
    e.window_size = 2 * e.w_size, Ho(e.head), e.max_lazy_match = Ml[e.level].max_lazy, e.good_match = Ml[e.level].good_length, e.nice_match = Ml[e.level].nice_length, e.max_chain_length = Ml[e.level].max_chain, e.strstart = 0, e.block_start = 0, e.lookahead = 0, e.insert = 0, e.match_length = e.prev_length = Ye - 1, e.match_available = 0, e.ins_h = 0;
  };
  function Hk() {
    this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = Pd, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Uint16Array(jk * 2), this.dyn_dtree = new Uint16Array((2 * Pk + 1) * 2), this.bl_tree = new Uint16Array((2 * Nk + 1) * 2), Ho(this.dyn_ltree), Ho(this.dyn_dtree), Ho(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Uint16Array(zk + 1), this.heap = new Uint16Array(2 * K8 + 1), Ho(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Uint16Array(2 * K8 + 1), Ho(this.depth), this.sym_buf = 0, this.lit_bufsize = 0, this.sym_next = 0, this.sym_end = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;
  }
  const Dc = (e) => {
    if (!e) return 1;
    const t = e.state;
    return !t || t.strm !== e || t.status !== cs && t.status !== P9 && t.status !== M8 && t.status !== L8 && t.status !== O8 && t.status !== H8 && t.status !== ji && t.status !== Kl ? 1 : 0;
  }, ry = (e) => {
    if (Dc(e)) return zi(e, ya);
    e.total_in = e.total_out = 0, e.data_type = kk;
    const t = e.state;
    return t.pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap === 2 ? P9 : t.wrap ? cs : ji, e.adler = t.wrap === 2 ? 0 : 1, t.last_flush = -2, pk(t), sr;
  }, ny = (e) => {
    const t = ry(e);
    return t === sr && Ok(e.state), t;
  }, Qk = (e, t) => Dc(e) || e.state.wrap !== 2 ? ya : (e.state.gzhead = t, sr), ay = (e, t, r, n, a, i) => {
    if (!e) return ya;
    let l = 1;
    if (t === bk && (t = 6), n < 0 ? (l = 0, n = -n) : n > 15 && (l = 2, n -= 16), a < 1 || a > Dk || r !== Pd || n < 8 || n > 15 || t < 0 || t > 9 || i < 0 || i > Bk || n === 8 && l !== 1) return zi(e, ya);
    n === 8 && (n = 9);
    const c = new Hk();
    return e.state = c, c.strm = e, c.status = cs, c.wrap = l, c.gzhead = null, c.w_bits = n, c.w_size = 1 << c.w_bits, c.w_mask = c.w_size - 1, c.hash_bits = a + 7, c.hash_size = 1 << c.hash_bits, c.hash_mask = c.hash_size - 1, c.hash_shift = ~~((c.hash_bits + Ye - 1) / Ye), c.window = new Uint8Array(c.w_size * 2), c.head = new Uint16Array(c.hash_size), c.prev = new Uint16Array(c.w_size), c.lit_bufsize = 1 << a + 6, c.pending_buf_size = c.lit_bufsize * 4, c.pending_buf = new Uint8Array(c.pending_buf_size), c.sym_buf = c.lit_bufsize, c.sym_end = (c.lit_bufsize - 1) * 3, c.level = t, c.strategy = i, c.method = r, ny(e);
  }, qk = (e, t) => ay(e, t, Pd, Fk, Sk, Ck), Gk = (e, t) => {
    if (Dc(e) || t > G6 || t < 0) return e ? zi(e, ya) : ya;
    const r = e.state;
    if (!e.output || e.avail_in !== 0 && !e.input || r.status === Kl && t !== En) return zi(e, e.avail_out === 0 ? Th : ya);
    const n = r.last_flush;
    if (r.last_flush = t, r.pending !== 0) {
      if (en(e), e.avail_out === 0) return r.last_flush = -1, sr;
    } else if (e.avail_in === 0 && W6(t) <= W6(n) && t !== En) return zi(e, Th);
    if (r.status === Kl && e.avail_in !== 0) return zi(e, Th);
    if (r.status === cs && r.wrap === 0 && (r.status = ji), r.status === cs) {
      let a = Pd + (r.w_bits - 8 << 4) << 8, i = -1;
      if (r.strategy >= ax || r.level < 2 ? i = 0 : r.level < 6 ? i = 1 : r.level === 6 ? i = 2 : i = 3, a |= i << 6, r.strstart !== 0 && (a |= Uk), a += 31 - a % 31, bl(r, a), r.strstart !== 0 && (bl(r, e.adler >>> 16), bl(r, e.adler & 65535)), e.adler = 1, r.status = ji, en(e), r.pending !== 0) return r.last_flush = -1, sr;
    }
    if (r.status === P9) {
      if (e.adler = 0, ot(r, 31), ot(r, 139), ot(r, 8), r.gzhead) ot(r, (r.gzhead.text ? 1 : 0) + (r.gzhead.hcrc ? 2 : 0) + (r.gzhead.extra ? 4 : 0) + (r.gzhead.name ? 8 : 0) + (r.gzhead.comment ? 16 : 0)), ot(r, r.gzhead.time & 255), ot(r, r.gzhead.time >> 8 & 255), ot(r, r.gzhead.time >> 16 & 255), ot(r, r.gzhead.time >> 24 & 255), ot(r, r.level === 9 ? 2 : r.strategy >= ax || r.level < 2 ? 4 : 0), ot(r, r.gzhead.os & 255), r.gzhead.extra && r.gzhead.extra.length && (ot(r, r.gzhead.extra.length & 255), ot(r, r.gzhead.extra.length >> 8 & 255)), r.gzhead.hcrc && (e.adler = rr(e.adler, r.pending_buf, r.pending, 0)), r.gzindex = 0, r.status = M8;
      else if (ot(r, 0), ot(r, 0), ot(r, 0), ot(r, 0), ot(r, 0), ot(r, r.level === 9 ? 2 : r.strategy >= ax || r.level < 2 ? 4 : 0), ot(r, Tk), r.status = ji, en(e), r.pending !== 0) return r.last_flush = -1, sr;
    }
    if (r.status === M8) {
      if (r.gzhead.extra) {
        let a = r.pending, i = (r.gzhead.extra.length & 65535) - r.gzindex;
        for (; r.pending + i > r.pending_buf_size; ) {
          let c = r.pending_buf_size - r.pending;
          if (r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex, r.gzindex + c), r.pending), r.pending = r.pending_buf_size, r.gzhead.hcrc && r.pending > a && (e.adler = rr(e.adler, r.pending_buf, r.pending - a, a)), r.gzindex += c, en(e), r.pending !== 0) return r.last_flush = -1, sr;
          a = 0, i -= c;
        }
        let l = new Uint8Array(r.gzhead.extra);
        r.pending_buf.set(l.subarray(r.gzindex, r.gzindex + i), r.pending), r.pending += i, r.gzhead.hcrc && r.pending > a && (e.adler = rr(e.adler, r.pending_buf, r.pending - a, a)), r.gzindex = 0;
      }
      r.status = L8;
    }
    if (r.status === L8) {
      if (r.gzhead.name) {
        let a = r.pending, i;
        do {
          if (r.pending === r.pending_buf_size) {
            if (r.gzhead.hcrc && r.pending > a && (e.adler = rr(e.adler, r.pending_buf, r.pending - a, a)), en(e), r.pending !== 0) return r.last_flush = -1, sr;
            a = 0;
          }
          r.gzindex < r.gzhead.name.length ? i = r.gzhead.name.charCodeAt(r.gzindex++) & 255 : i = 0, ot(r, i);
        } while (i !== 0);
        r.gzhead.hcrc && r.pending > a && (e.adler = rr(e.adler, r.pending_buf, r.pending - a, a)), r.gzindex = 0;
      }
      r.status = O8;
    }
    if (r.status === O8) {
      if (r.gzhead.comment) {
        let a = r.pending, i;
        do {
          if (r.pending === r.pending_buf_size) {
            if (r.gzhead.hcrc && r.pending > a && (e.adler = rr(e.adler, r.pending_buf, r.pending - a, a)), en(e), r.pending !== 0) return r.last_flush = -1, sr;
            a = 0;
          }
          r.gzindex < r.gzhead.comment.length ? i = r.gzhead.comment.charCodeAt(r.gzindex++) & 255 : i = 0, ot(r, i);
        } while (i !== 0);
        r.gzhead.hcrc && r.pending > a && (e.adler = rr(e.adler, r.pending_buf, r.pending - a, a));
      }
      r.status = H8;
    }
    if (r.status === H8) {
      if (r.gzhead.hcrc) {
        if (r.pending + 2 > r.pending_buf_size && (en(e), r.pending !== 0)) return r.last_flush = -1, sr;
        ot(r, e.adler & 255), ot(r, e.adler >> 8 & 255), e.adler = 0;
      }
      if (r.status = ji, en(e), r.pending !== 0) return r.last_flush = -1, sr;
    }
    if (e.avail_in !== 0 || r.lookahead !== 0 || t !== Yo && r.status !== Kl) {
      let a = r.level === 0 ? ty(r, t) : r.strategy === ax ? Lk(r, t) : r.strategy === vk ? Mk(r, t) : Ml[r.level].func(r, t);
      if ((a === Gi || a === ms) && (r.status = Kl), a === _r || a === Gi) return e.avail_out === 0 && (r.last_flush = -1), sr;
      if (a === gs && (t === yk ? mk(r) : t !== G6 && (R8(r, 0, 0, false), t === Ek && (Ho(r.head), r.lookahead === 0 && (r.strstart = 0, r.block_start = 0, r.insert = 0))), en(e), e.avail_out === 0)) return r.last_flush = -1, sr;
    }
    return t !== En ? sr : r.wrap <= 0 ? V6 : (r.wrap === 2 ? (ot(r, e.adler & 255), ot(r, e.adler >> 8 & 255), ot(r, e.adler >> 16 & 255), ot(r, e.adler >> 24 & 255), ot(r, e.total_in & 255), ot(r, e.total_in >> 8 & 255), ot(r, e.total_in >> 16 & 255), ot(r, e.total_in >> 24 & 255)) : (bl(r, e.adler >>> 16), bl(r, e.adler & 65535)), en(e), r.wrap > 0 && (r.wrap = -r.wrap), r.pending !== 0 ? sr : V6);
  }, Vk = (e) => {
    if (Dc(e)) return ya;
    const t = e.state.status;
    return e.state = null, t === ji ? zi(e, Ak) : sr;
  }, Wk = (e, t) => {
    let r = t.length;
    if (Dc(e)) return ya;
    const n = e.state, a = n.wrap;
    if (a === 2 || a === 1 && n.status !== cs || n.lookahead) return ya;
    if (a === 1 && (e.adler = sc(e.adler, t, r, 0)), n.wrap = 0, r >= n.w_size) {
      a === 0 && (Ho(n.head), n.strstart = 0, n.block_start = 0, n.insert = 0);
      let u = new Uint8Array(n.w_size);
      u.set(t.subarray(r - n.w_size, r), 0), t = u, r = n.w_size;
    }
    const i = e.avail_in, l = e.next_in, c = e.input;
    for (e.avail_in = r, e.next_in = 0, e.input = t, us(n); n.lookahead >= Ye; ) {
      let u = n.strstart, x = n.lookahead - (Ye - 1);
      do
        n.ins_h = Xo(n, n.ins_h, n.window[u + Ye - 1]), n.prev[u & n.w_mask] = n.head[n.ins_h], n.head[n.ins_h] = u, u++;
      while (--x);
      n.strstart = u, n.lookahead = Ye - 1, us(n);
    }
    return n.strstart += n.lookahead, n.block_start = n.strstart, n.insert = n.lookahead, n.lookahead = 0, n.match_length = n.prev_length = Ye - 1, n.match_available = 0, e.next_in = l, e.input = c, e.avail_in = i, n.wrap = a, sr;
  };
  var $k = qk, Zk = ay, Yk = ny, Xk = ry, Jk = Qk, eD = Gk, tD = Vk, rD = Wk, nD = "pako deflate (from Nodeca project)", Ql = {
    deflateInit: $k,
    deflateInit2: Zk,
    deflateReset: Yk,
    deflateResetKeep: Xk,
    deflateSetHeader: Jk,
    deflate: eD,
    deflateEnd: tD,
    deflateSetDictionary: rD,
    deflateInfo: nD
  };
  const aD = (e, t) => Object.prototype.hasOwnProperty.call(e, t);
  var oD = function(e) {
    const t = Array.prototype.slice.call(arguments, 1);
    for (; t.length; ) {
      const r = t.shift();
      if (r) {
        if (typeof r != "object") throw new TypeError(r + "must be non-object");
        for (const n in r) aD(r, n) && (e[n] = r[n]);
      }
    }
    return e;
  }, iD = (e) => {
    let t = 0;
    for (let n = 0, a = e.length; n < a; n++) t += e[n].length;
    const r = new Uint8Array(t);
    for (let n = 0, a = 0, i = e.length; n < i; n++) {
      let l = e[n];
      r.set(l, a), a += l.length;
    }
    return r;
  }, Nd = {
    assign: oD,
    flattenChunks: iD
  };
  let oy = true;
  try {
    String.fromCharCode.apply(null, new Uint8Array(1));
  } catch {
    oy = false;
  }
  const lc = new Uint8Array(256);
  for (let e = 0; e < 256; e++) lc[e] = e >= 252 ? 6 : e >= 248 ? 5 : e >= 240 ? 4 : e >= 224 ? 3 : e >= 192 ? 2 : 1;
  lc[254] = lc[254] = 1;
  var sD = (e) => {
    if (typeof TextEncoder == "function" && TextEncoder.prototype.encode) return new TextEncoder().encode(e);
    let t, r, n, a, i, l = e.length, c = 0;
    for (a = 0; a < l; a++) r = e.charCodeAt(a), (r & 64512) === 55296 && a + 1 < l && (n = e.charCodeAt(a + 1), (n & 64512) === 56320 && (r = 65536 + (r - 55296 << 10) + (n - 56320), a++)), c += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4;
    for (t = new Uint8Array(c), i = 0, a = 0; i < c; a++) r = e.charCodeAt(a), (r & 64512) === 55296 && a + 1 < l && (n = e.charCodeAt(a + 1), (n & 64512) === 56320 && (r = 65536 + (r - 55296 << 10) + (n - 56320), a++)), r < 128 ? t[i++] = r : r < 2048 ? (t[i++] = 192 | r >>> 6, t[i++] = 128 | r & 63) : r < 65536 ? (t[i++] = 224 | r >>> 12, t[i++] = 128 | r >>> 6 & 63, t[i++] = 128 | r & 63) : (t[i++] = 240 | r >>> 18, t[i++] = 128 | r >>> 12 & 63, t[i++] = 128 | r >>> 6 & 63, t[i++] = 128 | r & 63);
    return t;
  };
  const lD = (e, t) => {
    if (t < 65534 && e.subarray && oy) return String.fromCharCode.apply(null, e.length === t ? e : e.subarray(0, t));
    let r = "";
    for (let n = 0; n < t; n++) r += String.fromCharCode(e[n]);
    return r;
  };
  var cD = (e, t) => {
    const r = t || e.length;
    if (typeof TextDecoder == "function" && TextDecoder.prototype.decode) return new TextDecoder().decode(e.subarray(0, t));
    let n, a;
    const i = new Array(r * 2);
    for (a = 0, n = 0; n < r; ) {
      let l = e[n++];
      if (l < 128) {
        i[a++] = l;
        continue;
      }
      let c = lc[l];
      if (c > 4) {
        i[a++] = 65533, n += c - 1;
        continue;
      }
      for (l &= c === 2 ? 31 : c === 3 ? 15 : 7; c > 1 && n < r; ) l = l << 6 | e[n++] & 63, c--;
      if (c > 1) {
        i[a++] = 65533;
        continue;
      }
      l < 65536 ? i[a++] = l : (l -= 65536, i[a++] = 55296 | l >> 10 & 1023, i[a++] = 56320 | l & 1023);
    }
    return lD(i, a);
  }, uD = (e, t) => {
    t = t || e.length, t > e.length && (t = e.length);
    let r = t - 1;
    for (; r >= 0 && (e[r] & 192) === 128; ) r--;
    return r < 0 || r === 0 ? t : r + lc[e[r]] > t ? r : t;
  }, cc = {
    string2buf: sD,
    buf2string: cD,
    utf8border: uD
  };
  function xD() {
    this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0;
  }
  var iy = xD;
  const sy = Object.prototype.toString, { Z_NO_FLUSH: dD, Z_SYNC_FLUSH: fD, Z_FULL_FLUSH: hD, Z_FINISH: pD, Z_OK: rd, Z_STREAM_END: gD, Z_DEFAULT_COMPRESSION: mD, Z_DEFAULT_STRATEGY: yD, Z_DEFLATED: ED } = Id;
  function jd(e) {
    this.options = Nd.assign({
      level: mD,
      method: ED,
      chunkSize: 16384,
      windowBits: 15,
      memLevel: 8,
      strategy: yD
    }, e || {});
    let t = this.options;
    t.raw && t.windowBits > 0 ? t.windowBits = -t.windowBits : t.gzip && t.windowBits > 0 && t.windowBits < 16 && (t.windowBits += 16), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new iy(), this.strm.avail_out = 0;
    let r = Ql.deflateInit2(this.strm, t.level, t.method, t.windowBits, t.memLevel, t.strategy);
    if (r !== rd) throw new Error(qi[r]);
    if (t.header && Ql.deflateSetHeader(this.strm, t.header), t.dictionary) {
      let n;
      if (typeof t.dictionary == "string" ? n = cc.string2buf(t.dictionary) : sy.call(t.dictionary) === "[object ArrayBuffer]" ? n = new Uint8Array(t.dictionary) : n = t.dictionary, r = Ql.deflateSetDictionary(this.strm, n), r !== rd) throw new Error(qi[r]);
      this._dict_set = true;
    }
  }
  jd.prototype.push = function(e, t) {
    const r = this.strm, n = this.options.chunkSize;
    let a, i;
    if (this.ended) return false;
    for (t === ~~t ? i = t : i = t === true ? pD : dD, typeof e == "string" ? r.input = cc.string2buf(e) : sy.call(e) === "[object ArrayBuffer]" ? r.input = new Uint8Array(e) : r.input = e, r.next_in = 0, r.avail_in = r.input.length; ; ) {
      if (r.avail_out === 0 && (r.output = new Uint8Array(n), r.next_out = 0, r.avail_out = n), (i === fD || i === hD) && r.avail_out <= 6) {
        this.onData(r.output.subarray(0, r.next_out)), r.avail_out = 0;
        continue;
      }
      if (a = Ql.deflate(r, i), a === gD) return r.next_out > 0 && this.onData(r.output.subarray(0, r.next_out)), a = Ql.deflateEnd(this.strm), this.onEnd(a), this.ended = true, a === rd;
      if (r.avail_out === 0) {
        this.onData(r.output);
        continue;
      }
      if (i > 0 && r.next_out > 0) {
        this.onData(r.output.subarray(0, r.next_out)), r.avail_out = 0;
        continue;
      }
      if (r.avail_in === 0) break;
    }
    return true;
  };
  jd.prototype.onData = function(e) {
    this.chunks.push(e);
  };
  jd.prototype.onEnd = function(e) {
    e === rd && (this.result = Nd.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg;
  };
  function AD(e, t) {
    const r = new jd(t);
    if (r.push(e, true), r.err) throw r.msg || qi[r.err];
    return r.result;
  }
  var bD = AD, wD = {
    deflate: bD
  };
  const ox = 16209, vD = 16191;
  var BD = function(t, r) {
    let n, a, i, l, c, u, x, f, h, p, m, y, B, v, D, P, k, w, _, T, N, U, C, z;
    const I = t.state;
    n = t.next_in, C = t.input, a = n + (t.avail_in - 5), i = t.next_out, z = t.output, l = i - (r - t.avail_out), c = i + (t.avail_out - 257), u = I.dmax, x = I.wsize, f = I.whave, h = I.wnext, p = I.window, m = I.hold, y = I.bits, B = I.lencode, v = I.distcode, D = (1 << I.lenbits) - 1, P = (1 << I.distbits) - 1;
    e: do {
      y < 15 && (m += C[n++] << y, y += 8, m += C[n++] << y, y += 8), k = B[m & D];
      t: for (; ; ) {
        if (w = k >>> 24, m >>>= w, y -= w, w = k >>> 16 & 255, w === 0) z[i++] = k & 65535;
        else if (w & 16) {
          _ = k & 65535, w &= 15, w && (y < w && (m += C[n++] << y, y += 8), _ += m & (1 << w) - 1, m >>>= w, y -= w), y < 15 && (m += C[n++] << y, y += 8, m += C[n++] << y, y += 8), k = v[m & P];
          r: for (; ; ) {
            if (w = k >>> 24, m >>>= w, y -= w, w = k >>> 16 & 255, w & 16) {
              if (T = k & 65535, w &= 15, y < w && (m += C[n++] << y, y += 8, y < w && (m += C[n++] << y, y += 8)), T += m & (1 << w) - 1, T > u) {
                t.msg = "invalid distance too far back", I.mode = ox;
                break e;
              }
              if (m >>>= w, y -= w, w = i - l, T > w) {
                if (w = T - w, w > f && I.sane) {
                  t.msg = "invalid distance too far back", I.mode = ox;
                  break e;
                }
                if (N = 0, U = p, h === 0) {
                  if (N += x - w, w < _) {
                    _ -= w;
                    do
                      z[i++] = p[N++];
                    while (--w);
                    N = i - T, U = z;
                  }
                } else if (h < w) {
                  if (N += x + h - w, w -= h, w < _) {
                    _ -= w;
                    do
                      z[i++] = p[N++];
                    while (--w);
                    if (N = 0, h < _) {
                      w = h, _ -= w;
                      do
                        z[i++] = p[N++];
                      while (--w);
                      N = i - T, U = z;
                    }
                  }
                } else if (N += h - w, w < _) {
                  _ -= w;
                  do
                    z[i++] = p[N++];
                  while (--w);
                  N = i - T, U = z;
                }
                for (; _ > 2; ) z[i++] = U[N++], z[i++] = U[N++], z[i++] = U[N++], _ -= 3;
                _ && (z[i++] = U[N++], _ > 1 && (z[i++] = U[N++]));
              } else {
                N = i - T;
                do
                  z[i++] = z[N++], z[i++] = z[N++], z[i++] = z[N++], _ -= 3;
                while (_ > 2);
                _ && (z[i++] = z[N++], _ > 1 && (z[i++] = z[N++]));
              }
            } else if ((w & 64) === 0) {
              k = v[(k & 65535) + (m & (1 << w) - 1)];
              continue r;
            } else {
              t.msg = "invalid distance code", I.mode = ox;
              break e;
            }
            break;
          }
        } else if ((w & 64) === 0) {
          k = B[(k & 65535) + (m & (1 << w) - 1)];
          continue t;
        } else if (w & 32) {
          I.mode = vD;
          break e;
        } else {
          t.msg = "invalid literal/length code", I.mode = ox;
          break e;
        }
        break;
      }
    } while (n < a && i < c);
    _ = y >> 3, n -= _, y -= _ << 3, m &= (1 << y) - 1, t.next_in = n, t.next_out = i, t.avail_in = n < a ? 5 + (a - n) : 5 - (n - a), t.avail_out = i < c ? 257 + (c - i) : 257 - (i - c), I.hold = m, I.bits = y;
  };
  const U0 = 15, $6 = 852, Z6 = 592, Y6 = 0, Kh = 1, X6 = 2, CD = new Uint16Array([
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    13,
    15,
    17,
    19,
    23,
    27,
    31,
    35,
    43,
    51,
    59,
    67,
    83,
    99,
    115,
    131,
    163,
    195,
    227,
    258,
    0,
    0
  ]), kD = new Uint8Array([
    16,
    16,
    16,
    16,
    16,
    16,
    16,
    16,
    17,
    17,
    17,
    17,
    18,
    18,
    18,
    18,
    19,
    19,
    19,
    19,
    20,
    20,
    20,
    20,
    21,
    21,
    21,
    21,
    16,
    72,
    78
  ]), DD = new Uint16Array([
    1,
    2,
    3,
    4,
    5,
    7,
    9,
    13,
    17,
    25,
    33,
    49,
    65,
    97,
    129,
    193,
    257,
    385,
    513,
    769,
    1025,
    1537,
    2049,
    3073,
    4097,
    6145,
    8193,
    12289,
    16385,
    24577,
    0,
    0
  ]), FD = new Uint8Array([
    16,
    16,
    16,
    16,
    17,
    17,
    18,
    18,
    19,
    19,
    20,
    20,
    21,
    21,
    22,
    22,
    23,
    23,
    24,
    24,
    25,
    25,
    26,
    26,
    27,
    27,
    28,
    28,
    29,
    29,
    64,
    64
  ]), SD = (e, t, r, n, a, i, l, c) => {
    const u = c.bits;
    let x = 0, f = 0, h = 0, p = 0, m = 0, y = 0, B = 0, v = 0, D = 0, P = 0, k, w, _, T, N, U = null, C;
    const z = new Uint16Array(U0 + 1), I = new Uint16Array(U0 + 1);
    let R = null, L, O, W;
    for (x = 0; x <= U0; x++) z[x] = 0;
    for (f = 0; f < n; f++) z[t[r + f]]++;
    for (m = u, p = U0; p >= 1 && z[p] === 0; p--) ;
    if (m > p && (m = p), p === 0) return a[i++] = 1 << 24 | 64 << 16 | 0, a[i++] = 1 << 24 | 64 << 16 | 0, c.bits = 1, 0;
    for (h = 1; h < p && z[h] === 0; h++) ;
    for (m < h && (m = h), v = 1, x = 1; x <= U0; x++) if (v <<= 1, v -= z[x], v < 0) return -1;
    if (v > 0 && (e === Y6 || p !== 1)) return -1;
    for (I[1] = 0, x = 1; x < U0; x++) I[x + 1] = I[x] + z[x];
    for (f = 0; f < n; f++) t[r + f] !== 0 && (l[I[t[r + f]]++] = f);
    if (e === Y6 ? (U = R = l, C = 20) : e === Kh ? (U = CD, R = kD, C = 257) : (U = DD, R = FD, C = 0), P = 0, f = 0, x = h, N = i, y = m, B = 0, _ = -1, D = 1 << m, T = D - 1, e === Kh && D > $6 || e === X6 && D > Z6) return 1;
    for (; ; ) {
      L = x - B, l[f] + 1 < C ? (O = 0, W = l[f]) : l[f] >= C ? (O = R[l[f] - C], W = U[l[f] - C]) : (O = 96, W = 0), k = 1 << x - B, w = 1 << y, h = w;
      do
        w -= k, a[N + (P >> B) + w] = L << 24 | O << 16 | W | 0;
      while (w !== 0);
      for (k = 1 << x - 1; P & k; ) k >>= 1;
      if (k !== 0 ? (P &= k - 1, P += k) : P = 0, f++, --z[x] === 0) {
        if (x === p) break;
        x = t[r + l[f]];
      }
      if (x > m && (P & T) !== _) {
        for (B === 0 && (B = m), N += h, y = x - B, v = 1 << y; y + B < p && (v -= z[y + B], !(v <= 0)); ) y++, v <<= 1;
        if (D += 1 << y, e === Kh && D > $6 || e === X6 && D > Z6) return 1;
        _ = P & T, a[_] = m << 24 | y << 16 | N - i | 0;
      }
    }
    return P !== 0 && (a[N + P] = x - B << 24 | 64 << 16 | 0), c.bits = m, 0;
  };
  var ql = SD;
  const _D = 0, ly = 1, cy = 2, { Z_FINISH: J6, Z_BLOCK: ID, Z_TREES: ix, Z_OK: Vi, Z_STREAM_END: PD, Z_NEED_DICT: ND, Z_STREAM_ERROR: kn, Z_DATA_ERROR: uy, Z_MEM_ERROR: xy, Z_BUF_ERROR: jD, Z_DEFLATED: e4 } = Id, zd = 16180, t4 = 16181, r4 = 16182, n4 = 16183, a4 = 16184, o4 = 16185, i4 = 16186, s4 = 16187, l4 = 16188, c4 = 16189, nd = 16190, Ra = 16191, Mh = 16192, u4 = 16193, Lh = 16194, x4 = 16195, d4 = 16196, f4 = 16197, h4 = 16198, sx = 16199, lx = 16200, p4 = 16201, g4 = 16202, m4 = 16203, y4 = 16204, E4 = 16205, Oh = 16206, A4 = 16207, b4 = 16208, Dt = 16209, dy = 16210, fy = 16211, zD = 852, UD = 592, TD = 15, RD = TD, w4 = (e) => (e >>> 24 & 255) + (e >>> 8 & 65280) + ((e & 65280) << 8) + ((e & 255) << 24);
  function KD() {
    this.strm = null, this.mode = 0, this.last = false, this.wrap = 0, this.havedict = false, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;
  }
  const n0 = (e) => {
    if (!e) return 1;
    const t = e.state;
    return !t || t.strm !== e || t.mode < zd || t.mode > fy ? 1 : 0;
  }, hy = (e) => {
    if (n0(e)) return kn;
    const t = e.state;
    return e.total_in = e.total_out = t.total = 0, e.msg = "", t.wrap && (e.adler = t.wrap & 1), t.mode = zd, t.last = 0, t.havedict = 0, t.flags = -1, t.dmax = 32768, t.head = null, t.hold = 0, t.bits = 0, t.lencode = t.lendyn = new Int32Array(zD), t.distcode = t.distdyn = new Int32Array(UD), t.sane = 1, t.back = -1, Vi;
  }, py = (e) => {
    if (n0(e)) return kn;
    const t = e.state;
    return t.wsize = 0, t.whave = 0, t.wnext = 0, hy(e);
  }, gy = (e, t) => {
    let r;
    if (n0(e)) return kn;
    const n = e.state;
    return t < 0 ? (r = 0, t = -t) : (r = (t >> 4) + 5, t < 48 && (t &= 15)), t && (t < 8 || t > 15) ? kn : (n.window !== null && n.wbits !== t && (n.window = null), n.wrap = r, n.wbits = t, py(e));
  }, my = (e, t) => {
    if (!e) return kn;
    const r = new KD();
    e.state = r, r.strm = e, r.window = null, r.mode = zd;
    const n = gy(e, t);
    return n !== Vi && (e.state = null), n;
  }, MD = (e) => my(e, RD);
  let v4 = true, Hh, Qh;
  const LD = (e) => {
    if (v4) {
      Hh = new Int32Array(512), Qh = new Int32Array(32);
      let t = 0;
      for (; t < 144; ) e.lens[t++] = 8;
      for (; t < 256; ) e.lens[t++] = 9;
      for (; t < 280; ) e.lens[t++] = 7;
      for (; t < 288; ) e.lens[t++] = 8;
      for (ql(ly, e.lens, 0, 288, Hh, 0, e.work, {
        bits: 9
      }), t = 0; t < 32; ) e.lens[t++] = 5;
      ql(cy, e.lens, 0, 32, Qh, 0, e.work, {
        bits: 5
      }), v4 = false;
    }
    e.lencode = Hh, e.lenbits = 9, e.distcode = Qh, e.distbits = 5;
  }, yy = (e, t, r, n) => {
    let a;
    const i = e.state;
    return i.window === null && (i.wsize = 1 << i.wbits, i.wnext = 0, i.whave = 0, i.window = new Uint8Array(i.wsize)), n >= i.wsize ? (i.window.set(t.subarray(r - i.wsize, r), 0), i.wnext = 0, i.whave = i.wsize) : (a = i.wsize - i.wnext, a > n && (a = n), i.window.set(t.subarray(r - n, r - n + a), i.wnext), n -= a, n ? (i.window.set(t.subarray(r - n, r), 0), i.wnext = n, i.whave = i.wsize) : (i.wnext += a, i.wnext === i.wsize && (i.wnext = 0), i.whave < i.wsize && (i.whave += a))), 0;
  }, OD = (e, t) => {
    let r, n, a, i, l, c, u, x, f, h, p, m, y, B, v = 0, D, P, k, w, _, T, N, U;
    const C = new Uint8Array(4);
    let z, I;
    const R = new Uint8Array([
      16,
      17,
      18,
      0,
      8,
      7,
      9,
      6,
      10,
      5,
      11,
      4,
      12,
      3,
      13,
      2,
      14,
      1,
      15
    ]);
    if (n0(e) || !e.output || !e.input && e.avail_in !== 0) return kn;
    r = e.state, r.mode === Ra && (r.mode = Mh), l = e.next_out, a = e.output, u = e.avail_out, i = e.next_in, n = e.input, c = e.avail_in, x = r.hold, f = r.bits, h = c, p = u, U = Vi;
    e: for (; ; ) switch (r.mode) {
      case zd:
        if (r.wrap === 0) {
          r.mode = Mh;
          break;
        }
        for (; f < 16; ) {
          if (c === 0) break e;
          c--, x += n[i++] << f, f += 8;
        }
        if (r.wrap & 2 && x === 35615) {
          r.wbits === 0 && (r.wbits = 15), r.check = 0, C[0] = x & 255, C[1] = x >>> 8 & 255, r.check = rr(r.check, C, 2, 0), x = 0, f = 0, r.mode = t4;
          break;
        }
        if (r.head && (r.head.done = false), !(r.wrap & 1) || (((x & 255) << 8) + (x >> 8)) % 31) {
          e.msg = "incorrect header check", r.mode = Dt;
          break;
        }
        if ((x & 15) !== e4) {
          e.msg = "unknown compression method", r.mode = Dt;
          break;
        }
        if (x >>>= 4, f -= 4, N = (x & 15) + 8, r.wbits === 0 && (r.wbits = N), N > 15 || N > r.wbits) {
          e.msg = "invalid window size", r.mode = Dt;
          break;
        }
        r.dmax = 1 << r.wbits, r.flags = 0, e.adler = r.check = 1, r.mode = x & 512 ? c4 : Ra, x = 0, f = 0;
        break;
      case t4:
        for (; f < 16; ) {
          if (c === 0) break e;
          c--, x += n[i++] << f, f += 8;
        }
        if (r.flags = x, (r.flags & 255) !== e4) {
          e.msg = "unknown compression method", r.mode = Dt;
          break;
        }
        if (r.flags & 57344) {
          e.msg = "unknown header flags set", r.mode = Dt;
          break;
        }
        r.head && (r.head.text = x >> 8 & 1), r.flags & 512 && r.wrap & 4 && (C[0] = x & 255, C[1] = x >>> 8 & 255, r.check = rr(r.check, C, 2, 0)), x = 0, f = 0, r.mode = r4;
      case r4:
        for (; f < 32; ) {
          if (c === 0) break e;
          c--, x += n[i++] << f, f += 8;
        }
        r.head && (r.head.time = x), r.flags & 512 && r.wrap & 4 && (C[0] = x & 255, C[1] = x >>> 8 & 255, C[2] = x >>> 16 & 255, C[3] = x >>> 24 & 255, r.check = rr(r.check, C, 4, 0)), x = 0, f = 0, r.mode = n4;
      case n4:
        for (; f < 16; ) {
          if (c === 0) break e;
          c--, x += n[i++] << f, f += 8;
        }
        r.head && (r.head.xflags = x & 255, r.head.os = x >> 8), r.flags & 512 && r.wrap & 4 && (C[0] = x & 255, C[1] = x >>> 8 & 255, r.check = rr(r.check, C, 2, 0)), x = 0, f = 0, r.mode = a4;
      case a4:
        if (r.flags & 1024) {
          for (; f < 16; ) {
            if (c === 0) break e;
            c--, x += n[i++] << f, f += 8;
          }
          r.length = x, r.head && (r.head.extra_len = x), r.flags & 512 && r.wrap & 4 && (C[0] = x & 255, C[1] = x >>> 8 & 255, r.check = rr(r.check, C, 2, 0)), x = 0, f = 0;
        } else r.head && (r.head.extra = null);
        r.mode = o4;
      case o4:
        if (r.flags & 1024 && (m = r.length, m > c && (m = c), m && (r.head && (N = r.head.extra_len - r.length, r.head.extra || (r.head.extra = new Uint8Array(r.head.extra_len)), r.head.extra.set(n.subarray(i, i + m), N)), r.flags & 512 && r.wrap & 4 && (r.check = rr(r.check, n, m, i)), c -= m, i += m, r.length -= m), r.length)) break e;
        r.length = 0, r.mode = i4;
      case i4:
        if (r.flags & 2048) {
          if (c === 0) break e;
          m = 0;
          do
            N = n[i + m++], r.head && N && r.length < 65536 && (r.head.name += String.fromCharCode(N));
          while (N && m < c);
          if (r.flags & 512 && r.wrap & 4 && (r.check = rr(r.check, n, m, i)), c -= m, i += m, N) break e;
        } else r.head && (r.head.name = null);
        r.length = 0, r.mode = s4;
      case s4:
        if (r.flags & 4096) {
          if (c === 0) break e;
          m = 0;
          do
            N = n[i + m++], r.head && N && r.length < 65536 && (r.head.comment += String.fromCharCode(N));
          while (N && m < c);
          if (r.flags & 512 && r.wrap & 4 && (r.check = rr(r.check, n, m, i)), c -= m, i += m, N) break e;
        } else r.head && (r.head.comment = null);
        r.mode = l4;
      case l4:
        if (r.flags & 512) {
          for (; f < 16; ) {
            if (c === 0) break e;
            c--, x += n[i++] << f, f += 8;
          }
          if (r.wrap & 4 && x !== (r.check & 65535)) {
            e.msg = "header crc mismatch", r.mode = Dt;
            break;
          }
          x = 0, f = 0;
        }
        r.head && (r.head.hcrc = r.flags >> 9 & 1, r.head.done = true), e.adler = r.check = 0, r.mode = Ra;
        break;
      case c4:
        for (; f < 32; ) {
          if (c === 0) break e;
          c--, x += n[i++] << f, f += 8;
        }
        e.adler = r.check = w4(x), x = 0, f = 0, r.mode = nd;
      case nd:
        if (r.havedict === 0) return e.next_out = l, e.avail_out = u, e.next_in = i, e.avail_in = c, r.hold = x, r.bits = f, ND;
        e.adler = r.check = 1, r.mode = Ra;
      case Ra:
        if (t === ID || t === ix) break e;
      case Mh:
        if (r.last) {
          x >>>= f & 7, f -= f & 7, r.mode = Oh;
          break;
        }
        for (; f < 3; ) {
          if (c === 0) break e;
          c--, x += n[i++] << f, f += 8;
        }
        switch (r.last = x & 1, x >>>= 1, f -= 1, x & 3) {
          case 0:
            r.mode = u4;
            break;
          case 1:
            if (LD(r), r.mode = sx, t === ix) {
              x >>>= 2, f -= 2;
              break e;
            }
            break;
          case 2:
            r.mode = d4;
            break;
          case 3:
            e.msg = "invalid block type", r.mode = Dt;
        }
        x >>>= 2, f -= 2;
        break;
      case u4:
        for (x >>>= f & 7, f -= f & 7; f < 32; ) {
          if (c === 0) break e;
          c--, x += n[i++] << f, f += 8;
        }
        if ((x & 65535) !== (x >>> 16 ^ 65535)) {
          e.msg = "invalid stored block lengths", r.mode = Dt;
          break;
        }
        if (r.length = x & 65535, x = 0, f = 0, r.mode = Lh, t === ix) break e;
      case Lh:
        r.mode = x4;
      case x4:
        if (m = r.length, m) {
          if (m > c && (m = c), m > u && (m = u), m === 0) break e;
          a.set(n.subarray(i, i + m), l), c -= m, i += m, u -= m, l += m, r.length -= m;
          break;
        }
        r.mode = Ra;
        break;
      case d4:
        for (; f < 14; ) {
          if (c === 0) break e;
          c--, x += n[i++] << f, f += 8;
        }
        if (r.nlen = (x & 31) + 257, x >>>= 5, f -= 5, r.ndist = (x & 31) + 1, x >>>= 5, f -= 5, r.ncode = (x & 15) + 4, x >>>= 4, f -= 4, r.nlen > 286 || r.ndist > 30) {
          e.msg = "too many length or distance symbols", r.mode = Dt;
          break;
        }
        r.have = 0, r.mode = f4;
      case f4:
        for (; r.have < r.ncode; ) {
          for (; f < 3; ) {
            if (c === 0) break e;
            c--, x += n[i++] << f, f += 8;
          }
          r.lens[R[r.have++]] = x & 7, x >>>= 3, f -= 3;
        }
        for (; r.have < 19; ) r.lens[R[r.have++]] = 0;
        if (r.lencode = r.lendyn, r.lenbits = 7, z = {
          bits: r.lenbits
        }, U = ql(_D, r.lens, 0, 19, r.lencode, 0, r.work, z), r.lenbits = z.bits, U) {
          e.msg = "invalid code lengths set", r.mode = Dt;
          break;
        }
        r.have = 0, r.mode = h4;
      case h4:
        for (; r.have < r.nlen + r.ndist; ) {
          for (; v = r.lencode[x & (1 << r.lenbits) - 1], D = v >>> 24, P = v >>> 16 & 255, k = v & 65535, !(D <= f); ) {
            if (c === 0) break e;
            c--, x += n[i++] << f, f += 8;
          }
          if (k < 16) x >>>= D, f -= D, r.lens[r.have++] = k;
          else {
            if (k === 16) {
              for (I = D + 2; f < I; ) {
                if (c === 0) break e;
                c--, x += n[i++] << f, f += 8;
              }
              if (x >>>= D, f -= D, r.have === 0) {
                e.msg = "invalid bit length repeat", r.mode = Dt;
                break;
              }
              N = r.lens[r.have - 1], m = 3 + (x & 3), x >>>= 2, f -= 2;
            } else if (k === 17) {
              for (I = D + 3; f < I; ) {
                if (c === 0) break e;
                c--, x += n[i++] << f, f += 8;
              }
              x >>>= D, f -= D, N = 0, m = 3 + (x & 7), x >>>= 3, f -= 3;
            } else {
              for (I = D + 7; f < I; ) {
                if (c === 0) break e;
                c--, x += n[i++] << f, f += 8;
              }
              x >>>= D, f -= D, N = 0, m = 11 + (x & 127), x >>>= 7, f -= 7;
            }
            if (r.have + m > r.nlen + r.ndist) {
              e.msg = "invalid bit length repeat", r.mode = Dt;
              break;
            }
            for (; m--; ) r.lens[r.have++] = N;
          }
        }
        if (r.mode === Dt) break;
        if (r.lens[256] === 0) {
          e.msg = "invalid code -- missing end-of-block", r.mode = Dt;
          break;
        }
        if (r.lenbits = 9, z = {
          bits: r.lenbits
        }, U = ql(ly, r.lens, 0, r.nlen, r.lencode, 0, r.work, z), r.lenbits = z.bits, U) {
          e.msg = "invalid literal/lengths set", r.mode = Dt;
          break;
        }
        if (r.distbits = 6, r.distcode = r.distdyn, z = {
          bits: r.distbits
        }, U = ql(cy, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, z), r.distbits = z.bits, U) {
          e.msg = "invalid distances set", r.mode = Dt;
          break;
        }
        if (r.mode = sx, t === ix) break e;
      case sx:
        r.mode = lx;
      case lx:
        if (c >= 6 && u >= 258) {
          e.next_out = l, e.avail_out = u, e.next_in = i, e.avail_in = c, r.hold = x, r.bits = f, BD(e, p), l = e.next_out, a = e.output, u = e.avail_out, i = e.next_in, n = e.input, c = e.avail_in, x = r.hold, f = r.bits, r.mode === Ra && (r.back = -1);
          break;
        }
        for (r.back = 0; v = r.lencode[x & (1 << r.lenbits) - 1], D = v >>> 24, P = v >>> 16 & 255, k = v & 65535, !(D <= f); ) {
          if (c === 0) break e;
          c--, x += n[i++] << f, f += 8;
        }
        if (P && (P & 240) === 0) {
          for (w = D, _ = P, T = k; v = r.lencode[T + ((x & (1 << w + _) - 1) >> w)], D = v >>> 24, P = v >>> 16 & 255, k = v & 65535, !(w + D <= f); ) {
            if (c === 0) break e;
            c--, x += n[i++] << f, f += 8;
          }
          x >>>= w, f -= w, r.back += w;
        }
        if (x >>>= D, f -= D, r.back += D, r.length = k, P === 0) {
          r.mode = E4;
          break;
        }
        if (P & 32) {
          r.back = -1, r.mode = Ra;
          break;
        }
        if (P & 64) {
          e.msg = "invalid literal/length code", r.mode = Dt;
          break;
        }
        r.extra = P & 15, r.mode = p4;
      case p4:
        if (r.extra) {
          for (I = r.extra; f < I; ) {
            if (c === 0) break e;
            c--, x += n[i++] << f, f += 8;
          }
          r.length += x & (1 << r.extra) - 1, x >>>= r.extra, f -= r.extra, r.back += r.extra;
        }
        r.was = r.length, r.mode = g4;
      case g4:
        for (; v = r.distcode[x & (1 << r.distbits) - 1], D = v >>> 24, P = v >>> 16 & 255, k = v & 65535, !(D <= f); ) {
          if (c === 0) break e;
          c--, x += n[i++] << f, f += 8;
        }
        if ((P & 240) === 0) {
          for (w = D, _ = P, T = k; v = r.distcode[T + ((x & (1 << w + _) - 1) >> w)], D = v >>> 24, P = v >>> 16 & 255, k = v & 65535, !(w + D <= f); ) {
            if (c === 0) break e;
            c--, x += n[i++] << f, f += 8;
          }
          x >>>= w, f -= w, r.back += w;
        }
        if (x >>>= D, f -= D, r.back += D, P & 64) {
          e.msg = "invalid distance code", r.mode = Dt;
          break;
        }
        r.offset = k, r.extra = P & 15, r.mode = m4;
      case m4:
        if (r.extra) {
          for (I = r.extra; f < I; ) {
            if (c === 0) break e;
            c--, x += n[i++] << f, f += 8;
          }
          r.offset += x & (1 << r.extra) - 1, x >>>= r.extra, f -= r.extra, r.back += r.extra;
        }
        if (r.offset > r.dmax) {
          e.msg = "invalid distance too far back", r.mode = Dt;
          break;
        }
        r.mode = y4;
      case y4:
        if (u === 0) break e;
        if (m = p - u, r.offset > m) {
          if (m = r.offset - m, m > r.whave && r.sane) {
            e.msg = "invalid distance too far back", r.mode = Dt;
            break;
          }
          m > r.wnext ? (m -= r.wnext, y = r.wsize - m) : y = r.wnext - m, m > r.length && (m = r.length), B = r.window;
        } else B = a, y = l - r.offset, m = r.length;
        m > u && (m = u), u -= m, r.length -= m;
        do
          a[l++] = B[y++];
        while (--m);
        r.length === 0 && (r.mode = lx);
        break;
      case E4:
        if (u === 0) break e;
        a[l++] = r.length, u--, r.mode = lx;
        break;
      case Oh:
        if (r.wrap) {
          for (; f < 32; ) {
            if (c === 0) break e;
            c--, x |= n[i++] << f, f += 8;
          }
          if (p -= u, e.total_out += p, r.total += p, r.wrap & 4 && p && (e.adler = r.check = r.flags ? rr(r.check, a, p, l - p) : sc(r.check, a, p, l - p)), p = u, r.wrap & 4 && (r.flags ? x : w4(x)) !== r.check) {
            e.msg = "incorrect data check", r.mode = Dt;
            break;
          }
          x = 0, f = 0;
        }
        r.mode = A4;
      case A4:
        if (r.wrap && r.flags) {
          for (; f < 32; ) {
            if (c === 0) break e;
            c--, x += n[i++] << f, f += 8;
          }
          if (r.wrap & 4 && x !== (r.total & 4294967295)) {
            e.msg = "incorrect length check", r.mode = Dt;
            break;
          }
          x = 0, f = 0;
        }
        r.mode = b4;
      case b4:
        U = PD;
        break e;
      case Dt:
        U = uy;
        break e;
      case dy:
        return xy;
      case fy:
      default:
        return kn;
    }
    return e.next_out = l, e.avail_out = u, e.next_in = i, e.avail_in = c, r.hold = x, r.bits = f, (r.wsize || p !== e.avail_out && r.mode < Dt && (r.mode < Oh || t !== J6)) && yy(e, e.output, e.next_out, p - e.avail_out), h -= e.avail_in, p -= e.avail_out, e.total_in += h, e.total_out += p, r.total += p, r.wrap & 4 && p && (e.adler = r.check = r.flags ? rr(r.check, a, p, e.next_out - p) : sc(r.check, a, p, e.next_out - p)), e.data_type = r.bits + (r.last ? 64 : 0) + (r.mode === Ra ? 128 : 0) + (r.mode === sx || r.mode === Lh ? 256 : 0), (h === 0 && p === 0 || t === J6) && U === Vi && (U = jD), U;
  }, HD = (e) => {
    if (n0(e)) return kn;
    let t = e.state;
    return t.window && (t.window = null), e.state = null, Vi;
  }, QD = (e, t) => {
    if (n0(e)) return kn;
    const r = e.state;
    return (r.wrap & 2) === 0 ? kn : (r.head = t, t.done = false, Vi);
  }, qD = (e, t) => {
    const r = t.length;
    let n, a, i;
    return n0(e) || (n = e.state, n.wrap !== 0 && n.mode !== nd) ? kn : n.mode === nd && (a = 1, a = sc(a, t, r, 0), a !== n.check) ? uy : (i = yy(e, t, r, r), i ? (n.mode = dy, xy) : (n.havedict = 1, Vi));
  };
  var GD = py, VD = gy, WD = hy, $D = MD, ZD = my, YD = OD, XD = HD, JD = QD, eF = qD, tF = "pako inflate (from Nodeca project)", Ga = {
    inflateReset: GD,
    inflateReset2: VD,
    inflateResetKeep: WD,
    inflateInit: $D,
    inflateInit2: ZD,
    inflate: YD,
    inflateEnd: XD,
    inflateGetHeader: JD,
    inflateSetDictionary: eF,
    inflateInfo: tF
  };
  function rF() {
    this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = false;
  }
  var nF = rF;
  const Ey = Object.prototype.toString, { Z_NO_FLUSH: aF, Z_FINISH: oF, Z_OK: uc, Z_STREAM_END: qh, Z_NEED_DICT: Gh, Z_STREAM_ERROR: iF, Z_DATA_ERROR: B4, Z_MEM_ERROR: sF } = Id;
  function Ud(e) {
    this.options = Nd.assign({
      chunkSize: 1024 * 64,
      windowBits: 15,
      to: ""
    }, e || {});
    const t = this.options;
    t.raw && t.windowBits >= 0 && t.windowBits < 16 && (t.windowBits = -t.windowBits, t.windowBits === 0 && (t.windowBits = -15)), t.windowBits >= 0 && t.windowBits < 16 && !(e && e.windowBits) && (t.windowBits += 32), t.windowBits > 15 && t.windowBits < 48 && (t.windowBits & 15) === 0 && (t.windowBits |= 15), this.err = 0, this.msg = "", this.ended = false, this.chunks = [], this.strm = new iy(), this.strm.avail_out = 0;
    let r = Ga.inflateInit2(this.strm, t.windowBits);
    if (r !== uc) throw new Error(qi[r]);
    if (this.header = new nF(), Ga.inflateGetHeader(this.strm, this.header), t.dictionary && (typeof t.dictionary == "string" ? t.dictionary = cc.string2buf(t.dictionary) : Ey.call(t.dictionary) === "[object ArrayBuffer]" && (t.dictionary = new Uint8Array(t.dictionary)), t.raw && (r = Ga.inflateSetDictionary(this.strm, t.dictionary), r !== uc))) throw new Error(qi[r]);
  }
  Ud.prototype.push = function(e, t) {
    const r = this.strm, n = this.options.chunkSize, a = this.options.dictionary;
    let i, l, c;
    if (this.ended) return false;
    for (t === ~~t ? l = t : l = t === true ? oF : aF, Ey.call(e) === "[object ArrayBuffer]" ? r.input = new Uint8Array(e) : r.input = e, r.next_in = 0, r.avail_in = r.input.length; ; ) {
      for (r.avail_out === 0 && (r.output = new Uint8Array(n), r.next_out = 0, r.avail_out = n), i = Ga.inflate(r, l), i === Gh && a && (i = Ga.inflateSetDictionary(r, a), i === uc ? i = Ga.inflate(r, l) : i === B4 && (i = Gh)); r.avail_in > 0 && i === qh && r.state.wrap > 0 && e[r.next_in] !== 0; ) Ga.inflateReset(r), i = Ga.inflate(r, l);
      switch (i) {
        case iF:
        case B4:
        case Gh:
        case sF:
          return this.onEnd(i), this.ended = true, false;
      }
      if (c = r.avail_out, r.next_out && (r.avail_out === 0 || i === qh)) if (this.options.to === "string") {
        let u = cc.utf8border(r.output, r.next_out), x = r.next_out - u, f = cc.buf2string(r.output, u);
        r.next_out = x, r.avail_out = n - x, x && r.output.set(r.output.subarray(u, u + x), 0), this.onData(f);
      } else this.onData(r.output.length === r.next_out ? r.output : r.output.subarray(0, r.next_out));
      if (!(i === uc && c === 0)) {
        if (i === qh) return i = Ga.inflateEnd(this.strm), this.onEnd(i), this.ended = true, true;
        if (r.avail_in === 0) break;
      }
    }
    return true;
  };
  Ud.prototype.onData = function(e) {
    this.chunks.push(e);
  };
  Ud.prototype.onEnd = function(e) {
    e === uc && (this.options.to === "string" ? this.result = this.chunks.join("") : this.result = Nd.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg;
  };
  function lF(e, t) {
    const r = new Ud(t);
    if (r.push(e), r.err) throw r.msg || qi[r.err];
    return r.result;
  }
  var cF = lF, uF = {
    inflate: cF
  };
  const { deflate: xF } = wD, { inflate: dF } = uF;
  var fF = xF, hF = dF;
  const xc = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$*+-./:", pF = /* @__PURE__ */ new Map();
  for (let e = 0; e < xc.length; e++) pF.set(xc[e], BigInt(e));
  function gF(e) {
    var _a;
    if (e.length === 0) return new Uint8Array(0);
    const t = ((_a = e.match(/^0+/)) == null ? void 0 : _a[0].length) || 0;
    let r = 0n;
    for (const i of e) {
      const l = xc.indexOf(i);
      if (l === -1) throw new Error(`forbidden character ${i} for base 43`);
      r = r * 43n + BigInt(l);
    }
    const n = [];
    for (; r > 0n; ) n.unshift(Number(r % 256n)), r /= 256n;
    const a = new Uint8Array(t);
    return new Uint8Array([
      ...a,
      ...n
    ]);
  }
  function mF(e) {
    let t = 0n;
    for (let n = 0; n < e.length; n++) t = t * 256n + BigInt(e[n]);
    let r = "";
    if (t === 0n) return "0";
    for (; t > 0n; ) {
      const n = Number(t % 43n);
      r = xc[n] + r, t = t / 43n;
    }
    return r;
  }
  var hn = {}, Kn = {}, pt = {}, Ar = {}, Vh = {}, wl = {}, C4;
  function yF() {
    return C4 || (C4 = 1, Object.defineProperty(wl, "__esModule", {
      value: true
    }), wl.crypto = void 0, wl.crypto = typeof globalThis == "object" && "crypto" in globalThis ? globalThis.crypto : void 0), wl;
  }
  var k4;
  function Fc() {
    return k4 || (k4 = 1, (function(e) {
      Object.defineProperty(e, "__esModule", {
        value: true
      }), e.wrapXOFConstructorWithOpts = e.wrapConstructorWithOpts = e.wrapConstructor = e.Hash = e.nextTick = e.swap32IfBE = e.byteSwapIfBE = e.swap8IfBE = e.isLE = void 0, e.isBytes = r, e.anumber = n, e.abytes = a, e.ahash = i, e.aexists = l, e.aoutput = c, e.u8 = u, e.u32 = x, e.clean = f, e.createView = h, e.rotr = p, e.rotl = m, e.byteSwap = y, e.byteSwap32 = B, e.bytesToHex = P, e.hexToBytes = _, e.asyncLoop = N, e.utf8ToBytes = U, e.bytesToUtf8 = C, e.toBytes = z, e.kdfInputToBytes = I, e.concatBytes = R, e.checkOpts = L, e.createHasher = W, e.createOptHasher = $, e.createXOFer = X, e.randomBytes = Y;
      const t = yF();
      function r(Q) {
        return Q instanceof Uint8Array || ArrayBuffer.isView(Q) && Q.constructor.name === "Uint8Array";
      }
      function n(Q) {
        if (!Number.isSafeInteger(Q) || Q < 0) throw new Error("positive integer expected, got " + Q);
      }
      function a(Q, ...V) {
        if (!r(Q)) throw new Error("Uint8Array expected");
        if (V.length > 0 && !V.includes(Q.length)) throw new Error("Uint8Array expected of length " + V + ", got length=" + Q.length);
      }
      function i(Q) {
        if (typeof Q != "function" || typeof Q.create != "function") throw new Error("Hash should be wrapped by utils.createHasher");
        n(Q.outputLen), n(Q.blockLen);
      }
      function l(Q, V = true) {
        if (Q.destroyed) throw new Error("Hash instance has been destroyed");
        if (V && Q.finished) throw new Error("Hash#digest() has already been called");
      }
      function c(Q, V) {
        a(Q);
        const M = V.outputLen;
        if (Q.length < M) throw new Error("digestInto() expects output buffer of length at least " + M);
      }
      function u(Q) {
        return new Uint8Array(Q.buffer, Q.byteOffset, Q.byteLength);
      }
      function x(Q) {
        return new Uint32Array(Q.buffer, Q.byteOffset, Math.floor(Q.byteLength / 4));
      }
      function f(...Q) {
        for (let V = 0; V < Q.length; V++) Q[V].fill(0);
      }
      function h(Q) {
        return new DataView(Q.buffer, Q.byteOffset, Q.byteLength);
      }
      function p(Q, V) {
        return Q << 32 - V | Q >>> V;
      }
      function m(Q, V) {
        return Q << V | Q >>> 32 - V >>> 0;
      }
      e.isLE = new Uint8Array(new Uint32Array([
        287454020
      ]).buffer)[0] === 68;
      function y(Q) {
        return Q << 24 & 4278190080 | Q << 8 & 16711680 | Q >>> 8 & 65280 | Q >>> 24 & 255;
      }
      e.swap8IfBE = e.isLE ? (Q) => Q : (Q) => y(Q), e.byteSwapIfBE = e.swap8IfBE;
      function B(Q) {
        for (let V = 0; V < Q.length; V++) Q[V] = y(Q[V]);
        return Q;
      }
      e.swap32IfBE = e.isLE ? (Q) => Q : B;
      const v = typeof Uint8Array.from([]).toHex == "function" && typeof Uint8Array.fromHex == "function", D = Array.from({
        length: 256
      }, (Q, V) => V.toString(16).padStart(2, "0"));
      function P(Q) {
        if (a(Q), v) return Q.toHex();
        let V = "";
        for (let M = 0; M < Q.length; M++) V += D[Q[M]];
        return V;
      }
      const k = {
        _0: 48,
        _9: 57,
        A: 65,
        F: 70,
        a: 97,
        f: 102
      };
      function w(Q) {
        if (Q >= k._0 && Q <= k._9) return Q - k._0;
        if (Q >= k.A && Q <= k.F) return Q - (k.A - 10);
        if (Q >= k.a && Q <= k.f) return Q - (k.a - 10);
      }
      function _(Q) {
        if (typeof Q != "string") throw new Error("hex string expected, got " + typeof Q);
        if (v) return Uint8Array.fromHex(Q);
        const V = Q.length, M = V / 2;
        if (V % 2) throw new Error("hex string expected, got unpadded hex of length " + V);
        const G = new Uint8Array(M);
        for (let ee = 0, te = 0; ee < M; ee++, te += 2) {
          const oe = w(Q.charCodeAt(te)), ie = w(Q.charCodeAt(te + 1));
          if (oe === void 0 || ie === void 0) {
            const xe = Q[te] + Q[te + 1];
            throw new Error('hex string expected, got non-hex character "' + xe + '" at index ' + te);
          }
          G[ee] = oe * 16 + ie;
        }
        return G;
      }
      const T = async () => {
      };
      e.nextTick = T;
      async function N(Q, V, M) {
        let G = Date.now();
        for (let ee = 0; ee < Q; ee++) {
          M(ee);
          const te = Date.now() - G;
          te >= 0 && te < V || (await (0, e.nextTick)(), G += te);
        }
      }
      function U(Q) {
        if (typeof Q != "string") throw new Error("string expected");
        return new Uint8Array(new TextEncoder().encode(Q));
      }
      function C(Q) {
        return new TextDecoder().decode(Q);
      }
      function z(Q) {
        return typeof Q == "string" && (Q = U(Q)), a(Q), Q;
      }
      function I(Q) {
        return typeof Q == "string" && (Q = U(Q)), a(Q), Q;
      }
      function R(...Q) {
        let V = 0;
        for (let G = 0; G < Q.length; G++) {
          const ee = Q[G];
          a(ee), V += ee.length;
        }
        const M = new Uint8Array(V);
        for (let G = 0, ee = 0; G < Q.length; G++) {
          const te = Q[G];
          M.set(te, ee), ee += te.length;
        }
        return M;
      }
      function L(Q, V) {
        if (V !== void 0 && {}.toString.call(V) !== "[object Object]") throw new Error("options should be object or undefined");
        return Object.assign(Q, V);
      }
      class O {
      }
      e.Hash = O;
      function W(Q) {
        const V = (G) => Q().update(z(G)).digest(), M = Q();
        return V.outputLen = M.outputLen, V.blockLen = M.blockLen, V.create = () => Q(), V;
      }
      function $(Q) {
        const V = (G, ee) => Q(ee).update(z(G)).digest(), M = Q({});
        return V.outputLen = M.outputLen, V.blockLen = M.blockLen, V.create = (G) => Q(G), V;
      }
      function X(Q) {
        const V = (G, ee) => Q(ee).update(z(G)).digest(), M = Q({});
        return V.outputLen = M.outputLen, V.blockLen = M.blockLen, V.create = (G) => Q(G), V;
      }
      e.wrapConstructor = W, e.wrapConstructorWithOpts = $, e.wrapXOFConstructorWithOpts = X;
      function Y(Q = 32) {
        if (t.crypto && typeof t.crypto.getRandomValues == "function") return t.crypto.getRandomValues(new Uint8Array(Q));
        if (t.crypto && typeof t.crypto.randomBytes == "function") return Uint8Array.from(t.crypto.randomBytes(Q));
        throw new Error("crypto.getRandomValues must be defined");
      }
    })(Vh)), Vh;
  }
  var D4;
  function EF() {
    if (D4) return Ar;
    D4 = 1, Object.defineProperty(Ar, "__esModule", {
      value: true
    }), Ar.SHA512_IV = Ar.SHA384_IV = Ar.SHA224_IV = Ar.SHA256_IV = Ar.HashMD = void 0, Ar.setBigUint64 = t, Ar.Chi = r, Ar.Maj = n;
    const e = Fc();
    function t(i, l, c, u) {
      if (typeof i.setBigUint64 == "function") return i.setBigUint64(l, c, u);
      const x = BigInt(32), f = BigInt(4294967295), h = Number(c >> x & f), p = Number(c & f), m = u ? 4 : 0, y = u ? 0 : 4;
      i.setUint32(l + m, h, u), i.setUint32(l + y, p, u);
    }
    function r(i, l, c) {
      return i & l ^ ~i & c;
    }
    function n(i, l, c) {
      return i & l ^ i & c ^ l & c;
    }
    class a extends e.Hash {
      constructor(l, c, u, x) {
        super(), this.finished = false, this.length = 0, this.pos = 0, this.destroyed = false, this.blockLen = l, this.outputLen = c, this.padOffset = u, this.isLE = x, this.buffer = new Uint8Array(l), this.view = (0, e.createView)(this.buffer);
      }
      update(l) {
        (0, e.aexists)(this), l = (0, e.toBytes)(l), (0, e.abytes)(l);
        const { view: c, buffer: u, blockLen: x } = this, f = l.length;
        for (let h = 0; h < f; ) {
          const p = Math.min(x - this.pos, f - h);
          if (p === x) {
            const m = (0, e.createView)(l);
            for (; x <= f - h; h += x) this.process(m, h);
            continue;
          }
          u.set(l.subarray(h, h + p), this.pos), this.pos += p, h += p, this.pos === x && (this.process(c, 0), this.pos = 0);
        }
        return this.length += l.length, this.roundClean(), this;
      }
      digestInto(l) {
        (0, e.aexists)(this), (0, e.aoutput)(l, this), this.finished = true;
        const { buffer: c, view: u, blockLen: x, isLE: f } = this;
        let { pos: h } = this;
        c[h++] = 128, (0, e.clean)(this.buffer.subarray(h)), this.padOffset > x - h && (this.process(u, 0), h = 0);
        for (let v = h; v < x; v++) c[v] = 0;
        t(u, x - 8, BigInt(this.length * 8), f), this.process(u, 0);
        const p = (0, e.createView)(l), m = this.outputLen;
        if (m % 4) throw new Error("_sha2: outputLen should be aligned to 32bit");
        const y = m / 4, B = this.get();
        if (y > B.length) throw new Error("_sha2: outputLen bigger than state");
        for (let v = 0; v < y; v++) p.setUint32(4 * v, B[v], f);
      }
      digest() {
        const { buffer: l, outputLen: c } = this;
        this.digestInto(l);
        const u = l.slice(0, c);
        return this.destroy(), u;
      }
      _cloneInto(l) {
        l || (l = new this.constructor()), l.set(...this.get());
        const { blockLen: c, buffer: u, length: x, finished: f, destroyed: h, pos: p } = this;
        return l.destroyed = h, l.finished = f, l.length = x, l.pos = p, x % c && l.buffer.set(u), l;
      }
      clone() {
        return this._cloneInto();
      }
    }
    return Ar.HashMD = a, Ar.SHA256_IV = Uint32Array.from([
      1779033703,
      3144134277,
      1013904242,
      2773480762,
      1359893119,
      2600822924,
      528734635,
      1541459225
    ]), Ar.SHA224_IV = Uint32Array.from([
      3238371032,
      914150663,
      812702999,
      4144912697,
      4290775857,
      1750603025,
      1694076839,
      3204075428
    ]), Ar.SHA384_IV = Uint32Array.from([
      3418070365,
      3238371032,
      1654270250,
      914150663,
      2438529370,
      812702999,
      355462360,
      4144912697,
      1731405415,
      4290775857,
      2394180231,
      1750603025,
      3675008525,
      1694076839,
      1203062813,
      3204075428
    ]), Ar.SHA512_IV = Uint32Array.from([
      1779033703,
      4089235720,
      3144134277,
      2227873595,
      1013904242,
      4271175723,
      2773480762,
      1595750129,
      1359893119,
      2917565137,
      2600822924,
      725511199,
      528734635,
      4215389547,
      1541459225,
      327033209
    ]), Ar;
  }
  var He = {}, F4;
  function AF() {
    if (F4) return He;
    F4 = 1, Object.defineProperty(He, "__esModule", {
      value: true
    }), He.toBig = He.shrSL = He.shrSH = He.rotrSL = He.rotrSH = He.rotrBL = He.rotrBH = He.rotr32L = He.rotr32H = He.rotlSL = He.rotlSH = He.rotlBL = He.rotlBH = He.add5L = He.add5H = He.add4L = He.add4H = He.add3L = He.add3H = void 0, He.add = D, He.fromBig = r, He.split = n;
    const e = BigInt(2 ** 32 - 1), t = BigInt(32);
    function r(C, z = false) {
      return z ? {
        h: Number(C & e),
        l: Number(C >> t & e)
      } : {
        h: Number(C >> t & e) | 0,
        l: Number(C & e) | 0
      };
    }
    function n(C, z = false) {
      const I = C.length;
      let R = new Uint32Array(I), L = new Uint32Array(I);
      for (let O = 0; O < I; O++) {
        const { h: W, l: $ } = r(C[O], z);
        [R[O], L[O]] = [
          W,
          $
        ];
      }
      return [
        R,
        L
      ];
    }
    const a = (C, z) => BigInt(C >>> 0) << t | BigInt(z >>> 0);
    He.toBig = a;
    const i = (C, z, I) => C >>> I;
    He.shrSH = i;
    const l = (C, z, I) => C << 32 - I | z >>> I;
    He.shrSL = l;
    const c = (C, z, I) => C >>> I | z << 32 - I;
    He.rotrSH = c;
    const u = (C, z, I) => C << 32 - I | z >>> I;
    He.rotrSL = u;
    const x = (C, z, I) => C << 64 - I | z >>> I - 32;
    He.rotrBH = x;
    const f = (C, z, I) => C >>> I - 32 | z << 64 - I;
    He.rotrBL = f;
    const h = (C, z) => z;
    He.rotr32H = h;
    const p = (C, z) => C;
    He.rotr32L = p;
    const m = (C, z, I) => C << I | z >>> 32 - I;
    He.rotlSH = m;
    const y = (C, z, I) => z << I | C >>> 32 - I;
    He.rotlSL = y;
    const B = (C, z, I) => z << I - 32 | C >>> 64 - I;
    He.rotlBH = B;
    const v = (C, z, I) => C << I - 32 | z >>> 64 - I;
    He.rotlBL = v;
    function D(C, z, I, R) {
      const L = (z >>> 0) + (R >>> 0);
      return {
        h: C + I + (L / 2 ** 32 | 0) | 0,
        l: L | 0
      };
    }
    const P = (C, z, I) => (C >>> 0) + (z >>> 0) + (I >>> 0);
    He.add3L = P;
    const k = (C, z, I, R) => z + I + R + (C / 2 ** 32 | 0) | 0;
    He.add3H = k;
    const w = (C, z, I, R) => (C >>> 0) + (z >>> 0) + (I >>> 0) + (R >>> 0);
    He.add4L = w;
    const _ = (C, z, I, R, L) => z + I + R + L + (C / 2 ** 32 | 0) | 0;
    He.add4H = _;
    const T = (C, z, I, R, L) => (C >>> 0) + (z >>> 0) + (I >>> 0) + (R >>> 0) + (L >>> 0);
    He.add5L = T;
    const N = (C, z, I, R, L, O) => z + I + R + L + O + (C / 2 ** 32 | 0) | 0;
    He.add5H = N;
    const U = {
      fromBig: r,
      split: n,
      toBig: a,
      shrSH: i,
      shrSL: l,
      rotrSH: c,
      rotrSL: u,
      rotrBH: x,
      rotrBL: f,
      rotr32H: h,
      rotr32L: p,
      rotlSH: m,
      rotlSL: y,
      rotlBH: B,
      rotlBL: v,
      add: D,
      add3L: P,
      add3H: k,
      add4L: w,
      add4H: _,
      add5H: N,
      add5L: T
    };
    return He.default = U, He;
  }
  var S4;
  function Ay() {
    if (S4) return pt;
    S4 = 1, Object.defineProperty(pt, "__esModule", {
      value: true
    }), pt.sha512_224 = pt.sha512_256 = pt.sha384 = pt.sha512 = pt.sha224 = pt.sha256 = pt.SHA512_256 = pt.SHA512_224 = pt.SHA384 = pt.SHA512 = pt.SHA224 = pt.SHA256 = void 0;
    const e = EF(), t = AF(), r = Fc(), n = Uint32Array.from([
      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
    ]), a = new Uint32Array(64);
    class i extends e.HashMD {
      constructor(k = 32) {
        super(64, k, 8, false), this.A = e.SHA256_IV[0] | 0, this.B = e.SHA256_IV[1] | 0, this.C = e.SHA256_IV[2] | 0, this.D = e.SHA256_IV[3] | 0, this.E = e.SHA256_IV[4] | 0, this.F = e.SHA256_IV[5] | 0, this.G = e.SHA256_IV[6] | 0, this.H = e.SHA256_IV[7] | 0;
      }
      get() {
        const { A: k, B: w, C: _, D: T, E: N, F: U, G: C, H: z } = this;
        return [
          k,
          w,
          _,
          T,
          N,
          U,
          C,
          z
        ];
      }
      set(k, w, _, T, N, U, C, z) {
        this.A = k | 0, this.B = w | 0, this.C = _ | 0, this.D = T | 0, this.E = N | 0, this.F = U | 0, this.G = C | 0, this.H = z | 0;
      }
      process(k, w) {
        for (let L = 0; L < 16; L++, w += 4) a[L] = k.getUint32(w, false);
        for (let L = 16; L < 64; L++) {
          const O = a[L - 15], W = a[L - 2], $ = (0, r.rotr)(O, 7) ^ (0, r.rotr)(O, 18) ^ O >>> 3, X = (0, r.rotr)(W, 17) ^ (0, r.rotr)(W, 19) ^ W >>> 10;
          a[L] = X + a[L - 7] + $ + a[L - 16] | 0;
        }
        let { A: _, B: T, C: N, D: U, E: C, F: z, G: I, H: R } = this;
        for (let L = 0; L < 64; L++) {
          const O = (0, r.rotr)(C, 6) ^ (0, r.rotr)(C, 11) ^ (0, r.rotr)(C, 25), W = R + O + (0, e.Chi)(C, z, I) + n[L] + a[L] | 0, X = ((0, r.rotr)(_, 2) ^ (0, r.rotr)(_, 13) ^ (0, r.rotr)(_, 22)) + (0, e.Maj)(_, T, N) | 0;
          R = I, I = z, z = C, C = U + W | 0, U = N, N = T, T = _, _ = W + X | 0;
        }
        _ = _ + this.A | 0, T = T + this.B | 0, N = N + this.C | 0, U = U + this.D | 0, C = C + this.E | 0, z = z + this.F | 0, I = I + this.G | 0, R = R + this.H | 0, this.set(_, T, N, U, C, z, I, R);
      }
      roundClean() {
        (0, r.clean)(a);
      }
      destroy() {
        this.set(0, 0, 0, 0, 0, 0, 0, 0), (0, r.clean)(this.buffer);
      }
    }
    pt.SHA256 = i;
    class l extends i {
      constructor() {
        super(28), this.A = e.SHA224_IV[0] | 0, this.B = e.SHA224_IV[1] | 0, this.C = e.SHA224_IV[2] | 0, this.D = e.SHA224_IV[3] | 0, this.E = e.SHA224_IV[4] | 0, this.F = e.SHA224_IV[5] | 0, this.G = e.SHA224_IV[6] | 0, this.H = e.SHA224_IV[7] | 0;
      }
    }
    pt.SHA224 = l;
    const c = t.split([
      "0x428a2f98d728ae22",
      "0x7137449123ef65cd",
      "0xb5c0fbcfec4d3b2f",
      "0xe9b5dba58189dbbc",
      "0x3956c25bf348b538",
      "0x59f111f1b605d019",
      "0x923f82a4af194f9b",
      "0xab1c5ed5da6d8118",
      "0xd807aa98a3030242",
      "0x12835b0145706fbe",
      "0x243185be4ee4b28c",
      "0x550c7dc3d5ffb4e2",
      "0x72be5d74f27b896f",
      "0x80deb1fe3b1696b1",
      "0x9bdc06a725c71235",
      "0xc19bf174cf692694",
      "0xe49b69c19ef14ad2",
      "0xefbe4786384f25e3",
      "0x0fc19dc68b8cd5b5",
      "0x240ca1cc77ac9c65",
      "0x2de92c6f592b0275",
      "0x4a7484aa6ea6e483",
      "0x5cb0a9dcbd41fbd4",
      "0x76f988da831153b5",
      "0x983e5152ee66dfab",
      "0xa831c66d2db43210",
      "0xb00327c898fb213f",
      "0xbf597fc7beef0ee4",
      "0xc6e00bf33da88fc2",
      "0xd5a79147930aa725",
      "0x06ca6351e003826f",
      "0x142929670a0e6e70",
      "0x27b70a8546d22ffc",
      "0x2e1b21385c26c926",
      "0x4d2c6dfc5ac42aed",
      "0x53380d139d95b3df",
      "0x650a73548baf63de",
      "0x766a0abb3c77b2a8",
      "0x81c2c92e47edaee6",
      "0x92722c851482353b",
      "0xa2bfe8a14cf10364",
      "0xa81a664bbc423001",
      "0xc24b8b70d0f89791",
      "0xc76c51a30654be30",
      "0xd192e819d6ef5218",
      "0xd69906245565a910",
      "0xf40e35855771202a",
      "0x106aa07032bbd1b8",
      "0x19a4c116b8d2d0c8",
      "0x1e376c085141ab53",
      "0x2748774cdf8eeb99",
      "0x34b0bcb5e19b48a8",
      "0x391c0cb3c5c95a63",
      "0x4ed8aa4ae3418acb",
      "0x5b9cca4f7763e373",
      "0x682e6ff3d6b2b8a3",
      "0x748f82ee5defb2fc",
      "0x78a5636f43172f60",
      "0x84c87814a1f0ab72",
      "0x8cc702081a6439ec",
      "0x90befffa23631e28",
      "0xa4506cebde82bde9",
      "0xbef9a3f7b2c67915",
      "0xc67178f2e372532b",
      "0xca273eceea26619c",
      "0xd186b8c721c0c207",
      "0xeada7dd6cde0eb1e",
      "0xf57d4f7fee6ed178",
      "0x06f067aa72176fba",
      "0x0a637dc5a2c898a6",
      "0x113f9804bef90dae",
      "0x1b710b35131c471b",
      "0x28db77f523047d84",
      "0x32caab7b40c72493",
      "0x3c9ebe0a15c9bebc",
      "0x431d67c49c100d4c",
      "0x4cc5d4becb3e42b6",
      "0x597f299cfc657e2a",
      "0x5fcb6fab3ad6faec",
      "0x6c44198c4a475817"
    ].map((P) => BigInt(P))), u = c[0], x = c[1], f = new Uint32Array(80), h = new Uint32Array(80);
    class p extends e.HashMD {
      constructor(k = 64) {
        super(128, k, 16, false), this.Ah = e.SHA512_IV[0] | 0, this.Al = e.SHA512_IV[1] | 0, this.Bh = e.SHA512_IV[2] | 0, this.Bl = e.SHA512_IV[3] | 0, this.Ch = e.SHA512_IV[4] | 0, this.Cl = e.SHA512_IV[5] | 0, this.Dh = e.SHA512_IV[6] | 0, this.Dl = e.SHA512_IV[7] | 0, this.Eh = e.SHA512_IV[8] | 0, this.El = e.SHA512_IV[9] | 0, this.Fh = e.SHA512_IV[10] | 0, this.Fl = e.SHA512_IV[11] | 0, this.Gh = e.SHA512_IV[12] | 0, this.Gl = e.SHA512_IV[13] | 0, this.Hh = e.SHA512_IV[14] | 0, this.Hl = e.SHA512_IV[15] | 0;
      }
      get() {
        const { Ah: k, Al: w, Bh: _, Bl: T, Ch: N, Cl: U, Dh: C, Dl: z, Eh: I, El: R, Fh: L, Fl: O, Gh: W, Gl: $, Hh: X, Hl: Y } = this;
        return [
          k,
          w,
          _,
          T,
          N,
          U,
          C,
          z,
          I,
          R,
          L,
          O,
          W,
          $,
          X,
          Y
        ];
      }
      set(k, w, _, T, N, U, C, z, I, R, L, O, W, $, X, Y) {
        this.Ah = k | 0, this.Al = w | 0, this.Bh = _ | 0, this.Bl = T | 0, this.Ch = N | 0, this.Cl = U | 0, this.Dh = C | 0, this.Dl = z | 0, this.Eh = I | 0, this.El = R | 0, this.Fh = L | 0, this.Fl = O | 0, this.Gh = W | 0, this.Gl = $ | 0, this.Hh = X | 0, this.Hl = Y | 0;
      }
      process(k, w) {
        for (let M = 0; M < 16; M++, w += 4) f[M] = k.getUint32(w), h[M] = k.getUint32(w += 4);
        for (let M = 16; M < 80; M++) {
          const G = f[M - 15] | 0, ee = h[M - 15] | 0, te = t.rotrSH(G, ee, 1) ^ t.rotrSH(G, ee, 8) ^ t.shrSH(G, ee, 7), oe = t.rotrSL(G, ee, 1) ^ t.rotrSL(G, ee, 8) ^ t.shrSL(G, ee, 7), ie = f[M - 2] | 0, xe = h[M - 2] | 0, de = t.rotrSH(ie, xe, 19) ^ t.rotrBH(ie, xe, 61) ^ t.shrSH(ie, xe, 6), he = t.rotrSL(ie, xe, 19) ^ t.rotrBL(ie, xe, 61) ^ t.shrSL(ie, xe, 6), be = t.add4L(oe, he, h[M - 7], h[M - 16]), ve = t.add4H(be, te, de, f[M - 7], f[M - 16]);
          f[M] = ve | 0, h[M] = be | 0;
        }
        let { Ah: _, Al: T, Bh: N, Bl: U, Ch: C, Cl: z, Dh: I, Dl: R, Eh: L, El: O, Fh: W, Fl: $, Gh: X, Gl: Y, Hh: Q, Hl: V } = this;
        for (let M = 0; M < 80; M++) {
          const G = t.rotrSH(L, O, 14) ^ t.rotrSH(L, O, 18) ^ t.rotrBH(L, O, 41), ee = t.rotrSL(L, O, 14) ^ t.rotrSL(L, O, 18) ^ t.rotrBL(L, O, 41), te = L & W ^ ~L & X, oe = O & $ ^ ~O & Y, ie = t.add5L(V, ee, oe, x[M], h[M]), xe = t.add5H(ie, Q, G, te, u[M], f[M]), de = ie | 0, he = t.rotrSH(_, T, 28) ^ t.rotrBH(_, T, 34) ^ t.rotrBH(_, T, 39), be = t.rotrSL(_, T, 28) ^ t.rotrBL(_, T, 34) ^ t.rotrBL(_, T, 39), ve = _ & N ^ _ & C ^ N & C, Ce = T & U ^ T & z ^ U & z;
          Q = X | 0, V = Y | 0, X = W | 0, Y = $ | 0, W = L | 0, $ = O | 0, { h: L, l: O } = t.add(I | 0, R | 0, xe | 0, de | 0), I = C | 0, R = z | 0, C = N | 0, z = U | 0, N = _ | 0, U = T | 0;
          const Ie = t.add3L(de, be, Ce);
          _ = t.add3H(Ie, xe, he, ve), T = Ie | 0;
        }
        ({ h: _, l: T } = t.add(this.Ah | 0, this.Al | 0, _ | 0, T | 0)), { h: N, l: U } = t.add(this.Bh | 0, this.Bl | 0, N | 0, U | 0), { h: C, l: z } = t.add(this.Ch | 0, this.Cl | 0, C | 0, z | 0), { h: I, l: R } = t.add(this.Dh | 0, this.Dl | 0, I | 0, R | 0), { h: L, l: O } = t.add(this.Eh | 0, this.El | 0, L | 0, O | 0), { h: W, l: $ } = t.add(this.Fh | 0, this.Fl | 0, W | 0, $ | 0), { h: X, l: Y } = t.add(this.Gh | 0, this.Gl | 0, X | 0, Y | 0), { h: Q, l: V } = t.add(this.Hh | 0, this.Hl | 0, Q | 0, V | 0), this.set(_, T, N, U, C, z, I, R, L, O, W, $, X, Y, Q, V);
      }
      roundClean() {
        (0, r.clean)(f, h);
      }
      destroy() {
        (0, r.clean)(this.buffer), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
      }
    }
    pt.SHA512 = p;
    class m extends p {
      constructor() {
        super(48), this.Ah = e.SHA384_IV[0] | 0, this.Al = e.SHA384_IV[1] | 0, this.Bh = e.SHA384_IV[2] | 0, this.Bl = e.SHA384_IV[3] | 0, this.Ch = e.SHA384_IV[4] | 0, this.Cl = e.SHA384_IV[5] | 0, this.Dh = e.SHA384_IV[6] | 0, this.Dl = e.SHA384_IV[7] | 0, this.Eh = e.SHA384_IV[8] | 0, this.El = e.SHA384_IV[9] | 0, this.Fh = e.SHA384_IV[10] | 0, this.Fl = e.SHA384_IV[11] | 0, this.Gh = e.SHA384_IV[12] | 0, this.Gl = e.SHA384_IV[13] | 0, this.Hh = e.SHA384_IV[14] | 0, this.Hl = e.SHA384_IV[15] | 0;
      }
    }
    pt.SHA384 = m;
    const y = Uint32Array.from([
      2352822216,
      424955298,
      1944164710,
      2312950998,
      502970286,
      855612546,
      1738396948,
      1479516111,
      258812777,
      2077511080,
      2011393907,
      79989058,
      1067287976,
      1780299464,
      286451373,
      2446758561
    ]), B = Uint32Array.from([
      573645204,
      4230739756,
      2673172387,
      3360449730,
      596883563,
      1867755857,
      2520282905,
      1497426621,
      2519219938,
      2827943907,
      3193839141,
      1401305490,
      721525244,
      746961066,
      246885852,
      2177182882
    ]);
    class v extends p {
      constructor() {
        super(28), this.Ah = y[0] | 0, this.Al = y[1] | 0, this.Bh = y[2] | 0, this.Bl = y[3] | 0, this.Ch = y[4] | 0, this.Cl = y[5] | 0, this.Dh = y[6] | 0, this.Dl = y[7] | 0, this.Eh = y[8] | 0, this.El = y[9] | 0, this.Fh = y[10] | 0, this.Fl = y[11] | 0, this.Gh = y[12] | 0, this.Gl = y[13] | 0, this.Hh = y[14] | 0, this.Hl = y[15] | 0;
      }
    }
    pt.SHA512_224 = v;
    class D extends p {
      constructor() {
        super(32), this.Ah = B[0] | 0, this.Al = B[1] | 0, this.Bh = B[2] | 0, this.Bl = B[3] | 0, this.Ch = B[4] | 0, this.Cl = B[5] | 0, this.Dh = B[6] | 0, this.Dl = B[7] | 0, this.Eh = B[8] | 0, this.El = B[9] | 0, this.Fh = B[10] | 0, this.Fl = B[11] | 0, this.Gh = B[12] | 0, this.Gl = B[13] | 0, this.Hh = B[14] | 0, this.Hl = B[15] | 0;
      }
    }
    return pt.SHA512_256 = D, pt.sha256 = (0, r.createHasher)(() => new i()), pt.sha224 = (0, r.createHasher)(() => new l()), pt.sha512 = (0, r.createHasher)(() => new p()), pt.sha384 = (0, r.createHasher)(() => new m()), pt.sha512_256 = (0, r.createHasher)(() => new D()), pt.sha512_224 = (0, r.createHasher)(() => new v()), pt;
  }
  var _4;
  function bF() {
    if (_4) return Kn;
    _4 = 1, Object.defineProperty(Kn, "__esModule", {
      value: true
    }), Kn.sha224 = Kn.SHA224 = Kn.sha256 = Kn.SHA256 = void 0;
    const e = Ay();
    return Kn.SHA256 = e.SHA256, Kn.sha256 = e.sha256, Kn.SHA224 = e.SHA224, Kn.sha224 = e.sha224, Kn;
  }
  var Gt = {}, I4;
  function wF() {
    if (I4) return Gt;
    I4 = 1, Object.defineProperty(Gt, "__esModule", {
      value: true
    }), Gt.sha512_256 = Gt.SHA512_256 = Gt.sha512_224 = Gt.SHA512_224 = Gt.sha384 = Gt.SHA384 = Gt.sha512 = Gt.SHA512 = void 0;
    const e = Ay();
    return Gt.SHA512 = e.SHA512, Gt.sha512 = e.sha512, Gt.SHA384 = e.SHA384, Gt.sha384 = e.sha384, Gt.SHA512_224 = e.SHA512_224, Gt.sha512_224 = e.sha512_224, Gt.SHA512_256 = e.SHA512_256, Gt.sha512_256 = e.sha512_256, Gt;
  }
  var vl = {}, Wh = {}, P4;
  function vF() {
    return P4 || (P4 = 1, (function(e) {
      Object.defineProperty(e, "__esModule", {
        value: true
      }), e.hmac = e.HMAC = void 0;
      const t = Fc();
      class r extends t.Hash {
        constructor(i, l) {
          super(), this.finished = false, this.destroyed = false, (0, t.ahash)(i);
          const c = (0, t.toBytes)(l);
          if (this.iHash = i.create(), typeof this.iHash.update != "function") throw new Error("Expected instance of class which extends utils.Hash");
          this.blockLen = this.iHash.blockLen, this.outputLen = this.iHash.outputLen;
          const u = this.blockLen, x = new Uint8Array(u);
          x.set(c.length > u ? i.create().update(c).digest() : c);
          for (let f = 0; f < x.length; f++) x[f] ^= 54;
          this.iHash.update(x), this.oHash = i.create();
          for (let f = 0; f < x.length; f++) x[f] ^= 106;
          this.oHash.update(x), (0, t.clean)(x);
        }
        update(i) {
          return (0, t.aexists)(this), this.iHash.update(i), this;
        }
        digestInto(i) {
          (0, t.aexists)(this), (0, t.abytes)(i, this.outputLen), this.finished = true, this.iHash.digestInto(i), this.oHash.update(i), this.oHash.digestInto(i), this.destroy();
        }
        digest() {
          const i = new Uint8Array(this.oHash.outputLen);
          return this.digestInto(i), i;
        }
        _cloneInto(i) {
          i || (i = Object.create(Object.getPrototypeOf(this), {}));
          const { oHash: l, iHash: c, finished: u, destroyed: x, blockLen: f, outputLen: h } = this;
          return i = i, i.finished = u, i.destroyed = x, i.blockLen = f, i.outputLen = h, i.oHash = l._cloneInto(i.oHash), i.iHash = c._cloneInto(i.iHash), i;
        }
        clone() {
          return this._cloneInto();
        }
        destroy() {
          this.destroyed = true, this.oHash.destroy(), this.iHash.destroy();
        }
      }
      e.HMAC = r;
      const n = (a, i, l) => new r(a, i).update(l).digest();
      e.hmac = n, e.hmac.create = (a, i) => new r(a, i);
    })(Wh)), Wh;
  }
  var N4;
  function BF() {
    if (N4) return vl;
    N4 = 1, Object.defineProperty(vl, "__esModule", {
      value: true
    }), vl.pbkdf2 = a, vl.pbkdf2Async = i;
    const e = vF(), t = Fc();
    function r(l, c, u, x) {
      (0, t.ahash)(l);
      const f = (0, t.checkOpts)({
        dkLen: 32,
        asyncTick: 10
      }, x), { c: h, dkLen: p, asyncTick: m } = f;
      if ((0, t.anumber)(h), (0, t.anumber)(p), (0, t.anumber)(m), h < 1) throw new Error("iterations (c) should be >= 1");
      const y = (0, t.kdfInputToBytes)(c), B = (0, t.kdfInputToBytes)(u), v = new Uint8Array(p), D = e.hmac.create(l, y), P = D._cloneInto().update(B);
      return {
        c: h,
        dkLen: p,
        asyncTick: m,
        DK: v,
        PRF: D,
        PRFSalt: P
      };
    }
    function n(l, c, u, x, f) {
      return l.destroy(), c.destroy(), x && x.destroy(), (0, t.clean)(f), u;
    }
    function a(l, c, u, x) {
      const { c: f, dkLen: h, DK: p, PRF: m, PRFSalt: y } = r(l, c, u, x);
      let B;
      const v = new Uint8Array(4), D = (0, t.createView)(v), P = new Uint8Array(m.outputLen);
      for (let k = 1, w = 0; w < h; k++, w += m.outputLen) {
        const _ = p.subarray(w, w + m.outputLen);
        D.setInt32(0, k, false), (B = y._cloneInto(B)).update(v).digestInto(P), _.set(P.subarray(0, _.length));
        for (let T = 1; T < f; T++) {
          m._cloneInto(B).update(P).digestInto(P);
          for (let N = 0; N < _.length; N++) _[N] ^= P[N];
        }
      }
      return n(m, y, p, B, P);
    }
    async function i(l, c, u, x) {
      const { c: f, dkLen: h, asyncTick: p, DK: m, PRF: y, PRFSalt: B } = r(l, c, u, x);
      let v;
      const D = new Uint8Array(4), P = (0, t.createView)(D), k = new Uint8Array(y.outputLen);
      for (let w = 1, _ = 0; _ < h; w++, _ += y.outputLen) {
        const T = m.subarray(_, _ + y.outputLen);
        P.setInt32(0, w, false), (v = B._cloneInto(v)).update(D).digestInto(k), T.set(k.subarray(0, T.length)), await (0, t.asyncLoop)(f - 1, p, () => {
          y._cloneInto(v).update(k).digestInto(k);
          for (let N = 0; N < T.length; N++) T[N] ^= k[N];
        });
      }
      return n(y, B, m, v, k);
    }
    return vl;
  }
  var Dr = {};
  const CF = JSON.parse('["abdikace","abeceda","adresa","agrese","akce","aktovka","alej","alkohol","amputace","ananas","andulka","anekdota","anketa","antika","anulovat","archa","arogance","asfalt","asistent","aspirace","astma","astronom","atlas","atletika","atol","autobus","azyl","babka","bachor","bacil","baculka","badatel","bageta","bagr","bahno","bakterie","balada","baletka","balkon","balonek","balvan","balza","bambus","bankomat","barbar","baret","barman","baroko","barva","baterka","batoh","bavlna","bazalka","bazilika","bazuka","bedna","beran","beseda","bestie","beton","bezinka","bezmoc","beztak","bicykl","bidlo","biftek","bikiny","bilance","biograf","biolog","bitva","bizon","blahobyt","blatouch","blecha","bledule","blesk","blikat","blizna","blokovat","bloudit","blud","bobek","bobr","bodlina","bodnout","bohatost","bojkot","bojovat","bokorys","bolest","borec","borovice","bota","boubel","bouchat","bouda","boule","bourat","boxer","bradavka","brambora","branka","bratr","brepta","briketa","brko","brloh","bronz","broskev","brunetka","brusinka","brzda","brzy","bublina","bubnovat","buchta","buditel","budka","budova","bufet","bujarost","bukvice","buldok","bulva","bunda","bunkr","burza","butik","buvol","buzola","bydlet","bylina","bytovka","bzukot","capart","carevna","cedr","cedule","cejch","cejn","cela","celer","celkem","celnice","cenina","cennost","cenovka","centrum","cenzor","cestopis","cetka","chalupa","chapadlo","charita","chata","chechtat","chemie","chichot","chirurg","chlad","chleba","chlubit","chmel","chmura","chobot","chochol","chodba","cholera","chomout","chopit","choroba","chov","chrapot","chrlit","chrt","chrup","chtivost","chudina","chutnat","chvat","chvilka","chvost","chyba","chystat","chytit","cibule","cigareta","cihelna","cihla","cinkot","cirkus","cisterna","citace","citrus","cizinec","cizost","clona","cokoliv","couvat","ctitel","ctnost","cudnost","cuketa","cukr","cupot","cvaknout","cval","cvik","cvrkot","cyklista","daleko","dareba","datel","datum","dcera","debata","dechovka","decibel","deficit","deflace","dekl","dekret","demokrat","deprese","derby","deska","detektiv","dikobraz","diktovat","dioda","diplom","disk","displej","divadlo","divoch","dlaha","dlouho","dluhopis","dnes","dobro","dobytek","docent","dochutit","dodnes","dohled","dohoda","dohra","dojem","dojnice","doklad","dokola","doktor","dokument","dolar","doleva","dolina","doma","dominant","domluvit","domov","donutit","dopad","dopis","doplnit","doposud","doprovod","dopustit","dorazit","dorost","dort","dosah","doslov","dostatek","dosud","dosyta","dotaz","dotek","dotknout","doufat","doutnat","dovozce","dozadu","doznat","dozorce","drahota","drak","dramatik","dravec","draze","drdol","drobnost","drogerie","drozd","drsnost","drtit","drzost","duben","duchovno","dudek","duha","duhovka","dusit","dusno","dutost","dvojice","dvorec","dynamit","ekolog","ekonomie","elektron","elipsa","email","emise","emoce","empatie","epizoda","epocha","epopej","epos","esej","esence","eskorta","eskymo","etiketa","euforie","evoluce","exekuce","exkurze","expedice","exploze","export","extrakt","facka","fajfka","fakulta","fanatik","fantazie","farmacie","favorit","fazole","federace","fejeton","fenka","fialka","figurant","filozof","filtr","finance","finta","fixace","fjord","flanel","flirt","flotila","fond","fosfor","fotbal","fotka","foton","frakce","freska","fronta","fukar","funkce","fyzika","galeje","garant","genetika","geolog","gilotina","glazura","glejt","golem","golfista","gotika","graf","gramofon","granule","grep","gril","grog","groteska","guma","hadice","hadr","hala","halenka","hanba","hanopis","harfa","harpuna","havran","hebkost","hejkal","hejno","hejtman","hektar","helma","hematom","herec","herna","heslo","hezky","historik","hladovka","hlasivky","hlava","hledat","hlen","hlodavec","hloh","hloupost","hltat","hlubina","hluchota","hmat","hmota","hmyz","hnis","hnojivo","hnout","hoblina","hoboj","hoch","hodiny","hodlat","hodnota","hodovat","hojnost","hokej","holinka","holka","holub","homole","honitba","honorace","horal","horda","horizont","horko","horlivec","hormon","hornina","horoskop","horstvo","hospoda","hostina","hotovost","houba","houf","houpat","houska","hovor","hradba","hranice","hravost","hrazda","hrbolek","hrdina","hrdlo","hrdost","hrnek","hrobka","hromada","hrot","hrouda","hrozen","hrstka","hrubost","hryzat","hubenost","hubnout","hudba","hukot","humr","husita","hustota","hvozd","hybnost","hydrant","hygiena","hymna","hysterik","idylka","ihned","ikona","iluze","imunita","infekce","inflace","inkaso","inovace","inspekce","internet","invalida","investor","inzerce","ironie","jablko","jachta","jahoda","jakmile","jakost","jalovec","jantar","jarmark","jaro","jasan","jasno","jatka","javor","jazyk","jedinec","jedle","jednatel","jehlan","jekot","jelen","jelito","jemnost","jenom","jepice","jeseter","jevit","jezdec","jezero","jinak","jindy","jinoch","jiskra","jistota","jitrnice","jizva","jmenovat","jogurt","jurta","kabaret","kabel","kabinet","kachna","kadet","kadidlo","kahan","kajak","kajuta","kakao","kaktus","kalamita","kalhoty","kalibr","kalnost","kamera","kamkoliv","kamna","kanibal","kanoe","kantor","kapalina","kapela","kapitola","kapka","kaple","kapota","kapr","kapusta","kapybara","karamel","karotka","karton","kasa","katalog","katedra","kauce","kauza","kavalec","kazajka","kazeta","kazivost","kdekoliv","kdesi","kedluben","kemp","keramika","kino","klacek","kladivo","klam","klapot","klasika","klaun","klec","klenba","klepat","klesnout","klid","klima","klisna","klobouk","klokan","klopa","kloub","klubovna","klusat","kluzkost","kmen","kmitat","kmotr","kniha","knot","koalice","koberec","kobka","kobliha","kobyla","kocour","kohout","kojenec","kokos","koktejl","kolaps","koleda","kolize","kolo","komando","kometa","komik","komnata","komora","kompas","komunita","konat","koncept","kondice","konec","konfese","kongres","konina","konkurs","kontakt","konzerva","kopanec","kopie","kopnout","koprovka","korbel","korektor","kormidlo","koroptev","korpus","koruna","koryto","korzet","kosatec","kostka","kotel","kotleta","kotoul","koukat","koupelna","kousek","kouzlo","kovboj","koza","kozoroh","krabice","krach","krajina","kralovat","krasopis","kravata","kredit","krejcar","kresba","kreveta","kriket","kritik","krize","krkavec","krmelec","krmivo","krocan","krok","kronika","kropit","kroupa","krovka","krtek","kruhadlo","krupice","krutost","krvinka","krychle","krypta","krystal","kryt","kudlanka","kufr","kujnost","kukla","kulajda","kulich","kulka","kulomet","kultura","kuna","kupodivu","kurt","kurzor","kutil","kvalita","kvasinka","kvestor","kynolog","kyselina","kytara","kytice","kytka","kytovec","kyvadlo","labrador","lachtan","ladnost","laik","lakomec","lamela","lampa","lanovka","lasice","laso","lastura","latinka","lavina","lebka","leckdy","leden","lednice","ledovka","ledvina","legenda","legie","legrace","lehce","lehkost","lehnout","lektvar","lenochod","lentilka","lepenka","lepidlo","letadlo","letec","letmo","letokruh","levhart","levitace","levobok","libra","lichotka","lidojed","lidskost","lihovina","lijavec","lilek","limetka","linie","linka","linoleum","listopad","litina","litovat","lobista","lodivod","logika","logoped","lokalita","loket","lomcovat","lopata","lopuch","lord","losos","lotr","loudal","louh","louka","louskat","lovec","lstivost","lucerna","lucifer","lump","lusk","lustrace","lvice","lyra","lyrika","lysina","madam","madlo","magistr","mahagon","majetek","majitel","majorita","makak","makovice","makrela","malba","malina","malovat","malvice","maminka","mandle","manko","marnost","masakr","maskot","masopust","matice","matrika","maturita","mazanec","mazivo","mazlit","mazurka","mdloba","mechanik","meditace","medovina","melasa","meloun","mentolka","metla","metoda","metr","mezera","migrace","mihnout","mihule","mikina","mikrofon","milenec","milimetr","milost","mimika","mincovna","minibar","minomet","minulost","miska","mistr","mixovat","mladost","mlha","mlhovina","mlok","mlsat","mluvit","mnich","mnohem","mobil","mocnost","modelka","modlitba","mohyla","mokro","molekula","momentka","monarcha","monokl","monstrum","montovat","monzun","mosaz","moskyt","most","motivace","motorka","motyka","moucha","moudrost","mozaika","mozek","mozol","mramor","mravenec","mrkev","mrtvola","mrzet","mrzutost","mstitel","mudrc","muflon","mulat","mumie","munice","muset","mutace","muzeum","muzikant","myslivec","mzda","nabourat","nachytat","nadace","nadbytek","nadhoz","nadobro","nadpis","nahlas","nahnat","nahodile","nahradit","naivita","najednou","najisto","najmout","naklonit","nakonec","nakrmit","nalevo","namazat","namluvit","nanometr","naoko","naopak","naostro","napadat","napevno","naplnit","napnout","naposled","naprosto","narodit","naruby","narychlo","nasadit","nasekat","naslepo","nastat","natolik","navenek","navrch","navzdory","nazvat","nebe","nechat","necky","nedaleko","nedbat","neduh","negace","nehet","nehoda","nejen","nejprve","neklid","nelibost","nemilost","nemoc","neochota","neonka","nepokoj","nerost","nerv","nesmysl","nesoulad","netvor","neuron","nevina","nezvykle","nicota","nijak","nikam","nikdy","nikl","nikterak","nitro","nocleh","nohavice","nominace","nora","norek","nositel","nosnost","nouze","noviny","novota","nozdra","nuda","nudle","nuget","nutit","nutnost","nutrie","nymfa","obal","obarvit","obava","obdiv","obec","obehnat","obejmout","obezita","obhajoba","obilnice","objasnit","objekt","obklopit","oblast","oblek","obliba","obloha","obluda","obnos","obohatit","obojek","obout","obrazec","obrna","obruba","obrys","obsah","obsluha","obstarat","obuv","obvaz","obvinit","obvod","obvykle","obyvatel","obzor","ocas","ocel","ocenit","ochladit","ochota","ochrana","ocitnout","odboj","odbyt","odchod","odcizit","odebrat","odeslat","odevzdat","odezva","odhadce","odhodit","odjet","odjinud","odkaz","odkoupit","odliv","odluka","odmlka","odolnost","odpad","odpis","odplout","odpor","odpustit","odpykat","odrazka","odsoudit","odstup","odsun","odtok","odtud","odvaha","odveta","odvolat","odvracet","odznak","ofina","ofsajd","ohlas","ohnisko","ohrada","ohrozit","ohryzek","okap","okenice","oklika","okno","okouzlit","okovy","okrasa","okres","okrsek","okruh","okupant","okurka","okusit","olejnina","olizovat","omak","omeleta","omezit","omladina","omlouvat","omluva","omyl","onehdy","opakovat","opasek","operace","opice","opilost","opisovat","opora","opozice","opravdu","oproti","orbital","orchestr","orgie","orlice","orloj","ortel","osada","oschnout","osika","osivo","oslava","oslepit","oslnit","oslovit","osnova","osoba","osolit","ospalec","osten","ostraha","ostuda","ostych","osvojit","oteplit","otisk","otop","otrhat","otrlost","otrok","otruby","otvor","ovanout","ovar","oves","ovlivnit","ovoce","oxid","ozdoba","pachatel","pacient","padouch","pahorek","pakt","palanda","palec","palivo","paluba","pamflet","pamlsek","panenka","panika","panna","panovat","panstvo","pantofle","paprika","parketa","parodie","parta","paruka","paryba","paseka","pasivita","pastelka","patent","patrona","pavouk","pazneht","pazourek","pecka","pedagog","pejsek","peklo","peloton","penalta","pendrek","penze","periskop","pero","pestrost","petarda","petice","petrolej","pevnina","pexeso","pianista","piha","pijavice","pikle","piknik","pilina","pilnost","pilulka","pinzeta","pipeta","pisatel","pistole","pitevna","pivnice","pivovar","placenta","plakat","plamen","planeta","plastika","platit","plavidlo","plaz","plech","plemeno","plenta","ples","pletivo","plevel","plivat","plnit","plno","plocha","plodina","plomba","plout","pluk","plyn","pobavit","pobyt","pochod","pocit","poctivec","podat","podcenit","podepsat","podhled","podivit","podklad","podmanit","podnik","podoba","podpora","podraz","podstata","podvod","podzim","poezie","pohanka","pohnutka","pohovor","pohroma","pohyb","pointa","pojistka","pojmout","pokazit","pokles","pokoj","pokrok","pokuta","pokyn","poledne","polibek","polknout","poloha","polynom","pomalu","pominout","pomlka","pomoc","pomsta","pomyslet","ponechat","ponorka","ponurost","popadat","popel","popisek","poplach","poprosit","popsat","popud","poradce","porce","porod","porucha","poryv","posadit","posed","posila","poskok","poslanec","posoudit","pospolu","postava","posudek","posyp","potah","potkan","potlesk","potomek","potrava","potupa","potvora","poukaz","pouto","pouzdro","povaha","povidla","povlak","povoz","povrch","povstat","povyk","povzdech","pozdrav","pozemek","poznatek","pozor","pozvat","pracovat","prahory","praktika","prales","praotec","praporek","prase","pravda","princip","prkno","probudit","procento","prodej","profese","prohra","projekt","prolomit","promile","pronikat","propad","prorok","prosba","proton","proutek","provaz","prskavka","prsten","prudkost","prut","prvek","prvohory","psanec","psovod","pstruh","ptactvo","puberta","puch","pudl","pukavec","puklina","pukrle","pult","pumpa","punc","pupen","pusa","pusinka","pustina","putovat","putyka","pyramida","pysk","pytel","racek","rachot","radiace","radnice","radon","raft","ragby","raketa","rakovina","rameno","rampouch","rande","rarach","rarita","rasovna","rastr","ratolest","razance","razidlo","reagovat","reakce","recept","redaktor","referent","reflex","rejnok","reklama","rekord","rekrut","rektor","reputace","revize","revma","revolver","rezerva","riskovat","riziko","robotika","rodokmen","rohovka","rokle","rokoko","romaneto","ropovod","ropucha","rorejs","rosol","rostlina","rotmistr","rotoped","rotunda","roubenka","roucho","roup","roura","rovina","rovnice","rozbor","rozchod","rozdat","rozeznat","rozhodce","rozinka","rozjezd","rozkaz","rozloha","rozmar","rozpad","rozruch","rozsah","roztok","rozum","rozvod","rubrika","ruchadlo","rukavice","rukopis","ryba","rybolov","rychlost","rydlo","rypadlo","rytina","ryzost","sadista","sahat","sako","samec","samizdat","samota","sanitka","sardinka","sasanka","satelit","sazba","sazenice","sbor","schovat","sebranka","secese","sedadlo","sediment","sedlo","sehnat","sejmout","sekera","sekta","sekunda","sekvoje","semeno","seno","servis","sesadit","seshora","seskok","seslat","sestra","sesuv","sesypat","setba","setina","setkat","setnout","setrvat","sever","seznam","shoda","shrnout","sifon","silnice","sirka","sirotek","sirup","situace","skafandr","skalisko","skanzen","skaut","skeptik","skica","skladba","sklenice","sklo","skluz","skoba","skokan","skoro","skripta","skrz","skupina","skvost","skvrna","slabika","sladidlo","slanina","slast","slavnost","sledovat","slepec","sleva","slezina","slib","slina","sliznice","slon","sloupek","slovo","sluch","sluha","slunce","slupka","slza","smaragd","smetana","smilstvo","smlouva","smog","smrad","smrk","smrtka","smutek","smysl","snad","snaha","snob","sobota","socha","sodovka","sokol","sopka","sotva","souboj","soucit","soudce","souhlas","soulad","soumrak","souprava","soused","soutok","souviset","spalovna","spasitel","spis","splav","spodek","spojenec","spolu","sponzor","spornost","spousta","sprcha","spustit","sranda","sraz","srdce","srna","srnec","srovnat","srpen","srst","srub","stanice","starosta","statika","stavba","stehno","stezka","stodola","stolek","stopa","storno","stoupat","strach","stres","strhnout","strom","struna","studna","stupnice","stvol","styk","subjekt","subtropy","suchar","sudost","sukno","sundat","sunout","surikata","surovina","svah","svalstvo","svetr","svatba","svazek","svisle","svitek","svoboda","svodidlo","svorka","svrab","sykavka","sykot","synek","synovec","sypat","sypkost","syrovost","sysel","sytost","tabletka","tabule","tahoun","tajemno","tajfun","tajga","tajit","tajnost","taktika","tamhle","tampon","tancovat","tanec","tanker","tapeta","tavenina","tazatel","technika","tehdy","tekutina","telefon","temnota","tendence","tenista","tenor","teplota","tepna","teprve","terapie","termoska","textil","ticho","tiskopis","titulek","tkadlec","tkanina","tlapka","tleskat","tlukot","tlupa","tmel","toaleta","topinka","topol","torzo","touha","toulec","tradice","traktor","tramp","trasa","traverza","trefit","trest","trezor","trhavina","trhlina","trochu","trojice","troska","trouba","trpce","trpitel","trpkost","trubec","truchlit","truhlice","trus","trvat","tudy","tuhnout","tuhost","tundra","turista","turnaj","tuzemsko","tvaroh","tvorba","tvrdost","tvrz","tygr","tykev","ubohost","uboze","ubrat","ubrousek","ubrus","ubytovna","ucho","uctivost","udivit","uhradit","ujednat","ujistit","ujmout","ukazatel","uklidnit","uklonit","ukotvit","ukrojit","ulice","ulita","ulovit","umyvadlo","unavit","uniforma","uniknout","upadnout","uplatnit","uplynout","upoutat","upravit","uran","urazit","usednout","usilovat","usmrtit","usnadnit","usnout","usoudit","ustlat","ustrnout","utahovat","utkat","utlumit","utonout","utopenec","utrousit","uvalit","uvolnit","uvozovka","uzdravit","uzel","uzenina","uzlina","uznat","vagon","valcha","valoun","vana","vandal","vanilka","varan","varhany","varovat","vcelku","vchod","vdova","vedro","vegetace","vejce","velbloud","veletrh","velitel","velmoc","velryba","venkov","veranda","verze","veselka","veskrze","vesnice","vespodu","vesta","veterina","veverka","vibrace","vichr","videohra","vidina","vidle","vila","vinice","viset","vitalita","vize","vizitka","vjezd","vklad","vkus","vlajka","vlak","vlasec","vlevo","vlhkost","vliv","vlnovka","vloupat","vnucovat","vnuk","voda","vodivost","vodoznak","vodstvo","vojensky","vojna","vojsko","volant","volba","volit","volno","voskovka","vozidlo","vozovna","vpravo","vrabec","vracet","vrah","vrata","vrba","vrcholek","vrhat","vrstva","vrtule","vsadit","vstoupit","vstup","vtip","vybavit","vybrat","vychovat","vydat","vydra","vyfotit","vyhledat","vyhnout","vyhodit","vyhradit","vyhubit","vyjasnit","vyjet","vyjmout","vyklopit","vykonat","vylekat","vymazat","vymezit","vymizet","vymyslet","vynechat","vynikat","vynutit","vypadat","vyplatit","vypravit","vypustit","vyrazit","vyrovnat","vyrvat","vyslovit","vysoko","vystavit","vysunout","vysypat","vytasit","vytesat","vytratit","vyvinout","vyvolat","vyvrhel","vyzdobit","vyznat","vzadu","vzbudit","vzchopit","vzdor","vzduch","vzdychat","vzestup","vzhledem","vzkaz","vzlykat","vznik","vzorek","vzpoura","vztah","vztek","xylofon","zabrat","zabydlet","zachovat","zadarmo","zadusit","zafoukat","zahltit","zahodit","zahrada","zahynout","zajatec","zajet","zajistit","zaklepat","zakoupit","zalepit","zamezit","zamotat","zamyslet","zanechat","zanikat","zaplatit","zapojit","zapsat","zarazit","zastavit","zasunout","zatajit","zatemnit","zatknout","zaujmout","zavalit","zavelet","zavinit","zavolat","zavrtat","zazvonit","zbavit","zbrusu","zbudovat","zbytek","zdaleka","zdarma","zdatnost","zdivo","zdobit","zdroj","zdvih","zdymadlo","zelenina","zeman","zemina","zeptat","zezadu","zezdola","zhatit","zhltnout","zhluboka","zhotovit","zhruba","zima","zimnice","zjemnit","zklamat","zkoumat","zkratka","zkumavka","zlato","zlehka","zloba","zlom","zlost","zlozvyk","zmapovat","zmar","zmatek","zmije","zmizet","zmocnit","zmodrat","zmrzlina","zmutovat","znak","znalost","znamenat","znovu","zobrazit","zotavit","zoubek","zoufale","zplodit","zpomalit","zprava","zprostit","zprudka","zprvu","zrada","zranit","zrcadlo","zrnitost","zrno","zrovna","zrychlit","zrzavost","zticha","ztratit","zubovina","zubr","zvednout","zvenku","zvesela","zvon","zvrat","zvukovod","zvyk"]'), kF = JSON.parse('["\u7684","\u4E00","\u662F","\u5728","\u4E0D","\u4E86","\u6709","\u548C","\u4EBA","\u8FD9","\u4E2D","\u5927","\u4E3A","\u4E0A","\u4E2A","\u56FD","\u6211","\u4EE5","\u8981","\u4ED6","\u65F6","\u6765","\u7528","\u4EEC","\u751F","\u5230","\u4F5C","\u5730","\u4E8E","\u51FA","\u5C31","\u5206","\u5BF9","\u6210","\u4F1A","\u53EF","\u4E3B","\u53D1","\u5E74","\u52A8","\u540C","\u5DE5","\u4E5F","\u80FD","\u4E0B","\u8FC7","\u5B50","\u8BF4","\u4EA7","\u79CD","\u9762","\u800C","\u65B9","\u540E","\u591A","\u5B9A","\u884C","\u5B66","\u6CD5","\u6240","\u6C11","\u5F97","\u7ECF","\u5341","\u4E09","\u4E4B","\u8FDB","\u7740","\u7B49","\u90E8","\u5EA6","\u5BB6","\u7535","\u529B","\u91CC","\u5982","\u6C34","\u5316","\u9AD8","\u81EA","\u4E8C","\u7406","\u8D77","\u5C0F","\u7269","\u73B0","\u5B9E","\u52A0","\u91CF","\u90FD","\u4E24","\u4F53","\u5236","\u673A","\u5F53","\u4F7F","\u70B9","\u4ECE","\u4E1A","\u672C","\u53BB","\u628A","\u6027","\u597D","\u5E94","\u5F00","\u5B83","\u5408","\u8FD8","\u56E0","\u7531","\u5176","\u4E9B","\u7136","\u524D","\u5916","\u5929","\u653F","\u56DB","\u65E5","\u90A3","\u793E","\u4E49","\u4E8B","\u5E73","\u5F62","\u76F8","\u5168","\u8868","\u95F4","\u6837","\u4E0E","\u5173","\u5404","\u91CD","\u65B0","\u7EBF","\u5185","\u6570","\u6B63","\u5FC3","\u53CD","\u4F60","\u660E","\u770B","\u539F","\u53C8","\u4E48","\u5229","\u6BD4","\u6216","\u4F46","\u8D28","\u6C14","\u7B2C","\u5411","\u9053","\u547D","\u6B64","\u53D8","\u6761","\u53EA","\u6CA1","\u7ED3","\u89E3","\u95EE","\u610F","\u5EFA","\u6708","\u516C","\u65E0","\u7CFB","\u519B","\u5F88","\u60C5","\u8005","\u6700","\u7ACB","\u4EE3","\u60F3","\u5DF2","\u901A","\u5E76","\u63D0","\u76F4","\u9898","\u515A","\u7A0B","\u5C55","\u4E94","\u679C","\u6599","\u8C61","\u5458","\u9769","\u4F4D","\u5165","\u5E38","\u6587","\u603B","\u6B21","\u54C1","\u5F0F","\u6D3B","\u8BBE","\u53CA","\u7BA1","\u7279","\u4EF6","\u957F","\u6C42","\u8001","\u5934","\u57FA","\u8D44","\u8FB9","\u6D41","\u8DEF","\u7EA7","\u5C11","\u56FE","\u5C71","\u7EDF","\u63A5","\u77E5","\u8F83","\u5C06","\u7EC4","\u89C1","\u8BA1","\u522B","\u5979","\u624B","\u89D2","\u671F","\u6839","\u8BBA","\u8FD0","\u519C","\u6307","\u51E0","\u4E5D","\u533A","\u5F3A","\u653E","\u51B3","\u897F","\u88AB","\u5E72","\u505A","\u5FC5","\u6218","\u5148","\u56DE","\u5219","\u4EFB","\u53D6","\u636E","\u5904","\u961F","\u5357","\u7ED9","\u8272","\u5149","\u95E8","\u5373","\u4FDD","\u6CBB","\u5317","\u9020","\u767E","\u89C4","\u70ED","\u9886","\u4E03","\u6D77","\u53E3","\u4E1C","\u5BFC","\u5668","\u538B","\u5FD7","\u4E16","\u91D1","\u589E","\u4E89","\u6D4E","\u9636","\u6CB9","\u601D","\u672F","\u6781","\u4EA4","\u53D7","\u8054","\u4EC0","\u8BA4","\u516D","\u5171","\u6743","\u6536","\u8BC1","\u6539","\u6E05","\u7F8E","\u518D","\u91C7","\u8F6C","\u66F4","\u5355","\u98CE","\u5207","\u6253","\u767D","\u6559","\u901F","\u82B1","\u5E26","\u5B89","\u573A","\u8EAB","\u8F66","\u4F8B","\u771F","\u52A1","\u5177","\u4E07","\u6BCF","\u76EE","\u81F3","\u8FBE","\u8D70","\u79EF","\u793A","\u8BAE","\u58F0","\u62A5","\u6597","\u5B8C","\u7C7B","\u516B","\u79BB","\u534E","\u540D","\u786E","\u624D","\u79D1","\u5F20","\u4FE1","\u9A6C","\u8282","\u8BDD","\u7C73","\u6574","\u7A7A","\u5143","\u51B5","\u4ECA","\u96C6","\u6E29","\u4F20","\u571F","\u8BB8","\u6B65","\u7FA4","\u5E7F","\u77F3","\u8BB0","\u9700","\u6BB5","\u7814","\u754C","\u62C9","\u6797","\u5F8B","\u53EB","\u4E14","\u7A76","\u89C2","\u8D8A","\u7EC7","\u88C5","\u5F71","\u7B97","\u4F4E","\u6301","\u97F3","\u4F17","\u4E66","\u5E03","\u590D","\u5BB9","\u513F","\u987B","\u9645","\u5546","\u975E","\u9A8C","\u8FDE","\u65AD","\u6DF1","\u96BE","\u8FD1","\u77FF","\u5343","\u5468","\u59D4","\u7D20","\u6280","\u5907","\u534A","\u529E","\u9752","\u7701","\u5217","\u4E60","\u54CD","\u7EA6","\u652F","\u822C","\u53F2","\u611F","\u52B3","\u4FBF","\u56E2","\u5F80","\u9178","\u5386","\u5E02","\u514B","\u4F55","\u9664","\u6D88","\u6784","\u5E9C","\u79F0","\u592A","\u51C6","\u7CBE","\u503C","\u53F7","\u7387","\u65CF","\u7EF4","\u5212","\u9009","\u6807","\u5199","\u5B58","\u5019","\u6BDB","\u4EB2","\u5FEB","\u6548","\u65AF","\u9662","\u67E5","\u6C5F","\u578B","\u773C","\u738B","\u6309","\u683C","\u517B","\u6613","\u7F6E","\u6D3E","\u5C42","\u7247","\u59CB","\u5374","\u4E13","\u72B6","\u80B2","\u5382","\u4EAC","\u8BC6","\u9002","\u5C5E","\u5706","\u5305","\u706B","\u4F4F","\u8C03","\u6EE1","\u53BF","\u5C40","\u7167","\u53C2","\u7EA2","\u7EC6","\u5F15","\u542C","\u8BE5","\u94C1","\u4EF7","\u4E25","\u9996","\u5E95","\u6DB2","\u5B98","\u5FB7","\u968F","\u75C5","\u82CF","\u5931","\u5C14","\u6B7B","\u8BB2","\u914D","\u5973","\u9EC4","\u63A8","\u663E","\u8C08","\u7F6A","\u795E","\u827A","\u5462","\u5E2D","\u542B","\u4F01","\u671B","\u5BC6","\u6279","\u8425","\u9879","\u9632","\u4E3E","\u7403","\u82F1","\u6C27","\u52BF","\u544A","\u674E","\u53F0","\u843D","\u6728","\u5E2E","\u8F6E","\u7834","\u4E9A","\u5E08","\u56F4","\u6CE8","\u8FDC","\u5B57","\u6750","\u6392","\u4F9B","\u6CB3","\u6001","\u5C01","\u53E6","\u65BD","\u51CF","\u6811","\u6EB6","\u600E","\u6B62","\u6848","\u8A00","\u58EB","\u5747","\u6B66","\u56FA","\u53F6","\u9C7C","\u6CE2","\u89C6","\u4EC5","\u8D39","\u7D27","\u7231","\u5DE6","\u7AE0","\u65E9","\u671D","\u5BB3","\u7EED","\u8F7B","\u670D","\u8BD5","\u98DF","\u5145","\u5175","\u6E90","\u5224","\u62A4","\u53F8","\u8DB3","\u67D0","\u7EC3","\u5DEE","\u81F4","\u677F","\u7530","\u964D","\u9ED1","\u72AF","\u8D1F","\u51FB","\u8303","\u7EE7","\u5174","\u4F3C","\u4F59","\u575A","\u66F2","\u8F93","\u4FEE","\u6545","\u57CE","\u592B","\u591F","\u9001","\u7B14","\u8239","\u5360","\u53F3","\u8D22","\u5403","\u5BCC","\u6625","\u804C","\u89C9","\u6C49","\u753B","\u529F","\u5DF4","\u8DDF","\u867D","\u6742","\u98DE","\u68C0","\u5438","\u52A9","\u5347","\u9633","\u4E92","\u521D","\u521B","\u6297","\u8003","\u6295","\u574F","\u7B56","\u53E4","\u5F84","\u6362","\u672A","\u8DD1","\u7559","\u94A2","\u66FE","\u7AEF","\u8D23","\u7AD9","\u7B80","\u8FF0","\u94B1","\u526F","\u5C3D","\u5E1D","\u5C04","\u8349","\u51B2","\u627F","\u72EC","\u4EE4","\u9650","\u963F","\u5BA3","\u73AF","\u53CC","\u8BF7","\u8D85","\u5FAE","\u8BA9","\u63A7","\u5DDE","\u826F","\u8F74","\u627E","\u5426","\u7EAA","\u76CA","\u4F9D","\u4F18","\u9876","\u7840","\u8F7D","\u5012","\u623F","\u7A81","\u5750","\u7C89","\u654C","\u7565","\u5BA2","\u8881","\u51B7","\u80DC","\u7EDD","\u6790","\u5757","\u5242","\u6D4B","\u4E1D","\u534F","\u8BC9","\u5FF5","\u9648","\u4ECD","\u7F57","\u76D0","\u53CB","\u6D0B","\u9519","\u82E6","\u591C","\u5211","\u79FB","\u9891","\u9010","\u9760","\u6DF7","\u6BCD","\u77ED","\u76AE","\u7EC8","\u805A","\u6C7D","\u6751","\u4E91","\u54EA","\u65E2","\u8DDD","\u536B","\u505C","\u70C8","\u592E","\u5BDF","\u70E7","\u8FC5","\u5883","\u82E5","\u5370","\u6D32","\u523B","\u62EC","\u6FC0","\u5B54","\u641E","\u751A","\u5BA4","\u5F85","\u6838","\u6821","\u6563","\u4FB5","\u5427","\u7532","\u6E38","\u4E45","\u83DC","\u5473","\u65E7","\u6A21","\u6E56","\u8D27","\u635F","\u9884","\u963B","\u6BEB","\u666E","\u7A33","\u4E59","\u5988","\u690D","\u606F","\u6269","\u94F6","\u8BED","\u6325","\u9152","\u5B88","\u62FF","\u5E8F","\u7EB8","\u533B","\u7F3A","\u96E8","\u5417","\u9488","\u5218","\u554A","\u6025","\u5531","\u8BEF","\u8BAD","\u613F","\u5BA1","\u9644","\u83B7","\u8336","\u9C9C","\u7CAE","\u65A4","\u5B69","\u8131","\u786B","\u80A5","\u5584","\u9F99","\u6F14","\u7236","\u6E10","\u8840","\u6B22","\u68B0","\u638C","\u6B4C","\u6C99","\u521A","\u653B","\u8C13","\u76FE","\u8BA8","\u665A","\u7C92","\u4E71","\u71C3","\u77DB","\u4E4E","\u6740","\u836F","\u5B81","\u9C81","\u8D35","\u949F","\u7164","\u8BFB","\u73ED","\u4F2F","\u9999","\u4ECB","\u8FEB","\u53E5","\u4E30","\u57F9","\u63E1","\u5170","\u62C5","\u5F26","\u86CB","\u6C89","\u5047","\u7A7F","\u6267","\u7B54","\u4E50","\u8C01","\u987A","\u70DF","\u7F29","\u5F81","\u8138","\u559C","\u677E","\u811A","\u56F0","\u5F02","\u514D","\u80CC","\u661F","\u798F","\u4E70","\u67D3","\u4E95","\u6982","\u6162","\u6015","\u78C1","\u500D","\u7956","\u7687","\u4FC3","\u9759","\u8865","\u8BC4","\u7FFB","\u8089","\u8DF5","\u5C3C","\u8863","\u5BBD","\u626C","\u68C9","\u5E0C","\u4F24","\u64CD","\u5782","\u79CB","\u5B9C","\u6C22","\u5957","\u7763","\u632F","\u67B6","\u4EAE","\u672B","\u5BAA","\u5E86","\u7F16","\u725B","\u89E6","\u6620","\u96F7","\u9500","\u8BD7","\u5EA7","\u5C45","\u6293","\u88C2","\u80DE","\u547C","\u5A18","\u666F","\u5A01","\u7EFF","\u6676","\u539A","\u76DF","\u8861","\u9E21","\u5B59","\u5EF6","\u5371","\u80F6","\u5C4B","\u4E61","\u4E34","\u9646","\u987E","\u6389","\u5440","\u706F","\u5C81","\u63AA","\u675F","\u8010","\u5267","\u7389","\u8D75","\u8DF3","\u54E5","\u5B63","\u8BFE","\u51EF","\u80E1","\u989D","\u6B3E","\u7ECD","\u5377","\u9F50","\u4F1F","\u84B8","\u6B96","\u6C38","\u5B97","\u82D7","\u5DDD","\u7089","\u5CA9","\u5F31","\u96F6","\u6768","\u594F","\u6CBF","\u9732","\u6746","\u63A2","\u6ED1","\u9547","\u996D","\u6D53","\u822A","\u6000","\u8D76","\u5E93","\u593A","\u4F0A","\u7075","\u7A0E","\u9014","\u706D","\u8D5B","\u5F52","\u53EC","\u9F13","\u64AD","\u76D8","\u88C1","\u9669","\u5EB7","\u552F","\u5F55","\u83CC","\u7EAF","\u501F","\u7CD6","\u76D6","\u6A2A","\u7B26","\u79C1","\u52AA","\u5802","\u57DF","\u67AA","\u6DA6","\u5E45","\u54C8","\u7ADF","\u719F","\u866B","\u6CFD","\u8111","\u58E4","\u78B3","\u6B27","\u904D","\u4FA7","\u5BE8","\u6562","\u5F7B","\u8651","\u659C","\u8584","\u5EAD","\u7EB3","\u5F39","\u9972","\u4F38","\u6298","\u9EA6","\u6E7F","\u6697","\u8377","\u74E6","\u585E","\u5E8A","\u7B51","\u6076","\u6237","\u8BBF","\u5854","\u5947","\u900F","\u6881","\u5200","\u65CB","\u8FF9","\u5361","\u6C2F","\u9047","\u4EFD","\u6BD2","\u6CE5","\u9000","\u6D17","\u6446","\u7070","\u5F69","\u5356","\u8017","\u590F","\u62E9","\u5FD9","\u94DC","\u732E","\u786C","\u4E88","\u7E41","\u5708","\u96EA","\u51FD","\u4EA6","\u62BD","\u7BC7","\u9635","\u9634","\u4E01","\u5C3A","\u8FFD","\u5806","\u96C4","\u8FCE","\u6CDB","\u7238","\u697C","\u907F","\u8C0B","\u5428","\u91CE","\u732A","\u65D7","\u7D2F","\u504F","\u5178","\u9986","\u7D22","\u79E6","\u8102","\u6F6E","\u7237","\u8C46","\u5FFD","\u6258","\u60CA","\u5851","\u9057","\u6108","\u6731","\u66FF","\u7EA4","\u7C97","\u503E","\u5C1A","\u75DB","\u695A","\u8C22","\u594B","\u8D2D","\u78E8","\u541B","\u6C60","\u65C1","\u788E","\u9AA8","\u76D1","\u6355","\u5F1F","\u66B4","\u5272","\u8D2F","\u6B8A","\u91CA","\u8BCD","\u4EA1","\u58C1","\u987F","\u5B9D","\u5348","\u5C18","\u95FB","\u63ED","\u70AE","\u6B8B","\u51AC","\u6865","\u5987","\u8B66","\u7EFC","\u62DB","\u5434","\u4ED8","\u6D6E","\u906D","\u5F90","\u60A8","\u6447","\u8C37","\u8D5E","\u7BB1","\u9694","\u8BA2","\u7537","\u5439","\u56ED","\u7EB7","\u5510","\u8D25","\u5B8B","\u73BB","\u5DE8","\u8015","\u5766","\u8363","\u95ED","\u6E7E","\u952E","\u51E1","\u9A7B","\u9505","\u6551","\u6069","\u5265","\u51DD","\u78B1","\u9F7F","\u622A","\u70BC","\u9EBB","\u7EBA","\u7981","\u5E9F","\u76DB","\u7248","\u7F13","\u51C0","\u775B","\u660C","\u5A5A","\u6D89","\u7B52","\u5634","\u63D2","\u5CB8","\u6717","\u5E84","\u8857","\u85CF","\u59D1","\u8D38","\u8150","\u5974","\u5566","\u60EF","\u4E58","\u4F19","\u6062","\u5300","\u7EB1","\u624E","\u8FA9","\u8033","\u5F6A","\u81E3","\u4EBF","\u7483","\u62B5","\u8109","\u79C0","\u8428","\u4FC4","\u7F51","\u821E","\u5E97","\u55B7","\u7EB5","\u5BF8","\u6C57","\u6302","\u6D2A","\u8D3A","\u95EA","\u67EC","\u7206","\u70EF","\u6D25","\u7A3B","\u5899","\u8F6F","\u52C7","\u50CF","\u6EDA","\u5398","\u8499","\u82B3","\u80AF","\u5761","\u67F1","\u8361","\u817F","\u4EEA","\u65C5","\u5C3E","\u8F67","\u51B0","\u8D21","\u767B","\u9ECE","\u524A","\u94BB","\u52D2","\u9003","\u969C","\u6C28","\u90ED","\u5CF0","\u5E01","\u6E2F","\u4F0F","\u8F68","\u4EA9","\u6BD5","\u64E6","\u83AB","\u523A","\u6D6A","\u79D8","\u63F4","\u682A","\u5065","\u552E","\u80A1","\u5C9B","\u7518","\u6CE1","\u7761","\u7AE5","\u94F8","\u6C64","\u9600","\u4F11","\u6C47","\u820D","\u7267","\u7ED5","\u70B8","\u54F2","\u78F7","\u7EE9","\u670B","\u6DE1","\u5C16","\u542F","\u9677","\u67F4","\u5448","\u5F92","\u989C","\u6CEA","\u7A0D","\u5FD8","\u6CF5","\u84DD","\u62D6","\u6D1E","\u6388","\u955C","\u8F9B","\u58EE","\u950B","\u8D2B","\u865A","\u5F2F","\u6469","\u6CF0","\u5E7C","\u5EF7","\u5C0A","\u7A97","\u7EB2","\u5F04","\u96B6","\u7591","\u6C0F","\u5BAB","\u59D0","\u9707","\u745E","\u602A","\u5C24","\u7434","\u5FAA","\u63CF","\u819C","\u8FDD","\u5939","\u8170","\u7F18","\u73E0","\u7A77","\u68EE","\u679D","\u7AF9","\u6C9F","\u50AC","\u7EF3","\u5FC6","\u90A6","\u5269","\u5E78","\u6D46","\u680F","\u62E5","\u7259","\u8D2E","\u793C","\u6EE4","\u94A0","\u7EB9","\u7F62","\u62CD","\u54B1","\u558A","\u8896","\u57C3","\u52E4","\u7F5A","\u7126","\u6F5C","\u4F0D","\u58A8","\u6B32","\u7F1D","\u59D3","\u520A","\u9971","\u4EFF","\u5956","\u94DD","\u9B3C","\u4E3D","\u8DE8","\u9ED8","\u6316","\u94FE","\u626B","\u559D","\u888B","\u70AD","\u6C61","\u5E55","\u8BF8","\u5F27","\u52B1","\u6885","\u5976","\u6D01","\u707E","\u821F","\u9274","\u82EF","\u8BBC","\u62B1","\u6BC1","\u61C2","\u5BD2","\u667A","\u57D4","\u5BC4","\u5C4A","\u8DC3","\u6E21","\u6311","\u4E39","\u8270","\u8D1D","\u78B0","\u62D4","\u7239","\u6234","\u7801","\u68A6","\u82BD","\u7194","\u8D64","\u6E14","\u54ED","\u656C","\u9897","\u5954","\u94C5","\u4EF2","\u864E","\u7A00","\u59B9","\u4E4F","\u73CD","\u7533","\u684C","\u9075","\u5141","\u9686","\u87BA","\u4ED3","\u9B4F","\u9510","\u6653","\u6C2E","\u517C","\u9690","\u788D","\u8D6B","\u62E8","\u5FE0","\u8083","\u7F38","\u7275","\u62A2","\u535A","\u5DE7","\u58F3","\u5144","\u675C","\u8BAF","\u8BDA","\u78A7","\u7965","\u67EF","\u9875","\u5DE1","\u77E9","\u60B2","\u704C","\u9F84","\u4F26","\u7968","\u5BFB","\u6842","\u94FA","\u5723","\u6050","\u6070","\u90D1","\u8DA3","\u62AC","\u8352","\u817E","\u8D34","\u67D4","\u6EF4","\u731B","\u9614","\u8F86","\u59BB","\u586B","\u64A4","\u50A8","\u7B7E","\u95F9","\u6270","\u7D2B","\u7802","\u9012","\u620F","\u540A","\u9676","\u4F10","\u5582","\u7597","\u74F6","\u5A46","\u629A","\u81C2","\u6478","\u5FCD","\u867E","\u8721","\u90BB","\u80F8","\u5DE9","\u6324","\u5076","\u5F03","\u69FD","\u52B2","\u4E73","\u9093","\u5409","\u4EC1","\u70C2","\u7816","\u79DF","\u4E4C","\u8230","\u4F34","\u74DC","\u6D45","\u4E19","\u6682","\u71E5","\u6A61","\u67F3","\u8FF7","\u6696","\u724C","\u79E7","\u80C6","\u8BE6","\u7C27","\u8E0F","\u74F7","\u8C31","\u5446","\u5BBE","\u7CCA","\u6D1B","\u8F89","\u6124","\u7ADE","\u9699","\u6012","\u7C98","\u4E43","\u7EEA","\u80A9","\u7C4D","\u654F","\u6D82","\u7199","\u7686","\u4FA6","\u60AC","\u6398","\u4EAB","\u7EA0","\u9192","\u72C2","\u9501","\u6DC0","\u6068","\u7272","\u9738","\u722C","\u8D4F","\u9006","\u73A9","\u9675","\u795D","\u79D2","\u6D59","\u8C8C","\u5F79","\u5F7C","\u6089","\u9E2D","\u8D8B","\u51E4","\u6668","\u755C","\u8F88","\u79E9","\u5375","\u7F72","\u68AF","\u708E","\u6EE9","\u68CB","\u9A71","\u7B5B","\u5CE1","\u5192","\u5565","\u5BFF","\u8BD1","\u6D78","\u6CC9","\u5E3D","\u8FDF","\u7845","\u7586","\u8D37","\u6F0F","\u7A3F","\u51A0","\u5AE9","\u80C1","\u82AF","\u7262","\u53DB","\u8680","\u5965","\u9E23","\u5CAD","\u7F8A","\u51ED","\u4E32","\u5858","\u7ED8","\u9175","\u878D","\u76C6","\u9521","\u5E99","\u7B79","\u51BB","\u8F85","\u6444","\u88AD","\u7B4B","\u62D2","\u50DA","\u65F1","\u94BE","\u9E1F","\u6F06","\u6C88","\u7709","\u758F","\u6DFB","\u68D2","\u7A57","\u785D","\u97E9","\u903C","\u626D","\u4FA8","\u51C9","\u633A","\u7897","\u683D","\u7092","\u676F","\u60A3","\u998F","\u529D","\u8C6A","\u8FBD","\u52C3","\u9E3F","\u65E6","\u540F","\u62DC","\u72D7","\u57CB","\u8F8A","\u63A9","\u996E","\u642C","\u9A82","\u8F9E","\u52FE","\u6263","\u4F30","\u848B","\u7ED2","\u96FE","\u4E08","\u6735","\u59C6","\u62DF","\u5B87","\u8F91","\u9655","\u96D5","\u507F","\u84C4","\u5D07","\u526A","\u5021","\u5385","\u54AC","\u9A76","\u85AF","\u5237","\u65A5","\u756A","\u8D4B","\u5949","\u4F5B","\u6D47","\u6F2B","\u66FC","\u6247","\u9499","\u6843","\u6276","\u4ED4","\u8FD4","\u4FD7","\u4E8F","\u8154","\u978B","\u68F1","\u8986","\u6846","\u6084","\u53D4","\u649E","\u9A97","\u52D8","\u65FA","\u6CB8","\u5B64","\u5410","\u5B5F","\u6E20","\u5C48","\u75BE","\u5999","\u60DC","\u4EF0","\u72E0","\u80C0","\u8C10","\u629B","\u9709","\u6851","\u5C97","\u561B","\u8870","\u76D7","\u6E17","\u810F","\u8D56","\u6D8C","\u751C","\u66F9","\u9605","\u808C","\u54E9","\u5389","\u70C3","\u7EAC","\u6BC5","\u6628","\u4F2A","\u75C7","\u716E","\u53F9","\u9489","\u642D","\u830E","\u7B3C","\u9177","\u5077","\u5F13","\u9525","\u6052","\u6770","\u5751","\u9F3B","\u7FFC","\u7EB6","\u53D9","\u72F1","\u902E","\u7F50","\u7EDC","\u68DA","\u6291","\u81A8","\u852C","\u5BFA","\u9AA4","\u7A46","\u51B6","\u67AF","\u518C","\u5C38","\u51F8","\u7EC5","\u576F","\u727A","\u7130","\u8F70","\u6B23","\u664B","\u7626","\u5FA1","\u952D","\u9526","\u4E27","\u65EC","\u953B","\u5784","\u641C","\u6251","\u9080","\u4EAD","\u916F","\u8FC8","\u8212","\u8106","\u9176","\u95F2","\u5FE7","\u915A","\u987D","\u7FBD","\u6DA8","\u5378","\u4ED7","\u966A","\u8F9F","\u60E9","\u676D","\u59DA","\u809A","\u6349","\u98D8","\u6F02","\u6606","\u6B3A","\u543E","\u90CE","\u70F7","\u6C41","\u5475","\u9970","\u8427","\u96C5","\u90AE","\u8FC1","\u71D5","\u6492","\u59FB","\u8D74","\u5BB4","\u70E6","\u503A","\u5E10","\u6591","\u94C3","\u65E8","\u9187","\u8463","\u997C","\u96CF","\u59FF","\u62CC","\u5085","\u8179","\u59A5","\u63C9","\u8D24","\u62C6","\u6B6A","\u8461","\u80FA","\u4E22","\u6D69","\u5FBD","\u6602","\u57AB","\u6321","\u89C8","\u8D2A","\u6170","\u7F34","\u6C6A","\u614C","\u51AF","\u8BFA","\u59DC","\u8C0A","\u51F6","\u52A3","\u8BEC","\u8000","\u660F","\u8EBA","\u76C8","\u9A91","\u4E54","\u6EAA","\u4E1B","\u5362","\u62B9","\u95F7","\u54A8","\u522E","\u9A7E","\u7F06","\u609F","\u6458","\u94D2","\u63B7","\u9887","\u5E7B","\u67C4","\u60E0","\u60E8","\u4F73","\u4EC7","\u814A","\u7A9D","\u6DA4","\u5251","\u77A7","\u5821","\u6CFC","\u8471","\u7F69","\u970D","\u635E","\u80CE","\u82CD","\u6EE8","\u4FE9","\u6345","\u6E58","\u780D","\u971E","\u90B5","\u8404","\u75AF","\u6DEE","\u9042","\u718A","\u7CAA","\u70D8","\u5BBF","\u6863","\u6208","\u9A73","\u5AC2","\u88D5","\u5F99","\u7BAD","\u6350","\u80A0","\u6491","\u6652","\u8FA8","\u6BBF","\u83B2","\u644A","\u6405","\u9171","\u5C4F","\u75AB","\u54C0","\u8521","\u5835","\u6CAB","\u76B1","\u7545","\u53E0","\u9601","\u83B1","\u6572","\u8F96","\u94A9","\u75D5","\u575D","\u5DF7","\u997F","\u7978","\u4E18","\u7384","\u6E9C","\u66F0","\u903B","\u5F6D","\u5C1D","\u537F","\u59A8","\u8247","\u541E","\u97E6","\u6028","\u77EE","\u6B47"]'), DF = JSON.parse('["\u7684","\u4E00","\u662F","\u5728","\u4E0D","\u4E86","\u6709","\u548C","\u4EBA","\u9019","\u4E2D","\u5927","\u70BA","\u4E0A","\u500B","\u570B","\u6211","\u4EE5","\u8981","\u4ED6","\u6642","\u4F86","\u7528","\u5011","\u751F","\u5230","\u4F5C","\u5730","\u65BC","\u51FA","\u5C31","\u5206","\u5C0D","\u6210","\u6703","\u53EF","\u4E3B","\u767C","\u5E74","\u52D5","\u540C","\u5DE5","\u4E5F","\u80FD","\u4E0B","\u904E","\u5B50","\u8AAA","\u7522","\u7A2E","\u9762","\u800C","\u65B9","\u5F8C","\u591A","\u5B9A","\u884C","\u5B78","\u6CD5","\u6240","\u6C11","\u5F97","\u7D93","\u5341","\u4E09","\u4E4B","\u9032","\u8457","\u7B49","\u90E8","\u5EA6","\u5BB6","\u96FB","\u529B","\u88E1","\u5982","\u6C34","\u5316","\u9AD8","\u81EA","\u4E8C","\u7406","\u8D77","\u5C0F","\u7269","\u73FE","\u5BE6","\u52A0","\u91CF","\u90FD","\u5169","\u9AD4","\u5236","\u6A5F","\u7576","\u4F7F","\u9EDE","\u5F9E","\u696D","\u672C","\u53BB","\u628A","\u6027","\u597D","\u61C9","\u958B","\u5B83","\u5408","\u9084","\u56E0","\u7531","\u5176","\u4E9B","\u7136","\u524D","\u5916","\u5929","\u653F","\u56DB","\u65E5","\u90A3","\u793E","\u7FA9","\u4E8B","\u5E73","\u5F62","\u76F8","\u5168","\u8868","\u9593","\u6A23","\u8207","\u95DC","\u5404","\u91CD","\u65B0","\u7DDA","\u5167","\u6578","\u6B63","\u5FC3","\u53CD","\u4F60","\u660E","\u770B","\u539F","\u53C8","\u9EBC","\u5229","\u6BD4","\u6216","\u4F46","\u8CEA","\u6C23","\u7B2C","\u5411","\u9053","\u547D","\u6B64","\u8B8A","\u689D","\u53EA","\u6C92","\u7D50","\u89E3","\u554F","\u610F","\u5EFA","\u6708","\u516C","\u7121","\u7CFB","\u8ECD","\u5F88","\u60C5","\u8005","\u6700","\u7ACB","\u4EE3","\u60F3","\u5DF2","\u901A","\u4E26","\u63D0","\u76F4","\u984C","\u9EE8","\u7A0B","\u5C55","\u4E94","\u679C","\u6599","\u8C61","\u54E1","\u9769","\u4F4D","\u5165","\u5E38","\u6587","\u7E3D","\u6B21","\u54C1","\u5F0F","\u6D3B","\u8A2D","\u53CA","\u7BA1","\u7279","\u4EF6","\u9577","\u6C42","\u8001","\u982D","\u57FA","\u8CC7","\u908A","\u6D41","\u8DEF","\u7D1A","\u5C11","\u5716","\u5C71","\u7D71","\u63A5","\u77E5","\u8F03","\u5C07","\u7D44","\u898B","\u8A08","\u5225","\u5979","\u624B","\u89D2","\u671F","\u6839","\u8AD6","\u904B","\u8FB2","\u6307","\u5E7E","\u4E5D","\u5340","\u5F37","\u653E","\u6C7A","\u897F","\u88AB","\u5E79","\u505A","\u5FC5","\u6230","\u5148","\u56DE","\u5247","\u4EFB","\u53D6","\u64DA","\u8655","\u968A","\u5357","\u7D66","\u8272","\u5149","\u9580","\u5373","\u4FDD","\u6CBB","\u5317","\u9020","\u767E","\u898F","\u71B1","\u9818","\u4E03","\u6D77","\u53E3","\u6771","\u5C0E","\u5668","\u58D3","\u5FD7","\u4E16","\u91D1","\u589E","\u722D","\u6FDF","\u968E","\u6CB9","\u601D","\u8853","\u6975","\u4EA4","\u53D7","\u806F","\u4EC0","\u8A8D","\u516D","\u5171","\u6B0A","\u6536","\u8B49","\u6539","\u6E05","\u7F8E","\u518D","\u63A1","\u8F49","\u66F4","\u55AE","\u98A8","\u5207","\u6253","\u767D","\u6559","\u901F","\u82B1","\u5E36","\u5B89","\u5834","\u8EAB","\u8ECA","\u4F8B","\u771F","\u52D9","\u5177","\u842C","\u6BCF","\u76EE","\u81F3","\u9054","\u8D70","\u7A4D","\u793A","\u8B70","\u8072","\u5831","\u9B25","\u5B8C","\u985E","\u516B","\u96E2","\u83EF","\u540D","\u78BA","\u624D","\u79D1","\u5F35","\u4FE1","\u99AC","\u7BC0","\u8A71","\u7C73","\u6574","\u7A7A","\u5143","\u6CC1","\u4ECA","\u96C6","\u6EAB","\u50B3","\u571F","\u8A31","\u6B65","\u7FA4","\u5EE3","\u77F3","\u8A18","\u9700","\u6BB5","\u7814","\u754C","\u62C9","\u6797","\u5F8B","\u53EB","\u4E14","\u7A76","\u89C0","\u8D8A","\u7E54","\u88DD","\u5F71","\u7B97","\u4F4E","\u6301","\u97F3","\u773E","\u66F8","\u5E03","\u590D","\u5BB9","\u5152","\u9808","\u969B","\u5546","\u975E","\u9A57","\u9023","\u65B7","\u6DF1","\u96E3","\u8FD1","\u7926","\u5343","\u9031","\u59D4","\u7D20","\u6280","\u5099","\u534A","\u8FA6","\u9752","\u7701","\u5217","\u7FD2","\u97FF","\u7D04","\u652F","\u822C","\u53F2","\u611F","\u52DE","\u4FBF","\u5718","\u5F80","\u9178","\u6B77","\u5E02","\u514B","\u4F55","\u9664","\u6D88","\u69CB","\u5E9C","\u7A31","\u592A","\u6E96","\u7CBE","\u503C","\u865F","\u7387","\u65CF","\u7DAD","\u5283","\u9078","\u6A19","\u5BEB","\u5B58","\u5019","\u6BDB","\u89AA","\u5FEB","\u6548","\u65AF","\u9662","\u67E5","\u6C5F","\u578B","\u773C","\u738B","\u6309","\u683C","\u990A","\u6613","\u7F6E","\u6D3E","\u5C64","\u7247","\u59CB","\u537B","\u5C08","\u72C0","\u80B2","\u5EE0","\u4EAC","\u8B58","\u9069","\u5C6C","\u5713","\u5305","\u706B","\u4F4F","\u8ABF","\u6EFF","\u7E23","\u5C40","\u7167","\u53C3","\u7D05","\u7D30","\u5F15","\u807D","\u8A72","\u9435","\u50F9","\u56B4","\u9996","\u5E95","\u6DB2","\u5B98","\u5FB7","\u96A8","\u75C5","\u8607","\u5931","\u723E","\u6B7B","\u8B1B","\u914D","\u5973","\u9EC3","\u63A8","\u986F","\u8AC7","\u7F6A","\u795E","\u85DD","\u5462","\u5E2D","\u542B","\u4F01","\u671B","\u5BC6","\u6279","\u71DF","\u9805","\u9632","\u8209","\u7403","\u82F1","\u6C27","\u52E2","\u544A","\u674E","\u53F0","\u843D","\u6728","\u5E6B","\u8F2A","\u7834","\u4E9E","\u5E2B","\u570D","\u6CE8","\u9060","\u5B57","\u6750","\u6392","\u4F9B","\u6CB3","\u614B","\u5C01","\u53E6","\u65BD","\u6E1B","\u6A39","\u6EB6","\u600E","\u6B62","\u6848","\u8A00","\u58EB","\u5747","\u6B66","\u56FA","\u8449","\u9B5A","\u6CE2","\u8996","\u50C5","\u8CBB","\u7DCA","\u611B","\u5DE6","\u7AE0","\u65E9","\u671D","\u5BB3","\u7E8C","\u8F15","\u670D","\u8A66","\u98DF","\u5145","\u5175","\u6E90","\u5224","\u8B77","\u53F8","\u8DB3","\u67D0","\u7DF4","\u5DEE","\u81F4","\u677F","\u7530","\u964D","\u9ED1","\u72AF","\u8CA0","\u64CA","\u8303","\u7E7C","\u8208","\u4F3C","\u9918","\u5805","\u66F2","\u8F38","\u4FEE","\u6545","\u57CE","\u592B","\u5920","\u9001","\u7B46","\u8239","\u4F54","\u53F3","\u8CA1","\u5403","\u5BCC","\u6625","\u8077","\u89BA","\u6F22","\u756B","\u529F","\u5DF4","\u8DDF","\u96D6","\u96DC","\u98DB","\u6AA2","\u5438","\u52A9","\u6607","\u967D","\u4E92","\u521D","\u5275","\u6297","\u8003","\u6295","\u58DE","\u7B56","\u53E4","\u5F91","\u63DB","\u672A","\u8DD1","\u7559","\u92FC","\u66FE","\u7AEF","\u8CAC","\u7AD9","\u7C21","\u8FF0","\u9322","\u526F","\u76E1","\u5E1D","\u5C04","\u8349","\u885D","\u627F","\u7368","\u4EE4","\u9650","\u963F","\u5BA3","\u74B0","\u96D9","\u8ACB","\u8D85","\u5FAE","\u8B93","\u63A7","\u5DDE","\u826F","\u8EF8","\u627E","\u5426","\u7D00","\u76CA","\u4F9D","\u512A","\u9802","\u790E","\u8F09","\u5012","\u623F","\u7A81","\u5750","\u7C89","\u6575","\u7565","\u5BA2","\u8881","\u51B7","\u52DD","\u7D55","\u6790","\u584A","\u5291","\u6E2C","\u7D72","\u5354","\u8A34","\u5FF5","\u9673","\u4ECD","\u7F85","\u9E7D","\u53CB","\u6D0B","\u932F","\u82E6","\u591C","\u5211","\u79FB","\u983B","\u9010","\u9760","\u6DF7","\u6BCD","\u77ED","\u76AE","\u7D42","\u805A","\u6C7D","\u6751","\u96F2","\u54EA","\u65E2","\u8DDD","\u885B","\u505C","\u70C8","\u592E","\u5BDF","\u71D2","\u8FC5","\u5883","\u82E5","\u5370","\u6D32","\u523B","\u62EC","\u6FC0","\u5B54","\u641E","\u751A","\u5BA4","\u5F85","\u6838","\u6821","\u6563","\u4FB5","\u5427","\u7532","\u904A","\u4E45","\u83DC","\u5473","\u820A","\u6A21","\u6E56","\u8CA8","\u640D","\u9810","\u963B","\u6BEB","\u666E","\u7A69","\u4E59","\u5ABD","\u690D","\u606F","\u64F4","\u9280","\u8A9E","\u63EE","\u9152","\u5B88","\u62FF","\u5E8F","\u7D19","\u91AB","\u7F3A","\u96E8","\u55CE","\u91DD","\u5289","\u554A","\u6025","\u5531","\u8AA4","\u8A13","\u9858","\u5BE9","\u9644","\u7372","\u8336","\u9BAE","\u7CE7","\u65A4","\u5B69","\u812B","\u786B","\u80A5","\u5584","\u9F8D","\u6F14","\u7236","\u6F38","\u8840","\u6B61","\u68B0","\u638C","\u6B4C","\u6C99","\u525B","\u653B","\u8B02","\u76FE","\u8A0E","\u665A","\u7C92","\u4E82","\u71C3","\u77DB","\u4E4E","\u6BBA","\u85E5","\u5BE7","\u9B6F","\u8CB4","\u9418","\u7164","\u8B80","\u73ED","\u4F2F","\u9999","\u4ECB","\u8FEB","\u53E5","\u8C50","\u57F9","\u63E1","\u862D","\u64D4","\u5F26","\u86CB","\u6C89","\u5047","\u7A7F","\u57F7","\u7B54","\u6A02","\u8AB0","\u9806","\u7159","\u7E2E","\u5FB5","\u81C9","\u559C","\u677E","\u8173","\u56F0","\u7570","\u514D","\u80CC","\u661F","\u798F","\u8CB7","\u67D3","\u4E95","\u6982","\u6162","\u6015","\u78C1","\u500D","\u7956","\u7687","\u4FC3","\u975C","\u88DC","\u8A55","\u7FFB","\u8089","\u8E10","\u5C3C","\u8863","\u5BEC","\u63DA","\u68C9","\u5E0C","\u50B7","\u64CD","\u5782","\u79CB","\u5B9C","\u6C2B","\u5957","\u7763","\u632F","\u67B6","\u4EAE","\u672B","\u61B2","\u6176","\u7DE8","\u725B","\u89F8","\u6620","\u96F7","\u92B7","\u8A69","\u5EA7","\u5C45","\u6293","\u88C2","\u80DE","\u547C","\u5A18","\u666F","\u5A01","\u7DA0","\u6676","\u539A","\u76DF","\u8861","\u96DE","\u5B6B","\u5EF6","\u5371","\u81A0","\u5C4B","\u9109","\u81E8","\u9678","\u9867","\u6389","\u5440","\u71C8","\u6B72","\u63AA","\u675F","\u8010","\u5287","\u7389","\u8D99","\u8DF3","\u54E5","\u5B63","\u8AB2","\u51F1","\u80E1","\u984D","\u6B3E","\u7D39","\u5377","\u9F4A","\u5049","\u84B8","\u6B96","\u6C38","\u5B97","\u82D7","\u5DDD","\u7210","\u5CA9","\u5F31","\u96F6","\u694A","\u594F","\u6CBF","\u9732","\u687F","\u63A2","\u6ED1","\u93AE","\u98EF","\u6FC3","\u822A","\u61F7","\u8D95","\u5EAB","\u596A","\u4F0A","\u9748","\u7A05","\u9014","\u6EC5","\u8CFD","\u6B78","\u53EC","\u9F13","\u64AD","\u76E4","\u88C1","\u96AA","\u5EB7","\u552F","\u9304","\u83CC","\u7D14","\u501F","\u7CD6","\u84CB","\u6A6B","\u7B26","\u79C1","\u52AA","\u5802","\u57DF","\u69CD","\u6F64","\u5E45","\u54C8","\u7ADF","\u719F","\u87F2","\u6FA4","\u8166","\u58E4","\u78B3","\u6B50","\u904D","\u5074","\u5BE8","\u6562","\u5FB9","\u616E","\u659C","\u8584","\u5EAD","\u7D0D","\u5F48","\u98FC","\u4F38","\u6298","\u9EA5","\u6FD5","\u6697","\u8377","\u74E6","\u585E","\u5E8A","\u7BC9","\u60E1","\u6236","\u8A2A","\u5854","\u5947","\u900F","\u6881","\u5200","\u65CB","\u8DE1","\u5361","\u6C2F","\u9047","\u4EFD","\u6BD2","\u6CE5","\u9000","\u6D17","\u64FA","\u7070","\u5F69","\u8CE3","\u8017","\u590F","\u64C7","\u5FD9","\u9285","\u737B","\u786C","\u4E88","\u7E41","\u5708","\u96EA","\u51FD","\u4EA6","\u62BD","\u7BC7","\u9663","\u9670","\u4E01","\u5C3A","\u8FFD","\u5806","\u96C4","\u8FCE","\u6CDB","\u7238","\u6A13","\u907F","\u8B00","\u5678","\u91CE","\u8C6C","\u65D7","\u7D2F","\u504F","\u5178","\u9928","\u7D22","\u79E6","\u8102","\u6F6E","\u723A","\u8C46","\u5FFD","\u6258","\u9A5A","\u5851","\u907A","\u6108","\u6731","\u66FF","\u7E96","\u7C97","\u50BE","\u5C1A","\u75DB","\u695A","\u8B1D","\u596E","\u8CFC","\u78E8","\u541B","\u6C60","\u65C1","\u788E","\u9AA8","\u76E3","\u6355","\u5F1F","\u66B4","\u5272","\u8CAB","\u6B8A","\u91CB","\u8A5E","\u4EA1","\u58C1","\u9813","\u5BF6","\u5348","\u5875","\u805E","\u63ED","\u70AE","\u6B98","\u51AC","\u6A4B","\u5A66","\u8B66","\u7D9C","\u62DB","\u5433","\u4ED8","\u6D6E","\u906D","\u5F90","\u60A8","\u6416","\u8C37","\u8D0A","\u7BB1","\u9694","\u8A02","\u7537","\u5439","\u5712","\u7D1B","\u5510","\u6557","\u5B8B","\u73BB","\u5DE8","\u8015","\u5766","\u69AE","\u9589","\u7063","\u9375","\u51E1","\u99D0","\u934B","\u6551","\u6069","\u525D","\u51DD","\u9E7C","\u9F52","\u622A","\u7149","\u9EBB","\u7D21","\u7981","\u5EE2","\u76DB","\u7248","\u7DE9","\u6DE8","\u775B","\u660C","\u5A5A","\u6D89","\u7B52","\u5634","\u63D2","\u5CB8","\u6717","\u838A","\u8857","\u85CF","\u59D1","\u8CBF","\u8150","\u5974","\u5566","\u6163","\u4E58","\u5925","\u6062","\u52FB","\u7D17","\u624E","\u8FAF","\u8033","\u5F6A","\u81E3","\u5104","\u7483","\u62B5","\u8108","\u79C0","\u85A9","\u4FC4","\u7DB2","\u821E","\u5E97","\u5674","\u7E31","\u5BF8","\u6C57","\u639B","\u6D2A","\u8CC0","\u9583","\u67EC","\u7206","\u70EF","\u6D25","\u7A3B","\u7246","\u8EDF","\u52C7","\u50CF","\u6EFE","\u5398","\u8499","\u82B3","\u80AF","\u5761","\u67F1","\u76EA","\u817F","\u5100","\u65C5","\u5C3E","\u8ECB","\u51B0","\u8CA2","\u767B","\u9ECE","\u524A","\u947D","\u52D2","\u9003","\u969C","\u6C28","\u90ED","\u5CF0","\u5E63","\u6E2F","\u4F0F","\u8ECC","\u755D","\u7562","\u64E6","\u83AB","\u523A","\u6D6A","\u79D8","\u63F4","\u682A","\u5065","\u552E","\u80A1","\u5CF6","\u7518","\u6CE1","\u7761","\u7AE5","\u9444","\u6E6F","\u95A5","\u4F11","\u532F","\u820D","\u7267","\u7E5E","\u70B8","\u54F2","\u78F7","\u7E3E","\u670B","\u6DE1","\u5C16","\u555F","\u9677","\u67F4","\u5448","\u5F92","\u984F","\u6DDA","\u7A0D","\u5FD8","\u6CF5","\u85CD","\u62D6","\u6D1E","\u6388","\u93E1","\u8F9B","\u58EF","\u92D2","\u8CA7","\u865B","\u5F4E","\u6469","\u6CF0","\u5E7C","\u5EF7","\u5C0A","\u7A97","\u7DB1","\u5F04","\u96B8","\u7591","\u6C0F","\u5BAE","\u59D0","\u9707","\u745E","\u602A","\u5C24","\u7434","\u5FAA","\u63CF","\u819C","\u9055","\u593E","\u8170","\u7DE3","\u73E0","\u7AAE","\u68EE","\u679D","\u7AF9","\u6E9D","\u50AC","\u7E69","\u61B6","\u90A6","\u5269","\u5E78","\u6F3F","\u6B04","\u64C1","\u7259","\u8CAF","\u79AE","\u6FFE","\u9209","\u7D0B","\u7F77","\u62CD","\u54B1","\u558A","\u8896","\u57C3","\u52E4","\u7F70","\u7126","\u6F5B","\u4F0D","\u58A8","\u6B32","\u7E2B","\u59D3","\u520A","\u98FD","\u4EFF","\u734E","\u92C1","\u9B3C","\u9E97","\u8DE8","\u9ED8","\u6316","\u93C8","\u6383","\u559D","\u888B","\u70AD","\u6C61","\u5E55","\u8AF8","\u5F27","\u52F5","\u6885","\u5976","\u6F54","\u707D","\u821F","\u9451","\u82EF","\u8A1F","\u62B1","\u6BC0","\u61C2","\u5BD2","\u667A","\u57D4","\u5BC4","\u5C46","\u8E8D","\u6E21","\u6311","\u4E39","\u8271","\u8C9D","\u78B0","\u62D4","\u7239","\u6234","\u78BC","\u5922","\u82BD","\u7194","\u8D64","\u6F01","\u54ED","\u656C","\u9846","\u5954","\u925B","\u4EF2","\u864E","\u7A00","\u59B9","\u4E4F","\u73CD","\u7533","\u684C","\u9075","\u5141","\u9686","\u87BA","\u5009","\u9B4F","\u92B3","\u66C9","\u6C2E","\u517C","\u96B1","\u7919","\u8D6B","\u64A5","\u5FE0","\u8085","\u7F38","\u727D","\u6436","\u535A","\u5DE7","\u6BBC","\u5144","\u675C","\u8A0A","\u8AA0","\u78A7","\u7965","\u67EF","\u9801","\u5DE1","\u77E9","\u60B2","\u704C","\u9F61","\u502B","\u7968","\u5C0B","\u6842","\u92EA","\u8056","\u6050","\u6070","\u912D","\u8DA3","\u62AC","\u8352","\u9A30","\u8CBC","\u67D4","\u6EF4","\u731B","\u95CA","\u8F1B","\u59BB","\u586B","\u64A4","\u5132","\u7C3D","\u9B27","\u64FE","\u7D2B","\u7802","\u905E","\u6232","\u540A","\u9676","\u4F10","\u9935","\u7642","\u74F6","\u5A46","\u64AB","\u81C2","\u6478","\u5FCD","\u8766","\u881F","\u9130","\u80F8","\u978F","\u64E0","\u5076","\u68C4","\u69FD","\u52C1","\u4E73","\u9127","\u5409","\u4EC1","\u721B","\u78DA","\u79DF","\u70CF","\u8266","\u4F34","\u74DC","\u6DFA","\u4E19","\u66AB","\u71E5","\u6A61","\u67F3","\u8FF7","\u6696","\u724C","\u79E7","\u81BD","\u8A73","\u7C27","\u8E0F","\u74F7","\u8B5C","\u5446","\u8CD3","\u7CCA","\u6D1B","\u8F1D","\u61A4","\u7AF6","\u9699","\u6012","\u7C98","\u4E43","\u7DD2","\u80A9","\u7C4D","\u654F","\u5857","\u7199","\u7686","\u5075","\u61F8","\u6398","\u4EAB","\u7CFE","\u9192","\u72C2","\u9396","\u6DC0","\u6068","\u7272","\u9738","\u722C","\u8CDE","\u9006","\u73A9","\u9675","\u795D","\u79D2","\u6D59","\u8C8C","\u5F79","\u5F7C","\u6089","\u9D28","\u8DA8","\u9CF3","\u6668","\u755C","\u8F29","\u79E9","\u5375","\u7F72","\u68AF","\u708E","\u7058","\u68CB","\u9A45","\u7BE9","\u5CFD","\u5192","\u5565","\u58FD","\u8B6F","\u6D78","\u6CC9","\u5E3D","\u9072","\u77FD","\u7586","\u8CB8","\u6F0F","\u7A3F","\u51A0","\u5AE9","\u8105","\u82AF","\u7262","\u53DB","\u8755","\u5967","\u9CF4","\u5DBA","\u7F8A","\u6191","\u4E32","\u5858","\u7E6A","\u9175","\u878D","\u76C6","\u932B","\u5EDF","\u7C4C","\u51CD","\u8F14","\u651D","\u8972","\u7B4B","\u62D2","\u50DA","\u65F1","\u9240","\u9CE5","\u6F06","\u6C88","\u7709","\u758F","\u6DFB","\u68D2","\u7A57","\u785D","\u97D3","\u903C","\u626D","\u50D1","\u6DBC","\u633A","\u7897","\u683D","\u7092","\u676F","\u60A3","\u993E","\u52F8","\u8C6A","\u907C","\u52C3","\u9D3B","\u65E6","\u540F","\u62DC","\u72D7","\u57CB","\u8F25","\u63A9","\u98F2","\u642C","\u7F75","\u8FAD","\u52FE","\u6263","\u4F30","\u8523","\u7D68","\u9727","\u4E08","\u6735","\u59C6","\u64EC","\u5B87","\u8F2F","\u965D","\u96D5","\u511F","\u84C4","\u5D07","\u526A","\u5021","\u5EF3","\u54AC","\u99DB","\u85AF","\u5237","\u65A5","\u756A","\u8CE6","\u5949","\u4F5B","\u6F86","\u6F2B","\u66FC","\u6247","\u9223","\u6843","\u6276","\u4ED4","\u8FD4","\u4FD7","\u8667","\u8154","\u978B","\u68F1","\u8986","\u6846","\u6084","\u53D4","\u649E","\u9A19","\u52D8","\u65FA","\u6CB8","\u5B64","\u5410","\u5B5F","\u6E20","\u5C48","\u75BE","\u5999","\u60DC","\u4EF0","\u72E0","\u8139","\u8AE7","\u62CB","\u9EF4","\u6851","\u5D17","\u561B","\u8870","\u76DC","\u6EF2","\u81DF","\u8CF4","\u6E67","\u751C","\u66F9","\u95B1","\u808C","\u54E9","\u53B2","\u70F4","\u7DEF","\u6BC5","\u6628","\u507D","\u75C7","\u716E","\u5606","\u91D8","\u642D","\u8396","\u7C60","\u9177","\u5077","\u5F13","\u9310","\u6046","\u5091","\u5751","\u9F3B","\u7FFC","\u7DB8","\u6558","\u7344","\u902E","\u7F50","\u7D61","\u68DA","\u6291","\u81A8","\u852C","\u5BFA","\u9A5F","\u7A46","\u51B6","\u67AF","\u518A","\u5C4D","\u51F8","\u7D33","\u576F","\u72A7","\u7130","\u8F5F","\u6B23","\u6649","\u7626","\u79A6","\u9320","\u9326","\u55AA","\u65EC","\u935B","\u58DF","\u641C","\u64B2","\u9080","\u4EAD","\u916F","\u9081","\u8212","\u8106","\u9176","\u9592","\u6182","\u915A","\u9811","\u7FBD","\u6F32","\u5378","\u4ED7","\u966A","\u95E2","\u61F2","\u676D","\u59DA","\u809A","\u6349","\u98C4","\u6F02","\u6606","\u6B3A","\u543E","\u90CE","\u70F7","\u6C41","\u5475","\u98FE","\u856D","\u96C5","\u90F5","\u9077","\u71D5","\u6492","\u59FB","\u8D74","\u5BB4","\u7169","\u50B5","\u5E33","\u6591","\u9234","\u65E8","\u9187","\u8463","\u9905","\u96DB","\u59FF","\u62CC","\u5085","\u8179","\u59A5","\u63C9","\u8CE2","\u62C6","\u6B6A","\u8461","\u80FA","\u4E1F","\u6D69","\u5FBD","\u6602","\u588A","\u64CB","\u89BD","\u8CAA","\u6170","\u7E73","\u6C6A","\u614C","\u99AE","\u8AFE","\u59DC","\u8ABC","\u5147","\u52A3","\u8AA3","\u8000","\u660F","\u8EBA","\u76C8","\u9A0E","\u55AC","\u6EAA","\u53E2","\u76E7","\u62B9","\u60B6","\u8AEE","\u522E","\u99D5","\u7E9C","\u609F","\u6458","\u927A","\u64F2","\u9817","\u5E7B","\u67C4","\u60E0","\u6158","\u4F73","\u4EC7","\u81D8","\u7AA9","\u6ECC","\u528D","\u77A7","\u5821","\u6F51","\u8525","\u7F69","\u970D","\u6488","\u80CE","\u84BC","\u6FF1","\u5006","\u6345","\u6E58","\u780D","\u971E","\u90B5","\u8404","\u760B","\u6DEE","\u9042","\u718A","\u7CDE","\u70D8","\u5BBF","\u6A94","\u6208","\u99C1","\u5AC2","\u88D5","\u5F99","\u7BAD","\u6350","\u8178","\u6490","\u66EC","\u8FA8","\u6BBF","\u84EE","\u6524","\u652A","\u91AC","\u5C4F","\u75AB","\u54C0","\u8521","\u5835","\u6CAB","\u76BA","\u66A2","\u758A","\u95A3","\u840A","\u6572","\u8F44","\u9264","\u75D5","\u58E9","\u5DF7","\u9913","\u798D","\u4E18","\u7384","\u6E9C","\u66F0","\u908F","\u5F6D","\u5617","\u537F","\u59A8","\u8247","\u541E","\u97CB","\u6028","\u77EE","\u6B47"]'), FF = JSON.parse('["\u1100\u1161\u1100\u1167\u11A8","\u1100\u1161\u1101\u1173\u11B7","\u1100\u1161\u1102\u1161\u11AB","\u1100\u1161\u1102\u1173\u11BC","\u1100\u1161\u1103\u1173\u11A8","\u1100\u1161\u1105\u1173\u110E\u1175\u11B7","\u1100\u1161\u1106\u116E\u11B7","\u1100\u1161\u1107\u1161\u11BC","\u1100\u1161\u1109\u1161\u11BC","\u1100\u1161\u1109\u1173\u11B7","\u1100\u1161\u110B\u116E\u11AB\u1103\u1166","\u1100\u1161\u110B\u1173\u11AF","\u1100\u1161\u110B\u1175\u1103\u1173","\u1100\u1161\u110B\u1175\u11B8","\u1100\u1161\u110C\u1161\u11BC","\u1100\u1161\u110C\u1165\u11BC","\u1100\u1161\u110C\u1169\u11A8","\u1100\u1161\u110C\u116E\u11A8","\u1100\u1161\u11A8\u110B\u1169","\u1100\u1161\u11A8\u110C\u1161","\u1100\u1161\u11AB\u1100\u1167\u11A8","\u1100\u1161\u11AB\u1107\u116E","\u1100\u1161\u11AB\u1109\u1165\u11B8","\u1100\u1161\u11AB\u110C\u1161\u11BC","\u1100\u1161\u11AB\u110C\u1165\u11B8","\u1100\u1161\u11AB\u1111\u1161\u11AB","\u1100\u1161\u11AF\u1103\u1173\u11BC","\u1100\u1161\u11AF\u1107\u1175","\u1100\u1161\u11AF\u1109\u1162\u11A8","\u1100\u1161\u11AF\u110C\u1173\u11BC","\u1100\u1161\u11B7\u1100\u1161\u11A8","\u1100\u1161\u11B7\u1100\u1175","\u1100\u1161\u11B7\u1109\u1169","\u1100\u1161\u11B7\u1109\u116E\u1109\u1165\u11BC","\u1100\u1161\u11B7\u110C\u1161","\u1100\u1161\u11B7\u110C\u1165\u11BC","\u1100\u1161\u11B8\u110C\u1161\u1100\u1175","\u1100\u1161\u11BC\u1102\u1161\u11B7","\u1100\u1161\u11BC\u1103\u1161\u11BC","\u1100\u1161\u11BC\u1103\u1169","\u1100\u1161\u11BC\u1105\u1167\u11A8\u1112\u1175","\u1100\u1161\u11BC\u1107\u1167\u11AB","\u1100\u1161\u11BC\u1107\u116E\u11A8","\u1100\u1161\u11BC\u1109\u1161","\u1100\u1161\u11BC\u1109\u116E\u1105\u1163\u11BC","\u1100\u1161\u11BC\u110B\u1161\u110C\u1175","\u1100\u1161\u11BC\u110B\u116F\u11AB\u1103\u1169","\u1100\u1161\u11BC\u110B\u1174","\u1100\u1161\u11BC\u110C\u1166","\u1100\u1161\u11BC\u110C\u1169","\u1100\u1161\u11C0\u110B\u1175","\u1100\u1162\u1100\u116E\u1105\u1175","\u1100\u1162\u1102\u1161\u1105\u1175","\u1100\u1162\u1107\u1161\u11BC","\u1100\u1162\u1107\u1167\u11AF","\u1100\u1162\u1109\u1165\u11AB","\u1100\u1162\u1109\u1165\u11BC","\u1100\u1162\u110B\u1175\u11AB","\u1100\u1162\u11A8\u1100\u116A\u11AB\u110C\u1165\u11A8","\u1100\u1165\u1109\u1175\u11AF","\u1100\u1165\u110B\u1162\u11A8","\u1100\u1165\u110B\u116E\u11AF","\u1100\u1165\u110C\u1175\u11BA","\u1100\u1165\u1111\u116E\u11B7","\u1100\u1165\u11A8\u110C\u1165\u11BC","\u1100\u1165\u11AB\u1100\u1161\u11BC","\u1100\u1165\u11AB\u1106\u116E\u11AF","\u1100\u1165\u11AB\u1109\u1165\u11AF","\u1100\u1165\u11AB\u110C\u1169","\u1100\u1165\u11AB\u110E\u116E\u11A8","\u1100\u1165\u11AF\u110B\u1173\u11B7","\u1100\u1165\u11B7\u1109\u1161","\u1100\u1165\u11B7\u1110\u1169","\u1100\u1166\u1109\u1175\u1111\u1161\u11AB","\u1100\u1166\u110B\u1175\u11B7","\u1100\u1167\u110B\u116E\u11AF","\u1100\u1167\u11AB\u1112\u1162","\u1100\u1167\u11AF\u1100\u116A","\u1100\u1167\u11AF\u1100\u116E\u11A8","\u1100\u1167\u11AF\u1105\u1169\u11AB","\u1100\u1167\u11AF\u1109\u1165\u11A8","\u1100\u1167\u11AF\u1109\u1173\u11BC","\u1100\u1167\u11AF\u1109\u1175\u11B7","\u1100\u1167\u11AF\u110C\u1165\u11BC","\u1100\u1167\u11AF\u1112\u1169\u11AB","\u1100\u1167\u11BC\u1100\u1168","\u1100\u1167\u11BC\u1100\u1169","\u1100\u1167\u11BC\u1100\u1175","\u1100\u1167\u11BC\u1105\u1167\u11A8","\u1100\u1167\u11BC\u1107\u1169\u11A8\u1100\u116E\u11BC","\u1100\u1167\u11BC\u1107\u1175","\u1100\u1167\u11BC\u1109\u1161\u11BC\u1103\u1169","\u1100\u1167\u11BC\u110B\u1167\u11BC","\u1100\u1167\u11BC\u110B\u116E","\u1100\u1167\u11BC\u110C\u1162\u11BC","\u1100\u1167\u11BC\u110C\u1166","\u1100\u1167\u11BC\u110C\u116E","\u1100\u1167\u11BC\u110E\u1161\u11AF","\u1100\u1167\u11BC\u110E\u1175","\u1100\u1167\u11BC\u1112\u1163\u11BC","\u1100\u1167\u11BC\u1112\u1165\u11B7","\u1100\u1168\u1100\u1169\u11A8","\u1100\u1168\u1103\u1161\u11AB","\u1100\u1168\u1105\u1161\u11AB","\u1100\u1168\u1109\u1161\u11AB","\u1100\u1168\u1109\u1169\u11A8","\u1100\u1168\u110B\u1163\u11A8","\u1100\u1168\u110C\u1165\u11AF","\u1100\u1168\u110E\u1173\u11BC","\u1100\u1168\u1112\u116C\u11A8","\u1100\u1169\u1100\u1162\u11A8","\u1100\u1169\u1100\u116E\u1105\u1167","\u1100\u1169\u1100\u116E\u11BC","\u1100\u1169\u1100\u1173\u11B8","\u1100\u1169\u1103\u1173\u11BC\u1112\u1161\u11A8\u1109\u1162\u11BC","\u1100\u1169\u1106\u116E\u1109\u1175\u11AB","\u1100\u1169\u1106\u1175\u11AB","\u1100\u1169\u110B\u1163\u11BC\u110B\u1175","\u1100\u1169\u110C\u1161\u11BC","\u1100\u1169\u110C\u1165\u11AB","\u1100\u1169\u110C\u1175\u11B8","\u1100\u1169\u110E\u116E\u11BA\u1100\u1161\u1105\u116E","\u1100\u1169\u1110\u1169\u11BC","\u1100\u1169\u1112\u1163\u11BC","\u1100\u1169\u11A8\u1109\u1175\u11A8","\u1100\u1169\u11AF\u1106\u1169\u11A8","\u1100\u1169\u11AF\u110D\u1161\u1100\u1175","\u1100\u1169\u11AF\u1111\u1173","\u1100\u1169\u11BC\u1100\u1161\u11AB","\u1100\u1169\u11BC\u1100\u1162","\u1100\u1169\u11BC\u1100\u1167\u11A8","\u1100\u1169\u11BC\u1100\u116E\u11AB","\u1100\u1169\u11BC\u1100\u1173\u11B8","\u1100\u1169\u11BC\u1100\u1175","\u1100\u1169\u11BC\u1103\u1169\u11BC","\u1100\u1169\u11BC\u1106\u116E\u110B\u116F\u11AB","\u1100\u1169\u11BC\u1107\u116E","\u1100\u1169\u11BC\u1109\u1161","\u1100\u1169\u11BC\u1109\u1175\u11A8","\u1100\u1169\u11BC\u110B\u1165\u11B8","\u1100\u1169\u11BC\u110B\u1167\u11AB","\u1100\u1169\u11BC\u110B\u116F\u11AB","\u1100\u1169\u11BC\u110C\u1161\u11BC","\u1100\u1169\u11BC\u110D\u1161","\u1100\u1169\u11BC\u110E\u1162\u11A8","\u1100\u1169\u11BC\u1110\u1169\u11BC","\u1100\u1169\u11BC\u1111\u1169","\u1100\u1169\u11BC\u1112\u1161\u11BC","\u1100\u1169\u11BC\u1112\u1172\u110B\u1175\u11AF","\u1100\u116A\u1106\u1169\u11A8","\u1100\u116A\u110B\u1175\u11AF","\u1100\u116A\u110C\u1161\u11BC","\u1100\u116A\u110C\u1165\u11BC","\u1100\u116A\u1112\u1161\u11A8","\u1100\u116A\u11AB\u1100\u1162\u11A8","\u1100\u116A\u11AB\u1100\u1168","\u1100\u116A\u11AB\u1100\u116A\u11BC","\u1100\u116A\u11AB\u1102\u1167\u11B7","\u1100\u116A\u11AB\u1105\u1161\u11B7","\u1100\u116A\u11AB\u1105\u1167\u11AB","\u1100\u116A\u11AB\u1105\u1175","\u1100\u116A\u11AB\u1109\u1173\u11B8","\u1100\u116A\u11AB\u1109\u1175\u11B7","\u1100\u116A\u11AB\u110C\u1165\u11B7","\u1100\u116A\u11AB\u110E\u1161\u11AF","\u1100\u116A\u11BC\u1100\u1167\u11BC","\u1100\u116A\u11BC\u1100\u1169","\u1100\u116A\u11BC\u110C\u1161\u11BC","\u1100\u116A\u11BC\u110C\u116E","\u1100\u116C\u1105\u1169\u110B\u116E\u11B7","\u1100\u116C\u11BC\u110C\u1161\u11BC\u1112\u1175","\u1100\u116D\u1100\u116A\u1109\u1165","\u1100\u116D\u1106\u116E\u11AB","\u1100\u116D\u1107\u1169\u11A8","\u1100\u116D\u1109\u1175\u11AF","\u1100\u116D\u110B\u1163\u11BC","\u1100\u116D\u110B\u1172\u11A8","\u1100\u116D\u110C\u1161\u11BC","\u1100\u116D\u110C\u1175\u11A8","\u1100\u116D\u1110\u1169\u11BC","\u1100\u116D\u1112\u116A\u11AB","\u1100\u116D\u1112\u116E\u11AB","\u1100\u116E\u1100\u1167\u11BC","\u1100\u116E\u1105\u1173\u11B7","\u1100\u116E\u1106\u1165\u11BC","\u1100\u116E\u1107\u1167\u11AF","\u1100\u116E\u1107\u116E\u11AB","\u1100\u116E\u1109\u1165\u11A8","\u1100\u116E\u1109\u1165\u11BC","\u1100\u116E\u1109\u1169\u11A8","\u1100\u116E\u110B\u1167\u11A8","\u1100\u116E\u110B\u1175\u11B8","\u1100\u116E\u110E\u1165\u11BC","\u1100\u116E\u110E\u1166\u110C\u1165\u11A8","\u1100\u116E\u11A8\u1100\u1161","\u1100\u116E\u11A8\u1100\u1175","\u1100\u116E\u11A8\u1102\u1162","\u1100\u116E\u11A8\u1105\u1175\u11B8","\u1100\u116E\u11A8\u1106\u116E\u11AF","\u1100\u116E\u11A8\u1106\u1175\u11AB","\u1100\u116E\u11A8\u1109\u116E","\u1100\u116E\u11A8\u110B\u1165","\u1100\u116E\u11A8\u110B\u116A\u11BC","\u1100\u116E\u11A8\u110C\u1165\u11A8","\u1100\u116E\u11A8\u110C\u1166","\u1100\u116E\u11A8\u1112\u116C","\u1100\u116E\u11AB\u1103\u1162","\u1100\u116E\u11AB\u1109\u1161","\u1100\u116E\u11AB\u110B\u1175\u11AB","\u1100\u116E\u11BC\u1100\u1173\u11A8\u110C\u1165\u11A8","\u1100\u116F\u11AB\u1105\u1175","\u1100\u116F\u11AB\u110B\u1171","\u1100\u116F\u11AB\u1110\u116E","\u1100\u1171\u1100\u116E\u11A8","\u1100\u1171\u1109\u1175\u11AB","\u1100\u1172\u110C\u1165\u11BC","\u1100\u1172\u110E\u1175\u11A8","\u1100\u1172\u11AB\u1112\u1167\u11BC","\u1100\u1173\u1102\u1161\u11AF","\u1100\u1173\u1102\u1163\u11BC","\u1100\u1173\u1102\u1173\u11AF","\u1100\u1173\u1105\u1165\u1102\u1161","\u1100\u1173\u1105\u116E\u11B8","\u1100\u1173\u1105\u1173\u11BA","\u1100\u1173\u1105\u1175\u11B7","\u1100\u1173\u110C\u1166\u1109\u1165\u110B\u1163","\u1100\u1173\u1110\u1169\u1105\u1169\u11A8","\u1100\u1173\u11A8\u1107\u1169\u11A8","\u1100\u1173\u11A8\u1112\u1175","\u1100\u1173\u11AB\u1100\u1165","\u1100\u1173\u11AB\u1100\u116D","\u1100\u1173\u11AB\u1105\u1162","\u1100\u1173\u11AB\u1105\u1169","\u1100\u1173\u11AB\u1106\u116E","\u1100\u1173\u11AB\u1107\u1169\u11AB","\u1100\u1173\u11AB\u110B\u116F\u11AB","\u1100\u1173\u11AB\u110B\u1172\u11A8","\u1100\u1173\u11AB\u110E\u1165","\u1100\u1173\u11AF\u110A\u1175","\u1100\u1173\u11AF\u110C\u1161","\u1100\u1173\u11B7\u1100\u1161\u11BC\u1109\u1161\u11AB","\u1100\u1173\u11B7\u1100\u1169","\u1100\u1173\u11B7\u1102\u1167\u11AB","\u1100\u1173\u11B7\u1106\u1166\u1103\u1161\u11AF","\u1100\u1173\u11B7\u110B\u1162\u11A8","\u1100\u1173\u11B7\u110B\u1167\u11AB","\u1100\u1173\u11B7\u110B\u116D\u110B\u1175\u11AF","\u1100\u1173\u11B7\u110C\u1175","\u1100\u1173\u11BC\u110C\u1165\u11BC\u110C\u1165\u11A8","\u1100\u1175\u1100\u1161\u11AB","\u1100\u1175\u1100\u116A\u11AB","\u1100\u1175\u1102\u1167\u11B7","\u1100\u1175\u1102\u1173\u11BC","\u1100\u1175\u1103\u1169\u11A8\u1100\u116D","\u1100\u1175\u1103\u116E\u11BC","\u1100\u1175\u1105\u1169\u11A8","\u1100\u1175\u1105\u1173\u11B7","\u1100\u1175\u1107\u1165\u11B8","\u1100\u1175\u1107\u1169\u11AB","\u1100\u1175\u1107\u116E\u11AB","\u1100\u1175\u1108\u1173\u11B7","\u1100\u1175\u1109\u116E\u11A8\u1109\u1161","\u1100\u1175\u1109\u116E\u11AF","\u1100\u1175\u110B\u1165\u11A8","\u1100\u1175\u110B\u1165\u11B8","\u1100\u1175\u110B\u1169\u11AB","\u1100\u1175\u110B\u116E\u11AB","\u1100\u1175\u110B\u116F\u11AB","\u1100\u1175\u110C\u1165\u11A8","\u1100\u1175\u110C\u116E\u11AB","\u1100\u1175\u110E\u1175\u11B7","\u1100\u1175\u1112\u1169\u11AB","\u1100\u1175\u1112\u116C\u11A8","\u1100\u1175\u11AB\u1100\u1173\u11B8","\u1100\u1175\u11AB\u110C\u1161\u11BC","\u1100\u1175\u11AF\u110B\u1175","\u1100\u1175\u11B7\u1107\u1161\u11B8","\u1100\u1175\u11B7\u110E\u1175","\u1100\u1175\u11B7\u1111\u1169\u1100\u1169\u11BC\u1112\u1161\u11BC","\u1101\u1161\u11A8\u1103\u116E\u1100\u1175","\u1101\u1161\u11B7\u1108\u1161\u11A8","\u1101\u1162\u1103\u1161\u11AF\u110B\u1173\u11B7","\u1101\u1162\u1109\u1169\u1100\u1173\u11B7","\u1101\u1165\u11B8\u110C\u1175\u11AF","\u1101\u1169\u11A8\u1103\u1162\u1100\u1175","\u1101\u1169\u11BE\u110B\u1175\u11C1","\u1102\u1161\u1103\u1173\u11AF\u110B\u1175","\u1102\u1161\u1105\u1161\u11AB\u1112\u1175","\u1102\u1161\u1106\u1165\u110C\u1175","\u1102\u1161\u1106\u116E\u11AF","\u1102\u1161\u110E\u1175\u11B7\u1107\u1161\u11AB","\u1102\u1161\u1112\u1173\u11AF","\u1102\u1161\u11A8\u110B\u1167\u11B8","\u1102\u1161\u11AB\u1107\u1161\u11BC","\u1102\u1161\u11AF\u1100\u1162","\u1102\u1161\u11AF\u110A\u1175","\u1102\u1161\u11AF\u110D\u1161","\u1102\u1161\u11B7\u1102\u1167","\u1102\u1161\u11B7\u1103\u1162\u1106\u116E\u11AB","\u1102\u1161\u11B7\u1106\u1162","\u1102\u1161\u11B7\u1109\u1161\u11AB","\u1102\u1161\u11B7\u110C\u1161","\u1102\u1161\u11B7\u1111\u1167\u11AB","\u1102\u1161\u11B7\u1112\u1161\u11A8\u1109\u1162\u11BC","\u1102\u1161\u11BC\u1107\u1175","\u1102\u1161\u11C0\u1106\u1161\u11AF","\u1102\u1162\u1102\u1167\u11AB","\u1102\u1162\u110B\u116D\u11BC","\u1102\u1162\u110B\u1175\u11AF","\u1102\u1162\u11B7\u1107\u1175","\u1102\u1162\u11B7\u1109\u1162","\u1102\u1162\u11BA\u1106\u116E\u11AF","\u1102\u1162\u11BC\u1103\u1169\u11BC","\u1102\u1162\u11BC\u1106\u1167\u11AB","\u1102\u1162\u11BC\u1107\u1161\u11BC","\u1102\u1162\u11BC\u110C\u1161\u11BC\u1100\u1169","\u1102\u1166\u11A8\u1110\u1161\u110B\u1175","\u1102\u1166\u11BA\u110D\u1162","\u1102\u1169\u1103\u1169\u11BC","\u1102\u1169\u1105\u1161\u11AB\u1109\u1162\u11A8","\u1102\u1169\u1105\u1167\u11A8","\u1102\u1169\u110B\u1175\u11AB","\u1102\u1169\u11A8\u110B\u1173\u11B7","\u1102\u1169\u11A8\u110E\u1161","\u1102\u1169\u11A8\u1112\u116A","\u1102\u1169\u11AB\u1105\u1175","\u1102\u1169\u11AB\u1106\u116E\u11AB","\u1102\u1169\u11AB\u110C\u1162\u11BC","\u1102\u1169\u11AF\u110B\u1175","\u1102\u1169\u11BC\u1100\u116E","\u1102\u1169\u11BC\u1103\u1161\u11B7","\u1102\u1169\u11BC\u1106\u1175\u11AB","\u1102\u1169\u11BC\u1107\u116E","\u1102\u1169\u11BC\u110B\u1165\u11B8","\u1102\u1169\u11BC\u110C\u1161\u11BC","\u1102\u1169\u11BC\u110E\u1169\u11AB","\u1102\u1169\u11C1\u110B\u1175","\u1102\u116E\u11AB\u1103\u1169\u11BC\u110C\u1161","\u1102\u116E\u11AB\u1106\u116E\u11AF","\u1102\u116E\u11AB\u110A\u1165\u11B8","\u1102\u1172\u110B\u116D\u11A8","\u1102\u1173\u1101\u1175\u11B7","\u1102\u1173\u11A8\u1103\u1162","\u1102\u1173\u11BC\u1103\u1169\u11BC\u110C\u1165\u11A8","\u1102\u1173\u11BC\u1105\u1167\u11A8","\u1103\u1161\u1107\u1161\u11BC","\u1103\u1161\u110B\u1163\u11BC\u1109\u1165\u11BC","\u1103\u1161\u110B\u1173\u11B7","\u1103\u1161\u110B\u1175\u110B\u1165\u1110\u1173","\u1103\u1161\u1112\u1162\u11BC","\u1103\u1161\u11AB\u1100\u1168","\u1103\u1161\u11AB\u1100\u1169\u11AF","\u1103\u1161\u11AB\u1103\u1169\u11A8","\u1103\u1161\u11AB\u1106\u1161\u11BA","\u1103\u1161\u11AB\u1109\u116E\u11AB","\u1103\u1161\u11AB\u110B\u1165","\u1103\u1161\u11AB\u110B\u1171","\u1103\u1161\u11AB\u110C\u1165\u11B7","\u1103\u1161\u11AB\u110E\u1166","\u1103\u1161\u11AB\u110E\u116E","\u1103\u1161\u11AB\u1111\u1167\u11AB","\u1103\u1161\u11AB\u1111\u116E\u11BC","\u1103\u1161\u11AF\u1100\u1163\u11AF","\u1103\u1161\u11AF\u1105\u1165","\u1103\u1161\u11AF\u1105\u1167\u11A8","\u1103\u1161\u11AF\u1105\u1175","\u1103\u1161\u11B0\u1100\u1169\u1100\u1175","\u1103\u1161\u11B7\u1103\u1161\u11BC","\u1103\u1161\u11B7\u1107\u1162","\u1103\u1161\u11B7\u110B\u116D","\u1103\u1161\u11B7\u110B\u1175\u11B7","\u1103\u1161\u11B8\u1107\u1167\u11AB","\u1103\u1161\u11B8\u110C\u1161\u11BC","\u1103\u1161\u11BC\u1100\u1173\u11AB","\u1103\u1161\u11BC\u1107\u116E\u11AB\u1100\u1161\u11AB","\u1103\u1161\u11BC\u110B\u1167\u11AB\u1112\u1175","\u1103\u1161\u11BC\u110C\u1161\u11BC","\u1103\u1162\u1100\u1172\u1106\u1169","\u1103\u1162\u1102\u1161\u11BD","\u1103\u1162\u1103\u1161\u11AB\u1112\u1175","\u1103\u1162\u1103\u1161\u11B8","\u1103\u1162\u1103\u1169\u1109\u1175","\u1103\u1162\u1105\u1163\u11A8","\u1103\u1162\u1105\u1163\u11BC","\u1103\u1162\u1105\u1172\u11A8","\u1103\u1162\u1106\u116E\u11AB","\u1103\u1162\u1107\u116E\u1107\u116E\u11AB","\u1103\u1162\u1109\u1175\u11AB","\u1103\u1162\u110B\u1173\u11BC","\u1103\u1162\u110C\u1161\u11BC","\u1103\u1162\u110C\u1165\u11AB","\u1103\u1162\u110C\u1165\u11B8","\u1103\u1162\u110C\u116E\u11BC","\u1103\u1162\u110E\u1162\u11A8","\u1103\u1162\u110E\u116E\u11AF","\u1103\u1162\u110E\u116E\u11BC","\u1103\u1162\u1110\u1169\u11BC\u1105\u1167\u11BC","\u1103\u1162\u1112\u1161\u11A8","\u1103\u1162\u1112\u1161\u11AB\u1106\u1175\u11AB\u1100\u116E\u11A8","\u1103\u1162\u1112\u1161\u11B8\u1109\u1175\u11AF","\u1103\u1162\u1112\u1167\u11BC","\u1103\u1165\u11BC\u110B\u1165\u1105\u1175","\u1103\u1166\u110B\u1175\u1110\u1173","\u1103\u1169\u1103\u1162\u110E\u1166","\u1103\u1169\u1103\u1165\u11A8","\u1103\u1169\u1103\u116E\u11A8","\u1103\u1169\u1106\u1161\u11BC","\u1103\u1169\u1109\u1165\u1100\u116A\u11AB","\u1103\u1169\u1109\u1175\u11B7","\u1103\u1169\u110B\u116E\u11B7","\u1103\u1169\u110B\u1175\u11B8","\u1103\u1169\u110C\u1161\u1100\u1175","\u1103\u1169\u110C\u1165\u1112\u1175","\u1103\u1169\u110C\u1165\u11AB","\u1103\u1169\u110C\u116E\u11BC","\u1103\u1169\u110E\u1161\u11A8","\u1103\u1169\u11A8\u1100\u1161\u11B7","\u1103\u1169\u11A8\u1105\u1175\u11B8","\u1103\u1169\u11A8\u1109\u1165","\u1103\u1169\u11A8\u110B\u1175\u11AF","\u1103\u1169\u11A8\u110E\u1161\u11BC\u110C\u1165\u11A8","\u1103\u1169\u11BC\u1112\u116A\u110E\u1162\u11A8","\u1103\u1171\u11BA\u1106\u1169\u1109\u1173\u11B8","\u1103\u1171\u11BA\u1109\u1161\u11AB","\u1104\u1161\u11AF\u110B\u1161\u110B\u1175","\u1106\u1161\u1102\u116E\u1105\u1161","\u1106\u1161\u1102\u1173\u11AF","\u1106\u1161\u1103\u1161\u11BC","\u1106\u1161\u1105\u1161\u1110\u1169\u11AB","\u1106\u1161\u1105\u1167\u11AB","\u1106\u1161\u1106\u116E\u1105\u1175","\u1106\u1161\u1109\u1161\u110C\u1175","\u1106\u1161\u110B\u1163\u11A8","\u1106\u1161\u110B\u116D\u1102\u1166\u110C\u1173","\u1106\u1161\u110B\u1173\u11AF","\u1106\u1161\u110B\u1173\u11B7","\u1106\u1161\u110B\u1175\u110F\u1173","\u1106\u1161\u110C\u116E\u11BC","\u1106\u1161\u110C\u1175\u1106\u1161\u11A8","\u1106\u1161\u110E\u1161\u11AB\u1100\u1161\u110C\u1175","\u1106\u1161\u110E\u1161\u11AF","\u1106\u1161\u1112\u1173\u11AB","\u1106\u1161\u11A8\u1100\u1165\u11AF\u1105\u1175","\u1106\u1161\u11A8\u1102\u1162","\u1106\u1161\u11A8\u1109\u1161\u11BC","\u1106\u1161\u11AB\u1102\u1161\u11B7","\u1106\u1161\u11AB\u1103\u116E","\u1106\u1161\u11AB\u1109\u1166","\u1106\u1161\u11AB\u110B\u1163\u11A8","\u1106\u1161\u11AB\u110B\u1175\u11AF","\u1106\u1161\u11AB\u110C\u1165\u11B7","\u1106\u1161\u11AB\u110C\u1169\u11A8","\u1106\u1161\u11AB\u1112\u116A","\u1106\u1161\u11AD\u110B\u1175","\u1106\u1161\u11AF\u1100\u1175","\u1106\u1161\u11AF\u110A\u1173\u11B7","\u1106\u1161\u11AF\u1110\u116E","\u1106\u1161\u11B7\u1103\u1162\u1105\u1169","\u1106\u1161\u11BC\u110B\u116F\u11AB\u1100\u1167\u11BC","\u1106\u1162\u1102\u1167\u11AB","\u1106\u1162\u1103\u1161\u11AF","\u1106\u1162\u1105\u1167\u11A8","\u1106\u1162\u1107\u1165\u11AB","\u1106\u1162\u1109\u1173\u110F\u1165\u11B7","\u1106\u1162\u110B\u1175\u11AF","\u1106\u1162\u110C\u1161\u11BC","\u1106\u1162\u11A8\u110C\u116E","\u1106\u1165\u11A8\u110B\u1175","\u1106\u1165\u11AB\u110C\u1165","\u1106\u1165\u11AB\u110C\u1175","\u1106\u1165\u11AF\u1105\u1175","\u1106\u1166\u110B\u1175\u11AF","\u1106\u1167\u1102\u1173\u1105\u1175","\u1106\u1167\u110E\u1175\u11AF","\u1106\u1167\u11AB\u1103\u1161\u11B7","\u1106\u1167\u11AF\u110E\u1175","\u1106\u1167\u11BC\u1103\u1161\u11AB","\u1106\u1167\u11BC\u1105\u1167\u11BC","\u1106\u1167\u11BC\u110B\u1168","\u1106\u1167\u11BC\u110B\u1174","\u1106\u1167\u11BC\u110C\u1165\u11AF","\u1106\u1167\u11BC\u110E\u1175\u11BC","\u1106\u1167\u11BC\u1112\u1161\u11B7","\u1106\u1169\u1100\u1173\u11B7","\u1106\u1169\u1102\u1175\u1110\u1165","\u1106\u1169\u1103\u1166\u11AF","\u1106\u1169\u1103\u1173\u11AB","\u1106\u1169\u1107\u1165\u11B7","\u1106\u1169\u1109\u1173\u11B8","\u1106\u1169\u110B\u1163\u11BC","\u1106\u1169\u110B\u1175\u11B7","\u1106\u1169\u110C\u1169\u1105\u1175","\u1106\u1169\u110C\u1175\u11B8","\u1106\u1169\u1110\u116E\u11BC\u110B\u1175","\u1106\u1169\u11A8\u1100\u1165\u11AF\u110B\u1175","\u1106\u1169\u11A8\u1105\u1169\u11A8","\u1106\u1169\u11A8\u1109\u1161","\u1106\u1169\u11A8\u1109\u1169\u1105\u1175","\u1106\u1169\u11A8\u1109\u116E\u11B7","\u1106\u1169\u11A8\u110C\u1165\u11A8","\u1106\u1169\u11A8\u1111\u116D","\u1106\u1169\u11AF\u1105\u1162","\u1106\u1169\u11B7\u1106\u1162","\u1106\u1169\u11B7\u1106\u116E\u1100\u1166","\u1106\u1169\u11B7\u1109\u1161\u11AF","\u1106\u1169\u11B7\u1109\u1169\u11A8","\u1106\u1169\u11B7\u110C\u1175\u11BA","\u1106\u1169\u11B7\u1110\u1169\u11BC","\u1106\u1169\u11B8\u1109\u1175","\u1106\u116E\u1100\u116A\u11AB\u1109\u1175\u11B7","\u1106\u116E\u1100\u116E\u11BC\u1112\u116A","\u1106\u116E\u1103\u1165\u110B\u1171","\u1106\u116E\u1103\u1165\u11B7","\u1106\u116E\u1105\u1173\u11C1","\u1106\u116E\u1109\u1173\u11AB","\u1106\u116E\u110B\u1165\u11BA","\u1106\u116E\u110B\u1167\u11A8","\u1106\u116E\u110B\u116D\u11BC","\u1106\u116E\u110C\u1169\u1100\u1165\u11AB","\u1106\u116E\u110C\u1175\u1100\u1162","\u1106\u116E\u110E\u1165\u11A8","\u1106\u116E\u11AB\u1100\u116E","\u1106\u116E\u11AB\u1103\u1173\u11A8","\u1106\u116E\u11AB\u1107\u1165\u11B8","\u1106\u116E\u11AB\u1109\u1165","\u1106\u116E\u11AB\u110C\u1166","\u1106\u116E\u11AB\u1112\u1161\u11A8","\u1106\u116E\u11AB\u1112\u116A","\u1106\u116E\u11AF\u1100\u1161","\u1106\u116E\u11AF\u1100\u1165\u11AB","\u1106\u116E\u11AF\u1100\u1167\u11AF","\u1106\u116E\u11AF\u1100\u1169\u1100\u1175","\u1106\u116E\u11AF\u1105\u1169\u11AB","\u1106\u116E\u11AF\u1105\u1175\u1112\u1161\u11A8","\u1106\u116E\u11AF\u110B\u1173\u11B7","\u1106\u116E\u11AF\u110C\u1175\u11AF","\u1106\u116E\u11AF\u110E\u1166","\u1106\u1175\u1100\u116E\u11A8","\u1106\u1175\u1103\u1175\u110B\u1165","\u1106\u1175\u1109\u1161\u110B\u1175\u11AF","\u1106\u1175\u1109\u116E\u11AF","\u1106\u1175\u110B\u1167\u11A8","\u1106\u1175\u110B\u116D\u11BC\u1109\u1175\u11AF","\u1106\u1175\u110B\u116E\u11B7","\u1106\u1175\u110B\u1175\u11AB","\u1106\u1175\u1110\u1175\u11BC","\u1106\u1175\u1112\u1169\u11AB","\u1106\u1175\u11AB\u1100\u1161\u11AB","\u1106\u1175\u11AB\u110C\u1169\u11A8","\u1106\u1175\u11AB\u110C\u116E","\u1106\u1175\u11AE\u110B\u1173\u11B7","\u1106\u1175\u11AF\u1100\u1161\u1105\u116E","\u1106\u1175\u11AF\u1105\u1175\u1106\u1175\u1110\u1165","\u1106\u1175\u11C0\u1107\u1161\u1103\u1161\u11A8","\u1107\u1161\u1100\u1161\u110C\u1175","\u1107\u1161\u1100\u116E\u1102\u1175","\u1107\u1161\u1102\u1161\u1102\u1161","\u1107\u1161\u1102\u1173\u11AF","\u1107\u1161\u1103\u1161\u11A8","\u1107\u1161\u1103\u1161\u11BA\u1100\u1161","\u1107\u1161\u1105\u1161\u11B7","\u1107\u1161\u110B\u1175\u1105\u1165\u1109\u1173","\u1107\u1161\u1110\u1161\u11BC","\u1107\u1161\u11A8\u1106\u116E\u11AF\u1100\u116A\u11AB","\u1107\u1161\u11A8\u1109\u1161","\u1107\u1161\u11A8\u1109\u116E","\u1107\u1161\u11AB\u1103\u1162","\u1107\u1161\u11AB\u1103\u1173\u1109\u1175","\u1107\u1161\u11AB\u1106\u1161\u11AF","\u1107\u1161\u11AB\u1107\u1161\u11AF","\u1107\u1161\u11AB\u1109\u1165\u11BC","\u1107\u1161\u11AB\u110B\u1173\u11BC","\u1107\u1161\u11AB\u110C\u1161\u11BC","\u1107\u1161\u11AB\u110C\u116E\u11A8","\u1107\u1161\u11AB\u110C\u1175","\u1107\u1161\u11AB\u110E\u1161\u11AB","\u1107\u1161\u11AE\u110E\u1175\u11B7","\u1107\u1161\u11AF\u1100\u1161\u1105\u1161\u11A8","\u1107\u1161\u11AF\u1100\u1165\u11AF\u110B\u1173\u11B7","\u1107\u1161\u11AF\u1100\u1167\u11AB","\u1107\u1161\u11AF\u1103\u1161\u11AF","\u1107\u1161\u11AF\u1105\u1166","\u1107\u1161\u11AF\u1106\u1169\u11A8","\u1107\u1161\u11AF\u1107\u1161\u1103\u1161\u11A8","\u1107\u1161\u11AF\u1109\u1162\u11BC","\u1107\u1161\u11AF\u110B\u1173\u11B7","\u1107\u1161\u11AF\u110C\u1161\u1100\u116E\u11A8","\u1107\u1161\u11AF\u110C\u1165\u11AB","\u1107\u1161\u11AF\u1110\u1169\u11B8","\u1107\u1161\u11AF\u1111\u116D","\u1107\u1161\u11B7\u1112\u1161\u1102\u1173\u11AF","\u1107\u1161\u11B8\u1100\u1173\u1105\u1173\u11BA","\u1107\u1161\u11B8\u1106\u1161\u11BA","\u1107\u1161\u11B8\u1109\u1161\u11BC","\u1107\u1161\u11B8\u1109\u1169\u11C0","\u1107\u1161\u11BC\u1100\u1173\u11B7","\u1107\u1161\u11BC\u1106\u1167\u11AB","\u1107\u1161\u11BC\u1106\u116E\u11AB","\u1107\u1161\u11BC\u1107\u1161\u1103\u1161\u11A8","\u1107\u1161\u11BC\u1107\u1165\u11B8","\u1107\u1161\u11BC\u1109\u1169\u11BC","\u1107\u1161\u11BC\u1109\u1175\u11A8","\u1107\u1161\u11BC\u110B\u1161\u11AB","\u1107\u1161\u11BC\u110B\u116E\u11AF","\u1107\u1161\u11BC\u110C\u1175","\u1107\u1161\u11BC\u1112\u1161\u11A8","\u1107\u1161\u11BC\u1112\u1162","\u1107\u1161\u11BC\u1112\u1163\u11BC","\u1107\u1162\u1100\u1167\u11BC","\u1107\u1162\u1101\u1169\u11B8","\u1107\u1162\u1103\u1161\u11AF","\u1107\u1162\u1103\u1173\u1106\u1175\u11AB\u1110\u1165\u11AB","\u1107\u1162\u11A8\u1103\u116E\u1109\u1161\u11AB","\u1107\u1162\u11A8\u1109\u1162\u11A8","\u1107\u1162\u11A8\u1109\u1165\u11BC","\u1107\u1162\u11A8\u110B\u1175\u11AB","\u1107\u1162\u11A8\u110C\u1166","\u1107\u1162\u11A8\u1112\u116A\u110C\u1165\u11B7","\u1107\u1165\u1105\u1173\u11BA","\u1107\u1165\u1109\u1165\u11BA","\u1107\u1165\u1110\u1173\u11AB","\u1107\u1165\u11AB\u1100\u1162","\u1107\u1165\u11AB\u110B\u1167\u11A8","\u1107\u1165\u11AB\u110C\u1175","\u1107\u1165\u11AB\u1112\u1169","\u1107\u1165\u11AF\u1100\u1173\u11B7","\u1107\u1165\u11AF\u1105\u1166","\u1107\u1165\u11AF\u110A\u1165","\u1107\u1165\u11B7\u110B\u1171","\u1107\u1165\u11B7\u110B\u1175\u11AB","\u1107\u1165\u11B7\u110C\u116C","\u1107\u1165\u11B8\u1105\u1172\u11AF","\u1107\u1165\u11B8\u110B\u116F\u11AB","\u1107\u1165\u11B8\u110C\u1165\u11A8","\u1107\u1165\u11B8\u110E\u1175\u11A8","\u1107\u1166\u110B\u1175\u110C\u1175\u11BC","\u1107\u1166\u11AF\u1110\u1173","\u1107\u1167\u11AB\u1100\u1167\u11BC","\u1107\u1167\u11AB\u1103\u1169\u11BC","\u1107\u1167\u11AB\u1106\u1167\u11BC","\u1107\u1167\u11AB\u1109\u1175\u11AB","\u1107\u1167\u11AB\u1112\u1169\u1109\u1161","\u1107\u1167\u11AB\u1112\u116A","\u1107\u1167\u11AF\u1103\u1169","\u1107\u1167\u11AF\u1106\u1167\u11BC","\u1107\u1167\u11AF\u110B\u1175\u11AF","\u1107\u1167\u11BC\u1109\u1175\u11AF","\u1107\u1167\u11BC\u110B\u1161\u1105\u1175","\u1107\u1167\u11BC\u110B\u116F\u11AB","\u1107\u1169\u1100\u116A\u11AB","\u1107\u1169\u1102\u1165\u1109\u1173","\u1107\u1169\u1105\u1161\u1109\u1162\u11A8","\u1107\u1169\u1105\u1161\u11B7","\u1107\u1169\u1105\u1173\u11B7","\u1107\u1169\u1109\u1161\u11BC","\u1107\u1169\u110B\u1161\u11AB","\u1107\u1169\u110C\u1161\u1100\u1175","\u1107\u1169\u110C\u1161\u11BC","\u1107\u1169\u110C\u1165\u11AB","\u1107\u1169\u110C\u1169\u11AB","\u1107\u1169\u1110\u1169\u11BC","\u1107\u1169\u1111\u1167\u11AB\u110C\u1165\u11A8","\u1107\u1169\u1112\u1165\u11B7","\u1107\u1169\u11A8\u1103\u1169","\u1107\u1169\u11A8\u1109\u1161","\u1107\u1169\u11A8\u1109\u116E\u11BC\u110B\u1161","\u1107\u1169\u11A8\u1109\u1173\u11B8","\u1107\u1169\u11A9\u110B\u1173\u11B7","\u1107\u1169\u11AB\u1100\u1167\u11A8\u110C\u1165\u11A8","\u1107\u1169\u11AB\u1105\u1162","\u1107\u1169\u11AB\u1107\u116E","\u1107\u1169\u11AB\u1109\u1161","\u1107\u1169\u11AB\u1109\u1165\u11BC","\u1107\u1169\u11AB\u110B\u1175\u11AB","\u1107\u1169\u11AB\u110C\u1175\u11AF","\u1107\u1169\u11AF\u1111\u1166\u11AB","\u1107\u1169\u11BC\u1109\u1161","\u1107\u1169\u11BC\u110C\u1175","\u1107\u1169\u11BC\u1110\u116E","\u1107\u116E\u1100\u1173\u11AB","\u1107\u116E\u1101\u1173\u1105\u1165\u110B\u116E\u11B7","\u1107\u116E\u1103\u1161\u11B7","\u1107\u116E\u1103\u1169\u11BC\u1109\u1161\u11AB","\u1107\u116E\u1106\u116E\u11AB","\u1107\u116E\u1107\u116E\u11AB","\u1107\u116E\u1109\u1161\u11AB","\u1107\u116E\u1109\u1161\u11BC","\u1107\u116E\u110B\u1165\u11BF","\u1107\u116E\u110B\u1175\u11AB","\u1107\u116E\u110C\u1161\u11A8\u110B\u116D\u11BC","\u1107\u116E\u110C\u1161\u11BC","\u1107\u116E\u110C\u1165\u11BC","\u1107\u116E\u110C\u1169\u11A8","\u1107\u116E\u110C\u1175\u1105\u1165\u11AB\u1112\u1175","\u1107\u116E\u110E\u1175\u11AB","\u1107\u116E\u1110\u1161\u11A8","\u1107\u116E\u1111\u116E\u11B7","\u1107\u116E\u1112\u116C\u110C\u1161\u11BC","\u1107\u116E\u11A8\u1107\u116E","\u1107\u116E\u11A8\u1112\u1161\u11AB","\u1107\u116E\u11AB\u1102\u1169","\u1107\u116E\u11AB\u1105\u1163\u11BC","\u1107\u116E\u11AB\u1105\u1175","\u1107\u116E\u11AB\u1106\u1167\u11BC","\u1107\u116E\u11AB\u1109\u1165\u11A8","\u1107\u116E\u11AB\u110B\u1163","\u1107\u116E\u11AB\u110B\u1171\u1100\u1175","\u1107\u116E\u11AB\u1111\u1175\u11AF","\u1107\u116E\u11AB\u1112\u1169\u11BC\u1109\u1162\u11A8","\u1107\u116E\u11AF\u1100\u1169\u1100\u1175","\u1107\u116E\u11AF\u1100\u116A","\u1107\u116E\u11AF\u1100\u116D","\u1107\u116E\u11AF\u1101\u1169\u11BE","\u1107\u116E\u11AF\u1106\u1161\u11AB","\u1107\u116E\u11AF\u1107\u1165\u11B8","\u1107\u116E\u11AF\u1107\u1175\u11BE","\u1107\u116E\u11AF\u110B\u1161\u11AB","\u1107\u116E\u11AF\u110B\u1175\u110B\u1175\u11A8","\u1107\u116E\u11AF\u1112\u1162\u11BC","\u1107\u1173\u1105\u1162\u11AB\u1103\u1173","\u1107\u1175\u1100\u1173\u11A8","\u1107\u1175\u1102\u1161\u11AB","\u1107\u1175\u1102\u1175\u11AF","\u1107\u1175\u1103\u116E\u11AF\u1100\u1175","\u1107\u1175\u1103\u1175\u110B\u1169","\u1107\u1175\u1105\u1169\u1109\u1169","\u1107\u1175\u1106\u1161\u11AB","\u1107\u1175\u1106\u1167\u11BC","\u1107\u1175\u1106\u1175\u11AF","\u1107\u1175\u1107\u1161\u1105\u1161\u11B7","\u1107\u1175\u1107\u1175\u11B7\u1107\u1161\u11B8","\u1107\u1175\u1109\u1161\u11BC","\u1107\u1175\u110B\u116D\u11BC","\u1107\u1175\u110B\u1172\u11AF","\u1107\u1175\u110C\u116E\u11BC","\u1107\u1175\u1110\u1161\u1106\u1175\u11AB","\u1107\u1175\u1111\u1161\u11AB","\u1107\u1175\u11AF\u1103\u1175\u11BC","\u1107\u1175\u11BA\u1106\u116E\u11AF","\u1107\u1175\u11BA\u1107\u1161\u11BC\u110B\u116E\u11AF","\u1107\u1175\u11BA\u110C\u116E\u11AF\u1100\u1175","\u1107\u1175\u11BE\u1101\u1161\u11AF","\u1108\u1161\u11AF\u1100\u1161\u11AB\u1109\u1162\u11A8","\u1108\u1161\u11AF\u1105\u1162","\u1108\u1161\u11AF\u1105\u1175","\u1109\u1161\u1100\u1165\u11AB","\u1109\u1161\u1100\u1168\u110C\u1165\u11AF","\u1109\u1161\u1102\u1161\u110B\u1175","\u1109\u1161\u1102\u1163\u11BC","\u1109\u1161\u1105\u1161\u11B7","\u1109\u1161\u1105\u1161\u11BC","\u1109\u1161\u1105\u1175\u11B8","\u1109\u1161\u1106\u1169\u1102\u1175\u11B7","\u1109\u1161\u1106\u116E\u11AF","\u1109\u1161\u1107\u1161\u11BC","\u1109\u1161\u1109\u1161\u11BC","\u1109\u1161\u1109\u1162\u11BC\u1112\u116A\u11AF","\u1109\u1161\u1109\u1165\u11AF","\u1109\u1161\u1109\u1173\u11B7","\u1109\u1161\u1109\u1175\u11AF","\u1109\u1161\u110B\u1165\u11B8","\u1109\u1161\u110B\u116D\u11BC","\u1109\u1161\u110B\u116F\u11AF","\u1109\u1161\u110C\u1161\u11BC","\u1109\u1161\u110C\u1165\u11AB","\u1109\u1161\u110C\u1175\u11AB","\u1109\u1161\u110E\u1169\u11AB","\u1109\u1161\u110E\u116E\u11AB\u1100\u1175","\u1109\u1161\u1110\u1161\u11BC","\u1109\u1161\u1110\u116E\u1105\u1175","\u1109\u1161\u1112\u1173\u11AF","\u1109\u1161\u11AB\u1100\u1175\u11AF","\u1109\u1161\u11AB\u1107\u116E\u110B\u1175\u11AB\u1100\u116A","\u1109\u1161\u11AB\u110B\u1165\u11B8","\u1109\u1161\u11AB\u110E\u1162\u11A8","\u1109\u1161\u11AF\u1105\u1175\u11B7","\u1109\u1161\u11AF\u110B\u1175\u11AB","\u1109\u1161\u11AF\u110D\u1161\u11A8","\u1109\u1161\u11B7\u1100\u1168\u1110\u1161\u11BC","\u1109\u1161\u11B7\u1100\u116E\u11A8","\u1109\u1161\u11B7\u1109\u1175\u11B8","\u1109\u1161\u11B7\u110B\u116F\u11AF","\u1109\u1161\u11B7\u110E\u1169\u11AB","\u1109\u1161\u11BC\u1100\u116A\u11AB","\u1109\u1161\u11BC\u1100\u1173\u11B7","\u1109\u1161\u11BC\u1103\u1162","\u1109\u1161\u11BC\u1105\u1172","\u1109\u1161\u11BC\u1107\u1161\u11AB\u1100\u1175","\u1109\u1161\u11BC\u1109\u1161\u11BC","\u1109\u1161\u11BC\u1109\u1175\u11A8","\u1109\u1161\u11BC\u110B\u1165\u11B8","\u1109\u1161\u11BC\u110B\u1175\u11AB","\u1109\u1161\u11BC\u110C\u1161","\u1109\u1161\u11BC\u110C\u1165\u11B7","\u1109\u1161\u11BC\u110E\u1165","\u1109\u1161\u11BC\u110E\u116E","\u1109\u1161\u11BC\u1110\u1162","\u1109\u1161\u11BC\u1111\u116D","\u1109\u1161\u11BC\u1111\u116E\u11B7","\u1109\u1161\u11BC\u1112\u116A\u11BC","\u1109\u1162\u1107\u1167\u11A8","\u1109\u1162\u11A8\u1101\u1161\u11AF","\u1109\u1162\u11A8\u110B\u1167\u11AB\u1111\u1175\u11AF","\u1109\u1162\u11BC\u1100\u1161\u11A8","\u1109\u1162\u11BC\u1106\u1167\u11BC","\u1109\u1162\u11BC\u1106\u116E\u11AF","\u1109\u1162\u11BC\u1107\u1161\u11BC\u1109\u1169\u11BC","\u1109\u1162\u11BC\u1109\u1161\u11AB","\u1109\u1162\u11BC\u1109\u1165\u11AB","\u1109\u1162\u11BC\u1109\u1175\u11AB","\u1109\u1162\u11BC\u110B\u1175\u11AF","\u1109\u1162\u11BC\u1112\u116A\u11AF","\u1109\u1165\u1105\u1161\u11B8","\u1109\u1165\u1105\u1173\u11AB","\u1109\u1165\u1106\u1167\u11BC","\u1109\u1165\u1106\u1175\u11AB","\u1109\u1165\u1107\u1175\u1109\u1173","\u1109\u1165\u110B\u1163\u11BC","\u1109\u1165\u110B\u116E\u11AF","\u1109\u1165\u110C\u1165\u11A8","\u1109\u1165\u110C\u1165\u11B7","\u1109\u1165\u110D\u1169\u11A8","\u1109\u1165\u110F\u1173\u11AF","\u1109\u1165\u11A8\u1109\u1161","\u1109\u1165\u11A8\u110B\u1172","\u1109\u1165\u11AB\u1100\u1165","\u1109\u1165\u11AB\u1106\u116E\u11AF","\u1109\u1165\u11AB\u1107\u1162","\u1109\u1165\u11AB\u1109\u1162\u11BC","\u1109\u1165\u11AB\u1109\u116E","\u1109\u1165\u11AB\u110B\u116F\u11AB","\u1109\u1165\u11AB\u110C\u1161\u11BC","\u1109\u1165\u11AB\u110C\u1165\u11AB","\u1109\u1165\u11AB\u1110\u1162\u11A8","\u1109\u1165\u11AB\u1111\u116E\u11BC\u1100\u1175","\u1109\u1165\u11AF\u1100\u1165\u110C\u1175","\u1109\u1165\u11AF\u1102\u1161\u11AF","\u1109\u1165\u11AF\u1105\u1165\u11BC\u1110\u1161\u11BC","\u1109\u1165\u11AF\u1106\u1167\u11BC","\u1109\u1165\u11AF\u1106\u116E\u11AB","\u1109\u1165\u11AF\u1109\u1161","\u1109\u1165\u11AF\u110B\u1161\u11A8\u1109\u1161\u11AB","\u1109\u1165\u11AF\u110E\u1175","\u1109\u1165\u11AF\u1110\u1161\u11BC","\u1109\u1165\u11B8\u110A\u1175","\u1109\u1165\u11BC\u1100\u1169\u11BC","\u1109\u1165\u11BC\u1103\u1161\u11BC","\u1109\u1165\u11BC\u1106\u1167\u11BC","\u1109\u1165\u11BC\u1107\u1167\u11AF","\u1109\u1165\u11BC\u110B\u1175\u11AB","\u1109\u1165\u11BC\u110C\u1161\u11BC","\u1109\u1165\u11BC\u110C\u1165\u11A8","\u1109\u1165\u11BC\u110C\u1175\u11AF","\u1109\u1165\u11BC\u1112\u1161\u11B7","\u1109\u1166\u1100\u1173\u11B7","\u1109\u1166\u1106\u1175\u1102\u1161","\u1109\u1166\u1109\u1161\u11BC","\u1109\u1166\u110B\u116F\u11AF","\u1109\u1166\u110C\u1169\u11BC\u1103\u1162\u110B\u116A\u11BC","\u1109\u1166\u1110\u1161\u11A8","\u1109\u1166\u11AB\u1110\u1165","\u1109\u1166\u11AB\u1110\u1175\u1106\u1175\u1110\u1165","\u1109\u1166\u11BA\u110D\u1162","\u1109\u1169\u1100\u1172\u1106\u1169","\u1109\u1169\u1100\u1173\u11A8\u110C\u1165\u11A8","\u1109\u1169\u1100\u1173\u11B7","\u1109\u1169\u1102\u1161\u1100\u1175","\u1109\u1169\u1102\u1167\u11AB","\u1109\u1169\u1103\u1173\u11A8","\u1109\u1169\u1106\u1161\u11BC","\u1109\u1169\u1106\u116E\u11AB","\u1109\u1169\u1109\u1165\u11AF","\u1109\u1169\u1109\u1169\u11A8","\u1109\u1169\u110B\u1161\u1100\u116A","\u1109\u1169\u110B\u116D\u11BC","\u1109\u1169\u110B\u116F\u11AB","\u1109\u1169\u110B\u1173\u11B7","\u1109\u1169\u110C\u116E\u11BC\u1112\u1175","\u1109\u1169\u110C\u1175\u1111\u116E\u11B7","\u1109\u1169\u110C\u1175\u11AF","\u1109\u1169\u1111\u116E\u11BC","\u1109\u1169\u1112\u1167\u11BC","\u1109\u1169\u11A8\u1103\u1161\u11B7","\u1109\u1169\u11A8\u1103\u1169","\u1109\u1169\u11A8\u110B\u1169\u11BA","\u1109\u1169\u11AB\u1100\u1161\u1105\u1161\u11A8","\u1109\u1169\u11AB\u1100\u1175\u11AF","\u1109\u1169\u11AB\u1102\u1167","\u1109\u1169\u11AB\u1102\u1175\u11B7","\u1109\u1169\u11AB\u1103\u1173\u11BC","\u1109\u1169\u11AB\u1106\u1169\u11A8","\u1109\u1169\u11AB\u1108\u1167\u11A8","\u1109\u1169\u11AB\u1109\u1175\u11AF","\u1109\u1169\u11AB\u110C\u1175\u11AF","\u1109\u1169\u11AB\u1110\u1169\u11B8","\u1109\u1169\u11AB\u1112\u1162","\u1109\u1169\u11AF\u110C\u1175\u11A8\u1112\u1175","\u1109\u1169\u11B7\u110A\u1175","\u1109\u1169\u11BC\u110B\u1161\u110C\u1175","\u1109\u1169\u11BC\u110B\u1175","\u1109\u1169\u11BC\u1111\u1167\u11AB","\u1109\u116C\u1100\u1169\u1100\u1175","\u1109\u116D\u1111\u1175\u11BC","\u1109\u116E\u1100\u1165\u11AB","\u1109\u116E\u1102\u1167\u11AB","\u1109\u116E\u1103\u1161\u11AB","\u1109\u116E\u1103\u1169\u11BA\u1106\u116E\u11AF","\u1109\u116E\u1103\u1169\u11BC\u110C\u1165\u11A8","\u1109\u116E\u1106\u1167\u11AB","\u1109\u116E\u1106\u1167\u11BC","\u1109\u116E\u1107\u1161\u11A8","\u1109\u116E\u1109\u1161\u11BC","\u1109\u116E\u1109\u1165\u11A8","\u1109\u116E\u1109\u116E\u11AF","\u1109\u116E\u1109\u1175\u1105\u1169","\u1109\u116E\u110B\u1165\u11B8","\u1109\u116E\u110B\u1167\u11B7","\u1109\u116E\u110B\u1167\u11BC","\u1109\u116E\u110B\u1175\u11B8","\u1109\u116E\u110C\u116E\u11AB","\u1109\u116E\u110C\u1175\u11B8","\u1109\u116E\u110E\u116E\u11AF","\u1109\u116E\u110F\u1165\u11BA","\u1109\u116E\u1111\u1175\u11AF","\u1109\u116E\u1112\u1161\u11A8","\u1109\u116E\u1112\u1165\u11B7\u1109\u1162\u11BC","\u1109\u116E\u1112\u116A\u1100\u1175","\u1109\u116E\u11A8\u1102\u1167","\u1109\u116E\u11A8\u1109\u1169","\u1109\u116E\u11A8\u110C\u1166","\u1109\u116E\u11AB\u1100\u1161\u11AB","\u1109\u116E\u11AB\u1109\u1165","\u1109\u116E\u11AB\u1109\u116E","\u1109\u116E\u11AB\u1109\u1175\u11A8\u1100\u1161\u11AB","\u1109\u116E\u11AB\u110B\u1171","\u1109\u116E\u11AE\u1100\u1161\u1105\u1161\u11A8","\u1109\u116E\u11AF\u1107\u1167\u11BC","\u1109\u116E\u11AF\u110C\u1175\u11B8","\u1109\u116E\u11BA\u110C\u1161","\u1109\u1173\u1102\u1175\u11B7","\u1109\u1173\u1106\u116E\u11AF","\u1109\u1173\u1109\u1173\u1105\u1169","\u1109\u1173\u1109\u1173\u11BC","\u1109\u1173\u110B\u1170\u1110\u1165","\u1109\u1173\u110B\u1171\u110E\u1175","\u1109\u1173\u110F\u1166\u110B\u1175\u1110\u1173","\u1109\u1173\u1110\u1172\u1103\u1175\u110B\u1169","\u1109\u1173\u1110\u1173\u1105\u1166\u1109\u1173","\u1109\u1173\u1111\u1169\u110E\u1173","\u1109\u1173\u11AF\u110D\u1165\u11A8","\u1109\u1173\u11AF\u1111\u1173\u11B7","\u1109\u1173\u11B8\u1100\u116A\u11AB","\u1109\u1173\u11B8\u1100\u1175","\u1109\u1173\u11BC\u1100\u1162\u11A8","\u1109\u1173\u11BC\u1105\u1175","\u1109\u1173\u11BC\u1107\u116E","\u1109\u1173\u11BC\u110B\u116D\u11BC\u110E\u1161","\u1109\u1173\u11BC\u110C\u1175\u11AB","\u1109\u1175\u1100\u1161\u11A8","\u1109\u1175\u1100\u1161\u11AB","\u1109\u1175\u1100\u1169\u11AF","\u1109\u1175\u1100\u1173\u11B7\u110E\u1175","\u1109\u1175\u1102\u1161\u1105\u1175\u110B\u1169","\u1109\u1175\u1103\u1162\u11A8","\u1109\u1175\u1105\u1175\u110C\u1173","\u1109\u1175\u1106\u1166\u11AB\u1110\u1173","\u1109\u1175\u1106\u1175\u11AB","\u1109\u1175\u1107\u116E\u1106\u1169","\u1109\u1175\u1109\u1165\u11AB","\u1109\u1175\u1109\u1165\u11AF","\u1109\u1175\u1109\u1173\u1110\u1166\u11B7","\u1109\u1175\u110B\u1161\u1107\u1165\u110C\u1175","\u1109\u1175\u110B\u1165\u1106\u1165\u1102\u1175","\u1109\u1175\u110B\u116F\u11AF","\u1109\u1175\u110B\u1175\u11AB","\u1109\u1175\u110B\u1175\u11AF","\u1109\u1175\u110C\u1161\u11A8","\u1109\u1175\u110C\u1161\u11BC","\u1109\u1175\u110C\u1165\u11AF","\u1109\u1175\u110C\u1165\u11B7","\u1109\u1175\u110C\u116E\u11BC","\u1109\u1175\u110C\u1173\u11AB","\u1109\u1175\u110C\u1175\u11B8","\u1109\u1175\u110E\u1165\u11BC","\u1109\u1175\u1112\u1161\u11B8","\u1109\u1175\u1112\u1165\u11B7","\u1109\u1175\u11A8\u1100\u116E","\u1109\u1175\u11A8\u1100\u1175","\u1109\u1175\u11A8\u1103\u1161\u11BC","\u1109\u1175\u11A8\u1105\u1163\u11BC","\u1109\u1175\u11A8\u1105\u116D\u1111\u116E\u11B7","\u1109\u1175\u11A8\u1106\u116E\u11AF","\u1109\u1175\u11A8\u1108\u1161\u11BC","\u1109\u1175\u11A8\u1109\u1161","\u1109\u1175\u11A8\u1109\u1162\u11BC\u1112\u116A\u11AF","\u1109\u1175\u11A8\u110E\u1169","\u1109\u1175\u11A8\u1110\u1161\u11A8","\u1109\u1175\u11A8\u1111\u116E\u11B7","\u1109\u1175\u11AB\u1100\u1169","\u1109\u1175\u11AB\u1100\u1172","\u1109\u1175\u11AB\u1102\u1167\u11B7","\u1109\u1175\u11AB\u1106\u116E\u11AB","\u1109\u1175\u11AB\u1107\u1161\u11AF","\u1109\u1175\u11AB\u1107\u1175","\u1109\u1175\u11AB\u1109\u1161","\u1109\u1175\u11AB\u1109\u1166","\u1109\u1175\u11AB\u110B\u116D\u11BC","\u1109\u1175\u11AB\u110C\u1166\u1111\u116E\u11B7","\u1109\u1175\u11AB\u110E\u1165\u11BC","\u1109\u1175\u11AB\u110E\u1166","\u1109\u1175\u11AB\u1112\u116A","\u1109\u1175\u11AF\u1100\u1161\u11B7","\u1109\u1175\u11AF\u1102\u1162","\u1109\u1175\u11AF\u1105\u1167\u11A8","\u1109\u1175\u11AF\u1105\u1168","\u1109\u1175\u11AF\u1106\u1161\u11BC","\u1109\u1175\u11AF\u1109\u116E","\u1109\u1175\u11AF\u1109\u1173\u11B8","\u1109\u1175\u11AF\u1109\u1175","\u1109\u1175\u11AF\u110C\u1161\u11BC","\u1109\u1175\u11AF\u110C\u1165\u11BC","\u1109\u1175\u11AF\u110C\u1175\u11AF\u110C\u1165\u11A8","\u1109\u1175\u11AF\u110E\u1165\u11AB","\u1109\u1175\u11AF\u110E\u1166","\u1109\u1175\u11AF\u110F\u1165\u11BA","\u1109\u1175\u11AF\u1110\u1162","\u1109\u1175\u11AF\u1111\u1162","\u1109\u1175\u11AF\u1112\u1165\u11B7","\u1109\u1175\u11AF\u1112\u1167\u11AB","\u1109\u1175\u11B7\u1105\u1175","\u1109\u1175\u11B7\u1107\u116E\u1105\u1173\u11B7","\u1109\u1175\u11B7\u1109\u1161","\u1109\u1175\u11B7\u110C\u1161\u11BC","\u1109\u1175\u11B7\u110C\u1165\u11BC","\u1109\u1175\u11B7\u1111\u1161\u11AB","\u110A\u1161\u11BC\u1103\u116E\u11BC\u110B\u1175","\u110A\u1175\u1105\u1173\u11B7","\u110A\u1175\u110B\u1161\u11BA","\u110B\u1161\u1100\u1161\u110A\u1175","\u110B\u1161\u1102\u1161\u110B\u116E\u11AB\u1109\u1165","\u110B\u1161\u1103\u1173\u1102\u1175\u11B7","\u110B\u1161\u1103\u1173\u11AF","\u110B\u1161\u1109\u1171\u110B\u116E\u11B7","\u110B\u1161\u1109\u1173\u1111\u1161\u11AF\u1110\u1173","\u110B\u1161\u1109\u1175\u110B\u1161","\u110B\u1161\u110B\u116E\u11AF\u1105\u1165","\u110B\u1161\u110C\u1165\u110A\u1175","\u110B\u1161\u110C\u116E\u11B7\u1106\u1161","\u110B\u1161\u110C\u1175\u11A8","\u110B\u1161\u110E\u1175\u11B7","\u110B\u1161\u1111\u1161\u1110\u1173","\u110B\u1161\u1111\u1173\u1105\u1175\u110F\u1161","\u110B\u1161\u1111\u1173\u11B7","\u110B\u1161\u1112\u1169\u11B8","\u110B\u1161\u1112\u1173\u11AB","\u110B\u1161\u11A8\u1100\u1175","\u110B\u1161\u11A8\u1106\u1169\u11BC","\u110B\u1161\u11A8\u1109\u116E","\u110B\u1161\u11AB\u1100\u1162","\u110B\u1161\u11AB\u1100\u1167\u11BC","\u110B\u1161\u11AB\u1100\u116A","\u110B\u1161\u11AB\u1102\u1162","\u110B\u1161\u11AB\u1102\u1167\u11BC","\u110B\u1161\u11AB\u1103\u1169\u11BC","\u110B\u1161\u11AB\u1107\u1161\u11BC","\u110B\u1161\u11AB\u1107\u116E","\u110B\u1161\u11AB\u110C\u116E","\u110B\u1161\u11AF\u1105\u116E\u1106\u1175\u1102\u1172\u11B7","\u110B\u1161\u11AF\u110F\u1169\u110B\u1169\u11AF","\u110B\u1161\u11B7\u1109\u1175","\u110B\u1161\u11B7\u110F\u1165\u11BA","\u110B\u1161\u11B8\u1105\u1167\u11A8","\u110B\u1161\u11C1\u1102\u1161\u11AF","\u110B\u1161\u11C1\u1106\u116E\u11AB","\u110B\u1162\u110B\u1175\u11AB","\u110B\u1162\u110C\u1165\u11BC","\u110B\u1162\u11A8\u1109\u116E","\u110B\u1162\u11AF\u1107\u1165\u11B7","\u110B\u1163\u1100\u1161\u11AB","\u110B\u1163\u1103\u1161\u11AB","\u110B\u1163\u110B\u1169\u11BC","\u110B\u1163\u11A8\u1100\u1161\u11AB","\u110B\u1163\u11A8\u1100\u116E\u11A8","\u110B\u1163\u11A8\u1109\u1169\u11A8","\u110B\u1163\u11A8\u1109\u116E","\u110B\u1163\u11A8\u110C\u1165\u11B7","\u110B\u1163\u11A8\u1111\u116E\u11B7","\u110B\u1163\u11A8\u1112\u1169\u11AB\u1102\u1167","\u110B\u1163\u11BC\u1102\u1167\u11B7","\u110B\u1163\u11BC\u1105\u1167\u11A8","\u110B\u1163\u11BC\u1106\u1161\u11AF","\u110B\u1163\u11BC\u1107\u1162\u110E\u116E","\u110B\u1163\u11BC\u110C\u116E","\u110B\u1163\u11BC\u1111\u1161","\u110B\u1165\u1103\u116E\u11B7","\u110B\u1165\u1105\u1167\u110B\u116E\u11B7","\u110B\u1165\u1105\u1173\u11AB","\u110B\u1165\u110C\u1166\u11BA\u1107\u1161\u11B7","\u110B\u1165\u110D\u1162\u11BB\u1103\u1173\u11AB","\u110B\u1165\u110D\u1165\u1103\u1161\u1100\u1161","\u110B\u1165\u110D\u1165\u11AB\u110C\u1175","\u110B\u1165\u11AB\u1102\u1175","\u110B\u1165\u11AB\u1103\u1165\u11A8","\u110B\u1165\u11AB\u1105\u1169\u11AB","\u110B\u1165\u11AB\u110B\u1165","\u110B\u1165\u11AF\u1100\u116E\u11AF","\u110B\u1165\u11AF\u1105\u1173\u11AB","\u110B\u1165\u11AF\u110B\u1173\u11B7","\u110B\u1165\u11AF\u1111\u1175\u11BA","\u110B\u1165\u11B7\u1106\u1161","\u110B\u1165\u11B8\u1106\u116E","\u110B\u1165\u11B8\u110C\u1169\u11BC","\u110B\u1165\u11B8\u110E\u1166","\u110B\u1165\u11BC\u1103\u1165\u11BC\u110B\u1175","\u110B\u1165\u11BC\u1106\u1161\u11BC","\u110B\u1165\u11BC\u1110\u1165\u1105\u1175","\u110B\u1165\u11BD\u1100\u1173\u110C\u1166","\u110B\u1166\u1102\u1165\u110C\u1175","\u110B\u1166\u110B\u1165\u110F\u1165\u11AB","\u110B\u1166\u11AB\u110C\u1175\u11AB","\u110B\u1167\u1100\u1165\u11AB","\u110B\u1167\u1100\u1169\u1109\u1162\u11BC","\u110B\u1167\u1100\u116A\u11AB","\u110B\u1167\u1100\u116E\u11AB","\u110B\u1167\u1100\u116F\u11AB","\u110B\u1167\u1103\u1162\u1109\u1162\u11BC","\u110B\u1167\u1103\u1165\u11B2","\u110B\u1167\u1103\u1169\u11BC\u1109\u1162\u11BC","\u110B\u1167\u1103\u1173\u11AB","\u110B\u1167\u1105\u1169\u11AB","\u110B\u1167\u1105\u1173\u11B7","\u110B\u1167\u1109\u1165\u11BA","\u110B\u1167\u1109\u1165\u11BC","\u110B\u1167\u110B\u116A\u11BC","\u110B\u1167\u110B\u1175\u11AB","\u110B\u1167\u110C\u1165\u11AB\u1112\u1175","\u110B\u1167\u110C\u1175\u11A8\u110B\u116F\u11AB","\u110B\u1167\u1112\u1161\u11A8\u1109\u1162\u11BC","\u110B\u1167\u1112\u1162\u11BC","\u110B\u1167\u11A8\u1109\u1161","\u110B\u1167\u11A8\u1109\u1175","\u110B\u1167\u11A8\u1112\u1161\u11AF","\u110B\u1167\u11AB\u1100\u1167\u11AF","\u110B\u1167\u11AB\u1100\u116E","\u110B\u1167\u11AB\u1100\u1173\u11A8","\u110B\u1167\u11AB\u1100\u1175","\u110B\u1167\u11AB\u1105\u1161\u11A8","\u110B\u1167\u11AB\u1109\u1165\u11AF","\u110B\u1167\u11AB\u1109\u1166","\u110B\u1167\u11AB\u1109\u1169\u11A8","\u110B\u1167\u11AB\u1109\u1173\u11B8","\u110B\u1167\u11AB\u110B\u1162","\u110B\u1167\u11AB\u110B\u1168\u110B\u1175\u11AB","\u110B\u1167\u11AB\u110B\u1175\u11AB","\u110B\u1167\u11AB\u110C\u1161\u11BC","\u110B\u1167\u11AB\u110C\u116E","\u110B\u1167\u11AB\u110E\u116E\u11AF","\u110B\u1167\u11AB\u1111\u1175\u11AF","\u110B\u1167\u11AB\u1112\u1161\u11B8","\u110B\u1167\u11AB\u1112\u1172","\u110B\u1167\u11AF\u1100\u1175","\u110B\u1167\u11AF\u1106\u1162","\u110B\u1167\u11AF\u1109\u116C","\u110B\u1167\u11AF\u1109\u1175\u11B7\u1112\u1175","\u110B\u1167\u11AF\u110C\u1165\u11BC","\u110B\u1167\u11AF\u110E\u1161","\u110B\u1167\u11AF\u1112\u1173\u11AF","\u110B\u1167\u11B7\u1105\u1167","\u110B\u1167\u11B8\u1109\u1165","\u110B\u1167\u11BC\u1100\u116E\u11A8","\u110B\u1167\u11BC\u1102\u1161\u11B7","\u110B\u1167\u11BC\u1109\u1161\u11BC","\u110B\u1167\u11BC\u110B\u1163\u11BC","\u110B\u1167\u11BC\u110B\u1167\u11A8","\u110B\u1167\u11BC\u110B\u116E\u11BC","\u110B\u1167\u11BC\u110B\u116F\u11AB\u1112\u1175","\u110B\u1167\u11BC\u1112\u1161","\u110B\u1167\u11BC\u1112\u1163\u11BC","\u110B\u1167\u11BC\u1112\u1169\u11AB","\u110B\u1167\u11BC\u1112\u116A","\u110B\u1167\u11C1\u1100\u116E\u1105\u1175","\u110B\u1167\u11C1\u1107\u1161\u11BC","\u110B\u1167\u11C1\u110C\u1175\u11B8","\u110B\u1168\u1100\u1161\u11B7","\u110B\u1168\u1100\u1173\u11B7","\u110B\u1168\u1107\u1161\u11BC","\u110B\u1168\u1109\u1161\u11AB","\u110B\u1168\u1109\u1161\u11BC","\u110B\u1168\u1109\u1165\u11AB","\u110B\u1168\u1109\u116E\u11AF","\u110B\u1168\u1109\u1173\u11B8","\u110B\u1168\u1109\u1175\u11A8\u110C\u1161\u11BC","\u110B\u1168\u110B\u1163\u11A8","\u110B\u1168\u110C\u1165\u11AB","\u110B\u1168\u110C\u1165\u11AF","\u110B\u1168\u110C\u1165\u11BC","\u110B\u1168\u110F\u1165\u11AB\u1103\u1162","\u110B\u1168\u11BA\u1102\u1161\u11AF","\u110B\u1169\u1102\u1173\u11AF","\u110B\u1169\u1105\u1161\u11A8","\u110B\u1169\u1105\u1162\u11BA\u1103\u1169\u11BC\u110B\u1161\u11AB","\u110B\u1169\u1105\u1166\u11AB\u110C\u1175","\u110B\u1169\u1105\u1169\u110C\u1175","\u110B\u1169\u1105\u1173\u11AB\u1107\u1161\u11AF","\u110B\u1169\u1107\u1173\u11AB","\u110B\u1169\u1109\u1175\u11B8","\u110B\u1169\u110B\u1167\u11B7","\u110B\u1169\u110B\u116F\u11AF","\u110B\u1169\u110C\u1165\u11AB","\u110B\u1169\u110C\u1175\u11A8","\u110B\u1169\u110C\u1175\u11BC\u110B\u1165","\u110B\u1169\u1111\u1166\u1105\u1161","\u110B\u1169\u1111\u1175\u1109\u1173\u1110\u1166\u11AF","\u110B\u1169\u1112\u1175\u1105\u1167","\u110B\u1169\u11A8\u1109\u1161\u11BC","\u110B\u1169\u11A8\u1109\u116E\u1109\u116E","\u110B\u1169\u11AB\u1100\u1161\u11BD","\u110B\u1169\u11AB\u1105\u1161\u110B\u1175\u11AB","\u110B\u1169\u11AB\u1106\u1169\u11B7","\u110B\u1169\u11AB\u110C\u1169\u11BC\u110B\u1175\u11AF","\u110B\u1169\u11AB\u1110\u1169\u11BC","\u110B\u1169\u11AF\u1100\u1161\u110B\u1173\u11AF","\u110B\u1169\u11AF\u1105\u1175\u11B7\u1111\u1175\u11A8","\u110B\u1169\u11AF\u1112\u1162","\u110B\u1169\u11BA\u110E\u1161\u1105\u1175\u11B7","\u110B\u116A\u110B\u1175\u1109\u1167\u110E\u1173","\u110B\u116A\u110B\u1175\u11AB","\u110B\u116A\u11AB\u1109\u1165\u11BC","\u110B\u116A\u11AB\u110C\u1165\u11AB","\u110B\u116A\u11BC\u1107\u1175","\u110B\u116A\u11BC\u110C\u1161","\u110B\u116B\u1102\u1163\u1112\u1161\u1106\u1167\u11AB","\u110B\u116B\u11AB\u110C\u1175","\u110B\u116C\u1100\u1161\u11BA\u110C\u1175\u11B8","\u110B\u116C\u1100\u116E\u11A8","\u110B\u116C\u1105\u1169\u110B\u116E\u11B7","\u110B\u116C\u1109\u1161\u11B7\u110E\u1169\u11AB","\u110B\u116C\u110E\u116E\u11AF","\u110B\u116C\u110E\u1175\u11B7","\u110B\u116C\u1112\u1161\u11AF\u1106\u1165\u1102\u1175","\u110B\u116C\u11AB\u1107\u1161\u11AF","\u110B\u116C\u11AB\u1109\u1169\u11AB","\u110B\u116C\u11AB\u110D\u1169\u11A8","\u110B\u116D\u1100\u1173\u11B7","\u110B\u116D\u110B\u1175\u11AF","\u110B\u116D\u110C\u1173\u11B7","\u110B\u116D\u110E\u1165\u11BC","\u110B\u116D\u11BC\u1100\u1175","\u110B\u116D\u11BC\u1109\u1165","\u110B\u116D\u11BC\u110B\u1165","\u110B\u116E\u1109\u1161\u11AB","\u110B\u116E\u1109\u1165\u11AB","\u110B\u116E\u1109\u1173\u11BC","\u110B\u116E\u110B\u1167\u11AB\u1112\u1175","\u110B\u116E\u110C\u1165\u11BC","\u110B\u116E\u110E\u1166\u1100\u116E\u11A8","\u110B\u116E\u1111\u1167\u11AB","\u110B\u116E\u11AB\u1103\u1169\u11BC","\u110B\u116E\u11AB\u1106\u1167\u11BC","\u110B\u116E\u11AB\u1107\u1161\u11AB","\u110B\u116E\u11AB\u110C\u1165\u11AB","\u110B\u116E\u11AB\u1112\u1162\u11BC","\u110B\u116E\u11AF\u1109\u1161\u11AB","\u110B\u116E\u11AF\u110B\u1173\u11B7","\u110B\u116E\u11B7\u110C\u1175\u11A8\u110B\u1175\u11B7","\u110B\u116E\u11BA\u110B\u1165\u1105\u1173\u11AB","\u110B\u116E\u11BA\u110B\u1173\u11B7","\u110B\u116F\u1102\u1161\u11A8","\u110B\u116F\u11AB\u1100\u1169","\u110B\u116F\u11AB\u1105\u1162","\u110B\u116F\u11AB\u1109\u1165","\u110B\u116F\u11AB\u1109\u116E\u11BC\u110B\u1175","\u110B\u116F\u11AB\u110B\u1175\u11AB","\u110B\u116F\u11AB\u110C\u1161\u11BC","\u110B\u116F\u11AB\u1111\u1175\u1109\u1173","\u110B\u116F\u11AF\u1100\u1173\u11B8","\u110B\u116F\u11AF\u1103\u1173\u110F\u1165\u11B8","\u110B\u116F\u11AF\u1109\u1166","\u110B\u116F\u11AF\u110B\u116D\u110B\u1175\u11AF","\u110B\u1170\u110B\u1175\u1110\u1165","\u110B\u1171\u1107\u1161\u11AB","\u110B\u1171\u1107\u1165\u11B8","\u110B\u1171\u1109\u1165\u11BC","\u110B\u1171\u110B\u116F\u11AB","\u110B\u1171\u1112\u1165\u11B7","\u110B\u1171\u1112\u1167\u11B8","\u110B\u1171\u11BA\u1109\u1161\u1105\u1161\u11B7","\u110B\u1172\u1102\u1161\u11AB\u1112\u1175","\u110B\u1172\u1105\u1165\u11B8","\u110B\u1172\u1106\u1167\u11BC","\u110B\u1172\u1106\u116E\u11AF","\u110B\u1172\u1109\u1161\u11AB","\u110B\u1172\u110C\u1165\u11A8","\u110B\u1172\u110E\u1175\u110B\u116F\u11AB","\u110B\u1172\u1112\u1161\u11A8","\u110B\u1172\u1112\u1162\u11BC","\u110B\u1172\u1112\u1167\u11BC","\u110B\u1172\u11A8\u1100\u116E\u11AB","\u110B\u1172\u11A8\u1109\u1161\u11BC","\u110B\u1172\u11A8\u1109\u1175\u11B8","\u110B\u1172\u11A8\u110E\u1166","\u110B\u1173\u11AB\u1112\u1162\u11BC","\u110B\u1173\u11B7\u1105\u1167\u11A8","\u110B\u1173\u11B7\u1105\u116D","\u110B\u1173\u11B7\u1107\u1161\u11AB","\u110B\u1173\u11B7\u1109\u1165\u11BC","\u110B\u1173\u11B7\u1109\u1175\u11A8","\u110B\u1173\u11B7\u110B\u1161\u11A8","\u110B\u1173\u11B7\u110C\u116E","\u110B\u1174\u1100\u1167\u11AB","\u110B\u1174\u1102\u1169\u11AB","\u110B\u1174\u1106\u116E\u11AB","\u110B\u1174\u1107\u1169\u11A8","\u110B\u1174\u1109\u1175\u11A8","\u110B\u1174\u1109\u1175\u11B7","\u110B\u1174\u110B\u116C\u1105\u1169","\u110B\u1174\u110B\u116D\u11A8","\u110B\u1174\u110B\u116F\u11AB","\u110B\u1174\u1112\u1161\u11A8","\u110B\u1175\u1100\u1165\u11BA","\u110B\u1175\u1100\u1169\u11BA","\u110B\u1175\u1102\u1167\u11B7","\u110B\u1175\u1102\u1169\u11B7","\u110B\u1175\u1103\u1161\u11AF","\u110B\u1175\u1103\u1162\u1105\u1169","\u110B\u1175\u1103\u1169\u11BC","\u110B\u1175\u1105\u1165\u11C2\u1100\u1166","\u110B\u1175\u1105\u1167\u11A8\u1109\u1165","\u110B\u1175\u1105\u1169\u11AB\u110C\u1165\u11A8","\u110B\u1175\u1105\u1173\u11B7","\u110B\u1175\u1106\u1175\u11AB","\u110B\u1175\u1107\u1161\u11AF\u1109\u1169","\u110B\u1175\u1107\u1167\u11AF","\u110B\u1175\u1107\u116E\u11AF","\u110B\u1175\u1108\u1161\u11AF","\u110B\u1175\u1109\u1161\u11BC","\u110B\u1175\u1109\u1165\u11BC","\u110B\u1175\u1109\u1173\u11AF","\u110B\u1175\u110B\u1163\u1100\u1175","\u110B\u1175\u110B\u116D\u11BC","\u110B\u1175\u110B\u116E\u11BA","\u110B\u1175\u110B\u116F\u11AF","\u110B\u1175\u110B\u1173\u11A8\u1100\u1169","\u110B\u1175\u110B\u1175\u11A8","\u110B\u1175\u110C\u1165\u11AB","\u110B\u1175\u110C\u116E\u11BC","\u110B\u1175\u1110\u1173\u11AE\u1102\u1161\u11AF","\u110B\u1175\u1110\u1173\u11AF","\u110B\u1175\u1112\u1169\u11AB","\u110B\u1175\u11AB\u1100\u1161\u11AB","\u110B\u1175\u11AB\u1100\u1167\u11A8","\u110B\u1175\u11AB\u1100\u1169\u11BC","\u110B\u1175\u11AB\u1100\u116E","\u110B\u1175\u11AB\u1100\u1173\u11AB","\u110B\u1175\u11AB\u1100\u1175","\u110B\u1175\u11AB\u1103\u1169","\u110B\u1175\u11AB\u1105\u1172","\u110B\u1175\u11AB\u1106\u116E\u11AF","\u110B\u1175\u11AB\u1109\u1162\u11BC","\u110B\u1175\u11AB\u1109\u116B","\u110B\u1175\u11AB\u110B\u1167\u11AB","\u110B\u1175\u11AB\u110B\u116F\u11AB","\u110B\u1175\u11AB\u110C\u1162","\u110B\u1175\u11AB\u110C\u1169\u11BC","\u110B\u1175\u11AB\u110E\u1165\u11AB","\u110B\u1175\u11AB\u110E\u1166","\u110B\u1175\u11AB\u1110\u1165\u1102\u1166\u11BA","\u110B\u1175\u11AB\u1112\u1161","\u110B\u1175\u11AB\u1112\u1167\u11BC","\u110B\u1175\u11AF\u1100\u1169\u11B8","\u110B\u1175\u11AF\u1100\u1175","\u110B\u1175\u11AF\u1103\u1161\u11AB","\u110B\u1175\u11AF\u1103\u1162","\u110B\u1175\u11AF\u1103\u1173\u11BC","\u110B\u1175\u11AF\u1107\u1161\u11AB","\u110B\u1175\u11AF\u1107\u1169\u11AB","\u110B\u1175\u11AF\u1107\u116E","\u110B\u1175\u11AF\u1109\u1161\u11BC","\u110B\u1175\u11AF\u1109\u1162\u11BC","\u110B\u1175\u11AF\u1109\u1169\u11AB","\u110B\u1175\u11AF\u110B\u116D\u110B\u1175\u11AF","\u110B\u1175\u11AF\u110B\u116F\u11AF","\u110B\u1175\u11AF\u110C\u1165\u11BC","\u110B\u1175\u11AF\u110C\u1169\u11BC","\u110B\u1175\u11AF\u110C\u116E\u110B\u1175\u11AF","\u110B\u1175\u11AF\u110D\u1175\u11A8","\u110B\u1175\u11AF\u110E\u1166","\u110B\u1175\u11AF\u110E\u1175","\u110B\u1175\u11AF\u1112\u1162\u11BC","\u110B\u1175\u11AF\u1112\u116C\u110B\u116D\u11BC","\u110B\u1175\u11B7\u1100\u1173\u11B7","\u110B\u1175\u11B7\u1106\u116E","\u110B\u1175\u11B8\u1103\u1162","\u110B\u1175\u11B8\u1105\u1167\u11A8","\u110B\u1175\u11B8\u1106\u1161\u11BA","\u110B\u1175\u11B8\u1109\u1161","\u110B\u1175\u11B8\u1109\u116E\u11AF","\u110B\u1175\u11B8\u1109\u1175","\u110B\u1175\u11B8\u110B\u116F\u11AB","\u110B\u1175\u11B8\u110C\u1161\u11BC","\u110B\u1175\u11B8\u1112\u1161\u11A8","\u110C\u1161\u1100\u1161\u110B\u116D\u11BC","\u110C\u1161\u1100\u1167\u11A8","\u110C\u1161\u1100\u1173\u11A8","\u110C\u1161\u1103\u1169\u11BC","\u110C\u1161\u1105\u1161\u11BC","\u110C\u1161\u1107\u116E\u1109\u1175\u11B7","\u110C\u1161\u1109\u1175\u11A8","\u110C\u1161\u1109\u1175\u11AB","\u110C\u1161\u110B\u1167\u11AB","\u110C\u1161\u110B\u116F\u11AB","\u110C\u1161\u110B\u1172\u11AF","\u110C\u1161\u110C\u1165\u11AB\u1100\u1165","\u110C\u1161\u110C\u1165\u11BC","\u110C\u1161\u110C\u1169\u11AB\u1109\u1175\u11B7","\u110C\u1161\u1111\u1161\u11AB","\u110C\u1161\u11A8\u1100\u1161","\u110C\u1161\u11A8\u1102\u1167\u11AB","\u110C\u1161\u11A8\u1109\u1165\u11BC","\u110C\u1161\u11A8\u110B\u1165\u11B8","\u110C\u1161\u11A8\u110B\u116D\u11BC","\u110C\u1161\u11A8\u110B\u1173\u11AB\u1104\u1161\u11AF","\u110C\u1161\u11A8\u1111\u116E\u11B7","\u110C\u1161\u11AB\u1103\u1175","\u110C\u1161\u11AB\u1104\u1173\u11A8","\u110C\u1161\u11AB\u110E\u1175","\u110C\u1161\u11AF\u1106\u1169\u11BA","\u110C\u1161\u11B7\u1101\u1161\u11AB","\u110C\u1161\u11B7\u1109\u116E\u1112\u1161\u11B7","\u110C\u1161\u11B7\u1109\u1175","\u110C\u1161\u11B7\u110B\u1169\u11BA","\u110C\u1161\u11B7\u110C\u1161\u1105\u1175","\u110C\u1161\u11B8\u110C\u1175","\u110C\u1161\u11BC\u1100\u116A\u11AB","\u110C\u1161\u11BC\u1100\u116E\u11AB","\u110C\u1161\u11BC\u1100\u1175\u1100\u1161\u11AB","\u110C\u1161\u11BC\u1105\u1162","\u110C\u1161\u11BC\u1105\u1168","\u110C\u1161\u11BC\u1105\u1173","\u110C\u1161\u11BC\u1106\u1161","\u110C\u1161\u11BC\u1106\u1167\u11AB","\u110C\u1161\u11BC\u1106\u1169","\u110C\u1161\u11BC\u1106\u1175","\u110C\u1161\u11BC\u1107\u1175","\u110C\u1161\u11BC\u1109\u1161","\u110C\u1161\u11BC\u1109\u1169","\u110C\u1161\u11BC\u1109\u1175\u11A8","\u110C\u1161\u11BC\u110B\u1162\u110B\u1175\u11AB","\u110C\u1161\u11BC\u110B\u1175\u11AB","\u110C\u1161\u11BC\u110C\u1165\u11B7","\u110C\u1161\u11BC\u110E\u1161","\u110C\u1161\u11BC\u1112\u1161\u11A8\u1100\u1173\u11B7","\u110C\u1162\u1102\u1173\u11BC","\u110C\u1162\u1108\u1161\u11AF\u1105\u1175","\u110C\u1162\u1109\u1161\u11AB","\u110C\u1162\u1109\u1162\u11BC","\u110C\u1162\u110C\u1161\u11A8\u1102\u1167\u11AB","\u110C\u1162\u110C\u1165\u11BC","\u110C\u1162\u110E\u1162\u1100\u1175","\u110C\u1162\u1111\u1161\u11AB","\u110C\u1162\u1112\u1161\u11A8","\u110C\u1162\u1112\u116A\u11AF\u110B\u116D\u11BC","\u110C\u1165\u1100\u1165\u11BA","\u110C\u1165\u1100\u1169\u1105\u1175","\u110C\u1165\u1100\u1169\u11BA","\u110C\u1165\u1102\u1167\u11A8","\u110C\u1165\u1105\u1165\u11AB","\u110C\u1165\u1105\u1165\u11C2\u1100\u1166","\u110C\u1165\u1107\u1165\u11AB","\u110C\u1165\u110B\u116E\u11AF","\u110C\u1165\u110C\u1165\u11AF\u1105\u1169","\u110C\u1165\u110E\u116E\u11A8","\u110C\u1165\u11A8\u1100\u1173\u11A8","\u110C\u1165\u11A8\u1103\u1161\u11BC\u1112\u1175","\u110C\u1165\u11A8\u1109\u1165\u11BC","\u110C\u1165\u11A8\u110B\u116D\u11BC","\u110C\u1165\u11A8\u110B\u1173\u11BC","\u110C\u1165\u11AB\u1100\u1162","\u110C\u1165\u11AB\u1100\u1169\u11BC","\u110C\u1165\u11AB\u1100\u1175","\u110C\u1165\u11AB\u1103\u1161\u11AF","\u110C\u1165\u11AB\u1105\u1161\u1103\u1169","\u110C\u1165\u11AB\u1106\u1161\u11BC","\u110C\u1165\u11AB\u1106\u116E\u11AB","\u110C\u1165\u11AB\u1107\u1161\u11AB","\u110C\u1165\u11AB\u1107\u116E","\u110C\u1165\u11AB\u1109\u1166","\u110C\u1165\u11AB\u1109\u1175","\u110C\u1165\u11AB\u110B\u116D\u11BC","\u110C\u1165\u11AB\u110C\u1161","\u110C\u1165\u11AB\u110C\u1162\u11BC","\u110C\u1165\u11AB\u110C\u116E","\u110C\u1165\u11AB\u110E\u1165\u11AF","\u110C\u1165\u11AB\u110E\u1166","\u110C\u1165\u11AB\u1110\u1169\u11BC","\u110C\u1165\u11AB\u1112\u1167","\u110C\u1165\u11AB\u1112\u116E","\u110C\u1165\u11AF\u1103\u1162","\u110C\u1165\u11AF\u1106\u1161\u11BC","\u110C\u1165\u11AF\u1107\u1161\u11AB","\u110C\u1165\u11AF\u110B\u1163\u11A8","\u110C\u1165\u11AF\u110E\u1161","\u110C\u1165\u11B7\u1100\u1165\u11B7","\u110C\u1165\u11B7\u1109\u116E","\u110C\u1165\u11B7\u1109\u1175\u11B7","\u110C\u1165\u11B7\u110B\u116F\u11AB","\u110C\u1165\u11B7\u110C\u1165\u11B7","\u110C\u1165\u11B7\u110E\u1161","\u110C\u1165\u11B8\u1100\u1173\u11AB","\u110C\u1165\u11B8\u1109\u1175","\u110C\u1165\u11B8\u110E\u1169\u11A8","\u110C\u1165\u11BA\u1100\u1161\u1105\u1161\u11A8","\u110C\u1165\u11BC\u1100\u1165\u110C\u1161\u11BC","\u110C\u1165\u11BC\u1103\u1169","\u110C\u1165\u11BC\u1105\u1172\u110C\u1161\u11BC","\u110C\u1165\u11BC\u1105\u1175","\u110C\u1165\u11BC\u1106\u1161\u11AF","\u110C\u1165\u11BC\u1106\u1167\u11AB","\u110C\u1165\u11BC\u1106\u116E\u11AB","\u110C\u1165\u11BC\u1107\u1161\u11AB\u1103\u1162","\u110C\u1165\u11BC\u1107\u1169","\u110C\u1165\u11BC\u1107\u116E","\u110C\u1165\u11BC\u1107\u1175","\u110C\u1165\u11BC\u1109\u1161\u11BC","\u110C\u1165\u11BC\u1109\u1165\u11BC","\u110C\u1165\u11BC\u110B\u1169","\u110C\u1165\u11BC\u110B\u116F\u11AB","\u110C\u1165\u11BC\u110C\u1161\u11BC","\u110C\u1165\u11BC\u110C\u1175","\u110C\u1165\u11BC\u110E\u1175","\u110C\u1165\u11BC\u1112\u116A\u11A8\u1112\u1175","\u110C\u1166\u1100\u1169\u11BC","\u110C\u1166\u1100\u116A\u110C\u1165\u11B7","\u110C\u1166\u1103\u1162\u1105\u1169","\u110C\u1166\u1106\u1169\u11A8","\u110C\u1166\u1107\u1161\u11AF","\u110C\u1166\u1107\u1165\u11B8","\u110C\u1166\u1109\u1161\u11BA\u1102\u1161\u11AF","\u110C\u1166\u110B\u1161\u11AB","\u110C\u1166\u110B\u1175\u11AF","\u110C\u1166\u110C\u1161\u11A8","\u110C\u1166\u110C\u116E\u1103\u1169","\u110C\u1166\u110E\u116E\u11AF","\u110C\u1166\u1111\u116E\u11B7","\u110C\u1166\u1112\u1161\u11AB","\u110C\u1169\u1100\u1161\u11A8","\u110C\u1169\u1100\u1165\u11AB","\u110C\u1169\u1100\u1173\u11B7","\u110C\u1169\u1100\u1175\u11BC","\u110C\u1169\u1106\u1167\u11BC","\u110C\u1169\u1106\u1175\u1105\u116D","\u110C\u1169\u1109\u1161\u11BC","\u110C\u1169\u1109\u1165\u11AB","\u110C\u1169\u110B\u116D\u11BC\u1112\u1175","\u110C\u1169\u110C\u1165\u11AF","\u110C\u1169\u110C\u1165\u11BC","\u110C\u1169\u110C\u1175\u11A8","\u110C\u1169\u11AB\u1103\u1162\u11BA\u1106\u1161\u11AF","\u110C\u1169\u11AB\u110C\u1162","\u110C\u1169\u11AF\u110B\u1165\u11B8","\u110C\u1169\u11AF\u110B\u1173\u11B7","\u110C\u1169\u11BC\u1100\u116D","\u110C\u1169\u11BC\u1105\u1169","\u110C\u1169\u11BC\u1105\u1172","\u110C\u1169\u11BC\u1109\u1169\u1105\u1175","\u110C\u1169\u11BC\u110B\u1165\u11B8\u110B\u116F\u11AB","\u110C\u1169\u11BC\u110C\u1169\u11BC","\u110C\u1169\u11BC\u1112\u1161\u11B8","\u110C\u116A\u1109\u1165\u11A8","\u110C\u116C\u110B\u1175\u11AB","\u110C\u116E\u1100\u116A\u11AB\u110C\u1165\u11A8","\u110C\u116E\u1105\u1173\u11B7","\u110C\u116E\u1106\u1161\u11AF","\u110C\u116E\u1106\u1165\u1102\u1175","\u110C\u116E\u1106\u1165\u11A8","\u110C\u116E\u1106\u116E\u11AB","\u110C\u116E\u1106\u1175\u11AB","\u110C\u116E\u1107\u1161\u11BC","\u110C\u116E\u1107\u1167\u11AB","\u110C\u116E\u1109\u1175\u11A8","\u110C\u116E\u110B\u1175\u11AB","\u110C\u116E\u110B\u1175\u11AF","\u110C\u116E\u110C\u1161\u11BC","\u110C\u116E\u110C\u1165\u11AB\u110C\u1161","\u110C\u116E\u1110\u1162\u11A8","\u110C\u116E\u11AB\u1107\u1175","\u110C\u116E\u11AF\u1100\u1165\u1105\u1175","\u110C\u116E\u11AF\u1100\u1175","\u110C\u116E\u11AF\u1106\u116E\u1102\u1174","\u110C\u116E\u11BC\u1100\u1161\u11AB","\u110C\u116E\u11BC\u1100\u1168\u1107\u1161\u11BC\u1109\u1169\u11BC","\u110C\u116E\u11BC\u1100\u116E\u11A8","\u110C\u116E\u11BC\u1102\u1167\u11AB","\u110C\u116E\u11BC\u1103\u1161\u11AB","\u110C\u116E\u11BC\u1103\u1169\u11A8","\u110C\u116E\u11BC\u1107\u1161\u11AB","\u110C\u116E\u11BC\u1107\u116E","\u110C\u116E\u11BC\u1109\u1166","\u110C\u116E\u11BC\u1109\u1169\u1100\u1175\u110B\u1165\u11B8","\u110C\u116E\u11BC\u1109\u116E\u11AB","\u110C\u116E\u11BC\u110B\u1161\u11BC","\u110C\u116E\u11BC\u110B\u116D","\u110C\u116E\u11BC\u1112\u1161\u11A8\u1100\u116D","\u110C\u1173\u11A8\u1109\u1165\u11A8","\u110C\u1173\u11A8\u1109\u1175","\u110C\u1173\u11AF\u1100\u1165\u110B\u116E\u11B7","\u110C\u1173\u11BC\u1100\u1161","\u110C\u1173\u11BC\u1100\u1165","\u110C\u1173\u11BC\u1100\u116F\u11AB","\u110C\u1173\u11BC\u1109\u1161\u11BC","\u110C\u1173\u11BC\u1109\u1166","\u110C\u1175\u1100\u1161\u11A8","\u110C\u1175\u1100\u1161\u11B8","\u110C\u1175\u1100\u1167\u11BC","\u110C\u1175\u1100\u1173\u11A8\u1112\u1175","\u110C\u1175\u1100\u1173\u11B7","\u110C\u1175\u1100\u1173\u11B8","\u110C\u1175\u1102\u1173\u11BC","\u110C\u1175\u1105\u1173\u11B7\u1100\u1175\u11AF","\u110C\u1175\u1105\u1175\u1109\u1161\u11AB","\u110C\u1175\u1107\u1161\u11BC","\u110C\u1175\u1107\u116E\u11BC","\u110C\u1175\u1109\u1175\u11A8","\u110C\u1175\u110B\u1167\u11A8","\u110C\u1175\u110B\u116E\u1100\u1162","\u110C\u1175\u110B\u116F\u11AB","\u110C\u1175\u110C\u1165\u11A8","\u110C\u1175\u110C\u1165\u11B7","\u110C\u1175\u110C\u1175\u11AB","\u110C\u1175\u110E\u116E\u11AF","\u110C\u1175\u11A8\u1109\u1165\u11AB","\u110C\u1175\u11A8\u110B\u1165\u11B8","\u110C\u1175\u11A8\u110B\u116F\u11AB","\u110C\u1175\u11A8\u110C\u1161\u11BC","\u110C\u1175\u11AB\u1100\u1173\u11B8","\u110C\u1175\u11AB\u1103\u1169\u11BC","\u110C\u1175\u11AB\u1105\u1169","\u110C\u1175\u11AB\u1105\u116D","\u110C\u1175\u11AB\u1105\u1175","\u110C\u1175\u11AB\u110D\u1161","\u110C\u1175\u11AB\u110E\u1161\u11AF","\u110C\u1175\u11AB\u110E\u116E\u11AF","\u110C\u1175\u11AB\u1110\u1169\u11BC","\u110C\u1175\u11AB\u1112\u1162\u11BC","\u110C\u1175\u11AF\u1106\u116E\u11AB","\u110C\u1175\u11AF\u1107\u1167\u11BC","\u110C\u1175\u11AF\u1109\u1165","\u110C\u1175\u11B7\u110C\u1161\u11A8","\u110C\u1175\u11B8\u1103\u1161\u11AB","\u110C\u1175\u11B8\u110B\u1161\u11AB","\u110C\u1175\u11B8\u110C\u116E\u11BC","\u110D\u1161\u110C\u1173\u11BC","\u110D\u1175\u1101\u1165\u1100\u1175","\u110E\u1161\u1102\u1161\u11B7","\u110E\u1161\u1105\u1161\u1105\u1175","\u110E\u1161\u1105\u1163\u11BC","\u110E\u1161\u1105\u1175\u11B7","\u110E\u1161\u1107\u1167\u11AF","\u110E\u1161\u1109\u1165\u11AB","\u110E\u1161\u110E\u1173\u11B7","\u110E\u1161\u11A8\u1100\u1161\u11A8","\u110E\u1161\u11AB\u1106\u116E\u11AF","\u110E\u1161\u11AB\u1109\u1165\u11BC","\u110E\u1161\u11B7\u1100\u1161","\u110E\u1161\u11B7\u1100\u1175\u1105\u1173\u11B7","\u110E\u1161\u11B7\u1109\u1162","\u110E\u1161\u11B7\u1109\u1165\u11A8","\u110E\u1161\u11B7\u110B\u1167","\u110E\u1161\u11B7\u110B\u116C","\u110E\u1161\u11B7\u110C\u1169","\u110E\u1161\u11BA\u110C\u1161\u11AB","\u110E\u1161\u11BC\u1100\u1161","\u110E\u1161\u11BC\u1100\u1169","\u110E\u1161\u11BC\u1100\u116E","\u110E\u1161\u11BC\u1106\u116E\u11AB","\u110E\u1161\u11BC\u1107\u1161\u11A9","\u110E\u1161\u11BC\u110C\u1161\u11A8","\u110E\u1161\u11BC\u110C\u1169","\u110E\u1162\u1102\u1165\u11AF","\u110E\u1162\u110C\u1165\u11B7","\u110E\u1162\u11A8\u1100\u1161\u1107\u1161\u11BC","\u110E\u1162\u11A8\u1107\u1161\u11BC","\u110E\u1162\u11A8\u1109\u1161\u11BC","\u110E\u1162\u11A8\u110B\u1175\u11B7","\u110E\u1162\u11B7\u1111\u1175\u110B\u1165\u11AB","\u110E\u1165\u1107\u1165\u11AF","\u110E\u1165\u110B\u1173\u11B7","\u110E\u1165\u11AB\u1100\u116E\u11A8","\u110E\u1165\u11AB\u1103\u116E\u11BC","\u110E\u1165\u11AB\u110C\u1161\u11BC","\u110E\u1165\u11AB\u110C\u1162","\u110E\u1165\u11AB\u110E\u1165\u11AB\u1112\u1175","\u110E\u1165\u11AF\u1103\u1169","\u110E\u1165\u11AF\u110C\u1165\u1112\u1175","\u110E\u1165\u11AF\u1112\u1161\u11A8","\u110E\u1165\u11BA\u1102\u1161\u11AF","\u110E\u1165\u11BA\u110D\u1162","\u110E\u1165\u11BC\u1102\u1167\u11AB","\u110E\u1165\u11BC\u1107\u1161\u110C\u1175","\u110E\u1165\u11BC\u1109\u1169","\u110E\u1165\u11BC\u110E\u116E\u11AB","\u110E\u1166\u1100\u1168","\u110E\u1166\u1105\u1167\u11A8","\u110E\u1166\u110B\u1169\u11AB","\u110E\u1166\u110B\u1172\u11A8","\u110E\u1166\u110C\u116E\u11BC","\u110E\u1166\u1112\u1165\u11B7","\u110E\u1169\u1103\u1173\u11BC\u1112\u1161\u11A8\u1109\u1162\u11BC","\u110E\u1169\u1107\u1161\u11AB","\u110E\u1169\u1107\u1161\u11B8","\u110E\u1169\u1109\u1161\u11BC\u1112\u116A","\u110E\u1169\u1109\u116E\u11AB","\u110E\u1169\u110B\u1167\u1105\u1173\u11B7","\u110E\u1169\u110B\u116F\u11AB","\u110E\u1169\u110C\u1165\u1102\u1167\u11A8","\u110E\u1169\u110C\u1165\u11B7","\u110E\u1169\u110E\u1165\u11BC","\u110E\u1169\u110F\u1169\u11AF\u1105\u1175\u11BA","\u110E\u1169\u11BA\u1107\u116E\u11AF","\u110E\u1169\u11BC\u1100\u1161\u11A8","\u110E\u1169\u11BC\u1105\u1175","\u110E\u1169\u11BC\u110C\u1161\u11BC","\u110E\u116A\u11AF\u110B\u1167\u11BC","\u110E\u116C\u1100\u1173\u11AB","\u110E\u116C\u1109\u1161\u11BC","\u110E\u116C\u1109\u1165\u11AB","\u110E\u116C\u1109\u1175\u11AB","\u110E\u116C\u110B\u1161\u11A8","\u110E\u116C\u110C\u1169\u11BC","\u110E\u116E\u1109\u1165\u11A8","\u110E\u116E\u110B\u1165\u11A8","\u110E\u116E\u110C\u1175\u11AB","\u110E\u116E\u110E\u1165\u11AB","\u110E\u116E\u110E\u1173\u11A8","\u110E\u116E\u11A8\u1100\u116E","\u110E\u116E\u11A8\u1109\u1169","\u110E\u116E\u11A8\u110C\u1166","\u110E\u116E\u11A8\u1112\u1161","\u110E\u116E\u11AF\u1100\u1173\u11AB","\u110E\u116E\u11AF\u1107\u1161\u11AF","\u110E\u116E\u11AF\u1109\u1161\u11AB","\u110E\u116E\u11AF\u1109\u1175\u11AB","\u110E\u116E\u11AF\u110B\u1167\u11AB","\u110E\u116E\u11AF\u110B\u1175\u11B8","\u110E\u116E\u11AF\u110C\u1161\u11BC","\u110E\u116E\u11AF\u1111\u1161\u11AB","\u110E\u116E\u11BC\u1100\u1167\u11A8","\u110E\u116E\u11BC\u1100\u1169","\u110E\u116E\u11BC\u1103\u1169\u11AF","\u110E\u116E\u11BC\u1107\u116E\u11AB\u1112\u1175","\u110E\u116E\u11BC\u110E\u1165\u11BC\u1103\u1169","\u110E\u1171\u110B\u1165\u11B8","\u110E\u1171\u110C\u1175\u11A8","\u110E\u1171\u1112\u1163\u11BC","\u110E\u1175\u110B\u1163\u11A8","\u110E\u1175\u11AB\u1100\u116E","\u110E\u1175\u11AB\u110E\u1165\u11A8","\u110E\u1175\u11AF\u1109\u1175\u11B8","\u110E\u1175\u11AF\u110B\u116F\u11AF","\u110E\u1175\u11AF\u1111\u1161\u11AB","\u110E\u1175\u11B7\u1103\u1162","\u110E\u1175\u11B7\u1106\u116E\u11A8","\u110E\u1175\u11B7\u1109\u1175\u11AF","\u110E\u1175\u11BA\u1109\u1169\u11AF","\u110E\u1175\u11BC\u110E\u1161\u11AB","\u110F\u1161\u1106\u1166\u1105\u1161","\u110F\u1161\u110B\u116E\u11AB\u1110\u1165","\u110F\u1161\u11AF\u1100\u116E\u11A8\u1109\u116E","\u110F\u1162\u1105\u1175\u11A8\u1110\u1165","\u110F\u1162\u11B7\u1111\u1165\u1109\u1173","\u110F\u1162\u11B7\u1111\u1166\u110B\u1175\u11AB","\u110F\u1165\u1110\u1173\u11AB","\u110F\u1165\u11AB\u1103\u1175\u1109\u1167\u11AB","\u110F\u1165\u11AF\u1105\u1165","\u110F\u1165\u11B7\u1111\u1172\u1110\u1165","\u110F\u1169\u1101\u1175\u1105\u1175","\u110F\u1169\u1106\u1175\u1103\u1175","\u110F\u1169\u11AB\u1109\u1165\u1110\u1173","\u110F\u1169\u11AF\u1105\u1161","\u110F\u1169\u11B7\u1111\u1173\u11AF\u1105\u1166\u11A8\u1109\u1173","\u110F\u1169\u11BC\u1102\u1161\u1106\u116E\u11AF","\u110F\u116B\u1100\u1161\u11B7","\u110F\u116E\u1103\u1166\u1110\u1161","\u110F\u1173\u1105\u1175\u11B7","\u110F\u1173\u11AB\u1100\u1175\u11AF","\u110F\u1173\u11AB\u1104\u1161\u11AF","\u110F\u1173\u11AB\u1109\u1169\u1105\u1175","\u110F\u1173\u11AB\u110B\u1161\u1103\u1173\u11AF","\u110F\u1173\u11AB\u110B\u1165\u1106\u1165\u1102\u1175","\u110F\u1173\u11AB\u110B\u1175\u11AF","\u110F\u1173\u11AB\u110C\u1165\u11AF","\u110F\u1173\u11AF\u1105\u1162\u1109\u1175\u11A8","\u110F\u1173\u11AF\u1105\u1165\u11B8","\u110F\u1175\u11AF\u1105\u1169","\u1110\u1161\u110B\u1175\u11B8","\u1110\u1161\u110C\u1161\u1100\u1175","\u1110\u1161\u11A8\u1100\u116E","\u1110\u1161\u11A8\u110C\u1161","\u1110\u1161\u11AB\u1109\u1162\u11BC","\u1110\u1162\u1100\u116F\u11AB\u1103\u1169","\u1110\u1162\u110B\u1163\u11BC","\u1110\u1162\u1111\u116E\u11BC","\u1110\u1162\u11A8\u1109\u1175","\u1110\u1162\u11AF\u1105\u1165\u11AB\u1110\u1173","\u1110\u1165\u1102\u1165\u11AF","\u1110\u1165\u1106\u1175\u1102\u1165\u11AF","\u1110\u1166\u1102\u1175\u1109\u1173","\u1110\u1166\u1109\u1173\u1110\u1173","\u1110\u1166\u110B\u1175\u1107\u1173\u11AF","\u1110\u1166\u11AF\u1105\u1166\u1107\u1175\u110C\u1165\u11AB","\u1110\u1169\u1105\u1169\u11AB","\u1110\u1169\u1106\u1161\u1110\u1169","\u1110\u1169\u110B\u116D\u110B\u1175\u11AF","\u1110\u1169\u11BC\u1100\u1168","\u1110\u1169\u11BC\u1100\u116A","\u1110\u1169\u11BC\u1105\u1169","\u1110\u1169\u11BC\u1109\u1175\u11AB","\u1110\u1169\u11BC\u110B\u1167\u11A8","\u1110\u1169\u11BC\u110B\u1175\u11AF","\u1110\u1169\u11BC\u110C\u1161\u11BC","\u1110\u1169\u11BC\u110C\u1166","\u1110\u1169\u11BC\u110C\u1173\u11BC","\u1110\u1169\u11BC\u1112\u1161\u11B8","\u1110\u1169\u11BC\u1112\u116A","\u1110\u116C\u1100\u1173\u11AB","\u1110\u116C\u110B\u116F\u11AB","\u1110\u116C\u110C\u1175\u11A8\u1100\u1173\u11B7","\u1110\u1171\u1100\u1175\u11B7","\u1110\u1173\u1105\u1165\u11A8","\u1110\u1173\u11A8\u1100\u1173\u11B8","\u1110\u1173\u11A8\u1107\u1167\u11AF","\u1110\u1173\u11A8\u1109\u1165\u11BC","\u1110\u1173\u11A8\u1109\u116E","\u1110\u1173\u11A8\u110C\u1175\u11BC","\u1110\u1173\u11A8\u1112\u1175","\u1110\u1173\u11AB\u1110\u1173\u11AB\u1112\u1175","\u1110\u1175\u1109\u1167\u110E\u1173","\u1111\u1161\u1105\u1161\u11AB\u1109\u1162\u11A8","\u1111\u1161\u110B\u1175\u11AF","\u1111\u1161\u110E\u116E\u11AF\u1109\u1169","\u1111\u1161\u11AB\u1100\u1167\u11AF","\u1111\u1161\u11AB\u1103\u1161\u11AB","\u1111\u1161\u11AB\u1106\u1162","\u1111\u1161\u11AB\u1109\u1161","\u1111\u1161\u11AF\u1109\u1175\u11B8","\u1111\u1161\u11AF\u110B\u116F\u11AF","\u1111\u1161\u11B8\u1109\u1169\u11BC","\u1111\u1162\u1109\u1167\u11AB","\u1111\u1162\u11A8\u1109\u1173","\u1111\u1162\u11A8\u1109\u1175\u1106\u1175\u11AF\u1105\u1175","\u1111\u1162\u11AB\u1110\u1175","\u1111\u1165\u1109\u1166\u11AB\u1110\u1173","\u1111\u1166\u110B\u1175\u11AB\u1110\u1173","\u1111\u1167\u11AB\u1100\u1167\u11AB","\u1111\u1167\u11AB\u110B\u1174","\u1111\u1167\u11AB\u110C\u1175","\u1111\u1167\u11AB\u1112\u1175","\u1111\u1167\u11BC\u1100\u1161","\u1111\u1167\u11BC\u1100\u1172\u11AB","\u1111\u1167\u11BC\u1109\u1162\u11BC","\u1111\u1167\u11BC\u1109\u1169","\u1111\u1167\u11BC\u110B\u1163\u11BC","\u1111\u1167\u11BC\u110B\u1175\u11AF","\u1111\u1167\u11BC\u1112\u116A","\u1111\u1169\u1109\u1173\u1110\u1165","\u1111\u1169\u110B\u1175\u11AB\u1110\u1173","\u1111\u1169\u110C\u1161\u11BC","\u1111\u1169\u1112\u1161\u11B7","\u1111\u116D\u1106\u1167\u11AB","\u1111\u116D\u110C\u1165\u11BC","\u1111\u116D\u110C\u116E\u11AB","\u1111\u116D\u1112\u1167\u11AB","\u1111\u116E\u11B7\u1106\u1169\u11A8","\u1111\u116E\u11B7\u110C\u1175\u11AF","\u1111\u116E\u11BC\u1100\u1167\u11BC","\u1111\u116E\u11BC\u1109\u1169\u11A8","\u1111\u116E\u11BC\u1109\u1173\u11B8","\u1111\u1173\u1105\u1161\u11BC\u1109\u1173","\u1111\u1173\u1105\u1175\u11AB\u1110\u1165","\u1111\u1173\u11AF\u1105\u1161\u1109\u1173\u1110\u1175\u11A8","\u1111\u1175\u1100\u1169\u11AB","\u1111\u1175\u1106\u1161\u11BC","\u1111\u1175\u110B\u1161\u1102\u1169","\u1111\u1175\u11AF\u1105\u1173\u11B7","\u1111\u1175\u11AF\u1109\u116E","\u1111\u1175\u11AF\u110B\u116D","\u1111\u1175\u11AF\u110C\u1161","\u1111\u1175\u11AF\u1110\u1169\u11BC","\u1111\u1175\u11BC\u1100\u1168","\u1112\u1161\u1102\u1173\u1102\u1175\u11B7","\u1112\u1161\u1102\u1173\u11AF","\u1112\u1161\u1103\u1173\u110B\u1170\u110B\u1165","\u1112\u1161\u1105\u116E\u11BA\u1107\u1161\u11B7","\u1112\u1161\u1107\u1161\u11AB\u1100\u1175","\u1112\u1161\u1109\u116E\u11A8\u110C\u1175\u11B8","\u1112\u1161\u1109\u116E\u11AB","\u1112\u1161\u110B\u1167\u1110\u1173\u11AB","\u1112\u1161\u110C\u1175\u1106\u1161\u11AB","\u1112\u1161\u110E\u1165\u11AB","\u1112\u1161\u1111\u116E\u11B7","\u1112\u1161\u1111\u1175\u11AF","\u1112\u1161\u11A8\u1100\u116A","\u1112\u1161\u11A8\u1100\u116D","\u1112\u1161\u11A8\u1100\u1173\u11B8","\u1112\u1161\u11A8\u1100\u1175","\u1112\u1161\u11A8\u1102\u1167\u11AB","\u1112\u1161\u11A8\u1105\u1167\u11A8","\u1112\u1161\u11A8\u1107\u1165\u11AB","\u1112\u1161\u11A8\u1107\u116E\u1106\u1169","\u1112\u1161\u11A8\u1107\u1175","\u1112\u1161\u11A8\u1109\u1162\u11BC","\u1112\u1161\u11A8\u1109\u116E\u11AF","\u1112\u1161\u11A8\u1109\u1173\u11B8","\u1112\u1161\u11A8\u110B\u116D\u11BC\u1111\u116E\u11B7","\u1112\u1161\u11A8\u110B\u116F\u11AB","\u1112\u1161\u11A8\u110B\u1171","\u1112\u1161\u11A8\u110C\u1161","\u1112\u1161\u11A8\u110C\u1165\u11B7","\u1112\u1161\u11AB\u1100\u1168","\u1112\u1161\u11AB\u1100\u1173\u11AF","\u1112\u1161\u11AB\u1101\u1165\u1107\u1165\u11AB\u110B\u1166","\u1112\u1161\u11AB\u1102\u1161\u11BD","\u1112\u1161\u11AB\u1102\u116E\u11AB","\u1112\u1161\u11AB\u1103\u1169\u11BC\u110B\u1161\u11AB","\u1112\u1161\u11AB\u1104\u1162","\u1112\u1161\u11AB\u1105\u1161\u1109\u1161\u11AB","\u1112\u1161\u11AB\u1106\u1161\u1103\u1175","\u1112\u1161\u11AB\u1106\u116E\u11AB","\u1112\u1161\u11AB\u1107\u1165\u11AB","\u1112\u1161\u11AB\u1107\u1169\u11A8","\u1112\u1161\u11AB\u1109\u1175\u11A8","\u1112\u1161\u11AB\u110B\u1167\u1105\u1173\u11B7","\u1112\u1161\u11AB\u110D\u1169\u11A8","\u1112\u1161\u11AF\u1106\u1165\u1102\u1175","\u1112\u1161\u11AF\u110B\u1161\u1107\u1165\u110C\u1175","\u1112\u1161\u11AF\u110B\u1175\u11AB","\u1112\u1161\u11B7\u1101\u1166","\u1112\u1161\u11B7\u1107\u116E\u1105\u1169","\u1112\u1161\u11B8\u1100\u1167\u11A8","\u1112\u1161\u11B8\u1105\u1175\u110C\u1165\u11A8","\u1112\u1161\u11BC\u1100\u1169\u11BC","\u1112\u1161\u11BC\u1100\u116E","\u1112\u1161\u11BC\u1109\u1161\u11BC","\u1112\u1161\u11BC\u110B\u1174","\u1112\u1162\u1100\u1167\u11AF","\u1112\u1162\u1100\u116E\u11AB","\u1112\u1162\u1103\u1161\u11B8","\u1112\u1162\u1103\u1161\u11BC","\u1112\u1162\u1106\u116E\u11AF","\u1112\u1162\u1109\u1165\u11A8","\u1112\u1162\u1109\u1165\u11AF","\u1112\u1162\u1109\u116E\u110B\u116D\u11A8\u110C\u1161\u11BC","\u1112\u1162\u110B\u1161\u11AB","\u1112\u1162\u11A8\u1109\u1175\u11B7","\u1112\u1162\u11AB\u1103\u1173\u1107\u1162\u11A8","\u1112\u1162\u11B7\u1107\u1165\u1100\u1165","\u1112\u1162\u11BA\u1107\u1167\u11C0","\u1112\u1162\u11BA\u1109\u1161\u11AF","\u1112\u1162\u11BC\u1103\u1169\u11BC","\u1112\u1162\u11BC\u1107\u1169\u11A8","\u1112\u1162\u11BC\u1109\u1161","\u1112\u1162\u11BC\u110B\u116E\u11AB","\u1112\u1162\u11BC\u110B\u1171","\u1112\u1163\u11BC\u1100\u1175","\u1112\u1163\u11BC\u1109\u1161\u11BC","\u1112\u1163\u11BC\u1109\u116E","\u1112\u1165\u1105\u1161\u11A8","\u1112\u1165\u110B\u116D\u11BC","\u1112\u1166\u11AF\u1100\u1175","\u1112\u1167\u11AB\u1100\u116A\u11AB","\u1112\u1167\u11AB\u1100\u1173\u11B7","\u1112\u1167\u11AB\u1103\u1162","\u1112\u1167\u11AB\u1109\u1161\u11BC","\u1112\u1167\u11AB\u1109\u1175\u11AF","\u1112\u1167\u11AB\u110C\u1161\u11BC","\u1112\u1167\u11AB\u110C\u1162","\u1112\u1167\u11AB\u110C\u1175","\u1112\u1167\u11AF\u110B\u1162\u11A8","\u1112\u1167\u11B8\u1105\u1167\u11A8","\u1112\u1167\u11BC\u1107\u116E","\u1112\u1167\u11BC\u1109\u1161","\u1112\u1167\u11BC\u1109\u116E","\u1112\u1167\u11BC\u1109\u1175\u11A8","\u1112\u1167\u11BC\u110C\u1166","\u1112\u1167\u11BC\u1110\u1162","\u1112\u1167\u11BC\u1111\u1167\u11AB","\u1112\u1168\u1110\u1162\u11A8","\u1112\u1169\u1100\u1175\u1109\u1175\u11B7","\u1112\u1169\u1102\u1161\u11B7","\u1112\u1169\u1105\u1161\u11BC\u110B\u1175","\u1112\u1169\u1107\u1161\u11A8","\u1112\u1169\u1110\u1166\u11AF","\u1112\u1169\u1112\u1173\u11B8","\u1112\u1169\u11A8\u1109\u1175","\u1112\u1169\u11AF\u1105\u1169","\u1112\u1169\u11B7\u1111\u1166\u110B\u1175\u110C\u1175","\u1112\u1169\u11BC\u1107\u1169","\u1112\u1169\u11BC\u1109\u116E","\u1112\u1169\u11BC\u110E\u1161","\u1112\u116A\u1106\u1167\u11AB","\u1112\u116A\u1107\u116E\u11AB","\u1112\u116A\u1109\u1161\u11AF","\u1112\u116A\u110B\u116D\u110B\u1175\u11AF","\u1112\u116A\u110C\u1161\u11BC","\u1112\u116A\u1112\u1161\u11A8","\u1112\u116A\u11A8\u1107\u1169","\u1112\u116A\u11A8\u110B\u1175\u11AB","\u1112\u116A\u11A8\u110C\u1161\u11BC","\u1112\u116A\u11A8\u110C\u1165\u11BC","\u1112\u116A\u11AB\u1100\u1161\u11B8","\u1112\u116A\u11AB\u1100\u1167\u11BC","\u1112\u116A\u11AB\u110B\u1167\u11BC","\u1112\u116A\u11AB\u110B\u1172\u11AF","\u1112\u116A\u11AB\u110C\u1161","\u1112\u116A\u11AF\u1100\u1175","\u1112\u116A\u11AF\u1103\u1169\u11BC","\u1112\u116A\u11AF\u1107\u1161\u11AF\u1112\u1175","\u1112\u116A\u11AF\u110B\u116D\u11BC","\u1112\u116A\u11AF\u110D\u1161\u11A8","\u1112\u116C\u1100\u1167\u11AB","\u1112\u116C\u1100\u116A\u11AB","\u1112\u116C\u1107\u1169\u11A8","\u1112\u116C\u1109\u1162\u11A8","\u1112\u116C\u110B\u116F\u11AB","\u1112\u116C\u110C\u1161\u11BC","\u1112\u116C\u110C\u1165\u11AB","\u1112\u116C\u11BA\u1109\u116E","\u1112\u116C\u11BC\u1103\u1161\u11AB\u1107\u1169\u1103\u1169","\u1112\u116D\u110B\u1172\u11AF\u110C\u1165\u11A8","\u1112\u116E\u1107\u1161\u11AB","\u1112\u116E\u110E\u116E\u11BA\u1100\u1161\u1105\u116E","\u1112\u116E\u11AB\u1105\u1167\u11AB","\u1112\u116F\u11AF\u110A\u1175\u11AB","\u1112\u1172\u1109\u1175\u11A8","\u1112\u1172\u110B\u1175\u11AF","\u1112\u1172\u11BC\u1102\u1162","\u1112\u1173\u1105\u1173\u11B7","\u1112\u1173\u11A8\u1107\u1162\u11A8","\u1112\u1173\u11A8\u110B\u1175\u11AB","\u1112\u1173\u11AB\u110C\u1165\u11A8","\u1112\u1173\u11AB\u1112\u1175","\u1112\u1173\u11BC\u1106\u1175","\u1112\u1173\u11BC\u1107\u116E\u11AB","\u1112\u1174\u1100\u1169\u11A8","\u1112\u1174\u1106\u1161\u11BC","\u1112\u1174\u1109\u1162\u11BC","\u1112\u1174\u11AB\u1109\u1162\u11A8","\u1112\u1175\u11B7\u1101\u1165\u11BA"]'), SF = JSON.parse('["abaisser","abandon","abdiquer","abeille","abolir","aborder","aboutir","aboyer","abrasif","abreuver","abriter","abroger","abrupt","absence","absolu","absurde","abusif","abyssal","acade\u0301mie","acajou","acarien","accabler","accepter","acclamer","accolade","accroche","accuser","acerbe","achat","acheter","aciduler","acier","acompte","acque\u0301rir","acronyme","acteur","actif","actuel","adepte","ade\u0301quat","adhe\u0301sif","adjectif","adjuger","admettre","admirer","adopter","adorer","adoucir","adresse","adroit","adulte","adverbe","ae\u0301rer","ae\u0301ronef","affaire","affecter","affiche","affreux","affubler","agacer","agencer","agile","agiter","agrafer","agre\u0301able","agrume","aider","aiguille","ailier","aimable","aisance","ajouter","ajuster","alarmer","alchimie","alerte","alge\u0300bre","algue","alie\u0301ner","aliment","alle\u0301ger","alliage","allouer","allumer","alourdir","alpaga","altesse","alve\u0301ole","amateur","ambigu","ambre","ame\u0301nager","amertume","amidon","amiral","amorcer","amour","amovible","amphibie","ampleur","amusant","analyse","anaphore","anarchie","anatomie","ancien","ane\u0301antir","angle","angoisse","anguleux","animal","annexer","annonce","annuel","anodin","anomalie","anonyme","anormal","antenne","antidote","anxieux","apaiser","ape\u0301ritif","aplanir","apologie","appareil","appeler","apporter","appuyer","aquarium","aqueduc","arbitre","arbuste","ardeur","ardoise","argent","arlequin","armature","armement","armoire","armure","arpenter","arracher","arriver","arroser","arsenic","arte\u0301riel","article","aspect","asphalte","aspirer","assaut","asservir","assiette","associer","assurer","asticot","astre","astuce","atelier","atome","atrium","atroce","attaque","attentif","attirer","attraper","aubaine","auberge","audace","audible","augurer","aurore","automne","autruche","avaler","avancer","avarice","avenir","averse","aveugle","aviateur","avide","avion","aviser","avoine","avouer","avril","axial","axiome","badge","bafouer","bagage","baguette","baignade","balancer","balcon","baleine","balisage","bambin","bancaire","bandage","banlieue","bannie\u0300re","banquier","barbier","baril","baron","barque","barrage","bassin","bastion","bataille","bateau","batterie","baudrier","bavarder","belette","be\u0301lier","belote","be\u0301ne\u0301fice","berceau","berger","berline","bermuda","besace","besogne","be\u0301tail","beurre","biberon","bicycle","bidule","bijou","bilan","bilingue","billard","binaire","biologie","biopsie","biotype","biscuit","bison","bistouri","bitume","bizarre","blafard","blague","blanchir","blessant","blinder","blond","bloquer","blouson","bobard","bobine","boire","boiser","bolide","bonbon","bondir","bonheur","bonifier","bonus","bordure","borne","botte","boucle","boueux","bougie","boulon","bouquin","bourse","boussole","boutique","boxeur","branche","brasier","brave","brebis","bre\u0300che","breuvage","bricoler","brigade","brillant","brioche","brique","brochure","broder","bronzer","brousse","broyeur","brume","brusque","brutal","bruyant","buffle","buisson","bulletin","bureau","burin","bustier","butiner","butoir","buvable","buvette","cabanon","cabine","cachette","cadeau","cadre","cafe\u0301ine","caillou","caisson","calculer","calepin","calibre","calmer","calomnie","calvaire","camarade","came\u0301ra","camion","campagne","canal","caneton","canon","cantine","canular","capable","caporal","caprice","capsule","capter","capuche","carabine","carbone","caresser","caribou","carnage","carotte","carreau","carton","cascade","casier","casque","cassure","causer","caution","cavalier","caverne","caviar","ce\u0301dille","ceinture","ce\u0301leste","cellule","cendrier","censurer","central","cercle","ce\u0301re\u0301bral","cerise","cerner","cerveau","cesser","chagrin","chaise","chaleur","chambre","chance","chapitre","charbon","chasseur","chaton","chausson","chavirer","chemise","chenille","che\u0301quier","chercher","cheval","chien","chiffre","chignon","chime\u0300re","chiot","chlorure","chocolat","choisir","chose","chouette","chrome","chute","cigare","cigogne","cimenter","cine\u0301ma","cintrer","circuler","cirer","cirque","citerne","citoyen","citron","civil","clairon","clameur","claquer","classe","clavier","client","cligner","climat","clivage","cloche","clonage","cloporte","cobalt","cobra","cocasse","cocotier","coder","codifier","coffre","cogner","cohe\u0301sion","coiffer","coincer","cole\u0300re","colibri","colline","colmater","colonel","combat","come\u0301die","commande","compact","concert","conduire","confier","congeler","connoter","consonne","contact","convexe","copain","copie","corail","corbeau","cordage","corniche","corpus","correct","corte\u0300ge","cosmique","costume","coton","coude","coupure","courage","couteau","couvrir","coyote","crabe","crainte","cravate","crayon","cre\u0301ature","cre\u0301diter","cre\u0301meux","creuser","crevette","cribler","crier","cristal","crite\u0300re","croire","croquer","crotale","crucial","cruel","crypter","cubique","cueillir","cuille\u0300re","cuisine","cuivre","culminer","cultiver","cumuler","cupide","curatif","curseur","cyanure","cycle","cylindre","cynique","daigner","damier","danger","danseur","dauphin","de\u0301battre","de\u0301biter","de\u0301border","de\u0301brider","de\u0301butant","de\u0301caler","de\u0301cembre","de\u0301chirer","de\u0301cider","de\u0301clarer","de\u0301corer","de\u0301crire","de\u0301cupler","de\u0301dale","de\u0301ductif","de\u0301esse","de\u0301fensif","de\u0301filer","de\u0301frayer","de\u0301gager","de\u0301givrer","de\u0301glutir","de\u0301grafer","de\u0301jeuner","de\u0301lice","de\u0301loger","demander","demeurer","de\u0301molir","de\u0301nicher","de\u0301nouer","dentelle","de\u0301nuder","de\u0301part","de\u0301penser","de\u0301phaser","de\u0301placer","de\u0301poser","de\u0301ranger","de\u0301rober","de\u0301sastre","descente","de\u0301sert","de\u0301signer","de\u0301sobe\u0301ir","dessiner","destrier","de\u0301tacher","de\u0301tester","de\u0301tourer","de\u0301tresse","devancer","devenir","deviner","devoir","diable","dialogue","diamant","dicter","diffe\u0301rer","dige\u0301rer","digital","digne","diluer","dimanche","diminuer","dioxyde","directif","diriger","discuter","disposer","dissiper","distance","divertir","diviser","docile","docteur","dogme","doigt","domaine","domicile","dompter","donateur","donjon","donner","dopamine","dortoir","dorure","dosage","doseur","dossier","dotation","douanier","double","douceur","douter","doyen","dragon","draper","dresser","dribbler","droiture","duperie","duplexe","durable","durcir","dynastie","e\u0301blouir","e\u0301carter","e\u0301charpe","e\u0301chelle","e\u0301clairer","e\u0301clipse","e\u0301clore","e\u0301cluse","e\u0301cole","e\u0301conomie","e\u0301corce","e\u0301couter","e\u0301craser","e\u0301cre\u0301mer","e\u0301crivain","e\u0301crou","e\u0301cume","e\u0301cureuil","e\u0301difier","e\u0301duquer","effacer","effectif","effigie","effort","effrayer","effusion","e\u0301galiser","e\u0301garer","e\u0301jecter","e\u0301laborer","e\u0301largir","e\u0301lectron","e\u0301le\u0301gant","e\u0301le\u0301phant","e\u0301le\u0300ve","e\u0301ligible","e\u0301litisme","e\u0301loge","e\u0301lucider","e\u0301luder","emballer","embellir","embryon","e\u0301meraude","e\u0301mission","emmener","e\u0301motion","e\u0301mouvoir","empereur","employer","emporter","emprise","e\u0301mulsion","encadrer","enche\u0300re","enclave","encoche","endiguer","endosser","endroit","enduire","e\u0301nergie","enfance","enfermer","enfouir","engager","engin","englober","e\u0301nigme","enjamber","enjeu","enlever","ennemi","ennuyeux","enrichir","enrobage","enseigne","entasser","entendre","entier","entourer","entraver","e\u0301nume\u0301rer","envahir","enviable","envoyer","enzyme","e\u0301olien","e\u0301paissir","e\u0301pargne","e\u0301patant","e\u0301paule","e\u0301picerie","e\u0301pide\u0301mie","e\u0301pier","e\u0301pilogue","e\u0301pine","e\u0301pisode","e\u0301pitaphe","e\u0301poque","e\u0301preuve","e\u0301prouver","e\u0301puisant","e\u0301querre","e\u0301quipe","e\u0301riger","e\u0301rosion","erreur","e\u0301ruption","escalier","espadon","espe\u0300ce","espie\u0300gle","espoir","esprit","esquiver","essayer","essence","essieu","essorer","estime","estomac","estrade","e\u0301tage\u0300re","e\u0301taler","e\u0301tanche","e\u0301tatique","e\u0301teindre","e\u0301tendoir","e\u0301ternel","e\u0301thanol","e\u0301thique","ethnie","e\u0301tirer","e\u0301toffer","e\u0301toile","e\u0301tonnant","e\u0301tourdir","e\u0301trange","e\u0301troit","e\u0301tude","euphorie","e\u0301valuer","e\u0301vasion","e\u0301ventail","e\u0301vidence","e\u0301viter","e\u0301volutif","e\u0301voquer","exact","exage\u0301rer","exaucer","exceller","excitant","exclusif","excuse","exe\u0301cuter","exemple","exercer","exhaler","exhorter","exigence","exiler","exister","exotique","expe\u0301dier","explorer","exposer","exprimer","exquis","extensif","extraire","exulter","fable","fabuleux","facette","facile","facture","faiblir","falaise","fameux","famille","farceur","farfelu","farine","farouche","fasciner","fatal","fatigue","faucon","fautif","faveur","favori","fe\u0301brile","fe\u0301conder","fe\u0301de\u0301rer","fe\u0301lin","femme","fe\u0301mur","fendoir","fe\u0301odal","fermer","fe\u0301roce","ferveur","festival","feuille","feutre","fe\u0301vrier","fiasco","ficeler","fictif","fide\u0300le","figure","filature","filetage","filie\u0300re","filleul","filmer","filou","filtrer","financer","finir","fiole","firme","fissure","fixer","flairer","flamme","flasque","flatteur","fle\u0301au","fle\u0300che","fleur","flexion","flocon","flore","fluctuer","fluide","fluvial","folie","fonderie","fongible","fontaine","forcer","forgeron","formuler","fortune","fossile","foudre","fouge\u0300re","fouiller","foulure","fourmi","fragile","fraise","franchir","frapper","frayeur","fre\u0301gate","freiner","frelon","fre\u0301mir","fre\u0301ne\u0301sie","fre\u0300re","friable","friction","frisson","frivole","froid","fromage","frontal","frotter","fruit","fugitif","fuite","fureur","furieux","furtif","fusion","futur","gagner","galaxie","galerie","gambader","garantir","gardien","garnir","garrigue","gazelle","gazon","ge\u0301ant","ge\u0301latine","ge\u0301lule","gendarme","ge\u0301ne\u0301ral","ge\u0301nie","genou","gentil","ge\u0301ologie","ge\u0301ome\u0300tre","ge\u0301ranium","germe","gestuel","geyser","gibier","gicler","girafe","givre","glace","glaive","glisser","globe","gloire","glorieux","golfeur","gomme","gonfler","gorge","gorille","goudron","gouffre","goulot","goupille","gourmand","goutte","graduel","graffiti","graine","grand","grappin","gratuit","gravir","grenat","griffure","griller","grimper","grogner","gronder","grotte","groupe","gruger","grutier","gruye\u0300re","gue\u0301pard","guerrier","guide","guimauve","guitare","gustatif","gymnaste","gyrostat","habitude","hachoir","halte","hameau","hangar","hanneton","haricot","harmonie","harpon","hasard","he\u0301lium","he\u0301matome","herbe","he\u0301risson","hermine","he\u0301ron","he\u0301siter","heureux","hiberner","hibou","hilarant","histoire","hiver","homard","hommage","homoge\u0300ne","honneur","honorer","honteux","horde","horizon","horloge","hormone","horrible","houleux","housse","hublot","huileux","humain","humble","humide","humour","hurler","hydromel","hygie\u0300ne","hymne","hypnose","idylle","ignorer","iguane","illicite","illusion","image","imbiber","imiter","immense","immobile","immuable","impact","impe\u0301rial","implorer","imposer","imprimer","imputer","incarner","incendie","incident","incliner","incolore","indexer","indice","inductif","ine\u0301dit","ineptie","inexact","infini","infliger","informer","infusion","inge\u0301rer","inhaler","inhiber","injecter","injure","innocent","inoculer","inonder","inscrire","insecte","insigne","insolite","inspirer","instinct","insulter","intact","intense","intime","intrigue","intuitif","inutile","invasion","inventer","inviter","invoquer","ironique","irradier","irre\u0301el","irriter","isoler","ivoire","ivresse","jaguar","jaillir","jambe","janvier","jardin","jauger","jaune","javelot","jetable","jeton","jeudi","jeunesse","joindre","joncher","jongler","joueur","jouissif","journal","jovial","joyau","joyeux","jubiler","jugement","junior","jupon","juriste","justice","juteux","juve\u0301nile","kayak","kimono","kiosque","label","labial","labourer","lace\u0301rer","lactose","lagune","laine","laisser","laitier","lambeau","lamelle","lampe","lanceur","langage","lanterne","lapin","largeur","larme","laurier","lavabo","lavoir","lecture","le\u0301gal","le\u0301ger","le\u0301gume","lessive","lettre","levier","lexique","le\u0301zard","liasse","libe\u0301rer","libre","licence","licorne","lie\u0300ge","lie\u0300vre","ligature","ligoter","ligue","limer","limite","limonade","limpide","line\u0301aire","lingot","lionceau","liquide","lisie\u0300re","lister","lithium","litige","littoral","livreur","logique","lointain","loisir","lombric","loterie","louer","lourd","loutre","louve","loyal","lubie","lucide","lucratif","lueur","lugubre","luisant","lumie\u0300re","lunaire","lundi","luron","lutter","luxueux","machine","magasin","magenta","magique","maigre","maillon","maintien","mairie","maison","majorer","malaxer","male\u0301fice","malheur","malice","mallette","mammouth","mandater","maniable","manquant","manteau","manuel","marathon","marbre","marchand","mardi","maritime","marqueur","marron","marteler","mascotte","massif","mate\u0301riel","matie\u0300re","matraque","maudire","maussade","mauve","maximal","me\u0301chant","me\u0301connu","me\u0301daille","me\u0301decin","me\u0301diter","me\u0301duse","meilleur","me\u0301lange","me\u0301lodie","membre","me\u0301moire","menacer","mener","menhir","mensonge","mentor","mercredi","me\u0301rite","merle","messager","mesure","me\u0301tal","me\u0301te\u0301ore","me\u0301thode","me\u0301tier","meuble","miauler","microbe","miette","mignon","migrer","milieu","million","mimique","mince","mine\u0301ral","minimal","minorer","minute","miracle","miroiter","missile","mixte","mobile","moderne","moelleux","mondial","moniteur","monnaie","monotone","monstre","montagne","monument","moqueur","morceau","morsure","mortier","moteur","motif","mouche","moufle","moulin","mousson","mouton","mouvant","multiple","munition","muraille","mure\u0300ne","murmure","muscle","muse\u0301um","musicien","mutation","muter","mutuel","myriade","myrtille","myste\u0300re","mythique","nageur","nappe","narquois","narrer","natation","nation","nature","naufrage","nautique","navire","ne\u0301buleux","nectar","ne\u0301faste","ne\u0301gation","ne\u0301gliger","ne\u0301gocier","neige","nerveux","nettoyer","neurone","neutron","neveu","niche","nickel","nitrate","niveau","noble","nocif","nocturne","noirceur","noisette","nomade","nombreux","nommer","normatif","notable","notifier","notoire","nourrir","nouveau","novateur","novembre","novice","nuage","nuancer","nuire","nuisible","nume\u0301ro","nuptial","nuque","nutritif","obe\u0301ir","objectif","obliger","obscur","observer","obstacle","obtenir","obturer","occasion","occuper","oce\u0301an","octobre","octroyer","octupler","oculaire","odeur","odorant","offenser","officier","offrir","ogive","oiseau","oisillon","olfactif","olivier","ombrage","omettre","onctueux","onduler","one\u0301reux","onirique","opale","opaque","ope\u0301rer","opinion","opportun","opprimer","opter","optique","orageux","orange","orbite","ordonner","oreille","organe","orgueil","orifice","ornement","orque","ortie","osciller","osmose","ossature","otarie","ouragan","ourson","outil","outrager","ouvrage","ovation","oxyde","oxyge\u0300ne","ozone","paisible","palace","palmare\u0300s","palourde","palper","panache","panda","pangolin","paniquer","panneau","panorama","pantalon","papaye","papier","papoter","papyrus","paradoxe","parcelle","paresse","parfumer","parler","parole","parrain","parsemer","partager","parure","parvenir","passion","paste\u0300que","paternel","patience","patron","pavillon","pavoiser","payer","paysage","peigne","peintre","pelage","pe\u0301lican","pelle","pelouse","peluche","pendule","pe\u0301ne\u0301trer","pe\u0301nible","pensif","pe\u0301nurie","pe\u0301pite","pe\u0301plum","perdrix","perforer","pe\u0301riode","permuter","perplexe","persil","perte","peser","pe\u0301tale","petit","pe\u0301trir","peuple","pharaon","phobie","phoque","photon","phrase","physique","piano","pictural","pie\u0300ce","pierre","pieuvre","pilote","pinceau","pipette","piquer","pirogue","piscine","piston","pivoter","pixel","pizza","placard","plafond","plaisir","planer","plaque","plastron","plateau","pleurer","plexus","pliage","plomb","plonger","pluie","plumage","pochette","poe\u0301sie","poe\u0300te","pointe","poirier","poisson","poivre","polaire","policier","pollen","polygone","pommade","pompier","ponctuel","ponde\u0301rer","poney","portique","position","posse\u0301der","posture","potager","poteau","potion","pouce","poulain","poumon","pourpre","poussin","pouvoir","prairie","pratique","pre\u0301cieux","pre\u0301dire","pre\u0301fixe","pre\u0301lude","pre\u0301nom","pre\u0301sence","pre\u0301texte","pre\u0301voir","primitif","prince","prison","priver","proble\u0300me","proce\u0301der","prodige","profond","progre\u0300s","proie","projeter","prologue","promener","propre","prospe\u0300re","prote\u0301ger","prouesse","proverbe","prudence","pruneau","psychose","public","puceron","puiser","pulpe","pulsar","punaise","punitif","pupitre","purifier","puzzle","pyramide","quasar","querelle","question","quie\u0301tude","quitter","quotient","racine","raconter","radieux","ragondin","raideur","raisin","ralentir","rallonge","ramasser","rapide","rasage","ratisser","ravager","ravin","rayonner","re\u0301actif","re\u0301agir","re\u0301aliser","re\u0301animer","recevoir","re\u0301citer","re\u0301clamer","re\u0301colter","recruter","reculer","recycler","re\u0301diger","redouter","refaire","re\u0301flexe","re\u0301former","refrain","refuge","re\u0301galien","re\u0301gion","re\u0301glage","re\u0301gulier","re\u0301ite\u0301rer","rejeter","rejouer","relatif","relever","relief","remarque","reme\u0300de","remise","remonter","remplir","remuer","renard","renfort","renifler","renoncer","rentrer","renvoi","replier","reporter","reprise","reptile","requin","re\u0301serve","re\u0301sineux","re\u0301soudre","respect","rester","re\u0301sultat","re\u0301tablir","retenir","re\u0301ticule","retomber","retracer","re\u0301union","re\u0301ussir","revanche","revivre","re\u0301volte","re\u0301vulsif","richesse","rideau","rieur","rigide","rigoler","rincer","riposter","risible","risque","rituel","rival","rivie\u0300re","rocheux","romance","rompre","ronce","rondin","roseau","rosier","rotatif","rotor","rotule","rouge","rouille","rouleau","routine","royaume","ruban","rubis","ruche","ruelle","rugueux","ruiner","ruisseau","ruser","rustique","rythme","sabler","saboter","sabre","sacoche","safari","sagesse","saisir","salade","salive","salon","saluer","samedi","sanction","sanglier","sarcasme","sardine","saturer","saugrenu","saumon","sauter","sauvage","savant","savonner","scalpel","scandale","sce\u0301le\u0301rat","sce\u0301nario","sceptre","sche\u0301ma","science","scinder","score","scrutin","sculpter","se\u0301ance","se\u0301cable","se\u0301cher","secouer","se\u0301cre\u0301ter","se\u0301datif","se\u0301duire","seigneur","se\u0301jour","se\u0301lectif","semaine","sembler","semence","se\u0301minal","se\u0301nateur","sensible","sentence","se\u0301parer","se\u0301quence","serein","sergent","se\u0301rieux","serrure","se\u0301rum","service","se\u0301same","se\u0301vir","sevrage","sextuple","side\u0301ral","sie\u0300cle","sie\u0301ger","siffler","sigle","signal","silence","silicium","simple","since\u0300re","sinistre","siphon","sirop","sismique","situer","skier","social","socle","sodium","soigneux","soldat","soleil","solitude","soluble","sombre","sommeil","somnoler","sonde","songeur","sonnette","sonore","sorcier","sortir","sosie","sottise","soucieux","soudure","souffle","soulever","soupape","source","soutirer","souvenir","spacieux","spatial","spe\u0301cial","sphe\u0300re","spiral","stable","station","sternum","stimulus","stipuler","strict","studieux","stupeur","styliste","sublime","substrat","subtil","subvenir","succe\u0300s","sucre","suffixe","sugge\u0301rer","suiveur","sulfate","superbe","supplier","surface","suricate","surmener","surprise","sursaut","survie","suspect","syllabe","symbole","syme\u0301trie","synapse","syntaxe","syste\u0300me","tabac","tablier","tactile","tailler","talent","talisman","talonner","tambour","tamiser","tangible","tapis","taquiner","tarder","tarif","tartine","tasse","tatami","tatouage","taupe","taureau","taxer","te\u0301moin","temporel","tenaille","tendre","teneur","tenir","tension","terminer","terne","terrible","te\u0301tine","texte","the\u0300me","the\u0301orie","the\u0301rapie","thorax","tibia","tie\u0300de","timide","tirelire","tiroir","tissu","titane","titre","tituber","toboggan","tole\u0301rant","tomate","tonique","tonneau","toponyme","torche","tordre","tornade","torpille","torrent","torse","tortue","totem","toucher","tournage","tousser","toxine","traction","trafic","tragique","trahir","train","trancher","travail","tre\u0300fle","tremper","tre\u0301sor","treuil","triage","tribunal","tricoter","trilogie","triomphe","tripler","triturer","trivial","trombone","tronc","tropical","troupeau","tuile","tulipe","tumulte","tunnel","turbine","tuteur","tutoyer","tuyau","tympan","typhon","typique","tyran","ubuesque","ultime","ultrason","unanime","unifier","union","unique","unitaire","univers","uranium","urbain","urticant","usage","usine","usuel","usure","utile","utopie","vacarme","vaccin","vagabond","vague","vaillant","vaincre","vaisseau","valable","valise","vallon","valve","vampire","vanille","vapeur","varier","vaseux","vassal","vaste","vecteur","vedette","ve\u0301ge\u0301tal","ve\u0301hicule","veinard","ve\u0301loce","vendredi","ve\u0301ne\u0301rer","venger","venimeux","ventouse","verdure","ve\u0301rin","vernir","verrou","verser","vertu","veston","ve\u0301te\u0301ran","ve\u0301tuste","vexant","vexer","viaduc","viande","victoire","vidange","vide\u0301o","vignette","vigueur","vilain","village","vinaigre","violon","vipe\u0300re","virement","virtuose","virus","visage","viseur","vision","visqueux","visuel","vital","vitesse","viticole","vitrine","vivace","vivipare","vocation","voguer","voile","voisin","voiture","volaille","volcan","voltiger","volume","vorace","vortex","voter","vouloir","voyage","voyelle","wagon","xe\u0301non","yacht","ze\u0300bre","ze\u0301nith","zeste","zoologie"]'), _F = JSON.parse('["abaco","abbaglio","abbinato","abete","abisso","abolire","abrasivo","abrogato","accadere","accenno","accusato","acetone","achille","acido","acqua","acre","acrilico","acrobata","acuto","adagio","addebito","addome","adeguato","aderire","adipe","adottare","adulare","affabile","affetto","affisso","affranto","aforisma","afoso","africano","agave","agente","agevole","aggancio","agire","agitare","agonismo","agricolo","agrumeto","aguzzo","alabarda","alato","albatro","alberato","albo","albume","alce","alcolico","alettone","alfa","algebra","aliante","alibi","alimento","allagato","allegro","allievo","allodola","allusivo","almeno","alogeno","alpaca","alpestre","altalena","alterno","alticcio","altrove","alunno","alveolo","alzare","amalgama","amanita","amarena","ambito","ambrato","ameba","america","ametista","amico","ammasso","ammenda","ammirare","ammonito","amore","ampio","ampliare","amuleto","anacardo","anagrafe","analista","anarchia","anatra","anca","ancella","ancora","andare","andrea","anello","angelo","angolare","angusto","anima","annegare","annidato","anno","annuncio","anonimo","anticipo","anzi","apatico","apertura","apode","apparire","appetito","appoggio","approdo","appunto","aprile","arabica","arachide","aragosta","araldica","arancio","aratura","arazzo","arbitro","archivio","ardito","arenile","argento","argine","arguto","aria","armonia","arnese","arredato","arringa","arrosto","arsenico","arso","artefice","arzillo","asciutto","ascolto","asepsi","asettico","asfalto","asino","asola","aspirato","aspro","assaggio","asse","assoluto","assurdo","asta","astenuto","astice","astratto","atavico","ateismo","atomico","atono","attesa","attivare","attorno","attrito","attuale","ausilio","austria","autista","autonomo","autunno","avanzato","avere","avvenire","avviso","avvolgere","azione","azoto","azzimo","azzurro","babele","baccano","bacino","baco","badessa","badilata","bagnato","baita","balcone","baldo","balena","ballata","balzano","bambino","bandire","baraonda","barbaro","barca","baritono","barlume","barocco","basilico","basso","batosta","battuto","baule","bava","bavosa","becco","beffa","belgio","belva","benda","benevole","benigno","benzina","bere","berlina","beta","bibita","bici","bidone","bifido","biga","bilancia","bimbo","binocolo","biologo","bipede","bipolare","birbante","birra","biscotto","bisesto","bisnonno","bisonte","bisturi","bizzarro","blando","blatta","bollito","bonifico","bordo","bosco","botanico","bottino","bozzolo","braccio","bradipo","brama","branca","bravura","bretella","brevetto","brezza","briglia","brillante","brindare","broccolo","brodo","bronzina","brullo","bruno","bubbone","buca","budino","buffone","buio","bulbo","buono","burlone","burrasca","bussola","busta","cadetto","caduco","calamaro","calcolo","calesse","calibro","calmo","caloria","cambusa","camerata","camicia","cammino","camola","campale","canapa","candela","cane","canino","canotto","cantina","capace","capello","capitolo","capogiro","cappero","capra","capsula","carapace","carcassa","cardo","carisma","carovana","carretto","cartolina","casaccio","cascata","caserma","caso","cassone","castello","casuale","catasta","catena","catrame","cauto","cavillo","cedibile","cedrata","cefalo","celebre","cellulare","cena","cenone","centesimo","ceramica","cercare","certo","cerume","cervello","cesoia","cespo","ceto","chela","chiaro","chicca","chiedere","chimera","china","chirurgo","chitarra","ciao","ciclismo","cifrare","cigno","cilindro","ciottolo","circa","cirrosi","citrico","cittadino","ciuffo","civetta","civile","classico","clinica","cloro","cocco","codardo","codice","coerente","cognome","collare","colmato","colore","colposo","coltivato","colza","coma","cometa","commando","comodo","computer","comune","conciso","condurre","conferma","congelare","coniuge","connesso","conoscere","consumo","continuo","convegno","coperto","copione","coppia","copricapo","corazza","cordata","coricato","cornice","corolla","corpo","corredo","corsia","cortese","cosmico","costante","cottura","covato","cratere","cravatta","creato","credere","cremoso","crescita","creta","criceto","crinale","crisi","critico","croce","cronaca","crostata","cruciale","crusca","cucire","cuculo","cugino","cullato","cupola","curatore","cursore","curvo","cuscino","custode","dado","daino","dalmata","damerino","daniela","dannoso","danzare","datato","davanti","davvero","debutto","decennio","deciso","declino","decollo","decreto","dedicato","definito","deforme","degno","delegare","delfino","delirio","delta","demenza","denotato","dentro","deposito","derapata","derivare","deroga","descritto","deserto","desiderio","desumere","detersivo","devoto","diametro","dicembre","diedro","difeso","diffuso","digerire","digitale","diluvio","dinamico","dinnanzi","dipinto","diploma","dipolo","diradare","dire","dirotto","dirupo","disagio","discreto","disfare","disgelo","disposto","distanza","disumano","dito","divano","divelto","dividere","divorato","doblone","docente","doganale","dogma","dolce","domato","domenica","dominare","dondolo","dono","dormire","dote","dottore","dovuto","dozzina","drago","druido","dubbio","dubitare","ducale","duna","duomo","duplice","duraturo","ebano","eccesso","ecco","eclissi","economia","edera","edicola","edile","editoria","educare","egemonia","egli","egoismo","egregio","elaborato","elargire","elegante","elencato","eletto","elevare","elfico","elica","elmo","elsa","eluso","emanato","emblema","emesso","emiro","emotivo","emozione","empirico","emulo","endemico","enduro","energia","enfasi","enoteca","entrare","enzima","epatite","epilogo","episodio","epocale","eppure","equatore","erario","erba","erboso","erede","eremita","erigere","ermetico","eroe","erosivo","errante","esagono","esame","esanime","esaudire","esca","esempio","esercito","esibito","esigente","esistere","esito","esofago","esortato","esoso","espanso","espresso","essenza","esso","esteso","estimare","estonia","estroso","esultare","etilico","etnico","etrusco","etto","euclideo","europa","evaso","evidenza","evitato","evoluto","evviva","fabbrica","faccenda","fachiro","falco","famiglia","fanale","fanfara","fango","fantasma","fare","farfalla","farinoso","farmaco","fascia","fastoso","fasullo","faticare","fato","favoloso","febbre","fecola","fede","fegato","felpa","feltro","femmina","fendere","fenomeno","fermento","ferro","fertile","fessura","festivo","fetta","feudo","fiaba","fiducia","fifa","figurato","filo","finanza","finestra","finire","fiore","fiscale","fisico","fiume","flacone","flamenco","flebo","flemma","florido","fluente","fluoro","fobico","focaccia","focoso","foderato","foglio","folata","folclore","folgore","fondente","fonetico","fonia","fontana","forbito","forchetta","foresta","formica","fornaio","foro","fortezza","forzare","fosfato","fosso","fracasso","frana","frassino","fratello","freccetta","frenata","fresco","frigo","frollino","fronde","frugale","frutta","fucilata","fucsia","fuggente","fulmine","fulvo","fumante","fumetto","fumoso","fune","funzione","fuoco","furbo","furgone","furore","fuso","futile","gabbiano","gaffe","galateo","gallina","galoppo","gambero","gamma","garanzia","garbo","garofano","garzone","gasdotto","gasolio","gastrico","gatto","gaudio","gazebo","gazzella","geco","gelatina","gelso","gemello","gemmato","gene","genitore","gennaio","genotipo","gergo","ghepardo","ghiaccio","ghisa","giallo","gilda","ginepro","giocare","gioiello","giorno","giove","girato","girone","gittata","giudizio","giurato","giusto","globulo","glutine","gnomo","gobba","golf","gomito","gommone","gonfio","gonna","governo","gracile","grado","grafico","grammo","grande","grattare","gravoso","grazia","greca","gregge","grifone","grigio","grinza","grotta","gruppo","guadagno","guaio","guanto","guardare","gufo","guidare","ibernato","icona","identico","idillio","idolo","idra","idrico","idrogeno","igiene","ignaro","ignorato","ilare","illeso","illogico","illudere","imballo","imbevuto","imbocco","imbuto","immane","immerso","immolato","impacco","impeto","impiego","importo","impronta","inalare","inarcare","inattivo","incanto","incendio","inchino","incisivo","incluso","incontro","incrocio","incubo","indagine","india","indole","inedito","infatti","infilare","inflitto","ingaggio","ingegno","inglese","ingordo","ingrosso","innesco","inodore","inoltrare","inondato","insano","insetto","insieme","insonnia","insulina","intasato","intero","intonaco","intuito","inumidire","invalido","invece","invito","iperbole","ipnotico","ipotesi","ippica","iride","irlanda","ironico","irrigato","irrorare","isolato","isotopo","isterico","istituto","istrice","italia","iterare","labbro","labirinto","lacca","lacerato","lacrima","lacuna","laddove","lago","lampo","lancetta","lanterna","lardoso","larga","laringe","lastra","latenza","latino","lattuga","lavagna","lavoro","legale","leggero","lembo","lentezza","lenza","leone","lepre","lesivo","lessato","lesto","letterale","leva","levigato","libero","lido","lievito","lilla","limatura","limitare","limpido","lineare","lingua","liquido","lira","lirica","lisca","lite","litigio","livrea","locanda","lode","logica","lombare","londra","longevo","loquace","lorenzo","loto","lotteria","luce","lucidato","lumaca","luminoso","lungo","lupo","luppolo","lusinga","lusso","lutto","macabro","macchina","macero","macinato","madama","magico","maglia","magnete","magro","maiolica","malafede","malgrado","malinteso","malsano","malto","malumore","mana","mancia","mandorla","mangiare","manifesto","mannaro","manovra","mansarda","mantide","manubrio","mappa","maratona","marcire","maretta","marmo","marsupio","maschera","massaia","mastino","materasso","matricola","mattone","maturo","mazurca","meandro","meccanico","mecenate","medesimo","meditare","mega","melassa","melis","melodia","meninge","meno","mensola","mercurio","merenda","merlo","meschino","mese","messere","mestolo","metallo","metodo","mettere","miagolare","mica","micelio","michele","microbo","midollo","miele","migliore","milano","milite","mimosa","minerale","mini","minore","mirino","mirtillo","miscela","missiva","misto","misurare","mitezza","mitigare","mitra","mittente","mnemonico","modello","modifica","modulo","mogano","mogio","mole","molosso","monastero","monco","mondina","monetario","monile","monotono","monsone","montato","monviso","mora","mordere","morsicato","mostro","motivato","motosega","motto","movenza","movimento","mozzo","mucca","mucosa","muffa","mughetto","mugnaio","mulatto","mulinello","multiplo","mummia","munto","muovere","murale","musa","muscolo","musica","mutevole","muto","nababbo","nafta","nanometro","narciso","narice","narrato","nascere","nastrare","naturale","nautica","naviglio","nebulosa","necrosi","negativo","negozio","nemmeno","neofita","neretto","nervo","nessuno","nettuno","neutrale","neve","nevrotico","nicchia","ninfa","nitido","nobile","nocivo","nodo","nome","nomina","nordico","normale","norvegese","nostrano","notare","notizia","notturno","novella","nucleo","nulla","numero","nuovo","nutrire","nuvola","nuziale","oasi","obbedire","obbligo","obelisco","oblio","obolo","obsoleto","occasione","occhio","occidente","occorrere","occultare","ocra","oculato","odierno","odorare","offerta","offrire","offuscato","oggetto","oggi","ognuno","olandese","olfatto","oliato","oliva","ologramma","oltre","omaggio","ombelico","ombra","omega","omissione","ondoso","onere","onice","onnivoro","onorevole","onta","operato","opinione","opposto","oracolo","orafo","ordine","orecchino","orefice","orfano","organico","origine","orizzonte","orma","ormeggio","ornativo","orologio","orrendo","orribile","ortensia","ortica","orzata","orzo","osare","oscurare","osmosi","ospedale","ospite","ossa","ossidare","ostacolo","oste","otite","otre","ottagono","ottimo","ottobre","ovale","ovest","ovino","oviparo","ovocito","ovunque","ovviare","ozio","pacchetto","pace","pacifico","padella","padrone","paese","paga","pagina","palazzina","palesare","pallido","palo","palude","pandoro","pannello","paolo","paonazzo","paprica","parabola","parcella","parere","pargolo","pari","parlato","parola","partire","parvenza","parziale","passivo","pasticca","patacca","patologia","pattume","pavone","peccato","pedalare","pedonale","peggio","peloso","penare","pendice","penisola","pennuto","penombra","pensare","pentola","pepe","pepita","perbene","percorso","perdonato","perforare","pergamena","periodo","permesso","perno","perplesso","persuaso","pertugio","pervaso","pesatore","pesista","peso","pestifero","petalo","pettine","petulante","pezzo","piacere","pianta","piattino","piccino","picozza","piega","pietra","piffero","pigiama","pigolio","pigro","pila","pilifero","pillola","pilota","pimpante","pineta","pinna","pinolo","pioggia","piombo","piramide","piretico","pirite","pirolisi","pitone","pizzico","placebo","planare","plasma","platano","plenario","pochezza","poderoso","podismo","poesia","poggiare","polenta","poligono","pollice","polmonite","polpetta","polso","poltrona","polvere","pomice","pomodoro","ponte","popoloso","porfido","poroso","porpora","porre","portata","posa","positivo","possesso","postulato","potassio","potere","pranzo","prassi","pratica","precluso","predica","prefisso","pregiato","prelievo","premere","prenotare","preparato","presenza","pretesto","prevalso","prima","principe","privato","problema","procura","produrre","profumo","progetto","prolunga","promessa","pronome","proposta","proroga","proteso","prova","prudente","prugna","prurito","psiche","pubblico","pudica","pugilato","pugno","pulce","pulito","pulsante","puntare","pupazzo","pupilla","puro","quadro","qualcosa","quasi","querela","quota","raccolto","raddoppio","radicale","radunato","raffica","ragazzo","ragione","ragno","ramarro","ramingo","ramo","randagio","rantolare","rapato","rapina","rappreso","rasatura","raschiato","rasente","rassegna","rastrello","rata","ravveduto","reale","recepire","recinto","recluta","recondito","recupero","reddito","redimere","regalato","registro","regola","regresso","relazione","remare","remoto","renna","replica","reprimere","reputare","resa","residente","responso","restauro","rete","retina","retorica","rettifica","revocato","riassunto","ribadire","ribelle","ribrezzo","ricarica","ricco","ricevere","riciclato","ricordo","ricreduto","ridicolo","ridurre","rifasare","riflesso","riforma","rifugio","rigare","rigettato","righello","rilassato","rilevato","rimanere","rimbalzo","rimedio","rimorchio","rinascita","rincaro","rinforzo","rinnovo","rinomato","rinsavito","rintocco","rinuncia","rinvenire","riparato","ripetuto","ripieno","riportare","ripresa","ripulire","risata","rischio","riserva","risibile","riso","rispetto","ristoro","risultato","risvolto","ritardo","ritegno","ritmico","ritrovo","riunione","riva","riverso","rivincita","rivolto","rizoma","roba","robotico","robusto","roccia","roco","rodaggio","rodere","roditore","rogito","rollio","romantico","rompere","ronzio","rosolare","rospo","rotante","rotondo","rotula","rovescio","rubizzo","rubrica","ruga","rullino","rumine","rumoroso","ruolo","rupe","russare","rustico","sabato","sabbiare","sabotato","sagoma","salasso","saldatura","salgemma","salivare","salmone","salone","saltare","saluto","salvo","sapere","sapido","saporito","saraceno","sarcasmo","sarto","sassoso","satellite","satira","satollo","saturno","savana","savio","saziato","sbadiglio","sbalzo","sbancato","sbarra","sbattere","sbavare","sbendare","sbirciare","sbloccato","sbocciato","sbrinare","sbruffone","sbuffare","scabroso","scadenza","scala","scambiare","scandalo","scapola","scarso","scatenare","scavato","scelto","scenico","scettro","scheda","schiena","sciarpa","scienza","scindere","scippo","sciroppo","scivolo","sclerare","scodella","scolpito","scomparto","sconforto","scoprire","scorta","scossone","scozzese","scriba","scrollare","scrutinio","scuderia","scultore","scuola","scuro","scusare","sdebitare","sdoganare","seccatura","secondo","sedano","seggiola","segnalato","segregato","seguito","selciato","selettivo","sella","selvaggio","semaforo","sembrare","seme","seminato","sempre","senso","sentire","sepolto","sequenza","serata","serbato","sereno","serio","serpente","serraglio","servire","sestina","setola","settimana","sfacelo","sfaldare","sfamato","sfarzoso","sfaticato","sfera","sfida","sfilato","sfinge","sfocato","sfoderare","sfogo","sfoltire","sforzato","sfratto","sfruttato","sfuggito","sfumare","sfuso","sgabello","sgarbato","sgonfiare","sgorbio","sgrassato","sguardo","sibilo","siccome","sierra","sigla","signore","silenzio","sillaba","simbolo","simpatico","simulato","sinfonia","singolo","sinistro","sino","sintesi","sinusoide","sipario","sisma","sistole","situato","slitta","slogatura","sloveno","smarrito","smemorato","smentito","smeraldo","smilzo","smontare","smottato","smussato","snellire","snervato","snodo","sobbalzo","sobrio","soccorso","sociale","sodale","soffitto","sogno","soldato","solenne","solido","sollazzo","solo","solubile","solvente","somatico","somma","sonda","sonetto","sonnifero","sopire","soppeso","sopra","sorgere","sorpasso","sorriso","sorso","sorteggio","sorvolato","sospiro","sosta","sottile","spada","spalla","spargere","spatola","spavento","spazzola","specie","spedire","spegnere","spelatura","speranza","spessore","spettrale","spezzato","spia","spigoloso","spillato","spinoso","spirale","splendido","sportivo","sposo","spranga","sprecare","spronato","spruzzo","spuntino","squillo","sradicare","srotolato","stabile","stacco","staffa","stagnare","stampato","stantio","starnuto","stasera","statuto","stelo","steppa","sterzo","stiletto","stima","stirpe","stivale","stizzoso","stonato","storico","strappo","stregato","stridulo","strozzare","strutto","stuccare","stufo","stupendo","subentro","succoso","sudore","suggerito","sugo","sultano","suonare","superbo","supporto","surgelato","surrogato","sussurro","sutura","svagare","svedese","sveglio","svelare","svenuto","svezia","sviluppo","svista","svizzera","svolta","svuotare","tabacco","tabulato","tacciare","taciturno","tale","talismano","tampone","tannino","tara","tardivo","targato","tariffa","tarpare","tartaruga","tasto","tattico","taverna","tavolata","tazza","teca","tecnico","telefono","temerario","tempo","temuto","tendone","tenero","tensione","tentacolo","teorema","terme","terrazzo","terzetto","tesi","tesserato","testato","tetro","tettoia","tifare","tigella","timbro","tinto","tipico","tipografo","tiraggio","tiro","titanio","titolo","titubante","tizio","tizzone","toccare","tollerare","tolto","tombola","tomo","tonfo","tonsilla","topazio","topologia","toppa","torba","tornare","torrone","tortora","toscano","tossire","tostatura","totano","trabocco","trachea","trafila","tragedia","tralcio","tramonto","transito","trapano","trarre","trasloco","trattato","trave","treccia","tremolio","trespolo","tributo","tricheco","trifoglio","trillo","trincea","trio","tristezza","triturato","trivella","tromba","trono","troppo","trottola","trovare","truccato","tubatura","tuffato","tulipano","tumulto","tunisia","turbare","turchino","tuta","tutela","ubicato","uccello","uccisore","udire","uditivo","uffa","ufficio","uguale","ulisse","ultimato","umano","umile","umorismo","uncinetto","ungere","ungherese","unicorno","unificato","unisono","unitario","unte","uovo","upupa","uragano","urgenza","urlo","usanza","usato","uscito","usignolo","usuraio","utensile","utilizzo","utopia","vacante","vaccinato","vagabondo","vagliato","valanga","valgo","valico","valletta","valoroso","valutare","valvola","vampata","vangare","vanitoso","vano","vantaggio","vanvera","vapore","varano","varcato","variante","vasca","vedetta","vedova","veduto","vegetale","veicolo","velcro","velina","velluto","veloce","venato","vendemmia","vento","verace","verbale","vergogna","verifica","vero","verruca","verticale","vescica","vessillo","vestale","veterano","vetrina","vetusto","viandante","vibrante","vicenda","vichingo","vicinanza","vidimare","vigilia","vigneto","vigore","vile","villano","vimini","vincitore","viola","vipera","virgola","virologo","virulento","viscoso","visione","vispo","vissuto","visura","vita","vitello","vittima","vivanda","vivido","viziare","voce","voga","volatile","volere","volpe","voragine","vulcano","zampogna","zanna","zappato","zattera","zavorra","zefiro","zelante","zelo","zenzero","zerbino","zibetto","zinco","zircone","zitto","zolla","zotico","zucchero","zufolo","zulu","zuppa"]'), IF = JSON.parse('["a\u0301baco","abdomen","abeja","abierto","abogado","abono","aborto","abrazo","abrir","abuelo","abuso","acabar","academia","acceso","accio\u0301n","aceite","acelga","acento","aceptar","a\u0301cido","aclarar","acne\u0301","acoger","acoso","activo","acto","actriz","actuar","acudir","acuerdo","acusar","adicto","admitir","adoptar","adorno","aduana","adulto","ae\u0301reo","afectar","aficio\u0301n","afinar","afirmar","a\u0301gil","agitar","agoni\u0301a","agosto","agotar","agregar","agrio","agua","agudo","a\u0301guila","aguja","ahogo","ahorro","aire","aislar","ajedrez","ajeno","ajuste","alacra\u0301n","alambre","alarma","alba","a\u0301lbum","alcalde","aldea","alegre","alejar","alerta","aleta","alfiler","alga","algodo\u0301n","aliado","aliento","alivio","alma","almeja","almi\u0301bar","altar","alteza","altivo","alto","altura","alumno","alzar","amable","amante","amapola","amargo","amasar","a\u0301mbar","a\u0301mbito","ameno","amigo","amistad","amor","amparo","amplio","ancho","anciano","ancla","andar","ande\u0301n","anemia","a\u0301ngulo","anillo","a\u0301nimo","ani\u0301s","anotar","antena","antiguo","antojo","anual","anular","anuncio","an\u0303adir","an\u0303ejo","an\u0303o","apagar","aparato","apetito","apio","aplicar","apodo","aporte","apoyo","aprender","aprobar","apuesta","apuro","arado","aran\u0303a","arar","a\u0301rbitro","a\u0301rbol","arbusto","archivo","arco","arder","ardilla","arduo","a\u0301rea","a\u0301rido","aries","armoni\u0301a","arne\u0301s","aroma","arpa","arpo\u0301n","arreglo","arroz","arruga","arte","artista","asa","asado","asalto","ascenso","asegurar","aseo","asesor","asiento","asilo","asistir","asno","asombro","a\u0301spero","astilla","astro","astuto","asumir","asunto","atajo","ataque","atar","atento","ateo","a\u0301tico","atleta","a\u0301tomo","atraer","atroz","atu\u0301n","audaz","audio","auge","aula","aumento","ausente","autor","aval","avance","avaro","ave","avellana","avena","avestruz","avio\u0301n","aviso","ayer","ayuda","ayuno","azafra\u0301n","azar","azote","azu\u0301car","azufre","azul","baba","babor","bache","bahi\u0301a","baile","bajar","balanza","balco\u0301n","balde","bambu\u0301","banco","banda","ban\u0303o","barba","barco","barniz","barro","ba\u0301scula","basto\u0301n","basura","batalla","bateri\u0301a","batir","batuta","bau\u0301l","bazar","bebe\u0301","bebida","bello","besar","beso","bestia","bicho","bien","bingo","blanco","bloque","blusa","boa","bobina","bobo","boca","bocina","boda","bodega","boina","bola","bolero","bolsa","bomba","bondad","bonito","bono","bonsa\u0301i","borde","borrar","bosque","bote","boti\u0301n","bo\u0301veda","bozal","bravo","brazo","brecha","breve","brillo","brinco","brisa","broca","broma","bronce","brote","bruja","brusco","bruto","buceo","bucle","bueno","buey","bufanda","bufo\u0301n","bu\u0301ho","buitre","bulto","burbuja","burla","burro","buscar","butaca","buzo\u0301n","caballo","cabeza","cabina","cabra","cacao","cada\u0301ver","cadena","caer","cafe\u0301","cai\u0301da","caima\u0301n","caja","cajo\u0301n","cal","calamar","calcio","caldo","calidad","calle","calma","calor","calvo","cama","cambio","camello","camino","campo","ca\u0301ncer","candil","canela","canguro","canica","canto","can\u0303a","can\u0303o\u0301n","caoba","caos","capaz","capita\u0301n","capote","captar","capucha","cara","carbo\u0301n","ca\u0301rcel","careta","carga","carin\u0303o","carne","carpeta","carro","carta","casa","casco","casero","caspa","castor","catorce","catre","caudal","causa","cazo","cebolla","ceder","cedro","celda","ce\u0301lebre","celoso","ce\u0301lula","cemento","ceniza","centro","cerca","cerdo","cereza","cero","cerrar","certeza","ce\u0301sped","cetro","chacal","chaleco","champu\u0301","chancla","chapa","charla","chico","chiste","chivo","choque","choza","chuleta","chupar","ciclo\u0301n","ciego","cielo","cien","cierto","cifra","cigarro","cima","cinco","cine","cinta","cipre\u0301s","circo","ciruela","cisne","cita","ciudad","clamor","clan","claro","clase","clave","cliente","clima","cli\u0301nica","cobre","coccio\u0301n","cochino","cocina","coco","co\u0301digo","codo","cofre","coger","cohete","coji\u0301n","cojo","cola","colcha","colegio","colgar","colina","collar","colmo","columna","combate","comer","comida","co\u0301modo","compra","conde","conejo","conga","conocer","consejo","contar","copa","copia","corazo\u0301n","corbata","corcho","cordo\u0301n","corona","correr","coser","cosmos","costa","cra\u0301neo","cra\u0301ter","crear","crecer","crei\u0301do","crema","cri\u0301a","crimen","cripta","crisis","cromo","cro\u0301nica","croqueta","crudo","cruz","cuadro","cuarto","cuatro","cubo","cubrir","cuchara","cuello","cuento","cuerda","cuesta","cueva","cuidar","culebra","culpa","culto","cumbre","cumplir","cuna","cuneta","cuota","cupo\u0301n","cu\u0301pula","curar","curioso","curso","curva","cutis","dama","danza","dar","dardo","da\u0301til","deber","de\u0301bil","de\u0301cada","decir","dedo","defensa","definir","dejar","delfi\u0301n","delgado","delito","demora","denso","dental","deporte","derecho","derrota","desayuno","deseo","desfile","desnudo","destino","desvi\u0301o","detalle","detener","deuda","di\u0301a","diablo","diadema","diamante","diana","diario","dibujo","dictar","diente","dieta","diez","difi\u0301cil","digno","dilema","diluir","dinero","directo","dirigir","disco","disen\u0303o","disfraz","diva","divino","doble","doce","dolor","domingo","don","donar","dorado","dormir","dorso","dos","dosis","drago\u0301n","droga","ducha","duda","duelo","duen\u0303o","dulce","du\u0301o","duque","durar","dureza","duro","e\u0301bano","ebrio","echar","eco","ecuador","edad","edicio\u0301n","edificio","editor","educar","efecto","eficaz","eje","ejemplo","elefante","elegir","elemento","elevar","elipse","e\u0301lite","elixir","elogio","eludir","embudo","emitir","emocio\u0301n","empate","empen\u0303o","empleo","empresa","enano","encargo","enchufe","enci\u0301a","enemigo","enero","enfado","enfermo","engan\u0303o","enigma","enlace","enorme","enredo","ensayo","ensen\u0303ar","entero","entrar","envase","envi\u0301o","e\u0301poca","equipo","erizo","escala","escena","escolar","escribir","escudo","esencia","esfera","esfuerzo","espada","espejo","espi\u0301a","esposa","espuma","esqui\u0301","estar","este","estilo","estufa","etapa","eterno","e\u0301tica","etnia","evadir","evaluar","evento","evitar","exacto","examen","exceso","excusa","exento","exigir","exilio","existir","e\u0301xito","experto","explicar","exponer","extremo","fa\u0301brica","fa\u0301bula","fachada","fa\u0301cil","factor","faena","faja","falda","fallo","falso","faltar","fama","familia","famoso","farao\u0301n","farmacia","farol","farsa","fase","fatiga","fauna","favor","fax","febrero","fecha","feliz","feo","feria","feroz","fe\u0301rtil","fervor","festi\u0301n","fiable","fianza","fiar","fibra","ficcio\u0301n","ficha","fideo","fiebre","fiel","fiera","fiesta","figura","fijar","fijo","fila","filete","filial","filtro","fin","finca","fingir","finito","firma","flaco","flauta","flecha","flor","flota","fluir","flujo","flu\u0301or","fobia","foca","fogata","fogo\u0301n","folio","folleto","fondo","forma","forro","fortuna","forzar","fosa","foto","fracaso","fra\u0301gil","franja","frase","fraude","frei\u0301r","freno","fresa","fri\u0301o","frito","fruta","fuego","fuente","fuerza","fuga","fumar","funcio\u0301n","funda","furgo\u0301n","furia","fusil","fu\u0301tbol","futuro","gacela","gafas","gaita","gajo","gala","galeri\u0301a","gallo","gamba","ganar","gancho","ganga","ganso","garaje","garza","gasolina","gastar","gato","gavila\u0301n","gemelo","gemir","gen","ge\u0301nero","genio","gente","geranio","gerente","germen","gesto","gigante","gimnasio","girar","giro","glaciar","globo","gloria","gol","golfo","goloso","golpe","goma","gordo","gorila","gorra","gota","goteo","gozar","grada","gra\u0301fico","grano","grasa","gratis","grave","grieta","grillo","gripe","gris","grito","grosor","gru\u0301a","grueso","grumo","grupo","guante","guapo","guardia","guerra","gui\u0301a","guin\u0303o","guion","guiso","guitarra","gusano","gustar","haber","ha\u0301bil","hablar","hacer","hacha","hada","hallar","hamaca","harina","haz","hazan\u0303a","hebilla","hebra","hecho","helado","helio","hembra","herir","hermano","he\u0301roe","hervir","hielo","hierro","hi\u0301gado","higiene","hijo","himno","historia","hocico","hogar","hoguera","hoja","hombre","hongo","honor","honra","hora","hormiga","horno","hostil","hoyo","hueco","huelga","huerta","hueso","huevo","huida","huir","humano","hu\u0301medo","humilde","humo","hundir","huraca\u0301n","hurto","icono","ideal","idioma","i\u0301dolo","iglesia","iglu\u0301","igual","ilegal","ilusio\u0301n","imagen","ima\u0301n","imitar","impar","imperio","imponer","impulso","incapaz","i\u0301ndice","inerte","infiel","informe","ingenio","inicio","inmenso","inmune","innato","insecto","instante","intere\u0301s","i\u0301ntimo","intuir","inu\u0301til","invierno","ira","iris","ironi\u0301a","isla","islote","jabali\u0301","jabo\u0301n","jamo\u0301n","jarabe","jardi\u0301n","jarra","jaula","jazmi\u0301n","jefe","jeringa","jinete","jornada","joroba","joven","joya","juerga","jueves","juez","jugador","jugo","juguete","juicio","junco","jungla","junio","juntar","ju\u0301piter","jurar","justo","juvenil","juzgar","kilo","koala","labio","lacio","lacra","lado","ladro\u0301n","lagarto","la\u0301grima","laguna","laico","lamer","la\u0301mina","la\u0301mpara","lana","lancha","langosta","lanza","la\u0301piz","largo","larva","la\u0301stima","lata","la\u0301tex","latir","laurel","lavar","lazo","leal","leccio\u0301n","leche","lector","leer","legio\u0301n","legumbre","lejano","lengua","lento","len\u0303a","leo\u0301n","leopardo","lesio\u0301n","letal","letra","leve","leyenda","libertad","libro","licor","li\u0301der","lidiar","lienzo","liga","ligero","lima","li\u0301mite","limo\u0301n","limpio","lince","lindo","li\u0301nea","lingote","lino","linterna","li\u0301quido","liso","lista","litera","litio","litro","llaga","llama","llanto","llave","llegar","llenar","llevar","llorar","llover","lluvia","lobo","locio\u0301n","loco","locura","lo\u0301gica","logro","lombriz","lomo","lonja","lote","lucha","lucir","lugar","lujo","luna","lunes","lupa","lustro","luto","luz","maceta","macho","madera","madre","maduro","maestro","mafia","magia","mago","mai\u0301z","maldad","maleta","malla","malo","mama\u0301","mambo","mamut","manco","mando","manejar","manga","maniqui\u0301","manjar","mano","manso","manta","man\u0303ana","mapa","ma\u0301quina","mar","marco","marea","marfil","margen","marido","ma\u0301rmol","marro\u0301n","martes","marzo","masa","ma\u0301scara","masivo","matar","materia","matiz","matriz","ma\u0301ximo","mayor","mazorca","mecha","medalla","medio","me\u0301dula","mejilla","mejor","melena","melo\u0301n","memoria","menor","mensaje","mente","menu\u0301","mercado","merengue","me\u0301rito","mes","meso\u0301n","meta","meter","me\u0301todo","metro","mezcla","miedo","miel","miembro","miga","mil","milagro","militar","millo\u0301n","mimo","mina","minero","mi\u0301nimo","minuto","miope","mirar","misa","miseria","misil","mismo","mitad","mito","mochila","mocio\u0301n","moda","modelo","moho","mojar","molde","moler","molino","momento","momia","monarca","moneda","monja","monto","mon\u0303o","morada","morder","moreno","morir","morro","morsa","mortal","mosca","mostrar","motivo","mover","mo\u0301vil","mozo","mucho","mudar","mueble","muela","muerte","muestra","mugre","mujer","mula","muleta","multa","mundo","mun\u0303eca","mural","muro","mu\u0301sculo","museo","musgo","mu\u0301sica","muslo","na\u0301car","nacio\u0301n","nadar","naipe","naranja","nariz","narrar","nasal","natal","nativo","natural","na\u0301usea","naval","nave","navidad","necio","ne\u0301ctar","negar","negocio","negro","neo\u0301n","nervio","neto","neutro","nevar","nevera","nicho","nido","niebla","nieto","nin\u0303ez","nin\u0303o","ni\u0301tido","nivel","nobleza","noche","no\u0301mina","noria","norma","norte","nota","noticia","novato","novela","novio","nube","nuca","nu\u0301cleo","nudillo","nudo","nuera","nueve","nuez","nulo","nu\u0301mero","nutria","oasis","obeso","obispo","objeto","obra","obrero","observar","obtener","obvio","oca","ocaso","oce\u0301ano","ochenta","ocho","ocio","ocre","octavo","octubre","oculto","ocupar","ocurrir","odiar","odio","odisea","oeste","ofensa","oferta","oficio","ofrecer","ogro","oi\u0301do","oi\u0301r","ojo","ola","oleada","olfato","olivo","olla","olmo","olor","olvido","ombligo","onda","onza","opaco","opcio\u0301n","o\u0301pera","opinar","oponer","optar","o\u0301ptica","opuesto","oracio\u0301n","orador","oral","o\u0301rbita","orca","orden","oreja","o\u0301rgano","orgi\u0301a","orgullo","oriente","origen","orilla","oro","orquesta","oruga","osadi\u0301a","oscuro","osezno","oso","ostra","oton\u0303o","otro","oveja","o\u0301vulo","o\u0301xido","oxi\u0301geno","oyente","ozono","pacto","padre","paella","pa\u0301gina","pago","pai\u0301s","pa\u0301jaro","palabra","palco","paleta","pa\u0301lido","palma","paloma","palpar","pan","panal","pa\u0301nico","pantera","pan\u0303uelo","papa\u0301","papel","papilla","paquete","parar","parcela","pared","parir","paro","pa\u0301rpado","parque","pa\u0301rrafo","parte","pasar","paseo","pasio\u0301n","paso","pasta","pata","patio","patria","pausa","pauta","pavo","payaso","peato\u0301n","pecado","pecera","pecho","pedal","pedir","pegar","peine","pelar","peldan\u0303o","pelea","peligro","pellejo","pelo","peluca","pena","pensar","pen\u0303o\u0301n","peo\u0301n","peor","pepino","pequen\u0303o","pera","percha","perder","pereza","perfil","perico","perla","permiso","perro","persona","pesa","pesca","pe\u0301simo","pestan\u0303a","pe\u0301talo","petro\u0301leo","pez","pezun\u0303a","picar","picho\u0301n","pie","piedra","pierna","pieza","pijama","pilar","piloto","pimienta","pino","pintor","pinza","pin\u0303a","piojo","pipa","pirata","pisar","piscina","piso","pista","pito\u0301n","pizca","placa","plan","plata","playa","plaza","pleito","pleno","plomo","pluma","plural","pobre","poco","poder","podio","poema","poesi\u0301a","poeta","polen","polici\u0301a","pollo","polvo","pomada","pomelo","pomo","pompa","poner","porcio\u0301n","portal","posada","poseer","posible","poste","potencia","potro","pozo","prado","precoz","pregunta","premio","prensa","preso","previo","primo","pri\u0301ncipe","prisio\u0301n","privar","proa","probar","proceso","producto","proeza","profesor","programa","prole","promesa","pronto","propio","pro\u0301ximo","prueba","pu\u0301blico","puchero","pudor","pueblo","puerta","puesto","pulga","pulir","pulmo\u0301n","pulpo","pulso","puma","punto","pun\u0303al","pun\u0303o","pupa","pupila","pure\u0301","quedar","queja","quemar","querer","queso","quieto","qui\u0301mica","quince","quitar","ra\u0301bano","rabia","rabo","racio\u0301n","radical","rai\u0301z","rama","rampa","rancho","rango","rapaz","ra\u0301pido","rapto","rasgo","raspa","rato","rayo","raza","razo\u0301n","reaccio\u0301n","realidad","reban\u0303o","rebote","recaer","receta","rechazo","recoger","recreo","recto","recurso","red","redondo","reducir","reflejo","reforma","refra\u0301n","refugio","regalo","regir","regla","regreso","rehe\u0301n","reino","rei\u0301r","reja","relato","relevo","relieve","relleno","reloj","remar","remedio","remo","rencor","rendir","renta","reparto","repetir","reposo","reptil","res","rescate","resina","respeto","resto","resumen","retiro","retorno","retrato","reunir","reve\u0301s","revista","rey","rezar","rico","riego","rienda","riesgo","rifa","ri\u0301gido","rigor","rinco\u0301n","rin\u0303o\u0301n","ri\u0301o","riqueza","risa","ritmo","rito","rizo","roble","roce","rociar","rodar","rodeo","rodilla","roer","rojizo","rojo","romero","romper","ron","ronco","ronda","ropa","ropero","rosa","rosca","rostro","rotar","rubi\u0301","rubor","rudo","rueda","rugir","ruido","ruina","ruleta","rulo","rumbo","rumor","ruptura","ruta","rutina","sa\u0301bado","saber","sabio","sable","sacar","sagaz","sagrado","sala","saldo","salero","salir","salmo\u0301n","salo\u0301n","salsa","salto","salud","salvar","samba","sancio\u0301n","sandi\u0301a","sanear","sangre","sanidad","sano","santo","sapo","saque","sardina","sarte\u0301n","sastre","sata\u0301n","sauna","saxofo\u0301n","seccio\u0301n","seco","secreto","secta","sed","seguir","seis","sello","selva","semana","semilla","senda","sensor","sen\u0303al","sen\u0303or","separar","sepia","sequi\u0301a","ser","serie","sermo\u0301n","servir","sesenta","sesio\u0301n","seta","setenta","severo","sexo","sexto","sidra","siesta","siete","siglo","signo","si\u0301laba","silbar","silencio","silla","si\u0301mbolo","simio","sirena","sistema","sitio","situar","sobre","socio","sodio","sol","solapa","soldado","soledad","so\u0301lido","soltar","solucio\u0301n","sombra","sondeo","sonido","sonoro","sonrisa","sopa","soplar","soporte","sordo","sorpresa","sorteo","soste\u0301n","so\u0301tano","suave","subir","suceso","sudor","suegra","suelo","suen\u0303o","suerte","sufrir","sujeto","sulta\u0301n","sumar","superar","suplir","suponer","supremo","sur","surco","suren\u0303o","surgir","susto","sutil","tabaco","tabique","tabla","tabu\u0301","taco","tacto","tajo","talar","talco","talento","talla","talo\u0301n","taman\u0303o","tambor","tango","tanque","tapa","tapete","tapia","tapo\u0301n","taquilla","tarde","tarea","tarifa","tarjeta","tarot","tarro","tarta","tatuaje","tauro","taza","tazo\u0301n","teatro","techo","tecla","te\u0301cnica","tejado","tejer","tejido","tela","tele\u0301fono","tema","temor","templo","tenaz","tender","tener","tenis","tenso","teori\u0301a","terapia","terco","te\u0301rmino","ternura","terror","tesis","tesoro","testigo","tetera","texto","tez","tibio","tiburo\u0301n","tiempo","tienda","tierra","tieso","tigre","tijera","tilde","timbre","ti\u0301mido","timo","tinta","ti\u0301o","ti\u0301pico","tipo","tira","tiro\u0301n","tita\u0301n","ti\u0301tere","ti\u0301tulo","tiza","toalla","tobillo","tocar","tocino","todo","toga","toldo","tomar","tono","tonto","topar","tope","toque","to\u0301rax","torero","tormenta","torneo","toro","torpedo","torre","torso","tortuga","tos","tosco","toser","to\u0301xico","trabajo","tractor","traer","tra\u0301fico","trago","traje","tramo","trance","trato","trauma","trazar","tre\u0301bol","tregua","treinta","tren","trepar","tres","tribu","trigo","tripa","triste","triunfo","trofeo","trompa","tronco","tropa","trote","trozo","truco","trueno","trufa","tuberi\u0301a","tubo","tuerto","tumba","tumor","tu\u0301nel","tu\u0301nica","turbina","turismo","turno","tutor","ubicar","u\u0301lcera","umbral","unidad","unir","universo","uno","untar","un\u0303a","urbano","urbe","urgente","urna","usar","usuario","u\u0301til","utopi\u0301a","uva","vaca","vaci\u0301o","vacuna","vagar","vago","vaina","vajilla","vale","va\u0301lido","valle","valor","va\u0301lvula","vampiro","vara","variar","varo\u0301n","vaso","vecino","vector","vehi\u0301culo","veinte","vejez","vela","velero","veloz","vena","vencer","venda","veneno","vengar","venir","venta","venus","ver","verano","verbo","verde","vereda","verja","verso","verter","vi\u0301a","viaje","vibrar","vicio","vi\u0301ctima","vida","vi\u0301deo","vidrio","viejo","viernes","vigor","vil","villa","vinagre","vino","vin\u0303edo","violi\u0301n","viral","virgo","virtud","visor","vi\u0301spera","vista","vitamina","viudo","vivaz","vivero","vivir","vivo","volca\u0301n","volumen","volver","voraz","votar","voto","voz","vuelo","vulgar","yacer","yate","yegua","yema","yerno","yeso","yodo","yoga","yogur","zafiro","zanja","zapato","zarza","zona","zorro","zumo","zurdo"]'), PF = JSON.parse('["\u3042\u3044\u3053\u304F\u3057\u3093","\u3042\u3044\u3055\u3064","\u3042\u3044\u305F\u3099","\u3042\u304A\u305D\u3099\u3089","\u3042\u304B\u3061\u3083\u3093","\u3042\u304D\u308B","\u3042\u3051\u304B\u3099\u305F","\u3042\u3051\u308B","\u3042\u3053\u304B\u3099\u308C\u308B","\u3042\u3055\u3044","\u3042\u3055\u3072","\u3042\u3057\u3042\u3068","\u3042\u3057\u3099\u308F\u3046","\u3042\u3059\u3099\u304B\u308B","\u3042\u3059\u3099\u304D","\u3042\u305D\u3075\u3099","\u3042\u305F\u3048\u308B","\u3042\u305F\u305F\u3081\u308B","\u3042\u305F\u308A\u307E\u3048","\u3042\u305F\u308B","\u3042\u3064\u3044","\u3042\u3064\u304B\u3046","\u3042\u3063\u3057\u3085\u304F","\u3042\u3064\u307E\u308A","\u3042\u3064\u3081\u308B","\u3042\u3066\u306A","\u3042\u3066\u306F\u307E\u308B","\u3042\u3072\u308B","\u3042\u3075\u3099\u3089","\u3042\u3075\u3099\u308B","\u3042\u3075\u308C\u308B","\u3042\u307E\u3044","\u3042\u307E\u3068\u3099","\u3042\u307E\u3084\u304B\u3059","\u3042\u307E\u308A","\u3042\u307F\u3082\u306E","\u3042\u3081\u308A\u304B","\u3042\u3084\u307E\u308B","\u3042\u3086\u3080","\u3042\u3089\u3044\u304F\u3099\u307E","\u3042\u3089\u3057","\u3042\u3089\u3059\u3057\u3099","\u3042\u3089\u305F\u3081\u308B","\u3042\u3089\u3086\u308B","\u3042\u3089\u308F\u3059","\u3042\u308A\u304B\u3099\u3068\u3046","\u3042\u308F\u305B\u308B","\u3042\u308F\u3066\u308B","\u3042\u3093\u3044","\u3042\u3093\u304B\u3099\u3044","\u3042\u3093\u3053","\u3042\u3093\u305B\u3099\u3093","\u3042\u3093\u3066\u3044","\u3042\u3093\u306A\u3044","\u3042\u3093\u307E\u308A","\u3044\u3044\u305F\u3099\u3059","\u3044\u304A\u3093","\u3044\u304B\u3099\u3044","\u3044\u304B\u3099\u304F","\u3044\u304D\u304A\u3044","\u3044\u304D\u306A\u308A","\u3044\u304D\u3082\u306E","\u3044\u304D\u308B","\u3044\u304F\u3057\u3099","\u3044\u304F\u3075\u3099\u3093","\u3044\u3051\u306F\u3099\u306A","\u3044\u3051\u3093","\u3044\u3053\u3046","\u3044\u3053\u304F","\u3044\u3053\u3064","\u3044\u3055\u307E\u3057\u3044","\u3044\u3055\u3093","\u3044\u3057\u304D","\u3044\u3057\u3099\u3085\u3046","\u3044\u3057\u3099\u3087\u3046","\u3044\u3057\u3099\u308F\u308B","\u3044\u3059\u3099\u307F","\u3044\u3059\u3099\u308C","\u3044\u305B\u3044","\u3044\u305B\u3048\u3072\u3099","\u3044\u305B\u304B\u3044","\u3044\u305B\u304D","\u3044\u305B\u3099\u3093","\u3044\u305D\u3046\u308D\u3046","\u3044\u305D\u304B\u3099\u3057\u3044","\u3044\u305F\u3099\u3044","\u3044\u305F\u3099\u304F","\u3044\u305F\u3059\u3099\u3089","\u3044\u305F\u307F","\u3044\u305F\u308A\u3042","\u3044\u3061\u304A\u3046","\u3044\u3061\u3057\u3099","\u3044\u3061\u3068\u3099","\u3044\u3061\u306F\u3099","\u3044\u3061\u3075\u3099","\u3044\u3061\u308A\u3085\u3046","\u3044\u3064\u304B","\u3044\u3063\u3057\u3085\u3093","\u3044\u3063\u305B\u3044","\u3044\u3063\u305D\u3046","\u3044\u3063\u305F\u3093","\u3044\u3063\u3061","\u3044\u3063\u3066\u3044","\u3044\u3063\u307B\u309A\u3046","\u3044\u3066\u3055\u3099","\u3044\u3066\u3093","\u3044\u3068\u3099\u3046","\u3044\u3068\u3053","\u3044\u306A\u3044","\u3044\u306A\u304B","\u3044\u306D\u3080\u308A","\u3044\u306E\u3061","\u3044\u306E\u308B","\u3044\u306F\u3064","\u3044\u306F\u3099\u308B","\u3044\u306F\u3093","\u3044\u3072\u3099\u304D","\u3044\u3072\u3093","\u3044\u3075\u304F","\u3044\u3078\u3093","\u3044\u307B\u3046","\u3044\u307F\u3093","\u3044\u3082\u3046\u3068","\u3044\u3082\u305F\u308C","\u3044\u3082\u308A","\u3044\u3084\u304B\u3099\u308B","\u3044\u3084\u3059","\u3044\u3088\u304B\u3093","\u3044\u3088\u304F","\u3044\u3089\u3044","\u3044\u3089\u3059\u3068","\u3044\u308A\u304F\u3099\u3061","\u3044\u308A\u3087\u3046","\u3044\u308C\u3044","\u3044\u308C\u3082\u306E","\u3044\u308C\u308B","\u3044\u308D\u3048\u3093\u3072\u309A\u3064","\u3044\u308F\u3044","\u3044\u308F\u3046","\u3044\u308F\u304B\u3093","\u3044\u308F\u306F\u3099","\u3044\u308F\u3086\u308B","\u3044\u3093\u3051\u3099\u3093\u307E\u3081","\u3044\u3093\u3055\u3064","\u3044\u3093\u3057\u3087\u3046","\u3044\u3093\u3088\u3046","\u3046\u3048\u304D","\u3046\u3048\u308B","\u3046\u304A\u3055\u3099","\u3046\u304B\u3099\u3044","\u3046\u304B\u3075\u3099","\u3046\u304B\u3078\u3099\u308B","\u3046\u304D\u308F","\u3046\u304F\u3089\u3044\u306A","\u3046\u304F\u308C\u308C","\u3046\u3051\u305F\u307E\u308F\u308B","\u3046\u3051\u3064\u3051","\u3046\u3051\u3068\u308B","\u3046\u3051\u3082\u3064","\u3046\u3051\u308B","\u3046\u3053\u3099\u304B\u3059","\u3046\u3053\u3099\u304F","\u3046\u3053\u3093","\u3046\u3055\u304D\u3099","\u3046\u3057\u306A\u3046","\u3046\u3057\u308D\u304B\u3099\u307F","\u3046\u3059\u3044","\u3046\u3059\u304D\u3099","\u3046\u3059\u304F\u3099\u3089\u3044","\u3046\u3059\u3081\u308B","\u3046\u305B\u3064","\u3046\u3061\u3042\u308F\u305B","\u3046\u3061\u304B\u3099\u308F","\u3046\u3061\u304D","\u3046\u3061\u3085\u3046","\u3046\u3063\u304B\u308A","\u3046\u3064\u304F\u3057\u3044","\u3046\u3063\u305F\u3048\u308B","\u3046\u3064\u308B","\u3046\u3068\u3099\u3093","\u3046\u306A\u304D\u3099","\u3046\u306A\u3057\u3099","\u3046\u306A\u3059\u3099\u304F","\u3046\u306A\u308B","\u3046\u306D\u308B","\u3046\u306E\u3046","\u3046\u3075\u3099\u3051\u3099","\u3046\u3075\u3099\u3053\u3099\u3048","\u3046\u307E\u308C\u308B","\u3046\u3081\u308B","\u3046\u3082\u3046","\u3046\u3084\u307E\u3046","\u3046\u3088\u304F","\u3046\u3089\u304B\u3099\u3048\u3059","\u3046\u3089\u304F\u3099\u3061","\u3046\u3089\u306A\u3044","\u3046\u308A\u3042\u3051\u3099","\u3046\u308A\u304D\u308C","\u3046\u308B\u3055\u3044","\u3046\u308C\u3057\u3044","\u3046\u308C\u3086\u304D","\u3046\u308C\u308B","\u3046\u308D\u3053","\u3046\u308F\u304D","\u3046\u308F\u3055","\u3046\u3093\u3053\u3046","\u3046\u3093\u3061\u3093","\u3046\u3093\u3066\u3093","\u3046\u3093\u3068\u3099\u3046","\u3048\u3044\u3048\u3093","\u3048\u3044\u304B\u3099","\u3048\u3044\u304D\u3087\u3046","\u3048\u3044\u3053\u3099","\u3048\u3044\u305B\u3044","\u3048\u3044\u3075\u3099\u3093","\u3048\u3044\u3088\u3046","\u3048\u3044\u308F","\u3048\u304A\u308A","\u3048\u304B\u3099\u304A","\u3048\u304B\u3099\u304F","\u3048\u304D\u305F\u3044","\u3048\u304F\u305B\u308B","\u3048\u3057\u3083\u304F","\u3048\u3059\u3066","\u3048\u3064\u3089\u3093","\u3048\u306E\u304F\u3099","\u3048\u307B\u3046\u307E\u304D","\u3048\u307B\u3093","\u3048\u307E\u304D","\u3048\u3082\u3057\u3099","\u3048\u3082\u306E","\u3048\u3089\u3044","\u3048\u3089\u3075\u3099","\u3048\u308A\u3042","\u3048\u3093\u3048\u3093","\u3048\u3093\u304B\u3044","\u3048\u3093\u304D\u3099","\u3048\u3093\u3051\u3099\u304D","\u3048\u3093\u3057\u3085\u3046","\u3048\u3093\u305B\u3099\u3064","\u3048\u3093\u305D\u304F","\u3048\u3093\u3061\u3087\u3046","\u3048\u3093\u3068\u3064","\u304A\u3044\u304B\u3051\u308B","\u304A\u3044\u3053\u3059","\u304A\u3044\u3057\u3044","\u304A\u3044\u3064\u304F","\u304A\u3046\u3048\u3093","\u304A\u3046\u3055\u307E","\u304A\u3046\u3057\u3099","\u304A\u3046\u305B\u3064","\u304A\u3046\u305F\u3044","\u304A\u3046\u3075\u304F","\u304A\u3046\u3078\u3099\u3044","\u304A\u3046\u3088\u3046","\u304A\u3048\u308B","\u304A\u304A\u3044","\u304A\u304A\u3046","\u304A\u304A\u3068\u3099\u304A\u308A","\u304A\u304A\u3084","\u304A\u304A\u3088\u305D","\u304A\u304B\u3048\u308A","\u304A\u304B\u3059\u3099","\u304A\u304B\u3099\u3080","\u304A\u304B\u308F\u308A","\u304A\u304D\u3099\u306A\u3046","\u304A\u304D\u308B","\u304A\u304F\u3055\u307E","\u304A\u304F\u3057\u3099\u3087\u3046","\u304A\u304F\u308A\u304B\u3099\u306A","\u304A\u304F\u308B","\u304A\u304F\u308C\u308B","\u304A\u3053\u3059","\u304A\u3053\u306A\u3046","\u304A\u3053\u308B","\u304A\u3055\u3048\u308B","\u304A\u3055\u306A\u3044","\u304A\u3055\u3081\u308B","\u304A\u3057\u3044\u308C","\u304A\u3057\u3048\u308B","\u304A\u3057\u3099\u304D\u3099","\u304A\u3057\u3099\u3055\u3093","\u304A\u3057\u3083\u308C","\u304A\u305D\u3089\u304F","\u304A\u305D\u308F\u308B","\u304A\u305F\u304B\u3099\u3044","\u304A\u305F\u304F","\u304A\u305F\u3099\u3084\u304B","\u304A\u3061\u3064\u304F","\u304A\u3063\u3068","\u304A\u3064\u308A","\u304A\u3066\u3099\u304B\u3051","\u304A\u3068\u3057\u3082\u306E","\u304A\u3068\u306A\u3057\u3044","\u304A\u3068\u3099\u308A","\u304A\u3068\u3099\u308D\u304B\u3059","\u304A\u306F\u3099\u3055\u3093","\u304A\u307E\u3044\u308A","\u304A\u3081\u3066\u3099\u3068\u3046","\u304A\u3082\u3044\u3066\u3099","\u304A\u3082\u3046","\u304A\u3082\u305F\u3044","\u304A\u3082\u3061\u3083","\u304A\u3084\u3064","\u304A\u3084\u3086\u3072\u3099","\u304A\u3088\u307B\u3099\u3059","\u304A\u3089\u3093\u305F\u3099","\u304A\u308D\u3059","\u304A\u3093\u304B\u3099\u304F","\u304A\u3093\u3051\u3044","\u304A\u3093\u3057\u3083","\u304A\u3093\u305B\u3093","\u304A\u3093\u305F\u3099\u3093","\u304A\u3093\u3061\u3085\u3046","\u304A\u3093\u3068\u3099\u3051\u3044","\u304B\u3042\u3064","\u304B\u3044\u304B\u3099","\u304B\u3099\u3044\u304D","\u304B\u3099\u3044\u3051\u3093","\u304B\u3099\u3044\u3053\u3046","\u304B\u3044\u3055\u3064","\u304B\u3044\u3057\u3083","\u304B\u3044\u3059\u3044\u3088\u304F","\u304B\u3044\u305B\u3099\u3093","\u304B\u3044\u305D\u3099\u3046\u3068\u3099","\u304B\u3044\u3064\u3046","\u304B\u3044\u3066\u3093","\u304B\u3044\u3068\u3046","\u304B\u3044\u3075\u304F","\u304B\u3099\u3044\u3078\u304D","\u304B\u3044\u307B\u3046","\u304B\u3044\u3088\u3046","\u304B\u3099\u3044\u3089\u3044","\u304B\u3044\u308F","\u304B\u3048\u308B","\u304B\u304A\u308A","\u304B\u304B\u3048\u308B","\u304B\u304B\u3099\u304F","\u304B\u304B\u3099\u3057","\u304B\u304B\u3099\u307F","\u304B\u304F\u3053\u3099","\u304B\u304F\u3068\u304F","\u304B\u3055\u3099\u308B","\u304B\u3099\u305D\u3099\u3046","\u304B\u305F\u3044","\u304B\u305F\u3061","\u304B\u3099\u3061\u3087\u3046","\u304B\u3099\u3063\u304D\u3085\u3046","\u304B\u3099\u3063\u3053\u3046","\u304B\u3099\u3063\u3055\u3093","\u304B\u3099\u3063\u3057\u3087\u3046","\u304B\u306A\u3055\u3099\u308F\u3057","\u304B\u306E\u3046","\u304B\u3099\u306F\u304F","\u304B\u3075\u3099\u304B","\u304B\u307B\u3046","\u304B\u307B\u3053\u3099","\u304B\u307E\u3046","\u304B\u307E\u307B\u3099\u3053","\u304B\u3081\u308C\u304A\u3093","\u304B\u3086\u3044","\u304B\u3088\u3046\u3072\u3099","\u304B\u3089\u3044","\u304B\u308B\u3044","\u304B\u308D\u3046","\u304B\u308F\u304F","\u304B\u308F\u3089","\u304B\u3099\u3093\u304B","\u304B\u3093\u3051\u3044","\u304B\u3093\u3053\u3046","\u304B\u3093\u3057\u3083","\u304B\u3093\u305D\u3046","\u304B\u3093\u305F\u3093","\u304B\u3093\u3061","\u304B\u3099\u3093\u306F\u3099\u308B","\u304D\u3042\u3044","\u304D\u3042\u3064","\u304D\u3044\u308D","\u304D\u3099\u3044\u3093","\u304D\u3046\u3044","\u304D\u3046\u3093","\u304D\u3048\u308B","\u304D\u304A\u3046","\u304D\u304A\u304F","\u304D\u304A\u3061","\u304D\u304A\u3093","\u304D\u304B\u3044","\u304D\u304B\u304F","\u304D\u304B\u3093\u3057\u3083","\u304D\u304D\u3066","\u304D\u304F\u306F\u3099\u308A","\u304D\u304F\u3089\u3051\u3099","\u304D\u3051\u3093\u305B\u3044","\u304D\u3053\u3046","\u304D\u3053\u3048\u308B","\u304D\u3053\u304F","\u304D\u3055\u3044","\u304D\u3055\u304F","\u304D\u3055\u307E","\u304D\u3055\u3089\u304D\u3099","\u304D\u3099\u3057\u3099\u304B\u304B\u3099\u304F","\u304D\u3099\u3057\u304D","\u304D\u3099\u3057\u3099\u305F\u3044\u3051\u3093","\u304D\u3099\u3057\u3099\u306B\u3063\u3066\u3044","\u304D\u3099\u3057\u3099\u3085\u3064\u3057\u3083","\u304D\u3059\u3046","\u304D\u305B\u3044","\u304D\u305B\u304D","\u304D\u305B\u3064","\u304D\u305D\u3046","\u304D\u305D\u3099\u304F","\u304D\u305D\u3099\u3093","\u304D\u305F\u3048\u308B","\u304D\u3061\u3087\u3046","\u304D\u3064\u3048\u3093","\u304D\u3099\u3063\u3061\u308A","\u304D\u3064\u3064\u304D","\u304D\u3064\u306D","\u304D\u3066\u3044","\u304D\u3068\u3099\u3046","\u304D\u3068\u3099\u304F","\u304D\u306A\u3044","\u304D\u306A\u304B\u3099","\u304D\u306A\u3053","\u304D\u306C\u3053\u3099\u3057","\u304D\u306D\u3093","\u304D\u306E\u3046","\u304D\u306E\u3057\u305F","\u304D\u306F\u304F","\u304D\u3072\u3099\u3057\u3044","\u304D\u3072\u3093","\u304D\u3075\u304F","\u304D\u3075\u3099\u3093","\u304D\u307B\u3099\u3046","\u304D\u307B\u3093","\u304D\u307E\u308B","\u304D\u307F\u3064","\u304D\u3080\u3059\u3099\u304B\u3057\u3044","\u304D\u3081\u308B","\u304D\u3082\u305F\u3099\u3081\u3057","\u304D\u3082\u3061","\u304D\u3082\u306E","\u304D\u3083\u304F","\u304D\u3084\u304F","\u304D\u3099\u3085\u3046\u306B\u304F","\u304D\u3088\u3046","\u304D\u3087\u3046\u308A\u3085\u3046","\u304D\u3089\u3044","\u304D\u3089\u304F","\u304D\u308A\u3093","\u304D\u308C\u3044","\u304D\u308C\u3064","\u304D\u308D\u304F","\u304D\u3099\u308D\u3093","\u304D\u308F\u3081\u308B","\u304D\u3099\u3093\u3044\u308D","\u304D\u3093\u304B\u304F\u3057\u3099","\u304D\u3093\u3057\u3099\u3087","\u304D\u3093\u3088\u3046\u3072\u3099","\u304F\u3099\u3042\u3044","\u304F\u3044\u3059\u3099","\u304F\u3046\u304B\u3093","\u304F\u3046\u304D","\u304F\u3046\u304F\u3099\u3093","\u304F\u3046\u3053\u3046","\u304F\u3099\u3046\u305B\u3044","\u304F\u3046\u305D\u3046","\u304F\u3099\u3046\u305F\u3089","\u304F\u3046\u3075\u304F","\u304F\u3046\u307B\u3099","\u304F\u304B\u3093","\u304F\u304D\u3087\u3046","\u304F\u3051\u3099\u3093","\u304F\u3099\u3053\u3046","\u304F\u3055\u3044","\u304F\u3055\u304D","\u304F\u3055\u306F\u3099\u306A","\u304F\u3055\u308B","\u304F\u3057\u3083\u307F","\u304F\u3057\u3087\u3046","\u304F\u3059\u306E\u304D","\u304F\u3059\u308A\u3086\u3072\u3099","\u304F\u305B\u3051\u3099","\u304F\u305B\u3093","\u304F\u3099\u305F\u3044\u3066\u304D","\u304F\u305F\u3099\u3055\u308B","\u304F\u305F\u3072\u3099\u308C\u308B","\u304F\u3061\u3053\u307F","\u304F\u3061\u3055\u304D","\u304F\u3064\u3057\u305F","\u304F\u3099\u3063\u3059\u308A","\u304F\u3064\u308D\u304F\u3099","\u304F\u3068\u3046\u3066\u3093","\u304F\u3068\u3099\u304F","\u304F\u306A\u3093","\u304F\u306D\u304F\u306D","\u304F\u306E\u3046","\u304F\u3075\u3046","\u304F\u307F\u3042\u308F\u305B","\u304F\u307F\u305F\u3066\u308B","\u304F\u3081\u308B","\u304F\u3084\u304F\u3057\u3087","\u304F\u3089\u3059","\u304F\u3089\u3078\u3099\u308B","\u304F\u308B\u307E","\u304F\u308C\u308B","\u304F\u308D\u3046","\u304F\u308F\u3057\u3044","\u304F\u3099\u3093\u304B\u3093","\u304F\u3099\u3093\u3057\u3087\u304F","\u304F\u3099\u3093\u305F\u3044","\u304F\u3099\u3093\u3066","\u3051\u3042\u306A","\u3051\u3044\u304B\u304F","\u3051\u3044\u3051\u3093","\u3051\u3044\u3053","\u3051\u3044\u3055\u3064","\u3051\u3099\u3044\u3057\u3099\u3085\u3064","\u3051\u3044\u305F\u3044","\u3051\u3099\u3044\u306E\u3046\u3057\u3099\u3093","\u3051\u3044\u308C\u304D","\u3051\u3044\u308D","\u3051\u304A\u3068\u3059","\u3051\u304A\u308A\u3082\u306E","\u3051\u3099\u304D\u304B","\u3051\u3099\u304D\u3051\u3099\u3093","\u3051\u3099\u304D\u305F\u3099\u3093","\u3051\u3099\u304D\u3061\u3093","\u3051\u3099\u304D\u3068\u3064","\u3051\u3099\u304D\u306F","\u3051\u3099\u304D\u3084\u304F","\u3051\u3099\u3053\u3046","\u3051\u3099\u3053\u304F\u3057\u3099\u3087\u3046","\u3051\u3099\u3055\u3099\u3044","\u3051\u3055\u304D","\u3051\u3099\u3055\u3099\u3093","\u3051\u3057\u304D","\u3051\u3057\u3053\u3099\u3080","\u3051\u3057\u3087\u3046","\u3051\u3099\u3059\u3068","\u3051\u305F\u306F\u3099","\u3051\u3061\u3083\u3063\u3075\u309A","\u3051\u3061\u3089\u3059","\u3051\u3064\u3042\u3064","\u3051\u3064\u3044","\u3051\u3064\u3048\u304D","\u3051\u3063\u3053\u3093","\u3051\u3064\u3057\u3099\u3087","\u3051\u3063\u305B\u304D","\u3051\u3063\u3066\u3044","\u3051\u3064\u307E\u3064","\u3051\u3099\u3064\u3088\u3046\u3072\u3099","\u3051\u3099\u3064\u308C\u3044","\u3051\u3064\u308D\u3093","\u3051\u3099\u3068\u3099\u304F","\u3051\u3068\u306F\u3099\u3059","\u3051\u3068\u308B","\u3051\u306A\u3051\u3099","\u3051\u306A\u3059","\u3051\u306A\u307F","\u3051\u306C\u304D","\u3051\u3099\u306D\u3064","\u3051\u306D\u3093","\u3051\u306F\u3044","\u3051\u3099\u3072\u3093","\u3051\u3075\u3099\u304B\u3044","\u3051\u3099\u307B\u3099\u304F","\u3051\u307E\u308A","\u3051\u307F\u304B\u308B","\u3051\u3080\u3057","\u3051\u3080\u308A","\u3051\u3082\u306E","\u3051\u3089\u3044","\u3051\u308D\u3051\u308D","\u3051\u308F\u3057\u3044","\u3051\u3093\u3044","\u3051\u3093\u3048\u3064","\u3051\u3093\u304A","\u3051\u3093\u304B","\u3051\u3099\u3093\u304D","\u3051\u3093\u3051\u3099\u3093","\u3051\u3093\u3053\u3046","\u3051\u3093\u3055\u304F","\u3051\u3093\u3057\u3085\u3046","\u3051\u3093\u3059\u3046","\u3051\u3099\u3093\u305D\u3046","\u3051\u3093\u3061\u304F","\u3051\u3093\u3066\u3044","\u3051\u3093\u3068\u3046","\u3051\u3093\u306A\u3044","\u3051\u3093\u306B\u3093","\u3051\u3099\u3093\u3075\u3099\u3064","\u3051\u3093\u307E","\u3051\u3093\u307F\u3093","\u3051\u3093\u3081\u3044","\u3051\u3093\u3089\u3093","\u3051\u3093\u308A","\u3053\u3042\u304F\u307E","\u3053\u3044\u306C","\u3053\u3044\u3072\u3099\u3068","\u3053\u3099\u3046\u3044","\u3053\u3046\u3048\u3093","\u3053\u3046\u304A\u3093","\u3053\u3046\u304B\u3093","\u3053\u3099\u3046\u304D\u3085\u3046","\u3053\u3099\u3046\u3051\u3044","\u3053\u3046\u3053\u3046","\u3053\u3046\u3055\u3044","\u3053\u3046\u3057\u3099","\u3053\u3046\u3059\u3044","\u3053\u3099\u3046\u305B\u3044","\u3053\u3046\u305D\u304F","\u3053\u3046\u305F\u3044","\u3053\u3046\u3061\u3083","\u3053\u3046\u3064\u3046","\u3053\u3046\u3066\u3044","\u3053\u3046\u3068\u3099\u3046","\u3053\u3046\u306A\u3044","\u3053\u3046\u306F\u3044","\u3053\u3099\u3046\u307B\u3046","\u3053\u3099\u3046\u307E\u3093","\u3053\u3046\u3082\u304F","\u3053\u3046\u308A\u3064","\u3053\u3048\u308B","\u3053\u304A\u308A","\u3053\u3099\u304B\u3044","\u3053\u3099\u304B\u3099\u3064","\u3053\u3099\u304B\u3093","\u3053\u304F\u3053\u3099","\u3053\u304F\u3055\u3044","\u3053\u304F\u3068\u3046","\u3053\u304F\u306A\u3044","\u3053\u304F\u306F\u304F","\u3053\u304F\u3099\u307E","\u3053\u3051\u3044","\u3053\u3051\u308B","\u3053\u3053\u306E\u304B","\u3053\u3053\u308D","\u3053\u3055\u3081","\u3053\u3057\u3064","\u3053\u3059\u3046","\u3053\u305B\u3044","\u3053\u305B\u304D","\u3053\u305B\u3099\u3093","\u3053\u305D\u305F\u3099\u3066","\u3053\u305F\u3044","\u3053\u305F\u3048\u308B","\u3053\u305F\u3064","\u3053\u3061\u3087\u3046","\u3053\u3063\u304B","\u3053\u3064\u3053\u3064","\u3053\u3064\u306F\u3099\u3093","\u3053\u3064\u3075\u3099","\u3053\u3066\u3044","\u3053\u3066\u3093","\u3053\u3068\u304B\u3099\u3089","\u3053\u3068\u3057","\u3053\u3068\u306F\u3099","\u3053\u3068\u308A","\u3053\u306A\u3053\u3099\u306A","\u3053\u306D\u3053\u306D","\u3053\u306E\u307E\u307E","\u3053\u306E\u307F","\u3053\u306E\u3088","\u3053\u3099\u306F\u3093","\u3053\u3072\u3064\u3057\u3099","\u3053\u3075\u3046","\u3053\u3075\u3093","\u3053\u307B\u3099\u308C\u308B","\u3053\u3099\u307E\u3042\u3075\u3099\u3089","\u3053\u307E\u304B\u3044","\u3053\u3099\u307E\u3059\u308A","\u3053\u307E\u3064\u306A","\u3053\u307E\u308B","\u3053\u3080\u304D\u3099\u3053","\u3053\u3082\u3057\u3099","\u3053\u3082\u3061","\u3053\u3082\u306E","\u3053\u3082\u3093","\u3053\u3084\u304F","\u3053\u3084\u307E","\u3053\u3086\u3046","\u3053\u3086\u3072\u3099","\u3053\u3088\u3044","\u3053\u3088\u3046","\u3053\u308A\u308B","\u3053\u308C\u304F\u3057\u3087\u3093","\u3053\u308D\u3063\u3051","\u3053\u308F\u3082\u3066","\u3053\u308F\u308C\u308B","\u3053\u3093\u3044\u3093","\u3053\u3093\u304B\u3044","\u3053\u3093\u304D","\u3053\u3093\u3057\u3085\u3046","\u3053\u3093\u3059\u3044","\u3053\u3093\u305F\u3099\u3066","\u3053\u3093\u3068\u3093","\u3053\u3093\u306A\u3093","\u3053\u3093\u3072\u3099\u306B","\u3053\u3093\u307B\u309A\u3093","\u3053\u3093\u307E\u3051","\u3053\u3093\u3084","\u3053\u3093\u308C\u3044","\u3053\u3093\u308F\u304F","\u3055\u3099\u3044\u3048\u304D","\u3055\u3044\u304B\u3044","\u3055\u3044\u304D\u3093","\u3055\u3099\u3044\u3051\u3099\u3093","\u3055\u3099\u3044\u3053","\u3055\u3044\u3057\u3087","\u3055\u3044\u305B\u3044","\u3055\u3099\u3044\u305F\u304F","\u3055\u3099\u3044\u3061\u3085\u3046","\u3055\u3044\u3066\u304D","\u3055\u3099\u3044\u308A\u3087\u3046","\u3055\u3046\u306A","\u3055\u304B\u3044\u3057","\u3055\u304B\u3099\u3059","\u3055\u304B\u306A","\u3055\u304B\u307F\u3061","\u3055\u304B\u3099\u308B","\u3055\u304D\u3099\u3087\u3046","\u3055\u304F\u3057","\u3055\u304F\u3072\u3093","\u3055\u304F\u3089","\u3055\u3053\u304F","\u3055\u3053\u3064","\u3055\u3059\u3099\u304B\u308B","\u3055\u3099\u305B\u304D","\u3055\u305F\u3093","\u3055\u3064\u3048\u3044","\u3055\u3099\u3064\u304A\u3093","\u3055\u3099\u3063\u304B","\u3055\u3099\u3064\u304B\u3099\u304F","\u3055\u3063\u304D\u3087\u304F","\u3055\u3099\u3063\u3057","\u3055\u3064\u3057\u3099\u3093","\u3055\u3099\u3063\u305D\u3046","\u3055\u3064\u305F\u306F\u3099","\u3055\u3064\u307E\u3044\u3082","\u3055\u3066\u3044","\u3055\u3068\u3044\u3082","\u3055\u3068\u3046","\u3055\u3068\u304A\u3084","\u3055\u3068\u3057","\u3055\u3068\u308B","\u3055\u306E\u3046","\u3055\u306F\u3099\u304F","\u3055\u3072\u3099\u3057\u3044","\u3055\u3078\u3099\u3064","\u3055\u307B\u3046","\u3055\u307B\u3068\u3099","\u3055\u307E\u3059","\u3055\u307F\u3057\u3044","\u3055\u307F\u305F\u3099\u308C","\u3055\u3080\u3051","\u3055\u3081\u308B","\u3055\u3084\u3048\u3093\u3068\u3099\u3046","\u3055\u3086\u3046","\u3055\u3088\u3046","\u3055\u3088\u304F","\u3055\u3089\u305F\u3099","\u3055\u3099\u308B\u305D\u306F\u3099","\u3055\u308F\u3084\u304B","\u3055\u308F\u308B","\u3055\u3093\u3044\u3093","\u3055\u3093\u304B","\u3055\u3093\u304D\u3083\u304F","\u3055\u3093\u3053\u3046","\u3055\u3093\u3055\u3044","\u3055\u3099\u3093\u3057\u3087","\u3055\u3093\u3059\u3046","\u3055\u3093\u305B\u3044","\u3055\u3093\u305D","\u3055\u3093\u3061","\u3055\u3093\u307E","\u3055\u3093\u307F","\u3055\u3093\u3089\u3093","\u3057\u3042\u3044","\u3057\u3042\u3051\u3099","\u3057\u3042\u3055\u3063\u3066","\u3057\u3042\u308F\u305B","\u3057\u3044\u304F","\u3057\u3044\u3093","\u3057\u3046\u3061","\u3057\u3048\u3044","\u3057\u304A\u3051","\u3057\u304B\u3044","\u3057\u304B\u304F","\u3057\u3099\u304B\u3093","\u3057\u3053\u3099\u3068","\u3057\u3059\u3046","\u3057\u3099\u305F\u3099\u3044","\u3057\u305F\u3046\u3051","\u3057\u305F\u304D\u3099","\u3057\u305F\u3066","\u3057\u305F\u307F","\u3057\u3061\u3087\u3046","\u3057\u3061\u308A\u3093","\u3057\u3063\u304B\u308A","\u3057\u3064\u3057\u3099","\u3057\u3064\u3082\u3093","\u3057\u3066\u3044","\u3057\u3066\u304D","\u3057\u3066\u3064","\u3057\u3099\u3066\u3093","\u3057\u3099\u3068\u3099\u3046","\u3057\u306A\u304D\u3099\u308C","\u3057\u306A\u3082\u306E","\u3057\u306A\u3093","\u3057\u306D\u307E","\u3057\u306D\u3093","\u3057\u306E\u304F\u3099","\u3057\u306E\u3075\u3099","\u3057\u306F\u3044","\u3057\u306F\u3099\u304B\u308A","\u3057\u306F\u3064","\u3057\u306F\u3089\u3044","\u3057\u306F\u3093","\u3057\u3072\u3087\u3046","\u3057\u3075\u304F","\u3057\u3099\u3075\u3099\u3093","\u3057\u3078\u3044","\u3057\u307B\u3046","\u3057\u307B\u3093","\u3057\u307E\u3046","\u3057\u307E\u308B","\u3057\u307F\u3093","\u3057\u3080\u3051\u308B","\u3057\u3099\u3080\u3057\u3087","\u3057\u3081\u3044","\u3057\u3081\u308B","\u3057\u3082\u3093","\u3057\u3083\u3044\u3093","\u3057\u3083\u3046\u3093","\u3057\u3083\u304A\u3093","\u3057\u3099\u3083\u304B\u3099\u3044\u3082","\u3057\u3084\u304F\u3057\u3087","\u3057\u3083\u304F\u307B\u3046","\u3057\u3083\u3051\u3093","\u3057\u3083\u3053","\u3057\u3083\u3055\u3099\u3044","\u3057\u3083\u3057\u3093","\u3057\u3083\u305B\u3093","\u3057\u3083\u305D\u3046","\u3057\u3083\u305F\u3044","\u3057\u3083\u3061\u3087\u3046","\u3057\u3083\u3063\u304D\u3093","\u3057\u3099\u3083\u307E","\u3057\u3083\u308A\u3093","\u3057\u3083\u308C\u3044","\u3057\u3099\u3086\u3046","\u3057\u3099\u3085\u3046\u3057\u3087","\u3057\u3085\u304F\u306F\u304F","\u3057\u3099\u3085\u3057\u3093","\u3057\u3085\u3063\u305B\u304D","\u3057\u3085\u307F","\u3057\u3085\u3089\u306F\u3099","\u3057\u3099\u3085\u3093\u306F\u3099\u3093","\u3057\u3087\u3046\u304B\u3044","\u3057\u3087\u304F\u305F\u304F","\u3057\u3087\u3063\u3051\u3093","\u3057\u3087\u3068\u3099\u3046","\u3057\u3087\u3082\u3064","\u3057\u3089\u305B\u308B","\u3057\u3089\u3078\u3099\u308B","\u3057\u3093\u304B","\u3057\u3093\u3053\u3046","\u3057\u3099\u3093\u3057\u3099\u3083","\u3057\u3093\u305B\u3044\u3057\u3099","\u3057\u3093\u3061\u304F","\u3057\u3093\u308A\u3093","\u3059\u3042\u3051\u3099","\u3059\u3042\u3057","\u3059\u3042\u306A","\u3059\u3099\u3042\u3093","\u3059\u3044\u3048\u3044","\u3059\u3044\u304B","\u3059\u3044\u3068\u3046","\u3059\u3099\u3044\u3075\u3099\u3093","\u3059\u3044\u3088\u3046\u3072\u3099","\u3059\u3046\u304B\u3099\u304F","\u3059\u3046\u3057\u3099\u3064","\u3059\u3046\u305B\u3093","\u3059\u304A\u3068\u3099\u308A","\u3059\u304D\u307E","\u3059\u304F\u3046","\u3059\u304F\u306A\u3044","\u3059\u3051\u308B","\u3059\u3053\u3099\u3044","\u3059\u3053\u3057","\u3059\u3099\u3055\u3093","\u3059\u3059\u3099\u3057\u3044","\u3059\u3059\u3080","\u3059\u3059\u3081\u308B","\u3059\u3063\u304B\u308A","\u3059\u3099\u3063\u3057\u308A","\u3059\u3099\u3063\u3068","\u3059\u3066\u304D","\u3059\u3066\u308B","\u3059\u306D\u308B","\u3059\u306E\u3053","\u3059\u306F\u305F\u3099","\u3059\u306F\u3099\u3089\u3057\u3044","\u3059\u3099\u3072\u3087\u3046","\u3059\u3099\u3075\u3099\u306C\u308C","\u3059\u3075\u3099\u308A","\u3059\u3075\u308C","\u3059\u3078\u3099\u3066","\u3059\u3078\u3099\u308B","\u3059\u3099\u307B\u3046","\u3059\u307B\u3099\u3093","\u3059\u307E\u3044","\u3059\u3081\u3057","\u3059\u3082\u3046","\u3059\u3084\u304D","\u3059\u3089\u3059\u3089","\u3059\u308B\u3081","\u3059\u308C\u3061\u304B\u3099\u3046","\u3059\u308D\u3063\u3068","\u3059\u308F\u308B","\u3059\u3093\u305B\u3099\u3093","\u3059\u3093\u307B\u309A\u3046","\u305B\u3042\u3075\u3099\u3089","\u305B\u3044\u304B\u3064","\u305B\u3044\u3051\u3099\u3093","\u305B\u3044\u3057\u3099","\u305B\u3044\u3088\u3046","\u305B\u304A\u3046","\u305B\u304B\u3044\u304B\u3093","\u305B\u304D\u306B\u3093","\u305B\u304D\u3080","\u305B\u304D\u3086","\u305B\u304D\u3089\u3093\u3046\u3093","\u305B\u3051\u3093","\u305B\u3053\u3046","\u305B\u3059\u3057\u3099","\u305B\u305F\u3044","\u305B\u305F\u3051","\u305B\u3063\u304B\u304F","\u305B\u3063\u304D\u3083\u304F","\u305B\u3099\u3063\u304F","\u305B\u3063\u3051\u3093","\u305B\u3063\u3053\u3064","\u305B\u3063\u3055\u305F\u304F\u307E","\u305B\u3064\u305D\u3099\u304F","\u305B\u3064\u305F\u3099\u3093","\u305B\u3064\u3066\u3099\u3093","\u305B\u3063\u306F\u309A\u3093","\u305B\u3064\u3072\u3099","\u305B\u3064\u3075\u3099\u3093","\u305B\u3064\u3081\u3044","\u305B\u3064\u308A\u3064","\u305B\u306A\u304B","\u305B\u306E\u3072\u3099","\u305B\u306F\u306F\u3099","\u305B\u3072\u3099\u308D","\u305B\u307B\u3099\u306D","\u305B\u307E\u3044","\u305B\u307E\u308B","\u305B\u3081\u308B","\u305B\u3082\u305F\u308C","\u305B\u308A\u3075","\u305B\u3099\u3093\u3042\u304F","\u305B\u3093\u3044","\u305B\u3093\u3048\u3044","\u305B\u3093\u304B","\u305B\u3093\u304D\u3087","\u305B\u3093\u304F","\u305B\u3093\u3051\u3099\u3093","\u305B\u3099\u3093\u3053\u3099","\u305B\u3093\u3055\u3044","\u305B\u3093\u3057\u3085","\u305B\u3093\u3059\u3044","\u305B\u3093\u305B\u3044","\u305B\u3093\u305D\u3099","\u305B\u3093\u305F\u304F","\u305B\u3093\u3061\u3087\u3046","\u305B\u3093\u3066\u3044","\u305B\u3093\u3068\u3046","\u305B\u3093\u306C\u304D","\u305B\u3093\u306D\u3093","\u305B\u3093\u306F\u309A\u3044","\u305B\u3099\u3093\u3075\u3099","\u305B\u3099\u3093\u307B\u309A\u3046","\u305B\u3093\u3080","\u305B\u3093\u3081\u3093\u3057\u3099\u3087","\u305B\u3093\u3082\u3093","\u305B\u3093\u3084\u304F","\u305B\u3093\u3086\u3046","\u305B\u3093\u3088\u3046","\u305B\u3099\u3093\u3089","\u305B\u3099\u3093\u308A\u3083\u304F","\u305B\u3093\u308C\u3044","\u305B\u3093\u308D","\u305D\u3042\u304F","\u305D\u3044\u3068\u3051\u3099\u308B","\u305D\u3044\u306D","\u305D\u3046\u304B\u3099\u3093\u304D\u3087\u3046","\u305D\u3046\u304D","\u305D\u3046\u3053\u3099","\u305D\u3046\u3057\u3093","\u305D\u3046\u305F\u3099\u3093","\u305D\u3046\u306A\u3093","\u305D\u3046\u3072\u3099","\u305D\u3046\u3081\u3093","\u305D\u3046\u308A","\u305D\u3048\u3082\u306E","\u305D\u3048\u3093","\u305D\u304B\u3099\u3044","\u305D\u3051\u3099\u304D","\u305D\u3053\u3046","\u305D\u3053\u305D\u3053","\u305D\u3055\u3099\u3044","\u305D\u3057\u306A","\u305D\u305B\u3044","\u305D\u305B\u3093","\u305D\u305D\u304F\u3099","\u305D\u305F\u3099\u3066\u308B","\u305D\u3064\u3046","\u305D\u3064\u3048\u3093","\u305D\u3063\u304B\u3093","\u305D\u3064\u304D\u3099\u3087\u3046","\u305D\u3063\u3051\u3064","\u305D\u3063\u3053\u3046","\u305D\u3063\u305B\u3093","\u305D\u3063\u3068","\u305D\u3068\u304B\u3099\u308F","\u305D\u3068\u3064\u3099\u3089","\u305D\u306A\u3048\u308B","\u305D\u306A\u305F","\u305D\u3075\u307B\u3099","\u305D\u307B\u3099\u304F","\u305D\u307B\u3099\u308D","\u305D\u307E\u3064","\u305D\u307E\u308B","\u305D\u3080\u304F","\u305D\u3080\u308A\u3048","\u305D\u3081\u308B","\u305D\u3082\u305D\u3082","\u305D\u3088\u304B\u305B\u3099","\u305D\u3089\u307E\u3081","\u305D\u308D\u3046","\u305D\u3093\u304B\u3044","\u305D\u3093\u3051\u3044","\u305D\u3093\u3055\u3099\u3044","\u305D\u3093\u3057\u3064","\u305D\u3093\u305D\u3099\u304F","\u305D\u3093\u3061\u3087\u3046","\u305D\u3099\u3093\u3072\u3099","\u305D\u3099\u3093\u3075\u3099\u3093","\u305D\u3093\u307F\u3093","\u305F\u3042\u3044","\u305F\u3044\u3044\u3093","\u305F\u3044\u3046\u3093","\u305F\u3044\u3048\u304D","\u305F\u3044\u304A\u3046","\u305F\u3099\u3044\u304B\u3099\u304F","\u305F\u3044\u304D","\u305F\u3044\u304F\u3099\u3046","\u305F\u3044\u3051\u3093","\u305F\u3044\u3053","\u305F\u3044\u3055\u3099\u3044","\u305F\u3099\u3044\u3057\u3099\u3087\u3046\u3075\u3099","\u305F\u3099\u3044\u3059\u304D","\u305F\u3044\u305B\u3064","\u305F\u3044\u305D\u3046","\u305F\u3099\u3044\u305F\u3044","\u305F\u3044\u3061\u3087\u3046","\u305F\u3044\u3066\u3044","\u305F\u3099\u3044\u3068\u3099\u3053\u308D","\u305F\u3044\u306A\u3044","\u305F\u3044\u306D\u3064","\u305F\u3044\u306E\u3046","\u305F\u3044\u306F\u3093","\u305F\u3099\u3044\u3072\u3087\u3046","\u305F\u3044\u3075\u3046","\u305F\u3044\u3078\u3093","\u305F\u3044\u307B","\u305F\u3044\u307E\u3064\u306F\u3099\u306A","\u305F\u3044\u307F\u3093\u304F\u3099","\u305F\u3044\u3080","\u305F\u3044\u3081\u3093","\u305F\u3044\u3084\u304D","\u305F\u3044\u3088\u3046","\u305F\u3044\u3089","\u305F\u3044\u308A\u3087\u304F","\u305F\u3044\u308B","\u305F\u3044\u308F\u3093","\u305F\u3046\u3048","\u305F\u3048\u308B","\u305F\u304A\u3059","\u305F\u304A\u308B","\u305F\u304A\u308C\u308B","\u305F\u304B\u3044","\u305F\u304B\u306D","\u305F\u304D\u3072\u3099","\u305F\u304F\u3055\u3093","\u305F\u3053\u304F","\u305F\u3053\u3084\u304D","\u305F\u3055\u3044","\u305F\u3057\u3055\u3099\u3093","\u305F\u3099\u3057\u3099\u3083\u308C","\u305F\u3059\u3051\u308B","\u305F\u3059\u3099\u3055\u308F\u308B","\u305F\u305D\u304B\u3099\u308C","\u305F\u305F\u304B\u3046","\u305F\u305F\u304F","\u305F\u305F\u3099\u3057\u3044","\u305F\u305F\u307F","\u305F\u3061\u306F\u3099\u306A","\u305F\u3099\u3063\u304B\u3044","\u305F\u3099\u3063\u304D\u3083\u304F","\u305F\u3099\u3063\u3053","\u305F\u3099\u3063\u3057\u3085\u3064","\u305F\u3099\u3063\u305F\u3044","\u305F\u3066\u308B","\u305F\u3068\u3048\u308B","\u305F\u306A\u306F\u3099\u305F","\u305F\u306B\u3093","\u305F\u306C\u304D","\u305F\u306E\u3057\u307F","\u305F\u306F\u3064","\u305F\u3075\u3099\u3093","\u305F\u3078\u3099\u308B","\u305F\u307B\u3099\u3046","\u305F\u307E\u3053\u3099","\u305F\u307E\u308B","\u305F\u3099\u3080\u308B","\u305F\u3081\u3044\u304D","\u305F\u3081\u3059","\u305F\u3081\u308B","\u305F\u3082\u3064","\u305F\u3084\u3059\u3044","\u305F\u3088\u308B","\u305F\u3089\u3059","\u305F\u308A\u304D\u307B\u3093\u304B\u3099\u3093","\u305F\u308A\u3087\u3046","\u305F\u308A\u308B","\u305F\u308B\u3068","\u305F\u308C\u308B","\u305F\u308C\u3093\u3068","\u305F\u308D\u3063\u3068","\u305F\u308F\u3080\u308C\u308B","\u305F\u3099\u3093\u3042\u3064","\u305F\u3093\u3044","\u305F\u3093\u304A\u3093","\u305F\u3093\u304B","\u305F\u3093\u304D","\u305F\u3093\u3051\u3093","\u305F\u3093\u3053\u3099","\u305F\u3093\u3055\u3093","\u305F\u3093\u3057\u3099\u3087\u3046\u3072\u3099","\u305F\u3099\u3093\u305B\u3044","\u305F\u3093\u305D\u304F","\u305F\u3093\u305F\u3044","\u305F\u3099\u3093\u3061","\u305F\u3093\u3066\u3044","\u305F\u3093\u3068\u3046","\u305F\u3099\u3093\u306A","\u305F\u3093\u306B\u3093","\u305F\u3099\u3093\u306D\u3064","\u305F\u3093\u306E\u3046","\u305F\u3093\u3072\u309A\u3093","\u305F\u3099\u3093\u307B\u3099\u3046","\u305F\u3093\u307E\u3064","\u305F\u3093\u3081\u3044","\u305F\u3099\u3093\u308C\u3064","\u305F\u3099\u3093\u308D","\u305F\u3099\u3093\u308F","\u3061\u3042\u3044","\u3061\u3042\u3093","\u3061\u3044\u304D","\u3061\u3044\u3055\u3044","\u3061\u3048\u3093","\u3061\u304B\u3044","\u3061\u304B\u3089","\u3061\u304D\u3085\u3046","\u3061\u304D\u3093","\u3061\u3051\u3044\u3059\u3099","\u3061\u3051\u3093","\u3061\u3053\u304F","\u3061\u3055\u3044","\u3061\u3057\u304D","\u3061\u3057\u308A\u3087\u3046","\u3061\u305B\u3044","\u3061\u305D\u3046","\u3061\u305F\u3044","\u3061\u305F\u3093","\u3061\u3061\u304A\u3084","\u3061\u3064\u3057\u3099\u3087","\u3061\u3066\u304D","\u3061\u3066\u3093","\u3061\u306C\u304D","\u3061\u306C\u308A","\u3061\u306E\u3046","\u3061\u3072\u3087\u3046","\u3061\u3078\u3044\u305B\u3093","\u3061\u307B\u3046","\u3061\u307E\u305F","\u3061\u307F\u3064","\u3061\u307F\u3068\u3099\u308D","\u3061\u3081\u3044\u3068\u3099","\u3061\u3083\u3093\u3053\u306A\u3078\u3099","\u3061\u3085\u3046\u3044","\u3061\u3086\u308A\u3087\u304F","\u3061\u3087\u3046\u3057","\u3061\u3087\u3055\u304F\u3051\u3093","\u3061\u3089\u3057","\u3061\u3089\u307F","\u3061\u308A\u304B\u3099\u307F","\u3061\u308A\u3087\u3046","\u3061\u308B\u3068\u3099","\u3061\u308F\u308F","\u3061\u3093\u305F\u3044","\u3061\u3093\u3082\u304F","\u3064\u3044\u304B","\u3064\u3044\u305F\u3061","\u3064\u3046\u304B","\u3064\u3046\u3057\u3099\u3087\u3046","\u3064\u3046\u306F\u3093","\u3064\u3046\u308F","\u3064\u304B\u3046","\u3064\u304B\u308C\u308B","\u3064\u304F\u306D","\u3064\u304F\u308B","\u3064\u3051\u306D","\u3064\u3051\u308B","\u3064\u3053\u3099\u3046","\u3064\u305F\u3048\u308B","\u3064\u3064\u3099\u304F","\u3064\u3064\u3057\u3099","\u3064\u3064\u3080","\u3064\u3068\u3081\u308B","\u3064\u306A\u304B\u3099\u308B","\u3064\u306A\u307F","\u3064\u306D\u3064\u3099\u306D","\u3064\u306E\u308B","\u3064\u3075\u3099\u3059","\u3064\u307E\u3089\u306A\u3044","\u3064\u307E\u308B","\u3064\u307F\u304D","\u3064\u3081\u305F\u3044","\u3064\u3082\u308A","\u3064\u3082\u308B","\u3064\u3088\u3044","\u3064\u308B\u307B\u3099","\u3064\u308B\u307F\u304F","\u3064\u308F\u3082\u306E","\u3064\u308F\u308A","\u3066\u3042\u3057","\u3066\u3042\u3066","\u3066\u3042\u307F","\u3066\u3044\u304A\u3093","\u3066\u3044\u304B","\u3066\u3044\u304D","\u3066\u3044\u3051\u3044","\u3066\u3044\u3053\u304F","\u3066\u3044\u3055\u3064","\u3066\u3044\u3057","\u3066\u3044\u305B\u3044","\u3066\u3044\u305F\u3044","\u3066\u3044\u3068\u3099","\u3066\u3044\u306D\u3044","\u3066\u3044\u3072\u3087\u3046","\u3066\u3044\u3078\u3093","\u3066\u3044\u307B\u3099\u3046","\u3066\u3046\u3061","\u3066\u304A\u304F\u308C","\u3066\u304D\u3068\u3046","\u3066\u304F\u3072\u3099","\u3066\u3099\u3053\u307B\u3099\u3053","\u3066\u3055\u304D\u3099\u3087\u3046","\u3066\u3055\u3051\u3099","\u3066\u3059\u308A","\u3066\u305D\u3046","\u3066\u3061\u304B\u3099\u3044","\u3066\u3061\u3087\u3046","\u3066\u3064\u304B\u3099\u304F","\u3066\u3064\u3064\u3099\u304D","\u3066\u3099\u3063\u306F\u309A","\u3066\u3064\u307B\u3099\u3046","\u3066\u3064\u3084","\u3066\u3099\u306C\u304B\u3048","\u3066\u306C\u304D","\u3066\u306C\u304F\u3099\u3044","\u3066\u306E\u3072\u3089","\u3066\u306F\u3044","\u3066\u3075\u3099\u304F\u308D","\u3066\u3075\u305F\u3099","\u3066\u307B\u3068\u3099\u304D","\u3066\u307B\u3093","\u3066\u307E\u3048","\u3066\u307E\u304D\u3059\u3099\u3057","\u3066\u307F\u3057\u3099\u304B","\u3066\u307F\u3084\u3051\u3099","\u3066\u3089\u3059","\u3066\u308C\u3072\u3099","\u3066\u308F\u3051","\u3066\u308F\u305F\u3057","\u3066\u3099\u3093\u3042\u3064","\u3066\u3093\u3044\u3093","\u3066\u3093\u304B\u3044","\u3066\u3093\u304D","\u3066\u3093\u304F\u3099","\u3066\u3093\u3051\u3093","\u3066\u3093\u3053\u3099\u304F","\u3066\u3093\u3055\u3044","\u3066\u3093\u3057","\u3066\u3093\u3059\u3046","\u3066\u3099\u3093\u3061","\u3066\u3093\u3066\u304D","\u3066\u3093\u3068\u3046","\u3066\u3093\u306A\u3044","\u3066\u3093\u3075\u309A\u3089","\u3066\u3093\u307B\u3099\u3046\u305F\u3099\u3044","\u3066\u3093\u3081\u3064","\u3066\u3093\u3089\u3093\u304B\u3044","\u3066\u3099\u3093\u308A\u3087\u304F","\u3066\u3099\u3093\u308F","\u3068\u3099\u3042\u3044","\u3068\u3044\u308C","\u3068\u3099\u3046\u304B\u3093","\u3068\u3046\u304D\u3085\u3046","\u3068\u3099\u3046\u304F\u3099","\u3068\u3046\u3057","\u3068\u3046\u3080\u304D\u3099","\u3068\u304A\u3044","\u3068\u304A\u304B","\u3068\u304A\u304F","\u3068\u304A\u3059","\u3068\u304A\u308B","\u3068\u304B\u3044","\u3068\u304B\u3059","\u3068\u304D\u304A\u308A","\u3068\u304D\u3068\u3099\u304D","\u3068\u304F\u3044","\u3068\u304F\u3057\u3085\u3046","\u3068\u304F\u3066\u3093","\u3068\u304F\u306B","\u3068\u304F\u3078\u3099\u3064","\u3068\u3051\u3044","\u3068\u3051\u308B","\u3068\u3053\u3084","\u3068\u3055\u304B","\u3068\u3057\u3087\u304B\u3093","\u3068\u305D\u3046","\u3068\u305F\u3093","\u3068\u3061\u3085\u3046","\u3068\u3063\u304D\u3085\u3046","\u3068\u3063\u304F\u3093","\u3068\u3064\u305B\u3099\u3093","\u3068\u3064\u306B\u3085\u3046","\u3068\u3068\u3099\u3051\u308B","\u3068\u3068\u306E\u3048\u308B","\u3068\u306A\u3044","\u3068\u306A\u3048\u308B","\u3068\u306A\u308A","\u3068\u306E\u3055\u307E","\u3068\u306F\u3099\u3059","\u3068\u3099\u3075\u3099\u304B\u3099\u308F","\u3068\u307B\u3046","\u3068\u307E\u308B","\u3068\u3081\u308B","\u3068\u3082\u305F\u3099\u3061","\u3068\u3082\u308B","\u3068\u3099\u3088\u3046\u3072\u3099","\u3068\u3089\u3048\u308B","\u3068\u3093\u304B\u3064","\u3068\u3099\u3093\u3075\u3099\u308A","\u306A\u3044\u304B\u304F","\u306A\u3044\u3053\u3046","\u306A\u3044\u3057\u3087","\u306A\u3044\u3059","\u306A\u3044\u305B\u3093","\u306A\u3044\u305D\u3046","\u306A\u304A\u3059","\u306A\u304B\u3099\u3044","\u306A\u304F\u3059","\u306A\u3051\u3099\u308B","\u306A\u3053\u3046\u3068\u3099","\u306A\u3055\u3051","\u306A\u305F\u3066\u3099\u3053\u3053","\u306A\u3063\u3068\u3046","\u306A\u3064\u3084\u3059\u307F","\u306A\u306A\u304A\u3057","\u306A\u306B\u3053\u3099\u3068","\u306A\u306B\u3082\u306E","\u306A\u306B\u308F","\u306A\u306E\u304B","\u306A\u3075\u305F\u3099","\u306A\u307E\u3044\u304D","\u306A\u307E\u3048","\u306A\u307E\u307F","\u306A\u307F\u305F\u3099","\u306A\u3081\u3089\u304B","\u306A\u3081\u308B","\u306A\u3084\u3080","\u306A\u3089\u3046","\u306A\u3089\u3072\u3099","\u306A\u3089\u3075\u3099","\u306A\u308C\u308B","\u306A\u308F\u3068\u3072\u3099","\u306A\u308F\u306F\u3099\u308A","\u306B\u3042\u3046","\u306B\u3044\u304B\u3099\u305F","\u306B\u3046\u3051","\u306B\u304A\u3044","\u306B\u304B\u3044","\u306B\u304B\u3099\u3066","\u306B\u304D\u3072\u3099","\u306B\u304F\u3057\u307F","\u306B\u304F\u307E\u3093","\u306B\u3051\u3099\u308B","\u306B\u3055\u3093\u304B\u305F\u3093\u305D","\u306B\u3057\u304D","\u306B\u305B\u3082\u306E","\u306B\u3061\u3057\u3099\u3087\u3046","\u306B\u3061\u3088\u3046\u3072\u3099","\u306B\u3063\u304B","\u306B\u3063\u304D","\u306B\u3063\u3051\u3044","\u306B\u3063\u3053\u3046","\u306B\u3063\u3055\u3093","\u306B\u3063\u3057\u3087\u304F","\u306B\u3063\u3059\u3046","\u306B\u3063\u305B\u304D","\u306B\u3063\u3066\u3044","\u306B\u306A\u3046","\u306B\u307B\u3093","\u306B\u307E\u3081","\u306B\u3082\u3064","\u306B\u3084\u308A","\u306B\u3085\u3046\u3044\u3093","\u306B\u308A\u3093\u3057\u3083","\u306B\u308F\u3068\u308A","\u306B\u3093\u3044","\u306B\u3093\u304B","\u306B\u3093\u304D","\u306B\u3093\u3051\u3099\u3093","\u306B\u3093\u3057\u304D","\u306B\u3093\u3059\u3099\u3046","\u306B\u3093\u305D\u3046","\u306B\u3093\u305F\u3044","\u306B\u3093\u3061","\u306B\u3093\u3066\u3044","\u306B\u3093\u306B\u304F","\u306B\u3093\u3075\u309A","\u306B\u3093\u307E\u308A","\u306B\u3093\u3080","\u306B\u3093\u3081\u3044","\u306B\u3093\u3088\u3046","\u306C\u3044\u304F\u304D\u3099","\u306C\u304B\u3059","\u306C\u304F\u3099\u3044\u3068\u308B","\u306C\u304F\u3099\u3046","\u306C\u304F\u3082\u308A","\u306C\u3059\u3080","\u306C\u307E\u3048\u3072\u3099","\u306C\u3081\u308A","\u306C\u3089\u3059","\u306C\u3093\u3061\u3083\u304F","\u306D\u3042\u3051\u3099","\u306D\u3044\u304D","\u306D\u3044\u308B","\u306D\u3044\u308D","\u306D\u304F\u3099\u305B","\u306D\u304F\u305F\u3044","\u306D\u304F\u3089","\u306D\u3053\u305B\u3099","\u306D\u3053\u3080","\u306D\u3055\u3051\u3099","\u306D\u3059\u3053\u3099\u3059","\u306D\u305D\u3078\u3099\u308B","\u306D\u305F\u3099\u3093","\u306D\u3064\u3044","\u306D\u3063\u3057\u3093","\u306D\u3064\u305D\u3099\u3046","\u306D\u3063\u305F\u3044\u304D\u3099\u3087","\u306D\u3075\u3099\u305D\u304F","\u306D\u3075\u305F\u3099","\u306D\u307B\u3099\u3046","\u306D\u307B\u308A\u306F\u307B\u308A","\u306D\u307E\u304D","\u306D\u307E\u308F\u3057","\u306D\u307F\u307F","\u306D\u3080\u3044","\u306D\u3080\u305F\u3044","\u306D\u3082\u3068","\u306D\u3089\u3046","\u306D\u308F\u3055\u3099","\u306D\u3093\u3044\u308A","\u306D\u3093\u304A\u3057","\u306D\u3093\u304B\u3093","\u306D\u3093\u304D\u3093","\u306D\u3093\u304F\u3099","\u306D\u3093\u3055\u3099","\u306D\u3093\u3057","\u306D\u3093\u3061\u3083\u304F","\u306D\u3093\u3068\u3099","\u306D\u3093\u3072\u309A","\u306D\u3093\u3075\u3099\u3064","\u306D\u3093\u307E\u3064","\u306D\u3093\u308A\u3087\u3046","\u306D\u3093\u308C\u3044","\u306E\u3044\u3059\u3099","\u306E\u304A\u3064\u3099\u307E","\u306E\u304B\u3099\u3059","\u306E\u304D\u306A\u307F","\u306E\u3053\u304D\u3099\u308A","\u306E\u3053\u3059","\u306E\u3053\u308B","\u306E\u305B\u308B","\u306E\u305D\u3099\u304F","\u306E\u305D\u3099\u3080","\u306E\u305F\u307E\u3046","\u306E\u3061\u307B\u3068\u3099","\u306E\u3063\u304F","\u306E\u306F\u3099\u3059","\u306E\u306F\u3089","\u306E\u3078\u3099\u308B","\u306E\u307B\u3099\u308B","\u306E\u307F\u3082\u306E","\u306E\u3084\u307E","\u306E\u3089\u3044\u306C","\u306E\u3089\u306D\u3053","\u306E\u308A\u3082\u306E","\u306E\u308A\u3086\u304D","\u306E\u308C\u3093","\u306E\u3093\u304D","\u306F\u3099\u3042\u3044","\u306F\u3042\u304F","\u306F\u3099\u3042\u3055\u3093","\u306F\u3099\u3044\u304B","\u306F\u3099\u3044\u304F","\u306F\u3044\u3051\u3093","\u306F\u3044\u3053\u3099","\u306F\u3044\u3057\u3093","\u306F\u3044\u3059\u3044","\u306F\u3044\u305B\u3093","\u306F\u3044\u305D\u3046","\u306F\u3044\u3061","\u306F\u3099\u3044\u306F\u3099\u3044","\u306F\u3044\u308C\u3064","\u306F\u3048\u308B","\u306F\u304A\u308B","\u306F\u304B\u3044","\u306F\u3099\u304B\u308A","\u306F\u304B\u308B","\u306F\u304F\u3057\u3085","\u306F\u3051\u3093","\u306F\u3053\u3075\u3099","\u306F\u3055\u307F","\u306F\u3055\u3093","\u306F\u3057\u3053\u3099","\u306F\u3099\u3057\u3087","\u306F\u3057\u308B","\u306F\u305B\u308B","\u306F\u309A\u305D\u3053\u3093","\u306F\u305D\u3093","\u306F\u305F\u3093","\u306F\u3061\u307F\u3064","\u306F\u3064\u304A\u3093","\u306F\u3063\u304B\u304F","\u306F\u3064\u3099\u304D","\u306F\u3063\u304D\u308A","\u306F\u3063\u304F\u3064","\u306F\u3063\u3051\u3093","\u306F\u3063\u3053\u3046","\u306F\u3063\u3055\u3093","\u306F\u3063\u3057\u3093","\u306F\u3063\u305F\u3064","\u306F\u3063\u3061\u3085\u3046","\u306F\u3063\u3066\u3093","\u306F\u3063\u3072\u309A\u3087\u3046","\u306F\u3063\u307B\u309A\u3046","\u306F\u306A\u3059","\u306F\u306A\u3072\u3099","\u306F\u306B\u304B\u3080","\u306F\u3075\u3099\u3089\u3057","\u306F\u307F\u304B\u3099\u304D","\u306F\u3080\u304B\u3046","\u306F\u3081\u3064","\u306F\u3084\u3044","\u306F\u3084\u3057","\u306F\u3089\u3046","\u306F\u308D\u3046\u3043\u3093","\u306F\u308F\u3044","\u306F\u3093\u3044","\u306F\u3093\u3048\u3044","\u306F\u3093\u304A\u3093","\u306F\u3093\u304B\u304F","\u306F\u3093\u304D\u3087\u3046","\u306F\u3099\u3093\u304F\u3099\u307F","\u306F\u3093\u3053","\u306F\u3093\u3057\u3083","\u306F\u3093\u3059\u3046","\u306F\u3093\u305F\u3099\u3093","\u306F\u309A\u3093\u3061","\u306F\u309A\u3093\u3064","\u306F\u3093\u3066\u3044","\u306F\u3093\u3068\u3057","\u306F\u3093\u306E\u3046","\u306F\u3093\u306F\u309A","\u306F\u3093\u3075\u3099\u3093","\u306F\u3093\u3078\u309A\u3093","\u306F\u3093\u307B\u3099\u3046\u304D","\u306F\u3093\u3081\u3044","\u306F\u3093\u3089\u3093","\u306F\u3093\u308D\u3093","\u3072\u3044\u304D","\u3072\u3046\u3093","\u3072\u3048\u308B","\u3072\u304B\u304F","\u3072\u304B\u308A","\u3072\u304B\u308B","\u3072\u304B\u3093","\u3072\u304F\u3044","\u3072\u3051\u3064","\u3072\u3053\u3046\u304D","\u3072\u3053\u304F","\u3072\u3055\u3044","\u3072\u3055\u3057\u3075\u3099\u308A","\u3072\u3055\u3093","\u3072\u3099\u3057\u3099\u3085\u3064\u304B\u3093","\u3072\u3057\u3087","\u3072\u305D\u304B","\u3072\u305D\u3080","\u3072\u305F\u3080\u304D","\u3072\u305F\u3099\u308A","\u3072\u305F\u308B","\u3072\u3064\u304D\u3099","\u3072\u3063\u3053\u3057","\u3072\u3063\u3057","\u3072\u3064\u3057\u3099\u3085\u3072\u3093","\u3072\u3063\u3059","\u3072\u3064\u305B\u3099\u3093","\u3072\u309A\u3063\u305F\u308A","\u3072\u309A\u3063\u3061\u308A","\u3072\u3064\u3088\u3046","\u3072\u3066\u3044","\u3072\u3068\u3053\u3099\u307F","\u3072\u306A\u307E\u3064\u308A","\u3072\u306A\u3093","\u3072\u306D\u308B","\u3072\u306F\u3093","\u3072\u3072\u3099\u304F","\u3072\u3072\u3087\u3046","\u3072\u307B\u3046","\u3072\u307E\u308F\u308A","\u3072\u307E\u3093","\u3072\u307F\u3064","\u3072\u3081\u3044","\u3072\u3081\u3057\u3099\u3057","\u3072\u3084\u3051","\u3072\u3084\u3059","\u3072\u3088\u3046","\u3072\u3099\u3087\u3046\u304D","\u3072\u3089\u304B\u3099\u306A","\u3072\u3089\u304F","\u3072\u308A\u3064","\u3072\u308A\u3087\u3046","\u3072\u308B\u307E","\u3072\u308B\u3084\u3059\u307F","\u3072\u308C\u3044","\u3072\u308D\u3044","\u3072\u308D\u3046","\u3072\u308D\u304D","\u3072\u308D\u3086\u304D","\u3072\u3093\u304B\u304F","\u3072\u3093\u3051\u3064","\u3072\u3093\u3053\u3093","\u3072\u3093\u3057\u3085","\u3072\u3093\u305D\u3046","\u3072\u309A\u3093\u3061","\u3072\u3093\u306F\u309A\u3093","\u3072\u3099\u3093\u307B\u3099\u3046","\u3075\u3042\u3093","\u3075\u3044\u3046\u3061","\u3075\u3046\u3051\u3044","\u3075\u3046\u305B\u3093","\u3075\u309A\u3046\u305F\u308D\u3046","\u3075\u3046\u3068\u3046","\u3075\u3046\u3075","\u3075\u3048\u308B","\u3075\u304A\u3093","\u3075\u304B\u3044","\u3075\u304D\u3093","\u3075\u304F\u3055\u3099\u3064","\u3075\u304F\u3075\u3099\u304F\u308D","\u3075\u3053\u3046","\u3075\u3055\u3044","\u3075\u3057\u304D\u3099","\u3075\u3057\u3099\u307F","\u3075\u3059\u307E","\u3075\u305B\u3044","\u3075\u305B\u304F\u3099","\u3075\u305D\u304F","\u3075\u3099\u305F\u306B\u304F","\u3075\u305F\u3093","\u3075\u3061\u3087\u3046","\u3075\u3064\u3046","\u3075\u3064\u304B","\u3075\u3063\u304B\u3064","\u3075\u3063\u304D","\u3075\u3063\u3053\u304F","\u3075\u3099\u3068\u3099\u3046","\u3075\u3068\u308B","\u3075\u3068\u3093","\u3075\u306E\u3046","\u3075\u306F\u3044","\u3075\u3072\u3087\u3046","\u3075\u3078\u3093","\u3075\u307E\u3093","\u3075\u307F\u3093","\u3075\u3081\u3064","\u3075\u3081\u3093","\u3075\u3088\u3046","\u3075\u308A\u3053","\u3075\u308A\u308B","\u3075\u308B\u3044","\u3075\u3093\u3044\u304D","\u3075\u3099\u3093\u304B\u3099\u304F","\u3075\u3099\u3093\u304F\u3099","\u3075\u3093\u3057\u3064","\u3075\u3099\u3093\u305B\u304D","\u3075\u3093\u305D\u3046","\u3075\u3099\u3093\u307B\u309A\u3046","\u3078\u3044\u3042\u3093","\u3078\u3044\u304A\u3093","\u3078\u3044\u304B\u3099\u3044","\u3078\u3044\u304D","\u3078\u3044\u3051\u3099\u3093","\u3078\u3044\u3053\u3046","\u3078\u3044\u3055","\u3078\u3044\u3057\u3083","\u3078\u3044\u305B\u3064","\u3078\u3044\u305D","\u3078\u3044\u305F\u304F","\u3078\u3044\u3066\u3093","\u3078\u3044\u306D\u3064","\u3078\u3044\u308F","\u3078\u304D\u304B\u3099","\u3078\u3053\u3080","\u3078\u3099\u306B\u3044\u308D","\u3078\u3099\u306B\u3057\u3087\u3046\u304B\u3099","\u3078\u3089\u3059","\u3078\u3093\u304B\u3093","\u3078\u3099\u3093\u304D\u3087\u3046","\u3078\u3099\u3093\u3053\u3099\u3057","\u3078\u3093\u3055\u3044","\u3078\u3093\u305F\u3044","\u3078\u3099\u3093\u308A","\u307B\u3042\u3093","\u307B\u3044\u304F","\u307B\u3099\u3046\u304D\u3099\u3087","\u307B\u3046\u3053\u304F","\u307B\u3046\u305D\u3046","\u307B\u3046\u307B\u3046","\u307B\u3046\u3082\u3093","\u307B\u3046\u308A\u3064","\u307B\u3048\u308B","\u307B\u304A\u3093","\u307B\u304B\u3093","\u307B\u304D\u3087\u3046","\u307B\u3099\u304D\u3093","\u307B\u304F\u308D","\u307B\u3051\u3064","\u307B\u3051\u3093","\u307B\u3053\u3046","\u307B\u3053\u308B","\u307B\u3057\u3044","\u307B\u3057\u3064","\u307B\u3057\u3085","\u307B\u3057\u3087\u3046","\u307B\u305B\u3044","\u307B\u305D\u3044","\u307B\u305D\u304F","\u307B\u305F\u3066","\u307B\u305F\u308B","\u307B\u309A\u3061\u3075\u3099\u304F\u308D","\u307B\u3063\u304D\u3087\u304F","\u307B\u3063\u3055","\u307B\u3063\u305F\u3093","\u307B\u3068\u3093\u3068\u3099","\u307B\u3081\u308B","\u307B\u3093\u3044","\u307B\u3093\u304D","\u307B\u3093\u3051","\u307B\u3093\u3057\u3064","\u307B\u3093\u3084\u304F","\u307E\u3044\u306B\u3061","\u307E\u304B\u3044","\u307E\u304B\u305B\u308B","\u307E\u304B\u3099\u308B","\u307E\u3051\u308B","\u307E\u3053\u3068","\u307E\u3055\u3064","\u307E\u3057\u3099\u3081","\u307E\u3059\u304F","\u307E\u305B\u3099\u308B","\u307E\u3064\u308A","\u307E\u3068\u3081","\u307E\u306A\u3075\u3099","\u307E\u306C\u3051","\u307E\u306D\u304F","\u307E\u307B\u3046","\u307E\u3082\u308B","\u307E\u3086\u3051\u3099","\u307E\u3088\u3046","\u307E\u308D\u3084\u304B","\u307E\u308F\u3059","\u307E\u308F\u308A","\u307E\u308F\u308B","\u307E\u3093\u304B\u3099","\u307E\u3093\u304D\u3064","\u307E\u3093\u305D\u3099\u304F","\u307E\u3093\u306A\u304B","\u307F\u3044\u3089","\u307F\u3046\u3061","\u307F\u3048\u308B","\u307F\u304B\u3099\u304F","\u307F\u304B\u305F","\u307F\u304B\u3093","\u307F\u3051\u3093","\u307F\u3053\u3093","\u307F\u3057\u3099\u304B\u3044","\u307F\u3059\u3044","\u307F\u3059\u3048\u308B","\u307F\u305B\u308B","\u307F\u3063\u304B","\u307F\u3064\u304B\u308B","\u307F\u3064\u3051\u308B","\u307F\u3066\u3044","\u307F\u3068\u3081\u308B","\u307F\u306A\u3068","\u307F\u306A\u307F\u304B\u3055\u3044","\u307F\u306D\u3089\u308B","\u307F\u306E\u3046","\u307F\u306E\u304B\u3099\u3059","\u307F\u307B\u3093","\u307F\u3082\u3068","\u307F\u3084\u3051\u3099","\u307F\u3089\u3044","\u307F\u308A\u3087\u304F","\u307F\u308F\u304F","\u307F\u3093\u304B","\u307F\u3093\u305D\u3099\u304F","\u3080\u3044\u304B","\u3080\u3048\u304D","\u3080\u3048\u3093","\u3080\u304B\u3044","\u3080\u304B\u3046","\u3080\u304B\u3048","\u3080\u304B\u3057","\u3080\u304D\u3099\u3061\u3083","\u3080\u3051\u308B","\u3080\u3051\u3099\u3093","\u3080\u3055\u307B\u3099\u308B","\u3080\u3057\u3042\u3064\u3044","\u3080\u3057\u306F\u3099","\u3080\u3057\u3099\u3085\u3093","\u3080\u3057\u308D","\u3080\u3059\u3046","\u3080\u3059\u3053","\u3080\u3059\u3075\u3099","\u3080\u3059\u3081","\u3080\u305B\u308B","\u3080\u305B\u3093","\u3080\u3061\u3085\u3046","\u3080\u306A\u3057\u3044","\u3080\u306E\u3046","\u3080\u3084\u307F","\u3080\u3088\u3046","\u3080\u3089\u3055\u304D","\u3080\u308A\u3087\u3046","\u3080\u308D\u3093","\u3081\u3044\u3042\u3093","\u3081\u3044\u3046\u3093","\u3081\u3044\u3048\u3093","\u3081\u3044\u304B\u304F","\u3081\u3044\u304D\u3087\u304F","\u3081\u3044\u3055\u3044","\u3081\u3044\u3057","\u3081\u3044\u305D\u3046","\u3081\u3044\u3075\u3099\u3064","\u3081\u3044\u308C\u3044","\u3081\u3044\u308F\u304F","\u3081\u304F\u3099\u307E\u308C\u308B","\u3081\u3055\u3099\u3059","\u3081\u3057\u305F","\u3081\u3059\u3099\u3089\u3057\u3044","\u3081\u305F\u3099\u3064","\u3081\u307E\u3044","\u3081\u3084\u3059","\u3081\u3093\u304D\u3087","\u3081\u3093\u305B\u304D","\u3081\u3093\u3068\u3099\u3046","\u3082\u3046\u3057\u3042\u3051\u3099\u308B","\u3082\u3046\u3068\u3099\u3046\u3051\u3093","\u3082\u3048\u308B","\u3082\u304F\u3057","\u3082\u304F\u3066\u304D","\u3082\u304F\u3088\u3046\u3072\u3099","\u3082\u3061\u308D\u3093","\u3082\u3068\u3099\u308B","\u3082\u3089\u3046","\u3082\u3093\u304F","\u3082\u3093\u305F\u3099\u3044","\u3084\u304A\u3084","\u3084\u3051\u308B","\u3084\u3055\u3044","\u3084\u3055\u3057\u3044","\u3084\u3059\u3044","\u3084\u3059\u305F\u308D\u3046","\u3084\u3059\u307F","\u3084\u305B\u308B","\u3084\u305D\u3046","\u3084\u305F\u3044","\u3084\u3061\u3093","\u3084\u3063\u3068","\u3084\u3063\u306F\u309A\u308A","\u3084\u3075\u3099\u308B","\u3084\u3081\u308B","\u3084\u3084\u3053\u3057\u3044","\u3084\u3088\u3044","\u3084\u308F\u3089\u304B\u3044","\u3086\u3046\u304D","\u3086\u3046\u3072\u3099\u3093\u304D\u3087\u304F","\u3086\u3046\u3078\u3099","\u3086\u3046\u3081\u3044","\u3086\u3051\u3064","\u3086\u3057\u3085\u3064","\u3086\u305B\u3093","\u3086\u305D\u3046","\u3086\u305F\u304B","\u3086\u3061\u3083\u304F","\u3086\u3066\u3099\u308B","\u3086\u306B\u3085\u3046","\u3086\u3072\u3099\u308F","\u3086\u3089\u3044","\u3086\u308C\u308B","\u3088\u3046\u3044","\u3088\u3046\u304B","\u3088\u3046\u304D\u3085\u3046","\u3088\u3046\u3057\u3099","\u3088\u3046\u3059","\u3088\u3046\u3061\u3048\u3093","\u3088\u304B\u305B\u3099","\u3088\u304B\u3093","\u3088\u304D\u3093","\u3088\u304F\u305B\u3044","\u3088\u304F\u307B\u3099\u3046","\u3088\u3051\u3044","\u3088\u3053\u3099\u308C\u308B","\u3088\u3055\u3093","\u3088\u3057\u3085\u3046","\u3088\u305D\u3046","\u3088\u305D\u304F","\u3088\u3063\u304B","\u3088\u3066\u3044","\u3088\u3068\u3099\u304B\u3099\u308F\u304F","\u3088\u306D\u3064","\u3088\u3084\u304F","\u3088\u3086\u3046","\u3088\u308D\u3053\u3075\u3099","\u3088\u308D\u3057\u3044","\u3089\u3044\u3046","\u3089\u304F\u304B\u3099\u304D","\u3089\u304F\u3053\u3099","\u3089\u304F\u3055\u3064","\u3089\u304F\u305F\u3099","\u3089\u3057\u3093\u306F\u3099\u3093","\u3089\u305B\u3093","\u3089\u305D\u3099\u304F","\u3089\u305F\u3044","\u3089\u3063\u304B","\u3089\u308C\u3064","\u308A\u3048\u304D","\u308A\u304B\u3044","\u308A\u304D\u3055\u304F","\u308A\u304D\u305B\u3064","\u308A\u304F\u304F\u3099\u3093","\u308A\u304F\u3064","\u308A\u3051\u3093","\u308A\u3053\u3046","\u308A\u305B\u3044","\u308A\u305D\u3046","\u308A\u305D\u304F","\u308A\u3066\u3093","\u308A\u306D\u3093","\u308A\u3086\u3046","\u308A\u3085\u3046\u304B\u3099\u304F","\u308A\u3088\u3046","\u308A\u3087\u3046\u308A","\u308A\u3087\u304B\u3093","\u308A\u3087\u304F\u3061\u3083","\u308A\u3087\u3053\u3046","\u308A\u308A\u304F","\u308A\u308C\u304D","\u308A\u308D\u3093","\u308A\u3093\u3053\u3099","\u308B\u3044\u3051\u3044","\u308B\u3044\u3055\u3044","\u308B\u3044\u3057\u3099","\u308B\u3044\u305B\u304D","\u308B\u3059\u306F\u3099\u3093","\u308B\u308A\u304B\u3099\u308F\u3089","\u308C\u3044\u304B\u3093","\u308C\u3044\u304D\u3099","\u308C\u3044\u305B\u3044","\u308C\u3044\u305D\u3099\u3046\u3053","\u308C\u3044\u3068\u3046","\u308C\u3044\u307B\u3099\u3046","\u308C\u304D\u3057","\u308C\u304D\u305F\u3099\u3044","\u308C\u3093\u3042\u3044","\u308C\u3093\u3051\u3044","\u308C\u3093\u3053\u3093","\u308C\u3093\u3055\u3044","\u308C\u3093\u3057\u3085\u3046","\u308C\u3093\u305D\u3099\u304F","\u308C\u3093\u3089\u304F","\u308D\u3046\u304B","\u308D\u3046\u3053\u3099","\u308D\u3046\u3057\u3099\u3093","\u308D\u3046\u305D\u304F","\u308D\u304F\u304B\u3099","\u308D\u3053\u3064","\u308D\u3057\u3099\u3046\u3089","\u308D\u3057\u3085\u3064","\u308D\u305B\u3093","\u308D\u3066\u3093","\u308D\u3081\u3093","\u308D\u308C\u3064","\u308D\u3093\u304D\u3099","\u308D\u3093\u306F\u309A","\u308D\u3093\u3075\u3099\u3093","\u308D\u3093\u308A","\u308F\u304B\u3059","\u308F\u304B\u3081","\u308F\u304B\u3084\u307E","\u308F\u304B\u308C\u308B","\u308F\u3057\u3064","\u308F\u3057\u3099\u307E\u3057","\u308F\u3059\u308C\u3082\u306E","\u308F\u3089\u3046","\u308F\u308C\u308B"]'), NF = JSON.parse('["abacate","abaixo","abalar","abater","abduzir","abelha","aberto","abismo","abotoar","abranger","abreviar","abrigar","abrupto","absinto","absoluto","absurdo","abutre","acabado","acalmar","acampar","acanhar","acaso","aceitar","acelerar","acenar","acervo","acessar","acetona","achatar","acidez","acima","acionado","acirrar","aclamar","aclive","acolhida","acomodar","acoplar","acordar","acumular","acusador","adaptar","adega","adentro","adepto","adequar","aderente","adesivo","adeus","adiante","aditivo","adjetivo","adjunto","admirar","adorar","adquirir","adubo","adverso","advogado","aeronave","afastar","aferir","afetivo","afinador","afivelar","aflito","afluente","afrontar","agachar","agarrar","agasalho","agenciar","agilizar","agiota","agitado","agora","agradar","agreste","agrupar","aguardar","agulha","ajoelhar","ajudar","ajustar","alameda","alarme","alastrar","alavanca","albergue","albino","alcatra","aldeia","alecrim","alegria","alertar","alface","alfinete","algum","alheio","aliar","alicate","alienar","alinhar","aliviar","almofada","alocar","alpiste","alterar","altitude","alucinar","alugar","aluno","alusivo","alvo","amaciar","amador","amarelo","amassar","ambas","ambiente","ameixa","amenizar","amido","amistoso","amizade","amolador","amontoar","amoroso","amostra","amparar","ampliar","ampola","anagrama","analisar","anarquia","anatomia","andaime","anel","anexo","angular","animar","anjo","anomalia","anotado","ansioso","anterior","anuidade","anunciar","anzol","apagador","apalpar","apanhado","apego","apelido","apertada","apesar","apetite","apito","aplauso","aplicada","apoio","apontar","aposta","aprendiz","aprovar","aquecer","arame","aranha","arara","arcada","ardente","areia","arejar","arenito","aresta","argiloso","argola","arma","arquivo","arraial","arrebate","arriscar","arroba","arrumar","arsenal","arterial","artigo","arvoredo","asfaltar","asilado","aspirar","assador","assinar","assoalho","assunto","astral","atacado","atadura","atalho","atarefar","atear","atender","aterro","ateu","atingir","atirador","ativo","atoleiro","atracar","atrevido","atriz","atual","atum","auditor","aumentar","aura","aurora","autismo","autoria","autuar","avaliar","avante","avaria","avental","avesso","aviador","avisar","avulso","axila","azarar","azedo","azeite","azulejo","babar","babosa","bacalhau","bacharel","bacia","bagagem","baiano","bailar","baioneta","bairro","baixista","bajular","baleia","baliza","balsa","banal","bandeira","banho","banir","banquete","barato","barbado","baronesa","barraca","barulho","baseado","bastante","batata","batedor","batida","batom","batucar","baunilha","beber","beijo","beirada","beisebol","beldade","beleza","belga","beliscar","bendito","bengala","benzer","berimbau","berlinda","berro","besouro","bexiga","bezerro","bico","bicudo","bienal","bifocal","bifurcar","bigorna","bilhete","bimestre","bimotor","biologia","biombo","biosfera","bipolar","birrento","biscoito","bisneto","bispo","bissexto","bitola","bizarro","blindado","bloco","bloquear","boato","bobagem","bocado","bocejo","bochecha","boicotar","bolada","boletim","bolha","bolo","bombeiro","bonde","boneco","bonita","borbulha","borda","boreal","borracha","bovino","boxeador","branco","brasa","braveza","breu","briga","brilho","brincar","broa","brochura","bronzear","broto","bruxo","bucha","budismo","bufar","bule","buraco","busca","busto","buzina","cabana","cabelo","cabide","cabo","cabrito","cacau","cacetada","cachorro","cacique","cadastro","cadeado","cafezal","caiaque","caipira","caixote","cajado","caju","calafrio","calcular","caldeira","calibrar","calmante","calota","camada","cambista","camisa","camomila","campanha","camuflar","canavial","cancelar","caneta","canguru","canhoto","canivete","canoa","cansado","cantar","canudo","capacho","capela","capinar","capotar","capricho","captador","capuz","caracol","carbono","cardeal","careca","carimbar","carneiro","carpete","carreira","cartaz","carvalho","casaco","casca","casebre","castelo","casulo","catarata","cativar","caule","causador","cautelar","cavalo","caverna","cebola","cedilha","cegonha","celebrar","celular","cenoura","censo","centeio","cercar","cerrado","certeiro","cerveja","cetim","cevada","chacota","chaleira","chamado","chapada","charme","chatice","chave","chefe","chegada","cheiro","cheque","chicote","chifre","chinelo","chocalho","chover","chumbo","chutar","chuva","cicatriz","ciclone","cidade","cidreira","ciente","cigana","cimento","cinto","cinza","ciranda","circuito","cirurgia","citar","clareza","clero","clicar","clone","clube","coado","coagir","cobaia","cobertor","cobrar","cocada","coelho","coentro","coeso","cogumelo","coibir","coifa","coiote","colar","coleira","colher","colidir","colmeia","colono","coluna","comando","combinar","comentar","comitiva","comover","complexo","comum","concha","condor","conectar","confuso","congelar","conhecer","conjugar","consumir","contrato","convite","cooperar","copeiro","copiador","copo","coquetel","coragem","cordial","corneta","coronha","corporal","correio","cortejo","coruja","corvo","cosseno","costela","cotonete","couro","couve","covil","cozinha","cratera","cravo","creche","credor","creme","crer","crespo","criada","criminal","crioulo","crise","criticar","crosta","crua","cruzeiro","cubano","cueca","cuidado","cujo","culatra","culminar","culpar","cultura","cumprir","cunhado","cupido","curativo","curral","cursar","curto","cuspir","custear","cutelo","damasco","datar","debater","debitar","deboche","debulhar","decalque","decimal","declive","decote","decretar","dedal","dedicado","deduzir","defesa","defumar","degelo","degrau","degustar","deitado","deixar","delator","delegado","delinear","delonga","demanda","demitir","demolido","dentista","depenado","depilar","depois","depressa","depurar","deriva","derramar","desafio","desbotar","descanso","desenho","desfiado","desgaste","desigual","deslize","desmamar","desova","despesa","destaque","desviar","detalhar","detentor","detonar","detrito","deusa","dever","devido","devotado","dezena","diagrama","dialeto","didata","difuso","digitar","dilatado","diluente","diminuir","dinastia","dinheiro","diocese","direto","discreta","disfarce","disparo","disquete","dissipar","distante","ditador","diurno","diverso","divisor","divulgar","dizer","dobrador","dolorido","domador","dominado","donativo","donzela","dormente","dorsal","dosagem","dourado","doutor","drenagem","drible","drogaria","duelar","duende","dueto","duplo","duquesa","durante","duvidoso","eclodir","ecoar","ecologia","edificar","edital","educado","efeito","efetivar","ejetar","elaborar","eleger","eleitor","elenco","elevador","eliminar","elogiar","embargo","embolado","embrulho","embutido","emenda","emergir","emissor","empatia","empenho","empinado","empolgar","emprego","empurrar","emulador","encaixe","encenado","enchente","encontro","endeusar","endossar","enfaixar","enfeite","enfim","engajado","engenho","englobar","engomado","engraxar","enguia","enjoar","enlatar","enquanto","enraizar","enrolado","enrugar","ensaio","enseada","ensino","ensopado","entanto","enteado","entidade","entortar","entrada","entulho","envergar","enviado","envolver","enxame","enxerto","enxofre","enxuto","epiderme","equipar","ereto","erguido","errata","erva","ervilha","esbanjar","esbelto","escama","escola","escrita","escuta","esfinge","esfolar","esfregar","esfumado","esgrima","esmalte","espanto","espelho","espiga","esponja","espreita","espumar","esquerda","estaca","esteira","esticar","estofado","estrela","estudo","esvaziar","etanol","etiqueta","euforia","europeu","evacuar","evaporar","evasivo","eventual","evidente","evoluir","exagero","exalar","examinar","exato","exausto","excesso","excitar","exclamar","executar","exemplo","exibir","exigente","exonerar","expandir","expelir","expirar","explanar","exposto","expresso","expulsar","externo","extinto","extrato","fabricar","fabuloso","faceta","facial","fada","fadiga","faixa","falar","falta","familiar","fandango","fanfarra","fantoche","fardado","farelo","farinha","farofa","farpa","fartura","fatia","fator","favorita","faxina","fazenda","fechado","feijoada","feirante","felino","feminino","fenda","feno","fera","feriado","ferrugem","ferver","festejar","fetal","feudal","fiapo","fibrose","ficar","ficheiro","figurado","fileira","filho","filme","filtrar","firmeza","fisgada","fissura","fita","fivela","fixador","fixo","flacidez","flamingo","flanela","flechada","flora","flutuar","fluxo","focal","focinho","fofocar","fogo","foguete","foice","folgado","folheto","forjar","formiga","forno","forte","fosco","fossa","fragata","fralda","frango","frasco","fraterno","freira","frente","fretar","frieza","friso","fritura","fronha","frustrar","fruteira","fugir","fulano","fuligem","fundar","fungo","funil","furador","furioso","futebol","gabarito","gabinete","gado","gaiato","gaiola","gaivota","galega","galho","galinha","galocha","ganhar","garagem","garfo","gargalo","garimpo","garoupa","garrafa","gasoduto","gasto","gata","gatilho","gaveta","gazela","gelado","geleia","gelo","gemada","gemer","gemido","generoso","gengiva","genial","genoma","genro","geologia","gerador","germinar","gesso","gestor","ginasta","gincana","gingado","girafa","girino","glacial","glicose","global","glorioso","goela","goiaba","golfe","golpear","gordura","gorjeta","gorro","gostoso","goteira","governar","gracejo","gradual","grafite","gralha","grampo","granada","gratuito","graveto","graxa","grego","grelhar","greve","grilo","grisalho","gritaria","grosso","grotesco","grudado","grunhido","gruta","guache","guarani","guaxinim","guerrear","guiar","guincho","guisado","gula","guloso","guru","habitar","harmonia","haste","haver","hectare","herdar","heresia","hesitar","hiato","hibernar","hidratar","hiena","hino","hipismo","hipnose","hipoteca","hoje","holofote","homem","honesto","honrado","hormonal","hospedar","humorado","iate","ideia","idoso","ignorado","igreja","iguana","ileso","ilha","iludido","iluminar","ilustrar","imagem","imediato","imenso","imersivo","iminente","imitador","imortal","impacto","impedir","implante","impor","imprensa","impune","imunizar","inalador","inapto","inativo","incenso","inchar","incidir","incluir","incolor","indeciso","indireto","indutor","ineficaz","inerente","infantil","infestar","infinito","inflamar","informal","infrator","ingerir","inibido","inicial","inimigo","injetar","inocente","inodoro","inovador","inox","inquieto","inscrito","inseto","insistir","inspetor","instalar","insulto","intacto","integral","intimar","intocado","intriga","invasor","inverno","invicto","invocar","iogurte","iraniano","ironizar","irreal","irritado","isca","isento","isolado","isqueiro","italiano","janeiro","jangada","janta","jararaca","jardim","jarro","jasmim","jato","javali","jazida","jejum","joaninha","joelhada","jogador","joia","jornal","jorrar","jovem","juba","judeu","judoca","juiz","julgador","julho","jurado","jurista","juro","justa","labareda","laboral","lacre","lactante","ladrilho","lagarta","lagoa","laje","lamber","lamentar","laminar","lampejo","lanche","lapidar","lapso","laranja","lareira","largura","lasanha","lastro","lateral","latido","lavanda","lavoura","lavrador","laxante","lazer","lealdade","lebre","legado","legendar","legista","leigo","leiloar","leitura","lembrete","leme","lenhador","lentilha","leoa","lesma","leste","letivo","letreiro","levar","leveza","levitar","liberal","libido","liderar","ligar","ligeiro","limitar","limoeiro","limpador","linda","linear","linhagem","liquidez","listagem","lisura","litoral","livro","lixa","lixeira","locador","locutor","lojista","lombo","lona","longe","lontra","lorde","lotado","loteria","loucura","lousa","louvar","luar","lucidez","lucro","luneta","lustre","lutador","luva","macaco","macete","machado","macio","madeira","madrinha","magnata","magreza","maior","mais","malandro","malha","malote","maluco","mamilo","mamoeiro","mamute","manada","mancha","mandato","manequim","manhoso","manivela","manobrar","mansa","manter","manusear","mapeado","maquinar","marcador","maresia","marfim","margem","marinho","marmita","maroto","marquise","marreco","martelo","marujo","mascote","masmorra","massagem","mastigar","matagal","materno","matinal","matutar","maxilar","medalha","medida","medusa","megafone","meiga","melancia","melhor","membro","memorial","menino","menos","mensagem","mental","merecer","mergulho","mesada","mesclar","mesmo","mesquita","mestre","metade","meteoro","metragem","mexer","mexicano","micro","migalha","migrar","milagre","milenar","milhar","mimado","minerar","minhoca","ministro","minoria","miolo","mirante","mirtilo","misturar","mocidade","moderno","modular","moeda","moer","moinho","moita","moldura","moleza","molho","molinete","molusco","montanha","moqueca","morango","morcego","mordomo","morena","mosaico","mosquete","mostarda","motel","motim","moto","motriz","muda","muito","mulata","mulher","multar","mundial","munido","muralha","murcho","muscular","museu","musical","nacional","nadador","naja","namoro","narina","narrado","nascer","nativa","natureza","navalha","navegar","navio","neblina","nebuloso","negativa","negociar","negrito","nervoso","neta","neural","nevasca","nevoeiro","ninar","ninho","nitidez","nivelar","nobreza","noite","noiva","nomear","nominal","nordeste","nortear","notar","noticiar","noturno","novelo","novilho","novo","nublado","nudez","numeral","nupcial","nutrir","nuvem","obcecado","obedecer","objetivo","obrigado","obscuro","obstetra","obter","obturar","ocidente","ocioso","ocorrer","oculista","ocupado","ofegante","ofensiva","oferenda","oficina","ofuscado","ogiva","olaria","oleoso","olhar","oliveira","ombro","omelete","omisso","omitir","ondulado","oneroso","ontem","opcional","operador","oponente","oportuno","oposto","orar","orbitar","ordem","ordinal","orfanato","orgasmo","orgulho","oriental","origem","oriundo","orla","ortodoxo","orvalho","oscilar","ossada","osso","ostentar","otimismo","ousadia","outono","outubro","ouvido","ovelha","ovular","oxidar","oxigenar","pacato","paciente","pacote","pactuar","padaria","padrinho","pagar","pagode","painel","pairar","paisagem","palavra","palestra","palheta","palito","palmada","palpitar","pancada","panela","panfleto","panqueca","pantanal","papagaio","papelada","papiro","parafina","parcial","pardal","parede","partida","pasmo","passado","pastel","patamar","patente","patinar","patrono","paulada","pausar","peculiar","pedalar","pedestre","pediatra","pedra","pegada","peitoral","peixe","pele","pelicano","penca","pendurar","peneira","penhasco","pensador","pente","perceber","perfeito","pergunta","perito","permitir","perna","perplexo","persiana","pertence","peruca","pescado","pesquisa","pessoa","petiscar","piada","picado","piedade","pigmento","pilastra","pilhado","pilotar","pimenta","pincel","pinguim","pinha","pinote","pintar","pioneiro","pipoca","piquete","piranha","pires","pirueta","piscar","pistola","pitanga","pivete","planta","plaqueta","platina","plebeu","plumagem","pluvial","pneu","poda","poeira","poetisa","polegada","policiar","poluente","polvilho","pomar","pomba","ponderar","pontaria","populoso","porta","possuir","postal","pote","poupar","pouso","povoar","praia","prancha","prato","praxe","prece","predador","prefeito","premiar","prensar","preparar","presilha","pretexto","prevenir","prezar","primata","princesa","prisma","privado","processo","produto","profeta","proibido","projeto","prometer","propagar","prosa","protetor","provador","publicar","pudim","pular","pulmonar","pulseira","punhal","punir","pupilo","pureza","puxador","quadra","quantia","quarto","quase","quebrar","queda","queijo","quente","querido","quimono","quina","quiosque","rabanada","rabisco","rachar","racionar","radial","raiar","rainha","raio","raiva","rajada","ralado","ramal","ranger","ranhura","rapadura","rapel","rapidez","raposa","raquete","raridade","rasante","rascunho","rasgar","raspador","rasteira","rasurar","ratazana","ratoeira","realeza","reanimar","reaver","rebaixar","rebelde","rebolar","recado","recente","recheio","recibo","recordar","recrutar","recuar","rede","redimir","redonda","reduzida","reenvio","refinar","refletir","refogar","refresco","refugiar","regalia","regime","regra","reinado","reitor","rejeitar","relativo","remador","remendo","remorso","renovado","reparo","repelir","repleto","repolho","represa","repudiar","requerer","resenha","resfriar","resgatar","residir","resolver","respeito","ressaca","restante","resumir","retalho","reter","retirar","retomada","retratar","revelar","revisor","revolta","riacho","rica","rigidez","rigoroso","rimar","ringue","risada","risco","risonho","robalo","rochedo","rodada","rodeio","rodovia","roedor","roleta","romano","roncar","rosado","roseira","rosto","rota","roteiro","rotina","rotular","rouco","roupa","roxo","rubro","rugido","rugoso","ruivo","rumo","rupestre","russo","sabor","saciar","sacola","sacudir","sadio","safira","saga","sagrada","saibro","salada","saleiro","salgado","saliva","salpicar","salsicha","saltar","salvador","sambar","samurai","sanar","sanfona","sangue","sanidade","sapato","sarda","sargento","sarjeta","saturar","saudade","saxofone","sazonal","secar","secular","seda","sedento","sediado","sedoso","sedutor","segmento","segredo","segundo","seiva","seleto","selvagem","semanal","semente","senador","senhor","sensual","sentado","separado","sereia","seringa","serra","servo","setembro","setor","sigilo","silhueta","silicone","simetria","simpatia","simular","sinal","sincero","singular","sinopse","sintonia","sirene","siri","situado","soberano","sobra","socorro","sogro","soja","solda","soletrar","solteiro","sombrio","sonata","sondar","sonegar","sonhador","sono","soprano","soquete","sorrir","sorteio","sossego","sotaque","soterrar","sovado","sozinho","suavizar","subida","submerso","subsolo","subtrair","sucata","sucesso","suco","sudeste","sufixo","sugador","sugerir","sujeito","sulfato","sumir","suor","superior","suplicar","suposto","suprimir","surdina","surfista","surpresa","surreal","surtir","suspiro","sustento","tabela","tablete","tabuada","tacho","tagarela","talher","talo","talvez","tamanho","tamborim","tampa","tangente","tanto","tapar","tapioca","tardio","tarefa","tarja","tarraxa","tatuagem","taurino","taxativo","taxista","teatral","tecer","tecido","teclado","tedioso","teia","teimar","telefone","telhado","tempero","tenente","tensor","tentar","termal","terno","terreno","tese","tesoura","testado","teto","textura","texugo","tiara","tigela","tijolo","timbrar","timidez","tingido","tinteiro","tiragem","titular","toalha","tocha","tolerar","tolice","tomada","tomilho","tonel","tontura","topete","tora","torcido","torneio","torque","torrada","torto","tostar","touca","toupeira","toxina","trabalho","tracejar","tradutor","trafegar","trajeto","trama","trancar","trapo","traseiro","tratador","travar","treino","tremer","trepidar","trevo","triagem","tribo","triciclo","tridente","trilogia","trindade","triplo","triturar","triunfal","trocar","trombeta","trova","trunfo","truque","tubular","tucano","tudo","tulipa","tupi","turbo","turma","turquesa","tutelar","tutorial","uivar","umbigo","unha","unidade","uniforme","urologia","urso","urtiga","urubu","usado","usina","usufruir","vacina","vadiar","vagaroso","vaidoso","vala","valente","validade","valores","vantagem","vaqueiro","varanda","vareta","varrer","vascular","vasilha","vassoura","vazar","vazio","veado","vedar","vegetar","veicular","veleiro","velhice","veludo","vencedor","vendaval","venerar","ventre","verbal","verdade","vereador","vergonha","vermelho","verniz","versar","vertente","vespa","vestido","vetorial","viaduto","viagem","viajar","viatura","vibrador","videira","vidraria","viela","viga","vigente","vigiar","vigorar","vilarejo","vinco","vinheta","vinil","violeta","virada","virtude","visitar","visto","vitral","viveiro","vizinho","voador","voar","vogal","volante","voleibol","voltagem","volumoso","vontade","vulto","vuvuzela","xadrez","xarope","xeque","xeretar","xerife","xingar","zangado","zarpar","zebu","zelador","zombar","zoologia","zumbido"]'), jF = JSON.parse('["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]');
  var j4;
  function z4() {
    if (j4) return Dr;
    j4 = 1, Object.defineProperty(Dr, "__esModule", {
      value: true
    });
    const e = {};
    Dr.wordlists = e;
    let t;
    Dr._default = t;
    try {
      Dr._default = t = CF, e.czech = t;
    } catch {
    }
    try {
      Dr._default = t = kF, e.chinese_simplified = t;
    } catch {
    }
    try {
      Dr._default = t = DF, e.chinese_traditional = t;
    } catch {
    }
    try {
      Dr._default = t = FF, e.korean = t;
    } catch {
    }
    try {
      Dr._default = t = SF, e.french = t;
    } catch {
    }
    try {
      Dr._default = t = _F, e.italian = t;
    } catch {
    }
    try {
      Dr._default = t = IF, e.spanish = t;
    } catch {
    }
    try {
      Dr._default = t = PF, e.japanese = t, e.JA = t;
    } catch {
    }
    try {
      Dr._default = t = NF, e.portuguese = t;
    } catch {
    }
    try {
      Dr._default = t = jF, e.english = t, e.EN = t;
    } catch {
    }
    return Dr;
  }
  var U4;
  function zF() {
    if (U4) return hn;
    U4 = 1, Object.defineProperty(hn, "__esModule", {
      value: true
    });
    const e = bF(), t = wF(), r = BF(), n = Fc(), a = z4();
    let i = a._default;
    const l = "Invalid mnemonic", c = "Invalid entropy", u = "Invalid mnemonic checksum", x = `A wordlist is required but a default could not be found.
Please pass a 2048 word array explicitly.`;
    function f(C) {
      return (C || "").normalize("NFKD");
    }
    function h(C, z, I) {
      for (; C.length < I; ) C = z + C;
      return C;
    }
    function p(C) {
      return parseInt(C, 2);
    }
    function m(C) {
      return C.map((z) => h(z.toString(2), "0", 8)).join("");
    }
    function y(C) {
      const I = C.length * 8 / 32, R = e.sha256(Uint8Array.from(C));
      return m(Array.from(R)).slice(0, I);
    }
    function B(C) {
      return "mnemonic" + (C || "");
    }
    function v(C, z) {
      const I = Uint8Array.from(Buffer.from(f(C), "utf8")), R = Uint8Array.from(Buffer.from(B(f(z)), "utf8")), L = r.pbkdf2(t.sha512, I, R, {
        c: 2048,
        dkLen: 64
      });
      return Buffer.from(L);
    }
    hn.mnemonicToSeedSync = v;
    function D(C, z) {
      const I = Uint8Array.from(Buffer.from(f(C), "utf8")), R = Uint8Array.from(Buffer.from(B(f(z)), "utf8"));
      return r.pbkdf2Async(t.sha512, I, R, {
        c: 2048,
        dkLen: 64
      }).then((L) => Buffer.from(L));
    }
    hn.mnemonicToSeed = D;
    function P(C, z) {
      if (z = z || i, !z) throw new Error(x);
      const I = f(C).split(" ");
      if (I.length % 3 !== 0) throw new Error(l);
      const R = I.map((Q) => {
        const V = z.indexOf(Q);
        if (V === -1) throw new Error(l);
        return h(V.toString(2), "0", 11);
      }).join(""), L = Math.floor(R.length / 33) * 32, O = R.slice(0, L), W = R.slice(L), $ = O.match(/(.{1,8})/g).map(p);
      if ($.length < 16) throw new Error(c);
      if ($.length > 32) throw new Error(c);
      if ($.length % 4 !== 0) throw new Error(c);
      const X = Buffer.from($);
      if (y(X) !== W) throw new Error(u);
      return X.toString("hex");
    }
    hn.mnemonicToEntropy = P;
    function k(C, z) {
      if (Buffer.isBuffer(C) || (C = Buffer.from(C, "hex")), z = z || i, !z) throw new Error(x);
      if (C.length < 16) throw new TypeError(c);
      if (C.length > 32) throw new TypeError(c);
      if (C.length % 4 !== 0) throw new TypeError(c);
      const I = m(Array.from(C)), R = y(C), W = (I + R).match(/(.{1,11})/g).map(($) => {
        const X = p($);
        return z[X];
      });
      return z[0] === "\u3042\u3044\u3053\u304F\u3057\u3093" ? W.join("\u3000") : W.join(" ");
    }
    hn.entropyToMnemonic = k;
    function w(C, z, I) {
      if (C = C || 128, C % 32 !== 0) throw new TypeError(c);
      return z = z || ((R) => Buffer.from(n.randomBytes(R))), k(z(C / 8), I);
    }
    hn.generateMnemonic = w;
    function _(C, z) {
      try {
        P(C, z);
      } catch {
        return false;
      }
      return true;
    }
    hn.validateMnemonic = _;
    function T(C) {
      const z = a.wordlists[C];
      if (z) i = z;
      else throw new Error('Could not find wordlist for language "' + C + '"');
    }
    hn.setDefaultWordlist = T;
    function N() {
      if (!i) throw new Error("No Default Wordlist set");
      return Object.keys(a.wordlists).filter((C) => C === "JA" || C === "EN" ? false : a.wordlists[C].every((z, I) => z === i[I]))[0];
    }
    hn.getDefaultWordlist = N;
    var U = z4();
    return hn.wordlists = U.wordlists, hn;
  }
  var by = zF();
  const UF = xg({
    __proto__: null
  }, [
    by
  ]);
  function TF(e) {
    return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
  }
  function T4(e) {
    if (!Number.isSafeInteger(e) || e < 0) throw new Error("positive integer expected, got " + e);
  }
  function Td(e, ...t) {
    if (!TF(e)) throw new Error("Uint8Array expected");
    if (t.length > 0 && !t.includes(e.length)) throw new Error("Uint8Array expected of length " + t + ", got length=" + e.length);
  }
  function RF(e) {
    if (typeof e != "function" || typeof e.create != "function") throw new Error("Hash should be wrapped by utils.createHasher");
    T4(e.outputLen), T4(e.blockLen);
  }
  function ad(e, t = true) {
    if (e.destroyed) throw new Error("Hash instance has been destroyed");
    if (t && e.finished) throw new Error("Hash#digest() has already been called");
  }
  function KF(e, t) {
    Td(e);
    const r = t.outputLen;
    if (e.length < r) throw new Error("digestInto() expects output buffer of length at least " + r);
  }
  function ri(...e) {
    for (let t = 0; t < e.length; t++) e[t].fill(0);
  }
  function $h(e) {
    return new DataView(e.buffer, e.byteOffset, e.byteLength);
  }
  function ra(e, t) {
    return e << 32 - t | e >>> t;
  }
  function cx(e, t) {
    return e << t | e >>> 32 - t >>> 0;
  }
  function MF(e) {
    if (typeof e != "string") throw new Error("string expected");
    return new Uint8Array(new TextEncoder().encode(e));
  }
  function N9(e) {
    return typeof e == "string" && (e = MF(e)), Td(e), e;
  }
  class wy {
  }
  function j9(e) {
    const t = (n) => e().update(N9(n)).digest(), r = e();
    return t.outputLen = r.outputLen, t.blockLen = r.blockLen, t.create = () => e(), t;
  }
  class vy extends wy {
    constructor(t, r) {
      super(), this.finished = false, this.destroyed = false, RF(t);
      const n = N9(r);
      if (this.iHash = t.create(), typeof this.iHash.update != "function") throw new Error("Expected instance of class which extends utils.Hash");
      this.blockLen = this.iHash.blockLen, this.outputLen = this.iHash.outputLen;
      const a = this.blockLen, i = new Uint8Array(a);
      i.set(n.length > a ? t.create().update(n).digest() : n);
      for (let l = 0; l < i.length; l++) i[l] ^= 54;
      this.iHash.update(i), this.oHash = t.create();
      for (let l = 0; l < i.length; l++) i[l] ^= 106;
      this.oHash.update(i), ri(i);
    }
    update(t) {
      return ad(this), this.iHash.update(t), this;
    }
    digestInto(t) {
      ad(this), Td(t, this.outputLen), this.finished = true, this.iHash.digestInto(t), this.oHash.update(t), this.oHash.digestInto(t), this.destroy();
    }
    digest() {
      const t = new Uint8Array(this.oHash.outputLen);
      return this.digestInto(t), t;
    }
    _cloneInto(t) {
      t || (t = Object.create(Object.getPrototypeOf(this), {}));
      const { oHash: r, iHash: n, finished: a, destroyed: i, blockLen: l, outputLen: c } = this;
      return t = t, t.finished = a, t.destroyed = i, t.blockLen = l, t.outputLen = c, t.oHash = r._cloneInto(t.oHash), t.iHash = n._cloneInto(t.iHash), t;
    }
    clone() {
      return this._cloneInto();
    }
    destroy() {
      this.destroyed = true, this.oHash.destroy(), this.iHash.destroy();
    }
  }
  const By = (e, t, r) => new vy(e, t).update(r).digest();
  By.create = (e, t) => new vy(e, t);
  function LF(e, t, r, n) {
    if (typeof e.setBigUint64 == "function") return e.setBigUint64(t, r, n);
    const a = BigInt(32), i = BigInt(4294967295), l = Number(r >> a & i), c = Number(r & i), u = n ? 4 : 0, x = n ? 0 : 4;
    e.setUint32(t + u, l, n), e.setUint32(t + x, c, n);
  }
  function OF(e, t, r) {
    return e & t ^ ~e & r;
  }
  function HF(e, t, r) {
    return e & t ^ e & r ^ t & r;
  }
  class z9 extends wy {
    constructor(t, r, n, a) {
      super(), this.finished = false, this.length = 0, this.pos = 0, this.destroyed = false, this.blockLen = t, this.outputLen = r, this.padOffset = n, this.isLE = a, this.buffer = new Uint8Array(t), this.view = $h(this.buffer);
    }
    update(t) {
      ad(this), t = N9(t), Td(t);
      const { view: r, buffer: n, blockLen: a } = this, i = t.length;
      for (let l = 0; l < i; ) {
        const c = Math.min(a - this.pos, i - l);
        if (c === a) {
          const u = $h(t);
          for (; a <= i - l; l += a) this.process(u, l);
          continue;
        }
        n.set(t.subarray(l, l + c), this.pos), this.pos += c, l += c, this.pos === a && (this.process(r, 0), this.pos = 0);
      }
      return this.length += t.length, this.roundClean(), this;
    }
    digestInto(t) {
      ad(this), KF(t, this), this.finished = true;
      const { buffer: r, view: n, blockLen: a, isLE: i } = this;
      let { pos: l } = this;
      r[l++] = 128, ri(this.buffer.subarray(l)), this.padOffset > a - l && (this.process(n, 0), l = 0);
      for (let h = l; h < a; h++) r[h] = 0;
      LF(n, a - 8, BigInt(this.length * 8), i), this.process(n, 0);
      const c = $h(t), u = this.outputLen;
      if (u % 4) throw new Error("_sha2: outputLen should be aligned to 32bit");
      const x = u / 4, f = this.get();
      if (x > f.length) throw new Error("_sha2: outputLen bigger than state");
      for (let h = 0; h < x; h++) c.setUint32(4 * h, f[h], i);
    }
    digest() {
      const { buffer: t, outputLen: r } = this;
      this.digestInto(t);
      const n = t.slice(0, r);
      return this.destroy(), n;
    }
    _cloneInto(t) {
      t || (t = new this.constructor()), t.set(...this.get());
      const { blockLen: r, buffer: n, length: a, finished: i, destroyed: l, pos: c } = this;
      return t.destroyed = l, t.finished = i, t.length = a, t.pos = c, a % r && t.buffer.set(n), t;
    }
    clone() {
      return this._cloneInto();
    }
  }
  const Ro = Uint32Array.from([
    1779033703,
    3144134277,
    1013904242,
    2773480762,
    1359893119,
    2600822924,
    528734635,
    1541459225
  ]), br = Uint32Array.from([
    1779033703,
    4089235720,
    3144134277,
    2227873595,
    1013904242,
    4271175723,
    2773480762,
    1595750129,
    1359893119,
    2917565137,
    2600822924,
    725511199,
    528734635,
    4215389547,
    1541459225,
    327033209
  ]), QF = Uint8Array.from([
    7,
    4,
    13,
    1,
    10,
    6,
    15,
    3,
    12,
    0,
    9,
    5,
    2,
    14,
    11,
    8
  ]), Cy = Uint8Array.from(new Array(16).fill(0).map((e, t) => t)), qF = Cy.map((e) => (9 * e + 5) % 16), ky = (() => {
    const r = [
      [
        Cy
      ],
      [
        qF
      ]
    ];
    for (let n = 0; n < 4; n++) for (let a of r) a.push(a[n].map((i) => QF[i]));
    return r;
  })(), Dy = ky[0], Fy = ky[1], Sy = [
    [
      11,
      14,
      15,
      12,
      5,
      8,
      7,
      9,
      11,
      13,
      14,
      15,
      6,
      7,
      9,
      8
    ],
    [
      12,
      13,
      11,
      15,
      6,
      9,
      9,
      7,
      12,
      15,
      11,
      13,
      7,
      8,
      7,
      7
    ],
    [
      13,
      15,
      14,
      11,
      7,
      7,
      6,
      8,
      13,
      14,
      13,
      12,
      5,
      5,
      6,
      9
    ],
    [
      14,
      11,
      12,
      14,
      8,
      6,
      5,
      5,
      15,
      12,
      15,
      14,
      9,
      9,
      8,
      6
    ],
    [
      15,
      12,
      13,
      13,
      9,
      5,
      8,
      6,
      14,
      11,
      12,
      11,
      8,
      6,
      5,
      5
    ]
  ].map((e) => Uint8Array.from(e)), GF = Dy.map((e, t) => e.map((r) => Sy[t][r])), VF = Fy.map((e, t) => e.map((r) => Sy[t][r])), WF = Uint32Array.from([
    0,
    1518500249,
    1859775393,
    2400959708,
    2840853838
  ]), $F = Uint32Array.from([
    1352829926,
    1548603684,
    1836072691,
    2053994217,
    0
  ]);
  function R4(e, t, r, n) {
    return e === 0 ? t ^ r ^ n : e === 1 ? t & r | ~t & n : e === 2 ? (t | ~r) ^ n : e === 3 ? t & n | r & ~n : t ^ (r | ~n);
  }
  const ux = new Uint32Array(16);
  class ZF extends z9 {
    constructor() {
      super(64, 20, 8, true), this.h0 = 1732584193, this.h1 = -271733879, this.h2 = -1732584194, this.h3 = 271733878, this.h4 = -1009589776;
    }
    get() {
      const { h0: t, h1: r, h2: n, h3: a, h4: i } = this;
      return [
        t,
        r,
        n,
        a,
        i
      ];
    }
    set(t, r, n, a, i) {
      this.h0 = t | 0, this.h1 = r | 0, this.h2 = n | 0, this.h3 = a | 0, this.h4 = i | 0;
    }
    process(t, r) {
      for (let m = 0; m < 16; m++, r += 4) ux[m] = t.getUint32(r, true);
      let n = this.h0 | 0, a = n, i = this.h1 | 0, l = i, c = this.h2 | 0, u = c, x = this.h3 | 0, f = x, h = this.h4 | 0, p = h;
      for (let m = 0; m < 5; m++) {
        const y = 4 - m, B = WF[m], v = $F[m], D = Dy[m], P = Fy[m], k = GF[m], w = VF[m];
        for (let _ = 0; _ < 16; _++) {
          const T = cx(n + R4(m, i, c, x) + ux[D[_]] + B, k[_]) + h | 0;
          n = h, h = x, x = cx(c, 10) | 0, c = i, i = T;
        }
        for (let _ = 0; _ < 16; _++) {
          const T = cx(a + R4(y, l, u, f) + ux[P[_]] + v, w[_]) + p | 0;
          a = p, p = f, f = cx(u, 10) | 0, u = l, l = T;
        }
      }
      this.set(this.h1 + c + f | 0, this.h2 + x + p | 0, this.h3 + h + a | 0, this.h4 + n + l | 0, this.h0 + i + u | 0);
    }
    roundClean() {
      ri(ux);
    }
    destroy() {
      this.destroyed = true, ri(this.buffer), this.set(0, 0, 0, 0, 0);
    }
  }
  const YF = j9(() => new ZF()), XF = YF, xx = BigInt(2 ** 32 - 1), K4 = BigInt(32);
  function JF(e, t = false) {
    return t ? {
      h: Number(e & xx),
      l: Number(e >> K4 & xx)
    } : {
      h: Number(e >> K4 & xx) | 0,
      l: Number(e & xx) | 0
    };
  }
  function eS(e, t = false) {
    const r = e.length;
    let n = new Uint32Array(r), a = new Uint32Array(r);
    for (let i = 0; i < r; i++) {
      const { h: l, l: c } = JF(e[i], t);
      [n[i], a[i]] = [
        l,
        c
      ];
    }
    return [
      n,
      a
    ];
  }
  const M4 = (e, t, r) => e >>> r, L4 = (e, t, r) => e << 32 - r | t >>> r, T0 = (e, t, r) => e >>> r | t << 32 - r, R0 = (e, t, r) => e << 32 - r | t >>> r, dx = (e, t, r) => e << 64 - r | t >>> r - 32, fx = (e, t, r) => e >>> r - 32 | t << 64 - r;
  function Ka(e, t, r, n) {
    const a = (t >>> 0) + (n >>> 0);
    return {
      h: e + r + (a / 2 ** 32 | 0) | 0,
      l: a | 0
    };
  }
  const tS = (e, t, r) => (e >>> 0) + (t >>> 0) + (r >>> 0), rS = (e, t, r, n) => t + r + n + (e / 2 ** 32 | 0) | 0, nS = (e, t, r, n) => (e >>> 0) + (t >>> 0) + (r >>> 0) + (n >>> 0), aS = (e, t, r, n, a) => t + r + n + a + (e / 2 ** 32 | 0) | 0, oS = (e, t, r, n, a) => (e >>> 0) + (t >>> 0) + (r >>> 0) + (n >>> 0) + (a >>> 0), iS = (e, t, r, n, a, i) => t + r + n + a + i + (e / 2 ** 32 | 0) | 0, sS = Uint32Array.from([
    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
  ]), Ko = new Uint32Array(64);
  class lS extends z9 {
    constructor(t = 32) {
      super(64, t, 8, false), this.A = Ro[0] | 0, this.B = Ro[1] | 0, this.C = Ro[2] | 0, this.D = Ro[3] | 0, this.E = Ro[4] | 0, this.F = Ro[5] | 0, this.G = Ro[6] | 0, this.H = Ro[7] | 0;
    }
    get() {
      const { A: t, B: r, C: n, D: a, E: i, F: l, G: c, H: u } = this;
      return [
        t,
        r,
        n,
        a,
        i,
        l,
        c,
        u
      ];
    }
    set(t, r, n, a, i, l, c, u) {
      this.A = t | 0, this.B = r | 0, this.C = n | 0, this.D = a | 0, this.E = i | 0, this.F = l | 0, this.G = c | 0, this.H = u | 0;
    }
    process(t, r) {
      for (let h = 0; h < 16; h++, r += 4) Ko[h] = t.getUint32(r, false);
      for (let h = 16; h < 64; h++) {
        const p = Ko[h - 15], m = Ko[h - 2], y = ra(p, 7) ^ ra(p, 18) ^ p >>> 3, B = ra(m, 17) ^ ra(m, 19) ^ m >>> 10;
        Ko[h] = B + Ko[h - 7] + y + Ko[h - 16] | 0;
      }
      let { A: n, B: a, C: i, D: l, E: c, F: u, G: x, H: f } = this;
      for (let h = 0; h < 64; h++) {
        const p = ra(c, 6) ^ ra(c, 11) ^ ra(c, 25), m = f + p + OF(c, u, x) + sS[h] + Ko[h] | 0, B = (ra(n, 2) ^ ra(n, 13) ^ ra(n, 22)) + HF(n, a, i) | 0;
        f = x, x = u, u = c, c = l + m | 0, l = i, i = a, a = n, n = m + B | 0;
      }
      n = n + this.A | 0, a = a + this.B | 0, i = i + this.C | 0, l = l + this.D | 0, c = c + this.E | 0, u = u + this.F | 0, x = x + this.G | 0, f = f + this.H | 0, this.set(n, a, i, l, c, u, x, f);
    }
    roundClean() {
      ri(Ko);
    }
    destroy() {
      this.set(0, 0, 0, 0, 0, 0, 0, 0), ri(this.buffer);
    }
  }
  const _y = eS([
    "0x428a2f98d728ae22",
    "0x7137449123ef65cd",
    "0xb5c0fbcfec4d3b2f",
    "0xe9b5dba58189dbbc",
    "0x3956c25bf348b538",
    "0x59f111f1b605d019",
    "0x923f82a4af194f9b",
    "0xab1c5ed5da6d8118",
    "0xd807aa98a3030242",
    "0x12835b0145706fbe",
    "0x243185be4ee4b28c",
    "0x550c7dc3d5ffb4e2",
    "0x72be5d74f27b896f",
    "0x80deb1fe3b1696b1",
    "0x9bdc06a725c71235",
    "0xc19bf174cf692694",
    "0xe49b69c19ef14ad2",
    "0xefbe4786384f25e3",
    "0x0fc19dc68b8cd5b5",
    "0x240ca1cc77ac9c65",
    "0x2de92c6f592b0275",
    "0x4a7484aa6ea6e483",
    "0x5cb0a9dcbd41fbd4",
    "0x76f988da831153b5",
    "0x983e5152ee66dfab",
    "0xa831c66d2db43210",
    "0xb00327c898fb213f",
    "0xbf597fc7beef0ee4",
    "0xc6e00bf33da88fc2",
    "0xd5a79147930aa725",
    "0x06ca6351e003826f",
    "0x142929670a0e6e70",
    "0x27b70a8546d22ffc",
    "0x2e1b21385c26c926",
    "0x4d2c6dfc5ac42aed",
    "0x53380d139d95b3df",
    "0x650a73548baf63de",
    "0x766a0abb3c77b2a8",
    "0x81c2c92e47edaee6",
    "0x92722c851482353b",
    "0xa2bfe8a14cf10364",
    "0xa81a664bbc423001",
    "0xc24b8b70d0f89791",
    "0xc76c51a30654be30",
    "0xd192e819d6ef5218",
    "0xd69906245565a910",
    "0xf40e35855771202a",
    "0x106aa07032bbd1b8",
    "0x19a4c116b8d2d0c8",
    "0x1e376c085141ab53",
    "0x2748774cdf8eeb99",
    "0x34b0bcb5e19b48a8",
    "0x391c0cb3c5c95a63",
    "0x4ed8aa4ae3418acb",
    "0x5b9cca4f7763e373",
    "0x682e6ff3d6b2b8a3",
    "0x748f82ee5defb2fc",
    "0x78a5636f43172f60",
    "0x84c87814a1f0ab72",
    "0x8cc702081a6439ec",
    "0x90befffa23631e28",
    "0xa4506cebde82bde9",
    "0xbef9a3f7b2c67915",
    "0xc67178f2e372532b",
    "0xca273eceea26619c",
    "0xd186b8c721c0c207",
    "0xeada7dd6cde0eb1e",
    "0xf57d4f7fee6ed178",
    "0x06f067aa72176fba",
    "0x0a637dc5a2c898a6",
    "0x113f9804bef90dae",
    "0x1b710b35131c471b",
    "0x28db77f523047d84",
    "0x32caab7b40c72493",
    "0x3c9ebe0a15c9bebc",
    "0x431d67c49c100d4c",
    "0x4cc5d4becb3e42b6",
    "0x597f299cfc657e2a",
    "0x5fcb6fab3ad6faec",
    "0x6c44198c4a475817"
  ].map((e) => BigInt(e))), cS = _y[0], uS = _y[1], Mo = new Uint32Array(80), Lo = new Uint32Array(80);
  class xS extends z9 {
    constructor(t = 64) {
      super(128, t, 16, false), this.Ah = br[0] | 0, this.Al = br[1] | 0, this.Bh = br[2] | 0, this.Bl = br[3] | 0, this.Ch = br[4] | 0, this.Cl = br[5] | 0, this.Dh = br[6] | 0, this.Dl = br[7] | 0, this.Eh = br[8] | 0, this.El = br[9] | 0, this.Fh = br[10] | 0, this.Fl = br[11] | 0, this.Gh = br[12] | 0, this.Gl = br[13] | 0, this.Hh = br[14] | 0, this.Hl = br[15] | 0;
    }
    get() {
      const { Ah: t, Al: r, Bh: n, Bl: a, Ch: i, Cl: l, Dh: c, Dl: u, Eh: x, El: f, Fh: h, Fl: p, Gh: m, Gl: y, Hh: B, Hl: v } = this;
      return [
        t,
        r,
        n,
        a,
        i,
        l,
        c,
        u,
        x,
        f,
        h,
        p,
        m,
        y,
        B,
        v
      ];
    }
    set(t, r, n, a, i, l, c, u, x, f, h, p, m, y, B, v) {
      this.Ah = t | 0, this.Al = r | 0, this.Bh = n | 0, this.Bl = a | 0, this.Ch = i | 0, this.Cl = l | 0, this.Dh = c | 0, this.Dl = u | 0, this.Eh = x | 0, this.El = f | 0, this.Fh = h | 0, this.Fl = p | 0, this.Gh = m | 0, this.Gl = y | 0, this.Hh = B | 0, this.Hl = v | 0;
    }
    process(t, r) {
      for (let k = 0; k < 16; k++, r += 4) Mo[k] = t.getUint32(r), Lo[k] = t.getUint32(r += 4);
      for (let k = 16; k < 80; k++) {
        const w = Mo[k - 15] | 0, _ = Lo[k - 15] | 0, T = T0(w, _, 1) ^ T0(w, _, 8) ^ M4(w, _, 7), N = R0(w, _, 1) ^ R0(w, _, 8) ^ L4(w, _, 7), U = Mo[k - 2] | 0, C = Lo[k - 2] | 0, z = T0(U, C, 19) ^ dx(U, C, 61) ^ M4(U, C, 6), I = R0(U, C, 19) ^ fx(U, C, 61) ^ L4(U, C, 6), R = nS(N, I, Lo[k - 7], Lo[k - 16]), L = aS(R, T, z, Mo[k - 7], Mo[k - 16]);
        Mo[k] = L | 0, Lo[k] = R | 0;
      }
      let { Ah: n, Al: a, Bh: i, Bl: l, Ch: c, Cl: u, Dh: x, Dl: f, Eh: h, El: p, Fh: m, Fl: y, Gh: B, Gl: v, Hh: D, Hl: P } = this;
      for (let k = 0; k < 80; k++) {
        const w = T0(h, p, 14) ^ T0(h, p, 18) ^ dx(h, p, 41), _ = R0(h, p, 14) ^ R0(h, p, 18) ^ fx(h, p, 41), T = h & m ^ ~h & B, N = p & y ^ ~p & v, U = oS(P, _, N, uS[k], Lo[k]), C = iS(U, D, w, T, cS[k], Mo[k]), z = U | 0, I = T0(n, a, 28) ^ dx(n, a, 34) ^ dx(n, a, 39), R = R0(n, a, 28) ^ fx(n, a, 34) ^ fx(n, a, 39), L = n & i ^ n & c ^ i & c, O = a & l ^ a & u ^ l & u;
        D = B | 0, P = v | 0, B = m | 0, v = y | 0, m = h | 0, y = p | 0, { h, l: p } = Ka(x | 0, f | 0, C | 0, z | 0), x = c | 0, f = u | 0, c = i | 0, u = l | 0, i = n | 0, l = a | 0;
        const W = tS(z, R, O);
        n = rS(W, C, I, L), a = W | 0;
      }
      ({ h: n, l: a } = Ka(this.Ah | 0, this.Al | 0, n | 0, a | 0)), { h: i, l } = Ka(this.Bh | 0, this.Bl | 0, i | 0, l | 0), { h: c, l: u } = Ka(this.Ch | 0, this.Cl | 0, c | 0, u | 0), { h: x, l: f } = Ka(this.Dh | 0, this.Dl | 0, x | 0, f | 0), { h, l: p } = Ka(this.Eh | 0, this.El | 0, h | 0, p | 0), { h: m, l: y } = Ka(this.Fh | 0, this.Fl | 0, m | 0, y | 0), { h: B, l: v } = Ka(this.Gh | 0, this.Gl | 0, B | 0, v | 0), { h: D, l: P } = Ka(this.Hh | 0, this.Hl | 0, D | 0, P | 0), this.set(n, a, i, l, c, u, x, f, h, p, m, y, B, v, D, P);
    }
    roundClean() {
      ri(Mo, Lo);
    }
    destroy() {
      ri(this.buffer), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    }
  }
  const dS = j9(() => new lS()), fS = j9(() => new xS()), od = dS, hS = fS;
  function pS(e) {
    return XF(od(e));
  }
  function O4(e, t) {
    return By(hS, e, t);
  }
  const Iy = "0123456789abcdefABCDEF";
  Iy.split("").map((e) => e.codePointAt(0));
  const H4 = Array(256).fill(true).map((e, t) => {
    const r = String.fromCodePoint(t), n = Iy.indexOf(r);
    return n < 0 ? void 0 : n < 16 ? n : n - 6;
  }), Py = new TextEncoder();
  new TextDecoder();
  function gS(e) {
    return Py.encode(e);
  }
  function mS(e) {
    const t = e.reduce((a, i) => a + i.length, 0), r = new Uint8Array(t);
    let n = 0;
    for (const a of e) r.set(a, n), n += a.length;
    return r;
  }
  function yS(e) {
    const t = Py.encode(e || ""), r = new Uint8Array(Math.floor(t.length / 2));
    let n;
    for (n = 0; n < r.length; n++) {
      const a = H4[t[n * 2]], i = H4[t[n * 2 + 1]];
      if (a === void 0 || i === void 0) break;
      r[n] = a << 4 | i;
    }
    return n === r.length ? r : r.slice(0, n);
  }
  function Ma(e, t) {
    const r = Math.min(e.length, t.length);
    for (let n = 0; n < r; ++n) if (e[n] !== t[n]) return e[n] < t[n] ? -1 : 1;
    return e.length === t.length ? 0 : e.length > t.length ? 1 : -1;
  }
  function Q4(e, t, r) {
    if (t + 1 > e.length) throw new Error("Offset is outside the bounds of Uint8Array");
    if (r > 255) throw new Error(`The value of "value" is out of range. It must be >= 0 and <= 255. Received ${r}`);
    e[t] = r;
  }
  function K0(e, t, r, n) {
    if (t + 4 > e.length) throw new Error("Offset is outside the bounds of Uint8Array");
    if (n = n.toUpperCase(), r > 4294967295) throw new Error(`The value of "value" is out of range. It must be >= 0 and <= ${4294967295}. Received ${r}`);
    n === "LE" ? (e[t] = r & 255, e[t + 1] = r >> 8 & 255, e[t + 2] = r >> 16 & 255, e[t + 3] = r >> 24 & 255) : (e[t] = r >> 24 & 255, e[t + 1] = r >> 16 & 255, e[t + 2] = r >> 8 & 255, e[t + 3] = r & 255);
  }
  function Bl(e, t, r) {
    if (t + 4 > e.length) throw new Error("Offset is outside the bounds of Uint8Array");
    if (r = r.toUpperCase(), r === "LE") {
      let n = 0;
      return n = (n << 8) + e[t + 3] >>> 0, n = (n << 8) + e[t + 2] >>> 0, n = (n << 8) + e[t + 1] >>> 0, n = (n << 8) + e[t] >>> 0, n;
    } else {
      let n = 0;
      return n = (n << 8) + e[t] >>> 0, n = (n << 8) + e[t + 1] >>> 0, n = (n << 8) + e[t + 2] >>> 0, n = (n << 8) + e[t + 3] >>> 0, n;
    }
  }
  const Ve = (e) => yS(e);
  function ES(e) {
    if (Vt(e.isPoint(Ve("0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))), Vt(!e.isPoint(Ve("030000000000000000000000000000000000000000000000000000000000000005"))), Vt(e.isPrivate(Ve("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"))), Vt(e.isPrivate(Ve("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140"))), Vt(!e.isPrivate(Ve("0000000000000000000000000000000000000000000000000000000000000000"))), Vt(!e.isPrivate(Ve("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"))), Vt(!e.isPrivate(Ve("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142"))), Vt(Ma(e.pointFromScalar(Ve("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af")), Ve("02b07ba9dca9523b7ef4bd97703d43d20399eb698e194704791a25ce77a400df99")) === 0), e.xOnlyPointAddTweak) {
      Vt(e.xOnlyPointAddTweak(Ve("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"), Ve("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")) === null);
      let t = e.xOnlyPointAddTweak(Ve("1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b"), Ve("a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac"));
      Vt(Ma(t.xOnlyPubkey, Ve("e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf")) === 0 && t.parity === 1), t = e.xOnlyPointAddTweak(Ve("2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991"), Ve("823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47"));
    }
    Vt(Ma(e.pointAddScalar(Ve("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"), Ve("0000000000000000000000000000000000000000000000000000000000000003")), Ve("02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5")) === 0), Vt(Ma(e.privateAdd(Ve("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"), Ve("0000000000000000000000000000000000000000000000000000000000000002")), Ve("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")) === 0), e.privateNegate && (Vt(Ma(e.privateNegate(Ve("0000000000000000000000000000000000000000000000000000000000000001")), Ve("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")) === 0), Vt(Ma(e.privateNegate(Ve("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e")), Ve("0000000000000000000000000000000000000000000000000000000000000003")) === 0), Vt(Ma(e.privateNegate(Ve("b1121e4088a66a28f5b6b0f5844943ecd9f610196d7bb83b25214b60452c09af")), Ve("4eede1bf775995d70a494f0a7bb6bc11e0b8cccd41cce8009ab1132c8b0a3792")) === 0)), Vt(Ma(e.sign(Ve("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"), Ve("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140")), Ve("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5")) === 0), Vt(e.verify(Ve("5e9f0a0d593efdcf78ac923bc3313e4e7d408d574354ee2b3288c0da9fbba6ed"), Ve("0379be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"), Ve("54c4a33c6423d689378f160a7ff8b61330444abb58fb470f96ea16d99d4a2fed07082304410efa6b2943111b6a4e0aaa7b7db55a07e9861d1fb3cb1f421044a5"))), e.signSchnorr && Vt(Ma(e.signSchnorr(Ve("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"), Ve("c90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b14e5c9"), Ve("c87aa53824b4d7ae2eb035a2b5bbbccc080e76cdc6d1692c4b0b62d798e6d906")), Ve("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")) === 0), e.verifySchnorr && Vt(e.verifySchnorr(Ve("7e2d58d8b3bcdf1abadec7829054f90dda9805aab56c77333024b9d0a508b75c"), Ve("dd308afec5777e13121fa72b9cc1b7cc0139715309b086c960e18fd969774eb8"), Ve("5831aaeed7b44bb74e5eab94ba9d4294c49bcf2a60728d8b4c200f50dd313c1bab745879a5ad954a72c45a91c3a51d3c7adea98d82f8481e0e1e03674a6f3fb7")));
  }
  function Vt(e) {
    if (!e) throw new Error("ecc library invalid");
  }
  function q8(e) {
    return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array";
  }
  function Ny(e, t) {
    return Array.isArray(t) ? t.length === 0 ? true : e ? t.every((r) => typeof r == "string") : t.every((r) => Number.isSafeInteger(r)) : false;
  }
  function AS(e) {
    if (typeof e != "function") throw new Error("function expected");
    return true;
  }
  function G8(e, t) {
    if (typeof t != "string") throw new Error(`${e}: string expected`);
    return true;
  }
  function U9(e) {
    if (!Number.isSafeInteger(e)) throw new Error(`invalid integer: ${e}`);
  }
  function V8(e) {
    if (!Array.isArray(e)) throw new Error("array expected");
  }
  function jy(e, t) {
    if (!Ny(true, t)) throw new Error(`${e}: array of strings expected`);
  }
  function bS(e, t) {
    if (!Ny(false, t)) throw new Error(`${e}: array of numbers expected`);
  }
  function zy(...e) {
    const t = (i) => i, r = (i, l) => (c) => i(l(c)), n = e.map((i) => i.encode).reduceRight(r, t), a = e.map((i) => i.decode).reduce(r, t);
    return {
      encode: n,
      decode: a
    };
  }
  function wS(e) {
    const t = typeof e == "string" ? e.split("") : e, r = t.length;
    jy("alphabet", t);
    const n = new Map(t.map((a, i) => [
      a,
      i
    ]));
    return {
      encode: (a) => (V8(a), a.map((i) => {
        if (!Number.isSafeInteger(i) || i < 0 || i >= r) throw new Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${e}`);
        return t[i];
      })),
      decode: (a) => (V8(a), a.map((i) => {
        G8("alphabet.decode", i);
        const l = n.get(i);
        if (l === void 0) throw new Error(`Unknown letter: "${i}". Allowed: ${e}`);
        return l;
      }))
    };
  }
  function vS(e = "") {
    return G8("join", e), {
      encode: (t) => (jy("join.decode", t), t.join(e)),
      decode: (t) => (G8("join.decode", t), t.split(e))
    };
  }
  function q4(e, t, r) {
    if (t < 2) throw new Error(`convertRadix: invalid from=${t}, base cannot be less than 2`);
    if (r < 2) throw new Error(`convertRadix: invalid to=${r}, base cannot be less than 2`);
    if (V8(e), !e.length) return [];
    let n = 0;
    const a = [], i = Array.from(e, (c) => {
      if (U9(c), c < 0 || c >= t) throw new Error(`invalid integer: ${c}`);
      return c;
    }), l = i.length;
    for (; ; ) {
      let c = 0, u = true;
      for (let x = n; x < l; x++) {
        const f = i[x], h = t * c, p = h + f;
        if (!Number.isSafeInteger(p) || h / t !== c || p - f !== h) throw new Error("convertRadix: carry overflow");
        const m = p / r;
        c = p % r;
        const y = Math.floor(m);
        if (i[x] = y, !Number.isSafeInteger(y) || y * r + c !== p) throw new Error("convertRadix: carry overflow");
        if (u) y ? u = false : n = x;
        else continue;
      }
      if (a.push(c), u) break;
    }
    for (let c = 0; c < e.length - 1 && e[c] === 0; c++) a.push(0);
    return a.reverse();
  }
  function BS(e) {
    U9(e);
    const t = 2 ** 8;
    return {
      encode: (r) => {
        if (!q8(r)) throw new Error("radix.encode input should be Uint8Array");
        return q4(Array.from(r), t, e);
      },
      decode: (r) => (bS("radix.decode", r), Uint8Array.from(q4(r, e, t)))
    };
  }
  function CS(e, t) {
    return U9(e), AS(t), {
      encode(r) {
        if (!q8(r)) throw new Error("checksum.encode: input should be Uint8Array");
        const n = t(r).slice(0, e), a = new Uint8Array(r.length + e);
        return a.set(r), a.set(n, r.length), a;
      },
      decode(r) {
        if (!q8(r)) throw new Error("checksum.decode: input should be Uint8Array");
        const n = r.slice(0, -e), a = r.slice(-e), i = t(n).slice(0, e);
        for (let l = 0; l < e; l++) if (i[l] !== a[l]) throw new Error("Invalid checksum");
        return n;
      }
    };
  }
  const kS = (e) => zy(BS(58), wS(e), vS("")), DS = kS("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"), FS = (e) => zy(CS(4, (t) => e(e(t))), DS), SS = FS;
  var Zh;
  function _S(e) {
    return {
      lang: (e == null ? void 0 : e.lang) ?? (Zh == null ? void 0 : Zh.lang),
      message: e == null ? void 0 : e.message,
      abortEarly: (e == null ? void 0 : e.abortEarly) ?? (Zh == null ? void 0 : Zh.abortEarly),
      abortPipeEarly: (e == null ? void 0 : e.abortPipeEarly) ?? (Zh == null ? void 0 : Zh.abortPipeEarly)
    };
  }
  var IS;
  function PS(e) {
    return IS == null ? void 0 : IS.get(e);
  }
  var NS;
  function jS(e) {
    return NS == null ? void 0 : NS.get(e);
  }
  var zS;
  function US(e, t) {
    var _a;
    return (_a = zS == null ? void 0 : zS.get(e)) == null ? void 0 : _a.get(t);
  }
  function dc(e) {
    var _a, _b2;
    const t = typeof e;
    return t === "string" ? `"${e}"` : t === "number" || t === "bigint" || t === "boolean" ? `${e}` : t === "object" || t === "function" ? (e && ((_b2 = (_a = Object.getPrototypeOf(e)) == null ? void 0 : _a.constructor) == null ? void 0 : _b2.name)) ?? "null" : t;
  }
  function Ja(e, t, r, n, a) {
    const i = a && "input" in a ? a.input : r.value, l = (a == null ? void 0 : a.expected) ?? e.expects ?? null, c = (a == null ? void 0 : a.received) ?? dc(i), u = {
      kind: e.kind,
      type: e.type,
      input: i,
      expected: l,
      received: c,
      message: `Invalid ${t}: ${l ? `Expected ${l} but r` : "R"}eceived ${c}`,
      requirement: e.requirement,
      path: a == null ? void 0 : a.path,
      issues: a == null ? void 0 : a.issues,
      lang: n.lang,
      abortEarly: n.abortEarly,
      abortPipeEarly: n.abortPipeEarly
    }, x = e.kind === "schema", f = (a == null ? void 0 : a.message) ?? e.message ?? US(e.reference, u.lang) ?? (x ? jS(u.lang) : null) ?? n.message ?? PS(u.lang);
    f && (u.message = typeof f == "function" ? f(u) : f), x && (r.typed = false), r.issues ? r.issues.push(u) : r.issues = [
      u
    ];
  }
  var TS = class extends Error {
    constructor(e) {
      super(e[0].message);
      __publicField(this, "issues");
      this.name = "ValiError", this.issues = e;
    }
  };
  function Rd(e) {
    return {
      kind: "validation",
      type: "integer",
      reference: Rd,
      async: false,
      expects: null,
      requirement: Number.isInteger,
      message: e,
      _run(t, r) {
        return t.typed && !this.requirement(t.value) && Ja(this, "integer", t, r), t;
      }
    };
  }
  function T9(e, t) {
    return {
      kind: "validation",
      type: "length",
      reference: T9,
      async: false,
      expects: `${e}`,
      requirement: e,
      message: t,
      _run(r, n) {
        return r.typed && r.value.length !== this.requirement && Ja(this, "length", r, n, {
          received: `${r.value.length}`
        }), r;
      }
    };
  }
  function Kd(e, t) {
    return {
      kind: "validation",
      type: "max_value",
      reference: Kd,
      async: false,
      expects: `<=${e instanceof Date ? e.toJSON() : dc(e)}`,
      requirement: e,
      message: t,
      _run(r, n) {
        return r.typed && r.value > this.requirement && Ja(this, "value", r, n, {
          received: r.value instanceof Date ? r.value.toJSON() : dc(r.value)
        }), r;
      }
    };
  }
  function Md(e, t) {
    return {
      kind: "validation",
      type: "min_value",
      reference: Md,
      async: false,
      expects: `>=${e instanceof Date ? e.toJSON() : dc(e)}`,
      requirement: e,
      message: t,
      _run(r, n) {
        return r.typed && r.value < this.requirement && Ja(this, "value", r, n, {
          received: r.value instanceof Date ? r.value.toJSON() : dc(r.value)
        }), r;
      }
    };
  }
  function Uy(e, t) {
    return {
      kind: "validation",
      type: "regex",
      reference: Uy,
      async: false,
      expects: `${e}`,
      requirement: e,
      message: t,
      _run(r, n) {
        return r.typed && !this.requirement.test(r.value) && Ja(this, "format", r, n), r;
      }
    };
  }
  function Ld(e, t) {
    return {
      kind: "schema",
      type: "instance",
      reference: Ld,
      expects: e.name,
      async: false,
      class: e,
      message: t,
      _run(r, n) {
        return r.value instanceof this.class ? r.typed = true : Ja(this, "type", r, n), r;
      }
    };
  }
  function Od(e) {
    return {
      kind: "schema",
      type: "number",
      reference: Od,
      expects: "number",
      async: false,
      message: e,
      _run(t, r) {
        return typeof t.value == "number" && !isNaN(t.value) ? t.typed = true : Ja(this, "type", t, r), t;
      }
    };
  }
  function W8(e, t) {
    return {
      kind: "schema",
      type: "object",
      reference: W8,
      expects: "Object",
      async: false,
      entries: e,
      message: t,
      _run(r, n) {
        var _a;
        const a = r.value;
        if (a && typeof a == "object") {
          r.typed = true, r.value = {};
          for (const i in this.entries) {
            const l = a[i], c = this.entries[i]._run({
              typed: false,
              value: l
            }, n);
            if (c.issues) {
              const u = {
                type: "object",
                origin: "value",
                input: a,
                key: i,
                value: l
              };
              for (const x of c.issues) x.path ? x.path.unshift(u) : x.path = [
                u
              ], (_a = r.issues) == null ? void 0 : _a.push(x);
              if (r.issues || (r.issues = c.issues), n.abortEarly) {
                r.typed = false;
                break;
              }
            }
            c.typed || (r.typed = false), (c.value !== void 0 || i in a) && (r.value[i] = c.value);
          }
        } else Ja(this, "type", r, n);
        return r;
      }
    };
  }
  function Ty(e) {
    return {
      kind: "schema",
      type: "string",
      reference: Ty,
      expects: "string",
      async: false,
      message: e,
      _run(t, r) {
        return typeof t.value == "string" ? t.typed = true : Ja(this, "type", t, r), t;
      }
    };
  }
  function La(e, t, r) {
    const n = e._run({
      typed: false,
      value: t
    }, _S(r));
    if (n.issues) throw new TS(n.issues);
    return n.value;
  }
  function ys(...e) {
    return {
      ...e[0],
      pipe: e,
      _run(t, r) {
        for (const n of e) if (n.kind !== "metadata") {
          if (t.issues && (n.kind === "schema" || n.kind === "transformation")) {
            t.typed = false;
            break;
          }
          (!t.issues || !r.abortEarly && !r.abortPipeEarly) && (t = n._run(t, r));
        }
        return t;
      }
    };
  }
  const $8 = ys(Od(), Rd(), Md(0), Kd(4294967295)), RS = ys(Od(), Rd(), Md(0), Kd(2147483647)), KS = ys(Od(), Rd(), Md(0), Kd(255)), Yh = ys(Ld(Uint8Array), T9(32)), MS = ys(Ld(Uint8Array), T9(33)), LS = W8({
    wif: KS,
    bip32: W8({
      public: $8,
      private: $8
    })
  }), OS = ys(Ty(), Uy(/^(m\/)?(\d+'?\/)*\d+'?$/));
  function HS(e) {
    if (e.length >= 255) throw new TypeError("Alphabet too long");
    const t = new Uint8Array(256);
    for (let x = 0; x < t.length; x++) t[x] = 255;
    for (let x = 0; x < e.length; x++) {
      const f = e.charAt(x), h = f.charCodeAt(0);
      if (t[h] !== 255) throw new TypeError(f + " is ambiguous");
      t[h] = x;
    }
    const r = e.length, n = e.charAt(0), a = Math.log(r) / Math.log(256), i = Math.log(256) / Math.log(r);
    function l(x) {
      if (x instanceof Uint8Array || (ArrayBuffer.isView(x) ? x = new Uint8Array(x.buffer, x.byteOffset, x.byteLength) : Array.isArray(x) && (x = Uint8Array.from(x))), !(x instanceof Uint8Array)) throw new TypeError("Expected Uint8Array");
      if (x.length === 0) return "";
      let f = 0, h = 0, p = 0;
      const m = x.length;
      for (; p !== m && x[p] === 0; ) p++, f++;
      const y = (m - p) * i + 1 >>> 0, B = new Uint8Array(y);
      for (; p !== m; ) {
        let P = x[p], k = 0;
        for (let w = y - 1; (P !== 0 || k < h) && w !== -1; w--, k++) P += 256 * B[w] >>> 0, B[w] = P % r >>> 0, P = P / r >>> 0;
        if (P !== 0) throw new Error("Non-zero carry");
        h = k, p++;
      }
      let v = y - h;
      for (; v !== y && B[v] === 0; ) v++;
      let D = n.repeat(f);
      for (; v < y; ++v) D += e.charAt(B[v]);
      return D;
    }
    function c(x) {
      if (typeof x != "string") throw new TypeError("Expected String");
      if (x.length === 0) return new Uint8Array();
      let f = 0, h = 0, p = 0;
      for (; x[f] === n; ) h++, f++;
      const m = (x.length - f) * a + 1 >>> 0, y = new Uint8Array(m);
      for (; f < x.length; ) {
        const P = x.charCodeAt(f);
        if (P > 255) return;
        let k = t[P];
        if (k === 255) return;
        let w = 0;
        for (let _ = m - 1; (k !== 0 || w < p) && _ !== -1; _--, w++) k += r * y[_] >>> 0, y[_] = k % 256 >>> 0, k = k / 256 >>> 0;
        if (k !== 0) throw new Error("Non-zero carry");
        p = w, f++;
      }
      let B = m - p;
      for (; B !== m && y[B] === 0; ) B++;
      const v = new Uint8Array(h + (m - B));
      let D = h;
      for (; B !== m; ) v[D++] = y[B++];
      return v;
    }
    function u(x) {
      const f = c(x);
      if (f) return f;
      throw new Error("Non-base" + r + " character");
    }
    return {
      encode: l,
      decodeUnsafe: c,
      decode: u
    };
  }
  var QS = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
  const Xh = HS(QS);
  function qS(e) {
    function t(i) {
      var l = Uint8Array.from(i), c = e(l), u = l.length + 4, x = new Uint8Array(u);
      return x.set(l, 0), x.set(c.subarray(0, 4), l.length), Xh.encode(x);
    }
    function r(i) {
      var l = i.slice(0, -4), c = i.slice(-4), u = e(l);
      if (!(c[0] ^ u[0] | c[1] ^ u[1] | c[2] ^ u[2] | c[3] ^ u[3])) return l;
    }
    function n(i) {
      var l = Xh.decodeUnsafe(i);
      if (l != null) return r(l);
    }
    function a(i) {
      var l = Xh.decode(i), c = r(l);
      if (c == null) throw new Error("Invalid checksum");
      return c;
    }
    return {
      encode: t,
      decode: a,
      decodeUnsafe: n
    };
  }
  function GS(e) {
    return od(od(e));
  }
  const VS = qS(GS);
  function WS(e, t, r) {
    if (t.length !== 32) throw new TypeError("Invalid privateKey length");
    var n = new Uint8Array(34), a = new DataView(n.buffer);
    return a.setUint8(0, e), n.set(t, 1), n[33] = 1, n;
  }
  function $S(e) {
    return VS.encode(WS(e.version, e.privateKey));
  }
  const G4 = SS(od), V4 = {
    encode: (e) => G4.encode(e),
    decode: (e) => G4.decode(e)
  };
  function ZS(e) {
    ES(e);
    const t = {
      messagePrefix: `Bitcoin Signed Message:
`,
      bech32: "bc",
      bip32: {
        public: 76067358,
        private: 76066276
      },
      pubKeyHash: 0,
      scriptHash: 5,
      wif: 128
    }, r = 2147483648;
    function n(p) {
      return p.length === 32 ? p : p.slice(1, 33);
    }
    class a {
      constructor(m, y) {
        __publicField(this, "__D");
        __publicField(this, "__Q");
        __publicField(this, "lowR", false);
        this.__D = m, this.__Q = y;
      }
      get publicKey() {
        return this.__Q === void 0 && (this.__Q = e.pointFromScalar(this.__D, true)), this.__Q;
      }
      get privateKey() {
        return this.__D;
      }
      sign(m, y) {
        if (!this.privateKey) throw new Error("Missing private key");
        if (y === void 0 && (y = this.lowR), y === false) return e.sign(m, this.privateKey);
        {
          let B = e.sign(m, this.privateKey);
          const v = new Uint8Array(32);
          let D = 0;
          for (; B[0] > 127; ) D++, K0(v, 0, D, "LE"), B = e.sign(m, this.privateKey, v);
          return B;
        }
      }
      signSchnorr(m) {
        if (!this.privateKey) throw new Error("Missing private key");
        if (!e.signSchnorr) throw new Error("signSchnorr not supported by ecc library");
        return e.signSchnorr(m, this.privateKey);
      }
      verify(m, y) {
        return e.verify(m, this.publicKey, y);
      }
      verifySchnorr(m, y) {
        if (!e.verifySchnorr) throw new Error("verifySchnorr not supported by ecc library");
        return e.verifySchnorr(m, this.publicKey.subarray(1, 33), y);
      }
    }
    class i extends a {
      constructor(m, y, B, v, D = 0, P = 0, k = 0) {
        super(m, y);
        __publicField(this, "chainCode");
        __publicField(this, "network");
        __publicField(this, "__DEPTH");
        __publicField(this, "__INDEX");
        __publicField(this, "__PARENT_FINGERPRINT");
        this.chainCode = B, this.network = v, this.__DEPTH = D, this.__INDEX = P, this.__PARENT_FINGERPRINT = k, La(LS, v);
      }
      get depth() {
        return this.__DEPTH;
      }
      get index() {
        return this.__INDEX;
      }
      get parentFingerprint() {
        return this.__PARENT_FINGERPRINT;
      }
      get identifier() {
        return pS(this.publicKey);
      }
      get fingerprint() {
        return this.identifier.slice(0, 4);
      }
      get compressed() {
        return true;
      }
      isNeutered() {
        return this.__D === void 0;
      }
      neutered() {
        return f(this.publicKey, this.chainCode, this.network, this.depth, this.index, this.parentFingerprint);
      }
      toBase58() {
        const m = this.network, y = this.isNeutered() ? m.bip32.public : m.bip32.private, B = new Uint8Array(78);
        return K0(B, 0, y, "BE"), Q4(B, 4, this.depth), K0(B, 5, this.parentFingerprint, "BE"), K0(B, 9, this.index, "BE"), B.set(this.chainCode, 13), this.isNeutered() ? B.set(this.publicKey, 45) : (Q4(B, 45, 0), B.set(this.privateKey, 46)), V4.encode(B);
      }
      toWIF() {
        if (!this.privateKey) throw new TypeError("Missing private key");
        return $S({
          version: this.network.wif,
          privateKey: this.privateKey
        });
      }
      derive(m) {
        La($8, m);
        const y = m >= r, B = new Uint8Array(37);
        if (y) {
          if (this.isNeutered()) throw new TypeError("Missing private key for hardened child key");
          B[0] = 0, B.set(this.privateKey, 1), K0(B, 33, m, "BE");
        } else B.set(this.publicKey, 0), K0(B, 33, m, "BE");
        const v = O4(this.chainCode, B), D = v.slice(0, 32), P = v.slice(32);
        if (!e.isPrivate(D)) return this.derive(m + 1);
        let k;
        if (this.isNeutered()) {
          const w = e.pointAddScalar(this.publicKey, D, true);
          if (w === null) return this.derive(m + 1);
          k = f(w, P, this.network, this.depth + 1, m, Bl(this.fingerprint, 0, "BE"));
        } else {
          const w = e.privateAdd(this.privateKey, D);
          if (w == null) return this.derive(m + 1);
          k = u(w, P, this.network, this.depth + 1, m, Bl(this.fingerprint, 0, "BE"));
        }
        return k;
      }
      deriveHardened(m) {
        if (typeof La(RS, m) == "number") return this.derive(m + r);
        throw new TypeError("Expected UInt31, got " + m);
      }
      derivePath(m) {
        La(OS, m);
        let y = m.split("/");
        if (y[0] === "m") {
          if (this.parentFingerprint) throw new TypeError("Expected master, got child");
          y = y.slice(1);
        }
        return y.reduce((B, v) => {
          let D;
          return v.slice(-1) === "'" ? (D = parseInt(v.slice(0, -1), 10), B.deriveHardened(D)) : (D = parseInt(v, 10), B.derive(D));
        }, this);
      }
      tweak(m) {
        return this.privateKey ? this.tweakFromPrivateKey(m) : this.tweakFromPublicKey(m);
      }
      tweakFromPublicKey(m) {
        const y = n(this.publicKey);
        if (!e.xOnlyPointAddTweak) throw new Error("xOnlyPointAddTweak not supported by ecc library");
        const B = e.xOnlyPointAddTweak(y, m);
        if (!B || B.xOnlyPubkey === null) throw new Error("Cannot tweak public key!");
        const v = Uint8Array.from([
          B.parity === 0 ? 2 : 3
        ]), D = mS([
          v,
          B.xOnlyPubkey
        ]);
        return new a(void 0, D);
      }
      tweakFromPrivateKey(m) {
        const y = this.publicKey[0] === 3 || this.publicKey[0] === 4 && (this.publicKey[64] & 1) === 1, B = (() => {
          if (y) {
            if (e.privateNegate) return e.privateNegate(this.privateKey);
            throw new Error("privateNegate not supported by ecc library");
          } else return this.privateKey;
        })(), v = e.privateAdd(B, m);
        if (!v) throw new Error("Invalid tweaked private key!");
        return new a(v, void 0);
      }
    }
    function l(p, m) {
      const y = V4.decode(p);
      if (y.length !== 78) throw new TypeError("Invalid buffer length");
      m = m || t;
      const B = Bl(y, 0, "BE");
      if (B !== m.bip32.private && B !== m.bip32.public) throw new TypeError("Invalid network version");
      const v = y[4], D = Bl(y, 5, "BE");
      if (v === 0 && D !== 0) throw new TypeError("Invalid parent fingerprint");
      const P = Bl(y, 9, "BE");
      if (v === 0 && P !== 0) throw new TypeError("Invalid index");
      const k = y.slice(13, 45);
      let w;
      if (B === m.bip32.private) {
        if (y[45] !== 0) throw new TypeError("Invalid private key");
        const _ = y.slice(46, 78);
        w = u(_, k, m, v, P, D);
      } else {
        const _ = y.slice(45, 78);
        w = f(_, k, m, v, P, D);
      }
      return w;
    }
    function c(p, m, y) {
      return u(p, m, y);
    }
    function u(p, m, y, B, v, D) {
      if (La(Yh, p), La(Yh, m), y = y || t, !e.isPrivate(p)) throw new TypeError("Private key not in range [1, n)");
      return new i(p, void 0, m, y, B, v, D);
    }
    function x(p, m, y) {
      return f(p, m, y);
    }
    function f(p, m, y, B, v, D) {
      if (La(MS, p), La(Yh, m), y = y || t, !e.isPoint(p)) throw new TypeError("Point is not on the curve");
      return new i(void 0, p, m, y, B, v, D);
    }
    function h(p, m) {
      if (La(Ld(Uint8Array), p), p.length < 16) throw new TypeError("Seed should be at least 128 bits");
      if (p.length > 64) throw new TypeError("Seed should be at most 512 bits");
      m = m || t;
      const y = O4(gS("Bitcoin seed"), p), B = y.slice(0, 32), v = y.slice(32);
      return c(B, v, m);
    }
    return {
      fromSeed: h,
      fromBase58: l,
      fromPublicKey: x,
      fromPrivateKey: c
    };
  }
  const Ry = "0123456789abcdefABCDEF";
  Ry.split("").map((e) => e.codePointAt(0));
  Array(256).fill(true).map((e, t) => {
    const r = String.fromCodePoint(t), n = Ry.indexOf(r);
    return n < 0 ? void 0 : n < 16 ? n : n - 6;
  });
  new TextEncoder();
  new TextDecoder("ascii");
  function YS(e, t) {
    const r = Math.min(e.length, t.length);
    for (let n = 0; n < r; ++n) if (e[n] !== t[n]) return e[n] < t[n] ? -1 : 1;
    return e.length === t.length ? 0 : e.length > t.length ? 1 : -1;
  }
  const Ky = 0, R9 = 1, My = 2, Ly = 3, fc = 4, Oy = 5, Hy = 6, Qy = 7, XS = {
    [Ky.toString()]: "Expected Private",
    [R9.toString()]: "Expected Point",
    [My.toString()]: "Expected Tweak",
    [Ly.toString()]: "Expected Hash",
    [fc.toString()]: "Expected Signature",
    [Oy.toString()]: "Expected Extra Data (32 bytes)",
    [Hy.toString()]: "Expected Parity (1 | 0)",
    [Qy.toString()]: "Bad Recovery Id"
  };
  function on(e) {
    const t = XS[e.toString()] || `Unknow error code: ${e}`;
    throw new TypeError(t);
  }
  const Sc = 32, hc = 33, _c = 65, ai = 32, qy = 32, Gy = 32, Vy = 32, Hd = 64, Wy = new Uint8Array(32), id = new Uint8Array([
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    255,
    254,
    186,
    174,
    220,
    230,
    175,
    72,
    160,
    59,
    191,
    210,
    94,
    140,
    208,
    54,
    65,
    65
  ]), JS = new Uint8Array([
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1,
    69,
    81,
    35,
    25,
    80,
    183,
    95,
    196,
    64,
    45,
    161,
    114,
    47,
    201,
    186,
    238
  ]);
  function va(e) {
    return e instanceof Uint8Array;
  }
  function Wi(e, t) {
    for (let r = 0; r < 32; ++r) if (e[r] !== t[r]) return e[r] < t[r] ? -1 : 1;
    return 0;
  }
  function Z8(e) {
    return Wi(e, Wy) === 0;
  }
  function $y(e) {
    return va(e) && e.length === Sc && Wi(e, Wy) > 0 && Wi(e, id) < 0;
  }
  function e_(e) {
    return va(e) && (e.length === hc || e.length === _c || e.length === ai);
  }
  function Zy(e) {
    return va(e) && e.length === ai;
  }
  function t_(e) {
    return va(e) && (e.length === hc || e.length === _c);
  }
  function r_(e) {
    return va(e) && e.length === hc;
  }
  function n_(e) {
    return va(e) && e.length === qy && Wi(e, id) < 0;
  }
  function a_(e) {
    return va(e) && e.length === Gy;
  }
  function o_(e) {
    return e === void 0 || va(e) && e.length === Vy;
  }
  function i_(e) {
    return va(e) && e.length === 64 && Wi(e.subarray(0, 32), id) < 0 && Wi(e.subarray(32, 64), id) < 0;
  }
  function s_(e) {
    return va(e) && e.length === 64 && Wi(e.subarray(0, 32), JS) < 0;
  }
  function l_(e) {
    e !== 0 && e !== 1 && on(Hy);
  }
  function oi(e) {
    $y(e) || on(Ky);
  }
  function $i(e) {
    e_(e) || on(R9);
  }
  function sd(e) {
    Zy(e) || on(R9);
  }
  function Es(e) {
    n_(e) || on(My);
  }
  function As(e) {
    a_(e) || on(Ly);
  }
  function K9(e) {
    o_(e) || on(Oy);
  }
  function M9(e) {
    i_(e) || on(fc);
  }
  function c_(e) {
    e() || on(fc);
  }
  function u_(e) {
    Z8(e.subarray(0, 32)) && on(fc), Z8(e.subarray(32, 64)) && on(fc);
  }
  function x_(e) {
    s_(e) || on(Qy);
  }
  const d_ = "" + new URL("secp256k1-Cao5Swmf.wasm", import.meta.url).href, f_ = async (e = {}, t) => {
    let r;
    if (t.startsWith("data:")) {
      const n = t.replace(/^data:.*?base64,/, "");
      let a;
      if (typeof Buffer == "function" && typeof Buffer.from == "function") a = Buffer.from(n, "base64");
      else if (typeof atob == "function") {
        const i = atob(n);
        a = new Uint8Array(i.length);
        for (let l = 0; l < i.length; l++) a[l] = i.charCodeAt(l);
      } else throw new Error("Cannot decode base64-encoded data URL");
      r = await WebAssembly.instantiate(a, e);
    } else {
      const n = await fetch(t), a = n.headers.get("Content-Type") || "";
      if ("instantiateStreaming" in WebAssembly && a.startsWith("application/wasm")) r = await WebAssembly.instantiateStreaming(n, e);
      else {
        const i = await n.arrayBuffer();
        r = await WebAssembly.instantiate(i, e);
      }
    }
    return r.instance.exports;
  };
  function h_() {
    const e = new Uint8Array(4);
    if (typeof crypto > "u") throw new Error("The crypto object is unavailable. This may occur if your environment does not support the Web Cryptography API.");
    return crypto.getRandomValues(e), e;
  }
  function p_() {
    const e = h_();
    return (e[0] << 24) + (e[1] << 16) + (e[2] << 8) + e[3];
  }
  URL = globalThis.URL;
  const tt = await f_({
    "./rand.js": {
      generateInt32: p_
    },
    "./validate_error.js": {
      throwError: on
    }
  }, d_), g_ = tt.memory, m_ = tt.initializeContext, y_ = tt.isPoint, E_ = tt.PUBLIC_KEY_INPUT, A_ = tt.pointAdd, b_ = tt.PUBLIC_KEY_INPUT2, w_ = tt.pointAddScalar, v_ = tt.TWEAK_INPUT, B_ = tt.xOnlyPointAddTweak, C_ = tt.X_ONLY_PUBLIC_KEY_INPUT, k_ = tt.xOnlyPointAddTweakCheck, D_ = tt.X_ONLY_PUBLIC_KEY_INPUT2, F_ = tt.pointCompress, S_ = tt.pointFromScalar, __ = tt.PRIVATE_INPUT, I_ = tt.xOnlyPointFromScalar, P_ = tt.xOnlyPointFromPoint, N_ = tt.pointMultiply, j_ = tt.privateAdd, z_ = tt.privateSub, U_ = tt.privateNegate, T_ = tt.sign, R_ = tt.HASH_INPUT, K_ = tt.EXTRA_DATA_INPUT, M_ = tt.SIGNATURE_INPUT, L_ = tt.signRecoverable, O_ = tt.signSchnorr, H_ = tt.verify, Q_ = tt.recover, q_ = tt.verifySchnorr, G_ = tt.rustsecp256k1_v0_8_1_default_error_callback_fn, V_ = tt.rustsecp256k1_v0_8_1_default_illegal_callback_fn, W_ = tt.__data_end, $_ = tt.__heap_base, it = Object.freeze(Object.defineProperty({
    __proto__: null,
    EXTRA_DATA_INPUT: K_,
    HASH_INPUT: R_,
    PRIVATE_INPUT: __,
    PUBLIC_KEY_INPUT: E_,
    PUBLIC_KEY_INPUT2: b_,
    SIGNATURE_INPUT: M_,
    TWEAK_INPUT: v_,
    X_ONLY_PUBLIC_KEY_INPUT: C_,
    X_ONLY_PUBLIC_KEY_INPUT2: D_,
    __data_end: W_,
    __heap_base: $_,
    initializeContext: m_,
    isPoint: y_,
    memory: g_,
    pointAdd: A_,
    pointAddScalar: w_,
    pointCompress: F_,
    pointFromScalar: S_,
    pointMultiply: N_,
    privateAdd: j_,
    privateNegate: U_,
    privateSub: z_,
    recover: Q_,
    rustsecp256k1_v0_8_1_default_error_callback_fn: G_,
    rustsecp256k1_v0_8_1_default_illegal_callback_fn: V_,
    sign: T_,
    signRecoverable: L_,
    signSchnorr: O_,
    verify: H_,
    verifySchnorr: q_,
    xOnlyPointAddTweak: B_,
    xOnlyPointAddTweakCheck: k_,
    xOnlyPointFromPoint: P_,
    xOnlyPointFromScalar: I_
  }, Symbol.toStringTag, {
    value: "Module"
  })), eo = new Uint8Array(it.memory.buffer), W4 = it.PRIVATE_INPUT.value, $4 = it.PUBLIC_KEY_INPUT.value, Z4 = it.PUBLIC_KEY_INPUT2.value, Y4 = it.X_ONLY_PUBLIC_KEY_INPUT.value, X4 = it.X_ONLY_PUBLIC_KEY_INPUT2.value, J4 = it.TWEAK_INPUT.value, eg = it.HASH_INPUT.value, tg = it.EXTRA_DATA_INPUT.value, rg = it.SIGNATURE_INPUT.value, Zt = eo.subarray(W4, W4 + Sc), Ut = eo.subarray($4, $4 + _c), ng = eo.subarray(Z4, Z4 + _c), vn = eo.subarray(Y4, Y4 + ai), ag = eo.subarray(X4, X4 + ai), Dn = eo.subarray(J4, J4 + qy), Fn = eo.subarray(eg, eg + Gy), xs = eo.subarray(tg, tg + Vy), Sn = eo.subarray(rg, rg + Hd);
  function bs(e, t) {
    return e === void 0 ? t !== void 0 ? t.length : hc : e ? hc : _c;
  }
  function L9(e) {
    try {
      return Ut.set(e), it.isPoint(e.length) === 1;
    } finally {
      Ut.fill(0);
    }
  }
  function Z_() {
    it.initializeContext();
  }
  function Y_(e) {
    return t_(e) && L9(e);
  }
  function X_(e) {
    return r_(e) && L9(e);
  }
  function Yy(e) {
    return Zy(e) && L9(e);
  }
  function J_(e) {
    return $y(e);
  }
  function eI(e, t, r) {
    $i(e), $i(t);
    const n = bs(r, e);
    try {
      return Ut.set(e), ng.set(t), it.pointAdd(e.length, t.length, n) === 1 ? Ut.slice(0, n) : null;
    } finally {
      Ut.fill(0), ng.fill(0);
    }
  }
  function tI(e, t, r) {
    $i(e), Es(t);
    const n = bs(r, e);
    try {
      return Ut.set(e), Dn.set(t), it.pointAddScalar(e.length, n) === 1 ? Ut.slice(0, n) : null;
    } finally {
      Ut.fill(0), Dn.fill(0);
    }
  }
  function rI(e, t) {
    $i(e);
    const r = bs(t, e);
    try {
      return Ut.set(e), it.pointCompress(e.length, r), Ut.slice(0, r);
    } finally {
      Ut.fill(0);
    }
  }
  function nI(e, t) {
    oi(e);
    const r = bs(t);
    try {
      return Zt.set(e), it.pointFromScalar(r) === 1 ? Ut.slice(0, r) : null;
    } finally {
      Zt.fill(0), Ut.fill(0);
    }
  }
  function aI(e) {
    oi(e);
    try {
      return Zt.set(e), it.xOnlyPointFromScalar(), vn.slice(0, ai);
    } finally {
      Zt.fill(0), vn.fill(0);
    }
  }
  function oI(e) {
    $i(e);
    try {
      return Ut.set(e), it.xOnlyPointFromPoint(e.length), vn.slice(0, ai);
    } finally {
      Ut.fill(0), vn.fill(0);
    }
  }
  function iI(e, t, r) {
    $i(e), Es(t);
    const n = bs(r, e);
    try {
      return Ut.set(e), Dn.set(t), it.pointMultiply(e.length, n) === 1 ? Ut.slice(0, n) : null;
    } finally {
      Ut.fill(0), Dn.fill(0);
    }
  }
  function sI(e, t) {
    oi(e), Es(t);
    try {
      return Zt.set(e), Dn.set(t), it.privateAdd() === 1 ? Zt.slice(0, Sc) : null;
    } finally {
      Zt.fill(0), Dn.fill(0);
    }
  }
  function lI(e, t) {
    if (oi(e), Es(t), Z8(t)) return new Uint8Array(e);
    try {
      return Zt.set(e), Dn.set(t), it.privateSub() === 1 ? Zt.slice(0, Sc) : null;
    } finally {
      Zt.fill(0), Dn.fill(0);
    }
  }
  function cI(e) {
    oi(e);
    try {
      return Zt.set(e), it.privateNegate(), Zt.slice(0, Sc);
    } finally {
      Zt.fill(0);
    }
  }
  function uI(e, t) {
    sd(e), Es(t);
    try {
      vn.set(e), Dn.set(t);
      const r = it.xOnlyPointAddTweak();
      return r !== -1 ? {
        parity: r,
        xOnlyPubkey: vn.slice(0, ai)
      } : null;
    } finally {
      vn.fill(0), Dn.fill(0);
    }
  }
  function xI(e, t, r, n) {
    sd(e), sd(r), Es(t);
    const a = n !== void 0;
    a && l_(n);
    try {
      if (vn.set(e), ag.set(r), Dn.set(t), a) return it.xOnlyPointAddTweakCheck(n) === 1;
      {
        it.xOnlyPointAddTweak();
        const i = vn.slice(0, ai);
        return YS(i, r) === 0;
      }
    } finally {
      vn.fill(0), ag.fill(0), Dn.fill(0);
    }
  }
  function dI(e, t, r) {
    As(e), oi(t), K9(r);
    try {
      return Fn.set(e), Zt.set(t), r !== void 0 && xs.set(r), it.sign(r === void 0 ? 0 : 1), Sn.slice(0, Hd);
    } finally {
      Fn.fill(0), Zt.fill(0), r !== void 0 && xs.fill(0), Sn.fill(0);
    }
  }
  function fI(e, t, r) {
    As(e), oi(t), K9(r);
    try {
      Fn.set(e), Zt.set(t), r !== void 0 && xs.set(r);
      const n = it.signRecoverable(r === void 0 ? 0 : 1);
      return {
        signature: Sn.slice(0, Hd),
        recoveryId: n
      };
    } finally {
      Fn.fill(0), Zt.fill(0), r !== void 0 && xs.fill(0), Sn.fill(0);
    }
  }
  function hI(e, t, r) {
    As(e), oi(t), K9(r);
    try {
      return Fn.set(e), Zt.set(t), r !== void 0 && xs.set(r), it.signSchnorr(r === void 0 ? 0 : 1), Sn.slice(0, Hd);
    } finally {
      Fn.fill(0), Zt.fill(0), r !== void 0 && xs.fill(0), Sn.fill(0);
    }
  }
  function pI(e, t, r, n = false) {
    As(e), $i(t), M9(r);
    try {
      return Fn.set(e), Ut.set(t), Sn.set(r), it.verify(t.length, n === true ? 1 : 0) === 1;
    } finally {
      Fn.fill(0), Ut.fill(0), Sn.fill(0);
    }
  }
  function gI(e, t, r, n = false) {
    As(e), M9(t), u_(t), r & 2 && x_(t), c_(() => Yy(t.subarray(0, 32)));
    const a = bs(n);
    try {
      return Fn.set(e), Sn.set(t), it.recover(a, r) === 1 ? Ut.slice(0, a) : null;
    } finally {
      Fn.fill(0), Sn.fill(0), Ut.fill(0);
    }
  }
  function mI(e, t, r) {
    As(e), sd(t), M9(r);
    try {
      return Fn.set(e), vn.set(t), Sn.set(r), it.verifySchnorr() === 1;
    } finally {
      Fn.fill(0), vn.fill(0), Sn.fill(0);
    }
  }
  const yI = Object.freeze(Object.defineProperty({
    __proto__: null,
    __initializeContext: Z_,
    isPoint: Y_,
    isPointCompressed: X_,
    isPrivate: J_,
    isXOnlyPoint: Yy,
    pointAdd: eI,
    pointAddScalar: tI,
    pointCompress: rI,
    pointFromScalar: nI,
    pointMultiply: iI,
    privateAdd: sI,
    privateNegate: cI,
    privateSub: lI,
    recover: gI,
    sign: dI,
    signRecoverable: fI,
    signSchnorr: hI,
    verify: pI,
    verifySchnorr: mI,
    xOnlyPointAddTweak: uI,
    xOnlyPointAddTweakCheck: xI,
    xOnlyPointFromPoint: oI,
    xOnlyPointFromScalar: aI
  }, Symbol.toStringTag, {
    value: "Module"
  })), EI = ZS(yI);
  function AI(e) {
    const t = by.mnemonicToSeedSync(e), n = EI.fromSeed(fg.Buffer.from(t)).fingerprint;
    return Array.from(n).map((a) => a.toString(16).padStart(2, "0")).join("");
  }
  async function og(e, t) {
    return crypto.subtle.sign("HMAC", e, t);
  }
  async function bI(e, t, r, n) {
    const a = new Uint8Array(t.length + 4);
    a.set(t, 0), new DataView(a.buffer, t.length, 4).setUint32(0, n, false);
    let l = new Uint8Array(await og(e, a.buffer)), c = l.slice();
    for (let u = 1; u < r; u++) {
      l = new Uint8Array(await og(e, l.buffer));
      for (let x = 0; x < c.length; x++) c[x] ^= l[x];
    }
    return c;
  }
  async function wI(e, t, r, n) {
    const a = new TextEncoder().encode(e), i = await crypto.subtle.importKey("raw", a, {
      name: "HMAC",
      hash: "SHA-256"
    }, false, [
      "sign"
    ]), l = 32, c = Math.ceil(n / l), u = n - (c - 1) * l, x = [];
    for (let h = 1; h <= c; h++) x.push(await bI(i, t, r, h));
    const f = new Uint8Array(n);
    for (let h = 0; h < c - 1; h++) f.set(x[h], h * l);
    return f.set(x[c - 1].slice(0, u), (c - 1) * l), f;
  }
  async function Xy() {
    var _a;
    if ((_a = globalThis.crypto) == null ? void 0 : _a.subtle) return globalThis.crypto.subtle;
    try {
      const { webcrypto: e } = await ld(async () => {
        const { webcrypto: t } = await Promise.resolve().then(() => cE);
        return {
          webcrypto: t
        };
      }, void 0, import.meta.url);
      if (e == null ? void 0 : e.subtle) return e.subtle;
    } catch {
    }
    throw new Error("SubtleCrypto not found in this environment");
  }
  function Y8(e) {
    const t = new ArrayBuffer(e.byteLength);
    return new Uint8Array(t).set(e), t;
  }
  const pc = vg.trim().split(`
`), Jy = new Map(pc.map((e, t) => [
    e,
    t
  ]));
  if (pc.length !== 2048) throw new Error(`Invalid wordlist loaded: expected 2048 words, got ${pc.length}`);
  async function eE(e) {
    const r = await (await Xy()).digest("SHA-256", Y8(e));
    return new Uint8Array(r);
  }
  async function ig(e, t) {
    const r = await Xy(), n = await r.importKey("raw", Y8(e), {
      name: "HMAC",
      hash: "SHA-256"
    }, false, [
      "sign"
    ]), a = await r.sign("HMAC", n, Y8(t));
    return new Uint8Array(a);
  }
  function vI(e, t) {
    const r = Math.max(e.length, t.length), n = new Uint8Array(r);
    for (let a = 0; a < r; a++) n[a] = e[a % e.length] ^ t[a % t.length];
    return n;
  }
  async function X8(e, t = 32, r = new Uint8Array(0)) {
    const n = new Uint8Array(32).fill(0), a = await ig(n, e);
    let i = new Uint8Array(0), l = new Uint8Array(t), c = 0, u = 1;
    for (; c < t; ) {
      const x = new Uint8Array(i.length + r.length + 1);
      x.set(i, 0), x.set(r, i.length), x.set([
        u
      ], i.length + r.length), i = new Uint8Array(await ig(a, x));
      const f = Math.min(i.length, t - c);
      l.set(i.slice(0, f), c), c += f, u++;
    }
    return l;
  }
  async function Qd(e) {
    const t = e.trim().toLowerCase().split(/\s+/);
    if (t.length !== 12 && t.length !== 24) throw new Error("Mnemonic must be 12 or 24 words");
    let r = 0n;
    for (const h of t) {
      const p = Jy.get(h);
      if (p === void 0) throw new Error(`Invalid word: ${h}`);
      r = r << 11n | BigInt(p);
    }
    const n = t.length * 11, a = n / 33, i = n - a;
    let l = r >> BigInt(a);
    const c = new Uint8Array(i / 8);
    for (let h = c.length - 1; h >= 0; h--) c[h] = Number(l & 0xFFn), l >>= 8n;
    const x = (await eE(c))[0] >> 8 - a;
    if (Number(r & (1n << BigInt(a)) - 1n) !== x) throw new Error("Invalid mnemonic checksum");
    return c;
  }
  async function wa(e) {
    const t = e.length * 8;
    if (t !== 128 && t !== 256) throw new Error("Entropy must be 128 or 256 bits");
    const r = t / 32, a = (await eE(e))[0] >> 8 - r;
    let i = 0n;
    for (const x of e) i = i << 8n | BigInt(x);
    const l = i << BigInt(r) | BigInt(a), c = t + r, u = [];
    for (let x = 0; x < c / 11; x++) {
      const f = BigInt(c - (x + 1) * 11), h = Number(l >> f & 0x7FFn);
      u.push(pc[h]);
    }
    return u.join(" ");
  }
  function tE(e) {
    const t = e.length, r = Math.floor(t * 2584965 / 1e6), n = Math.ceil(r / 8);
    let a = 0n;
    for (const l of e) {
      const c = parseInt(l, 10);
      if (isNaN(c) || c < 1 || c > 6) throw new Error(`Invalid dice roll: '${l}'. Must be 1-6.`);
      a = a * 6n + BigInt(c - 1);
    }
    if (n === 0 && a > 0n) throw new Error("Cannot represent non-zero dice value in zero bytes.");
    const i = new Uint8Array(n);
    for (let l = i.length - 1; l >= 0; l--) i[l] = Number(a & 0xFFn), a >>= 8n;
    return i;
  }
  function BI(e) {
    const t = [
      /1{5,}/,
      /2{5,}/,
      /3{5,}/,
      /4{5,}/,
      /5{5,}/,
      /6{5,}/,
      /(123456){2,}/,
      /(654321){2,}/,
      /(123){3,}/,
      /(321){3,}/,
      /(?:222333444|333444555|444555666)/,
      /(\d)\1{4,}/,
      /(?:121212|131313|141414|151515|161616){2,}/
    ];
    for (const r of t) if (r.test(e)) return {
      bad: true,
      message: `Bad pattern detected: matches ${r.source}`
    };
    return {
      bad: false
    };
  }
  function CI(e) {
    if (!e) return {
      length: 0,
      distribution: {},
      mean: 0,
      stdDev: 0,
      estimatedEntropyBits: 0,
      chiSquare: 0
    };
    const t = e.split("").map((f) => parseInt(f, 10)), r = t.length, n = {
      1: 0,
      2: 0,
      3: 0,
      4: 0,
      5: 0,
      6: 0
    };
    for (const f of t) n[f]++;
    const i = t.reduce((f, h) => f + h, 0) / r, l = r > 1 ? Math.sqrt(t.reduce((f, h) => f + Math.pow(h - i, 2), 0) / (r - 1)) : 0, c = r * Math.log2(6), u = r / 6;
    let x = 0;
    for (let f = 1; f <= 6; f++) x += Math.pow(n[f] - u, 2) / u;
    return {
      length: r,
      distribution: n,
      mean: i,
      stdDev: l,
      estimatedEntropyBits: c,
      chiSquare: x
    };
  }
  function kI(e) {
    const t = new Set(e).size, r = e.every((n) => n === 0);
    return {
      isWeak: t < 32 || r,
      uniqueBytes: t,
      allZeros: r
    };
  }
  async function DI(e) {
    if (e.length === 0) throw new Error("At least one mnemonic is required for blending.");
    const t = await Promise.all(e.map(Qd));
    let r = 128;
    for (const l of t) l.length * 8 > r && (r = l.length * 8);
    let n = t[0];
    for (let l = 1; l < t.length; l++) n = vI(n, t[l]);
    const a = await wa(n.slice(0, 16));
    let i;
    return n.length >= 32 && (i = await wa(n.slice(0, 32))), {
      blendedEntropy: n,
      blendedMnemonic12: a,
      blendedMnemonic24: i,
      maxEntropyBits: r
    };
  }
  async function FI(e, t, r = 256, n = "seedsigner-dice-mix") {
    if (t.length < 50) throw new Error("A minimum of 50 dice rolls is required (99+ recommended).");
    const a = tE(t), i = r === 128 ? 16 : 32, l = new TextEncoder().encode(n), c = new TextEncoder().encode("dice-only"), u = await X8(a, i, c), x = await wa(u), f = new Uint8Array(e.length + a.length);
    f.set(e, 0), f.set(a, e.length);
    const h = await X8(f, i, l), p = await wa(h);
    return {
      finalEntropy: h,
      finalMnemonic: p,
      diceOnlyMnemonic: x
    };
  }
  const J8 = {
    20: {
      name: "AES-GCM",
      compress: false,
      auth: 4
    },
    21: {
      name: "AES-GCM +c",
      compress: true,
      auth: 4
    }
  }, hx = 12;
  function Cl(e) {
    const t = new ArrayBuffer(e.byteLength);
    return new Uint8Array(t).set(e), t;
  }
  function SI(e) {
    if (e.length < 5) throw new Error("Invalid KEF envelope: too short");
    const t = e[0];
    if (!(0 <= t && t <= 252)) throw new Error("Invalid label length in KEF envelope");
    if (1 + t + 4 > e.length) throw new Error("Invalid KEF envelope: insufficient data");
    const r = e.subarray(1, 1 + t), n = new TextDecoder().decode(r), a = e[1 + t];
    if (!J8[a]) throw new Error(`Unsupported KEF version: ${a}`);
    const i = 2 + t;
    let l = e[i] << 16 | e[i + 1] << 8 | e[i + 2];
    const c = l <= 1e4 ? l * 1e4 : l, u = e.subarray(5 + t);
    return {
      label: n,
      labelBytes: r,
      version: a,
      iterations: c,
      payload: u
    };
  }
  class rE {
    constructor(t, r, n) {
      __publicField(this, "keyPromise");
      this.keyPromise = (async () => {
        const a = await wI(t, r, n, 32);
        return crypto.subtle.importKey("raw", Cl(a), {
          name: "AES-GCM",
          length: 256
        }, false, [
          "encrypt",
          "decrypt"
        ]);
      })();
    }
    async encrypt(t, r = 20, n) {
      const a = J8[r];
      if (!a) throw new Error(`Unsupported KEF version: ${r}`);
      let i = t;
      a.compress && (i = fF(t));
      let l = n ? new Uint8Array(n) : crypto.getRandomValues(new Uint8Array(hx));
      const c = await this.keyPromise, u = Cl(i), x = Cl(l), f = a.auth * 8, h = await crypto.subtle.encrypt({
        name: "AES-GCM",
        iv: x,
        tagLength: f
      }, c, u), p = new Uint8Array(h), m = p.slice(0, p.length - a.auth), y = p.slice(p.length - a.auth), B = new Uint8Array(l.length + m.length + y.length);
      return B.set(l, 0), B.set(m, l.length), B.set(y, l.length + m.length), B;
    }
    async decrypt(t, r) {
      const n = J8[r];
      if (!n) throw new Error(`Unsupported KEF version: ${r}`);
      if (t.length < hx + n.auth) throw new Error("Payload too short for AES-GCM");
      const a = t.slice(0, hx), i = t.slice(hx, t.length - n.auth), l = t.slice(t.length - n.auth), c = await this.keyPromise;
      try {
        const u = new Uint8Array(i.length + l.length);
        u.set(i, 0), u.set(l, i.length);
        const x = await crypto.subtle.decrypt({
          name: "AES-GCM",
          iv: Cl(a),
          tagLength: n.auth * 8
        }, c, Cl(u));
        let f = new Uint8Array(x);
        return n.compress && (f = hF(f)), f;
      } catch (u) {
        throw console.error("Krux decryption internal error:", u), new Error("Krux decryption failed - wrong passphrase or corrupted data");
      }
    }
  }
  function _I(e) {
    const t = e.trim().replace(/\s/g, "").replace(/^KEF:/i, "");
    if (!/^[0-9a-fA-F]+$/.test(t)) throw new Error("Invalid hex string");
    if (t.length % 2 !== 0) throw new Error("Hex string must have even length");
    const r = new Uint8Array(t.length / 2);
    for (let n = 0; n < r.length; n++) r[n] = parseInt(t.substr(n * 2, 2), 16);
    return r;
  }
  async function nE(e) {
    const { kefData: t, passphrase: r } = e;
    let n;
    try {
      n = _I(t);
    } catch {
      try {
        n = gF(t);
      } catch {
        throw new Error("Invalid Krux data: Not a valid Hex or Base43 string.");
      }
    }
    let a, i, l, c, u;
    try {
      const p = SI(n);
      a = p.label, i = p.labelBytes, l = p.version, c = p.iterations, u = p.payload;
    } catch {
      throw new Error("Invalid Krux data: Not a valid Hex or Base43 string.");
    }
    if (!r) throw new Error("Passphrase is required for Krux decryption");
    const f = await new rE(r, i, c).decrypt(u, l);
    return {
      mnemonic: await wa(f),
      label: a,
      version: l,
      iterations: c
    };
  }
  async function II(e) {
    const { mnemonic: t, passphrase: r } = e;
    if (!r) throw new Error("Passphrase is required");
    const n = AI(t), a = 1e5, i = 20, l = await Qd(t), u = await new rE(r, new TextEncoder().encode(n), a).encrypt(l, i), x = PI(n, i, a, u);
    return {
      kefBase43: mF(x),
      label: n,
      version: i,
      iterations: a
    };
  }
  function PI(e, t, r, n) {
    const a = new TextEncoder().encode(e), i = a.length;
    if (i > 252) throw new Error("Label too long");
    let l;
    l = Math.floor(r / 1e4);
    const c = new Uint8Array(3);
    c[0] = l >> 16 & 255, c[1] = l >> 8 & 255, c[2] = l & 255;
    const u = 1 + i + 1 + 3 + n.length, x = new Uint8Array(u);
    let f = 0;
    return x[f++] = i, x.set(a, f), f += i, x[f++] = t, x.set(c, f), f += 3, x.set(n, f), x;
  }
  function NI(e) {
    if (e.length % 2 !== 0) throw new Error("Hex string must have an even number of characters");
    const t = new Uint8Array(e.length / 2);
    for (let r = 0; r < t.length; r++) t[r] = parseInt(e.substr(r * 2, 2), 16);
    return t;
  }
  function jI(e) {
    if (e.length % 4 !== 0) throw new Error("Invalid Standard SeedQR: Length must be a multiple of 4.");
    const t = [];
    for (let n = 0; n < e.length; n += 4) {
      const a = e.slice(n, n + 4), i = parseInt(a, 10);
      if (isNaN(i) || i >= 2048) throw new Error(`Invalid word index in SeedQR: ${a}`);
      t.push(i);
    }
    if (t.length !== 12 && t.length !== 24) throw new Error(`Invalid word count from SeedQR: ${t.length}. Must be 12 or 24.`);
    return t.map((n) => pc[n]).join(" ");
  }
  async function zI(e) {
    const t = NI(e);
    if (t.length !== 16 && t.length !== 32) throw new Error(`Invalid entropy length for Compact SeedQR: ${t.length}. Must be 16 or 32 bytes.`);
    return wa(t);
  }
  async function aE(e) {
    const t = e.trim();
    if (/^\d+$/.test(t)) return jI(t);
    if (/^[0-9a-fA-F]+$/.test(t)) return zI(t);
    throw new Error("Unsupported or invalid SeedQR format.");
  }
  async function UI(e) {
    const t = e.trim().toLowerCase().split(/\s+/);
    if (t.length !== 12 && t.length !== 24) throw new Error("Mnemonic must be 12 or 24 words to generate a SeedQR.");
    return t.map((n) => {
      const a = Jy.get(n);
      if (a === void 0) throw new Error(`Invalid word in mnemonic: ${n}`);
      return a.toString().padStart(4, "0");
    }).join("");
  }
  async function TI(e) {
    return await Qd(e);
  }
  Be.showComment = false;
  Be.showVersion = false;
  function Gl(e) {
    if (!e) return;
    const t = e.trim();
    return t.length ? t : void 0;
  }
  function RI(e) {
    return e.trim().toLowerCase().replace(/\s+/g, " ");
  }
  function oE(e, t, r) {
    return {
      v: 1,
      t: "bip39",
      w: RI(e),
      l: "en",
      pp: t ? 1 : 0
    };
  }
  function KI(e) {
    const t = R7(e), r = RC(e);
    return `SEEDPGP1:0:${t}:${r}`;
  }
  async function MI(e) {
    try {
      const t = await _m({
        armoredKey: e
      });
      try {
        await t.getEncryptionKey();
      } catch {
        return {
          valid: false,
          error: "Key has no usable encryption subkey"
        };
      }
      const r = await t.getExpirationTime();
      if (r && r < /* @__PURE__ */ new Date()) return {
        valid: false,
        error: "PGP key has expired"
      };
      let n = 0;
      try {
        const a = t;
        if (a.getBitSize && (n = a.getBitSize(), n > 0 && n < 2048)) return {
          valid: false,
          error: `PGP key too small (${n} bits). Minimum 2048.`
        };
      } catch {
      }
      try {
        await t.verifyPrimaryKey();
      } catch {
      }
      return {
        valid: true,
        fingerprint: t.getFingerprint().toUpperCase(),
        keySize: n || void 0,
        expirationDate: r instanceof Date ? r : void 0
      };
    } catch (t) {
      return {
        valid: false,
        error: `Failed to parse PGP key: ${t instanceof Error ? t.message : "Unknown error"}`
      };
    }
  }
  function LI(e) {
    const t = e.trim().replace(/^["']|["']$/g, "").replace(/[\n\r\t]/g, "");
    if (t.startsWith("SEEDPGP1:")) {
      const r = t.split(":");
      if (r.length < 4) throw new Error("Invalid frame format (need at least 4 colon-separated parts)");
      const n = r[0], a = r[1], i = r[2].toUpperCase(), l = r.slice(3).join(":");
      if (n !== "SEEDPGP1") throw new Error("Invalid prefix");
      if (a !== "0") throw new Error("Multipart frames not supported in this prototype");
      if (!/^[0-9A-F]{4}$/.test(i)) throw new Error("Invalid CRC16 format (must be 4 hex chars)");
      return {
        kind: "single",
        crc16: i,
        b45: l
      };
    } else return {
      kind: "single",
      crc16: "0000",
      b45: t,
      rawPayload: true
    };
  }
  function OI(e) {
    const t = LI(e), r = KC(t.b45);
    if (t.rawPayload) return r;
    const n = R7(r);
    if (n !== t.crc16) throw new Error(`CRC16 mismatch! Expected: ${t.crc16}, Got: ${n}. QR scan may be corrupted.`);
    return r;
  }
  async function HI(e) {
    const t = Gl(e.publicKeyArmored), r = Gl(e.messagePassword);
    if (!t && !r) throw new Error("Provide either a PGP public key or a message password (or both).");
    let n = [], a;
    if (t) {
      const u = await _m({
        armoredKey: t
      });
      try {
        await u.getEncryptionKey();
      } catch {
        throw new Error("This public key has no usable encryption subkey (E).");
      }
      a = u.getFingerprint().toUpperCase(), n = [
        u
      ];
    }
    const i = await Uv({
      text: JSON.stringify(e.plaintext)
    }), l = await Rv({
      message: i,
      encryptionKeys: n,
      passwords: r ? [
        r
      ] : [],
      format: "binary",
      config: {
        preferredSymmetricAlgorithm: A.symmetric.aes256
      }
    }), c = new Uint8Array(l);
    return {
      framed: KI(c),
      pgpBytes: c,
      recipientFingerprint: a
    };
  }
  async function QI(e) {
    var _a;
    const t = OI(e.frameText), r = await zv({
      binaryMessage: t
    }), n = ((_a = r.getEncryptionKeyIDs) == null ? void 0 : _a.call(r)) ?? [], a = Gl(e.privateKeyArmored), i = Gl(e.privateKeyPassphrase), l = Gl(e.messagePassword);
    let c = [];
    if (a) {
      let h = await Iv({
        armoredKey: a
      });
      if (!h.isDecrypted()) {
        if (!i) throw new Error("Private key is still locked. Enter the private key passphrase.");
        if (h = await Tv({
          privateKey: h,
          passphrase: i
        }), !h.isDecrypted()) throw new Error("Private key passphrase incorrect (key still locked).");
      }
      if (n.length) {
        const p = await h.getDecryptionKeys(), y = (Array.isArray(p) ? p : [
          p
        ]).map((D) => D.getKeyID().toHex().toUpperCase()), B = new Set(n.map((D) => D.toHex().toUpperCase()));
        if (!y.some((D) => B.has(D))) throw new Error("This payload is not encrypted to the provided private key (no matching recipient KeyID).");
      }
      c = [
        h
      ];
    }
    let u;
    try {
      const h = {
        message: r,
        format: "utf8"
      };
      c.length > 0 && (h.decryptionKeys = c), l && (h.passwords = [
        l
      ]), u = await Kv(h);
    } catch (h) {
      throw console.error("SeedPGP: decrypt failed:", h.message), h;
    }
    const { data: x } = u, f = JSON.parse(x);
    if (f.v !== 1) throw new Error(`Unsupported version: ${f.v}`);
    if (f.t !== "bip39") throw new Error(`Unsupported type: ${f.t}`);
    if (f.l !== "en") throw new Error(`Unsupported language: ${f.l}`);
    return f;
  }
  async function qI(e) {
    if ((e.mode || "pgp") === "krux") {
      const a = typeof e.plaintext == "string" ? e.plaintext : e.plaintext.w, i = e.messagePassword || "";
      if (!i) throw new Error("Krux mode requires a message password (passphrase)");
      try {
        const l = await II({
          mnemonic: a,
          passphrase: i
        });
        return {
          framed: l.kefBase43,
          label: l.label,
          version: l.version,
          iterations: l.iterations
        };
      } catch (l) {
        throw l instanceof Error ? new Error(`Krux encryption failed: ${l.message}`) : l;
      }
    }
    const r = typeof e.plaintext == "string" ? oE(e.plaintext, false) : e.plaintext, n = await HI({
      plaintext: r,
      publicKeyArmored: e.publicKeyArmored,
      messagePassword: e.messagePassword
    });
    return {
      framed: n.framed,
      pgpBytes: n.pgpBytes,
      recipientFingerprint: n.recipientFingerprint
    };
  }
  async function iE(e) {
    const t = e.mode || "pgp";
    if (t === "krux") {
      const r = e.messagePassword || "";
      if (!r) throw new Error("Krux mode requires a message password (passphrase)");
      try {
        return {
          v: 1,
          t: "bip39",
          w: (await nE({
            kefData: e.frameText,
            passphrase: r
          })).mnemonic,
          l: "en",
          pp: 0
        };
      } catch (n) {
        throw n instanceof Error ? new Error(`Krux decryption failed: ${n.message}`) : n;
      }
    }
    if (t === "seedqr") try {
      return {
        v: 1,
        t: "bip39",
        w: await aE(e.frameText),
        l: "en",
        pp: 0
      };
    } catch (r) {
      throw r instanceof Error ? new Error(`SeedQR decoding failed: ${r.message}`) : r;
    }
    return QI({
      frameText: e.frameText,
      privateKeyArmored: e.privateKeyArmored,
      privateKeyPassphrase: e.privateKeyPassphrase,
      messagePassword: e.messagePassword
    });
  }
  const GI = new RegExp(`^[${xc.replace(/[\-\]\\]/g, "\\$&")}]+$`);
  function sE(e) {
    const t = e.trim();
    return t.startsWith("SEEDPGP1:") ? "pgp" : t.toUpperCase().startsWith("KEF:") ? "krux" : /^\d+$/.test(t) && t.length >= 48 || /^[0-9a-fA-F]+$/.test(t) && (t.length === 32 || t.length === 64) ? "seedqr" : GI.test(t) ? "krux" : (t.includes(" "), "text");
  }
  const VI = () => E.jsxs("div", {
    className: "space-y-3",
    children: [
      E.jsx(M0, {
        icon: "\u{1F9F5}",
        title: "JavaScript Strings are Immutable",
        description: "Strings cannot be overwritten in memory. Copies persist until garbage collection runs (timing unpredictable)."
      }),
      E.jsx(M0, {
        icon: "\u{1F5D1}\uFE0F",
        title: "No Guaranteed Memory Wiping",
        description: "JavaScript has no secure memory clearing. Sensitive data may linger in RAM until GC or browser restart."
      }),
      E.jsx(M0, {
        icon: "\u{1F4CB}",
        title: "Clipboard Exposure",
        description: "Copied data is accessible to other tabs/apps. Browser extensions can read clipboard contents."
      }),
      E.jsx(M0, {
        icon: "\u{1F4BE}",
        title: "Browser Storage Persistence",
        description: "localStorage survives browser restart. sessionStorage survives page refresh. Both readable by any script on this domain."
      }),
      E.jsx(M0, {
        icon: "\u{1F50D}",
        title: "DevTools Access",
        description: "All app state, memory, and storage visible in browser DevTools. Never use on untrusted devices."
      }),
      E.jsx(M0, {
        icon: "\u{1F310}",
        title: "Network Risks (When Online)",
        description: "If hosted online: DNS, HTTPS, CDN, and browser can see usage patterns. Use offline/local for maximum security."
      }),
      E.jsxs("div", {
        className: "pt-3 border-t border-[#00f0ff]/30 text-xs text-[#6ef3f7]",
        children: [
          E.jsx("strong", {
            className: "text-[#00f0ff]",
            children: "Recommendation:"
          }),
          " ",
          "Use this tool on a dedicated offline device. Clear browser data after each use. Never use on shared/public computers."
        ]
      })
    ]
  }), M0 = ({ icon: e, title: t, description: r }) => E.jsxs("div", {
    className: "flex gap-2 text-sm",
    children: [
      E.jsx("span", {
        className: "text-lg flex-shrink-0",
        children: e
      }),
      E.jsxs("div", {
        children: [
          E.jsx("div", {
            className: "font-semibold text-[#00f0ff] mb-1",
            style: {
              textShadow: "0 0 10px rgba(0,240,255,0.7)"
            },
            children: t
          }),
          E.jsx("div", {
            className: "text-[#6ef3f7] leading-relaxed",
            children: r
          })
        ]
      })
    ]
  });
  function sg(e) {
    const t = Array.from(e, (r) => String.fromCodePoint(r)).join("");
    return btoa(t);
  }
  let L0 = null, Ix = null, Px = 0, Vl = 0;
  const lE = "AES-GCM", WI = 256, $I = 300 * 1e3, ZI = 1e3;
  async function e9() {
    var _a;
    const e = Date.now();
    if (!L0 || e - Px > $I || Vl > ZI) {
      if (L0) {
        const n = e - Px;
        (_a = console.debug) == null ? void 0 : _a.call(console, `Rotating session key (age: ${n}ms, ops: ${Vl})`), L0 = null, Ix = null;
      }
      L0 = await crypto.subtle.generateKey({
        name: lE,
        length: WI
      }, false, [
        "encrypt",
        "decrypt"
      ]), Ix = crypto.randomUUID(), Px = e, Vl = 0;
    }
    return {
      key: L0,
      keyId: Ix
    };
  }
  async function lg(e) {
    const { key: t, keyId: r } = await e9();
    if (Vl++, !t) throw new Error("Session key not initialized or has been destroyed.");
    const n = crypto.getRandomValues(new Uint8Array(12)), a = new TextEncoder().encode(JSON.stringify(e)), i = await crypto.subtle.encrypt({
      name: lE,
      iv: new Uint8Array(n)
    }, t, a);
    return {
      v: 1,
      alg: "A256GCM",
      keyId: r,
      iv_b64: sg(n),
      ct_b64: sg(new Uint8Array(i))
    };
  }
  function t9() {
    L0 = null, Ix = null, Vl = 0, Px = 0;
  }
  typeof document < "u" && document.addEventListener("visibilitychange", () => {
    var _a;
    document.hidden && ((_a = console.debug) == null ? void 0 : _a.call(console, "Page hidden - clearing session key for security"), t9());
  });
  const YI = ({ onClick: e }) => E.jsxs("button", {
    className: "flex items-center gap-2 text-amber-500/80 hover:text-amber-500 transition-colors",
    onClick: e,
    children: [
      E.jsx(mx, {
        className: "w-4 h-4"
      }),
      E.jsx("span", {
        className: "text-xs font-medium",
        children: "Security Info"
      })
    ]
  }), XI = ({ localItems: e, sessionItems: t }) => {
    const r = e.length + t.length, a = [
      ...e,
      ...t
    ].filter((l) => l.isSensitive).length > 0 ? "Warning" : r > 0 ? "Active" : "Empty", i = a === "Warning" ? "text-amber-500/80" : a === "Active" ? "text-teal-500/80" : "text-green-500/80";
    return E.jsxs("div", {
      className: `flex items-center gap-2 ${i}`,
      children: [
        E.jsx(Ab, {
          className: "w-4 h-4"
        }),
        E.jsx("span", {
          className: "text-xs font-medium",
          children: a
        })
      ]
    });
  }, JI = ({ events: e, onOpenClipboardModal: t }) => {
    const r = e.length, n = r === 0 ? "text-[#39ff14] bg-[#39ff14]/10 border-[#39ff14]/20" : r < 5 ? "text-[#ff006e] bg-[#ff006e]/10 border-[#ff006e]/30 font-semibold" : "text-[#ff006e] bg-[#ff006e]/10 border-[#ff006e]/30 font-bold animate-pulse";
    return E.jsxs("button", {
      onClick: t,
      className: `flex items-center gap-2 px-3 py-1.5 rounded-lg border transition-all hover:scale-105 ${n}`,
      children: [
        E.jsx(hb, {
          className: "w-3.5 h-3.5"
        }),
        E.jsx("span", {
          className: "text-xs",
          children: r === 0 ? "Empty" : `${r} item${r > 1 ? "s" : ""}`
        })
      ]
    });
  }, eP = ({ onOpenSecurityModal: e, onOpenStorageModal: t, localItems: r, sessionItems: n, events: a, onOpenClipboardModal: i, activeTab: l, onRequestTabChange: c, appVersion: u, isNetworkBlocked: x, onToggleNetwork: f, onResetAll: h }) => E.jsx("header", {
    className: "sticky top-0 z-[100] bg-[#0a0a0f] border-b border-[#00f0ff30] backdrop-blur-sm",
    children: E.jsxs("div", {
      className: "w-full px-4 py-3 space-y-3",
      children: [
        E.jsxs("div", {
          className: "flex items-center justify-between",
          children: [
            E.jsxs("div", {
              className: "flex items-center gap-3",
              children: [
                E.jsx("div", {
                  className: "w-10 h-10 bg-[#00f0ff] rounded-lg flex items-center justify-center shadow-[0_0_15px_rgba(0,240,255,0.5)]",
                  children: E.jsx(Bb, {
                    className: "w-6 h-6 text-[#0a0a0f]"
                  })
                }),
                E.jsxs("div", {
                  children: [
                    E.jsxs("h1", {
                      className: "text-lg font-semibold text-[#00f0ff]",
                      style: {
                        textShadow: "0 0 10px rgba(0,240,255,0.7)"
                      },
                      children: [
                        "SeedPGP ",
                        E.jsx("span", {
                          className: "text-[#ff006e]",
                          children: u
                        })
                      ]
                    }),
                    E.jsx("p", {
                      className: "text-xs text-[#6ef3f7]",
                      children: "OpenPGP-secured BIP39 backup"
                    })
                  ]
                })
              ]
            }),
            E.jsxs("button", {
              onClick: h,
              className: "flex items-center gap-1.5 px-3 py-1.5 text-xs bg-[#16213e] border border-[#ff006e] text-[#ff006e] rounded-lg font-medium hover:bg-[#ff006e20] transition-all",
              title: "Reset all data",
              children: [
                E.jsx(zx, {
                  size: 12
                }),
                E.jsx("span", {
                  className: "hidden sm:inline",
                  children: "Reset"
                })
              ]
            })
          ]
        }),
        E.jsxs("div", {
          className: "flex items-center gap-2 pb-2 border-b border-[#00f0ff20]",
          children: [
            E.jsxs("div", {
              className: "flex items-center gap-2",
              children: [
                E.jsx(YI, {
                  onClick: e
                }),
                E.jsx("div", {
                  onClick: t,
                  className: "cursor-pointer",
                  children: E.jsx(XI, {
                    localItems: r,
                    sessionItems: n
                  })
                }),
                E.jsx("div", {
                  onClick: i,
                  className: "cursor-pointer",
                  children: E.jsx(JI, {
                    events: a,
                    onOpenClipboardModal: i
                  })
                })
              ]
            }),
            E.jsx("div", {
              className: "flex-1"
            }),
            E.jsx("div", {
              className: "flex items-center gap-2",
              children: E.jsxs("button", {
                onClick: f,
                className: `flex items-center gap-1 px-2.5 py-1.5 text-xs rounded-lg font-medium transition-all whitespace-nowrap ${x ? "bg-[#16213e] border border-[#ff006e] text-[#ff006e] hover:bg-[#ff006e20]" : "bg-[#16213e] border border-[#39ff14] text-[#39ff14] hover:bg-[#39ff1420]"}`,
                title: x ? "Extra secure: Added manual blocking layer (CSP already blocks connections)" : "Normal: Relying on CSP to block connections",
                children: [
                  E.jsx("span", {
                    className: "text-sm",
                    children: x ? "\u{1F6AB}" : "\u{1F310}"
                  }),
                  E.jsx("span", {
                    className: "hidden sm:inline text-[10px]",
                    children: x ? "Extra secure" : "Normal"
                  })
                ]
              })
            })
          ]
        }),
        E.jsxs("div", {
          className: "grid grid-cols-4 gap-2",
          children: [
            E.jsx("button", {
              className: `py-2 rounded-lg font-medium text-xs whitespace-nowrap transition-all ${l === "create" ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#0a0a0f] text-[#9d84b7] border-2 border-[#00f0ff30] hover:text-[#6ef3f7] hover:border-[#00f0ff50]"}`,
              style: l === "create" ? {
                textShadow: "0 0 10px rgba(0,240,255,0.8)"
              } : void 0,
              onClick: () => c("create"),
              children: "Create"
            }),
            E.jsx("button", {
              className: `py-2 rounded-lg font-medium text-xs whitespace-nowrap transition-all ${l === "backup" ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#0a0a0f] text-[#9d84b7] border-2 border-[#00f0ff30] hover:text-[#6ef3f7] hover:border-[#00f0ff50]"}`,
              style: l === "backup" ? {
                textShadow: "0 0 10px rgba(0,240,255,0.8)"
              } : void 0,
              onClick: () => c("backup"),
              children: "Backup"
            }),
            E.jsx("button", {
              className: `py-2 rounded-lg font-medium text-xs whitespace-nowrap transition-all ${l === "restore" ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#0a0a0f] text-[#9d84b7] border-2 border-[#00f0ff30] hover:text-[#6ef3f7] hover:border-[#00f0ff50]"}`,
              style: l === "restore" ? {
                textShadow: "0 0 10px rgba(0,240,255,0.8)"
              } : void 0,
              onClick: () => c("restore"),
              children: "Restore"
            }),
            E.jsx("button", {
              className: `py-2 rounded-lg font-medium text-xs whitespace-nowrap transition-all ${l === "seedblender" ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#0a0a0f] text-[#9d84b7] border-2 border-[#00f0ff30] hover:text-[#6ef3f7] hover:border-[#00f0ff50]"}`,
              style: l === "seedblender" ? {
                textShadow: "0 0 10px rgba(0,240,255,0.8)"
              } : void 0,
              onClick: () => c("seedblender"),
              children: "Blender"
            })
          ]
        })
      ]
    })
  }), tP = ({ localItems: e, sessionItems: t }) => {
    const r = e.length + t.length, n = [
      ...e,
      ...t
    ].filter((a) => a.isSensitive).length;
    return E.jsxs("div", {
      children: [
        n > 0 && E.jsx("div", {
          className: "mb-3 bg-yellow-50 border border-yellow-300 rounded-md p-3 text-xs",
          children: E.jsxs("div", {
            className: "flex items-start gap-2",
            children: [
              E.jsx("span", {
                className: "text-yellow-600 mt-0.5",
                children: "\u26A0\uFE0F"
              }),
              E.jsxs("div", {
                className: "text-yellow-800",
                children: [
                  E.jsx("strong", {
                    children: "Security Notice:"
                  }),
                  " Sensitive data persists in browser storage (survives refresh/restart). Clear manually if on shared device."
                ]
              })
            ]
          })
        }),
        E.jsxs("div", {
          className: "space-y-3",
          children: [
            E.jsx(cg, {
              title: "localStorage",
              items: e,
              icon: "\u{1F4BE}"
            }),
            E.jsx(cg, {
              title: "sessionStorage",
              items: t,
              icon: "\u23F1\uFE0F"
            })
          ]
        }),
        r === 0 && E.jsxs("div", {
          className: "text-center py-6",
          children: [
            E.jsx("div", {
              className: "text-4xl mb-2",
              children: "\u2705"
            }),
            E.jsx("p", {
              className: "text-sm text-gray-500",
              children: "No data in browser storage"
            })
          ]
        })
      ]
    });
  }, cg = ({ title: e, items: t, icon: r }) => t.length === 0 ? null : E.jsxs("div", {
    children: [
      E.jsxs("h4", {
        className: "text-xs font-bold text-gray-500 mb-2 flex items-center gap-1",
        children: [
          E.jsx("span", {
            children: r
          }),
          E.jsx("span", {
            className: "uppercase",
            children: e
          }),
          E.jsxs("span", {
            className: "ml-auto text-gray-400 font-normal",
            children: [
              "(",
              t.length,
              ")"
            ]
          })
        ]
      }),
      E.jsx("div", {
        className: "space-y-2",
        children: t.map((n) => E.jsxs("div", {
          className: `text-xs rounded-md border p-2 ${n.isSensitive ? "bg-red-50 border-red-300" : "bg-gray-50 border-gray-200"}`,
          children: [
            E.jsxs("div", {
              className: "flex justify-between items-start gap-2 mb-1",
              children: [
                E.jsxs("span", {
                  className: `font-mono font-semibold text-[11px] break-all ${n.isSensitive ? "text-red-700" : "text-gray-700"}`,
                  children: [
                    n.isSensitive && "\u{1F534} ",
                    n.key
                  ]
                }),
                E.jsxs("span", {
                  className: "text-gray-400 text-[10px] whitespace-nowrap",
                  children: [
                    n.size,
                    "B"
                  ]
                })
              ]
            }),
            E.jsx("div", {
              className: "text-gray-500 font-mono text-[10px] break-all leading-relaxed opacity-70",
              children: n.value
            })
          ]
        }, n.key))
      })
    ]
  }), rP = ({ events: e, onClear: t }) => E.jsxs("div", {
    children: [
      e.length > 0 && E.jsxs("div", {
        className: "mb-3 bg-orange-100 border border-orange-300 rounded-md p-3 text-xs text-orange-900",
        children: [
          E.jsx("strong", {
            children: "\u26A0\uFE0F Clipboard Warning:"
          }),
          " Copied data is accessible to other apps, browser tabs, and extensions. Clear clipboard after use."
        ]
      }),
      e.length > 0 ? E.jsxs(E.Fragment, {
        children: [
          E.jsx("div", {
            className: "space-y-2 mb-3 max-h-64 overflow-y-auto",
            children: e.map((r, n) => E.jsxs("div", {
              className: "bg-white border border-orange-200 rounded-md p-2 text-xs",
              children: [
                E.jsxs("div", {
                  className: "flex justify-between items-start gap-2 mb-1",
                  children: [
                    E.jsx("span", {
                      className: "font-semibold text-orange-900 break-all",
                      children: r.field
                    }),
                    E.jsx("span", {
                      className: "text-gray-400 text-[10px] whitespace-nowrap",
                      children: r.timestamp.toLocaleTimeString()
                    })
                  ]
                }),
                E.jsxs("div", {
                  className: "text-gray-600 text-[10px]",
                  children: [
                    "Copied ",
                    r.length,
                    " character",
                    r.length !== 1 ? "s" : ""
                  ]
                })
              ]
            }, n))
          }),
          E.jsx("button", {
            onClick: t,
            className: "w-full text-xs py-2 px-3 bg-orange-600 hover:bg-orange-700 text-white rounded-md font-medium transition-colors",
            children: "\u{1F5D1}\uFE0F Clear Clipboard & History"
          })
        ]
      }) : E.jsxs("div", {
        className: "text-center py-4",
        children: [
          E.jsx("div", {
            className: "text-3xl mb-2",
            children: "\u2705"
          }),
          E.jsx("p", {
            className: "text-xs text-gray-500",
            children: "No clipboard activity detected"
          })
        ]
      })
    ]
  }), nP = ({ appVersion: e, buildHash: t, buildTimestamp: r }) => E.jsxs("footer", {
    className: "text-center text-xs text-[#6ef3f7] p-4",
    children: [
      E.jsxs("p", {
        children: [
          "SeedPGP v",
          e,
          " \u2022 build ",
          t,
          " \u2022 ",
          r
        ]
      }),
      E.jsx("p", {
        className: "mt-1",
        children: "Never share your private keys or seed phrases. Always verify on an airgapped device."
      })
    ]
  });
  function ug(e, t) {
    let r = null;
    return (...n) => {
      r && clearTimeout(r), r = setTimeout(() => e(...n), t);
    };
  }
  let aP = 0;
  const kl = () => ({
    id: aP++,
    rawInput: "",
    decryptedMnemonic: null,
    isEncrypted: false,
    inputType: "text",
    passwordRequired: false,
    passwordInput: "",
    error: null,
    isValid: null
  });
  function oP({ onDirtyStateChange: e, setMnemonicForBackup: t, requestTabChange: r, incomingSeed: n, onSeedReceived: a }) {
    const i = fe.useRef(/* @__PURE__ */ new Set()), [l, c] = fe.useState([
      kl()
    ]), [u, x] = fe.useState(false), [f, h] = fe.useState(null), [p, m] = fe.useState(null), [y, B] = fe.useState(null), [v, D] = fe.useState(""), [P, k] = fe.useState(false), [w, _] = fe.useState(""), [T, N] = fe.useState(null), [U, C] = fe.useState(null), [z, I] = fe.useState(null), [R, L] = fe.useState(null), [O, W] = fe.useState(false), [$, X] = fe.useState(false), [Y, Q] = fe.useState(false), [V, M] = fe.useState(24);
    fe.useEffect(() => {
      const ge = l.some((ke) => ke.rawInput.length > 0) || w.length > 0;
      e(ge);
    }, [
      l,
      w,
      e
    ]);
    const G = (ge) => {
      c((ke) => {
        const ze = ke.findIndex((Qe) => !Qe.rawInput.trim());
        if (ze !== -1) return ke.map((Qe, Le) => Le === ze ? {
          ...Qe,
          rawInput: ge,
          decryptedMnemonic: ge,
          isValid: null,
          error: null
        } : Qe);
        {
          const Qe = kl();
          return Qe.rawInput = ge, Qe.decryptedMnemonic = ge, [
            ...ke,
            Qe
          ];
        }
      });
    };
    fe.useEffect(() => {
      n && n.trim() && (i.current.has(n) || l.some((ke) => ke.decryptedMnemonic === n) || (G(n), i.current.add(n)), a == null ? void 0 : a());
    }, [
      n
    ]), fe.useEffect(() => {
      ug(async () => {
        k(true), D("");
        const ke = l.map((Le) => Le.decryptedMnemonic).filter((Le) => Le !== null && Le.length > 0), ze = l.map(async (Le) => {
          if (!Le.rawInput.trim()) return {
            isValid: null,
            error: null
          };
          if (Le.isEncrypted && !Le.decryptedMnemonic) return {
            isValid: null,
            error: null
          };
          const ft = Le.decryptedMnemonic || Le.rawInput;
          try {
            return await Qd(ft.trim()), {
              isValid: true,
              error: null
            };
          } catch (rt) {
            return {
              isValid: false,
              error: rt.message || "Invalid mnemonic"
            };
          }
        }), Qe = await Promise.all(ze);
        if (c((Le) => Le.map((ft, rt) => {
          var _a, _b2;
          return {
            ...ft,
            isValid: ((_a = Qe[rt]) == null ? void 0 : _a.isValid) ?? ft.isValid,
            error: ((_b2 = Qe[rt]) == null ? void 0 : _b2.error) ?? ft.error
          };
        })), ke.length > 0) try {
          const Le = await DI(ke);
          m(Le), B(kI(Le.blendedEntropy));
        } catch (Le) {
          D(Le.message), m(null);
        }
        else m(null);
        k(false);
      }, 300)();
    }, [
      JSON.stringify(l.map((ge) => ge.decryptedMnemonic))
    ]), fe.useEffect(() => {
      ug(async () => {
        if (N(CI(w)), C(BI(w).message || null), w.length >= 50) try {
          const ke = p && p.blendedEntropy.length >= 32 ? 32 : 16, ze = await X8(tE(w), ke, new TextEncoder().encode("dice-only"));
          I(await wa(ze));
        } catch {
          I(null);
        }
        else I(null);
      }, 200)();
    }, [
      w,
      p
    ]);
    const ee = (ge, ke) => {
      c((ze) => ze.map((Qe, Le) => Le === ge ? {
        ...Qe,
        ...ke
      } : Qe));
    }, te = () => c([
      ...l,
      kl()
    ]), oe = (ge) => {
      l.length > 1 ? c(l.filter((ke) => ke.id !== ge)) : c([
        kl()
      ]);
    }, ie = (ge) => {
      h(ge), x(true);
    }, xe = fe.useCallback(async (ge) => {
      if (f === null) return;
      const ke = typeof ge == "string" ? ge : Array.from(ge).map((rt) => rt.toString(16).padStart(2, "0")).join(""), ze = sE(ke);
      let Qe = ke, Le = null, ft = "text";
      try {
        ze === "seedqr" ? (Qe = await aE(ke), ft = "seedqr", ee(f, {
          rawInput: Qe,
          decryptedMnemonic: Qe,
          isEncrypted: false,
          passwordRequired: false,
          inputType: ft,
          error: null
        })) : ze === "pgp" || ze === "krux" ? (ft = ze === "pgp" ? "seedpgp" : ze, ee(f, {
          rawInput: ke,
          decryptedMnemonic: null,
          isEncrypted: true,
          passwordRequired: true,
          inputType: ft,
          error: null
        })) : ee(f, {
          rawInput: ke,
          decryptedMnemonic: ke,
          isEncrypted: false,
          passwordRequired: false,
          inputType: "text",
          error: null
        });
      } catch (rt) {
        Le = rt.message || "Failed to process QR code", ee(f, {
          rawInput: ke,
          error: Le
        });
      }
      x(false);
    }, [
      f
    ]), de = fe.useCallback(() => {
      x(false);
    }, []), he = fe.useCallback((ge) => {
      f !== null && ee(f, {
        error: ge
      });
    }, [
      f
    ]), be = async (ge) => {
      const ke = l[ge];
      if (!(!ke.isEncrypted || !ke.passwordInput)) try {
        let ze;
        ke.inputType === "krux" ? ze = (await nE({
          kefData: ke.rawInput,
          passphrase: ke.passwordInput
        })).mnemonic : ze = (await iE({
          frameText: ke.rawInput,
          messagePassword: ke.passwordInput,
          mode: "pgp"
        })).w, ee(ge, {
          rawInput: ze,
          decryptedMnemonic: ze,
          isEncrypted: false,
          passwordRequired: false,
          error: null
        });
      } catch (ze) {
        ee(ge, {
          error: ze.message || "Decryption failed"
        });
      }
    }, ve = async () => {
      if (p) {
        W(true);
        try {
          const ge = V === 12 ? 128 : 256, ke = await FI(p.blendedEntropy, w, ge);
          L(ke.finalMnemonic);
        } catch {
          L(null);
        } finally {
          W(false);
        }
      }
    }, Ce = () => {
      R && (t(R), r("backup"));
    }, Ie = async () => {
      if (R) try {
        await navigator.clipboard.writeText(R), Q(true), window.setTimeout(() => Q(false), 1200);
      } catch {
        const ge = document.getElementById("final-mnemonic");
        if (ge) {
          const ke = document.createRange();
          ke.selectNodeContents(ge);
          const ze = window.getSelection();
          ze == null ? void 0 : ze.removeAllRanges(), ze == null ? void 0 : ze.addRange(ke);
        }
      }
    }, Ue = (ge) => ge === true ? "border-[#39ff14] focus:ring-[#39ff14]" : ge === false ? "border-[#ff006e] focus:ring-[#ff006e]" : "border-[#00f0ff]/50 focus:ring-[#00f0ff]";
    return E.jsxs(E.Fragment, {
      children: [
        E.jsxs("div", {
          className: "space-y-4 md:space-y-6 pb-10 md:pb-20",
          children: [
            E.jsx("div", {
              className: "mb-3 md:mb-6",
              children: E.jsx("h2", {
                className: "text-base md:text-lg font-bold text-[#00f0ff] uppercase tracking-widest",
                style: {
                  textShadow: "0 0 10px rgba(0,240,255,0.7)"
                },
                children: "Seed Blender"
              })
            }),
            E.jsxs("div", {
              className: "p-3 md:p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30",
              children: [
                E.jsx("h3", {
                  className: "font-semibold text-base md:text-lg mb-2 md:mb-4 text-[#00f0ff]",
                  style: {
                    textShadow: "0 0 10px rgba(0,240,255,0.7)"
                  },
                  children: "Step 1: Input Mnemonics"
                }),
                E.jsxs("div", {
                  className: "space-y-3 md:space-y-4",
                  children: [
                    l.map((ge, ke) => E.jsx("div", {
                      className: "p-2 md:p-3 bg-[#1a1a2e] rounded-lg border-2 border-[#00f0ff]/20",
                      children: ge.passwordRequired ? E.jsxs("div", {
                        className: "space-y-2",
                        children: [
                          E.jsxs("div", {
                            className: "flex items-center justify-between",
                            children: [
                              E.jsxs("label", {
                                className: "text-sm font-semibold text-[#00f0ff]",
                                children: [
                                  "Decrypt ",
                                  ge.inputType.toUpperCase(),
                                  " Mnemonic"
                                ]
                              }),
                              E.jsx("button", {
                                onClick: () => ee(ke, kl()),
                                className: "text-xs text-[#6ef3f7] hover:text-[#00f0ff]",
                                children: "\xD7 Cancel"
                              })
                            ]
                          }),
                          E.jsxs("p", {
                            className: "text-xs text-[#6ef3f7] truncate",
                            children: [
                              "Payload: ",
                              E.jsxs("code", {
                                className: "text-[#9d84b7]",
                                children: [
                                  ge.rawInput.substring(0, 40),
                                  "..."
                                ]
                              })
                            ]
                          }),
                          E.jsxs("div", {
                            className: "flex gap-2",
                            children: [
                              E.jsx("input", {
                                type: "password",
                                placeholder: "Enter passphrase to decrypt...",
                                value: ge.passwordInput,
                                onChange: (ze) => ee(ke, {
                                  passwordInput: ze.target.value
                                }),
                                className: "w-full p-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-sm font-mono text-[#00f0ff] placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)]"
                              }),
                              E.jsx("button", {
                                onClick: () => be(ke),
                                className: "px-4 bg-[#ff006e] text-white rounded-lg font-semibold hover:bg-[#ff4d8f] hover:shadow-[0_0_15px_rgba(255,0,110,0.5)]",
                                children: E.jsx(bb, {
                                  size: 16
                                })
                              })
                            ]
                          }),
                          ge.error && E.jsx("p", {
                            className: "text-xs text-[#ff006e]",
                            children: ge.error
                          })
                        ]
                      }) : E.jsxs("div", {
                        className: "space-y-2",
                        children: [
                          E.jsx("textarea", {
                            value: ge.rawInput,
                            onChange: (ze) => ee(ke, {
                              rawInput: ze.target.value,
                              decryptedMnemonic: ze.target.value,
                              isValid: null,
                              error: null
                            }),
                            onFocus: (ze) => ze.target.classList.remove("blur-sensitive"),
                            onBlur: (ze) => ge.rawInput && ze.target.classList.add("blur-sensitive"),
                            placeholder: `Mnemonic #${ke + 1} (12 or 24 words)`,
                            className: `w-full h-20 md:h-24 p-2 md:p-3 bg-[#0a0a0f] border-2 rounded-lg font-mono text-xs text-[#00f0ff] placeholder:text-[10px] placeholder:text-[#6ef3f7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all ${Ue(ge.isValid)} ${ge.rawInput ? "blur-sensitive" : ""}`
                          }),
                          E.jsxs("div", {
                            className: "flex items-center justify-between",
                            children: [
                              E.jsxs("button", {
                                onClick: () => ie(ke),
                                className: "flex items-center gap-1.5 px-3 py-1.5 bg-[#16213e] border border-[#00f0ff] text-[#00f0ff] text-xs rounded-lg hover:bg-[#00f0ff20] transition-all",
                                title: "Scan QR code",
                                children: [
                                  E.jsx(jx, {
                                    size: 14
                                  }),
                                  E.jsx("span", {
                                    children: "Scan QR"
                                  })
                                ]
                              }),
                              E.jsx("button", {
                                onClick: () => oe(ge.id),
                                className: "p-1.5 bg-[#16213e] border border-[#ff006e] text-[#ff006e] rounded-lg hover:bg-[#ff006e20] transition-all",
                                title: "Remove mnemonic",
                                children: E.jsx(ds, {
                                  size: 14
                                })
                              })
                            ]
                          }),
                          ge.error && E.jsx("p", {
                            className: "text-xs text-[#ff006e] px-1",
                            children: ge.error
                          })
                        ]
                      })
                    }, ge.id)),
                    E.jsxs("button", {
                      onClick: te,
                      className: "w-full py-2 bg-[#1a1a2e] hover:bg-[#16213e] text-[#00f0ff] rounded-lg font-semibold flex items-center justify-center gap-2 border-2 border-[#00f0ff]/50",
                      children: [
                        E.jsx(vb, {
                          size: 16
                        }),
                        " Add Another Mnemonic"
                      ]
                    })
                  ]
                })
              ]
            }),
            E.jsxs("div", {
              className: "p-3 md:p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 min-h-[10rem]",
              children: [
                E.jsx("h3", {
                  className: "font-semibold text-base md:text-lg mb-2 md:mb-4 text-[#00f0ff]",
                  style: {
                    textShadow: "0 0 10px rgba(0,240,255,0.7)"
                  },
                  children: "Step 2: Blended Preview"
                }),
                P ? E.jsx("p", {
                  className: "text-sm text-[#6ef3f7]",
                  children: "Blending..."
                }) : !v && p ? E.jsxs("div", {
                  className: "space-y-3 md:space-y-4 animate-in fade-in",
                  children: [
                    (y == null ? void 0 : y.isWeak) && E.jsxs("div", {
                      className: "p-3 bg-[#ff006e]/10 border-2 border-[#ff006e]/30 text-[#ff006e] rounded-lg text-sm flex gap-3",
                      children: [
                        E.jsx(mx, {}),
                        E.jsxs("div", {
                          children: [
                            E.jsx("span", {
                              className: "font-bold",
                              children: "Weak XOR Result:"
                            }),
                            " Detected only ",
                            y.uniqueBytes,
                            " unique bytes. This can happen if seeds are identical or too similar."
                          ]
                        })
                      ]
                    }),
                    E.jsxs("div", {
                      className: "space-y-1",
                      children: [
                        E.jsx("label", {
                          className: "text-xs font-semibold text-[#00f0ff] uppercase tracking-widest",
                          style: {
                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                          },
                          children: "Blended Mnemonic (12-word)"
                        }),
                        E.jsx("p", {
                          "data-sensitive": "Blended Mnemonic (12-word)",
                          className: "p-2 md:p-3 bg-[#1a1a2e] rounded-md font-mono text-xs md:text-sm text-[#00f0ff] break-words border-2 border-[#00f0ff]/30",
                          children: p.blendedMnemonic12
                        })
                      ]
                    }),
                    p.blendedMnemonic24 && E.jsxs("div", {
                      className: "space-y-1",
                      children: [
                        E.jsx("label", {
                          className: "text-xs font-semibold text-[#00f0ff] uppercase tracking-widest",
                          style: {
                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                          },
                          children: "Blended Mnemonic (24-word)"
                        }),
                        E.jsx("p", {
                          "data-sensitive": "Blended Mnemonic (24-word)",
                          className: "p-2 md:p-3 bg-[#1a1a2e] rounded-md font-mono text-xs md:text-sm text-[#00f0ff] break-words border-2 border-[#00f0ff]/30",
                          children: p.blendedMnemonic24
                        })
                      ]
                    })
                  ]
                }) : E.jsx("p", {
                  className: "text-sm text-[#6ef3f7]",
                  children: v || "Previews will appear here once you enter one or more valid mnemonics."
                })
              ]
            }),
            E.jsxs("div", {
              className: "p-3 md:p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30",
              children: [
                E.jsx("h3", {
                  className: "font-semibold text-base md:text-lg mb-2 md:mb-4 text-[#00f0ff]",
                  style: {
                    textShadow: "0 0 10px rgba(0,240,255,0.7)"
                  },
                  children: "Step 3: Input Dice Rolls"
                }),
                E.jsxs("div", {
                  className: "space-y-3 md:space-y-4",
                  children: [
                    E.jsx("textarea", {
                      value: w,
                      onChange: (ge) => _(ge.target.value.replace(/[^1-6]/g, "")),
                      placeholder: "99+ dice rolls (e.g., 16345...)",
                      className: "w-full h-24 md:h-32 p-2 md:p-3 bg-[#0a0a0f] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-xs text-[#00f0ff] placeholder:text-[10px] placeholder:text-[#6ef3f7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all"
                    }),
                    U && E.jsxs("div", {
                      className: "p-3 bg-[#ff006e]/10 border-2 border-[#ff006e]/30 text-[#ff006e] rounded-lg text-sm flex gap-3",
                      children: [
                        E.jsx(mx, {}),
                        E.jsxs("p", {
                          children: [
                            E.jsx("span", {
                              className: "font-bold",
                              children: "Warning:"
                            }),
                            " ",
                            U
                          ]
                        })
                      ]
                    }),
                    T && T.length > 0 && E.jsxs("div", {
                      className: "grid grid-cols-2 md:grid-cols-4 gap-2 md:gap-4 text-center",
                      children: [
                        E.jsxs("div", {
                          className: "p-3 bg-[#1a1a2e] rounded-lg border-2 border-[#00f0ff]/30",
                          children: [
                            E.jsx("p", {
                              className: "text-xs text-[#6ef3f7]",
                              children: "Rolls"
                            }),
                            E.jsx("p", {
                              className: "text-base md:text-lg font-bold text-[#00f0ff]",
                              children: T.length
                            })
                          ]
                        }),
                        E.jsxs("div", {
                          className: "p-3 bg-[#1a1a2e] rounded-lg border-2 border-[#00f0ff]/30",
                          children: [
                            E.jsx("p", {
                              className: "text-xs text-[#6ef3f7]",
                              children: "Entropy (bits)"
                            }),
                            E.jsx("p", {
                              className: "text-base md:text-lg font-bold text-[#00f0ff]",
                              children: T.estimatedEntropyBits.toFixed(1)
                            })
                          ]
                        }),
                        E.jsxs("div", {
                          className: "p-3 bg-[#1a1a2e] rounded-lg border-2 border-[#00f0ff]/30",
                          children: [
                            E.jsx("p", {
                              className: "text-xs text-[#6ef3f7]",
                              children: "Mean"
                            }),
                            E.jsx("p", {
                              className: "text-base md:text-lg font-bold text-[#00f0ff]",
                              children: T.mean.toFixed(2)
                            })
                          ]
                        }),
                        E.jsxs("div", {
                          className: "p-3 bg-[#1a1a2e] rounded-lg border-2 border-[#00f0ff]/30",
                          children: [
                            E.jsx("p", {
                              className: "text-xs text-[#6ef3f7]",
                              children: "Chi-Square"
                            }),
                            E.jsx("p", {
                              className: `text-base md:text-lg font-bold ${T.chiSquare > 11.07 ? "text-[#ff006e]" : "text-[#00f0ff]"}`,
                              children: T.chiSquare.toFixed(2)
                            })
                          ]
                        })
                      ]
                    }),
                    z && E.jsxs("div", {
                      className: "space-y-1 pt-2",
                      children: [
                        E.jsx("label", {
                          className: "text-xs font-semibold text-[#00f0ff] uppercase tracking-widest",
                          style: {
                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                          },
                          children: "Dice-Only Preview Mnemonic"
                        }),
                        E.jsx("p", {
                          "data-sensitive": "Dice-Only Preview Mnemonic",
                          className: "p-2 md:p-3 bg-[#1a1a2e] rounded-md font-mono text-xs md:text-sm text-[#00f0ff] break-words border-2 border-[#00f0ff]/30",
                          children: z
                        })
                      ]
                    })
                  ]
                })
              ]
            }),
            E.jsxs("div", {
              className: "p-3 md:p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/50 shadow-[0_0_20px_rgba(0,240,255,0.3)]",
              children: [
                E.jsx("h3", {
                  className: "font-semibold text-base md:text-lg mb-2 md:mb-4 text-[#00f0ff]",
                  style: {
                    textShadow: "0 0 10px rgba(0,240,255,0.7)"
                  },
                  children: "Step 4: Generate Final Mnemonic"
                }),
                R ? E.jsxs("div", {
                  className: "p-4 bg-[#0a0a0f] border-2 border-[#39ff14] rounded-2xl shadow-[0_0_20px_rgba(57,255,20,0.3)] animate-in fade-in",
                  children: [
                    E.jsxs("div", {
                      className: "flex items-center justify-between mb-4",
                      children: [
                        E.jsxs("span", {
                          className: "font-bold text-[#39ff14] flex items-center gap-2 text-lg",
                          style: {
                            textShadow: "0 0 10px rgba(57,255,20,0.8)"
                          },
                          children: [
                            E.jsx(ha, {
                              size: 22
                            }),
                            " Final Mnemonic Generated"
                          ]
                        }),
                        E.jsxs("button", {
                          onClick: () => L(null),
                          className: "p-2.5 hover:bg-[#16213e] rounded-xl transition-all text-[#39ff14] hover:shadow-[0_0_15px_rgba(57,255,20,0.5)] flex items-center gap-2",
                          children: [
                            E.jsx(n9, {
                              size: 22
                            }),
                            " Hide"
                          ]
                        })
                      ]
                    }),
                    E.jsxs("div", {
                      className: "p-6 bg-[#0a0a0f] rounded-xl border-2 border-[#39ff14] shadow-[0_0_20px_rgba(57,255,20,0.3)]",
                      children: [
                        E.jsx("div", {
                          className: "flex items-center justify-end mb-3",
                          children: E.jsx("button", {
                            type: "button",
                            onClick: Ie,
                            className: "px-3 py-1.5 bg-[#16213e] border-2 border-[#39ff14]/50 text-[#39ff14] rounded-lg text-xs font-semibold hover:shadow-[0_0_15px_rgba(57,255,20,0.35)] transition-all",
                            title: "Copy final mnemonic",
                            children: Y ? "Copied" : "Copy"
                          })
                        }),
                        E.jsx("p", {
                          id: "final-mnemonic",
                          "data-sensitive": "Final Blended Mnemonic",
                          className: "font-mono text-center text-sm md:text-base break-words text-[#39ff14] leading-relaxed select-text cursor-text",
                          onClick: (ge) => {
                            const ke = document.createRange();
                            ke.selectNodeContents(ge.currentTarget);
                            const ze = window.getSelection();
                            ze == null ? void 0 : ze.removeAllRanges(), ze == null ? void 0 : ze.addRange(ke);
                          },
                          children: R
                        }),
                        E.jsx("p", {
                          className: "text-[9px] text-[#6ef3f7] mt-2 text-center",
                          children: "Click the words to select all, or use Copy."
                        })
                      ]
                    }),
                    E.jsxs("div", {
                      className: "mt-4 p-3 bg-[#ff006e]/10 text-[#ff006e] rounded-lg text-xs flex gap-2 border-2 border-[#ff006e]/30",
                      children: [
                        E.jsx(mx, {
                          size: 16,
                          className: "shrink-0 mt-0.5"
                        }),
                        E.jsxs("span", {
                          children: [
                            E.jsx("strong", {
                              children: "Security Warning:"
                            }),
                            " Write this down immediately. Do not save it digitally."
                          ]
                        })
                      ]
                    }),
                    E.jsxs("div", {
                      className: "grid grid-cols-1 sm:grid-cols-2 gap-3 mt-4",
                      children: [
                        E.jsxs("button", {
                          onClick: () => X(true),
                          className: "w-full py-2.5 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] text-xs md:text-sm rounded-lg font-bold uppercase tracking-wide flex items-center justify-center gap-2 hover:bg-[#00f0ff]/20 active:scale-95 transition-all",
                          style: {
                            textShadow: "0 0 8px rgba(0,240,255,0.7)"
                          },
                          children: [
                            E.jsx(jx, {
                              size: 16
                            }),
                            " Export as QR"
                          ]
                        }),
                        "                                ",
                        E.jsxs("button", {
                          onClick: Ce,
                          className: "w-full py-2.5 bg-[#1a1a2e] border-2 border-[#ff006e] text-[#00f0ff] text-xs md:text-sm rounded-lg font-bold uppercase tracking-wide flex items-center justify-center gap-2 hover:shadow-[0_0_25px_rgba(255,0,110,0.7)] active:scale-95 transition-all disabled:opacity-50 disabled:cursor-not-allowed shadow-[0_0_15px_rgba(255,0,110,0.5)]",
                          style: {
                            textShadow: "0 0 8px rgba(0,240,255,0.7)"
                          },
                          disabled: !R,
                          children: [
                            E.jsx(fb, {
                              size: 20
                            }),
                            "Send to Backup"
                          ]
                        })
                      ]
                    })
                  ]
                }) : E.jsxs(E.Fragment, {
                  children: [
                    E.jsx("p", {
                      className: "text-xs md:text-sm text-[#6ef3f7] mb-2 md:mb-4",
                      children: "Once you have entered valid mnemonics and at least 50 dice rolls, you can generate the final mnemonic."
                    }),
                    E.jsxs("div", {
                      className: "space-y-3 pt-4 mb-4 border-t border-[#00f0ff]/30",
                      children: [
                        E.jsx("label", {
                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest block text-center",
                          style: {
                            textShadow: "0 0 10px rgba(0, 240, 255, 0.7)"
                          },
                          children: "Target Seed Length"
                        }),
                        E.jsxs("div", {
                          className: "grid grid-cols-2 gap-3 max-w-sm mx-auto",
                          children: [
                            E.jsx("button", {
                              onClick: () => M(12),
                              className: `py-2.5 text-sm rounded-lg font-medium transition-all ${V === 12 ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] text-[#9d84b7] border-2 border-[#00f0ff]/30 hover:text-[#6ef3f7] hover:border-[#00f0ff]/50"}`,
                              style: V === 12 ? {
                                textShadow: "0 0 10px rgba(0, 240, 255, 0.8)"
                              } : void 0,
                              children: "12 Words"
                            }),
                            E.jsx("button", {
                              onClick: () => M(24),
                              className: `py-2.5 text-sm rounded-lg font-medium transition-all ${V === 24 ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] text-[#9d84b7] border-2 border-[#00f0ff]/30 hover:text-[#6ef3f7] hover:border-[#00f0ff]/50"}`,
                              style: V === 24 ? {
                                textShadow: "0 0 10px rgba(0, 240, 255, 0.8)"
                              } : void 0,
                              children: "24 Words"
                            })
                          ]
                        })
                      ]
                    }),
                    E.jsxs("button", {
                      onClick: ve,
                      disabled: !p || !w || w.length < 50 || O,
                      className: "w-full py-3 bg-gradient-to-r from-[#00f0ff] to-[#0066ff] text-[#16213e] rounded-xl font-bold flex items-center justify-center gap-2 disabled:opacity-50 hover:shadow-[0_0_20px_rgba(0,240,255,0.5)]",
                      children: [
                        O ? E.jsx(zx, {
                          className: "animate-spin",
                          size: 20
                        }) : E.jsx(Cb, {
                          size: 20
                        }),
                        O ? "Generating..." : "Mix Mnemonic + Dice"
                      ]
                    })
                  ]
                })
              ]
            })
          ]
        }),
        u && E.jsx(wg, {
          onScanSuccess: xe,
          onClose: de,
          onError: he
        }),
        $ && R && E.jsx("div", {
          className: "fixed inset-0 bg-black/60 z-50 flex items-center justify-center",
          onClick: () => X(false),
          children: E.jsx("div", {
            className: "bg-[#16213e] rounded-2xl p-4 border-2 border-[#00f0ff]/50",
            onClick: (ge) => ge.stopPropagation(),
            children: E.jsx(Eg, {
              value: R
            })
          })
        })
      ]
    });
  }
  const iP = ({ wordCount: e, onEntropyGenerated: t, onCancel: r, interactionEntropy: n }) => {
    const [a, i] = fe.useState("permission"), [l, c] = fe.useState(null), [u, x] = fe.useState(0), [f, h] = fe.useState(0), [p, m] = fe.useState(false), [y, B] = fe.useState(null), [v, D] = fe.useState(""), [P, k] = fe.useState(""), w = fe.useRef(null), _ = fe.useRef(null), T = fe.useRef(), N = async () => {
      try {
        console.log("\u{1F3A5} Requesting camera access...");
        const O = await navigator.mediaDevices.getUserMedia({
          video: true,
          audio: false
        });
        console.log("\u2705 Camera stream obtained:", {
          tracks: O.getVideoTracks().map((W) => ({
            label: W.label,
            enabled: W.enabled,
            readyState: W.readyState,
            settings: W.getSettings()
          }))
        }), c(O), i("capture");
      } catch (O) {
        console.error("\u274C Camera access error:", O.name, O.message, O), k(`Camera unavailable: ${O.message}`), setTimeout(() => r(), 2e3);
      }
    };
    fe.useEffect(() => {
      if (!l || !w.current) return;
      const O = w.current;
      console.log("\u{1F4F9} Setting up video element with stream..."), O.srcObject = l, O.setAttribute("playsinline", ""), O.setAttribute("autoplay", ""), O.muted = true;
      const W = () => {
        console.log("\u2705 Video metadata loaded:", {
          videoWidth: O.videoWidth,
          videoHeight: O.videoHeight,
          readyState: O.readyState
        }), O.play().then(() => {
          console.log("\u2705 Video playing:", {
            paused: O.paused,
            currentTime: O.currentTime
          }), setTimeout(() => {
            const X = document.createElement("canvas");
            X.width = O.videoWidth, X.height = O.videoHeight;
            const Y = X.getContext("2d");
            if (Y && O.videoWidth > 0 && O.videoHeight > 0) {
              Y.drawImage(O, 0, 0);
              const Q = Y.getImageData(0, 0, Math.min(10, O.videoWidth), Math.min(10, O.videoHeight)), V = Array.from(Q.data.slice(0, 40));
              console.log("\u{1F3A8} First 40 pixel values:", V);
              const M = V.every((ee) => ee === 0), G = V.every((ee) => ee === V[0]);
              M ? console.error("\u274C All pixels are zero - video not rendering!") : G ? console.warn("\u26A0\uFE0F All pixels same value - possible issue") : console.log("\u2705 Video has actual frame data");
            }
            U();
          }, 300);
        }).catch((X) => {
          console.error("\u274C video.play() failed:", X), k("Failed to start video preview: " + X.message);
        });
      }, $ = (X) => {
        console.error("\u274C Video element error:", X), k("Video playback error");
      };
      return O.addEventListener("loadedmetadata", W), O.addEventListener("error", $), () => {
        O.removeEventListener("loadedmetadata", W), O.removeEventListener("error", $);
      };
    }, [
      l
    ]);
    const U = () => {
      console.log("\u{1F50D} Starting entropy analysis...");
      const O = () => {
        const W = w.current, $ = _.current;
        if (!W || !$) return;
        if (W.videoWidth === 0 || W.videoHeight === 0) {
          console.warn("\u26A0\uFE0F Video dimensions are 0, waiting...", {
            videoWidth: W.videoWidth,
            videoHeight: W.videoHeight,
            readyState: W.readyState
          }), T.current = requestAnimationFrame(O);
          return;
        }
        const X = $.getContext("2d", {
          willReadFrequently: true
        });
        if (!X) {
          console.error("\u274C Failed to get canvas context");
          return;
        }
        ($.width !== W.videoWidth || $.height !== W.videoHeight) && ($.width = W.videoWidth, $.height = W.videoHeight, console.log("\u{1F4D0} Canvas resized to:", $.width, "x", $.height));
        try {
          X.drawImage(W, 0, 0);
          const Y = X.getImageData(0, 0, $.width, $.height);
          if (Y.data.length === 0) {
            console.error("\u274C ImageData is empty"), T.current = requestAnimationFrame(O);
            return;
          }
          const { entropy: Q, variance: V } = C(Y);
          x(Q), h(V), m(Q >= 7.5 && V >= 1e3);
        } catch (Y) {
          console.error("\u274C Error in entropy analysis:", Y);
        }
        T.current = requestAnimationFrame(O);
      };
      O();
    }, C = (O) => {
      const W = O.data, $ = new Array(256).fill(0);
      let X = 0, Y = 0;
      for (let G = 0; G < W.length; G += 16) {
        const ee = Math.floor((W[G] + W[G + 1] + W[G + 2]) / 3);
        $[ee]++, X += ee, Y++;
      }
      const Q = X / Y;
      let V = 0;
      for (const G of $) if (G > 0) {
        const ee = G / Y;
        V -= ee * Math.log2(ee);
      }
      let M = 0;
      for (let G = 0; G < W.length; G += 16) {
        const ee = Math.floor((W[G] + W[G + 1] + W[G + 2]) / 3);
        M += Math.pow(ee - Q, 2);
      }
      return M = M / Y, {
        entropy: V,
        variance: M
      };
    }, z = async () => {
      if (!w.current || !_.current) return;
      T.current && (cancelAnimationFrame(T.current), console.log("\u{1F6D1} Stopped entropy analysis loop")), i("processing");
      const O = _.current, W = O.getContext("2d", {
        willReadFrequently: true
      });
      if (!W) return;
      O.width = w.current.videoWidth, O.height = w.current.videoHeight, W.drawImage(w.current, 0, 0, O.width, O.height);
      const $ = W.getImageData(0, 0, O.width, O.height), X = performance.now(), Y = await I($, X), Q = await R(Y, e, O);
      B(Y), i("stats"), l && (l.getTracks().forEach((V) => V.stop()), console.log("\u{1F4F7} Camera stopped")), D(Q);
    }, I = async (O, W) => {
      const $ = O.data, X = $.length / 4, Y = [], Q = [], V = [], M = new Array(10).fill(0), G = /* @__PURE__ */ new Set();
      let ee = 255, te = 0;
      const oe = [];
      for (let ve = 0; ve < $.length; ve += 4) {
        Y.push($[ve]), Q.push($[ve + 1]), V.push($[ve + 2]);
        const Ce = Math.floor(($[ve] + $[ve + 1] + $[ve + 2]) / 3);
        oe.push(Ce);
        const Ie = Math.floor(Ce / 25.6);
        M[Math.min(Ie, 9)]++, ee = Math.min(ee, Ce), te = Math.max(te, Ce);
        const Ue = $[ve] << 16 | $[ve + 1] << 8 | $[ve + 2];
        G.add(Ue);
      }
      const ie = new Array(256).fill(0);
      for (const ve of oe) ie[ve]++;
      let xe = 0;
      for (const ve of ie) if (ve > 0) {
        const Ce = ve / X;
        xe -= Ce * Math.log2(Ce);
      }
      const de = (ve) => {
        const Ce = ve.reduce((Ue, ge) => Ue + ge, 0) / ve.length, Ie = ve.reduce((Ue, ge) => Ue + Math.pow(ge - Ce, 2), 0) / ve.length;
        return {
          mean: Ce,
          stddev: Math.sqrt(Ie)
        };
      }, he = {
        r: de(Y),
        g: de(Q),
        b: de(V)
      }, be = de(oe).stddev ** 2;
      return {
        shannon: xe,
        variance: be,
        uniqueColors: G.size,
        brightnessRange: [
          ee,
          te
        ],
        rgbStats: he,
        histogram: M,
        captureTimeMicros: Math.floor(W % 1 * 1e6),
        interactionSamples: n.getSampleCount().total,
        totalBits: 256,
        dataSize: $.length
      };
    }, R = async (O, W, $) => {
      const X = $.toDataURL(), Y = await n.getEntropyBytes(), Q = crypto.getRandomValues(new Uint8Array(32)), V = [
        X,
        O.captureTimeMicros.toString(),
        Array.from(Y).join(","),
        Array.from(Q).join(","),
        performance.now().toString()
      ].join("|"), G = new TextEncoder().encode(V), ee = await crypto.subtle.digest("SHA-256", G), te = W === 12 ? 16 : 32, oe = new Uint8Array(ee).slice(0, te);
      return wa(oe);
    };
    fe.useEffect(() => () => {
      T.current && cancelAnimationFrame(T.current), l && l.getTracks().forEach((O) => O.stop());
    }, [
      l
    ]);
    const L = () => u >= 7 && f >= 800 ? {
      icon: ha,
      text: "\u2705 Excellent entropy - ready!",
      color: "#39ff14"
    } : u >= 6 && f >= 500 ? {
      icon: Wo,
      text: "\u{1F7E1} Good - point to brighter area",
      color: "#ffd700"
    } : u >= 5 ? {
      icon: Wo,
      text: "\u{1F7E0} Low - find textured surface",
      color: "#ff9500"
    } : {
      icon: Wo,
      text: "\u{1F534} Too low - point at lamp/pattern",
      color: "#ff006e"
    };
    return E.jsxs("div", {
      className: "space-y-4",
      children: [
        a === "permission" && E.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 space-y-4",
          children: [
            E.jsxs("div", {
              className: "text-center space-y-2",
              children: [
                E.jsx(Nx, {
                  size: 48,
                  className: "mx-auto text-[#00f0ff]"
                }),
                E.jsx("h3", {
                  className: "text-sm font-bold text-[#00f0ff] uppercase",
                  children: "Camera Permission Needed"
                })
              ]
            }),
            E.jsxs("div", {
              className: "space-y-2 text-xs text-[#6ef3f7]",
              children: [
                E.jsx("p", {
                  children: "To generate entropy, we need:"
                }),
                E.jsxs("ul", {
                  className: "list-disc list-inside space-y-1 pl-2",
                  children: [
                    E.jsx("li", {
                      children: "Camera access to capture pixel noise"
                    }),
                    E.jsx("li", {
                      children: "Image data processed locally"
                    }),
                    E.jsx("li", {
                      children: "Never stored or transmitted"
                    }),
                    E.jsx("li", {
                      children: "Camera auto-closes after use"
                    })
                  ]
                })
              ]
            }),
            E.jsxs("div", {
              className: "flex gap-3",
              children: [
                E.jsx("button", {
                  onClick: N,
                  className: "flex-1 py-2.5 bg-[#00f0ff] text-[#0a0a0f] rounded-lg font-bold text-sm hover:bg-[#00f0ff] hover:shadow-[0_0_20px_rgba(0,240,255,0.5)] transition-all",
                  children: "Allow Camera"
                }),
                E.jsx("button", {
                  onClick: r,
                  className: "flex-1 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e]/20 transition-all",
                  children: "Cancel"
                })
              ]
            })
          ]
        }),
        a === "capture" && E.jsxs("div", {
          className: "space-y-4",
          children: [
            E.jsxs("div", {
              className: "relative rounded-xl overflow-hidden border-2 border-[#00f0ff]/30 bg-black",
              children: [
                E.jsx("video", {
                  ref: w,
                  playsInline: true,
                  autoPlay: true,
                  muted: true,
                  className: "w-full",
                  style: {
                    maxHeight: "300px",
                    objectFit: "cover",
                    border: "2px solid #00f0ff",
                    backgroundColor: "#000"
                  }
                }),
                E.jsx("canvas", {
                  ref: _,
                  className: "hidden",
                  style: {
                    display: "none"
                  }
                })
              ]
            }),
            E.jsxs("div", {
              className: "p-4 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 space-y-3",
              children: [
                E.jsxs("div", {
                  className: "text-xs text-[#6ef3f7] space-y-1",
                  children: [
                    E.jsx("p", {
                      className: "font-bold text-[#00f0ff]",
                      children: "Instructions:"
                    }),
                    E.jsx("p", {
                      children: "Point camera at bright, textured surface (lamp, carpet, wall with pattern)"
                    })
                  ]
                }),
                E.jsxs("div", {
                  className: "space-y-2",
                  children: [
                    E.jsxs("div", {
                      className: "flex items-center justify-between text-xs",
                      children: [
                        E.jsx("span", {
                          className: "text-[#00f0ff]",
                          children: "Entropy Quality:"
                        }),
                        E.jsxs("span", {
                          className: "font-mono text-[#00f0ff]",
                          children: [
                            u.toFixed(2),
                            "/8.0"
                          ]
                        })
                      ]
                    }),
                    E.jsx("div", {
                      className: "w-full bg-[#0a0a0f] rounded-full h-2 overflow-hidden",
                      children: E.jsx("div", {
                        className: "h-full transition-all",
                        style: {
                          width: `${u / 8 * 100}%`,
                          backgroundColor: L().color
                        }
                      })
                    }),
                    E.jsx("div", {
                      className: "text-xs font-medium",
                      style: {
                        color: L().color
                      },
                      children: L().text
                    })
                  ]
                }),
                E.jsxs("div", {
                  className: "flex gap-3",
                  children: [
                    E.jsxs("button", {
                      onClick: z,
                      disabled: !p,
                      className: "flex-1 py-2.5 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-lg font-bold uppercase disabled:opacity-30 disabled:cursor-not-allowed hover:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all",
                      children: [
                        E.jsx(Nx, {
                          className: "inline mr-2",
                          size: 16
                        }),
                        "Capture"
                      ]
                    }),
                    E.jsx("button", {
                      onClick: r,
                      className: "px-4 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e]/20 transition-all",
                      children: E.jsx(ds, {
                        size: 16
                      })
                    })
                  ]
                })
              ]
            })
          ]
        }),
        a === "processing" && E.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 text-center space-y-3",
          children: [
            E.jsx("div", {
              className: "animate-spin mx-auto w-12 h-12 border-4 border-[#00f0ff]/30 border-t-[#00f0ff] rounded-full"
            }),
            E.jsx("p", {
              className: "text-sm text-[#00f0ff]",
              children: "Processing entropy..."
            })
          ]
        }),
        a === "stats" && y && E.jsxs("div", {
          className: "p-4 bg-[#0a0a0f] rounded-xl border-2 border-[#39ff14] shadow-[0_0_30px_rgba(57,255,20,0.3)] space-y-4",
          children: [
            E.jsxs("div", {
              className: "flex items-center gap-2 text-[#39ff14]",
              children: [
                E.jsx(ha, {
                  size: 24
                }),
                E.jsx("h3", {
                  className: "text-sm font-bold uppercase",
                  children: "Entropy Analysis"
                })
              ]
            }),
            E.jsxs("div", {
              className: "space-y-3 text-xs",
              children: [
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-1",
                      children: "Primary Source:"
                    }),
                    E.jsx("p", {
                      className: "text-[#6ef3f7]",
                      children: "Camera Sensor Noise"
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "RANDOMNESS METRICS:"
                    }),
                    E.jsxs("div", {
                      className: "grid grid-cols-2 gap-x-4 gap-y-1 font-mono text-[10px]",
                      children: [
                        E.jsx("div", {
                          children: "Shannon Entropy:"
                        }),
                        E.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            y.shannon.toFixed(2),
                            "/8.00"
                          ]
                        }),
                        E.jsx("div", {
                          children: "Pixel Variance:"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: y.variance.toFixed(1)
                        }),
                        E.jsx("div", {
                          children: "Unique Colors:"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: y.uniqueColors.toLocaleString()
                        }),
                        E.jsx("div", {
                          children: "Brightness Range:"
                        }),
                        E.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            y.brightnessRange[0],
                            "-",
                            y.brightnessRange[1]
                          ]
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "RGB DISTRIBUTION:"
                    }),
                    E.jsxs("div", {
                      className: "space-y-1 font-mono text-[10px]",
                      children: [
                        E.jsxs("div", {
                          className: "flex justify-between",
                          children: [
                            E.jsx("span", {
                              children: "Red:"
                            }),
                            E.jsxs("span", {
                              className: "text-[#ff6b6b]",
                              children: [
                                "\u03BC=",
                                y.rgbStats.r.mean.toFixed(0),
                                " \u03C3=",
                                y.rgbStats.r.stddev.toFixed(1)
                              ]
                            })
                          ]
                        }),
                        E.jsxs("div", {
                          className: "flex justify-between",
                          children: [
                            E.jsx("span", {
                              children: "Green:"
                            }),
                            E.jsxs("span", {
                              className: "text-[#51cf66]",
                              children: [
                                "\u03BC=",
                                y.rgbStats.g.mean.toFixed(0),
                                " \u03C3=",
                                y.rgbStats.g.stddev.toFixed(1)
                              ]
                            })
                          ]
                        }),
                        E.jsxs("div", {
                          className: "flex justify-between",
                          children: [
                            E.jsx("span", {
                              children: "Blue:"
                            }),
                            E.jsxs("span", {
                              className: "text-[#339af0]",
                              children: [
                                "\u03BC=",
                                y.rgbStats.b.mean.toFixed(0),
                                " \u03C3=",
                                y.rgbStats.b.stddev.toFixed(1)
                              ]
                            })
                          ]
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "BRIGHTNESS HISTOGRAM:"
                    }),
                    E.jsx("div", {
                      className: "flex items-end justify-between h-12 gap-0.5",
                      children: y.histogram.map((O, W) => {
                        const $ = Math.max(...y.histogram), X = O / $ * 100;
                        return E.jsx("div", {
                          className: "flex-1 bg-[#00f0ff] rounded-t",
                          style: {
                            height: `${X}%`
                          }
                        }, W);
                      })
                    }),
                    E.jsxs("div", {
                      className: "flex justify-between text-[9px] text-[#6ef3f7] mt-1",
                      children: [
                        E.jsx("span", {
                          children: "Dark"
                        }),
                        E.jsx("span", {
                          children: "Bright"
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "TIMING ENTROPY:"
                    }),
                    E.jsxs("div", {
                      className: "grid grid-cols-2 gap-x-4 gap-y-1 font-mono text-[10px]",
                      children: [
                        E.jsx("div", {
                          children: "Capture timing:"
                        }),
                        E.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            "...",
                            y.captureTimeMicros,
                            "\u03BCs"
                          ]
                        }),
                        E.jsx("div", {
                          children: "Interaction samples:"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: y.interactionSamples
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "MIXED WITH:"
                    }),
                    E.jsxs("div", {
                      className: "space-y-1 text-[#6ef3f7] text-[10px]",
                      children: [
                        E.jsx("div", {
                          children: "- crypto.getRandomValues() \u2713"
                        }),
                        E.jsx("div", {
                          children: "- performance.now() \u2713"
                        }),
                        E.jsx("div", {
                          children: "- Mouse/keyboard timing \u2713"
                        })
                      ]
                    })
                  ]
                }),
                E.jsx("div", {
                  className: "pt-2 border-t border-[#00f0ff]/30",
                  children: E.jsxs("div", {
                    className: "flex justify-between items-center",
                    children: [
                      E.jsx("span", {
                        className: "text-[#00f0ff] font-bold",
                        children: "Total Entropy:"
                      }),
                      E.jsxs("span", {
                        className: "text-lg font-bold text-[#39ff14]",
                        children: [
                          y.totalBits,
                          " bits"
                        ]
                      })
                    ]
                  })
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "HOW SEED IS GENERATED:"
                    }),
                    E.jsxs("div", {
                      className: "space-y-1 text-[10px] text-[#6ef3f7]",
                      children: [
                        E.jsxs("div", {
                          children: [
                            "1. Camera captures ",
                            y.uniqueColors.toLocaleString(),
                            " unique pixel colors"
                          ]
                        }),
                        E.jsxs("div", {
                          children: [
                            "2. Pixel data hashed with SHA-256 (",
                            (y.dataSize / 1024).toFixed(1),
                            "KB raw data)"
                          ]
                        }),
                        E.jsxs("div", {
                          children: [
                            "3. Mixed with timing entropy (",
                            y.captureTimeMicros,
                            "\u03BCs precision)"
                          ]
                        }),
                        E.jsxs("div", {
                          children: [
                            "4. Combined with ",
                            y.interactionSamples,
                            " user interaction samples"
                          ]
                        }),
                        E.jsx("div", {
                          children: "5. Enhanced with crypto.getRandomValues() (32 bytes)"
                        }),
                        E.jsxs("div", {
                          children: [
                            "6. Final hash \u2192 ",
                            e === 12 ? "128" : "256",
                            " bits \u2192 ",
                            e,
                            " BIP39 words"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "GENERATED SEED:"
                    }),
                    E.jsxs("div", {
                      className: "p-3 bg-[#0a0a0f] rounded-lg border border-[#39ff1450]",
                      children: [
                        E.jsx("p", {
                          className: "font-mono text-[10px] text-[#39ff14] blur-sm hover:blur-none transition-all cursor-pointer",
                          title: "Hover to reveal",
                          children: v
                        }),
                        E.jsx("p", {
                          className: "text-[9px] text-[#6ef3f7] mt-1",
                          children: "\u26A0\uFE0F Hover to reveal - Write this down securely"
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  className: "pt-4 border-t border-[#00f0ff30] space-y-3",
                  children: [
                    E.jsx("button", {
                      onClick: () => {
                        t(v, y);
                      },
                      className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] transition-all",
                      children: "Continue with this Seed"
                    }),
                    E.jsx("button", {
                      onClick: () => {
                        i("permission"), B(null), D(""), x(0), h(0);
                      },
                      className: "w-full py-2 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-lg text-sm font-bold hover:bg-[#00f0ff20] transition-all",
                      children: "Retake Photo"
                    })
                  ]
                })
              ]
            })
          ]
        }),
        P && E.jsx("div", {
          className: "p-4 bg-[#1a1a2e] border-2 border-[#ff006e] rounded-lg",
          children: E.jsx("p", {
            className: "text-xs text-[#ff006e]",
            children: P
          })
        })
      ]
    });
  }, sP = ({ wordCount: e, onEntropyGenerated: t, onCancel: r, interactionEntropy: n }) => {
    const [a, i] = fe.useState(""), [l, c] = fe.useState(""), [u, x] = fe.useState(false), [f, h] = fe.useState(null), [p, m] = fe.useState(""), y = (D) => {
      const P = D.replace(/\s/g, "");
      if (P.length < 99) return {
        valid: false,
        error: `Need at least 99 dice rolls (currently ${P.length})`
      };
      if (/(\d)\1{6,}/.test(P)) return {
        valid: false,
        error: "Too many repeated digits - roll again"
      };
      if (/(\d)(\d)\1\2\1\2\1\2/.test(P)) return {
        valid: false,
        error: "Repeating pattern detected - roll again"
      };
      if (/(?:123456|654321)/.test(P)) return {
        valid: false,
        error: "Sequential pattern detected - roll again"
      };
      const k = Array(6).fill(0);
      for (const N of P) {
        const U = parseInt(N, 10);
        U >= 1 && U <= 6 && k[U - 1]++;
      }
      const w = P.length / 6, _ = w * 0.4;
      for (let N = 0; N < 6; N++) if (Math.abs(k[N] - w) > _) return {
        valid: false,
        error: `Poor distribution: digit ${N + 1} appears ${k[N]} times (expected ~${Math.round(w)})`
      };
      const T = k.reduce((N, U) => {
        const C = U - w;
        return N + C * C / w;
      }, 0);
      return T > 15.5 ? {
        valid: false,
        error: `Statistical test failed (\u03C7\xB2=${T.toFixed(2)}) - rolls too predictable`
      } : {
        valid: true,
        error: ""
      };
    }, B = async () => {
      const D = y(a);
      if (!D.valid) {
        c(D.error);
        return;
      }
      c(""), x(true);
      const P = a.replace(/\s/g, ""), k = Array(6).fill(0);
      for (const U of P) {
        const C = parseInt(U);
        C >= 1 && C <= 6 && k[C - 1]++;
      }
      const w = P.length / 6, _ = k.reduce((U, C) => {
        const z = C - w;
        return U + z * z / w;
      }, 0), T = {
        rolls: P,
        length: P.length,
        distribution: k,
        chiSquare: _,
        passed: true,
        interactionSamples: n.getSampleCount().total
      }, N = await v(P);
      h(T), m(N), x(false);
    }, v = async (D) => {
      const P = await n.getEntropyBytes(), k = crypto.getRandomValues(new Uint8Array(32)), _ = [
        D,
        performance.now().toString(),
        Array.from(P).join(","),
        Array.from(k).join(",")
      ].join("|"), T = new TextEncoder().encode(_), N = await crypto.subtle.digest("SHA-256", T), { entropyToMnemonic: U } = await ld(async () => {
        const { entropyToMnemonic: R } = await Promise.resolve().then(() => UF);
        return {
          entropyToMnemonic: R
        };
      }, void 0, import.meta.url), C = e === 12 ? 16 : 32, z = new Uint8Array(N).slice(0, C), I = Buffer.from(z).toString("hex");
      return U(I);
    };
    return E.jsxs("div", {
      className: "space-y-4 max-h-[calc(100vh-200px)] overflow-y-auto",
      children: [
        !f && !u && E.jsxs(E.Fragment, {
          children: [
            E.jsxs("div", {
              className: "p-3 md:p-4 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 space-y-3",
              children: [
                E.jsxs("div", {
                  className: "flex items-center gap-2",
                  children: [
                    E.jsx(px, {
                      size: 20,
                      className: "text-[#00f0ff]"
                    }),
                    E.jsx("h3", {
                      className: "text-sm font-bold text-[#00f0ff] uppercase",
                      children: "Dice Roll Entropy"
                    })
                  ]
                }),
                E.jsxs("div", {
                  className: "space-y-2 text-xs text-[#6ef3f7]",
                  children: [
                    E.jsx("p", {
                      className: "font-bold text-[#00f0ff]",
                      children: "Instructions:"
                    }),
                    E.jsxs("ul", {
                      className: "list-disc list-inside space-y-1 pl-2",
                      children: [
                        E.jsx("li", {
                          children: "Roll a 6-sided die at least 99 times"
                        }),
                        E.jsx("li", {
                          children: "Enter each result (1-6) in order"
                        }),
                        E.jsx("li", {
                          children: "Spaces are ignored (e.g., 163452...)"
                        }),
                        E.jsx("li", {
                          children: "Pattern validation enabled"
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  className: "space-y-2",
                  children: [
                    E.jsx("label", {
                      className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                      children: "Enter Dice Rolls"
                    }),
                    E.jsx("textarea", {
                      value: a,
                      onChange: (D) => {
                        i(D.target.value.replace(/[^1-6\s]/g, "")), c("");
                      },
                      placeholder: "99+ dice rolls (e.g., 16345...)",
                      className: "w-full h-28 md:h-32 p-2 md:p-3 bg-[#0a0a0f] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-xs text-[#00f0ff] placeholder:text-[10px] placeholder:text-[#6ef3f7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all resize-none"
                    }),
                    E.jsxs("p", {
                      className: "text-[10px] text-[#6ef3f7]",
                      children: [
                        "Current: ",
                        a.replace(/\s/g, "").length,
                        " rolls ",
                        a.replace(/\s/g, "").length >= 99 && " \u2713"
                      ]
                    })
                  ]
                }),
                l && E.jsxs("div", {
                  className: "flex items-start gap-2 p-3 bg-[#0a0a0f] border border-[#ff006e] rounded-lg",
                  children: [
                    E.jsx(Wo, {
                      size: 16,
                      className: "text-[#ff006e] shrink-0 mt-0.5"
                    }),
                    E.jsx("p", {
                      className: "text-xs text-[#ff006e]",
                      children: l
                    })
                  ]
                }),
                E.jsxs("div", {
                  className: "flex gap-3",
                  children: [
                    E.jsx("button", {
                      onClick: B,
                      disabled: u || a.replace(/\s/g, "").length < 99,
                      className: "flex-1 py-2.5 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-lg font-bold uppercase disabled:opacity-30 disabled:cursor-not-allowed hover:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all",
                      children: u ? "Processing..." : "Generate Seed"
                    }),
                    E.jsx("button", {
                      onClick: r,
                      className: "px-4 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e]/20 transition-all",
                      children: E.jsx(ds, {
                        size: 16
                      })
                    })
                  ]
                })
              ]
            }),
            E.jsxs("div", {
              className: "flex items-start gap-2 p-3 bg-[#16213e] border border-[#00f0ff]/30 rounded-lg",
              children: [
                E.jsx(Wo, {
                  size: 14,
                  className: "text-[#00f0ff] shrink-0 mt-0.5"
                }),
                E.jsxs("p", {
                  className: "text-[10px] text-[#6ef3f7]",
                  children: [
                    E.jsx("strong", {
                      className: "text-[#00f0ff]",
                      children: "Privacy:"
                    }),
                    " All processing happens locally. Dice rolls are mixed with browser entropy and never stored or transmitted."
                  ]
                })
              ]
            })
          ]
        }),
        u && E.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 text-center space-y-3",
          children: [
            E.jsx("div", {
              className: "animate-spin mx-auto w-12 h-12 border-4 border-[#00f0ff]/30 border-t-[#00f0ff] rounded-full"
            }),
            E.jsx("p", {
              className: "text-sm text-[#00f0ff]",
              children: "Processing entropy..."
            })
          ]
        }),
        f && !u && E.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#39ff14] shadow-[0_0_30px_rgba(57,255,20,0.3)] space-y-4 mb-6",
          children: [
            E.jsxs("div", {
              className: "flex items-center gap-2 text-[#39ff14]",
              children: [
                E.jsx(ha, {
                  size: 24
                }),
                E.jsx("h3", {
                  className: "text-sm font-bold uppercase",
                  children: "Dice Entropy Analysis"
                })
              ]
            }),
            E.jsxs("div", {
              className: "space-y-3 text-xs",
              children: [
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-1",
                      children: "Primary Source:"
                    }),
                    E.jsx("p", {
                      className: "text-[#6ef3f7]",
                      children: "Physical Dice Rolls"
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "ROLL STATISTICS:"
                    }),
                    E.jsxs("div", {
                      className: "grid grid-cols-2 gap-2 font-mono text-[10px]",
                      children: [
                        E.jsx("div", {
                          children: "Total rolls:"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: f.length
                        }),
                        E.jsx("div", {
                          children: "Chi-square test:"
                        }),
                        E.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            f.chiSquare.toFixed(2),
                            " (pass < 15)"
                          ]
                        }),
                        E.jsx("div", {
                          children: "Validation:"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: f.passed ? "\u2705 Passed" : "\u274C Failed"
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "DISTRIBUTION:"
                    }),
                    E.jsx("div", {
                      className: "space-y-2",
                      children: f.distribution.map((D, P) => {
                        const k = D / f.length * 100, _ = Math.abs(k - 16.67), T = _ < 5 ? "#39ff14" : _ < 8 ? "#ffd700" : "#ff9500";
                        return E.jsxs("div", {
                          children: [
                            E.jsxs("div", {
                              className: "flex justify-between text-[10px] mb-1",
                              children: [
                                E.jsxs("span", {
                                  children: [
                                    "Die face ",
                                    P + 1,
                                    ":"
                                  ]
                                }),
                                E.jsxs("span", {
                                  style: {
                                    color: T
                                  },
                                  children: [
                                    D,
                                    " (",
                                    k.toFixed(1),
                                    "%)"
                                  ]
                                })
                              ]
                            }),
                            E.jsx("div", {
                              className: "w-full bg-[#0a0a0f] rounded-full h-1.5 overflow-hidden",
                              children: E.jsx("div", {
                                className: "h-full transition-all",
                                style: {
                                  width: `${k}%`,
                                  backgroundColor: T
                                }
                              })
                            })
                          ]
                        }, P);
                      })
                    }),
                    E.jsx("p", {
                      className: "text-[9px] text-[#6ef3f7] mt-2",
                      children: "Expected: ~16.67% per face"
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "GENERATED SEED:"
                    }),
                    E.jsxs("div", {
                      className: "p-3 bg-[#0a0a0f] rounded-lg border border-[#39ff14]/50",
                      children: [
                        E.jsx("p", {
                          className: "font-mono text-[10px] text-[#39ff14] blur-sensitive",
                          title: "Hover to reveal",
                          children: p
                        }),
                        E.jsx("p", {
                          className: "text-[9px] text-[#6ef3f7] mt-1",
                          children: "\u{1F446} Hover to reveal - Write this down securely"
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "HOW SEED IS GENERATED:"
                    }),
                    E.jsxs("div", {
                      className: "space-y-1 text-[10px] text-[#6ef3f7]",
                      children: [
                        E.jsxs("div", {
                          children: [
                            "1. Physical dice rolls (",
                            f.length,
                            " values)"
                          ]
                        }),
                        E.jsxs("div", {
                          children: [
                            "2. Statistical validation (\u03C7\xB2=",
                            f.chiSquare.toFixed(2),
                            ")"
                          ]
                        }),
                        E.jsx("div", {
                          children: "3. Combined with timing entropy"
                        }),
                        E.jsxs("div", {
                          children: [
                            "4. Mixed with ",
                            f.interactionSamples,
                            " interaction samples"
                          ]
                        }),
                        E.jsx("div", {
                          children: "5. Enhanced with crypto.getRandomValues() (32 bytes)"
                        }),
                        E.jsxs("div", {
                          children: [
                            "6. Final hash \u2192 ",
                            e === 12 ? "128" : "256",
                            " bits \u2192 ",
                            e,
                            " BIP39 words"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "MIXED WITH:"
                    }),
                    E.jsxs("div", {
                      className: "space-y-1 text-[#6ef3f7]",
                      children: [
                        E.jsx("div", {
                          children: "- crypto.getRandomValues() \u2713"
                        }),
                        E.jsx("div", {
                          children: "- performance.now() \u2713"
                        }),
                        E.jsxs("div", {
                          children: [
                            "- Interaction timing (",
                            f.interactionSamples,
                            " samples) \u2713"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                E.jsx("div", {
                  className: "pt-2 border-t border-[#00f0ff]/30",
                  children: E.jsxs("div", {
                    className: "flex justify-between items-center",
                    children: [
                      E.jsx("span", {
                        className: "text-[#00f0ff] font-bold",
                        children: "Total Entropy:"
                      }),
                      E.jsx("span", {
                        className: "text-lg font-bold text-[#39ff14]",
                        children: "256 bits"
                      })
                    ]
                  })
                })
              ]
            }),
            E.jsxs("div", {
              className: "pt-4 border-t border-[#00f0ff]/30 space-y-3",
              children: [
                E.jsx("button", {
                  onClick: () => {
                    t(p, f);
                  },
                  className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] transition-all",
                  children: "Continue with this Seed"
                }),
                E.jsx("button", {
                  onClick: () => {
                    h(null), m(""), i(""), c("");
                  },
                  className: "w-full py-2 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-lg text-sm font-bold hover:bg-[#00f0ff]/20 transition-all",
                  children: "Roll Again"
                })
              ]
            })
          ]
        })
      ]
    });
  };
  function lP(e, t) {
    return {
      jsonrpc: "2.0",
      method: "generateIntegers",
      params: {
        apiKey: e,
        n: t,
        min: 1,
        max: 6,
        replacement: true,
        base: 10
      },
      id: 1
    };
  }
  function cP(e) {
    var _a, _b2, _c2;
    const t = e.trim();
    if (!t) throw new Error("Paste the random.org response JSON (or an array) first.");
    if (t.startsWith("[") && t.endsWith("]")) {
      const a = JSON.parse(t);
      if (!Array.isArray(a)) throw new Error("Expected an array.");
      return a;
    }
    const n = (_c2 = (_b2 = (_a = JSON.parse(t)) == null ? void 0 : _a.result) == null ? void 0 : _b2.random) == null ? void 0 : _c2.data;
    if (!Array.isArray(n)) throw new Error("Could not find result.random.data in pasted JSON.");
    return n;
  }
  async function uP(e, t, r) {
    const n = await r.getEntropyBytes(), a = crypto.getRandomValues(new Uint8Array(32)), i = [
      e.join(""),
      performance.now().toString(),
      Array.from(n).join(","),
      Array.from(a).join(",")
    ].join("|"), l = new TextEncoder().encode(i), c = await crypto.subtle.digest("SHA-256", l), u = t === 12 ? 16 : 32, x = new Uint8Array(c.slice(0, u));
    return wa(x);
  }
  const xP = ({ wordCount: e, onEntropyGenerated: t, onCancel: r, interactionEntropy: n }) => {
    const [a, i] = fe.useState(""), [l, c] = fe.useState(false), [u, x] = fe.useState(30), [f, h] = fe.useState(""), [p, m] = fe.useState(""), [y, B] = fe.useState(false), [v, D] = fe.useState(false), [P, k] = fe.useState(null), [w, _] = fe.useState(""), T = fe.useMemo(() => {
      const C = a.trim() || "PASTE_YOUR_API_KEY_HERE";
      return JSON.stringify(lP(C, u), null, 2);
    }, [
      a,
      u
    ]), N = async () => {
      m("");
      try {
        await navigator.clipboard.writeText(T), B(true), window.setTimeout(() => B(false), 1200);
      } catch {
        m("Clipboard write failed. Tap the JSON box to select all, then copy manually.");
      }
    }, U = async () => {
      m(""), D(true);
      try {
        const C = cP(f);
        if (C.length < u) throw new Error(`Need at least ${u} D6 samples, got ${C.length}.`);
        const z = C.slice(0, u), I = [
          0,
          0,
          0,
          0,
          0,
          0
        ];
        for (let L = 0; L < z.length; L++) {
          const O = z[L];
          if (!Number.isInteger(O) || O < 1 || O > 6) throw new Error(`Invalid D6 at index ${L}: ${String(O)}`);
          I[O - 1]++;
        }
        const R = await uP(z, e, n);
        _(R), k({
          source: "randomorg",
          nRequested: u,
          nUsed: z.length,
          distribution: I,
          interactionSamples: n.getSampleCount().total,
          totalBits: 256
        });
      } catch (C) {
        k(null), _(""), m(C instanceof Error ? C.message : "Failed.");
      } finally {
        D(false);
      }
    };
    return E.jsxs("div", {
      className: "space-y-4 max-h-[calc(100vh-200px)] overflow-y-auto",
      children: [
        !P && !v && E.jsxs(E.Fragment, {
          children: [
            E.jsxs("div", {
              className: "p-3 md:p-4 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 space-y-3",
              children: [
                E.jsxs("div", {
                  className: "flex items-center gap-2",
                  children: [
                    E.jsx(Eb, {
                      size: 20,
                      className: "text-[#00f0ff]"
                    }),
                    E.jsx("h3", {
                      className: "text-sm font-bold text-[#00f0ff] uppercase",
                      children: "\u{1F30D} Random.org Entropy"
                    })
                  ]
                }),
                E.jsxs("div", {
                  className: "flex items-start gap-2 text-xs text-[#6ef3f7]",
                  children: [
                    E.jsx(Dl, {
                      size: 14,
                      className: "shrink-0 mt-0.5 text-[#00f0ff]"
                    }),
                    E.jsx("p", {
                      children: "SeedPGP will not contact random.org. You run the request in another tab/tool and paste the response here."
                    })
                  ]
                })
              ]
            }),
            E.jsxs("div", {
              className: "space-y-1",
              children: [
                E.jsx("label", {
                  className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                  children: "random.org API key"
                }),
                E.jsxs("div", {
                  className: "relative",
                  children: [
                    E.jsx("input", {
                      type: l ? "text" : "password",
                      value: a,
                      onChange: (C) => i(C.target.value),
                      placeholder: "Paste API key (optional; not stored)",
                      className: "w-full pl-3 pr-10 py-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-[#00f0ff] text-xs placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] transition-all",
                      autoCapitalize: "none",
                      autoCorrect: "off",
                      spellCheck: false
                    }),
                    E.jsx("button", {
                      type: "button",
                      className: "absolute right-2 top-2 text-[#6ef3f7] hover:text-[#00f0ff]",
                      onClick: () => c((C) => !C),
                      children: l ? E.jsx(n9, {
                        size: 16
                      }) : E.jsx(yb, {
                        size: 16
                      })
                    })
                  ]
                })
              ]
            }),
            E.jsxs("div", {
              className: "space-y-2",
              children: [
                E.jsxs("div", {
                  className: "flex items-center justify-between",
                  children: [
                    E.jsx("label", {
                      className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                      children: "D6 samples"
                    }),
                    E.jsx("span", {
                      className: "text-xs text-[#00f0ff] font-mono",
                      children: u
                    })
                  ]
                }),
                E.jsx("input", {
                  type: "range",
                  min: 30,
                  max: 200,
                  step: 10,
                  value: u,
                  onChange: (C) => x(parseInt(C.target.value, 10)),
                  className: "w-full accent-[#ff006e]"
                }),
                E.jsx("p", {
                  className: "text-[10px] text-[#6ef3f7]",
                  children: "Minimum 30. Step 10."
                })
              ]
            }),
            E.jsxs("div", {
              className: "space-y-2",
              children: [
                E.jsxs("div", {
                  className: "flex items-center justify-between gap-2",
                  children: [
                    E.jsx("label", {
                      className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                      children: "Request JSON"
                    }),
                    E.jsxs("div", {
                      className: "flex gap-2",
                      children: [
                        E.jsxs("a", {
                          href: "https://api.random.org/json-rpc/2/request-builder",
                          target: "_blank",
                          rel: "noreferrer",
                          className: "inline-flex items-center gap-1 px-2 py-1 rounded-lg border-2 border-[#00f0ff]/50 text-[#00f0ff] text-[10px] hover:bg-[#00f0ff]/10 transition-all",
                          children: [
                            E.jsx(mb, {
                              size: 12
                            }),
                            "Request Builder"
                          ]
                        }),
                        E.jsxs("button", {
                          type: "button",
                          onClick: N,
                          className: "inline-flex items-center gap-1 px-2 py-1 rounded-lg border-2 border-[#00f0ff]/50 text-[#00f0ff] text-[10px] hover:bg-[#00f0ff]/10 transition-all",
                          children: [
                            E.jsx(pb, {
                              size: 12
                            }),
                            y ? "Copied" : "Copy"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                E.jsx("textarea", {
                  readOnly: true,
                  value: T,
                  onFocus: (C) => C.currentTarget.select(),
                  className: "w-full h-28 md:h-36 p-2 md:p-3 bg-[#0a0a0f] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-[10px] text-[#00f0ff] focus:outline-none"
                }),
                E.jsxs("p", {
                  className: "text-[10px] text-[#6ef3f7]",
                  children: [
                    "Endpoint: ",
                    E.jsx("span", {
                      className: "font-mono text-[#00f0ff]",
                      children: "https://api.random.org/json-rpc/1/invoke"
                    })
                  ]
                })
              ]
            }),
            E.jsxs("div", {
              className: "space-y-2",
              children: [
                E.jsx("label", {
                  className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                  children: "Paste response JSON"
                }),
                E.jsx("textarea", {
                  value: f,
                  onChange: (C) => h(C.target.value),
                  placeholder: "Paste JSON-RPC response, or paste a [1,6,2,...] array",
                  className: "w-full h-28 md:h-36 p-2 md:p-3 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-[10px] text-[#00f0ff] placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] transition-all"
                })
              ]
            }),
            p && E.jsxs("div", {
              className: "flex items-start gap-2 p-3 bg-[#0a0a0f] border border-[#ff006e] rounded-lg",
              children: [
                E.jsx(Wo, {
                  size: 16,
                  className: "text-[#ff006e] shrink-0 mt-0.5"
                }),
                E.jsx("p", {
                  className: "text-xs text-[#ff006e]",
                  children: p
                })
              ]
            }),
            E.jsxs("div", {
              className: "flex gap-3",
              children: [
                E.jsx("button", {
                  onClick: U,
                  className: "flex-1 py-2.5 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-lg font-bold uppercase hover:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all",
                  children: "Generate Seed"
                }),
                E.jsx("button", {
                  onClick: r,
                  className: "px-4 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e]/20 transition-all",
                  children: E.jsx(ds, {
                    size: 16
                  })
                })
              ]
            })
          ]
        }),
        v && E.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff]/30 text-center space-y-3",
          children: [
            E.jsx("div", {
              className: "animate-spin mx-auto w-12 h-12 border-4 border-[#00f0ff]/30 border-t-[#00f0ff] rounded-full"
            }),
            E.jsx("p", {
              className: "text-sm text-[#00f0ff]",
              children: "Processing entropy..."
            })
          ]
        }),
        P && !v && E.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#39ff14] shadow-[0_0_30px_rgba(57,255,20,0.3)] space-y-4 mb-6",
          children: [
            E.jsxs("div", {
              className: "flex items-center gap-2 text-[#39ff14]",
              children: [
                E.jsx(ha, {
                  size: 24
                }),
                E.jsx("h3", {
                  className: "text-sm font-bold uppercase",
                  children: "Random.org Entropy Analysis"
                })
              ]
            }),
            E.jsxs("div", {
              className: "space-y-3 text-xs",
              children: [
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-1",
                      children: "Primary Source"
                    }),
                    E.jsx("p", {
                      className: "text-[#6ef3f7]",
                      children: "random.org D6 integers (pasted manually)"
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "SAMPLES"
                    }),
                    E.jsxs("div", {
                      className: "grid grid-cols-2 gap-2 font-mono text-[10px]",
                      children: [
                        E.jsx("div", {
                          children: "Requested"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: P.nRequested
                        }),
                        E.jsx("div", {
                          children: "Used"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: P.nUsed
                        }),
                        E.jsx("div", {
                          children: "Interaction samples"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: P.interactionSamples
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "DISTRIBUTION"
                    }),
                    E.jsx("div", {
                      className: "space-y-1 font-mono text-[10px]",
                      children: P.distribution.map((C, z) => {
                        const I = C / P.nUsed * 100;
                        return E.jsxs("div", {
                          className: "flex justify-between",
                          children: [
                            E.jsxs("span", {
                              children: [
                                "Face ",
                                z + 1
                              ]
                            }),
                            E.jsxs("span", {
                              className: "text-[#39ff14]",
                              children: [
                                C,
                                " (",
                                I.toFixed(1),
                                "%)"
                              ]
                            })
                          ]
                        }, z);
                      })
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "GENERATED SEED"
                    }),
                    E.jsxs("div", {
                      className: "p-3 bg-[#0a0a0f] rounded-lg border border-[#39ff14]/50",
                      children: [
                        E.jsx("p", {
                          className: "font-mono text-[10px] text-[#39ff14] blur-sensitive",
                          title: "Hover to reveal",
                          children: w
                        }),
                        E.jsx("p", {
                          className: "text-[9px] text-[#6ef3f7] mt-1",
                          children: "\u{1F446} Hover to reveal - Write this down securely"
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "MIXED WITH"
                    }),
                    E.jsxs("div", {
                      className: "space-y-1 text-[10px] text-[#6ef3f7]",
                      children: [
                        E.jsx("div", {
                          children: "- crypto.getRandomValues() \u2713"
                        }),
                        E.jsx("div", {
                          children: "- performance.now() \u2713"
                        }),
                        E.jsxs("div", {
                          children: [
                            "- Interaction timing (",
                            P.interactionSamples,
                            " samples) \u2713"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                E.jsx("div", {
                  className: "pt-2 border-t border-[#00f0ff]/30",
                  children: E.jsxs("div", {
                    className: "flex justify-between items-center",
                    children: [
                      E.jsx("span", {
                        className: "text-[#00f0ff] font-bold",
                        children: "Total Entropy"
                      }),
                      E.jsxs("span", {
                        className: "text-lg font-bold text-[#39ff14]",
                        children: [
                          P.totalBits,
                          " bits"
                        ]
                      })
                    ]
                  })
                })
              ]
            }),
            E.jsxs("div", {
              className: "pt-4 border-t border-[#00f0ff]/30 space-y-3",
              children: [
                E.jsx("button", {
                  onClick: () => t(w, P),
                  className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] transition-all",
                  children: "Continue with this Seed"
                }),
                E.jsx("button", {
                  onClick: () => {
                    k(null), _(""), h(""), m("");
                  },
                  className: "w-full py-2 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-lg text-sm font-bold hover:bg-[#00f0ff]/20 transition-all",
                  children: "Paste a different response"
                })
              ]
            })
          ]
        })
      ]
    });
  };
  class dP {
    constructor() {
      __publicField(this, "samples", []);
      __publicField(this, "lastEvent", 0);
      __publicField(this, "startTime", performance.now());
      __publicField(this, "sources", {
        mouse: 0,
        keyboard: 0,
        touch: 0
      });
      this.initListeners();
    }
    initListeners() {
      const t = (r) => {
        const n = performance.now(), a = n - this.lastEvent;
        a > 0 && a < 1e4 && (this.samples.push(a), r instanceof MouseEvent ? (this.samples.push(r.clientX ^ r.clientY), this.sources.mouse++) : r instanceof KeyboardEvent ? (this.samples.push(r.key.codePointAt(0) ?? 0), this.sources.keyboard++) : r instanceof TouchEvent && r.touches[0] && (this.samples.push(r.touches[0].clientX ^ r.touches[0].clientY), this.sources.touch++)), this.lastEvent = n, this.samples.length > 256 && this.samples.splice(0, this.samples.length - 256);
      };
      document.addEventListener("mousemove", t), document.addEventListener("keydown", t), document.addEventListener("touchmove", t);
    }
    async getEntropyBytes() {
      const t = new TextEncoder().encode(this.samples.join(",") + performance.now()), r = await crypto.subtle.digest("SHA-256", t);
      return new Uint8Array(r);
    }
    getSampleCount() {
      return {
        ...this.sources,
        total: this.sources.mouse + this.sources.keyboard + this.sources.touch
      };
    }
    getCollectionTime() {
      return performance.now() - this.startTime;
    }
    clear() {
      this.samples = [], this.lastEvent = 0, this.startTime = performance.now(), this.sources = {
        mouse: 0,
        keyboard: 0,
        touch: 0
      };
    }
  }
  const fP = ({ wordCount: e, onEntropyGenerated: t, onCancel: r, interactionEntropy: n }) => {
    const [a, i] = fe.useState("permission"), [l, c] = fe.useState(null), [u, x] = fe.useState(0), [f, h] = fe.useState(false), [p, m] = fe.useState(null), [y, B] = fe.useState(""), [v, D] = fe.useState(""), [P, k] = fe.useState(0), w = fe.useRef(null), _ = fe.useRef(null), T = fe.useRef(), N = fe.useRef([]), U = fe.useRef(false), C = fe.useRef(null), z = fe.useRef([]), I = fe.useRef(0), R = async () => {
      if (T.current && (cancelAnimationFrame(T.current), T.current = void 0), l && (l.getTracks().forEach((V) => V.stop()), c(null)), C.current) {
        C.current.onaudioprocess = null;
        try {
          C.current.disconnect();
        } catch {
        }
        C.current = null;
      }
      _.current = null;
      const Q = w.current;
      if (w.current = null, Q && Q.state !== "closed") try {
        await Q.close();
      } catch {
      }
    }, L = async () => {
      try {
        await R();
        const Q = await navigator.mediaDevices.getUserMedia({
          audio: {
            echoCancellation: false,
            noiseSuppression: false,
            autoGainControl: false,
            sampleRate: {
              ideal: 44100
            },
            channelCount: 1
          }
        }), V = new (window.AudioContext || window.webkitAudioContext)(), M = V.createAnalyser();
        M.fftSize = 2048, M.smoothingTimeConstant = 0.3, M.minDecibels = -100, M.maxDecibels = 0, M.channelCount = 1;
        const G = V.createMediaStreamSource(Q), ee = V.createGain();
        ee.gain.value = 0;
        const te = V.createMediaStreamDestination();
        G.connect(M), M.connect(ee), ee.connect(te);
        try {
          const oe = V.createScriptProcessor(1024, 1, 1);
          oe.onaudioprocess = (ie) => {
            const xe = ie.inputBuffer.getChannelData(0);
            z.current.push(new Float32Array(xe));
            let de = 0;
            for (let be = 0; be < xe.length; be++) de += xe[be] * xe[be];
            const he = Math.sqrt(de / xe.length);
            Math.random() < 0.1 && x(Math.min(he * 2e3, 100)), I.current++ % 30;
          }, G.connect(oe), oe.connect(ee), C.current = oe;
        } catch {
        }
        w.current = V, _.current = M, c(Q), V.state === "suspended" && await V.resume(), setTimeout(() => {
          _.current && (O(), i("capture"));
        }, 300);
      } catch (Q) {
        D(`Microphone access denied: ${Q.message}`), setTimeout(() => r(), 2e3);
      }
    }, O = () => {
      if (!_.current) return;
      const Q = () => {
        if (!_.current) return;
        const V = _.current.frequencyBinCount, M = new Float32Array(V), G = new Float32Array(V);
        _.current.getFloatTimeDomainData(M), _.current.getFloatFrequencyData(G);
        let ee = 0;
        for (let Ce = 0; Ce < V; Ce++) ee += M[Ce] * M[Ce];
        const te = Math.sqrt(ee / V), oe = Math.min(te * 2e3, 100);
        let ie = 0, xe = 0;
        for (let Ce = 0; Ce < V; Ce++) {
          const Ie = G[Ce];
          if (Ie > -100) {
            const Ue = Math.pow(10, Ie / 20);
            ie += Ue * Ue, xe++;
          }
        }
        const de = xe > 0 ? Math.sqrt(ie / xe) : 0, he = Math.min(de * 1e3, 50), be = Math.max(oe, he), ve = Math.min(Math.max(be, 0), 100);
        U.current || (U.current = true), x(ve), h(ve > 1), T.current = requestAnimationFrame(Q);
      };
      Q();
    };
    fe.useEffect(() => {
      _.current && a === "capture" && !T.current && O();
    }, [
      _.current,
      a
    ]);
    const W = async () => {
      w.current && w.current.state === "suspended" && await w.current.resume(), i("processing"), k(0);
      const Q = 3e3, V = 50, M = Q / V;
      N.current = [], z.current = [];
      for (let te = 0; te < M; te++) {
        if (await new Promise((oe) => setTimeout(oe, V)), _.current) {
          const oe = _.current.frequencyBinCount, ie = new Float32Array(oe);
          _.current.getFloatTimeDomainData(ie), N.current.push(new Float32Array(ie));
        }
        k((te + 1) / M * 100);
      }
      z.current.length > 0 && (N.current = z.current.slice(-M));
      const G = await $(), ee = await X(G);
      m(G), B(ee), i("stats"), await R();
    }, $ = async () => {
      var _a;
      const Q = N.current.flatMap((he) => Array.from(he)), V = ((_a = w.current) == null ? void 0 : _a.sampleRate) || 48e3, M = Math.max(...Q.map(Math.abs)), G = Q.reduce((he, be) => he + be * be, 0), ee = Math.sqrt(G / Q.length);
      let te = 0;
      for (let he = 1; he < Q.length; he++) (Q[he] >= 0 && Q[he - 1] < 0 || Q[he] < 0 && Q[he - 1] >= 0) && te++;
      const oe = Array(8).fill(0);
      for (const he of N.current) {
        const be = he.length, ve = Math.floor(be / 8);
        for (let Ce = 0; Ce < 8; Ce++) {
          const Ie = Ce * ve, Ue = Ie + ve;
          let ge = 0;
          for (let ke = Ie; ke < Ue && ke < be; ke++) ge += Math.abs(he[ke]);
          oe[Ce] += ge / ve;
        }
      }
      const ie = Math.max(...oe);
      if (ie > 0) for (let he = 0; he < oe.length; he++) oe[he] = oe[he] / ie * 100;
      let xe = 0;
      const de = oe.reduce((he, be) => he + be, 0);
      if (de > 0) {
        for (const he of oe) if (he > 0) {
          const be = he / de;
          xe -= be * Math.log2(be);
        }
      }
      return {
        sampleRate: V,
        duration: N.current.length * 50,
        peakAmplitude: M,
        rmsAmplitude: ee,
        zeroCrossings: te,
        frequencyBands: oe,
        spectralEntropy: xe,
        interactionSamples: n.getSampleCount().total,
        totalBits: 256
      };
    }, X = async (Q) => {
      const V = N.current.flatMap((be) => Array.from(be)), M = await crypto.subtle.digest("SHA-256", new Float32Array(V).buffer), G = await n.getEntropyBytes(), ee = crypto.getRandomValues(new Uint8Array(32)), te = [
        Array.from(new Uint8Array(M)).join(","),
        Q.zeroCrossings.toString(),
        Q.peakAmplitude.toString(),
        performance.now().toString(),
        Array.from(G).join(","),
        Array.from(ee).join(",")
      ].join("|"), ie = new TextEncoder().encode(te), xe = await crypto.subtle.digest("SHA-256", ie), de = e === 12 ? 16 : 32, he = new Uint8Array(xe).slice(0, de);
      return wa(he);
    };
    fe.useEffect(() => () => {
      R();
    }, []);
    const Y = () => u > 10 ? {
      text: "\u2705 Excellent audio - ready!",
      color: "#39ff14"
    } : u > 5 ? {
      text: "\u{1F7E1} Good - speak or make noise",
      color: "#ffd700"
    } : u > 2 ? {
      text: "\u{1F7E0} Low - louder noise needed",
      color: "#ff9500"
    } : {
      text: "\u{1F534} Too quiet - tap desk/speak",
      color: "#ff006e"
    };
    return E.jsxs("div", {
      className: "space-y-4",
      children: [
        a === "permission" && E.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff30] space-y-4",
          children: [
            E.jsxs("div", {
              className: "text-center space-y-2",
              children: [
                E.jsx(gx, {
                  size: 48,
                  className: "mx-auto text-[#00f0ff]"
                }),
                E.jsx("h3", {
                  className: "text-sm font-bold text-[#00f0ff] uppercase",
                  children: "Microphone Permission Needed"
                }),
                E.jsx("span", {
                  className: "px-3 py-1 bg-[#ff006e30] border border-[#ff006e] text-[#ff006e] rounded-full text-[10px] font-bold uppercase",
                  children: "Beta Feature"
                })
              ]
            }),
            E.jsxs("div", {
              className: "space-y-2 text-xs text-[#6ef3f7]",
              children: [
                E.jsx("p", {
                  children: "To generate entropy, we need:"
                }),
                E.jsxs("ul", {
                  className: "list-disc list-inside space-y-1 pl-2",
                  children: [
                    E.jsx("li", {
                      children: "Microphone access to capture ambient noise"
                    }),
                    E.jsx("li", {
                      children: "Audio data processed locally (never transmitted)"
                    }),
                    E.jsx("li", {
                      children: "3 seconds of audio capture"
                    }),
                    E.jsx("li", {
                      children: "Microphone auto-closes after use"
                    })
                  ]
                })
              ]
            }),
            E.jsxs("div", {
              className: "flex gap-3",
              children: [
                E.jsx("button", {
                  onClick: L,
                  className: "flex-1 py-2.5 bg-[#00f0ff] text-[#0a0a0f] rounded-lg font-bold text-sm hover:shadow-[0_0_20px_rgba(0,240,255,0.5)] transition-all",
                  children: "Allow Microphone"
                }),
                E.jsx("button", {
                  onClick: r,
                  className: "flex-1 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e20] transition-all",
                  children: "Cancel"
                })
              ]
            })
          ]
        }),
        a === "capture" && E.jsxs("div", {
          className: "space-y-4",
          children: [
            E.jsx("div", {
              className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff30]",
              children: E.jsx("div", {
                className: "flex items-center justify-center h-32 relative",
                children: E.jsx("div", {
                  className: "flex items-end gap-1 h-full",
                  children: [
                    ...Array(20)
                  ].map((Q, V) => E.jsx("div", {
                    className: "w-2 bg-[#00f0ff] rounded-t transition-all",
                    style: {
                      height: `${Math.max(10, u * (0.5 + Math.random() * 0.5))}%`,
                      opacity: 0.3 + u / 100 * 0.7
                    }
                  }, V))
                })
              })
            }),
            E.jsxs("div", {
              className: "p-4 bg-[#16213e] rounded-xl border-2 border-[#00f0ff30] space-y-3",
              children: [
                E.jsxs("div", {
                  className: "text-xs text-[#6ef3f7] space-y-1",
                  children: [
                    E.jsx("p", {
                      className: "font-bold text-[#00f0ff]",
                      children: "Instructions:"
                    }),
                    E.jsx("p", {
                      children: "Make noise: tap desk, rustle paper, speak, or play music"
                    })
                  ]
                }),
                E.jsxs("div", {
                  className: "space-y-2",
                  children: [
                    E.jsxs("div", {
                      className: "flex items-center justify-between text-xs",
                      children: [
                        E.jsx("span", {
                          className: "text-[#00f0ff]",
                          children: "Audio Level:"
                        }),
                        E.jsxs("span", {
                          className: "font-mono text-[#00f0ff]",
                          children: [
                            u.toFixed(1),
                            "%"
                          ]
                        })
                      ]
                    }),
                    E.jsx("div", {
                      className: "w-full bg-[#0a0a0f] rounded-full h-2 overflow-hidden",
                      children: E.jsx("div", {
                        className: "h-full transition-all",
                        style: {
                          width: `${u}%`,
                          backgroundColor: Y().color
                        }
                      })
                    }),
                    E.jsx("div", {
                      className: "text-xs font-medium",
                      style: {
                        color: Y().color
                      },
                      children: Y().text
                    })
                  ]
                }),
                E.jsxs("div", {
                  className: "flex gap-3",
                  children: [
                    E.jsxs("button", {
                      onClick: W,
                      disabled: !f,
                      className: "flex-1 py-2.5 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-lg font-bold uppercase disabled:opacity-30 disabled:cursor-not-allowed hover:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all",
                      children: [
                        E.jsx(gx, {
                          className: "inline mr-2",
                          size: 16
                        }),
                        "Capture (3s)"
                      ]
                    }),
                    E.jsx("button", {
                      onClick: r,
                      className: "px-4 py-2.5 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg font-bold text-sm hover:bg-[#ff006e20] transition-all",
                      children: E.jsx(ds, {
                        size: 16
                      })
                    })
                  ]
                })
              ]
            })
          ]
        }),
        a === "processing" && E.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#00f0ff30] text-center space-y-3",
          children: [
            E.jsxs("div", {
              className: "relative w-16 h-16 mx-auto",
              children: [
                E.jsx("div", {
                  className: "animate-spin w-16 h-16 border-4 border-[#00f0ff30] border-t-[#00f0ff] rounded-full"
                }),
                E.jsx(gx, {
                  className: "absolute inset-0 m-auto text-[#00f0ff]",
                  size: 24
                })
              ]
            }),
            E.jsx("p", {
              className: "text-sm text-[#00f0ff]",
              children: "Capturing audio entropy..."
            }),
            E.jsx("div", {
              className: "w-full bg-[#0a0a0f] rounded-full h-2",
              children: E.jsx("div", {
                className: "h-full bg-[#00f0ff] rounded-full transition-all",
                style: {
                  width: `${P}%`
                }
              })
            }),
            E.jsxs("p", {
              className: "text-xs text-[#6ef3f7]",
              children: [
                P.toFixed(0),
                "%"
              ]
            })
          ]
        }),
        a === "stats" && p && E.jsxs("div", {
          className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#39ff14] shadow-[0_0_30px_rgba(57,255,20,0.3)] space-y-4",
          children: [
            E.jsxs("div", {
              className: "flex items-center gap-2 text-[#39ff14]",
              children: [
                E.jsx(ha, {
                  size: 24
                }),
                E.jsx("h3", {
                  className: "text-sm font-bold uppercase",
                  children: "Audio Entropy Analysis"
                })
              ]
            }),
            E.jsxs("div", {
              className: "space-y-3 text-xs",
              children: [
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-1",
                      children: "Primary Source:"
                    }),
                    E.jsx("p", {
                      className: "text-[#6ef3f7]",
                      children: "Microphone Ambient Noise"
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "AUDIO METRICS:"
                    }),
                    E.jsxs("div", {
                      className: "grid grid-cols-2 gap-2 font-mono text-[10px]",
                      children: [
                        E.jsx("div", {
                          children: "Sample Rate:"
                        }),
                        E.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            p.sampleRate,
                            " Hz"
                          ]
                        }),
                        E.jsx("div", {
                          children: "Duration:"
                        }),
                        E.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            p.duration,
                            "ms"
                          ]
                        }),
                        E.jsx("div", {
                          children: "Peak Amplitude:"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: p.peakAmplitude.toFixed(3)
                        }),
                        E.jsx("div", {
                          children: "RMS Amplitude:"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: p.rmsAmplitude.toFixed(3)
                        }),
                        E.jsx("div", {
                          children: "Zero Crossings:"
                        }),
                        E.jsx("div", {
                          className: "text-[#39ff14]",
                          children: p.zeroCrossings.toLocaleString()
                        }),
                        E.jsx("div", {
                          children: "Spectral Entropy:"
                        }),
                        E.jsxs("div", {
                          className: "text-[#39ff14]",
                          children: [
                            p.spectralEntropy.toFixed(2),
                            "/3.00"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "FREQUENCY DISTRIBUTION:"
                    }),
                    E.jsx("div", {
                      className: "flex items-end justify-between h-16 gap-1",
                      children: p.frequencyBands.map((Q, V) => E.jsx("div", {
                        className: "flex-1 bg-[#00f0ff] rounded-t",
                        style: {
                          height: `${Q}%`
                        }
                      }, V))
                    }),
                    E.jsxs("div", {
                      className: "flex justify-between text-[9px] text-[#6ef3f7] mt-1",
                      children: [
                        E.jsx("span", {
                          children: "Low"
                        }),
                        E.jsx("span", {
                          children: "High"
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "GENERATED SEED:"
                    }),
                    E.jsxs("div", {
                      className: "p-3 bg-[#0a0a0f] rounded-lg border border-[#39ff1450]",
                      children: [
                        E.jsx("p", {
                          className: "font-mono text-[10px] text-[#39ff14] blur-sensitive",
                          title: "Hover to reveal",
                          children: y
                        }),
                        E.jsx("p", {
                          className: "text-[9px] text-[#6ef3f7] mt-1",
                          children: "\u{1F446} Hover to reveal -  Write this down securely"
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "HOW SEED IS GENERATED:"
                    }),
                    E.jsxs("div", {
                      className: "space-y-1 text-[10px] text-[#6ef3f7]",
                      children: [
                        E.jsxs("div", {
                          children: [
                            "1. Captured ",
                            p.duration,
                            "ms of audio (",
                            (N.current.flat().length / 1024).toFixed(1),
                            "KB)"
                          ]
                        }),
                        E.jsxs("div", {
                          children: [
                            "2. Analyzed ",
                            p.zeroCrossings.toLocaleString(),
                            " zero crossings"
                          ]
                        }),
                        E.jsx("div", {
                          children: "3. Extracted frequency spectrum (8 bands)"
                        }),
                        E.jsxs("div", {
                          children: [
                            "4. Mixed with ",
                            p.interactionSamples,
                            " interaction samples"
                          ]
                        }),
                        E.jsx("div", {
                          children: "5. Enhanced with crypto.getRandomValues() (32 bytes)"
                        }),
                        E.jsxs("div", {
                          children: [
                            "6. Final hash \u2192 ",
                            e === 12 ? "128" : "256",
                            " bits \u2192 ",
                            e,
                            " BIP39 words"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                E.jsxs("div", {
                  children: [
                    E.jsx("p", {
                      className: "text-[#00f0ff] font-bold mb-2",
                      children: "MIXED WITH:"
                    }),
                    E.jsxs("div", {
                      className: "space-y-1 text-[#6ef3f7]",
                      children: [
                        E.jsx("div", {
                          children: "-  crypto.getRandomValues() \u2713"
                        }),
                        E.jsx("div", {
                          children: "-  performance.now() \u2713"
                        }),
                        E.jsxs("div", {
                          children: [
                            "-  Interaction timing (",
                            p.interactionSamples,
                            " samples) \u2713"
                          ]
                        })
                      ]
                    })
                  ]
                }),
                E.jsx("div", {
                  className: "pt-2 border-t border-[#00f0ff30]",
                  children: E.jsxs("div", {
                    className: "flex justify-between items-center",
                    children: [
                      E.jsx("span", {
                        className: "text-[#00f0ff] font-bold",
                        children: "Total Entropy:"
                      }),
                      E.jsxs("span", {
                        className: "text-lg font-bold text-[#39ff14]",
                        children: [
                          p.totalBits,
                          " bits"
                        ]
                      })
                    ]
                  })
                })
              ]
            }),
            E.jsxs("div", {
              className: "pt-4 border-t border-[#00f0ff30] space-y-3",
              children: [
                E.jsx("button", {
                  onClick: () => t(y, p),
                  className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] transition-all",
                  children: "Continue with this Seed"
                }),
                E.jsx("button", {
                  onClick: () => {
                    i("permission"), m(null), B(""), x(0), N.current = [], U.current = false;
                  },
                  className: "w-full py-2 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-lg text-sm font-bold hover:bg-[#00f0ff20] transition-all",
                  children: "Capture Again"
                })
              ]
            })
          ]
        }),
        v && E.jsx("div", {
          className: "p-4 bg-[#16213e] border-2 border-[#ff006e] rounded-lg",
          children: E.jsx("p", {
            className: "text-xs text-[#ff006e]",
            children: v
          })
        })
      ]
    });
  };
  function hP() {
    const [e, t] = fe.useState("create"), [r, n] = fe.useState(""), [a, i] = fe.useState(""), [l, c] = fe.useState(""), [u, x] = fe.useState(""), [f, h] = fe.useState(""), [p, m] = fe.useState(""), [y, B] = fe.useState(false), [v, D] = fe.useState(""), [P, k] = fe.useState(""), [w, _] = fe.useState(""), [T, N] = fe.useState(null), [U, C] = fe.useState(""), [z, I] = fe.useState(false), [R, L] = fe.useState(false), [O, W] = fe.useState(false), [$, X] = fe.useState(false), [Y, Q] = fe.useState(false), [V, M] = fe.useState(null), [G, ee] = fe.useState(false), [te, oe] = fe.useState(false), [ie, xe] = fe.useState(false), [de, he] = fe.useState([]), [be, ve] = fe.useState([]), [Ce, Ie] = fe.useState([]), [Ue, ge] = fe.useState(false), [ke, ze] = fe.useState(0), [Qe, Le] = fe.useState("pgp"), [ft, rt] = fe.useState("standard"), [wt, _n] = fe.useState(""), [Wr, Ir] = fe.useState(24), [dr, q] = fe.useState("backup"), [S, j] = fe.useState(null), [Z, ne] = fe.useState(""), [ce, pe] = fe.useState(0), [qe, yt] = fe.useState(true), [Ze, We] = fe.useState(null), [Je, to] = fe.useState(null), ro = fe.useRef(new dP()), no = [
      "key",
      "mnemonic",
      "seed",
      "private",
      "secret",
      "pgp",
      "password"
    ], ao = (Ee) => {
      const Me = Ee.toLowerCase();
      return no.some((Te) => Me.includes(Te));
    }, ws = (Ee) => {
      const Me = [];
      for (let Te = 0; Te < Ee.length; Te++) {
        const ct = Ee.key(Te);
        if (ct) {
          const ut = Ee.getItem(ct) || "";
          Me.push({
            key: ct,
            value: ut.substring(0, 50) + (ut.length > 50 ? "..." : ""),
            size: new Blob([
              ut
            ]).size,
            isSensitive: ao(ct)
          });
        }
      }
      return Me.sort((Te, ct) => (ct.isSensitive ? 1 : 0) - (Te.isSensitive ? 1 : 0));
    }, vs = () => {
      he(ws(localStorage)), ve(ws(sessionStorage));
    };
    fe.useEffect(() => {
      vs();
      const Ee = setInterval(vs, 2e3);
      return () => clearInterval(Ee);
    }, []), fe.useEffect(() => {
      io();
    }, []), fe.useEffect(() => {
      io();
    }, []), fe.useEffect(() => () => {
      t9();
    }, []), fe.useEffect(() => {
      const Ee = (Me) => {
        var _a, _b2, _c2;
        const Te = Me.target, ut = (((_a = window.getSelection()) == null ? void 0 : _a.toString()) || "").length;
        if (ut === 0) return;
        let Br = "Unknown field";
        const sn = Te.getAttribute("data-sensitive") || ((_b2 = Te.closest("[data-sensitive]")) == null ? void 0 : _b2.getAttribute("data-sensitive"));
        if (sn) Br = sn;
        else if (Te.tagName === "TEXTAREA" || Te.tagName === "INPUT") {
          Br = Te.getAttribute("aria-label") || Te.getAttribute("name") || Te.getAttribute("id") || Te.type || Te.tagName.toLowerCase();
          const ci = Te.closest("label") || document.querySelector(`label[for="${Te.id}"]`);
          if (ci && (Br = ((_c2 = ci.textContent) == null ? void 0 : _c2.trim()) || Br), /mnemonic|seed|key|private|password|secret/i.test(Te.className + " " + Br + " " + (Te.getAttribute("placeholder") || "")) && Br === Te.tagName.toLowerCase()) {
            const so = Te.getAttribute("placeholder");
            so && (Br = so.substring(0, 40) + "...");
          }
        }
        Ie((ci) => [
          {
            timestamp: /* @__PURE__ */ new Date(),
            field: Br,
            length: ut
          },
          ...ci.slice(0, 9)
        ]);
      };
      return document.addEventListener("copy", Ee), () => document.removeEventListener("copy", Ee);
    }, []), fe.useEffect(() => {
      if (e === "restore" && w.trim()) {
        const Ee = sE(w);
        j(Ee), (Ee === "pgp" || Ee === "krux") && Ee !== Qe && Le(Ee);
      } else j(null);
    }, [
      w,
      e,
      Qe
    ]);
    const Ic = async () => {
      try {
        await navigator.clipboard.writeText(""), Ie([]), alert("\u2705 Clipboard cleared and history wiped");
      } catch {
        const Me = document.createElement("textarea");
        Me.value = "", document.body.appendChild(Me), Me.select(), document.execCommand("copy"), document.body.removeChild(Me), Ie([]), alert("\u2705 History cleared (clipboard may require manual clearing)");
      }
    }, Pc = async (Ee, Me = "Data") => {
      if (Y) {
        C("Copy to clipboard is disabled in Read-only mode.");
        return;
      }
      const Te = typeof Ee == "string" ? Ee : Array.from(Ee).map((ct) => ct.toString(16).padStart(2, "0")).join("");
      try {
        await navigator.clipboard.writeText(Te), L(true), (Me.toLowerCase().includes("mnemonic") || Me.toLowerCase().includes("seed") || Me.toLowerCase().includes("password") || Me.toLowerCase().includes("key")) && (Ie((ut) => [
          {
            timestamp: /* @__PURE__ */ new Date(),
            field: `${Me} (will clear in 10s)`,
            length: Te.length
          },
          ...ut.slice(0, 9)
        ]), setTimeout(async () => {
          try {
            const ut = crypto.getRandomValues(new Uint8Array(Math.max(Te.length, 64))).reduce((Br, sn) => Br + String.fromCharCode(32 + sn % 95), "");
            await navigator.clipboard.writeText(ut);
          } catch {
          }
        }, 1e4), alert(`\u26A0\uFE0F ${Me} copied to clipboard!

\u2705 Will auto-clear in 10 seconds.

\u{1F512} Warning: Clipboard is accessible to other apps and browser extensions.`)), window.setTimeout(() => L(false), 1500);
      } catch {
        const ct = document.createElement("textarea");
        ct.value = Te, ct.style.position = "fixed", ct.style.left = "-9999px", document.body.appendChild(ct), ct.focus(), ct.select(), document.execCommand("copy"), document.body.removeChild(ct), L(true), window.setTimeout(() => L(false), 1500);
      }
    }, ii = (Ee, Me) => {
      _n(Ee), to(Me);
    }, Bs = () => {
      dr === "backup" ? (n(wt), t("backup")) : dr === "seedblender" && (ne(wt), t("seedblender")), _n(""), We(null), to(null);
    }, Nc = async () => {
      I(true), C(""), D(""), k("");
      try {
        const Ee = await tw(r);
        if (!Ee.valid) throw new Error(Ee.error);
        const Me = oE(r, y);
        let Te;
        if (Qe === "seedqr") ft === "standard" ? Te = {
          framed: await UI(r)
        } : Te = {
          framed: await TI(r)
        };
        else {
          if (u) {
            const ut = await MI(u);
            if (!ut.valid) throw new Error(`PGP Key Validation Failed: ${ut.error}`);
          }
          Te = await qI({
            plaintext: Me,
            publicKeyArmored: u || void 0,
            messagePassword: a || void 0,
            mode: Qe
          });
        }
        D(Te.framed), Te.recipientFingerprint && k(Te.recipientFingerprint), await e9();
        const ct = await lg({
          mnemonic: r,
          timestamp: Date.now()
        });
        M(ct), n(""), i(""), m("");
      } catch (Ee) {
        C(Ee instanceof Error ? Ee.message : "Encryption failed");
      } finally {
        I(false);
      }
    }, oo = async (Ee) => {
      I(true), C("");
      try {
        if (Ee.type.startsWith("image/")) {
          const Me = new Image(), Te = document.createElement("canvas"), ct = Te.getContext("2d");
          await new Promise((xt, so) => {
            Me.onload = xt, Me.onerror = so, Me.src = URL.createObjectURL(Ee);
          }), Te.width = Me.width, Te.height = Me.height, ct == null ? void 0 : ct.drawImage(Me, 0, 0);
          const ut = ct == null ? void 0 : ct.getImageData(0, 0, Te.width, Te.height);
          if (!ut) throw new Error("Could not read image");
          const Br = (await ld(async () => {
            const { default: xt } = await Promise.resolve().then(() => Yb);
            return {
              default: xt
            };
          }, void 0, import.meta.url)).default, sn = Br(ut.data, ut.width, ut.height);
          if (!sn) throw new Error("No QR code found in image");
          if (sn.binaryData.length === 16 || sn.binaryData.length === 32) {
            const xt = Array.from(sn.binaryData).map((so) => so.toString(16).padStart(2, "0")).join("");
            _(xt);
          } else _(sn.data);
          URL.revokeObjectURL(Me.src);
        } else if (Ee.type === "text/plain" || Ee.name.endsWith(".txt") || Ee.name.endsWith(".asc")) {
          const Me = await Ee.text();
          _(Me.trim());
        } else throw new Error("Unsupported file type. Use PNG/JPG (QR) or TXT/ASC (armor)");
      } catch (Me) {
        C(Me instanceof Error ? Me.message : "File upload failed");
      } finally {
        I(false);
      }
    }, Cs = async (Ee) => {
      Ee.preventDefault(), X(false);
      const Me = Ee.dataTransfer.files[0];
      Me && await oo(Me);
    }, si = (Ee) => {
      Ee.preventDefault(), X(true);
    }, qd = () => {
      X(false);
    }, li = async () => {
      I(true), C(""), N(null);
      try {
        const Me = await iE({
          frameText: w,
          privateKeyArmored: f || void 0,
          privateKeyPassphrase: p || void 0,
          messagePassword: l || void 0,
          mode: S || Qe
        });
        await e9();
        const Te = await lg({
          mnemonic: Me.w,
          timestamp: Date.now()
        });
        M(Te), N(Me.w), c(""), m(""), _(""), setTimeout(() => {
          N(null);
        }, 1e4);
      } catch (Ee) {
        C(Ee instanceof Error ? Ee.message : "Decryption failed");
      } finally {
        I(false);
      }
    }, io = () => {
      window.__originalFetch = window.fetch, window.__originalXHR = window.XMLHttpRequest, window.__originalWS = window.WebSocket, window.__originalImage = window.Image, navigator.sendBeacon && (window.__originalBeacon = navigator.sendBeacon), window.fetch = (async () => Promise.reject(new Error("Network blocked by user"))), window.XMLHttpRequest = new Proxy(XMLHttpRequest, {
        construct() {
          throw new Error("Network blocked: XMLHttpRequest not allowed");
        }
      }), window.WebSocket = new Proxy(WebSocket, {
        construct() {
          throw new Error("Network blocked: WebSocket not allowed");
        }
      }), navigator.sendBeacon = () => false;
      const Ee = window.Image;
      window.Image = new Proxy(Ee, {
        construct(Me) {
          var _a, _b2;
          const Te = Reflect.construct(Me, []), ct = (_a = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, "src")) == null ? void 0 : _a.set;
          return Object.defineProperty(Te, "src", {
            configurable: true,
            set(ut) {
              if (ut && !ut.startsWith("data:") && !ut.startsWith("blob:")) throw new Error("Network blocked: cannot load external resource");
              ct == null ? void 0 : ct.call(this, ut);
            },
            get: (_b2 = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, "src")) == null ? void 0 : _b2.get
          }), Te;
        }
      }), navigator.serviceWorker && (navigator.serviceWorker.register = async () => {
        throw new Error("Network blocked: Service Workers disabled");
      }, navigator.serviceWorker.getRegistrations().then((Me) => Me.forEach((Te) => Te.unregister())).catch(() => {
      }));
    }, a0 = () => {
      window.__originalFetch && (window.fetch = window.__originalFetch), window.__originalXHR && (window.XMLHttpRequest = window.__originalXHR), window.__originalWS && (window.WebSocket = window.__originalWS), window.__originalImage && (window.Image = window.__originalImage), window.__originalBeacon && (navigator.sendBeacon = window.__originalBeacon);
    }, ks = () => {
      yt(!qe), qe ? a0() : io();
    }, jc = (Ee) => {
      t(Ee);
    }, Gd = () => {
      window.confirm("\u26A0\uFE0F Reset ALL data? This will clear everything including any displayed entropy analysis.") && (n(""), _n(""), i(""), c(""), x(""), h(""), m(""), D(""), k(""), _(""), N(null), C(""), We(null), to(null), ne(""), localStorage.clear(), sessionStorage.clear(), t9(), M(null), ze((Ee) => Ee + 1), pe((Ee) => Ee + 1), t("create"));
    }, Vd = fe.useCallback((Ee) => {
      if (typeof Ee == "string") _(Ee);
      else {
        const Me = Array.from(Ee).map((Te) => Te.toString(16).padStart(2, "0")).join("");
        _(Me);
      }
      W(false), C("");
    }, []), Ba = fe.useCallback(() => {
      W(false);
    }, []), zc = fe.useCallback((Ee) => {
      C(Ee), W(false);
    }, []);
    return E.jsx("div", {
      className: "min-h-screen bg-black",
      children: E.jsxs("div", {
        className: "max-w-md mx-auto min-h-screen bg-[#0a0a0f] bg-[radial-gradient(ellipse_at_top,#1a1a2e_0%,#0a0a0f_100%)] relative",
        children: [
          E.jsx("div", {
            className: "absolute inset-0 bg-[linear-gradient(rgba(0,240,255,0.03)_1px,transparent_1px),linear-gradient(90deg,rgba(0,240,255,0.03)_1px,transparent_1px)] bg-[size:50px_50px] pointer-events-none"
          }),
          E.jsxs("div", {
            className: "relative z-10",
            children: [
              E.jsx(eP, {
                onOpenSecurityModal: () => ee(true),
                localItems: de,
                sessionItems: be,
                onOpenStorageModal: () => oe(true),
                events: Ce,
                onOpenClipboardModal: () => xe(true),
                activeTab: e,
                onRequestTabChange: jc,
                appVersion: "1.4.7",
                isNetworkBlocked: qe,
                onToggleNetwork: ks,
                onResetAll: Gd
              }),
              E.jsxs("main", {
                className: "w-full px-4 py-3",
                children: [
                  E.jsx("div", {
                    className: "bg-[#1a1a2e] rounded-xl border-2 border-[#00f0ff]/30 shadow-[0_0_30px_rgba(0,240,255,0.3)] p-0",
                    children: E.jsxs("div", {
                      className: "p-6 md:p-8 space-y-6",
                      children: [
                        U && E.jsxs("div", {
                          className: "p-4 bg-[#1a1a2e] border-2 border-[#ff006e] rounded-lg text-[#ff006e] text-sm shadow-[0_0_20px_rgba(255,0,110,0.3)] flex gap-3 items-start animate-in slide-in-from-top-2",
                          style: {
                            textShadow: "0 0 5px rgba(255,0,110,0.5)"
                          },
                          children: [
                            E.jsx(Wo, {
                              className: "shrink-0 mt-0.5",
                              size: 20
                            }),
                            E.jsxs("div", {
                              children: [
                                E.jsx("p", {
                                  className: "font-bold mb-1",
                                  children: "Error"
                                }),
                                E.jsx("p", {
                                  className: "whitespace-pre-wrap",
                                  children: U
                                })
                              ]
                            })
                          ]
                        }),
                        P && e === "backup" && E.jsxs("div", {
                          className: "p-3 bg-[#16213e] border border-[#9d84b7] rounded-lg text-[#6ef3f7] text-xs shadow-[0_0_10px_rgba(157,132,183,0.3)] flex items-start gap-3 animate-in fade-in",
                          children: [
                            E.jsx(Dl, {
                              size: 16,
                              className: "shrink-0 mt-0.5"
                            }),
                            E.jsxs("div", {
                              children: [
                                E.jsx("strong", {
                                  children: "Recipient Key:"
                                }),
                                " ",
                                E.jsx("code", {
                                  className: "bg-[#16213e] border border-[#00f0ff]/50 px-1.5 py-0.5 rounded font-mono text-[#00f0ff]",
                                  children: P
                                })
                              ]
                            })
                          ]
                        }),
                        E.jsxs("div", {
                          className: "space-y-6",
                          children: [
                            E.jsxs("div", {
                              className: "space-y-6",
                              children: [
                                e === "create" && E.jsxs("div", {
                                  className: "space-y-6",
                                  children: [
                                    E.jsxs("div", {
                                      className: "space-y-3",
                                      children: [
                                        E.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest block text-center",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "Seed Length"
                                        }),
                                        E.jsxs("div", {
                                          className: "grid grid-cols-2 gap-3 max-w-sm mx-auto",
                                          children: [
                                            E.jsx("button", {
                                              onClick: () => Ir(12),
                                              className: `py-2.5 text-sm rounded-lg font-medium transition-all ${Wr === 12 ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] text-[#9d84b7] border-2 border-[#00f0ff]/30 hover:text-[#6ef3f7] hover:border-[#00f0ff]/50"}`,
                                              style: Wr === 12 ? {
                                                textShadow: "0 0 10px rgba(0,240,255,0.8)"
                                              } : void 0,
                                              children: "12 Words"
                                            }),
                                            E.jsx("button", {
                                              onClick: () => Ir(24),
                                              className: `py-2.5 text-sm rounded-lg font-medium transition-all ${Wr === 24 ? "bg-[#1a1a2e] text-[#00f0ff] border-2 border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] text-[#9d84b7] border-2 border-[#00f0ff]/30 hover:text-[#6ef3f7] hover:border-[#00f0ff]/50"}`,
                                              style: Wr === 24 ? {
                                                textShadow: "0 0 10px rgba(0,240,255,0.8)"
                                              } : void 0,
                                              children: "24 Words"
                                            })
                                          ]
                                        })
                                      ]
                                    }),
                                    !Ze && !wt && E.jsxs("div", {
                                      className: "space-y-4",
                                      children: [
                                        E.jsxs("div", {
                                          className: "space-y-2",
                                          children: [
                                            E.jsx("h3", {
                                              className: "text-xs font-bold text-[#00f0ff] uppercase tracking-widest text-center",
                                              style: {
                                                textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                              },
                                              children: "Choose Entropy Source"
                                            }),
                                            E.jsx("p", {
                                              className: "text-[10px] text-[#6ef3f7] text-center",
                                              children: "All methods enhanced with mouse/keyboard timing + browser crypto"
                                            })
                                          ]
                                        }),
                                        Je && E.jsxs("div", {
                                          className: "text-xs text-center text-[#6ef3f7]",
                                          children: [
                                            "Last entropy generated: ",
                                            Je.totalBits,
                                            " bits"
                                          ]
                                        }),
                                        E.jsxs("div", {
                                          className: "space-y-3",
                                          children: [
                                            E.jsx("button", {
                                              onClick: () => We("camera"),
                                              className: "w-full p-4 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg hover:bg-[#1a1a2e] hover:border-[#00f0ff] hover:shadow-[0_0_20px_rgba(0,240,255,0.3)] transition-all text-left",
                                              children: E.jsxs("div", {
                                                className: "flex items-center gap-3",
                                                children: [
                                                  E.jsx(Nx, {
                                                    size: 24,
                                                    className: "text-[#00f0ff]"
                                                  }),
                                                  E.jsxs("div", {
                                                    children: [
                                                      E.jsx("p", {
                                                        className: "text-sm font-bold text-[#00f0ff]",
                                                        children: "\u{1F4F7} Camera Entropy"
                                                      }),
                                                      E.jsx("p", {
                                                        className: "text-[10px] text-[#6ef3f7]",
                                                        children: "Point at bright, textured surface"
                                                      })
                                                    ]
                                                  })
                                                ]
                                              })
                                            }),
                                            E.jsx("button", {
                                              onClick: () => We("dice"),
                                              className: "w-full p-4 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg hover:bg-[#1a1a2e] hover:border-[#00f0ff] hover:shadow-[0_0_20px_rgba(0,240,255,0.3)] transition-all text-left",
                                              children: E.jsxs("div", {
                                                className: "flex items-center gap-3",
                                                children: [
                                                  E.jsx(px, {
                                                    size: 24,
                                                    className: "text-[#00f0ff]"
                                                  }),
                                                  E.jsxs("div", {
                                                    children: [
                                                      E.jsx("p", {
                                                        className: "text-sm font-bold text-[#00f0ff]",
                                                        children: "\u{1F3B2} Dice Rolls"
                                                      }),
                                                      E.jsx("p", {
                                                        className: "text-[10px] text-[#6ef3f7]",
                                                        children: "Roll physical dice 99+ times"
                                                      })
                                                    ]
                                                  })
                                                ]
                                              })
                                            }),
                                            E.jsx("button", {
                                              onClick: () => We("audio"),
                                              className: "w-full p-4 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg hover:bg-[#1a1a2e] hover:border-[#00f0ff] hover:shadow-[0_0_20px_rgba(0,240,255,0.3)] transition-all text-left",
                                              children: E.jsxs("div", {
                                                className: "flex items-center gap-3",
                                                children: [
                                                  E.jsx(gx, {
                                                    size: 24,
                                                    className: "text-[#00f0ff]"
                                                  }),
                                                  E.jsxs("div", {
                                                    className: "flex-1",
                                                    children: [
                                                      E.jsxs("div", {
                                                        className: "flex items-center gap-2",
                                                        children: [
                                                          E.jsx("p", {
                                                            className: "text-sm font-bold text-[#00f0ff]",
                                                            children: "\u{1F3A4} Audio Noise"
                                                          }),
                                                          E.jsx("span", {
                                                            className: "px-2 py-0.5 bg-[#ff006e] text-white text-[9px] rounded font-bold",
                                                            children: "BETA"
                                                          })
                                                        ]
                                                      }),
                                                      E.jsx("p", {
                                                        className: "text-[10px] text-[#6ef3f7]",
                                                        children: "Capture ambient sound entropy"
                                                      })
                                                    ]
                                                  })
                                                ]
                                              })
                                            }),
                                            E.jsx("button", {
                                              onClick: () => We("randomorg"),
                                              className: "w-full p-4 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg hover:bg-[#1a1a2e] hover:border-[#00f0ff] hover:shadow-[0_0_20px_rgba(0,240,255,0.3)] transition-all text-left",
                                              children: E.jsxs("div", {
                                                className: "flex items-center gap-3",
                                                children: [
                                                  E.jsx(px, {
                                                    size: 24,
                                                    className: "text-[#00f0ff]"
                                                  }),
                                                  E.jsxs("div", {
                                                    children: [
                                                      E.jsx("p", {
                                                        className: "text-sm font-bold text-[#00f0ff]",
                                                        children: "\u{1F310} Random.org D6"
                                                      }),
                                                      E.jsx("p", {
                                                        className: "text-[10px] text-[#6ef3f7]",
                                                        children: "Manual entropy via random.org"
                                                      })
                                                    ]
                                                  })
                                                ]
                                              })
                                            })
                                          ]
                                        }),
                                        E.jsxs("div", {
                                          className: "flex items-start gap-2 p-3 bg-[#16213e] border border-[#00f0ff]/30 rounded-lg",
                                          children: [
                                            E.jsx(Dl, {
                                              size: 14,
                                              className: "text-[#00f0ff] shrink-0 mt-0.5"
                                            }),
                                            E.jsxs("p", {
                                              className: "text-[10px] text-[#6ef3f7]",
                                              children: [
                                                E.jsx("strong", {
                                                  className: "text-[#00f0ff]",
                                                  children: "Privacy:"
                                                }),
                                                " All processing happens locally in your browser. Images/audio never stored or transmitted. This app is 100% stateless."
                                              ]
                                            })
                                          ]
                                        })
                                      ]
                                    }),
                                    Ze === "camera" && !wt && E.jsx(iP, {
                                      wordCount: Wr,
                                      onEntropyGenerated: ii,
                                      onCancel: () => We(null),
                                      interactionEntropy: ro.current
                                    }, `camera-${ke}`),
                                    Ze === "dice" && !wt && E.jsx(sP, {
                                      wordCount: Wr,
                                      onEntropyGenerated: ii,
                                      onCancel: () => We(null),
                                      interactionEntropy: ro.current
                                    }, `dice-${ke}`),
                                    Ze === "audio" && !wt && E.jsxs("div", {
                                      className: "p-6 bg-[#16213e] rounded-xl border-2 border-[#ff006e] text-center",
                                      children: [
                                        E.jsx("p", {
                                          className: "text-sm text-[#ff006e]",
                                          children: "Audio entropy coming soon..."
                                        }),
                                        E.jsx("button", {
                                          onClick: () => We(null),
                                          className: "mt-4 px-4 py-2 bg-[#16213e] border-2 border-[#ff006e] text-[#ff006e] rounded-lg text-sm hover:bg-[#ff006e]/20 transition-all",
                                          children: "Back"
                                        })
                                      ]
                                    }),
                                    Ze === "audio" && !wt && E.jsx(fP, {
                                      wordCount: Wr,
                                      onEntropyGenerated: ii,
                                      onCancel: () => We(null),
                                      interactionEntropy: ro.current
                                    }, `audio-${ke}`),
                                    Ze === "randomorg" && !wt && E.jsx(xP, {
                                      wordCount: Wr,
                                      onEntropyGenerated: ii,
                                      onCancel: () => We(null),
                                      interactionEntropy: ro.current
                                    }, `randomorg-${ke}`),
                                    wt && E.jsxs("div", {
                                      className: "space-y-4",
                                      children: [
                                        E.jsxs("div", {
                                          className: "p-6 bg-[#0a0a0f] border-2 border-[#39ff14] rounded-lg shadow-[0_0_30px_rgba(57,255,20,0.4)] space-y-4 animate-in zoom-in-95",
                                          children: [
                                            E.jsx("div", {
                                              className: "flex items-center justify-between",
                                              children: E.jsxs("span", {
                                                className: "font-bold text-sm text-[#39ff14] flex items-center gap-2",
                                                style: {
                                                  textShadow: "0 0 10px rgba(57,255,20,0.8)"
                                                },
                                                children: [
                                                  E.jsx(ha, {
                                                    size: 20
                                                  }),
                                                  " Generated Successfully"
                                                ]
                                              })
                                            }),
                                            E.jsxs("div", {
                                              className: "relative",
                                              children: [
                                                E.jsx("p", {
                                                  className: "font-mono text-xs text-[#39ff14] break-words leading-relaxed blur-sensitive",
                                                  title: "Hover to reveal seed",
                                                  style: {
                                                    textShadow: "0 0 5px rgba(57,255,20,0.5)"
                                                  },
                                                  children: wt
                                                }),
                                                E.jsx("p", {
                                                  className: "text-[9px] text-[#6ef3f7] mt-2 text-center",
                                                  children: "\u{1F446} Hover to reveal - Write down securely"
                                                })
                                              ]
                                            })
                                          ]
                                        }),
                                        E.jsxs("div", {
                                          className: "space-y-3",
                                          children: [
                                            E.jsx("label", {
                                              className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest block text-center",
                                              style: {
                                                textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                              },
                                              children: "Send Generated Seed To"
                                            }),
                                            E.jsxs("div", {
                                              className: "grid grid-cols-2 gap-3 max-w-sm mx-auto",
                                              children: [
                                                E.jsxs("label", {
                                                  className: `p-3 md:p-4 rounded-lg border-2 cursor-pointer transition-all ${dr === "backup" ? "bg-[#1a1a2e] border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] border-[#00f0ff]/30 hover:border-[#00f0ff]/50"}`,
                                                  children: [
                                                    E.jsx("input", {
                                                      type: "radio",
                                                      name: "destination",
                                                      value: "backup",
                                                      checked: dr === "backup",
                                                      onChange: (Ee) => q(Ee.target.value),
                                                      className: "hidden"
                                                    }),
                                                    E.jsxs("div", {
                                                      className: "flex flex-col items-center justify-center gap-1 md:gap-2",
                                                      children: [
                                                        E.jsx(ll, {
                                                          className: `w-5 h-5 md:w-6 md:h-6 transition-colors ${dr === "backup" ? "text-[#00f0ff]" : "text-[#9d84b7]"}`
                                                        }),
                                                        E.jsx("div", {
                                                          className: `text-xs md:text-sm font-bold ${dr === "backup" ? "text-[#00f0ff]" : "text-[#9d84b7]"}`,
                                                          children: "Backup"
                                                        }),
                                                        E.jsx("p", {
                                                          className: "text-[10px] text-[#6ef3f7]",
                                                          children: "Encrypt immediately"
                                                        })
                                                      ]
                                                    })
                                                  ]
                                                }),
                                                E.jsxs("label", {
                                                  className: `p-3 md:p-4 rounded-lg border-2 cursor-pointer transition-all ${dr === "seedblender" ? "bg-[#1a1a2e] border-[#ff006e] shadow-[0_0_15px_rgba(255,0,110,0.5)]" : "bg-[#16213e] border-[#00f0ff]/30 hover:border-[#00f0ff]/50"}`,
                                                  children: [
                                                    E.jsx("input", {
                                                      type: "radio",
                                                      name: "destination",
                                                      value: "seedblender",
                                                      checked: dr === "seedblender",
                                                      onChange: (Ee) => q(Ee.target.value),
                                                      className: "hidden"
                                                    }),
                                                    E.jsxs("div", {
                                                      className: "flex flex-col items-center justify-center gap-1 md:gap-2",
                                                      children: [
                                                        E.jsx(px, {
                                                          className: `w-5 h-5 md:w-6 md:h-6 transition-colors ${dr === "seedblender" ? "text-[#00f0ff]" : "text-[#9d84b7]"}`
                                                        }),
                                                        E.jsx("div", {
                                                          className: `text-xs md:text-sm font-bold ${dr === "seedblender" ? "text-[#00f0ff]" : "text-[#9d84b7]"}`,
                                                          children: "Seed Blender"
                                                        }),
                                                        E.jsx("p", {
                                                          className: "text-[10px] text-[#6ef3f7]",
                                                          children: "Use for XOR blending"
                                                        })
                                                      ]
                                                    })
                                                  ]
                                                })
                                              ]
                                            })
                                          ]
                                        }),
                                        E.jsxs("button", {
                                          onClick: Bs,
                                          className: "w-full py-2.5 bg-[#1a1a2e] border-2 border-[#ff006e] text-[#00f0ff] text-xs md:text-sm rounded-lg font-bold uppercase tracking-wide hover:shadow-[0_0_25px_rgba(255,0,110,0.7)] active:scale-95 transition-all disabled:opacity-50 disabled:cursor-not-allowed shadow-[0_0_15px_rgba(255,0,110,0.5)]",
                                          style: {
                                            textShadow: "0 0 8px rgba(0,240,255,0.7)"
                                          },
                                          children: [
                                            "Continue to ",
                                            dr === "backup" ? "Backup" : "Seed Blender"
                                          ]
                                        }),
                                        E.jsx("button", {
                                          onClick: () => {
                                            _n(""), We(null), to(null);
                                          },
                                          className: "w-full py-2 bg-[#16213e] border-2 border-[#00f0ff] text-[#00f0ff] rounded-lg text-sm font-bold hover:bg-[#00f0ff]/20 transition-all",
                                          children: "Generate Another Seed"
                                        })
                                      ]
                                    })
                                  ]
                                }),
                                E.jsxs("div", {
                                  className: e === "backup" ? "block" : "hidden",
                                  children: [
                                    E.jsxs("div", {
                                      className: "space-y-2",
                                      children: [
                                        E.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "BIP39 Mnemonic"
                                        }),
                                        E.jsxs("div", {
                                          className: "relative",
                                          children: [
                                            E.jsx("textarea", {
                                              value: r,
                                              onChange: (Ee) => n(Ee.target.value),
                                              onFocus: (Ee) => Ee.target.classList.remove("blur-sensitive"),
                                              onBlur: (Ee) => r && Ee.target.classList.add("blur-sensitive"),
                                              placeholder: "Enter your 12 or 24 word seed phrase...",
                                              className: `w-full h-32 p-3 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-sm text-[#00f0ff] placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all relative overflow-hidden ${r ? "blur-sensitive" : ""}`,
                                              style: {
                                                backgroundImage: "repeating-linear-gradient(0deg, rgba(0,240,255,0.03) 0px, transparent 1px, transparent 2px, rgba(0,240,255,0.03) 3px)",
                                                textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                              },
                                              "data-sensitive": "BIP39 Mnemonic",
                                              readOnly: Y
                                            }),
                                            r && E.jsx("p", {
                                              className: "text-[9px] text-[#6ef3f7] mt-1",
                                              children: "\u{1F446} Hover or click to reveal"
                                            })
                                          ]
                                        })
                                      ]
                                    }),
                                    E.jsx(Dp, {
                                      label: "PGP Public Key (Optional)",
                                      icon: kp,
                                      placeholder: `-----BEGIN PGP PUBLIC KEY BLOCK-----

Paste or drag & drop your public key...`,
                                      value: u,
                                      onChange: x,
                                      readOnly: Y
                                    })
                                  ]
                                }),
                                E.jsxs("div", {
                                  className: e === "restore" ? "block" : "hidden",
                                  children: [
                                    E.jsxs("div", {
                                      className: "space-y-4",
                                      children: [
                                        E.jsx("div", {
                                          className: `border-2 border-dashed rounded-lg p-6 text-center transition-colors ${$ ? "border-[#ff006e] bg-[#1a1a2e] shadow-[0_0_30px_rgba(255,0,110,0.5)]" : "border-[#00f0ff50] bg-[#16213e] hover:border-[#00f0ff] hover:bg-[#1a1a2e]"}`,
                                          onDrop: Cs,
                                          onDragOver: si,
                                          onDragLeave: qd,
                                          children: E.jsxs("div", {
                                            className: "space-y-2",
                                            children: [
                                              E.jsx("div", {
                                                className: "text-4xl",
                                                children: "\u{1F4CE}"
                                              }),
                                              E.jsx("p", {
                                                className: "text-xs text-[#00f0ff] font-medium",
                                                style: {
                                                  textShadow: "0 0 10px rgba(0,240,255,0.5)"
                                                },
                                                children: "Drag & drop file or click Browse"
                                              }),
                                              E.jsx("p", {
                                                className: "text-[10px] text-[#6ef3f7]",
                                                children: "QR image, PGP armor, hex, numeric"
                                              }),
                                              E.jsxs("div", {
                                                className: "flex gap-2 justify-center pt-1",
                                                children: [
                                                  E.jsxs("label", {
                                                    className: "px-3 py-1.5 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-xs font-medium text-[#00f0ff] hover:bg-[#1a1a2e] hover:shadow-[0_0_15px_rgba(0,240,255,0.3)] cursor-pointer transition-all flex items-center gap-2",
                                                    children: [
                                                      "\u{1F4C1} Browse",
                                                      E.jsx("input", {
                                                        type: "file",
                                                        accept: "image/*,.txt,.asc",
                                                        className: "hidden",
                                                        onChange: (Ee) => {
                                                          var _a;
                                                          return ((_a = Ee.target.files) == null ? void 0 : _a.length) && oo(Ee.target.files[0]);
                                                        }
                                                      })
                                                    ]
                                                  }),
                                                  E.jsx("button", {
                                                    onClick: () => W(true),
                                                    className: "px-3 py-1.5 bg-transparent text-[#00f0ff] rounded-lg font-medium border-2 border-[#00f0ff] hover:bg-[#00f0ff]/10 hover:shadow-[0_0_20px_rgba(0,240,255,0.5)] transition-all flex items-center gap-2 text-xs",
                                                    children: "\u{1F4F7} Scan QR"
                                                  }),
                                                  "                        "
                                                ]
                                              })
                                            ]
                                          })
                                        }),
                                        E.jsx("textarea", {
                                          className: "w-full p-3 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-sm text-[#00f0ff] placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all relative overflow-hidden",
                                          rows: 6,
                                          placeholder: "Or paste encrypted data here...",
                                          value: w,
                                          onChange: (Ee) => _(Ee.target.value),
                                          style: {
                                            backgroundImage: "repeating-linear-gradient(0deg, rgba(0,240,255,0.03) 0px, transparent 1px, transparent 2px, rgba(0,240,255,0.03) 3px)",
                                            textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                          }
                                        }),
                                        S && E.jsxs("p", {
                                          className: "text-xs text-[#00f0ff] flex items-center gap-1",
                                          children: [
                                            E.jsx(Dl, {
                                              size: 14
                                            }),
                                            "Detected: ",
                                            S.toUpperCase(),
                                            " format"
                                          ]
                                        })
                                      ]
                                    }),
                                    E.jsx(Dp, {
                                      label: "PGP Private Key (Optional)",
                                      icon: kp,
                                      "data-sensitive": "PGP Private Key",
                                      placeholder: `-----BEGIN PGP PRIVATE KEY BLOCK-----

Paste or drag & drop your private key...`,
                                      value: f,
                                      onChange: h,
                                      readOnly: Y
                                    }),
                                    f && E.jsxs("div", {
                                      className: "space-y-2",
                                      children: [
                                        E.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "Private Key Passphrase"
                                        }),
                                        E.jsxs("div", {
                                          className: "relative",
                                          children: [
                                            E.jsx(ll, {
                                              className: "absolute left-3 top-3 text-[#6ef3f7]",
                                              size: 16
                                            }),
                                            E.jsx("input", {
                                              type: "password",
                                              "data-sensitive": "Message Password",
                                              className: `w-full pl-10 pr-4 py-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-[#00f0ff] text-xs placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all ${Y ? "blur-sm select-none" : ""}`,
                                              style: {
                                                textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                              },
                                              placeholder: "Unlock private key...",
                                              value: p,
                                              onChange: (Ee) => m(Ee.target.value),
                                              readOnly: Y
                                            })
                                          ]
                                        })
                                      ]
                                    })
                                  ]
                                }),
                                E.jsx("div", {
                                  className: e === "seedblender" ? "block" : "hidden",
                                  children: E.jsx(oP, {
                                    onDirtyStateChange: () => {
                                    },
                                    setMnemonicForBackup: n,
                                    requestTabChange: jc,
                                    incomingSeed: Z,
                                    onSeedReceived: () => ne("")
                                  }, ce)
                                })
                              ]
                            }),
                            e !== "seedblender" && e !== "create" && E.jsxs("div", {
                              className: "space-y-2",
                              children: [
                                " ",
                                E.jsxs("label", {
                                  className: "text-xs font-semibold text-[#00f0ff] flex items-center gap-2",
                                  style: {
                                    textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                  },
                                  children: [
                                    E.jsx(ll, {
                                      size: 14
                                    }),
                                    " SECURITY OPTIONS"
                                  ]
                                }),
                                E.jsxs("div", {
                                  className: "p-5 bg-[#16213e] rounded-2xl border-2 border-[#00f0ff]/30 shadow-[0_0_20px_rgba(0,240,255,0.2)] space-y-4",
                                  children: [
                                    E.jsxs("div", {
                                      className: "space-y-2",
                                      children: [
                                        E.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "Encryption Mode"
                                        }),
                                        E.jsxs("select", {
                                          value: Qe,
                                          onChange: (Ee) => Le(Ee.target.value),
                                          disabled: Y,
                                          className: "w-full px-3 py-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-[#00f0ff] text-xs focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all appearance-none bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgPHBhdGggZD0iTTEgMUw2IDZMMTEgMSIgc3Ryb2tlPSIjMDBmMGZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==')] bg-[length:12px] bg-[position:right_12px_center] bg-no-repeat pr-10",
                                          style: {
                                            textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                          },
                                          children: [
                                            E.jsx("option", {
                                              value: "pgp",
                                              children: "PGP (Asymmetric)"
                                            }),
                                            E.jsx("option", {
                                              value: "krux",
                                              children: "Krux KEF (Passphrase)"
                                            }),
                                            E.jsx("option", {
                                              value: "seedqr",
                                              children: "SeedQR (Unencrypted)"
                                            })
                                          ]
                                        }),
                                        E.jsx("p", {
                                          className: "text-[10px] text-[#6ef3f7] mt-1",
                                          children: Qe === "pgp" ? "Uses PGP keys or password" : "Uses passphrase only (Krux compatible)"
                                        })
                                      ]
                                    }),
                                    Qe === "seedqr" && E.jsxs("div", {
                                      className: "space-y-2 pt-2",
                                      children: [
                                        E.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "SeedQR Format"
                                        }),
                                        E.jsxs("select", {
                                          value: ft,
                                          onChange: (Ee) => rt(Ee.target.value),
                                          disabled: Y,
                                          className: "w-full px-3 py-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-[#00f0ff] text-xs focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all appearance-none bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgPHBhdGggZD0iTTEgMUw2IDZMMTEgMSIgc3Ryb2tlPSIjMDBmMGZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==')] bg-[length:12px] bg-[position:right_12px_center] bg-no-repeat pr-10",
                                          style: {
                                            textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                          },
                                          children: [
                                            E.jsx("option", {
                                              value: "standard",
                                              children: "Standard (Numeric)"
                                            }),
                                            E.jsx("option", {
                                              value: "compact",
                                              children: "Compact (Binary)"
                                            })
                                          ]
                                        }),
                                        E.jsx("p", {
                                          className: "text-[10px] text-[#6ef3f7] mt-1",
                                          children: ft === "standard" ? "Numeric format, human-readable." : "Compact binary format, smaller QR code."
                                        })
                                      ]
                                    }),
                                    Qe === "krux" && e === "backup" && E.jsx(E.Fragment, {}),
                                    E.jsxs("div", {
                                      className: "space-y-2",
                                      children: [
                                        E.jsx("label", {
                                          className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                          style: {
                                            textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                          },
                                          children: "MESSAGE PASSWORD"
                                        }),
                                        E.jsxs("div", {
                                          className: "relative",
                                          children: [
                                            E.jsx(ll, {
                                              className: "absolute left-3 top-3 text-[#6ef3f7]",
                                              size: 16
                                            }),
                                            E.jsx("input", {
                                              type: "password",
                                              className: `w-full pl-10 pr-4 py-2 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg text-[#00f0ff] text-xs placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all ${Y ? "blur-sm select-none" : ""}`,
                                              style: {
                                                textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                              },
                                              placeholder: Qe === "krux" ? "Required for Krux encryption" : "Optional password...",
                                              value: e === "backup" ? a : l,
                                              onChange: (Ee) => e === "backup" ? i(Ee.target.value) : c(Ee.target.value),
                                              readOnly: Y
                                            })
                                          ]
                                        }),
                                        E.jsx("p", {
                                          className: "text-[10px] text-[#6ef3f7] mt-1",
                                          children: Qe === "krux" ? "Required passphrase for Krux encryption" : "Symmetric encryption password (SKESK)"
                                        })
                                      ]
                                    }),
                                    E.jsx("div", {
                                      className: "pt-3 border-t border-[#00f0ff]/30",
                                      children: E.jsxs("div", {
                                        className: "flex items-start gap-2 text-xs text-[#6ef3f7]",
                                        children: [
                                          E.jsx(Dl, {
                                            size: 14,
                                            className: "shrink-0 mt-0.5"
                                          }),
                                          E.jsxs("p", {
                                            children: [
                                              E.jsx("strong", {
                                                children: "Krux Compatible Mode:"
                                              }),
                                              E.jsx("br", {}),
                                              "Uses wallet fingerprint as salt and 100,000 iterations (Krux defaults)."
                                            ]
                                          })
                                        ]
                                      })
                                    }),
                                    e === "backup" && E.jsx("div", {
                                      className: "pt-3 border-t border-[#00f0ff]/30",
                                      children: E.jsxs("label", {
                                        className: "flex items-center gap-2 cursor-pointer group",
                                        children: [
                                          E.jsx("input", {
                                            type: "checkbox",
                                            checked: y,
                                            onChange: (Ee) => B(Ee.target.checked),
                                            disabled: Y,
                                            className: "rounded text-[#00f0ff] focus:ring-2 focus:ring-[#00f0ff] transition-all"
                                          }),
                                          E.jsx("span", {
                                            className: "text-xs font-medium text-[#6ef3f7] group-hover:text-[#00f0ff] transition-colors",
                                            children: "BIP39 25th word active"
                                          })
                                        ]
                                      })
                                    })
                                  ]
                                }),
                                e === "backup" ? E.jsxs("button", {
                                  onClick: Nc,
                                  disabled: !r || z || Y,
                                  className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase tracking-wider flex items-center justify-center gap-2 hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] active:scale-95 transition-all disabled:opacity-50 disabled:cursor-not-allowed border border-[#ff006e]",
                                  style: {
                                    textShadow: "0 0 10px rgba(255,255,255,0.8)"
                                  },
                                  children: [
                                    z ? E.jsx(zx, {
                                      className: "animate-spin",
                                      size: 20
                                    }) : E.jsx(jx, {
                                      size: 20
                                    }),
                                    z ? "Generating..." : "Generate QR Backup"
                                  ]
                                }) : E.jsxs("button", {
                                  onClick: li,
                                  disabled: !w || z || Y,
                                  className: "w-full py-3 bg-gradient-to-r from-[#ff006e] to-[#ff4d8f] text-white text-sm rounded-xl font-bold uppercase tracking-wider flex items-center justify-center gap-2 hover:shadow-[0_0_30px_rgba(255,0,110,0.8)] active:scale-95 transition-all disabled:opacity-50 disabled:cursor-not-allowed border border-[#ff006e]",
                                  style: {
                                    textShadow: "0 0 10px rgba(255,255,255,0.8)"
                                  },
                                  children: [
                                    z ? E.jsx(zx, {
                                      className: "animate-spin",
                                      size: 20
                                    }) : E.jsx(wb, {
                                      size: 20
                                    }),
                                    z ? "Decrypting..." : "Decrypt & Restore"
                                  ]
                                })
                              ]
                            }),
                            "             "
                          ]
                        }),
                        v && e === "backup" && E.jsxs("div", {
                          className: "pt-6 border-t border-[#00f0ff]/20 space-y-6 animate-in fade-in slide-in-from-bottom-4",
                          children: [
                            E.jsx("div", {
                              className: Y ? "blur-lg" : "",
                              children: E.jsx(Eg, {
                                value: v
                              })
                            }),
                            E.jsxs("div", {
                              className: "space-y-2",
                              children: [
                                E.jsxs("div", {
                                  className: "flex items-center justify-between gap-3",
                                  children: [
                                    E.jsx("label", {
                                      className: "text-[10px] font-bold text-[#00f0ff] uppercase tracking-widest",
                                      style: {
                                        textShadow: "0 0 10px rgba(0,240,255,0.7)"
                                      },
                                      children: "Raw payload (copy for backup)"
                                    }),
                                    E.jsxs("button", {
                                      type: "button",
                                      onClick: () => Pc(v),
                                      className: "inline-flex items-center gap-2 px-3 py-1.5 rounded-lg bg-[#16213e] border-2 border-[#00f0ff]/50 text-[#00f0ff] text-xs font-medium hover:bg-[#1a1a2e] hover:shadow-[0_0_15px_rgba(0,240,255,0.3)] transition-all",
                                      children: [
                                        R ? E.jsx(ha, {
                                          size: 14
                                        }) : E.jsx(jx, {
                                          size: 14
                                        }),
                                        R ? "Copied" : "Copy"
                                      ]
                                    })
                                  ]
                                }),
                                E.jsx("textarea", {
                                  readOnly: true,
                                  value: typeof v == "string" ? v : Array.from(v).map((Ee) => Ee.toString(16).padStart(2, "0")).join(""),
                                  onFocus: (Ee) => Ee.currentTarget.select(),
                                  className: "w-full h-28 p-3 bg-[#16213e] border-2 border-[#00f0ff]/50 rounded-lg font-mono text-[10px] text-[#00f0ff] placeholder-[#9d84b7] focus:outline-none focus:border-[#ff006e] focus:shadow-[0_0_20px_rgba(255,0,110,0.5)] transition-all relative overflow-hidden",
                                  style: {
                                    backgroundImage: "repeating-linear-gradient(0deg, rgba(0,240,255,0.03) 0px, transparent 1px, transparent 2px, rgba(0,240,255,0.03) 3px)",
                                    textShadow: "0 0 5px rgba(0,240,255,0.5)"
                                  }
                                }),
                                E.jsx("p", {
                                  className: "text-[11px] text-[#6ef3f7]",
                                  children: "Tip: click the box to select all, or use Copy."
                                })
                              ]
                            })
                          ]
                        }),
                        T && e === "restore" && E.jsx("div", {
                          className: "pt-6 border-t border-[#00f0ff]/20 animate-in zoom-in-95",
                          children: E.jsxs("div", {
                            className: "p-6 bg-[#0a0a0f] border-2 border-[#39ff14] rounded-lg shadow-[0_0_30px_rgba(57,255,20,0.4)] relative overflow-hidden",
                            children: [
                              E.jsxs("div", {
                                className: "flex items-center justify-between mb-3",
                                children: [
                                  E.jsxs("span", {
                                    className: "font-bold text-[#39ff14] flex items-center gap-2 text-lg",
                                    style: {
                                      textShadow: "0 0 10px rgba(57,255,20,0.8)"
                                    },
                                    children: [
                                      E.jsx(ha, {
                                        size: 22
                                      }),
                                      " Mnemonic Recovered"
                                    ]
                                  }),
                                  E.jsxs("button", {
                                    onClick: () => N(null),
                                    className: "p-2.5 hover:bg-[#16213e] rounded-xl transition-all text-[#39ff14] hover:shadow-[0_0_15px_rgba(57,255,20,0.5)] flex items-center gap-2",
                                    children: [
                                      E.jsx(n9, {
                                        size: 22
                                      }),
                                      " Hide"
                                    ]
                                  })
                                ]
                              }),
                              E.jsx("div", {
                                className: "p-4 bg-[#0a0a0f] rounded-xl border-2 border-[#39ff14] shadow-[0_0_20px_rgba(57,255,20,0.3)]",
                                children: E.jsxs("div", {
                                  className: "relative",
                                  children: [
                                    E.jsx("p", {
                                      className: "font-mono text-center text-base break-words text-[#39ff14] blur-sensitive",
                                      title: "Hover to reveal",
                                      style: {
                                        textShadow: "0 0 8px rgba(57,255,20,0.8)"
                                      },
                                      children: T
                                    }),
                                    E.jsx("p", {
                                      className: "text-[9px] text-[#6ef3f7] mt-2 text-center",
                                      children: "\u{1F446} Hover to reveal decrypted seed"
                                    })
                                  ]
                                })
                              })
                            ]
                          })
                        })
                      ]
                    })
                  }),
                  " "
                ]
              }),
              E.jsx(nP, {
                appVersion: "1.4.7",
                buildHash: "4da39b7",
                buildTimestamp: "2026-02-19T14:31:53.931Z"
              }),
              O && E.jsx(wg, {
                onScanSuccess: Vd,
                onClose: Ba,
                onError: zc
              }),
              G && E.jsx("div", {
                className: "fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",
                onClick: () => ee(false),
                children: E.jsxs("div", {
                  className: "bg-[#1a1a2e] rounded-xl border-2 border-[#00f0ff]/30 p-6 max-w-md w-full mx-4 shadow-[0_0_30px_rgba(0,240,255,0.3)]",
                  onClick: (Ee) => Ee.stopPropagation(),
                  children: [
                    E.jsx("h3", {
                      className: "text-lg font-semibold text-[#00f0ff] mb-4",
                      children: "Security Limitations"
                    }),
                    E.jsx("div", {
                      className: "text-sm text-[#6ef3f7] space-y-2",
                      children: E.jsx(VI, {})
                    })
                  ]
                })
              }),
              te && E.jsx("div", {
                className: "fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",
                onClick: () => oe(false),
                children: E.jsxs("div", {
                  className: "bg-[#1a1a2e] rounded-xl border-2 border-[#00f0ff]/30 p-6 max-w-md w-full mx-4 shadow-[0_0_30px_rgba(0,240,255,0.3)]",
                  onClick: (Ee) => Ee.stopPropagation(),
                  children: [
                    E.jsx("h3", {
                      className: "text-lg font-semibold text-[#00f0ff] mb-4",
                      children: "Storage Details"
                    }),
                    E.jsx("div", {
                      className: "text-sm text-[#6ef3f7] space-y-2",
                      children: E.jsx(tP, {
                        localItems: de,
                        sessionItems: be
                      })
                    })
                  ]
                })
              }),
              ie && E.jsx("div", {
                className: "fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",
                onClick: () => xe(false),
                children: E.jsxs("div", {
                  className: "bg-[#1a1a2e] rounded-xl border-2 border-[#00f0ff]/30 p-6 max-w-md w-full mx-4 shadow-[0_0_30px_rgba(0,240,255,0.3)]",
                  onClick: (Ee) => Ee.stopPropagation(),
                  children: [
                    E.jsx("h3", {
                      className: "text-lg font-semibold text-[#00f0ff] mb-4",
                      children: "Clipboard Activity"
                    }),
                    E.jsx("div", {
                      className: "text-sm text-[#6ef3f7] space-y-2",
                      children: E.jsx(rP, {
                        events: Ce,
                        onClear: Ic
                      })
                    })
                  ]
                })
              }),
              Ue && E.jsx("div", {
                className: "fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",
                onClick: () => ge(false),
                children: E.jsxs("div", {
                  className: "bg-[#1a1a2e] rounded-xl border-2 border-[#ff006e] p-6 max-w-md w-full mx-4 shadow-[0_0_30px_rgba(255,0,110,0.3)]",
                  onClick: (Ee) => Ee.stopPropagation(),
                  children: [
                    E.jsxs("h3", {
                      className: "text-lg font-semibold text-[#ff006e] mb-4 flex items-center gap-2",
                      children: [
                        E.jsx(ll, {
                          className: "w-5 h-5 text-[#ff006e]"
                        }),
                        "Lock Sensitive Data?"
                      ]
                    }),
                    E.jsxs("div", {
                      className: "text-sm text-[#6ef3f7] space-y-3 mb-6",
                      children: [
                        E.jsx("p", {
                          children: "This will:"
                        }),
                        E.jsxs("ul", {
                          className: "list-disc list-inside space-y-1 text-[#9d84b7]",
                          children: [
                            E.jsx("li", {
                              children: "Blur all sensitive data (mnemonics, keys, passwords)"
                            }),
                            E.jsx("li", {
                              children: "Disable all inputs"
                            }),
                            E.jsx("li", {
                              children: "Prevent clipboard operations"
                            })
                          ]
                        }),
                        E.jsx("p", {
                          className: "text-xs text-[#6ef3f7] mt-2",
                          children: "Use this when showing the app to others or stepping away from your device."
                        })
                      ]
                    }),
                    E.jsxs("div", {
                      className: "flex gap-3",
                      children: [
                        E.jsx("button", {
                          className: "flex-1 py-2 bg-[#16213e] hover:bg-[#1a1a2e] text-[#6ef3f7] rounded-lg transition-all border-2 border-[#00f0ff]/30 hover:border-[#00f0ff]/50",
                          onClick: () => ge(false),
                          children: "Cancel"
                        }),
                        E.jsx("button", {
                          className: "flex-1 py-2 bg-[#ff006e] hover:bg-[#ff4d8f] text-white font-semibold rounded-lg transition-all hover:shadow-[0_0_15px_rgba(255,0,110,0.5)]",
                          onClick: () => Q(true),
                          children: "Lock Data"
                        })
                      ]
                    })
                  ]
                })
              })
            ]
          }),
          " "
        ]
      })
    });
  }
  console.log = () => {
  }, console.error = () => {
  }, console.warn = () => {
  }, console.debug = () => {
  }, console.info = () => {
  }, console.trace = () => {
  }, console.time = () => {
  }, console.timeEnd = () => {
  };
  sb.createRoot(document.getElementById("root")).render(E.jsx(fe.StrictMode, {
    children: E.jsx(hP, {})
  }));
  const cE = Object.freeze(Object.defineProperty({
    __proto__: null
  }, Symbol.toStringTag, {
    value: "Module"
  }));
})();
