lab-js/vendor/tasks-vision@0.10.35.jsjavascript
/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/@mediapipe/tasks-vision@0.10.35/vision_bundle.mjs
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
var t = "undefined" != typeof self ? self : {};
function e(e, n) {
  t: {
    for (var r = ["CLOSURE_FLAGS"], i = t, s = 0; s < r.length; s++)
      if (null == (i = i[r[s]])) {
        r = null;
        break t;
      }
    r = i;
  }
  return null != (e = r && r[e]) ? e : n;
}
function n() {
  throw Error("Invalid UTF8");
}
function r(t, e) {
  return ((e = String.fromCharCode.apply(null, e)), null == t ? e : t + e);
}
let i, s;
const o = "undefined" != typeof TextDecoder;
let a;
const c = "undefined" != typeof TextEncoder;
function h(t) {
  if (c) t = (a ||= new TextEncoder()).encode(t);
  else {
    let n = 0;
    const r = new Uint8Array(3 * t.length);
    for (let i = 0; i < t.length; i++) {
      var e = t.charCodeAt(i);
      if (e < 128) r[n++] = e;
      else {
        if (e < 2048) r[n++] = (e >> 6) | 192;
        else {
          if (e >= 55296 && e <= 57343) {
            if (e <= 56319 && i < t.length) {
              const s = t.charCodeAt(++i);
              if (s >= 56320 && s <= 57343) {
                ((e = 1024 * (e - 55296) + s - 56320 + 65536),
                  (r[n++] = (e >> 18) | 240),
                  (r[n++] = ((e >> 12) & 63) | 128),
                  (r[n++] = ((e >> 6) & 63) | 128),
                  (r[n++] = (63 & e) | 128));
                continue;
              }
              i--;
            }
            e = 65533;
          }
          ((r[n++] = (e >> 12) | 224), (r[n++] = ((e >> 6) & 63) | 128));
        }
        r[n++] = (63 & e) | 128;
      }
    }
    t = n === r.length ? r : r.subarray(0, n);
  }
  return t;
}
function u(e) {
  t.setTimeout(() => {
    throw e;
  }, 0);
}
var l,
  f = e(610401301, !1),
  d = e(748402147, !0);
function p() {
  var e = t.navigator;
  return e && (e = e.userAgent) ? e : "";
}
const g = t.navigator;
function m(t) {
  return (m[" "](t), t);
}
((l = (g && g.userAgentData) || null), (m[" "] = function () {}));
const y = {};
let _ = null;
function v(t) {
  const e = t.length;
  let n = (3 * e) / 4;
  n % 3
    ? (n = Math.floor(n))
    : -1 != "=.".indexOf(t[e - 1]) &&
      (n = -1 != "=.".indexOf(t[e - 2]) ? n - 2 : n - 1);
  const r = new Uint8Array(n);
  let i = 0;
  return (
    (function (t, e) {
      function n(e) {
        for (; r < t.length; ) {
          const e = t.charAt(r++),
            n = _[e];
          if (null != n) return n;
          if (!/^[\s\xa0]*$/.test(e))
            throw Error("Unknown base64 encoding at char: " + e);
        }
        return e;
      }
      E();
      let r = 0;
      for (;;) {
        const t = n(-1),
          r = n(0),
          i = n(64),
          s = n(64);
        if (64 === s && -1 === t) break;
        (e((t << 2) | (r >> 4)),
          64 != i &&
            (e(((r << 4) & 240) | (i >> 2)),
            64 != s && e(((i << 6) & 192) | s)));
      }
    })(t, function (t) {
      r[i++] = t;
    }),
    i !== n ? r.subarray(0, i) : r
  );
}
function E() {
  if (!_) {
    _ = {};
    var t =
        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(
          "",
        ),
      e = ["+/=", "+/", "-_=", "-_.", "-_"];
    for (let n = 0; n < 5; n++) {
      const r = t.concat(e[n].split(""));
      y[n] = r;
      for (let t = 0; t < r.length; t++) {
        const e = r[t];
        void 0 === _[e] && (_[e] = t);
      }
    }
  }
}
var w = "undefined" != typeof Uint8Array,
  T =
    !(
      !(f && l && l.brands.length > 0) &&
      (-1 != p().indexOf("Trident") || -1 != p().indexOf("MSIE"))
    ) && "function" == typeof btoa;
const A = /[-_.]/g,
  b = { "-": "+", _: "/", ".": "=" };
function k(t) {
  return b[t] || "";
}
function S(t) {
  if (!T) return v(t);
  ((t = A.test(t) ? t.replace(A, k) : t), (t = atob(t)));
  const e = new Uint8Array(t.length);
  for (let n = 0; n < t.length; n++) e[n] = t.charCodeAt(n);
  return e;
}
function x(t) {
  return w && null != t && t instanceof Uint8Array;
}
var L = {};
function R() {
  return (M ||= new F(null, L));
}
function I(t) {
  C(L);
  var e = t.g;
  return null ==
    (e = null == e || x(e) ? e : "string" == typeof e ? S(e) : null)
    ? e
    : (t.g = e);
}
var F = class {
  h() {
    return new Uint8Array(I(this) || 0);
  }
  constructor(t, e) {
    if ((C(e), (this.g = t), null != t && 0 === t.length))
      throw Error("ByteString should be constructed with non-empty values");
  }
};
let M, P;
function C(t) {
  if (t !== L) throw Error("illegal external caller");
}
function O(t, e) {
  (t.__closure__error__context__984382 ||
    (t.__closure__error__context__984382 = {}),
    (t.__closure__error__context__984382.severity = e));
}
function N(t) {
  return (O((t = Error(t)), "warning"), t);
}
function U(t, e) {
  if (null != t) {
    var n = (P ??= {}),
      r = n[t] || 0;
    r >= e || ((n[t] = r + 1), O((t = Error()), "incident"), u(t));
  }
}
function D() {
  return "function" == typeof BigInt;
}
var B = "function" == typeof Symbol && "symbol" == typeof Symbol();
function G(t, e, n = !1) {
  return "function" == typeof Symbol && "symbol" == typeof Symbol()
    ? n && Symbol.for && t
      ? Symbol.for(t)
      : null != t
        ? Symbol(t)
        : Symbol()
    : e;
}
var j = G("jas", void 0, !0),
  V = G(void 0, "0di"),
  X = G(void 0, "1oa"),
  H = G(void 0, Symbol()),
  W = G(void 0, "0ub"),
  z = G(void 0, "0ubs"),
  K = G(void 0, "0ubsb"),
  Y = G(void 0, "0actk"),
  q = G("m_m", "Pa", !0),
  $ = G();
const J = { Ga: { value: 0, configurable: !0, writable: !0, enumerable: !1 } },
  Z = Object.defineProperties,
  Q = B ? j : "Ga";
var tt;
const et = [];
function nt(t, e) {
  (B || Q in t || Z(t, J), (t[Q] |= e));
}
function rt(t, e) {
  (B || Q in t || Z(t, J), (t[Q] = e));
}
function it(t) {
  return (nt(t, 34), t);
}
function st(t) {
  return (nt(t, 8192), t);
}
(rt(et, 7), (tt = Object.freeze(et)));
var ot = {};
function at(t, e) {
  return void 0 === e
    ? t.h !== ct && !!(2 & (0 | t.v[Q]))
    : !!(2 & e) && t.h !== ct;
}
const ct = {};
function ht(t, e) {
  if (null != t)
    if ("string" == typeof t) t = t ? new F(t, L) : R();
    else if (t.constructor !== F)
      if (x(t)) t = t.length ? new F(new Uint8Array(t), L) : R();
      else {
        if (!e) throw Error();
        t = void 0;
      }
  return t;
}
class ut {
  constructor(t, e, n) {
    ((this.g = t), (this.h = e), (this.l = n));
  }
  next() {
    const t = this.g.next();
    return (t.done || (t.value = this.h.call(this.l, t.value)), t);
  }
  [Symbol.iterator]() {
    return this;
  }
}
var lt = Object.freeze({});
function ft(t, e, n) {
  const r = 128 & e ? 0 : -1,
    i = t.length;
  var s;
  (s = !!i) &&
    (s =
      null != (s = t[i - 1]) &&
      "object" == typeof s &&
      s.constructor === Object);
  const o = i + (s ? -1 : 0);
  for (e = 128 & e ? 1 : 0; e < o; e++) n(e - r, t[e]);
  if (s) {
    t = t[i - 1];
    for (const e in t) !isNaN(e) && n(+e, t[e]);
  }
}
var dt = {};
function pt(t) {
  return 128 & t ? dt : void 0;
}
function gt(t) {
  return ((t.Na = !0), t);
}
var mt = gt((t) => "number" == typeof t),
  yt = gt((t) => "string" == typeof t),
  _t = gt((t) => "boolean" == typeof t),
  vt = "function" == typeof t.BigInt && "bigint" == typeof t.BigInt(0);
function Et(t) {
  var e = t;
  if (yt(e)) {
    if (!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(e)) throw Error(String(e));
  } else if (mt(e) && !Number.isSafeInteger(e)) throw Error(String(e));
  return vt
    ? BigInt(t)
    : (t = _t(t) ? (t ? "1" : "0") : yt(t) ? t.trim() || "0" : String(t));
}
var wt = gt((t) =>
  vt ? t >= At && t <= kt : "-" === t[0] ? St(t, Tt) : St(t, bt),
);
const Tt = Number.MIN_SAFE_INTEGER.toString(),
  At = vt ? BigInt(Number.MIN_SAFE_INTEGER) : void 0,
  bt = Number.MAX_SAFE_INTEGER.toString(),
  kt = vt ? BigInt(Number.MAX_SAFE_INTEGER) : void 0;
function St(t, e) {
  if (t.length > e.length) return !1;
  if (t.length < e.length || t === e) return !0;
  for (let n = 0; n < t.length; n++) {
    const r = t[n],
      i = e[n];
    if (r > i) return !1;
    if (r < i) return !0;
  }
}
const xt = "function" == typeof Uint8Array.prototype.slice;
let Lt,
  Rt = 0,
  It = 0;
function Ft(t) {
  const e = t >>> 0;
  ((Rt = e), (It = ((t - e) / 4294967296) >>> 0));
}
function Mt(t) {
  if (t < 0) {
    Ft(-t);
    const [e, n] = jt(Rt, It);
    ((Rt = e >>> 0), (It = n >>> 0));
  } else Ft(t);
}
function Pt(t) {
  const e = (Lt ||= new DataView(new ArrayBuffer(8)));
  (e.setFloat32(0, +t, !0), (It = 0), (Rt = e.getUint32(0, !0)));
}
function Ct(t, e) {
  const n = 4294967296 * e + (t >>> 0);
  return Number.isSafeInteger(n) ? n : Ut(t, e);
}
function Ot(t, e) {
  return Et(
    D()
      ? BigInt.asUintN(64, (BigInt(e >>> 0) << BigInt(32)) + BigInt(t >>> 0))
      : Ut(t, e),
  );
}
function Nt(t, e) {
  return D()
    ? Et(
        BigInt.asIntN(
          64,
          (BigInt.asUintN(32, BigInt(e)) << BigInt(32)) +
            BigInt.asUintN(32, BigInt(t)),
        ),
      )
    : Et(Bt(t, e));
}
function Ut(t, e) {
  if (((t >>>= 0), (e >>>= 0) <= 2097151)) var n = "" + (4294967296 * e + t);
  else
    D()
      ? (n = "" + ((BigInt(e) << BigInt(32)) | BigInt(t)))
      : ((t =
          (16777215 & t) +
          6777216 * (n = 16777215 & ((t >>> 24) | (e << 8))) +
          6710656 * (e = (e >> 16) & 65535)),
        (n += 8147497 * e),
        (e *= 2),
        t >= 1e7 && ((n += (t / 1e7) >>> 0), (t %= 1e7)),
        n >= 1e7 && ((e += (n / 1e7) >>> 0), (n %= 1e7)),
        (n = e + Dt(n) + Dt(t)));
  return n;
}
function Dt(t) {
  return ((t = String(t)), "0000000".slice(t.length) + t);
}
function Bt(t, e) {
  if (2147483648 & e)
    if (D()) t = "" + ((BigInt(0 | e) << BigInt(32)) | BigInt(t >>> 0));
    else {
      const [n, r] = jt(t, e);
      t = "-" + Ut(n, r);
    }
  else t = Ut(t, e);
  return t;
}
function Gt(t) {
  if (t.length < 16) Mt(Number(t));
  else if (D())
    ((t = BigInt(t)),
      (Rt = Number(t & BigInt(4294967295)) >>> 0),
      (It = Number((t >> BigInt(32)) & BigInt(4294967295))));
  else {
    const e = +("-" === t[0]);
    It = Rt = 0;
    const n = t.length;
    for (let r = e, i = ((n - e) % 6) + e; i <= n; r = i, i += 6) {
      const e = Number(t.slice(r, i));
      ((It *= 1e6),
        (Rt = 1e6 * Rt + e),
        Rt >= 4294967296 &&
          ((It += Math.trunc(Rt / 4294967296)), (It >>>= 0), (Rt >>>= 0)));
    }
    if (e) {
      const [t, e] = jt(Rt, It);
      ((Rt = t), (It = e));
    }
  }
}
function jt(t, e) {
  return ((e = ~e), t ? (t = 1 + ~t) : (e += 1), [t, e]);
}
function Vt(t) {
  return Array.prototype.slice.call(t);
}
const Xt = "function" == typeof BigInt ? BigInt.asIntN : void 0,
  Ht = "function" == typeof BigInt ? BigInt.asUintN : void 0,
  Wt = Number.isSafeInteger,
  zt = Number.isFinite,
  Kt = Math.trunc,
  Yt = Et(0);
function qt(t) {
  if (null != t && "number" != typeof t)
    throw Error(
      `Value of float/double field must be a number, found ${typeof t}: ${t}`,
    );
  return t;
}
function $t(t) {
  return null == t || "number" == typeof t
    ? t
    : "NaN" === t || "Infinity" === t || "-Infinity" === t
      ? Number(t)
      : void 0;
}
function Jt(t) {
  if (null != t && "boolean" != typeof t) {
    var e = typeof t;
    throw Error(
      `Expected boolean but got ${"object" != e ? e : t ? (Array.isArray(t) ? "array" : e) : "null"}: ${t}`,
    );
  }
  return t;
}
function Zt(t) {
  return null == t || "boolean" == typeof t
    ? t
    : "number" == typeof t
      ? !!t
      : void 0;
}
const Qt = /^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;
function te(t) {
  switch (typeof t) {
    case "bigint":
      return !0;
    case "number":
      return zt(t);
    case "string":
      return Qt.test(t);
    default:
      return !1;
  }
}
function ee(t) {
  if (null == t) return t;
  if ("string" == typeof t && t) t = +t;
  else if ("number" != typeof t) return;
  return zt(t) ? 0 | t : void 0;
}
function ne(t) {
  if (null == t) return t;
  if ("string" == typeof t && t) t = +t;
  else if ("number" != typeof t) return;
  return zt(t) ? t >>> 0 : void 0;
}
function re(t) {
  const e = t.length;
  return (
    "-" === t[0]
      ? e < 20 || (20 === e && t <= "-9223372036854775808")
      : e < 19 || (19 === e && t <= "9223372036854775807")
  )
    ? t
    : (Gt(t), Bt(Rt, It));
}
function ie(t) {
  if (((t = Kt(t)), !Wt(t))) {
    Mt(t);
    var e = Rt,
      n = It;
    ((t = 2147483648 & n) &&
      ((n = ~n >>> 0), 0 == (e = (1 + ~e) >>> 0) && (n = (n + 1) >>> 0)),
      (t = "number" == typeof (e = Ct(e, n)) ? (t ? -e : e) : t ? "-" + e : e));
  }
  return t;
}
function se(t) {
  var e = Kt(Number(t));
  return Wt(e)
    ? String(e)
    : (-1 !== (e = t.indexOf(".")) && (t = t.substring(0, e)), re(t));
}
function oe(t) {
  var e = Kt(Number(t));
  return Wt(e)
    ? Et(e)
    : (-1 !== (e = t.indexOf(".")) && (t = t.substring(0, e)),
      D() ? Et(Xt(64, BigInt(t))) : Et(re(t)));
}
function ae(t) {
  return (
    Wt(t)
      ? (t = Et(ie(t)))
      : ((t = Kt(t)),
        Wt(t) ? (t = String(t)) : (Mt(t), (t = Bt(Rt, It))),
        (t = Et(t))),
    t
  );
}
function ce(t) {
  const e = typeof t;
  return null == t
    ? t
    : "bigint" === e
      ? Et(Xt(64, t))
      : te(t)
        ? "string" === e
          ? oe(t)
          : ae(t)
        : void 0;
}
function he(t) {
  if ("string" != typeof t) throw Error();
  return t;
}
function ue(t) {
  if (null != t && "string" != typeof t) throw Error();
  return t;
}
function le(t) {
  return null == t || "string" == typeof t ? t : void 0;
}
function fe(t, e, n, r) {
  return null != t && t[q] === ot
    ? t
    : Array.isArray(t)
      ? ((r = (n = 0 | t[Q]) | (32 & r) | (2 & r)) !== n && rt(t, r), new e(t))
      : (n
          ? 2 & r
            ? ((t = e[V]) || (it((t = new e()).v), (t = e[V] = t)), (e = t))
            : (e = new e())
          : (e = void 0),
        e);
}
function de(t, e, n) {
  if (e)
    t: {
      if (!te((e = t))) throw N("int64");
      switch (typeof e) {
        case "string":
          e = oe(e);
          break t;
        case "bigint":
          e = Et(Xt(64, e));
          break t;
        default:
          e = ae(e);
      }
    }
  else e = ce(t);
  return null == (t = e) ? (n ? Yt : void 0) : t;
}
const pe = {};
let ge = (function () {
  try {
    return (
      m(
        new (class extends Map {
          constructor() {
            super();
          }
        })(),
      ),
      !1
    );
  } catch {
    return !0;
  }
})();
class me {
  constructor() {
    this.g = new Map();
  }
  get(t) {
    return this.g.get(t);
  }
  set(t, e) {
    return (this.g.set(t, e), (this.size = this.g.size), this);
  }
  delete(t) {
    return ((t = this.g.delete(t)), (this.size = this.g.size), t);
  }
  clear() {
    (this.g.clear(), (this.size = this.g.size));
  }
  has(t) {
    return this.g.has(t);
  }
  entries() {
    return this.g.entries();
  }
  keys() {
    return this.g.keys();
  }
  values() {
    return this.g.values();
  }
  forEach(t, e) {
    return this.g.forEach(t, e);
  }
  [Symbol.iterator]() {
    return this.entries();
  }
}
const ye = ge
  ? (Object.setPrototypeOf(me.prototype, Map.prototype),
    Object.defineProperties(me.prototype, {
      size: { value: 0, configurable: !0, enumerable: !0, writable: !0 },
    }),
    me)
  : class extends Map {
      constructor() {
        super();
      }
    };
function _e(t) {
  return t;
}
function ve(t) {
  if (2 & t.J) throw Error("Cannot mutate an immutable Map");
}
var Ee = class extends ye {
  constructor(t, e, n = _e, r = _e) {
    (super(),
      (this.J = 0 | t[Q]),
      (this.K = e),
      (this.S = n),
      (this.fa = this.K ? we : r));
    for (let i = 0; i < t.length; i++) {
      const s = t[i],
        o = n(s[0], !1, !0);
      let a = s[1];
      (e
        ? void 0 === a && (a = null)
        : (a = r(s[1], !1, !0, void 0, void 0, this.J)),
        super.set(o, a));
    }
  }
  V(t) {
    return st(Array.from(super.entries(), t));
  }
  clear() {
    (ve(this), super.clear());
  }
  delete(t) {
    return (ve(this), super.delete(this.S(t, !0, !1)));
  }
  entries() {
    if (this.K) {
      var t = super.keys();
      t = new ut(t, Te, this);
    } else t = super.entries();
    return t;
  }
  values() {
    if (this.K) {
      var t = super.keys();
      t = new ut(t, Ee.prototype.get, this);
    } else t = super.values();
    return t;
  }
  forEach(t, e) {
    this.K
      ? super.forEach((n, r, i) => {
          t.call(e, i.get(r), r, i);
        })
      : super.forEach(t, e);
  }
  set(t, e) {
    return (
      ve(this),
      null == (t = this.S(t, !0, !1))
        ? this
        : null == e
          ? (super.delete(t), this)
          : super.set(t, this.fa(e, !0, !0, this.K, !1, this.J))
    );
  }
  Ma(t) {
    const e = this.S(t[0], !1, !0);
    ((t = t[1]),
      (t = this.K
        ? void 0 === t
          ? null
          : t
        : this.fa(t, !1, !0, void 0, !1, this.J)),
      super.set(e, t));
  }
  has(t) {
    return super.has(this.S(t, !1, !1));
  }
  get(t) {
    t = this.S(t, !1, !1);
    const e = super.get(t);
    if (void 0 !== e) {
      var n = this.K;
      return n
        ? ((n = this.fa(e, !1, !0, n, this.ra, this.J)) !== e &&
            super.set(t, n),
          n)
        : e;
    }
  }
  [Symbol.iterator]() {
    return this.entries();
  }
};
function we(t, e, n, r, i, s) {
  return ((t = fe(t, r, n, s)), i && (t = Xe(t)), t);
}
function Te(t) {
  return [t, this.get(t)];
}
let Ae;
function be() {
  return (Ae ||= new Ee(it([]), void 0, void 0, void 0, pe));
}
function ke(t) {
  return H ? t[H] : void 0;
}
function Se(t, e) {
  for (const n in t) !isNaN(n) && e(t, +n, t[n]);
}
Ee.prototype.toJSON = void 0;
var xe = class {};
const Le = { Ka: !0 };
function Re(t, e) {
  e < 100 || U(z, 1);
}
function Ie(t, e, n, r) {
  const i = void 0 !== r;
  r = !!r;
  var s,
    o = H;
  (!i && B && o && (s = t[o]) && Se(s, Re), (o = []));
  var a = t.length;
  let c;
  s = 4294967295;
  let h = !1;
  const u = !!(64 & e),
    l = u ? (128 & e ? 0 : -1) : void 0;
  (1 & e ||
    ((c = a && t[a - 1]),
    null != c && "object" == typeof c && c.constructor === Object
      ? (s = --a)
      : (c = void 0),
    !u || 128 & e || i || ((h = !0), (s = s - l + l))),
    (e = void 0));
  for (var f = 0; f < a; f++) {
    let i = t[f];
    if (null != i && null != (i = n(i, r)))
      if (u && f >= s) {
        const t = f - l;
        (e ??= {})[t] = i;
      } else o[f] = i;
  }
  if (c)
    for (let t in c) {
      if (null == (a = c[t]) || null == (a = n(a, r))) continue;
      let i;
      ((f = +t),
        u && !Number.isNaN(f) && (i = f + l) < s
          ? (o[i] = a)
          : ((e ??= {})[t] = a));
    }
  return (
    e && (h ? o.push(e) : (o[s] = e)),
    i &&
      H &&
      (t = ke(t)) &&
      t instanceof xe &&
      (o[H] = (function (t) {
        const e = new xe();
        return (
          Se(t, (t, n, r) => {
            e[n] = Vt(r);
          }),
          (e.da = t.da),
          e
        );
      })(t)),
    o
  );
}
function Fe(t) {
  return ((t[0] = Me(t[0])), (t[1] = Me(t[1])), t);
}
function Me(t) {
  switch (typeof t) {
    case "number":
      return Number.isFinite(t) ? t : "" + t;
    case "bigint":
      return wt(t) ? Number(t) : "" + t;
    case "boolean":
      return t ? 1 : 0;
    case "object":
      if (Array.isArray(t)) {
        var e = 0 | t[Q];
        return 0 === t.length && 1 & e ? void 0 : Ie(t, e, Me);
      }
      if (null != t && t[q] === ot) return Oe(t);
      if (t instanceof F) {
        if (null == (e = t.g)) t = "";
        else if ("string" == typeof e) t = e;
        else {
          if (T) {
            for (var n = "", r = 0, i = e.length - 10240; r < i; )
              n += String.fromCharCode.apply(null, e.subarray(r, (r += 10240)));
            ((n += String.fromCharCode.apply(null, r ? e.subarray(r) : e)),
              (e = btoa(n)));
          } else {
            (void 0 === n && (n = 0),
              E(),
              (n = y[n]),
              (r = Array(Math.floor(e.length / 3))),
              (i = n[64] || ""));
            let t = 0,
              h = 0;
            for (; t < e.length - 2; t += 3) {
              var s = e[t],
                o = e[t + 1],
                a = e[t + 2],
                c = n[s >> 2];
              ((s = n[((3 & s) << 4) | (o >> 4)]),
                (o = n[((15 & o) << 2) | (a >> 6)]),
                (a = n[63 & a]),
                (r[h++] = c + s + o + a));
            }
            switch (((c = 0), (a = i), e.length - t)) {
              case 2:
                a = n[(15 & (c = e[t + 1])) << 2] || i;
              case 1:
                ((e = e[t]),
                  (r[h] = n[e >> 2] + n[((3 & e) << 4) | (c >> 4)] + a + i));
            }
            e = r.join("");
          }
          t = t.g = e;
        }
        return t;
      }
      return t instanceof Ee ? (t = 0 !== t.size ? t.V(Fe) : void 0) : void 0;
  }
  return t;
}
let Pe, Ce;
function Oe(t) {
  return Ie((t = t.v), 0 | t[Q], Me);
}
function Ne(t, e) {
  return Ue(t, e[0], e[1]);
}
function Ue(t, e, n, r = 0) {
  if (null == t) {
    var i = 32;
    (n ? ((t = [n]), (i |= 128)) : (t = []),
      e && (i = (-16760833 & i) | ((1023 & e) << 14)));
  } else {
    if (!Array.isArray(t)) throw Error("narr");
    if (((i = 0 | t[Q]), d && 1 & i)) throw Error("rfarr");
    if (
      (2048 & i &&
        !(2 & i) &&
        (function () {
          if (d) throw Error("carr");
          U(Y, 5);
        })(),
      256 & i)
    )
      throw Error("farr");
    if (64 & i) return ((i | r) !== i && rt(t, i | r), t);
    if (n && ((i |= 128), n !== t[0])) throw Error("mid");
    t: {
      i |= 64;
      var s = (n = t).length;
      if (s) {
        var o = s - 1;
        const t = n[o];
        if (null != t && "object" == typeof t && t.constructor === Object) {
          if ((o -= e = 128 & i ? 0 : -1) >= 1024) throw Error("pvtlmt");
          for (var a in t) (s = +a) < o && ((n[s + e] = t[a]), delete t[a]);
          i = (-16760833 & i) | ((1023 & o) << 14);
          break t;
        }
      }
      if (e) {
        if ((a = Math.max(e, s - (128 & i ? 0 : -1))) > 1024)
          throw Error("spvt");
        i = (-16760833 & i) | ((1023 & a) << 14);
      }
    }
  }
  return (rt(t, 64 | i | r), t);
}
function De(t, e) {
  if ("object" != typeof t) return t;
  if (Array.isArray(t)) {
    var n = 0 | t[Q];
    return 0 === t.length && 1 & n ? void 0 : Be(t, n, e);
  }
  if (null != t && t[q] === ot) return je(t);
  if (t instanceof Ee) {
    if (2 & (e = t.J)) return t;
    if (!t.size) return;
    if (((n = it(t.V())), t.K))
      for (t = 0; t < n.length; t++) {
        const r = n[t];
        let i = r[1];
        ((i =
          null == i || "object" != typeof i
            ? void 0
            : null != i && i[q] === ot
              ? je(i)
              : Array.isArray(i)
                ? Be(i, 0 | i[Q], !!(32 & e))
                : void 0),
          (r[1] = i));
      }
    return n;
  }
  return t instanceof F ? t : void 0;
}
function Be(t, e, n) {
  return (
    2 & e ||
      (!n || 4096 & e || 16 & e
        ? (t = Ve(t, e, !1, n && !(16 & e)))
        : (nt(t, 34), 4 & e && Object.freeze(t))),
    t
  );
}
function Ge(t, e, n) {
  return ((t = new t.constructor(e)), n && (t.h = ct), (t.m = ct), t);
}
function je(t) {
  const e = t.v,
    n = 0 | e[Q];
  return at(t, n) ? t : Ke(t, e, n) ? Ge(t, e) : Ve(e, n);
}
function Ve(t, e, n, r) {
  return (
    (r ??= !!(34 & e)),
    (t = Ie(t, e, De, r)),
    (r = 32),
    n && (r |= 2),
    rt(t, (e = (16769217 & e) | r)),
    t
  );
}
function Xe(t) {
  const e = t.v,
    n = 0 | e[Q];
  return at(t, n)
    ? Ke(t, e, n)
      ? Ge(t, e, !0)
      : new t.constructor(Ve(e, n, !1))
    : t;
}
function He(t) {
  if (t.h !== ct) return !1;
  var e = t.v;
  return (
    nt((e = Ve(e, 0 | e[Q])), 2048),
    (t.v = e),
    (t.h = void 0),
    (t.m = void 0),
    !0
  );
}
function We(t) {
  if (!He(t) && at(t, 0 | t.v[Q])) throw Error();
}
function ze(t, e) {
  (void 0 === e && (e = 0 | t[Q]), 32 & e && !(4096 & e) && rt(t, 4096 | e));
}
function Ke(t, e, n) {
  return (
    !!(2 & n) || (!(!(32 & n) || 4096 & n) && (rt(e, 2 | n), (t.h = ct), !0))
  );
}
const Ye = Et(0),
  qe = {};
function $e(t, e, n, r, i) {
  if (null !== (e = Je(t.v, e, n, i)) || (r && t.m !== ct)) return e;
}
function Je(t, e, n, r) {
  if (-1 === e) return null;
  const i = e + (n ? 0 : -1),
    s = t.length - 1;
  let o, a;
  if (!(s < 1 + (n ? 0 : -1))) {
    if (i >= s)
      if (
        ((o = t[s]),
        null != o && "object" == typeof o && o.constructor === Object)
      )
        ((n = o[e]), (a = !0));
      else {
        if (i !== s) return;
        n = o;
      }
    else n = t[i];
    if (r && null != n) {
      if (null == (r = r(n))) return r;
      if (!Object.is(r, n)) return (a ? (o[e] = r) : (t[i] = r), r);
    }
    return n;
  }
}
function Ze(t, e, n, r) {
  (We(t), Qe((t = t.v), 0 | t[Q], e, n, r));
}
function Qe(t, e, n, r, i) {
  const s = n + (i ? 0 : -1);
  var o = t.length - 1;
  if (o >= 1 + (i ? 0 : -1) && s >= o) {
    const i = t[o];
    if (null != i && "object" == typeof i && i.constructor === Object)
      return ((i[n] = r), e);
  }
  return s <= o
    ? ((t[s] = r), e)
    : (void 0 !== r &&
        (n >= (o = ((e ??= 0 | t[Q]) >> 14) & 1023 || 536870912)
          ? null != r && (t[o + (i ? 0 : -1)] = { [n]: r })
          : (t[s] = r)),
      e);
}
function tn() {
  return void 0 === lt ? 2 : 4;
}
function en(t, e, n, r, i) {
  let s = t.v,
    o = 0 | s[Q];
  ((r = at(t, o) ? 1 : r),
    (i = !!i || 3 === r),
    2 === r && He(t) && ((s = t.v), (o = 0 | s[Q])));
  let a = (t = rn(s, e)) === tt ? 7 : 0 | t[Q],
    c = sn(a, o);
  var h = !(4 & c);
  if (h) {
    4 & c && ((t = Vt(t)), (a = 0), (c = An(c, o)), (o = Qe(s, o, e, t)));
    let r = 0,
      i = 0;
    for (; r < t.length; r++) {
      const e = n(t[r]);
      null != e && (t[i++] = e);
    }
    (i < r && (t.length = i),
      (n = -513 & (4 | c)),
      (c = n &= -1025),
      (c &= -4097));
  }
  return (
    c !== a && (rt(t, c), 2 & c && Object.freeze(t)),
    nn(t, c, s, o, e, r, h, i)
  );
}
function nn(t, e, n, r, i, s, o, a) {
  let c = e;
  return (
    1 === s || (4 === s && (2 & e || (!(16 & e) && 32 & r)))
      ? on(e) ||
        ((e |=
          !t.length || (o && !(4096 & e)) || (32 & r && !(4096 & e || 16 & e))
            ? 2
            : 256) !== c && rt(t, e),
        Object.freeze(t))
      : (2 === s &&
          on(e) &&
          ((t = Vt(t)), (c = 0), (e = An(e, r)), (r = Qe(n, r, i, t))),
        on(e) || (a || (e |= 16), e !== c && rt(t, e))),
    2 & e || !(4096 & e || 16 & e) || ze(n, r),
    t
  );
}
function rn(t, e, n) {
  return ((t = Je(t, e, n)), Array.isArray(t) ? t : tt);
}
function sn(t, e) {
  return (2 & e && (t |= 2), 1 | t);
}
function on(t) {
  return (!!(2 & t) && !!(4 & t)) || !!(256 & t);
}
function an(t) {
  return ht(t, !0);
}
function cn(t) {
  t = Vt(t);
  for (let e = 0; e < t.length; e++) {
    const n = (t[e] = Vt(t[e]));
    Array.isArray(n[1]) && (n[1] = it(n[1]));
  }
  return st(t);
}
function hn(t, e, n, r) {
  (We(t),
    Qe(
      (t = t.v),
      0 | t[Q],
      e,
      ("0" === r ? 0 === Number(n) : n === r) ? void 0 : n,
    ));
}
function un(t, e, n) {
  if (2 & e) throw Error();
  const r = pt(e);
  let i = rn(t, n, r),
    s = i === tt ? 7 : 0 | i[Q],
    o = sn(s, e);
  return (
    (2 & o || on(o) || 16 & o) &&
      (o === s || on(o) || rt(i, o),
      (i = Vt(i)),
      (s = 0),
      (o = An(o, e)),
      Qe(t, e, n, i, r)),
    (o &= -13),
    o !== s && rt(i, o),
    i
  );
}
function ln(t, e) {
  var n = Cs;
  return pn(fn((t = t.v)), t, void 0, n) === e ? e : -1;
}
function fn(t) {
  if (B) return t[X] ?? (t[X] = new Map());
  if (X in t) return t[X];
  const e = new Map();
  return (Object.defineProperty(t, X, { value: e }), e);
}
function dn(t, e, n, r, i) {
  const s = fn(t),
    o = pn(s, t, e, n, i);
  return (o !== r && (o && (e = Qe(t, e, o, void 0, i)), s.set(n, r)), e);
}
function pn(t, e, n, r, i) {
  let s = t.get(r);
  if (null != s) return s;
  s = 0;
  for (let t = 0; t < r.length; t++) {
    const o = r[t];
    null != Je(e, o, i) && (0 !== s && (n = Qe(e, n, s, void 0, i)), (s = o));
  }
  return (t.set(r, s), s);
}
function gn(t, e, n) {
  let r = 0 | t[Q];
  const i = pt(r),
    s = Je(t, n, i);
  let o;
  if (null != s && s[q] === ot) {
    if (!at(s)) return (He(s), s.v);
    o = s.v;
  } else Array.isArray(s) && (o = s);
  if (o) {
    const t = 0 | o[Q];
    2 & t && (o = Ve(o, t));
  }
  return ((o = Ne(o, e)), o !== s && Qe(t, r, n, o, i), o);
}
function mn(t, e, n, r, i) {
  let s = !1;
  if (
    null !=
    (r = Je(t, r, i, (t) => {
      const r = fe(t, n, !1, e);
      return ((s = r !== t && null != r), r);
    }))
  )
    return (s && !at(r) && ze(t, e), r);
}
function yn(t, e, n, r) {
  let i = t.v,
    s = 0 | i[Q];
  if (null == (e = mn(i, s, e, n, r))) return e;
  if (((s = 0 | i[Q]), !at(t, s))) {
    const o = Xe(e);
    o !== e &&
      (He(t) && ((i = t.v), (s = 0 | i[Q])),
      (s = Qe(i, s, n, (e = o), r)),
      ze(i, s));
  }
  return e;
}
function _n(t, e, n, r, i, s, o, a) {
  var c = at(t, n);
  ((s = c ? 1 : s),
    (o = !!o || 3 === s),
    (c = a && !c),
    (2 === s || c) && He(t) && (n = 0 | (e = t.v)[Q]));
  var h = (t = rn(e, i)) === tt ? 7 : 0 | t[Q],
    u = sn(h, n);
  if ((a = !(4 & u))) {
    var l = t,
      f = n;
    const e = !!(2 & u);
    e && (f |= 2);
    let i = !e,
      s = !0,
      o = 0,
      a = 0;
    for (; o < l.length; o++) {
      const t = fe(l[o], r, !1, f);
      if (t instanceof r) {
        if (!e) {
          const e = at(t);
          ((i &&= !e), (s &&= e));
        }
        l[a++] = t;
      }
    }
    (a < o && (l.length = a),
      (u |= 4),
      (u = s ? -4097 & u : 4096 | u),
      (u = i ? 8 | u : -9 & u));
  }
  if (
    (u !== h && (rt(t, u), 2 & u && Object.freeze(t)),
    c &&
      !(
        8 & u ||
        (!t.length &&
          (1 === s || (4 === s && (2 & u || (!(16 & u) && 32 & n)))))
      ))
  ) {
    for (
      on(u) && ((t = Vt(t)), (u = An(u, n)), (n = Qe(e, n, i, t))),
        r = t,
        c = u,
        h = 0;
      h < r.length;
      h++
    )
      (l = r[h]) !== (u = Xe(l)) && (r[h] = u);
    ((c |= 8), rt(t, (u = c = r.length ? 4096 | c : -4097 & c)));
  }
  return nn(t, u, e, n, i, s, a, o);
}
function vn(t, e, n) {
  const r = t.v;
  return _n(t, r, 0 | r[Q], e, n, tn(), !1, !0);
}
function En(t) {
  return (null == t && (t = void 0), t);
}
function wn(t, e, n, r, i) {
  return (Ze(t, n, (r = En(r)), i), r && !at(r) && ze(t.v), t);
}
function Tn(t, e, n, r) {
  t: {
    var i = (r = En(r));
    We(t);
    const s = t.v;
    let o = 0 | s[Q];
    if (null == i) {
      const t = fn(s);
      if (pn(t, s, o, n) !== e) break t;
      t.set(n, 0);
    } else o = dn(s, o, n, e);
    Qe(s, o, e, i);
  }
  r && !at(r) && ze(t.v);
}
function An(t, e) {
  return -273 & (2 & e ? 2 | t : -3 & t);
}
function bn(t, e, n, r) {
  var i = r;
  (We(t),
    (t = _n(t, (r = t.v), 0 | r[Q], n, e, 2, !0)),
    (i = null != i ? i : new n()),
    t.push(i),
    (e = n = t === tt ? 7 : 0 | t[Q]),
    (i = at(i)) ? ((n &= -9), 1 === t.length && (n &= -4097)) : (n |= 4096),
    n !== e && rt(t, n),
    i || ze(r));
}
function kn(t, e, n) {
  return ee($e(t, e, void 0, n));
}
function Sn(t, e) {
  return $e(t, e, void 0, void 0, $t) ?? 0;
}
function xn(t, e, n) {
  if (null != n) {
    if ("number" != typeof n) throw N("int32");
    if (!zt(n)) throw N("int32");
    n |= 0;
  }
  Ze(t, e, n);
}
function Ln(t, e, n) {
  Ze(t, e, qt(n));
}
function Rn(t, e, n) {
  hn(t, e, ue(n), "");
}
function In(t, e, n) {
  {
    We(t);
    const o = t.v;
    let a = 0 | o[Q];
    if (null == n) Qe(o, a, e);
    else {
      var r = (t = n === tt ? 7 : 0 | n[Q]),
        i = on(t),
        s = i || Object.isFrozen(n);
      for (
        i || (t = 0),
          s || ((n = Vt(n)), (r = 0), (t = An(t, a)), (s = !1)),
          t |= 5,
          t |= (4 & t ? (512 & t ? 512 : 1024 & t ? 1024 : 0) : void 0) ?? 1024,
          i = 0;
        i < n.length;
        i++
      ) {
        const e = n[i],
          o = he(e);
        Object.is(e, o) ||
          (s && ((n = Vt(n)), (r = 0), (t = An(t, a)), (s = !1)), (n[i] = o));
      }
      (t !== r && (s && ((n = Vt(n)), (t = An(t, a))), rt(n, t)),
        Qe(o, a, e, n));
    }
  }
}
function Fn(t, e, n) {
  (We(t), en(t, e, le, 2, !0).push(he(n)));
}
var Mn = class {
  constructor(t, e, n) {
    if (((this.buffer = t), n && !e)) throw Error();
    this.g = e;
  }
};
function Pn(t, e) {
  if ("string" == typeof t) return new Mn(S(t), e);
  if (Array.isArray(t)) return new Mn(new Uint8Array(t), e);
  if (t.constructor === Uint8Array) return new Mn(t, !1);
  if (t.constructor === ArrayBuffer)
    return ((t = new Uint8Array(t)), new Mn(t, !1));
  if (t.constructor === F)
    return ((e = I(t) || new Uint8Array(0)), new Mn(e, !0, t));
  if (t instanceof Uint8Array)
    return (
      (t =
        t.constructor === Uint8Array
          ? t
          : new Uint8Array(t.buffer, t.byteOffset, t.byteLength)),
      new Mn(t, !1)
    );
  throw Error();
}
function Cn(t, e) {
  let n,
    r = 0,
    i = 0,
    s = 0;
  const o = t.h;
  let a = t.g;
  do {
    ((n = o[a++]), (r |= (127 & n) << s), (s += 7));
  } while (s < 32 && 128 & n);
  if (s > 32)
    for (i |= (127 & n) >> 4, s = 3; s < 32 && 128 & n; s += 7)
      ((n = o[a++]), (i |= (127 & n) << s));
  if ((Gn(t, a), !(128 & n))) return e(r >>> 0, i >>> 0);
  throw Error();
}
function On(t) {
  let e = 0,
    n = t.g;
  const r = n + 10,
    i = t.h;
  for (; n < r; ) {
    const r = i[n++];
    if (((e |= r), 0 == (128 & r))) return (Gn(t, n), !!(127 & e));
  }
  throw Error();
}
function Nn(t) {
  const e = t.h;
  let n = t.g,
    r = e[n++],
    i = 127 & r;
  if (
    128 & r &&
    ((r = e[n++]),
    (i |= (127 & r) << 7),
    128 & r &&
      ((r = e[n++]),
      (i |= (127 & r) << 14),
      128 & r &&
        ((r = e[n++]),
        (i |= (127 & r) << 21),
        128 & r &&
          ((r = e[n++]),
          (i |= r << 28),
          128 & r &&
            128 & e[n++] &&
            128 & e[n++] &&
            128 & e[n++] &&
            128 & e[n++] &&
            128 & e[n++]))))
  )
    throw Error();
  return (Gn(t, n), i);
}
function Un(t) {
  return Nn(t) >>> 0;
}
function Dn(t) {
  var e = t.h;
  const n = t.g;
  var r = e[n],
    i = e[n + 1];
  const s = e[n + 2];
  return (
    (e = e[n + 3]),
    Gn(t, t.g + 4),
    (t =
      2 * ((i = ((r << 0) | (i << 8) | (s << 16) | (e << 24)) >>> 0) >> 31) +
      1),
    (r = (i >>> 23) & 255),
    (i &= 8388607),
    255 == r
      ? i
        ? NaN
        : t * (1 / 0)
      : 0 == r
        ? 1401298464324817e-60 * t * i
        : t * Math.pow(2, r - 150) * (i + 8388608)
  );
}
function Bn(t) {
  return Nn(t);
}
function Gn(t, e) {
  if (((t.g = e), e > t.l)) throw Error();
}
function jn(t, e) {
  if (e < 0) throw Error();
  const n = t.g;
  if ((e = n + e) > t.l) throw Error();
  return ((t.g = e), n);
}
function Vn(t, e) {
  if (0 == e) return R();
  var n = jn(t, e);
  return (
    t.Y && t.j
      ? (n = t.h.subarray(n, n + e))
      : ((t = t.h),
        (n =
          n === (e = n + e)
            ? new Uint8Array(0)
            : xt
              ? t.slice(n, e)
              : new Uint8Array(t.subarray(n, e)))),
    0 == n.length ? R() : new F(n, L)
  );
}
var Xn = [];
function Hn(t, e, n, r) {
  if (Qn.length) {
    const i = Qn.pop();
    return (i.o(r), i.g.init(t, e, n, r), i);
  }
  return new Zn(t, e, n, r);
}
function Wn(t) {
  (t.g.clear(), (t.l = -1), (t.h = -1), Qn.length < 100 && Qn.push(t));
}
function zn(t) {
  var e = t.g;
  if (e.g == e.l) return !1;
  t.m = t.g.g;
  var n = Un(t.g);
  if (((e = n >>> 3), !((n &= 7) >= 0 && n <= 5))) throw Error();
  if (e < 1) throw Error();
  return ((t.l = e), (t.h = n), !0);
}
function Kn(t) {
  switch (t.h) {
    case 0:
      0 != t.h ? Kn(t) : On(t.g);
      break;
    case 1:
      Gn((t = t.g), t.g + 8);
      break;
    case 2:
      if (2 != t.h) Kn(t);
      else {
        var e = Un(t.g);
        Gn((t = t.g), t.g + e);
      }
      break;
    case 5:
      Gn((t = t.g), t.g + 4);
      break;
    case 3:
      for (e = t.l; ; ) {
        if (!zn(t)) throw Error();
        if (4 == t.h) {
          if (t.l != e) throw Error();
          break;
        }
        Kn(t);
      }
      break;
    default:
      throw Error();
  }
}
function Yn(t, e, n) {
  const r = t.g.l;
  var i = Un(t.g);
  let s = (i = t.g.g + i) - r;
  if (
    (s <= 0 && ((t.g.l = i), n(e, t, void 0, void 0, void 0), (s = i - t.g.g)),
    s)
  )
    throw Error();
  return ((t.g.g = i), (t.g.l = r), e);
}
function qn(t) {
  var e = Un(t.g),
    a = jn((t = t.g), e);
  if (((t = t.h), o)) {
    var c,
      h = t;
    ((c = s) || (c = s = new TextDecoder("utf-8", { fatal: !0 })),
      (e = a + e),
      (h = 0 === a && e === h.length ? h : h.subarray(a, e)));
    try {
      var u = c.decode(h);
    } catch (t) {
      if (void 0 === i) {
        try {
          c.decode(new Uint8Array([128]));
        } catch (t) {}
        try {
          (c.decode(new Uint8Array([97])), (i = !0));
        } catch (t) {
          i = !1;
        }
      }
      throw (!i && (s = void 0), t);
    }
  } else {
    ((e = (u = a) + e), (a = []));
    let i,
      s = null;
    for (; u < e; ) {
      var l = t[u++];
      (l < 128
        ? a.push(l)
        : l < 224
          ? u >= e
            ? n()
            : ((i = t[u++]),
              l < 194 || 128 != (192 & i)
                ? (u--, n())
                : a.push(((31 & l) << 6) | (63 & i)))
          : l < 240
            ? u >= e - 1
              ? n()
              : ((i = t[u++]),
                128 != (192 & i) ||
                (224 === l && i < 160) ||
                (237 === l && i >= 160) ||
                128 != (192 & (c = t[u++]))
                  ? (u--, n())
                  : a.push(((15 & l) << 12) | ((63 & i) << 6) | (63 & c)))
            : l <= 244
              ? u >= e - 2
                ? n()
                : ((i = t[u++]),
                  128 != (192 & i) ||
                  (i - 144 + (l << 28)) >> 30 != 0 ||
                  128 != (192 & (c = t[u++])) ||
                  128 != (192 & (h = t[u++]))
                    ? (u--, n())
                    : ((l =
                        ((7 & l) << 18) |
                        ((63 & i) << 12) |
                        ((63 & c) << 6) |
                        (63 & h)),
                      (l -= 65536),
                      a.push(55296 + ((l >> 10) & 1023), 56320 + (1023 & l))))
              : n(),
        a.length >= 8192 && ((s = r(s, a)), (a.length = 0)));
    }
    u = r(s, a);
  }
  return u;
}
function $n(t) {
  const e = Un(t.g);
  return Vn(t.g, e);
}
function Jn(t, e, n) {
  var r = Un(t.g);
  for (r = t.g.g + r; t.g.g < r; ) n.push(e(t.g));
}
var Zn = class {
    constructor(t, e, n, r) {
      if (Xn.length) {
        const i = Xn.pop();
        (i.init(t, e, n, r), (t = i));
      } else
        t = new (class {
          constructor(t, e, n, r) {
            ((this.h = null),
              (this.j = !1),
              (this.g = this.l = this.m = 0),
              this.init(t, e, n, r));
          }
          init(t, e, n, { Y: r = !1, ea: i = !1 } = {}) {
            ((this.Y = r),
              (this.ea = i),
              t &&
                ((t = Pn(t, this.ea)),
                (this.h = t.buffer),
                (this.j = t.g),
                (this.m = e || 0),
                (this.l = void 0 !== n ? this.m + n : this.h.length),
                (this.g = this.m)));
          }
          clear() {
            ((this.h = null),
              (this.j = !1),
              (this.g = this.l = this.m = 0),
              (this.Y = !1));
          }
        })(t, e, n, r);
      ((this.g = t), (this.m = this.g.g), (this.h = this.l = -1), this.o(r));
    }
    o({ ha: t = !1 } = {}) {
      this.ha = t;
    }
  },
  Qn = [];
function tr(t) {
  return t
    ? /^\d+$/.test(t)
      ? (Gt(t), new er(Rt, It))
      : null
    : (nr ||= new er(0, 0));
}
var er = class {
  constructor(t, e) {
    ((this.h = t >>> 0), (this.g = e >>> 0));
  }
};
let nr;
function rr(t) {
  return t
    ? /^-?\d+$/.test(t)
      ? (Gt(t), new ir(Rt, It))
      : null
    : (sr ||= new ir(0, 0));
}
var ir = class {
  constructor(t, e) {
    ((this.h = t >>> 0), (this.g = e >>> 0));
  }
};
let sr;
function or(t, e, n) {
  for (; n > 0 || e > 127; )
    (t.g.push((127 & e) | 128),
      (e = ((e >>> 7) | (n << 25)) >>> 0),
      (n >>>= 7));
  t.g.push(e);
}
function ar(t, e) {
  for (; e > 127; ) (t.g.push((127 & e) | 128), (e >>>= 7));
  t.g.push(e);
}
function cr(t, e) {
  if (e >= 0) ar(t, e);
  else {
    for (let n = 0; n < 9; n++) (t.g.push((127 & e) | 128), (e >>= 7));
    t.g.push(1);
  }
}
function hr(t) {
  var e = Rt;
  (t.g.push((e >>> 0) & 255),
    t.g.push((e >>> 8) & 255),
    t.g.push((e >>> 16) & 255),
    t.g.push((e >>> 24) & 255));
}
function ur(t, e) {
  0 !== e.length && (t.l.push(e), (t.h += e.length));
}
function lr(t, e, n) {
  ar(t.g, 8 * e + n);
}
function fr(t, e) {
  return (lr(t, e, 2), (e = t.g.end()), ur(t, e), e.push(t.h), e);
}
function dr(t, e) {
  var n = e.pop();
  for (n = t.h + t.g.length() - n; n > 127; )
    (e.push((127 & n) | 128), (n >>>= 7), t.h++);
  (e.push(n), t.h++);
}
function pr(t, e, n) {
  (lr(t, e, 2), ar(t.g, n.length), ur(t, t.g.end()), ur(t, n));
}
function gr(t, e, n, r) {
  null != n && ((e = fr(t, e)), r(n, t), dr(t, e));
}
function mr() {
  const t = class {
    constructor() {
      throw Error();
    }
  };
  return (Object.setPrototypeOf(t, t.prototype), t);
}
var yr = mr(),
  _r = mr(),
  vr = mr(),
  Er = mr(),
  wr = mr(),
  Tr = mr(),
  Ar = mr(),
  br = mr(),
  kr = mr(),
  Sr = mr();
function xr(t, e, n) {
  var r = t.v;
  (H && H in r && (r = r[H]) && delete r[e.g],
    e.h ? e.j(t, e.h, e.g, n, e.l) : e.j(t, e.g, n, e.l));
}
var Lr = class {
  constructor(t, e) {
    this.v = Ue(t, e, void 0, 2048);
  }
  toJSON() {
    return Oe(this);
  }
  j() {
    var t = xo,
      e = this.v,
      n = t.g,
      r = H;
    if (
      (B && r && null != e[r]?.[n] && U(W, 3),
      (e = t.g),
      $ && H && void 0 === $ && (r = (n = this.v)[H]) && (r = r.da))
    )
      try {
        r(n, e, Le);
      } catch (t) {
        u(t);
      }
    return t.h ? t.m(this, t.h, t.g, t.l) : t.m(this, t.g, t.defaultValue, t.l);
  }
  clone() {
    const t = this.v,
      e = 0 | t[Q];
    return Ke(this, t, e)
      ? Ge(this, t, !0)
      : new this.constructor(Ve(t, e, !1));
  }
};
((Lr.prototype[q] = ot),
  (Lr.prototype.toString = function () {
    return this.v.toString();
  }));
var Rr = class {
  constructor(t, e, n) {
    ((this.g = t), (this.h = e), (t = yr), (this.l = (!!t && n === t) || !1));
  }
};
function Ir(t, e) {
  return new Rr(t, e, yr);
}
function Fr(t, e, n, r, i) {
  gr(t, n, Xr(e, r), i);
}
const Mr = Ir(function (t, e, n, r, i) {
    return 2 === t.h && (Yn(t, gn(e, r, n), i), !0);
  }, Fr),
  Pr = Ir(function (t, e, n, r, i) {
    return 2 === t.h && (Yn(t, gn(e, r, n), i), !0);
  }, Fr);
var Cr = Symbol(),
  Or = Symbol(),
  Nr = Symbol(),
  Ur = Symbol(),
  Dr = Symbol();
let Br, Gr;
function jr(t, e, n, r) {
  var i = r[t];
  if (i) return i;
  (((i = {}).qa = r),
    (i.T = (function (t) {
      switch (typeof t) {
        case "boolean":
          return (Pe ||= [0, void 0, !0]);
        case "number":
          return t > 0 ? void 0 : 0 === t ? (Ce ||= [0, void 0]) : [-t, void 0];
        case "string":
          return [0, t];
        case "object":
          return t;
      }
    })(r[0])));
  var s = r[1];
  let o = 1;
  s &&
    s.constructor === Object &&
    ((i.ba = s),
    "function" == typeof (s = r[++o]) &&
      ((i.ma = !0), (Br ??= s), (Gr ??= r[o + 1]), (s = r[(o += 2)])));
  const a = {};
  for (
    ;
    s && Array.isArray(s) && s.length && "number" == typeof s[0] && s[0] > 0;

  ) {
    for (var c = 0; c < s.length; c++) a[s[c]] = s;
    s = r[++o];
  }
  for (c = 1; void 0 !== s; ) {
    let t;
    "number" == typeof s && ((c += s), (s = r[++o]));
    var h = void 0;
    if ((s instanceof Rr ? (t = s) : ((t = Mr), o--), t?.l)) {
      ((s = r[++o]), (h = r));
      var u = o;
      ("function" == typeof s && ((s = s()), (h[u] = s)), (h = s));
    }
    for (
      u = c + 1,
        "number" == typeof (s = r[++o]) && s < 0 && ((u -= s), (s = r[++o]));
      c < u;
      c++
    ) {
      const r = a[c];
      h ? n(i, c, t, h, r) : e(i, c, t, r);
    }
  }
  return (r[t] = i);
}
function Vr(t) {
  return Array.isArray(t) ? (t[0] instanceof Rr ? t : [Pr, t]) : [t, void 0];
}
function Xr(t, e) {
  return t instanceof Lr ? t.v : Array.isArray(t) ? Ne(t, e) : void 0;
}
function Hr(t, e, n, r) {
  const i = n.g;
  t[e] = r ? (t, e, n) => i(t, e, n, r) : i;
}
function Wr(t, e, n, r, i) {
  const s = n.g;
  let o, a;
  t[e] = (t, e, n) => s(t, e, n, (a ||= jr(Or, Hr, Wr, r).T), (o ||= zr(r)), i);
}
function zr(t) {
  let e = t[Nr];
  if (null != e) return e;
  const n = jr(Or, Hr, Wr, t);
  return (
    (e = n.ma
      ? (t, e) => Br(t, e, n)
      : (t, e) => {
          for (; zn(e) && 4 != e.h; ) {
            var r = e.l,
              i = n[r];
            if (null == i) {
              var s = n.ba;
              s && (s = s[r]) && null != (s = Yr(s)) && (i = n[r] = s);
            }
            if (null == i || !i(e, t, r)) {
              if (((i = (s = e).m), Kn(s), s.ha)) var o = void 0;
              else ((o = s.g.g - i), (s.g.g = i), (o = Vn(s.g, o)));
              ((i = void 0),
                (s = t),
                o &&
                  ((i = s[H] ?? (s[H] = new xe()))[r] ?? (i[r] = [])).push(o));
            }
          }
          return ((t = ke(t)) && (t.da = n.qa[Dr]), !0);
        }),
    (t[Nr] = e),
    (t[Dr] = Kr.bind(t)),
    e
  );
}
function Kr(t, e, n, r) {
  var i = this[Or];
  const s = this[Nr],
    o = Ne(void 0, i.T),
    a = ke(t);
  if (a) {
    var c = !1,
      h = i.ba;
    if (h) {
      if (
        ((i = (e, n, i) => {
          if (0 !== i.length)
            if (h[n])
              for (const t of i) {
                e = Hn(t);
                try {
                  ((c = !0), s(o, e));
                } finally {
                  Wn(e);
                }
              }
            else r?.(t, n, i);
        }),
        null == e)
      )
        Se(a, i);
      else if (null != a) {
        const t = a[e];
        t && i(a, e, t);
      }
      if (c) {
        let r = 0 | t[Q];
        if (2 & r && 2048 & r && !n?.Ka) throw Error();
        const i = pt(r),
          s = (e, s) => {
            if (null != Je(t, e, i)) {
              if (1 === n?.Qa) return;
              throw Error();
            }
            (null != s && (r = Qe(t, r, e, s, i)), delete a[e]);
          };
        null == e
          ? ft(o, 0 | o[Q], (t, e) => {
              s(t, e);
            })
          : s(e, Je(o, e, i));
      }
    }
  }
}
function Yr(t) {
  const e = (t = Vr(t))[0].g;
  if ((t = t[1])) {
    const n = zr(t),
      r = jr(Or, Hr, Wr, t).T;
    return (t, i, s) => e(t, i, s, r, n);
  }
  return e;
}
function qr(t, e, n) {
  t[e] = n.h;
}
function $r(t, e, n, r) {
  let i, s;
  const o = n.h;
  t[e] = (t, e, n) => o(t, e, n, (s ||= jr(Cr, qr, $r, r).T), (i ||= Jr(r)));
}
function Jr(t) {
  let e = t[Ur];
  if (!e) {
    const n = jr(Cr, qr, $r, t);
    ((e = (t, e) => Zr(t, e, n)), (t[Ur] = e));
  }
  return e;
}
function Zr(t, e, n) {
  (ft(t, 0 | t[Q], (t, r) => {
    if (null != r) {
      var i = (function (t, e) {
        var n = t[e];
        if (n) return n;
        if ((n = t.ba) && (n = n[e])) {
          var r = (n = Vr(n))[0].h;
          if ((n = n[1])) {
            const e = Jr(n),
              i = jr(Cr, qr, $r, n).T;
            n = t.ma ? Gr(i, e) : (t, n, s) => r(t, n, s, i, e);
          } else n = r;
          return (t[e] = n);
        }
      })(n, t);
      i ? i(e, r, t) : t < 500 || U(K, 3);
    }
  }),
    (t = ke(t)) &&
      Se(t, (t, n, r) => {
        for (ur(e, e.g.end()), t = 0; t < r.length; t++)
          ur(e, I(r[t]) || new Uint8Array(0));
      }));
}
const Qr = Et(0);
function ti(t, e) {
  if (Array.isArray(e)) {
    var n = 0 | e[Q];
    if (4 & n) return e;
    for (var r = 0, i = 0; r < e.length; r++) {
      const n = t(e[r]);
      null != n && (e[i++] = n);
    }
    return (
      i < r && (e.length = i),
      (t = -1537 & (5 | n)) !== n && rt(e, t),
      2 & t && Object.freeze(e),
      e
    );
  }
}
function ei(t, e, n) {
  return new Rr(t, e, n);
}
function ni(t, e, n) {
  return new Rr(t, e, n);
}
function ri(t, e, n) {
  Qe(t, 0 | t[Q], e, n, pt(0 | t[Q]));
}
var ii = Ir(
  function (t, e, n, r, i) {
    if (2 !== t.h) return !1;
    if (
      ((t = Vt((t = Yn(t, Ne([void 0, void 0], r), i)))),
      (i = pt((r = 0 | e[Q]))),
      2 & r)
    )
      throw Error();
    let s = Je(e, n, i);
    if (s instanceof Ee)
      0 != (2 & s.J) ? ((s = s.V()), s.push(t), Qe(e, r, n, s, i)) : s.Ma(t);
    else if (Array.isArray(s)) {
      var o = 0 | s[Q];
      (8192 & o || rt(s, (o |= 8192)),
        2 & o && ((s = cn(s)), Qe(e, r, n, s, i)),
        s.push(t));
    } else Qe(e, r, n, st([t]), i);
    return !0;
  },
  function (t, e, n, r, i) {
    if (e instanceof Ee)
      e.forEach((e, s) => {
        gr(t, n, Ne([s, e], r), i);
      });
    else if (Array.isArray(e)) {
      for (let s = 0; s < e.length; s++) {
        const o = e[s];
        Array.isArray(o) && gr(t, n, Ne(o, r), i);
      }
      st(e);
    }
  },
);
function si(t, e, n) {
  null != (e = $t(e)) && (lr(t, n, 5), (t = t.g), Pt(e), hr(t));
}
function oi(t, e, n) {
  if (
    ((e = (function (t) {
      if (null == t) return t;
      const e = typeof t;
      if ("bigint" === e) return String(Xt(64, t));
      if (te(t)) {
        if ("string" === e) return se(t);
        if ("number" === e) return ie(t);
      }
    })(e)),
    null != e)
  ) {
    if ("string" == typeof e) rr(e);
    if (null != e)
      switch ((lr(t, n, 0), typeof e)) {
        case "number":
          ((t = t.g), Mt(e), or(t, Rt, It));
          break;
        case "bigint":
          ((n = BigInt.asUintN(64, e)),
            (n = new ir(
              Number(n & BigInt(4294967295)),
              Number(n >> BigInt(32)),
            )),
            or(t.g, n.h, n.g));
          break;
        default:
          ((n = rr(e)), or(t.g, n.h, n.g));
      }
  }
}
function ai(t, e, n) {
  null != (e = ee(e)) && null != e && (lr(t, n, 0), cr(t.g, e));
}
function ci(t, e, n) {
  null != (e = Zt(e)) && (lr(t, n, 0), t.g.g.push(e ? 1 : 0));
}
function hi(t, e, n) {
  null != (e = le(e)) && pr(t, n, h(e));
}
function ui(t, e, n, r, i) {
  gr(t, n, Xr(e, r), i);
}
function li(t, e, n) {
  null !=
    (e = null == e || "string" == typeof e || e instanceof F ? e : void 0) &&
    pr(t, n, Pn(e, !0).buffer);
}
function fi(t, e, n) {
  null != (e = ne(e)) && null != e && (lr(t, n, 0), ar(t.g, e));
}
function di(t, e, n) {
  return (
    (5 === t.h || 2 === t.h) &&
    ((e = un(e, 0 | e[Q], n)), 2 == t.h ? Jn(t, Dn, e) : e.push(Dn(t.g)), !0)
  );
}
var pi = ei(
    function (t, e, n) {
      return 5 === t.h && (ri(e, n, Dn(t.g)), !0);
    },
    si,
    br,
  ),
  gi = ni(
    di,
    function (t, e, n) {
      if (null != (e = ti($t, e)))
        for (let o = 0; o < e.length; o++) {
          var r = t,
            i = n,
            s = e[o];
          null != s && (lr(r, i, 5), (r = r.g), Pt(s), hr(r));
        }
    },
    br,
  ),
  mi = ni(
    di,
    function (t, e, n) {
      if (null != (e = ti($t, e)) && e.length) {
        (lr(t, n, 2), ar(t.g, 4 * e.length));
        for (let r = 0; r < e.length; r++) ((n = t.g), Pt(e[r]), hr(n));
      }
    },
    br,
  ),
  yi = ei(
    function (t, e, n) {
      return 5 === t.h && (ri(e, n, 0 === (t = Dn(t.g)) ? void 0 : t), !0);
    },
    si,
    br,
  ),
  _i = ei(
    function (t, e, n) {
      return (0 !== t.h ? (t = !1) : (ri(e, n, Cn(t.g, Nt)), (t = !0)), t);
    },
    oi,
    Tr,
  ),
  vi = ei(
    function (t, e, n) {
      return (
        0 !== t.h
          ? (e = !1)
          : (ri(e, n, (t = Cn(t.g, Nt)) === Qr ? void 0 : t), (e = !0)),
        e
      );
    },
    oi,
    Tr,
  ),
  Ei = ei(
    function (t, e, n) {
      return (0 !== t.h ? (t = !1) : (ri(e, n, Cn(t.g, Ot)), (t = !0)), t);
    },
    function (t, e, n) {
      if (
        ((e = (function (t) {
          if (null == t) return t;
          var e = typeof t;
          if ("bigint" === e) return String(Ht(64, t));
          if (te(t)) {
            if ("string" === e)
              return (
                (e = Kt(Number(t))),
                Wt(e) && e >= 0
                  ? (t = String(e))
                  : (-1 !== (e = t.indexOf(".")) && (t = t.substring(0, e)),
                    (e =
                      "-" !== t[0] &&
                      ((e = t.length) < 20 ||
                        (20 === e && t <= "18446744073709551615"))) ||
                      (Gt(t), (t = Ut(Rt, It)))),
                t
              );
            if ("number" === e)
              return (
                ((t = Kt(t)) >= 0 && Wt(t)) || (Mt(t), (t = Ct(Rt, It))),
                t
              );
          }
        })(e)),
        null != e)
      ) {
        if ("string" == typeof e) tr(e);
        if (null != e)
          switch ((lr(t, n, 0), typeof e)) {
            case "number":
              ((t = t.g), Mt(e), or(t, Rt, It));
              break;
            case "bigint":
              ((n = BigInt.asUintN(64, e)),
                (n = new er(
                  Number(n & BigInt(4294967295)),
                  Number(n >> BigInt(32)),
                )),
                or(t.g, n.h, n.g));
              break;
            default:
              ((n = tr(e)), or(t.g, n.h, n.g));
          }
      }
    },
    Ar,
  ),
  wi = ei(
    function (t, e, n) {
      return 0 === t.h && (ri(e, n, Nn(t.g)), !0);
    },
    ai,
    Er,
  ),
  Ti = ni(
    function (t, e, n) {
      return (
        (0 === t.h || 2 === t.h) &&
        ((e = un(e, 0 | e[Q], n)),
        2 == t.h ? Jn(t, Nn, e) : e.push(Nn(t.g)),
        !0)
      );
    },
    function (t, e, n) {
      if (null != (e = ti(ee, e)) && e.length) {
        n = fr(t, n);
        for (let n = 0; n < e.length; n++) cr(t.g, e[n]);
        dr(t, n);
      }
    },
    Er,
  ),
  Ai = ei(
    function (t, e, n) {
      return 0 === t.h && (ri(e, n, 0 === (t = Nn(t.g)) ? void 0 : t), !0);
    },
    ai,
    Er,
  ),
  bi = ei(
    function (t, e, n) {
      return 0 === t.h && (ri(e, n, On(t.g)), !0);
    },
    ci,
    _r,
  ),
  ki = ei(
    function (t, e, n) {
      return 0 === t.h && (ri(e, n, !1 === (t = On(t.g)) ? void 0 : t), !0);
    },
    ci,
    _r,
  ),
  Si = ni(
    function (t, e, n) {
      return 2 === t.h && ((t = qn(t)), un(e, 0 | e[Q], n).push(t), !0);
    },
    function (t, e, n) {
      if (null != (e = ti(le, e)))
        for (let o = 0; o < e.length; o++) {
          var r = t,
            i = n,
            s = e[o];
          null != s && pr(r, i, h(s));
        }
    },
    vr,
  ),
  xi = ei(
    function (t, e, n) {
      return 2 === t.h && (ri(e, n, "" === (t = qn(t)) ? void 0 : t), !0);
    },
    hi,
    vr,
  ),
  Li = ei(
    function (t, e, n) {
      return 2 === t.h && (ri(e, n, qn(t)), !0);
    },
    hi,
    vr,
  ),
  Ri = (function (t, e, n = yr) {
    return new Rr(t, e, n);
  })(
    function (t, e, n, r, i) {
      return (
        2 === t.h &&
        ((r = Ne(void 0, r)), un(e, 0 | e[Q], n).push(r), Yn(t, r, i), !0)
      );
    },
    function (t, e, n, r, i) {
      if (Array.isArray(e)) {
        for (let s = 0; s < e.length; s++) ui(t, e[s], n, r, i);
        1 & (t = 0 | e[Q]) || rt(e, 1 | t);
      }
    },
  ),
  Ii = Ir(function (t, e, n, r, i, s) {
    if (2 !== t.h) return !1;
    let o = 0 | e[Q];
    return (dn(e, o, s, n, pt(o)), Yn(t, (e = gn(e, r, n)), i), !0);
  }, ui),
  Fi = ei(
    function (t, e, n) {
      return 2 === t.h && (ri(e, n, $n(t)), !0);
    },
    li,
    kr,
  ),
  Mi = ni(
    function (t, e, n) {
      return (
        (0 === t.h || 2 === t.h) &&
        ((e = un(e, 0 | e[Q], n)),
        2 == t.h ? Jn(t, Un, e) : e.push(Un(t.g)),
        !0)
      );
    },
    function (t, e, n) {
      if (null != (e = ti(ne, e)))
        for (let o = 0; o < e.length; o++) {
          var r = t,
            i = n,
            s = e[o];
          null != s && (lr(r, i, 0), ar(r.g, s));
        }
    },
    wr,
  ),
  Pi = ei(
    function (t, e, n) {
      return 0 === t.h && (ri(e, n, 0 === (t = Un(t.g)) ? void 0 : t), !0);
    },
    fi,
    wr,
  ),
  Ci = ei(
    function (t, e, n) {
      return 0 === t.h && (ri(e, n, Nn(t.g)), !0);
    },
    function (t, e, n) {
      null != (e = ee(e)) && ((e = parseInt(e, 10)), lr(t, n, 0), cr(t.g, e));
    },
    Sr,
  );
class Oi {
  constructor(t, e) {
    var n = Qi;
    ((this.g = t),
      (this.h = e),
      (this.m = yn),
      (this.j = wn),
      (this.defaultValue = void 0),
      (this.l = null != n.Oa ? dt : void 0));
  }
  register() {
    m(this);
  }
}
function Ni(t, e) {
  return new Oi(t, e);
}
function Ui(t, e) {
  return (n, r) => {
    {
      const s = { ea: !0 };
      (r && Object.assign(s, r), (n = Hn(n, void 0, void 0, s)));
      try {
        const r = new t(),
          s = r.v;
        zr(e)(s, n);
        var i = r;
      } finally {
        Wn(n);
      }
    }
    return i;
  };
}
function Di(t) {
  return function () {
    const e = new (class {
      constructor() {
        ((this.l = []),
          (this.h = 0),
          (this.g = new (class {
            constructor() {
              this.g = [];
            }
            length() {
              return this.g.length;
            }
            end() {
              const t = this.g;
              return ((this.g = []), t);
            }
          })()));
      }
    })();
    (Zr(this.v, e, jr(Cr, qr, $r, t)), ur(e, e.g.end()));
    const n = new Uint8Array(e.h),
      r = e.l,
      i = r.length;
    let s = 0;
    for (let t = 0; t < i; t++) {
      const e = r[t];
      (n.set(e, s), (s += e.length));
    }
    return ((e.l = [n]), n);
  };
}
var Bi = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Gi = [
    0,
    xi,
    ei(
      function (t, e, n) {
        return 2 === t.h && (ri(e, n, (t = $n(t)) === R() ? void 0 : t), !0);
      },
      function (t, e, n) {
        if (null != e) {
          if (e instanceof Lr) {
            const r = e.Ra;
            return void (r
              ? ((e = r(e)), null != e && pr(t, n, Pn(e, !0).buffer))
              : U(K, 3));
          }
          if (Array.isArray(e)) return void U(K, 3);
        }
        li(t, e, n);
      },
      kr,
    ),
  ];
let ji,
  Vi = globalThis.trustedTypes;
function Xi(t) {
  var e;
  return (
    void 0 === ji &&
      (ji = (function () {
        let t = null;
        if (!Vi) return t;
        try {
          const e = (t) => t;
          t = Vi.createPolicy("goog#html", {
            createHTML: e,
            createScript: e,
            createScriptURL: e,
          });
        } catch (t) {}
        return t;
      })()),
    (t = (e = ji) ? e.createScriptURL(t) : t),
    new (class {
      constructor(t) {
        this.g = t;
      }
      toString() {
        return this.g + "";
      }
    })(t)
  );
}
function Hi(t, ...e) {
  if (0 === e.length) return Xi(t[0]);
  let n = t[0];
  for (let r = 0; r < e.length; r++) n += encodeURIComponent(e[r]) + t[r + 1];
  return Xi(n);
}
var Wi = [0, wi, Ci, bi, -1, Ti, Ci, -1, bi],
  zi = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Ki = [
    0,
    bi,
    Li,
    bi,
    Ci,
    -1,
    ni(
      function (t, e, n) {
        return (
          (0 === t.h || 2 === t.h) &&
          ((e = un(e, 0 | e[Q], n)),
          2 == t.h ? Jn(t, Bn, e) : e.push(Nn(t.g)),
          !0)
        );
      },
      function (t, e, n) {
        if (null != (e = ti(ee, e)) && e.length) {
          n = fr(t, n);
          for (let n = 0; n < e.length; n++) cr(t.g, e[n]);
          dr(t, n);
        }
      },
      Sr,
    ),
    Li,
    -1,
    [0, bi, -1],
    Ci,
    bi,
    -1,
  ],
  Yi = [
    0,
    3,
    bi,
    -1,
    2,
    [
      0,
      [2],
      wi,
      Ii,
      [
        0,
        ei(
          function (t, e, n) {
            return 0 === t.h && (ri(e, n, Un(t.g)), !0);
          },
          fi,
          wr,
        ),
      ],
    ],
    [0, Ci, bi, Ci, bi, Ci, bi, Li, -1],
    [0, [3, 4], Li, -1, Ii, [0, wi], Ii, [0, Ci]],
    [0],
  ],
  qi = [0, Li, -2],
  $i = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Ji = [0],
  Zi = [0, wi, bi, 1, bi, -4],
  Qi = class extends Lr {
    constructor(t) {
      super(t, 2);
    }
  },
  ts = {};
ts[336783863] = [
  0,
  Li,
  bi,
  -1,
  wi,
  [
    0,
    [1, 2, 3, 4, 5, 6, 7, 8, 9],
    Ii,
    Ji,
    Ii,
    Ki,
    Ii,
    qi,
    Ii,
    Zi,
    Ii,
    Wi,
    Ii,
    [0, Li, -2],
    Ii,
    [0, Li, Ci],
    Ii,
    Yi,
    Ii,
    [0, Ci, -1, bi],
  ],
  [0, Li],
  bi,
  [0, [1, 3], [2, 4], Ii, [0, Ti], -1, Ii, [0, Si], -1, Ri, [0, Li, -1]],
  Li,
];
var es = [0, vi, -1, ki, -3, vi, Ti, xi, Ai, vi, -1, ki, Ai, ki, -2, xi];
function ns(t, e) {
  Fn(t, 3, e);
}
function rs(t, e) {
  Fn(t, 4, e);
}
var is = class extends Lr {
    constructor(t) {
      super(t, 500);
    }
    o(t) {
      return wn(this, 0, 7, t);
    }
  },
  ss = [-1, {}],
  os = [0, Li, 1, ss],
  as = [0, Li, Si, ss];
function cs(t, e) {
  bn(t, 1, is, e);
}
function hs(t, e) {
  Fn(t, 10, e);
}
function us(t, e) {
  Fn(t, 15, e);
}
var ls = class extends Lr {
    constructor(t) {
      super(t, 500);
    }
    o(t) {
      return wn(this, 0, 1001, t);
    }
  },
  fs = [
    -500,
    Ri,
    [
      -500,
      xi,
      -1,
      Si,
      -3,
      [-2, ts, bi],
      Ri,
      Gi,
      Ai,
      -1,
      os,
      as,
      Ri,
      [0, xi, ki],
      xi,
      es,
      Ai,
      Si,
      987,
      Si,
    ],
    4,
    Ri,
    [-500, Li, -1, [-1, {}], 998, Li],
    Ri,
    [-500, Li, Si, -1, [-2, {}, bi], 997, Si, -1],
    Ai,
    Ri,
    [-500, Li, Si, ss, 998, Si],
    Si,
    Ai,
    os,
    as,
    Ri,
    [0, xi, -1, ss],
    Si,
    -2,
    es,
    xi,
    -1,
    ki,
    [0, ki, Pi],
    978,
    ss,
    Ri,
    Gi,
  ];
ls.prototype.g = Di(fs);
var ds = Ui(ls, fs),
  ps = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  gs = class extends Lr {
    constructor(t) {
      super(t);
    }
    g() {
      return vn(this, ps, 1);
    }
  },
  ms = [0, Ri, [0, wi, pi, Li, -1]],
  ys = Ui(gs, ms),
  _s = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  vs = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Es = class extends Lr {
    constructor(t) {
      super(t);
    }
    l() {
      return yn(this, _s, 2);
    }
    g() {
      return vn(this, vs, 5);
    }
  },
  ws = Ui(
    class extends Lr {
      constructor(t) {
        super(t);
      }
    },
    [
      0,
      Si,
      Ti,
      mi,
      [
        0,
        Ci,
        [0, wi, -3],
        [0, pi, -3],
        [0, wi, -1, [0, Ri, [0, wi, -2]]],
        Ri,
        [0, pi, -1, Li, pi],
      ],
      Li,
      -1,
      _i,
      Ri,
      [0, wi, pi],
      Si,
      _i,
    ],
  ),
  Ts = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  As = Ui(
    class extends Lr {
      constructor(t) {
        super(t);
      }
    },
    [0, Ri, [0, pi, -4]],
  ),
  bs = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  ks = Ui(
    class extends Lr {
      constructor(t) {
        super(t);
      }
    },
    [0, Ri, [0, pi, -4]],
  ),
  Ss = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  xs = [0, wi, -1, mi, Ci],
  Ls = class extends Lr {
    constructor(t) {
      super(t);
    }
  };
Ls.prototype.g = Di([0, pi, -4, _i]);
var Rs = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Is = Ui(
    class extends Lr {
      constructor(t) {
        super(t);
      }
    },
    [0, Ri, [0, 1, wi, Li, ms], _i],
  ),
  Fs = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Ms = class extends Lr {
    constructor(t) {
      super(t);
    }
    na() {
      const t = $e(this, 1, void 0, void 0, an);
      return null == t ? R() : t;
    }
  },
  Ps = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Cs = [1, 2],
  Os = Ui(
    class extends Lr {
      constructor(t) {
        super(t);
      }
    },
    [0, Ri, [0, Cs, Ii, [0, mi], Ii, [0, Fi], wi, Li], _i],
  ),
  Ns = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Us = [0, Li, wi, pi, Si, -1],
  Ds = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Bs = [0, bi, -1],
  Gs = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  js = [1, 2, 3, 4, 5, 6],
  Vs = class extends Lr {
    constructor(t) {
      super(t);
    }
    g() {
      return null != $e(this, 1, void 0, void 0, an);
    }
    l() {
      return null != le($e(this, 2));
    }
  },
  Xs = class extends Lr {
    constructor(t) {
      super(t);
    }
    g() {
      return Zt($e(this, 2)) ?? !1;
    }
  },
  Hs = [0, Fi, Li, [0, wi, _i, -1], [0, Ei, _i]],
  Ws = [0, Hs, bi, [0, js, Ii, Zi, Ii, Ki, Ii, Wi, Ii, Ji, Ii, qi, Ii, Yi], Ci],
  zs = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Ks = [0, Ws, pi, -1, wi],
  Ys = Ni(502141897, zs);
ts[502141897] = Ks;
var qs = Ui(
    class extends Lr {
      constructor(t) {
        super(t);
      }
    },
    [0, [0, Ci, -1, gi, Mi], xs],
  ),
  $s = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Js = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Zs = [0, Ws, pi, [0, Ws], bi],
  Qs = Ni(508968150, Js);
((ts[508968150] = [0, Ws, Ks, Zs, pi, [0, [0, Hs]]]), (ts[508968149] = Zs));
var to = class extends Lr {
    constructor(t) {
      super(t);
    }
    l() {
      return yn(this, Ns, 2);
    }
    g() {
      Ze(this, 2);
    }
  },
  eo = [0, Ws, Us];
ts[478825465] = eo;
var no = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  ro = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  io = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  so = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  oo = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  ao = [0, Ws, [0, Ws], eo, -1],
  co = [0, Ws, pi, wi],
  ho = [0, Ws, pi],
  uo = [0, Ws, co, ho, pi],
  lo = Ni(479097054, oo);
((ts[479097054] = [0, Ws, uo, ao]), (ts[463370452] = ao), (ts[464864288] = co));
var fo = Ni(462713202, so);
((ts[462713202] = uo), (ts[474472470] = ho));
var po = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  go = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  mo = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  yo = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  _o = [0, Ws, pi, -1, wi],
  vo = [0, Ws, pi, bi];
yo.prototype.g = Di([0, Ws, ho, [0, Ws], Ks, Zs, _o, vo]);
var Eo = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  wo = Ni(456383383, Eo);
ts[456383383] = [0, Ws, Us];
var To = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Ao = Ni(476348187, To);
ts[476348187] = [0, Ws, Bs];
var bo = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  ko = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  So = [0, Ci, -1],
  xo = Ni(
    458105876,
    class extends Lr {
      constructor(t) {
        super(t);
      }
      g() {
        let t;
        var e = this.v;
        const n = 0 | e[Q];
        return (
          (t = at(this, n)),
          (e = (function (t, e, n, r) {
            var i = ko;
            !r && He(t) && (n = 0 | (e = t.v)[Q]);
            var s = Je(e, 2);
            if (((t = !1), null == s)) {
              if (r) return be();
              s = [];
            } else if (s.constructor === Ee) {
              if (!(2 & s.J) || r) return s;
              s = s.V();
            } else Array.isArray(s) ? (t = !!(2 & (0 | s[Q]))) : (s = []);
            if (r) {
              if (!s.length) return be();
              t || ((t = !0), it(s));
            } else t && ((t = !1), st(s), (s = cn(s)));
            return (
              !t && 32 & n && nt(s, 32),
              (n = Qe(e, n, 2, (r = new Ee(s, i, de, void 0)))),
              t || ze(e, n),
              r
            );
          })(this, e, n, t)),
          !t && ko && (e.ra = !0),
          e
        );
      }
    },
  );
ts[458105876] = [0, So, ii, [!0, _i, [0, Li, -1, Si]], [0, Ti, bi, Ci]];
var Lo = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Ro = Ni(458105758, Lo);
ts[458105758] = [0, Ws, Li, So];
var Io = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Fo = [0, yi, -1, ki],
  Mo = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Po = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Co = [1, 2];
Po.prototype.g = Di([0, Co, Ii, Fo, Ii, [0, Ri, Fo]]);
var Oo = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  No = Ni(443442058, Oo);
((ts[443442058] = [0, Ws, Li, wi, pi, Si, -1, bi, pi]), (ts[514774813] = _o));
var Uo = class extends Lr {
    constructor(t) {
      super(t);
    }
  },
  Do = Ni(516587230, Uo);
function Bo(t, e) {
  return (
    (e = e ? e.clone() : new Ns()),
    void 0 !== t.displayNamesLocale
      ? Ze(e, 1, ue(t.displayNamesLocale))
      : void 0 === t.displayNamesLocale && Ze(e, 1),
    void 0 !== t.maxResults
      ? xn(e, 2, t.maxResults)
      : "maxResults" in t && Ze(e, 2),
    void 0 !== t.scoreThreshold
      ? Ln(e, 3, t.scoreThreshold)
      : "scoreThreshold" in t && Ze(e, 3),
    void 0 !== t.categoryAllowlist
      ? In(e, 4, t.categoryAllowlist)
      : "categoryAllowlist" in t && Ze(e, 4),
    void 0 !== t.categoryDenylist
      ? In(e, 5, t.categoryDenylist)
      : "categoryDenylist" in t && Ze(e, 5),
    e
  );
}
function Go(t) {
  const e = Number(t);
  return Number.isSafeInteger(e) ? e : String(t);
}
function jo(t, e = -1, n = "") {
  return {
    categories: t.map((t) => ({
      index: kn(t, 1) ?? 0 ?? -1,
      score: Sn(t, 2) ?? 0,
      categoryName: le($e(t, 3)) ?? "" ?? "",
      displayName: le($e(t, 4)) ?? "" ?? "",
    })),
    headIndex: e,
    headName: n,
  };
}
function Vo(t) {
  const e = {
    classifications: vn(t, Rs, 1).map((t) =>
      jo(yn(t, gs, 4)?.g() ?? [], kn(t, 2) ?? 0, le($e(t, 3)) ?? ""),
    ),
  };
  return (
    null !=
      (function (t) {
        return null == t
          ? t
          : "bigint" == typeof t
            ? (wt(t)
                ? (t = Number(t))
                : ((t = Xt(64, t)), (t = wt(t) ? Number(t) : String(t))),
              t)
            : te(t)
              ? "number" == typeof t
                ? ie(t)
                : se(t)
              : void 0;
      })($e(t, 2, void 0, void 0, ce)) &&
      (e.timestampMs = Go($e(t, 2, void 0, void 0, ce) ?? Ye)),
    e
  );
}
function Xo(t) {
  var e = en(t, 3, $t, tn()),
    n = en(t, 2, ee, tn()),
    r = en(t, 1, le, tn()),
    i = en(t, 9, le, tn());
  const s = { categories: [], keypoints: [] };
  for (let t = 0; t < e.length; t++)
    s.categories.push({
      score: e[t],
      index: n[t] ?? -1,
      categoryName: r[t] ?? "",
      displayName: i[t] ?? "",
    });
  if (
    ((e = yn(t, Es, 4)?.l()) &&
      (s.boundingBox = {
        originX: kn(e, 1, qe) ?? 0,
        originY: kn(e, 2, qe) ?? 0,
        width: kn(e, 3, qe) ?? 0,
        height: kn(e, 4, qe) ?? 0,
        angle: 0,
      }),
    yn(t, Es, 4)?.g().length)
  )
    for (const e of yn(t, Es, 4).g())
      s.keypoints.push({
        x: $e(e, 1, void 0, qe, $t) ?? 0,
        y: $e(e, 2, void 0, qe, $t) ?? 0,
        score: $e(e, 4, void 0, qe, $t) ?? 0,
        label: le($e(e, 3, void 0, qe)) ?? "",
      });
  return s;
}
function Ho(t) {
  const e = [];
  for (const n of vn(t, bs, 1))
    e.push({
      x: Sn(n, 1) ?? 0,
      y: Sn(n, 2) ?? 0,
      z: Sn(n, 3) ?? 0,
      visibility: Sn(n, 4) ?? 0,
    });
  return e;
}
function Wo(t) {
  const e = [];
  for (const n of vn(t, Ts, 1))
    e.push({
      x: Sn(n, 1) ?? 0,
      y: Sn(n, 2) ?? 0,
      z: Sn(n, 3) ?? 0,
      visibility: Sn(n, 4) ?? 0,
    });
  return e;
}
function zo(t) {
  return Array.from(t, (t) => (t > 127 ? t - 256 : t));
}
function Ko(t, e) {
  if (t.length !== e.length)
    throw Error(
      `Cannot compute cosine similarity between embeddings of different sizes (${t.length} vs. ${e.length}).`,
    );
  let n = 0,
    r = 0,
    i = 0;
  for (let s = 0; s < t.length; s++)
    ((n += t[s] * e[s]), (r += t[s] * t[s]), (i += e[s] * e[s]));
  if (r <= 0 || i <= 0)
    throw Error("Cannot compute cosine similarity on embedding with 0 norm.");
  return n / Math.sqrt(r * i);
}
let Yo;
((ts[516587230] = [0, Ws, _o, vo, pi]), (ts[518928384] = vo));
const qo = new Uint8Array([
  0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8,
  0, 65, 0, 253, 15, 253, 98, 11,
]);
async function $o(t) {
  if (t) return !0;
  if (void 0 === Yo)
    try {
      (await WebAssembly.instantiate(qo), (Yo = !0));
    } catch {
      Yo = !1;
    }
  return Yo;
}
async function Jo(t, e, n) {
  return {
    wasmLoaderPath: `${e}/${t}_${(n = `wasm${n ? "_module" : ""}${(await $o(n)) ? "" : "_nosimd"}_internal`)}.js`,
    wasmBinaryPath: `${e}/${t}_${n}.wasm`,
  };
}
var Zo = class {};
function Qo() {
  var t = navigator;
  return (
    "undefined" != typeof OffscreenCanvas &&
    (!(function (t = navigator) {
      return (t = t.userAgent).includes("Safari") && !t.includes("Chrome");
    })(t) ||
      !!(
        (t = t.userAgent.match(/Version\/([\d]+).*Safari/)) &&
        t.length >= 1 &&
        Number(t[1]) >= 17
      ))
  );
}
async function ta(t) {
  if ("function" != typeof importScripts) {
    const e = document.createElement("script");
    return (
      (e.src = t.toString()),
      (e.crossOrigin = "anonymous"),
      new Promise((t, n) => {
        (e.addEventListener(
          "load",
          () => {
            t();
          },
          !1,
        ),
          e.addEventListener(
            "error",
            (t) => {
              n(t);
            },
            !1,
          ),
          document.body.appendChild(e));
      })
    );
  }
  try {
    importScripts(t.toString());
  } catch (e) {
    if (!(e instanceof TypeError)) throw e;
    {
      const e = self.import;
      e ? await e(t.toString()) : await import(t.toString());
    }
  }
}
function ea(t) {
  return void 0 !== t.videoWidth
    ? [t.videoWidth, t.videoHeight]
    : void 0 !== t.naturalWidth
      ? [t.naturalWidth, t.naturalHeight]
      : void 0 !== t.displayWidth
        ? [t.displayWidth, t.displayHeight]
        : [t.width, t.height];
}
function na(t, e, n) {
  (t.m ||
    console.error(
      "No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target",
    ),
    n((e = t.i.stringToNewUTF8(e))),
    t.i._free(e));
}
function ra(t, e, n) {
  if (!t.i.canvas) throw Error("No OpenGL canvas configured.");
  if (
    (n ? t.i._bindTextureToStream(n) : t.i._bindTextureToCanvas(),
    !(n = t.i.canvas.getContext("webgl2") || t.i.canvas.getContext("webgl")))
  )
    throw Error(
      "Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.",
    );
  (t.i.gpuOriginForWebTexturesIsBottomLeft &&
    n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL, !0),
    n.texImage2D(n.TEXTURE_2D, 0, n.RGBA, n.RGBA, n.UNSIGNED_BYTE, e),
    t.i.gpuOriginForWebTexturesIsBottomLeft &&
      n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL, !1));
  const [r, i] = ea(e);
  return (
    !t.l ||
      (r === t.i.canvas.width && i === t.i.canvas.height) ||
      ((t.i.canvas.width = r), (t.i.canvas.height = i)),
    [r, i]
  );
}
function ia(t, e, n) {
  t.m ||
    console.error(
      "No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target",
    );
  const r = new Uint32Array(e.length);
  for (let n = 0; n < e.length; n++) r[n] = t.i.stringToNewUTF8(e[n]);
  ((e = t.i._malloc(4 * r.length)), t.i.HEAPU32.set(r, e >> 2), n(e));
  for (const e of r) t.i._free(e);
  t.i._free(e);
}
function sa(t, e, n) {
  ((t.i.simpleListeners = t.i.simpleListeners || {}),
    (t.i.simpleListeners[e] = n));
}
function oa(t, e, n) {
  let r = [];
  ((t.i.simpleListeners = t.i.simpleListeners || {}),
    (t.i.simpleListeners[e] = (t, e, i) => {
      e ? (n(r, i), (r = [])) : r.push(t);
    }));
}
((Zo.forVisionTasks = function (t, e = !1) {
  return Jo("vision", t ?? Hi``, e);
}),
  (Zo.forTextTasks = function (t, e = !1) {
    return Jo("text", t ?? Hi``, e);
  }),
  (Zo.forGenAiTasks = function (t, e = !1) {
    return Jo("genai", t ?? Hi``, e);
  }),
  (Zo.forAudioTasks = function (t, e = !1) {
    return Jo("audio", t ?? Hi``, e);
  }),
  (Zo.isSimdSupported = function (t = !1) {
    return $o(t);
  }));
async function aa(t, e, n, r) {
  return (
    (t = await (async (t, e, n, r, i) => {
      if ((e && (await ta(e)), !self.ModuleFactory))
        throw Error("ModuleFactory not set.");
      if (n && (await ta(n), !self.ModuleFactory))
        throw Error("ModuleFactory not set.");
      return (
        self.Module &&
          i &&
          (((e = self.Module).locateFile = i.locateFile),
          i.mainScriptUrlOrBlob &&
            (e.mainScriptUrlOrBlob = i.mainScriptUrlOrBlob)),
        (i = await self.ModuleFactory(self.Module || i)),
        (self.ModuleFactory = self.Module = void 0),
        new t(i, r)
      );
    })(t, n.wasmLoaderPath, n.assetLoaderPath, e, {
      locateFile: (t) =>
        t.endsWith(".wasm")
          ? n.wasmBinaryPath.toString()
          : n.assetBinaryPath && t.endsWith(".data")
            ? n.assetBinaryPath.toString()
            : t,
    })),
    await t.o(r),
    t
  );
}
function ca(t, e) {
  const n = yn(t.baseOptions, Vs, 1) || new Vs();
  ("string" == typeof e
    ? (Ze(n, 2, ue(e)), Ze(n, 1))
    : e instanceof Uint8Array && (Ze(n, 1, ht(e, !1)), Ze(n, 2)),
    wn(t.baseOptions, 0, 1, n));
}
function ha(t) {
  try {
    const e = t.H.length;
    if (1 === e) throw Error(t.H[0].message);
    if (e > 1)
      throw Error(
        "Encountered multiple errors: " + t.H.map((t) => t.message).join(", "),
      );
  } finally {
    t.H = [];
  }
}
function ua(t, e) {
  t.C = Math.max(t.C, e);
}
function la(t, e) {
  ((t.B = new is()),
    Rn(t.B, 2, "PassThroughCalculator"),
    ns(t.B, "free_memory"),
    rs(t.B, "free_memory_unused_out"),
    hs(e, "free_memory"),
    cs(e, t.B));
}
function fa(t, e) {
  (ns(t.B, e), rs(t.B, e + "_unused_out"));
}
function da(t) {
  t.g.addBoolToStream(!0, "free_memory", t.C);
}
var pa = class {
  constructor(t) {
    ((this.g = t),
      (this.H = []),
      (this.C = 0),
      this.g.setAutoRenderToScreen(!1));
  }
  l(t, e = !0) {
    if (e) {
      const e = t.baseOptions || {};
      if (t.baseOptions?.modelAssetBuffer && t.baseOptions?.modelAssetPath)
        throw Error(
          "Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer",
        );
      if (
        !(
          yn(this.baseOptions, Vs, 1)?.g() ||
          yn(this.baseOptions, Vs, 1)?.l() ||
          t.baseOptions?.modelAssetBuffer ||
          t.baseOptions?.modelAssetPath
        )
      )
        throw Error(
          "Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set",
        );
      if (
        ((function (t, e) {
          let n = yn(t.baseOptions, Gs, 3);
          if (!n) {
            var r = (n = new Gs()),
              i = new $i();
            Tn(r, 4, js, i);
          }
          ("delegate" in e &&
            ("GPU" === e.delegate
              ? ((e = n), (r = new zi()), Tn(e, 2, js, r))
              : ((e = n), (r = new $i()), Tn(e, 4, js, r))),
            wn(t.baseOptions, 0, 3, n));
        })(this, e),
        e.modelAssetPath)
      )
        return fetch(e.modelAssetPath.toString())
          .then((t) => {
            if (t.ok) return t.arrayBuffer();
            throw Error(
              `Failed to fetch model: ${e.modelAssetPath} (${t.status})`,
            );
          })
          .then((t) => {
            try {
              this.g.i.FS_unlink("/model.dat");
            } catch {}
            (this.g.i.FS_createDataFile(
              "/",
              "model.dat",
              new Uint8Array(t),
              !0,
              !1,
              !1,
            ),
              ca(this, "/model.dat"),
              this.m(),
              this.L());
          });
      if (e.modelAssetBuffer instanceof Uint8Array)
        ca(this, e.modelAssetBuffer);
      else if (e.modelAssetBuffer)
        return (async function (t) {
          const e = [];
          for (var n = 0; ; ) {
            const { done: r, value: i } = await t.read();
            if (r) break;
            (e.push(i), (n += i.length));
          }
          if (0 === e.length) return new Uint8Array(0);
          if (1 === e.length) return e[0];
          ((t = new Uint8Array(n)), (n = 0));
          for (const r of e) (t.set(r, n), (n += r.length));
          return t;
        })(e.modelAssetBuffer).then((t) => {
          (ca(this, t), this.m(), this.L());
        });
    }
    return (this.m(), this.L(), Promise.resolve());
  }
  L() {}
  ca() {
    let t;
    if (
      (this.g.ca((e) => {
        t = ds(e);
      }),
      !t)
    )
      throw Error("Failed to retrieve CalculatorGraphConfig");
    return t;
  }
  setGraph(t, e) {
    (this.g.attachErrorListener((t, e) => {
      this.H.push(Error(e));
    }),
      this.g.Ja(),
      this.g.setGraph(t, e),
      (this.B = void 0),
      ha(this));
  }
  finishProcessing() {
    (this.g.finishProcessing(), ha(this));
  }
  close() {
    ((this.B = void 0), this.g.closeGraph());
  }
};
function ga(t, e) {
  if (!t) throw Error(`Unable to obtain required WebGL resource: ${e}`);
  return t;
}
pa.prototype.close = pa.prototype.close;
class ma {
  constructor(t, e, n, r) {
    ((this.g = t), (this.h = e), (this.m = n), (this.l = r));
  }
  bind() {
    this.g.bindVertexArray(this.h);
  }
  close() {
    (this.g.deleteVertexArray(this.h),
      this.g.deleteBuffer(this.m),
      this.g.deleteBuffer(this.l));
  }
}
function ya(t, e, n) {
  const r = t.g;
  if (
    ((n = ga(r.createShader(n), "Failed to create WebGL shader")),
    r.shaderSource(n, e),
    r.compileShader(n),
    !r.getShaderParameter(n, r.COMPILE_STATUS))
  )
    throw Error(`Could not compile WebGL shader: ${r.getShaderInfoLog(n)}`);
  return (r.attachShader(t.h, n), n);
}
function _a(t, e) {
  const n = t.g,
    r = ga(n.createVertexArray(), "Failed to create vertex array");
  n.bindVertexArray(r);
  const i = ga(n.createBuffer(), "Failed to create buffer");
  (n.bindBuffer(n.ARRAY_BUFFER, i),
    n.enableVertexAttribArray(t.O),
    n.vertexAttribPointer(t.O, 2, n.FLOAT, !1, 0, 0),
    n.bufferData(
      n.ARRAY_BUFFER,
      new Float32Array([-1, -1, -1, 1, 1, 1, 1, -1]),
      n.STATIC_DRAW,
    ));
  const s = ga(n.createBuffer(), "Failed to create buffer");
  return (
    n.bindBuffer(n.ARRAY_BUFFER, s),
    n.enableVertexAttribArray(t.L),
    n.vertexAttribPointer(t.L, 2, n.FLOAT, !1, 0, 0),
    n.bufferData(
      n.ARRAY_BUFFER,
      new Float32Array(e ? [0, 1, 0, 0, 1, 0, 1, 1] : [0, 0, 0, 1, 1, 1, 1, 0]),
      n.STATIC_DRAW,
    ),
    n.bindBuffer(n.ARRAY_BUFFER, null),
    n.bindVertexArray(null),
    new ma(n, r, i, s)
  );
}
function va(t, e) {
  if (t.g) {
    if (e !== t.g) throw Error("Cannot change GL context once initialized");
  } else t.g = e;
}
function Ea(t, e, n, r) {
  return (
    va(t, e),
    t.h || (t.m(), t.D()),
    n
      ? (t.u || (t.u = _a(t, !0)), (n = t.u))
      : (t.A || (t.A = _a(t, !1)), (n = t.A)),
    e.useProgram(t.h),
    n.bind(),
    t.l(),
    (t = r()),
    n.g.bindVertexArray(null),
    t
  );
}
function wa(t, e, n) {
  return (
    va(t, e),
    (t = ga(e.createTexture(), "Failed to create texture")),
    e.bindTexture(e.TEXTURE_2D, t),
    e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, e.CLAMP_TO_EDGE),
    e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, e.CLAMP_TO_EDGE),
    e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, n ?? e.LINEAR),
    e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, n ?? e.LINEAR),
    e.bindTexture(e.TEXTURE_2D, null),
    t
  );
}
function Ta(t, e, n) {
  (va(t, e),
    t.B || (t.B = ga(e.createFramebuffer(), "Failed to create framebuffe.")),
    e.bindFramebuffer(e.FRAMEBUFFER, t.B),
    e.framebufferTexture2D(
      e.FRAMEBUFFER,
      e.COLOR_ATTACHMENT0,
      e.TEXTURE_2D,
      n,
      0,
    ));
}
function Aa(t) {
  t.g?.bindFramebuffer(t.g.FRAMEBUFFER, null);
}
var ba = class {
  H() {
    return "\n  precision mediump float;\n  varying vec2 vTex;\n  uniform sampler2D inputTexture;\n  void main() {\n    gl_FragColor = texture2D(inputTexture, vTex);\n  }\n ";
  }
  m() {
    const t = this.g;
    if (
      ((this.h = ga(t.createProgram(), "Failed to create WebGL program")),
      (this.X = ya(
        this,
        "\n  attribute vec2 aVertex;\n  attribute vec2 aTex;\n  varying vec2 vTex;\n  void main(void) {\n    gl_Position = vec4(aVertex, 0.0, 1.0);\n    vTex = aTex;\n  }",
        t.VERTEX_SHADER,
      )),
      (this.W = ya(this, this.H(), t.FRAGMENT_SHADER)),
      t.linkProgram(this.h),
      !t.getProgramParameter(this.h, t.LINK_STATUS))
    )
      throw Error(
        `Error during program linking: ${t.getProgramInfoLog(this.h)}`,
      );
    ((this.O = t.getAttribLocation(this.h, "aVertex")),
      (this.L = t.getAttribLocation(this.h, "aTex")));
  }
  D() {}
  l() {}
  close() {
    if (this.h) {
      const t = this.g;
      (t.deleteProgram(this.h), t.deleteShader(this.X), t.deleteShader(this.W));
    }
    (this.B && this.g.deleteFramebuffer(this.B),
      this.A && this.A.close(),
      this.u && this.u.close());
  }
};
var ka = class extends ba {
    H() {
      return "\n  precision mediump float;\n  uniform sampler2D backgroundTexture;\n  uniform sampler2D maskTexture;\n  uniform sampler2D colorMappingTexture;\n  varying vec2 vTex;\n  void main() {\n    vec4 backgroundColor = texture2D(backgroundTexture, vTex);\n    float category = texture2D(maskTexture, vTex).r;\n    vec4 categoryColor = texture2D(colorMappingTexture, vec2(category, 0.0));\n    gl_FragColor = mix(backgroundColor, categoryColor, categoryColor.a);\n  }\n ";
    }
    D() {
      const t = this.g;
      (t.activeTexture(t.TEXTURE1),
        (this.C = wa(this, t, t.LINEAR)),
        t.activeTexture(t.TEXTURE2),
        (this.j = wa(this, t, t.NEAREST)));
    }
    m() {
      super.m();
      const t = this.g;
      ((this.P = ga(
        t.getUniformLocation(this.h, "backgroundTexture"),
        "Uniform location",
      )),
        (this.U = ga(
          t.getUniformLocation(this.h, "colorMappingTexture"),
          "Uniform location",
        )),
        (this.M = ga(
          t.getUniformLocation(this.h, "maskTexture"),
          "Uniform location",
        )));
    }
    l() {
      super.l();
      const t = this.g;
      (t.uniform1i(this.M, 0), t.uniform1i(this.P, 1), t.uniform1i(this.U, 2));
    }
    close() {
      (this.C && this.g.deleteTexture(this.C),
        this.j && this.g.deleteTexture(this.j),
        super.close());
    }
  },
  Sa = class extends ba {
    H() {
      return "\n  precision mediump float;\n  uniform sampler2D maskTexture;\n  uniform sampler2D defaultTexture;\n  uniform sampler2D overlayTexture;\n  varying vec2 vTex;\n  void main() {\n    float confidence = texture2D(maskTexture, vTex).r;\n    vec4 defaultColor = texture2D(defaultTexture, vTex);\n    vec4 overlayColor = texture2D(overlayTexture, vTex);\n    // Apply the alpha from the overlay and merge in the default color\n    overlayColor = mix(defaultColor, overlayColor, overlayColor.a);\n    gl_FragColor = mix(defaultColor, overlayColor, confidence);\n  }\n ";
    }
    D() {
      const t = this.g;
      (t.activeTexture(t.TEXTURE1),
        (this.j = wa(this, t)),
        t.activeTexture(t.TEXTURE2),
        (this.C = wa(this, t)));
    }
    m() {
      super.m();
      const t = this.g;
      ((this.M = ga(
        t.getUniformLocation(this.h, "defaultTexture"),
        "Uniform location",
      )),
        (this.P = ga(
          t.getUniformLocation(this.h, "overlayTexture"),
          "Uniform location",
        )),
        (this.I = ga(
          t.getUniformLocation(this.h, "maskTexture"),
          "Uniform location",
        )));
    }
    l() {
      super.l();
      const t = this.g;
      (t.uniform1i(this.I, 0), t.uniform1i(this.M, 1), t.uniform1i(this.P, 2));
    }
    close() {
      (this.j && this.g.deleteTexture(this.j),
        this.C && this.g.deleteTexture(this.C),
        super.close());
    }
  };
function xa(t, e) {
  switch (e) {
    case 0:
      return t.g.find((t) => t instanceof Uint8Array);
    case 1:
      return t.g.find((t) => t instanceof Float32Array);
    case 2:
      return t.g.find(
        (t) => "undefined" != typeof WebGLTexture && t instanceof WebGLTexture,
      );
    default:
      throw Error(`Type is not supported: ${e}`);
  }
}
function La(t) {
  var e = xa(t, 1);
  if (!e) {
    if ((e = xa(t, 0))) e = new Float32Array(e).map((t) => t / 255);
    else {
      e = new Float32Array(t.width * t.height);
      const r = Ia(t);
      var n = Ma(t);
      if (
        (Ta(n, r, Ra(t)),
        "iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod"
          .split(";")
          .includes(navigator.platform) ||
          (navigator.userAgent.includes("Mac") &&
            "document" in self &&
            "ontouchend" in self.document))
      ) {
        ((n = new Float32Array(t.width * t.height * 4)),
          r.readPixels(0, 0, t.width, t.height, r.RGBA, r.FLOAT, n));
        for (let t = 0, r = 0; t < e.length; ++t, r += 4) e[t] = n[r];
      } else r.readPixels(0, 0, t.width, t.height, r.RED, r.FLOAT, e);
    }
    t.g.push(e);
  }
  return e;
}
function Ra(t) {
  let e = xa(t, 2);
  if (!e) {
    const n = Ia(t);
    e = Pa(t);
    const r = La(t),
      i = Fa(t);
    (n.texImage2D(n.TEXTURE_2D, 0, i, t.width, t.height, 0, n.RED, n.FLOAT, r),
      Ca(t));
  }
  return e;
}
function Ia(t) {
  if (!t.canvas)
    throw Error(
      "Conversion to different image formats require that a canvas is passed when initializing the image.",
    );
  return (
    t.h ||
      (t.h = ga(
        t.canvas.getContext("webgl2"),
        "You cannot use a canvas that is already bound to a different type of rendering context.",
      )),
    t.h
  );
}
function Fa(t) {
  if (((t = Ia(t)), !Oa))
    if (
      t.getExtension("EXT_color_buffer_float") &&
      t.getExtension("OES_texture_float_linear") &&
      t.getExtension("EXT_float_blend")
    )
      Oa = t.R32F;
    else {
      if (!t.getExtension("EXT_color_buffer_half_float"))
        throw Error(
          "GPU does not fully support 4-channel float32 or float16 formats",
        );
      Oa = t.R16F;
    }
  return Oa;
}
function Ma(t) {
  return (t.l || (t.l = new ba()), t.l);
}
function Pa(t) {
  const e = Ia(t);
  (e.viewport(0, 0, t.width, t.height), e.activeTexture(e.TEXTURE0));
  let n = xa(t, 2);
  return (
    n ||
      ((n = wa(Ma(t), e, t.m ? e.LINEAR : e.NEAREST)), t.g.push(n), (t.j = !0)),
    e.bindTexture(e.TEXTURE_2D, n),
    n
  );
}
function Ca(t) {
  t.h.bindTexture(t.h.TEXTURE_2D, null);
}
var Oa,
  Na = class {
    constructor(t, e, n, r, i, s, o) {
      ((this.g = t),
        (this.m = e),
        (this.j = n),
        (this.canvas = r),
        (this.l = i),
        (this.width = s),
        (this.height = o),
        this.j &&
          0 === --Ua &&
          console.error(
            "You seem to be creating MPMask instances without invoking .close(). This leaks resources.",
          ));
    }
    Fa() {
      return !!xa(this, 0);
    }
    ka() {
      return !!xa(this, 1);
    }
    R() {
      return !!xa(this, 2);
    }
    ja() {
      return (
        (e = xa((t = this), 0)) ||
          ((e = La(t)),
          (e = new Uint8Array(e.map((t) => Math.round(255 * t)))),
          t.g.push(e)),
        e
      );
      var t, e;
    }
    ia() {
      return La(this);
    }
    N() {
      return Ra(this);
    }
    clone() {
      const t = [];
      for (const e of this.g) {
        let n;
        if (e instanceof Uint8Array) n = new Uint8Array(e);
        else if (e instanceof Float32Array) n = new Float32Array(e);
        else {
          if (!(e instanceof WebGLTexture))
            throw Error(`Type is not supported: ${e}`);
          {
            const t = Ia(this),
              e = Ma(this);
            (t.activeTexture(t.TEXTURE1),
              (n = wa(e, t, this.m ? t.LINEAR : t.NEAREST)),
              t.bindTexture(t.TEXTURE_2D, n));
            const r = Fa(this);
            (t.texImage2D(
              t.TEXTURE_2D,
              0,
              r,
              this.width,
              this.height,
              0,
              t.RED,
              t.FLOAT,
              null,
            ),
              t.bindTexture(t.TEXTURE_2D, null),
              Ta(e, t, n),
              Ea(e, t, !1, () => {
                (Pa(this),
                  t.clearColor(0, 0, 0, 0),
                  t.clear(t.COLOR_BUFFER_BIT),
                  t.drawArrays(t.TRIANGLE_FAN, 0, 4),
                  Ca(this));
              }),
              Aa(e),
              Ca(this));
          }
        }
        t.push(n);
      }
      return new Na(
        t,
        this.m,
        this.R(),
        this.canvas,
        this.l,
        this.width,
        this.height,
      );
    }
    close() {
      (this.j && Ia(this).deleteTexture(xa(this, 2)), (Ua = -1));
    }
  };
((Na.prototype.close = Na.prototype.close),
  (Na.prototype.clone = Na.prototype.clone),
  (Na.prototype.getAsWebGLTexture = Na.prototype.N),
  (Na.prototype.getAsFloat32Array = Na.prototype.ia),
  (Na.prototype.getAsUint8Array = Na.prototype.ja),
  (Na.prototype.hasWebGLTexture = Na.prototype.R),
  (Na.prototype.hasFloat32Array = Na.prototype.ka),
  (Na.prototype.hasUint8Array = Na.prototype.Fa));
var Ua = 250;
const Da = { color: "white", lineWidth: 4, radius: 6 };
function Ba(t) {
  return { ...Da, fillColor: (t = t || {}).color, ...t };
}
function Ga(t, e) {
  return t instanceof Function ? t(e) : t;
}
function ja(t, e, n) {
  return Math.max(Math.min(e, n), Math.min(Math.max(e, n), t));
}
function Va(t) {
  if (!t.l)
    throw Error(
      "CPU rendering requested but CanvasRenderingContext2D not provided.",
    );
  return t.l;
}
function Xa(t) {
  if (!t.j)
    throw Error(
      "GPU rendering requested but WebGL2RenderingContext not provided.",
    );
  return t.j;
}
function Ha(t, e, n) {
  if (e.R()) n(e.N());
  else {
    const r = e.ka() ? e.ia() : e.ja();
    t.m = t.m ?? new ba();
    const i = Xa(t);
    (n((t = new Na([r], e.m, !1, i.canvas, t.m, e.width, e.height)).N()),
      t.close());
  }
}
function Wa(t, e, n, r) {
  const i = (function (t) {
      return (t.g || (t.g = new ka()), t.g);
    })(t),
    s = Xa(t),
    o = Array.isArray(n) ? new ImageData(new Uint8ClampedArray(n), 1, 1) : n;
  Ea(i, s, !0, () => {
    (!(function (t, e, n, r) {
      const i = t.g;
      if (
        (i.activeTexture(i.TEXTURE0),
        i.bindTexture(i.TEXTURE_2D, e),
        i.activeTexture(i.TEXTURE1),
        i.bindTexture(i.TEXTURE_2D, t.C),
        i.texImage2D(i.TEXTURE_2D, 0, i.RGBA, i.RGBA, i.UNSIGNED_BYTE, n),
        t.I &&
          (function (t, e) {
            if (t !== e) return !1;
            ((t = t.entries()), (e = e.entries()));
            for (const [n, r] of t) {
              t = n;
              const i = r,
                s = e.next();
              if (s.done) return !1;
              const [o, a] = s.value;
              if (
                t !== o ||
                i[0] !== a[0] ||
                i[1] !== a[1] ||
                i[2] !== a[2] ||
                i[3] !== a[3]
              )
                return !1;
            }
            return !!e.next().done;
          })(t.I, r))
      )
        (i.activeTexture(i.TEXTURE2), i.bindTexture(i.TEXTURE_2D, t.j));
      else {
        t.I = r;
        const e = Array(1024).fill(0);
        (r.forEach((t, n) => {
          if (4 !== t.length)
            throw Error(`Color at index ${n} is not a four-channel value.`);
          ((e[4 * n] = t[0]),
            (e[4 * n + 1] = t[1]),
            (e[4 * n + 2] = t[2]),
            (e[4 * n + 3] = t[3]));
        }),
          i.activeTexture(i.TEXTURE2),
          i.bindTexture(i.TEXTURE_2D, t.j),
          i.texImage2D(
            i.TEXTURE_2D,
            0,
            i.RGBA,
            256,
            1,
            0,
            i.RGBA,
            i.UNSIGNED_BYTE,
            new Uint8Array(e),
          ));
      }
    })(i, e, o, r),
      s.clearColor(0, 0, 0, 0),
      s.clear(s.COLOR_BUFFER_BIT),
      s.drawArrays(s.TRIANGLE_FAN, 0, 4));
    const t = i.g;
    (t.activeTexture(t.TEXTURE0),
      t.bindTexture(t.TEXTURE_2D, null),
      t.activeTexture(t.TEXTURE1),
      t.bindTexture(t.TEXTURE_2D, null),
      t.activeTexture(t.TEXTURE2),
      t.bindTexture(t.TEXTURE_2D, null));
  });
}
function za(t, e, n, r) {
  const i = Xa(t),
    s = (function (t) {
      return (t.h || (t.h = new Sa()), t.h);
    })(t),
    o = Array.isArray(n) ? new ImageData(new Uint8ClampedArray(n), 1, 1) : n,
    a = Array.isArray(r) ? new ImageData(new Uint8ClampedArray(r), 1, 1) : r;
  Ea(s, i, !0, () => {
    var t = s.g;
    (t.activeTexture(t.TEXTURE0),
      t.bindTexture(t.TEXTURE_2D, e),
      t.activeTexture(t.TEXTURE1),
      t.bindTexture(t.TEXTURE_2D, s.j),
      t.texImage2D(t.TEXTURE_2D, 0, t.RGBA, t.RGBA, t.UNSIGNED_BYTE, o),
      t.activeTexture(t.TEXTURE2),
      t.bindTexture(t.TEXTURE_2D, s.C),
      t.texImage2D(t.TEXTURE_2D, 0, t.RGBA, t.RGBA, t.UNSIGNED_BYTE, a),
      i.clearColor(0, 0, 0, 0),
      i.clear(i.COLOR_BUFFER_BIT),
      i.drawArrays(i.TRIANGLE_FAN, 0, 4),
      i.bindTexture(i.TEXTURE_2D, null),
      (t = s.g).activeTexture(t.TEXTURE0),
      t.bindTexture(t.TEXTURE_2D, null),
      t.activeTexture(t.TEXTURE1),
      t.bindTexture(t.TEXTURE_2D, null),
      t.activeTexture(t.TEXTURE2),
      t.bindTexture(t.TEXTURE_2D, null));
  });
}
var Ka = class {
  constructor(t, e) {
    ("undefined" != typeof CanvasRenderingContext2D &&
      t instanceof CanvasRenderingContext2D) ||
    t instanceof OffscreenCanvasRenderingContext2D
      ? ((this.l = t), (this.j = e))
      : (this.j = t);
  }
  ya(t, e) {
    if (t) {
      var n = Va(this);
      ((e = Ba(e)), n.save());
      var r = n.canvas,
        i = 0;
      for (const s of t)
        ((n.fillStyle = Ga(e.fillColor, { index: i, from: s })),
          (n.strokeStyle = Ga(e.color, { index: i, from: s })),
          (n.lineWidth = Ga(e.lineWidth, { index: i, from: s })),
          (t = new Path2D()).arc(
            s.x * r.width,
            s.y * r.height,
            Ga(e.radius, { index: i, from: s }),
            0,
            2 * Math.PI,
          ),
          n.fill(t),
          n.stroke(t),
          ++i);
      n.restore();
    }
  }
  xa(t, e, n) {
    if (t && e) {
      var r = Va(this);
      ((n = Ba(n)), r.save());
      var i = r.canvas,
        s = 0;
      for (const o of e) {
        (r.beginPath(), (e = t[o.start]));
        const a = t[o.end];
        (e &&
          a &&
          ((r.strokeStyle = Ga(n.color, { index: s, from: e, to: a })),
          (r.lineWidth = Ga(n.lineWidth, { index: s, from: e, to: a })),
          r.moveTo(e.x * i.width, e.y * i.height),
          r.lineTo(a.x * i.width, a.y * i.height)),
          ++s,
          r.stroke());
      }
      r.restore();
    }
  }
  ua(t, e) {
    const n = Va(this);
    ((e = Ba(e)),
      n.save(),
      n.beginPath(),
      (n.lineWidth = Ga(e.lineWidth, {})),
      (n.strokeStyle = Ga(e.color, {})),
      (n.fillStyle = Ga(e.fillColor, {})),
      n.moveTo(t.originX, t.originY),
      n.lineTo(t.originX + t.width, t.originY),
      n.lineTo(t.originX + t.width, t.originY + t.height),
      n.lineTo(t.originX, t.originY + t.height),
      n.lineTo(t.originX, t.originY),
      n.stroke(),
      n.fill(),
      n.restore());
  }
  va(t, e, n = [0, 0, 0, 255]) {
    this.l
      ? (function (t, e, n, r) {
          const i = Xa(t);
          Ha(t, e, (e) => {
            (Wa(t, e, n, r),
              (e = Va(t)).drawImage(
                i.canvas,
                0,
                0,
                e.canvas.width,
                e.canvas.height,
              ));
          });
        })(this, t, n, e)
      : Wa(this, t.N(), n, e);
  }
  wa(t, e, n) {
    this.l
      ? (function (t, e, n, r) {
          const i = Xa(t);
          Ha(t, e, (e) => {
            (za(t, e, n, r),
              (e = Va(t)).drawImage(
                i.canvas,
                0,
                0,
                e.canvas.width,
                e.canvas.height,
              ));
          });
        })(this, t, e, n)
      : za(this, t.N(), e, n);
  }
  close() {
    (this.g?.close(),
      (this.g = void 0),
      this.h?.close(),
      (this.h = void 0),
      this.m?.close(),
      (this.m = void 0));
  }
};
function Ya(t, e) {
  switch (e) {
    case 0:
      return t.g.find((t) => t instanceof ImageData);
    case 1:
      return t.g.find(
        (t) => "undefined" != typeof ImageBitmap && t instanceof ImageBitmap,
      );
    case 2:
      return t.g.find(
        (t) => "undefined" != typeof WebGLTexture && t instanceof WebGLTexture,
      );
    default:
      throw Error(`Type is not supported: ${e}`);
  }
}
function qa(t) {
  var e = Ya(t, 0);
  if (!e) {
    e = Ja(t);
    const n = Za(t),
      r = new Uint8Array(t.width * t.height * 4);
    (Ta(n, e, $a(t)),
      e.readPixels(0, 0, t.width, t.height, e.RGBA, e.UNSIGNED_BYTE, r),
      Aa(n),
      (e = new ImageData(new Uint8ClampedArray(r.buffer), t.width, t.height)),
      t.g.push(e));
  }
  return e;
}
function $a(t) {
  let e = Ya(t, 2);
  if (!e) {
    const n = Ja(t);
    e = Qa(t);
    const r = Ya(t, 1) || qa(t);
    (n.texImage2D(n.TEXTURE_2D, 0, n.RGBA, n.RGBA, n.UNSIGNED_BYTE, r), tc(t));
  }
  return e;
}
function Ja(t) {
  if (!t.canvas)
    throw Error(
      "Conversion to different image formats require that a canvas is passed when initializing the image.",
    );
  return (
    t.h ||
      (t.h = ga(
        t.canvas.getContext("webgl2"),
        "You cannot use a canvas that is already bound to a different type of rendering context.",
      )),
    t.h
  );
}
function Za(t) {
  return (t.l || (t.l = new ba()), t.l);
}
function Qa(t) {
  const e = Ja(t);
  (e.viewport(0, 0, t.width, t.height), e.activeTexture(e.TEXTURE0));
  let n = Ya(t, 2);
  return (
    n || ((n = wa(Za(t), e)), t.g.push(n), (t.m = !0)),
    e.bindTexture(e.TEXTURE_2D, n),
    n
  );
}
function tc(t) {
  t.h.bindTexture(t.h.TEXTURE_2D, null);
}
function ec(t) {
  const e = Ja(t);
  return Ea(Za(t), e, !0, () =>
    (function (t, e) {
      const n = t.canvas;
      if (n.width === t.width && n.height === t.height) return e();
      const r = n.width,
        i = n.height;
      return (
        (n.width = t.width),
        (n.height = t.height),
        (t = e()),
        (n.width = r),
        (n.height = i),
        t
      );
    })(t, () => {
      if (
        (e.bindFramebuffer(e.FRAMEBUFFER, null),
        e.clearColor(0, 0, 0, 0),
        e.clear(e.COLOR_BUFFER_BIT),
        e.drawArrays(e.TRIANGLE_FAN, 0, 4),
        !(t.canvas instanceof OffscreenCanvas))
      )
        throw Error(
          "Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas",
        );
      return t.canvas.transferToImageBitmap();
    }),
  );
}
((Ka.prototype.close = Ka.prototype.close),
  (Ka.prototype.drawConfidenceMask = Ka.prototype.wa),
  (Ka.prototype.drawCategoryMask = Ka.prototype.va),
  (Ka.prototype.drawBoundingBox = Ka.prototype.ua),
  (Ka.prototype.drawConnectors = Ka.prototype.xa),
  (Ka.prototype.drawLandmarks = Ka.prototype.ya),
  (Ka.lerp = function (t, e, n, r, i) {
    return ja(r * (1 - (t - e) / (n - e)) + i * (1 - (n - t) / (n - e)), r, i);
  }),
  (Ka.clamp = ja));
var nc = class {
  constructor(t, e, n, r, i, s, o) {
    ((this.g = t),
      (this.j = e),
      (this.m = n),
      (this.canvas = r),
      (this.l = i),
      (this.width = s),
      (this.height = o),
      (this.j || this.m) &&
        0 === --rc &&
        console.error(
          "You seem to be creating MPImage instances without invoking .close(). This leaks resources.",
        ));
  }
  Ea() {
    return !!Ya(this, 0);
  }
  la() {
    return !!Ya(this, 1);
  }
  R() {
    return !!Ya(this, 2);
  }
  Ca() {
    return qa(this);
  }
  Ba() {
    var t = Ya(this, 1);
    return (
      t ||
        ($a(this),
        Qa(this),
        (t = ec(this)),
        tc(this),
        this.g.push(t),
        (this.j = !0)),
      t
    );
  }
  N() {
    return $a(this);
  }
  clone() {
    const t = [];
    for (const e of this.g) {
      let n;
      if (e instanceof ImageData)
        n = new ImageData(e.data, this.width, this.height);
      else if (e instanceof WebGLTexture) {
        const t = Ja(this),
          e = Za(this);
        (t.activeTexture(t.TEXTURE1),
          (n = wa(e, t)),
          t.bindTexture(t.TEXTURE_2D, n),
          t.texImage2D(
            t.TEXTURE_2D,
            0,
            t.RGBA,
            this.width,
            this.height,
            0,
            t.RGBA,
            t.UNSIGNED_BYTE,
            null,
          ),
          t.bindTexture(t.TEXTURE_2D, null),
          Ta(e, t, n),
          Ea(e, t, !1, () => {
            (Qa(this),
              t.clearColor(0, 0, 0, 0),
              t.clear(t.COLOR_BUFFER_BIT),
              t.drawArrays(t.TRIANGLE_FAN, 0, 4),
              tc(this));
          }),
          Aa(e),
          tc(this));
      } else {
        if (!(e instanceof ImageBitmap))
          throw Error(`Type is not supported: ${e}`);
        ($a(this), Qa(this), (n = ec(this)), tc(this));
      }
      t.push(n);
    }
    return new nc(
      t,
      this.la(),
      this.R(),
      this.canvas,
      this.l,
      this.width,
      this.height,
    );
  }
  close() {
    (this.j && Ya(this, 1).close(),
      this.m && Ja(this).deleteTexture(Ya(this, 2)),
      (rc = -1));
  }
};
((nc.prototype.close = nc.prototype.close),
  (nc.prototype.clone = nc.prototype.clone),
  (nc.prototype.getAsWebGLTexture = nc.prototype.N),
  (nc.prototype.getAsImageBitmap = nc.prototype.Ba),
  (nc.prototype.getAsImageData = nc.prototype.Ca),
  (nc.prototype.hasWebGLTexture = nc.prototype.R),
  (nc.prototype.hasImageBitmap = nc.prototype.la),
  (nc.prototype.hasImageData = nc.prototype.Ea));
var rc = 250;
function ic(...t) {
  return t.map(([t, e]) => ({ start: t, end: e }));
}
const sc = (function (t) {
  return class extends t {
    Ja() {
      this.i._registerModelResourcesGraphService();
    }
  };
})(
  ((oc = class {
    constructor(t, e) {
      ((this.l = !0),
        (this.i = t),
        (this.g = null),
        (this.h = 0),
        (this.m = "function" == typeof this.i._addIntToInputStream),
        void 0 !== e
          ? (this.i.canvas = e)
          : Qo()
            ? (this.i.canvas = new OffscreenCanvas(1, 1))
            : (console.warn(
                "OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas.",
              ),
              (this.i.canvas = document.createElement("canvas"))));
    }
    async initializeGraph(t) {
      const e = await (await fetch(t)).arrayBuffer();
      ((t = !(t.endsWith(".pbtxt") || t.endsWith(".textproto"))),
        this.setGraph(new Uint8Array(e), t));
    }
    setGraphFromString(t) {
      this.setGraph(new TextEncoder().encode(t), !1);
    }
    setGraph(t, e) {
      const n = t.length,
        r = this.i._malloc(n);
      (this.i.HEAPU8.set(t, r),
        e ? this.i._changeBinaryGraph(n, r) : this.i._changeTextGraph(n, r),
        this.i._free(r));
    }
    configureAudio(t, e, n, r, i) {
      (this.i._configureAudio ||
        console.warn(
          'Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?',
        ),
        na(this, r || "input_audio", (r) => {
          na(this, (i = i || "audio_header"), (i) => {
            this.i._configureAudio(r, i, t, e ?? 0, n);
          });
        }));
    }
    setAutoResizeCanvas(t) {
      this.l = t;
    }
    setAutoRenderToScreen(t) {
      this.i._setAutoRenderToScreen(t);
    }
    setGpuBufferVerticalFlip(t) {
      this.i.gpuOriginForWebTexturesIsBottomLeft = t;
    }
    ca(t) {
      (sa(this, "__graph_config__", (e) => {
        t(e);
      }),
        na(this, "__graph_config__", (t) => {
          this.i._getGraphConfig(t, void 0);
        }),
        delete this.i.simpleListeners.__graph_config__);
    }
    attachErrorListener(t) {
      this.i.errorListener = t;
    }
    attachEmptyPacketListener(t, e) {
      ((this.i.emptyPacketListeners = this.i.emptyPacketListeners || {}),
        (this.i.emptyPacketListeners[t] = e));
    }
    addAudioToStream(t, e, n) {
      this.addAudioToStreamWithShape(t, 0, 0, e, n);
    }
    addAudioToStreamWithShape(t, e, n, r, i) {
      const s = 4 * t.length;
      (this.h !== s &&
        (this.g && this.i._free(this.g),
        (this.g = this.i._malloc(s)),
        (this.h = s)),
        this.i.HEAPF32.set(t, this.g / 4),
        na(this, r, (t) => {
          this.i._addAudioToInputStream(this.g, e, n, t, i);
        }));
    }
    addGpuBufferToStream(t, e, n) {
      na(this, e, (e) => {
        const [r, i] = ra(this, t, e);
        this.i._addBoundTextureToStream(e, r, i, n);
      });
    }
    addBoolToStream(t, e, n) {
      na(this, e, (e) => {
        this.i._addBoolToInputStream(t, e, n);
      });
    }
    addDoubleToStream(t, e, n) {
      na(this, e, (e) => {
        this.i._addDoubleToInputStream(t, e, n);
      });
    }
    addFloatToStream(t, e, n) {
      na(this, e, (e) => {
        this.i._addFloatToInputStream(t, e, n);
      });
    }
    addIntToStream(t, e, n) {
      na(this, e, (e) => {
        this.i._addIntToInputStream(t, e, n);
      });
    }
    addUintToStream(t, e, n) {
      na(this, e, (e) => {
        this.i._addUintToInputStream(t, e, n);
      });
    }
    addStringToStream(t, e, n) {
      na(this, e, (e) => {
        na(this, t, (t) => {
          this.i._addStringToInputStream(t, e, n);
        });
      });
    }
    addStringRecordToStream(t, e, n) {
      na(this, e, (e) => {
        ia(this, Object.keys(t), (r) => {
          ia(this, Object.values(t), (i) => {
            this.i._addFlatHashMapToInputStream(
              r,
              i,
              Object.keys(t).length,
              e,
              n,
            );
          });
        });
      });
    }
    addProtoToStream(t, e, n, r) {
      na(this, n, (n) => {
        na(this, e, (e) => {
          const i = this.i._malloc(t.length);
          (this.i.HEAPU8.set(t, i),
            this.i._addProtoToInputStream(i, t.length, e, n, r),
            this.i._free(i));
        });
      });
    }
    addEmptyPacketToStream(t, e) {
      na(this, t, (t) => {
        this.i._addEmptyPacketToInputStream(t, e);
      });
    }
    addBoolVectorToStream(t, e, n) {
      na(this, e, (e) => {
        const r = this.i._allocateBoolVector(t.length);
        if (!r) throw Error("Unable to allocate new bool vector on heap.");
        for (const e of t) this.i._addBoolVectorEntry(r, e);
        this.i._addBoolVectorToInputStream(r, e, n);
      });
    }
    addDoubleVectorToStream(t, e, n) {
      na(this, e, (e) => {
        const r = this.i._allocateDoubleVector(t.length);
        if (!r) throw Error("Unable to allocate new double vector on heap.");
        for (const e of t) this.i._addDoubleVectorEntry(r, e);
        this.i._addDoubleVectorToInputStream(r, e, n);
      });
    }
    addFloatVectorToStream(t, e, n) {
      na(this, e, (e) => {
        const r = this.i._allocateFloatVector(t.length);
        if (!r) throw Error("Unable to allocate new float vector on heap.");
        for (const e of t) this.i._addFloatVectorEntry(r, e);
        this.i._addFloatVectorToInputStream(r, e, n);
      });
    }
    addIntVectorToStream(t, e, n) {
      na(this, e, (e) => {
        const r = this.i._allocateIntVector(t.length);
        if (!r) throw Error("Unable to allocate new int vector on heap.");
        for (const e of t) this.i._addIntVectorEntry(r, e);
        this.i._addIntVectorToInputStream(r, e, n);
      });
    }
    addUintVectorToStream(t, e, n) {
      na(this, e, (e) => {
        const r = this.i._allocateUintVector(t.length);
        if (!r)
          throw Error("Unable to allocate new unsigned int vector on heap.");
        for (const e of t) this.i._addUintVectorEntry(r, e);
        this.i._addUintVectorToInputStream(r, e, n);
      });
    }
    addStringVectorToStream(t, e, n) {
      na(this, e, (e) => {
        const r = this.i._allocateStringVector(t.length);
        if (!r) throw Error("Unable to allocate new string vector on heap.");
        for (const e of t)
          na(this, e, (t) => {
            this.i._addStringVectorEntry(r, t);
          });
        this.i._addStringVectorToInputStream(r, e, n);
      });
    }
    addBoolToInputSidePacket(t, e) {
      na(this, e, (e) => {
        this.i._addBoolToInputSidePacket(t, e);
      });
    }
    addDoubleToInputSidePacket(t, e) {
      na(this, e, (e) => {
        this.i._addDoubleToInputSidePacket(t, e);
      });
    }
    addFloatToInputSidePacket(t, e) {
      na(this, e, (e) => {
        this.i._addFloatToInputSidePacket(t, e);
      });
    }
    addIntToInputSidePacket(t, e) {
      na(this, e, (e) => {
        this.i._addIntToInputSidePacket(t, e);
      });
    }
    addUintToInputSidePacket(t, e) {
      na(this, e, (e) => {
        this.i._addUintToInputSidePacket(t, e);
      });
    }
    addStringToInputSidePacket(t, e) {
      na(this, e, (e) => {
        na(this, t, (t) => {
          this.i._addStringToInputSidePacket(t, e);
        });
      });
    }
    addProtoToInputSidePacket(t, e, n) {
      na(this, n, (n) => {
        na(this, e, (e) => {
          const r = this.i._malloc(t.length);
          (this.i.HEAPU8.set(t, r),
            this.i._addProtoToInputSidePacket(r, t.length, e, n),
            this.i._free(r));
        });
      });
    }
    addBoolVectorToInputSidePacket(t, e) {
      na(this, e, (e) => {
        const n = this.i._allocateBoolVector(t.length);
        if (!n) throw Error("Unable to allocate new bool vector on heap.");
        for (const e of t) this.i._addBoolVectorEntry(n, e);
        this.i._addBoolVectorToInputSidePacket(n, e);
      });
    }
    addDoubleVectorToInputSidePacket(t, e) {
      na(this, e, (e) => {
        const n = this.i._allocateDoubleVector(t.length);
        if (!n) throw Error("Unable to allocate new double vector on heap.");
        for (const e of t) this.i._addDoubleVectorEntry(n, e);
        this.i._addDoubleVectorToInputSidePacket(n, e);
      });
    }
    addFloatVectorToInputSidePacket(t, e) {
      na(this, e, (e) => {
        const n = this.i._allocateFloatVector(t.length);
        if (!n) throw Error("Unable to allocate new float vector on heap.");
        for (const e of t) this.i._addFloatVectorEntry(n, e);
        this.i._addFloatVectorToInputSidePacket(n, e);
      });
    }
    addIntVectorToInputSidePacket(t, e) {
      na(this, e, (e) => {
        const n = this.i._allocateIntVector(t.length);
        if (!n) throw Error("Unable to allocate new int vector on heap.");
        for (const e of t) this.i._addIntVectorEntry(n, e);
        this.i._addIntVectorToInputSidePacket(n, e);
      });
    }
    addUintVectorToInputSidePacket(t, e) {
      na(this, e, (e) => {
        const n = this.i._allocateUintVector(t.length);
        if (!n)
          throw Error("Unable to allocate new unsigned int vector on heap.");
        for (const e of t) this.i._addUintVectorEntry(n, e);
        this.i._addUintVectorToInputSidePacket(n, e);
      });
    }
    addStringVectorToInputSidePacket(t, e) {
      na(this, e, (e) => {
        const n = this.i._allocateStringVector(t.length);
        if (!n) throw Error("Unable to allocate new string vector on heap.");
        for (const e of t)
          na(this, e, (t) => {
            this.i._addStringVectorEntry(n, t);
          });
        this.i._addStringVectorToInputSidePacket(n, e);
      });
    }
    attachBoolListener(t, e) {
      (sa(this, t, e),
        na(this, t, (t) => {
          this.i._attachBoolListener(t);
        }));
    }
    attachBoolVectorListener(t, e) {
      (oa(this, t, e),
        na(this, t, (t) => {
          this.i._attachBoolVectorListener(t);
        }));
    }
    attachIntListener(t, e) {
      (sa(this, t, e),
        na(this, t, (t) => {
          this.i._attachIntListener(t);
        }));
    }
    attachIntVectorListener(t, e) {
      (oa(this, t, e),
        na(this, t, (t) => {
          this.i._attachIntVectorListener(t);
        }));
    }
    attachUintListener(t, e) {
      (sa(this, t, e),
        na(this, t, (t) => {
          this.i._attachUintListener(t);
        }));
    }
    attachUintVectorListener(t, e) {
      (oa(this, t, e),
        na(this, t, (t) => {
          this.i._attachUintVectorListener(t);
        }));
    }
    attachDoubleListener(t, e) {
      (sa(this, t, e),
        na(this, t, (t) => {
          this.i._attachDoubleListener(t);
        }));
    }
    attachDoubleVectorListener(t, e) {
      (oa(this, t, e),
        na(this, t, (t) => {
          this.i._attachDoubleVectorListener(t);
        }));
    }
    attachFloatListener(t, e) {
      (sa(this, t, e),
        na(this, t, (t) => {
          this.i._attachFloatListener(t);
        }));
    }
    attachFloatVectorListener(t, e) {
      (oa(this, t, e),
        na(this, t, (t) => {
          this.i._attachFloatVectorListener(t);
        }));
    }
    attachStringListener(t, e) {
      (sa(this, t, e),
        na(this, t, (t) => {
          this.i._attachStringListener(t);
        }));
    }
    attachStringVectorListener(t, e) {
      (oa(this, t, e),
        na(this, t, (t) => {
          this.i._attachStringVectorListener(t);
        }));
    }
    attachProtoListener(t, e, n) {
      (sa(this, t, e),
        na(this, t, (t) => {
          this.i._attachProtoListener(t, n || !1);
        }));
    }
    attachProtoVectorListener(t, e, n) {
      (oa(this, t, e),
        na(this, t, (t) => {
          this.i._attachProtoVectorListener(t, n || !1);
        }));
    }
    attachAudioListener(t, e, n) {
      (this.i._attachAudioListener ||
        console.warn(
          'Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?',
        ),
        sa(this, t, (t, n) => {
          ((t = new Float32Array(t.buffer, t.byteOffset, t.length / 4)),
            e(t, n));
        }),
        na(this, t, (t) => {
          this.i._attachAudioListener(t, n || !1);
        }));
    }
    finishProcessing() {
      this.i._waitUntilIdle();
    }
    closeGraph() {
      (this.i._closeGraph(),
        (this.i.simpleListeners = void 0),
        (this.i.emptyPacketListeners = void 0));
    }
  }),
  class extends oc {
    get ga() {
      return this.i;
    }
    pa(t, e, n) {
      na(this, e, (e) => {
        const [r, i] = ra(this, t, e);
        this.ga._addBoundTextureAsImageToStream(e, r, i, n);
      });
    }
    Z(t, e) {
      (sa(this, t, e),
        na(this, t, (t) => {
          this.ga._attachImageListener(t);
        }));
    }
    aa(t, e) {
      (oa(this, t, e),
        na(this, t, (t) => {
          this.ga._attachImageVectorListener(t);
        }));
    }
  }),
);
var oc,
  ac = class extends sc {};
async function cc(t, e, n) {
  return (async function (t, e, n, r) {
    return aa(t, e, n, r);
  })(t, n.canvas ?? (Qo() ? void 0 : document.createElement("canvas")), e, n);
}
function hc(t, e, n, r) {
  if (t.U) {
    const s = new Ls();
    if (n?.regionOfInterest) {
      if (!t.oa) throw Error("This task doesn't support region-of-interest.");
      var i = n.regionOfInterest;
      if (i.left >= i.right || i.top >= i.bottom)
        throw Error("Expected RectF with left < right and top < bottom.");
      if (i.left < 0 || i.top < 0 || i.right > 1 || i.bottom > 1)
        throw Error("Expected RectF values to be in [0,1].");
      (Ln(s, 1, (i.left + i.right) / 2),
        Ln(s, 2, (i.top + i.bottom) / 2),
        Ln(s, 4, i.right - i.left),
        Ln(s, 3, i.bottom - i.top));
    } else (Ln(s, 1, 0.5), Ln(s, 2, 0.5), Ln(s, 4, 1), Ln(s, 3, 1));
    if (n?.rotationDegrees) {
      if (n?.rotationDegrees % 90 != 0)
        throw Error("Expected rotation to be a multiple of 90 degrees.");
      if (
        (Ln(s, 5, (-Math.PI * n.rotationDegrees) / 180),
        n?.rotationDegrees % 180 != 0)
      ) {
        const [t, r] = ea(e);
        ((n = (Sn(s, 3) * r) / t),
          (i = (Sn(s, 4) * t) / r),
          Ln(s, 4, n),
          Ln(s, 3, i));
      }
    }
    t.g.addProtoToStream(s.g(), "mediapipe.NormalizedRect", t.U, r);
  }
  (t.g.pa(e, t.X, r ?? performance.now()), t.finishProcessing());
}
function uc(t, e, n) {
  if (t.baseOptions?.g())
    throw Error(
      "Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.",
    );
  hc(t, e, n, t.C + 1);
}
function lc(t, e, n, r) {
  if (!t.baseOptions?.g())
    throw Error(
      "Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.",
    );
  hc(t, e, n, r);
}
function fc(t, e, n, r) {
  var i = e.data;
  const s = e.width,
    o = s * (e = e.height);
  if ((i instanceof Uint8Array || i instanceof Float32Array) && i.length !== o)
    throw Error("Unsupported channel count: " + i.length / o);
  return ((t = new Na([i], n, !1, t.g.i.canvas, t.P, s, e)), r ? t.clone() : t);
}
var dc = class extends pa {
  constructor(t, e, n, r) {
    (super(t),
      (this.g = t),
      (this.X = e),
      (this.U = n),
      (this.oa = r),
      (this.P = new ba()));
  }
  l(t, e = !0) {
    if (
      ("runningMode" in t &&
        Ze(
          this.baseOptions,
          2,
          Jt(!!t.runningMode && "IMAGE" !== t.runningMode),
        ),
      void 0 !== t.canvas && this.g.i.canvas !== t.canvas)
    )
      throw Error("You must create a new task to reset the canvas.");
    return super.l(t, e);
  }
  close() {
    (this.P.close(), super.close());
  }
};
dc.prototype.close = dc.prototype.close;
var pc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "image_in", "norm_rect_in", !1),
      (this.j = { detections: [] }),
      wn((t = this.h = new zs()), 0, 1, (e = new Xs())),
      Ln(this.h, 2, 0.5),
      Ln(this.h, 3, 0.3));
  }
  get baseOptions() {
    return yn(this.h, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.h, 0, 1, t);
  }
  o(t) {
    return (
      "minDetectionConfidence" in t &&
        Ln(this.h, 2, t.minDetectionConfidence ?? 0.5),
      "minSuppressionThreshold" in t &&
        Ln(this.h, 3, t.minSuppressionThreshold ?? 0.3),
      this.l(t)
    );
  }
  F(t, e) {
    return ((this.j = { detections: [] }), uc(this, t, e), this.j);
  }
  G(t, e, n) {
    return ((this.j = { detections: [] }), lc(this, t, n, e), this.j);
  }
  m() {
    var t = new ls();
    (hs(t, "image_in"), hs(t, "norm_rect_in"), us(t, "detections"));
    const e = new Qi();
    xr(e, Ys, this.h);
    const n = new is();
    (Rn(n, 2, "mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),
      ns(n, "IMAGE:image_in"),
      ns(n, "NORM_RECT:norm_rect_in"),
      rs(n, "DETECTIONS:detections"),
      n.o(e),
      cs(t, n),
      this.g.attachProtoVectorListener("detections", (t, e) => {
        for (const e of t) ((t = ws(e)), this.j.detections.push(Xo(t)));
        ua(this, e);
      }),
      this.g.attachEmptyPacketListener("detections", (t) => {
        ua(this, t);
      }),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
((pc.prototype.detectForVideo = pc.prototype.G),
  (pc.prototype.detect = pc.prototype.F),
  (pc.prototype.setOptions = pc.prototype.o),
  (pc.createFromModelPath = async function (t, e) {
    return cc(pc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (pc.createFromModelBuffer = function (t, e) {
    return cc(pc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (pc.createFromOptions = function (t, e) {
    return cc(pc, t, e);
  }));
var gc = ic(
    [61, 146],
    [146, 91],
    [91, 181],
    [181, 84],
    [84, 17],
    [17, 314],
    [314, 405],
    [405, 321],
    [321, 375],
    [375, 291],
    [61, 185],
    [185, 40],
    [40, 39],
    [39, 37],
    [37, 0],
    [0, 267],
    [267, 269],
    [269, 270],
    [270, 409],
    [409, 291],
    [78, 95],
    [95, 88],
    [88, 178],
    [178, 87],
    [87, 14],
    [14, 317],
    [317, 402],
    [402, 318],
    [318, 324],
    [324, 308],
    [78, 191],
    [191, 80],
    [80, 81],
    [81, 82],
    [82, 13],
    [13, 312],
    [312, 311],
    [311, 310],
    [310, 415],
    [415, 308],
  ),
  mc = ic(
    [263, 249],
    [249, 390],
    [390, 373],
    [373, 374],
    [374, 380],
    [380, 381],
    [381, 382],
    [382, 362],
    [263, 466],
    [466, 388],
    [388, 387],
    [387, 386],
    [386, 385],
    [385, 384],
    [384, 398],
    [398, 362],
  ),
  yc = ic(
    [276, 283],
    [283, 282],
    [282, 295],
    [295, 285],
    [300, 293],
    [293, 334],
    [334, 296],
    [296, 336],
  ),
  _c = ic([474, 475], [475, 476], [476, 477], [477, 474]),
  vc = ic(
    [33, 7],
    [7, 163],
    [163, 144],
    [144, 145],
    [145, 153],
    [153, 154],
    [154, 155],
    [155, 133],
    [33, 246],
    [246, 161],
    [161, 160],
    [160, 159],
    [159, 158],
    [158, 157],
    [157, 173],
    [173, 133],
  ),
  Ec = ic(
    [46, 53],
    [53, 52],
    [52, 65],
    [65, 55],
    [70, 63],
    [63, 105],
    [105, 66],
    [66, 107],
  ),
  wc = ic([469, 470], [470, 471], [471, 472], [472, 469]),
  Tc = ic(
    [10, 338],
    [338, 297],
    [297, 332],
    [332, 284],
    [284, 251],
    [251, 389],
    [389, 356],
    [356, 454],
    [454, 323],
    [323, 361],
    [361, 288],
    [288, 397],
    [397, 365],
    [365, 379],
    [379, 378],
    [378, 400],
    [400, 377],
    [377, 152],
    [152, 148],
    [148, 176],
    [176, 149],
    [149, 150],
    [150, 136],
    [136, 172],
    [172, 58],
    [58, 132],
    [132, 93],
    [93, 234],
    [234, 127],
    [127, 162],
    [162, 21],
    [21, 54],
    [54, 103],
    [103, 67],
    [67, 109],
    [109, 10],
  ),
  Ac = [...gc, ...mc, ...yc, ...vc, ...Ec, ...Tc],
  bc = ic(
    [127, 34],
    [34, 139],
    [139, 127],
    [11, 0],
    [0, 37],
    [37, 11],
    [232, 231],
    [231, 120],
    [120, 232],
    [72, 37],
    [37, 39],
    [39, 72],
    [128, 121],
    [121, 47],
    [47, 128],
    [232, 121],
    [121, 128],
    [128, 232],
    [104, 69],
    [69, 67],
    [67, 104],
    [175, 171],
    [171, 148],
    [148, 175],
    [118, 50],
    [50, 101],
    [101, 118],
    [73, 39],
    [39, 40],
    [40, 73],
    [9, 151],
    [151, 108],
    [108, 9],
    [48, 115],
    [115, 131],
    [131, 48],
    [194, 204],
    [204, 211],
    [211, 194],
    [74, 40],
    [40, 185],
    [185, 74],
    [80, 42],
    [42, 183],
    [183, 80],
    [40, 92],
    [92, 186],
    [186, 40],
    [230, 229],
    [229, 118],
    [118, 230],
    [202, 212],
    [212, 214],
    [214, 202],
    [83, 18],
    [18, 17],
    [17, 83],
    [76, 61],
    [61, 146],
    [146, 76],
    [160, 29],
    [29, 30],
    [30, 160],
    [56, 157],
    [157, 173],
    [173, 56],
    [106, 204],
    [204, 194],
    [194, 106],
    [135, 214],
    [214, 192],
    [192, 135],
    [203, 165],
    [165, 98],
    [98, 203],
    [21, 71],
    [71, 68],
    [68, 21],
    [51, 45],
    [45, 4],
    [4, 51],
    [144, 24],
    [24, 23],
    [23, 144],
    [77, 146],
    [146, 91],
    [91, 77],
    [205, 50],
    [50, 187],
    [187, 205],
    [201, 200],
    [200, 18],
    [18, 201],
    [91, 106],
    [106, 182],
    [182, 91],
    [90, 91],
    [91, 181],
    [181, 90],
    [85, 84],
    [84, 17],
    [17, 85],
    [206, 203],
    [203, 36],
    [36, 206],
    [148, 171],
    [171, 140],
    [140, 148],
    [92, 40],
    [40, 39],
    [39, 92],
    [193, 189],
    [189, 244],
    [244, 193],
    [159, 158],
    [158, 28],
    [28, 159],
    [247, 246],
    [246, 161],
    [161, 247],
    [236, 3],
    [3, 196],
    [196, 236],
    [54, 68],
    [68, 104],
    [104, 54],
    [193, 168],
    [168, 8],
    [8, 193],
    [117, 228],
    [228, 31],
    [31, 117],
    [189, 193],
    [193, 55],
    [55, 189],
    [98, 97],
    [97, 99],
    [99, 98],
    [126, 47],
    [47, 100],
    [100, 126],
    [166, 79],
    [79, 218],
    [218, 166],
    [155, 154],
    [154, 26],
    [26, 155],
    [209, 49],
    [49, 131],
    [131, 209],
    [135, 136],
    [136, 150],
    [150, 135],
    [47, 126],
    [126, 217],
    [217, 47],
    [223, 52],
    [52, 53],
    [53, 223],
    [45, 51],
    [51, 134],
    [134, 45],
    [211, 170],
    [170, 140],
    [140, 211],
    [67, 69],
    [69, 108],
    [108, 67],
    [43, 106],
    [106, 91],
    [91, 43],
    [230, 119],
    [119, 120],
    [120, 230],
    [226, 130],
    [130, 247],
    [247, 226],
    [63, 53],
    [53, 52],
    [52, 63],
    [238, 20],
    [20, 242],
    [242, 238],
    [46, 70],
    [70, 156],
    [156, 46],
    [78, 62],
    [62, 96],
    [96, 78],
    [46, 53],
    [53, 63],
    [63, 46],
    [143, 34],
    [34, 227],
    [227, 143],
    [123, 117],
    [117, 111],
    [111, 123],
    [44, 125],
    [125, 19],
    [19, 44],
    [236, 134],
    [134, 51],
    [51, 236],
    [216, 206],
    [206, 205],
    [205, 216],
    [154, 153],
    [153, 22],
    [22, 154],
    [39, 37],
    [37, 167],
    [167, 39],
    [200, 201],
    [201, 208],
    [208, 200],
    [36, 142],
    [142, 100],
    [100, 36],
    [57, 212],
    [212, 202],
    [202, 57],
    [20, 60],
    [60, 99],
    [99, 20],
    [28, 158],
    [158, 157],
    [157, 28],
    [35, 226],
    [226, 113],
    [113, 35],
    [160, 159],
    [159, 27],
    [27, 160],
    [204, 202],
    [202, 210],
    [210, 204],
    [113, 225],
    [225, 46],
    [46, 113],
    [43, 202],
    [202, 204],
    [204, 43],
    [62, 76],
    [76, 77],
    [77, 62],
    [137, 123],
    [123, 116],
    [116, 137],
    [41, 38],
    [38, 72],
    [72, 41],
    [203, 129],
    [129, 142],
    [142, 203],
    [64, 98],
    [98, 240],
    [240, 64],
    [49, 102],
    [102, 64],
    [64, 49],
    [41, 73],
    [73, 74],
    [74, 41],
    [212, 216],
    [216, 207],
    [207, 212],
    [42, 74],
    [74, 184],
    [184, 42],
    [169, 170],
    [170, 211],
    [211, 169],
    [170, 149],
    [149, 176],
    [176, 170],
    [105, 66],
    [66, 69],
    [69, 105],
    [122, 6],
    [6, 168],
    [168, 122],
    [123, 147],
    [147, 187],
    [187, 123],
    [96, 77],
    [77, 90],
    [90, 96],
    [65, 55],
    [55, 107],
    [107, 65],
    [89, 90],
    [90, 180],
    [180, 89],
    [101, 100],
    [100, 120],
    [120, 101],
    [63, 105],
    [105, 104],
    [104, 63],
    [93, 137],
    [137, 227],
    [227, 93],
    [15, 86],
    [86, 85],
    [85, 15],
    [129, 102],
    [102, 49],
    [49, 129],
    [14, 87],
    [87, 86],
    [86, 14],
    [55, 8],
    [8, 9],
    [9, 55],
    [100, 47],
    [47, 121],
    [121, 100],
    [145, 23],
    [23, 22],
    [22, 145],
    [88, 89],
    [89, 179],
    [179, 88],
    [6, 122],
    [122, 196],
    [196, 6],
    [88, 95],
    [95, 96],
    [96, 88],
    [138, 172],
    [172, 136],
    [136, 138],
    [215, 58],
    [58, 172],
    [172, 215],
    [115, 48],
    [48, 219],
    [219, 115],
    [42, 80],
    [80, 81],
    [81, 42],
    [195, 3],
    [3, 51],
    [51, 195],
    [43, 146],
    [146, 61],
    [61, 43],
    [171, 175],
    [175, 199],
    [199, 171],
    [81, 82],
    [82, 38],
    [38, 81],
    [53, 46],
    [46, 225],
    [225, 53],
    [144, 163],
    [163, 110],
    [110, 144],
    [52, 65],
    [65, 66],
    [66, 52],
    [229, 228],
    [228, 117],
    [117, 229],
    [34, 127],
    [127, 234],
    [234, 34],
    [107, 108],
    [108, 69],
    [69, 107],
    [109, 108],
    [108, 151],
    [151, 109],
    [48, 64],
    [64, 235],
    [235, 48],
    [62, 78],
    [78, 191],
    [191, 62],
    [129, 209],
    [209, 126],
    [126, 129],
    [111, 35],
    [35, 143],
    [143, 111],
    [117, 123],
    [123, 50],
    [50, 117],
    [222, 65],
    [65, 52],
    [52, 222],
    [19, 125],
    [125, 141],
    [141, 19],
    [221, 55],
    [55, 65],
    [65, 221],
    [3, 195],
    [195, 197],
    [197, 3],
    [25, 7],
    [7, 33],
    [33, 25],
    [220, 237],
    [237, 44],
    [44, 220],
    [70, 71],
    [71, 139],
    [139, 70],
    [122, 193],
    [193, 245],
    [245, 122],
    [247, 130],
    [130, 33],
    [33, 247],
    [71, 21],
    [21, 162],
    [162, 71],
    [170, 169],
    [169, 150],
    [150, 170],
    [188, 174],
    [174, 196],
    [196, 188],
    [216, 186],
    [186, 92],
    [92, 216],
    [2, 97],
    [97, 167],
    [167, 2],
    [141, 125],
    [125, 241],
    [241, 141],
    [164, 167],
    [167, 37],
    [37, 164],
    [72, 38],
    [38, 12],
    [12, 72],
    [38, 82],
    [82, 13],
    [13, 38],
    [63, 68],
    [68, 71],
    [71, 63],
    [226, 35],
    [35, 111],
    [111, 226],
    [101, 50],
    [50, 205],
    [205, 101],
    [206, 92],
    [92, 165],
    [165, 206],
    [209, 198],
    [198, 217],
    [217, 209],
    [165, 167],
    [167, 97],
    [97, 165],
    [220, 115],
    [115, 218],
    [218, 220],
    [133, 112],
    [112, 243],
    [243, 133],
    [239, 238],
    [238, 241],
    [241, 239],
    [214, 135],
    [135, 169],
    [169, 214],
    [190, 173],
    [173, 133],
    [133, 190],
    [171, 208],
    [208, 32],
    [32, 171],
    [125, 44],
    [44, 237],
    [237, 125],
    [86, 87],
    [87, 178],
    [178, 86],
    [85, 86],
    [86, 179],
    [179, 85],
    [84, 85],
    [85, 180],
    [180, 84],
    [83, 84],
    [84, 181],
    [181, 83],
    [201, 83],
    [83, 182],
    [182, 201],
    [137, 93],
    [93, 132],
    [132, 137],
    [76, 62],
    [62, 183],
    [183, 76],
    [61, 76],
    [76, 184],
    [184, 61],
    [57, 61],
    [61, 185],
    [185, 57],
    [212, 57],
    [57, 186],
    [186, 212],
    [214, 207],
    [207, 187],
    [187, 214],
    [34, 143],
    [143, 156],
    [156, 34],
    [79, 239],
    [239, 237],
    [237, 79],
    [123, 137],
    [137, 177],
    [177, 123],
    [44, 1],
    [1, 4],
    [4, 44],
    [201, 194],
    [194, 32],
    [32, 201],
    [64, 102],
    [102, 129],
    [129, 64],
    [213, 215],
    [215, 138],
    [138, 213],
    [59, 166],
    [166, 219],
    [219, 59],
    [242, 99],
    [99, 97],
    [97, 242],
    [2, 94],
    [94, 141],
    [141, 2],
    [75, 59],
    [59, 235],
    [235, 75],
    [24, 110],
    [110, 228],
    [228, 24],
    [25, 130],
    [130, 226],
    [226, 25],
    [23, 24],
    [24, 229],
    [229, 23],
    [22, 23],
    [23, 230],
    [230, 22],
    [26, 22],
    [22, 231],
    [231, 26],
    [112, 26],
    [26, 232],
    [232, 112],
    [189, 190],
    [190, 243],
    [243, 189],
    [221, 56],
    [56, 190],
    [190, 221],
    [28, 56],
    [56, 221],
    [221, 28],
    [27, 28],
    [28, 222],
    [222, 27],
    [29, 27],
    [27, 223],
    [223, 29],
    [30, 29],
    [29, 224],
    [224, 30],
    [247, 30],
    [30, 225],
    [225, 247],
    [238, 79],
    [79, 20],
    [20, 238],
    [166, 59],
    [59, 75],
    [75, 166],
    [60, 75],
    [75, 240],
    [240, 60],
    [147, 177],
    [177, 215],
    [215, 147],
    [20, 79],
    [79, 166],
    [166, 20],
    [187, 147],
    [147, 213],
    [213, 187],
    [112, 233],
    [233, 244],
    [244, 112],
    [233, 128],
    [128, 245],
    [245, 233],
    [128, 114],
    [114, 188],
    [188, 128],
    [114, 217],
    [217, 174],
    [174, 114],
    [131, 115],
    [115, 220],
    [220, 131],
    [217, 198],
    [198, 236],
    [236, 217],
    [198, 131],
    [131, 134],
    [134, 198],
    [177, 132],
    [132, 58],
    [58, 177],
    [143, 35],
    [35, 124],
    [124, 143],
    [110, 163],
    [163, 7],
    [7, 110],
    [228, 110],
    [110, 25],
    [25, 228],
    [356, 389],
    [389, 368],
    [368, 356],
    [11, 302],
    [302, 267],
    [267, 11],
    [452, 350],
    [350, 349],
    [349, 452],
    [302, 303],
    [303, 269],
    [269, 302],
    [357, 343],
    [343, 277],
    [277, 357],
    [452, 453],
    [453, 357],
    [357, 452],
    [333, 332],
    [332, 297],
    [297, 333],
    [175, 152],
    [152, 377],
    [377, 175],
    [347, 348],
    [348, 330],
    [330, 347],
    [303, 304],
    [304, 270],
    [270, 303],
    [9, 336],
    [336, 337],
    [337, 9],
    [278, 279],
    [279, 360],
    [360, 278],
    [418, 262],
    [262, 431],
    [431, 418],
    [304, 408],
    [408, 409],
    [409, 304],
    [310, 415],
    [415, 407],
    [407, 310],
    [270, 409],
    [409, 410],
    [410, 270],
    [450, 348],
    [348, 347],
    [347, 450],
    [422, 430],
    [430, 434],
    [434, 422],
    [313, 314],
    [314, 17],
    [17, 313],
    [306, 307],
    [307, 375],
    [375, 306],
    [387, 388],
    [388, 260],
    [260, 387],
    [286, 414],
    [414, 398],
    [398, 286],
    [335, 406],
    [406, 418],
    [418, 335],
    [364, 367],
    [367, 416],
    [416, 364],
    [423, 358],
    [358, 327],
    [327, 423],
    [251, 284],
    [284, 298],
    [298, 251],
    [281, 5],
    [5, 4],
    [4, 281],
    [373, 374],
    [374, 253],
    [253, 373],
    [307, 320],
    [320, 321],
    [321, 307],
    [425, 427],
    [427, 411],
    [411, 425],
    [421, 313],
    [313, 18],
    [18, 421],
    [321, 405],
    [405, 406],
    [406, 321],
    [320, 404],
    [404, 405],
    [405, 320],
    [315, 16],
    [16, 17],
    [17, 315],
    [426, 425],
    [425, 266],
    [266, 426],
    [377, 400],
    [400, 369],
    [369, 377],
    [322, 391],
    [391, 269],
    [269, 322],
    [417, 465],
    [465, 464],
    [464, 417],
    [386, 257],
    [257, 258],
    [258, 386],
    [466, 260],
    [260, 388],
    [388, 466],
    [456, 399],
    [399, 419],
    [419, 456],
    [284, 332],
    [332, 333],
    [333, 284],
    [417, 285],
    [285, 8],
    [8, 417],
    [346, 340],
    [340, 261],
    [261, 346],
    [413, 441],
    [441, 285],
    [285, 413],
    [327, 460],
    [460, 328],
    [328, 327],
    [355, 371],
    [371, 329],
    [329, 355],
    [392, 439],
    [439, 438],
    [438, 392],
    [382, 341],
    [341, 256],
    [256, 382],
    [429, 420],
    [420, 360],
    [360, 429],
    [364, 394],
    [394, 379],
    [379, 364],
    [277, 343],
    [343, 437],
    [437, 277],
    [443, 444],
    [444, 283],
    [283, 443],
    [275, 440],
    [440, 363],
    [363, 275],
    [431, 262],
    [262, 369],
    [369, 431],
    [297, 338],
    [338, 337],
    [337, 297],
    [273, 375],
    [375, 321],
    [321, 273],
    [450, 451],
    [451, 349],
    [349, 450],
    [446, 342],
    [342, 467],
    [467, 446],
    [293, 334],
    [334, 282],
    [282, 293],
    [458, 461],
    [461, 462],
    [462, 458],
    [276, 353],
    [353, 383],
    [383, 276],
    [308, 324],
    [324, 325],
    [325, 308],
    [276, 300],
    [300, 293],
    [293, 276],
    [372, 345],
    [345, 447],
    [447, 372],
    [352, 345],
    [345, 340],
    [340, 352],
    [274, 1],
    [1, 19],
    [19, 274],
    [456, 248],
    [248, 281],
    [281, 456],
    [436, 427],
    [427, 425],
    [425, 436],
    [381, 256],
    [256, 252],
    [252, 381],
    [269, 391],
    [391, 393],
    [393, 269],
    [200, 199],
    [199, 428],
    [428, 200],
    [266, 330],
    [330, 329],
    [329, 266],
    [287, 273],
    [273, 422],
    [422, 287],
    [250, 462],
    [462, 328],
    [328, 250],
    [258, 286],
    [286, 384],
    [384, 258],
    [265, 353],
    [353, 342],
    [342, 265],
    [387, 259],
    [259, 257],
    [257, 387],
    [424, 431],
    [431, 430],
    [430, 424],
    [342, 353],
    [353, 276],
    [276, 342],
    [273, 335],
    [335, 424],
    [424, 273],
    [292, 325],
    [325, 307],
    [307, 292],
    [366, 447],
    [447, 345],
    [345, 366],
    [271, 303],
    [303, 302],
    [302, 271],
    [423, 266],
    [266, 371],
    [371, 423],
    [294, 455],
    [455, 460],
    [460, 294],
    [279, 278],
    [278, 294],
    [294, 279],
    [271, 272],
    [272, 304],
    [304, 271],
    [432, 434],
    [434, 427],
    [427, 432],
    [272, 407],
    [407, 408],
    [408, 272],
    [394, 430],
    [430, 431],
    [431, 394],
    [395, 369],
    [369, 400],
    [400, 395],
    [334, 333],
    [333, 299],
    [299, 334],
    [351, 417],
    [417, 168],
    [168, 351],
    [352, 280],
    [280, 411],
    [411, 352],
    [325, 319],
    [319, 320],
    [320, 325],
    [295, 296],
    [296, 336],
    [336, 295],
    [319, 403],
    [403, 404],
    [404, 319],
    [330, 348],
    [348, 349],
    [349, 330],
    [293, 298],
    [298, 333],
    [333, 293],
    [323, 454],
    [454, 447],
    [447, 323],
    [15, 16],
    [16, 315],
    [315, 15],
    [358, 429],
    [429, 279],
    [279, 358],
    [14, 15],
    [15, 316],
    [316, 14],
    [285, 336],
    [336, 9],
    [9, 285],
    [329, 349],
    [349, 350],
    [350, 329],
    [374, 380],
    [380, 252],
    [252, 374],
    [318, 402],
    [402, 403],
    [403, 318],
    [6, 197],
    [197, 419],
    [419, 6],
    [318, 319],
    [319, 325],
    [325, 318],
    [367, 364],
    [364, 365],
    [365, 367],
    [435, 367],
    [367, 397],
    [397, 435],
    [344, 438],
    [438, 439],
    [439, 344],
    [272, 271],
    [271, 311],
    [311, 272],
    [195, 5],
    [5, 281],
    [281, 195],
    [273, 287],
    [287, 291],
    [291, 273],
    [396, 428],
    [428, 199],
    [199, 396],
    [311, 271],
    [271, 268],
    [268, 311],
    [283, 444],
    [444, 445],
    [445, 283],
    [373, 254],
    [254, 339],
    [339, 373],
    [282, 334],
    [334, 296],
    [296, 282],
    [449, 347],
    [347, 346],
    [346, 449],
    [264, 447],
    [447, 454],
    [454, 264],
    [336, 296],
    [296, 299],
    [299, 336],
    [338, 10],
    [10, 151],
    [151, 338],
    [278, 439],
    [439, 455],
    [455, 278],
    [292, 407],
    [407, 415],
    [415, 292],
    [358, 371],
    [371, 355],
    [355, 358],
    [340, 345],
    [345, 372],
    [372, 340],
    [346, 347],
    [347, 280],
    [280, 346],
    [442, 443],
    [443, 282],
    [282, 442],
    [19, 94],
    [94, 370],
    [370, 19],
    [441, 442],
    [442, 295],
    [295, 441],
    [248, 419],
    [419, 197],
    [197, 248],
    [263, 255],
    [255, 359],
    [359, 263],
    [440, 275],
    [275, 274],
    [274, 440],
    [300, 383],
    [383, 368],
    [368, 300],
    [351, 412],
    [412, 465],
    [465, 351],
    [263, 467],
    [467, 466],
    [466, 263],
    [301, 368],
    [368, 389],
    [389, 301],
    [395, 378],
    [378, 379],
    [379, 395],
    [412, 351],
    [351, 419],
    [419, 412],
    [436, 426],
    [426, 322],
    [322, 436],
    [2, 164],
    [164, 393],
    [393, 2],
    [370, 462],
    [462, 461],
    [461, 370],
    [164, 0],
    [0, 267],
    [267, 164],
    [302, 11],
    [11, 12],
    [12, 302],
    [268, 12],
    [12, 13],
    [13, 268],
    [293, 300],
    [300, 301],
    [301, 293],
    [446, 261],
    [261, 340],
    [340, 446],
    [330, 266],
    [266, 425],
    [425, 330],
    [426, 423],
    [423, 391],
    [391, 426],
    [429, 355],
    [355, 437],
    [437, 429],
    [391, 327],
    [327, 326],
    [326, 391],
    [440, 457],
    [457, 438],
    [438, 440],
    [341, 382],
    [382, 362],
    [362, 341],
    [459, 457],
    [457, 461],
    [461, 459],
    [434, 430],
    [430, 394],
    [394, 434],
    [414, 463],
    [463, 362],
    [362, 414],
    [396, 369],
    [369, 262],
    [262, 396],
    [354, 461],
    [461, 457],
    [457, 354],
    [316, 403],
    [403, 402],
    [402, 316],
    [315, 404],
    [404, 403],
    [403, 315],
    [314, 405],
    [405, 404],
    [404, 314],
    [313, 406],
    [406, 405],
    [405, 313],
    [421, 418],
    [418, 406],
    [406, 421],
    [366, 401],
    [401, 361],
    [361, 366],
    [306, 408],
    [408, 407],
    [407, 306],
    [291, 409],
    [409, 408],
    [408, 291],
    [287, 410],
    [410, 409],
    [409, 287],
    [432, 436],
    [436, 410],
    [410, 432],
    [434, 416],
    [416, 411],
    [411, 434],
    [264, 368],
    [368, 383],
    [383, 264],
    [309, 438],
    [438, 457],
    [457, 309],
    [352, 376],
    [376, 401],
    [401, 352],
    [274, 275],
    [275, 4],
    [4, 274],
    [421, 428],
    [428, 262],
    [262, 421],
    [294, 327],
    [327, 358],
    [358, 294],
    [433, 416],
    [416, 367],
    [367, 433],
    [289, 455],
    [455, 439],
    [439, 289],
    [462, 370],
    [370, 326],
    [326, 462],
    [2, 326],
    [326, 370],
    [370, 2],
    [305, 460],
    [460, 455],
    [455, 305],
    [254, 449],
    [449, 448],
    [448, 254],
    [255, 261],
    [261, 446],
    [446, 255],
    [253, 450],
    [450, 449],
    [449, 253],
    [252, 451],
    [451, 450],
    [450, 252],
    [256, 452],
    [452, 451],
    [451, 256],
    [341, 453],
    [453, 452],
    [452, 341],
    [413, 464],
    [464, 463],
    [463, 413],
    [441, 413],
    [413, 414],
    [414, 441],
    [258, 442],
    [442, 441],
    [441, 258],
    [257, 443],
    [443, 442],
    [442, 257],
    [259, 444],
    [444, 443],
    [443, 259],
    [260, 445],
    [445, 444],
    [444, 260],
    [467, 342],
    [342, 445],
    [445, 467],
    [459, 458],
    [458, 250],
    [250, 459],
    [289, 392],
    [392, 290],
    [290, 289],
    [290, 328],
    [328, 460],
    [460, 290],
    [376, 433],
    [433, 435],
    [435, 376],
    [250, 290],
    [290, 392],
    [392, 250],
    [411, 416],
    [416, 433],
    [433, 411],
    [341, 463],
    [463, 464],
    [464, 341],
    [453, 464],
    [464, 465],
    [465, 453],
    [357, 465],
    [465, 412],
    [412, 357],
    [343, 412],
    [412, 399],
    [399, 343],
    [360, 363],
    [363, 440],
    [440, 360],
    [437, 399],
    [399, 456],
    [456, 437],
    [420, 456],
    [456, 363],
    [363, 420],
    [401, 435],
    [435, 288],
    [288, 401],
    [372, 383],
    [383, 353],
    [353, 372],
    [339, 255],
    [255, 249],
    [249, 339],
    [448, 261],
    [261, 255],
    [255, 448],
    [133, 243],
    [243, 190],
    [190, 133],
    [133, 155],
    [155, 112],
    [112, 133],
    [33, 246],
    [246, 247],
    [247, 33],
    [33, 130],
    [130, 25],
    [25, 33],
    [398, 384],
    [384, 286],
    [286, 398],
    [362, 398],
    [398, 414],
    [414, 362],
    [362, 463],
    [463, 341],
    [341, 362],
    [263, 359],
    [359, 467],
    [467, 263],
    [263, 249],
    [249, 255],
    [255, 263],
    [466, 467],
    [467, 260],
    [260, 466],
    [75, 60],
    [60, 166],
    [166, 75],
    [238, 239],
    [239, 79],
    [79, 238],
    [162, 127],
    [127, 139],
    [139, 162],
    [72, 11],
    [11, 37],
    [37, 72],
    [121, 232],
    [232, 120],
    [120, 121],
    [73, 72],
    [72, 39],
    [39, 73],
    [114, 128],
    [128, 47],
    [47, 114],
    [233, 232],
    [232, 128],
    [128, 233],
    [103, 104],
    [104, 67],
    [67, 103],
    [152, 175],
    [175, 148],
    [148, 152],
    [119, 118],
    [118, 101],
    [101, 119],
    [74, 73],
    [73, 40],
    [40, 74],
    [107, 9],
    [9, 108],
    [108, 107],
    [49, 48],
    [48, 131],
    [131, 49],
    [32, 194],
    [194, 211],
    [211, 32],
    [184, 74],
    [74, 185],
    [185, 184],
    [191, 80],
    [80, 183],
    [183, 191],
    [185, 40],
    [40, 186],
    [186, 185],
    [119, 230],
    [230, 118],
    [118, 119],
    [210, 202],
    [202, 214],
    [214, 210],
    [84, 83],
    [83, 17],
    [17, 84],
    [77, 76],
    [76, 146],
    [146, 77],
    [161, 160],
    [160, 30],
    [30, 161],
    [190, 56],
    [56, 173],
    [173, 190],
    [182, 106],
    [106, 194],
    [194, 182],
    [138, 135],
    [135, 192],
    [192, 138],
    [129, 203],
    [203, 98],
    [98, 129],
    [54, 21],
    [21, 68],
    [68, 54],
    [5, 51],
    [51, 4],
    [4, 5],
    [145, 144],
    [144, 23],
    [23, 145],
    [90, 77],
    [77, 91],
    [91, 90],
    [207, 205],
    [205, 187],
    [187, 207],
    [83, 201],
    [201, 18],
    [18, 83],
    [181, 91],
    [91, 182],
    [182, 181],
    [180, 90],
    [90, 181],
    [181, 180],
    [16, 85],
    [85, 17],
    [17, 16],
    [205, 206],
    [206, 36],
    [36, 205],
    [176, 148],
    [148, 140],
    [140, 176],
    [165, 92],
    [92, 39],
    [39, 165],
    [245, 193],
    [193, 244],
    [244, 245],
    [27, 159],
    [159, 28],
    [28, 27],
    [30, 247],
    [247, 161],
    [161, 30],
    [174, 236],
    [236, 196],
    [196, 174],
    [103, 54],
    [54, 104],
    [104, 103],
    [55, 193],
    [193, 8],
    [8, 55],
    [111, 117],
    [117, 31],
    [31, 111],
    [221, 189],
    [189, 55],
    [55, 221],
    [240, 98],
    [98, 99],
    [99, 240],
    [142, 126],
    [126, 100],
    [100, 142],
    [219, 166],
    [166, 218],
    [218, 219],
    [112, 155],
    [155, 26],
    [26, 112],
    [198, 209],
    [209, 131],
    [131, 198],
    [169, 135],
    [135, 150],
    [150, 169],
    [114, 47],
    [47, 217],
    [217, 114],
    [224, 223],
    [223, 53],
    [53, 224],
    [220, 45],
    [45, 134],
    [134, 220],
    [32, 211],
    [211, 140],
    [140, 32],
    [109, 67],
    [67, 108],
    [108, 109],
    [146, 43],
    [43, 91],
    [91, 146],
    [231, 230],
    [230, 120],
    [120, 231],
    [113, 226],
    [226, 247],
    [247, 113],
    [105, 63],
    [63, 52],
    [52, 105],
    [241, 238],
    [238, 242],
    [242, 241],
    [124, 46],
    [46, 156],
    [156, 124],
    [95, 78],
    [78, 96],
    [96, 95],
    [70, 46],
    [46, 63],
    [63, 70],
    [116, 143],
    [143, 227],
    [227, 116],
    [116, 123],
    [123, 111],
    [111, 116],
    [1, 44],
    [44, 19],
    [19, 1],
    [3, 236],
    [236, 51],
    [51, 3],
    [207, 216],
    [216, 205],
    [205, 207],
    [26, 154],
    [154, 22],
    [22, 26],
    [165, 39],
    [39, 167],
    [167, 165],
    [199, 200],
    [200, 208],
    [208, 199],
    [101, 36],
    [36, 100],
    [100, 101],
    [43, 57],
    [57, 202],
    [202, 43],
    [242, 20],
    [20, 99],
    [99, 242],
    [56, 28],
    [28, 157],
    [157, 56],
    [124, 35],
    [35, 113],
    [113, 124],
    [29, 160],
    [160, 27],
    [27, 29],
    [211, 204],
    [204, 210],
    [210, 211],
    [124, 113],
    [113, 46],
    [46, 124],
    [106, 43],
    [43, 204],
    [204, 106],
    [96, 62],
    [62, 77],
    [77, 96],
    [227, 137],
    [137, 116],
    [116, 227],
    [73, 41],
    [41, 72],
    [72, 73],
    [36, 203],
    [203, 142],
    [142, 36],
    [235, 64],
    [64, 240],
    [240, 235],
    [48, 49],
    [49, 64],
    [64, 48],
    [42, 41],
    [41, 74],
    [74, 42],
    [214, 212],
    [212, 207],
    [207, 214],
    [183, 42],
    [42, 184],
    [184, 183],
    [210, 169],
    [169, 211],
    [211, 210],
    [140, 170],
    [170, 176],
    [176, 140],
    [104, 105],
    [105, 69],
    [69, 104],
    [193, 122],
    [122, 168],
    [168, 193],
    [50, 123],
    [123, 187],
    [187, 50],
    [89, 96],
    [96, 90],
    [90, 89],
    [66, 65],
    [65, 107],
    [107, 66],
    [179, 89],
    [89, 180],
    [180, 179],
    [119, 101],
    [101, 120],
    [120, 119],
    [68, 63],
    [63, 104],
    [104, 68],
    [234, 93],
    [93, 227],
    [227, 234],
    [16, 15],
    [15, 85],
    [85, 16],
    [209, 129],
    [129, 49],
    [49, 209],
    [15, 14],
    [14, 86],
    [86, 15],
    [107, 55],
    [55, 9],
    [9, 107],
    [120, 100],
    [100, 121],
    [121, 120],
    [153, 145],
    [145, 22],
    [22, 153],
    [178, 88],
    [88, 179],
    [179, 178],
    [197, 6],
    [6, 196],
    [196, 197],
    [89, 88],
    [88, 96],
    [96, 89],
    [135, 138],
    [138, 136],
    [136, 135],
    [138, 215],
    [215, 172],
    [172, 138],
    [218, 115],
    [115, 219],
    [219, 218],
    [41, 42],
    [42, 81],
    [81, 41],
    [5, 195],
    [195, 51],
    [51, 5],
    [57, 43],
    [43, 61],
    [61, 57],
    [208, 171],
    [171, 199],
    [199, 208],
    [41, 81],
    [81, 38],
    [38, 41],
    [224, 53],
    [53, 225],
    [225, 224],
    [24, 144],
    [144, 110],
    [110, 24],
    [105, 52],
    [52, 66],
    [66, 105],
    [118, 229],
    [229, 117],
    [117, 118],
    [227, 34],
    [34, 234],
    [234, 227],
    [66, 107],
    [107, 69],
    [69, 66],
    [10, 109],
    [109, 151],
    [151, 10],
    [219, 48],
    [48, 235],
    [235, 219],
    [183, 62],
    [62, 191],
    [191, 183],
    [142, 129],
    [129, 126],
    [126, 142],
    [116, 111],
    [111, 143],
    [143, 116],
    [118, 117],
    [117, 50],
    [50, 118],
    [223, 222],
    [222, 52],
    [52, 223],
    [94, 19],
    [19, 141],
    [141, 94],
    [222, 221],
    [221, 65],
    [65, 222],
    [196, 3],
    [3, 197],
    [197, 196],
    [45, 220],
    [220, 44],
    [44, 45],
    [156, 70],
    [70, 139],
    [139, 156],
    [188, 122],
    [122, 245],
    [245, 188],
    [139, 71],
    [71, 162],
    [162, 139],
    [149, 170],
    [170, 150],
    [150, 149],
    [122, 188],
    [188, 196],
    [196, 122],
    [206, 216],
    [216, 92],
    [92, 206],
    [164, 2],
    [2, 167],
    [167, 164],
    [242, 141],
    [141, 241],
    [241, 242],
    [0, 164],
    [164, 37],
    [37, 0],
    [11, 72],
    [72, 12],
    [12, 11],
    [12, 38],
    [38, 13],
    [13, 12],
    [70, 63],
    [63, 71],
    [71, 70],
    [31, 226],
    [226, 111],
    [111, 31],
    [36, 101],
    [101, 205],
    [205, 36],
    [203, 206],
    [206, 165],
    [165, 203],
    [126, 209],
    [209, 217],
    [217, 126],
    [98, 165],
    [165, 97],
    [97, 98],
    [237, 220],
    [220, 218],
    [218, 237],
    [237, 239],
    [239, 241],
    [241, 237],
    [210, 214],
    [214, 169],
    [169, 210],
    [140, 171],
    [171, 32],
    [32, 140],
    [241, 125],
    [125, 237],
    [237, 241],
    [179, 86],
    [86, 178],
    [178, 179],
    [180, 85],
    [85, 179],
    [179, 180],
    [181, 84],
    [84, 180],
    [180, 181],
    [182, 83],
    [83, 181],
    [181, 182],
    [194, 201],
    [201, 182],
    [182, 194],
    [177, 137],
    [137, 132],
    [132, 177],
    [184, 76],
    [76, 183],
    [183, 184],
    [185, 61],
    [61, 184],
    [184, 185],
    [186, 57],
    [57, 185],
    [185, 186],
    [216, 212],
    [212, 186],
    [186, 216],
    [192, 214],
    [214, 187],
    [187, 192],
    [139, 34],
    [34, 156],
    [156, 139],
    [218, 79],
    [79, 237],
    [237, 218],
    [147, 123],
    [123, 177],
    [177, 147],
    [45, 44],
    [44, 4],
    [4, 45],
    [208, 201],
    [201, 32],
    [32, 208],
    [98, 64],
    [64, 129],
    [129, 98],
    [192, 213],
    [213, 138],
    [138, 192],
    [235, 59],
    [59, 219],
    [219, 235],
    [141, 242],
    [242, 97],
    [97, 141],
    [97, 2],
    [2, 141],
    [141, 97],
    [240, 75],
    [75, 235],
    [235, 240],
    [229, 24],
    [24, 228],
    [228, 229],
    [31, 25],
    [25, 226],
    [226, 31],
    [230, 23],
    [23, 229],
    [229, 230],
    [231, 22],
    [22, 230],
    [230, 231],
    [232, 26],
    [26, 231],
    [231, 232],
    [233, 112],
    [112, 232],
    [232, 233],
    [244, 189],
    [189, 243],
    [243, 244],
    [189, 221],
    [221, 190],
    [190, 189],
    [222, 28],
    [28, 221],
    [221, 222],
    [223, 27],
    [27, 222],
    [222, 223],
    [224, 29],
    [29, 223],
    [223, 224],
    [225, 30],
    [30, 224],
    [224, 225],
    [113, 247],
    [247, 225],
    [225, 113],
    [99, 60],
    [60, 240],
    [240, 99],
    [213, 147],
    [147, 215],
    [215, 213],
    [60, 20],
    [20, 166],
    [166, 60],
    [192, 187],
    [187, 213],
    [213, 192],
    [243, 112],
    [112, 244],
    [244, 243],
    [244, 233],
    [233, 245],
    [245, 244],
    [245, 128],
    [128, 188],
    [188, 245],
    [188, 114],
    [114, 174],
    [174, 188],
    [134, 131],
    [131, 220],
    [220, 134],
    [174, 217],
    [217, 236],
    [236, 174],
    [236, 198],
    [198, 134],
    [134, 236],
    [215, 177],
    [177, 58],
    [58, 215],
    [156, 143],
    [143, 124],
    [124, 156],
    [25, 110],
    [110, 7],
    [7, 25],
    [31, 228],
    [228, 25],
    [25, 31],
    [264, 356],
    [356, 368],
    [368, 264],
    [0, 11],
    [11, 267],
    [267, 0],
    [451, 452],
    [452, 349],
    [349, 451],
    [267, 302],
    [302, 269],
    [269, 267],
    [350, 357],
    [357, 277],
    [277, 350],
    [350, 452],
    [452, 357],
    [357, 350],
    [299, 333],
    [333, 297],
    [297, 299],
    [396, 175],
    [175, 377],
    [377, 396],
    [280, 347],
    [347, 330],
    [330, 280],
    [269, 303],
    [303, 270],
    [270, 269],
    [151, 9],
    [9, 337],
    [337, 151],
    [344, 278],
    [278, 360],
    [360, 344],
    [424, 418],
    [418, 431],
    [431, 424],
    [270, 304],
    [304, 409],
    [409, 270],
    [272, 310],
    [310, 407],
    [407, 272],
    [322, 270],
    [270, 410],
    [410, 322],
    [449, 450],
    [450, 347],
    [347, 449],
    [432, 422],
    [422, 434],
    [434, 432],
    [18, 313],
    [313, 17],
    [17, 18],
    [291, 306],
    [306, 375],
    [375, 291],
    [259, 387],
    [387, 260],
    [260, 259],
    [424, 335],
    [335, 418],
    [418, 424],
    [434, 364],
    [364, 416],
    [416, 434],
    [391, 423],
    [423, 327],
    [327, 391],
    [301, 251],
    [251, 298],
    [298, 301],
    [275, 281],
    [281, 4],
    [4, 275],
    [254, 373],
    [373, 253],
    [253, 254],
    [375, 307],
    [307, 321],
    [321, 375],
    [280, 425],
    [425, 411],
    [411, 280],
    [200, 421],
    [421, 18],
    [18, 200],
    [335, 321],
    [321, 406],
    [406, 335],
    [321, 320],
    [320, 405],
    [405, 321],
    [314, 315],
    [315, 17],
    [17, 314],
    [423, 426],
    [426, 266],
    [266, 423],
    [396, 377],
    [377, 369],
    [369, 396],
    [270, 322],
    [322, 269],
    [269, 270],
    [413, 417],
    [417, 464],
    [464, 413],
    [385, 386],
    [386, 258],
    [258, 385],
    [248, 456],
    [456, 419],
    [419, 248],
    [298, 284],
    [284, 333],
    [333, 298],
    [168, 417],
    [417, 8],
    [8, 168],
    [448, 346],
    [346, 261],
    [261, 448],
    [417, 413],
    [413, 285],
    [285, 417],
    [326, 327],
    [327, 328],
    [328, 326],
    [277, 355],
    [355, 329],
    [329, 277],
    [309, 392],
    [392, 438],
    [438, 309],
    [381, 382],
    [382, 256],
    [256, 381],
    [279, 429],
    [429, 360],
    [360, 279],
    [365, 364],
    [364, 379],
    [379, 365],
    [355, 277],
    [277, 437],
    [437, 355],
    [282, 443],
    [443, 283],
    [283, 282],
    [281, 275],
    [275, 363],
    [363, 281],
    [395, 431],
    [431, 369],
    [369, 395],
    [299, 297],
    [297, 337],
    [337, 299],
    [335, 273],
    [273, 321],
    [321, 335],
    [348, 450],
    [450, 349],
    [349, 348],
    [359, 446],
    [446, 467],
    [467, 359],
    [283, 293],
    [293, 282],
    [282, 283],
    [250, 458],
    [458, 462],
    [462, 250],
    [300, 276],
    [276, 383],
    [383, 300],
    [292, 308],
    [308, 325],
    [325, 292],
    [283, 276],
    [276, 293],
    [293, 283],
    [264, 372],
    [372, 447],
    [447, 264],
    [346, 352],
    [352, 340],
    [340, 346],
    [354, 274],
    [274, 19],
    [19, 354],
    [363, 456],
    [456, 281],
    [281, 363],
    [426, 436],
    [436, 425],
    [425, 426],
    [380, 381],
    [381, 252],
    [252, 380],
    [267, 269],
    [269, 393],
    [393, 267],
    [421, 200],
    [200, 428],
    [428, 421],
    [371, 266],
    [266, 329],
    [329, 371],
    [432, 287],
    [287, 422],
    [422, 432],
    [290, 250],
    [250, 328],
    [328, 290],
    [385, 258],
    [258, 384],
    [384, 385],
    [446, 265],
    [265, 342],
    [342, 446],
    [386, 387],
    [387, 257],
    [257, 386],
    [422, 424],
    [424, 430],
    [430, 422],
    [445, 342],
    [342, 276],
    [276, 445],
    [422, 273],
    [273, 424],
    [424, 422],
    [306, 292],
    [292, 307],
    [307, 306],
    [352, 366],
    [366, 345],
    [345, 352],
    [268, 271],
    [271, 302],
    [302, 268],
    [358, 423],
    [423, 371],
    [371, 358],
    [327, 294],
    [294, 460],
    [460, 327],
    [331, 279],
    [279, 294],
    [294, 331],
    [303, 271],
    [271, 304],
    [304, 303],
    [436, 432],
    [432, 427],
    [427, 436],
    [304, 272],
    [272, 408],
    [408, 304],
    [395, 394],
    [394, 431],
    [431, 395],
    [378, 395],
    [395, 400],
    [400, 378],
    [296, 334],
    [334, 299],
    [299, 296],
    [6, 351],
    [351, 168],
    [168, 6],
    [376, 352],
    [352, 411],
    [411, 376],
    [307, 325],
    [325, 320],
    [320, 307],
    [285, 295],
    [295, 336],
    [336, 285],
    [320, 319],
    [319, 404],
    [404, 320],
    [329, 330],
    [330, 349],
    [349, 329],
    [334, 293],
    [293, 333],
    [333, 334],
    [366, 323],
    [323, 447],
    [447, 366],
    [316, 15],
    [15, 315],
    [315, 316],
    [331, 358],
    [358, 279],
    [279, 331],
    [317, 14],
    [14, 316],
    [316, 317],
    [8, 285],
    [285, 9],
    [9, 8],
    [277, 329],
    [329, 350],
    [350, 277],
    [253, 374],
    [374, 252],
    [252, 253],
    [319, 318],
    [318, 403],
    [403, 319],
    [351, 6],
    [6, 419],
    [419, 351],
    [324, 318],
    [318, 325],
    [325, 324],
    [397, 367],
    [367, 365],
    [365, 397],
    [288, 435],
    [435, 397],
    [397, 288],
    [278, 344],
    [344, 439],
    [439, 278],
    [310, 272],
    [272, 311],
    [311, 310],
    [248, 195],
    [195, 281],
    [281, 248],
    [375, 273],
    [273, 291],
    [291, 375],
    [175, 396],
    [396, 199],
    [199, 175],
    [312, 311],
    [311, 268],
    [268, 312],
    [276, 283],
    [283, 445],
    [445, 276],
    [390, 373],
    [373, 339],
    [339, 390],
    [295, 282],
    [282, 296],
    [296, 295],
    [448, 449],
    [449, 346],
    [346, 448],
    [356, 264],
    [264, 454],
    [454, 356],
    [337, 336],
    [336, 299],
    [299, 337],
    [337, 338],
    [338, 151],
    [151, 337],
    [294, 278],
    [278, 455],
    [455, 294],
    [308, 292],
    [292, 415],
    [415, 308],
    [429, 358],
    [358, 355],
    [355, 429],
    [265, 340],
    [340, 372],
    [372, 265],
    [352, 346],
    [346, 280],
    [280, 352],
    [295, 442],
    [442, 282],
    [282, 295],
    [354, 19],
    [19, 370],
    [370, 354],
    [285, 441],
    [441, 295],
    [295, 285],
    [195, 248],
    [248, 197],
    [197, 195],
    [457, 440],
    [440, 274],
    [274, 457],
    [301, 300],
    [300, 368],
    [368, 301],
    [417, 351],
    [351, 465],
    [465, 417],
    [251, 301],
    [301, 389],
    [389, 251],
    [394, 395],
    [395, 379],
    [379, 394],
    [399, 412],
    [412, 419],
    [419, 399],
    [410, 436],
    [436, 322],
    [322, 410],
    [326, 2],
    [2, 393],
    [393, 326],
    [354, 370],
    [370, 461],
    [461, 354],
    [393, 164],
    [164, 267],
    [267, 393],
    [268, 302],
    [302, 12],
    [12, 268],
    [312, 268],
    [268, 13],
    [13, 312],
    [298, 293],
    [293, 301],
    [301, 298],
    [265, 446],
    [446, 340],
    [340, 265],
    [280, 330],
    [330, 425],
    [425, 280],
    [322, 426],
    [426, 391],
    [391, 322],
    [420, 429],
    [429, 437],
    [437, 420],
    [393, 391],
    [391, 326],
    [326, 393],
    [344, 440],
    [440, 438],
    [438, 344],
    [458, 459],
    [459, 461],
    [461, 458],
    [364, 434],
    [434, 394],
    [394, 364],
    [428, 396],
    [396, 262],
    [262, 428],
    [274, 354],
    [354, 457],
    [457, 274],
    [317, 316],
    [316, 402],
    [402, 317],
    [316, 315],
    [315, 403],
    [403, 316],
    [315, 314],
    [314, 404],
    [404, 315],
    [314, 313],
    [313, 405],
    [405, 314],
    [313, 421],
    [421, 406],
    [406, 313],
    [323, 366],
    [366, 361],
    [361, 323],
    [292, 306],
    [306, 407],
    [407, 292],
    [306, 291],
    [291, 408],
    [408, 306],
    [291, 287],
    [287, 409],
    [409, 291],
    [287, 432],
    [432, 410],
    [410, 287],
    [427, 434],
    [434, 411],
    [411, 427],
    [372, 264],
    [264, 383],
    [383, 372],
    [459, 309],
    [309, 457],
    [457, 459],
    [366, 352],
    [352, 401],
    [401, 366],
    [1, 274],
    [274, 4],
    [4, 1],
    [418, 421],
    [421, 262],
    [262, 418],
    [331, 294],
    [294, 358],
    [358, 331],
    [435, 433],
    [433, 367],
    [367, 435],
    [392, 289],
    [289, 439],
    [439, 392],
    [328, 462],
    [462, 326],
    [326, 328],
    [94, 2],
    [2, 370],
    [370, 94],
    [289, 305],
    [305, 455],
    [455, 289],
    [339, 254],
    [254, 448],
    [448, 339],
    [359, 255],
    [255, 446],
    [446, 359],
    [254, 253],
    [253, 449],
    [449, 254],
    [253, 252],
    [252, 450],
    [450, 253],
    [252, 256],
    [256, 451],
    [451, 252],
    [256, 341],
    [341, 452],
    [452, 256],
    [414, 413],
    [413, 463],
    [463, 414],
    [286, 441],
    [441, 414],
    [414, 286],
    [286, 258],
    [258, 441],
    [441, 286],
    [258, 257],
    [257, 442],
    [442, 258],
    [257, 259],
    [259, 443],
    [443, 257],
    [259, 260],
    [260, 444],
    [444, 259],
    [260, 467],
    [467, 445],
    [445, 260],
    [309, 459],
    [459, 250],
    [250, 309],
    [305, 289],
    [289, 290],
    [290, 305],
    [305, 290],
    [290, 460],
    [460, 305],
    [401, 376],
    [376, 435],
    [435, 401],
    [309, 250],
    [250, 392],
    [392, 309],
    [376, 411],
    [411, 433],
    [433, 376],
    [453, 341],
    [341, 464],
    [464, 453],
    [357, 453],
    [453, 465],
    [465, 357],
    [343, 357],
    [357, 412],
    [412, 343],
    [437, 343],
    [343, 399],
    [399, 437],
    [344, 360],
    [360, 440],
    [440, 344],
    [420, 437],
    [437, 456],
    [456, 420],
    [360, 420],
    [420, 363],
    [363, 360],
    [361, 401],
    [401, 288],
    [288, 361],
    [265, 372],
    [372, 353],
    [353, 265],
    [390, 339],
    [339, 249],
    [249, 390],
    [339, 448],
    [448, 255],
    [255, 339],
  );
function kc(t) {
  t.j = {
    faceLandmarks: [],
    faceBlendshapes: [],
    facialTransformationMatrixes: [],
  };
}
var Sc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "image_in", "norm_rect", !1),
      (this.j = {
        faceLandmarks: [],
        faceBlendshapes: [],
        facialTransformationMatrixes: [],
      }),
      (this.outputFacialTransformationMatrixes = this.outputFaceBlendshapes =
        !1),
      wn((t = this.h = new Js()), 0, 1, (e = new Xs())),
      (this.A = new $s()),
      wn(this.h, 0, 3, this.A),
      (this.u = new zs()),
      wn(this.h, 0, 2, this.u),
      xn(this.u, 4, 1),
      Ln(this.u, 2, 0.5),
      Ln(this.A, 2, 0.5),
      Ln(this.h, 4, 0.5));
  }
  get baseOptions() {
    return yn(this.h, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.h, 0, 1, t);
  }
  o(t) {
    return (
      "numFaces" in t && xn(this.u, 4, t.numFaces ?? 1),
      "minFaceDetectionConfidence" in t &&
        Ln(this.u, 2, t.minFaceDetectionConfidence ?? 0.5),
      "minTrackingConfidence" in t &&
        Ln(this.h, 4, t.minTrackingConfidence ?? 0.5),
      "minFacePresenceConfidence" in t &&
        Ln(this.A, 2, t.minFacePresenceConfidence ?? 0.5),
      "outputFaceBlendshapes" in t &&
        (this.outputFaceBlendshapes = !!t.outputFaceBlendshapes),
      "outputFacialTransformationMatrixes" in t &&
        (this.outputFacialTransformationMatrixes =
          !!t.outputFacialTransformationMatrixes),
      this.l(t)
    );
  }
  F(t, e) {
    return (kc(this), uc(this, t, e), this.j);
  }
  G(t, e, n) {
    return (kc(this), lc(this, t, n, e), this.j);
  }
  m() {
    var t = new ls();
    (hs(t, "image_in"), hs(t, "norm_rect"), us(t, "face_landmarks"));
    const e = new Qi();
    xr(e, Qs, this.h);
    const n = new is();
    (Rn(n, 2, "mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),
      ns(n, "IMAGE:image_in"),
      ns(n, "NORM_RECT:norm_rect"),
      rs(n, "NORM_LANDMARKS:face_landmarks"),
      n.o(e),
      cs(t, n),
      this.g.attachProtoVectorListener("face_landmarks", (t, e) => {
        for (const e of t) ((t = ks(e)), this.j.faceLandmarks.push(Ho(t)));
        ua(this, e);
      }),
      this.g.attachEmptyPacketListener("face_landmarks", (t) => {
        ua(this, t);
      }),
      this.outputFaceBlendshapes &&
        (us(t, "blendshapes"),
        rs(n, "BLENDSHAPES:blendshapes"),
        this.g.attachProtoVectorListener("blendshapes", (t, e) => {
          if (this.outputFaceBlendshapes)
            for (const e of t)
              ((t = ys(e)), this.j.faceBlendshapes.push(jo(t.g() ?? [])));
          ua(this, e);
        }),
        this.g.attachEmptyPacketListener("blendshapes", (t) => {
          ua(this, t);
        })),
      this.outputFacialTransformationMatrixes &&
        (us(t, "face_geometry"),
        rs(n, "FACE_GEOMETRY:face_geometry"),
        this.g.attachProtoVectorListener("face_geometry", (t, e) => {
          if (this.outputFacialTransformationMatrixes)
            for (const e of t)
              (t = yn((t = qs(e)), Ss, 2)) &&
                this.j.facialTransformationMatrixes.push({
                  rows: kn(t, 1) ?? 0 ?? 0,
                  columns: kn(t, 2) ?? 0 ?? 0,
                  data: en(t, 3, $t, tn()).slice() ?? [],
                });
          ua(this, e);
        }),
        this.g.attachEmptyPacketListener("face_geometry", (t) => {
          ua(this, t);
        })),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
((Sc.prototype.detectForVideo = Sc.prototype.G),
  (Sc.prototype.detect = Sc.prototype.F),
  (Sc.prototype.setOptions = Sc.prototype.o),
  (Sc.createFromModelPath = function (t, e) {
    return cc(Sc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (Sc.createFromModelBuffer = function (t, e) {
    return cc(Sc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (Sc.createFromOptions = function (t, e) {
    return cc(Sc, t, e);
  }),
  (Sc.FACE_LANDMARKS_LIPS = gc),
  (Sc.FACE_LANDMARKS_LEFT_EYE = mc),
  (Sc.FACE_LANDMARKS_LEFT_EYEBROW = yc),
  (Sc.FACE_LANDMARKS_LEFT_IRIS = _c),
  (Sc.FACE_LANDMARKS_RIGHT_EYE = vc),
  (Sc.FACE_LANDMARKS_RIGHT_EYEBROW = Ec),
  (Sc.FACE_LANDMARKS_RIGHT_IRIS = wc),
  (Sc.FACE_LANDMARKS_FACE_OVAL = Tc),
  (Sc.FACE_LANDMARKS_CONTOURS = Ac),
  (Sc.FACE_LANDMARKS_TESSELATION = bc));
var xc = ic(
  [0, 1],
  [1, 2],
  [2, 3],
  [3, 4],
  [0, 5],
  [5, 6],
  [6, 7],
  [7, 8],
  [5, 9],
  [9, 10],
  [10, 11],
  [11, 12],
  [9, 13],
  [13, 14],
  [14, 15],
  [15, 16],
  [13, 17],
  [0, 17],
  [17, 18],
  [18, 19],
  [19, 20],
);
function Lc(t) {
  ((t.gestures = []),
    (t.landmarks = []),
    (t.worldLandmarks = []),
    (t.handedness = []));
}
function Rc(t) {
  return 0 === t.gestures.length
    ? {
        gestures: [],
        landmarks: [],
        worldLandmarks: [],
        handedness: [],
        handednesses: [],
      }
    : {
        gestures: t.gestures,
        landmarks: t.landmarks,
        worldLandmarks: t.worldLandmarks,
        handedness: t.handedness,
        handednesses: t.handedness,
      };
}
function Ic(t, e = !0) {
  const n = [];
  for (const i of t) {
    var r = ys(i);
    t = [];
    for (const n of r.g())
      ((r = e && null != kn(n, 1) ? (kn(n, 1) ?? 0) : -1),
        t.push({
          score: Sn(n, 2) ?? 0,
          index: r,
          categoryName: le($e(n, 3)) ?? "" ?? "",
          displayName: le($e(n, 4)) ?? "" ?? "",
        }));
    n.push(t);
  }
  return n;
}
var Fc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "image_in", "norm_rect", !1),
      (this.gestures = []),
      (this.landmarks = []),
      (this.worldLandmarks = []),
      (this.handedness = []),
      wn((t = this.j = new oo()), 0, 1, (e = new Xs())),
      (this.u = new so()),
      wn(this.j, 0, 2, this.u),
      (this.D = new io()),
      wn(this.u, 0, 3, this.D),
      (this.A = new ro()),
      wn(this.u, 0, 2, this.A),
      (this.h = new no()),
      wn(this.j, 0, 3, this.h),
      Ln(this.A, 2, 0.5),
      Ln(this.u, 4, 0.5),
      Ln(this.D, 2, 0.5));
  }
  get baseOptions() {
    return yn(this.j, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.j, 0, 1, t);
  }
  o(t) {
    if (
      (xn(this.A, 3, t.numHands ?? 1),
      "minHandDetectionConfidence" in t &&
        Ln(this.A, 2, t.minHandDetectionConfidence ?? 0.5),
      "minTrackingConfidence" in t &&
        Ln(this.u, 4, t.minTrackingConfidence ?? 0.5),
      "minHandPresenceConfidence" in t &&
        Ln(this.D, 2, t.minHandPresenceConfidence ?? 0.5),
      t.cannedGesturesClassifierOptions)
    ) {
      var e = new to(),
        n = e,
        r = Bo(t.cannedGesturesClassifierOptions, yn(this.h, to, 3)?.l());
      (wn(n, 0, 2, r), wn(this.h, 0, 3, e));
    } else
      void 0 === t.cannedGesturesClassifierOptions && yn(this.h, to, 3)?.g();
    return (
      t.customGesturesClassifierOptions
        ? (wn(
            (n = e = new to()),
            0,
            2,
            (r = Bo(t.customGesturesClassifierOptions, yn(this.h, to, 4)?.l())),
          ),
          wn(this.h, 0, 4, e))
        : void 0 === t.customGesturesClassifierOptions &&
          yn(this.h, to, 4)?.g(),
      this.l(t)
    );
  }
  Ha(t, e) {
    return (Lc(this), uc(this, t, e), Rc(this));
  }
  Ia(t, e, n) {
    return (Lc(this), lc(this, t, n, e), Rc(this));
  }
  m() {
    var t = new ls();
    (hs(t, "image_in"),
      hs(t, "norm_rect"),
      us(t, "hand_gestures"),
      us(t, "hand_landmarks"),
      us(t, "world_hand_landmarks"),
      us(t, "handedness"));
    const e = new Qi();
    xr(e, lo, this.j);
    const n = new is();
    (Rn(
      n,
      2,
      "mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph",
    ),
      ns(n, "IMAGE:image_in"),
      ns(n, "NORM_RECT:norm_rect"),
      rs(n, "HAND_GESTURES:hand_gestures"),
      rs(n, "LANDMARKS:hand_landmarks"),
      rs(n, "WORLD_LANDMARKS:world_hand_landmarks"),
      rs(n, "HANDEDNESS:handedness"),
      n.o(e),
      cs(t, n),
      this.g.attachProtoVectorListener("hand_landmarks", (t, e) => {
        for (const e of t) {
          t = ks(e);
          const n = [];
          for (const e of vn(t, bs, 1))
            n.push({
              x: Sn(e, 1) ?? 0,
              y: Sn(e, 2) ?? 0,
              z: Sn(e, 3) ?? 0,
              visibility: Sn(e, 4) ?? 0,
            });
          this.landmarks.push(n);
        }
        ua(this, e);
      }),
      this.g.attachEmptyPacketListener("hand_landmarks", (t) => {
        ua(this, t);
      }),
      this.g.attachProtoVectorListener("world_hand_landmarks", (t, e) => {
        for (const e of t) {
          t = As(e);
          const n = [];
          for (const e of vn(t, Ts, 1))
            n.push({
              x: Sn(e, 1) ?? 0,
              y: Sn(e, 2) ?? 0,
              z: Sn(e, 3) ?? 0,
              visibility: Sn(e, 4) ?? 0,
            });
          this.worldLandmarks.push(n);
        }
        ua(this, e);
      }),
      this.g.attachEmptyPacketListener("world_hand_landmarks", (t) => {
        ua(this, t);
      }),
      this.g.attachProtoVectorListener("hand_gestures", (t, e) => {
        (this.gestures.push(...Ic(t, !1)), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("hand_gestures", (t) => {
        ua(this, t);
      }),
      this.g.attachProtoVectorListener("handedness", (t, e) => {
        (this.handedness.push(...Ic(t)), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("handedness", (t) => {
        ua(this, t);
      }),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
function Mc(t) {
  return {
    landmarks: t.landmarks,
    worldLandmarks: t.worldLandmarks,
    handednesses: t.handedness,
    handedness: t.handedness,
  };
}
((Fc.prototype.recognizeForVideo = Fc.prototype.Ia),
  (Fc.prototype.recognize = Fc.prototype.Ha),
  (Fc.prototype.setOptions = Fc.prototype.o),
  (Fc.createFromModelPath = function (t, e) {
    return cc(Fc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (Fc.createFromModelBuffer = function (t, e) {
    return cc(Fc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (Fc.createFromOptions = function (t, e) {
    return cc(Fc, t, e);
  }),
  (Fc.HAND_CONNECTIONS = xc));
var Pc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "image_in", "norm_rect", !1),
      (this.landmarks = []),
      (this.worldLandmarks = []),
      (this.handedness = []),
      wn((t = this.h = new so()), 0, 1, (e = new Xs())),
      (this.u = new io()),
      wn(this.h, 0, 3, this.u),
      (this.j = new ro()),
      wn(this.h, 0, 2, this.j),
      xn(this.j, 3, 1),
      Ln(this.j, 2, 0.5),
      Ln(this.u, 2, 0.5),
      Ln(this.h, 4, 0.5));
  }
  get baseOptions() {
    return yn(this.h, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.h, 0, 1, t);
  }
  o(t) {
    return (
      "numHands" in t && xn(this.j, 3, t.numHands ?? 1),
      "minHandDetectionConfidence" in t &&
        Ln(this.j, 2, t.minHandDetectionConfidence ?? 0.5),
      "minTrackingConfidence" in t &&
        Ln(this.h, 4, t.minTrackingConfidence ?? 0.5),
      "minHandPresenceConfidence" in t &&
        Ln(this.u, 2, t.minHandPresenceConfidence ?? 0.5),
      this.l(t)
    );
  }
  F(t, e) {
    return (
      (this.landmarks = []),
      (this.worldLandmarks = []),
      (this.handedness = []),
      uc(this, t, e),
      Mc(this)
    );
  }
  G(t, e, n) {
    return (
      (this.landmarks = []),
      (this.worldLandmarks = []),
      (this.handedness = []),
      lc(this, t, n, e),
      Mc(this)
    );
  }
  m() {
    var t = new ls();
    (hs(t, "image_in"),
      hs(t, "norm_rect"),
      us(t, "hand_landmarks"),
      us(t, "world_hand_landmarks"),
      us(t, "handedness"));
    const e = new Qi();
    xr(e, fo, this.h);
    const n = new is();
    (Rn(n, 2, "mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),
      ns(n, "IMAGE:image_in"),
      ns(n, "NORM_RECT:norm_rect"),
      rs(n, "LANDMARKS:hand_landmarks"),
      rs(n, "WORLD_LANDMARKS:world_hand_landmarks"),
      rs(n, "HANDEDNESS:handedness"),
      n.o(e),
      cs(t, n),
      this.g.attachProtoVectorListener("hand_landmarks", (t, e) => {
        for (const e of t) ((t = ks(e)), this.landmarks.push(Ho(t)));
        ua(this, e);
      }),
      this.g.attachEmptyPacketListener("hand_landmarks", (t) => {
        ua(this, t);
      }),
      this.g.attachProtoVectorListener("world_hand_landmarks", (t, e) => {
        for (const e of t) ((t = As(e)), this.worldLandmarks.push(Wo(t)));
        ua(this, e);
      }),
      this.g.attachEmptyPacketListener("world_hand_landmarks", (t) => {
        ua(this, t);
      }),
      this.g.attachProtoVectorListener("handedness", (t, e) => {
        var n = this.handedness,
          r = n.push;
        const i = [];
        for (const e of t) {
          t = ys(e);
          const n = [];
          for (const e of t.g())
            n.push({
              score: Sn(e, 2) ?? 0,
              index: kn(e, 1) ?? 0 ?? -1,
              categoryName: le($e(e, 3)) ?? "" ?? "",
              displayName: le($e(e, 4)) ?? "" ?? "",
            });
          i.push(n);
        }
        (r.call(n, ...i), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("handedness", (t) => {
        ua(this, t);
      }),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
((Pc.prototype.detectForVideo = Pc.prototype.G),
  (Pc.prototype.detect = Pc.prototype.F),
  (Pc.prototype.setOptions = Pc.prototype.o),
  (Pc.createFromModelPath = function (t, e) {
    return cc(Pc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (Pc.createFromModelBuffer = function (t, e) {
    return cc(Pc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (Pc.createFromOptions = function (t, e) {
    return cc(Pc, t, e);
  }),
  (Pc.HAND_CONNECTIONS = xc));
var Cc = ic(
  [0, 1],
  [1, 2],
  [2, 3],
  [3, 7],
  [0, 4],
  [4, 5],
  [5, 6],
  [6, 8],
  [9, 10],
  [11, 12],
  [11, 13],
  [13, 15],
  [15, 17],
  [15, 19],
  [15, 21],
  [17, 19],
  [12, 14],
  [14, 16],
  [16, 18],
  [16, 20],
  [16, 22],
  [18, 20],
  [11, 23],
  [12, 24],
  [23, 24],
  [23, 25],
  [24, 26],
  [25, 27],
  [26, 28],
  [27, 29],
  [28, 30],
  [29, 31],
  [30, 32],
  [27, 31],
  [28, 32],
);
function Oc(t) {
  t.h = {
    faceLandmarks: [],
    faceBlendshapes: [],
    poseLandmarks: [],
    poseWorldLandmarks: [],
    poseSegmentationMasks: [],
    leftHandLandmarks: [],
    leftHandWorldLandmarks: [],
    rightHandLandmarks: [],
    rightHandWorldLandmarks: [],
  };
}
function Nc(t) {
  try {
    if (!t.D) return t.h;
    t.D(t.h);
  } finally {
    da(t);
  }
}
function Uc(t, e) {
  ((t = ks(t)), e.push(Ho(t)));
}
var Dc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "input_frames_image", null, !1),
      (this.h = {
        faceLandmarks: [],
        faceBlendshapes: [],
        poseLandmarks: [],
        poseWorldLandmarks: [],
        poseSegmentationMasks: [],
        leftHandLandmarks: [],
        leftHandWorldLandmarks: [],
        rightHandLandmarks: [],
        rightHandWorldLandmarks: [],
      }),
      (this.outputPoseSegmentationMasks = this.outputFaceBlendshapes = !1),
      wn((t = this.j = new yo()), 0, 1, (e = new Xs())),
      (this.I = new io()),
      wn(this.j, 0, 2, this.I),
      (this.W = new po()),
      wn(this.j, 0, 3, this.W),
      (this.u = new zs()),
      wn(this.j, 0, 4, this.u),
      (this.O = new $s()),
      wn(this.j, 0, 5, this.O),
      (this.A = new go()),
      wn(this.j, 0, 6, this.A),
      (this.M = new mo()),
      wn(this.j, 0, 7, this.M),
      Ln(this.u, 2, 0.5),
      Ln(this.u, 3, 0.3),
      Ln(this.O, 2, 0.5),
      Ln(this.A, 2, 0.5),
      Ln(this.A, 3, 0.3),
      Ln(this.M, 2, 0.5),
      Ln(this.I, 2, 0.5));
  }
  get baseOptions() {
    return yn(this.j, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.j, 0, 1, t);
  }
  o(t) {
    return (
      "minFaceDetectionConfidence" in t &&
        Ln(this.u, 2, t.minFaceDetectionConfidence ?? 0.5),
      "minFaceSuppressionThreshold" in t &&
        Ln(this.u, 3, t.minFaceSuppressionThreshold ?? 0.3),
      "minFacePresenceConfidence" in t &&
        Ln(this.O, 2, t.minFacePresenceConfidence ?? 0.5),
      "outputFaceBlendshapes" in t &&
        (this.outputFaceBlendshapes = !!t.outputFaceBlendshapes),
      "minPoseDetectionConfidence" in t &&
        Ln(this.A, 2, t.minPoseDetectionConfidence ?? 0.5),
      "minPoseSuppressionThreshold" in t &&
        Ln(this.A, 3, t.minPoseSuppressionThreshold ?? 0.3),
      "minPosePresenceConfidence" in t &&
        Ln(this.M, 2, t.minPosePresenceConfidence ?? 0.5),
      "outputPoseSegmentationMasks" in t &&
        (this.outputPoseSegmentationMasks = !!t.outputPoseSegmentationMasks),
      "minHandLandmarksConfidence" in t &&
        Ln(this.I, 2, t.minHandLandmarksConfidence ?? 0.5),
      this.l(t)
    );
  }
  F(t, e, n) {
    const r = "function" != typeof e ? e : {};
    return (
      (this.D = "function" == typeof e ? e : n),
      Oc(this),
      uc(this, t, r),
      Nc(this)
    );
  }
  G(t, e, n, r) {
    const i = "function" != typeof n ? n : {};
    return (
      (this.D = "function" == typeof n ? n : r),
      Oc(this),
      lc(this, t, i, e),
      Nc(this)
    );
  }
  m() {
    var t = new ls();
    (hs(t, "input_frames_image"),
      us(t, "pose_landmarks"),
      us(t, "pose_world_landmarks"),
      us(t, "face_landmarks"),
      us(t, "left_hand_landmarks"),
      us(t, "left_hand_world_landmarks"),
      us(t, "right_hand_landmarks"),
      us(t, "right_hand_world_landmarks"));
    const e = new Qi(),
      n = new Bi();
    (Rn(
      n,
      1,
      "type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions",
    ),
      (function (t, e) {
        if (null != e)
          if (Array.isArray(e)) Ze(t, 2, Ie(e, 0, Me));
          else {
            if (!("string" == typeof e || e instanceof F || x(e)))
              throw Error(
                "invalid value in Any.value field: " +
                  e +
                  " expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array",
              );
            hn(t, 2, ht(e, !1), R());
          }
      })(n, this.j.g()));
    const r = new is();
    (Rn(
      r,
      2,
      "mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph",
    ),
      bn(r, 8, Bi, n),
      ns(r, "IMAGE:input_frames_image"),
      rs(r, "POSE_LANDMARKS:pose_landmarks"),
      rs(r, "POSE_WORLD_LANDMARKS:pose_world_landmarks"),
      rs(r, "FACE_LANDMARKS:face_landmarks"),
      rs(r, "LEFT_HAND_LANDMARKS:left_hand_landmarks"),
      rs(r, "LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),
      rs(r, "RIGHT_HAND_LANDMARKS:right_hand_landmarks"),
      rs(r, "RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),
      r.o(e),
      cs(t, r),
      la(this, t),
      this.g.attachProtoListener("pose_landmarks", (t, e) => {
        (Uc(t, this.h.poseLandmarks), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("pose_landmarks", (t) => {
        ua(this, t);
      }),
      this.g.attachProtoListener("pose_world_landmarks", (t, e) => {
        var n = this.h.poseWorldLandmarks;
        ((t = As(t)), n.push(Wo(t)), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("pose_world_landmarks", (t) => {
        ua(this, t);
      }),
      this.outputPoseSegmentationMasks &&
        (rs(r, "POSE_SEGMENTATION_MASK:pose_segmentation_mask"),
        fa(this, "pose_segmentation_mask"),
        this.g.Z("pose_segmentation_mask", (t, e) => {
          ((this.h.poseSegmentationMasks = [fc(this, t, !0, !this.D)]),
            ua(this, e));
        }),
        this.g.attachEmptyPacketListener("pose_segmentation_mask", (t) => {
          ((this.h.poseSegmentationMasks = []), ua(this, t));
        })),
      this.g.attachProtoListener("face_landmarks", (t, e) => {
        (Uc(t, this.h.faceLandmarks), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("face_landmarks", (t) => {
        ua(this, t);
      }),
      this.outputFaceBlendshapes &&
        (us(t, "extra_blendshapes"),
        rs(r, "FACE_BLENDSHAPES:extra_blendshapes"),
        this.g.attachProtoListener("extra_blendshapes", (t, e) => {
          var n = this.h.faceBlendshapes;
          (this.outputFaceBlendshapes && ((t = ys(t)), n.push(jo(t.g() ?? []))),
            ua(this, e));
        }),
        this.g.attachEmptyPacketListener("extra_blendshapes", (t) => {
          ua(this, t);
        })),
      this.g.attachProtoListener("left_hand_landmarks", (t, e) => {
        (Uc(t, this.h.leftHandLandmarks), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("left_hand_landmarks", (t) => {
        ua(this, t);
      }),
      this.g.attachProtoListener("left_hand_world_landmarks", (t, e) => {
        var n = this.h.leftHandWorldLandmarks;
        ((t = As(t)), n.push(Wo(t)), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("left_hand_world_landmarks", (t) => {
        ua(this, t);
      }),
      this.g.attachProtoListener("right_hand_landmarks", (t, e) => {
        (Uc(t, this.h.rightHandLandmarks), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("right_hand_landmarks", (t) => {
        ua(this, t);
      }),
      this.g.attachProtoListener("right_hand_world_landmarks", (t, e) => {
        var n = this.h.rightHandWorldLandmarks;
        ((t = As(t)), n.push(Wo(t)), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("right_hand_world_landmarks", (t) => {
        ua(this, t);
      }),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
((Dc.prototype.detectForVideo = Dc.prototype.G),
  (Dc.prototype.detect = Dc.prototype.F),
  (Dc.prototype.setOptions = Dc.prototype.o),
  (Dc.createFromModelPath = function (t, e) {
    return cc(Dc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (Dc.createFromModelBuffer = function (t, e) {
    return cc(Dc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (Dc.createFromOptions = function (t, e) {
    return cc(Dc, t, e);
  }),
  (Dc.HAND_CONNECTIONS = xc),
  (Dc.POSE_CONNECTIONS = Cc),
  (Dc.FACE_LANDMARKS_LIPS = gc),
  (Dc.FACE_LANDMARKS_LEFT_EYE = mc),
  (Dc.FACE_LANDMARKS_LEFT_EYEBROW = yc),
  (Dc.FACE_LANDMARKS_LEFT_IRIS = _c),
  (Dc.FACE_LANDMARKS_RIGHT_EYE = vc),
  (Dc.FACE_LANDMARKS_RIGHT_EYEBROW = Ec),
  (Dc.FACE_LANDMARKS_RIGHT_IRIS = wc),
  (Dc.FACE_LANDMARKS_FACE_OVAL = Tc),
  (Dc.FACE_LANDMARKS_CONTOURS = Ac),
  (Dc.FACE_LANDMARKS_TESSELATION = bc));
var Bc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "input_image", "norm_rect", !0),
      (this.j = { classifications: [] }),
      wn((t = this.h = new Eo()), 0, 1, (e = new Xs())));
  }
  get baseOptions() {
    return yn(this.h, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.h, 0, 1, t);
  }
  o(t) {
    return (wn(this.h, 0, 2, Bo(t, yn(this.h, Ns, 2))), this.l(t));
  }
  sa(t, e) {
    return ((this.j = { classifications: [] }), uc(this, t, e), this.j);
  }
  ta(t, e, n) {
    return ((this.j = { classifications: [] }), lc(this, t, n, e), this.j);
  }
  m() {
    var t = new ls();
    (hs(t, "input_image"), hs(t, "norm_rect"), us(t, "classifications"));
    const e = new Qi();
    xr(e, wo, this.h);
    const n = new is();
    (Rn(n, 2, "mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),
      ns(n, "IMAGE:input_image"),
      ns(n, "NORM_RECT:norm_rect"),
      rs(n, "CLASSIFICATIONS:classifications"),
      n.o(e),
      cs(t, n),
      this.g.attachProtoListener("classifications", (t, e) => {
        ((this.j = Vo(Is(t))), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("classifications", (t) => {
        ua(this, t);
      }),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
((Bc.prototype.classifyForVideo = Bc.prototype.ta),
  (Bc.prototype.classify = Bc.prototype.sa),
  (Bc.prototype.setOptions = Bc.prototype.o),
  (Bc.createFromModelPath = function (t, e) {
    return cc(Bc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (Bc.createFromModelBuffer = function (t, e) {
    return cc(Bc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (Bc.createFromOptions = function (t, e) {
    return cc(Bc, t, e);
  }));
var Gc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "image_in", "norm_rect", !0),
      (this.h = new To()),
      (this.embeddings = { embeddings: [] }),
      wn((t = this.h), 0, 1, (e = new Xs())));
  }
  get baseOptions() {
    return yn(this.h, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.h, 0, 1, t);
  }
  o(t) {
    var e = this.h,
      n = yn(this.h, Ds, 2);
    return (
      (n = n ? n.clone() : new Ds()),
      void 0 !== t.l2Normalize
        ? Ze(n, 1, Jt(t.l2Normalize))
        : "l2Normalize" in t && Ze(n, 1),
      void 0 !== t.quantize
        ? Ze(n, 2, Jt(t.quantize))
        : "quantize" in t && Ze(n, 2),
      wn(e, 0, 2, n),
      this.l(t)
    );
  }
  za(t, e) {
    return (uc(this, t, e), this.embeddings);
  }
  Aa(t, e, n) {
    return (lc(this, t, n, e), this.embeddings);
  }
  m() {
    var t = new ls();
    (hs(t, "image_in"), hs(t, "norm_rect"), us(t, "embeddings_out"));
    const e = new Qi();
    xr(e, Ao, this.h);
    const n = new is();
    (Rn(n, 2, "mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),
      ns(n, "IMAGE:image_in"),
      ns(n, "NORM_RECT:norm_rect"),
      rs(n, "EMBEDDINGS:embeddings_out"),
      n.o(e),
      cs(t, n),
      this.g.attachProtoListener("embeddings_out", (t, e) => {
        ((t = Os(t)),
          (this.embeddings = (function (t) {
            return {
              embeddings: vn(t, Ps, 1).map((t) => {
                const e = {
                  headIndex: kn(t, 3) ?? 0 ?? -1,
                  headName: le($e(t, 4)) ?? "" ?? "",
                };
                var n = t.v;
                return (
                  void 0 !== mn(n, 0 | n[Q], Fs, ln(t, 1))
                    ? ((t = en((t = yn(t, Fs, ln(t, 1), void 0)), 1, $t, tn())),
                      (e.floatEmbedding = t.slice()))
                    : ((n = new Uint8Array(0)),
                      (e.quantizedEmbedding =
                        yn(t, Ms, ln(t, 2), void 0)
                          ?.na()
                          ?.h() ?? n)),
                  e
                );
              }),
              timestampMs: Go($e(t, 2, void 0, void 0, ce) ?? Ye),
            };
          })(t)),
          ua(this, e));
      }),
      this.g.attachEmptyPacketListener("embeddings_out", (t) => {
        ua(this, t);
      }),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
((Gc.cosineSimilarity = function (t, e) {
  if (t.floatEmbedding && e.floatEmbedding)
    t = Ko(t.floatEmbedding, e.floatEmbedding);
  else {
    if (!t.quantizedEmbedding || !e.quantizedEmbedding)
      throw Error(
        "Cannot compute cosine similarity between quantized and float embeddings.",
      );
    t = Ko(zo(t.quantizedEmbedding), zo(e.quantizedEmbedding));
  }
  return t;
}),
  (Gc.prototype.embedForVideo = Gc.prototype.Aa),
  (Gc.prototype.embed = Gc.prototype.za),
  (Gc.prototype.setOptions = Gc.prototype.o),
  (Gc.createFromModelPath = function (t, e) {
    return cc(Gc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (Gc.createFromModelBuffer = function (t, e) {
    return cc(Gc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (Gc.createFromOptions = function (t, e) {
    return cc(Gc, t, e);
  }));
var jc = class {
  constructor(t, e, n) {
    ((this.confidenceMasks = t),
      (this.categoryMask = e),
      (this.qualityScores = n));
  }
  close() {
    (this.confidenceMasks?.forEach((t) => {
      t.close();
    }),
      this.categoryMask?.close());
  }
};
function Vc(t) {
  const e = (function (t) {
    return vn(t, is, 1);
  })(t.ca()).filter((t) =>
    (le($e(t, 1)) ?? "").includes(
      "mediapipe.tasks.TensorsToSegmentationCalculator",
    ),
  );
  if (((t.u = []), e.length > 1))
    throw Error(
      "The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.",
    );
  1 === e.length &&
    (yn(e[0], Qi, 7)?.j()?.g() ?? new Map()).forEach((e, n) => {
      t.u[Number(n)] = le($e(e, 1)) ?? "";
    });
}
function Xc(t) {
  ((t.categoryMask = void 0),
    (t.confidenceMasks = void 0),
    (t.qualityScores = void 0));
}
function Hc(t) {
  try {
    const e = new jc(t.confidenceMasks, t.categoryMask, t.qualityScores);
    if (!t.j) return e;
    t.j(e);
  } finally {
    da(t);
  }
}
jc.prototype.close = jc.prototype.close;
var Wc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "image_in", "norm_rect", !1),
      (this.u = []),
      (this.outputCategoryMask = !1),
      (this.outputConfidenceMasks = !0),
      (this.h = new Lo()),
      (this.A = new bo()),
      wn(this.h, 0, 3, this.A),
      wn((t = this.h), 0, 1, (e = new Xs())));
  }
  get baseOptions() {
    return yn(this.h, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.h, 0, 1, t);
  }
  o(t) {
    return (
      void 0 !== t.displayNamesLocale
        ? Ze(this.h, 2, ue(t.displayNamesLocale))
        : "displayNamesLocale" in t && Ze(this.h, 2),
      "outputCategoryMask" in t &&
        (this.outputCategoryMask = t.outputCategoryMask ?? !1),
      "outputConfidenceMasks" in t &&
        (this.outputConfidenceMasks = t.outputConfidenceMasks ?? !0),
      super.l(t)
    );
  }
  L() {
    Vc(this);
  }
  segment(t, e, n) {
    const r = "function" != typeof e ? e : {};
    return (
      (this.j = "function" == typeof e ? e : n),
      Xc(this),
      uc(this, t, r),
      Hc(this)
    );
  }
  La(t, e, n, r) {
    const i = "function" != typeof n ? n : {};
    return (
      (this.j = "function" == typeof n ? n : r),
      Xc(this),
      lc(this, t, i, e),
      Hc(this)
    );
  }
  Da() {
    return this.u;
  }
  m() {
    var t = new ls();
    (hs(t, "image_in"), hs(t, "norm_rect"));
    const e = new Qi();
    xr(e, Ro, this.h);
    const n = new is();
    (Rn(n, 2, "mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),
      ns(n, "IMAGE:image_in"),
      ns(n, "NORM_RECT:norm_rect"),
      n.o(e),
      cs(t, n),
      la(this, t),
      this.outputConfidenceMasks &&
        (us(t, "confidence_masks"),
        rs(n, "CONFIDENCE_MASKS:confidence_masks"),
        fa(this, "confidence_masks"),
        this.g.aa("confidence_masks", (t, e) => {
          ((this.confidenceMasks = t.map((t) => fc(this, t, !0, !this.j))),
            ua(this, e));
        }),
        this.g.attachEmptyPacketListener("confidence_masks", (t) => {
          ((this.confidenceMasks = []), ua(this, t));
        })),
      this.outputCategoryMask &&
        (us(t, "category_mask"),
        rs(n, "CATEGORY_MASK:category_mask"),
        fa(this, "category_mask"),
        this.g.Z("category_mask", (t, e) => {
          ((this.categoryMask = fc(this, t, !1, !this.j)), ua(this, e));
        }),
        this.g.attachEmptyPacketListener("category_mask", (t) => {
          ((this.categoryMask = void 0), ua(this, t));
        })),
      us(t, "quality_scores"),
      rs(n, "QUALITY_SCORES:quality_scores"),
      this.g.attachFloatVectorListener("quality_scores", (t, e) => {
        ((this.qualityScores = t), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("quality_scores", (t) => {
        ((this.categoryMask = void 0), ua(this, t));
      }),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
((Wc.prototype.getLabels = Wc.prototype.Da),
  (Wc.prototype.segmentForVideo = Wc.prototype.La),
  (Wc.prototype.segment = Wc.prototype.segment),
  (Wc.prototype.setOptions = Wc.prototype.o),
  (Wc.createFromModelPath = function (t, e) {
    return cc(Wc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (Wc.createFromModelBuffer = function (t, e) {
    return cc(Wc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (Wc.createFromOptions = function (t, e) {
    return cc(Wc, t, e);
  }));
var zc = class {
  constructor(t, e, n) {
    ((this.confidenceMasks = t),
      (this.categoryMask = e),
      (this.qualityScores = n));
  }
  close() {
    (this.confidenceMasks?.forEach((t) => {
      t.close();
    }),
      this.categoryMask?.close());
  }
};
zc.prototype.close = zc.prototype.close;
var Kc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "image_in", "norm_rect_in", !1),
      (this.outputCategoryMask = !1),
      (this.outputConfidenceMasks = !0),
      (this.h = new Lo()),
      (this.u = new bo()),
      wn(this.h, 0, 3, this.u),
      wn((t = this.h), 0, 1, (e = new Xs())));
  }
  get baseOptions() {
    return yn(this.h, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.h, 0, 1, t);
  }
  o(t) {
    return (
      "outputCategoryMask" in t &&
        (this.outputCategoryMask = t.outputCategoryMask ?? !1),
      "outputConfidenceMasks" in t &&
        (this.outputConfidenceMasks = t.outputConfidenceMasks ?? !0),
      super.l(t)
    );
  }
  segment(t, e, n, r) {
    const i = "function" != typeof n ? n : {};
    if (
      ((this.j = "function" == typeof n ? n : r),
      (this.qualityScores = this.categoryMask = this.confidenceMasks = void 0),
      (n = this.C + 1),
      (r = new Po()),
      e.keypoint && e.scribble)
    )
      throw Error("Cannot provide both keypoint and scribble.");
    if (e.keypoint) {
      var s = new Io();
      (hn(s, 3, Jt(!0), !1),
        hn(s, 1, qt(e.keypoint.x), 0),
        hn(s, 2, qt(e.keypoint.y), 0),
        Tn(r, 1, Co, s));
    } else {
      if (!e.scribble)
        throw Error("Must provide either a keypoint or a scribble.");
      {
        const t = new Mo();
        for (s of e.scribble)
          (hn((e = new Io()), 3, Jt(!0), !1),
            hn(e, 1, qt(s.x), 0),
            hn(e, 2, qt(s.y), 0),
            bn(t, 1, Io, e));
        Tn(r, 2, Co, t);
      }
    }
    (this.g.addProtoToStream(
      r.g(),
      "mediapipe.tasks.vision.interactive_segmenter.proto.RegionOfInterest",
      "roi_in",
      n,
    ),
      uc(this, t, i));
    t: {
      try {
        const t = new zc(
          this.confidenceMasks,
          this.categoryMask,
          this.qualityScores,
        );
        if (!this.j) {
          var o = t;
          break t;
        }
        this.j(t);
      } finally {
        da(this);
      }
      o = void 0;
    }
    return o;
  }
  m() {
    var t = new ls();
    (hs(t, "image_in"), hs(t, "roi_in"), hs(t, "norm_rect_in"));
    const e = new Qi();
    xr(e, Ro, this.h);
    const n = new is();
    (Rn(
      n,
      2,
      "mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraphV2",
    ),
      ns(n, "IMAGE:image_in"),
      ns(n, "ROI:roi_in"),
      ns(n, "NORM_RECT:norm_rect_in"),
      n.o(e),
      cs(t, n),
      la(this, t),
      this.outputConfidenceMasks &&
        (us(t, "confidence_masks"),
        rs(n, "CONFIDENCE_MASKS:confidence_masks"),
        fa(this, "confidence_masks"),
        this.g.aa("confidence_masks", (t, e) => {
          ((this.confidenceMasks = t.map((t) => fc(this, t, !0, !this.j))),
            ua(this, e));
        }),
        this.g.attachEmptyPacketListener("confidence_masks", (t) => {
          ((this.confidenceMasks = []), ua(this, t));
        })),
      this.outputCategoryMask &&
        (us(t, "category_mask"),
        rs(n, "CATEGORY_MASK:category_mask"),
        fa(this, "category_mask"),
        this.g.Z("category_mask", (t, e) => {
          ((this.categoryMask = fc(this, t, !1, !this.j)), ua(this, e));
        }),
        this.g.attachEmptyPacketListener("category_mask", (t) => {
          ((this.categoryMask = void 0), ua(this, t));
        })),
      us(t, "quality_scores"),
      rs(n, "QUALITY_SCORES:quality_scores"),
      this.g.attachFloatVectorListener("quality_scores", (t, e) => {
        ((this.qualityScores = t), ua(this, e));
      }),
      this.g.attachEmptyPacketListener("quality_scores", (t) => {
        ((this.categoryMask = void 0), ua(this, t));
      }),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
((Kc.prototype.segment = Kc.prototype.segment),
  (Kc.prototype.setOptions = Kc.prototype.o),
  (Kc.createFromModelPath = function (t, e) {
    return cc(Kc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (Kc.createFromModelBuffer = function (t, e) {
    return cc(Kc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (Kc.createFromOptions = function (t, e) {
    return cc(Kc, t, e);
  }));
var Yc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "input_frame_gpu", "norm_rect", !1),
      (this.j = { detections: [] }),
      wn((t = this.h = new Oo()), 0, 1, (e = new Xs())));
  }
  get baseOptions() {
    return yn(this.h, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.h, 0, 1, t);
  }
  o(t) {
    return (
      void 0 !== t.displayNamesLocale
        ? Ze(this.h, 2, ue(t.displayNamesLocale))
        : "displayNamesLocale" in t && Ze(this.h, 2),
      void 0 !== t.maxResults
        ? xn(this.h, 3, t.maxResults)
        : "maxResults" in t && Ze(this.h, 3),
      void 0 !== t.scoreThreshold
        ? Ln(this.h, 4, t.scoreThreshold)
        : "scoreThreshold" in t && Ze(this.h, 4),
      void 0 !== t.categoryAllowlist
        ? In(this.h, 5, t.categoryAllowlist)
        : "categoryAllowlist" in t && Ze(this.h, 5),
      void 0 !== t.categoryDenylist
        ? In(this.h, 6, t.categoryDenylist)
        : "categoryDenylist" in t && Ze(this.h, 6),
      this.l(t)
    );
  }
  F(t, e) {
    return ((this.j = { detections: [] }), uc(this, t, e), this.j);
  }
  G(t, e, n) {
    return ((this.j = { detections: [] }), lc(this, t, n, e), this.j);
  }
  m() {
    var t = new ls();
    (hs(t, "input_frame_gpu"), hs(t, "norm_rect"), us(t, "detections"));
    const e = new Qi();
    xr(e, No, this.h);
    const n = new is();
    (Rn(n, 2, "mediapipe.tasks.vision.ObjectDetectorGraph"),
      ns(n, "IMAGE:input_frame_gpu"),
      ns(n, "NORM_RECT:norm_rect"),
      rs(n, "DETECTIONS:detections"),
      n.o(e),
      cs(t, n),
      this.g.attachProtoVectorListener("detections", (t, e) => {
        for (const e of t) ((t = ws(e)), this.j.detections.push(Xo(t)));
        ua(this, e);
      }),
      this.g.attachEmptyPacketListener("detections", (t) => {
        ua(this, t);
      }),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
((Yc.prototype.detectForVideo = Yc.prototype.G),
  (Yc.prototype.detect = Yc.prototype.F),
  (Yc.prototype.setOptions = Yc.prototype.o),
  (Yc.createFromModelPath = async function (t, e) {
    return cc(Yc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (Yc.createFromModelBuffer = function (t, e) {
    return cc(Yc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (Yc.createFromOptions = function (t, e) {
    return cc(Yc, t, e);
  }));
var qc = class {
  constructor(t, e, n) {
    ((this.landmarks = t),
      (this.worldLandmarks = e),
      (this.segmentationMasks = n));
  }
  close() {
    this.segmentationMasks?.forEach((t) => {
      t.close();
    });
  }
};
function $c(t) {
  ((t.landmarks = []), (t.worldLandmarks = []), (t.segmentationMasks = void 0));
}
function Jc(t) {
  try {
    const e = new qc(t.landmarks, t.worldLandmarks, t.segmentationMasks);
    if (!t.u) return e;
    t.u(e);
  } finally {
    da(t);
  }
}
qc.prototype.close = qc.prototype.close;
var Zc = class extends dc {
  constructor(t, e) {
    (super(new ac(t, e), "image_in", "norm_rect", !1),
      (this.landmarks = []),
      (this.worldLandmarks = []),
      (this.outputSegmentationMasks = !1),
      wn((t = this.h = new Uo()), 0, 1, (e = new Xs())),
      (this.A = new mo()),
      wn(this.h, 0, 3, this.A),
      (this.j = new go()),
      wn(this.h, 0, 2, this.j),
      xn(this.j, 4, 1),
      Ln(this.j, 2, 0.5),
      Ln(this.A, 2, 0.5),
      Ln(this.h, 4, 0.5));
  }
  get baseOptions() {
    return yn(this.h, Xs, 1);
  }
  set baseOptions(t) {
    wn(this.h, 0, 1, t);
  }
  o(t) {
    return (
      "numPoses" in t && xn(this.j, 4, t.numPoses ?? 1),
      "minPoseDetectionConfidence" in t &&
        Ln(this.j, 2, t.minPoseDetectionConfidence ?? 0.5),
      "minTrackingConfidence" in t &&
        Ln(this.h, 4, t.minTrackingConfidence ?? 0.5),
      "minPosePresenceConfidence" in t &&
        Ln(this.A, 2, t.minPosePresenceConfidence ?? 0.5),
      "outputSegmentationMasks" in t &&
        (this.outputSegmentationMasks = t.outputSegmentationMasks ?? !1),
      this.l(t)
    );
  }
  F(t, e, n) {
    const r = "function" != typeof e ? e : {};
    return (
      (this.u = "function" == typeof e ? e : n),
      $c(this),
      uc(this, t, r),
      Jc(this)
    );
  }
  G(t, e, n, r) {
    const i = "function" != typeof n ? n : {};
    return (
      (this.u = "function" == typeof n ? n : r),
      $c(this),
      lc(this, t, i, e),
      Jc(this)
    );
  }
  m() {
    var t = new ls();
    (hs(t, "image_in"),
      hs(t, "norm_rect"),
      us(t, "normalized_landmarks"),
      us(t, "world_landmarks"),
      us(t, "segmentation_masks"));
    const e = new Qi();
    xr(e, Do, this.h);
    const n = new is();
    (Rn(n, 2, "mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),
      ns(n, "IMAGE:image_in"),
      ns(n, "NORM_RECT:norm_rect"),
      rs(n, "NORM_LANDMARKS:normalized_landmarks"),
      rs(n, "WORLD_LANDMARKS:world_landmarks"),
      n.o(e),
      cs(t, n),
      la(this, t),
      this.g.attachProtoVectorListener("normalized_landmarks", (t, e) => {
        this.landmarks = [];
        for (const e of t) ((t = ks(e)), this.landmarks.push(Ho(t)));
        ua(this, e);
      }),
      this.g.attachEmptyPacketListener("normalized_landmarks", (t) => {
        ((this.landmarks = []), ua(this, t));
      }),
      this.g.attachProtoVectorListener("world_landmarks", (t, e) => {
        this.worldLandmarks = [];
        for (const e of t) ((t = As(e)), this.worldLandmarks.push(Wo(t)));
        ua(this, e);
      }),
      this.g.attachEmptyPacketListener("world_landmarks", (t) => {
        ((this.worldLandmarks = []), ua(this, t));
      }),
      this.outputSegmentationMasks &&
        (rs(n, "SEGMENTATION_MASK:segmentation_masks"),
        fa(this, "segmentation_masks"),
        this.g.aa("segmentation_masks", (t, e) => {
          ((this.segmentationMasks = t.map((t) => fc(this, t, !0, !this.u))),
            ua(this, e));
        }),
        this.g.attachEmptyPacketListener("segmentation_masks", (t) => {
          ((this.segmentationMasks = []), ua(this, t));
        })),
      (t = t.g()),
      this.setGraph(new Uint8Array(t), !0));
  }
};
((Zc.prototype.detectForVideo = Zc.prototype.G),
  (Zc.prototype.detect = Zc.prototype.F),
  (Zc.prototype.setOptions = Zc.prototype.o),
  (Zc.createFromModelPath = function (t, e) {
    return cc(Zc, t, { baseOptions: { modelAssetPath: e } });
  }),
  (Zc.createFromModelBuffer = function (t, e) {
    return cc(Zc, t, { baseOptions: { modelAssetBuffer: e } });
  }),
  (Zc.createFromOptions = function (t, e) {
    return cc(Zc, t, e);
  }),
  (Zc.POSE_CONNECTIONS = Cc));
export {
  Ka as DrawingUtils,
  pc as FaceDetector,
  Sc as FaceLandmarker,
  Zo as FilesetResolver,
  Fc as GestureRecognizer,
  Pc as HandLandmarker,
  Dc as HolisticLandmarker,
  Bc as ImageClassifier,
  Gc as ImageEmbedder,
  Wc as ImageSegmenter,
  jc as ImageSegmenterResult,
  Kc as InteractiveSegmenter,
  zc as InteractiveSegmenterResult,
  nc as MPImage,
  Na as MPMask,
  Yc as ObjectDetector,
  Zc as PoseLandmarker,
  pa as TaskRunner,
  dc as VisionTaskRunner,
};
//# sourceMappingURL=vision_bundle_mjs.js.map