From 88fcf76eab27e185681713f3f4206ac5189adfd9 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Mon, 4 May 2026 23:18:46 +0000 Subject: [PATCH 01/42] feat: set up Angular infrastructure for TableWidget --- .../bigframes/display/table_widget_angular.js | 4777 +++++++++ .../table_widget_angular/.editorconfig | 17 + .../display/table_widget_angular/.gitignore | 44 + .../display/table_widget_angular/.prettierrc | 12 + .../display/table_widget_angular/README.md | 59 + .../display/table_widget_angular/angular.json | 73 + .../display/table_widget_angular/bundle.js | 10 + .../table_widget_angular/package-lock.json | 9506 +++++++++++++++++ .../display/table_widget_angular/package.json | 34 + .../table_widget_angular/public/favicon.ico | Bin 0 -> 15086 bytes .../src/app/app.config.ts | 11 + .../table_widget_angular/src/app/app.css | 0 .../table_widget_angular/src/app/app.html | 344 + .../src/app/app.routes.ts | 3 + .../table_widget_angular/src/app/app.spec.ts | 23 + .../table_widget_angular/src/app/app.ts | 36 + .../table_widget_angular/src/index.html | 13 + .../display/table_widget_angular/src/main.ts | 21 + .../table_widget_angular/src/styles.css | 1 + .../table_widget_angular/tsconfig.app.json | 15 + .../table_widget_angular/tsconfig.json | 33 + .../table_widget_angular/tsconfig.spec.json | 15 + 22 files changed, 15047 insertions(+) create mode 100644 packages/bigframes/bigframes/display/table_widget_angular.js create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/.editorconfig create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/.gitignore create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/.prettierrc create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/README.md create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/angular.json create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/bundle.js create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/package-lock.json create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/package.json create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/public/favicon.ico create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/app.config.ts create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/app.css create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/app.html create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/app.routes.ts create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/index.html create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/main.ts create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/styles.css create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/tsconfig.app.json create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/tsconfig.json create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/tsconfig.spec.json diff --git a/packages/bigframes/bigframes/display/table_widget_angular.js b/packages/bigframes/bigframes/display/table_widget_angular.js new file mode 100644 index 000000000000..3e39bcbf23aa --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular.js @@ -0,0 +1,4777 @@ +// dist/table-widget-angular/browser/main.js +var dc = Object.defineProperty; +var fc = Object.defineProperties; +var pc = Object.getOwnPropertyDescriptors; +var ni = Object.getOwnPropertySymbols; +var hc = Object.prototype.hasOwnProperty; +var gc = Object.prototype.propertyIsEnumerable; +var ri = (e6, t, n) => t in e6 ? dc(e6, t, { enumerable: true, configurable: true, writable: true, value: n }) : e6[t] = n; +var A = (e6, t) => { + for (var n in t ||= {}) + hc.call(t, n) && ri(e6, n, t[n]); + if (ni) + for (var n of ni(t)) + gc.call(t, n) && ri(e6, n, t[n]); + return e6; +}; +var B = (e6, t) => fc(e6, pc(t)); +var S = null; +var Ft = false; +var Wn = 1; +var mc = null; +var G = Symbol("SIGNAL"); +function y(e6) { + let t = S; + return S = e6, t; +} +function Lt() { + return S; +} +var Pt = { version: 0, lastCleanEpoch: 0, dirty: false, producers: void 0, producersTail: void 0, consumers: void 0, consumersTail: void 0, recomputing: false, consumerAllowSignalWrites: false, consumerIsAlwaysLive: false, kind: "unknown", producerMustRecompute: () => false, producerRecomputeValue: () => { +}, consumerMarkedDirty: () => { +}, consumerOnSignalRead: () => { +} }; +function oi(e6) { + if (Ft) + throw new Error(""); + if (S === null) + return; + S.consumerOnSignalRead(e6); + let t = S.producersTail; + if (t !== void 0 && t.producer === e6) + return; + let n, r = S.recomputing; + if (r && (n = t !== void 0 ? t.nextProducer : S.producers, n !== void 0 && n.producer === e6)) { + S.producersTail = n, n.lastReadVersion = e6.version; + return; + } + let o = e6.consumersTail; + if (o !== void 0 && o.consumer === S && (!r || Dc(o, S))) + return; + let i = Me(S), s = { producer: e6, consumer: S, nextProducer: n, prevConsumer: o, lastReadVersion: e6.version, nextConsumer: void 0 }; + S.producersTail = s, t !== void 0 ? t.nextProducer = s : S.producers = s, i && li(e6, s); +} +function ii() { + Wn++; +} +function si(e6) { + if (!(Me(e6) && !e6.dirty) && !(!e6.dirty && e6.lastCleanEpoch === Wn)) { + if (!e6.producerMustRecompute(e6) && !Qn(e6)) { + Gn(e6); + return; + } + e6.producerRecomputeValue(e6), Gn(e6); + } +} +function qn(e6) { + if (e6.consumers === void 0) + return; + let t = Ft; + Ft = true; + try { + for (let n = e6.consumers; n !== void 0; n = n.nextConsumer) { + let r = n.consumer; + r.dirty || yc(r); + } + } finally { + Ft = t; + } +} +function Zn() { + return S?.consumerAllowSignalWrites !== false; +} +function yc(e6) { + e6.dirty = true, qn(e6), e6.consumerMarkedDirty?.(e6); +} +function Gn(e6) { + e6.dirty = false, e6.lastCleanEpoch = Wn; +} +function Yn(e6) { + return e6 && ai(e6), y(e6); +} +function ai(e6) { + e6.producersTail = void 0, e6.recomputing = true; +} +function ci(e6, t) { + y(t), e6 && ui(e6); +} +function ui(e6) { + e6.recomputing = false; + let t = e6.producersTail, n = t !== void 0 ? t.nextProducer : e6.producers; + if (n !== void 0) { + if (Me(e6)) + do + n = Kn(n); + while (n !== void 0); + t !== void 0 ? t.nextProducer = void 0 : e6.producers = void 0; + } +} +function Qn(e6) { + for (let t = e6.producers; t !== void 0; t = t.nextProducer) { + let n = t.producer, r = t.lastReadVersion; + if (r !== n.version || (si(n), r !== n.version)) + return true; + } + return false; +} +function jt(e6) { + if (Me(e6)) { + let t = e6.producers; + for (; t !== void 0; ) + t = Kn(t); + } + e6.producers = void 0, e6.producersTail = void 0, e6.consumers = void 0, e6.consumersTail = void 0; +} +function li(e6, t) { + let n = e6.consumersTail, r = Me(e6); + if (n !== void 0 ? (t.nextConsumer = n.nextConsumer, n.nextConsumer = t) : (t.nextConsumer = void 0, e6.consumers = t), t.prevConsumer = n, e6.consumersTail = t, !r) + for (let o = e6.producers; o !== void 0; o = o.nextProducer) + li(o.producer, o); +} +function Kn(e6) { + let t = e6.producer, n = e6.nextProducer, r = e6.nextConsumer, o = e6.prevConsumer; + if (e6.nextConsumer = void 0, e6.prevConsumer = void 0, r !== void 0 ? r.prevConsumer = o : t.consumersTail = o, o !== void 0) + o.nextConsumer = r; + else if (t.consumers = r, !Me(t)) { + let i = t.producers; + for (; i !== void 0; ) + i = Kn(i); + } + return n; +} +function Me(e6) { + return e6.consumerIsAlwaysLive || e6.consumers !== void 0; +} +function di(e6) { + mc?.(e6); +} +function Dc(e6, t) { + let n = t.producersTail; + if (n !== void 0) { + let r = t.producers; + do { + if (r === e6) + return true; + if (r === n) + break; + r = r.nextProducer; + } while (r !== void 0); + } + return false; +} +function fi(e6, t) { + return Object.is(e6, t); +} +function vc() { + throw new Error(); +} +var pi = vc; +function hi(e6) { + pi(e6); +} +function Jn(e6) { + pi = e6; +} +var Ec = null; +function Xn(e6, t) { + let n = Object.create(yi); + n.value = e6, t !== void 0 && (n.equal = t); + let r = () => gi(n); + return r[G] = n, di(n), [r, (s) => er(n, s), (s) => mi(n, s)]; +} +function gi(e6) { + return oi(e6), e6.value; +} +function er(e6, t) { + Zn() || hi(e6), e6.equal(e6.value, t) || (e6.value = t, Ic(e6)); +} +function mi(e6, t) { + Zn() || hi(e6), er(e6, t(e6.value)); +} +var yi = B(A({}, Pt), { equal: fi, value: void 0, kind: "signal" }); +function Ic(e6) { + e6.version++, ii(), qn(e6), Ec?.(e6); +} +function N(e6) { + return typeof e6 == "function"; +} +function Bt(e6) { + let n = e6((r) => { + Error.call(r), r.stack = new Error().stack; + }); + return n.prototype = Object.create(Error.prototype), n.prototype.constructor = n, n; +} +var Vt = Bt((e6) => function(n) { + e6(this), this.message = n ? `${n.length} errors occurred during unsubscription: +${n.map((r, o) => `${o + 1}) ${r.toString()}`).join(` + `)}` : "", this.name = "UnsubscriptionError", this.errors = n; +}); +function Ke(e6, t) { + if (e6) { + let n = e6.indexOf(t); + 0 <= n && e6.splice(n, 1); + } +} +var b = class e { + constructor(t) { + this.initialTeardown = t, this.closed = false, this._parentage = null, this._finalizers = null; + } + unsubscribe() { + let t; + if (!this.closed) { + this.closed = true; + let { _parentage: n } = this; + if (n) + if (this._parentage = null, Array.isArray(n)) + for (let i of n) + i.remove(this); + else + n.remove(this); + let { initialTeardown: r } = this; + if (N(r)) + try { + r(); + } catch (i) { + t = i instanceof Vt ? i.errors : [i]; + } + let { _finalizers: o } = this; + if (o) { + this._finalizers = null; + for (let i of o) + try { + Di(i); + } catch (s) { + t = t ?? [], s instanceof Vt ? t = [...t, ...s.errors] : t.push(s); + } + } + if (t) + throw new Vt(t); + } + } + add(t) { + var n; + if (t && t !== this) + if (this.closed) + Di(t); + else { + if (t instanceof e) { + if (t.closed || t._hasParent(this)) + return; + t._addParent(this); + } + (this._finalizers = (n = this._finalizers) !== null && n !== void 0 ? n : []).push(t); + } + } + _hasParent(t) { + let { _parentage: n } = this; + return n === t || Array.isArray(n) && n.includes(t); + } + _addParent(t) { + let { _parentage: n } = this; + this._parentage = Array.isArray(n) ? (n.push(t), n) : n ? [n, t] : t; + } + _removeParent(t) { + let { _parentage: n } = this; + n === t ? this._parentage = null : Array.isArray(n) && Ke(n, t); + } + remove(t) { + let { _finalizers: n } = this; + n && Ke(n, t), t instanceof e && t._removeParent(this); + } +}; +b.EMPTY = (() => { + let e6 = new b(); + return e6.closed = true, e6; +})(); +var tr = b.EMPTY; +function Ht(e6) { + return e6 instanceof b || e6 && "closed" in e6 && N(e6.remove) && N(e6.add) && N(e6.unsubscribe); +} +function Di(e6) { + N(e6) ? e6() : e6.unsubscribe(); +} +var V = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: false, useDeprecatedNextContext: false }; +var _e = { setTimeout(e6, t, ...n) { + let { delegate: r } = _e; + return r?.setTimeout ? r.setTimeout(e6, t, ...n) : setTimeout(e6, t, ...n); +}, clearTimeout(e6) { + let { delegate: t } = _e; + return (t?.clearTimeout || clearTimeout)(e6); +}, delegate: void 0 }; +function vi(e6) { + _e.setTimeout(() => { + let { onUnhandledError: t } = V; + if (t) + t(e6); + else + throw e6; + }); +} +function nr() { +} +var Ei = rr("C", void 0, void 0); +function Ii(e6) { + return rr("E", void 0, e6); +} +function Ci(e6) { + return rr("N", e6, void 0); +} +function rr(e6, t, n) { + return { kind: e6, value: t, error: n }; +} +var de = null; +function Se(e6) { + if (V.useDeprecatedSynchronousErrorHandling) { + let t = !de; + if (t && (de = { errorThrown: false, error: null }), e6(), t) { + let { errorThrown: n, error: r } = de; + if (de = null, n) + throw r; + } + } else + e6(); +} +function wi(e6) { + V.useDeprecatedSynchronousErrorHandling && de && (de.errorThrown = true, de.error = e6); +} +var fe = class extends b { + constructor(t) { + super(), this.isStopped = false, t ? (this.destination = t, Ht(t) && t.add(this)) : this.destination = Tc; + } + static create(t, n, r) { + return new be(t, n, r); + } + next(t) { + this.isStopped ? ir(Ci(t), this) : this._next(t); + } + error(t) { + this.isStopped ? ir(Ii(t), this) : (this.isStopped = true, this._error(t)); + } + complete() { + this.isStopped ? ir(Ei, this) : (this.isStopped = true, this._complete()); + } + unsubscribe() { + this.closed || (this.isStopped = true, super.unsubscribe(), this.destination = null); + } + _next(t) { + this.destination.next(t); + } + _error(t) { + try { + this.destination.error(t); + } finally { + this.unsubscribe(); + } + } + _complete() { + try { + this.destination.complete(); + } finally { + this.unsubscribe(); + } + } +}; +var Cc = Function.prototype.bind; +function or(e6, t) { + return Cc.call(e6, t); +} +var sr = class { + constructor(t) { + this.partialObserver = t; + } + next(t) { + let { partialObserver: n } = this; + if (n.next) + try { + n.next(t); + } catch (r) { + $t(r); + } + } + error(t) { + let { partialObserver: n } = this; + if (n.error) + try { + n.error(t); + } catch (r) { + $t(r); + } + else + $t(t); + } + complete() { + let { partialObserver: t } = this; + if (t.complete) + try { + t.complete(); + } catch (n) { + $t(n); + } + } +}; +var be = class extends fe { + constructor(t, n, r) { + super(); + let o; + if (N(t) || !t) + o = { next: t ?? void 0, error: n ?? void 0, complete: r ?? void 0 }; + else { + let i; + this && V.useDeprecatedNextContext ? (i = Object.create(t), i.unsubscribe = () => this.unsubscribe(), o = { next: t.next && or(t.next, i), error: t.error && or(t.error, i), complete: t.complete && or(t.complete, i) }) : o = t; + } + this.destination = new sr(o); + } +}; +function $t(e6) { + V.useDeprecatedSynchronousErrorHandling ? wi(e6) : vi(e6); +} +function wc(e6) { + throw e6; +} +function ir(e6, t) { + let { onStoppedNotification: n } = V; + n && _e.setTimeout(() => n(e6, t)); +} +var Tc = { closed: true, next: nr, error: wc, complete: nr }; +var Ti = typeof Symbol == "function" && Symbol.observable || "@@observable"; +function Mi(e6) { + return e6; +} +function _i(e6) { + return e6.length === 0 ? Mi : e6.length === 1 ? e6[0] : function(n) { + return e6.reduce((r, o) => o(r), n); + }; +} +var Ne = (() => { + class e6 { + constructor(n) { + n && (this._subscribe = n); + } + lift(n) { + let r = new e6(); + return r.source = this, r.operator = n, r; + } + subscribe(n, r, o) { + let i = _c(n) ? n : new be(n, r, o); + return Se(() => { + let { operator: s, source: a } = this; + i.add(s ? s.call(i, a) : a ? this._subscribe(i) : this._trySubscribe(i)); + }), i; + } + _trySubscribe(n) { + try { + return this._subscribe(n); + } catch (r) { + n.error(r); + } + } + forEach(n, r) { + return r = Si(r), new r((o, i) => { + let s = new be({ next: (a) => { + try { + n(a); + } catch (c) { + i(c), s.unsubscribe(); + } + }, error: i, complete: o }); + this.subscribe(s); + }); + } + _subscribe(n) { + var r; + return (r = this.source) === null || r === void 0 ? void 0 : r.subscribe(n); + } + [Ti]() { + return this; + } + pipe(...n) { + return _i(n)(this); + } + toPromise(n) { + return n = Si(n), new n((r, o) => { + let i; + this.subscribe((s) => i = s, (s) => o(s), () => r(i)); + }); + } + } + return e6.create = (t) => new e6(t), e6; +})(); +function Si(e6) { + var t; + return (t = e6 ?? V.Promise) !== null && t !== void 0 ? t : Promise; +} +function Mc(e6) { + return e6 && N(e6.next) && N(e6.error) && N(e6.complete); +} +function _c(e6) { + return e6 && e6 instanceof fe || Mc(e6) && Ht(e6); +} +function Sc(e6) { + return N(e6?.lift); +} +function bi(e6) { + return (t) => { + if (Sc(t)) + return t.lift(function(n) { + try { + return e6(n, this); + } catch (r) { + this.error(r); + } + }); + throw new TypeError("Unable to lift unknown Observable type"); + }; +} +function Ni(e6, t, n, r, o) { + return new ar(e6, t, n, r, o); +} +var ar = class extends fe { + constructor(t, n, r, o, i, s) { + super(t), this.onFinalize = i, this.shouldUnsubscribe = s, this._next = n ? function(a) { + try { + n(a); + } catch (c) { + t.error(c); + } + } : super._next, this._error = o ? function(a) { + try { + o(a); + } catch (c) { + t.error(c); + } finally { + this.unsubscribe(); + } + } : super._error, this._complete = r ? function() { + try { + r(); + } catch (a) { + t.error(a); + } finally { + this.unsubscribe(); + } + } : super._complete; + } + unsubscribe() { + var t; + if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) { + let { closed: n } = this; + super.unsubscribe(), !n && ((t = this.onFinalize) === null || t === void 0 || t.call(this)); + } + } +}; +var Ai = Bt((e6) => function() { + e6(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed"; +}); +var oe = (() => { + class e6 extends Ne { + constructor() { + super(), this.closed = false, this.currentObservers = null, this.observers = [], this.isStopped = false, this.hasError = false, this.thrownError = null; + } + lift(n) { + let r = new Ut(this, this); + return r.operator = n, r; + } + _throwIfClosed() { + if (this.closed) + throw new Ai(); + } + next(n) { + Se(() => { + if (this._throwIfClosed(), !this.isStopped) { + this.currentObservers || (this.currentObservers = Array.from(this.observers)); + for (let r of this.currentObservers) + r.next(n); + } + }); + } + error(n) { + Se(() => { + if (this._throwIfClosed(), !this.isStopped) { + this.hasError = this.isStopped = true, this.thrownError = n; + let { observers: r } = this; + for (; r.length; ) + r.shift().error(n); + } + }); + } + complete() { + Se(() => { + if (this._throwIfClosed(), !this.isStopped) { + this.isStopped = true; + let { observers: n } = this; + for (; n.length; ) + n.shift().complete(); + } + }); + } + unsubscribe() { + this.isStopped = this.closed = true, this.observers = this.currentObservers = null; + } + get observed() { + var n; + return ((n = this.observers) === null || n === void 0 ? void 0 : n.length) > 0; + } + _trySubscribe(n) { + return this._throwIfClosed(), super._trySubscribe(n); + } + _subscribe(n) { + return this._throwIfClosed(), this._checkFinalizedStatuses(n), this._innerSubscribe(n); + } + _innerSubscribe(n) { + let { hasError: r, isStopped: o, observers: i } = this; + return r || o ? tr : (this.currentObservers = null, i.push(n), new b(() => { + this.currentObservers = null, Ke(i, n); + })); + } + _checkFinalizedStatuses(n) { + let { hasError: r, thrownError: o, isStopped: i } = this; + r ? n.error(o) : i && n.complete(); + } + asObservable() { + let n = new Ne(); + return n.source = this, n; + } + } + return e6.create = (t, n) => new Ut(t, n), e6; +})(); +var Ut = class extends oe { + constructor(t, n) { + super(), this.destination = t, this.source = n; + } + next(t) { + var n, r; + (r = (n = this.destination) === null || n === void 0 ? void 0 : n.next) === null || r === void 0 || r.call(n, t); + } + error(t) { + var n, r; + (r = (n = this.destination) === null || n === void 0 ? void 0 : n.error) === null || r === void 0 || r.call(n, t); + } + complete() { + var t, n; + (n = (t = this.destination) === null || t === void 0 ? void 0 : t.complete) === null || n === void 0 || n.call(t); + } + _subscribe(t) { + var n, r; + return (r = (n = this.source) === null || n === void 0 ? void 0 : n.subscribe(t)) !== null && r !== void 0 ? r : tr; + } +}; +var Je = class extends oe { + constructor(t) { + super(), this._value = t; + } + get value() { + return this.getValue(); + } + _subscribe(t) { + let n = super._subscribe(t); + return !n.closed && t.next(this._value), n; + } + getValue() { + let { hasError: t, thrownError: n, _value: r } = this; + if (t) + throw n; + return this._throwIfClosed(), r; + } + next(t) { + super.next(this._value = t); + } +}; +function cr(e6, t) { + return bi((n, r) => { + let o = 0; + n.subscribe(Ni(r, (i) => { + r.next(e6.call(t, i, o++)); + })); + }); +} +var ur; +function zt() { + return ur; +} +function W(e6) { + let t = ur; + return ur = e6, t; +} +var xi = Symbol("NotFound"); +function Ae(e6) { + return e6 === xi || e6?.name === "\u0275NotFound"; +} +var g = class extends Error { + code; + constructor(t, n) { + super(Mr(t, n)), this.code = t; + } +}; +function xc(e6) { + return `NG0${Math.abs(e6)}`; +} +function Mr(e6, t) { + return `${xc(e6)}${t ? ": " + t : ""}`; +} +function C(e6) { + for (let t in e6) + if (e6[t] === C) + return t; + throw Error(""); +} +function _r(e6, t) { + return e6 ? t ? `${e6} ${t}` : e6 : t || ""; +} +var Rc = C({ __forward_ref__: C }); +function Qt(e6) { + return e6.__forward_ref__ = Qt, e6; +} +function R(e6) { + return Li(e6) ? e6() : e6; +} +function Li(e6) { + return typeof e6 == "function" && e6.hasOwnProperty(Rc) && e6.__forward_ref__ === Qt; +} +function _(e6) { + return { token: e6.token, providedIn: e6.providedIn || null, factory: e6.factory, value: void 0 }; +} +function rt(e6) { + return { providers: e6.providers || [], imports: e6.imports || [] }; +} +function Kt(e6) { + return Oc(e6, Jt); +} +function Oc(e6, t) { + return e6.hasOwnProperty(t) && e6[t] || null; +} +function kc(e6) { + let t = e6?.[Jt] ?? null; + return t || null; +} +function dr(e6) { + return e6 && e6.hasOwnProperty(Wt) ? e6[Wt] : null; +} +var Jt = C({ \u0275prov: C }); +var Wt = C({ \u0275inj: C }); +var D = class { + _desc; + ngMetadataName = "InjectionToken"; + \u0275prov; + constructor(t, n) { + this._desc = t, this.\u0275prov = void 0, typeof n == "number" ? this.__NG_ELEMENT_ID__ = n : n !== void 0 && (this.\u0275prov = _({ token: this, providedIn: n.providedIn || "root", factory: n.factory })); + } + get multi() { + return this; + } + toString() { + return `InjectionToken ${this._desc}`; + } +}; +function Sr(e6) { + return e6 && !!e6.\u0275providers; +} +var br = C({ \u0275cmp: C }); +var Nr = C({ \u0275dir: C }); +var Ar = C({ \u0275pipe: C }); +var fr = C({ \u0275fac: C }); +var De = C({ __NG_ELEMENT_ID__: C }); +var Ri = C({ __NG_ENV_ID__: C }); +function ot(e6) { + return Rr(e6, "@Component"), e6[br] || null; +} +function xr(e6) { + return Rr(e6, "@Directive"), e6[Nr] || null; +} +function Pi(e6) { + return Rr(e6, "@Pipe"), e6[Ar] || null; +} +function Rr(e6, t) { + if (e6 == null) + throw new g(-919, false); +} +function ji(e6) { + return typeof e6 == "string" ? e6 : e6 == null ? "" : String(e6); +} +var Bi = C({ ngErrorCode: C }); +var Fc = C({ ngErrorMessage: C }); +var Lc = C({ ngTokenPath: C }); +function Or(e6, t) { + return Vi("", -200, t); +} +function Xt(e6, t) { + throw new g(-201, false); +} +function Vi(e6, t, n) { + let r = new g(t, e6); + return r[Bi] = t, r[Fc] = e6, n && (r[Lc] = n), r; +} +function Pc(e6) { + return e6[Bi]; +} +var pr; +function Hi() { + return pr; +} +function x(e6) { + let t = pr; + return pr = e6, t; +} +function kr(e6, t, n) { + let r = Kt(e6); + if (r && r.providedIn == "root") + return r.value === void 0 ? r.value = r.factory() : r.value; + if (n & 8) + return null; + if (t !== void 0) + return t; + Xt(e6, ""); +} +var jc = {}; +var pe = jc; +var Bc = "__NG_DI_FLAG__"; +var hr = class { + injector; + constructor(t) { + this.injector = t; + } + retrieve(t, n) { + let r = he(n) || 0; + try { + return this.injector.get(t, r & 8 ? null : pe, r); + } catch (o) { + if (Ae(o)) + return o; + throw o; + } + } +}; +function Vc(e6, t = 0) { + let n = zt(); + if (n === void 0) + throw new g(-203, false); + if (n === null) + return kr(e6, void 0, t); + { + let r = Hc(t), o = n.retrieve(e6, r); + if (Ae(o)) { + if (r.optional) + return null; + throw o; + } + return o; + } +} +function E(e6, t = 0) { + return (Hi() || Vc)(R(e6), t); +} +function v(e6, t) { + return E(e6, he(t)); +} +function he(e6) { + return typeof e6 > "u" || typeof e6 == "number" ? e6 : 0 | (e6.optional && 8) | (e6.host && 1) | (e6.self && 2) | (e6.skipSelf && 4); +} +function Hc(e6) { + return { optional: !!(e6 & 8), host: !!(e6 & 1), self: !!(e6 & 2), skipSelf: !!(e6 & 4) }; +} +function gr(e6) { + let t = []; + for (let n = 0; n < e6.length; n++) { + let r = R(e6[n]); + if (Array.isArray(r)) { + if (r.length === 0) + throw new g(900, false); + let o, i = 0; + for (let s = 0; s < r.length; s++) { + let a = r[s], c = $c(a); + typeof c == "number" ? c === -1 ? o = a.token : i |= c : o = a; + } + t.push(E(o, i)); + } else + t.push(E(r)); + } + return t; +} +function $c(e6) { + return e6[Bc]; +} +function Re(e6, t) { + let n = e6.hasOwnProperty(fr); + return n ? e6[fr] : null; +} +function en(e6, t) { + e6.forEach((n) => Array.isArray(n) ? en(n, t) : t(n)); +} +function Fr(e6, t) { + return t >= e6.length - 1 ? e6.pop() : e6.splice(t, 1)[0]; +} +var ve = {}; +var H = []; +var ke = new D(""); +var Lr = new D("", -1); +var Pr = new D(""); +var et = class { + get(t, n = pe) { + if (n === pe) { + let o = Vi("", -201); + throw o.name = "\u0275NotFound", o; + } + return n; + } +}; +function tn(e6) { + return { \u0275providers: e6 }; +} +function $i(e6) { + return tn([{ provide: ke, multi: true, useValue: e6 }]); +} +function Ui(...e6) { + return { \u0275providers: jr(true, e6), \u0275fromNgModule: true }; +} +function jr(e6, ...t) { + let n = [], r = /* @__PURE__ */ new Set(), o, i = (s) => { + n.push(s); + }; + return en(t, (s) => { + let a = s; + qt(a, i, [], r) && (o ||= [], o.push(a)); + }), o !== void 0 && zi(o, i), n; +} +function zi(e6, t) { + for (let n = 0; n < e6.length; n++) { + let { ngModule: r, providers: o } = e6[n]; + Br(o, (i) => { + t(i, r); + }); + } +} +function qt(e6, t, n, r) { + if (e6 = R(e6), !e6) + return false; + let o = null, i = dr(e6), s = !i && ot(e6); + if (!i && !s) { + let c = e6.ngModule; + if (i = dr(c), i) + o = c; + else + return false; + } else { + if (s && !s.standalone) + return false; + o = e6; + } + let a = r.has(o); + if (s) { + if (a) + return false; + if (r.add(o), s.dependencies) { + let c = typeof s.dependencies == "function" ? s.dependencies() : s.dependencies; + for (let u of c) + qt(u, t, n, r); + } + } else if (i) { + if (i.imports != null && !a) { + r.add(o); + let u; + en(i.imports, (l) => { + qt(l, t, n, r) && (u ||= [], u.push(l)); + }), u !== void 0 && zi(u, t); + } + if (!a) { + let u = Re(o) || (() => new o()); + t({ provide: o, useFactory: u, deps: H }, o), t({ provide: Pr, useValue: o, multi: true }, o), t({ provide: ke, useValue: () => E(o), multi: true }, o); + } + let c = i.providers; + if (c != null && !a) { + let u = e6; + Br(c, (l) => { + t(l, u); + }); + } + } else + return false; + return o !== e6 && e6.providers !== void 0; +} +function Br(e6, t) { + for (let n of e6) + Sr(n) && (n = n.\u0275providers), Array.isArray(n) ? Br(n, t) : t(n); +} +var Uc = C({ provide: String, useValue: C }); +function Gi(e6) { + return e6 !== null && typeof e6 == "object" && Uc in e6; +} +function zc(e6) { + return !!(e6 && e6.useExisting); +} +function Gc(e6) { + return !!(e6 && e6.useFactory); +} +function Zt(e6) { + return typeof e6 == "function"; +} +var it = new D(""); +var Gt = {}; +var Oi = {}; +var lr; +function st() { + return lr === void 0 && (lr = new et()), lr; +} +var $ = class { +}; +var ge = class extends $ { + parent; + source; + scopes; + records = /* @__PURE__ */ new Map(); + _ngOnDestroyHooks = /* @__PURE__ */ new Set(); + _onDestroyHooks = []; + get destroyed() { + return this._destroyed; + } + _destroyed = false; + injectorDefTypes; + constructor(t, n, r, o) { + super(), this.parent = n, this.source = r, this.scopes = o, yr(t, (s) => this.processProvider(s)), this.records.set(Lr, xe(void 0, this)), o.has("environment") && this.records.set($, xe(void 0, this)); + let i = this.records.get(it); + i != null && typeof i.value == "string" && this.scopes.add(i.value), this.injectorDefTypes = new Set(this.get(Pr, H, { self: true })); + } + retrieve(t, n) { + let r = he(n) || 0; + try { + return this.get(t, pe, r); + } catch (o) { + if (Ae(o)) + return o; + throw o; + } + } + destroy() { + Xe(this), this._destroyed = true; + let t = y(null); + try { + for (let r of this._ngOnDestroyHooks) + r.ngOnDestroy(); + let n = this._onDestroyHooks; + this._onDestroyHooks = []; + for (let r of n) + r(); + } finally { + this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear(), y(t); + } + } + onDestroy(t) { + return Xe(this), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t); + } + runInContext(t) { + Xe(this); + let n = W(this), r = x(void 0), o; + try { + return t(); + } finally { + W(n), x(r); + } + } + get(t, n = pe, r) { + if (Xe(this), t.hasOwnProperty(Ri)) + return t[Ri](this); + let o = he(r), i, s = W(this), a = x(void 0); + try { + if (!(o & 4)) { + let u = this.records.get(t); + if (u === void 0) { + let l = Qc(t) && Kt(t); + l && this.injectableDefInScope(l) ? u = xe(mr(t), Gt) : u = null, this.records.set(t, u); + } + if (u != null) + return this.hydrate(t, u, o); + } + let c = o & 2 ? st() : this.parent; + return n = o & 8 && n === pe ? null : n, c.get(t, n); + } catch (c) { + let u = Pc(c); + throw u === -200 || u === -201 ? new g(u, null) : c; + } finally { + x(a), W(s); + } + } + resolveInjectorInitializers() { + let t = y(null), n = W(this), r = x(void 0), o; + try { + let i = this.get(ke, H, { self: true }); + for (let s of i) + s(); + } finally { + W(n), x(r), y(t); + } + } + toString() { + return "R3Injector[...]"; + } + processProvider(t) { + t = R(t); + let n = Zt(t) ? t : R(t && t.provide), r = qc(t); + if (!Zt(t) && t.multi === true) { + let o = this.records.get(n); + o || (o = xe(void 0, Gt, true), o.factory = () => gr(o.multi), this.records.set(n, o)), n = t, o.multi.push(t); + } + this.records.set(n, r); + } + hydrate(t, n, r) { + let o = y(null); + try { + if (n.value === Oi) + throw Or(""); + return n.value === Gt && (n.value = Oi, n.value = n.factory(void 0, r)), typeof n.value == "object" && n.value && Yc(n.value) && this._ngOnDestroyHooks.add(n.value), n.value; + } finally { + y(o); + } + } + injectableDefInScope(t) { + if (!t.providedIn) + return false; + let n = R(t.providedIn); + return typeof n == "string" ? n === "any" || this.scopes.has(n) : this.injectorDefTypes.has(n); + } + removeOnDestroy(t) { + let n = this._onDestroyHooks.indexOf(t); + n !== -1 && this._onDestroyHooks.splice(n, 1); + } +}; +function mr(e6) { + let t = Kt(e6), n = t !== null ? t.factory : Re(e6); + if (n !== null) + return n; + if (e6 instanceof D) + throw new g(-204, false); + if (e6 instanceof Function) + return Wc(e6); + throw new g(-204, false); +} +function Wc(e6) { + if (e6.length > 0) + throw new g(-204, false); + let n = kc(e6); + return n !== null ? () => n.factory(e6) : () => new e6(); +} +function qc(e6) { + if (Gi(e6)) + return xe(void 0, e6.useValue); + { + let t = Wi(e6); + return xe(t, Gt); + } +} +function Wi(e6, t, n) { + let r; + if (Zt(e6)) { + let o = R(e6); + return Re(o) || mr(o); + } else if (Gi(e6)) + r = () => R(e6.useValue); + else if (Gc(e6)) + r = () => e6.useFactory(...gr(e6.deps || [])); + else if (zc(e6)) + r = (o, i) => E(R(e6.useExisting), i !== void 0 && i & 8 ? 8 : void 0); + else { + let o = R(e6 && (e6.useClass || e6.provide)); + if (Zc(e6)) + r = () => new o(...gr(e6.deps)); + else + return Re(o) || mr(o); + } + return r; +} +function Xe(e6) { + if (e6.destroyed) + throw new g(-205, false); +} +function xe(e6, t, n = false) { + return { factory: e6, value: t, multi: n ? [] : void 0 }; +} +function Zc(e6) { + return !!e6.deps; +} +function Yc(e6) { + return e6 !== null && typeof e6 == "object" && typeof e6.ngOnDestroy == "function"; +} +function Qc(e6) { + return typeof e6 == "function" || typeof e6 == "object" && e6.ngMetadataName === "InjectionToken"; +} +function yr(e6, t) { + for (let n of e6) + Array.isArray(n) ? yr(n, t) : n && Sr(n) ? yr(n.\u0275providers, t) : t(n); +} +function nn(e6, t) { + let n; + e6 instanceof ge ? (Xe(e6), n = e6) : n = new hr(e6); + let r, o = W(n), i = x(void 0); + try { + return t(); + } finally { + W(o), x(i); + } +} +function qi() { + return Hi() !== void 0 || zt() != null; +} +var q = 0; +var m = 1; +var h = 2; +var O = 3; +var ee = 4; +var te = 5; +var rn = 6; +var on = 7; +var k = 8; +var Ee = 9; +var ne = 10; +var P = 11; +var Fe = 12; +var Vr = 13; +var Le = 14; +var Z = 15; +var at = 16; +var Ie = 17; +var sn = 18; +var ie = 19; +var Hr = 20; +var J = 21; +var an = 22; +var ct = 23; +var F = 24; +var cn = 25; +var Pe = 26; +var U = 27; +var Zi = 1; +var un = 7; +var Yi = 8; +var ut = 9; +var re = 10; +function se(e6) { + return Array.isArray(e6) && typeof e6[Zi] == "object"; +} +function ae(e6) { + return Array.isArray(e6) && e6[Zi] === true; +} +function $r(e6) { + return (e6.flags & 4) !== 0; +} +function lt(e6) { + return e6.componentOffset > -1; +} +function Qi(e6) { + return (e6.flags & 1) === 1; +} +function je(e6) { + return !!e6.template; +} +function Be(e6) { + return (e6[h] & 512) !== 0; +} +function Ce(e6) { + return (e6[h] & 256) === 256; +} +var Ki = "svg"; +var Ji = "math"; +function ce(e6) { + for (; Array.isArray(e6); ) + e6 = e6[q]; + return e6; +} +function Xi(e6, t) { + return ce(t[e6]); +} +function Ve(e6, t) { + return ce(t[e6.index]); +} +function es(e6, t) { + return e6.data[t]; +} +function ue(e6, t) { + let n = t[e6]; + return se(n) ? n : n[q]; +} +function ln(e6) { + return (e6[h] & 128) === 128; +} +function dt(e6, t) { + return t == null ? null : e6[t]; +} +function Ur(e6) { + e6[Ie] = 0; +} +function zr(e6) { + e6[h] & 1024 || (e6[h] |= 1024, ln(e6) && pt(e6)); +} +function ft(e6) { + return !!(e6[h] & 9216 || e6[F]?.dirty); +} +function Gr(e6) { + e6[ne].changeDetectionScheduler?.notify(8), e6[h] & 64 && (e6[h] |= 1024), ft(e6) && pt(e6); +} +function pt(e6) { + e6[ne].changeDetectionScheduler?.notify(0); + let t = me(e6); + for (; t !== null && !(t[h] & 8192 || (t[h] |= 8192, !ln(t))); ) + t = me(t); +} +function Wr(e6, t) { + if (Ce(e6)) + throw new g(911, false); + e6[J] === null && (e6[J] = []), e6[J].push(t); +} +function ts(e6, t) { + if (e6[J] === null) + return; + let n = e6[J].indexOf(t); + n !== -1 && e6[J].splice(n, 1); +} +function me(e6) { + let t = e6[O]; + return ae(t) ? t[O] : t; +} +var w = { lFrame: ms(null), bindingsEnabled: true, skipHydrationRootTNode: null }; +var Dr = false; +function ns() { + return w.lFrame.elementDepthCount; +} +function rs() { + w.lFrame.elementDepthCount++; +} +function os() { + w.lFrame.elementDepthCount--; +} +function is() { + return w.skipHydrationRootTNode !== null; +} +function ss(e6) { + return w.skipHydrationRootTNode === e6; +} +function as() { + w.skipHydrationRootTNode = null; +} +function Y() { + return w.lFrame.lView; +} +function qr() { + return w.lFrame.tView; +} +function He() { + let e6 = Zr(); + for (; e6 !== null && e6.type === 64; ) + e6 = e6.parent; + return e6; +} +function Zr() { + return w.lFrame.currentTNode; +} +function cs() { + let e6 = w.lFrame, t = e6.currentTNode; + return e6.isParent ? t : t.parent; +} +function ht(e6, t) { + let n = w.lFrame; + n.currentTNode = e6, n.isParent = t; +} +function Yr() { + return w.lFrame.isParent; +} +function us() { + w.lFrame.isParent = false; +} +function Qr() { + return Dr; +} +function Kr(e6) { + let t = Dr; + return Dr = e6, t; +} +function ls(e6) { + return w.lFrame.bindingIndex = e6; +} +function ds() { + return w.lFrame.bindingIndex++; +} +function fs() { + return w.lFrame.inI18n; +} +function ps(e6, t) { + let n = w.lFrame; + n.bindingIndex = n.bindingRootIndex = e6, dn(t); +} +function hs() { + return w.lFrame.currentDirectiveIndex; +} +function dn(e6) { + w.lFrame.currentDirectiveIndex = e6; +} +function Jr(e6) { + w.lFrame.currentQueryIndex = e6; +} +function Kc(e6) { + let t = e6[m]; + return t.type === 2 ? t.declTNode : t.type === 1 ? e6[te] : null; +} +function Xr(e6, t, n) { + if (n & 4) { + let o = t, i = e6; + for (; o = o.parent, o === null && !(n & 1); ) + if (o = Kc(i), o === null || (i = i[Le], o.type & 10)) + break; + if (o === null) + return false; + t = o, e6 = i; + } + let r = w.lFrame = gs(); + return r.currentTNode = t, r.lView = e6, true; +} +function fn(e6) { + let t = gs(), n = e6[m]; + w.lFrame = t, t.currentTNode = n.firstChild, t.lView = e6, t.tView = n, t.contextLView = e6, t.bindingIndex = n.bindingStartIndex, t.inI18n = false; +} +function gs() { + let e6 = w.lFrame, t = e6 === null ? null : e6.child; + return t === null ? ms(e6) : t; +} +function ms(e6) { + let t = { currentTNode: null, isParent: true, lView: null, tView: null, selectedIndex: -1, contextLView: null, elementDepthCount: 0, currentNamespace: null, currentDirectiveIndex: -1, bindingRootIndex: -1, bindingIndex: -1, currentQueryIndex: 0, parent: e6, child: null, inI18n: false }; + return e6 !== null && (e6.child = t), t; +} +function ys() { + let e6 = w.lFrame; + return w.lFrame = e6.parent, e6.currentTNode = null, e6.lView = null, e6; +} +var eo = ys; +function pn() { + let e6 = ys(); + e6.isParent = true, e6.tView = null, e6.selectedIndex = -1, e6.contextLView = null, e6.elementDepthCount = 0, e6.currentDirectiveIndex = -1, e6.currentNamespace = null, e6.bindingRootIndex = -1, e6.bindingIndex = -1, e6.currentQueryIndex = 0; +} +function hn() { + return w.lFrame.selectedIndex; +} +function le(e6) { + w.lFrame.selectedIndex = e6; +} +function Ds() { + return w.lFrame.currentNamespace; +} +var vs = true; +function to() { + return vs; +} +function no(e6) { + vs = e6; +} +function vr(e6, t = null, n = null, r) { + let o = Es(e6, t, n, r); + return o.resolveInjectorInitializers(), o; +} +function Es(e6, t = null, n = null, r, o = /* @__PURE__ */ new Set()) { + let i = [n || H, Ui(e6)], s; + return new ge(i, t || st(), s || null, o); +} +var ye = class e2 { + static THROW_IF_NOT_FOUND = pe; + static NULL = new et(); + static create(t, n) { + if (Array.isArray(t)) + return vr({ name: "" }, n, t, ""); + { + let r = t.name ?? ""; + return vr({ name: r }, t.parent, t.providers, r); + } + } + static \u0275prov = _({ token: e2, providedIn: "any", factory: () => E(Lr) }); + static __NG_ELEMENT_ID__ = -1; +}; +var j = new D(""); +var gt = /* @__PURE__ */ (() => { + class e6 { + static __NG_ELEMENT_ID__ = Jc; + static __NG_ENV_ID__ = (n) => n; + } + return e6; +})(); +var Er = class extends gt { + _lView; + constructor(t) { + super(), this._lView = t; + } + get destroyed() { + return Ce(this._lView); + } + onDestroy(t) { + let n = this._lView; + return Wr(n, t), () => ts(n, t); + } +}; +function Jc() { + return new Er(Y()); +} +var Is = false; +var Cs = new D(""); +var $e = (() => { + class e6 { + taskId = 0; + pendingTasks = /* @__PURE__ */ new Set(); + destroyed = false; + pendingTask = new Je(false); + debugTaskTracker = v(Cs, { optional: true }); + get hasPendingTasks() { + return this.destroyed ? false : this.pendingTask.value; + } + get hasPendingTasksObservable() { + return this.destroyed ? new Ne((n) => { + n.next(false), n.complete(); + }) : this.pendingTask; + } + add() { + !this.hasPendingTasks && !this.destroyed && this.pendingTask.next(true); + let n = this.taskId++; + return this.pendingTasks.add(n), this.debugTaskTracker?.add(n), n; + } + has(n) { + return this.pendingTasks.has(n); + } + remove(n) { + this.pendingTasks.delete(n), this.debugTaskTracker?.remove(n), this.pendingTasks.size === 0 && this.hasPendingTasks && this.pendingTask.next(false); + } + ngOnDestroy() { + this.pendingTasks.clear(), this.hasPendingTasks && this.pendingTask.next(false), this.destroyed = true, this.pendingTask.unsubscribe(); + } + static \u0275prov = _({ token: e6, providedIn: "root", factory: () => new e6() }); + } + return e6; +})(); +var Ir = class extends oe { + __isAsync; + destroyRef = void 0; + pendingTasks = void 0; + constructor(t = false) { + super(), this.__isAsync = t, qi() && (this.destroyRef = v(gt, { optional: true }) ?? void 0, this.pendingTasks = v($e, { optional: true }) ?? void 0); + } + emit(t) { + let n = y(null); + try { + super.next(t); + } finally { + y(n); + } + } + subscribe(t, n, r) { + let o = t, i = n || (() => null), s = r; + if (t && typeof t == "object") { + let c = t; + o = c.next?.bind(c), i = c.error?.bind(c), s = c.complete?.bind(c); + } + this.__isAsync && (i = this.wrapInTimeout(i), o && (o = this.wrapInTimeout(o)), s && (s = this.wrapInTimeout(s))); + let a = super.subscribe({ next: o, error: i, complete: s }); + return t instanceof b && t.add(a), a; + } + wrapInTimeout(t) { + return (n) => { + let r = this.pendingTasks?.add(); + setTimeout(() => { + try { + t(n); + } finally { + r !== void 0 && this.pendingTasks?.remove(r); + } + }); + }; + } +}; +var K = Ir; +function Yt(...e6) { +} +function ro(e6) { + let t, n; + function r() { + e6 = Yt; + try { + n !== void 0 && typeof cancelAnimationFrame == "function" && cancelAnimationFrame(n), t !== void 0 && clearTimeout(t); + } catch { + } + } + return t = setTimeout(() => { + e6(), r(); + }), typeof requestAnimationFrame == "function" && (n = requestAnimationFrame(() => { + e6(), r(); + })), () => r(); +} +function ws(e6) { + return queueMicrotask(() => e6()), () => { + e6 = Yt; + }; +} +var oo = "isAngularZone"; +var tt = oo + "_ID"; +var Xc = 0; +var L = class e3 { + hasPendingMacrotasks = false; + hasPendingMicrotasks = false; + isStable = true; + onUnstable = new K(false); + onMicrotaskEmpty = new K(false); + onStable = new K(false); + onError = new K(false); + constructor(t) { + let { enableLongStackTrace: n = false, shouldCoalesceEventChangeDetection: r = false, shouldCoalesceRunChangeDetection: o = false, scheduleInRootZone: i = Is } = t; + if (typeof Zone > "u") + throw new g(908, false); + Zone.assertZonePatched(); + let s = this; + s._nesting = 0, s._outer = s._inner = Zone.current, Zone.TaskTrackingZoneSpec && (s._inner = s._inner.fork(new Zone.TaskTrackingZoneSpec())), n && Zone.longStackTraceZoneSpec && (s._inner = s._inner.fork(Zone.longStackTraceZoneSpec)), s.shouldCoalesceEventChangeDetection = !o && r, s.shouldCoalesceRunChangeDetection = o, s.callbackScheduled = false, s.scheduleInRootZone = i, nu(s); + } + static isInAngularZone() { + return typeof Zone < "u" && Zone.current.get(oo) === true; + } + static assertInAngularZone() { + if (!e3.isInAngularZone()) + throw new g(909, false); + } + static assertNotInAngularZone() { + if (e3.isInAngularZone()) + throw new g(909, false); + } + run(t, n, r) { + return this._inner.run(t, n, r); + } + runTask(t, n, r, o) { + let i = this._inner, s = i.scheduleEventTask("NgZoneEvent: " + o, t, eu, Yt, Yt); + try { + return i.runTask(s, n, r); + } finally { + i.cancelTask(s); + } + } + runGuarded(t, n, r) { + return this._inner.runGuarded(t, n, r); + } + runOutsideAngular(t) { + return this._outer.run(t); + } +}; +var eu = {}; +function io(e6) { + if (e6._nesting == 0 && !e6.hasPendingMicrotasks && !e6.isStable) + try { + e6._nesting++, e6.onMicrotaskEmpty.emit(null); + } finally { + if (e6._nesting--, !e6.hasPendingMicrotasks) + try { + e6.runOutsideAngular(() => e6.onStable.emit(null)); + } finally { + e6.isStable = true; + } + } +} +function tu(e6) { + if (e6.isCheckStableRunning || e6.callbackScheduled) + return; + e6.callbackScheduled = true; + function t() { + ro(() => { + e6.callbackScheduled = false, Cr(e6), e6.isCheckStableRunning = true, io(e6), e6.isCheckStableRunning = false; + }); + } + e6.scheduleInRootZone ? Zone.root.run(() => { + t(); + }) : e6._outer.run(() => { + t(); + }), Cr(e6); +} +function nu(e6) { + let t = () => { + tu(e6); + }, n = Xc++; + e6._inner = e6._inner.fork({ name: "angular", properties: { [oo]: true, [tt]: n, [tt + n]: true }, onInvokeTask: (r, o, i, s, a, c) => { + if (ru(c)) + return r.invokeTask(i, s, a, c); + try { + return ki(e6), r.invokeTask(i, s, a, c); + } finally { + (e6.shouldCoalesceEventChangeDetection && s.type === "eventTask" || e6.shouldCoalesceRunChangeDetection) && t(), Fi(e6); + } + }, onInvoke: (r, o, i, s, a, c, u) => { + try { + return ki(e6), r.invoke(i, s, a, c, u); + } finally { + e6.shouldCoalesceRunChangeDetection && !e6.callbackScheduled && !ou(c) && t(), Fi(e6); + } + }, onHasTask: (r, o, i, s) => { + r.hasTask(i, s), o === i && (s.change == "microTask" ? (e6._hasPendingMicrotasks = s.microTask, Cr(e6), io(e6)) : s.change == "macroTask" && (e6.hasPendingMacrotasks = s.macroTask)); + }, onHandleError: (r, o, i, s) => (r.handleError(i, s), e6.runOutsideAngular(() => e6.onError.emit(s)), false) }); +} +function Cr(e6) { + e6._hasPendingMicrotasks || (e6.shouldCoalesceEventChangeDetection || e6.shouldCoalesceRunChangeDetection) && e6.callbackScheduled === true ? e6.hasPendingMicrotasks = true : e6.hasPendingMicrotasks = false; +} +function ki(e6) { + e6._nesting++, e6.isStable && (e6.isStable = false, e6.onUnstable.emit(null)); +} +function Fi(e6) { + e6._nesting--, io(e6); +} +var nt = class { + hasPendingMicrotasks = false; + hasPendingMacrotasks = false; + isStable = true; + onUnstable = new K(); + onMicrotaskEmpty = new K(); + onStable = new K(); + onError = new K(); + run(t, n, r) { + return t.apply(n, r); + } + runGuarded(t, n, r) { + return t.apply(n, r); + } + runOutsideAngular(t) { + return t(); + } + runTask(t, n, r, o) { + return t.apply(n, r); + } +}; +function ru(e6) { + return Ts(e6, "__ignore_ng_zone__"); +} +function ou(e6) { + return Ts(e6, "__scheduler_tick__"); +} +function Ts(e6, t) { + return !Array.isArray(e6) || e6.length !== 1 ? false : e6[0]?.data?.[t] === true; +} +var X = class { + _console = console; + handleError(t) { + this._console.error("ERROR", t); + } +}; +var Ue = new D("", { factory: () => { + let e6 = v(L), t = v($), n; + return (r) => { + e6.runOutsideAngular(() => { + t.destroyed && !n ? setTimeout(() => { + throw r; + }) : (n ??= t.get(X), n.handleError(r)); + }); + }; +} }); +var Ms = { provide: ke, useValue: () => { + let e6 = v(X, { optional: true }); +}, multi: true }; +var iu = new D("", { factory: () => { + let e6 = v(j).defaultView; + if (!e6) + return; + let t = v(Ue), n = (i) => { + t(i.reason), i.preventDefault(); + }, r = (i) => { + i.error ? t(i.error) : t(new Error(i.message, { cause: i })), i.preventDefault(); + }, o = () => { + e6.addEventListener("unhandledrejection", n), e6.addEventListener("error", r); + }; + typeof Zone < "u" ? Zone.root.run(o) : o(), v(gt).onDestroy(() => { + e6.removeEventListener("error", r), e6.removeEventListener("unhandledrejection", n); + }); +} }); +function so() { + return tn([$i(() => { + v(iu); + })]); +} +function gn(e6, t) { + let [n, r, o] = Xn(e6, t?.equal), i = n, s = i[G]; + return i.set = r, i.update = o, i.asReadonly = _s.bind(i), i; +} +function _s() { + let e6 = this[G]; + if (e6.readonlyFn === void 0) { + let t = () => this(); + t[G] = e6, e6.readonlyFn = t; + } + return e6.readonlyFn; +} +var Oe = class { +}; +var mt = new D("", { factory: () => true }); +var ao = new D(""); +var co = (() => { + class e6 { + static \u0275prov = _({ token: e6, providedIn: "root", factory: () => new wr() }); + } + return e6; +})(); +var wr = class { + dirtyEffectCount = 0; + queues = /* @__PURE__ */ new Map(); + add(t) { + this.enqueue(t), this.schedule(t); + } + schedule(t) { + t.dirty && this.dirtyEffectCount++; + } + remove(t) { + let n = t.zone, r = this.queues.get(n); + r.has(t) && (r.delete(t), t.dirty && this.dirtyEffectCount--); + } + enqueue(t) { + let n = t.zone; + this.queues.has(n) || this.queues.set(n, /* @__PURE__ */ new Set()); + let r = this.queues.get(n); + r.has(t) || r.add(t); + } + flush() { + for (; this.dirtyEffectCount > 0; ) { + let t = false; + for (let [n, r] of this.queues) + n === null ? t ||= this.flushQueue(r) : t ||= n.run(() => this.flushQueue(r)); + t || (this.dirtyEffectCount = 0); + } + } + flushQueue(t) { + let n = false; + for (let r of t) + r.dirty && (this.dirtyEffectCount--, n = true, r.run()); + return n; + } +}; +var Tr = class { + [G]; + constructor(t) { + this[G] = t; + } + destroy() { + this[G].destroy(); + } +}; +function bo(e6) { + return { toString: e6 }.toString(); +} +function Ws(e6, t, n, r) { + t !== null ? t.applyValueToInputSignal(t, r) : e6[n] = r; +} +var vn = class { + previousValue; + currentValue; + firstChange; + constructor(t, n, r) { + this.previousValue = t, this.currentValue = n, this.firstChange = r; + } + isFirstChange() { + return this.firstChange; + } +}; +function wu(e6) { + return e6.type.prototype.ngOnChanges && (e6.setInput = Mu), Tu; +} +function Tu() { + let e6 = Zs(this), t = e6?.current; + if (t) { + let n = e6.previous; + if (n === ve) + e6.previous = t; + else + for (let r in t) + n[r] = t[r]; + e6.current = null, this.ngOnChanges(t); + } +} +function Mu(e6, t, n, r, o) { + let i = this.declaredInputs[r], s = Zs(e6) || _u(e6, { previous: ve, current: null }), a = s.current || (s.current = {}), c = s.previous, u = c[i]; + a[i] = new vn(u && u.currentValue, n, c === ve), Ws(e6, t, o, n); +} +var qs = "__ngSimpleChanges__"; +function Zs(e6) { + return e6[qs] || null; +} +function _u(e6, t) { + return e6[qs] = t; +} +var Ss = []; +var M = function(e6, t = null, n) { + for (let r = 0; r < Ss.length; r++) { + let o = Ss[r]; + o(e6, t, n); + } +}; +var I = function(e6) { + return e6[e6.TemplateCreateStart = 0] = "TemplateCreateStart", e6[e6.TemplateCreateEnd = 1] = "TemplateCreateEnd", e6[e6.TemplateUpdateStart = 2] = "TemplateUpdateStart", e6[e6.TemplateUpdateEnd = 3] = "TemplateUpdateEnd", e6[e6.LifecycleHookStart = 4] = "LifecycleHookStart", e6[e6.LifecycleHookEnd = 5] = "LifecycleHookEnd", e6[e6.OutputStart = 6] = "OutputStart", e6[e6.OutputEnd = 7] = "OutputEnd", e6[e6.BootstrapApplicationStart = 8] = "BootstrapApplicationStart", e6[e6.BootstrapApplicationEnd = 9] = "BootstrapApplicationEnd", e6[e6.BootstrapComponentStart = 10] = "BootstrapComponentStart", e6[e6.BootstrapComponentEnd = 11] = "BootstrapComponentEnd", e6[e6.ChangeDetectionStart = 12] = "ChangeDetectionStart", e6[e6.ChangeDetectionEnd = 13] = "ChangeDetectionEnd", e6[e6.ChangeDetectionSyncStart = 14] = "ChangeDetectionSyncStart", e6[e6.ChangeDetectionSyncEnd = 15] = "ChangeDetectionSyncEnd", e6[e6.AfterRenderHooksStart = 16] = "AfterRenderHooksStart", e6[e6.AfterRenderHooksEnd = 17] = "AfterRenderHooksEnd", e6[e6.ComponentStart = 18] = "ComponentStart", e6[e6.ComponentEnd = 19] = "ComponentEnd", e6[e6.DeferBlockStateStart = 20] = "DeferBlockStateStart", e6[e6.DeferBlockStateEnd = 21] = "DeferBlockStateEnd", e6[e6.DynamicComponentStart = 22] = "DynamicComponentStart", e6[e6.DynamicComponentEnd = 23] = "DynamicComponentEnd", e6[e6.HostBindingsUpdateStart = 24] = "HostBindingsUpdateStart", e6[e6.HostBindingsUpdateEnd = 25] = "HostBindingsUpdateEnd", e6; +}(I || {}); +function Su(e6, t, n) { + let { ngOnChanges: r, ngOnInit: o, ngDoCheck: i } = t.type.prototype; + if (r) { + let s = wu(t); + (n.preOrderHooks ??= []).push(e6, s), (n.preOrderCheckHooks ??= []).push(e6, s); + } + o && (n.preOrderHooks ??= []).push(0 - e6, o), i && ((n.preOrderHooks ??= []).push(e6, i), (n.preOrderCheckHooks ??= []).push(e6, i)); +} +function bu(e6, t) { + for (let n = t.directiveStart, r = t.directiveEnd; n < r; n++) { + let i = e6.data[n].type.prototype, { ngAfterContentInit: s, ngAfterContentChecked: a, ngAfterViewInit: c, ngAfterViewChecked: u, ngOnDestroy: l } = i; + s && (e6.contentHooks ??= []).push(-n, s), a && ((e6.contentHooks ??= []).push(n, a), (e6.contentCheckHooks ??= []).push(n, a)), c && (e6.viewHooks ??= []).push(-n, c), u && ((e6.viewHooks ??= []).push(n, u), (e6.viewCheckHooks ??= []).push(n, u)), l != null && (e6.destroyHooks ??= []).push(n, l); + } +} +function mn(e6, t, n) { + Ys(e6, t, 3, n); +} +function yn(e6, t, n, r) { + (e6[h] & 3) === n && Ys(e6, t, n, r); +} +function uo(e6, t) { + let n = e6[h]; + (n & 3) === t && (n &= 16383, n += 1, e6[h] = n); +} +function Ys(e6, t, n, r) { + let o = r !== void 0 ? e6[Ie] & 65535 : 0, i = r ?? -1, s = t.length - 1, a = 0; + for (let c = o; c < s; c++) + if (typeof t[c + 1] == "number") { + if (a = t[c], r != null && a >= r) + break; + } else + t[c] < 0 && (e6[Ie] += 65536), (a < i || i == -1) && (Nu(e6, n, t, c), e6[Ie] = (e6[Ie] & 4294901760) + c + 2), c++; +} +function bs(e6, t) { + M(I.LifecycleHookStart, e6, t); + let n = y(null); + try { + t.call(e6); + } finally { + y(n), M(I.LifecycleHookEnd, e6, t); + } +} +function Nu(e6, t, n, r) { + let o = n[r] < 0, i = n[r + 1], s = o ? -n[r] : n[r], a = e6[s]; + o ? e6[h] >> 14 < e6[Ie] >> 16 && (e6[h] & 3) === t && (e6[h] += 16384, bs(a, i)) : bs(a, i); +} +var Ge = -1; +var vt = class { + factory; + name; + injectImpl; + resolving = false; + canSeeViewProviders; + multi; + componentProviders; + index; + providerFactory; + constructor(t, n, r, o) { + this.factory = t, this.name = o, this.canSeeViewProviders = n, this.injectImpl = r; + } +}; +function Au(e6, t, n) { + let r = 0; + for (; r < n.length; ) { + let o = n[r]; + if (typeof o == "number") { + if (o !== 0) + break; + r++; + let i = n[r++], s = n[r++], a = n[r++]; + e6.setAttribute(t, s, a, i); + } else { + let i = o, s = n[++r]; + xu(i) ? e6.setProperty(t, i, s) : e6.setAttribute(t, i, s), r++; + } + } + return r; +} +function xu(e6) { + return e6.charCodeAt(0) === 64; +} +function No(e6, t) { + if (!(t === null || t.length === 0)) + if (e6 === null || e6.length === 0) + e6 = t.slice(); + else { + let n = -1; + for (let r = 0; r < t.length; r++) { + let o = t[r]; + typeof o == "number" ? n = o : n === 0 || (n === -1 || n === 2 ? Ns(e6, n, o, null, t[++r]) : Ns(e6, n, o, null, null)); + } + } + return e6; +} +function Ns(e6, t, n, r, o) { + let i = 0, s = e6.length; + if (t === -1) + s = -1; + else + for (; i < e6.length; ) { + let a = e6[i++]; + if (typeof a == "number") { + if (a === t) { + s = -1; + break; + } else if (a > t) { + s = i - 1; + break; + } + } + } + for (; i < e6.length; ) { + let a = e6[i]; + if (typeof a == "number") + break; + if (a === n) { + o !== null && (e6[i + 1] = o); + return; + } + i++, o !== null && i++; + } + s !== -1 && (e6.splice(s, 0, t), i = s + 1), e6.splice(i++, 0, n), o !== null && e6.splice(i++, 0, o); +} +function Ru(e6) { + return e6 !== Ge; +} +function po(e6) { + return e6 & 32767; +} +function Ou(e6) { + return e6 >> 16; +} +function ho(e6, t) { + let n = Ou(e6), r = t; + for (; n > 0; ) + r = r[Le], n--; + return r; +} +var go = true; +function As(e6) { + let t = go; + return go = e6, t; +} +var ku = 256; +var Qs = ku - 1; +var Ks = 5; +var Fu = 0; +var Q = {}; +function Lu(e6, t, n) { + let r; + typeof n == "string" ? r = n.charCodeAt(0) || 0 : n.hasOwnProperty(De) && (r = n[De]), r == null && (r = n[De] = Fu++); + let o = r & Qs, i = 1 << o; + t.data[e6 + (o >> Ks)] |= i; +} +function Js(e6, t) { + let n = Xs(e6, t); + if (n !== -1) + return n; + let r = t[m]; + r.firstCreatePass && (e6.injectorIndex = t.length, lo(r.data, e6), lo(t, null), lo(r.blueprint, null)); + let o = ea(e6, t), i = e6.injectorIndex; + if (Ru(o)) { + let s = po(o), a = ho(o, t), c = a[m].data; + for (let u = 0; u < 8; u++) + t[i + u] = a[s + u] | c[s + u]; + } + return t[i + 8] = o, i; +} +function lo(e6, t) { + e6.push(0, 0, 0, 0, 0, 0, 0, 0, t); +} +function Xs(e6, t) { + return e6.injectorIndex === -1 || e6.parent && e6.parent.injectorIndex === e6.injectorIndex || t[e6.injectorIndex + 8] === null ? -1 : e6.injectorIndex; +} +function ea(e6, t) { + if (e6.parent && e6.parent.injectorIndex !== -1) + return e6.parent.injectorIndex; + let n = 0, r = null, o = t; + for (; o !== null; ) { + if (r = ia(o), r === null) + return Ge; + if (n++, o = o[Le], r.injectorIndex !== -1) + return r.injectorIndex | n << 16; + } + return Ge; +} +function Pu(e6, t, n) { + Lu(e6, t, n); +} +function ta(e6, t, n) { + if (n & 8 || e6 !== void 0) + return e6; + Xt(t, "NodeInjector"); +} +function na(e6, t, n, r) { + if (n & 8 && r === void 0 && (r = null), (n & 3) === 0) { + let o = e6[Ee], i = x(void 0); + try { + return o ? o.get(t, r, n & 8) : kr(t, r, n & 8); + } finally { + x(i); + } + } + return ta(r, t, n); +} +function ra(e6, t, n, r = 0, o) { + if (e6 !== null) { + if (t[h] & 2048 && !(r & 2)) { + let s = $u(e6, t, n, r, Q); + if (s !== Q) + return s; + } + let i = oa(e6, t, n, r, Q); + if (i !== Q) + return i; + } + return na(t, n, r, o); +} +function oa(e6, t, n, r, o) { + let i = Vu(n); + if (typeof i == "function") { + if (!Xr(t, e6, r)) + return r & 1 ? ta(o, n, r) : na(t, n, r, o); + try { + let s; + if (s = i(r), s == null && !(r & 8)) + Xt(n); + else + return s; + } finally { + eo(); + } + } else if (typeof i == "number") { + let s = null, a = Xs(e6, t), c = Ge, u = r & 1 ? t[Z][te] : null; + for ((a === -1 || r & 4) && (c = a === -1 ? ea(e6, t) : t[a + 8], c === Ge || !Rs(r, false) ? a = -1 : (s = t[m], a = po(c), t = ho(c, t))); a !== -1; ) { + let l = t[m]; + if (xs(i, a, l.data)) { + let d = ju(a, t, n, s, r, u); + if (d !== Q) + return d; + } + c = t[a + 8], c !== Ge && Rs(r, t[m].data[a + 8] === u) && xs(i, a, t) ? (s = l, a = po(c), t = ho(c, t)) : a = -1; + } + } + return o; +} +function ju(e6, t, n, r, o, i) { + let s = t[m], a = s.data[e6 + 8], c = r == null ? lt(a) && go : r != s && (a.type & 3) !== 0, u = o & 1 && i === a, l = Bu(a, s, n, c, u); + return l !== null ? mo(t, s, l, a, o) : Q; +} +function Bu(e6, t, n, r, o) { + let i = e6.providerIndexes, s = t.data, a = i & 1048575, c = e6.directiveStart, u = e6.directiveEnd, l = i >> 20, d = r ? a : a + l, p = o ? a + l : u; + for (let f = d; f < p; f++) { + let T = s[f]; + if (f < c && n === T || f >= c && T.type === n) + return f; + } + if (o) { + let f = s[c]; + if (f && je(f) && f.type === n) + return c; + } + return null; +} +function mo(e6, t, n, r, o) { + let i = e6[n], s = t.data; + if (i instanceof vt) { + let a = i; + if (a.resolving) + throw Or(""); + let c = As(a.canSeeViewProviders); + a.resolving = true; + let u = s[n].type || s[n], l, d = a.injectImpl ? x(a.injectImpl) : null, p = Xr(e6, r, 0); + try { + i = e6[n] = a.factory(void 0, o, s, e6, r), t.firstCreatePass && n >= r.directiveStart && Su(n, s[n], t); + } finally { + d !== null && x(d), As(c), a.resolving = false, eo(); + } + } + return i; +} +function Vu(e6) { + if (typeof e6 == "string") + return e6.charCodeAt(0) || 0; + let t = e6.hasOwnProperty(De) ? e6[De] : void 0; + return typeof t == "number" ? t >= 0 ? t & Qs : Hu : t; +} +function xs(e6, t, n) { + let r = 1 << e6; + return !!(n[t + (e6 >> Ks)] & r); +} +function Rs(e6, t) { + return !(e6 & 2) && !(e6 & 1 && t); +} +var En = class { + _tNode; + _lView; + constructor(t, n) { + this._tNode = t, this._lView = n; + } + get(t, n, r) { + return ra(this._tNode, this._lView, t, he(r), n); + } +}; +function Hu() { + return new En(He(), Y()); +} +function $u(e6, t, n, r, o) { + let i = e6, s = t; + for (; i !== null && s !== null && s[h] & 2048 && !Be(s); ) { + let a = oa(i, s, n, r | 2, Q); + if (a !== Q) + return a; + let c = i.parent; + if (!c) { + let u = s[Hr]; + if (u) { + let l = u.get(n, Q, r & -5); + if (l !== Q) + return l; + } + c = ia(s), s = s[Le]; + } + i = c; + } + return o; +} +function ia(e6) { + let t = e6[m], n = t.type; + return n === 2 ? t.declTNode : n === 1 ? e6[te] : null; +} +function Uu() { + return sa(He(), Y()); +} +function sa(e6, t) { + return new Ao(Ve(e6, t)); +} +var Ao = /* @__PURE__ */ (() => { + class e6 { + nativeElement; + constructor(n) { + this.nativeElement = n; + } + static __NG_ELEMENT_ID__ = Uu; + } + return e6; +})(); +function zu(e6) { + return (e6.flags & 128) === 128; +} +var xo = function(e6) { + return e6[e6.OnPush = 0] = "OnPush", e6[e6.Eager = 1] = "Eager", e6[e6.Default = 1] = "Default", e6; +}(xo || {}); +var aa = /* @__PURE__ */ new Map(); +var Gu = 0; +function Wu() { + return Gu++; +} +function qu(e6) { + aa.set(e6[ie], e6); +} +function yo(e6) { + aa.delete(e6[ie]); +} +var Os = "__ngContext__"; +function Et(e6, t) { + se(t) ? (e6[Os] = t[ie], qu(t)) : e6[Os] = t; +} +function ca(e6) { + return la(e6[Fe]); +} +function ua(e6) { + return la(e6[ee]); +} +function la(e6) { + for (; e6 !== null && !ae(e6); ) + e6 = e6[ee]; + return e6; +} +var Zu; +function Ro(e6) { + Zu = e6; +} +var _n = new D("", { factory: () => Yu }); +var Yu = "ng"; +var Sn = new D(""); +var wt = new D("", { providedIn: "platform", factory: () => "unknown" }); +var bn = new D("", { factory: () => v(j).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); +var da = false; +var fa = new D("", { factory: () => da }); +function Oo(e6) { + return (e6.flags & 32) === 32; +} +var Qu = () => null; +function pa(e6, t, n = false) { + return Qu(e6, t, n); +} +function ha(e6, t) { + let n = e6.contentQueries; + if (n !== null) { + let r = y(null); + try { + for (let o = 0; o < n.length; o += 2) { + let i = n[o], s = n[o + 1]; + if (s !== -1) { + let a = e6.data[s]; + Jr(i), a.contentQueries(2, t[s], s); + } + } + } finally { + y(r); + } + } +} +function Do(e6, t, n) { + Jr(0); + let r = y(null); + try { + t(e6, n); + } finally { + y(r); + } +} +function Ku(e6, t, n) { + if ($r(t)) { + let r = y(null); + try { + let o = t.directiveStart, i = t.directiveEnd; + for (let s = o; s < i; s++) { + let a = e6.data[s]; + if (a.contentQueries) { + let c = n[s]; + a.contentQueries(1, c, s); + } + } + } finally { + y(r); + } + } +} +var z = function(e6) { + return e6[e6.Emulated = 0] = "Emulated", e6[e6.None = 2] = "None", e6[e6.ShadowDom = 3] = "ShadowDom", e6[e6.ExperimentalIsolatedShadowDom = 4] = "ExperimentalIsolatedShadowDom", e6; +}(z || {}); +function Ju(e6, t) { + return e6.createText(t); +} +function Xu(e6, t, n) { + e6.setValue(t, n); +} +function ga(e6, t, n) { + return e6.createElement(t, n); +} +function vo(e6, t, n, r, o) { + e6.insertBefore(t, n, r, o); +} +function ma(e6, t, n) { + e6.appendChild(t, n); +} +function ks(e6, t, n, r, o) { + r !== null ? vo(e6, t, n, r, o) : ma(e6, t, n); +} +function el(e6, t, n, r) { + e6.removeChild(null, t, n, r); +} +function tl(e6, t, n) { + e6.setAttribute(t, "style", n); +} +function nl(e6, t, n) { + n === "" ? e6.removeAttribute(t, "class") : e6.setAttribute(t, "class", n); +} +function ya(e6, t, n) { + let { mergedAttrs: r, classes: o, styles: i } = n; + r !== null && Au(e6, t, r), o !== null && nl(e6, t, o), i !== null && tl(e6, t, i); +} +var rl = "ng-template"; +function ol(e6) { + return e6.type === 4 && e6.value !== rl; +} +function Eo(e6) { + return (e6 & 1) === 0; +} +function Fs(e6, t) { + return e6 ? ":not(" + t.trim() + ")" : t; +} +function il(e6) { + let t = e6[0], n = 1, r = 2, o = "", i = false; + for (; n < e6.length; ) { + let s = e6[n]; + if (typeof s == "string") + if (r & 2) { + let a = e6[++n]; + o += "[" + s + (a.length > 0 ? '="' + a + '"' : "") + "]"; + } else + r & 8 ? o += "." + s : r & 4 && (o += " " + s); + else + o !== "" && !Eo(s) && (t += Fs(i, o), o = ""), r = s, i = i || !Eo(r); + n++; + } + return o !== "" && (t += Fs(i, o)), t; +} +function sl(e6) { + return e6.map(il).join(","); +} +function al(e6) { + let t = [], n = [], r = 1, o = 2; + for (; r < e6.length; ) { + let i = e6[r]; + if (typeof i == "string") + o === 2 ? i !== "" && t.push(i, e6[++r]) : o === 8 && n.push(i); + else { + if (!Eo(o)) + break; + o = i; + } + r++; + } + return n.length && t.push(1, ...n), t; +} +var qe = {}; +function Da(e6, t, n, r, o, i, s, a, c, u, l) { + let d = U + r, p = d + o, f = cl(d, p), T = typeof u == "function" ? u() : u; + return f[m] = { type: e6, blueprint: f, template: n, queries: null, viewQuery: a, declTNode: t, data: f.slice().fill(null, d), bindingStartIndex: d, expandoStartIndex: p, hostBindingOpCodes: null, firstCreatePass: true, firstUpdatePass: true, staticViewQueries: false, staticContentQueries: false, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: typeof i == "function" ? i() : i, pipeRegistry: typeof s == "function" ? s() : s, firstChild: null, schemas: c, consts: T, incompleteFirstPass: false, ssrId: l }; +} +function cl(e6, t) { + let n = []; + for (let r = 0; r < t; r++) + n.push(r < e6 ? null : qe); + return n; +} +function ul(e6) { + let t = e6.tView; + return t === null || t.incompleteFirstPass ? e6.tView = Da(1, null, e6.template, e6.decls, e6.vars, e6.directiveDefs, e6.pipeDefs, e6.viewQuery, e6.schemas, e6.consts, e6.id) : t; +} +function va(e6, t, n, r, o, i, s, a, c, u, l) { + let d = t.blueprint.slice(); + return d[q] = o, d[h] = r | 4 | 128 | 8 | 64 | 1024, (u !== null || e6 && e6[h] & 2048) && (d[h] |= 2048), Ur(d), d[O] = d[Le] = e6, d[k] = n, d[ne] = s || e6 && e6[ne], d[P] = a || e6 && e6[P], d[Ee] = c || e6 && e6[Ee] || null, d[te] = i, d[ie] = Wu(), d[rn] = l, d[Hr] = u, d[Z] = t.type == 2 ? e6[Z] : d, d; +} +function ll(e6, t, n) { + let r = Ve(t, e6), o = ul(n), i = e6[ne].rendererFactory, s = dl(e6, va(e6, o, null, Ea(n), r, t, null, i.createRenderer(r, n), null, null, null)); + return e6[t.index] = s; +} +function Ea(e6) { + let t = 16; + return e6.signals ? t = 4096 : e6.onPush && (t = 64), t; +} +function Ia(e6, t, n, r) { + if (n === 0) + return -1; + let o = t.length; + for (let i = 0; i < n; i++) + t.push(r), e6.blueprint.push(r), e6.data.push(null); + return o; +} +function dl(e6, t) { + return e6[Fe] ? e6[Vr][ee] = t : e6[Fe] = t, e6[Vr] = t, t; +} +function ko(e6 = 1) { + Ca(qr(), Y(), hn() + e6, false); +} +function Ca(e6, t, n, r) { + if (!r) + if ((t[h] & 3) === 3) { + let i = e6.preOrderCheckHooks; + i !== null && mn(t, i, n); + } else { + let i = e6.preOrderHooks; + i !== null && yn(t, i, 0, n); + } + le(n); +} +var Nn = function(e6) { + return e6[e6.None = 0] = "None", e6[e6.SignalBased = 1] = "SignalBased", e6[e6.HasDecoratorInputTransform = 2] = "HasDecoratorInputTransform", e6; +}(Nn || {}); +function Io(e6, t, n, r) { + let o = y(null); + try { + let [i, s, a] = e6.inputs[n], c = null; + (s & Nn.SignalBased) !== 0 && (c = t[i][G]), c !== null && c.transformFn !== void 0 ? r = c.transformFn(r) : a !== null && (r = a.call(t, r)), e6.setInput !== null ? e6.setInput(t, c, r, n, i) : Ws(t, c, i, r); + } finally { + y(o); + } +} +var Te = function(e6) { + return e6[e6.Important = 1] = "Important", e6[e6.DashCase = 2] = "DashCase", e6; +}(Te || {}); +var fl; +function wa(e6, t) { + return fl(e6, t); +} +var Jg = typeof document < "u" && typeof document?.documentElement?.getAnimations == "function"; +var Co = /* @__PURE__ */ new WeakMap(); +var yt = /* @__PURE__ */ new WeakSet(); +function pl(e6, t) { + let n = Co.get(e6); + if (!n || n.length === 0) + return; + let r = t.parentNode, o = t.previousSibling; + for (let i = n.length - 1; i >= 0; i--) { + let s = n[i], a = s.parentNode; + s === t ? (n.splice(i, 1), yt.add(s), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } }))) : (o && s === o || a && r && a !== r) && (n.splice(i, 1), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } })), s.parentNode?.removeChild(s)); + } +} +function hl(e6, t) { + let n = Co.get(e6); + n ? n.includes(t) || n.push(t) : Co.set(e6, [t]); +} +var We = /* @__PURE__ */ new Set(); +var Fo = function(e6) { + return e6[e6.CHANGE_DETECTION = 0] = "CHANGE_DETECTION", e6[e6.AFTER_NEXT_RENDER = 1] = "AFTER_NEXT_RENDER", e6; +}(Fo || {}); +var Ze = new D(""); +var Ls = /* @__PURE__ */ new Set(); +function Ta(e6) { + Ls.has(e6) || (Ls.add(e6), performance?.mark?.("mark_feature_usage", { detail: { feature: e6 } })); +} +var Ma = (() => { + class e6 { + impl = null; + execute() { + this.impl?.execute(); + } + static \u0275prov = _({ token: e6, providedIn: "root", factory: () => new e6() }); + } + return e6; +})(); +var gl = new D("", { factory: () => ({ queue: /* @__PURE__ */ new Set(), isScheduled: false, scheduler: null, injector: v($) }) }); +function _a(e6, t, n) { + let r = e6.get(gl); + if (Array.isArray(t)) + for (let o of t) + r.queue.add(o), n?.detachedLeaveAnimationFns?.push(o); + else + r.queue.add(t), n?.detachedLeaveAnimationFns?.push(t); + r.scheduler && r.scheduler(e6); +} +function ml(e6, t) { + for (let [n, r] of t) + _a(e6, r.animateFns); +} +function Ps(e6, t, n, r) { + let o = e6?.[Pe]?.enter; + t !== null && o && o.has(n.index) && ml(r, o); +} +function ze(e6, t, n, r, o, i, s, a) { + if (o != null) { + let c, u = false; + ae(o) ? c = o : se(o) && (u = true, o = o[q]); + let l = ce(o); + e6 === 0 && r !== null ? (Ps(a, r, i, n), s == null ? ma(t, r, l) : vo(t, r, l, s || null, true)) : e6 === 1 && r !== null ? (Ps(a, r, i, n), vo(t, r, l, s || null, true), pl(i, l)) : e6 === 2 ? (a?.[Pe]?.leave?.has(i.index) && hl(i, l), yt.delete(l), js(a, i, n, (d) => { + if (yt.has(l)) { + yt.delete(l); + return; + } + el(t, l, u, d); + })) : e6 === 3 && (yt.delete(l), js(a, i, n, () => { + t.destroyNode(l); + })), c != null && Al(t, e6, n, c, i, r, s); + } +} +function yl(e6, t) { + Sa(e6, t), t[q] = null, t[te] = null; +} +function Sa(e6, t) { + t[ne].changeDetectionScheduler?.notify(9), jo(e6, t, t[P], 2, null, null); +} +function Dl(e6) { + let t = e6[Fe]; + if (!t) + return fo(e6[m], e6); + for (; t; ) { + let n = null; + if (se(t)) + n = t[Fe]; + else { + let r = t[re]; + r && (n = r); + } + if (!n) { + for (; t && !t[ee] && t !== e6; ) + se(t) && fo(t[m], t), t = t[O]; + t === null && (t = e6), se(t) && fo(t[m], t), n = t && t[ee]; + } + t = n; + } +} +function Lo(e6, t) { + let n = e6[ut], r = n.indexOf(t); + n.splice(r, 1); +} +function vl(e6, t) { + if (Ce(t)) + return; + let n = t[P]; + n.destroyNode && jo(e6, t, n, 3, null, null), Dl(t); +} +function fo(e6, t) { + if (Ce(t)) + return; + let n = y(null); + try { + t[h] &= -129, t[h] |= 256, t[F] && jt(t[F]), Cl(e6, t), Il(e6, t), t[m].type === 1 && t[P].destroy(); + let r = t[at]; + if (r !== null && ae(t[O])) { + r !== t[O] && Lo(r, t); + let o = t[sn]; + o !== null && o.detachView(e6); + } + yo(t); + } finally { + y(n); + } +} +function js(e6, t, n, r) { + let o = e6?.[Pe]; + if (o == null || o.leave == null || !o.leave.has(t.index)) + return r(false); + e6 && We.add(e6[ie]), _a(n, () => { + if (o.leave && o.leave.has(t.index)) { + let s = o.leave.get(t.index), a = []; + if (s) { + for (let c = 0; c < s.animateFns.length; c++) { + let u = s.animateFns[c], { promise: l } = u(); + a.push(l); + } + o.detachedLeaveAnimationFns = void 0; + } + o.running = Promise.allSettled(a), El(e6, r); + } else + e6 && We.delete(e6[ie]), r(false); + }, o); +} +function El(e6, t) { + let n = e6[Pe]?.running; + if (n) { + n.then(() => { + e6[Pe].running = void 0, We.delete(e6[ie]), t(true); + }); + return; + } + t(false); +} +function Il(e6, t) { + let n = e6.cleanup, r = t[on]; + if (n !== null) + for (let s = 0; s < n.length - 1; s += 2) + if (typeof n[s] == "string") { + let a = n[s + 3]; + a >= 0 ? r[a]() : r[-a].unsubscribe(), s += 2; + } else { + let a = r[n[s + 1]]; + n[s].call(a); + } + r !== null && (t[on] = null); + let o = t[J]; + if (o !== null) { + t[J] = null; + for (let s = 0; s < o.length; s++) { + let a = o[s]; + a(); + } + } + let i = t[ct]; + if (i !== null) { + t[ct] = null; + for (let s of i) + s.destroy(); + } +} +function Cl(e6, t) { + let n; + if (e6 != null && (n = e6.destroyHooks) != null) + for (let r = 0; r < n.length; r += 2) { + let o = t[n[r]]; + if (!(o instanceof vt)) { + let i = n[r + 1]; + if (Array.isArray(i)) + for (let s = 0; s < i.length; s += 2) { + let a = o[i[s]], c = i[s + 1]; + M(I.LifecycleHookStart, a, c); + try { + c.call(a); + } finally { + M(I.LifecycleHookEnd, a, c); + } + } + else { + M(I.LifecycleHookStart, o, i); + try { + i.call(o); + } finally { + M(I.LifecycleHookEnd, o, i); + } + } + } + } +} +function wl(e6, t, n) { + return Tl(e6, t.parent, n); +} +function Tl(e6, t, n) { + let r = t; + for (; r !== null && r.type & 168; ) + t = r, r = t.parent; + if (r === null) + return n[q]; + if (lt(r)) { + let { encapsulation: o } = e6.data[r.directiveStart + r.componentOffset]; + if (o === z.None || o === z.Emulated) + return null; + } + return Ve(r, n); +} +function Ml(e6, t, n) { + return Sl(e6, t, n); +} +function _l(e6, t, n) { + return e6.type & 40 ? Ve(e6, n) : null; +} +var Sl = _l; +var Bs; +function ba(e6, t, n, r) { + let o = wl(e6, r, t), i = t[P], s = r.parent || t[te], a = Ml(s, r, t); + if (o != null) + if (Array.isArray(n)) + for (let c = 0; c < n.length; c++) + ks(i, o, n[c], a, false); + else + ks(i, o, n, a, false); + Bs !== void 0 && Bs(i, r, t, n, o); +} +function bl(e6, t) { + if (t !== null) { + let r = e6[Z][te], o = t.projection; + return r.projection[o]; + } + return null; +} +function Po(e6, t, n, r, o, i, s) { + for (; n != null; ) { + let a = r[Ee]; + if (n.type === 128) { + n = n.next; + continue; + } + let c = r[n.index], u = n.type; + if (s && t === 0 && (c && Et(ce(c), r), n.flags |= 2), !Oo(n)) + if (u & 8) + Po(e6, t, n.child, r, o, i, false), ze(t, e6, a, o, c, n, i, r); + else if (u & 32) { + let l = wa(n, r), d; + for (; d = l(); ) + ze(t, e6, a, o, d, n, i, r); + ze(t, e6, a, o, c, n, i, r); + } else + u & 16 ? Nl(e6, t, r, n, o, i) : ze(t, e6, a, o, c, n, i, r); + n = s ? n.projectionNext : n.next; + } +} +function jo(e6, t, n, r, o, i) { + Po(n, r, e6.firstChild, t, o, i, false); +} +function Nl(e6, t, n, r, o, i) { + let s = n[Z], c = s[te].projection[r.projection]; + if (Array.isArray(c)) + for (let u = 0; u < c.length; u++) { + let l = c[u]; + ze(t, e6, n[Ee], o, l, r, i, n); + } + else { + let u = c, l = s[O]; + zu(r) && (u.flags |= 128), Po(e6, t, u, l, o, i, true); + } +} +function Al(e6, t, n, r, o, i, s) { + let a = r[un], c = ce(r); + a !== c && ze(t, e6, n, i, a, o, s); + for (let u = re; u < r.length; u++) { + let l = r[u]; + jo(l[m], l, e6, t, i, a); + } +} +function Na(e6, t, n, r, o) { + let i = hn(), s = r & 2; + try { + le(-1), s && t.length > U && Ca(e6, t, U, false); + let a = s ? I.TemplateUpdateStart : I.TemplateCreateStart; + M(a, o, n), n(r, o); + } finally { + le(i); + let a = s ? I.TemplateUpdateEnd : I.TemplateCreateEnd; + M(a, o, n); + } +} +function xl(e6, t, n) { + Ll(e6, t, n), (n.flags & 64) === 64 && Pl(e6, t, n); +} +function Rl(e6, t, n = Ve) { + let r = t.localNames; + if (r !== null) { + let o = t.index + 1; + for (let i = 0; i < r.length; i += 2) { + let s = r[i + 1], a = s === -1 ? n(t, e6) : e6[s]; + e6[o++] = a; + } + } +} +function Ol(e6, t, n, r) { + let i = r.get(fa, da) || n === z.ShadowDom || n === z.ExperimentalIsolatedShadowDom, s = e6.selectRootElement(t, i); + return kl(s), s; +} +function kl(e6) { + Fl(e6); +} +var Fl = () => null; +function Ll(e6, t, n) { + let r = n.directiveStart, o = n.directiveEnd; + lt(n) && ll(t, n, e6.data[r + n.componentOffset]), e6.firstCreatePass || Js(n, t); + let i = n.initialInputs; + for (let s = r; s < o; s++) { + let a = e6.data[s], c = mo(t, e6, s, n); + if (Et(c, t), i !== null && Bl(t, s - r, c, a, n, i), je(a)) { + let u = ue(n.index, t); + u[k] = mo(t, e6, s, n); + } + } +} +function Pl(e6, t, n) { + let r = n.directiveStart, o = n.directiveEnd, i = n.index, s = hs(); + try { + le(i); + for (let a = r; a < o; a++) { + let c = e6.data[a], u = t[a]; + dn(a), (c.hostBindings !== null || c.hostVars !== 0 || c.hostAttrs !== null) && jl(c, u); + } + } finally { + le(-1), dn(s); + } +} +function jl(e6, t) { + e6.hostBindings !== null && e6.hostBindings(1, t); +} +function Bl(e6, t, n, r, o, i) { + let s = i[t]; + if (s !== null) + for (let a = 0; a < s.length; a += 2) { + let c = s[a], u = s[a + 1]; + Io(r, n, c, u); + } +} +function Vl(e6, t, n, r, o) { + let i = U + n, s = t[m], a = o(s, t, e6, r, n); + t[i] = a, ht(e6, true); + let c = e6.type === 2; + return c ? (ya(t[P], a, e6), (ns() === 0 || Qi(e6)) && Et(a, t), rs()) : Et(a, t), to() && (!c || !Oo(e6)) && ba(s, t, a, e6), e6; +} +function Hl(e6) { + let t = e6; + return Yr() ? us() : (t = t.parent, ht(t, false)), t; +} +function $l(e6, t, n, r, o) { + let i = e6.inputs?.[r], s = e6.hostDirectiveInputs?.[r], a = false; + if (s) + for (let c = 0; c < s.length; c += 2) { + let u = s[c], l = s[c + 1], d = t.data[u]; + Io(d, n[u], l, o), a = true; + } + if (i) + for (let c of i) { + let u = n[c], l = t.data[c]; + Io(l, u, r, o), a = true; + } + return a; +} +function Ul(e6, t) { + let n = ue(t, e6), r = n[m]; + zl(r, n); + let o = n[q]; + o !== null && n[rn] === null && (n[rn] = pa(o, n[Ee])), M(I.ComponentStart); + try { + Aa(r, n, n[k]); + } finally { + M(I.ComponentEnd, n[k]); + } +} +function zl(e6, t) { + for (let n = t.length; n < e6.blueprint.length; n++) + t.push(e6.blueprint[n]); +} +function Aa(e6, t, n) { + fn(t); + try { + let r = e6.viewQuery; + r !== null && Do(1, r, n); + let o = e6.template; + o !== null && Na(e6, t, o, 1, n), e6.firstCreatePass && (e6.firstCreatePass = false), t[sn]?.finishViewCreation(e6), e6.staticContentQueries && ha(e6, t), e6.staticViewQueries && Do(2, e6.viewQuery, n); + let i = e6.components; + i !== null && Gl(t, i); + } catch (r) { + throw e6.firstCreatePass && (e6.incompleteFirstPass = true, e6.firstCreatePass = false), r; + } finally { + t[h] &= -5, pn(); + } +} +function Gl(e6, t) { + for (let n = 0; n < t.length; n++) + Ul(e6, t[n]); +} +function It(e6, t, n, r, o = false) { + for (; n !== null; ) { + if (n.type === 128) { + n = o ? n.projectionNext : n.next; + continue; + } + let i = t[n.index]; + i !== null && r.push(ce(i)), ae(i) && xa(i, r); + let s = n.type; + if (s & 8) + It(e6, t, n.child, r); + else if (s & 32) { + let a = wa(n, t), c; + for (; c = a(); ) + r.push(c); + } else if (s & 16) { + let a = bl(t, n); + if (Array.isArray(a)) + r.push(...a); + else { + let c = me(t[Z]); + It(c[m], c, a, r, true); + } + } + n = o ? n.projectionNext : n.next; + } + return r; +} +function xa(e6, t) { + for (let n = re; n < e6.length; n++) { + let r = e6[n], o = r[m].firstChild; + o !== null && It(r[m], r, o, t); + } + e6[un] !== e6[q] && t.push(e6[un]); +} +function Ra(e6) { + if (e6[cn] !== null) { + for (let t of e6[cn]) + t.impl.addSequence(t); + e6[cn].length = 0; + } +} +var Oa = []; +function Wl(e6) { + return e6[F] ?? ql(e6); +} +function ql(e6) { + let t = Oa.pop() ?? Object.create(Yl); + return t.lView = e6, t; +} +function Zl(e6) { + e6.lView[F] !== e6 && (e6.lView = null, Oa.push(e6)); +} +var Yl = B(A({}, Pt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { + pt(e6.lView); +}, consumerOnSignalRead() { + this.lView[F] = this; +} }); +function Ql(e6) { + let t = e6[F] ?? Object.create(Kl); + return t.lView = e6, t; +} +var Kl = B(A({}, Pt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { + let t = me(e6.lView); + for (; t && !ka(t[m]); ) + t = me(t); + t && zr(t); +}, consumerOnSignalRead() { + this.lView[F] = this; +} }); +function ka(e6) { + return e6.type !== 2; +} +function Fa(e6) { + if (e6[ct] === null) + return; + let t = true; + for (; t; ) { + let n = false; + for (let r of e6[ct]) + r.dirty && (n = true, r.zone === null || Zone.current === r.zone ? r.run() : r.zone.run(() => r.run())); + t = n && !!(e6[h] & 8192); + } +} +var Jl = 100; +function La(e6, t = 0) { + let r = e6[ne].rendererFactory, o = false; + o || r.begin?.(); + try { + Xl(e6, t); + } finally { + o || r.end?.(); + } +} +function Xl(e6, t) { + let n = Qr(); + try { + Kr(true), wo(e6, t); + let r = 0; + for (; ft(e6); ) { + if (r === Jl) + throw new g(103, false); + r++, wo(e6, 1); + } + } finally { + Kr(n); + } +} +function ed(e6, t, n, r) { + if (Ce(t)) + return; + let o = t[h], i = false, s = false; + fn(t); + let a = true, c = null, u = null; + i || (ka(e6) ? (u = Wl(t), c = Yn(u)) : Lt() === null ? (a = false, u = Ql(t), c = Yn(u)) : t[F] && (jt(t[F]), t[F] = null)); + try { + Ur(t), ls(e6.bindingStartIndex), n !== null && Na(e6, t, n, 2, r); + let l = (o & 3) === 3; + if (!i) + if (l) { + let f = e6.preOrderCheckHooks; + f !== null && mn(t, f, null); + } else { + let f = e6.preOrderHooks; + f !== null && yn(t, f, 0, null), uo(t, 0); + } + if (s || td(t), Fa(t), Pa(t, 0), e6.contentQueries !== null && ha(e6, t), !i) + if (l) { + let f = e6.contentCheckHooks; + f !== null && mn(t, f); + } else { + let f = e6.contentHooks; + f !== null && yn(t, f, 1), uo(t, 1); + } + rd(e6, t); + let d = e6.components; + d !== null && Ba(t, d, 0); + let p = e6.viewQuery; + if (p !== null && Do(2, p, r), !i) + if (l) { + let f = e6.viewCheckHooks; + f !== null && mn(t, f); + } else { + let f = e6.viewHooks; + f !== null && yn(t, f, 2), uo(t, 2); + } + if (e6.firstUpdatePass === true && (e6.firstUpdatePass = false), t[an]) { + for (let f of t[an]) + f(); + t[an] = null; + } + i || (Ra(t), t[h] &= -73); + } catch (l) { + throw i || pt(t), l; + } finally { + u !== null && (ci(u, c), a && Zl(u)), pn(); + } +} +function Pa(e6, t) { + for (let n = ca(e6); n !== null; n = ua(n)) + for (let r = re; r < n.length; r++) { + let o = n[r]; + ja(o, t); + } +} +function td(e6) { + for (let t = ca(e6); t !== null; t = ua(t)) { + if (!(t[h] & 2)) + continue; + let n = t[ut]; + for (let r = 0; r < n.length; r++) { + let o = n[r]; + zr(o); + } + } +} +function nd(e6, t, n) { + M(I.ComponentStart); + let r = ue(t, e6); + try { + ja(r, n); + } finally { + M(I.ComponentEnd, r[k]); + } +} +function ja(e6, t) { + ln(e6) && wo(e6, t); +} +function wo(e6, t) { + let r = e6[m], o = e6[h], i = e6[F], s = !!(t === 0 && o & 16); + if (s ||= !!(o & 64 && t === 0), s ||= !!(o & 1024), s ||= !!(i?.dirty && Qn(i)), s ||= false, i && (i.dirty = false), e6[h] &= -9217, s) + ed(r, e6, r.template, e6[k]); + else if (o & 8192) { + let a = y(null); + try { + Fa(e6), Pa(e6, 1); + let c = r.components; + c !== null && Ba(e6, c, 1), Ra(e6); + } finally { + y(a); + } + } +} +function Ba(e6, t, n) { + for (let r = 0; r < t.length; r++) + nd(e6, t[r], n); +} +function rd(e6, t) { + let n = e6.hostBindingOpCodes; + if (n !== null) + try { + for (let r = 0; r < n.length; r++) { + let o = n[r]; + if (o < 0) + le(~o); + else { + let i = o, s = n[++r], a = n[++r]; + ps(s, i); + let c = t[i]; + M(I.HostBindingsUpdateStart, c); + try { + a(2, c); + } finally { + M(I.HostBindingsUpdateEnd, c); + } + } + } + } finally { + le(-1); + } +} +function Va(e6, t) { + let n = Qr() ? 64 : 1088; + for (e6[ne].changeDetectionScheduler?.notify(t); e6; ) { + e6[h] |= n; + let r = me(e6); + if (Be(e6) && !r) + return e6; + e6 = r; + } + return null; +} +function od(e6, t) { + if (e6.length <= re) + return; + let n = re + t, r = e6[n]; + if (r) { + let o = r[at]; + o !== null && o !== e6 && Lo(o, r), t > 0 && (e6[n - 1][ee] = r[ee]); + let i = Fr(e6, re + t); + yl(r[m], r); + let s = i[sn]; + s !== null && s.detachView(i[m]), r[O] = null, r[ee] = null, r[h] &= -129; + } + return r; +} +function id(e6, t) { + let n = e6[ut], r = t[O]; + if (se(r)) + e6[h] |= 2; + else { + let o = r[O][Z]; + t[Z] !== o && (e6[h] |= 2); + } + n === null ? e6[ut] = [t] : n.push(t); +} +var In = class { + _lView; + _cdRefInjectingView; + _appRef = null; + _attachedToViewContainer = false; + exhaustive; + get rootNodes() { + let t = this._lView, n = t[m]; + return It(n, t, n.firstChild, []); + } + constructor(t, n) { + this._lView = t, this._cdRefInjectingView = n; + } + get context() { + return this._lView[k]; + } + set context(t) { + this._lView[k] = t; + } + get destroyed() { + return Ce(this._lView); + } + destroy() { + if (this._appRef) + this._appRef.detachView(this); + else if (this._attachedToViewContainer) { + let t = this._lView[O]; + if (ae(t)) { + let n = t[Yi], r = n ? n.indexOf(this) : -1; + r > -1 && (od(t, r), Fr(n, r)); + } + this._attachedToViewContainer = false; + } + vl(this._lView[m], this._lView); + } + onDestroy(t) { + Wr(this._lView, t); + } + markForCheck() { + Va(this._cdRefInjectingView || this._lView, 4); + } + detach() { + this._lView[h] &= -129; + } + reattach() { + Gr(this._lView), this._lView[h] |= 128; + } + detectChanges() { + this._lView[h] |= 1024, La(this._lView); + } + checkNoChanges() { + } + attachToViewContainerRef() { + if (this._appRef) + throw new g(902, false); + this._attachedToViewContainer = true; + } + detachFromAppRef() { + this._appRef = null; + let t = Be(this._lView), n = this._lView[at]; + n !== null && !t && Lo(n, this._lView), Sa(this._lView[m], this._lView); + } + attachToAppRef(t) { + if (this._attachedToViewContainer) + throw new g(902, false); + this._appRef = t; + let n = Be(this._lView), r = this._lView[at]; + r !== null && !n && id(r, this._lView), Gr(this._lView); + } +}; +function Bo(e6, t, n, r, o) { + let i = e6.data[t]; + if (i === null) + i = sd(e6, t, n, r, o), fs() && (i.flags |= 32); + else if (i.type & 64) { + i.type = n, i.value = r, i.attrs = o; + let s = cs(); + i.injectorIndex = s === null ? -1 : s.injectorIndex; + } + return ht(i, true), i; +} +function sd(e6, t, n, r, o) { + let i = Zr(), s = Yr(), a = s ? i : i && i.parent, c = e6.data[t] = cd(e6, a, n, t, r, o); + return ad(e6, c, i, s), c; +} +function ad(e6, t, n, r) { + e6.firstChild === null && (e6.firstChild = t), n !== null && (r ? n.child == null && t.parent !== null && (n.child = t) : n.next === null && (n.next = t, t.prev = n)); +} +function cd(e6, t, n, r, o, i) { + let s = t ? t.injectorIndex : -1, a = 0; + return is() && (a |= 128), { type: n, index: r, insertBeforeIndex: null, injectorIndex: s, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, controlDirectiveIndex: -1, customControlIndex: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: o, attrs: i, mergedAttrs: null, localNames: null, initialInputs: null, inputs: null, hostDirectiveInputs: null, outputs: null, hostDirectiveOutputs: null, directiveToIndex: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 }; +} +var Ha = class { +}; +var An = class { +}; +var To = class { + resolveComponentFactory(t) { + throw new g(917, false); + } +}; +var xn = class { + static NULL = new To(); +}; +var we = class { +}; +var $a = (() => { + class e6 { + static \u0275prov = _({ token: e6, providedIn: "root", factory: () => null }); + } + return e6; +})(); +var Dn = {}; +var Mo = class { + injector; + parentInjector; + constructor(t, n) { + this.injector = t, this.parentInjector = n; + } + get(t, n, r) { + let o = this.injector.get(t, Dn, r); + return o !== Dn || n === Dn ? o : this.parentInjector.get(t, n, r); + } +}; +function Cn(e6, t, n) { + let r = n ? e6.styles : null, o = n ? e6.classes : null, i = 0; + if (t !== null) + for (let s = 0; s < t.length; s++) { + let a = t[s]; + if (typeof a == "number") + i = a; + else if (i == 1) + o = _r(o, a); + else if (i == 2) { + let c = a, u = t[++s]; + r = _r(r, c + ": " + u + ";"); + } + } + n ? e6.styles = r : e6.stylesWithoutHost = r, n ? e6.classes = o : e6.classesWithoutHost = o; +} +function Tt(e6, t = 0) { + let n = Y(); + if (n === null) + return E(e6, t); + let r = He(); + return ra(r, n, R(e6), t); +} +function ud(e6, t, n, r, o) { + let i = r === null ? null : { "": -1 }, s = o(e6, n); + if (s !== null) { + let a = s, c = null, u = null; + for (let l of s) + if (l.resolveHostDirectives !== null) { + [a, c, u] = l.resolveHostDirectives(s); + break; + } + fd(e6, t, n, a, i, c, u); + } + i !== null && r !== null && ld(n, r, i); +} +function ld(e6, t, n) { + let r = e6.localNames = []; + for (let o = 0; o < t.length; o += 2) { + let i = n[t[o + 1]]; + if (i == null) + throw new g(-301, false); + r.push(t[o], i); + } +} +function dd(e6, t, n) { + t.componentOffset = n, (e6.components ??= []).push(t.index); +} +function fd(e6, t, n, r, o, i, s) { + let a = r.length, c = null; + for (let p = 0; p < a; p++) { + let f = r[p]; + c === null && je(f) && (c = f, dd(e6, n, p)), Pu(Js(n, t), e6, f.type); + } + Dd(n, e6.data.length, a), c?.viewProvidersResolver && c.viewProvidersResolver(c); + for (let p = 0; p < a; p++) { + let f = r[p]; + f.providersResolver && f.providersResolver(f); + } + let u = false, l = false, d = Ia(e6, t, a, null); + a > 0 && (n.directiveToIndex = /* @__PURE__ */ new Map()); + for (let p = 0; p < a; p++) { + let f = r[p]; + if (n.mergedAttrs = No(n.mergedAttrs, f.hostAttrs), hd(e6, n, t, d, f), yd(d, f, o), s !== null && s.has(f)) { + let [zn, lc] = s.get(f); + n.directiveToIndex.set(f.type, [d, zn + n.directiveStart, lc + n.directiveStart]); + } else + (i === null || !i.has(f)) && n.directiveToIndex.set(f.type, d); + f.contentQueries !== null && (n.flags |= 4), (f.hostBindings !== null || f.hostAttrs !== null || f.hostVars !== 0) && (n.flags |= 64); + let T = f.type.prototype; + !u && (T.ngOnChanges || T.ngOnInit || T.ngDoCheck) && ((e6.preOrderHooks ??= []).push(n.index), u = true), !l && (T.ngOnChanges || T.ngDoCheck) && ((e6.preOrderCheckHooks ??= []).push(n.index), l = true), d++; + } + pd(e6, n, i); +} +function pd(e6, t, n) { + for (let r = t.directiveStart; r < t.directiveEnd; r++) { + let o = e6.data[r]; + if (n === null || !n.has(o)) + Vs(0, t, o, r), Vs(1, t, o, r), $s(t, r, false); + else { + let i = n.get(o); + Hs(0, t, i, r), Hs(1, t, i, r), $s(t, r, true); + } + } +} +function Vs(e6, t, n, r) { + let o = e6 === 0 ? n.inputs : n.outputs; + for (let i in o) + if (o.hasOwnProperty(i)) { + let s; + e6 === 0 ? s = t.inputs ??= {} : s = t.outputs ??= {}, s[i] ??= [], s[i].push(r), Ua(t, i); + } +} +function Hs(e6, t, n, r) { + let o = e6 === 0 ? n.inputs : n.outputs; + for (let i in o) + if (o.hasOwnProperty(i)) { + let s = o[i], a; + e6 === 0 ? a = t.hostDirectiveInputs ??= {} : a = t.hostDirectiveOutputs ??= {}, a[s] ??= [], a[s].push(r, i), Ua(t, s); + } +} +function Ua(e6, t) { + t === "class" ? e6.flags |= 8 : t === "style" && (e6.flags |= 16); +} +function $s(e6, t, n) { + let { attrs: r, inputs: o, hostDirectiveInputs: i } = e6; + if (r === null || !n && o === null || n && i === null || ol(e6)) { + e6.initialInputs ??= [], e6.initialInputs.push(null); + return; + } + let s = null, a = 0; + for (; a < r.length; ) { + let c = r[a]; + if (c === 0) { + a += 4; + continue; + } else if (c === 5) { + a += 2; + continue; + } else if (typeof c == "number") + break; + if (!n && o.hasOwnProperty(c)) { + let u = o[c]; + for (let l of u) + if (l === t) { + s ??= [], s.push(c, r[a + 1]); + break; + } + } else if (n && i.hasOwnProperty(c)) { + let u = i[c]; + for (let l = 0; l < u.length; l += 2) + if (u[l] === t) { + s ??= [], s.push(u[l + 1], r[a + 1]); + break; + } + } + a += 2; + } + e6.initialInputs ??= [], e6.initialInputs.push(s); +} +function hd(e6, t, n, r, o) { + e6.data[r] = o; + let i = o.factory || (o.factory = Re(o.type, true)), s = new vt(i, je(o), Tt, null); + e6.blueprint[r] = s, n[r] = s, gd(e6, t, r, Ia(e6, n, o.hostVars, qe), o); +} +function gd(e6, t, n, r, o) { + let i = o.hostBindings; + if (i) { + let s = e6.hostBindingOpCodes; + s === null && (s = e6.hostBindingOpCodes = []); + let a = ~t.index; + md(s) != a && s.push(a), s.push(n, r, i); + } +} +function md(e6) { + let t = e6.length; + for (; t > 0; ) { + let n = e6[--t]; + if (typeof n == "number" && n < 0) + return n; + } + return 0; +} +function yd(e6, t, n) { + if (n) { + if (t.exportAs) + for (let r = 0; r < t.exportAs.length; r++) + n[t.exportAs[r]] = e6; + je(t) && (n[""] = e6); + } +} +function Dd(e6, t, n) { + e6.flags |= 1, e6.directiveStart = t, e6.directiveEnd = t + n, e6.providerIndexes = t; +} +function vd(e6, t, n, r, o, i, s, a) { + let c = t[m], u = c.consts, l = dt(u, s), d = Bo(c, e6, n, r, l); + return i && ud(c, t, d, dt(u, a), o), d.mergedAttrs = No(d.mergedAttrs, d.attrs), d.attrs !== null && Cn(d, d.attrs, false), d.mergedAttrs !== null && Cn(d, d.mergedAttrs, true), c.queries !== null && c.queries.elementStart(c, d), d; +} +function Ed(e6, t) { + bu(e6, t), $r(t) && e6.queries.elementEnd(t); +} +function Id(e6, t, n, r, o, i) { + let s = t.consts, a = dt(s, o), c = Bo(t, e6, n, r, a); + if (c.mergedAttrs = No(c.mergedAttrs, c.attrs), i != null) { + let u = dt(s, i); + c.localNames = []; + for (let l = 0; l < u.length; l += 2) + c.localNames.push(u[l], -1); + } + return c.attrs !== null && Cn(c, c.attrs, false), c.mergedAttrs !== null && Cn(c, c.mergedAttrs, true), t.queries !== null && t.queries.elementStart(t, c), c; +} +function Cd(e6, t, n) { + if (n === qe) + return false; + let r = e6[t]; + return Object.is(r, n) ? false : (e6[t] = n, true); +} +var _o = Symbol("BINDING"); +function wd(e6) { + return e6.debugInfo?.className || e6.type.name || null; +} +var So = class extends xn { + ngModule; + constructor(t) { + super(), this.ngModule = t; + } + resolveComponentFactory(t) { + let n = ot(t); + return new wn(n, this.ngModule); + } +}; +function Td(e6) { + return Object.keys(e6).map((t) => { + let [n, r, o] = e6[t], i = { propName: n, templateName: t, isSignal: (r & Nn.SignalBased) !== 0 }; + return o && (i.transform = o), i; + }); +} +function Md(e6) { + return Object.keys(e6).map((t) => ({ propName: e6[t], templateName: t })); +} +function _d(e6, t, n) { + let r = t instanceof $ ? t : t?.injector; + return r && e6.getStandaloneInjector !== null && (r = e6.getStandaloneInjector(r) || r), r ? new Mo(n, r) : n; +} +function Sd(e6) { + let t = e6.get(we, null); + if (t === null) + throw new g(407, false); + let n = e6.get($a, null), r = e6.get(Oe, null), o = e6.get(Ze, null, { optional: true }); + return { rendererFactory: t, sanitizer: n, changeDetectionScheduler: r, ngReflect: false, tracingService: o }; +} +function bd(e6, t) { + let n = za(e6); + return ga(t, n, n === "svg" ? Ki : n === "math" ? Ji : null); +} +function za(e6) { + return (e6.selectors[0][0] || "div").toLowerCase(); +} +var wn = class extends An { + componentDef; + ngModule; + selector; + componentType; + ngContentSelectors; + isBoundToModule; + cachedInputs = null; + cachedOutputs = null; + get inputs() { + return this.cachedInputs ??= Td(this.componentDef.inputs), this.cachedInputs; + } + get outputs() { + return this.cachedOutputs ??= Md(this.componentDef.outputs), this.cachedOutputs; + } + constructor(t, n) { + super(), this.componentDef = t, this.ngModule = n, this.componentType = t.type, this.selector = sl(t.selectors), this.ngContentSelectors = t.ngContentSelectors ?? [], this.isBoundToModule = !!n; + } + create(t, n, r, o, i, s) { + M(I.DynamicComponentStart); + let a = y(null); + try { + let c = this.componentDef, u = _d(c, o || this.ngModule, t), l = Sd(u), d = l.tracingService; + return d && d.componentCreate ? d.componentCreate(wd(c), () => this.createComponentRef(l, u, n, r, i, s)) : this.createComponentRef(l, u, n, r, i, s); + } finally { + y(a); + } + } + createComponentRef(t, n, r, o, i, s) { + let a = this.componentDef, c = Nd(o, a, s, i), u = t.rendererFactory.createRenderer(null, a), l = o ? Ol(u, o, a.encapsulation, n) : bd(a, u), d = s?.some(Us) || i?.some((T) => typeof T != "function" && T.bindings.some(Us)), p = va(null, c, null, 512 | Ea(a), null, null, t, u, n, null, pa(l, n, true)); + p[U] = l, fn(p); + let f = null; + try { + let T = vd(U, p, 2, "#host", () => c.directiveRegistry, true, 0); + ya(u, l, T), Et(l, p), xl(c, p, T), Ku(c, T, p), Ed(c, T), r !== void 0 && xd(T, this.ngContentSelectors, r), f = ue(T.index, p), p[k] = f[k], Aa(c, p, null); + } catch (T) { + throw f !== null && yo(f), yo(p), T; + } finally { + M(I.DynamicComponentEnd), pn(); + } + return new Tn(this.componentType, p, !!d); + } +}; +function Nd(e6, t, n, r) { + let o = e6 ? ["ng-version", "21.2.11"] : al(t.selectors[0]), i = null, s = null, a = 0; + if (n) + for (let l of n) + a += l[_o].requiredVars, l.create && (l.targetIdx = 0, (i ??= []).push(l)), l.update && (l.targetIdx = 0, (s ??= []).push(l)); + if (r) + for (let l = 0; l < r.length; l++) { + let d = r[l]; + if (typeof d != "function") + for (let p of d.bindings) { + a += p[_o].requiredVars; + let f = l + 1; + p.create && (p.targetIdx = f, (i ??= []).push(p)), p.update && (p.targetIdx = f, (s ??= []).push(p)); + } + } + let c = [t]; + if (r) + for (let l of r) { + let d = typeof l == "function" ? l : l.type, p = xr(d); + c.push(p); + } + return Da(0, null, Ad(i, s), 1, a, c, null, null, null, [o], null); +} +function Ad(e6, t) { + return !e6 && !t ? null : (n) => { + if (n & 1 && e6) + for (let r of e6) + r.create(); + if (n & 2 && t) + for (let r of t) + r.update(); + }; +} +function Us(e6) { + let t = e6[_o].kind; + return t === "input" || t === "twoWay"; +} +var Tn = class extends Ha { + _rootLView; + _hasInputBindings; + instance; + hostView; + changeDetectorRef; + componentType; + location; + previousInputValues = null; + _tNode; + constructor(t, n, r) { + super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = es(n[m], U), this.location = sa(this._tNode, n), this.instance = ue(this._tNode.index, n)[k], this.hostView = this.changeDetectorRef = new In(n, void 0), this.componentType = t; + } + setInput(t, n) { + this._hasInputBindings; + let r = this._tNode; + if (this.previousInputValues ??= /* @__PURE__ */ new Map(), this.previousInputValues.has(t) && Object.is(this.previousInputValues.get(t), n)) + return; + let o = this._rootLView, i = $l(r, o[m], o, t, n); + this.previousInputValues.set(t, n); + let s = ue(r.index, o); + Va(s, 1); + } + get injector() { + return new En(this._tNode, this._rootLView); + } + destroy() { + this.hostView.destroy(); + } + onDestroy(t) { + this.hostView.onDestroy(t); + } +}; +function xd(e6, t, n) { + let r = e6.projection = []; + for (let o = 0; o < t.length; o++) { + let i = n[o]; + r.push(i != null && i.length ? Array.from(i) : null); + } +} +var Mn = class { +}; +var Ct = class extends Mn { + injector; + componentFactoryResolver = new So(this); + instance = null; + constructor(t) { + super(); + let n = new ge([...t.providers, { provide: Mn, useValue: this }, { provide: xn, useValue: this.componentFactoryResolver }], t.parent || st(), t.debugName, /* @__PURE__ */ new Set(["environment"])); + this.injector = n, t.runEnvironmentInitializers && n.resolveInjectorInitializers(); + } + destroy() { + this.injector.destroy(); + } + onDestroy(t) { + this.injector.onDestroy(t); + } +}; +function Ga(e6, t, n = null) { + return new Ct({ providers: e6, parent: t, debugName: n, runEnvironmentInitializers: true }).injector; +} +var Rd = (() => { + class e6 { + _injector; + cachedInjectors = /* @__PURE__ */ new Map(); + constructor(n) { + this._injector = n; + } + getOrCreateStandaloneInjector(n) { + if (!n.standalone) + return null; + if (!this.cachedInjectors.has(n)) { + let r = jr(false, n.type), o = r.length > 0 ? Ga([r], this._injector, "") : null; + this.cachedInjectors.set(n, o); + } + return this.cachedInjectors.get(n); + } + ngOnDestroy() { + try { + for (let n of this.cachedInjectors.values()) + n !== null && n.destroy(); + } finally { + this.cachedInjectors.clear(); + } + } + static \u0275prov = _({ token: e6, providedIn: "environment", factory: () => new e6(E($)) }); + } + return e6; +})(); +function Vo(e6) { + return bo(() => { + let t = Ld(e6), n = B(A({}, t), { decls: e6.decls, vars: e6.vars, template: e6.template, consts: e6.consts || null, ngContentSelectors: e6.ngContentSelectors, onPush: e6.changeDetection === xo.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e6.dependencies || null, getStandaloneInjector: t.standalone ? (o) => o.get(Rd).getOrCreateStandaloneInjector(n) : null, getExternalStyles: null, signals: e6.signals ?? false, data: e6.data || {}, encapsulation: e6.encapsulation || z.Emulated, styles: e6.styles || H, _: null, schemas: e6.schemas || null, tView: null, id: "" }); + t.standalone && Ta("NgStandalone"), Pd(n); + let r = e6.dependencies; + return n.directiveDefs = zs(r, Od), n.pipeDefs = zs(r, Pi), n.id = jd(n), n; + }); +} +function Od(e6) { + return ot(e6) || xr(e6); +} +function Rn(e6) { + return bo(() => ({ type: e6.type, bootstrap: e6.bootstrap || H, declarations: e6.declarations || H, imports: e6.imports || H, exports: e6.exports || H, transitiveCompileScopes: null, schemas: e6.schemas || null, id: e6.id || null })); +} +function kd(e6, t) { + if (e6 == null) + return ve; + let n = {}; + for (let r in e6) + if (e6.hasOwnProperty(r)) { + let o = e6[r], i, s, a, c; + Array.isArray(o) ? (a = o[0], i = o[1], s = o[2] ?? i, c = o[3] || null) : (i = o, s = o, a = Nn.None, c = null), n[i] = [r, a, c], t[i] = s; + } + return n; +} +function Fd(e6) { + if (e6 == null) + return ve; + let t = {}; + for (let n in e6) + e6.hasOwnProperty(n) && (t[e6[n]] = n); + return t; +} +function Ld(e6) { + let t = {}; + return { type: e6.type, providersResolver: null, viewProvidersResolver: null, factory: null, hostBindings: e6.hostBindings || null, hostVars: e6.hostVars || 0, hostAttrs: e6.hostAttrs || null, contentQueries: e6.contentQueries || null, declaredInputs: t, inputConfig: e6.inputs || ve, exportAs: e6.exportAs || null, standalone: e6.standalone ?? true, signals: e6.signals === true, selectors: e6.selectors || H, viewQuery: e6.viewQuery || null, features: e6.features || null, setInput: null, resolveHostDirectives: null, hostDirectives: null, controlDef: null, inputs: kd(e6.inputs, t), outputs: Fd(e6.outputs), debugInfo: null }; +} +function Pd(e6) { + e6.features?.forEach((t) => t(e6)); +} +function zs(e6, t) { + return e6 ? () => { + let n = typeof e6 == "function" ? e6() : e6, r = []; + for (let o of n) { + let i = t(o); + i !== null && r.push(i); + } + return r; + } : null; +} +function jd(e6) { + let t = 0, n = typeof e6.consts == "function" ? "" : e6.consts, r = [e6.selectors, e6.ngContentSelectors, e6.hostVars, e6.hostAttrs, n, e6.vars, e6.decls, e6.encapsulation, e6.standalone, e6.signals, e6.exportAs, JSON.stringify(e6.inputs), JSON.stringify(e6.outputs), Object.getOwnPropertyNames(e6.type.prototype), !!e6.contentQueries, !!e6.viewQuery]; + for (let i of r.join("|")) + t = Math.imul(31, t) + i.charCodeAt(0) << 0; + return t += 2147483648, "c" + t; +} +var Ho = new D(""); +function $o(e6) { + return !!e6 && typeof e6.then == "function"; +} +function Wa(e6) { + return !!e6 && typeof e6.subscribe == "function"; +} +var qa = new D(""); +var Uo = (() => { + class e6 { + resolve; + reject; + initialized = false; + done = false; + donePromise = new Promise((n, r) => { + this.resolve = n, this.reject = r; + }); + appInits = v(qa, { optional: true }) ?? []; + injector = v(ye); + constructor() { + } + runInitializers() { + if (this.initialized) + return; + let n = []; + for (let o of this.appInits) { + let i = nn(this.injector, o); + if ($o(i)) + n.push(i); + else if (Wa(i)) { + let s = new Promise((a, c) => { + i.subscribe({ complete: a, error: c }); + }); + n.push(s); + } + } + let r = () => { + this.done = true, this.resolve(); + }; + Promise.all(n).then(() => { + r(); + }).catch((o) => { + this.reject(o); + }), n.length === 0 && r(), this.initialized = true; + } + static \u0275fac = function(r) { + return new (r || e6)(); + }; + static \u0275prov = _({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + } + return e6; +})(); +var Za = new D(""); +function Ya() { + Jn(() => { + let e6 = ""; + throw new g(600, e6); + }); +} +function Qa(e6) { + return e6.isBoundToModule; +} +var Bd = 10; +var On = (() => { + class e6 { + _runningTick = false; + _destroyed = false; + _destroyListeners = []; + _views = []; + internalErrorHandler = v(Ue); + afterRenderManager = v(Ma); + zonelessEnabled = v(mt); + rootEffectScheduler = v(co); + dirtyFlags = 0; + tracingSnapshot = null; + allTestViews = /* @__PURE__ */ new Set(); + autoDetectTestViews = /* @__PURE__ */ new Set(); + includeAllTestViews = false; + afterTick = new oe(); + get allViews() { + return [...(this.includeAllTestViews ? this.allTestViews : this.autoDetectTestViews).keys(), ...this._views]; + } + get destroyed() { + return this._destroyed; + } + componentTypes = []; + components = []; + internalPendingTask = v($e); + get isStable() { + return this.internalPendingTask.hasPendingTasksObservable.pipe(cr((n) => !n)); + } + constructor() { + v(Ze, { optional: true }); + } + whenStable() { + let n; + return new Promise((r) => { + n = this.isStable.subscribe({ next: (o) => { + o && r(); + } }); + }).finally(() => { + n.unsubscribe(); + }); + } + _injector = v($); + _rendererFactory = null; + get injector() { + return this._injector; + } + bootstrap(n, r) { + return this.bootstrapImpl(n, r); + } + bootstrapImpl(n, r, o = ye.NULL) { + return this._injector.get(L).run(() => { + M(I.BootstrapComponentStart); + let s = n instanceof An; + if (!this._injector.get(Uo).done) { + let T = ""; + throw new g(405, T); + } + let c; + s ? c = n : c = this._injector.get(xn).resolveComponentFactory(n), this.componentTypes.push(c.componentType); + let u = Qa(c) ? void 0 : this._injector.get(Mn), l = r || c.selector, d = c.create(o, [], l, u), p = d.location.nativeElement, f = d.injector.get(Ho, null); + return f?.registerApplication(p), d.onDestroy(() => { + this.detachView(d.hostView), Dt(this.components, d), f?.unregisterApplication(p); + }), this._loadComponent(d), M(I.BootstrapComponentEnd, d), d; + }); + } + tick() { + this.zonelessEnabled || (this.dirtyFlags |= 1), this._tick(); + } + _tick() { + M(I.ChangeDetectionStart), this.tracingSnapshot !== null ? this.tracingSnapshot.run(Fo.CHANGE_DETECTION, this.tickImpl) : this.tickImpl(); + } + tickImpl = () => { + if (this._runningTick) + throw M(I.ChangeDetectionEnd), new g(101, false); + let n = y(null); + try { + this._runningTick = true, this.synchronize(); + } finally { + this._runningTick = false, this.tracingSnapshot?.dispose(), this.tracingSnapshot = null, y(n), this.afterTick.next(), M(I.ChangeDetectionEnd); + } + }; + synchronize() { + this._rendererFactory === null && !this._injector.destroyed && (this._rendererFactory = this._injector.get(we, null, { optional: true })); + let n = 0; + for (; this.dirtyFlags !== 0 && n++ < Bd; ) { + M(I.ChangeDetectionSyncStart); + try { + this.synchronizeOnce(); + } finally { + M(I.ChangeDetectionSyncEnd); + } + } + } + synchronizeOnce() { + this.dirtyFlags & 16 && (this.dirtyFlags &= -17, this.rootEffectScheduler.flush()); + let n = false; + if (this.dirtyFlags & 7) { + let r = !!(this.dirtyFlags & 1); + this.dirtyFlags &= -8, this.dirtyFlags |= 8; + for (let { _lView: o } of this.allViews) { + if (!r && !ft(o)) + continue; + let i = r && !this.zonelessEnabled ? 0 : 1; + La(o, i), n = true; + } + if (this.dirtyFlags &= -5, this.syncDirtyFlagsWithViews(), this.dirtyFlags & 23) + return; + } + n || (this._rendererFactory?.begin?.(), this._rendererFactory?.end?.()), this.dirtyFlags & 8 && (this.dirtyFlags &= -9, this.afterRenderManager.execute()), this.syncDirtyFlagsWithViews(); + } + syncDirtyFlagsWithViews() { + if (this.allViews.some(({ _lView: n }) => ft(n))) { + this.dirtyFlags |= 2; + return; + } else + this.dirtyFlags &= -8; + } + attachView(n) { + let r = n; + this._views.push(r), r.attachToAppRef(this); + } + detachView(n) { + let r = n; + Dt(this._views, r), r.detachFromAppRef(); + } + _loadComponent(n) { + this.attachView(n.hostView); + try { + this.tick(); + } catch (o) { + this.internalErrorHandler(o); + } + this.components.push(n), this._injector.get(Za, []).forEach((o) => o(n)); + } + ngOnDestroy() { + if (!this._destroyed) + try { + this._destroyListeners.forEach((n) => n()), this._views.slice().forEach((n) => n.destroy()); + } finally { + this._destroyed = true, this._views = [], this._destroyListeners = []; + } + } + onDestroy(n) { + return this._destroyListeners.push(n), () => Dt(this._destroyListeners, n); + } + destroy() { + if (this._destroyed) + throw new g(406, false); + let n = this._injector; + n.destroy && !n.destroyed && n.destroy(); + } + get viewCount() { + return this._views.length; + } + static \u0275fac = function(r) { + return new (r || e6)(); + }; + static \u0275prov = _({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + } + return e6; +})(); +function Dt(e6, t) { + let n = e6.indexOf(t); + n > -1 && e6.splice(n, 1); +} +function Ye(e6, t, n, r) { + let o = Y(), i = o[m], s = e6 + U, a = i.firstCreatePass ? Id(s, i, 2, t, n, r) : i.data[s]; + return Vl(a, o, e6, t, Vd), r != null && Rl(o, a), Ye; +} +function Qe() { + let e6 = He(), t = Hl(e6); + return ss(t) && as(), os(), Qe; +} +var Vd = (e6, t, n, r, o) => (no(true), ga(t[P], r, Ds())); +var Mt = "en-US"; +var Hd = Mt; +function Ka(e6) { + typeof e6 == "string" && (Hd = e6.toLowerCase().replace(/_/g, "-")); +} +function _t(e6, t = "") { + let n = Y(), r = qr(), o = e6 + U, i = r.firstCreatePass ? Bo(r, o, 1, t, null) : r.data[o], s = $d(r, n, i, t); + n[o] = s, to() && ba(r, n, s, i), ht(i, false); +} +var $d = (e6, t, n, r) => (no(true), Ju(t[P], r)); +function Ud(e6, t, n, r = "") { + return Cd(e6, ds(), n) ? t + ji(n) + r : qe; +} +function kn(e6, t, n) { + let r = Y(), o = Ud(r, e6, t, n); + return o !== qe && zd(r, hn(), o), kn; +} +function zd(e6, t, n) { + let r = Xi(t, e6); + Xu(e6[P], r, n); +} +var Ja = (() => { + class e6 { + applicationErrorHandler = v(Ue); + appRef = v(On); + taskService = v($e); + ngZone = v(L); + zonelessEnabled = v(mt); + tracing = v(Ze, { optional: true }); + zoneIsDefined = typeof Zone < "u" && !!Zone.root.run; + schedulerTickApplyArgs = [{ data: { __scheduler_tick__: true } }]; + subscriptions = new b(); + angularZoneId = this.zoneIsDefined ? this.ngZone._inner?.get(tt) : null; + scheduleInRootZone = !this.zonelessEnabled && this.zoneIsDefined && (v(ao, { optional: true }) ?? false); + cancelScheduledCallback = null; + useMicrotaskScheduler = false; + runningTick = false; + pendingRenderTaskId = null; + constructor() { + this.subscriptions.add(this.appRef.afterTick.subscribe(() => { + let n = this.taskService.add(); + if (!this.runningTick && (this.cleanup(), !this.zonelessEnabled || this.appRef.includeAllTestViews)) { + this.taskService.remove(n); + return; + } + this.switchToMicrotaskScheduler(), this.taskService.remove(n); + })), this.subscriptions.add(this.ngZone.onUnstable.subscribe(() => { + this.runningTick || this.cleanup(); + })); + } + switchToMicrotaskScheduler() { + this.ngZone.runOutsideAngular(() => { + let n = this.taskService.add(); + this.useMicrotaskScheduler = true, queueMicrotask(() => { + this.useMicrotaskScheduler = false, this.taskService.remove(n); + }); + }); + } + notify(n) { + if (!this.zonelessEnabled && n === 5) + return; + switch (n) { + case 0: { + this.appRef.dirtyFlags |= 2; + break; + } + case 3: + case 2: + case 4: + case 5: + case 1: { + this.appRef.dirtyFlags |= 4; + break; + } + case 6: { + this.appRef.dirtyFlags |= 2; + break; + } + case 12: { + this.appRef.dirtyFlags |= 16; + break; + } + case 13: { + this.appRef.dirtyFlags |= 2; + break; + } + case 11: + break; + default: + this.appRef.dirtyFlags |= 8; + } + if (this.appRef.tracingSnapshot = this.tracing?.snapshot(this.appRef.tracingSnapshot) ?? null, !this.shouldScheduleTick()) + return; + let r = this.useMicrotaskScheduler ? ws : ro; + this.pendingRenderTaskId = this.taskService.add(), this.scheduleInRootZone ? this.cancelScheduledCallback = Zone.root.run(() => r(() => this.tick())) : this.cancelScheduledCallback = this.ngZone.runOutsideAngular(() => r(() => this.tick())); + } + shouldScheduleTick() { + return !(this.appRef.destroyed || this.pendingRenderTaskId !== null || this.runningTick || this.appRef._runningTick || !this.zonelessEnabled && this.zoneIsDefined && Zone.current.get(tt + this.angularZoneId)); + } + tick() { + if (this.runningTick || this.appRef.destroyed) + return; + if (this.appRef.dirtyFlags === 0) { + this.cleanup(); + return; + } + !this.zonelessEnabled && this.appRef.dirtyFlags & 7 && (this.appRef.dirtyFlags |= 1); + let n = this.taskService.add(); + try { + this.ngZone.run(() => { + this.runningTick = true, this.appRef._tick(); + }, void 0, this.schedulerTickApplyArgs); + } catch (r) { + this.applicationErrorHandler(r); + } finally { + this.taskService.remove(n), this.cleanup(); + } + } + ngOnDestroy() { + this.subscriptions.unsubscribe(), this.cleanup(); + } + cleanup() { + if (this.runningTick = false, this.cancelScheduledCallback?.(), this.cancelScheduledCallback = null, this.pendingRenderTaskId !== null) { + let n = this.pendingRenderTaskId; + this.pendingRenderTaskId = null, this.taskService.remove(n); + } + } + static \u0275fac = function(r) { + return new (r || e6)(); + }; + static \u0275prov = _({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + } + return e6; +})(); +function Xa() { + return [{ provide: Oe, useExisting: Ja }, { provide: L, useClass: nt }, { provide: mt, useValue: true }]; +} +function Gd() { + return typeof $localize < "u" && $localize.locale || Mt; +} +var zo = new D("", { factory: () => v(zo, { optional: true, skipSelf: true }) || Gd() }); +var Go = new D(""); +var of = new D(""); +function St(e6) { + return !e6.moduleRef; +} +function sf(e6) { + let t = St(e6) ? e6.r3Injector : e6.moduleRef.injector, n = t.get(L); + return n.run(() => { + St(e6) ? e6.r3Injector.resolveInjectorInitializers() : e6.moduleRef.resolveInjectorInitializers(); + let r = t.get(Ue), o; + if (n.runOutsideAngular(() => { + o = n.onError.subscribe({ next: r }); + }), St(e6)) { + let i = () => t.destroy(), s = e6.platformInjector.get(Go); + s.add(i), t.onDestroy(() => { + o.unsubscribe(), s.delete(i); + }); + } else { + let i = () => e6.moduleRef.destroy(), s = e6.platformInjector.get(Go); + s.add(i), e6.moduleRef.onDestroy(() => { + Dt(e6.allPlatformModules, e6.moduleRef), o.unsubscribe(), s.delete(i); + }); + } + return cf(r, n, () => { + let i = t.get($e), s = i.add(), a = t.get(Uo); + return a.runInitializers(), a.donePromise.then(() => { + let c = t.get(zo, Mt); + if (Ka(c || Mt), !t.get(of, true)) + return St(e6) ? t.get(On) : (e6.allPlatformModules.push(e6.moduleRef), e6.moduleRef); + if (St(e6)) { + let l = t.get(On); + return e6.rootComponent !== void 0 && l.bootstrap(e6.rootComponent), l; + } else + return af?.(e6.moduleRef, e6.allPlatformModules), e6.moduleRef; + }).finally(() => { + i.remove(s); + }); + }); + }); +} +var af; +function cf(e6, t, n) { + try { + let r = n(); + return $o(r) ? r.catch((o) => { + throw t.runOutsideAngular(() => e6(o)), o; + }) : r; + } catch (r) { + throw t.runOutsideAngular(() => e6(r)), r; + } +} +var Fn = null; +function uf(e6 = [], t) { + return ye.create({ name: t, providers: [{ provide: it, useValue: "platform" }, { provide: Go, useValue: /* @__PURE__ */ new Set([() => Fn = null]) }, ...e6] }); +} +function lf(e6 = []) { + if (Fn) + return Fn; + let t = uf(e6); + return Fn = t, Ya(), df(t), t; +} +function df(e6) { + let t = e6.get(Sn, null); + nn(e6, () => { + t?.forEach((n) => n()); + }); +} +var ff = 1e4; +var Iw = ff - 1e3; +function ec(e6) { + let { rootComponent: t, appProviders: n, platformProviders: r, platformRef: o } = e6; + M(I.BootstrapApplicationStart); + try { + let i = o?.injector ?? lf(r), s = [Xa(), Ms, ...n || []], a = new Ct({ providers: s, parent: i, debugName: "", runEnvironmentInitializers: false }); + return sf({ r3Injector: a.injector, platformInjector: i, rootComponent: t }); + } catch (i) { + return Promise.reject(i); + } finally { + M(I.BootstrapApplicationEnd); + } +} +var tc = null; +function Nt() { + return tc; +} +function Wo(e6) { + tc ??= e6; +} +var bt = class { +}; +var Pn = (() => { + class e6 { + static \u0275fac = function(r) { + return new (r || e6)(); + }; + static \u0275mod = Rn({ type: e6 }); + static \u0275inj = rt({}); + } + return e6; +})(); +function qo(e6, t) { + t = encodeURIComponent(t); + for (let n of e6.split(";")) { + let r = n.indexOf("="), [o, i] = r == -1 ? [n, ""] : [n.slice(0, r), n.slice(r + 1)]; + if (o.trim() === t) + return decodeURIComponent(i); + } + return null; +} +var At = class { +}; +var nc = "browser"; +var xt = class { + _doc; + constructor(t) { + this._doc = t; + } + manager; +}; +var jn = (() => { + class e6 extends xt { + constructor(n) { + super(n); + } + supports(n) { + return true; + } + addEventListener(n, r, o, i) { + return n.addEventListener(r, o, i), () => this.removeEventListener(n, r, o, i); + } + removeEventListener(n, r, o, i) { + return n.removeEventListener(r, o, i); + } + static \u0275fac = function(r) { + return new (r || e6)(E(j)); + }; + static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + } + return e6; +})(); +var Hn = new D(""); +var Ko = (() => { + class e6 { + _zone; + _plugins; + _eventNameToPlugin = /* @__PURE__ */ new Map(); + constructor(n, r) { + this._zone = r, n.forEach((s) => { + s.manager = this; + }); + let o = n.filter((s) => !(s instanceof jn)); + this._plugins = o.slice().reverse(); + let i = n.find((s) => s instanceof jn); + i && this._plugins.push(i); + } + addEventListener(n, r, o, i) { + return this._findPluginFor(r).addEventListener(n, r, o, i); + } + getZone() { + return this._zone; + } + _findPluginFor(n) { + let r = this._eventNameToPlugin.get(n); + if (r) + return r; + if (r = this._plugins.find((i) => i.supports(n)), !r) + throw new g(5101, false); + return this._eventNameToPlugin.set(n, r), r; + } + static \u0275fac = function(r) { + return new (r || e6)(E(Hn), E(L)); + }; + static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + } + return e6; +})(); +var Zo = "ng-app-id"; +function rc(e6) { + for (let t of e6) + t.remove(); +} +function oc(e6, t) { + let n = t.createElement("style"); + return n.textContent = e6, n; +} +function hf(e6, t, n, r) { + let o = e6.head?.querySelectorAll(`style[${Zo}="${t}"],link[${Zo}="${t}"]`); + if (o) + for (let i of o) + i.removeAttribute(Zo), i instanceof HTMLLinkElement ? r.set(i.href.slice(i.href.lastIndexOf("/") + 1), { usage: 0, elements: [i] }) : i.textContent && n.set(i.textContent, { usage: 0, elements: [i] }); +} +function Qo(e6, t) { + let n = t.createElement("link"); + return n.setAttribute("rel", "stylesheet"), n.setAttribute("href", e6), n; +} +var Jo = (() => { + class e6 { + doc; + appId; + nonce; + inline = /* @__PURE__ */ new Map(); + external = /* @__PURE__ */ new Map(); + hosts = /* @__PURE__ */ new Set(); + constructor(n, r, o, i = {}) { + this.doc = n, this.appId = r, this.nonce = o, hf(n, r, this.inline, this.external), this.hosts.add(n.head); + } + addStyles(n, r) { + for (let o of n) + this.addUsage(o, this.inline, oc); + r?.forEach((o) => this.addUsage(o, this.external, Qo)); + } + removeStyles(n, r) { + for (let o of n) + this.removeUsage(o, this.inline); + r?.forEach((o) => this.removeUsage(o, this.external)); + } + addUsage(n, r, o) { + let i = r.get(n); + i ? i.usage++ : r.set(n, { usage: 1, elements: [...this.hosts].map((s) => this.addElement(s, o(n, this.doc))) }); + } + removeUsage(n, r) { + let o = r.get(n); + o && (o.usage--, o.usage <= 0 && (rc(o.elements), r.delete(n))); + } + ngOnDestroy() { + for (let [, { elements: n }] of [...this.inline, ...this.external]) + rc(n); + this.hosts.clear(); + } + addHost(n) { + this.hosts.add(n); + for (let [r, { elements: o }] of this.inline) + o.push(this.addElement(n, oc(r, this.doc))); + for (let [r, { elements: o }] of this.external) + o.push(this.addElement(n, Qo(r, this.doc))); + } + removeHost(n) { + this.hosts.delete(n); + } + addElement(n, r) { + return this.nonce && r.setAttribute("nonce", this.nonce), n.appendChild(r); + } + static \u0275fac = function(r) { + return new (r || e6)(E(j), E(_n), E(bn, 8), E(wt)); + }; + static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + } + return e6; +})(); +var Yo = { svg: "http://www.w3.org/2000/svg", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/", math: "http://www.w3.org/1998/Math/MathML" }; +var Xo = /%COMP%/g; +var sc = "%COMP%"; +var gf = `_nghost-${sc}`; +var mf = `_ngcontent-${sc}`; +var yf = true; +var Df = new D("", { factory: () => yf }); +function vf(e6) { + return mf.replace(Xo, e6); +} +function Ef(e6) { + return gf.replace(Xo, e6); +} +function ac(e6, t) { + return t.map((n) => n.replace(Xo, e6)); +} +var ei = (() => { + class e6 { + eventManager; + sharedStylesHost; + appId; + removeStylesOnCompDestroy; + doc; + ngZone; + nonce; + tracingService; + rendererByCompId = /* @__PURE__ */ new Map(); + defaultRenderer; + constructor(n, r, o, i, s, a, c = null, u = null) { + this.eventManager = n, this.sharedStylesHost = r, this.appId = o, this.removeStylesOnCompDestroy = i, this.doc = s, this.ngZone = a, this.nonce = c, this.tracingService = u, this.defaultRenderer = new Rt(n, s, a, this.tracingService); + } + createRenderer(n, r) { + if (!n || !r) + return this.defaultRenderer; + let o = this.getOrCreateRenderer(n, r); + return o instanceof Vn ? o.applyToHost(n) : o instanceof Ot && o.applyStyles(), o; + } + getOrCreateRenderer(n, r) { + let o = this.rendererByCompId, i = o.get(r.id); + if (!i) { + let s = this.doc, a = this.ngZone, c = this.eventManager, u = this.sharedStylesHost, l = this.removeStylesOnCompDestroy, d = this.tracingService; + switch (r.encapsulation) { + case z.Emulated: + i = new Vn(c, u, r, this.appId, l, s, a, d); + break; + case z.ShadowDom: + return new Bn(c, n, r, s, a, this.nonce, d, u); + case z.ExperimentalIsolatedShadowDom: + return new Bn(c, n, r, s, a, this.nonce, d); + default: + i = new Ot(c, u, r, l, s, a, d); + break; + } + o.set(r.id, i); + } + return i; + } + ngOnDestroy() { + this.rendererByCompId.clear(); + } + componentReplaced(n) { + this.rendererByCompId.delete(n); + } + static \u0275fac = function(r) { + return new (r || e6)(E(Ko), E(Jo), E(_n), E(Df), E(j), E(L), E(bn), E(Ze, 8)); + }; + static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + } + return e6; +})(); +var Rt = class { + eventManager; + doc; + ngZone; + tracingService; + data = /* @__PURE__ */ Object.create(null); + throwOnSyntheticProps = true; + constructor(t, n, r, o) { + this.eventManager = t, this.doc = n, this.ngZone = r, this.tracingService = o; + } + destroy() { + } + destroyNode = null; + createElement(t, n) { + return n ? this.doc.createElementNS(Yo[n] || n, t) : this.doc.createElement(t); + } + createComment(t) { + return this.doc.createComment(t); + } + createText(t) { + return this.doc.createTextNode(t); + } + appendChild(t, n) { + (ic(t) ? t.content : t).appendChild(n); + } + insertBefore(t, n, r) { + t && (ic(t) ? t.content : t).insertBefore(n, r); + } + removeChild(t, n) { + n.remove(); + } + selectRootElement(t, n) { + let r = typeof t == "string" ? this.doc.querySelector(t) : t; + if (!r) + throw new g(-5104, false); + return n || (r.textContent = ""), r; + } + parentNode(t) { + return t.parentNode; + } + nextSibling(t) { + return t.nextSibling; + } + setAttribute(t, n, r, o) { + if (o) { + n = o + ":" + n; + let i = Yo[o]; + i ? t.setAttributeNS(i, n, r) : t.setAttribute(n, r); + } else + t.setAttribute(n, r); + } + removeAttribute(t, n, r) { + if (r) { + let o = Yo[r]; + o ? t.removeAttributeNS(o, n) : t.removeAttribute(`${r}:${n}`); + } else + t.removeAttribute(n); + } + addClass(t, n) { + t.classList.add(n); + } + removeClass(t, n) { + t.classList.remove(n); + } + setStyle(t, n, r, o) { + o & (Te.DashCase | Te.Important) ? t.style.setProperty(n, r, o & Te.Important ? "important" : "") : t.style[n] = r; + } + removeStyle(t, n, r) { + r & Te.DashCase ? t.style.removeProperty(n) : t.style[n] = ""; + } + setProperty(t, n, r) { + t != null && (t[n] = r); + } + setValue(t, n) { + t.nodeValue = n; + } + listen(t, n, r, o) { + if (typeof t == "string" && (t = Nt().getGlobalEventTarget(this.doc, t), !t)) + throw new g(5102, false); + let i = this.decoratePreventDefault(r); + return this.tracingService?.wrapEventListener && (i = this.tracingService.wrapEventListener(t, n, i)), this.eventManager.addEventListener(t, n, i, o); + } + decoratePreventDefault(t) { + return (n) => { + if (n === "__ngUnwrap__") + return t; + t(n) === false && n.preventDefault(); + }; + } +}; +function ic(e6) { + return e6.tagName === "TEMPLATE" && e6.content !== void 0; +} +var Bn = class extends Rt { + hostEl; + sharedStylesHost; + shadowRoot; + constructor(t, n, r, o, i, s, a, c) { + super(t, o, i, a), this.hostEl = n, this.sharedStylesHost = c, this.shadowRoot = n.attachShadow({ mode: "open" }), this.sharedStylesHost && this.sharedStylesHost.addHost(this.shadowRoot); + let u = r.styles; + u = ac(r.id, u); + for (let d of u) { + let p = document.createElement("style"); + s && p.setAttribute("nonce", s), p.textContent = d, this.shadowRoot.appendChild(p); + } + let l = r.getExternalStyles?.(); + if (l) + for (let d of l) { + let p = Qo(d, o); + s && p.setAttribute("nonce", s), this.shadowRoot.appendChild(p); + } + } + nodeOrShadowRoot(t) { + return t === this.hostEl ? this.shadowRoot : t; + } + appendChild(t, n) { + return super.appendChild(this.nodeOrShadowRoot(t), n); + } + insertBefore(t, n, r) { + return super.insertBefore(this.nodeOrShadowRoot(t), n, r); + } + removeChild(t, n) { + return super.removeChild(null, n); + } + parentNode(t) { + return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t))); + } + destroy() { + this.sharedStylesHost && this.sharedStylesHost.removeHost(this.shadowRoot); + } +}; +var Ot = class extends Rt { + sharedStylesHost; + removeStylesOnCompDestroy; + styles; + styleUrls; + constructor(t, n, r, o, i, s, a, c) { + super(t, i, s, a), this.sharedStylesHost = n, this.removeStylesOnCompDestroy = o; + let u = r.styles; + this.styles = c ? ac(c, u) : u, this.styleUrls = r.getExternalStyles?.(c); + } + applyStyles() { + this.sharedStylesHost.addStyles(this.styles, this.styleUrls); + } + destroy() { + this.removeStylesOnCompDestroy && We.size === 0 && this.sharedStylesHost.removeStyles(this.styles, this.styleUrls); + } +}; +var Vn = class extends Ot { + contentAttr; + hostAttr; + constructor(t, n, r, o, i, s, a, c) { + let u = o + "-" + r.id; + super(t, n, r, i, s, a, c, u), this.contentAttr = vf(u), this.hostAttr = Ef(u); + } + applyToHost(t) { + this.applyStyles(), this.setAttribute(t, this.hostAttr, ""); + } + createElement(t, n) { + let r = super.createElement(t, n); + return super.setAttribute(r, this.contentAttr, ""), r; + } +}; +var $n = class e4 extends bt { + supportsDOMEvents = true; + static makeCurrent() { + Wo(new e4()); + } + onAndCancel(t, n, r, o) { + return t.addEventListener(n, r, o), () => { + t.removeEventListener(n, r, o); + }; + } + dispatchEvent(t, n) { + t.dispatchEvent(n); + } + remove(t) { + t.remove(); + } + createElement(t, n) { + return n = n || this.getDefaultDocument(), n.createElement(t); + } + createHtmlDocument() { + return document.implementation.createHTMLDocument("fakeTitle"); + } + getDefaultDocument() { + return document; + } + isElementNode(t) { + return t.nodeType === Node.ELEMENT_NODE; + } + isShadowRoot(t) { + return t instanceof DocumentFragment; + } + getGlobalEventTarget(t, n) { + return n === "window" ? window : n === "document" ? t : n === "body" ? t.body : null; + } + getBaseHref(t) { + let n = If(); + return n == null ? null : Cf(n); + } + resetBaseElement() { + kt = null; + } + getUserAgent() { + return window.navigator.userAgent; + } + getCookie(t) { + return qo(document.cookie, t); + } +}; +var kt = null; +function If() { + return kt = kt || document.head.querySelector("base"), kt ? kt.getAttribute("href") : null; +} +function Cf(e6) { + return new URL(e6, document.baseURI).pathname; +} +var wf = (() => { + class e6 { + build() { + return new XMLHttpRequest(); + } + static \u0275fac = function(r) { + return new (r || e6)(); + }; + static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + } + return e6; +})(); +var cc = ["alt", "control", "meta", "shift"]; +var Tf = { "\b": "Backspace", " ": "Tab", "\x7F": "Delete", "\x1B": "Escape", Del: "Delete", Esc: "Escape", Left: "ArrowLeft", Right: "ArrowRight", Up: "ArrowUp", Down: "ArrowDown", Menu: "ContextMenu", Scroll: "ScrollLock", Win: "OS" }; +var Mf = { alt: (e6) => e6.altKey, control: (e6) => e6.ctrlKey, meta: (e6) => e6.metaKey, shift: (e6) => e6.shiftKey }; +var uc = (() => { + class e6 extends xt { + constructor(n) { + super(n); + } + supports(n) { + return e6.parseEventName(n) != null; + } + addEventListener(n, r, o, i) { + let s = e6.parseEventName(r), a = e6.eventCallback(s.fullKey, o, this.manager.getZone()); + return this.manager.getZone().runOutsideAngular(() => Nt().onAndCancel(n, s.domEventName, a, i)); + } + static parseEventName(n) { + let r = n.toLowerCase().split("."), o = r.shift(); + if (r.length === 0 || !(o === "keydown" || o === "keyup")) + return null; + let i = e6._normalizeKey(r.pop()), s = "", a = r.indexOf("code"); + if (a > -1 && (r.splice(a, 1), s = "code."), cc.forEach((u) => { + let l = r.indexOf(u); + l > -1 && (r.splice(l, 1), s += u + "."); + }), s += i, r.length != 0 || i.length === 0) + return null; + let c = {}; + return c.domEventName = o, c.fullKey = s, c; + } + static matchEventFullKeyCode(n, r) { + let o = Tf[n.key] || n.key, i = ""; + return r.indexOf("code.") > -1 && (o = n.code, i = "code."), o == null || !o ? false : (o = o.toLowerCase(), o === " " ? o = "space" : o === "." && (o = "dot"), cc.forEach((s) => { + if (s !== o) { + let a = Mf[s]; + a(n) && (i += s + "."); + } + }), i += o, i === r); + } + static eventCallback(n, r, o) { + return (i) => { + e6.matchEventFullKeyCode(i, n) && o.runGuarded(() => r(i)); + }; + } + static _normalizeKey(n) { + return n === "esc" ? "escape" : n; + } + static \u0275fac = function(r) { + return new (r || e6)(E(j)); + }; + static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + } + return e6; +})(); +async function ti(e6, t, n) { + let r = A({ rootComponent: e6 }, _f(t, n)); + return ec(r); +} +function _f(e6, t) { + return { platformRef: t?.platformRef, appProviders: [...xf, ...e6?.providers ?? []], platformProviders: Af }; +} +function Sf() { + $n.makeCurrent(); +} +function bf() { + return new X(); +} +function Nf() { + return Ro(document), document; +} +var Af = [{ provide: wt, useValue: nc }, { provide: Sn, useValue: Sf, multi: true }, { provide: j, useFactory: Nf }]; +var xf = [{ provide: it, useValue: "root" }, { provide: X, useFactory: bf }, { provide: Hn, useClass: jn, multi: true }, { provide: Hn, useClass: uc, multi: true }, ei, Jo, Ko, { provide: we, useExisting: ei }, { provide: At, useClass: wf }, []]; +var Un = class e5 { + constructor(t) { + this.model = t; + t && (this.message.set(t.get("message") || "Model loaded, no message."), t.on("change:message", () => { + this.message.set(t.get("message")); + })); + } + message = gn("Waiting for model..."); + static \u0275fac = function(n) { + return new (n || e5)(Tt("ANYWIDGET_MODEL")); + }; + static \u0275cmp = Vo({ type: e5, selectors: [["app-root"]], decls: 7, vars: 1, consts: [[1, "angular-widget"]], template: function(n, r) { + n & 1 && (Ye(0, "div", 0)(1, "h3"), _t(2, "Angular Hybrid Widget"), Qe(), Ye(3, "p"), _t(4, "Status: Infrastructure Loaded"), Qe(), Ye(5, "p"), _t(6), Qe()()), n & 2 && (ko(6), kn("Message from Python: ", r.message())); + }, dependencies: [Pn], styles: [".angular-widget[_ngcontent-%COMP%]{padding:10px;border:1px solid #ccc;border-radius:4px;background-color:#f9f9f9}"] }); +}; +function Rf({ model: e6, el: t }) { + let n = document.createElement("app-root"); + t.appendChild(n); + let r = { providers: [so(), { provide: "ANYWIDGET_MODEL", useValue: e6 }] }; + ti(Un, r).catch((o) => console.error(o)); +} +var NM = { render: Rf }; +export { + NM as default +}; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/.editorconfig b/packages/bigframes/bigframes/display/table_widget_angular/.editorconfig new file mode 100644 index 000000000000..f166060da1cb --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/.editorconfig @@ -0,0 +1,17 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single +ij_typescript_use_double_quotes = false + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/packages/bigframes/bigframes/display/table_widget_angular/.gitignore b/packages/bigframes/bigframes/display/table_widget_angular/.gitignore new file mode 100644 index 000000000000..854acd5fc039 --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/.gitignore @@ -0,0 +1,44 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/mcp.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings +__screenshots__/ + +# System files +.DS_Store +Thumbs.db diff --git a/packages/bigframes/bigframes/display/table_widget_angular/.prettierrc b/packages/bigframes/bigframes/display/table_widget_angular/.prettierrc new file mode 100644 index 000000000000..d6c16d7ee77b --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/.prettierrc @@ -0,0 +1,12 @@ +{ + "printWidth": 100, + "singleQuote": true, + "overrides": [ + { + "files": "*.html", + "options": { + "parser": "angular" + } + } + ] +} diff --git a/packages/bigframes/bigframes/display/table_widget_angular/README.md b/packages/bigframes/bigframes/display/table_widget_angular/README.md new file mode 100644 index 000000000000..5ba3b3f9e59c --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/README.md @@ -0,0 +1,59 @@ +# TableWidgetAngular + +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 21.2.9. + +## Development server + +To start a local development server, run: + +```bash +ng serve +``` + +Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. + +## Code scaffolding + +Angular CLI includes powerful code scaffolding tools. To generate a new component, run: + +```bash +ng generate component component-name +``` + +For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: + +```bash +ng generate --help +``` + +## Building + +To build the project run: + +```bash +ng build +``` + +This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. + +## Running unit tests + +To execute unit tests with the [Vitest](https://vitest.dev/) test runner, use the following command: + +```bash +ng test +``` + +## Running end-to-end tests + +For end-to-end (e2e) testing, run: + +```bash +ng e2e +``` + +Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. + +## Additional Resources + +For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/packages/bigframes/bigframes/display/table_widget_angular/angular.json b/packages/bigframes/bigframes/display/table_widget_angular/angular.json new file mode 100644 index 000000000000..497168c4c954 --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/angular.json @@ -0,0 +1,73 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "cli": { + "packageManager": "npm" + }, + "newProjectRoot": "projects", + "projects": { + "table-widget-angular": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular/build:application", + "options": { + "browser": "src/main.ts", + "tsConfig": "tsconfig.app.json", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.css" + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kB", + "maximumError": "1MB" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "4kB", + "maximumError": "8kB" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular/build:dev-server", + "configurations": { + "production": { + "buildTarget": "table-widget-angular:build:production" + }, + "development": { + "buildTarget": "table-widget-angular:build:development" + } + }, + "defaultConfiguration": "development" + }, + "test": { + "builder": "@angular/build:unit-test" + } + } + } + } +} diff --git a/packages/bigframes/bigframes/display/table_widget_angular/bundle.js b/packages/bigframes/bigframes/display/table_widget_angular/bundle.js new file mode 100644 index 000000000000..e36c12912e48 --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/bundle.js @@ -0,0 +1,10 @@ +const esbuild = require('esbuild'); +const path = require('path'); + +esbuild.build({ + entryPoints: [path.resolve(__dirname, 'dist/table-widget-angular/browser/main.js')], + bundle: true, + outfile: path.resolve(__dirname, '../table_widget_angular.js'), + format: 'esm', + logLevel: 'info', +}).catch(() => process.exit(1)); diff --git a/packages/bigframes/bigframes/display/table_widget_angular/package-lock.json b/packages/bigframes/bigframes/display/table_widget_angular/package-lock.json new file mode 100644 index 000000000000..80a7030ce3ac --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/package-lock.json @@ -0,0 +1,9506 @@ +{ + "name": "table-widget-angular", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "table-widget-angular", + "version": "0.0.0", + "dependencies": { + "@angular/common": "^21.2.0", + "@angular/compiler": "^21.2.0", + "@angular/core": "^21.2.0", + "@angular/forms": "^21.2.0", + "@angular/platform-browser": "^21.2.0", + "@angular/router": "^21.2.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0" + }, + "devDependencies": { + "@angular/build": "^21.2.9", + "@angular/cli": "^21.2.9", + "@angular/compiler-cli": "^21.2.0", + "esbuild": "^0.20.0", + "jsdom": "^28.0.0", + "prettier": "^3.8.1", + "typescript": "~5.9.2", + "vitest": "^4.0.8" + } + }, + "node_modules/@acemir/cssom": { + "version": "0.9.31", + "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.31.tgz", + "integrity": "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@algolia/abtesting": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.14.1.tgz", + "integrity": "sha512-Dkj0BgPiLAaim9sbQ97UKDFHJE/880wgStAM18U++NaJ/2Cws34J5731ovJifr6E3Pv4T2CqvMXf8qLCC417Ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.48.1.tgz", + "integrity": "sha512-LV5qCJdj+/m9I+Aj91o+glYszrzd7CX6NgKaYdTOj4+tUYfbS62pwYgUfZprYNayhkQpVFcrW8x8ZlIHpS23Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.48.1.tgz", + "integrity": "sha512-/AVoMqHhPm14CcHq7mwB+bUJbfCv+jrxlNvRjXAuO+TQa+V37N8k1b0ijaRBPdmSjULMd8KtJbQyUyabXOu6Kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.48.1.tgz", + "integrity": "sha512-VXO+qu2Ep6ota28ktvBm3sG53wUHS2n7bgLWmce5jTskdlCD0/JrV4tnBm1l7qpla1CeoQb8D7ShFhad+UoSOw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.48.1.tgz", + "integrity": "sha512-zl+Qyb0nLg+Y5YvKp1Ij+u9OaPaKg2/EPzTwKNiVyOHnQJlFxmXyUZL1EInczAZsEY8hVpPCLtNfhMhfxluXKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.48.1.tgz", + "integrity": "sha512-r89Qf9Oo9mKWQXumRu/1LtvVJAmEDpn8mHZMc485pRfQUMAwSSrsnaw1tQ3sszqzEgAr1c7rw6fjBI+zrAXTOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.48.1.tgz", + "integrity": "sha512-TPKNPKfghKG/bMSc7mQYD9HxHRUkBZA4q1PEmHgICaSeHQscGqL4wBrKkhfPlDV1uYBKW02pbFMUhsOt7p4ZpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.48.1.tgz", + "integrity": "sha512-4Fu7dnzQyQmMFknYwTiN/HxPbH4DyxvQ1m+IxpPp5oslOgz8m6PG5qhiGbqJzH4HiT1I58ecDiCAC716UyVA8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.48.1.tgz", + "integrity": "sha512-/RFq3TqtXDUUawwic/A9xylA2P3LDMO8dNhphHAUOU51b1ZLHrmZ6YYJm3df1APz7xLY1aht6okCQf+/vmrV9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.48.1", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.48.1.tgz", + "integrity": "sha512-Of0jTeAZRyRhC7XzDSjJef0aBkgRcvRAaw0ooYRlOw57APii7lZdq+layuNdeL72BRq1snaJhoMMwkmLIpJScw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.48.1.tgz", + "integrity": "sha512-bE7JcpFXzxF5zHwj/vkl2eiCBvyR1zQ7aoUdO+GDXxGp0DGw7nI0p8Xj6u8VmRQ+RDuPcICFQcCwRIJT5tDJFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.48.1.tgz", + "integrity": "sha512-MK3wZ2koLDnvH/AmqIF1EKbJlhRS5j74OZGkLpxI4rYvNi9Jn/C7vb5DytBnQ4KUWts7QsmbdwHkxY5txQHXVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.48.1.tgz", + "integrity": "sha512-2oDT43Y5HWRSIQMPQI4tA/W+TN/N2tjggZCUsqQV440kxzzoPGsvv9QP1GhQ4CoDa+yn6ygUsGp6Dr+a9sPPSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.48.1.tgz", + "integrity": "sha512-xcaCqbhupVWhuBP1nwbk1XNvwrGljozutEiLx06mvqDf3o8cHyEgQSHS4fKJM+UAggaWVnnFW+Nne5aQ8SUJXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.2102.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.9.tgz", + "integrity": "sha512-OlPEtd5pPZSFdkXEIyZ93jsfBrkvUrVPb3xs4z2WPRnBRk9jyey40eKnmql86KRHfdn4WjHpmde4NDgtDpZRxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "21.2.9", + "rxjs": "7.8.2" + }, + "bin": { + "architect": "bin/cli.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.9.tgz", + "integrity": "sha512-04rdOGEzjLWFHlyAwqtuikginFeQ2jfXS5HqqKNP0VtG6Uu9NUDAEW5UDvXgqkEMfCDwGZbmg2iRHxp3AmAKVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.18.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.4", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^5.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.9.tgz", + "integrity": "sha512-Gyyuq2Vet70AMkbC+e0L6rjzjZWjSOyKTlOJvd99GjjyWQf6eezjd8IcF17ppKJsML6YUagO2I6AlWROq5yJmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "21.2.9", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.21", + "ora": "9.3.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/build": { + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.9.tgz", + "integrity": "sha512-XYP5ALB56NWvcQisznmvQdVU6WJdUCAuCAEN2eDZNVd9X1IqRNfewQfFH6FyHo7SrK4GHDReqm6xWW6rs0+weQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.2102.9", + "@babel/core": "7.29.0", + "@babel/helper-annotate-as-pure": "7.27.3", + "@babel/helper-split-export-declaration": "7.24.7", + "@inquirer/confirm": "5.1.21", + "@vitejs/plugin-basic-ssl": "2.1.4", + "beasties": "0.4.1", + "browserslist": "^4.26.0", + "esbuild": "0.27.3", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "listr2": "9.0.5", + "magic-string": "0.30.21", + "mrmime": "2.0.1", + "parse5-html-rewriting-stream": "8.0.0", + "picomatch": "4.0.4", + "piscina": "5.1.4", + "rolldown": "1.0.0-rc.4", + "sass": "1.97.3", + "semver": "7.7.4", + "source-map-support": "0.5.21", + "tinyglobby": "0.2.15", + "undici": "7.24.4", + "vite": "7.3.2", + "watchpack": "2.5.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "lmdb": "3.5.1" + }, + "peerDependencies": { + "@angular/compiler": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/localize": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/platform-server": "^21.0.0", + "@angular/service-worker": "^21.0.0", + "@angular/ssr": "^21.2.9", + "karma": "^6.4.0", + "less": "^4.2.0", + "ng-packagr": "^21.0.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.9 <6.0", + "vitest": "^4.0.8" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, + "@angular/localize": { + "optional": true + }, + "@angular/platform-browser": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "@angular/ssr": { + "optional": true + }, + "karma": { + "optional": true + }, + "less": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@angular/build/node_modules/@esbuild/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/esbuild": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "node_modules/@angular/cli": { + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.9.tgz", + "integrity": "sha512-KldNb7vCEVOeyEUK57dguP3dTjYeikBmAohjAouu8JLtY8OOI+tf/TA31Gco/rxZ3nGqBwkvrqpD4rcDf5AhUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2102.9", + "@angular-devkit/core": "21.2.9", + "@angular-devkit/schematics": "21.2.9", + "@inquirer/prompts": "7.10.1", + "@listr2/prompt-adapter-inquirer": "3.0.5", + "@modelcontextprotocol/sdk": "1.26.0", + "@schematics/angular": "21.2.9", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.48.1", + "ini": "6.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.5", + "npm-package-arg": "13.0.2", + "pacote": "21.3.1", + "parse5-html-rewriting-stream": "8.0.0", + "semver": "7.7.4", + "yargs": "18.0.0", + "zod": "4.3.6" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "21.2.11", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.11.tgz", + "integrity": "sha512-3Z3SABXpzM6fkX21WCRP6IwrjxNQVHM/3Fk2OXScExOAzpaOpS2bDgS4NB6rtCbmzKL/NFSp7ZPIZigfdqnWGw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "21.2.11", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "21.2.11", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.11.tgz", + "integrity": "sha512-/KdE0kPQr24K/aNsdIDS2or555+8CrQxyRB5MxPKy3/8d6EvilEY/UN7pB7A5xgRQtUPMea08ZzLFJVp1qNbDA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@angular/compiler-cli": { + "version": "21.2.11", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.11.tgz", + "integrity": "sha512-qp/LgptDYJvpEHVVdwBEtkcbybre/ftanu0qJMpH3mu5FC4HEEOChl+9m7UVrmL4jC1ZkoZcgtzsGKAQr8mw2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "7.29.0", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^5.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^18.0.0" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "21.2.11", + "typescript": ">=5.9 <6.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@angular/core": { + "version": "21.2.11", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.11.tgz", + "integrity": "sha512-EULAfQ0m/I9hZJes74OFlrnfDWqlfV0esE0CkHehO5IEF9rd769+dfuGEAJAzrz+/6Q3PhS0bWDYiT68z1H8Ag==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "21.2.11", + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.15.0 || ~0.16.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true + }, + "zone.js": { + "optional": true + } + } + }, + "node_modules/@angular/forms": { + "version": "21.2.11", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.11.tgz", + "integrity": "sha512-F67V612wHxPXHrbp825VirYfGPKBUM8PvL9atN2Ku1fsdGSFPU3hTxu1HU8fKYLLBpKYVVuqFqzaU/qIpTXGYA==", + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "21.2.11", + "@angular/core": "21.2.11", + "@angular/platform-browser": "21.2.11", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "21.2.11", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.11.tgz", + "integrity": "sha512-Uz/KwGjSEvbE8J9kNSSetzxhBWjCXv9OuxH1w2WkW6jLNU3vgvzuKX7SXDyUys6KJv5TqkClJ9BLeU11QbmJdw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/animations": "21.2.11", + "@angular/common": "21.2.11", + "@angular/core": "21.2.11" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/router": { + "version": "21.2.11", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.11.tgz", + "integrity": "sha512-IB7/KuRDsxAjCOxYNccq2LdCTKuu59cx5MmOhrt+TarvkNE/xdlFkP7vtrCl44DJt0q7/tveWvsn5oqTw7rN7A==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "21.2.11", + "@angular/core": "21.2.11", + "@angular/platform-browser": "21.2.11", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@asamuzakjp/css-color": { + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz", + "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", + "@csstools/css-calc": "^3.2.0", + "@csstools/css-color-parser": "^4.1.0", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.8.1.tgz", + "integrity": "sha512-MvRz1nCqW0fsy8Qz4dnLIvhOlMzqDVBabZx6lH+YywFDdjXhMY37SmpV1XFX3JzG5GWHn63j6HX6QPr3lZXHvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.1.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.2.6" + } + }, + "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", + "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@asamuzakjp/generational-cache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", + "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", + "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bramus/specificity": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", + "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0" + }, + "bin": { + "specificity": "bin/cli.js" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz", + "integrity": "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@csstools/css-calc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.0.tgz", + "integrity": "sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.0.tgz", + "integrity": "sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^6.0.2", + "@csstools/css-calc": "^3.2.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", + "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.3.tgz", + "integrity": "sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", + "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@exodus/bytes": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz", + "integrity": "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@noble/hashes": "^1.8.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@noble/hashes": { + "optional": true + } + } + }, + "node_modules/@gar/promise-retry": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", + "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@harperfast/extended-iterable": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@harperfast/extended-iterable/-/extended-iterable-1.0.3.tgz", + "integrity": "sha512-sSAYhQca3rDWtQUHSAPeO7axFIUJOI6hn1gjRC5APVE1a90tuyT8f5WIgRsFhhWA7htNkju2veB9eWL6YHi/Lw==", + "dev": true, + "license": "Apache-2.0", + "optional": true + }, + "node_modules/@hono/node-server": { + "version": "1.19.14", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.14.tgz", + "integrity": "sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz", + "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.21", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz", + "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.23", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz", + "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/external-editor": "^1.0.3", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.23.tgz", + "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.1.tgz", + "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.23.tgz", + "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.23.tgz", + "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz", + "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.3.2", + "@inquirer/confirm": "^5.1.21", + "@inquirer/editor": "^4.2.23", + "@inquirer/expand": "^4.0.23", + "@inquirer/input": "^4.3.1", + "@inquirer/number": "^3.0.23", + "@inquirer/password": "^4.0.23", + "@inquirer/rawlist": "^4.1.11", + "@inquirer/search": "^3.2.2", + "@inquirer/select": "^4.4.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.11.tgz", + "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.2.tgz", + "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz", + "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", + "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.5.tgz", + "integrity": "sha512-WELs+hj6xcilkloBXYf9XXK8tYEnKsgLj01Xl5ONUJpKjmT5hGVUzNUS5tooUxs7pGMrw+jFD/41WpqW4V3LDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 8", + "listr2": "9.0.5" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.5.1.tgz", + "integrity": "sha512-tpfN4kKrrMpQ+If1l8bhmoNkECJi0iOu6AEdrTJvWVC+32sLxTARX5Rsu579mPImRP9YFWfWgeRQ5oav7zApQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.5.1.tgz", + "integrity": "sha512-+a2tTfc3rmWhLAolFUWRgJtpSuu+Fw/yjn4rF406NMxhfjbMuiOUTDRvRlMFV+DzyjkwnokisskHbCWkS3Ly5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.5.1.tgz", + "integrity": "sha512-0EgcE6reYr8InjD7V37EgXcYrloqpxVPINy3ig1MwDSbl6LF/vXTYRH9OE1Ti1D8YZnB35ZH9aTcdfSb5lql2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.5.1.tgz", + "integrity": "sha512-aoERa5B6ywXdyFeYGQ1gbQpkMkDbEo45qVoXE5QpIRavqjnyPwjOulMkmkypkmsbJ5z4Wi0TBztON8agCTG0Vg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.5.1.tgz", + "integrity": "sha512-SqNDY1+vpji7bh0sFH5wlWyFTOzjbDOl0/kB5RLLYDAFyd/uw3n7wyrmas3rYPpAW7z18lMOi1yKlTPv967E3g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.5.1.tgz", + "integrity": "sha512-50v0O1Lt37cwrmR9vWZK5hRW0Aw+KEmxJJ75fge/zIYdvNKB/0bSMSVR5Uc2OV9JhosIUyklOmrEvavwNJ8D6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.5.1.tgz", + "integrity": "sha512-qwosvPyl+zpUlp3gRb7UcJ3H8S28XHCzkv0Y0EgQToXjQP91ZD67EHSCDmaLjtKhe+GVIW5om1KUpzVLA0l6pg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.26.0.tgz", + "integrity": "sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hono/node-server": "^1.19.9", + "ajv": "^8.17.1", + "ajv-formats": "^3.0.1", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.2.1", + "express-rate-limit": "^8.2.1", + "hono": "^4.11.4", + "jose": "^6.1.3", + "json-schema-typed": "^8.0.2", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.25 || ^4.0", + "zod-to-json-schema": "^3.25.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@cfworker/json-schema": "^4.1.1", + "zod": "^3.25 || ^4.0" + }, + "peerDependenciesMeta": { + "@cfworker/json-schema": { + "optional": true + }, + "zod": { + "optional": false + } + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@npmcli/agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz", + "integrity": "sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^11.2.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", + "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@npmcli/fs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz", + "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.2.tgz", + "integrity": "sha512-oeolHDjExNAJAnlYP2qzNjMX/Xi9bmu78C9dIGr4xjobrSKbuMYCph8lTzn4vnW3NjIqVmw/f8BCfouqyJXlRg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@gar/promise-retry": "^1.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "ini": "^6.0.0", + "lru-cache": "^11.2.1", + "npm-pick-manifest": "^11.0.1", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "which": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", + "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz", + "integrity": "sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^5.0.0", + "npm-normalize-package-bin": "^5.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz", + "integrity": "sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.5.tgz", + "integrity": "sha512-iVuTlG3ORq2iaVa1IWUxAO/jIp77tUKBhoMjuzYW2kL4MLN1bi/ofqkZ7D7OOwh8coAx1/S2ge0rMdGv8sLSOQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^7.0.0", + "glob": "^13.0.0", + "hosted-git-info": "^9.0.0", + "json-parse-even-better-errors": "^5.0.0", + "proc-log": "^6.0.0", + "semver": "^7.5.3", + "spdx-expression-parse": "^4.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz", + "integrity": "sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "which": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz", + "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.4.tgz", + "integrity": "sha512-mGUWr1uMnf0le2TwfOZY4SFxZGXGfm4Jtay/nwAa2FLNAKXUoUwaGwBMNH36UHPtinWfTSJ3nqFQr0091CxVGg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^5.0.0", + "@npmcli/package-json": "^7.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "node-gyp": "^12.1.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.113.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.113.0.tgz", + "integrity": "sha512-Tp3XmgxwNQ9pEN9vxgJBAqdRamHibi76iowQ38O2I4PMpcvNRQNVsU2n1x1nv9yh0XoTrGFzf7cZSGxmixxrhA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-vRq9f4NzvbdZavhQbjkJBx7rRebDKYR9zHfO/Wg486+I7bSecdUapzCm5cyXoK+LHokTxgSq7A5baAXUZkIz0w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-kFgEvkWLqt3YCgKB5re9RlIrx9bRsvyVUnaTakEpOPuLGzLpLapYxE9BufJNvPg8GjT6mB1alN4yN1NjzoeM8Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.4.tgz", + "integrity": "sha512-JXmaOJGsL/+rsmMfutcDjxWM2fTaVgCHGoXS7nE8Z3c9NAYjGqHvXrAhMUZvMpHS/k7Mg+X7n/MVKb7NYWKKww==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.4.tgz", + "integrity": "sha512-ep3Catd6sPnHTM0P4hNEvIv5arnDvk01PfyJIJ+J3wVCG1eEaPo09tvFqdtcaTrkwQy0VWR24uz+cb4IsK53Qw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.4.tgz", + "integrity": "sha512-LwA5ayKIpnsgXJEwWc3h8wPiS33NMIHd9BhsV92T8VetVAbGe2qXlJwNVDGHN5cOQ22R9uYvbrQir2AB+ntT2w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.4.tgz", + "integrity": "sha512-AC1WsGdlV1MtGay/OQ4J9T7GRadVnpYRzTcygV1hKnypbYN20Yh4t6O1Sa2qRBMqv1etulUknqXjc3CTIsBu6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.4.tgz", + "integrity": "sha512-lU+6rgXXViO61B4EudxtVMXSOfiZONR29Sys5VGSetUY7X8mg9FCKIIjcPPj8xNDeYzKl+H8F/qSKOBVFJChCQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.4.tgz", + "integrity": "sha512-DZaN1f0PGp/bSvKhtw50pPsnln4T13ycDq1FrDWRiHmWt1JeW+UtYg9touPFf8yt993p8tS2QjybpzKNTxYEwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.4.tgz", + "integrity": "sha512-RnGxwZLN7fhMMAItnD6dZ7lvy+TI7ba+2V54UF4dhaWa/p8I/ys1E73KO6HmPmgz92ZkfD8TXS1IMV8+uhbR9g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.4.tgz", + "integrity": "sha512-6lcI79+X8klGiGd8yHuTgQRjuuJYNggmEml+RsyN596P23l/zf9FVmJ7K0KVKkFAeYEdg0iMUKyIxiV5vebDNQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.4.tgz", + "integrity": "sha512-wz7ohsKCAIWy91blZ/1FlpPdqrsm1xpcEOQVveWoL6+aSPKL4VUcoYmmzuLTssyZxRpEwzuIxL/GDsvpjaBtOw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.1.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.4.tgz", + "integrity": "sha512-cfiMrfuWCIgsFmcVG0IPuO6qTRHvF7NuG3wngX1RZzc6dU8FuBFb+J3MIR5WrdTNozlumfgL4cvz+R4ozBCvsQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.4.tgz", + "integrity": "sha512-p6UeR9y7ht82AH57qwGuFYn69S6CZ7LLKdCKy/8T3zS9VTrJei2/CGsTUV45Da4Z9Rbhc7G4gyWQ/Ioamqn09g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.4.tgz", + "integrity": "sha512-1BrrmTu0TWfOP1riA8uakjFc9bpIUGzVKETsOtzY39pPga8zELGDl8eu1Dx7/gjM5CAz14UknsUMpBO8L+YntQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.3.tgz", + "integrity": "sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.3.tgz", + "integrity": "sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.3.tgz", + "integrity": "sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.3.tgz", + "integrity": "sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.3.tgz", + "integrity": "sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.3.tgz", + "integrity": "sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.3.tgz", + "integrity": "sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.3.tgz", + "integrity": "sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.3.tgz", + "integrity": "sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.3.tgz", + "integrity": "sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.3.tgz", + "integrity": "sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.3.tgz", + "integrity": "sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.3.tgz", + "integrity": "sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.3.tgz", + "integrity": "sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.3.tgz", + "integrity": "sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.3.tgz", + "integrity": "sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.3.tgz", + "integrity": "sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.3.tgz", + "integrity": "sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.3.tgz", + "integrity": "sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.3.tgz", + "integrity": "sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.3.tgz", + "integrity": "sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.3.tgz", + "integrity": "sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.3.tgz", + "integrity": "sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.3.tgz", + "integrity": "sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.3.tgz", + "integrity": "sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schematics/angular": { + "version": "21.2.9", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.9.tgz", + "integrity": "sha512-1renEbBZz9Yw3A0GUOJ6x6E1jd2Vu/fX5tEGiFNbIoWaNwa71SlFTvKKqaYxiYQkrpc7oexVJ2ymuvOfgTbI1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "21.2.9", + "@angular-devkit/schematics": "21.2.9", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-4.0.0.tgz", + "integrity": "sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.5.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.2.0.tgz", + "integrity": "sha512-kxHrDQ9YgfrWUSXU0cjsQGv8JykOFZQ9ErNKbFPWzk3Hgpwu8x2hHrQ9IdA8yl+j9RTLTC3sAF3Tdq1IQCP4oA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.1.tgz", + "integrity": "sha512-/ScWUhhoFasJsSRGTVBwId1loQjjnjAfE4djL6ZhrXRpNCmPTnUKF5Jokd58ILseOMjzET3UrMOtJPS9sYeI0g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.1.tgz", + "integrity": "sha512-Hf4xglukg0XXQ2RiD5vSoLjdPe8OBUPA8XeVjUObheuDcWdYWrnH/BNmxZCzkAy68MzmNCxXLeurJvs6hcP2OQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@gar/promise-retry": "^1.0.2", + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.2.0", + "@sigstore/protobuf-specs": "^0.5.0", + "make-fetch-happen": "^15.0.4", + "proc-log": "^6.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.2.tgz", + "integrity": "sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.5.0", + "tuf-js": "^4.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.0.tgz", + "integrity": "sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.1.0", + "@sigstore/protobuf-specs": "^0.5.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-4.1.0.tgz", + "integrity": "sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^10.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.4.tgz", + "integrity": "sha512-HXciTXN/sDBYWgeAD4V4s0DN0g72x5mlxQhHxtYu3Tt8BLa6MzcJZUyDVFCdtjNs3bfENVHVzOsmooTVuNgAAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/@vitest/expect": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.5.tgz", + "integrity": "sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.5", + "@vitest/utils": "4.1.5", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.5.tgz", + "integrity": "sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.5", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz", + "integrity": "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.5.tgz", + "integrity": "sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.5", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.5.tgz", + "integrity": "sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.5", + "@vitest/utils": "4.1.5", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.5.tgz", + "integrity": "sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.5.tgz", + "integrity": "sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.5", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/abbrev": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", + "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/algoliasearch": { + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.48.1.tgz", + "integrity": "sha512-Rf7xmeuIo7nb6S4mp4abW2faW8DauZyE2faBIKFaUfP3wnpOvNSbiI5AwVhqBNj0jPgBWEvhyCu0sLjN2q77Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.14.1", + "@algolia/client-abtesting": "5.48.1", + "@algolia/client-analytics": "5.48.1", + "@algolia/client-common": "5.48.1", + "@algolia/client-insights": "5.48.1", + "@algolia/client-personalization": "5.48.1", + "@algolia/client-query-suggestions": "5.48.1", + "@algolia/client-search": "5.48.1", + "@algolia/ingestion": "1.48.1", + "@algolia/monitoring": "1.48.1", + "@algolia/recommend": "5.48.1", + "@algolia/requester-browser-xhr": "5.48.1", + "@algolia/requester-fetch": "5.48.1", + "@algolia/requester-node-http": "5.48.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", + "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.27", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.27.tgz", + "integrity": "sha512-zEs/ufmZoUd7WftKpKyXaT6RFxpQ5Qm9xytKRHvJfxFV9DFJkZph9RvJ1LcOUi0Z1ZVijMte65JbILeV+8QQEA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/beasties": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.4.1.tgz", + "integrity": "sha512-2Imdcw3LznDuxAbJM26RHniOLAzE6WgrK8OuvVXCQtNBS8rsnD9zsSEa3fHl4hHpUY7BYTlrpvtPVbvu9G6neg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "css-select": "^6.0.0", + "css-what": "^7.0.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3", + "postcss-safe-parser": "^7.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", + "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^5.0.0", + "fs-minipass": "^3.0.0", + "glob": "^13.0.0", + "lru-cache": "^11.1.0", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^13.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", + "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001791", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", + "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", + "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-3.4.0.tgz", + "integrity": "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz", + "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^8.0.0", + "string-width": "^8.2.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssstyle": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-6.2.0.tgz", + "integrity": "sha512-Fm5NvhYathRnXNVndkUsCCuR63DCLVVwGOOwQw782coXFi5HhkXdu289l59HlXZBawsyNccXfWRYvLzcDCdDig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^5.0.1", + "@csstools/css-syntax-patches-for-csstree": "^1.0.28", + "css-tree": "^3.1.0", + "lru-cache": "^11.2.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cssstyle/node_modules/lru-cache": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", + "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/data-urls": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", + "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.349", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.349.tgz", + "integrity": "sha512-QsWVGyRuY07Aqb234QytTfwd5d9AJlfNIQ5wIOl1L+PZDzI9d9+Fn0FRale/QYlFxt/bUnB0/nLd1jFPGxGK1A==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.8.tgz", + "integrity": "sha512-70QWGkr4snxr0OXLRWsFLeRBIRPuQOvt4s8QYjmUlmlkyTZkRqS7EDVRZtzU3TiyDbXSzaOeF0XUKy8PchzukQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.5.0.tgz", + "integrity": "sha512-XKhFohWaSBdVJNTi5TaHziqnPkv04I9UQV6q1Wy7Ui6GGQZVW12ojDFwqer14EvCXxjvPG0CyWXx7cAXpALB4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "10.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.1.tgz", + "integrity": "sha512-h2r7rcm6Ee/J8o0LD5djLuFVcfbZxhvho4vvsbeV0aMvXjUgqv4YpxpkEx0d68l6+IleVfLAdVEfhR7QNMkGHQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hono": { + "version": "4.12.16", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.16.tgz", + "integrity": "sha512-jN0ZewiNAWSe5khM3EyCmBb250+b40wWbwNILNfEvq84VREWwOIkuUsFONk/3i3nqkz7Oe1PcpM2mwQEK2L9Kg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/hosted-git-info": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.3.tgz", + "integrity": "sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", + "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.6.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/htmlparser2": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", + "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "entities": "^7.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ignore-walk": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", + "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minimatch": "^10.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/immutable": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", + "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", + "dev": true, + "license": "MIT" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", + "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jose": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.3.tgz", + "integrity": "sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsdom": { + "version": "28.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-28.1.0.tgz", + "integrity": "sha512-0+MoQNYyr2rBHqO1xilltfDjV9G7ymYGlAUazgcDLQaUf8JDHbuGwsxN6U9qWaElZ4w1B2r7yEGIL3GdeW3Rug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@acemir/cssom": "^0.9.31", + "@asamuzakjp/dom-selector": "^6.8.1", + "@bramus/specificity": "^2.4.2", + "@exodus/bytes": "^1.11.0", + "cssstyle": "^6.0.1", + "data-urls": "^7.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "is-potential-custom-element-name": "^1.0.1", + "parse5": "^8.0.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.0", + "undici": "^7.21.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.1", + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz", + "integrity": "sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-typed": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", + "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/listr2": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", + "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^5.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.5.1.tgz", + "integrity": "sha512-NYHA0MRPjvNX+vSw8Xxg6FLKxzAG+e7Pt8RqAQA/EehzHVXq9SxDqJIN3JL1hK0dweb884y8kIh6rkWvPyg9Wg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@harperfast/extended-iterable": "^1.0.3", + "msgpackr": "^1.11.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.5.3", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.5.1", + "@lmdb/lmdb-darwin-x64": "3.5.1", + "@lmdb/lmdb-linux-arm": "3.5.1", + "@lmdb/lmdb-linux-arm64": "3.5.1", + "@lmdb/lmdb-linux-x64": "3.5.1", + "@lmdb/lmdb-win32-arm64": "3.5.1", + "@lmdb/lmdb-win32-x64": "3.5.1" + } + }, + "node_modules/log-symbols": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-7.0.1.tgz", + "integrity": "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0", + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/make-fetch-happen": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", + "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@gar/promise-retry": "^1.0.0", + "@npmcli/agent": "^4.0.0", + "@npmcli/redact": "^4.0.0", + "cacache": "^20.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^6.0.0", + "ssri": "^13.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz", + "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^2.0.0", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + }, + "optionalDependencies": { + "iconv-lite": "^0.7.2" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz", + "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/msgpackr": { + "version": "1.11.12", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.12.tgz", + "integrity": "sha512-RBdJ1Un7yGlXWajrkxcSa93nvQ0w4zBf60c0yYv7YtBelP8H2FA7XsfBbMHtXKXUMUxH7zV3Zuozh+kUQWhHvg==", + "dev": true, + "license": "MIT", + "optional": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-gyp": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.3.0.tgz", + "integrity": "sha512-QNcUWM+HgJplcPzBvFBZ9VXacyGZ4+VTOb80PwWR+TlVzoHbRKULNEzpRsnaoxG3Wzr7Qh7BYxGDU3CbKib2Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "nopt": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "undici": "^6.25.0", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/node-gyp/node_modules/undici": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.25.0.tgz", + "integrity": "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", + "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^4.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-bundled": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-5.0.0.tgz", + "integrity": "sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^5.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-install-checks": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-8.0.0.tgz", + "integrity": "sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz", + "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-package-arg": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.2.tgz", + "integrity": "sha512-IciCE3SY3uE84Ld8WZU23gAPPV9rIYod4F+rc+vJ7h7cwAJt9Vk6TVsK60ry7Uj3SRS3bqRRIGuTp9YVlk6WNA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^7.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.4.tgz", + "integrity": "sha512-uMW73iajD8hiH4ZBxEV3HC+eTnppIqwakjOYuvgddnalIw2lJguKviK1pcUJDlIWm1wSJkchpDZDSVVsZEYRng==", + "dev": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^8.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz", + "integrity": "sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^8.0.0", + "npm-normalize-package-bin": "^5.0.0", + "npm-package-arg": "^13.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-19.1.1.tgz", + "integrity": "sha512-TakBap6OM1w0H73VZVDf44iFXsOS3h+L4wVMXmbWOQroZgFhMch0juN6XSzBNlD965yIKvWg2dfu7NSiaYLxtw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^4.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^15.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^13.0.0", + "proc-log": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", + "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.6.2", + "cli-cursor": "^5.0.0", + "cli-spinners": "^3.2.0", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.1.0", + "log-symbols": "^7.0.1", + "stdin-discarder": "^0.3.1", + "string-width": "^8.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ordered-binary": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.1.tgz", + "integrity": "sha512-QkCdPooczexPLiXIrbVOPYkR3VO3T6v2OyKRkR1Xbhpy7/LAVXwahnRCgRp78Oe/Ehf0C/HATAxfSr6eA1oX+w==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/p-map": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pacote": { + "version": "21.3.1", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.3.1.tgz", + "integrity": "sha512-O0EDXi85LF4AzdjG74GUwEArhdvawi/YOHcsW6IijKNj7wm8IvEWNF5GnfuxNpQ/ZpO3L37+v8hqdVh8GgWYhg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^7.0.0", + "@npmcli/installed-package-contents": "^4.0.0", + "@npmcli/package-json": "^7.0.0", + "@npmcli/promise-spawn": "^9.0.0", + "@npmcli/run-script": "^10.0.0", + "cacache": "^20.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^13.0.0", + "npm-packlist": "^10.0.1", + "npm-pick-manifest": "^11.0.1", + "npm-registry-fetch": "^19.0.0", + "proc-log": "^6.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^4.0.0", + "ssri": "^13.0.0", + "tar": "^7.4.3" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", + "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", + "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20.19.0" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "11.3.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz", + "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/piscina": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.4.tgz", + "integrity": "sha512-7uU4ZnKeQq22t9AsmHGD2w4OYQGonwFnTypDypaWi7Qr2EvQIFVtG8J5D/3bE7W123Wdc9+v4CZDu5hJXVCtBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", + "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/postcss": { + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", + "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/prettier": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rolldown": { + "version": "1.0.0-rc.4", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.4.tgz", + "integrity": "sha512-V2tPDUrY3WSevrvU2E41ijZlpF+5PbZu4giH+VpNraaadsJGHa4fR6IFwsocVwEXDoAdIv5qgPPxgrvKAOIPtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.113.0", + "@rolldown/pluginutils": "1.0.0-rc.4" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.4", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.4", + "@rolldown/binding-darwin-x64": "1.0.0-rc.4", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.4", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.4", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.4", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.4", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.4", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.4", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.4", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.4", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.4", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.4" + } + }, + "node_modules/rollup": { + "version": "4.60.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.3.tgz", + "integrity": "sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.3", + "@rollup/rollup-android-arm64": "4.60.3", + "@rollup/rollup-darwin-arm64": "4.60.3", + "@rollup/rollup-darwin-x64": "4.60.3", + "@rollup/rollup-freebsd-arm64": "4.60.3", + "@rollup/rollup-freebsd-x64": "4.60.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.3", + "@rollup/rollup-linux-arm-musleabihf": "4.60.3", + "@rollup/rollup-linux-arm64-gnu": "4.60.3", + "@rollup/rollup-linux-arm64-musl": "4.60.3", + "@rollup/rollup-linux-loong64-gnu": "4.60.3", + "@rollup/rollup-linux-loong64-musl": "4.60.3", + "@rollup/rollup-linux-ppc64-gnu": "4.60.3", + "@rollup/rollup-linux-ppc64-musl": "4.60.3", + "@rollup/rollup-linux-riscv64-gnu": "4.60.3", + "@rollup/rollup-linux-riscv64-musl": "4.60.3", + "@rollup/rollup-linux-s390x-gnu": "4.60.3", + "@rollup/rollup-linux-x64-gnu": "4.60.3", + "@rollup/rollup-linux-x64-musl": "4.60.3", + "@rollup/rollup-openbsd-x64": "4.60.3", + "@rollup/rollup-openharmony-arm64": "4.60.3", + "@rollup/rollup-win32-arm64-msvc": "4.60.3", + "@rollup/rollup-win32-ia32-msvc": "4.60.3", + "@rollup/rollup-win32-x64-gnu": "4.60.3", + "@rollup/rollup-win32-x64-msvc": "4.60.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-4.1.0.tgz", + "integrity": "sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^4.0.0", + "@sigstore/core": "^3.1.0", + "@sigstore/protobuf-specs": "^0.5.0", + "@sigstore/sign": "^4.1.0", + "@sigstore/tuf": "^4.0.1", + "@sigstore/verify": "^3.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/slice-ansi": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz", + "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.8.tgz", + "integrity": "sha512-NlGELfPrgX2f1TAAcz0WawlLn+0r3FyhhCRpFFK2CemXenPYvzMWWZINv3eDNo9ucdwme7oCHRY0Jnbs4aIkog==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^10.1.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/socks/node_modules/ip-address": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz", + "integrity": "sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/ssri": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", + "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/stdin-discarder": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz", + "integrity": "sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tar": { + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", + "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.2.tgz", + "integrity": "sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "7.0.30", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.30.tgz", + "integrity": "sha512-ELrFxuqsDdHUwoh0XxDbxuLD3Wnz49Z57IFvTtvWy1hJdcMZjXLIuonjilCiWHlT2GbE4Wlv1wKVTzDFnXH1aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.30" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.30", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.30.tgz", + "integrity": "sha512-uiHN8PIB1VmWyS98eZYja4xzlYqeFZVjb4OuYlJQnZAuJhMw4PbKQOKgHKhBdJR3FE/t5mUQ1Kd80++B+qhD1Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tuf-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-4.1.0.tgz", + "integrity": "sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "4.1.0", + "debug": "^4.4.3", + "make-fetch-happen": "^15.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.4.tgz", + "integrity": "sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-7.0.2.tgz", + "integrity": "sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/vitest": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.5.tgz", + "integrity": "sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.5", + "@vitest/mocker": "4.1.5", + "@vitest/pretty-format": "4.1.5", + "@vitest/runner": "4.1.5", + "@vitest/snapshot": "4.1.5", + "@vitest/spy": "4.1.5", + "@vitest/utils": "4.1.5", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.5", + "@vitest/browser-preview": "4.1.5", + "@vitest/browser-webdriverio": "4.1.5", + "@vitest/coverage-istanbul": "4.1.5", + "@vitest/coverage-v8": "4.1.5", + "@vitest/ui": "4.1.5", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/webidl-conversions": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-mimetype": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-url": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", + "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.11.0", + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.25.28 || ^4" + } + } + } +} diff --git a/packages/bigframes/bigframes/display/table_widget_angular/package.json b/packages/bigframes/bigframes/display/table_widget_angular/package.json new file mode 100644 index 000000000000..80d2ebe916bc --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/package.json @@ -0,0 +1,34 @@ +{ + "name": "table-widget-angular", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test", + "build:widget": "ng build --output-hashing none && node bundle.js" + }, + "private": true, + "packageManager": "npm@11.7.0", + "dependencies": { + "@angular/common": "^21.2.0", + "@angular/compiler": "^21.2.0", + "@angular/core": "^21.2.0", + "@angular/forms": "^21.2.0", + "@angular/platform-browser": "^21.2.0", + "@angular/router": "^21.2.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0" + }, + "devDependencies": { + "@angular/build": "^21.2.9", + "@angular/cli": "^21.2.9", + "@angular/compiler-cli": "^21.2.0", + "jsdom": "^28.0.0", + "prettier": "^3.8.1", + "typescript": "~5.9.2", + "vitest": "^4.0.8", + "esbuild": "^0.20.0" + } +} \ No newline at end of file diff --git a/packages/bigframes/bigframes/display/table_widget_angular/public/favicon.ico b/packages/bigframes/bigframes/display/table_widget_angular/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 zcmd^G33O9Omi+`8$@{|M-I6TH3wzF-p5CV8o}7f~KxR60LK+ApEFB<$bcciv%@SmA zV{n>g85YMFFeU*Uvl=i4v)C*qgnb;$GQ=3XTe9{Y%c`mO%su)noNCCQ*@t1WXn|B(hQ7i~ zrUK8|pUkD6#lNo!bt$6)jR!&C?`P5G(`e((P($RaLeq+o0Vd~f11;qB05kdbAOm?r zXv~GYr_sibQO9NGTCdT;+G(!{4Xs@4fPak8#L8PjgJwcs-Mm#nR_Z0s&u?nDX5^~@ z+A6?}g0|=4e_LoE69pPFO`yCD@BCjgKpzMH0O4Xs{Ahc?K3HC5;l=f zg>}alhBXX&);z$E-wai+9TTRtBX-bWYY@cl$@YN#gMd~tM_5lj6W%8ah4;uZ;jP@Q zVbuel1rPA?2@x9Y+u?e`l{Z4ngfG5q5BLH5QsEu4GVpt{KIp1?U)=3+KQ;%7ec8l* zdV=zZgN5>O3G(3L2fqj3;oBbZZw$Ij@`Juz@?+yy#OPw)>#wsTewVgTK9BGt5AbZ&?K&B3GVF&yu?@(Xj3fR3n+ZP0%+wo)D9_xp>Z$`A4 zfV>}NWjO#3lqumR0`gvnffd9Ka}JJMuHS&|55-*mCD#8e^anA<+sFZVaJe7{=p*oX zE_Uv?1>e~ga=seYzh{9P+n5<+7&9}&(kwqSaz;1aD|YM3HBiy<))4~QJSIryyqp| z8nGc(8>3(_nEI4n)n7j(&d4idW1tVLjZ7QbNLXg;LB ziHsS5pXHEjGJZb59KcvS~wv;uZR-+4qEqow`;JCfB*+b^UL^3!?;-^F%yt=VjU|v z39SSqKcRu_NVvz!zJzL0CceJaS6%!(eMshPv_0U5G`~!a#I$qI5Ic(>IONej@aH=f z)($TAT#1I{iCS4f{D2+ApS=$3E7}5=+y(rA9mM#;Cky%b*Gi0KfFA`ofKTzu`AV-9 znW|y@19rrZ*!N2AvDi<_ZeR3O2R{#dh1#3-d%$k${Rx42h+i&GZo5!C^dSL34*AKp z27mTd>k>?V&X;Nl%GZ(>0s`1UN~Hfyj>KPjtnc|)xM@{H_B9rNr~LuH`Gr5_am&Ep zTjZA8hljNj5H1Ipm-uD9rC}U{-vR!eay5&6x6FkfupdpT*84MVwGpdd(}ib)zZ3Ky z7C$pnjc82(W_y_F{PhYj?o!@3__UUvpX)v69aBSzYj3 zdi}YQkKs^SyXyFG2LTRz9{(w}y~!`{EuAaUr6G1M{*%c+kP1olW9z23dSH!G4_HSK zzae-DF$OGR{ofP*!$a(r^5Go>I3SObVI6FLY)N@o<*gl0&kLo-OT{Tl*7nCz>Iq=? zcigIDHtj|H;6sR?or8Wd_a4996GI*CXGU}o;D9`^FM!AT1pBY~?|4h^61BY#_yIfO zKO?E0 zJ{Pc`9rVEI&$xxXu`<5E)&+m(7zX^v0rqofLs&bnQT(1baQkAr^kEsk)15vlzAZ-l z@OO9RF<+IiJ*O@HE256gCt!bF=NM*vh|WVWmjVawcNoksRTMvR03H{p@cjwKh(CL4 z7_PB(dM=kO)!s4fW!1p0f93YN@?ZSG` z$B!JaAJCtW$B97}HNO9(x-t30&E}Mo1UPi@Av%uHj~?T|!4JLwV;KCx8xO#b9IlUW zI6+{a@Wj|<2Y=U;a@vXbxqZNngH8^}LleE_4*0&O7#3iGxfJ%Id>+sb;7{L=aIic8 z|EW|{{S)J-wr@;3PmlxRXU8!e2gm_%s|ReH!reFcY8%$Hl4M5>;6^UDUUae?kOy#h zk~6Ee_@ZAn48Bab__^bNmQ~+k=02jz)e0d9Z3>G?RGG!65?d1>9}7iG17?P*=GUV-#SbLRw)Hu{zx*azHxWkGNTWl@HeWjA?39Ia|sCi{e;!^`1Oec zb>Z|b65OM*;eC=ZLSy?_fg$&^2xI>qSLA2G*$nA3GEnp3$N-)46`|36m*sc#4%C|h zBN<2U;7k>&G_wL4=Ve5z`ubVD&*Hxi)r@{4RCDw7U_D`lbC(9&pG5C*z#W>8>HU)h z!h3g?2UL&sS!oY5$3?VlA0Me9W5e~V;2jds*fz^updz#AJ%G8w2V}AEE?E^=MK%Xt z__Bx1cr7+DQmuHmzn*|hh%~eEc9@m05@clWfpEFcr+06%0&dZJH&@8^&@*$qR@}o3 z@Tuuh2FsLz^zH+dN&T&?0G3I?MpmYJ;GP$J!EzjeM#YLJ!W$}MVNb0^HfOA>5Fe~UNn%Zk(PT@~9}1dt)1UQ zU*B5K?Dl#G74qmg|2>^>0WtLX#Jz{lO4NT`NYB*(L#D|5IpXr9v&7a@YsGp3vLR7L zHYGHZg7{ie6n~2p$6Yz>=^cEg7tEgk-1YRl%-s7^cbqFb(U7&Dp78+&ut5!Tn(hER z|Gp4Ed@CnOPeAe|N>U(dB;SZ?NU^AzoD^UAH_vamp6Ws}{|mSq`^+VP1g~2B{%N-!mWz<`)G)>V-<`9`L4?3dM%Qh6<@kba+m`JS{Ya@9Fq*m6$$ zA1%Ogc~VRH33|S9l%CNb4zM%k^EIpqY}@h{w(aBcJ9c05oiZx#SK9t->5lSI`=&l~ z+-Ic)a{FbBhXV$Xt!WRd`R#Jk-$+_Z52rS>?Vpt2IK<84|E-SBEoIw>cs=a{BlQ7O z-?{Fy_M&84&9|KM5wt~)*!~i~E=(6m8(uCO)I=)M?)&sRbzH$9Rovzd?ZEY}GqX+~ zFbEbLz`BZ49=2Yh-|<`waK-_4!7`ro@zlC|r&I4fc4oyb+m=|c8)8%tZ-z5FwhzDt zL5kB@u53`d@%nHl0Sp)Dw`(QU&>vujEn?GPEXUW!Wi<+4e%BORl&BIH+SwRcbS}X@ z01Pk|vA%OdJKAs17zSXtO55k!;%m9>1eW9LnyAX4uj7@${O6cfii`49qTNItzny5J zH&Gj`e}o}?xjQ}r?LrI%FjUd@xflT3|7LA|ka%Q3i}a8gVm<`HIWoJGH=$EGClX^C0lysQJ>UO(q&;`T#8txuoQ_{l^kEV9CAdXuU1Ghg8 zN_6hHFuy&1x24q5-(Z7;!poYdt*`UTdrQOIQ!2O7_+AHV2hgXaEz7)>$LEdG z<8vE^Tw$|YwZHZDPM!SNOAWG$?J)MdmEk{U!!$M#fp7*Wo}jJ$Q(=8>R`Ats?e|VU?Zt7Cdh%AdnfyN3MBWw{ z$OnREvPf7%z6`#2##_7id|H%Y{vV^vWXb?5d5?a_y&t3@p9t$ncHj-NBdo&X{wrfJ zamN)VMYROYh_SvjJ=Xd!Ga?PY_$;*L=SxFte!4O6%0HEh%iZ4=gvns7IWIyJHa|hT z2;1+e)`TvbNb3-0z&DD_)Jomsg-7p_Uh`wjGnU1urmv1_oVqRg#=C?e?!7DgtqojU zWoAB($&53;TsXu^@2;8M`#z{=rPy?JqgYM0CDf4v@z=ZD|ItJ&8%_7A#K?S{wjxgd z?xA6JdJojrWpB7fr2p_MSsU4(R7=XGS0+Eg#xR=j>`H@R9{XjwBmqAiOxOL` zt?XK-iTEOWV}f>Pz3H-s*>W z4~8C&Xq25UQ^xH6H9kY_RM1$ch+%YLF72AA7^b{~VNTG}Tj#qZltz5Q=qxR`&oIlW Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.config.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.config.ts new file mode 100644 index 000000000000..cb1270e96310 --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.config.ts @@ -0,0 +1,11 @@ +import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; +import { provideRouter } from '@angular/router'; + +import { routes } from './app.routes'; + +export const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + provideRouter(routes) + ] +}; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.css b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.css new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.html b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.html new file mode 100644 index 000000000000..a1c4296620df --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.html @@ -0,0 +1,344 @@ + + + + + + + + + + + +
+
+
+ +

Hello, {{ title() }}

+

Congratulations! Your app is running. 🎉

+
+ +
+
+ @for (item of [ + { title: 'Explore the Docs', link: 'https://angular.dev' }, + { title: 'Learn with Tutorials', link: 'https://angular.dev/tutorials' }, + { title: 'Prompt and best practices for AI', link: 'https://angular.dev/ai/develop-with-ai'}, + { title: 'CLI Docs', link: 'https://angular.dev/tools/cli' }, + { title: 'Angular Language Service', link: 'https://angular.dev/tools/language-service' }, + { title: 'Angular DevTools', link: 'https://angular.dev/tools/devtools' }, + ]; track item.title) { + + {{ item.title }} + + + + + } +
+ +
+
+
+ + + + + + + + + + + diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.routes.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.routes.ts new file mode 100644 index 000000000000..dc39edb5f23a --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.routes.ts @@ -0,0 +1,3 @@ +import { Routes } from '@angular/router'; + +export const routes: Routes = []; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts new file mode 100644 index 000000000000..711706a342ac --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts @@ -0,0 +1,23 @@ +import { TestBed } from '@angular/core/testing'; +import { App } from './app'; + +describe('App', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [App], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(App); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it('should render title', async () => { + const fixture = TestBed.createComponent(App); + await fixture.whenStable(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('h1')?.textContent).toContain('Hello, table-widget-angular'); + }); +}); diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts new file mode 100644 index 000000000000..a7b992677c2a --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -0,0 +1,36 @@ +import { Component, Inject, signal } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +@Component({ + selector: 'app-root', + standalone: true, + imports: [CommonModule], + template: ` +
+

Angular Hybrid Widget

+

Status: Infrastructure Loaded

+

Message from Python: {{ message() }}

+
+ `, + styles: [` + .angular-widget { + padding: 10px; + border: 1px solid #ccc; + border-radius: 4px; + background-color: #f9f9f9; + } + `] +}) +export class App { + protected readonly message = signal('Waiting for model...'); + + constructor(@Inject('ANYWIDGET_MODEL') public model: any) { + if (model) { + this.message.set(model.get('message') || 'Model loaded, no message.'); + // Listen for changes + model.on('change:message', () => { + this.message.set(model.get('message')); + }); + } + } +} diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/index.html b/packages/bigframes/bigframes/display/table_widget_angular/src/index.html new file mode 100644 index 000000000000..7283ccb6f671 --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/index.html @@ -0,0 +1,13 @@ + + + + + TableWidgetAngular + + + + + + + + diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts new file mode 100644 index 000000000000..a1b2f8b9e98b --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts @@ -0,0 +1,21 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { App } from './app/app'; +import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; + +function render({ model, el }: { model: any, el: HTMLElement }) { + // Create a container for the Angular app + const appRoot = document.createElement('app-root'); + el.appendChild(appRoot); + + const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + { provide: 'ANYWIDGET_MODEL', useValue: model } + ] + }; + + bootstrapApplication(App, appConfig) + .catch((err) => console.error(err)); +} + +export default { render }; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/styles.css b/packages/bigframes/bigframes/display/table_widget_angular/src/styles.css new file mode 100644 index 000000000000..90d4ee0072ce --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/styles.css @@ -0,0 +1 @@ +/* You can add global styles to this file, and also import other style files */ diff --git a/packages/bigframes/bigframes/display/table_widget_angular/tsconfig.app.json b/packages/bigframes/bigframes/display/table_widget_angular/tsconfig.app.json new file mode 100644 index 000000000000..264f459bf876 --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/packages/bigframes/bigframes/display/table_widget_angular/tsconfig.json b/packages/bigframes/bigframes/display/table_widget_angular/tsconfig.json new file mode 100644 index 000000000000..2ab7442758fe --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/tsconfig.json @@ -0,0 +1,33 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/packages/bigframes/bigframes/display/table_widget_angular/tsconfig.spec.json b/packages/bigframes/bigframes/display/table_widget_angular/tsconfig.spec.json new file mode 100644 index 000000000000..d38370633f6d --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/tsconfig.spec.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "vitest/globals" + ] + }, + "include": [ + "src/**/*.d.ts", + "src/**/*.spec.ts" + ] +} From 2393021b8ee913521cfe43a0c7402719e757de44 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Mon, 4 May 2026 23:24:40 +0000 Subject: [PATCH 02/42] feat: implement DOM sanitization in Angular bridge --- .../bigframes/display/table_widget_angular.js | 3683 +++++++++-------- .../table_widget_angular/src/app/app.ts | 16 +- 2 files changed, 2045 insertions(+), 1654 deletions(-) diff --git a/packages/bigframes/bigframes/display/table_widget_angular.js b/packages/bigframes/bigframes/display/table_widget_angular.js index 3e39bcbf23aa..0ac09a802df8 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular.js +++ b/packages/bigframes/bigframes/display/table_widget_angular.js @@ -1,38 +1,38 @@ // dist/table-widget-angular/browser/main.js -var dc = Object.defineProperty; -var fc = Object.defineProperties; -var pc = Object.getOwnPropertyDescriptors; -var ni = Object.getOwnPropertySymbols; -var hc = Object.prototype.hasOwnProperty; -var gc = Object.prototype.propertyIsEnumerable; -var ri = (e6, t, n) => t in e6 ? dc(e6, t, { enumerable: true, configurable: true, writable: true, value: n }) : e6[t] = n; -var A = (e6, t) => { +var nu = Object.defineProperty; +var ru = Object.defineProperties; +var ou = Object.getOwnPropertyDescriptors; +var Pi = Object.getOwnPropertySymbols; +var iu = Object.prototype.hasOwnProperty; +var su = Object.prototype.propertyIsEnumerable; +var ji = (e6, t, n) => t in e6 ? nu(e6, t, { enumerable: true, configurable: true, writable: true, value: n }) : e6[t] = n; +var x = (e6, t) => { for (var n in t ||= {}) - hc.call(t, n) && ri(e6, n, t[n]); - if (ni) - for (var n of ni(t)) - gc.call(t, n) && ri(e6, n, t[n]); + iu.call(t, n) && ji(e6, n, t[n]); + if (Pi) + for (var n of Pi(t)) + su.call(t, n) && ji(e6, n, t[n]); return e6; }; -var B = (e6, t) => fc(e6, pc(t)); +var V = (e6, t) => ru(e6, ou(t)); var S = null; -var Ft = false; -var Wn = 1; -var mc = null; -var G = Symbol("SIGNAL"); -function y(e6) { +var qt = false; +var dr = 1; +var au = null; +var W = Symbol("SIGNAL"); +function D(e6) { let t = S; return S = e6, t; } -function Lt() { +function Zt() { return S; } -var Pt = { version: 0, lastCleanEpoch: 0, dirty: false, producers: void 0, producersTail: void 0, consumers: void 0, consumersTail: void 0, recomputing: false, consumerAllowSignalWrites: false, consumerIsAlwaysLive: false, kind: "unknown", producerMustRecompute: () => false, producerRecomputeValue: () => { +var Yt = { version: 0, lastCleanEpoch: 0, dirty: false, producers: void 0, producersTail: void 0, consumers: void 0, consumersTail: void 0, recomputing: false, consumerAllowSignalWrites: false, consumerIsAlwaysLive: false, kind: "unknown", producerMustRecompute: () => false, producerRecomputeValue: () => { }, consumerMarkedDirty: () => { }, consumerOnSignalRead: () => { } }; -function oi(e6) { - if (Ft) +function Bi(e6) { + if (qt) throw new Error(""); if (S === null) return; @@ -46,106 +46,106 @@ function oi(e6) { return; } let o = e6.consumersTail; - if (o !== void 0 && o.consumer === S && (!r || Dc(o, S))) + if (o !== void 0 && o.consumer === S && (!r || uu(o, S))) return; - let i = Me(S), s = { producer: e6, consumer: S, nextProducer: n, prevConsumer: o, lastReadVersion: e6.version, nextConsumer: void 0 }; - S.producersTail = s, t !== void 0 ? t.nextProducer = s : S.producers = s, i && li(e6, s); + let i = Fe(S), s = { producer: e6, consumer: S, nextProducer: n, prevConsumer: o, lastReadVersion: e6.version, nextConsumer: void 0 }; + S.producersTail = s, t !== void 0 ? t.nextProducer = s : S.producers = s, i && Gi(e6, s); } -function ii() { - Wn++; +function Vi() { + dr++; } -function si(e6) { - if (!(Me(e6) && !e6.dirty) && !(!e6.dirty && e6.lastCleanEpoch === Wn)) { - if (!e6.producerMustRecompute(e6) && !Qn(e6)) { - Gn(e6); +function Hi(e6) { + if (!(Fe(e6) && !e6.dirty) && !(!e6.dirty && e6.lastCleanEpoch === dr)) { + if (!e6.producerMustRecompute(e6) && !gr(e6)) { + lr(e6); return; } - e6.producerRecomputeValue(e6), Gn(e6); + e6.producerRecomputeValue(e6), lr(e6); } } -function qn(e6) { +function fr(e6) { if (e6.consumers === void 0) return; - let t = Ft; - Ft = true; + let t = qt; + qt = true; try { for (let n = e6.consumers; n !== void 0; n = n.nextConsumer) { let r = n.consumer; - r.dirty || yc(r); + r.dirty || cu(r); } } finally { - Ft = t; + qt = t; } } -function Zn() { +function pr() { return S?.consumerAllowSignalWrites !== false; } -function yc(e6) { - e6.dirty = true, qn(e6), e6.consumerMarkedDirty?.(e6); +function cu(e6) { + e6.dirty = true, fr(e6), e6.consumerMarkedDirty?.(e6); } -function Gn(e6) { - e6.dirty = false, e6.lastCleanEpoch = Wn; +function lr(e6) { + e6.dirty = false, e6.lastCleanEpoch = dr; } -function Yn(e6) { - return e6 && ai(e6), y(e6); +function hr(e6) { + return e6 && $i(e6), D(e6); } -function ai(e6) { +function $i(e6) { e6.producersTail = void 0, e6.recomputing = true; } -function ci(e6, t) { - y(t), e6 && ui(e6); +function Ui(e6, t) { + D(t), e6 && zi(e6); } -function ui(e6) { +function zi(e6) { e6.recomputing = false; let t = e6.producersTail, n = t !== void 0 ? t.nextProducer : e6.producers; if (n !== void 0) { - if (Me(e6)) + if (Fe(e6)) do - n = Kn(n); + n = mr(n); while (n !== void 0); t !== void 0 ? t.nextProducer = void 0 : e6.producers = void 0; } } -function Qn(e6) { +function gr(e6) { for (let t = e6.producers; t !== void 0; t = t.nextProducer) { let n = t.producer, r = t.lastReadVersion; - if (r !== n.version || (si(n), r !== n.version)) + if (r !== n.version || (Hi(n), r !== n.version)) return true; } return false; } -function jt(e6) { - if (Me(e6)) { +function Qt(e6) { + if (Fe(e6)) { let t = e6.producers; for (; t !== void 0; ) - t = Kn(t); + t = mr(t); } e6.producers = void 0, e6.producersTail = void 0, e6.consumers = void 0, e6.consumersTail = void 0; } -function li(e6, t) { - let n = e6.consumersTail, r = Me(e6); +function Gi(e6, t) { + let n = e6.consumersTail, r = Fe(e6); if (n !== void 0 ? (t.nextConsumer = n.nextConsumer, n.nextConsumer = t) : (t.nextConsumer = void 0, e6.consumers = t), t.prevConsumer = n, e6.consumersTail = t, !r) for (let o = e6.producers; o !== void 0; o = o.nextProducer) - li(o.producer, o); + Gi(o.producer, o); } -function Kn(e6) { +function mr(e6) { let t = e6.producer, n = e6.nextProducer, r = e6.nextConsumer, o = e6.prevConsumer; if (e6.nextConsumer = void 0, e6.prevConsumer = void 0, r !== void 0 ? r.prevConsumer = o : t.consumersTail = o, o !== void 0) o.nextConsumer = r; - else if (t.consumers = r, !Me(t)) { + else if (t.consumers = r, !Fe(t)) { let i = t.producers; for (; i !== void 0; ) - i = Kn(i); + i = mr(i); } return n; } -function Me(e6) { +function Fe(e6) { return e6.consumerIsAlwaysLive || e6.consumers !== void 0; } -function di(e6) { - mc?.(e6); +function Wi(e6) { + au?.(e6); } -function Dc(e6, t) { +function uu(e6, t) { let n = t.producersTail; if (n !== void 0) { let r = t.producers; @@ -159,54 +159,54 @@ function Dc(e6, t) { } return false; } -function fi(e6, t) { +function qi(e6, t) { return Object.is(e6, t); } -function vc() { +function lu() { throw new Error(); } -var pi = vc; -function hi(e6) { - pi(e6); +var Zi = lu; +function Yi(e6) { + Zi(e6); } -function Jn(e6) { - pi = e6; +function yr(e6) { + Zi = e6; } -var Ec = null; -function Xn(e6, t) { - let n = Object.create(yi); +var du = null; +function Dr(e6, t) { + let n = Object.create(Ji); n.value = e6, t !== void 0 && (n.equal = t); - let r = () => gi(n); - return r[G] = n, di(n), [r, (s) => er(n, s), (s) => mi(n, s)]; + let r = () => Qi(n); + return r[W] = n, Wi(n), [r, (s) => vr(n, s), (s) => Ki(n, s)]; } -function gi(e6) { - return oi(e6), e6.value; +function Qi(e6) { + return Bi(e6), e6.value; } -function er(e6, t) { - Zn() || hi(e6), e6.equal(e6.value, t) || (e6.value = t, Ic(e6)); +function vr(e6, t) { + pr() || Yi(e6), e6.equal(e6.value, t) || (e6.value = t, fu(e6)); } -function mi(e6, t) { - Zn() || hi(e6), er(e6, t(e6.value)); +function Ki(e6, t) { + pr() || Yi(e6), vr(e6, t(e6.value)); } -var yi = B(A({}, Pt), { equal: fi, value: void 0, kind: "signal" }); -function Ic(e6) { - e6.version++, ii(), qn(e6), Ec?.(e6); +var Ji = V(x({}, Yt), { equal: qi, value: void 0, kind: "signal" }); +function fu(e6) { + e6.version++, Vi(), fr(e6), du?.(e6); } function N(e6) { return typeof e6 == "function"; } -function Bt(e6) { +function Kt(e6) { let n = e6((r) => { Error.call(r), r.stack = new Error().stack; }); return n.prototype = Object.create(Error.prototype), n.prototype.constructor = n, n; } -var Vt = Bt((e6) => function(n) { +var Jt = Kt((e6) => function(n) { e6(this), this.message = n ? `${n.length} errors occurred during unsubscription: ${n.map((r, o) => `${o + 1}) ${r.toString()}`).join(` `)}` : "", this.name = "UnsubscriptionError", this.errors = n; }); -function Ke(e6, t) { +function st(e6, t) { if (e6) { let n = e6.indexOf(t); 0 <= n && e6.splice(n, 1); @@ -232,27 +232,27 @@ var b = class e { try { r(); } catch (i) { - t = i instanceof Vt ? i.errors : [i]; + t = i instanceof Jt ? i.errors : [i]; } let { _finalizers: o } = this; if (o) { this._finalizers = null; for (let i of o) try { - Di(i); + Xi(i); } catch (s) { - t = t ?? [], s instanceof Vt ? t = [...t, ...s.errors] : t.push(s); + t = t ?? [], s instanceof Jt ? t = [...t, ...s.errors] : t.push(s); } } if (t) - throw new Vt(t); + throw new Jt(t); } } add(t) { var n; if (t && t !== this) if (this.closed) - Di(t); + Xi(t); else { if (t instanceof e) { if (t.closed || t._hasParent(this)) @@ -272,83 +272,83 @@ var b = class e { } _removeParent(t) { let { _parentage: n } = this; - n === t ? this._parentage = null : Array.isArray(n) && Ke(n, t); + n === t ? this._parentage = null : Array.isArray(n) && st(n, t); } remove(t) { let { _finalizers: n } = this; - n && Ke(n, t), t instanceof e && t._removeParent(this); + n && st(n, t), t instanceof e && t._removeParent(this); } }; b.EMPTY = (() => { let e6 = new b(); return e6.closed = true, e6; })(); -var tr = b.EMPTY; -function Ht(e6) { +var Er = b.EMPTY; +function Xt(e6) { return e6 instanceof b || e6 && "closed" in e6 && N(e6.remove) && N(e6.add) && N(e6.unsubscribe); } -function Di(e6) { +function Xi(e6) { N(e6) ? e6() : e6.unsubscribe(); } -var V = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: false, useDeprecatedNextContext: false }; -var _e = { setTimeout(e6, t, ...n) { - let { delegate: r } = _e; +var H = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: false, useDeprecatedNextContext: false }; +var Le = { setTimeout(e6, t, ...n) { + let { delegate: r } = Le; return r?.setTimeout ? r.setTimeout(e6, t, ...n) : setTimeout(e6, t, ...n); }, clearTimeout(e6) { - let { delegate: t } = _e; + let { delegate: t } = Le; return (t?.clearTimeout || clearTimeout)(e6); }, delegate: void 0 }; -function vi(e6) { - _e.setTimeout(() => { - let { onUnhandledError: t } = V; +function es(e6) { + Le.setTimeout(() => { + let { onUnhandledError: t } = H; if (t) t(e6); else throw e6; }); } -function nr() { +function Ir() { } -var Ei = rr("C", void 0, void 0); -function Ii(e6) { - return rr("E", void 0, e6); +var ts = Cr("C", void 0, void 0); +function ns(e6) { + return Cr("E", void 0, e6); } -function Ci(e6) { - return rr("N", e6, void 0); +function rs(e6) { + return Cr("N", e6, void 0); } -function rr(e6, t, n) { +function Cr(e6, t, n) { return { kind: e6, value: t, error: n }; } -var de = null; -function Se(e6) { - if (V.useDeprecatedSynchronousErrorHandling) { - let t = !de; - if (t && (de = { errorThrown: false, error: null }), e6(), t) { - let { errorThrown: n, error: r } = de; - if (de = null, n) +var ve = null; +function Pe(e6) { + if (H.useDeprecatedSynchronousErrorHandling) { + let t = !ve; + if (t && (ve = { errorThrown: false, error: null }), e6(), t) { + let { errorThrown: n, error: r } = ve; + if (ve = null, n) throw r; } } else e6(); } -function wi(e6) { - V.useDeprecatedSynchronousErrorHandling && de && (de.errorThrown = true, de.error = e6); +function os(e6) { + H.useDeprecatedSynchronousErrorHandling && ve && (ve.errorThrown = true, ve.error = e6); } -var fe = class extends b { +var Ee = class extends b { constructor(t) { - super(), this.isStopped = false, t ? (this.destination = t, Ht(t) && t.add(this)) : this.destination = Tc; + super(), this.isStopped = false, t ? (this.destination = t, Xt(t) && t.add(this)) : this.destination = gu; } static create(t, n, r) { - return new be(t, n, r); + return new je(t, n, r); } next(t) { - this.isStopped ? ir(Ci(t), this) : this._next(t); + this.isStopped ? Tr(rs(t), this) : this._next(t); } error(t) { - this.isStopped ? ir(Ii(t), this) : (this.isStopped = true, this._error(t)); + this.isStopped ? Tr(ns(t), this) : (this.isStopped = true, this._error(t)); } complete() { - this.isStopped ? ir(Ei, this) : (this.isStopped = true, this._complete()); + this.isStopped ? Tr(ts, this) : (this.isStopped = true, this._complete()); } unsubscribe() { this.closed || (this.isStopped = true, super.unsubscribe(), this.destination = null); @@ -371,11 +371,11 @@ var fe = class extends b { } } }; -var Cc = Function.prototype.bind; -function or(e6, t) { - return Cc.call(e6, t); +var pu = Function.prototype.bind; +function wr(e6, t) { + return pu.call(e6, t); } -var sr = class { +var Mr = class { constructor(t) { this.partialObserver = t; } @@ -385,7 +385,7 @@ var sr = class { try { n.next(t); } catch (r) { - $t(r); + en(r); } } error(t) { @@ -394,10 +394,10 @@ var sr = class { try { n.error(t); } catch (r) { - $t(r); + en(r); } else - $t(t); + en(t); } complete() { let { partialObserver: t } = this; @@ -405,11 +405,11 @@ var sr = class { try { t.complete(); } catch (n) { - $t(n); + en(n); } } }; -var be = class extends fe { +var je = class extends Ee { constructor(t, n, r) { super(); let o; @@ -417,32 +417,32 @@ var be = class extends fe { o = { next: t ?? void 0, error: n ?? void 0, complete: r ?? void 0 }; else { let i; - this && V.useDeprecatedNextContext ? (i = Object.create(t), i.unsubscribe = () => this.unsubscribe(), o = { next: t.next && or(t.next, i), error: t.error && or(t.error, i), complete: t.complete && or(t.complete, i) }) : o = t; + this && H.useDeprecatedNextContext ? (i = Object.create(t), i.unsubscribe = () => this.unsubscribe(), o = { next: t.next && wr(t.next, i), error: t.error && wr(t.error, i), complete: t.complete && wr(t.complete, i) }) : o = t; } - this.destination = new sr(o); + this.destination = new Mr(o); } }; -function $t(e6) { - V.useDeprecatedSynchronousErrorHandling ? wi(e6) : vi(e6); +function en(e6) { + H.useDeprecatedSynchronousErrorHandling ? os(e6) : es(e6); } -function wc(e6) { +function hu(e6) { throw e6; } -function ir(e6, t) { - let { onStoppedNotification: n } = V; - n && _e.setTimeout(() => n(e6, t)); +function Tr(e6, t) { + let { onStoppedNotification: n } = H; + n && Le.setTimeout(() => n(e6, t)); } -var Tc = { closed: true, next: nr, error: wc, complete: nr }; -var Ti = typeof Symbol == "function" && Symbol.observable || "@@observable"; -function Mi(e6) { +var gu = { closed: true, next: Ir, error: hu, complete: Ir }; +var is = typeof Symbol == "function" && Symbol.observable || "@@observable"; +function ss(e6) { return e6; } -function _i(e6) { - return e6.length === 0 ? Mi : e6.length === 1 ? e6[0] : function(n) { +function as(e6) { + return e6.length === 0 ? ss : e6.length === 1 ? e6[0] : function(n) { return e6.reduce((r, o) => o(r), n); }; } -var Ne = (() => { +var Be = (() => { class e6 { constructor(n) { n && (this._subscribe = n); @@ -452,8 +452,8 @@ var Ne = (() => { return r.source = this, r.operator = n, r; } subscribe(n, r, o) { - let i = _c(n) ? n : new be(n, r, o); - return Se(() => { + let i = yu(n) ? n : new je(n, r, o); + return Pe(() => { let { operator: s, source: a } = this; i.add(s ? s.call(i, a) : a ? this._subscribe(i) : this._trySubscribe(i)); }), i; @@ -466,8 +466,8 @@ var Ne = (() => { } } forEach(n, r) { - return r = Si(r), new r((o, i) => { - let s = new be({ next: (a) => { + return r = cs(r), new r((o, i) => { + let s = new je({ next: (a) => { try { n(a); } catch (c) { @@ -481,14 +481,14 @@ var Ne = (() => { var r; return (r = this.source) === null || r === void 0 ? void 0 : r.subscribe(n); } - [Ti]() { + [is]() { return this; } pipe(...n) { - return _i(n)(this); + return as(n)(this); } toPromise(n) { - return n = Si(n), new n((r, o) => { + return n = cs(n), new n((r, o) => { let i; this.subscribe((s) => i = s, (s) => o(s), () => r(i)); }); @@ -496,22 +496,22 @@ var Ne = (() => { } return e6.create = (t) => new e6(t), e6; })(); -function Si(e6) { +function cs(e6) { var t; - return (t = e6 ?? V.Promise) !== null && t !== void 0 ? t : Promise; + return (t = e6 ?? H.Promise) !== null && t !== void 0 ? t : Promise; } -function Mc(e6) { +function mu(e6) { return e6 && N(e6.next) && N(e6.error) && N(e6.complete); } -function _c(e6) { - return e6 && e6 instanceof fe || Mc(e6) && Ht(e6); +function yu(e6) { + return e6 && e6 instanceof Ee || mu(e6) && Xt(e6); } -function Sc(e6) { +function Du(e6) { return N(e6?.lift); } -function bi(e6) { +function us(e6) { return (t) => { - if (Sc(t)) + if (Du(t)) return t.lift(function(n) { try { return e6(n, this); @@ -522,10 +522,10 @@ function bi(e6) { throw new TypeError("Unable to lift unknown Observable type"); }; } -function Ni(e6, t, n, r, o) { - return new ar(e6, t, n, r, o); +function ls(e6, t, n, r, o) { + return new _r(e6, t, n, r, o); } -var ar = class extends fe { +var _r = class extends Ee { constructor(t, n, r, o, i, s) { super(t), this.onFinalize = i, this.shouldUnsubscribe = s, this._next = n ? function(a) { try { @@ -559,24 +559,24 @@ var ar = class extends fe { } } }; -var Ai = Bt((e6) => function() { +var ds = Kt((e6) => function() { e6(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed"; }); -var oe = (() => { - class e6 extends Ne { +var ce = (() => { + class e6 extends Be { constructor() { super(), this.closed = false, this.currentObservers = null, this.observers = [], this.isStopped = false, this.hasError = false, this.thrownError = null; } lift(n) { - let r = new Ut(this, this); + let r = new tn(this, this); return r.operator = n, r; } _throwIfClosed() { if (this.closed) - throw new Ai(); + throw new ds(); } next(n) { - Se(() => { + Pe(() => { if (this._throwIfClosed(), !this.isStopped) { this.currentObservers || (this.currentObservers = Array.from(this.observers)); for (let r of this.currentObservers) @@ -585,7 +585,7 @@ var oe = (() => { }); } error(n) { - Se(() => { + Pe(() => { if (this._throwIfClosed(), !this.isStopped) { this.hasError = this.isStopped = true, this.thrownError = n; let { observers: r } = this; @@ -595,7 +595,7 @@ var oe = (() => { }); } complete() { - Se(() => { + Pe(() => { if (this._throwIfClosed(), !this.isStopped) { this.isStopped = true; let { observers: n } = this; @@ -619,8 +619,8 @@ var oe = (() => { } _innerSubscribe(n) { let { hasError: r, isStopped: o, observers: i } = this; - return r || o ? tr : (this.currentObservers = null, i.push(n), new b(() => { - this.currentObservers = null, Ke(i, n); + return r || o ? Er : (this.currentObservers = null, i.push(n), new b(() => { + this.currentObservers = null, st(i, n); })); } _checkFinalizedStatuses(n) { @@ -628,13 +628,13 @@ var oe = (() => { r ? n.error(o) : i && n.complete(); } asObservable() { - let n = new Ne(); + let n = new Be(); return n.source = this, n; } } - return e6.create = (t, n) => new Ut(t, n), e6; + return e6.create = (t, n) => new tn(t, n), e6; })(); -var Ut = class extends oe { +var tn = class extends ce { constructor(t, n) { super(), this.destination = t, this.source = n; } @@ -652,10 +652,10 @@ var Ut = class extends oe { } _subscribe(t) { var n, r; - return (r = (n = this.source) === null || n === void 0 ? void 0 : n.subscribe(t)) !== null && r !== void 0 ? r : tr; + return (r = (n = this.source) === null || n === void 0 ? void 0 : n.subscribe(t)) !== null && r !== void 0 ? r : Er; } }; -var Je = class extends oe { +var at = class extends ce { constructor(t) { super(), this._value = t; } @@ -676,79 +676,81 @@ var Je = class extends oe { super.next(this._value = t); } }; -function cr(e6, t) { - return bi((n, r) => { +function Sr(e6, t) { + return us((n, r) => { let o = 0; - n.subscribe(Ni(r, (i) => { + n.subscribe(ls(r, (i) => { r.next(e6.call(t, i, o++)); })); }); } -var ur; -function zt() { - return ur; +var br; +function nn() { + return br; } -function W(e6) { - let t = ur; - return ur = e6, t; +function q(e6) { + let t = br; + return br = e6, t; } -var xi = Symbol("NotFound"); -function Ae(e6) { - return e6 === xi || e6?.name === "\u0275NotFound"; +var fs = Symbol("NotFound"); +function Ve(e6) { + return e6 === fs || e6?.name === "\u0275NotFound"; } +var un = "https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss"; var g = class extends Error { code; constructor(t, n) { - super(Mr(t, n)), this.code = t; + super(ln(t, n)), this.code = t; } }; -function xc(e6) { +function Cu(e6) { return `NG0${Math.abs(e6)}`; } -function Mr(e6, t) { - return `${xc(e6)}${t ? ": " + t : ""}`; +function ln(e6, t) { + return `${Cu(e6)}${t ? ": " + t : ""}`; } -function C(e6) { +var ue = globalThis; +function w(e6) { for (let t in e6) - if (e6[t] === C) + if (e6[t] === w) return t; throw Error(""); } -function _r(e6, t) { +function zr(e6, t) { return e6 ? t ? `${e6} ${t}` : e6 : t || ""; } -var Rc = C({ __forward_ref__: C }); -function Qt(e6) { - return e6.__forward_ref__ = Qt, e6; +var wu = w({ __forward_ref__: w }); +function dn(e6) { + return e6.__forward_ref__ = dn, e6; } -function R(e6) { - return Li(e6) ? e6() : e6; +function O(e6) { + return ys(e6) ? e6() : e6; } -function Li(e6) { - return typeof e6 == "function" && e6.hasOwnProperty(Rc) && e6.__forward_ref__ === Qt; +function ys(e6) { + return typeof e6 == "function" && e6.hasOwnProperty(wu) && e6.__forward_ref__ === dn; } function _(e6) { return { token: e6.token, providedIn: e6.providedIn || null, factory: e6.factory, value: void 0 }; } -function rt(e6) { +function ze(e6) { return { providers: e6.providers || [], imports: e6.imports || [] }; } -function Kt(e6) { - return Oc(e6, Jt); +function fn(e6) { + return Tu(e6, pn); } -function Oc(e6, t) { +function Tu(e6, t) { return e6.hasOwnProperty(t) && e6[t] || null; } -function kc(e6) { - let t = e6?.[Jt] ?? null; +function Mu(e6) { + let t = e6?.[pn] ?? null; return t || null; } -function dr(e6) { - return e6 && e6.hasOwnProperty(Wt) ? e6[Wt] : null; +function Ar(e6) { + return e6 && e6.hasOwnProperty(on) ? e6[on] : null; } -var Jt = C({ \u0275prov: C }); -var Wt = C({ \u0275inj: C }); -var D = class { +var pn = w({ \u0275prov: w }); +var on = w({ \u0275inj: w }); +var m = class { _desc; ngMetadataName = "InjectionToken"; \u0275prov; @@ -762,93 +764,93 @@ var D = class { return `InjectionToken ${this._desc}`; } }; -function Sr(e6) { +function Gr(e6) { return e6 && !!e6.\u0275providers; } -var br = C({ \u0275cmp: C }); -var Nr = C({ \u0275dir: C }); -var Ar = C({ \u0275pipe: C }); -var fr = C({ \u0275fac: C }); -var De = C({ __NG_ELEMENT_ID__: C }); -var Ri = C({ __NG_ENV_ID__: C }); -function ot(e6) { - return Rr(e6, "@Component"), e6[br] || null; +var Wr = w({ \u0275cmp: w }); +var qr = w({ \u0275dir: w }); +var Zr = w({ \u0275pipe: w }); +var xr = w({ \u0275fac: w }); +var Me = w({ __NG_ELEMENT_ID__: w }); +var ps = w({ __NG_ENV_ID__: w }); +function ft(e6) { + return Qr(e6, "@Component"), e6[Wr] || null; } -function xr(e6) { - return Rr(e6, "@Directive"), e6[Nr] || null; +function Yr(e6) { + return Qr(e6, "@Directive"), e6[qr] || null; } -function Pi(e6) { - return Rr(e6, "@Pipe"), e6[Ar] || null; +function Ds(e6) { + return Qr(e6, "@Pipe"), e6[Zr] || null; } -function Rr(e6, t) { +function Qr(e6, t) { if (e6 == null) throw new g(-919, false); } -function ji(e6) { +function Kr(e6) { return typeof e6 == "string" ? e6 : e6 == null ? "" : String(e6); } -var Bi = C({ ngErrorCode: C }); -var Fc = C({ ngErrorMessage: C }); -var Lc = C({ ngTokenPath: C }); -function Or(e6, t) { - return Vi("", -200, t); +var vs = w({ ngErrorCode: w }); +var _u = w({ ngErrorMessage: w }); +var Su = w({ ngTokenPath: w }); +function Jr(e6, t) { + return Es("", -200, t); } -function Xt(e6, t) { +function hn(e6, t) { throw new g(-201, false); } -function Vi(e6, t, n) { +function Es(e6, t, n) { let r = new g(t, e6); - return r[Bi] = t, r[Fc] = e6, n && (r[Lc] = n), r; + return r[vs] = t, r[_u] = e6, n && (r[Su] = n), r; } -function Pc(e6) { - return e6[Bi]; +function bu(e6) { + return e6[vs]; } -var pr; -function Hi() { - return pr; +var Rr; +function Is() { + return Rr; } -function x(e6) { - let t = pr; - return pr = e6, t; +function R(e6) { + let t = Rr; + return Rr = e6, t; } -function kr(e6, t, n) { - let r = Kt(e6); +function Xr(e6, t, n) { + let r = fn(e6); if (r && r.providedIn == "root") return r.value === void 0 ? r.value = r.factory() : r.value; if (n & 8) return null; if (t !== void 0) return t; - Xt(e6, ""); + hn(e6, ""); } -var jc = {}; -var pe = jc; -var Bc = "__NG_DI_FLAG__"; -var hr = class { +var Nu = {}; +var Ie = Nu; +var Au = "__NG_DI_FLAG__"; +var Or = class { injector; constructor(t) { this.injector = t; } retrieve(t, n) { - let r = he(n) || 0; + let r = Ce(n) || 0; try { - return this.injector.get(t, r & 8 ? null : pe, r); + return this.injector.get(t, r & 8 ? null : Ie, r); } catch (o) { - if (Ae(o)) + if (Ve(o)) return o; throw o; } } }; -function Vc(e6, t = 0) { - let n = zt(); +function xu(e6, t = 0) { + let n = nn(); if (n === void 0) throw new g(-203, false); if (n === null) - return kr(e6, void 0, t); + return Xr(e6, void 0, t); { - let r = Hc(t), o = n.retrieve(e6, r); - if (Ae(o)) { + let r = Ru(t), o = n.retrieve(e6, r); + if (Ve(o)) { if (r.optional) return null; throw o; @@ -857,27 +859,27 @@ function Vc(e6, t = 0) { } } function E(e6, t = 0) { - return (Hi() || Vc)(R(e6), t); + return (Is() || xu)(O(e6), t); } function v(e6, t) { - return E(e6, he(t)); + return E(e6, Ce(t)); } -function he(e6) { +function Ce(e6) { return typeof e6 > "u" || typeof e6 == "number" ? e6 : 0 | (e6.optional && 8) | (e6.host && 1) | (e6.self && 2) | (e6.skipSelf && 4); } -function Hc(e6) { +function Ru(e6) { return { optional: !!(e6 & 8), host: !!(e6 & 1), self: !!(e6 & 2), skipSelf: !!(e6 & 4) }; } -function gr(e6) { +function kr(e6) { let t = []; for (let n = 0; n < e6.length; n++) { - let r = R(e6[n]); + let r = O(e6[n]); if (Array.isArray(r)) { if (r.length === 0) throw new g(900, false); let o, i = 0; for (let s = 0; s < r.length; s++) { - let a = r[s], c = $c(a); + let a = r[s], c = Ou(a); typeof c == "number" ? c === -1 ? o = a.token : i |= c : o = a; } t.push(E(o, i)); @@ -886,66 +888,66 @@ function gr(e6) { } return t; } -function $c(e6) { - return e6[Bc]; +function Ou(e6) { + return e6[Au]; } -function Re(e6, t) { - let n = e6.hasOwnProperty(fr); - return n ? e6[fr] : null; +function $e(e6, t) { + let n = e6.hasOwnProperty(xr); + return n ? e6[xr] : null; } -function en(e6, t) { - e6.forEach((n) => Array.isArray(n) ? en(n, t) : t(n)); +function gn(e6, t) { + e6.forEach((n) => Array.isArray(n) ? gn(n, t) : t(n)); } -function Fr(e6, t) { +function eo(e6, t) { return t >= e6.length - 1 ? e6.pop() : e6.splice(t, 1)[0]; } -var ve = {}; -var H = []; -var ke = new D(""); -var Lr = new D("", -1); -var Pr = new D(""); -var et = class { - get(t, n = pe) { - if (n === pe) { - let o = Vi("", -201); +var _e = {}; +var $ = []; +var Se = new m(""); +var to = new m("", -1); +var no = new m(""); +var ut = class { + get(t, n = Ie) { + if (n === Ie) { + let o = Es("", -201); throw o.name = "\u0275NotFound", o; } return n; } }; -function tn(e6) { +function pt(e6) { return { \u0275providers: e6 }; } -function $i(e6) { - return tn([{ provide: ke, multi: true, useValue: e6 }]); +function Cs(e6) { + return pt([{ provide: Se, multi: true, useValue: e6 }]); } -function Ui(...e6) { - return { \u0275providers: jr(true, e6), \u0275fromNgModule: true }; +function ws(...e6) { + return { \u0275providers: ro(true, e6), \u0275fromNgModule: true }; } -function jr(e6, ...t) { +function ro(e6, ...t) { let n = [], r = /* @__PURE__ */ new Set(), o, i = (s) => { n.push(s); }; - return en(t, (s) => { + return gn(t, (s) => { let a = s; - qt(a, i, [], r) && (o ||= [], o.push(a)); - }), o !== void 0 && zi(o, i), n; + sn(a, i, [], r) && (o ||= [], o.push(a)); + }), o !== void 0 && Ts(o, i), n; } -function zi(e6, t) { +function Ts(e6, t) { for (let n = 0; n < e6.length; n++) { let { ngModule: r, providers: o } = e6[n]; - Br(o, (i) => { + oo(o, (i) => { t(i, r); }); } } -function qt(e6, t, n, r) { - if (e6 = R(e6), !e6) +function sn(e6, t, n, r) { + if (e6 = O(e6), !e6) return false; - let o = null, i = dr(e6), s = !i && ot(e6); + let o = null, i = Ar(e6), s = !i && ft(e6); if (!i && !s) { let c = e6.ngModule; - if (i = dr(c), i) + if (i = Ar(c), i) o = c; else return false; @@ -961,24 +963,24 @@ function qt(e6, t, n, r) { if (r.add(o), s.dependencies) { let c = typeof s.dependencies == "function" ? s.dependencies() : s.dependencies; for (let u of c) - qt(u, t, n, r); + sn(u, t, n, r); } } else if (i) { if (i.imports != null && !a) { r.add(o); let u; - en(i.imports, (l) => { - qt(l, t, n, r) && (u ||= [], u.push(l)); - }), u !== void 0 && zi(u, t); + gn(i.imports, (l) => { + sn(l, t, n, r) && (u ||= [], u.push(l)); + }), u !== void 0 && Ts(u, t); } if (!a) { - let u = Re(o) || (() => new o()); - t({ provide: o, useFactory: u, deps: H }, o), t({ provide: Pr, useValue: o, multi: true }, o), t({ provide: ke, useValue: () => E(o), multi: true }, o); + let u = $e(o) || (() => new o()); + t({ provide: o, useFactory: u, deps: $ }, o), t({ provide: no, useValue: o, multi: true }, o), t({ provide: Se, useValue: () => E(o), multi: true }, o); } let c = i.providers; if (c != null && !a) { let u = e6; - Br(c, (l) => { + oo(c, (l) => { t(l, u); }); } @@ -986,33 +988,33 @@ function qt(e6, t, n, r) { return false; return o !== e6 && e6.providers !== void 0; } -function Br(e6, t) { +function oo(e6, t) { for (let n of e6) - Sr(n) && (n = n.\u0275providers), Array.isArray(n) ? Br(n, t) : t(n); + Gr(n) && (n = n.\u0275providers), Array.isArray(n) ? oo(n, t) : t(n); } -var Uc = C({ provide: String, useValue: C }); -function Gi(e6) { - return e6 !== null && typeof e6 == "object" && Uc in e6; +var ku = w({ provide: String, useValue: w }); +function Ms(e6) { + return e6 !== null && typeof e6 == "object" && ku in e6; } -function zc(e6) { +function Fu(e6) { return !!(e6 && e6.useExisting); } -function Gc(e6) { +function Lu(e6) { return !!(e6 && e6.useFactory); } -function Zt(e6) { +function an(e6) { return typeof e6 == "function"; } -var it = new D(""); -var Gt = {}; -var Oi = {}; -var lr; -function st() { - return lr === void 0 && (lr = new et()), lr; +var ht = new m(""); +var rn = {}; +var hs = {}; +var Nr; +function gt() { + return Nr === void 0 && (Nr = new ut()), Nr; } -var $ = class { +var U = class { }; -var ge = class extends $ { +var we = class extends U { parent; source; scopes; @@ -1025,23 +1027,23 @@ var ge = class extends $ { _destroyed = false; injectorDefTypes; constructor(t, n, r, o) { - super(), this.parent = n, this.source = r, this.scopes = o, yr(t, (s) => this.processProvider(s)), this.records.set(Lr, xe(void 0, this)), o.has("environment") && this.records.set($, xe(void 0, this)); - let i = this.records.get(it); - i != null && typeof i.value == "string" && this.scopes.add(i.value), this.injectorDefTypes = new Set(this.get(Pr, H, { self: true })); + super(), this.parent = n, this.source = r, this.scopes = o, Lr(t, (s) => this.processProvider(s)), this.records.set(to, He(void 0, this)), o.has("environment") && this.records.set(U, He(void 0, this)); + let i = this.records.get(ht); + i != null && typeof i.value == "string" && this.scopes.add(i.value), this.injectorDefTypes = new Set(this.get(no, $, { self: true })); } retrieve(t, n) { - let r = he(n) || 0; + let r = Ce(n) || 0; try { - return this.get(t, pe, r); + return this.get(t, Ie, r); } catch (o) { - if (Ae(o)) + if (Ve(o)) return o; throw o; } } destroy() { - Xe(this), this._destroyed = true; - let t = y(null); + ct(this), this._destroyed = true; + let t = D(null); try { for (let r of this._ngOnDestroyHooks) r.ngOnDestroy(); @@ -1050,80 +1052,80 @@ var ge = class extends $ { for (let r of n) r(); } finally { - this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear(), y(t); + this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear(), D(t); } } onDestroy(t) { - return Xe(this), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t); + return ct(this), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t); } runInContext(t) { - Xe(this); - let n = W(this), r = x(void 0), o; + ct(this); + let n = q(this), r = R(void 0), o; try { return t(); } finally { - W(n), x(r); + q(n), R(r); } } - get(t, n = pe, r) { - if (Xe(this), t.hasOwnProperty(Ri)) - return t[Ri](this); - let o = he(r), i, s = W(this), a = x(void 0); + get(t, n = Ie, r) { + if (ct(this), t.hasOwnProperty(ps)) + return t[ps](this); + let o = Ce(r), i, s = q(this), a = R(void 0); try { if (!(o & 4)) { let u = this.records.get(t); if (u === void 0) { - let l = Qc(t) && Kt(t); - l && this.injectableDefInScope(l) ? u = xe(mr(t), Gt) : u = null, this.records.set(t, u); + let l = Hu(t) && fn(t); + l && this.injectableDefInScope(l) ? u = He(Fr(t), rn) : u = null, this.records.set(t, u); } if (u != null) return this.hydrate(t, u, o); } - let c = o & 2 ? st() : this.parent; - return n = o & 8 && n === pe ? null : n, c.get(t, n); + let c = o & 2 ? gt() : this.parent; + return n = o & 8 && n === Ie ? null : n, c.get(t, n); } catch (c) { - let u = Pc(c); + let u = bu(c); throw u === -200 || u === -201 ? new g(u, null) : c; } finally { - x(a), W(s); + R(a), q(s); } } resolveInjectorInitializers() { - let t = y(null), n = W(this), r = x(void 0), o; + let t = D(null), n = q(this), r = R(void 0), o; try { - let i = this.get(ke, H, { self: true }); + let i = this.get(Se, $, { self: true }); for (let s of i) s(); } finally { - W(n), x(r), y(t); + q(n), R(r), D(t); } } toString() { return "R3Injector[...]"; } processProvider(t) { - t = R(t); - let n = Zt(t) ? t : R(t && t.provide), r = qc(t); - if (!Zt(t) && t.multi === true) { + t = O(t); + let n = an(t) ? t : O(t && t.provide), r = ju(t); + if (!an(t) && t.multi === true) { let o = this.records.get(n); - o || (o = xe(void 0, Gt, true), o.factory = () => gr(o.multi), this.records.set(n, o)), n = t, o.multi.push(t); + o || (o = He(void 0, rn, true), o.factory = () => kr(o.multi), this.records.set(n, o)), n = t, o.multi.push(t); } this.records.set(n, r); } hydrate(t, n, r) { - let o = y(null); + let o = D(null); try { - if (n.value === Oi) - throw Or(""); - return n.value === Gt && (n.value = Oi, n.value = n.factory(void 0, r)), typeof n.value == "object" && n.value && Yc(n.value) && this._ngOnDestroyHooks.add(n.value), n.value; + if (n.value === hs) + throw Jr(""); + return n.value === rn && (n.value = hs, n.value = n.factory(void 0, r)), typeof n.value == "object" && n.value && Vu(n.value) && this._ngOnDestroyHooks.add(n.value), n.value; } finally { - y(o); + D(o); } } injectableDefInScope(t) { if (!t.providedIn) return false; - let n = R(t.providedIn); + let n = O(t.providedIn); return typeof n == "string" ? n === "any" || this.scopes.has(n) : this.injectorDefTypes.has(n); } removeOnDestroy(t) { @@ -1131,391 +1133,395 @@ var ge = class extends $ { n !== -1 && this._onDestroyHooks.splice(n, 1); } }; -function mr(e6) { - let t = Kt(e6), n = t !== null ? t.factory : Re(e6); +function Fr(e6) { + let t = fn(e6), n = t !== null ? t.factory : $e(e6); if (n !== null) return n; - if (e6 instanceof D) + if (e6 instanceof m) throw new g(-204, false); if (e6 instanceof Function) - return Wc(e6); + return Pu(e6); throw new g(-204, false); } -function Wc(e6) { +function Pu(e6) { if (e6.length > 0) throw new g(-204, false); - let n = kc(e6); + let n = Mu(e6); return n !== null ? () => n.factory(e6) : () => new e6(); } -function qc(e6) { - if (Gi(e6)) - return xe(void 0, e6.useValue); +function ju(e6) { + if (Ms(e6)) + return He(void 0, e6.useValue); { - let t = Wi(e6); - return xe(t, Gt); + let t = _s(e6); + return He(t, rn); } } -function Wi(e6, t, n) { +function _s(e6, t, n) { let r; - if (Zt(e6)) { - let o = R(e6); - return Re(o) || mr(o); - } else if (Gi(e6)) - r = () => R(e6.useValue); - else if (Gc(e6)) - r = () => e6.useFactory(...gr(e6.deps || [])); - else if (zc(e6)) - r = (o, i) => E(R(e6.useExisting), i !== void 0 && i & 8 ? 8 : void 0); + if (an(e6)) { + let o = O(e6); + return $e(o) || Fr(o); + } else if (Ms(e6)) + r = () => O(e6.useValue); + else if (Lu(e6)) + r = () => e6.useFactory(...kr(e6.deps || [])); + else if (Fu(e6)) + r = (o, i) => E(O(e6.useExisting), i !== void 0 && i & 8 ? 8 : void 0); else { - let o = R(e6 && (e6.useClass || e6.provide)); - if (Zc(e6)) - r = () => new o(...gr(e6.deps)); + let o = O(e6 && (e6.useClass || e6.provide)); + if (Bu(e6)) + r = () => new o(...kr(e6.deps)); else - return Re(o) || mr(o); + return $e(o) || Fr(o); } return r; } -function Xe(e6) { +function ct(e6) { if (e6.destroyed) throw new g(-205, false); } -function xe(e6, t, n = false) { +function He(e6, t, n = false) { return { factory: e6, value: t, multi: n ? [] : void 0 }; } -function Zc(e6) { +function Bu(e6) { return !!e6.deps; } -function Yc(e6) { +function Vu(e6) { return e6 !== null && typeof e6 == "object" && typeof e6.ngOnDestroy == "function"; } -function Qc(e6) { +function Hu(e6) { return typeof e6 == "function" || typeof e6 == "object" && e6.ngMetadataName === "InjectionToken"; } -function yr(e6, t) { +function Lr(e6, t) { for (let n of e6) - Array.isArray(n) ? yr(n, t) : n && Sr(n) ? yr(n.\u0275providers, t) : t(n); + Array.isArray(n) ? Lr(n, t) : n && Gr(n) ? Lr(n.\u0275providers, t) : t(n); } -function nn(e6, t) { +function mn(e6, t) { let n; - e6 instanceof ge ? (Xe(e6), n = e6) : n = new hr(e6); - let r, o = W(n), i = x(void 0); + e6 instanceof we ? (ct(e6), n = e6) : n = new Or(e6); + let r, o = q(n), i = R(void 0); try { return t(); } finally { - W(o), x(i); + q(o), R(i); } } -function qi() { - return Hi() !== void 0 || zt() != null; +function Ss() { + return Is() !== void 0 || nn() != null; } -var q = 0; -var m = 1; +var Z = 0; +var y = 1; var h = 2; -var O = 3; -var ee = 4; -var te = 5; -var rn = 6; -var on = 7; -var k = 8; -var Ee = 9; -var ne = 10; -var P = 11; -var Fe = 12; -var Vr = 13; -var Le = 14; -var Z = 15; -var at = 16; -var Ie = 17; -var sn = 18; -var ie = 19; -var Hr = 20; -var J = 21; -var an = 22; -var ct = 23; -var F = 24; -var cn = 25; -var Pe = 26; -var U = 27; -var Zi = 1; -var un = 7; -var Yi = 8; -var ut = 9; -var re = 10; -function se(e6) { - return Array.isArray(e6) && typeof e6[Zi] == "object"; -} -function ae(e6) { - return Array.isArray(e6) && e6[Zi] === true; -} -function $r(e6) { +var k = 3; +var re = 4; +var oe = 5; +var yn = 6; +var Dn = 7; +var F = 8; +var be = 9; +var Y = 10; +var L = 11; +var Ge = 12; +var io = 13; +var We = 14; +var Q = 15; +var mt = 16; +var Ne = 17; +var vn = 18; +var le = 19; +var so = 20; +var ee = 21; +var En = 22; +var yt = 23; +var P = 24; +var In = 25; +var qe = 26; +var z = 27; +var bs = 1; +var Cn = 7; +var Ns = 8; +var Dt = 9; +var ie = 10; +function de(e6) { + return Array.isArray(e6) && typeof e6[bs] == "object"; +} +function fe(e6) { + return Array.isArray(e6) && e6[bs] === true; +} +function ao(e6) { return (e6.flags & 4) !== 0; } -function lt(e6) { +function vt(e6) { return e6.componentOffset > -1; } -function Qi(e6) { +function As(e6) { return (e6.flags & 1) === 1; } -function je(e6) { +function Ze(e6) { return !!e6.template; } -function Be(e6) { +function Ye(e6) { return (e6[h] & 512) !== 0; } -function Ce(e6) { +function Ae(e6) { return (e6[h] & 256) === 256; } -var Ki = "svg"; -var Ji = "math"; -function ce(e6) { +var xs = "svg"; +var Rs = "math"; +function pe(e6) { for (; Array.isArray(e6); ) - e6 = e6[q]; + e6 = e6[Z]; return e6; } -function Xi(e6, t) { - return ce(t[e6]); +function Os(e6, t) { + return pe(t[e6]); } -function Ve(e6, t) { - return ce(t[e6.index]); +function xe(e6, t) { + return pe(t[e6.index]); } -function es(e6, t) { +function co(e6, t) { return e6.data[t]; } -function ue(e6, t) { +function he(e6, t) { let n = t[e6]; - return se(n) ? n : n[q]; + return de(n) ? n : n[Z]; } -function ln(e6) { +function wn(e6) { return (e6[h] & 128) === 128; } -function dt(e6, t) { +function Et(e6, t) { return t == null ? null : e6[t]; } -function Ur(e6) { - e6[Ie] = 0; +function uo(e6) { + e6[Ne] = 0; } -function zr(e6) { - e6[h] & 1024 || (e6[h] |= 1024, ln(e6) && pt(e6)); +function lo(e6) { + e6[h] & 1024 || (e6[h] |= 1024, wn(e6) && Ct(e6)); } -function ft(e6) { - return !!(e6[h] & 9216 || e6[F]?.dirty); +function It(e6) { + return !!(e6[h] & 9216 || e6[P]?.dirty); } -function Gr(e6) { - e6[ne].changeDetectionScheduler?.notify(8), e6[h] & 64 && (e6[h] |= 1024), ft(e6) && pt(e6); +function fo(e6) { + e6[Y].changeDetectionScheduler?.notify(8), e6[h] & 64 && (e6[h] |= 1024), It(e6) && Ct(e6); } -function pt(e6) { - e6[ne].changeDetectionScheduler?.notify(0); - let t = me(e6); - for (; t !== null && !(t[h] & 8192 || (t[h] |= 8192, !ln(t))); ) - t = me(t); +function Ct(e6) { + e6[Y].changeDetectionScheduler?.notify(0); + let t = Te(e6); + for (; t !== null && !(t[h] & 8192 || (t[h] |= 8192, !wn(t))); ) + t = Te(t); } -function Wr(e6, t) { - if (Ce(e6)) +function po(e6, t) { + if (Ae(e6)) throw new g(911, false); - e6[J] === null && (e6[J] = []), e6[J].push(t); + e6[ee] === null && (e6[ee] = []), e6[ee].push(t); } -function ts(e6, t) { - if (e6[J] === null) +function ks(e6, t) { + if (e6[ee] === null) return; - let n = e6[J].indexOf(t); - n !== -1 && e6[J].splice(n, 1); + let n = e6[ee].indexOf(t); + n !== -1 && e6[ee].splice(n, 1); } -function me(e6) { - let t = e6[O]; - return ae(t) ? t[O] : t; +function Te(e6) { + let t = e6[k]; + return fe(t) ? t[k] : t; } -var w = { lFrame: ms(null), bindingsEnabled: true, skipHydrationRootTNode: null }; -var Dr = false; -function ns() { - return w.lFrame.elementDepthCount; +var I = { lFrame: Zs(null), bindingsEnabled: true, skipHydrationRootTNode: null }; +var Pr = false; +function Fs() { + return I.lFrame.elementDepthCount; } -function rs() { - w.lFrame.elementDepthCount++; +function Ls() { + I.lFrame.elementDepthCount++; } -function os() { - w.lFrame.elementDepthCount--; +function Ps() { + I.lFrame.elementDepthCount--; } -function is() { - return w.skipHydrationRootTNode !== null; +function js() { + return I.skipHydrationRootTNode !== null; } -function ss(e6) { - return w.skipHydrationRootTNode === e6; +function Bs(e6) { + return I.skipHydrationRootTNode === e6; } -function as() { - w.skipHydrationRootTNode = null; +function Vs() { + I.skipHydrationRootTNode = null; } -function Y() { - return w.lFrame.lView; +function B() { + return I.lFrame.lView; } -function qr() { - return w.lFrame.tView; +function Tn() { + return I.lFrame.tView; } -function He() { - let e6 = Zr(); +function Qe() { + let e6 = ho(); for (; e6 !== null && e6.type === 64; ) e6 = e6.parent; return e6; } -function Zr() { - return w.lFrame.currentTNode; +function ho() { + return I.lFrame.currentTNode; } -function cs() { - let e6 = w.lFrame, t = e6.currentTNode; +function Hs() { + let e6 = I.lFrame, t = e6.currentTNode; return e6.isParent ? t : t.parent; } -function ht(e6, t) { - let n = w.lFrame; +function wt(e6, t) { + let n = I.lFrame; n.currentTNode = e6, n.isParent = t; } -function Yr() { - return w.lFrame.isParent; +function go() { + return I.lFrame.isParent; } -function us() { - w.lFrame.isParent = false; +function $s() { + I.lFrame.isParent = false; } -function Qr() { - return Dr; +function mo() { + return Pr; } -function Kr(e6) { - let t = Dr; - return Dr = e6, t; +function yo(e6) { + let t = Pr; + return Pr = e6, t; } -function ls(e6) { - return w.lFrame.bindingIndex = e6; +function Us(e6) { + return I.lFrame.bindingIndex = e6; } -function ds() { - return w.lFrame.bindingIndex++; +function Do() { + return I.lFrame.bindingIndex++; } -function fs() { - return w.lFrame.inI18n; +function zs() { + return I.lFrame.inI18n; } -function ps(e6, t) { - let n = w.lFrame; - n.bindingIndex = n.bindingRootIndex = e6, dn(t); +function Gs(e6, t) { + let n = I.lFrame; + n.bindingIndex = n.bindingRootIndex = e6, Mn(t); } -function hs() { - return w.lFrame.currentDirectiveIndex; +function Ws() { + return I.lFrame.currentDirectiveIndex; } -function dn(e6) { - w.lFrame.currentDirectiveIndex = e6; +function Mn(e6) { + I.lFrame.currentDirectiveIndex = e6; } -function Jr(e6) { - w.lFrame.currentQueryIndex = e6; +function vo(e6) { + I.lFrame.currentQueryIndex = e6; } -function Kc(e6) { - let t = e6[m]; - return t.type === 2 ? t.declTNode : t.type === 1 ? e6[te] : null; +function $u(e6) { + let t = e6[y]; + return t.type === 2 ? t.declTNode : t.type === 1 ? e6[oe] : null; } -function Xr(e6, t, n) { +function Eo(e6, t, n) { if (n & 4) { let o = t, i = e6; for (; o = o.parent, o === null && !(n & 1); ) - if (o = Kc(i), o === null || (i = i[Le], o.type & 10)) + if (o = $u(i), o === null || (i = i[We], o.type & 10)) break; if (o === null) return false; t = o, e6 = i; } - let r = w.lFrame = gs(); + let r = I.lFrame = qs(); return r.currentTNode = t, r.lView = e6, true; } -function fn(e6) { - let t = gs(), n = e6[m]; - w.lFrame = t, t.currentTNode = n.firstChild, t.lView = e6, t.tView = n, t.contextLView = e6, t.bindingIndex = n.bindingStartIndex, t.inI18n = false; +function _n(e6) { + let t = qs(), n = e6[y]; + I.lFrame = t, t.currentTNode = n.firstChild, t.lView = e6, t.tView = n, t.contextLView = e6, t.bindingIndex = n.bindingStartIndex, t.inI18n = false; } -function gs() { - let e6 = w.lFrame, t = e6 === null ? null : e6.child; - return t === null ? ms(e6) : t; +function qs() { + let e6 = I.lFrame, t = e6 === null ? null : e6.child; + return t === null ? Zs(e6) : t; } -function ms(e6) { +function Zs(e6) { let t = { currentTNode: null, isParent: true, lView: null, tView: null, selectedIndex: -1, contextLView: null, elementDepthCount: 0, currentNamespace: null, currentDirectiveIndex: -1, bindingRootIndex: -1, bindingIndex: -1, currentQueryIndex: 0, parent: e6, child: null, inI18n: false }; return e6 !== null && (e6.child = t), t; } -function ys() { - let e6 = w.lFrame; - return w.lFrame = e6.parent, e6.currentTNode = null, e6.lView = null, e6; +function Ys() { + let e6 = I.lFrame; + return I.lFrame = e6.parent, e6.currentTNode = null, e6.lView = null, e6; } -var eo = ys; -function pn() { - let e6 = ys(); +var Io = Ys; +function Sn() { + let e6 = Ys(); e6.isParent = true, e6.tView = null, e6.selectedIndex = -1, e6.contextLView = null, e6.elementDepthCount = 0, e6.currentDirectiveIndex = -1, e6.currentNamespace = null, e6.bindingRootIndex = -1, e6.bindingIndex = -1, e6.currentQueryIndex = 0; } -function hn() { - return w.lFrame.selectedIndex; +function bn() { + return I.lFrame.selectedIndex; +} +function ge(e6) { + I.lFrame.selectedIndex = e6; } -function le(e6) { - w.lFrame.selectedIndex = e6; +function Qs() { + let e6 = I.lFrame; + return co(e6.tView, e6.selectedIndex); } -function Ds() { - return w.lFrame.currentNamespace; +function Ks() { + return I.lFrame.currentNamespace; } -var vs = true; -function to() { - return vs; +var Js = true; +function Co() { + return Js; } -function no(e6) { - vs = e6; +function wo(e6) { + Js = e6; } -function vr(e6, t = null, n = null, r) { - let o = Es(e6, t, n, r); +function jr(e6, t = null, n = null, r) { + let o = Xs(e6, t, n, r); return o.resolveInjectorInitializers(), o; } -function Es(e6, t = null, n = null, r, o = /* @__PURE__ */ new Set()) { - let i = [n || H, Ui(e6)], s; - return new ge(i, t || st(), s || null, o); +function Xs(e6, t = null, n = null, r, o = /* @__PURE__ */ new Set()) { + let i = [n || $, ws(e6)], s; + return new we(i, t || gt(), s || null, o); } -var ye = class e2 { - static THROW_IF_NOT_FOUND = pe; - static NULL = new et(); +var te = class e2 { + static THROW_IF_NOT_FOUND = Ie; + static NULL = new ut(); static create(t, n) { if (Array.isArray(t)) - return vr({ name: "" }, n, t, ""); + return jr({ name: "" }, n, t, ""); { let r = t.name ?? ""; - return vr({ name: r }, t.parent, t.providers, r); + return jr({ name: r }, t.parent, t.providers, r); } } - static \u0275prov = _({ token: e2, providedIn: "any", factory: () => E(Lr) }); + static \u0275prov = _({ token: e2, providedIn: "any", factory: () => E(to) }); static __NG_ELEMENT_ID__ = -1; }; -var j = new D(""); -var gt = /* @__PURE__ */ (() => { +var A = new m(""); +var Tt = /* @__PURE__ */ (() => { class e6 { - static __NG_ELEMENT_ID__ = Jc; + static __NG_ELEMENT_ID__ = Uu; static __NG_ENV_ID__ = (n) => n; } return e6; })(); -var Er = class extends gt { +var Br = class extends Tt { _lView; constructor(t) { super(), this._lView = t; } get destroyed() { - return Ce(this._lView); + return Ae(this._lView); } onDestroy(t) { let n = this._lView; - return Wr(n, t), () => ts(n, t); + return po(n, t), () => ks(n, t); } }; -function Jc() { - return new Er(Y()); +function Uu() { + return new Br(B()); } -var Is = false; -var Cs = new D(""); -var $e = (() => { +var ea = false; +var ta = new m(""); +var Ke = (() => { class e6 { taskId = 0; pendingTasks = /* @__PURE__ */ new Set(); destroyed = false; - pendingTask = new Je(false); - debugTaskTracker = v(Cs, { optional: true }); + pendingTask = new at(false); + debugTaskTracker = v(ta, { optional: true }); get hasPendingTasks() { return this.destroyed ? false : this.pendingTask.value; } get hasPendingTasksObservable() { - return this.destroyed ? new Ne((n) => { + return this.destroyed ? new Be((n) => { n.next(false), n.complete(); }) : this.pendingTask; } @@ -1537,19 +1543,19 @@ var $e = (() => { } return e6; })(); -var Ir = class extends oe { +var Vr = class extends ce { __isAsync; destroyRef = void 0; pendingTasks = void 0; constructor(t = false) { - super(), this.__isAsync = t, qi() && (this.destroyRef = v(gt, { optional: true }) ?? void 0, this.pendingTasks = v($e, { optional: true }) ?? void 0); + super(), this.__isAsync = t, Ss() && (this.destroyRef = v(Tt, { optional: true }) ?? void 0, this.pendingTasks = v(Ke, { optional: true }) ?? void 0); } emit(t) { - let n = y(null); + let n = D(null); try { super.next(t); } finally { - y(n); + D(n); } } subscribe(t, n, r) { @@ -1575,13 +1581,13 @@ var Ir = class extends oe { }; } }; -var K = Ir; -function Yt(...e6) { +var X = Vr; +function cn(...e6) { } -function ro(e6) { +function To(e6) { let t, n; function r() { - e6 = Yt; + e6 = cn; try { n !== void 0 && typeof cancelAnimationFrame == "function" && cancelAnimationFrame(n), t !== void 0 && clearTimeout(t); } catch { @@ -1593,32 +1599,32 @@ function ro(e6) { e6(), r(); })), () => r(); } -function ws(e6) { +function na(e6) { return queueMicrotask(() => e6()), () => { - e6 = Yt; + e6 = cn; }; } -var oo = "isAngularZone"; -var tt = oo + "_ID"; -var Xc = 0; -var L = class e3 { +var Mo = "isAngularZone"; +var lt = Mo + "_ID"; +var zu = 0; +var j = class e3 { hasPendingMacrotasks = false; hasPendingMicrotasks = false; isStable = true; - onUnstable = new K(false); - onMicrotaskEmpty = new K(false); - onStable = new K(false); - onError = new K(false); + onUnstable = new X(false); + onMicrotaskEmpty = new X(false); + onStable = new X(false); + onError = new X(false); constructor(t) { - let { enableLongStackTrace: n = false, shouldCoalesceEventChangeDetection: r = false, shouldCoalesceRunChangeDetection: o = false, scheduleInRootZone: i = Is } = t; + let { enableLongStackTrace: n = false, shouldCoalesceEventChangeDetection: r = false, shouldCoalesceRunChangeDetection: o = false, scheduleInRootZone: i = ea } = t; if (typeof Zone > "u") throw new g(908, false); Zone.assertZonePatched(); let s = this; - s._nesting = 0, s._outer = s._inner = Zone.current, Zone.TaskTrackingZoneSpec && (s._inner = s._inner.fork(new Zone.TaskTrackingZoneSpec())), n && Zone.longStackTraceZoneSpec && (s._inner = s._inner.fork(Zone.longStackTraceZoneSpec)), s.shouldCoalesceEventChangeDetection = !o && r, s.shouldCoalesceRunChangeDetection = o, s.callbackScheduled = false, s.scheduleInRootZone = i, nu(s); + s._nesting = 0, s._outer = s._inner = Zone.current, Zone.TaskTrackingZoneSpec && (s._inner = s._inner.fork(new Zone.TaskTrackingZoneSpec())), n && Zone.longStackTraceZoneSpec && (s._inner = s._inner.fork(Zone.longStackTraceZoneSpec)), s.shouldCoalesceEventChangeDetection = !o && r, s.shouldCoalesceRunChangeDetection = o, s.callbackScheduled = false, s.scheduleInRootZone = i, qu(s); } static isInAngularZone() { - return typeof Zone < "u" && Zone.current.get(oo) === true; + return typeof Zone < "u" && Zone.current.get(Mo) === true; } static assertInAngularZone() { if (!e3.isInAngularZone()) @@ -1632,7 +1638,7 @@ var L = class e3 { return this._inner.run(t, n, r); } runTask(t, n, r, o) { - let i = this._inner, s = i.scheduleEventTask("NgZoneEvent: " + o, t, eu, Yt, Yt); + let i = this._inner, s = i.scheduleEventTask("NgZoneEvent: " + o, t, Gu, cn, cn); try { return i.runTask(s, n, r); } finally { @@ -1646,8 +1652,8 @@ var L = class e3 { return this._outer.run(t); } }; -var eu = {}; -function io(e6) { +var Gu = {}; +function _o(e6) { if (e6._nesting == 0 && !e6.hasPendingMicrotasks && !e6.isStable) try { e6._nesting++, e6.onMicrotaskEmpty.emit(null); @@ -1660,60 +1666,60 @@ function io(e6) { } } } -function tu(e6) { +function Wu(e6) { if (e6.isCheckStableRunning || e6.callbackScheduled) return; e6.callbackScheduled = true; function t() { - ro(() => { - e6.callbackScheduled = false, Cr(e6), e6.isCheckStableRunning = true, io(e6), e6.isCheckStableRunning = false; + To(() => { + e6.callbackScheduled = false, Hr(e6), e6.isCheckStableRunning = true, _o(e6), e6.isCheckStableRunning = false; }); } e6.scheduleInRootZone ? Zone.root.run(() => { t(); }) : e6._outer.run(() => { t(); - }), Cr(e6); + }), Hr(e6); } -function nu(e6) { +function qu(e6) { let t = () => { - tu(e6); - }, n = Xc++; - e6._inner = e6._inner.fork({ name: "angular", properties: { [oo]: true, [tt]: n, [tt + n]: true }, onInvokeTask: (r, o, i, s, a, c) => { - if (ru(c)) + Wu(e6); + }, n = zu++; + e6._inner = e6._inner.fork({ name: "angular", properties: { [Mo]: true, [lt]: n, [lt + n]: true }, onInvokeTask: (r, o, i, s, a, c) => { + if (Zu(c)) return r.invokeTask(i, s, a, c); try { - return ki(e6), r.invokeTask(i, s, a, c); + return gs(e6), r.invokeTask(i, s, a, c); } finally { - (e6.shouldCoalesceEventChangeDetection && s.type === "eventTask" || e6.shouldCoalesceRunChangeDetection) && t(), Fi(e6); + (e6.shouldCoalesceEventChangeDetection && s.type === "eventTask" || e6.shouldCoalesceRunChangeDetection) && t(), ms(e6); } }, onInvoke: (r, o, i, s, a, c, u) => { try { - return ki(e6), r.invoke(i, s, a, c, u); + return gs(e6), r.invoke(i, s, a, c, u); } finally { - e6.shouldCoalesceRunChangeDetection && !e6.callbackScheduled && !ou(c) && t(), Fi(e6); + e6.shouldCoalesceRunChangeDetection && !e6.callbackScheduled && !Yu(c) && t(), ms(e6); } }, onHasTask: (r, o, i, s) => { - r.hasTask(i, s), o === i && (s.change == "microTask" ? (e6._hasPendingMicrotasks = s.microTask, Cr(e6), io(e6)) : s.change == "macroTask" && (e6.hasPendingMacrotasks = s.macroTask)); + r.hasTask(i, s), o === i && (s.change == "microTask" ? (e6._hasPendingMicrotasks = s.microTask, Hr(e6), _o(e6)) : s.change == "macroTask" && (e6.hasPendingMacrotasks = s.macroTask)); }, onHandleError: (r, o, i, s) => (r.handleError(i, s), e6.runOutsideAngular(() => e6.onError.emit(s)), false) }); } -function Cr(e6) { +function Hr(e6) { e6._hasPendingMicrotasks || (e6.shouldCoalesceEventChangeDetection || e6.shouldCoalesceRunChangeDetection) && e6.callbackScheduled === true ? e6.hasPendingMicrotasks = true : e6.hasPendingMicrotasks = false; } -function ki(e6) { +function gs(e6) { e6._nesting++, e6.isStable && (e6.isStable = false, e6.onUnstable.emit(null)); } -function Fi(e6) { - e6._nesting--, io(e6); +function ms(e6) { + e6._nesting--, _o(e6); } -var nt = class { +var dt = class { hasPendingMicrotasks = false; hasPendingMacrotasks = false; isStable = true; - onUnstable = new K(); - onMicrotaskEmpty = new K(); - onStable = new K(); - onError = new K(); + onUnstable = new X(); + onMicrotaskEmpty = new X(); + onStable = new X(); + onError = new X(); run(t, n, r) { return t.apply(n, r); } @@ -1727,77 +1733,77 @@ var nt = class { return t.apply(n, r); } }; -function ru(e6) { - return Ts(e6, "__ignore_ng_zone__"); +function Zu(e6) { + return ra(e6, "__ignore_ng_zone__"); } -function ou(e6) { - return Ts(e6, "__scheduler_tick__"); +function Yu(e6) { + return ra(e6, "__scheduler_tick__"); } -function Ts(e6, t) { +function ra(e6, t) { return !Array.isArray(e6) || e6.length !== 1 ? false : e6[0]?.data?.[t] === true; } -var X = class { +var ne = class { _console = console; handleError(t) { this._console.error("ERROR", t); } }; -var Ue = new D("", { factory: () => { - let e6 = v(L), t = v($), n; +var Je = new m("", { factory: () => { + let e6 = v(j), t = v(U), n; return (r) => { e6.runOutsideAngular(() => { t.destroyed && !n ? setTimeout(() => { throw r; - }) : (n ??= t.get(X), n.handleError(r)); + }) : (n ??= t.get(ne), n.handleError(r)); }); }; } }); -var Ms = { provide: ke, useValue: () => { - let e6 = v(X, { optional: true }); +var oa = { provide: Se, useValue: () => { + let e6 = v(ne, { optional: true }); }, multi: true }; -var iu = new D("", { factory: () => { - let e6 = v(j).defaultView; +var Qu = new m("", { factory: () => { + let e6 = v(A).defaultView; if (!e6) return; - let t = v(Ue), n = (i) => { + let t = v(Je), n = (i) => { t(i.reason), i.preventDefault(); }, r = (i) => { i.error ? t(i.error) : t(new Error(i.message, { cause: i })), i.preventDefault(); }, o = () => { e6.addEventListener("unhandledrejection", n), e6.addEventListener("error", r); }; - typeof Zone < "u" ? Zone.root.run(o) : o(), v(gt).onDestroy(() => { + typeof Zone < "u" ? Zone.root.run(o) : o(), v(Tt).onDestroy(() => { e6.removeEventListener("error", r), e6.removeEventListener("unhandledrejection", n); }); } }); -function so() { - return tn([$i(() => { - v(iu); +function So() { + return pt([Cs(() => { + v(Qu); })]); } -function gn(e6, t) { - let [n, r, o] = Xn(e6, t?.equal), i = n, s = i[G]; - return i.set = r, i.update = o, i.asReadonly = _s.bind(i), i; +function Mt(e6, t) { + let [n, r, o] = Dr(e6, t?.equal), i = n, s = i[W]; + return i.set = r, i.update = o, i.asReadonly = ia.bind(i), i; } -function _s() { - let e6 = this[G]; +function ia() { + let e6 = this[W]; if (e6.readonlyFn === void 0) { let t = () => this(); - t[G] = e6, e6.readonlyFn = t; + t[W] = e6, e6.readonlyFn = t; } return e6.readonlyFn; } -var Oe = class { +var Ue = class { }; -var mt = new D("", { factory: () => true }); -var ao = new D(""); -var co = (() => { +var _t = new m("", { factory: () => true }); +var bo = new m(""); +var No = (() => { class e6 { - static \u0275prov = _({ token: e6, providedIn: "root", factory: () => new wr() }); + static \u0275prov = _({ token: e6, providedIn: "root", factory: () => new $r() }); } return e6; })(); -var wr = class { +var $r = class { dirtyEffectCount = 0; queues = /* @__PURE__ */ new Map(); add(t) { @@ -1831,22 +1837,22 @@ var wr = class { return n; } }; -var Tr = class { - [G]; +var Ur = class { + [W]; constructor(t) { - this[G] = t; + this[W] = t; } destroy() { - this[G].destroy(); + this[W].destroy(); } }; -function bo(e6) { +function ri(e6) { return { toString: e6 }.toString(); } -function Ws(e6, t, n, r) { +function Na(e6, t, n, r) { t !== null ? t.applyValueToInputSignal(t, r) : e6[n] = r; } -var vn = class { +var Fn = class { previousValue; currentValue; firstChange; @@ -1857,14 +1863,14 @@ var vn = class { return this.firstChange; } }; -function wu(e6) { - return e6.type.prototype.ngOnChanges && (e6.setInput = Mu), Tu; +function pl(e6) { + return e6.type.prototype.ngOnChanges && (e6.setInput = gl), hl; } -function Tu() { - let e6 = Zs(this), t = e6?.current; +function hl() { + let e6 = xa(this), t = e6?.current; if (t) { let n = e6.previous; - if (n === ve) + if (n === _e) e6.previous = t; else for (let r in t) @@ -1872,75 +1878,75 @@ function Tu() { e6.current = null, this.ngOnChanges(t); } } -function Mu(e6, t, n, r, o) { - let i = this.declaredInputs[r], s = Zs(e6) || _u(e6, { previous: ve, current: null }), a = s.current || (s.current = {}), c = s.previous, u = c[i]; - a[i] = new vn(u && u.currentValue, n, c === ve), Ws(e6, t, o, n); +function gl(e6, t, n, r, o) { + let i = this.declaredInputs[r], s = xa(e6) || ml(e6, { previous: _e, current: null }), a = s.current || (s.current = {}), c = s.previous, u = c[i]; + a[i] = new Fn(u && u.currentValue, n, c === _e), Na(e6, t, o, n); } -var qs = "__ngSimpleChanges__"; -function Zs(e6) { - return e6[qs] || null; +var Aa = "__ngSimpleChanges__"; +function xa(e6) { + return e6[Aa] || null; } -function _u(e6, t) { - return e6[qs] = t; +function ml(e6, t) { + return e6[Aa] = t; } -var Ss = []; +var sa = []; var M = function(e6, t = null, n) { - for (let r = 0; r < Ss.length; r++) { - let o = Ss[r]; + for (let r = 0; r < sa.length; r++) { + let o = sa[r]; o(e6, t, n); } }; -var I = function(e6) { +var C = function(e6) { return e6[e6.TemplateCreateStart = 0] = "TemplateCreateStart", e6[e6.TemplateCreateEnd = 1] = "TemplateCreateEnd", e6[e6.TemplateUpdateStart = 2] = "TemplateUpdateStart", e6[e6.TemplateUpdateEnd = 3] = "TemplateUpdateEnd", e6[e6.LifecycleHookStart = 4] = "LifecycleHookStart", e6[e6.LifecycleHookEnd = 5] = "LifecycleHookEnd", e6[e6.OutputStart = 6] = "OutputStart", e6[e6.OutputEnd = 7] = "OutputEnd", e6[e6.BootstrapApplicationStart = 8] = "BootstrapApplicationStart", e6[e6.BootstrapApplicationEnd = 9] = "BootstrapApplicationEnd", e6[e6.BootstrapComponentStart = 10] = "BootstrapComponentStart", e6[e6.BootstrapComponentEnd = 11] = "BootstrapComponentEnd", e6[e6.ChangeDetectionStart = 12] = "ChangeDetectionStart", e6[e6.ChangeDetectionEnd = 13] = "ChangeDetectionEnd", e6[e6.ChangeDetectionSyncStart = 14] = "ChangeDetectionSyncStart", e6[e6.ChangeDetectionSyncEnd = 15] = "ChangeDetectionSyncEnd", e6[e6.AfterRenderHooksStart = 16] = "AfterRenderHooksStart", e6[e6.AfterRenderHooksEnd = 17] = "AfterRenderHooksEnd", e6[e6.ComponentStart = 18] = "ComponentStart", e6[e6.ComponentEnd = 19] = "ComponentEnd", e6[e6.DeferBlockStateStart = 20] = "DeferBlockStateStart", e6[e6.DeferBlockStateEnd = 21] = "DeferBlockStateEnd", e6[e6.DynamicComponentStart = 22] = "DynamicComponentStart", e6[e6.DynamicComponentEnd = 23] = "DynamicComponentEnd", e6[e6.HostBindingsUpdateStart = 24] = "HostBindingsUpdateStart", e6[e6.HostBindingsUpdateEnd = 25] = "HostBindingsUpdateEnd", e6; -}(I || {}); -function Su(e6, t, n) { +}(C || {}); +function yl(e6, t, n) { let { ngOnChanges: r, ngOnInit: o, ngDoCheck: i } = t.type.prototype; if (r) { - let s = wu(t); + let s = pl(t); (n.preOrderHooks ??= []).push(e6, s), (n.preOrderCheckHooks ??= []).push(e6, s); } o && (n.preOrderHooks ??= []).push(0 - e6, o), i && ((n.preOrderHooks ??= []).push(e6, i), (n.preOrderCheckHooks ??= []).push(e6, i)); } -function bu(e6, t) { +function Dl(e6, t) { for (let n = t.directiveStart, r = t.directiveEnd; n < r; n++) { let i = e6.data[n].type.prototype, { ngAfterContentInit: s, ngAfterContentChecked: a, ngAfterViewInit: c, ngAfterViewChecked: u, ngOnDestroy: l } = i; s && (e6.contentHooks ??= []).push(-n, s), a && ((e6.contentHooks ??= []).push(n, a), (e6.contentCheckHooks ??= []).push(n, a)), c && (e6.viewHooks ??= []).push(-n, c), u && ((e6.viewHooks ??= []).push(n, u), (e6.viewCheckHooks ??= []).push(n, u)), l != null && (e6.destroyHooks ??= []).push(n, l); } } -function mn(e6, t, n) { - Ys(e6, t, 3, n); +function Rn(e6, t, n) { + Ra(e6, t, 3, n); } -function yn(e6, t, n, r) { - (e6[h] & 3) === n && Ys(e6, t, n, r); +function On(e6, t, n, r) { + (e6[h] & 3) === n && Ra(e6, t, n, r); } -function uo(e6, t) { +function Ao(e6, t) { let n = e6[h]; (n & 3) === t && (n &= 16383, n += 1, e6[h] = n); } -function Ys(e6, t, n, r) { - let o = r !== void 0 ? e6[Ie] & 65535 : 0, i = r ?? -1, s = t.length - 1, a = 0; +function Ra(e6, t, n, r) { + let o = r !== void 0 ? e6[Ne] & 65535 : 0, i = r ?? -1, s = t.length - 1, a = 0; for (let c = o; c < s; c++) if (typeof t[c + 1] == "number") { if (a = t[c], r != null && a >= r) break; } else - t[c] < 0 && (e6[Ie] += 65536), (a < i || i == -1) && (Nu(e6, n, t, c), e6[Ie] = (e6[Ie] & 4294901760) + c + 2), c++; + t[c] < 0 && (e6[Ne] += 65536), (a < i || i == -1) && (vl(e6, n, t, c), e6[Ne] = (e6[Ne] & 4294901760) + c + 2), c++; } -function bs(e6, t) { - M(I.LifecycleHookStart, e6, t); - let n = y(null); +function aa(e6, t) { + M(C.LifecycleHookStart, e6, t); + let n = D(null); try { t.call(e6); } finally { - y(n), M(I.LifecycleHookEnd, e6, t); + D(n), M(C.LifecycleHookEnd, e6, t); } } -function Nu(e6, t, n, r) { +function vl(e6, t, n, r) { let o = n[r] < 0, i = n[r + 1], s = o ? -n[r] : n[r], a = e6[s]; - o ? e6[h] >> 14 < e6[Ie] >> 16 && (e6[h] & 3) === t && (e6[h] += 16384, bs(a, i)) : bs(a, i); + o ? e6[h] >> 14 < e6[Ne] >> 16 && (e6[h] & 3) === t && (e6[h] += 16384, aa(a, i)) : aa(a, i); } -var Ge = -1; -var vt = class { +var et = -1; +var Nt = class { factory; name; injectImpl; @@ -1954,7 +1960,7 @@ var vt = class { this.factory = t, this.name = o, this.canSeeViewProviders = n, this.injectImpl = r; } }; -function Au(e6, t, n) { +function El(e6, t, n) { let r = 0; for (; r < n.length; ) { let o = n[r]; @@ -1966,15 +1972,15 @@ function Au(e6, t, n) { e6.setAttribute(t, s, a, i); } else { let i = o, s = n[++r]; - xu(i) ? e6.setProperty(t, i, s) : e6.setAttribute(t, i, s), r++; + Il(i) ? e6.setProperty(t, i, s) : e6.setAttribute(t, i, s), r++; } } return r; } -function xu(e6) { +function Il(e6) { return e6.charCodeAt(0) === 64; } -function No(e6, t) { +function oi(e6, t) { if (!(t === null || t.length === 0)) if (e6 === null || e6.length === 0) e6 = t.slice(); @@ -1982,12 +1988,12 @@ function No(e6, t) { let n = -1; for (let r = 0; r < t.length; r++) { let o = t[r]; - typeof o == "number" ? n = o : n === 0 || (n === -1 || n === 2 ? Ns(e6, n, o, null, t[++r]) : Ns(e6, n, o, null, null)); + typeof o == "number" ? n = o : n === 0 || (n === -1 || n === 2 ? ca(e6, n, o, null, t[++r]) : ca(e6, n, o, null, null)); } } return e6; } -function Ns(e6, t, n, r, o) { +function ca(e6, t, n, r, o) { let i = 0, s = e6.length; if (t === -1) s = -1; @@ -2016,134 +2022,134 @@ function Ns(e6, t, n, r, o) { } s !== -1 && (e6.splice(s, 0, t), i = s + 1), e6.splice(i++, 0, n), o !== null && e6.splice(i++, 0, o); } -function Ru(e6) { - return e6 !== Ge; +function Cl(e6) { + return e6 !== et; } -function po(e6) { +function Oo(e6) { return e6 & 32767; } -function Ou(e6) { +function wl(e6) { return e6 >> 16; } -function ho(e6, t) { - let n = Ou(e6), r = t; +function ko(e6, t) { + let n = wl(e6), r = t; for (; n > 0; ) - r = r[Le], n--; + r = r[We], n--; return r; } -var go = true; -function As(e6) { - let t = go; - return go = e6, t; -} -var ku = 256; -var Qs = ku - 1; -var Ks = 5; -var Fu = 0; -var Q = {}; -function Lu(e6, t, n) { +var Fo = true; +function ua(e6) { + let t = Fo; + return Fo = e6, t; +} +var Tl = 256; +var Oa = Tl - 1; +var ka = 5; +var Ml = 0; +var K = {}; +function _l(e6, t, n) { let r; - typeof n == "string" ? r = n.charCodeAt(0) || 0 : n.hasOwnProperty(De) && (r = n[De]), r == null && (r = n[De] = Fu++); - let o = r & Qs, i = 1 << o; - t.data[e6 + (o >> Ks)] |= i; + typeof n == "string" ? r = n.charCodeAt(0) || 0 : n.hasOwnProperty(Me) && (r = n[Me]), r == null && (r = n[Me] = Ml++); + let o = r & Oa, i = 1 << o; + t.data[e6 + (o >> ka)] |= i; } -function Js(e6, t) { - let n = Xs(e6, t); +function Fa(e6, t) { + let n = La(e6, t); if (n !== -1) return n; - let r = t[m]; - r.firstCreatePass && (e6.injectorIndex = t.length, lo(r.data, e6), lo(t, null), lo(r.blueprint, null)); - let o = ea(e6, t), i = e6.injectorIndex; - if (Ru(o)) { - let s = po(o), a = ho(o, t), c = a[m].data; + let r = t[y]; + r.firstCreatePass && (e6.injectorIndex = t.length, xo(r.data, e6), xo(t, null), xo(r.blueprint, null)); + let o = Pa(e6, t), i = e6.injectorIndex; + if (Cl(o)) { + let s = Oo(o), a = ko(o, t), c = a[y].data; for (let u = 0; u < 8; u++) t[i + u] = a[s + u] | c[s + u]; } return t[i + 8] = o, i; } -function lo(e6, t) { +function xo(e6, t) { e6.push(0, 0, 0, 0, 0, 0, 0, 0, t); } -function Xs(e6, t) { +function La(e6, t) { return e6.injectorIndex === -1 || e6.parent && e6.parent.injectorIndex === e6.injectorIndex || t[e6.injectorIndex + 8] === null ? -1 : e6.injectorIndex; } -function ea(e6, t) { +function Pa(e6, t) { if (e6.parent && e6.parent.injectorIndex !== -1) return e6.parent.injectorIndex; let n = 0, r = null, o = t; for (; o !== null; ) { - if (r = ia(o), r === null) - return Ge; - if (n++, o = o[Le], r.injectorIndex !== -1) + if (r = $a(o), r === null) + return et; + if (n++, o = o[We], r.injectorIndex !== -1) return r.injectorIndex | n << 16; } - return Ge; + return et; } -function Pu(e6, t, n) { - Lu(e6, t, n); +function Sl(e6, t, n) { + _l(e6, t, n); } -function ta(e6, t, n) { +function ja(e6, t, n) { if (n & 8 || e6 !== void 0) return e6; - Xt(t, "NodeInjector"); + hn(t, "NodeInjector"); } -function na(e6, t, n, r) { +function Ba(e6, t, n, r) { if (n & 8 && r === void 0 && (r = null), (n & 3) === 0) { - let o = e6[Ee], i = x(void 0); + let o = e6[be], i = R(void 0); try { - return o ? o.get(t, r, n & 8) : kr(t, r, n & 8); + return o ? o.get(t, r, n & 8) : Xr(t, r, n & 8); } finally { - x(i); + R(i); } } - return ta(r, t, n); + return ja(r, t, n); } -function ra(e6, t, n, r = 0, o) { +function Va(e6, t, n, r = 0, o) { if (e6 !== null) { if (t[h] & 2048 && !(r & 2)) { - let s = $u(e6, t, n, r, Q); - if (s !== Q) + let s = Rl(e6, t, n, r, K); + if (s !== K) return s; } - let i = oa(e6, t, n, r, Q); - if (i !== Q) + let i = Ha(e6, t, n, r, K); + if (i !== K) return i; } - return na(t, n, r, o); + return Ba(t, n, r, o); } -function oa(e6, t, n, r, o) { - let i = Vu(n); +function Ha(e6, t, n, r, o) { + let i = Al(n); if (typeof i == "function") { - if (!Xr(t, e6, r)) - return r & 1 ? ta(o, n, r) : na(t, n, r, o); + if (!Eo(t, e6, r)) + return r & 1 ? ja(o, n, r) : Ba(t, n, r, o); try { let s; if (s = i(r), s == null && !(r & 8)) - Xt(n); + hn(n); else return s; } finally { - eo(); + Io(); } } else if (typeof i == "number") { - let s = null, a = Xs(e6, t), c = Ge, u = r & 1 ? t[Z][te] : null; - for ((a === -1 || r & 4) && (c = a === -1 ? ea(e6, t) : t[a + 8], c === Ge || !Rs(r, false) ? a = -1 : (s = t[m], a = po(c), t = ho(c, t))); a !== -1; ) { - let l = t[m]; - if (xs(i, a, l.data)) { - let d = ju(a, t, n, s, r, u); - if (d !== Q) + let s = null, a = La(e6, t), c = et, u = r & 1 ? t[Q][oe] : null; + for ((a === -1 || r & 4) && (c = a === -1 ? Pa(e6, t) : t[a + 8], c === et || !da(r, false) ? a = -1 : (s = t[y], a = Oo(c), t = ko(c, t))); a !== -1; ) { + let l = t[y]; + if (la(i, a, l.data)) { + let d = bl(a, t, n, s, r, u); + if (d !== K) return d; } - c = t[a + 8], c !== Ge && Rs(r, t[m].data[a + 8] === u) && xs(i, a, t) ? (s = l, a = po(c), t = ho(c, t)) : a = -1; + c = t[a + 8], c !== et && da(r, t[y].data[a + 8] === u) && la(i, a, t) ? (s = l, a = Oo(c), t = ko(c, t)) : a = -1; } } return o; } -function ju(e6, t, n, r, o, i) { - let s = t[m], a = s.data[e6 + 8], c = r == null ? lt(a) && go : r != s && (a.type & 3) !== 0, u = o & 1 && i === a, l = Bu(a, s, n, c, u); - return l !== null ? mo(t, s, l, a, o) : Q; +function bl(e6, t, n, r, o, i) { + let s = t[y], a = s.data[e6 + 8], c = r == null ? vt(a) && Fo : r != s && (a.type & 3) !== 0, u = o & 1 && i === a, l = Nl(a, s, n, c, u); + return l !== null ? Lo(t, s, l, a, o) : K; } -function Bu(e6, t, n, r, o) { +function Nl(e6, t, n, r, o) { let i = e6.providerIndexes, s = t.data, a = i & 1048575, c = e6.directiveStart, u = e6.directiveEnd, l = i >> 20, d = r ? a : a + l, p = o ? a + l : u; for (let f = d; f < p; f++) { let T = s[f]; @@ -2152,173 +2158,180 @@ function Bu(e6, t, n, r, o) { } if (o) { let f = s[c]; - if (f && je(f) && f.type === n) + if (f && Ze(f) && f.type === n) return c; } return null; } -function mo(e6, t, n, r, o) { +function Lo(e6, t, n, r, o) { let i = e6[n], s = t.data; - if (i instanceof vt) { + if (i instanceof Nt) { let a = i; if (a.resolving) - throw Or(""); - let c = As(a.canSeeViewProviders); + throw Jr(""); + let c = ua(a.canSeeViewProviders); a.resolving = true; - let u = s[n].type || s[n], l, d = a.injectImpl ? x(a.injectImpl) : null, p = Xr(e6, r, 0); + let u = s[n].type || s[n], l, d = a.injectImpl ? R(a.injectImpl) : null, p = Eo(e6, r, 0); try { - i = e6[n] = a.factory(void 0, o, s, e6, r), t.firstCreatePass && n >= r.directiveStart && Su(n, s[n], t); + i = e6[n] = a.factory(void 0, o, s, e6, r), t.firstCreatePass && n >= r.directiveStart && yl(n, s[n], t); } finally { - d !== null && x(d), As(c), a.resolving = false, eo(); + d !== null && R(d), ua(c), a.resolving = false, Io(); } } return i; } -function Vu(e6) { +function Al(e6) { if (typeof e6 == "string") return e6.charCodeAt(0) || 0; - let t = e6.hasOwnProperty(De) ? e6[De] : void 0; - return typeof t == "number" ? t >= 0 ? t & Qs : Hu : t; + let t = e6.hasOwnProperty(Me) ? e6[Me] : void 0; + return typeof t == "number" ? t >= 0 ? t & Oa : xl : t; } -function xs(e6, t, n) { +function la(e6, t, n) { let r = 1 << e6; - return !!(n[t + (e6 >> Ks)] & r); + return !!(n[t + (e6 >> ka)] & r); } -function Rs(e6, t) { +function da(e6, t) { return !(e6 & 2) && !(e6 & 1 && t); } -var En = class { +var Ln = class { _tNode; _lView; constructor(t, n) { this._tNode = t, this._lView = n; } get(t, n, r) { - return ra(this._tNode, this._lView, t, he(r), n); + return Va(this._tNode, this._lView, t, Ce(r), n); } }; -function Hu() { - return new En(He(), Y()); +function xl() { + return new Ln(Qe(), B()); } -function $u(e6, t, n, r, o) { +function Rl(e6, t, n, r, o) { let i = e6, s = t; - for (; i !== null && s !== null && s[h] & 2048 && !Be(s); ) { - let a = oa(i, s, n, r | 2, Q); - if (a !== Q) + for (; i !== null && s !== null && s[h] & 2048 && !Ye(s); ) { + let a = Ha(i, s, n, r | 2, K); + if (a !== K) return a; let c = i.parent; if (!c) { - let u = s[Hr]; + let u = s[so]; if (u) { - let l = u.get(n, Q, r & -5); - if (l !== Q) + let l = u.get(n, K, r & -5); + if (l !== K) return l; } - c = ia(s), s = s[Le]; + c = $a(s), s = s[We]; } i = c; } return o; } -function ia(e6) { - let t = e6[m], n = t.type; - return n === 2 ? t.declTNode : n === 1 ? e6[te] : null; +function $a(e6) { + let t = e6[y], n = t.type; + return n === 2 ? t.declTNode : n === 1 ? e6[oe] : null; } -function Uu() { - return sa(He(), Y()); +function Ol() { + return Ua(Qe(), B()); } -function sa(e6, t) { - return new Ao(Ve(e6, t)); +function Ua(e6, t) { + return new ii(xe(e6, t)); } -var Ao = /* @__PURE__ */ (() => { +var ii = /* @__PURE__ */ (() => { class e6 { nativeElement; constructor(n) { this.nativeElement = n; } - static __NG_ELEMENT_ID__ = Uu; + static __NG_ELEMENT_ID__ = Ol; } return e6; })(); -function zu(e6) { +function kl(e6) { return (e6.flags & 128) === 128; } -var xo = function(e6) { +var si = function(e6) { return e6[e6.OnPush = 0] = "OnPush", e6[e6.Eager = 1] = "Eager", e6[e6.Default = 1] = "Default", e6; -}(xo || {}); -var aa = /* @__PURE__ */ new Map(); -var Gu = 0; -function Wu() { - return Gu++; +}(si || {}); +var za = /* @__PURE__ */ new Map(); +var Fl = 0; +function Ll() { + return Fl++; } -function qu(e6) { - aa.set(e6[ie], e6); +function Pl(e6) { + za.set(e6[le], e6); } -function yo(e6) { - aa.delete(e6[ie]); +function Po(e6) { + za.delete(e6[le]); } -var Os = "__ngContext__"; -function Et(e6, t) { - se(t) ? (e6[Os] = t[ie], qu(t)) : e6[Os] = t; +var fa = "__ngContext__"; +function At(e6, t) { + de(t) ? (e6[fa] = t[le], Pl(t)) : e6[fa] = t; } -function ca(e6) { - return la(e6[Fe]); +function Ga(e6) { + return qa(e6[Ge]); } -function ua(e6) { - return la(e6[ee]); +function Wa(e6) { + return qa(e6[re]); } -function la(e6) { - for (; e6 !== null && !ae(e6); ) - e6 = e6[ee]; +function qa(e6) { + for (; e6 !== null && !fe(e6); ) + e6 = e6[re]; return e6; } -var Zu; -function Ro(e6) { - Zu = e6; -} -var _n = new D("", { factory: () => Yu }); -var Yu = "ng"; -var Sn = new D(""); -var wt = new D("", { providedIn: "platform", factory: () => "unknown" }); -var bn = new D("", { factory: () => v(j).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); -var da = false; -var fa = new D("", { factory: () => da }); -function Oo(e6) { +var jo; +function ai(e6) { + jo = e6; +} +function Za() { + if (jo !== void 0) + return jo; + if (typeof document < "u") + return document; + throw new g(210, false); +} +var $n = new m("", { factory: () => jl }); +var jl = "ng"; +var Un = new m(""); +var Ot = new m("", { providedIn: "platform", factory: () => "unknown" }); +var zn = new m("", { factory: () => v(A).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); +var Ya = false; +var Qa = new m("", { factory: () => Ya }); +function ci(e6) { return (e6.flags & 32) === 32; } -var Qu = () => null; -function pa(e6, t, n = false) { - return Qu(e6, t, n); +var Bl = () => null; +function Ka(e6, t, n = false) { + return Bl(e6, t, n); } -function ha(e6, t) { +function Ja(e6, t) { let n = e6.contentQueries; if (n !== null) { - let r = y(null); + let r = D(null); try { for (let o = 0; o < n.length; o += 2) { let i = n[o], s = n[o + 1]; if (s !== -1) { let a = e6.data[s]; - Jr(i), a.contentQueries(2, t[s], s); + vo(i), a.contentQueries(2, t[s], s); } } } finally { - y(r); + D(r); } } } -function Do(e6, t, n) { - Jr(0); - let r = y(null); +function Bo(e6, t, n) { + vo(0); + let r = D(null); try { t(e6, n); } finally { - y(r); + D(r); } } -function Ku(e6, t, n) { - if ($r(t)) { - let r = y(null); +function Vl(e6, t, n) { + if (ao(t)) { + let r = D(null); try { let o = t.directiveStart, i = t.directiveEnd; for (let s = o; s < i; s++) { @@ -2329,55 +2342,328 @@ function Ku(e6, t, n) { } } } finally { - y(r); + D(r); } } } -var z = function(e6) { +var G = function(e6) { return e6[e6.Emulated = 0] = "Emulated", e6[e6.None = 2] = "None", e6[e6.ShadowDom = 3] = "ShadowDom", e6[e6.ExperimentalIsolatedShadowDom = 4] = "ExperimentalIsolatedShadowDom", e6; -}(z || {}); -function Ju(e6, t) { +}(G || {}); +var Nn; +function Hl() { + if (Nn === void 0 && (Nn = null, ue.trustedTypes)) + try { + Nn = ue.trustedTypes.createPolicy("angular", { createHTML: (e6) => e6, createScript: (e6) => e6, createScriptURL: (e6) => e6 }); + } catch { + } + return Nn; +} +function Gn(e6) { + return Hl()?.createHTML(e6) || e6; +} +var An; +function $l() { + if (An === void 0 && (An = null, ue.trustedTypes)) + try { + An = ue.trustedTypes.createPolicy("angular#unsafe-bypass", { createHTML: (e6) => e6, createScript: (e6) => e6, createScriptURL: (e6) => e6 }); + } catch { + } + return An; +} +function pa(e6) { + return $l()?.createHTML(e6) || e6; +} +var se = class { + changingThisBreaksApplicationSecurity; + constructor(t) { + this.changingThisBreaksApplicationSecurity = t; + } + toString() { + return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${un})`; + } +}; +var Vo = class extends se { + getTypeName() { + return "HTML"; + } +}; +var Ho = class extends se { + getTypeName() { + return "Style"; + } +}; +var $o = class extends se { + getTypeName() { + return "Script"; + } +}; +var Uo = class extends se { + getTypeName() { + return "URL"; + } +}; +var zo = class extends se { + getTypeName() { + return "ResourceURL"; + } +}; +function me(e6) { + return e6 instanceof se ? e6.changingThisBreaksApplicationSecurity : e6; +} +function ye(e6, t) { + let n = Xa(e6); + if (n != null && n !== t) { + if (n === "ResourceURL" && t === "URL") + return true; + throw new Error(`Required a safe ${t}, got a ${n} (see ${un})`); + } + return n === t; +} +function Xa(e6) { + return e6 instanceof se && e6.getTypeName() || null; +} +function ui(e6) { + return new Vo(e6); +} +function li(e6) { + return new Ho(e6); +} +function di(e6) { + return new $o(e6); +} +function fi(e6) { + return new Uo(e6); +} +function pi(e6) { + return new zo(e6); +} +function Ul(e6) { + let t = new Wo(e6); + return zl() ? new Go(t) : t; +} +var Go = class { + inertDocumentHelper; + constructor(t) { + this.inertDocumentHelper = t; + } + getInertBodyElement(t) { + t = "" + t; + try { + let n = new window.DOMParser().parseFromString(Gn(t), "text/html").body; + return n === null ? this.inertDocumentHelper.getInertBodyElement(t) : (n.firstChild?.remove(), n); + } catch { + return null; + } + } +}; +var Wo = class { + defaultDoc; + inertDocument; + constructor(t) { + this.defaultDoc = t, this.inertDocument = this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"); + } + getInertBodyElement(t) { + let n = this.inertDocument.createElement("template"); + return n.innerHTML = Gn(t), n; + } +}; +function zl() { + try { + return !!new window.DOMParser().parseFromString(Gn(""), "text/html"); + } catch { + return false; + } +} +var Gl = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i; +function Wn(e6) { + return e6 = String(e6), e6.match(Gl) ? e6 : "unsafe:" + e6; +} +function ae(e6) { + let t = {}; + for (let n of e6.split(",")) + t[n] = true; + return t; +} +function kt(...e6) { + let t = {}; + for (let n of e6) + for (let r in n) + n.hasOwnProperty(r) && (t[r] = true); + return t; +} +var ec = ae("area,br,col,hr,img,wbr"); +var tc = ae("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"); +var nc = ae("rp,rt"); +var Wl = kt(nc, tc); +var ql = kt(tc, ae("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")); +var Zl = kt(nc, ae("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")); +var ha = kt(ec, ql, Zl, Wl); +var rc = ae("background,cite,href,itemtype,longdesc,poster,src,xlink:href"); +var Yl = ae("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"); +var Ql = ae("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"); +var Kl = kt(rc, Yl, Ql); +var Jl = ae("script,style,template"); +var qo = class { + sanitizedSomething = false; + buf = []; + sanitizeChildren(t) { + let n = t.firstChild, r = true, o = []; + for (; n; ) { + if (n.nodeType === Node.ELEMENT_NODE ? r = this.startElement(n) : n.nodeType === Node.TEXT_NODE ? this.chars(n.nodeValue) : this.sanitizedSomething = true, r && n.firstChild) { + o.push(n), n = td(n); + continue; + } + for (; n; ) { + n.nodeType === Node.ELEMENT_NODE && this.endElement(n); + let i = ed(n); + if (i) { + n = i; + break; + } + n = o.pop(); + } + } + return this.buf.join(""); + } + startElement(t) { + let n = ga(t).toLowerCase(); + if (!ha.hasOwnProperty(n)) + return this.sanitizedSomething = true, !Jl.hasOwnProperty(n); + this.buf.push("<"), this.buf.push(n); + let r = t.attributes; + for (let o = 0; o < r.length; o++) { + let i = r.item(o), s = i.name, a = s.toLowerCase(); + if (!Kl.hasOwnProperty(a)) { + this.sanitizedSomething = true; + continue; + } + let c = i.value; + rc[a] && (c = Wn(c)), this.buf.push(" ", s, '="', ma(c), '"'); + } + return this.buf.push(">"), true; + } + endElement(t) { + let n = ga(t).toLowerCase(); + ha.hasOwnProperty(n) && !ec.hasOwnProperty(n) && (this.buf.push("")); + } + chars(t) { + this.buf.push(ma(t)); + } +}; +function Xl(e6, t) { + return (e6.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_CONTAINED_BY) !== Node.DOCUMENT_POSITION_CONTAINED_BY; +} +function ed(e6) { + let t = e6.nextSibling; + if (t && e6 !== t.previousSibling) + throw oc(t); + return t; +} +function td(e6) { + let t = e6.firstChild; + if (t && Xl(e6, t)) + throw oc(t); + return t; +} +function ga(e6) { + let t = e6.nodeName; + return typeof t == "string" ? t : "FORM"; +} +function oc(e6) { + return new Error(`Failed to sanitize html because the element is clobbered: ${e6.outerHTML}`); +} +var nd = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; +var rd = /([^\#-~ |!])/g; +function ma(e6) { + return e6.replace(/&/g, "&").replace(nd, function(t) { + let n = t.charCodeAt(0), r = t.charCodeAt(1); + return "&#" + ((n - 55296) * 1024 + (r - 56320) + 65536) + ";"; + }).replace(rd, function(t) { + return "&#" + t.charCodeAt(0) + ";"; + }).replace(//g, ">"); +} +var xn; +function qn(e6, t) { + let n = null; + try { + xn = xn || Ul(e6); + let r = t ? String(t) : ""; + n = xn.getInertBodyElement(r); + let o = 5, i = r; + do { + if (o === 0) + throw new Error("Failed to sanitize html because the input is unstable"); + o--, r = i, i = n.innerHTML, n = xn.getInertBodyElement(r); + } while (r !== i); + let a = new qo().sanitizeChildren(ya(n) || n); + return Gn(a); + } finally { + if (n) { + let r = ya(n) || n; + for (; r.firstChild; ) + r.firstChild.remove(); + } + } +} +function ya(e6) { + return "content" in e6 && od(e6) ? e6.content : null; +} +function od(e6) { + return e6.nodeType === Node.ELEMENT_NODE && e6.nodeName === "TEMPLATE"; +} +function id(e6, t) { return e6.createText(t); } -function Xu(e6, t, n) { +function sd(e6, t, n) { e6.setValue(t, n); } -function ga(e6, t, n) { +function ic(e6, t, n) { return e6.createElement(t, n); } -function vo(e6, t, n, r, o) { +function Zo(e6, t, n, r, o) { e6.insertBefore(t, n, r, o); } -function ma(e6, t, n) { +function sc(e6, t, n) { e6.appendChild(t, n); } -function ks(e6, t, n, r, o) { - r !== null ? vo(e6, t, n, r, o) : ma(e6, t, n); +function Da(e6, t, n, r, o) { + r !== null ? Zo(e6, t, n, r, o) : sc(e6, t, n); } -function el(e6, t, n, r) { +function ad(e6, t, n, r) { e6.removeChild(null, t, n, r); } -function tl(e6, t, n) { +function cd(e6, t, n) { e6.setAttribute(t, "style", n); } -function nl(e6, t, n) { +function ud(e6, t, n) { n === "" ? e6.removeAttribute(t, "class") : e6.setAttribute(t, "class", n); } -function ya(e6, t, n) { +function ac(e6, t, n) { let { mergedAttrs: r, classes: o, styles: i } = n; - r !== null && Au(e6, t, r), o !== null && nl(e6, t, o), i !== null && tl(e6, t, i); + r !== null && El(e6, t, r), o !== null && ud(e6, t, o), i !== null && cd(e6, t, i); } -var rl = "ng-template"; -function ol(e6) { - return e6.type === 4 && e6.value !== rl; +var J = function(e6) { + return e6[e6.NONE = 0] = "NONE", e6[e6.HTML = 1] = "HTML", e6[e6.STYLE = 2] = "STYLE", e6[e6.SCRIPT = 3] = "SCRIPT", e6[e6.URL = 4] = "URL", e6[e6.RESOURCE_URL = 5] = "RESOURCE_URL", e6; +}(J || {}); +function hi(e6) { + let t = ld(); + return t ? pa(t.sanitize(J.HTML, e6) || "") : ye(e6, "HTML") ? pa(me(e6)) : qn(Za(), Kr(e6)); } -function Eo(e6) { +function ld() { + let e6 = B(); + return e6 && e6[Y].sanitizer; +} +var dd = "ng-template"; +function fd(e6) { + return e6.type === 4 && e6.value !== dd; +} +function Yo(e6) { return (e6 & 1) === 0; } -function Fs(e6, t) { +function va(e6, t) { return e6 ? ":not(" + t.trim() + ")" : t; } -function il(e6) { +function pd(e6) { let t = e6[0], n = 1, r = 2, o = "", i = false; for (; n < e6.length; ) { let s = e6[n]; @@ -2388,22 +2674,22 @@ function il(e6) { } else r & 8 ? o += "." + s : r & 4 && (o += " " + s); else - o !== "" && !Eo(s) && (t += Fs(i, o), o = ""), r = s, i = i || !Eo(r); + o !== "" && !Yo(s) && (t += va(i, o), o = ""), r = s, i = i || !Yo(r); n++; } - return o !== "" && (t += Fs(i, o)), t; + return o !== "" && (t += va(i, o)), t; } -function sl(e6) { - return e6.map(il).join(","); +function hd(e6) { + return e6.map(pd).join(","); } -function al(e6) { +function gd(e6) { let t = [], n = [], r = 1, o = 2; for (; r < e6.length; ) { let i = e6[r]; if (typeof i == "string") o === 2 ? i !== "" && t.push(i, e6[++r]) : o === 8 && n.push(i); else { - if (!Eo(o)) + if (!Yo(o)) break; o = i; } @@ -2411,34 +2697,34 @@ function al(e6) { } return n.length && t.push(1, ...n), t; } -var qe = {}; -function Da(e6, t, n, r, o, i, s, a, c, u, l) { - let d = U + r, p = d + o, f = cl(d, p), T = typeof u == "function" ? u() : u; - return f[m] = { type: e6, blueprint: f, template: n, queries: null, viewQuery: a, declTNode: t, data: f.slice().fill(null, d), bindingStartIndex: d, expandoStartIndex: p, hostBindingOpCodes: null, firstCreatePass: true, firstUpdatePass: true, staticViewQueries: false, staticContentQueries: false, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: typeof i == "function" ? i() : i, pipeRegistry: typeof s == "function" ? s() : s, firstChild: null, schemas: c, consts: T, incompleteFirstPass: false, ssrId: l }; +var nt = {}; +function cc(e6, t, n, r, o, i, s, a, c, u, l) { + let d = z + r, p = d + o, f = md(d, p), T = typeof u == "function" ? u() : u; + return f[y] = { type: e6, blueprint: f, template: n, queries: null, viewQuery: a, declTNode: t, data: f.slice().fill(null, d), bindingStartIndex: d, expandoStartIndex: p, hostBindingOpCodes: null, firstCreatePass: true, firstUpdatePass: true, staticViewQueries: false, staticContentQueries: false, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: typeof i == "function" ? i() : i, pipeRegistry: typeof s == "function" ? s() : s, firstChild: null, schemas: c, consts: T, incompleteFirstPass: false, ssrId: l }; } -function cl(e6, t) { +function md(e6, t) { let n = []; for (let r = 0; r < t; r++) - n.push(r < e6 ? null : qe); + n.push(r < e6 ? null : nt); return n; } -function ul(e6) { +function yd(e6) { let t = e6.tView; - return t === null || t.incompleteFirstPass ? e6.tView = Da(1, null, e6.template, e6.decls, e6.vars, e6.directiveDefs, e6.pipeDefs, e6.viewQuery, e6.schemas, e6.consts, e6.id) : t; + return t === null || t.incompleteFirstPass ? e6.tView = cc(1, null, e6.template, e6.decls, e6.vars, e6.directiveDefs, e6.pipeDefs, e6.viewQuery, e6.schemas, e6.consts, e6.id) : t; } -function va(e6, t, n, r, o, i, s, a, c, u, l) { +function uc(e6, t, n, r, o, i, s, a, c, u, l) { let d = t.blueprint.slice(); - return d[q] = o, d[h] = r | 4 | 128 | 8 | 64 | 1024, (u !== null || e6 && e6[h] & 2048) && (d[h] |= 2048), Ur(d), d[O] = d[Le] = e6, d[k] = n, d[ne] = s || e6 && e6[ne], d[P] = a || e6 && e6[P], d[Ee] = c || e6 && e6[Ee] || null, d[te] = i, d[ie] = Wu(), d[rn] = l, d[Hr] = u, d[Z] = t.type == 2 ? e6[Z] : d, d; + return d[Z] = o, d[h] = r | 4 | 128 | 8 | 64 | 1024, (u !== null || e6 && e6[h] & 2048) && (d[h] |= 2048), uo(d), d[k] = d[We] = e6, d[F] = n, d[Y] = s || e6 && e6[Y], d[L] = a || e6 && e6[L], d[be] = c || e6 && e6[be] || null, d[oe] = i, d[le] = Ll(), d[yn] = l, d[so] = u, d[Q] = t.type == 2 ? e6[Q] : d, d; } -function ll(e6, t, n) { - let r = Ve(t, e6), o = ul(n), i = e6[ne].rendererFactory, s = dl(e6, va(e6, o, null, Ea(n), r, t, null, i.createRenderer(r, n), null, null, null)); +function Dd(e6, t, n) { + let r = xe(t, e6), o = yd(n), i = e6[Y].rendererFactory, s = vd(e6, uc(e6, o, null, lc(n), r, t, null, i.createRenderer(r, n), null, null, null)); return e6[t.index] = s; } -function Ea(e6) { +function lc(e6) { let t = 16; return e6.signals ? t = 4096 : e6.onPush && (t = 64), t; } -function Ia(e6, t, n, r) { +function dc(e6, t, n, r) { if (n === 0) return -1; let o = t.length; @@ -2446,69 +2732,69 @@ function Ia(e6, t, n, r) { t.push(r), e6.blueprint.push(r), e6.data.push(null); return o; } -function dl(e6, t) { - return e6[Fe] ? e6[Vr][ee] = t : e6[Fe] = t, e6[Vr] = t, t; +function vd(e6, t) { + return e6[Ge] ? e6[io][re] = t : e6[Ge] = t, e6[io] = t, t; } -function ko(e6 = 1) { - Ca(qr(), Y(), hn() + e6, false); +function Zn(e6 = 1) { + fc(Tn(), B(), bn() + e6, false); } -function Ca(e6, t, n, r) { +function fc(e6, t, n, r) { if (!r) if ((t[h] & 3) === 3) { let i = e6.preOrderCheckHooks; - i !== null && mn(t, i, n); + i !== null && Rn(t, i, n); } else { let i = e6.preOrderHooks; - i !== null && yn(t, i, 0, n); + i !== null && On(t, i, 0, n); } - le(n); + ge(n); } -var Nn = function(e6) { +var Yn = function(e6) { return e6[e6.None = 0] = "None", e6[e6.SignalBased = 1] = "SignalBased", e6[e6.HasDecoratorInputTransform = 2] = "HasDecoratorInputTransform", e6; -}(Nn || {}); -function Io(e6, t, n, r) { - let o = y(null); +}(Yn || {}); +function Qo(e6, t, n, r) { + let o = D(null); try { let [i, s, a] = e6.inputs[n], c = null; - (s & Nn.SignalBased) !== 0 && (c = t[i][G]), c !== null && c.transformFn !== void 0 ? r = c.transformFn(r) : a !== null && (r = a.call(t, r)), e6.setInput !== null ? e6.setInput(t, c, r, n, i) : Ws(t, c, i, r); + (s & Yn.SignalBased) !== 0 && (c = t[i][W]), c !== null && c.transformFn !== void 0 ? r = c.transformFn(r) : a !== null && (r = a.call(t, r)), e6.setInput !== null ? e6.setInput(t, c, r, n, i) : Na(t, c, i, r); } finally { - y(o); + D(o); } } -var Te = function(e6) { +var Oe = function(e6) { return e6[e6.Important = 1] = "Important", e6[e6.DashCase = 2] = "DashCase", e6; -}(Te || {}); -var fl; -function wa(e6, t) { - return fl(e6, t); -} -var Jg = typeof document < "u" && typeof document?.documentElement?.getAnimations == "function"; -var Co = /* @__PURE__ */ new WeakMap(); -var yt = /* @__PURE__ */ new WeakSet(); -function pl(e6, t) { - let n = Co.get(e6); +}(Oe || {}); +var Ed; +function pc(e6, t) { + return Ed(e6, t); +} +var dy = typeof document < "u" && typeof document?.documentElement?.getAnimations == "function"; +var Ko = /* @__PURE__ */ new WeakMap(); +var St = /* @__PURE__ */ new WeakSet(); +function Id(e6, t) { + let n = Ko.get(e6); if (!n || n.length === 0) return; let r = t.parentNode, o = t.previousSibling; for (let i = n.length - 1; i >= 0; i--) { let s = n[i], a = s.parentNode; - s === t ? (n.splice(i, 1), yt.add(s), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } }))) : (o && s === o || a && r && a !== r) && (n.splice(i, 1), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } })), s.parentNode?.removeChild(s)); + s === t ? (n.splice(i, 1), St.add(s), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } }))) : (o && s === o || a && r && a !== r) && (n.splice(i, 1), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } })), s.parentNode?.removeChild(s)); } } -function hl(e6, t) { - let n = Co.get(e6); - n ? n.includes(t) || n.push(t) : Co.set(e6, [t]); +function Cd(e6, t) { + let n = Ko.get(e6); + n ? n.includes(t) || n.push(t) : Ko.set(e6, [t]); } -var We = /* @__PURE__ */ new Set(); -var Fo = function(e6) { +var tt = /* @__PURE__ */ new Set(); +var gi = function(e6) { return e6[e6.CHANGE_DETECTION = 0] = "CHANGE_DETECTION", e6[e6.AFTER_NEXT_RENDER = 1] = "AFTER_NEXT_RENDER", e6; -}(Fo || {}); -var Ze = new D(""); -var Ls = /* @__PURE__ */ new Set(); -function Ta(e6) { - Ls.has(e6) || (Ls.add(e6), performance?.mark?.("mark_feature_usage", { detail: { feature: e6 } })); +}(gi || {}); +var rt = new m(""); +var Ea = /* @__PURE__ */ new Set(); +function hc(e6) { + Ea.has(e6) || (Ea.add(e6), performance?.mark?.("mark_feature_usage", { detail: { feature: e6 } })); } -var Ma = (() => { +var gc = (() => { class e6 { impl = null; execute() { @@ -2518,9 +2804,9 @@ var Ma = (() => { } return e6; })(); -var gl = new D("", { factory: () => ({ queue: /* @__PURE__ */ new Set(), isScheduled: false, scheduler: null, injector: v($) }) }); -function _a(e6, t, n) { - let r = e6.get(gl); +var wd = new m("", { factory: () => ({ queue: /* @__PURE__ */ new Set(), isScheduled: false, scheduler: null, injector: v(U) }) }); +function mc(e6, t, n) { + let r = e6.get(wd); if (Array.isArray(t)) for (let o of t) r.queue.add(o), n?.detachedLeaveAnimationFns?.push(o); @@ -2528,88 +2814,88 @@ function _a(e6, t, n) { r.queue.add(t), n?.detachedLeaveAnimationFns?.push(t); r.scheduler && r.scheduler(e6); } -function ml(e6, t) { +function Td(e6, t) { for (let [n, r] of t) - _a(e6, r.animateFns); + mc(e6, r.animateFns); } -function Ps(e6, t, n, r) { - let o = e6?.[Pe]?.enter; - t !== null && o && o.has(n.index) && ml(r, o); +function Ia(e6, t, n, r) { + let o = e6?.[qe]?.enter; + t !== null && o && o.has(n.index) && Td(r, o); } -function ze(e6, t, n, r, o, i, s, a) { +function Xe(e6, t, n, r, o, i, s, a) { if (o != null) { let c, u = false; - ae(o) ? c = o : se(o) && (u = true, o = o[q]); - let l = ce(o); - e6 === 0 && r !== null ? (Ps(a, r, i, n), s == null ? ma(t, r, l) : vo(t, r, l, s || null, true)) : e6 === 1 && r !== null ? (Ps(a, r, i, n), vo(t, r, l, s || null, true), pl(i, l)) : e6 === 2 ? (a?.[Pe]?.leave?.has(i.index) && hl(i, l), yt.delete(l), js(a, i, n, (d) => { - if (yt.has(l)) { - yt.delete(l); + fe(o) ? c = o : de(o) && (u = true, o = o[Z]); + let l = pe(o); + e6 === 0 && r !== null ? (Ia(a, r, i, n), s == null ? sc(t, r, l) : Zo(t, r, l, s || null, true)) : e6 === 1 && r !== null ? (Ia(a, r, i, n), Zo(t, r, l, s || null, true), Id(i, l)) : e6 === 2 ? (a?.[qe]?.leave?.has(i.index) && Cd(i, l), St.delete(l), Ca(a, i, n, (d) => { + if (St.has(l)) { + St.delete(l); return; } - el(t, l, u, d); - })) : e6 === 3 && (yt.delete(l), js(a, i, n, () => { + ad(t, l, u, d); + })) : e6 === 3 && (St.delete(l), Ca(a, i, n, () => { t.destroyNode(l); - })), c != null && Al(t, e6, n, c, i, r, s); + })), c != null && jd(t, e6, n, c, i, r, s); } } -function yl(e6, t) { - Sa(e6, t), t[q] = null, t[te] = null; +function Md(e6, t) { + yc(e6, t), t[Z] = null, t[oe] = null; } -function Sa(e6, t) { - t[ne].changeDetectionScheduler?.notify(9), jo(e6, t, t[P], 2, null, null); +function yc(e6, t) { + t[Y].changeDetectionScheduler?.notify(9), Di(e6, t, t[L], 2, null, null); } -function Dl(e6) { - let t = e6[Fe]; +function _d(e6) { + let t = e6[Ge]; if (!t) - return fo(e6[m], e6); + return Ro(e6[y], e6); for (; t; ) { let n = null; - if (se(t)) - n = t[Fe]; + if (de(t)) + n = t[Ge]; else { - let r = t[re]; + let r = t[ie]; r && (n = r); } if (!n) { - for (; t && !t[ee] && t !== e6; ) - se(t) && fo(t[m], t), t = t[O]; - t === null && (t = e6), se(t) && fo(t[m], t), n = t && t[ee]; + for (; t && !t[re] && t !== e6; ) + de(t) && Ro(t[y], t), t = t[k]; + t === null && (t = e6), de(t) && Ro(t[y], t), n = t && t[re]; } t = n; } } -function Lo(e6, t) { - let n = e6[ut], r = n.indexOf(t); +function mi(e6, t) { + let n = e6[Dt], r = n.indexOf(t); n.splice(r, 1); } -function vl(e6, t) { - if (Ce(t)) +function Sd(e6, t) { + if (Ae(t)) return; - let n = t[P]; - n.destroyNode && jo(e6, t, n, 3, null, null), Dl(t); + let n = t[L]; + n.destroyNode && Di(e6, t, n, 3, null, null), _d(t); } -function fo(e6, t) { - if (Ce(t)) +function Ro(e6, t) { + if (Ae(t)) return; - let n = y(null); + let n = D(null); try { - t[h] &= -129, t[h] |= 256, t[F] && jt(t[F]), Cl(e6, t), Il(e6, t), t[m].type === 1 && t[P].destroy(); - let r = t[at]; - if (r !== null && ae(t[O])) { - r !== t[O] && Lo(r, t); - let o = t[sn]; + t[h] &= -129, t[h] |= 256, t[P] && Qt(t[P]), Ad(e6, t), Nd(e6, t), t[y].type === 1 && t[L].destroy(); + let r = t[mt]; + if (r !== null && fe(t[k])) { + r !== t[k] && mi(r, t); + let o = t[vn]; o !== null && o.detachView(e6); } - yo(t); + Po(t); } finally { - y(n); + D(n); } } -function js(e6, t, n, r) { - let o = e6?.[Pe]; +function Ca(e6, t, n, r) { + let o = e6?.[qe]; if (o == null || o.leave == null || !o.leave.has(t.index)) return r(false); - e6 && We.add(e6[ie]), _a(n, () => { + e6 && tt.add(e6[le]), mc(n, () => { if (o.leave && o.leave.has(t.index)) { let s = o.leave.get(t.index), a = []; if (s) { @@ -2619,23 +2905,23 @@ function js(e6, t, n, r) { } o.detachedLeaveAnimationFns = void 0; } - o.running = Promise.allSettled(a), El(e6, r); + o.running = Promise.allSettled(a), bd(e6, r); } else - e6 && We.delete(e6[ie]), r(false); + e6 && tt.delete(e6[le]), r(false); }, o); } -function El(e6, t) { - let n = e6[Pe]?.running; +function bd(e6, t) { + let n = e6[qe]?.running; if (n) { n.then(() => { - e6[Pe].running = void 0, We.delete(e6[ie]), t(true); + e6[qe].running = void 0, tt.delete(e6[le]), t(true); }); return; } t(false); } -function Il(e6, t) { - let n = e6.cleanup, r = t[on]; +function Nd(e6, t) { + let n = e6.cleanup, r = t[Dn]; if (n !== null) for (let s = 0; s < n.length - 1; s += 2) if (typeof n[s] == "string") { @@ -2645,151 +2931,151 @@ function Il(e6, t) { let a = r[n[s + 1]]; n[s].call(a); } - r !== null && (t[on] = null); - let o = t[J]; + r !== null && (t[Dn] = null); + let o = t[ee]; if (o !== null) { - t[J] = null; + t[ee] = null; for (let s = 0; s < o.length; s++) { let a = o[s]; a(); } } - let i = t[ct]; + let i = t[yt]; if (i !== null) { - t[ct] = null; + t[yt] = null; for (let s of i) s.destroy(); } } -function Cl(e6, t) { +function Ad(e6, t) { let n; if (e6 != null && (n = e6.destroyHooks) != null) for (let r = 0; r < n.length; r += 2) { let o = t[n[r]]; - if (!(o instanceof vt)) { + if (!(o instanceof Nt)) { let i = n[r + 1]; if (Array.isArray(i)) for (let s = 0; s < i.length; s += 2) { let a = o[i[s]], c = i[s + 1]; - M(I.LifecycleHookStart, a, c); + M(C.LifecycleHookStart, a, c); try { c.call(a); } finally { - M(I.LifecycleHookEnd, a, c); + M(C.LifecycleHookEnd, a, c); } } else { - M(I.LifecycleHookStart, o, i); + M(C.LifecycleHookStart, o, i); try { i.call(o); } finally { - M(I.LifecycleHookEnd, o, i); + M(C.LifecycleHookEnd, o, i); } } } } } -function wl(e6, t, n) { - return Tl(e6, t.parent, n); +function xd(e6, t, n) { + return Rd(e6, t.parent, n); } -function Tl(e6, t, n) { +function Rd(e6, t, n) { let r = t; for (; r !== null && r.type & 168; ) t = r, r = t.parent; if (r === null) - return n[q]; - if (lt(r)) { + return n[Z]; + if (vt(r)) { let { encapsulation: o } = e6.data[r.directiveStart + r.componentOffset]; - if (o === z.None || o === z.Emulated) + if (o === G.None || o === G.Emulated) return null; } - return Ve(r, n); + return xe(r, n); } -function Ml(e6, t, n) { - return Sl(e6, t, n); +function Od(e6, t, n) { + return Fd(e6, t, n); } -function _l(e6, t, n) { - return e6.type & 40 ? Ve(e6, n) : null; +function kd(e6, t, n) { + return e6.type & 40 ? xe(e6, n) : null; } -var Sl = _l; -var Bs; -function ba(e6, t, n, r) { - let o = wl(e6, r, t), i = t[P], s = r.parent || t[te], a = Ml(s, r, t); +var Fd = kd; +var wa; +function Dc(e6, t, n, r) { + let o = xd(e6, r, t), i = t[L], s = r.parent || t[oe], a = Od(s, r, t); if (o != null) if (Array.isArray(n)) for (let c = 0; c < n.length; c++) - ks(i, o, n[c], a, false); + Da(i, o, n[c], a, false); else - ks(i, o, n, a, false); - Bs !== void 0 && Bs(i, r, t, n, o); + Da(i, o, n, a, false); + wa !== void 0 && wa(i, r, t, n, o); } -function bl(e6, t) { +function Ld(e6, t) { if (t !== null) { - let r = e6[Z][te], o = t.projection; + let r = e6[Q][oe], o = t.projection; return r.projection[o]; } return null; } -function Po(e6, t, n, r, o, i, s) { +function yi(e6, t, n, r, o, i, s) { for (; n != null; ) { - let a = r[Ee]; + let a = r[be]; if (n.type === 128) { n = n.next; continue; } let c = r[n.index], u = n.type; - if (s && t === 0 && (c && Et(ce(c), r), n.flags |= 2), !Oo(n)) + if (s && t === 0 && (c && At(pe(c), r), n.flags |= 2), !ci(n)) if (u & 8) - Po(e6, t, n.child, r, o, i, false), ze(t, e6, a, o, c, n, i, r); + yi(e6, t, n.child, r, o, i, false), Xe(t, e6, a, o, c, n, i, r); else if (u & 32) { - let l = wa(n, r), d; + let l = pc(n, r), d; for (; d = l(); ) - ze(t, e6, a, o, d, n, i, r); - ze(t, e6, a, o, c, n, i, r); + Xe(t, e6, a, o, d, n, i, r); + Xe(t, e6, a, o, c, n, i, r); } else - u & 16 ? Nl(e6, t, r, n, o, i) : ze(t, e6, a, o, c, n, i, r); + u & 16 ? Pd(e6, t, r, n, o, i) : Xe(t, e6, a, o, c, n, i, r); n = s ? n.projectionNext : n.next; } } -function jo(e6, t, n, r, o, i) { - Po(n, r, e6.firstChild, t, o, i, false); +function Di(e6, t, n, r, o, i) { + yi(n, r, e6.firstChild, t, o, i, false); } -function Nl(e6, t, n, r, o, i) { - let s = n[Z], c = s[te].projection[r.projection]; +function Pd(e6, t, n, r, o, i) { + let s = n[Q], c = s[oe].projection[r.projection]; if (Array.isArray(c)) for (let u = 0; u < c.length; u++) { let l = c[u]; - ze(t, e6, n[Ee], o, l, r, i, n); + Xe(t, e6, n[be], o, l, r, i, n); } else { - let u = c, l = s[O]; - zu(r) && (u.flags |= 128), Po(e6, t, u, l, o, i, true); + let u = c, l = s[k]; + kl(r) && (u.flags |= 128), yi(e6, t, u, l, o, i, true); } } -function Al(e6, t, n, r, o, i, s) { - let a = r[un], c = ce(r); - a !== c && ze(t, e6, n, i, a, o, s); - for (let u = re; u < r.length; u++) { +function jd(e6, t, n, r, o, i, s) { + let a = r[Cn], c = pe(r); + a !== c && Xe(t, e6, n, i, a, o, s); + for (let u = ie; u < r.length; u++) { let l = r[u]; - jo(l[m], l, e6, t, i, a); + Di(l[y], l, e6, t, i, a); } } -function Na(e6, t, n, r, o) { - let i = hn(), s = r & 2; +function vc(e6, t, n, r, o) { + let i = bn(), s = r & 2; try { - le(-1), s && t.length > U && Ca(e6, t, U, false); - let a = s ? I.TemplateUpdateStart : I.TemplateCreateStart; + ge(-1), s && t.length > z && fc(e6, t, z, false); + let a = s ? C.TemplateUpdateStart : C.TemplateCreateStart; M(a, o, n), n(r, o); } finally { - le(i); - let a = s ? I.TemplateUpdateEnd : I.TemplateCreateEnd; + ge(i); + let a = s ? C.TemplateUpdateEnd : C.TemplateCreateEnd; M(a, o, n); } } -function xl(e6, t, n) { - Ll(e6, t, n), (n.flags & 64) === 64 && Pl(e6, t, n); +function Bd(e6, t, n) { + Gd(e6, t, n), (n.flags & 64) === 64 && Wd(e6, t, n); } -function Rl(e6, t, n = Ve) { +function Vd(e6, t, n = xe) { let r = t.localNames; if (r !== null) { let o = t.index + 1; @@ -2799,422 +3085,429 @@ function Rl(e6, t, n = Ve) { } } } -function Ol(e6, t, n, r) { - let i = r.get(fa, da) || n === z.ShadowDom || n === z.ExperimentalIsolatedShadowDom, s = e6.selectRootElement(t, i); - return kl(s), s; +function Hd(e6, t, n, r) { + let i = r.get(Qa, Ya) || n === G.ShadowDom || n === G.ExperimentalIsolatedShadowDom, s = e6.selectRootElement(t, i); + return $d(s), s; } -function kl(e6) { - Fl(e6); +function $d(e6) { + Ud(e6); +} +var Ud = () => null; +function zd(e6, t, n, r, o, i) { + if (e6.type & 3) { + let s = xe(e6, t); + r = i != null ? i(r, e6.value || "", n) : r, o.setProperty(s, n, r); + } else + e6.type & 12; } -var Fl = () => null; -function Ll(e6, t, n) { +function Gd(e6, t, n) { let r = n.directiveStart, o = n.directiveEnd; - lt(n) && ll(t, n, e6.data[r + n.componentOffset]), e6.firstCreatePass || Js(n, t); + vt(n) && Dd(t, n, e6.data[r + n.componentOffset]), e6.firstCreatePass || Fa(n, t); let i = n.initialInputs; for (let s = r; s < o; s++) { - let a = e6.data[s], c = mo(t, e6, s, n); - if (Et(c, t), i !== null && Bl(t, s - r, c, a, n, i), je(a)) { - let u = ue(n.index, t); - u[k] = mo(t, e6, s, n); + let a = e6.data[s], c = Lo(t, e6, s, n); + if (At(c, t), i !== null && Zd(t, s - r, c, a, n, i), Ze(a)) { + let u = he(n.index, t); + u[F] = Lo(t, e6, s, n); } } } -function Pl(e6, t, n) { - let r = n.directiveStart, o = n.directiveEnd, i = n.index, s = hs(); +function Wd(e6, t, n) { + let r = n.directiveStart, o = n.directiveEnd, i = n.index, s = Ws(); try { - le(i); + ge(i); for (let a = r; a < o; a++) { let c = e6.data[a], u = t[a]; - dn(a), (c.hostBindings !== null || c.hostVars !== 0 || c.hostAttrs !== null) && jl(c, u); + Mn(a), (c.hostBindings !== null || c.hostVars !== 0 || c.hostAttrs !== null) && qd(c, u); } } finally { - le(-1), dn(s); + ge(-1), Mn(s); } } -function jl(e6, t) { +function qd(e6, t) { e6.hostBindings !== null && e6.hostBindings(1, t); } -function Bl(e6, t, n, r, o, i) { +function Zd(e6, t, n, r, o, i) { let s = i[t]; if (s !== null) for (let a = 0; a < s.length; a += 2) { let c = s[a], u = s[a + 1]; - Io(r, n, c, u); + Qo(r, n, c, u); } } -function Vl(e6, t, n, r, o) { - let i = U + n, s = t[m], a = o(s, t, e6, r, n); - t[i] = a, ht(e6, true); +function Yd(e6, t, n, r, o) { + let i = z + n, s = t[y], a = o(s, t, e6, r, n); + t[i] = a, wt(e6, true); let c = e6.type === 2; - return c ? (ya(t[P], a, e6), (ns() === 0 || Qi(e6)) && Et(a, t), rs()) : Et(a, t), to() && (!c || !Oo(e6)) && ba(s, t, a, e6), e6; + return c ? (ac(t[L], a, e6), (Fs() === 0 || As(e6)) && At(a, t), Ls()) : At(a, t), Co() && (!c || !ci(e6)) && Dc(s, t, a, e6), e6; } -function Hl(e6) { +function Qd(e6) { let t = e6; - return Yr() ? us() : (t = t.parent, ht(t, false)), t; + return go() ? $s() : (t = t.parent, wt(t, false)), t; } -function $l(e6, t, n, r, o) { +function Kd(e6, t, n, r, o) { let i = e6.inputs?.[r], s = e6.hostDirectiveInputs?.[r], a = false; if (s) for (let c = 0; c < s.length; c += 2) { let u = s[c], l = s[c + 1], d = t.data[u]; - Io(d, n[u], l, o), a = true; + Qo(d, n[u], l, o), a = true; } if (i) for (let c of i) { let u = n[c], l = t.data[c]; - Io(l, u, r, o), a = true; + Qo(l, u, r, o), a = true; } return a; } -function Ul(e6, t) { - let n = ue(t, e6), r = n[m]; - zl(r, n); - let o = n[q]; - o !== null && n[rn] === null && (n[rn] = pa(o, n[Ee])), M(I.ComponentStart); +function Jd(e6, t) { + let n = he(t, e6), r = n[y]; + Xd(r, n); + let o = n[Z]; + o !== null && n[yn] === null && (n[yn] = Ka(o, n[be])), M(C.ComponentStart); try { - Aa(r, n, n[k]); + Ec(r, n, n[F]); } finally { - M(I.ComponentEnd, n[k]); + M(C.ComponentEnd, n[F]); } } -function zl(e6, t) { +function Xd(e6, t) { for (let n = t.length; n < e6.blueprint.length; n++) t.push(e6.blueprint[n]); } -function Aa(e6, t, n) { - fn(t); +function Ec(e6, t, n) { + _n(t); try { let r = e6.viewQuery; - r !== null && Do(1, r, n); + r !== null && Bo(1, r, n); let o = e6.template; - o !== null && Na(e6, t, o, 1, n), e6.firstCreatePass && (e6.firstCreatePass = false), t[sn]?.finishViewCreation(e6), e6.staticContentQueries && ha(e6, t), e6.staticViewQueries && Do(2, e6.viewQuery, n); + o !== null && vc(e6, t, o, 1, n), e6.firstCreatePass && (e6.firstCreatePass = false), t[vn]?.finishViewCreation(e6), e6.staticContentQueries && Ja(e6, t), e6.staticViewQueries && Bo(2, e6.viewQuery, n); let i = e6.components; - i !== null && Gl(t, i); + i !== null && ef(t, i); } catch (r) { throw e6.firstCreatePass && (e6.incompleteFirstPass = true, e6.firstCreatePass = false), r; } finally { - t[h] &= -5, pn(); + t[h] &= -5, Sn(); } } -function Gl(e6, t) { +function ef(e6, t) { for (let n = 0; n < t.length; n++) - Ul(e6, t[n]); + Jd(e6, t[n]); } -function It(e6, t, n, r, o = false) { +function xt(e6, t, n, r, o = false) { for (; n !== null; ) { if (n.type === 128) { n = o ? n.projectionNext : n.next; continue; } let i = t[n.index]; - i !== null && r.push(ce(i)), ae(i) && xa(i, r); + i !== null && r.push(pe(i)), fe(i) && Ic(i, r); let s = n.type; if (s & 8) - It(e6, t, n.child, r); + xt(e6, t, n.child, r); else if (s & 32) { - let a = wa(n, t), c; + let a = pc(n, t), c; for (; c = a(); ) r.push(c); } else if (s & 16) { - let a = bl(t, n); + let a = Ld(t, n); if (Array.isArray(a)) r.push(...a); else { - let c = me(t[Z]); - It(c[m], c, a, r, true); + let c = Te(t[Q]); + xt(c[y], c, a, r, true); } } n = o ? n.projectionNext : n.next; } return r; } -function xa(e6, t) { - for (let n = re; n < e6.length; n++) { - let r = e6[n], o = r[m].firstChild; - o !== null && It(r[m], r, o, t); +function Ic(e6, t) { + for (let n = ie; n < e6.length; n++) { + let r = e6[n], o = r[y].firstChild; + o !== null && xt(r[y], r, o, t); } - e6[un] !== e6[q] && t.push(e6[un]); + e6[Cn] !== e6[Z] && t.push(e6[Cn]); } -function Ra(e6) { - if (e6[cn] !== null) { - for (let t of e6[cn]) +function Cc(e6) { + if (e6[In] !== null) { + for (let t of e6[In]) t.impl.addSequence(t); - e6[cn].length = 0; + e6[In].length = 0; } } -var Oa = []; -function Wl(e6) { - return e6[F] ?? ql(e6); +var wc = []; +function tf(e6) { + return e6[P] ?? nf(e6); } -function ql(e6) { - let t = Oa.pop() ?? Object.create(Yl); +function nf(e6) { + let t = wc.pop() ?? Object.create(of); return t.lView = e6, t; } -function Zl(e6) { - e6.lView[F] !== e6 && (e6.lView = null, Oa.push(e6)); +function rf(e6) { + e6.lView[P] !== e6 && (e6.lView = null, wc.push(e6)); } -var Yl = B(A({}, Pt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { - pt(e6.lView); +var of = V(x({}, Yt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { + Ct(e6.lView); }, consumerOnSignalRead() { - this.lView[F] = this; + this.lView[P] = this; } }); -function Ql(e6) { - let t = e6[F] ?? Object.create(Kl); +function sf(e6) { + let t = e6[P] ?? Object.create(af); return t.lView = e6, t; } -var Kl = B(A({}, Pt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { - let t = me(e6.lView); - for (; t && !ka(t[m]); ) - t = me(t); - t && zr(t); +var af = V(x({}, Yt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { + let t = Te(e6.lView); + for (; t && !Tc(t[y]); ) + t = Te(t); + t && lo(t); }, consumerOnSignalRead() { - this.lView[F] = this; + this.lView[P] = this; } }); -function ka(e6) { +function Tc(e6) { return e6.type !== 2; } -function Fa(e6) { - if (e6[ct] === null) +function Mc(e6) { + if (e6[yt] === null) return; let t = true; for (; t; ) { let n = false; - for (let r of e6[ct]) + for (let r of e6[yt]) r.dirty && (n = true, r.zone === null || Zone.current === r.zone ? r.run() : r.zone.run(() => r.run())); t = n && !!(e6[h] & 8192); } } -var Jl = 100; -function La(e6, t = 0) { - let r = e6[ne].rendererFactory, o = false; +var cf = 100; +function _c(e6, t = 0) { + let r = e6[Y].rendererFactory, o = false; o || r.begin?.(); try { - Xl(e6, t); + uf(e6, t); } finally { o || r.end?.(); } } -function Xl(e6, t) { - let n = Qr(); +function uf(e6, t) { + let n = mo(); try { - Kr(true), wo(e6, t); + yo(true), Jo(e6, t); let r = 0; - for (; ft(e6); ) { - if (r === Jl) + for (; It(e6); ) { + if (r === cf) throw new g(103, false); - r++, wo(e6, 1); + r++, Jo(e6, 1); } } finally { - Kr(n); + yo(n); } } -function ed(e6, t, n, r) { - if (Ce(t)) +function lf(e6, t, n, r) { + if (Ae(t)) return; let o = t[h], i = false, s = false; - fn(t); + _n(t); let a = true, c = null, u = null; - i || (ka(e6) ? (u = Wl(t), c = Yn(u)) : Lt() === null ? (a = false, u = Ql(t), c = Yn(u)) : t[F] && (jt(t[F]), t[F] = null)); + i || (Tc(e6) ? (u = tf(t), c = hr(u)) : Zt() === null ? (a = false, u = sf(t), c = hr(u)) : t[P] && (Qt(t[P]), t[P] = null)); try { - Ur(t), ls(e6.bindingStartIndex), n !== null && Na(e6, t, n, 2, r); + uo(t), Us(e6.bindingStartIndex), n !== null && vc(e6, t, n, 2, r); let l = (o & 3) === 3; if (!i) if (l) { let f = e6.preOrderCheckHooks; - f !== null && mn(t, f, null); + f !== null && Rn(t, f, null); } else { let f = e6.preOrderHooks; - f !== null && yn(t, f, 0, null), uo(t, 0); + f !== null && On(t, f, 0, null), Ao(t, 0); } - if (s || td(t), Fa(t), Pa(t, 0), e6.contentQueries !== null && ha(e6, t), !i) + if (s || df(t), Mc(t), Sc(t, 0), e6.contentQueries !== null && Ja(e6, t), !i) if (l) { let f = e6.contentCheckHooks; - f !== null && mn(t, f); + f !== null && Rn(t, f); } else { let f = e6.contentHooks; - f !== null && yn(t, f, 1), uo(t, 1); + f !== null && On(t, f, 1), Ao(t, 1); } - rd(e6, t); + pf(e6, t); let d = e6.components; - d !== null && Ba(t, d, 0); + d !== null && Nc(t, d, 0); let p = e6.viewQuery; - if (p !== null && Do(2, p, r), !i) + if (p !== null && Bo(2, p, r), !i) if (l) { let f = e6.viewCheckHooks; - f !== null && mn(t, f); + f !== null && Rn(t, f); } else { let f = e6.viewHooks; - f !== null && yn(t, f, 2), uo(t, 2); + f !== null && On(t, f, 2), Ao(t, 2); } - if (e6.firstUpdatePass === true && (e6.firstUpdatePass = false), t[an]) { - for (let f of t[an]) + if (e6.firstUpdatePass === true && (e6.firstUpdatePass = false), t[En]) { + for (let f of t[En]) f(); - t[an] = null; + t[En] = null; } - i || (Ra(t), t[h] &= -73); + i || (Cc(t), t[h] &= -73); } catch (l) { - throw i || pt(t), l; + throw i || Ct(t), l; } finally { - u !== null && (ci(u, c), a && Zl(u)), pn(); + u !== null && (Ui(u, c), a && rf(u)), Sn(); } } -function Pa(e6, t) { - for (let n = ca(e6); n !== null; n = ua(n)) - for (let r = re; r < n.length; r++) { +function Sc(e6, t) { + for (let n = Ga(e6); n !== null; n = Wa(n)) + for (let r = ie; r < n.length; r++) { let o = n[r]; - ja(o, t); + bc(o, t); } } -function td(e6) { - for (let t = ca(e6); t !== null; t = ua(t)) { +function df(e6) { + for (let t = Ga(e6); t !== null; t = Wa(t)) { if (!(t[h] & 2)) continue; - let n = t[ut]; + let n = t[Dt]; for (let r = 0; r < n.length; r++) { let o = n[r]; - zr(o); + lo(o); } } } -function nd(e6, t, n) { - M(I.ComponentStart); - let r = ue(t, e6); +function ff(e6, t, n) { + M(C.ComponentStart); + let r = he(t, e6); try { - ja(r, n); + bc(r, n); } finally { - M(I.ComponentEnd, r[k]); + M(C.ComponentEnd, r[F]); } } -function ja(e6, t) { - ln(e6) && wo(e6, t); +function bc(e6, t) { + wn(e6) && Jo(e6, t); } -function wo(e6, t) { - let r = e6[m], o = e6[h], i = e6[F], s = !!(t === 0 && o & 16); - if (s ||= !!(o & 64 && t === 0), s ||= !!(o & 1024), s ||= !!(i?.dirty && Qn(i)), s ||= false, i && (i.dirty = false), e6[h] &= -9217, s) - ed(r, e6, r.template, e6[k]); +function Jo(e6, t) { + let r = e6[y], o = e6[h], i = e6[P], s = !!(t === 0 && o & 16); + if (s ||= !!(o & 64 && t === 0), s ||= !!(o & 1024), s ||= !!(i?.dirty && gr(i)), s ||= false, i && (i.dirty = false), e6[h] &= -9217, s) + lf(r, e6, r.template, e6[F]); else if (o & 8192) { - let a = y(null); + let a = D(null); try { - Fa(e6), Pa(e6, 1); + Mc(e6), Sc(e6, 1); let c = r.components; - c !== null && Ba(e6, c, 1), Ra(e6); + c !== null && Nc(e6, c, 1), Cc(e6); } finally { - y(a); + D(a); } } } -function Ba(e6, t, n) { +function Nc(e6, t, n) { for (let r = 0; r < t.length; r++) - nd(e6, t[r], n); + ff(e6, t[r], n); } -function rd(e6, t) { +function pf(e6, t) { let n = e6.hostBindingOpCodes; if (n !== null) try { for (let r = 0; r < n.length; r++) { let o = n[r]; if (o < 0) - le(~o); + ge(~o); else { let i = o, s = n[++r], a = n[++r]; - ps(s, i); + Gs(s, i); let c = t[i]; - M(I.HostBindingsUpdateStart, c); + M(C.HostBindingsUpdateStart, c); try { a(2, c); } finally { - M(I.HostBindingsUpdateEnd, c); + M(C.HostBindingsUpdateEnd, c); } } } } finally { - le(-1); + ge(-1); } } -function Va(e6, t) { - let n = Qr() ? 64 : 1088; - for (e6[ne].changeDetectionScheduler?.notify(t); e6; ) { +function Ac(e6, t) { + let n = mo() ? 64 : 1088; + for (e6[Y].changeDetectionScheduler?.notify(t); e6; ) { e6[h] |= n; - let r = me(e6); - if (Be(e6) && !r) + let r = Te(e6); + if (Ye(e6) && !r) return e6; e6 = r; } return null; } -function od(e6, t) { - if (e6.length <= re) +function hf(e6, t) { + if (e6.length <= ie) return; - let n = re + t, r = e6[n]; + let n = ie + t, r = e6[n]; if (r) { - let o = r[at]; - o !== null && o !== e6 && Lo(o, r), t > 0 && (e6[n - 1][ee] = r[ee]); - let i = Fr(e6, re + t); - yl(r[m], r); - let s = i[sn]; - s !== null && s.detachView(i[m]), r[O] = null, r[ee] = null, r[h] &= -129; + let o = r[mt]; + o !== null && o !== e6 && mi(o, r), t > 0 && (e6[n - 1][re] = r[re]); + let i = eo(e6, ie + t); + Md(r[y], r); + let s = i[vn]; + s !== null && s.detachView(i[y]), r[k] = null, r[re] = null, r[h] &= -129; } return r; } -function id(e6, t) { - let n = e6[ut], r = t[O]; - if (se(r)) +function gf(e6, t) { + let n = e6[Dt], r = t[k]; + if (de(r)) e6[h] |= 2; else { - let o = r[O][Z]; - t[Z] !== o && (e6[h] |= 2); + let o = r[k][Q]; + t[Q] !== o && (e6[h] |= 2); } - n === null ? e6[ut] = [t] : n.push(t); + n === null ? e6[Dt] = [t] : n.push(t); } -var In = class { +var Pn = class { _lView; _cdRefInjectingView; _appRef = null; _attachedToViewContainer = false; exhaustive; get rootNodes() { - let t = this._lView, n = t[m]; - return It(n, t, n.firstChild, []); + let t = this._lView, n = t[y]; + return xt(n, t, n.firstChild, []); } constructor(t, n) { this._lView = t, this._cdRefInjectingView = n; } get context() { - return this._lView[k]; + return this._lView[F]; } set context(t) { - this._lView[k] = t; + this._lView[F] = t; } get destroyed() { - return Ce(this._lView); + return Ae(this._lView); } destroy() { if (this._appRef) this._appRef.detachView(this); else if (this._attachedToViewContainer) { - let t = this._lView[O]; - if (ae(t)) { - let n = t[Yi], r = n ? n.indexOf(this) : -1; - r > -1 && (od(t, r), Fr(n, r)); + let t = this._lView[k]; + if (fe(t)) { + let n = t[Ns], r = n ? n.indexOf(this) : -1; + r > -1 && (hf(t, r), eo(n, r)); } this._attachedToViewContainer = false; } - vl(this._lView[m], this._lView); + Sd(this._lView[y], this._lView); } onDestroy(t) { - Wr(this._lView, t); + po(this._lView, t); } markForCheck() { - Va(this._cdRefInjectingView || this._lView, 4); + Ac(this._cdRefInjectingView || this._lView, 4); } detach() { this._lView[h] &= -129; } reattach() { - Gr(this._lView), this._lView[h] |= 128; + fo(this._lView), this._lView[h] |= 128; } detectChanges() { - this._lView[h] |= 1024, La(this._lView); + this._lView[h] |= 1024, _c(this._lView); } checkNoChanges() { } @@ -3225,72 +3518,72 @@ var In = class { } detachFromAppRef() { this._appRef = null; - let t = Be(this._lView), n = this._lView[at]; - n !== null && !t && Lo(n, this._lView), Sa(this._lView[m], this._lView); + let t = Ye(this._lView), n = this._lView[mt]; + n !== null && !t && mi(n, this._lView), yc(this._lView[y], this._lView); } attachToAppRef(t) { if (this._attachedToViewContainer) throw new g(902, false); this._appRef = t; - let n = Be(this._lView), r = this._lView[at]; - r !== null && !n && id(r, this._lView), Gr(this._lView); + let n = Ye(this._lView), r = this._lView[mt]; + r !== null && !n && gf(r, this._lView), fo(this._lView); } }; -function Bo(e6, t, n, r, o) { +function vi(e6, t, n, r, o) { let i = e6.data[t]; if (i === null) - i = sd(e6, t, n, r, o), fs() && (i.flags |= 32); + i = mf(e6, t, n, r, o), zs() && (i.flags |= 32); else if (i.type & 64) { i.type = n, i.value = r, i.attrs = o; - let s = cs(); + let s = Hs(); i.injectorIndex = s === null ? -1 : s.injectorIndex; } - return ht(i, true), i; + return wt(i, true), i; } -function sd(e6, t, n, r, o) { - let i = Zr(), s = Yr(), a = s ? i : i && i.parent, c = e6.data[t] = cd(e6, a, n, t, r, o); - return ad(e6, c, i, s), c; +function mf(e6, t, n, r, o) { + let i = ho(), s = go(), a = s ? i : i && i.parent, c = e6.data[t] = Df(e6, a, n, t, r, o); + return yf(e6, c, i, s), c; } -function ad(e6, t, n, r) { +function yf(e6, t, n, r) { e6.firstChild === null && (e6.firstChild = t), n !== null && (r ? n.child == null && t.parent !== null && (n.child = t) : n.next === null && (n.next = t, t.prev = n)); } -function cd(e6, t, n, r, o, i) { +function Df(e6, t, n, r, o, i) { let s = t ? t.injectorIndex : -1, a = 0; - return is() && (a |= 128), { type: n, index: r, insertBeforeIndex: null, injectorIndex: s, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, controlDirectiveIndex: -1, customControlIndex: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: o, attrs: i, mergedAttrs: null, localNames: null, initialInputs: null, inputs: null, hostDirectiveInputs: null, outputs: null, hostDirectiveOutputs: null, directiveToIndex: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 }; + return js() && (a |= 128), { type: n, index: r, insertBeforeIndex: null, injectorIndex: s, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, controlDirectiveIndex: -1, customControlIndex: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: o, attrs: i, mergedAttrs: null, localNames: null, initialInputs: null, inputs: null, hostDirectiveInputs: null, outputs: null, hostDirectiveOutputs: null, directiveToIndex: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 }; } -var Ha = class { +var xc = class { }; -var An = class { +var Qn = class { }; -var To = class { +var Xo = class { resolveComponentFactory(t) { throw new g(917, false); } }; -var xn = class { - static NULL = new To(); +var Kn = class { + static NULL = new Xo(); }; -var we = class { +var Re = class { }; -var $a = (() => { +var Rc = (() => { class e6 { static \u0275prov = _({ token: e6, providedIn: "root", factory: () => null }); } return e6; })(); -var Dn = {}; -var Mo = class { +var kn = {}; +var ei = class { injector; parentInjector; constructor(t, n) { this.injector = t, this.parentInjector = n; } get(t, n, r) { - let o = this.injector.get(t, Dn, r); - return o !== Dn || n === Dn ? o : this.parentInjector.get(t, n, r); + let o = this.injector.get(t, kn, r); + return o !== kn || n === kn ? o : this.parentInjector.get(t, n, r); } }; -function Cn(e6, t, n) { +function jn(e6, t, n) { let r = n ? e6.styles : null, o = n ? e6.classes : null, i = 0; if (t !== null) for (let s = 0; s < t.length; s++) { @@ -3298,22 +3591,22 @@ function Cn(e6, t, n) { if (typeof a == "number") i = a; else if (i == 1) - o = _r(o, a); + o = zr(o, a); else if (i == 2) { let c = a, u = t[++s]; - r = _r(r, c + ": " + u + ";"); + r = zr(r, c + ": " + u + ";"); } } n ? e6.styles = r : e6.stylesWithoutHost = r, n ? e6.classes = o : e6.classesWithoutHost = o; } -function Tt(e6, t = 0) { - let n = Y(); +function ot(e6, t = 0) { + let n = B(); if (n === null) return E(e6, t); - let r = He(); - return ra(r, n, R(e6), t); + let r = Qe(); + return Va(r, n, O(e6), t); } -function ud(e6, t, n, r, o) { +function vf(e6, t, n, r, o) { let i = r === null ? null : { "": -1 }, s = o(e6, n); if (s !== null) { let a = s, c = null, u = null; @@ -3322,11 +3615,11 @@ function ud(e6, t, n, r, o) { [a, c, u] = l.resolveHostDirectives(s); break; } - fd(e6, t, n, a, i, c, u); + Cf(e6, t, n, a, i, c, u); } - i !== null && r !== null && ld(n, r, i); + i !== null && r !== null && Ef(n, r, i); } -function ld(e6, t, n) { +function Ef(e6, t, n) { let r = e6.localNames = []; for (let o = 0; o < t.length; o += 2) { let i = n[t[o + 1]]; @@ -3335,68 +3628,68 @@ function ld(e6, t, n) { r.push(t[o], i); } } -function dd(e6, t, n) { +function If(e6, t, n) { t.componentOffset = n, (e6.components ??= []).push(t.index); } -function fd(e6, t, n, r, o, i, s) { +function Cf(e6, t, n, r, o, i, s) { let a = r.length, c = null; for (let p = 0; p < a; p++) { let f = r[p]; - c === null && je(f) && (c = f, dd(e6, n, p)), Pu(Js(n, t), e6, f.type); + c === null && Ze(f) && (c = f, If(e6, n, p)), Sl(Fa(n, t), e6, f.type); } - Dd(n, e6.data.length, a), c?.viewProvidersResolver && c.viewProvidersResolver(c); + bf(n, e6.data.length, a), c?.viewProvidersResolver && c.viewProvidersResolver(c); for (let p = 0; p < a; p++) { let f = r[p]; f.providersResolver && f.providersResolver(f); } - let u = false, l = false, d = Ia(e6, t, a, null); + let u = false, l = false, d = dc(e6, t, a, null); a > 0 && (n.directiveToIndex = /* @__PURE__ */ new Map()); for (let p = 0; p < a; p++) { let f = r[p]; - if (n.mergedAttrs = No(n.mergedAttrs, f.hostAttrs), hd(e6, n, t, d, f), yd(d, f, o), s !== null && s.has(f)) { - let [zn, lc] = s.get(f); - n.directiveToIndex.set(f.type, [d, zn + n.directiveStart, lc + n.directiveStart]); + if (n.mergedAttrs = oi(n.mergedAttrs, f.hostAttrs), Tf(e6, n, t, d, f), Sf(d, f, o), s !== null && s.has(f)) { + let [ur, tu] = s.get(f); + n.directiveToIndex.set(f.type, [d, ur + n.directiveStart, tu + n.directiveStart]); } else (i === null || !i.has(f)) && n.directiveToIndex.set(f.type, d); f.contentQueries !== null && (n.flags |= 4), (f.hostBindings !== null || f.hostAttrs !== null || f.hostVars !== 0) && (n.flags |= 64); let T = f.type.prototype; !u && (T.ngOnChanges || T.ngOnInit || T.ngDoCheck) && ((e6.preOrderHooks ??= []).push(n.index), u = true), !l && (T.ngOnChanges || T.ngDoCheck) && ((e6.preOrderCheckHooks ??= []).push(n.index), l = true), d++; } - pd(e6, n, i); + wf(e6, n, i); } -function pd(e6, t, n) { +function wf(e6, t, n) { for (let r = t.directiveStart; r < t.directiveEnd; r++) { let o = e6.data[r]; if (n === null || !n.has(o)) - Vs(0, t, o, r), Vs(1, t, o, r), $s(t, r, false); + Ta(0, t, o, r), Ta(1, t, o, r), _a(t, r, false); else { let i = n.get(o); - Hs(0, t, i, r), Hs(1, t, i, r), $s(t, r, true); + Ma(0, t, i, r), Ma(1, t, i, r), _a(t, r, true); } } } -function Vs(e6, t, n, r) { +function Ta(e6, t, n, r) { let o = e6 === 0 ? n.inputs : n.outputs; for (let i in o) if (o.hasOwnProperty(i)) { let s; - e6 === 0 ? s = t.inputs ??= {} : s = t.outputs ??= {}, s[i] ??= [], s[i].push(r), Ua(t, i); + e6 === 0 ? s = t.inputs ??= {} : s = t.outputs ??= {}, s[i] ??= [], s[i].push(r), Oc(t, i); } } -function Hs(e6, t, n, r) { +function Ma(e6, t, n, r) { let o = e6 === 0 ? n.inputs : n.outputs; for (let i in o) if (o.hasOwnProperty(i)) { let s = o[i], a; - e6 === 0 ? a = t.hostDirectiveInputs ??= {} : a = t.hostDirectiveOutputs ??= {}, a[s] ??= [], a[s].push(r, i), Ua(t, s); + e6 === 0 ? a = t.hostDirectiveInputs ??= {} : a = t.hostDirectiveOutputs ??= {}, a[s] ??= [], a[s].push(r, i), Oc(t, s); } } -function Ua(e6, t) { +function Oc(e6, t) { t === "class" ? e6.flags |= 8 : t === "style" && (e6.flags |= 16); } -function $s(e6, t, n) { +function _a(e6, t, n) { let { attrs: r, inputs: o, hostDirectiveInputs: i } = e6; - if (r === null || !n && o === null || n && i === null || ol(e6)) { + if (r === null || !n && o === null || n && i === null || fd(e6)) { e6.initialInputs ??= [], e6.initialInputs.push(null); return; } @@ -3430,21 +3723,21 @@ function $s(e6, t, n) { } e6.initialInputs ??= [], e6.initialInputs.push(s); } -function hd(e6, t, n, r, o) { +function Tf(e6, t, n, r, o) { e6.data[r] = o; - let i = o.factory || (o.factory = Re(o.type, true)), s = new vt(i, je(o), Tt, null); - e6.blueprint[r] = s, n[r] = s, gd(e6, t, r, Ia(e6, n, o.hostVars, qe), o); + let i = o.factory || (o.factory = $e(o.type, true)), s = new Nt(i, Ze(o), ot, null); + e6.blueprint[r] = s, n[r] = s, Mf(e6, t, r, dc(e6, n, o.hostVars, nt), o); } -function gd(e6, t, n, r, o) { +function Mf(e6, t, n, r, o) { let i = o.hostBindings; if (i) { let s = e6.hostBindingOpCodes; s === null && (s = e6.hostBindingOpCodes = []); let a = ~t.index; - md(s) != a && s.push(a), s.push(n, r, i); + _f(s) != a && s.push(a), s.push(n, r, i); } } -function md(e6) { +function _f(e6) { let t = e6.length; for (; t > 0; ) { let n = e6[--t]; @@ -3453,82 +3746,82 @@ function md(e6) { } return 0; } -function yd(e6, t, n) { +function Sf(e6, t, n) { if (n) { if (t.exportAs) for (let r = 0; r < t.exportAs.length; r++) n[t.exportAs[r]] = e6; - je(t) && (n[""] = e6); + Ze(t) && (n[""] = e6); } } -function Dd(e6, t, n) { +function bf(e6, t, n) { e6.flags |= 1, e6.directiveStart = t, e6.directiveEnd = t + n, e6.providerIndexes = t; } -function vd(e6, t, n, r, o, i, s, a) { - let c = t[m], u = c.consts, l = dt(u, s), d = Bo(c, e6, n, r, l); - return i && ud(c, t, d, dt(u, a), o), d.mergedAttrs = No(d.mergedAttrs, d.attrs), d.attrs !== null && Cn(d, d.attrs, false), d.mergedAttrs !== null && Cn(d, d.mergedAttrs, true), c.queries !== null && c.queries.elementStart(c, d), d; +function Nf(e6, t, n, r, o, i, s, a) { + let c = t[y], u = c.consts, l = Et(u, s), d = vi(c, e6, n, r, l); + return i && vf(c, t, d, Et(u, a), o), d.mergedAttrs = oi(d.mergedAttrs, d.attrs), d.attrs !== null && jn(d, d.attrs, false), d.mergedAttrs !== null && jn(d, d.mergedAttrs, true), c.queries !== null && c.queries.elementStart(c, d), d; } -function Ed(e6, t) { - bu(e6, t), $r(t) && e6.queries.elementEnd(t); +function Af(e6, t) { + Dl(e6, t), ao(t) && e6.queries.elementEnd(t); } -function Id(e6, t, n, r, o, i) { - let s = t.consts, a = dt(s, o), c = Bo(t, e6, n, r, a); - if (c.mergedAttrs = No(c.mergedAttrs, c.attrs), i != null) { - let u = dt(s, i); +function xf(e6, t, n, r, o, i) { + let s = t.consts, a = Et(s, o), c = vi(t, e6, n, r, a); + if (c.mergedAttrs = oi(c.mergedAttrs, c.attrs), i != null) { + let u = Et(s, i); c.localNames = []; for (let l = 0; l < u.length; l += 2) c.localNames.push(u[l], -1); } - return c.attrs !== null && Cn(c, c.attrs, false), c.mergedAttrs !== null && Cn(c, c.mergedAttrs, true), t.queries !== null && t.queries.elementStart(t, c), c; + return c.attrs !== null && jn(c, c.attrs, false), c.mergedAttrs !== null && jn(c, c.mergedAttrs, true), t.queries !== null && t.queries.elementStart(t, c), c; } -function Cd(e6, t, n) { - if (n === qe) +function kc(e6, t, n) { + if (n === nt) return false; let r = e6[t]; return Object.is(r, n) ? false : (e6[t] = n, true); } -var _o = Symbol("BINDING"); -function wd(e6) { +var ti = Symbol("BINDING"); +function Rf(e6) { return e6.debugInfo?.className || e6.type.name || null; } -var So = class extends xn { +var ni = class extends Kn { ngModule; constructor(t) { super(), this.ngModule = t; } resolveComponentFactory(t) { - let n = ot(t); - return new wn(n, this.ngModule); + let n = ft(t); + return new Bn(n, this.ngModule); } }; -function Td(e6) { +function Of(e6) { return Object.keys(e6).map((t) => { - let [n, r, o] = e6[t], i = { propName: n, templateName: t, isSignal: (r & Nn.SignalBased) !== 0 }; + let [n, r, o] = e6[t], i = { propName: n, templateName: t, isSignal: (r & Yn.SignalBased) !== 0 }; return o && (i.transform = o), i; }); } -function Md(e6) { +function kf(e6) { return Object.keys(e6).map((t) => ({ propName: e6[t], templateName: t })); } -function _d(e6, t, n) { - let r = t instanceof $ ? t : t?.injector; - return r && e6.getStandaloneInjector !== null && (r = e6.getStandaloneInjector(r) || r), r ? new Mo(n, r) : n; +function Ff(e6, t, n) { + let r = t instanceof U ? t : t?.injector; + return r && e6.getStandaloneInjector !== null && (r = e6.getStandaloneInjector(r) || r), r ? new ei(n, r) : n; } -function Sd(e6) { - let t = e6.get(we, null); +function Lf(e6) { + let t = e6.get(Re, null); if (t === null) throw new g(407, false); - let n = e6.get($a, null), r = e6.get(Oe, null), o = e6.get(Ze, null, { optional: true }); + let n = e6.get(Rc, null), r = e6.get(Ue, null), o = e6.get(rt, null, { optional: true }); return { rendererFactory: t, sanitizer: n, changeDetectionScheduler: r, ngReflect: false, tracingService: o }; } -function bd(e6, t) { - let n = za(e6); - return ga(t, n, n === "svg" ? Ki : n === "math" ? Ji : null); +function Pf(e6, t) { + let n = Fc(e6); + return ic(t, n, n === "svg" ? xs : n === "math" ? Rs : null); } -function za(e6) { +function Fc(e6) { return (e6.selectors[0][0] || "div").toLowerCase(); } -var wn = class extends An { +var Bn = class extends Qn { componentDef; ngModule; selector; @@ -3538,50 +3831,50 @@ var wn = class extends An { cachedInputs = null; cachedOutputs = null; get inputs() { - return this.cachedInputs ??= Td(this.componentDef.inputs), this.cachedInputs; + return this.cachedInputs ??= Of(this.componentDef.inputs), this.cachedInputs; } get outputs() { - return this.cachedOutputs ??= Md(this.componentDef.outputs), this.cachedOutputs; + return this.cachedOutputs ??= kf(this.componentDef.outputs), this.cachedOutputs; } constructor(t, n) { - super(), this.componentDef = t, this.ngModule = n, this.componentType = t.type, this.selector = sl(t.selectors), this.ngContentSelectors = t.ngContentSelectors ?? [], this.isBoundToModule = !!n; + super(), this.componentDef = t, this.ngModule = n, this.componentType = t.type, this.selector = hd(t.selectors), this.ngContentSelectors = t.ngContentSelectors ?? [], this.isBoundToModule = !!n; } create(t, n, r, o, i, s) { - M(I.DynamicComponentStart); - let a = y(null); + M(C.DynamicComponentStart); + let a = D(null); try { - let c = this.componentDef, u = _d(c, o || this.ngModule, t), l = Sd(u), d = l.tracingService; - return d && d.componentCreate ? d.componentCreate(wd(c), () => this.createComponentRef(l, u, n, r, i, s)) : this.createComponentRef(l, u, n, r, i, s); + let c = this.componentDef, u = Ff(c, o || this.ngModule, t), l = Lf(u), d = l.tracingService; + return d && d.componentCreate ? d.componentCreate(Rf(c), () => this.createComponentRef(l, u, n, r, i, s)) : this.createComponentRef(l, u, n, r, i, s); } finally { - y(a); + D(a); } } createComponentRef(t, n, r, o, i, s) { - let a = this.componentDef, c = Nd(o, a, s, i), u = t.rendererFactory.createRenderer(null, a), l = o ? Ol(u, o, a.encapsulation, n) : bd(a, u), d = s?.some(Us) || i?.some((T) => typeof T != "function" && T.bindings.some(Us)), p = va(null, c, null, 512 | Ea(a), null, null, t, u, n, null, pa(l, n, true)); - p[U] = l, fn(p); + let a = this.componentDef, c = jf(o, a, s, i), u = t.rendererFactory.createRenderer(null, a), l = o ? Hd(u, o, a.encapsulation, n) : Pf(a, u), d = s?.some(Sa) || i?.some((T) => typeof T != "function" && T.bindings.some(Sa)), p = uc(null, c, null, 512 | lc(a), null, null, t, u, n, null, Ka(l, n, true)); + p[z] = l, _n(p); let f = null; try { - let T = vd(U, p, 2, "#host", () => c.directiveRegistry, true, 0); - ya(u, l, T), Et(l, p), xl(c, p, T), Ku(c, T, p), Ed(c, T), r !== void 0 && xd(T, this.ngContentSelectors, r), f = ue(T.index, p), p[k] = f[k], Aa(c, p, null); + let T = Nf(z, p, 2, "#host", () => c.directiveRegistry, true, 0); + ac(u, l, T), At(l, p), Bd(c, p, T), Vl(c, T, p), Af(c, T), r !== void 0 && Vf(T, this.ngContentSelectors, r), f = he(T.index, p), p[F] = f[F], Ec(c, p, null); } catch (T) { - throw f !== null && yo(f), yo(p), T; + throw f !== null && Po(f), Po(p), T; } finally { - M(I.DynamicComponentEnd), pn(); + M(C.DynamicComponentEnd), Sn(); } - return new Tn(this.componentType, p, !!d); + return new Vn(this.componentType, p, !!d); } }; -function Nd(e6, t, n, r) { - let o = e6 ? ["ng-version", "21.2.11"] : al(t.selectors[0]), i = null, s = null, a = 0; +function jf(e6, t, n, r) { + let o = e6 ? ["ng-version", "21.2.11"] : gd(t.selectors[0]), i = null, s = null, a = 0; if (n) for (let l of n) - a += l[_o].requiredVars, l.create && (l.targetIdx = 0, (i ??= []).push(l)), l.update && (l.targetIdx = 0, (s ??= []).push(l)); + a += l[ti].requiredVars, l.create && (l.targetIdx = 0, (i ??= []).push(l)), l.update && (l.targetIdx = 0, (s ??= []).push(l)); if (r) for (let l = 0; l < r.length; l++) { let d = r[l]; if (typeof d != "function") for (let p of d.bindings) { - a += p[_o].requiredVars; + a += p[ti].requiredVars; let f = l + 1; p.create && (p.targetIdx = f, (i ??= []).push(p)), p.update && (p.targetIdx = f, (s ??= []).push(p)); } @@ -3589,12 +3882,12 @@ function Nd(e6, t, n, r) { let c = [t]; if (r) for (let l of r) { - let d = typeof l == "function" ? l : l.type, p = xr(d); + let d = typeof l == "function" ? l : l.type, p = Yr(d); c.push(p); } - return Da(0, null, Ad(i, s), 1, a, c, null, null, null, [o], null); + return cc(0, null, Bf(i, s), 1, a, c, null, null, null, [o], null); } -function Ad(e6, t) { +function Bf(e6, t) { return !e6 && !t ? null : (n) => { if (n & 1 && e6) for (let r of e6) @@ -3604,11 +3897,11 @@ function Ad(e6, t) { r.update(); }; } -function Us(e6) { - let t = e6[_o].kind; +function Sa(e6) { + let t = e6[ti].kind; return t === "input" || t === "twoWay"; } -var Tn = class extends Ha { +var Vn = class extends xc { _rootLView; _hasInputBindings; instance; @@ -3619,20 +3912,20 @@ var Tn = class extends Ha { previousInputValues = null; _tNode; constructor(t, n, r) { - super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = es(n[m], U), this.location = sa(this._tNode, n), this.instance = ue(this._tNode.index, n)[k], this.hostView = this.changeDetectorRef = new In(n, void 0), this.componentType = t; + super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = co(n[y], z), this.location = Ua(this._tNode, n), this.instance = he(this._tNode.index, n)[F], this.hostView = this.changeDetectorRef = new Pn(n, void 0), this.componentType = t; } setInput(t, n) { this._hasInputBindings; let r = this._tNode; if (this.previousInputValues ??= /* @__PURE__ */ new Map(), this.previousInputValues.has(t) && Object.is(this.previousInputValues.get(t), n)) return; - let o = this._rootLView, i = $l(r, o[m], o, t, n); + let o = this._rootLView, i = Kd(r, o[y], o, t, n); this.previousInputValues.set(t, n); - let s = ue(r.index, o); - Va(s, 1); + let s = he(r.index, o); + Ac(s, 1); } get injector() { - return new En(this._tNode, this._rootLView); + return new Ln(this._tNode, this._rootLView); } destroy() { this.hostView.destroy(); @@ -3641,22 +3934,22 @@ var Tn = class extends Ha { this.hostView.onDestroy(t); } }; -function xd(e6, t, n) { +function Vf(e6, t, n) { let r = e6.projection = []; for (let o = 0; o < t.length; o++) { let i = n[o]; r.push(i != null && i.length ? Array.from(i) : null); } } -var Mn = class { +var Hn = class { }; -var Ct = class extends Mn { +var Rt = class extends Hn { injector; - componentFactoryResolver = new So(this); + componentFactoryResolver = new ni(this); instance = null; constructor(t) { super(); - let n = new ge([...t.providers, { provide: Mn, useValue: this }, { provide: xn, useValue: this.componentFactoryResolver }], t.parent || st(), t.debugName, /* @__PURE__ */ new Set(["environment"])); + let n = new we([...t.providers, { provide: Hn, useValue: this }, { provide: Kn, useValue: this.componentFactoryResolver }], t.parent || gt(), t.debugName, /* @__PURE__ */ new Set(["environment"])); this.injector = n, t.runEnvironmentInitializers && n.resolveInjectorInitializers(); } destroy() { @@ -3666,10 +3959,10 @@ var Ct = class extends Mn { this.injector.onDestroy(t); } }; -function Ga(e6, t, n = null) { - return new Ct({ providers: e6, parent: t, debugName: n, runEnvironmentInitializers: true }).injector; +function Lc(e6, t, n = null) { + return new Rt({ providers: e6, parent: t, debugName: n, runEnvironmentInitializers: true }).injector; } -var Rd = (() => { +var Hf = (() => { class e6 { _injector; cachedInjectors = /* @__PURE__ */ new Map(); @@ -3680,7 +3973,7 @@ var Rd = (() => { if (!n.standalone) return null; if (!this.cachedInjectors.has(n)) { - let r = jr(false, n.type), o = r.length > 0 ? Ga([r], this._injector, "") : null; + let r = ro(false, n.type), o = r.length > 0 ? Lc([r], this._injector, "") : null; this.cachedInjectors.set(n, o); } return this.cachedInjectors.get(n); @@ -3693,51 +3986,51 @@ var Rd = (() => { this.cachedInjectors.clear(); } } - static \u0275prov = _({ token: e6, providedIn: "environment", factory: () => new e6(E($)) }); + static \u0275prov = _({ token: e6, providedIn: "environment", factory: () => new e6(E(U)) }); } return e6; })(); -function Vo(e6) { - return bo(() => { - let t = Ld(e6), n = B(A({}, t), { decls: e6.decls, vars: e6.vars, template: e6.template, consts: e6.consts || null, ngContentSelectors: e6.ngContentSelectors, onPush: e6.changeDetection === xo.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e6.dependencies || null, getStandaloneInjector: t.standalone ? (o) => o.get(Rd).getOrCreateStandaloneInjector(n) : null, getExternalStyles: null, signals: e6.signals ?? false, data: e6.data || {}, encapsulation: e6.encapsulation || z.Emulated, styles: e6.styles || H, _: null, schemas: e6.schemas || null, tView: null, id: "" }); - t.standalone && Ta("NgStandalone"), Pd(n); +function Ei(e6) { + return ri(() => { + let t = Gf(e6), n = V(x({}, t), { decls: e6.decls, vars: e6.vars, template: e6.template, consts: e6.consts || null, ngContentSelectors: e6.ngContentSelectors, onPush: e6.changeDetection === si.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e6.dependencies || null, getStandaloneInjector: t.standalone ? (o) => o.get(Hf).getOrCreateStandaloneInjector(n) : null, getExternalStyles: null, signals: e6.signals ?? false, data: e6.data || {}, encapsulation: e6.encapsulation || G.Emulated, styles: e6.styles || $, _: null, schemas: e6.schemas || null, tView: null, id: "" }); + t.standalone && hc("NgStandalone"), Wf(n); let r = e6.dependencies; - return n.directiveDefs = zs(r, Od), n.pipeDefs = zs(r, Pi), n.id = jd(n), n; + return n.directiveDefs = ba(r, $f), n.pipeDefs = ba(r, Ds), n.id = qf(n), n; }); } -function Od(e6) { - return ot(e6) || xr(e6); +function $f(e6) { + return ft(e6) || Yr(e6); } -function Rn(e6) { - return bo(() => ({ type: e6.type, bootstrap: e6.bootstrap || H, declarations: e6.declarations || H, imports: e6.imports || H, exports: e6.exports || H, transitiveCompileScopes: null, schemas: e6.schemas || null, id: e6.id || null })); +function Ft(e6) { + return ri(() => ({ type: e6.type, bootstrap: e6.bootstrap || $, declarations: e6.declarations || $, imports: e6.imports || $, exports: e6.exports || $, transitiveCompileScopes: null, schemas: e6.schemas || null, id: e6.id || null })); } -function kd(e6, t) { +function Uf(e6, t) { if (e6 == null) - return ve; + return _e; let n = {}; for (let r in e6) if (e6.hasOwnProperty(r)) { let o = e6[r], i, s, a, c; - Array.isArray(o) ? (a = o[0], i = o[1], s = o[2] ?? i, c = o[3] || null) : (i = o, s = o, a = Nn.None, c = null), n[i] = [r, a, c], t[i] = s; + Array.isArray(o) ? (a = o[0], i = o[1], s = o[2] ?? i, c = o[3] || null) : (i = o, s = o, a = Yn.None, c = null), n[i] = [r, a, c], t[i] = s; } return n; } -function Fd(e6) { +function zf(e6) { if (e6 == null) - return ve; + return _e; let t = {}; for (let n in e6) e6.hasOwnProperty(n) && (t[e6[n]] = n); return t; } -function Ld(e6) { +function Gf(e6) { let t = {}; - return { type: e6.type, providersResolver: null, viewProvidersResolver: null, factory: null, hostBindings: e6.hostBindings || null, hostVars: e6.hostVars || 0, hostAttrs: e6.hostAttrs || null, contentQueries: e6.contentQueries || null, declaredInputs: t, inputConfig: e6.inputs || ve, exportAs: e6.exportAs || null, standalone: e6.standalone ?? true, signals: e6.signals === true, selectors: e6.selectors || H, viewQuery: e6.viewQuery || null, features: e6.features || null, setInput: null, resolveHostDirectives: null, hostDirectives: null, controlDef: null, inputs: kd(e6.inputs, t), outputs: Fd(e6.outputs), debugInfo: null }; + return { type: e6.type, providersResolver: null, viewProvidersResolver: null, factory: null, hostBindings: e6.hostBindings || null, hostVars: e6.hostVars || 0, hostAttrs: e6.hostAttrs || null, contentQueries: e6.contentQueries || null, declaredInputs: t, inputConfig: e6.inputs || _e, exportAs: e6.exportAs || null, standalone: e6.standalone ?? true, signals: e6.signals === true, selectors: e6.selectors || $, viewQuery: e6.viewQuery || null, features: e6.features || null, setInput: null, resolveHostDirectives: null, hostDirectives: null, controlDef: null, inputs: Uf(e6.inputs, t), outputs: zf(e6.outputs), debugInfo: null }; } -function Pd(e6) { +function Wf(e6) { e6.features?.forEach((t) => t(e6)); } -function zs(e6, t) { +function ba(e6, t) { return e6 ? () => { let n = typeof e6 == "function" ? e6() : e6, r = []; for (let o of n) { @@ -3747,21 +4040,21 @@ function zs(e6, t) { return r; } : null; } -function jd(e6) { +function qf(e6) { let t = 0, n = typeof e6.consts == "function" ? "" : e6.consts, r = [e6.selectors, e6.ngContentSelectors, e6.hostVars, e6.hostAttrs, n, e6.vars, e6.decls, e6.encapsulation, e6.standalone, e6.signals, e6.exportAs, JSON.stringify(e6.inputs), JSON.stringify(e6.outputs), Object.getOwnPropertyNames(e6.type.prototype), !!e6.contentQueries, !!e6.viewQuery]; for (let i of r.join("|")) t = Math.imul(31, t) + i.charCodeAt(0) << 0; return t += 2147483648, "c" + t; } -var Ho = new D(""); -function $o(e6) { +var Ii = new m(""); +function Ci(e6) { return !!e6 && typeof e6.then == "function"; } -function Wa(e6) { +function Pc(e6) { return !!e6 && typeof e6.subscribe == "function"; } -var qa = new D(""); -var Uo = (() => { +var jc = new m(""); +var wi = (() => { class e6 { resolve; reject; @@ -3770,8 +4063,8 @@ var Uo = (() => { donePromise = new Promise((n, r) => { this.resolve = n, this.reject = r; }); - appInits = v(qa, { optional: true }) ?? []; - injector = v(ye); + appInits = v(jc, { optional: true }) ?? []; + injector = v(te); constructor() { } runInitializers() { @@ -3779,10 +4072,10 @@ var Uo = (() => { return; let n = []; for (let o of this.appInits) { - let i = nn(this.injector, o); - if ($o(i)) + let i = mn(this.injector, o); + if (Ci(i)) n.push(i); - else if (Wa(i)) { + else if (Pc(i)) { let s = new Promise((a, c) => { i.subscribe({ complete: a, error: c }); }); @@ -3805,33 +4098,33 @@ var Uo = (() => { } return e6; })(); -var Za = new D(""); -function Ya() { - Jn(() => { +var Bc = new m(""); +function Vc() { + yr(() => { let e6 = ""; throw new g(600, e6); }); } -function Qa(e6) { +function Hc(e6) { return e6.isBoundToModule; } -var Bd = 10; -var On = (() => { +var Zf = 10; +var Lt = (() => { class e6 { _runningTick = false; _destroyed = false; _destroyListeners = []; _views = []; - internalErrorHandler = v(Ue); - afterRenderManager = v(Ma); - zonelessEnabled = v(mt); - rootEffectScheduler = v(co); + internalErrorHandler = v(Je); + afterRenderManager = v(gc); + zonelessEnabled = v(_t); + rootEffectScheduler = v(No); dirtyFlags = 0; tracingSnapshot = null; allTestViews = /* @__PURE__ */ new Set(); autoDetectTestViews = /* @__PURE__ */ new Set(); includeAllTestViews = false; - afterTick = new oe(); + afterTick = new ce(); get allViews() { return [...(this.includeAllTestViews ? this.allTestViews : this.autoDetectTestViews).keys(), ...this._views]; } @@ -3840,12 +4133,12 @@ var On = (() => { } componentTypes = []; components = []; - internalPendingTask = v($e); + internalPendingTask = v(Ke); get isStable() { - return this.internalPendingTask.hasPendingTasksObservable.pipe(cr((n) => !n)); + return this.internalPendingTask.hasPendingTasksObservable.pipe(Sr((n) => !n)); } constructor() { - v(Ze, { optional: true }); + v(rt, { optional: true }); } whenStable() { let n; @@ -3857,7 +4150,7 @@ var On = (() => { n.unsubscribe(); }); } - _injector = v($); + _injector = v(U); _rendererFactory = null; get injector() { return this._injector; @@ -3865,47 +4158,47 @@ var On = (() => { bootstrap(n, r) { return this.bootstrapImpl(n, r); } - bootstrapImpl(n, r, o = ye.NULL) { - return this._injector.get(L).run(() => { - M(I.BootstrapComponentStart); - let s = n instanceof An; - if (!this._injector.get(Uo).done) { + bootstrapImpl(n, r, o = te.NULL) { + return this._injector.get(j).run(() => { + M(C.BootstrapComponentStart); + let s = n instanceof Qn; + if (!this._injector.get(wi).done) { let T = ""; throw new g(405, T); } let c; - s ? c = n : c = this._injector.get(xn).resolveComponentFactory(n), this.componentTypes.push(c.componentType); - let u = Qa(c) ? void 0 : this._injector.get(Mn), l = r || c.selector, d = c.create(o, [], l, u), p = d.location.nativeElement, f = d.injector.get(Ho, null); + s ? c = n : c = this._injector.get(Kn).resolveComponentFactory(n), this.componentTypes.push(c.componentType); + let u = Hc(c) ? void 0 : this._injector.get(Hn), l = r || c.selector, d = c.create(o, [], l, u), p = d.location.nativeElement, f = d.injector.get(Ii, null); return f?.registerApplication(p), d.onDestroy(() => { - this.detachView(d.hostView), Dt(this.components, d), f?.unregisterApplication(p); - }), this._loadComponent(d), M(I.BootstrapComponentEnd, d), d; + this.detachView(d.hostView), bt(this.components, d), f?.unregisterApplication(p); + }), this._loadComponent(d), M(C.BootstrapComponentEnd, d), d; }); } tick() { this.zonelessEnabled || (this.dirtyFlags |= 1), this._tick(); } _tick() { - M(I.ChangeDetectionStart), this.tracingSnapshot !== null ? this.tracingSnapshot.run(Fo.CHANGE_DETECTION, this.tickImpl) : this.tickImpl(); + M(C.ChangeDetectionStart), this.tracingSnapshot !== null ? this.tracingSnapshot.run(gi.CHANGE_DETECTION, this.tickImpl) : this.tickImpl(); } tickImpl = () => { if (this._runningTick) - throw M(I.ChangeDetectionEnd), new g(101, false); - let n = y(null); + throw M(C.ChangeDetectionEnd), new g(101, false); + let n = D(null); try { this._runningTick = true, this.synchronize(); } finally { - this._runningTick = false, this.tracingSnapshot?.dispose(), this.tracingSnapshot = null, y(n), this.afterTick.next(), M(I.ChangeDetectionEnd); + this._runningTick = false, this.tracingSnapshot?.dispose(), this.tracingSnapshot = null, D(n), this.afterTick.next(), M(C.ChangeDetectionEnd); } }; synchronize() { - this._rendererFactory === null && !this._injector.destroyed && (this._rendererFactory = this._injector.get(we, null, { optional: true })); + this._rendererFactory === null && !this._injector.destroyed && (this._rendererFactory = this._injector.get(Re, null, { optional: true })); let n = 0; - for (; this.dirtyFlags !== 0 && n++ < Bd; ) { - M(I.ChangeDetectionSyncStart); + for (; this.dirtyFlags !== 0 && n++ < Zf; ) { + M(C.ChangeDetectionSyncStart); try { this.synchronizeOnce(); } finally { - M(I.ChangeDetectionSyncEnd); + M(C.ChangeDetectionSyncEnd); } } } @@ -3916,10 +4209,10 @@ var On = (() => { let r = !!(this.dirtyFlags & 1); this.dirtyFlags &= -8, this.dirtyFlags |= 8; for (let { _lView: o } of this.allViews) { - if (!r && !ft(o)) + if (!r && !It(o)) continue; let i = r && !this.zonelessEnabled ? 0 : 1; - La(o, i), n = true; + _c(o, i), n = true; } if (this.dirtyFlags &= -5, this.syncDirtyFlagsWithViews(), this.dirtyFlags & 23) return; @@ -3927,7 +4220,7 @@ var On = (() => { n || (this._rendererFactory?.begin?.(), this._rendererFactory?.end?.()), this.dirtyFlags & 8 && (this.dirtyFlags &= -9, this.afterRenderManager.execute()), this.syncDirtyFlagsWithViews(); } syncDirtyFlagsWithViews() { - if (this.allViews.some(({ _lView: n }) => ft(n))) { + if (this.allViews.some(({ _lView: n }) => It(n))) { this.dirtyFlags |= 2; return; } else @@ -3939,7 +4232,7 @@ var On = (() => { } detachView(n) { let r = n; - Dt(this._views, r), r.detachFromAppRef(); + bt(this._views, r), r.detachFromAppRef(); } _loadComponent(n) { this.attachView(n.hostView); @@ -3948,7 +4241,7 @@ var On = (() => { } catch (o) { this.internalErrorHandler(o); } - this.components.push(n), this._injector.get(Za, []).forEach((o) => o(n)); + this.components.push(n), this._injector.get(Bc, []).forEach((o) => o(n)); } ngOnDestroy() { if (!this._destroyed) @@ -3959,7 +4252,7 @@ var On = (() => { } } onDestroy(n) { - return this._destroyListeners.push(n), () => Dt(this._destroyListeners, n); + return this._destroyListeners.push(n), () => bt(this._destroyListeners, n); } destroy() { if (this._destroyed) @@ -3977,53 +4270,64 @@ var On = (() => { } return e6; })(); -function Dt(e6, t) { +function bt(e6, t) { let n = e6.indexOf(t); n > -1 && e6.splice(n, 1); } -function Ye(e6, t, n, r) { - let o = Y(), i = o[m], s = e6 + U, a = i.firstCreatePass ? Id(s, i, 2, t, n, r) : i.data[s]; - return Vl(a, o, e6, t, Vd), r != null && Rl(o, a), Ye; +function ke(e6, t, n, r) { + let o = B(), i = o[y], s = e6 + z, a = i.firstCreatePass ? xf(s, i, 2, t, n, r) : i.data[s]; + return Yd(a, o, e6, t, Yf), r != null && Vd(o, a), ke; } -function Qe() { - let e6 = He(), t = Hl(e6); - return ss(t) && as(), os(), Qe; +function De() { + let e6 = Qe(), t = Qd(e6); + return Bs(t) && Vs(), Ps(), De; } -var Vd = (e6, t, n, r, o) => (no(true), ga(t[P], r, Ds())); -var Mt = "en-US"; -var Hd = Mt; -function Ka(e6) { - typeof e6 == "string" && (Hd = e6.toLowerCase().replace(/_/g, "-")); +function Jn(e6, t, n, r) { + return ke(e6, t, n, r), De(), Jn; } -function _t(e6, t = "") { - let n = Y(), r = qr(), o = e6 + U, i = r.firstCreatePass ? Bo(r, o, 1, t, null) : r.data[o], s = $d(r, n, i, t); - n[o] = s, to() && ba(r, n, s, i), ht(i, false); +var Yf = (e6, t, n, r, o) => (wo(true), ic(t[L], r, Ks())); +function Xn(e6, t, n) { + let r = B(), o = Do(); + if (kc(r, o, t)) { + let i = Tn(), s = Qs(); + zd(s, r, e6, t, r[L], n); + } + return Xn; +} +var Pt = "en-US"; +var Qf = Pt; +function $c(e6) { + typeof e6 == "string" && (Qf = e6.toLowerCase().replace(/_/g, "-")); +} +function jt(e6, t = "") { + let n = B(), r = Tn(), o = e6 + z, i = r.firstCreatePass ? vi(r, o, 1, t, null) : r.data[o], s = Kf(r, n, i, t); + n[o] = s, Co() && Dc(r, n, s, i), wt(i, false); } -var $d = (e6, t, n, r) => (no(true), Ju(t[P], r)); -function Ud(e6, t, n, r = "") { - return Cd(e6, ds(), n) ? t + ji(n) + r : qe; +var Kf = (e6, t, n, r) => (wo(true), id(t[L], r)); +function Jf(e6, t, n, r = "") { + return kc(e6, Do(), n) ? t + Kr(n) + r : nt; } -function kn(e6, t, n) { - let r = Y(), o = Ud(r, e6, t, n); - return o !== qe && zd(r, hn(), o), kn; +function er(e6, t, n) { + let r = B(), o = Jf(r, e6, t, n); + return o !== nt && Xf(r, bn(), o), er; } -function zd(e6, t, n) { - let r = Xi(t, e6); - Xu(e6[P], r, n); +function Xf(e6, t, n) { + let r = Os(t, e6); + sd(e6[L], r, n); } -var Ja = (() => { +var Uc = (() => { class e6 { - applicationErrorHandler = v(Ue); - appRef = v(On); - taskService = v($e); - ngZone = v(L); - zonelessEnabled = v(mt); - tracing = v(Ze, { optional: true }); + applicationErrorHandler = v(Je); + appRef = v(Lt); + taskService = v(Ke); + ngZone = v(j); + zonelessEnabled = v(_t); + tracing = v(rt, { optional: true }); zoneIsDefined = typeof Zone < "u" && !!Zone.root.run; schedulerTickApplyArgs = [{ data: { __scheduler_tick__: true } }]; subscriptions = new b(); - angularZoneId = this.zoneIsDefined ? this.ngZone._inner?.get(tt) : null; - scheduleInRootZone = !this.zonelessEnabled && this.zoneIsDefined && (v(ao, { optional: true }) ?? false); + angularZoneId = this.zoneIsDefined ? this.ngZone._inner?.get(lt) : null; + scheduleInRootZone = !this.zonelessEnabled && this.zoneIsDefined && (v(bo, { optional: true }) ?? false); cancelScheduledCallback = null; useMicrotaskScheduler = false; runningTick = false; @@ -4083,11 +4387,11 @@ var Ja = (() => { } if (this.appRef.tracingSnapshot = this.tracing?.snapshot(this.appRef.tracingSnapshot) ?? null, !this.shouldScheduleTick()) return; - let r = this.useMicrotaskScheduler ? ws : ro; + let r = this.useMicrotaskScheduler ? na : To; this.pendingRenderTaskId = this.taskService.add(), this.scheduleInRootZone ? this.cancelScheduledCallback = Zone.root.run(() => r(() => this.tick())) : this.cancelScheduledCallback = this.ngZone.runOutsideAngular(() => r(() => this.tick())); } shouldScheduleTick() { - return !(this.appRef.destroyed || this.pendingRenderTaskId !== null || this.runningTick || this.appRef._runningTick || !this.zonelessEnabled && this.zoneIsDefined && Zone.current.get(tt + this.angularZoneId)); + return !(this.appRef.destroyed || this.pendingRenderTaskId !== null || this.runningTick || this.appRef._runningTick || !this.zonelessEnabled && this.zoneIsDefined && Zone.current.get(lt + this.angularZoneId)); } tick() { if (this.runningTick || this.appRef.destroyed) @@ -4124,114 +4428,114 @@ var Ja = (() => { } return e6; })(); -function Xa() { - return [{ provide: Oe, useExisting: Ja }, { provide: L, useClass: nt }, { provide: mt, useValue: true }]; +function zc() { + return [{ provide: Ue, useExisting: Uc }, { provide: j, useClass: dt }, { provide: _t, useValue: true }]; } -function Gd() { - return typeof $localize < "u" && $localize.locale || Mt; +function ep() { + return typeof $localize < "u" && $localize.locale || Pt; } -var zo = new D("", { factory: () => v(zo, { optional: true, skipSelf: true }) || Gd() }); -var Go = new D(""); -var of = new D(""); -function St(e6) { +var Ti = new m("", { factory: () => v(Ti, { optional: true, skipSelf: true }) || ep() }); +var Mi = new m(""); +var yp = new m(""); +function Bt(e6) { return !e6.moduleRef; } -function sf(e6) { - let t = St(e6) ? e6.r3Injector : e6.moduleRef.injector, n = t.get(L); +function Dp(e6) { + let t = Bt(e6) ? e6.r3Injector : e6.moduleRef.injector, n = t.get(j); return n.run(() => { - St(e6) ? e6.r3Injector.resolveInjectorInitializers() : e6.moduleRef.resolveInjectorInitializers(); - let r = t.get(Ue), o; + Bt(e6) ? e6.r3Injector.resolveInjectorInitializers() : e6.moduleRef.resolveInjectorInitializers(); + let r = t.get(Je), o; if (n.runOutsideAngular(() => { o = n.onError.subscribe({ next: r }); - }), St(e6)) { - let i = () => t.destroy(), s = e6.platformInjector.get(Go); + }), Bt(e6)) { + let i = () => t.destroy(), s = e6.platformInjector.get(Mi); s.add(i), t.onDestroy(() => { o.unsubscribe(), s.delete(i); }); } else { - let i = () => e6.moduleRef.destroy(), s = e6.platformInjector.get(Go); + let i = () => e6.moduleRef.destroy(), s = e6.platformInjector.get(Mi); s.add(i), e6.moduleRef.onDestroy(() => { - Dt(e6.allPlatformModules, e6.moduleRef), o.unsubscribe(), s.delete(i); + bt(e6.allPlatformModules, e6.moduleRef), o.unsubscribe(), s.delete(i); }); } - return cf(r, n, () => { - let i = t.get($e), s = i.add(), a = t.get(Uo); + return Ep(r, n, () => { + let i = t.get(Ke), s = i.add(), a = t.get(wi); return a.runInitializers(), a.donePromise.then(() => { - let c = t.get(zo, Mt); - if (Ka(c || Mt), !t.get(of, true)) - return St(e6) ? t.get(On) : (e6.allPlatformModules.push(e6.moduleRef), e6.moduleRef); - if (St(e6)) { - let l = t.get(On); + let c = t.get(Ti, Pt); + if ($c(c || Pt), !t.get(yp, true)) + return Bt(e6) ? t.get(Lt) : (e6.allPlatformModules.push(e6.moduleRef), e6.moduleRef); + if (Bt(e6)) { + let l = t.get(Lt); return e6.rootComponent !== void 0 && l.bootstrap(e6.rootComponent), l; } else - return af?.(e6.moduleRef, e6.allPlatformModules), e6.moduleRef; + return vp?.(e6.moduleRef, e6.allPlatformModules), e6.moduleRef; }).finally(() => { i.remove(s); }); }); }); } -var af; -function cf(e6, t, n) { +var vp; +function Ep(e6, t, n) { try { let r = n(); - return $o(r) ? r.catch((o) => { + return Ci(r) ? r.catch((o) => { throw t.runOutsideAngular(() => e6(o)), o; }) : r; } catch (r) { throw t.runOutsideAngular(() => e6(r)), r; } } -var Fn = null; -function uf(e6 = [], t) { - return ye.create({ name: t, providers: [{ provide: it, useValue: "platform" }, { provide: Go, useValue: /* @__PURE__ */ new Set([() => Fn = null]) }, ...e6] }); +var tr = null; +function Ip(e6 = [], t) { + return te.create({ name: t, providers: [{ provide: ht, useValue: "platform" }, { provide: Mi, useValue: /* @__PURE__ */ new Set([() => tr = null]) }, ...e6] }); } -function lf(e6 = []) { - if (Fn) - return Fn; - let t = uf(e6); - return Fn = t, Ya(), df(t), t; +function Cp(e6 = []) { + if (tr) + return tr; + let t = Ip(e6); + return tr = t, Vc(), wp(t), t; } -function df(e6) { - let t = e6.get(Sn, null); - nn(e6, () => { +function wp(e6) { + let t = e6.get(Un, null); + mn(e6, () => { t?.forEach((n) => n()); }); } -var ff = 1e4; -var Iw = ff - 1e3; -function ec(e6) { +var Tp = 1e4; +var gT = Tp - 1e3; +function Gc(e6) { let { rootComponent: t, appProviders: n, platformProviders: r, platformRef: o } = e6; - M(I.BootstrapApplicationStart); + M(C.BootstrapApplicationStart); try { - let i = o?.injector ?? lf(r), s = [Xa(), Ms, ...n || []], a = new Ct({ providers: s, parent: i, debugName: "", runEnvironmentInitializers: false }); - return sf({ r3Injector: a.injector, platformInjector: i, rootComponent: t }); + let i = o?.injector ?? Cp(r), s = [zc(), oa, ...n || []], a = new Rt({ providers: s, parent: i, debugName: "", runEnvironmentInitializers: false }); + return Dp({ r3Injector: a.injector, platformInjector: i, rootComponent: t }); } catch (i) { return Promise.reject(i); } finally { - M(I.BootstrapApplicationEnd); + M(C.BootstrapApplicationEnd); } } -var tc = null; -function Nt() { - return tc; +var Wc = null; +function it() { + return Wc; } -function Wo(e6) { - tc ??= e6; +function _i(e6) { + Wc ??= e6; } -var bt = class { +var Ht = class { }; -var Pn = (() => { +var nr = (() => { class e6 { static \u0275fac = function(r) { return new (r || e6)(); }; - static \u0275mod = Rn({ type: e6 }); - static \u0275inj = rt({}); + static \u0275mod = Ft({ type: e6 }); + static \u0275inj = ze({}); } return e6; })(); -function qo(e6, t) { +function Si(e6, t) { t = encodeURIComponent(t); for (let n of e6.split(";")) { let r = n.indexOf("="), [o, i] = r == -1 ? [n, ""] : [n.slice(0, r), n.slice(r + 1)]; @@ -4240,18 +4544,18 @@ function qo(e6, t) { } return null; } -var At = class { +var $t = class { }; -var nc = "browser"; -var xt = class { +var qc = "browser"; +var Ut = class { _doc; constructor(t) { this._doc = t; } manager; }; -var jn = (() => { - class e6 extends xt { +var rr = (() => { + class e6 extends Ut { constructor(n) { super(n); } @@ -4265,14 +4569,14 @@ var jn = (() => { return n.removeEventListener(r, o, i); } static \u0275fac = function(r) { - return new (r || e6)(E(j)); + return new (r || e6)(E(A)); }; static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -var Hn = new D(""); -var Ko = (() => { +var sr = new m(""); +var xi = (() => { class e6 { _zone; _plugins; @@ -4281,9 +4585,9 @@ var Ko = (() => { this._zone = r, n.forEach((s) => { s.manager = this; }); - let o = n.filter((s) => !(s instanceof jn)); + let o = n.filter((s) => !(s instanceof rr)); this._plugins = o.slice().reverse(); - let i = n.find((s) => s instanceof jn); + let i = n.find((s) => s instanceof rr); i && this._plugins.push(i); } addEventListener(n, r, o, i) { @@ -4301,32 +4605,32 @@ var Ko = (() => { return this._eventNameToPlugin.set(n, r), r; } static \u0275fac = function(r) { - return new (r || e6)(E(Hn), E(L)); + return new (r || e6)(E(sr), E(j)); }; static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -var Zo = "ng-app-id"; -function rc(e6) { +var bi = "ng-app-id"; +function Zc(e6) { for (let t of e6) t.remove(); } -function oc(e6, t) { +function Yc(e6, t) { let n = t.createElement("style"); return n.textContent = e6, n; } -function hf(e6, t, n, r) { - let o = e6.head?.querySelectorAll(`style[${Zo}="${t}"],link[${Zo}="${t}"]`); +function _p(e6, t, n, r) { + let o = e6.head?.querySelectorAll(`style[${bi}="${t}"],link[${bi}="${t}"]`); if (o) for (let i of o) - i.removeAttribute(Zo), i instanceof HTMLLinkElement ? r.set(i.href.slice(i.href.lastIndexOf("/") + 1), { usage: 0, elements: [i] }) : i.textContent && n.set(i.textContent, { usage: 0, elements: [i] }); + i.removeAttribute(bi), i instanceof HTMLLinkElement ? r.set(i.href.slice(i.href.lastIndexOf("/") + 1), { usage: 0, elements: [i] }) : i.textContent && n.set(i.textContent, { usage: 0, elements: [i] }); } -function Qo(e6, t) { +function Ai(e6, t) { let n = t.createElement("link"); return n.setAttribute("rel", "stylesheet"), n.setAttribute("href", e6), n; } -var Jo = (() => { +var Ri = (() => { class e6 { doc; appId; @@ -4335,12 +4639,12 @@ var Jo = (() => { external = /* @__PURE__ */ new Map(); hosts = /* @__PURE__ */ new Set(); constructor(n, r, o, i = {}) { - this.doc = n, this.appId = r, this.nonce = o, hf(n, r, this.inline, this.external), this.hosts.add(n.head); + this.doc = n, this.appId = r, this.nonce = o, _p(n, r, this.inline, this.external), this.hosts.add(n.head); } addStyles(n, r) { for (let o of n) - this.addUsage(o, this.inline, oc); - r?.forEach((o) => this.addUsage(o, this.external, Qo)); + this.addUsage(o, this.inline, Yc); + r?.forEach((o) => this.addUsage(o, this.external, Ai)); } removeStyles(n, r) { for (let o of n) @@ -4353,19 +4657,19 @@ var Jo = (() => { } removeUsage(n, r) { let o = r.get(n); - o && (o.usage--, o.usage <= 0 && (rc(o.elements), r.delete(n))); + o && (o.usage--, o.usage <= 0 && (Zc(o.elements), r.delete(n))); } ngOnDestroy() { for (let [, { elements: n }] of [...this.inline, ...this.external]) - rc(n); + Zc(n); this.hosts.clear(); } addHost(n) { this.hosts.add(n); for (let [r, { elements: o }] of this.inline) - o.push(this.addElement(n, oc(r, this.doc))); + o.push(this.addElement(n, Yc(r, this.doc))); for (let [r, { elements: o }] of this.external) - o.push(this.addElement(n, Qo(r, this.doc))); + o.push(this.addElement(n, Ai(r, this.doc))); } removeHost(n) { this.hosts.delete(n); @@ -4374,29 +4678,29 @@ var Jo = (() => { return this.nonce && r.setAttribute("nonce", this.nonce), n.appendChild(r); } static \u0275fac = function(r) { - return new (r || e6)(E(j), E(_n), E(bn, 8), E(wt)); + return new (r || e6)(E(A), E($n), E(zn, 8), E(Ot)); }; static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -var Yo = { svg: "http://www.w3.org/2000/svg", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/", math: "http://www.w3.org/1998/Math/MathML" }; -var Xo = /%COMP%/g; -var sc = "%COMP%"; -var gf = `_nghost-${sc}`; -var mf = `_ngcontent-${sc}`; -var yf = true; -var Df = new D("", { factory: () => yf }); -function vf(e6) { - return mf.replace(Xo, e6); -} -function Ef(e6) { - return gf.replace(Xo, e6); -} -function ac(e6, t) { - return t.map((n) => n.replace(Xo, e6)); -} -var ei = (() => { +var Ni = { svg: "http://www.w3.org/2000/svg", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/", math: "http://www.w3.org/1998/Math/MathML" }; +var Oi = /%COMP%/g; +var Kc = "%COMP%"; +var Sp = `_nghost-${Kc}`; +var bp = `_ngcontent-${Kc}`; +var Np = true; +var Ap = new m("", { factory: () => Np }); +function xp(e6) { + return bp.replace(Oi, e6); +} +function Rp(e6) { + return Sp.replace(Oi, e6); +} +function Jc(e6, t) { + return t.map((n) => n.replace(Oi, e6)); +} +var ki = (() => { class e6 { eventManager; sharedStylesHost; @@ -4409,28 +4713,28 @@ var ei = (() => { rendererByCompId = /* @__PURE__ */ new Map(); defaultRenderer; constructor(n, r, o, i, s, a, c = null, u = null) { - this.eventManager = n, this.sharedStylesHost = r, this.appId = o, this.removeStylesOnCompDestroy = i, this.doc = s, this.ngZone = a, this.nonce = c, this.tracingService = u, this.defaultRenderer = new Rt(n, s, a, this.tracingService); + this.eventManager = n, this.sharedStylesHost = r, this.appId = o, this.removeStylesOnCompDestroy = i, this.doc = s, this.ngZone = a, this.nonce = c, this.tracingService = u, this.defaultRenderer = new zt(n, s, a, this.tracingService); } createRenderer(n, r) { if (!n || !r) return this.defaultRenderer; let o = this.getOrCreateRenderer(n, r); - return o instanceof Vn ? o.applyToHost(n) : o instanceof Ot && o.applyStyles(), o; + return o instanceof ir ? o.applyToHost(n) : o instanceof Gt && o.applyStyles(), o; } getOrCreateRenderer(n, r) { let o = this.rendererByCompId, i = o.get(r.id); if (!i) { let s = this.doc, a = this.ngZone, c = this.eventManager, u = this.sharedStylesHost, l = this.removeStylesOnCompDestroy, d = this.tracingService; switch (r.encapsulation) { - case z.Emulated: - i = new Vn(c, u, r, this.appId, l, s, a, d); + case G.Emulated: + i = new ir(c, u, r, this.appId, l, s, a, d); break; - case z.ShadowDom: - return new Bn(c, n, r, s, a, this.nonce, d, u); - case z.ExperimentalIsolatedShadowDom: - return new Bn(c, n, r, s, a, this.nonce, d); + case G.ShadowDom: + return new or(c, n, r, s, a, this.nonce, d, u); + case G.ExperimentalIsolatedShadowDom: + return new or(c, n, r, s, a, this.nonce, d); default: - i = new Ot(c, u, r, l, s, a, d); + i = new Gt(c, u, r, l, s, a, d); break; } o.set(r.id, i); @@ -4444,13 +4748,13 @@ var ei = (() => { this.rendererByCompId.delete(n); } static \u0275fac = function(r) { - return new (r || e6)(E(Ko), E(Jo), E(_n), E(Df), E(j), E(L), E(bn), E(Ze, 8)); + return new (r || e6)(E(xi), E(Ri), E($n), E(Ap), E(A), E(j), E(zn), E(rt, 8)); }; static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -var Rt = class { +var zt = class { eventManager; doc; ngZone; @@ -4464,7 +4768,7 @@ var Rt = class { } destroyNode = null; createElement(t, n) { - return n ? this.doc.createElementNS(Yo[n] || n, t) : this.doc.createElement(t); + return n ? this.doc.createElementNS(Ni[n] || n, t) : this.doc.createElement(t); } createComment(t) { return this.doc.createComment(t); @@ -4473,10 +4777,10 @@ var Rt = class { return this.doc.createTextNode(t); } appendChild(t, n) { - (ic(t) ? t.content : t).appendChild(n); + (Qc(t) ? t.content : t).appendChild(n); } insertBefore(t, n, r) { - t && (ic(t) ? t.content : t).insertBefore(n, r); + t && (Qc(t) ? t.content : t).insertBefore(n, r); } removeChild(t, n) { n.remove(); @@ -4496,14 +4800,14 @@ var Rt = class { setAttribute(t, n, r, o) { if (o) { n = o + ":" + n; - let i = Yo[o]; + let i = Ni[o]; i ? t.setAttributeNS(i, n, r) : t.setAttribute(n, r); } else t.setAttribute(n, r); } removeAttribute(t, n, r) { if (r) { - let o = Yo[r]; + let o = Ni[r]; o ? t.removeAttributeNS(o, n) : t.removeAttribute(`${r}:${n}`); } else t.removeAttribute(n); @@ -4515,10 +4819,10 @@ var Rt = class { t.classList.remove(n); } setStyle(t, n, r, o) { - o & (Te.DashCase | Te.Important) ? t.style.setProperty(n, r, o & Te.Important ? "important" : "") : t.style[n] = r; + o & (Oe.DashCase | Oe.Important) ? t.style.setProperty(n, r, o & Oe.Important ? "important" : "") : t.style[n] = r; } removeStyle(t, n, r) { - r & Te.DashCase ? t.style.removeProperty(n) : t.style[n] = ""; + r & Oe.DashCase ? t.style.removeProperty(n) : t.style[n] = ""; } setProperty(t, n, r) { t != null && (t[n] = r); @@ -4527,7 +4831,7 @@ var Rt = class { t.nodeValue = n; } listen(t, n, r, o) { - if (typeof t == "string" && (t = Nt().getGlobalEventTarget(this.doc, t), !t)) + if (typeof t == "string" && (t = it().getGlobalEventTarget(this.doc, t), !t)) throw new g(5102, false); let i = this.decoratePreventDefault(r); return this.tracingService?.wrapEventListener && (i = this.tracingService.wrapEventListener(t, n, i)), this.eventManager.addEventListener(t, n, i, o); @@ -4540,17 +4844,17 @@ var Rt = class { }; } }; -function ic(e6) { +function Qc(e6) { return e6.tagName === "TEMPLATE" && e6.content !== void 0; } -var Bn = class extends Rt { +var or = class extends zt { hostEl; sharedStylesHost; shadowRoot; constructor(t, n, r, o, i, s, a, c) { super(t, o, i, a), this.hostEl = n, this.sharedStylesHost = c, this.shadowRoot = n.attachShadow({ mode: "open" }), this.sharedStylesHost && this.sharedStylesHost.addHost(this.shadowRoot); let u = r.styles; - u = ac(r.id, u); + u = Jc(r.id, u); for (let d of u) { let p = document.createElement("style"); s && p.setAttribute("nonce", s), p.textContent = d, this.shadowRoot.appendChild(p); @@ -4558,7 +4862,7 @@ var Bn = class extends Rt { let l = r.getExternalStyles?.(); if (l) for (let d of l) { - let p = Qo(d, o); + let p = Ai(d, o); s && p.setAttribute("nonce", s), this.shadowRoot.appendChild(p); } } @@ -4581,7 +4885,7 @@ var Bn = class extends Rt { this.sharedStylesHost && this.sharedStylesHost.removeHost(this.shadowRoot); } }; -var Ot = class extends Rt { +var Gt = class extends zt { sharedStylesHost; removeStylesOnCompDestroy; styles; @@ -4589,21 +4893,21 @@ var Ot = class extends Rt { constructor(t, n, r, o, i, s, a, c) { super(t, i, s, a), this.sharedStylesHost = n, this.removeStylesOnCompDestroy = o; let u = r.styles; - this.styles = c ? ac(c, u) : u, this.styleUrls = r.getExternalStyles?.(c); + this.styles = c ? Jc(c, u) : u, this.styleUrls = r.getExternalStyles?.(c); } applyStyles() { this.sharedStylesHost.addStyles(this.styles, this.styleUrls); } destroy() { - this.removeStylesOnCompDestroy && We.size === 0 && this.sharedStylesHost.removeStyles(this.styles, this.styleUrls); + this.removeStylesOnCompDestroy && tt.size === 0 && this.sharedStylesHost.removeStyles(this.styles, this.styleUrls); } }; -var Vn = class extends Ot { +var ir = class extends Gt { contentAttr; hostAttr; constructor(t, n, r, o, i, s, a, c) { let u = o + "-" + r.id; - super(t, n, r, i, s, a, c, u), this.contentAttr = vf(u), this.hostAttr = Ef(u); + super(t, n, r, i, s, a, c, u), this.contentAttr = xp(u), this.hostAttr = Rp(u); } applyToHost(t) { this.applyStyles(), this.setAttribute(t, this.hostAttr, ""); @@ -4613,10 +4917,10 @@ var Vn = class extends Ot { return super.setAttribute(r, this.contentAttr, ""), r; } }; -var $n = class e4 extends bt { +var ar = class e4 extends Ht { supportsDOMEvents = true; static makeCurrent() { - Wo(new e4()); + _i(new e4()); } onAndCancel(t, n, r, o) { return t.addEventListener(n, r, o), () => { @@ -4648,27 +4952,27 @@ var $n = class e4 extends bt { return n === "window" ? window : n === "document" ? t : n === "body" ? t.body : null; } getBaseHref(t) { - let n = If(); - return n == null ? null : Cf(n); + let n = Op(); + return n == null ? null : kp(n); } resetBaseElement() { - kt = null; + Wt = null; } getUserAgent() { return window.navigator.userAgent; } getCookie(t) { - return qo(document.cookie, t); + return Si(document.cookie, t); } }; -var kt = null; -function If() { - return kt = kt || document.head.querySelector("base"), kt ? kt.getAttribute("href") : null; +var Wt = null; +function Op() { + return Wt = Wt || document.head.querySelector("base"), Wt ? Wt.getAttribute("href") : null; } -function Cf(e6) { +function kp(e6) { return new URL(e6, document.baseURI).pathname; } -var wf = (() => { +var Fp = (() => { class e6 { build() { return new XMLHttpRequest(); @@ -4680,11 +4984,11 @@ var wf = (() => { } return e6; })(); -var cc = ["alt", "control", "meta", "shift"]; -var Tf = { "\b": "Backspace", " ": "Tab", "\x7F": "Delete", "\x1B": "Escape", Del: "Delete", Esc: "Escape", Left: "ArrowLeft", Right: "ArrowRight", Up: "ArrowUp", Down: "ArrowDown", Menu: "ContextMenu", Scroll: "ScrollLock", Win: "OS" }; -var Mf = { alt: (e6) => e6.altKey, control: (e6) => e6.ctrlKey, meta: (e6) => e6.metaKey, shift: (e6) => e6.shiftKey }; -var uc = (() => { - class e6 extends xt { +var Xc = ["alt", "control", "meta", "shift"]; +var Lp = { "\b": "Backspace", " ": "Tab", "\x7F": "Delete", "\x1B": "Escape", Del: "Delete", Esc: "Escape", Left: "ArrowLeft", Right: "ArrowRight", Up: "ArrowUp", Down: "ArrowDown", Menu: "ContextMenu", Scroll: "ScrollLock", Win: "OS" }; +var Pp = { alt: (e6) => e6.altKey, control: (e6) => e6.ctrlKey, meta: (e6) => e6.metaKey, shift: (e6) => e6.shiftKey }; +var eu = (() => { + class e6 extends Ut { constructor(n) { super(n); } @@ -4693,14 +4997,14 @@ var uc = (() => { } addEventListener(n, r, o, i) { let s = e6.parseEventName(r), a = e6.eventCallback(s.fullKey, o, this.manager.getZone()); - return this.manager.getZone().runOutsideAngular(() => Nt().onAndCancel(n, s.domEventName, a, i)); + return this.manager.getZone().runOutsideAngular(() => it().onAndCancel(n, s.domEventName, a, i)); } static parseEventName(n) { let r = n.toLowerCase().split("."), o = r.shift(); if (r.length === 0 || !(o === "keydown" || o === "keyup")) return null; let i = e6._normalizeKey(r.pop()), s = "", a = r.indexOf("code"); - if (a > -1 && (r.splice(a, 1), s = "code."), cc.forEach((u) => { + if (a > -1 && (r.splice(a, 1), s = "code."), Xc.forEach((u) => { let l = r.indexOf(u); l > -1 && (r.splice(l, 1), s += u + "."); }), s += i, r.length != 0 || i.length === 0) @@ -4709,10 +5013,10 @@ var uc = (() => { return c.domEventName = o, c.fullKey = s, c; } static matchEventFullKeyCode(n, r) { - let o = Tf[n.key] || n.key, i = ""; - return r.indexOf("code.") > -1 && (o = n.code, i = "code."), o == null || !o ? false : (o = o.toLowerCase(), o === " " ? o = "space" : o === "." && (o = "dot"), cc.forEach((s) => { + let o = Lp[n.key] || n.key, i = ""; + return r.indexOf("code.") > -1 && (o = n.code, i = "code."), o == null || !o ? false : (o = o.toLowerCase(), o === " " ? o = "space" : o === "." && (o = "dot"), Xc.forEach((s) => { if (s !== o) { - let a = Mf[s]; + let a = Pp[s]; a(n) && (i += s + "."); } }), i += o, i === r); @@ -4726,52 +5030,125 @@ var uc = (() => { return n === "esc" ? "escape" : n; } static \u0275fac = function(r) { - return new (r || e6)(E(j)); + return new (r || e6)(E(A)); }; static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -async function ti(e6, t, n) { - let r = A({ rootComponent: e6 }, _f(t, n)); - return ec(r); +async function Fi(e6, t, n) { + let r = x({ rootComponent: e6 }, jp(t, n)); + return Gc(r); } -function _f(e6, t) { - return { platformRef: t?.platformRef, appProviders: [...xf, ...e6?.providers ?? []], platformProviders: Af }; +function jp(e6, t) { + return { platformRef: t?.platformRef, appProviders: [...Up, ...e6?.providers ?? []], platformProviders: $p }; } -function Sf() { - $n.makeCurrent(); +function Bp() { + ar.makeCurrent(); } -function bf() { - return new X(); +function Vp() { + return new ne(); } -function Nf() { - return Ro(document), document; +function Hp() { + return ai(document), document; } -var Af = [{ provide: wt, useValue: nc }, { provide: Sn, useValue: Sf, multi: true }, { provide: j, useFactory: Nf }]; -var xf = [{ provide: it, useValue: "root" }, { provide: X, useFactory: bf }, { provide: Hn, useClass: jn, multi: true }, { provide: Hn, useClass: uc, multi: true }, ei, Jo, Ko, { provide: we, useExisting: ei }, { provide: At, useClass: wf }, []]; -var Un = class e5 { - constructor(t) { +var $p = [{ provide: Ot, useValue: qc }, { provide: Un, useValue: Bp, multi: true }, { provide: A, useFactory: Hp }]; +var Up = [{ provide: ht, useValue: "root" }, { provide: ne, useFactory: Vp }, { provide: sr, useClass: rr, multi: true }, { provide: sr, useClass: eu, multi: true }, ki, Ri, xi, { provide: Re, useExisting: ki }, { provide: $t, useClass: Fp }, []]; +var Li = (() => { + class e6 { + static \u0275fac = function(r) { + return new (r || e6)(); + }; + static \u0275prov = _({ token: e6, factory: function(r) { + let o = null; + return r ? o = new (r || e6)() : o = E(zp), o; + }, providedIn: "root" }); + } + return e6; +})(); +var zp = (() => { + class e6 extends Li { + _doc; + constructor(n) { + super(), this._doc = n; + } + sanitize(n, r) { + if (r == null) + return null; + switch (n) { + case J.NONE: + return r; + case J.HTML: + return ye(r, "HTML") ? me(r) : qn(this._doc, String(r)).toString(); + case J.STYLE: + return ye(r, "Style") ? me(r) : r; + case J.SCRIPT: + if (ye(r, "Script")) + return me(r); + throw new g(5200, false); + case J.URL: + return ye(r, "URL") ? me(r) : Wn(String(r)); + case J.RESOURCE_URL: + if (ye(r, "ResourceURL")) + return me(r); + throw new g(5201, false); + default: + throw new g(5202, false); + } + } + bypassSecurityTrustHtml(n) { + return ui(n); + } + bypassSecurityTrustStyle(n) { + return li(n); + } + bypassSecurityTrustScript(n) { + return di(n); + } + bypassSecurityTrustUrl(n) { + return fi(n); + } + bypassSecurityTrustResourceUrl(n) { + return pi(n); + } + static \u0275fac = function(r) { + return new (r || e6)(E(A)); + }; + static \u0275prov = _({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + } + return e6; +})(); +var cr = class e5 { + constructor(t, n) { this.model = t; - t && (this.message.set(t.get("message") || "Model loaded, no message."), t.on("change:message", () => { - this.message.set(t.get("message")); - })); + this.sanitizer = n; + if (t) { + this.message.set(t.get("message") || "Model loaded, no message."); + let r = t.get("table_html") || "

No table HTML yet.

"; + this.sanitizedHtml.set(this.sanitizer.bypassSecurityTrustHtml(r)), t.on("change:message", () => { + this.message.set(t.get("message")); + }), t.on("change:table_html", () => { + let o = t.get("table_html"); + this.sanitizedHtml.set(this.sanitizer.bypassSecurityTrustHtml(o)); + }); + } } - message = gn("Waiting for model..."); + message = Mt("Waiting for model..."); + sanitizedHtml = Mt(""); static \u0275fac = function(n) { - return new (n || e5)(Tt("ANYWIDGET_MODEL")); + return new (n || e5)(ot("ANYWIDGET_MODEL"), ot(Li)); }; - static \u0275cmp = Vo({ type: e5, selectors: [["app-root"]], decls: 7, vars: 1, consts: [[1, "angular-widget"]], template: function(n, r) { - n & 1 && (Ye(0, "div", 0)(1, "h3"), _t(2, "Angular Hybrid Widget"), Qe(), Ye(3, "p"), _t(4, "Status: Infrastructure Loaded"), Qe(), Ye(5, "p"), _t(6), Qe()()), n & 2 && (ko(6), kn("Message from Python: ", r.message())); - }, dependencies: [Pn], styles: [".angular-widget[_ngcontent-%COMP%]{padding:10px;border:1px solid #ccc;border-radius:4px;background-color:#f9f9f9}"] }); + static \u0275cmp = Ei({ type: e5, selectors: [["app-root"]], decls: 8, vars: 2, consts: [[1, "angular-widget"], [3, "innerHTML"]], template: function(n, r) { + n & 1 && (ke(0, "div", 0)(1, "h3"), jt(2, "Angular Hybrid Widget"), De(), ke(3, "p"), jt(4, "Status: Infrastructure Loaded"), De(), ke(5, "p"), jt(6), De(), Jn(7, "div", 1), De()), n & 2 && (Zn(6), er("Message from Python: ", r.message()), Zn(), Xn("innerHTML", r.sanitizedHtml(), hi)); + }, dependencies: [nr], styles: [".angular-widget[_ngcontent-%COMP%]{padding:10px;border:1px solid #ccc;border-radius:4px;background-color:#f9f9f9}"] }); }; -function Rf({ model: e6, el: t }) { +function Wp({ model: e6, el: t }) { let n = document.createElement("app-root"); t.appendChild(n); - let r = { providers: [so(), { provide: "ANYWIDGET_MODEL", useValue: e6 }] }; - ti(Un, r).catch((o) => console.error(o)); + let r = { providers: [So(), { provide: "ANYWIDGET_MODEL", useValue: e6 }] }; + Fi(cr, r).catch((o) => console.error(o)); } -var NM = { render: Rf }; +var k_ = { render: Wp }; export { - NM as default + k_ as default }; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts index a7b992677c2a..6c2628a51e82 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -1,5 +1,6 @@ import { Component, Inject, signal } from '@angular/core'; import { CommonModule } from '@angular/common'; +import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; @Component({ selector: 'app-root', @@ -10,6 +11,7 @@ import { CommonModule } from '@angular/common';

Angular Hybrid Widget

Status: Infrastructure Loaded

Message from Python: {{ message() }}

+
`, styles: [` @@ -23,14 +25,26 @@ import { CommonModule } from '@angular/common'; }) export class App { protected readonly message = signal('Waiting for model...'); + protected readonly sanitizedHtml = signal(''); - constructor(@Inject('ANYWIDGET_MODEL') public model: any) { + constructor( + @Inject('ANYWIDGET_MODEL') public model: any, + private sanitizer: DomSanitizer + ) { if (model) { this.message.set(model.get('message') || 'Model loaded, no message.'); + + const rawHtml = model.get('table_html') || '

No table HTML yet.

'; + this.sanitizedHtml.set(this.sanitizer.bypassSecurityTrustHtml(rawHtml)); + // Listen for changes model.on('change:message', () => { this.message.set(model.get('message')); }); + model.on('change:table_html', () => { + const html = model.get('table_html'); + this.sanitizedHtml.set(this.sanitizer.bypassSecurityTrustHtml(html)); + }); } } } From 49b797786d15036d08703257e9bce881d3b49f3d Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Mon, 4 May 2026 23:56:32 +0000 Subject: [PATCH 03/42] feat: address code review comments and add license headers --- .../bigframes/display/table_widget_angular.js | 3616 ++++++++--------- .../display/table_widget_angular/bundle.js | 16 + .../src/app/app.config.ts | 11 - .../table_widget_angular/src/app/app.html | 344 -- .../table_widget_angular/src/app/app.spec.ts | 5 +- .../table_widget_angular/src/app/app.ts | 19 +- .../display/table_widget_angular/src/main.ts | 16 + 7 files changed, 1860 insertions(+), 2167 deletions(-) delete mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/app.config.ts delete mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/app.html diff --git a/packages/bigframes/bigframes/display/table_widget_angular.js b/packages/bigframes/bigframes/display/table_widget_angular.js index 0ac09a802df8..80ac251a4e2a 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular.js +++ b/packages/bigframes/bigframes/display/table_widget_angular.js @@ -1,151 +1,167 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + // dist/table-widget-angular/browser/main.js -var nu = Object.defineProperty; -var ru = Object.defineProperties; -var ou = Object.getOwnPropertyDescriptors; -var Pi = Object.getOwnPropertySymbols; -var iu = Object.prototype.hasOwnProperty; -var su = Object.prototype.propertyIsEnumerable; -var ji = (e6, t, n) => t in e6 ? nu(e6, t, { enumerable: true, configurable: true, writable: true, value: n }) : e6[t] = n; -var x = (e6, t) => { +var tl = Object.defineProperty; +var nl = Object.defineProperties; +var rl = Object.getOwnPropertyDescriptors; +var ki = Object.getOwnPropertySymbols; +var ol = Object.prototype.hasOwnProperty; +var il = Object.prototype.propertyIsEnumerable; +var Oi = (e6, t, n) => t in e6 ? tl(e6, t, { enumerable: true, configurable: true, writable: true, value: n }) : e6[t] = n; +var A = (e6, t) => { for (var n in t ||= {}) - iu.call(t, n) && ji(e6, n, t[n]); - if (Pi) - for (var n of Pi(t)) - su.call(t, n) && ji(e6, n, t[n]); + ol.call(t, n) && Oi(e6, n, t[n]); + if (ki) + for (var n of ki(t)) + il.call(t, n) && Oi(e6, n, t[n]); return e6; }; -var V = (e6, t) => ru(e6, ou(t)); -var S = null; -var qt = false; -var dr = 1; -var au = null; +var V = (e6, t) => nl(e6, rl(t)); +var b = null; +var zt = false; +var cr = 1; +var sl = null; var W = Symbol("SIGNAL"); -function D(e6) { - let t = S; - return S = e6, t; +function v(e6) { + let t = b; + return b = e6, t; } -function Zt() { - return S; +function Wt() { + return b; } -var Yt = { version: 0, lastCleanEpoch: 0, dirty: false, producers: void 0, producersTail: void 0, consumers: void 0, consumersTail: void 0, recomputing: false, consumerAllowSignalWrites: false, consumerIsAlwaysLive: false, kind: "unknown", producerMustRecompute: () => false, producerRecomputeValue: () => { +var Gt = { version: 0, lastCleanEpoch: 0, dirty: false, producers: void 0, producersTail: void 0, consumers: void 0, consumersTail: void 0, recomputing: false, consumerAllowSignalWrites: false, consumerIsAlwaysLive: false, kind: "unknown", producerMustRecompute: () => false, producerRecomputeValue: () => { }, consumerMarkedDirty: () => { }, consumerOnSignalRead: () => { } }; -function Bi(e6) { - if (qt) +function Li(e6) { + if (zt) throw new Error(""); - if (S === null) + if (b === null) return; - S.consumerOnSignalRead(e6); - let t = S.producersTail; + b.consumerOnSignalRead(e6); + let t = b.producersTail; if (t !== void 0 && t.producer === e6) return; - let n, r = S.recomputing; - if (r && (n = t !== void 0 ? t.nextProducer : S.producers, n !== void 0 && n.producer === e6)) { - S.producersTail = n, n.lastReadVersion = e6.version; + let n, r = b.recomputing; + if (r && (n = t !== void 0 ? t.nextProducer : b.producers, n !== void 0 && n.producer === e6)) { + b.producersTail = n, n.lastReadVersion = e6.version; return; } let o = e6.consumersTail; - if (o !== void 0 && o.consumer === S && (!r || uu(o, S))) + if (o !== void 0 && o.consumer === b && (!r || cl(o, b))) return; - let i = Fe(S), s = { producer: e6, consumer: S, nextProducer: n, prevConsumer: o, lastReadVersion: e6.version, nextConsumer: void 0 }; - S.producersTail = s, t !== void 0 ? t.nextProducer = s : S.producers = s, i && Gi(e6, s); + let i = Le(b), s = { producer: e6, consumer: b, nextProducer: n, prevConsumer: o, lastReadVersion: e6.version, nextConsumer: void 0 }; + b.producersTail = s, t !== void 0 ? t.nextProducer = s : b.producers = s, i && Bi(e6, s); } -function Vi() { - dr++; +function Pi() { + cr++; } -function Hi(e6) { - if (!(Fe(e6) && !e6.dirty) && !(!e6.dirty && e6.lastCleanEpoch === dr)) { - if (!e6.producerMustRecompute(e6) && !gr(e6)) { - lr(e6); +function Fi(e6) { + if (!(Le(e6) && !e6.dirty) && !(!e6.dirty && e6.lastCleanEpoch === cr)) { + if (!e6.producerMustRecompute(e6) && !fr(e6)) { + ar(e6); return; } - e6.producerRecomputeValue(e6), lr(e6); + e6.producerRecomputeValue(e6), ar(e6); } } -function fr(e6) { +function lr(e6) { if (e6.consumers === void 0) return; - let t = qt; - qt = true; + let t = zt; + zt = true; try { for (let n = e6.consumers; n !== void 0; n = n.nextConsumer) { let r = n.consumer; - r.dirty || cu(r); + r.dirty || al(r); } } finally { - qt = t; + zt = t; } } -function pr() { - return S?.consumerAllowSignalWrites !== false; +function ur() { + return b?.consumerAllowSignalWrites !== false; } -function cu(e6) { - e6.dirty = true, fr(e6), e6.consumerMarkedDirty?.(e6); +function al(e6) { + e6.dirty = true, lr(e6), e6.consumerMarkedDirty?.(e6); } -function lr(e6) { - e6.dirty = false, e6.lastCleanEpoch = dr; +function ar(e6) { + e6.dirty = false, e6.lastCleanEpoch = cr; } -function hr(e6) { - return e6 && $i(e6), D(e6); +function dr(e6) { + return e6 && ji(e6), v(e6); } -function $i(e6) { +function ji(e6) { e6.producersTail = void 0, e6.recomputing = true; } -function Ui(e6, t) { - D(t), e6 && zi(e6); +function Hi(e6, t) { + v(t), e6 && Vi(e6); } -function zi(e6) { +function Vi(e6) { e6.recomputing = false; let t = e6.producersTail, n = t !== void 0 ? t.nextProducer : e6.producers; if (n !== void 0) { - if (Fe(e6)) + if (Le(e6)) do - n = mr(n); + n = pr(n); while (n !== void 0); t !== void 0 ? t.nextProducer = void 0 : e6.producers = void 0; } } -function gr(e6) { +function fr(e6) { for (let t = e6.producers; t !== void 0; t = t.nextProducer) { let n = t.producer, r = t.lastReadVersion; - if (r !== n.version || (Hi(n), r !== n.version)) + if (r !== n.version || (Fi(n), r !== n.version)) return true; } return false; } -function Qt(e6) { - if (Fe(e6)) { +function qt(e6) { + if (Le(e6)) { let t = e6.producers; for (; t !== void 0; ) - t = mr(t); + t = pr(t); } e6.producers = void 0, e6.producersTail = void 0, e6.consumers = void 0, e6.consumersTail = void 0; } -function Gi(e6, t) { - let n = e6.consumersTail, r = Fe(e6); +function Bi(e6, t) { + let n = e6.consumersTail, r = Le(e6); if (n !== void 0 ? (t.nextConsumer = n.nextConsumer, n.nextConsumer = t) : (t.nextConsumer = void 0, e6.consumers = t), t.prevConsumer = n, e6.consumersTail = t, !r) for (let o = e6.producers; o !== void 0; o = o.nextProducer) - Gi(o.producer, o); + Bi(o.producer, o); } -function mr(e6) { +function pr(e6) { let t = e6.producer, n = e6.nextProducer, r = e6.nextConsumer, o = e6.prevConsumer; if (e6.nextConsumer = void 0, e6.prevConsumer = void 0, r !== void 0 ? r.prevConsumer = o : t.consumersTail = o, o !== void 0) o.nextConsumer = r; - else if (t.consumers = r, !Fe(t)) { + else if (t.consumers = r, !Le(t)) { let i = t.producers; for (; i !== void 0; ) - i = mr(i); + i = pr(i); } return n; } -function Fe(e6) { +function Le(e6) { return e6.consumerIsAlwaysLive || e6.consumers !== void 0; } -function Wi(e6) { - au?.(e6); +function $i(e6) { + sl?.(e6); } -function uu(e6, t) { +function cl(e6, t) { let n = t.producersTail; if (n !== void 0) { let r = t.producers; @@ -159,60 +175,60 @@ function uu(e6, t) { } return false; } -function qi(e6, t) { +function Ui(e6, t) { return Object.is(e6, t); } -function lu() { +function ll() { throw new Error(); } -var Zi = lu; -function Yi(e6) { - Zi(e6); +var zi = ll; +function Wi(e6) { + zi(e6); } -function yr(e6) { - Zi = e6; +function hr(e6) { + zi = e6; } -var du = null; -function Dr(e6, t) { - let n = Object.create(Ji); +var ul = null; +function gr(e6, t) { + let n = Object.create(Zi); n.value = e6, t !== void 0 && (n.equal = t); - let r = () => Qi(n); - return r[W] = n, Wi(n), [r, (s) => vr(n, s), (s) => Ki(n, s)]; + let r = () => Gi(n); + return r[W] = n, $i(n), [r, (s) => mr(n, s), (s) => qi(n, s)]; } -function Qi(e6) { - return Bi(e6), e6.value; +function Gi(e6) { + return Li(e6), e6.value; } -function vr(e6, t) { - pr() || Yi(e6), e6.equal(e6.value, t) || (e6.value = t, fu(e6)); +function mr(e6, t) { + ur() || Wi(e6), e6.equal(e6.value, t) || (e6.value = t, dl(e6)); } -function Ki(e6, t) { - pr() || Yi(e6), vr(e6, t(e6.value)); +function qi(e6, t) { + ur() || Wi(e6), mr(e6, t(e6.value)); } -var Ji = V(x({}, Yt), { equal: qi, value: void 0, kind: "signal" }); -function fu(e6) { - e6.version++, Vi(), fr(e6), du?.(e6); +var Zi = V(A({}, Gt), { equal: Ui, value: void 0, kind: "signal" }); +function dl(e6) { + e6.version++, Pi(), lr(e6), ul?.(e6); } function N(e6) { return typeof e6 == "function"; } -function Kt(e6) { +function Zt(e6) { let n = e6((r) => { Error.call(r), r.stack = new Error().stack; }); return n.prototype = Object.create(Error.prototype), n.prototype.constructor = n, n; } -var Jt = Kt((e6) => function(n) { +var Qt = Zt((e6) => function(n) { e6(this), this.message = n ? `${n.length} errors occurred during unsubscription: ${n.map((r, o) => `${o + 1}) ${r.toString()}`).join(` `)}` : "", this.name = "UnsubscriptionError", this.errors = n; }); -function st(e6, t) { +function ot(e6, t) { if (e6) { let n = e6.indexOf(t); 0 <= n && e6.splice(n, 1); } } -var b = class e { +var _ = class e { constructor(t) { this.initialTeardown = t, this.closed = false, this._parentage = null, this._finalizers = null; } @@ -232,27 +248,27 @@ var b = class e { try { r(); } catch (i) { - t = i instanceof Jt ? i.errors : [i]; + t = i instanceof Qt ? i.errors : [i]; } let { _finalizers: o } = this; if (o) { this._finalizers = null; for (let i of o) try { - Xi(i); + Qi(i); } catch (s) { - t = t ?? [], s instanceof Jt ? t = [...t, ...s.errors] : t.push(s); + t = t ?? [], s instanceof Qt ? t = [...t, ...s.errors] : t.push(s); } } if (t) - throw new Jt(t); + throw new Qt(t); } } add(t) { var n; if (t && t !== this) if (this.closed) - Xi(t); + Qi(t); else { if (t instanceof e) { if (t.closed || t._hasParent(this)) @@ -272,56 +288,56 @@ var b = class e { } _removeParent(t) { let { _parentage: n } = this; - n === t ? this._parentage = null : Array.isArray(n) && st(n, t); + n === t ? this._parentage = null : Array.isArray(n) && ot(n, t); } remove(t) { let { _finalizers: n } = this; - n && st(n, t), t instanceof e && t._removeParent(this); + n && ot(n, t), t instanceof e && t._removeParent(this); } }; -b.EMPTY = (() => { - let e6 = new b(); +_.EMPTY = (() => { + let e6 = new _(); return e6.closed = true, e6; })(); -var Er = b.EMPTY; -function Xt(e6) { - return e6 instanceof b || e6 && "closed" in e6 && N(e6.remove) && N(e6.add) && N(e6.unsubscribe); +var yr = _.EMPTY; +function Yt(e6) { + return e6 instanceof _ || e6 && "closed" in e6 && N(e6.remove) && N(e6.add) && N(e6.unsubscribe); } -function Xi(e6) { +function Qi(e6) { N(e6) ? e6() : e6.unsubscribe(); } -var H = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: false, useDeprecatedNextContext: false }; -var Le = { setTimeout(e6, t, ...n) { - let { delegate: r } = Le; +var B = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: false, useDeprecatedNextContext: false }; +var Pe = { setTimeout(e6, t, ...n) { + let { delegate: r } = Pe; return r?.setTimeout ? r.setTimeout(e6, t, ...n) : setTimeout(e6, t, ...n); }, clearTimeout(e6) { - let { delegate: t } = Le; + let { delegate: t } = Pe; return (t?.clearTimeout || clearTimeout)(e6); }, delegate: void 0 }; -function es(e6) { - Le.setTimeout(() => { - let { onUnhandledError: t } = H; +function Yi(e6) { + Pe.setTimeout(() => { + let { onUnhandledError: t } = B; if (t) t(e6); else throw e6; }); } -function Ir() { +function vr() { } -var ts = Cr("C", void 0, void 0); -function ns(e6) { - return Cr("E", void 0, e6); +var Ki = Er("C", void 0, void 0); +function Ji(e6) { + return Er("E", void 0, e6); } -function rs(e6) { - return Cr("N", e6, void 0); +function Xi(e6) { + return Er("N", e6, void 0); } -function Cr(e6, t, n) { +function Er(e6, t, n) { return { kind: e6, value: t, error: n }; } var ve = null; -function Pe(e6) { - if (H.useDeprecatedSynchronousErrorHandling) { +function Fe(e6) { + if (B.useDeprecatedSynchronousErrorHandling) { let t = !ve; if (t && (ve = { errorThrown: false, error: null }), e6(), t) { let { errorThrown: n, error: r } = ve; @@ -331,24 +347,24 @@ function Pe(e6) { } else e6(); } -function os(e6) { - H.useDeprecatedSynchronousErrorHandling && ve && (ve.errorThrown = true, ve.error = e6); +function es(e6) { + B.useDeprecatedSynchronousErrorHandling && ve && (ve.errorThrown = true, ve.error = e6); } -var Ee = class extends b { +var Ee = class extends _ { constructor(t) { - super(), this.isStopped = false, t ? (this.destination = t, Xt(t) && t.add(this)) : this.destination = gu; + super(), this.isStopped = false, t ? (this.destination = t, Yt(t) && t.add(this)) : this.destination = hl; } static create(t, n, r) { return new je(t, n, r); } next(t) { - this.isStopped ? Tr(rs(t), this) : this._next(t); + this.isStopped ? Dr(Xi(t), this) : this._next(t); } error(t) { - this.isStopped ? Tr(ns(t), this) : (this.isStopped = true, this._error(t)); + this.isStopped ? Dr(Ji(t), this) : (this.isStopped = true, this._error(t)); } complete() { - this.isStopped ? Tr(ts, this) : (this.isStopped = true, this._complete()); + this.isStopped ? Dr(Ki, this) : (this.isStopped = true, this._complete()); } unsubscribe() { this.closed || (this.isStopped = true, super.unsubscribe(), this.destination = null); @@ -371,11 +387,11 @@ var Ee = class extends b { } } }; -var pu = Function.prototype.bind; -function wr(e6, t) { - return pu.call(e6, t); +var fl = Function.prototype.bind; +function Ir(e6, t) { + return fl.call(e6, t); } -var Mr = class { +var wr = class { constructor(t) { this.partialObserver = t; } @@ -385,7 +401,7 @@ var Mr = class { try { n.next(t); } catch (r) { - en(r); + Kt(r); } } error(t) { @@ -394,10 +410,10 @@ var Mr = class { try { n.error(t); } catch (r) { - en(r); + Kt(r); } else - en(t); + Kt(t); } complete() { let { partialObserver: t } = this; @@ -405,7 +421,7 @@ var Mr = class { try { t.complete(); } catch (n) { - en(n); + Kt(n); } } }; @@ -417,32 +433,32 @@ var je = class extends Ee { o = { next: t ?? void 0, error: n ?? void 0, complete: r ?? void 0 }; else { let i; - this && H.useDeprecatedNextContext ? (i = Object.create(t), i.unsubscribe = () => this.unsubscribe(), o = { next: t.next && wr(t.next, i), error: t.error && wr(t.error, i), complete: t.complete && wr(t.complete, i) }) : o = t; + this && B.useDeprecatedNextContext ? (i = Object.create(t), i.unsubscribe = () => this.unsubscribe(), o = { next: t.next && Ir(t.next, i), error: t.error && Ir(t.error, i), complete: t.complete && Ir(t.complete, i) }) : o = t; } - this.destination = new Mr(o); + this.destination = new wr(o); } }; -function en(e6) { - H.useDeprecatedSynchronousErrorHandling ? os(e6) : es(e6); +function Kt(e6) { + B.useDeprecatedSynchronousErrorHandling ? es(e6) : Yi(e6); } -function hu(e6) { +function pl(e6) { throw e6; } -function Tr(e6, t) { - let { onStoppedNotification: n } = H; - n && Le.setTimeout(() => n(e6, t)); +function Dr(e6, t) { + let { onStoppedNotification: n } = B; + n && Pe.setTimeout(() => n(e6, t)); } -var gu = { closed: true, next: Ir, error: hu, complete: Ir }; -var is = typeof Symbol == "function" && Symbol.observable || "@@observable"; -function ss(e6) { +var hl = { closed: true, next: vr, error: pl, complete: vr }; +var ts = typeof Symbol == "function" && Symbol.observable || "@@observable"; +function ns(e6) { return e6; } -function as(e6) { - return e6.length === 0 ? ss : e6.length === 1 ? e6[0] : function(n) { +function rs(e6) { + return e6.length === 0 ? ns : e6.length === 1 ? e6[0] : function(n) { return e6.reduce((r, o) => o(r), n); }; } -var Be = (() => { +var He = (() => { class e6 { constructor(n) { n && (this._subscribe = n); @@ -452,8 +468,8 @@ var Be = (() => { return r.source = this, r.operator = n, r; } subscribe(n, r, o) { - let i = yu(n) ? n : new je(n, r, o); - return Pe(() => { + let i = ml(n) ? n : new je(n, r, o); + return Fe(() => { let { operator: s, source: a } = this; i.add(s ? s.call(i, a) : a ? this._subscribe(i) : this._trySubscribe(i)); }), i; @@ -466,7 +482,7 @@ var Be = (() => { } } forEach(n, r) { - return r = cs(r), new r((o, i) => { + return r = os(r), new r((o, i) => { let s = new je({ next: (a) => { try { n(a); @@ -481,14 +497,14 @@ var Be = (() => { var r; return (r = this.source) === null || r === void 0 ? void 0 : r.subscribe(n); } - [is]() { + [ts]() { return this; } pipe(...n) { - return as(n)(this); + return rs(n)(this); } toPromise(n) { - return n = cs(n), new n((r, o) => { + return n = os(n), new n((r, o) => { let i; this.subscribe((s) => i = s, (s) => o(s), () => r(i)); }); @@ -496,22 +512,22 @@ var Be = (() => { } return e6.create = (t) => new e6(t), e6; })(); -function cs(e6) { +function os(e6) { var t; - return (t = e6 ?? H.Promise) !== null && t !== void 0 ? t : Promise; + return (t = e6 ?? B.Promise) !== null && t !== void 0 ? t : Promise; } -function mu(e6) { +function gl(e6) { return e6 && N(e6.next) && N(e6.error) && N(e6.complete); } -function yu(e6) { - return e6 && e6 instanceof Ee || mu(e6) && Xt(e6); +function ml(e6) { + return e6 && e6 instanceof Ee || gl(e6) && Yt(e6); } -function Du(e6) { +function yl(e6) { return N(e6?.lift); } -function us(e6) { +function is(e6) { return (t) => { - if (Du(t)) + if (yl(t)) return t.lift(function(n) { try { return e6(n, this); @@ -522,10 +538,10 @@ function us(e6) { throw new TypeError("Unable to lift unknown Observable type"); }; } -function ls(e6, t, n, r, o) { - return new _r(e6, t, n, r, o); +function ss(e6, t, n, r, o) { + return new Cr(e6, t, n, r, o); } -var _r = class extends Ee { +var Cr = class extends Ee { constructor(t, n, r, o, i, s) { super(t), this.onFinalize = i, this.shouldUnsubscribe = s, this._next = n ? function(a) { try { @@ -559,24 +575,24 @@ var _r = class extends Ee { } } }; -var ds = Kt((e6) => function() { +var as = Zt((e6) => function() { e6(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed"; }); -var ce = (() => { - class e6 extends Be { +var ae = (() => { + class e6 extends He { constructor() { super(), this.closed = false, this.currentObservers = null, this.observers = [], this.isStopped = false, this.hasError = false, this.thrownError = null; } lift(n) { - let r = new tn(this, this); + let r = new Jt(this, this); return r.operator = n, r; } _throwIfClosed() { if (this.closed) - throw new ds(); + throw new as(); } next(n) { - Pe(() => { + Fe(() => { if (this._throwIfClosed(), !this.isStopped) { this.currentObservers || (this.currentObservers = Array.from(this.observers)); for (let r of this.currentObservers) @@ -585,7 +601,7 @@ var ce = (() => { }); } error(n) { - Pe(() => { + Fe(() => { if (this._throwIfClosed(), !this.isStopped) { this.hasError = this.isStopped = true, this.thrownError = n; let { observers: r } = this; @@ -595,7 +611,7 @@ var ce = (() => { }); } complete() { - Pe(() => { + Fe(() => { if (this._throwIfClosed(), !this.isStopped) { this.isStopped = true; let { observers: n } = this; @@ -619,8 +635,8 @@ var ce = (() => { } _innerSubscribe(n) { let { hasError: r, isStopped: o, observers: i } = this; - return r || o ? Er : (this.currentObservers = null, i.push(n), new b(() => { - this.currentObservers = null, st(i, n); + return r || o ? yr : (this.currentObservers = null, i.push(n), new _(() => { + this.currentObservers = null, ot(i, n); })); } _checkFinalizedStatuses(n) { @@ -628,13 +644,13 @@ var ce = (() => { r ? n.error(o) : i && n.complete(); } asObservable() { - let n = new Be(); + let n = new He(); return n.source = this, n; } } - return e6.create = (t, n) => new tn(t, n), e6; + return e6.create = (t, n) => new Jt(t, n), e6; })(); -var tn = class extends ce { +var Jt = class extends ae { constructor(t, n) { super(), this.destination = t, this.source = n; } @@ -652,10 +668,10 @@ var tn = class extends ce { } _subscribe(t) { var n, r; - return (r = (n = this.source) === null || n === void 0 ? void 0 : n.subscribe(t)) !== null && r !== void 0 ? r : Er; + return (r = (n = this.source) === null || n === void 0 ? void 0 : n.subscribe(t)) !== null && r !== void 0 ? r : yr; } }; -var at = class extends ce { +var it = class extends ae { constructor(t) { super(), this._value = t; } @@ -676,86 +692,83 @@ var at = class extends ce { super.next(this._value = t); } }; -function Sr(e6, t) { - return us((n, r) => { +function Tr(e6, t) { + return is((n, r) => { let o = 0; - n.subscribe(ls(r, (i) => { + n.subscribe(ss(r, (i) => { r.next(e6.call(t, i, o++)); })); }); } -var br; -function nn() { - return br; +var Mr; +function Xt() { + return Mr; } -function q(e6) { - let t = br; - return br = e6, t; +function G(e6) { + let t = Mr; + return Mr = e6, t; } -var fs = Symbol("NotFound"); +var cs = Symbol("NotFound"); function Ve(e6) { - return e6 === fs || e6?.name === "\u0275NotFound"; + return e6 === cs || e6?.name === "\u0275NotFound"; } -var un = "https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss"; +var sn = "https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss"; var g = class extends Error { code; constructor(t, n) { - super(ln(t, n)), this.code = t; + super(an(t, n)), this.code = t; } }; -function Cu(e6) { +function Dl(e6) { return `NG0${Math.abs(e6)}`; } -function ln(e6, t) { - return `${Cu(e6)}${t ? ": " + t : ""}`; +function an(e6, t) { + return `${Dl(e6)}${t ? ": " + t : ""}`; } -var ue = globalThis; -function w(e6) { +var ce = globalThis; +function C(e6) { for (let t in e6) - if (e6[t] === w) + if (e6[t] === C) return t; throw Error(""); } -function zr(e6, t) { +function Br(e6, t) { return e6 ? t ? `${e6} ${t}` : e6 : t || ""; } -var wu = w({ __forward_ref__: w }); -function dn(e6) { - return e6.__forward_ref__ = dn, e6; +var wl = C({ __forward_ref__: C }); +function cn(e6) { + return e6.__forward_ref__ = cn, e6; } -function O(e6) { - return ys(e6) ? e6() : e6; +function k(e6) { + return ps(e6) ? e6() : e6; } -function ys(e6) { - return typeof e6 == "function" && e6.hasOwnProperty(wu) && e6.__forward_ref__ === dn; +function ps(e6) { + return typeof e6 == "function" && e6.hasOwnProperty(wl) && e6.__forward_ref__ === cn; } -function _(e6) { +function S(e6) { return { token: e6.token, providedIn: e6.providedIn || null, factory: e6.factory, value: void 0 }; } -function ze(e6) { - return { providers: e6.providers || [], imports: e6.imports || [] }; +function ln(e6) { + return Cl(e6, un); } -function fn(e6) { - return Tu(e6, pn); -} -function Tu(e6, t) { +function Cl(e6, t) { return e6.hasOwnProperty(t) && e6[t] || null; } -function Mu(e6) { - let t = e6?.[pn] ?? null; +function Tl(e6) { + let t = e6?.[un] ?? null; return t || null; } -function Ar(e6) { - return e6 && e6.hasOwnProperty(on) ? e6[on] : null; +function br(e6) { + return e6 && e6.hasOwnProperty(tn) ? e6[tn] : null; } -var pn = w({ \u0275prov: w }); -var on = w({ \u0275inj: w }); +var un = C({ \u0275prov: C }); +var tn = C({ \u0275inj: C }); var m = class { _desc; ngMetadataName = "InjectionToken"; \u0275prov; constructor(t, n) { - this._desc = t, this.\u0275prov = void 0, typeof n == "number" ? this.__NG_ELEMENT_ID__ = n : n !== void 0 && (this.\u0275prov = _({ token: this, providedIn: n.providedIn || "root", factory: n.factory })); + this._desc = t, this.\u0275prov = void 0, typeof n == "number" ? this.__NG_ELEMENT_ID__ = n : n !== void 0 && (this.\u0275prov = S({ token: this, providedIn: n.providedIn || "root", factory: n.factory })); } get multi() { return this; @@ -764,75 +777,75 @@ var m = class { return `InjectionToken ${this._desc}`; } }; -function Gr(e6) { +function $r(e6) { return e6 && !!e6.\u0275providers; } -var Wr = w({ \u0275cmp: w }); -var qr = w({ \u0275dir: w }); -var Zr = w({ \u0275pipe: w }); -var xr = w({ \u0275fac: w }); -var Me = w({ __NG_ELEMENT_ID__: w }); -var ps = w({ __NG_ENV_ID__: w }); -function ft(e6) { - return Qr(e6, "@Component"), e6[Wr] || null; +var Ur = C({ \u0275cmp: C }); +var zr = C({ \u0275dir: C }); +var Wr = C({ \u0275pipe: C }); +var _r = C({ \u0275fac: C }); +var Me = C({ __NG_ELEMENT_ID__: C }); +var ls = C({ __NG_ENV_ID__: C }); +function ut(e6) { + return qr(e6, "@Component"), e6[Ur] || null; } -function Yr(e6) { - return Qr(e6, "@Directive"), e6[qr] || null; +function Gr(e6) { + return qr(e6, "@Directive"), e6[zr] || null; } -function Ds(e6) { - return Qr(e6, "@Pipe"), e6[Zr] || null; +function hs(e6) { + return qr(e6, "@Pipe"), e6[Wr] || null; } -function Qr(e6, t) { +function qr(e6, t) { if (e6 == null) throw new g(-919, false); } -function Kr(e6) { +function Zr(e6) { return typeof e6 == "string" ? e6 : e6 == null ? "" : String(e6); } -var vs = w({ ngErrorCode: w }); -var _u = w({ ngErrorMessage: w }); -var Su = w({ ngTokenPath: w }); -function Jr(e6, t) { - return Es("", -200, t); +var gs = C({ ngErrorCode: C }); +var Ml = C({ ngErrorMessage: C }); +var Sl = C({ ngTokenPath: C }); +function Qr(e6, t) { + return ms("", -200, t); } -function hn(e6, t) { +function dn(e6, t) { throw new g(-201, false); } -function Es(e6, t, n) { +function ms(e6, t, n) { let r = new g(t, e6); - return r[vs] = t, r[_u] = e6, n && (r[Su] = n), r; + return r[gs] = t, r[Ml] = e6, n && (r[Sl] = n), r; } -function bu(e6) { - return e6[vs]; +function bl(e6) { + return e6[gs]; } -var Rr; -function Is() { - return Rr; +var Nr; +function ys() { + return Nr; } function R(e6) { - let t = Rr; - return Rr = e6, t; + let t = Nr; + return Nr = e6, t; } -function Xr(e6, t, n) { - let r = fn(e6); +function Yr(e6, t, n) { + let r = ln(e6); if (r && r.providedIn == "root") return r.value === void 0 ? r.value = r.factory() : r.value; if (n & 8) return null; if (t !== void 0) return t; - hn(e6, ""); + dn(e6, ""); } -var Nu = {}; -var Ie = Nu; -var Au = "__NG_DI_FLAG__"; -var Or = class { +var _l = {}; +var Ie = _l; +var Nl = "__NG_DI_FLAG__"; +var xr = class { injector; constructor(t) { this.injector = t; } retrieve(t, n) { - let r = Ce(n) || 0; + let r = De(n) || 0; try { return this.injector.get(t, r & 8 ? null : Ie, r); } catch (o) { @@ -842,14 +855,14 @@ var Or = class { } } }; -function xu(e6, t = 0) { - let n = nn(); +function xl(e6, t = 0) { + let n = Xt(); if (n === void 0) throw new g(-203, false); if (n === null) - return Xr(e6, void 0, t); + return Yr(e6, void 0, t); { - let r = Ru(t), o = n.retrieve(e6, r); + let r = Al(t), o = n.retrieve(e6, r); if (Ve(o)) { if (r.optional) return null; @@ -858,96 +871,96 @@ function xu(e6, t = 0) { return o; } } -function E(e6, t = 0) { - return (Is() || xu)(O(e6), t); +function I(e6, t = 0) { + return (ys() || xl)(k(e6), t); } -function v(e6, t) { - return E(e6, Ce(t)); +function E(e6, t) { + return I(e6, De(t)); } -function Ce(e6) { +function De(e6) { return typeof e6 > "u" || typeof e6 == "number" ? e6 : 0 | (e6.optional && 8) | (e6.host && 1) | (e6.self && 2) | (e6.skipSelf && 4); } -function Ru(e6) { +function Al(e6) { return { optional: !!(e6 & 8), host: !!(e6 & 1), self: !!(e6 & 2), skipSelf: !!(e6 & 4) }; } -function kr(e6) { +function Ar(e6) { let t = []; for (let n = 0; n < e6.length; n++) { - let r = O(e6[n]); + let r = k(e6[n]); if (Array.isArray(r)) { if (r.length === 0) throw new g(900, false); let o, i = 0; for (let s = 0; s < r.length; s++) { - let a = r[s], c = Ou(a); + let a = r[s], c = Rl(a); typeof c == "number" ? c === -1 ? o = a.token : i |= c : o = a; } - t.push(E(o, i)); + t.push(I(o, i)); } else - t.push(E(r)); + t.push(I(r)); } return t; } -function Ou(e6) { - return e6[Au]; +function Rl(e6) { + return e6[Nl]; } function $e(e6, t) { - let n = e6.hasOwnProperty(xr); - return n ? e6[xr] : null; + let n = e6.hasOwnProperty(_r); + return n ? e6[_r] : null; } -function gn(e6, t) { - e6.forEach((n) => Array.isArray(n) ? gn(n, t) : t(n)); +function fn(e6, t) { + e6.forEach((n) => Array.isArray(n) ? fn(n, t) : t(n)); } -function eo(e6, t) { +function Kr(e6, t) { return t >= e6.length - 1 ? e6.pop() : e6.splice(t, 1)[0]; } -var _e = {}; -var $ = []; -var Se = new m(""); -var to = new m("", -1); -var no = new m(""); -var ut = class { +var Se = {}; +var we = []; +var be = new m(""); +var Jr = new m("", -1); +var Xr = new m(""); +var at = class { get(t, n = Ie) { if (n === Ie) { - let o = Es("", -201); + let o = ms("", -201); throw o.name = "\u0275NotFound", o; } return n; } }; -function pt(e6) { +function dt(e6) { return { \u0275providers: e6 }; } -function Cs(e6) { - return pt([{ provide: Se, multi: true, useValue: e6 }]); +function vs(e6) { + return dt([{ provide: be, multi: true, useValue: e6 }]); } -function ws(...e6) { - return { \u0275providers: ro(true, e6), \u0275fromNgModule: true }; +function Es(...e6) { + return { \u0275providers: eo(true, e6), \u0275fromNgModule: true }; } -function ro(e6, ...t) { +function eo(e6, ...t) { let n = [], r = /* @__PURE__ */ new Set(), o, i = (s) => { n.push(s); }; - return gn(t, (s) => { + return fn(t, (s) => { let a = s; - sn(a, i, [], r) && (o ||= [], o.push(a)); - }), o !== void 0 && Ts(o, i), n; + nn(a, i, [], r) && (o ||= [], o.push(a)); + }), o !== void 0 && Is(o, i), n; } -function Ts(e6, t) { +function Is(e6, t) { for (let n = 0; n < e6.length; n++) { let { ngModule: r, providers: o } = e6[n]; - oo(o, (i) => { + to(o, (i) => { t(i, r); }); } } -function sn(e6, t, n, r) { - if (e6 = O(e6), !e6) +function nn(e6, t, n, r) { + if (e6 = k(e6), !e6) return false; - let o = null, i = Ar(e6), s = !i && ft(e6); + let o = null, i = br(e6), s = !i && ut(e6); if (!i && !s) { let c = e6.ngModule; - if (i = Ar(c), i) + if (i = br(c), i) o = c; else return false; @@ -962,59 +975,59 @@ function sn(e6, t, n, r) { return false; if (r.add(o), s.dependencies) { let c = typeof s.dependencies == "function" ? s.dependencies() : s.dependencies; - for (let u of c) - sn(u, t, n, r); + for (let l of c) + nn(l, t, n, r); } } else if (i) { if (i.imports != null && !a) { r.add(o); - let u; - gn(i.imports, (l) => { - sn(l, t, n, r) && (u ||= [], u.push(l)); - }), u !== void 0 && Ts(u, t); + let l; + fn(i.imports, (u) => { + nn(u, t, n, r) && (l ||= [], l.push(u)); + }), l !== void 0 && Is(l, t); } if (!a) { - let u = $e(o) || (() => new o()); - t({ provide: o, useFactory: u, deps: $ }, o), t({ provide: no, useValue: o, multi: true }, o), t({ provide: Se, useValue: () => E(o), multi: true }, o); + let l = $e(o) || (() => new o()); + t({ provide: o, useFactory: l, deps: we }, o), t({ provide: Xr, useValue: o, multi: true }, o), t({ provide: be, useValue: () => I(o), multi: true }, o); } let c = i.providers; if (c != null && !a) { - let u = e6; - oo(c, (l) => { - t(l, u); + let l = e6; + to(c, (u) => { + t(u, l); }); } } else return false; return o !== e6 && e6.providers !== void 0; } -function oo(e6, t) { +function to(e6, t) { for (let n of e6) - Gr(n) && (n = n.\u0275providers), Array.isArray(n) ? oo(n, t) : t(n); + $r(n) && (n = n.\u0275providers), Array.isArray(n) ? to(n, t) : t(n); } -var ku = w({ provide: String, useValue: w }); -function Ms(e6) { - return e6 !== null && typeof e6 == "object" && ku in e6; +var kl = C({ provide: String, useValue: C }); +function Ds(e6) { + return e6 !== null && typeof e6 == "object" && kl in e6; } -function Fu(e6) { +function Ol(e6) { return !!(e6 && e6.useExisting); } -function Lu(e6) { +function Ll(e6) { return !!(e6 && e6.useFactory); } -function an(e6) { +function rn(e6) { return typeof e6 == "function"; } -var ht = new m(""); -var rn = {}; -var hs = {}; -var Nr; -function gt() { - return Nr === void 0 && (Nr = new ut()), Nr; +var ft = new m(""); +var en = {}; +var us = {}; +var Sr; +function pt() { + return Sr === void 0 && (Sr = new at()), Sr; } -var U = class { +var $ = class { }; -var we = class extends U { +var Ce = class extends $ { parent; source; scopes; @@ -1027,12 +1040,12 @@ var we = class extends U { _destroyed = false; injectorDefTypes; constructor(t, n, r, o) { - super(), this.parent = n, this.source = r, this.scopes = o, Lr(t, (s) => this.processProvider(s)), this.records.set(to, He(void 0, this)), o.has("environment") && this.records.set(U, He(void 0, this)); - let i = this.records.get(ht); - i != null && typeof i.value == "string" && this.scopes.add(i.value), this.injectorDefTypes = new Set(this.get(no, $, { self: true })); + super(), this.parent = n, this.source = r, this.scopes = o, kr(t, (s) => this.processProvider(s)), this.records.set(Jr, Be(void 0, this)), o.has("environment") && this.records.set($, Be(void 0, this)); + let i = this.records.get(ft); + i != null && typeof i.value == "string" && this.scopes.add(i.value), this.injectorDefTypes = new Set(this.get(Xr, we, { self: true })); } retrieve(t, n) { - let r = Ce(n) || 0; + let r = De(n) || 0; try { return this.get(t, Ie, r); } catch (o) { @@ -1042,8 +1055,8 @@ var we = class extends U { } } destroy() { - ct(this), this._destroyed = true; - let t = D(null); + st(this), this._destroyed = true; + let t = v(null); try { for (let r of this._ngOnDestroyHooks) r.ngOnDestroy(); @@ -1052,80 +1065,80 @@ var we = class extends U { for (let r of n) r(); } finally { - this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear(), D(t); + this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear(), v(t); } } onDestroy(t) { - return ct(this), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t); + return st(this), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t); } runInContext(t) { - ct(this); - let n = q(this), r = R(void 0), o; + st(this); + let n = G(this), r = R(void 0), o; try { return t(); } finally { - q(n), R(r); + G(n), R(r); } } get(t, n = Ie, r) { - if (ct(this), t.hasOwnProperty(ps)) - return t[ps](this); - let o = Ce(r), i, s = q(this), a = R(void 0); + if (st(this), t.hasOwnProperty(ls)) + return t[ls](this); + let o = De(r), i, s = G(this), a = R(void 0); try { if (!(o & 4)) { - let u = this.records.get(t); - if (u === void 0) { - let l = Hu(t) && fn(t); - l && this.injectableDefInScope(l) ? u = He(Fr(t), rn) : u = null, this.records.set(t, u); + let l = this.records.get(t); + if (l === void 0) { + let u = Vl(t) && ln(t); + u && this.injectableDefInScope(u) ? l = Be(Rr(t), en) : l = null, this.records.set(t, l); } - if (u != null) - return this.hydrate(t, u, o); + if (l != null) + return this.hydrate(t, l, o); } - let c = o & 2 ? gt() : this.parent; + let c = o & 2 ? pt() : this.parent; return n = o & 8 && n === Ie ? null : n, c.get(t, n); } catch (c) { - let u = bu(c); - throw u === -200 || u === -201 ? new g(u, null) : c; + let l = bl(c); + throw l === -200 || l === -201 ? new g(l, null) : c; } finally { - R(a), q(s); + R(a), G(s); } } resolveInjectorInitializers() { - let t = D(null), n = q(this), r = R(void 0), o; + let t = v(null), n = G(this), r = R(void 0), o; try { - let i = this.get(Se, $, { self: true }); + let i = this.get(be, we, { self: true }); for (let s of i) s(); } finally { - q(n), R(r), D(t); + G(n), R(r), v(t); } } toString() { return "R3Injector[...]"; } processProvider(t) { - t = O(t); - let n = an(t) ? t : O(t && t.provide), r = ju(t); - if (!an(t) && t.multi === true) { + t = k(t); + let n = rn(t) ? t : k(t && t.provide), r = Fl(t); + if (!rn(t) && t.multi === true) { let o = this.records.get(n); - o || (o = He(void 0, rn, true), o.factory = () => kr(o.multi), this.records.set(n, o)), n = t, o.multi.push(t); + o || (o = Be(void 0, en, true), o.factory = () => Ar(o.multi), this.records.set(n, o)), n = t, o.multi.push(t); } this.records.set(n, r); } hydrate(t, n, r) { - let o = D(null); + let o = v(null); try { - if (n.value === hs) - throw Jr(""); - return n.value === rn && (n.value = hs, n.value = n.factory(void 0, r)), typeof n.value == "object" && n.value && Vu(n.value) && this._ngOnDestroyHooks.add(n.value), n.value; + if (n.value === us) + throw Qr(""); + return n.value === en && (n.value = us, n.value = n.factory(void 0, r)), typeof n.value == "object" && n.value && Hl(n.value) && this._ngOnDestroyHooks.add(n.value), n.value; } finally { - D(o); + v(o); } } injectableDefInScope(t) { if (!t.providedIn) return false; - let n = O(t.providedIn); + let n = k(t.providedIn); return typeof n == "string" ? n === "any" || this.scopes.has(n) : this.injectorDefTypes.has(n); } removeOnDestroy(t) { @@ -1133,395 +1146,395 @@ var we = class extends U { n !== -1 && this._onDestroyHooks.splice(n, 1); } }; -function Fr(e6) { - let t = fn(e6), n = t !== null ? t.factory : $e(e6); +function Rr(e6) { + let t = ln(e6), n = t !== null ? t.factory : $e(e6); if (n !== null) return n; if (e6 instanceof m) throw new g(-204, false); if (e6 instanceof Function) - return Pu(e6); + return Pl(e6); throw new g(-204, false); } -function Pu(e6) { +function Pl(e6) { if (e6.length > 0) throw new g(-204, false); - let n = Mu(e6); + let n = Tl(e6); return n !== null ? () => n.factory(e6) : () => new e6(); } -function ju(e6) { - if (Ms(e6)) - return He(void 0, e6.useValue); +function Fl(e6) { + if (Ds(e6)) + return Be(void 0, e6.useValue); { - let t = _s(e6); - return He(t, rn); + let t = ws(e6); + return Be(t, en); } } -function _s(e6, t, n) { +function ws(e6, t, n) { let r; - if (an(e6)) { - let o = O(e6); - return $e(o) || Fr(o); - } else if (Ms(e6)) - r = () => O(e6.useValue); - else if (Lu(e6)) - r = () => e6.useFactory(...kr(e6.deps || [])); - else if (Fu(e6)) - r = (o, i) => E(O(e6.useExisting), i !== void 0 && i & 8 ? 8 : void 0); + if (rn(e6)) { + let o = k(e6); + return $e(o) || Rr(o); + } else if (Ds(e6)) + r = () => k(e6.useValue); + else if (Ll(e6)) + r = () => e6.useFactory(...Ar(e6.deps || [])); + else if (Ol(e6)) + r = (o, i) => I(k(e6.useExisting), i !== void 0 && i & 8 ? 8 : void 0); else { - let o = O(e6 && (e6.useClass || e6.provide)); - if (Bu(e6)) - r = () => new o(...kr(e6.deps)); + let o = k(e6 && (e6.useClass || e6.provide)); + if (jl(e6)) + r = () => new o(...Ar(e6.deps)); else - return $e(o) || Fr(o); + return $e(o) || Rr(o); } return r; } -function ct(e6) { +function st(e6) { if (e6.destroyed) throw new g(-205, false); } -function He(e6, t, n = false) { +function Be(e6, t, n = false) { return { factory: e6, value: t, multi: n ? [] : void 0 }; } -function Bu(e6) { +function jl(e6) { return !!e6.deps; } -function Vu(e6) { +function Hl(e6) { return e6 !== null && typeof e6 == "object" && typeof e6.ngOnDestroy == "function"; } -function Hu(e6) { +function Vl(e6) { return typeof e6 == "function" || typeof e6 == "object" && e6.ngMetadataName === "InjectionToken"; } -function Lr(e6, t) { +function kr(e6, t) { for (let n of e6) - Array.isArray(n) ? Lr(n, t) : n && Gr(n) ? Lr(n.\u0275providers, t) : t(n); + Array.isArray(n) ? kr(n, t) : n && $r(n) ? kr(n.\u0275providers, t) : t(n); } -function mn(e6, t) { +function pn(e6, t) { let n; - e6 instanceof we ? (ct(e6), n = e6) : n = new Or(e6); - let r, o = q(n), i = R(void 0); + e6 instanceof Ce ? (st(e6), n = e6) : n = new xr(e6); + let r, o = G(n), i = R(void 0); try { return t(); } finally { - q(o), R(i); + G(o), R(i); } } -function Ss() { - return Is() !== void 0 || nn() != null; +function Cs() { + return ys() !== void 0 || Xt() != null; } -var Z = 0; +var q = 0; var y = 1; var h = 2; -var k = 3; -var re = 4; -var oe = 5; -var yn = 6; -var Dn = 7; -var F = 8; -var be = 9; -var Y = 10; -var L = 11; -var Ge = 12; -var io = 13; +var O = 3; +var ne = 4; +var re = 5; +var hn = 6; +var gn = 7; +var L = 8; +var _e = 9; +var Z = 10; +var P = 11; +var ze = 12; +var no = 13; var We = 14; var Q = 15; -var mt = 16; +var ht = 16; var Ne = 17; -var vn = 18; +var mn = 18; var le = 19; -var so = 20; -var ee = 21; -var En = 22; -var yt = 23; -var P = 24; -var In = 25; -var qe = 26; -var z = 27; -var bs = 1; -var Cn = 7; -var Ns = 8; -var Dt = 9; -var ie = 10; -function de(e6) { - return Array.isArray(e6) && typeof e6[bs] == "object"; +var ro = 20; +var X = 21; +var yn = 22; +var gt = 23; +var F = 24; +var vn = 25; +var Ge = 26; +var U = 27; +var Ts = 1; +var En = 7; +var Ms = 8; +var mt = 9; +var oe = 10; +function ue(e6) { + return Array.isArray(e6) && typeof e6[Ts] == "object"; } -function fe(e6) { - return Array.isArray(e6) && e6[bs] === true; +function de(e6) { + return Array.isArray(e6) && e6[Ts] === true; } -function ao(e6) { +function oo(e6) { return (e6.flags & 4) !== 0; } -function vt(e6) { +function yt(e6) { return e6.componentOffset > -1; } -function As(e6) { +function Ss(e6) { return (e6.flags & 1) === 1; } -function Ze(e6) { +function qe(e6) { return !!e6.template; } -function Ye(e6) { +function Ze(e6) { return (e6[h] & 512) !== 0; } -function Ae(e6) { +function xe(e6) { return (e6[h] & 256) === 256; } -var xs = "svg"; -var Rs = "math"; -function pe(e6) { +var bs = "svg"; +var _s = "math"; +function fe(e6) { for (; Array.isArray(e6); ) - e6 = e6[Z]; + e6 = e6[q]; return e6; } -function Os(e6, t) { - return pe(t[e6]); +function Ns(e6, t) { + return fe(t[e6]); } -function xe(e6, t) { - return pe(t[e6.index]); +function Ae(e6, t) { + return fe(t[e6.index]); } -function co(e6, t) { +function io(e6, t) { return e6.data[t]; } -function he(e6, t) { +function pe(e6, t) { let n = t[e6]; - return de(n) ? n : n[Z]; + return ue(n) ? n : n[q]; } -function wn(e6) { +function In(e6) { return (e6[h] & 128) === 128; } -function Et(e6, t) { +function vt(e6, t) { return t == null ? null : e6[t]; } -function uo(e6) { +function so(e6) { e6[Ne] = 0; } -function lo(e6) { - e6[h] & 1024 || (e6[h] |= 1024, wn(e6) && Ct(e6)); +function ao(e6) { + e6[h] & 1024 || (e6[h] |= 1024, In(e6) && It(e6)); } -function It(e6) { - return !!(e6[h] & 9216 || e6[P]?.dirty); +function Et(e6) { + return !!(e6[h] & 9216 || e6[F]?.dirty); } -function fo(e6) { - e6[Y].changeDetectionScheduler?.notify(8), e6[h] & 64 && (e6[h] |= 1024), It(e6) && Ct(e6); +function co(e6) { + e6[Z].changeDetectionScheduler?.notify(8), e6[h] & 64 && (e6[h] |= 1024), Et(e6) && It(e6); } -function Ct(e6) { - e6[Y].changeDetectionScheduler?.notify(0); +function It(e6) { + e6[Z].changeDetectionScheduler?.notify(0); let t = Te(e6); - for (; t !== null && !(t[h] & 8192 || (t[h] |= 8192, !wn(t))); ) + for (; t !== null && !(t[h] & 8192 || (t[h] |= 8192, !In(t))); ) t = Te(t); } -function po(e6, t) { - if (Ae(e6)) +function lo(e6, t) { + if (xe(e6)) throw new g(911, false); - e6[ee] === null && (e6[ee] = []), e6[ee].push(t); + e6[X] === null && (e6[X] = []), e6[X].push(t); } -function ks(e6, t) { - if (e6[ee] === null) +function xs(e6, t) { + if (e6[X] === null) return; - let n = e6[ee].indexOf(t); - n !== -1 && e6[ee].splice(n, 1); + let n = e6[X].indexOf(t); + n !== -1 && e6[X].splice(n, 1); } function Te(e6) { - let t = e6[k]; - return fe(t) ? t[k] : t; + let t = e6[O]; + return de(t) ? t[O] : t; } -var I = { lFrame: Zs(null), bindingsEnabled: true, skipHydrationRootTNode: null }; -var Pr = false; -function Fs() { - return I.lFrame.elementDepthCount; +var D = { lFrame: zs(null), bindingsEnabled: true, skipHydrationRootTNode: null }; +var Or = false; +function As() { + return D.lFrame.elementDepthCount; } -function Ls() { - I.lFrame.elementDepthCount++; +function Rs() { + D.lFrame.elementDepthCount++; } -function Ps() { - I.lFrame.elementDepthCount--; +function ks() { + D.lFrame.elementDepthCount--; } -function js() { - return I.skipHydrationRootTNode !== null; +function Os() { + return D.skipHydrationRootTNode !== null; } -function Bs(e6) { - return I.skipHydrationRootTNode === e6; +function Ls(e6) { + return D.skipHydrationRootTNode === e6; } -function Vs() { - I.skipHydrationRootTNode = null; +function Ps() { + D.skipHydrationRootTNode = null; } -function B() { - return I.lFrame.lView; +function H() { + return D.lFrame.lView; } -function Tn() { - return I.lFrame.tView; +function Dn() { + return D.lFrame.tView; } function Qe() { - let e6 = ho(); + let e6 = uo(); for (; e6 !== null && e6.type === 64; ) e6 = e6.parent; return e6; } -function ho() { - return I.lFrame.currentTNode; +function uo() { + return D.lFrame.currentTNode; } -function Hs() { - let e6 = I.lFrame, t = e6.currentTNode; +function Fs() { + let e6 = D.lFrame, t = e6.currentTNode; return e6.isParent ? t : t.parent; } -function wt(e6, t) { - let n = I.lFrame; +function Dt(e6, t) { + let n = D.lFrame; n.currentTNode = e6, n.isParent = t; } -function go() { - return I.lFrame.isParent; +function fo() { + return D.lFrame.isParent; } -function $s() { - I.lFrame.isParent = false; +function js() { + D.lFrame.isParent = false; } -function mo() { - return Pr; +function po() { + return Or; } -function yo(e6) { - let t = Pr; - return Pr = e6, t; +function ho(e6) { + let t = Or; + return Or = e6, t; } -function Us(e6) { - return I.lFrame.bindingIndex = e6; +function Hs(e6) { + return D.lFrame.bindingIndex = e6; } -function Do() { - return I.lFrame.bindingIndex++; +function go() { + return D.lFrame.bindingIndex++; } -function zs() { - return I.lFrame.inI18n; +function Vs() { + return D.lFrame.inI18n; } -function Gs(e6, t) { - let n = I.lFrame; - n.bindingIndex = n.bindingRootIndex = e6, Mn(t); +function Bs(e6, t) { + let n = D.lFrame; + n.bindingIndex = n.bindingRootIndex = e6, wn(t); } -function Ws() { - return I.lFrame.currentDirectiveIndex; +function $s() { + return D.lFrame.currentDirectiveIndex; } -function Mn(e6) { - I.lFrame.currentDirectiveIndex = e6; +function wn(e6) { + D.lFrame.currentDirectiveIndex = e6; } -function vo(e6) { - I.lFrame.currentQueryIndex = e6; +function mo(e6) { + D.lFrame.currentQueryIndex = e6; } -function $u(e6) { +function Bl(e6) { let t = e6[y]; - return t.type === 2 ? t.declTNode : t.type === 1 ? e6[oe] : null; + return t.type === 2 ? t.declTNode : t.type === 1 ? e6[re] : null; } -function Eo(e6, t, n) { +function yo(e6, t, n) { if (n & 4) { let o = t, i = e6; for (; o = o.parent, o === null && !(n & 1); ) - if (o = $u(i), o === null || (i = i[We], o.type & 10)) + if (o = Bl(i), o === null || (i = i[We], o.type & 10)) break; if (o === null) return false; t = o, e6 = i; } - let r = I.lFrame = qs(); + let r = D.lFrame = Us(); return r.currentTNode = t, r.lView = e6, true; } -function _n(e6) { - let t = qs(), n = e6[y]; - I.lFrame = t, t.currentTNode = n.firstChild, t.lView = e6, t.tView = n, t.contextLView = e6, t.bindingIndex = n.bindingStartIndex, t.inI18n = false; +function Cn(e6) { + let t = Us(), n = e6[y]; + D.lFrame = t, t.currentTNode = n.firstChild, t.lView = e6, t.tView = n, t.contextLView = e6, t.bindingIndex = n.bindingStartIndex, t.inI18n = false; } -function qs() { - let e6 = I.lFrame, t = e6 === null ? null : e6.child; - return t === null ? Zs(e6) : t; +function Us() { + let e6 = D.lFrame, t = e6 === null ? null : e6.child; + return t === null ? zs(e6) : t; } -function Zs(e6) { +function zs(e6) { let t = { currentTNode: null, isParent: true, lView: null, tView: null, selectedIndex: -1, contextLView: null, elementDepthCount: 0, currentNamespace: null, currentDirectiveIndex: -1, bindingRootIndex: -1, bindingIndex: -1, currentQueryIndex: 0, parent: e6, child: null, inI18n: false }; return e6 !== null && (e6.child = t), t; } -function Ys() { - let e6 = I.lFrame; - return I.lFrame = e6.parent, e6.currentTNode = null, e6.lView = null, e6; +function Ws() { + let e6 = D.lFrame; + return D.lFrame = e6.parent, e6.currentTNode = null, e6.lView = null, e6; } -var Io = Ys; -function Sn() { - let e6 = Ys(); +var vo = Ws; +function Tn() { + let e6 = Ws(); e6.isParent = true, e6.tView = null, e6.selectedIndex = -1, e6.contextLView = null, e6.elementDepthCount = 0, e6.currentDirectiveIndex = -1, e6.currentNamespace = null, e6.bindingRootIndex = -1, e6.bindingIndex = -1, e6.currentQueryIndex = 0; } -function bn() { - return I.lFrame.selectedIndex; +function Mn() { + return D.lFrame.selectedIndex; } -function ge(e6) { - I.lFrame.selectedIndex = e6; +function he(e6) { + D.lFrame.selectedIndex = e6; } -function Qs() { - let e6 = I.lFrame; - return co(e6.tView, e6.selectedIndex); +function Gs() { + let e6 = D.lFrame; + return io(e6.tView, e6.selectedIndex); } -function Ks() { - return I.lFrame.currentNamespace; +function qs() { + return D.lFrame.currentNamespace; } -var Js = true; -function Co() { - return Js; +var Zs = true; +function Eo() { + return Zs; } -function wo(e6) { - Js = e6; +function Io(e6) { + Zs = e6; } -function jr(e6, t = null, n = null, r) { - let o = Xs(e6, t, n, r); +function Lr(e6, t = null, n = null, r) { + let o = Qs(e6, t, n, r); return o.resolveInjectorInitializers(), o; } -function Xs(e6, t = null, n = null, r, o = /* @__PURE__ */ new Set()) { - let i = [n || $, ws(e6)], s; - return new we(i, t || gt(), s || null, o); +function Qs(e6, t = null, n = null, r, o = /* @__PURE__ */ new Set()) { + let i = [n || we, Es(e6)], s; + return new Ce(i, t || pt(), s || null, o); } -var te = class e2 { +var ee = class e2 { static THROW_IF_NOT_FOUND = Ie; - static NULL = new ut(); + static NULL = new at(); static create(t, n) { if (Array.isArray(t)) - return jr({ name: "" }, n, t, ""); + return Lr({ name: "" }, n, t, ""); { let r = t.name ?? ""; - return jr({ name: r }, t.parent, t.providers, r); + return Lr({ name: r }, t.parent, t.providers, r); } } - static \u0275prov = _({ token: e2, providedIn: "any", factory: () => E(to) }); + static \u0275prov = S({ token: e2, providedIn: "any", factory: () => I(Jr) }); static __NG_ELEMENT_ID__ = -1; }; -var A = new m(""); -var Tt = /* @__PURE__ */ (() => { +var x = new m(""); +var wt = /* @__PURE__ */ (() => { class e6 { - static __NG_ELEMENT_ID__ = Uu; + static __NG_ELEMENT_ID__ = $l; static __NG_ENV_ID__ = (n) => n; } return e6; })(); -var Br = class extends Tt { +var Pr = class extends wt { _lView; constructor(t) { super(), this._lView = t; } get destroyed() { - return Ae(this._lView); + return xe(this._lView); } onDestroy(t) { let n = this._lView; - return po(n, t), () => ks(n, t); + return lo(n, t), () => xs(n, t); } }; -function Uu() { - return new Br(B()); +function $l() { + return new Pr(H()); } -var ea = false; -var ta = new m(""); -var Ke = (() => { +var Ys = false; +var Ks = new m(""); +var Ye = (() => { class e6 { taskId = 0; pendingTasks = /* @__PURE__ */ new Set(); destroyed = false; - pendingTask = new at(false); - debugTaskTracker = v(ta, { optional: true }); + pendingTask = new it(false); + debugTaskTracker = E(Ks, { optional: true }); get hasPendingTasks() { return this.destroyed ? false : this.pendingTask.value; } get hasPendingTasksObservable() { - return this.destroyed ? new Be((n) => { + return this.destroyed ? new He((n) => { n.next(false), n.complete(); }) : this.pendingTask; } @@ -1539,23 +1552,23 @@ var Ke = (() => { ngOnDestroy() { this.pendingTasks.clear(), this.hasPendingTasks && this.pendingTask.next(false), this.destroyed = true, this.pendingTask.unsubscribe(); } - static \u0275prov = _({ token: e6, providedIn: "root", factory: () => new e6() }); + static \u0275prov = S({ token: e6, providedIn: "root", factory: () => new e6() }); } return e6; })(); -var Vr = class extends ce { +var Fr = class extends ae { __isAsync; destroyRef = void 0; pendingTasks = void 0; constructor(t = false) { - super(), this.__isAsync = t, Ss() && (this.destroyRef = v(Tt, { optional: true }) ?? void 0, this.pendingTasks = v(Ke, { optional: true }) ?? void 0); + super(), this.__isAsync = t, Cs() && (this.destroyRef = E(wt, { optional: true }) ?? void 0, this.pendingTasks = E(Ye, { optional: true }) ?? void 0); } emit(t) { - let n = D(null); + let n = v(null); try { super.next(t); } finally { - D(n); + v(n); } } subscribe(t, n, r) { @@ -1566,7 +1579,7 @@ var Vr = class extends ce { } this.__isAsync && (i = this.wrapInTimeout(i), o && (o = this.wrapInTimeout(o)), s && (s = this.wrapInTimeout(s))); let a = super.subscribe({ next: o, error: i, complete: s }); - return t instanceof b && t.add(a), a; + return t instanceof _ && t.add(a), a; } wrapInTimeout(t) { return (n) => { @@ -1581,13 +1594,13 @@ var Vr = class extends ce { }; } }; -var X = Vr; -function cn(...e6) { +var J = Fr; +function on(...e6) { } -function To(e6) { +function Do(e6) { let t, n; function r() { - e6 = cn; + e6 = on; try { n !== void 0 && typeof cancelAnimationFrame == "function" && cancelAnimationFrame(n), t !== void 0 && clearTimeout(t); } catch { @@ -1599,32 +1612,32 @@ function To(e6) { e6(), r(); })), () => r(); } -function na(e6) { +function Js(e6) { return queueMicrotask(() => e6()), () => { - e6 = cn; + e6 = on; }; } -var Mo = "isAngularZone"; -var lt = Mo + "_ID"; -var zu = 0; +var wo = "isAngularZone"; +var ct = wo + "_ID"; +var Ul = 0; var j = class e3 { hasPendingMacrotasks = false; hasPendingMicrotasks = false; isStable = true; - onUnstable = new X(false); - onMicrotaskEmpty = new X(false); - onStable = new X(false); - onError = new X(false); + onUnstable = new J(false); + onMicrotaskEmpty = new J(false); + onStable = new J(false); + onError = new J(false); constructor(t) { - let { enableLongStackTrace: n = false, shouldCoalesceEventChangeDetection: r = false, shouldCoalesceRunChangeDetection: o = false, scheduleInRootZone: i = ea } = t; + let { enableLongStackTrace: n = false, shouldCoalesceEventChangeDetection: r = false, shouldCoalesceRunChangeDetection: o = false, scheduleInRootZone: i = Ys } = t; if (typeof Zone > "u") throw new g(908, false); Zone.assertZonePatched(); let s = this; - s._nesting = 0, s._outer = s._inner = Zone.current, Zone.TaskTrackingZoneSpec && (s._inner = s._inner.fork(new Zone.TaskTrackingZoneSpec())), n && Zone.longStackTraceZoneSpec && (s._inner = s._inner.fork(Zone.longStackTraceZoneSpec)), s.shouldCoalesceEventChangeDetection = !o && r, s.shouldCoalesceRunChangeDetection = o, s.callbackScheduled = false, s.scheduleInRootZone = i, qu(s); + s._nesting = 0, s._outer = s._inner = Zone.current, Zone.TaskTrackingZoneSpec && (s._inner = s._inner.fork(new Zone.TaskTrackingZoneSpec())), n && Zone.longStackTraceZoneSpec && (s._inner = s._inner.fork(Zone.longStackTraceZoneSpec)), s.shouldCoalesceEventChangeDetection = !o && r, s.shouldCoalesceRunChangeDetection = o, s.callbackScheduled = false, s.scheduleInRootZone = i, Gl(s); } static isInAngularZone() { - return typeof Zone < "u" && Zone.current.get(Mo) === true; + return typeof Zone < "u" && Zone.current.get(wo) === true; } static assertInAngularZone() { if (!e3.isInAngularZone()) @@ -1638,7 +1651,7 @@ var j = class e3 { return this._inner.run(t, n, r); } runTask(t, n, r, o) { - let i = this._inner, s = i.scheduleEventTask("NgZoneEvent: " + o, t, Gu, cn, cn); + let i = this._inner, s = i.scheduleEventTask("NgZoneEvent: " + o, t, zl, on, on); try { return i.runTask(s, n, r); } finally { @@ -1652,8 +1665,8 @@ var j = class e3 { return this._outer.run(t); } }; -var Gu = {}; -function _o(e6) { +var zl = {}; +function Co(e6) { if (e6._nesting == 0 && !e6.hasPendingMicrotasks && !e6.isStable) try { e6._nesting++, e6.onMicrotaskEmpty.emit(null); @@ -1666,60 +1679,60 @@ function _o(e6) { } } } -function Wu(e6) { +function Wl(e6) { if (e6.isCheckStableRunning || e6.callbackScheduled) return; e6.callbackScheduled = true; function t() { - To(() => { - e6.callbackScheduled = false, Hr(e6), e6.isCheckStableRunning = true, _o(e6), e6.isCheckStableRunning = false; + Do(() => { + e6.callbackScheduled = false, jr(e6), e6.isCheckStableRunning = true, Co(e6), e6.isCheckStableRunning = false; }); } e6.scheduleInRootZone ? Zone.root.run(() => { t(); }) : e6._outer.run(() => { t(); - }), Hr(e6); + }), jr(e6); } -function qu(e6) { +function Gl(e6) { let t = () => { - Wu(e6); - }, n = zu++; - e6._inner = e6._inner.fork({ name: "angular", properties: { [Mo]: true, [lt]: n, [lt + n]: true }, onInvokeTask: (r, o, i, s, a, c) => { - if (Zu(c)) + Wl(e6); + }, n = Ul++; + e6._inner = e6._inner.fork({ name: "angular", properties: { [wo]: true, [ct]: n, [ct + n]: true }, onInvokeTask: (r, o, i, s, a, c) => { + if (ql(c)) return r.invokeTask(i, s, a, c); try { - return gs(e6), r.invokeTask(i, s, a, c); + return ds(e6), r.invokeTask(i, s, a, c); } finally { - (e6.shouldCoalesceEventChangeDetection && s.type === "eventTask" || e6.shouldCoalesceRunChangeDetection) && t(), ms(e6); + (e6.shouldCoalesceEventChangeDetection && s.type === "eventTask" || e6.shouldCoalesceRunChangeDetection) && t(), fs(e6); } - }, onInvoke: (r, o, i, s, a, c, u) => { + }, onInvoke: (r, o, i, s, a, c, l) => { try { - return gs(e6), r.invoke(i, s, a, c, u); + return ds(e6), r.invoke(i, s, a, c, l); } finally { - e6.shouldCoalesceRunChangeDetection && !e6.callbackScheduled && !Yu(c) && t(), ms(e6); + e6.shouldCoalesceRunChangeDetection && !e6.callbackScheduled && !Zl(c) && t(), fs(e6); } }, onHasTask: (r, o, i, s) => { - r.hasTask(i, s), o === i && (s.change == "microTask" ? (e6._hasPendingMicrotasks = s.microTask, Hr(e6), _o(e6)) : s.change == "macroTask" && (e6.hasPendingMacrotasks = s.macroTask)); + r.hasTask(i, s), o === i && (s.change == "microTask" ? (e6._hasPendingMicrotasks = s.microTask, jr(e6), Co(e6)) : s.change == "macroTask" && (e6.hasPendingMacrotasks = s.macroTask)); }, onHandleError: (r, o, i, s) => (r.handleError(i, s), e6.runOutsideAngular(() => e6.onError.emit(s)), false) }); } -function Hr(e6) { +function jr(e6) { e6._hasPendingMicrotasks || (e6.shouldCoalesceEventChangeDetection || e6.shouldCoalesceRunChangeDetection) && e6.callbackScheduled === true ? e6.hasPendingMicrotasks = true : e6.hasPendingMicrotasks = false; } -function gs(e6) { +function ds(e6) { e6._nesting++, e6.isStable && (e6.isStable = false, e6.onUnstable.emit(null)); } -function ms(e6) { - e6._nesting--, _o(e6); +function fs(e6) { + e6._nesting--, Co(e6); } -var dt = class { +var lt = class { hasPendingMicrotasks = false; hasPendingMacrotasks = false; isStable = true; - onUnstable = new X(); - onMicrotaskEmpty = new X(); - onStable = new X(); - onError = new X(); + onUnstable = new J(); + onMicrotaskEmpty = new J(); + onStable = new J(); + onError = new J(); run(t, n, r) { return t.apply(n, r); } @@ -1733,59 +1746,59 @@ var dt = class { return t.apply(n, r); } }; -function Zu(e6) { - return ra(e6, "__ignore_ng_zone__"); +function ql(e6) { + return Xs(e6, "__ignore_ng_zone__"); } -function Yu(e6) { - return ra(e6, "__scheduler_tick__"); +function Zl(e6) { + return Xs(e6, "__scheduler_tick__"); } -function ra(e6, t) { +function Xs(e6, t) { return !Array.isArray(e6) || e6.length !== 1 ? false : e6[0]?.data?.[t] === true; } -var ne = class { +var te = class { _console = console; handleError(t) { this._console.error("ERROR", t); } }; -var Je = new m("", { factory: () => { - let e6 = v(j), t = v(U), n; +var Ke = new m("", { factory: () => { + let e6 = E(j), t = E($), n; return (r) => { e6.runOutsideAngular(() => { t.destroyed && !n ? setTimeout(() => { throw r; - }) : (n ??= t.get(ne), n.handleError(r)); + }) : (n ??= t.get(te), n.handleError(r)); }); }; } }); -var oa = { provide: Se, useValue: () => { - let e6 = v(ne, { optional: true }); +var ea = { provide: be, useValue: () => { + let e6 = E(te, { optional: true }); }, multi: true }; -var Qu = new m("", { factory: () => { - let e6 = v(A).defaultView; +var Ql = new m("", { factory: () => { + let e6 = E(x).defaultView; if (!e6) return; - let t = v(Je), n = (i) => { + let t = E(Ke), n = (i) => { t(i.reason), i.preventDefault(); }, r = (i) => { i.error ? t(i.error) : t(new Error(i.message, { cause: i })), i.preventDefault(); }, o = () => { e6.addEventListener("unhandledrejection", n), e6.addEventListener("error", r); }; - typeof Zone < "u" ? Zone.root.run(o) : o(), v(Tt).onDestroy(() => { + typeof Zone < "u" ? Zone.root.run(o) : o(), E(wt).onDestroy(() => { e6.removeEventListener("error", r), e6.removeEventListener("unhandledrejection", n); }); } }); -function So() { - return pt([Cs(() => { - v(Qu); +function To() { + return dt([vs(() => { + E(Ql); })]); } -function Mt(e6, t) { - let [n, r, o] = Dr(e6, t?.equal), i = n, s = i[W]; - return i.set = r, i.update = o, i.asReadonly = ia.bind(i), i; +function Ct(e6, t) { + let [n, r, o] = gr(e6, t?.equal), i = n, s = i[W]; + return i.set = r, i.update = o, i.asReadonly = ta.bind(i), i; } -function ia() { +function ta() { let e6 = this[W]; if (e6.readonlyFn === void 0) { let t = () => this(); @@ -1795,15 +1808,15 @@ function ia() { } var Ue = class { }; -var _t = new m("", { factory: () => true }); -var bo = new m(""); -var No = (() => { +var Tt = new m("", { factory: () => true }); +var Mo = new m(""); +var So = (() => { class e6 { - static \u0275prov = _({ token: e6, providedIn: "root", factory: () => new $r() }); + static \u0275prov = S({ token: e6, providedIn: "root", factory: () => new Hr() }); } return e6; })(); -var $r = class { +var Hr = class { dirtyEffectCount = 0; queues = /* @__PURE__ */ new Map(); add(t) { @@ -1837,7 +1850,7 @@ var $r = class { return n; } }; -var Ur = class { +var Vr = class { [W]; constructor(t) { this[W] = t; @@ -1846,13 +1859,13 @@ var Ur = class { this[W].destroy(); } }; -function ri(e6) { +function Ma(e6) { return { toString: e6 }.toString(); } -function Na(e6, t, n, r) { +function Sa(e6, t, n, r) { t !== null ? t.applyValueToInputSignal(t, r) : e6[n] = r; } -var Fn = class { +var Rn = class { previousValue; currentValue; firstChange; @@ -1863,14 +1876,14 @@ var Fn = class { return this.firstChange; } }; -function pl(e6) { - return e6.type.prototype.ngOnChanges && (e6.setInput = gl), hl; +function fu(e6) { + return e6.type.prototype.ngOnChanges && (e6.setInput = hu), pu; } -function hl() { - let e6 = xa(this), t = e6?.current; +function pu() { + let e6 = _a(this), t = e6?.current; if (t) { let n = e6.previous; - if (n === _e) + if (n === Se) e6.previous = t; else for (let r in t) @@ -1878,75 +1891,75 @@ function hl() { e6.current = null, this.ngOnChanges(t); } } -function gl(e6, t, n, r, o) { - let i = this.declaredInputs[r], s = xa(e6) || ml(e6, { previous: _e, current: null }), a = s.current || (s.current = {}), c = s.previous, u = c[i]; - a[i] = new Fn(u && u.currentValue, n, c === _e), Na(e6, t, o, n); +function hu(e6, t, n, r, o) { + let i = this.declaredInputs[r], s = _a(e6) || gu(e6, { previous: Se, current: null }), a = s.current || (s.current = {}), c = s.previous, l = c[i]; + a[i] = new Rn(l && l.currentValue, n, c === Se), Sa(e6, t, o, n); } -var Aa = "__ngSimpleChanges__"; -function xa(e6) { - return e6[Aa] || null; +var ba = "__ngSimpleChanges__"; +function _a(e6) { + return e6[ba] || null; } -function ml(e6, t) { - return e6[Aa] = t; +function gu(e6, t) { + return e6[ba] = t; } -var sa = []; +var na = []; var M = function(e6, t = null, n) { - for (let r = 0; r < sa.length; r++) { - let o = sa[r]; + for (let r = 0; r < na.length; r++) { + let o = na[r]; o(e6, t, n); } }; -var C = function(e6) { +var w = function(e6) { return e6[e6.TemplateCreateStart = 0] = "TemplateCreateStart", e6[e6.TemplateCreateEnd = 1] = "TemplateCreateEnd", e6[e6.TemplateUpdateStart = 2] = "TemplateUpdateStart", e6[e6.TemplateUpdateEnd = 3] = "TemplateUpdateEnd", e6[e6.LifecycleHookStart = 4] = "LifecycleHookStart", e6[e6.LifecycleHookEnd = 5] = "LifecycleHookEnd", e6[e6.OutputStart = 6] = "OutputStart", e6[e6.OutputEnd = 7] = "OutputEnd", e6[e6.BootstrapApplicationStart = 8] = "BootstrapApplicationStart", e6[e6.BootstrapApplicationEnd = 9] = "BootstrapApplicationEnd", e6[e6.BootstrapComponentStart = 10] = "BootstrapComponentStart", e6[e6.BootstrapComponentEnd = 11] = "BootstrapComponentEnd", e6[e6.ChangeDetectionStart = 12] = "ChangeDetectionStart", e6[e6.ChangeDetectionEnd = 13] = "ChangeDetectionEnd", e6[e6.ChangeDetectionSyncStart = 14] = "ChangeDetectionSyncStart", e6[e6.ChangeDetectionSyncEnd = 15] = "ChangeDetectionSyncEnd", e6[e6.AfterRenderHooksStart = 16] = "AfterRenderHooksStart", e6[e6.AfterRenderHooksEnd = 17] = "AfterRenderHooksEnd", e6[e6.ComponentStart = 18] = "ComponentStart", e6[e6.ComponentEnd = 19] = "ComponentEnd", e6[e6.DeferBlockStateStart = 20] = "DeferBlockStateStart", e6[e6.DeferBlockStateEnd = 21] = "DeferBlockStateEnd", e6[e6.DynamicComponentStart = 22] = "DynamicComponentStart", e6[e6.DynamicComponentEnd = 23] = "DynamicComponentEnd", e6[e6.HostBindingsUpdateStart = 24] = "HostBindingsUpdateStart", e6[e6.HostBindingsUpdateEnd = 25] = "HostBindingsUpdateEnd", e6; -}(C || {}); -function yl(e6, t, n) { +}(w || {}); +function mu(e6, t, n) { let { ngOnChanges: r, ngOnInit: o, ngDoCheck: i } = t.type.prototype; if (r) { - let s = pl(t); + let s = fu(t); (n.preOrderHooks ??= []).push(e6, s), (n.preOrderCheckHooks ??= []).push(e6, s); } o && (n.preOrderHooks ??= []).push(0 - e6, o), i && ((n.preOrderHooks ??= []).push(e6, i), (n.preOrderCheckHooks ??= []).push(e6, i)); } -function Dl(e6, t) { +function yu(e6, t) { for (let n = t.directiveStart, r = t.directiveEnd; n < r; n++) { - let i = e6.data[n].type.prototype, { ngAfterContentInit: s, ngAfterContentChecked: a, ngAfterViewInit: c, ngAfterViewChecked: u, ngOnDestroy: l } = i; - s && (e6.contentHooks ??= []).push(-n, s), a && ((e6.contentHooks ??= []).push(n, a), (e6.contentCheckHooks ??= []).push(n, a)), c && (e6.viewHooks ??= []).push(-n, c), u && ((e6.viewHooks ??= []).push(n, u), (e6.viewCheckHooks ??= []).push(n, u)), l != null && (e6.destroyHooks ??= []).push(n, l); + let i = e6.data[n].type.prototype, { ngAfterContentInit: s, ngAfterContentChecked: a, ngAfterViewInit: c, ngAfterViewChecked: l, ngOnDestroy: u } = i; + s && (e6.contentHooks ??= []).push(-n, s), a && ((e6.contentHooks ??= []).push(n, a), (e6.contentCheckHooks ??= []).push(n, a)), c && (e6.viewHooks ??= []).push(-n, c), l && ((e6.viewHooks ??= []).push(n, l), (e6.viewCheckHooks ??= []).push(n, l)), u != null && (e6.destroyHooks ??= []).push(n, u); } } -function Rn(e6, t, n) { - Ra(e6, t, 3, n); +function Nn(e6, t, n) { + Na(e6, t, 3, n); } -function On(e6, t, n, r) { - (e6[h] & 3) === n && Ra(e6, t, n, r); +function xn(e6, t, n, r) { + (e6[h] & 3) === n && Na(e6, t, n, r); } -function Ao(e6, t) { +function bo(e6, t) { let n = e6[h]; (n & 3) === t && (n &= 16383, n += 1, e6[h] = n); } -function Ra(e6, t, n, r) { +function Na(e6, t, n, r) { let o = r !== void 0 ? e6[Ne] & 65535 : 0, i = r ?? -1, s = t.length - 1, a = 0; for (let c = o; c < s; c++) if (typeof t[c + 1] == "number") { if (a = t[c], r != null && a >= r) break; } else - t[c] < 0 && (e6[Ne] += 65536), (a < i || i == -1) && (vl(e6, n, t, c), e6[Ne] = (e6[Ne] & 4294901760) + c + 2), c++; + t[c] < 0 && (e6[Ne] += 65536), (a < i || i == -1) && (vu(e6, n, t, c), e6[Ne] = (e6[Ne] & 4294901760) + c + 2), c++; } -function aa(e6, t) { - M(C.LifecycleHookStart, e6, t); - let n = D(null); +function ra(e6, t) { + M(w.LifecycleHookStart, e6, t); + let n = v(null); try { t.call(e6); } finally { - D(n), M(C.LifecycleHookEnd, e6, t); + v(n), M(w.LifecycleHookEnd, e6, t); } } -function vl(e6, t, n, r) { +function vu(e6, t, n, r) { let o = n[r] < 0, i = n[r + 1], s = o ? -n[r] : n[r], a = e6[s]; - o ? e6[h] >> 14 < e6[Ne] >> 16 && (e6[h] & 3) === t && (e6[h] += 16384, aa(a, i)) : aa(a, i); + o ? e6[h] >> 14 < e6[Ne] >> 16 && (e6[h] & 3) === t && (e6[h] += 16384, ra(a, i)) : ra(a, i); } -var et = -1; -var Nt = class { +var Xe = -1; +var bt = class { factory; name; injectImpl; @@ -1960,7 +1973,7 @@ var Nt = class { this.factory = t, this.name = o, this.canSeeViewProviders = n, this.injectImpl = r; } }; -function El(e6, t, n) { +function Eu(e6, t, n) { let r = 0; for (; r < n.length; ) { let o = n[r]; @@ -1972,15 +1985,15 @@ function El(e6, t, n) { e6.setAttribute(t, s, a, i); } else { let i = o, s = n[++r]; - Il(i) ? e6.setProperty(t, i, s) : e6.setAttribute(t, i, s), r++; + Iu(i) ? e6.setProperty(t, i, s) : e6.setAttribute(t, i, s), r++; } } return r; } -function Il(e6) { +function Iu(e6) { return e6.charCodeAt(0) === 64; } -function oi(e6, t) { +function ti(e6, t) { if (!(t === null || t.length === 0)) if (e6 === null || e6.length === 0) e6 = t.slice(); @@ -1988,12 +2001,12 @@ function oi(e6, t) { let n = -1; for (let r = 0; r < t.length; r++) { let o = t[r]; - typeof o == "number" ? n = o : n === 0 || (n === -1 || n === 2 ? ca(e6, n, o, null, t[++r]) : ca(e6, n, o, null, null)); + typeof o == "number" ? n = o : n === 0 || (n === -1 || n === 2 ? oa(e6, n, o, null, t[++r]) : oa(e6, n, o, null, null)); } } return e6; } -function ca(e6, t, n, r, o) { +function oa(e6, t, n, r, o) { let i = 0, s = e6.length; if (t === -1) s = -1; @@ -2022,135 +2035,135 @@ function ca(e6, t, n, r, o) { } s !== -1 && (e6.splice(s, 0, t), i = s + 1), e6.splice(i++, 0, n), o !== null && e6.splice(i++, 0, o); } -function Cl(e6) { - return e6 !== et; +function Du(e6) { + return e6 !== Xe; } -function Oo(e6) { +function xo(e6) { return e6 & 32767; } -function wl(e6) { +function wu(e6) { return e6 >> 16; } -function ko(e6, t) { - let n = wl(e6), r = t; +function Ao(e6, t) { + let n = wu(e6), r = t; for (; n > 0; ) r = r[We], n--; return r; } -var Fo = true; -function ua(e6) { - let t = Fo; - return Fo = e6, t; -} -var Tl = 256; -var Oa = Tl - 1; -var ka = 5; -var Ml = 0; -var K = {}; -function _l(e6, t, n) { +var Ro = true; +function ia(e6) { + let t = Ro; + return Ro = e6, t; +} +var Cu = 256; +var xa = Cu - 1; +var Aa = 5; +var Tu = 0; +var Y = {}; +function Mu(e6, t, n) { let r; - typeof n == "string" ? r = n.charCodeAt(0) || 0 : n.hasOwnProperty(Me) && (r = n[Me]), r == null && (r = n[Me] = Ml++); - let o = r & Oa, i = 1 << o; - t.data[e6 + (o >> ka)] |= i; + typeof n == "string" ? r = n.charCodeAt(0) || 0 : n.hasOwnProperty(Me) && (r = n[Me]), r == null && (r = n[Me] = Tu++); + let o = r & xa, i = 1 << o; + t.data[e6 + (o >> Aa)] |= i; } -function Fa(e6, t) { - let n = La(e6, t); +function Ra(e6, t) { + let n = ka(e6, t); if (n !== -1) return n; let r = t[y]; - r.firstCreatePass && (e6.injectorIndex = t.length, xo(r.data, e6), xo(t, null), xo(r.blueprint, null)); - let o = Pa(e6, t), i = e6.injectorIndex; - if (Cl(o)) { - let s = Oo(o), a = ko(o, t), c = a[y].data; - for (let u = 0; u < 8; u++) - t[i + u] = a[s + u] | c[s + u]; + r.firstCreatePass && (e6.injectorIndex = t.length, _o(r.data, e6), _o(t, null), _o(r.blueprint, null)); + let o = Oa(e6, t), i = e6.injectorIndex; + if (Du(o)) { + let s = xo(o), a = Ao(o, t), c = a[y].data; + for (let l = 0; l < 8; l++) + t[i + l] = a[s + l] | c[s + l]; } return t[i + 8] = o, i; } -function xo(e6, t) { +function _o(e6, t) { e6.push(0, 0, 0, 0, 0, 0, 0, 0, t); } -function La(e6, t) { +function ka(e6, t) { return e6.injectorIndex === -1 || e6.parent && e6.parent.injectorIndex === e6.injectorIndex || t[e6.injectorIndex + 8] === null ? -1 : e6.injectorIndex; } -function Pa(e6, t) { +function Oa(e6, t) { if (e6.parent && e6.parent.injectorIndex !== -1) return e6.parent.injectorIndex; let n = 0, r = null, o = t; for (; o !== null; ) { - if (r = $a(o), r === null) - return et; + if (r = Ha(o), r === null) + return Xe; if (n++, o = o[We], r.injectorIndex !== -1) return r.injectorIndex | n << 16; } - return et; + return Xe; } -function Sl(e6, t, n) { - _l(e6, t, n); +function Su(e6, t, n) { + Mu(e6, t, n); } -function ja(e6, t, n) { +function La(e6, t, n) { if (n & 8 || e6 !== void 0) return e6; - hn(t, "NodeInjector"); + dn(t, "NodeInjector"); } -function Ba(e6, t, n, r) { +function Pa(e6, t, n, r) { if (n & 8 && r === void 0 && (r = null), (n & 3) === 0) { - let o = e6[be], i = R(void 0); + let o = e6[_e], i = R(void 0); try { - return o ? o.get(t, r, n & 8) : Xr(t, r, n & 8); + return o ? o.get(t, r, n & 8) : Yr(t, r, n & 8); } finally { R(i); } } - return ja(r, t, n); + return La(r, t, n); } -function Va(e6, t, n, r = 0, o) { +function Fa(e6, t, n, r = 0, o) { if (e6 !== null) { if (t[h] & 2048 && !(r & 2)) { - let s = Rl(e6, t, n, r, K); - if (s !== K) + let s = Au(e6, t, n, r, Y); + if (s !== Y) return s; } - let i = Ha(e6, t, n, r, K); - if (i !== K) + let i = ja(e6, t, n, r, Y); + if (i !== Y) return i; } - return Ba(t, n, r, o); + return Pa(t, n, r, o); } -function Ha(e6, t, n, r, o) { - let i = Al(n); +function ja(e6, t, n, r, o) { + let i = Nu(n); if (typeof i == "function") { - if (!Eo(t, e6, r)) - return r & 1 ? ja(o, n, r) : Ba(t, n, r, o); + if (!yo(t, e6, r)) + return r & 1 ? La(o, n, r) : Pa(t, n, r, o); try { let s; if (s = i(r), s == null && !(r & 8)) - hn(n); + dn(n); else return s; } finally { - Io(); + vo(); } } else if (typeof i == "number") { - let s = null, a = La(e6, t), c = et, u = r & 1 ? t[Q][oe] : null; - for ((a === -1 || r & 4) && (c = a === -1 ? Pa(e6, t) : t[a + 8], c === et || !da(r, false) ? a = -1 : (s = t[y], a = Oo(c), t = ko(c, t))); a !== -1; ) { - let l = t[y]; - if (la(i, a, l.data)) { - let d = bl(a, t, n, s, r, u); - if (d !== K) + let s = null, a = ka(e6, t), c = Xe, l = r & 1 ? t[Q][re] : null; + for ((a === -1 || r & 4) && (c = a === -1 ? Oa(e6, t) : t[a + 8], c === Xe || !aa(r, false) ? a = -1 : (s = t[y], a = xo(c), t = Ao(c, t))); a !== -1; ) { + let u = t[y]; + if (sa(i, a, u.data)) { + let d = bu(a, t, n, s, r, l); + if (d !== Y) return d; } - c = t[a + 8], c !== et && da(r, t[y].data[a + 8] === u) && la(i, a, t) ? (s = l, a = Oo(c), t = ko(c, t)) : a = -1; + c = t[a + 8], c !== Xe && aa(r, t[y].data[a + 8] === l) && sa(i, a, t) ? (s = u, a = xo(c), t = Ao(c, t)) : a = -1; } } return o; } -function bl(e6, t, n, r, o, i) { - let s = t[y], a = s.data[e6 + 8], c = r == null ? vt(a) && Fo : r != s && (a.type & 3) !== 0, u = o & 1 && i === a, l = Nl(a, s, n, c, u); - return l !== null ? Lo(t, s, l, a, o) : K; +function bu(e6, t, n, r, o, i) { + let s = t[y], a = s.data[e6 + 8], c = r == null ? yt(a) && Ro : r != s && (a.type & 3) !== 0, l = o & 1 && i === a, u = _u(a, s, n, c, l); + return u !== null ? ko(t, s, u, a, o) : Y; } -function Nl(e6, t, n, r, o) { - let i = e6.providerIndexes, s = t.data, a = i & 1048575, c = e6.directiveStart, u = e6.directiveEnd, l = i >> 20, d = r ? a : a + l, p = o ? a + l : u; +function _u(e6, t, n, r, o) { + let i = e6.providerIndexes, s = t.data, a = i & 1048575, c = e6.directiveStart, l = e6.directiveEnd, u = i >> 20, d = r ? a : a + u, p = o ? a + u : l; for (let f = d; f < p; f++) { let T = s[f]; if (f < c && n === T || f >= c && T.type === n) @@ -2158,180 +2171,180 @@ function Nl(e6, t, n, r, o) { } if (o) { let f = s[c]; - if (f && Ze(f) && f.type === n) + if (f && qe(f) && f.type === n) return c; } return null; } -function Lo(e6, t, n, r, o) { +function ko(e6, t, n, r, o) { let i = e6[n], s = t.data; - if (i instanceof Nt) { + if (i instanceof bt) { let a = i; if (a.resolving) - throw Jr(""); - let c = ua(a.canSeeViewProviders); + throw Qr(""); + let c = ia(a.canSeeViewProviders); a.resolving = true; - let u = s[n].type || s[n], l, d = a.injectImpl ? R(a.injectImpl) : null, p = Eo(e6, r, 0); + let l = s[n].type || s[n], u, d = a.injectImpl ? R(a.injectImpl) : null, p = yo(e6, r, 0); try { - i = e6[n] = a.factory(void 0, o, s, e6, r), t.firstCreatePass && n >= r.directiveStart && yl(n, s[n], t); + i = e6[n] = a.factory(void 0, o, s, e6, r), t.firstCreatePass && n >= r.directiveStart && mu(n, s[n], t); } finally { - d !== null && R(d), ua(c), a.resolving = false, Io(); + d !== null && R(d), ia(c), a.resolving = false, vo(); } } return i; } -function Al(e6) { +function Nu(e6) { if (typeof e6 == "string") return e6.charCodeAt(0) || 0; let t = e6.hasOwnProperty(Me) ? e6[Me] : void 0; - return typeof t == "number" ? t >= 0 ? t & Oa : xl : t; + return typeof t == "number" ? t >= 0 ? t & xa : xu : t; } -function la(e6, t, n) { +function sa(e6, t, n) { let r = 1 << e6; - return !!(n[t + (e6 >> ka)] & r); + return !!(n[t + (e6 >> Aa)] & r); } -function da(e6, t) { +function aa(e6, t) { return !(e6 & 2) && !(e6 & 1 && t); } -var Ln = class { +var kn = class { _tNode; _lView; constructor(t, n) { this._tNode = t, this._lView = n; } get(t, n, r) { - return Va(this._tNode, this._lView, t, Ce(r), n); + return Fa(this._tNode, this._lView, t, De(r), n); } }; -function xl() { - return new Ln(Qe(), B()); +function xu() { + return new kn(Qe(), H()); } -function Rl(e6, t, n, r, o) { +function Au(e6, t, n, r, o) { let i = e6, s = t; - for (; i !== null && s !== null && s[h] & 2048 && !Ye(s); ) { - let a = Ha(i, s, n, r | 2, K); - if (a !== K) + for (; i !== null && s !== null && s[h] & 2048 && !Ze(s); ) { + let a = ja(i, s, n, r | 2, Y); + if (a !== Y) return a; let c = i.parent; if (!c) { - let u = s[so]; - if (u) { - let l = u.get(n, K, r & -5); - if (l !== K) - return l; + let l = s[ro]; + if (l) { + let u = l.get(n, Y, r & -5); + if (u !== Y) + return u; } - c = $a(s), s = s[We]; + c = Ha(s), s = s[We]; } i = c; } return o; } -function $a(e6) { +function Ha(e6) { let t = e6[y], n = t.type; - return n === 2 ? t.declTNode : n === 1 ? e6[oe] : null; + return n === 2 ? t.declTNode : n === 1 ? e6[re] : null; } -function Ol() { - return Ua(Qe(), B()); +function Ru() { + return Va(Qe(), H()); } -function Ua(e6, t) { - return new ii(xe(e6, t)); +function Va(e6, t) { + return new Ba(Ae(e6, t)); } -var ii = /* @__PURE__ */ (() => { +var Ba = /* @__PURE__ */ (() => { class e6 { nativeElement; constructor(n) { this.nativeElement = n; } - static __NG_ELEMENT_ID__ = Ol; + static __NG_ELEMENT_ID__ = Ru; } return e6; })(); -function kl(e6) { +function ku(e6) { return (e6.flags & 128) === 128; } -var si = function(e6) { +var ni = function(e6) { return e6[e6.OnPush = 0] = "OnPush", e6[e6.Eager = 1] = "Eager", e6[e6.Default = 1] = "Default", e6; -}(si || {}); -var za = /* @__PURE__ */ new Map(); -var Fl = 0; -function Ll() { - return Fl++; +}(ni || {}); +var $a = /* @__PURE__ */ new Map(); +var Ou = 0; +function Lu() { + return Ou++; } -function Pl(e6) { - za.set(e6[le], e6); +function Pu(e6) { + $a.set(e6[le], e6); +} +function Oo(e6) { + $a.delete(e6[le]); } -function Po(e6) { - za.delete(e6[le]); +var ca = "__ngContext__"; +function _t(e6, t) { + ue(t) ? (e6[ca] = t[le], Pu(t)) : e6[ca] = t; } -var fa = "__ngContext__"; -function At(e6, t) { - de(t) ? (e6[fa] = t[le], Pl(t)) : e6[fa] = t; +function Ua(e6) { + return Wa(e6[ze]); } -function Ga(e6) { - return qa(e6[Ge]); +function za(e6) { + return Wa(e6[ne]); } function Wa(e6) { - return qa(e6[re]); -} -function qa(e6) { - for (; e6 !== null && !fe(e6); ) - e6 = e6[re]; + for (; e6 !== null && !de(e6); ) + e6 = e6[ne]; return e6; } -var jo; -function ai(e6) { - jo = e6; +var Lo; +function ri(e6) { + Lo = e6; } -function Za() { - if (jo !== void 0) - return jo; +function Ga() { + if (Lo !== void 0) + return Lo; if (typeof document < "u") return document; throw new g(210, false); } -var $n = new m("", { factory: () => jl }); -var jl = "ng"; -var Un = new m(""); -var Ot = new m("", { providedIn: "platform", factory: () => "unknown" }); -var zn = new m("", { factory: () => v(A).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); -var Ya = false; -var Qa = new m("", { factory: () => Ya }); -function ci(e6) { +var Hn = new m("", { factory: () => Fu }); +var Fu = "ng"; +var Vn = new m(""); +var At = new m("", { providedIn: "platform", factory: () => "unknown" }); +var Bn = new m("", { factory: () => E(x).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); +var qa = false; +var Za = new m("", { factory: () => qa }); +function oi(e6) { return (e6.flags & 32) === 32; } -var Bl = () => null; -function Ka(e6, t, n = false) { - return Bl(e6, t, n); +var ju = () => null; +function Qa(e6, t, n = false) { + return ju(e6, t, n); } -function Ja(e6, t) { +function Ya(e6, t) { let n = e6.contentQueries; if (n !== null) { - let r = D(null); + let r = v(null); try { for (let o = 0; o < n.length; o += 2) { let i = n[o], s = n[o + 1]; if (s !== -1) { let a = e6.data[s]; - vo(i), a.contentQueries(2, t[s], s); + mo(i), a.contentQueries(2, t[s], s); } } } finally { - D(r); + v(r); } } } -function Bo(e6, t, n) { - vo(0); - let r = D(null); +function Po(e6, t, n) { + mo(0); + let r = v(null); try { t(e6, n); } finally { - D(r); + v(r); } } -function Vl(e6, t, n) { - if (ao(t)) { - let r = D(null); +function Hu(e6, t, n) { + if (oo(t)) { + let r = v(null); try { let o = t.directiveStart, i = t.directiveEnd; for (let s = o; s < i; s++) { @@ -2342,106 +2355,106 @@ function Vl(e6, t, n) { } } } finally { - D(r); + v(r); } } } -var G = function(e6) { +var z = function(e6) { return e6[e6.Emulated = 0] = "Emulated", e6[e6.None = 2] = "None", e6[e6.ShadowDom = 3] = "ShadowDom", e6[e6.ExperimentalIsolatedShadowDom = 4] = "ExperimentalIsolatedShadowDom", e6; -}(G || {}); -var Nn; -function Hl() { - if (Nn === void 0 && (Nn = null, ue.trustedTypes)) +}(z || {}); +var Sn; +function Vu() { + if (Sn === void 0 && (Sn = null, ce.trustedTypes)) try { - Nn = ue.trustedTypes.createPolicy("angular", { createHTML: (e6) => e6, createScript: (e6) => e6, createScriptURL: (e6) => e6 }); + Sn = ce.trustedTypes.createPolicy("angular", { createHTML: (e6) => e6, createScript: (e6) => e6, createScriptURL: (e6) => e6 }); } catch { } - return Nn; + return Sn; } -function Gn(e6) { - return Hl()?.createHTML(e6) || e6; +function $n(e6) { + return Vu()?.createHTML(e6) || e6; } -var An; -function $l() { - if (An === void 0 && (An = null, ue.trustedTypes)) +var bn; +function Bu() { + if (bn === void 0 && (bn = null, ce.trustedTypes)) try { - An = ue.trustedTypes.createPolicy("angular#unsafe-bypass", { createHTML: (e6) => e6, createScript: (e6) => e6, createScriptURL: (e6) => e6 }); + bn = ce.trustedTypes.createPolicy("angular#unsafe-bypass", { createHTML: (e6) => e6, createScript: (e6) => e6, createScriptURL: (e6) => e6 }); } catch { } - return An; + return bn; } -function pa(e6) { - return $l()?.createHTML(e6) || e6; +function la(e6) { + return Bu()?.createHTML(e6) || e6; } -var se = class { +var ie = class { changingThisBreaksApplicationSecurity; constructor(t) { this.changingThisBreaksApplicationSecurity = t; } toString() { - return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${un})`; + return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${sn})`; } }; -var Vo = class extends se { +var Fo = class extends ie { getTypeName() { return "HTML"; } }; -var Ho = class extends se { +var jo = class extends ie { getTypeName() { return "Style"; } }; -var $o = class extends se { +var Ho = class extends ie { getTypeName() { return "Script"; } }; -var Uo = class extends se { +var Vo = class extends ie { getTypeName() { return "URL"; } }; -var zo = class extends se { +var Bo = class extends ie { getTypeName() { return "ResourceURL"; } }; -function me(e6) { - return e6 instanceof se ? e6.changingThisBreaksApplicationSecurity : e6; +function ge(e6) { + return e6 instanceof ie ? e6.changingThisBreaksApplicationSecurity : e6; } -function ye(e6, t) { - let n = Xa(e6); +function me(e6, t) { + let n = Ka(e6); if (n != null && n !== t) { if (n === "ResourceURL" && t === "URL") return true; - throw new Error(`Required a safe ${t}, got a ${n} (see ${un})`); + throw new Error(`Required a safe ${t}, got a ${n} (see ${sn})`); } return n === t; } -function Xa(e6) { - return e6 instanceof se && e6.getTypeName() || null; +function Ka(e6) { + return e6 instanceof ie && e6.getTypeName() || null; } -function ui(e6) { - return new Vo(e6); +function ii(e6) { + return new Fo(e6); } -function li(e6) { - return new Ho(e6); +function si(e6) { + return new jo(e6); } -function di(e6) { - return new $o(e6); +function ai(e6) { + return new Ho(e6); } -function fi(e6) { - return new Uo(e6); +function ci(e6) { + return new Vo(e6); } -function pi(e6) { - return new zo(e6); +function li(e6) { + return new Bo(e6); } -function Ul(e6) { - let t = new Wo(e6); - return zl() ? new Go(t) : t; +function $u(e6) { + let t = new Uo(e6); + return Uu() ? new $o(t) : t; } -var Go = class { +var $o = class { inertDocumentHelper; constructor(t) { this.inertDocumentHelper = t; @@ -2449,14 +2462,14 @@ var Go = class { getInertBodyElement(t) { t = "" + t; try { - let n = new window.DOMParser().parseFromString(Gn(t), "text/html").body; + let n = new window.DOMParser().parseFromString($n(t), "text/html").body; return n === null ? this.inertDocumentHelper.getInertBodyElement(t) : (n.firstChild?.remove(), n); } catch { return null; } } }; -var Wo = class { +var Uo = class { defaultDoc; inertDocument; constructor(t) { @@ -2464,58 +2477,58 @@ var Wo = class { } getInertBodyElement(t) { let n = this.inertDocument.createElement("template"); - return n.innerHTML = Gn(t), n; + return n.innerHTML = $n(t), n; } }; -function zl() { +function Uu() { try { - return !!new window.DOMParser().parseFromString(Gn(""), "text/html"); + return !!new window.DOMParser().parseFromString($n(""), "text/html"); } catch { return false; } } -var Gl = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i; -function Wn(e6) { - return e6 = String(e6), e6.match(Gl) ? e6 : "unsafe:" + e6; +var zu = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i; +function Un(e6) { + return e6 = String(e6), e6.match(zu) ? e6 : "unsafe:" + e6; } -function ae(e6) { +function se(e6) { let t = {}; for (let n of e6.split(",")) t[n] = true; return t; } -function kt(...e6) { +function Rt(...e6) { let t = {}; for (let n of e6) for (let r in n) n.hasOwnProperty(r) && (t[r] = true); return t; } -var ec = ae("area,br,col,hr,img,wbr"); -var tc = ae("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"); -var nc = ae("rp,rt"); -var Wl = kt(nc, tc); -var ql = kt(tc, ae("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")); -var Zl = kt(nc, ae("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")); -var ha = kt(ec, ql, Zl, Wl); -var rc = ae("background,cite,href,itemtype,longdesc,poster,src,xlink:href"); -var Yl = ae("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"); -var Ql = ae("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"); -var Kl = kt(rc, Yl, Ql); -var Jl = ae("script,style,template"); -var qo = class { +var Ja = se("area,br,col,hr,img,wbr"); +var Xa = se("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"); +var ec = se("rp,rt"); +var Wu = Rt(ec, Xa); +var Gu = Rt(Xa, se("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")); +var qu = Rt(ec, se("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")); +var ua = Rt(Ja, Gu, qu, Wu); +var tc = se("background,cite,href,itemtype,longdesc,poster,src,xlink:href"); +var Zu = se("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"); +var Qu = se("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"); +var Yu = Rt(tc, Zu, Qu); +var Ku = se("script,style,template"); +var zo = class { sanitizedSomething = false; buf = []; sanitizeChildren(t) { let n = t.firstChild, r = true, o = []; for (; n; ) { if (n.nodeType === Node.ELEMENT_NODE ? r = this.startElement(n) : n.nodeType === Node.TEXT_NODE ? this.chars(n.nodeValue) : this.sanitizedSomething = true, r && n.firstChild) { - o.push(n), n = td(n); + o.push(n), n = ed(n); continue; } for (; n; ) { n.nodeType === Node.ELEMENT_NODE && this.endElement(n); - let i = ed(n); + let i = Xu(n); if (i) { n = i; break; @@ -2526,144 +2539,144 @@ var qo = class { return this.buf.join(""); } startElement(t) { - let n = ga(t).toLowerCase(); - if (!ha.hasOwnProperty(n)) - return this.sanitizedSomething = true, !Jl.hasOwnProperty(n); + let n = da(t).toLowerCase(); + if (!ua.hasOwnProperty(n)) + return this.sanitizedSomething = true, !Ku.hasOwnProperty(n); this.buf.push("<"), this.buf.push(n); let r = t.attributes; for (let o = 0; o < r.length; o++) { let i = r.item(o), s = i.name, a = s.toLowerCase(); - if (!Kl.hasOwnProperty(a)) { + if (!Yu.hasOwnProperty(a)) { this.sanitizedSomething = true; continue; } let c = i.value; - rc[a] && (c = Wn(c)), this.buf.push(" ", s, '="', ma(c), '"'); + tc[a] && (c = Un(c)), this.buf.push(" ", s, '="', fa(c), '"'); } return this.buf.push(">"), true; } endElement(t) { - let n = ga(t).toLowerCase(); - ha.hasOwnProperty(n) && !ec.hasOwnProperty(n) && (this.buf.push("")); + let n = da(t).toLowerCase(); + ua.hasOwnProperty(n) && !Ja.hasOwnProperty(n) && (this.buf.push("")); } chars(t) { - this.buf.push(ma(t)); + this.buf.push(fa(t)); } }; -function Xl(e6, t) { +function Ju(e6, t) { return (e6.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_CONTAINED_BY) !== Node.DOCUMENT_POSITION_CONTAINED_BY; } -function ed(e6) { +function Xu(e6) { let t = e6.nextSibling; if (t && e6 !== t.previousSibling) - throw oc(t); + throw nc(t); return t; } -function td(e6) { +function ed(e6) { let t = e6.firstChild; - if (t && Xl(e6, t)) - throw oc(t); + if (t && Ju(e6, t)) + throw nc(t); return t; } -function ga(e6) { +function da(e6) { let t = e6.nodeName; return typeof t == "string" ? t : "FORM"; } -function oc(e6) { +function nc(e6) { return new Error(`Failed to sanitize html because the element is clobbered: ${e6.outerHTML}`); } -var nd = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; -var rd = /([^\#-~ |!])/g; -function ma(e6) { - return e6.replace(/&/g, "&").replace(nd, function(t) { +var td = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; +var nd = /([^\#-~ |!])/g; +function fa(e6) { + return e6.replace(/&/g, "&").replace(td, function(t) { let n = t.charCodeAt(0), r = t.charCodeAt(1); return "&#" + ((n - 55296) * 1024 + (r - 56320) + 65536) + ";"; - }).replace(rd, function(t) { + }).replace(nd, function(t) { return "&#" + t.charCodeAt(0) + ";"; }).replace(//g, ">"); } -var xn; -function qn(e6, t) { +var _n; +function zn(e6, t) { let n = null; try { - xn = xn || Ul(e6); + _n = _n || $u(e6); let r = t ? String(t) : ""; - n = xn.getInertBodyElement(r); + n = _n.getInertBodyElement(r); let o = 5, i = r; do { if (o === 0) throw new Error("Failed to sanitize html because the input is unstable"); - o--, r = i, i = n.innerHTML, n = xn.getInertBodyElement(r); + o--, r = i, i = n.innerHTML, n = _n.getInertBodyElement(r); } while (r !== i); - let a = new qo().sanitizeChildren(ya(n) || n); - return Gn(a); + let a = new zo().sanitizeChildren(pa(n) || n); + return $n(a); } finally { if (n) { - let r = ya(n) || n; + let r = pa(n) || n; for (; r.firstChild; ) r.firstChild.remove(); } } } -function ya(e6) { - return "content" in e6 && od(e6) ? e6.content : null; +function pa(e6) { + return "content" in e6 && rd(e6) ? e6.content : null; } -function od(e6) { +function rd(e6) { return e6.nodeType === Node.ELEMENT_NODE && e6.nodeName === "TEMPLATE"; } -function id(e6, t) { +function od(e6, t) { return e6.createText(t); } -function sd(e6, t, n) { +function id(e6, t, n) { e6.setValue(t, n); } -function ic(e6, t, n) { +function rc(e6, t, n) { return e6.createElement(t, n); } -function Zo(e6, t, n, r, o) { +function Wo(e6, t, n, r, o) { e6.insertBefore(t, n, r, o); } -function sc(e6, t, n) { +function oc(e6, t, n) { e6.appendChild(t, n); } -function Da(e6, t, n, r, o) { - r !== null ? Zo(e6, t, n, r, o) : sc(e6, t, n); +function ha(e6, t, n, r, o) { + r !== null ? Wo(e6, t, n, r, o) : oc(e6, t, n); } -function ad(e6, t, n, r) { +function sd(e6, t, n, r) { e6.removeChild(null, t, n, r); } -function cd(e6, t, n) { +function ad(e6, t, n) { e6.setAttribute(t, "style", n); } -function ud(e6, t, n) { +function cd(e6, t, n) { n === "" ? e6.removeAttribute(t, "class") : e6.setAttribute(t, "class", n); } -function ac(e6, t, n) { +function ic(e6, t, n) { let { mergedAttrs: r, classes: o, styles: i } = n; - r !== null && El(e6, t, r), o !== null && ud(e6, t, o), i !== null && cd(e6, t, i); + r !== null && Eu(e6, t, r), o !== null && cd(e6, t, o), i !== null && ad(e6, t, i); } -var J = function(e6) { +var K = function(e6) { return e6[e6.NONE = 0] = "NONE", e6[e6.HTML = 1] = "HTML", e6[e6.STYLE = 2] = "STYLE", e6[e6.SCRIPT = 3] = "SCRIPT", e6[e6.URL = 4] = "URL", e6[e6.RESOURCE_URL = 5] = "RESOURCE_URL", e6; -}(J || {}); -function hi(e6) { +}(K || {}); +function ui(e6) { let t = ld(); - return t ? pa(t.sanitize(J.HTML, e6) || "") : ye(e6, "HTML") ? pa(me(e6)) : qn(Za(), Kr(e6)); + return t ? la(t.sanitize(K.HTML, e6) || "") : me(e6, "HTML") ? la(ge(e6)) : zn(Ga(), Zr(e6)); } function ld() { - let e6 = B(); - return e6 && e6[Y].sanitizer; + let e6 = H(); + return e6 && e6[Z].sanitizer; } -var dd = "ng-template"; -function fd(e6) { - return e6.type === 4 && e6.value !== dd; +var ud = "ng-template"; +function dd(e6) { + return e6.type === 4 && e6.value !== ud; } -function Yo(e6) { +function Go(e6) { return (e6 & 1) === 0; } -function va(e6, t) { +function ga(e6, t) { return e6 ? ":not(" + t.trim() + ")" : t; } -function pd(e6) { +function fd(e6) { let t = e6[0], n = 1, r = 2, o = "", i = false; for (; n < e6.length; ) { let s = e6[n]; @@ -2674,22 +2687,22 @@ function pd(e6) { } else r & 8 ? o += "." + s : r & 4 && (o += " " + s); else - o !== "" && !Yo(s) && (t += va(i, o), o = ""), r = s, i = i || !Yo(r); + o !== "" && !Go(s) && (t += ga(i, o), o = ""), r = s, i = i || !Go(r); n++; } - return o !== "" && (t += va(i, o)), t; + return o !== "" && (t += ga(i, o)), t; } -function hd(e6) { - return e6.map(pd).join(","); +function pd(e6) { + return e6.map(fd).join(","); } -function gd(e6) { +function hd(e6) { let t = [], n = [], r = 1, o = 2; for (; r < e6.length; ) { let i = e6[r]; if (typeof i == "string") o === 2 ? i !== "" && t.push(i, e6[++r]) : o === 8 && n.push(i); else { - if (!Yo(o)) + if (!Go(o)) break; o = i; } @@ -2697,34 +2710,34 @@ function gd(e6) { } return n.length && t.push(1, ...n), t; } -var nt = {}; -function cc(e6, t, n, r, o, i, s, a, c, u, l) { - let d = z + r, p = d + o, f = md(d, p), T = typeof u == "function" ? u() : u; - return f[y] = { type: e6, blueprint: f, template: n, queries: null, viewQuery: a, declTNode: t, data: f.slice().fill(null, d), bindingStartIndex: d, expandoStartIndex: p, hostBindingOpCodes: null, firstCreatePass: true, firstUpdatePass: true, staticViewQueries: false, staticContentQueries: false, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: typeof i == "function" ? i() : i, pipeRegistry: typeof s == "function" ? s() : s, firstChild: null, schemas: c, consts: T, incompleteFirstPass: false, ssrId: l }; +var tt = {}; +function sc(e6, t, n, r, o, i, s, a, c, l, u) { + let d = U + r, p = d + o, f = gd(d, p), T = typeof l == "function" ? l() : l; + return f[y] = { type: e6, blueprint: f, template: n, queries: null, viewQuery: a, declTNode: t, data: f.slice().fill(null, d), bindingStartIndex: d, expandoStartIndex: p, hostBindingOpCodes: null, firstCreatePass: true, firstUpdatePass: true, staticViewQueries: false, staticContentQueries: false, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: typeof i == "function" ? i() : i, pipeRegistry: typeof s == "function" ? s() : s, firstChild: null, schemas: c, consts: T, incompleteFirstPass: false, ssrId: u }; } -function md(e6, t) { +function gd(e6, t) { let n = []; for (let r = 0; r < t; r++) - n.push(r < e6 ? null : nt); + n.push(r < e6 ? null : tt); return n; } -function yd(e6) { +function md(e6) { let t = e6.tView; - return t === null || t.incompleteFirstPass ? e6.tView = cc(1, null, e6.template, e6.decls, e6.vars, e6.directiveDefs, e6.pipeDefs, e6.viewQuery, e6.schemas, e6.consts, e6.id) : t; + return t === null || t.incompleteFirstPass ? e6.tView = sc(1, null, e6.template, e6.decls, e6.vars, e6.directiveDefs, e6.pipeDefs, e6.viewQuery, e6.schemas, e6.consts, e6.id) : t; } -function uc(e6, t, n, r, o, i, s, a, c, u, l) { +function ac(e6, t, n, r, o, i, s, a, c, l, u) { let d = t.blueprint.slice(); - return d[Z] = o, d[h] = r | 4 | 128 | 8 | 64 | 1024, (u !== null || e6 && e6[h] & 2048) && (d[h] |= 2048), uo(d), d[k] = d[We] = e6, d[F] = n, d[Y] = s || e6 && e6[Y], d[L] = a || e6 && e6[L], d[be] = c || e6 && e6[be] || null, d[oe] = i, d[le] = Ll(), d[yn] = l, d[so] = u, d[Q] = t.type == 2 ? e6[Q] : d, d; + return d[q] = o, d[h] = r | 4 | 128 | 8 | 64 | 1024, (l !== null || e6 && e6[h] & 2048) && (d[h] |= 2048), so(d), d[O] = d[We] = e6, d[L] = n, d[Z] = s || e6 && e6[Z], d[P] = a || e6 && e6[P], d[_e] = c || e6 && e6[_e] || null, d[re] = i, d[le] = Lu(), d[hn] = u, d[ro] = l, d[Q] = t.type == 2 ? e6[Q] : d, d; } -function Dd(e6, t, n) { - let r = xe(t, e6), o = yd(n), i = e6[Y].rendererFactory, s = vd(e6, uc(e6, o, null, lc(n), r, t, null, i.createRenderer(r, n), null, null, null)); +function yd(e6, t, n) { + let r = Ae(t, e6), o = md(n), i = e6[Z].rendererFactory, s = vd(e6, ac(e6, o, null, cc(n), r, t, null, i.createRenderer(r, n), null, null, null)); return e6[t.index] = s; } -function lc(e6) { +function cc(e6) { let t = 16; return e6.signals ? t = 4096 : e6.onPush && (t = 64), t; } -function dc(e6, t, n, r) { +function lc(e6, t, n, r) { if (n === 0) return -1; let o = t.length; @@ -2733,79 +2746,79 @@ function dc(e6, t, n, r) { return o; } function vd(e6, t) { - return e6[Ge] ? e6[io][re] = t : e6[Ge] = t, e6[io] = t, t; + return e6[ze] ? e6[no][ne] = t : e6[ze] = t, e6[no] = t, t; } -function Zn(e6 = 1) { - fc(Tn(), B(), bn() + e6, false); +function Wn(e6 = 1) { + uc(Dn(), H(), Mn() + e6, false); } -function fc(e6, t, n, r) { +function uc(e6, t, n, r) { if (!r) if ((t[h] & 3) === 3) { let i = e6.preOrderCheckHooks; - i !== null && Rn(t, i, n); + i !== null && Nn(t, i, n); } else { let i = e6.preOrderHooks; - i !== null && On(t, i, 0, n); + i !== null && xn(t, i, 0, n); } - ge(n); + he(n); } -var Yn = function(e6) { +var Gn = function(e6) { return e6[e6.None = 0] = "None", e6[e6.SignalBased = 1] = "SignalBased", e6[e6.HasDecoratorInputTransform = 2] = "HasDecoratorInputTransform", e6; -}(Yn || {}); -function Qo(e6, t, n, r) { - let o = D(null); +}(Gn || {}); +function qo(e6, t, n, r) { + let o = v(null); try { let [i, s, a] = e6.inputs[n], c = null; - (s & Yn.SignalBased) !== 0 && (c = t[i][W]), c !== null && c.transformFn !== void 0 ? r = c.transformFn(r) : a !== null && (r = a.call(t, r)), e6.setInput !== null ? e6.setInput(t, c, r, n, i) : Na(t, c, i, r); + (s & Gn.SignalBased) !== 0 && (c = t[i][W]), c !== null && c.transformFn !== void 0 ? r = c.transformFn(r) : a !== null && (r = a.call(t, r)), e6.setInput !== null ? e6.setInput(t, c, r, n, i) : Sa(t, c, i, r); } finally { - D(o); + v(o); } } -var Oe = function(e6) { +var ke = function(e6) { return e6[e6.Important = 1] = "Important", e6[e6.DashCase = 2] = "DashCase", e6; -}(Oe || {}); +}(ke || {}); var Ed; -function pc(e6, t) { +function dc(e6, t) { return Ed(e6, t); } -var dy = typeof document < "u" && typeof document?.documentElement?.getAnimations == "function"; -var Ko = /* @__PURE__ */ new WeakMap(); -var St = /* @__PURE__ */ new WeakSet(); +var ny = typeof document < "u" && typeof document?.documentElement?.getAnimations == "function"; +var Zo = /* @__PURE__ */ new WeakMap(); +var Mt = /* @__PURE__ */ new WeakSet(); function Id(e6, t) { - let n = Ko.get(e6); + let n = Zo.get(e6); if (!n || n.length === 0) return; let r = t.parentNode, o = t.previousSibling; for (let i = n.length - 1; i >= 0; i--) { let s = n[i], a = s.parentNode; - s === t ? (n.splice(i, 1), St.add(s), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } }))) : (o && s === o || a && r && a !== r) && (n.splice(i, 1), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } })), s.parentNode?.removeChild(s)); + s === t ? (n.splice(i, 1), Mt.add(s), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } }))) : (o && s === o || a && r && a !== r) && (n.splice(i, 1), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } })), s.parentNode?.removeChild(s)); } } -function Cd(e6, t) { - let n = Ko.get(e6); - n ? n.includes(t) || n.push(t) : Ko.set(e6, [t]); +function Dd(e6, t) { + let n = Zo.get(e6); + n ? n.includes(t) || n.push(t) : Zo.set(e6, [t]); } -var tt = /* @__PURE__ */ new Set(); -var gi = function(e6) { +var et = /* @__PURE__ */ new Set(); +var di = function(e6) { return e6[e6.CHANGE_DETECTION = 0] = "CHANGE_DETECTION", e6[e6.AFTER_NEXT_RENDER = 1] = "AFTER_NEXT_RENDER", e6; -}(gi || {}); -var rt = new m(""); -var Ea = /* @__PURE__ */ new Set(); -function hc(e6) { - Ea.has(e6) || (Ea.add(e6), performance?.mark?.("mark_feature_usage", { detail: { feature: e6 } })); +}(di || {}); +var nt = new m(""); +var ma = /* @__PURE__ */ new Set(); +function fc(e6) { + ma.has(e6) || (ma.add(e6), performance?.mark?.("mark_feature_usage", { detail: { feature: e6 } })); } -var gc = (() => { +var pc = (() => { class e6 { impl = null; execute() { this.impl?.execute(); } - static \u0275prov = _({ token: e6, providedIn: "root", factory: () => new e6() }); + static \u0275prov = S({ token: e6, providedIn: "root", factory: () => new e6() }); } return e6; })(); -var wd = new m("", { factory: () => ({ queue: /* @__PURE__ */ new Set(), isScheduled: false, scheduler: null, injector: v(U) }) }); -function mc(e6, t, n) { +var wd = new m("", { factory: () => ({ queue: /* @__PURE__ */ new Set(), isScheduled: false, scheduler: null, injector: E($) }) }); +function hc(e6, t, n) { let r = e6.get(wd); if (Array.isArray(t)) for (let o of t) @@ -2814,114 +2827,114 @@ function mc(e6, t, n) { r.queue.add(t), n?.detachedLeaveAnimationFns?.push(t); r.scheduler && r.scheduler(e6); } -function Td(e6, t) { +function Cd(e6, t) { for (let [n, r] of t) - mc(e6, r.animateFns); + hc(e6, r.animateFns); } -function Ia(e6, t, n, r) { - let o = e6?.[qe]?.enter; - t !== null && o && o.has(n.index) && Td(r, o); +function ya(e6, t, n, r) { + let o = e6?.[Ge]?.enter; + t !== null && o && o.has(n.index) && Cd(r, o); } -function Xe(e6, t, n, r, o, i, s, a) { +function Je(e6, t, n, r, o, i, s, a) { if (o != null) { - let c, u = false; - fe(o) ? c = o : de(o) && (u = true, o = o[Z]); - let l = pe(o); - e6 === 0 && r !== null ? (Ia(a, r, i, n), s == null ? sc(t, r, l) : Zo(t, r, l, s || null, true)) : e6 === 1 && r !== null ? (Ia(a, r, i, n), Zo(t, r, l, s || null, true), Id(i, l)) : e6 === 2 ? (a?.[qe]?.leave?.has(i.index) && Cd(i, l), St.delete(l), Ca(a, i, n, (d) => { - if (St.has(l)) { - St.delete(l); + let c, l = false; + de(o) ? c = o : ue(o) && (l = true, o = o[q]); + let u = fe(o); + e6 === 0 && r !== null ? (ya(a, r, i, n), s == null ? oc(t, r, u) : Wo(t, r, u, s || null, true)) : e6 === 1 && r !== null ? (ya(a, r, i, n), Wo(t, r, u, s || null, true), Id(i, u)) : e6 === 2 ? (a?.[Ge]?.leave?.has(i.index) && Dd(i, u), Mt.delete(u), va(a, i, n, (d) => { + if (Mt.has(u)) { + Mt.delete(u); return; } - ad(t, l, u, d); - })) : e6 === 3 && (St.delete(l), Ca(a, i, n, () => { - t.destroyNode(l); - })), c != null && jd(t, e6, n, c, i, r, s); + sd(t, u, l, d); + })) : e6 === 3 && (Mt.delete(u), va(a, i, n, () => { + t.destroyNode(u); + })), c != null && Fd(t, e6, n, c, i, r, s); } } -function Md(e6, t) { - yc(e6, t), t[Z] = null, t[oe] = null; +function Td(e6, t) { + gc(e6, t), t[q] = null, t[re] = null; } -function yc(e6, t) { - t[Y].changeDetectionScheduler?.notify(9), Di(e6, t, t[L], 2, null, null); +function gc(e6, t) { + t[Z].changeDetectionScheduler?.notify(9), hi(e6, t, t[P], 2, null, null); } -function _d(e6) { - let t = e6[Ge]; +function Md(e6) { + let t = e6[ze]; if (!t) - return Ro(e6[y], e6); + return No(e6[y], e6); for (; t; ) { let n = null; - if (de(t)) - n = t[Ge]; + if (ue(t)) + n = t[ze]; else { - let r = t[ie]; + let r = t[oe]; r && (n = r); } if (!n) { - for (; t && !t[re] && t !== e6; ) - de(t) && Ro(t[y], t), t = t[k]; - t === null && (t = e6), de(t) && Ro(t[y], t), n = t && t[re]; + for (; t && !t[ne] && t !== e6; ) + ue(t) && No(t[y], t), t = t[O]; + t === null && (t = e6), ue(t) && No(t[y], t), n = t && t[ne]; } t = n; } } -function mi(e6, t) { - let n = e6[Dt], r = n.indexOf(t); +function fi(e6, t) { + let n = e6[mt], r = n.indexOf(t); n.splice(r, 1); } function Sd(e6, t) { - if (Ae(t)) + if (xe(t)) return; - let n = t[L]; - n.destroyNode && Di(e6, t, n, 3, null, null), _d(t); + let n = t[P]; + n.destroyNode && hi(e6, t, n, 3, null, null), Md(t); } -function Ro(e6, t) { - if (Ae(t)) +function No(e6, t) { + if (xe(t)) return; - let n = D(null); + let n = v(null); try { - t[h] &= -129, t[h] |= 256, t[P] && Qt(t[P]), Ad(e6, t), Nd(e6, t), t[y].type === 1 && t[L].destroy(); - let r = t[mt]; - if (r !== null && fe(t[k])) { - r !== t[k] && mi(r, t); - let o = t[vn]; + t[h] &= -129, t[h] |= 256, t[F] && qt(t[F]), Nd(e6, t), _d(e6, t), t[y].type === 1 && t[P].destroy(); + let r = t[ht]; + if (r !== null && de(t[O])) { + r !== t[O] && fi(r, t); + let o = t[mn]; o !== null && o.detachView(e6); } - Po(t); + Oo(t); } finally { - D(n); + v(n); } } -function Ca(e6, t, n, r) { - let o = e6?.[qe]; +function va(e6, t, n, r) { + let o = e6?.[Ge]; if (o == null || o.leave == null || !o.leave.has(t.index)) return r(false); - e6 && tt.add(e6[le]), mc(n, () => { + e6 && et.add(e6[le]), hc(n, () => { if (o.leave && o.leave.has(t.index)) { let s = o.leave.get(t.index), a = []; if (s) { for (let c = 0; c < s.animateFns.length; c++) { - let u = s.animateFns[c], { promise: l } = u(); - a.push(l); + let l = s.animateFns[c], { promise: u } = l(); + a.push(u); } o.detachedLeaveAnimationFns = void 0; } o.running = Promise.allSettled(a), bd(e6, r); } else - e6 && tt.delete(e6[le]), r(false); + e6 && et.delete(e6[le]), r(false); }, o); } function bd(e6, t) { - let n = e6[qe]?.running; + let n = e6[Ge]?.running; if (n) { n.then(() => { - e6[qe].running = void 0, tt.delete(e6[le]), t(true); + e6[Ge].running = void 0, et.delete(e6[le]), t(true); }); return; } t(false); } -function Nd(e6, t) { - let n = e6.cleanup, r = t[Dn]; +function _d(e6, t) { + let n = e6.cleanup, r = t[gn]; if (n !== null) for (let s = 0; s < n.length - 1; s += 2) if (typeof n[s] == "string") { @@ -2931,151 +2944,151 @@ function Nd(e6, t) { let a = r[n[s + 1]]; n[s].call(a); } - r !== null && (t[Dn] = null); - let o = t[ee]; + r !== null && (t[gn] = null); + let o = t[X]; if (o !== null) { - t[ee] = null; + t[X] = null; for (let s = 0; s < o.length; s++) { let a = o[s]; a(); } } - let i = t[yt]; + let i = t[gt]; if (i !== null) { - t[yt] = null; + t[gt] = null; for (let s of i) s.destroy(); } } -function Ad(e6, t) { +function Nd(e6, t) { let n; if (e6 != null && (n = e6.destroyHooks) != null) for (let r = 0; r < n.length; r += 2) { let o = t[n[r]]; - if (!(o instanceof Nt)) { + if (!(o instanceof bt)) { let i = n[r + 1]; if (Array.isArray(i)) for (let s = 0; s < i.length; s += 2) { let a = o[i[s]], c = i[s + 1]; - M(C.LifecycleHookStart, a, c); + M(w.LifecycleHookStart, a, c); try { c.call(a); } finally { - M(C.LifecycleHookEnd, a, c); + M(w.LifecycleHookEnd, a, c); } } else { - M(C.LifecycleHookStart, o, i); + M(w.LifecycleHookStart, o, i); try { i.call(o); } finally { - M(C.LifecycleHookEnd, o, i); + M(w.LifecycleHookEnd, o, i); } } } } } function xd(e6, t, n) { - return Rd(e6, t.parent, n); + return Ad(e6, t.parent, n); } -function Rd(e6, t, n) { +function Ad(e6, t, n) { let r = t; for (; r !== null && r.type & 168; ) t = r, r = t.parent; if (r === null) - return n[Z]; - if (vt(r)) { + return n[q]; + if (yt(r)) { let { encapsulation: o } = e6.data[r.directiveStart + r.componentOffset]; - if (o === G.None || o === G.Emulated) + if (o === z.None || o === z.Emulated) return null; } - return xe(r, n); + return Ae(r, n); } -function Od(e6, t, n) { - return Fd(e6, t, n); +function Rd(e6, t, n) { + return Od(e6, t, n); } function kd(e6, t, n) { - return e6.type & 40 ? xe(e6, n) : null; + return e6.type & 40 ? Ae(e6, n) : null; } -var Fd = kd; -var wa; -function Dc(e6, t, n, r) { - let o = xd(e6, r, t), i = t[L], s = r.parent || t[oe], a = Od(s, r, t); +var Od = kd; +var Ea; +function mc(e6, t, n, r) { + let o = xd(e6, r, t), i = t[P], s = r.parent || t[re], a = Rd(s, r, t); if (o != null) if (Array.isArray(n)) for (let c = 0; c < n.length; c++) - Da(i, o, n[c], a, false); + ha(i, o, n[c], a, false); else - Da(i, o, n, a, false); - wa !== void 0 && wa(i, r, t, n, o); + ha(i, o, n, a, false); + Ea !== void 0 && Ea(i, r, t, n, o); } function Ld(e6, t) { if (t !== null) { - let r = e6[Q][oe], o = t.projection; + let r = e6[Q][re], o = t.projection; return r.projection[o]; } return null; } -function yi(e6, t, n, r, o, i, s) { +function pi(e6, t, n, r, o, i, s) { for (; n != null; ) { - let a = r[be]; + let a = r[_e]; if (n.type === 128) { n = n.next; continue; } - let c = r[n.index], u = n.type; - if (s && t === 0 && (c && At(pe(c), r), n.flags |= 2), !ci(n)) - if (u & 8) - yi(e6, t, n.child, r, o, i, false), Xe(t, e6, a, o, c, n, i, r); - else if (u & 32) { - let l = pc(n, r), d; - for (; d = l(); ) - Xe(t, e6, a, o, d, n, i, r); - Xe(t, e6, a, o, c, n, i, r); + let c = r[n.index], l = n.type; + if (s && t === 0 && (c && _t(fe(c), r), n.flags |= 2), !oi(n)) + if (l & 8) + pi(e6, t, n.child, r, o, i, false), Je(t, e6, a, o, c, n, i, r); + else if (l & 32) { + let u = dc(n, r), d; + for (; d = u(); ) + Je(t, e6, a, o, d, n, i, r); + Je(t, e6, a, o, c, n, i, r); } else - u & 16 ? Pd(e6, t, r, n, o, i) : Xe(t, e6, a, o, c, n, i, r); + l & 16 ? Pd(e6, t, r, n, o, i) : Je(t, e6, a, o, c, n, i, r); n = s ? n.projectionNext : n.next; } } -function Di(e6, t, n, r, o, i) { - yi(n, r, e6.firstChild, t, o, i, false); +function hi(e6, t, n, r, o, i) { + pi(n, r, e6.firstChild, t, o, i, false); } function Pd(e6, t, n, r, o, i) { - let s = n[Q], c = s[oe].projection[r.projection]; + let s = n[Q], c = s[re].projection[r.projection]; if (Array.isArray(c)) - for (let u = 0; u < c.length; u++) { - let l = c[u]; - Xe(t, e6, n[be], o, l, r, i, n); + for (let l = 0; l < c.length; l++) { + let u = c[l]; + Je(t, e6, n[_e], o, u, r, i, n); } else { - let u = c, l = s[k]; - kl(r) && (u.flags |= 128), yi(e6, t, u, l, o, i, true); + let l = c, u = s[O]; + ku(r) && (l.flags |= 128), pi(e6, t, l, u, o, i, true); } } -function jd(e6, t, n, r, o, i, s) { - let a = r[Cn], c = pe(r); - a !== c && Xe(t, e6, n, i, a, o, s); - for (let u = ie; u < r.length; u++) { - let l = r[u]; - Di(l[y], l, e6, t, i, a); +function Fd(e6, t, n, r, o, i, s) { + let a = r[En], c = fe(r); + a !== c && Je(t, e6, n, i, a, o, s); + for (let l = oe; l < r.length; l++) { + let u = r[l]; + hi(u[y], u, e6, t, i, a); } } -function vc(e6, t, n, r, o) { - let i = bn(), s = r & 2; +function yc(e6, t, n, r, o) { + let i = Mn(), s = r & 2; try { - ge(-1), s && t.length > z && fc(e6, t, z, false); - let a = s ? C.TemplateUpdateStart : C.TemplateCreateStart; + he(-1), s && t.length > U && uc(e6, t, U, false); + let a = s ? w.TemplateUpdateStart : w.TemplateCreateStart; M(a, o, n), n(r, o); } finally { - ge(i); - let a = s ? C.TemplateUpdateEnd : C.TemplateCreateEnd; + he(i); + let a = s ? w.TemplateUpdateEnd : w.TemplateCreateEnd; M(a, o, n); } } -function Bd(e6, t, n) { - Gd(e6, t, n), (n.flags & 64) === 64 && Wd(e6, t, n); +function jd(e6, t, n) { + zd(e6, t, n), (n.flags & 64) === 64 && Wd(e6, t, n); } -function Vd(e6, t, n = xe) { +function Hd(e6, t, n = Ae) { let r = t.localNames; if (r !== null) { let o = t.index + 1; @@ -3085,127 +3098,127 @@ function Vd(e6, t, n = xe) { } } } -function Hd(e6, t, n, r) { - let i = r.get(Qa, Ya) || n === G.ShadowDom || n === G.ExperimentalIsolatedShadowDom, s = e6.selectRootElement(t, i); - return $d(s), s; +function Vd(e6, t, n, r) { + let i = r.get(Za, qa) || n === z.ShadowDom || n === z.ExperimentalIsolatedShadowDom, s = e6.selectRootElement(t, i); + return Bd(s), s; } -function $d(e6) { - Ud(e6); +function Bd(e6) { + $d(e6); } -var Ud = () => null; -function zd(e6, t, n, r, o, i) { +var $d = () => null; +function Ud(e6, t, n, r, o, i) { if (e6.type & 3) { - let s = xe(e6, t); + let s = Ae(e6, t); r = i != null ? i(r, e6.value || "", n) : r, o.setProperty(s, n, r); } else e6.type & 12; } -function Gd(e6, t, n) { +function zd(e6, t, n) { let r = n.directiveStart, o = n.directiveEnd; - vt(n) && Dd(t, n, e6.data[r + n.componentOffset]), e6.firstCreatePass || Fa(n, t); + yt(n) && yd(t, n, e6.data[r + n.componentOffset]), e6.firstCreatePass || Ra(n, t); let i = n.initialInputs; for (let s = r; s < o; s++) { - let a = e6.data[s], c = Lo(t, e6, s, n); - if (At(c, t), i !== null && Zd(t, s - r, c, a, n, i), Ze(a)) { - let u = he(n.index, t); - u[F] = Lo(t, e6, s, n); + let a = e6.data[s], c = ko(t, e6, s, n); + if (_t(c, t), i !== null && qd(t, s - r, c, a, n, i), qe(a)) { + let l = pe(n.index, t); + l[L] = ko(t, e6, s, n); } } } function Wd(e6, t, n) { - let r = n.directiveStart, o = n.directiveEnd, i = n.index, s = Ws(); + let r = n.directiveStart, o = n.directiveEnd, i = n.index, s = $s(); try { - ge(i); + he(i); for (let a = r; a < o; a++) { - let c = e6.data[a], u = t[a]; - Mn(a), (c.hostBindings !== null || c.hostVars !== 0 || c.hostAttrs !== null) && qd(c, u); + let c = e6.data[a], l = t[a]; + wn(a), (c.hostBindings !== null || c.hostVars !== 0 || c.hostAttrs !== null) && Gd(c, l); } } finally { - ge(-1), Mn(s); + he(-1), wn(s); } } -function qd(e6, t) { +function Gd(e6, t) { e6.hostBindings !== null && e6.hostBindings(1, t); } -function Zd(e6, t, n, r, o, i) { +function qd(e6, t, n, r, o, i) { let s = i[t]; if (s !== null) for (let a = 0; a < s.length; a += 2) { - let c = s[a], u = s[a + 1]; - Qo(r, n, c, u); + let c = s[a], l = s[a + 1]; + qo(r, n, c, l); } } -function Yd(e6, t, n, r, o) { - let i = z + n, s = t[y], a = o(s, t, e6, r, n); - t[i] = a, wt(e6, true); +function Zd(e6, t, n, r, o) { + let i = U + n, s = t[y], a = o(s, t, e6, r, n); + t[i] = a, Dt(e6, true); let c = e6.type === 2; - return c ? (ac(t[L], a, e6), (Fs() === 0 || As(e6)) && At(a, t), Ls()) : At(a, t), Co() && (!c || !ci(e6)) && Dc(s, t, a, e6), e6; + return c ? (ic(t[P], a, e6), (As() === 0 || Ss(e6)) && _t(a, t), Rs()) : _t(a, t), Eo() && (!c || !oi(e6)) && mc(s, t, a, e6), e6; } function Qd(e6) { let t = e6; - return go() ? $s() : (t = t.parent, wt(t, false)), t; + return fo() ? js() : (t = t.parent, Dt(t, false)), t; } -function Kd(e6, t, n, r, o) { +function Yd(e6, t, n, r, o) { let i = e6.inputs?.[r], s = e6.hostDirectiveInputs?.[r], a = false; if (s) for (let c = 0; c < s.length; c += 2) { - let u = s[c], l = s[c + 1], d = t.data[u]; - Qo(d, n[u], l, o), a = true; + let l = s[c], u = s[c + 1], d = t.data[l]; + qo(d, n[l], u, o), a = true; } if (i) for (let c of i) { - let u = n[c], l = t.data[c]; - Qo(l, u, r, o), a = true; + let l = n[c], u = t.data[c]; + qo(u, l, r, o), a = true; } return a; } -function Jd(e6, t) { - let n = he(t, e6), r = n[y]; - Xd(r, n); - let o = n[Z]; - o !== null && n[yn] === null && (n[yn] = Ka(o, n[be])), M(C.ComponentStart); +function Kd(e6, t) { + let n = pe(t, e6), r = n[y]; + Jd(r, n); + let o = n[q]; + o !== null && n[hn] === null && (n[hn] = Qa(o, n[_e])), M(w.ComponentStart); try { - Ec(r, n, n[F]); + vc(r, n, n[L]); } finally { - M(C.ComponentEnd, n[F]); + M(w.ComponentEnd, n[L]); } } -function Xd(e6, t) { +function Jd(e6, t) { for (let n = t.length; n < e6.blueprint.length; n++) t.push(e6.blueprint[n]); } -function Ec(e6, t, n) { - _n(t); +function vc(e6, t, n) { + Cn(t); try { let r = e6.viewQuery; - r !== null && Bo(1, r, n); + r !== null && Po(1, r, n); let o = e6.template; - o !== null && vc(e6, t, o, 1, n), e6.firstCreatePass && (e6.firstCreatePass = false), t[vn]?.finishViewCreation(e6), e6.staticContentQueries && Ja(e6, t), e6.staticViewQueries && Bo(2, e6.viewQuery, n); + o !== null && yc(e6, t, o, 1, n), e6.firstCreatePass && (e6.firstCreatePass = false), t[mn]?.finishViewCreation(e6), e6.staticContentQueries && Ya(e6, t), e6.staticViewQueries && Po(2, e6.viewQuery, n); let i = e6.components; - i !== null && ef(t, i); + i !== null && Xd(t, i); } catch (r) { throw e6.firstCreatePass && (e6.incompleteFirstPass = true, e6.firstCreatePass = false), r; } finally { - t[h] &= -5, Sn(); + t[h] &= -5, Tn(); } } -function ef(e6, t) { +function Xd(e6, t) { for (let n = 0; n < t.length; n++) - Jd(e6, t[n]); + Kd(e6, t[n]); } -function xt(e6, t, n, r, o = false) { +function Nt(e6, t, n, r, o = false) { for (; n !== null; ) { if (n.type === 128) { n = o ? n.projectionNext : n.next; continue; } let i = t[n.index]; - i !== null && r.push(pe(i)), fe(i) && Ic(i, r); + i !== null && r.push(fe(i)), de(i) && Ec(i, r); let s = n.type; if (s & 8) - xt(e6, t, n.child, r); + Nt(e6, t, n.child, r); else if (s & 32) { - let a = pc(n, t), c; + let a = dc(n, t), c; for (; c = a(); ) r.push(c); } else if (s & 16) { @@ -3214,252 +3227,252 @@ function xt(e6, t, n, r, o = false) { r.push(...a); else { let c = Te(t[Q]); - xt(c[y], c, a, r, true); + Nt(c[y], c, a, r, true); } } n = o ? n.projectionNext : n.next; } return r; } -function Ic(e6, t) { - for (let n = ie; n < e6.length; n++) { +function Ec(e6, t) { + for (let n = oe; n < e6.length; n++) { let r = e6[n], o = r[y].firstChild; - o !== null && xt(r[y], r, o, t); + o !== null && Nt(r[y], r, o, t); } - e6[Cn] !== e6[Z] && t.push(e6[Cn]); + e6[En] !== e6[q] && t.push(e6[En]); } -function Cc(e6) { - if (e6[In] !== null) { - for (let t of e6[In]) +function Ic(e6) { + if (e6[vn] !== null) { + for (let t of e6[vn]) t.impl.addSequence(t); - e6[In].length = 0; + e6[vn].length = 0; } } -var wc = []; -function tf(e6) { - return e6[P] ?? nf(e6); +var Dc = []; +function ef(e6) { + return e6[F] ?? tf(e6); } -function nf(e6) { - let t = wc.pop() ?? Object.create(of); +function tf(e6) { + let t = Dc.pop() ?? Object.create(rf); return t.lView = e6, t; } -function rf(e6) { - e6.lView[P] !== e6 && (e6.lView = null, wc.push(e6)); +function nf(e6) { + e6.lView[F] !== e6 && (e6.lView = null, Dc.push(e6)); } -var of = V(x({}, Yt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { - Ct(e6.lView); +var rf = V(A({}, Gt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { + It(e6.lView); }, consumerOnSignalRead() { - this.lView[P] = this; + this.lView[F] = this; } }); -function sf(e6) { - let t = e6[P] ?? Object.create(af); +function of(e6) { + let t = e6[F] ?? Object.create(sf); return t.lView = e6, t; } -var af = V(x({}, Yt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { +var sf = V(A({}, Gt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { let t = Te(e6.lView); - for (; t && !Tc(t[y]); ) + for (; t && !wc(t[y]); ) t = Te(t); - t && lo(t); + t && ao(t); }, consumerOnSignalRead() { - this.lView[P] = this; + this.lView[F] = this; } }); -function Tc(e6) { +function wc(e6) { return e6.type !== 2; } -function Mc(e6) { - if (e6[yt] === null) +function Cc(e6) { + if (e6[gt] === null) return; let t = true; for (; t; ) { let n = false; - for (let r of e6[yt]) + for (let r of e6[gt]) r.dirty && (n = true, r.zone === null || Zone.current === r.zone ? r.run() : r.zone.run(() => r.run())); t = n && !!(e6[h] & 8192); } } -var cf = 100; -function _c(e6, t = 0) { - let r = e6[Y].rendererFactory, o = false; +var af = 100; +function Tc(e6, t = 0) { + let r = e6[Z].rendererFactory, o = false; o || r.begin?.(); try { - uf(e6, t); + cf(e6, t); } finally { o || r.end?.(); } } -function uf(e6, t) { - let n = mo(); +function cf(e6, t) { + let n = po(); try { - yo(true), Jo(e6, t); + ho(true), Qo(e6, t); let r = 0; - for (; It(e6); ) { - if (r === cf) + for (; Et(e6); ) { + if (r === af) throw new g(103, false); - r++, Jo(e6, 1); + r++, Qo(e6, 1); } } finally { - yo(n); + ho(n); } } function lf(e6, t, n, r) { - if (Ae(t)) + if (xe(t)) return; let o = t[h], i = false, s = false; - _n(t); - let a = true, c = null, u = null; - i || (Tc(e6) ? (u = tf(t), c = hr(u)) : Zt() === null ? (a = false, u = sf(t), c = hr(u)) : t[P] && (Qt(t[P]), t[P] = null)); + Cn(t); + let a = true, c = null, l = null; + i || (wc(e6) ? (l = ef(t), c = dr(l)) : Wt() === null ? (a = false, l = of(t), c = dr(l)) : t[F] && (qt(t[F]), t[F] = null)); try { - uo(t), Us(e6.bindingStartIndex), n !== null && vc(e6, t, n, 2, r); - let l = (o & 3) === 3; + so(t), Hs(e6.bindingStartIndex), n !== null && yc(e6, t, n, 2, r); + let u = (o & 3) === 3; if (!i) - if (l) { + if (u) { let f = e6.preOrderCheckHooks; - f !== null && Rn(t, f, null); + f !== null && Nn(t, f, null); } else { let f = e6.preOrderHooks; - f !== null && On(t, f, 0, null), Ao(t, 0); + f !== null && xn(t, f, 0, null), bo(t, 0); } - if (s || df(t), Mc(t), Sc(t, 0), e6.contentQueries !== null && Ja(e6, t), !i) - if (l) { + if (s || uf(t), Cc(t), Mc(t, 0), e6.contentQueries !== null && Ya(e6, t), !i) + if (u) { let f = e6.contentCheckHooks; - f !== null && Rn(t, f); + f !== null && Nn(t, f); } else { let f = e6.contentHooks; - f !== null && On(t, f, 1), Ao(t, 1); + f !== null && xn(t, f, 1), bo(t, 1); } - pf(e6, t); + ff(e6, t); let d = e6.components; - d !== null && Nc(t, d, 0); + d !== null && bc(t, d, 0); let p = e6.viewQuery; - if (p !== null && Bo(2, p, r), !i) - if (l) { + if (p !== null && Po(2, p, r), !i) + if (u) { let f = e6.viewCheckHooks; - f !== null && Rn(t, f); + f !== null && Nn(t, f); } else { let f = e6.viewHooks; - f !== null && On(t, f, 2), Ao(t, 2); + f !== null && xn(t, f, 2), bo(t, 2); } - if (e6.firstUpdatePass === true && (e6.firstUpdatePass = false), t[En]) { - for (let f of t[En]) + if (e6.firstUpdatePass === true && (e6.firstUpdatePass = false), t[yn]) { + for (let f of t[yn]) f(); - t[En] = null; + t[yn] = null; } - i || (Cc(t), t[h] &= -73); - } catch (l) { - throw i || Ct(t), l; + i || (Ic(t), t[h] &= -73); + } catch (u) { + throw i || It(t), u; } finally { - u !== null && (Ui(u, c), a && rf(u)), Sn(); + l !== null && (Hi(l, c), a && nf(l)), Tn(); } } -function Sc(e6, t) { - for (let n = Ga(e6); n !== null; n = Wa(n)) - for (let r = ie; r < n.length; r++) { +function Mc(e6, t) { + for (let n = Ua(e6); n !== null; n = za(n)) + for (let r = oe; r < n.length; r++) { let o = n[r]; - bc(o, t); + Sc(o, t); } } -function df(e6) { - for (let t = Ga(e6); t !== null; t = Wa(t)) { +function uf(e6) { + for (let t = Ua(e6); t !== null; t = za(t)) { if (!(t[h] & 2)) continue; - let n = t[Dt]; + let n = t[mt]; for (let r = 0; r < n.length; r++) { let o = n[r]; - lo(o); + ao(o); } } } -function ff(e6, t, n) { - M(C.ComponentStart); - let r = he(t, e6); +function df(e6, t, n) { + M(w.ComponentStart); + let r = pe(t, e6); try { - bc(r, n); + Sc(r, n); } finally { - M(C.ComponentEnd, r[F]); + M(w.ComponentEnd, r[L]); } } -function bc(e6, t) { - wn(e6) && Jo(e6, t); +function Sc(e6, t) { + In(e6) && Qo(e6, t); } -function Jo(e6, t) { - let r = e6[y], o = e6[h], i = e6[P], s = !!(t === 0 && o & 16); - if (s ||= !!(o & 64 && t === 0), s ||= !!(o & 1024), s ||= !!(i?.dirty && gr(i)), s ||= false, i && (i.dirty = false), e6[h] &= -9217, s) - lf(r, e6, r.template, e6[F]); +function Qo(e6, t) { + let r = e6[y], o = e6[h], i = e6[F], s = !!(t === 0 && o & 16); + if (s ||= !!(o & 64 && t === 0), s ||= !!(o & 1024), s ||= !!(i?.dirty && fr(i)), s ||= false, i && (i.dirty = false), e6[h] &= -9217, s) + lf(r, e6, r.template, e6[L]); else if (o & 8192) { - let a = D(null); + let a = v(null); try { - Mc(e6), Sc(e6, 1); + Cc(e6), Mc(e6, 1); let c = r.components; - c !== null && Nc(e6, c, 1), Cc(e6); + c !== null && bc(e6, c, 1), Ic(e6); } finally { - D(a); + v(a); } } } -function Nc(e6, t, n) { +function bc(e6, t, n) { for (let r = 0; r < t.length; r++) - ff(e6, t[r], n); + df(e6, t[r], n); } -function pf(e6, t) { +function ff(e6, t) { let n = e6.hostBindingOpCodes; if (n !== null) try { for (let r = 0; r < n.length; r++) { let o = n[r]; if (o < 0) - ge(~o); + he(~o); else { let i = o, s = n[++r], a = n[++r]; - Gs(s, i); + Bs(s, i); let c = t[i]; - M(C.HostBindingsUpdateStart, c); + M(w.HostBindingsUpdateStart, c); try { a(2, c); } finally { - M(C.HostBindingsUpdateEnd, c); + M(w.HostBindingsUpdateEnd, c); } } } } finally { - ge(-1); + he(-1); } } -function Ac(e6, t) { - let n = mo() ? 64 : 1088; - for (e6[Y].changeDetectionScheduler?.notify(t); e6; ) { +function _c(e6, t) { + let n = po() ? 64 : 1088; + for (e6[Z].changeDetectionScheduler?.notify(t); e6; ) { e6[h] |= n; let r = Te(e6); - if (Ye(e6) && !r) + if (Ze(e6) && !r) return e6; e6 = r; } return null; } -function hf(e6, t) { - if (e6.length <= ie) +function pf(e6, t) { + if (e6.length <= oe) return; - let n = ie + t, r = e6[n]; + let n = oe + t, r = e6[n]; if (r) { - let o = r[mt]; - o !== null && o !== e6 && mi(o, r), t > 0 && (e6[n - 1][re] = r[re]); - let i = eo(e6, ie + t); - Md(r[y], r); - let s = i[vn]; - s !== null && s.detachView(i[y]), r[k] = null, r[re] = null, r[h] &= -129; + let o = r[ht]; + o !== null && o !== e6 && fi(o, r), t > 0 && (e6[n - 1][ne] = r[ne]); + let i = Kr(e6, oe + t); + Td(r[y], r); + let s = i[mn]; + s !== null && s.detachView(i[y]), r[O] = null, r[ne] = null, r[h] &= -129; } return r; } -function gf(e6, t) { - let n = e6[Dt], r = t[k]; - if (de(r)) +function hf(e6, t) { + let n = e6[mt], r = t[O]; + if (ue(r)) e6[h] |= 2; else { - let o = r[k][Q]; + let o = r[O][Q]; t[Q] !== o && (e6[h] |= 2); } - n === null ? e6[Dt] = [t] : n.push(t); + n === null ? e6[mt] = [t] : n.push(t); } -var Pn = class { +var On = class { _lView; _cdRefInjectingView; _appRef = null; @@ -3467,47 +3480,47 @@ var Pn = class { exhaustive; get rootNodes() { let t = this._lView, n = t[y]; - return xt(n, t, n.firstChild, []); + return Nt(n, t, n.firstChild, []); } constructor(t, n) { this._lView = t, this._cdRefInjectingView = n; } get context() { - return this._lView[F]; + return this._lView[L]; } set context(t) { - this._lView[F] = t; + this._lView[L] = t; } get destroyed() { - return Ae(this._lView); + return xe(this._lView); } destroy() { if (this._appRef) this._appRef.detachView(this); else if (this._attachedToViewContainer) { - let t = this._lView[k]; - if (fe(t)) { - let n = t[Ns], r = n ? n.indexOf(this) : -1; - r > -1 && (hf(t, r), eo(n, r)); + let t = this._lView[O]; + if (de(t)) { + let n = t[Ms], r = n ? n.indexOf(this) : -1; + r > -1 && (pf(t, r), Kr(n, r)); } this._attachedToViewContainer = false; } Sd(this._lView[y], this._lView); } onDestroy(t) { - po(this._lView, t); + lo(this._lView, t); } markForCheck() { - Ac(this._cdRefInjectingView || this._lView, 4); + _c(this._cdRefInjectingView || this._lView, 4); } detach() { this._lView[h] &= -129; } reattach() { - fo(this._lView), this._lView[h] |= 128; + co(this._lView), this._lView[h] |= 128; } detectChanges() { - this._lView[h] |= 1024, _c(this._lView); + this._lView[h] |= 1024, Tc(this._lView); } checkNoChanges() { } @@ -3518,72 +3531,72 @@ var Pn = class { } detachFromAppRef() { this._appRef = null; - let t = Ye(this._lView), n = this._lView[mt]; - n !== null && !t && mi(n, this._lView), yc(this._lView[y], this._lView); + let t = Ze(this._lView), n = this._lView[ht]; + n !== null && !t && fi(n, this._lView), gc(this._lView[y], this._lView); } attachToAppRef(t) { if (this._attachedToViewContainer) throw new g(902, false); this._appRef = t; - let n = Ye(this._lView), r = this._lView[mt]; - r !== null && !n && gf(r, this._lView), fo(this._lView); + let n = Ze(this._lView), r = this._lView[ht]; + r !== null && !n && hf(r, this._lView), co(this._lView); } }; -function vi(e6, t, n, r, o) { +function gi(e6, t, n, r, o) { let i = e6.data[t]; if (i === null) - i = mf(e6, t, n, r, o), zs() && (i.flags |= 32); + i = gf(e6, t, n, r, o), Vs() && (i.flags |= 32); else if (i.type & 64) { i.type = n, i.value = r, i.attrs = o; - let s = Hs(); + let s = Fs(); i.injectorIndex = s === null ? -1 : s.injectorIndex; } - return wt(i, true), i; + return Dt(i, true), i; } -function mf(e6, t, n, r, o) { - let i = ho(), s = go(), a = s ? i : i && i.parent, c = e6.data[t] = Df(e6, a, n, t, r, o); - return yf(e6, c, i, s), c; +function gf(e6, t, n, r, o) { + let i = uo(), s = fo(), a = s ? i : i && i.parent, c = e6.data[t] = yf(e6, a, n, t, r, o); + return mf(e6, c, i, s), c; } -function yf(e6, t, n, r) { +function mf(e6, t, n, r) { e6.firstChild === null && (e6.firstChild = t), n !== null && (r ? n.child == null && t.parent !== null && (n.child = t) : n.next === null && (n.next = t, t.prev = n)); } -function Df(e6, t, n, r, o, i) { +function yf(e6, t, n, r, o, i) { let s = t ? t.injectorIndex : -1, a = 0; - return js() && (a |= 128), { type: n, index: r, insertBeforeIndex: null, injectorIndex: s, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, controlDirectiveIndex: -1, customControlIndex: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: o, attrs: i, mergedAttrs: null, localNames: null, initialInputs: null, inputs: null, hostDirectiveInputs: null, outputs: null, hostDirectiveOutputs: null, directiveToIndex: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 }; + return Os() && (a |= 128), { type: n, index: r, insertBeforeIndex: null, injectorIndex: s, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, controlDirectiveIndex: -1, customControlIndex: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: o, attrs: i, mergedAttrs: null, localNames: null, initialInputs: null, inputs: null, hostDirectiveInputs: null, outputs: null, hostDirectiveOutputs: null, directiveToIndex: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 }; } -var xc = class { +var Nc = class { }; -var Qn = class { +var qn = class { }; -var Xo = class { +var Yo = class { resolveComponentFactory(t) { throw new g(917, false); } }; -var Kn = class { - static NULL = new Xo(); +var Zn = class { + static NULL = new Yo(); }; var Re = class { }; -var Rc = (() => { +var xc = (() => { class e6 { - static \u0275prov = _({ token: e6, providedIn: "root", factory: () => null }); + static \u0275prov = S({ token: e6, providedIn: "root", factory: () => null }); } return e6; })(); -var kn = {}; -var ei = class { +var An = {}; +var Ko = class { injector; parentInjector; constructor(t, n) { this.injector = t, this.parentInjector = n; } get(t, n, r) { - let o = this.injector.get(t, kn, r); - return o !== kn || n === kn ? o : this.parentInjector.get(t, n, r); + let o = this.injector.get(t, An, r); + return o !== An || n === An ? o : this.parentInjector.get(t, n, r); } }; -function jn(e6, t, n) { +function Ln(e6, t, n) { let r = n ? e6.styles : null, o = n ? e6.classes : null, i = 0; if (t !== null) for (let s = 0; s < t.length; s++) { @@ -3591,31 +3604,31 @@ function jn(e6, t, n) { if (typeof a == "number") i = a; else if (i == 1) - o = zr(o, a); + o = Br(o, a); else if (i == 2) { - let c = a, u = t[++s]; - r = zr(r, c + ": " + u + ";"); + let c = a, l = t[++s]; + r = Br(r, c + ": " + l + ";"); } } n ? e6.styles = r : e6.stylesWithoutHost = r, n ? e6.classes = o : e6.classesWithoutHost = o; } -function ot(e6, t = 0) { - let n = B(); +function kt(e6, t = 0) { + let n = H(); if (n === null) - return E(e6, t); + return I(e6, t); let r = Qe(); - return Va(r, n, O(e6), t); + return Fa(r, n, k(e6), t); } function vf(e6, t, n, r, o) { let i = r === null ? null : { "": -1 }, s = o(e6, n); if (s !== null) { - let a = s, c = null, u = null; - for (let l of s) - if (l.resolveHostDirectives !== null) { - [a, c, u] = l.resolveHostDirectives(s); + let a = s, c = null, l = null; + for (let u of s) + if (u.resolveHostDirectives !== null) { + [a, c, l] = u.resolveHostDirectives(s); break; } - Cf(e6, t, n, a, i, c, u); + Df(e6, t, n, a, i, c, l); } i !== null && r !== null && Ef(n, r, i); } @@ -3631,29 +3644,29 @@ function Ef(e6, t, n) { function If(e6, t, n) { t.componentOffset = n, (e6.components ??= []).push(t.index); } -function Cf(e6, t, n, r, o, i, s) { +function Df(e6, t, n, r, o, i, s) { let a = r.length, c = null; for (let p = 0; p < a; p++) { let f = r[p]; - c === null && Ze(f) && (c = f, If(e6, n, p)), Sl(Fa(n, t), e6, f.type); + c === null && qe(f) && (c = f, If(e6, n, p)), Su(Ra(n, t), e6, f.type); } bf(n, e6.data.length, a), c?.viewProvidersResolver && c.viewProvidersResolver(c); for (let p = 0; p < a; p++) { let f = r[p]; f.providersResolver && f.providersResolver(f); } - let u = false, l = false, d = dc(e6, t, a, null); + let l = false, u = false, d = lc(e6, t, a, null); a > 0 && (n.directiveToIndex = /* @__PURE__ */ new Map()); for (let p = 0; p < a; p++) { let f = r[p]; - if (n.mergedAttrs = oi(n.mergedAttrs, f.hostAttrs), Tf(e6, n, t, d, f), Sf(d, f, o), s !== null && s.has(f)) { - let [ur, tu] = s.get(f); - n.directiveToIndex.set(f.type, [d, ur + n.directiveStart, tu + n.directiveStart]); + if (n.mergedAttrs = ti(n.mergedAttrs, f.hostAttrs), Cf(e6, n, t, d, f), Sf(d, f, o), s !== null && s.has(f)) { + let [sr, el] = s.get(f); + n.directiveToIndex.set(f.type, [d, sr + n.directiveStart, el + n.directiveStart]); } else (i === null || !i.has(f)) && n.directiveToIndex.set(f.type, d); f.contentQueries !== null && (n.flags |= 4), (f.hostBindings !== null || f.hostAttrs !== null || f.hostVars !== 0) && (n.flags |= 64); let T = f.type.prototype; - !u && (T.ngOnChanges || T.ngOnInit || T.ngDoCheck) && ((e6.preOrderHooks ??= []).push(n.index), u = true), !l && (T.ngOnChanges || T.ngDoCheck) && ((e6.preOrderCheckHooks ??= []).push(n.index), l = true), d++; + !l && (T.ngOnChanges || T.ngOnInit || T.ngDoCheck) && ((e6.preOrderHooks ??= []).push(n.index), l = true), !u && (T.ngOnChanges || T.ngDoCheck) && ((e6.preOrderCheckHooks ??= []).push(n.index), u = true), d++; } wf(e6, n, i); } @@ -3661,35 +3674,35 @@ function wf(e6, t, n) { for (let r = t.directiveStart; r < t.directiveEnd; r++) { let o = e6.data[r]; if (n === null || !n.has(o)) - Ta(0, t, o, r), Ta(1, t, o, r), _a(t, r, false); + Ia(0, t, o, r), Ia(1, t, o, r), wa(t, r, false); else { let i = n.get(o); - Ma(0, t, i, r), Ma(1, t, i, r), _a(t, r, true); + Da(0, t, i, r), Da(1, t, i, r), wa(t, r, true); } } } -function Ta(e6, t, n, r) { +function Ia(e6, t, n, r) { let o = e6 === 0 ? n.inputs : n.outputs; for (let i in o) if (o.hasOwnProperty(i)) { let s; - e6 === 0 ? s = t.inputs ??= {} : s = t.outputs ??= {}, s[i] ??= [], s[i].push(r), Oc(t, i); + e6 === 0 ? s = t.inputs ??= {} : s = t.outputs ??= {}, s[i] ??= [], s[i].push(r), Ac(t, i); } } -function Ma(e6, t, n, r) { +function Da(e6, t, n, r) { let o = e6 === 0 ? n.inputs : n.outputs; for (let i in o) if (o.hasOwnProperty(i)) { let s = o[i], a; - e6 === 0 ? a = t.hostDirectiveInputs ??= {} : a = t.hostDirectiveOutputs ??= {}, a[s] ??= [], a[s].push(r, i), Oc(t, s); + e6 === 0 ? a = t.hostDirectiveInputs ??= {} : a = t.hostDirectiveOutputs ??= {}, a[s] ??= [], a[s].push(r, i), Ac(t, s); } } -function Oc(e6, t) { +function Ac(e6, t) { t === "class" ? e6.flags |= 8 : t === "style" && (e6.flags |= 16); } -function _a(e6, t, n) { +function wa(e6, t, n) { let { attrs: r, inputs: o, hostDirectiveInputs: i } = e6; - if (r === null || !n && o === null || n && i === null || fd(e6)) { + if (r === null || !n && o === null || n && i === null || dd(e6)) { e6.initialInputs ??= [], e6.initialInputs.push(null); return; } @@ -3705,17 +3718,17 @@ function _a(e6, t, n) { } else if (typeof c == "number") break; if (!n && o.hasOwnProperty(c)) { - let u = o[c]; - for (let l of u) - if (l === t) { + let l = o[c]; + for (let u of l) + if (u === t) { s ??= [], s.push(c, r[a + 1]); break; } } else if (n && i.hasOwnProperty(c)) { - let u = i[c]; - for (let l = 0; l < u.length; l += 2) - if (u[l] === t) { - s ??= [], s.push(u[l + 1], r[a + 1]); + let l = i[c]; + for (let u = 0; u < l.length; u += 2) + if (l[u] === t) { + s ??= [], s.push(l[u + 1], r[a + 1]); break; } } @@ -3723,21 +3736,21 @@ function _a(e6, t, n) { } e6.initialInputs ??= [], e6.initialInputs.push(s); } -function Tf(e6, t, n, r, o) { +function Cf(e6, t, n, r, o) { e6.data[r] = o; - let i = o.factory || (o.factory = $e(o.type, true)), s = new Nt(i, Ze(o), ot, null); - e6.blueprint[r] = s, n[r] = s, Mf(e6, t, r, dc(e6, n, o.hostVars, nt), o); + let i = o.factory || (o.factory = $e(o.type, true)), s = new bt(i, qe(o), kt, null); + e6.blueprint[r] = s, n[r] = s, Tf(e6, t, r, lc(e6, n, o.hostVars, tt), o); } -function Mf(e6, t, n, r, o) { +function Tf(e6, t, n, r, o) { let i = o.hostBindings; if (i) { let s = e6.hostBindingOpCodes; s === null && (s = e6.hostBindingOpCodes = []); let a = ~t.index; - _f(s) != a && s.push(a), s.push(n, r, i); + Mf(s) != a && s.push(a), s.push(n, r, i); } } -function _f(e6) { +function Mf(e6) { let t = e6.length; for (; t > 0; ) { let n = e6[--t]; @@ -3751,77 +3764,77 @@ function Sf(e6, t, n) { if (t.exportAs) for (let r = 0; r < t.exportAs.length; r++) n[t.exportAs[r]] = e6; - Ze(t) && (n[""] = e6); + qe(t) && (n[""] = e6); } } function bf(e6, t, n) { e6.flags |= 1, e6.directiveStart = t, e6.directiveEnd = t + n, e6.providerIndexes = t; } -function Nf(e6, t, n, r, o, i, s, a) { - let c = t[y], u = c.consts, l = Et(u, s), d = vi(c, e6, n, r, l); - return i && vf(c, t, d, Et(u, a), o), d.mergedAttrs = oi(d.mergedAttrs, d.attrs), d.attrs !== null && jn(d, d.attrs, false), d.mergedAttrs !== null && jn(d, d.mergedAttrs, true), c.queries !== null && c.queries.elementStart(c, d), d; +function _f(e6, t, n, r, o, i, s, a) { + let c = t[y], l = c.consts, u = vt(l, s), d = gi(c, e6, n, r, u); + return i && vf(c, t, d, vt(l, a), o), d.mergedAttrs = ti(d.mergedAttrs, d.attrs), d.attrs !== null && Ln(d, d.attrs, false), d.mergedAttrs !== null && Ln(d, d.mergedAttrs, true), c.queries !== null && c.queries.elementStart(c, d), d; } -function Af(e6, t) { - Dl(e6, t), ao(t) && e6.queries.elementEnd(t); +function Nf(e6, t) { + yu(e6, t), oo(t) && e6.queries.elementEnd(t); } function xf(e6, t, n, r, o, i) { - let s = t.consts, a = Et(s, o), c = vi(t, e6, n, r, a); - if (c.mergedAttrs = oi(c.mergedAttrs, c.attrs), i != null) { - let u = Et(s, i); + let s = t.consts, a = vt(s, o), c = gi(t, e6, n, r, a); + if (c.mergedAttrs = ti(c.mergedAttrs, c.attrs), i != null) { + let l = vt(s, i); c.localNames = []; - for (let l = 0; l < u.length; l += 2) - c.localNames.push(u[l], -1); + for (let u = 0; u < l.length; u += 2) + c.localNames.push(l[u], -1); } - return c.attrs !== null && jn(c, c.attrs, false), c.mergedAttrs !== null && jn(c, c.mergedAttrs, true), t.queries !== null && t.queries.elementStart(t, c), c; + return c.attrs !== null && Ln(c, c.attrs, false), c.mergedAttrs !== null && Ln(c, c.mergedAttrs, true), t.queries !== null && t.queries.elementStart(t, c), c; } -function kc(e6, t, n) { - if (n === nt) +function Rc(e6, t, n) { + if (n === tt) return false; let r = e6[t]; return Object.is(r, n) ? false : (e6[t] = n, true); } -var ti = Symbol("BINDING"); -function Rf(e6) { +var Jo = Symbol("BINDING"); +function Af(e6) { return e6.debugInfo?.className || e6.type.name || null; } -var ni = class extends Kn { +var Xo = class extends Zn { ngModule; constructor(t) { super(), this.ngModule = t; } resolveComponentFactory(t) { - let n = ft(t); - return new Bn(n, this.ngModule); + let n = ut(t); + return new Pn(n, this.ngModule); } }; -function Of(e6) { +function Rf(e6) { return Object.keys(e6).map((t) => { - let [n, r, o] = e6[t], i = { propName: n, templateName: t, isSignal: (r & Yn.SignalBased) !== 0 }; + let [n, r, o] = e6[t], i = { propName: n, templateName: t, isSignal: (r & Gn.SignalBased) !== 0 }; return o && (i.transform = o), i; }); } function kf(e6) { return Object.keys(e6).map((t) => ({ propName: e6[t], templateName: t })); } -function Ff(e6, t, n) { - let r = t instanceof U ? t : t?.injector; - return r && e6.getStandaloneInjector !== null && (r = e6.getStandaloneInjector(r) || r), r ? new ei(n, r) : n; +function Of(e6, t, n) { + let r = t instanceof $ ? t : t?.injector; + return r && e6.getStandaloneInjector !== null && (r = e6.getStandaloneInjector(r) || r), r ? new Ko(n, r) : n; } function Lf(e6) { let t = e6.get(Re, null); if (t === null) throw new g(407, false); - let n = e6.get(Rc, null), r = e6.get(Ue, null), o = e6.get(rt, null, { optional: true }); + let n = e6.get(xc, null), r = e6.get(Ue, null), o = e6.get(nt, null, { optional: true }); return { rendererFactory: t, sanitizer: n, changeDetectionScheduler: r, ngReflect: false, tracingService: o }; } function Pf(e6, t) { - let n = Fc(e6); - return ic(t, n, n === "svg" ? xs : n === "math" ? Rs : null); + let n = kc(e6); + return rc(t, n, n === "svg" ? bs : n === "math" ? _s : null); } -function Fc(e6) { +function kc(e6) { return (e6.selectors[0][0] || "div").toLowerCase(); } -var Bn = class extends Qn { +var Pn = class extends qn { componentDef; ngModule; selector; @@ -3831,63 +3844,63 @@ var Bn = class extends Qn { cachedInputs = null; cachedOutputs = null; get inputs() { - return this.cachedInputs ??= Of(this.componentDef.inputs), this.cachedInputs; + return this.cachedInputs ??= Rf(this.componentDef.inputs), this.cachedInputs; } get outputs() { return this.cachedOutputs ??= kf(this.componentDef.outputs), this.cachedOutputs; } constructor(t, n) { - super(), this.componentDef = t, this.ngModule = n, this.componentType = t.type, this.selector = hd(t.selectors), this.ngContentSelectors = t.ngContentSelectors ?? [], this.isBoundToModule = !!n; + super(), this.componentDef = t, this.ngModule = n, this.componentType = t.type, this.selector = pd(t.selectors), this.ngContentSelectors = t.ngContentSelectors ?? [], this.isBoundToModule = !!n; } create(t, n, r, o, i, s) { - M(C.DynamicComponentStart); - let a = D(null); + M(w.DynamicComponentStart); + let a = v(null); try { - let c = this.componentDef, u = Ff(c, o || this.ngModule, t), l = Lf(u), d = l.tracingService; - return d && d.componentCreate ? d.componentCreate(Rf(c), () => this.createComponentRef(l, u, n, r, i, s)) : this.createComponentRef(l, u, n, r, i, s); + let c = this.componentDef, l = Of(c, o || this.ngModule, t), u = Lf(l), d = u.tracingService; + return d && d.componentCreate ? d.componentCreate(Af(c), () => this.createComponentRef(u, l, n, r, i, s)) : this.createComponentRef(u, l, n, r, i, s); } finally { - D(a); + v(a); } } createComponentRef(t, n, r, o, i, s) { - let a = this.componentDef, c = jf(o, a, s, i), u = t.rendererFactory.createRenderer(null, a), l = o ? Hd(u, o, a.encapsulation, n) : Pf(a, u), d = s?.some(Sa) || i?.some((T) => typeof T != "function" && T.bindings.some(Sa)), p = uc(null, c, null, 512 | lc(a), null, null, t, u, n, null, Ka(l, n, true)); - p[z] = l, _n(p); + let a = this.componentDef, c = Ff(o, a, s, i), l = t.rendererFactory.createRenderer(null, a), u = o ? Vd(l, o, a.encapsulation, n) : Pf(a, l), d = s?.some(Ca) || i?.some((T) => typeof T != "function" && T.bindings.some(Ca)), p = ac(null, c, null, 512 | cc(a), null, null, t, l, n, null, Qa(u, n, true)); + p[U] = u, Cn(p); let f = null; try { - let T = Nf(z, p, 2, "#host", () => c.directiveRegistry, true, 0); - ac(u, l, T), At(l, p), Bd(c, p, T), Vl(c, T, p), Af(c, T), r !== void 0 && Vf(T, this.ngContentSelectors, r), f = he(T.index, p), p[F] = f[F], Ec(c, p, null); + let T = _f(U, p, 2, "#host", () => c.directiveRegistry, true, 0); + ic(l, u, T), _t(u, p), jd(c, p, T), Hu(c, T, p), Nf(c, T), r !== void 0 && Hf(T, this.ngContentSelectors, r), f = pe(T.index, p), p[L] = f[L], vc(c, p, null); } catch (T) { - throw f !== null && Po(f), Po(p), T; + throw f !== null && Oo(f), Oo(p), T; } finally { - M(C.DynamicComponentEnd), Sn(); + M(w.DynamicComponentEnd), Tn(); } - return new Vn(this.componentType, p, !!d); + return new Fn(this.componentType, p, !!d); } }; -function jf(e6, t, n, r) { - let o = e6 ? ["ng-version", "21.2.11"] : gd(t.selectors[0]), i = null, s = null, a = 0; +function Ff(e6, t, n, r) { + let o = e6 ? ["ng-version", "21.2.11"] : hd(t.selectors[0]), i = null, s = null, a = 0; if (n) - for (let l of n) - a += l[ti].requiredVars, l.create && (l.targetIdx = 0, (i ??= []).push(l)), l.update && (l.targetIdx = 0, (s ??= []).push(l)); + for (let u of n) + a += u[Jo].requiredVars, u.create && (u.targetIdx = 0, (i ??= []).push(u)), u.update && (u.targetIdx = 0, (s ??= []).push(u)); if (r) - for (let l = 0; l < r.length; l++) { - let d = r[l]; + for (let u = 0; u < r.length; u++) { + let d = r[u]; if (typeof d != "function") for (let p of d.bindings) { - a += p[ti].requiredVars; - let f = l + 1; + a += p[Jo].requiredVars; + let f = u + 1; p.create && (p.targetIdx = f, (i ??= []).push(p)), p.update && (p.targetIdx = f, (s ??= []).push(p)); } } let c = [t]; if (r) - for (let l of r) { - let d = typeof l == "function" ? l : l.type, p = Yr(d); + for (let u of r) { + let d = typeof u == "function" ? u : u.type, p = Gr(d); c.push(p); } - return cc(0, null, Bf(i, s), 1, a, c, null, null, null, [o], null); + return sc(0, null, jf(i, s), 1, a, c, null, null, null, [o], null); } -function Bf(e6, t) { +function jf(e6, t) { return !e6 && !t ? null : (n) => { if (n & 1 && e6) for (let r of e6) @@ -3897,11 +3910,11 @@ function Bf(e6, t) { r.update(); }; } -function Sa(e6) { - let t = e6[ti].kind; +function Ca(e6) { + let t = e6[Jo].kind; return t === "input" || t === "twoWay"; } -var Vn = class extends xc { +var Fn = class extends Nc { _rootLView; _hasInputBindings; instance; @@ -3912,20 +3925,20 @@ var Vn = class extends xc { previousInputValues = null; _tNode; constructor(t, n, r) { - super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = co(n[y], z), this.location = Ua(this._tNode, n), this.instance = he(this._tNode.index, n)[F], this.hostView = this.changeDetectorRef = new Pn(n, void 0), this.componentType = t; + super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = io(n[y], U), this.location = Va(this._tNode, n), this.instance = pe(this._tNode.index, n)[L], this.hostView = this.changeDetectorRef = new On(n, void 0), this.componentType = t; } setInput(t, n) { this._hasInputBindings; let r = this._tNode; if (this.previousInputValues ??= /* @__PURE__ */ new Map(), this.previousInputValues.has(t) && Object.is(this.previousInputValues.get(t), n)) return; - let o = this._rootLView, i = Kd(r, o[y], o, t, n); + let o = this._rootLView, i = Yd(r, o[y], o, t, n); this.previousInputValues.set(t, n); - let s = he(r.index, o); - Ac(s, 1); + let s = pe(r.index, o); + _c(s, 1); } get injector() { - return new Ln(this._tNode, this._rootLView); + return new kn(this._tNode, this._rootLView); } destroy() { this.hostView.destroy(); @@ -3934,22 +3947,22 @@ var Vn = class extends xc { this.hostView.onDestroy(t); } }; -function Vf(e6, t, n) { +function Hf(e6, t, n) { let r = e6.projection = []; for (let o = 0; o < t.length; o++) { let i = n[o]; r.push(i != null && i.length ? Array.from(i) : null); } } -var Hn = class { +var jn = class { }; -var Rt = class extends Hn { +var xt = class extends jn { injector; - componentFactoryResolver = new ni(this); + componentFactoryResolver = new Xo(this); instance = null; constructor(t) { super(); - let n = new we([...t.providers, { provide: Hn, useValue: this }, { provide: Kn, useValue: this.componentFactoryResolver }], t.parent || gt(), t.debugName, /* @__PURE__ */ new Set(["environment"])); + let n = new Ce([...t.providers, { provide: jn, useValue: this }, { provide: Zn, useValue: this.componentFactoryResolver }], t.parent || pt(), t.debugName, /* @__PURE__ */ new Set(["environment"])); this.injector = n, t.runEnvironmentInitializers && n.resolveInjectorInitializers(); } destroy() { @@ -3959,10 +3972,10 @@ var Rt = class extends Hn { this.injector.onDestroy(t); } }; -function Lc(e6, t, n = null) { - return new Rt({ providers: e6, parent: t, debugName: n, runEnvironmentInitializers: true }).injector; +function Oc(e6, t, n = null) { + return new xt({ providers: e6, parent: t, debugName: n, runEnvironmentInitializers: true }).injector; } -var Hf = (() => { +var Vf = (() => { class e6 { _injector; cachedInjectors = /* @__PURE__ */ new Map(); @@ -3973,7 +3986,7 @@ var Hf = (() => { if (!n.standalone) return null; if (!this.cachedInjectors.has(n)) { - let r = ro(false, n.type), o = r.length > 0 ? Lc([r], this._injector, "") : null; + let r = eo(false, n.type), o = r.length > 0 ? Oc([r], this._injector, "") : null; this.cachedInjectors.set(n, o); } return this.cachedInjectors.get(n); @@ -3986,51 +3999,48 @@ var Hf = (() => { this.cachedInjectors.clear(); } } - static \u0275prov = _({ token: e6, providedIn: "environment", factory: () => new e6(E(U)) }); + static \u0275prov = S({ token: e6, providedIn: "environment", factory: () => new e6(I($)) }); } return e6; })(); -function Ei(e6) { - return ri(() => { - let t = Gf(e6), n = V(x({}, t), { decls: e6.decls, vars: e6.vars, template: e6.template, consts: e6.consts || null, ngContentSelectors: e6.ngContentSelectors, onPush: e6.changeDetection === si.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e6.dependencies || null, getStandaloneInjector: t.standalone ? (o) => o.get(Hf).getOrCreateStandaloneInjector(n) : null, getExternalStyles: null, signals: e6.signals ?? false, data: e6.data || {}, encapsulation: e6.encapsulation || G.Emulated, styles: e6.styles || $, _: null, schemas: e6.schemas || null, tView: null, id: "" }); - t.standalone && hc("NgStandalone"), Wf(n); +function mi(e6) { + return Ma(() => { + let t = zf(e6), n = V(A({}, t), { decls: e6.decls, vars: e6.vars, template: e6.template, consts: e6.consts || null, ngContentSelectors: e6.ngContentSelectors, onPush: e6.changeDetection === ni.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e6.dependencies || null, getStandaloneInjector: t.standalone ? (o) => o.get(Vf).getOrCreateStandaloneInjector(n) : null, getExternalStyles: null, signals: e6.signals ?? false, data: e6.data || {}, encapsulation: e6.encapsulation || z.Emulated, styles: e6.styles || we, _: null, schemas: e6.schemas || null, tView: null, id: "" }); + t.standalone && fc("NgStandalone"), Wf(n); let r = e6.dependencies; - return n.directiveDefs = ba(r, $f), n.pipeDefs = ba(r, Ds), n.id = qf(n), n; + return n.directiveDefs = Ta(r, Bf), n.pipeDefs = Ta(r, hs), n.id = Gf(n), n; }); } -function $f(e6) { - return ft(e6) || Yr(e6); +function Bf(e6) { + return ut(e6) || Gr(e6); } -function Ft(e6) { - return ri(() => ({ type: e6.type, bootstrap: e6.bootstrap || $, declarations: e6.declarations || $, imports: e6.imports || $, exports: e6.exports || $, transitiveCompileScopes: null, schemas: e6.schemas || null, id: e6.id || null })); -} -function Uf(e6, t) { +function $f(e6, t) { if (e6 == null) - return _e; + return Se; let n = {}; for (let r in e6) if (e6.hasOwnProperty(r)) { let o = e6[r], i, s, a, c; - Array.isArray(o) ? (a = o[0], i = o[1], s = o[2] ?? i, c = o[3] || null) : (i = o, s = o, a = Yn.None, c = null), n[i] = [r, a, c], t[i] = s; + Array.isArray(o) ? (a = o[0], i = o[1], s = o[2] ?? i, c = o[3] || null) : (i = o, s = o, a = Gn.None, c = null), n[i] = [r, a, c], t[i] = s; } return n; } -function zf(e6) { +function Uf(e6) { if (e6 == null) - return _e; + return Se; let t = {}; for (let n in e6) e6.hasOwnProperty(n) && (t[e6[n]] = n); return t; } -function Gf(e6) { +function zf(e6) { let t = {}; - return { type: e6.type, providersResolver: null, viewProvidersResolver: null, factory: null, hostBindings: e6.hostBindings || null, hostVars: e6.hostVars || 0, hostAttrs: e6.hostAttrs || null, contentQueries: e6.contentQueries || null, declaredInputs: t, inputConfig: e6.inputs || _e, exportAs: e6.exportAs || null, standalone: e6.standalone ?? true, signals: e6.signals === true, selectors: e6.selectors || $, viewQuery: e6.viewQuery || null, features: e6.features || null, setInput: null, resolveHostDirectives: null, hostDirectives: null, controlDef: null, inputs: Uf(e6.inputs, t), outputs: zf(e6.outputs), debugInfo: null }; + return { type: e6.type, providersResolver: null, viewProvidersResolver: null, factory: null, hostBindings: e6.hostBindings || null, hostVars: e6.hostVars || 0, hostAttrs: e6.hostAttrs || null, contentQueries: e6.contentQueries || null, declaredInputs: t, inputConfig: e6.inputs || Se, exportAs: e6.exportAs || null, standalone: e6.standalone ?? true, signals: e6.signals === true, selectors: e6.selectors || we, viewQuery: e6.viewQuery || null, features: e6.features || null, setInput: null, resolveHostDirectives: null, hostDirectives: null, controlDef: null, inputs: $f(e6.inputs, t), outputs: Uf(e6.outputs), debugInfo: null }; } function Wf(e6) { e6.features?.forEach((t) => t(e6)); } -function ba(e6, t) { +function Ta(e6, t) { return e6 ? () => { let n = typeof e6 == "function" ? e6() : e6, r = []; for (let o of n) { @@ -4040,21 +4050,21 @@ function ba(e6, t) { return r; } : null; } -function qf(e6) { +function Gf(e6) { let t = 0, n = typeof e6.consts == "function" ? "" : e6.consts, r = [e6.selectors, e6.ngContentSelectors, e6.hostVars, e6.hostAttrs, n, e6.vars, e6.decls, e6.encapsulation, e6.standalone, e6.signals, e6.exportAs, JSON.stringify(e6.inputs), JSON.stringify(e6.outputs), Object.getOwnPropertyNames(e6.type.prototype), !!e6.contentQueries, !!e6.viewQuery]; for (let i of r.join("|")) t = Math.imul(31, t) + i.charCodeAt(0) << 0; return t += 2147483648, "c" + t; } -var Ii = new m(""); -function Ci(e6) { +var yi = new m(""); +function vi(e6) { return !!e6 && typeof e6.then == "function"; } -function Pc(e6) { +function Lc(e6) { return !!e6 && typeof e6.subscribe == "function"; } -var jc = new m(""); -var wi = (() => { +var Pc = new m(""); +var Ei = (() => { class e6 { resolve; reject; @@ -4063,8 +4073,8 @@ var wi = (() => { donePromise = new Promise((n, r) => { this.resolve = n, this.reject = r; }); - appInits = v(jc, { optional: true }) ?? []; - injector = v(te); + appInits = E(Pc, { optional: true }) ?? []; + injector = E(ee); constructor() { } runInitializers() { @@ -4072,10 +4082,10 @@ var wi = (() => { return; let n = []; for (let o of this.appInits) { - let i = mn(this.injector, o); - if (Ci(i)) + let i = pn(this.injector, o); + if (vi(i)) n.push(i); - else if (Pc(i)) { + else if (Lc(i)) { let s = new Promise((a, c) => { i.subscribe({ complete: a, error: c }); }); @@ -4094,13 +4104,13 @@ var wi = (() => { static \u0275fac = function(r) { return new (r || e6)(); }; - static \u0275prov = _({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + static \u0275prov = S({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); } return e6; })(); -var Bc = new m(""); -function Vc() { - yr(() => { +var Fc = new m(""); +function jc() { + hr(() => { let e6 = ""; throw new g(600, e6); }); @@ -4108,23 +4118,23 @@ function Vc() { function Hc(e6) { return e6.isBoundToModule; } -var Zf = 10; -var Lt = (() => { +var qf = 10; +var Ot = (() => { class e6 { _runningTick = false; _destroyed = false; _destroyListeners = []; _views = []; - internalErrorHandler = v(Je); - afterRenderManager = v(gc); - zonelessEnabled = v(_t); - rootEffectScheduler = v(No); + internalErrorHandler = E(Ke); + afterRenderManager = E(pc); + zonelessEnabled = E(Tt); + rootEffectScheduler = E(So); dirtyFlags = 0; tracingSnapshot = null; allTestViews = /* @__PURE__ */ new Set(); autoDetectTestViews = /* @__PURE__ */ new Set(); includeAllTestViews = false; - afterTick = new ce(); + afterTick = new ae(); get allViews() { return [...(this.includeAllTestViews ? this.allTestViews : this.autoDetectTestViews).keys(), ...this._views]; } @@ -4133,12 +4143,12 @@ var Lt = (() => { } componentTypes = []; components = []; - internalPendingTask = v(Ke); + internalPendingTask = E(Ye); get isStable() { - return this.internalPendingTask.hasPendingTasksObservable.pipe(Sr((n) => !n)); + return this.internalPendingTask.hasPendingTasksObservable.pipe(Tr((n) => !n)); } constructor() { - v(rt, { optional: true }); + E(nt, { optional: true }); } whenStable() { let n; @@ -4150,7 +4160,7 @@ var Lt = (() => { n.unsubscribe(); }); } - _injector = v(U); + _injector = E($); _rendererFactory = null; get injector() { return this._injector; @@ -4158,47 +4168,47 @@ var Lt = (() => { bootstrap(n, r) { return this.bootstrapImpl(n, r); } - bootstrapImpl(n, r, o = te.NULL) { + bootstrapImpl(n, r, o = ee.NULL) { return this._injector.get(j).run(() => { - M(C.BootstrapComponentStart); - let s = n instanceof Qn; - if (!this._injector.get(wi).done) { + M(w.BootstrapComponentStart); + let s = n instanceof qn; + if (!this._injector.get(Ei).done) { let T = ""; throw new g(405, T); } let c; - s ? c = n : c = this._injector.get(Kn).resolveComponentFactory(n), this.componentTypes.push(c.componentType); - let u = Hc(c) ? void 0 : this._injector.get(Hn), l = r || c.selector, d = c.create(o, [], l, u), p = d.location.nativeElement, f = d.injector.get(Ii, null); + s ? c = n : c = this._injector.get(Zn).resolveComponentFactory(n), this.componentTypes.push(c.componentType); + let l = Hc(c) ? void 0 : this._injector.get(jn), u = r || c.selector, d = c.create(o, [], u, l), p = d.location.nativeElement, f = d.injector.get(yi, null); return f?.registerApplication(p), d.onDestroy(() => { - this.detachView(d.hostView), bt(this.components, d), f?.unregisterApplication(p); - }), this._loadComponent(d), M(C.BootstrapComponentEnd, d), d; + this.detachView(d.hostView), St(this.components, d), f?.unregisterApplication(p); + }), this._loadComponent(d), M(w.BootstrapComponentEnd, d), d; }); } tick() { this.zonelessEnabled || (this.dirtyFlags |= 1), this._tick(); } _tick() { - M(C.ChangeDetectionStart), this.tracingSnapshot !== null ? this.tracingSnapshot.run(gi.CHANGE_DETECTION, this.tickImpl) : this.tickImpl(); + M(w.ChangeDetectionStart), this.tracingSnapshot !== null ? this.tracingSnapshot.run(di.CHANGE_DETECTION, this.tickImpl) : this.tickImpl(); } tickImpl = () => { if (this._runningTick) - throw M(C.ChangeDetectionEnd), new g(101, false); - let n = D(null); + throw M(w.ChangeDetectionEnd), new g(101, false); + let n = v(null); try { this._runningTick = true, this.synchronize(); } finally { - this._runningTick = false, this.tracingSnapshot?.dispose(), this.tracingSnapshot = null, D(n), this.afterTick.next(), M(C.ChangeDetectionEnd); + this._runningTick = false, this.tracingSnapshot?.dispose(), this.tracingSnapshot = null, v(n), this.afterTick.next(), M(w.ChangeDetectionEnd); } }; synchronize() { this._rendererFactory === null && !this._injector.destroyed && (this._rendererFactory = this._injector.get(Re, null, { optional: true })); let n = 0; - for (; this.dirtyFlags !== 0 && n++ < Zf; ) { - M(C.ChangeDetectionSyncStart); + for (; this.dirtyFlags !== 0 && n++ < qf; ) { + M(w.ChangeDetectionSyncStart); try { this.synchronizeOnce(); } finally { - M(C.ChangeDetectionSyncEnd); + M(w.ChangeDetectionSyncEnd); } } } @@ -4209,10 +4219,10 @@ var Lt = (() => { let r = !!(this.dirtyFlags & 1); this.dirtyFlags &= -8, this.dirtyFlags |= 8; for (let { _lView: o } of this.allViews) { - if (!r && !It(o)) + if (!r && !Et(o)) continue; let i = r && !this.zonelessEnabled ? 0 : 1; - _c(o, i), n = true; + Tc(o, i), n = true; } if (this.dirtyFlags &= -5, this.syncDirtyFlagsWithViews(), this.dirtyFlags & 23) return; @@ -4220,7 +4230,7 @@ var Lt = (() => { n || (this._rendererFactory?.begin?.(), this._rendererFactory?.end?.()), this.dirtyFlags & 8 && (this.dirtyFlags &= -9, this.afterRenderManager.execute()), this.syncDirtyFlagsWithViews(); } syncDirtyFlagsWithViews() { - if (this.allViews.some(({ _lView: n }) => It(n))) { + if (this.allViews.some(({ _lView: n }) => Et(n))) { this.dirtyFlags |= 2; return; } else @@ -4232,7 +4242,7 @@ var Lt = (() => { } detachView(n) { let r = n; - bt(this._views, r), r.detachFromAppRef(); + St(this._views, r), r.detachFromAppRef(); } _loadComponent(n) { this.attachView(n.hostView); @@ -4241,7 +4251,7 @@ var Lt = (() => { } catch (o) { this.internalErrorHandler(o); } - this.components.push(n), this._injector.get(Bc, []).forEach((o) => o(n)); + this.components.push(n), this._injector.get(Fc, []).forEach((o) => o(n)); } ngOnDestroy() { if (!this._destroyed) @@ -4252,7 +4262,7 @@ var Lt = (() => { } } onDestroy(n) { - return this._destroyListeners.push(n), () => bt(this._destroyListeners, n); + return this._destroyListeners.push(n), () => St(this._destroyListeners, n); } destroy() { if (this._destroyed) @@ -4266,68 +4276,68 @@ var Lt = (() => { static \u0275fac = function(r) { return new (r || e6)(); }; - static \u0275prov = _({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + static \u0275prov = S({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); } return e6; })(); -function bt(e6, t) { +function St(e6, t) { let n = e6.indexOf(t); n > -1 && e6.splice(n, 1); } -function ke(e6, t, n, r) { - let o = B(), i = o[y], s = e6 + z, a = i.firstCreatePass ? xf(s, i, 2, t, n, r) : i.data[s]; - return Yd(a, o, e6, t, Yf), r != null && Vd(o, a), ke; +function Oe(e6, t, n, r) { + let o = H(), i = o[y], s = e6 + U, a = i.firstCreatePass ? xf(s, i, 2, t, n, r) : i.data[s]; + return Zd(a, o, e6, t, Zf), r != null && Hd(o, a), Oe; } -function De() { +function ye() { let e6 = Qe(), t = Qd(e6); - return Bs(t) && Vs(), Ps(), De; + return Ls(t) && Ps(), ks(), ye; } -function Jn(e6, t, n, r) { - return ke(e6, t, n, r), De(), Jn; +function Qn(e6, t, n, r) { + return Oe(e6, t, n, r), ye(), Qn; } -var Yf = (e6, t, n, r, o) => (wo(true), ic(t[L], r, Ks())); -function Xn(e6, t, n) { - let r = B(), o = Do(); - if (kc(r, o, t)) { - let i = Tn(), s = Qs(); - zd(s, r, e6, t, r[L], n); +var Zf = (e6, t, n, r, o) => (Io(true), rc(t[P], r, qs())); +function Yn(e6, t, n) { + let r = H(), o = go(); + if (Rc(r, o, t)) { + let i = Dn(), s = Gs(); + Ud(s, r, e6, t, r[P], n); } - return Xn; + return Yn; } -var Pt = "en-US"; -var Qf = Pt; -function $c(e6) { +var Lt = "en-US"; +var Qf = Lt; +function Vc(e6) { typeof e6 == "string" && (Qf = e6.toLowerCase().replace(/_/g, "-")); } -function jt(e6, t = "") { - let n = B(), r = Tn(), o = e6 + z, i = r.firstCreatePass ? vi(r, o, 1, t, null) : r.data[o], s = Kf(r, n, i, t); - n[o] = s, Co() && Dc(r, n, s, i), wt(i, false); +function Pt(e6, t = "") { + let n = H(), r = Dn(), o = e6 + U, i = r.firstCreatePass ? gi(r, o, 1, t, null) : r.data[o], s = Yf(r, n, i, t); + n[o] = s, Eo() && mc(r, n, s, i), Dt(i, false); } -var Kf = (e6, t, n, r) => (wo(true), id(t[L], r)); -function Jf(e6, t, n, r = "") { - return kc(e6, Do(), n) ? t + Kr(n) + r : nt; +var Yf = (e6, t, n, r) => (Io(true), od(t[P], r)); +function Kf(e6, t, n, r = "") { + return Rc(e6, go(), n) ? t + Zr(n) + r : tt; } -function er(e6, t, n) { - let r = B(), o = Jf(r, e6, t, n); - return o !== nt && Xf(r, bn(), o), er; +function Kn(e6, t, n) { + let r = H(), o = Kf(r, e6, t, n); + return o !== tt && Jf(r, Mn(), o), Kn; } -function Xf(e6, t, n) { - let r = Os(t, e6); - sd(e6[L], r, n); +function Jf(e6, t, n) { + let r = Ns(t, e6); + id(e6[P], r, n); } -var Uc = (() => { +var Bc = (() => { class e6 { - applicationErrorHandler = v(Je); - appRef = v(Lt); - taskService = v(Ke); - ngZone = v(j); - zonelessEnabled = v(_t); - tracing = v(rt, { optional: true }); + applicationErrorHandler = E(Ke); + appRef = E(Ot); + taskService = E(Ye); + ngZone = E(j); + zonelessEnabled = E(Tt); + tracing = E(nt, { optional: true }); zoneIsDefined = typeof Zone < "u" && !!Zone.root.run; schedulerTickApplyArgs = [{ data: { __scheduler_tick__: true } }]; - subscriptions = new b(); - angularZoneId = this.zoneIsDefined ? this.ngZone._inner?.get(lt) : null; - scheduleInRootZone = !this.zonelessEnabled && this.zoneIsDefined && (v(bo, { optional: true }) ?? false); + subscriptions = new _(); + angularZoneId = this.zoneIsDefined ? this.ngZone._inner?.get(ct) : null; + scheduleInRootZone = !this.zonelessEnabled && this.zoneIsDefined && (E(Mo, { optional: true }) ?? false); cancelScheduledCallback = null; useMicrotaskScheduler = false; runningTick = false; @@ -4387,11 +4397,11 @@ var Uc = (() => { } if (this.appRef.tracingSnapshot = this.tracing?.snapshot(this.appRef.tracingSnapshot) ?? null, !this.shouldScheduleTick()) return; - let r = this.useMicrotaskScheduler ? na : To; + let r = this.useMicrotaskScheduler ? Js : Do; this.pendingRenderTaskId = this.taskService.add(), this.scheduleInRootZone ? this.cancelScheduledCallback = Zone.root.run(() => r(() => this.tick())) : this.cancelScheduledCallback = this.ngZone.runOutsideAngular(() => r(() => this.tick())); } shouldScheduleTick() { - return !(this.appRef.destroyed || this.pendingRenderTaskId !== null || this.runningTick || this.appRef._runningTick || !this.zonelessEnabled && this.zoneIsDefined && Zone.current.get(lt + this.angularZoneId)); + return !(this.appRef.destroyed || this.pendingRenderTaskId !== null || this.runningTick || this.appRef._runningTick || !this.zonelessEnabled && this.zoneIsDefined && Zone.current.get(ct + this.angularZoneId)); } tick() { if (this.runningTick || this.appRef.destroyed) @@ -4424,118 +4434,108 @@ var Uc = (() => { static \u0275fac = function(r) { return new (r || e6)(); }; - static \u0275prov = _({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + static \u0275prov = S({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); } return e6; })(); -function zc() { - return [{ provide: Ue, useExisting: Uc }, { provide: j, useClass: dt }, { provide: _t, useValue: true }]; +function $c() { + return [{ provide: Ue, useExisting: Bc }, { provide: j, useClass: lt }, { provide: Tt, useValue: true }]; } -function ep() { - return typeof $localize < "u" && $localize.locale || Pt; +function Xf() { + return typeof $localize < "u" && $localize.locale || Lt; } -var Ti = new m("", { factory: () => v(Ti, { optional: true, skipSelf: true }) || ep() }); -var Mi = new m(""); -var yp = new m(""); -function Bt(e6) { +var Ii = new m("", { factory: () => E(Ii, { optional: true, skipSelf: true }) || Xf() }); +var Di = new m(""); +var lp = new m(""); +function Ft(e6) { return !e6.moduleRef; } -function Dp(e6) { - let t = Bt(e6) ? e6.r3Injector : e6.moduleRef.injector, n = t.get(j); +function up(e6) { + let t = Ft(e6) ? e6.r3Injector : e6.moduleRef.injector, n = t.get(j); return n.run(() => { - Bt(e6) ? e6.r3Injector.resolveInjectorInitializers() : e6.moduleRef.resolveInjectorInitializers(); - let r = t.get(Je), o; + Ft(e6) ? e6.r3Injector.resolveInjectorInitializers() : e6.moduleRef.resolveInjectorInitializers(); + let r = t.get(Ke), o; if (n.runOutsideAngular(() => { o = n.onError.subscribe({ next: r }); - }), Bt(e6)) { - let i = () => t.destroy(), s = e6.platformInjector.get(Mi); + }), Ft(e6)) { + let i = () => t.destroy(), s = e6.platformInjector.get(Di); s.add(i), t.onDestroy(() => { o.unsubscribe(), s.delete(i); }); } else { - let i = () => e6.moduleRef.destroy(), s = e6.platformInjector.get(Mi); + let i = () => e6.moduleRef.destroy(), s = e6.platformInjector.get(Di); s.add(i), e6.moduleRef.onDestroy(() => { - bt(e6.allPlatformModules, e6.moduleRef), o.unsubscribe(), s.delete(i); + St(e6.allPlatformModules, e6.moduleRef), o.unsubscribe(), s.delete(i); }); } - return Ep(r, n, () => { - let i = t.get(Ke), s = i.add(), a = t.get(wi); + return fp(r, n, () => { + let i = t.get(Ye), s = i.add(), a = t.get(Ei); return a.runInitializers(), a.donePromise.then(() => { - let c = t.get(Ti, Pt); - if ($c(c || Pt), !t.get(yp, true)) - return Bt(e6) ? t.get(Lt) : (e6.allPlatformModules.push(e6.moduleRef), e6.moduleRef); - if (Bt(e6)) { - let l = t.get(Lt); - return e6.rootComponent !== void 0 && l.bootstrap(e6.rootComponent), l; + let c = t.get(Ii, Lt); + if (Vc(c || Lt), !t.get(lp, true)) + return Ft(e6) ? t.get(Ot) : (e6.allPlatformModules.push(e6.moduleRef), e6.moduleRef); + if (Ft(e6)) { + let u = t.get(Ot); + return e6.rootComponent !== void 0 && u.bootstrap(e6.rootComponent), u; } else - return vp?.(e6.moduleRef, e6.allPlatformModules), e6.moduleRef; + return dp?.(e6.moduleRef, e6.allPlatformModules), e6.moduleRef; }).finally(() => { i.remove(s); }); }); }); } -var vp; -function Ep(e6, t, n) { +var dp; +function fp(e6, t, n) { try { let r = n(); - return Ci(r) ? r.catch((o) => { + return vi(r) ? r.catch((o) => { throw t.runOutsideAngular(() => e6(o)), o; }) : r; } catch (r) { throw t.runOutsideAngular(() => e6(r)), r; } } -var tr = null; -function Ip(e6 = [], t) { - return te.create({ name: t, providers: [{ provide: ht, useValue: "platform" }, { provide: Mi, useValue: /* @__PURE__ */ new Set([() => tr = null]) }, ...e6] }); +var Jn = null; +function pp(e6 = [], t) { + return ee.create({ name: t, providers: [{ provide: ft, useValue: "platform" }, { provide: Di, useValue: /* @__PURE__ */ new Set([() => Jn = null]) }, ...e6] }); } -function Cp(e6 = []) { - if (tr) - return tr; - let t = Ip(e6); - return tr = t, Vc(), wp(t), t; +function hp(e6 = []) { + if (Jn) + return Jn; + let t = pp(e6); + return Jn = t, jc(), gp(t), t; } -function wp(e6) { - let t = e6.get(Un, null); - mn(e6, () => { +function gp(e6) { + let t = e6.get(Vn, null); + pn(e6, () => { t?.forEach((n) => n()); }); } -var Tp = 1e4; -var gT = Tp - 1e3; -function Gc(e6) { +var mp = 1e4; +var pT = mp - 1e3; +function zc(e6) { let { rootComponent: t, appProviders: n, platformProviders: r, platformRef: o } = e6; - M(C.BootstrapApplicationStart); + M(w.BootstrapApplicationStart); try { - let i = o?.injector ?? Cp(r), s = [zc(), oa, ...n || []], a = new Rt({ providers: s, parent: i, debugName: "", runEnvironmentInitializers: false }); - return Dp({ r3Injector: a.injector, platformInjector: i, rootComponent: t }); + let i = o?.injector ?? hp(r), s = [$c(), ea, ...n || []], a = new xt({ providers: s, parent: i, debugName: "", runEnvironmentInitializers: false }); + return up({ r3Injector: a.injector, platformInjector: i, rootComponent: t }); } catch (i) { return Promise.reject(i); } finally { - M(C.BootstrapApplicationEnd); + M(w.BootstrapApplicationEnd); } } var Wc = null; -function it() { +function rt() { return Wc; } -function _i(e6) { +function wi(e6) { Wc ??= e6; } -var Ht = class { +var jt = class { }; -var nr = (() => { - class e6 { - static \u0275fac = function(r) { - return new (r || e6)(); - }; - static \u0275mod = Ft({ type: e6 }); - static \u0275inj = ze({}); - } - return e6; -})(); -function Si(e6, t) { +function Ci(e6, t) { t = encodeURIComponent(t); for (let n of e6.split(";")) { let r = n.indexOf("="), [o, i] = r == -1 ? [n, ""] : [n.slice(0, r), n.slice(r + 1)]; @@ -4544,18 +4544,18 @@ function Si(e6, t) { } return null; } -var $t = class { +var Ht = class { }; -var qc = "browser"; -var Ut = class { +var Gc = "browser"; +var Vt = class { _doc; constructor(t) { this._doc = t; } manager; }; -var rr = (() => { - class e6 extends Ut { +var er = (() => { + class e6 extends Vt { constructor(n) { super(n); } @@ -4569,14 +4569,14 @@ var rr = (() => { return n.removeEventListener(r, o, i); } static \u0275fac = function(r) { - return new (r || e6)(E(A)); + return new (r || e6)(I(x)); }; - static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -var sr = new m(""); -var xi = (() => { +var rr = new m(""); +var bi = (() => { class e6 { _zone; _plugins; @@ -4585,9 +4585,9 @@ var xi = (() => { this._zone = r, n.forEach((s) => { s.manager = this; }); - let o = n.filter((s) => !(s instanceof rr)); + let o = n.filter((s) => !(s instanceof er)); this._plugins = o.slice().reverse(); - let i = n.find((s) => s instanceof rr); + let i = n.find((s) => s instanceof er); i && this._plugins.push(i); } addEventListener(n, r, o, i) { @@ -4605,32 +4605,32 @@ var xi = (() => { return this._eventNameToPlugin.set(n, r), r; } static \u0275fac = function(r) { - return new (r || e6)(E(sr), E(j)); + return new (r || e6)(I(rr), I(j)); }; - static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -var bi = "ng-app-id"; -function Zc(e6) { +var Ti = "ng-app-id"; +function qc(e6) { for (let t of e6) t.remove(); } -function Yc(e6, t) { +function Zc(e6, t) { let n = t.createElement("style"); return n.textContent = e6, n; } -function _p(e6, t, n, r) { - let o = e6.head?.querySelectorAll(`style[${bi}="${t}"],link[${bi}="${t}"]`); +function yp(e6, t, n, r) { + let o = e6.head?.querySelectorAll(`style[${Ti}="${t}"],link[${Ti}="${t}"]`); if (o) for (let i of o) - i.removeAttribute(bi), i instanceof HTMLLinkElement ? r.set(i.href.slice(i.href.lastIndexOf("/") + 1), { usage: 0, elements: [i] }) : i.textContent && n.set(i.textContent, { usage: 0, elements: [i] }); + i.removeAttribute(Ti), i instanceof HTMLLinkElement ? r.set(i.href.slice(i.href.lastIndexOf("/") + 1), { usage: 0, elements: [i] }) : i.textContent && n.set(i.textContent, { usage: 0, elements: [i] }); } -function Ai(e6, t) { +function Si(e6, t) { let n = t.createElement("link"); return n.setAttribute("rel", "stylesheet"), n.setAttribute("href", e6), n; } -var Ri = (() => { +var _i = (() => { class e6 { doc; appId; @@ -4639,12 +4639,12 @@ var Ri = (() => { external = /* @__PURE__ */ new Map(); hosts = /* @__PURE__ */ new Set(); constructor(n, r, o, i = {}) { - this.doc = n, this.appId = r, this.nonce = o, _p(n, r, this.inline, this.external), this.hosts.add(n.head); + this.doc = n, this.appId = r, this.nonce = o, yp(n, r, this.inline, this.external), this.hosts.add(n.head); } addStyles(n, r) { for (let o of n) - this.addUsage(o, this.inline, Yc); - r?.forEach((o) => this.addUsage(o, this.external, Ai)); + this.addUsage(o, this.inline, Zc); + r?.forEach((o) => this.addUsage(o, this.external, Si)); } removeStyles(n, r) { for (let o of n) @@ -4657,19 +4657,19 @@ var Ri = (() => { } removeUsage(n, r) { let o = r.get(n); - o && (o.usage--, o.usage <= 0 && (Zc(o.elements), r.delete(n))); + o && (o.usage--, o.usage <= 0 && (qc(o.elements), r.delete(n))); } ngOnDestroy() { for (let [, { elements: n }] of [...this.inline, ...this.external]) - Zc(n); + qc(n); this.hosts.clear(); } addHost(n) { this.hosts.add(n); for (let [r, { elements: o }] of this.inline) - o.push(this.addElement(n, Yc(r, this.doc))); + o.push(this.addElement(n, Zc(r, this.doc))); for (let [r, { elements: o }] of this.external) - o.push(this.addElement(n, Ai(r, this.doc))); + o.push(this.addElement(n, Si(r, this.doc))); } removeHost(n) { this.hosts.delete(n); @@ -4678,29 +4678,29 @@ var Ri = (() => { return this.nonce && r.setAttribute("nonce", this.nonce), n.appendChild(r); } static \u0275fac = function(r) { - return new (r || e6)(E(A), E($n), E(zn, 8), E(Ot)); + return new (r || e6)(I(x), I(Hn), I(Bn, 8), I(At)); }; - static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -var Ni = { svg: "http://www.w3.org/2000/svg", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/", math: "http://www.w3.org/1998/Math/MathML" }; -var Oi = /%COMP%/g; -var Kc = "%COMP%"; -var Sp = `_nghost-${Kc}`; -var bp = `_ngcontent-${Kc}`; -var Np = true; -var Ap = new m("", { factory: () => Np }); -function xp(e6) { - return bp.replace(Oi, e6); -} -function Rp(e6) { - return Sp.replace(Oi, e6); -} -function Jc(e6, t) { - return t.map((n) => n.replace(Oi, e6)); -} -var ki = (() => { +var Mi = { svg: "http://www.w3.org/2000/svg", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/", math: "http://www.w3.org/1998/Math/MathML" }; +var Ni = /%COMP%/g; +var Yc = "%COMP%"; +var vp = `_nghost-${Yc}`; +var Ep = `_ngcontent-${Yc}`; +var Ip = true; +var Dp = new m("", { factory: () => Ip }); +function wp(e6) { + return Ep.replace(Ni, e6); +} +function Cp(e6) { + return vp.replace(Ni, e6); +} +function Kc(e6, t) { + return t.map((n) => n.replace(Ni, e6)); +} +var xi = (() => { class e6 { eventManager; sharedStylesHost; @@ -4712,29 +4712,29 @@ var ki = (() => { tracingService; rendererByCompId = /* @__PURE__ */ new Map(); defaultRenderer; - constructor(n, r, o, i, s, a, c = null, u = null) { - this.eventManager = n, this.sharedStylesHost = r, this.appId = o, this.removeStylesOnCompDestroy = i, this.doc = s, this.ngZone = a, this.nonce = c, this.tracingService = u, this.defaultRenderer = new zt(n, s, a, this.tracingService); + constructor(n, r, o, i, s, a, c = null, l = null) { + this.eventManager = n, this.sharedStylesHost = r, this.appId = o, this.removeStylesOnCompDestroy = i, this.doc = s, this.ngZone = a, this.nonce = c, this.tracingService = l, this.defaultRenderer = new Bt(n, s, a, this.tracingService); } createRenderer(n, r) { if (!n || !r) return this.defaultRenderer; let o = this.getOrCreateRenderer(n, r); - return o instanceof ir ? o.applyToHost(n) : o instanceof Gt && o.applyStyles(), o; + return o instanceof nr ? o.applyToHost(n) : o instanceof $t && o.applyStyles(), o; } getOrCreateRenderer(n, r) { let o = this.rendererByCompId, i = o.get(r.id); if (!i) { - let s = this.doc, a = this.ngZone, c = this.eventManager, u = this.sharedStylesHost, l = this.removeStylesOnCompDestroy, d = this.tracingService; + let s = this.doc, a = this.ngZone, c = this.eventManager, l = this.sharedStylesHost, u = this.removeStylesOnCompDestroy, d = this.tracingService; switch (r.encapsulation) { - case G.Emulated: - i = new ir(c, u, r, this.appId, l, s, a, d); + case z.Emulated: + i = new nr(c, l, r, this.appId, u, s, a, d); break; - case G.ShadowDom: - return new or(c, n, r, s, a, this.nonce, d, u); - case G.ExperimentalIsolatedShadowDom: - return new or(c, n, r, s, a, this.nonce, d); + case z.ShadowDom: + return new tr(c, n, r, s, a, this.nonce, d, l); + case z.ExperimentalIsolatedShadowDom: + return new tr(c, n, r, s, a, this.nonce, d); default: - i = new Gt(c, u, r, l, s, a, d); + i = new $t(c, l, r, u, s, a, d); break; } o.set(r.id, i); @@ -4748,13 +4748,13 @@ var ki = (() => { this.rendererByCompId.delete(n); } static \u0275fac = function(r) { - return new (r || e6)(E(xi), E(Ri), E($n), E(Ap), E(A), E(j), E(zn), E(rt, 8)); + return new (r || e6)(I(bi), I(_i), I(Hn), I(Dp), I(x), I(j), I(Bn), I(nt, 8)); }; - static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -var zt = class { +var Bt = class { eventManager; doc; ngZone; @@ -4768,7 +4768,7 @@ var zt = class { } destroyNode = null; createElement(t, n) { - return n ? this.doc.createElementNS(Ni[n] || n, t) : this.doc.createElement(t); + return n ? this.doc.createElementNS(Mi[n] || n, t) : this.doc.createElement(t); } createComment(t) { return this.doc.createComment(t); @@ -4800,14 +4800,14 @@ var zt = class { setAttribute(t, n, r, o) { if (o) { n = o + ":" + n; - let i = Ni[o]; + let i = Mi[o]; i ? t.setAttributeNS(i, n, r) : t.setAttribute(n, r); } else t.setAttribute(n, r); } removeAttribute(t, n, r) { if (r) { - let o = Ni[r]; + let o = Mi[r]; o ? t.removeAttributeNS(o, n) : t.removeAttribute(`${r}:${n}`); } else t.removeAttribute(n); @@ -4819,10 +4819,10 @@ var zt = class { t.classList.remove(n); } setStyle(t, n, r, o) { - o & (Oe.DashCase | Oe.Important) ? t.style.setProperty(n, r, o & Oe.Important ? "important" : "") : t.style[n] = r; + o & (ke.DashCase | ke.Important) ? t.style.setProperty(n, r, o & ke.Important ? "important" : "") : t.style[n] = r; } removeStyle(t, n, r) { - r & Oe.DashCase ? t.style.removeProperty(n) : t.style[n] = ""; + r & ke.DashCase ? t.style.removeProperty(n) : t.style[n] = ""; } setProperty(t, n, r) { t != null && (t[n] = r); @@ -4831,7 +4831,7 @@ var zt = class { t.nodeValue = n; } listen(t, n, r, o) { - if (typeof t == "string" && (t = it().getGlobalEventTarget(this.doc, t), !t)) + if (typeof t == "string" && (t = rt().getGlobalEventTarget(this.doc, t), !t)) throw new g(5102, false); let i = this.decoratePreventDefault(r); return this.tracingService?.wrapEventListener && (i = this.tracingService.wrapEventListener(t, n, i)), this.eventManager.addEventListener(t, n, i, o); @@ -4847,22 +4847,22 @@ var zt = class { function Qc(e6) { return e6.tagName === "TEMPLATE" && e6.content !== void 0; } -var or = class extends zt { +var tr = class extends Bt { hostEl; sharedStylesHost; shadowRoot; constructor(t, n, r, o, i, s, a, c) { super(t, o, i, a), this.hostEl = n, this.sharedStylesHost = c, this.shadowRoot = n.attachShadow({ mode: "open" }), this.sharedStylesHost && this.sharedStylesHost.addHost(this.shadowRoot); - let u = r.styles; - u = Jc(r.id, u); - for (let d of u) { + let l = r.styles; + l = Kc(r.id, l); + for (let d of l) { let p = document.createElement("style"); s && p.setAttribute("nonce", s), p.textContent = d, this.shadowRoot.appendChild(p); } - let l = r.getExternalStyles?.(); - if (l) - for (let d of l) { - let p = Ai(d, o); + let u = r.getExternalStyles?.(); + if (u) + for (let d of u) { + let p = Si(d, o); s && p.setAttribute("nonce", s), this.shadowRoot.appendChild(p); } } @@ -4885,29 +4885,29 @@ var or = class extends zt { this.sharedStylesHost && this.sharedStylesHost.removeHost(this.shadowRoot); } }; -var Gt = class extends zt { +var $t = class extends Bt { sharedStylesHost; removeStylesOnCompDestroy; styles; styleUrls; constructor(t, n, r, o, i, s, a, c) { super(t, i, s, a), this.sharedStylesHost = n, this.removeStylesOnCompDestroy = o; - let u = r.styles; - this.styles = c ? Jc(c, u) : u, this.styleUrls = r.getExternalStyles?.(c); + let l = r.styles; + this.styles = c ? Kc(c, l) : l, this.styleUrls = r.getExternalStyles?.(c); } applyStyles() { this.sharedStylesHost.addStyles(this.styles, this.styleUrls); } destroy() { - this.removeStylesOnCompDestroy && tt.size === 0 && this.sharedStylesHost.removeStyles(this.styles, this.styleUrls); + this.removeStylesOnCompDestroy && et.size === 0 && this.sharedStylesHost.removeStyles(this.styles, this.styleUrls); } }; -var ir = class extends Gt { +var nr = class extends $t { contentAttr; hostAttr; constructor(t, n, r, o, i, s, a, c) { - let u = o + "-" + r.id; - super(t, n, r, i, s, a, c, u), this.contentAttr = xp(u), this.hostAttr = Rp(u); + let l = o + "-" + r.id; + super(t, n, r, i, s, a, c, l), this.contentAttr = wp(l), this.hostAttr = Cp(l); } applyToHost(t) { this.applyStyles(), this.setAttribute(t, this.hostAttr, ""); @@ -4917,10 +4917,10 @@ var ir = class extends Gt { return super.setAttribute(r, this.contentAttr, ""), r; } }; -var ar = class e4 extends Ht { +var or = class e4 extends jt { supportsDOMEvents = true; static makeCurrent() { - _i(new e4()); + wi(new e4()); } onAndCancel(t, n, r, o) { return t.addEventListener(n, r, o), () => { @@ -4952,27 +4952,27 @@ var ar = class e4 extends Ht { return n === "window" ? window : n === "document" ? t : n === "body" ? t.body : null; } getBaseHref(t) { - let n = Op(); - return n == null ? null : kp(n); + let n = Tp(); + return n == null ? null : Mp(n); } resetBaseElement() { - Wt = null; + Ut = null; } getUserAgent() { return window.navigator.userAgent; } getCookie(t) { - return Si(document.cookie, t); + return Ci(document.cookie, t); } }; -var Wt = null; -function Op() { - return Wt = Wt || document.head.querySelector("base"), Wt ? Wt.getAttribute("href") : null; +var Ut = null; +function Tp() { + return Ut = Ut || document.head.querySelector("base"), Ut ? Ut.getAttribute("href") : null; } -function kp(e6) { +function Mp(e6) { return new URL(e6, document.baseURI).pathname; } -var Fp = (() => { +var Sp = (() => { class e6 { build() { return new XMLHttpRequest(); @@ -4980,15 +4980,15 @@ var Fp = (() => { static \u0275fac = function(r) { return new (r || e6)(); }; - static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -var Xc = ["alt", "control", "meta", "shift"]; -var Lp = { "\b": "Backspace", " ": "Tab", "\x7F": "Delete", "\x1B": "Escape", Del: "Delete", Esc: "Escape", Left: "ArrowLeft", Right: "ArrowRight", Up: "ArrowUp", Down: "ArrowDown", Menu: "ContextMenu", Scroll: "ScrollLock", Win: "OS" }; -var Pp = { alt: (e6) => e6.altKey, control: (e6) => e6.ctrlKey, meta: (e6) => e6.metaKey, shift: (e6) => e6.shiftKey }; -var eu = (() => { - class e6 extends Ut { +var Jc = ["alt", "control", "meta", "shift"]; +var bp = { "\b": "Backspace", " ": "Tab", "\x7F": "Delete", "\x1B": "Escape", Del: "Delete", Esc: "Escape", Left: "ArrowLeft", Right: "ArrowRight", Up: "ArrowUp", Down: "ArrowDown", Menu: "ContextMenu", Scroll: "ScrollLock", Win: "OS" }; +var _p = { alt: (e6) => e6.altKey, control: (e6) => e6.ctrlKey, meta: (e6) => e6.metaKey, shift: (e6) => e6.shiftKey }; +var Xc = (() => { + class e6 extends Vt { constructor(n) { super(n); } @@ -4997,26 +4997,26 @@ var eu = (() => { } addEventListener(n, r, o, i) { let s = e6.parseEventName(r), a = e6.eventCallback(s.fullKey, o, this.manager.getZone()); - return this.manager.getZone().runOutsideAngular(() => it().onAndCancel(n, s.domEventName, a, i)); + return this.manager.getZone().runOutsideAngular(() => rt().onAndCancel(n, s.domEventName, a, i)); } static parseEventName(n) { let r = n.toLowerCase().split("."), o = r.shift(); if (r.length === 0 || !(o === "keydown" || o === "keyup")) return null; let i = e6._normalizeKey(r.pop()), s = "", a = r.indexOf("code"); - if (a > -1 && (r.splice(a, 1), s = "code."), Xc.forEach((u) => { - let l = r.indexOf(u); - l > -1 && (r.splice(l, 1), s += u + "."); + if (a > -1 && (r.splice(a, 1), s = "code."), Jc.forEach((l) => { + let u = r.indexOf(l); + u > -1 && (r.splice(u, 1), s += l + "."); }), s += i, r.length != 0 || i.length === 0) return null; let c = {}; return c.domEventName = o, c.fullKey = s, c; } static matchEventFullKeyCode(n, r) { - let o = Lp[n.key] || n.key, i = ""; - return r.indexOf("code.") > -1 && (o = n.code, i = "code."), o == null || !o ? false : (o = o.toLowerCase(), o === " " ? o = "space" : o === "." && (o = "dot"), Xc.forEach((s) => { + let o = bp[n.key] || n.key, i = ""; + return r.indexOf("code.") > -1 && (o = n.code, i = "code."), o == null || !o ? false : (o = o.toLowerCase(), o === " " ? o = "space" : o === "." && (o = "dot"), Jc.forEach((s) => { if (s !== o) { - let a = Pp[s]; + let a = _p[s]; a(n) && (i += s + "."); } }), i += o, i === r); @@ -5030,44 +5030,44 @@ var eu = (() => { return n === "esc" ? "escape" : n; } static \u0275fac = function(r) { - return new (r || e6)(E(A)); + return new (r || e6)(I(x)); }; - static \u0275prov = _({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); } return e6; })(); -async function Fi(e6, t, n) { - let r = x({ rootComponent: e6 }, jp(t, n)); - return Gc(r); +async function Ai(e6, t, n) { + let r = A({ rootComponent: e6 }, Np(t, n)); + return zc(r); } -function jp(e6, t) { - return { platformRef: t?.platformRef, appProviders: [...Up, ...e6?.providers ?? []], platformProviders: $p }; +function Np(e6, t) { + return { platformRef: t?.platformRef, appProviders: [...Op, ...e6?.providers ?? []], platformProviders: kp }; } -function Bp() { - ar.makeCurrent(); +function xp() { + or.makeCurrent(); } -function Vp() { - return new ne(); +function Ap() { + return new te(); } -function Hp() { - return ai(document), document; +function Rp() { + return ri(document), document; } -var $p = [{ provide: Ot, useValue: qc }, { provide: Un, useValue: Bp, multi: true }, { provide: A, useFactory: Hp }]; -var Up = [{ provide: ht, useValue: "root" }, { provide: ne, useFactory: Vp }, { provide: sr, useClass: rr, multi: true }, { provide: sr, useClass: eu, multi: true }, ki, Ri, xi, { provide: Re, useExisting: ki }, { provide: $t, useClass: Fp }, []]; -var Li = (() => { +var kp = [{ provide: At, useValue: Gc }, { provide: Vn, useValue: xp, multi: true }, { provide: x, useFactory: Rp }]; +var Op = [{ provide: ft, useValue: "root" }, { provide: te, useFactory: Ap }, { provide: rr, useClass: er, multi: true }, { provide: rr, useClass: Xc, multi: true }, xi, _i, bi, { provide: Re, useExisting: xi }, { provide: Ht, useClass: Sp }, []]; +var Ri = (() => { class e6 { static \u0275fac = function(r) { return new (r || e6)(); }; - static \u0275prov = _({ token: e6, factory: function(r) { + static \u0275prov = S({ token: e6, factory: function(r) { let o = null; - return r ? o = new (r || e6)() : o = E(zp), o; + return r ? o = new (r || e6)() : o = I(Lp), o; }, providedIn: "root" }); } return e6; })(); -var zp = (() => { - class e6 extends Li { +var Lp = (() => { + class e6 extends Ri { _doc; constructor(n) { super(), this._doc = n; @@ -5076,49 +5076,49 @@ var zp = (() => { if (r == null) return null; switch (n) { - case J.NONE: + case K.NONE: return r; - case J.HTML: - return ye(r, "HTML") ? me(r) : qn(this._doc, String(r)).toString(); - case J.STYLE: - return ye(r, "Style") ? me(r) : r; - case J.SCRIPT: - if (ye(r, "Script")) - return me(r); + case K.HTML: + return me(r, "HTML") ? ge(r) : zn(this._doc, String(r)).toString(); + case K.STYLE: + return me(r, "Style") ? ge(r) : r; + case K.SCRIPT: + if (me(r, "Script")) + return ge(r); throw new g(5200, false); - case J.URL: - return ye(r, "URL") ? me(r) : Wn(String(r)); - case J.RESOURCE_URL: - if (ye(r, "ResourceURL")) - return me(r); + case K.URL: + return me(r, "URL") ? ge(r) : Un(String(r)); + case K.RESOURCE_URL: + if (me(r, "ResourceURL")) + return ge(r); throw new g(5201, false); default: throw new g(5202, false); } } bypassSecurityTrustHtml(n) { - return ui(n); + return ii(n); } bypassSecurityTrustStyle(n) { - return li(n); + return si(n); } bypassSecurityTrustScript(n) { - return di(n); + return ai(n); } bypassSecurityTrustUrl(n) { - return fi(n); + return ci(n); } bypassSecurityTrustResourceUrl(n) { - return pi(n); + return li(n); } static \u0275fac = function(r) { - return new (r || e6)(E(A)); + return new (r || e6)(I(x)); }; - static \u0275prov = _({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + static \u0275prov = S({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); } return e6; })(); -var cr = class e5 { +var ir = class e5 { constructor(t, n) { this.model = t; this.sanitizer = n; @@ -5133,22 +5133,22 @@ var cr = class e5 { }); } } - message = Mt("Waiting for model..."); - sanitizedHtml = Mt(""); + message = Ct("Waiting for model..."); + sanitizedHtml = Ct(""); static \u0275fac = function(n) { - return new (n || e5)(ot("ANYWIDGET_MODEL"), ot(Li)); + return new (n || e5)(kt("ANYWIDGET_MODEL"), kt(Ri)); }; - static \u0275cmp = Ei({ type: e5, selectors: [["app-root"]], decls: 8, vars: 2, consts: [[1, "angular-widget"], [3, "innerHTML"]], template: function(n, r) { - n & 1 && (ke(0, "div", 0)(1, "h3"), jt(2, "Angular Hybrid Widget"), De(), ke(3, "p"), jt(4, "Status: Infrastructure Loaded"), De(), ke(5, "p"), jt(6), De(), Jn(7, "div", 1), De()), n & 2 && (Zn(6), er("Message from Python: ", r.message()), Zn(), Xn("innerHTML", r.sanitizedHtml(), hi)); - }, dependencies: [nr], styles: [".angular-widget[_ngcontent-%COMP%]{padding:10px;border:1px solid #ccc;border-radius:4px;background-color:#f9f9f9}"] }); + static \u0275cmp = mi({ type: e5, selectors: [["app-root"]], decls: 8, vars: 2, consts: [[1, "angular-widget"], [3, "innerHTML"]], template: function(n, r) { + n & 1 && (Oe(0, "div", 0)(1, "h3"), Pt(2, "Angular Hybrid Widget"), ye(), Oe(3, "p"), Pt(4, "Status: Infrastructure Loaded"), ye(), Oe(5, "p"), Pt(6), ye(), Qn(7, "div", 1), ye()), n & 2 && (Wn(6), Kn("Message from Python: ", r.message()), Wn(), Yn("innerHTML", r.sanitizedHtml(), ui)); + }, styles: [".angular-widget[_ngcontent-%COMP%]{padding:10px;border:1px solid #ccc;border-radius:4px;background-color:#f9f9f9}"] }); }; -function Wp({ model: e6, el: t }) { +function Fp({ model: e6, el: t }) { let n = document.createElement("app-root"); t.appendChild(n); - let r = { providers: [So(), { provide: "ANYWIDGET_MODEL", useValue: e6 }] }; - Fi(cr, r).catch((o) => console.error(o)); + let r = { providers: [To(), { provide: "ANYWIDGET_MODEL", useValue: e6 }] }; + Ai(ir, r).catch((o) => console.error(o)); } -var k_ = { render: Wp }; +var EM = { render: Fp }; export { - k_ as default + EM as default }; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/bundle.js b/packages/bigframes/bigframes/display/table_widget_angular/bundle.js index e36c12912e48..4c808a5924bb 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/bundle.js +++ b/packages/bigframes/bigframes/display/table_widget_angular/bundle.js @@ -1,3 +1,19 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + const esbuild = require('esbuild'); const path = require('path'); diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.config.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.config.ts deleted file mode 100644 index cb1270e96310..000000000000 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; -import { provideRouter } from '@angular/router'; - -import { routes } from './app.routes'; - -export const appConfig: ApplicationConfig = { - providers: [ - provideBrowserGlobalErrorListeners(), - provideRouter(routes) - ] -}; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.html b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.html deleted file mode 100644 index a1c4296620df..000000000000 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.html +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - - - -
-
-
- -

Hello, {{ title() }}

-

Congratulations! Your app is running. 🎉

-
- -
-
- @for (item of [ - { title: 'Explore the Docs', link: 'https://angular.dev' }, - { title: 'Learn with Tutorials', link: 'https://angular.dev/tutorials' }, - { title: 'Prompt and best practices for AI', link: 'https://angular.dev/ai/develop-with-ai'}, - { title: 'CLI Docs', link: 'https://angular.dev/tools/cli' }, - { title: 'Angular Language Service', link: 'https://angular.dev/tools/language-service' }, - { title: 'Angular DevTools', link: 'https://angular.dev/tools/devtools' }, - ]; track item.title) { - - {{ item.title }} - - - - - } -
- -
-
-
- - - - - - - - - - - diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts index 711706a342ac..a80248720629 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts @@ -5,6 +5,7 @@ describe('App', () => { beforeEach(async () => { await TestBed.configureTestingModule({ imports: [App], + providers: [{ provide: 'ANYWIDGET_MODEL', useValue: null }] }).compileComponents(); }); @@ -16,8 +17,8 @@ describe('App', () => { it('should render title', async () => { const fixture = TestBed.createComponent(App); - await fixture.whenStable(); + fixture.detectChanges(); const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('h1')?.textContent).toContain('Hello, table-widget-angular'); + expect(compiled.querySelector('h3')?.textContent).toContain('Angular Hybrid Widget'); }); }); diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts index 6c2628a51e82..500a89739f8f 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -1,11 +1,26 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { Component, Inject, signal } from '@angular/core'; -import { CommonModule } from '@angular/common'; import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; @Component({ selector: 'app-root', standalone: true, - imports: [CommonModule], + imports: [], template: `

Angular Hybrid Widget

diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts index a1b2f8b9e98b..42ffdbf0a394 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts @@ -1,3 +1,19 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { bootstrapApplication } from '@angular/platform-browser'; import { App } from './app/app'; import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; From 2b6a9fb1b0e6c7b8c14a2f0d3b7ffb550567e4ac Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Tue, 5 May 2026 00:02:16 +0000 Subject: [PATCH 04/42] test: test pre-commit hook after noxfile fix --- .../bigframes/display/table_widget_angular/src/app/app.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts index 500a89739f8f..775105ebd79b 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -38,6 +38,7 @@ import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; } `] }) +// Dummy comment to test pre-commit hook export class App { protected readonly message = signal('Waiting for model...'); protected readonly sanitizedHtml = signal(''); @@ -48,7 +49,7 @@ export class App { ) { if (model) { this.message.set(model.get('message') || 'Model loaded, no message.'); - + const rawHtml = model.get('table_html') || '

No table HTML yet.

'; this.sanitizedHtml.set(this.sanitizer.bypassSecurityTrustHtml(rawHtml)); From 1e0990fc527cdf9d859b5385431830ae1c8c680e Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Fri, 8 May 2026 23:06:54 +0000 Subject: [PATCH 05/42] Alphabetize CSS declarations in app.ts --- .../bigframes/display/table_widget_angular/src/app/app.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts index 775105ebd79b..995c0f64b59f 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -31,10 +31,10 @@ import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; `, styles: [` .angular-widget { - padding: 10px; + background-color: #f9f9f9; border: 1px solid #ccc; border-radius: 4px; - background-color: #f9f9f9; + padding: 10px; } `] }) From d3bf48c7fd5419034ebedd8c034b7490fd51775a Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Thu, 14 May 2026 22:35:09 +0000 Subject: [PATCH 06/42] feat: add callback parameter to _read_gbq_colab --- .../ibis_compiler/scalar_op_registry.py | 2 +- packages/bigframes/bigframes/pandas/io/api.py | 6 ++++ .../bigframes/bigframes/session/__init__.py | 35 +++++++++++++------ .../tests/unit/session/test_read_gbq_colab.py | 10 ++++++ 4 files changed, 41 insertions(+), 12 deletions(-) diff --git a/packages/bigframes/bigframes/core/compile/ibis_compiler/scalar_op_registry.py b/packages/bigframes/bigframes/core/compile/ibis_compiler/scalar_op_registry.py index 926f220370b0..e9e8435ea1a1 100644 --- a/packages/bigframes/bigframes/core/compile/ibis_compiler/scalar_op_registry.py +++ b/packages/bigframes/bigframes/core/compile/ibis_compiler/scalar_op_registry.py @@ -16,7 +16,7 @@ import functools import typing -from typing import cast, Any +from typing import Any, cast import bigframes_vendored.ibis.expr.api as ibis_api import bigframes_vendored.ibis.expr.datatypes as ibis_dtypes diff --git a/packages/bigframes/bigframes/pandas/io/api.py b/packages/bigframes/bigframes/pandas/io/api.py index 6c83095ab3cd..f8c3a881eed6 100644 --- a/packages/bigframes/bigframes/pandas/io/api.py +++ b/packages/bigframes/bigframes/pandas/io/api.py @@ -300,6 +300,7 @@ def _try_read_gbq_colab_sessionless_dry_run( def _read_gbq_colab( # type: ignore[overload-overlap] query_or_table: str, *, + callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = ..., dry_run: Literal[False] = ..., ) -> bigframes.dataframe.DataFrame: ... @@ -309,6 +310,7 @@ def _read_gbq_colab( # type: ignore[overload-overlap] def _read_gbq_colab( query_or_table: str, *, + callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = ..., dry_run: Literal[True] = ..., ) -> pandas.Series: ... @@ -317,6 +319,7 @@ def _read_gbq_colab( def _read_gbq_colab( query_or_table: str, *, + callback: Optional[Callable[[bigframes.core.events.Event], None]] = None, pyformat_args: Optional[Dict[str, Any]] = None, dry_run: bool = False, ) -> bigframes.dataframe.DataFrame | pandas.Series: @@ -328,6 +331,8 @@ def _read_gbq_colab( Args: query_or_table (str): SQL query or table ID (table ID not yet supported). + callback (Optional[Callable[[bigframes.core.events.Event], None]]): + Callback to receive query execution events. pyformat_args (Optional[Dict[str, Any]]): Parameters to format into the query string. dry_run (bool): @@ -379,6 +384,7 @@ def _read_gbq_colab( return global_session.with_default_session( bigframes.session.Session._read_gbq_colab, query_or_table, + callback=callback, pyformat_args=pyformat_args, dry_run=dry_run, ) diff --git a/packages/bigframes/bigframes/session/__init__.py b/packages/bigframes/bigframes/session/__init__.py index 38e92a60321b..775cb4e33e4f 100644 --- a/packages/bigframes/bigframes/session/__init__.py +++ b/packages/bigframes/bigframes/session/__init__.py @@ -199,9 +199,10 @@ def __init__( self._clients_provider = clients_provider self._location = context.location or "US" else: - credentials, project = ( - bigframes._config.auth.resolve_credentials_and_project(context) - ) + ( + credentials, + project, + ) = bigframes._config.auth.resolve_credentials_and_project(context) if context.location is None: with bigquery.Client( project=project, @@ -584,6 +585,7 @@ def _read_gbq_colab( self, query: str, *, + callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = None, dry_run: Literal[False] = ..., ) -> dataframe.DataFrame: ... @@ -593,6 +595,7 @@ def _read_gbq_colab( self, query: str, *, + callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = None, dry_run: Literal[True] = ..., ) -> pandas.Series: ... @@ -601,8 +604,8 @@ def _read_gbq_colab( def _read_gbq_colab( self, query: str, - # TODO: Add a callback parameter that takes some kind of Event object. *, + callback: Optional[Callable[[bigframes.core.events.Event], None]] = None, pyformat_args: Optional[Dict[str, Any]] = None, dry_run: bool = False, ) -> Union[dataframe.DataFrame, pandas.Series]: @@ -615,6 +618,8 @@ def _read_gbq_colab( query (str): A SQL query string to execute. Results (if any) are turned into a DataFrame. + callback (Optional[Callable[[bigframes.core.events.Event], None]]): + Callback to receive query execution events. pyformat_args (dict): A dictionary of potential variables to replace in ``query``. Note: strings are _not_ escaped. Use query parameters for these, @@ -634,13 +639,21 @@ def _read_gbq_colab( dry_run=dry_run, ) - return self._loader.read_gbq_query( - query=query, - index_col=bigframes.enums.DefaultIndexKind.NULL, - force_total_order=False, - dry_run=typing.cast(Union[Literal[False], Literal[True]], dry_run), - allow_large_results=allow_large_results, - ) + def _run_query(): + return self._loader.read_gbq_query( + query=query, + index_col=bigframes.enums.DefaultIndexKind.NULL, + force_total_order=False, + dry_run=typing.cast( + Union[Literal[False], Literal[True]], dry_run + ), + allow_large_results=allow_large_results, + ) + + if callback is not None: + with self._publisher.subscribe(callback): + return _run_query() + return _run_query() @overload def read_gbq_query( # type: ignore[overload-overlap] diff --git a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py index bb2cba0c1093..39d733dcc907 100644 --- a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py +++ b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py @@ -126,3 +126,13 @@ def test_read_gbq_colab_doesnt_set_destination_table(): assert query == "SELECT 'my-test-query';" assert config.destination is None + + +def test_read_gbq_colab_with_callback(): + """Make sure callback receives events during execution.""" + session = mocks.create_bigquery_session() + callback = mock.Mock() + + _ = session._read_gbq_colab("SELECT 'my-test-query';", callback=callback) + + assert callback.call_count > 0 From 7574f221c49fd6cba5c288a4bc5d8f47d3067e43 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Fri, 15 May 2026 19:59:55 +0000 Subject: [PATCH 07/42] feat: support execution history filtering by events and job_ids --- .../bigframes/core/global_session.py | 14 ++- .../bigframes/bigframes/session/__init__.py | 104 +++++++++++++++--- .../tests/unit/session/test_read_gbq_colab.py | 45 ++++++++ 3 files changed, 144 insertions(+), 19 deletions(-) diff --git a/packages/bigframes/bigframes/core/global_session.py b/packages/bigframes/bigframes/core/global_session.py index 6ffb37ac5acf..e18e1de7f156 100644 --- a/packages/bigframes/bigframes/core/global_session.py +++ b/packages/bigframes/bigframes/core/global_session.py @@ -19,7 +19,7 @@ import threading import traceback import warnings -from typing import TYPE_CHECKING, Callable, Optional, TypeVar +from typing import TYPE_CHECKING, Callable, Iterable, Optional, TypeVar import google.auth.exceptions @@ -124,12 +124,20 @@ def with_default_session(func_: Callable[..., _T], *args, **kwargs) -> _T: return func_(get_global_session(), *args, **kwargs) -def execution_history() -> "bigframes.session._ExecutionHistory": +def execution_history( + *, + events: Optional[Iterable[bigframes.core.events.Event]] = None, + job_ids: Optional[Iterable[str]] = None, +) -> "bigframes.session._ExecutionHistory": import pandas # noqa: F401 import bigframes.session - return with_default_session(bigframes.session.Session.execution_history) + return with_default_session( + bigframes.session.Session.execution_history, + events=events, + job_ids=job_ids, + ) class _GlobalSessionContext: diff --git a/packages/bigframes/bigframes/session/__init__.py b/packages/bigframes/bigframes/session/__init__.py index 775cb4e33e4f..2252e3dc9e56 100644 --- a/packages/bigframes/bigframes/session/__init__.py +++ b/packages/bigframes/bigframes/session/__init__.py @@ -113,6 +113,18 @@ class _ExecutionHistory: def __init__(self, jobs: list[dict]): self._df = pandas.DataFrame(jobs) + if self._df.empty: + self._df = pandas.DataFrame( + columns=[ + "job_id", + "query_id", + "job_type", + "status", + "query", + "total_bytes_processed", + "job_url", + ] + ) def to_dataframe(self) -> pandas.DataFrame: """Returns the execution history as a pandas DataFrame.""" @@ -431,12 +443,63 @@ def slot_millis_sum(self): """The sum of all slot time used by bigquery jobs in this session.""" return self._metrics.slot_millis - def execution_history(self) -> _ExecutionHistory: + def execution_history( + self, + *, + events: Optional[Iterable[bigframes.core.events.Event]] = None, + job_ids: Optional[Iterable[str]] = None, + ) -> _ExecutionHistory: """Returns the history of executions initiated by BigFrames in the current session. Use `.to_dataframe()` on the result to get a pandas DataFrame. + + Args: + events (Iterable[Event], optional): + Filter execution history to only include jobs associated with the given events. + job_ids (Iterable[str], optional): + Filter execution history to only include jobs matching the given job IDs. """ - return _ExecutionHistory([job.__dict__ for job in self._metrics.jobs]) + jobs = [job.__dict__ for job in self._metrics.jobs] + + if events is not None: + event_job_ids = { + getattr(event, "job_id", None) + for event in events + if getattr(event, "job_id", None) is not None + } + event_query_ids = { + getattr(event, "query_id", None) + for event in events + if getattr(event, "query_id", None) is not None + } + jobs = [ + job + for job in jobs + if ( + job.get("job_id") is not None and job.get("job_id") in event_job_ids + ) + or ( + job.get("query_id") is not None + and job.get("query_id") in event_query_ids + ) + ] + + if job_ids is not None: + target_job_ids = set(job_ids) + jobs = [ + job + for job in jobs + if ( + job.get("job_id") is not None + and job.get("job_id") in target_job_ids + ) + or ( + job.get("query_id") is not None + and job.get("query_id") in target_job_ids + ) + ] + + return _ExecutionHistory(jobs) @property def _allows_ambiguity(self) -> bool: @@ -499,7 +562,8 @@ def read_gbq( # type: ignore[overload-overlap] col_order: Iterable[str] = ..., dry_run: Literal[False] = ..., allow_large_results: Optional[bool] = ..., - ) -> dataframe.DataFrame: ... + ) -> dataframe.DataFrame: + ... @overload def read_gbq( @@ -515,7 +579,8 @@ def read_gbq( col_order: Iterable[str] = ..., dry_run: Literal[True] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.Series: ... + ) -> pandas.Series: + ... def read_gbq( self, @@ -588,7 +653,8 @@ def _read_gbq_colab( callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = None, dry_run: Literal[False] = ..., - ) -> dataframe.DataFrame: ... + ) -> dataframe.DataFrame: + ... @overload def _read_gbq_colab( @@ -598,7 +664,8 @@ def _read_gbq_colab( callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = None, dry_run: Literal[True] = ..., - ) -> pandas.Series: ... + ) -> pandas.Series: + ... @log_adapter.log_name_override("read_gbq_colab") def _read_gbq_colab( @@ -644,9 +711,7 @@ def _run_query(): query=query, index_col=bigframes.enums.DefaultIndexKind.NULL, force_total_order=False, - dry_run=typing.cast( - Union[Literal[False], Literal[True]], dry_run - ), + dry_run=typing.cast(Union[Literal[False], Literal[True]], dry_run), allow_large_results=allow_large_results, ) @@ -669,7 +734,8 @@ def read_gbq_query( # type: ignore[overload-overlap] filters: third_party_pandas_gbq.FiltersType = ..., dry_run: Literal[False] = ..., allow_large_results: Optional[bool] = ..., - ) -> dataframe.DataFrame: ... + ) -> dataframe.DataFrame: + ... @overload def read_gbq_query( @@ -685,7 +751,8 @@ def read_gbq_query( filters: third_party_pandas_gbq.FiltersType = ..., dry_run: Literal[True] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.Series: ... + ) -> pandas.Series: + ... def read_gbq_query( self, @@ -832,7 +899,8 @@ def read_gbq_table( # type: ignore[overload-overlap] use_cache: bool = ..., col_order: Iterable[str] = ..., dry_run: Literal[False] = ..., - ) -> dataframe.DataFrame: ... + ) -> dataframe.DataFrame: + ... @overload def read_gbq_table( @@ -846,7 +914,8 @@ def read_gbq_table( use_cache: bool = ..., col_order: Iterable[str] = ..., dry_run: Literal[True] = ..., - ) -> pandas.Series: ... + ) -> pandas.Series: + ... def read_gbq_table( self, @@ -997,7 +1066,8 @@ def read_pandas( pandas_dataframe: pandas.Index, *, write_engine: constants.WriteEngineType = "default", - ) -> bigframes.core.indexes.Index: ... + ) -> bigframes.core.indexes.Index: + ... @typing.overload def read_pandas( @@ -1005,7 +1075,8 @@ def read_pandas( pandas_dataframe: pandas.Series, *, write_engine: constants.WriteEngineType = "default", - ) -> bigframes.series.Series: ... + ) -> bigframes.series.Series: + ... @typing.overload def read_pandas( @@ -1013,7 +1084,8 @@ def read_pandas( pandas_dataframe: pandas.DataFrame, *, write_engine: constants.WriteEngineType = "default", - ) -> dataframe.DataFrame: ... + ) -> dataframe.DataFrame: + ... def read_pandas( self, diff --git a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py index 39d733dcc907..49f4a136fbd3 100644 --- a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py +++ b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py @@ -136,3 +136,48 @@ def test_read_gbq_colab_with_callback(): _ = session._read_gbq_colab("SELECT 'my-test-query';", callback=callback) assert callback.call_count > 0 + + +def test_read_gbq_colab_filters_by_cell(): + """Verify that callbacks are scoped to individual executions.""" + session = mocks.create_bigquery_session() + callback1 = mock.Mock() + callback2 = mock.Mock() + + _ = session._read_gbq_colab("SELECT 'cell_1_query';", callback=callback1) + callback1_initial_count = callback1.call_count + + _ = session._read_gbq_colab("SELECT 'cell_2_query';", callback=callback2) + + # Verify callback1 was automatically unsubscribed upon completion + # of the first query. + assert callback1.call_count == callback1_initial_count + assert callback2.call_count > 0 + + +def test_execution_history_filtering(): + """Verify that execution_history can be filtered by job_ids or events.""" + from bigframes.session import metrics + + session = mocks.create_bigquery_session() + + # Add mock jobs to session metrics + job1 = metrics.JobMetadata( + job_id="job_1", job_type="query", query="SELECT 1" + ) + job2 = metrics.JobMetadata( + job_id="job_2", job_type="query", query="SELECT 2" + ) + session._metrics.jobs.extend([job1, job2]) + + # Verify filtering by job_ids isolates the target execution + history_job1 = session.execution_history(job_ids=["job_1"]).to_dataframe() + assert len(history_job1) == 1 + assert history_job1.iloc[0]["job_id"] == "job_1" + + # Verify filtering by events isolates the target execution + event2 = mock.Mock() + event2.job_id = "job_2" + history_job2 = session.execution_history(events=[event2]).to_dataframe() + assert len(history_job2) == 1 + assert history_job2.iloc[0]["job_id"] == "job_2" From d2eea39fabd8758729800da965f8e77fa9ddd553 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Fri, 15 May 2026 21:03:44 +0000 Subject: [PATCH 08/42] feat: support automatic per-cell execution history filtering --- .../bigframes/core/global_session.py | 3 ++ .../bigframes/bigframes/session/__init__.py | 22 +++++++++++- .../bigframes/bigframes/session/metrics.py | 34 +++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) diff --git a/packages/bigframes/bigframes/core/global_session.py b/packages/bigframes/bigframes/core/global_session.py index e18e1de7f156..c1164cca43be 100644 --- a/packages/bigframes/bigframes/core/global_session.py +++ b/packages/bigframes/bigframes/core/global_session.py @@ -128,6 +128,7 @@ def execution_history( *, events: Optional[Iterable[bigframes.core.events.Event]] = None, job_ids: Optional[Iterable[str]] = None, + filter_by_cell: bool = True, ) -> "bigframes.session._ExecutionHistory": import pandas # noqa: F401 @@ -137,9 +138,11 @@ def execution_history( bigframes.session.Session.execution_history, events=events, job_ids=job_ids, + filter_by_cell=filter_by_cell, ) + class _GlobalSessionContext: """ Context manager for testing that sets global session. diff --git a/packages/bigframes/bigframes/session/__init__.py b/packages/bigframes/bigframes/session/__init__.py index 2252e3dc9e56..5b6e5c6d0997 100644 --- a/packages/bigframes/bigframes/session/__init__.py +++ b/packages/bigframes/bigframes/session/__init__.py @@ -448,6 +448,7 @@ def execution_history( *, events: Optional[Iterable[bigframes.core.events.Event]] = None, job_ids: Optional[Iterable[str]] = None, + filter_by_cell: bool = True, ) -> _ExecutionHistory: """Returns the history of executions initiated by BigFrames in the current session. @@ -458,6 +459,9 @@ def execution_history( Filter execution history to only include jobs associated with the given events. job_ids (Iterable[str], optional): Filter execution history to only include jobs matching the given job IDs. + filter_by_cell (bool, optional): + If True and running in Colab/Jupyter, automatically filter history to only include + jobs executed within the current cell. Defaults to True. """ jobs = [job.__dict__ for job in self._metrics.jobs] @@ -484,7 +488,7 @@ def execution_history( ) ] - if job_ids is not None: + elif job_ids is not None: target_job_ids = set(job_ids) jobs = [ job @@ -499,8 +503,24 @@ def execution_history( ) ] + elif filter_by_cell: + try: + import IPython + + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + current_count = ipy.execution_count + jobs = [ + job + for job in jobs + if job.get("cell_execution_count") == current_count + ] + except (ImportError, NameError): + pass + return _ExecutionHistory(jobs) + @property def _allows_ambiguity(self) -> bool: return self._allow_ambiguity diff --git a/packages/bigframes/bigframes/session/metrics.py b/packages/bigframes/bigframes/session/metrics.py index d2682bbcaf7f..51590968f06c 100644 --- a/packages/bigframes/bigframes/session/metrics.py +++ b/packages/bigframes/bigframes/session/metrics.py @@ -51,6 +51,7 @@ class JobMetadata: input_bytes: Optional[int] = None output_rows: Optional[int] = None source_format: Optional[str] = None + cell_execution_count: Optional[int] = None @classmethod def from_job( @@ -65,6 +66,16 @@ def from_job( if job_id: job_url = f"https://console.cloud.google.com/bigquery?project={query_job.project}&j=bq:{query_job.location}:{job_id}&page=queryresults" + cell_execution_count = None + try: + import IPython + + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + cell_execution_count = ipy.execution_count + except (ImportError, NameError): + pass + metadata = cls( job_id=query_job.job_id, location=query_job.location, @@ -78,6 +89,7 @@ def from_job( error_result=query_job.error_result, query=query_text, job_url=job_url, + cell_execution_count=cell_execution_count, ) if isinstance(query_job, QueryJob): metadata.cached = getattr(query_job, "cache_hit", None) @@ -121,6 +133,16 @@ def from_row_iterator( location = getattr(row_iterator, "location", "") job_url = f"https://console.cloud.google.com/bigquery?project={project}&j=bq:{location}:{job_id}&page=queryresults" + cell_execution_count = None + try: + import IPython + + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + cell_execution_count = ipy.execution_count + except (ImportError, NameError): + pass + return cls( job_id=job_id, query_id=getattr(row_iterator, "query_id", None), @@ -137,6 +159,7 @@ def from_row_iterator( cached=getattr(row_iterator, "cache_hit", None), query=query_text, job_url=job_url, + cell_execution_count=cell_execution_count, ) @@ -249,10 +272,21 @@ def on_event(self, event: Any): bytes_processed = event.result.total_bytes_processed or 0 self.bytes_processed += bytes_processed + cell_execution_count = None + try: + import IPython + + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + cell_execution_count = ipy.execution_count + except (ImportError, NameError): + pass + metadata = JobMetadata( job_type="polars", status="DONE", total_bytes_processed=bytes_processed, + cell_execution_count=cell_execution_count, ) self.jobs.append(metadata) From 21d5dd858593aca11ee4fac4191409f23ba8eb5f Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Fri, 15 May 2026 21:05:33 +0000 Subject: [PATCH 09/42] format code --- packages/bigframes/bigframes/core/global_session.py | 1 - packages/bigframes/bigframes/session/__init__.py | 1 - .../bigframes/tests/unit/session/test_read_gbq_colab.py | 8 ++------ 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/packages/bigframes/bigframes/core/global_session.py b/packages/bigframes/bigframes/core/global_session.py index c1164cca43be..f9772eed6c88 100644 --- a/packages/bigframes/bigframes/core/global_session.py +++ b/packages/bigframes/bigframes/core/global_session.py @@ -142,7 +142,6 @@ def execution_history( ) - class _GlobalSessionContext: """ Context manager for testing that sets global session. diff --git a/packages/bigframes/bigframes/session/__init__.py b/packages/bigframes/bigframes/session/__init__.py index 5b6e5c6d0997..6d2bb1e87c51 100644 --- a/packages/bigframes/bigframes/session/__init__.py +++ b/packages/bigframes/bigframes/session/__init__.py @@ -520,7 +520,6 @@ def execution_history( return _ExecutionHistory(jobs) - @property def _allows_ambiguity(self) -> bool: return self._allow_ambiguity diff --git a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py index 49f4a136fbd3..faee3cd9961c 100644 --- a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py +++ b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py @@ -162,12 +162,8 @@ def test_execution_history_filtering(): session = mocks.create_bigquery_session() # Add mock jobs to session metrics - job1 = metrics.JobMetadata( - job_id="job_1", job_type="query", query="SELECT 1" - ) - job2 = metrics.JobMetadata( - job_id="job_2", job_type="query", query="SELECT 2" - ) + job1 = metrics.JobMetadata(job_id="job_1", job_type="query", query="SELECT 1") + job2 = metrics.JobMetadata(job_id="job_2", job_type="query", query="SELECT 2") session._metrics.jobs.extend([job1, job2]) # Verify filtering by job_ids isolates the target execution From 97c726056e5dc4696b34d7edb61433a5bfc105c5 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Sat, 16 May 2026 00:48:52 +0000 Subject: [PATCH 10/42] fix: avoid mutating extra_query_labels in place --- packages/bigframes/bigframes/session/_io/bigquery/__init__.py | 2 ++ packages/bigframes/bigframes/session/bigquery_session.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/bigframes/bigframes/session/_io/bigquery/__init__.py b/packages/bigframes/bigframes/session/_io/bigquery/__init__.py index 7cd7634b08e4..3d273f6de6bf 100644 --- a/packages/bigframes/bigframes/session/_io/bigquery/__init__.py +++ b/packages/bigframes/bigframes/session/_io/bigquery/__init__.py @@ -54,6 +54,8 @@ def create_job_configs_labels( ) -> Dict[str, str]: if job_configs_labels is None: job_configs_labels = {} + else: + job_configs_labels = dict(job_configs_labels) if api_methods and "bigframes-api" not in job_configs_labels: job_configs_labels["bigframes-api"] = api_methods[0] diff --git a/packages/bigframes/bigframes/session/bigquery_session.py b/packages/bigframes/bigframes/session/bigquery_session.py index a39c6136876d..18f8cdeaff49 100644 --- a/packages/bigframes/bigframes/session/bigquery_session.py +++ b/packages/bigframes/bigframes/session/bigquery_session.py @@ -122,7 +122,7 @@ def close(self): # Assume this is being called in the user thread, so we can access # this thread-local config. job_config=bigquery.QueryJobConfig( - labels=bigframes.options.compute.extra_query_labels + labels=dict(bigframes.options.compute.extra_query_labels) ), location=self.location, project=None, From f080dda84c68934137ecf2e3c161c9fd914099a3 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Sat, 16 May 2026 00:50:28 +0000 Subject: [PATCH 11/42] format code --- .../bigframes/bigframes/session/__init__.py | 33 +++++++------------ 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/packages/bigframes/bigframes/session/__init__.py b/packages/bigframes/bigframes/session/__init__.py index 6d2bb1e87c51..d7ab1d91e8bd 100644 --- a/packages/bigframes/bigframes/session/__init__.py +++ b/packages/bigframes/bigframes/session/__init__.py @@ -581,8 +581,7 @@ def read_gbq( # type: ignore[overload-overlap] col_order: Iterable[str] = ..., dry_run: Literal[False] = ..., allow_large_results: Optional[bool] = ..., - ) -> dataframe.DataFrame: - ... + ) -> dataframe.DataFrame: ... @overload def read_gbq( @@ -598,8 +597,7 @@ def read_gbq( col_order: Iterable[str] = ..., dry_run: Literal[True] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.Series: - ... + ) -> pandas.Series: ... def read_gbq( self, @@ -672,8 +670,7 @@ def _read_gbq_colab( callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = None, dry_run: Literal[False] = ..., - ) -> dataframe.DataFrame: - ... + ) -> dataframe.DataFrame: ... @overload def _read_gbq_colab( @@ -683,8 +680,7 @@ def _read_gbq_colab( callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = None, dry_run: Literal[True] = ..., - ) -> pandas.Series: - ... + ) -> pandas.Series: ... @log_adapter.log_name_override("read_gbq_colab") def _read_gbq_colab( @@ -753,8 +749,7 @@ def read_gbq_query( # type: ignore[overload-overlap] filters: third_party_pandas_gbq.FiltersType = ..., dry_run: Literal[False] = ..., allow_large_results: Optional[bool] = ..., - ) -> dataframe.DataFrame: - ... + ) -> dataframe.DataFrame: ... @overload def read_gbq_query( @@ -770,8 +765,7 @@ def read_gbq_query( filters: third_party_pandas_gbq.FiltersType = ..., dry_run: Literal[True] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.Series: - ... + ) -> pandas.Series: ... def read_gbq_query( self, @@ -918,8 +912,7 @@ def read_gbq_table( # type: ignore[overload-overlap] use_cache: bool = ..., col_order: Iterable[str] = ..., dry_run: Literal[False] = ..., - ) -> dataframe.DataFrame: - ... + ) -> dataframe.DataFrame: ... @overload def read_gbq_table( @@ -933,8 +926,7 @@ def read_gbq_table( use_cache: bool = ..., col_order: Iterable[str] = ..., dry_run: Literal[True] = ..., - ) -> pandas.Series: - ... + ) -> pandas.Series: ... def read_gbq_table( self, @@ -1085,8 +1077,7 @@ def read_pandas( pandas_dataframe: pandas.Index, *, write_engine: constants.WriteEngineType = "default", - ) -> bigframes.core.indexes.Index: - ... + ) -> bigframes.core.indexes.Index: ... @typing.overload def read_pandas( @@ -1094,8 +1085,7 @@ def read_pandas( pandas_dataframe: pandas.Series, *, write_engine: constants.WriteEngineType = "default", - ) -> bigframes.series.Series: - ... + ) -> bigframes.series.Series: ... @typing.overload def read_pandas( @@ -1103,8 +1093,7 @@ def read_pandas( pandas_dataframe: pandas.DataFrame, *, write_engine: constants.WriteEngineType = "default", - ) -> dataframe.DataFrame: - ... + ) -> dataframe.DataFrame: ... def read_pandas( self, From 4bd27350d2aaca506265bb71a22b3de54d953b14 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Sat, 16 May 2026 00:52:21 +0000 Subject: [PATCH 12/42] fix: update pre-commit config to use ruff --- .pre-commit-config.yaml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 427359befa73..8dbe9e7cb0be 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,11 +21,10 @@ repos: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml -- repo: https://github.com/psf/black - rev: 22.3.0 +- repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.14.14 hooks: - - id: black -- repo: https://github.com/pycqa/flake8 - rev: 3.9.2 # version-scanner: ignore - hooks: - - id: flake8 + - id: ruff + args: [--select, I, --fix, --line-length=88, --target-version=py310] + - id: ruff-format + args: [--line-length=88, --target-version=py310] From dcae615020ef7456e5548bf688841415ce505231 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Mon, 18 May 2026 18:50:46 +0000 Subject: [PATCH 13/42] fix mypy --- packages/bigframes/bigframes/pandas/io/api.py | 8 ++++---- packages/bigframes/bigframes/session/__init__.py | 10 ++++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/bigframes/bigframes/pandas/io/api.py b/packages/bigframes/bigframes/pandas/io/api.py index f8c3a881eed6..75e6b6bef08d 100644 --- a/packages/bigframes/bigframes/pandas/io/api.py +++ b/packages/bigframes/bigframes/pandas/io/api.py @@ -300,7 +300,7 @@ def _try_read_gbq_colab_sessionless_dry_run( def _read_gbq_colab( # type: ignore[overload-overlap] query_or_table: str, *, - callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., + callback: Optional[Callable[[bigframes.core.events.EventEnvelope], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = ..., dry_run: Literal[False] = ..., ) -> bigframes.dataframe.DataFrame: ... @@ -310,7 +310,7 @@ def _read_gbq_colab( # type: ignore[overload-overlap] def _read_gbq_colab( query_or_table: str, *, - callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., + callback: Optional[Callable[[bigframes.core.events.EventEnvelope], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = ..., dry_run: Literal[True] = ..., ) -> pandas.Series: ... @@ -319,7 +319,7 @@ def _read_gbq_colab( def _read_gbq_colab( query_or_table: str, *, - callback: Optional[Callable[[bigframes.core.events.Event], None]] = None, + callback: Optional[Callable[[bigframes.core.events.EventEnvelope], None]] = None, pyformat_args: Optional[Dict[str, Any]] = None, dry_run: bool = False, ) -> bigframes.dataframe.DataFrame | pandas.Series: @@ -331,7 +331,7 @@ def _read_gbq_colab( Args: query_or_table (str): SQL query or table ID (table ID not yet supported). - callback (Optional[Callable[[bigframes.core.events.Event], None]]): + callback (Optional[Callable[[bigframes.core.events.EventEnvelope], None]]): Callback to receive query execution events. pyformat_args (Optional[Dict[str, Any]]): Parameters to format into the query string. diff --git a/packages/bigframes/bigframes/session/__init__.py b/packages/bigframes/bigframes/session/__init__.py index d7ab1d91e8bd..fdcb85623496 100644 --- a/packages/bigframes/bigframes/session/__init__.py +++ b/packages/bigframes/bigframes/session/__init__.py @@ -667,7 +667,7 @@ def _read_gbq_colab( self, query: str, *, - callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., + callback: Optional[Callable[[bigframes.core.events.EventEnvelope], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = None, dry_run: Literal[False] = ..., ) -> dataframe.DataFrame: ... @@ -677,7 +677,7 @@ def _read_gbq_colab( self, query: str, *, - callback: Optional[Callable[[bigframes.core.events.Event], None]] = ..., + callback: Optional[Callable[[bigframes.core.events.EventEnvelope], None]] = ..., pyformat_args: Optional[Dict[str, Any]] = None, dry_run: Literal[True] = ..., ) -> pandas.Series: ... @@ -687,7 +687,9 @@ def _read_gbq_colab( self, query: str, *, - callback: Optional[Callable[[bigframes.core.events.Event], None]] = None, + callback: Optional[ + Callable[[bigframes.core.events.EventEnvelope], None] + ] = None, pyformat_args: Optional[Dict[str, Any]] = None, dry_run: bool = False, ) -> Union[dataframe.DataFrame, pandas.Series]: @@ -700,7 +702,7 @@ def _read_gbq_colab( query (str): A SQL query string to execute. Results (if any) are turned into a DataFrame. - callback (Optional[Callable[[bigframes.core.events.Event], None]]): + callback (Optional[Callable[[bigframes.core.events.EventEnvelope], None]]): Callback to receive query execution events. pyformat_args (dict): A dictionary of potential variables to replace in ``query``. From 7db13300d88bd48f9119d36472eda0e27fc4aabb Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Mon, 18 May 2026 20:46:54 +0000 Subject: [PATCH 14/42] feat: universal per-cell execution history filtering --- packages/bigframes/bigframes/core/events.py | 3 +- .../session/_io/bigquery/__init__.py | 83 ++++++++++++++----- .../bigframes/session/bq_caching_executor.py | 12 ++- .../bigframes/session/direct_gbq_execution.py | 4 + .../bigframes/session/execution_spec.py | 19 ++++- .../bigframes/bigframes/session/metrics.py | 67 +++++++++------ .../tests/unit/session/test_metrics.py | 35 +++++++- 7 files changed, 166 insertions(+), 57 deletions(-) diff --git a/packages/bigframes/bigframes/core/events.py b/packages/bigframes/bigframes/core/events.py index 61831f4cc399..db81eba06652 100644 --- a/packages/bigframes/bigframes/core/events.py +++ b/packages/bigframes/bigframes/core/events.py @@ -20,7 +20,7 @@ import datetime import threading import uuid -from typing import Any, Callable, Literal, Set +from typing import Any, Callable, Literal, Optional, Set import google.cloud.bigquery._job_helpers import google.cloud.bigquery.job.query @@ -129,6 +129,7 @@ class Event: class EventEnvelope: event: Event progress_bar: ProgressBarType = _DEFAULT + cell_execution_count: Optional[int] = None @dataclasses.dataclass(frozen=True) diff --git a/packages/bigframes/bigframes/session/_io/bigquery/__init__.py b/packages/bigframes/bigframes/session/_io/bigquery/__init__.py index b37cb0b9e95c..eeb7ebd01da0 100644 --- a/packages/bigframes/bigframes/session/_io/bigquery/__init__.py +++ b/packages/bigframes/bigframes/session/_io/bigquery/__init__.py @@ -263,7 +263,7 @@ def add_and_trim_labels( ) -def create_bq_event_callback(publisher): +def create_bq_event_callback(publisher, cell_execution_count=None): event_map = { google.cloud.bigquery._job_helpers.QueryFinishedEvent: ( bigframes.core.events.BigQueryFinishedEvent @@ -286,7 +286,9 @@ def publish_bq_event(event): bf_event = bf_type.from_bqclient(event) # type: ignore break envelope = bigframes.core.events.EventEnvelope( - event=bf_event, progress_bar=bigframes.core.events._DEFAULT + event=bf_event, + progress_bar=bigframes.core.events._DEFAULT, + cell_execution_count=cell_execution_count, ) publisher.publish(envelope) @@ -309,10 +311,21 @@ def start_query_with_job( job_retry: google.api_core.retry.Retry = (third_party_gcb_retry.DEFAULT_JOB_RETRY), # noqa: E501 publisher: bigframes.core.events.Publisher, session=None, + cell_execution_count: Optional[int] = None, ) -> Tuple[google.cloud.bigquery.table.RowIterator, bigquery.QueryJob]: """ Starts query job and waits for results. """ + if cell_execution_count is None: + try: + import IPython + + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + cell_execution_count = ipy.execution_count + except (ImportError, NameError): + pass + # Note: Ensure no additional labels are added to job_config after this # point, as `add_and_trim_labels` ensures the label count does not # exceed MAX_LABELS_COUNT. @@ -339,6 +352,7 @@ def start_query_with_job( sql=sql, publisher=publisher, metrics=metrics, + cell_execution_count=cell_execution_count, ) return results_iterator, query_job @@ -359,6 +373,7 @@ def start_query_job_optional( job_retry: google.api_core.retry.Retry = (third_party_gcb_retry.DEFAULT_JOB_RETRY), # noqa: E501 publisher: bigframes.core.events.Publisher, session=None, + cell_execution_count: Optional[int] = None, ) -> google.cloud.bigquery.table.RowIterator: """ Run a bigquery query, with job optional. @@ -366,6 +381,16 @@ def start_query_job_optional( See: https://docs.cloud.google.com/bigquery/docs/running-queries#optional-job-creation """ + if cell_execution_count is None: + try: + import IPython + + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + cell_execution_count = ipy.execution_count + except (ImportError, NameError): + pass + add_and_trim_labels(job_config, session=session) try: results_iterator = bq_client._query_and_wait_bigframes( @@ -375,10 +400,14 @@ def start_query_job_optional( project=project, api_timeout=timeout, job_retry=job_retry, - callback=create_bq_event_callback(publisher), + callback=create_bq_event_callback( + publisher, cell_execution_count=cell_execution_count + ), ) if metrics is not None: - metrics.count_job_stats(row_iterator=results_iterator) + metrics.count_job_stats( + row_iterator=results_iterator, cell_execution_count=cell_execution_count + ) return results_iterator except google.api_core.exceptions.Forbidden as ex: if "Drive credentials" in ex.message: @@ -392,35 +421,45 @@ def _publish_events( total_rows: Optional[int], publisher: bigframes.core.events.Publisher, metrics: Optional[bigframes.session.metrics.ExecutionMetrics] = None, + cell_execution_count: Optional[int] = None, ): if not query_job.configuration.dry_run: publisher.publish( - bigframes.core.events.BigQuerySentEvent( - sql, - billing_project=query_job.project, - location=query_job.location, - job_id=query_job.job_id, - request_id=None, + bigframes.core.events.EventEnvelope( + event=bigframes.core.events.BigQuerySentEvent( + sql, + billing_project=query_job.project, + location=query_job.location, + job_id=query_job.job_id, + request_id=None, + ), + cell_execution_count=cell_execution_count, ) ) if not query_job.configuration.dry_run: publisher.publish( - bigframes.core.events.BigQueryFinishedEvent( - billing_project=query_job.project, - location=query_job.location, - job_id=query_job.job_id, - destination=query_job.destination, - total_rows=total_rows, - total_bytes_processed=query_job.total_bytes_processed, - slot_millis=query_job.slot_millis, - created=query_job.created, - started=query_job.started, - ended=query_job.ended, + bigframes.core.events.EventEnvelope( + event=bigframes.core.events.BigQueryFinishedEvent( + billing_project=query_job.project, + location=query_job.location, + query_id=query_job.query_id, + job_id=query_job.job_id, + destination=query_job.destination, + total_rows=total_rows, + total_bytes_processed=query_job.total_bytes_processed, + slot_millis=query_job.slot_millis, + created=query_job.created, + started=query_job.started, + ended=query_job.ended, + ), + cell_execution_count=cell_execution_count, ) ) if metrics is not None: - metrics.count_job_stats(query_job=query_job) + metrics.count_job_stats( + query_job=query_job, cell_execution_count=cell_execution_count + ) def delete_tables_matching_session_id( diff --git a/packages/bigframes/bigframes/session/bq_caching_executor.py b/packages/bigframes/bigframes/session/bq_caching_executor.py index 9948480d5cac..0b9c5f804741 100644 --- a/packages/bigframes/bigframes/session/bq_caching_executor.py +++ b/packages/bigframes/bigframes/session/bq_caching_executor.py @@ -208,8 +208,9 @@ async def _execute_async( execution_spec, ) await self._publisher.publish_async( - bigframes.core.events.ExecutionFinished( - result=result, + bigframes.core.events.EventEnvelope( + event=bigframes.core.events.ExecutionFinished(result=result), + cell_execution_count=execution_spec.cell_execution_count, ) ) return result @@ -224,8 +225,11 @@ async def _try_execute_semi_executors( maybe_result = await exec.execute(plan, execution_spec) if maybe_result: await self._publisher.publish_async( - bigframes.core.events.ExecutionFinished( - result=maybe_result, + bigframes.core.events.EventEnvelope( + event=bigframes.core.events.ExecutionFinished( + result=maybe_result, + ), + cell_execution_count=execution_spec.cell_execution_count, ) ) return maybe_result diff --git a/packages/bigframes/bigframes/session/direct_gbq_execution.py b/packages/bigframes/bigframes/session/direct_gbq_execution.py index 24f48fe7d54b..c4d9aa729468 100644 --- a/packages/bigframes/bigframes/session/direct_gbq_execution.py +++ b/packages/bigframes/bigframes/session/direct_gbq_execution.py @@ -109,6 +109,7 @@ async def execute( job_config=job_config, query_with_job=(not can_skip_job), session=plan.session, + cell_execution_count=spec.cell_execution_count, ) result_bq_data = None if query_job and query_job.destination: @@ -158,6 +159,7 @@ def _run_execute_query( job_config: bq_job.QueryJobConfig, query_with_job: bool, session, + cell_execution_count: Optional[int] = None, ) -> Tuple[bq_table.RowIterator, Optional[bigquery.QueryJob]]: """ Starts BigQuery query job and waits for results. @@ -171,6 +173,7 @@ def _run_execute_query( metrics=self._metrics, publisher=self._publisher, session=session, + cell_execution_count=cell_execution_count, ) else: return ( @@ -181,6 +184,7 @@ def _run_execute_query( metrics=self._metrics, publisher=self._publisher, session=session, + cell_execution_count=cell_execution_count, ), None, ) diff --git a/packages/bigframes/bigframes/session/execution_spec.py b/packages/bigframes/bigframes/session/execution_spec.py index fc5c11c1c403..02f60b082f69 100644 --- a/packages/bigframes/bigframes/session/execution_spec.py +++ b/packages/bigframes/bigframes/session/execution_spec.py @@ -60,6 +60,7 @@ class ExecutionSpec: # BigQuery specific options bigquery_config: Optional[BqComputeOptions] = None + cell_execution_count: Optional[int] = None def with_bq_labels(self, labels: Mapping[str, str]) -> ExecutionSpec: bq_config = self.bigquery_config or BqComputeOptions() @@ -77,7 +78,23 @@ def with_compute_options(self, compute_options: ComputeOptions) -> ExecutionSpec new_bq_config = new_bq_config.push_labels( dict(self.bigquery_config.extra_query_labels) ) - return dataclasses.replace(self, bigquery_config=new_bq_config) + + cell_execution_count = self.cell_execution_count + if cell_execution_count is None: + try: + import IPython + + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + cell_execution_count = ipy.execution_count + except (ImportError, NameError): + pass + + return dataclasses.replace( + self, + bigquery_config=new_bq_config, + cell_execution_count=cell_execution_count, + ) # Used internally by execution diff --git a/packages/bigframes/bigframes/session/metrics.py b/packages/bigframes/bigframes/session/metrics.py index 385d88e506fb..36869df41737 100644 --- a/packages/bigframes/bigframes/session/metrics.py +++ b/packages/bigframes/bigframes/session/metrics.py @@ -58,6 +58,7 @@ def from_job( cls, query_job: Union[QueryJob, LoadJob], exec_seconds: Optional[float] = None, + cell_execution_count: Optional[int] = None, ) -> "JobMetadata": query_text = getattr(query_job, "query", None) if query_text and len(query_text) > 1024: @@ -72,15 +73,15 @@ def from_job( f"{job_id}&page=queryresults" ) - cell_execution_count = None - try: - import IPython + if cell_execution_count is None: + try: + import IPython - ipy = IPython.get_ipython() - if ipy is not None and hasattr(ipy, "execution_count"): - cell_execution_count = ipy.execution_count - except (ImportError, NameError): - pass + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + cell_execution_count = ipy.execution_count + except (ImportError, NameError): + pass metadata = cls( job_id=query_job.job_id, @@ -129,6 +130,7 @@ def from_row_iterator( cls, row_iterator: bq_table.RowIterator, exec_seconds: Optional[float] = None, + cell_execution_count: Optional[int] = None, ) -> "JobMetadata": query_text = getattr(row_iterator, "query", None) if query_text and len(query_text) > 1024: @@ -144,15 +146,15 @@ def from_row_iterator( f"project={project}&j=bq:{location}:{job_id}&page=queryresults" ) - cell_execution_count = None - try: - import IPython + if cell_execution_count is None: + try: + import IPython - ipy = IPython.get_ipython() - if ipy is not None and hasattr(ipy, "execution_count"): - cell_execution_count = ipy.execution_count - except (ImportError, NameError): - pass + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + cell_execution_count = ipy.execution_count + except (ImportError, NameError): + pass # fmt: off return cls( @@ -192,6 +194,8 @@ def count_job_stats( self, query_job: Optional[Union[QueryJob, LoadJob]] = None, row_iterator: Optional[bq_table.RowIterator] = None, + *, + cell_execution_count: Optional[int] = None, ): if query_job is None: assert row_iterator is not None @@ -217,7 +221,9 @@ def count_job_stats( self.jobs.append( JobMetadata.from_row_iterator( - row_iterator, exec_seconds=exec_seconds + row_iterator, + exec_seconds=exec_seconds, + cell_execution_count=cell_execution_count, ) ) @@ -248,7 +254,9 @@ def count_job_stats( self.execution_secs += exec_seconds or 0 metadata = JobMetadata.from_job( - query_job, exec_seconds=exec_seconds + query_job, + exec_seconds=exec_seconds, + cell_execution_count=cell_execution_count, ) self.jobs.append(metadata) @@ -260,7 +268,11 @@ def count_job_stats( else None ) self.jobs.append( - JobMetadata.from_job(query_job, exec_seconds=duration) + JobMetadata.from_job( + query_job, + exec_seconds=duration, + cell_execution_count=cell_execution_count, + ) ) # For pytest runs only, log information about the query job @@ -307,6 +319,7 @@ def on_event(self, envelope: Any): # EventEnvelope, ensuring subscribers receive a consistent contract. assert isinstance(envelope, bigframes.core.events.EventEnvelope) event = envelope.event + cell_execution_count = envelope.cell_execution_count if isinstance(event, bigframes.core.events.ExecutionFinished): if event.result and isinstance(event.result, LocalExecuteResult): @@ -314,15 +327,15 @@ def on_event(self, envelope: Any): bytes_processed = event.result.total_bytes_processed or 0 self.bytes_processed += bytes_processed - cell_execution_count = None - try: - import IPython + if cell_execution_count is None: + try: + import IPython - ipy = IPython.get_ipython() - if ipy is not None and hasattr(ipy, "execution_count"): - cell_execution_count = ipy.execution_count - except (ImportError, NameError): - pass + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + cell_execution_count = ipy.execution_count + except (ImportError, NameError): + pass metadata = JobMetadata( job_type="polars", diff --git a/packages/bigframes/tests/unit/session/test_metrics.py b/packages/bigframes/tests/unit/session/test_metrics.py index ebd6e210fbe2..27797939e306 100644 --- a/packages/bigframes/tests/unit/session/test_metrics.py +++ b/packages/bigframes/tests/unit/session/test_metrics.py @@ -16,11 +16,10 @@ import os import unittest.mock +import bigframes.session.metrics as metrics import google.cloud.bigquery as bigquery import pytest -import bigframes.session.metrics as metrics - NOW = datetime.datetime.now(datetime.timezone.utc) @@ -268,3 +267,35 @@ def test_on_event_with_local_execute_result(): assert execution_metrics.jobs[0].job_type == "polars" assert execution_metrics.jobs[0].status == "DONE" assert execution_metrics.jobs[0].total_bytes_processed == 1024 + + +def test_count_job_stats_with_explicit_cell_execution_count(): + row_iterator = unittest.mock.create_autospec( + bigquery.table.RowIterator, instance=True + ) + row_iterator.total_bytes_processed = 1024 + row_iterator.query = "SELECT * FROM table" + row_iterator.slot_millis = 1234 + execution_metrics = metrics.ExecutionMetrics() + execution_metrics.count_job_stats( + row_iterator=row_iterator, cell_execution_count=42 + ) + + assert len(execution_metrics.jobs) == 1 + assert execution_metrics.jobs[0].cell_execution_count == 42 + + +def test_on_event_with_explicit_cell_execution_count(): + import bigframes.core.events + from bigframes.session.executor import LocalExecuteResult + + local_result = unittest.mock.create_autospec(LocalExecuteResult, instance=True) + local_result.total_bytes_processed = 1024 + + event = bigframes.core.events.ExecutionFinished(result=local_result) + envelope = bigframes.core.events.EventEnvelope(event=event, cell_execution_count=42) + execution_metrics = metrics.ExecutionMetrics() + execution_metrics.on_event(envelope) + + assert len(execution_metrics.jobs) == 1 + assert execution_metrics.jobs[0].cell_execution_count == 42 From da6682c9ede77d222f736673ec7b968a4e3212ca Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Mon, 18 May 2026 20:55:28 +0000 Subject: [PATCH 15/42] format code --- packages/bigframes/tests/unit/session/test_metrics.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/bigframes/tests/unit/session/test_metrics.py b/packages/bigframes/tests/unit/session/test_metrics.py index 27797939e306..4e550b1c77a3 100644 --- a/packages/bigframes/tests/unit/session/test_metrics.py +++ b/packages/bigframes/tests/unit/session/test_metrics.py @@ -16,10 +16,11 @@ import os import unittest.mock -import bigframes.session.metrics as metrics import google.cloud.bigquery as bigquery import pytest +import bigframes.session.metrics as metrics + NOW = datetime.datetime.now(datetime.timezone.utc) From 0ef9216abc1f89819a38cf434702caa391a997c6 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Mon, 18 May 2026 20:58:43 +0000 Subject: [PATCH 16/42] revert .pre-commit-config.yaml to old black/flake8 config --- .pre-commit-config.yaml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8dbe9e7cb0be..427359befa73 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,10 +21,11 @@ repos: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml -- repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.14.14 +- repo: https://github.com/psf/black + rev: 22.3.0 hooks: - - id: ruff - args: [--select, I, --fix, --line-length=88, --target-version=py310] - - id: ruff-format - args: [--line-length=88, --target-version=py310] + - id: black +- repo: https://github.com/pycqa/flake8 + rev: 3.9.2 # version-scanner: ignore + hooks: + - id: flake8 From 3cc277029f7692596bba56e8b11f7c7a84e96947 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Tue, 19 May 2026 18:00:01 +0000 Subject: [PATCH 17/42] chore: clean up angular boilerplate and add copyright headers --- .../bigframes/display/table_widget_angular.js | 3 ++- .../display/table_widget_angular/bundle.js | 20 +++++++++++++++++++ .../table_widget_angular/src/app/app.css | 0 .../src/app/app.routes.ts | 3 --- .../table_widget_angular/src/app/app.spec.ts | 16 +++++++++++++++ .../table_widget_angular/src/index.html | 16 +++++++++++++++ .../table_widget_angular/src/styles.css | 16 +++++++++++++++ 7 files changed, 70 insertions(+), 4 deletions(-) delete mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/app.css delete mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/app.routes.ts diff --git a/packages/bigframes/bigframes/display/table_widget_angular.js b/packages/bigframes/bigframes/display/table_widget_angular.js index 80ac251a4e2a..31aaee6ab228 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular.js +++ b/packages/bigframes/bigframes/display/table_widget_angular.js @@ -14,6 +14,7 @@ * limitations under the License. */ + // dist/table-widget-angular/browser/main.js var tl = Object.defineProperty; var nl = Object.defineProperties; @@ -5140,7 +5141,7 @@ var ir = class e5 { }; static \u0275cmp = mi({ type: e5, selectors: [["app-root"]], decls: 8, vars: 2, consts: [[1, "angular-widget"], [3, "innerHTML"]], template: function(n, r) { n & 1 && (Oe(0, "div", 0)(1, "h3"), Pt(2, "Angular Hybrid Widget"), ye(), Oe(3, "p"), Pt(4, "Status: Infrastructure Loaded"), ye(), Oe(5, "p"), Pt(6), ye(), Qn(7, "div", 1), ye()), n & 2 && (Wn(6), Kn("Message from Python: ", r.message()), Wn(), Yn("innerHTML", r.sanitizedHtml(), ui)); - }, styles: [".angular-widget[_ngcontent-%COMP%]{padding:10px;border:1px solid #ccc;border-radius:4px;background-color:#f9f9f9}"] }); + }, styles: [".angular-widget[_ngcontent-%COMP%]{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;padding:10px}"] }); }; function Fp({ model: e6, el: t }) { let n = document.createElement("app-root"); diff --git a/packages/bigframes/bigframes/display/table_widget_angular/bundle.js b/packages/bigframes/bigframes/display/table_widget_angular/bundle.js index 4c808a5924bb..8138b055fef1 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/bundle.js +++ b/packages/bigframes/bigframes/display/table_widget_angular/bundle.js @@ -17,10 +17,30 @@ const esbuild = require('esbuild'); const path = require('path'); +const banner = `/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +`; + esbuild.build({ entryPoints: [path.resolve(__dirname, 'dist/table-widget-angular/browser/main.js')], bundle: true, outfile: path.resolve(__dirname, '../table_widget_angular.js'), format: 'esm', logLevel: 'info', + banner: { + js: banner, + }, }).catch(() => process.exit(1)); diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.css b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.css deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.routes.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.routes.ts deleted file mode 100644 index dc39edb5f23a..000000000000 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.routes.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Routes } from '@angular/router'; - -export const routes: Routes = []; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts index a80248720629..0c5453db626a 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts @@ -1,3 +1,19 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + import { TestBed } from '@angular/core/testing'; import { App } from './app'; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/index.html b/packages/bigframes/bigframes/display/table_widget_angular/src/index.html index 7283ccb6f671..1cc521412380 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/index.html +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/index.html @@ -1,3 +1,19 @@ + + diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/styles.css b/packages/bigframes/bigframes/display/table_widget_angular/src/styles.css index 90d4ee0072ce..95b248dae0aa 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/styles.css +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/styles.css @@ -1 +1,17 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + /* You can add global styles to this file, and also import other style files */ From c31f5a5a5f08610146d4c139051f96e8e364708a Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Tue, 19 May 2026 18:35:17 +0000 Subject: [PATCH 18/42] feat: rewrite TableWidget core in Angular --- .../bigframes/bigframes/display/anywidget.py | 4 +- .../bigframes/display/table_widget_angular.js | 6207 +++++++++++------ .../table_widget_angular/src/app/app.spec.ts | 4 +- .../table_widget_angular/src/app/app.ts | 534 +- .../src/app/widget-state.service.spec.ts | 128 + .../src/app/widget-state.service.ts | 122 + 6 files changed, 4651 insertions(+), 2348 deletions(-) create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.spec.ts create mode 100644 packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.ts diff --git a/packages/bigframes/bigframes/display/anywidget.py b/packages/bigframes/bigframes/display/anywidget.py index 90d285d1b0d7..d62a3542d0b6 100644 --- a/packages/bigframes/bigframes/display/anywidget.py +++ b/packages/bigframes/bigframes/display/anywidget.py @@ -171,8 +171,8 @@ def _on_initial_load_complete(self, change: dict[str, Any]): @functools.cached_property def _esm(self): - """Load JavaScript code from external file.""" - return resources.read_text(bigframes.display, "table_widget.js") + """Load JavaScript code from the compiled Angular hybrid bundle.""" + return resources.read_text(bigframes.display, "table_widget_angular.js") @functools.cached_property def _css(self): diff --git a/packages/bigframes/bigframes/display/table_widget_angular.js b/packages/bigframes/bigframes/display/table_widget_angular.js index 31aaee6ab228..bf6e1c1fc525 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular.js +++ b/packages/bigframes/bigframes/display/table_widget_angular.js @@ -16,158 +16,158 @@ // dist/table-widget-angular/browser/main.js -var tl = Object.defineProperty; -var nl = Object.defineProperties; -var rl = Object.getOwnPropertyDescriptors; -var ki = Object.getOwnPropertySymbols; -var ol = Object.prototype.hasOwnProperty; -var il = Object.prototype.propertyIsEnumerable; -var Oi = (e6, t, n) => t in e6 ? tl(e6, t, { enumerable: true, configurable: true, writable: true, value: n }) : e6[t] = n; -var A = (e6, t) => { +var rd = Object.defineProperty; +var od = Object.defineProperties; +var id = Object.getOwnPropertyDescriptors; +var Ea = Object.getOwnPropertySymbols; +var sd = Object.prototype.hasOwnProperty; +var ad = Object.prototype.propertyIsEnumerable; +var Ia = (e12, t, n) => t in e12 ? rd(e12, t, { enumerable: true, configurable: true, writable: true, value: n }) : e12[t] = n; +var N = (e12, t) => { for (var n in t ||= {}) - ol.call(t, n) && Oi(e6, n, t[n]); - if (ki) - for (var n of ki(t)) - il.call(t, n) && Oi(e6, n, t[n]); - return e6; + sd.call(t, n) && Ia(e12, n, t[n]); + if (Ea) + for (var n of Ea(t)) + ad.call(t, n) && Ia(e12, n, t[n]); + return e12; }; -var V = (e6, t) => nl(e6, rl(t)); -var b = null; -var zt = false; -var cr = 1; -var sl = null; -var W = Symbol("SIGNAL"); -function v(e6) { - let t = b; - return b = e6, t; -} -function Wt() { - return b; -} -var Gt = { version: 0, lastCleanEpoch: 0, dirty: false, producers: void 0, producersTail: void 0, consumers: void 0, consumersTail: void 0, recomputing: false, consumerAllowSignalWrites: false, consumerIsAlwaysLive: false, kind: "unknown", producerMustRecompute: () => false, producerRecomputeValue: () => { +var A = (e12, t) => od(e12, id(t)); +var L = null; +var Sn = false; +var yo = 1; +var cd = null; +var Z = Symbol("SIGNAL"); +function g(e12) { + let t = L; + return L = e12, t; +} +function xn() { + return L; +} +var lt = { version: 0, lastCleanEpoch: 0, dirty: false, producers: void 0, producersTail: void 0, consumers: void 0, consumersTail: void 0, recomputing: false, consumerAllowSignalWrites: false, consumerIsAlwaysLive: false, kind: "unknown", producerMustRecompute: () => false, producerRecomputeValue: () => { }, consumerMarkedDirty: () => { }, consumerOnSignalRead: () => { } }; -function Li(e6) { - if (zt) +function vo(e12) { + if (Sn) throw new Error(""); - if (b === null) + if (L === null) return; - b.consumerOnSignalRead(e6); - let t = b.producersTail; - if (t !== void 0 && t.producer === e6) + L.consumerOnSignalRead(e12); + let t = L.producersTail; + if (t !== void 0 && t.producer === e12) return; - let n, r = b.recomputing; - if (r && (n = t !== void 0 ? t.nextProducer : b.producers, n !== void 0 && n.producer === e6)) { - b.producersTail = n, n.lastReadVersion = e6.version; + let n, r = L.recomputing; + if (r && (n = t !== void 0 ? t.nextProducer : L.producers, n !== void 0 && n.producer === e12)) { + L.producersTail = n, n.lastReadVersion = e12.version; return; } - let o = e6.consumersTail; - if (o !== void 0 && o.consumer === b && (!r || cl(o, b))) + let o = e12.consumersTail; + if (o !== void 0 && o.consumer === L && (!r || ud(o, L))) return; - let i = Le(b), s = { producer: e6, consumer: b, nextProducer: n, prevConsumer: o, lastReadVersion: e6.version, nextConsumer: void 0 }; - b.producersTail = s, t !== void 0 ? t.nextProducer = s : b.producers = s, i && Bi(e6, s); + let i = dt(L), s = { producer: e12, consumer: L, nextProducer: n, prevConsumer: o, lastReadVersion: e12.version, nextConsumer: void 0 }; + L.producersTail = s, t !== void 0 ? t.nextProducer = s : L.producers = s, i && Ca(e12, s); } -function Pi() { - cr++; +function Da() { + yo++; } -function Fi(e6) { - if (!(Le(e6) && !e6.dirty) && !(!e6.dirty && e6.lastCleanEpoch === cr)) { - if (!e6.producerMustRecompute(e6) && !fr(e6)) { - ar(e6); +function Eo(e12) { + if (!(dt(e12) && !e12.dirty) && !(!e12.dirty && e12.lastCleanEpoch === yo)) { + if (!e12.producerMustRecompute(e12) && !Rn(e12)) { + mo(e12); return; } - e6.producerRecomputeValue(e6), ar(e6); + e12.producerRecomputeValue(e12), mo(e12); } } -function lr(e6) { - if (e6.consumers === void 0) +function Io(e12) { + if (e12.consumers === void 0) return; - let t = zt; - zt = true; + let t = Sn; + Sn = true; try { - for (let n = e6.consumers; n !== void 0; n = n.nextConsumer) { + for (let n = e12.consumers; n !== void 0; n = n.nextConsumer) { let r = n.consumer; - r.dirty || al(r); + r.dirty || ld(r); } } finally { - zt = t; + Sn = t; } } -function ur() { - return b?.consumerAllowSignalWrites !== false; +function Do() { + return L?.consumerAllowSignalWrites !== false; } -function al(e6) { - e6.dirty = true, lr(e6), e6.consumerMarkedDirty?.(e6); +function ld(e12) { + e12.dirty = true, Io(e12), e12.consumerMarkedDirty?.(e12); } -function ar(e6) { - e6.dirty = false, e6.lastCleanEpoch = cr; +function mo(e12) { + e12.dirty = false, e12.lastCleanEpoch = yo; } -function dr(e6) { - return e6 && ji(e6), v(e6); +function Vt(e12) { + return e12 && wa(e12), g(e12); } -function ji(e6) { - e6.producersTail = void 0, e6.recomputing = true; +function wa(e12) { + e12.producersTail = void 0, e12.recomputing = true; } -function Hi(e6, t) { - v(t), e6 && Vi(e6); +function An(e12, t) { + g(t), e12 && ba(e12); } -function Vi(e6) { - e6.recomputing = false; - let t = e6.producersTail, n = t !== void 0 ? t.nextProducer : e6.producers; +function ba(e12) { + e12.recomputing = false; + let t = e12.producersTail, n = t !== void 0 ? t.nextProducer : e12.producers; if (n !== void 0) { - if (Le(e6)) + if (dt(e12)) do - n = pr(n); + n = wo(n); while (n !== void 0); - t !== void 0 ? t.nextProducer = void 0 : e6.producers = void 0; + t !== void 0 ? t.nextProducer = void 0 : e12.producers = void 0; } } -function fr(e6) { - for (let t = e6.producers; t !== void 0; t = t.nextProducer) { +function Rn(e12) { + for (let t = e12.producers; t !== void 0; t = t.nextProducer) { let n = t.producer, r = t.lastReadVersion; - if (r !== n.version || (Fi(n), r !== n.version)) + if (r !== n.version || (Eo(n), r !== n.version)) return true; } return false; } -function qt(e6) { - if (Le(e6)) { - let t = e6.producers; +function ut(e12) { + if (dt(e12)) { + let t = e12.producers; for (; t !== void 0; ) - t = pr(t); + t = wo(t); } - e6.producers = void 0, e6.producersTail = void 0, e6.consumers = void 0, e6.consumersTail = void 0; + e12.producers = void 0, e12.producersTail = void 0, e12.consumers = void 0, e12.consumersTail = void 0; } -function Bi(e6, t) { - let n = e6.consumersTail, r = Le(e6); - if (n !== void 0 ? (t.nextConsumer = n.nextConsumer, n.nextConsumer = t) : (t.nextConsumer = void 0, e6.consumers = t), t.prevConsumer = n, e6.consumersTail = t, !r) - for (let o = e6.producers; o !== void 0; o = o.nextProducer) - Bi(o.producer, o); +function Ca(e12, t) { + let n = e12.consumersTail, r = dt(e12); + if (n !== void 0 ? (t.nextConsumer = n.nextConsumer, n.nextConsumer = t) : (t.nextConsumer = void 0, e12.consumers = t), t.prevConsumer = n, e12.consumersTail = t, !r) + for (let o = e12.producers; o !== void 0; o = o.nextProducer) + Ca(o.producer, o); } -function pr(e6) { - let t = e6.producer, n = e6.nextProducer, r = e6.nextConsumer, o = e6.prevConsumer; - if (e6.nextConsumer = void 0, e6.prevConsumer = void 0, r !== void 0 ? r.prevConsumer = o : t.consumersTail = o, o !== void 0) +function wo(e12) { + let t = e12.producer, n = e12.nextProducer, r = e12.nextConsumer, o = e12.prevConsumer; + if (e12.nextConsumer = void 0, e12.prevConsumer = void 0, r !== void 0 ? r.prevConsumer = o : t.consumersTail = o, o !== void 0) o.nextConsumer = r; - else if (t.consumers = r, !Le(t)) { + else if (t.consumers = r, !dt(t)) { let i = t.producers; for (; i !== void 0; ) - i = pr(i); + i = wo(i); } return n; } -function Le(e6) { - return e6.consumerIsAlwaysLive || e6.consumers !== void 0; +function dt(e12) { + return e12.consumerIsAlwaysLive || e12.consumers !== void 0; } -function $i(e6) { - sl?.(e6); +function bo(e12) { + cd?.(e12); } -function cl(e6, t) { +function ud(e12, t) { let n = t.producersTail; if (n !== void 0) { let r = t.producers; do { - if (r === e6) + if (r === e12) return true; if (r === n) break; @@ -176,60 +176,106 @@ function cl(e6, t) { } return false; } -function Ui(e6, t) { - return Object.is(e6, t); +function Co(e12, t) { + return Object.is(e12, t); } -function ll() { +function On(e12, t) { + let n = Object.create(dd); + n.computation = e12, t !== void 0 && (n.equal = t); + let r = () => { + if (Eo(n), vo(n), n.value === Nn) + throw n.error; + return n.value; + }; + return r[Z] = n, bo(n), r; +} +var ho = Symbol("UNSET"); +var go = Symbol("COMPUTING"); +var Nn = Symbol("ERRORED"); +var dd = A(N({}, lt), { value: ho, dirty: true, error: null, equal: Co, kind: "computed", producerMustRecompute(e12) { + return e12.value === ho || e12.value === go; +}, producerRecomputeValue(e12) { + if (e12.value === go) + throw new Error(""); + let t = e12.value; + e12.value = go; + let n = Vt(e12), r, o = false; + try { + r = e12.computation(), g(null), o = t !== ho && t !== Nn && r !== Nn && e12.equal(t, r); + } catch (i) { + r = Nn, e12.error = i; + } finally { + An(e12, n); + } + if (o) { + e12.value = t; + return; + } + e12.value = r, e12.version++; +} }); +function fd() { throw new Error(); } -var zi = ll; -function Wi(e6) { - zi(e6); +var Ta = fd; +function Ma(e12) { + Ta(e12); +} +function To(e12) { + Ta = e12; } -function hr(e6) { - zi = e6; +var pd = null; +function Mo(e12, t) { + let n = Object.create(Na); + n.value = e12, t !== void 0 && (n.equal = t); + let r = () => _a(n); + return r[Z] = n, bo(n), [r, (s) => _o(n, s), (s) => Sa(n, s)]; } -var ul = null; -function gr(e6, t) { - let n = Object.create(Zi); - n.value = e6, t !== void 0 && (n.equal = t); - let r = () => Gi(n); - return r[W] = n, $i(n), [r, (s) => mr(n, s), (s) => qi(n, s)]; +function _a(e12) { + return vo(e12), e12.value; } -function Gi(e6) { - return Li(e6), e6.value; +function _o(e12, t) { + Do() || Ma(e12), e12.equal(e12.value, t) || (e12.value = t, hd(e12)); } -function mr(e6, t) { - ur() || Wi(e6), e6.equal(e6.value, t) || (e6.value = t, dl(e6)); +function Sa(e12, t) { + Do() || Ma(e12), _o(e12, t(e12.value)); } -function qi(e6, t) { - ur() || Wi(e6), mr(e6, t(e6.value)); +var Na = A(N({}, lt), { equal: Co, value: void 0, kind: "signal" }); +function hd(e12) { + e12.version++, Da(), Io(e12), pd?.(e12); } -var Zi = V(A({}, Gt), { equal: Ui, value: void 0, kind: "signal" }); -function dl(e6) { - e6.version++, Pi(), lr(e6), ul?.(e6); +var So = A(N({}, lt), { consumerIsAlwaysLive: true, consumerAllowSignalWrites: true, dirty: true, kind: "effect" }); +function No(e12) { + if (e12.dirty = false, e12.version > 0 && !Rn(e12)) + return; + e12.version++; + let t = Vt(e12); + try { + e12.cleanup(), e12.fn(); + } finally { + An(e12, t); + } } -function N(e6) { - return typeof e6 == "function"; +function $(e12) { + return typeof e12 == "function"; } -function Zt(e6) { - let n = e6((r) => { +function kn(e12) { + let n = e12((r) => { Error.call(r), r.stack = new Error().stack; }); return n.prototype = Object.create(Error.prototype), n.prototype.constructor = n, n; } -var Qt = Zt((e6) => function(n) { - e6(this), this.message = n ? `${n.length} errors occurred during unsubscription: +var Pn = kn((e12) => function(n) { + e12(this), this.message = n ? `${n.length} errors occurred during unsubscription: ${n.map((r, o) => `${o + 1}) ${r.toString()}`).join(` `)}` : "", this.name = "UnsubscriptionError", this.errors = n; }); -function ot(e6, t) { - if (e6) { - let n = e6.indexOf(t); - 0 <= n && e6.splice(n, 1); +function Bt(e12, t) { + if (e12) { + let n = e12.indexOf(t); + 0 <= n && e12.splice(n, 1); } } -var _ = class e { +var H = class e { constructor(t) { this.initialTeardown = t, this.closed = false, this._parentage = null, this._finalizers = null; } @@ -245,31 +291,31 @@ var _ = class e { else n.remove(this); let { initialTeardown: r } = this; - if (N(r)) + if ($(r)) try { r(); } catch (i) { - t = i instanceof Qt ? i.errors : [i]; + t = i instanceof Pn ? i.errors : [i]; } let { _finalizers: o } = this; if (o) { this._finalizers = null; for (let i of o) try { - Qi(i); + xa(i); } catch (s) { - t = t ?? [], s instanceof Qt ? t = [...t, ...s.errors] : t.push(s); + t = t ?? [], s instanceof Pn ? t = [...t, ...s.errors] : t.push(s); } } if (t) - throw new Qt(t); + throw new Pn(t); } } add(t) { var n; if (t && t !== this) if (this.closed) - Qi(t); + xa(t); else { if (t instanceof e) { if (t.closed || t._hasParent(this)) @@ -289,83 +335,83 @@ var _ = class e { } _removeParent(t) { let { _parentage: n } = this; - n === t ? this._parentage = null : Array.isArray(n) && ot(n, t); + n === t ? this._parentage = null : Array.isArray(n) && Bt(n, t); } remove(t) { let { _finalizers: n } = this; - n && ot(n, t), t instanceof e && t._removeParent(this); + n && Bt(n, t), t instanceof e && t._removeParent(this); } }; -_.EMPTY = (() => { - let e6 = new _(); - return e6.closed = true, e6; +H.EMPTY = (() => { + let e12 = new H(); + return e12.closed = true, e12; })(); -var yr = _.EMPTY; -function Yt(e6) { - return e6 instanceof _ || e6 && "closed" in e6 && N(e6.remove) && N(e6.add) && N(e6.unsubscribe); -} -function Qi(e6) { - N(e6) ? e6() : e6.unsubscribe(); -} -var B = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: false, useDeprecatedNextContext: false }; -var Pe = { setTimeout(e6, t, ...n) { - let { delegate: r } = Pe; - return r?.setTimeout ? r.setTimeout(e6, t, ...n) : setTimeout(e6, t, ...n); -}, clearTimeout(e6) { - let { delegate: t } = Pe; - return (t?.clearTimeout || clearTimeout)(e6); +var xo = H.EMPTY; +function Ln(e12) { + return e12 instanceof H || e12 && "closed" in e12 && $(e12.remove) && $(e12.add) && $(e12.unsubscribe); +} +function xa(e12) { + $(e12) ? e12() : e12.unsubscribe(); +} +var te = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: false, useDeprecatedNextContext: false }; +var ft = { setTimeout(e12, t, ...n) { + let { delegate: r } = ft; + return r?.setTimeout ? r.setTimeout(e12, t, ...n) : setTimeout(e12, t, ...n); +}, clearTimeout(e12) { + let { delegate: t } = ft; + return (t?.clearTimeout || clearTimeout)(e12); }, delegate: void 0 }; -function Yi(e6) { - Pe.setTimeout(() => { - let { onUnhandledError: t } = B; +function Aa(e12) { + ft.setTimeout(() => { + let { onUnhandledError: t } = te; if (t) - t(e6); + t(e12); else - throw e6; + throw e12; }); } -function vr() { +function Ao() { } -var Ki = Er("C", void 0, void 0); -function Ji(e6) { - return Er("E", void 0, e6); +var Ra = Ro("C", void 0, void 0); +function Oa(e12) { + return Ro("E", void 0, e12); } -function Xi(e6) { - return Er("N", e6, void 0); +function ka(e12) { + return Ro("N", e12, void 0); } -function Er(e6, t, n) { - return { kind: e6, value: t, error: n }; +function Ro(e12, t, n) { + return { kind: e12, value: t, error: n }; } -var ve = null; -function Fe(e6) { - if (B.useDeprecatedSynchronousErrorHandling) { - let t = !ve; - if (t && (ve = { errorThrown: false, error: null }), e6(), t) { - let { errorThrown: n, error: r } = ve; - if (ve = null, n) +var Ue = null; +function pt(e12) { + if (te.useDeprecatedSynchronousErrorHandling) { + let t = !Ue; + if (t && (Ue = { errorThrown: false, error: null }), e12(), t) { + let { errorThrown: n, error: r } = Ue; + if (Ue = null, n) throw r; } } else - e6(); + e12(); } -function es(e6) { - B.useDeprecatedSynchronousErrorHandling && ve && (ve.errorThrown = true, ve.error = e6); +function Pa(e12) { + te.useDeprecatedSynchronousErrorHandling && Ue && (Ue.errorThrown = true, Ue.error = e12); } -var Ee = class extends _ { +var ze = class extends H { constructor(t) { - super(), this.isStopped = false, t ? (this.destination = t, Yt(t) && t.add(this)) : this.destination = hl; + super(), this.isStopped = false, t ? (this.destination = t, Ln(t) && t.add(this)) : this.destination = yd; } static create(t, n, r) { - return new je(t, n, r); + return new ht(t, n, r); } next(t) { - this.isStopped ? Dr(Xi(t), this) : this._next(t); + this.isStopped ? ko(ka(t), this) : this._next(t); } error(t) { - this.isStopped ? Dr(Ji(t), this) : (this.isStopped = true, this._error(t)); + this.isStopped ? ko(Oa(t), this) : (this.isStopped = true, this._error(t)); } complete() { - this.isStopped ? Dr(Ki, this) : (this.isStopped = true, this._complete()); + this.isStopped ? ko(Ra, this) : (this.isStopped = true, this._complete()); } unsubscribe() { this.closed || (this.isStopped = true, super.unsubscribe(), this.destination = null); @@ -388,11 +434,11 @@ var Ee = class extends _ { } } }; -var fl = Function.prototype.bind; -function Ir(e6, t) { - return fl.call(e6, t); +var gd = Function.prototype.bind; +function Oo(e12, t) { + return gd.call(e12, t); } -var wr = class { +var Po = class { constructor(t) { this.partialObserver = t; } @@ -402,7 +448,7 @@ var wr = class { try { n.next(t); } catch (r) { - Kt(r); + Fn(r); } } error(t) { @@ -411,10 +457,10 @@ var wr = class { try { n.error(t); } catch (r) { - Kt(r); + Fn(r); } else - Kt(t); + Fn(t); } complete() { let { partialObserver: t } = this; @@ -422,55 +468,55 @@ var wr = class { try { t.complete(); } catch (n) { - Kt(n); + Fn(n); } } }; -var je = class extends Ee { +var ht = class extends ze { constructor(t, n, r) { super(); let o; - if (N(t) || !t) + if ($(t) || !t) o = { next: t ?? void 0, error: n ?? void 0, complete: r ?? void 0 }; else { let i; - this && B.useDeprecatedNextContext ? (i = Object.create(t), i.unsubscribe = () => this.unsubscribe(), o = { next: t.next && Ir(t.next, i), error: t.error && Ir(t.error, i), complete: t.complete && Ir(t.complete, i) }) : o = t; + this && te.useDeprecatedNextContext ? (i = Object.create(t), i.unsubscribe = () => this.unsubscribe(), o = { next: t.next && Oo(t.next, i), error: t.error && Oo(t.error, i), complete: t.complete && Oo(t.complete, i) }) : o = t; } - this.destination = new wr(o); + this.destination = new Po(o); } }; -function Kt(e6) { - B.useDeprecatedSynchronousErrorHandling ? es(e6) : Yi(e6); +function Fn(e12) { + te.useDeprecatedSynchronousErrorHandling ? Pa(e12) : Aa(e12); } -function pl(e6) { - throw e6; +function md(e12) { + throw e12; } -function Dr(e6, t) { - let { onStoppedNotification: n } = B; - n && Pe.setTimeout(() => n(e6, t)); +function ko(e12, t) { + let { onStoppedNotification: n } = te; + n && ft.setTimeout(() => n(e12, t)); } -var hl = { closed: true, next: vr, error: pl, complete: vr }; -var ts = typeof Symbol == "function" && Symbol.observable || "@@observable"; -function ns(e6) { - return e6; +var yd = { closed: true, next: Ao, error: md, complete: Ao }; +var La = typeof Symbol == "function" && Symbol.observable || "@@observable"; +function Fa(e12) { + return e12; } -function rs(e6) { - return e6.length === 0 ? ns : e6.length === 1 ? e6[0] : function(n) { - return e6.reduce((r, o) => o(r), n); +function ja(e12) { + return e12.length === 0 ? Fa : e12.length === 1 ? e12[0] : function(n) { + return e12.reduce((r, o) => o(r), n); }; } -var He = (() => { - class e6 { +var gt = (() => { + class e12 { constructor(n) { n && (this._subscribe = n); } lift(n) { - let r = new e6(); + let r = new e12(); return r.source = this, r.operator = n, r; } subscribe(n, r, o) { - let i = ml(n) ? n : new je(n, r, o); - return Fe(() => { + let i = Ed(n) ? n : new ht(n, r, o); + return pt(() => { let { operator: s, source: a } = this; i.add(s ? s.call(i, a) : a ? this._subscribe(i) : this._trySubscribe(i)); }), i; @@ -483,8 +529,8 @@ var He = (() => { } } forEach(n, r) { - return r = os(r), new r((o, i) => { - let s = new je({ next: (a) => { + return r = Ha(r), new r((o, i) => { + let s = new ht({ next: (a) => { try { n(a); } catch (c) { @@ -498,40 +544,40 @@ var He = (() => { var r; return (r = this.source) === null || r === void 0 ? void 0 : r.subscribe(n); } - [ts]() { + [La]() { return this; } pipe(...n) { - return rs(n)(this); + return ja(n)(this); } toPromise(n) { - return n = os(n), new n((r, o) => { + return n = Ha(n), new n((r, o) => { let i; this.subscribe((s) => i = s, (s) => o(s), () => r(i)); }); } } - return e6.create = (t) => new e6(t), e6; + return e12.create = (t) => new e12(t), e12; })(); -function os(e6) { +function Ha(e12) { var t; - return (t = e6 ?? B.Promise) !== null && t !== void 0 ? t : Promise; + return (t = e12 ?? te.Promise) !== null && t !== void 0 ? t : Promise; } -function gl(e6) { - return e6 && N(e6.next) && N(e6.error) && N(e6.complete); +function vd(e12) { + return e12 && $(e12.next) && $(e12.error) && $(e12.complete); } -function ml(e6) { - return e6 && e6 instanceof Ee || gl(e6) && Yt(e6); +function Ed(e12) { + return e12 && e12 instanceof ze || vd(e12) && Ln(e12); } -function yl(e6) { - return N(e6?.lift); +function Id(e12) { + return $(e12?.lift); } -function is(e6) { +function Va(e12) { return (t) => { - if (yl(t)) + if (Id(t)) return t.lift(function(n) { try { - return e6(n, this); + return e12(n, this); } catch (r) { this.error(r); } @@ -539,10 +585,10 @@ function is(e6) { throw new TypeError("Unable to lift unknown Observable type"); }; } -function ss(e6, t, n, r, o) { - return new Cr(e6, t, n, r, o); +function Ba(e12, t, n, r, o) { + return new Lo(e12, t, n, r, o); } -var Cr = class extends Ee { +var Lo = class extends ze { constructor(t, n, r, o, i, s) { super(t), this.onFinalize = i, this.shouldUnsubscribe = s, this._next = n ? function(a) { try { @@ -576,24 +622,24 @@ var Cr = class extends Ee { } } }; -var as = Zt((e6) => function() { - e6(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed"; +var $a = kn((e12) => function() { + e12(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed"; }); -var ae = (() => { - class e6 extends He { +var ye = (() => { + class e12 extends gt { constructor() { super(), this.closed = false, this.currentObservers = null, this.observers = [], this.isStopped = false, this.hasError = false, this.thrownError = null; } lift(n) { - let r = new Jt(this, this); + let r = new jn(this, this); return r.operator = n, r; } _throwIfClosed() { if (this.closed) - throw new as(); + throw new $a(); } next(n) { - Fe(() => { + pt(() => { if (this._throwIfClosed(), !this.isStopped) { this.currentObservers || (this.currentObservers = Array.from(this.observers)); for (let r of this.currentObservers) @@ -602,7 +648,7 @@ var ae = (() => { }); } error(n) { - Fe(() => { + pt(() => { if (this._throwIfClosed(), !this.isStopped) { this.hasError = this.isStopped = true, this.thrownError = n; let { observers: r } = this; @@ -612,7 +658,7 @@ var ae = (() => { }); } complete() { - Fe(() => { + pt(() => { if (this._throwIfClosed(), !this.isStopped) { this.isStopped = true; let { observers: n } = this; @@ -636,8 +682,8 @@ var ae = (() => { } _innerSubscribe(n) { let { hasError: r, isStopped: o, observers: i } = this; - return r || o ? yr : (this.currentObservers = null, i.push(n), new _(() => { - this.currentObservers = null, ot(i, n); + return r || o ? xo : (this.currentObservers = null, i.push(n), new H(() => { + this.currentObservers = null, Bt(i, n); })); } _checkFinalizedStatuses(n) { @@ -645,13 +691,13 @@ var ae = (() => { r ? n.error(o) : i && n.complete(); } asObservable() { - let n = new He(); + let n = new gt(); return n.source = this, n; } } - return e6.create = (t, n) => new Jt(t, n), e6; + return e12.create = (t, n) => new jn(t, n), e12; })(); -var Jt = class extends ae { +var jn = class extends ye { constructor(t, n) { super(), this.destination = t, this.source = n; } @@ -669,10 +715,10 @@ var Jt = class extends ae { } _subscribe(t) { var n, r; - return (r = (n = this.source) === null || n === void 0 ? void 0 : n.subscribe(t)) !== null && r !== void 0 ? r : yr; + return (r = (n = this.source) === null || n === void 0 ? void 0 : n.subscribe(t)) !== null && r !== void 0 ? r : xo; } }; -var it = class extends ae { +var $t = class extends ye { constructor(t) { super(), this._value = t; } @@ -693,83 +739,100 @@ var it = class extends ae { super.next(this._value = t); } }; -function Tr(e6, t) { - return is((n, r) => { +function Fo(e12, t) { + return Va((n, r) => { let o = 0; - n.subscribe(ss(r, (i) => { - r.next(e6.call(t, i, o++)); + n.subscribe(Ba(r, (i) => { + r.next(e12.call(t, i, o++)); })); }); } -var Mr; -function Xt() { - return Mr; +var jo; +function Hn() { + return jo; } -function G(e6) { - let t = Mr; - return Mr = e6, t; +function ae(e12) { + let t = jo; + return jo = e12, t; } -var cs = Symbol("NotFound"); -function Ve(e6) { - return e6 === cs || e6?.name === "\u0275NotFound"; +var Ua = Symbol("NotFound"); +function mt(e12) { + return e12 === Ua || e12?.name === "\u0275NotFound"; } -var sn = "https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss"; -var g = class extends Error { +var qn = "https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss"; +var v = class extends Error { code; constructor(t, n) { - super(an(t, n)), this.code = t; + super(Zn(t, n)), this.code = t; } }; -function Dl(e6) { - return `NG0${Math.abs(e6)}`; +function Dd(e12) { + return `NG0${Math.abs(e12)}`; } -function an(e6, t) { - return `${Dl(e6)}${t ? ": " + t : ""}`; +function Zn(e12, t) { + return `${Dd(e12)}${t ? ": " + t : ""}`; } -var ce = globalThis; -function C(e6) { - for (let t in e6) - if (e6[t] === C) +var Re = globalThis; +function C(e12) { + for (let t in e12) + if (e12[t] === C) return t; throw Error(""); } -function Br(e6, t) { - return e6 ? t ? `${e6} ${t}` : e6 : t || ""; -} -var wl = C({ __forward_ref__: C }); -function cn(e6) { - return e6.__forward_ref__ = cn, e6; -} -function k(e6) { - return ps(e6) ? e6() : e6; -} -function ps(e6) { - return typeof e6 == "function" && e6.hasOwnProperty(wl) && e6.__forward_ref__ === cn; -} -function S(e6) { - return { token: e6.token, providedIn: e6.providedIn || null, factory: e6.factory, value: void 0 }; -} -function ln(e6) { - return Cl(e6, un); -} -function Cl(e6, t) { - return e6.hasOwnProperty(t) && e6[t] || null; -} -function Tl(e6) { - let t = e6?.[un] ?? null; +function Qn(e12) { + if (typeof e12 == "string") + return e12; + if (Array.isArray(e12)) + return `[${e12.map(Qn).join(", ")}]`; + if (e12 == null) + return "" + e12; + let t = e12.overriddenName || e12.name; + if (t) + return `${t}`; + let n = e12.toString(); + if (n == null) + return "" + n; + let r = n.indexOf(` +`); + return r >= 0 ? n.slice(0, r) : n; +} +function Jo(e12, t) { + return e12 ? t ? `${e12} ${t}` : e12 : t || ""; +} +var wd = C({ __forward_ref__: C }); +function Yn(e12) { + return e12.__forward_ref__ = Yn, e12; +} +function W(e12) { + return Za(e12) ? e12() : e12; +} +function Za(e12) { + return typeof e12 == "function" && e12.hasOwnProperty(wd) && e12.__forward_ref__ === Yn; +} +function _(e12) { + return { token: e12.token, providedIn: e12.providedIn || null, factory: e12.factory, value: void 0 }; +} +function Kn(e12) { + return bd(e12, Jn); +} +function bd(e12, t) { + return e12.hasOwnProperty(t) && e12[t] || null; +} +function Cd(e12) { + let t = e12?.[Jn] ?? null; return t || null; } -function br(e6) { - return e6 && e6.hasOwnProperty(tn) ? e6[tn] : null; +function Vo(e12) { + return e12 && e12.hasOwnProperty(Bn) ? e12[Bn] : null; } -var un = C({ \u0275prov: C }); -var tn = C({ \u0275inj: C }); -var m = class { +var Jn = C({ \u0275prov: C }); +var Bn = C({ \u0275inj: C }); +var D = class { _desc; ngMetadataName = "InjectionToken"; \u0275prov; constructor(t, n) { - this._desc = t, this.\u0275prov = void 0, typeof n == "number" ? this.__NG_ELEMENT_ID__ = n : n !== void 0 && (this.\u0275prov = S({ token: this, providedIn: n.providedIn || "root", factory: n.factory })); + this._desc = t, this.\u0275prov = void 0, typeof n == "number" ? this.__NG_ELEMENT_ID__ = n : n !== void 0 && (this.\u0275prov = _({ token: this, providedIn: n.providedIn || "root", factory: n.factory })); } get multi() { return this; @@ -778,93 +841,93 @@ var m = class { return `InjectionToken ${this._desc}`; } }; -function $r(e6) { - return e6 && !!e6.\u0275providers; +function Xo(e12) { + return e12 && !!e12.\u0275providers; } -var Ur = C({ \u0275cmp: C }); -var zr = C({ \u0275dir: C }); -var Wr = C({ \u0275pipe: C }); -var _r = C({ \u0275fac: C }); -var Me = C({ __NG_ELEMENT_ID__: C }); -var ls = C({ __NG_ENV_ID__: C }); -function ut(e6) { - return qr(e6, "@Component"), e6[Ur] || null; +var ei = C({ \u0275cmp: C }); +var ti = C({ \u0275dir: C }); +var ni = C({ \u0275pipe: C }); +var Bo = C({ \u0275fac: C }); +var Qe = C({ __NG_ELEMENT_ID__: C }); +var za = C({ __NG_ENV_ID__: C }); +function Ye(e12) { + return oi(e12, "@Component"), e12[ei] || null; } -function Gr(e6) { - return qr(e6, "@Directive"), e6[zr] || null; +function ri(e12) { + return oi(e12, "@Directive"), e12[ti] || null; } -function hs(e6) { - return qr(e6, "@Pipe"), e6[Wr] || null; +function Qa(e12) { + return oi(e12, "@Pipe"), e12[ni] || null; } -function qr(e6, t) { - if (e6 == null) - throw new g(-919, false); +function oi(e12, t) { + if (e12 == null) + throw new v(-919, false); } -function Zr(e6) { - return typeof e6 == "string" ? e6 : e6 == null ? "" : String(e6); +function ii(e12) { + return typeof e12 == "string" ? e12 : e12 == null ? "" : String(e12); } -var gs = C({ ngErrorCode: C }); -var Ml = C({ ngErrorMessage: C }); -var Sl = C({ ngTokenPath: C }); -function Qr(e6, t) { - return ms("", -200, t); +var Ya = C({ ngErrorCode: C }); +var Td = C({ ngErrorMessage: C }); +var Md = C({ ngTokenPath: C }); +function si(e12, t) { + return Ka("", -200, t); } -function dn(e6, t) { - throw new g(-201, false); +function Xn(e12, t) { + throw new v(-201, false); } -function ms(e6, t, n) { - let r = new g(t, e6); - return r[gs] = t, r[Ml] = e6, n && (r[Sl] = n), r; +function Ka(e12, t, n) { + let r = new v(t, e12); + return r[Ya] = t, r[Td] = e12, n && (r[Md] = n), r; } -function bl(e6) { - return e6[gs]; +function _d(e12) { + return e12[Ya]; } -var Nr; -function ys() { - return Nr; +var $o; +function Ja() { + return $o; } -function R(e6) { - let t = Nr; - return Nr = e6, t; +function z(e12) { + let t = $o; + return $o = e12, t; } -function Yr(e6, t, n) { - let r = ln(e6); +function ai(e12, t, n) { + let r = Kn(e12); if (r && r.providedIn == "root") return r.value === void 0 ? r.value = r.factory() : r.value; if (n & 8) return null; if (t !== void 0) return t; - dn(e6, ""); + Xn(e12, ""); } -var _l = {}; -var Ie = _l; -var Nl = "__NG_DI_FLAG__"; -var xr = class { +var Sd = {}; +var We = Sd; +var Nd = "__NG_DI_FLAG__"; +var Uo = class { injector; constructor(t) { this.injector = t; } retrieve(t, n) { - let r = De(n) || 0; + let r = Ge(n) || 0; try { - return this.injector.get(t, r & 8 ? null : Ie, r); + return this.injector.get(t, r & 8 ? null : We, r); } catch (o) { - if (Ve(o)) + if (mt(o)) return o; throw o; } } }; -function xl(e6, t = 0) { - let n = Xt(); +function xd(e12, t = 0) { + let n = Hn(); if (n === void 0) - throw new g(-203, false); + throw new v(-203, false); if (n === null) - return Yr(e6, void 0, t); + return ai(e12, void 0, t); { - let r = Al(t), o = n.retrieve(e6, r); - if (Ve(o)) { + let r = Ad(t), o = n.retrieve(e12, r); + if (mt(o)) { if (r.optional) return null; throw o; @@ -872,103 +935,155 @@ function xl(e6, t = 0) { return o; } } -function I(e6, t = 0) { - return (ys() || xl)(k(e6), t); +function w(e12, t = 0) { + return (Ja() || xd)(W(e12), t); } -function E(e6, t) { - return I(e6, De(t)); +function E(e12, t) { + return w(e12, Ge(t)); } -function De(e6) { - return typeof e6 > "u" || typeof e6 == "number" ? e6 : 0 | (e6.optional && 8) | (e6.host && 1) | (e6.self && 2) | (e6.skipSelf && 4); +function Ge(e12) { + return typeof e12 > "u" || typeof e12 == "number" ? e12 : 0 | (e12.optional && 8) | (e12.host && 1) | (e12.self && 2) | (e12.skipSelf && 4); } -function Al(e6) { - return { optional: !!(e6 & 8), host: !!(e6 & 1), self: !!(e6 & 2), skipSelf: !!(e6 & 4) }; +function Ad(e12) { + return { optional: !!(e12 & 8), host: !!(e12 & 1), self: !!(e12 & 2), skipSelf: !!(e12 & 4) }; } -function Ar(e6) { +function zo(e12) { let t = []; - for (let n = 0; n < e6.length; n++) { - let r = k(e6[n]); + for (let n = 0; n < e12.length; n++) { + let r = W(e12[n]); if (Array.isArray(r)) { if (r.length === 0) - throw new g(900, false); + throw new v(900, false); let o, i = 0; for (let s = 0; s < r.length; s++) { - let a = r[s], c = Rl(a); + let a = r[s], c = Rd(a); typeof c == "number" ? c === -1 ? o = a.token : i |= c : o = a; } - t.push(I(o, i)); + t.push(w(o, i)); } else - t.push(I(r)); + t.push(w(r)); } return t; } -function Rl(e6) { - return e6[Nl]; +function Rd(e12) { + return e12[Nd]; } -function $e(e6, t) { - let n = e6.hasOwnProperty(_r); - return n ? e6[_r] : null; +function vt(e12, t) { + let n = e12.hasOwnProperty(Bo); + return n ? e12[Bo] : null; } -function fn(e6, t) { - e6.forEach((n) => Array.isArray(n) ? fn(n, t) : t(n)); +function Xa(e12, t, n) { + if (e12.length !== t.length) + return false; + for (let r = 0; r < e12.length; r++) { + let o = e12[r], i = t[r]; + if (n && (o = n(o), i = n(i)), i !== o) + return false; + } + return true; } -function Kr(e6, t) { - return t >= e6.length - 1 ? e6.pop() : e6.splice(t, 1)[0]; +function ec(e12) { + return e12.flat(Number.POSITIVE_INFINITY); } -var Se = {}; -var we = []; -var be = new m(""); -var Jr = new m("", -1); -var Xr = new m(""); -var at = class { - get(t, n = Ie) { - if (n === Ie) { - let o = ms("", -201); +function er(e12, t) { + e12.forEach((n) => Array.isArray(n) ? er(n, t) : t(n)); +} +function ci(e12, t, n) { + t >= e12.length ? e12.push(n) : e12.splice(t, 0, n); +} +function Zt(e12, t) { + return t >= e12.length - 1 ? e12.pop() : e12.splice(t, 1)[0]; +} +function tc(e12, t, n, r) { + let o = e12.length; + if (o == t) + e12.push(n, r); + else if (o === 1) + e12.push(r, e12[0]), e12[0] = n; + else { + for (o--, e12.push(e12[o - 1], e12[o]); o > t; ) { + let i = o - 2; + e12[o] = e12[i], o--; + } + e12[t] = n, e12[t + 1] = r; + } +} +function nc(e12, t, n) { + let r = Et(e12, t); + return r >= 0 ? e12[r | 1] = n : (r = ~r, tc(e12, r, t, n)), r; +} +function tr(e12, t) { + let n = Et(e12, t); + if (n >= 0) + return e12[n | 1]; +} +function Et(e12, t) { + return Od(e12, t, 1); +} +function Od(e12, t, n) { + let r = 0, o = e12.length >> n; + for (; o !== r; ) { + let i = r + (o - r >> 1), s = e12[i << n]; + if (t === s) + return i << n; + s > t ? o = i : r = i + 1; + } + return ~(o << n); +} +var Ke = {}; +var Ne = []; +var Je = new D(""); +var li = new D("", -1); +var ui = new D(""); +var zt = class { + get(t, n = We) { + if (n === We) { + let o = Ka("", -201); throw o.name = "\u0275NotFound", o; } return n; } }; -function dt(e6) { - return { \u0275providers: e6 }; +function Qt(e12) { + return { \u0275providers: e12 }; } -function vs(e6) { - return dt([{ provide: be, multi: true, useValue: e6 }]); +function rc(e12) { + return Qt([{ provide: Je, multi: true, useValue: e12 }]); } -function Es(...e6) { - return { \u0275providers: eo(true, e6), \u0275fromNgModule: true }; +function oc(...e12) { + return { \u0275providers: di(true, e12), \u0275fromNgModule: true }; } -function eo(e6, ...t) { +function di(e12, ...t) { let n = [], r = /* @__PURE__ */ new Set(), o, i = (s) => { n.push(s); }; - return fn(t, (s) => { + return er(t, (s) => { let a = s; - nn(a, i, [], r) && (o ||= [], o.push(a)); - }), o !== void 0 && Is(o, i), n; + $n(a, i, [], r) && (o ||= [], o.push(a)); + }), o !== void 0 && ic(o, i), n; } -function Is(e6, t) { - for (let n = 0; n < e6.length; n++) { - let { ngModule: r, providers: o } = e6[n]; - to(o, (i) => { +function ic(e12, t) { + for (let n = 0; n < e12.length; n++) { + let { ngModule: r, providers: o } = e12[n]; + fi(o, (i) => { t(i, r); }); } } -function nn(e6, t, n, r) { - if (e6 = k(e6), !e6) +function $n(e12, t, n, r) { + if (e12 = W(e12), !e12) return false; - let o = null, i = br(e6), s = !i && ut(e6); + let o = null, i = Vo(e12), s = !i && Ye(e12); if (!i && !s) { - let c = e6.ngModule; - if (i = br(c), i) + let c = e12.ngModule; + if (i = Vo(c), i) o = c; else return false; } else { if (s && !s.standalone) return false; - o = e6; + o = e12; } let a = r.has(o); if (s) { @@ -977,58 +1092,58 @@ function nn(e6, t, n, r) { if (r.add(o), s.dependencies) { let c = typeof s.dependencies == "function" ? s.dependencies() : s.dependencies; for (let l of c) - nn(l, t, n, r); + $n(l, t, n, r); } } else if (i) { if (i.imports != null && !a) { r.add(o); let l; - fn(i.imports, (u) => { - nn(u, t, n, r) && (l ||= [], l.push(u)); - }), l !== void 0 && Is(l, t); + er(i.imports, (u) => { + $n(u, t, n, r) && (l ||= [], l.push(u)); + }), l !== void 0 && ic(l, t); } if (!a) { - let l = $e(o) || (() => new o()); - t({ provide: o, useFactory: l, deps: we }, o), t({ provide: Xr, useValue: o, multi: true }, o), t({ provide: be, useValue: () => I(o), multi: true }, o); + let l = vt(o) || (() => new o()); + t({ provide: o, useFactory: l, deps: Ne }, o), t({ provide: ui, useValue: o, multi: true }, o), t({ provide: Je, useValue: () => w(o), multi: true }, o); } let c = i.providers; if (c != null && !a) { - let l = e6; - to(c, (u) => { + let l = e12; + fi(c, (u) => { t(u, l); }); } } else return false; - return o !== e6 && e6.providers !== void 0; + return o !== e12 && e12.providers !== void 0; } -function to(e6, t) { - for (let n of e6) - $r(n) && (n = n.\u0275providers), Array.isArray(n) ? to(n, t) : t(n); +function fi(e12, t) { + for (let n of e12) + Xo(n) && (n = n.\u0275providers), Array.isArray(n) ? fi(n, t) : t(n); } -var kl = C({ provide: String, useValue: C }); -function Ds(e6) { - return e6 !== null && typeof e6 == "object" && kl in e6; +var kd = C({ provide: String, useValue: C }); +function sc(e12) { + return e12 !== null && typeof e12 == "object" && kd in e12; } -function Ol(e6) { - return !!(e6 && e6.useExisting); +function Pd(e12) { + return !!(e12 && e12.useExisting); } -function Ll(e6) { - return !!(e6 && e6.useFactory); +function Ld(e12) { + return !!(e12 && e12.useFactory); } -function rn(e6) { - return typeof e6 == "function"; +function Un(e12) { + return typeof e12 == "function"; } -var ft = new m(""); -var en = {}; -var us = {}; -var Sr; -function pt() { - return Sr === void 0 && (Sr = new at()), Sr; +var Yt = new D(""); +var Vn = {}; +var Wa = {}; +var Ho; +function Kt() { + return Ho === void 0 && (Ho = new zt()), Ho; } -var $ = class { +var Q = class { }; -var Ce = class extends $ { +var qe = class extends Q { parent; source; scopes; @@ -1041,23 +1156,23 @@ var Ce = class extends $ { _destroyed = false; injectorDefTypes; constructor(t, n, r, o) { - super(), this.parent = n, this.source = r, this.scopes = o, kr(t, (s) => this.processProvider(s)), this.records.set(Jr, Be(void 0, this)), o.has("environment") && this.records.set($, Be(void 0, this)); - let i = this.records.get(ft); - i != null && typeof i.value == "string" && this.scopes.add(i.value), this.injectorDefTypes = new Set(this.get(Xr, we, { self: true })); + super(), this.parent = n, this.source = r, this.scopes = o, Go(t, (s) => this.processProvider(s)), this.records.set(li, yt(void 0, this)), o.has("environment") && this.records.set(Q, yt(void 0, this)); + let i = this.records.get(Yt); + i != null && typeof i.value == "string" && this.scopes.add(i.value), this.injectorDefTypes = new Set(this.get(ui, Ne, { self: true })); } retrieve(t, n) { - let r = De(n) || 0; + let r = Ge(n) || 0; try { - return this.get(t, Ie, r); + return this.get(t, We, r); } catch (o) { - if (Ve(o)) + if (mt(o)) return o; throw o; } } destroy() { - st(this), this._destroyed = true; - let t = v(null); + Ut(this), this._destroyed = true; + let t = g(null); try { for (let r of this._ngOnDestroyHooks) r.ngOnDestroy(); @@ -1066,80 +1181,80 @@ var Ce = class extends $ { for (let r of n) r(); } finally { - this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear(), v(t); + this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear(), g(t); } } onDestroy(t) { - return st(this), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t); + return Ut(this), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t); } runInContext(t) { - st(this); - let n = G(this), r = R(void 0), o; + Ut(this); + let n = ae(this), r = z(void 0), o; try { return t(); } finally { - G(n), R(r); + ae(n), z(r); } } - get(t, n = Ie, r) { - if (st(this), t.hasOwnProperty(ls)) - return t[ls](this); - let o = De(r), i, s = G(this), a = R(void 0); + get(t, n = We, r) { + if (Ut(this), t.hasOwnProperty(za)) + return t[za](this); + let o = Ge(r), i, s = ae(this), a = z(void 0); try { if (!(o & 4)) { let l = this.records.get(t); if (l === void 0) { - let u = Vl(t) && ln(t); - u && this.injectableDefInScope(u) ? l = Be(Rr(t), en) : l = null, this.records.set(t, l); + let u = Bd(t) && Kn(t); + u && this.injectableDefInScope(u) ? l = yt(Wo(t), Vn) : l = null, this.records.set(t, l); } if (l != null) return this.hydrate(t, l, o); } - let c = o & 2 ? pt() : this.parent; - return n = o & 8 && n === Ie ? null : n, c.get(t, n); + let c = o & 2 ? Kt() : this.parent; + return n = o & 8 && n === We ? null : n, c.get(t, n); } catch (c) { - let l = bl(c); - throw l === -200 || l === -201 ? new g(l, null) : c; + let l = _d(c); + throw l === -200 || l === -201 ? new v(l, null) : c; } finally { - R(a), G(s); + z(a), ae(s); } } resolveInjectorInitializers() { - let t = v(null), n = G(this), r = R(void 0), o; + let t = g(null), n = ae(this), r = z(void 0), o; try { - let i = this.get(be, we, { self: true }); + let i = this.get(Je, Ne, { self: true }); for (let s of i) s(); } finally { - G(n), R(r), v(t); + ae(n), z(r), g(t); } } toString() { return "R3Injector[...]"; } processProvider(t) { - t = k(t); - let n = rn(t) ? t : k(t && t.provide), r = Fl(t); - if (!rn(t) && t.multi === true) { + t = W(t); + let n = Un(t) ? t : W(t && t.provide), r = jd(t); + if (!Un(t) && t.multi === true) { let o = this.records.get(n); - o || (o = Be(void 0, en, true), o.factory = () => Ar(o.multi), this.records.set(n, o)), n = t, o.multi.push(t); + o || (o = yt(void 0, Vn, true), o.factory = () => zo(o.multi), this.records.set(n, o)), n = t, o.multi.push(t); } this.records.set(n, r); } hydrate(t, n, r) { - let o = v(null); + let o = g(null); try { - if (n.value === us) - throw Qr(""); - return n.value === en && (n.value = us, n.value = n.factory(void 0, r)), typeof n.value == "object" && n.value && Hl(n.value) && this._ngOnDestroyHooks.add(n.value), n.value; + if (n.value === Wa) + throw si(""); + return n.value === Vn && (n.value = Wa, n.value = n.factory(void 0, r)), typeof n.value == "object" && n.value && Vd(n.value) && this._ngOnDestroyHooks.add(n.value), n.value; } finally { - v(o); + g(o); } } injectableDefInScope(t) { if (!t.providedIn) return false; - let n = k(t.providedIn); + let n = W(t.providedIn); return typeof n == "string" ? n === "any" || this.scopes.has(n) : this.injectorDefTypes.has(n); } removeOnDestroy(t) { @@ -1147,395 +1262,431 @@ var Ce = class extends $ { n !== -1 && this._onDestroyHooks.splice(n, 1); } }; -function Rr(e6) { - let t = ln(e6), n = t !== null ? t.factory : $e(e6); +function Wo(e12) { + let t = Kn(e12), n = t !== null ? t.factory : vt(e12); if (n !== null) return n; - if (e6 instanceof m) - throw new g(-204, false); - if (e6 instanceof Function) - return Pl(e6); - throw new g(-204, false); -} -function Pl(e6) { - if (e6.length > 0) - throw new g(-204, false); - let n = Tl(e6); - return n !== null ? () => n.factory(e6) : () => new e6(); -} -function Fl(e6) { - if (Ds(e6)) - return Be(void 0, e6.useValue); + if (e12 instanceof D) + throw new v(-204, false); + if (e12 instanceof Function) + return Fd(e12); + throw new v(-204, false); +} +function Fd(e12) { + if (e12.length > 0) + throw new v(-204, false); + let n = Cd(e12); + return n !== null ? () => n.factory(e12) : () => new e12(); +} +function jd(e12) { + if (sc(e12)) + return yt(void 0, e12.useValue); { - let t = ws(e6); - return Be(t, en); + let t = ac(e12); + return yt(t, Vn); } } -function ws(e6, t, n) { +function ac(e12, t, n) { let r; - if (rn(e6)) { - let o = k(e6); - return $e(o) || Rr(o); - } else if (Ds(e6)) - r = () => k(e6.useValue); - else if (Ll(e6)) - r = () => e6.useFactory(...Ar(e6.deps || [])); - else if (Ol(e6)) - r = (o, i) => I(k(e6.useExisting), i !== void 0 && i & 8 ? 8 : void 0); + if (Un(e12)) { + let o = W(e12); + return vt(o) || Wo(o); + } else if (sc(e12)) + r = () => W(e12.useValue); + else if (Ld(e12)) + r = () => e12.useFactory(...zo(e12.deps || [])); + else if (Pd(e12)) + r = (o, i) => w(W(e12.useExisting), i !== void 0 && i & 8 ? 8 : void 0); else { - let o = k(e6 && (e6.useClass || e6.provide)); - if (jl(e6)) - r = () => new o(...Ar(e6.deps)); + let o = W(e12 && (e12.useClass || e12.provide)); + if (Hd(e12)) + r = () => new o(...zo(e12.deps)); else - return $e(o) || Rr(o); + return vt(o) || Wo(o); } return r; } -function st(e6) { - if (e6.destroyed) - throw new g(-205, false); +function Ut(e12) { + if (e12.destroyed) + throw new v(-205, false); } -function Be(e6, t, n = false) { - return { factory: e6, value: t, multi: n ? [] : void 0 }; +function yt(e12, t, n = false) { + return { factory: e12, value: t, multi: n ? [] : void 0 }; } -function jl(e6) { - return !!e6.deps; +function Hd(e12) { + return !!e12.deps; } -function Hl(e6) { - return e6 !== null && typeof e6 == "object" && typeof e6.ngOnDestroy == "function"; +function Vd(e12) { + return e12 !== null && typeof e12 == "object" && typeof e12.ngOnDestroy == "function"; } -function Vl(e6) { - return typeof e6 == "function" || typeof e6 == "object" && e6.ngMetadataName === "InjectionToken"; +function Bd(e12) { + return typeof e12 == "function" || typeof e12 == "object" && e12.ngMetadataName === "InjectionToken"; } -function kr(e6, t) { - for (let n of e6) - Array.isArray(n) ? kr(n, t) : n && $r(n) ? kr(n.\u0275providers, t) : t(n); +function Go(e12, t) { + for (let n of e12) + Array.isArray(n) ? Go(n, t) : n && Xo(n) ? Go(n.\u0275providers, t) : t(n); } -function pn(e6, t) { +function nr(e12, t) { let n; - e6 instanceof Ce ? (st(e6), n = e6) : n = new xr(e6); - let r, o = G(n), i = R(void 0); + e12 instanceof qe ? (Ut(e12), n = e12) : n = new Uo(e12); + let r, o = ae(n), i = z(void 0); try { return t(); } finally { - G(o), R(i); - } -} -function Cs() { - return ys() !== void 0 || Xt() != null; -} -var q = 0; -var y = 1; -var h = 2; -var O = 3; -var ne = 4; -var re = 5; -var hn = 6; -var gn = 7; -var L = 8; -var _e = 9; -var Z = 10; -var P = 11; -var ze = 12; -var no = 13; -var We = 14; -var Q = 15; -var ht = 16; -var Ne = 17; -var mn = 18; -var le = 19; -var ro = 20; -var X = 21; -var yn = 22; -var gt = 23; -var F = 24; -var vn = 25; -var Ge = 26; -var U = 27; -var Ts = 1; -var En = 7; -var Ms = 8; -var mt = 9; -var oe = 10; -function ue(e6) { - return Array.isArray(e6) && typeof e6[Ts] == "object"; -} -function de(e6) { - return Array.isArray(e6) && e6[Ts] === true; -} -function oo(e6) { - return (e6.flags & 4) !== 0; -} -function yt(e6) { - return e6.componentOffset > -1; -} -function Ss(e6) { - return (e6.flags & 1) === 1; -} -function qe(e6) { - return !!e6.template; -} -function Ze(e6) { - return (e6[h] & 512) !== 0; -} -function xe(e6) { - return (e6[h] & 256) === 256; -} -var bs = "svg"; -var _s = "math"; -function fe(e6) { - for (; Array.isArray(e6); ) - e6 = e6[q]; - return e6; -} -function Ns(e6, t) { - return fe(t[e6]); -} -function Ae(e6, t) { - return fe(t[e6.index]); -} -function io(e6, t) { - return e6.data[t]; -} -function pe(e6, t) { - let n = t[e6]; - return ue(n) ? n : n[q]; -} -function In(e6) { - return (e6[h] & 128) === 128; -} -function vt(e6, t) { - return t == null ? null : e6[t]; -} -function so(e6) { - e6[Ne] = 0; -} -function ao(e6) { - e6[h] & 1024 || (e6[h] |= 1024, In(e6) && It(e6)); -} -function Et(e6) { - return !!(e6[h] & 9216 || e6[F]?.dirty); -} -function co(e6) { - e6[Z].changeDetectionScheduler?.notify(8), e6[h] & 64 && (e6[h] |= 1024), Et(e6) && It(e6); -} -function It(e6) { - e6[Z].changeDetectionScheduler?.notify(0); - let t = Te(e6); - for (; t !== null && !(t[h] & 8192 || (t[h] |= 8192, !In(t))); ) - t = Te(t); -} -function lo(e6, t) { - if (xe(e6)) - throw new g(911, false); - e6[X] === null && (e6[X] = []), e6[X].push(t); -} -function xs(e6, t) { - if (e6[X] === null) + ae(o), z(i); + } +} +function cc() { + return Ja() !== void 0 || Hn() != null; +} +var ne = 0; +var m = 1; +var y = 2; +var R = 3; +var K = 4; +var J = 5; +var It = 6; +var Dt = 7; +var x = 8; +var De = 9; +var le = 10; +var O = 11; +var wt = 12; +var pi = 13; +var Xe = 14; +var X = 15; +var Oe = 16; +var et = 17; +var ue = 18; +var we = 19; +var hi = 20; +var Ee = 21; +var rr = 22; +var xe = 23; +var G = 24; +var or = 25; +var ke = 26; +var F = 27; +var lc = 1; +var gi = 6; +var Pe = 7; +var Jt = 8; +var tt = 9; +var S = 10; +function Le(e12) { + return Array.isArray(e12) && typeof e12[lc] == "object"; +} +function re(e12) { + return Array.isArray(e12) && e12[lc] === true; +} +function mi(e12) { + return (e12.flags & 4) !== 0; +} +function bt(e12) { + return e12.componentOffset > -1; +} +function yi(e12) { + return (e12.flags & 1) === 1; +} +function Ct(e12) { + return !!e12.template; +} +function Tt(e12) { + return (e12[y] & 512) !== 0; +} +function nt(e12) { + return (e12[y] & 256) === 256; +} +var uc = "svg"; +var dc = "math"; +function ee(e12) { + for (; Array.isArray(e12); ) + e12 = e12[ne]; + return e12; +} +function vi(e12, t) { + return ee(t[e12]); +} +function de(e12, t) { + return ee(t[e12.index]); +} +function ir(e12, t) { + return e12.data[t]; +} +function be(e12, t) { + let n = t[e12]; + return Le(n) ? n : n[ne]; +} +function fc(e12) { + return (e12[y] & 4) === 4; +} +function sr(e12) { + return (e12[y] & 128) === 128; +} +function pc(e12) { + return re(e12[R]); +} +function fe(e12, t) { + return t == null ? null : e12[t]; +} +function Ei(e12) { + e12[et] = 0; +} +function Ii(e12) { + e12[y] & 1024 || (e12[y] |= 1024, sr(e12) && Mt(e12)); +} +function hc(e12, t) { + for (; e12 > 0; ) + t = t[Xe], e12--; + return t; +} +function Xt(e12) { + return !!(e12[y] & 9216 || e12[G]?.dirty); +} +function ar(e12) { + e12[le].changeDetectionScheduler?.notify(8), e12[y] & 64 && (e12[y] |= 1024), Xt(e12) && Mt(e12); +} +function Mt(e12) { + e12[le].changeDetectionScheduler?.notify(0); + let t = Ae(e12); + for (; t !== null && !(t[y] & 8192 || (t[y] |= 8192, !sr(t))); ) + t = Ae(t); +} +function Di(e12, t) { + if (nt(e12)) + throw new v(911, false); + e12[Ee] === null && (e12[Ee] = []), e12[Ee].push(t); +} +function gc(e12, t) { + if (e12[Ee] === null) return; - let n = e6[X].indexOf(t); - n !== -1 && e6[X].splice(n, 1); + let n = e12[Ee].indexOf(t); + n !== -1 && e12[Ee].splice(n, 1); +} +function Ae(e12) { + let t = e12[R]; + return re(t) ? t[R] : t; +} +function wi(e12) { + return e12[Dt] ??= []; +} +function bi(e12) { + return e12.cleanup ??= []; +} +function mc(e12, t, n, r) { + let o = wi(t); + o.push(n), e12.firstCreatePass && bi(e12).push(r, o.length - 1); +} +var I = { lFrame: Rc(null), bindingsEnabled: true, skipHydrationRootTNode: null }; +var qo = false; +function yc() { + return I.lFrame.elementDepthCount; } -function Te(e6) { - let t = e6[O]; - return de(t) ? t[O] : t; +function vc() { + I.lFrame.elementDepthCount++; } -var D = { lFrame: zs(null), bindingsEnabled: true, skipHydrationRootTNode: null }; -var Or = false; -function As() { - return D.lFrame.elementDepthCount; +function Ec() { + I.lFrame.elementDepthCount--; } -function Rs() { - D.lFrame.elementDepthCount++; +function Ic() { + return I.skipHydrationRootTNode !== null; } -function ks() { - D.lFrame.elementDepthCount--; +function Dc(e12) { + return I.skipHydrationRootTNode === e12; } -function Os() { - return D.skipHydrationRootTNode !== null; +function wc() { + I.skipHydrationRootTNode = null; } -function Ls(e6) { - return D.skipHydrationRootTNode === e6; +function M() { + return I.lFrame.lView; } -function Ps() { - D.skipHydrationRootTNode = null; +function oe() { + return I.lFrame.tView; } -function H() { - return D.lFrame.lView; +function pe() { + let e12 = Ci(); + for (; e12 !== null && e12.type === 64; ) + e12 = e12.parent; + return e12; } -function Dn() { - return D.lFrame.tView; +function Ci() { + return I.lFrame.currentTNode; } -function Qe() { - let e6 = uo(); - for (; e6 !== null && e6.type === 64; ) - e6 = e6.parent; - return e6; +function bc() { + let e12 = I.lFrame, t = e12.currentTNode; + return e12.isParent ? t : t.parent; } -function uo() { - return D.lFrame.currentTNode; +function _t(e12, t) { + let n = I.lFrame; + n.currentTNode = e12, n.isParent = t; } -function Fs() { - let e6 = D.lFrame, t = e6.currentTNode; - return e6.isParent ? t : t.parent; +function Ti() { + return I.lFrame.isParent; } -function Dt(e6, t) { - let n = D.lFrame; - n.currentTNode = e6, n.isParent = t; +function Cc() { + I.lFrame.isParent = false; } -function fo() { - return D.lFrame.isParent; +function Mi() { + return qo; } -function js() { - D.lFrame.isParent = false; +function Wt(e12) { + let t = qo; + return qo = e12, t; } -function po() { - return Or; +function Tc(e12) { + return I.lFrame.bindingIndex = e12; } -function ho(e6) { - let t = Or; - return Or = e6, t; +function en() { + return I.lFrame.bindingIndex++; } -function Hs(e6) { - return D.lFrame.bindingIndex = e6; +function Mc(e12) { + let t = I.lFrame, n = t.bindingIndex; + return t.bindingIndex = t.bindingIndex + e12, n; } -function go() { - return D.lFrame.bindingIndex++; +function _c() { + return I.lFrame.inI18n; } -function Vs() { - return D.lFrame.inI18n; +function Sc(e12, t) { + let n = I.lFrame; + n.bindingIndex = n.bindingRootIndex = e12, cr(t); } -function Bs(e6, t) { - let n = D.lFrame; - n.bindingIndex = n.bindingRootIndex = e6, wn(t); +function Nc() { + return I.lFrame.currentDirectiveIndex; } -function $s() { - return D.lFrame.currentDirectiveIndex; +function cr(e12) { + I.lFrame.currentDirectiveIndex = e12; } -function wn(e6) { - D.lFrame.currentDirectiveIndex = e6; +function xc(e12) { + let t = I.lFrame.currentDirectiveIndex; + return t === -1 ? null : e12[t]; } -function mo(e6) { - D.lFrame.currentQueryIndex = e6; +function _i() { + return I.lFrame.currentQueryIndex; } -function Bl(e6) { - let t = e6[y]; - return t.type === 2 ? t.declTNode : t.type === 1 ? e6[re] : null; +function lr(e12) { + I.lFrame.currentQueryIndex = e12; } -function yo(e6, t, n) { +function $d(e12) { + let t = e12[m]; + return t.type === 2 ? t.declTNode : t.type === 1 ? e12[J] : null; +} +function Si(e12, t, n) { if (n & 4) { - let o = t, i = e6; + let o = t, i = e12; for (; o = o.parent, o === null && !(n & 1); ) - if (o = Bl(i), o === null || (i = i[We], o.type & 10)) + if (o = $d(i), o === null || (i = i[Xe], o.type & 10)) break; if (o === null) return false; - t = o, e6 = i; + t = o, e12 = i; } - let r = D.lFrame = Us(); - return r.currentTNode = t, r.lView = e6, true; + let r = I.lFrame = Ac(); + return r.currentTNode = t, r.lView = e12, true; +} +function ur(e12) { + let t = Ac(), n = e12[m]; + I.lFrame = t, t.currentTNode = n.firstChild, t.lView = e12, t.tView = n, t.contextLView = e12, t.bindingIndex = n.bindingStartIndex, t.inI18n = false; } -function Cn(e6) { - let t = Us(), n = e6[y]; - D.lFrame = t, t.currentTNode = n.firstChild, t.lView = e6, t.tView = n, t.contextLView = e6, t.bindingIndex = n.bindingStartIndex, t.inI18n = false; +function Ac() { + let e12 = I.lFrame, t = e12 === null ? null : e12.child; + return t === null ? Rc(e12) : t; } -function Us() { - let e6 = D.lFrame, t = e6 === null ? null : e6.child; - return t === null ? zs(e6) : t; +function Rc(e12) { + let t = { currentTNode: null, isParent: true, lView: null, tView: null, selectedIndex: -1, contextLView: null, elementDepthCount: 0, currentNamespace: null, currentDirectiveIndex: -1, bindingRootIndex: -1, bindingIndex: -1, currentQueryIndex: 0, parent: e12, child: null, inI18n: false }; + return e12 !== null && (e12.child = t), t; } -function zs(e6) { - let t = { currentTNode: null, isParent: true, lView: null, tView: null, selectedIndex: -1, contextLView: null, elementDepthCount: 0, currentNamespace: null, currentDirectiveIndex: -1, bindingRootIndex: -1, bindingIndex: -1, currentQueryIndex: 0, parent: e6, child: null, inI18n: false }; - return e6 !== null && (e6.child = t), t; +function Oc() { + let e12 = I.lFrame; + return I.lFrame = e12.parent, e12.currentTNode = null, e12.lView = null, e12; } -function Ws() { - let e6 = D.lFrame; - return D.lFrame = e6.parent, e6.currentTNode = null, e6.lView = null, e6; +var Ni = Oc; +function dr() { + let e12 = Oc(); + e12.isParent = true, e12.tView = null, e12.selectedIndex = -1, e12.contextLView = null, e12.elementDepthCount = 0, e12.currentDirectiveIndex = -1, e12.currentNamespace = null, e12.bindingRootIndex = -1, e12.bindingIndex = -1, e12.currentQueryIndex = 0; } -var vo = Ws; -function Tn() { - let e6 = Ws(); - e6.isParent = true, e6.tView = null, e6.selectedIndex = -1, e6.contextLView = null, e6.elementDepthCount = 0, e6.currentDirectiveIndex = -1, e6.currentNamespace = null, e6.bindingRootIndex = -1, e6.bindingIndex = -1, e6.currentQueryIndex = 0; +function kc(e12) { + return (I.lFrame.contextLView = hc(e12, I.lFrame.contextLView))[x]; } -function Mn() { - return D.lFrame.selectedIndex; +function Fe() { + return I.lFrame.selectedIndex; } -function he(e6) { - D.lFrame.selectedIndex = e6; +function je(e12) { + I.lFrame.selectedIndex = e12; } -function Gs() { - let e6 = D.lFrame; - return io(e6.tView, e6.selectedIndex); +function Pc() { + let e12 = I.lFrame; + return ir(e12.tView, e12.selectedIndex); } -function qs() { - return D.lFrame.currentNamespace; +function Lc() { + return I.lFrame.currentNamespace; } -var Zs = true; -function Eo() { - return Zs; +var Fc = true; +function fr() { + return Fc; } -function Io(e6) { - Zs = e6; +function pr(e12) { + Fc = e12; } -function Lr(e6, t = null, n = null, r) { - let o = Qs(e6, t, n, r); +function Zo(e12, t = null, n = null, r) { + let o = jc(e12, t, n, r); return o.resolveInjectorInitializers(), o; } -function Qs(e6, t = null, n = null, r, o = /* @__PURE__ */ new Set()) { - let i = [n || we, Es(e6)], s; - return new Ce(i, t || pt(), s || null, o); +function jc(e12, t = null, n = null, r, o = /* @__PURE__ */ new Set()) { + let i = [n || Ne, oc(e12)], s; + return new qe(i, t || Kt(), s || null, o); } -var ee = class e2 { - static THROW_IF_NOT_FOUND = Ie; - static NULL = new at(); +var ce = class e2 { + static THROW_IF_NOT_FOUND = We; + static NULL = new zt(); static create(t, n) { if (Array.isArray(t)) - return Lr({ name: "" }, n, t, ""); + return Zo({ name: "" }, n, t, ""); { let r = t.name ?? ""; - return Lr({ name: r }, t.parent, t.providers, r); + return Zo({ name: r }, t.parent, t.providers, r); } } - static \u0275prov = S({ token: e2, providedIn: "any", factory: () => I(Jr) }); + static \u0275prov = _({ token: e2, providedIn: "any", factory: () => w(li) }); static __NG_ELEMENT_ID__ = -1; }; -var x = new m(""); -var wt = /* @__PURE__ */ (() => { - class e6 { - static __NG_ELEMENT_ID__ = $l; +var U = new D(""); +var St = /* @__PURE__ */ (() => { + class e12 { + static __NG_ELEMENT_ID__ = Ud; static __NG_ENV_ID__ = (n) => n; } - return e6; + return e12; })(); -var Pr = class extends wt { +var zn = class extends St { _lView; constructor(t) { super(), this._lView = t; } get destroyed() { - return xe(this._lView); + return nt(this._lView); } onDestroy(t) { let n = this._lView; - return lo(n, t), () => xs(n, t); + return Di(n, t), () => gc(n, t); } }; -function $l() { - return new Pr(H()); +function Ud() { + return new zn(M()); } -var Ys = false; -var Ks = new m(""); -var Ye = (() => { - class e6 { +var Hc = false; +var Vc = new D(""); +var Nt = (() => { + class e12 { taskId = 0; pendingTasks = /* @__PURE__ */ new Set(); destroyed = false; - pendingTask = new it(false); - debugTaskTracker = E(Ks, { optional: true }); + pendingTask = new $t(false); + debugTaskTracker = E(Vc, { optional: true }); get hasPendingTasks() { return this.destroyed ? false : this.pendingTask.value; } get hasPendingTasksObservable() { - return this.destroyed ? new He((n) => { + return this.destroyed ? new gt((n) => { n.next(false), n.complete(); }) : this.pendingTask; } @@ -1553,23 +1704,23 @@ var Ye = (() => { ngOnDestroy() { this.pendingTasks.clear(), this.hasPendingTasks && this.pendingTask.next(false), this.destroyed = true, this.pendingTask.unsubscribe(); } - static \u0275prov = S({ token: e6, providedIn: "root", factory: () => new e6() }); + static \u0275prov = _({ token: e12, providedIn: "root", factory: () => new e12() }); } - return e6; + return e12; })(); -var Fr = class extends ae { +var Qo = class extends ye { __isAsync; destroyRef = void 0; pendingTasks = void 0; constructor(t = false) { - super(), this.__isAsync = t, Cs() && (this.destroyRef = E(wt, { optional: true }) ?? void 0, this.pendingTasks = E(Ye, { optional: true }) ?? void 0); + super(), this.__isAsync = t, cc() && (this.destroyRef = E(St, { optional: true }) ?? void 0, this.pendingTasks = E(Nt, { optional: true }) ?? void 0); } emit(t) { - let n = v(null); + let n = g(null); try { super.next(t); } finally { - v(n); + g(n); } } subscribe(t, n, r) { @@ -1580,7 +1731,7 @@ var Fr = class extends ae { } this.__isAsync && (i = this.wrapInTimeout(i), o && (o = this.wrapInTimeout(o)), s && (s = this.wrapInTimeout(s))); let a = super.subscribe({ next: o, error: i, complete: s }); - return t instanceof _ && t.add(a), a; + return t instanceof H && t.add(a), a; } wrapInTimeout(t) { return (n) => { @@ -1595,64 +1746,64 @@ var Fr = class extends ae { }; } }; -var J = Fr; -function on(...e6) { +var ve = Qo; +function Wn(...e12) { } -function Do(e6) { +function xi(e12) { let t, n; function r() { - e6 = on; + e12 = Wn; try { n !== void 0 && typeof cancelAnimationFrame == "function" && cancelAnimationFrame(n), t !== void 0 && clearTimeout(t); } catch { } } return t = setTimeout(() => { - e6(), r(); + e12(), r(); }), typeof requestAnimationFrame == "function" && (n = requestAnimationFrame(() => { - e6(), r(); + e12(), r(); })), () => r(); } -function Js(e6) { - return queueMicrotask(() => e6()), () => { - e6 = on; +function Bc(e12) { + return queueMicrotask(() => e12()), () => { + e12 = Wn; }; } -var wo = "isAngularZone"; -var ct = wo + "_ID"; -var Ul = 0; -var j = class e3 { +var Ai = "isAngularZone"; +var Gt = Ai + "_ID"; +var zd = 0; +var Y = class e3 { hasPendingMacrotasks = false; hasPendingMicrotasks = false; isStable = true; - onUnstable = new J(false); - onMicrotaskEmpty = new J(false); - onStable = new J(false); - onError = new J(false); + onUnstable = new ve(false); + onMicrotaskEmpty = new ve(false); + onStable = new ve(false); + onError = new ve(false); constructor(t) { - let { enableLongStackTrace: n = false, shouldCoalesceEventChangeDetection: r = false, shouldCoalesceRunChangeDetection: o = false, scheduleInRootZone: i = Ys } = t; + let { enableLongStackTrace: n = false, shouldCoalesceEventChangeDetection: r = false, shouldCoalesceRunChangeDetection: o = false, scheduleInRootZone: i = Hc } = t; if (typeof Zone > "u") - throw new g(908, false); + throw new v(908, false); Zone.assertZonePatched(); let s = this; - s._nesting = 0, s._outer = s._inner = Zone.current, Zone.TaskTrackingZoneSpec && (s._inner = s._inner.fork(new Zone.TaskTrackingZoneSpec())), n && Zone.longStackTraceZoneSpec && (s._inner = s._inner.fork(Zone.longStackTraceZoneSpec)), s.shouldCoalesceEventChangeDetection = !o && r, s.shouldCoalesceRunChangeDetection = o, s.callbackScheduled = false, s.scheduleInRootZone = i, Gl(s); + s._nesting = 0, s._outer = s._inner = Zone.current, Zone.TaskTrackingZoneSpec && (s._inner = s._inner.fork(new Zone.TaskTrackingZoneSpec())), n && Zone.longStackTraceZoneSpec && (s._inner = s._inner.fork(Zone.longStackTraceZoneSpec)), s.shouldCoalesceEventChangeDetection = !o && r, s.shouldCoalesceRunChangeDetection = o, s.callbackScheduled = false, s.scheduleInRootZone = i, qd(s); } static isInAngularZone() { - return typeof Zone < "u" && Zone.current.get(wo) === true; + return typeof Zone < "u" && Zone.current.get(Ai) === true; } static assertInAngularZone() { if (!e3.isInAngularZone()) - throw new g(909, false); + throw new v(909, false); } static assertNotInAngularZone() { if (e3.isInAngularZone()) - throw new g(909, false); + throw new v(909, false); } run(t, n, r) { return this._inner.run(t, n, r); } runTask(t, n, r, o) { - let i = this._inner, s = i.scheduleEventTask("NgZoneEvent: " + o, t, zl, on, on); + let i = this._inner, s = i.scheduleEventTask("NgZoneEvent: " + o, t, Wd, Wn, Wn); try { return i.runTask(s, n, r); } finally { @@ -1666,74 +1817,74 @@ var j = class e3 { return this._outer.run(t); } }; -var zl = {}; -function Co(e6) { - if (e6._nesting == 0 && !e6.hasPendingMicrotasks && !e6.isStable) +var Wd = {}; +function Ri(e12) { + if (e12._nesting == 0 && !e12.hasPendingMicrotasks && !e12.isStable) try { - e6._nesting++, e6.onMicrotaskEmpty.emit(null); + e12._nesting++, e12.onMicrotaskEmpty.emit(null); } finally { - if (e6._nesting--, !e6.hasPendingMicrotasks) + if (e12._nesting--, !e12.hasPendingMicrotasks) try { - e6.runOutsideAngular(() => e6.onStable.emit(null)); + e12.runOutsideAngular(() => e12.onStable.emit(null)); } finally { - e6.isStable = true; + e12.isStable = true; } } } -function Wl(e6) { - if (e6.isCheckStableRunning || e6.callbackScheduled) +function Gd(e12) { + if (e12.isCheckStableRunning || e12.callbackScheduled) return; - e6.callbackScheduled = true; + e12.callbackScheduled = true; function t() { - Do(() => { - e6.callbackScheduled = false, jr(e6), e6.isCheckStableRunning = true, Co(e6), e6.isCheckStableRunning = false; + xi(() => { + e12.callbackScheduled = false, Yo(e12), e12.isCheckStableRunning = true, Ri(e12), e12.isCheckStableRunning = false; }); } - e6.scheduleInRootZone ? Zone.root.run(() => { + e12.scheduleInRootZone ? Zone.root.run(() => { t(); - }) : e6._outer.run(() => { + }) : e12._outer.run(() => { t(); - }), jr(e6); + }), Yo(e12); } -function Gl(e6) { +function qd(e12) { let t = () => { - Wl(e6); - }, n = Ul++; - e6._inner = e6._inner.fork({ name: "angular", properties: { [wo]: true, [ct]: n, [ct + n]: true }, onInvokeTask: (r, o, i, s, a, c) => { - if (ql(c)) + Gd(e12); + }, n = zd++; + e12._inner = e12._inner.fork({ name: "angular", properties: { [Ai]: true, [Gt]: n, [Gt + n]: true }, onInvokeTask: (r, o, i, s, a, c) => { + if (Zd(c)) return r.invokeTask(i, s, a, c); try { - return ds(e6), r.invokeTask(i, s, a, c); + return Ga(e12), r.invokeTask(i, s, a, c); } finally { - (e6.shouldCoalesceEventChangeDetection && s.type === "eventTask" || e6.shouldCoalesceRunChangeDetection) && t(), fs(e6); + (e12.shouldCoalesceEventChangeDetection && s.type === "eventTask" || e12.shouldCoalesceRunChangeDetection) && t(), qa(e12); } }, onInvoke: (r, o, i, s, a, c, l) => { try { - return ds(e6), r.invoke(i, s, a, c, l); + return Ga(e12), r.invoke(i, s, a, c, l); } finally { - e6.shouldCoalesceRunChangeDetection && !e6.callbackScheduled && !Zl(c) && t(), fs(e6); + e12.shouldCoalesceRunChangeDetection && !e12.callbackScheduled && !Qd(c) && t(), qa(e12); } }, onHasTask: (r, o, i, s) => { - r.hasTask(i, s), o === i && (s.change == "microTask" ? (e6._hasPendingMicrotasks = s.microTask, jr(e6), Co(e6)) : s.change == "macroTask" && (e6.hasPendingMacrotasks = s.macroTask)); - }, onHandleError: (r, o, i, s) => (r.handleError(i, s), e6.runOutsideAngular(() => e6.onError.emit(s)), false) }); + r.hasTask(i, s), o === i && (s.change == "microTask" ? (e12._hasPendingMicrotasks = s.microTask, Yo(e12), Ri(e12)) : s.change == "macroTask" && (e12.hasPendingMacrotasks = s.macroTask)); + }, onHandleError: (r, o, i, s) => (r.handleError(i, s), e12.runOutsideAngular(() => e12.onError.emit(s)), false) }); } -function jr(e6) { - e6._hasPendingMicrotasks || (e6.shouldCoalesceEventChangeDetection || e6.shouldCoalesceRunChangeDetection) && e6.callbackScheduled === true ? e6.hasPendingMicrotasks = true : e6.hasPendingMicrotasks = false; +function Yo(e12) { + e12._hasPendingMicrotasks || (e12.shouldCoalesceEventChangeDetection || e12.shouldCoalesceRunChangeDetection) && e12.callbackScheduled === true ? e12.hasPendingMicrotasks = true : e12.hasPendingMicrotasks = false; } -function ds(e6) { - e6._nesting++, e6.isStable && (e6.isStable = false, e6.onUnstable.emit(null)); +function Ga(e12) { + e12._nesting++, e12.isStable && (e12.isStable = false, e12.onUnstable.emit(null)); } -function fs(e6) { - e6._nesting--, Co(e6); +function qa(e12) { + e12._nesting--, Ri(e12); } -var lt = class { +var qt = class { hasPendingMicrotasks = false; hasPendingMacrotasks = false; isStable = true; - onUnstable = new J(); - onMicrotaskEmpty = new J(); - onStable = new J(); - onError = new J(); + onUnstable = new ve(); + onMicrotaskEmpty = new ve(); + onStable = new ve(); + onError = new ve(); run(t, n, r) { return t.apply(n, r); } @@ -1747,77 +1898,91 @@ var lt = class { return t.apply(n, r); } }; -function ql(e6) { - return Xs(e6, "__ignore_ng_zone__"); +function Zd(e12) { + return $c(e12, "__ignore_ng_zone__"); } -function Zl(e6) { - return Xs(e6, "__scheduler_tick__"); +function Qd(e12) { + return $c(e12, "__scheduler_tick__"); } -function Xs(e6, t) { - return !Array.isArray(e6) || e6.length !== 1 ? false : e6[0]?.data?.[t] === true; +function $c(e12, t) { + return !Array.isArray(e12) || e12.length !== 1 ? false : e12[0]?.data?.[t] === true; } -var te = class { +var Ie = class { _console = console; handleError(t) { this._console.error("ERROR", t); } }; -var Ke = new m("", { factory: () => { - let e6 = E(j), t = E($), n; +var rt = new D("", { factory: () => { + let e12 = E(Y), t = E(Q), n; return (r) => { - e6.runOutsideAngular(() => { + e12.runOutsideAngular(() => { t.destroyed && !n ? setTimeout(() => { throw r; - }) : (n ??= t.get(te), n.handleError(r)); + }) : (n ??= t.get(Ie), n.handleError(r)); }); }; } }); -var ea = { provide: be, useValue: () => { - let e6 = E(te, { optional: true }); +var Uc = { provide: Je, useValue: () => { + let e12 = E(Ie, { optional: true }); }, multi: true }; -var Ql = new m("", { factory: () => { - let e6 = E(x).defaultView; - if (!e6) +var Yd = new D("", { factory: () => { + let e12 = E(U).defaultView; + if (!e12) return; - let t = E(Ke), n = (i) => { + let t = E(rt), n = (i) => { t(i.reason), i.preventDefault(); }, r = (i) => { i.error ? t(i.error) : t(new Error(i.message, { cause: i })), i.preventDefault(); }, o = () => { - e6.addEventListener("unhandledrejection", n), e6.addEventListener("error", r); + e12.addEventListener("unhandledrejection", n), e12.addEventListener("error", r); }; - typeof Zone < "u" ? Zone.root.run(o) : o(), E(wt).onDestroy(() => { - e6.removeEventListener("error", r), e6.removeEventListener("unhandledrejection", n); + typeof Zone < "u" ? Zone.root.run(o) : o(), E(St).onDestroy(() => { + e12.removeEventListener("error", r), e12.removeEventListener("unhandledrejection", n); }); } }); -function To() { - return dt([vs(() => { - E(Ql); +function Oi() { + return Qt([rc(() => { + E(Yd); })]); } -function Ct(e6, t) { - let [n, r, o] = gr(e6, t?.equal), i = n, s = i[W]; - return i.set = r, i.update = o, i.asReadonly = ta.bind(i), i; +function q(e12, t) { + let [n, r, o] = Mo(e12, t?.equal), i = n, s = i[Z]; + return i.set = r, i.update = o, i.asReadonly = zc.bind(i), i; } -function ta() { - let e6 = this[W]; - if (e6.readonlyFn === void 0) { +function zc() { + let e12 = this[Z]; + if (e12.readonlyFn === void 0) { let t = () => this(); - t[W] = e6, e6.readonlyFn = t; + t[Z] = e12, e12.readonlyFn = t; } - return e6.readonlyFn; + return e12.readonlyFn; +} +var hr = /* @__PURE__ */ (() => { + class e12 { + view; + node; + constructor(n, r) { + this.view = n, this.node = r; + } + static __NG_ELEMENT_ID__ = Kd; + } + return e12; +})(); +function Kd() { + return new hr(M(), pe()); } -var Ue = class { +var Ze = class { }; -var Tt = new m("", { factory: () => true }); -var Mo = new m(""); -var So = (() => { - class e6 { - static \u0275prov = S({ token: e6, providedIn: "root", factory: () => new Hr() }); +var tn = new D("", { factory: () => true }); +var ki = new D(""); +var gr = (() => { + class e12 { + static \u0275prov = _({ token: e12, providedIn: "root", factory: () => new Ko() }); } - return e6; + return e12; })(); -var Hr = class { +var Ko = class { dirtyEffectCount = 0; queues = /* @__PURE__ */ new Map(); add(t) { @@ -1851,22 +2016,76 @@ var Hr = class { return n; } }; -var Vr = class { - [W]; +var Gn = class { + [Z]; constructor(t) { - this[W] = t; + this[Z] = t; } destroy() { - this[W].destroy(); + this[Z].destroy(); } }; -function Ma(e6) { - return { toString: e6 }.toString(); +function Pi(e12, t) { + let n = t?.injector ?? E(ce), r = t?.manualCleanup !== true ? n.get(St) : null, o, i = n.get(hr, null, { optional: true }), s = n.get(Ze); + return i !== null ? (o = ef(i.view, s, e12), r instanceof zn && r._lView === i.view && (r = null)) : o = tf(e12, n.get(gr), s), o.injector = n, r !== null && (o.onDestroyFns = [r.onDestroy(() => o.destroy())]), new Gn(o); +} +var Wc = A(N({}, So), { cleanupFns: void 0, zone: null, onDestroyFns: null, run() { + let e12 = Wt(false); + try { + No(this); + } finally { + Wt(e12); + } +}, cleanup() { + if (!this.cleanupFns?.length) + return; + let e12 = g(null); + try { + for (; this.cleanupFns.length; ) + this.cleanupFns.pop()(); + } finally { + this.cleanupFns = [], g(e12); + } +} }); +var Jd = A(N({}, Wc), { consumerMarkedDirty() { + this.scheduler.schedule(this), this.notifier.notify(12); +}, destroy() { + if (ut(this), this.onDestroyFns !== null) + for (let e12 of this.onDestroyFns) + e12(); + this.cleanup(), this.scheduler.remove(this); +} }); +var Xd = A(N({}, Wc), { consumerMarkedDirty() { + this.view[y] |= 8192, Mt(this.view), this.notifier.notify(13); +}, destroy() { + if (ut(this), this.onDestroyFns !== null) + for (let e12 of this.onDestroyFns) + e12(); + this.cleanup(), this.view[xe]?.delete(this); +} }); +function ef(e12, t, n) { + let r = Object.create(Xd); + return r.view = e12, r.zone = typeof Zone < "u" ? Zone.current : null, r.notifier = t, r.fn = Gc(r, n), e12[xe] ??= /* @__PURE__ */ new Set(), e12[xe].add(r), r.consumerMarkedDirty(r), r; +} +function tf(e12, t, n) { + let r = Object.create(Jd); + return r.fn = Gc(r, e12), r.scheduler = t, r.notifier = n, r.zone = typeof Zone < "u" ? Zone.current : null, r.scheduler.add(r), r.notifier.notify(12), r; +} +function Gc(e12, t) { + return () => { + t((n) => (e12.cleanupFns ??= []).push(n)); + }; +} +function bl(e12) { + return { toString: e12 }.toString(); } -function Sa(e6, t, n, r) { - t !== null ? t.applyValueToInputSignal(t, r) : e6[n] = r; +function yf(e12) { + return typeof e12 == "function"; } -var Rn = class { +function Cl(e12, t, n, r) { + t !== null ? t.applyValueToInputSignal(t, r) : e12[n] = r; +} +var Cr = class { previousValue; currentValue; firstChange; @@ -1877,90 +2096,90 @@ var Rn = class { return this.firstChange; } }; -function fu(e6) { - return e6.type.prototype.ngOnChanges && (e6.setInput = hu), pu; +function vf(e12) { + return e12.type.prototype.ngOnChanges && (e12.setInput = If), Ef; } -function pu() { - let e6 = _a(this), t = e6?.current; +function Ef() { + let e12 = Ml(this), t = e12?.current; if (t) { - let n = e6.previous; - if (n === Se) - e6.previous = t; + let n = e12.previous; + if (n === Ke) + e12.previous = t; else for (let r in t) n[r] = t[r]; - e6.current = null, this.ngOnChanges(t); + e12.current = null, this.ngOnChanges(t); } } -function hu(e6, t, n, r, o) { - let i = this.declaredInputs[r], s = _a(e6) || gu(e6, { previous: Se, current: null }), a = s.current || (s.current = {}), c = s.previous, l = c[i]; - a[i] = new Rn(l && l.currentValue, n, c === Se), Sa(e6, t, o, n); +function If(e12, t, n, r, o) { + let i = this.declaredInputs[r], s = Ml(e12) || Df(e12, { previous: Ke, current: null }), a = s.current || (s.current = {}), c = s.previous, l = c[i]; + a[i] = new Cr(l && l.currentValue, n, c === Ke), Cl(e12, t, o, n); } -var ba = "__ngSimpleChanges__"; -function _a(e6) { - return e6[ba] || null; +var Tl = "__ngSimpleChanges__"; +function Ml(e12) { + return e12[Tl] || null; } -function gu(e6, t) { - return e6[ba] = t; +function Df(e12, t) { + return e12[Tl] = t; } -var na = []; -var M = function(e6, t = null, n) { - for (let r = 0; r < na.length; r++) { - let o = na[r]; - o(e6, t, n); +var qc = []; +var T = function(e12, t = null, n) { + for (let r = 0; r < qc.length; r++) { + let o = qc[r]; + o(e12, t, n); } }; -var w = function(e6) { - return e6[e6.TemplateCreateStart = 0] = "TemplateCreateStart", e6[e6.TemplateCreateEnd = 1] = "TemplateCreateEnd", e6[e6.TemplateUpdateStart = 2] = "TemplateUpdateStart", e6[e6.TemplateUpdateEnd = 3] = "TemplateUpdateEnd", e6[e6.LifecycleHookStart = 4] = "LifecycleHookStart", e6[e6.LifecycleHookEnd = 5] = "LifecycleHookEnd", e6[e6.OutputStart = 6] = "OutputStart", e6[e6.OutputEnd = 7] = "OutputEnd", e6[e6.BootstrapApplicationStart = 8] = "BootstrapApplicationStart", e6[e6.BootstrapApplicationEnd = 9] = "BootstrapApplicationEnd", e6[e6.BootstrapComponentStart = 10] = "BootstrapComponentStart", e6[e6.BootstrapComponentEnd = 11] = "BootstrapComponentEnd", e6[e6.ChangeDetectionStart = 12] = "ChangeDetectionStart", e6[e6.ChangeDetectionEnd = 13] = "ChangeDetectionEnd", e6[e6.ChangeDetectionSyncStart = 14] = "ChangeDetectionSyncStart", e6[e6.ChangeDetectionSyncEnd = 15] = "ChangeDetectionSyncEnd", e6[e6.AfterRenderHooksStart = 16] = "AfterRenderHooksStart", e6[e6.AfterRenderHooksEnd = 17] = "AfterRenderHooksEnd", e6[e6.ComponentStart = 18] = "ComponentStart", e6[e6.ComponentEnd = 19] = "ComponentEnd", e6[e6.DeferBlockStateStart = 20] = "DeferBlockStateStart", e6[e6.DeferBlockStateEnd = 21] = "DeferBlockStateEnd", e6[e6.DynamicComponentStart = 22] = "DynamicComponentStart", e6[e6.DynamicComponentEnd = 23] = "DynamicComponentEnd", e6[e6.HostBindingsUpdateStart = 24] = "HostBindingsUpdateStart", e6[e6.HostBindingsUpdateEnd = 25] = "HostBindingsUpdateEnd", e6; -}(w || {}); -function mu(e6, t, n) { +var b = function(e12) { + return e12[e12.TemplateCreateStart = 0] = "TemplateCreateStart", e12[e12.TemplateCreateEnd = 1] = "TemplateCreateEnd", e12[e12.TemplateUpdateStart = 2] = "TemplateUpdateStart", e12[e12.TemplateUpdateEnd = 3] = "TemplateUpdateEnd", e12[e12.LifecycleHookStart = 4] = "LifecycleHookStart", e12[e12.LifecycleHookEnd = 5] = "LifecycleHookEnd", e12[e12.OutputStart = 6] = "OutputStart", e12[e12.OutputEnd = 7] = "OutputEnd", e12[e12.BootstrapApplicationStart = 8] = "BootstrapApplicationStart", e12[e12.BootstrapApplicationEnd = 9] = "BootstrapApplicationEnd", e12[e12.BootstrapComponentStart = 10] = "BootstrapComponentStart", e12[e12.BootstrapComponentEnd = 11] = "BootstrapComponentEnd", e12[e12.ChangeDetectionStart = 12] = "ChangeDetectionStart", e12[e12.ChangeDetectionEnd = 13] = "ChangeDetectionEnd", e12[e12.ChangeDetectionSyncStart = 14] = "ChangeDetectionSyncStart", e12[e12.ChangeDetectionSyncEnd = 15] = "ChangeDetectionSyncEnd", e12[e12.AfterRenderHooksStart = 16] = "AfterRenderHooksStart", e12[e12.AfterRenderHooksEnd = 17] = "AfterRenderHooksEnd", e12[e12.ComponentStart = 18] = "ComponentStart", e12[e12.ComponentEnd = 19] = "ComponentEnd", e12[e12.DeferBlockStateStart = 20] = "DeferBlockStateStart", e12[e12.DeferBlockStateEnd = 21] = "DeferBlockStateEnd", e12[e12.DynamicComponentStart = 22] = "DynamicComponentStart", e12[e12.DynamicComponentEnd = 23] = "DynamicComponentEnd", e12[e12.HostBindingsUpdateStart = 24] = "HostBindingsUpdateStart", e12[e12.HostBindingsUpdateEnd = 25] = "HostBindingsUpdateEnd", e12; +}(b || {}); +function wf(e12, t, n) { let { ngOnChanges: r, ngOnInit: o, ngDoCheck: i } = t.type.prototype; if (r) { - let s = fu(t); - (n.preOrderHooks ??= []).push(e6, s), (n.preOrderCheckHooks ??= []).push(e6, s); + let s = vf(t); + (n.preOrderHooks ??= []).push(e12, s), (n.preOrderCheckHooks ??= []).push(e12, s); } - o && (n.preOrderHooks ??= []).push(0 - e6, o), i && ((n.preOrderHooks ??= []).push(e6, i), (n.preOrderCheckHooks ??= []).push(e6, i)); + o && (n.preOrderHooks ??= []).push(0 - e12, o), i && ((n.preOrderHooks ??= []).push(e12, i), (n.preOrderCheckHooks ??= []).push(e12, i)); } -function yu(e6, t) { +function bf(e12, t) { for (let n = t.directiveStart, r = t.directiveEnd; n < r; n++) { - let i = e6.data[n].type.prototype, { ngAfterContentInit: s, ngAfterContentChecked: a, ngAfterViewInit: c, ngAfterViewChecked: l, ngOnDestroy: u } = i; - s && (e6.contentHooks ??= []).push(-n, s), a && ((e6.contentHooks ??= []).push(n, a), (e6.contentCheckHooks ??= []).push(n, a)), c && (e6.viewHooks ??= []).push(-n, c), l && ((e6.viewHooks ??= []).push(n, l), (e6.viewCheckHooks ??= []).push(n, l)), u != null && (e6.destroyHooks ??= []).push(n, u); + let i = e12.data[n].type.prototype, { ngAfterContentInit: s, ngAfterContentChecked: a, ngAfterViewInit: c, ngAfterViewChecked: l, ngOnDestroy: u } = i; + s && (e12.contentHooks ??= []).push(-n, s), a && ((e12.contentHooks ??= []).push(n, a), (e12.contentCheckHooks ??= []).push(n, a)), c && (e12.viewHooks ??= []).push(-n, c), l && ((e12.viewHooks ??= []).push(n, l), (e12.viewCheckHooks ??= []).push(n, l)), u != null && (e12.destroyHooks ??= []).push(n, u); } } -function Nn(e6, t, n) { - Na(e6, t, 3, n); +function Ir(e12, t, n) { + _l(e12, t, 3, n); } -function xn(e6, t, n, r) { - (e6[h] & 3) === n && Na(e6, t, n, r); +function Dr(e12, t, n, r) { + (e12[y] & 3) === n && _l(e12, t, n, r); } -function bo(e6, t) { - let n = e6[h]; - (n & 3) === t && (n &= 16383, n += 1, e6[h] = n); +function Li(e12, t) { + let n = e12[y]; + (n & 3) === t && (n &= 16383, n += 1, e12[y] = n); } -function Na(e6, t, n, r) { - let o = r !== void 0 ? e6[Ne] & 65535 : 0, i = r ?? -1, s = t.length - 1, a = 0; +function _l(e12, t, n, r) { + let o = r !== void 0 ? e12[et] & 65535 : 0, i = r ?? -1, s = t.length - 1, a = 0; for (let c = o; c < s; c++) if (typeof t[c + 1] == "number") { if (a = t[c], r != null && a >= r) break; } else - t[c] < 0 && (e6[Ne] += 65536), (a < i || i == -1) && (vu(e6, n, t, c), e6[Ne] = (e6[Ne] & 4294901760) + c + 2), c++; + t[c] < 0 && (e12[et] += 65536), (a < i || i == -1) && (Cf(e12, n, t, c), e12[et] = (e12[et] & 4294901760) + c + 2), c++; } -function ra(e6, t) { - M(w.LifecycleHookStart, e6, t); - let n = v(null); +function Zc(e12, t) { + T(b.LifecycleHookStart, e12, t); + let n = g(null); try { - t.call(e6); + t.call(e12); } finally { - v(n), M(w.LifecycleHookEnd, e6, t); + g(n), T(b.LifecycleHookEnd, e12, t); } } -function vu(e6, t, n, r) { - let o = n[r] < 0, i = n[r + 1], s = o ? -n[r] : n[r], a = e6[s]; - o ? e6[h] >> 14 < e6[Ne] >> 16 && (e6[h] & 3) === t && (e6[h] += 16384, ra(a, i)) : ra(a, i); +function Cf(e12, t, n, r) { + let o = n[r] < 0, i = n[r + 1], s = o ? -n[r] : n[r], a = e12[s]; + o ? e12[y] >> 14 < e12[et] >> 16 && (e12[y] & 3) === t && (e12[y] += 16384, Zc(a, i)) : Zc(a, i); } -var Xe = -1; -var bt = class { +var At = -1; +var sn = class { factory; name; injectImpl; @@ -1974,7 +2193,7 @@ var bt = class { this.factory = t, this.name = o, this.canSeeViewProviders = n, this.injectImpl = r; } }; -function Eu(e6, t, n) { +function Tf(e12, t, n) { let r = 0; for (; r < n.length; ) { let o = n[r]; @@ -1983,37 +2202,37 @@ function Eu(e6, t, n) { break; r++; let i = n[r++], s = n[r++], a = n[r++]; - e6.setAttribute(t, s, a, i); + e12.setAttribute(t, s, a, i); } else { let i = o, s = n[++r]; - Iu(i) ? e6.setProperty(t, i, s) : e6.setAttribute(t, i, s), r++; + Mf(i) ? e12.setProperty(t, i, s) : e12.setAttribute(t, i, s), r++; } } return r; } -function Iu(e6) { - return e6.charCodeAt(0) === 64; +function Mf(e12) { + return e12.charCodeAt(0) === 64; } -function ti(e6, t) { +function Fr(e12, t) { if (!(t === null || t.length === 0)) - if (e6 === null || e6.length === 0) - e6 = t.slice(); + if (e12 === null || e12.length === 0) + e12 = t.slice(); else { let n = -1; for (let r = 0; r < t.length; r++) { let o = t[r]; - typeof o == "number" ? n = o : n === 0 || (n === -1 || n === 2 ? oa(e6, n, o, null, t[++r]) : oa(e6, n, o, null, null)); + typeof o == "number" ? n = o : n === 0 || (n === -1 || n === 2 ? Qc(e12, n, o, null, t[++r]) : Qc(e12, n, o, null, null)); } } - return e6; + return e12; } -function oa(e6, t, n, r, o) { - let i = 0, s = e6.length; +function Qc(e12, t, n, r, o) { + let i = 0, s = e12.length; if (t === -1) s = -1; else - for (; i < e6.length; ) { - let a = e6[i++]; + for (; i < e12.length; ) { + let a = e12[i++]; if (typeof a == "number") { if (a === t) { s = -1; @@ -2024,438 +2243,520 @@ function oa(e6, t, n, r, o) { } } } - for (; i < e6.length; ) { - let a = e6[i]; + for (; i < e12.length; ) { + let a = e12[i]; if (typeof a == "number") break; if (a === n) { - o !== null && (e6[i + 1] = o); + o !== null && (e12[i + 1] = o); return; } i++, o !== null && i++; } - s !== -1 && (e6.splice(s, 0, t), i = s + 1), e6.splice(i++, 0, n), o !== null && e6.splice(i++, 0, o); + s !== -1 && (e12.splice(s, 0, t), i = s + 1), e12.splice(i++, 0, n), o !== null && e12.splice(i++, 0, o); } -function Du(e6) { - return e6 !== Xe; +function Sl(e12) { + return e12 !== At; } -function xo(e6) { - return e6 & 32767; +function Tr(e12) { + return e12 & 32767; } -function wu(e6) { - return e6 >> 16; +function _f(e12) { + return e12 >> 16; } -function Ao(e6, t) { - let n = wu(e6), r = t; +function Mr(e12, t) { + let n = _f(e12), r = t; for (; n > 0; ) - r = r[We], n--; + r = r[Xe], n--; return r; } -var Ro = true; -function ia(e6) { - let t = Ro; - return Ro = e6, t; -} -var Cu = 256; -var xa = Cu - 1; -var Aa = 5; -var Tu = 0; -var Y = {}; -function Mu(e6, t, n) { +var Ui = true; +function Yc(e12) { + let t = Ui; + return Ui = e12, t; +} +var Sf = 256; +var Nl = Sf - 1; +var xl = 5; +var Nf = 0; +var he = {}; +function xf(e12, t, n) { let r; - typeof n == "string" ? r = n.charCodeAt(0) || 0 : n.hasOwnProperty(Me) && (r = n[Me]), r == null && (r = n[Me] = Tu++); - let o = r & xa, i = 1 << o; - t.data[e6 + (o >> Aa)] |= i; + typeof n == "string" ? r = n.charCodeAt(0) || 0 : n.hasOwnProperty(Qe) && (r = n[Qe]), r == null && (r = n[Qe] = Nf++); + let o = r & Nl, i = 1 << o; + t.data[e12 + (o >> xl)] |= i; } -function Ra(e6, t) { - let n = ka(e6, t); +function Al(e12, t) { + let n = Rl(e12, t); if (n !== -1) return n; - let r = t[y]; - r.firstCreatePass && (e6.injectorIndex = t.length, _o(r.data, e6), _o(t, null), _o(r.blueprint, null)); - let o = Oa(e6, t), i = e6.injectorIndex; - if (Du(o)) { - let s = xo(o), a = Ao(o, t), c = a[y].data; + let r = t[m]; + r.firstCreatePass && (e12.injectorIndex = t.length, Fi(r.data, e12), Fi(t, null), Fi(r.blueprint, null)); + let o = _s(e12, t), i = e12.injectorIndex; + if (Sl(o)) { + let s = Tr(o), a = Mr(o, t), c = a[m].data; for (let l = 0; l < 8; l++) t[i + l] = a[s + l] | c[s + l]; } return t[i + 8] = o, i; } -function _o(e6, t) { - e6.push(0, 0, 0, 0, 0, 0, 0, 0, t); +function Fi(e12, t) { + e12.push(0, 0, 0, 0, 0, 0, 0, 0, t); } -function ka(e6, t) { - return e6.injectorIndex === -1 || e6.parent && e6.parent.injectorIndex === e6.injectorIndex || t[e6.injectorIndex + 8] === null ? -1 : e6.injectorIndex; +function Rl(e12, t) { + return e12.injectorIndex === -1 || e12.parent && e12.parent.injectorIndex === e12.injectorIndex || t[e12.injectorIndex + 8] === null ? -1 : e12.injectorIndex; } -function Oa(e6, t) { - if (e6.parent && e6.parent.injectorIndex !== -1) - return e6.parent.injectorIndex; +function _s(e12, t) { + if (e12.parent && e12.parent.injectorIndex !== -1) + return e12.parent.injectorIndex; let n = 0, r = null, o = t; for (; o !== null; ) { - if (r = Ha(o), r === null) - return Xe; - if (n++, o = o[We], r.injectorIndex !== -1) + if (r = Fl(o), r === null) + return At; + if (n++, o = o[Xe], r.injectorIndex !== -1) return r.injectorIndex | n << 16; } - return Xe; + return At; } -function Su(e6, t, n) { - Mu(e6, t, n); +function Af(e12, t, n) { + xf(e12, t, n); } -function La(e6, t, n) { - if (n & 8 || e6 !== void 0) - return e6; - dn(t, "NodeInjector"); +function Ol(e12, t, n) { + if (n & 8 || e12 !== void 0) + return e12; + Xn(t, "NodeInjector"); } -function Pa(e6, t, n, r) { +function kl(e12, t, n, r) { if (n & 8 && r === void 0 && (r = null), (n & 3) === 0) { - let o = e6[_e], i = R(void 0); + let o = e12[De], i = z(void 0); try { - return o ? o.get(t, r, n & 8) : Yr(t, r, n & 8); + return o ? o.get(t, r, n & 8) : ai(t, r, n & 8); } finally { - R(i); + z(i); } } - return La(r, t, n); + return Ol(r, t, n); } -function Fa(e6, t, n, r = 0, o) { - if (e6 !== null) { - if (t[h] & 2048 && !(r & 2)) { - let s = Au(e6, t, n, r, Y); - if (s !== Y) +function Pl(e12, t, n, r = 0, o) { + if (e12 !== null) { + if (t[y] & 2048 && !(r & 2)) { + let s = Pf(e12, t, n, r, he); + if (s !== he) return s; } - let i = ja(e6, t, n, r, Y); - if (i !== Y) + let i = Ll(e12, t, n, r, he); + if (i !== he) return i; } - return Pa(t, n, r, o); + return kl(t, n, r, o); } -function ja(e6, t, n, r, o) { - let i = Nu(n); +function Ll(e12, t, n, r, o) { + let i = Of(n); if (typeof i == "function") { - if (!yo(t, e6, r)) - return r & 1 ? La(o, n, r) : Pa(t, n, r, o); + if (!Si(t, e12, r)) + return r & 1 ? Ol(o, n, r) : kl(t, n, r, o); try { let s; if (s = i(r), s == null && !(r & 8)) - dn(n); + Xn(n); else return s; } finally { - vo(); + Ni(); } } else if (typeof i == "number") { - let s = null, a = ka(e6, t), c = Xe, l = r & 1 ? t[Q][re] : null; - for ((a === -1 || r & 4) && (c = a === -1 ? Oa(e6, t) : t[a + 8], c === Xe || !aa(r, false) ? a = -1 : (s = t[y], a = xo(c), t = Ao(c, t))); a !== -1; ) { - let u = t[y]; - if (sa(i, a, u.data)) { - let d = bu(a, t, n, s, r, l); - if (d !== Y) + let s = null, a = Rl(e12, t), c = At, l = r & 1 ? t[X][J] : null; + for ((a === -1 || r & 4) && (c = a === -1 ? _s(e12, t) : t[a + 8], c === At || !Jc(r, false) ? a = -1 : (s = t[m], a = Tr(c), t = Mr(c, t))); a !== -1; ) { + let u = t[m]; + if (Kc(i, a, u.data)) { + let d = Rf(a, t, n, s, r, l); + if (d !== he) return d; } - c = t[a + 8], c !== Xe && aa(r, t[y].data[a + 8] === l) && sa(i, a, t) ? (s = u, a = xo(c), t = Ao(c, t)) : a = -1; + c = t[a + 8], c !== At && Jc(r, t[m].data[a + 8] === l) && Kc(i, a, t) ? (s = u, a = Tr(c), t = Mr(c, t)) : a = -1; } } return o; } -function bu(e6, t, n, r, o, i) { - let s = t[y], a = s.data[e6 + 8], c = r == null ? yt(a) && Ro : r != s && (a.type & 3) !== 0, l = o & 1 && i === a, u = _u(a, s, n, c, l); - return u !== null ? ko(t, s, u, a, o) : Y; +function Rf(e12, t, n, r, o, i) { + let s = t[m], a = s.data[e12 + 8], c = r == null ? bt(a) && Ui : r != s && (a.type & 3) !== 0, l = o & 1 && i === a, u = wr(a, s, n, c, l); + return u !== null ? _r(t, s, u, a, o) : he; } -function _u(e6, t, n, r, o) { - let i = e6.providerIndexes, s = t.data, a = i & 1048575, c = e6.directiveStart, l = e6.directiveEnd, u = i >> 20, d = r ? a : a + u, p = o ? a + u : l; - for (let f = d; f < p; f++) { - let T = s[f]; - if (f < c && n === T || f >= c && T.type === n) - return f; +function wr(e12, t, n, r, o) { + let i = e12.providerIndexes, s = t.data, a = i & 1048575, c = e12.directiveStart, l = e12.directiveEnd, u = i >> 20, d = r ? a : a + u, f = o ? a + u : l; + for (let p = d; p < f; p++) { + let h = s[p]; + if (p < c && n === h || p >= c && h.type === n) + return p; } if (o) { - let f = s[c]; - if (f && qe(f) && f.type === n) + let p = s[c]; + if (p && Ct(p) && p.type === n) return c; } return null; } -function ko(e6, t, n, r, o) { - let i = e6[n], s = t.data; - if (i instanceof bt) { +function _r(e12, t, n, r, o) { + let i = e12[n], s = t.data; + if (i instanceof sn) { let a = i; if (a.resolving) - throw Qr(""); - let c = ia(a.canSeeViewProviders); + throw si(""); + let c = Yc(a.canSeeViewProviders); a.resolving = true; - let l = s[n].type || s[n], u, d = a.injectImpl ? R(a.injectImpl) : null, p = yo(e6, r, 0); + let l = s[n].type || s[n], u, d = a.injectImpl ? z(a.injectImpl) : null, f = Si(e12, r, 0); try { - i = e6[n] = a.factory(void 0, o, s, e6, r), t.firstCreatePass && n >= r.directiveStart && mu(n, s[n], t); + i = e12[n] = a.factory(void 0, o, s, e12, r), t.firstCreatePass && n >= r.directiveStart && wf(n, s[n], t); } finally { - d !== null && R(d), ia(c), a.resolving = false, vo(); + d !== null && z(d), Yc(c), a.resolving = false, Ni(); } } return i; } -function Nu(e6) { - if (typeof e6 == "string") - return e6.charCodeAt(0) || 0; - let t = e6.hasOwnProperty(Me) ? e6[Me] : void 0; - return typeof t == "number" ? t >= 0 ? t & xa : xu : t; +function Of(e12) { + if (typeof e12 == "string") + return e12.charCodeAt(0) || 0; + let t = e12.hasOwnProperty(Qe) ? e12[Qe] : void 0; + return typeof t == "number" ? t >= 0 ? t & Nl : kf : t; } -function sa(e6, t, n) { - let r = 1 << e6; - return !!(n[t + (e6 >> Aa)] & r); +function Kc(e12, t, n) { + let r = 1 << e12; + return !!(n[t + (e12 >> xl)] & r); } -function aa(e6, t) { - return !(e6 & 2) && !(e6 & 1 && t); +function Jc(e12, t) { + return !(e12 & 2) && !(e12 & 1 && t); } -var kn = class { +var ot = class { _tNode; _lView; constructor(t, n) { this._tNode = t, this._lView = n; } get(t, n, r) { - return Fa(this._tNode, this._lView, t, De(r), n); + return Pl(this._tNode, this._lView, t, Ge(r), n); } }; -function xu() { - return new kn(Qe(), H()); -} -function Au(e6, t, n, r, o) { - let i = e6, s = t; - for (; i !== null && s !== null && s[h] & 2048 && !Ze(s); ) { - let a = ja(i, s, n, r | 2, Y); - if (a !== Y) +function kf() { + return new ot(pe(), M()); +} +function Pf(e12, t, n, r, o) { + let i = e12, s = t; + for (; i !== null && s !== null && s[y] & 2048 && !Tt(s); ) { + let a = Ll(i, s, n, r | 2, he); + if (a !== he) return a; let c = i.parent; if (!c) { - let l = s[ro]; + let l = s[hi]; if (l) { - let u = l.get(n, Y, r & -5); - if (u !== Y) + let u = l.get(n, he, r & -5); + if (u !== he) return u; } - c = Ha(s), s = s[We]; + c = Fl(s), s = s[Xe]; } i = c; } return o; } -function Ha(e6) { - let t = e6[y], n = t.type; - return n === 2 ? t.declTNode : n === 1 ? e6[re] : null; +function Fl(e12) { + let t = e12[m], n = t.type; + return n === 2 ? t.declTNode : n === 1 ? e12[J] : null; } -function Ru() { - return Va(Qe(), H()); +function Lf() { + return Pt(pe(), M()); } -function Va(e6, t) { - return new Ba(Ae(e6, t)); +function Pt(e12, t) { + return new hn(de(e12, t)); } -var Ba = /* @__PURE__ */ (() => { - class e6 { +var hn = /* @__PURE__ */ (() => { + class e12 { nativeElement; constructor(n) { this.nativeElement = n; } - static __NG_ELEMENT_ID__ = Ru; + static __NG_ELEMENT_ID__ = Lf; } - return e6; + return e12; })(); -function ku(e6) { - return (e6.flags & 128) === 128; +function Ff(e12) { + return e12 instanceof hn ? e12.nativeElement : e12; +} +function jf() { + return this._results[Symbol.iterator](); +} +var Sr = class { + _emitDistinctChangesOnly; + dirty = true; + _onDirty = void 0; + _results = []; + _changesDetected = false; + _changes = void 0; + length = 0; + first = void 0; + last = void 0; + get changes() { + return this._changes ??= new ye(); + } + constructor(t = false) { + this._emitDistinctChangesOnly = t; + } + get(t) { + return this._results[t]; + } + map(t) { + return this._results.map(t); + } + filter(t) { + return this._results.filter(t); + } + find(t) { + return this._results.find(t); + } + reduce(t, n) { + return this._results.reduce(t, n); + } + forEach(t) { + this._results.forEach(t); + } + some(t) { + return this._results.some(t); + } + toArray() { + return this._results.slice(); + } + toString() { + return this._results.toString(); + } + reset(t, n) { + this.dirty = false; + let r = ec(t); + (this._changesDetected = !Xa(this._results, r, n)) && (this._results = r, this.length = r.length, this.last = r[this.length - 1], this.first = r[0]); + } + notifyOnChanges() { + this._changes !== void 0 && (this._changesDetected || !this._emitDistinctChangesOnly) && this._changes.next(this); + } + onDirty(t) { + this._onDirty = t; + } + setDirty() { + this.dirty = true, this._onDirty?.(); + } + destroy() { + this._changes !== void 0 && (this._changes.complete(), this._changes.unsubscribe()); + } + [Symbol.iterator] = jf; +}; +function jl(e12) { + return (e12.flags & 128) === 128; } -var ni = function(e6) { - return e6[e6.OnPush = 0] = "OnPush", e6[e6.Eager = 1] = "Eager", e6[e6.Default = 1] = "Default", e6; -}(ni || {}); -var $a = /* @__PURE__ */ new Map(); -var Ou = 0; -function Lu() { - return Ou++; +var Ss = function(e12) { + return e12[e12.OnPush = 0] = "OnPush", e12[e12.Eager = 1] = "Eager", e12[e12.Default = 1] = "Default", e12; +}(Ss || {}); +var Hl = /* @__PURE__ */ new Map(); +var Hf = 0; +function Vf() { + return Hf++; } -function Pu(e6) { - $a.set(e6[le], e6); +function Bf(e12) { + Hl.set(e12[we], e12); } -function Oo(e6) { - $a.delete(e6[le]); +function zi(e12) { + Hl.delete(e12[we]); } -var ca = "__ngContext__"; -function _t(e6, t) { - ue(t) ? (e6[ca] = t[le], Pu(t)) : e6[ca] = t; +var Xc = "__ngContext__"; +function Rt(e12, t) { + Le(t) ? (e12[Xc] = t[we], Bf(t)) : e12[Xc] = t; } -function Ua(e6) { - return Wa(e6[ze]); +function Vl(e12) { + return $l(e12[wt]); } -function za(e6) { - return Wa(e6[ne]); +function Bl(e12) { + return $l(e12[K]); } -function Wa(e6) { - for (; e6 !== null && !de(e6); ) - e6 = e6[ne]; - return e6; +function $l(e12) { + for (; e12 !== null && !re(e12); ) + e12 = e12[K]; + return e12; } -var Lo; -function ri(e6) { - Lo = e6; +var Wi; +function Ns(e12) { + Wi = e12; } -function Ga() { - if (Lo !== void 0) - return Lo; +function Ul() { + if (Wi !== void 0) + return Wi; if (typeof document < "u") return document; - throw new g(210, false); -} -var Hn = new m("", { factory: () => Fu }); -var Fu = "ng"; -var Vn = new m(""); -var At = new m("", { providedIn: "platform", factory: () => "unknown" }); -var Bn = new m("", { factory: () => E(x).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); -var qa = false; -var Za = new m("", { factory: () => qa }); -function oi(e6) { - return (e6.flags & 32) === 32; -} -var ju = () => null; -function Qa(e6, t, n = false) { - return ju(e6, t, n); -} -function Ya(e6, t) { - let n = e6.contentQueries; + throw new v(210, false); +} +var jr = new D("", { factory: () => $f }); +var $f = "ng"; +var Hr = new D(""); +var gn = new D("", { providedIn: "platform", factory: () => "unknown" }); +var Vr = new D("", { factory: () => E(U).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); +var zl = "r"; +var Wl = "di"; +var Gl = false; +var ql = new D("", { factory: () => Gl }); +var el = /* @__PURE__ */ new WeakMap(); +function Uf(e12, t) { + if (e12 == null || typeof e12 != "object") + return; + let n = el.get(e12); + n || (n = /* @__PURE__ */ new WeakSet(), el.set(e12, n)), n.add(t); +} +var zf = (e12, t, n, r) => { +}; +function Wf(e12, t, n, r) { + zf(e12, t, n, r); +} +function xs(e12) { + return (e12.flags & 32) === 32; +} +var Gf = () => null; +function Zl(e12, t, n = false) { + return Gf(e12, t, n); +} +function Ql(e12, t) { + let n = e12.contentQueries; if (n !== null) { - let r = v(null); + let r = g(null); try { for (let o = 0; o < n.length; o += 2) { let i = n[o], s = n[o + 1]; if (s !== -1) { - let a = e6.data[s]; - mo(i), a.contentQueries(2, t[s], s); + let a = e12.data[s]; + lr(i), a.contentQueries(2, t[s], s); } } } finally { - v(r); + g(r); } } } -function Po(e6, t, n) { - mo(0); - let r = v(null); +function Gi(e12, t, n) { + lr(0); + let r = g(null); try { - t(e6, n); + t(e12, n); } finally { - v(r); + g(r); } } -function Hu(e6, t, n) { - if (oo(t)) { - let r = v(null); +function qf(e12, t, n) { + if (mi(t)) { + let r = g(null); try { let o = t.directiveStart, i = t.directiveEnd; for (let s = o; s < i; s++) { - let a = e6.data[s]; + let a = e12.data[s]; if (a.contentQueries) { let c = n[s]; a.contentQueries(1, c, s); } } } finally { - v(r); + g(r); } } } -var z = function(e6) { - return e6[e6.Emulated = 0] = "Emulated", e6[e6.None = 2] = "None", e6[e6.ShadowDom = 3] = "ShadowDom", e6[e6.ExperimentalIsolatedShadowDom = 4] = "ExperimentalIsolatedShadowDom", e6; -}(z || {}); -var Sn; -function Vu() { - if (Sn === void 0 && (Sn = null, ce.trustedTypes)) +var ie = function(e12) { + return e12[e12.Emulated = 0] = "Emulated", e12[e12.None = 2] = "None", e12[e12.ShadowDom = 3] = "ShadowDom", e12[e12.ExperimentalIsolatedShadowDom = 4] = "ExperimentalIsolatedShadowDom", e12; +}(ie || {}); +var mr; +function Zf() { + if (mr === void 0 && (mr = null, Re.trustedTypes)) try { - Sn = ce.trustedTypes.createPolicy("angular", { createHTML: (e6) => e6, createScript: (e6) => e6, createScriptURL: (e6) => e6 }); + mr = Re.trustedTypes.createPolicy("angular", { createHTML: (e12) => e12, createScript: (e12) => e12, createScriptURL: (e12) => e12 }); } catch { } - return Sn; + return mr; } -function $n(e6) { - return Vu()?.createHTML(e6) || e6; +function Br(e12) { + return Zf()?.createHTML(e12) || e12; } -var bn; -function Bu() { - if (bn === void 0 && (bn = null, ce.trustedTypes)) +var yr; +function Qf() { + if (yr === void 0 && (yr = null, Re.trustedTypes)) try { - bn = ce.trustedTypes.createPolicy("angular#unsafe-bypass", { createHTML: (e6) => e6, createScript: (e6) => e6, createScriptURL: (e6) => e6 }); + yr = Re.trustedTypes.createPolicy("angular#unsafe-bypass", { createHTML: (e12) => e12, createScript: (e12) => e12, createScriptURL: (e12) => e12 }); } catch { } - return bn; + return yr; } -function la(e6) { - return Bu()?.createHTML(e6) || e6; +function tl(e12) { + return Qf()?.createHTML(e12) || e12; } -var ie = class { +var Ce = class { changingThisBreaksApplicationSecurity; constructor(t) { this.changingThisBreaksApplicationSecurity = t; } toString() { - return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${sn})`; + return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${qn})`; } }; -var Fo = class extends ie { +var qi = class extends Ce { getTypeName() { return "HTML"; } }; -var jo = class extends ie { +var Zi = class extends Ce { getTypeName() { return "Style"; } }; -var Ho = class extends ie { +var Qi = class extends Ce { getTypeName() { return "Script"; } }; -var Vo = class extends ie { +var Yi = class extends Ce { getTypeName() { return "URL"; } }; -var Bo = class extends ie { +var Ki = class extends Ce { getTypeName() { return "ResourceURL"; } }; -function ge(e6) { - return e6 instanceof ie ? e6.changingThisBreaksApplicationSecurity : e6; +function Me(e12) { + return e12 instanceof Ce ? e12.changingThisBreaksApplicationSecurity : e12; } -function me(e6, t) { - let n = Ka(e6); +function He(e12, t) { + let n = Yl(e12); if (n != null && n !== t) { if (n === "ResourceURL" && t === "URL") return true; - throw new Error(`Required a safe ${t}, got a ${n} (see ${sn})`); + throw new Error(`Required a safe ${t}, got a ${n} (see ${qn})`); } return n === t; } -function Ka(e6) { - return e6 instanceof ie && e6.getTypeName() || null; +function Yl(e12) { + return e12 instanceof Ce && e12.getTypeName() || null; } -function ii(e6) { - return new Fo(e6); +function As(e12) { + return new qi(e12); } -function si(e6) { - return new jo(e6); +function Rs(e12) { + return new Zi(e12); } -function ai(e6) { - return new Ho(e6); +function Os(e12) { + return new Qi(e12); } -function ci(e6) { - return new Vo(e6); +function ks(e12) { + return new Yi(e12); } -function li(e6) { - return new Bo(e6); +function Ps(e12) { + return new Ki(e12); } -function $u(e6) { - let t = new Uo(e6); - return Uu() ? new $o(t) : t; +function Yf(e12) { + let t = new Xi(e12); + return Kf() ? new Ji(t) : t; } -var $o = class { +var Ji = class { inertDocumentHelper; constructor(t) { this.inertDocumentHelper = t; @@ -2463,14 +2764,14 @@ var $o = class { getInertBodyElement(t) { t = "" + t; try { - let n = new window.DOMParser().parseFromString($n(t), "text/html").body; + let n = new window.DOMParser().parseFromString(Br(t), "text/html").body; return n === null ? this.inertDocumentHelper.getInertBodyElement(t) : (n.firstChild?.remove(), n); } catch { return null; } } }; -var Uo = class { +var Xi = class { defaultDoc; inertDocument; constructor(t) { @@ -2478,58 +2779,58 @@ var Uo = class { } getInertBodyElement(t) { let n = this.inertDocument.createElement("template"); - return n.innerHTML = $n(t), n; + return n.innerHTML = Br(t), n; } }; -function Uu() { +function Kf() { try { - return !!new window.DOMParser().parseFromString($n(""), "text/html"); + return !!new window.DOMParser().parseFromString(Br(""), "text/html"); } catch { return false; } } -var zu = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i; -function Un(e6) { - return e6 = String(e6), e6.match(zu) ? e6 : "unsafe:" + e6; +var Jf = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i; +function $r(e12) { + return e12 = String(e12), e12.match(Jf) ? e12 : "unsafe:" + e12; } -function se(e6) { +function _e(e12) { let t = {}; - for (let n of e6.split(",")) + for (let n of e12.split(",")) t[n] = true; return t; } -function Rt(...e6) { +function mn(...e12) { let t = {}; - for (let n of e6) + for (let n of e12) for (let r in n) n.hasOwnProperty(r) && (t[r] = true); return t; } -var Ja = se("area,br,col,hr,img,wbr"); -var Xa = se("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"); -var ec = se("rp,rt"); -var Wu = Rt(ec, Xa); -var Gu = Rt(Xa, se("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")); -var qu = Rt(ec, se("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")); -var ua = Rt(Ja, Gu, qu, Wu); -var tc = se("background,cite,href,itemtype,longdesc,poster,src,xlink:href"); -var Zu = se("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"); -var Qu = se("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"); -var Yu = Rt(tc, Zu, Qu); -var Ku = se("script,style,template"); -var zo = class { +var Kl = _e("area,br,col,hr,img,wbr"); +var Jl = _e("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"); +var Xl = _e("rp,rt"); +var Xf = mn(Xl, Jl); +var ep = mn(Jl, _e("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")); +var tp = mn(Xl, _e("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")); +var nl = mn(Kl, ep, tp, Xf); +var eu = _e("background,cite,href,itemtype,longdesc,poster,src,xlink:href"); +var np = _e("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"); +var rp = _e("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"); +var op = mn(eu, np, rp); +var ip = _e("script,style,template"); +var es = class { sanitizedSomething = false; buf = []; sanitizeChildren(t) { let n = t.firstChild, r = true, o = []; for (; n; ) { if (n.nodeType === Node.ELEMENT_NODE ? r = this.startElement(n) : n.nodeType === Node.TEXT_NODE ? this.chars(n.nodeValue) : this.sanitizedSomething = true, r && n.firstChild) { - o.push(n), n = ed(n); + o.push(n), n = cp(n); continue; } for (; n; ) { n.nodeType === Node.ELEMENT_NODE && this.endElement(n); - let i = Xu(n); + let i = ap(n); if (i) { n = i; break; @@ -2540,170 +2841,170 @@ var zo = class { return this.buf.join(""); } startElement(t) { - let n = da(t).toLowerCase(); - if (!ua.hasOwnProperty(n)) - return this.sanitizedSomething = true, !Ku.hasOwnProperty(n); + let n = rl(t).toLowerCase(); + if (!nl.hasOwnProperty(n)) + return this.sanitizedSomething = true, !ip.hasOwnProperty(n); this.buf.push("<"), this.buf.push(n); let r = t.attributes; for (let o = 0; o < r.length; o++) { let i = r.item(o), s = i.name, a = s.toLowerCase(); - if (!Yu.hasOwnProperty(a)) { + if (!op.hasOwnProperty(a)) { this.sanitizedSomething = true; continue; } let c = i.value; - tc[a] && (c = Un(c)), this.buf.push(" ", s, '="', fa(c), '"'); + eu[a] && (c = $r(c)), this.buf.push(" ", s, '="', ol(c), '"'); } return this.buf.push(">"), true; } endElement(t) { - let n = da(t).toLowerCase(); - ua.hasOwnProperty(n) && !Ja.hasOwnProperty(n) && (this.buf.push("")); + let n = rl(t).toLowerCase(); + nl.hasOwnProperty(n) && !Kl.hasOwnProperty(n) && (this.buf.push("")); } chars(t) { - this.buf.push(fa(t)); + this.buf.push(ol(t)); } }; -function Ju(e6, t) { - return (e6.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_CONTAINED_BY) !== Node.DOCUMENT_POSITION_CONTAINED_BY; +function sp(e12, t) { + return (e12.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_CONTAINED_BY) !== Node.DOCUMENT_POSITION_CONTAINED_BY; } -function Xu(e6) { - let t = e6.nextSibling; - if (t && e6 !== t.previousSibling) - throw nc(t); +function ap(e12) { + let t = e12.nextSibling; + if (t && e12 !== t.previousSibling) + throw tu(t); return t; } -function ed(e6) { - let t = e6.firstChild; - if (t && Ju(e6, t)) - throw nc(t); +function cp(e12) { + let t = e12.firstChild; + if (t && sp(e12, t)) + throw tu(t); return t; } -function da(e6) { - let t = e6.nodeName; +function rl(e12) { + let t = e12.nodeName; return typeof t == "string" ? t : "FORM"; } -function nc(e6) { - return new Error(`Failed to sanitize html because the element is clobbered: ${e6.outerHTML}`); +function tu(e12) { + return new Error(`Failed to sanitize html because the element is clobbered: ${e12.outerHTML}`); } -var td = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; -var nd = /([^\#-~ |!])/g; -function fa(e6) { - return e6.replace(/&/g, "&").replace(td, function(t) { +var lp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; +var up = /([^\#-~ |!])/g; +function ol(e12) { + return e12.replace(/&/g, "&").replace(lp, function(t) { let n = t.charCodeAt(0), r = t.charCodeAt(1); return "&#" + ((n - 55296) * 1024 + (r - 56320) + 65536) + ";"; - }).replace(nd, function(t) { + }).replace(up, function(t) { return "&#" + t.charCodeAt(0) + ";"; }).replace(//g, ">"); } -var _n; -function zn(e6, t) { +var vr; +function Ur(e12, t) { let n = null; try { - _n = _n || $u(e6); + vr = vr || Yf(e12); let r = t ? String(t) : ""; - n = _n.getInertBodyElement(r); + n = vr.getInertBodyElement(r); let o = 5, i = r; do { if (o === 0) throw new Error("Failed to sanitize html because the input is unstable"); - o--, r = i, i = n.innerHTML, n = _n.getInertBodyElement(r); + o--, r = i, i = n.innerHTML, n = vr.getInertBodyElement(r); } while (r !== i); - let a = new zo().sanitizeChildren(pa(n) || n); - return $n(a); + let a = new es().sanitizeChildren(il(n) || n); + return Br(a); } finally { if (n) { - let r = pa(n) || n; + let r = il(n) || n; for (; r.firstChild; ) r.firstChild.remove(); } } } -function pa(e6) { - return "content" in e6 && rd(e6) ? e6.content : null; +function il(e12) { + return "content" in e12 && dp(e12) ? e12.content : null; } -function rd(e6) { - return e6.nodeType === Node.ELEMENT_NODE && e6.nodeName === "TEMPLATE"; +function dp(e12) { + return e12.nodeType === Node.ELEMENT_NODE && e12.nodeName === "TEMPLATE"; } -function od(e6, t) { - return e6.createText(t); +function fp(e12, t) { + return e12.createText(t); } -function id(e6, t, n) { - e6.setValue(t, n); +function pp(e12, t, n) { + e12.setValue(t, n); } -function rc(e6, t, n) { - return e6.createElement(t, n); +function nu(e12, t, n) { + return e12.createElement(t, n); } -function Wo(e6, t, n, r, o) { - e6.insertBefore(t, n, r, o); +function Nr(e12, t, n, r, o) { + e12.insertBefore(t, n, r, o); } -function oc(e6, t, n) { - e6.appendChild(t, n); +function ru(e12, t, n) { + e12.appendChild(t, n); } -function ha(e6, t, n, r, o) { - r !== null ? Wo(e6, t, n, r, o) : oc(e6, t, n); +function sl(e12, t, n, r, o) { + r !== null ? Nr(e12, t, n, r, o) : ru(e12, t, n); } -function sd(e6, t, n, r) { - e6.removeChild(null, t, n, r); +function ou(e12, t, n, r) { + e12.removeChild(null, t, n, r); } -function ad(e6, t, n) { - e6.setAttribute(t, "style", n); +function hp(e12, t, n) { + e12.setAttribute(t, "style", n); } -function cd(e6, t, n) { - n === "" ? e6.removeAttribute(t, "class") : e6.setAttribute(t, "class", n); +function gp(e12, t, n) { + n === "" ? e12.removeAttribute(t, "class") : e12.setAttribute(t, "class", n); } -function ic(e6, t, n) { +function iu(e12, t, n) { let { mergedAttrs: r, classes: o, styles: i } = n; - r !== null && Eu(e6, t, r), o !== null && cd(e6, t, o), i !== null && ad(e6, t, i); + r !== null && Tf(e12, t, r), o !== null && gp(e12, t, o), i !== null && hp(e12, t, i); } -var K = function(e6) { - return e6[e6.NONE = 0] = "NONE", e6[e6.HTML = 1] = "HTML", e6[e6.STYLE = 2] = "STYLE", e6[e6.SCRIPT = 3] = "SCRIPT", e6[e6.URL = 4] = "URL", e6[e6.RESOURCE_URL = 5] = "RESOURCE_URL", e6; -}(K || {}); -function ui(e6) { - let t = ld(); - return t ? la(t.sanitize(K.HTML, e6) || "") : me(e6, "HTML") ? la(ge(e6)) : zn(Ga(), Zr(e6)); +var ge = function(e12) { + return e12[e12.NONE = 0] = "NONE", e12[e12.HTML = 1] = "HTML", e12[e12.STYLE = 2] = "STYLE", e12[e12.SCRIPT = 3] = "SCRIPT", e12[e12.URL = 4] = "URL", e12[e12.RESOURCE_URL = 5] = "RESOURCE_URL", e12; +}(ge || {}); +function Ls(e12) { + let t = mp(); + return t ? tl(t.sanitize(ge.HTML, e12) || "") : He(e12, "HTML") ? tl(Me(e12)) : Ur(Ul(), ii(e12)); } -function ld() { - let e6 = H(); - return e6 && e6[Z].sanitizer; +function mp() { + let e12 = M(); + return e12 && e12[le].sanitizer; } -var ud = "ng-template"; -function dd(e6) { - return e6.type === 4 && e6.value !== ud; +var yp = "ng-template"; +function vp(e12) { + return e12.type === 4 && e12.value !== yp; } -function Go(e6) { - return (e6 & 1) === 0; +function ts(e12) { + return (e12 & 1) === 0; } -function ga(e6, t) { - return e6 ? ":not(" + t.trim() + ")" : t; +function al(e12, t) { + return e12 ? ":not(" + t.trim() + ")" : t; } -function fd(e6) { - let t = e6[0], n = 1, r = 2, o = "", i = false; - for (; n < e6.length; ) { - let s = e6[n]; +function Ep(e12) { + let t = e12[0], n = 1, r = 2, o = "", i = false; + for (; n < e12.length; ) { + let s = e12[n]; if (typeof s == "string") if (r & 2) { - let a = e6[++n]; + let a = e12[++n]; o += "[" + s + (a.length > 0 ? '="' + a + '"' : "") + "]"; } else r & 8 ? o += "." + s : r & 4 && (o += " " + s); else - o !== "" && !Go(s) && (t += ga(i, o), o = ""), r = s, i = i || !Go(r); + o !== "" && !ts(s) && (t += al(i, o), o = ""), r = s, i = i || !ts(r); n++; } - return o !== "" && (t += ga(i, o)), t; + return o !== "" && (t += al(i, o)), t; } -function pd(e6) { - return e6.map(fd).join(","); +function Ip(e12) { + return e12.map(Ep).join(","); } -function hd(e6) { +function Dp(e12) { let t = [], n = [], r = 1, o = 2; - for (; r < e6.length; ) { - let i = e6[r]; + for (; r < e12.length; ) { + let i = e12[r]; if (typeof i == "string") - o === 2 ? i !== "" && t.push(i, e6[++r]) : o === 8 && n.push(i); + o === 2 ? i !== "" && t.push(i, e12[++r]) : o === 8 && n.push(i); else { - if (!Go(o)) + if (!ts(o)) break; o = i; } @@ -2711,205 +3012,216 @@ function hd(e6) { } return n.length && t.push(1, ...n), t; } -var tt = {}; -function sc(e6, t, n, r, o, i, s, a, c, l, u) { - let d = U + r, p = d + o, f = gd(d, p), T = typeof l == "function" ? l() : l; - return f[y] = { type: e6, blueprint: f, template: n, queries: null, viewQuery: a, declTNode: t, data: f.slice().fill(null, d), bindingStartIndex: d, expandoStartIndex: p, hostBindingOpCodes: null, firstCreatePass: true, firstUpdatePass: true, staticViewQueries: false, staticContentQueries: false, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: typeof i == "function" ? i() : i, pipeRegistry: typeof s == "function" ? s() : s, firstChild: null, schemas: c, consts: T, incompleteFirstPass: false, ssrId: u }; +var Se = {}; +function Fs(e12, t, n, r, o, i, s, a, c, l, u) { + let d = F + r, f = d + o, p = wp(d, f), h = typeof l == "function" ? l() : l; + return p[m] = { type: e12, blueprint: p, template: n, queries: null, viewQuery: a, declTNode: t, data: p.slice().fill(null, d), bindingStartIndex: d, expandoStartIndex: f, hostBindingOpCodes: null, firstCreatePass: true, firstUpdatePass: true, staticViewQueries: false, staticContentQueries: false, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: typeof i == "function" ? i() : i, pipeRegistry: typeof s == "function" ? s() : s, firstChild: null, schemas: c, consts: h, incompleteFirstPass: false, ssrId: u }; } -function gd(e6, t) { +function wp(e12, t) { let n = []; for (let r = 0; r < t; r++) - n.push(r < e6 ? null : tt); + n.push(r < e12 ? null : Se); return n; } -function md(e6) { - let t = e6.tView; - return t === null || t.incompleteFirstPass ? e6.tView = sc(1, null, e6.template, e6.decls, e6.vars, e6.directiveDefs, e6.pipeDefs, e6.viewQuery, e6.schemas, e6.consts, e6.id) : t; +function bp(e12) { + let t = e12.tView; + return t === null || t.incompleteFirstPass ? e12.tView = Fs(1, null, e12.template, e12.decls, e12.vars, e12.directiveDefs, e12.pipeDefs, e12.viewQuery, e12.schemas, e12.consts, e12.id) : t; } -function ac(e6, t, n, r, o, i, s, a, c, l, u) { +function js(e12, t, n, r, o, i, s, a, c, l, u) { let d = t.blueprint.slice(); - return d[q] = o, d[h] = r | 4 | 128 | 8 | 64 | 1024, (l !== null || e6 && e6[h] & 2048) && (d[h] |= 2048), so(d), d[O] = d[We] = e6, d[L] = n, d[Z] = s || e6 && e6[Z], d[P] = a || e6 && e6[P], d[_e] = c || e6 && e6[_e] || null, d[re] = i, d[le] = Lu(), d[hn] = u, d[ro] = l, d[Q] = t.type == 2 ? e6[Q] : d, d; + return d[ne] = o, d[y] = r | 4 | 128 | 8 | 64 | 1024, (l !== null || e12 && e12[y] & 2048) && (d[y] |= 2048), Ei(d), d[R] = d[Xe] = e12, d[x] = n, d[le] = s || e12 && e12[le], d[O] = a || e12 && e12[O], d[De] = c || e12 && e12[De] || null, d[J] = i, d[we] = Vf(), d[It] = u, d[hi] = l, d[X] = t.type == 2 ? e12[X] : d, d; } -function yd(e6, t, n) { - let r = Ae(t, e6), o = md(n), i = e6[Z].rendererFactory, s = vd(e6, ac(e6, o, null, cc(n), r, t, null, i.createRenderer(r, n), null, null, null)); - return e6[t.index] = s; +function Cp(e12, t, n) { + let r = de(t, e12), o = bp(n), i = e12[le].rendererFactory, s = Hs(e12, js(e12, o, null, su(n), r, t, null, i.createRenderer(r, n), null, null, null)); + return e12[t.index] = s; } -function cc(e6) { +function su(e12) { let t = 16; - return e6.signals ? t = 4096 : e6.onPush && (t = 64), t; + return e12.signals ? t = 4096 : e12.onPush && (t = 64), t; } -function lc(e6, t, n, r) { +function au(e12, t, n, r) { if (n === 0) return -1; let o = t.length; for (let i = 0; i < n; i++) - t.push(r), e6.blueprint.push(r), e6.data.push(null); + t.push(r), e12.blueprint.push(r), e12.data.push(null); return o; } -function vd(e6, t) { - return e6[ze] ? e6[no][ne] = t : e6[ze] = t, e6[no] = t, t; +function Hs(e12, t) { + return e12[wt] ? e12[pi][K] = t : e12[wt] = t, e12[pi] = t, t; } -function Wn(e6 = 1) { - uc(Dn(), H(), Mn() + e6, false); +function V(e12 = 1) { + cu(oe(), M(), Fe() + e12, false); } -function uc(e6, t, n, r) { +function cu(e12, t, n, r) { if (!r) - if ((t[h] & 3) === 3) { - let i = e6.preOrderCheckHooks; - i !== null && Nn(t, i, n); + if ((t[y] & 3) === 3) { + let i = e12.preOrderCheckHooks; + i !== null && Ir(t, i, n); } else { - let i = e6.preOrderHooks; - i !== null && xn(t, i, 0, n); + let i = e12.preOrderHooks; + i !== null && Dr(t, i, 0, n); } - he(n); + je(n); } -var Gn = function(e6) { - return e6[e6.None = 0] = "None", e6[e6.SignalBased = 1] = "SignalBased", e6[e6.HasDecoratorInputTransform = 2] = "HasDecoratorInputTransform", e6; -}(Gn || {}); -function qo(e6, t, n, r) { - let o = v(null); +var zr = function(e12) { + return e12[e12.None = 0] = "None", e12[e12.SignalBased = 1] = "SignalBased", e12[e12.HasDecoratorInputTransform = 2] = "HasDecoratorInputTransform", e12; +}(zr || {}); +function ns(e12, t, n, r) { + let o = g(null); try { - let [i, s, a] = e6.inputs[n], c = null; - (s & Gn.SignalBased) !== 0 && (c = t[i][W]), c !== null && c.transformFn !== void 0 ? r = c.transformFn(r) : a !== null && (r = a.call(t, r)), e6.setInput !== null ? e6.setInput(t, c, r, n, i) : Sa(t, c, i, r); + let [i, s, a] = e12.inputs[n], c = null; + (s & zr.SignalBased) !== 0 && (c = t[i][Z]), c !== null && c.transformFn !== void 0 ? r = c.transformFn(r) : a !== null && (r = a.call(t, r)), e12.setInput !== null ? e12.setInput(t, c, r, n, i) : Cl(t, c, i, r); } finally { - v(o); + g(o); } } -var ke = function(e6) { - return e6[e6.Important = 1] = "Important", e6[e6.DashCase = 2] = "DashCase", e6; -}(ke || {}); -var Ed; -function dc(e6, t) { - return Ed(e6, t); +var Te = function(e12) { + return e12[e12.Important = 1] = "Important", e12[e12.DashCase = 2] = "DashCase", e12; +}(Te || {}); +var Tp; +function Vs(e12, t) { + return Tp(e12, t); } -var ny = typeof document < "u" && typeof document?.documentElement?.getAnimations == "function"; -var Zo = /* @__PURE__ */ new WeakMap(); -var Mt = /* @__PURE__ */ new WeakSet(); -function Id(e6, t) { - let n = Zo.get(e6); +var $E = typeof document < "u" && typeof document?.documentElement?.getAnimations == "function"; +var rs = /* @__PURE__ */ new WeakMap(); +var nn = /* @__PURE__ */ new WeakSet(); +function Mp(e12, t) { + let n = rs.get(e12); if (!n || n.length === 0) return; let r = t.parentNode, o = t.previousSibling; for (let i = n.length - 1; i >= 0; i--) { let s = n[i], a = s.parentNode; - s === t ? (n.splice(i, 1), Mt.add(s), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } }))) : (o && s === o || a && r && a !== r) && (n.splice(i, 1), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } })), s.parentNode?.removeChild(s)); + s === t ? (n.splice(i, 1), nn.add(s), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } }))) : (o && s === o || a && r && a !== r) && (n.splice(i, 1), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } })), s.parentNode?.removeChild(s)); } } -function Dd(e6, t) { - let n = Zo.get(e6); - n ? n.includes(t) || n.push(t) : Zo.set(e6, [t]); +function _p(e12, t) { + let n = rs.get(e12); + n ? n.includes(t) || n.push(t) : rs.set(e12, [t]); } -var et = /* @__PURE__ */ new Set(); -var di = function(e6) { - return e6[e6.CHANGE_DETECTION = 0] = "CHANGE_DETECTION", e6[e6.AFTER_NEXT_RENDER = 1] = "AFTER_NEXT_RENDER", e6; -}(di || {}); -var nt = new m(""); -var ma = /* @__PURE__ */ new Set(); -function fc(e6) { - ma.has(e6) || (ma.add(e6), performance?.mark?.("mark_feature_usage", { detail: { feature: e6 } })); +var it = /* @__PURE__ */ new Set(); +var Bs = function(e12) { + return e12[e12.CHANGE_DETECTION = 0] = "CHANGE_DETECTION", e12[e12.AFTER_NEXT_RENDER = 1] = "AFTER_NEXT_RENDER", e12; +}(Bs || {}); +var Lt = new D(""); +var cl = /* @__PURE__ */ new Set(); +function Ft(e12) { + cl.has(e12) || (cl.add(e12), performance?.mark?.("mark_feature_usage", { detail: { feature: e12 } })); } -var pc = (() => { - class e6 { +var lu = (() => { + class e12 { impl = null; execute() { this.impl?.execute(); } - static \u0275prov = S({ token: e6, providedIn: "root", factory: () => new e6() }); + static \u0275prov = _({ token: e12, providedIn: "root", factory: () => new e12() }); } - return e6; + return e12; })(); -var wd = new m("", { factory: () => ({ queue: /* @__PURE__ */ new Set(), isScheduled: false, scheduler: null, injector: E($) }) }); -function hc(e6, t, n) { - let r = e6.get(wd); +var uu = new D("", { factory: () => ({ queue: /* @__PURE__ */ new Set(), isScheduled: false, scheduler: null, injector: E(Q) }) }); +function du(e12, t, n) { + let r = e12.get(uu); if (Array.isArray(t)) for (let o of t) r.queue.add(o), n?.detachedLeaveAnimationFns?.push(o); else r.queue.add(t), n?.detachedLeaveAnimationFns?.push(t); - r.scheduler && r.scheduler(e6); + r.scheduler && r.scheduler(e12); } -function Cd(e6, t) { +function Sp(e12, t) { + let n = e12.get(uu); + if (t.detachedLeaveAnimationFns) { + for (let r of t.detachedLeaveAnimationFns) + n.queue.delete(r); + t.detachedLeaveAnimationFns = void 0; + } +} +function Np(e12, t) { for (let [n, r] of t) - hc(e6, r.animateFns); + du(e12, r.animateFns); } -function ya(e6, t, n, r) { - let o = e6?.[Ge]?.enter; - t !== null && o && o.has(n.index) && Cd(r, o); +function ll(e12, t, n, r) { + let o = e12?.[ke]?.enter; + t !== null && o && o.has(n.index) && Np(r, o); } -function Je(e6, t, n, r, o, i, s, a) { +function xt(e12, t, n, r, o, i, s, a) { if (o != null) { let c, l = false; - de(o) ? c = o : ue(o) && (l = true, o = o[q]); - let u = fe(o); - e6 === 0 && r !== null ? (ya(a, r, i, n), s == null ? oc(t, r, u) : Wo(t, r, u, s || null, true)) : e6 === 1 && r !== null ? (ya(a, r, i, n), Wo(t, r, u, s || null, true), Id(i, u)) : e6 === 2 ? (a?.[Ge]?.leave?.has(i.index) && Dd(i, u), Mt.delete(u), va(a, i, n, (d) => { - if (Mt.has(u)) { - Mt.delete(u); + re(o) ? c = o : Le(o) && (l = true, o = o[ne]); + let u = ee(o); + e12 === 0 && r !== null ? (ll(a, r, i, n), s == null ? ru(t, r, u) : Nr(t, r, u, s || null, true)) : e12 === 1 && r !== null ? (ll(a, r, i, n), Nr(t, r, u, s || null, true), Mp(i, u)) : e12 === 2 ? (a?.[ke]?.leave?.has(i.index) && _p(i, u), nn.delete(u), ul(a, i, n, (d) => { + if (nn.has(u)) { + nn.delete(u); return; } - sd(t, u, l, d); - })) : e6 === 3 && (Mt.delete(u), va(a, i, n, () => { + ou(t, u, l, d); + })) : e12 === 3 && (nn.delete(u), ul(a, i, n, () => { t.destroyNode(u); - })), c != null && Fd(t, e6, n, c, i, r, s); + })), c != null && $p(t, e12, n, c, i, r, s); } } -function Td(e6, t) { - gc(e6, t), t[q] = null, t[re] = null; +function xp(e12, t) { + fu(e12, t), t[ne] = null, t[J] = null; +} +function Ap(e12, t, n, r, o, i) { + r[ne] = o, r[J] = t, Gr(e12, r, n, 1, o, i); } -function gc(e6, t) { - t[Z].changeDetectionScheduler?.notify(9), hi(e6, t, t[P], 2, null, null); +function fu(e12, t) { + t[le].changeDetectionScheduler?.notify(9), Gr(e12, t, t[O], 2, null, null); } -function Md(e6) { - let t = e6[ze]; +function Rp(e12) { + let t = e12[wt]; if (!t) - return No(e6[y], e6); + return ji(e12[m], e12); for (; t; ) { let n = null; - if (ue(t)) - n = t[ze]; + if (Le(t)) + n = t[wt]; else { - let r = t[oe]; + let r = t[S]; r && (n = r); } if (!n) { - for (; t && !t[ne] && t !== e6; ) - ue(t) && No(t[y], t), t = t[O]; - t === null && (t = e6), ue(t) && No(t[y], t), n = t && t[ne]; + for (; t && !t[K] && t !== e12; ) + Le(t) && ji(t[m], t), t = t[R]; + t === null && (t = e12), Le(t) && ji(t[m], t), n = t && t[K]; } t = n; } } -function fi(e6, t) { - let n = e6[mt], r = n.indexOf(t); +function $s(e12, t) { + let n = e12[tt], r = n.indexOf(t); n.splice(r, 1); } -function Sd(e6, t) { - if (xe(t)) +function Wr(e12, t) { + if (nt(t)) return; - let n = t[P]; - n.destroyNode && hi(e6, t, n, 3, null, null), Md(t); + let n = t[O]; + n.destroyNode && Gr(e12, t, n, 3, null, null), Rp(t); } -function No(e6, t) { - if (xe(t)) +function ji(e12, t) { + if (nt(t)) return; - let n = v(null); + let n = g(null); try { - t[h] &= -129, t[h] |= 256, t[F] && qt(t[F]), Nd(e6, t), _d(e6, t), t[y].type === 1 && t[P].destroy(); - let r = t[ht]; - if (r !== null && de(t[O])) { - r !== t[O] && fi(r, t); - let o = t[mn]; - o !== null && o.detachView(e6); - } - Oo(t); + t[y] &= -129, t[y] |= 256, t[G] && ut(t[G]), Pp(e12, t), kp(e12, t), t[m].type === 1 && t[O].destroy(); + let r = t[Oe]; + if (r !== null && re(t[R])) { + r !== t[R] && $s(r, t); + let o = t[ue]; + o !== null && o.detachView(e12); + } + zi(t); } finally { - v(n); + g(n); } } -function va(e6, t, n, r) { - let o = e6?.[Ge]; +function ul(e12, t, n, r) { + let o = e12?.[ke]; if (o == null || o.leave == null || !o.leave.has(t.index)) return r(false); - e6 && et.add(e6[le]), hc(n, () => { + e12 && it.add(e12[we]), du(n, () => { if (o.leave && o.leave.has(t.index)) { let s = o.leave.get(t.index), a = []; if (s) { @@ -2919,23 +3231,23 @@ function va(e6, t, n, r) { } o.detachedLeaveAnimationFns = void 0; } - o.running = Promise.allSettled(a), bd(e6, r); + o.running = Promise.allSettled(a), Op(e12, r); } else - e6 && et.delete(e6[le]), r(false); + e12 && it.delete(e12[we]), r(false); }, o); } -function bd(e6, t) { - let n = e6[Ge]?.running; +function Op(e12, t) { + let n = e12[ke]?.running; if (n) { n.then(() => { - e6[Ge].running = void 0, et.delete(e6[le]), t(true); + e12[ke].running = void 0, it.delete(e12[we]), t(true); }); return; } t(false); } -function _d(e6, t) { - let n = e6.cleanup, r = t[gn]; +function kp(e12, t) { + let n = e12.cleanup, r = t[Dt]; if (n !== null) for (let s = 0; s < n.length - 1; s += 2) if (typeof n[s] == "string") { @@ -2945,683 +3257,841 @@ function _d(e6, t) { let a = r[n[s + 1]]; n[s].call(a); } - r !== null && (t[gn] = null); - let o = t[X]; + r !== null && (t[Dt] = null); + let o = t[Ee]; if (o !== null) { - t[X] = null; + t[Ee] = null; for (let s = 0; s < o.length; s++) { let a = o[s]; a(); } } - let i = t[gt]; + let i = t[xe]; if (i !== null) { - t[gt] = null; + t[xe] = null; for (let s of i) s.destroy(); } } -function Nd(e6, t) { +function Pp(e12, t) { let n; - if (e6 != null && (n = e6.destroyHooks) != null) + if (e12 != null && (n = e12.destroyHooks) != null) for (let r = 0; r < n.length; r += 2) { let o = t[n[r]]; - if (!(o instanceof bt)) { + if (!(o instanceof sn)) { let i = n[r + 1]; if (Array.isArray(i)) for (let s = 0; s < i.length; s += 2) { let a = o[i[s]], c = i[s + 1]; - M(w.LifecycleHookStart, a, c); + T(b.LifecycleHookStart, a, c); try { c.call(a); } finally { - M(w.LifecycleHookEnd, a, c); + T(b.LifecycleHookEnd, a, c); } } else { - M(w.LifecycleHookStart, o, i); + T(b.LifecycleHookStart, o, i); try { i.call(o); } finally { - M(w.LifecycleHookEnd, o, i); + T(b.LifecycleHookEnd, o, i); } } } } } -function xd(e6, t, n) { - return Ad(e6, t.parent, n); +function Lp(e12, t, n) { + return Fp(e12, t.parent, n); } -function Ad(e6, t, n) { +function Fp(e12, t, n) { let r = t; for (; r !== null && r.type & 168; ) t = r, r = t.parent; if (r === null) - return n[q]; - if (yt(r)) { - let { encapsulation: o } = e6.data[r.directiveStart + r.componentOffset]; - if (o === z.None || o === z.Emulated) + return n[ne]; + if (bt(r)) { + let { encapsulation: o } = e12.data[r.directiveStart + r.componentOffset]; + if (o === ie.None || o === ie.Emulated) return null; } - return Ae(r, n); + return de(r, n); } -function Rd(e6, t, n) { - return Od(e6, t, n); +function jp(e12, t, n) { + return Vp(e12, t, n); } -function kd(e6, t, n) { - return e6.type & 40 ? Ae(e6, n) : null; +function Hp(e12, t, n) { + return e12.type & 40 ? de(e12, n) : null; } -var Od = kd; -var Ea; -function mc(e6, t, n, r) { - let o = xd(e6, r, t), i = t[P], s = r.parent || t[re], a = Rd(s, r, t); +var Vp = Hp; +var dl; +function Us(e12, t, n, r) { + let o = Lp(e12, r, t), i = t[O], s = r.parent || t[J], a = jp(s, r, t); if (o != null) if (Array.isArray(n)) for (let c = 0; c < n.length; c++) - ha(i, o, n[c], a, false); + sl(i, o, n[c], a, false); else - ha(i, o, n, a, false); - Ea !== void 0 && Ea(i, r, t, n, o); + sl(i, o, n, a, false); + dl !== void 0 && dl(i, r, t, n, o); } -function Ld(e6, t) { +function rn(e12, t) { if (t !== null) { - let r = e6[Q][re], o = t.projection; + let n = t.type; + if (n & 3) + return de(t, e12); + if (n & 4) + return os(-1, e12[t.index]); + if (n & 8) { + let r = t.child; + if (r !== null) + return rn(e12, r); + { + let o = e12[t.index]; + return re(o) ? os(-1, o) : ee(o); + } + } else { + if (n & 128) + return rn(e12, t.next); + if (n & 32) + return Vs(t, e12)() || ee(e12[t.index]); + { + let r = pu(e12, t); + if (r !== null) { + if (Array.isArray(r)) + return r[0]; + let o = Ae(e12[X]); + return rn(o, r); + } else + return rn(e12, t.next); + } + } + } + return null; +} +function pu(e12, t) { + if (t !== null) { + let r = e12[X][J], o = t.projection; return r.projection[o]; } return null; } -function pi(e6, t, n, r, o, i, s) { +function os(e12, t) { + let n = S + e12 + 1; + if (n < t.length) { + let r = t[n], o = r[m].firstChild; + if (o !== null) + return rn(r, o); + } + return t[Pe]; +} +function zs(e12, t, n, r, o, i, s) { for (; n != null; ) { - let a = r[_e]; + let a = r[De]; if (n.type === 128) { n = n.next; continue; } let c = r[n.index], l = n.type; - if (s && t === 0 && (c && _t(fe(c), r), n.flags |= 2), !oi(n)) + if (s && t === 0 && (c && Rt(ee(c), r), n.flags |= 2), !xs(n)) if (l & 8) - pi(e6, t, n.child, r, o, i, false), Je(t, e6, a, o, c, n, i, r); + zs(e12, t, n.child, r, o, i, false), xt(t, e12, a, o, c, n, i, r); else if (l & 32) { - let u = dc(n, r), d; + let u = Vs(n, r), d; for (; d = u(); ) - Je(t, e6, a, o, d, n, i, r); - Je(t, e6, a, o, c, n, i, r); + xt(t, e12, a, o, d, n, i, r); + xt(t, e12, a, o, c, n, i, r); } else - l & 16 ? Pd(e6, t, r, n, o, i) : Je(t, e6, a, o, c, n, i, r); + l & 16 ? Bp(e12, t, r, n, o, i) : xt(t, e12, a, o, c, n, i, r); n = s ? n.projectionNext : n.next; } } -function hi(e6, t, n, r, o, i) { - pi(n, r, e6.firstChild, t, o, i, false); +function Gr(e12, t, n, r, o, i) { + zs(n, r, e12.firstChild, t, o, i, false); } -function Pd(e6, t, n, r, o, i) { - let s = n[Q], c = s[re].projection[r.projection]; +function Bp(e12, t, n, r, o, i) { + let s = n[X], c = s[J].projection[r.projection]; if (Array.isArray(c)) for (let l = 0; l < c.length; l++) { let u = c[l]; - Je(t, e6, n[_e], o, u, r, i, n); + xt(t, e12, n[De], o, u, r, i, n); } else { - let l = c, u = s[O]; - ku(r) && (l.flags |= 128), pi(e6, t, l, u, o, i, true); + let l = c, u = s[R]; + jl(r) && (l.flags |= 128), zs(e12, t, l, u, o, i, true); } } -function Fd(e6, t, n, r, o, i, s) { - let a = r[En], c = fe(r); - a !== c && Je(t, e6, n, i, a, o, s); - for (let l = oe; l < r.length; l++) { +function $p(e12, t, n, r, o, i, s) { + let a = r[Pe], c = ee(r); + a !== c && xt(t, e12, n, i, a, o, s); + for (let l = S; l < r.length; l++) { let u = r[l]; - hi(u[y], u, e6, t, i, a); + Gr(u[m], u, e12, t, i, a); + } +} +function Up(e12, t, n, r, o) { + if (t) + o ? e12.addClass(n, r) : e12.removeClass(n, r); + else { + let i = r.indexOf("-") === -1 ? void 0 : Te.DashCase; + o == null ? e12.removeStyle(n, r, i) : (typeof o == "string" && o.endsWith("!important") && (o = o.slice(0, -10), i |= Te.Important), e12.setStyle(n, r, o, i)); } } -function yc(e6, t, n, r, o) { - let i = Mn(), s = r & 2; +function hu(e12, t, n, r, o) { + let i = Fe(), s = r & 2; try { - he(-1), s && t.length > U && uc(e6, t, U, false); - let a = s ? w.TemplateUpdateStart : w.TemplateCreateStart; - M(a, o, n), n(r, o); + je(-1), s && t.length > F && cu(e12, t, F, false); + let a = s ? b.TemplateUpdateStart : b.TemplateCreateStart; + T(a, o, n), n(r, o); } finally { - he(i); - let a = s ? w.TemplateUpdateEnd : w.TemplateCreateEnd; - M(a, o, n); + je(i); + let a = s ? b.TemplateUpdateEnd : b.TemplateCreateEnd; + T(a, o, n); } } -function jd(e6, t, n) { - zd(e6, t, n), (n.flags & 64) === 64 && Wd(e6, t, n); +function zp(e12, t, n) { + Qp(e12, t, n), (n.flags & 64) === 64 && Yp(e12, t, n); } -function Hd(e6, t, n = Ae) { +function gu(e12, t, n = de) { let r = t.localNames; if (r !== null) { let o = t.index + 1; for (let i = 0; i < r.length; i += 2) { - let s = r[i + 1], a = s === -1 ? n(t, e6) : e6[s]; - e6[o++] = a; + let s = r[i + 1], a = s === -1 ? n(t, e12) : e12[s]; + e12[o++] = a; } } } -function Vd(e6, t, n, r) { - let i = r.get(Za, qa) || n === z.ShadowDom || n === z.ExperimentalIsolatedShadowDom, s = e6.selectRootElement(t, i); - return Bd(s), s; +function Wp(e12, t, n, r) { + let i = r.get(ql, Gl) || n === ie.ShadowDom || n === ie.ExperimentalIsolatedShadowDom, s = e12.selectRootElement(t, i); + return Gp(s), s; } -function Bd(e6) { - $d(e6); +function Gp(e12) { + qp(e12); } -var $d = () => null; -function Ud(e6, t, n, r, o, i) { - if (e6.type & 3) { - let s = Ae(e6, t); - r = i != null ? i(r, e6.value || "", n) : r, o.setProperty(s, n, r); +var qp = () => null; +function Zp(e12, t, n, r, o, i) { + if (e12.type & 3) { + let s = de(e12, t); + r = i != null ? i(r, e12.value || "", n) : r, o.setProperty(s, n, r); } else - e6.type & 12; + e12.type & 12; } -function zd(e6, t, n) { +function Qp(e12, t, n) { let r = n.directiveStart, o = n.directiveEnd; - yt(n) && yd(t, n, e6.data[r + n.componentOffset]), e6.firstCreatePass || Ra(n, t); + bt(n) && Cp(t, n, e12.data[r + n.componentOffset]), e12.firstCreatePass || Al(n, t); let i = n.initialInputs; for (let s = r; s < o; s++) { - let a = e6.data[s], c = ko(t, e6, s, n); - if (_t(c, t), i !== null && qd(t, s - r, c, a, n, i), qe(a)) { - let l = pe(n.index, t); - l[L] = ko(t, e6, s, n); + let a = e12.data[s], c = _r(t, e12, s, n); + if (Rt(c, t), i !== null && Jp(t, s - r, c, a, n, i), Ct(a)) { + let l = be(n.index, t); + l[x] = _r(t, e12, s, n); } } } -function Wd(e6, t, n) { - let r = n.directiveStart, o = n.directiveEnd, i = n.index, s = $s(); +function Yp(e12, t, n) { + let r = n.directiveStart, o = n.directiveEnd, i = n.index, s = Nc(); try { - he(i); + je(i); for (let a = r; a < o; a++) { - let c = e6.data[a], l = t[a]; - wn(a), (c.hostBindings !== null || c.hostVars !== 0 || c.hostAttrs !== null) && Gd(c, l); + let c = e12.data[a], l = t[a]; + cr(a), (c.hostBindings !== null || c.hostVars !== 0 || c.hostAttrs !== null) && Kp(c, l); } } finally { - he(-1), wn(s); + je(-1), cr(s); } } -function Gd(e6, t) { - e6.hostBindings !== null && e6.hostBindings(1, t); +function Kp(e12, t) { + e12.hostBindings !== null && e12.hostBindings(1, t); } -function qd(e6, t, n, r, o, i) { +function Jp(e12, t, n, r, o, i) { let s = i[t]; if (s !== null) for (let a = 0; a < s.length; a += 2) { let c = s[a], l = s[a + 1]; - qo(r, n, c, l); + ns(r, n, c, l); } } -function Zd(e6, t, n, r, o) { - let i = U + n, s = t[y], a = o(s, t, e6, r, n); - t[i] = a, Dt(e6, true); - let c = e6.type === 2; - return c ? (ic(t[P], a, e6), (As() === 0 || Ss(e6)) && _t(a, t), Rs()) : _t(a, t), Eo() && (!c || !oi(e6)) && mc(s, t, a, e6), e6; +function Xp(e12, t, n, r, o) { + let i = F + n, s = t[m], a = o(s, t, e12, r, n); + t[i] = a, _t(e12, true); + let c = e12.type === 2; + return c ? (iu(t[O], a, e12), (yc() === 0 || yi(e12)) && Rt(a, t), vc()) : Rt(a, t), fr() && (!c || !xs(e12)) && Us(s, t, a, e12), e12; } -function Qd(e6) { - let t = e6; - return fo() ? js() : (t = t.parent, Dt(t, false)), t; +function eh(e12) { + let t = e12; + return Ti() ? Cc() : (t = t.parent, _t(t, false)), t; } -function Yd(e6, t, n, r, o) { - let i = e6.inputs?.[r], s = e6.hostDirectiveInputs?.[r], a = false; +function th(e12, t) { + let n = e12[De]; + if (!n) + return; + let r; + try { + r = n.get(rt, null); + } catch { + r = null; + } + r?.(t); +} +function nh(e12, t, n, r, o) { + let i = e12.inputs?.[r], s = e12.hostDirectiveInputs?.[r], a = false; if (s) for (let c = 0; c < s.length; c += 2) { let l = s[c], u = s[c + 1], d = t.data[l]; - qo(d, n[l], u, o), a = true; + ns(d, n[l], u, o), a = true; } if (i) for (let c of i) { let l = n[c], u = t.data[c]; - qo(u, l, r, o), a = true; + ns(u, l, r, o), a = true; } return a; } -function Kd(e6, t) { - let n = pe(t, e6), r = n[y]; - Jd(r, n); - let o = n[q]; - o !== null && n[hn] === null && (n[hn] = Qa(o, n[_e])), M(w.ComponentStart); +function rh(e12, t) { + let n = be(t, e12), r = n[m]; + oh(r, n); + let o = n[ne]; + o !== null && n[It] === null && (n[It] = Zl(o, n[De])), T(b.ComponentStart); try { - vc(r, n, n[L]); + Ws(r, n, n[x]); } finally { - M(w.ComponentEnd, n[L]); + T(b.ComponentEnd, n[x]); } } -function Jd(e6, t) { - for (let n = t.length; n < e6.blueprint.length; n++) - t.push(e6.blueprint[n]); +function oh(e12, t) { + for (let n = t.length; n < e12.blueprint.length; n++) + t.push(e12.blueprint[n]); } -function vc(e6, t, n) { - Cn(t); +function Ws(e12, t, n) { + ur(t); try { - let r = e6.viewQuery; - r !== null && Po(1, r, n); - let o = e6.template; - o !== null && yc(e6, t, o, 1, n), e6.firstCreatePass && (e6.firstCreatePass = false), t[mn]?.finishViewCreation(e6), e6.staticContentQueries && Ya(e6, t), e6.staticViewQueries && Po(2, e6.viewQuery, n); - let i = e6.components; - i !== null && Xd(t, i); + let r = e12.viewQuery; + r !== null && Gi(1, r, n); + let o = e12.template; + o !== null && hu(e12, t, o, 1, n), e12.firstCreatePass && (e12.firstCreatePass = false), t[ue]?.finishViewCreation(e12), e12.staticContentQueries && Ql(e12, t), e12.staticViewQueries && Gi(2, e12.viewQuery, n); + let i = e12.components; + i !== null && ih(t, i); } catch (r) { - throw e6.firstCreatePass && (e6.incompleteFirstPass = true, e6.firstCreatePass = false), r; + throw e12.firstCreatePass && (e12.incompleteFirstPass = true, e12.firstCreatePass = false), r; } finally { - t[h] &= -5, Tn(); + t[y] &= -5, dr(); } } -function Xd(e6, t) { +function ih(e12, t) { for (let n = 0; n < t.length; n++) - Kd(e6, t[n]); + rh(e12, t[n]); +} +function qr(e12, t, n, r) { + let o = g(null); + try { + let i = t.tView, a = e12[y] & 4096 ? 4096 : 16, c = js(e12, i, n, a, null, t, null, null, r?.injector ?? null, r?.embeddedViewInjector ?? null, r?.dehydratedView ?? null), l = e12[t.index]; + c[Oe] = l; + let u = e12[ue]; + return u !== null && (c[ue] = u.createEmbeddedView(i)), Ws(i, c, n), c; + } finally { + g(o); + } +} +function an(e12, t) { + return !t || t.firstChild === null || jl(e12); } -function Nt(e6, t, n, r, o = false) { +function cn(e12, t, n, r, o = false) { for (; n !== null; ) { if (n.type === 128) { n = o ? n.projectionNext : n.next; continue; } let i = t[n.index]; - i !== null && r.push(fe(i)), de(i) && Ec(i, r); + i !== null && r.push(ee(i)), re(i) && mu(i, r); let s = n.type; if (s & 8) - Nt(e6, t, n.child, r); + cn(e12, t, n.child, r); else if (s & 32) { - let a = dc(n, t), c; + let a = Vs(n, t), c; for (; c = a(); ) r.push(c); } else if (s & 16) { - let a = Ld(t, n); + let a = pu(t, n); if (Array.isArray(a)) r.push(...a); else { - let c = Te(t[Q]); - Nt(c[y], c, a, r, true); + let c = Ae(t[X]); + cn(c[m], c, a, r, true); } } n = o ? n.projectionNext : n.next; } return r; } -function Ec(e6, t) { - for (let n = oe; n < e6.length; n++) { - let r = e6[n], o = r[y].firstChild; - o !== null && Nt(r[y], r, o, t); +function mu(e12, t) { + for (let n = S; n < e12.length; n++) { + let r = e12[n], o = r[m].firstChild; + o !== null && cn(r[m], r, o, t); } - e6[En] !== e6[q] && t.push(e6[En]); + e12[Pe] !== e12[ne] && t.push(e12[Pe]); } -function Ic(e6) { - if (e6[vn] !== null) { - for (let t of e6[vn]) +function yu(e12) { + if (e12[or] !== null) { + for (let t of e12[or]) t.impl.addSequence(t); - e6[vn].length = 0; + e12[or].length = 0; } } -var Dc = []; -function ef(e6) { - return e6[F] ?? tf(e6); +var vu = []; +function sh(e12) { + return e12[G] ?? ah(e12); } -function tf(e6) { - let t = Dc.pop() ?? Object.create(rf); - return t.lView = e6, t; +function ah(e12) { + let t = vu.pop() ?? Object.create(lh); + return t.lView = e12, t; } -function nf(e6) { - e6.lView[F] !== e6 && (e6.lView = null, Dc.push(e6)); +function ch(e12) { + e12.lView[G] !== e12 && (e12.lView = null, vu.push(e12)); } -var rf = V(A({}, Gt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { - It(e6.lView); +var lh = A(N({}, lt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e12) => { + Mt(e12.lView); }, consumerOnSignalRead() { - this.lView[F] = this; + this.lView[G] = this; } }); -function of(e6) { - let t = e6[F] ?? Object.create(sf); - return t.lView = e6, t; -} -var sf = V(A({}, Gt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e6) => { - let t = Te(e6.lView); - for (; t && !wc(t[y]); ) - t = Te(t); - t && ao(t); +function uh(e12) { + let t = e12[G] ?? Object.create(dh); + return t.lView = e12, t; +} +var dh = A(N({}, lt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e12) => { + let t = Ae(e12.lView); + for (; t && !Eu(t[m]); ) + t = Ae(t); + t && Ii(t); }, consumerOnSignalRead() { - this.lView[F] = this; + this.lView[G] = this; } }); -function wc(e6) { - return e6.type !== 2; +function Eu(e12) { + return e12.type !== 2; } -function Cc(e6) { - if (e6[gt] === null) +function Iu(e12) { + if (e12[xe] === null) return; let t = true; for (; t; ) { let n = false; - for (let r of e6[gt]) + for (let r of e12[xe]) r.dirty && (n = true, r.zone === null || Zone.current === r.zone ? r.run() : r.zone.run(() => r.run())); - t = n && !!(e6[h] & 8192); + t = n && !!(e12[y] & 8192); } } -var af = 100; -function Tc(e6, t = 0) { - let r = e6[Z].rendererFactory, o = false; +var fh = 100; +function Du(e12, t = 0) { + let r = e12[le].rendererFactory, o = false; o || r.begin?.(); try { - cf(e6, t); + ph(e12, t); } finally { o || r.end?.(); } } -function cf(e6, t) { - let n = po(); +function ph(e12, t) { + let n = Mi(); try { - ho(true), Qo(e6, t); + Wt(true), is(e12, t); let r = 0; - for (; Et(e6); ) { - if (r === af) - throw new g(103, false); - r++, Qo(e6, 1); + for (; Xt(e12); ) { + if (r === fh) + throw new v(103, false); + r++, is(e12, 1); } } finally { - ho(n); + Wt(n); } } -function lf(e6, t, n, r) { - if (xe(t)) +function hh(e12, t, n, r) { + if (nt(t)) return; - let o = t[h], i = false, s = false; - Cn(t); + let o = t[y], i = false, s = false; + ur(t); let a = true, c = null, l = null; - i || (wc(e6) ? (l = ef(t), c = dr(l)) : Wt() === null ? (a = false, l = of(t), c = dr(l)) : t[F] && (qt(t[F]), t[F] = null)); + i || (Eu(e12) ? (l = sh(t), c = Vt(l)) : xn() === null ? (a = false, l = uh(t), c = Vt(l)) : t[G] && (ut(t[G]), t[G] = null)); try { - so(t), Hs(e6.bindingStartIndex), n !== null && yc(e6, t, n, 2, r); + Ei(t), Tc(e12.bindingStartIndex), n !== null && hu(e12, t, n, 2, r); let u = (o & 3) === 3; if (!i) if (u) { - let f = e6.preOrderCheckHooks; - f !== null && Nn(t, f, null); + let p = e12.preOrderCheckHooks; + p !== null && Ir(t, p, null); } else { - let f = e6.preOrderHooks; - f !== null && xn(t, f, 0, null), bo(t, 0); + let p = e12.preOrderHooks; + p !== null && Dr(t, p, 0, null), Li(t, 0); } - if (s || uf(t), Cc(t), Mc(t, 0), e6.contentQueries !== null && Ya(e6, t), !i) + if (s || gh(t), Iu(t), wu(t, 0), e12.contentQueries !== null && Ql(e12, t), !i) if (u) { - let f = e6.contentCheckHooks; - f !== null && Nn(t, f); + let p = e12.contentCheckHooks; + p !== null && Ir(t, p); } else { - let f = e6.contentHooks; - f !== null && xn(t, f, 1), bo(t, 1); + let p = e12.contentHooks; + p !== null && Dr(t, p, 1), Li(t, 1); } - ff(e6, t); - let d = e6.components; - d !== null && bc(t, d, 0); - let p = e6.viewQuery; - if (p !== null && Po(2, p, r), !i) + yh(e12, t); + let d = e12.components; + d !== null && Cu(t, d, 0); + let f = e12.viewQuery; + if (f !== null && Gi(2, f, r), !i) if (u) { - let f = e6.viewCheckHooks; - f !== null && Nn(t, f); + let p = e12.viewCheckHooks; + p !== null && Ir(t, p); } else { - let f = e6.viewHooks; - f !== null && xn(t, f, 2), bo(t, 2); + let p = e12.viewHooks; + p !== null && Dr(t, p, 2), Li(t, 2); } - if (e6.firstUpdatePass === true && (e6.firstUpdatePass = false), t[yn]) { - for (let f of t[yn]) - f(); - t[yn] = null; + if (e12.firstUpdatePass === true && (e12.firstUpdatePass = false), t[rr]) { + for (let p of t[rr]) + p(); + t[rr] = null; } - i || (Ic(t), t[h] &= -73); + i || (yu(t), t[y] &= -73); } catch (u) { - throw i || It(t), u; + throw i || Mt(t), u; } finally { - l !== null && (Hi(l, c), a && nf(l)), Tn(); + l !== null && (An(l, c), a && ch(l)), dr(); } } -function Mc(e6, t) { - for (let n = Ua(e6); n !== null; n = za(n)) - for (let r = oe; r < n.length; r++) { +function wu(e12, t) { + for (let n = Vl(e12); n !== null; n = Bl(n)) + for (let r = S; r < n.length; r++) { let o = n[r]; - Sc(o, t); + bu(o, t); } } -function uf(e6) { - for (let t = Ua(e6); t !== null; t = za(t)) { - if (!(t[h] & 2)) +function gh(e12) { + for (let t = Vl(e12); t !== null; t = Bl(t)) { + if (!(t[y] & 2)) continue; - let n = t[mt]; + let n = t[tt]; for (let r = 0; r < n.length; r++) { let o = n[r]; - ao(o); + Ii(o); } } } -function df(e6, t, n) { - M(w.ComponentStart); - let r = pe(t, e6); +function mh(e12, t, n) { + T(b.ComponentStart); + let r = be(t, e12); try { - Sc(r, n); + bu(r, n); } finally { - M(w.ComponentEnd, r[L]); + T(b.ComponentEnd, r[x]); } } -function Sc(e6, t) { - In(e6) && Qo(e6, t); +function bu(e12, t) { + sr(e12) && is(e12, t); } -function Qo(e6, t) { - let r = e6[y], o = e6[h], i = e6[F], s = !!(t === 0 && o & 16); - if (s ||= !!(o & 64 && t === 0), s ||= !!(o & 1024), s ||= !!(i?.dirty && fr(i)), s ||= false, i && (i.dirty = false), e6[h] &= -9217, s) - lf(r, e6, r.template, e6[L]); +function is(e12, t) { + let r = e12[m], o = e12[y], i = e12[G], s = !!(t === 0 && o & 16); + if (s ||= !!(o & 64 && t === 0), s ||= !!(o & 1024), s ||= !!(i?.dirty && Rn(i)), s ||= false, i && (i.dirty = false), e12[y] &= -9217, s) + hh(r, e12, r.template, e12[x]); else if (o & 8192) { - let a = v(null); + let a = g(null); try { - Cc(e6), Mc(e6, 1); + Iu(e12), wu(e12, 1); let c = r.components; - c !== null && bc(e6, c, 1), Ic(e6); + c !== null && Cu(e12, c, 1), yu(e12); } finally { - v(a); + g(a); } } } -function bc(e6, t, n) { +function Cu(e12, t, n) { for (let r = 0; r < t.length; r++) - df(e6, t[r], n); + mh(e12, t[r], n); } -function ff(e6, t) { - let n = e6.hostBindingOpCodes; +function yh(e12, t) { + let n = e12.hostBindingOpCodes; if (n !== null) try { for (let r = 0; r < n.length; r++) { let o = n[r]; if (o < 0) - he(~o); + je(~o); else { let i = o, s = n[++r], a = n[++r]; - Bs(s, i); + Sc(s, i); let c = t[i]; - M(w.HostBindingsUpdateStart, c); + T(b.HostBindingsUpdateStart, c); try { a(2, c); } finally { - M(w.HostBindingsUpdateEnd, c); + T(b.HostBindingsUpdateEnd, c); } } } } finally { - he(-1); + je(-1); } } -function _c(e6, t) { - let n = po() ? 64 : 1088; - for (e6[Z].changeDetectionScheduler?.notify(t); e6; ) { - e6[h] |= n; - let r = Te(e6); - if (Ze(e6) && !r) - return e6; - e6 = r; +function Gs(e12, t) { + let n = Mi() ? 64 : 1088; + for (e12[le].changeDetectionScheduler?.notify(t); e12; ) { + e12[y] |= n; + let r = Ae(e12); + if (Tt(e12) && !r) + return e12; + e12 = r; } return null; } -function pf(e6, t) { - if (e6.length <= oe) +function Tu(e12, t, n, r) { + return [e12, true, 0, t, null, r, null, n, null, null]; +} +function Mu(e12, t) { + let n = S + t; + if (n < e12.length) + return e12[n]; +} +function Zr(e12, t, n, r = true) { + let o = t[m]; + if (vh(o, t, e12, n), r) { + let s = os(n, e12), a = t[O], c = a.parentNode(e12[Pe]); + c !== null && Ap(o, e12[J], a, t, c, s); + } + let i = t[It]; + i !== null && i.firstChild !== null && (i.firstChild = null); +} +function _u(e12, t) { + let n = ln(e12, t); + return n !== void 0 && Wr(n[m], n), n; +} +function ln(e12, t) { + if (e12.length <= S) return; - let n = oe + t, r = e6[n]; + let n = S + t, r = e12[n]; if (r) { - let o = r[ht]; - o !== null && o !== e6 && fi(o, r), t > 0 && (e6[n - 1][ne] = r[ne]); - let i = Kr(e6, oe + t); - Td(r[y], r); - let s = i[mn]; - s !== null && s.detachView(i[y]), r[O] = null, r[ne] = null, r[h] &= -129; + let o = r[Oe]; + o !== null && o !== e12 && $s(o, r), t > 0 && (e12[n - 1][K] = r[K]); + let i = Zt(e12, S + t); + xp(r[m], r); + let s = i[ue]; + s !== null && s.detachView(i[m]), r[R] = null, r[K] = null, r[y] &= -129; } return r; } -function hf(e6, t) { - let n = e6[mt], r = t[O]; - if (ue(r)) - e6[h] |= 2; +function vh(e12, t, n, r) { + let o = S + r, i = n.length; + r > 0 && (n[o - 1][K] = t), r < i - S ? (t[K] = n[o], ci(n, S + r, t)) : (n.push(t), t[K] = null), t[R] = n; + let s = t[Oe]; + s !== null && n !== s && Su(s, t); + let a = t[ue]; + a !== null && a.insertView(e12), ar(t), t[y] |= 128; +} +function Su(e12, t) { + let n = e12[tt], r = t[R]; + if (Le(r)) + e12[y] |= 2; else { - let o = r[O][Q]; - t[Q] !== o && (e6[h] |= 2); + let o = r[R][X]; + t[X] !== o && (e12[y] |= 2); } - n === null ? e6[mt] = [t] : n.push(t); + n === null ? e12[tt] = [t] : n.push(t); } -var On = class { +var Ot = class { _lView; _cdRefInjectingView; _appRef = null; _attachedToViewContainer = false; exhaustive; get rootNodes() { - let t = this._lView, n = t[y]; - return Nt(n, t, n.firstChild, []); + let t = this._lView, n = t[m]; + return cn(n, t, n.firstChild, []); } constructor(t, n) { this._lView = t, this._cdRefInjectingView = n; } get context() { - return this._lView[L]; + return this._lView[x]; } set context(t) { - this._lView[L] = t; + this._lView[x] = t; } get destroyed() { - return xe(this._lView); + return nt(this._lView); } destroy() { if (this._appRef) this._appRef.detachView(this); else if (this._attachedToViewContainer) { - let t = this._lView[O]; - if (de(t)) { - let n = t[Ms], r = n ? n.indexOf(this) : -1; - r > -1 && (pf(t, r), Kr(n, r)); + let t = this._lView[R]; + if (re(t)) { + let n = t[Jt], r = n ? n.indexOf(this) : -1; + r > -1 && (ln(t, r), Zt(n, r)); } this._attachedToViewContainer = false; } - Sd(this._lView[y], this._lView); + Wr(this._lView[m], this._lView); } onDestroy(t) { - lo(this._lView, t); + Di(this._lView, t); } markForCheck() { - _c(this._cdRefInjectingView || this._lView, 4); + Gs(this._cdRefInjectingView || this._lView, 4); } detach() { - this._lView[h] &= -129; + this._lView[y] &= -129; } reattach() { - co(this._lView), this._lView[h] |= 128; + ar(this._lView), this._lView[y] |= 128; } detectChanges() { - this._lView[h] |= 1024, Tc(this._lView); + this._lView[y] |= 1024, Du(this._lView); } checkNoChanges() { } attachToViewContainerRef() { if (this._appRef) - throw new g(902, false); + throw new v(902, false); this._attachedToViewContainer = true; } detachFromAppRef() { this._appRef = null; - let t = Ze(this._lView), n = this._lView[ht]; - n !== null && !t && fi(n, this._lView), gc(this._lView[y], this._lView); + let t = Tt(this._lView), n = this._lView[Oe]; + n !== null && !t && $s(n, this._lView), fu(this._lView[m], this._lView); } attachToAppRef(t) { if (this._attachedToViewContainer) - throw new g(902, false); + throw new v(902, false); this._appRef = t; - let n = Ze(this._lView), r = this._lView[ht]; - r !== null && !n && hf(r, this._lView), co(this._lView); + let n = Tt(this._lView), r = this._lView[Oe]; + r !== null && !n && Su(r, this._lView), ar(this._lView); } }; -function gi(e6, t, n, r, o) { - let i = e6.data[t]; +var un = /* @__PURE__ */ (() => { + class e12 { + _declarationLView; + _declarationTContainer; + elementRef; + static __NG_ELEMENT_ID__ = Eh; + constructor(n, r, o) { + this._declarationLView = n, this._declarationTContainer = r, this.elementRef = o; + } + get ssrId() { + return this._declarationTContainer.tView?.ssrId || null; + } + createEmbeddedView(n, r) { + return this.createEmbeddedViewImpl(n, r); + } + createEmbeddedViewImpl(n, r, o) { + let i = qr(this._declarationLView, this._declarationTContainer, n, { embeddedViewInjector: r, dehydratedView: o }); + return new Ot(i); + } + } + return e12; +})(); +function Eh() { + return qs(pe(), M()); +} +function qs(e12, t) { + return e12.type & 4 ? new un(t, e12, Pt(e12, t)) : null; +} +function Qr(e12, t, n, r, o) { + let i = e12.data[t]; if (i === null) - i = gf(e6, t, n, r, o), Vs() && (i.flags |= 32); + i = Ih(e12, t, n, r, o), _c() && (i.flags |= 32); else if (i.type & 64) { i.type = n, i.value = r, i.attrs = o; - let s = Fs(); + let s = bc(); i.injectorIndex = s === null ? -1 : s.injectorIndex; } - return Dt(i, true), i; + return _t(i, true), i; } -function gf(e6, t, n, r, o) { - let i = uo(), s = fo(), a = s ? i : i && i.parent, c = e6.data[t] = yf(e6, a, n, t, r, o); - return mf(e6, c, i, s), c; +function Ih(e12, t, n, r, o) { + let i = Ci(), s = Ti(), a = s ? i : i && i.parent, c = e12.data[t] = wh(e12, a, n, t, r, o); + return Dh(e12, c, i, s), c; } -function mf(e6, t, n, r) { - e6.firstChild === null && (e6.firstChild = t), n !== null && (r ? n.child == null && t.parent !== null && (n.child = t) : n.next === null && (n.next = t, t.prev = n)); +function Dh(e12, t, n, r) { + e12.firstChild === null && (e12.firstChild = t), n !== null && (r ? n.child == null && t.parent !== null && (n.child = t) : n.next === null && (n.next = t, t.prev = n)); } -function yf(e6, t, n, r, o, i) { +function wh(e12, t, n, r, o, i) { let s = t ? t.injectorIndex : -1, a = 0; - return Os() && (a |= 128), { type: n, index: r, insertBeforeIndex: null, injectorIndex: s, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, controlDirectiveIndex: -1, customControlIndex: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: o, attrs: i, mergedAttrs: null, localNames: null, initialInputs: null, inputs: null, hostDirectiveInputs: null, outputs: null, hostDirectiveOutputs: null, directiveToIndex: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 }; + return Ic() && (a |= 128), { type: n, index: r, insertBeforeIndex: null, injectorIndex: s, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, controlDirectiveIndex: -1, customControlIndex: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: o, attrs: i, mergedAttrs: null, localNames: null, initialInputs: null, inputs: null, hostDirectiveInputs: null, outputs: null, hostDirectiveOutputs: null, directiveToIndex: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 }; +} +function bh(e12) { + let t = e12[gi] ?? [], r = e12[R][O], o = []; + for (let i of t) + i.data[Wl] !== void 0 ? o.push(i) : Ch(i, r); + e12[gi] = o; +} +function Ch(e12, t) { + let n = 0, r = e12.firstChild; + if (r) { + let o = e12.data[zl]; + for (; n < o; ) { + let i = r.nextSibling; + ou(t, r, false), r = i, n++; + } + } +} +var Th = () => null; +var Mh = () => null; +function ss(e12, t) { + return Th(e12, t); } -var Nc = class { +function Nu(e12, t, n) { + return Mh(e12, t, n); +} +var xu = class { }; -var qn = class { +var Yr = class { }; -var Yo = class { +var as = class { resolveComponentFactory(t) { - throw new g(917, false); + throw new v(917, false); } }; -var Zn = class { - static NULL = new Yo(); +var Kr = class { + static NULL = new as(); }; -var Re = class { +var st = class { }; -var xc = (() => { - class e6 { - static \u0275prov = S({ token: e6, providedIn: "root", factory: () => null }); +var Au = (() => { + class e12 { + static \u0275prov = _({ token: e12, providedIn: "root", factory: () => null }); } - return e6; + return e12; })(); -var An = {}; -var Ko = class { +var br = {}; +var cs = class { injector; parentInjector; constructor(t, n) { this.injector = t, this.parentInjector = n; } get(t, n, r) { - let o = this.injector.get(t, An, r); - return o !== An || n === An ? o : this.parentInjector.get(t, n, r); + let o = this.injector.get(t, br, r); + return o !== br || n === br ? o : this.parentInjector.get(t, n, r); } }; -function Ln(e6, t, n) { - let r = n ? e6.styles : null, o = n ? e6.classes : null, i = 0; +function xr(e12, t, n) { + let r = n ? e12.styles : null, o = n ? e12.classes : null, i = 0; if (t !== null) for (let s = 0; s < t.length; s++) { let a = t[s]; if (typeof a == "number") i = a; else if (i == 1) - o = Br(o, a); + o = Jo(o, a); else if (i == 2) { let c = a, l = t[++s]; - r = Br(r, c + ": " + l + ";"); + r = Jo(r, c + ": " + l + ";"); } } - n ? e6.styles = r : e6.stylesWithoutHost = r, n ? e6.classes = o : e6.classesWithoutHost = o; + n ? e12.styles = r : e12.stylesWithoutHost = r, n ? e12.classes = o : e12.classesWithoutHost = o; } -function kt(e6, t = 0) { - let n = H(); +function Ru(e12, t = 0) { + let n = M(); if (n === null) - return I(e6, t); - let r = Qe(); - return Fa(r, n, k(e6), t); + return w(e12, t); + let r = pe(); + return Pl(r, n, W(e12), t); } -function vf(e6, t, n, r, o) { - let i = r === null ? null : { "": -1 }, s = o(e6, n); +function _h(e12, t, n, r, o) { + let i = r === null ? null : { "": -1 }, s = o(e12, n); if (s !== null) { let a = s, c = null, l = null; for (let u of s) @@ -3629,82 +4099,82 @@ function vf(e6, t, n, r, o) { [a, c, l] = u.resolveHostDirectives(s); break; } - Df(e6, t, n, a, i, c, l); + xh(e12, t, n, a, i, c, l); } - i !== null && r !== null && Ef(n, r, i); + i !== null && r !== null && Sh(n, r, i); } -function Ef(e6, t, n) { - let r = e6.localNames = []; +function Sh(e12, t, n) { + let r = e12.localNames = []; for (let o = 0; o < t.length; o += 2) { let i = n[t[o + 1]]; if (i == null) - throw new g(-301, false); + throw new v(-301, false); r.push(t[o], i); } } -function If(e6, t, n) { - t.componentOffset = n, (e6.components ??= []).push(t.index); +function Nh(e12, t, n) { + t.componentOffset = n, (e12.components ??= []).push(t.index); } -function Df(e6, t, n, r, o, i, s) { +function xh(e12, t, n, r, o, i, s) { let a = r.length, c = null; - for (let p = 0; p < a; p++) { - let f = r[p]; - c === null && qe(f) && (c = f, If(e6, n, p)), Su(Ra(n, t), e6, f.type); + for (let f = 0; f < a; f++) { + let p = r[f]; + c === null && Ct(p) && (c = p, Nh(e12, n, f)), Af(Al(n, t), e12, p.type); } - bf(n, e6.data.length, a), c?.viewProvidersResolver && c.viewProvidersResolver(c); - for (let p = 0; p < a; p++) { - let f = r[p]; - f.providersResolver && f.providersResolver(f); + Lh(n, e12.data.length, a), c?.viewProvidersResolver && c.viewProvidersResolver(c); + for (let f = 0; f < a; f++) { + let p = r[f]; + p.providersResolver && p.providersResolver(p); } - let l = false, u = false, d = lc(e6, t, a, null); + let l = false, u = false, d = au(e12, t, a, null); a > 0 && (n.directiveToIndex = /* @__PURE__ */ new Map()); - for (let p = 0; p < a; p++) { - let f = r[p]; - if (n.mergedAttrs = ti(n.mergedAttrs, f.hostAttrs), Cf(e6, n, t, d, f), Sf(d, f, o), s !== null && s.has(f)) { - let [sr, el] = s.get(f); - n.directiveToIndex.set(f.type, [d, sr + n.directiveStart, el + n.directiveStart]); + for (let f = 0; f < a; f++) { + let p = r[f]; + if (n.mergedAttrs = Fr(n.mergedAttrs, p.hostAttrs), Rh(e12, n, t, d, p), Ph(d, p, o), s !== null && s.has(p)) { + let [k, P] = s.get(p); + n.directiveToIndex.set(p.type, [d, k + n.directiveStart, P + n.directiveStart]); } else - (i === null || !i.has(f)) && n.directiveToIndex.set(f.type, d); - f.contentQueries !== null && (n.flags |= 4), (f.hostBindings !== null || f.hostAttrs !== null || f.hostVars !== 0) && (n.flags |= 64); - let T = f.type.prototype; - !l && (T.ngOnChanges || T.ngOnInit || T.ngDoCheck) && ((e6.preOrderHooks ??= []).push(n.index), l = true), !u && (T.ngOnChanges || T.ngDoCheck) && ((e6.preOrderCheckHooks ??= []).push(n.index), u = true), d++; + (i === null || !i.has(p)) && n.directiveToIndex.set(p.type, d); + p.contentQueries !== null && (n.flags |= 4), (p.hostBindings !== null || p.hostAttrs !== null || p.hostVars !== 0) && (n.flags |= 64); + let h = p.type.prototype; + !l && (h.ngOnChanges || h.ngOnInit || h.ngDoCheck) && ((e12.preOrderHooks ??= []).push(n.index), l = true), !u && (h.ngOnChanges || h.ngDoCheck) && ((e12.preOrderCheckHooks ??= []).push(n.index), u = true), d++; } - wf(e6, n, i); + Ah(e12, n, i); } -function wf(e6, t, n) { +function Ah(e12, t, n) { for (let r = t.directiveStart; r < t.directiveEnd; r++) { - let o = e6.data[r]; + let o = e12.data[r]; if (n === null || !n.has(o)) - Ia(0, t, o, r), Ia(1, t, o, r), wa(t, r, false); + fl(0, t, o, r), fl(1, t, o, r), hl(t, r, false); else { let i = n.get(o); - Da(0, t, i, r), Da(1, t, i, r), wa(t, r, true); + pl(0, t, i, r), pl(1, t, i, r), hl(t, r, true); } } } -function Ia(e6, t, n, r) { - let o = e6 === 0 ? n.inputs : n.outputs; +function fl(e12, t, n, r) { + let o = e12 === 0 ? n.inputs : n.outputs; for (let i in o) if (o.hasOwnProperty(i)) { let s; - e6 === 0 ? s = t.inputs ??= {} : s = t.outputs ??= {}, s[i] ??= [], s[i].push(r), Ac(t, i); + e12 === 0 ? s = t.inputs ??= {} : s = t.outputs ??= {}, s[i] ??= [], s[i].push(r), Ou(t, i); } } -function Da(e6, t, n, r) { - let o = e6 === 0 ? n.inputs : n.outputs; +function pl(e12, t, n, r) { + let o = e12 === 0 ? n.inputs : n.outputs; for (let i in o) if (o.hasOwnProperty(i)) { let s = o[i], a; - e6 === 0 ? a = t.hostDirectiveInputs ??= {} : a = t.hostDirectiveOutputs ??= {}, a[s] ??= [], a[s].push(r, i), Ac(t, s); + e12 === 0 ? a = t.hostDirectiveInputs ??= {} : a = t.hostDirectiveOutputs ??= {}, a[s] ??= [], a[s].push(r, i), Ou(t, s); } } -function Ac(e6, t) { - t === "class" ? e6.flags |= 8 : t === "style" && (e6.flags |= 16); +function Ou(e12, t) { + t === "class" ? e12.flags |= 8 : t === "style" && (e12.flags |= 16); } -function wa(e6, t, n) { - let { attrs: r, inputs: o, hostDirectiveInputs: i } = e6; - if (r === null || !n && o === null || n && i === null || dd(e6)) { - e6.initialInputs ??= [], e6.initialInputs.push(null); +function hl(e12, t, n) { + let { attrs: r, inputs: o, hostDirectiveInputs: i } = e12; + if (r === null || !n && o === null || n && i === null || vp(e12)) { + e12.initialInputs ??= [], e12.initialInputs.push(null); return; } let s = null, a = 0; @@ -3735,107 +4205,165 @@ function wa(e6, t, n) { } a += 2; } - e6.initialInputs ??= [], e6.initialInputs.push(s); + e12.initialInputs ??= [], e12.initialInputs.push(s); } -function Cf(e6, t, n, r, o) { - e6.data[r] = o; - let i = o.factory || (o.factory = $e(o.type, true)), s = new bt(i, qe(o), kt, null); - e6.blueprint[r] = s, n[r] = s, Tf(e6, t, r, lc(e6, n, o.hostVars, tt), o); +function Rh(e12, t, n, r, o) { + e12.data[r] = o; + let i = o.factory || (o.factory = vt(o.type, true)), s = new sn(i, Ct(o), Ru, null); + e12.blueprint[r] = s, n[r] = s, Oh(e12, t, r, au(e12, n, o.hostVars, Se), o); } -function Tf(e6, t, n, r, o) { +function Oh(e12, t, n, r, o) { let i = o.hostBindings; if (i) { - let s = e6.hostBindingOpCodes; - s === null && (s = e6.hostBindingOpCodes = []); + let s = e12.hostBindingOpCodes; + s === null && (s = e12.hostBindingOpCodes = []); let a = ~t.index; - Mf(s) != a && s.push(a), s.push(n, r, i); + kh(s) != a && s.push(a), s.push(n, r, i); } } -function Mf(e6) { - let t = e6.length; +function kh(e12) { + let t = e12.length; for (; t > 0; ) { - let n = e6[--t]; + let n = e12[--t]; if (typeof n == "number" && n < 0) return n; } return 0; } -function Sf(e6, t, n) { +function Ph(e12, t, n) { if (n) { if (t.exportAs) for (let r = 0; r < t.exportAs.length; r++) - n[t.exportAs[r]] = e6; - qe(t) && (n[""] = e6); + n[t.exportAs[r]] = e12; + Ct(t) && (n[""] = e12); } } -function bf(e6, t, n) { - e6.flags |= 1, e6.directiveStart = t, e6.directiveEnd = t + n, e6.providerIndexes = t; +function Lh(e12, t, n) { + e12.flags |= 1, e12.directiveStart = t, e12.directiveEnd = t + n, e12.providerIndexes = t; } -function _f(e6, t, n, r, o, i, s, a) { - let c = t[y], l = c.consts, u = vt(l, s), d = gi(c, e6, n, r, u); - return i && vf(c, t, d, vt(l, a), o), d.mergedAttrs = ti(d.mergedAttrs, d.attrs), d.attrs !== null && Ln(d, d.attrs, false), d.mergedAttrs !== null && Ln(d, d.mergedAttrs, true), c.queries !== null && c.queries.elementStart(c, d), d; +function Fh(e12, t, n, r, o, i, s, a) { + let c = t[m], l = c.consts, u = fe(l, s), d = Qr(c, e12, n, r, u); + return i && _h(c, t, d, fe(l, a), o), d.mergedAttrs = Fr(d.mergedAttrs, d.attrs), d.attrs !== null && xr(d, d.attrs, false), d.mergedAttrs !== null && xr(d, d.mergedAttrs, true), c.queries !== null && c.queries.elementStart(c, d), d; } -function Nf(e6, t) { - yu(e6, t), oo(t) && e6.queries.elementEnd(t); +function jh(e12, t) { + bf(e12, t), mi(t) && e12.queries.elementEnd(t); } -function xf(e6, t, n, r, o, i) { - let s = t.consts, a = vt(s, o), c = gi(t, e6, n, r, a); - if (c.mergedAttrs = ti(c.mergedAttrs, c.attrs), i != null) { - let l = vt(s, i); +function Hh(e12, t, n, r, o, i) { + let s = t.consts, a = fe(s, o), c = Qr(t, e12, n, r, a); + if (c.mergedAttrs = Fr(c.mergedAttrs, c.attrs), i != null) { + let l = fe(s, i); c.localNames = []; for (let u = 0; u < l.length; u += 2) c.localNames.push(l[u], -1); } - return c.attrs !== null && Ln(c, c.attrs, false), c.mergedAttrs !== null && Ln(c, c.mergedAttrs, true), t.queries !== null && t.queries.elementStart(t, c), c; + return c.attrs !== null && xr(c, c.attrs, false), c.mergedAttrs !== null && xr(c, c.mergedAttrs, true), t.queries !== null && t.queries.elementStart(t, c), c; } -function Rc(e6, t, n) { - if (n === tt) +function yn(e12, t, n) { + if (n === Se) return false; - let r = e6[t]; - return Object.is(r, n) ? false : (e6[t] = n, true); + let r = e12[t]; + return Object.is(r, n) ? false : (e12[t] = n, true); +} +function Vh(e12, t, n) { + return function r(o) { + let i = r.__ngNativeEl__; + i !== void 0 && Uf(o, i); + let s = bt(e12) ? be(e12.index, t) : t; + Gs(s, 5); + let a = t[x], c = gl(t, a, n, o), l = r.__ngNextListenerFn__; + for (; l; ) + c = gl(t, a, l, o) && c, l = l.__ngNextListenerFn__; + return c; + }; +} +function gl(e12, t, n, r) { + let o = g(null); + try { + return T(b.OutputStart, t, n), n(r) !== false; + } catch (i) { + return th(e12, i), false; + } finally { + T(b.OutputEnd, t, n), g(o); + } +} +function Bh(e12, t, n, r, o, i, s, a) { + let c = yi(e12), l = false, u = null; + if (!r && c && (u = Uh(t, n, i, e12.index)), u !== null) { + let d = u.__ngLastListenerFn__ || u; + d.__ngNextListenerFn__ = s, u.__ngLastListenerFn__ = s, l = true; + } else { + let d = de(e12, n), f = r ? r(d) : d; + Wf(n, f, i, a), r || (a.__ngNativeEl__ = d); + let p = o.listen(f, i, a); + if (!$h(i)) { + let h = r ? (k) => r(ee(k[e12.index])) : e12.index; + zh(h, t, n, i, a, p, false); + } + } + return l; } -var Jo = Symbol("BINDING"); -function Af(e6) { - return e6.debugInfo?.className || e6.type.name || null; +function $h(e12) { + return e12.startsWith("animation") || e12.startsWith("transition"); } -var Xo = class extends Zn { +function Uh(e12, t, n, r) { + let o = e12.cleanup; + if (o != null) + for (let i = 0; i < o.length - 1; i += 2) { + let s = o[i]; + if (s === n && o[i + 1] === r) { + let a = t[Dt], c = o[i + 2]; + return a && a.length > c ? a[c] : null; + } + typeof s == "string" && (i += 2); + } + return null; +} +function zh(e12, t, n, r, o, i, s) { + let a = t.firstCreatePass ? bi(t) : null, c = wi(n), l = c.length; + c.push(o, i), a && a.push(r, e12, l, (l + 1) * (s ? -1 : 1)); +} +var ls = Symbol("BINDING"); +function Wh(e12) { + return e12.debugInfo?.className || e12.type.name || null; +} +var us = class extends Kr { ngModule; constructor(t) { super(), this.ngModule = t; } resolveComponentFactory(t) { - let n = ut(t); - return new Pn(n, this.ngModule); + let n = Ye(t); + return new dn(n, this.ngModule); } }; -function Rf(e6) { - return Object.keys(e6).map((t) => { - let [n, r, o] = e6[t], i = { propName: n, templateName: t, isSignal: (r & Gn.SignalBased) !== 0 }; +function Gh(e12) { + return Object.keys(e12).map((t) => { + let [n, r, o] = e12[t], i = { propName: n, templateName: t, isSignal: (r & zr.SignalBased) !== 0 }; return o && (i.transform = o), i; }); } -function kf(e6) { - return Object.keys(e6).map((t) => ({ propName: e6[t], templateName: t })); +function qh(e12) { + return Object.keys(e12).map((t) => ({ propName: e12[t], templateName: t })); } -function Of(e6, t, n) { - let r = t instanceof $ ? t : t?.injector; - return r && e6.getStandaloneInjector !== null && (r = e6.getStandaloneInjector(r) || r), r ? new Ko(n, r) : n; +function Zh(e12, t, n) { + let r = t instanceof Q ? t : t?.injector; + return r && e12.getStandaloneInjector !== null && (r = e12.getStandaloneInjector(r) || r), r ? new cs(n, r) : n; } -function Lf(e6) { - let t = e6.get(Re, null); +function Qh(e12) { + let t = e12.get(st, null); if (t === null) - throw new g(407, false); - let n = e6.get(xc, null), r = e6.get(Ue, null), o = e6.get(nt, null, { optional: true }); + throw new v(407, false); + let n = e12.get(Au, null), r = e12.get(Ze, null), o = e12.get(Lt, null, { optional: true }); return { rendererFactory: t, sanitizer: n, changeDetectionScheduler: r, ngReflect: false, tracingService: o }; } -function Pf(e6, t) { - let n = kc(e6); - return rc(t, n, n === "svg" ? bs : n === "math" ? _s : null); +function Yh(e12, t) { + let n = ku(e12); + return nu(t, n, n === "svg" ? uc : n === "math" ? dc : null); } -function kc(e6) { - return (e6.selectors[0][0] || "div").toLowerCase(); +function ku(e12) { + return (e12.selectors[0][0] || "div").toLowerCase(); } -var Pn = class extends qn { +var dn = class extends Yr { componentDef; ngModule; selector; @@ -3845,77 +4373,77 @@ var Pn = class extends qn { cachedInputs = null; cachedOutputs = null; get inputs() { - return this.cachedInputs ??= Rf(this.componentDef.inputs), this.cachedInputs; + return this.cachedInputs ??= Gh(this.componentDef.inputs), this.cachedInputs; } get outputs() { - return this.cachedOutputs ??= kf(this.componentDef.outputs), this.cachedOutputs; + return this.cachedOutputs ??= qh(this.componentDef.outputs), this.cachedOutputs; } constructor(t, n) { - super(), this.componentDef = t, this.ngModule = n, this.componentType = t.type, this.selector = pd(t.selectors), this.ngContentSelectors = t.ngContentSelectors ?? [], this.isBoundToModule = !!n; + super(), this.componentDef = t, this.ngModule = n, this.componentType = t.type, this.selector = Ip(t.selectors), this.ngContentSelectors = t.ngContentSelectors ?? [], this.isBoundToModule = !!n; } create(t, n, r, o, i, s) { - M(w.DynamicComponentStart); - let a = v(null); + T(b.DynamicComponentStart); + let a = g(null); try { - let c = this.componentDef, l = Of(c, o || this.ngModule, t), u = Lf(l), d = u.tracingService; - return d && d.componentCreate ? d.componentCreate(Af(c), () => this.createComponentRef(u, l, n, r, i, s)) : this.createComponentRef(u, l, n, r, i, s); + let c = this.componentDef, l = Zh(c, o || this.ngModule, t), u = Qh(l), d = u.tracingService; + return d && d.componentCreate ? d.componentCreate(Wh(c), () => this.createComponentRef(u, l, n, r, i, s)) : this.createComponentRef(u, l, n, r, i, s); } finally { - v(a); + g(a); } } createComponentRef(t, n, r, o, i, s) { - let a = this.componentDef, c = Ff(o, a, s, i), l = t.rendererFactory.createRenderer(null, a), u = o ? Vd(l, o, a.encapsulation, n) : Pf(a, l), d = s?.some(Ca) || i?.some((T) => typeof T != "function" && T.bindings.some(Ca)), p = ac(null, c, null, 512 | cc(a), null, null, t, l, n, null, Qa(u, n, true)); - p[U] = u, Cn(p); - let f = null; + let a = this.componentDef, c = Kh(o, a, s, i), l = t.rendererFactory.createRenderer(null, a), u = o ? Wp(l, o, a.encapsulation, n) : Yh(a, l), d = s?.some(ml) || i?.some((h) => typeof h != "function" && h.bindings.some(ml)), f = js(null, c, null, 512 | su(a), null, null, t, l, n, null, Zl(u, n, true)); + f[F] = u, ur(f); + let p = null; try { - let T = _f(U, p, 2, "#host", () => c.directiveRegistry, true, 0); - ic(l, u, T), _t(u, p), jd(c, p, T), Hu(c, T, p), Nf(c, T), r !== void 0 && Hf(T, this.ngContentSelectors, r), f = pe(T.index, p), p[L] = f[L], vc(c, p, null); - } catch (T) { - throw f !== null && Oo(f), Oo(p), T; + let h = Fh(F, f, 2, "#host", () => c.directiveRegistry, true, 0); + iu(l, u, h), Rt(u, f), zp(c, f, h), qf(c, h, f), jh(c, h), r !== void 0 && Xh(h, this.ngContentSelectors, r), p = be(h.index, f), f[x] = p[x], Ws(c, f, null); + } catch (h) { + throw p !== null && zi(p), zi(f), h; } finally { - M(w.DynamicComponentEnd), Tn(); + T(b.DynamicComponentEnd), dr(); } - return new Fn(this.componentType, p, !!d); + return new Ar(this.componentType, f, !!d); } }; -function Ff(e6, t, n, r) { - let o = e6 ? ["ng-version", "21.2.11"] : hd(t.selectors[0]), i = null, s = null, a = 0; +function Kh(e12, t, n, r) { + let o = e12 ? ["ng-version", "21.2.11"] : Dp(t.selectors[0]), i = null, s = null, a = 0; if (n) for (let u of n) - a += u[Jo].requiredVars, u.create && (u.targetIdx = 0, (i ??= []).push(u)), u.update && (u.targetIdx = 0, (s ??= []).push(u)); + a += u[ls].requiredVars, u.create && (u.targetIdx = 0, (i ??= []).push(u)), u.update && (u.targetIdx = 0, (s ??= []).push(u)); if (r) for (let u = 0; u < r.length; u++) { let d = r[u]; if (typeof d != "function") - for (let p of d.bindings) { - a += p[Jo].requiredVars; - let f = u + 1; - p.create && (p.targetIdx = f, (i ??= []).push(p)), p.update && (p.targetIdx = f, (s ??= []).push(p)); + for (let f of d.bindings) { + a += f[ls].requiredVars; + let p = u + 1; + f.create && (f.targetIdx = p, (i ??= []).push(f)), f.update && (f.targetIdx = p, (s ??= []).push(f)); } } let c = [t]; if (r) for (let u of r) { - let d = typeof u == "function" ? u : u.type, p = Gr(d); - c.push(p); + let d = typeof u == "function" ? u : u.type, f = ri(d); + c.push(f); } - return sc(0, null, jf(i, s), 1, a, c, null, null, null, [o], null); + return Fs(0, null, Jh(i, s), 1, a, c, null, null, null, [o], null); } -function jf(e6, t) { - return !e6 && !t ? null : (n) => { - if (n & 1 && e6) - for (let r of e6) +function Jh(e12, t) { + return !e12 && !t ? null : (n) => { + if (n & 1 && e12) + for (let r of e12) r.create(); if (n & 2 && t) for (let r of t) r.update(); }; } -function Ca(e6) { - let t = e6[Jo].kind; +function ml(e12) { + let t = e12[ls].kind; return t === "input" || t === "twoWay"; } -var Fn = class extends Nc { +var Ar = class extends xu { _rootLView; _hasInputBindings; instance; @@ -3926,20 +4454,20 @@ var Fn = class extends Nc { previousInputValues = null; _tNode; constructor(t, n, r) { - super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = io(n[y], U), this.location = Va(this._tNode, n), this.instance = pe(this._tNode.index, n)[L], this.hostView = this.changeDetectorRef = new On(n, void 0), this.componentType = t; + super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = ir(n[m], F), this.location = Pt(this._tNode, n), this.instance = be(this._tNode.index, n)[x], this.hostView = this.changeDetectorRef = new Ot(n, void 0), this.componentType = t; } setInput(t, n) { this._hasInputBindings; let r = this._tNode; if (this.previousInputValues ??= /* @__PURE__ */ new Map(), this.previousInputValues.has(t) && Object.is(this.previousInputValues.get(t), n)) return; - let o = this._rootLView, i = Yd(r, o[y], o, t, n); + let o = this._rootLView, i = nh(r, o[m], o, t, n); this.previousInputValues.set(t, n); - let s = pe(r.index, o); - _c(s, 1); + let s = be(r.index, o); + Gs(s, 1); } get injector() { - return new kn(this._tNode, this._rootLView); + return new ot(this._tNode, this._rootLView); } destroy() { this.hostView.destroy(); @@ -3948,22 +4476,383 @@ var Fn = class extends Nc { this.hostView.onDestroy(t); } }; -function Hf(e6, t, n) { - let r = e6.projection = []; +function Xh(e12, t, n) { + let r = e12.projection = []; for (let o = 0; o < t.length; o++) { let i = n[o]; r.push(i != null && i.length ? Array.from(i) : null); } } -var jn = class { +var Jr = /* @__PURE__ */ (() => { + class e12 { + static __NG_ELEMENT_ID__ = eg; + } + return e12; +})(); +function eg() { + let e12 = pe(); + return Pu(e12, M()); +} +var ds = class e4 extends Jr { + _lContainer; + _hostTNode; + _hostLView; + constructor(t, n, r) { + super(), this._lContainer = t, this._hostTNode = n, this._hostLView = r; + } + get element() { + return Pt(this._hostTNode, this._hostLView); + } + get injector() { + return new ot(this._hostTNode, this._hostLView); + } + get parentInjector() { + let t = _s(this._hostTNode, this._hostLView); + if (Sl(t)) { + let n = Mr(t, this._hostLView), r = Tr(t), o = n[m].data[r + 8]; + return new ot(o, n); + } else + return new ot(null, this._hostLView); + } + clear() { + for (; this.length > 0; ) + this.remove(this.length - 1); + } + get(t) { + let n = yl(this._lContainer); + return n !== null && n[t] || null; + } + get length() { + return this._lContainer.length - S; + } + createEmbeddedView(t, n, r) { + let o, i; + typeof r == "number" ? o = r : r != null && (o = r.index, i = r.injector); + let s = ss(this._lContainer, t.ssrId), a = t.createEmbeddedViewImpl(n || {}, i, s); + return this.insertImpl(a, o, an(this._hostTNode, s)), a; + } + createComponent(t, n, r, o, i, s, a) { + let c = t && !yf(t), l; + if (c) + l = n; + else { + let P = n || {}; + l = P.index, r = P.injector, o = P.projectableNodes, i = P.environmentInjector || P.ngModuleRef, s = P.directives, a = P.bindings; + } + let u = c ? t : new dn(Ye(t)), d = r || this.parentInjector; + if (!i && u.ngModule == null) { + let ct = (c ? d : this.parentInjector).get(Q, null); + ct && (i = ct); + } + let f = Ye(u.componentType ?? {}), p = ss(this._lContainer, f?.id ?? null), h = p?.firstChild ?? null, k = u.create(d, o, h, i, s, a); + return this.insertImpl(k.hostView, l, an(this._hostTNode, p)), k; + } + insert(t, n) { + return this.insertImpl(t, n, true); + } + insertImpl(t, n, r) { + let o = t._lView; + if (pc(o)) { + let a = this.indexOf(t); + if (a !== -1) + this.detach(a); + else { + let c = o[R], l = new e4(c, c[J], c[R]); + l.detach(l.indexOf(t)); + } + } + let i = this._adjustIndex(n), s = this._lContainer; + return Zr(s, o, i, r), t.attachToViewContainerRef(), ci(Hi(s), i, t), t; + } + move(t, n) { + return this.insert(t, n); + } + indexOf(t) { + let n = yl(this._lContainer); + return n !== null ? n.indexOf(t) : -1; + } + remove(t) { + let n = this._adjustIndex(t, -1), r = ln(this._lContainer, n); + r && (Zt(Hi(this._lContainer), n), Wr(r[m], r)); + } + detach(t) { + let n = this._adjustIndex(t, -1), r = ln(this._lContainer, n); + return r && Zt(Hi(this._lContainer), n) != null ? new Ot(r) : null; + } + _adjustIndex(t, n = 0) { + return t ?? this.length + n; + } +}; +function yl(e12) { + return e12[Jt]; +} +function Hi(e12) { + return e12[Jt] || (e12[Jt] = []); +} +function Pu(e12, t) { + let n, r = t[e12.index]; + return re(r) ? n = r : (n = Tu(r, t, null, e12), t[e12.index] = n, Hs(t, n)), ng(n, t, e12, r), new ds(n, e12, t); +} +function tg(e12, t) { + let n = e12[O], r = n.createComment(""), o = de(t, e12), i = n.parentNode(o); + return Nr(n, i, r, n.nextSibling(o), false), r; +} +var ng = ig; +var rg = () => false; +function og(e12, t, n) { + return rg(e12, t, n); +} +function ig(e12, t, n, r) { + if (e12[Pe]) + return; + let o; + n.type & 8 ? o = ee(r) : o = tg(t, n), e12[Pe] = o; +} +var fs = class e5 { + queryList; + matches = null; + constructor(t) { + this.queryList = t; + } + clone() { + return new e5(this.queryList); + } + setDirty() { + this.queryList.setDirty(); + } +}; +var ps = class e6 { + queries; + constructor(t = []) { + this.queries = t; + } + createEmbeddedView(t) { + let n = t.queries; + if (n !== null) { + let r = t.contentQueries !== null ? t.contentQueries[0] : n.length, o = []; + for (let i = 0; i < r; i++) { + let s = n.getByIndex(i), a = this.queries[s.indexInDeclarationView]; + o.push(a.clone()); + } + return new e6(o); + } + return null; + } + insertView(t) { + this.dirtyQueriesWithMatches(t); + } + detachView(t) { + this.dirtyQueriesWithMatches(t); + } + finishViewCreation(t) { + this.dirtyQueriesWithMatches(t); + } + dirtyQueriesWithMatches(t) { + for (let n = 0; n < this.queries.length; n++) + Zs(t, n).matches !== null && this.queries[n].setDirty(); + } +}; +var hs = class { + flags; + read; + predicate; + constructor(t, n, r = null) { + this.flags = n, this.read = r, typeof t == "string" ? this.predicate = pg(t) : this.predicate = t; + } +}; +var gs = class e7 { + queries; + constructor(t = []) { + this.queries = t; + } + elementStart(t, n) { + for (let r = 0; r < this.queries.length; r++) + this.queries[r].elementStart(t, n); + } + elementEnd(t) { + for (let n = 0; n < this.queries.length; n++) + this.queries[n].elementEnd(t); + } + embeddedTView(t) { + let n = null; + for (let r = 0; r < this.length; r++) { + let o = n !== null ? n.length : 0, i = this.getByIndex(r).embeddedTView(t, o); + i && (i.indexInDeclarationView = r, n !== null ? n.push(i) : n = [i]); + } + return n !== null ? new e7(n) : null; + } + template(t, n) { + for (let r = 0; r < this.queries.length; r++) + this.queries[r].template(t, n); + } + getByIndex(t) { + return this.queries[t]; + } + get length() { + return this.queries.length; + } + track(t) { + this.queries.push(t); + } +}; +var ms = class e8 { + metadata; + matches = null; + indexInDeclarationView = -1; + crossesNgTemplate = false; + _declarationNodeIndex; + _appliesToNextNode = true; + constructor(t, n = -1) { + this.metadata = t, this._declarationNodeIndex = n; + } + elementStart(t, n) { + this.isApplyingToNode(n) && this.matchTNode(t, n); + } + elementEnd(t) { + this._declarationNodeIndex === t.index && (this._appliesToNextNode = false); + } + template(t, n) { + this.elementStart(t, n); + } + embeddedTView(t, n) { + return this.isApplyingToNode(t) ? (this.crossesNgTemplate = true, this.addMatch(-t.index, n), new e8(this.metadata)) : null; + } + isApplyingToNode(t) { + if (this._appliesToNextNode && (this.metadata.flags & 1) !== 1) { + let n = this._declarationNodeIndex, r = t.parent; + for (; r !== null && r.type & 8 && r.index !== n; ) + r = r.parent; + return n === (r !== null ? r.index : -1); + } + return this._appliesToNextNode; + } + matchTNode(t, n) { + let r = this.metadata.predicate; + if (Array.isArray(r)) + for (let o = 0; o < r.length; o++) { + let i = r[o]; + this.matchTNodeWithReadOption(t, n, sg(n, i)), this.matchTNodeWithReadOption(t, n, wr(n, t, i, false, false)); + } + else + r === un ? n.type & 4 && this.matchTNodeWithReadOption(t, n, -1) : this.matchTNodeWithReadOption(t, n, wr(n, t, r, false, false)); + } + matchTNodeWithReadOption(t, n, r) { + if (r !== null) { + let o = this.metadata.read; + if (o !== null) + if (o === hn || o === Jr || o === un && n.type & 4) + this.addMatch(n.index, -2); + else { + let i = wr(n, t, o, false, false); + i !== null && this.addMatch(n.index, i); + } + else + this.addMatch(n.index, r); + } + } + addMatch(t, n) { + this.matches === null ? this.matches = [t, n] : this.matches.push(t, n); + } +}; +function sg(e12, t) { + let n = e12.localNames; + if (n !== null) { + for (let r = 0; r < n.length; r += 2) + if (n[r] === t) + return n[r + 1]; + } + return null; +} +function ag(e12, t) { + return e12.type & 11 ? Pt(e12, t) : e12.type & 4 ? qs(e12, t) : null; +} +function cg(e12, t, n, r) { + return n === -1 ? ag(t, e12) : n === -2 ? lg(e12, t, r) : _r(e12, e12[m], n, t); +} +function lg(e12, t, n) { + if (n === hn) + return Pt(t, e12); + if (n === un) + return qs(t, e12); + if (n === Jr) + return Pu(t, e12); +} +function Lu(e12, t, n, r) { + let o = t[ue].queries[r]; + if (o.matches === null) { + let i = e12.data, s = n.matches, a = []; + for (let c = 0; s !== null && c < s.length; c += 2) { + let l = s[c]; + if (l < 0) + a.push(null); + else { + let u = i[l]; + a.push(cg(t, u, s[c + 1], n.metadata.read)); + } + } + o.matches = a; + } + return o.matches; +} +function ys(e12, t, n, r) { + let o = e12.queries.getByIndex(n), i = o.matches; + if (i !== null) { + let s = Lu(e12, t, o, n); + for (let a = 0; a < i.length; a += 2) { + let c = i[a]; + if (c > 0) + r.push(s[a / 2]); + else { + let l = i[a + 1], u = t[-c]; + for (let d = S; d < u.length; d++) { + let f = u[d]; + f[Oe] === f[R] && ys(f[m], f, l, r); + } + if (u[tt] !== null) { + let d = u[tt]; + for (let f = 0; f < d.length; f++) { + let p = d[f]; + ys(p[m], p, l, r); + } + } + } + } + } + return r; +} +function ug(e12, t) { + return e12[ue].queries[t].queryList; +} +function dg(e12, t, n) { + let r = new Sr((n & 4) === 4); + return mc(e12, t, r, r.destroy), (t[ue] ??= new ps()).queries.push(new fs(r)) - 1; +} +function fg(e12, t, n) { + let r = oe(); + return r.firstCreatePass && (hg(r, new hs(e12, t, n), -1), (t & 2) === 2 && (r.staticViewQueries = true)), dg(r, M(), t); +} +function pg(e12) { + return e12.split(",").map((t) => t.trim()); +} +function hg(e12, t, n) { + e12.queries === null && (e12.queries = new gs()), e12.queries.track(new ms(t, n)); +} +function Zs(e12, t) { + return e12.queries.getByIndex(t); +} +function gg(e12, t) { + let n = e12[m], r = Zs(n, t); + return r.crossesNgTemplate ? ys(n, e12, t, []) : Lu(n, e12, r, t); +} +var Rr = class { }; -var xt = class extends jn { +var fn = class extends Rr { injector; - componentFactoryResolver = new Xo(this); + componentFactoryResolver = new us(this); instance = null; constructor(t) { super(); - let n = new Ce([...t.providers, { provide: jn, useValue: this }, { provide: Zn, useValue: this.componentFactoryResolver }], t.parent || pt(), t.debugName, /* @__PURE__ */ new Set(["environment"])); + let n = new qe([...t.providers, { provide: Rr, useValue: this }, { provide: Kr, useValue: this.componentFactoryResolver }], t.parent || Kt(), t.debugName, /* @__PURE__ */ new Set(["environment"])); this.injector = n, t.runEnvironmentInitializers && n.resolveInjectorInitializers(); } destroy() { @@ -3973,11 +4862,11 @@ var xt = class extends jn { this.injector.onDestroy(t); } }; -function Oc(e6, t, n = null) { - return new xt({ providers: e6, parent: t, debugName: n, runEnvironmentInitializers: true }).injector; +function Fu(e12, t, n = null) { + return new fn({ providers: e12, parent: t, debugName: n, runEnvironmentInitializers: true }).injector; } -var Vf = (() => { - class e6 { +var mg = (() => { + class e12 { _injector; cachedInjectors = /* @__PURE__ */ new Map(); constructor(n) { @@ -3987,7 +4876,7 @@ var Vf = (() => { if (!n.standalone) return null; if (!this.cachedInjectors.has(n)) { - let r = eo(false, n.type), o = r.length > 0 ? Oc([r], this._injector, "") : null; + let r = di(false, n.type), o = r.length > 0 ? Fu([r], this._injector, "") : null; this.cachedInjectors.set(n, o); } return this.cachedInjectors.get(n); @@ -4000,50 +4889,50 @@ var Vf = (() => { this.cachedInjectors.clear(); } } - static \u0275prov = S({ token: e6, providedIn: "environment", factory: () => new e6(I($)) }); + static \u0275prov = _({ token: e12, providedIn: "environment", factory: () => new e12(w(Q)) }); } - return e6; + return e12; })(); -function mi(e6) { - return Ma(() => { - let t = zf(e6), n = V(A({}, t), { decls: e6.decls, vars: e6.vars, template: e6.template, consts: e6.consts || null, ngContentSelectors: e6.ngContentSelectors, onPush: e6.changeDetection === ni.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e6.dependencies || null, getStandaloneInjector: t.standalone ? (o) => o.get(Vf).getOrCreateStandaloneInjector(n) : null, getExternalStyles: null, signals: e6.signals ?? false, data: e6.data || {}, encapsulation: e6.encapsulation || z.Emulated, styles: e6.styles || we, _: null, schemas: e6.schemas || null, tView: null, id: "" }); - t.standalone && fc("NgStandalone"), Wf(n); - let r = e6.dependencies; - return n.directiveDefs = Ta(r, Bf), n.pipeDefs = Ta(r, hs), n.id = Gf(n), n; +function Qs(e12) { + return bl(() => { + let t = Ig(e12), n = A(N({}, t), { decls: e12.decls, vars: e12.vars, template: e12.template, consts: e12.consts || null, ngContentSelectors: e12.ngContentSelectors, onPush: e12.changeDetection === Ss.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e12.dependencies || null, getStandaloneInjector: t.standalone ? (o) => o.get(mg).getOrCreateStandaloneInjector(n) : null, getExternalStyles: null, signals: e12.signals ?? false, data: e12.data || {}, encapsulation: e12.encapsulation || ie.Emulated, styles: e12.styles || Ne, _: null, schemas: e12.schemas || null, tView: null, id: "" }); + t.standalone && Ft("NgStandalone"), Dg(n); + let r = e12.dependencies; + return n.directiveDefs = vl(r, yg), n.pipeDefs = vl(r, Qa), n.id = wg(n), n; }); } -function Bf(e6) { - return ut(e6) || Gr(e6); +function yg(e12) { + return Ye(e12) || ri(e12); } -function $f(e6, t) { - if (e6 == null) - return Se; +function vg(e12, t) { + if (e12 == null) + return Ke; let n = {}; - for (let r in e6) - if (e6.hasOwnProperty(r)) { - let o = e6[r], i, s, a, c; - Array.isArray(o) ? (a = o[0], i = o[1], s = o[2] ?? i, c = o[3] || null) : (i = o, s = o, a = Gn.None, c = null), n[i] = [r, a, c], t[i] = s; + for (let r in e12) + if (e12.hasOwnProperty(r)) { + let o = e12[r], i, s, a, c; + Array.isArray(o) ? (a = o[0], i = o[1], s = o[2] ?? i, c = o[3] || null) : (i = o, s = o, a = zr.None, c = null), n[i] = [r, a, c], t[i] = s; } return n; } -function Uf(e6) { - if (e6 == null) - return Se; +function Eg(e12) { + if (e12 == null) + return Ke; let t = {}; - for (let n in e6) - e6.hasOwnProperty(n) && (t[e6[n]] = n); + for (let n in e12) + e12.hasOwnProperty(n) && (t[e12[n]] = n); return t; } -function zf(e6) { +function Ig(e12) { let t = {}; - return { type: e6.type, providersResolver: null, viewProvidersResolver: null, factory: null, hostBindings: e6.hostBindings || null, hostVars: e6.hostVars || 0, hostAttrs: e6.hostAttrs || null, contentQueries: e6.contentQueries || null, declaredInputs: t, inputConfig: e6.inputs || Se, exportAs: e6.exportAs || null, standalone: e6.standalone ?? true, signals: e6.signals === true, selectors: e6.selectors || we, viewQuery: e6.viewQuery || null, features: e6.features || null, setInput: null, resolveHostDirectives: null, hostDirectives: null, controlDef: null, inputs: $f(e6.inputs, t), outputs: Uf(e6.outputs), debugInfo: null }; + return { type: e12.type, providersResolver: null, viewProvidersResolver: null, factory: null, hostBindings: e12.hostBindings || null, hostVars: e12.hostVars || 0, hostAttrs: e12.hostAttrs || null, contentQueries: e12.contentQueries || null, declaredInputs: t, inputConfig: e12.inputs || Ke, exportAs: e12.exportAs || null, standalone: e12.standalone ?? true, signals: e12.signals === true, selectors: e12.selectors || Ne, viewQuery: e12.viewQuery || null, features: e12.features || null, setInput: null, resolveHostDirectives: null, hostDirectives: null, controlDef: null, inputs: vg(e12.inputs, t), outputs: Eg(e12.outputs), debugInfo: null }; } -function Wf(e6) { - e6.features?.forEach((t) => t(e6)); +function Dg(e12) { + e12.features?.forEach((t) => t(e12)); } -function Ta(e6, t) { - return e6 ? () => { - let n = typeof e6 == "function" ? e6() : e6, r = []; +function vl(e12, t) { + return e12 ? () => { + let n = typeof e12 == "function" ? e12() : e12, r = []; for (let o of n) { let i = t(o); i !== null && r.push(i); @@ -4051,22 +4940,51 @@ function Ta(e6, t) { return r; } : null; } -function Gf(e6) { - let t = 0, n = typeof e6.consts == "function" ? "" : e6.consts, r = [e6.selectors, e6.ngContentSelectors, e6.hostVars, e6.hostAttrs, n, e6.vars, e6.decls, e6.encapsulation, e6.standalone, e6.signals, e6.exportAs, JSON.stringify(e6.inputs), JSON.stringify(e6.outputs), Object.getOwnPropertyNames(e6.type.prototype), !!e6.contentQueries, !!e6.viewQuery]; +function wg(e12) { + let t = 0, n = typeof e12.consts == "function" ? "" : e12.consts, r = [e12.selectors, e12.ngContentSelectors, e12.hostVars, e12.hostAttrs, n, e12.vars, e12.decls, e12.encapsulation, e12.standalone, e12.signals, e12.exportAs, JSON.stringify(e12.inputs), JSON.stringify(e12.outputs), Object.getOwnPropertyNames(e12.type.prototype), !!e12.contentQueries, !!e12.viewQuery]; for (let i of r.join("|")) t = Math.imul(31, t) + i.charCodeAt(0) << 0; return t += 2147483648, "c" + t; } -var yi = new m(""); -function vi(e6) { - return !!e6 && typeof e6.then == "function"; +function bg(e12, t, n, r, o, i, s, a) { + if (n.firstCreatePass) { + e12.mergedAttrs = Fr(e12.mergedAttrs, e12.attrs); + let u = e12.tView = Fs(2, e12, o, i, s, n.directiveRegistry, n.pipeRegistry, null, n.schemas, n.consts, null); + n.queries !== null && (n.queries.template(n, e12), u.queries = n.queries.embeddedTView(e12)); + } + a && (e12.flags |= a), _t(e12, false); + let c = Cg(n, t, e12, r); + fr() && Us(n, t, c, e12), Rt(c, t); + let l = Tu(c, t, c, e12); + t[r + F] = l, Hs(t, l), og(l, e12, t); +} +function Or(e12, t, n, r, o, i, s, a, c, l, u) { + let d = n + F, f; + if (t.firstCreatePass) { + if (f = Qr(t, d, 4, s || null, a || null), l != null) { + let p = fe(t.consts, l); + f.localNames = []; + for (let h = 0; h < p.length; h += 2) + f.localNames.push(p[h], -1); + } + } else + f = t.data[d]; + return bg(f, e12, t, n, r, o, i, c), l != null && gu(e12, f, u), f; +} +var Cg = Tg; +function Tg(e12, t, n, r) { + return pr(true), t[O].createComment(""); +} +var Ys = new D(""); +function Ks(e12) { + return !!e12 && typeof e12.then == "function"; } -function Lc(e6) { - return !!e6 && typeof e6.subscribe == "function"; +function ju(e12) { + return !!e12 && typeof e12.subscribe == "function"; } -var Pc = new m(""); -var Ei = (() => { - class e6 { +var Hu = new D(""); +var Js = (() => { + class e12 { resolve; reject; initialized = false; @@ -4074,8 +4992,8 @@ var Ei = (() => { donePromise = new Promise((n, r) => { this.resolve = n, this.reject = r; }); - appInits = E(Pc, { optional: true }) ?? []; - injector = E(ee); + appInits = E(Hu, { optional: true }) ?? []; + injector = E(ce); constructor() { } runInitializers() { @@ -4083,10 +5001,10 @@ var Ei = (() => { return; let n = []; for (let o of this.appInits) { - let i = pn(this.injector, o); - if (vi(i)) + let i = nr(this.injector, o); + if (Ks(i)) n.push(i); - else if (Lc(i)) { + else if (ju(i)) { let s = new Promise((a, c) => { i.subscribe({ complete: a, error: c }); }); @@ -4103,39 +5021,39 @@ var Ei = (() => { }), n.length === 0 && r(), this.initialized = true; } static \u0275fac = function(r) { - return new (r || e6)(); + return new (r || e12)(); }; - static \u0275prov = S({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + static \u0275prov = _({ token: e12, factory: e12.\u0275fac, providedIn: "root" }); } - return e6; + return e12; })(); -var Fc = new m(""); -function jc() { - hr(() => { - let e6 = ""; - throw new g(600, e6); +var Vu = new D(""); +function Bu() { + To(() => { + let e12 = ""; + throw new v(600, e12); }); } -function Hc(e6) { - return e6.isBoundToModule; +function $u(e12) { + return e12.isBoundToModule; } -var qf = 10; -var Ot = (() => { - class e6 { +var Mg = 10; +var vn = (() => { + class e12 { _runningTick = false; _destroyed = false; _destroyListeners = []; _views = []; - internalErrorHandler = E(Ke); - afterRenderManager = E(pc); - zonelessEnabled = E(Tt); - rootEffectScheduler = E(So); + internalErrorHandler = E(rt); + afterRenderManager = E(lu); + zonelessEnabled = E(tn); + rootEffectScheduler = E(gr); dirtyFlags = 0; tracingSnapshot = null; allTestViews = /* @__PURE__ */ new Set(); autoDetectTestViews = /* @__PURE__ */ new Set(); includeAllTestViews = false; - afterTick = new ae(); + afterTick = new ye(); get allViews() { return [...(this.includeAllTestViews ? this.allTestViews : this.autoDetectTestViews).keys(), ...this._views]; } @@ -4144,12 +5062,12 @@ var Ot = (() => { } componentTypes = []; components = []; - internalPendingTask = E(Ye); + internalPendingTask = E(Nt); get isStable() { - return this.internalPendingTask.hasPendingTasksObservable.pipe(Tr((n) => !n)); + return this.internalPendingTask.hasPendingTasksObservable.pipe(Fo((n) => !n)); } constructor() { - E(nt, { optional: true }); + E(Lt, { optional: true }); } whenStable() { let n; @@ -4161,7 +5079,7 @@ var Ot = (() => { n.unsubscribe(); }); } - _injector = E($); + _injector = E(Q); _rendererFactory = null; get injector() { return this._injector; @@ -4169,47 +5087,47 @@ var Ot = (() => { bootstrap(n, r) { return this.bootstrapImpl(n, r); } - bootstrapImpl(n, r, o = ee.NULL) { - return this._injector.get(j).run(() => { - M(w.BootstrapComponentStart); - let s = n instanceof qn; - if (!this._injector.get(Ei).done) { - let T = ""; - throw new g(405, T); + bootstrapImpl(n, r, o = ce.NULL) { + return this._injector.get(Y).run(() => { + T(b.BootstrapComponentStart); + let s = n instanceof Yr; + if (!this._injector.get(Js).done) { + let h = ""; + throw new v(405, h); } let c; - s ? c = n : c = this._injector.get(Zn).resolveComponentFactory(n), this.componentTypes.push(c.componentType); - let l = Hc(c) ? void 0 : this._injector.get(jn), u = r || c.selector, d = c.create(o, [], u, l), p = d.location.nativeElement, f = d.injector.get(yi, null); - return f?.registerApplication(p), d.onDestroy(() => { - this.detachView(d.hostView), St(this.components, d), f?.unregisterApplication(p); - }), this._loadComponent(d), M(w.BootstrapComponentEnd, d), d; + s ? c = n : c = this._injector.get(Kr).resolveComponentFactory(n), this.componentTypes.push(c.componentType); + let l = $u(c) ? void 0 : this._injector.get(Rr), u = r || c.selector, d = c.create(o, [], u, l), f = d.location.nativeElement, p = d.injector.get(Ys, null); + return p?.registerApplication(f), d.onDestroy(() => { + this.detachView(d.hostView), on(this.components, d), p?.unregisterApplication(f); + }), this._loadComponent(d), T(b.BootstrapComponentEnd, d), d; }); } tick() { this.zonelessEnabled || (this.dirtyFlags |= 1), this._tick(); } _tick() { - M(w.ChangeDetectionStart), this.tracingSnapshot !== null ? this.tracingSnapshot.run(di.CHANGE_DETECTION, this.tickImpl) : this.tickImpl(); + T(b.ChangeDetectionStart), this.tracingSnapshot !== null ? this.tracingSnapshot.run(Bs.CHANGE_DETECTION, this.tickImpl) : this.tickImpl(); } tickImpl = () => { if (this._runningTick) - throw M(w.ChangeDetectionEnd), new g(101, false); - let n = v(null); + throw T(b.ChangeDetectionEnd), new v(101, false); + let n = g(null); try { this._runningTick = true, this.synchronize(); } finally { - this._runningTick = false, this.tracingSnapshot?.dispose(), this.tracingSnapshot = null, v(n), this.afterTick.next(), M(w.ChangeDetectionEnd); + this._runningTick = false, this.tracingSnapshot?.dispose(), this.tracingSnapshot = null, g(n), this.afterTick.next(), T(b.ChangeDetectionEnd); } }; synchronize() { - this._rendererFactory === null && !this._injector.destroyed && (this._rendererFactory = this._injector.get(Re, null, { optional: true })); + this._rendererFactory === null && !this._injector.destroyed && (this._rendererFactory = this._injector.get(st, null, { optional: true })); let n = 0; - for (; this.dirtyFlags !== 0 && n++ < qf; ) { - M(w.ChangeDetectionSyncStart); + for (; this.dirtyFlags !== 0 && n++ < Mg; ) { + T(b.ChangeDetectionSyncStart); try { this.synchronizeOnce(); } finally { - M(w.ChangeDetectionSyncEnd); + T(b.ChangeDetectionSyncEnd); } } } @@ -4220,10 +5138,10 @@ var Ot = (() => { let r = !!(this.dirtyFlags & 1); this.dirtyFlags &= -8, this.dirtyFlags |= 8; for (let { _lView: o } of this.allViews) { - if (!r && !Et(o)) + if (!r && !Xt(o)) continue; let i = r && !this.zonelessEnabled ? 0 : 1; - Tc(o, i), n = true; + Du(o, i), n = true; } if (this.dirtyFlags &= -5, this.syncDirtyFlagsWithViews(), this.dirtyFlags & 23) return; @@ -4231,7 +5149,7 @@ var Ot = (() => { n || (this._rendererFactory?.begin?.(), this._rendererFactory?.end?.()), this.dirtyFlags & 8 && (this.dirtyFlags &= -9, this.afterRenderManager.execute()), this.syncDirtyFlagsWithViews(); } syncDirtyFlagsWithViews() { - if (this.allViews.some(({ _lView: n }) => Et(n))) { + if (this.allViews.some(({ _lView: n }) => Xt(n))) { this.dirtyFlags |= 2; return; } else @@ -4243,7 +5161,7 @@ var Ot = (() => { } detachView(n) { let r = n; - St(this._views, r), r.detachFromAppRef(); + on(this._views, r), r.detachFromAppRef(); } _loadComponent(n) { this.attachView(n.hostView); @@ -4252,7 +5170,7 @@ var Ot = (() => { } catch (o) { this.internalErrorHandler(o); } - this.components.push(n), this._injector.get(Fc, []).forEach((o) => o(n)); + this.components.push(n), this._injector.get(Vu, []).forEach((o) => o(n)); } ngOnDestroy() { if (!this._destroyed) @@ -4263,11 +5181,11 @@ var Ot = (() => { } } onDestroy(n) { - return this._destroyListeners.push(n), () => St(this._destroyListeners, n); + return this._destroyListeners.push(n), () => on(this._destroyListeners, n); } destroy() { if (this._destroyed) - throw new g(406, false); + throw new v(406, false); let n = this._injector; n.destroy && !n.destroyed && n.destroy(); } @@ -4275,70 +5193,549 @@ var Ot = (() => { return this._views.length; } static \u0275fac = function(r) { - return new (r || e6)(); + return new (r || e12)(); }; - static \u0275prov = S({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + static \u0275prov = _({ token: e12, factory: e12.\u0275fac, providedIn: "root" }); } - return e6; + return e12; })(); -function St(e6, t) { - let n = e6.indexOf(t); - n > -1 && e6.splice(n, 1); -} -function Oe(e6, t, n, r) { - let o = H(), i = o[y], s = e6 + U, a = i.firstCreatePass ? xf(s, i, 2, t, n, r) : i.data[s]; - return Zd(a, o, e6, t, Zf), r != null && Hd(o, a), Oe; -} -function ye() { - let e6 = Qe(), t = Qd(e6); - return Ls(t) && Ps(), ks(), ye; -} -function Qn(e6, t, n, r) { - return Oe(e6, t, n, r), ye(), Qn; -} -var Zf = (e6, t, n, r, o) => (Io(true), rc(t[P], r, qs())); -function Yn(e6, t, n) { - let r = H(), o = go(); - if (Rc(r, o, t)) { - let i = Dn(), s = Gs(); - Ud(s, r, e6, t, r[P], n); - } - return Yn; -} -var Lt = "en-US"; -var Qf = Lt; -function Vc(e6) { - typeof e6 == "string" && (Qf = e6.toLowerCase().replace(/_/g, "-")); -} -function Pt(e6, t = "") { - let n = H(), r = Dn(), o = e6 + U, i = r.firstCreatePass ? gi(r, o, 1, t, null) : r.data[o], s = Yf(r, n, i, t); - n[o] = s, Eo() && mc(r, n, s, i), Dt(i, false); -} -var Yf = (e6, t, n, r) => (Io(true), od(t[P], r)); -function Kf(e6, t, n, r = "") { - return Rc(e6, go(), n) ? t + Zr(n) + r : tt; -} -function Kn(e6, t, n) { - let r = H(), o = Kf(r, e6, t, n); - return o !== tt && Jf(r, Mn(), o), Kn; -} -function Jf(e6, t, n) { - let r = Ns(t, e6); - id(e6[P], r, n); -} -var Bc = (() => { - class e6 { - applicationErrorHandler = E(Ke); - appRef = E(Ot); - taskService = E(Ye); - ngZone = E(j); - zonelessEnabled = E(Tt); - tracing = E(nt, { optional: true }); +function on(e12, t) { + let n = e12.indexOf(t); + n > -1 && e12.splice(n, 1); +} +var vs = class { + destroy(t) { + } + updateValue(t, n) { + } + swap(t, n) { + let r = Math.min(t, n), o = Math.max(t, n), i = this.detach(o); + if (o - r > 1) { + let s = this.detach(r); + this.attach(r, i), this.attach(o, s); + } else + this.attach(r, i); + } + move(t, n) { + this.attach(n, this.detach(t)); + } +}; +function Vi(e12, t, n, r, o) { + return e12 === n && Object.is(t, r) ? 1 : Object.is(o(e12, t), o(n, r)) ? -1 : 0; +} +function _g(e12, t, n, r) { + let o, i, s = 0, a = e12.length - 1, c = void 0; + if (Array.isArray(t)) { + g(r); + let l = t.length - 1; + for (g(null); s <= a && s <= l; ) { + let u = e12.at(s), d = t[s], f = Vi(s, u, s, d, n); + if (f !== 0) { + f < 0 && e12.updateValue(s, d), s++; + continue; + } + let p = e12.at(a), h = t[l], k = Vi(a, p, l, h, n); + if (k !== 0) { + k < 0 && e12.updateValue(a, h), a--, l--; + continue; + } + let P = n(s, u), ct = n(a, p), Ht = n(s, d); + if (Object.is(Ht, ct)) { + let po = n(l, h); + Object.is(po, P) ? (e12.swap(s, a), e12.updateValue(a, h), l--, a--) : e12.move(a, s), e12.updateValue(s, d), s++; + continue; + } + if (o ??= new kr(), i ??= Il(e12, s, a, n), Es(e12, o, s, Ht)) + e12.updateValue(s, d), s++, a++; + else if (i.has(Ht)) + o.set(P, e12.detach(s)), a--; + else { + let po = e12.create(s, t[s]); + e12.attach(s, po), s++, a++; + } + } + for (; s <= l; ) + El(e12, o, n, s, t[s]), s++; + } else if (t != null) { + g(r); + let l = t[Symbol.iterator](); + g(null); + let u = l.next(); + for (; !u.done && s <= a; ) { + let d = e12.at(s), f = u.value, p = Vi(s, d, s, f, n); + if (p !== 0) + p < 0 && e12.updateValue(s, f), s++, u = l.next(); + else { + o ??= new kr(), i ??= Il(e12, s, a, n); + let h = n(s, f); + if (Es(e12, o, s, h)) + e12.updateValue(s, f), s++, a++, u = l.next(); + else if (!i.has(h)) + e12.attach(s, e12.create(s, f)), s++, a++, u = l.next(); + else { + let k = n(s, d); + o.set(k, e12.detach(s)), a--; + } + } + } + for (; !u.done; ) + El(e12, o, n, e12.length, u.value), u = l.next(); + } + for (; s <= a; ) + e12.destroy(e12.detach(a--)); + o?.forEach((l) => { + e12.destroy(l); + }); +} +function Es(e12, t, n, r) { + return t !== void 0 && t.has(r) ? (e12.attach(n, t.get(r)), t.delete(r), true) : false; +} +function El(e12, t, n, r, o) { + if (Es(e12, t, r, n(r, o))) + e12.updateValue(r, o); + else { + let i = e12.create(r, o); + e12.attach(r, i); + } +} +function Il(e12, t, n, r) { + let o = /* @__PURE__ */ new Set(); + for (let i = t; i <= n; i++) + o.add(r(i, e12.at(i))); + return o; +} +var kr = class { + kvMap = /* @__PURE__ */ new Map(); + _vMap = void 0; + has(t) { + return this.kvMap.has(t); + } + delete(t) { + if (!this.has(t)) + return false; + let n = this.kvMap.get(t); + return this._vMap !== void 0 && this._vMap.has(n) ? (this.kvMap.set(t, this._vMap.get(n)), this._vMap.delete(n)) : this.kvMap.delete(t), true; + } + get(t) { + return this.kvMap.get(t); + } + set(t, n) { + if (this.kvMap.has(t)) { + let r = this.kvMap.get(t); + this._vMap === void 0 && (this._vMap = /* @__PURE__ */ new Map()); + let o = this._vMap; + for (; o.has(r); ) + r = o.get(r); + o.set(r, n); + } else + this.kvMap.set(t, n); + } + forEach(t) { + for (let [n, r] of this.kvMap) + if (t(r, n), this._vMap !== void 0) { + let o = this._vMap; + for (; o.has(r); ) + r = o.get(r), t(r, n); + } + } +}; +function Xs(e12, t, n, r, o, i, s, a) { + Ft("NgControlFlow"); + let c = M(), l = oe(), u = fe(l.consts, i); + return Or(c, l, e12, t, n, r, o, u, 256, s, a), ea; +} +function ea(e12, t, n, r, o, i, s, a) { + Ft("NgControlFlow"); + let c = M(), l = oe(), u = fe(l.consts, i); + return Or(c, l, e12, t, n, r, o, u, 512, s, a), ea; +} +function ta(e12, t) { + Ft("NgControlFlow"); + let n = M(), r = en(), o = n[r] !== Se ? n[r] : -1, i = o !== -1 ? Pr(n, F + o) : void 0, s = 0; + if (yn(n, r, e12)) { + let a = g(null); + try { + if (i !== void 0 && _u(i, s), e12 !== -1) { + let c = F + e12, l = Pr(n, c), u = bs(n[m], c), d = Nu(l, u, n), f = qr(n, u, t, { dehydratedView: d }); + Zr(l, f, s, an(u, d)); + } + } finally { + g(a); + } + } else if (i !== void 0) { + let a = Mu(i, s); + a !== void 0 && (a[x] = t); + } +} +var Is = class { + lContainer; + $implicit; + $index; + constructor(t, n, r) { + this.lContainer = t, this.$implicit = n, this.$index = r; + } + get $count() { + return this.lContainer.length - S; + } +}; +function Xr(e12, t) { + return t; +} +var Ds = class { + hasEmptyBlock; + trackByFn; + liveCollection; + constructor(t, n, r) { + this.hasEmptyBlock = t, this.trackByFn = n, this.liveCollection = r; + } +}; +function eo(e12, t, n, r, o, i, s, a, c, l, u, d, f) { + Ft("NgControlFlow"); + let p = M(), h = oe(), k = c !== void 0, P = M(), ct = a ? s.bind(P[X][x]) : s, Ht = new Ds(k, ct); + P[F + e12] = Ht, Or(p, h, e12 + 1, t, n, r, o, fe(h.consts, i), 256), k && Or(p, h, e12 + 2, c, l, u, d, fe(h.consts, f), 512); +} +var ws = class extends vs { + lContainer; + hostLView; + templateTNode; + operationsCounter = void 0; + needsIndexUpdate = false; + constructor(t, n, r) { + super(), this.lContainer = t, this.hostLView = n, this.templateTNode = r; + } + get length() { + return this.lContainer.length - S; + } + at(t) { + return this.getLView(t)[x].$implicit; + } + attach(t, n) { + let r = n[It]; + this.needsIndexUpdate ||= t !== this.length, Zr(this.lContainer, n, t, an(this.templateTNode, r)), Sg(this.lContainer, t); + } + detach(t) { + return this.needsIndexUpdate ||= t !== this.length - 1, Ng(this.lContainer, t), xg(this.lContainer, t); + } + create(t, n) { + let r = ss(this.lContainer, this.templateTNode.tView.ssrId); + return qr(this.hostLView, this.templateTNode, new Is(this.lContainer, n, t), { dehydratedView: r }); + } + destroy(t) { + Wr(t[m], t); + } + updateValue(t, n) { + this.getLView(t)[x].$implicit = n; + } + reset() { + this.needsIndexUpdate = false; + } + updateIndexes() { + if (this.needsIndexUpdate) + for (let t = 0; t < this.length; t++) + this.getLView(t)[x].$index = t; + } + getLView(t) { + return Ag(this.lContainer, t); + } +}; +function to(e12) { + let t = g(null), n = Fe(); + try { + let r = M(), o = r[m], i = r[n], s = n + 1, a = Pr(r, s); + if (i.liveCollection === void 0) { + let l = bs(o, s); + i.liveCollection = new ws(a, r, l); + } else + i.liveCollection.reset(); + let c = i.liveCollection; + if (_g(c, e12, i.trackByFn, t), c.updateIndexes(), i.hasEmptyBlock) { + let l = en(), u = c.length === 0; + if (yn(r, l, u)) { + let d = n + 2, f = Pr(r, d); + if (u) { + let p = bs(o, d), h = Nu(f, p, r), k = qr(r, p, void 0, { dehydratedView: h }); + Zr(f, k, 0, an(p, h)); + } else + o.firstUpdatePass && bh(f), _u(f, 0); + } + } + } finally { + g(t); + } +} +function Pr(e12, t) { + return e12[t]; +} +function Sg(e12, t) { + if (e12.length <= S) + return; + let n = S + t, r = e12[n], o = r ? r[ke] : void 0; + if (r && o && o.detachedLeaveAnimationFns && o.detachedLeaveAnimationFns.length > 0) { + let i = r[De]; + Sp(i, o), it.delete(r[we]), o.detachedLeaveAnimationFns = void 0; + } +} +function Ng(e12, t) { + if (e12.length <= S) + return; + let n = S + t, r = e12[n], o = r ? r[ke] : void 0; + o && o.leave && o.leave.size > 0 && (o.detachedLeaveAnimationFns = []); +} +function xg(e12, t) { + return ln(e12, t); +} +function Ag(e12, t) { + return Mu(e12, t); +} +function bs(e12, t) { + return ir(e12, t); +} +function j(e12, t, n, r) { + let o = M(), i = o[m], s = e12 + F, a = i.firstCreatePass ? Hh(s, i, 2, t, n, r) : i.data[s]; + return Xp(a, o, e12, t, Rg), r != null && gu(o, a), j; +} +function B() { + let e12 = pe(), t = eh(e12); + return Dc(t) && wc(), Ec(), B; +} +var Rg = (e12, t, n, r, o) => (pr(true), nu(t[O], r, Lc())); +function me(e12, t, n) { + let r = M(), o = en(); + if (yn(r, o, t)) { + let i = oe(), s = Pc(); + Zp(s, r, e12, t, r[O], n); + } + return me; +} +var En = "en-US"; +var Og = En; +function Uu(e12) { + typeof e12 == "string" && (Og = e12.toLowerCase().replace(/_/g, "-")); +} +function Ve(e12, t, n) { + let r = M(), o = oe(), i = pe(); + return (i.type & 3 || n) && Bh(i, o, r, n, r[O], e12, t, Vh(i, r, t)), Ve; +} +function na(e12 = 1) { + return kc(e12); +} +function no(e12, t, n) { + return fg(e12, t, n), no; +} +function ra(e12) { + let t = M(), n = oe(), r = _i(); + lr(r + 1); + let o = Zs(n, r); + if (e12.dirty && fc(t) === ((o.metadata.flags & 2) === 2)) { + if (o.matches === null) + e12.reset([]); + else { + let i = gg(t, r); + e12.reset(i, Ff), e12.notifyOnChanges(); + } + return true; + } + return false; +} +function oa() { + return ug(M(), _i()); +} +function Er(e12, t) { + return e12 << 17 | t << 2; +} +function at(e12) { + return e12 >> 17 & 32767; +} +function kg(e12) { + return (e12 & 2) == 2; +} +function Pg(e12, t) { + return e12 & 131071 | t << 17; +} +function Cs(e12) { + return e12 | 2; +} +function kt(e12) { + return (e12 & 131068) >> 2; +} +function Bi(e12, t) { + return e12 & -131069 | t << 2; +} +function Lg(e12) { + return (e12 & 1) === 1; +} +function Ts(e12) { + return e12 | 1; +} +function Fg(e12, t, n, r, o, i) { + let s = i ? t.classBindings : t.styleBindings, a = at(s), c = kt(s); + e12[r] = n; + let l = false, u; + if (Array.isArray(n)) { + let d = n; + u = d[1], (u === null || Et(d, u) > 0) && (l = true); + } else + u = n; + if (o) + if (c !== 0) { + let f = at(e12[a + 1]); + e12[r + 1] = Er(f, a), f !== 0 && (e12[f + 1] = Bi(e12[f + 1], r)), e12[a + 1] = Pg(e12[a + 1], r); + } else + e12[r + 1] = Er(a, 0), a !== 0 && (e12[a + 1] = Bi(e12[a + 1], r)), a = r; + else + e12[r + 1] = Er(c, 0), a === 0 ? a = r : e12[c + 1] = Bi(e12[c + 1], r), c = r; + l && (e12[r + 1] = Cs(e12[r + 1])), Dl(e12, u, r, true), Dl(e12, u, r, false), jg(t, u, e12, r, i), s = Er(a, c), i ? t.classBindings = s : t.styleBindings = s; +} +function jg(e12, t, n, r, o) { + let i = o ? e12.residualClasses : e12.residualStyles; + i != null && typeof t == "string" && Et(i, t) >= 0 && (n[r + 1] = Ts(n[r + 1])); +} +function Dl(e12, t, n, r) { + let o = e12[n + 1], i = t === null, s = r ? at(o) : kt(o), a = false; + for (; s !== 0 && (a === false || i); ) { + let c = e12[s], l = e12[s + 1]; + Hg(c, t) && (a = true, e12[s + 1] = r ? Ts(l) : Cs(l)), s = r ? at(l) : kt(l); + } + a && (e12[n + 1] = r ? Cs(o) : Ts(o)); +} +function Hg(e12, t) { + return e12 === null || t == null || (Array.isArray(e12) ? e12[1] : e12) === t ? true : Array.isArray(e12) && typeof t == "string" ? Et(e12, t) >= 0 : false; +} +function ro(e12, t) { + return Vg(e12, t, null, true), ro; +} +function Vg(e12, t, n, r) { + let o = M(), i = oe(), s = Mc(2); + if (i.firstUpdatePass && $g(i, e12, s, r), t !== Se && yn(o, s, t)) { + let a = i.data[Fe()]; + qg(i, a, o, o[O], e12, o[s + 1] = Zg(t, n), r, s); + } +} +function Bg(e12, t) { + return t >= e12.expandoStartIndex; +} +function $g(e12, t, n, r) { + let o = e12.data; + if (o[n + 1] === null) { + let i = o[Fe()], s = Bg(e12, n); + Qg(i, r) && t === null && !s && (t = false), t = Ug(o, i, t, r), Fg(o, i, t, n, s, r); + } +} +function Ug(e12, t, n, r) { + let o = xc(e12), i = r ? t.residualClasses : t.residualStyles; + if (o === null) + (r ? t.classBindings : t.styleBindings) === 0 && (n = $i(null, e12, t, n, r), n = pn(n, t.attrs, r), i = null); + else { + let s = t.directiveStylingLast; + if (s === -1 || e12[s] !== o) + if (n = $i(o, e12, t, n, r), i === null) { + let c = zg(e12, t, r); + c !== void 0 && Array.isArray(c) && (c = $i(null, e12, t, c[1], r), c = pn(c, t.attrs, r), Wg(e12, t, r, c)); + } else + i = Gg(e12, t, r); + } + return i !== void 0 && (r ? t.residualClasses = i : t.residualStyles = i), n; +} +function zg(e12, t, n) { + let r = n ? t.classBindings : t.styleBindings; + if (kt(r) !== 0) + return e12[at(r)]; +} +function Wg(e12, t, n, r) { + let o = n ? t.classBindings : t.styleBindings; + e12[at(o)] = r; +} +function Gg(e12, t, n) { + let r, o = t.directiveEnd; + for (let i = 1 + t.directiveStylingLast; i < o; i++) { + let s = e12[i].hostAttrs; + r = pn(r, s, n); + } + return pn(r, t.attrs, n); +} +function $i(e12, t, n, r, o) { + let i = null, s = n.directiveEnd, a = n.directiveStylingLast; + for (a === -1 ? a = n.directiveStart : a++; a < s && (i = t[a], r = pn(r, i.hostAttrs, o), i !== e12); ) + a++; + return e12 !== null && (n.directiveStylingLast = a), r; +} +function pn(e12, t, n) { + let r = n ? 1 : 2, o = -1; + if (t !== null) + for (let i = 0; i < t.length; i++) { + let s = t[i]; + typeof s == "number" ? o = s : o === r && (Array.isArray(e12) || (e12 = e12 === void 0 ? [] : ["", e12]), nc(e12, s, n ? true : t[++i])); + } + return e12 === void 0 ? null : e12; +} +function qg(e12, t, n, r, o, i, s, a) { + if (!(t.type & 3)) + return; + let c = e12.data, l = c[a + 1], u = Lg(l) ? wl(c, t, n, o, kt(l), s) : void 0; + if (!Lr(u)) { + Lr(i) || kg(l) && (i = wl(c, null, n, o, a, s)); + let d = vi(Fe(), n); + Up(r, s, d, o, i); + } +} +function wl(e12, t, n, r, o, i) { + let s = t === null, a; + for (; o > 0; ) { + let c = e12[o], l = Array.isArray(c), u = l ? c[1] : c, d = u === null, f = n[o + 1]; + f === Se && (f = d ? Ne : void 0); + let p = d ? tr(f, r) : u === r ? f : void 0; + if (l && !Lr(p) && (p = tr(c, r)), Lr(p) && (a = p, s)) + return a; + let h = e12[o + 1]; + o = s ? at(h) : kt(h); + } + if (t !== null) { + let c = i ? t.residualClasses : t.residualStyles; + c != null && (a = tr(c, r)); + } + return a; +} +function Lr(e12) { + return e12 !== void 0; +} +function Zg(e12, t) { + return e12 == null || e12 === "" || (typeof t == "string" ? e12 = e12 + t : typeof e12 == "object" && (e12 = Qn(Me(e12)))), e12; +} +function Qg(e12, t) { + return (e12.flags & (t ? 8 : 16)) !== 0; +} +function se(e12, t = "") { + let n = M(), r = oe(), o = e12 + F, i = r.firstCreatePass ? Qr(r, o, 1, t, null) : r.data[o], s = Yg(r, n, i, t); + n[o] = s, fr() && Us(r, n, s, i), _t(i, false); +} +var Yg = (e12, t, n, r) => (pr(true), fp(t[O], r)); +function Kg(e12, t, n, r = "") { + return yn(e12, en(), n) ? t + ii(n) + r : Se; +} +function Be(e12) { + return ia("", e12), Be; +} +function ia(e12, t, n) { + let r = M(), o = Kg(r, e12, t, n); + return o !== Se && Jg(r, Fe(), o), ia; +} +function Jg(e12, t, n) { + let r = vi(t, e12); + pp(e12[O], r, n); +} +var zu = (() => { + class e12 { + applicationErrorHandler = E(rt); + appRef = E(vn); + taskService = E(Nt); + ngZone = E(Y); + zonelessEnabled = E(tn); + tracing = E(Lt, { optional: true }); zoneIsDefined = typeof Zone < "u" && !!Zone.root.run; schedulerTickApplyArgs = [{ data: { __scheduler_tick__: true } }]; - subscriptions = new _(); - angularZoneId = this.zoneIsDefined ? this.ngZone._inner?.get(ct) : null; - scheduleInRootZone = !this.zonelessEnabled && this.zoneIsDefined && (E(Mo, { optional: true }) ?? false); + subscriptions = new H(); + angularZoneId = this.zoneIsDefined ? this.ngZone._inner?.get(Gt) : null; + scheduleInRootZone = !this.zonelessEnabled && this.zoneIsDefined && (E(ki, { optional: true }) ?? false); cancelScheduledCallback = null; useMicrotaskScheduler = false; runningTick = false; @@ -4398,11 +5795,11 @@ var Bc = (() => { } if (this.appRef.tracingSnapshot = this.tracing?.snapshot(this.appRef.tracingSnapshot) ?? null, !this.shouldScheduleTick()) return; - let r = this.useMicrotaskScheduler ? Js : Do; + let r = this.useMicrotaskScheduler ? Bc : xi; this.pendingRenderTaskId = this.taskService.add(), this.scheduleInRootZone ? this.cancelScheduledCallback = Zone.root.run(() => r(() => this.tick())) : this.cancelScheduledCallback = this.ngZone.runOutsideAngular(() => r(() => this.tick())); } shouldScheduleTick() { - return !(this.appRef.destroyed || this.pendingRenderTaskId !== null || this.runningTick || this.appRef._runningTick || !this.zonelessEnabled && this.zoneIsDefined && Zone.current.get(ct + this.angularZoneId)); + return !(this.appRef.destroyed || this.pendingRenderTaskId !== null || this.runningTick || this.appRef._runningTick || !this.zonelessEnabled && this.zoneIsDefined && Zone.current.get(Gt + this.angularZoneId)); } tick() { if (this.runningTick || this.appRef.destroyed) @@ -4433,130 +5830,133 @@ var Bc = (() => { } } static \u0275fac = function(r) { - return new (r || e6)(); + return new (r || e12)(); }; - static \u0275prov = S({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + static \u0275prov = _({ token: e12, factory: e12.\u0275fac, providedIn: "root" }); } - return e6; + return e12; })(); -function $c() { - return [{ provide: Ue, useExisting: Bc }, { provide: j, useClass: lt }, { provide: Tt, useValue: true }]; +function Wu() { + return [{ provide: Ze, useExisting: zu }, { provide: Y, useClass: qt }, { provide: tn, useValue: true }]; } -function Xf() { - return typeof $localize < "u" && $localize.locale || Lt; +function Xg() { + return typeof $localize < "u" && $localize.locale || En; } -var Ii = new m("", { factory: () => E(Ii, { optional: true, skipSelf: true }) || Xf() }); -var Di = new m(""); -var lp = new m(""); -function Ft(e6) { - return !e6.moduleRef; +var sa = new D("", { factory: () => E(sa, { optional: true, skipSelf: true }) || Xg() }); +function $e(e12, t) { + return On(e12, t?.equal); } -function up(e6) { - let t = Ft(e6) ? e6.r3Injector : e6.moduleRef.injector, n = t.get(j); +var aa = new D(""); +var lm = new D(""); +function In(e12) { + return !e12.moduleRef; +} +function um(e12) { + let t = In(e12) ? e12.r3Injector : e12.moduleRef.injector, n = t.get(Y); return n.run(() => { - Ft(e6) ? e6.r3Injector.resolveInjectorInitializers() : e6.moduleRef.resolveInjectorInitializers(); - let r = t.get(Ke), o; + In(e12) ? e12.r3Injector.resolveInjectorInitializers() : e12.moduleRef.resolveInjectorInitializers(); + let r = t.get(rt), o; if (n.runOutsideAngular(() => { o = n.onError.subscribe({ next: r }); - }), Ft(e6)) { - let i = () => t.destroy(), s = e6.platformInjector.get(Di); + }), In(e12)) { + let i = () => t.destroy(), s = e12.platformInjector.get(aa); s.add(i), t.onDestroy(() => { o.unsubscribe(), s.delete(i); }); } else { - let i = () => e6.moduleRef.destroy(), s = e6.platformInjector.get(Di); - s.add(i), e6.moduleRef.onDestroy(() => { - St(e6.allPlatformModules, e6.moduleRef), o.unsubscribe(), s.delete(i); + let i = () => e12.moduleRef.destroy(), s = e12.platformInjector.get(aa); + s.add(i), e12.moduleRef.onDestroy(() => { + on(e12.allPlatformModules, e12.moduleRef), o.unsubscribe(), s.delete(i); }); } - return fp(r, n, () => { - let i = t.get(Ye), s = i.add(), a = t.get(Ei); + return fm(r, n, () => { + let i = t.get(Nt), s = i.add(), a = t.get(Js); return a.runInitializers(), a.donePromise.then(() => { - let c = t.get(Ii, Lt); - if (Vc(c || Lt), !t.get(lp, true)) - return Ft(e6) ? t.get(Ot) : (e6.allPlatformModules.push(e6.moduleRef), e6.moduleRef); - if (Ft(e6)) { - let u = t.get(Ot); - return e6.rootComponent !== void 0 && u.bootstrap(e6.rootComponent), u; + let c = t.get(sa, En); + if (Uu(c || En), !t.get(lm, true)) + return In(e12) ? t.get(vn) : (e12.allPlatformModules.push(e12.moduleRef), e12.moduleRef); + if (In(e12)) { + let u = t.get(vn); + return e12.rootComponent !== void 0 && u.bootstrap(e12.rootComponent), u; } else - return dp?.(e6.moduleRef, e6.allPlatformModules), e6.moduleRef; + return dm?.(e12.moduleRef, e12.allPlatformModules), e12.moduleRef; }).finally(() => { i.remove(s); }); }); }); } -var dp; -function fp(e6, t, n) { +var dm; +function fm(e12, t, n) { try { let r = n(); - return vi(r) ? r.catch((o) => { - throw t.runOutsideAngular(() => e6(o)), o; + return Ks(r) ? r.catch((o) => { + throw t.runOutsideAngular(() => e12(o)), o; }) : r; } catch (r) { - throw t.runOutsideAngular(() => e6(r)), r; + throw t.runOutsideAngular(() => e12(r)), r; } } -var Jn = null; -function pp(e6 = [], t) { - return ee.create({ name: t, providers: [{ provide: ft, useValue: "platform" }, { provide: Di, useValue: /* @__PURE__ */ new Set([() => Jn = null]) }, ...e6] }); +var oo = null; +function pm(e12 = [], t) { + return ce.create({ name: t, providers: [{ provide: Yt, useValue: "platform" }, { provide: aa, useValue: /* @__PURE__ */ new Set([() => oo = null]) }, ...e12] }); } -function hp(e6 = []) { - if (Jn) - return Jn; - let t = pp(e6); - return Jn = t, jc(), gp(t), t; +function hm(e12 = []) { + if (oo) + return oo; + let t = pm(e12); + return oo = t, Bu(), gm(t), t; } -function gp(e6) { - let t = e6.get(Vn, null); - pn(e6, () => { +function gm(e12) { + let t = e12.get(Hr, null); + nr(e12, () => { t?.forEach((n) => n()); }); } -var mp = 1e4; -var pT = mp - 1e3; -function zc(e6) { - let { rootComponent: t, appProviders: n, platformProviders: r, platformRef: o } = e6; - M(w.BootstrapApplicationStart); +var mm = 1e4; +var VM = mm - 1e3; +function qu(e12) { + let { rootComponent: t, appProviders: n, platformProviders: r, platformRef: o } = e12; + T(b.BootstrapApplicationStart); try { - let i = o?.injector ?? hp(r), s = [$c(), ea, ...n || []], a = new xt({ providers: s, parent: i, debugName: "", runEnvironmentInitializers: false }); - return up({ r3Injector: a.injector, platformInjector: i, rootComponent: t }); + let i = o?.injector ?? hm(r), s = [Wu(), Uc, ...n || []], a = new fn({ providers: s, parent: i, debugName: "", runEnvironmentInitializers: false }); + return um({ r3Injector: a.injector, platformInjector: i, rootComponent: t }); } catch (i) { return Promise.reject(i); } finally { - M(w.BootstrapApplicationEnd); + T(b.BootstrapApplicationEnd); } } -var Wc = null; -function rt() { - return Wc; +var Zu = null; +function jt() { + return Zu; } -function wi(e6) { - Wc ??= e6; +function ca(e12) { + Zu ??= e12; } -var jt = class { +var wn = class { }; -function Ci(e6, t) { +function la(e12, t) { t = encodeURIComponent(t); - for (let n of e6.split(";")) { + for (let n of e12.split(";")) { let r = n.indexOf("="), [o, i] = r == -1 ? [n, ""] : [n.slice(0, r), n.slice(r + 1)]; if (o.trim() === t) return decodeURIComponent(i); } return null; } -var Ht = class { +var bn = class { }; -var Gc = "browser"; -var Vt = class { +var Qu = "browser"; +var Cn = class { _doc; constructor(t) { this._doc = t; } manager; }; -var er = (() => { - class e6 extends Vt { +var io = (() => { + class e12 extends Cn { constructor(n) { super(n); } @@ -4570,15 +5970,15 @@ var er = (() => { return n.removeEventListener(r, o, i); } static \u0275fac = function(r) { - return new (r || e6)(I(x)); + return new (r || e12)(w(U)); }; - static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = _({ token: e12, factory: e12.\u0275fac }); } - return e6; + return e12; })(); -var rr = new m(""); -var bi = (() => { - class e6 { +var co = new D(""); +var pa = (() => { + class e12 { _zone; _plugins; _eventNameToPlugin = /* @__PURE__ */ new Map(); @@ -4586,9 +5986,9 @@ var bi = (() => { this._zone = r, n.forEach((s) => { s.manager = this; }); - let o = n.filter((s) => !(s instanceof er)); + let o = n.filter((s) => !(s instanceof io)); this._plugins = o.slice().reverse(); - let i = n.find((s) => s instanceof er); + let i = n.find((s) => s instanceof io); i && this._plugins.push(i); } addEventListener(n, r, o, i) { @@ -4602,37 +6002,37 @@ var bi = (() => { if (r) return r; if (r = this._plugins.find((i) => i.supports(n)), !r) - throw new g(5101, false); + throw new v(5101, false); return this._eventNameToPlugin.set(n, r), r; } static \u0275fac = function(r) { - return new (r || e6)(I(rr), I(j)); + return new (r || e12)(w(co), w(Y)); }; - static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = _({ token: e12, factory: e12.\u0275fac }); } - return e6; + return e12; })(); -var Ti = "ng-app-id"; -function qc(e6) { - for (let t of e6) +var ua = "ng-app-id"; +function Yu(e12) { + for (let t of e12) t.remove(); } -function Zc(e6, t) { +function Ku(e12, t) { let n = t.createElement("style"); - return n.textContent = e6, n; + return n.textContent = e12, n; } -function yp(e6, t, n, r) { - let o = e6.head?.querySelectorAll(`style[${Ti}="${t}"],link[${Ti}="${t}"]`); +function ym(e12, t, n, r) { + let o = e12.head?.querySelectorAll(`style[${ua}="${t}"],link[${ua}="${t}"]`); if (o) for (let i of o) - i.removeAttribute(Ti), i instanceof HTMLLinkElement ? r.set(i.href.slice(i.href.lastIndexOf("/") + 1), { usage: 0, elements: [i] }) : i.textContent && n.set(i.textContent, { usage: 0, elements: [i] }); + i.removeAttribute(ua), i instanceof HTMLLinkElement ? r.set(i.href.slice(i.href.lastIndexOf("/") + 1), { usage: 0, elements: [i] }) : i.textContent && n.set(i.textContent, { usage: 0, elements: [i] }); } -function Si(e6, t) { +function fa(e12, t) { let n = t.createElement("link"); - return n.setAttribute("rel", "stylesheet"), n.setAttribute("href", e6), n; + return n.setAttribute("rel", "stylesheet"), n.setAttribute("href", e12), n; } -var _i = (() => { - class e6 { +var ha = (() => { + class e12 { doc; appId; nonce; @@ -4640,12 +6040,12 @@ var _i = (() => { external = /* @__PURE__ */ new Map(); hosts = /* @__PURE__ */ new Set(); constructor(n, r, o, i = {}) { - this.doc = n, this.appId = r, this.nonce = o, yp(n, r, this.inline, this.external), this.hosts.add(n.head); + this.doc = n, this.appId = r, this.nonce = o, ym(n, r, this.inline, this.external), this.hosts.add(n.head); } addStyles(n, r) { for (let o of n) - this.addUsage(o, this.inline, Zc); - r?.forEach((o) => this.addUsage(o, this.external, Si)); + this.addUsage(o, this.inline, Ku); + r?.forEach((o) => this.addUsage(o, this.external, fa)); } removeStyles(n, r) { for (let o of n) @@ -4658,19 +6058,19 @@ var _i = (() => { } removeUsage(n, r) { let o = r.get(n); - o && (o.usage--, o.usage <= 0 && (qc(o.elements), r.delete(n))); + o && (o.usage--, o.usage <= 0 && (Yu(o.elements), r.delete(n))); } ngOnDestroy() { for (let [, { elements: n }] of [...this.inline, ...this.external]) - qc(n); + Yu(n); this.hosts.clear(); } addHost(n) { this.hosts.add(n); for (let [r, { elements: o }] of this.inline) - o.push(this.addElement(n, Zc(r, this.doc))); + o.push(this.addElement(n, Ku(r, this.doc))); for (let [r, { elements: o }] of this.external) - o.push(this.addElement(n, Si(r, this.doc))); + o.push(this.addElement(n, fa(r, this.doc))); } removeHost(n) { this.hosts.delete(n); @@ -4679,30 +6079,30 @@ var _i = (() => { return this.nonce && r.setAttribute("nonce", this.nonce), n.appendChild(r); } static \u0275fac = function(r) { - return new (r || e6)(I(x), I(Hn), I(Bn, 8), I(At)); + return new (r || e12)(w(U), w(jr), w(Vr, 8), w(gn)); }; - static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = _({ token: e12, factory: e12.\u0275fac }); } - return e6; + return e12; })(); -var Mi = { svg: "http://www.w3.org/2000/svg", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/", math: "http://www.w3.org/1998/Math/MathML" }; -var Ni = /%COMP%/g; -var Yc = "%COMP%"; -var vp = `_nghost-${Yc}`; -var Ep = `_ngcontent-${Yc}`; -var Ip = true; -var Dp = new m("", { factory: () => Ip }); -function wp(e6) { - return Ep.replace(Ni, e6); -} -function Cp(e6) { - return vp.replace(Ni, e6); -} -function Kc(e6, t) { - return t.map((n) => n.replace(Ni, e6)); -} -var xi = (() => { - class e6 { +var da = { svg: "http://www.w3.org/2000/svg", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/", math: "http://www.w3.org/1998/Math/MathML" }; +var ga = /%COMP%/g; +var Xu = "%COMP%"; +var vm = `_nghost-${Xu}`; +var Em = `_ngcontent-${Xu}`; +var Im = true; +var Dm = new D("", { factory: () => Im }); +function wm(e12) { + return Em.replace(ga, e12); +} +function bm(e12) { + return vm.replace(ga, e12); +} +function ed(e12, t) { + return t.map((n) => n.replace(ga, e12)); +} +var ma = (() => { + class e12 { eventManager; sharedStylesHost; appId; @@ -4714,28 +6114,28 @@ var xi = (() => { rendererByCompId = /* @__PURE__ */ new Map(); defaultRenderer; constructor(n, r, o, i, s, a, c = null, l = null) { - this.eventManager = n, this.sharedStylesHost = r, this.appId = o, this.removeStylesOnCompDestroy = i, this.doc = s, this.ngZone = a, this.nonce = c, this.tracingService = l, this.defaultRenderer = new Bt(n, s, a, this.tracingService); + this.eventManager = n, this.sharedStylesHost = r, this.appId = o, this.removeStylesOnCompDestroy = i, this.doc = s, this.ngZone = a, this.nonce = c, this.tracingService = l, this.defaultRenderer = new Tn(n, s, a, this.tracingService); } createRenderer(n, r) { if (!n || !r) return this.defaultRenderer; let o = this.getOrCreateRenderer(n, r); - return o instanceof nr ? o.applyToHost(n) : o instanceof $t && o.applyStyles(), o; + return o instanceof ao ? o.applyToHost(n) : o instanceof Mn && o.applyStyles(), o; } getOrCreateRenderer(n, r) { let o = this.rendererByCompId, i = o.get(r.id); if (!i) { let s = this.doc, a = this.ngZone, c = this.eventManager, l = this.sharedStylesHost, u = this.removeStylesOnCompDestroy, d = this.tracingService; switch (r.encapsulation) { - case z.Emulated: - i = new nr(c, l, r, this.appId, u, s, a, d); + case ie.Emulated: + i = new ao(c, l, r, this.appId, u, s, a, d); break; - case z.ShadowDom: - return new tr(c, n, r, s, a, this.nonce, d, l); - case z.ExperimentalIsolatedShadowDom: - return new tr(c, n, r, s, a, this.nonce, d); + case ie.ShadowDom: + return new so(c, n, r, s, a, this.nonce, d, l); + case ie.ExperimentalIsolatedShadowDom: + return new so(c, n, r, s, a, this.nonce, d); default: - i = new $t(c, l, r, u, s, a, d); + i = new Mn(c, l, r, u, s, a, d); break; } o.set(r.id, i); @@ -4749,13 +6149,13 @@ var xi = (() => { this.rendererByCompId.delete(n); } static \u0275fac = function(r) { - return new (r || e6)(I(bi), I(_i), I(Hn), I(Dp), I(x), I(j), I(Bn), I(nt, 8)); + return new (r || e12)(w(pa), w(ha), w(jr), w(Dm), w(U), w(Y), w(Vr), w(Lt, 8)); }; - static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = _({ token: e12, factory: e12.\u0275fac }); } - return e6; + return e12; })(); -var Bt = class { +var Tn = class { eventManager; doc; ngZone; @@ -4769,7 +6169,7 @@ var Bt = class { } destroyNode = null; createElement(t, n) { - return n ? this.doc.createElementNS(Mi[n] || n, t) : this.doc.createElement(t); + return n ? this.doc.createElementNS(da[n] || n, t) : this.doc.createElement(t); } createComment(t) { return this.doc.createComment(t); @@ -4778,10 +6178,10 @@ var Bt = class { return this.doc.createTextNode(t); } appendChild(t, n) { - (Qc(t) ? t.content : t).appendChild(n); + (Ju(t) ? t.content : t).appendChild(n); } insertBefore(t, n, r) { - t && (Qc(t) ? t.content : t).insertBefore(n, r); + t && (Ju(t) ? t.content : t).insertBefore(n, r); } removeChild(t, n) { n.remove(); @@ -4789,7 +6189,7 @@ var Bt = class { selectRootElement(t, n) { let r = typeof t == "string" ? this.doc.querySelector(t) : t; if (!r) - throw new g(-5104, false); + throw new v(-5104, false); return n || (r.textContent = ""), r; } parentNode(t) { @@ -4801,14 +6201,14 @@ var Bt = class { setAttribute(t, n, r, o) { if (o) { n = o + ":" + n; - let i = Mi[o]; + let i = da[o]; i ? t.setAttributeNS(i, n, r) : t.setAttribute(n, r); } else t.setAttribute(n, r); } removeAttribute(t, n, r) { if (r) { - let o = Mi[r]; + let o = da[r]; o ? t.removeAttributeNS(o, n) : t.removeAttribute(`${r}:${n}`); } else t.removeAttribute(n); @@ -4820,10 +6220,10 @@ var Bt = class { t.classList.remove(n); } setStyle(t, n, r, o) { - o & (ke.DashCase | ke.Important) ? t.style.setProperty(n, r, o & ke.Important ? "important" : "") : t.style[n] = r; + o & (Te.DashCase | Te.Important) ? t.style.setProperty(n, r, o & Te.Important ? "important" : "") : t.style[n] = r; } removeStyle(t, n, r) { - r & ke.DashCase ? t.style.removeProperty(n) : t.style[n] = ""; + r & Te.DashCase ? t.style.removeProperty(n) : t.style[n] = ""; } setProperty(t, n, r) { t != null && (t[n] = r); @@ -4832,8 +6232,8 @@ var Bt = class { t.nodeValue = n; } listen(t, n, r, o) { - if (typeof t == "string" && (t = rt().getGlobalEventTarget(this.doc, t), !t)) - throw new g(5102, false); + if (typeof t == "string" && (t = jt().getGlobalEventTarget(this.doc, t), !t)) + throw new v(5102, false); let i = this.decoratePreventDefault(r); return this.tracingService?.wrapEventListener && (i = this.tracingService.wrapEventListener(t, n, i)), this.eventManager.addEventListener(t, n, i, o); } @@ -4845,26 +6245,26 @@ var Bt = class { }; } }; -function Qc(e6) { - return e6.tagName === "TEMPLATE" && e6.content !== void 0; +function Ju(e12) { + return e12.tagName === "TEMPLATE" && e12.content !== void 0; } -var tr = class extends Bt { +var so = class extends Tn { hostEl; sharedStylesHost; shadowRoot; constructor(t, n, r, o, i, s, a, c) { super(t, o, i, a), this.hostEl = n, this.sharedStylesHost = c, this.shadowRoot = n.attachShadow({ mode: "open" }), this.sharedStylesHost && this.sharedStylesHost.addHost(this.shadowRoot); let l = r.styles; - l = Kc(r.id, l); + l = ed(r.id, l); for (let d of l) { - let p = document.createElement("style"); - s && p.setAttribute("nonce", s), p.textContent = d, this.shadowRoot.appendChild(p); + let f = document.createElement("style"); + s && f.setAttribute("nonce", s), f.textContent = d, this.shadowRoot.appendChild(f); } let u = r.getExternalStyles?.(); if (u) for (let d of u) { - let p = Si(d, o); - s && p.setAttribute("nonce", s), this.shadowRoot.appendChild(p); + let f = fa(d, o); + s && f.setAttribute("nonce", s), this.shadowRoot.appendChild(f); } } nodeOrShadowRoot(t) { @@ -4886,7 +6286,7 @@ var tr = class extends Bt { this.sharedStylesHost && this.sharedStylesHost.removeHost(this.shadowRoot); } }; -var $t = class extends Bt { +var Mn = class extends Tn { sharedStylesHost; removeStylesOnCompDestroy; styles; @@ -4894,21 +6294,21 @@ var $t = class extends Bt { constructor(t, n, r, o, i, s, a, c) { super(t, i, s, a), this.sharedStylesHost = n, this.removeStylesOnCompDestroy = o; let l = r.styles; - this.styles = c ? Kc(c, l) : l, this.styleUrls = r.getExternalStyles?.(c); + this.styles = c ? ed(c, l) : l, this.styleUrls = r.getExternalStyles?.(c); } applyStyles() { this.sharedStylesHost.addStyles(this.styles, this.styleUrls); } destroy() { - this.removeStylesOnCompDestroy && et.size === 0 && this.sharedStylesHost.removeStyles(this.styles, this.styleUrls); + this.removeStylesOnCompDestroy && it.size === 0 && this.sharedStylesHost.removeStyles(this.styles, this.styleUrls); } }; -var nr = class extends $t { +var ao = class extends Mn { contentAttr; hostAttr; constructor(t, n, r, o, i, s, a, c) { let l = o + "-" + r.id; - super(t, n, r, i, s, a, c, l), this.contentAttr = wp(l), this.hostAttr = Cp(l); + super(t, n, r, i, s, a, c, l), this.contentAttr = wm(l), this.hostAttr = bm(l); } applyToHost(t) { this.applyStyles(), this.setAttribute(t, this.hostAttr, ""); @@ -4918,10 +6318,10 @@ var nr = class extends $t { return super.setAttribute(r, this.contentAttr, ""), r; } }; -var or = class e4 extends jt { +var lo = class e9 extends wn { supportsDOMEvents = true; static makeCurrent() { - wi(new e4()); + ca(new e9()); } onAndCancel(t, n, r, o) { return t.addEventListener(n, r, o), () => { @@ -4953,59 +6353,59 @@ var or = class e4 extends jt { return n === "window" ? window : n === "document" ? t : n === "body" ? t.body : null; } getBaseHref(t) { - let n = Tp(); - return n == null ? null : Mp(n); + let n = Cm(); + return n == null ? null : Tm(n); } resetBaseElement() { - Ut = null; + _n = null; } getUserAgent() { return window.navigator.userAgent; } getCookie(t) { - return Ci(document.cookie, t); + return la(document.cookie, t); } }; -var Ut = null; -function Tp() { - return Ut = Ut || document.head.querySelector("base"), Ut ? Ut.getAttribute("href") : null; +var _n = null; +function Cm() { + return _n = _n || document.head.querySelector("base"), _n ? _n.getAttribute("href") : null; } -function Mp(e6) { - return new URL(e6, document.baseURI).pathname; +function Tm(e12) { + return new URL(e12, document.baseURI).pathname; } -var Sp = (() => { - class e6 { +var Mm = (() => { + class e12 { build() { return new XMLHttpRequest(); } static \u0275fac = function(r) { - return new (r || e6)(); + return new (r || e12)(); }; - static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = _({ token: e12, factory: e12.\u0275fac }); } - return e6; + return e12; })(); -var Jc = ["alt", "control", "meta", "shift"]; -var bp = { "\b": "Backspace", " ": "Tab", "\x7F": "Delete", "\x1B": "Escape", Del: "Delete", Esc: "Escape", Left: "ArrowLeft", Right: "ArrowRight", Up: "ArrowUp", Down: "ArrowDown", Menu: "ContextMenu", Scroll: "ScrollLock", Win: "OS" }; -var _p = { alt: (e6) => e6.altKey, control: (e6) => e6.ctrlKey, meta: (e6) => e6.metaKey, shift: (e6) => e6.shiftKey }; -var Xc = (() => { - class e6 extends Vt { +var td = ["alt", "control", "meta", "shift"]; +var _m = { "\b": "Backspace", " ": "Tab", "\x7F": "Delete", "\x1B": "Escape", Del: "Delete", Esc: "Escape", Left: "ArrowLeft", Right: "ArrowRight", Up: "ArrowUp", Down: "ArrowDown", Menu: "ContextMenu", Scroll: "ScrollLock", Win: "OS" }; +var Sm = { alt: (e12) => e12.altKey, control: (e12) => e12.ctrlKey, meta: (e12) => e12.metaKey, shift: (e12) => e12.shiftKey }; +var nd = (() => { + class e12 extends Cn { constructor(n) { super(n); } supports(n) { - return e6.parseEventName(n) != null; + return e12.parseEventName(n) != null; } addEventListener(n, r, o, i) { - let s = e6.parseEventName(r), a = e6.eventCallback(s.fullKey, o, this.manager.getZone()); - return this.manager.getZone().runOutsideAngular(() => rt().onAndCancel(n, s.domEventName, a, i)); + let s = e12.parseEventName(r), a = e12.eventCallback(s.fullKey, o, this.manager.getZone()); + return this.manager.getZone().runOutsideAngular(() => jt().onAndCancel(n, s.domEventName, a, i)); } static parseEventName(n) { let r = n.toLowerCase().split("."), o = r.shift(); if (r.length === 0 || !(o === "keydown" || o === "keyup")) return null; - let i = e6._normalizeKey(r.pop()), s = "", a = r.indexOf("code"); - if (a > -1 && (r.splice(a, 1), s = "code."), Jc.forEach((l) => { + let i = e12._normalizeKey(r.pop()), s = "", a = r.indexOf("code"); + if (a > -1 && (r.splice(a, 1), s = "code."), td.forEach((l) => { let u = r.indexOf(l); u > -1 && (r.splice(u, 1), s += l + "."); }), s += i, r.length != 0 || i.length === 0) @@ -5014,61 +6414,61 @@ var Xc = (() => { return c.domEventName = o, c.fullKey = s, c; } static matchEventFullKeyCode(n, r) { - let o = bp[n.key] || n.key, i = ""; - return r.indexOf("code.") > -1 && (o = n.code, i = "code."), o == null || !o ? false : (o = o.toLowerCase(), o === " " ? o = "space" : o === "." && (o = "dot"), Jc.forEach((s) => { + let o = _m[n.key] || n.key, i = ""; + return r.indexOf("code.") > -1 && (o = n.code, i = "code."), o == null || !o ? false : (o = o.toLowerCase(), o === " " ? o = "space" : o === "." && (o = "dot"), td.forEach((s) => { if (s !== o) { - let a = _p[s]; + let a = Sm[s]; a(n) && (i += s + "."); } }), i += o, i === r); } static eventCallback(n, r, o) { return (i) => { - e6.matchEventFullKeyCode(i, n) && o.runGuarded(() => r(i)); + e12.matchEventFullKeyCode(i, n) && o.runGuarded(() => r(i)); }; } static _normalizeKey(n) { return n === "esc" ? "escape" : n; } static \u0275fac = function(r) { - return new (r || e6)(I(x)); + return new (r || e12)(w(U)); }; - static \u0275prov = S({ token: e6, factory: e6.\u0275fac }); + static \u0275prov = _({ token: e12, factory: e12.\u0275fac }); } - return e6; + return e12; })(); -async function Ai(e6, t, n) { - let r = A({ rootComponent: e6 }, Np(t, n)); - return zc(r); +async function ya(e12, t, n) { + let r = N({ rootComponent: e12 }, Nm(t, n)); + return qu(r); } -function Np(e6, t) { - return { platformRef: t?.platformRef, appProviders: [...Op, ...e6?.providers ?? []], platformProviders: kp }; +function Nm(e12, t) { + return { platformRef: t?.platformRef, appProviders: [...km, ...e12?.providers ?? []], platformProviders: Om }; } -function xp() { - or.makeCurrent(); +function xm() { + lo.makeCurrent(); } -function Ap() { - return new te(); +function Am() { + return new Ie(); } -function Rp() { - return ri(document), document; +function Rm() { + return Ns(document), document; } -var kp = [{ provide: At, useValue: Gc }, { provide: Vn, useValue: xp, multi: true }, { provide: x, useFactory: Rp }]; -var Op = [{ provide: ft, useValue: "root" }, { provide: te, useFactory: Ap }, { provide: rr, useClass: er, multi: true }, { provide: rr, useClass: Xc, multi: true }, xi, _i, bi, { provide: Re, useExisting: xi }, { provide: Ht, useClass: Sp }, []]; -var Ri = (() => { - class e6 { +var Om = [{ provide: gn, useValue: Qu }, { provide: Hr, useValue: xm, multi: true }, { provide: U, useFactory: Rm }]; +var km = [{ provide: Yt, useValue: "root" }, { provide: Ie, useFactory: Am }, { provide: co, useClass: io, multi: true }, { provide: co, useClass: nd, multi: true }, ma, ha, pa, { provide: st, useExisting: ma }, { provide: bn, useClass: Mm }, []]; +var va = (() => { + class e12 { static \u0275fac = function(r) { - return new (r || e6)(); + return new (r || e12)(); }; - static \u0275prov = S({ token: e6, factory: function(r) { + static \u0275prov = _({ token: e12, factory: function(r) { let o = null; - return r ? o = new (r || e6)() : o = I(Lp), o; + return r ? o = new (r || e12)() : o = w(Pm), o; }, providedIn: "root" }); } - return e6; + return e12; })(); -var Lp = (() => { - class e6 extends Ri { +var Pm = (() => { + class e12 extends va { _doc; constructor(n) { super(), this._doc = n; @@ -5077,79 +6477,264 @@ var Lp = (() => { if (r == null) return null; switch (n) { - case K.NONE: + case ge.NONE: return r; - case K.HTML: - return me(r, "HTML") ? ge(r) : zn(this._doc, String(r)).toString(); - case K.STYLE: - return me(r, "Style") ? ge(r) : r; - case K.SCRIPT: - if (me(r, "Script")) - return ge(r); - throw new g(5200, false); - case K.URL: - return me(r, "URL") ? ge(r) : Un(String(r)); - case K.RESOURCE_URL: - if (me(r, "ResourceURL")) - return ge(r); - throw new g(5201, false); + case ge.HTML: + return He(r, "HTML") ? Me(r) : Ur(this._doc, String(r)).toString(); + case ge.STYLE: + return He(r, "Style") ? Me(r) : r; + case ge.SCRIPT: + if (He(r, "Script")) + return Me(r); + throw new v(5200, false); + case ge.URL: + return He(r, "URL") ? Me(r) : $r(String(r)); + case ge.RESOURCE_URL: + if (He(r, "ResourceURL")) + return Me(r); + throw new v(5201, false); default: - throw new g(5202, false); + throw new v(5202, false); } } bypassSecurityTrustHtml(n) { - return ii(n); + return As(n); } bypassSecurityTrustStyle(n) { - return si(n); + return Rs(n); } bypassSecurityTrustScript(n) { - return ai(n); + return Os(n); } bypassSecurityTrustUrl(n) { - return ci(n); + return ks(n); } bypassSecurityTrustResourceUrl(n) { - return li(n); + return Ps(n); } static \u0275fac = function(r) { - return new (r || e6)(I(x)); + return new (r || e12)(w(U)); }; - static \u0275prov = S({ token: e6, factory: e6.\u0275fac, providedIn: "root" }); + static \u0275prov = _({ token: e12, factory: e12.\u0275fac, providedIn: "root" }); } - return e6; + return e12; })(); -var ir = class e5 { - constructor(t, n) { +var uo = class e10 { + constructor(t) { this.model = t; - this.sanitizer = n; if (t) { - this.message.set(t.get("message") || "Model loaded, no message."); - let r = t.get("table_html") || "

No table HTML yet.

"; - this.sanitizedHtml.set(this.sanitizer.bypassSecurityTrustHtml(r)), t.on("change:message", () => { - this.message.set(t.get("message")); + this.page.set(t.get("page") ?? 0), this.pageSize.set(t.get("page_size") ?? 10), this.maxColumns.set(t.get("max_columns") ?? 0), this.rowCount.set(t.get("row_count") ?? null), this.tableHtml.set(t.get("table_html") ?? ""), this.sortContext.set(t.get("sort_context") ?? []), this.orderableColumns.set(t.get("orderable_columns") ?? []); + let n = t.get("error_message") ?? t.get("_error_message") ?? null; + this.errorMessage.set(n), t.on("change:page", () => { + this.page.set(t.get("page")); + }), t.on("change:page_size", () => { + this.pageSize.set(t.get("page_size")); + }), t.on("change:max_columns", () => { + this.maxColumns.set(t.get("max_columns")); + }), t.on("change:row_count", () => { + this.rowCount.set(t.get("row_count")); }), t.on("change:table_html", () => { - let o = t.get("table_html"); - this.sanitizedHtml.set(this.sanitizer.bypassSecurityTrustHtml(o)); + this.tableHtml.set(t.get("table_html")); + }), t.on("change:sort_context", () => { + this.sortContext.set(t.get("sort_context")); + }), t.on("change:orderable_columns", () => { + this.orderableColumns.set(t.get("orderable_columns")); }); + let r = () => { + let o = t.get("error_message") ?? t.get("_error_message") ?? null; + this.errorMessage.set(o); + }; + t.on("change:error_message", r), t.on("change:_error_message", r); + } + } + page = q(0); + pageSize = q(10); + maxColumns = q(0); + rowCount = q(null); + tableHtml = q(""); + sortContext = q([]); + orderableColumns = q([]); + errorMessage = q(null); + setPage(t) { + this.page.set(t), this.model && (this.model.set("page", t), this.model.save_changes()); + } + setPageSize(t) { + this.pageSize.set(t), this.model && (this.model.set("page_size", t), this.model.set("page", 0), this.model.save_changes()); + } + setMaxColumns(t) { + this.maxColumns.set(t), this.model && (this.model.set("max_columns", t), this.model.save_changes()); + } + setSortContext(t) { + this.sortContext.set(t), this.model && (this.model.set("sort_context", t), this.model.save_changes()); + } + static \u0275fac = function(n) { + return new (n || e10)(w("ANYWIDGET_MODEL")); + }; + static \u0275prov = _({ token: e10, factory: e10.\u0275fac, providedIn: "root" }); +}; +var Lm = ["tableContainer"]; +function Fm(e12, t) { + if (e12 & 1 && (j(0, "div", 2), se(1), B()), e12 & 2) { + let n = na(); + V(), Be(n.errorMessage()); + } +} +function jm(e12, t) { + if (e12 & 1 && (j(0, "option", 13), se(1), B()), e12 & 2) { + let n = t.$implicit; + me("value", n), V(), Be(n === 0 ? "All" : n); + } +} +function Hm(e12, t) { + if (e12 & 1 && (j(0, "option", 13), se(1), B()), e12 & 2) { + let n = t.$implicit; + me("value", n), V(), Be(n); + } +} +var fo = class e11 { + state = E(uo); + sanitizer = E(va); + maxColumnOptions = [5, 10, 15, 20, 0]; + pageSizeOptions = [10, 25, 50, 100]; + errorMessage = this.state.errorMessage; + maxColumns = this.state.maxColumns; + pageSize = this.state.pageSize; + page = this.state.page; + rowCount = this.state.rowCount; + sanitizedHtml = $e(() => this.sanitizer.bypassSecurityTrustHtml(this.state.tableHtml())); + totalPages = $e(() => { + let t = this.rowCount(), n = this.pageSize(); + return t !== null && n > 0 ? Math.ceil(t / n) : null; + }); + pageIndicatorText = $e(() => { + let t = this.page(), n = this.rowCount(), r = this.totalPages(), o = (t + 1).toLocaleString(), i = (r ?? 1).toLocaleString(); + return `Page ${o} of ${i}`; + }); + rowCountText = $e(() => { + let t = this.rowCount(); + return t === null ? "Total rows unknown" : t === 0 ? "0 total rows" : `${t.toLocaleString()} total rows`; + }); + prevPageDisabled = $e(() => this.page() === 0); + nextPageDisabled = $e(() => { + let t = this.page(), n = this.rowCount(), r = this.totalPages(); + return n === null ? false : n === 0 ? true : r !== null && t >= r - 1; + }); + isDarkMode = q(false); + themeObserver = null; + isHeightInitialized = false; + tableContainerRef; + constructor() { + Pi(() => { + let t = this.state.tableHtml(), n = this.state.sortContext(), r = this.state.orderableColumns(); + setTimeout(() => { + this.applySortIndicators(), this.initializeHeight(); + }, 0); + }); + } + ngOnInit() { + this.initThemeDetection(); + } + ngOnDestroy() { + this.themeObserver?.disconnect(); + } + handlePageChange(t) { + let n = this.page() + t; + this.state.setPage(n); + } + handlePageSizeChange(t) { + let n = t.target, r = Number(n.value); + r && this.state.setPageSize(r); + } + handleMaxColumnsChange(t) { + let n = t.target, r = Number(n.value); + this.state.setMaxColumns(r); + } + handleTableClick(t) { + let r = t.target.closest("th"); + if (!r) + return; + let o = r.querySelector("div.bf-header-content"); + if (!o) + return; + let i = o.textContent?.trim() || "", s = this.state.orderableColumns(); + if (!i || !s.includes(i)) + return; + let a = [...this.state.sortContext()], c = a.findIndex((u) => u.column === i), l = [...a]; + t.shiftKey ? c !== -1 ? l[c].ascending ? l[c] = A(N({}, l[c]), { ascending: false }) : l.splice(c, 1) : l.push({ column: i, ascending: true }) : c !== -1 && l.length === 1 ? l[c].ascending ? l[c] = A(N({}, l[c]), { ascending: false }) : l = [] : l = [{ column: i, ascending: true }], this.state.setSortContext(l); + } + applySortIndicators() { + let t = this.tableContainerRef?.nativeElement; + if (!t) + return; + let n = this.state.orderableColumns(), r = this.state.sortContext() || [], o = (s) => r.findIndex((a) => a.column === s); + t.querySelectorAll("th").forEach((s) => { + let a = s.querySelector("div.bf-header-content"); + if (!a) + return; + let c = a.textContent?.trim() || ""; + if (c && n.includes(c)) { + s.style.cursor = "pointer"; + let l = a.querySelector(".sort-indicator"); + l || (l = document.createElement("span"), l.classList.add("sort-indicator"), l.style.paddingLeft = "5px", a.appendChild(l)); + let u = o(c); + if (u !== -1) { + let d = r[u].ascending; + l.textContent = d ? "\u25B2" : "\u25BC", l.style.visibility = "visible"; + } else + l.textContent = "\u25CF", l.style.visibility = "hidden"; + } + }); + } + initializeHeight() { + if (this.isHeightInitialized) + return; + let t = this.tableContainerRef?.nativeElement; + if (!t) + return; + let n = t.querySelector("table"); + if (n) { + let r = n.offsetHeight; + r > 0 && (t.style.height = `${r + 2}px`, this.isHeightInitialized = true); } } - message = Ct("Waiting for model..."); - sanitizedHtml = Ct(""); + initThemeDetection() { + this.updateTheme(); + let t = new MutationObserver(() => this.updateTheme()); + t.observe(document.body, { attributes: true, attributeFilter: ["class", "data-theme", "data-vscode-theme-kind"] }), this.themeObserver = t; + } + updateTheme() { + let t = document.body, n = t.classList.contains("vscode-dark") || t.classList.contains("theme-dark") || t.dataset.theme === "dark" || t.getAttribute("data-vscode-theme-kind") === "vscode-dark"; + this.isDarkMode.set(n); + } static \u0275fac = function(n) { - return new (n || e5)(kt("ANYWIDGET_MODEL"), kt(Ri)); + return new (n || e11)(); }; - static \u0275cmp = mi({ type: e5, selectors: [["app-root"]], decls: 8, vars: 2, consts: [[1, "angular-widget"], [3, "innerHTML"]], template: function(n, r) { - n & 1 && (Oe(0, "div", 0)(1, "h3"), Pt(2, "Angular Hybrid Widget"), ye(), Oe(3, "p"), Pt(4, "Status: Infrastructure Loaded"), ye(), Oe(5, "p"), Pt(6), ye(), Qn(7, "div", 1), ye()), n & 2 && (Wn(6), Kn("Message from Python: ", r.message()), Wn(), Yn("innerHTML", r.sanitizedHtml(), ui)); - }, styles: [".angular-widget[_ngcontent-%COMP%]{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;padding:10px}"] }); + static \u0275cmp = Qs({ type: e11, selectors: [["app-root"]], viewQuery: function(n, r) { + if (n & 1 && no(Lm, 7), n & 2) { + let o; + ra(o = oa()) && (r.tableContainerRef = o.first); + } + }, decls: 27, vars: 10, consts: [["tableContainer", ""], [1, "bigframes-widget"], [1, "bigframes-error-message"], [1, "table-container", 3, "click", "innerHTML"], [1, "footer"], [1, "row-count"], [1, "pagination"], [3, "click", "disabled"], [1, "page-indicator"], [1, "settings"], [1, "max-columns"], ["for", "max-cols-select"], ["id", "max-cols-select", 3, "change", "value"], [3, "value"], [1, "page-size"], ["for", "page-size-select"], ["id", "page-size-select", 3, "change", "value"]], template: function(n, r) { + n & 1 && (j(0, "div", 1), Xs(1, Fm, 2, 1, "div", 2), j(2, "div", 3, 0), Ve("click", function(i) { + return r.handleTableClick(i); + }), B(), j(4, "footer", 4)(5, "span", 5), se(6), B(), j(7, "div", 6)(8, "button", 7), Ve("click", function() { + return r.handlePageChange(-1); + }), se(9, "<"), B(), j(10, "span", 8), se(11), B(), j(12, "button", 7), Ve("click", function() { + return r.handlePageChange(1); + }), se(13, ">"), B()(), j(14, "div", 9)(15, "div", 10)(16, "label", 11), se(17, "Max columns:"), B(), j(18, "select", 12), Ve("change", function(i) { + return r.handleMaxColumnsChange(i); + }), eo(19, jm, 2, 2, "option", 13, Xr), B()(), j(21, "div", 14)(22, "label", 15), se(23, "Page size:"), B(), j(24, "select", 16), Ve("change", function(i) { + return r.handlePageSizeChange(i); + }), eo(25, Hm, 2, 2, "option", 13, Xr), B()()()()()), n & 2 && (ro("bigframes-dark-mode", r.isDarkMode()), V(), ta(r.errorMessage() ? 1 : -1), V(), me("innerHTML", r.sanitizedHtml(), Ls), V(4), Be(r.rowCountText()), V(2), me("disabled", r.prevPageDisabled()), V(3), Be(r.pageIndicatorText()), V(), me("disabled", r.nextPageDisabled()), V(6), me("value", r.maxColumns()), V(), to(r.maxColumnOptions), V(5), me("value", r.pageSize()), V(), to(r.pageSizeOptions)); + }, styles: [".bigframes-widget.bigframes-widget[_ngcontent-%COMP%]{--bf-bg: white;--bf-border-color: #ccc;--bf-error-bg: #fbe;--bf-error-border: red;--bf-error-fg: black;--bf-fg: black;--bf-header-bg: #f5f5f5;--bf-null-fg: gray;--bf-row-even-bg: #f5f5f5;--bf-row-odd-bg: white;background-color:var(--bf-bg);box-sizing:border-box;color:var(--bf-fg);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0}.bigframes-widget[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{box-sizing:border-box}@media(prefers-color-scheme:dark){.bigframes-widget.bigframes-widget[_ngcontent-%COMP%]{--bf-bg: var(--vscode-editor-background, #202124);--bf-border-color: #444;--bf-error-bg: #511;--bf-error-border: #f88;--bf-error-fg: #fcc;--bf-fg: white;--bf-header-bg: var(--vscode-editor-background, black);--bf-null-fg: #aaa;--bf-row-even-bg: #202124;--bf-row-odd-bg: #383838}}.bigframes-widget.bigframes-dark-mode.bigframes-dark-mode[_ngcontent-%COMP%]{--bf-bg: var(--vscode-editor-background, #202124);--bf-border-color: #444;--bf-error-bg: #511;--bf-error-border: #f88;--bf-error-fg: #fcc;--bf-fg: white;--bf-header-bg: var(--vscode-editor-background, black);--bf-null-fg: #aaa;--bf-row-even-bg: #202124;--bf-row-odd-bg: #383838}.bigframes-widget[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%]{background-color:var(--bf-bg);margin:0;max-height:620px;overflow:auto;padding:0}.bigframes-widget[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{align-items:center;background-color:var(--bf-bg);color:var(--bf-fg);display:flex;font-size:.8rem;justify-content:space-between;padding:8px}.bigframes-widget[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1}.bigframes-widget[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:row;gap:4px;justify-content:center;padding:4px}.bigframes-widget[_ngcontent-%COMP%] .page-indicator[_ngcontent-%COMP%], .bigframes-widget[_ngcontent-%COMP%] .row-count[_ngcontent-%COMP%]{margin:0 8px}.bigframes-widget[_ngcontent-%COMP%] .settings[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:row;gap:16px;justify-content:end}.bigframes-widget[_ngcontent-%COMP%] .page-size[_ngcontent-%COMP%], .bigframes-widget[_ngcontent-%COMP%] .max-columns[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:row;gap:4px}.bigframes-widget[_ngcontent-%COMP%] .page-size[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .bigframes-widget[_ngcontent-%COMP%] .max-columns[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{margin-right:8px}.bigframes-widget[_ngcontent-%COMP%] table.bigframes-widget-table, .bigframes-widget[_ngcontent-%COMP%] table.dataframe{background-color:var(--bf-bg);border:1px solid var(--bf-border-color);border-collapse:collapse;border-spacing:0;box-shadow:none;color:var(--bf-fg);margin:0;outline:none;text-align:left;width:auto}.bigframes-widget[_ngcontent-%COMP%] tr{border:none}.bigframes-widget[_ngcontent-%COMP%] th{background-color:var(--bf-header-bg);border:1px solid var(--bf-border-color);color:var(--bf-fg);padding:0;position:sticky;text-align:left;top:0;z-index:1}.bigframes-widget[_ngcontent-%COMP%] td{border:1px solid var(--bf-border-color);color:var(--bf-fg);padding:.5em}.bigframes-widget[_ngcontent-%COMP%] table tbody tr:nth-child(odd), .bigframes-widget[_ngcontent-%COMP%] table tbody tr:nth-child(odd) td{background-color:var(--bf-row-odd-bg)}.bigframes-widget[_ngcontent-%COMP%] table tbody tr:nth-child(2n), .bigframes-widget[_ngcontent-%COMP%] table tbody tr:nth-child(2n) td{background-color:var(--bf-row-even-bg)}.bigframes-widget[_ngcontent-%COMP%] .bf-header-content{box-sizing:border-box;height:100%;overflow:auto;padding:.5em;resize:horizontal;width:100%}.bigframes-widget[_ngcontent-%COMP%] th .sort-indicator{padding-left:4px;visibility:hidden}.bigframes-widget[_ngcontent-%COMP%] th:hover .sort-indicator{visibility:visible}.bigframes-widget[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:transparent;border:1px solid currentColor;border-radius:4px;color:inherit;cursor:pointer;display:inline-block;padding:2px 8px;text-align:center;text-decoration:none;-webkit-user-select:none;user-select:none;vertical-align:middle}.bigframes-widget[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{opacity:.65;pointer-events:none}.bigframes-widget[_ngcontent-%COMP%] .bigframes-error-message[_ngcontent-%COMP%]{background-color:var(--bf-error-bg);border:1px solid var(--bf-error-border);border-radius:4px;color:var(--bf-error-fg);font-size:14px;margin-bottom:8px;padding:8px}.bigframes-widget[_ngcontent-%COMP%] .cell-align-right{text-align:right}.bigframes-widget[_ngcontent-%COMP%] .cell-align-left{text-align:left}.bigframes-widget[_ngcontent-%COMP%] .null-value{color:var(--bf-null-fg)}.bigframes-widget[_ngcontent-%COMP%] .debug-info{border-top:1px solid var(--bf-border-color)}"] }); }; -function Fp({ model: e6, el: t }) { +function Vm({ model: e12, el: t }) { let n = document.createElement("app-root"); t.appendChild(n); - let r = { providers: [To(), { provide: "ANYWIDGET_MODEL", useValue: e6 }] }; - Ai(ir, r).catch((o) => console.error(o)); + let r = { providers: [Oi(), { provide: "ANYWIDGET_MODEL", useValue: e12 }] }; + ya(fo, r).catch((o) => console.error(o)); } -var EM = { render: Fp }; +var tS = { render: Vm }; export { - EM as default + tS as default }; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts index 0c5453db626a..75ccf03e436c 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.spec.ts @@ -31,10 +31,10 @@ describe('App', () => { expect(app).toBeTruthy(); }); - it('should render title', async () => { + it('should render the table container', async () => { const fixture = TestBed.createComponent(App); fixture.detectChanges(); const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('h3')?.textContent).toContain('Angular Hybrid Widget'); + expect(compiled.querySelector('.table-container')).toBeTruthy(); }); }); diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts index 995c0f64b59f..f326b109fe83 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -14,53 +14,521 @@ * limitations under the License. */ -import { Component, Inject, signal } from '@angular/core'; -import { DomSanitizer, SafeHtml } from '@angular/platform-browser'; +import { Component, ElementRef, ViewChild, computed, effect, inject, signal } from '@angular/core'; +import { DomSanitizer } from '@angular/platform-browser'; +import { WidgetStateService } from './widget-state.service'; @Component({ selector: 'app-root', standalone: true, imports: [], template: ` -
-

Angular Hybrid Widget

-

Status: Infrastructure Loaded

-

Message from Python: {{ message() }}

-
+
+ @if (errorMessage()) { +
{{ errorMessage() }}
+ } + +
+
+ +
+ {{ rowCountText() }} + + + +
+
+ + +
+ +
+ + +
+
+
`, styles: [` - .angular-widget { - background-color: #f9f9f9; - border: 1px solid #ccc; + /* Increase specificity to override framework styles without !important */ + .bigframes-widget.bigframes-widget { + /* Default Light Mode Variables */ + --bf-bg: white; + --bf-border-color: #ccc; + --bf-error-bg: #fbe; + --bf-error-border: red; + --bf-error-fg: black; + --bf-fg: black; + --bf-header-bg: #f5f5f5; + --bf-null-fg: gray; + --bf-row-even-bg: #f5f5f5; + --bf-row-odd-bg: white; + + background-color: var(--bf-bg); + box-sizing: border-box; + color: var(--bf-fg); + display: flex; + flex-direction: column; + font-family: + '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', sans-serif; + margin: 0; + padding: 0; + } + + .bigframes-widget * { + box-sizing: border-box; + } + + /* Dark Mode Overrides */ + @media (prefers-color-scheme: dark) { + .bigframes-widget.bigframes-widget { + --bf-bg: var(--vscode-editor-background, #202124); + --bf-border-color: #444; + --bf-error-bg: #511; + --bf-error-border: #f88; + --bf-error-fg: #fcc; + --bf-fg: white; + --bf-header-bg: var(--vscode-editor-background, black); + --bf-null-fg: #aaa; + --bf-row-even-bg: #202124; + --bf-row-odd-bg: #383838; + } + } + + .bigframes-widget.bigframes-dark-mode.bigframes-dark-mode { + --bf-bg: var(--vscode-editor-background, #202124); + --bf-border-color: #444; + --bf-error-bg: #511; + --bf-error-border: #f88; + --bf-error-fg: #fcc; + --bf-fg: white; + --bf-header-bg: var(--vscode-editor-background, black); + --bf-null-fg: #aaa; + --bf-row-even-bg: #202124; + --bf-row-odd-bg: #383838; + } + + .bigframes-widget .table-container { + background-color: var(--bf-bg); + margin: 0; + max-height: 620px; + overflow: auto; + padding: 0; + } + + .bigframes-widget .footer { + align-items: center; + background-color: var(--bf-bg); + color: var(--bf-fg); + display: flex; + font-size: 0.8rem; + justify-content: space-between; + padding: 8px; + } + + .bigframes-widget .footer > * { + flex: 1; + } + + .bigframes-widget .pagination { + align-items: center; + display: flex; + flex-direction: row; + gap: 4px; + justify-content: center; + padding: 4px; + } + + .bigframes-widget .page-indicator { + margin: 0 8px; + } + + .bigframes-widget .row-count { + margin: 0 8px; + } + + .bigframes-widget .settings { + align-items: center; + display: flex; + flex-direction: row; + gap: 16px; + justify-content: end; + } + + .bigframes-widget .page-size, + .bigframes-widget .max-columns { + align-items: center; + display: flex; + flex-direction: row; + gap: 4px; + } + + .bigframes-widget .page-size label, + .bigframes-widget .max-columns label { + margin-right: 8px; + } + + /* Dynamic internal elements styles */ + .bigframes-widget ::ng-deep table.bigframes-widget-table, + .bigframes-widget ::ng-deep table.dataframe { + background-color: var(--bf-bg); + border: 1px solid var(--bf-border-color); + border-collapse: collapse; + border-spacing: 0; + box-shadow: none; + color: var(--bf-fg); + margin: 0; + outline: none; + text-align: left; + width: auto; + } + + .bigframes-widget ::ng-deep tr { + border: none; + } + + .bigframes-widget ::ng-deep th { + background-color: var(--bf-header-bg); + border: 1px solid var(--bf-border-color); + color: var(--bf-fg); + padding: 0; + position: sticky; + text-align: left; + top: 0; + z-index: 1; + } + + .bigframes-widget ::ng-deep td { + border: 1px solid var(--bf-border-color); + color: var(--bf-fg); + padding: 0.5em; + } + + .bigframes-widget ::ng-deep table tbody tr:nth-child(odd), + .bigframes-widget ::ng-deep table tbody tr:nth-child(odd) td { + background-color: var(--bf-row-odd-bg); + } + + .bigframes-widget ::ng-deep table tbody tr:nth-child(even), + .bigframes-widget ::ng-deep table tbody tr:nth-child(even) td { + background-color: var(--bf-row-even-bg); + } + + .bigframes-widget ::ng-deep .bf-header-content { + box-sizing: border-box; + height: 100%; + overflow: auto; + padding: 0.5em; + resize: horizontal; + width: 100%; + } + + .bigframes-widget ::ng-deep th .sort-indicator { + padding-left: 4px; + visibility: hidden; + } + + .bigframes-widget ::ng-deep th:hover .sort-indicator { + visibility: visible; + } + + .bigframes-widget button { + background-color: transparent; + border: 1px solid currentColor; border-radius: 4px; - padding: 10px; + color: inherit; + cursor: pointer; + display: inline-block; + padding: 2px 8px; + text-align: center; + text-decoration: none; + user-select: none; + vertical-align: middle; + } + + .bigframes-widget button:disabled { + opacity: 0.65; + pointer-events: none; + } + + .bigframes-widget .bigframes-error-message { + background-color: var(--bf-error-bg); + border: 1px solid var(--bf-error-border); + border-radius: 4px; + color: var(--bf-error-fg); + font-size: 14px; + margin-bottom: 8px; + padding: 8px; + } + + .bigframes-widget ::ng-deep .cell-align-right { + text-align: right; + } + + .bigframes-widget ::ng-deep .cell-align-left { + text-align: left; + } + + .bigframes-widget ::ng-deep .null-value { + color: var(--bf-null-fg); + } + + .bigframes-widget ::ng-deep .debug-info { + border-top: 1px solid var(--bf-border-color); } `] }) -// Dummy comment to test pre-commit hook export class App { - protected readonly message = signal('Waiting for model...'); - protected readonly sanitizedHtml = signal(''); - - constructor( - @Inject('ANYWIDGET_MODEL') public model: any, - private sanitizer: DomSanitizer - ) { - if (model) { - this.message.set(model.get('message') || 'Model loaded, no message.'); - - const rawHtml = model.get('table_html') || '

No table HTML yet.

'; - this.sanitizedHtml.set(this.sanitizer.bypassSecurityTrustHtml(rawHtml)); - - // Listen for changes - model.on('change:message', () => { - this.message.set(model.get('message')); - }); - model.on('change:table_html', () => { - const html = model.get('table_html'); - this.sanitizedHtml.set(this.sanitizer.bypassSecurityTrustHtml(html)); - }); + protected readonly state = inject(WidgetStateService); + private readonly sanitizer = inject(DomSanitizer); + + protected readonly maxColumnOptions = [5, 10, 15, 20, 0]; + protected readonly pageSizeOptions = [10, 25, 50, 100]; + + // State signals + protected readonly errorMessage = this.state.errorMessage; + protected readonly maxColumns = this.state.maxColumns; + protected readonly pageSize = this.state.pageSize; + protected readonly page = this.state.page; + protected readonly rowCount = this.state.rowCount; + + // Computed properties for formatting and display states + protected readonly sanitizedHtml = computed(() => + this.sanitizer.bypassSecurityTrustHtml(this.state.tableHtml()) + ); + + protected readonly totalPages = computed(() => { + const count = this.rowCount(); + const size = this.pageSize(); + return count !== null && size > 0 ? Math.ceil(count / size) : null; + }); + + protected readonly pageIndicatorText = computed(() => { + const currentPage = this.page(); + const count = this.rowCount(); + const total = this.totalPages(); + const currentStr = (currentPage + 1).toLocaleString(); + const totalStr = (total ?? 1).toLocaleString(); + return `Page ${currentStr} of ${totalStr}`; + }); + + protected readonly rowCountText = computed(() => { + const count = this.rowCount(); + if (count === null) { + return 'Total rows unknown'; + } + if (count === 0) { + return '0 total rows'; + } + return `${count.toLocaleString()} total rows`; + }); + + protected readonly prevPageDisabled = computed(() => this.page() === 0); + + protected readonly nextPageDisabled = computed(() => { + const currentPage = this.page(); + const count = this.rowCount(); + const total = this.totalPages(); + if (count === null) { + return false; + } + if (count === 0) { + return true; + } + return total !== null && currentPage >= total - 1; + }); + + protected readonly isDarkMode = signal(false); + private themeObserver: MutationObserver | null = null; + private isHeightInitialized = false; + + @ViewChild('tableContainer', { static: true }) + tableContainerRef!: ElementRef; + + constructor() { + effect(() => { + // Setup dependencies for reactive effect + const _html = this.state.tableHtml(); + const _sort = this.state.sortContext(); + const _orderable = this.state.orderableColumns(); + + // Schedule DOM post-processing once the innerHTML render completes + setTimeout(() => { + this.applySortIndicators(); + this.initializeHeight(); + }, 0); + }); + } + + ngOnInit() { + this.initThemeDetection(); + } + + ngOnDestroy() { + this.themeObserver?.disconnect(); + } + + protected handlePageChange(direction: number) { + const nextPage = this.page() + direction; + this.state.setPage(nextPage); + } + + protected handlePageSizeChange(event: Event) { + const select = event.target as HTMLSelectElement; + const newSize = Number(select.value); + if (newSize) { + this.state.setPageSize(newSize); + } + } + + protected handleMaxColumnsChange(event: Event) { + const select = event.target as HTMLSelectElement; + const maxCols = Number(select.value); + this.state.setMaxColumns(maxCols); + } + + protected handleTableClick(event: MouseEvent) { + const target = event.target as HTMLElement; + const header = target.closest('th'); + if (!header) return; + + const headerDiv = header.querySelector('div.bf-header-content'); + if (!headerDiv) return; + + const columnName = headerDiv.textContent?.trim() || ''; + const sortableColumns = this.state.orderableColumns(); + if (!columnName || !sortableColumns.includes(columnName)) return; + + const currentSortContext = [...this.state.sortContext()]; + const sortIndex = currentSortContext.findIndex( + (item) => item.column === columnName + ); + let newContext = [...currentSortContext]; + + if (event.shiftKey) { + if (sortIndex !== -1) { + // Toggle: Asc -> Desc -> Unsorted + if (newContext[sortIndex].ascending) { + newContext[sortIndex] = { + ...newContext[sortIndex], + ascending: false + }; + } else { + newContext.splice(sortIndex, 1); + } + } else { + newContext.push({ column: columnName, ascending: true }); + } + } else { + // Single column sort mode + if (sortIndex !== -1 && newContext.length === 1) { + // Toggle: Asc -> Desc -> Unsorted + if (newContext[sortIndex].ascending) { + newContext[sortIndex] = { + ...newContext[sortIndex], + ascending: false + }; + } else { + newContext = []; + } + } else { + newContext = [{ column: columnName, ascending: true }]; + } + } + + this.state.setSortContext(newContext); + } + + private applySortIndicators() { + const container = this.tableContainerRef?.nativeElement; + if (!container) return; + + const sortableColumns = this.state.orderableColumns(); + const currentSortContext = this.state.sortContext() || []; + + const getSortIndex = (colName: string) => + currentSortContext.findIndex((item) => item.column === colName); + + const headers = container.querySelectorAll('th'); + headers.forEach((header: HTMLElement) => { + const headerDiv = header.querySelector('div.bf-header-content'); + if (!headerDiv) return; + + const columnName = headerDiv.textContent?.trim() || ''; + if (columnName && sortableColumns.includes(columnName)) { + header.style.cursor = 'pointer'; + + let indicatorSpan = headerDiv.querySelector( + '.sort-indicator' + ) as HTMLElement; + if (!indicatorSpan) { + indicatorSpan = document.createElement('span'); + indicatorSpan.classList.add('sort-indicator'); + indicatorSpan.style.paddingLeft = '5px'; + headerDiv.appendChild(indicatorSpan); + } + + const sortIndex = getSortIndex(columnName); + if (sortIndex !== -1) { + const isAscending = currentSortContext[sortIndex].ascending; + indicatorSpan.textContent = isAscending ? '▲' : '▼'; + indicatorSpan.style.visibility = 'visible'; + } else { + indicatorSpan.textContent = '●'; + indicatorSpan.style.visibility = 'hidden'; + } + } + }); + } + + private initializeHeight() { + if (this.isHeightInitialized) return; + const container = this.tableContainerRef?.nativeElement; + if (!container) return; + + const table = container.querySelector('table'); + if (table) { + const tableHeight = table.offsetHeight; + if (tableHeight > 0) { + container.style.height = `${tableHeight + 2}px`; + this.isHeightInitialized = true; + } } } + + private initThemeDetection() { + this.updateTheme(); + const observer = new MutationObserver(() => this.updateTheme()); + observer.observe(document.body, { + attributes: true, + attributeFilter: ['class', 'data-theme', 'data-vscode-theme-kind'], + }); + this.themeObserver = observer; + } + + private updateTheme() { + const body = document.body; + const isDark = + body.classList.contains('vscode-dark') || + body.classList.contains('theme-dark') || + body.dataset['theme'] === 'dark' || + body.getAttribute('data-vscode-theme-kind') === 'vscode-dark'; + this.isDarkMode.set(isDark); + } } diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.spec.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.spec.ts new file mode 100644 index 000000000000..3ad922c91048 --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.spec.ts @@ -0,0 +1,128 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { TestBed } from '@angular/core/testing'; +import { vi } from 'vitest'; +import { WidgetStateService } from './widget-state.service'; + +describe('WidgetStateService', () => { + let service: WidgetStateService; + let mockModel: any; + let mockListeners: { [key: string]: Function }; + + beforeEach(() => { + mockListeners = {}; + mockModel = { + get: vi.fn().mockImplementation((prop: string) => { + if (prop === 'page') return 2; + if (prop === 'page_size') return 25; + if (prop === 'max_columns') return 10; + if (prop === 'row_count') return 150; + if (prop === 'table_html') return '
'; + if (prop === 'sort_context') { + return [{ column: 'col1', ascending: true }]; + } + if (prop === 'orderable_columns') { + return ['col1', 'col2']; + } + if (prop === 'error_message') return 'initial error'; + return null; + }), + set: vi.fn(), + save_changes: vi.fn(), + on: vi.fn().mockImplementation( + (event: string, callback: Function) => { + mockListeners[event] = callback; + } + ) + }; + + TestBed.configureTestingModule({ + providers: [ + { provide: 'ANYWIDGET_MODEL', useValue: mockModel } + ] + }); + service = TestBed.inject(WidgetStateService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); + + it('should initialize signals from model values', () => { + expect(service.page()).toBe(2); + expect(service.pageSize()).toBe(25); + expect(service.maxColumns()).toBe(10); + expect(service.rowCount()).toBe(150); + expect(service.tableHtml()).toBe('
'); + expect(service.sortContext()).toEqual([ + { column: 'col1', ascending: true } + ]); + expect(service.orderableColumns()).toEqual(['col1', 'col2']); + expect(service.errorMessage()).toBe('initial error'); + }); + + it('should update signals when model triggers change events', () => { + mockModel.get.mockImplementation((prop: string) => { + if (prop === 'page') return 5; + if (prop === 'page_size') return 50; + return null; + }); + + mockListeners['change:page'](); + mockListeners['change:page_size'](); + + expect(service.page()).toBe(5); + expect(service.pageSize()).toBe(50); + }); + + it('should support dual-listen pattern for error messages', () => { + // 1. Check error_message change + mockModel.get.mockImplementation((prop: string) => { + if (prop === 'error_message') return 'new error'; + return null; + }); + mockListeners['change:error_message'](); + expect(service.errorMessage()).toBe('new error'); + + // 2. Check _error_message change + mockModel.get.mockImplementation((prop: string) => { + if (prop === '_error_message') return 'new private error'; + return null; + }); + mockListeners['change:_error_message'](); + expect(service.errorMessage()).toBe('new private error'); + }); + + it('should write updates back to model on setter methods', () => { + service.setPage(4); + expect(mockModel.set).toHaveBeenCalledWith('page', 4); + expect(mockModel.save_changes).toHaveBeenCalled(); + + service.setPageSize(100); + expect(mockModel.set).toHaveBeenCalledWith('page_size', 100); + expect(mockModel.set).toHaveBeenCalledWith('page', 0); + + service.setMaxColumns(15); + expect(mockModel.set).toHaveBeenCalledWith('max_columns', 15); + + service.setSortContext([{ column: 'col2', ascending: false }]); + expect(mockModel.set).toHaveBeenCalledWith( + 'sort_context', + [{ column: 'col2', ascending: false }] + ); + }); +}); diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.ts new file mode 100644 index 000000000000..62ede9f74a12 --- /dev/null +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.ts @@ -0,0 +1,122 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Injectable, Inject, signal } from '@angular/core'; + +export interface SortItem { + column: string; + ascending: boolean; +} + +@Injectable({ + providedIn: 'root' +}) +export class WidgetStateService { + readonly page = signal(0); + readonly pageSize = signal(10); + readonly maxColumns = signal(0); + readonly rowCount = signal(null); + readonly tableHtml = signal(''); + readonly sortContext = signal([]); + readonly orderableColumns = signal([]); + readonly errorMessage = signal(null); + + constructor(@Inject('ANYWIDGET_MODEL') private model: any) { + if (model) { + // Initialize from the model + this.page.set(model.get('page') ?? 0); + this.pageSize.set(model.get('page_size') ?? 10); + this.maxColumns.set(model.get('max_columns') ?? 0); + this.rowCount.set(model.get('row_count') ?? null); + this.tableHtml.set(model.get('table_html') ?? ''); + this.sortContext.set(model.get('sort_context') ?? []); + this.orderableColumns.set(model.get('orderable_columns') ?? []); + const initialError = + model.get('error_message') ?? + model.get('_error_message') ?? + null; + this.errorMessage.set(initialError); + + // Register event listeners for anywidget updates + model.on('change:page', () => { + this.page.set(model.get('page')); + }); + model.on('change:page_size', () => { + this.pageSize.set(model.get('page_size')); + }); + model.on('change:max_columns', () => { + this.maxColumns.set(model.get('max_columns')); + }); + model.on('change:row_count', () => { + this.rowCount.set(model.get('row_count')); + }); + model.on('change:table_html', () => { + this.tableHtml.set(model.get('table_html')); + }); + model.on('change:sort_context', () => { + this.sortContext.set(model.get('sort_context')); + }); + model.on('change:orderable_columns', () => { + this.orderableColumns.set(model.get('orderable_columns')); + }); + + // Robust dual-listen pattern for error messages (with/without underscore) + const handleErrorChange = () => { + const err = + model.get('error_message') ?? + model.get('_error_message') ?? + null; + this.errorMessage.set(err); + }; + model.on('change:error_message', handleErrorChange); + model.on('change:_error_message', handleErrorChange); + } + } + + setPage(page: number) { + this.page.set(page); + if (this.model) { + this.model.set('page', page); + this.model.save_changes(); + } + } + + setPageSize(pageSize: number) { + this.pageSize.set(pageSize); + if (this.model) { + this.model.set('page_size', pageSize); + // Reset to page 0 on page size change + this.model.set('page', 0); + this.model.save_changes(); + } + } + + setMaxColumns(maxColumns: number) { + this.maxColumns.set(maxColumns); + if (this.model) { + this.model.set('max_columns', maxColumns); + this.model.save_changes(); + } + } + + setSortContext(context: SortItem[]) { + this.sortContext.set(context); + if (this.model) { + this.model.set('sort_context', context); + this.model.save_changes(); + } + } +} From 3b4f7d7c807eadc9b21dae795e63c12570cceeb0 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Tue, 19 May 2026 20:59:04 +0000 Subject: [PATCH 19/42] fix(display): cast JSON and nested struct columns to string for anywidget rendering --- packages/bigframes/bigframes/dataframe.py | 67 +- packages/bigframes/bigframes/display/html.py | 18 +- .../notebooks/dataframes/anywidget_mode.ipynb | 578 +++++++++--------- .../tests/unit/display/test_anywidget.py | 66 ++ 4 files changed, 399 insertions(+), 330 deletions(-) diff --git a/packages/bigframes/bigframes/dataframe.py b/packages/bigframes/bigframes/dataframe.py index 33ca3b0a4ce9..52e621373496 100644 --- a/packages/bigframes/bigframes/dataframe.py +++ b/packages/bigframes/bigframes/dataframe.py @@ -820,8 +820,20 @@ def __repr__(self) -> str: ) def _get_display_df_and_blob_cols(self) -> tuple[DataFrame, list[str]]: - """Process ObjectRef columns for display. (Deprecated)""" - return self, [] + """Process ObjectRef and JSON/nested JSON columns for display.""" + df = self + # Arrow/Pandas to_pandas_batches does not support raw JSON/nested JSON + # columns. Pre-serialize them to string format to bypass this limit. + # Using TO_JSON_STRING via SqlScalarOp handles complex nested STRUCT + # types correctly. + for col in df.columns: + if bigframes.dtypes.contains_db_dtypes_json_dtype(df[col].dtype): + op = ops.SqlScalarOp( + _output_type=bigframes.dtypes.STRING_DTYPE, + sql_template="TO_JSON_STRING({0})", + ) + df = df.assign(**{col: df[col]._apply_unary_op(op)}) + return df, [] def _repr_mimebundle_(self, include=None, exclude=None): """ @@ -1598,7 +1610,8 @@ def to_pandas( # type: ignore[overload-overlap] ordered: bool = ..., dry_run: Literal[False] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.DataFrame: ... + ) -> pandas.DataFrame: + ... @overload def to_pandas( @@ -1610,7 +1623,8 @@ def to_pandas( ordered: bool = ..., dry_run: Literal[True] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.Series: ... + ) -> pandas.Series: + ... def to_pandas( self, @@ -1924,7 +1938,8 @@ def drop( columns: Union[blocks.Label, Sequence[blocks.Label]] = None, level: typing.Optional[LevelType] = None, inplace: Literal[False] = False, - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def drop( @@ -1936,7 +1951,8 @@ def drop( columns: Union[blocks.Label, Sequence[blocks.Label]] = None, level: typing.Optional[LevelType] = None, inplace: Literal[True], - ) -> None: ... + ) -> None: + ... def drop( self, @@ -2080,17 +2096,20 @@ def _resolve_levels(self, level: LevelsType) -> typing.Sequence[str]: return self._block.index.resolve_level(level) @overload - def rename(self, *, columns: Mapping[blocks.Label, blocks.Label]) -> DataFrame: ... + def rename(self, *, columns: Mapping[blocks.Label, blocks.Label]) -> DataFrame: + ... @overload def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: Literal[False] - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: Literal[True] - ) -> None: ... + ) -> None: + ... def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: bool = False @@ -2107,7 +2126,8 @@ def rename( def rename_axis( self, mapper: typing.Union[blocks.Label, typing.Sequence[blocks.Label]], - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def rename_axis( @@ -2116,7 +2136,8 @@ def rename_axis( *, inplace: Literal[False], **kwargs, - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def rename_axis( @@ -2125,7 +2146,8 @@ def rename_axis( *, inplace: Literal[True], **kwargs, - ) -> None: ... + ) -> None: + ... def rename_axis( self, @@ -2321,7 +2343,8 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def reset_index( @@ -2333,7 +2356,8 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> None: ... + ) -> None: + ... @overload def reset_index( @@ -2345,7 +2369,8 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> Optional[DataFrame]: ... + ) -> Optional[DataFrame]: + ... def reset_index( self, @@ -2409,7 +2434,8 @@ def sort_index( inplace: Literal[False] = ..., kind: str | None = ..., na_position: Literal["first", "last"] = ..., - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def sort_index( @@ -2419,7 +2445,8 @@ def sort_index( inplace: Literal[True] = ..., kind: str | None = ..., na_position: Literal["first", "last"] = ..., - ) -> None: ... + ) -> None: + ... def sort_index( self, @@ -2469,7 +2496,8 @@ def sort_values( ascending: bool | typing.Sequence[bool] = ..., kind: str | None = ..., na_position: typing.Literal["first", "last"] = ..., - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def sort_values( @@ -2480,7 +2508,8 @@ def sort_values( ascending: bool | typing.Sequence[bool] = ..., kind: str | None = ..., na_position: typing.Literal["first", "last"] = ..., - ) -> None: ... + ) -> None: + ... def sort_values( self, diff --git a/packages/bigframes/bigframes/display/html.py b/packages/bigframes/bigframes/display/html.py index f067a6e11f1e..b8e182b7f459 100644 --- a/packages/bigframes/bigframes/display/html.py +++ b/packages/bigframes/bigframes/display/html.py @@ -242,7 +242,9 @@ def get_anywidget_bundle( if isinstance(obj, Series): df = obj.to_frame() else: - df, _ = obj._get_display_df_and_blob_cols() + df = obj + + df, _ = df._get_display_df_and_blob_cols() widget = display.TableWidget(df) widget_repr_result = widget._repr_mimebundle_(include=include, exclude=exclude) @@ -294,14 +296,14 @@ def repr_mimebundle_head( opts = options.display if isinstance(obj, Series): - pandas_df, row_count, query_job = obj._block.retrieve_repr_request_results( - opts.max_rows - ) + df = obj.to_frame() else: - df, _ = obj._get_display_df_and_blob_cols() - pandas_df, row_count, query_job = df._block.retrieve_repr_request_results( - opts.max_rows - ) + df = obj + + df, _ = df._get_display_df_and_blob_cols() + pandas_df, row_count, query_job = df._block.retrieve_repr_request_results( + opts.max_rows + ) obj._set_internal_query_job(query_job) column_count = len(pandas_df.columns) diff --git a/packages/bigframes/notebooks/dataframes/anywidget_mode.ipynb b/packages/bigframes/notebooks/dataframes/anywidget_mode.ipynb index 403aec53d6ac..fa9de468c6a7 100644 --- a/packages/bigframes/notebooks/dataframes/anywidget_mode.ipynb +++ b/packages/bigframes/notebooks/dataframes/anywidget_mode.ipynb @@ -1,8 +1,11 @@ { "cells": [ { - "id": "d10bfca4", "cell_type": "code", + "execution_count": 1, + "id": "d10bfca4", + "metadata": {}, + "outputs": [], "source": [ "# Copyright 2025 Google LLC\n", "#\n", @@ -17,33 +20,30 @@ "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", "# See the License for the specific language governing permissions and\n", "# limitations under the License." - ], - "metadata": {}, - "execution_count": 1, - "outputs": [] + ] }, { - "id": "acca43ae", "cell_type": "markdown", + "id": "acca43ae", + "metadata": {}, "source": [ "# Demo to Show Anywidget mode" - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "ca22f059", "cell_type": "code", + "execution_count": 2, + "id": "ca22f059", + "metadata": {}, + "outputs": [], "source": [ "import bigframes.pandas as bpd" - ], - "metadata": {}, - "execution_count": 2, - "outputs": [] + ] }, { - "id": "04406a4d", "cell_type": "markdown", + "id": "04406a4d", + "metadata": {}, "source": [ "This notebook demonstrates the **anywidget** display mode for BigQuery DataFrames. This mode provides an interactive table experience for exploring your data directly within the notebook.\n", "\n", @@ -53,55 +53,47 @@ "- **Column Sorting:** Click column headers to toggle between ascending, descending, and unsorted views. Use **Shift + Click** to sort by multiple columns.\n", "- **Column Resizing:** Drag the dividers between column headers to adjust their width.\n", "- **Max Columns Control:** Limit the number of displayed columns to improve performance and readability for wide datasets." - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "1bc5aaf3", "cell_type": "code", + "execution_count": 3, + "id": "1bc5aaf3", + "metadata": {}, + "outputs": [], "source": [ "bpd.options.bigquery.ordering_mode = \"partial\"\n", "bpd.options.display.render_mode = \"anywidget\"" - ], - "metadata": {}, - "execution_count": 3, - "outputs": [] + ] }, { - "id": "0a354c69", "cell_type": "markdown", + "id": "0a354c69", + "metadata": {}, "source": [ "Load Sample Data" - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "interactive-df-header", "cell_type": "markdown", + "id": "interactive-df-header", + "metadata": {}, "source": [ "## 1. Interactive DataFrame Display\n", "Loading a dataset from BigQuery automatically renders the interactive widget." - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "f289d250", "cell_type": "code", - "source": [ - "df = bpd.read_gbq(\"bigquery-public-data.usa_names.usa_1910_2013\")\n", - "print(df)" - ], - "metadata": {}, "execution_count": 4, + "id": "f289d250", + "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", - " Query processed 0 Bytes in a moment of slot time.\n", + " Query processed 171.4 MB in 18 seconds of slot time. [Job bigframes-dev:US.203a321c-f2fe-4d22-9b33-5b92ee6be06d details]\n", " " ], "text/plain": [ @@ -116,36 +108,37 @@ "output_type": "stream", "text": [ "state gender year name number\n", - " AL F 1910 Cora 61\n", - " AL F 1910 Anna 74\n", - " AR F 1910 Willie 132\n", - " CO F 1910 Anna 42\n", - " FL F 1910 Louise 70\n", - " GA F 1910 Catherine 57\n", - " IL F 1910 Jessie 43\n", - " IN F 1910 Anna 100\n", - " IN F 1910 Pauline 77\n", - " IN F 1910 Beulah 39\n", + " AL F 1910 Hazel 51\n", + " AL F 1910 Lucy 76\n", + " AR F 1910 Nellie 39\n", + " AR F 1910 Lena 40\n", + " CO F 1910 Thelma 36\n", + " CO F 1910 Ruth 68\n", + " CT F 1910 Elizabeth 86\n", + " DC F 1910 Mary 80\n", + " FL F 1910 Annie 101\n", + " FL F 1910 Alma 39\n", "...\n", "\n", "[5552452 rows x 5 columns]\n" ] } + ], + "source": [ + "df = bpd.read_gbq(\"bigquery-public-data.usa_names.usa_1910_2013\")\n", + "print(df)" ] }, { - "id": "220340b0", "cell_type": "code", - "source": [ - "df" - ], - "metadata": {}, "execution_count": 5, + "id": "220340b0", + "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d75a0d81724f4776ae1a592369e78946", + "model_id": "e54feadd75cc4daebde26c92e12845d4", "version_major": 2, "version_minor": 1 }, @@ -181,80 +174,80 @@ " AL\n", " F\n", " 1910\n", - " Annie\n", - " 482\n", + " Hazel\n", + " 51\n", " \n", " \n", " 1\n", " AL\n", " F\n", " 1910\n", - " Myrtle\n", - " 104\n", + " Lucy\n", + " 76\n", " \n", " \n", " 2\n", " AR\n", " F\n", " 1910\n", - " Lillian\n", - " 56\n", + " Nellie\n", + " 39\n", " \n", " \n", " 3\n", - " CT\n", + " AR\n", " F\n", " 1910\n", - " Anne\n", - " 38\n", + " Lena\n", + " 40\n", " \n", " \n", " 4\n", - " CT\n", + " CO\n", " F\n", " 1910\n", - " Frances\n", - " 45\n", + " Thelma\n", + " 36\n", " \n", " \n", " 5\n", - " FL\n", + " CO\n", " F\n", " 1910\n", - " Margaret\n", - " 53\n", + " Ruth\n", + " 68\n", " \n", " \n", " 6\n", - " GA\n", + " CT\n", " F\n", " 1910\n", - " Mae\n", - " 73\n", + " Elizabeth\n", + " 86\n", " \n", " \n", " 7\n", - " GA\n", + " DC\n", " F\n", " 1910\n", - " Beatrice\n", - " 96\n", + " Mary\n", + " 80\n", " \n", " \n", " 8\n", - " GA\n", + " FL\n", " F\n", " 1910\n", - " Lola\n", - " 47\n", + " Annie\n", + " 101\n", " \n", " \n", " 9\n", - " IA\n", + " FL\n", " F\n", " 1910\n", - " Viola\n", - " 49\n", + " Alma\n", + " 39\n", " \n", " \n", "\n", @@ -262,17 +255,17 @@ "
[5552452 rows x 5 columns in total]" ], "text/plain": [ - "state gender year name number\n", - " AL F 1910 Annie 482\n", - " AL F 1910 Myrtle 104\n", - " AR F 1910 Lillian 56\n", - " CT F 1910 Anne 38\n", - " CT F 1910 Frances 45\n", - " FL F 1910 Margaret 53\n", - " GA F 1910 Mae 73\n", - " GA F 1910 Beatrice 96\n", - " GA F 1910 Lola 47\n", - " IA F 1910 Viola 49\n", + "state gender year name number\n", + " AL F 1910 Hazel 51\n", + " AL F 1910 Lucy 76\n", + " AR F 1910 Nellie 39\n", + " AR F 1910 Lena 40\n", + " CO F 1910 Thelma 36\n", + " CO F 1910 Ruth 68\n", + " CT F 1910 Elizabeth 86\n", + " DC F 1910 Mary 80\n", + " FL F 1910 Annie 101\n", + " FL F 1910 Alma 39\n", "...\n", "\n", "[5552452 rows x 5 columns]" @@ -282,48 +275,31 @@ "metadata": {}, "output_type": "execute_result" } + ], + "source": [ + "df" ] }, { - "id": "3a73e472", "cell_type": "markdown", + "id": "3a73e472", + "metadata": {}, "source": [ "## 2. Interactive Series Display\n", "BigQuery DataFrames `Series` objects now also support the full interactive widget experience, including pagination and formatting." - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "42bb02ab", "cell_type": "code", - "source": [ - "test_series = df[\"year\"]\n", - "# Displaying the series triggers the interactive widget\n", - "print(test_series)" - ], - "metadata": {}, "execution_count": 6, + "id": "42bb02ab", + "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", - " Query processed 171.4 MB in 46 seconds of slot time. [Job bigframes-dev:US.dcf260e0-eaad-4979-9ec6-12f2436698e4 details]\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " Query processed 88.8 MB in a moment of slot time.\n", + " Query processed 44.4 MB in a moment of slot time.\n", " " ], "text/plain": [ @@ -337,71 +313,72 @@ "name": "stdout", "output_type": "stream", "text": [ - "1910\n", - "1910\n", - "1910\n", - "1910\n", - "1910\n", - "1910\n", - "1910\n", - "1910\n", - "1910\n", - "1910\n", + "1999\n", + "2008\n", + "1966\n", + "1980\n", + "1991\n", + "2011\n", + "1985\n", + "2006\n", + "1984\n", + "1970\n", "Name: year, dtype: Int64\n", "...\n", "\n", "[5552452 rows]\n" ] } + ], + "source": [ + "test_series = df[\"year\"]\n", + "# Displaying the series triggers the interactive widget\n", + "print(test_series)" ] }, { - "id": "7bcf1bb7", "cell_type": "markdown", + "id": "7bcf1bb7", + "metadata": {}, "source": [ "Display with Pagination" - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "da23e0f3", "cell_type": "code", - "source": [ - "test_series" - ], - "metadata": {}, "execution_count": 7, + "id": "da23e0f3", + "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8e1b0e50cacb4315a231913b321cff55", + "model_id": "eaf3f67239f640f5920e61c511ed135f", "version_major": 2, "version_minor": 1 }, "text/html": [ - "
0    1910\n",
-       "1    1910\n",
-       "2    1910\n",
-       "3    1910\n",
+       "
0    1912\n",
+       "1    1913\n",
+       "2    1912\n",
+       "3    1911\n",
        "4    1910\n",
        "5    1910\n",
-       "6    1910\n",
-       "7    1910\n",
-       "8    1910\n",
+       "6    1912\n",
+       "7    1912\n",
+       "8    1912\n",
        "9    1910

[5552452 rows]

" ], "text/plain": [ + "1912\n", + "1913\n", + "1912\n", + "1911\n", "1910\n", "1910\n", - "1910\n", - "1910\n", - "1910\n", - "1910\n", - "1910\n", - "1910\n", - "1910\n", + "1912\n", + "1912\n", + "1912\n", "1910\n", "Name: year, dtype: Int64\n", "...\n", @@ -413,11 +390,15 @@ "metadata": {}, "output_type": "execute_result" } + ], + "source": [ + "test_series" ] }, { - "id": "sorting-intro", "cell_type": "markdown", + "id": "sorting-intro", + "metadata": {}, "source": [ "### Sorting by Column(s)\n", "You can sort the table by clicking on the headers of columns that have orderable data types (like numbers, strings, and dates). Non-orderable columns (like arrays or structs) do not have sorting controls.\n", @@ -433,58 +414,42 @@ "- **Shift + Click:** Hold the `Shift` key while clicking additional column headers to add them to the sort order. \n", "- Each column in a multi-sort also cycles through the three states (Ascending, Descending, Unsorted).\n", "- **Indicator visibility:** Sorting indicators (▲, ▼) are always visible for all columns currently included in the sort. The unsorted indicator (●) is only visible when you hover over an unsorted column header." - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "adjustable-width-intro", "cell_type": "markdown", + "id": "adjustable-width-intro", + "metadata": {}, "source": [ "### Adjustable Column Widths\n", "You can easily adjust the width of any column in the table. Simply hover your mouse over the vertical dividers between column headers. When the cursor changes to a resize icon, click and drag to expand or shrink the column to your desired width. This allows for better readability and customization of your table view.\n", "\n", "### Control Maximum Columns\n", "You can control the number of columns displayed in the widget using the **Max columns** dropdown in the footer. This is useful for wide DataFrames where you want to focus on a subset of columns or improve rendering performance. Options include 3, 5, 7, 10, 20, or All." - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "bb15bab6", "cell_type": "markdown", + "id": "bb15bab6", + "metadata": {}, "source": [ "Programmatic Navigation Demo" - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "programmatic-header", "cell_type": "markdown", + "id": "programmatic-header", + "metadata": {}, "source": [ "## 3. Programmatic Widget Control\n", "You can also instantiate the `TableWidget` directly for more control, such as checking page counts or driving navigation programmatically." - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "6920d49b", "cell_type": "code", - "source": [ - "from bigframes.display.anywidget import TableWidget\n", - "import math\n", - " \n", - "# Create widget programmatically \n", - "widget = TableWidget(df)\n", - "print(f\"Total pages: {math.ceil(widget.row_count / widget.page_size)}\")\n", - " \n", - "# Display the widget\n", - "widget" - ], - "metadata": {}, "execution_count": 8, + "id": "6920d49b", + "metadata": {}, "outputs": [ { "name": "stdout", @@ -496,46 +461,44 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b7f188a72de440359e402d8e41de26a9", + "model_id": "4d9628899c764cf19a97a2a2f8b18311", "version_major": 2, "version_minor": 1 }, "text/plain": [ - "" + "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } + ], + "source": [ + "from bigframes.display.anywidget import TableWidget\n", + "import math\n", + " \n", + "# Create widget programmatically \n", + "widget = TableWidget(df)\n", + "print(f\"Total pages: {math.ceil(widget.row_count / widget.page_size)}\")\n", + " \n", + "# Display the widget\n", + "widget" ] }, { - "id": "02cbd1be", "cell_type": "markdown", + "id": "02cbd1be", + "metadata": {}, "source": [ "Test Navigation Programmatically" - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "12b68f15", "cell_type": "code", - "source": [ - "# Simulate button clicks programmatically\n", - "print(\"Current page:\", widget.page)\n", - "\n", - "# Go to next page\n", - "widget.page = 1\n", - "print(\"After next:\", widget.page)\n", - "\n", - "# Go to previous page\n", - "widget.page = 0\n", - "print(\"After prev:\", widget.page)" - ], - "metadata": {}, "execution_count": 9, + "id": "12b68f15", + "metadata": {}, "outputs": [ { "name": "stdout", @@ -546,30 +509,34 @@ "After prev: 0\n" ] } + ], + "source": [ + "# Simulate button clicks programmatically\n", + "print(\"Current page:\", widget.page)\n", + "\n", + "# Go to next page\n", + "widget.page = 1\n", + "print(\"After next:\", widget.page)\n", + "\n", + "# Go to previous page\n", + "widget.page = 0\n", + "print(\"After prev:\", widget.page)" ] }, { - "id": "9d310138", "cell_type": "markdown", + "id": "9d310138", + "metadata": {}, "source": [ "## 4. Edge Cases\n", "The widget handles small datasets gracefully, disabling unnecessary pagination controls." - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "a9d5d13a", "cell_type": "code", - "source": [ - "# Test with very small dataset\n", - "small_df = df.sort_values([\"name\", \"year\", \"state\"]).head(5)\n", - "small_widget = TableWidget(small_df)\n", - "print(f\"Small dataset pages: {math.ceil(small_widget.row_count / small_widget.page_size)}\")\n", - "small_widget" - ], - "metadata": {}, "execution_count": 10, + "id": "a9d5d13a", + "metadata": {}, "outputs": [ { "name": "stdout", @@ -581,63 +548,56 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cf507362c97b4ccf9084997d03d65290", + "model_id": "8b8d98715c58418aa37f90ebcc89ea6a", "version_major": 2, "version_minor": 1 }, "text/plain": [ - "" + "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } + ], + "source": [ + "# Test with very small dataset\n", + "small_df = df.sort_values([\"name\", \"year\", \"state\"]).head(5)\n", + "small_widget = TableWidget(small_df)\n", + "print(f\"Small dataset pages: {math.ceil(small_widget.row_count / small_widget.page_size)}\")\n", + "small_widget" ] }, { - "id": "added-cell-2", "cell_type": "markdown", + "id": "added-cell-2", + "metadata": {}, "source": [ "### Displaying Generative AI results containing JSON\n", "The `AI.GENERATE` function in BigQuery returns results in a JSON column. While BigQuery's JSON type is not natively supported by the underlying Arrow `to_pandas_batches()` method used in anywidget mode ([Apache Arrow issue #45262](https://github.com/apache/arrow/issues/45262)), BigQuery Dataframes automatically converts JSON columns to strings for display. This allows you to view the results of generative AI functions seamlessly." - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "ai-header", "cell_type": "markdown", + "id": "ai-header", + "metadata": {}, "source": [ "## 5. Advanced Data Types (JSON/Structs)\n", "The `AI.GENERATE` function in BigQuery returns results in a JSON column. BigQuery Dataframes automatically handles complex types like JSON strings for display, allowing you to view generative AI results seamlessly." - ], - "metadata": {}, - "execution_count": null + ] }, { - "id": "added-cell-1", "cell_type": "code", - "source": [ - "bpd.read_gbq(\"\"\"\n", - " SELECT\n", - " AI.GENERATE(\n", - " prompt=>(\"Extract the values.\", OBJ.GET_ACCESS_URL(OBJ.FETCH_METADATA(OBJ.MAKE_REF(gcs_path, \"us.conn\")), \"r\")),\n", - " connection_id=>\"your-project-id.your-location.your-connection\",\n", - " output_schema=>\"publication_date string, class_international string, application_number string, filing_date string\") AS result,\n", - " *\n", - " FROM `bigquery-public-data.labeled_patents.extracted_data`\n", - " LIMIT 5;\n", - "\"\"\")" - ], - "metadata": {}, "execution_count": 11, + "id": "75000341", + "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", - " Query processed 85.9 kB in 28 seconds of slot time.\n", + " Query processed 85.9 kB in 46 seconds of slot time. [Job bigframes-dev:US.job_O4H9mHC8iCqXwJfg6fEB7cPmgRfM details]\n", " " ], "text/plain": [ @@ -650,7 +610,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b9dd4b812443455ba32ec71723331a10", + "model_id": "87f8c7b993ee45b6b4d5a56152d40207", "version_major": 2, "version_minor": 1 }, @@ -693,7 +653,25 @@ " \n", " \n", " 0\n", - " {'application_number': None, 'class_internatio...\n", + " {\"application_number\":\"18165514.3\",\"class_inte...\n", + " gs://gcs-public-data--labeled-patents/espacene...\n", + " EU\n", + " DE\n", + " 03.10.2018\n", + " H05B 6/12\n", + " <NA>\n", + " 18165514.3\n", + " 03.04.2018\n", + " 30.03.2017\n", + " <NA>\n", + " BSH Hausger√§te GmbH\n", + " Acero Acero, Jesus\n", + " VORRICHTUNG ZUR INDUKTIVEN ENERGIE√úBERTRAGUNG\n", + " EP 3 383 141 A2\n", + " \n", + " \n", + " 1\n", + " {\"application_number\":\"18157874.1\",\"class_inte...\n", " gs://gcs-public-data--labeled-patents/espacene...\n", " EU\n", " DE\n", @@ -710,8 +688,8 @@ " EP 3 366 869 A1\n", " \n", " \n", - " 1\n", - " {'application_number': None, 'class_internatio...\n", + " 2\n", + " {\"application_number\":\"18157347.8\",\"class_inte...\n", " gs://gcs-public-data--labeled-patents/espacene...\n", " EU\n", " DE\n", @@ -728,8 +706,8 @@ " EP 3 382 553 A1\n", " \n", " \n", - " 2\n", - " {'application_number': None, 'class_internatio...\n", + " 3\n", + " {\"application_number\":\"18171005.4\",\"class_inte...\n", " gs://gcs-public-data--labeled-patents/espacene...\n", " EU\n", " DE\n", @@ -746,26 +724,8 @@ " EP 3 381 276 A1\n", " \n", " \n", - " 3\n", - " {'application_number': None, 'class_internatio...\n", - " gs://gcs-public-data--labeled-patents/espacene...\n", - " EU\n", - " DE\n", - " 03.10.2018\n", - " H05B 6/12\n", - " <NA>\n", - " 18165514.3\n", - " 03.04.2018\n", - " 30.03.2017\n", - " <NA>\n", - " BSH Hausger√§te GmbH\n", - " Acero Acero, Jesus\n", - " VORRICHTUNG ZUR INDUKTIVEN ENERGIE√úBERTRAGUNG\n", - " EP 3 383 141 A2\n", - " \n", - " \n", " 4\n", - " {'application_number': None, 'class_internatio...\n", + " {\"application_number\":\"18166536.5\",\"class_inte...\n", " gs://gcs-public-data--labeled-patents/espacene...\n", " EU\n", " DE\n", @@ -787,47 +747,47 @@ "
[5 rows x 15 columns in total]" ], "text/plain": [ - " result \\\n", - "0 {'application_number': None, 'class_internatio... \n", - "1 {'application_number': None, 'class_internatio... \n", - "2 {'application_number': None, 'class_internatio... \n", - "3 {'application_number': None, 'class_internatio... \n", - "4 {'application_number': None, 'class_internatio... \n", + " result \\\n", + "{\"application_number\":\"18165514.3\",\"class_inter... \n", + "{\"application_number\":\"18157874.1\",\"class_inter... \n", + "{\"application_number\":\"18157347.8\",\"class_inter... \n", + "{\"application_number\":\"18171005.4\",\"class_inter... \n", + "{\"application_number\":\"18166536.5\",\"class_inter... \n", "\n", - " gcs_path issuer language \\\n", - "0 gs://gcs-public-data--labeled-patents/espacene... EU DE \n", - "1 gs://gcs-public-data--labeled-patents/espacene... EU DE \n", - "2 gs://gcs-public-data--labeled-patents/espacene... EU DE \n", - "3 gs://gcs-public-data--labeled-patents/espacene... EU DE \n", - "4 gs://gcs-public-data--labeled-patents/espacene... EU DE \n", + " gcs_path issuer language \\\n", + "gs://gcs-public-data--labeled-patents/espacenet... EU DE \n", + "gs://gcs-public-data--labeled-patents/espacenet... EU DE \n", + "gs://gcs-public-data--labeled-patents/espacenet... EU DE \n", + "gs://gcs-public-data--labeled-patents/espacenet... EU DE \n", + "gs://gcs-public-data--labeled-patents/espacenet... EU DE \n", "\n", - " publication_date class_international class_us application_number \\\n", - "0 29.08.018 E04H 6/12 18157874.1 \n", - "1 03.10.2018 G06F 11/30 18157347.8 \n", - "2 03.10.2018 A01K 31/00 18171005.4 \n", - "3 03.10.2018 H05B 6/12 18165514.3 \n", - "4 03.10.2018 H01L 21/20 18166536.5 \n", + "publication_date class_international class_us application_number filing_date \\\n", + " 03.10.2018 H05B 6/12 18165514.3 03.04.2018 \n", + " 29.08.018 E04H 6/12 18157874.1 21.02.2018 \n", + " 03.10.2018 G06F 11/30 18157347.8 19.02.2018 \n", + " 03.10.2018 A01K 31/00 18171005.4 05.02.2015 \n", + " 03.10.2018 H01L 21/20 18166536.5 16.02.2016 \n", "\n", - " filing_date priority_date_eu representative_line_1_eu \\\n", - "0 21.02.2018 22.02.2017 Liedtke & Partner Patentanwälte \n", - "1 19.02.2018 31.03.2017 Hoffmann Eitle \n", - "2 05.02.2015 05.02.2014 Stork Bamberger Patentanwälte \n", - "3 03.04.2018 30.03.2017 \n", - "4 16.02.2016 Scheider, Sascha et al \n", + "priority_date_eu representative_line_1_eu applicant_line_1 \\\n", + " 30.03.2017 BSH Hausgeräte GmbH \n", + " 22.02.2017 Liedtke & Partner Patentanwälte SHB Hebezeugbau GmbH \n", + " 31.03.2017 Hoffmann Eitle FUJITSU LIMITED \n", + " 05.02.2014 Stork Bamberger Patentanwälte Linco Food Systems A/S \n", + " Scheider, Sascha et al EV Group E. Thallner GmbH \n", "\n", - " applicant_line_1 inventor_line_1 \\\n", - "0 SHB Hebezeugbau GmbH VOLGER, Alexander \n", - "1 FUJITSU LIMITED Kukihara, Kensuke \n", - "2 Linco Food Systems A/S Thrane, Uffe \n", - "3 BSH Hausgeräte GmbH Acero Acero, Jesus \n", - "4 EV Group E. Thallner GmbH Kurz, Florian \n", + " inventor_line_1 title_line_1 \\\n", + "Acero Acero, Jesus VORRICHTUNG ZUR INDUKTIVEN ENERGIEÜBERTRAGUNG \n", + " VOLGER, Alexander STEUERUNGSSYSTEM FÜR AUTOMATISCHE PARKHÄUSER \n", + " Kukihara, Kensuke METHOD EXECUTED BY A COMPUTER, INFORMATION PROC... \n", + " Thrane, Uffe MASTHÄHNCHENCONTAINER ALS BESTANDTEIL EINER EI... \n", + " Kurz, Florian VORRICHTUNG ZUM BONDEN VON SUBSTRATEN \n", "\n", - " title_line_1 number \n", - "0 STEUERUNGSSYSTEM FÜR AUTOMATISCHE PARKHÄUSER EP 3 366 869 A1 \n", - "1 METHOD EXECUTED BY A COMPUTER, INFORMATION PRO... EP 3 382 553 A1 \n", - "2 MASTHÄHNCHENCONTAINER ALS BESTANDTEIL EINER E... EP 3 381 276 A1 \n", - "3 VORRICHTUNG ZUR INDUKTIVEN ENERGIEÜBERTRAGUNG EP 3 383 141 A2 \n", - "4 VORRICHTUNG ZUM BONDEN VON SUBSTRATEN EP 3 382 744 A1 \n", + " number \n", + "EP 3 383 141 A2 \n", + "EP 3 366 869 A1 \n", + "EP 3 382 553 A1 \n", + "EP 3 381 276 A1 \n", + "EP 3 382 744 A1 \n", "\n", "[5 rows x 15 columns]" ] @@ -836,12 +796,24 @@ "metadata": {}, "output_type": "execute_result" } + ], + "source": [ + "bpd.read_gbq(\"\"\"\n", + " SELECT\n", + " AI.GENERATE(\n", + " prompt=>(\"Extract the values.\", OBJ.GET_ACCESS_URL(OBJ.FETCH_METADATA(OBJ.MAKE_REF(gcs_path, \"us.bigframes-default-connection\")), \"r\")),\n", + " connection_id=>\"us.bigframes-default-connection\",\n", + " output_schema=>\"publication_date string, class_international string, application_number string, filing_date string\") AS result,\n", + " *\n", + " FROM `bigquery-public-data.labeled_patents.extracted_data`\n", + " LIMIT 5;\n", + "\"\"\")" ] } ], "metadata": { "kernelspec": { - "display_name": "venv (3.13.0)", + "display_name": ".venv", "language": "python", "name": "python3" }, @@ -858,6 +830,6 @@ "version": "3.13.0" } }, - "nbformat_minor": 5, - "nbformat": 4 + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/packages/bigframes/tests/unit/display/test_anywidget.py b/packages/bigframes/tests/unit/display/test_anywidget.py index d8c8c64cebeb..80ecd523e678 100644 --- a/packages/bigframes/tests/unit/display/test_anywidget.py +++ b/packages/bigframes/tests/unit/display/test_anywidget.py @@ -179,3 +179,69 @@ def test_page_size_change_resets_sort(mock_df): # to_pandas_batches called again (reset) assert mock_df.to_pandas_batches.call_count >= 2 + + +def test_json_column_converted_to_string_for_display(): + from bigframes.dtypes import JSON_DTYPE, STRING_DTYPE + from bigframes.dataframe import DataFrame + from bigframes.core.blocks import Block + from bigframes.operations import SqlScalarOp + + mock_block = mock.Mock(spec=Block) + mock_block.column_labels = pd.Index(["col_json"]) + mock_block.value_columns = ["col_json"] + + df = DataFrame(mock_block) + df._block = mock_block + + mock_series = mock.Mock() + mock_series.dtype = JSON_DTYPE + + with mock.patch.object(DataFrame, "__getitem__", return_value=mock_series): + with mock.patch.object(DataFrame, "assign") as mock_assign: + df._get_display_df_and_blob_cols() + + mock_assign.assert_called_once() + _, kwargs = mock_assign.call_args + assert "col_json" in kwargs + + mock_series._apply_unary_op.assert_called_once() + call_arg = mock_series._apply_unary_op.call_args[0][0] + assert isinstance(call_arg, SqlScalarOp) + assert call_arg._output_type == STRING_DTYPE + assert call_arg.sql_template == "TO_JSON_STRING({0})" + + +def test_struct_column_with_nested_json_converted_to_string_for_display(): + from bigframes.dtypes import JSON_DTYPE, STRING_DTYPE, struct_type + from bigframes.dataframe import DataFrame + from bigframes.core.blocks import Block + from bigframes.operations import SqlScalarOp + + nested_struct_dtype = struct_type( + [("field1", STRING_DTYPE), ("field2", JSON_DTYPE)] + ) + + mock_block = mock.Mock(spec=Block) + mock_block.column_labels = pd.Index(["col_struct"]) + mock_block.value_columns = ["col_struct"] + + df = DataFrame(mock_block) + df._block = mock_block + + mock_series = mock.Mock() + mock_series.dtype = nested_struct_dtype + + with mock.patch.object(DataFrame, "__getitem__", return_value=mock_series): + with mock.patch.object(DataFrame, "assign") as mock_assign: + df._get_display_df_and_blob_cols() + + mock_assign.assert_called_once() + _, kwargs = mock_assign.call_args + assert "col_struct" in kwargs + + mock_series._apply_unary_op.assert_called_once() + call_arg = mock_series._apply_unary_op.call_args[0][0] + assert isinstance(call_arg, SqlScalarOp) + assert call_arg._output_type == STRING_DTYPE + assert call_arg.sql_template == "TO_JSON_STRING({0})" From cef151803556e191f37164e39f38511775078a4f Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Tue, 19 May 2026 20:59:42 +0000 Subject: [PATCH 20/42] format code --- packages/bigframes/bigframes/dataframe.py | 51 +++++++------------ .../tests/unit/display/test_anywidget.py | 8 +-- 2 files changed, 21 insertions(+), 38 deletions(-) diff --git a/packages/bigframes/bigframes/dataframe.py b/packages/bigframes/bigframes/dataframe.py index 52e621373496..3cb620b73462 100644 --- a/packages/bigframes/bigframes/dataframe.py +++ b/packages/bigframes/bigframes/dataframe.py @@ -1610,8 +1610,7 @@ def to_pandas( # type: ignore[overload-overlap] ordered: bool = ..., dry_run: Literal[False] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.DataFrame: - ... + ) -> pandas.DataFrame: ... @overload def to_pandas( @@ -1623,8 +1622,7 @@ def to_pandas( ordered: bool = ..., dry_run: Literal[True] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.Series: - ... + ) -> pandas.Series: ... def to_pandas( self, @@ -1938,8 +1936,7 @@ def drop( columns: Union[blocks.Label, Sequence[blocks.Label]] = None, level: typing.Optional[LevelType] = None, inplace: Literal[False] = False, - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def drop( @@ -1951,8 +1948,7 @@ def drop( columns: Union[blocks.Label, Sequence[blocks.Label]] = None, level: typing.Optional[LevelType] = None, inplace: Literal[True], - ) -> None: - ... + ) -> None: ... def drop( self, @@ -2096,20 +2092,17 @@ def _resolve_levels(self, level: LevelsType) -> typing.Sequence[str]: return self._block.index.resolve_level(level) @overload - def rename(self, *, columns: Mapping[blocks.Label, blocks.Label]) -> DataFrame: - ... + def rename(self, *, columns: Mapping[blocks.Label, blocks.Label]) -> DataFrame: ... @overload def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: Literal[False] - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: Literal[True] - ) -> None: - ... + ) -> None: ... def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: bool = False @@ -2126,8 +2119,7 @@ def rename( def rename_axis( self, mapper: typing.Union[blocks.Label, typing.Sequence[blocks.Label]], - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def rename_axis( @@ -2136,8 +2128,7 @@ def rename_axis( *, inplace: Literal[False], **kwargs, - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def rename_axis( @@ -2146,8 +2137,7 @@ def rename_axis( *, inplace: Literal[True], **kwargs, - ) -> None: - ... + ) -> None: ... def rename_axis( self, @@ -2343,8 +2333,7 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def reset_index( @@ -2356,8 +2345,7 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> None: - ... + ) -> None: ... @overload def reset_index( @@ -2369,8 +2357,7 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> Optional[DataFrame]: - ... + ) -> Optional[DataFrame]: ... def reset_index( self, @@ -2434,8 +2421,7 @@ def sort_index( inplace: Literal[False] = ..., kind: str | None = ..., na_position: Literal["first", "last"] = ..., - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def sort_index( @@ -2445,8 +2431,7 @@ def sort_index( inplace: Literal[True] = ..., kind: str | None = ..., na_position: Literal["first", "last"] = ..., - ) -> None: - ... + ) -> None: ... def sort_index( self, @@ -2496,8 +2481,7 @@ def sort_values( ascending: bool | typing.Sequence[bool] = ..., kind: str | None = ..., na_position: typing.Literal["first", "last"] = ..., - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def sort_values( @@ -2508,8 +2492,7 @@ def sort_values( ascending: bool | typing.Sequence[bool] = ..., kind: str | None = ..., na_position: typing.Literal["first", "last"] = ..., - ) -> None: - ... + ) -> None: ... def sort_values( self, diff --git a/packages/bigframes/tests/unit/display/test_anywidget.py b/packages/bigframes/tests/unit/display/test_anywidget.py index 80ecd523e678..ef9a6cafd913 100644 --- a/packages/bigframes/tests/unit/display/test_anywidget.py +++ b/packages/bigframes/tests/unit/display/test_anywidget.py @@ -182,9 +182,9 @@ def test_page_size_change_resets_sort(mock_df): def test_json_column_converted_to_string_for_display(): - from bigframes.dtypes import JSON_DTYPE, STRING_DTYPE - from bigframes.dataframe import DataFrame from bigframes.core.blocks import Block + from bigframes.dataframe import DataFrame + from bigframes.dtypes import JSON_DTYPE, STRING_DTYPE from bigframes.operations import SqlScalarOp mock_block = mock.Mock(spec=Block) @@ -213,9 +213,9 @@ def test_json_column_converted_to_string_for_display(): def test_struct_column_with_nested_json_converted_to_string_for_display(): - from bigframes.dtypes import JSON_DTYPE, STRING_DTYPE, struct_type - from bigframes.dataframe import DataFrame from bigframes.core.blocks import Block + from bigframes.dataframe import DataFrame + from bigframes.dtypes import JSON_DTYPE, STRING_DTYPE, struct_type from bigframes.operations import SqlScalarOp nested_struct_dtype = struct_type( From 5282e6d03b3213d9cb4f50934aa917899b7fc0d3 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Tue, 19 May 2026 21:07:20 +0000 Subject: [PATCH 21/42] opt(display): batch df.assign calls for json display serialization --- packages/bigframes/bigframes/dataframe.py | 69 +++++++++++++++-------- 1 file changed, 45 insertions(+), 24 deletions(-) diff --git a/packages/bigframes/bigframes/dataframe.py b/packages/bigframes/bigframes/dataframe.py index 3cb620b73462..e64d2174bc69 100644 --- a/packages/bigframes/bigframes/dataframe.py +++ b/packages/bigframes/bigframes/dataframe.py @@ -826,13 +826,17 @@ def _get_display_df_and_blob_cols(self) -> tuple[DataFrame, list[str]]: # columns. Pre-serialize them to string format to bypass this limit. # Using TO_JSON_STRING via SqlScalarOp handles complex nested STRUCT # types correctly. - for col in df.columns: - if bigframes.dtypes.contains_db_dtypes_json_dtype(df[col].dtype): - op = ops.SqlScalarOp( - _output_type=bigframes.dtypes.STRING_DTYPE, - sql_template="TO_JSON_STRING({0})", - ) - df = df.assign(**{col: df[col]._apply_unary_op(op)}) + json_cols = [ + col + for col in df.columns + if bigframes.dtypes.contains_db_dtypes_json_dtype(df[col].dtype) + ] + if json_cols: + op = ops.SqlScalarOp( + _output_type=bigframes.dtypes.STRING_DTYPE, + sql_template="TO_JSON_STRING({0})", + ) + df = df.assign(**{col: df[col]._apply_unary_op(op) for col in json_cols}) return df, [] def _repr_mimebundle_(self, include=None, exclude=None): @@ -1610,7 +1614,8 @@ def to_pandas( # type: ignore[overload-overlap] ordered: bool = ..., dry_run: Literal[False] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.DataFrame: ... + ) -> pandas.DataFrame: + ... @overload def to_pandas( @@ -1622,7 +1627,8 @@ def to_pandas( ordered: bool = ..., dry_run: Literal[True] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.Series: ... + ) -> pandas.Series: + ... def to_pandas( self, @@ -1936,7 +1942,8 @@ def drop( columns: Union[blocks.Label, Sequence[blocks.Label]] = None, level: typing.Optional[LevelType] = None, inplace: Literal[False] = False, - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def drop( @@ -1948,7 +1955,8 @@ def drop( columns: Union[blocks.Label, Sequence[blocks.Label]] = None, level: typing.Optional[LevelType] = None, inplace: Literal[True], - ) -> None: ... + ) -> None: + ... def drop( self, @@ -2092,17 +2100,20 @@ def _resolve_levels(self, level: LevelsType) -> typing.Sequence[str]: return self._block.index.resolve_level(level) @overload - def rename(self, *, columns: Mapping[blocks.Label, blocks.Label]) -> DataFrame: ... + def rename(self, *, columns: Mapping[blocks.Label, blocks.Label]) -> DataFrame: + ... @overload def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: Literal[False] - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: Literal[True] - ) -> None: ... + ) -> None: + ... def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: bool = False @@ -2119,7 +2130,8 @@ def rename( def rename_axis( self, mapper: typing.Union[blocks.Label, typing.Sequence[blocks.Label]], - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def rename_axis( @@ -2128,7 +2140,8 @@ def rename_axis( *, inplace: Literal[False], **kwargs, - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def rename_axis( @@ -2137,7 +2150,8 @@ def rename_axis( *, inplace: Literal[True], **kwargs, - ) -> None: ... + ) -> None: + ... def rename_axis( self, @@ -2333,7 +2347,8 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def reset_index( @@ -2345,7 +2360,8 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> None: ... + ) -> None: + ... @overload def reset_index( @@ -2357,7 +2373,8 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> Optional[DataFrame]: ... + ) -> Optional[DataFrame]: + ... def reset_index( self, @@ -2421,7 +2438,8 @@ def sort_index( inplace: Literal[False] = ..., kind: str | None = ..., na_position: Literal["first", "last"] = ..., - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def sort_index( @@ -2431,7 +2449,8 @@ def sort_index( inplace: Literal[True] = ..., kind: str | None = ..., na_position: Literal["first", "last"] = ..., - ) -> None: ... + ) -> None: + ... def sort_index( self, @@ -2481,7 +2500,8 @@ def sort_values( ascending: bool | typing.Sequence[bool] = ..., kind: str | None = ..., na_position: typing.Literal["first", "last"] = ..., - ) -> DataFrame: ... + ) -> DataFrame: + ... @overload def sort_values( @@ -2492,7 +2512,8 @@ def sort_values( ascending: bool | typing.Sequence[bool] = ..., kind: str | None = ..., na_position: typing.Literal["first", "last"] = ..., - ) -> None: ... + ) -> None: + ... def sort_values( self, From b3c5577d2fbc169176b7ddf4484e30b806e781a1 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Tue, 19 May 2026 22:08:51 +0000 Subject: [PATCH 22/42] format code --- packages/bigframes/bigframes/dataframe.py | 51 ++++++++--------------- 1 file changed, 17 insertions(+), 34 deletions(-) diff --git a/packages/bigframes/bigframes/dataframe.py b/packages/bigframes/bigframes/dataframe.py index e64d2174bc69..45e02d4e283e 100644 --- a/packages/bigframes/bigframes/dataframe.py +++ b/packages/bigframes/bigframes/dataframe.py @@ -1614,8 +1614,7 @@ def to_pandas( # type: ignore[overload-overlap] ordered: bool = ..., dry_run: Literal[False] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.DataFrame: - ... + ) -> pandas.DataFrame: ... @overload def to_pandas( @@ -1627,8 +1626,7 @@ def to_pandas( ordered: bool = ..., dry_run: Literal[True] = ..., allow_large_results: Optional[bool] = ..., - ) -> pandas.Series: - ... + ) -> pandas.Series: ... def to_pandas( self, @@ -1942,8 +1940,7 @@ def drop( columns: Union[blocks.Label, Sequence[blocks.Label]] = None, level: typing.Optional[LevelType] = None, inplace: Literal[False] = False, - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def drop( @@ -1955,8 +1952,7 @@ def drop( columns: Union[blocks.Label, Sequence[blocks.Label]] = None, level: typing.Optional[LevelType] = None, inplace: Literal[True], - ) -> None: - ... + ) -> None: ... def drop( self, @@ -2100,20 +2096,17 @@ def _resolve_levels(self, level: LevelsType) -> typing.Sequence[str]: return self._block.index.resolve_level(level) @overload - def rename(self, *, columns: Mapping[blocks.Label, blocks.Label]) -> DataFrame: - ... + def rename(self, *, columns: Mapping[blocks.Label, blocks.Label]) -> DataFrame: ... @overload def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: Literal[False] - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: Literal[True] - ) -> None: - ... + ) -> None: ... def rename( self, *, columns: Mapping[blocks.Label, blocks.Label], inplace: bool = False @@ -2130,8 +2123,7 @@ def rename( def rename_axis( self, mapper: typing.Union[blocks.Label, typing.Sequence[blocks.Label]], - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def rename_axis( @@ -2140,8 +2132,7 @@ def rename_axis( *, inplace: Literal[False], **kwargs, - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def rename_axis( @@ -2150,8 +2141,7 @@ def rename_axis( *, inplace: Literal[True], **kwargs, - ) -> None: - ... + ) -> None: ... def rename_axis( self, @@ -2347,8 +2337,7 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def reset_index( @@ -2360,8 +2349,7 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> None: - ... + ) -> None: ... @overload def reset_index( @@ -2373,8 +2361,7 @@ def reset_index( col_fill: Hashable = ..., allow_duplicates: Optional[bool] = ..., names: Union[None, Hashable, Sequence[Hashable]] = ..., - ) -> Optional[DataFrame]: - ... + ) -> Optional[DataFrame]: ... def reset_index( self, @@ -2438,8 +2425,7 @@ def sort_index( inplace: Literal[False] = ..., kind: str | None = ..., na_position: Literal["first", "last"] = ..., - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def sort_index( @@ -2449,8 +2435,7 @@ def sort_index( inplace: Literal[True] = ..., kind: str | None = ..., na_position: Literal["first", "last"] = ..., - ) -> None: - ... + ) -> None: ... def sort_index( self, @@ -2500,8 +2485,7 @@ def sort_values( ascending: bool | typing.Sequence[bool] = ..., kind: str | None = ..., na_position: typing.Literal["first", "last"] = ..., - ) -> DataFrame: - ... + ) -> DataFrame: ... @overload def sort_values( @@ -2512,8 +2496,7 @@ def sort_values( ascending: bool | typing.Sequence[bool] = ..., kind: str | None = ..., na_position: typing.Literal["first", "last"] = ..., - ) -> None: - ... + ) -> None: ... def sort_values( self, From b9c9336d11a3cd85143f937d5958a526e775fc88 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 20 May 2026 19:52:23 +0000 Subject: [PATCH 23/42] feat: propagate cell execution count to widget queries and rename history filter --- packages/bigframes/bigframes/core/blocks.py | 2 ++ .../bigframes/core/global_session.py | 4 ++-- packages/bigframes/bigframes/dataframe.py | 4 ++++ .../bigframes/bigframes/display/anywidget.py | 18 +++++++++++++-- packages/bigframes/bigframes/series.py | 2 ++ .../bigframes/bigframes/session/__init__.py | 6 ++--- .../tests/unit/display/test_anywidget.py | 22 +++++++++++++++++++ 7 files changed, 51 insertions(+), 7 deletions(-) diff --git a/packages/bigframes/bigframes/core/blocks.py b/packages/bigframes/bigframes/core/blocks.py index b9a246fc0360..01ba73458993 100644 --- a/packages/bigframes/bigframes/core/blocks.py +++ b/packages/bigframes/bigframes/core/blocks.py @@ -696,6 +696,7 @@ def to_pandas_batches( page_size: Optional[int] = None, max_results: Optional[int] = None, allow_large_results: Optional[bool] = None, + cell_execution_count: Optional[int] = None, ) -> PandasBatches: """Download results one message at a time. @@ -713,6 +714,7 @@ def to_pandas_batches( execution_spec.ExecutionSpec( promise_under_10gb=under_10gb, ordered=True, + cell_execution_count=cell_execution_count, ), ) result_batches = execution_result.batches() diff --git a/packages/bigframes/bigframes/core/global_session.py b/packages/bigframes/bigframes/core/global_session.py index f9772eed6c88..af802e186a67 100644 --- a/packages/bigframes/bigframes/core/global_session.py +++ b/packages/bigframes/bigframes/core/global_session.py @@ -128,7 +128,7 @@ def execution_history( *, events: Optional[Iterable[bigframes.core.events.Event]] = None, job_ids: Optional[Iterable[str]] = None, - filter_by_cell: bool = True, + current_cell_only: bool = True, ) -> "bigframes.session._ExecutionHistory": import pandas # noqa: F401 @@ -138,7 +138,7 @@ def execution_history( bigframes.session.Session.execution_history, events=events, job_ids=job_ids, - filter_by_cell=filter_by_cell, + current_cell_only=current_cell_only, ) diff --git a/packages/bigframes/bigframes/dataframe.py b/packages/bigframes/bigframes/dataframe.py index 33ca3b0a4ce9..b1d0b98ab6a0 100644 --- a/packages/bigframes/bigframes/dataframe.py +++ b/packages/bigframes/bigframes/dataframe.py @@ -1739,6 +1739,7 @@ def to_pandas_batches( max_results: Optional[int] = None, *, allow_large_results: Optional[bool] = None, + cell_execution_count: Optional[int] = None, ) -> blocks.PandasBatches: """Stream DataFrame results to an iterable of pandas DataFrame. @@ -1791,6 +1792,7 @@ def to_pandas_batches( page_size=page_size, max_results=max_results, allow_large_results=allow_large_results, + cell_execution_count=cell_execution_count, ) def _to_pandas_batches( @@ -1799,11 +1801,13 @@ def _to_pandas_batches( max_results: Optional[int] = None, *, allow_large_results: Optional[bool] = None, + cell_execution_count: Optional[int] = None, ) -> blocks.PandasBatches: return self._block.to_pandas_batches( page_size=page_size, max_results=max_results, allow_large_results=allow_large_results, + cell_execution_count=cell_execution_count, ) def _compute_dry_run(self) -> google.cloud.bigquery.job.QueryJob: diff --git a/packages/bigframes/bigframes/display/anywidget.py b/packages/bigframes/bigframes/display/anywidget.py index 90d285d1b0d7..7a42ea085e61 100644 --- a/packages/bigframes/bigframes/display/anywidget.py +++ b/packages/bigframes/bigframes/display/anywidget.py @@ -92,6 +92,16 @@ def __init__(self, dataframe: bigframes.dataframe.DataFrame): self._dataframe = dataframe + self._cell_execution_count = None + try: + import IPython + + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + self._cell_execution_count = ipy.execution_count + except (ImportError, NameError): + pass + super().__init__() # Initialize attributes that might be needed by observers first @@ -286,7 +296,10 @@ def _reset_batch_cache(self) -> None: def _reset_batches_for_new_page_size(self) -> None: """Reset the batch iterator when page size changes.""" with bigframes.option_context("display.progress_bar", None): - self._batches = self._dataframe.to_pandas_batches(page_size=self.page_size) + self._batches = self._dataframe.to_pandas_batches( + page_size=self.page_size, + cell_execution_count=self._cell_execution_count, + ) self._reset_batch_cache() @@ -318,7 +331,8 @@ def _set_table_html(self) -> None: current_sort_state = _SortState(tuple(sort_columns), tuple(sort_ascending)) if self._last_sort_state != current_sort_state: self._batches = df_to_display.to_pandas_batches( - page_size=self.page_size + page_size=self.page_size, + cell_execution_count=self._cell_execution_count, ) self._reset_batch_cache() self._last_sort_state = current_sort_state diff --git a/packages/bigframes/bigframes/series.py b/packages/bigframes/bigframes/series.py index 87c03395c753..17c05c3f6fc5 100644 --- a/packages/bigframes/bigframes/series.py +++ b/packages/bigframes/bigframes/series.py @@ -756,6 +756,7 @@ def to_pandas_batches( max_results: Optional[int] = None, *, allow_large_results: Optional[bool] = None, + cell_execution_count: Optional[int] = None, ) -> Iterable[pandas.Series]: """Stream Series results to an iterable of pandas Series. @@ -808,6 +809,7 @@ def to_pandas_batches( page_size=page_size, max_results=max_results, allow_large_results=allow_large_results, + cell_execution_count=cell_execution_count, ) return map(lambda df: cast(pandas.Series, df.squeeze(1)), batches) diff --git a/packages/bigframes/bigframes/session/__init__.py b/packages/bigframes/bigframes/session/__init__.py index fdcb85623496..1e0e8d3d55a7 100644 --- a/packages/bigframes/bigframes/session/__init__.py +++ b/packages/bigframes/bigframes/session/__init__.py @@ -448,7 +448,7 @@ def execution_history( *, events: Optional[Iterable[bigframes.core.events.Event]] = None, job_ids: Optional[Iterable[str]] = None, - filter_by_cell: bool = True, + current_cell_only: bool = True, ) -> _ExecutionHistory: """Returns the history of executions initiated by BigFrames in the current session. @@ -459,7 +459,7 @@ def execution_history( Filter execution history to only include jobs associated with the given events. job_ids (Iterable[str], optional): Filter execution history to only include jobs matching the given job IDs. - filter_by_cell (bool, optional): + current_cell_only (bool, optional): If True and running in Colab/Jupyter, automatically filter history to only include jobs executed within the current cell. Defaults to True. """ @@ -503,7 +503,7 @@ def execution_history( ) ] - elif filter_by_cell: + elif current_cell_only: try: import IPython diff --git a/packages/bigframes/tests/unit/display/test_anywidget.py b/packages/bigframes/tests/unit/display/test_anywidget.py index d8c8c64cebeb..a3499112adcb 100644 --- a/packages/bigframes/tests/unit/display/test_anywidget.py +++ b/packages/bigframes/tests/unit/display/test_anywidget.py @@ -179,3 +179,25 @@ def test_page_size_change_resets_sort(mock_df): # to_pandas_batches called again (reset) assert mock_df.to_pandas_batches.call_count >= 2 + + +def test_cell_execution_count_propagation(mock_df): + """Test that the captured cell_execution_count is propagated to to_pandas_batches.""" + from bigframes.display.anywidget import TableWidget + + # Mock IPython to return a specific execution count + mock_ipy = mock.Mock() + mock_ipy.execution_count = 42 + + with mock.patch("IPython.get_ipython", return_value=mock_ipy): + with bigframes.option_context("display.render_mode", "anywidget"): + widget = TableWidget(mock_df) + + # Verify captured execution count + assert widget._cell_execution_count == 42 + + # to_pandas_batches should be called with cell_execution_count=42 + mock_df.to_pandas_batches.assert_called_with( + page_size=widget.page_size, + cell_execution_count=42, + ) From 5f9d8240a741961369f90db8770ea48c62f769bd Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 20 May 2026 20:51:24 +0000 Subject: [PATCH 24/42] refactor: deduplicate ipython execution count --- packages/bigframes/bigframes/core/utils.py | 13 +++++++++ .../bigframes/bigframes/display/anywidget.py | 10 ++----- .../session/_io/bigquery/__init__.py | 20 ++++--------- .../bigframes/session/execution_spec.py | 11 ++----- .../bigframes/bigframes/session/metrics.py | 29 +++++-------------- .../tests/unit/display/test_anywidget.py | 3 -- .../tests/unit/session/test_read_gbq_colab.py | 3 -- 7 files changed, 30 insertions(+), 59 deletions(-) diff --git a/packages/bigframes/bigframes/core/utils.py b/packages/bigframes/bigframes/core/utils.py index b219335a516e..2250739a89c9 100644 --- a/packages/bigframes/bigframes/core/utils.py +++ b/packages/bigframes/bigframes/core/utils.py @@ -249,3 +249,16 @@ def timedelta_to_micros( ) * 1_000_000 + timedelta.microseconds raise TypeError(f"Unrecognized input type: {type(timedelta)}") + + +def get_ipython_execution_count() -> typing.Optional[int]: + """Returns the current IPython cell execution count if running in a notebook, else None.""" + try: + import IPython + + ipy = IPython.get_ipython() + if ipy is not None and hasattr(ipy, "execution_count"): + return ipy.execution_count + except (ImportError, NameError): + pass + return None diff --git a/packages/bigframes/bigframes/display/anywidget.py b/packages/bigframes/bigframes/display/anywidget.py index 7a42ea085e61..08b19d820173 100644 --- a/packages/bigframes/bigframes/display/anywidget.py +++ b/packages/bigframes/bigframes/display/anywidget.py @@ -92,15 +92,9 @@ def __init__(self, dataframe: bigframes.dataframe.DataFrame): self._dataframe = dataframe - self._cell_execution_count = None - try: - import IPython + from bigframes.core.utils import get_ipython_execution_count - ipy = IPython.get_ipython() - if ipy is not None and hasattr(ipy, "execution_count"): - self._cell_execution_count = ipy.execution_count - except (ImportError, NameError): - pass + self._cell_execution_count = get_ipython_execution_count() super().__init__() diff --git a/packages/bigframes/bigframes/session/_io/bigquery/__init__.py b/packages/bigframes/bigframes/session/_io/bigquery/__init__.py index eeb7ebd01da0..ac952397087f 100644 --- a/packages/bigframes/bigframes/session/_io/bigquery/__init__.py +++ b/packages/bigframes/bigframes/session/_io/bigquery/__init__.py @@ -317,14 +317,9 @@ def start_query_with_job( Starts query job and waits for results. """ if cell_execution_count is None: - try: - import IPython + from bigframes.core.utils import get_ipython_execution_count - ipy = IPython.get_ipython() - if ipy is not None and hasattr(ipy, "execution_count"): - cell_execution_count = ipy.execution_count - except (ImportError, NameError): - pass + cell_execution_count = get_ipython_execution_count() # Note: Ensure no additional labels are added to job_config after this # point, as `add_and_trim_labels` ensures the label count does not @@ -382,14 +377,9 @@ def start_query_job_optional( https://docs.cloud.google.com/bigquery/docs/running-queries#optional-job-creation """ if cell_execution_count is None: - try: - import IPython - - ipy = IPython.get_ipython() - if ipy is not None and hasattr(ipy, "execution_count"): - cell_execution_count = ipy.execution_count - except (ImportError, NameError): - pass + from bigframes.core.utils import get_ipython_execution_count + + cell_execution_count = get_ipython_execution_count() add_and_trim_labels(job_config, session=session) try: diff --git a/packages/bigframes/bigframes/session/execution_spec.py b/packages/bigframes/bigframes/session/execution_spec.py index 02f60b082f69..31ab5b750bed 100644 --- a/packages/bigframes/bigframes/session/execution_spec.py +++ b/packages/bigframes/bigframes/session/execution_spec.py @@ -81,14 +81,9 @@ def with_compute_options(self, compute_options: ComputeOptions) -> ExecutionSpec cell_execution_count = self.cell_execution_count if cell_execution_count is None: - try: - import IPython - - ipy = IPython.get_ipython() - if ipy is not None and hasattr(ipy, "execution_count"): - cell_execution_count = ipy.execution_count - except (ImportError, NameError): - pass + from bigframes.core.utils import get_ipython_execution_count + + cell_execution_count = get_ipython_execution_count() return dataclasses.replace( self, diff --git a/packages/bigframes/bigframes/session/metrics.py b/packages/bigframes/bigframes/session/metrics.py index 36869df41737..a9a444ecb389 100644 --- a/packages/bigframes/bigframes/session/metrics.py +++ b/packages/bigframes/bigframes/session/metrics.py @@ -74,14 +74,9 @@ def from_job( ) if cell_execution_count is None: - try: - import IPython + from bigframes.core.utils import get_ipython_execution_count - ipy = IPython.get_ipython() - if ipy is not None and hasattr(ipy, "execution_count"): - cell_execution_count = ipy.execution_count - except (ImportError, NameError): - pass + cell_execution_count = get_ipython_execution_count() metadata = cls( job_id=query_job.job_id, @@ -147,14 +142,9 @@ def from_row_iterator( ) if cell_execution_count is None: - try: - import IPython + from bigframes.core.utils import get_ipython_execution_count - ipy = IPython.get_ipython() - if ipy is not None and hasattr(ipy, "execution_count"): - cell_execution_count = ipy.execution_count - except (ImportError, NameError): - pass + cell_execution_count = get_ipython_execution_count() # fmt: off return cls( @@ -328,14 +318,9 @@ def on_event(self, envelope: Any): self.bytes_processed += bytes_processed if cell_execution_count is None: - try: - import IPython - - ipy = IPython.get_ipython() - if ipy is not None and hasattr(ipy, "execution_count"): - cell_execution_count = ipy.execution_count - except (ImportError, NameError): - pass + from bigframes.core.utils import get_ipython_execution_count + + cell_execution_count = get_ipython_execution_count() metadata = JobMetadata( job_type="polars", diff --git a/packages/bigframes/tests/unit/display/test_anywidget.py b/packages/bigframes/tests/unit/display/test_anywidget.py index a3499112adcb..31a68724a192 100644 --- a/packages/bigframes/tests/unit/display/test_anywidget.py +++ b/packages/bigframes/tests/unit/display/test_anywidget.py @@ -185,7 +185,6 @@ def test_cell_execution_count_propagation(mock_df): """Test that the captured cell_execution_count is propagated to to_pandas_batches.""" from bigframes.display.anywidget import TableWidget - # Mock IPython to return a specific execution count mock_ipy = mock.Mock() mock_ipy.execution_count = 42 @@ -193,10 +192,8 @@ def test_cell_execution_count_propagation(mock_df): with bigframes.option_context("display.render_mode", "anywidget"): widget = TableWidget(mock_df) - # Verify captured execution count assert widget._cell_execution_count == 42 - # to_pandas_batches should be called with cell_execution_count=42 mock_df.to_pandas_batches.assert_called_with( page_size=widget.page_size, cell_execution_count=42, diff --git a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py index faee3cd9961c..655431e76014 100644 --- a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py +++ b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py @@ -161,17 +161,14 @@ def test_execution_history_filtering(): session = mocks.create_bigquery_session() - # Add mock jobs to session metrics job1 = metrics.JobMetadata(job_id="job_1", job_type="query", query="SELECT 1") job2 = metrics.JobMetadata(job_id="job_2", job_type="query", query="SELECT 2") session._metrics.jobs.extend([job1, job2]) - # Verify filtering by job_ids isolates the target execution history_job1 = session.execution_history(job_ids=["job_1"]).to_dataframe() assert len(history_job1) == 1 assert history_job1.iloc[0]["job_id"] == "job_1" - # Verify filtering by events isolates the target execution event2 = mock.Mock() event2.job_id = "job_2" history_job2 = session.execution_history(events=[event2]).to_dataframe() From d9a55930fa4ce5f7109b2fa4f8d6eae650a2b5c2 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 20 May 2026 22:18:17 +0000 Subject: [PATCH 25/42] feat: change default of execution history all_cells to True --- .../bigframes/core/global_session.py | 4 +-- .../bigframes/bigframes/session/__init__.py | 9 +++--- .../tests/unit/session/test_read_gbq_colab.py | 28 +++++++++++++++++++ 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/packages/bigframes/bigframes/core/global_session.py b/packages/bigframes/bigframes/core/global_session.py index af802e186a67..fa2b7b2e2edb 100644 --- a/packages/bigframes/bigframes/core/global_session.py +++ b/packages/bigframes/bigframes/core/global_session.py @@ -128,7 +128,7 @@ def execution_history( *, events: Optional[Iterable[bigframes.core.events.Event]] = None, job_ids: Optional[Iterable[str]] = None, - current_cell_only: bool = True, + all_cells: bool = True, ) -> "bigframes.session._ExecutionHistory": import pandas # noqa: F401 @@ -138,7 +138,7 @@ def execution_history( bigframes.session.Session.execution_history, events=events, job_ids=job_ids, - current_cell_only=current_cell_only, + all_cells=all_cells, ) diff --git a/packages/bigframes/bigframes/session/__init__.py b/packages/bigframes/bigframes/session/__init__.py index 1e0e8d3d55a7..e8b5f4faf248 100644 --- a/packages/bigframes/bigframes/session/__init__.py +++ b/packages/bigframes/bigframes/session/__init__.py @@ -448,7 +448,7 @@ def execution_history( *, events: Optional[Iterable[bigframes.core.events.Event]] = None, job_ids: Optional[Iterable[str]] = None, - current_cell_only: bool = True, + all_cells: bool = True, ) -> _ExecutionHistory: """Returns the history of executions initiated by BigFrames in the current session. @@ -459,8 +459,9 @@ def execution_history( Filter execution history to only include jobs associated with the given events. job_ids (Iterable[str], optional): Filter execution history to only include jobs matching the given job IDs. - current_cell_only (bool, optional): - If True and running in Colab/Jupyter, automatically filter history to only include + all_cells (bool, optional): + If True, do not filter execution history by notebook cell. If False, + and running in Colab/Jupyter, automatically filter history to only include jobs executed within the current cell. Defaults to True. """ jobs = [job.__dict__ for job in self._metrics.jobs] @@ -503,7 +504,7 @@ def execution_history( ) ] - elif current_cell_only: + elif not all_cells: try: import IPython diff --git a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py index 655431e76014..e41802c2ac22 100644 --- a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py +++ b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py @@ -174,3 +174,31 @@ def test_execution_history_filtering(): history_job2 = session.execution_history(events=[event2]).to_dataframe() assert len(history_job2) == 1 assert history_job2.iloc[0]["job_id"] == "job_2" + + +def test_execution_history_cell_filtering(): + """Verify cell-based filtering on execution history with all_cells flag.""" + from bigframes.session import metrics + + session = mocks.create_bigquery_session() + + job1 = metrics.JobMetadata( + job_id="job_1", job_type="query", query="SELECT 1", cell_execution_count=10 + ) + job2 = metrics.JobMetadata( + job_id="job_2", job_type="query", query="SELECT 2", cell_execution_count=20 + ) + session._metrics.jobs.extend([job1, job2]) + + mock_ipy = mock.Mock() + mock_ipy.execution_count = 20 + + with mock.patch("IPython.get_ipython", return_value=mock_ipy): + # By default all_cells=True, it returns all cells' executions + history_default = session.execution_history().to_dataframe() + assert len(history_default) == 2 + + # When all_cells=False, it should filter to the current cell count (20) + history_filtered = session.execution_history(all_cells=False).to_dataframe() + assert len(history_filtered) == 1 + assert history_filtered.iloc[0]["job_id"] == "job_2" From 0c8f8c7df57f0d946c998bbbeb641957b4c186d9 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 20 May 2026 23:22:04 +0000 Subject: [PATCH 26/42] fix IPython mocking in unit tests --- .../tests/unit/display/test_anywidget.py | 4 ++- .../tests/unit/session/test_read_gbq_colab.py | 35 +++++++++++++------ 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/packages/bigframes/tests/unit/display/test_anywidget.py b/packages/bigframes/tests/unit/display/test_anywidget.py index 31a68724a192..103b50345a78 100644 --- a/packages/bigframes/tests/unit/display/test_anywidget.py +++ b/packages/bigframes/tests/unit/display/test_anywidget.py @@ -187,8 +187,10 @@ def test_cell_execution_count_propagation(mock_df): mock_ipy = mock.Mock() mock_ipy.execution_count = 42 + mock_ipython = mock.MagicMock() + mock_ipython.get_ipython.return_value = mock_ipy - with mock.patch("IPython.get_ipython", return_value=mock_ipy): + with mock.patch.dict("sys.modules", {"IPython": mock_ipython}): with bigframes.option_context("display.render_mode", "anywidget"): widget = TableWidget(mock_df) diff --git a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py index e41802c2ac22..fd377b693187 100644 --- a/packages/bigframes/tests/unit/session/test_read_gbq_colab.py +++ b/packages/bigframes/tests/unit/session/test_read_gbq_colab.py @@ -176,12 +176,29 @@ def test_execution_history_filtering(): assert history_job2.iloc[0]["job_id"] == "job_2" -def test_execution_history_cell_filtering(): - """Verify cell-based filtering on execution history with all_cells flag.""" +def test_execution_history_returns_all_executions_by_default(): + """Verify that execution_history returns all executions by default.""" from bigframes.session import metrics session = mocks.create_bigquery_session() + job1 = metrics.JobMetadata( + job_id="job_1", job_type="query", query="SELECT 1", cell_execution_count=10 + ) + job2 = metrics.JobMetadata( + job_id="job_2", job_type="query", query="SELECT 2", cell_execution_count=20 + ) + session._metrics.jobs.extend([job1, job2]) + history = session.execution_history().to_dataframe() + + assert len(history) == 2 + + +def test_execution_history_filters_by_notebook_cell_when_all_cells_is_false(): + """Verify that execution_history filters to the current cell when all_cells is False.""" + from bigframes.session import metrics + + session = mocks.create_bigquery_session() job1 = metrics.JobMetadata( job_id="job_1", job_type="query", query="SELECT 1", cell_execution_count=10 ) @@ -192,13 +209,11 @@ def test_execution_history_cell_filtering(): mock_ipy = mock.Mock() mock_ipy.execution_count = 20 + mock_ipython = mock.MagicMock() + mock_ipython.get_ipython.return_value = mock_ipy - with mock.patch("IPython.get_ipython", return_value=mock_ipy): - # By default all_cells=True, it returns all cells' executions - history_default = session.execution_history().to_dataframe() - assert len(history_default) == 2 + with mock.patch.dict("sys.modules", {"IPython": mock_ipython}): + history = session.execution_history(all_cells=False).to_dataframe() - # When all_cells=False, it should filter to the current cell count (20) - history_filtered = session.execution_history(all_cells=False).to_dataframe() - assert len(history_filtered) == 1 - assert history_filtered.iloc[0]["job_id"] == "job_2" + assert len(history) == 1 + assert history.iloc[0]["job_id"] == "job_2" From 3c2c0d76e87bdb80697ee903c7062e34b69bfa5c Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Fri, 22 May 2026 22:06:58 +0000 Subject: [PATCH 27/42] fix(display): update test_html.py unit test for display refactoring --- packages/bigframes/tests/unit/display/test_html.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/bigframes/tests/unit/display/test_html.py b/packages/bigframes/tests/unit/display/test_html.py index 97aead4c82db..f65e3f3b24bc 100644 --- a/packages/bigframes/tests/unit/display/test_html.py +++ b/packages/bigframes/tests/unit/display/test_html.py @@ -192,7 +192,7 @@ def test_repr_mimebundle_head(): mock_df = Mock() mock_df.columns = ["col1"] - mock_df._get_display_df.return_value = mock_df + mock_df._get_display_df_and_blob_cols.return_value = (mock_df, []) # Mock the call to retrieve_repr_request_results pandas_df = pd.DataFrame({"col1": [1, 2, 3]}) @@ -215,7 +215,7 @@ def test_repr_mimebundle_head(): bundle = bf_html.repr_mimebundle_head(mock_df) assert bundle == {"text/html": "", "text/plain": "text"} - mock_df._get_display_df.assert_called_once() + mock_df._get_display_df_and_blob_cols.assert_called_once() mock_df._block.retrieve_repr_request_results.assert_called_once() mock_create_html.assert_called_once() mock_create_text.assert_called_once() From 86e9842c045903a1eef317aa79ce63644d561c00 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Fri, 22 May 2026 22:21:00 +0000 Subject: [PATCH 28/42] refactor(display): rename display function to _process_display_df --- packages/bigframes/bigframes/dataframe.py | 2 +- packages/bigframes/bigframes/display/html.py | 4 ++-- packages/bigframes/tests/unit/display/test_anywidget.py | 4 ++-- packages/bigframes/tests/unit/display/test_html.py | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/bigframes/bigframes/dataframe.py b/packages/bigframes/bigframes/dataframe.py index 45e02d4e283e..2f48762d20ae 100644 --- a/packages/bigframes/bigframes/dataframe.py +++ b/packages/bigframes/bigframes/dataframe.py @@ -819,7 +819,7 @@ def __repr__(self) -> str: column_count=len(self.columns), ) - def _get_display_df_and_blob_cols(self) -> tuple[DataFrame, list[str]]: + def _process_display_df(self) -> tuple[DataFrame, list[str]]: """Process ObjectRef and JSON/nested JSON columns for display.""" df = self # Arrow/Pandas to_pandas_batches does not support raw JSON/nested JSON diff --git a/packages/bigframes/bigframes/display/html.py b/packages/bigframes/bigframes/display/html.py index c0ae3a01a895..20c50c1b3f31 100644 --- a/packages/bigframes/bigframes/display/html.py +++ b/packages/bigframes/bigframes/display/html.py @@ -240,7 +240,7 @@ def get_anywidget_bundle( else: df = obj - df, _ = df._get_display_df_and_blob_cols() + df, _ = df._process_display_df() widget = display.TableWidget(df) widget_repr_result = widget._repr_mimebundle_(include=include, exclude=exclude) @@ -294,7 +294,7 @@ def repr_mimebundle_head( else: df = obj - df, _ = df._get_display_df_and_blob_cols() + df, _ = df._process_display_df() pandas_df, row_count, query_job = df._block.retrieve_repr_request_results( opts.max_rows ) diff --git a/packages/bigframes/tests/unit/display/test_anywidget.py b/packages/bigframes/tests/unit/display/test_anywidget.py index 90e2bd3b6402..519c63f654a0 100644 --- a/packages/bigframes/tests/unit/display/test_anywidget.py +++ b/packages/bigframes/tests/unit/display/test_anywidget.py @@ -194,7 +194,7 @@ def test_json_column_converted_to_string_for_display(): with mock.patch.object(DataFrame, "__getitem__", return_value=mock_series): with mock.patch.object(DataFrame, "assign") as mock_assign: - df._get_display_df_and_blob_cols() + df._process_display_df() mock_assign.assert_called_once() _, kwargs = mock_assign.call_args @@ -228,7 +228,7 @@ def test_struct_column_with_nested_json_converted_to_string_for_display(): with mock.patch.object(DataFrame, "__getitem__", return_value=mock_series): with mock.patch.object(DataFrame, "assign") as mock_assign: - df._get_display_df_and_blob_cols() + df._process_display_df() mock_assign.assert_called_once() _, kwargs = mock_assign.call_args diff --git a/packages/bigframes/tests/unit/display/test_html.py b/packages/bigframes/tests/unit/display/test_html.py index f65e3f3b24bc..a49d64b7690e 100644 --- a/packages/bigframes/tests/unit/display/test_html.py +++ b/packages/bigframes/tests/unit/display/test_html.py @@ -192,7 +192,7 @@ def test_repr_mimebundle_head(): mock_df = Mock() mock_df.columns = ["col1"] - mock_df._get_display_df_and_blob_cols.return_value = (mock_df, []) + mock_df._process_display_df.return_value = (mock_df, []) # Mock the call to retrieve_repr_request_results pandas_df = pd.DataFrame({"col1": [1, 2, 3]}) @@ -215,7 +215,7 @@ def test_repr_mimebundle_head(): bundle = bf_html.repr_mimebundle_head(mock_df) assert bundle == {"text/html": "", "text/plain": "text"} - mock_df._get_display_df_and_blob_cols.assert_called_once() + mock_df._process_display_df.assert_called_once() mock_df._block.retrieve_repr_request_results.assert_called_once() mock_create_html.assert_called_once() mock_create_text.assert_called_once() From eb3934bd49d1dfaa2148824947a5d5283e5ee640 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Tue, 26 May 2026 21:51:38 +0000 Subject: [PATCH 29/42] address pr review comments on execution history --- packages/bigframes/bigframes/core/events.py | 13 +++++++++++++ packages/bigframes/bigframes/core/global_session.py | 2 -- packages/bigframes/bigframes/pandas/io/api.py | 12 ++++++------ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/packages/bigframes/bigframes/core/events.py b/packages/bigframes/bigframes/core/events.py index db81eba06652..2170e33d9b18 100644 --- a/packages/bigframes/bigframes/core/events.py +++ b/packages/bigframes/bigframes/core/events.py @@ -127,11 +127,24 @@ class Event: @dataclasses.dataclass(frozen=True) class EventEnvelope: + """An envelope that wraps an execution event with metadata and display options. + + Attributes: + event: + The actual execution event details (e.g., ExecutionStarted, BigQuerySentEvent). + progress_bar: + Specifies the style of progress bar to display during execution. + cell_execution_count: + The 1-indexed execution count of the notebook cell that triggered the event. + Used to group and filter execution history on a per-cell basis. + """ + event: Event progress_bar: ProgressBarType = _DEFAULT cell_execution_count: Optional[int] = None + @dataclasses.dataclass(frozen=True) class SessionClosed(Event): session_id: str diff --git a/packages/bigframes/bigframes/core/global_session.py b/packages/bigframes/bigframes/core/global_session.py index fa2b7b2e2edb..a38280e6447e 100644 --- a/packages/bigframes/bigframes/core/global_session.py +++ b/packages/bigframes/bigframes/core/global_session.py @@ -130,8 +130,6 @@ def execution_history( job_ids: Optional[Iterable[str]] = None, all_cells: bool = True, ) -> "bigframes.session._ExecutionHistory": - import pandas # noqa: F401 - import bigframes.session return with_default_session( diff --git a/packages/bigframes/bigframes/pandas/io/api.py b/packages/bigframes/bigframes/pandas/io/api.py index 75e6b6bef08d..fa0f503a08b8 100644 --- a/packages/bigframes/bigframes/pandas/io/api.py +++ b/packages/bigframes/bigframes/pandas/io/api.py @@ -300,9 +300,9 @@ def _try_read_gbq_colab_sessionless_dry_run( def _read_gbq_colab( # type: ignore[overload-overlap] query_or_table: str, *, - callback: Optional[Callable[[bigframes.core.events.EventEnvelope], None]] = ..., - pyformat_args: Optional[Dict[str, Any]] = ..., - dry_run: Literal[False] = ..., + callback: Optional[Callable[[bigframes.core.events.EventEnvelope], None]] = None, + pyformat_args: Optional[Dict[str, Any]] = None, + dry_run: Literal[False] = False, ) -> bigframes.dataframe.DataFrame: ... @@ -310,9 +310,9 @@ def _read_gbq_colab( # type: ignore[overload-overlap] def _read_gbq_colab( query_or_table: str, *, - callback: Optional[Callable[[bigframes.core.events.EventEnvelope], None]] = ..., - pyformat_args: Optional[Dict[str, Any]] = ..., - dry_run: Literal[True] = ..., + callback: Optional[Callable[[bigframes.core.events.EventEnvelope], None]] = None, + pyformat_args: Optional[Dict[str, Any]] = None, + dry_run: Literal[True], ) -> pandas.Series: ... From ee477b838df37b911eec903d56df94779620607e Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Tue, 26 May 2026 21:55:29 +0000 Subject: [PATCH 30/42] format code --- packages/bigframes/bigframes/core/events.py | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/bigframes/bigframes/core/events.py b/packages/bigframes/bigframes/core/events.py index 2170e33d9b18..a4fcf98b2b8f 100644 --- a/packages/bigframes/bigframes/core/events.py +++ b/packages/bigframes/bigframes/core/events.py @@ -144,7 +144,6 @@ class EventEnvelope: cell_execution_count: Optional[int] = None - @dataclasses.dataclass(frozen=True) class SessionClosed(Event): session_id: str From 4d9a1459b59cc90690a21b2ce45f77ec57f3bf86 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Fri, 5 Jun 2026 20:06:28 +0000 Subject: [PATCH 31/42] Fix Angular bootstrap by providing zoneless change detection --- .../bigframes/display/table_widget_angular.js | 2295 +++++++++-------- .../display/table_widget_angular/src/main.ts | 3 +- 2 files changed, 1151 insertions(+), 1147 deletions(-) diff --git a/packages/bigframes/bigframes/display/table_widget_angular.js b/packages/bigframes/bigframes/display/table_widget_angular.js index bf6e1c1fc525..24dcc6e8de15 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular.js +++ b/packages/bigframes/bigframes/display/table_widget_angular.js @@ -16,26 +16,26 @@ // dist/table-widget-angular/browser/main.js -var rd = Object.defineProperty; -var od = Object.defineProperties; -var id = Object.getOwnPropertyDescriptors; -var Ea = Object.getOwnPropertySymbols; -var sd = Object.prototype.hasOwnProperty; -var ad = Object.prototype.propertyIsEnumerable; -var Ia = (e12, t, n) => t in e12 ? rd(e12, t, { enumerable: true, configurable: true, writable: true, value: n }) : e12[t] = n; +var od = Object.defineProperty; +var id = Object.defineProperties; +var sd = Object.getOwnPropertyDescriptors; +var Da = Object.getOwnPropertySymbols; +var ad = Object.prototype.hasOwnProperty; +var cd = Object.prototype.propertyIsEnumerable; +var wa = (e12, t, n) => t in e12 ? od(e12, t, { enumerable: true, configurable: true, writable: true, value: n }) : e12[t] = n; var N = (e12, t) => { for (var n in t ||= {}) - sd.call(t, n) && Ia(e12, n, t[n]); - if (Ea) - for (var n of Ea(t)) - ad.call(t, n) && Ia(e12, n, t[n]); + ad.call(t, n) && wa(e12, n, t[n]); + if (Da) + for (var n of Da(t)) + cd.call(t, n) && wa(e12, n, t[n]); return e12; }; -var A = (e12, t) => od(e12, id(t)); +var A = (e12, t) => id(e12, sd(t)); var L = null; var Sn = false; var yo = 1; -var cd = null; +var ld = null; var Z = Symbol("SIGNAL"); function g(e12) { let t = L; @@ -44,7 +44,7 @@ function g(e12) { function xn() { return L; } -var lt = { version: 0, lastCleanEpoch: 0, dirty: false, producers: void 0, producersTail: void 0, consumers: void 0, consumersTail: void 0, recomputing: false, consumerAllowSignalWrites: false, consumerIsAlwaysLive: false, kind: "unknown", producerMustRecompute: () => false, producerRecomputeValue: () => { +var ut = { version: 0, lastCleanEpoch: 0, dirty: false, producers: void 0, producersTail: void 0, consumers: void 0, consumersTail: void 0, recomputing: false, consumerAllowSignalWrites: false, consumerIsAlwaysLive: false, kind: "unknown", producerMustRecompute: () => false, producerRecomputeValue: () => { }, consumerMarkedDirty: () => { }, consumerOnSignalRead: () => { } }; @@ -63,16 +63,16 @@ function vo(e12) { return; } let o = e12.consumersTail; - if (o !== void 0 && o.consumer === L && (!r || ud(o, L))) + if (o !== void 0 && o.consumer === L && (!r || dd(o, L))) return; - let i = dt(L), s = { producer: e12, consumer: L, nextProducer: n, prevConsumer: o, lastReadVersion: e12.version, nextConsumer: void 0 }; - L.producersTail = s, t !== void 0 ? t.nextProducer = s : L.producers = s, i && Ca(e12, s); + let i = ft(L), s = { producer: e12, consumer: L, nextProducer: n, prevConsumer: o, lastReadVersion: e12.version, nextConsumer: void 0 }; + L.producersTail = s, t !== void 0 ? t.nextProducer = s : L.producers = s, i && Ma(e12, s); } -function Da() { +function ba() { yo++; } function Eo(e12) { - if (!(dt(e12) && !e12.dirty) && !(!e12.dirty && e12.lastCleanEpoch === yo)) { + if (!(ft(e12) && !e12.dirty) && !(!e12.dirty && e12.lastCleanEpoch === yo)) { if (!e12.producerMustRecompute(e12) && !Rn(e12)) { mo(e12); return; @@ -88,7 +88,7 @@ function Io(e12) { try { for (let n = e12.consumers; n !== void 0; n = n.nextConsumer) { let r = n.consumer; - r.dirty || ld(r); + r.dirty || ud(r); } } finally { Sn = t; @@ -97,26 +97,26 @@ function Io(e12) { function Do() { return L?.consumerAllowSignalWrites !== false; } -function ld(e12) { +function ud(e12) { e12.dirty = true, Io(e12), e12.consumerMarkedDirty?.(e12); } function mo(e12) { e12.dirty = false, e12.lastCleanEpoch = yo; } -function Vt(e12) { - return e12 && wa(e12), g(e12); +function Bt(e12) { + return e12 && Ca(e12), g(e12); } -function wa(e12) { +function Ca(e12) { e12.producersTail = void 0, e12.recomputing = true; } function An(e12, t) { - g(t), e12 && ba(e12); + g(t), e12 && Ta(e12); } -function ba(e12) { +function Ta(e12) { e12.recomputing = false; let t = e12.producersTail, n = t !== void 0 ? t.nextProducer : e12.producers; if (n !== void 0) { - if (dt(e12)) + if (ft(e12)) do n = wo(n); while (n !== void 0); @@ -131,38 +131,38 @@ function Rn(e12) { } return false; } -function ut(e12) { - if (dt(e12)) { +function dt(e12) { + if (ft(e12)) { let t = e12.producers; for (; t !== void 0; ) t = wo(t); } e12.producers = void 0, e12.producersTail = void 0, e12.consumers = void 0, e12.consumersTail = void 0; } -function Ca(e12, t) { - let n = e12.consumersTail, r = dt(e12); +function Ma(e12, t) { + let n = e12.consumersTail, r = ft(e12); if (n !== void 0 ? (t.nextConsumer = n.nextConsumer, n.nextConsumer = t) : (t.nextConsumer = void 0, e12.consumers = t), t.prevConsumer = n, e12.consumersTail = t, !r) for (let o = e12.producers; o !== void 0; o = o.nextProducer) - Ca(o.producer, o); + Ma(o.producer, o); } function wo(e12) { let t = e12.producer, n = e12.nextProducer, r = e12.nextConsumer, o = e12.prevConsumer; if (e12.nextConsumer = void 0, e12.prevConsumer = void 0, r !== void 0 ? r.prevConsumer = o : t.consumersTail = o, o !== void 0) o.nextConsumer = r; - else if (t.consumers = r, !dt(t)) { + else if (t.consumers = r, !ft(t)) { let i = t.producers; for (; i !== void 0; ) i = wo(i); } return n; } -function dt(e12) { +function ft(e12) { return e12.consumerIsAlwaysLive || e12.consumers !== void 0; } function bo(e12) { - cd?.(e12); + ld?.(e12); } -function ud(e12, t) { +function dd(e12, t) { let n = t.producersTail; if (n !== void 0) { let r = t.producers; @@ -180,7 +180,7 @@ function Co(e12, t) { return Object.is(e12, t); } function On(e12, t) { - let n = Object.create(dd); + let n = Object.create(fd); n.computation = e12, t !== void 0 && (n.equal = t); let r = () => { if (Eo(n), vo(n), n.value === Nn) @@ -192,14 +192,14 @@ function On(e12, t) { var ho = Symbol("UNSET"); var go = Symbol("COMPUTING"); var Nn = Symbol("ERRORED"); -var dd = A(N({}, lt), { value: ho, dirty: true, error: null, equal: Co, kind: "computed", producerMustRecompute(e12) { +var fd = A(N({}, ut), { value: ho, dirty: true, error: null, equal: Co, kind: "computed", producerMustRecompute(e12) { return e12.value === ho || e12.value === go; }, producerRecomputeValue(e12) { if (e12.value === go) throw new Error(""); let t = e12.value; e12.value = go; - let n = Vt(e12), r, o = false; + let n = Bt(e12), r, o = false; try { r = e12.computation(), g(null), o = t !== ho && t !== Nn && r !== Nn && e12.equal(t, r); } catch (i) { @@ -213,42 +213,42 @@ var dd = A(N({}, lt), { value: ho, dirty: true, error: null, equal: Co, kind: "c } e12.value = r, e12.version++; } }); -function fd() { +function pd() { throw new Error(); } -var Ta = fd; -function Ma(e12) { - Ta(e12); +var _a = pd; +function Sa(e12) { + _a(e12); } function To(e12) { - Ta = e12; + _a = e12; } -var pd = null; +var hd = null; function Mo(e12, t) { - let n = Object.create(Na); + let n = Object.create(Aa); n.value = e12, t !== void 0 && (n.equal = t); - let r = () => _a(n); - return r[Z] = n, bo(n), [r, (s) => _o(n, s), (s) => Sa(n, s)]; + let r = () => Na(n); + return r[Z] = n, bo(n), [r, (s) => _o(n, s), (s) => xa(n, s)]; } -function _a(e12) { +function Na(e12) { return vo(e12), e12.value; } function _o(e12, t) { - Do() || Ma(e12), e12.equal(e12.value, t) || (e12.value = t, hd(e12)); + Do() || Sa(e12), e12.equal(e12.value, t) || (e12.value = t, gd(e12)); } -function Sa(e12, t) { - Do() || Ma(e12), _o(e12, t(e12.value)); +function xa(e12, t) { + Do() || Sa(e12), _o(e12, t(e12.value)); } -var Na = A(N({}, lt), { equal: Co, value: void 0, kind: "signal" }); -function hd(e12) { - e12.version++, Da(), Io(e12), pd?.(e12); +var Aa = A(N({}, ut), { equal: Co, value: void 0, kind: "signal" }); +function gd(e12) { + e12.version++, ba(), Io(e12), hd?.(e12); } -var So = A(N({}, lt), { consumerIsAlwaysLive: true, consumerAllowSignalWrites: true, dirty: true, kind: "effect" }); +var So = A(N({}, ut), { consumerIsAlwaysLive: true, consumerAllowSignalWrites: true, dirty: true, kind: "effect" }); function No(e12) { if (e12.dirty = false, e12.version > 0 && !Rn(e12)) return; e12.version++; - let t = Vt(e12); + let t = Bt(e12); try { e12.cleanup(), e12.fn(); } finally { @@ -269,7 +269,7 @@ var Pn = kn((e12) => function(n) { ${n.map((r, o) => `${o + 1}) ${r.toString()}`).join(` `)}` : "", this.name = "UnsubscriptionError", this.errors = n; }); -function Bt(e12, t) { +function $t(e12, t) { if (e12) { let n = e12.indexOf(t); 0 <= n && e12.splice(n, 1); @@ -302,7 +302,7 @@ var H = class e { this._finalizers = null; for (let i of o) try { - xa(i); + Ra(i); } catch (s) { t = t ?? [], s instanceof Pn ? t = [...t, ...s.errors] : t.push(s); } @@ -315,7 +315,7 @@ var H = class e { var n; if (t && t !== this) if (this.closed) - xa(t); + Ra(t); else { if (t instanceof e) { if (t.closed || t._hasParent(this)) @@ -335,11 +335,11 @@ var H = class e { } _removeParent(t) { let { _parentage: n } = this; - n === t ? this._parentage = null : Array.isArray(n) && Bt(n, t); + n === t ? this._parentage = null : Array.isArray(n) && $t(n, t); } remove(t) { let { _finalizers: n } = this; - n && Bt(n, t), t instanceof e && t._removeParent(this); + n && $t(n, t), t instanceof e && t._removeParent(this); } }; H.EMPTY = (() => { @@ -350,19 +350,19 @@ var xo = H.EMPTY; function Ln(e12) { return e12 instanceof H || e12 && "closed" in e12 && $(e12.remove) && $(e12.add) && $(e12.unsubscribe); } -function xa(e12) { +function Ra(e12) { $(e12) ? e12() : e12.unsubscribe(); } var te = { onUnhandledError: null, onStoppedNotification: null, Promise: void 0, useDeprecatedSynchronousErrorHandling: false, useDeprecatedNextContext: false }; -var ft = { setTimeout(e12, t, ...n) { - let { delegate: r } = ft; +var pt = { setTimeout(e12, t, ...n) { + let { delegate: r } = pt; return r?.setTimeout ? r.setTimeout(e12, t, ...n) : setTimeout(e12, t, ...n); }, clearTimeout(e12) { - let { delegate: t } = ft; + let { delegate: t } = pt; return (t?.clearTimeout || clearTimeout)(e12); }, delegate: void 0 }; -function Aa(e12) { - ft.setTimeout(() => { +function Oa(e12) { + pt.setTimeout(() => { let { onUnhandledError: t } = te; if (t) t(e12); @@ -372,18 +372,18 @@ function Aa(e12) { } function Ao() { } -var Ra = Ro("C", void 0, void 0); -function Oa(e12) { +var ka = Ro("C", void 0, void 0); +function Pa(e12) { return Ro("E", void 0, e12); } -function ka(e12) { +function La(e12) { return Ro("N", e12, void 0); } function Ro(e12, t, n) { return { kind: e12, value: t, error: n }; } var Ue = null; -function pt(e12) { +function ht(e12) { if (te.useDeprecatedSynchronousErrorHandling) { let t = !Ue; if (t && (Ue = { errorThrown: false, error: null }), e12(), t) { @@ -394,24 +394,24 @@ function pt(e12) { } else e12(); } -function Pa(e12) { +function Fa(e12) { te.useDeprecatedSynchronousErrorHandling && Ue && (Ue.errorThrown = true, Ue.error = e12); } var ze = class extends H { constructor(t) { - super(), this.isStopped = false, t ? (this.destination = t, Ln(t) && t.add(this)) : this.destination = yd; + super(), this.isStopped = false, t ? (this.destination = t, Ln(t) && t.add(this)) : this.destination = vd; } static create(t, n, r) { - return new ht(t, n, r); + return new gt(t, n, r); } next(t) { - this.isStopped ? ko(ka(t), this) : this._next(t); + this.isStopped ? ko(La(t), this) : this._next(t); } error(t) { - this.isStopped ? ko(Oa(t), this) : (this.isStopped = true, this._error(t)); + this.isStopped ? ko(Pa(t), this) : (this.isStopped = true, this._error(t)); } complete() { - this.isStopped ? ko(Ra, this) : (this.isStopped = true, this._complete()); + this.isStopped ? ko(ka, this) : (this.isStopped = true, this._complete()); } unsubscribe() { this.closed || (this.isStopped = true, super.unsubscribe(), this.destination = null); @@ -434,9 +434,9 @@ var ze = class extends H { } } }; -var gd = Function.prototype.bind; +var md = Function.prototype.bind; function Oo(e12, t) { - return gd.call(e12, t); + return md.call(e12, t); } var Po = class { constructor(t) { @@ -472,7 +472,7 @@ var Po = class { } } }; -var ht = class extends ze { +var gt = class extends ze { constructor(t, n, r) { super(); let o; @@ -486,26 +486,26 @@ var ht = class extends ze { } }; function Fn(e12) { - te.useDeprecatedSynchronousErrorHandling ? Pa(e12) : Aa(e12); + te.useDeprecatedSynchronousErrorHandling ? Fa(e12) : Oa(e12); } -function md(e12) { +function yd(e12) { throw e12; } function ko(e12, t) { let { onStoppedNotification: n } = te; - n && ft.setTimeout(() => n(e12, t)); + n && pt.setTimeout(() => n(e12, t)); } -var yd = { closed: true, next: Ao, error: md, complete: Ao }; -var La = typeof Symbol == "function" && Symbol.observable || "@@observable"; -function Fa(e12) { +var vd = { closed: true, next: Ao, error: yd, complete: Ao }; +var ja = typeof Symbol == "function" && Symbol.observable || "@@observable"; +function Ha(e12) { return e12; } -function ja(e12) { - return e12.length === 0 ? Fa : e12.length === 1 ? e12[0] : function(n) { +function Va(e12) { + return e12.length === 0 ? Ha : e12.length === 1 ? e12[0] : function(n) { return e12.reduce((r, o) => o(r), n); }; } -var gt = (() => { +var mt = (() => { class e12 { constructor(n) { n && (this._subscribe = n); @@ -515,8 +515,8 @@ var gt = (() => { return r.source = this, r.operator = n, r; } subscribe(n, r, o) { - let i = Ed(n) ? n : new ht(n, r, o); - return pt(() => { + let i = Id(n) ? n : new gt(n, r, o); + return ht(() => { let { operator: s, source: a } = this; i.add(s ? s.call(i, a) : a ? this._subscribe(i) : this._trySubscribe(i)); }), i; @@ -529,8 +529,8 @@ var gt = (() => { } } forEach(n, r) { - return r = Ha(r), new r((o, i) => { - let s = new ht({ next: (a) => { + return r = Ba(r), new r((o, i) => { + let s = new gt({ next: (a) => { try { n(a); } catch (c) { @@ -544,14 +544,14 @@ var gt = (() => { var r; return (r = this.source) === null || r === void 0 ? void 0 : r.subscribe(n); } - [La]() { + [ja]() { return this; } pipe(...n) { - return ja(n)(this); + return Va(n)(this); } toPromise(n) { - return n = Ha(n), new n((r, o) => { + return n = Ba(n), new n((r, o) => { let i; this.subscribe((s) => i = s, (s) => o(s), () => r(i)); }); @@ -559,22 +559,22 @@ var gt = (() => { } return e12.create = (t) => new e12(t), e12; })(); -function Ha(e12) { +function Ba(e12) { var t; return (t = e12 ?? te.Promise) !== null && t !== void 0 ? t : Promise; } -function vd(e12) { - return e12 && $(e12.next) && $(e12.error) && $(e12.complete); -} function Ed(e12) { - return e12 && e12 instanceof ze || vd(e12) && Ln(e12); + return e12 && $(e12.next) && $(e12.error) && $(e12.complete); } function Id(e12) { + return e12 && e12 instanceof ze || Ed(e12) && Ln(e12); +} +function Dd(e12) { return $(e12?.lift); } -function Va(e12) { +function $a(e12) { return (t) => { - if (Id(t)) + if (Dd(t)) return t.lift(function(n) { try { return e12(n, this); @@ -585,7 +585,7 @@ function Va(e12) { throw new TypeError("Unable to lift unknown Observable type"); }; } -function Ba(e12, t, n, r, o) { +function Ua(e12, t, n, r, o) { return new Lo(e12, t, n, r, o); } var Lo = class extends ze { @@ -622,11 +622,11 @@ var Lo = class extends ze { } } }; -var $a = kn((e12) => function() { +var za = kn((e12) => function() { e12(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed"; }); var ye = (() => { - class e12 extends gt { + class e12 extends mt { constructor() { super(), this.closed = false, this.currentObservers = null, this.observers = [], this.isStopped = false, this.hasError = false, this.thrownError = null; } @@ -636,10 +636,10 @@ var ye = (() => { } _throwIfClosed() { if (this.closed) - throw new $a(); + throw new za(); } next(n) { - pt(() => { + ht(() => { if (this._throwIfClosed(), !this.isStopped) { this.currentObservers || (this.currentObservers = Array.from(this.observers)); for (let r of this.currentObservers) @@ -648,7 +648,7 @@ var ye = (() => { }); } error(n) { - pt(() => { + ht(() => { if (this._throwIfClosed(), !this.isStopped) { this.hasError = this.isStopped = true, this.thrownError = n; let { observers: r } = this; @@ -658,7 +658,7 @@ var ye = (() => { }); } complete() { - pt(() => { + ht(() => { if (this._throwIfClosed(), !this.isStopped) { this.isStopped = true; let { observers: n } = this; @@ -683,7 +683,7 @@ var ye = (() => { _innerSubscribe(n) { let { hasError: r, isStopped: o, observers: i } = this; return r || o ? xo : (this.currentObservers = null, i.push(n), new H(() => { - this.currentObservers = null, Bt(i, n); + this.currentObservers = null, $t(i, n); })); } _checkFinalizedStatuses(n) { @@ -691,7 +691,7 @@ var ye = (() => { r ? n.error(o) : i && n.complete(); } asObservable() { - let n = new gt(); + let n = new mt(); return n.source = this, n; } } @@ -718,7 +718,7 @@ var jn = class extends ye { return (r = (n = this.source) === null || n === void 0 ? void 0 : n.subscribe(t)) !== null && r !== void 0 ? r : xo; } }; -var $t = class extends ye { +var Ut = class extends ye { constructor(t) { super(), this._value = t; } @@ -740,9 +740,9 @@ var $t = class extends ye { } }; function Fo(e12, t) { - return Va((n, r) => { + return $a((n, r) => { let o = 0; - n.subscribe(Ba(r, (i) => { + n.subscribe(Ua(r, (i) => { r.next(e12.call(t, i, o++)); })); }); @@ -755,9 +755,9 @@ function ae(e12) { let t = jo; return jo = e12, t; } -var Ua = Symbol("NotFound"); -function mt(e12) { - return e12 === Ua || e12?.name === "\u0275NotFound"; +var Wa = Symbol("NotFound"); +function yt(e12) { + return e12 === Wa || e12?.name === "\u0275NotFound"; } var qn = "https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss"; var v = class extends Error { @@ -766,11 +766,11 @@ var v = class extends Error { super(Zn(t, n)), this.code = t; } }; -function Dd(e12) { +function wd(e12) { return `NG0${Math.abs(e12)}`; } function Zn(e12, t) { - return `${Dd(e12)}${t ? ": " + t : ""}`; + return `${wd(e12)}${t ? ": " + t : ""}`; } var Re = globalThis; function C(e12) { @@ -799,26 +799,26 @@ function Qn(e12) { function Jo(e12, t) { return e12 ? t ? `${e12} ${t}` : e12 : t || ""; } -var wd = C({ __forward_ref__: C }); +var bd = C({ __forward_ref__: C }); function Yn(e12) { return e12.__forward_ref__ = Yn, e12; } function W(e12) { - return Za(e12) ? e12() : e12; + return Ya(e12) ? e12() : e12; } -function Za(e12) { - return typeof e12 == "function" && e12.hasOwnProperty(wd) && e12.__forward_ref__ === Yn; +function Ya(e12) { + return typeof e12 == "function" && e12.hasOwnProperty(bd) && e12.__forward_ref__ === Yn; } function _(e12) { return { token: e12.token, providedIn: e12.providedIn || null, factory: e12.factory, value: void 0 }; } function Kn(e12) { - return bd(e12, Jn); + return Cd(e12, Jn); } -function bd(e12, t) { +function Cd(e12, t) { return e12.hasOwnProperty(t) && e12[t] || null; } -function Cd(e12) { +function Td(e12) { let t = e12?.[Jn] ?? null; return t || null; } @@ -849,14 +849,14 @@ var ti = C({ \u0275dir: C }); var ni = C({ \u0275pipe: C }); var Bo = C({ \u0275fac: C }); var Qe = C({ __NG_ELEMENT_ID__: C }); -var za = C({ __NG_ENV_ID__: C }); +var Ga = C({ __NG_ENV_ID__: C }); function Ye(e12) { return oi(e12, "@Component"), e12[ei] || null; } function ri(e12) { return oi(e12, "@Directive"), e12[ti] || null; } -function Qa(e12) { +function Ka(e12) { return oi(e12, "@Pipe"), e12[ni] || null; } function oi(e12, t) { @@ -866,24 +866,24 @@ function oi(e12, t) { function ii(e12) { return typeof e12 == "string" ? e12 : e12 == null ? "" : String(e12); } -var Ya = C({ ngErrorCode: C }); -var Td = C({ ngErrorMessage: C }); -var Md = C({ ngTokenPath: C }); +var Ja = C({ ngErrorCode: C }); +var Md = C({ ngErrorMessage: C }); +var _d = C({ ngTokenPath: C }); function si(e12, t) { - return Ka("", -200, t); + return Xa("", -200, t); } function Xn(e12, t) { throw new v(-201, false); } -function Ka(e12, t, n) { +function Xa(e12, t, n) { let r = new v(t, e12); - return r[Ya] = t, r[Td] = e12, n && (r[Md] = n), r; + return r[Ja] = t, r[Md] = e12, n && (r[_d] = n), r; } -function _d(e12) { - return e12[Ya]; +function Sd(e12) { + return e12[Ja]; } var $o; -function Ja() { +function ec() { return $o; } function z(e12) { @@ -900,9 +900,9 @@ function ai(e12, t, n) { return t; Xn(e12, ""); } -var Sd = {}; -var We = Sd; -var Nd = "__NG_DI_FLAG__"; +var Nd = {}; +var We = Nd; +var xd = "__NG_DI_FLAG__"; var Uo = class { injector; constructor(t) { @@ -913,21 +913,21 @@ var Uo = class { try { return this.injector.get(t, r & 8 ? null : We, r); } catch (o) { - if (mt(o)) + if (yt(o)) return o; throw o; } } }; -function xd(e12, t = 0) { +function Ad(e12, t = 0) { let n = Hn(); if (n === void 0) throw new v(-203, false); if (n === null) return ai(e12, void 0, t); { - let r = Ad(t), o = n.retrieve(e12, r); - if (mt(o)) { + let r = Rd(t), o = n.retrieve(e12, r); + if (yt(o)) { if (r.optional) return null; throw o; @@ -936,7 +936,7 @@ function xd(e12, t = 0) { } } function w(e12, t = 0) { - return (Ja() || xd)(W(e12), t); + return (ec() || Ad)(W(e12), t); } function E(e12, t) { return w(e12, Ge(t)); @@ -944,7 +944,7 @@ function E(e12, t) { function Ge(e12) { return typeof e12 > "u" || typeof e12 == "number" ? e12 : 0 | (e12.optional && 8) | (e12.host && 1) | (e12.self && 2) | (e12.skipSelf && 4); } -function Ad(e12) { +function Rd(e12) { return { optional: !!(e12 & 8), host: !!(e12 & 1), self: !!(e12 & 2), skipSelf: !!(e12 & 4) }; } function zo(e12) { @@ -956,7 +956,7 @@ function zo(e12) { throw new v(900, false); let o, i = 0; for (let s = 0; s < r.length; s++) { - let a = r[s], c = Rd(a); + let a = r[s], c = Od(a); typeof c == "number" ? c === -1 ? o = a.token : i |= c : o = a; } t.push(w(o, i)); @@ -965,14 +965,14 @@ function zo(e12) { } return t; } -function Rd(e12) { - return e12[Nd]; +function Od(e12) { + return e12[xd]; } -function vt(e12, t) { +function Et(e12, t) { let n = e12.hasOwnProperty(Bo); return n ? e12[Bo] : null; } -function Xa(e12, t, n) { +function tc(e12, t, n) { if (e12.length !== t.length) return false; for (let r = 0; r < e12.length; r++) { @@ -982,7 +982,7 @@ function Xa(e12, t, n) { } return true; } -function ec(e12) { +function nc(e12) { return e12.flat(Number.POSITIVE_INFINITY); } function er(e12, t) { @@ -991,10 +991,10 @@ function er(e12, t) { function ci(e12, t, n) { t >= e12.length ? e12.push(n) : e12.splice(t, 0, n); } -function Zt(e12, t) { +function Qt(e12, t) { return t >= e12.length - 1 ? e12.pop() : e12.splice(t, 1)[0]; } -function tc(e12, t, n, r) { +function rc(e12, t, n, r) { let o = e12.length; if (o == t) e12.push(n, r); @@ -1008,19 +1008,19 @@ function tc(e12, t, n, r) { e12[t] = n, e12[t + 1] = r; } } -function nc(e12, t, n) { - let r = Et(e12, t); - return r >= 0 ? e12[r | 1] = n : (r = ~r, tc(e12, r, t, n)), r; +function oc(e12, t, n) { + let r = It(e12, t); + return r >= 0 ? e12[r | 1] = n : (r = ~r, rc(e12, r, t, n)), r; } function tr(e12, t) { - let n = Et(e12, t); + let n = It(e12, t); if (n >= 0) return e12[n | 1]; } -function Et(e12, t) { - return Od(e12, t, 1); +function It(e12, t) { + return kd(e12, t, 1); } -function Od(e12, t, n) { +function kd(e12, t, n) { let r = 0, o = e12.length >> n; for (; o !== r; ) { let i = r + (o - r >> 1), s = e12[i << n]; @@ -1035,22 +1035,22 @@ var Ne = []; var Je = new D(""); var li = new D("", -1); var ui = new D(""); -var zt = class { +var Wt = class { get(t, n = We) { if (n === We) { - let o = Ka("", -201); + let o = Xa("", -201); throw o.name = "\u0275NotFound", o; } return n; } }; -function Qt(e12) { +function Dt(e12) { return { \u0275providers: e12 }; } -function rc(e12) { - return Qt([{ provide: Je, multi: true, useValue: e12 }]); +function ic(e12) { + return Dt([{ provide: Je, multi: true, useValue: e12 }]); } -function oc(...e12) { +function sc(...e12) { return { \u0275providers: di(true, e12), \u0275fromNgModule: true }; } function di(e12, ...t) { @@ -1060,9 +1060,9 @@ function di(e12, ...t) { return er(t, (s) => { let a = s; $n(a, i, [], r) && (o ||= [], o.push(a)); - }), o !== void 0 && ic(o, i), n; + }), o !== void 0 && ac(o, i), n; } -function ic(e12, t) { +function ac(e12, t) { for (let n = 0; n < e12.length; n++) { let { ngModule: r, providers: o } = e12[n]; fi(o, (i) => { @@ -1100,10 +1100,10 @@ function $n(e12, t, n, r) { let l; er(i.imports, (u) => { $n(u, t, n, r) && (l ||= [], l.push(u)); - }), l !== void 0 && ic(l, t); + }), l !== void 0 && ac(l, t); } if (!a) { - let l = vt(o) || (() => new o()); + let l = Et(o) || (() => new o()); t({ provide: o, useFactory: l, deps: Ne }, o), t({ provide: ui, useValue: o, multi: true }, o), t({ provide: Je, useValue: () => w(o), multi: true }, o); } let c = i.providers; @@ -1121,14 +1121,14 @@ function fi(e12, t) { for (let n of e12) Xo(n) && (n = n.\u0275providers), Array.isArray(n) ? fi(n, t) : t(n); } -var kd = C({ provide: String, useValue: C }); -function sc(e12) { - return e12 !== null && typeof e12 == "object" && kd in e12; +var Pd = C({ provide: String, useValue: C }); +function cc(e12) { + return e12 !== null && typeof e12 == "object" && Pd in e12; } -function Pd(e12) { +function Ld(e12) { return !!(e12 && e12.useExisting); } -function Ld(e12) { +function Fd(e12) { return !!(e12 && e12.useFactory); } function Un(e12) { @@ -1136,10 +1136,10 @@ function Un(e12) { } var Yt = new D(""); var Vn = {}; -var Wa = {}; +var qa = {}; var Ho; function Kt() { - return Ho === void 0 && (Ho = new zt()), Ho; + return Ho === void 0 && (Ho = new Wt()), Ho; } var Q = class { }; @@ -1156,7 +1156,7 @@ var qe = class extends Q { _destroyed = false; injectorDefTypes; constructor(t, n, r, o) { - super(), this.parent = n, this.source = r, this.scopes = o, Go(t, (s) => this.processProvider(s)), this.records.set(li, yt(void 0, this)), o.has("environment") && this.records.set(Q, yt(void 0, this)); + super(), this.parent = n, this.source = r, this.scopes = o, Go(t, (s) => this.processProvider(s)), this.records.set(li, vt(void 0, this)), o.has("environment") && this.records.set(Q, vt(void 0, this)); let i = this.records.get(Yt); i != null && typeof i.value == "string" && this.scopes.add(i.value), this.injectorDefTypes = new Set(this.get(ui, Ne, { self: true })); } @@ -1165,13 +1165,13 @@ var qe = class extends Q { try { return this.get(t, We, r); } catch (o) { - if (mt(o)) + if (yt(o)) return o; throw o; } } destroy() { - Ut(this), this._destroyed = true; + zt(this), this._destroyed = true; let t = g(null); try { for (let r of this._ngOnDestroyHooks) @@ -1185,10 +1185,10 @@ var qe = class extends Q { } } onDestroy(t) { - return Ut(this), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t); + return zt(this), this._onDestroyHooks.push(t), () => this.removeOnDestroy(t); } runInContext(t) { - Ut(this); + zt(this); let n = ae(this), r = z(void 0), o; try { return t(); @@ -1197,15 +1197,15 @@ var qe = class extends Q { } } get(t, n = We, r) { - if (Ut(this), t.hasOwnProperty(za)) - return t[za](this); + if (zt(this), t.hasOwnProperty(Ga)) + return t[Ga](this); let o = Ge(r), i, s = ae(this), a = z(void 0); try { if (!(o & 4)) { let l = this.records.get(t); if (l === void 0) { - let u = Bd(t) && Kn(t); - u && this.injectableDefInScope(u) ? l = yt(Wo(t), Vn) : l = null, this.records.set(t, l); + let u = $d(t) && Kn(t); + u && this.injectableDefInScope(u) ? l = vt(Wo(t), Vn) : l = null, this.records.set(t, l); } if (l != null) return this.hydrate(t, l, o); @@ -1213,7 +1213,7 @@ var qe = class extends Q { let c = o & 2 ? Kt() : this.parent; return n = o & 8 && n === We ? null : n, c.get(t, n); } catch (c) { - let l = _d(c); + let l = Sd(c); throw l === -200 || l === -201 ? new v(l, null) : c; } finally { z(a), ae(s); @@ -1234,19 +1234,19 @@ var qe = class extends Q { } processProvider(t) { t = W(t); - let n = Un(t) ? t : W(t && t.provide), r = jd(t); + let n = Un(t) ? t : W(t && t.provide), r = Hd(t); if (!Un(t) && t.multi === true) { let o = this.records.get(n); - o || (o = yt(void 0, Vn, true), o.factory = () => zo(o.multi), this.records.set(n, o)), n = t, o.multi.push(t); + o || (o = vt(void 0, Vn, true), o.factory = () => zo(o.multi), this.records.set(n, o)), n = t, o.multi.push(t); } this.records.set(n, r); } hydrate(t, n, r) { let o = g(null); try { - if (n.value === Wa) + if (n.value === qa) throw si(""); - return n.value === Vn && (n.value = Wa, n.value = n.factory(void 0, r)), typeof n.value == "object" && n.value && Vd(n.value) && this._ngOnDestroyHooks.add(n.value), n.value; + return n.value === Vn && (n.value = qa, n.value = n.factory(void 0, r)), typeof n.value == "object" && n.value && Bd(n.value) && this._ngOnDestroyHooks.add(n.value), n.value; } finally { g(o); } @@ -1263,63 +1263,63 @@ var qe = class extends Q { } }; function Wo(e12) { - let t = Kn(e12), n = t !== null ? t.factory : vt(e12); + let t = Kn(e12), n = t !== null ? t.factory : Et(e12); if (n !== null) return n; if (e12 instanceof D) throw new v(-204, false); if (e12 instanceof Function) - return Fd(e12); + return jd(e12); throw new v(-204, false); } -function Fd(e12) { +function jd(e12) { if (e12.length > 0) throw new v(-204, false); - let n = Cd(e12); + let n = Td(e12); return n !== null ? () => n.factory(e12) : () => new e12(); } -function jd(e12) { - if (sc(e12)) - return yt(void 0, e12.useValue); +function Hd(e12) { + if (cc(e12)) + return vt(void 0, e12.useValue); { - let t = ac(e12); - return yt(t, Vn); + let t = lc(e12); + return vt(t, Vn); } } -function ac(e12, t, n) { +function lc(e12, t, n) { let r; if (Un(e12)) { let o = W(e12); - return vt(o) || Wo(o); - } else if (sc(e12)) + return Et(o) || Wo(o); + } else if (cc(e12)) r = () => W(e12.useValue); - else if (Ld(e12)) + else if (Fd(e12)) r = () => e12.useFactory(...zo(e12.deps || [])); - else if (Pd(e12)) + else if (Ld(e12)) r = (o, i) => w(W(e12.useExisting), i !== void 0 && i & 8 ? 8 : void 0); else { let o = W(e12 && (e12.useClass || e12.provide)); - if (Hd(e12)) + if (Vd(e12)) r = () => new o(...zo(e12.deps)); else - return vt(o) || Wo(o); + return Et(o) || Wo(o); } return r; } -function Ut(e12) { +function zt(e12) { if (e12.destroyed) throw new v(-205, false); } -function yt(e12, t, n = false) { +function vt(e12, t, n = false) { return { factory: e12, value: t, multi: n ? [] : void 0 }; } -function Hd(e12) { +function Vd(e12) { return !!e12.deps; } -function Vd(e12) { +function Bd(e12) { return e12 !== null && typeof e12 == "object" && typeof e12.ngOnDestroy == "function"; } -function Bd(e12) { +function $d(e12) { return typeof e12 == "function" || typeof e12 == "object" && e12.ngMetadataName === "InjectionToken"; } function Go(e12, t) { @@ -1328,7 +1328,7 @@ function Go(e12, t) { } function nr(e12, t) { let n; - e12 instanceof qe ? (Ut(e12), n = e12) : n = new Uo(e12); + e12 instanceof qe ? (zt(e12), n = e12) : n = new Uo(e12); let r, o = ae(n), i = z(void 0); try { return t(); @@ -1336,8 +1336,8 @@ function nr(e12, t) { ae(o), z(i); } } -function cc() { - return Ja() !== void 0 || Hn() != null; +function uc() { + return ec() !== void 0 || Hn() != null; } var ne = 0; var m = 1; @@ -1345,13 +1345,13 @@ var y = 2; var R = 3; var K = 4; var J = 5; -var It = 6; -var Dt = 7; +var wt = 6; +var bt = 7; var x = 8; var De = 9; var le = 10; var O = 11; -var wt = 12; +var Ct = 12; var pi = 13; var Xe = 14; var X = 15; @@ -1367,38 +1367,38 @@ var G = 24; var or = 25; var ke = 26; var F = 27; -var lc = 1; +var dc = 1; var gi = 6; var Pe = 7; var Jt = 8; var tt = 9; var S = 10; function Le(e12) { - return Array.isArray(e12) && typeof e12[lc] == "object"; + return Array.isArray(e12) && typeof e12[dc] == "object"; } function re(e12) { - return Array.isArray(e12) && e12[lc] === true; + return Array.isArray(e12) && e12[dc] === true; } function mi(e12) { return (e12.flags & 4) !== 0; } -function bt(e12) { +function Tt(e12) { return e12.componentOffset > -1; } function yi(e12) { return (e12.flags & 1) === 1; } -function Ct(e12) { +function Mt(e12) { return !!e12.template; } -function Tt(e12) { +function _t(e12) { return (e12[y] & 512) !== 0; } function nt(e12) { return (e12[y] & 256) === 256; } -var uc = "svg"; -var dc = "math"; +var fc = "svg"; +var pc = "math"; function ee(e12) { for (; Array.isArray(e12); ) e12 = e12[ne]; @@ -1417,13 +1417,13 @@ function be(e12, t) { let n = t[e12]; return Le(n) ? n : n[ne]; } -function fc(e12) { +function hc(e12) { return (e12[y] & 4) === 4; } function sr(e12) { return (e12[y] & 128) === 128; } -function pc(e12) { +function gc(e12) { return re(e12[R]); } function fe(e12, t) { @@ -1433,9 +1433,9 @@ function Ei(e12) { e12[et] = 0; } function Ii(e12) { - e12[y] & 1024 || (e12[y] |= 1024, sr(e12) && Mt(e12)); + e12[y] & 1024 || (e12[y] |= 1024, sr(e12) && St(e12)); } -function hc(e12, t) { +function mc(e12, t) { for (; e12 > 0; ) t = t[Xe], e12--; return t; @@ -1444,9 +1444,9 @@ function Xt(e12) { return !!(e12[y] & 9216 || e12[G]?.dirty); } function ar(e12) { - e12[le].changeDetectionScheduler?.notify(8), e12[y] & 64 && (e12[y] |= 1024), Xt(e12) && Mt(e12); + e12[le].changeDetectionScheduler?.notify(8), e12[y] & 64 && (e12[y] |= 1024), Xt(e12) && St(e12); } -function Mt(e12) { +function St(e12) { e12[le].changeDetectionScheduler?.notify(0); let t = Ae(e12); for (; t !== null && !(t[y] & 8192 || (t[y] |= 8192, !sr(t))); ) @@ -1457,7 +1457,7 @@ function Di(e12, t) { throw new v(911, false); e12[Ee] === null && (e12[Ee] = []), e12[Ee].push(t); } -function gc(e12, t) { +function yc(e12, t) { if (e12[Ee] === null) return; let n = e12[Ee].indexOf(t); @@ -1468,33 +1468,33 @@ function Ae(e12) { return re(t) ? t[R] : t; } function wi(e12) { - return e12[Dt] ??= []; + return e12[bt] ??= []; } function bi(e12) { return e12.cleanup ??= []; } -function mc(e12, t, n, r) { +function vc(e12, t, n, r) { let o = wi(t); o.push(n), e12.firstCreatePass && bi(e12).push(r, o.length - 1); } -var I = { lFrame: Rc(null), bindingsEnabled: true, skipHydrationRootTNode: null }; +var I = { lFrame: kc(null), bindingsEnabled: true, skipHydrationRootTNode: null }; var qo = false; -function yc() { +function Ec() { return I.lFrame.elementDepthCount; } -function vc() { +function Ic() { I.lFrame.elementDepthCount++; } -function Ec() { +function Dc() { I.lFrame.elementDepthCount--; } -function Ic() { +function wc() { return I.skipHydrationRootTNode !== null; } -function Dc(e12) { +function bc(e12) { return I.skipHydrationRootTNode === e12; } -function wc() { +function Cc() { I.skipHydrationRootTNode = null; } function M() { @@ -1512,51 +1512,51 @@ function pe() { function Ci() { return I.lFrame.currentTNode; } -function bc() { +function Tc() { let e12 = I.lFrame, t = e12.currentTNode; return e12.isParent ? t : t.parent; } -function _t(e12, t) { +function Nt(e12, t) { let n = I.lFrame; n.currentTNode = e12, n.isParent = t; } function Ti() { return I.lFrame.isParent; } -function Cc() { +function Mc() { I.lFrame.isParent = false; } function Mi() { return qo; } -function Wt(e12) { +function Gt(e12) { let t = qo; return qo = e12, t; } -function Tc(e12) { +function _c(e12) { return I.lFrame.bindingIndex = e12; } function en() { return I.lFrame.bindingIndex++; } -function Mc(e12) { +function Sc(e12) { let t = I.lFrame, n = t.bindingIndex; return t.bindingIndex = t.bindingIndex + e12, n; } -function _c() { +function Nc() { return I.lFrame.inI18n; } -function Sc(e12, t) { +function xc(e12, t) { let n = I.lFrame; n.bindingIndex = n.bindingRootIndex = e12, cr(t); } -function Nc() { +function Ac() { return I.lFrame.currentDirectiveIndex; } function cr(e12) { I.lFrame.currentDirectiveIndex = e12; } -function xc(e12) { +function Rc(e12) { let t = I.lFrame.currentDirectiveIndex; return t === -1 ? null : e12[t]; } @@ -1566,7 +1566,7 @@ function _i() { function lr(e12) { I.lFrame.currentQueryIndex = e12; } -function $d(e12) { +function Ud(e12) { let t = e12[m]; return t.type === 2 ? t.declTNode : t.type === 1 ? e12[J] : null; } @@ -1574,38 +1574,38 @@ function Si(e12, t, n) { if (n & 4) { let o = t, i = e12; for (; o = o.parent, o === null && !(n & 1); ) - if (o = $d(i), o === null || (i = i[Xe], o.type & 10)) + if (o = Ud(i), o === null || (i = i[Xe], o.type & 10)) break; if (o === null) return false; t = o, e12 = i; } - let r = I.lFrame = Ac(); + let r = I.lFrame = Oc(); return r.currentTNode = t, r.lView = e12, true; } function ur(e12) { - let t = Ac(), n = e12[m]; + let t = Oc(), n = e12[m]; I.lFrame = t, t.currentTNode = n.firstChild, t.lView = e12, t.tView = n, t.contextLView = e12, t.bindingIndex = n.bindingStartIndex, t.inI18n = false; } -function Ac() { +function Oc() { let e12 = I.lFrame, t = e12 === null ? null : e12.child; - return t === null ? Rc(e12) : t; + return t === null ? kc(e12) : t; } -function Rc(e12) { +function kc(e12) { let t = { currentTNode: null, isParent: true, lView: null, tView: null, selectedIndex: -1, contextLView: null, elementDepthCount: 0, currentNamespace: null, currentDirectiveIndex: -1, bindingRootIndex: -1, bindingIndex: -1, currentQueryIndex: 0, parent: e12, child: null, inI18n: false }; return e12 !== null && (e12.child = t), t; } -function Oc() { +function Pc() { let e12 = I.lFrame; return I.lFrame = e12.parent, e12.currentTNode = null, e12.lView = null, e12; } -var Ni = Oc; +var Ni = Pc; function dr() { - let e12 = Oc(); + let e12 = Pc(); e12.isParent = true, e12.tView = null, e12.selectedIndex = -1, e12.contextLView = null, e12.elementDepthCount = 0, e12.currentDirectiveIndex = -1, e12.currentNamespace = null, e12.bindingRootIndex = -1, e12.bindingIndex = -1, e12.currentQueryIndex = 0; } -function kc(e12) { - return (I.lFrame.contextLView = hc(e12, I.lFrame.contextLView))[x]; +function Lc(e12) { + return (I.lFrame.contextLView = mc(e12, I.lFrame.contextLView))[x]; } function Fe() { return I.lFrame.selectedIndex; @@ -1613,31 +1613,31 @@ function Fe() { function je(e12) { I.lFrame.selectedIndex = e12; } -function Pc() { +function Fc() { let e12 = I.lFrame; return ir(e12.tView, e12.selectedIndex); } -function Lc() { +function jc() { return I.lFrame.currentNamespace; } -var Fc = true; +var Hc = true; function fr() { - return Fc; + return Hc; } function pr(e12) { - Fc = e12; + Hc = e12; } function Zo(e12, t = null, n = null, r) { - let o = jc(e12, t, n, r); + let o = Vc(e12, t, n, r); return o.resolveInjectorInitializers(), o; } -function jc(e12, t = null, n = null, r, o = /* @__PURE__ */ new Set()) { - let i = [n || Ne, oc(e12)], s; +function Vc(e12, t = null, n = null, r, o = /* @__PURE__ */ new Set()) { + let i = [n || Ne, sc(e12)], s; return new qe(i, t || Kt(), s || null, o); } var ce = class e2 { static THROW_IF_NOT_FOUND = We; - static NULL = new zt(); + static NULL = new Wt(); static create(t, n) { if (Array.isArray(t)) return Zo({ name: "" }, n, t, ""); @@ -1650,14 +1650,14 @@ var ce = class e2 { static __NG_ELEMENT_ID__ = -1; }; var U = new D(""); -var St = /* @__PURE__ */ (() => { +var xt = /* @__PURE__ */ (() => { class e12 { - static __NG_ELEMENT_ID__ = Ud; + static __NG_ELEMENT_ID__ = zd; static __NG_ENV_ID__ = (n) => n; } return e12; })(); -var zn = class extends St { +var zn = class extends xt { _lView; constructor(t) { super(), this._lView = t; @@ -1667,26 +1667,26 @@ var zn = class extends St { } onDestroy(t) { let n = this._lView; - return Di(n, t), () => gc(n, t); + return Di(n, t), () => yc(n, t); } }; -function Ud() { +function zd() { return new zn(M()); } -var Hc = false; -var Vc = new D(""); -var Nt = (() => { +var Bc = false; +var $c = new D(""); +var At = (() => { class e12 { taskId = 0; pendingTasks = /* @__PURE__ */ new Set(); destroyed = false; - pendingTask = new $t(false); - debugTaskTracker = E(Vc, { optional: true }); + pendingTask = new Ut(false); + debugTaskTracker = E($c, { optional: true }); get hasPendingTasks() { return this.destroyed ? false : this.pendingTask.value; } get hasPendingTasksObservable() { - return this.destroyed ? new gt((n) => { + return this.destroyed ? new mt((n) => { n.next(false), n.complete(); }) : this.pendingTask; } @@ -1713,7 +1713,7 @@ var Qo = class extends ye { destroyRef = void 0; pendingTasks = void 0; constructor(t = false) { - super(), this.__isAsync = t, cc() && (this.destroyRef = E(St, { optional: true }) ?? void 0, this.pendingTasks = E(Nt, { optional: true }) ?? void 0); + super(), this.__isAsync = t, uc() && (this.destroyRef = E(xt, { optional: true }) ?? void 0, this.pendingTasks = E(At, { optional: true }) ?? void 0); } emit(t) { let n = g(null); @@ -1764,14 +1764,14 @@ function xi(e12) { e12(), r(); })), () => r(); } -function Bc(e12) { +function Uc(e12) { return queueMicrotask(() => e12()), () => { e12 = Wn; }; } var Ai = "isAngularZone"; -var Gt = Ai + "_ID"; -var zd = 0; +var qt = Ai + "_ID"; +var Wd = 0; var Y = class e3 { hasPendingMacrotasks = false; hasPendingMicrotasks = false; @@ -1781,12 +1781,12 @@ var Y = class e3 { onStable = new ve(false); onError = new ve(false); constructor(t) { - let { enableLongStackTrace: n = false, shouldCoalesceEventChangeDetection: r = false, shouldCoalesceRunChangeDetection: o = false, scheduleInRootZone: i = Hc } = t; + let { enableLongStackTrace: n = false, shouldCoalesceEventChangeDetection: r = false, shouldCoalesceRunChangeDetection: o = false, scheduleInRootZone: i = Bc } = t; if (typeof Zone > "u") throw new v(908, false); Zone.assertZonePatched(); let s = this; - s._nesting = 0, s._outer = s._inner = Zone.current, Zone.TaskTrackingZoneSpec && (s._inner = s._inner.fork(new Zone.TaskTrackingZoneSpec())), n && Zone.longStackTraceZoneSpec && (s._inner = s._inner.fork(Zone.longStackTraceZoneSpec)), s.shouldCoalesceEventChangeDetection = !o && r, s.shouldCoalesceRunChangeDetection = o, s.callbackScheduled = false, s.scheduleInRootZone = i, qd(s); + s._nesting = 0, s._outer = s._inner = Zone.current, Zone.TaskTrackingZoneSpec && (s._inner = s._inner.fork(new Zone.TaskTrackingZoneSpec())), n && Zone.longStackTraceZoneSpec && (s._inner = s._inner.fork(Zone.longStackTraceZoneSpec)), s.shouldCoalesceEventChangeDetection = !o && r, s.shouldCoalesceRunChangeDetection = o, s.callbackScheduled = false, s.scheduleInRootZone = i, Zd(s); } static isInAngularZone() { return typeof Zone < "u" && Zone.current.get(Ai) === true; @@ -1803,7 +1803,7 @@ var Y = class e3 { return this._inner.run(t, n, r); } runTask(t, n, r, o) { - let i = this._inner, s = i.scheduleEventTask("NgZoneEvent: " + o, t, Wd, Wn, Wn); + let i = this._inner, s = i.scheduleEventTask("NgZoneEvent: " + o, t, Gd, Wn, Wn); try { return i.runTask(s, n, r); } finally { @@ -1817,7 +1817,7 @@ var Y = class e3 { return this._outer.run(t); } }; -var Wd = {}; +var Gd = {}; function Ri(e12) { if (e12._nesting == 0 && !e12.hasPendingMicrotasks && !e12.isStable) try { @@ -1831,7 +1831,7 @@ function Ri(e12) { } } } -function Gd(e12) { +function qd(e12) { if (e12.isCheckStableRunning || e12.callbackScheduled) return; e12.callbackScheduled = true; @@ -1846,23 +1846,23 @@ function Gd(e12) { t(); }), Yo(e12); } -function qd(e12) { +function Zd(e12) { let t = () => { - Gd(e12); - }, n = zd++; - e12._inner = e12._inner.fork({ name: "angular", properties: { [Ai]: true, [Gt]: n, [Gt + n]: true }, onInvokeTask: (r, o, i, s, a, c) => { - if (Zd(c)) + qd(e12); + }, n = Wd++; + e12._inner = e12._inner.fork({ name: "angular", properties: { [Ai]: true, [qt]: n, [qt + n]: true }, onInvokeTask: (r, o, i, s, a, c) => { + if (Qd(c)) return r.invokeTask(i, s, a, c); try { - return Ga(e12), r.invokeTask(i, s, a, c); + return Za(e12), r.invokeTask(i, s, a, c); } finally { - (e12.shouldCoalesceEventChangeDetection && s.type === "eventTask" || e12.shouldCoalesceRunChangeDetection) && t(), qa(e12); + (e12.shouldCoalesceEventChangeDetection && s.type === "eventTask" || e12.shouldCoalesceRunChangeDetection) && t(), Qa(e12); } }, onInvoke: (r, o, i, s, a, c, l) => { try { - return Ga(e12), r.invoke(i, s, a, c, l); + return Za(e12), r.invoke(i, s, a, c, l); } finally { - e12.shouldCoalesceRunChangeDetection && !e12.callbackScheduled && !Qd(c) && t(), qa(e12); + e12.shouldCoalesceRunChangeDetection && !e12.callbackScheduled && !Yd(c) && t(), Qa(e12); } }, onHasTask: (r, o, i, s) => { r.hasTask(i, s), o === i && (s.change == "microTask" ? (e12._hasPendingMicrotasks = s.microTask, Yo(e12), Ri(e12)) : s.change == "macroTask" && (e12.hasPendingMacrotasks = s.macroTask)); @@ -1871,13 +1871,13 @@ function qd(e12) { function Yo(e12) { e12._hasPendingMicrotasks || (e12.shouldCoalesceEventChangeDetection || e12.shouldCoalesceRunChangeDetection) && e12.callbackScheduled === true ? e12.hasPendingMicrotasks = true : e12.hasPendingMicrotasks = false; } -function Ga(e12) { +function Za(e12) { e12._nesting++, e12.isStable && (e12.isStable = false, e12.onUnstable.emit(null)); } -function qa(e12) { +function Qa(e12) { e12._nesting--, Ri(e12); } -var qt = class { +var Zt = class { hasPendingMicrotasks = false; hasPendingMacrotasks = false; isStable = true; @@ -1898,13 +1898,13 @@ var qt = class { return t.apply(n, r); } }; -function Zd(e12) { - return $c(e12, "__ignore_ng_zone__"); -} function Qd(e12) { - return $c(e12, "__scheduler_tick__"); + return zc(e12, "__ignore_ng_zone__"); +} +function Yd(e12) { + return zc(e12, "__scheduler_tick__"); } -function $c(e12, t) { +function zc(e12, t) { return !Array.isArray(e12) || e12.length !== 1 ? false : e12[0]?.data?.[t] === true; } var Ie = class { @@ -1923,10 +1923,10 @@ var rt = new D("", { factory: () => { }); }; } }); -var Uc = { provide: Je, useValue: () => { +var Wc = { provide: Je, useValue: () => { let e12 = E(Ie, { optional: true }); }, multi: true }; -var Yd = new D("", { factory: () => { +var Kd = new D("", { factory: () => { let e12 = E(U).defaultView; if (!e12) return; @@ -1937,20 +1937,20 @@ var Yd = new D("", { factory: () => { }, o = () => { e12.addEventListener("unhandledrejection", n), e12.addEventListener("error", r); }; - typeof Zone < "u" ? Zone.root.run(o) : o(), E(St).onDestroy(() => { + typeof Zone < "u" ? Zone.root.run(o) : o(), E(xt).onDestroy(() => { e12.removeEventListener("error", r), e12.removeEventListener("unhandledrejection", n); }); } }); function Oi() { - return Qt([rc(() => { - E(Yd); + return Dt([ic(() => { + E(Kd); })]); } function q(e12, t) { let [n, r, o] = Mo(e12, t?.equal), i = n, s = i[Z]; - return i.set = r, i.update = o, i.asReadonly = zc.bind(i), i; + return i.set = r, i.update = o, i.asReadonly = Gc.bind(i), i; } -function zc() { +function Gc() { let e12 = this[Z]; if (e12.readonlyFn === void 0) { let t = () => this(); @@ -1965,11 +1965,11 @@ var hr = /* @__PURE__ */ (() => { constructor(n, r) { this.view = n, this.node = r; } - static __NG_ELEMENT_ID__ = Kd; + static __NG_ELEMENT_ID__ = Jd; } return e12; })(); -function Kd() { +function Jd() { return new hr(M(), pe()); } var Ze = class { @@ -2026,15 +2026,15 @@ var Gn = class { } }; function Pi(e12, t) { - let n = t?.injector ?? E(ce), r = t?.manualCleanup !== true ? n.get(St) : null, o, i = n.get(hr, null, { optional: true }), s = n.get(Ze); - return i !== null ? (o = ef(i.view, s, e12), r instanceof zn && r._lView === i.view && (r = null)) : o = tf(e12, n.get(gr), s), o.injector = n, r !== null && (o.onDestroyFns = [r.onDestroy(() => o.destroy())]), new Gn(o); + let n = t?.injector ?? E(ce), r = t?.manualCleanup !== true ? n.get(xt) : null, o, i = n.get(hr, null, { optional: true }), s = n.get(Ze); + return i !== null ? (o = tf(i.view, s, e12), r instanceof zn && r._lView === i.view && (r = null)) : o = nf(e12, n.get(gr), s), o.injector = n, r !== null && (o.onDestroyFns = [r.onDestroy(() => o.destroy())]), new Gn(o); } -var Wc = A(N({}, So), { cleanupFns: void 0, zone: null, onDestroyFns: null, run() { - let e12 = Wt(false); +var qc = A(N({}, So), { cleanupFns: void 0, zone: null, onDestroyFns: null, run() { + let e12 = Gt(false); try { No(this); } finally { - Wt(e12); + Gt(e12); } }, cleanup() { if (!this.cleanupFns?.length) @@ -2047,42 +2047,42 @@ var Wc = A(N({}, So), { cleanupFns: void 0, zone: null, onDestroyFns: null, run( this.cleanupFns = [], g(e12); } } }); -var Jd = A(N({}, Wc), { consumerMarkedDirty() { +var Xd = A(N({}, qc), { consumerMarkedDirty() { this.scheduler.schedule(this), this.notifier.notify(12); }, destroy() { - if (ut(this), this.onDestroyFns !== null) + if (dt(this), this.onDestroyFns !== null) for (let e12 of this.onDestroyFns) e12(); this.cleanup(), this.scheduler.remove(this); } }); -var Xd = A(N({}, Wc), { consumerMarkedDirty() { - this.view[y] |= 8192, Mt(this.view), this.notifier.notify(13); +var ef = A(N({}, qc), { consumerMarkedDirty() { + this.view[y] |= 8192, St(this.view), this.notifier.notify(13); }, destroy() { - if (ut(this), this.onDestroyFns !== null) + if (dt(this), this.onDestroyFns !== null) for (let e12 of this.onDestroyFns) e12(); this.cleanup(), this.view[xe]?.delete(this); } }); -function ef(e12, t, n) { - let r = Object.create(Xd); - return r.view = e12, r.zone = typeof Zone < "u" ? Zone.current : null, r.notifier = t, r.fn = Gc(r, n), e12[xe] ??= /* @__PURE__ */ new Set(), e12[xe].add(r), r.consumerMarkedDirty(r), r; -} function tf(e12, t, n) { - let r = Object.create(Jd); - return r.fn = Gc(r, e12), r.scheduler = t, r.notifier = n, r.zone = typeof Zone < "u" ? Zone.current : null, r.scheduler.add(r), r.notifier.notify(12), r; + let r = Object.create(ef); + return r.view = e12, r.zone = typeof Zone < "u" ? Zone.current : null, r.notifier = t, r.fn = Zc(r, n), e12[xe] ??= /* @__PURE__ */ new Set(), e12[xe].add(r), r.consumerMarkedDirty(r), r; +} +function nf(e12, t, n) { + let r = Object.create(Xd); + return r.fn = Zc(r, e12), r.scheduler = t, r.notifier = n, r.zone = typeof Zone < "u" ? Zone.current : null, r.scheduler.add(r), r.notifier.notify(12), r; } -function Gc(e12, t) { +function Zc(e12, t) { return () => { t((n) => (e12.cleanupFns ??= []).push(n)); }; } -function bl(e12) { +function Tl(e12) { return { toString: e12 }.toString(); } -function yf(e12) { +function vf(e12) { return typeof e12 == "function"; } -function Cl(e12, t, n, r) { +function Ml(e12, t, n, r) { t !== null ? t.applyValueToInputSignal(t, r) : e12[n] = r; } var Cr = class { @@ -2096,11 +2096,11 @@ var Cr = class { return this.firstChange; } }; -function vf(e12) { - return e12.type.prototype.ngOnChanges && (e12.setInput = If), Ef; +function Ef(e12) { + return e12.type.prototype.ngOnChanges && (e12.setInput = Df), If; } -function Ef() { - let e12 = Ml(this), t = e12?.current; +function If() { + let e12 = Sl(this), t = e12?.current; if (t) { let n = e12.previous; if (n === Ke) @@ -2111,61 +2111,61 @@ function Ef() { e12.current = null, this.ngOnChanges(t); } } -function If(e12, t, n, r, o) { - let i = this.declaredInputs[r], s = Ml(e12) || Df(e12, { previous: Ke, current: null }), a = s.current || (s.current = {}), c = s.previous, l = c[i]; - a[i] = new Cr(l && l.currentValue, n, c === Ke), Cl(e12, t, o, n); +function Df(e12, t, n, r, o) { + let i = this.declaredInputs[r], s = Sl(e12) || wf(e12, { previous: Ke, current: null }), a = s.current || (s.current = {}), c = s.previous, l = c[i]; + a[i] = new Cr(l && l.currentValue, n, c === Ke), Ml(e12, t, o, n); } -var Tl = "__ngSimpleChanges__"; -function Ml(e12) { - return e12[Tl] || null; +var _l = "__ngSimpleChanges__"; +function Sl(e12) { + return e12[_l] || null; } -function Df(e12, t) { - return e12[Tl] = t; +function wf(e12, t) { + return e12[_l] = t; } -var qc = []; +var Qc = []; var T = function(e12, t = null, n) { - for (let r = 0; r < qc.length; r++) { - let o = qc[r]; + for (let r = 0; r < Qc.length; r++) { + let o = Qc[r]; o(e12, t, n); } }; var b = function(e12) { return e12[e12.TemplateCreateStart = 0] = "TemplateCreateStart", e12[e12.TemplateCreateEnd = 1] = "TemplateCreateEnd", e12[e12.TemplateUpdateStart = 2] = "TemplateUpdateStart", e12[e12.TemplateUpdateEnd = 3] = "TemplateUpdateEnd", e12[e12.LifecycleHookStart = 4] = "LifecycleHookStart", e12[e12.LifecycleHookEnd = 5] = "LifecycleHookEnd", e12[e12.OutputStart = 6] = "OutputStart", e12[e12.OutputEnd = 7] = "OutputEnd", e12[e12.BootstrapApplicationStart = 8] = "BootstrapApplicationStart", e12[e12.BootstrapApplicationEnd = 9] = "BootstrapApplicationEnd", e12[e12.BootstrapComponentStart = 10] = "BootstrapComponentStart", e12[e12.BootstrapComponentEnd = 11] = "BootstrapComponentEnd", e12[e12.ChangeDetectionStart = 12] = "ChangeDetectionStart", e12[e12.ChangeDetectionEnd = 13] = "ChangeDetectionEnd", e12[e12.ChangeDetectionSyncStart = 14] = "ChangeDetectionSyncStart", e12[e12.ChangeDetectionSyncEnd = 15] = "ChangeDetectionSyncEnd", e12[e12.AfterRenderHooksStart = 16] = "AfterRenderHooksStart", e12[e12.AfterRenderHooksEnd = 17] = "AfterRenderHooksEnd", e12[e12.ComponentStart = 18] = "ComponentStart", e12[e12.ComponentEnd = 19] = "ComponentEnd", e12[e12.DeferBlockStateStart = 20] = "DeferBlockStateStart", e12[e12.DeferBlockStateEnd = 21] = "DeferBlockStateEnd", e12[e12.DynamicComponentStart = 22] = "DynamicComponentStart", e12[e12.DynamicComponentEnd = 23] = "DynamicComponentEnd", e12[e12.HostBindingsUpdateStart = 24] = "HostBindingsUpdateStart", e12[e12.HostBindingsUpdateEnd = 25] = "HostBindingsUpdateEnd", e12; }(b || {}); -function wf(e12, t, n) { +function bf(e12, t, n) { let { ngOnChanges: r, ngOnInit: o, ngDoCheck: i } = t.type.prototype; if (r) { - let s = vf(t); + let s = Ef(t); (n.preOrderHooks ??= []).push(e12, s), (n.preOrderCheckHooks ??= []).push(e12, s); } o && (n.preOrderHooks ??= []).push(0 - e12, o), i && ((n.preOrderHooks ??= []).push(e12, i), (n.preOrderCheckHooks ??= []).push(e12, i)); } -function bf(e12, t) { +function Cf(e12, t) { for (let n = t.directiveStart, r = t.directiveEnd; n < r; n++) { let i = e12.data[n].type.prototype, { ngAfterContentInit: s, ngAfterContentChecked: a, ngAfterViewInit: c, ngAfterViewChecked: l, ngOnDestroy: u } = i; s && (e12.contentHooks ??= []).push(-n, s), a && ((e12.contentHooks ??= []).push(n, a), (e12.contentCheckHooks ??= []).push(n, a)), c && (e12.viewHooks ??= []).push(-n, c), l && ((e12.viewHooks ??= []).push(n, l), (e12.viewCheckHooks ??= []).push(n, l)), u != null && (e12.destroyHooks ??= []).push(n, u); } } function Ir(e12, t, n) { - _l(e12, t, 3, n); + Nl(e12, t, 3, n); } function Dr(e12, t, n, r) { - (e12[y] & 3) === n && _l(e12, t, n, r); + (e12[y] & 3) === n && Nl(e12, t, n, r); } function Li(e12, t) { let n = e12[y]; (n & 3) === t && (n &= 16383, n += 1, e12[y] = n); } -function _l(e12, t, n, r) { +function Nl(e12, t, n, r) { let o = r !== void 0 ? e12[et] & 65535 : 0, i = r ?? -1, s = t.length - 1, a = 0; for (let c = o; c < s; c++) if (typeof t[c + 1] == "number") { if (a = t[c], r != null && a >= r) break; } else - t[c] < 0 && (e12[et] += 65536), (a < i || i == -1) && (Cf(e12, n, t, c), e12[et] = (e12[et] & 4294901760) + c + 2), c++; + t[c] < 0 && (e12[et] += 65536), (a < i || i == -1) && (Tf(e12, n, t, c), e12[et] = (e12[et] & 4294901760) + c + 2), c++; } -function Zc(e12, t) { +function Yc(e12, t) { T(b.LifecycleHookStart, e12, t); let n = g(null); try { @@ -2174,11 +2174,11 @@ function Zc(e12, t) { g(n), T(b.LifecycleHookEnd, e12, t); } } -function Cf(e12, t, n, r) { +function Tf(e12, t, n, r) { let o = n[r] < 0, i = n[r + 1], s = o ? -n[r] : n[r], a = e12[s]; - o ? e12[y] >> 14 < e12[et] >> 16 && (e12[y] & 3) === t && (e12[y] += 16384, Zc(a, i)) : Zc(a, i); + o ? e12[y] >> 14 < e12[et] >> 16 && (e12[y] & 3) === t && (e12[y] += 16384, Yc(a, i)) : Yc(a, i); } -var At = -1; +var Ot = -1; var sn = class { factory; name; @@ -2193,7 +2193,7 @@ var sn = class { this.factory = t, this.name = o, this.canSeeViewProviders = n, this.injectImpl = r; } }; -function Tf(e12, t, n) { +function Mf(e12, t, n) { let r = 0; for (; r < n.length; ) { let o = n[r]; @@ -2205,12 +2205,12 @@ function Tf(e12, t, n) { e12.setAttribute(t, s, a, i); } else { let i = o, s = n[++r]; - Mf(i) ? e12.setProperty(t, i, s) : e12.setAttribute(t, i, s), r++; + _f(i) ? e12.setProperty(t, i, s) : e12.setAttribute(t, i, s), r++; } } return r; } -function Mf(e12) { +function _f(e12) { return e12.charCodeAt(0) === 64; } function Fr(e12, t) { @@ -2221,12 +2221,12 @@ function Fr(e12, t) { let n = -1; for (let r = 0; r < t.length; r++) { let o = t[r]; - typeof o == "number" ? n = o : n === 0 || (n === -1 || n === 2 ? Qc(e12, n, o, null, t[++r]) : Qc(e12, n, o, null, null)); + typeof o == "number" ? n = o : n === 0 || (n === -1 || n === 2 ? Kc(e12, n, o, null, t[++r]) : Kc(e12, n, o, null, null)); } } return e12; } -function Qc(e12, t, n, r, o) { +function Kc(e12, t, n, r, o) { let i = 0, s = e12.length; if (t === -1) s = -1; @@ -2255,45 +2255,45 @@ function Qc(e12, t, n, r, o) { } s !== -1 && (e12.splice(s, 0, t), i = s + 1), e12.splice(i++, 0, n), o !== null && e12.splice(i++, 0, o); } -function Sl(e12) { - return e12 !== At; +function xl(e12) { + return e12 !== Ot; } function Tr(e12) { return e12 & 32767; } -function _f(e12) { +function Sf(e12) { return e12 >> 16; } function Mr(e12, t) { - let n = _f(e12), r = t; + let n = Sf(e12), r = t; for (; n > 0; ) r = r[Xe], n--; return r; } var Ui = true; -function Yc(e12) { +function Jc(e12) { let t = Ui; return Ui = e12, t; } -var Sf = 256; -var Nl = Sf - 1; -var xl = 5; -var Nf = 0; +var Nf = 256; +var Al = Nf - 1; +var Rl = 5; +var xf = 0; var he = {}; -function xf(e12, t, n) { +function Af(e12, t, n) { let r; - typeof n == "string" ? r = n.charCodeAt(0) || 0 : n.hasOwnProperty(Qe) && (r = n[Qe]), r == null && (r = n[Qe] = Nf++); - let o = r & Nl, i = 1 << o; - t.data[e12 + (o >> xl)] |= i; + typeof n == "string" ? r = n.charCodeAt(0) || 0 : n.hasOwnProperty(Qe) && (r = n[Qe]), r == null && (r = n[Qe] = xf++); + let o = r & Al, i = 1 << o; + t.data[e12 + (o >> Rl)] |= i; } -function Al(e12, t) { - let n = Rl(e12, t); +function Ol(e12, t) { + let n = kl(e12, t); if (n !== -1) return n; let r = t[m]; r.firstCreatePass && (e12.injectorIndex = t.length, Fi(r.data, e12), Fi(t, null), Fi(r.blueprint, null)); let o = _s(e12, t), i = e12.injectorIndex; - if (Sl(o)) { + if (xl(o)) { let s = Tr(o), a = Mr(o, t), c = a[m].data; for (let l = 0; l < 8; l++) t[i + l] = a[s + l] | c[s + l]; @@ -2303,7 +2303,7 @@ function Al(e12, t) { function Fi(e12, t) { e12.push(0, 0, 0, 0, 0, 0, 0, 0, t); } -function Rl(e12, t) { +function kl(e12, t) { return e12.injectorIndex === -1 || e12.parent && e12.parent.injectorIndex === e12.injectorIndex || t[e12.injectorIndex + 8] === null ? -1 : e12.injectorIndex; } function _s(e12, t) { @@ -2311,22 +2311,22 @@ function _s(e12, t) { return e12.parent.injectorIndex; let n = 0, r = null, o = t; for (; o !== null; ) { - if (r = Fl(o), r === null) - return At; + if (r = Hl(o), r === null) + return Ot; if (n++, o = o[Xe], r.injectorIndex !== -1) return r.injectorIndex | n << 16; } - return At; + return Ot; } -function Af(e12, t, n) { - xf(e12, t, n); +function Rf(e12, t, n) { + Af(e12, t, n); } -function Ol(e12, t, n) { +function Pl(e12, t, n) { if (n & 8 || e12 !== void 0) return e12; Xn(t, "NodeInjector"); } -function kl(e12, t, n, r) { +function Ll(e12, t, n, r) { if (n & 8 && r === void 0 && (r = null), (n & 3) === 0) { let o = e12[De], i = z(void 0); try { @@ -2335,26 +2335,26 @@ function kl(e12, t, n, r) { z(i); } } - return Ol(r, t, n); + return Pl(r, t, n); } -function Pl(e12, t, n, r = 0, o) { +function Fl(e12, t, n, r = 0, o) { if (e12 !== null) { if (t[y] & 2048 && !(r & 2)) { - let s = Pf(e12, t, n, r, he); + let s = Lf(e12, t, n, r, he); if (s !== he) return s; } - let i = Ll(e12, t, n, r, he); + let i = jl(e12, t, n, r, he); if (i !== he) return i; } - return kl(t, n, r, o); + return Ll(t, n, r, o); } -function Ll(e12, t, n, r, o) { - let i = Of(n); +function jl(e12, t, n, r, o) { + let i = kf(n); if (typeof i == "function") { if (!Si(t, e12, r)) - return r & 1 ? Ol(o, n, r) : kl(t, n, r, o); + return r & 1 ? Pl(o, n, r) : Ll(t, n, r, o); try { let s; if (s = i(r), s == null && !(r & 8)) @@ -2365,21 +2365,21 @@ function Ll(e12, t, n, r, o) { Ni(); } } else if (typeof i == "number") { - let s = null, a = Rl(e12, t), c = At, l = r & 1 ? t[X][J] : null; - for ((a === -1 || r & 4) && (c = a === -1 ? _s(e12, t) : t[a + 8], c === At || !Jc(r, false) ? a = -1 : (s = t[m], a = Tr(c), t = Mr(c, t))); a !== -1; ) { + let s = null, a = kl(e12, t), c = Ot, l = r & 1 ? t[X][J] : null; + for ((a === -1 || r & 4) && (c = a === -1 ? _s(e12, t) : t[a + 8], c === Ot || !el(r, false) ? a = -1 : (s = t[m], a = Tr(c), t = Mr(c, t))); a !== -1; ) { let u = t[m]; - if (Kc(i, a, u.data)) { - let d = Rf(a, t, n, s, r, l); + if (Xc(i, a, u.data)) { + let d = Of(a, t, n, s, r, l); if (d !== he) return d; } - c = t[a + 8], c !== At && Jc(r, t[m].data[a + 8] === l) && Kc(i, a, t) ? (s = u, a = Tr(c), t = Mr(c, t)) : a = -1; + c = t[a + 8], c !== Ot && el(r, t[m].data[a + 8] === l) && Xc(i, a, t) ? (s = u, a = Tr(c), t = Mr(c, t)) : a = -1; } } return o; } -function Rf(e12, t, n, r, o, i) { - let s = t[m], a = s.data[e12 + 8], c = r == null ? bt(a) && Ui : r != s && (a.type & 3) !== 0, l = o & 1 && i === a, u = wr(a, s, n, c, l); +function Of(e12, t, n, r, o, i) { + let s = t[m], a = s.data[e12 + 8], c = r == null ? Tt(a) && Ui : r != s && (a.type & 3) !== 0, l = o & 1 && i === a, u = wr(a, s, n, c, l); return u !== null ? _r(t, s, u, a, o) : he; } function wr(e12, t, n, r, o) { @@ -2391,7 +2391,7 @@ function wr(e12, t, n, r, o) { } if (o) { let p = s[c]; - if (p && Ct(p) && p.type === n) + if (p && Mt(p) && p.type === n) return c; } return null; @@ -2402,28 +2402,28 @@ function _r(e12, t, n, r, o) { let a = i; if (a.resolving) throw si(""); - let c = Yc(a.canSeeViewProviders); + let c = Jc(a.canSeeViewProviders); a.resolving = true; let l = s[n].type || s[n], u, d = a.injectImpl ? z(a.injectImpl) : null, f = Si(e12, r, 0); try { - i = e12[n] = a.factory(void 0, o, s, e12, r), t.firstCreatePass && n >= r.directiveStart && wf(n, s[n], t); + i = e12[n] = a.factory(void 0, o, s, e12, r), t.firstCreatePass && n >= r.directiveStart && bf(n, s[n], t); } finally { - d !== null && z(d), Yc(c), a.resolving = false, Ni(); + d !== null && z(d), Jc(c), a.resolving = false, Ni(); } } return i; } -function Of(e12) { +function kf(e12) { if (typeof e12 == "string") return e12.charCodeAt(0) || 0; let t = e12.hasOwnProperty(Qe) ? e12[Qe] : void 0; - return typeof t == "number" ? t >= 0 ? t & Nl : kf : t; + return typeof t == "number" ? t >= 0 ? t & Al : Pf : t; } -function Kc(e12, t, n) { +function Xc(e12, t, n) { let r = 1 << e12; - return !!(n[t + (e12 >> xl)] & r); + return !!(n[t + (e12 >> Rl)] & r); } -function Jc(e12, t) { +function el(e12, t) { return !(e12 & 2) && !(e12 & 1 && t); } var ot = class { @@ -2433,16 +2433,16 @@ var ot = class { this._tNode = t, this._lView = n; } get(t, n, r) { - return Pl(this._tNode, this._lView, t, Ge(r), n); + return Fl(this._tNode, this._lView, t, Ge(r), n); } }; -function kf() { +function Pf() { return new ot(pe(), M()); } -function Pf(e12, t, n, r, o) { +function Lf(e12, t, n, r, o) { let i = e12, s = t; - for (; i !== null && s !== null && s[y] & 2048 && !Tt(s); ) { - let a = Ll(i, s, n, r | 2, he); + for (; i !== null && s !== null && s[y] & 2048 && !_t(s); ) { + let a = jl(i, s, n, r | 2, he); if (a !== he) return a; let c = i.parent; @@ -2453,20 +2453,20 @@ function Pf(e12, t, n, r, o) { if (u !== he) return u; } - c = Fl(s), s = s[Xe]; + c = Hl(s), s = s[Xe]; } i = c; } return o; } -function Fl(e12) { +function Hl(e12) { let t = e12[m], n = t.type; return n === 2 ? t.declTNode : n === 1 ? e12[J] : null; } -function Lf() { - return Pt(pe(), M()); +function Ff() { + return Ft(pe(), M()); } -function Pt(e12, t) { +function Ft(e12, t) { return new hn(de(e12, t)); } var hn = /* @__PURE__ */ (() => { @@ -2475,14 +2475,14 @@ var hn = /* @__PURE__ */ (() => { constructor(n) { this.nativeElement = n; } - static __NG_ELEMENT_ID__ = Lf; + static __NG_ELEMENT_ID__ = Ff; } return e12; })(); -function Ff(e12) { +function jf(e12) { return e12 instanceof hn ? e12.nativeElement : e12; } -function jf() { +function Hf() { return this._results[Symbol.iterator](); } var Sr = class { @@ -2530,8 +2530,8 @@ var Sr = class { } reset(t, n) { this.dirty = false; - let r = ec(t); - (this._changesDetected = !Xa(this._results, r, n)) && (this._results = r, this.length = r.length, this.last = r[this.length - 1], this.first = r[0]); + let r = nc(t); + (this._changesDetected = !tc(this._results, r, n)) && (this._results = r, this.length = r.length, this.last = r[this.length - 1], this.first = r[0]); } notifyOnChanges() { this._changes !== void 0 && (this._changesDetected || !this._emitDistinctChangesOnly) && this._changes.next(this); @@ -2545,36 +2545,36 @@ var Sr = class { destroy() { this._changes !== void 0 && (this._changes.complete(), this._changes.unsubscribe()); } - [Symbol.iterator] = jf; + [Symbol.iterator] = Hf; }; -function jl(e12) { +function Vl(e12) { return (e12.flags & 128) === 128; } var Ss = function(e12) { return e12[e12.OnPush = 0] = "OnPush", e12[e12.Eager = 1] = "Eager", e12[e12.Default = 1] = "Default", e12; }(Ss || {}); -var Hl = /* @__PURE__ */ new Map(); -var Hf = 0; -function Vf() { - return Hf++; +var Bl = /* @__PURE__ */ new Map(); +var Vf = 0; +function Bf() { + return Vf++; } -function Bf(e12) { - Hl.set(e12[we], e12); +function $f(e12) { + Bl.set(e12[we], e12); } function zi(e12) { - Hl.delete(e12[we]); + Bl.delete(e12[we]); } -var Xc = "__ngContext__"; -function Rt(e12, t) { - Le(t) ? (e12[Xc] = t[we], Bf(t)) : e12[Xc] = t; +var tl = "__ngContext__"; +function kt(e12, t) { + Le(t) ? (e12[tl] = t[we], $f(t)) : e12[tl] = t; } -function Vl(e12) { - return $l(e12[wt]); +function $l(e12) { + return zl(e12[Ct]); } -function Bl(e12) { - return $l(e12[K]); +function Ul(e12) { + return zl(e12[K]); } -function $l(e12) { +function zl(e12) { for (; e12 !== null && !re(e12); ) e12 = e12[K]; return e12; @@ -2583,42 +2583,42 @@ var Wi; function Ns(e12) { Wi = e12; } -function Ul() { +function Wl() { if (Wi !== void 0) return Wi; if (typeof document < "u") return document; throw new v(210, false); } -var jr = new D("", { factory: () => $f }); -var $f = "ng"; +var jr = new D("", { factory: () => Uf }); +var Uf = "ng"; var Hr = new D(""); var gn = new D("", { providedIn: "platform", factory: () => "unknown" }); var Vr = new D("", { factory: () => E(U).body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce") || null }); -var zl = "r"; -var Wl = "di"; -var Gl = false; -var ql = new D("", { factory: () => Gl }); -var el = /* @__PURE__ */ new WeakMap(); -function Uf(e12, t) { +var Gl = "r"; +var ql = "di"; +var Zl = false; +var Ql = new D("", { factory: () => Zl }); +var nl = /* @__PURE__ */ new WeakMap(); +function zf(e12, t) { if (e12 == null || typeof e12 != "object") return; - let n = el.get(e12); - n || (n = /* @__PURE__ */ new WeakSet(), el.set(e12, n)), n.add(t); + let n = nl.get(e12); + n || (n = /* @__PURE__ */ new WeakSet(), nl.set(e12, n)), n.add(t); } -var zf = (e12, t, n, r) => { +var Wf = (e12, t, n, r) => { }; -function Wf(e12, t, n, r) { - zf(e12, t, n, r); +function Gf(e12, t, n, r) { + Wf(e12, t, n, r); } function xs(e12) { return (e12.flags & 32) === 32; } -var Gf = () => null; -function Zl(e12, t, n = false) { - return Gf(e12, t, n); +var qf = () => null; +function Yl(e12, t, n = false) { + return qf(e12, t, n); } -function Ql(e12, t) { +function Kl(e12, t) { let n = e12.contentQueries; if (n !== null) { let r = g(null); @@ -2644,7 +2644,7 @@ function Gi(e12, t, n) { g(r); } } -function qf(e12, t, n) { +function Zf(e12, t, n) { if (mi(t)) { let r = g(null); try { @@ -2665,7 +2665,7 @@ var ie = function(e12) { return e12[e12.Emulated = 0] = "Emulated", e12[e12.None = 2] = "None", e12[e12.ShadowDom = 3] = "ShadowDom", e12[e12.ExperimentalIsolatedShadowDom = 4] = "ExperimentalIsolatedShadowDom", e12; }(ie || {}); var mr; -function Zf() { +function Qf() { if (mr === void 0 && (mr = null, Re.trustedTypes)) try { mr = Re.trustedTypes.createPolicy("angular", { createHTML: (e12) => e12, createScript: (e12) => e12, createScriptURL: (e12) => e12 }); @@ -2674,10 +2674,10 @@ function Zf() { return mr; } function Br(e12) { - return Zf()?.createHTML(e12) || e12; + return Qf()?.createHTML(e12) || e12; } var yr; -function Qf() { +function Yf() { if (yr === void 0 && (yr = null, Re.trustedTypes)) try { yr = Re.trustedTypes.createPolicy("angular#unsafe-bypass", { createHTML: (e12) => e12, createScript: (e12) => e12, createScriptURL: (e12) => e12 }); @@ -2685,8 +2685,8 @@ function Qf() { } return yr; } -function tl(e12) { - return Qf()?.createHTML(e12) || e12; +function rl(e12) { + return Yf()?.createHTML(e12) || e12; } var Ce = class { changingThisBreaksApplicationSecurity; @@ -2726,7 +2726,7 @@ function Me(e12) { return e12 instanceof Ce ? e12.changingThisBreaksApplicationSecurity : e12; } function He(e12, t) { - let n = Yl(e12); + let n = Jl(e12); if (n != null && n !== t) { if (n === "ResourceURL" && t === "URL") return true; @@ -2734,7 +2734,7 @@ function He(e12, t) { } return n === t; } -function Yl(e12) { +function Jl(e12) { return e12 instanceof Ce && e12.getTypeName() || null; } function As(e12) { @@ -2752,9 +2752,9 @@ function ks(e12) { function Ps(e12) { return new Ki(e12); } -function Yf(e12) { +function Kf(e12) { let t = new Xi(e12); - return Kf() ? new Ji(t) : t; + return Jf() ? new Ji(t) : t; } var Ji = class { inertDocumentHelper; @@ -2782,16 +2782,16 @@ var Xi = class { return n.innerHTML = Br(t), n; } }; -function Kf() { +function Jf() { try { return !!new window.DOMParser().parseFromString(Br(""), "text/html"); } catch { return false; } } -var Jf = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i; +var Xf = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i; function $r(e12) { - return e12 = String(e12), e12.match(Jf) ? e12 : "unsafe:" + e12; + return e12 = String(e12), e12.match(Xf) ? e12 : "unsafe:" + e12; } function _e(e12) { let t = {}; @@ -2806,18 +2806,18 @@ function mn(...e12) { n.hasOwnProperty(r) && (t[r] = true); return t; } -var Kl = _e("area,br,col,hr,img,wbr"); -var Jl = _e("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"); -var Xl = _e("rp,rt"); -var Xf = mn(Xl, Jl); -var ep = mn(Jl, _e("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")); -var tp = mn(Xl, _e("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")); -var nl = mn(Kl, ep, tp, Xf); -var eu = _e("background,cite,href,itemtype,longdesc,poster,src,xlink:href"); -var np = _e("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"); -var rp = _e("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"); -var op = mn(eu, np, rp); -var ip = _e("script,style,template"); +var Xl = _e("area,br,col,hr,img,wbr"); +var eu = _e("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"); +var tu = _e("rp,rt"); +var ep = mn(tu, eu); +var tp = mn(eu, _e("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")); +var np = mn(tu, _e("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")); +var ol = mn(Xl, tp, np, ep); +var nu = _e("background,cite,href,itemtype,longdesc,poster,src,xlink:href"); +var rp = _e("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"); +var op = _e("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"); +var ip = mn(nu, rp, op); +var sp = _e("script,style,template"); var es = class { sanitizedSomething = false; buf = []; @@ -2825,12 +2825,12 @@ var es = class { let n = t.firstChild, r = true, o = []; for (; n; ) { if (n.nodeType === Node.ELEMENT_NODE ? r = this.startElement(n) : n.nodeType === Node.TEXT_NODE ? this.chars(n.nodeValue) : this.sanitizedSomething = true, r && n.firstChild) { - o.push(n), n = cp(n); + o.push(n), n = lp(n); continue; } for (; n; ) { n.nodeType === Node.ELEMENT_NODE && this.endElement(n); - let i = ap(n); + let i = cp(n); if (i) { n = i; break; @@ -2841,59 +2841,59 @@ var es = class { return this.buf.join(""); } startElement(t) { - let n = rl(t).toLowerCase(); - if (!nl.hasOwnProperty(n)) - return this.sanitizedSomething = true, !ip.hasOwnProperty(n); + let n = il(t).toLowerCase(); + if (!ol.hasOwnProperty(n)) + return this.sanitizedSomething = true, !sp.hasOwnProperty(n); this.buf.push("<"), this.buf.push(n); let r = t.attributes; for (let o = 0; o < r.length; o++) { let i = r.item(o), s = i.name, a = s.toLowerCase(); - if (!op.hasOwnProperty(a)) { + if (!ip.hasOwnProperty(a)) { this.sanitizedSomething = true; continue; } let c = i.value; - eu[a] && (c = $r(c)), this.buf.push(" ", s, '="', ol(c), '"'); + nu[a] && (c = $r(c)), this.buf.push(" ", s, '="', sl(c), '"'); } return this.buf.push(">"), true; } endElement(t) { - let n = rl(t).toLowerCase(); - nl.hasOwnProperty(n) && !Kl.hasOwnProperty(n) && (this.buf.push("")); + let n = il(t).toLowerCase(); + ol.hasOwnProperty(n) && !Xl.hasOwnProperty(n) && (this.buf.push("")); } chars(t) { - this.buf.push(ol(t)); + this.buf.push(sl(t)); } }; -function sp(e12, t) { +function ap(e12, t) { return (e12.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_CONTAINED_BY) !== Node.DOCUMENT_POSITION_CONTAINED_BY; } -function ap(e12) { +function cp(e12) { let t = e12.nextSibling; if (t && e12 !== t.previousSibling) - throw tu(t); + throw ru(t); return t; } -function cp(e12) { +function lp(e12) { let t = e12.firstChild; - if (t && sp(e12, t)) - throw tu(t); + if (t && ap(e12, t)) + throw ru(t); return t; } -function rl(e12) { +function il(e12) { let t = e12.nodeName; return typeof t == "string" ? t : "FORM"; } -function tu(e12) { +function ru(e12) { return new Error(`Failed to sanitize html because the element is clobbered: ${e12.outerHTML}`); } -var lp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; -var up = /([^\#-~ |!])/g; -function ol(e12) { - return e12.replace(/&/g, "&").replace(lp, function(t) { +var up = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; +var dp = /([^\#-~ |!])/g; +function sl(e12) { + return e12.replace(/&/g, "&").replace(up, function(t) { let n = t.charCodeAt(0), r = t.charCodeAt(1); return "&#" + ((n - 55296) * 1024 + (r - 56320) + 65536) + ";"; - }).replace(up, function(t) { + }).replace(dp, function(t) { return "&#" + t.charCodeAt(0) + ";"; }).replace(//g, ">"); } @@ -2901,7 +2901,7 @@ var vr; function Ur(e12, t) { let n = null; try { - vr = vr || Yf(e12); + vr = vr || Kf(e12); let r = t ? String(t) : ""; n = vr.getInertBodyElement(r); let o = 5, i = r; @@ -2910,75 +2910,75 @@ function Ur(e12, t) { throw new Error("Failed to sanitize html because the input is unstable"); o--, r = i, i = n.innerHTML, n = vr.getInertBodyElement(r); } while (r !== i); - let a = new es().sanitizeChildren(il(n) || n); + let a = new es().sanitizeChildren(al(n) || n); return Br(a); } finally { if (n) { - let r = il(n) || n; + let r = al(n) || n; for (; r.firstChild; ) r.firstChild.remove(); } } } -function il(e12) { - return "content" in e12 && dp(e12) ? e12.content : null; +function al(e12) { + return "content" in e12 && fp(e12) ? e12.content : null; } -function dp(e12) { +function fp(e12) { return e12.nodeType === Node.ELEMENT_NODE && e12.nodeName === "TEMPLATE"; } -function fp(e12, t) { +function pp(e12, t) { return e12.createText(t); } -function pp(e12, t, n) { +function hp(e12, t, n) { e12.setValue(t, n); } -function nu(e12, t, n) { +function ou(e12, t, n) { return e12.createElement(t, n); } function Nr(e12, t, n, r, o) { e12.insertBefore(t, n, r, o); } -function ru(e12, t, n) { +function iu(e12, t, n) { e12.appendChild(t, n); } -function sl(e12, t, n, r, o) { - r !== null ? Nr(e12, t, n, r, o) : ru(e12, t, n); +function cl(e12, t, n, r, o) { + r !== null ? Nr(e12, t, n, r, o) : iu(e12, t, n); } -function ou(e12, t, n, r) { +function su(e12, t, n, r) { e12.removeChild(null, t, n, r); } -function hp(e12, t, n) { +function gp(e12, t, n) { e12.setAttribute(t, "style", n); } -function gp(e12, t, n) { +function mp(e12, t, n) { n === "" ? e12.removeAttribute(t, "class") : e12.setAttribute(t, "class", n); } -function iu(e12, t, n) { +function au(e12, t, n) { let { mergedAttrs: r, classes: o, styles: i } = n; - r !== null && Tf(e12, t, r), o !== null && gp(e12, t, o), i !== null && hp(e12, t, i); + r !== null && Mf(e12, t, r), o !== null && mp(e12, t, o), i !== null && gp(e12, t, i); } var ge = function(e12) { return e12[e12.NONE = 0] = "NONE", e12[e12.HTML = 1] = "HTML", e12[e12.STYLE = 2] = "STYLE", e12[e12.SCRIPT = 3] = "SCRIPT", e12[e12.URL = 4] = "URL", e12[e12.RESOURCE_URL = 5] = "RESOURCE_URL", e12; }(ge || {}); function Ls(e12) { - let t = mp(); - return t ? tl(t.sanitize(ge.HTML, e12) || "") : He(e12, "HTML") ? tl(Me(e12)) : Ur(Ul(), ii(e12)); + let t = yp(); + return t ? rl(t.sanitize(ge.HTML, e12) || "") : He(e12, "HTML") ? rl(Me(e12)) : Ur(Wl(), ii(e12)); } -function mp() { +function yp() { let e12 = M(); return e12 && e12[le].sanitizer; } -var yp = "ng-template"; -function vp(e12) { - return e12.type === 4 && e12.value !== yp; +var vp = "ng-template"; +function Ep(e12) { + return e12.type === 4 && e12.value !== vp; } function ts(e12) { return (e12 & 1) === 0; } -function al(e12, t) { +function ll(e12, t) { return e12 ? ":not(" + t.trim() + ")" : t; } -function Ep(e12) { +function Ip(e12) { let t = e12[0], n = 1, r = 2, o = "", i = false; for (; n < e12.length; ) { let s = e12[n]; @@ -2989,15 +2989,15 @@ function Ep(e12) { } else r & 8 ? o += "." + s : r & 4 && (o += " " + s); else - o !== "" && !ts(s) && (t += al(i, o), o = ""), r = s, i = i || !ts(r); + o !== "" && !ts(s) && (t += ll(i, o), o = ""), r = s, i = i || !ts(r); n++; } - return o !== "" && (t += al(i, o)), t; -} -function Ip(e12) { - return e12.map(Ep).join(","); + return o !== "" && (t += ll(i, o)), t; } function Dp(e12) { + return e12.map(Ip).join(","); +} +function wp(e12) { let t = [], n = [], r = 1, o = 2; for (; r < e12.length; ) { let i = e12[r]; @@ -3014,32 +3014,32 @@ function Dp(e12) { } var Se = {}; function Fs(e12, t, n, r, o, i, s, a, c, l, u) { - let d = F + r, f = d + o, p = wp(d, f), h = typeof l == "function" ? l() : l; + let d = F + r, f = d + o, p = bp(d, f), h = typeof l == "function" ? l() : l; return p[m] = { type: e12, blueprint: p, template: n, queries: null, viewQuery: a, declTNode: t, data: p.slice().fill(null, d), bindingStartIndex: d, expandoStartIndex: f, hostBindingOpCodes: null, firstCreatePass: true, firstUpdatePass: true, staticViewQueries: false, staticContentQueries: false, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: typeof i == "function" ? i() : i, pipeRegistry: typeof s == "function" ? s() : s, firstChild: null, schemas: c, consts: h, incompleteFirstPass: false, ssrId: u }; } -function wp(e12, t) { +function bp(e12, t) { let n = []; for (let r = 0; r < t; r++) n.push(r < e12 ? null : Se); return n; } -function bp(e12) { +function Cp(e12) { let t = e12.tView; return t === null || t.incompleteFirstPass ? e12.tView = Fs(1, null, e12.template, e12.decls, e12.vars, e12.directiveDefs, e12.pipeDefs, e12.viewQuery, e12.schemas, e12.consts, e12.id) : t; } function js(e12, t, n, r, o, i, s, a, c, l, u) { let d = t.blueprint.slice(); - return d[ne] = o, d[y] = r | 4 | 128 | 8 | 64 | 1024, (l !== null || e12 && e12[y] & 2048) && (d[y] |= 2048), Ei(d), d[R] = d[Xe] = e12, d[x] = n, d[le] = s || e12 && e12[le], d[O] = a || e12 && e12[O], d[De] = c || e12 && e12[De] || null, d[J] = i, d[we] = Vf(), d[It] = u, d[hi] = l, d[X] = t.type == 2 ? e12[X] : d, d; + return d[ne] = o, d[y] = r | 4 | 128 | 8 | 64 | 1024, (l !== null || e12 && e12[y] & 2048) && (d[y] |= 2048), Ei(d), d[R] = d[Xe] = e12, d[x] = n, d[le] = s || e12 && e12[le], d[O] = a || e12 && e12[O], d[De] = c || e12 && e12[De] || null, d[J] = i, d[we] = Bf(), d[wt] = u, d[hi] = l, d[X] = t.type == 2 ? e12[X] : d, d; } -function Cp(e12, t, n) { - let r = de(t, e12), o = bp(n), i = e12[le].rendererFactory, s = Hs(e12, js(e12, o, null, su(n), r, t, null, i.createRenderer(r, n), null, null, null)); +function Tp(e12, t, n) { + let r = de(t, e12), o = Cp(n), i = e12[le].rendererFactory, s = Hs(e12, js(e12, o, null, cu(n), r, t, null, i.createRenderer(r, n), null, null, null)); return e12[t.index] = s; } -function su(e12) { +function cu(e12) { let t = 16; return e12.signals ? t = 4096 : e12.onPush && (t = 64), t; } -function au(e12, t, n, r) { +function lu(e12, t, n, r) { if (n === 0) return -1; let o = t.length; @@ -3048,12 +3048,12 @@ function au(e12, t, n, r) { return o; } function Hs(e12, t) { - return e12[wt] ? e12[pi][K] = t : e12[wt] = t, e12[pi] = t, t; + return e12[Ct] ? e12[pi][K] = t : e12[Ct] = t, e12[pi] = t, t; } function V(e12 = 1) { - cu(oe(), M(), Fe() + e12, false); + uu(oe(), M(), Fe() + e12, false); } -function cu(e12, t, n, r) { +function uu(e12, t, n, r) { if (!r) if ((t[y] & 3) === 3) { let i = e12.preOrderCheckHooks; @@ -3071,7 +3071,7 @@ function ns(e12, t, n, r) { let o = g(null); try { let [i, s, a] = e12.inputs[n], c = null; - (s & zr.SignalBased) !== 0 && (c = t[i][Z]), c !== null && c.transformFn !== void 0 ? r = c.transformFn(r) : a !== null && (r = a.call(t, r)), e12.setInput !== null ? e12.setInput(t, c, r, n, i) : Cl(t, c, i, r); + (s & zr.SignalBased) !== 0 && (c = t[i][Z]), c !== null && c.transformFn !== void 0 ? r = c.transformFn(r) : a !== null && (r = a.call(t, r)), e12.setInput !== null ? e12.setInput(t, c, r, n, i) : Ml(t, c, i, r); } finally { g(o); } @@ -3079,14 +3079,14 @@ function ns(e12, t, n, r) { var Te = function(e12) { return e12[e12.Important = 1] = "Important", e12[e12.DashCase = 2] = "DashCase", e12; }(Te || {}); -var Tp; +var Mp; function Vs(e12, t) { - return Tp(e12, t); + return Mp(e12, t); } -var $E = typeof document < "u" && typeof document?.documentElement?.getAnimations == "function"; +var UE = typeof document < "u" && typeof document?.documentElement?.getAnimations == "function"; var rs = /* @__PURE__ */ new WeakMap(); var nn = /* @__PURE__ */ new WeakSet(); -function Mp(e12, t) { +function _p(e12, t) { let n = rs.get(e12); if (!n || n.length === 0) return; @@ -3096,7 +3096,7 @@ function Mp(e12, t) { s === t ? (n.splice(i, 1), nn.add(s), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } }))) : (o && s === o || a && r && a !== r) && (n.splice(i, 1), s.dispatchEvent(new CustomEvent("animationend", { detail: { cancel: true } })), s.parentNode?.removeChild(s)); } } -function _p(e12, t) { +function Sp(e12, t) { let n = rs.get(e12); n ? n.includes(t) || n.push(t) : rs.set(e12, [t]); } @@ -3104,12 +3104,12 @@ var it = /* @__PURE__ */ new Set(); var Bs = function(e12) { return e12[e12.CHANGE_DETECTION = 0] = "CHANGE_DETECTION", e12[e12.AFTER_NEXT_RENDER = 1] = "AFTER_NEXT_RENDER", e12; }(Bs || {}); -var Lt = new D(""); -var cl = /* @__PURE__ */ new Set(); -function Ft(e12) { - cl.has(e12) || (cl.add(e12), performance?.mark?.("mark_feature_usage", { detail: { feature: e12 } })); +var jt = new D(""); +var ul = /* @__PURE__ */ new Set(); +function ct(e12) { + ul.has(e12) || (ul.add(e12), performance?.mark?.("mark_feature_usage", { detail: { feature: e12 } })); } -var lu = (() => { +var du = (() => { class e12 { impl = null; execute() { @@ -3119,9 +3119,9 @@ var lu = (() => { } return e12; })(); -var uu = new D("", { factory: () => ({ queue: /* @__PURE__ */ new Set(), isScheduled: false, scheduler: null, injector: E(Q) }) }); -function du(e12, t, n) { - let r = e12.get(uu); +var fu = new D("", { factory: () => ({ queue: /* @__PURE__ */ new Set(), isScheduled: false, scheduler: null, injector: E(Q) }) }); +function pu(e12, t, n) { + let r = e12.get(fu); if (Array.isArray(t)) for (let o of t) r.queue.add(o), n?.detachedLeaveAnimationFns?.push(o); @@ -3129,55 +3129,55 @@ function du(e12, t, n) { r.queue.add(t), n?.detachedLeaveAnimationFns?.push(t); r.scheduler && r.scheduler(e12); } -function Sp(e12, t) { - let n = e12.get(uu); +function Np(e12, t) { + let n = e12.get(fu); if (t.detachedLeaveAnimationFns) { for (let r of t.detachedLeaveAnimationFns) n.queue.delete(r); t.detachedLeaveAnimationFns = void 0; } } -function Np(e12, t) { +function xp(e12, t) { for (let [n, r] of t) - du(e12, r.animateFns); + pu(e12, r.animateFns); } -function ll(e12, t, n, r) { +function dl(e12, t, n, r) { let o = e12?.[ke]?.enter; - t !== null && o && o.has(n.index) && Np(r, o); + t !== null && o && o.has(n.index) && xp(r, o); } -function xt(e12, t, n, r, o, i, s, a) { +function Rt(e12, t, n, r, o, i, s, a) { if (o != null) { let c, l = false; re(o) ? c = o : Le(o) && (l = true, o = o[ne]); let u = ee(o); - e12 === 0 && r !== null ? (ll(a, r, i, n), s == null ? ru(t, r, u) : Nr(t, r, u, s || null, true)) : e12 === 1 && r !== null ? (ll(a, r, i, n), Nr(t, r, u, s || null, true), Mp(i, u)) : e12 === 2 ? (a?.[ke]?.leave?.has(i.index) && _p(i, u), nn.delete(u), ul(a, i, n, (d) => { + e12 === 0 && r !== null ? (dl(a, r, i, n), s == null ? iu(t, r, u) : Nr(t, r, u, s || null, true)) : e12 === 1 && r !== null ? (dl(a, r, i, n), Nr(t, r, u, s || null, true), _p(i, u)) : e12 === 2 ? (a?.[ke]?.leave?.has(i.index) && Sp(i, u), nn.delete(u), fl(a, i, n, (d) => { if (nn.has(u)) { nn.delete(u); return; } - ou(t, u, l, d); - })) : e12 === 3 && (nn.delete(u), ul(a, i, n, () => { + su(t, u, l, d); + })) : e12 === 3 && (nn.delete(u), fl(a, i, n, () => { t.destroyNode(u); - })), c != null && $p(t, e12, n, c, i, r, s); + })), c != null && Up(t, e12, n, c, i, r, s); } } -function xp(e12, t) { - fu(e12, t), t[ne] = null, t[J] = null; +function Ap(e12, t) { + hu(e12, t), t[ne] = null, t[J] = null; } -function Ap(e12, t, n, r, o, i) { +function Rp(e12, t, n, r, o, i) { r[ne] = o, r[J] = t, Gr(e12, r, n, 1, o, i); } -function fu(e12, t) { +function hu(e12, t) { t[le].changeDetectionScheduler?.notify(9), Gr(e12, t, t[O], 2, null, null); } -function Rp(e12) { - let t = e12[wt]; +function Op(e12) { + let t = e12[Ct]; if (!t) return ji(e12[m], e12); for (; t; ) { let n = null; if (Le(t)) - n = t[wt]; + n = t[Ct]; else { let r = t[S]; r && (n = r); @@ -3198,14 +3198,14 @@ function Wr(e12, t) { if (nt(t)) return; let n = t[O]; - n.destroyNode && Gr(e12, t, n, 3, null, null), Rp(t); + n.destroyNode && Gr(e12, t, n, 3, null, null), Op(t); } function ji(e12, t) { if (nt(t)) return; let n = g(null); try { - t[y] &= -129, t[y] |= 256, t[G] && ut(t[G]), Pp(e12, t), kp(e12, t), t[m].type === 1 && t[O].destroy(); + t[y] &= -129, t[y] |= 256, t[G] && dt(t[G]), Lp(e12, t), Pp(e12, t), t[m].type === 1 && t[O].destroy(); let r = t[Oe]; if (r !== null && re(t[R])) { r !== t[R] && $s(r, t); @@ -3217,11 +3217,11 @@ function ji(e12, t) { g(n); } } -function ul(e12, t, n, r) { +function fl(e12, t, n, r) { let o = e12?.[ke]; if (o == null || o.leave == null || !o.leave.has(t.index)) return r(false); - e12 && it.add(e12[we]), du(n, () => { + e12 && it.add(e12[we]), pu(n, () => { if (o.leave && o.leave.has(t.index)) { let s = o.leave.get(t.index), a = []; if (s) { @@ -3231,12 +3231,12 @@ function ul(e12, t, n, r) { } o.detachedLeaveAnimationFns = void 0; } - o.running = Promise.allSettled(a), Op(e12, r); + o.running = Promise.allSettled(a), kp(e12, r); } else e12 && it.delete(e12[we]), r(false); }, o); } -function Op(e12, t) { +function kp(e12, t) { let n = e12[ke]?.running; if (n) { n.then(() => { @@ -3246,8 +3246,8 @@ function Op(e12, t) { } t(false); } -function kp(e12, t) { - let n = e12.cleanup, r = t[Dt]; +function Pp(e12, t) { + let n = e12.cleanup, r = t[bt]; if (n !== null) for (let s = 0; s < n.length - 1; s += 2) if (typeof n[s] == "string") { @@ -3257,7 +3257,7 @@ function kp(e12, t) { let a = r[n[s + 1]]; n[s].call(a); } - r !== null && (t[Dt] = null); + r !== null && (t[bt] = null); let o = t[Ee]; if (o !== null) { t[Ee] = null; @@ -3273,7 +3273,7 @@ function kp(e12, t) { s.destroy(); } } -function Pp(e12, t) { +function Lp(e12, t) { let n; if (e12 != null && (n = e12.destroyHooks) != null) for (let r = 0; r < n.length; r += 2) { @@ -3301,39 +3301,39 @@ function Pp(e12, t) { } } } -function Lp(e12, t, n) { - return Fp(e12, t.parent, n); -} function Fp(e12, t, n) { + return jp(e12, t.parent, n); +} +function jp(e12, t, n) { let r = t; for (; r !== null && r.type & 168; ) t = r, r = t.parent; if (r === null) return n[ne]; - if (bt(r)) { + if (Tt(r)) { let { encapsulation: o } = e12.data[r.directiveStart + r.componentOffset]; if (o === ie.None || o === ie.Emulated) return null; } return de(r, n); } -function jp(e12, t, n) { - return Vp(e12, t, n); -} function Hp(e12, t, n) { + return Bp(e12, t, n); +} +function Vp(e12, t, n) { return e12.type & 40 ? de(e12, n) : null; } -var Vp = Hp; -var dl; +var Bp = Vp; +var pl; function Us(e12, t, n, r) { - let o = Lp(e12, r, t), i = t[O], s = r.parent || t[J], a = jp(s, r, t); + let o = Fp(e12, r, t), i = t[O], s = r.parent || t[J], a = Hp(s, r, t); if (o != null) if (Array.isArray(n)) for (let c = 0; c < n.length; c++) - sl(i, o, n[c], a, false); + cl(i, o, n[c], a, false); else - sl(i, o, n, a, false); - dl !== void 0 && dl(i, r, t, n, o); + cl(i, o, n, a, false); + pl !== void 0 && pl(i, r, t, n, o); } function rn(e12, t) { if (t !== null) { @@ -3356,7 +3356,7 @@ function rn(e12, t) { if (n & 32) return Vs(t, e12)() || ee(e12[t.index]); { - let r = pu(e12, t); + let r = gu(e12, t); if (r !== null) { if (Array.isArray(r)) return r[0]; @@ -3369,7 +3369,7 @@ function rn(e12, t) { } return null; } -function pu(e12, t) { +function gu(e12, t) { if (t !== null) { let r = e12[X][J], o = t.projection; return r.projection[o]; @@ -3393,43 +3393,43 @@ function zs(e12, t, n, r, o, i, s) { continue; } let c = r[n.index], l = n.type; - if (s && t === 0 && (c && Rt(ee(c), r), n.flags |= 2), !xs(n)) + if (s && t === 0 && (c && kt(ee(c), r), n.flags |= 2), !xs(n)) if (l & 8) - zs(e12, t, n.child, r, o, i, false), xt(t, e12, a, o, c, n, i, r); + zs(e12, t, n.child, r, o, i, false), Rt(t, e12, a, o, c, n, i, r); else if (l & 32) { let u = Vs(n, r), d; for (; d = u(); ) - xt(t, e12, a, o, d, n, i, r); - xt(t, e12, a, o, c, n, i, r); + Rt(t, e12, a, o, d, n, i, r); + Rt(t, e12, a, o, c, n, i, r); } else - l & 16 ? Bp(e12, t, r, n, o, i) : xt(t, e12, a, o, c, n, i, r); + l & 16 ? $p(e12, t, r, n, o, i) : Rt(t, e12, a, o, c, n, i, r); n = s ? n.projectionNext : n.next; } } function Gr(e12, t, n, r, o, i) { zs(n, r, e12.firstChild, t, o, i, false); } -function Bp(e12, t, n, r, o, i) { +function $p(e12, t, n, r, o, i) { let s = n[X], c = s[J].projection[r.projection]; if (Array.isArray(c)) for (let l = 0; l < c.length; l++) { let u = c[l]; - xt(t, e12, n[De], o, u, r, i, n); + Rt(t, e12, n[De], o, u, r, i, n); } else { let l = c, u = s[R]; - jl(r) && (l.flags |= 128), zs(e12, t, l, u, o, i, true); + Vl(r) && (l.flags |= 128), zs(e12, t, l, u, o, i, true); } } -function $p(e12, t, n, r, o, i, s) { +function Up(e12, t, n, r, o, i, s) { let a = r[Pe], c = ee(r); - a !== c && xt(t, e12, n, i, a, o, s); + a !== c && Rt(t, e12, n, i, a, o, s); for (let l = S; l < r.length; l++) { let u = r[l]; Gr(u[m], u, e12, t, i, a); } } -function Up(e12, t, n, r, o) { +function zp(e12, t, n, r, o) { if (t) o ? e12.addClass(n, r) : e12.removeClass(n, r); else { @@ -3437,10 +3437,10 @@ function Up(e12, t, n, r, o) { o == null ? e12.removeStyle(n, r, i) : (typeof o == "string" && o.endsWith("!important") && (o = o.slice(0, -10), i |= Te.Important), e12.setStyle(n, r, o, i)); } } -function hu(e12, t, n, r, o) { +function mu(e12, t, n, r, o) { let i = Fe(), s = r & 2; try { - je(-1), s && t.length > F && cu(e12, t, F, false); + je(-1), s && t.length > F && uu(e12, t, F, false); let a = s ? b.TemplateUpdateStart : b.TemplateCreateStart; T(a, o, n), n(r, o); } finally { @@ -3449,10 +3449,10 @@ function hu(e12, t, n, r, o) { T(a, o, n); } } -function zp(e12, t, n) { - Qp(e12, t, n), (n.flags & 64) === 64 && Yp(e12, t, n); +function Wp(e12, t, n) { + Yp(e12, t, n), (n.flags & 64) === 64 && Kp(e12, t, n); } -function gu(e12, t, n = de) { +function yu(e12, t, n = de) { let r = t.localNames; if (r !== null) { let o = t.index + 1; @@ -3462,49 +3462,49 @@ function gu(e12, t, n = de) { } } } -function Wp(e12, t, n, r) { - let i = r.get(ql, Gl) || n === ie.ShadowDom || n === ie.ExperimentalIsolatedShadowDom, s = e12.selectRootElement(t, i); - return Gp(s), s; +function Gp(e12, t, n, r) { + let i = r.get(Ql, Zl) || n === ie.ShadowDom || n === ie.ExperimentalIsolatedShadowDom, s = e12.selectRootElement(t, i); + return qp(s), s; } -function Gp(e12) { - qp(e12); +function qp(e12) { + Zp(e12); } -var qp = () => null; -function Zp(e12, t, n, r, o, i) { +var Zp = () => null; +function Qp(e12, t, n, r, o, i) { if (e12.type & 3) { let s = de(e12, t); r = i != null ? i(r, e12.value || "", n) : r, o.setProperty(s, n, r); } else e12.type & 12; } -function Qp(e12, t, n) { +function Yp(e12, t, n) { let r = n.directiveStart, o = n.directiveEnd; - bt(n) && Cp(t, n, e12.data[r + n.componentOffset]), e12.firstCreatePass || Al(n, t); + Tt(n) && Tp(t, n, e12.data[r + n.componentOffset]), e12.firstCreatePass || Ol(n, t); let i = n.initialInputs; for (let s = r; s < o; s++) { let a = e12.data[s], c = _r(t, e12, s, n); - if (Rt(c, t), i !== null && Jp(t, s - r, c, a, n, i), Ct(a)) { + if (kt(c, t), i !== null && Xp(t, s - r, c, a, n, i), Mt(a)) { let l = be(n.index, t); l[x] = _r(t, e12, s, n); } } } -function Yp(e12, t, n) { - let r = n.directiveStart, o = n.directiveEnd, i = n.index, s = Nc(); +function Kp(e12, t, n) { + let r = n.directiveStart, o = n.directiveEnd, i = n.index, s = Ac(); try { je(i); for (let a = r; a < o; a++) { let c = e12.data[a], l = t[a]; - cr(a), (c.hostBindings !== null || c.hostVars !== 0 || c.hostAttrs !== null) && Kp(c, l); + cr(a), (c.hostBindings !== null || c.hostVars !== 0 || c.hostAttrs !== null) && Jp(c, l); } } finally { je(-1), cr(s); } } -function Kp(e12, t) { +function Jp(e12, t) { e12.hostBindings !== null && e12.hostBindings(1, t); } -function Jp(e12, t, n, r, o, i) { +function Xp(e12, t, n, r, o, i) { let s = i[t]; if (s !== null) for (let a = 0; a < s.length; a += 2) { @@ -3512,17 +3512,17 @@ function Jp(e12, t, n, r, o, i) { ns(r, n, c, l); } } -function Xp(e12, t, n, r, o) { +function eh(e12, t, n, r, o) { let i = F + n, s = t[m], a = o(s, t, e12, r, n); - t[i] = a, _t(e12, true); + t[i] = a, Nt(e12, true); let c = e12.type === 2; - return c ? (iu(t[O], a, e12), (yc() === 0 || yi(e12)) && Rt(a, t), vc()) : Rt(a, t), fr() && (!c || !xs(e12)) && Us(s, t, a, e12), e12; + return c ? (au(t[O], a, e12), (Ec() === 0 || yi(e12)) && kt(a, t), Ic()) : kt(a, t), fr() && (!c || !xs(e12)) && Us(s, t, a, e12), e12; } -function eh(e12) { +function th(e12) { let t = e12; - return Ti() ? Cc() : (t = t.parent, _t(t, false)), t; + return Ti() ? Mc() : (t = t.parent, Nt(t, false)), t; } -function th(e12, t) { +function nh(e12, t) { let n = e12[De]; if (!n) return; @@ -3534,7 +3534,7 @@ function th(e12, t) { } r?.(t); } -function nh(e12, t, n, r, o) { +function rh(e12, t, n, r, o) { let i = e12.inputs?.[r], s = e12.hostDirectiveInputs?.[r], a = false; if (s) for (let c = 0; c < s.length; c += 2) { @@ -3548,18 +3548,18 @@ function nh(e12, t, n, r, o) { } return a; } -function rh(e12, t) { +function oh(e12, t) { let n = be(t, e12), r = n[m]; - oh(r, n); + ih(r, n); let o = n[ne]; - o !== null && n[It] === null && (n[It] = Zl(o, n[De])), T(b.ComponentStart); + o !== null && n[wt] === null && (n[wt] = Yl(o, n[De])), T(b.ComponentStart); try { Ws(r, n, n[x]); } finally { T(b.ComponentEnd, n[x]); } } -function oh(e12, t) { +function ih(e12, t) { for (let n = t.length; n < e12.blueprint.length; n++) t.push(e12.blueprint[n]); } @@ -3569,18 +3569,18 @@ function Ws(e12, t, n) { let r = e12.viewQuery; r !== null && Gi(1, r, n); let o = e12.template; - o !== null && hu(e12, t, o, 1, n), e12.firstCreatePass && (e12.firstCreatePass = false), t[ue]?.finishViewCreation(e12), e12.staticContentQueries && Ql(e12, t), e12.staticViewQueries && Gi(2, e12.viewQuery, n); + o !== null && mu(e12, t, o, 1, n), e12.firstCreatePass && (e12.firstCreatePass = false), t[ue]?.finishViewCreation(e12), e12.staticContentQueries && Kl(e12, t), e12.staticViewQueries && Gi(2, e12.viewQuery, n); let i = e12.components; - i !== null && ih(t, i); + i !== null && sh(t, i); } catch (r) { throw e12.firstCreatePass && (e12.incompleteFirstPass = true, e12.firstCreatePass = false), r; } finally { t[y] &= -5, dr(); } } -function ih(e12, t) { +function sh(e12, t) { for (let n = 0; n < t.length; n++) - rh(e12, t[n]); + oh(e12, t[n]); } function qr(e12, t, n, r) { let o = g(null); @@ -3594,7 +3594,7 @@ function qr(e12, t, n, r) { } } function an(e12, t) { - return !t || t.firstChild === null || jl(e12); + return !t || t.firstChild === null || Vl(e12); } function cn(e12, t, n, r, o = false) { for (; n !== null; ) { @@ -3603,7 +3603,7 @@ function cn(e12, t, n, r, o = false) { continue; } let i = t[n.index]; - i !== null && r.push(ee(i)), re(i) && mu(i, r); + i !== null && r.push(ee(i)), re(i) && vu(i, r); let s = n.type; if (s & 8) cn(e12, t, n.child, r); @@ -3612,7 +3612,7 @@ function cn(e12, t, n, r, o = false) { for (; c = a(); ) r.push(c); } else if (s & 16) { - let a = pu(t, n); + let a = gu(t, n); if (Array.isArray(a)) r.push(...a); else { @@ -3624,52 +3624,52 @@ function cn(e12, t, n, r, o = false) { } return r; } -function mu(e12, t) { +function vu(e12, t) { for (let n = S; n < e12.length; n++) { let r = e12[n], o = r[m].firstChild; o !== null && cn(r[m], r, o, t); } e12[Pe] !== e12[ne] && t.push(e12[Pe]); } -function yu(e12) { +function Eu(e12) { if (e12[or] !== null) { for (let t of e12[or]) t.impl.addSequence(t); e12[or].length = 0; } } -var vu = []; -function sh(e12) { - return e12[G] ?? ah(e12); -} +var Iu = []; function ah(e12) { - let t = vu.pop() ?? Object.create(lh); - return t.lView = e12, t; + return e12[G] ?? ch(e12); } function ch(e12) { - e12.lView[G] !== e12 && (e12.lView = null, vu.push(e12)); + let t = Iu.pop() ?? Object.create(uh); + return t.lView = e12, t; +} +function lh(e12) { + e12.lView[G] !== e12 && (e12.lView = null, Iu.push(e12)); } -var lh = A(N({}, lt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e12) => { - Mt(e12.lView); +var uh = A(N({}, ut), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e12) => { + St(e12.lView); }, consumerOnSignalRead() { this.lView[G] = this; } }); -function uh(e12) { - let t = e12[G] ?? Object.create(dh); +function dh(e12) { + let t = e12[G] ?? Object.create(fh); return t.lView = e12, t; } -var dh = A(N({}, lt), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e12) => { +var fh = A(N({}, ut), { consumerIsAlwaysLive: true, kind: "template", consumerMarkedDirty: (e12) => { let t = Ae(e12.lView); - for (; t && !Eu(t[m]); ) + for (; t && !Du(t[m]); ) t = Ae(t); t && Ii(t); }, consumerOnSignalRead() { this.lView[G] = this; } }); -function Eu(e12) { +function Du(e12) { return e12.type !== 2; } -function Iu(e12) { +function wu(e12) { if (e12[xe] === null) return; let t = true; @@ -3680,39 +3680,39 @@ function Iu(e12) { t = n && !!(e12[y] & 8192); } } -var fh = 100; -function Du(e12, t = 0) { +var ph = 100; +function bu(e12, t = 0) { let r = e12[le].rendererFactory, o = false; o || r.begin?.(); try { - ph(e12, t); + hh(e12, t); } finally { o || r.end?.(); } } -function ph(e12, t) { +function hh(e12, t) { let n = Mi(); try { - Wt(true), is(e12, t); + Gt(true), is(e12, t); let r = 0; for (; Xt(e12); ) { - if (r === fh) + if (r === ph) throw new v(103, false); r++, is(e12, 1); } } finally { - Wt(n); + Gt(n); } } -function hh(e12, t, n, r) { +function gh(e12, t, n, r) { if (nt(t)) return; let o = t[y], i = false, s = false; ur(t); let a = true, c = null, l = null; - i || (Eu(e12) ? (l = sh(t), c = Vt(l)) : xn() === null ? (a = false, l = uh(t), c = Vt(l)) : t[G] && (ut(t[G]), t[G] = null)); + i || (Du(e12) ? (l = ah(t), c = Bt(l)) : xn() === null ? (a = false, l = dh(t), c = Bt(l)) : t[G] && (dt(t[G]), t[G] = null)); try { - Ei(t), Tc(e12.bindingStartIndex), n !== null && hu(e12, t, n, 2, r); + Ei(t), _c(e12.bindingStartIndex), n !== null && mu(e12, t, n, 2, r); let u = (o & 3) === 3; if (!i) if (u) { @@ -3722,7 +3722,7 @@ function hh(e12, t, n, r) { let p = e12.preOrderHooks; p !== null && Dr(t, p, 0, null), Li(t, 0); } - if (s || gh(t), Iu(t), wu(t, 0), e12.contentQueries !== null && Ql(e12, t), !i) + if (s || mh(t), wu(t), Cu(t, 0), e12.contentQueries !== null && Kl(e12, t), !i) if (u) { let p = e12.contentCheckHooks; p !== null && Ir(t, p); @@ -3730,9 +3730,9 @@ function hh(e12, t, n, r) { let p = e12.contentHooks; p !== null && Dr(t, p, 1), Li(t, 1); } - yh(e12, t); + vh(e12, t); let d = e12.components; - d !== null && Cu(t, d, 0); + d !== null && Mu(t, d, 0); let f = e12.viewQuery; if (f !== null && Gi(2, f, r), !i) if (u) { @@ -3747,22 +3747,22 @@ function hh(e12, t, n, r) { p(); t[rr] = null; } - i || (yu(t), t[y] &= -73); + i || (Eu(t), t[y] &= -73); } catch (u) { - throw i || Mt(t), u; + throw i || St(t), u; } finally { - l !== null && (An(l, c), a && ch(l)), dr(); + l !== null && (An(l, c), a && lh(l)), dr(); } } -function wu(e12, t) { - for (let n = Vl(e12); n !== null; n = Bl(n)) +function Cu(e12, t) { + for (let n = $l(e12); n !== null; n = Ul(n)) for (let r = S; r < n.length; r++) { let o = n[r]; - bu(o, t); + Tu(o, t); } } -function gh(e12) { - for (let t = Vl(e12); t !== null; t = Bl(t)) { +function mh(e12) { + for (let t = $l(e12); t !== null; t = Ul(t)) { if (!(t[y] & 2)) continue; let n = t[tt]; @@ -3772,38 +3772,38 @@ function gh(e12) { } } } -function mh(e12, t, n) { +function yh(e12, t, n) { T(b.ComponentStart); let r = be(t, e12); try { - bu(r, n); + Tu(r, n); } finally { T(b.ComponentEnd, r[x]); } } -function bu(e12, t) { +function Tu(e12, t) { sr(e12) && is(e12, t); } function is(e12, t) { let r = e12[m], o = e12[y], i = e12[G], s = !!(t === 0 && o & 16); if (s ||= !!(o & 64 && t === 0), s ||= !!(o & 1024), s ||= !!(i?.dirty && Rn(i)), s ||= false, i && (i.dirty = false), e12[y] &= -9217, s) - hh(r, e12, r.template, e12[x]); + gh(r, e12, r.template, e12[x]); else if (o & 8192) { let a = g(null); try { - Iu(e12), wu(e12, 1); + wu(e12), Cu(e12, 1); let c = r.components; - c !== null && Cu(e12, c, 1), yu(e12); + c !== null && Mu(e12, c, 1), Eu(e12); } finally { g(a); } } } -function Cu(e12, t, n) { +function Mu(e12, t, n) { for (let r = 0; r < t.length; r++) - mh(e12, t[r], n); + yh(e12, t[r], n); } -function yh(e12, t) { +function vh(e12, t) { let n = e12.hostBindingOpCodes; if (n !== null) try { @@ -3813,7 +3813,7 @@ function yh(e12, t) { je(~o); else { let i = o, s = n[++r], a = n[++r]; - Sc(s, i); + xc(s, i); let c = t[i]; T(b.HostBindingsUpdateStart, c); try { @@ -3832,30 +3832,30 @@ function Gs(e12, t) { for (e12[le].changeDetectionScheduler?.notify(t); e12; ) { e12[y] |= n; let r = Ae(e12); - if (Tt(e12) && !r) + if (_t(e12) && !r) return e12; e12 = r; } return null; } -function Tu(e12, t, n, r) { +function _u(e12, t, n, r) { return [e12, true, 0, t, null, r, null, n, null, null]; } -function Mu(e12, t) { +function Su(e12, t) { let n = S + t; if (n < e12.length) return e12[n]; } function Zr(e12, t, n, r = true) { let o = t[m]; - if (vh(o, t, e12, n), r) { + if (Eh(o, t, e12, n), r) { let s = os(n, e12), a = t[O], c = a.parentNode(e12[Pe]); - c !== null && Ap(o, e12[J], a, t, c, s); + c !== null && Rp(o, e12[J], a, t, c, s); } - let i = t[It]; + let i = t[wt]; i !== null && i.firstChild !== null && (i.firstChild = null); } -function _u(e12, t) { +function Nu(e12, t) { let n = ln(e12, t); return n !== void 0 && Wr(n[m], n), n; } @@ -3866,22 +3866,22 @@ function ln(e12, t) { if (r) { let o = r[Oe]; o !== null && o !== e12 && $s(o, r), t > 0 && (e12[n - 1][K] = r[K]); - let i = Zt(e12, S + t); - xp(r[m], r); + let i = Qt(e12, S + t); + Ap(r[m], r); let s = i[ue]; s !== null && s.detachView(i[m]), r[R] = null, r[K] = null, r[y] &= -129; } return r; } -function vh(e12, t, n, r) { +function Eh(e12, t, n, r) { let o = S + r, i = n.length; r > 0 && (n[o - 1][K] = t), r < i - S ? (t[K] = n[o], ci(n, S + r, t)) : (n.push(t), t[K] = null), t[R] = n; let s = t[Oe]; - s !== null && n !== s && Su(s, t); + s !== null && n !== s && xu(s, t); let a = t[ue]; a !== null && a.insertView(e12), ar(t), t[y] |= 128; } -function Su(e12, t) { +function xu(e12, t) { let n = e12[tt], r = t[R]; if (Le(r)) e12[y] |= 2; @@ -3891,7 +3891,7 @@ function Su(e12, t) { } n === null ? e12[tt] = [t] : n.push(t); } -var Ot = class { +var Pt = class { _lView; _cdRefInjectingView; _appRef = null; @@ -3920,7 +3920,7 @@ var Ot = class { let t = this._lView[R]; if (re(t)) { let n = t[Jt], r = n ? n.indexOf(this) : -1; - r > -1 && (ln(t, r), Zt(n, r)); + r > -1 && (ln(t, r), Qt(n, r)); } this._attachedToViewContainer = false; } @@ -3939,7 +3939,7 @@ var Ot = class { ar(this._lView), this._lView[y] |= 128; } detectChanges() { - this._lView[y] |= 1024, Du(this._lView); + this._lView[y] |= 1024, bu(this._lView); } checkNoChanges() { } @@ -3950,15 +3950,15 @@ var Ot = class { } detachFromAppRef() { this._appRef = null; - let t = Tt(this._lView), n = this._lView[Oe]; - n !== null && !t && $s(n, this._lView), fu(this._lView[m], this._lView); + let t = _t(this._lView), n = this._lView[Oe]; + n !== null && !t && $s(n, this._lView), hu(this._lView[m], this._lView); } attachToAppRef(t) { if (this._attachedToViewContainer) throw new v(902, false); this._appRef = t; - let n = Tt(this._lView), r = this._lView[Oe]; - r !== null && !n && Su(r, this._lView), ar(this._lView); + let n = _t(this._lView), r = this._lView[Oe]; + r !== null && !n && xu(r, this._lView), ar(this._lView); } }; var un = /* @__PURE__ */ (() => { @@ -3966,7 +3966,7 @@ var un = /* @__PURE__ */ (() => { _declarationLView; _declarationTContainer; elementRef; - static __NG_ELEMENT_ID__ = Eh; + static __NG_ELEMENT_ID__ = Ih; constructor(n, r, o) { this._declarationLView = n, this._declarationTContainer = r, this.elementRef = o; } @@ -3978,64 +3978,64 @@ var un = /* @__PURE__ */ (() => { } createEmbeddedViewImpl(n, r, o) { let i = qr(this._declarationLView, this._declarationTContainer, n, { embeddedViewInjector: r, dehydratedView: o }); - return new Ot(i); + return new Pt(i); } } return e12; })(); -function Eh() { +function Ih() { return qs(pe(), M()); } function qs(e12, t) { - return e12.type & 4 ? new un(t, e12, Pt(e12, t)) : null; + return e12.type & 4 ? new un(t, e12, Ft(e12, t)) : null; } function Qr(e12, t, n, r, o) { let i = e12.data[t]; if (i === null) - i = Ih(e12, t, n, r, o), _c() && (i.flags |= 32); + i = Dh(e12, t, n, r, o), Nc() && (i.flags |= 32); else if (i.type & 64) { i.type = n, i.value = r, i.attrs = o; - let s = bc(); + let s = Tc(); i.injectorIndex = s === null ? -1 : s.injectorIndex; } - return _t(i, true), i; + return Nt(i, true), i; } -function Ih(e12, t, n, r, o) { - let i = Ci(), s = Ti(), a = s ? i : i && i.parent, c = e12.data[t] = wh(e12, a, n, t, r, o); - return Dh(e12, c, i, s), c; +function Dh(e12, t, n, r, o) { + let i = Ci(), s = Ti(), a = s ? i : i && i.parent, c = e12.data[t] = bh(e12, a, n, t, r, o); + return wh(e12, c, i, s), c; } -function Dh(e12, t, n, r) { +function wh(e12, t, n, r) { e12.firstChild === null && (e12.firstChild = t), n !== null && (r ? n.child == null && t.parent !== null && (n.child = t) : n.next === null && (n.next = t, t.prev = n)); } -function wh(e12, t, n, r, o, i) { +function bh(e12, t, n, r, o, i) { let s = t ? t.injectorIndex : -1, a = 0; - return Ic() && (a |= 128), { type: n, index: r, insertBeforeIndex: null, injectorIndex: s, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, controlDirectiveIndex: -1, customControlIndex: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: o, attrs: i, mergedAttrs: null, localNames: null, initialInputs: null, inputs: null, hostDirectiveInputs: null, outputs: null, hostDirectiveOutputs: null, directiveToIndex: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 }; + return wc() && (a |= 128), { type: n, index: r, insertBeforeIndex: null, injectorIndex: s, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, controlDirectiveIndex: -1, customControlIndex: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: o, attrs: i, mergedAttrs: null, localNames: null, initialInputs: null, inputs: null, hostDirectiveInputs: null, outputs: null, hostDirectiveOutputs: null, directiveToIndex: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 }; } -function bh(e12) { +function Ch(e12) { let t = e12[gi] ?? [], r = e12[R][O], o = []; for (let i of t) - i.data[Wl] !== void 0 ? o.push(i) : Ch(i, r); + i.data[ql] !== void 0 ? o.push(i) : Th(i, r); e12[gi] = o; } -function Ch(e12, t) { +function Th(e12, t) { let n = 0, r = e12.firstChild; if (r) { - let o = e12.data[zl]; + let o = e12.data[Gl]; for (; n < o; ) { let i = r.nextSibling; - ou(t, r, false), r = i, n++; + su(t, r, false), r = i, n++; } } } -var Th = () => null; var Mh = () => null; +var _h = () => null; function ss(e12, t) { - return Th(e12, t); + return Mh(e12, t); } -function Nu(e12, t, n) { - return Mh(e12, t, n); +function Au(e12, t, n) { + return _h(e12, t, n); } -var xu = class { +var Ru = class { }; var Yr = class { }; @@ -4049,7 +4049,7 @@ var Kr = class { }; var st = class { }; -var Au = (() => { +var Ou = (() => { class e12 { static \u0275prov = _({ token: e12, providedIn: "root", factory: () => null }); } @@ -4083,14 +4083,14 @@ function xr(e12, t, n) { } n ? e12.styles = r : e12.stylesWithoutHost = r, n ? e12.classes = o : e12.classesWithoutHost = o; } -function Ru(e12, t = 0) { +function ku(e12, t = 0) { let n = M(); if (n === null) return w(e12, t); let r = pe(); - return Pl(r, n, W(e12), t); + return Fl(r, n, W(e12), t); } -function _h(e12, t, n, r, o) { +function Sh(e12, t, n, r, o) { let i = r === null ? null : { "": -1 }, s = o(e12, n); if (s !== null) { let a = s, c = null, l = null; @@ -4099,11 +4099,11 @@ function _h(e12, t, n, r, o) { [a, c, l] = u.resolveHostDirectives(s); break; } - xh(e12, t, n, a, i, c, l); + Ah(e12, t, n, a, i, c, l); } - i !== null && r !== null && Sh(n, r, i); + i !== null && r !== null && Nh(n, r, i); } -function Sh(e12, t, n) { +function Nh(e12, t, n) { let r = e12.localNames = []; for (let o = 0; o < t.length; o += 2) { let i = n[t[o + 1]]; @@ -4112,25 +4112,25 @@ function Sh(e12, t, n) { r.push(t[o], i); } } -function Nh(e12, t, n) { +function xh(e12, t, n) { t.componentOffset = n, (e12.components ??= []).push(t.index); } -function xh(e12, t, n, r, o, i, s) { +function Ah(e12, t, n, r, o, i, s) { let a = r.length, c = null; for (let f = 0; f < a; f++) { let p = r[f]; - c === null && Ct(p) && (c = p, Nh(e12, n, f)), Af(Al(n, t), e12, p.type); + c === null && Mt(p) && (c = p, xh(e12, n, f)), Rf(Ol(n, t), e12, p.type); } - Lh(n, e12.data.length, a), c?.viewProvidersResolver && c.viewProvidersResolver(c); + Fh(n, e12.data.length, a), c?.viewProvidersResolver && c.viewProvidersResolver(c); for (let f = 0; f < a; f++) { let p = r[f]; p.providersResolver && p.providersResolver(p); } - let l = false, u = false, d = au(e12, t, a, null); + let l = false, u = false, d = lu(e12, t, a, null); a > 0 && (n.directiveToIndex = /* @__PURE__ */ new Map()); for (let f = 0; f < a; f++) { let p = r[f]; - if (n.mergedAttrs = Fr(n.mergedAttrs, p.hostAttrs), Rh(e12, n, t, d, p), Ph(d, p, o), s !== null && s.has(p)) { + if (n.mergedAttrs = Fr(n.mergedAttrs, p.hostAttrs), Oh(e12, n, t, d, p), Lh(d, p, o), s !== null && s.has(p)) { let [k, P] = s.get(p); n.directiveToIndex.set(p.type, [d, k + n.directiveStart, P + n.directiveStart]); } else @@ -4139,41 +4139,41 @@ function xh(e12, t, n, r, o, i, s) { let h = p.type.prototype; !l && (h.ngOnChanges || h.ngOnInit || h.ngDoCheck) && ((e12.preOrderHooks ??= []).push(n.index), l = true), !u && (h.ngOnChanges || h.ngDoCheck) && ((e12.preOrderCheckHooks ??= []).push(n.index), u = true), d++; } - Ah(e12, n, i); + Rh(e12, n, i); } -function Ah(e12, t, n) { +function Rh(e12, t, n) { for (let r = t.directiveStart; r < t.directiveEnd; r++) { let o = e12.data[r]; if (n === null || !n.has(o)) - fl(0, t, o, r), fl(1, t, o, r), hl(t, r, false); + hl(0, t, o, r), hl(1, t, o, r), ml(t, r, false); else { let i = n.get(o); - pl(0, t, i, r), pl(1, t, i, r), hl(t, r, true); + gl(0, t, i, r), gl(1, t, i, r), ml(t, r, true); } } } -function fl(e12, t, n, r) { +function hl(e12, t, n, r) { let o = e12 === 0 ? n.inputs : n.outputs; for (let i in o) if (o.hasOwnProperty(i)) { let s; - e12 === 0 ? s = t.inputs ??= {} : s = t.outputs ??= {}, s[i] ??= [], s[i].push(r), Ou(t, i); + e12 === 0 ? s = t.inputs ??= {} : s = t.outputs ??= {}, s[i] ??= [], s[i].push(r), Pu(t, i); } } -function pl(e12, t, n, r) { +function gl(e12, t, n, r) { let o = e12 === 0 ? n.inputs : n.outputs; for (let i in o) if (o.hasOwnProperty(i)) { let s = o[i], a; - e12 === 0 ? a = t.hostDirectiveInputs ??= {} : a = t.hostDirectiveOutputs ??= {}, a[s] ??= [], a[s].push(r, i), Ou(t, s); + e12 === 0 ? a = t.hostDirectiveInputs ??= {} : a = t.hostDirectiveOutputs ??= {}, a[s] ??= [], a[s].push(r, i), Pu(t, s); } } -function Ou(e12, t) { +function Pu(e12, t) { t === "class" ? e12.flags |= 8 : t === "style" && (e12.flags |= 16); } -function hl(e12, t, n) { +function ml(e12, t, n) { let { attrs: r, inputs: o, hostDirectiveInputs: i } = e12; - if (r === null || !n && o === null || n && i === null || vp(e12)) { + if (r === null || !n && o === null || n && i === null || Ep(e12)) { e12.initialInputs ??= [], e12.initialInputs.push(null); return; } @@ -4207,21 +4207,21 @@ function hl(e12, t, n) { } e12.initialInputs ??= [], e12.initialInputs.push(s); } -function Rh(e12, t, n, r, o) { +function Oh(e12, t, n, r, o) { e12.data[r] = o; - let i = o.factory || (o.factory = vt(o.type, true)), s = new sn(i, Ct(o), Ru, null); - e12.blueprint[r] = s, n[r] = s, Oh(e12, t, r, au(e12, n, o.hostVars, Se), o); + let i = o.factory || (o.factory = Et(o.type, true)), s = new sn(i, Mt(o), ku, null); + e12.blueprint[r] = s, n[r] = s, kh(e12, t, r, lu(e12, n, o.hostVars, Se), o); } -function Oh(e12, t, n, r, o) { +function kh(e12, t, n, r, o) { let i = o.hostBindings; if (i) { let s = e12.hostBindingOpCodes; s === null && (s = e12.hostBindingOpCodes = []); let a = ~t.index; - kh(s) != a && s.push(a), s.push(n, r, i); + Ph(s) != a && s.push(a), s.push(n, r, i); } } -function kh(e12) { +function Ph(e12) { let t = e12.length; for (; t > 0; ) { let n = e12[--t]; @@ -4230,25 +4230,25 @@ function kh(e12) { } return 0; } -function Ph(e12, t, n) { +function Lh(e12, t, n) { if (n) { if (t.exportAs) for (let r = 0; r < t.exportAs.length; r++) n[t.exportAs[r]] = e12; - Ct(t) && (n[""] = e12); + Mt(t) && (n[""] = e12); } } -function Lh(e12, t, n) { +function Fh(e12, t, n) { e12.flags |= 1, e12.directiveStart = t, e12.directiveEnd = t + n, e12.providerIndexes = t; } -function Fh(e12, t, n, r, o, i, s, a) { +function jh(e12, t, n, r, o, i, s, a) { let c = t[m], l = c.consts, u = fe(l, s), d = Qr(c, e12, n, r, u); - return i && _h(c, t, d, fe(l, a), o), d.mergedAttrs = Fr(d.mergedAttrs, d.attrs), d.attrs !== null && xr(d, d.attrs, false), d.mergedAttrs !== null && xr(d, d.mergedAttrs, true), c.queries !== null && c.queries.elementStart(c, d), d; + return i && Sh(c, t, d, fe(l, a), o), d.mergedAttrs = Fr(d.mergedAttrs, d.attrs), d.attrs !== null && xr(d, d.attrs, false), d.mergedAttrs !== null && xr(d, d.mergedAttrs, true), c.queries !== null && c.queries.elementStart(c, d), d; } -function jh(e12, t) { - bf(e12, t), mi(t) && e12.queries.elementEnd(t); +function Hh(e12, t) { + Cf(e12, t), mi(t) && e12.queries.elementEnd(t); } -function Hh(e12, t, n, r, o, i) { +function Vh(e12, t, n, r, o, i) { let s = t.consts, a = fe(s, o), c = Qr(t, e12, n, r, a); if (c.mergedAttrs = Fr(c.mergedAttrs, c.attrs), i != null) { let l = fe(s, i); @@ -4264,66 +4264,66 @@ function yn(e12, t, n) { let r = e12[t]; return Object.is(r, n) ? false : (e12[t] = n, true); } -function Vh(e12, t, n) { +function Bh(e12, t, n) { return function r(o) { let i = r.__ngNativeEl__; - i !== void 0 && Uf(o, i); - let s = bt(e12) ? be(e12.index, t) : t; + i !== void 0 && zf(o, i); + let s = Tt(e12) ? be(e12.index, t) : t; Gs(s, 5); - let a = t[x], c = gl(t, a, n, o), l = r.__ngNextListenerFn__; + let a = t[x], c = yl(t, a, n, o), l = r.__ngNextListenerFn__; for (; l; ) - c = gl(t, a, l, o) && c, l = l.__ngNextListenerFn__; + c = yl(t, a, l, o) && c, l = l.__ngNextListenerFn__; return c; }; } -function gl(e12, t, n, r) { +function yl(e12, t, n, r) { let o = g(null); try { return T(b.OutputStart, t, n), n(r) !== false; } catch (i) { - return th(e12, i), false; + return nh(e12, i), false; } finally { T(b.OutputEnd, t, n), g(o); } } -function Bh(e12, t, n, r, o, i, s, a) { +function $h(e12, t, n, r, o, i, s, a) { let c = yi(e12), l = false, u = null; - if (!r && c && (u = Uh(t, n, i, e12.index)), u !== null) { + if (!r && c && (u = zh(t, n, i, e12.index)), u !== null) { let d = u.__ngLastListenerFn__ || u; d.__ngNextListenerFn__ = s, u.__ngLastListenerFn__ = s, l = true; } else { let d = de(e12, n), f = r ? r(d) : d; - Wf(n, f, i, a), r || (a.__ngNativeEl__ = d); + Gf(n, f, i, a), r || (a.__ngNativeEl__ = d); let p = o.listen(f, i, a); - if (!$h(i)) { + if (!Uh(i)) { let h = r ? (k) => r(ee(k[e12.index])) : e12.index; - zh(h, t, n, i, a, p, false); + Wh(h, t, n, i, a, p, false); } } return l; } -function $h(e12) { +function Uh(e12) { return e12.startsWith("animation") || e12.startsWith("transition"); } -function Uh(e12, t, n, r) { +function zh(e12, t, n, r) { let o = e12.cleanup; if (o != null) for (let i = 0; i < o.length - 1; i += 2) { let s = o[i]; if (s === n && o[i + 1] === r) { - let a = t[Dt], c = o[i + 2]; + let a = t[bt], c = o[i + 2]; return a && a.length > c ? a[c] : null; } typeof s == "string" && (i += 2); } return null; } -function zh(e12, t, n, r, o, i, s) { +function Wh(e12, t, n, r, o, i, s) { let a = t.firstCreatePass ? bi(t) : null, c = wi(n), l = c.length; c.push(o, i), a && a.push(r, e12, l, (l + 1) * (s ? -1 : 1)); } var ls = Symbol("BINDING"); -function Wh(e12) { +function Gh(e12) { return e12.debugInfo?.className || e12.type.name || null; } var us = class extends Kr { @@ -4336,31 +4336,31 @@ var us = class extends Kr { return new dn(n, this.ngModule); } }; -function Gh(e12) { +function qh(e12) { return Object.keys(e12).map((t) => { let [n, r, o] = e12[t], i = { propName: n, templateName: t, isSignal: (r & zr.SignalBased) !== 0 }; return o && (i.transform = o), i; }); } -function qh(e12) { +function Zh(e12) { return Object.keys(e12).map((t) => ({ propName: e12[t], templateName: t })); } -function Zh(e12, t, n) { +function Qh(e12, t, n) { let r = t instanceof Q ? t : t?.injector; return r && e12.getStandaloneInjector !== null && (r = e12.getStandaloneInjector(r) || r), r ? new cs(n, r) : n; } -function Qh(e12) { +function Yh(e12) { let t = e12.get(st, null); if (t === null) throw new v(407, false); - let n = e12.get(Au, null), r = e12.get(Ze, null), o = e12.get(Lt, null, { optional: true }); + let n = e12.get(Ou, null), r = e12.get(Ze, null), o = e12.get(jt, null, { optional: true }); return { rendererFactory: t, sanitizer: n, changeDetectionScheduler: r, ngReflect: false, tracingService: o }; } -function Yh(e12, t) { - let n = ku(e12); - return nu(t, n, n === "svg" ? uc : n === "math" ? dc : null); +function Kh(e12, t) { + let n = Lu(e12); + return ou(t, n, n === "svg" ? fc : n === "math" ? pc : null); } -function ku(e12) { +function Lu(e12) { return (e12.selectors[0][0] || "div").toLowerCase(); } var dn = class extends Yr { @@ -4373,31 +4373,31 @@ var dn = class extends Yr { cachedInputs = null; cachedOutputs = null; get inputs() { - return this.cachedInputs ??= Gh(this.componentDef.inputs), this.cachedInputs; + return this.cachedInputs ??= qh(this.componentDef.inputs), this.cachedInputs; } get outputs() { - return this.cachedOutputs ??= qh(this.componentDef.outputs), this.cachedOutputs; + return this.cachedOutputs ??= Zh(this.componentDef.outputs), this.cachedOutputs; } constructor(t, n) { - super(), this.componentDef = t, this.ngModule = n, this.componentType = t.type, this.selector = Ip(t.selectors), this.ngContentSelectors = t.ngContentSelectors ?? [], this.isBoundToModule = !!n; + super(), this.componentDef = t, this.ngModule = n, this.componentType = t.type, this.selector = Dp(t.selectors), this.ngContentSelectors = t.ngContentSelectors ?? [], this.isBoundToModule = !!n; } create(t, n, r, o, i, s) { T(b.DynamicComponentStart); let a = g(null); try { - let c = this.componentDef, l = Zh(c, o || this.ngModule, t), u = Qh(l), d = u.tracingService; - return d && d.componentCreate ? d.componentCreate(Wh(c), () => this.createComponentRef(u, l, n, r, i, s)) : this.createComponentRef(u, l, n, r, i, s); + let c = this.componentDef, l = Qh(c, o || this.ngModule, t), u = Yh(l), d = u.tracingService; + return d && d.componentCreate ? d.componentCreate(Gh(c), () => this.createComponentRef(u, l, n, r, i, s)) : this.createComponentRef(u, l, n, r, i, s); } finally { g(a); } } createComponentRef(t, n, r, o, i, s) { - let a = this.componentDef, c = Kh(o, a, s, i), l = t.rendererFactory.createRenderer(null, a), u = o ? Wp(l, o, a.encapsulation, n) : Yh(a, l), d = s?.some(ml) || i?.some((h) => typeof h != "function" && h.bindings.some(ml)), f = js(null, c, null, 512 | su(a), null, null, t, l, n, null, Zl(u, n, true)); + let a = this.componentDef, c = Jh(o, a, s, i), l = t.rendererFactory.createRenderer(null, a), u = o ? Gp(l, o, a.encapsulation, n) : Kh(a, l), d = s?.some(vl) || i?.some((h) => typeof h != "function" && h.bindings.some(vl)), f = js(null, c, null, 512 | cu(a), null, null, t, l, n, null, Yl(u, n, true)); f[F] = u, ur(f); let p = null; try { - let h = Fh(F, f, 2, "#host", () => c.directiveRegistry, true, 0); - iu(l, u, h), Rt(u, f), zp(c, f, h), qf(c, h, f), jh(c, h), r !== void 0 && Xh(h, this.ngContentSelectors, r), p = be(h.index, f), f[x] = p[x], Ws(c, f, null); + let h = jh(F, f, 2, "#host", () => c.directiveRegistry, true, 0); + au(l, u, h), kt(u, f), Wp(c, f, h), Zf(c, h, f), Hh(c, h), r !== void 0 && eg(h, this.ngContentSelectors, r), p = be(h.index, f), f[x] = p[x], Ws(c, f, null); } catch (h) { throw p !== null && zi(p), zi(f), h; } finally { @@ -4406,8 +4406,8 @@ var dn = class extends Yr { return new Ar(this.componentType, f, !!d); } }; -function Kh(e12, t, n, r) { - let o = e12 ? ["ng-version", "21.2.11"] : Dp(t.selectors[0]), i = null, s = null, a = 0; +function Jh(e12, t, n, r) { + let o = e12 ? ["ng-version", "21.2.11"] : wp(t.selectors[0]), i = null, s = null, a = 0; if (n) for (let u of n) a += u[ls].requiredVars, u.create && (u.targetIdx = 0, (i ??= []).push(u)), u.update && (u.targetIdx = 0, (s ??= []).push(u)); @@ -4427,9 +4427,9 @@ function Kh(e12, t, n, r) { let d = typeof u == "function" ? u : u.type, f = ri(d); c.push(f); } - return Fs(0, null, Jh(i, s), 1, a, c, null, null, null, [o], null); + return Fs(0, null, Xh(i, s), 1, a, c, null, null, null, [o], null); } -function Jh(e12, t) { +function Xh(e12, t) { return !e12 && !t ? null : (n) => { if (n & 1 && e12) for (let r of e12) @@ -4439,11 +4439,11 @@ function Jh(e12, t) { r.update(); }; } -function ml(e12) { +function vl(e12) { let t = e12[ls].kind; return t === "input" || t === "twoWay"; } -var Ar = class extends xu { +var Ar = class extends Ru { _rootLView; _hasInputBindings; instance; @@ -4454,14 +4454,14 @@ var Ar = class extends xu { previousInputValues = null; _tNode; constructor(t, n, r) { - super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = ir(n[m], F), this.location = Pt(this._tNode, n), this.instance = be(this._tNode.index, n)[x], this.hostView = this.changeDetectorRef = new Ot(n, void 0), this.componentType = t; + super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = ir(n[m], F), this.location = Ft(this._tNode, n), this.instance = be(this._tNode.index, n)[x], this.hostView = this.changeDetectorRef = new Pt(n, void 0), this.componentType = t; } setInput(t, n) { this._hasInputBindings; let r = this._tNode; if (this.previousInputValues ??= /* @__PURE__ */ new Map(), this.previousInputValues.has(t) && Object.is(this.previousInputValues.get(t), n)) return; - let o = this._rootLView, i = nh(r, o[m], o, t, n); + let o = this._rootLView, i = rh(r, o[m], o, t, n); this.previousInputValues.set(t, n); let s = be(r.index, o); Gs(s, 1); @@ -4476,7 +4476,7 @@ var Ar = class extends xu { this.hostView.onDestroy(t); } }; -function Xh(e12, t, n) { +function eg(e12, t, n) { let r = e12.projection = []; for (let o = 0; o < t.length; o++) { let i = n[o]; @@ -4485,13 +4485,13 @@ function Xh(e12, t, n) { } var Jr = /* @__PURE__ */ (() => { class e12 { - static __NG_ELEMENT_ID__ = eg; + static __NG_ELEMENT_ID__ = tg; } return e12; })(); -function eg() { +function tg() { let e12 = pe(); - return Pu(e12, M()); + return Fu(e12, M()); } var ds = class e4 extends Jr { _lContainer; @@ -4501,14 +4501,14 @@ var ds = class e4 extends Jr { super(), this._lContainer = t, this._hostTNode = n, this._hostLView = r; } get element() { - return Pt(this._hostTNode, this._hostLView); + return Ft(this._hostTNode, this._hostLView); } get injector() { return new ot(this._hostTNode, this._hostLView); } get parentInjector() { let t = _s(this._hostTNode, this._hostLView); - if (Sl(t)) { + if (xl(t)) { let n = Mr(t, this._hostLView), r = Tr(t), o = n[m].data[r + 8]; return new ot(o, n); } else @@ -4519,7 +4519,7 @@ var ds = class e4 extends Jr { this.remove(this.length - 1); } get(t) { - let n = yl(this._lContainer); + let n = El(this._lContainer); return n !== null && n[t] || null; } get length() { @@ -4532,7 +4532,7 @@ var ds = class e4 extends Jr { return this.insertImpl(a, o, an(this._hostTNode, s)), a; } createComponent(t, n, r, o, i, s, a) { - let c = t && !yf(t), l; + let c = t && !vf(t), l; if (c) l = n; else { @@ -4541,8 +4541,8 @@ var ds = class e4 extends Jr { } let u = c ? t : new dn(Ye(t)), d = r || this.parentInjector; if (!i && u.ngModule == null) { - let ct = (c ? d : this.parentInjector).get(Q, null); - ct && (i = ct); + let lt = (c ? d : this.parentInjector).get(Q, null); + lt && (i = lt); } let f = Ye(u.componentType ?? {}), p = ss(this._lContainer, f?.id ?? null), h = p?.firstChild ?? null, k = u.create(d, o, h, i, s, a); return this.insertImpl(k.hostView, l, an(this._hostTNode, p)), k; @@ -4552,7 +4552,7 @@ var ds = class e4 extends Jr { } insertImpl(t, n, r) { let o = t._lView; - if (pc(o)) { + if (gc(o)) { let a = this.indexOf(t); if (a !== -1) this.detach(a); @@ -4568,45 +4568,45 @@ var ds = class e4 extends Jr { return this.insert(t, n); } indexOf(t) { - let n = yl(this._lContainer); + let n = El(this._lContainer); return n !== null ? n.indexOf(t) : -1; } remove(t) { let n = this._adjustIndex(t, -1), r = ln(this._lContainer, n); - r && (Zt(Hi(this._lContainer), n), Wr(r[m], r)); + r && (Qt(Hi(this._lContainer), n), Wr(r[m], r)); } detach(t) { let n = this._adjustIndex(t, -1), r = ln(this._lContainer, n); - return r && Zt(Hi(this._lContainer), n) != null ? new Ot(r) : null; + return r && Qt(Hi(this._lContainer), n) != null ? new Pt(r) : null; } _adjustIndex(t, n = 0) { return t ?? this.length + n; } }; -function yl(e12) { +function El(e12) { return e12[Jt]; } function Hi(e12) { return e12[Jt] || (e12[Jt] = []); } -function Pu(e12, t) { +function Fu(e12, t) { let n, r = t[e12.index]; - return re(r) ? n = r : (n = Tu(r, t, null, e12), t[e12.index] = n, Hs(t, n)), ng(n, t, e12, r), new ds(n, e12, t); + return re(r) ? n = r : (n = _u(r, t, null, e12), t[e12.index] = n, Hs(t, n)), rg(n, t, e12, r), new ds(n, e12, t); } -function tg(e12, t) { +function ng(e12, t) { let n = e12[O], r = n.createComment(""), o = de(t, e12), i = n.parentNode(o); return Nr(n, i, r, n.nextSibling(o), false), r; } -var ng = ig; -var rg = () => false; -function og(e12, t, n) { - return rg(e12, t, n); +var rg = sg; +var og = () => false; +function ig(e12, t, n) { + return og(e12, t, n); } -function ig(e12, t, n, r) { +function sg(e12, t, n, r) { if (e12[Pe]) return; let o; - n.type & 8 ? o = ee(r) : o = tg(t, n), e12[Pe] = o; + n.type & 8 ? o = ee(r) : o = ng(t, n), e12[Pe] = o; } var fs = class e5 { queryList; @@ -4657,7 +4657,7 @@ var hs = class { read; predicate; constructor(t, n, r = null) { - this.flags = n, this.read = r, typeof t == "string" ? this.predicate = pg(t) : this.predicate = t; + this.flags = n, this.read = r, typeof t == "string" ? this.predicate = hg(t) : this.predicate = t; } }; var gs = class e7 { @@ -4731,7 +4731,7 @@ var ms = class e8 { if (Array.isArray(r)) for (let o = 0; o < r.length; o++) { let i = r[o]; - this.matchTNodeWithReadOption(t, n, sg(n, i)), this.matchTNodeWithReadOption(t, n, wr(n, t, i, false, false)); + this.matchTNodeWithReadOption(t, n, ag(n, i)), this.matchTNodeWithReadOption(t, n, wr(n, t, i, false, false)); } else r === un ? n.type & 4 && this.matchTNodeWithReadOption(t, n, -1) : this.matchTNodeWithReadOption(t, n, wr(n, t, r, false, false)); @@ -4754,7 +4754,7 @@ var ms = class e8 { this.matches === null ? this.matches = [t, n] : this.matches.push(t, n); } }; -function sg(e12, t) { +function ag(e12, t) { let n = e12.localNames; if (n !== null) { for (let r = 0; r < n.length; r += 2) @@ -4763,21 +4763,21 @@ function sg(e12, t) { } return null; } -function ag(e12, t) { - return e12.type & 11 ? Pt(e12, t) : e12.type & 4 ? qs(e12, t) : null; +function cg(e12, t) { + return e12.type & 11 ? Ft(e12, t) : e12.type & 4 ? qs(e12, t) : null; } -function cg(e12, t, n, r) { - return n === -1 ? ag(t, e12) : n === -2 ? lg(e12, t, r) : _r(e12, e12[m], n, t); +function lg(e12, t, n, r) { + return n === -1 ? cg(t, e12) : n === -2 ? ug(e12, t, r) : _r(e12, e12[m], n, t); } -function lg(e12, t, n) { +function ug(e12, t, n) { if (n === hn) - return Pt(t, e12); + return Ft(t, e12); if (n === un) return qs(t, e12); if (n === Jr) - return Pu(t, e12); + return Fu(t, e12); } -function Lu(e12, t, n, r) { +function ju(e12, t, n, r) { let o = t[ue].queries[r]; if (o.matches === null) { let i = e12.data, s = n.matches, a = []; @@ -4787,7 +4787,7 @@ function Lu(e12, t, n, r) { a.push(null); else { let u = i[l]; - a.push(cg(t, u, s[c + 1], n.metadata.read)); + a.push(lg(t, u, s[c + 1], n.metadata.read)); } } o.matches = a; @@ -4797,7 +4797,7 @@ function Lu(e12, t, n, r) { function ys(e12, t, n, r) { let o = e12.queries.getByIndex(n), i = o.matches; if (i !== null) { - let s = Lu(e12, t, o, n); + let s = ju(e12, t, o, n); for (let a = 0; a < i.length; a += 2) { let c = i[a]; if (c > 0) @@ -4820,29 +4820,29 @@ function ys(e12, t, n, r) { } return r; } -function ug(e12, t) { +function dg(e12, t) { return e12[ue].queries[t].queryList; } -function dg(e12, t, n) { +function fg(e12, t, n) { let r = new Sr((n & 4) === 4); - return mc(e12, t, r, r.destroy), (t[ue] ??= new ps()).queries.push(new fs(r)) - 1; + return vc(e12, t, r, r.destroy), (t[ue] ??= new ps()).queries.push(new fs(r)) - 1; } -function fg(e12, t, n) { +function pg(e12, t, n) { let r = oe(); - return r.firstCreatePass && (hg(r, new hs(e12, t, n), -1), (t & 2) === 2 && (r.staticViewQueries = true)), dg(r, M(), t); + return r.firstCreatePass && (gg(r, new hs(e12, t, n), -1), (t & 2) === 2 && (r.staticViewQueries = true)), fg(r, M(), t); } -function pg(e12) { +function hg(e12) { return e12.split(",").map((t) => t.trim()); } -function hg(e12, t, n) { +function gg(e12, t, n) { e12.queries === null && (e12.queries = new gs()), e12.queries.track(new ms(t, n)); } function Zs(e12, t) { return e12.queries.getByIndex(t); } -function gg(e12, t) { +function mg(e12, t) { let n = e12[m], r = Zs(n, t); - return r.crossesNgTemplate ? ys(n, e12, t, []) : Lu(n, e12, r, t); + return r.crossesNgTemplate ? ys(n, e12, t, []) : ju(n, e12, r, t); } var Rr = class { }; @@ -4862,10 +4862,10 @@ var fn = class extends Rr { this.injector.onDestroy(t); } }; -function Fu(e12, t, n = null) { +function Hu(e12, t, n = null) { return new fn({ providers: e12, parent: t, debugName: n, runEnvironmentInitializers: true }).injector; } -var mg = (() => { +var yg = (() => { class e12 { _injector; cachedInjectors = /* @__PURE__ */ new Map(); @@ -4876,7 +4876,7 @@ var mg = (() => { if (!n.standalone) return null; if (!this.cachedInjectors.has(n)) { - let r = di(false, n.type), o = r.length > 0 ? Fu([r], this._injector, "") : null; + let r = di(false, n.type), o = r.length > 0 ? Hu([r], this._injector, "") : null; this.cachedInjectors.set(n, o); } return this.cachedInjectors.get(n); @@ -4894,17 +4894,17 @@ var mg = (() => { return e12; })(); function Qs(e12) { - return bl(() => { - let t = Ig(e12), n = A(N({}, t), { decls: e12.decls, vars: e12.vars, template: e12.template, consts: e12.consts || null, ngContentSelectors: e12.ngContentSelectors, onPush: e12.changeDetection === Ss.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e12.dependencies || null, getStandaloneInjector: t.standalone ? (o) => o.get(mg).getOrCreateStandaloneInjector(n) : null, getExternalStyles: null, signals: e12.signals ?? false, data: e12.data || {}, encapsulation: e12.encapsulation || ie.Emulated, styles: e12.styles || Ne, _: null, schemas: e12.schemas || null, tView: null, id: "" }); - t.standalone && Ft("NgStandalone"), Dg(n); + return Tl(() => { + let t = Dg(e12), n = A(N({}, t), { decls: e12.decls, vars: e12.vars, template: e12.template, consts: e12.consts || null, ngContentSelectors: e12.ngContentSelectors, onPush: e12.changeDetection === Ss.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e12.dependencies || null, getStandaloneInjector: t.standalone ? (o) => o.get(yg).getOrCreateStandaloneInjector(n) : null, getExternalStyles: null, signals: e12.signals ?? false, data: e12.data || {}, encapsulation: e12.encapsulation || ie.Emulated, styles: e12.styles || Ne, _: null, schemas: e12.schemas || null, tView: null, id: "" }); + t.standalone && ct("NgStandalone"), wg(n); let r = e12.dependencies; - return n.directiveDefs = vl(r, yg), n.pipeDefs = vl(r, Qa), n.id = wg(n), n; + return n.directiveDefs = Il(r, vg), n.pipeDefs = Il(r, Ka), n.id = bg(n), n; }); } -function yg(e12) { +function vg(e12) { return Ye(e12) || ri(e12); } -function vg(e12, t) { +function Eg(e12, t) { if (e12 == null) return Ke; let n = {}; @@ -4915,7 +4915,7 @@ function vg(e12, t) { } return n; } -function Eg(e12) { +function Ig(e12) { if (e12 == null) return Ke; let t = {}; @@ -4923,14 +4923,14 @@ function Eg(e12) { e12.hasOwnProperty(n) && (t[e12[n]] = n); return t; } -function Ig(e12) { +function Dg(e12) { let t = {}; - return { type: e12.type, providersResolver: null, viewProvidersResolver: null, factory: null, hostBindings: e12.hostBindings || null, hostVars: e12.hostVars || 0, hostAttrs: e12.hostAttrs || null, contentQueries: e12.contentQueries || null, declaredInputs: t, inputConfig: e12.inputs || Ke, exportAs: e12.exportAs || null, standalone: e12.standalone ?? true, signals: e12.signals === true, selectors: e12.selectors || Ne, viewQuery: e12.viewQuery || null, features: e12.features || null, setInput: null, resolveHostDirectives: null, hostDirectives: null, controlDef: null, inputs: vg(e12.inputs, t), outputs: Eg(e12.outputs), debugInfo: null }; + return { type: e12.type, providersResolver: null, viewProvidersResolver: null, factory: null, hostBindings: e12.hostBindings || null, hostVars: e12.hostVars || 0, hostAttrs: e12.hostAttrs || null, contentQueries: e12.contentQueries || null, declaredInputs: t, inputConfig: e12.inputs || Ke, exportAs: e12.exportAs || null, standalone: e12.standalone ?? true, signals: e12.signals === true, selectors: e12.selectors || Ne, viewQuery: e12.viewQuery || null, features: e12.features || null, setInput: null, resolveHostDirectives: null, hostDirectives: null, controlDef: null, inputs: Eg(e12.inputs, t), outputs: Ig(e12.outputs), debugInfo: null }; } -function Dg(e12) { +function wg(e12) { e12.features?.forEach((t) => t(e12)); } -function vl(e12, t) { +function Il(e12, t) { return e12 ? () => { let n = typeof e12 == "function" ? e12() : e12, r = []; for (let o of n) { @@ -4940,23 +4940,23 @@ function vl(e12, t) { return r; } : null; } -function wg(e12) { +function bg(e12) { let t = 0, n = typeof e12.consts == "function" ? "" : e12.consts, r = [e12.selectors, e12.ngContentSelectors, e12.hostVars, e12.hostAttrs, n, e12.vars, e12.decls, e12.encapsulation, e12.standalone, e12.signals, e12.exportAs, JSON.stringify(e12.inputs), JSON.stringify(e12.outputs), Object.getOwnPropertyNames(e12.type.prototype), !!e12.contentQueries, !!e12.viewQuery]; for (let i of r.join("|")) t = Math.imul(31, t) + i.charCodeAt(0) << 0; return t += 2147483648, "c" + t; } -function bg(e12, t, n, r, o, i, s, a) { +function Cg(e12, t, n, r, o, i, s, a) { if (n.firstCreatePass) { e12.mergedAttrs = Fr(e12.mergedAttrs, e12.attrs); let u = e12.tView = Fs(2, e12, o, i, s, n.directiveRegistry, n.pipeRegistry, null, n.schemas, n.consts, null); n.queries !== null && (n.queries.template(n, e12), u.queries = n.queries.embeddedTView(e12)); } - a && (e12.flags |= a), _t(e12, false); - let c = Cg(n, t, e12, r); - fr() && Us(n, t, c, e12), Rt(c, t); - let l = Tu(c, t, c, e12); - t[r + F] = l, Hs(t, l), og(l, e12, t); + a && (e12.flags |= a), Nt(e12, false); + let c = Tg(n, t, e12, r); + fr() && Us(n, t, c, e12), kt(c, t); + let l = _u(c, t, c, e12); + t[r + F] = l, Hs(t, l), ig(l, e12, t); } function Or(e12, t, n, r, o, i, s, a, c, l, u) { let d = n + F, f; @@ -4969,20 +4969,20 @@ function Or(e12, t, n, r, o, i, s, a, c, l, u) { } } else f = t.data[d]; - return bg(f, e12, t, n, r, o, i, c), l != null && gu(e12, f, u), f; + return Cg(f, e12, t, n, r, o, i, c), l != null && yu(e12, f, u), f; } -var Cg = Tg; -function Tg(e12, t, n, r) { +var Tg = Mg; +function Mg(e12, t, n, r) { return pr(true), t[O].createComment(""); } var Ys = new D(""); function Ks(e12) { return !!e12 && typeof e12.then == "function"; } -function ju(e12) { +function Vu(e12) { return !!e12 && typeof e12.subscribe == "function"; } -var Hu = new D(""); +var Bu = new D(""); var Js = (() => { class e12 { resolve; @@ -4992,7 +4992,7 @@ var Js = (() => { donePromise = new Promise((n, r) => { this.resolve = n, this.reject = r; }); - appInits = E(Hu, { optional: true }) ?? []; + appInits = E(Bu, { optional: true }) ?? []; injector = E(ce); constructor() { } @@ -5004,7 +5004,7 @@ var Js = (() => { let i = nr(this.injector, o); if (Ks(i)) n.push(i); - else if (ju(i)) { + else if (Vu(i)) { let s = new Promise((a, c) => { i.subscribe({ complete: a, error: c }); }); @@ -5027,17 +5027,17 @@ var Js = (() => { } return e12; })(); -var Vu = new D(""); -function Bu() { +var $u = new D(""); +function Uu() { To(() => { let e12 = ""; throw new v(600, e12); }); } -function $u(e12) { +function zu(e12) { return e12.isBoundToModule; } -var Mg = 10; +var _g = 10; var vn = (() => { class e12 { _runningTick = false; @@ -5045,7 +5045,7 @@ var vn = (() => { _destroyListeners = []; _views = []; internalErrorHandler = E(rt); - afterRenderManager = E(lu); + afterRenderManager = E(du); zonelessEnabled = E(tn); rootEffectScheduler = E(gr); dirtyFlags = 0; @@ -5062,12 +5062,12 @@ var vn = (() => { } componentTypes = []; components = []; - internalPendingTask = E(Nt); + internalPendingTask = E(At); get isStable() { return this.internalPendingTask.hasPendingTasksObservable.pipe(Fo((n) => !n)); } constructor() { - E(Lt, { optional: true }); + E(jt, { optional: true }); } whenStable() { let n; @@ -5097,7 +5097,7 @@ var vn = (() => { } let c; s ? c = n : c = this._injector.get(Kr).resolveComponentFactory(n), this.componentTypes.push(c.componentType); - let l = $u(c) ? void 0 : this._injector.get(Rr), u = r || c.selector, d = c.create(o, [], u, l), f = d.location.nativeElement, p = d.injector.get(Ys, null); + let l = zu(c) ? void 0 : this._injector.get(Rr), u = r || c.selector, d = c.create(o, [], u, l), f = d.location.nativeElement, p = d.injector.get(Ys, null); return p?.registerApplication(f), d.onDestroy(() => { this.detachView(d.hostView), on(this.components, d), p?.unregisterApplication(f); }), this._loadComponent(d), T(b.BootstrapComponentEnd, d), d; @@ -5122,7 +5122,7 @@ var vn = (() => { synchronize() { this._rendererFactory === null && !this._injector.destroyed && (this._rendererFactory = this._injector.get(st, null, { optional: true })); let n = 0; - for (; this.dirtyFlags !== 0 && n++ < Mg; ) { + for (; this.dirtyFlags !== 0 && n++ < _g; ) { T(b.ChangeDetectionSyncStart); try { this.synchronizeOnce(); @@ -5141,7 +5141,7 @@ var vn = (() => { if (!r && !Xt(o)) continue; let i = r && !this.zonelessEnabled ? 0 : 1; - Du(o, i), n = true; + bu(o, i), n = true; } if (this.dirtyFlags &= -5, this.syncDirtyFlagsWithViews(), this.dirtyFlags & 23) return; @@ -5170,7 +5170,7 @@ var vn = (() => { } catch (o) { this.internalErrorHandler(o); } - this.components.push(n), this._injector.get(Vu, []).forEach((o) => o(n)); + this.components.push(n), this._injector.get($u, []).forEach((o) => o(n)); } ngOnDestroy() { if (!this._destroyed) @@ -5223,7 +5223,7 @@ var vs = class { function Vi(e12, t, n, r, o) { return e12 === n && Object.is(t, r) ? 1 : Object.is(o(e12, t), o(n, r)) ? -1 : 0; } -function _g(e12, t, n, r) { +function Sg(e12, t, n, r) { let o, i, s = 0, a = e12.length - 1, c = void 0; if (Array.isArray(t)) { g(r); @@ -5239,15 +5239,15 @@ function _g(e12, t, n, r) { k < 0 && e12.updateValue(a, h), a--, l--; continue; } - let P = n(s, u), ct = n(a, p), Ht = n(s, d); - if (Object.is(Ht, ct)) { + let P = n(s, u), lt = n(a, p), Vt = n(s, d); + if (Object.is(Vt, lt)) { let po = n(l, h); Object.is(po, P) ? (e12.swap(s, a), e12.updateValue(a, h), l--, a--) : e12.move(a, s), e12.updateValue(s, d), s++; continue; } - if (o ??= new kr(), i ??= Il(e12, s, a, n), Es(e12, o, s, Ht)) + if (o ??= new kr(), i ??= wl(e12, s, a, n), Es(e12, o, s, Vt)) e12.updateValue(s, d), s++, a++; - else if (i.has(Ht)) + else if (i.has(Vt)) o.set(P, e12.detach(s)), a--; else { let po = e12.create(s, t[s]); @@ -5255,7 +5255,7 @@ function _g(e12, t, n, r) { } } for (; s <= l; ) - El(e12, o, n, s, t[s]), s++; + Dl(e12, o, n, s, t[s]), s++; } else if (t != null) { g(r); let l = t[Symbol.iterator](); @@ -5266,7 +5266,7 @@ function _g(e12, t, n, r) { if (p !== 0) p < 0 && e12.updateValue(s, f), s++, u = l.next(); else { - o ??= new kr(), i ??= Il(e12, s, a, n); + o ??= new kr(), i ??= wl(e12, s, a, n); let h = n(s, f); if (Es(e12, o, s, h)) e12.updateValue(s, f), s++, a++, u = l.next(); @@ -5279,7 +5279,7 @@ function _g(e12, t, n, r) { } } for (; !u.done; ) - El(e12, o, n, e12.length, u.value), u = l.next(); + Dl(e12, o, n, e12.length, u.value), u = l.next(); } for (; s <= a; ) e12.destroy(e12.detach(a--)); @@ -5290,7 +5290,7 @@ function _g(e12, t, n, r) { function Es(e12, t, n, r) { return t !== void 0 && t.has(r) ? (e12.attach(n, t.get(r)), t.delete(r), true) : false; } -function El(e12, t, n, r, o) { +function Dl(e12, t, n, r, o) { if (Es(e12, t, r, n(r, o))) e12.updateValue(r, o); else { @@ -5298,7 +5298,7 @@ function El(e12, t, n, r, o) { e12.attach(r, i); } } -function Il(e12, t, n, r) { +function wl(e12, t, n, r) { let o = /* @__PURE__ */ new Set(); for (let i = t; i <= n; i++) o.add(r(i, e12.at(i))); @@ -5340,30 +5340,30 @@ var kr = class { } }; function Xs(e12, t, n, r, o, i, s, a) { - Ft("NgControlFlow"); + ct("NgControlFlow"); let c = M(), l = oe(), u = fe(l.consts, i); return Or(c, l, e12, t, n, r, o, u, 256, s, a), ea; } function ea(e12, t, n, r, o, i, s, a) { - Ft("NgControlFlow"); + ct("NgControlFlow"); let c = M(), l = oe(), u = fe(l.consts, i); return Or(c, l, e12, t, n, r, o, u, 512, s, a), ea; } function ta(e12, t) { - Ft("NgControlFlow"); + ct("NgControlFlow"); let n = M(), r = en(), o = n[r] !== Se ? n[r] : -1, i = o !== -1 ? Pr(n, F + o) : void 0, s = 0; if (yn(n, r, e12)) { let a = g(null); try { - if (i !== void 0 && _u(i, s), e12 !== -1) { - let c = F + e12, l = Pr(n, c), u = bs(n[m], c), d = Nu(l, u, n), f = qr(n, u, t, { dehydratedView: d }); + if (i !== void 0 && Nu(i, s), e12 !== -1) { + let c = F + e12, l = Pr(n, c), u = bs(n[m], c), d = Au(l, u, n), f = qr(n, u, t, { dehydratedView: d }); Zr(l, f, s, an(u, d)); } } finally { g(a); } } else if (i !== void 0) { - let a = Mu(i, s); + let a = Su(i, s); a !== void 0 && (a[x] = t); } } @@ -5390,9 +5390,9 @@ var Ds = class { } }; function eo(e12, t, n, r, o, i, s, a, c, l, u, d, f) { - Ft("NgControlFlow"); - let p = M(), h = oe(), k = c !== void 0, P = M(), ct = a ? s.bind(P[X][x]) : s, Ht = new Ds(k, ct); - P[F + e12] = Ht, Or(p, h, e12 + 1, t, n, r, o, fe(h.consts, i), 256), k && Or(p, h, e12 + 2, c, l, u, d, fe(h.consts, f), 512); + ct("NgControlFlow"); + let p = M(), h = oe(), k = c !== void 0, P = M(), lt = a ? s.bind(P[X][x]) : s, Vt = new Ds(k, lt); + P[F + e12] = Vt, Or(p, h, e12 + 1, t, n, r, o, fe(h.consts, i), 256), k && Or(p, h, e12 + 2, c, l, u, d, fe(h.consts, f), 512); } var ws = class extends vs { lContainer; @@ -5410,11 +5410,11 @@ var ws = class extends vs { return this.getLView(t)[x].$implicit; } attach(t, n) { - let r = n[It]; - this.needsIndexUpdate ||= t !== this.length, Zr(this.lContainer, n, t, an(this.templateTNode, r)), Sg(this.lContainer, t); + let r = n[wt]; + this.needsIndexUpdate ||= t !== this.length, Zr(this.lContainer, n, t, an(this.templateTNode, r)), Ng(this.lContainer, t); } detach(t) { - return this.needsIndexUpdate ||= t !== this.length - 1, Ng(this.lContainer, t), xg(this.lContainer, t); + return this.needsIndexUpdate ||= t !== this.length - 1, xg(this.lContainer, t), Ag(this.lContainer, t); } create(t, n) { let r = ss(this.lContainer, this.templateTNode.tView.ssrId); @@ -5435,7 +5435,7 @@ var ws = class extends vs { this.getLView(t)[x].$index = t; } getLView(t) { - return Ag(this.lContainer, t); + return Rg(this.lContainer, t); } }; function to(e12) { @@ -5448,15 +5448,15 @@ function to(e12) { } else i.liveCollection.reset(); let c = i.liveCollection; - if (_g(c, e12, i.trackByFn, t), c.updateIndexes(), i.hasEmptyBlock) { + if (Sg(c, e12, i.trackByFn, t), c.updateIndexes(), i.hasEmptyBlock) { let l = en(), u = c.length === 0; if (yn(r, l, u)) { let d = n + 2, f = Pr(r, d); if (u) { - let p = bs(o, d), h = Nu(f, p, r), k = qr(r, p, void 0, { dehydratedView: h }); + let p = bs(o, d), h = Au(f, p, r), k = qr(r, p, void 0, { dehydratedView: h }); Zr(f, k, 0, an(p, h)); } else - o.firstUpdatePass && bh(f), _u(f, 0); + o.firstUpdatePass && Ch(f), Nu(f, 0); } } } finally { @@ -5466,79 +5466,79 @@ function to(e12) { function Pr(e12, t) { return e12[t]; } -function Sg(e12, t) { +function Ng(e12, t) { if (e12.length <= S) return; let n = S + t, r = e12[n], o = r ? r[ke] : void 0; if (r && o && o.detachedLeaveAnimationFns && o.detachedLeaveAnimationFns.length > 0) { let i = r[De]; - Sp(i, o), it.delete(r[we]), o.detachedLeaveAnimationFns = void 0; + Np(i, o), it.delete(r[we]), o.detachedLeaveAnimationFns = void 0; } } -function Ng(e12, t) { +function xg(e12, t) { if (e12.length <= S) return; let n = S + t, r = e12[n], o = r ? r[ke] : void 0; o && o.leave && o.leave.size > 0 && (o.detachedLeaveAnimationFns = []); } -function xg(e12, t) { +function Ag(e12, t) { return ln(e12, t); } -function Ag(e12, t) { - return Mu(e12, t); +function Rg(e12, t) { + return Su(e12, t); } function bs(e12, t) { return ir(e12, t); } function j(e12, t, n, r) { - let o = M(), i = o[m], s = e12 + F, a = i.firstCreatePass ? Hh(s, i, 2, t, n, r) : i.data[s]; - return Xp(a, o, e12, t, Rg), r != null && gu(o, a), j; + let o = M(), i = o[m], s = e12 + F, a = i.firstCreatePass ? Vh(s, i, 2, t, n, r) : i.data[s]; + return eh(a, o, e12, t, Og), r != null && yu(o, a), j; } function B() { - let e12 = pe(), t = eh(e12); - return Dc(t) && wc(), Ec(), B; + let e12 = pe(), t = th(e12); + return bc(t) && Cc(), Dc(), B; } -var Rg = (e12, t, n, r, o) => (pr(true), nu(t[O], r, Lc())); +var Og = (e12, t, n, r, o) => (pr(true), ou(t[O], r, jc())); function me(e12, t, n) { let r = M(), o = en(); if (yn(r, o, t)) { - let i = oe(), s = Pc(); - Zp(s, r, e12, t, r[O], n); + let i = oe(), s = Fc(); + Qp(s, r, e12, t, r[O], n); } return me; } var En = "en-US"; -var Og = En; -function Uu(e12) { - typeof e12 == "string" && (Og = e12.toLowerCase().replace(/_/g, "-")); +var kg = En; +function Wu(e12) { + typeof e12 == "string" && (kg = e12.toLowerCase().replace(/_/g, "-")); } function Ve(e12, t, n) { let r = M(), o = oe(), i = pe(); - return (i.type & 3 || n) && Bh(i, o, r, n, r[O], e12, t, Vh(i, r, t)), Ve; + return (i.type & 3 || n) && $h(i, o, r, n, r[O], e12, t, Bh(i, r, t)), Ve; } function na(e12 = 1) { - return kc(e12); + return Lc(e12); } function no(e12, t, n) { - return fg(e12, t, n), no; + return pg(e12, t, n), no; } function ra(e12) { let t = M(), n = oe(), r = _i(); lr(r + 1); let o = Zs(n, r); - if (e12.dirty && fc(t) === ((o.metadata.flags & 2) === 2)) { + if (e12.dirty && hc(t) === ((o.metadata.flags & 2) === 2)) { if (o.matches === null) e12.reset([]); else { - let i = gg(t, r); - e12.reset(i, Ff), e12.notifyOnChanges(); + let i = mg(t, r); + e12.reset(i, jf), e12.notifyOnChanges(); } return true; } return false; } function oa() { - return ug(M(), _i()); + return dg(M(), _i()); } function Er(e12, t) { return e12 << 17 | t << 2; @@ -5546,106 +5546,106 @@ function Er(e12, t) { function at(e12) { return e12 >> 17 & 32767; } -function kg(e12) { +function Pg(e12) { return (e12 & 2) == 2; } -function Pg(e12, t) { +function Lg(e12, t) { return e12 & 131071 | t << 17; } function Cs(e12) { return e12 | 2; } -function kt(e12) { +function Lt(e12) { return (e12 & 131068) >> 2; } function Bi(e12, t) { return e12 & -131069 | t << 2; } -function Lg(e12) { +function Fg(e12) { return (e12 & 1) === 1; } function Ts(e12) { return e12 | 1; } -function Fg(e12, t, n, r, o, i) { - let s = i ? t.classBindings : t.styleBindings, a = at(s), c = kt(s); +function jg(e12, t, n, r, o, i) { + let s = i ? t.classBindings : t.styleBindings, a = at(s), c = Lt(s); e12[r] = n; let l = false, u; if (Array.isArray(n)) { let d = n; - u = d[1], (u === null || Et(d, u) > 0) && (l = true); + u = d[1], (u === null || It(d, u) > 0) && (l = true); } else u = n; if (o) if (c !== 0) { let f = at(e12[a + 1]); - e12[r + 1] = Er(f, a), f !== 0 && (e12[f + 1] = Bi(e12[f + 1], r)), e12[a + 1] = Pg(e12[a + 1], r); + e12[r + 1] = Er(f, a), f !== 0 && (e12[f + 1] = Bi(e12[f + 1], r)), e12[a + 1] = Lg(e12[a + 1], r); } else e12[r + 1] = Er(a, 0), a !== 0 && (e12[a + 1] = Bi(e12[a + 1], r)), a = r; else e12[r + 1] = Er(c, 0), a === 0 ? a = r : e12[c + 1] = Bi(e12[c + 1], r), c = r; - l && (e12[r + 1] = Cs(e12[r + 1])), Dl(e12, u, r, true), Dl(e12, u, r, false), jg(t, u, e12, r, i), s = Er(a, c), i ? t.classBindings = s : t.styleBindings = s; + l && (e12[r + 1] = Cs(e12[r + 1])), bl(e12, u, r, true), bl(e12, u, r, false), Hg(t, u, e12, r, i), s = Er(a, c), i ? t.classBindings = s : t.styleBindings = s; } -function jg(e12, t, n, r, o) { +function Hg(e12, t, n, r, o) { let i = o ? e12.residualClasses : e12.residualStyles; - i != null && typeof t == "string" && Et(i, t) >= 0 && (n[r + 1] = Ts(n[r + 1])); + i != null && typeof t == "string" && It(i, t) >= 0 && (n[r + 1] = Ts(n[r + 1])); } -function Dl(e12, t, n, r) { - let o = e12[n + 1], i = t === null, s = r ? at(o) : kt(o), a = false; +function bl(e12, t, n, r) { + let o = e12[n + 1], i = t === null, s = r ? at(o) : Lt(o), a = false; for (; s !== 0 && (a === false || i); ) { let c = e12[s], l = e12[s + 1]; - Hg(c, t) && (a = true, e12[s + 1] = r ? Ts(l) : Cs(l)), s = r ? at(l) : kt(l); + Vg(c, t) && (a = true, e12[s + 1] = r ? Ts(l) : Cs(l)), s = r ? at(l) : Lt(l); } a && (e12[n + 1] = r ? Cs(o) : Ts(o)); } -function Hg(e12, t) { - return e12 === null || t == null || (Array.isArray(e12) ? e12[1] : e12) === t ? true : Array.isArray(e12) && typeof t == "string" ? Et(e12, t) >= 0 : false; +function Vg(e12, t) { + return e12 === null || t == null || (Array.isArray(e12) ? e12[1] : e12) === t ? true : Array.isArray(e12) && typeof t == "string" ? It(e12, t) >= 0 : false; } function ro(e12, t) { - return Vg(e12, t, null, true), ro; + return Bg(e12, t, null, true), ro; } -function Vg(e12, t, n, r) { - let o = M(), i = oe(), s = Mc(2); - if (i.firstUpdatePass && $g(i, e12, s, r), t !== Se && yn(o, s, t)) { +function Bg(e12, t, n, r) { + let o = M(), i = oe(), s = Sc(2); + if (i.firstUpdatePass && Ug(i, e12, s, r), t !== Se && yn(o, s, t)) { let a = i.data[Fe()]; - qg(i, a, o, o[O], e12, o[s + 1] = Zg(t, n), r, s); + Zg(i, a, o, o[O], e12, o[s + 1] = Qg(t, n), r, s); } } -function Bg(e12, t) { +function $g(e12, t) { return t >= e12.expandoStartIndex; } -function $g(e12, t, n, r) { +function Ug(e12, t, n, r) { let o = e12.data; if (o[n + 1] === null) { - let i = o[Fe()], s = Bg(e12, n); - Qg(i, r) && t === null && !s && (t = false), t = Ug(o, i, t, r), Fg(o, i, t, n, s, r); + let i = o[Fe()], s = $g(e12, n); + Yg(i, r) && t === null && !s && (t = false), t = zg(o, i, t, r), jg(o, i, t, n, s, r); } } -function Ug(e12, t, n, r) { - let o = xc(e12), i = r ? t.residualClasses : t.residualStyles; +function zg(e12, t, n, r) { + let o = Rc(e12), i = r ? t.residualClasses : t.residualStyles; if (o === null) (r ? t.classBindings : t.styleBindings) === 0 && (n = $i(null, e12, t, n, r), n = pn(n, t.attrs, r), i = null); else { let s = t.directiveStylingLast; if (s === -1 || e12[s] !== o) if (n = $i(o, e12, t, n, r), i === null) { - let c = zg(e12, t, r); - c !== void 0 && Array.isArray(c) && (c = $i(null, e12, t, c[1], r), c = pn(c, t.attrs, r), Wg(e12, t, r, c)); + let c = Wg(e12, t, r); + c !== void 0 && Array.isArray(c) && (c = $i(null, e12, t, c[1], r), c = pn(c, t.attrs, r), Gg(e12, t, r, c)); } else - i = Gg(e12, t, r); + i = qg(e12, t, r); } return i !== void 0 && (r ? t.residualClasses = i : t.residualStyles = i), n; } -function zg(e12, t, n) { +function Wg(e12, t, n) { let r = n ? t.classBindings : t.styleBindings; - if (kt(r) !== 0) + if (Lt(r) !== 0) return e12[at(r)]; } -function Wg(e12, t, n, r) { +function Gg(e12, t, n, r) { let o = n ? t.classBindings : t.styleBindings; e12[at(o)] = r; } -function Gg(e12, t, n) { +function qg(e12, t, n) { let r, o = t.directiveEnd; for (let i = 1 + t.directiveStylingLast; i < o; i++) { let s = e12[i].hostAttrs; @@ -5664,21 +5664,21 @@ function pn(e12, t, n) { if (t !== null) for (let i = 0; i < t.length; i++) { let s = t[i]; - typeof s == "number" ? o = s : o === r && (Array.isArray(e12) || (e12 = e12 === void 0 ? [] : ["", e12]), nc(e12, s, n ? true : t[++i])); + typeof s == "number" ? o = s : o === r && (Array.isArray(e12) || (e12 = e12 === void 0 ? [] : ["", e12]), oc(e12, s, n ? true : t[++i])); } return e12 === void 0 ? null : e12; } -function qg(e12, t, n, r, o, i, s, a) { +function Zg(e12, t, n, r, o, i, s, a) { if (!(t.type & 3)) return; - let c = e12.data, l = c[a + 1], u = Lg(l) ? wl(c, t, n, o, kt(l), s) : void 0; + let c = e12.data, l = c[a + 1], u = Fg(l) ? Cl(c, t, n, o, Lt(l), s) : void 0; if (!Lr(u)) { - Lr(i) || kg(l) && (i = wl(c, null, n, o, a, s)); + Lr(i) || Pg(l) && (i = Cl(c, null, n, o, a, s)); let d = vi(Fe(), n); - Up(r, s, d, o, i); + zp(r, s, d, o, i); } } -function wl(e12, t, n, r, o, i) { +function Cl(e12, t, n, r, o, i) { let s = t === null, a; for (; o > 0; ) { let c = e12[o], l = Array.isArray(c), u = l ? c[1] : c, d = u === null, f = n[o + 1]; @@ -5687,7 +5687,7 @@ function wl(e12, t, n, r, o, i) { if (l && !Lr(p) && (p = tr(c, r)), Lr(p) && (a = p, s)) return a; let h = e12[o + 1]; - o = s ? at(h) : kt(h); + o = s ? at(h) : Lt(h); } if (t !== null) { let c = i ? t.residualClasses : t.residualStyles; @@ -5698,43 +5698,43 @@ function wl(e12, t, n, r, o, i) { function Lr(e12) { return e12 !== void 0; } -function Zg(e12, t) { +function Qg(e12, t) { return e12 == null || e12 === "" || (typeof t == "string" ? e12 = e12 + t : typeof e12 == "object" && (e12 = Qn(Me(e12)))), e12; } -function Qg(e12, t) { +function Yg(e12, t) { return (e12.flags & (t ? 8 : 16)) !== 0; } function se(e12, t = "") { - let n = M(), r = oe(), o = e12 + F, i = r.firstCreatePass ? Qr(r, o, 1, t, null) : r.data[o], s = Yg(r, n, i, t); - n[o] = s, fr() && Us(r, n, s, i), _t(i, false); + let n = M(), r = oe(), o = e12 + F, i = r.firstCreatePass ? Qr(r, o, 1, t, null) : r.data[o], s = Kg(r, n, i, t); + n[o] = s, fr() && Us(r, n, s, i), Nt(i, false); } -var Yg = (e12, t, n, r) => (pr(true), fp(t[O], r)); -function Kg(e12, t, n, r = "") { +var Kg = (e12, t, n, r) => (pr(true), pp(t[O], r)); +function Jg(e12, t, n, r = "") { return yn(e12, en(), n) ? t + ii(n) + r : Se; } function Be(e12) { return ia("", e12), Be; } function ia(e12, t, n) { - let r = M(), o = Kg(r, e12, t, n); - return o !== Se && Jg(r, Fe(), o), ia; + let r = M(), o = Jg(r, e12, t, n); + return o !== Se && Xg(r, Fe(), o), ia; } -function Jg(e12, t, n) { +function Xg(e12, t, n) { let r = vi(t, e12); - pp(e12[O], r, n); + hp(e12[O], r, n); } -var zu = (() => { +var Gu = (() => { class e12 { applicationErrorHandler = E(rt); appRef = E(vn); - taskService = E(Nt); + taskService = E(At); ngZone = E(Y); zonelessEnabled = E(tn); - tracing = E(Lt, { optional: true }); + tracing = E(jt, { optional: true }); zoneIsDefined = typeof Zone < "u" && !!Zone.root.run; schedulerTickApplyArgs = [{ data: { __scheduler_tick__: true } }]; subscriptions = new H(); - angularZoneId = this.zoneIsDefined ? this.ngZone._inner?.get(Gt) : null; + angularZoneId = this.zoneIsDefined ? this.ngZone._inner?.get(qt) : null; scheduleInRootZone = !this.zonelessEnabled && this.zoneIsDefined && (E(ki, { optional: true }) ?? false); cancelScheduledCallback = null; useMicrotaskScheduler = false; @@ -5795,11 +5795,11 @@ var zu = (() => { } if (this.appRef.tracingSnapshot = this.tracing?.snapshot(this.appRef.tracingSnapshot) ?? null, !this.shouldScheduleTick()) return; - let r = this.useMicrotaskScheduler ? Bc : xi; + let r = this.useMicrotaskScheduler ? Uc : xi; this.pendingRenderTaskId = this.taskService.add(), this.scheduleInRootZone ? this.cancelScheduledCallback = Zone.root.run(() => r(() => this.tick())) : this.cancelScheduledCallback = this.ngZone.runOutsideAngular(() => r(() => this.tick())); } shouldScheduleTick() { - return !(this.appRef.destroyed || this.pendingRenderTaskId !== null || this.runningTick || this.appRef._runningTick || !this.zonelessEnabled && this.zoneIsDefined && Zone.current.get(Gt + this.angularZoneId)); + return !(this.appRef.destroyed || this.pendingRenderTaskId !== null || this.runningTick || this.appRef._runningTick || !this.zonelessEnabled && this.zoneIsDefined && Zone.current.get(qt + this.angularZoneId)); } tick() { if (this.runningTick || this.appRef.destroyed) @@ -5836,22 +5836,25 @@ var zu = (() => { } return e12; })(); -function Wu() { - return [{ provide: Ze, useExisting: zu }, { provide: Y, useClass: qt }, { provide: tn, useValue: true }]; +function sa() { + return ct("NgZoneless"), Dt([...aa(), []]); } -function Xg() { +function aa() { + return [{ provide: Ze, useExisting: Gu }, { provide: Y, useClass: Zt }, { provide: tn, useValue: true }]; +} +function em() { return typeof $localize < "u" && $localize.locale || En; } -var sa = new D("", { factory: () => E(sa, { optional: true, skipSelf: true }) || Xg() }); +var ca = new D("", { factory: () => E(ca, { optional: true, skipSelf: true }) || em() }); function $e(e12, t) { return On(e12, t?.equal); } -var aa = new D(""); -var lm = new D(""); +var la = new D(""); +var um = new D(""); function In(e12) { return !e12.moduleRef; } -function um(e12) { +function dm(e12) { let t = In(e12) ? e12.r3Injector : e12.moduleRef.injector, n = t.get(Y); return n.run(() => { In(e12) ? e12.r3Injector.resolveInjectorInitializers() : e12.moduleRef.resolveInjectorInitializers(); @@ -5859,35 +5862,35 @@ function um(e12) { if (n.runOutsideAngular(() => { o = n.onError.subscribe({ next: r }); }), In(e12)) { - let i = () => t.destroy(), s = e12.platformInjector.get(aa); + let i = () => t.destroy(), s = e12.platformInjector.get(la); s.add(i), t.onDestroy(() => { o.unsubscribe(), s.delete(i); }); } else { - let i = () => e12.moduleRef.destroy(), s = e12.platformInjector.get(aa); + let i = () => e12.moduleRef.destroy(), s = e12.platformInjector.get(la); s.add(i), e12.moduleRef.onDestroy(() => { on(e12.allPlatformModules, e12.moduleRef), o.unsubscribe(), s.delete(i); }); } - return fm(r, n, () => { - let i = t.get(Nt), s = i.add(), a = t.get(Js); + return pm(r, n, () => { + let i = t.get(At), s = i.add(), a = t.get(Js); return a.runInitializers(), a.donePromise.then(() => { - let c = t.get(sa, En); - if (Uu(c || En), !t.get(lm, true)) + let c = t.get(ca, En); + if (Wu(c || En), !t.get(um, true)) return In(e12) ? t.get(vn) : (e12.allPlatformModules.push(e12.moduleRef), e12.moduleRef); if (In(e12)) { let u = t.get(vn); return e12.rootComponent !== void 0 && u.bootstrap(e12.rootComponent), u; } else - return dm?.(e12.moduleRef, e12.allPlatformModules), e12.moduleRef; + return fm?.(e12.moduleRef, e12.allPlatformModules), e12.moduleRef; }).finally(() => { i.remove(s); }); }); }); } -var dm; -function fm(e12, t, n) { +var fm; +function pm(e12, t, n) { try { let r = n(); return Ks(r) ? r.catch((o) => { @@ -5898,45 +5901,45 @@ function fm(e12, t, n) { } } var oo = null; -function pm(e12 = [], t) { - return ce.create({ name: t, providers: [{ provide: Yt, useValue: "platform" }, { provide: aa, useValue: /* @__PURE__ */ new Set([() => oo = null]) }, ...e12] }); +function hm(e12 = [], t) { + return ce.create({ name: t, providers: [{ provide: Yt, useValue: "platform" }, { provide: la, useValue: /* @__PURE__ */ new Set([() => oo = null]) }, ...e12] }); } -function hm(e12 = []) { +function gm(e12 = []) { if (oo) return oo; - let t = pm(e12); - return oo = t, Bu(), gm(t), t; + let t = hm(e12); + return oo = t, Uu(), mm(t), t; } -function gm(e12) { +function mm(e12) { let t = e12.get(Hr, null); nr(e12, () => { t?.forEach((n) => n()); }); } -var mm = 1e4; -var VM = mm - 1e3; -function qu(e12) { +var ym = 1e4; +var VM = ym - 1e3; +function Zu(e12) { let { rootComponent: t, appProviders: n, platformProviders: r, platformRef: o } = e12; T(b.BootstrapApplicationStart); try { - let i = o?.injector ?? hm(r), s = [Wu(), Uc, ...n || []], a = new fn({ providers: s, parent: i, debugName: "", runEnvironmentInitializers: false }); - return um({ r3Injector: a.injector, platformInjector: i, rootComponent: t }); + let i = o?.injector ?? gm(r), s = [aa(), Wc, ...n || []], a = new fn({ providers: s, parent: i, debugName: "", runEnvironmentInitializers: false }); + return dm({ r3Injector: a.injector, platformInjector: i, rootComponent: t }); } catch (i) { return Promise.reject(i); } finally { T(b.BootstrapApplicationEnd); } } -var Zu = null; -function jt() { - return Zu; +var Qu = null; +function Ht() { + return Qu; } -function ca(e12) { - Zu ??= e12; +function ua(e12) { + Qu ??= e12; } var wn = class { }; -function la(e12, t) { +function da(e12, t) { t = encodeURIComponent(t); for (let n of e12.split(";")) { let r = n.indexOf("="), [o, i] = r == -1 ? [n, ""] : [n.slice(0, r), n.slice(r + 1)]; @@ -5947,7 +5950,7 @@ function la(e12, t) { } var bn = class { }; -var Qu = "browser"; +var Yu = "browser"; var Cn = class { _doc; constructor(t) { @@ -5977,7 +5980,7 @@ var io = (() => { return e12; })(); var co = new D(""); -var pa = (() => { +var ga = (() => { class e12 { _zone; _plugins; @@ -6012,26 +6015,26 @@ var pa = (() => { } return e12; })(); -var ua = "ng-app-id"; -function Yu(e12) { +var fa = "ng-app-id"; +function Ku(e12) { for (let t of e12) t.remove(); } -function Ku(e12, t) { +function Ju(e12, t) { let n = t.createElement("style"); return n.textContent = e12, n; } -function ym(e12, t, n, r) { - let o = e12.head?.querySelectorAll(`style[${ua}="${t}"],link[${ua}="${t}"]`); +function vm(e12, t, n, r) { + let o = e12.head?.querySelectorAll(`style[${fa}="${t}"],link[${fa}="${t}"]`); if (o) for (let i of o) - i.removeAttribute(ua), i instanceof HTMLLinkElement ? r.set(i.href.slice(i.href.lastIndexOf("/") + 1), { usage: 0, elements: [i] }) : i.textContent && n.set(i.textContent, { usage: 0, elements: [i] }); + i.removeAttribute(fa), i instanceof HTMLLinkElement ? r.set(i.href.slice(i.href.lastIndexOf("/") + 1), { usage: 0, elements: [i] }) : i.textContent && n.set(i.textContent, { usage: 0, elements: [i] }); } -function fa(e12, t) { +function ha(e12, t) { let n = t.createElement("link"); return n.setAttribute("rel", "stylesheet"), n.setAttribute("href", e12), n; } -var ha = (() => { +var ma = (() => { class e12 { doc; appId; @@ -6040,12 +6043,12 @@ var ha = (() => { external = /* @__PURE__ */ new Map(); hosts = /* @__PURE__ */ new Set(); constructor(n, r, o, i = {}) { - this.doc = n, this.appId = r, this.nonce = o, ym(n, r, this.inline, this.external), this.hosts.add(n.head); + this.doc = n, this.appId = r, this.nonce = o, vm(n, r, this.inline, this.external), this.hosts.add(n.head); } addStyles(n, r) { for (let o of n) - this.addUsage(o, this.inline, Ku); - r?.forEach((o) => this.addUsage(o, this.external, fa)); + this.addUsage(o, this.inline, Ju); + r?.forEach((o) => this.addUsage(o, this.external, ha)); } removeStyles(n, r) { for (let o of n) @@ -6058,19 +6061,19 @@ var ha = (() => { } removeUsage(n, r) { let o = r.get(n); - o && (o.usage--, o.usage <= 0 && (Yu(o.elements), r.delete(n))); + o && (o.usage--, o.usage <= 0 && (Ku(o.elements), r.delete(n))); } ngOnDestroy() { for (let [, { elements: n }] of [...this.inline, ...this.external]) - Yu(n); + Ku(n); this.hosts.clear(); } addHost(n) { this.hosts.add(n); for (let [r, { elements: o }] of this.inline) - o.push(this.addElement(n, Ku(r, this.doc))); + o.push(this.addElement(n, Ju(r, this.doc))); for (let [r, { elements: o }] of this.external) - o.push(this.addElement(n, fa(r, this.doc))); + o.push(this.addElement(n, ha(r, this.doc))); } removeHost(n) { this.hosts.delete(n); @@ -6085,23 +6088,23 @@ var ha = (() => { } return e12; })(); -var da = { svg: "http://www.w3.org/2000/svg", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/", math: "http://www.w3.org/1998/Math/MathML" }; -var ga = /%COMP%/g; -var Xu = "%COMP%"; -var vm = `_nghost-${Xu}`; -var Em = `_ngcontent-${Xu}`; -var Im = true; -var Dm = new D("", { factory: () => Im }); -function wm(e12) { - return Em.replace(ga, e12); -} +var pa = { svg: "http://www.w3.org/2000/svg", xhtml: "http://www.w3.org/1999/xhtml", xlink: "http://www.w3.org/1999/xlink", xml: "http://www.w3.org/XML/1998/namespace", xmlns: "http://www.w3.org/2000/xmlns/", math: "http://www.w3.org/1998/Math/MathML" }; +var ya = /%COMP%/g; +var ed = "%COMP%"; +var Em = `_nghost-${ed}`; +var Im = `_ngcontent-${ed}`; +var Dm = true; +var wm = new D("", { factory: () => Dm }); function bm(e12) { - return vm.replace(ga, e12); + return Im.replace(ya, e12); } -function ed(e12, t) { - return t.map((n) => n.replace(ga, e12)); +function Cm(e12) { + return Em.replace(ya, e12); } -var ma = (() => { +function td(e12, t) { + return t.map((n) => n.replace(ya, e12)); +} +var va = (() => { class e12 { eventManager; sharedStylesHost; @@ -6149,7 +6152,7 @@ var ma = (() => { this.rendererByCompId.delete(n); } static \u0275fac = function(r) { - return new (r || e12)(w(pa), w(ha), w(jr), w(Dm), w(U), w(Y), w(Vr), w(Lt, 8)); + return new (r || e12)(w(ga), w(ma), w(jr), w(wm), w(U), w(Y), w(Vr), w(jt, 8)); }; static \u0275prov = _({ token: e12, factory: e12.\u0275fac }); } @@ -6169,7 +6172,7 @@ var Tn = class { } destroyNode = null; createElement(t, n) { - return n ? this.doc.createElementNS(da[n] || n, t) : this.doc.createElement(t); + return n ? this.doc.createElementNS(pa[n] || n, t) : this.doc.createElement(t); } createComment(t) { return this.doc.createComment(t); @@ -6178,10 +6181,10 @@ var Tn = class { return this.doc.createTextNode(t); } appendChild(t, n) { - (Ju(t) ? t.content : t).appendChild(n); + (Xu(t) ? t.content : t).appendChild(n); } insertBefore(t, n, r) { - t && (Ju(t) ? t.content : t).insertBefore(n, r); + t && (Xu(t) ? t.content : t).insertBefore(n, r); } removeChild(t, n) { n.remove(); @@ -6201,14 +6204,14 @@ var Tn = class { setAttribute(t, n, r, o) { if (o) { n = o + ":" + n; - let i = da[o]; + let i = pa[o]; i ? t.setAttributeNS(i, n, r) : t.setAttribute(n, r); } else t.setAttribute(n, r); } removeAttribute(t, n, r) { if (r) { - let o = da[r]; + let o = pa[r]; o ? t.removeAttributeNS(o, n) : t.removeAttribute(`${r}:${n}`); } else t.removeAttribute(n); @@ -6232,7 +6235,7 @@ var Tn = class { t.nodeValue = n; } listen(t, n, r, o) { - if (typeof t == "string" && (t = jt().getGlobalEventTarget(this.doc, t), !t)) + if (typeof t == "string" && (t = Ht().getGlobalEventTarget(this.doc, t), !t)) throw new v(5102, false); let i = this.decoratePreventDefault(r); return this.tracingService?.wrapEventListener && (i = this.tracingService.wrapEventListener(t, n, i)), this.eventManager.addEventListener(t, n, i, o); @@ -6245,7 +6248,7 @@ var Tn = class { }; } }; -function Ju(e12) { +function Xu(e12) { return e12.tagName === "TEMPLATE" && e12.content !== void 0; } var so = class extends Tn { @@ -6255,7 +6258,7 @@ var so = class extends Tn { constructor(t, n, r, o, i, s, a, c) { super(t, o, i, a), this.hostEl = n, this.sharedStylesHost = c, this.shadowRoot = n.attachShadow({ mode: "open" }), this.sharedStylesHost && this.sharedStylesHost.addHost(this.shadowRoot); let l = r.styles; - l = ed(r.id, l); + l = td(r.id, l); for (let d of l) { let f = document.createElement("style"); s && f.setAttribute("nonce", s), f.textContent = d, this.shadowRoot.appendChild(f); @@ -6263,7 +6266,7 @@ var so = class extends Tn { let u = r.getExternalStyles?.(); if (u) for (let d of u) { - let f = fa(d, o); + let f = ha(d, o); s && f.setAttribute("nonce", s), this.shadowRoot.appendChild(f); } } @@ -6294,7 +6297,7 @@ var Mn = class extends Tn { constructor(t, n, r, o, i, s, a, c) { super(t, i, s, a), this.sharedStylesHost = n, this.removeStylesOnCompDestroy = o; let l = r.styles; - this.styles = c ? ed(c, l) : l, this.styleUrls = r.getExternalStyles?.(c); + this.styles = c ? td(c, l) : l, this.styleUrls = r.getExternalStyles?.(c); } applyStyles() { this.sharedStylesHost.addStyles(this.styles, this.styleUrls); @@ -6308,7 +6311,7 @@ var ao = class extends Mn { hostAttr; constructor(t, n, r, o, i, s, a, c) { let l = o + "-" + r.id; - super(t, n, r, i, s, a, c, l), this.contentAttr = wm(l), this.hostAttr = bm(l); + super(t, n, r, i, s, a, c, l), this.contentAttr = bm(l), this.hostAttr = Cm(l); } applyToHost(t) { this.applyStyles(), this.setAttribute(t, this.hostAttr, ""); @@ -6321,7 +6324,7 @@ var ao = class extends Mn { var lo = class e9 extends wn { supportsDOMEvents = true; static makeCurrent() { - ca(new e9()); + ua(new e9()); } onAndCancel(t, n, r, o) { return t.addEventListener(n, r, o), () => { @@ -6353,8 +6356,8 @@ var lo = class e9 extends wn { return n === "window" ? window : n === "document" ? t : n === "body" ? t.body : null; } getBaseHref(t) { - let n = Cm(); - return n == null ? null : Tm(n); + let n = Tm(); + return n == null ? null : Mm(n); } resetBaseElement() { _n = null; @@ -6363,17 +6366,17 @@ var lo = class e9 extends wn { return window.navigator.userAgent; } getCookie(t) { - return la(document.cookie, t); + return da(document.cookie, t); } }; var _n = null; -function Cm() { +function Tm() { return _n = _n || document.head.querySelector("base"), _n ? _n.getAttribute("href") : null; } -function Tm(e12) { +function Mm(e12) { return new URL(e12, document.baseURI).pathname; } -var Mm = (() => { +var _m = (() => { class e12 { build() { return new XMLHttpRequest(); @@ -6385,10 +6388,10 @@ var Mm = (() => { } return e12; })(); -var td = ["alt", "control", "meta", "shift"]; -var _m = { "\b": "Backspace", " ": "Tab", "\x7F": "Delete", "\x1B": "Escape", Del: "Delete", Esc: "Escape", Left: "ArrowLeft", Right: "ArrowRight", Up: "ArrowUp", Down: "ArrowDown", Menu: "ContextMenu", Scroll: "ScrollLock", Win: "OS" }; -var Sm = { alt: (e12) => e12.altKey, control: (e12) => e12.ctrlKey, meta: (e12) => e12.metaKey, shift: (e12) => e12.shiftKey }; -var nd = (() => { +var nd = ["alt", "control", "meta", "shift"]; +var Sm = { "\b": "Backspace", " ": "Tab", "\x7F": "Delete", "\x1B": "Escape", Del: "Delete", Esc: "Escape", Left: "ArrowLeft", Right: "ArrowRight", Up: "ArrowUp", Down: "ArrowDown", Menu: "ContextMenu", Scroll: "ScrollLock", Win: "OS" }; +var Nm = { alt: (e12) => e12.altKey, control: (e12) => e12.ctrlKey, meta: (e12) => e12.metaKey, shift: (e12) => e12.shiftKey }; +var rd = (() => { class e12 extends Cn { constructor(n) { super(n); @@ -6398,14 +6401,14 @@ var nd = (() => { } addEventListener(n, r, o, i) { let s = e12.parseEventName(r), a = e12.eventCallback(s.fullKey, o, this.manager.getZone()); - return this.manager.getZone().runOutsideAngular(() => jt().onAndCancel(n, s.domEventName, a, i)); + return this.manager.getZone().runOutsideAngular(() => Ht().onAndCancel(n, s.domEventName, a, i)); } static parseEventName(n) { let r = n.toLowerCase().split("."), o = r.shift(); if (r.length === 0 || !(o === "keydown" || o === "keyup")) return null; let i = e12._normalizeKey(r.pop()), s = "", a = r.indexOf("code"); - if (a > -1 && (r.splice(a, 1), s = "code."), td.forEach((l) => { + if (a > -1 && (r.splice(a, 1), s = "code."), nd.forEach((l) => { let u = r.indexOf(l); u > -1 && (r.splice(u, 1), s += l + "."); }), s += i, r.length != 0 || i.length === 0) @@ -6414,10 +6417,10 @@ var nd = (() => { return c.domEventName = o, c.fullKey = s, c; } static matchEventFullKeyCode(n, r) { - let o = _m[n.key] || n.key, i = ""; - return r.indexOf("code.") > -1 && (o = n.code, i = "code."), o == null || !o ? false : (o = o.toLowerCase(), o === " " ? o = "space" : o === "." && (o = "dot"), td.forEach((s) => { + let o = Sm[n.key] || n.key, i = ""; + return r.indexOf("code.") > -1 && (o = n.code, i = "code."), o == null || !o ? false : (o = o.toLowerCase(), o === " " ? o = "space" : o === "." && (o = "dot"), nd.forEach((s) => { if (s !== o) { - let a = Sm[s]; + let a = Nm[s]; a(n) && (i += s + "."); } }), i += o, i === r); @@ -6437,38 +6440,38 @@ var nd = (() => { } return e12; })(); -async function ya(e12, t, n) { - let r = N({ rootComponent: e12 }, Nm(t, n)); - return qu(r); +async function Ea(e12, t, n) { + let r = N({ rootComponent: e12 }, xm(t, n)); + return Zu(r); } -function Nm(e12, t) { - return { platformRef: t?.platformRef, appProviders: [...km, ...e12?.providers ?? []], platformProviders: Om }; +function xm(e12, t) { + return { platformRef: t?.platformRef, appProviders: [...Pm, ...e12?.providers ?? []], platformProviders: km }; } -function xm() { +function Am() { lo.makeCurrent(); } -function Am() { +function Rm() { return new Ie(); } -function Rm() { +function Om() { return Ns(document), document; } -var Om = [{ provide: gn, useValue: Qu }, { provide: Hr, useValue: xm, multi: true }, { provide: U, useFactory: Rm }]; -var km = [{ provide: Yt, useValue: "root" }, { provide: Ie, useFactory: Am }, { provide: co, useClass: io, multi: true }, { provide: co, useClass: nd, multi: true }, ma, ha, pa, { provide: st, useExisting: ma }, { provide: bn, useClass: Mm }, []]; -var va = (() => { +var km = [{ provide: gn, useValue: Yu }, { provide: Hr, useValue: Am, multi: true }, { provide: U, useFactory: Om }]; +var Pm = [{ provide: Yt, useValue: "root" }, { provide: Ie, useFactory: Rm }, { provide: co, useClass: io, multi: true }, { provide: co, useClass: rd, multi: true }, va, ma, ga, { provide: st, useExisting: va }, { provide: bn, useClass: _m }, []]; +var Ia = (() => { class e12 { static \u0275fac = function(r) { return new (r || e12)(); }; static \u0275prov = _({ token: e12, factory: function(r) { let o = null; - return r ? o = new (r || e12)() : o = w(Pm), o; + return r ? o = new (r || e12)() : o = w(Lm), o; }, providedIn: "root" }); } return e12; })(); -var Pm = (() => { - class e12 extends va { +var Lm = (() => { + class e12 extends Ia { _doc; constructor(n) { super(), this._doc = n; @@ -6572,20 +6575,20 @@ var uo = class e10 { }; static \u0275prov = _({ token: e10, factory: e10.\u0275fac, providedIn: "root" }); }; -var Lm = ["tableContainer"]; -function Fm(e12, t) { +var Fm = ["tableContainer"]; +function jm(e12, t) { if (e12 & 1 && (j(0, "div", 2), se(1), B()), e12 & 2) { let n = na(); V(), Be(n.errorMessage()); } } -function jm(e12, t) { +function Hm(e12, t) { if (e12 & 1 && (j(0, "option", 13), se(1), B()), e12 & 2) { let n = t.$implicit; me("value", n), V(), Be(n === 0 ? "All" : n); } } -function Hm(e12, t) { +function Vm(e12, t) { if (e12 & 1 && (j(0, "option", 13), se(1), B()), e12 & 2) { let n = t.$implicit; me("value", n), V(), Be(n); @@ -6593,7 +6596,7 @@ function Hm(e12, t) { } var fo = class e11 { state = E(uo); - sanitizer = E(va); + sanitizer = E(Ia); maxColumnOptions = [5, 10, 15, 20, 0]; pageSizeOptions = [10, 25, 50, 100]; errorMessage = this.state.errorMessage; @@ -6710,12 +6713,12 @@ var fo = class e11 { return new (n || e11)(); }; static \u0275cmp = Qs({ type: e11, selectors: [["app-root"]], viewQuery: function(n, r) { - if (n & 1 && no(Lm, 7), n & 2) { + if (n & 1 && no(Fm, 7), n & 2) { let o; ra(o = oa()) && (r.tableContainerRef = o.first); } }, decls: 27, vars: 10, consts: [["tableContainer", ""], [1, "bigframes-widget"], [1, "bigframes-error-message"], [1, "table-container", 3, "click", "innerHTML"], [1, "footer"], [1, "row-count"], [1, "pagination"], [3, "click", "disabled"], [1, "page-indicator"], [1, "settings"], [1, "max-columns"], ["for", "max-cols-select"], ["id", "max-cols-select", 3, "change", "value"], [3, "value"], [1, "page-size"], ["for", "page-size-select"], ["id", "page-size-select", 3, "change", "value"]], template: function(n, r) { - n & 1 && (j(0, "div", 1), Xs(1, Fm, 2, 1, "div", 2), j(2, "div", 3, 0), Ve("click", function(i) { + n & 1 && (j(0, "div", 1), Xs(1, jm, 2, 1, "div", 2), j(2, "div", 3, 0), Ve("click", function(i) { return r.handleTableClick(i); }), B(), j(4, "footer", 4)(5, "span", 5), se(6), B(), j(7, "div", 6)(8, "button", 7), Ve("click", function() { return r.handlePageChange(-1); @@ -6723,18 +6726,18 @@ var fo = class e11 { return r.handlePageChange(1); }), se(13, ">"), B()(), j(14, "div", 9)(15, "div", 10)(16, "label", 11), se(17, "Max columns:"), B(), j(18, "select", 12), Ve("change", function(i) { return r.handleMaxColumnsChange(i); - }), eo(19, jm, 2, 2, "option", 13, Xr), B()(), j(21, "div", 14)(22, "label", 15), se(23, "Page size:"), B(), j(24, "select", 16), Ve("change", function(i) { + }), eo(19, Hm, 2, 2, "option", 13, Xr), B()(), j(21, "div", 14)(22, "label", 15), se(23, "Page size:"), B(), j(24, "select", 16), Ve("change", function(i) { return r.handlePageSizeChange(i); - }), eo(25, Hm, 2, 2, "option", 13, Xr), B()()()()()), n & 2 && (ro("bigframes-dark-mode", r.isDarkMode()), V(), ta(r.errorMessage() ? 1 : -1), V(), me("innerHTML", r.sanitizedHtml(), Ls), V(4), Be(r.rowCountText()), V(2), me("disabled", r.prevPageDisabled()), V(3), Be(r.pageIndicatorText()), V(), me("disabled", r.nextPageDisabled()), V(6), me("value", r.maxColumns()), V(), to(r.maxColumnOptions), V(5), me("value", r.pageSize()), V(), to(r.pageSizeOptions)); + }), eo(25, Vm, 2, 2, "option", 13, Xr), B()()()()()), n & 2 && (ro("bigframes-dark-mode", r.isDarkMode()), V(), ta(r.errorMessage() ? 1 : -1), V(), me("innerHTML", r.sanitizedHtml(), Ls), V(4), Be(r.rowCountText()), V(2), me("disabled", r.prevPageDisabled()), V(3), Be(r.pageIndicatorText()), V(), me("disabled", r.nextPageDisabled()), V(6), me("value", r.maxColumns()), V(), to(r.maxColumnOptions), V(5), me("value", r.pageSize()), V(), to(r.pageSizeOptions)); }, styles: [".bigframes-widget.bigframes-widget[_ngcontent-%COMP%]{--bf-bg: white;--bf-border-color: #ccc;--bf-error-bg: #fbe;--bf-error-border: red;--bf-error-fg: black;--bf-fg: black;--bf-header-bg: #f5f5f5;--bf-null-fg: gray;--bf-row-even-bg: #f5f5f5;--bf-row-odd-bg: white;background-color:var(--bf-bg);box-sizing:border-box;color:var(--bf-fg);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0}.bigframes-widget[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{box-sizing:border-box}@media(prefers-color-scheme:dark){.bigframes-widget.bigframes-widget[_ngcontent-%COMP%]{--bf-bg: var(--vscode-editor-background, #202124);--bf-border-color: #444;--bf-error-bg: #511;--bf-error-border: #f88;--bf-error-fg: #fcc;--bf-fg: white;--bf-header-bg: var(--vscode-editor-background, black);--bf-null-fg: #aaa;--bf-row-even-bg: #202124;--bf-row-odd-bg: #383838}}.bigframes-widget.bigframes-dark-mode.bigframes-dark-mode[_ngcontent-%COMP%]{--bf-bg: var(--vscode-editor-background, #202124);--bf-border-color: #444;--bf-error-bg: #511;--bf-error-border: #f88;--bf-error-fg: #fcc;--bf-fg: white;--bf-header-bg: var(--vscode-editor-background, black);--bf-null-fg: #aaa;--bf-row-even-bg: #202124;--bf-row-odd-bg: #383838}.bigframes-widget[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%]{background-color:var(--bf-bg);margin:0;max-height:620px;overflow:auto;padding:0}.bigframes-widget[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%]{align-items:center;background-color:var(--bf-bg);color:var(--bf-fg);display:flex;font-size:.8rem;justify-content:space-between;padding:8px}.bigframes-widget[_ngcontent-%COMP%] .footer[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1}.bigframes-widget[_ngcontent-%COMP%] .pagination[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:row;gap:4px;justify-content:center;padding:4px}.bigframes-widget[_ngcontent-%COMP%] .page-indicator[_ngcontent-%COMP%], .bigframes-widget[_ngcontent-%COMP%] .row-count[_ngcontent-%COMP%]{margin:0 8px}.bigframes-widget[_ngcontent-%COMP%] .settings[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:row;gap:16px;justify-content:end}.bigframes-widget[_ngcontent-%COMP%] .page-size[_ngcontent-%COMP%], .bigframes-widget[_ngcontent-%COMP%] .max-columns[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:row;gap:4px}.bigframes-widget[_ngcontent-%COMP%] .page-size[_ngcontent-%COMP%] label[_ngcontent-%COMP%], .bigframes-widget[_ngcontent-%COMP%] .max-columns[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{margin-right:8px}.bigframes-widget[_ngcontent-%COMP%] table.bigframes-widget-table, .bigframes-widget[_ngcontent-%COMP%] table.dataframe{background-color:var(--bf-bg);border:1px solid var(--bf-border-color);border-collapse:collapse;border-spacing:0;box-shadow:none;color:var(--bf-fg);margin:0;outline:none;text-align:left;width:auto}.bigframes-widget[_ngcontent-%COMP%] tr{border:none}.bigframes-widget[_ngcontent-%COMP%] th{background-color:var(--bf-header-bg);border:1px solid var(--bf-border-color);color:var(--bf-fg);padding:0;position:sticky;text-align:left;top:0;z-index:1}.bigframes-widget[_ngcontent-%COMP%] td{border:1px solid var(--bf-border-color);color:var(--bf-fg);padding:.5em}.bigframes-widget[_ngcontent-%COMP%] table tbody tr:nth-child(odd), .bigframes-widget[_ngcontent-%COMP%] table tbody tr:nth-child(odd) td{background-color:var(--bf-row-odd-bg)}.bigframes-widget[_ngcontent-%COMP%] table tbody tr:nth-child(2n), .bigframes-widget[_ngcontent-%COMP%] table tbody tr:nth-child(2n) td{background-color:var(--bf-row-even-bg)}.bigframes-widget[_ngcontent-%COMP%] .bf-header-content{box-sizing:border-box;height:100%;overflow:auto;padding:.5em;resize:horizontal;width:100%}.bigframes-widget[_ngcontent-%COMP%] th .sort-indicator{padding-left:4px;visibility:hidden}.bigframes-widget[_ngcontent-%COMP%] th:hover .sort-indicator{visibility:visible}.bigframes-widget[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background-color:transparent;border:1px solid currentColor;border-radius:4px;color:inherit;cursor:pointer;display:inline-block;padding:2px 8px;text-align:center;text-decoration:none;-webkit-user-select:none;user-select:none;vertical-align:middle}.bigframes-widget[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{opacity:.65;pointer-events:none}.bigframes-widget[_ngcontent-%COMP%] .bigframes-error-message[_ngcontent-%COMP%]{background-color:var(--bf-error-bg);border:1px solid var(--bf-error-border);border-radius:4px;color:var(--bf-error-fg);font-size:14px;margin-bottom:8px;padding:8px}.bigframes-widget[_ngcontent-%COMP%] .cell-align-right{text-align:right}.bigframes-widget[_ngcontent-%COMP%] .cell-align-left{text-align:left}.bigframes-widget[_ngcontent-%COMP%] .null-value{color:var(--bf-null-fg)}.bigframes-widget[_ngcontent-%COMP%] .debug-info{border-top:1px solid var(--bf-border-color)}"] }); }; -function Vm({ model: e12, el: t }) { +function Bm({ model: e12, el: t }) { let n = document.createElement("app-root"); t.appendChild(n); - let r = { providers: [Oi(), { provide: "ANYWIDGET_MODEL", useValue: e12 }] }; - ya(fo, r).catch((o) => console.error(o)); + let r = { providers: [Oi(), sa(), { provide: "ANYWIDGET_MODEL", useValue: e12 }] }; + Ea(fo, r).catch((o) => console.error(o)); } -var tS = { render: Vm }; +var tS = { render: Bm }; export { tS as default }; diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts index 42ffdbf0a394..fa5a6e62cd66 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts @@ -16,7 +16,7 @@ import { bootstrapApplication } from '@angular/platform-browser'; import { App } from './app/app'; -import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; +import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZonelessChangeDetection } from '@angular/core'; function render({ model, el }: { model: any, el: HTMLElement }) { // Create a container for the Angular app @@ -26,6 +26,7 @@ function render({ model, el }: { model: any, el: HTMLElement }) { const appConfig: ApplicationConfig = { providers: [ provideBrowserGlobalErrorListeners(), + provideZonelessChangeDetection(), { provide: 'ANYWIDGET_MODEL', useValue: model } ] }; From 6a828381fb4f731fd577b5fed9322f3f85d36472 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 10 Jun 2026 21:23:17 +0000 Subject: [PATCH 32/42] fix: use createApplication to bootstrap widget on element --- .../bigframes/bigframes/display/table_widget_angular.js | 9 +++++---- .../bigframes/display/table_widget_angular/src/main.ts | 7 +++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/bigframes/bigframes/display/table_widget_angular.js b/packages/bigframes/bigframes/display/table_widget_angular.js index 24dcc6e8de15..b68fdb703a42 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular.js +++ b/packages/bigframes/bigframes/display/table_widget_angular.js @@ -6440,9 +6440,8 @@ var rd = (() => { } return e12; })(); -async function Ea(e12, t, n) { - let r = N({ rootComponent: e12 }, xm(t, n)); - return Zu(r); +async function Ea(e12, t) { + return Zu(xm(e12, t)); } function xm(e12, t) { return { platformRef: t?.platformRef, appProviders: [...Pm, ...e12?.providers ?? []], platformProviders: km }; @@ -6735,7 +6734,9 @@ function Bm({ model: e12, el: t }) { let n = document.createElement("app-root"); t.appendChild(n); let r = { providers: [Oi(), sa(), { provide: "ANYWIDGET_MODEL", useValue: e12 }] }; - Ea(fo, r).catch((o) => console.error(o)); + Ea(r).then((o) => { + o.bootstrap(fo, n); + }).catch((o) => console.error(o)); } var tS = { render: Bm }; export { diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts index fa5a6e62cd66..32e4ea202bf2 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/main.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { bootstrapApplication } from '@angular/platform-browser'; +import { createApplication } from '@angular/platform-browser'; import { App } from './app/app'; import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZonelessChangeDetection } from '@angular/core'; @@ -31,7 +31,10 @@ function render({ model, el }: { model: any, el: HTMLElement }) { ] }; - bootstrapApplication(App, appConfig) + createApplication(appConfig) + .then((appRef) => { + appRef.bootstrap(App, appRoot); + }) .catch((err) => console.error(err)); } From 973bdac151b5aa52deaa90a840cf1b33fe4e2c8b Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 10 Jun 2026 21:27:38 +0000 Subject: [PATCH 33/42] docs: rerun notebook --- .../notebooks/dataframes/anywidget_mode.ipynb | 246 +++++++++--------- .../tests/unit/display/test_anywidget.py | 8 - 2 files changed, 123 insertions(+), 131 deletions(-) diff --git a/packages/bigframes/notebooks/dataframes/anywidget_mode.ipynb b/packages/bigframes/notebooks/dataframes/anywidget_mode.ipynb index e8632ba314e7..9cae55b26dc7 100644 --- a/packages/bigframes/notebooks/dataframes/anywidget_mode.ipynb +++ b/packages/bigframes/notebooks/dataframes/anywidget_mode.ipynb @@ -93,7 +93,7 @@ "data": { "text/html": [ "\n", - " Query processed 171.4 MB in 18 seconds of slot time. [Job bigframes-dev:US.203a321c-f2fe-4d22-9b33-5b92ee6be06d details]\n", + " Query processed 171.4 MB in 19 seconds of slot time. [Job bigframes-dev:US.50efe672-74c6-4292-98d9-520cba9ca516 details]\n", " " ], "text/plain": [ @@ -107,17 +107,17 @@ "name": "stdout", "output_type": "stream", "text": [ - "state gender year name number\n", - " AL F 1910 Hazel 51\n", - " AL F 1910 Lucy 76\n", - " AR F 1910 Nellie 39\n", - " AR F 1910 Lena 40\n", - " CO F 1910 Thelma 36\n", - " CO F 1910 Ruth 68\n", - " CT F 1910 Elizabeth 86\n", - " DC F 1910 Mary 80\n", - " FL F 1910 Annie 101\n", - " FL F 1910 Alma 39\n", + "state gender year name number\n", + " AL F 1910 Annie 482\n", + " AL F 1910 Myrtle 104\n", + " AR F 1910 Lillian 56\n", + " CT F 1910 Anne 38\n", + " CT F 1910 Frances 45\n", + " FL F 1910 Margaret 53\n", + " GA F 1910 Mae 73\n", + " GA F 1910 Beatrice 96\n", + " GA F 1910 Lola 47\n", + " IA F 1910 Viola 49\n", "...\n", "\n", "[5552452 rows x 5 columns]\n" @@ -138,7 +138,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e54feadd75cc4daebde26c92e12845d4", + "model_id": "b1080dddbe4140d2b88ef85566e52955", "version_major": 2, "version_minor": 1 }, @@ -174,80 +174,80 @@ " AL\n", " F\n", " 1910\n", - " Hazel\n", - " 51\n", + " Lillian\n", + " 99\n", " \n", " \n", " 1\n", " AL\n", " F\n", " 1910\n", - " Lucy\n", - " 76\n", + " Ruby\n", + " 204\n", " \n", " \n", " 2\n", - " AR\n", + " AL\n", " F\n", " 1910\n", - " Nellie\n", - " 39\n", + " Helen\n", + " 76\n", " \n", " \n", " 3\n", - " AR\n", + " AL\n", " F\n", " 1910\n", - " Lena\n", - " 40\n", + " Eunice\n", + " 41\n", " \n", " \n", " 4\n", - " CO\n", + " AR\n", " F\n", " 1910\n", - " Thelma\n", - " 36\n", + " Dora\n", + " 42\n", " \n", " \n", " 5\n", - " CO\n", + " CA\n", " F\n", " 1910\n", - " Ruth\n", - " 68\n", + " Edna\n", + " 62\n", " \n", " \n", " 6\n", - " CT\n", + " CA\n", " F\n", " 1910\n", - " Elizabeth\n", - " 86\n", + " Helen\n", + " 239\n", " \n", " \n", " 7\n", - " DC\n", + " CO\n", " F\n", " 1910\n", - " Mary\n", - " 80\n", + " Alice\n", + " 46\n", " \n", " \n", " 8\n", " FL\n", " F\n", " 1910\n", - " Annie\n", - " 101\n", + " Willie\n", + " 71\n", " \n", " \n", " 9\n", " FL\n", " F\n", " 1910\n", - " Alma\n", - " 39\n", + " Thelma\n", + " 65\n", " \n", " \n", "\n", @@ -255,17 +255,17 @@ "[5552452 rows x 5 columns in total]" ], "text/plain": [ - "state gender year name number\n", - " AL F 1910 Hazel 51\n", - " AL F 1910 Lucy 76\n", - " AR F 1910 Nellie 39\n", - " AR F 1910 Lena 40\n", - " CO F 1910 Thelma 36\n", - " CO F 1910 Ruth 68\n", - " CT F 1910 Elizabeth 86\n", - " DC F 1910 Mary 80\n", - " FL F 1910 Annie 101\n", - " FL F 1910 Alma 39\n", + "state gender year name number\n", + " AL F 1910 Lillian 99\n", + " AL F 1910 Ruby 204\n", + " AL F 1910 Helen 76\n", + " AL F 1910 Eunice 41\n", + " AR F 1910 Dora 42\n", + " CA F 1910 Edna 62\n", + " CA F 1910 Helen 239\n", + " CO F 1910 Alice 46\n", + " FL F 1910 Willie 71\n", + " FL F 1910 Thelma 65\n", "...\n", "\n", "[5552452 rows x 5 columns]" @@ -313,16 +313,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "1999\n", - "2008\n", - "1966\n", - "1980\n", - "1991\n", - "2011\n", + "1967\n", + "1981\n", + "2009\n", + "1956\n", + "1960\n", + "2001\n", + "2009\n", + "2003\n", "1985\n", - "2006\n", - "1984\n", - "1970\n", + "1993\n", "Name: year, dtype: Int64\n", "...\n", "\n", @@ -353,33 +353,33 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "eaf3f67239f640f5920e61c511ed135f", + "model_id": "46e836f10d9e47afb4d82b5c7da69660", "version_major": 2, "version_minor": 1 }, "text/html": [ - "
0    1912\n",
-       "1    1913\n",
+       "
0    1910\n",
+       "1    1912\n",
        "2    1912\n",
        "3    1911\n",
-       "4    1910\n",
+       "4    1912\n",
        "5    1910\n",
-       "6    1912\n",
+       "6    1913\n",
        "7    1912\n",
-       "8    1912\n",
-       "9    1910

[5552452 rows]

" + "8 1913\n", + "9 1913

[5552452 rows]

" ], "text/plain": [ - "1912\n", - "1913\n", - "1912\n", - "1911\n", - "1910\n", "1910\n", "1912\n", "1912\n", + "1911\n", "1912\n", "1910\n", + "1913\n", + "1912\n", + "1913\n", + "1913\n", "Name: year, dtype: Int64\n", "...\n", "\n", @@ -461,12 +461,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4d9628899c764cf19a97a2a2f8b18311", + "model_id": "6e5f603b56fb408bb1ea41519ea8702e", "version_major": 2, "version_minor": 1 }, "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -549,12 +549,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8b8d98715c58418aa37f90ebcc89ea6a", + "model_id": "20c94621c4ae4eb5a94fd3596ae8c236", "version_major": 2, "version_minor": 1 }, "text/plain": [ - "" + "" ] }, "execution_count": 10, @@ -598,7 +598,7 @@ "data": { "text/html": [ "\n", - " Query processed 85.9 kB in 46 seconds of slot time. [Job bigframes-dev:US.job_O4H9mHC8iCqXwJfg6fEB7cPmgRfM details]\n", + " Query processed 0 Bytes in a moment of slot time. [Job bigframes-dev:US.job_cpfa9oehjApkQgrbTrKRxTpEtuQX details]\n", " " ], "text/plain": [ @@ -611,7 +611,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "87f8c7b993ee45b6b4d5a56152d40207", + "model_id": "d5bf0a9438954c6890b5d8cd16bff7cd", "version_major": 2, "version_minor": 1 }, @@ -654,24 +654,6 @@ " \n", " \n", " 0\n", - " {\"application_number\":\"18165514.3\",\"class_inte...\n", - " gs://gcs-public-data--labeled-patents/espacene...\n", - " EU\n", - " DE\n", - " 03.10.2018\n", - " H05B 6/12\n", - " <NA>\n", - " 18165514.3\n", - " 03.04.2018\n", - " 30.03.2017\n", - " <NA>\n", - " BSH Hausgeräte GmbH\n", - " Acero Acero, Jesus\n", - " VORRICHTUNG ZUR INDUKTIVEN ENERGIEÜBERTRAGUNG\n", - " EP 3 383 141 A2\n", - " \n", - " \n", - " 1\n", " {\"application_number\":\"18157874.1\",\"class_inte...\n", " gs://gcs-public-data--labeled-patents/espacene...\n", " EU\n", @@ -689,6 +671,24 @@ " EP 3 366 869 A1\n", " \n", " \n", + " 1\n", + " {\"application_number\":\"18165514.3\",\"class_inte...\n", + " gs://gcs-public-data--labeled-patents/espacene...\n", + " EU\n", + " DE\n", + " 03.10.2018\n", + " H05B 6/12\n", + " <NA>\n", + " 18165514.3\n", + " 03.04.2018\n", + " 30.03.2017\n", + " <NA>\n", + " BSH Hausgeräte GmbH\n", + " Acero Acero, Jesus\n", + " VORRICHTUNG ZUR INDUKTIVEN ENERGIEÜBERTRAGUNG\n", + " EP 3 383 141 A2\n", + " \n", + " \n", " 2\n", " {\"application_number\":\"18157347.8\",\"class_inte...\n", " gs://gcs-public-data--labeled-patents/espacene...\n", @@ -708,24 +708,6 @@ " \n", " \n", " 3\n", - " {\"application_number\":\"18171005.4\",\"class_inte...\n", - " gs://gcs-public-data--labeled-patents/espacene...\n", - " EU\n", - " DE\n", - " 03.10.2018\n", - " A01K 31/00\n", - " <NA>\n", - " 18171005.4\n", - " 05.02.2015\n", - " 05.02.2014\n", - " Stork Bamberger Patentanwälte\n", - " Linco Food Systems A/S\n", - " Thrane, Uffe\n", - " MASTHÄHNCHENCONTAINER ALS BESTANDTEIL EINER E...\n", - " EP 3 381 276 A1\n", - " \n", - " \n", - " 4\n", " {\"application_number\":\"18166536.5\",\"class_inte...\n", " gs://gcs-public-data--labeled-patents/espacene...\n", " EU\n", @@ -742,6 +724,24 @@ " VORRICHTUNG ZUM BONDEN VON SUBSTRATEN\n", " EP 3 382 744 A1\n", " \n", + " \n", + " 4\n", + " {\"application_number\":\"18171005.4\",\"class_inte...\n", + " gs://gcs-public-data--labeled-patents/espacene...\n", + " EU\n", + " DE\n", + " 03.10.2018\n", + " A01K 31/00\n", + " <NA>\n", + " 18171005.4\n", + " 05.02.2015\n", + " 05.02.2014\n", + " Stork Bamberger Patentanwälte\n", + " Linco Food Systems A/S\n", + " Thrane, Uffe\n", + " MASTHÄHNCHENCONTAINER ALS BESTANDTEIL EINER E...\n", + " EP 3 381 276 A1\n", + " \n", " \n", "\n", "

5 rows × 15 columns

\n", @@ -749,11 +749,11 @@ ], "text/plain": [ " result \\\n", - "{\"application_number\":\"18165514.3\",\"class_inter... \n", "{\"application_number\":\"18157874.1\",\"class_inter... \n", + "{\"application_number\":\"18165514.3\",\"class_inter... \n", "{\"application_number\":\"18157347.8\",\"class_inter... \n", - "{\"application_number\":\"18171005.4\",\"class_inter... \n", "{\"application_number\":\"18166536.5\",\"class_inter... \n", + "{\"application_number\":\"18171005.4\",\"class_inter... \n", "\n", " gcs_path issuer language \\\n", "gs://gcs-public-data--labeled-patents/espacenet... EU DE \n", @@ -763,32 +763,32 @@ "gs://gcs-public-data--labeled-patents/espacenet... EU DE \n", "\n", "publication_date class_international class_us application_number filing_date \\\n", - " 03.10.2018 H05B 6/12 18165514.3 03.04.2018 \n", " 29.08.018 E04H 6/12 18157874.1 21.02.2018 \n", + " 03.10.2018 H05B 6/12 18165514.3 03.04.2018 \n", " 03.10.2018 G06F 11/30 18157347.8 19.02.2018 \n", - " 03.10.2018 A01K 31/00 18171005.4 05.02.2015 \n", " 03.10.2018 H01L 21/20 18166536.5 16.02.2016 \n", + " 03.10.2018 A01K 31/00 18171005.4 05.02.2015 \n", "\n", "priority_date_eu representative_line_1_eu applicant_line_1 \\\n", - " 30.03.2017 BSH Hausgeräte GmbH \n", " 22.02.2017 Liedtke & Partner Patentanwälte SHB Hebezeugbau GmbH \n", + " 30.03.2017 BSH Hausgeräte GmbH \n", " 31.03.2017 Hoffmann Eitle FUJITSU LIMITED \n", - " 05.02.2014 Stork Bamberger Patentanwälte Linco Food Systems A/S \n", " Scheider, Sascha et al EV Group E. Thallner GmbH \n", + " 05.02.2014 Stork Bamberger Patentanwälte Linco Food Systems A/S \n", "\n", " inventor_line_1 title_line_1 \\\n", - "Acero Acero, Jesus VORRICHTUNG ZUR INDUKTIVEN ENERGIEÜBERTRAGUNG \n", " VOLGER, Alexander STEUERUNGSSYSTEM FÜR AUTOMATISCHE PARKHÄUSER \n", + "Acero Acero, Jesus VORRICHTUNG ZUR INDUKTIVEN ENERGIEÜBERTRAGUNG \n", " Kukihara, Kensuke METHOD EXECUTED BY A COMPUTER, INFORMATION PROC... \n", - " Thrane, Uffe MASTHÄHNCHENCONTAINER ALS BESTANDTEIL EINER EI... \n", " Kurz, Florian VORRICHTUNG ZUM BONDEN VON SUBSTRATEN \n", + " Thrane, Uffe MASTHÄHNCHENCONTAINER ALS BESTANDTEIL EINER EI... \n", "\n", " number \n", - "EP 3 383 141 A2 \n", "EP 3 366 869 A1 \n", + "EP 3 383 141 A2 \n", "EP 3 382 553 A1 \n", - "EP 3 381 276 A1 \n", "EP 3 382 744 A1 \n", + "EP 3 381 276 A1 \n", "\n", "[5 rows x 15 columns]" ] diff --git a/packages/bigframes/tests/unit/display/test_anywidget.py b/packages/bigframes/tests/unit/display/test_anywidget.py index 932375c65b27..2cbff8f539ae 100644 --- a/packages/bigframes/tests/unit/display/test_anywidget.py +++ b/packages/bigframes/tests/unit/display/test_anywidget.py @@ -194,10 +194,6 @@ def test_cell_execution_count_propagation(mock_df): def test_json_column_converted_to_string_for_display(): - from bigframes.core.blocks import Block - from bigframes.dataframe import DataFrame - from bigframes.dtypes import JSON_DTYPE, STRING_DTYPE - from bigframes.operations import SqlScalarOp mock_block = mock.Mock(spec=Block) mock_block.column_labels = pd.Index(["col_json"]) mock_block.value_columns = ["col_json"] @@ -224,10 +220,6 @@ def test_json_column_converted_to_string_for_display(): def test_struct_column_with_nested_json_converted_to_string_for_display(): - from bigframes.core.blocks import Block - from bigframes.dataframe import DataFrame - from bigframes.dtypes import JSON_DTYPE, STRING_DTYPE, struct_type - from bigframes.operations import SqlScalarOp nested_struct_dtype = struct_type( [("field1", STRING_DTYPE), ("field2", JSON_DTYPE)] ) From e93a7a75ee125c6612e9ce2c4772de52fbc7fb60 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 10 Jun 2026 21:31:12 +0000 Subject: [PATCH 34/42] test: add unit test for angular widget bootstrap --- .../tests/js/table_widget_angular.test.js | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 packages/bigframes/tests/js/table_widget_angular.test.js diff --git a/packages/bigframes/tests/js/table_widget_angular.test.js b/packages/bigframes/tests/js/table_widget_angular.test.js new file mode 100644 index 000000000000..d9e6d632b28e --- /dev/null +++ b/packages/bigframes/tests/js/table_widget_angular.test.js @@ -0,0 +1,98 @@ +/* + * Copyright 2026 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { jest } from '@jest/globals'; + +describe('TableWidgetAngular', () => { + let render; + + beforeEach(async () => { + jest.resetModules(); + const tableWidgetAngular = ( + await import('../../bigframes/display/table_widget_angular.js') + ).default; + render = tableWidgetAngular.render; + }); + + it('should have a render function', () => { + expect(render).toBeDefined(); + }); + + it('should bootstrap multiple widgets independently on their respective elements', async () => { + // Container 1 + const el1 = document.createElement('div'); + document.body.appendChild(el1); + + // Mock model 1 + const model1 = { + get: jest.fn((prop) => { + if (prop === 'table_html') return '
Widget 1 Content
'; + if (prop === 'page_size') return 10; + if (prop === 'page') return 0; + if (prop === 'row_count') return 100; + if (prop === 'max_columns') return 20; + return null; + }), + set: jest.fn(), + save_changes: jest.fn(), + on: jest.fn(), + }; + + // Container 2 + const el2 = document.createElement('div'); + document.body.appendChild(el2); + + // Mock model 2 + const model2 = { + get: jest.fn((prop) => { + if (prop === 'table_html') return '
Widget 2 Content
'; + if (prop === 'page_size') return 25; + if (prop === 'page') return 0; + if (prop === 'row_count') return 200; + if (prop === 'max_columns') return 20; + return null; + }), + set: jest.fn(), + save_changes: jest.fn(), + on: jest.fn(), + }; + + // Render both widgets + render({ model: model1, el: el1 }); + render({ model: model2, el: el2 }); + + // Wait for async angular bootstrap to complete + await new Promise((resolve) => setTimeout(resolve, 200)); + + // Verify widget 1 is bootstrapped under el1 and has correct content/model values + const appRoot1 = el1.querySelector('app-root'); + expect(appRoot1).not.toBeNull(); + expect(el1.textContent).toContain('Widget 1 Content'); + expect(el1.textContent).toContain('100 total rows'); + expect(el1.textContent).toContain('Page 1 of 10'); + + // Verify widget 2 is bootstrapped under el2 and has correct content/model values + const appRoot2 = el2.querySelector('app-root'); + expect(appRoot2).not.toBeNull(); + expect(el2.textContent).toContain('Widget 2 Content'); + expect(el2.textContent).toContain('200 total rows'); + expect(el2.textContent).toContain('Page 1 of 8'); + + // Cleanup + document.body.removeChild(el1); + document.body.removeChild(el2); + }); +}); From a18e7be2fb843877d9e6c95a4053d02c5f7d09ab Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 10 Jun 2026 21:45:29 +0000 Subject: [PATCH 35/42] test: clean up redundant comments in test --- packages/bigframes/tests/js/table_widget_angular.test.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/packages/bigframes/tests/js/table_widget_angular.test.js b/packages/bigframes/tests/js/table_widget_angular.test.js index d9e6d632b28e..cdc6dee14bab 100644 --- a/packages/bigframes/tests/js/table_widget_angular.test.js +++ b/packages/bigframes/tests/js/table_widget_angular.test.js @@ -32,11 +32,9 @@ describe('TableWidgetAngular', () => { }); it('should bootstrap multiple widgets independently on their respective elements', async () => { - // Container 1 const el1 = document.createElement('div'); document.body.appendChild(el1); - // Mock model 1 const model1 = { get: jest.fn((prop) => { if (prop === 'table_html') return '
Widget 1 Content
'; @@ -51,11 +49,9 @@ describe('TableWidgetAngular', () => { on: jest.fn(), }; - // Container 2 const el2 = document.createElement('div'); document.body.appendChild(el2); - // Mock model 2 const model2 = { get: jest.fn((prop) => { if (prop === 'table_html') return '
Widget 2 Content
'; @@ -70,28 +66,24 @@ describe('TableWidgetAngular', () => { on: jest.fn(), }; - // Render both widgets render({ model: model1, el: el1 }); render({ model: model2, el: el2 }); // Wait for async angular bootstrap to complete await new Promise((resolve) => setTimeout(resolve, 200)); - // Verify widget 1 is bootstrapped under el1 and has correct content/model values const appRoot1 = el1.querySelector('app-root'); expect(appRoot1).not.toBeNull(); expect(el1.textContent).toContain('Widget 1 Content'); expect(el1.textContent).toContain('100 total rows'); expect(el1.textContent).toContain('Page 1 of 10'); - // Verify widget 2 is bootstrapped under el2 and has correct content/model values const appRoot2 = el2.querySelector('app-root'); expect(appRoot2).not.toBeNull(); expect(el2.textContent).toContain('Widget 2 Content'); expect(el2.textContent).toContain('200 total rows'); expect(el2.textContent).toContain('Page 1 of 8'); - // Cleanup document.body.removeChild(el1); document.body.removeChild(el2); }); From 7e663e8f495a59ebf5930e7bc7d660505e43e05a Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 10 Jun 2026 15:02:33 -0700 Subject: [PATCH 36/42] Update packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.ts Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../display/table_widget_angular/src/app/widget-state.service.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.ts index 62ede9f74a12..3ab51e1bdf54 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/widget-state.service.ts @@ -96,6 +96,7 @@ export class WidgetStateService { setPageSize(pageSize: number) { this.pageSize.set(pageSize); + this.page.set(0); if (this.model) { this.model.set('page_size', pageSize); // Reset to page 0 on page size change From 3ac75674a1d24abc767897f90d0463132011d9ce Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 10 Jun 2026 15:03:48 -0700 Subject: [PATCH 37/42] Update packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../bigframes/display/table_widget_angular/src/app/app.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts index f326b109fe83..fb563dc9a7a9 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -411,7 +411,7 @@ export class App { const headerDiv = header.querySelector('div.bf-header-content'); if (!headerDiv) return; - const columnName = headerDiv.textContent?.trim() || ''; + const columnName = this.getColumnName(headerDiv); const sortableColumns = this.state.orderableColumns(); if (!columnName || !sortableColumns.includes(columnName)) return; From bb539ca8f3b4d04edb0000ba1734c8b056431c35 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 10 Jun 2026 15:04:05 -0700 Subject: [PATCH 38/42] Update packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../bigframes/display/table_widget_angular/src/app/app.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts index fb563dc9a7a9..f3cdfb76ea76 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -471,8 +471,8 @@ export class App { if (!headerDiv) return; const columnName = headerDiv.textContent?.trim() || ''; + const columnName = this.getColumnName(headerDiv); if (columnName && sortableColumns.includes(columnName)) { - header.style.cursor = 'pointer'; let indicatorSpan = headerDiv.querySelector( '.sort-indicator' From fcea30a41239721fbe7b46aa498c13496d14568b Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Wed, 10 Jun 2026 15:04:29 -0700 Subject: [PATCH 39/42] Update packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../bigframes/display/table_widget_angular/src/app/app.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts index f3cdfb76ea76..e72e0b3e9dc1 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -455,6 +455,12 @@ export class App { this.state.setSortContext(newContext); } + private getColumnName(headerDiv: HTMLElement): string { + const clone = headerDiv.cloneNode(true) as HTMLElement; + clone.querySelector('.sort-indicator')?.remove(); + return clone.textContent?.trim() || ''; + } + private applySortIndicators() { const container = this.tableContainerRef?.nativeElement; if (!container) return; From 9adb44293905598b7ea44e924fc7a3d70149b1c2 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Thu, 11 Jun 2026 20:26:20 +0000 Subject: [PATCH 40/42] fix: address table widget angular code review comments --- packages/bigframes/bigframes/display/html.py | 13 +- .../bigframes/display/table_widget_angular.js | 302 +++++++++--------- .../table_widget_angular/src/app/app.ts | 21 +- 3 files changed, 156 insertions(+), 180 deletions(-) diff --git a/packages/bigframes/bigframes/display/html.py b/packages/bigframes/bigframes/display/html.py index 20c50c1b3f31..7475f912a70c 100644 --- a/packages/bigframes/bigframes/display/html.py +++ b/packages/bigframes/bigframes/display/html.py @@ -30,7 +30,6 @@ import bigframes.formatting_helpers as formatter from bigframes._config import display_options, options from bigframes.display import plaintext -from bigframes.series import Series if typing.TYPE_CHECKING: import bigframes.dataframe @@ -192,9 +191,10 @@ def create_html_representation( total_columns: int, ) -> str: """Create an HTML representation of the DataFrame or Series.""" + import bigframes.series opts = options.display with display_options.pandas_repr(opts): - if isinstance(obj, Series): + if isinstance(obj, bigframes.series.Series): pd_series = pandas_df.iloc[:, 0] try: html_string = pd_series._repr_html_() @@ -216,7 +216,8 @@ def create_html_representation( def _get_obj_metadata( obj: Union[bigframes.dataframe.DataFrame, bigframes.series.Series], ) -> tuple[bool, bool]: - is_series = isinstance(obj, Series) + import bigframes.series + is_series = isinstance(obj, bigframes.series.Series) if is_series: has_index = len(obj._block.index_columns) > 0 else: @@ -233,9 +234,10 @@ def get_anywidget_bundle( Helper method to create and return the anywidget mimebundle. This function encapsulates the logic for anywidget display. """ + import bigframes.series from bigframes import display - if isinstance(obj, Series): + if isinstance(obj, bigframes.series.Series): df = obj.to_frame() else: df = obj @@ -288,8 +290,9 @@ def repr_mimebundle_deferred( def repr_mimebundle_head( obj: Union[bigframes.dataframe.DataFrame, bigframes.series.Series], ) -> dict[str, str]: + import bigframes.series opts = options.display - if isinstance(obj, Series): + if isinstance(obj, bigframes.series.Series): df = obj.to_frame() else: df = obj diff --git a/packages/bigframes/bigframes/display/table_widget_angular.js b/packages/bigframes/bigframes/display/table_widget_angular.js index b68fdb703a42..69d2df7eaab1 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular.js +++ b/packages/bigframes/bigframes/display/table_widget_angular.js @@ -68,7 +68,7 @@ function vo(e12) { let i = ft(L), s = { producer: e12, consumer: L, nextProducer: n, prevConsumer: o, lastReadVersion: e12.version, nextConsumer: void 0 }; L.producersTail = s, t !== void 0 ? t.nextProducer = s : L.producers = s, i && Ma(e12, s); } -function ba() { +function Ca() { yo++; } function Eo(e12) { @@ -104,9 +104,9 @@ function mo(e12) { e12.dirty = false, e12.lastCleanEpoch = yo; } function Bt(e12) { - return e12 && Ca(e12), g(e12); + return e12 && ba(e12), g(e12); } -function Ca(e12) { +function ba(e12) { e12.producersTail = void 0, e12.recomputing = true; } function An(e12, t) { @@ -159,7 +159,7 @@ function wo(e12) { function ft(e12) { return e12.consumerIsAlwaysLive || e12.consumers !== void 0; } -function bo(e12) { +function Co(e12) { ld?.(e12); } function dd(e12, t) { @@ -176,7 +176,7 @@ function dd(e12, t) { } return false; } -function Co(e12, t) { +function bo(e12, t) { return Object.is(e12, t); } function On(e12, t) { @@ -187,12 +187,12 @@ function On(e12, t) { throw n.error; return n.value; }; - return r[Z] = n, bo(n), r; + return r[Z] = n, Co(n), r; } var ho = Symbol("UNSET"); var go = Symbol("COMPUTING"); var Nn = Symbol("ERRORED"); -var fd = A(N({}, ut), { value: ho, dirty: true, error: null, equal: Co, kind: "computed", producerMustRecompute(e12) { +var fd = A(N({}, ut), { value: ho, dirty: true, error: null, equal: bo, kind: "computed", producerMustRecompute(e12) { return e12.value === ho || e12.value === go; }, producerRecomputeValue(e12) { if (e12.value === go) @@ -228,7 +228,7 @@ function Mo(e12, t) { let n = Object.create(Aa); n.value = e12, t !== void 0 && (n.equal = t); let r = () => Na(n); - return r[Z] = n, bo(n), [r, (s) => _o(n, s), (s) => xa(n, s)]; + return r[Z] = n, Co(n), [r, (s) => _o(n, s), (s) => xa(n, s)]; } function Na(e12) { return vo(e12), e12.value; @@ -239,9 +239,9 @@ function _o(e12, t) { function xa(e12, t) { Do() || Sa(e12), _o(e12, t(e12.value)); } -var Aa = A(N({}, ut), { equal: Co, value: void 0, kind: "signal" }); +var Aa = A(N({}, ut), { equal: bo, value: void 0, kind: "signal" }); function gd(e12) { - e12.version++, ba(), Io(e12), hd?.(e12); + e12.version++, Ca(), Io(e12), hd?.(e12); } var So = A(N({}, ut), { consumerIsAlwaysLive: true, consumerAllowSignalWrites: true, dirty: true, kind: "effect" }); function No(e12) { @@ -773,9 +773,9 @@ function Zn(e12, t) { return `${wd(e12)}${t ? ": " + t : ""}`; } var Re = globalThis; -function C(e12) { +function b(e12) { for (let t in e12) - if (e12[t] === C) + if (e12[t] === b) return t; throw Error(""); } @@ -799,7 +799,7 @@ function Qn(e12) { function Jo(e12, t) { return e12 ? t ? `${e12} ${t}` : e12 : t || ""; } -var bd = C({ __forward_ref__: C }); +var Cd = b({ __forward_ref__: b }); function Yn(e12) { return e12.__forward_ref__ = Yn, e12; } @@ -807,15 +807,15 @@ function W(e12) { return Ya(e12) ? e12() : e12; } function Ya(e12) { - return typeof e12 == "function" && e12.hasOwnProperty(bd) && e12.__forward_ref__ === Yn; + return typeof e12 == "function" && e12.hasOwnProperty(Cd) && e12.__forward_ref__ === Yn; } function _(e12) { return { token: e12.token, providedIn: e12.providedIn || null, factory: e12.factory, value: void 0 }; } function Kn(e12) { - return Cd(e12, Jn); + return bd(e12, Jn); } -function Cd(e12, t) { +function bd(e12, t) { return e12.hasOwnProperty(t) && e12[t] || null; } function Td(e12) { @@ -825,8 +825,8 @@ function Td(e12) { function Vo(e12) { return e12 && e12.hasOwnProperty(Bn) ? e12[Bn] : null; } -var Jn = C({ \u0275prov: C }); -var Bn = C({ \u0275inj: C }); +var Jn = b({ \u0275prov: b }); +var Bn = b({ \u0275inj: b }); var D = class { _desc; ngMetadataName = "InjectionToken"; @@ -844,12 +844,12 @@ var D = class { function Xo(e12) { return e12 && !!e12.\u0275providers; } -var ei = C({ \u0275cmp: C }); -var ti = C({ \u0275dir: C }); -var ni = C({ \u0275pipe: C }); -var Bo = C({ \u0275fac: C }); -var Qe = C({ __NG_ELEMENT_ID__: C }); -var Ga = C({ __NG_ENV_ID__: C }); +var ei = b({ \u0275cmp: b }); +var ti = b({ \u0275dir: b }); +var ni = b({ \u0275pipe: b }); +var Bo = b({ \u0275fac: b }); +var Qe = b({ __NG_ELEMENT_ID__: b }); +var Ga = b({ __NG_ENV_ID__: b }); function Ye(e12) { return oi(e12, "@Component"), e12[ei] || null; } @@ -866,9 +866,9 @@ function oi(e12, t) { function ii(e12) { return typeof e12 == "string" ? e12 : e12 == null ? "" : String(e12); } -var Ja = C({ ngErrorCode: C }); -var Md = C({ ngErrorMessage: C }); -var _d = C({ ngTokenPath: C }); +var Ja = b({ ngErrorCode: b }); +var Md = b({ ngErrorMessage: b }); +var _d = b({ ngTokenPath: b }); function si(e12, t) { return Xa("", -200, t); } @@ -1121,7 +1121,7 @@ function fi(e12, t) { for (let n of e12) Xo(n) && (n = n.\u0275providers), Array.isArray(n) ? fi(n, t) : t(n); } -var Pd = C({ provide: String, useValue: C }); +var Pd = b({ provide: String, useValue: b }); function cc(e12) { return e12 !== null && typeof e12 == "object" && Pd in e12; } @@ -1346,12 +1346,12 @@ var R = 3; var K = 4; var J = 5; var wt = 6; -var bt = 7; +var Ct = 7; var x = 8; var De = 9; var le = 10; var O = 11; -var Ct = 12; +var bt = 12; var pi = 13; var Xe = 14; var X = 15; @@ -1413,7 +1413,7 @@ function de(e12, t) { function ir(e12, t) { return e12.data[t]; } -function be(e12, t) { +function Ce(e12, t) { let n = t[e12]; return Le(n) ? n : n[ne]; } @@ -1468,14 +1468,14 @@ function Ae(e12) { return re(t) ? t[R] : t; } function wi(e12) { - return e12[bt] ??= []; + return e12[Ct] ??= []; } -function bi(e12) { +function Ci(e12) { return e12.cleanup ??= []; } function vc(e12, t, n, r) { let o = wi(t); - o.push(n), e12.firstCreatePass && bi(e12).push(r, o.length - 1); + o.push(n), e12.firstCreatePass && Ci(e12).push(r, o.length - 1); } var I = { lFrame: kc(null), bindingsEnabled: true, skipHydrationRootTNode: null }; var qo = false; @@ -1491,10 +1491,10 @@ function Dc() { function wc() { return I.skipHydrationRootTNode !== null; } -function bc(e12) { +function Cc(e12) { return I.skipHydrationRootTNode === e12; } -function Cc() { +function bc() { I.skipHydrationRootTNode = null; } function M() { @@ -1504,12 +1504,12 @@ function oe() { return I.lFrame.tView; } function pe() { - let e12 = Ci(); + let e12 = bi(); for (; e12 !== null && e12.type === 64; ) e12 = e12.parent; return e12; } -function Ci() { +function bi() { return I.lFrame.currentTNode; } function Tc() { @@ -2085,7 +2085,7 @@ function vf(e12) { function Ml(e12, t, n, r) { t !== null ? t.applyValueToInputSignal(t, r) : e12[n] = r; } -var Cr = class { +var br = class { previousValue; currentValue; firstChange; @@ -2113,7 +2113,7 @@ function If() { } function Df(e12, t, n, r, o) { let i = this.declaredInputs[r], s = Sl(e12) || wf(e12, { previous: Ke, current: null }), a = s.current || (s.current = {}), c = s.previous, l = c[i]; - a[i] = new Cr(l && l.currentValue, n, c === Ke), Ml(e12, t, o, n); + a[i] = new br(l && l.currentValue, n, c === Ke), Ml(e12, t, o, n); } var _l = "__ngSimpleChanges__"; function Sl(e12) { @@ -2129,10 +2129,10 @@ var T = function(e12, t = null, n) { o(e12, t, n); } }; -var b = function(e12) { +var C = function(e12) { return e12[e12.TemplateCreateStart = 0] = "TemplateCreateStart", e12[e12.TemplateCreateEnd = 1] = "TemplateCreateEnd", e12[e12.TemplateUpdateStart = 2] = "TemplateUpdateStart", e12[e12.TemplateUpdateEnd = 3] = "TemplateUpdateEnd", e12[e12.LifecycleHookStart = 4] = "LifecycleHookStart", e12[e12.LifecycleHookEnd = 5] = "LifecycleHookEnd", e12[e12.OutputStart = 6] = "OutputStart", e12[e12.OutputEnd = 7] = "OutputEnd", e12[e12.BootstrapApplicationStart = 8] = "BootstrapApplicationStart", e12[e12.BootstrapApplicationEnd = 9] = "BootstrapApplicationEnd", e12[e12.BootstrapComponentStart = 10] = "BootstrapComponentStart", e12[e12.BootstrapComponentEnd = 11] = "BootstrapComponentEnd", e12[e12.ChangeDetectionStart = 12] = "ChangeDetectionStart", e12[e12.ChangeDetectionEnd = 13] = "ChangeDetectionEnd", e12[e12.ChangeDetectionSyncStart = 14] = "ChangeDetectionSyncStart", e12[e12.ChangeDetectionSyncEnd = 15] = "ChangeDetectionSyncEnd", e12[e12.AfterRenderHooksStart = 16] = "AfterRenderHooksStart", e12[e12.AfterRenderHooksEnd = 17] = "AfterRenderHooksEnd", e12[e12.ComponentStart = 18] = "ComponentStart", e12[e12.ComponentEnd = 19] = "ComponentEnd", e12[e12.DeferBlockStateStart = 20] = "DeferBlockStateStart", e12[e12.DeferBlockStateEnd = 21] = "DeferBlockStateEnd", e12[e12.DynamicComponentStart = 22] = "DynamicComponentStart", e12[e12.DynamicComponentEnd = 23] = "DynamicComponentEnd", e12[e12.HostBindingsUpdateStart = 24] = "HostBindingsUpdateStart", e12[e12.HostBindingsUpdateEnd = 25] = "HostBindingsUpdateEnd", e12; -}(b || {}); -function bf(e12, t, n) { +}(C || {}); +function Cf(e12, t, n) { let { ngOnChanges: r, ngOnInit: o, ngDoCheck: i } = t.type.prototype; if (r) { let s = Ef(t); @@ -2140,7 +2140,7 @@ function bf(e12, t, n) { } o && (n.preOrderHooks ??= []).push(0 - e12, o), i && ((n.preOrderHooks ??= []).push(e12, i), (n.preOrderCheckHooks ??= []).push(e12, i)); } -function Cf(e12, t) { +function bf(e12, t) { for (let n = t.directiveStart, r = t.directiveEnd; n < r; n++) { let i = e12.data[n].type.prototype, { ngAfterContentInit: s, ngAfterContentChecked: a, ngAfterViewInit: c, ngAfterViewChecked: l, ngOnDestroy: u } = i; s && (e12.contentHooks ??= []).push(-n, s), a && ((e12.contentHooks ??= []).push(n, a), (e12.contentCheckHooks ??= []).push(n, a)), c && (e12.viewHooks ??= []).push(-n, c), l && ((e12.viewHooks ??= []).push(n, l), (e12.viewCheckHooks ??= []).push(n, l)), u != null && (e12.destroyHooks ??= []).push(n, u); @@ -2166,12 +2166,12 @@ function Nl(e12, t, n, r) { t[c] < 0 && (e12[et] += 65536), (a < i || i == -1) && (Tf(e12, n, t, c), e12[et] = (e12[et] & 4294901760) + c + 2), c++; } function Yc(e12, t) { - T(b.LifecycleHookStart, e12, t); + T(C.LifecycleHookStart, e12, t); let n = g(null); try { t.call(e12); } finally { - g(n), T(b.LifecycleHookEnd, e12, t); + g(n), T(C.LifecycleHookEnd, e12, t); } } function Tf(e12, t, n, r) { @@ -2406,7 +2406,7 @@ function _r(e12, t, n, r, o) { a.resolving = true; let l = s[n].type || s[n], u, d = a.injectImpl ? z(a.injectImpl) : null, f = Si(e12, r, 0); try { - i = e12[n] = a.factory(void 0, o, s, e12, r), t.firstCreatePass && n >= r.directiveStart && bf(n, s[n], t); + i = e12[n] = a.factory(void 0, o, s, e12, r), t.firstCreatePass && n >= r.directiveStart && Cf(n, s[n], t); } finally { d !== null && z(d), Jc(c), a.resolving = false, Ni(); } @@ -2569,7 +2569,7 @@ function kt(e12, t) { Le(t) ? (e12[tl] = t[we], $f(t)) : e12[tl] = t; } function $l(e12) { - return zl(e12[Ct]); + return zl(e12[bt]); } function Ul(e12) { return zl(e12[K]); @@ -2688,7 +2688,7 @@ function Yf() { function rl(e12) { return Yf()?.createHTML(e12) || e12; } -var Ce = class { +var be = class { changingThisBreaksApplicationSecurity; constructor(t) { this.changingThisBreaksApplicationSecurity = t; @@ -2697,33 +2697,33 @@ var Ce = class { return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${qn})`; } }; -var qi = class extends Ce { +var qi = class extends be { getTypeName() { return "HTML"; } }; -var Zi = class extends Ce { +var Zi = class extends be { getTypeName() { return "Style"; } }; -var Qi = class extends Ce { +var Qi = class extends be { getTypeName() { return "Script"; } }; -var Yi = class extends Ce { +var Yi = class extends be { getTypeName() { return "URL"; } }; -var Ki = class extends Ce { +var Ki = class extends be { getTypeName() { return "ResourceURL"; } }; function Me(e12) { - return e12 instanceof Ce ? e12.changingThisBreaksApplicationSecurity : e12; + return e12 instanceof be ? e12.changingThisBreaksApplicationSecurity : e12; } function He(e12, t) { let n = Jl(e12); @@ -2735,7 +2735,7 @@ function He(e12, t) { return n === t; } function Jl(e12) { - return e12 instanceof Ce && e12.getTypeName() || null; + return e12 instanceof be && e12.getTypeName() || null; } function As(e12) { return new qi(e12); @@ -3014,16 +3014,16 @@ function wp(e12) { } var Se = {}; function Fs(e12, t, n, r, o, i, s, a, c, l, u) { - let d = F + r, f = d + o, p = bp(d, f), h = typeof l == "function" ? l() : l; + let d = F + r, f = d + o, p = Cp(d, f), h = typeof l == "function" ? l() : l; return p[m] = { type: e12, blueprint: p, template: n, queries: null, viewQuery: a, declTNode: t, data: p.slice().fill(null, d), bindingStartIndex: d, expandoStartIndex: f, hostBindingOpCodes: null, firstCreatePass: true, firstUpdatePass: true, staticViewQueries: false, staticContentQueries: false, preOrderHooks: null, preOrderCheckHooks: null, contentHooks: null, contentCheckHooks: null, viewHooks: null, viewCheckHooks: null, destroyHooks: null, cleanup: null, contentQueries: null, components: null, directiveRegistry: typeof i == "function" ? i() : i, pipeRegistry: typeof s == "function" ? s() : s, firstChild: null, schemas: c, consts: h, incompleteFirstPass: false, ssrId: u }; } -function bp(e12, t) { +function Cp(e12, t) { let n = []; for (let r = 0; r < t; r++) n.push(r < e12 ? null : Se); return n; } -function Cp(e12) { +function bp(e12) { let t = e12.tView; return t === null || t.incompleteFirstPass ? e12.tView = Fs(1, null, e12.template, e12.decls, e12.vars, e12.directiveDefs, e12.pipeDefs, e12.viewQuery, e12.schemas, e12.consts, e12.id) : t; } @@ -3032,7 +3032,7 @@ function js(e12, t, n, r, o, i, s, a, c, l, u) { return d[ne] = o, d[y] = r | 4 | 128 | 8 | 64 | 1024, (l !== null || e12 && e12[y] & 2048) && (d[y] |= 2048), Ei(d), d[R] = d[Xe] = e12, d[x] = n, d[le] = s || e12 && e12[le], d[O] = a || e12 && e12[O], d[De] = c || e12 && e12[De] || null, d[J] = i, d[we] = Bf(), d[wt] = u, d[hi] = l, d[X] = t.type == 2 ? e12[X] : d, d; } function Tp(e12, t, n) { - let r = de(t, e12), o = Cp(n), i = e12[le].rendererFactory, s = Hs(e12, js(e12, o, null, cu(n), r, t, null, i.createRenderer(r, n), null, null, null)); + let r = de(t, e12), o = bp(n), i = e12[le].rendererFactory, s = Hs(e12, js(e12, o, null, cu(n), r, t, null, i.createRenderer(r, n), null, null, null)); return e12[t.index] = s; } function cu(e12) { @@ -3048,7 +3048,7 @@ function lu(e12, t, n, r) { return o; } function Hs(e12, t) { - return e12[Ct] ? e12[pi][K] = t : e12[Ct] = t, e12[pi] = t, t; + return e12[bt] ? e12[pi][K] = t : e12[bt] = t, e12[pi] = t, t; } function V(e12 = 1) { uu(oe(), M(), Fe() + e12, false); @@ -3171,13 +3171,13 @@ function hu(e12, t) { t[le].changeDetectionScheduler?.notify(9), Gr(e12, t, t[O], 2, null, null); } function Op(e12) { - let t = e12[Ct]; + let t = e12[bt]; if (!t) return ji(e12[m], e12); for (; t; ) { let n = null; if (Le(t)) - n = t[Ct]; + n = t[bt]; else { let r = t[S]; r && (n = r); @@ -3247,7 +3247,7 @@ function kp(e12, t) { t(false); } function Pp(e12, t) { - let n = e12.cleanup, r = t[bt]; + let n = e12.cleanup, r = t[Ct]; if (n !== null) for (let s = 0; s < n.length - 1; s += 2) if (typeof n[s] == "string") { @@ -3257,7 +3257,7 @@ function Pp(e12, t) { let a = r[n[s + 1]]; n[s].call(a); } - r !== null && (t[bt] = null); + r !== null && (t[Ct] = null); let o = t[Ee]; if (o !== null) { t[Ee] = null; @@ -3283,19 +3283,19 @@ function Lp(e12, t) { if (Array.isArray(i)) for (let s = 0; s < i.length; s += 2) { let a = o[i[s]], c = i[s + 1]; - T(b.LifecycleHookStart, a, c); + T(C.LifecycleHookStart, a, c); try { c.call(a); } finally { - T(b.LifecycleHookEnd, a, c); + T(C.LifecycleHookEnd, a, c); } } else { - T(b.LifecycleHookStart, o, i); + T(C.LifecycleHookStart, o, i); try { i.call(o); } finally { - T(b.LifecycleHookEnd, o, i); + T(C.LifecycleHookEnd, o, i); } } } @@ -3441,11 +3441,11 @@ function mu(e12, t, n, r, o) { let i = Fe(), s = r & 2; try { je(-1), s && t.length > F && uu(e12, t, F, false); - let a = s ? b.TemplateUpdateStart : b.TemplateCreateStart; + let a = s ? C.TemplateUpdateStart : C.TemplateCreateStart; T(a, o, n), n(r, o); } finally { je(i); - let a = s ? b.TemplateUpdateEnd : b.TemplateCreateEnd; + let a = s ? C.TemplateUpdateEnd : C.TemplateCreateEnd; T(a, o, n); } } @@ -3484,7 +3484,7 @@ function Yp(e12, t, n) { for (let s = r; s < o; s++) { let a = e12.data[s], c = _r(t, e12, s, n); if (kt(c, t), i !== null && Xp(t, s - r, c, a, n, i), Mt(a)) { - let l = be(n.index, t); + let l = Ce(n.index, t); l[x] = _r(t, e12, s, n); } } @@ -3549,14 +3549,14 @@ function rh(e12, t, n, r, o) { return a; } function oh(e12, t) { - let n = be(t, e12), r = n[m]; + let n = Ce(t, e12), r = n[m]; ih(r, n); let o = n[ne]; - o !== null && n[wt] === null && (n[wt] = Yl(o, n[De])), T(b.ComponentStart); + o !== null && n[wt] === null && (n[wt] = Yl(o, n[De])), T(C.ComponentStart); try { Ws(r, n, n[x]); } finally { - T(b.ComponentEnd, n[x]); + T(C.ComponentEnd, n[x]); } } function ih(e12, t) { @@ -3681,7 +3681,7 @@ function wu(e12) { } } var ph = 100; -function bu(e12, t = 0) { +function Cu(e12, t = 0) { let r = e12[le].rendererFactory, o = false; o || r.begin?.(); try { @@ -3722,7 +3722,7 @@ function gh(e12, t, n, r) { let p = e12.preOrderHooks; p !== null && Dr(t, p, 0, null), Li(t, 0); } - if (s || mh(t), wu(t), Cu(t, 0), e12.contentQueries !== null && Kl(e12, t), !i) + if (s || mh(t), wu(t), bu(t, 0), e12.contentQueries !== null && Kl(e12, t), !i) if (u) { let p = e12.contentCheckHooks; p !== null && Ir(t, p); @@ -3754,7 +3754,7 @@ function gh(e12, t, n, r) { l !== null && (An(l, c), a && lh(l)), dr(); } } -function Cu(e12, t) { +function bu(e12, t) { for (let n = $l(e12); n !== null; n = Ul(n)) for (let r = S; r < n.length; r++) { let o = n[r]; @@ -3773,12 +3773,12 @@ function mh(e12) { } } function yh(e12, t, n) { - T(b.ComponentStart); - let r = be(t, e12); + T(C.ComponentStart); + let r = Ce(t, e12); try { Tu(r, n); } finally { - T(b.ComponentEnd, r[x]); + T(C.ComponentEnd, r[x]); } } function Tu(e12, t) { @@ -3791,7 +3791,7 @@ function is(e12, t) { else if (o & 8192) { let a = g(null); try { - wu(e12), Cu(e12, 1); + wu(e12), bu(e12, 1); let c = r.components; c !== null && Mu(e12, c, 1), Eu(e12); } finally { @@ -3815,11 +3815,11 @@ function vh(e12, t) { let i = o, s = n[++r], a = n[++r]; xc(s, i); let c = t[i]; - T(b.HostBindingsUpdateStart, c); + T(C.HostBindingsUpdateStart, c); try { a(2, c); } finally { - T(b.HostBindingsUpdateEnd, c); + T(C.HostBindingsUpdateEnd, c); } } } @@ -3939,7 +3939,7 @@ var Pt = class { ar(this._lView), this._lView[y] |= 128; } detectChanges() { - this._lView[y] |= 1024, bu(this._lView); + this._lView[y] |= 1024, Cu(this._lView); } checkNoChanges() { } @@ -4001,17 +4001,17 @@ function Qr(e12, t, n, r, o) { return Nt(i, true), i; } function Dh(e12, t, n, r, o) { - let i = Ci(), s = Ti(), a = s ? i : i && i.parent, c = e12.data[t] = bh(e12, a, n, t, r, o); + let i = bi(), s = Ti(), a = s ? i : i && i.parent, c = e12.data[t] = Ch(e12, a, n, t, r, o); return wh(e12, c, i, s), c; } function wh(e12, t, n, r) { e12.firstChild === null && (e12.firstChild = t), n !== null && (r ? n.child == null && t.parent !== null && (n.child = t) : n.next === null && (n.next = t, t.prev = n)); } -function bh(e12, t, n, r, o, i) { +function Ch(e12, t, n, r, o, i) { let s = t ? t.injectorIndex : -1, a = 0; return wc() && (a |= 128), { type: n, index: r, insertBeforeIndex: null, injectorIndex: s, directiveStart: -1, directiveEnd: -1, directiveStylingLast: -1, componentOffset: -1, controlDirectiveIndex: -1, customControlIndex: -1, propertyBindings: null, flags: a, providerIndexes: 0, value: o, attrs: i, mergedAttrs: null, localNames: null, initialInputs: null, inputs: null, hostDirectiveInputs: null, outputs: null, hostDirectiveOutputs: null, directiveToIndex: null, tView: null, next: null, prev: null, projectionNext: null, child: null, parent: t, projection: null, styles: null, stylesWithoutHost: null, residualStyles: void 0, classes: null, classesWithoutHost: null, residualClasses: void 0, classBindings: 0, styleBindings: 0 }; } -function Ch(e12) { +function bh(e12) { let t = e12[gi] ?? [], r = e12[R][O], o = []; for (let i of t) i.data[ql] !== void 0 ? o.push(i) : Th(i, r); @@ -4055,7 +4055,7 @@ var Ou = (() => { } return e12; })(); -var br = {}; +var Cr = {}; var cs = class { injector; parentInjector; @@ -4063,8 +4063,8 @@ var cs = class { this.injector = t, this.parentInjector = n; } get(t, n, r) { - let o = this.injector.get(t, br, r); - return o !== br || n === br ? o : this.parentInjector.get(t, n, r); + let o = this.injector.get(t, Cr, r); + return o !== Cr || n === Cr ? o : this.parentInjector.get(t, n, r); } }; function xr(e12, t, n) { @@ -4246,7 +4246,7 @@ function jh(e12, t, n, r, o, i, s, a) { return i && Sh(c, t, d, fe(l, a), o), d.mergedAttrs = Fr(d.mergedAttrs, d.attrs), d.attrs !== null && xr(d, d.attrs, false), d.mergedAttrs !== null && xr(d, d.mergedAttrs, true), c.queries !== null && c.queries.elementStart(c, d), d; } function Hh(e12, t) { - Cf(e12, t), mi(t) && e12.queries.elementEnd(t); + bf(e12, t), mi(t) && e12.queries.elementEnd(t); } function Vh(e12, t, n, r, o, i) { let s = t.consts, a = fe(s, o), c = Qr(t, e12, n, r, a); @@ -4268,7 +4268,7 @@ function Bh(e12, t, n) { return function r(o) { let i = r.__ngNativeEl__; i !== void 0 && zf(o, i); - let s = Tt(e12) ? be(e12.index, t) : t; + let s = Tt(e12) ? Ce(e12.index, t) : t; Gs(s, 5); let a = t[x], c = yl(t, a, n, o), l = r.__ngNextListenerFn__; for (; l; ) @@ -4279,11 +4279,11 @@ function Bh(e12, t, n) { function yl(e12, t, n, r) { let o = g(null); try { - return T(b.OutputStart, t, n), n(r) !== false; + return T(C.OutputStart, t, n), n(r) !== false; } catch (i) { return nh(e12, i), false; } finally { - T(b.OutputEnd, t, n), g(o); + T(C.OutputEnd, t, n), g(o); } } function $h(e12, t, n, r, o, i, s, a) { @@ -4311,7 +4311,7 @@ function zh(e12, t, n, r) { for (let i = 0; i < o.length - 1; i += 2) { let s = o[i]; if (s === n && o[i + 1] === r) { - let a = t[bt], c = o[i + 2]; + let a = t[Ct], c = o[i + 2]; return a && a.length > c ? a[c] : null; } typeof s == "string" && (i += 2); @@ -4319,7 +4319,7 @@ function zh(e12, t, n, r) { return null; } function Wh(e12, t, n, r, o, i, s) { - let a = t.firstCreatePass ? bi(t) : null, c = wi(n), l = c.length; + let a = t.firstCreatePass ? Ci(t) : null, c = wi(n), l = c.length; c.push(o, i), a && a.push(r, e12, l, (l + 1) * (s ? -1 : 1)); } var ls = Symbol("BINDING"); @@ -4382,7 +4382,7 @@ var dn = class extends Yr { super(), this.componentDef = t, this.ngModule = n, this.componentType = t.type, this.selector = Dp(t.selectors), this.ngContentSelectors = t.ngContentSelectors ?? [], this.isBoundToModule = !!n; } create(t, n, r, o, i, s) { - T(b.DynamicComponentStart); + T(C.DynamicComponentStart); let a = g(null); try { let c = this.componentDef, l = Qh(c, o || this.ngModule, t), u = Yh(l), d = u.tracingService; @@ -4397,11 +4397,11 @@ var dn = class extends Yr { let p = null; try { let h = jh(F, f, 2, "#host", () => c.directiveRegistry, true, 0); - au(l, u, h), kt(u, f), Wp(c, f, h), Zf(c, h, f), Hh(c, h), r !== void 0 && eg(h, this.ngContentSelectors, r), p = be(h.index, f), f[x] = p[x], Ws(c, f, null); + au(l, u, h), kt(u, f), Wp(c, f, h), Zf(c, h, f), Hh(c, h), r !== void 0 && eg(h, this.ngContentSelectors, r), p = Ce(h.index, f), f[x] = p[x], Ws(c, f, null); } catch (h) { throw p !== null && zi(p), zi(f), h; } finally { - T(b.DynamicComponentEnd), dr(); + T(C.DynamicComponentEnd), dr(); } return new Ar(this.componentType, f, !!d); } @@ -4454,7 +4454,7 @@ var Ar = class extends Ru { previousInputValues = null; _tNode; constructor(t, n, r) { - super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = ir(n[m], F), this.location = Ft(this._tNode, n), this.instance = be(this._tNode.index, n)[x], this.hostView = this.changeDetectorRef = new Pt(n, void 0), this.componentType = t; + super(), this._rootLView = n, this._hasInputBindings = r, this._tNode = ir(n[m], F), this.location = Ft(this._tNode, n), this.instance = Ce(this._tNode.index, n)[x], this.hostView = this.changeDetectorRef = new Pt(n, void 0), this.componentType = t; } setInput(t, n) { this._hasInputBindings; @@ -4463,7 +4463,7 @@ var Ar = class extends Ru { return; let o = this._rootLView, i = rh(r, o[m], o, t, n); this.previousInputValues.set(t, n); - let s = be(r.index, o); + let s = Ce(r.index, o); Gs(s, 1); } get injector() { @@ -4898,7 +4898,7 @@ function Qs(e12) { let t = Dg(e12), n = A(N({}, t), { decls: e12.decls, vars: e12.vars, template: e12.template, consts: e12.consts || null, ngContentSelectors: e12.ngContentSelectors, onPush: e12.changeDetection === Ss.OnPush, directiveDefs: null, pipeDefs: null, dependencies: t.standalone && e12.dependencies || null, getStandaloneInjector: t.standalone ? (o) => o.get(yg).getOrCreateStandaloneInjector(n) : null, getExternalStyles: null, signals: e12.signals ?? false, data: e12.data || {}, encapsulation: e12.encapsulation || ie.Emulated, styles: e12.styles || Ne, _: null, schemas: e12.schemas || null, tView: null, id: "" }); t.standalone && ct("NgStandalone"), wg(n); let r = e12.dependencies; - return n.directiveDefs = Il(r, vg), n.pipeDefs = Il(r, Ka), n.id = bg(n), n; + return n.directiveDefs = Il(r, vg), n.pipeDefs = Il(r, Ka), n.id = Cg(n), n; }); } function vg(e12) { @@ -4940,13 +4940,13 @@ function Il(e12, t) { return r; } : null; } -function bg(e12) { +function Cg(e12) { let t = 0, n = typeof e12.consts == "function" ? "" : e12.consts, r = [e12.selectors, e12.ngContentSelectors, e12.hostVars, e12.hostAttrs, n, e12.vars, e12.decls, e12.encapsulation, e12.standalone, e12.signals, e12.exportAs, JSON.stringify(e12.inputs), JSON.stringify(e12.outputs), Object.getOwnPropertyNames(e12.type.prototype), !!e12.contentQueries, !!e12.viewQuery]; for (let i of r.join("|")) t = Math.imul(31, t) + i.charCodeAt(0) << 0; return t += 2147483648, "c" + t; } -function Cg(e12, t, n, r, o, i, s, a) { +function bg(e12, t, n, r, o, i, s, a) { if (n.firstCreatePass) { e12.mergedAttrs = Fr(e12.mergedAttrs, e12.attrs); let u = e12.tView = Fs(2, e12, o, i, s, n.directiveRegistry, n.pipeRegistry, null, n.schemas, n.consts, null); @@ -4969,7 +4969,7 @@ function Or(e12, t, n, r, o, i, s, a, c, l, u) { } } else f = t.data[d]; - return Cg(f, e12, t, n, r, o, i, c), l != null && yu(e12, f, u), f; + return bg(f, e12, t, n, r, o, i, c), l != null && yu(e12, f, u), f; } var Tg = Mg; function Mg(e12, t, n, r) { @@ -5089,7 +5089,7 @@ var vn = (() => { } bootstrapImpl(n, r, o = ce.NULL) { return this._injector.get(Y).run(() => { - T(b.BootstrapComponentStart); + T(C.BootstrapComponentStart); let s = n instanceof Yr; if (!this._injector.get(Js).done) { let h = ""; @@ -5100,34 +5100,34 @@ var vn = (() => { let l = zu(c) ? void 0 : this._injector.get(Rr), u = r || c.selector, d = c.create(o, [], u, l), f = d.location.nativeElement, p = d.injector.get(Ys, null); return p?.registerApplication(f), d.onDestroy(() => { this.detachView(d.hostView), on(this.components, d), p?.unregisterApplication(f); - }), this._loadComponent(d), T(b.BootstrapComponentEnd, d), d; + }), this._loadComponent(d), T(C.BootstrapComponentEnd, d), d; }); } tick() { this.zonelessEnabled || (this.dirtyFlags |= 1), this._tick(); } _tick() { - T(b.ChangeDetectionStart), this.tracingSnapshot !== null ? this.tracingSnapshot.run(Bs.CHANGE_DETECTION, this.tickImpl) : this.tickImpl(); + T(C.ChangeDetectionStart), this.tracingSnapshot !== null ? this.tracingSnapshot.run(Bs.CHANGE_DETECTION, this.tickImpl) : this.tickImpl(); } tickImpl = () => { if (this._runningTick) - throw T(b.ChangeDetectionEnd), new v(101, false); + throw T(C.ChangeDetectionEnd), new v(101, false); let n = g(null); try { this._runningTick = true, this.synchronize(); } finally { - this._runningTick = false, this.tracingSnapshot?.dispose(), this.tracingSnapshot = null, g(n), this.afterTick.next(), T(b.ChangeDetectionEnd); + this._runningTick = false, this.tracingSnapshot?.dispose(), this.tracingSnapshot = null, g(n), this.afterTick.next(), T(C.ChangeDetectionEnd); } }; synchronize() { this._rendererFactory === null && !this._injector.destroyed && (this._rendererFactory = this._injector.get(st, null, { optional: true })); let n = 0; for (; this.dirtyFlags !== 0 && n++ < _g; ) { - T(b.ChangeDetectionSyncStart); + T(C.ChangeDetectionSyncStart); try { this.synchronizeOnce(); } finally { - T(b.ChangeDetectionSyncEnd); + T(C.ChangeDetectionSyncEnd); } } } @@ -5141,7 +5141,7 @@ var vn = (() => { if (!r && !Xt(o)) continue; let i = r && !this.zonelessEnabled ? 0 : 1; - bu(o, i), n = true; + Cu(o, i), n = true; } if (this.dirtyFlags &= -5, this.syncDirtyFlagsWithViews(), this.dirtyFlags & 23) return; @@ -5356,7 +5356,7 @@ function ta(e12, t) { let a = g(null); try { if (i !== void 0 && Nu(i, s), e12 !== -1) { - let c = F + e12, l = Pr(n, c), u = bs(n[m], c), d = Au(l, u, n), f = qr(n, u, t, { dehydratedView: d }); + let c = F + e12, l = Pr(n, c), u = Cs(n[m], c), d = Au(l, u, n), f = qr(n, u, t, { dehydratedView: d }); Zr(l, f, s, an(u, d)); } } finally { @@ -5443,7 +5443,7 @@ function to(e12) { try { let r = M(), o = r[m], i = r[n], s = n + 1, a = Pr(r, s); if (i.liveCollection === void 0) { - let l = bs(o, s); + let l = Cs(o, s); i.liveCollection = new ws(a, r, l); } else i.liveCollection.reset(); @@ -5453,10 +5453,10 @@ function to(e12) { if (yn(r, l, u)) { let d = n + 2, f = Pr(r, d); if (u) { - let p = bs(o, d), h = Au(f, p, r), k = qr(r, p, void 0, { dehydratedView: h }); + let p = Cs(o, d), h = Au(f, p, r), k = qr(r, p, void 0, { dehydratedView: h }); Zr(f, k, 0, an(p, h)); } else - o.firstUpdatePass && Ch(f), Nu(f, 0); + o.firstUpdatePass && bh(f), Nu(f, 0); } } } finally { @@ -5487,7 +5487,7 @@ function Ag(e12, t) { function Rg(e12, t) { return Su(e12, t); } -function bs(e12, t) { +function Cs(e12, t) { return ir(e12, t); } function j(e12, t, n, r) { @@ -5496,7 +5496,7 @@ function j(e12, t, n, r) { } function B() { let e12 = pe(), t = th(e12); - return bc(t) && Cc(), Dc(), B; + return Cc(t) && bc(), Dc(), B; } var Og = (e12, t, n, r, o) => (pr(true), ou(t[O], r, jc())); function me(e12, t, n) { @@ -5552,7 +5552,7 @@ function Pg(e12) { function Lg(e12, t) { return e12 & 131071 | t << 17; } -function Cs(e12) { +function bs(e12) { return e12 | 2; } function Lt(e12) { @@ -5584,19 +5584,19 @@ function jg(e12, t, n, r, o, i) { e12[r + 1] = Er(a, 0), a !== 0 && (e12[a + 1] = Bi(e12[a + 1], r)), a = r; else e12[r + 1] = Er(c, 0), a === 0 ? a = r : e12[c + 1] = Bi(e12[c + 1], r), c = r; - l && (e12[r + 1] = Cs(e12[r + 1])), bl(e12, u, r, true), bl(e12, u, r, false), Hg(t, u, e12, r, i), s = Er(a, c), i ? t.classBindings = s : t.styleBindings = s; + l && (e12[r + 1] = bs(e12[r + 1])), Cl(e12, u, r, true), Cl(e12, u, r, false), Hg(t, u, e12, r, i), s = Er(a, c), i ? t.classBindings = s : t.styleBindings = s; } function Hg(e12, t, n, r, o) { let i = o ? e12.residualClasses : e12.residualStyles; i != null && typeof t == "string" && It(i, t) >= 0 && (n[r + 1] = Ts(n[r + 1])); } -function bl(e12, t, n, r) { +function Cl(e12, t, n, r) { let o = e12[n + 1], i = t === null, s = r ? at(o) : Lt(o), a = false; for (; s !== 0 && (a === false || i); ) { let c = e12[s], l = e12[s + 1]; - Vg(c, t) && (a = true, e12[s + 1] = r ? Ts(l) : Cs(l)), s = r ? at(l) : Lt(l); + Vg(c, t) && (a = true, e12[s + 1] = r ? Ts(l) : bs(l)), s = r ? at(l) : Lt(l); } - a && (e12[n + 1] = r ? Cs(o) : Ts(o)); + a && (e12[n + 1] = r ? bs(o) : Ts(o)); } function Vg(e12, t) { return e12 === null || t == null || (Array.isArray(e12) ? e12[1] : e12) === t ? true : Array.isArray(e12) && typeof t == "string" ? It(e12, t) >= 0 : false; @@ -5671,14 +5671,14 @@ function pn(e12, t, n) { function Zg(e12, t, n, r, o, i, s, a) { if (!(t.type & 3)) return; - let c = e12.data, l = c[a + 1], u = Fg(l) ? Cl(c, t, n, o, Lt(l), s) : void 0; + let c = e12.data, l = c[a + 1], u = Fg(l) ? bl(c, t, n, o, Lt(l), s) : void 0; if (!Lr(u)) { - Lr(i) || Pg(l) && (i = Cl(c, null, n, o, a, s)); + Lr(i) || Pg(l) && (i = bl(c, null, n, o, a, s)); let d = vi(Fe(), n); zp(r, s, d, o, i); } } -function Cl(e12, t, n, r, o, i) { +function bl(e12, t, n, r, o, i) { let s = t === null, a; for (; o > 0; ) { let c = e12[o], l = Array.isArray(c), u = l ? c[1] : c, d = u === null, f = n[o + 1]; @@ -5920,14 +5920,14 @@ var ym = 1e4; var VM = ym - 1e3; function Zu(e12) { let { rootComponent: t, appProviders: n, platformProviders: r, platformRef: o } = e12; - T(b.BootstrapApplicationStart); + T(C.BootstrapApplicationStart); try { let i = o?.injector ?? gm(r), s = [aa(), Wc, ...n || []], a = new fn({ providers: s, parent: i, debugName: "", runEnvironmentInitializers: false }); return dm({ r3Injector: a.injector, platformInjector: i, rootComponent: t }); } catch (i) { return Promise.reject(i); } finally { - T(b.BootstrapApplicationEnd); + T(C.BootstrapApplicationEnd); } } var Qu = null; @@ -5948,10 +5948,10 @@ function da(e12, t) { } return null; } -var bn = class { +var Cn = class { }; var Yu = "browser"; -var Cn = class { +var bn = class { _doc; constructor(t) { this._doc = t; @@ -5959,7 +5959,7 @@ var Cn = class { manager; }; var io = (() => { - class e12 extends Cn { + class e12 extends bn { constructor(n) { super(n); } @@ -6095,10 +6095,10 @@ var Em = `_nghost-${ed}`; var Im = `_ngcontent-${ed}`; var Dm = true; var wm = new D("", { factory: () => Dm }); -function bm(e12) { +function Cm(e12) { return Im.replace(ya, e12); } -function Cm(e12) { +function bm(e12) { return Em.replace(ya, e12); } function td(e12, t) { @@ -6311,7 +6311,7 @@ var ao = class extends Mn { hostAttr; constructor(t, n, r, o, i, s, a, c) { let l = o + "-" + r.id; - super(t, n, r, i, s, a, c, l), this.contentAttr = bm(l), this.hostAttr = Cm(l); + super(t, n, r, i, s, a, c, l), this.contentAttr = Cm(l), this.hostAttr = bm(l); } applyToHost(t) { this.applyStyles(), this.setAttribute(t, this.hostAttr, ""); @@ -6392,7 +6392,7 @@ var nd = ["alt", "control", "meta", "shift"]; var Sm = { "\b": "Backspace", " ": "Tab", "\x7F": "Delete", "\x1B": "Escape", Del: "Delete", Esc: "Escape", Left: "ArrowLeft", Right: "ArrowRight", Up: "ArrowUp", Down: "ArrowDown", Menu: "ContextMenu", Scroll: "ScrollLock", Win: "OS" }; var Nm = { alt: (e12) => e12.altKey, control: (e12) => e12.ctrlKey, meta: (e12) => e12.metaKey, shift: (e12) => e12.shiftKey }; var rd = (() => { - class e12 extends Cn { + class e12 extends bn { constructor(n) { super(n); } @@ -6456,7 +6456,7 @@ function Om() { return Ns(document), document; } var km = [{ provide: gn, useValue: Yu }, { provide: Hr, useValue: Am, multi: true }, { provide: U, useFactory: Om }]; -var Pm = [{ provide: Yt, useValue: "root" }, { provide: Ie, useFactory: Rm }, { provide: co, useClass: io, multi: true }, { provide: co, useClass: rd, multi: true }, va, ma, ga, { provide: st, useExisting: va }, { provide: bn, useClass: _m }, []]; +var Pm = [{ provide: Yt, useValue: "root" }, { provide: Ie, useFactory: Rm }, { provide: co, useClass: io, multi: true }, { provide: co, useClass: rd, multi: true }, va, ma, ga, { provide: st, useExisting: va }, { provide: Cn, useClass: _m }, []]; var Ia = (() => { class e12 { static \u0275fac = function(r) { @@ -6561,7 +6561,7 @@ var uo = class e10 { this.page.set(t), this.model && (this.model.set("page", t), this.model.save_changes()); } setPageSize(t) { - this.pageSize.set(t), this.model && (this.model.set("page_size", t), this.model.set("page", 0), this.model.save_changes()); + this.pageSize.set(t), this.page.set(0), this.model && (this.model.set("page_size", t), this.model.set("page", 0), this.model.save_changes()); } setMaxColumns(t) { this.maxColumns.set(t), this.model && (this.model.set("max_columns", t), this.model.save_changes()); @@ -6623,13 +6623,12 @@ var fo = class e11 { }); isDarkMode = q(false); themeObserver = null; - isHeightInitialized = false; tableContainerRef; constructor() { Pi(() => { let t = this.state.tableHtml(), n = this.state.sortContext(), r = this.state.orderableColumns(); setTimeout(() => { - this.applySortIndicators(), this.initializeHeight(); + this.applySortIndicators(); }, 0); }); } @@ -6658,12 +6657,16 @@ var fo = class e11 { let o = r.querySelector("div.bf-header-content"); if (!o) return; - let i = o.textContent?.trim() || "", s = this.state.orderableColumns(); + let i = this.getColumnName(o), s = this.state.orderableColumns(); if (!i || !s.includes(i)) return; let a = [...this.state.sortContext()], c = a.findIndex((u) => u.column === i), l = [...a]; t.shiftKey ? c !== -1 ? l[c].ascending ? l[c] = A(N({}, l[c]), { ascending: false }) : l.splice(c, 1) : l.push({ column: i, ascending: true }) : c !== -1 && l.length === 1 ? l[c].ascending ? l[c] = A(N({}, l[c]), { ascending: false }) : l = [] : l = [{ column: i, ascending: true }], this.state.setSortContext(l); } + getColumnName(t) { + let n = t.cloneNode(true); + return n.querySelector(".sort-indicator")?.remove(), n.textContent?.trim() || ""; + } applySortIndicators() { let t = this.tableContainerRef?.nativeElement; if (!t) @@ -6673,9 +6676,8 @@ var fo = class e11 { let a = s.querySelector("div.bf-header-content"); if (!a) return; - let c = a.textContent?.trim() || ""; + let c = this.getColumnName(a); if (c && n.includes(c)) { - s.style.cursor = "pointer"; let l = a.querySelector(".sort-indicator"); l || (l = document.createElement("span"), l.classList.add("sort-indicator"), l.style.paddingLeft = "5px", a.appendChild(l)); let u = o(c); @@ -6687,18 +6689,6 @@ var fo = class e11 { } }); } - initializeHeight() { - if (this.isHeightInitialized) - return; - let t = this.tableContainerRef?.nativeElement; - if (!t) - return; - let n = t.querySelector("table"); - if (n) { - let r = n.offsetHeight; - r > 0 && (t.style.height = `${r + 2}px`, this.isHeightInitialized = true); - } - } initThemeDetection() { this.updateTheme(); let t = new MutationObserver(() => this.updateTheme()); diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts index e72e0b3e9dc1..2432196397ef 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -356,7 +356,6 @@ export class App { protected readonly isDarkMode = signal(false); private themeObserver: MutationObserver | null = null; - private isHeightInitialized = false; @ViewChild('tableContainer', { static: true }) tableContainerRef!: ElementRef; @@ -371,7 +370,6 @@ export class App { // Schedule DOM post-processing once the innerHTML render completes setTimeout(() => { this.applySortIndicators(); - this.initializeHeight(); }, 0); }); } @@ -408,7 +406,7 @@ export class App { const header = target.closest('th'); if (!header) return; - const headerDiv = header.querySelector('div.bf-header-content'); + const headerDiv = header.querySelector('div.bf-header-content') as HTMLElement | null; if (!headerDiv) return; const columnName = this.getColumnName(headerDiv); @@ -473,10 +471,9 @@ export class App { const headers = container.querySelectorAll('th'); headers.forEach((header: HTMLElement) => { - const headerDiv = header.querySelector('div.bf-header-content'); + const headerDiv = header.querySelector('div.bf-header-content') as HTMLElement | null; if (!headerDiv) return; - const columnName = headerDiv.textContent?.trim() || ''; const columnName = this.getColumnName(headerDiv); if (columnName && sortableColumns.includes(columnName)) { @@ -503,20 +500,6 @@ export class App { }); } - private initializeHeight() { - if (this.isHeightInitialized) return; - const container = this.tableContainerRef?.nativeElement; - if (!container) return; - - const table = container.querySelector('table'); - if (table) { - const tableHeight = table.offsetHeight; - if (tableHeight > 0) { - container.style.height = `${tableHeight + 2}px`; - this.isHeightInitialized = true; - } - } - } private initThemeDetection() { this.updateTheme(); From a55af3e2aebab8af7bf44a91c5c3b971cde92531 Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Thu, 11 Jun 2026 20:29:03 +0000 Subject: [PATCH 41/42] format --- packages/bigframes/bigframes/display/html.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/bigframes/bigframes/display/html.py b/packages/bigframes/bigframes/display/html.py index 7475f912a70c..208fbe359f39 100644 --- a/packages/bigframes/bigframes/display/html.py +++ b/packages/bigframes/bigframes/display/html.py @@ -192,6 +192,7 @@ def create_html_representation( ) -> str: """Create an HTML representation of the DataFrame or Series.""" import bigframes.series + opts = options.display with display_options.pandas_repr(opts): if isinstance(obj, bigframes.series.Series): @@ -217,6 +218,7 @@ def _get_obj_metadata( obj: Union[bigframes.dataframe.DataFrame, bigframes.series.Series], ) -> tuple[bool, bool]: import bigframes.series + is_series = isinstance(obj, bigframes.series.Series) if is_series: has_index = len(obj._block.index_columns) > 0 @@ -291,6 +293,7 @@ def repr_mimebundle_head( obj: Union[bigframes.dataframe.DataFrame, bigframes.series.Series], ) -> dict[str, str]: import bigframes.series + opts = options.display if isinstance(obj, bigframes.series.Series): df = obj.to_frame() From 07c77fe7e94f079650bd802e00319c0fc2c951ec Mon Sep 17 00:00:00 2001 From: Shuowei Li Date: Thu, 11 Jun 2026 20:33:15 +0000 Subject: [PATCH 42/42] style: format table widget angular and tests to 80-char limit --- .../table_widget_angular/src/app/app.ts | 8 +- .../tests/js/table_widget_angular.test.js | 102 +++++++++--------- 2 files changed, 60 insertions(+), 50 deletions(-) diff --git a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts index 2432196397ef..343be0074708 100644 --- a/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts +++ b/packages/bigframes/bigframes/display/table_widget_angular/src/app/app.ts @@ -406,7 +406,9 @@ export class App { const header = target.closest('th'); if (!header) return; - const headerDiv = header.querySelector('div.bf-header-content') as HTMLElement | null; + const headerDiv = header.querySelector( + 'div.bf-header-content' + ) as HTMLElement | null; if (!headerDiv) return; const columnName = this.getColumnName(headerDiv); @@ -471,7 +473,9 @@ export class App { const headers = container.querySelectorAll('th'); headers.forEach((header: HTMLElement) => { - const headerDiv = header.querySelector('div.bf-header-content') as HTMLElement | null; + const headerDiv = header.querySelector( + 'div.bf-header-content' + ) as HTMLElement | null; if (!headerDiv) return; const columnName = this.getColumnName(headerDiv); diff --git a/packages/bigframes/tests/js/table_widget_angular.test.js b/packages/bigframes/tests/js/table_widget_angular.test.js index cdc6dee14bab..62af3cb26dc6 100644 --- a/packages/bigframes/tests/js/table_widget_angular.test.js +++ b/packages/bigframes/tests/js/table_widget_angular.test.js @@ -31,60 +31,66 @@ describe('TableWidgetAngular', () => { expect(render).toBeDefined(); }); - it('should bootstrap multiple widgets independently on their respective elements', async () => { - const el1 = document.createElement('div'); - document.body.appendChild(el1); + it( + 'should bootstrap multiple widgets independently on their respective elements', + async () => { + const el1 = document.createElement('div'); + document.body.appendChild(el1); - const model1 = { - get: jest.fn((prop) => { - if (prop === 'table_html') return '
Widget 1 Content
'; - if (prop === 'page_size') return 10; - if (prop === 'page') return 0; - if (prop === 'row_count') return 100; - if (prop === 'max_columns') return 20; - return null; - }), - set: jest.fn(), - save_changes: jest.fn(), - on: jest.fn(), - }; + const model1 = { + get: jest.fn((prop) => { + if (prop === 'table_html') { + return '
Widget 1 Content
'; + } + if (prop === 'page_size') return 10; + if (prop === 'page') return 0; + if (prop === 'row_count') return 100; + if (prop === 'max_columns') return 20; + return null; + }), + set: jest.fn(), + save_changes: jest.fn(), + on: jest.fn(), + }; - const el2 = document.createElement('div'); - document.body.appendChild(el2); + const el2 = document.createElement('div'); + document.body.appendChild(el2); - const model2 = { - get: jest.fn((prop) => { - if (prop === 'table_html') return '
Widget 2 Content
'; - if (prop === 'page_size') return 25; - if (prop === 'page') return 0; - if (prop === 'row_count') return 200; - if (prop === 'max_columns') return 20; - return null; - }), - set: jest.fn(), - save_changes: jest.fn(), - on: jest.fn(), - }; + const model2 = { + get: jest.fn((prop) => { + if (prop === 'table_html') { + return '
Widget 2 Content
'; + } + if (prop === 'page_size') return 25; + if (prop === 'page') return 0; + if (prop === 'row_count') return 200; + if (prop === 'max_columns') return 20; + return null; + }), + set: jest.fn(), + save_changes: jest.fn(), + on: jest.fn(), + }; - render({ model: model1, el: el1 }); - render({ model: model2, el: el2 }); + render({ model: model1, el: el1 }); + render({ model: model2, el: el2 }); - // Wait for async angular bootstrap to complete - await new Promise((resolve) => setTimeout(resolve, 200)); + // Wait for async angular bootstrap to complete + await new Promise((resolve) => setTimeout(resolve, 200)); - const appRoot1 = el1.querySelector('app-root'); - expect(appRoot1).not.toBeNull(); - expect(el1.textContent).toContain('Widget 1 Content'); - expect(el1.textContent).toContain('100 total rows'); - expect(el1.textContent).toContain('Page 1 of 10'); + const appRoot1 = el1.querySelector('app-root'); + expect(appRoot1).not.toBeNull(); + expect(el1.textContent).toContain('Widget 1 Content'); + expect(el1.textContent).toContain('100 total rows'); + expect(el1.textContent).toContain('Page 1 of 10'); - const appRoot2 = el2.querySelector('app-root'); - expect(appRoot2).not.toBeNull(); - expect(el2.textContent).toContain('Widget 2 Content'); - expect(el2.textContent).toContain('200 total rows'); - expect(el2.textContent).toContain('Page 1 of 8'); + const appRoot2 = el2.querySelector('app-root'); + expect(appRoot2).not.toBeNull(); + expect(el2.textContent).toContain('Widget 2 Content'); + expect(el2.textContent).toContain('200 total rows'); + expect(el2.textContent).toContain('Page 1 of 8'); - document.body.removeChild(el1); - document.body.removeChild(el2); - }); + document.body.removeChild(el1); + document.body.removeChild(el2); + }); });