UNPKG

imba

Version:

Intuitive and powerful language for building webapps that fly

4,485 lines 153 kB
var __defProp = Object.defineProperty;
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, {get: all[name], enumerable: true});
};
__markAsModule(exports);
__export(exports, {
  CUSTOM_TYPES: () => ys,
  Comment: () => zt,
  Component: () => Nt,
  CustomEvent: () => P,
  Document: () => Et,
  DocumentFragment: () => gh,
  Easer: () => Br,
  Element: () => v,
  ElementRoute: () => Ze,
  ElementRouteTo: () => bi,
  Event: () => K,
  EventHandler: () => Gr,
  Fragment: () => st,
  HTMLButtonElement: () => Er,
  HTMLElement: () => be,
  HTMLHtmlElement: () => ph,
  HTMLInputElement: () => Sr,
  HTMLOptionElement: () => Tr,
  HTMLScriptElement: () => mh,
  HTMLSelectElement: () => xr,
  HTMLTextAreaElement: () => wr,
  ImbaElement: () => iu,
  IntersectionEventDefaults: () => ze,
  KeyboardEvent: () => vr,
  LazyProxy: () => lr,
  MouseEvent: () => _r,
  Node: () => I,
  PointerEvent: () => br,
  RenderContext: () => B,
  Router: () => Je,
  SVGElement: () => Or,
  Scheduler: () => ar,
  ShadowRoot: () => yh,
  TYPES: () => ve,
  Text: () => _e,
  UIEvent: () => dh,
  Window: () => _h,
  asset: () => Gl,
  autorun: () => Va,
  clearInterval: () => Ri,
  clearTimeout: () => Ai,
  colors: () => au,
  commit: () => k,
  createAtom: () => Ka,
  createComment: () => tt,
  createComponent: () => Os,
  createDynamic: () => Ch,
  createElement: () => Sh,
  createFragment: () => Eh,
  createIndexedList: () => Wh,
  createKeyedList: () => Qh,
  createLiveFragment: () => qh,
  createRenderContext: () => pr,
  createSVGElement: () => wh,
  createSlot: () => Vt,
  createTextNode: () => xe,
  customElements: () => bh,
  defineTag: () => Ph,
  deserializeData: () => Kl,
  emit: () => A,
  events: () => Iu,
  getDeepPropertyDescriptor: () => It,
  getRenderContext: () => Zl,
  getSuperTagType: () => $h,
  getTagType: () => Ns,
  get_document: () => Kt,
  hooks: () => cr,
  hotkeys: () => wo,
  hydrate: () => ru,
  listen: () => R,
  manifest: () => fr,
  mount: () => fn,
  observable: () => Ha,
  once: () => F,
  parseTime: () => yt,
  patchManifest: () => Vl,
  process: () => Wl,
  proxy: () => hr,
  render: () => du,
  renderContext: () => $,
  renderer: () => xt,
  reportChanged: () => Ba,
  reportObserved: () => Ya,
  router: () => Ra,
  run: () => Ua,
  scheduler: () => C,
  serializeData: () => zl,
  setInterval: () => Di,
  setTimeout: () => Ii,
  styles: () => hn,
  toCamelCase: () => Hl,
  transitions: () => De,
  unlisten: () => ct,
  unmount: () => cn,
  use_dom_bind: () => pu,
  use_dom_teleport: () => Eu,
  use_dom_transitions: () => $u,
  use_events: () => Du,
  use_events_hotkey: () => _a,
  use_events_intersect: () => Yu,
  use_events_keyboard: () => Yr,
  use_events_mouse: () => Yt,
  use_events_pointer: () => ju,
  use_events_resize: () => Zu,
  use_events_selection: () => ra,
  use_events_touch: () => Vu,
  use_hooks: () => Xl,
  use_router: () => Da,
  use_slots: () => Ah,
  use_styles: () => fu,
  use_window: () => vh,
  \u03B1action: () => Ja,
  \u03B1autorun: () => Qa,
  \u03B1computed: () => Wa,
  \u03B1lazy: () => Ql,
  \u03B1observable: () => Ga,
  \u03B1ref: () => Xa
});
var Pl = Object.create, or = Object.defineProperty, kl = Object.getPrototypeOf, Ll = Object.prototype.hasOwnProperty, Ml = Object.getOwnPropertyNames, Fl = Object.getOwnPropertyDescriptor;
var Il = (i) => or(i, "__esModule", {value: true});
var Dl = (i, t) => () => (t || (t = {exports: {}}, i(t.exports, t)), t.exports);
var Rl = (i, t, e) => {
  if (t && typeof t == "object" || typeof t == "function")
    for (let r of Ml(t))
      !Ll.call(i, r) && r !== "default" && or(i, r, {get: () => t[r], enumerable: !(e = Fl(t, r)) || e.enumerable});
  return i;
}, Al = (i) => Rl(Il(or(i != null ? Pl(kl(i)) : {}, "default", i && i.__esModule && "default" in i ? {get: () => i.default, enumerable: true} : {value: i, enumerable: true})), i);
var Io = Dl((id, hi) => {
  "use strict";
  var Pt = typeof Reflect == "object" ? Reflect : null, Oo = Pt && typeof Pt.apply == "function" ? Pt.apply : function(t, e, r) {
    return Function.prototype.apply.call(t, e, r);
  }, Ve;
  Pt && typeof Pt.ownKeys == "function" ? Ve = Pt.ownKeys : Object.getOwnPropertySymbols ? Ve = function(t) {
    return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t));
  } : Ve = function(t) {
    return Object.getOwnPropertyNames(t);
  };
  function va(i) {
    console && console.warn && console.warn(i);
  }
  var No = Number.isNaN || function(t) {
    return t !== t;
  };
  function S() {
    S.init.call(this);
  }
  hi.exports = S;
  hi.exports.once = xa;
  S.EventEmitter = S;
  S.prototype._events = void 0;
  S.prototype._eventsCount = 0;
  S.prototype._maxListeners = void 0;
  var Co = 10;
  function He(i) {
    if (typeof i != "function")
      throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof i);
  }
  Object.defineProperty(S, "defaultMaxListeners", {enumerable: true, get: function() {
    return Co;
  }, set: function(i) {
    if (typeof i != "number" || i < 0 || No(i))
      throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + i + ".");
    Co = i;
  }});
  S.init = function() {
    (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;
  };
  S.prototype.setMaxListeners = function(t) {
    if (typeof t != "number" || t < 0 || No(t))
      throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + t + ".");
    return this._maxListeners = t, this;
  };
  function $o(i) {
    return i._maxListeners === void 0 ? S.defaultMaxListeners : i._maxListeners;
  }
  S.prototype.getMaxListeners = function() {
    return $o(this);
  };
  S.prototype.emit = function(t) {
    for (var e = [], r = 1; r < arguments.length; r++)
      e.push(arguments[r]);
    var s = t === "error", n = this._events;
    if (n !== void 0)
      s = s && n.error === void 0;
    else if (!s)
      return false;
    if (s) {
      var o;
      if (e.length > 0 && (o = e[0]), o instanceof Error)
        throw o;
      var l = new Error("Unhandled error." + (o ? " (" + o.message + ")" : ""));
      throw l.context = o, l;
    }
    var h = n[t];
    if (h === void 0)
      return false;
    if (typeof h == "function")
      Oo(h, this, e);
    else
      for (var a = h.length, c = Po(h, a), r = 0; r < a; ++r)
        Oo(c[r], this, e);
    return true;
  };
  function ko(i, t, e, r) {
    var s, n, o;
    if (He(e), n = i._events, n === void 0 ? (n = i._events = Object.create(null), i._eventsCount = 0) : (n.newListener !== void 0 && (i.emit("newListener", t, e.listener ? e.listener : e), n = i._events), o = n[t]), o === void 0)
      o = n[t] = e, ++i._eventsCount;
    else if (typeof o == "function" ? o = n[t] = r ? [e, o] : [o, e] : r ? o.unshift(e) : o.push(e), s = $o(i), s > 0 && o.length > s && !o.warned) {
      o.warned = true;
      var l = new Error("Possible EventEmitter memory leak detected. " + o.length + " " + String(t) + " listeners added. Use emitter.setMaxListeners() to increase limit");
      l.name = "MaxListenersExceededWarning", l.emitter = i, l.type = t, l.count = o.length, va(l);
    }
    return i;
  }
  S.prototype.addListener = function(t, e) {
    return ko(this, t, e, false);
  };
  S.prototype.on = S.prototype.addListener;
  S.prototype.prependListener = function(t, e) {
    return ko(this, t, e, true);
  };
  function Sa() {
    if (!this.fired)
      return this.target.removeListener(this.type, this.wrapFn), this.fired = true, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);
  }
  function Lo(i, t, e) {
    var r = {fired: false, wrapFn: void 0, target: i, type: t, listener: e}, s = Sa.bind(r);
    return s.listener = e, r.wrapFn = s, s;
  }
  S.prototype.once = function(t, e) {
    return He(e), this.on(t, Lo(this, t, e)), this;
  };
  S.prototype.prependOnceListener = function(t, e) {
    return He(e), this.prependListener(t, Lo(this, t, e)), this;
  };
  S.prototype.removeListener = function(t, e) {
    var r, s, n, o, l;
    if (He(e), s = this._events, s === void 0)
      return this;
    if (r = s[t], r === void 0)
      return this;
    if (r === e || r.listener === e)
      --this._eventsCount == 0 ? this._events = Object.create(null) : (delete s[t], s.removeListener && this.emit("removeListener", t, r.listener || e));
    else if (typeof r != "function") {
      for (n = -1, o = r.length - 1; o >= 0; o--)
        if (r[o] === e || r[o].listener === e) {
          l = r[o].listener, n = o;
          break;
        }
      if (n < 0)
        return this;
      n === 0 ? r.shift() : wa(r, n), r.length === 1 && (s[t] = r[0]), s.removeListener !== void 0 && this.emit("removeListener", t, l || e);
    }
    return this;
  };
  S.prototype.off = S.prototype.removeListener;
  S.prototype.removeAllListeners = function(t) {
    var e, r, s;
    if (r = this._events, r === void 0)
      return this;
    if (r.removeListener === void 0)
      return arguments.length === 0 ? (this._events = Object.create(null), this._eventsCount = 0) : r[t] !== void 0 && (--this._eventsCount == 0 ? this._events = Object.create(null) : delete r[t]), this;
    if (arguments.length === 0) {
      var n = Object.keys(r), o;
      for (s = 0; s < n.length; ++s)
        o = n[s], o !== "removeListener" && this.removeAllListeners(o);
      return this.removeAllListeners("removeListener"), this._events = Object.create(null), this._eventsCount = 0, this;
    }
    if (e = r[t], typeof e == "function")
      this.removeListener(t, e);
    else if (e !== void 0)
      for (s = e.length - 1; s >= 0; s--)
        this.removeListener(t, e[s]);
    return this;
  };
  function Mo(i, t, e) {
    var r = i._events;
    if (r === void 0)
      return [];
    var s = r[t];
    return s === void 0 ? [] : typeof s == "function" ? e ? [s.listener || s] : [s] : e ? Ea(s) : Po(s, s.length);
  }
  S.prototype.listeners = function(t) {
    return Mo(this, t, true);
  };
  S.prototype.rawListeners = function(t) {
    return Mo(this, t, false);
  };
  S.listenerCount = function(i, t) {
    return typeof i.listenerCount == "function" ? i.listenerCount(t) : Fo.call(i, t);
  };
  S.prototype.listenerCount = Fo;
  function Fo(i) {
    var t = this._events;
    if (t !== void 0) {
      var e = t[i];
      if (typeof e == "function")
        return 1;
      if (e !== void 0)
        return e.length;
    }
    return 0;
  }
  S.prototype.eventNames = function() {
    return this._eventsCount > 0 ? Ve(this._events) : [];
  };
  function Po(i, t) {
    for (var e = new Array(t), r = 0; r < t; ++r)
      e[r] = i[r];
    return e;
  }
  function wa(i, t) {
    for (; t + 1 < i.length; t++)
      i[t] = i[t + 1];
    i.pop();
  }
  function Ea(i) {
    for (var t = new Array(i.length), e = 0; e < t.length; ++e)
      t[e] = i[e].listener || i[e];
    return t;
  }
  function xa(i, t) {
    return new Promise(function(e, r) {
      function s() {
        n !== void 0 && i.removeListener("error", n), e([].slice.call(arguments));
      }
      var n;
      t !== "error" && (n = function(l) {
        i.removeListener(t, s), r(l);
      }, i.once("error", n)), i.once(t, s);
    });
  }
});
function ue(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
var ef = Symbol.for("#__initor__"), rf = Symbol.for("#__inited__"), jl = Symbol.for("#type"), ae = Symbol.for("#__listeners__"), ql = /-./g, lr = class {
  static for(t) {
    return new Proxy({}, new this(t));
  }
  constructor(t) {
    this.getter = t;
  }
  get target() {
    return this.getter();
  }
  get(t, e) {
    return this.target[e];
  }
  set(t, e, r) {
    return this.target[e] = r, true;
  }
};
function hr(i, t = {}) {
  return new Proxy(t, new lr(i));
}
function yt(i) {
  let t = typeof i;
  if (t == "number")
    return i;
  if (t == "string") {
    if (/^\d+fps$/.test(i))
      return 1e3 / parseFloat(i);
    if (/^([-+]?[\d\.]+)s$/.test(i))
      return parseFloat(i) * 1e3;
    if (/^([-+]?[\d\.]+)ms$/.test(i))
      return parseFloat(i);
  }
  return null;
}
function zl(i) {
  let t = new Map(), e = [], r = false, s = function(h, a) {
    if (a && a[jl] && h !== "") {
      let c = t.get(a);
      return t.has(a) || (t.set(a, c = "$$" + e.length + "$$"), e.push(a)), h == null ? a : c;
    }
    return a;
  }, n = JSON.stringify(i, s, 2), o = 0;
  for (r = true; o < e.length; )
    e[o] = JSON.stringify(e[o], s, 2), o++;
  let l = "";
  for (let h = 0, a = ue(e), c = a.length; h < c; h++) {
    let u = a[h];
    l += '"$$' + h + '$$":' + u + `,
`;
  }
  return n = "{" + l + n.slice(1), n;
}
function Kl(i, t = null) {
  let e = {}, r = /\$\$\d+\$\$/, s = function(l) {
    return e[l] || (e[l] = t ? t(l) : {});
  }, n = function(l, h) {
    if (typeof h == "string") {
      if (h[0] == "$" && r.test(h))
        return s(h);
    } else if (typeof l == "string" && l[0] == "$" && r.test(l)) {
      let a = s(l);
      return Object.assign(a, h), a;
    }
    return h;
  };
  return JSON.parse(i, n);
}
function Vl(i, t) {
  var e, r, s, n;
  let o = {}, l = {added: [], changed: [], removed: [], all: [], urls: {}};
  if (i.assets)
    for (let h = 0, a = ue(i.assets), c = a.length; h < c; h++) {
      let u = a[h], d = u.originalPath || u.path;
      o[d] = u, u.url && ((e = t.urls)[r = u.url] || (e[r] = u));
    }
  for (let h = 0, a = ue(t.assets || []), c = a.length; h < c; h++) {
    let u = a[h], d = u.originalPath || u.path, b = o[d];
    u.url && i.urls && (i.urls[u.url] = u), b ? (b.hash != u.hash && (b.invalidated = Date.now(), b.replacedBy = u, u.replaces = b, l.changed.push(u), l.all.push(u), b == i.main && (l.main = u)), s = o[d], delete o[d]) : (l.added.push(u), l.all.push(u));
  }
  for (let h = 0, a = Object.keys(o), c = a.length, u, d; h < c; h++)
    u = a[h], d = o[u], d.removed = Date.now(), l.all.push(d);
  for (let h = 0, a = ue(l.all), c = a.length; h < c; h++) {
    let u = a[h];
    (l[n = u.type] || (l[n] = [])).push(u);
  }
  return l.removed = Object.values(o), t.changes = l, t;
}
function Hl(i) {
  return i.indexOf("-") >= 0 ? i.replace(ql, function(t) {
    return t.charAt(1).toUpperCase();
  }) : i;
}
function It(i, t, e) {
  if (!i)
    return;
  let r = Object.getOwnPropertyDescriptor(i, t);
  return r || i == e ? r || void 0 : It(Reflect.getPrototypeOf(i), t, e);
}
var Pi = function(i, t, e) {
  let r, s, n;
  for (; (r = e) && (e = e.next); )
    (s = e.listener) && (e.path && s[e.path] ? n = t ? s[e.path].apply(s, t) : s[e.path]() : n = t ? s.apply(e, t) : s.call(e)), e.times && --e.times <= 0 && (r.next = e.next, e.listener = null);
};
function R(i, t, e, r) {
  var s;
  let n, o, l;
  return n = i[ae] || (i[ae] = {}), o = n[t] || (n[t] = {}), l = o.tail || (o.tail = o.next = {}), l.listener = e, l.path = r, o.tail = l.next = {}, l;
}
function F(i, t, e) {
  let r = R(i, t, e);
  return r.times = 1, r;
}
function ct(i, t, e, r) {
  let s, n, o = i[ae];
  if (!!o && (s = o[t])) {
    for (; (n = s) && (s = s.next); )
      if (s == e || s.listener == e) {
        n.next = s.next, s.listener = null;
        break;
      }
  }
}
function A(i, t, e) {
  let r;
  (r = i[ae]) && (r[t] && Pi(t, e, r[t]), r.all && Pi(t, [t, e], r.all));
}
function Ul(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
var ki = Symbol.for("#__init__"), nf = Symbol.for("#__initor__"), of = Symbol.for("#__inited__"), Li = Symbol.for("#schedule"), ur = Symbol.for("#frames"), fe = Symbol.for("#interval"), _t = Symbol.for("#stage"), bt = Symbol.for("#scheduled"), ce = Symbol.for("#version"), Bl = Symbol.for("#fps"), Mi = Symbol.for("#ticker"), Yl = globalThis.requestAnimationFrame || function(i) {
  return globalThis.setTimeout(i, 1e3 / 60);
};
var lf = 1 / 60, Fi = class {
  constructor(t = null) {
    this[ki](t);
  }
  [ki](t = null) {
    var e;
    this.owner = t && (e = t.owner) !== void 0 ? e : null, this.target = t && (e = t.target) !== void 0 ? e : null, this.active = t && (e = t.active) !== void 0 ? e : false, this.value = t && (e = t.value) !== void 0 ? e : void 0, this.skip = t && (e = t.skip) !== void 0 ? e : 0, this.last = t && (e = t.last) !== void 0 ? e : 0;
  }
  tick(t, e) {
    return this.last = this.owner[ur], this.target.tick(this, e), 1;
  }
  update(t, e) {
    let r = this.active, s = t.value;
    return this.value != s && (this.deactivate(), this.value = s), (this.value || r || e) && this.activate(), this;
  }
  queue() {
    this.owner.add(this);
  }
  activate() {
    return this.value === true ? this.owner.on("commit", this) : this.value === false || typeof this.value == "number" && (this.value / (1e3 / 60) <= 2 ? this.owner.on("raf", this) : this[fe] = globalThis.setInterval(this.queue.bind(this), this.value)), this.active = true, this;
  }
  deactivate() {
    return this.value === true && this.owner.un("commit", this), this.owner.un("raf", this), this[fe] && (globalThis.clearInterval(this[fe]), this[fe] = null), this.active = false, this;
  }
}, ar = class {
  constructor() {
    var t = this;
    this.id = Symbol(), this.queue = [], this.stage = -1, this[_t] = -1, this[ur] = 0, this[bt] = false, this[ce] = 0, this.listeners = {}, this.intervals = {}, t.commit = function() {
      return t.add("commit"), t;
    }, this[Bl] = 0, t.$promise = null, t.$resolve = null, this[Mi] = function(e) {
      return t[bt] = false, t.tick(e);
    };
  }
  touch() {
    return this[ce]++;
  }
  get version() {
    return this[ce];
  }
  add(t, e) {
    return (e || this.queue.indexOf(t) == -1) && this.queue.push(t), this[bt] || this[Li](), this;
  }
  get committing\u03A6() {
    return this.queue.indexOf("commit") >= 0;
  }
  get syncing\u03A6() {
    return this[_t] == 1;
  }
  listen(t, e) {
    let r = this.listeners[t], s = !r;
    return r || (r = this.listeners[t] = new Set()), r.add(e), t == "raf" && s && this.add("raf"), this;
  }
  unlisten(t, e) {
    var r;
    let s = this.listeners[t];
    return s && s.delete(e), t == "raf" && s && s.size == 0 && (r = this.listeners.raf, delete this.listeners.raf), this;
  }
  on(t, e) {
    return this.listen(t, e);
  }
  un(t, e) {
    return this.unlisten(t, e);
  }
  get promise() {
    var t = this;
    return t.$promise || (t.$promise = new Promise(function(e) {
      return t.$resolve = e;
    }));
  }
  tick(t) {
    var e = this;
    let r = this.queue, s = this[ur]++;
    if (this.ts || (this.ts = t), this.dt = t - this.ts, this.ts = t, this.queue = [], this[_t] = 1, this[ce]++, r.length)
      for (let n = 0, o = Ul(r), l = o.length; n < l; n++) {
        let h = o[n];
        typeof h == "string" && this.listeners[h] ? e.listeners[h].forEach(function(a) {
          if (a.tick instanceof Function)
            return a.tick(e, h);
          if (a instanceof Function)
            return a(e, h);
        }) : h instanceof Function ? h(e.dt, e) : h.tick && h.tick(e.dt, e);
      }
    return this[_t] = this[bt] ? 0 : -1, e.$promise && (e.$resolve(e), e.$promise = e.$resolve = null), e.listeners.raf && e.add("raf"), e;
  }
  [Li]() {
    return this[bt] || (this[bt] = true, this[_t] == -1 && (this[_t] = 0), Yl(this[Mi])), this;
  }
  schedule(t, e) {
    var r, s;
    return e || (e = t[r = this.id] || (t[r] = {value: true})), (e[s = this.id] || (e[s] = new Fi({owner: this, target: t}))).update(e, true);
  }
  unschedule(t, e = {}) {
    e || (e = t[this.id]);
    let r = e && e[this.id];
    return r && r.active && r.deactivate(), this;
  }
}, C = new ar();
function k() {
  return C.add("commit").promise;
}
function Ii(i, t) {
  return globalThis.setTimeout(function() {
    i(), k();
  }, t);
}
function Di(i, t) {
  return globalThis.setInterval(function() {
    i(), k();
  }, t);
}
var Ri = globalThis.clearInterval, Ai = globalThis.clearTimeout, Dt = globalThis.imba || (globalThis.imba = {});
Dt.commit = k;
Dt.setTimeout = Ii;
Dt.setInterval = Di;
Dt.clearInterval = Ri;
Dt.clearTimeout = Ai;
var uf = Symbol.for("#__initor__"), af = Symbol.for("#__inited__"), ji = class {
  constructor() {
    this.data = {};
  }
}, fr = new ji();
var Wl = {};
var pf = Symbol.for("#__initor__"), mf = Symbol.for("#__inited__"), qi = Symbol.for("#__init__"), zi = Symbol.for("#warned"), vt = Symbol.for("#asset"), de = class {
  static wrap(t) {
    let e = new de(t);
    return new Proxy(e, e);
  }
  constructor(t) {
    this.meta = t;
  }
  get input() {
    return fr.inputs[this.meta.input];
  }
  get asset() {
    return globalThis._MF_ ? this.meta : this.input ? this.input.asset : null;
  }
  set(t, e, r) {
    return true;
  }
  get(t, e) {
    return this.meta.meta && this.meta.meta[e] != null ? this.meta.meta[e] : this.asset ? e == "absPath" && !this.asset.absPath ? this.asset.url : this.asset[e] : ((this.meta[zi] != true ? (this.meta[zi] = true, true) : false) && console.warn("Asset for '" + this.meta.input + "' not found"), e == "valueOf" ? function() {
      return "";
    } : null);
  }
}, Ki = class {
  constructor(t = null) {
    this[qi](t);
  }
  [qi](t = null) {
    this.url = t ? t.url : void 0, this.meta = t ? t.meta : void 0;
  }
  adoptNode(t) {
    var e;
    if ((e = this.meta) == null ? void 0 : e.content) {
      for (let r = this.meta.attributes, s = 0, n = Object.keys(r), o = n.length, l, h; s < o; s++)
        l = n[s], h = r[l], t.setAttribute(l, h);
      t.innerHTML = this.meta.content;
    }
    return this;
  }
  toString() {
    return this.url;
  }
  toStyleString() {
    return "url(" + this.url + ")";
  }
};
function Gl(i) {
  var t, e;
  if (i[vt])
    return i[vt];
  if (i.type == "svg")
    return i[vt] || (i[vt] = new Ki(i));
  if (i.input) {
    let r = globalThis._MF_ && globalThis._MF_[i.input];
    return r && (Object.assign(i, r), i.toString = function() {
      return this.absPath;
    }), i[vt] || (i[vt] = de.wrap(i));
  }
  return i;
}
var cr = {on: function(i, t) {
  return R(this, i, t);
}, inited: function(i) {
  return A(this, "inited", [i]);
}};
function Xl() {
  return true;
}
function Ql(i, t, e) {
  if (e.get) {
    let r = e.get;
    e.get = function() {
      let s = r.call(this);
      return Object.defineProperty(this, t, {enumerable: false, value: s}), s;
    };
  }
  return e;
}
var Vi = Symbol.for("#toStringDeopt"), vf = Symbol.for("#__initor__"), xf = Symbol.for("#__inited__"), Hi = Symbol.for("#symbols"), Ui = Symbol.for("#batches"), Bi = Symbol.for("#extras"), Yi = Symbol.for("#stacks"), Rt = class {
  constructor(t) {
    this.dom = t, this.string = "";
  }
  contains(t) {
    return this.dom.classList.contains(t);
  }
  add(t) {
    return this.contains(t) ? this : (this.string += (this.string ? " " : "") + t, this.dom.classList.add(t), this);
  }
  remove(t) {
    if (!this.contains(t))
      return this;
    let e = new RegExp("(^|\\s)" + t + "(?=\\s|$)", "g");
    return this.string = this.string.replace(e, ""), this.dom.classList.remove(t), this;
  }
  toggle(t, e) {
    return e === void 0 && (e = !this.contains(t)), e ? this.add(t) : this.remove(t);
  }
  incr(t, e = 0) {
    var r = this;
    let s = this.stacks, n = s[t] || 0;
    return n < 1 && this.add(t), e > 0 && setTimeout(function() {
      return r.decr(t);
    }, e), s[t] = Math.max(n, 0) + 1;
  }
  decr(t) {
    let e = this.stacks, r = e[t] || 0;
    return r == 1 && this.remove(t), e[t] = Math.max(r, 1) - 1;
  }
  reconcile(t, e) {
    let r = this[Hi], s = this[Ui], n = true;
    if (!r)
      r = this[Hi] = [t], s = this[Ui] = [e || ""], this.toString = this.valueOf = this[Vi];
    else {
      let o = r.indexOf(t), l = e || "";
      o == -1 ? (r.push(t), s.push(l)) : s[o] != l ? s[o] = l : n = false;
    }
    n && (this[Bi] = " " + s.join(" "), this.sync());
  }
  valueOf() {
    return this.string;
  }
  toString() {
    return this.string;
  }
  [Vi]() {
    return this.string + (this[Bi] || "");
  }
  sync() {
    return this.dom.flagSync$();
  }
  get stacks() {
    return this[Yi] || (this[Yi] = {});
  }
};
var pe = Symbol.for("#__init__"), Wi = Symbol.for("#__initor__"), Gi = Symbol.for("#__inited__"), dr = Symbol.for("#getRenderContext"), Jl = Symbol.for("#getDynamicContext"), Xi = Symbol(), $ = {context: null}, Qi = class {
  constructor(t = null) {
    this[pe](t);
  }
  [pe](t = null) {
    var e;
    this.stack = t && (e = t.stack) !== void 0 ? e : [];
  }
  push(t) {
    return this.stack.push(t);
  }
  pop(t) {
    return this.stack.pop();
  }
}, xt = new Qi(), B = class extends Map {
  static [pe]() {
    return this.prototype[Wi] = Xi, this;
  }
  constructor(t, e = null) {
    super();
    this._ = t, this.sym = e, this[Wi] === Xi && this[Gi] && this[Gi]();
  }
  pop() {
    return $.context = null;
  }
  [dr](t) {
    let e = this.get(t);
    return e || this.set(t, e = new B(this._, t)), $.context = e;
  }
  [Jl](t, e) {
    return this[dr](t)[dr](e);
  }
  run(t) {
    return this.value = t, $.context == this && ($.context = null), this.get(t);
  }
  cache(t) {
    return this.set(this.value, t), t;
  }
};
B[pe]();
function pr(i, t = Symbol(), e = i) {
  return $.context = i[t] || (i[t] = new B(e, t));
}
function Zl() {
  let i = $.context, t = i || new B(null);
  return globalThis.DEBUG_IMBA && !i && xt.stack.length > 0 && console.warn("detected unmemoized nodes in", xt.stack, "see https://imba.io", t), i && ($.context = null), t;
}
function At(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
function th(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
var me = Symbol.for("#parent"), Ji = Symbol.for("#closestNode"), eh = Symbol.for("#parentNode"), rh = Symbol.for("#context"), ge = Symbol.for("#__init__"), Zi = Symbol.for("##inited"), mr = Symbol.for("#getRenderContext"), ih = Symbol.for("#getDynamicContext"), ts = Symbol.for("#insertChild"), jt = Symbol.for("#appendChild"), gr = Symbol.for("#replaceChild"), es = Symbol.for("#removeChild"), Z = Symbol.for("#insertInto"), rs = Symbol.for("#insertIntoDeopt"), qt = Symbol.for("#removeFrom"), is = Symbol.for("#removeFromDeopt"), St = Symbol.for("#replaceWith"), ss = Symbol.for("#replaceWithDeopt"), yr = Symbol.for("#placeholderNode"), sh = Symbol.for("#attachToParent"), nh = Symbol.for("#detachFromParent"), oh = Symbol.for("#placeChild"), lh = Symbol.for("#beforeReconcile"), hh = Symbol.for("#afterReconcile"), uh = Symbol.for("#afterVisit"), ns = Symbol.for("#__initor__"), os = Symbol.for("#__inited__"), ls = Symbol.for("##parent"), ah = Symbol.for("##up"), hs = Symbol.for("##context"), dt = Symbol.for("#domNode"), ye = Symbol.for("##placeholderNode"), us = Symbol.for("#domDeopt"), as = Symbol.for("#isRichElement"), fs = Symbol.for("#src"), wt = Symbol.for("#htmlNodeName"), fh = Symbol.for("#getSlot"), cs = Symbol.for("#ImbaElement"), ds = Symbol.for("#cssns"), ch = Symbol.for("#cssid"), ps = Symbol(), {Event: K, UIEvent: dh, MouseEvent: _r, PointerEvent: br, KeyboardEvent: vr, CustomEvent: P, Node: I, Comment: zt, Text: _e, Element: v, HTMLElement: be, HTMLHtmlElement: ph, HTMLSelectElement: xr, HTMLInputElement: Sr, HTMLTextAreaElement: wr, HTMLButtonElement: Er, HTMLOptionElement: Tr, HTMLScriptElement: mh, SVGElement: Or, DocumentFragment: gh, ShadowRoot: yh, Document: Et, Window: _h, customElements: bh} = globalThis.window, ms = {};
function gs(i, t, e) {
  if (!i)
    return e[t] = null;
  if (e[t] !== void 0)
    return e[t];
  let r = Object.getOwnPropertyDescriptor(i, t);
  return r !== void 0 || i == Or ? e[t] = r || null : gs(Reflect.getPrototypeOf(i), t, e);
}
var Nr = {}, Cr = {}, ve = {}, ys = {};
function Kt() {
  return globalThis.document;
}
function vh() {
  return true;
}
var xh = {get(i, t) {
  let e = i, r;
  for (; e && r == null; )
    (e = e[me]) && (r = e[t]);
  return r;
}, set(i, t, e) {
  let r = i, s;
  for (; r && s == null; ) {
    if (It(r, t, v))
      return r[t] = e, true;
    r = r[me];
  }
  return true;
}}, _s = class {
  get flags() {
    return this.documentElement.flags;
  }
};
At(Et.prototype, _s.prototype);
var bs = class {
  get [me]() {
    return this[ls] || this.parentNode || this[ah];
  }
  get [Ji]() {
    return this;
  }
  get [eh]() {
    return this[me][Ji];
  }
  get [rh]() {
    return this[hs] || (this[hs] = new Proxy(this, xh));
  }
  [ge]() {
    return this;
  }
  [Zi]() {
    return this;
  }
  [mr](t) {
    return pr(this, t);
  }
  [ih](t, e) {
    return this[mr](t)[mr](e);
  }
  [ts](t, e) {
    return t[Z](this, e);
  }
  [jt](t) {
    return t[Z](this, null);
  }
  [gr](t, e) {
    let r = this[ts](t, e);
    return this[es](e), r;
  }
  [es](t) {
    return t[qt](this);
  }
  [Z](t, e = null) {
    return e ? t.insertBefore(this, e) : t.appendChild(this), this;
  }
  [rs](t, e) {
    return e ? t.insertBefore(this[dt] || this, e) : t.appendChild(this[dt] || this), this;
  }
  [qt](t) {
    return t.removeChild(this);
  }
  [is](t) {
    return t.removeChild(this[dt] || this);
  }
  [St](t, e) {
    return e[gr](t, this);
  }
  [ss](t, e) {
    return e[gr](t, this[dt] || this);
  }
  get [yr]() {
    return this[ye] || (this[ye] = globalThis.document.createComment("placeholder"));
  }
  set [yr](t) {
    let e = this[ye];
    this[ye] = t, e && e != t && e.parentNode && e[St](t);
  }
  [sh]() {
    let t = this[dt], e = t && t.parentNode;
    return t && e && t != this && (this[dt] = null, this[Z](e, t), t[qt](e)), this;
  }
  [nh]() {
    (this[us] != true ? (this[us] = true, true) : false) && (this[St] = this[ss], this[qt] = this[is], this[Z] = this[rs]);
    let t = this[yr];
    return this.parentNode && t != this && (t[Z](this.parentNode, this), this[qt](this.parentNode)), this[dt] = t, this;
  }
  [oh](t, e, r) {
    let s = typeof t;
    if (s === "undefined" || t === null) {
      if (r && r instanceof zt)
        return r;
      let n = globalThis.document.createComment("");
      return r ? r[St](n, this) : n[Z](this, null);
    }
    if (t === r)
      return t;
    if (s !== "object") {
      let n, o = t;
      return e & 128 && e & 256, r ? r instanceof _e ? (r.textContent = o, r) : (n = globalThis.document.createTextNode(o), r[St](n, this), n) : (this.appendChild(n = globalThis.document.createTextNode(o)), n);
    } else {
      if (globalThis.DEBUG_IMBA && !t[Z])
        throw console.warn("Tried to insert", t, "into", this), new TypeError("Only DOM Nodes can be inserted into DOM");
      return r ? r[St](t, this) : t[Z](this, null);
    }
  }
};
At(I.prototype, bs.prototype);
var vs = class {
  log(...t) {
    return console.log(...t), this;
  }
  emit(t, e, r = {bubbles: true, cancelable: true}) {
    e != null && (r.detail = e);
    let s = new P(t, r), n = this.dispatchEvent(s);
    return s;
  }
  text$(t) {
    return this.textContent = t, this;
  }
  [lh]() {
    return this;
  }
  [hh]() {
    return this;
  }
  [uh]() {
    this.render && this.render();
  }
  get flags() {
    return this.$flags || (this.$flags = new Rt(this), this.flag$ == v.prototype.flag$ && (this.flags$ext = this.className), this.flagDeopt$()), this.$flags;
  }
  flag$(t) {
    let e = this.flags$ns;
    this.className = e ? e + (this.flags$ext = t) : this.flags$ext = t;
  }
  flagDeopt$() {
    var t = this;
    this.flag$ = this.flagExt$, t.flagSelf$ = function(e) {
      return t.flagSync$(t.flags$own = e);
    };
  }
  flagExt$(t) {
    return this.flagSync$(this.flags$ext = t);
  }
  flagSelf$(t) {
    return this.flagDeopt$(), this.flagSelf$(t);
  }
  flagSync$() {
    return this.className = (this.flags$ns || "") + (this.flags$ext || "") + " " + (this.flags$own || "") + " " + (this.$flags || "");
  }
  set$(t, e) {
    let r = It(this, t, v);
    !r || !r.set ? this.setAttribute(t, e) : this[t] = e;
  }
  get richValue() {
    return this.value;
  }
  set richValue(t) {
    this.value = t;
  }
};
At(v.prototype, vs.prototype);
v.prototype.setns$ = v.prototype.setAttributeNS;
v.prototype[as] = true;
function Sh(i, t, e, r) {
  let s = globalThis.document.createElement(i);
  return e && (s.className = e), r !== null && s.text$(r), t && t[jt] && t[jt](s), s;
}
var xs = class {
  set$(t, e) {
    var r;
    let s = ms[r = this.nodeName] || (ms[r] = {}), n = gs(this, t, s);
    !n || !n.set ? this.setAttribute(t, e) : this[t] = e;
  }
  flag$(t) {
    let e = this.flags$ns;
    this.setAttribute("class", e ? e + (this.flags$ext = t) : this.flags$ext = t);
  }
  flagSelf$(t) {
    var e = this;
    return e.flag$ = function(r) {
      return e.flagSync$(e.flags$ext = r);
    }, e.flagSelf$ = function(r) {
      return e.flagSync$(e.flags$own = r);
    }, e.flagSelf$(t);
  }
  flagSync$() {
    return this.setAttribute("class", (this.flags$ns || "") + (this.flags$ext || "") + " " + (this.flags$own || "") + " " + (this.$flags || ""));
  }
};
At(Or.prototype, xs.prototype);
var Ss = class {
  set src(t) {
    if ((this[fs] != t ? (this[fs] = t, true) : false) && t) {
      if (t.adoptNode)
        t.adoptNode(this);
      else if (t.content) {
        for (let e = t.attributes, r = 0, s = Object.keys(e), n = s.length, o, l; r < n; r++)
          o = s[r], l = e[o], this.setAttribute(o, l);
        this.innerHTML = t.content;
      }
    }
  }
};
At(SVGSVGElement.prototype, Ss.prototype);
function wh(i, t, e, r, s) {
  let n = globalThis.document.createElementNS("http://www.w3.org/2000/svg", i);
  return e && (n.className.baseVal = e), t && t[jt] && t[jt](n), r && (n.textContent = r), n;
}
function tt(i) {
  return globalThis.document.createComment(i);
}
function xe(i) {
  return globalThis.document.createTextNode(i);
}
function Eh() {
  return globalThis.document.createDocumentFragment();
}
var Se = globalThis.navigator, Th = Se && Se.vendor || "", ws = Se && Se.userAgent || "", Oh = Th.indexOf("Apple") > -1 || ws.indexOf("CriOS") >= 0 || ws.indexOf("FxiOS") >= 0, we = !Oh, Es = new Map(), Ts = class extends be {
  connectedCallback() {
    return we ? this.parentNode.removeChild(this) : this.parentNode.connectedCallback();
  }
  disconnectedCallback() {
    if (!we)
      return this.parentNode.disconnectedCallback();
  }
};
window.customElements.define("i-hook", Ts);
function Nh(i, t) {
  let e = Es.get(t);
  if (!e) {
    e = {};
    let r = t.prototype, s = [r];
    for (; (r = r && Object.getPrototypeOf(r)) && r.constructor != i.constructor; )
      s.unshift(r);
    for (let n = 0, o = th(s), l = o.length; n < l; n++) {
      let h = o[n], a = Object.getOwnPropertyDescriptors(h);
      Object.assign(e, a);
    }
    Es.set(t, e);
  }
  return e;
}
function Os(i, t, e, r, s) {
  let n;
  typeof i != "string" && i && i.nodeName && (i = i.nodeName);
  let o = Cr[i] || i;
  if (Nr[i]) {
    let l = Nr[i], h = l.prototype[wt];
    if (h && we)
      n = globalThis.document.createElement(h, {is: i});
    else if (l.create$ && h) {
      n = globalThis.document.createElement(h), n.setAttribute("is", o);
      let a = Nh(n, l);
      Object.defineProperties(n, a), n.__slots = {}, n.appendChild(globalThis.document.createElement("i-hook"));
    } else
      l.create$ ? (n = l.create$(n), n.__slots = {}) : console.warn("could not create tag " + i);
  } else
    n = globalThis.document.createElement(Cr[i] || i);
  return n[ls] = t, n[ge](), n[Zi](), r !== null && n[fh]("__").text$(r), (e || n.flags$ns) && n.flag$(e || ""), n;
}
function Ch(i, t, e, r) {
  if (i == null || i == null)
    return tt("");
  if (i instanceof I)
    return i;
  if (i[as])
    return i;
  if (typeof i == "string" || i && i.prototype instanceof I)
    return Os(i, t, e, r);
}
function Ns(i, t) {
  if (ve[i])
    return ve[i];
  if (window[t])
    return window[t];
  if (window[i])
    return window[i];
}
function $h(i, t, e) {
  let r = Ns(i, t);
  if (!(r == e || r.prototype instanceof e || r.prototype[wt])) {
    let n = r.prototype[cs];
    if (!n) {
      n = class extends r {
        static [ge]() {
          return this.prototype[ns] = ps, this;
        }
        constructor() {
          super(...arguments);
          this.__slots = {}, this.__F = 0, this[ns] === ps && this[os] && this[os]();
        }
      }[ge](), r.prototype[cs] = n;
      let o = Object.getOwnPropertyDescriptors(e.prototype);
      Object.defineProperties(n.prototype, o), n.prototype[wt] = i;
    }
    return n;
  }
  return r;
}
function Ph(i, t, e = {}) {
  ve[i] = ys[i] = t, t.nodeName = i;
  let r = i, s = t.prototype;
  if (i.indexOf("-") == -1 && (r = "" + i + "-tag", Cr[i] = r), e.cssns) {
    let n = (s._ns_ || s[ds] || "") + " " + (e.cssns || "");
    s._ns_ = n.trim() + " ", s[ds] = e.cssns;
  }
  if (e.cssid) {
    let n = (s.flags$ns || "") + " " + e.cssid;
    s[ch] = e.cssid, s.flags$ns = n.trim() + " ";
  }
  return s[wt] && !e.extends && (e.extends = s[wt]), e.extends ? (s[wt] = e.extends, Nr[i] = t, we && window.customElements.define(r, t, {extends: e.extends})) : window.customElements.define(r, t), t;
}
var kh = globalThis.imba || (globalThis.imba = {});
kh.document = globalThis.document;
function $r(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
function Lh(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
var Ee = Symbol.for("#parent"), Cs = Symbol.for("#closestNode"), Mh = Symbol.for("#isRichElement"), Fh = Symbol.for("#afterVisit"), $s = Symbol.for("#__initor__"), Ps = Symbol.for("#__inited__"), ks = Symbol.for("#appendChild"), Ls = Symbol.for("#removeChild"), et = Symbol.for("#insertInto"), Te = Symbol.for("#replaceWith"), Ms = Symbol.for("#insertChild"), Oe = Symbol.for("#removeFrom"), Fs = Symbol.for("#placeChild"), Is = Symbol.for("#__init__"), Ih = Symbol.for("#registerFunctionalSlot"), Dh = Symbol.for("#getFunctionalSlot"), Ds = Symbol.for("#getSlot"), Pr = Symbol.for("##parent"), Ne = Symbol.for("##up"), Rs = Symbol.for("##flags"), Rh = Symbol.for("#domFlags"), V = Symbol.for("#end"), As = Symbol.for("#textContent"), Ce = Symbol.for("#textNode"), kr = Symbol.for("#functionalSlots"), js = Symbol();
function Ah() {
  return true;
}
var st = class {
  constructor() {
    this.childNodes = [];
  }
  log(...t) {
  }
  hasChildNodes() {
    return false;
  }
  set [Ee](t) {
    this[Pr] = t;
  }
  get [Ee]() {
    return this[Pr] || this[Ne];
  }
  get [Cs]() {
    return this[Ee][Cs];
  }
  get [Mh]() {
    return true;
  }
  get flags() {
    return this[Rs] || (this[Rs] = new Rt(this));
  }
  flagSync$() {
    return this;
  }
  [Fh]() {
    return this;
  }
}, jh = 0, $e = class extends st {
  static [Is]() {
    return this.prototype[$s] = js, this;
  }
  constructor(t, e) {
    super(...arguments);
    this[Ne] = e, this.parentNode = null, this[Rh] = t, this.childNodes = [], this[V] = tt("slot" + jh++), e && e[ks](this), this[$s] === js && this[Ps] && this[Ps]();
  }
  get [Ee]() {
    return this[Pr] || this.parentNode || this[Ne];
  }
  set textContent(t) {
    this[As] = t;
  }
  get textContent() {
    return this[As];
  }
  hasChildNodes() {
    for (let t = 0, e = $r(this.childNodes), r = e.length; t < r; t++) {
      let s = e[t];
      if (s instanceof st && s.hasChildNodes())
        return true;
      if (!(s instanceof zt)) {
        if (s instanceof I)
          return true;
      }
    }
    return false;
  }
  text$(t) {
    return this[Ce] ? this[Ce].textContent = t : this[Ce] = this[Fs](t), this[Ce];
  }
  appendChild(t) {
    return this.parentNode && t[et](this.parentNode, this[V]), this.childNodes.push(t);
  }
  [ks](t) {
    return this.parentNode && t[et](this.parentNode, this[V]), this.childNodes.push(t);
  }
  insertBefore(t, e) {
    this.parentNode && this.parentNode[Ms](t, e);
    let r = this.childNodes.indexOf(e);
    return r >= 0 && this.childNodes.splice(r, 0, t), t;
  }
  [Ls](t) {
    this.parentNode && this.parentNode[Ls](t);
    let e = this.childNodes.indexOf(t);
    e >= 0 && this.childNodes.splice(e, 1);
  }
  [et](t, e) {
    let r = this.parentNode;
    if (this.parentNode != t ? (this.parentNode = t, true) : false) {
      this[V] && (e = this[V][et](t, e));
      for (let s = 0, n = $r(this.childNodes), o = n.length; s < o; s++)
        n[s][et](t, e);
    }
    return this;
  }
  [Te](t, e) {
    let r = t[et](e, this[V]);
    return this[Oe](e), r;
  }
  [Ms](t, e) {
    if (this.parentNode && this.insertBefore(t, e || this[V]), e) {
      let r = this.childNodes.indexOf(e);
      r >= 0 && this.childNodes.splice(r, 0, t);
    } else
      this.childNodes.push(t);
    return t;
  }
  [Oe](t) {
    for (let e = 0, r = $r(this.childNodes), s = r.length; e < s; e++)
      r[e][Oe](t);
    return this[V] && this[V][Oe](t), this.parentNode = null, this;
  }
  [Fs](t, e, r) {
    let s = this.parentNode, n = typeof t;
    if (n === "undefined" || t === null) {
      if (r && r instanceof zt)
        return r;
      let o = tt("");
      if (r) {
        let l = this.childNodes.indexOf(r);
        return this.childNodes.splice(l, 1, o), s && r[Te](o, s), o;
      }
      return this.childNodes.push(o), s && o[et](s, this[V]), o;
    }
    if (t === r)
      return t;
    if (n !== "object") {
      let o, l = t;
      if (r) {
        if (r instanceof _e)
          return r.textContent = l, r;
        {
          o = xe(l);
          let h = this.childNodes.indexOf(r);
          return this.childNodes.splice(h, 1, o), s && r[Te](o, s), o;
        }
      } else
        return this.childNodes.push(o = xe(l)), s && o[et](s, this[V]), o;
    } else if (r) {
      let o = this.childNodes.indexOf(r);
      return this.childNodes.splice(o, 1, t), s && r[Te](t, s), t;
    } else
      return this.childNodes.push(t), s && t[et](s, this[V]), t;
  }
};
$e[Is]();
function qh(i, t) {
  return new $e(i, t);
}
function Vt(i, t) {
  let e = new $e(i, null);
  return e[Ne] = t, e;
}
var qs = class {
  [Ih](t) {
    let e = this[kr] || (this[kr] = {});
    return e[t] || (e[t] = Vt(0, this));
  }
  [Dh](t, e) {
    let r = this[kr];
    return r && r[t] || this[Ds](t, e);
  }
  [Ds](t, e) {
    var r;
    return t == "__" && !this.render ? this : (r = this.__slots)[t] || (r[t] = Vt(0, this));
  }
};
Lh(I.prototype, qs.prototype);
function zh(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
var Kh = Symbol.for("#afterVisit"), Pe = Symbol.for("#insertInto"), zs = Symbol.for("#appendChild"), Vh = Symbol.for("#replaceWith"), Lr = Symbol.for("#removeFrom"), Ks = Symbol.for("#__initor__"), Vs = Symbol.for("#__inited__"), Hs = Symbol.for("#__init__"), Hh = Symbol.for("#domFlags"), Uh = Symbol.for("##parent"), nt = Symbol.for("#end"), Bh = Symbol.for("#removeChild"), Yh = Symbol.for("#insertChild"), Us = Symbol(), Mr = class extends st {
  static [Hs]() {
    return this.prototype[Ks] = Us, this;
  }
  constructor(t, e) {
    super(...arguments);
    this[Hh] = t, this[Uh] = e, t & 256 || (this[nt] = tt("list")), this.$ = this.childNodes, this.length = 0, e && e[zs](this), this[Ks] === Us && this[Vs] && this[Vs]();
  }
  hasChildNodes() {
    return this.length != 0;
  }
  [Kh](t) {
    let e = this.length;
    if (this.length = t, e == t)
      return;
    let r = this.parentNode;
    if (!r)
      return;
    let s = this.childNodes, n = this[nt];
    if (e > t)
      for (; e > t; )
        r[Bh](s[--e]);
    else if (t > e)
      for (; t > e; )
        r[Yh](s[e++], n);
    this.length = t;
  }
  [Pe](t, e) {
    this.parentNode = t, this[nt] && this[nt][Pe](t, e), e = this[nt];
    for (let r = 0, s = zh(this.childNodes), n = s.length; r < n; r++) {
      let o = s[r];
      if (r == this.length)
        break;
      o[Pe](t, e);
    }
    return this;
  }
  [zs](t) {
  }
  [Vh](t, e) {
    let r = t[Pe](e, this[nt]);
    return this[Lr](e), r;
  }
  [Lr](t) {
    let e = this.length;
    for (; e > 0; )
      this.childNodes[--e][Lr](t);
    this[nt] && t.removeChild(this[nt]), this.parentNode = null;
  }
};
Mr[Hs]();
function Wh(i, t) {
  return new Mr(i, t);
}
function Bs(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
var Fr = Symbol.for("#appendChild"), ke = Symbol.for("#insertChild"), Gh = Symbol.for("#replaceWith"), Le = Symbol.for("#insertInto"), Ir = Symbol.for("#removeFrom"), Xh = Symbol.for("#afterVisit"), Ys = Symbol.for("#__initor__"), Ws = Symbol.for("#__inited__"), Gs = Symbol.for("#__init__"), Me = Symbol.for("#domFlags"), Xs = Symbol.for("##parent"), ot = Symbol.for("#end"), Qs = Symbol.for("#removeChild"), Js = Symbol(), Dr = class extends st {
  static [Gs]() {
    return this.prototype[Ys] = Js, this;
  }
  constructor(t, e) {
    super(...arguments);
    this[Me] = t, this[Xs] = e, this.changes = new Map(), this.dirty = false, this.array = this.childNodes, this.$ = new B(this, Symbol()), t & 256 || (this[ot] = tt("map")), e && e[Fr](this), this[Ys] === Js && this[Ws] && this[Ws]();
  }
  [Fr](t) {
    if (this.parentNode)
      return this.parentNode[ke](t, this[ot]);
  }
  hasChildNodes() {
    return this.childNodes.length != 0;
  }
  push(t, e) {
    if (!(this[Me] & 1)) {
      this.array.push(t), this[Fr](t);
      return;
    }
    let r = this.array[e];
    if (r !== t) {
      this.dirty = true;
      let s = this.array.indexOf(t), n = this.changes.get(t);
      s === -1 ? (this.array.splice(e, 0, t), this.insertChild(t, e, s)) : s === e + 1 ? (r && this.changes.set(r, -1), this.array.splice(e, 1)) : (s >= 0 && this.array.splice(s, 1), this.array.splice(e, 0, t), this.moveChild(t, e, s)), n == -1 && this.changes.delete(t);
    }
  }
  insertChild(t, e, r) {
    let s = this.parentNode;
    if (!!s)
      if (e > 0) {
        let n = this.array[e - 1];
        s[ke](t, n.nextSibling);
      } else
        s[ke](t, this.childNodes[e + 1] || this[ot]);
  }
  moveChild(t, e, r) {
    return this.insertChild(t, e, r);
  }
  removeChild(t, e) {
    t.parentNode && t[Ir](t.parentNode);
  }
  [ke](t, e) {
  }
  [Gh](t, e) {
    let r = t[Le](e, this[ot]);
    return this[Ir](e), r;
  }
  [Le](t, e) {
    this[Xs] = t;
    let r = this.parentNode;
    if (t != r) {
      this.parentNode = t;
      for (let s = 0, n = Bs(this.array), o = n.length; s < o; s++)
        n[s][Le](t, e);
      this[ot] && this[ot][Le](t, e);
    }
    return this;
  }
  [Ir](t) {
    for (let e = 0, r = Bs(this.array), s = r.length; e < s; e++) {
      let n = r[e];
      t[Qs](n);
    }
    return this[ot] && t[Qs](this[ot]), this.parentNode = null;
  }
  [Xh](t) {
    var e = this;
    if (!(this[Me] & 1)) {
      this[Me] |= 1;
      return;
    }
    if (this.dirty && (e.changes.forEach(function(r, s) {
      if (r == -1)
        return e.removeChild(s);
    }), e.changes.clear(), e.dirty = false), e.array.length > t)
      for (; e.array.length > t; ) {
        let r = e.array.pop();
        e.removeChild(r);
      }
  }
};
Dr[Gs]();
function Qh(i, t) {
  return new Dr(i, t);
}
var Tt = Symbol.for("#__init__"), Zs = Symbol.for("#__initor__"), tn = Symbol.for("#__inited__"), Jh = Symbol.for("##inited"), Zh = Symbol.for("#afterVisit"), tu = Symbol.for("#beforeReconcile"), eu = Symbol.for("#afterReconcile"), en = Symbol.for("#__hooks__"), Ot = Symbol.for("#autorender"), rn = Symbol(), sn = new class {
  constructor(i = null) {
    this[Tt](i);
  }
  [Tt](i = null) {
    var t;
    this.items = i && (t = i.items) !== void 0 ? t : [], this.current = i && (t = i.current) !== void 0 ? t : null, this.lastQueued = i && (t = i.lastQueued) !== void 0 ? t : null, this.tests = i && (t = i.tests) !== void 0 ? t : 0;
  }
  flush() {
    let i = null;
    for (; i = this.items.shift(); ) {
      if (!i.parentNode || i.hydrated\u03A6)
        continue;
      let t = this.current;
      this.current = i, i.__F |= 1024, i.connectedCallback(), this.current = t;
    }
  }
  queue(i) {
    var t = this;
    let e = this.items.length, r = 0, s = this.lastQueued;
    this.lastQueued = i;
    let n = I.DOCUMENT_POSITION_PRECEDING, o = I.DOCUMENT_POSITION_FOLLOWING;
    if (e) {
      let l = this.items.indexOf(s), h = l, a = function(u, d) {
        return t.tests++, u.compareDocumentPosition(d);
      };
      (l == -1 || s.nodeName != i.nodeName) && (h = l = 0);
      let c = t.items[h];
      for (; c && a(c, i) & o; )
        c = t.items[++h];
      if (h != l)
        c ? t.items.splice(h, 0, i) : t.items.push(i);
      else {
        for (; c && a(c, i) & n; )
          c = t.items[--h];
        h != l && (c ? t.items.splice(h + 1, 0, i) : t.items.unshift(i));
      }
    } else
      t.items.push(i), t.current || globalThis.queueMicrotask(t.flush.bind(t));
  }
}();
function ru() {
  return sn.flush();
}
var Nt = class extends be {
  static [Tt]() {
    return this.prototype[Zs] = rn, this;
  }
  constructor() {
    super();
    this.flags$ns && (this.flag$ = this.flagExt$), this.setup$(), this.build(), this[Zs] === rn && this[tn] && this[tn]();
  }
  setup$() {
    return this.__slots = {}, this.__F = 0;
  }
  [Tt]() {
    return this.__F |= 1 | 2, this;
  }
  [Jh]() {
    if (this[en])
      return this[en].inited(this);
  }
  flag$(t) {
    this.className = this.flags$ext = t;
  }
  build() {
    return this;
  }
  awaken() {
    return this;
  }
  mount() {
    return this;
  }
  unmount() {
    return this;
  }
  rendered() {
    return this;
  }
  dehydrate() {
    return this;
  }
  hydrate() {
    return this.autoschedule = true, this;
  }
  tick() {
    return this.commit();
  }
  visit() {
    return this.commit();
  }
  commit() {
    return this.render\u03A6 ? (this.__F |= 256, this.render && this.render(), this.rendered(), this.__F = (this.__F | 512) & ~256 & ~8192) : (this.__F |= 8192, this);
  }
  get autoschedule() {
    return (this.__F & 64) != 0;
  }
  set autoschedule(t) {
    t ? this.__F |= 64 : this.__F &= ~64;
  }
  set autorender(t) {
    let e = this[Ot] || (this[Ot] = {});
    e.value = t, this.mounted\u03A6 && C.schedule(this, e);
  }
  get render\u03A6() {
    return !this.suspended\u03A6;
  }
  get mounting\u03A6() {
    return (this.__F & 16) != 0;
  }
  get mounted\u03A6() {
    return (this.__F & 32) != 0;
  }
  get awakened\u03A6() {
    return (this.__F & 8) != 0;
  }
  get rendered\u03A6() {
    return (this.__F & 512) != 0;
  }
  get suspended\u03A6() {
    return (this.__F & 4096) != 0;
  }
  get rendering\u03A6() {
    return (this.__F & 256) != 0;
  }
  get scheduled\u03A6() {
    return (this.__F & 128) != 0;
  }
  get hydrated\u03A6() {
    return (this.__F & 2) != 0;
  }
  get ssr\u03A6() {
    return (this.__F & 1024) != 0;
  }
  schedule() {
    return C.on("commit", this), this.__F |= 128, this;
  }
  unschedule() {
    return C.un("commit", this), this.__F &= ~128, this;
  }
  async suspend(t = null) {
    let e = this.flags.incr("_suspended_");
    return this.__F |= 4096, t instanceof Function && (await t(), this.unsuspend()), this;
  }
  unsuspend() {
    return this.flags.decr("_suspended_") == 0 && (this.__F &= ~4096, this.commit()), this;
  }
  [Zh]() {
    return this.visit();
  }
  [tu]() {
    return this.__F & 1024 && (this.__F = this.__F & ~1024, this.classList.remove("_ssr_"), this.flags$ext && this.flags$ext.indexOf("_ssr_") == 0 && (this.flags$ext = this.flags$ext.slice(5)), this.__F & 512 || (this.innerHTML = "")), globalThis.DEBUG_IMBA && xt.push(this), this;
  }
  [eu]() {
    return globalThis.DEBUG_IMBA && xt.pop(this), this;
  }
  connectedCallback() {
    let t = this.__F, e = t & 1, r = t & 8;
    if (!e && !(t & 1024)) {
      sn.queue(this);
      return;
    }
    if (t & (16 | 32))
      return;
    this.__F |= 16, e || this[Tt](), t & 2 || (this.flags$ext = this.className, this.__F |= 2, this.hydrate(), this.commit()), r || (this.awaken(), this.__F |= 8), A(this, "mount");
    let s = this.mount();
    return s && s.then instanceof Function && s.then(C.commit), t = this.__F = (this.__F | 32) & ~16, t & 64 && this.schedule(), this[Ot] && C.schedule(this, this[Ot]), this;
  }
  disconnectedCallback() {
    if (this.__F = this.__F & (~32 & ~16), this.__F & 128 && this.unschedule(), A(this, "unmount"), this.unmount(), this[Ot])
      return C.unschedule(this, this[Ot]);
  }
};
Nt[Tt]();
var iu = Nt;
function su(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
var nn = Symbol.for("#__init__"), Wf = Symbol.for("#__initor__"), Gf = Symbol.for("#__inited__"), nu = {cm: 1, mm: 1, Q: 1, pc: 1, pt: 1, px: 1, em: 1, ex: 1, ch: 1, rem: 1, vw: 1, vh: 1, vmin: 1, vmax: 1, s: 1, ms: 1, fr: 1, "%": 1, in: 1, turn: 1, grad: 1, rad: 1, deg: 1, Hz: 1, kHz: 1};
var on = {prefix: 1, suffix: 1, content: 1}, Rr = {rose: [[356, 100, 97], [356, 100, 95], [353, 96, 90], [353, 96, 82], [351, 95, 71], [350, 89, 60], [347, 77, 50], [345, 83, 41], [343, 80, 35], [342, 75, 30]], pink: [[327, 73, 97], [326, 78, 95], [326, 85, 90], [327, 87, 82], [329, 86, 70], [330, 81, 60], [333, 71, 51], [335, 78, 42], [336, 74, 35], [336, 69, 30]], fuchsia: [[289, 100, 98], [287, 100, 95], [288, 96, 91], [291, 93, 83], [292, 91, 73], [292, 84, 61], [293, 69, 49], [295, 72, 40], [295, 70, 33], [297, 64, 28]], purple: [[270, 100, 98], [269, 100, 95], [269, 100, 92], [269, 97, 85], [270, 95, 75], [271, 91, 65], [271, 81, 56], [272, 72, 47], [273, 67, 39], [274, 66, 32]], violet: [[250, 100, 98], [251, 91, 95], [251, 95, 92], [252, 95, 85], [255, 92, 76], [258, 90, 66], [262, 83, 58], [263, 70, 50], [263, 69, 42], [264, 67, 35]], indigo: [[226, 100, 97], [226, 100, 94], [228, 96, 89], [230, 94, 82], [234, 89, 74], [239, 84, 67], [243, 75, 59], [245, 58, 51], [244, 55, 41], [242, 47, 34]], blue: [[214, 100, 97], [214, 95, 93], [213, 97, 87], [212, 96, 78], [213, 94, 68], [217, 91, 60], [221, 83, 53], [224, 76, 48], [226, 71, 40], [224, 64, 33]], sky: [[204, 100, 97], [204, 94, 94], [201, 94, 86], [199, 95, 74], [198, 93, 60], [199, 89, 48], [200, 98, 39], [201, 96, 32], [201, 90, 27], [202, 80, 24]], cyan: [[183, 100, 96], [185, 96, 90], [186, 94, 82], [187, 92, 69], [188, 86, 53], [189, 94, 43], [192, 91, 36], [193, 82, 31], [194, 70, 27], [196, 64, 24]], teal: [[166, 76, 97], [167, 85, 89], [168, 84, 78], [171, 77, 64], [172, 66, 50], [173, 80, 40], [175, 84, 32], [175, 77, 26], [176, 69, 22], [176, 61, 19]], emerald: [[152, 81, 96], [149, 80, 90], [152, 76, 80], [156, 72, 67], [158, 64, 52], [160, 84, 39], [161, 94, 30], [163, 94, 24], [163, 88, 20], [164, 86, 16]], green: [[138, 76, 97], [141, 84, 93], [141, 79, 85], [142, 77, 73], [142, 69, 58], [142, 71, 45], [142, 76, 36], [142, 72, 29], [143, 64, 24], [144, 61, 20]], lime: [[78, 92, 95], [80, 89, 89], [81, 88, 80], [82, 85, 67], [83, 78, 55], [84, 81, 44], [85, 85, 35], [86, 78, 27], [86, 69, 23], [88, 61, 20]], yellow: [[55, 92, 95], [55, 97, 88], [53, 98, 77], [50, 98, 64], [48, 96, 53], [45, 93, 47], [41, 96, 40], [35, 92, 33], [32, 81, 29], [28, 73, 26]], amber: [[48, 100, 96], [48, 96, 89], [48, 97, 77], [46, 97, 65], [43, 96, 56], [38, 92, 50], [32, 95, 44], [26, 90, 37], [23, 83, 31], [22, 78, 26]], orange: [[33, 100, 96], [34, 100, 92], [32, 98, 83], [31, 97, 72], [27, 96, 61], [25, 95, 53], [21, 90, 48], [17, 88, 40], [15, 79, 34], [15, 75, 28]], red: [[0, 86, 97], [0, 93, 94], [0, 96, 89], [0, 94, 82], [0, 91, 71], [0, 84, 60], [0, 72, 51], [0, 74, 42], [0, 70, 35], [0, 63, 31]], warmer: [[60, 9, 98], [60, 5, 96], [20, 6, 90], [24, 6, 83], [24, 5, 64], [25, 5, 45], [33, 5, 32], [30, 6, 25], [12, 6, 15], [24, 10, 10]], warm: [[0, 0, 98], [0, 0, 96], [0, 0, 90], [0, 0, 83], [0, 0, 64], [0, 0, 45], [0, 0, 32], [0, 0, 25], [0, 0, 15], [0, 0, 9]], gray: [[0, 0, 98], [240, 5, 96], [240, 6, 90], [240, 5, 84], [240, 5, 65], [240, 4, 46], [240, 5, 34], [240, 5, 26], [240, 4, 16], [240, 6, 10]], cool: [[210, 20, 98], [220, 14, 96], [220, 13, 91], [216, 12, 84], [218, 11, 65], [220, 9, 46], [215, 14, 34], [217, 19, 27], [215, 28, 17], [221, 39, 11]], cooler: [[210, 40, 98], [210, 40, 96], [214, 32, 91], [213, 27, 84], [215, 20, 65], [215, 16, 47], [215, 19, 35], [215, 25, 27], [217, 33, 17], [222, 47, 11]]}, ou = new RegExp("^(" + Object.keys(Rr).join("|") + ")(\\d+(?:\\.\\d+)?)$"), lu = /^([xyz])$/, hu = /^([tlbr]|size|[whtlbr]|[mps][tlbrxy]?|[rcxy]?[gs])$/, uu = `*,::before,::after {
box-sizing: border-box;
border-width: 0;
border-style: solid;
border-color: currentColor;
}`, ln = class {
  constructor(t = null) {
    this[nn](t);
  }
  [nn](t = null) {
    var e;
    this.entries = t && (e = t.entries) !== void 0 ? e : {};
  }
  register(t, e) {
    let r = this.entries[t];
    r ? r && (r.css = e, r.node && (r.node.textContent = e)) : (r = this.entries[t] = {sourceId: t, css: e}, this.entries.resets || this.register("resets", uu), r.node = globalThis.document.createElement("style"), r.node.setAttribute("data-id", t), r.node.textContent = r.css, globalThis.document.head.appendChild(r.node));
  }
  toString() {
    return Object.values(this.entries).map(function(t) {
      return t.css;
    }).join(`

`);
  }
  toValue(t, e, r, s = null) {
    let n;
    on[r] && (t = String(t));
    let o = typeof t;
    if (o == "number") {
      if (e || (lu.test(r) ? e = "px" : hu.test(r) ? e = "u" : r == "rotate" && (e = "turn", t = (t % 1).toFixed(4))), e)
        return nu[e] ? t + e : e == "u" ? t * 4 + "px" : "calc(var(--u_" + e + ",1px) * " + t + ")";
    } else if (o == "string") {
      if (r && on[r] && t[0] != '"' && t[0] != "'" && (t.indexOf('"') >= 0 ? t.indexOf("'") == -1 && (t = "'" + t + "'") : t = '"' + t + '"'), n = t.match(ou)) {
        let h = Rr[n[1]][parseInt(n[2])], a = "100%";
        if (typeof s == "number" ? a = s + "%" : typeof s == "string" && (a = s), h)
          return "hsla(" + h[0] + "," + h[1] + "%," + h[2] + "%," + a + ")";
      }
    } else if (t && t.toStyleString instanceof Function)
      return t.toStyleString();
    return t;
  }
  parseDimension(t) {
    if (typeof t == "string") {
      let [e, r, s] = t.match(/^([-+]?[\d\.]+)(%|\w+)$/);
      return [parseFloat(r), s];
    } else if (typeof t == "number")
      return [t];
  }
}, hn = new ln(), au = Object.keys(Rr);
function fu() {
  return true;
}
var un = class {
  css$(t, e, r) {
    return this.style[t] = e;
  }
  css$var(t, e, r, s, n = null) {
    let o = hn.toValue(e, r, s, n);
    this.style.setProperty(t, o);
  }
};
su(v.prototype, un.prototype);
var cu = Symbol.for("#insertInto"), an = Symbol.for("#removeFrom");
function du(i, t = {}) {
  let e = $.context;
  $.context = t;
  let r = i(t);
  return $.context == t && ($.context = e), r;
}
function fn(i, t) {
  let e = t || globalThis.document.body, r = i;
  if (i instanceof Function) {
    let s = new B(e, null), n = function() {
      let o = $.context;
      $.context = s;
      let l = i(s);
      return $.context == s && ($.context = o), l;
    };
    r = n(), C.listen("commit", n);
  } else
    r.__F |= 64;
  return r[cu](e), r;
}
function cn(i) {
  return i && i[an] && i[an](i.parentNode), i;
}
var dn = globalThis.imba || (globalThis.imba = {});
dn.mount = fn;
dn.unmount = cn;
function Ct(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
function Ht(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
var Ut = Symbol.for("#afterVisit");
function pu() {
  return true;
}
var mu = {INPUT: true, SELECT: true, TEXTAREA: true, BUTTON: true}, Ar = function(i) {
  return i instanceof Array || i && i.has instanceof Function;
}, jr = function(i, t) {
  return i == t ? true : i instanceof Array ? i.indexOf(t) >= 0 : i && i.has instanceof Function ? i.has(t) : i && i.contains instanceof Function ? i.contains(t) : false;
}, qr = function(i, t) {
  if (i instanceof Array)
    return i.push(t);
  if (i && i.add instanceof Function)
    return i.add(t);
}, zr = function(i, t) {
  if (i instanceof Array) {
    let e = i.indexOf(t);
    if (e >= 0)
      return i.splice(e, 1);
  } else if (i && i.delete instanceof Function)
    return i.delete(t);
};
function gu(i) {
  function t() {
    return i[0] ? i[0][i[1]] : void 0;
  }
  function e(r) {
    return i[0] ? i[0][i[1]] = r : null;
  }
  return {get: t, set: e};
}
var pn = class {
  getRichValue() {
    return this.value;
  }
  setRichValue(t) {
    return this.value = t;
  }
  bind$(t, e) {
    let r = e || [];
    return t == "data" && !this.$$bound && mu[this.nodeName] && (this.$$bound = true, this.change$ && this.addEventListener("change", this.change$ = this.change$.bind(this)), this.input$ && this.addEventListener("input", this.input$ = this.input$.bind(this), {capture: true}), this.click$ && this.addEventListener("click", this.click$ = this.click$.bind(this), {capture: true})), Object.defineProperty(this, t, r instanceof Array ? gu(r) : r), r;
  }
};
Ct(v.prototype, pn.prototype);
Object.defineProperty(v.prototype, "richValue", {get: function() {
  return this.getRichValue();
}, set: function(i) {
  return this.setRichValue(i);
}});
var mn = class {
  change$(t) {
    let e = this.data, r = this.$$value;
    this.$$value = void 0;
    let s = this.getRichValue();
    if (this.multiple) {
      if (r)
        for (let n = 0, o = Ht(r), l = o.length; n < l; n++) {
          let h = o[n];
          s.indexOf(h) == -1 && zr(e, h);
        }
      for (let n = 0, o = Ht(s), l = o.length; n < l; n++) {
        let h = o[n];
        (!r || r.indexOf(h) == -1) && qr(e, h);
      }
    } else
      this.data = s[0];
    return k(), this;
  }
  getRichValue() {
    var t;
    if (this.$$value)
      return this.$$value;
    t = [];
    for (let e = 0, r = Ht(this.selectedOptions), s = r.length; e < s; e++) {
      let n = r[e];
      t.push(n.richValue);
    }
    return this.$$value = t;
  }
  syncValue() {
    let t = this.data;
    if (this.multiple) {
      let e = [];
      for (let r = 0, s = Ht(this.options), n = s.length; r < n; r++) {
        let o = s[r], l = o.richValue, h = jr(t, l);
        o.selected = h, h && e.push(l);
      }
      this.$$value = e;
    } else
      for (let e = 0, r = Ht(this.options), s = r.length; e < s; e++) {
        let o = r[e].richValue;
        if (o == t) {
          this.$$value = [o], this.selectedIndex = e;
          break;
        }
      }
  }
  [Ut]() {
    return this.syncValue();
  }
};
Ct(xr.prototype, mn.prototype);
var gn = class {
  setRichValue(t) {
    return this.$$value = t, this.value = t;
  }
  getRichValue() {
    return this.$$value !== void 0 ? this.$$value : this.value;
  }
};
Ct(Tr.prototype, gn.prototype);
var yn = class {
  setRichValue(t) {
    return this.$$value = t, this.value = t;
  }
  getRichValue() {
    return this.$$value !== void 0 ? this.$$value : this.value;
  }
  input$(t) {
    return this.data = this.value, k();
  }
  [Ut]() {
    let t = this.data;
    if (t == null && (t = ""), this.$$bound && this.value != t)
      return this.value = t;
  }
};
Ct(wr.prototype, yn.prototype);
var _n = class {
  input$(t) {
    let e = this.type;
    if (!(e == "checkbox" || e == "radio"))
      return this.$$value = void 0, this.data = this.richValue, k();
  }
  change$(t) {
    let e = this.data, r = this.richValue;
    if (this.type == "checkbox" || this.type == "radio") {
      let s = this.checked;
      Ar(e) ? s ? qr(e, r) : zr(e, r) : this.data = s ? r : false;
    }
    return k();
  }
  setRichValue(t) {
    this.$$value !== t && (this.$$value = t, this.value !== t && (this.value = t));
  }
  getRichValue() {
    if (this.$$value !== void 0)
      return this.$$value;
    let t = this.value, e = this.type;
    return e == "range" || e == "number" ? (t = this.valueAsNumber, Number.isNaN(t) && (t = null)) : e == "checkbox" && (t == null || t === "on") && (t = true), t;
  }
  [Ut]() {
    if (this.$$bound) {
      let t = this.type;
      if (t == "checkbox" || t == "radio") {
        let e = this.data;
        e === true || e === false || e == null ? this.checked = !!e : this.checked = jr(e, this.richValue);
      } else
        this.richValue = this.data;
    }
  }
};
Ct(Sr.prototype, _n.prototype);
var bn = class {
  get checked() {
    return this.$checked;
  }
  set checked(t) {
    t != this.$checked && (this.$checked = t, this.flags.toggle("checked", !!t));
  }
  setRichValue(t) {
    return this.$$value = t, this.value = t;
  }
  getRichValue() {
    return this.$$value !== void 0 ? this.$$value : this.value;
  }
  click$(t) {
    let e = this.data, r = this.checked, s = this.richValue;
    return Ar(e) ? r ? zr(e, s) : qr(e, s) : this.$$value == null ? this.data = !r : this.data = r ? null : s, this[Ut](), k();
  }
  [Ut]() {
    if (this.$$bound) {
      let t = this.data, e = this.$$value == null ? true : this.$$value;
      Ar(t) ? this.checked = jr(t, e) : this.checked = t == e;
    }
  }
};
Ct(Er.prototype, bn.prototype);
function vn(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
var yu = Symbol.for("#getSlot"), _u = Symbol.for("#container"), bu = Symbol.for("#afterVisit"), pt = Symbol.for("#__init__"), xn = Symbol.for("#__initor__"), Sn = Symbol.for("#__inited__"), Fe = Symbol.for("#listeners"), W = Symbol.for("#slot"), vu = Symbol.for("#parent"), j = Symbol.for("##container"), Kr = Symbol.for("#domTarget"), wn = Symbol.for("#insertInto"), xu = Symbol.for("#removeFrom"), Su = Symbol.for("#self"), wu = Symbol.for("#target"), En = Symbol(), Ie = class extends Nt {
  static [pt]() {
    return this.prototype[xn] = En, this;
  }
  constructor() {
    super(...arguments);
    super[pt] || this[pt](), this[xn] === En && this[Sn] && this[Sn]();
  }
  [pt](t = null) {
    super[pt] && super[pt](...arguments), this.to = t ? t.to : void 0;
  }
  build() {
    return this[Fe] = [], this.win = globalThis, this.doc = globalThis.document;
  }
  setup() {
    return this.setAttribute("style", "display:none !important;");
  }
  [yu](t, e) {
    return this[W] || (this[W] = Vt(0, this[vu])), this[W];
  }
  get [_u]() {
    if (!this[j]) {
      let t = this.className;
      this[j] = this.doc.createElement("div"), this[j].className = t, this[j].style.cssText = "display:contents !important;";
    }
    return this[j];
  }
  get domTarget() {
    return this[Kr] || (this[Kr] = this.to instanceof v ? this.to : this.closest(this.to) || this.doc.querySelector(this.to));
  }
  get eventTarget() {
    return this.domTarget;
  }
  get style() {
    return this[j] ? this[j].style : super.style;
  }
  get classList() {
    return this[j] ? this[j].classList : super.classList;
  }
  get className() {
    return this[j] ? this[j].className : super.className;
  }
  set className(t) {
    this[j] ? this[j].className = t : super.className = t;
  }
  [bu]() {
    if (this.mounted\u03A6 && this[W] && !this[W].parentNode)
      return this[W][wn](this.target);
  }
  mount() {
    for (let e = 0, r = vn(this[Fe]), s = r.length; e < s; e++) {
      let [n, o, l] = r[e];
      this.eventTarget.addEventListener(n, o, l);
    }
    let t = this.domTarget;
    return this[W] && this[W][wn](t), this;
  }
  unmount() {
    for (let t = 0, e = vn(this[Fe]), r = e.length; t < r; t++) {
      let [s, n, o] = e[t];
      this.eventTarget.removeEventListener(s, n, o);
    }
    return this[W] && this[W][xu](this.domTarget), this[Kr] = null, this;
  }
  addEventListener(t, e, r = {}) {
    var s;
    if (e[Su] = this, this[Fe].push([t, e, r]), this.mounted\u03A6 && ((s = this.eventTarget) == null ? void 0 : s.addEventListener))
      return this.eventTarget.addEventListener(t, e, r);
  }
};
Ie[pt]();
var Tn = class extends Ie {
  get domTarget() {
    return this.doc.body;
  }
  get eventTarget() {
    return this.win;
  }
  addEventListener(t, e, r = {}) {
    return e[wu] = this.domTarget.parentNode, super.addEventListener(...arguments);
  }
  on$resize(t, e, r, s) {
    return this.addEventListener("resize", r, s), r;
  }
};
globalThis.customElements && (globalThis.customElements.define("i-teleport", Ie), globalThis.customElements.define("i-global", Tn));
function Eu() {
  return true;
}
function mt(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
function Tu(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
var On = Symbol.for("#__init__"), hc = Symbol.for("#__initor__"), uc = Symbol.for("#__inited__"), Vr = Symbol.for("#insertInto"), Hr = Symbol.for("#removeFrom"), Ou = Symbol.for("#all"), Bt = Symbol.for("#phase"), rt = Symbol.for("#nodes"), Nu = Symbol.for("#sizes"), Nn = Symbol.for("#mode"), Cn = Symbol.for("#enabled"), $n = Symbol.for("#anims"), Ur = Symbol.for("#_easer_"), Pn = class {
  constructor(t = null) {
    this[On](t);
  }
  [On](t = null) {
    var e;
    this.selectors = t && (e = t.selectors) !== void 0 ? e : {};
  }
  addSelectors(t, e) {
    var r;
    return ((r = this.selectors)[e] || (r[e] = [])).push(...t), true;
  }
  getSelectors(...t) {
    let e = [];
    for (let r = 0, s = mt(t), n = s.length; r < n; r++) {
      let o = s[r];
      this.selectors[o] && e.push(...this.selectors[o]);
    }
    return e && e.length ? e.join(",") : null;
  }
  nodesForBase(t, e = "transition") {
    let r = [t], s = (this.selectors[e] || []).join(",");
    if (s == "")
      return r;
    let n = t.querySelectorAll(s);
    for (let o = 0, l = mt(n), h = l.length; o < h; o++) {
      let a = l[o];
      a.closest("._ease_") == t && r.push(a);
    }
    return r[Ou] = n, r;
  }
  nodesWithSize(t, e = "in") {
    let r = this.getSelectors("_off_sized", "_" + e + "_sized");
    return r ? t.filter(function(s) {
      return s.matches(r);
    }) : [];
  }
}, De = new Pn(), Cu = globalThis.imba || (globalThis.imba = {});
Cu.transitions = De;
var Br = class {
  constructor(t) {
    this.dom = t, this[Bt] = null, this[rt] = [], this[Nu] = new Map();
  }
  log(...t) {
  }
  get flags() {
    return this.dom.flags;
  }
  flag(t) {
    for (let e = 0, r = mt(this[rt]), s = r.length; e < s; e++)
      r[e].flags.add(t);
    return this;
  }
  unflag(t) {
    for (let e = 0, r = mt(this[rt]), s = r.length; e < s; e++)
      r[e].flags.remove(t);
    return this;
  }
  commit() {
    return this.dom.offsetWidth;
  }
  enable(t) {
    return t && (this[Nn] = t), (this[Cn] != true ? (this[Cn] = true, true) : false) ? (this.dom[Vr] = this[Vr].bind(this), this.dom[Hr] = this[Hr].bind(this), this.flags.add("_ease_")) : this;
  }
  disable() {
    return this.flags.unflag("_ease_"), true;
  }
  set phase(t) {
    var r, s, n, o, l, h, a, c, u, d, b, f;
    let e = this[Bt];
    (this[Bt] != t ? (this[Bt] = t, true) : false) && (e && this.flags.remove("_" + e + "_"), t && this.flags.add("_" + t + "_"), this.flags.toggle("_easing_", !!t), t || (this.unflag("_out_"), this.unflag("_in_"), this.unflag("_off_"), this[rt] = null), t == "enter" && e == "leave" && ((s = (r = this.dom) == null ? void 0 : r.transition\u039Eout\u039Ecancel) == null || s.call(r, this)), t == "leave" && e == "enter" && ((o = (n = this.dom) == null ? void 0 : n.transition\u039Ein\u039Ecancel) == null || o.call(n, this)), t == "enter" && ((h = (l = this.dom) == null ? void 0 : l.transition\u039Ein) == null || h.call(l, this)), t == "leave" && ((c = (a = this.dom) == null ? void 0 : a.transition\u039Eout) == null || c.call(a, this)), e == "leave" && !t && ((d = (u = this.dom) == null ? void 0 : u.transition\u039Eout\u039Eend) == null || d.call(u, this)), e == "enter" && !t && ((f = (b = this.dom) == null ? void 0 : b.transition\u039Ein\u039Eend) == null || f.call(b, this)));
  }
  get phase() {
    return this[Bt];
  }
  get leaving\u03A6() {
    return this.phase == "leave";
  }
  get entering\u03A6() {
    return this.phase == "enter";
  }
  get idle\u03A6() {
    return this.phase == null;
  }
  track(t) {
    var e = this;
    let r = {before: Kt().getAnimations()};
    return this.commit(), t(), this.commit(), r.after = Kt().getAnimations(), r.fresh = r.after.filter(function(s) {
      return r.before.indexOf(s) == -1;
    }), r.deep = r.fresh.filter(function(s) {
      let n;
      return !!((n = s.effect.target) && n.closest("._ease_") != e.dom);
    }), r.own = r.fresh.filter(function(s) {
      return r.deep.indexOf(s) == -1;
    }), r.finished = Promise.all(r.own.map(function(s) {
      return s.finished;
    })), r;
  }
  getAnimatedNodes() {
    return De.nodesForBase(this.dom);
  }
  getNodeSizes(t = "in", e = this[rt]) {
    let r = De.nodesWithSize(e, t), s = new Map();
    for (let n = 0, o = mt(r), l = o.length; n < l; n++) {
      let h = o[n], a = window.getComputedStyle(h);
      s.set(h, {width: a.width, height: a.height});
    }
    return s;
  }
  applyNodeSizes(t) {
    for (let [e, r] of mt(t))
      e.style.width = r.width, e.style.height = r.height;
    return t;
  }
  clearNodeSizes(t) {
    for (let [e, r] of mt(t))
      e.style.removeProperty("width"), e.style.removeProperty("height");
    return t;
  }
  [Vr](t, e) {
    var h, a;
    var r = this;
    let s;
    if (this.entering\u03A6)
      return this.dom;
    let n = function() {
      if (s && r.clearNodeSizes(s), r.entering\u03A6)
        return r.phase = null;
    };
    if (r.leaving\u03A6)
      return r.track(function() {
        return r.phase = "enter", r.unflag("_off_"), r.unflag("_out_");
      }).finished.then(n, function(u) {
        return r.log("error cancel leave", u);
      }), r.dom;
    let o = Kt().contains(t);
    return e ? t.insertBefore(r.dom, e) : t.appendChild(r.dom), this[rt] = r.getAnimatedNodes(), r.flag("_instant_"), r.unflag("_out_"), r.commit(), s = this[rt].sized = r.getNodeSizes("in"), (a = (h = r.dom) == null ? void 0 : h.transition\u039Ein\u039Einit) == null || a.call(h, r), r.flag("_off_"), r.flag("_in_"), r.commit(), r.unflag("_instant_"), (this[$n] = r.track(function() {
      return r.phase = "enter", r.applyNodeSizes(s), r.unflag("_off_"), r.unflag("_in_");
    })).finished.then(n, function(c) {
      return r.clearNodeSizes(s), r.log("cancelled insert into", c);
    }), r.dom;
  }
  [Hr](t) {
    var e = this;
    if (this.leaving\u03A6)
      return;
    let r, s = function() {
      if (e.phase == "leave")
        return t.removeChild(e.dom), e.phase = null;
    };
    if (e.entering\u03A6 && this[Nn] != "forward") {
      let o = e.track(function() {
        return e.flag("_off_"), e.flag("_in_"), e.unflag("_out_"), e.phase = "leave", e.clearNodeSizes(e[rt].sized);
      });
      e.log("cancel enter anims own", o.own, o), o.finished.then(s, function(l) {
        return e.log("error cancel entering", l);
      });
      return;
    }
    this[rt] = e.getAnimatedNodes(), r = e.getNodeSizes("out"), e.applyNodeSizes(r);
    let n = this[$n] = e.track(function() {
      return e.phase = "leave", e.flag("_off_"), e.flag("_out_"), e.clearNodeSizes(r);
    });
    if (!n.own.length) {
      s();
      return;
    }
    n.finished.then(s, function() {
      return true;
    });
  }
}, kn = class {
  transition\u039Ein\u039Einit(t) {
    return true;
  }
  transition\u039Ein(t) {
    return true;
  }
  transition\u039Ein\u039Eend(t) {
    return true;
  }
  transition\u039Ein\u039Ecancel(t) {
    return true;
  }
  transition\u039Eout(t) {
    return true;
  }
  transition\u039Eout\u039Eend(t) {
    return true;
  }
  transition\u039Eout\u039Ecancel(t) {
    return true;
  }
  get ease() {
    return this[Ur] || (this[Ur] = new Br(this));
  }
  set ease(t) {
    var e, r;
    if (t == false) {
      (r = (e = this[Ur]) == null ? void 0 : e.disable) == null || r.call(e);
      return;
    }
    this.ease.enable(t);
  }
};
Tu(v.prototype, kn.prototype);
function $u() {
  return true;
}
function Pu(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
function Yr() {
  return true;
}
var Ln = class {
  \u03B1esc() {
    return this.keyCode == 27;
  }
  \u03B1tab() {
    return this.keyCode == 9;
  }
  \u03B1enter() {
    return this.keyCode == 13;
  }
  \u03B1space() {
    return this.keyCode == 32;
  }
  \u03B1up() {
    return this.keyCode == 38;
  }
  \u03B1down() {
    return this.keyCode == 40;
  }
  \u03B1left() {
    return this.keyCode == 37;
  }
  \u03B1right() {
    return this.keyCode == 39;
  }
  \u03B1del() {
    return this.keyCode == 8 || this.keyCode == 46;
  }
  \u03B1key(t) {
    if (typeof t == "string")
      return this.key == t;
    if (typeof t == "number")
      return this.keyCode == t;
  }
};
Pu(vr.prototype, Ln.prototype);
function ku(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
function Yt() {
  return true;
}
var Mn = class {
  \u03B1left() {
    return this.button == 0;
  }
  \u03B1middle() {
    return this.button == 1;
  }
  \u03B1right() {
    return this.button == 2;
  }
  \u03B1shift() {
    return !!this.shiftKey;
  }
  \u03B1alt() {
    return !!this.altKey;
  }
  \u03B1ctrl() {
    return !!this.ctrlKey;
  }
  \u03B1meta() {
    return !!this.metaKey;
  }
  \u03B1mod() {
    let t = globalThis.navigator.platform;
    return /^(Mac|iPhone|iPad|iPod)/.test(t || "") ? !!this.metaKey : !!this.ctrlKey;
  }
};
ku(_r.prototype, Mn.prototype);
function Wr(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
function Fn(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
var Lu = Symbol.for("#extendType"), Mu = Symbol.for("#modifierState"), Re = Symbol.for("#sharedModifierState"), In = Symbol.for("#onceHandlerEnd"), Sc = Symbol.for("#__initor__"), wc = Symbol.for("#__inited__"), Dn = Symbol.for("#extendDescriptors"), q = Symbol.for("#context"), Rn = Symbol.for("#self"), Fu = Symbol.for("#target"), An = Symbol.for("#stopPropagation"), jn = Symbol.for("#defaultPrevented");
Yr();
Yt();
var qn = class {
  [Lu](t) {
    var e, r, s;
    let n = t[Dn] || (t[Dn] = (r = Object.getOwnPropertyDescriptors(t.prototype), s = r.constructor, delete r.constructor, r));
    return Object.defineProperties(this, n);
  }
};
Wr(P.prototype, qn.prototype);
var zn = class {
  get [Mu]() {
    var t, e;
    return (t = this[q])[e = this[q].step] || (t[e] = {});
  }
  get [Re]() {
    var t, e;
    return (t = this[q].handler)[e = this[q].step] || (t[e] = {});
  }
  [In](t) {
    return F(this[q], "end", t);
  }
  \u03B1sel(t) {
    return !!this.target.matches(String(t));
  }
  \u03B1closest(t) {
    return !!this.target.closest(String(t));
  }
  \u03B1log(...t) {
    return console.info(...t), true;
  }
  \u03B1trusted() {
    return !!this.isTrusted;
  }
  \u03B1if(t) {
    return !!t;
  }
  \u03B1wait(t = 250) {
    return new Promise(function(e) {
      return setTimeout(e, yt(t));
    });
  }
  \u03B1self() {
    return this.target == this[q].element;
  }
  \u03B1cooldown(t = 250) {
    let e = this[Re];
    return e.active ? false : (e.active = true, e.target = this[q].element, e.target.flags.incr("cooldown"), this[In](function() {
      return setTimeout(function() {
        return e.target.flags.decr("cooldown"), e.active = false;
      }, yt(t));
    }), true);
  }
  \u03B1throttle(t = 250) {
    let e = this[Re];
    return e.active ? (e.next && e.next(false), new Promise(function(r) {
      return e.next = function(s) {
        return e.next = null, r(s);
      };
    })) : (e.active = true, e.el || (e.el = this[q].element), e.el.flags.incr("throttled"), F(this[q], "end", function() {
      let r = yt(t);
      return e.interval = setInterval(function() {
        e.next ? e.next(true) : (clearInterval(e.interval), e.el.flags.decr("throttled"), e.active = false);
      }, r);
    }), true);
  }
  \u03B1debounce(t = 250) {
    let e = this[Re], r = this;
    return e.queue || (e.queue = []), e.queue.push(e.last = r), new Promise(function(s) {
      return setTimeout(function() {
        return e.last == r ? (r.debounced = e.queue, e.last = null, e.queue = [], s(true)) : s(false);
      }, yt(t));
    });
  }
  \u03B1flag(t, e) {
    let {element: r, step: s, state: n, id: o, current: l} = this[q], h = e instanceof v ? e : e ? r.closest(e) : r;
    if (!h)
      return true;
    this[q].commit = true, n[s] = o, h.flags.incr(t);
    let a = Date.now();
    return F(l, "end", function() {
      let c = Date.now() - a, u = Math.max(250 - c, 0);
      return setTimeout(function() {
        return h.flags.decr(t);
      }, u);
    }), true;
  }
  \u03B1busy(t) {
    return this.\u03B1flag("busy", t);
  }
  \u03B1mod(t) {
    return this.\u03B1flag("mod-" + t, globalThis.document.documentElement);
  }
  \u03B1outside() {
    let {handler: t} = this[q];
    if (t && t[Rn])
      return !t[Rn].parentNode.contains(this.target);
  }
};
Wr(K.prototype, zn.prototype);
var Iu = {};
function Du() {
  return true;
}
var Gr = class {
  constructor(t, e) {
    this.params = t, this.closure = e;
  }
  getHandlerForMethod(t, e) {
    return t ? t[e] ? t : this.getHandlerForMethod(t.parentNode, e) : null;
  }
  emit(t, ...e) {
    return A(this, t, e);
  }
  on(t, ...e) {
    return R(this, t, ...e);
  }
  once(t, ...e) {
    return F(this, t, ...e);
  }
  un(t, ...e) {
    return ct(this, t, ...e);
  }
  get passive\u03A6() {
    return this.params.passive;
  }
  get capture\u03A6() {
    return this.params.capture;
  }
  get silent\u03A6() {
    return this.params.silent;
  }
  get global\u03A6() {
    return this.params.global;
  }
  async handleEvent(t) {
    let e = this[Fu] || t.currentTarget, r = this.params, s = null, n = r.silence || r.silent;
    this.count || (this.count = 0), this.state || (this.state = {});
    let o = {element: e, event: t, modifiers: r, handler: this, id: ++this.count, step: -1, state: this.state, commit: null, current: null};
    if (o.current = o, t.handle$mod && t.handle$mod.apply(o, r.options || []) == false)
      return;
    let l = K[this.type + "$handle"] || K[t.type + "$handle"] || t.handle$mod;
    if (!(l && l.apply(o, r.options || []) == false)) {
      this.currentEvents || (this.currentEvents = new Set()), this.currentEvents.add(t);
      for (let h = 0, a = Object.keys(r), c = a.length, u, d; h < c; h++) {
        if (u = a[h], d = r[u], o.step++, u[0] == "_")
          continue;
        u.indexOf("~") > 0 && (u = u.split("~")[0]);
        let b = null, f = [t, o], p, m = null, g, _ = false, E = typeof u == "string";
        if (u[0] == "$" && u[1] == "_" && d[0] instanceof Function)
          u = d[0], u.passive || (o.commit = true), f = [t, o].concat(d.slice(1)), m = e;
        else if (d instanceof Array) {
          f = d.slice(), b = f;
          for (let y = 0, x = Fn(f), N = x.length; y < N; y++) {
            let M = x[y];
            if (typeof M == "string" && M[0] == "~" && M[1] == "$") {
              let le = M.slice(2).split("."), he = o[le.shift()] || t;
              for (let nr = 0, $i = Fn(le), Cl = $i.length; nr < Cl; nr++) {
                let $l = $i[nr];
                he = he ? he[$l] : void 0;
              }
              f[y] = he;
            }
          }
        }
        if (typeof u == "string" && (g = u.match(/^(emit|flag|mod|moved|pin|fit|refit|map|remap|css)-(.+)$/)) && (b || (b = f = []), f.unshift(g[2]), u = g[1]), u == "trap")
          t[An] = true, t.stopImmediatePropagation(), t[jn] = true, t.preventDefault();
        else if (u == "stop")
          t[An] = true, t.stopImmediatePropagation();
        else if (u == "prevent")
          t[jn] = true, t.preventDefault();
        else if (u == "commit")
          o.commit = true;
        else if (u == "once")
          e.removeEventListener(t.type, this);
        else {
          if (u == "options" || u == "silence" || u == "silent")
            continue;
          if (u == "emit") {
            let y = f[0], x = f[1], N = new P(y, {bubbles: true, detail: x});
            N.originalEvent = t;
            let M = e.dispatchEvent(N);
          } else if (typeof u == "string") {
            u[0] == "!" && (_ = true, u = u.slice(1));
            let y = "\u03B1" + u, x = t[y];
            x || (x = this.type && K[this.type + "$" + u + "$mod"]), x || (x = t[u + "$mod"] || K[t.type + "$" + u] || K[u + "$mod"]), x instanceof Function ? (u = x, m = o, f = b || [], t[y] && (m = t, t[q] = o)) : u[0] == "_" ? (u = u.slice(1), m = this.closure) : m = this.getHandlerForMethod(e, u);
          }
        }
        try {
          u instanceof Function ? p = u.apply(m || e, f) : m && (p = m[u].apply(m, f)), p && p.then instanceof Function && p != C.$promise && (o.commit && !n && C.commit(), p = await p);
        } catch (y) {
          s = y;
          break;
        }
        if (_ && p === true || !_ && p === false)
          break;
        o.value = p;
      }
      if (A(o, "end", o), o.commit && !n && C.commit(), this.currentEvents.delete(t), this.currentEvents.size == 0 && this.emit("idle"), s)
        throw s;
    }
  }
}, Kn = class {
  on$(t, e, r) {
    let s = "on$" + t, n;
    n = new Gr(e, r);
    let o = e.capture || false, l = e.passive, h = o;
    return l && (h = {passive: l, capture: o}), this[s] instanceof Function ? n = this[s](e, r, n, h) : this.addEventListener(t, n, h), n;
  }
};
Wr(v.prototype, Kn.prototype);
var Ae = new class {
  get ios\u03A6() {
    let i = globalThis.navigator.platform || "";
    return !!(i.match(/iPhone|iPod|iPad/) || i == "MacIntel" && globalThis.navigator.maxTouchPoints > 2);
  }
}();
function $t(i, t) {
  let e = t;
  return i instanceof Element ? i : typeof i == "string" ? i == "this" || i == "" ? e : i == "up" ? e.parentNode : i == "op" ? e.offsetParent : e.closest(i) || e.querySelector(i) || globalThis.document.querySelector(i) : null;
}
function lt(i) {
  if (typeof i == "string") {
    let [t, e, r] = i.match(/^([-+]?[\d\.]+)(%|\w+)$/);
    return [parseFloat(e), r];
  } else if (typeof i == "number")
    return [i];
}
function je(i, t = 1) {
  let e = 1 / t;
  return Math.round(i * e) / e;
}
function Ru(i, t, e) {
  return t > e ? Math.max(e, Math.min(t, i)) : Math.min(e, Math.max(t, i));
}
function Xr(i, t, e, r, s = 0.1) {
  let [n, o] = lt(e), [l, h] = lt(r), [a, c] = lt(s);
  return o == "%" && (n = (t - i) * (n / 100)), h == "%" && (l = (t - i) * (l / 100)), c == "%" && (a = (l - n) * (a / 100)), function(u, d) {
    let b = (u - i) / (t - i), f = n + (l - n) * b;
    return s && (f = je(f, a)), d && (f = Ru(f, n, l)), f;
  };
}
function Au(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
Yt();
function ju() {
  return true;
}
var Vn = class {
  \u03B1primary() {
    return !!this.isPrimary;
  }
  \u03B1mouse() {
    return this.pointerType == "mouse";
  }
  \u03B1pen() {
    return this.pointerType == "pen";
  }
  \u03B1touch() {
    return this.pointerType == "touch";
  }
  \u03B1pressure(t = 0.5) {
    return this.pressure >= t;
  }
  \u03B1lock() {
    return true;
  }
};
Au(br.prototype, Vn.prototype);
function qu(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
var Hn = Symbol.for("#capture"), G = Symbol.for("#step"), zu = Symbol.for("#cancel"), Qr = Symbol.for("#reframe"), Ic = Symbol.for("#__initor__"), Dc = Symbol.for("#__inited__"), Un = Symbol.for("#mods"), Jr = Symbol.for("#dx"), Zr = Symbol.for("#dy"), ht = Symbol.for("#context"), qe = Symbol.for("#locked"), Bn = Symbol.for("#teardown"), Yn = Symbol.for("#x"), Wn = Symbol.for("#y"), Ku = Symbol.for("#pinTarget");
function Vu() {
  return true;
}
var Gn = null, Xn = class {
  constructor(t, e, r) {
    this.phase = "init", this.events = [], this.originalEvent = t, this.handler = e, this.target = this.currentTarget = r, this[Un] = {};
  }
  set event(t) {
    this.events.push(t);
  }
  get ctrlKey() {
    return this.originalEvent.ctrlKey;
  }
  get altKey() {
    return this.originalEvent.altKey;
  }
  get shiftKey() {
    return this.originalEvent.shiftKey;
  }
  get metaKey() {
    return this.originalEvent.metaKey;
  }
  get isPrimary() {
    return this.originalEvent.isPrimary;
  }
  get pointerType() {
    return this.originalEvent.pointerType;
  }
  get start() {
    return this.originalEvent;
  }
  get originalTarget() {
    return this.originalEvent.target;
  }
  get event() {
    return this.events[this.events.length - 1];
  }
  get elapsed() {
    return this.event.timeStamp - this.events[0].timeStamp;
  }
  get type() {
    return this.event.type;
  }
  get pointerId() {
    return this.originalEvent.pointerId;
  }
  get pressure() {
    return this.event.pressure;
  }
  get clientX() {
    return this.event.clientX;
  }
  get clientY() {
    return this.event.clientY;
  }
  get offsetX() {
    return this.event.offsetX;
  }
  get offsetY() {
    return this.event.offsetY;
  }
  get active\u03A6() {
    return this.phase != "ended";
  }
  get ended\u03A6() {
    return this.phase == "ended";
  }
  get dx() {
    return this[Jr] == null ? this.event.x - this.start.x : this[Jr];
  }
  get dy() {
    return this[Zr] == null ? this.event.y - this.start.y : this[Zr];
  }
  stopImmediatePropagation() {
    return this.cancelBubble = true, this.event.stopImmediatePropagation(), this;
  }
  stopPropagation() {
    return this.cancelBubble = true, this.event.stopPropagation(), this;
  }
  preventDefault() {
    return this.defaultPrevented = true, this.event.preventDefault();
  }
  emit(t, ...e) {
    return A(this, t, e);
  }
  on(t, ...e) {
    return R(this, t, ...e);
  }
  once(t, ...e) {
    return F(this, t, ...e);
  }
  un(t, ...e) {
    return ct(this, t, ...e);
  }
  \u03B1flag(t, e) {
    let {element: r} = this[ht], s = Date.now(), n = e instanceof v ? e : e ? r.closest(e) : r;
    return (this[G].setup != true ? (this[G].setup = true, true) : false) && (n.flags.incr(t), F(this, "end", function() {
      return n.flags.decr(t);
    })), true;
  }
  \u03B1lock() {
    return this[Hn](), true;
  }
  [Hn]() {
    if (this[qe] != true ? (this[qe] = true, true) : false)
      return this[ht].element.setPointerCapture(this.pointerId);
  }
  get [G]() {
    var t, e;
    return (t = this[Un])[e = this[ht].step] || (t[e] = {});
  }
  [zu]() {
    return this[Bn]();
  }
  \u03B1moved(t, e) {
    let r = this[G], {element: s, state: n, event: o} = this[ht];
    if (!r.setup) {
      let u = t || 4;
      typeof t == "string" && t.match(/^(up|down|left|right|x|y)$/) && (r.dir = t, u = e || 4), typeof e == "string" && e.match(/^(up|down|left|right|x|y)$/) && (r.dir = e), r.setup = true;
      let [d, b] = lt(u);
      r.threshold = d, r.sy = d, r.x0 = this.x, r.y0 = this.y, r.dir || (r.dir = "dist"), r.x = r.left = r.right = r.y = r.up = r.down = r.dist = 0, b && b != "px" && console.warn("only px threshold allowed in @touch.moved");
    }
    if (r.active)
      return true;
    if (r.cancelled)
      return false;
    let l = r.threshold, h = this.x - r.x0, a = this.y - r.y0;
    r.x = Math.max(r.x, Math.abs(h)), r.y = Math.max(r.y, Math.abs(a)), r.left = Math.max(r.left, -h), r.right = Math.max(r.right, h), r.up = Math.max(r.up, -a), r.down = Math.max(r.down, a), r.dist = Math.max(r.dist, Math.sqrt(h * h + a * a));
    let c = r[r.dir];
    if (c > l && c >= r.x && c >= r.y) {
      r.active = true;
      let u = n.pinTarget;
      return s.flags.incr("_move_"), u && u.flags.incr("_move_"), this.preventDefault(), F(this, "end", function() {
        return u && u.flags.decr("_move_"), s.flags.decr("_move_");
      }), true;
    } else if (r.x > l || r.y > l)
      return r.cancelled = true, false;
    return false;
  }
  \u03B1hold(t = 250) {
    var e = this;
    let r = this[G], s = this[ht].element;
    if (r.cancelled)
      return false;
    if (r.setup && !r.active) {
      let n = this.clientX, o = this.clientY, l = n - r.x, h = o - r.y;
      Math.sqrt(l * l + h * h) > 5 && !r.cancelled && (clearTimeout(r.timeout), r.cancelled = true);
    }
    if (r.setup != true ? (r.setup = true, true) : false) {
      r.active = false, r.x = this.clientX, r.y = this.clientY;
      let n;
      return r.timeout = setTimeout(function() {
        return r.active = true, e.preventDefault(), s.flags.incr("_hold_"), n && n(true), n = null;
      }, t), F(e, "end", function() {
        return r.active && s.flags.decr("_hold_"), clearTimeout(r.timeout), n && n(false), n = null;
      }), new Promise(function(o) {
        return n = o;
      });
    }
    return r.active;
  }
  \u03B1sync(t, e = "x", r = "y") {
    let s = this[G];
    return (s.setup != true ? (s.setup = true, true) : false) ? (s.x = t[e] || 0, s.y = t[r] || 0, s.tx = this.x, s.ty = this.y) : (e && (t[e] = s.x + (this.x - s.tx)), r && (t[r] = s.y + (this.y - s.ty))), this[ht].commit = true, true;
  }
  \u03B1apply(t, e = "x", r = "y") {
    return e && (t[e] = this.x), r && (t[r] = this.y), this[ht].commit = true, true;
  }
  \u03B1css(t = "x", e = "y") {
    let r = this[G];
    if (r.setup != true ? (r.setup = true, true) : false)
      r.el = this[ht].element, r.x = r.el[Yn] || 0, r.y = r.el[Wn] || 0, r.tx = this.x, r.ty = this.y;
    else {
      let s = r.el[Yn] = r.x + (this.x - r.tx), n = r.el[Wn] = r.y + (this.y - r.ty);
      t && r.el.style.setProperty("--x", s + "px"), e && r.el.style.setProperty("--y", n + "px");
    }
    return true;
  }
  \u03B1end() {
    return this.phase == "ended";
  }
  \u03B1shift() {
    return !!this.shiftKey;
  }
  \u03B1alt() {
    return !!this.altKey;
  }
  \u03B1ctrl() {
    return !!this.ctrlKey;
  }
  \u03B1meta() {
    return !!this.metaKey;
  }
  \u03B1primary() {
    return !!this.isPrimary;
  }
  \u03B1mouse() {
    return this.pointerType == "mouse";
  }
  \u03B1pen() {
    return this.pointerType == "pen";
  }
  \u03B1touch() {
    return this.pointerType == "touch";
  }
  \u03B1pressure(t = 0.5) {
    return this.pressure >= t;
  }
  \u03B1log(...t) {
    return console.info(...t), true;
  }
  \u03B1left() {
    return this.originalEvent.button == 0;
  }
  \u03B1middle() {
    return this.originalEvent.button == 1;
  }
  \u03B1right() {
    return this.originalEvent.button == 2;
  }
  \u03B1round(t = 1, e = t) {
    return this.x = je(this.x, t), this.y = je(this.y, e), true;
  }
  [Qr](...t) {
    let e = this[G];
    if (e.setup != true ? (e.setup = true, true) : false) {
      let r = this.target, s = t.length, n = t[0], o = 0, l = "100%", h = 0, a = typeof n;
      a == "number" || a == "string" && /^([-+]?\d[\d\.]*)(%|\w+)$/.test(n) || n instanceof Array ? n = null : a == "string" && (n == "this" || n == "" ? n = r : n == "up" ? n = r.parentNode : n == "op" ? n = r.offsetParent : n = r.closest(n) || r.querySelector(n)), n == null && (s++, t.unshift(n = r)), s == 2 ? h = t[1] : s > 2 && ([o, l, h = 0] = t.slice(1));
      let c = n.getBoundingClientRect();
      o instanceof Array || (o = [o, o]), l instanceof Array || (l = [l, l]), h instanceof Array || (h = [h, h]), e.rect = c, e.x = Xr(c.left, c.right, o[0], l[0], h[0]), e.y = Xr(c.top, c.bottom, o[1], l[1], h[1]), this.x0 = this.x = e.x(this.x, e.clamp), this.y0 = this.y = e.y(this.y, e.clamp);
    } else {
      let r = this.x = e.x(this.x, e.clamp), s = this.y = e.y(this.y, e.clamp);
      this[Jr] = r - this.x0, this[Zr] = s - this.y0;
    }
    return true;
  }
  \u03B1fit(...t) {
    return this[G].clamp = true, this[Qr](...t);
  }
  \u03B1reframe(...t) {
    return this[Qr](...t);
  }
  \u03B1pin(...t) {
    let e = this[G];
    if (e.setup != true ? (e.setup = true, true) : false) {
      let r = $t(t[0], this.target);
      r instanceof v || t.unshift(r = this.target);
      let s = t[1] || 0, n = t[2] == null ? t[2] = s : t[2], o = r.getBoundingClientRect();
      e.x = this.clientX - (o.left + o.width * s), e.y = this.clientY - (o.top + o.height * n), r && (this[Ku] = r, r.flags.incr("_touch_"), F(this, "end", function() {
        return r.flags.decr("_touch_");
      }));
    }
    return this.x -= e.x, this.y -= e.y, true;
  }
}, Qn = class {
  on$touch(t, e, r, s) {
    return r.type = "touch", this.addEventListener("pointerdown", r, {passive: false}), Ae.ios\u03A6 && globalThis.parent != globalThis && (Gn != true ? (Gn = true, true) : false) && globalThis.parent.postMessage("setupTouchFix"), r;
  }
};
qu(v.prototype, Qn.prototype);
if (globalThis.parent == globalThis && Ae.ios\u03A6) {
  let i = function(t) {
    if (t.data == "setupTouchFix")
      return globalThis.addEventListener("touchmove", function() {
        return false;
      }, {passive: false}), globalThis.removeEventListener("message", i);
  };
  globalThis.addEventListener("message", i);
}
K.touch$handle = function() {
  let i = this.event, t = this.element, e = this.state.pointerId, r = this.modifiers, s = this.handler, n = Ae.ios\u03A6;
  if (this.current = this.state, e != null)
    return e == i.pointerId;
  if (r.ctrl && !i.ctrlKey || r.alt && !i.altKey || r.meta && !i.metaKey || r.shift && !i.shiftKey || r.if && !r.if[0] || r.self && i.target != t || r.primary && !i.isPrimary || r.pen && i.pointerType != "pen" || r.mouse && i.pointerType != "mouse" || r.touch && i.pointerType != "touch" || r.sel && !i.target.matches(String(r.sel[0])))
    return;
  let o = this.state = s.state = this.current = new Xn(i, s, t);
  e = o.pointerId;
  let l = function(f) {
    return f.preventDefault(), false;
  }, h = null, a = Symbol(), c = function(f) {
    let p = o.clientX, m = o.clientY, g = f.clientX, _ = f.clientY;
    (o[qe] || o.defaultPrevented) && (f.pointerId == o.pointerId || p == g && m == _) && (f.preventDefault(), f.stopPropagation()), c && (globalThis.removeEventListener("click", c, {capture: true}), c = null);
  }, u = function(f) {
    if (!(o.type == "touchmove" && f.changedTouches[0].identifier != e) && (o.defaultPrevented || o[qe]))
      return f.preventDefault();
  }, d = function(f) {
    let p = f.type, m = o.phase;
    if (f.pointerId && o.pointerId != f.pointerId || f[a])
      return;
    f[a] = true;
    let g = p == "pointerup" || p == "pointercancel";
    if (f.pressure == 0 && f.pointerType == "mouse" && p == "pointermove" && o.originalEvent.pressure > 0)
      return h(f);
    p == "pointercancel" ? (o.x = o.clientX, o.y = o.clientY) : (o.x = f.clientX, o.y = f.clientY), o.event = f, g && (o.phase = "ended");
    try {
      s.handleEvent(o);
    } catch (_) {
    }
    if (m == "init" && !g && (o.phase = "active"), g && h)
      return h(f);
  }, b = false;
  return h = function(f) {
    if (!b && (b = true, t.flags.decr("_touch_"), o.phase != "ended" && (o.phase = "ended", o.x = o.clientX, o.y = o.clientY, s.handleEvent(o)), o.emit("end"), r.passive || --s.prevents == 0 && t.style.removeProperty("touch-action"), s.state = {}, globalThis.removeEventListener("pointermove", d, {passive: !!r.passive}), globalThis.removeEventListener("pointerup", d), globalThis.removeEventListener("pointercancel", d), setTimeout(function() {
      if (c && (globalThis.removeEventListener("click", c, {capture: true}), c = null), n && u)
        return globalThis.removeEventListener("touchend", u), globalThis.removeEventListener("touchmove", u, {passive: false}), u = null;
    }, 100), !r.passive))
      return globalThis.document.removeEventListener("selectstart", l, {capture: true});
  }, o[Bn] = h, r.passive || (s.prevents || (s.prevents = 0), s.prevents++, t.style.setProperty("touch-action", "none"), t.offsetWidth), t.flags.incr("_touch_"), globalThis.addEventListener("pointermove", d, {passive: !!r.passive}), globalThis.addEventListener("pointerup", d), globalThis.addEventListener("pointercancel", d), globalThis.addEventListener("click", c, {capture: true}), n && !r.passive && (globalThis.addEventListener("touchend", u), globalThis.addEventListener("touchmove", u, {passive: false})), r.passive || globalThis.document.addEventListener("selectstart", l, {capture: true}), d(i), false;
};
function Jn(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
function Hu(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
var Uu = Symbol.for("#context"), Bu = Symbol.for("#extendType");
function Yu() {
  return true;
}
var Zn = new (globalThis.WeakMap || Map)(), ze = {threshold: [0]}, Wu = {};
K.intersect$handle = function() {
  let i = this.event.detail.observer;
  return this.modifiers._observer == i;
};
var to = class extends P {
  \u03B1in() {
    return this.delta >= 0 && this.entry.isIntersecting;
  }
  \u03B1out() {
    return this.delta < 0;
  }
  \u03B1css(t = "ratio") {
    return this.target.style.setProperty("--ratio", this.ratio), true;
  }
  \u03B1flag(t, e) {
    let {state: r, step: s} = this[Uu], n = $t(e || "", this.target);
    return this.isIntersecting && !r[s] ? (n.flags.incr(t), r[s] = true) : r[s] && !this.isIntersecting && (n.flags.decr(t), r[s] = false), true;
  }
};
function Gu(i, t) {
  return function(e, r) {
    let s = r.prevRatios || (r.prevRatios = new WeakMap());
    for (let n = 0, o = Jn(e), l = o.length; n < l; n++) {
      let h = o[n], a = s.get(h.target) || 0, c = h.intersectionRatio, u = {entry: h, ratio: c, from: a, delta: c - a, observer: r}, d = new P(i, {bubbles: false, detail: u});
      d[Bu](to), d.entry = h, d.isIntersecting = h.isIntersecting, d.delta = u.delta, d.ratio = u.ratio, s.set(h.target, c), h.target.dispatchEvent(d);
    }
  };
}
function eo(i = ze) {
  let t = i.threshold.join("-") + i.rootMargin;
  !i.root && ze.root && (i.root || (i.root = ze.root));
  let e = i.root || Wu, r = Zn.get(e);
  return r || Zn.set(e, r = {}), r[t] || (r[t] = new IntersectionObserver(Gu("intersect", t), i));
}
var ro = class {
  on$intersect(t, e, r, s) {
    let n;
    if (t.options) {
      let o = [], l = {threshold: o};
      for (let h = 0, a = Jn(t.options), c = a.length; h < c; h++) {
        let u = a[h];
        u instanceof v || u instanceof Et ? l.root = u : typeof u == "number" ? o.push(u) : typeof u == "string" ? l.rootMargin = u : typeof u == "object" && Object.assign(l, u);
      }
      if (o.length == 1) {
        let h = o[0];
        if (h > 1)
          for (o[0] = 0; o.length < h; )
            o.push(o.length / (h - 1));
      }
      o.length == 0 && o.push(0), n = eo(l);
    } else
      n = eo();
    return t._observer = n, n.observe(this), this.addEventListener("intersect", r, s), r;
  }
};
Hu(v.prototype, ro.prototype);
function Xu(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
function Qu(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
var Ju = Symbol.for("#extendType");
function Zu() {
  return true;
}
var Ke = null, io = class extends P {
  \u03B1css(t = "1elw", e = "1elh", r = "") {
    let s = this.target;
    if (s.offsetParent) {
      let n = lt(t), o = lt(e), l = $t(r, s), h = n ? "--u_" + n[1] : "--" + t, a = o ? "--u_" + o[1] : "--" + e, c = n ? this.width / n[0] : this.width, u = o ? this.height / o[0] : this.height;
      l.style.setProperty(h, c), l.style.setProperty(a, u);
    }
    return true;
  }
};
function ta() {
  return globalThis.ResizeObserver || Ke || (console.warn(":resize not supported in this browser"), Ke = {observe: function() {
    return true;
  }}), Ke || (Ke = new ResizeObserver(function(i) {
    for (let t = 0, e = Xu(i), r = e.length; t < r; t++) {
      let s = e[t], n = new P("resize", {bubbles: false, detail: s});
      n.entry = s, n.rect = s.contentRect, n.width = s.target.offsetWidth, n.height = s.target.offsetHeight, n[Ju](io), s.target.dispatchEvent(n);
      let o = new P("resized", {bubbles: true, detail: s});
      s.target.dispatchEvent(o);
    }
  }));
}
var so = class {
  on$resize(t, e, r, s) {
    return ta().observe(this), this.addEventListener("resize", r, s), r;
  }
};
Qu(v.prototype, so.prototype);
function ea(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
function ra() {
  return true;
}
var ti, no = Symbol();
function ia() {
  if (!ti)
    return ti = function(i) {
      if (i[no])
        return;
      i[no] = true;
      let t = globalThis.document.activeElement;
      if (t && t.matches("input,textarea")) {
        let e = new P("selection", {detail: {start: t.selectionStart, end: t.selectionEnd}});
        return t.dispatchEvent(e);
      }
    }, globalThis.document.addEventListener("selectionchange", ti);
}
var oo = class {
  on$selection(t, e, r, s) {
    return ia(), this.addEventListener("selection", r, s), r;
  }
};
ea(v.prototype, oo.prototype);
var lo = Symbol.for("#string"), ho = Symbol.for("#html"), X = {win: {sep: "+", name: "win", order: ["meta", "ctrl", "mod", "alt", "option", "shift"].reverse(), labels: {option: "alt", mod: "ctrl", meta: "win"}}, mac: {sep: "", name: "mac", order: ["ctrl", "alt", "option", "shift", "mod", "command"].reverse(), labels: {left: "\u2192", up: "\u2191", down: "\u2193", right: "\u2190", plus: "+", tab: "\u21E5", meta: "\u2318", mod: "\u2318", ctrl: "\u2303", option: "\u2325", alt: "\u2325", del: "\u2326", shift: "\u21E7", enter: "\u21A9", esc: "\u238B", backspace: "\u232B"}}};
X.auto = X.win;
(globalThis.navigator.platform || "").match(/iPhone|iPod|iPad|Mac/) && (X.auto = X.mac);
var ei = {};
function uo(i, t = "auto") {
  let e = "" + i + ":" + t;
  if (ei[e])
    return ei[e];
  let r = X[t] || X.win, s = i.split(" ").map(function(n) {
    return n.split("+").sort(function(a, c) {
      return r.order.indexOf(c) - r.order.indexOf(a);
    }).map(function(a) {
      let c = r.labels[a] || a;
      return c = c[0].toUpperCase() + (c.slice(1) || "");
    });
  });
  return ei[e] = s;
}
function ao(i, t) {
  var e;
  let r = uo(i, t), s = X[t] || X.win;
  return r[lo] || (r[lo] = r.map(function(n) {
    return n.join(s.sep);
  }).join(" "));
}
function fo(i, t) {
  var e;
  let r = uo(i, t), s = X[t] || X.win;
  return r[ho] || (r[ho] = r.map(function(n) {
    return "<kbd>" + n.map(function(o) {
      return "<kbd>" + o + "</kbd>";
    }).join("") + "</kbd>";
  }).join(" "));
}
var ut = {8: "backspace", 9: "tab", 13: "enter", 16: "shift", 17: "ctrl", 18: "alt", 20: "capslock", 27: "esc", 32: "space", 33: "pageup", 34: "pagedown", 35: "end", 36: "home", 37: "left", 38: "up", 39: "right", 40: "down", 45: "ins", 46: "del", 91: "meta", 93: "meta", 224: "meta"}, co = {106: "*", 107: "+", 109: "-", 110: ".", 111: "/", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", 221: "]", 222: "'"}, po = {"~": "`", "!": "1", "@": "2", "#": "3", $: "4", "%": "5", "^": "6", "&": "7", "*": "8", "(": "9", ")": "0", _: "-", "+": "=", ":": ";", '"': "'", "<": ",", ">": ".", "?": "/", "|": "\\"}, mo = {option: "alt", command: "meta", return: "enter", escape: "esc", plus: "+", mod: /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? "meta" : "ctrl"}, Wt;
for (var it = 1; it < 20; ++it)
  ut[111 + it] = "f" + it;
for (it = 0; it <= 9; ++it)
  ut[it + 96] = it.toString();
function ri(i, t, e) {
  if (i.addEventListener) {
    i.addEventListener(t, e, false);
    return;
  }
  i.attachEvent("on" + t, e);
}
function ii(i, t, e) {
  if (i.removeEventListener) {
    i.removeEventListener(t, e, false);
    return;
  }
  i.detachEvent("on" + t, e);
}
function go(i) {
  if (i.type == "keypress") {
    var t = String.fromCharCode(i.which);
    return i.shiftKey || (t = t.toLowerCase()), t;
  }
  return ut[i.which] ? ut[i.which] : co[i.which] ? co[i.which] : String.fromCharCode(i.which).toLowerCase();
}
function sa(i, t) {
  return i.sort().join(",") === t.sort().join(",");
}
function na(i) {
  var t = [];
  return i.shiftKey && t.push("shift"), i.altKey && t.push("alt"), i.ctrlKey && t.push("ctrl"), i.metaKey && t.push("meta"), t;
}
function oa(i) {
  if (i.preventDefault) {
    i.preventDefault();
    return;
  }
  i.returnValue = false;
}
function la(i) {
  if (i.stopPropagation) {
    i.stopPropagation();
    return;
  }
  i.cancelBubble = true;
}
function si(i) {
  return i == "shift" || i == "ctrl" || i == "alt" || i == "meta";
}
function ha() {
  if (!Wt) {
    Wt = {};
    for (var i in ut)
      i > 95 && i < 112 || ut.hasOwnProperty(i) && (Wt[ut[i]] = i);
  }
  return Wt;
}
function ua(i, t, e) {
  return e || (e = ha()[i] ? "keydown" : "keypress"), e == "keypress" && t.length && (e = "keydown"), e;
}
function aa(i) {
  return i === "+" ? ["+"] : (i = i.replace(/\+{2}/g, "+plus"), i.split("+"));
}
function yo(i, t) {
  var e, r, s, n = [];
  for (e = aa(i), s = 0; s < e.length; ++s)
    r = e[s], mo[r] && (r = mo[r]), t && t != "keypress" && po[r] && (r = po[r], n.push("shift")), si(r) && n.push(r);
  return t = ua(r, n, t), {key: r, modifiers: n, action: t};
}
function _o(i, t) {
  return i === null || i === document ? false : i === t ? true : _o(i.parentNode, t);
}
function L(i) {
  var t = this;
  if (i = i || document, !(t instanceof L))
    return new L(i);
  t.target = i, t._callbacks = {}, t._directMap = {};
  var e = {}, r, s = false, n = false, o = false;
  function l(f) {
    f = f || {};
    var p = false, m;
    for (m in e) {
      if (f[m]) {
        p = true;
        continue;
      }
      e[m] = 0;
    }
    p || (o = false);
  }
  function h(f, p, m, g, _, E) {
    var y, x, N = [], M = m.type;
    if (!t._callbacks[f])
      return [];
    for (M == "keyup" && si(f) && (p = [f]), y = 0; y < t._callbacks[f].length; ++y)
      if (x = t._callbacks[f][y], !(!g && x.seq && e[x.seq] != x.level) && M == x.action && (M == "keypress" && !m.metaKey && !m.ctrlKey || sa(p, x.modifiers))) {
        var Ci = !g && x.combo == _, le = g && x.seq == g && x.level == E;
        (Ci || le) && t._callbacks[f].splice(y, 1), N.push(x);
      }
    return N;
  }
  function a(f, p, m, g) {
    t.stopCallback(p, p.target || p.srcElement, m, g) || f(p, m) === false && (oa(p), la(p));
  }
  t._handleKey = function(f, p, m) {
    var g = h(f, p, m), _, E = {}, y = 0, x = false;
    for (_ = 0; _ < g.length; ++_)
      g[_].seq && (y = Math.max(y, g[_].level));
    for (_ = 0; _ < g.length; ++_) {
      if (g[_].seq) {
        if (g[_].level != y)
          continue;
        x = true, E[g[_].seq] = 1, a(g[_].callback, m, g[_].combo, g[_].seq);
        continue;
      }
      x || a(g[_].callback, m, g[_].combo);
    }
    var N = m.type == "keypress" && n;
    m.type == o && !si(f) && !N && l(E), n = x && m.type == "keydown";
  };
  function c(f) {
    typeof f.which != "number" && (f.which = f.keyCode);
    var p = go(f);
    if (!!p) {
      if (f.type == "keyup" && s === p) {
        s = false;
        return;
      }
      t.handleKey(p, na(f), f);
    }
  }
  function u() {
    clearTimeout(r), r = setTimeout(l, 1e3);
  }
  function d(f, p, m, g) {
    e[f] = 0;
    function _(M) {
      return function() {
        o = M, ++e[f], u();
      };
    }
    function E(M) {
      a(m, M, f), g !== "keyup" && (s = go(M)), setTimeout(l, 10);
    }
    for (var y = 0; y < p.length; ++y) {
      var x = y + 1 === p.length, N = x ? E : _(g || yo(p[y + 1]).action);
      b(p[y], N, g, f, y);
    }
  }
  function b(f, p, m, g, _) {
    t._directMap[f + ":" + m] = p, f = f.replace(/\s+/g, " ");
    var E = f.split(" "), y;
    if (E.length > 1) {
      d(f, E, p, m);
      return;
    }
    y = yo(f, m), t._callbacks[y.key] = t._callbacks[y.key] || [], h(y.key, y.modifiers, {type: y.action}, g, f, _), t._callbacks[y.key][g ? "unshift" : "push"]({callback: p, modifiers: y.modifiers, action: y.action, seq: g, level: _, combo: f});
  }
  t._bindMultiple = function(f, p, m) {
    for (var g = 0; g < f.length; ++g)
      b(f[g], p, m);
  }, t.enable = function() {
    ri(i, "keypress", c), ri(i, "keydown", c), ri(i, "keyup", c);
  }, t.disable = function() {
    ii(i, "keypress", c), ii(i, "keydown", c), ii(i, "keyup", c);
  }, t.enable();
}
L.prototype.bind = function(i, t, e) {
  var r = this;
  return i = i instanceof Array ? i : [i], r._bindMultiple.call(r, i, t, e), r;
};
L.prototype.unbind = function(i, t) {
  var e = this;
  return e.bind.call(e, i, function() {
  }, t);
};
L.prototype.trigger = function(i, t) {
  var e = this;
  return e._directMap[i + ":" + t] && e._directMap[i + ":" + t]({}, i), e;
};
L.prototype.reset = function() {
  var i = this;
  return i._callbacks = {}, i._directMap = {}, i;
};
L.prototype.stopCallback = function(i, t) {
  var e = this;
  return (" " + t.className + " ").indexOf(" mousetrap ") > -1 || _o(t, e.target) ? false : t.tagName == "INPUT" || t.tagName == "SELECT" || t.tagName == "TEXTAREA" || t.isContentEditable;
};
L.prototype.handleKey = function() {
  var i = this;
  return i._handleKey.apply(i, arguments);
};
L.addKeycodes = function(i) {
  for (var t in i)
    i.hasOwnProperty(t) && (ut[t] = i[t]);
  Wt = null;
};
L.init = function() {
  var i = L(document);
  for (var t in i)
    t.charAt(0) !== "_" && (L[t] = function(e) {
      return function() {
        return i[e].apply(i, arguments);
      };
    }(t));
};
function Gt(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
function fa(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
var td = Symbol.for("#__initor__"), ed = Symbol.for("#__inited__"), ni = Symbol.for("#updateHotKeys"), ca = Symbol.for("#inInput"), oi = Symbol.for("#inEditable"), da = Symbol.for("#hotkeyTarget"), bo = Symbol.for("#hotkeyCombos"), pa = Symbol.for("#extendType"), Xt = Symbol.for("#combos"), vo = Symbol.for("#target"), Qt = Symbol.for("#hotkeyHandlers"), ma = Symbol.for("#defaultPrevented"), ga = Symbol.for("#visit"), xo = Symbol.for("#key"), ya;
try {
  ya = (globalThis.navigator.platform || "").match(/iPhone|iPod|iPad|Mac/);
} catch (i) {
}
function _a() {
  return true;
}
var li = {esc: true}, So = class extends P {
  \u03B1focus(t) {
    let e = this.target, r = e.ownerDocument;
    return t && (e = e.querySelector(t) || e.closest(t) || r.querySelector(t)), e == r.body ? r.activeElement != r.body && r.activeElement.blur() : e.focus(), true;
  }
  \u03B1repeat() {
    return true;
  }
}, ba = function(i, t, e) {
  return t.tagName == "INPUT" && (e == "down" || e == "up") ? false : t.tagName == "INPUT" || t.tagName == "SELECT" || t.tagName == "TEXTAREA" ? li[e] ? (i[ca] = true, i[oi] = true, false) : true : t.contentEditable && (t.contentEditable == "true" || t.contentEditable == "plaintext-only") ? li[e] ? (i[oi] = true, false) : true : false;
}, wo = new class {
  constructor() {
    this.combos = {"*": {}}, this.identifiers = {}, this.labels = {}, this.handler = this.handle.bind(this), this.mousetrap = null, this.hothandler = this.handle.bind(this);
  }
  addKeycodes(t) {
    return L.addKeycodes(t);
  }
  trigger(t) {
    var e, r;
    return (r = (e = this.mousetrap) == null ? void 0 : e.trigger) == null ? void 0 : r.call(e, t);
  }
  register(t, e = {}) {
    return this.mousetrap || (this.mousetrap = L(globalThis.document), this.mousetrap.stopCallback = ba), this.combos[t] || (this.combos[t] = true, this.mousetrap.bind(t, this.handler)), (e.capture || e.force) && (li[t] = true), this;
  }
  comboIdentifier(t) {
    var e;
    return (e = this.identifiers)[t] || (e[t] = t.replace(/\+/g, "_").replace(/\ /g, "-").replace(/\*/g, "all").replace(/\|/g, " "));
  }
  humanize(t, e = "auto") {
    return ao(t, e);
  }
  htmlify(t, e = "auto") {
    return fo(t, e);
  }
  matchCombo(t) {
    return true;
  }
  handle(t, e) {
    var c;
    let r = t.target && t.target[da] || t.target || globalThis.document.body, s = Array.from(globalThis.document.querySelectorAll("[data-hotkey]")), n = r.ownerDocument, o = r;
    for (; o && o != n && o.hotkeys !== true; )
      o = o.parentNode;
    if (s = s.reverse().filter(function(u) {
      let d = u[bo];
      if (!(d && (d[e] || d["*"])))
        return false;
      let b = u;
      for (; b && b != n; ) {
        if (b.hotkeys === false)
          return false;
        b = b.parentNode;
      }
      return true;
    }), !s.length)
      return;
    let l = {combo: e, originalEvent: t, targets: s}, h = new P("hotkey", {bubbles: true, detail: l});
    h[pa](So), h.originalEvent = t, h.hotkey = e, r.dispatchEvent(h);
    let a = [];
    for (let u = 0, d = Gt(s), b = d.length; u < b; u++) {
      let f = d[u];
      for (let p = 0, m = Gt(f[Qt]), g = m.length; p < g; p++) {
        let _ = m[p];
        if ((_[Xt][e] || _[Xt]["*"]) && (!t[oi] || _.capture\u03A6 || _.params.force)) {
          let E = _[vo];
          (o.contains(E) || E.contains(o) || _.global\u03A6) && a.push(_);
        }
      }
    }
    for (let u = 0, d = Gt(a), b = d.length; u < b; u++) {
      let f = d[u];
      if ((!t.repeat || f.params.repeat) && f.handleEvent(h), (!f.passive\u03A6 || h[ma]) && ((c = t == null ? void 0 : t.preventDefault) == null || c.call(t)), !f.passive\u03A6)
        break;
    }
    return this;
  }
}(), Eo = function(i, t) {
  let e = t.element;
  e instanceof v && (e.matches("input,textarea,select,option") ? e.focus() : e.click());
};
Eo.passive = true;
var To = class {
  on$hotkey(t, e, r, s) {
    var n = this;
    return this[Qt] || (this[Qt] = []), this[Qt].push(r), r[vo] = this, t.$_ || (t.$_ = [Eo]), t[ga] = function() {
      return n[ni]();
    }, this[ni](), r;
  }
  [ni]() {
    let t = {};
    for (let e = 0, r = Gt(this[Qt]), s = r.length; e < s; e++) {
      let n = r[e], o = n.params, l = o.options[0];
      if (n[xo] != l ? (n[xo] = l, true) : false) {
        n[Xt] = {};
        for (let h = 0, a = Gt(l.split("|")), c = a.length; h < c; h++) {
          let u = a[h];
          wo.register(u, o), n[Xt][u] = true;
        }
      }
      Object.assign(t, n[Xt]);
    }
    return this[bo] = t, this.dataset.hotkey = Object.keys(t).join(" "), this;
  }
};
fa(v.prototype, To.prototype);
var Bo = Al(Io());
var ui = Symbol.for("#getQueryParam"), Do = Symbol.for("#setQueryParam"), nd = Symbol.for("#__initor__"), od = Symbol.for("#__inited__"), Ro = Symbol.for("#query");
var Y = class {
  static parse(t, e) {
    return t instanceof Y ? t : new Y(t, e);
  }
  constructor(t, e) {
    this.router = e, this.parse(t);
  }
  parse(t) {
    var r;
    let e;
    return t instanceof URL || (t = new URL(t, this.router.origin)), (e = (r = this.router) == null ? void 0 : r.aliases[t.pathname]) && (t.pathname = e), this.url = t, this;
  }
  get active\u03A6() {
    return this.router.location == this;
  }
  reparse() {
    return this.parse(this.url);
  }
  get searchParams() {
    return this.url.searchParams;
  }
  search() {
    let t = this.searchParams ? this.searchParams.toString() : "";
    return t ? "?" + t : "";
  }
  update(t) {
    if (t instanceof Object)
      for (let e = 0, r = Object.keys(t), s = r.length, n, o; e < s; e++)
        n = r[e], o = t[n], this.searchParams.set(n, o);
    else
      typeof t == "string" && this.parse(t);
    return this;
  }
  clone() {
    return new Y(this.url.href, this.router);
  }
  equals(t) {
    return this.toString() == String(t);
  }
  get href() {
    return this.url.href;
  }
  get path() {
    return this.url.href.slice(this.url.origin.length);
  }
  get pathname() {
    return this.url.pathname;
  }
  get query() {
    return this[Ro] || (this[Ro] = new Proxy({}, {get: this[ui].bind(this), set: this[Do].bind(this)}));
  }
  toString() {
    return this.href;
  }
  [ui](t, e) {
    return this.searchParams.get(e);
  }
  [Do](t, e, r) {
    return this[ui](t, e) != r && (r == null || r == "" ? this.searchParams.delete(e) : this.searchParams.set(e, r), this.active\u03A6 && (this.router.history.replaceState({}, null, this.url.toString()), this.router.touch())), true;
  }
};
var ud = Symbol.for("#__initor__"), ad = Symbol.for("#__inited__"), Ue = class {
  constructor(t, e, r) {
    this.router = t, e && (this.location = Y.parse(e), this.original = this.location.clone()), this.referrer = r;
  }
  redirect(t) {
    var e, r;
    return (r = (e = this.location) == null ? void 0 : e.update) == null || r.call(e, t), this;
  }
  get path() {
    var t;
    return (t = this.location) == null ? void 0 : t.path;
  }
  get url() {
    var t, e;
    return (e = (t = this.location) == null ? void 0 : t.toString) == null ? void 0 : e.call(t);
  }
  set path(t) {
    this.location.path = t;
  }
  abort(t = false) {
    return this.aborted = true, t && (this.forceAbort = t), this;
  }
  match(t) {
    return this.location ? this.router.route(t).match(this.path) : null;
  }
};
function Ao(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
var cd = Symbol.for("#__initor__"), dd = Symbol.for("#__inited__"), Be = Symbol.for("#routes"), ai = Symbol.for("#match"), Ta = Symbol.for("#symbol"), jo = Symbol.for("#matches"), fi = new Map(), ci = {}, qo = {};
function Oa(i) {
  if (!fi.has(i)) {
    let t = new Map();
    return fi.set(i, t), t;
  }
  return fi.get(i);
}
function Na(i, t) {
  let e = Oa(i);
  if (!e.has(t)) {
    let r = Object.create(i);
    return Object.assign(r, t), e.set(t, r), r;
  }
  return e.get(t);
}
var zo = class {
};
function Ca(i) {
  if (ci[i])
    return ci[i];
  let t = ci[i] = {url: i}, e = i.indexOf("?"), r = i.indexOf("#");
  if (r >= 0 && (t.hash = i.slice(r + 1), i = t.url = i.slice(0, r)), e >= 0) {
    let s = t.query = i.slice(e + 1);
    i = i.slice(0, e), t.query = qo[s] || (qo[s] = new URLSearchParams(s));
  }
  return t.path = i, t;
}
var di = class {
  constructor(t) {
    this.router = t, this.fullPath = "", this[Be] = {}, this[ai] = new zo(), this[ai].path = "";
  }
  route(t) {
    var e;
    return (e = this[Be])[t] || (e[t] = new Ye(this.router, t, this));
  }
  match() {
    return this[ai];
  }
  resolve(t) {
    return "/";
  }
}, Ye = class {
  constructor(t, e, r) {
    this.parent = r || t.rootRoute, this.router = t, this.status = 200, this.path = e, this[Ta] = Symbol(), this[jo] = {}, this[Be] = {};
  }
  route(t) {
    var e;
    return (e = this[Be])[t] || (e[t] = new Ye(this.router, t, this));
  }
  get fullPath() {
    return "" + this.parent.fullPath + "/" + this.$path;
  }
  load(t) {
    return this.router.queue.add(t);
  }
  set path(t) {
    var e = this;
    if (this.$path == t)
      return;
    if (this.raw = t, this.$path = t, this.groups = [], this.cache = {}, this.dynamic = false, t.indexOf("?") >= 0) {
      let s = t.split("?");
      t = s.shift(), this.query = {};
      for (let n = 0, o = Ao(s.join("?").split("&")), l = o.length; n < l; n++) {
        let h = o[n];
        if (!h)
          continue;
        let [a, c] = h.split("=");
        a[0] == "!" && (this.dynamic = true, a = a.slice(1), c = false), c === "" && (c = false), c && c[0] == ":" && (this.dynamic = true), this.query[a] = c || c !== false;
      }
    }
    if (t = t.replace(/\:(\w+|\*)(\.)?/g, function(s, n, o) {
      return e.dynamic = true, n != "*" && e.groups.push(n), o ? "([^/#.?]+)." : "([^/#?]+)";
    }), t == "" && e.query)
      return;
    t = "^" + t;
    let r = t[t.length - 1];
    r == "$" && (t = t.slice(0, -1) + "(?=/?[#?]|/?$)"), r != "/" && r != "$" && t != "^/" && (t = t + "(?=[/#?]|$)"), e.regex = new RegExp(t);
  }
  match(t = this.router.path) {
    var h, a;
    var e, r;
    let s = this.parent.match(t);
    if (!s)
      return null;
    let n = Ca(t), o = n.url, l = "";
    if (s.path && n.path.indexOf(s.path) == 0 && (l = s.path + "/", o = o.slice(l.length)), e = this.regex ? o.match(this.regex) : [""]) {
      let c = l + e[0], u = [this.$path], d = {};
      if (this.groups.length)
        for (let p = 0, m = Ao(e), g = m.length, _; p < g; p++) {
          let E = m[p];
          (_ = this.groups[p - 1]) && (d[_] = E, u.push(E));
        }
      if (this.query)
        for (let p = this.query, m = 0, g = Object.keys(p), _ = g.length, E, y; m < _; m++) {
          E = g[m], y = p[E];
          let x = E, N = (a = (h = n.query) == null ? void 0 : h.get) == null ? void 0 : a.call(h, E);
          if (y === false) {
            if (N)
              return null;
            u.push("1");
            continue;
          }
          if (y[0] == ":" && (x = y.slice(1), y = true), y == true && N || y == N)
            d[x] = N, u.push(N);
          else
            return null;
        }
      let b = u.join("*");
      d = (r = this[jo])[b] || (r[b] = d);
      let f = Na(s, d);
      return f.path = c, f;
    }
    return null;
  }
  resolve(t = this.router.path) {
    if (this.raw[0] == "/" && !this.dynamic)
      return this.raw.replace(/\$/g, "");
    let e = this.parent.match(t), r = this.parent.resolve(t), s;
    if (this.dynamic) {
      let n = this.match(t);
      return n ? n.path : null;
    }
    return this.raw[0] == "?" ? s = (r || "/") + this.raw : s = r + "/" + this.raw, s.replace(/\$/g, "").replace(/\/\/+/g, "/");
  }
};
var Ko = Symbol.for("#__initor__"), Vo = Symbol.for("#__inited__"), Ho = Symbol.for("#__init__"), We = Symbol.for("#idler"), Jt = Symbol.for("#resolve"), Uo = Symbol(), Ge = class extends Set {
  static [Ho]() {
    return this.prototype[Ko] = Uo, this;
  }
  constructor() {
    super();
    this[We] = Promise.resolve(this), this[Ko] === Uo && this[Vo] && this[Vo]();
  }
  emit(t, ...e) {
    return A(this, t, e);
  }
  on(t, ...e) {
    return R(this, t, ...e);
  }
  once(t, ...e) {
    return F(this, t, ...e);
  }
  un(t, ...e) {
    return ct(this, t, ...e);
  }
  add(t) {
    var e = this;
    if (t instanceof Function && (t = t()), !this.has(t)) {
      t.then(function() {
        return e.delete(t);
      });
      let r = e.size == 0;
      super.add(t), r && (this[We] = this[Jt] = null, e.emit("busy", e));
    }
    return t;
  }
  delete(t) {
    return super.delete(t) ? (this.size == 0 && (this[Jt] && (this[Jt](this), this[Jt] = null), this.emit("idle", this)), true) : false;
  }
  get idle() {
    var t = this;
    return this[We] || (this[We] = new Promise(function(e) {
      return t[Jt] = e;
    }));
  }
};
Ge[Ho]();
function pi(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
var Yo = Symbol.for("#__initor__"), Wo = Symbol.for("#__inited__"), Go = Symbol.for("#__init__"), mi = Symbol.for("#enter"), gi = Symbol.for("#resolved"), yi = Symbol.for("#leave"), Xo = Symbol.for("#router"), $a = Symbol.for("#routes"), at = Symbol.for("#version"), kt = Symbol.for("#doc"), Qo = Symbol.for("#origin"), _i = Symbol.for("#request"), Zt = Symbol.for("#hash"), H = Symbol.for("#routeTo"), Xe = Symbol.for("#path"), Q = Symbol.for("#match"), te = Symbol.for("#options"), Pa = Symbol.for("#cache"), Jo = Symbol.for("#unmatched"), ee = Symbol.for("#active"), ka = Symbol.for("#resolvedPath"), La = Symbol.for("#dataKey"), Ma = Symbol.for("#activeKey"), re = Symbol.for("#urlKey"), Lt = Symbol.for("#dataMap"), Qe = Symbol.for("#href"), ft = Symbol.for("#route"), Zo = Symbol.for("#context"), tl = Symbol.for("#afterVisit"), el = Symbol.for("#routeHandler"), Fa = Symbol.for("#attachToParent"), Ia = Symbol.for("#detachFromParent"), rl = Symbol();
var il = class {
  get router() {
    return this[Xo] || (this[Xo] = new Je(this));
  }
};
pi(Et.prototype, il.prototype);
function Da() {
  return true;
}
var Ra = hr(function() {
  return globalThis.document.router;
}), Je = class extends Bo.EventEmitter {
  static [Go]() {
    return this.prototype[Yo] = rl, this;
  }
  constructor(t, e = {}) {
    super();
    this[$a] = {}, this.aliases = {}, this.redirects = {}, this.rules = {}, this.options = e, this.busy = [], this[at] = 0, this[kt] = t, this.queue = new Ge(), this.web\u03A6 = !!t.defaultView, this.root = new di(this), this.history = globalThis.window.history, this.location = new Y(e.url || t.location.href, this), this.mode = e.mode || "history", this.queue.on("busy", function() {
      return globalThis.document.flags.incr("_routing_");
    }), this.queue.on("idle", function() {
      return globalThis.document.flags.decr("_routing_"), k();
    }), this.setup(), this[Yo] === rl && this[Wo] && this[Wo]();
  }
  get origin() {
    return this[Qo] || (this[Qo] = this[kt].location.origin);
  }
  get query() {
    return this.location.query;
  }
  init() {
    return this.refresh({mode: "replace"}), this;
  }
  alias(t, e) {
    return this.aliases[t] = e, this.location.reparse(), this;
  }
  touch() {
    return this[at]++;
  }
  option(t, e) {
    return e == null ? this.options[t] : (this.options[t] = e, this);
  }
  get realpath() {
    let t = this[kt].location;
    return t.href.slice(t.origin.length);
  }
  get state() {
    return {};
  }
  get ctx() {
    return this[_i];
  }
  pushState(t, e, r) {
    return this.history.pushState(t, e || null, String(r));
  }
  replaceState(t, e, r) {
    return this.history.replaceState(t, e || null, String(r));
  }
  refresh(t = {}) {
    var e = this;
    if (this.refreshing)
      return;
    this.refreshing = true;
    let r = this.location, s = Y.parse(t.location || this.realpath, this), n = t.mode, o = this[_i];
    if (!s.equals(r) || !o) {
      let l = new Ue(this, s, r);
      l.mode = n, this[_i] = l, this.emit("beforechange", l), l.aborted && (!l.forceAbort && globalThis.window.confirm("Are you sure you want to leave? You might have unsaved changes") ? l.aborted = false : n == "pop" ? this.pushState(this.state, null, String(r)) : n == "replace" && this.replaceState(this.state, null, String(r))), l.aborted || (this.location = l.location, n == "push" ? this.pushState(t.state || this.state, null, String(this.location)) : n == "replace" && this.replaceState(t.state || this.state, null, String(this.location)), this.location.state = globalThis.window.history.state, this.emit("change", l), this.touch(), k());
    }
    return C.add(function() {
      let l = e[kt].location.hash;
      if (l != e[Zt])
        return e.emit("hashchange", e[Zt] = l);
    }), e.refreshing = false, e;
  }
  onpopstate(t) {
    return this.refresh({pop: true, mode: "pop"}), this;
  }
  onbeforeunload(t) {
    let e = new Ue(this, null, this.location);
    if (this.emit("beforechange", e), e.aborted)
      return true;
  }
  onhashchange(t) {
    return this.emit("hashchange", this[Zt] = this[kt].location.hash), k();
  }
  setup() {
    this.onclick = this.onclick.bind(this), this.onhashchange = this.onhashchange.bind(this);
    let t = globalThis.window;
    return this[Zt] = this[kt].location.hash, this.location = Y.parse(this.realpath, this), this.history.replaceState(this.state, null, String(this.location)), t.onpopstate = this.onpopstate.bind(this), t.onbeforeunload = this.onbeforeunload.bind(this), t.addEventListener("hashchange", this.onhashchange), t.addEventListener("click", this.onclick, {capture: true}), t.document.documentElement.emit("routerinit", this), this.refresh, this;
  }
  onclick(t) {
    if (t.metaKey || t.altKey)
      return;
    let e = null, r = null, s = t.target;
    for (; s && (!e || !r); )
      !e && s.nodeName == "A" && (e = s), !r && s[H] && (r = s), s = s.parentNode;
    if (e && r != e && (!r || r.contains(e))) {
      let n = e.getAttribute("href");
      n && !n.match(/\:\/\//) && (!e.getAttribute("target") || e.getAttribute("target") == "_self") && !e.classList.contains("external") && e.addEventListener("click", this.onclicklink.bind(this), {once: true});
    }
    return true;
  }
  onclicklink(t) {
    let e = t.currentTarget || t.target;
    e[H] && e[H].resolve();
    let r = e.getAttribute("href"), s = new URL(e.href), n = s.href.slice(s.origin.length), o = this.realpath.split("#")[0], l = n.split("#")[0];
    return o == l ? globalThis.document.location.hash = s.hash : e[H] ? e[H].go() : this.go(n), t.stopPropagation(), t.preventDefault();
  }
  get url() {
    return this.location.url;
  }
  get path() {
    let t = this.location.path;
    return this.aliases[t] || t;
  }
  get pathname() {
    return this.location.pathname;
  }
  serializeParams(t) {
    var e;
    if (t instanceof Object) {
      e = [];
      for (let s = 0, n = Object.keys(t), o = n.length, l, h; s < o; s++)
        l = n[s], h = t[l], e.push([l, globalThis.encodeURI(h)].join("="));
      return e.join("&");
    }
    return t || "";
  }
  get hash() {
    return this[Zt];
  }
  set hash(t) {
    this.history.replaceState({}, null, "#" + this.serializeParams(t));
  }
  match(t) {
    return this.route(t).match(this.path);
  }
  route(t) {
    return this.root.route(t);
  }
  go(t, e = {}) {
    let r = this.location.clone().update(t, e);
    return this.refresh({push: true, mode: "push", location: r, state: e}), this;
  }
  replace(t, e = {}) {
    let r = this.location.clone().update(t, e);
    return this.refresh({replace: true, mode: "replace", location: r, state: e});
  }
};
Je[Go]();
var Ze = class {
  constructor(t, e, r, s = {}) {
    this.parent = r, this.node = t, this[Xe] = e, this[Q] = null, this[te] = s, this[Pa] = {}, this[Jo] = {}, this[ee] = null, this[ka] = null, this[La] = Symbol(), this[Ma] = Symbol(), this[re] = Symbol();
  }
  get router() {
    return this.node.ownerDocument.router;
  }
  get route() {
    return (this.parent ? this.parent.route : this.router).route(this[Xe]);
  }
  get match() {
    return this[Q];
  }
  get params() {
    return this[Q] || this[Jo];
  }
  get state() {
    let t = this[Lt] || (this[Lt] = new Map()), e = this.params, r = this[Lt].get(e);
    return r || this[Lt].set(e, r = {}), r;
  }
  set state(t) {
    (this[Lt] || (this[Lt] = new Map())).set(this.params, t);
  }
  set path(t) {
    (this[Xe] != t ? (this[Xe] = t, true) : false) && this.router.touch();
  }
  get isActive() {
    return !!this[ee];
  }
  resolve() {
    let t = this.router[at];
    if (!(this[at] != t ? (this[at] = t, true) : false))
      return;
    let e = this.route, r = this[te], s = this.router.path, n = e.match(s), o = this[ee], l = this[Q], h = n != l, a = n && n[this[re]];
    return n && (this[ee] = true, this[Q] = n, n[this[re]] = s), n && (h || a != s) && this[gi](n, l, a), !o && n && this[mi](), !n && (o || o === null) && (this[ee] = false, this[yi]()), this[Q];
  }
  [mi]() {
    var t, e;
    return this.node.flags.remove("not-routed"), this.node.flags.add("routed"), (e = (t = this.node) == null ? void 0 : t.routeDidEnter) == null ? void 0 : e.call(t, this);
  }
  [gi](t, e, r = "") {
    var s, n;
    return (n = (s = this.node) == null ? void 0 : s.routeDidResolve) == null ? void 0 : n.call(s, this, t, e, r);
  }
  [yi]() {
    var t, e;
    return this.node.flags.add("not-routed"), this.node.flags.remove("routed"), (e = (t = this.node) == null ? void 0 : t.routeDidLeave) == null ? void 0 : e.call(t, this);
  }
}, bi = class extends Ze {
  [mi]() {
    return this;
  }
  [gi]() {
    return this;
  }
  [yi]() {
    return this;
  }
  resolve() {
    let t = this.router[at];
    if (!(this[at] != t ? (this[at] = t, true) : false))
      return;
    let e = this[te], r = this.route, s = this.router.path, n = this.route.resolve(s), o = this.route.match(s);
    o && (this[Q] = o, this[Q][this[re]] = s), e.sticky && this[Q] && (n = this[Q][this[re]]), (this[Qe] != n ? (this[Qe] = n, true) : false) && this.node.nodeName == "A" && this.node.setAttribute("href", n), this.node.flags.toggle("active", !!o);
  }
  go() {
    return this.resolve(), this[te] && this[te].replace ? this.router.replace(this[Qe]) : this.router.go(this[Qe]);
  }
}, sl = class {
  get router() {
    return this.ownerDocument.router;
  }
};
pi(I.prototype, sl.prototype);
var nl = class {
  set route(t) {
    if (this[ft]) {
      this[ft].path = t;
      return;
    }
    let e = t[0] != "/" ? this[Zo].route : null;
    this[ft] = new Ze(this, t, e, this.route__), this[tl] = this.end$routed;
  }
  get route() {
    return this[ft];
  }
  set route\u039Eto(t) {
    var e = this;
    if (this[H]) {
      this[H].path = t;
      return;
    }
    let r = t[0] != "/" ? this[Zo].route : null;
    this[ft] = this[H] = new bi(this, t, r, this.routeTo__), this[tl] = this.end$routeTo, e.onclick = function(s) {
      if (!s.altKey && !s.metaKey && !s[el])
        return s.preventDefault(), s[el] = e[H], e[H].go();
    };
  }
  end$routed() {
    if (!(this[ft] && (this[ft].resolve(), !this[ft].isActive)) && this.visit)
      return this.visit();
  }
  end$routeTo() {
    if (this[H] && this[H].resolve(), this.visit)
      return this.visit();
  }
  routeDidEnter(t) {
    return this[Fa]();
  }
  routeDidLeave(t) {
    return this[Ia]();
  }
  routeDidResolve(t, e, r) {
    var s = this;
    this.routed instanceof Function && e != r && s.router.queue.add(async function() {
      s.suspend();
      let n = await s.routed(e, t.state, r);
      return s.unsuspend();
    });
  }
};
pi(v.prototype, nl.prototype);
function J(i) {
  let t;
  return i ? (t = i.toIterable) ? t.call(i) : i : [];
}
function vi(i, t) {
  let e = Object.getOwnPropertyDescriptors(t);
  return delete e.constructor, Object.defineProperties(i, e), i;
}
var Fd = Symbol.for("#__initor__"), Id = Symbol.for("#__inited__"), ie = Symbol.for("##reactive"), gt = Symbol.for("##referenced"), se = Symbol.for("##dereferenced"), tr = Symbol.for("#map"), ol = Symbol.for("#__init__"), ll = Symbol.for("#child"), ne = Symbol.for("#reactions"), O = {TOUCHING: 1 << 1, STALE: 1 << 2, OBJECT: 1 << 3, RUNNING: 1 << 4, INVALIDATING: 1 << 5, POSSIBLY_STALE: 1 << 6, AUTORUN: 1 << 7}, D = 0, hl = false;
var Aa = 0, ul = 1, xi = {META: new Map(), VALUE: new Map(), REF: new Map()}, z = Symbol.for("~"), al = Symbol.for("~~"), Si = function(i, t) {
  return t.has(i) || t.set(i, Symbol()), t.get(i);
}, er = function(i) {
  return typeof i == "symbol" ? Si(i, xi.VALUE) : Symbol.for(i);
}, wi = function(i) {
  return typeof i == "symbol" ? Si(i, xi.META) : Symbol.for("#" + i + "__");
}, Ei = function(i) {
  return typeof i == "symbol" ? Si(i, xi.REF) : Symbol.for("~" + i);
}, T = function(i, t) {
  return D && w.add(i[z]), t;
}, U = function(i, t) {
  return i[z].invalidated(0), t;
}, Mt = function(i, t, e) {
  let r = i[z];
  return r || (r = i[z] = new rr(O.OBJECT), Object.defineProperties(i, e)), t && r.addSubscriber(t), i;
}, Ti = function(i, t) {
  let e = i[z];
  return e && e.removeSubscriber(t), i;
}, fl = class {
  constructor(t) {
    this.changes = new Map(), this.cleanup(), t && this.reset(t);
  }
  reset(t = []) {
    return this.array = t, this.initialLength = t.length;
  }
  cleanup() {
    return this.idx = 0, this.array = null, this.changes.clear(), this.dirty = false;
  }
  push(t) {
    if (this.initialLength == 0) {
      this.array.indexOf(t) < 0 && (this.changes.set(t, 1), this.array.push(t), this.idx++);
      return;
    }
    let e = this.array[this.idx];
    if (e === t)
      return ++this.idx;
    {
      let r = this.array.indexOf(t), s = this.changes.get(t);
      if (r === -1)
        this.array.splice(this.idx, 0, t), this.changes.set(t, 1), this.idx++;
      else if (r === this.idx + 1)
        e && this.changes.set(e, -1), this.array.splice(this.idx, 1), ++this.idx;
      else {
        if (r < this.idx)
          return;
        r > this.idx && this.array.splice(r, 1), this.array.splice(this.idx, 0, t);
      }
      if (s == -1)
        return this.changes.delete(t);
    }
  }
  end() {
    if (this.array.length >= this.idx)
      for (; this.array.length > this.idx; )
        this.changes.set(this.array.pop(), -1);
    return this.array;
  }
  patch() {
    return this.end();
  }
};
function Oi(i) {
  var t, e;
  let r = Object.getOwnPropertyDescriptors(i.prototype);
  return t = r.name, delete r.name, e = r.constructor, delete r.constructor, r;
}
function ja() {
  if (!!(hl != true ? (hl = true, true) : false))
    return cr.on("inited", function(i) {
      let t = i[al];
      if (t) {
        let e = i instanceof I, r = i[z] || (i[z] = {});
        for (let s = 0, n = Object.keys(t), o = n.length, l, h; s < o; s++) {
          l = n[s], h = t[l];
          let a = r[l] = new oe(i[l], i, h);
          e || a.call();
        }
        e && (R(i, "mount", function() {
          var s;
          s = [];
          for (let n = 0, o = J(Object.values(r)), l = o.length; n < l; n++) {
            let h = o[n];
            s.push(h instanceof oe && h.activate());
          }
          return s;
        }), R(i, "unmount", function() {
          var s;
          s = [];
          for (let n = 0, o = J(Object.values(r)), l = o.length; n < l; n++) {
            let h = o[n];
            s.push(h instanceof oe && h.deactivate());
          }
          return s;
        }));
      }
    });
}
function qa(i, t = al) {
  return i.hasOwnProperty(t) || (i[t] = Object.assign({}, i[t] || {})), i[t];
}
var ir = class {
  constructor(t, e = 0) {
    this.depth = e, this.parent = t, this.target = null, this.patcher = new fl();
  }
  get active\u03A6() {
    return w == this;
  }
  get root\u03A6() {
    return this == Ft;
  }
  reset(t) {
    return this.tracking = true, this.target = t, this.beacon = t.beacon, this.patcher.reset(t.observing || (t.observing = [])), this;
  }
  add(t) {
    if (this.tracking && t)
      return this.patcher.push(t);
  }
  react(t) {
    return Ft.reactions.add(t);
  }
  push(t) {
    return w = this.child.reset(t);
  }
  pop() {
    let t = null;
    if (this.beacon) {
      t = this.patcher.end();
      let e = this.patcher.changes;
      if (e.size)
        for (let [s, n] of J(e))
          n === 1 ? s.addSubscriber(this.beacon) : s.removeSubscriber(this.beacon);
    }
    return this.patcher.cleanup(), this.target = this.beacon = null, w = this.parent, w == Ft && Ft.flush(), t;
  }
  get child() {
    return this[ll] || (this[ll] = new ir(this, this.depth + 1));
  }
  get reactions() {
    return this[ne] || (this[ne] = new Set());
  }
  flush() {
    if (!this[ne])
      return;
    let t = this[ne];
    this[ne] = null;
    for (let e of J(t))
      e.call();
  }
}, cl = class extends ir {
  add() {
    return true;
  }
}, w = new cl(null, 0), Ft = w, za = function() {
  return w.tracking = false;
}, dl = function(i, t, e, r, s) {
  let n = i[e], o = i[s];
  return o || (o = i[s] = new rr(0, r, n, t)), w.add(o, i), n;
}, pl = function(i, t, e, r, s, n) {
  let o = i[e];
  if (r != o) {
    i[e] = r;
    let l = i[n];
    l && l.changed(0, r, o);
  }
}, rr = class {
  constructor(t, e, r, s) {
    return this.id = ul++, this.observer = null, this.observers = null, r && r[gt] && r[gt](this), this;
  }
  changed(t, e, r) {
    if (Aa++, r && r[se] && r[se](this, e), e && e[gt] && e[gt](this, r), this.observer && this.observer.invalidated(t + 1, this, e, r), this.observers)
      for (let s = 0, n = J(this.observers), o = n.length; s < o; s++)
        n[s].invalidated(t + 1, this, e, r);
    w == Ft && w.flush();
  }
  invalidated(t, e) {
    if (this.observer && this.observer.invalidated(t + 1, this), this.observers)
      for (let r = 0, s = J(this.observers), n = s.length; r < n; r++)
        s[r].invalidated(t + 1, this);
    return t == 0 && w == Ft && w.flush(), true;
  }
  addSubscriber(t) {
    this.observer ? (this.observers || (this.observers = []), this.observers.push(t)) : this.observer = t;
  }
  removeSubscriber(t) {
    if (this.observer == t)
      return this.observer = null;
    let e = this.observers, r = e.indexOf(t);
    r >= 0 && e.splice(r, 1);
  }
  reportChanged() {
    return this.changed(0);
  }
  reportObserved() {
    return w.add(this);
  }
};
function Ka(i) {
  return new rr(null, null, null, i);
}
var ml = class extends Array {
  push() {
    return U(this, super.push(...arguments));
  }
  pop() {
    return U(this, super.pop(...arguments));
  }
  unshift() {
    return U(this, super.unshift(...arguments));
  }
  shift() {
    return U(this, super.shift(...arguments));
  }
  splice() {
    return U(this, super.splice(...arguments));
  }
  at() {
    return T(this, super.at(...arguments));
  }
  map() {
    return T(this, super.map(...arguments));
  }
  flatMap() {
    return T(this, super.flatMap(...arguments));
  }
  flat() {
    return T(this, super.flat(...arguments));
  }
  filter() {
    return T(this, super.filter(...arguments));
  }
  find() {
    return T(this, super.find(...arguments));
  }
  slice() {
    return T(this, super.slice(...arguments));
  }
  sort() {
    return T(this, super.sort(...arguments));
  }
  get len() {
    return T(this, this.length);
  }
  set len(t) {
    this.length = t, U(this);
  }
  toIterable() {
    return D && w.add(this[z]), this;
  }
  [Symbol.iterator]() {
    return T(this, super[Symbol.iterator](...arguments));
  }
}, gl = Oi(ml), yl = class {
  get len() {
    return this.length;
  }
  set len(t) {
    this.length = t;
  }
  get [ie]() {
    return Mt(this, null, gl);
  }
  [gt](t) {
    return Mt(this, t, gl);
  }
  [se](t) {
    return Ti(this, t);
  }
};
vi(Array.prototype, yl.prototype);
var _l = class extends Set {
  has() {
    return T(this, super.has(...arguments));
  }
  keys() {
    return T(this, super.keys(...arguments));
  }
  values() {
    return T(this, super.values(...arguments));
  }
  entries() {
    return T(this, super.entries(...arguments));
  }
  add() {
    return U(this, super.add(...arguments));
  }
  clear() {
    return U(this, super.clear(...arguments));
  }
  delete() {
    return U(this, super.delete(...arguments));
  }
}, bl = Oi(_l), vl = class {
  get [ie]() {
    return Mt(this, null, bl);
  }
  [gt](t) {
    return Mt(this, t, bl);
  }
  [se](t) {
    return Ti(this, t);
  }
};
vi(Set.prototype, vl.prototype);
var xl = class extends Map {
  get() {
    return T(this, super.get(...arguments));
  }
  has() {
    return T(this, super.has(...arguments));
  }
  keys() {
    return T(this, super.keys(...arguments));
  }
  values() {
    return T(this, super.values(...arguments));
  }
  entries() {
    return T(this, super.entries(...arguments));
  }
  set() {
    return U(this, super.set(...arguments));
  }
  clear() {
    return U(this, super.clear(...arguments));
  }
  delete() {
    return U(this, super.delete(...arguments));
  }
}, Sl = Oi(xl), wl = class {
  get [ie]() {
    return Mt(this, null, Sl);
  }
  [gt](t) {
    return Mt(this, t, Sl);
  }
  [se](t) {
    return Ti(this, t);
  }
};
vi(Map.prototype, wl.prototype);
var El = class {
  constructor(t, e = {}) {
    var r = this, s;
    this.name = t, this.options = e;
    let n = this.key = er(t), o = Ei(t), l = r.descriptor = {enumerable: (s = e.enumerable) != null ? s : true, configurable: false, get: function() {
      return D ? dl(this, t, n, r, o) : this[n];
    }, set: function(a) {
      return D || !!this[o] ? pl(this, t, n, a, r, o) : this[n] = a;
    }}, h = r.lazyDescriptor = {enumerable: false, configurable: true, get: function() {
      return D ? (Object.defineProperty(this, t, l), this[t]) : this[n];
    }, set: function(a) {
      return this[n] = a, this[o] = null, Object.defineProperty(this, t, l);
    }};
  }
}, Tl = class {
  constructor(t = null) {
    this[ol](t);
  }
  [ol](t = null) {
    var e;
    this[tr] = t && (e = t[tr]) !== void 0 ? e : new Map();
  }
  for(t) {
    let e = this[tr].get(t);
    return e || this[tr].set(t, e = []), e;
  }
  get(t) {
    let e = this.for(t);
    return e[z] || e[ie], D && T(e), e;
  }
  add(t, e) {
    return this.for(t).push(e);
  }
  delete(t, e) {
    let r = this.for(t), s = r.indexOf(e);
    r.splice(s, 1);
  }
}, Ol = class {
  constructor(t, e) {
    var r = this;
    this.name = t, this.key = e, this.index = new Tl();
    let s = Ei(t), n = r.descriptor = {enumerable: true, configurable: false, get: function() {
      return D ? dl(this, t, e, r, s) : this[e];
    }, set: function(l) {
      let h = this[e];
      if (D || !!this[s] ? pl(this, t, e, l, r, s) : this[e] = l, h != l && (h && r.index.delete(h, this), l))
        return r.index.add(l, this);
    }}, o = r.lazyDescriptor = {set: function(l) {
      return this[e] = l, l && r.index.add(l, this), Object.defineProperty(this, t, n), this[s] = null;
    }};
  }
  where(t) {
    return this.index.get(t);
  }
}, sr = class {
  constructor(t, e, r) {
    this.observing = null, this.observers = null, this.flags = 68, this.target = t, this.func = e, this.vkey = r, this.version = 0;
  }
  get beacon() {
    return this;
  }
  addSubscriber(t) {
    this.observer ? (this.observers || (this.observers = []), this.observers.push(t)) : this.observer = t;
  }
  removeSubscriber(t) {
    if (this.observer == t)
      return this.observer = null;
    let e = this.observers, r = e.indexOf(this);
    r >= 0 && e.splice(r, 1);
  }
  invalidated(t, e) {
    if (this.flags |= O.STALE | O.POSSIBLY_STALE, this.observer && this.observer.invalidated(t, this), !!this.observers) {
      for (let r = 0, s = J(this.observers), n = s.length; r < n; r++)
        s[r].invalidated(t, this);
      return this;
    }
  }
  value() {
    if (D && w.add(this), (this.flags & O.POSSIBLY_STALE) == 0)
      return this.target[this.vkey];
    D++, this.flags |= O.RUNNING, w.push(this);
    let t = this.func.call(this.target);
    w.pop(this);
    let e = this.target[this.vkey];
    return this.target[this.vkey] = t, this.flags &= ~(O.STALE | O.POSSIBLY_STALE | O.RUNNING), t !== e && this.version++, D--, t;
  }
}, Nl = class {
  constructor(t, e) {
    this.name = t;
    let r = Ei(t), s = er(t), n = this.descriptor = {enumerable: false, configurable: false, get: function() {
      return this[r].value();
    }}, o = this.lazyDescriptor = {enumerable: false, get: function() {
      let l = this[r] = new sr(this, e, s);
      return Object.defineProperty(this, t, n), l.value();
    }};
  }
}, oe = class {
  get beacon() {
    return this;
  }
  constructor(t, e, r = {}) {
    this.cb = t, this.context = e, this.options = r, this.flags = 0, this.id = ul++, this.cachedComputedVersions = new WeakMap(), this.checkComputedValues = new Set(), this.observing = [], this.timeout = null;
  }
  get running\u03A6() {
    return this.flags & O.RUNNING;
  }
  invalidated(t, e) {
    return e instanceof sr ? (this.flags |= O.POSSIBLY_STALE, this.checkComputedValues.add(e)) : this.flags |= O.STALE, w.react(this);
  }
  activate() {
    return this.observing = [], this.cachedComputedVersions = new WeakMap(), this.checkComputedValues = new Set(), this.call(), this;
  }
  deactivate() {
    return this.dispose();
  }
  call() {
    var t = this;
    if (D && console.warn("should not call reaction inside an autorunning context?"), this.flags & O.POSSIBLY_STALE && (this.flags & O.STALE) == 0) {
      let e = false;
      for (let r of J(this.checkComputedValues)) {
        let s = this.cachedComputedVersions.get(r);
        r.value();
        let n = r.version;
        if (s != n) {
          e = true;
          break;
        }
      }
      if (!e) {
        this.flags &= ~O.POSSIBLY_STALE, this.checkComputedValues.clear();
        return;
      }
    }
    if (this.options.delay) {
      clearTimeout(this.timeout);
      let e = this.options.delay;
      typeof e != "number" && (e = 1e3), t.timeout = setTimeout(function() {
        return t.run();
      }, e);
      return;
    }
    return t.run();
  }
  run() {
    D++, this.flags |= O.RUNNING;
    let t = w.push(this), e = this.cb.call(this.context, za), r = w.pop(this);
    this.observing = r, this.checkComputedValues.clear();
    for (let s = 0, n = J(r), o = n.length; s < o; s++) {
      let l = n[s];
      l instanceof sr && this.cachedComputedVersions.set(l, l.version);
    }
    return this.flags &= ~(O.RUNNING | O.STALE | O.POSSIBLY_STALE), D--, k(), e;
  }
  dispose() {
    this.timeout && clearTimeout(this.timeout);
    for (let t = 0, e = J(this.observing), r = e.length; t < r; t++)
      e[t].removeSubscriber(this);
    return this.observing = this.context = this.cb = this.checkComputedValues = this.cachedComputedVersions = null, this;
  }
}, Ni = class {
  constructor(t, e) {
    this.context = e, this.cb = t;
  }
  run(t = this.context, e = []) {
    w.push(this);
    let r = this.cb.apply(t, e);
    return w.pop(this), r;
  }
};
function Va(i, t = {}) {
  let e = new oe(i, globalThis, t);
  return e.call(), e;
}
function Ha(i) {
  return i[ie];
}
function Ua(i) {
  return new Ni(i, globalThis).run();
}
function Ba(i) {
  return i && i[z] && i[z].invalidated(0), i;
}
function Ya(i) {
  return i && i[z] && i[z].reportObserved(), i;
}
function Wa(i, t, e) {
  let r = wi(t);
  return (i[r] = new Nl(t, e.get)).lazyDescriptor;
}
function Ga(i, t, e) {
  let r = wi(t), s = er(t), n = this[0] || {}, o = i[r] = new El(t, n);
  return e ? (Object.defineProperty(i, s, Object.assign({}, e)), o.lazyDescriptor) : (Object.defineProperty(i, t, o.lazyDescriptor), null);
}
function Xa(i, t, e) {
  let r = wi(t);
  return i.constructor[t], (i[r] = new Ol(t, er(t))).lazyDescriptor;
}
function Qa(i, t, e) {
  let r = qa(i), s = this[0] || {};
  return s.flags = O.AUTORUN, ja(), r[t] = s, e;
}
function Ja(i, t, e) {
  if (e.value) {
    let r = new Ni(e.value, null);
    e.value = function() {
      return r.run(this, arguments);
    };
  }
  return e;
}