From 59e82fb070cbf12773d10e6c13cd44586217d8fd Mon Sep 17 00:00:00 2001 From: abiramcodes Date: Mon, 28 Sep 2026 23:47:08 +0530 Subject: [PATCH] enhance/routes - hightlight active routes with green tag --- app/src/pages/route-tree.ts | 7 ++++++- ...1NJaqR8.js => browser-agent-rpc-BXhoSh1z-D-DHiaWA.js} | 2 +- .../ui/assets/{index-TNlU-6c2.js => index-B5zP348G.js} | 9 +++++++-- extension/ui/index.html | 2 +- 4 files changed, 15 insertions(+), 5 deletions(-) rename extension/ui/assets/{browser-agent-rpc-BXhoSh1z-D1NJaqR8.js => browser-agent-rpc-BXhoSh1z-D-DHiaWA.js} (93%) rename extension/ui/assets/{index-TNlU-6c2.js => index-B5zP348G.js} (99%) diff --git a/app/src/pages/route-tree.ts b/app/src/pages/route-tree.ts index 89b30a3..87b21a0 100644 --- a/app/src/pages/route-tree.ts +++ b/app/src/pages/route-tree.ts @@ -99,7 +99,7 @@ interface MatchResult { {{ row.node.fullPath }} @if (isActive(row.node)) { - active + active } @if (row.node.lazy) { lazy {{ row.node.lazy }} @@ -197,6 +197,11 @@ interface MatchResult { tr.active td { background: #1c1917; } + .tag-active { + background: #14532d; + border-color: #14532d; + color: #bbf7d0; + } .actions { white-space: nowrap; } diff --git a/extension/ui/assets/browser-agent-rpc-BXhoSh1z-D1NJaqR8.js b/extension/ui/assets/browser-agent-rpc-BXhoSh1z-D-DHiaWA.js similarity index 93% rename from extension/ui/assets/browser-agent-rpc-BXhoSh1z-D1NJaqR8.js rename to extension/ui/assets/browser-agent-rpc-BXhoSh1z-D-DHiaWA.js index bef4bf6..ba75f89 100644 --- a/extension/ui/assets/browser-agent-rpc-BXhoSh1z-D1NJaqR8.js +++ b/extension/ui/assets/browser-agent-rpc-BXhoSh1z-D-DHiaWA.js @@ -1 +1 @@ -import{t as e}from"./index-TNlU-6c2.js";var t=Symbol.for(`devframe:browser-agent-registry`),{tools:n,listeners:r}=globalThis[t]??={tools:new Map,listeners:new Set};function i(){return[...n.values()]}function a(e){return r.add(e),()=>r.delete(e)}var o=`devframe:client-id`,s;function c(t=globalThis.window){try{let n=t?.sessionStorage;if(n){let t=n.getItem(o);return t||(t=e(),n.setItem(o,t)),t}}catch{}return s??=e(),s}function l(e){e.client.register({name:`devframe:agent:invoke-client-tool`,type:`action`,jsonSerializable:!0,handler:async(e,t)=>{let n=i().find(t=>t.id===e);if(!n)throw Error(`[devframe/agent] browser tool "${e}" not found`);return await n.invoke(t)}});let t=!1,n=!1,r=0,o=()=>{t||n||(t=!0,queueMicrotask(async()=>{if(t=!1,n)return;let a=i().map(({invoke:e,...t})=>t);(a.length!==0||r!==0)&&(r=a.length,await e.callOptional(`devframe:agent:sync-client-tools`,c(),a).catch(()=>{}))}))},s=a(o),l=e.events.on(`connection:status`,e=>{e===`connected`&&o()});return o(),()=>{n=!0,s(),l()}}export{l as setupBrowserAgentRpcBridge}; \ No newline at end of file +import{t as e}from"./index-B5zP348G.js";var t=Symbol.for(`devframe:browser-agent-registry`),{tools:n,listeners:r}=globalThis[t]??={tools:new Map,listeners:new Set};function i(){return[...n.values()]}function a(e){return r.add(e),()=>r.delete(e)}var o=`devframe:client-id`,s;function c(t=globalThis.window){try{let n=t?.sessionStorage;if(n){let t=n.getItem(o);return t||(t=e(),n.setItem(o,t)),t}}catch{}return s??=e(),s}function l(e){e.client.register({name:`devframe:agent:invoke-client-tool`,type:`action`,jsonSerializable:!0,handler:async(e,t)=>{let n=i().find(t=>t.id===e);if(!n)throw Error(`[devframe/agent] browser tool "${e}" not found`);return await n.invoke(t)}});let t=!1,n=!1,r=0,o=()=>{t||n||(t=!0,queueMicrotask(async()=>{if(t=!1,n)return;let a=i().map(({invoke:e,...t})=>t);(a.length!==0||r!==0)&&(r=a.length,await e.callOptional(`devframe:agent:sync-client-tools`,c(),a).catch(()=>{}))}))},s=a(o),l=e.events.on(`connection:status`,e=>{e===`connected`&&o()});return o(),()=>{n=!0,s(),l()}}export{l as setupBrowserAgentRpcBridge}; \ No newline at end of file diff --git a/extension/ui/assets/index-TNlU-6c2.js b/extension/ui/assets/index-B5zP348G.js similarity index 99% rename from extension/ui/assets/index-TNlU-6c2.js rename to extension/ui/assets/index-B5zP348G.js index d963590..4f0e057 100644 --- a/extension/ui/assets/index-TNlU-6c2.js +++ b/extension/ui/assets/index-B5zP348G.js @@ -5,7 +5,7 @@ `):``,this.name=`UnsubscriptionError`,this.errors=t}});function ur(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var dr=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a){if(this._parentage=null,Array.isArray(a))try{for(var o=ir(a),s=o.next();!s.done;s=o.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}else a.remove(this)}var c=this.initialTeardown;if(sr(c))try{c()}catch(e){i=e instanceof lr?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=ir(l),d=u.next();!d.done;d=u.next()){var f=d.value;try{mr(f)}catch(e){i??=[],e instanceof lr?i=or(or([],ar(i)),ar(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new lr(i)}},e.prototype.add=function(t){if(t&&t!==this){if(this.closed)mr(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=this._finalizers??[]).push(t)}}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&ur(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&ur(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e}(),fr=dr.EMPTY;function pr(e){return e instanceof dr||e&&`closed`in e&&sr(e.remove)&&sr(e.add)&&sr(e.unsubscribe)}function mr(e){sr(e)?e():e.unsubscribe()}var hr={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},gr={setTimeout:function(e,t){var n=[...arguments].slice(2),r=gr.delegate;return r?.setTimeout?r.setTimeout.apply(r,or([e,t],ar(n))):setTimeout.apply(void 0,or([e,t],ar(n)))},clearTimeout:function(e){return(gr.delegate?.clearTimeout||clearTimeout)(e)},delegate:void 0};function _r(e){gr.setTimeout(function(){var t=hr.onUnhandledError;if(t)t(e);else throw e})}function vr(){}var yr=(function(){return Sr(`C`,void 0,void 0)})();function br(e){return Sr(`E`,void 0,e)}function xr(e){return Sr(`N`,e,void 0)}function Sr(e,t,n){return{kind:e,value:t,error:n}}var Cr=null;function wr(e){if(hr.useDeprecatedSynchronousErrorHandling){var t=!Cr;if(t&&(Cr={errorThrown:!1,error:null}),e(),t){var n=Cr,r=n.errorThrown,i=n.error;if(Cr=null,r)throw i}}else e()}function Tr(e){hr.useDeprecatedSynchronousErrorHandling&&Cr&&(Cr.errorThrown=!0,Cr.error=e)}var Er=function(e){rr(t,e);function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,pr(t)&&t.add(n)):n.destination=Pr,n}return t.create=function(e,t,n){return new Ar(e,t,n)},t.prototype.next=function(e){this.isStopped?Nr(xr(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?Nr(br(e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?Nr(yr,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(dr),Dr=Function.prototype.bind;function Or(e,t){return Dr.call(e,t)}var kr=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){jr(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){jr(e)}else jr(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){jr(e)}},e}(),Ar=function(e){rr(t,e);function t(t,n,r){var i=e.call(this)||this,a;if(sr(t)||!t)a={next:t??void 0,error:n??void 0,complete:r??void 0};else{var o;i&&hr.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=function(){return i.unsubscribe()},a={next:t.next&&Or(t.next,o),error:t.error&&Or(t.error,o),complete:t.complete&&Or(t.complete,o)}):a=t}return i.destination=new kr(a),i}return t}(Er);function jr(e){hr.useDeprecatedSynchronousErrorHandling?Tr(e):_r(e)}function Mr(e){throw e}function Nr(e,t){var n=hr.onStoppedNotification;n&&gr.setTimeout(function(){return n(e,t)})}var Pr={closed:!0,next:vr,error:Mr,complete:vr},Fr=(function(){return typeof Symbol==`function`&&Symbol.observable||`@@observable`})();function Ir(e){return e}function Lr(e){return e.length===0?Ir:e.length===1?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)}}var Rr=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this,i=Vr(e)?e:new Ar(e,t,n);return wr(function(){var e=r,t=e.operator,n=e.source;i.add(t?t.call(i,n):n?r._subscribe(i):r._trySubscribe(i))}),i},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return t=zr(t),new t(function(t,r){var i=new Ar({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){return this.source?.subscribe(e)},e.prototype[Fr]=function(){return this},e.prototype.pipe=function(){return Lr([...arguments])(this)},e.prototype.toPromise=function(e){var t=this;return e=zr(e),new e(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function zr(e){return e??hr.Promise??Promise}function Br(e){return e&&sr(e.next)&&sr(e.error)&&sr(e.complete)}function Vr(e){return e&&e instanceof Er||Br(e)&&pr(e)}function Hr(e){return sr(e?.lift)}function Ur(e){return function(t){if(Hr(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw TypeError(`Unable to lift unknown Observable type`)}}function Wr(e,t,n,r,i){return new Gr(e,t,n,r,i)}var Gr=function(e){rr(t,e);function t(t,n,r,i,a,o){var s=e.call(this,t)||this;return s.onFinalize=a,s.shouldUnsubscribe=o,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((t=this.onFinalize)==null||t.call(this))}},t}(Er),Kr=cr(function(e){return function(){e(this),this.name=`ObjectUnsubscribedError`,this.message=`object unsubscribed`}}),qr=function(e){rr(t,e);function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return t.prototype.lift=function(e){var t=new Jr(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new Kr},t.prototype.next=function(e){var t=this;wr(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||=Array.from(t.observers);try{for(var i=ir(t.currentObservers),a=i.next();!a.done;a=i.next())a.value.next(e)}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;wr(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;wr(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){return this.observers?.length>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,a=n.observers;return r||i?fr:(this.currentObservers=null,a.push(e),new dr(function(){t.currentObservers=null,ur(a,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new Rr;return e.source=this,e},t.create=function(e,t){return new Jr(e,t)},t}(Rr),Jr=function(e){rr(t,e);function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return t.prototype.next=function(e){var t,n;(n=(t=this.destination)?.next)==null||n.call(t,e)},t.prototype.error=function(e){var t,n;(n=(t=this.destination)?.error)==null||n.call(t,e)},t.prototype.complete=function(){var e,t;(t=(e=this.destination)?.complete)==null||t.call(e)},t.prototype._subscribe=function(e){return this.source?.subscribe(e)??fr},t}(qr),Yr=function(e){rr(t,e);function t(t){var n=e.call(this)||this;return n._value=t,n}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(qr);function Xr(e,t){return Ur(function(n,r){var i=0;n.subscribe(Wr(r,function(n){r.next(e.call(t,n,i++))}))})}var Zr=`https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss`,k=class extends Error{code;constructor(e,t){super($r(e,t)),this.code=e}};function Qr(e){return`NG0${Math.abs(e)}`}function $r(e,t){return`${Qr(e)}${t?`: `+t:``}`}function ei(e){for(let t in e)if(e[t]===ei)return t;throw Error(``)}function ti(e){if(typeof e==`string`)return e;if(Array.isArray(e))return`[${e.map(ti).join(`, `)}]`;if(e==null)return``+e;let t=e.overriddenName||e.name;if(t)return`${t}`;let n=e.toString();if(n==null)return``+n;let r=n.indexOf(` `);return r>=0?n.slice(0,r):n}function ni(e,t){return e?t?`${e} ${t}`:e:t||``}var ri=ei({__forward_ref__:ei});function ii(e){return e.__forward_ref__=ii,e}function ai(e){return oi(e)?e():e}function oi(e){return typeof e==`function`&&Object.hasOwn(e,ri)&&e.__forward_ref__===ii}function si(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ci(e){return li(e,fi)}function li(e,t){return Object.hasOwn(e,t)&&e[t]||null}function ui(e){return(e?.[fi]??null)||null}function di(e){return e&&Object.hasOwn(e,pi)?e[pi]:null}var fi=ei({ɵprov:ei}),pi=ei({ɵinj:ei}),mi=class{_desc;ngMetadataName=`InjectionToken`;ɵprov;constructor(e,t){this._desc=e,this.ɵprov=void 0,typeof t==`number`?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.ɵprov=si({token:this,providedIn:t.providedIn||`root`,factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function hi(e){return e&&!!e.ɵproviders}var gi=ei({ɵcmp:ei}),_i=ei({ɵdir:ei}),vi=ei({ɵpipe:ei}),yi=ei({ɵfac:ei}),bi=ei({__NG_ELEMENT_ID__:ei}),xi=ei({__NG_ENV_ID__:ei});function Si(e){return Ti(e,`@Component`),e[gi]||null}function Ci(e){return Ti(e,`@Directive`),e[_i]||null}function wi(e){return Ti(e,`@Pipe`),e[vi]||null}function Ti(e,t){if(e==null)throw new k(-919,!1)}function Ei(e){return typeof e==`string`?e:e==null?``:String(e)}var Di=ei({ngErrorCode:ei}),Oi=ei({ngErrorMessage:ei}),ki=ei({ngTokenPath:ei});function Ai(e,t){return Mi(``,-200,t)}function ji(e,t){throw new k(-201,!1)}function Mi(e,t,n){let r=new k(t,e);return r[Di]=t,r[Oi]=e,n&&(r[ki]=n),r}function Ni(e){return e[Di]}var Pi;function Fi(){return Pi}function Ii(e){let t=Pi;return Pi=e,t}function Li(e,t,n){let r=ci(e);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;ji(e,``)}var Ri=globalThis,zi={},Bi=`__NG_DI_FLAG__`,Vi=class{injector;constructor(e){this.injector=e}retrieve(e,t){let n=Wi(t)||0;try{return this.injector.get(e,n&8?null:zi,n)}catch(e){if(Xn(e))return e;throw e}}};function Hi(e,t=0){let n=qn();if(n===void 0)throw new k(-203,!1);if(n===null)return Li(e,void 0,t);{let r=Gi(t),i=n.retrieve(e,r);if(Xn(i)){if(r.optional)return null;throw i}return i}}function Ui(e,t=0){return(Fi()||Hi)(ai(e),t)}function A(e,t){return Ui(e,Wi(t))}function Wi(e){return e===void 0||typeof e==`number`?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Gi(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function Ki(e){let t=[];for(let n=0;nArray.isArray(e)?Yi(e,t):t(e))}function Xi(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Zi(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Qi(e,t,n,r){let i=e.length;if(i==t)e.push(n,r);else if(i===1)e.push(r,e[0]),e[0]=n;else{for(i--,e.push(e[i-1],e[i]);i>t;){let t=i-2;e[i]=e[t],i--}e[t]=n,e[t+1]=r}}function $i(e,t,n){let r=ta(e,t);return r>=0?e[r|1]=n:(r=~r,Qi(e,r,t,n)),r}function ea(e,t){let n=ta(e,t);if(n>=0)return e[n|1]}function ta(e,t){return na(e,t,1)}function na(e,t,n){let r=0,i=e.length>>n;for(;i!==r;){let a=r+(i-r>>1),o=e[a<t?i=a:r=a+1}return~(i<{n.push(e)};return Yi(t,e=>{let t=e;fa(t,a,[],r)&&(i||=[],i.push(t))}),i!==void 0&&da(i,a),n}function da(e,t){for(let n=0;n{t(e,r)})}}function fa(e,t,n,r){if(e=ai(e),!e)return!1;let i=null,a=di(e),o=!a&&Si(e);if(!a&&!o){let t=e.ngModule;if(a=di(t),a)i=t;else return!1}else if(o&&!o.standalone)return!1;else i=e;let s=r.has(i);if(o){if(s)return!1;if(r.add(i),o.dependencies){let e=typeof o.dependencies==`function`?o.dependencies():o.dependencies;for(let i of e)fa(i,t,n,r)}}else if(a){if(a.imports!=null&&!s){r.add(i);let e;try{Yi(a.imports,i=>{fa(i,t,n,r)&&(e||=[],e.push(i))})}finally{}e!==void 0&&da(e,t)}if(!s){let e=Ji(i)||(()=>new i);t({provide:i,useFactory:e,deps:ia},i),t({provide:sa,useValue:i,multi:!0},i),t({provide:aa,useValue:()=>Ui(i),multi:!0},i)}let o=a.providers;if(o!=null&&!s){let n=e;pa(o,e=>{t(e,n)})}}else return!1;return i!==e&&e.providers!==void 0}function pa(e,t){for(let n of e)hi(n)&&(n=n.ɵproviders),Array.isArray(n)?pa(n,t):t(n)}var ma=ei({provide:String,useValue:ei});function ha(e){return typeof e==`object`&&!!e&&ma in e}function ga(e){return!!(e&&e.useExisting)}function _a(e){return!!(e&&e.useFactory)}function va(e){return typeof e==`function`}var ya=new mi(``),ba={},xa={},Sa=void 0;function Ca(){return Sa===void 0&&(Sa=new ca),Sa}var wa=class{},Ta=class extends wa{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(e,t,n,r){super(),this.parent=t,this.source=n,this.scopes=r,Fa(e,e=>this.processProvider(e)),this.records.set(oa,ja(void 0,this)),r.has(`environment`)&&this.records.set(wa,ja(void 0,this));let i=this.records.get(ya);i!=null&&typeof i.value==`string`&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(sa,ia,{self:!0}))}retrieve(e,t){let n=Wi(t)||0;try{return this.get(e,zi,n)}catch(e){if(Xn(e))return e;throw e}}destroy(){Aa(this),this._destroyed=!0;let e=O(null);try{for(let e of this._ngOnDestroyHooks)e.ngOnDestroy();let e=this._onDestroyHooks;this._onDestroyHooks=[];for(let t of e)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),O(e)}}onDestroy(e){return Aa(this),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){Aa(this);let t=Jn(this),n=Ii(void 0);try{return e()}finally{Jn(t),Ii(n)}}get(e,t=zi,n){if(Aa(this),Object.hasOwn(e,xi))return e[xi](this);let r=Wi(n),i=Jn(this),a=Ii(void 0);try{if(!(r&4)){let t=this.records.get(e);if(t===void 0){let n=Pa(e)&&ci(e);t=n&&this.injectableDefInScope(n)?ja(Ea(e),ba):null,this.records.set(e,t)}if(t!=null)return this.hydrate(e,t,r)}let n=r&2?Ca():this.parent;return t=r&8&&t===zi?null:t,n.get(e,t)}catch(e){let t=Ni(e);throw t===-200||t===-201?new k(t,null):e}finally{Ii(a),Jn(i)}}resolveInjectorInitializers(){let e=O(null),t=Jn(this),n=Ii(void 0);try{let e=this.get(aa,ia,{self:!0});for(let t of e)t()}finally{Jn(t),Ii(n),O(e)}}toString(){return`R3Injector[...]`}processProvider(e){e=ai(e);let t=va(e)?e:ai(e&&e.provide),n=Oa(e);if(!va(e)&&e.multi===!0){let n=this.records.get(t);n||(n=ja(void 0,ba,!0),n.factory=()=>Ki(n.multi),this.records.set(t,n)),t=e,n.multi.push(e)}this.records.set(t,n)}hydrate(e,t,n){let r=O(null);try{if(t.value===xa)throw Ai(``);return t.value===ba&&(t.value=xa,t.value=t.factory(void 0,n)),typeof t.value==`object`&&t.value&&Na(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{O(r)}}injectableDefInScope(e){if(!e.providedIn)return!1;let t=ai(e.providedIn);return typeof t==`string`?t===`any`||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(e){let t=this._onDestroyHooks.indexOf(e);t!==-1&&this._onDestroyHooks.splice(t,1)}};function Ea(e){let t=ci(e),n=t===null?Ji(e):t.factory;if(n!==null)return n;if(e instanceof mi)throw new k(-204,!1);if(e instanceof Function)return Da(e);throw new k(-204,!1)}function Da(e){if(e.length>0)throw new k(-204,!1);let t=ui(e);return t===null?()=>new e:()=>t.factory(e)}function Oa(e){return ha(e)?ja(void 0,e.useValue):ja(ka(e),ba)}function ka(e,t,n){let r;if(va(e)){let t=ai(e);return Ji(t)||Ea(t)}if(ha(e))r=()=>ai(e.useValue);else if(_a(e))r=()=>e.useFactory(...Ki(e.deps||[]));else if(ga(e))r=(t,n)=>Ui(ai(e.useExisting),n!==void 0&&n&8?8:void 0);else{let t=ai(e&&(e.useClass||e.provide));if(Ma(e))r=()=>new t(...Ki(e.deps));else return Ji(t)||Ea(t)}return r}function Aa(e){if(e.destroyed)throw new k(-205,!1)}function ja(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function Ma(e){return!!e.deps}function Na(e){return typeof e==`object`&&!!e&&typeof e.ngOnDestroy==`function`}function Pa(e){return typeof e==`function`||typeof e==`object`&&e.ngMetadataName===`InjectionToken`}function Fa(e,t){for(let n of e)Array.isArray(n)?Fa(n,t):n&&hi(n)?Fa(n.ɵproviders,t):t(n)}function Ia(e,t){let n;e instanceof Ta?(Aa(e),n=e):n=new Vi(e);let r=Jn(n),i=Ii(void 0);try{return t()}finally{Jn(r),Ii(i)}}function La(){return Fi()!==void 0||qn()!=null}var Ra=1;function za(e){return Array.isArray(e)&&typeof e[Ra]==`object`}function Ba(e){return Array.isArray(e)&&e[Ra]===!0}function Va(e){return!!(e.flags&4)}function Ha(e){return e.componentOffset>-1}function Ua(e){return(e.flags&1)==1}function Wa(e){return!!e.template}function Ga(e){return!!(e[2]&512)}function Ka(e){return(e[2]&256)==256}var qa=`math`;function Ja(e){for(;Array.isArray(e);)e=e[0];return e}function Ya(e,t){return Ja(t[e])}function Xa(e,t){return Ja(t[e.index])}function Za(e,t){return e.data[t]}function Qa(e,t){return e[t]}function $a(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}function eo(e,t){let n=t[e];return za(n)?n:n[0]}function to(e){return(e[2]&128)==128}function no(e){return Ba(e[3])}function ro(e,t){return t==null?null:e[t]}function io(e){e[17]=0}function ao(e){e[2]&1024||(e[2]|=1024,to(e)&&lo(e))}function oo(e,t){for(;e>0;)t=t[14],e--;return t}function so(e){return!!(e[2]&9216||e[24]?.dirty)}function co(e){e[10].changeDetectionScheduler?.notify(8),e[2]&64&&(e[2]|=1024),so(e)&&lo(e)}function lo(e){e[10].changeDetectionScheduler?.notify(0);let t=po(e);for(;t!==null&&!(t[2]&8192||(t[2]|=8192,!to(t)));)t=po(t)}function uo(e,t){if(Ka(e))throw new k(911,!1);e[21]===null&&(e[21]=[]),e[21].push(t)}function fo(e,t){if(e[21]===null)return;let n=e[21].indexOf(t);n!==-1&&e[21].splice(n,1)}function po(e){let t=e[3];return Ba(t)?t[3]:t}function mo(e){return e[7]??=[]}function ho(e){return e.cleanup??=[]}var j={lFrame:Yo(null),bindingsEnabled:!0,skipHydrationRootTNode:null},go=!1;function _o(){return j.lFrame.elementDepthCount}function vo(){j.lFrame.elementDepthCount++}function yo(){j.lFrame.elementDepthCount--}function bo(){return j.bindingsEnabled}function xo(){return j.skipHydrationRootTNode!==null}function So(e){return j.skipHydrationRootTNode===e}function Co(){j.skipHydrationRootTNode=null}function M(){return j.lFrame.lView}function wo(){return j.lFrame.tView}function N(e){return j.lFrame.contextLView=e,e[8]}function P(e){return j.lFrame.contextLView=null,e}function To(){let e=Eo();for(;e!==null&&e.type===64;)e=e.parent;return e}function Eo(){return j.lFrame.currentTNode}function Do(){let e=j.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function Oo(e,t){let n=j.lFrame;n.currentTNode=e,n.isParent=t}function ko(){return j.lFrame.isParent}function Ao(){j.lFrame.isParent=!1}function jo(){return j.lFrame.contextLView}function Mo(){return go}function No(e){let t=go;return go=e,t}function Po(){let e=j.lFrame,t=e.bindingRootIndex;return t===-1&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Fo(){return j.lFrame.bindingIndex}function Io(e){return j.lFrame.bindingIndex=e}function Lo(){return j.lFrame.bindingIndex++}function Ro(e){let t=j.lFrame,n=t.bindingIndex;return t.bindingIndex+=e,n}function zo(){return j.lFrame.inI18n}function Bo(e,t){let n=j.lFrame;n.bindingIndex=n.bindingRootIndex=e,Ho(t)}function Vo(){return j.lFrame.currentDirectiveIndex}function Ho(e){j.lFrame.currentDirectiveIndex=e}function Uo(e){let t=j.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function Wo(e){j.lFrame.currentQueryIndex=e}function Go(e){let t=e[1];return t.type===2?t.declTNode:t.type===1?e[5]:null}function Ko(e,t,n){if(n&4){let r=t,i=e;for(;r=r.parent,r===null&&!(n&1)&&(r=Go(i),!(r===null||(i=i[14],r.type&10))););if(r===null)return!1;t=r,e=i}let r=j.lFrame=Jo();return r.currentTNode=t,r.lView=e,!0}function qo(e){let t=Jo(),n=e[1];j.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Jo(){let e=j.lFrame,t=e===null?null:e.child;return t===null?Yo(e):t}function Yo(e){let t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=t),t}function Xo(){let e=j.lFrame;return j.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Zo=Xo;function Qo(){let e=Xo();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function $o(e){return(j.lFrame.contextLView=oo(e,j.lFrame.contextLView))[8]}function es(){return j.lFrame.selectedIndex}function ts(e){j.lFrame.selectedIndex=e}function ns(){let e=j.lFrame;return Za(e.tView,e.selectedIndex)}function rs(){j.lFrame.currentNamespace=`svg`}function is(){as()}function as(){j.lFrame.currentNamespace=null}function os(){return j.lFrame.currentNamespace}var ss=!0;function cs(){return ss}function ls(e){ss=e}function us(e,t=null,n=null,r){let i=ds(e,t,n,r);return i.resolveInjectorInitializers(),i}function ds(e,t=null,n=null,r,i=new Set){return new Ta([n||ia,la(e)],t||Ca(),null,i)}var fs=class e{static THROW_IF_NOT_FOUND=zi;static NULL=new ca;static create(e,t){if(Array.isArray(e))return us({name:``},t,e,``);{let t=e.name??``;return us({name:t},e.parent,e.providers,t)}}static ɵprov=si({token:e,providedIn:`any`,factory:()=>Ui(oa)});static __NG_ELEMENT_ID__=-1},ps=new mi(``),ms=class{static __NG_ELEMENT_ID__=gs;static __NG_ENV_ID__=e=>e},hs=class extends ms{_lView;constructor(e){super(),this._lView=e}get destroyed(){return Ka(this._lView)}onDestroy(e){let t=this._lView;return uo(t,e),()=>fo(t,e)}};function gs(){return new hs(M())}var _s=new mi(``),vs=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new Yr(!1);debugTaskTracker=A(_s,{optional:!0});get hasPendingTasks(){return!this.destroyed&&this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new Rr(e=>{e.next(!1),e.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let e=this.taskId++;return this.pendingTasks.add(e),this.debugTaskTracker?.add(e),e}has(e){return this.pendingTasks.has(e)}remove(e){this.pendingTasks.delete(e),this.debugTaskTracker?.remove(e),this.pendingTasks.size===0&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static ɵprov=si({token:e,providedIn:`root`,factory:()=>new e})}return e})(),ys=class extends qr{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(e=!1){super(),this.__isAsync=e,La()&&(this.destroyRef=A(ms,{optional:!0})??void 0,this.pendingTasks=A(vs,{optional:!0})??void 0)}emit(e){let t=O(null);try{super.next(e)}finally{O(t)}}subscribe(e,t,n){let r=e,i=t||(()=>null),a=n;if(e&&typeof e==`object`){let t=e;r=t.next?.bind(t),i=t.error?.bind(t),a=t.complete?.bind(t)}this.__isAsync&&(i=this.wrapInTimeout(i),r&&=this.wrapInTimeout(r),a&&=this.wrapInTimeout(a));let o=super.subscribe({next:r,error:i,complete:a});return e instanceof dr&&e.add(o),o}wrapInTimeout(e){return t=>{let n=this.pendingTasks?.add();setTimeout(()=>{try{e(t)}finally{n!==void 0&&this.pendingTasks?.remove(n)}})}}};function bs(...e){}function xs(e){let t,n;function r(){e=bs;try{n!==void 0&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(n),t!==void 0&&clearTimeout(t)}catch{}}return t=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame==`function`&&(n=requestAnimationFrame(()=>{e(),r()})),()=>r()}function Ss(e){return queueMicrotask(()=>e()),()=>{e=bs}}var Cs=`isAngularZone`,ws=`isAngularZone_ID`,Ts=0,Es=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new ys(!1);onMicrotaskEmpty=new ys(!1);onStable=new ys(!1);onError=new ys(!1);constructor(e){let{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:i=!1}=e;if(typeof Zone>`u`)throw new k(908,!1);Zone.assertZonePatched();let a=this;a._nesting=0,a._outer=a._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(a._inner=a._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(a._inner=a._inner.fork(Zone.longStackTraceZoneSpec)),a.shouldCoalesceEventChangeDetection=!r&&n,a.shouldCoalesceRunChangeDetection=r,a.callbackScheduled=!1,a.scheduleInRootZone=i,As(a)}static isInAngularZone(){return typeof Zone<`u`&&Zone.current.get(Cs)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new k(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new k(909,!1)}run(e,t,n){return this._inner.run(e,t,n)}runTask(e,t,n,r){let i=this._inner,a=i.scheduleEventTask(`NgZoneEvent: `+r,e,Ds,bs,bs);try{return i.runTask(a,t,n)}finally{i.cancelTask(a)}}runGuarded(e,t,n){return this._inner.runGuarded(e,t,n)}runOutsideAngular(e){return this._outer.run(e)}},Ds={};function Os(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function ks(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){xs(()=>{e.callbackScheduled=!1,js(e),e.isCheckStableRunning=!0,Os(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),js(e)}function As(e){let t=()=>{ks(e)},n=Ts++;e._inner=e._inner.fork({name:`angular`,properties:{[Cs]:!0,[ws]:n,[ws+n]:!0},onInvokeTask:(n,r,i,a,o,s)=>{if(Fs(s))return n.invokeTask(i,a,o,s);try{return Ms(e),n.invokeTask(i,a,o,s)}finally{(e.shouldCoalesceEventChangeDetection&&a.type===`eventTask`||e.shouldCoalesceRunChangeDetection)&&t(),Ns(e)}},onInvoke:(n,r,i,a,o,s,c)=>{try{return Ms(e),n.invoke(i,a,o,s,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!Is(s)&&t(),Ns(e)}},onHasTask:(t,n,r,i)=>{t.hasTask(r,i),n===r&&(i.change==`microTask`?(e._hasPendingMicrotasks=i.microTask,js(e),Os(e)):i.change==`macroTask`&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,n,r,i)=>(t.handleError(r,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}function js(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0)}function Ms(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Ns(e){e._nesting--,Os(e)}var Ps=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new ys;onMicrotaskEmpty=new ys;onStable=new ys;onError=new ys;run(e,t,n){return e.apply(t,n)}runGuarded(e,t,n){return e.apply(t,n)}runOutsideAngular(e){return e()}runTask(e,t,n,r){return e.apply(t,n)}};function Fs(e){return Ls(e,`__ignore_ng_zone__`)}function Is(e){return Ls(e,`__scheduler_tick__`)}function Ls(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var Rs=class{_console=console;handleError(e){this._console.error(`ERROR`,e)}},zs=new mi(``,{factory:()=>{let e=A(Es),t=A(wa),n;return r=>{e.runOutsideAngular(()=>{t.destroyed&&!n?setTimeout(()=>{throw r}):(n??=t.get(Rs),n.handleError(r))})}}}),Bs={provide:aa,useValue:()=>{A(Rs,{optional:!0})},multi:!0};function F(e,t){let[n,r,i]=Rn(e,t?.equal),a=n;return a[sn],a.set=r,a.update=i,a.asReadonly=Vs.bind(a),a}function Vs(){let e=this[sn];if(e.readonlyFn===void 0){let t=()=>this();t[sn]=e,e.readonlyFn=t}return e.readonlyFn}var Hs=new mi(``,{factory:()=>Us}),Us=`ng`,Ws=new mi(``),Gs=new mi(``,{providedIn:`platform`,factory:()=>`unknown`}),Ks=new mi(``,{factory:()=>A(ps).body?.querySelector(`[ngCspNonce]`)?.getAttribute(`ngCspNonce`)||null}),qs=(()=>{class e{view;node;constructor(e,t){this.view=e,this.node=t}static __NG_ELEMENT_ID__=Js}return e})();function Js(){return new qs(M(),To())}var Ys=class{},Xs=new mi(``,{factory:()=>!0}),Zs=new mi(``),Qs=(()=>{class e{static ɵprov=si({token:e,providedIn:`root`,factory:()=>new $s})}return e})(),$s=class{dirtyEffectCount=0;queues=new Map;add(e){this.enqueue(e),this.schedule(e)}schedule(e){e.dirty&&this.dirtyEffectCount++}remove(e){let t=e.zone,n=this.queues.get(t);n.has(e)&&(n.delete(e),e.dirty&&this.dirtyEffectCount--)}enqueue(e){let t=e.zone;this.queues.has(t)||this.queues.set(t,new Set);let n=this.queues.get(t);n.has(e)||n.add(e)}flush(){for(;this.dirtyEffectCount>0;){let e=!1;for(let[t,n]of this.queues)e||=t===null?this.flushQueue(n):t.run(()=>this.flushQueue(n));e||(this.dirtyEffectCount=0)}}flushQueue(e){let t=!1;for(let n of e)n.dirty&&(this.dirtyEffectCount--,t=!0,n.run());return t}},ec=class{[sn];constructor(e){this[sn]=e}destroy(){this[sn].destroy()}};function tc(e,t){let n=t?.injector??A(fs),r=t?.manualCleanup===!0?null:n.get(ms),i,a=n.get(qs,null,{optional:!0}),o=n.get(Ys);return a===null?i=oc(e,n.get(Qs),o):(i=ac(a.view,o,e),r instanceof hs&&r._lView===a.view&&(r=null)),i.injector=n,r!==null&&(i.onDestroyFns=[r.onDestroy(()=>i.destroy())]),new ec(i)}var nc={...Wn,cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let e=No(!1);try{Gn(this)}finally{No(e)}},cleanup(){if(!this.cleanupFns?.length)return;let e=O(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],O(e)}}},rc={...nc,consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(Sn(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.scheduler.remove(this)}},ic={...nc,consumerMarkedDirty(){this.view[2]|=8192,lo(this.view),this.notifier.notify(13)},destroy(){if(Sn(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.view[23]?.delete(this)}};function ac(e,t,n){let r=Object.create(ic);return r.view=e,r.zone=typeof Zone<`u`?Zone.current:null,r.notifier=t,r.fn=sc(r,n),e[23]??=new Set,e[23].add(r),r.consumerMarkedDirty(r),r}function oc(e,t,n){let r=Object.create(rc);return r.fn=sc(r,e),r.scheduler=t,r.notifier=n,r.zone=typeof Zone<`u`?Zone.current:null,r.scheduler.add(r),r.notifier.notify(12),r}function sc(e,t){return()=>{t(t=>(e.cleanupFns??=[]).push(t))}}var cc=(()=>{class e{internalPendingTasks=A(vs);scheduler=A(Ys);errorHandler=A(zs);add(){let e=this.internalPendingTasks.add();return()=>{this.internalPendingTasks.has(e)&&(this.scheduler.notify(11),this.internalPendingTasks.remove(e))}}run(e){let t=this.add();try{e().catch(this.errorHandler).finally(t)}catch(e){this.errorHandler(e),t()}}static ɵprov=si({token:e,providedIn:`root`,factory:()=>new e})}return e})(),lc=Symbol(`InputSignalNode#UNSET`),uc={...Hn,transformFn:void 0,applyValueToInputSignal(e,t){Bn(e,t)}};function dc(e){return{toString:e}.toString()}var fc=(function(e){return e[e.TemplateCreateStart=0]=`TemplateCreateStart`,e[e.TemplateCreateEnd=1]=`TemplateCreateEnd`,e[e.TemplateUpdateStart=2]=`TemplateUpdateStart`,e[e.TemplateUpdateEnd=3]=`TemplateUpdateEnd`,e[e.LifecycleHookStart=4]=`LifecycleHookStart`,e[e.LifecycleHookEnd=5]=`LifecycleHookEnd`,e[e.OutputStart=6]=`OutputStart`,e[e.OutputEnd=7]=`OutputEnd`,e[e.BootstrapApplicationStart=8]=`BootstrapApplicationStart`,e[e.BootstrapApplicationEnd=9]=`BootstrapApplicationEnd`,e[e.BootstrapComponentStart=10]=`BootstrapComponentStart`,e[e.BootstrapComponentEnd=11]=`BootstrapComponentEnd`,e[e.ChangeDetectionStart=12]=`ChangeDetectionStart`,e[e.ChangeDetectionEnd=13]=`ChangeDetectionEnd`,e[e.ChangeDetectionSyncStart=14]=`ChangeDetectionSyncStart`,e[e.ChangeDetectionSyncEnd=15]=`ChangeDetectionSyncEnd`,e[e.AfterRenderHooksStart=16]=`AfterRenderHooksStart`,e[e.AfterRenderHooksEnd=17]=`AfterRenderHooksEnd`,e[e.ComponentStart=18]=`ComponentStart`,e[e.ComponentEnd=19]=`ComponentEnd`,e[e.DeferBlockStateStart=20]=`DeferBlockStateStart`,e[e.DeferBlockStateEnd=21]=`DeferBlockStateEnd`,e[e.DynamicComponentStart=22]=`DynamicComponentStart`,e[e.DynamicComponentEnd=23]=`DynamicComponentEnd`,e[e.HostBindingsUpdateStart=24]=`HostBindingsUpdateStart`,e[e.HostBindingsUpdateEnd=25]=`HostBindingsUpdateEnd`,e})(fc||{}),pc=class{previousValue;currentValue;firstChange;constructor(e,t,n){this.previousValue=e,this.currentValue=t,this.firstChange=n}isFirstChange(){return this.firstChange}};function mc(e,t,n,r){t===null?e[n]=r:t.applyValueToInputSignal(t,r)}var hc=null,gc=(()=>{hc=vc;let e=()=>vc;return e.ngInherit=!0,e})();function _c(){return hc}function vc(e){return e.type.prototype.ngOnChanges&&(e.setInput=bc),yc}function yc(){let e=Sc(this),t=e?.current;if(t){let n=e.previous;if(n===ra)e.previous=t;else for(let e in t)n[e]=t[e];e.current=null,this.ngOnChanges(t)}}function bc(e,t,n,r,i){let a=this.declaredInputs[r],o=Sc(e)||Cc(e,{previous:ra,current:null}),s=o.current||={},c=o.previous,l=c[a];s[a]=new pc(l&&l.currentValue,n,c===ra),mc(e,t,i,n)}var xc=`__ngSimpleChanges__`;function Sc(e){return Object.hasOwn(e,xc)&&e[xc]||null}function Cc(e,t){return e[xc]=t}var wc=[],Tc=function(e,t=null,n){for(let r=0;r=r)break}else t[c]<0&&(e[17]+=65536),(s>14>16&&(e[2]&3)===t&&(e[2]+=16384,Mc(o,a)):Mc(o,a)}var Pc=-1,Fc=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(e,t,n,r){this.factory=e,this.name=r,this.canSeeViewProviders=t,this.injectImpl=n}};function Ic(e){return!!(e.flags&8)}function Lc(e){return!!(e.flags&16)}function Rc(e,t,n){let r=0;for(;rt){o=a-1;break}}}for(;a>16}function Kc(e,t){let n=Gc(e),r=t;for(;n>0;)r=r[14],n--;return r}var qc=!0;function Jc(e){let t=qc;return qc=e,t}var Yc=255,Xc=5,Zc=0,Qc={};function $c(e,t,n){let r;typeof n==`string`?r=n.charCodeAt(0)||0:Object.hasOwn(n,bi)&&(r=n[bi]),r??=n[bi]=Zc++;let i=r&Yc,a=1<>Xc)]|=a}function el(e,t){let n=nl(e,t);if(n!==-1)return n;let r=t[1];r.firstCreatePass&&(e.injectorIndex=t.length,tl(r.data,e),tl(t,null),tl(r.blueprint,null));let i=rl(e,t),a=e.injectorIndex;if(Uc(i)){let e=Wc(i),n=Kc(i,t),r=n[1].data;for(let i=0;i<8;i++)t[a+i]=n[e+i]|r[e+i]}return t[a+8]=i,a}function tl(e,t){e.push(0,0,0,0,0,0,0,0,t)}function nl(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function rl(e,t){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let n=0,r=null,i=t;for(;i!==null;){if(r=vl(i),r===null)return Pc;if(n++,i=i[14],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return Pc}function il(e,t,n){$c(e,t,n)}function al(e,t,n){if(n&8||e!==void 0)return e;ji(t,`NodeInjector`)}function ol(e,t,n,r){if(n&8&&r===void 0&&(r=null),!(n&3)){let i=e[9],a=Ii(void 0);try{return i?i.get(t,r,n&8):Li(t,r,n&8)}finally{Ii(a)}}return al(r,t,n)}function sl(e,t,n,r=0,i){if(e!==null){if(t[2]&2048&&!(r&2)){let i=_l(e,t,n,r,Qc);if(i!==Qc)return i}let i=cl(e,t,n,r,Qc);if(i!==Qc)return i}return ol(t,n,r,i)}function cl(e,t,n,r,i){let a=fl(n);if(typeof a==`function`){if(!Ko(t,e,r))return r&1?al(i,n,r):ol(t,n,r,i);try{let e;if(e=a(r),e==null&&!(r&8))ji(n);else return e}finally{Zo()}}else if(typeof a==`number`){let i=null,o=nl(e,t),s=Pc,c=r&1?t[15][5]:null;for((o===-1||r&4)&&(s=o===-1?rl(e,t):t[o+8],s===Pc||!ml(r,!1)?o=-1:(i=t[1],o=Wc(s),t=Kc(s,t)));o!==-1;){let e=t[1];if(pl(a,o,e.data)){let e=ll(o,t,n,i,r,c);if(e!==Qc)return e}s=t[o+8],s!==Pc&&ml(r,t[1].data[o+8]===c)&&pl(a,o,t)?(i=e,o=Wc(s),t=Kc(s,t)):o=-1}}return i}function ll(e,t,n,r,i,a){let o=t[1],s=o.data[e+8],c=ul(s,o,n,r==null?Ha(s)&&qc:r!=o&&!!(s.type&3),i&1&&a===s);return c===null?Qc:dl(t,o,c,s,i)}function ul(e,t,n,r,i){let a=e.providerIndexes,o=t.data,s=a&1048575,c=e.directiveStart,l=e.directiveEnd,u=a>>20,d=r?s:s+u,f=i?s+u:l;for(let e=d;e=c&&t.type===n)return e}if(i){let e=o[c];if(e&&Wa(e)&&e.type===n)return c}return null}function dl(e,t,n,r,i){let a=e[n],o=t.data;if(a instanceof Fc){let s=a;if(s.resolving)throw Ai(``);let c=Jc(s.canSeeViewProviders);s.resolving=!0,o[n].type||o[n];let l=s.injectImpl?Ii(s.injectImpl):null;Ko(e,r,0);try{a=e[n]=s.factory(void 0,i,o,e,r),t.firstCreatePass&&n>=r.directiveStart&&Ec(n,o[n],t)}finally{l!==null&&Ii(l),Jc(c),s.resolving=!1,Zo()}}return a}function fl(e){if(typeof e==`string`)return e.charCodeAt(0)||0;let t=Object.hasOwn(e,bi)?e[bi]:void 0;return typeof t==`number`?t>=0?t&Yc:gl:t}function pl(e,t,n){let r=1<>Xc)]&r)}function ml(e,t){return!(e&2)&&!(e&1&&t)}var hl=class{_tNode;_lView;constructor(e,t){this._tNode=e,this._lView=t}get(e,t,n){return sl(this._tNode,this._lView,e,Wi(n),t)}};function gl(){return new hl(To(),M())}function _l(e,t,n,r,i){let a=e,o=t;for(;a!==null&&o!==null&&o[2]&2048&&!Ga(o);){let e=cl(a,o,n,r|2,Qc);if(e!==Qc)return e;r&=-5;let t=a.parent;if(!t){let e=o[20];if(e){let t=e.get(n,Qc,r);if(t!==Qc)return t}t=vl(o),o=o[14]}a=t}return i}function vl(e){let t=e[1],n=t.type;return n===2?t.declTNode:n===1?e[5]:null}var yl=()=>(typeof requestIdleCallback<`u`?requestIdleCallback:e=>setTimeout(e)).bind(globalThis),bl=()=>(typeof requestIdleCallback<`u`?cancelIdleCallback:clearTimeout).bind(globalThis),xl=new mi(``,{factory:()=>new Sl}),Sl=class{requestIdleCallback=yl();cancelIdleCallback=bl();requestOnIdle(e,t){return this.requestIdleCallback(e,t)}cancelOnIdle(e){return this.cancelIdleCallback(e)}};function Cl(e){return{token:e.token,providedIn:e.autoProvided===!1?null:`root`,factory:e.factory,value:void 0}}function wl(){return Tl(To(),M())}function Tl(e,t){return new El(Xa(e,t))}var El=(()=>{class e{nativeElement;constructor(e){this.nativeElement=e}static __NG_ELEMENT_ID__=wl}return e})();function Dl(e){return(e.flags&128)==128}var Ol=(function(e){return e[e.OnPush=0]=`OnPush`,e[e.Eager=1]=`Eager`,e[e.Default=1]=`Default`,e})(Ol||{}),kl=new Map,Al=0;function jl(){return Al++}function Ml(e){kl.set(e[19],e)}function Nl(e){kl.delete(e[19])}var Pl=`__ngContext__`;function Fl(e,t){za(t)?(e[Pl]=t[19],Ml(t)):e[Pl]=t}function Il(e){return Rl(e[12])}function Ll(e){return Rl(e[4])}function Rl(e){for(;e!==null&&!Ba(e);)e=e[4];return e}var zl=void 0;function Bl(e){zl=e}function Vl(){if(zl!==void 0)return zl;if(typeof document<`u`)return document;throw new k(210,!1)}var Hl=!1,Ul=new mi(``,{factory:()=>Hl}),Wl=new mi(``),Gl=new WeakMap;function Kl(e,t){if(typeof e!=`object`||!e)return;let n=Gl.get(e);n||(n=new WeakSet,Gl.set(e,n)),n.add(t)}var ql=new mi(``);function Jl(e){return(e.flags&32)==32}var Yl=()=>null;function Xl(e,t,n=!1){return Yl(e,t,n)}function Zl(e){return e.get(Wl,!1,{optional:!0})}function Ql(e,t){let n=e.contentQueries;if(n!==null){let r=O(null);try{for(let r=0;r|^->||--!>|)/g,ou=`​$1​`;function su(e){return e.replace(iu,e=>e.replace(au,ou))}function cu(e,t){return e.createText(t)}function lu(e,t,n){e.setValue(t,n)}function uu(e,t){return e.createComment(su(t))}function du(e,t,n){return e.createElement(t,n)}function fu(e,t,n,r,i){e.insertBefore(t,n,r,i)}function pu(e,t,n){e.appendChild(t,n)}function mu(e,t,n,r,i){r===null?pu(e,t,n):fu(e,t,n,r,i)}function hu(e,t,n,r){e.removeChild(null,t,n,r)}function gu(e,t,n){e.setAttribute(t,`style`,n)}function _u(e,t,n){n===``?e.removeAttribute(t,`class`):e.setAttribute(t,`class`,n)}function vu(e,t,n){let{mergedAttrs:r,classes:i,styles:a}=n;r!==null&&Rc(e,t,r),i!==null&&_u(e,t,i),a!==null&&gu(e,t,a)}function yu(e,t,n){let r=e.length;for(;;){let i=e.indexOf(t,n);if(i===-1)return i;if(i===0||e.charCodeAt(i-1)<=32){let n=t.length;if(i+n===r||e.charCodeAt(i+n)<=32)return i}n=i+1}}var bu=`ng-template`;function xu(e,t,n,r){let i=0;if(r){for(;i-1){let e;for(;++ia?``:i[u+1].toLowerCase(),r&2&&l!==e){if(Tu(r))return!1;o=!0}}}}}return Tu(r)||o}function Tu(e){return!(e&1)}function Eu(e,t,n,r){if(t===null)return-1;let i=0;if(r||!n){let n=!1;for(;i-1)for(n++;n0?`="`+t+`"`:``)+`]`}else r&8?i+=`.`+o:r&4&&(i+=` `+o)}else i!==``&&!Tu(o)&&(t+=Au(a,i),i=``),r=o,a||=!Tu(r);n++}return i!==``&&(t+=Au(a,i)),t}function Mu(e){return e.map(ju).join(`,`)}function Nu(e){let t=[],n=[],r=1,i=2;for(;r=0;e--){let{el:n,declarationView:s}=r[e],c=n.parentNode;n===t?(r.splice(e,1),Vu.add(n),n.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}}))):(a&&n===a||c&&i&&c!==i&&(o===null||s===null||o===s))&&(r.splice(e,1),n.dispatchEvent(new CustomEvent(`animationend`,{detail:{cancel:!0}})),n.parentNode?.removeChild(n))}}function Uu(e,t,n){let r=Bu(n),i=zu.get(e);i?i.some(e=>e.el===t)||i.push({el:t,declarationView:r}):zu.set(e,[{el:t,declarationView:r}])}var Wu=(function(e){return e[e.CHANGE_DETECTION=0]=`CHANGE_DETECTION`,e[e.AFTER_NEXT_RENDER=1]=`AFTER_NEXT_RENDER`,e})(Wu||{}),Gu=new mi(``),Ku=new Set;function qu(e){Ku.has(e)||(Ku.add(e),performance?.mark?.(`mark_feature_usage`,{detail:{feature:e}}))}var Ju=(()=>{class e{impl=null;execute(){this.impl?.execute()}static ɵprov=si({token:e,providedIn:`root`,factory:()=>new e})}return e})(),Yu=new mi(``,{factory:()=>{let e=A(wa),t=new Set;return e.onDestroy(()=>t.clear()),{queue:t,isScheduled:!1,scheduler:null,injector:e}}});function Xu(e,t,n){let r=e.get(Yu);if(Array.isArray(t))for(let e of t)r.queue.add(e),n?.detachedLeaveAnimationFns?.push(e);else r.queue.add(t),n?.detachedLeaveAnimationFns?.push(t);r.scheduler&&r.scheduler(e)}function Zu(e,t){let n=e.get(Yu);if(Array.isArray(t))for(let e of t)n.queue.delete(e);else n.queue.delete(t)}function Qu(e,t){let n=e.get(Yu);if(t.detachedLeaveAnimationFns){for(let e of t.detachedLeaveAnimationFns)n.queue.delete(e);t.detachedLeaveAnimationFns=void 0}}function $u(e,t){for(let[n,r]of t)Xu(e,r.animateFns)}function ed(e,t,n,r){let i=e?.[26]?.enter;t!==null&&i&&i.has(n.index)&&$u(r,i)}function td(e,t,n,r){try{n.get(oa)}catch{return r(!1)}let i=e?.[26];i?.enter?.has(t.index)&&Zu(n,i.enter.get(t.index).animateFns);let a=nd(e,t,i);if(a.size===0){let n=!1;if(e){let r=[];id(e,t,r),n=r.length>0}if(!n)return r(!1)}e&&Ru.add(e[19]),Xu(n,()=>rd(e,t,i||void 0,a,r),i||void 0)}function nd(e,t,n){let r=new Map,i=n?.leave;if(i&&i.has(t.index)&&r.set(t.index,i.get(t.index)),e&&i)for(let[n,a]of i){if(r.has(n))continue;let i=e[1].data[n].parent;for(;i;){if(i===t){r.set(n,a);break}i=i.parent}}return r}function rd(e,t,n,r,i){let a=[];if(n&&n.leave)for(let[e]of r){if(!n.leave.has(e))continue;let t=n.leave.get(e);for(let e of t.animateFns){let{promise:t}=e();a.push(t)}n.detachedLeaveAnimationFns=void 0}if(e&&id(e,t,a),a.length>0){let t=n||e?.[26];if(t){let n=t.running;n&&a.push(n),t.running=Promise.allSettled(a),od(e,t.running,i)}else Promise.allSettled(a).then(()=>{e&&Ru.delete(e[19]),i(!0)})}else e&&Ru.delete(e[19]),i(!1)}function id(e,t,n){if(t.type&12){let r=e[t.index];if(Ba(r))for(let e=10;e{e[26]?.running===t&&(e[26].running=void 0,Ru.delete(e[19])),n(!0)})}function sd(e,t,n,r,i,a,o,s){if(i!=null){let c,l=!1;Ba(i)?c=i:za(i)&&(l=!0,i=i[0]);let u=Ja(i);e===0&&r!==null?(ed(s,r,a,n),o==null?pu(t,r,u):fu(t,r,u,o||null,!0)):e===1&&r!==null?(ed(s,r,a,n),fu(t,r,u,o||null,!0),Hu(a,u,s)):e===2?(s?.[26]?.leave?.has(a.index)&&Uu(a,u,s),Vu.delete(u),td(s,a,n,e=>{if(Vu.has(u)){Vu.delete(u);return}hu(t,u,l,e)})):e===3&&(Vu.delete(u),td(s,a,n,()=>{t.destroyNode(u)})),c!=null&&Ad(t,e,n,c,a,r,o)}}function cd(e,t){ud(e,t),t[0]=null,t[5]=null}function ld(e,t,n,r,i,a){r[0]=i,r[5]=t,Dd(e,r,n,1,i,a)}function ud(e,t){t[10].changeDetectionScheduler?.notify(9),Dd(e,t,t[11],2,null,null)}function dd(e){let t=e[12];if(!t)return md(e[1],e);for(;t;){let n=null;if(za(t))n=t[12];else{let e=t[10];e&&(n=e)}if(!n){for(;t&&!t[4]&&t!==e;)za(t)&&md(t[1],t),t=t[3];t===null&&(t=e),za(t)&&md(t[1],t),n=t&&t[4]}t=n}}function fd(e,t){let n=e[9],r=n.indexOf(t);n.splice(r,1)}function pd(e,t){if(Ka(t))return;let n=t[11];n.destroyNode&&Dd(e,t,n,3,null,null),dd(t)}function md(e,t){if(Ka(t))return;let n=O(null);try{t[2]&=-129,t[2]|=256,t[24]&&Sn(t[24]),gd(e,t),hd(e,t),t[1].type===1&&t[11].destroy();let n=t[16];if(n!==null&&Ba(t[3])){n!==t[3]&&fd(n,t);let r=t[18];r!==null&&r.detachView(e)}Nl(t)}finally{O(n)}}function hd(e,t){let n=e.cleanup,r=t[7];if(n!==null)for(let e=0;e=0?r[t]():r[-t].unsubscribe(),e+=2}else{let t=r[n[e+1]];n[e].call(t)}r!==null&&(t[7]=null);let i=t[21];if(i!==null){t[21]=null;for(let e=0;e27&&Bd(e,t,27,!1),Tc(o?fc.TemplateUpdateStart:fc.TemplateCreateStart,i,n),n(r,i)}finally{ts(a),Tc(o?fc.TemplateUpdateEnd:fc.TemplateCreateEnd,i,n)}}function Wd(e,t,n){Zd(e,t,n),(n.flags&64)==64&&Qd(e,t,n)}function Gd(e,t,n=Xa){let r=t.localNames;if(r!==null){let i=t.index+1;for(let a=0;a{lo(e.lView)},consumerOnSignalRead(){this.lView[24]=this}};function Cf(e){let t=e[24]??Object.create(wf);return t.lView=e,t}var wf={...ln,consumerIsAlwaysLive:!0,kind:`template`,consumerMarkedDirty:e=>{let t=po(e.lView);for(;t&&!Tf(t[1]);)t=po(t);t&&ao(t)},consumerOnSignalRead(){this.lView[24]=this}};function Tf(e){return e.type!==2}function Ef(e){if(e[23]===null)return;let t=!0;for(;t;){let n=!1;for(let t of e[23])if(t.dirty&&(n=!0,t.zone===null||Zone.current===t.zone?t.run():t.zone.run(()=>t.run()),e[23]===null))return;t=n&&!!(e[2]&8192)}}var Df=100;function Of(e,t=0){let n=e[10].rendererFactory;n.begin?.();try{kf(e,t)}finally{n.end?.()}}function kf(e,t){let n=Mo();try{No(!0),Ff(e,t);let n=0;for(;so(e);){if(n===Df)throw new k(103,!1);n++,Ff(e,1)}}finally{No(n)}}function Af(e,t,n,r){if(Ka(t))return;let i=t[2];qo(t);let a=!0,o=null,s=null;Tf(e)?(s=yf(t),o=_n(s)):cn()===null?(a=!1,s=Cf(t),o=_n(s)):t[24]&&=(Sn(t[24]),null);try{io(t),Io(e.bindingStartIndex),n!==null&&Ud(e,t,n,2,r);let a=(i&3)==3;if(a){let n=e.preOrderCheckHooks;n!==null&&Oc(t,n,null)}else{let n=e.preOrderHooks;n!==null&&kc(t,n,0,null),Ac(t,0)}if(Mf(t),Ef(t),jf(t,0),e.contentQueries!==null&&Ql(e,t),a){let n=e.contentCheckHooks;n!==null&&Oc(t,n)}else{let n=e.contentHooks;n!==null&&kc(t,n,1),Ac(t,1)}Lf(e,t);let o=e.components;o!==null&&If(t,o,0);let s=e.viewQuery;if(s!==null&&$l(2,s,r),a){let n=e.viewCheckHooks;n!==null&&Oc(t,n)}else{let n=e.viewHooks;n!==null&&kc(t,n,2),Ac(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[22]){for(let e of t[22])e();t[22]=null}_f(t),t[2]&=-73}catch(e){throw lo(t),e}finally{s!==null&&(yn(s,o),a&&xf(s)),Qo()}}function jf(e,t){for(let n=Il(e);n!==null;n=Ll(n))for(let e=10;e0&&(e[n-1][4]=r[4]);let a=Zi(e,10+t);cd(r[1],r);let o=a[18];o!==null&&o.detachView(a[1]),r[3]=null,r[4]=null,r[2]&=-129}return r}function Wf(e,t,n,r){let i=10+r,a=n.length;r>0&&(n[i-1][4]=t),r-1&&(Uf(e,n),Zi(t,n))}this._attachedToViewContainer=!1}pd(this._lView[1],this._lView)}onDestroy(e){uo(this._lView,e)}markForCheck(){Rf(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[2]&=-129}reattach(){co(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,Of(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new k(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=Ga(this._lView),t=this._lView[16];t!==null&&!e&&fd(t,this._lView),ud(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new k(902,!1);this._appRef=e;let t=Ga(this._lView),n=this._lView[16];n!==null&&!t&&Gf(n,this._lView),co(this._lView)}};function qf(e,t,n,r,i){let a=e.data[t];if(a===null)a=Jf(e,t,n,r,i),zo()&&(a.flags|=32);else if(a.type&64){a.type=n,a.value=r,a.attrs=i;let e=Do();a.injectorIndex=e===null?-1:e.injectorIndex}return Oo(a,!0),a}function Jf(e,t,n,r,i){let a=Eo(),o=ko(),s=o?a:a&&a.parent,c=e.data[t]=Xf(e,s,n,t,r,i);return Yf(e,c,a,o),c}function Yf(e,t,n,r){e.firstChild===null&&(e.firstChild=t),n!==null&&(r?n.child==null&&t.parent!==null&&(n.child=t):n.next===null&&(n.next=t,t.prev=n))}function Xf(e,t,n,r,i,a){let o=t?t.injectorIndex:-1,s=0;return xo()&&(s|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,controlDirectiveIndex:-1,customControlIndex:-1,propertyBindings:null,flags:s,providerIndexes:0,value:i,namespace:os(),attrs:a,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 Zf(e){let t=e[6]??[],n=e[3][11],r=[];for(let e of t)e.data.di===void 0?Qf(e,n):r.push(e);e[6]=r}function Qf(e,t){let n=0,r=e.firstChild;if(r){let i=e.data.r;for(;nnull,ep=()=>null;function tp(e,t){return $f(e,t)}function np(e,t,n){return ep(e,t,n)}var rp=class{},ip=class{},ap=(()=>{class e{static ɵprov=si({token:e,providedIn:`root`,factory:()=>null})}return e})();function op(e){return e.debugInfo?.className||e.type.name||null}var sp={},cp=class{injector;parentInjector;constructor(e,t){this.injector=e,this.parentInjector=t}get(e,t,n){let r=this.injector.get(e,sp,n);return r!==sp||t===sp?r:this.parentInjector.get(e,t,n)}};function lp(e,t,n){return e[t]=n}function up(e,t){return e[t]}function dp(e,t,n){if(n===Pu)return!1;let r=e[t];return!Object.is(r,n)&&(e[t]=n,!0)}function fp(e,t,n,r){let i=dp(e,t,n);return dp(e,t+1,r)||i}function pp(e,t,n,r,i){let a=fp(e,t,n,r);return dp(e,t+2,i)||a}function mp(e,t,n){return function r(i){let a=r.__ngNativeEl__;a!==void 0&&Kl(i,a),Rf(Ha(e)?eo(e.index,t):t,5);let o=t[8],s=hp(t,o,n,i),c=r.__ngNextListenerFn__;for(;c;)s=hp(t,o,c,i)&&s,c=c.__ngNextListenerFn__;return s}}function hp(e,t,n,r){let i=O(null);try{return Tc(fc.OutputStart,t,n),n(r)!==!1}catch(t){return sf(e,t),!1}finally{Tc(fc.OutputEnd,t,n),O(i)}}function gp(e,t,n,r,i,a,o,s){let c=Ua(e),l=!1,u=null;if(!r&&c&&(u=vp(t,n,a,e.index)),u!==null){let e=u.__ngLastListenerFn__||u;e.__ngNextListenerFn__=o,u.__ngLastListenerFn__=o,l=!0}else{let o=Xa(e,n),c=r?r(o):o;r||(s.__ngNativeEl__=o);let l=i.listen(c,a,s);_p(a)||yp(r?t=>r(Ja(t[e.index])):e.index,t,n,a,s,l,!1)}return l}function _p(e){return e.startsWith(`animation`)||e.startsWith(`transition`)}function vp(e,t,n,r){let i=e.cleanup;if(i!=null)for(let e=0;er?n[r]:null}typeof a==`string`&&(e+=2)}return null}function yp(e,t,n,r,i,a,o){let s=t.firstCreatePass?ho(t):null,c=mo(n),l=c.length;c.push(i,a),s&&s.push(r,e,l,(l+1)*(o?-1:1))}function bp(e,t,n,r,i,a){let o=t[n],s=t[1],c=o[s.data[n].outputs[r]].subscribe(a);yp(e.index,s,t,i,a,c,!0)}var xp=Symbol(`BINDING`),Sp=new mi(``);function Cp(e,t,n){let r=n?e.styles:null,i=n?e.classes:null,a=0;if(t!==null)for(let e=0;e0&&(n.directiveToIndex=new Map);for(let c=0;c0;){let n=e[--t];if(typeof n==`number`&&n<0)return n}return 0}function Lp(e,t,n){if(n){if(t.exportAs)for(let r=0;r{let[n,r,i]=e[t],a={propName:n,templateName:t,isSignal:(r&Vd.SignalBased)!==0};return i&&(a.transform=i),a})}function Gp(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function Kp(e,t,n){let r=t instanceof wa?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new cp(n,r):n}function qp(e){let t=e.get(ip,null);if(t===null)throw new k(407,!1);return{rendererFactory:t,sanitizer:e.get(ap,null),changeDetectionScheduler:e.get(Ys,null),ngReflect:!1,tracingService:e.get(Gu,null,{optional:!0})}}function Jp(e,t,n){let r=Xp(e);return du(t,r,r===`svg`?`svg`:r===`math`?qa:n)}function Yp(e){if((e&&`localName`in e&&typeof e.localName==`string`?e.localName:e?.tagName)?.toLowerCase()===`script`)throw new k(905,!1)}function Xp(e){return(e.selectors[0][0]||`div`).toLowerCase()}var Zp=class{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=Wp(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=Gp(this.componentDef.outputs),this.cachedOutputs}constructor(e,t){this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=Mu(e.selectors),this.ngContentSelectors=e.ngContentSelectors??[],this.isBoundToModule=!!t}create(e,t,n,r,i,a,o){Tc(fc.DynamicComponentStart);let s=O(null);try{let s=this.componentDef,c=Kp(s,r||this.ngModule,e),l=qp(c),u=l.tracingService;return u&&u.componentCreate?u.componentCreate(op(s),()=>this.createComponentRef(l,c,t,n,i,a,o)):this.createComponentRef(l,c,t,n,i,a,o)}finally{O(s)}}createComponentRef(e,t,n,r,i,a,o){let s=this.componentDef,c=Qp(r,s,a,i),l=e.rendererFactory.createRenderer(null,s),u=r?Kd(l,r,s.encapsulation,t):Jp(s,l,o??null);Yp(u);let d=t.get(Sp,null),f=$p(u,()=>t.get(ps,null)??Vl());d&&d.addHost(f);let p=a?.some(tm)||i?.some(e=>typeof e!=`function`&&e.bindings.some(tm)),m=Fd(null,c,null,512|Ld(s),null,null,e,l,t,null,Xl(u,t,!0));d&&Hp&&f instanceof ShadowRoot&&uo(m,()=>{d.removeHost(f)}),m[27]=u,qo(m);let h=null;try{let e=zp(27,m,2,`#host`,()=>c.directiveRegistry,!0,0);vu(l,u,e),Fl(u,m),Wd(c,m,e),eu(c,e,m),Bp(c,e),n!==void 0&&rm(e,this.ngContentSelectors,n),h=eo(e.index,m),m[8]=h[8],df(c,m,null)}catch(e){throw h!==null&&Nl(h),Nl(m),e}finally{Tc(fc.DynamicComponentEnd),Qo()}return new nm(this.componentType,m,!!p)}};function Qp(e,t,n,r){let i=e?[`ng-version`,`22.1.7`]:Nu(t.selectors[0]),a=null,o=null,s=0;if(n)for(let e of n)s+=e[xp].requiredVars,e.create&&(e.targetIdx=0,(a??=[]).push(e)),e.update&&(e.targetIdx=0,(o??=[]).push(e));if(r)for(let e=0;e{if(n&1&&e)for(let t of e)t.create();if(n&2&&t)for(let e of t)e.update()}}function tm(e){let t=e[xp].kind;return t===`input`||t===`twoWay`}var nm=class extends rp{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(e,t,n){super(),this._rootLView=t,this._hasInputBindings=n,this._tNode=Za(t[1],27),this.location=Tl(this._tNode,t),this.instance=eo(this._tNode.index,t)[8],this.hostView=this.changeDetectorRef=new Kf(t,void 0),this.componentType=e}setInput(e,t){this._hasInputBindings;let n=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(e)&&Object.is(this.previousInputValues.get(e),t))return;let r=this._rootLView;cf(n,r[1],r,e,t),this.previousInputValues.set(e,t),Rf(eo(n.index,r),1)}get injector(){return new hl(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}};function rm(e,t,n){let r=e.projection=[];for(let e=0;e{class e{static __NG_ELEMENT_ID__=am}return e})();function am(){return lm(To(),M())}var om=class e extends im{_lContainer;_hostTNode;_hostLView;constructor(e,t,n){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=n}get element(){return Tl(this._hostTNode,this._hostLView)}get injector(){return new hl(this._hostTNode,this._hostLView)}get parentInjector(){let e=rl(this._hostTNode,this._hostLView);if(Uc(e)){let t=Kc(e,this._hostLView),n=Wc(e),r=t[1].data[n+8];return new hl(r,t)}return new hl(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){let t=sm(this._lContainer);return t!==null&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,n){let r,i;typeof n==`number`?r=n:n!=null&&(r=n.index,i=n.injector);let a=tp(this._lContainer,e.ssrId),o=e.createEmbeddedViewImpl(t||{},i,a);return this.insertImpl(o,r,mf(this._hostTNode,a)),o}createComponent(e,t,n,r,i,a,o){let s,c=t||{};s=c.index,n=c.injector,r=c.projectableNodes,i=c.environmentInjector||c.ngModuleRef,a=c.directives,o=c.bindings;let l=new Zp(Si(e)),u=n||this.parentInjector;if(!i&&l.ngModule==null){let e=this.parentInjector.get(wa,null);e&&(i=e)}let d=Si(l.componentType??{}),f=tp(this._lContainer,d?.id??null),p=f?.firstChild??null,m=l.create(u,r,p,i,a,o,this._getHostElementNamespace());return this.insertImpl(m.hostView,s,mf(this._hostTNode,f)),m}_getHostElementNamespace(){if(this._hostTNode.type&2){let e=this._hostTNode.parent??this._hostLView[5];return e!==null&&e.type&2&&typeof e.value==`string`&&e.value.toLowerCase()===`foreignobject`?null:e?.namespace??null}return this._hostTNode.namespace}insert(e,t){return this.insertImpl(e,t,!0)}insertImpl(t,n,r){let i=t._lView;if(no(i)){let n=this.indexOf(t);if(n!==-1)this.detach(n);else{let n=i[3],r=new e(n,n[5],n[3]);r.detach(r.indexOf(t))}}let a=this._adjustIndex(n),o=this._lContainer;return Vf(o,i,a,r),t.attachToViewContainerRef(),Xi(cm(o),a,t),t}move(e,t){return this.insert(e,t)}indexOf(e){let t=sm(this._lContainer);return t===null?-1:t.indexOf(e)}remove(e){let t=this._adjustIndex(e,-1),n=Uf(this._lContainer,t);n&&(Zi(cm(this._lContainer),t),pd(n[1],n))}detach(e){let t=this._adjustIndex(e,-1),n=Uf(this._lContainer,t);return n&&Zi(cm(this._lContainer),t)!=null?new Kf(n):null}_adjustIndex(e,t=0){return e??this.length+t}};function sm(e){return e[8]}function cm(e){return e[8]||=[]}function lm(e,t){let n,r=t[e.index];return Ba(r)?n=r:(n=zf(r,t,null,e),t[e.index]=n,zd(t,n)),dm(n,t,e,r),new om(n,e,t)}function um(e,t){let n=e[11],r=n.createComment(``),i=Xa(t,e);return fu(n,n.parentNode(i),r,n.nextSibling(i),!1),r}var dm=mm,fm=()=>!1;function pm(e,t,n){return fm(e,t,n)}function mm(e,t,n,r){if(e[7])return;let i;i=n.type&8?Ja(r):um(t,n),e[7]=i}function hm(e){return!!e&&typeof e.then==`function`}function gm(e){return!!e&&typeof e.subscribe==`function`}var _m=class{},vm=class extends _m{injector;instance=null;constructor(e){super();let t=new Ta([...e.providers,{provide:_m,useValue:this}],e.parent||Ca(),e.debugName,new Set([`environment`]));this.injector=t,e.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function ym(e,t,n=null){return new vm({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var bm=(()=>{class e{_injector;cachedInjectors=new Map;constructor(e){this._injector=e}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){let t=ua(!1,e.type),n=t.length>0?ym([t],this._injector,``):null;this.cachedInjectors.set(e,n)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(let e of this.cachedInjectors.values())e!==null&&e.destroy()}finally{this.cachedInjectors.clear()}}static ɵprov=si({token:e,providedIn:`environment`,factory:()=>new e(Ui(wa))})}return e})();function xm(e){return dc(()=>{let t=Dm(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection!==Ol.Eager,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?e=>e.get(bm).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||tu.Emulated,styles:e.styles||ia,_:null,schemas:e.schemas||null,tView:null,id:``};t.standalone&&qu(`NgStandalone`),Om(n);let r=e.dependencies;return n.directiveDefs=km(r,Sm),n.pipeDefs=km(r,wi),n.id=Am(n),n})}function Sm(e){return Si(e)||Ci(e)}function Cm(e,t){if(e==null)return ra;let n={};for(let r in e)if(Object.hasOwn(e,r)){let i=e[r],a,o,s,c;Array.isArray(i)?(s=i[0],a=i[1],o=i[2]??a,c=i[3]||null):(a=i,o=i,s=Vd.None,c=null),n[a]=[r,s,c],t[a]=o}return n}function wm(e){if(e==null)return ra;let t={};for(let n in e)Object.hasOwn(e,n)&&(t[e[n]]=n);return t}function Tm(e){return dc(()=>{let t=Dm(e);return Om(t),t})}function Em(e){return{type:e.type,name:e.name,factory:null,pure:e.pure!==!1,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function Dm(e){let t={};return{type:e.type,providersResolver:null,viewProvidersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputConfig:e.inputs||ra,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||ia,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,signalFormsInputPresence:null,inputs:Cm(e.inputs,t),outputs:wm(e.outputs),debugInfo:null}}function Om(e){e.features?.forEach(t=>t(e))}function km(e,t){return e?()=>{let n=typeof e==`function`?e():e,r=[];for(let e of n){let n=t(e);n!==null&&r.push(n)}return r}:null}function Am(e){let t=0,n=typeof e.consts==`function`?``:e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,n,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let e of r.join(`|`))t=Math.imul(31,t)+e.charCodeAt(0)<<0;return t+=2147483648,`c`+t}var jm=new mi(``),Mm=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((e,t)=>{this.resolve=e,this.reject=t});appInits=A(jm,{optional:!0})??[];injector=A(fs);constructor(){}runInitializers(){if(this.initialized)return;let e=[];for(let t of this.appInits){let n=Ia(this.injector,t);if(hm(n))e.push(n);else if(gm(n)){let t=new Promise((e,t)=>{n.subscribe({complete:e,error:t})});e.push(t)}}let t=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{t()}).catch(e=>{this.reject(e)}),e.length===0&&t(),this.initialized=!0}static ɵfac=function(t){return new(t||e)};static ɵprov=Cl({token:e,factory:e.ɵfac})}return e})();function Nm(e,t,n,r,i,a,o,s){if(n.firstCreatePass){e.mergedAttrs=Vc(e.mergedAttrs,e.attrs);let t=e.tView=Md(2,e,i,a,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,n.consts,null);n.queries!==null&&(n.queries.template(n,e),t.queries=n.queries.embeddedTView(e))}s&&(e.flags|=s),Oo(e,!1);let c=Rm(n,t,e,r);cs()&&Sd(n,t,c,e),Fl(c,t);let l=zf(c,t,c,e);t[r+27]=l,zd(t,l),pm(l,e,t)}function Pm(e,t,n,r,i,a,o,s,c,l,u){let d=n+27,f;return t.firstCreatePass?(f=qf(t,d,4,o||null,s||null),bo()&&Tp(t,e,f,ro(t.consts,l),ef),Dc(t,f)):f=t.data[d],Nm(f,e,t,n,r,i,a,c),Ua(f)&&Wd(t,e,f),l!=null&&Gd(e,f,u),f}function Fm(e,t,n,r,i,a,o,s,c,l,u){let d=n+27,f;if(t.firstCreatePass){if(f=qf(t,d,4,o||null,s||null),l!=null){let e=ro(t.consts,l);f.localNames=[];for(let t=0;t{class e{cachedInjectors=new Map;getOrCreateInjector(e,t,n,r){if(!this.cachedInjectors.has(e)){let i=n.length>0?ym(n,t,r):null;this.cachedInjectors.set(e,i)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(let e of this.cachedInjectors.values())e!==null&&e.destroy()}finally{this.cachedInjectors.clear()}}static ɵprov=si({token:e,providedIn:`environment`,factory:()=>new e})}return e})(),mh=new mi(``);function hh(e,t,n){return e.get(ph).getOrCreateInjector(t,e,n,``)}function gh(e,t,n){if(e instanceof cp){let r=e.injector,i=e.parentInjector;return new cp(r,hh(i,t,n))}let r=e.get(wa);return r===e?hh(e,t,n):new cp(e,hh(r,t,n))}function _h(e,t,n,r=!1){let i=n[3],a=i[1];if(Ka(i))return;let o=ih(i,t),s=o[1],c=o[Ym];if(!(c!==null&&ee.data.s===t[1])??-1;return{dehydratedView:n>-1?e[6][n]:null,dehydratedViewIx:n}}function yh(e,t,n,r,i){Tc(fc.DeferBlockStateStart);let a=ch(e,i,r);if(a!==null){t[1]=e;let o=i[1],s=Za(o,a+27);Hf(n,0);let c;if(e===Um.Complete){let e=oh(o,r),t=e.providers;t&&t.length>0&&(c=gh(i[9],e,t))}let{dehydratedView:l,dehydratedViewIx:u}=vh(n,t),d=pf(i,s,null,{injector:c,dehydratedView:l});if(Vf(n,d,0,mf(s,l)),ao(d),u>-1&&n[6]?.splice(u,1),(e===Um.Complete||e===Um.Error)&&Array.isArray(t[Xm])){for(let e of t[Xm])e();t[Xm]=null}}Tc(fc.DeferBlockStateEnd)}function bh(e,t){return e{e.loadingState===Bm.COMPLETE?_h(Um.Complete,t,n):e.loadingState===Bm.FAILED&&_h(Um.Error,t,n)})}var Ch=null;function wh(e,t){return t[9].get(mh,null,{optional:!0})?.behavior!==Qm.Manual}var Th=new mi(``),Eh=new mi(``);function Dh(){In(()=>{throw new k(600,``)})}var Oh=10,kh=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=A(zs);afterRenderManager=A(Ju);zonelessEnabled=A(Xs);rootEffectScheduler=A(Qs);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new qr;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=A(vs);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(Xr(e=>!e))}constructor(){A(Gu,{optional:!0})}whenStable(){let e;return new Promise(t=>{e=this.isStable.subscribe({next:e=>{e&&t()}})}).finally(()=>{e.unsubscribe()})}_injector=A(wa);_rendererFactory=null;get injector(){return this._injector}bootstrap(e,t){return this.bootstrapImpl(e,t)}bootstrapImpl(e,t,n=fs.NULL){return this._injector.get(Es).run(()=>{if(Tc(fc.BootstrapComponentStart),!this._injector.get(Mm).done)throw new k(405,``);let r=Si(e),i=this._injector.get(_m),a=new Zp(r,i);this.componentTypes.push(e);let{hostElement:o,directives:s,bindings:c}=Ah(t),l=o||a.selector,u=a.create(n,[],l,i.injector,s,c),d=u.location.nativeElement,f=u.injector.get(Th,null);return f?.registerApplication(d),u.onDestroy(()=>{this.detachView(u.hostView),jh(this.components,u),f?.unregisterApplication(d)}),this._loadComponent(u),Tc(fc.BootstrapComponentEnd,u),u})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){Tc(fc.ChangeDetectionStart),this.tracingSnapshot===null?this.tickImpl():this.tracingSnapshot.run(Wu.CHANGE_DETECTION,this.tickImpl)}tickImpl=()=>{if(this._runningTick)throw Tc(fc.ChangeDetectionEnd),new k(101,!1);let e=O(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,O(e),this.afterTick.next(),Tc(fc.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(ip,null,{optional:!0}));let e=0;for(;this.dirtyFlags!==0&&e++so(e))){this.dirtyFlags|=2;return}this.dirtyFlags&=-8}attachView(e){let t=e;this._views.push(t),t.attachToAppRef(this)}detachView(e){let t=e;jh(this._views,t),t.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView);try{this.tick()}catch(e){this.internalErrorHandler(e)}this.components.push(e),this._injector.get(Eh,[]).forEach(t=>t(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>jh(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new k(406,!1);let e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}static ɵfac=function(t){return new(t||e)};static ɵprov=Cl({token:e,factory:e.ɵfac})}return e})();function Ah(e){return e===void 0||typeof e==`string`||e instanceof Element?{hostElement:e}:e}function jh(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function Mh(e,t,n){let r=t.get(Ph);return r.add(e,n),()=>r.remove(e)}function Nh(e){return(t,n)=>Mh(t,n,e)}var Ph=(()=>{class e{buckets=new Map;callbackBucket=new Map;applicationRef=A(kh);ngZone=A(Es);idleService=A(xl);add(e,t){let n=Fh(t);this.callbackBucket.set(e,n);let r=this.buckets.get(n);r??(r={idleId:null,queue:new Set},this.buckets.set(n,r)),r.queue.add(e),this.scheduleBucket(r,t)}remove(e){let t=this.callbackBucket.get(e);if(t===void 0)return;this.callbackBucket.delete(e);let n=this.buckets.get(t);n&&(n.queue.delete(e),n.queue.size===0&&(this.cancelBucket(n),this.buckets.delete(t)))}scheduleBucket(e,t){if(e.idleId!==null)return;let n=Fh(t),r=r=>{for(let t of e.queue)if(t(),this.applicationRef._tick(),e.queue.delete(t),this.callbackBucket.delete(t),r&&r.timeRemaining()===0&&!r.didTimeout)break;e.idleId=null,e.queue.size>0?this.scheduleBucket(e,t):this.buckets.delete(n)};e.idleId=this.idleService.requestOnIdle(e=>this.ngZone.run(()=>r(e)),t)}cancelBucket(e){e.idleId!==null&&(this.idleService.cancelOnIdle(e.idleId),e.idleId=null)}ngOnDestroy(){for(let e of this.buckets.values())this.cancelBucket(e);this.buckets.clear(),this.callbackBucket.clear()}static ɵprov=si({token:e,providedIn:`root`,factory:()=>new e})}return e})();function Fh(e){return!e||e.timeout==null?``:`${e.timeout}`}function Ih(e){let t=M(),n=To();if(xh(t,n),!wh(0,t))return;let r=t[9];$m(0,ih(t,n),e(()=>Rh(0,t,n),r))}function Lh(e,t,n){let r=t[9],i=t[1];if(e.loadingState!==Bm.NOT_STARTED)return e.loadingPromise??Promise.resolve();let a=ih(t,n),o=fh(i,e);e.loadingState=Bm.IN_PROGRESS,eh(1,a);let s=e.dependencyResolverFn,c=r.get(cc).add();return s?(e.loadingPromise=Promise.allSettled(s()).then(n=>{let r=!1,i=[],a=[];for(let e=0;e0&&(t.directiveRegistry=dh(t.directiveRegistry,i),e.providers=ua(!1,...i.map(e=>e.type))),a.length>0&&(t.pipeRegistry=dh(t.pipeRegistry,a))}}),e.loadingPromise.finally(()=>{e.loadingPromise=null,c()})):(e.loadingPromise=Promise.resolve().then(()=>{e.loadingPromise=null,e.loadingState=Bm.COMPLETE,c()}),e.loadingPromise)}function Rh(e,t,n){let r=t[1],i=t[n.index];if(!wh(e,t))return;let a=ih(t,n),o=oh(r,n);switch(th(a),o.loadingState){case Bm.NOT_STARTED:_h(Um.Loading,n,i),Lh(o,t,n),o.loadingState===Bm.IN_PROGRESS&&Sh(o,n,i);break;case Bm.IN_PROGRESS:_h(Um.Loading,n,i),Sh(o,n,i);break;case Bm.COMPLETE:_h(Um.Complete,n,i);break;case Bm.FAILED:_h(Um.Error,n,i)}}function zh(e,t,n){return e===0?Vh(t,n):e!==2||!Vh(t,n)}function Bh(e){return e!=null&&(e&1)==1}function Vh(e,t){let n=e[9],r=oh(e[1],t),i=Zl(n),a=Bh(r.flags),o=ih(e,t)[Jm]!==null;return!(a&&o&&i)}function Hh(e,t,n,r,i,a,o,s,c,l){let u=M(),d=wo(),f=e+27,p=Fm(u,d,e,null,0,0),m=u[9],h=Zl(m);if(d.firstCreatePass){qu(`NgDefer`);let e={primaryTmplIndex:t,loadingTmplIndex:r??null,placeholderTmplIndex:i??null,errorTmplIndex:a??null,placeholderBlockConfig:null,loadingBlockConfig:null,dependencyResolverFn:n??null,loadingState:Bm.NOT_STARTED,loadingPromise:null,providers:null,hydrateTriggers:null,debug:null,flags:l??0};c?.(d,e,s,o),sh(d,f,e)}let g=u[f];pm(g,p,u);let _=null,v=null;if(g[6]?.length>0){let e=g[6][0].data;v=e.di??null,_=e.s}let y=[null,Wm.Initial,null,null,null,null,v,_,null,null];ah(u,f,y);let b=null;v!==null&&h&&(b=m.get(ql),b.add(v,{lView:u,tNode:p,lContainer:g}));let ee=()=>{th(y),v!==null&&b?.cleanup([v])};$m(0,y,()=>fo(u,ee)),uo(u,ee)}function Uh(e){zh(0,M(),To())&&Ih(Nh({timeout:e}))}function L(e,t,n,r){let i=M();return dp(i,Lo(),t)&&(wo(),tf(ns(),i,e,t,n,r)),L}var Wh=class{destroy(e){}updateValue(e,t){}swap(e,t){let n=Math.min(e,t),r=Math.max(e,t),i=this.detach(r);if(r-n>1){let e=this.detach(n);this.attach(n,i),this.attach(r,e)}else this.attach(n,i)}move(e,t){this.attach(t,this.detach(e))}};function Gh(e,t,n,r,i){return e===n&&Object.is(t,r)?1:Object.is(i(e,t),i(n,r))?-1:0}function Kh(e,t,n,r){let i,a,o=0,s=e.length-1;if(Array.isArray(t)){O(r);let c=t.length-1;for(O(null);o<=s&&o<=c;){let r=e.at(o),l=t[o],u=Gh(o,r,o,l,n);if(u!==0){u<0&&e.updateValue(o,l),o++;continue}let d=e.at(s),f=t[c],p=Gh(s,d,c,f,n);if(p!==0){p<0&&e.updateValue(s,f),s--,c--;continue}let m=n(o,r),h=n(s,d),g=n(o,l);if(Object.is(g,h)){let t=n(c,f);Object.is(t,m)?(e.swap(o,s),e.updateValue(s,f),c--,s--):e.move(s,o),e.updateValue(o,l),o++;continue}if(i??=new Xh,a??=Yh(e,o,s,n),qh(e,i,o,g))e.updateValue(o,l),o++,s++;else if(a.has(g))i.set(m,e.detach(o)),s--;else{let n=e.create(o,t[o]);e.attach(o,n),o++,s++}}for(;o<=c;)Jh(e,i,n,o,t[o]),o++}else if(t!=null){O(r);let c=t[Symbol.iterator]();O(null);let l=c.next();for(;!l.done&&o<=s;){let t=e.at(o),r=l.value,u=Gh(o,t,o,r,n);if(u!==0)u<0&&e.updateValue(o,r),o++,l=c.next();else{i??=new Xh,a??=Yh(e,o,s,n);let u=n(o,r);if(qh(e,i,o,u))e.updateValue(o,r),o++,s++,l=c.next();else if(!a.has(u))e.attach(o,e.create(o,r)),o++,s++,l=c.next();else{let r=n(o,t);i.set(r,e.detach(o)),s--}}}for(;!l.done;)Jh(e,i,n,e.length,l.value),l=c.next()}for(;o<=s;)e.destroy(e.detach(s--));i?.forEach(t=>{e.destroy(t)})}function qh(e,t,n,r){return t!==void 0&&t.has(r)?(e.attach(n,t.get(r)),t.delete(r),!0):!1}function Jh(e,t,n,r,i){if(qh(e,t,r,n(r,i)))e.updateValue(r,i);else{let t=e.create(r,i);e.attach(r,t)}}function Yh(e,t,n,r){let i=new Set;for(let a=t;a<=n;a++)i.add(r(a,e.at(a)));return i}var Xh=class{kvMap=new Map;_vMap=void 0;has(e){return this.kvMap.has(e)}delete(e){if(!this.has(e))return!1;let t=this.kvMap.get(e);return this._vMap!==void 0&&this._vMap.has(t)?(this.kvMap.set(e,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(e),!0}get(e){return this.kvMap.get(e)}set(e,t){if(this.kvMap.has(e)){let n=this.kvMap.get(e);this._vMap===void 0&&(this._vMap=new Map);let r=this._vMap;for(;r.has(n);)n=r.get(n);r.set(n,t)}else this.kvMap.set(e,t)}forEach(e){for(let[t,n]of this.kvMap)if(e(n,t),this._vMap!==void 0){let r=this._vMap;for(;r.has(n);)n=r.get(n),e(n,t)}}};function R(e,t,n,r,i,a,o,s){qu(`NgControlFlow`);let c=M(),l=wo();return Fm(c,l,e,t,n,r,i,ro(l.consts,a),256,o,s),Zh}function Zh(e,t,n,r,i,a,o,s){qu(`NgControlFlow`);let c=M(),l=wo();return Fm(c,l,e,t,n,r,i,ro(l.consts,a),512,o,s),Zh}function z(e,t){qu(`NgControlFlow`);let n=M(),r=Lo(),i=n[r]===Pu?-1:n[r],a=i===-1?void 0:rg(n,27+i);if(dp(n,r,e)){let r=O(null);try{if(a!==void 0&&Hf(a,0),e!==-1){let r=27+e,i=rg(n,r),a=cg(n[1],r),o=np(i,a,n);Vf(i,pf(n,a,t,{dehydratedView:o}),0,mf(a,o))}}finally{O(r)}}else if(a!==void 0){let e=Bf(a,0);e!==void 0&&(e[8]=t)}}var Qh=class{lContainer;$implicit;$index;constructor(e,t,n){this.lContainer=e,this.$implicit=t,this.$index=n}get $count(){return this.lContainer.length-10}};function $h(e){return e}function eg(e,t){return t}var tg=class{hasEmptyBlock;trackByFn;liveCollection;constructor(e,t,n){this.hasEmptyBlock=e,this.trackByFn=t,this.liveCollection=n}};function B(e,t,n,r,i,a,o,s,c,l,u,d,f){qu(`NgControlFlow`);let p=M(),m=wo(),h=c!==void 0,g=M(),_=new tg(h,s?o.bind(g[15][8]):o);g[27+e]=_,Fm(p,m,e+1,t,n,r,i,ro(m.consts,a),256),h&&Fm(p,m,e+2,c,l,u,d,ro(m.consts,f),512)}var ng=class extends Wh{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(e,t,n){super(),this.lContainer=e,this.hostLView=t,this.templateTNode=n}get length(){return this.lContainer.length-10}at(e){return this.getLView(e)[8].$implicit}attach(e,t){let n=t[6];this.needsIndexUpdate||=e!==this.length,Vf(this.lContainer,t,e,mf(this.templateTNode,n)),ig(this.lContainer,e)}detach(e){return this.needsIndexUpdate||=e!==this.length-1,ag(this.lContainer,e),og(this.lContainer,e)}create(e,t){let n=tp(this.lContainer,this.templateTNode.tView.ssrId);return pf(this.hostLView,this.templateTNode,new Qh(this.lContainer,t,e),{dehydratedView:n})}destroy(e){pd(e[1],e)}updateValue(e,t){this.getLView(e)[8].$implicit=t}reset(){this.needsIndexUpdate=!1}updateIndexes(){if(this.needsIndexUpdate)for(let e=0;e0){let e=n[9];Qu(e,r),Ru.delete(n[19]),r.detachedLeaveAnimationFns=void 0}}function ag(e,t){if(e.length<=10)return;let n=e[10+t],r=n?n[26]:void 0;r&&r.leave&&r.leave.size>0&&(r.detachedLeaveAnimationFns=[])}function og(e,t){return Uf(e,t)}function sg(e,t){return Bf(e,t)}function cg(e,t){return Za(e,t)}function lg(e,t,n){let r=M();return dp(r,Lo(),t)&&(wo(),Jd(ns(),r,e,t,r[11],n)),lg}function ug(e,t,n,r,i){cf(t,e,n,i?`class`:`style`,r)}function H(e,t,n,r){let i=M(),a=i[1],o=e+27,s=a.firstCreatePass?zp(o,i,2,t,ef,bo(),n,r):a.data[o];if(Ha(s)){let n=i[10].tracingService;if(n&&n.componentCreate){let o=a.data[s.directiveStart+s.componentOffset];return n.componentCreate(op(o),()=>(dg(e,t,i,s,r),H))}}return dg(e,t,i,s,r),H}function dg(e,t,n,r,i){if(af(r,n,e,t,mg),Ua(r)){let e=n[1];Wd(e,n,r),eu(e,r,n)}i!=null&&Gd(n,r)}function U(){let e=wo(),t=of(To());return e.firstCreatePass&&Bp(e,t),So(t)&&Co(),yo(),t.classesWithoutHost!=null&&Ic(t)&&ug(e,t,M(),t.classesWithoutHost,!0),t.stylesWithoutHost!=null&&Lc(t)&&ug(e,t,M(),t.stylesWithoutHost,!1),U}function fg(e,t,n,r){return H(e,t,n,r),U(),fg}function W(e,t,n,r){let i=M(),a=i[1],o=e+27,s=a.firstCreatePass?Vp(o,a,2,t,n,r):a.data[o];return af(s,i,e,t,mg),r!=null&&Gd(i,s),W}function G(){return So(of(To()))&&Co(),yo(),G}function pg(e,t,n,r){return W(e,t,n,r),G(),pg}var mg=(e,t,n,r,i)=>(ls(!0),du(t[11],r,os()));function hg(e,t,n){let r=M(),i=r[1],a=e+27,o=i.firstCreatePass?zp(a,r,8,`ng-container`,ef,bo(),t,n):i.data[a];if(af(o,r,e,`ng-container`,vg),Ua(o)){let e=r[1];Wd(e,r,o),eu(e,o,r)}return n!=null&&Gd(r,o),hg}function gg(){let e=wo(),t=of(To());return e.firstCreatePass&&Bp(e,t),gg}function _g(e,t,n){return hg(e,t,n),gg(),_g}var vg=(e,t,n,r,i)=>(ls(!0),uu(t[11],``));function K(){return M()}function q(e,t,n){let r=M();return dp(r,Lo(),t)&&(wo(),Yd(ns(),r,e,t,r[11],n)),q}var yg=void 0;function bg(e){let t=Math.floor(Math.abs(e)),n=e.toString().replace(/^[^.]*\.?/,``).length;return t===1&&n===0?1:5}var xg=[`en`,[[`a`,`p`],[`AM`,`PM`]],[[`AM`,`PM`]],[[`S`,`M`,`T`,`W`,`T`,`F`,`S`],[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`]],yg,[[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]],yg,[[`B`,`A`],[`BC`,`AD`],[`Before Christ`,`Anno Domini`]],0,[6,0],[`M/d/yy`,`MMM d, y`,`MMMM d, y`,`EEEE, MMMM d, y`],[`h:mm a`,`h:mm:ss a`,`h:mm:ss a z`,`h:mm:ss a zzzz`],[`{1}, {0}`,yg,yg,yg],[`.`,`,`,`;`,`%`,`+`,`-`,`E`,`×`,`‰`,`∞`,`NaN`,`:`],[`#,##0.###`,`#,##0%`,`¤#,##0.00`,`#E0`],`USD`,`$`,`US Dollar`,{},`ltr`,bg],Sg=Object.create(null);function Cg(e){let t=Eg(e),n=wg(t);if(n)return n;let r=t.split(`-`)[0];if(n=wg(r),n)return n;if(r===`en`)return xg;throw new k(701,!1)}function wg(e){if(!(e in Sg)){let t=Ri.ng&&Ri.ng.common&&Ri.ng.common.locales&&Ri.ng.common.locales[e];return t!==void 0&&(Sg[e]=t),t}return Sg[e]}var Tg={LocaleId:0,DayPeriodsFormat:1,DayPeriodsStandalone:2,DaysFormat:3,DaysStandalone:4,MonthsFormat:5,MonthsStandalone:6,Eras:7,FirstDayOfWeek:8,WeekendRange:9,DateFormat:10,TimeFormat:11,DateTimeFormat:12,NumberSymbols:13,NumberFormats:14,CurrencyCode:15,CurrencySymbol:16,CurrencyName:17,Currencies:18,Directionality:19,PluralCase:20,ExtraData:21};function Eg(e){return e.toLowerCase().replace(/_/g,`-`)}var Dg=`en-US`;function Og(e){typeof e==`string`&&e.toLowerCase().replace(/_/g,`-`)}function kg(e,t,n){let r=M(),i=wo(),a=To();return Ag(i,r,r[11],a,e,t,n),kg}function J(e,t,n){let r=M(),i=wo(),a=To();return(a.type&3||n)&&gp(a,i,r,n,r[11],e,t,mp(a,r,t)),J}function Ag(e,t,n,r,i,a,o){let s=!0,c=null;if((r.type&3||o)&&(c??=mp(r,t,a),gp(r,e,t,o,n,i,a,c)&&(s=!1)),s){let e=r.outputs?.[i],n=r.hostDirectiveOutputs?.[i];if(n&&n.length)for(let e=0;e>17&32767}function Pg(e){return(e&2)==2}function Fg(e,t){return e&131071|t<<17}function Ig(e){return e|2}function Lg(e){return(e&131068)>>2}function Rg(e,t){return e&-131069|t<<2}function zg(e){return(e&1)==1}function Bg(e){return e|1}function Vg(e,t,n,r,i,a){let o=a?t.classBindings:t.styleBindings,s=Ng(o),c=Lg(o);e[r]=n;let l=!1,u;if(Array.isArray(n)){let e=n;u=e[1],(u===null||ta(e,u)>0)&&(l=!0)}else u=n;if(i){if(c!==0){let t=Ng(e[s+1]);e[r+1]=Mg(t,s),t!==0&&(e[t+1]=Rg(e[t+1],r)),e[s+1]=Fg(e[s+1],r)}else e[r+1]=Mg(s,0),s!==0&&(e[s+1]=Rg(e[s+1],r)),s=r}else e[r+1]=Mg(c,0),s===0?s=r:e[c+1]=Rg(e[c+1],r),c=r;l&&(e[r+1]=Ig(e[r+1])),Ug(e,u,r,!0),Ug(e,u,r,!1),Hg(t,u,e,r,a),o=Mg(s,c),a?t.classBindings=o:t.styleBindings=o}function Hg(e,t,n,r,i){let a=i?e.residualClasses:e.residualStyles;a!=null&&typeof t==`string`&&ta(a,t)>=0&&(n[r+1]=Bg(n[r+1]))}function Ug(e,t,n,r){let i=e[n+1],a=t===null,o=r?Ng(i):Lg(i),s=!1;for(;o!==0&&(s===!1||a);){let n=e[o],i=e[o+1];Wg(n,t)&&(s=!0,e[o+1]=r?Bg(i):Ig(i)),o=r?Ng(i):Lg(i)}s&&(e[n+1]=r?Ig(i):Bg(i))}function Wg(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t==`string`?ta(e,t)>=0:!1}var Gg={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Kg(e){return e.substring(Gg.key,Gg.keyEnd)}function qg(e){return Yg(e),Jg(e,Xg(e,0,Gg.textEnd))}function Jg(e,t){let n=Gg.textEnd;return n===t?-1:(t=Gg.keyEnd=Zg(e,Gg.key=t,n),Xg(e,t,n))}function Yg(e){Gg.key=0,Gg.keyEnd=0,Gg.value=0,Gg.valueEnd=0,Gg.textEnd=e.length}function Xg(e,t,n){for(;t32;)t++;return t}function Qg(e,t,n){return n_(e,t,n,!1),Qg}function $g(e,t){return n_(e,t,null,!0),$g}function e_(e){r_(p_,t_,e,!0)}function t_(e,t){for(let n=qg(t);n>=0;n=Jg(t,n))$i(e,Kg(t),!0)}function n_(e,t,n,r){let i=M(),a=wo(),o=Ro(2);if(a.firstUpdatePass&&a_(a,e,o,r),t!==Pu&&dp(i,o,t)){let s=a.data[es()];h_(a,s,i,i[11],e,i[o+1]=v_(t,n),r,o)}}function r_(e,t,n,r){let i=wo(),a=Ro(2);i.firstUpdatePass&&a_(i,null,a,r);let o=M();if(n!==Pu&&dp(o,a,n)){let s=i.data[es()];if(y_(s,r)&&!i_(i,a)){let e=r?s.classesWithoutHost:s.stylesWithoutHost;e!==null&&(n=ni(e,n||``)),ug(i,s,o,n,r)}else m_(i,s,o,o[11],o[a+1],o[a+1]=f_(e,t,n),r,a)}}function i_(e,t){return t>=e.expandoStartIndex}function a_(e,t,n,r){let i=e.data;if(i[n+1]===null){let a=i[es()],o=i_(e,n);y_(a,r)&&t===null&&!o&&(t=!1),t=o_(i,a,t,r),Vg(i,a,t,n,o,r)}}function o_(e,t,n,r){let i=Uo(e),a=r?t.residualClasses:t.residualStyles;if(i===null)(r?t.classBindings:t.styleBindings)===0&&(n=u_(null,e,t,n,r),n=d_(n,t.attrs,r),a=null);else{let o=t.directiveStylingLast;if(o===-1||e[o]!==i){if(n=u_(i,e,t,n,r),a===null){let n=s_(e,t,r);n!==void 0&&Array.isArray(n)&&(n=u_(null,e,t,n[1],r),n=d_(n,t.attrs,r),c_(e,t,r,n))}else a=l_(e,t,r)}}return a!==void 0&&(r?t.residualClasses=a:t.residualStyles=a),n}function s_(e,t,n){let r=n?t.classBindings:t.styleBindings;if(Lg(r)!==0)return e[Ng(r)]}function c_(e,t,n,r){let i=n?t.classBindings:t.styleBindings;e[Ng(i)]=r}function l_(e,t,n){let r,i=t.directiveEnd;for(let a=1+t.directiveStylingLast;a0;){let t=e[i],a=Array.isArray(t),c=a?t[1]:t,l=c===null,u=n[i+1];u===Pu&&(u=l?ia:void 0);let d=l?ea(u,r):c===r?u:void 0;if(a&&!__(d)&&(d=ea(t,r)),__(d)&&(s=d,o))return s;let f=e[i+1];i=o?Ng(f):Lg(f)}if(t!==null){let e=a?t.residualClasses:t.residualStyles;e!=null&&(s=ea(e,r))}return s}function __(e){return e!==void 0}function v_(e,t){return e==null||e===``||(typeof t==`string`?e=ru(e)+t:typeof e==`object`&&(e=ti(ru(e)))),e}function y_(e,t){return!!(e.flags&(t?8:16))}function X(e,t=``){let n=M(),r=wo(),i=e+27,a=r.firstCreatePass?qf(r,i,1,t,null):r.data[i],o=b_(r,n,a,t);n[i]=o,cs()&&Sd(r,n,o,a),Oo(a,!1)}var b_=(e,t,n,r)=>(ls(!0),cu(t[11],r));function x_(e,t,n,r=``){return dp(e,Lo(),n)?t+Ei(n)+r:Pu}function S_(e,t,n,r,i,a=``){let o=fp(e,Fo(),n,i);return Ro(2),o?t+Ei(n)+r+Ei(i)+a:Pu}function C_(e,t,n,r,i,a,o,s=``){let c=pp(e,Fo(),n,i,o);return Ro(3),c?t+Ei(n)+r+Ei(i)+a+Ei(o)+s:Pu}function Z(e){return Q(``,e),Z}function Q(e,t,n){let r=M(),i=x_(r,e,t,n);return i!==Pu&&E_(r,es(),i),Q}function w_(e,t,n,r,i){let a=M(),o=S_(a,e,t,n,r,i);return o!==Pu&&E_(a,es(),o),w_}function T_(e,t,n,r,i,a,o){let s=M(),c=C_(s,e,t,n,r,i,a,o);return c!==Pu&&E_(s,es(),c),T_}function E_(e,t,n){let r=Ya(t,e);lu(e[11],r,n)}function D_(e,t){let n=Po()+e,r=M();return r[n]===Pu?lp(r,n,t()):up(r,n)}function O_(e,t,n,r){return j_(M(),Po(),e,t,n,r)}function k_(e,t){let n=e[t];return n===Pu?void 0:n}function A_(e,t,n,r,i,a){let o=t+n;return dp(e,o,i)?lp(e,o+1,a?r.call(a,i):r(i)):k_(e,o+1)}function j_(e,t,n,r,i,a,o){let s=t+n;return fp(e,s,i,a)?lp(e,s+2,o?r.call(o,i,a):r(i,a)):k_(e,s+2)}function M_(e,t){let n=wo(),r,i=e+27;n.firstCreatePass?(r=N_(t,n.pipeRegistry),n.data[i]=r,r.onDestroy&&(n.destroyHooks??=[]).push(i,r.onDestroy)):r=n.data[i];let a=r.factory||(r.factory=Ji(r.type,!0)),o=Ii(wp);try{let e=Jc(!1),t=a();return Jc(e),$a(n,M(),i,t),t}finally{Ii(o)}}function N_(e,t){if(t)for(let n=t.length-1;n>=0;n--){let r=t[n];if(e===r.name)return r}}function P_(e,t,n){let r=e+27,i=M(),a=Qa(i,r);return I_(i,r)?A_(i,Po(),t,a.transform,n,a):a.transform(n)}function F_(e,t,n,r){let i=e+27,a=M(),o=Qa(a,i);return I_(a,i)?j_(a,Po(),t,o.transform,n,r,o):o.transform(n,r)}function I_(e,t){return e[1].data[t].pure}var L_=(()=>{class e{applicationErrorHandler=A(zs);appRef=A(kh);taskService=A(vs);ngZone=A(Es);zonelessEnabled=A(Xs);tracing=A(Gu,{optional:!0});zoneIsDefined=typeof Zone<`u`&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new dr;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(ws):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(A(Zs,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{let e=this.taskService.add();if(!this.runningTick&&(this.cleanup(),!this.zonelessEnabled||this.appRef.includeAllTestViews)){this.taskService.remove(e);return}this.switchToMicrotaskScheduler(),this.taskService.remove(e)})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()}))}switchToMicrotaskScheduler(){this.ngZone.runOutsideAngular(()=>{let e=this.taskService.add();this.useMicrotaskScheduler=!0,queueMicrotask(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(e)})})}notify(e){if(!this.zonelessEnabled&&e===5)return;switch(e){case 0:case 2:this.appRef.dirtyFlags|=2;break;case 3: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 t=this.useMicrotaskScheduler?Ss:xs;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>t(()=>this.tick())):this.ngZone.runOutsideAngular(()=>t(()=>this.tick()))}shouldScheduleTick(){return!(this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(`isAngularZone_ID`+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 e=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(e){this.applicationErrorHandler(e)}finally{this.taskService.remove(e),this.cleanup()}}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let e=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(e)}}static ɵfac=function(t){return new(t||e)};static ɵprov=Cl({token:e,factory:e.ɵfac})}return e})();function R_(){return[{provide:Ys,useExisting:L_},{provide:Es,useClass:Ps},{provide:Xs,useValue:!0}]}function z_(){return typeof $localize<`u`&&$localize.locale||`en-US`}var B_=new mi(``,{factory:()=>A(B_,{optional:!0,skipSelf:!0})||z_()}),V_=class{destroyed=!1;listeners=null;errorHandler=A(Rs,{optional:!0});isEmitting=!1;hasNullListeners=!1;destroyRef=A(ms);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(e){if(this.destroyed)throw new k(953,!1);return(this.listeners??=[]).push(e),{unsubscribe:()=>{let t=this.listeners?this.listeners.indexOf(e):-1;t>-1&&(this.isEmitting?(this.hasNullListeners=!0,this.listeners[t]=null):this.listeners.splice(t,1))}}}emit(e){if(this.destroyed){console.warn($r(953,!1));return}if(this.listeners===null)return;this.isEmitting=!0;let t=O(null);try{for(let t of this.listeners)try{t!==null&&t(e)}catch(e){this.errorHandler?.handleError(e)}}finally{this.hasNullListeners&&(this.hasNullListeners=!1,this.listeners&&H_(this.listeners)),O(t),this.isEmitting=!1}}};function H_(e){let t=e.length-1;for(;t>-1;)e[t]===null&&e.splice(t,1),t--}function $(e,t){return On(e,t?.equal)}function U_(e){return tr(e)}(class e extends Error{_brand;constructor(e){super(e)}static IDLE=new e(`IDLE`);static LOADING=new e(`LOADING`)});var W_=e=>e;function G_(e,t){return typeof e==`function`?K_(Zn(e,W_,t?.equal),t?.debugName,t?.set):K_(Zn(e.source,e.computation,e.equal),e.debugName,e.set)}function K_(e,t,n){let r=e[sn],i=e;if(n!==void 0){let t=e=>Qn(r,e);i.set=e=>n(e,t),i.update=r=>n(r(U_(e)),t)}else i.set=e=>Qn(r,e),i.update=e=>$n(r,e);return i.asReadonly=Vs.bind(e),i}function q_(e,t){let n=Object.create(uc);n.value=e,n.transformFn=t?.transform;function r(){if(un(n),n.value===lc)throw new k(-950,null);return n.value}return r[sn]=n,r}function J_(e){return new V_}function Y_(e,t){return q_(e,t)}function X_(e){return q_(lc,e)}var Z_=(Y_.required=X_,Y_),Q_=new mi(``),$_=new mi(``);function ev(e){return!e.moduleRef}function tv(e){let t=ev(e)?e.r3Injector:e.moduleRef.injector,n=t.get(Es);return n.run(()=>{ev(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(zs),i;if(n.runOutsideAngular(()=>{i=n.onError.subscribe({next:r})}),ev(e)){let n=()=>t.destroy(),r=e.platformInjector.get(Q_);r.add(n),t.onDestroy(()=>{i.unsubscribe(),r.delete(n)})}else{let t=()=>e.moduleRef.destroy(),n=e.platformInjector.get(Q_);n.add(t),e.moduleRef.onDestroy(()=>{jh(e.allPlatformModules,e.moduleRef),i.unsubscribe(),n.delete(t)})}return rv(r,n,()=>{let n=t.get(vs),r=n.add(),i=t.get(Mm);return i.runInitializers(),i.donePromise.then(()=>{if(Og(t.get(B_,Dg)||`en-US`),!t.get($_,!0))return ev(e)?t.get(kh):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(ev(e)){let n=t.get(kh);return e.rootComponent!==void 0&&n.bootstrap(e.rootComponent),n}return nv?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>void n.remove(r))})})}var nv;function rv(e,t,n){try{let r=n();return hm(r)?r.catch(n=>{throw t.runOutsideAngular(()=>e(n)),n}):r}catch(n){throw t.runOutsideAngular(()=>e(n)),n}}var iv=null;function av(e=[],t){return fs.create({name:t,providers:[{provide:ya,useValue:`platform`},{provide:Q_,useValue:new Set([()=>iv=null])},...e]})}function ov(e=[]){if(iv)return iv;let t=av(e);return iv=t,Dh(),sv(t),t}function sv(e){let t=e.get(Ws,null);Ia(e,()=>{t?.forEach(e=>e())})}function cv(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:i}=e;Tc(fc.BootstrapApplicationStart);try{let e=i?.injector??ov(r);return tv({r3Injector:new vm({providers:[R_(),Bs,...n||[]],parent:e,debugName:``,runEnvironmentInitializers:!1}).injector,platformInjector:e,rootComponent:t})}catch(e){return Promise.reject(e)}finally{Tc(fc.BootstrapApplicationEnd)}}var lv=null;function uv(){return lv}function dv(e){lv??=e}var fv=class{},pv=(function(e){return e[e.Format=0]=`Format`,e[e.Standalone=1]=`Standalone`,e})(pv||{}),mv=(function(e){return e[e.Narrow=0]=`Narrow`,e[e.Abbreviated=1]=`Abbreviated`,e[e.Wide=2]=`Wide`,e[e.Short=3]=`Short`,e})(mv||{}),hv=(function(e){return e[e.Short=0]=`Short`,e[e.Medium=1]=`Medium`,e[e.Long=2]=`Long`,e[e.Full=3]=`Full`,e})(hv||{}),gv={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function _v(e){return Cg(e)[Tg.LocaleId]}function vv(e,t,n){let r=Cg(e);return kv(kv([r[Tg.DayPeriodsFormat],r[Tg.DayPeriodsStandalone]],t),n)}function yv(e,t,n){let r=Cg(e);return kv(kv([r[Tg.DaysFormat],r[Tg.DaysStandalone]],t),n)}function bv(e,t,n){let r=Cg(e);return kv(kv([r[Tg.MonthsFormat],r[Tg.MonthsStandalone]],t),n)}function xv(e,t){let n=Cg(e)[Tg.Eras];return kv(n,t)}function Sv(e,t){return kv(Cg(e)[Tg.DateFormat],t)}function Cv(e,t){return kv(Cg(e)[Tg.TimeFormat],t)}function wv(e,t){let n=Cg(e)[Tg.DateTimeFormat];return kv(n,t)}function Tv(e,t){let n=Cg(e),r=n[Tg.NumberSymbols][t];if(r===void 0){if(t===gv.CurrencyDecimal)return n[Tg.NumberSymbols][gv.Decimal];if(t===gv.CurrencyGroup)return n[Tg.NumberSymbols][gv.Group]}return r}function Ev(e){if(!e[Tg.ExtraData])throw new k(2303,!1)}function Dv(e){let t=Cg(e);return Ev(t),(t[Tg.ExtraData][2]||[]).map(e=>typeof e==`string`?Av(e):[Av(e[0]),Av(e[1])])}function Ov(e,t,n){let r=Cg(e);return Ev(r),kv(kv([r[Tg.ExtraData][0],r[Tg.ExtraData][1]],t)||[],n)||[]}function kv(e,t){for(let n=t;n>-1;n--)if(e[n]!==void 0)return e[n];throw new k(2304,!1)}function Av(e){let[t,n]=e.split(`:`);return{hours:+t,minutes:+n}}var jv=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Mv=Object.create(null),Nv=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/,Pv=256;function Fv(e,t,n,r){let i=iy(e);Iv(t),t=Rv(n,t)||t;let a=[],o;for(;t;)if(o=Nv.exec(t),o){a=a.concat(o.slice(1));let e=a.pop();if(!e)break;t=e}else{a.push(t);break}let s=i.getTimezoneOffset();r&&(s=ty(r,s),i=ry(i,r));let c=``;return a.forEach(e=>{let t=ey(e);c+=t?t(i,n,s):e===`''`?`'`:e.replace(/(^'|'$)/g,``).replace(/''/g,`'`)}),c}function Iv(e){if(e.length>Pv)throw new k(2300,!1)}function Lv(e,t,n){let r=new Date(0);return r.setFullYear(e,t,n),r.setHours(0,0,0),r}function Rv(e,t){let n=_v(e);if(Mv[n]??=Object.create(null),Mv[n][t])return Mv[n][t];let r=``;switch(t){case`shortDate`:r=Sv(e,hv.Short);break;case`mediumDate`:r=Sv(e,hv.Medium);break;case`longDate`:r=Sv(e,hv.Long);break;case`fullDate`:r=Sv(e,hv.Full);break;case`shortTime`:r=Cv(e,hv.Short);break;case`mediumTime`:r=Cv(e,hv.Medium);break;case`longTime`:r=Cv(e,hv.Long);break;case`fullTime`:r=Cv(e,hv.Full);break;case`short`:let t=Rv(e,`shortTime`),n=Rv(e,`shortDate`);r=zv(wv(e,hv.Short),[t,n]);break;case`medium`:let i=Rv(e,`mediumTime`),a=Rv(e,`mediumDate`);r=zv(wv(e,hv.Medium),[i,a]);break;case`long`:let o=Rv(e,`longTime`),s=Rv(e,`longDate`);r=zv(wv(e,hv.Long),[o,s]);break;case`full`:let c=Rv(e,`fullTime`),l=Rv(e,`fullDate`);r=zv(wv(e,hv.Full),[c,l])}return r&&(Mv[n][t]=r),r}function zv(e,t){return t&&(e=e.replace(/\{([^}]+)}/g,function(e,n){return Object.hasOwn(t,n)?t[n]:e})),e}function Bv(e,t,n=`-`,r,i){let a=``;(e<0||i&&e<=0)&&(i?e=-e+1:(e=-e,a=n));let o=String(e);for(;o.length0||s>-n)&&(s+=n),e===3)s===0&&n===-12&&(s=12);else if(e===6)return Vv(s,t);let c=Tv(o,gv.MinusSign);return Bv(s,t,c,r,i)}}function Uv(e,t){switch(e){case 0:return t.getFullYear();case 1:return t.getMonth();case 2:return t.getDate();case 3:return t.getHours();case 4:return t.getMinutes();case 5:return t.getSeconds();case 6:return t.getMilliseconds();case 7:return t.getDay();default:throw new k(2301,!1)}}function Wv(e,t,n=pv.Format,r=!1){return function(i,a){return Gv(i,a,e,t,n,r)}}function Gv(e,t,n,r,i,a){switch(n){case 2:return bv(t,i,r)[e.getMonth()];case 1:return yv(t,i,r)[e.getDay()];case 0:let n=e.getHours(),o=e.getMinutes();if(a){let e=Dv(t),a=Ov(t,i,r),s=e.findIndex(e=>{if(Array.isArray(e)){let[t,r]=e,i=n>=t.hours&&o>=t.minutes,a=n0?Math.floor(i/60):Math.ceil(i/60);switch(e){case 0:return(i>=0?`+`:``)+Bv(o,2,a)+Bv(Math.abs(i%60),2,a);case 1:return`GMT`+(i>=0?`+`:``)+Bv(o,1,a);case 2:return`GMT`+(i>=0?`+`:``)+Bv(o,2,a)+`:`+Bv(Math.abs(i%60),2,a);case 3:return r===0?`Z`:(i>=0?`+`:``)+Bv(o,2,a)+`:`+Bv(Math.abs(i%60),2,a);default:throw new k(2310,!1)}}}var qv=0,Jv=4;function Yv(e){let t=Lv(e,qv,1).getDay();return Lv(e,0,1+(t<=Jv?Jv:11)-t)}function Xv(e){let t=e.getDay(),n=t===0?-3:Jv-t;return Lv(e.getFullYear(),e.getMonth(),e.getDate()+n)}function Zv(e,t=!1){return function(n,r){let i;if(t){let e=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,t=n.getDate();i=1+Math.floor((t+e)/7)}else{let e=Xv(n),t=Yv(e.getFullYear()),r=e.getTime()-t.getTime();i=1+Math.round(r/6048e5)}return Bv(i,e,Tv(r,gv.MinusSign))}}function Qv(e,t=!1){return function(n,r){return Bv(Xv(n).getFullYear(),e,Tv(r,gv.MinusSign),t)}}var $v=Object.create(null);function ey(e){if($v[e])return $v[e];let t;switch(e){case`G`:case`GG`:case`GGG`:t=Wv(3,mv.Abbreviated);break;case`GGGG`:t=Wv(3,mv.Wide);break;case`GGGGG`:t=Wv(3,mv.Narrow);break;case`y`:t=Hv(0,1,0,!1,!0);break;case`yy`:t=Hv(0,2,0,!0,!0);break;case`yyy`:t=Hv(0,3,0,!1,!0);break;case`yyyy`:t=Hv(0,4,0,!1,!0);break;case`Y`:t=Qv(1);break;case`YY`:t=Qv(2,!0);break;case`YYY`:t=Qv(3);break;case`YYYY`:t=Qv(4);break;case`M`:case`L`:t=Hv(1,1,1);break;case`MM`:case`LL`:t=Hv(1,2,1);break;case`MMM`:t=Wv(2,mv.Abbreviated);break;case`MMMM`:t=Wv(2,mv.Wide);break;case`MMMMM`:t=Wv(2,mv.Narrow);break;case`LLL`:t=Wv(2,mv.Abbreviated,pv.Standalone);break;case`LLLL`:t=Wv(2,mv.Wide,pv.Standalone);break;case`LLLLL`:t=Wv(2,mv.Narrow,pv.Standalone);break;case`w`:t=Zv(1);break;case`ww`:t=Zv(2);break;case`W`:t=Zv(1,!0);break;case`d`:t=Hv(2,1);break;case`dd`:t=Hv(2,2);break;case`c`:case`cc`:t=Hv(7,1);break;case`ccc`:t=Wv(1,mv.Abbreviated,pv.Standalone);break;case`cccc`:t=Wv(1,mv.Wide,pv.Standalone);break;case`ccccc`:t=Wv(1,mv.Narrow,pv.Standalone);break;case`cccccc`:t=Wv(1,mv.Short,pv.Standalone);break;case`E`:case`EE`:case`EEE`:t=Wv(1,mv.Abbreviated);break;case`EEEE`:t=Wv(1,mv.Wide);break;case`EEEEE`:t=Wv(1,mv.Narrow);break;case`EEEEEE`:t=Wv(1,mv.Short);break;case`a`:case`aa`:case`aaa`:t=Wv(0,mv.Abbreviated);break;case`aaaa`:t=Wv(0,mv.Wide);break;case`aaaaa`:t=Wv(0,mv.Narrow);break;case`b`:case`bb`:case`bbb`:t=Wv(0,mv.Abbreviated,pv.Standalone,!0);break;case`bbbb`:t=Wv(0,mv.Wide,pv.Standalone,!0);break;case`bbbbb`:t=Wv(0,mv.Narrow,pv.Standalone,!0);break;case`B`:case`BB`:case`BBB`:t=Wv(0,mv.Abbreviated,pv.Format,!0);break;case`BBBB`:t=Wv(0,mv.Wide,pv.Format,!0);break;case`BBBBB`:t=Wv(0,mv.Narrow,pv.Format,!0);break;case`h`:t=Hv(3,1,-12);break;case`hh`:t=Hv(3,2,-12);break;case`H`:t=Hv(3,1);break;case`HH`:t=Hv(3,2);break;case`m`:t=Hv(4,1);break;case`mm`:t=Hv(4,2);break;case`s`:t=Hv(5,1);break;case`ss`:t=Hv(5,2);break;case`S`:t=Hv(6,1);break;case`SS`:t=Hv(6,2);break;case`SSS`:t=Hv(6,3);break;case`Z`:case`ZZ`:case`ZZZ`:t=Kv(0);break;case`ZZZZZ`:t=Kv(3);break;case`O`:case`OO`:case`OOO`:case`z`:case`zz`:case`zzz`:t=Kv(1);break;case`OOOO`:case`ZZZZ`:case`zzzz`:t=Kv(2);break;default:return null}return $v[e]=t,t}function ty(e,t){e=e.replace(/:/g,``);let n=Date.parse(`Jan 01, 1970 00:00:00 `+e)/6e4;return isNaN(n)?t:n}function ny(e,t){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+t),e}function ry(e,t,n){let r=e.getTimezoneOffset();return ny(e,-1*(ty(t,r)-r))}function iy(e){if(oy(e))return e;if(typeof e==`number`&&!isNaN(e))return new Date(e);if(typeof e==`string`){if(e=e.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(e)){let[t,n=1,r=1]=e.split(`-`).map(e=>+e);return Lv(t,n-1,r)}let t=parseFloat(e);if(!isNaN(e-t))return new Date(t);let n;if(n=e.match(jv))return ay(n)}let t=new Date(e);if(!oy(t))throw new k(2311,!1);return t}function ay(e){let t=new Date(0),n=0,r=0,i=e[8]?t.setUTCFullYear:t.setFullYear,a=e[8]?t.setUTCHours:t.setHours;e[9]&&(n=Number(e[9]+e[10]),r=Number(e[9]+e[11])),i.call(t,Number(e[1]),Number(e[2])-1,Number(e[3]));let o=Number(e[4]||0)-n,s=Number(e[5]||0)-r,c=Number(e[6]||0),l=Math.floor(parseFloat(`0.`+(e[7]||0))*1e3);return a.call(t,o,s,c,l),t}function oy(e){return e instanceof Date&&!isNaN(e.valueOf())}var sy=(()=>{class e{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;injector=A(fs);constructor(e){this._viewContainerRef=e}ngOnChanges(e){if(this._shouldRecreateView(e)){let e=this._viewContainerRef;if(this._viewRef&&e.remove(e.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let t=this._createContextForwardProxy();this._viewRef=e.createEmbeddedView(this.ngTemplateOutlet,t,{injector:this._getInjector()})}}_getInjector(){return this.ngTemplateOutletInjector===`outlet`?this.injector:this.ngTemplateOutletInjector??void 0}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,t,n)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,t,n):!1,get:(e,t,n)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,t,n)}})}static ɵfac=function(t){return new(t||e)(wp(im))};static ɵdir=Tm({type:e,selectors:[[``,`ngTemplateOutlet`,``]],inputs:{ngTemplateOutletContext:`ngTemplateOutletContext`,ngTemplateOutlet:`ngTemplateOutlet`,ngTemplateOutletInjector:`ngTemplateOutletInjector`},features:[gc]})}return e})();function cy(e,t){return new k(2100,!1)}var ly=`mediumDate`,uy=new mi(``),dy=new mi(``),fy=(()=>{class e{locale;defaultTimezone;defaultOptions;constructor(e,t,n){this.locale=e,this.defaultTimezone=t,this.defaultOptions=n}transform(t,n,r,i){if(t==null||t===``||t!==t)return null;try{let e=n??this.defaultOptions?.dateFormat??ly,a=r??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return Fv(t,e,i||this.locale,a)}catch(t){throw cy(e,t.message)}}static ɵfac=function(t){return new(t||e)(wp(B_,16),wp(uy,24),wp(dy,24))};static ɵpipe=Em({name:`date`,type:e,pure:!0})}return e})(),py=(()=>{class e{transform(e){return JSON.stringify(e,null,2)}static ɵfac=function(t){return new(t||e)};static ɵpipe=Em({name:`json`,type:e,pure:!1})}return e})();function my(e,t){t=encodeURIComponent(t);for(let n of e.split(`;`)){let e=n.indexOf(`=`),[r,i]=e==-1?[n,``]:[n.slice(0,e),n.slice(e+1)];if(r.trim()!==t)continue;let a=i;try{a=decodeURIComponent(i)}catch{}return a.length>1&&a[0]===`"`&&a[a.length-1]===`"`&&(a=a.slice(1,-1)),a}return null}var hy=`browser`,gy=class{_doc;constructor(e){this._doc=e}manager},_y=(()=>{class e extends gy{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,n,r){return e.addEventListener(t,n,r),()=>this.removeEventListener(e,t,n,r)}removeEventListener(e,t,n,r){return e.removeEventListener(t,n,r)}static ɵfac=function(t){return new(t||e)(Ui(ps))};static ɵprov=si({token:e,factory:e.ɵfac})}return e})(),vy=new mi(``),yy=(()=>{class e{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,t){this._zone=t,e.forEach(e=>{e.manager=this});let n=e.filter(e=>!(e instanceof _y));this._plugins=n.slice().reverse();let r=e.find(e=>e instanceof _y);r&&this._plugins.push(r)}addEventListener(e,t,n,r){return this._findPluginFor(t).addEventListener(e,t,n,r)}getZone(){return this._zone}_findPluginFor(e){let t=this._eventNameToPlugin.get(e);if(t)return t;if(t=this._plugins.find(t=>t.supports(e)),!t)throw new k(-5101,!1);return this._eventNameToPlugin.set(e,t),t}static ɵfac=function(t){return new(t||e)(Ui(vy),Ui(Es))};static ɵprov=si({token:e,factory:e.ɵfac})}return e})(),by=`ng-app-id`;function xy(e){for(let t of e)t.remove()}function Sy(e,t){let n=t.createElement(`style`);return n.textContent=e,n}function Cy(e,t,n,r){let i=e.head?.querySelectorAll(`style[${by}="${t}"],link[${by}="${t}"]`);if(!i||i.length===0)return!1;for(let e of i)e.removeAttribute(by),e instanceof HTMLLinkElement?r.set(e.href.slice(e.href.lastIndexOf(`/`)+1),{usage:0,elements:[e]}):e.textContent&&n.set(e.textContent,{usage:0,elements:[e]});return!0}function wy(e,t){let n=t.createElement(`link`);return n.setAttribute(`rel`,`stylesheet`),n.setAttribute(`href`,e),n}var Ty=(()=>{class e{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,t,n,r={}){this.doc=e,this.appId=t,this.nonce=n,Cy(e,t,this.inline,this.external)&&this.hosts.add(e.head)}addStyles(e,t){for(let t of e)this.addUsage(t,this.inline,Sy);t?.forEach(e=>this.addUsage(e,this.external,wy))}removeStyles(e,t){for(let t of e)this.removeUsage(t,this.inline);t?.forEach(e=>this.removeUsage(e,this.external))}addUsage(e,t,n){let r=t.get(e);r?r.usage++:t.set(e,{usage:1,elements:[...this.hosts].map(t=>this.addElement(t,n(e,this.doc)))})}removeUsage(e,t){let n=t.get(e);n&&(n.usage--,n.usage<=0&&(xy(n.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])xy(e);this.hosts.clear()}addHost(e){if(!this.hosts.has(e)){this.hosts.add(e);for(let[t,{elements:n}]of this.inline)n.push(this.addElement(e,Sy(t,this.doc)));for(let[t,{elements:n}]of this.external)n.push(this.addElement(e,wy(t,this.doc)))}}removeHost(e){this.hosts.delete(e);for(let t of[...this.inline.values(),...this.external.values()]){let n=[];for(let r of t.elements)r.parentNode===e?r.remove():n.push(r);t.elements=n}}addElement(e,t){return this.nonce&&t.setAttribute(`nonce`,this.nonce),e.appendChild(t)}static ɵfac=function(t){return new(t||e)(Ui(ps),Ui(Hs),Ui(Ks,8),Ui(Gs))};static ɵprov=si({token:e,factory:e.ɵfac})}return e})(),Ey={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`},Dy=/%COMP%/g,Oy=`%COMP%`,ky=`_nghost-${Oy}`,Ay=`_ngcontent-${Oy}`,jy=!0,My=new mi(``,{factory:()=>jy}),Ny=new mi(``);function Py(e){return Ay.replace(Dy,e)}function Fy(e){return ky.replace(Dy,e)}function Iy(e,t){return t.map(t=>t.replace(Dy,e))}var Ly=(()=>{class e{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;cssVarNamespace;constructor(e,t,n,r,i,a,o=null,s=null,c=null){this.eventManager=e,this.sharedStylesHost=t,this.appId=n,this.removeStylesOnCompDestroy=r,this.doc=i,this.ngZone=a,this.nonce=o,this.tracingService=s,this.cssVarNamespace=c??``,this.defaultRenderer=new Ry(e,i,a,this.tracingService,this.cssVarNamespace)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;let n=this.getOrCreateRenderer(e,t);return n instanceof Hy?n.applyToHost(e):n instanceof Vy&&n.applyStyles(),n}getOrCreateRenderer(e,t){let n=this.rendererByCompId,r=n.get(t.id);if(!r){let i=this.doc,a=this.ngZone,o=this.eventManager,s=this.sharedStylesHost,c=this.removeStylesOnCompDestroy,l=this.tracingService;switch(t.encapsulation){case tu.Emulated:r=new Hy(o,s,t,this.appId,c,i,a,l,this.cssVarNamespace);break;case tu.ShadowDom:return new By(o,e,t,i,a,this.nonce,l,this.cssVarNamespace,s);case tu.ExperimentalIsolatedShadowDom:return new By(o,e,t,i,a,this.nonce,l,this.cssVarNamespace);default:r=new Vy(o,s,t,c,i,a,l,this.cssVarNamespace)}n.set(t.id,r)}return r}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static ɵfac=function(t){return new(t||e)(Ui(yy),Ui(Sp),Ui(Hs),Ui(My),Ui(ps),Ui(Es),Ui(Ks),Ui(Gu,8),Ui(Ny,8))};static ɵprov=si({token:e,factory:e.ɵfac})}return e})(),Ry=class{eventManager;doc;ngZone;tracingService;cssVarNamespace;data=Object.create(null);throwOnSyntheticProps=!0;constructor(e,t,n,r,i=``){this.eventManager=e,this.doc=t,this.ngZone=n,this.tracingService=r,this.cssVarNamespace=i}destroy(){}destroyNode=null;createElement(e,t){return t?this.doc.createElementNS(Ey[t]||t,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,t){(zy(e)?e.content:e).appendChild(t)}insertBefore(e,t,n){if(e){let r=zy(e)?e.content:e;if(n!=null&&n.parentNode!==r)throw new k(-5106,!1);r.insertBefore(t,n)}}removeChild(e,t){t.remove()}selectRootElement(e,t){let n=typeof e==`string`?this.doc.querySelector(e):e;if(!n)throw new k(-5104,!1);return t||(n.textContent=``),n}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,n,r){if(r){t=r+`:`+t;let i=Ey[r];i?e.setAttributeNS(i,t,n):e.setAttribute(t,n)}else e.setAttribute(t,n)}removeAttribute(e,t,n){if(n){let r=Ey[n];r?e.removeAttributeNS(r,t):e.removeAttribute(`${n}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,n,r){let i=t.startsWith(`--`);i&&(t=t.replace(`%NS%`,this.cssVarNamespace)),i||r&(Fu.DashCase|Fu.Important)?e.style.setProperty(t,n,r&Fu.Important?`important`:``):e.style[t]=n}removeStyle(e,t,n){let r=t.startsWith(`--`);r&&(t=t.replace(`%NS%`,this.cssVarNamespace)),r||n&Fu.DashCase?e.style.removeProperty(t):e.style[t]=``}setProperty(e,t,n){e!=null&&(e[t]=n)}setValue(e,t){e.nodeValue=t}listen(e,t,n,r){if(typeof e==`string`&&(e=uv().getGlobalEventTarget(this.doc,e),!e))throw new k(-5102,!1);let i=this.decoratePreventDefault(n);return this.tracingService?.wrapEventListener&&(i=this.tracingService.wrapEventListener(e,t,i)),this.eventManager.addEventListener(e,t,i,r)}decoratePreventDefault(e){return t=>{if(t===`__ngUnwrap__`)return e;e(t)===!1&&t.preventDefault()}}};function zy(e){return e.tagName===`TEMPLATE`&&e.content!==void 0}var By=class extends Ry{hostEl;sharedStylesHost;shadowRoot;constructor(e,t,n,r,i,a,o,s,c){super(e,r,i,o,s),this.hostEl=t,this.sharedStylesHost=c,this.shadowRoot=t.attachShadow({mode:`open`}),this.sharedStylesHost&&this.sharedStylesHost.addHost(this.shadowRoot);let l=n.styles;l=Iy(n.id,l).map(e=>e.replace(/%NS%/g,s));for(let e of l){let t=document.createElement(`style`);a&&t.setAttribute(`nonce`,a),t.textContent=e,this.shadowRoot.appendChild(t)}let u=n.getExternalStyles?.();if(u)for(let e of u){let t=wy(e,r);a&&t.setAttribute(`nonce`,a),this.shadowRoot.appendChild(t)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,n){return super.insertBefore(this.nodeOrShadowRoot(e),t,n)}removeChild(e,t){return super.removeChild(null,t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}destroy(){this.sharedStylesHost&&this.sharedStylesHost.removeHost(this.shadowRoot)}},Vy=class extends Ry{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(e,t,n,r,i,a,o,s,c){super(e,i,a,o,s),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r;let l=n.styles,u=c?Iy(c,l):l;this.styles=u.map(e=>e.replace(/%NS%/g,s)),this.styleUrls=n.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&Ru.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},Hy=class extends Vy{contentAttr;hostAttr;constructor(e,t,n,r,i,a,o,s,c){let l=r+`-`+n.id;super(e,t,n,i,a,o,s,c,l),this.contentAttr=Py(l),this.hostAttr=Fy(l)}applyToHost(e){this.applyStyles(),this.setAttribute(e,this.hostAttr,``)}createElement(e,t){let n=super.createElement(e,t);return super.setAttribute(n,this.contentAttr,``),n}},Uy=class e extends fv{supportsDOMEvents=!0;static makeCurrent(){dv(new e)}onAndCancel(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.remove()}createElement(e,t){return t||=this.getDefaultDocument(),t.createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument(`fakeTitle`)}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return t===`window`?window:t===`document`?e:t===`body`?e.body:null}getBaseHref(e){let t=Gy();return t==null?null:Ky(t)}resetBaseElement(){Wy=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return my(document.cookie,e)}},Wy=null;function Gy(){return Wy||=document.head.querySelector(`base`),Wy?Wy.getAttribute(`href`):null}function Ky(e){return new URL(e,document.baseURI).pathname}var qy=[`alt`,`control`,`meta`,`shift`],Jy={"\b":`Backspace`," ":`Tab`,"":`Delete`,"\x1B":`Escape`,Del:`Delete`,Esc:`Escape`,Left:`ArrowLeft`,Right:`ArrowRight`,Up:`ArrowUp`,Down:`ArrowDown`,Menu:`ContextMenu`,Scroll:`ScrollLock`,Win:`OS`},Yy={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},Xy=(()=>{class e extends gy{constructor(e){super(e)}supports(t){return e.parseEventName(t)!=null}addEventListener(t,n,r,i){let a=e.parseEventName(n),o=e.eventCallback(a.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>uv().onAndCancel(t,a.domEventName,o,i))}static parseEventName(t){let n=t.toLowerCase().split(`.`),r=n.shift();if(n.length===0||r!==`keydown`&&r!==`keyup`)return null;let i=e._normalizeKey(n.pop()),a=``,o=n.indexOf(`code`);if(o>-1&&(n.splice(o,1),a=`code.`),qy.forEach(e=>{let t=n.indexOf(e);t>-1&&(n.splice(t,1),a+=e+`.`)}),a+=i,n.length!=0||i.length===0)return null;let s={};return s.domEventName=r,s.fullKey=a,s}static matchEventFullKeyCode(e,t){let n=Jy[e.key]||e.key,r=``;return t.indexOf(`code.`)>-1&&(n=e.code,r=`code.`),n==null||!n?!1:(n=n.toLowerCase(),n===` `?n=`space`:n===`.`&&(n=`dot`),qy.forEach(t=>{if(t!==n){let n=Yy[t];n(e)&&(r+=t+`.`)}}),r+=n,r===t)}static eventCallback(t,n,r){return i=>{e.matchEventFullKeyCode(i,t)&&r.runGuarded(()=>n(i))}}static _normalizeKey(e){return e===`esc`?`escape`:e}static ɵfac=function(t){return new(t||e)(Ui(ps))};static ɵprov=si({token:e,factory:e.ɵfac})}return e})();async function Zy(e,t,n){return cv({rootComponent:e,...Qy(t,n)})}function Qy(e,t){return{platformRef:t?.platformRef,appProviders:[...rb,...e?.providers??[]],platformProviders:nb}}function $y(){Uy.makeCurrent()}function eb(){return new Rs}function tb(){return Bl(document),document}var nb=[{provide:Gs,useValue:hy},{provide:Ws,useValue:$y,multi:!0},{provide:ps,useFactory:tb}],rb=[{provide:ya,useValue:`root`},{provide:Rs,useFactory:eb},{provide:vy,useClass:_y,multi:!0},{provide:vy,useClass:Xy,multi:!0},Ly,{provide:Sp,useClass:Ty},{provide:Ty,useExisting:Sp},yy,{provide:ip,useExisting:Ly},[]];function ib(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e{let r=new cb({code:i,why:ob(a.why,e),fix:ob(a.fix,e),docs:o,cause:e.cause,sources:e.sources,data:ob(a.data,e)},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function db(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n{e=n,t=r}),resolve:e,reject:t}}var _b=Math.random.bind(Math),vb=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function yb(e=21){let t=``,n=e;for(;n--;)t+=vb[_b()*64|0];return t}var bb=6e4,xb=e=>e,Sb=xb,{clearTimeout:Cb,setTimeout:wb}=globalThis;function Tb(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=xb,deserialize:s=Sb,resolver:c,bind:l=`rpc`,timeout:u=bb,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:`q`};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=gb(),_=yb();s.i=_;let v;async function y(n=s){return u>=0&&(v=wb(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{Cb(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.hasOwn(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===`q`){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:`s`,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:`s`,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(Cb(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function Eb(e,t){return t.safety?t.safety:e===`static`||e===`query`||e==null?`read`:`action`}var Db=Object.freeze({type:`object`,additionalProperties:!0});function Ob(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return Db}return Db}function kb(e){if(!e||e.length===0)return{type:`object`,properties:{}};let t={},n=[];for(let r=0;rn[`arg${t}`]);if(`arg0`in n){let e=[];for(;`arg${e.length}`in n;)e.push(n[`arg${e.length}`]);return e}return Object.keys(n).length===0?[]:void 0}function jb(e,t){return Ab(e,t)??[e]}function Mb(e){return typeof e==`string`?`'${e}'`:new Ib().serialize(e)}var Nb=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,Pb=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[Nb.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function Fb(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length),r=0;for(let i=0;ia?-1:1)}return e.length===t.length?r:e.lengththis.compare(e[0],t[0])),r=`${e}{`;for(let e=0;ethis.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e})(),Lb=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],Rb=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],zb=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,Bb=[],Vb=class{_data=new Hb;_hash=new Hb([...Lb]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],c=n[5],l=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)Bb[n]=e[t+n]|0;else{let e=Bb[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=Bb[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;Bb[n]=t+Bb[n-7]+i+Bb[n-16]}let d=s&c^~s&l,f=r&i^r&a^i&a,p=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),m=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),h=u+m+d+Rb[n]+Bb[n],g=p+f;u=l,l=c,c=s,s=o+h|0,o=a,a=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+u|0}_append(e){typeof e==`string`&&(e=Hb.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function Ub(e){return new Vb().finalize(e).toBase64()}function Wb(e){return Ub(Mb(e))}function Gb(e){return Wb(e)}function Kb(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}var qb=/^[\w+.-]{2,}:\/\//;function Jb(e){return e.endsWith(`/`)?e:`${e}/`}function Yb(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function Xb(e,...t){let n=e;for(let e of t)e&&e!==`/`&&(n=n?Jb(n)+e.replace(/^\.?\//,``):e);return n}function Zb(e,t){if(!t||t===`/`||qb.test(e))return e;let n=Yb(t);return e.startsWith(n)?e:Xb(n,e)}function Qb(e,t){let n=e.match(qb);return t+(n?e.slice(n[0].length):e)}var $b=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function ex(e=21){let t=``,n=e;for(;n--;)t+=$b[Math.random()*64|0];return t}var tx=Symbol.for(`immer-nothing`),nx=Symbol.for(`immer-draftable`),rx=Symbol.for(`immer-state`),ix=[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},`This object has been frozen and should not be mutated`,function(e){return`Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? `+e},`An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.`,`Immer forbids circular references`,"The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},`Object.defineProperty() cannot be used on an Immer draft`,`Object.setPrototypeOf() cannot be used on an Immer draft`,`Immer only supports deleting array indices`,`Immer only supports setting array indices and the 'length' property`,function(e){return`'original' expects a draft, got: ${e}`}];function ax(e,...t){{let n=ix[e],r=kx(n)?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}}var ox=Object,sx=ox.getPrototypeOf,cx=`constructor`,lx=`prototype`,ux=`configurable`,dx=`enumerable`,fx=`writable`,px=`value`,mx=e=>!!e&&!!e[rx];function hx(e){return e?vx(e)||Tx(e)||!!e[nx]||!!e[cx]?.[nx]||Ex(e)||Dx(e):!1}var gx=ox[lx][cx].toString(),_x=new WeakMap;function vx(e){if(!e||!Ox(e))return!1;let t=sx(e);if(t===null||t===ox[lx])return!0;let n=ox.hasOwnProperty.call(t,cx)&&t[cx];if(n===Object)return!0;if(!kx(n))return!1;let r=_x.get(n);return r===void 0&&(r=Function.toString.call(n),_x.set(n,r)),r===gx}function yx(e,t,n=!0){bx(e)===0?(n?Reflect.ownKeys(e):ox.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function bx(e){let t=e[rx];return t?t.type_:Tx(e)?1:Ex(e)?2:Dx(e)?3:0}var xx=(e,t,n=bx(e))=>n===2?e.has(t):ox[lx].hasOwnProperty.call(e,t),Sx=(e,t,n=bx(e))=>n===2?e.get(t):e[t],Cx=(e,t,n,r=bx(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function wx(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Tx=Array.isArray,Ex=e=>e instanceof Map,Dx=e=>e instanceof Set,Ox=e=>typeof e==`object`,kx=e=>typeof e==`function`,Ax=e=>typeof e==`boolean`;function jx(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Mx=e=>Ox(e)?e?.[rx]:null,Nx=e=>e.copy_||e.base_,Px=e=>e.modified_?e.copy_:e.base_;function Fx(e,t){if(Ex(e))return new Map(e);if(Dx(e))return new Set(e);if(Tx(e))return Array[lx].slice.call(e);let n=vx(e);if(t===!0||t===`class_only`&&!n){let t=ox.getOwnPropertyDescriptors(e);delete t[rx];let n=Reflect.ownKeys(t);for(let r=0;r1&&ox.defineProperties(e,{set:Rx,add:Rx,clear:Rx,delete:Rx}),ox.freeze(e),t&&yx(e,(e,t)=>{Ix(t,!0)},!1),e)}function Lx(){ax(2)}var Rx={[px]:Lx};function zx(e){return e===null||!Ox(e)||ox.isFrozen(e)}var Bx=`MapSet`,Vx=`Patches`,Hx=`ArrayMethods`,Ux={};function Wx(e){let t=Ux[e];return t||ax(0,e),t}var Gx=e=>!!Ux[e];function Kx(e,t){Ux[e]||(Ux[e]=t)}var qx,Jx=()=>qx,Yx=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Gx(Bx)?Wx(Bx):void 0,arrayMethodsPlugin_:Gx(Hx)?Wx(Hx):void 0});function Xx(e,t){t&&(e.patchPlugin_=Wx(Vx),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Zx(e){Qx(e),e.drafts_.forEach(eS),e.drafts_=null}function Qx(e){e===qx&&(qx=e.parent_)}var $x=e=>qx=Yx(qx,e);function eS(e){let t=e[rx];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function tS(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[rx].modified_&&(Zx(t),ax(4)),hx(e)&&(e=nS(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[rx].base_,e,t)}else e=nS(t,n);return rS(t,e,!0),Zx(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===tx?void 0:e}function nS(e,t){if(zx(t))return t;let n=t[rx];if(!n)return dS(t,e.handledSet_,e);if(!aS(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);lS(n,e)}return n.copy_}function rS(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ix(t,n)}function iS(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var aS=(e,t)=>e.scope_===t,oS=[];function sS(e,t,n,r){let i=Nx(e),a=e.type_;if(r!==void 0&&Sx(i,r,a)===t){Cx(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;yx(i,(e,n)=>{if(mx(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??oS;for(let e of o)Cx(i,e,n,a)}function cS(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!aS(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Px(i);sS(e,i.draft_??i,a,n),lS(i,r)})}function lS(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}iS(e)}}function uS(e,t,n){let{scope_:r}=e;if(mx(n)){let i=n[rx];aS(i,r)&&i.callbacks_.push(function(){bS(e),sS(e,n,Px(i),t)})}else hx(n)&&e.callbacks_.push(function(){let i=Nx(e);e.type_===3?i.has(n)&&dS(n,r.handledSet_,r):Sx(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&dS(Sx(e.copy_,t,e.type_),r.handledSet_,r)})}function dS(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||mx(e)||t.has(e)||!hx(e)||zx(e)?e:(t.add(e),yx(e,(r,i)=>{if(mx(i)){let t=i[rx];aS(t,n)&&(Cx(e,r,Px(t),e.type_),iS(t))}else hx(i)&&dS(i,t,n)}),e)}function fS(e,t){let n=Tx(e),r={type_:+!!n,scope_:t?t.scope_:Jx(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=pS;n&&(i=[r],a=mS);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var pS={get(e,t){if(t===rx)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=Nx(e);if(!xx(i,t,e.type_))return _S(e,i,t);let a=i[t];if(e.finalized_||!hx(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&jx(t))return a;if(a===hS(e.base_,t)||gS(e,t,a)){bS(e);let n=e.type_===1?+t:t,r=SS(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in Nx(e)},ownKeys(e){return Reflect.ownKeys(Nx(e))},set(e,t,n){let r=vS(Nx(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=hS(Nx(e),t),i=r?.[rx];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(wx(n,r)&&(n!==void 0||xx(e.base_,t,e.type_)))return!0;bS(e),yS(e)}return e.copy_[t]===n&&(n!==void 0||xx(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),uS(e,t,n),!0)},deleteProperty(e,t){return bS(e),hS(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),yS(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=Nx(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[fx]:!0,[ux]:e.type_!==1||t!==`length`,[dx]:r[dx],[px]:n[t]}},defineProperty(){ax(11)},getPrototypeOf(e){return sx(e.base_)},setPrototypeOf(){ax(12)}},mS={};for(let e in pS){let t=pS[e];mS[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}mS.deleteProperty=function(e,t){return isNaN(parseInt(t))&&ax(13),mS.set.call(this,e,t,void 0)},mS.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&ax(14),pS.set.call(this,e[0],t,n,e[0])};function hS(e,t){let n=e[rx];return(n?Nx(n):e)[t]}function gS(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!hx(n)||n[rx]?!1:e.baseRefs_.has(n)}function _S(e,t,n){let r=vS(t,n);return r?px in r?r[px]:r.get?.call(e.draft_):void 0}function vS(e,t){if(!(t in e))return;let n=sx(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=sx(n)}}function yS(e){e.modified_||(e.modified_=!0,e.parent_&&yS(e.parent_))}function bS(e){e.copy_||=(e.assigned_=new Map,Fx(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var xS=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(kx(e)&&!kx(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}kx(t)||ax(6),n!==void 0&&!kx(n)&&ax(7);let r;if(hx(e)){let i=$x(this),a=SS(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Zx(i):Qx(i)}return Xx(i,n),tS(r,i)}if(!e||!Ox(e)){if(r=t(e),r===void 0&&(r=e),r===tx&&(r=void 0),this.autoFreeze_&&Ix(r,!0),n){let t=[],i=[];Wx(Vx).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}ax(1,e)},this.produceWithPatches=(e,t)=>{if(kx(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Ax(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Ax(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Ax(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){hx(e)||ax(8),mx(e)&&(e=CS(e));let t=$x(this),n=SS(t,e,void 0);return n[rx].isManual_=!0,Qx(t),n}finishDraft(e,t){let n=e&&e[rx];(!n||!n.isManual_)&&ax(9);let{scope_:r}=n;return Xx(r,t),tS(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=Wx(Vx).applyPatches_;return mx(e)?r(e,t):this.produce(e,e=>r(e,t))}};function SS(e,t,n,r){let[i,a]=Ex(t)?Wx(Bx).proxyMap_(t,n):Dx(t)?Wx(Bx).proxySet_(t,n):fS(t,n);return(n?.scope_??Jx()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?cS(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function CS(e){return mx(e)||ax(10,e),wS(e)}function wS(e){if(!hx(e)||zx(e))return e;let t=e[rx],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Fx(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Fx(e,!0);return yx(n,(e,t)=>{Cx(n,e,wS(t))},r),t&&(t.finalized_=!1),n}function TS(){ix.push(`Sets cannot have "replace" patches.`,function(e){return`Unsupported patch operation: `+e},function(e){return`Cannot apply patch, path doesn't resolve: `+e},`Patching reserved attributes like __proto__, prototype and constructor is not allowed`);function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Mx(Sx(e,n.key_)),i=Sx(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||xx(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e{let u=Sx(o,e,c),f=Sx(s,e,c),p=l?xx(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===tx?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e[e,u(t)]));if(Dx(e))return new Set(Array.from(e).map(u));let t=Object.create(sx(e));for(let n in e)t[n]=u(e[n]);return xx(e,nx)&&(t[nx]=e[nx]),t}function d(e){return mx(e)?u(e):e}Kx(Vx,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var ES=new xS,DS=ES.produce,OS=ES.produceWithPatches.bind(ES),kS=ES.applyPatches.bind(ES),AS=1e3;function jS(e,t){if(e.add(t),e.size>AS){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function MS(e){let{enablePatches:t=!1}=e;t&&TS();let n=Kb(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=ex())=>{i.has(t)||(TS(),r=kS(r,e),jS(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=ex())=>{if(!i.has(a)){if(jS(i,a),t){let[t,i]=OS(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=DS(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}var NS=typeof self==`object`?self:globalThis,PS=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),FS=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function IS(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o,r=PS.has(e)?NS[e]:void 0;return n(new(r??NS.Error)(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}if(typeof a==`string`&&FS.has(a))return n(new NS[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function LS(e){return IS(new Map,e)(0)}var RS=``,{toString:zS}={},{keys:BS}=Object;function VS(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=zS.call(e).slice(8,-1);switch(n){case`Array`:return[1,RS];case`Object`:return[2,RS];case`Date`:return[3,RS];case`RegExp`:return[4,RS];case`Map`:return[5,RS];case`Set`:return[6,RS];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function HS([e,t]){return e===0&&(t===`function`||t===`symbol`)}function US(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=VS(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of BS(r))(e||!HS(VS(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(HS(VS(n))||HS(VS(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!HS(VS(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function WS(e,t={}){let n=[];return US(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:GS,stringify:KS}=JSON,qS={json:!0,lossy:!0};function JS(e){return LS(GS(e))}function YS(e){return KS(WS(e,qS))}function XS(e){return LS(e)}function ZS(e){return YS(e)}function QS(e){return JS(e)}var $S=256,eC=class extends Error{name=`StreamClosedError`};function tC(e={}){let t=e.id??ex(),n=Math.max(0,e.replayWindow??0),r=Kb(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new eC(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&(a.length-n===1?a.shift():a.splice(0,a.length-n))),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=rC(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function nC(e={}){let t=e.id??ex(),n=Math.max(1,e.highWaterMark??$S),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function rC(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var iC=128;function aC(e){return e.replace(/[^\w-]+/g,`_`).slice(0,iC)}var oC=`modulepreload`,sC=function(e,t){return new URL(e,t).href},cC={},lC=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=sC(t,n),t=s(t),t in cC)return;cC[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:oC,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},uC=`__connection.json`,dC=`__DEVFRAME_CONNECTION__`,fC=`x-birpc-session`,pC=`__rpc-dump/index.json`,mC=`devframe:services`,hC=`devframe_otp`,gC=`devframe_auth_token`;fb.postMessage.remoteAssetsError;var _C=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>Gb(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}},vC=hb({docsBase:`https://devfra.me/errors`,codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}});function yC(e){if(e.agent&&e.jsonSerializable===!1)throw vC.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function bC(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function xC(e){return e.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `)}async function SC(e,t,n){let r=n.slice();if(!t||t.length===0)return r;for(let r=0;r{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function TC(e,t){let n=e.handler;if(!n){let r=await wC(e,t);if(!r.handler)throw vC.DF0024({name:e.name});n=r.handler}let r=e.args,i=e.returns;if(!r&&!i)return n;let a=n;return async(...t)=>{let n=await SC(e.name,r,t),o=await a(...n);return await CC(e.name,i,o)}}var EC=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return TC(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw vC.DF0021({name:e.name});yC(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw vC.DF0022({name:e.name});yC(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await TC(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw vC.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function DC(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw kC(t,`undefined`,r,e);return n}return i!==null&&OC(i,r,e,t),n})}function OC(e,t,n,r){if(typeof e==`bigint`)throw kC(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw kC(r,`Map`,t,n);if(e instanceof Set)throw kC(r,`Set`,t,n);if(e instanceof Date)throw kC(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw kC(r,e.constructor?.name??`class instance`,t,n)}function kC(e,t,n,r){let i=AC(n,r);return vC.DF0020({name:e||``,type:t,path:i})}function AC(e,t){return Array.isArray(e)?`[${t}]`:t===``?``:t}var jC=`__DEVFRAME_CONNECTION_META__`,MC=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function NC(e){let t=[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]];for(let e of t)try{let t=e();if(t)return t}catch{}}function PC(){return NC(dC)}function FC(){return NC(jC)}function IC(e){if(e)return e;try{let e=localStorage.getItem(MC);if(e)return e}catch{}return NC(MC)}function LC(e){globalThis[dC]=e,globalThis[jC]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&RC(e.authToken)}function RC(e){try{localStorage.setItem(MC,e)}catch{}globalThis[MC]=e;let t=PC();t&&(globalThis[dC]={...t,authToken:e})}function zC(e){let t=Zb(uC,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function BC(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function VC(){let e=PC();if(e)return BC(e,IC()??e.authToken??e.connectionMeta.authToken);let t=FC();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??zC(`./`),authToken:IC(t.authToken)}}async function HC(e={}){if(e.connection){let t=BC(e.connection,IC(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return LC(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:zC(t[0]??`./`),authToken:IC(e.authToken??e.connectionMeta.authToken)};return LC(n),n}let n=VC();if(n){let t=BC(n,IC(e.authToken??n.authToken??n.connectionMeta.authToken));return LC(t),t}let r=[];for(let n of t){let t=Zb(uC,n),i=zC(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${i}: ${n.status}`);let r=await n.json(),a=n.url||i,o={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,a).href:a,authToken:IC(e.authToken??r.authToken)};return LC(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var UC=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function WC(e=hC){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function GC(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,``));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function KC(e=hC){let t=WC(e);return t&&GC(e),t}async function qC(e,t={}){let n=KC(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function JC(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(mC,{initialValue:{}}).then(e=>(t=e.value(),e.on(`updated`,e=>{t=e}),e)),r);return i(),{state:i,has:e=>e in t,keys:()=>Object.keys(t),get:r=>{let i=t[r];if(!i)return;let a=n.get(i);return a||(a={...i,rpc:e.scope(i.scope).rpc},n.set(i,a)),a}}}function YC(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=e.connectionMeta.backend===`static`;function o(e,t){let n=r.get(e);return n&&typeof n==`object`&&!Array.isArray(n)&&typeof t==`object`&&!Array.isArray(t)?{...n,...t}:t}e.client.register({name:fb.broadcast.clientStateUpdated,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.mutate(()=>o(e,n),r)}}),e.client.register({name:fb.broadcast.clientStatePatch,type:`event`,handler:(e,n,r)=>{let i=t.get(e);i&&!i.syncIds.has(r)&&i.patch(n,r)}});function s(t,n){let r=[];return r.push(n.on(`updated`,(n,r,i)=>{a||(r?e.callEvent(`devframe:rpc:server-state:patch`,t,r,i):e.callEvent(`devframe:rpc:server-state:set`,t,n,i))})),()=>{for(let e of r)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return i.add(e),()=>{i.delete(e)}},delete(e){let i=n.get(e);n.delete(e);let a=t.delete(e);return r.delete(e),i?.(),a},get:async(c,l)=>{if(l?.initialValue!==void 0&&r.set(c,l.initialValue),t.has(c))return t.get(c);let u=MS({initialValue:l?.initialValue,enablePatches:!1});async function d(){if(a||e.callEvent(`devframe:rpc:server-state:subscribe`,c),l?.initialValue!==void 0){t.set(c,u);for(let e of i)e(c);return e.call(`devframe:rpc:server-state:get`,c).then(e=>{e!==void 0&&u.mutate(()=>o(c,e))}).catch(e=>{console.error(`Error getting server state`,e)}),n.set(c,s(c,u)),u}{let r=await e.call(`devframe:rpc:server-state:get`,c);u.mutate(()=>o(c,r)),t.set(c,u);for(let e of i)e(c);return n.set(c,s(c,u)),u}}return new Promise(t=>{if(e.isTrusted)d().then(t);else{t(u);let n=!1;e.events.on(fb.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var XC=new Map;function ZC(e=XC){let t=new Map;return{serialize:n=>{let r;return n.t===`q`?r=n.m:(r=t.get(n.i),t.delete(n.i)),!(n.t===`s`&&`e`in n)&&r&&e.get(r)?.jsonSerializable===!0?DC(n,r??``):`s:${ZS(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?QS(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function QC(){}function $C(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+(e[t]===`\r`?4:2))}}function ew(e){let t=`message`,n=[];for(let r of e.split(/\r?\n/))r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trimStart():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));return{event:t,data:n}}function tw(e){let{onConnected:t=QC,onError:n=QC,onDisconnected:r=QC,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${gC}=${encodeURIComponent(e.authToken)}`);let s=ZC(i),c=new AbortController,l=!1,u,d,f,p,m=new Promise((e,t)=>{f=e,p=t});m.catch(()=>{});function h(e){l||(l=!0,p(e),n(e),r())}function g(){l||(l=!0,p(Error(`Devframe SSE stream closed`)),r())}function _(e,n){if(e===`session`){f(n),t();return}u?.(n)}async function v(e){let t=e.getReader();d=t;let n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;for(r+=n.decode(i,{stream:!0});;){let e=$C(r);if(!e)break;r=e.rest;let{event:t,data:n}=ew(e.frame);n.length>0&&_(t,n.join(` -`))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[fC]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function nw(e,t){let{channel:n,rpcOptions:r={}}=t;return Tb(e,{...n,timeout:-1,...r,proxify:!1})}function rw(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(fb.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new UC(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new UC(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(fb.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new UC(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(fb.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(fb.client.connectionError,e),m(new UC(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new UC(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=nw(a.functions,{channel:v,rpcOptions:o});a.register({name:fb.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new UC(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(fb.client.connectionError,e),m(e),i.emit(fb.client.isTrustedUpdated,!1)}});let b=n;async function ee(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new UC(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(fb.client.connectionError,e)}return i.emit(fb.client.isTrustedUpdated,c),t.isTrusted}async function te(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(fb.client.isTrustedUpdated,!0)),t}async function ne(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function re(){return c?!0:ee(b??``)}async function x(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:re,requestTrustWithToken:ee,requestTrustWithCode:te,requestAuthCode:ne,ensureTrusted:x,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(fb.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(fb.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(fb.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function iw(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function aw(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=iw(n.sse,r??`./`,location);return rw({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>tw({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function ow(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:sw(r)?ow(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function sw(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function cw(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function lw(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function uw(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function dw(e){if(e.error)throw ow(e.error);return e.output}function fw(e){return e.some(e=>e!=null)}function pw(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function mw(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?XS(e):e}function a(e,t){return i(pw(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return uw(r)?dw(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(cw(r)){if(fw(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(lw(r)){let e=Gb(n),i=r.records[e];if(i)return dw(await s(i,r.serialization));if(r.fallback)return dw(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!fw(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function hw(e){let t=mw(await e.fetchJsonFromBases(pC),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var gw=``;function _w(e,t){return`${e}${gw}${t}`}function vw(e){let t=new Map,n=new Map;e.client.register({name:fb.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(_w(e,n))?._push(r,i)}}),e.client.register({name:fb.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=_w(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:fb.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=_w(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(fb.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(gw);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=_w(n,r),o=t.get(a);if(o)return o;let s=nC({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(fb.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=_w(t,r),a=n.get(i);if(a)return a;let o=tC({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function yw(){}var bw=new Map;function xw(e){let t=e.url;e.authToken&&(t=`${t}?${gC}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=yw,onError:i=yw,onDisconnected:a=yw,definitions:o=bw}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=ZC(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function Sw(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return Qb(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function Cw(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=Sw(n.websocket,r??`./`,location);return rw({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>xw({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function ww(e){return e.includes(`:`)}function Tw(e,t){return ww(t)?t:`${e}:${t}`}function Ew(e){return{async get(t){return(await e()).value()[t]},async set(t,n){(await e()).mutate(e=>{e[t]=n})},async delete(t){(await e()).mutate(e=>{delete e[t]})},async all(){return(await e()).value()},async onChange(t){return(await e()).on(`updated`,e=>t(e))}}}function Dw(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return Ew(a)}function Ow(e,t){return{global:Dw(e,t,`global`),project:Dw(e,t,`project`)}}function kw(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(ww(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(Tw(t,n),...r)),callEvent:((n,...r)=>e.callEvent(Tw(t,n),...r)),callOptional:((n,...r)=>e.callOptional(Tw(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(Tw(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(Tw(t,n),r,i),upload:(n,r)=>e.streaming.upload(Tw(t,n),r)}},settings:Ow(e,t),scope:e.scope}}function Aw(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function jw(e,t={}){let n=t.modelContext??Aw();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=aC(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=Eb(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:kb(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>Mw(t,e.context,n)},{signal:c.signal});u&&`then`in u&&u.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),u&&`unregister`in u&&typeof u.unregister==`function`&&u.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}async function Mw(e,t,n){try{let r=jb(n,e.args?.length);return{content:[{type:`text`,text:Nw(await(await TC(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:Pw(e)}]}}}function Nw(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function Pw(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}function Fw(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function Iw(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=Kb(),a=Array.isArray(t)?t:[t],o=await HC(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new _C({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new EC(f),m=e.webmcp===!1?void 0:jw(p),h,g=!1;async function _(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(Zb(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let v={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){if(await n.onRequest?.call(this,e,t,i),r&&d?.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);d.apply(e,n)}else await t(e)}}},y=Fw(e.transport??`auto`,s),b=y===`static`?await hw({fetchJsonFromBases:_}):y===`sse`?aw({...v,sseOptions:e.sseOptions}):Cw({...v,wsOptions:e.wsOptions}),ee;try{ee=new BroadcastChannel(`devframe-auth`)}catch{}let te,ne=!1;function re(e){return((...t)=>ne||!te?e(...t):te.then(()=>e(...t)))}function x(){g=!0;try{h?.(),m?.()}finally{try{ee?.close()}finally{b.close?.()}}}let ie={events:i,get isTrusted(){return b.isTrusted},get status(){return b.status},get connectionError(){return b.connectionError},get transport(){return b.transport??y},get connection(){return o},connectionMeta:s,ensureTrusted:b.ensureTrusted,requestTrust:b.requestTrust,requestTrustWithToken:async e=>(RC(e),o={...o,authToken:e},b.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await b.requestTrustWithCode(e);if(!t)return!1;RC(t),o={...o,authToken:t};try{ee?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>b.requestAuthCode(e),call:re(b.call),callEvent:re(b.callEvent),callOptional:re(b.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:x};ie.sharedState=YC(ie),ie.streaming=vw(ie),ie.services=JC(ie);let ae=new Map;ie.scope=(e=>{if(!e)return ie;let t=ae.get(e);return t||(t=kw(ie,e),ae.set(e,t)),t}),f.rpc=ie;function oe(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function se(){if(e.simpleAuth!==!1&&oe()&&typeof globalThis.prompt==`function`)for(await ie.requestAuthCode().catch(()=>{});!ie.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await ie.requestTrustWithCode(t))return}}async function S(){let t=await b.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await qC(ie,{param:n}):!1;t||r||ie.isTrusted||await se()}return te=S().then(()=>{ne=!0},()=>{ne=!0}),s.mcp&&lC(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./browser-agent-rpc-BXhoSh1z-D1NJaqR8.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{g||(h=e(ie))}).catch(()=>{}),ee&&(ee.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&ie.requestTrustWithToken(e.data.authToken)}),ie}var Lw=Iw;function Rw(e,t){e&1&&(W(0,`dt`),X(1,`Analog`),G(),W(2,`dd`),X(3),G()),e&2&&(I(3),Z(t))}var zw=class e{rpc=Z_(null);navigate=J_();meta=F(null);componentCount=F(0);routeCount=F(0);signalCount=F(0);providerCount=F(0);storeCount=F(0);pipeCount=F(0);constructor(){tc(()=>{let e=this.rpc();if(!e)return;let t=e.scope(`ng-devtools`);t.rpc.call(`build-meta`).then(e=>this.meta.set(e)).catch(()=>{}),t.rpc.call(`get-components`).then(e=>this.componentCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-routes`).then(e=>this.routeCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-signals`).then(e=>this.signalCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-providers`).then(e=>this.providerCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-ngrx-store`).then(e=>this.storeCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-pipes`).then(e=>this.pipeCount.set(e.length)).catch(()=>{})})}static ɵfac=function(t){return new(t||e)};static ɵcmp=xm({type:e,selectors:[[`app-dashboard`]],inputs:{rpc:[1,`rpc`]},outputs:{navigate:`navigate`},decls:64,vars:11,consts:[[1,`grid`],[1,`card`],[1,`card`,`clickable`,3,`click`],[1,`big`],[1,`sub`]],template:function(e,t){if(e&1&&(W(0,`div`,0)(1,`div`,1)(2,`h2`),X(3,`Project`),G(),W(4,`dl`)(5,`dt`),X(6,`Name`),G(),W(7,`dd`),X(8),G(),W(9,`dt`),X(10,`Angular`),G(),W(11,`dd`),X(12),G(),W(13,`dt`),X(14,`TypeScript`),G(),W(15,`dd`),X(16),G(),W(17,`dt`),X(18,`SSR`),G(),W(19,`dd`),X(20),G(),R(21,Rw,4,1),G()(),W(22,`div`,2),J(`click`,function(){return t.navigate.emit(`components`)}),W(23,`h2`),X(24,`Components`),G(),W(25,`p`,3),X(26),G(),W(27,`p`,4),X(28,`discovered in source`),G()(),W(29,`div`,2),J(`click`,function(){return t.navigate.emit(`routes`)}),W(30,`h2`),X(31,`Routes`),G(),W(32,`p`,3),X(33),G(),W(34,`p`,4),X(35,`registered paths`),G()(),W(36,`div`,2),J(`click`,function(){return t.navigate.emit(`signals`)}),W(37,`h2`),X(38,`Signals`),G(),W(39,`p`,3),X(40),G(),W(41,`p`,4),X(42,`reactive primitives`),G()(),W(43,`div`,2),J(`click`,function(){return t.navigate.emit(`injectors`)}),W(44,`h2`),X(45,`Injectors`),G(),W(46,`p`,3),X(47),G(),W(48,`p`,4),X(49,`DI providers`),G()(),W(50,`div`,2),J(`click`,function(){return t.navigate.emit(`store`)}),W(51,`h2`),X(52,`NgRx Store`),G(),W(53,`p`,3),X(54),G(),W(55,`p`,4),X(56,`store entries`),G()(),W(57,`div`,2),J(`click`,function(){return t.navigate.emit(`pipes`)}),W(58,`h2`),X(59,`Pipes`),G(),W(60,`p`,3),X(61),G(),W(62,`p`,4),X(63,`template transformers`),G()()()),e&2){let e;I(8),Z(t.meta()?.projectName??`…`),I(4),Z(t.meta()?.angularVersion??`…`),I(4),Z(t.meta()?.typescript??`…`),I(4),Z(t.meta()?.ssr?`Yes`:`No`),I(),z((e=t.meta()?.analog)?21:-1,e),I(5),Z(t.componentCount()),I(7),Z(t.routeCount()),I(7),Z(t.signalCount()),I(7),Z(t.providerCount()),I(7),Z(t.storeCount()),I(7),Z(t.pipeCount())}},styles:[`.grid[_ngcontent-%COMP%] { +`))}}g()}return(async()=>{try{let e=await a(o,{headers:{accept:`text/event-stream`},signal:c.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await v(e.body)}catch(e){if(c.signal.aborted){g();return}h(e instanceof Error?e:Error(String(e)))}})(),{close:()=>{l=!0,c.abort(),d?.cancel().catch(()=>{})},on:e=>{u=e},post:async e=>{let t;try{t=await m}catch{return}if(l){n(Error(`Devframe SSE channel is closed; message dropped`));return}try{let n=await a(o,{method:`POST`,headers:{"content-type":`text/plain; charset=utf-8`,[fC]:t},body:e});if(n.status===200){let e=await n.text();e&&u?.(e);return}if(!n.ok)throw Error(`Devframe SSE POST failed: ${n.status}`)}catch(e){n(e instanceof Error?e:Error(String(e)))}},serialize:s.serialize,deserialize:s.deserialize}}function nw(e,t){let{channel:n,rpcOptions:r={}}=t;return Tb(e,{...n,timeout:-1,...r,proxify:!1})}function rw(e){let{transport:t,authToken:n,connectionMeta:r,events:i,clientRpc:a,rpcOptions:o={},callTimeout:s=0}=e,c=!1,l=`connecting`,u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:e===`connected`&&(u=null),e===l)return;let n=l;l=e,i.emit(fb.client.connectionStatus,e,n)}let p=new Set;function m(e){for(let t of[...p])t.reject(e)}function h(){return l===`disconnected`||l===`error`?new UC(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new UC(`auth`,`[devframe] Not authorized by the devframe server`,{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let a=!1,o,c={reject(e){a||(l(),i.emit(fb.client.error,e,t),r(e))}};function l(){a=!0,p.delete(c),o&&clearTimeout(o)}p.add(c),s>0&&(o=setTimeout(()=>{c.reject(new UC(`timeout`,`[devframe] RPC call "${t}" timed out after ${s}ms`))},s)),e.then(e=>{a||(l(),n(e))},e=>{if(a)return;l();let n=e instanceof Error?e:Error(String(e));i.emit(fb.client.error,n,t),r(n)})})}let _=new Map;for(let e of r.jsonSerializableMethods??[])_.set(e,{jsonSerializable:!0});let v=e.createChannel({definitions:_,onError(e){f(`error`,e),i.emit(fb.client.connectionError,e),m(new UC(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new UC(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=nw(a.functions,{channel:v,rpcOptions:o});a.register({name:fb.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new UC(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(fb.client.connectionError,e),m(e),i.emit(fb.client.isTrustedUpdated,!1)}});let b=n;async function ee(e){b=e;let t=await y.$call(`anonymous:devframe:auth`,{authToken:e,ua:navigator.userAgent,origin:location.origin});if(c=t.isTrusted,c)d.resolve(!0),f(`connected`);else{let e=new UC(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(fb.client.connectionError,e)}return i.emit(fb.client.isTrustedUpdated,c),t.isTrusted}async function te(e){let t=(await y.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:navigator.userAgent,origin:location.origin}))?.authToken??null;return t&&(b=t,c=!0,d.resolve(!0),f(`connected`),i.emit(fb.client.isTrustedUpdated,!0)),t}async function ne(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function re(){return c?!0:ee(b??``)}async function x(e=6e4){if(c&&d.resolve(!0),e<=0)return d.promise;let t;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e)})]),c}finally{clearTimeout(t)}}return{transport:t,get isTrusted(){return c},get status(){return l},get connectionError(){return u},requestTrust:re,requestTrustWithToken:ee,requestTrustWithCode:te,requestAuthCode:ne,ensureTrusted:x,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(fb.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(fb.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(fb.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function iw(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??`/`,`${r.protocol}//${t}`).href}return new URL(e.path??``,r).href}let i=e??``;return/^https?:\/\//i.test(i)?i:new URL(i,r).href}function aw(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=iw(n.sse,r??`./`,location);return rw({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>tw({url:l,authToken:t,definitions:e.definitions,...s,onConnected(){s.onConnected?.()},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(){e.onDisconnected(),s.onDisconnected?.()}})})}function ow(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:sw(r)?ow(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function sw(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function cw(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function lw(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function uw(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function dw(e){if(e.error)throw ow(e.error);return e.output}function fw(e){return e.some(e=>e!=null)}function pw(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function mw(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?XS(e):e}function a(e,t){return i(pw(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return uw(r)?dw(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(cw(r)){if(fw(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(lw(r)){let e=Gb(n),i=r.records[e];if(i)return dw(await s(i,r.serialization));if(r.fallback)return dw(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!fw(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function hw(e){let t=mw(await e.fetchJsonFromBases(pC),e.fetchJsonFromBases);return{transport:`static`,isTrusted:!0,status:`connected`,connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}var gw=``;function _w(e,t){return`${e}${gw}${t}`}function vw(e){let t=new Map,n=new Map;e.client.register({name:fb.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(_w(e,n))?._push(r,i)}}),e.client.register({name:fb.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=_w(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:fb.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=_w(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(fb.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(gw);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=_w(n,r),o=t.get(a);if(o)return o;let s=nC({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(fb.client.isTrustedUpdated,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=_w(t,r),a=n.get(i);if(a)return a;let o=tC({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}function yw(){}var bw=new Map;function xw(e){let t=e.url;e.authToken&&(t=`${t}?${gC}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=yw,onError:i=yw,onDisconnected:a=yw,definitions:o=bw}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);i(t)}),n.addEventListener(`close`,e=>{a(e)});let s=ZC(o);return{close:()=>{n.close()},on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}i(Error(`Devframe WebSocket is not open; message dropped`))},serialize:s.serialize,deserialize:s.deserialize}}function Sw(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),i=r.protocol===`https:`?`wss:`:`ws:`;if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??`/`,`${i}//${t}`);return n.protocol=i,n.href}let t=new URL(e.path??``,r);return t.protocol=i,t.href}if(typeof e==`number`)return`${i}//${r.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return Qb(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function Cw(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=Sw(n.websocket,r??`./`,location);return rw({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>xw({url:l,authToken:t,definitions:e.definitions,...s,onConnected(e){s.onConnected?.(e)},onError(t){e.onError(t),s.onError?.(t)},onDisconnected(t){e.onDisconnected(),s.onDisconnected?.(t)}})})}function ww(e){return e.includes(`:`)}function Tw(e,t){return ww(t)?t:`${e}:${t}`}function Ew(e){return{async get(t){return(await e()).value()[t]},async set(t,n){(await e()).mutate(e=>{e[t]=n})},async delete(t){(await e()).mutate(e=>{delete e[t]})},async all(){return(await e()).value()},async onChange(t){return(await e()).on(`updated`,e=>t(e))}}}function Dw(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return Ew(a)}function Ow(e,t){return{global:Dw(e,t,`global`),project:Dw(e,t,`project`)}}function kw(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(ww(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(Tw(t,n),...r)),callEvent:((n,...r)=>e.callEvent(Tw(t,n),...r)),callOptional:((n,...r)=>e.callOptional(Tw(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(Tw(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(Tw(t,n),r,i),upload:(n,r)=>e.streaming.upload(Tw(t,n),r)}},settings:Ow(e,t),scope:e.scope}}function Aw(){if(typeof document<`u`){let e=document.modelContext;if(e)return e}if(typeof navigator<`u`){let e=navigator.modelContext;if(e)return e}}function jw(e,t={}){let n=t.modelContext??Aw();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=aC(t.name),s=a.get(o);if(s&&s!==t.name){console.warn(`[devframe] WebMCP tool name "${o}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);return}let c=new AbortController,l=Eb(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:kb(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>Mw(t,e.context,n)},{signal:c.signal});u&&`then`in u&&u.then(()=>{},()=>{}),a.set(o,t.name),i.set(t.name,()=>{c.abort(),u&&`unregister`in u&&typeof u.unregister==`function`&&u.unregister(),a.delete(o)})}function s(t){let n=t?[t]:[...e.definitions.keys()];for(let t of n){i.get(t)?.(),i.delete(t);let n=e.definitions.get(t),r=n?.agent;n&&r&&o(n,r)}}s();let c=e.onChanged(e=>s(e));return()=>{c();for(let e of i.values())e();i.clear()}}async function Mw(e,t,n){try{let r=jb(n,e.args?.length);return{content:[{type:`text`,text:Nw(await(await TC(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:Pw(e)}]}}}function Nw(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function Pw(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:``;return`${e.name}: ${e.message}${t}`}function Fw(e,t){if(t.backend===`static`)return`static`;let n=t.websocket!==void 0,r=t.sse!==void 0;if(e===`websocket`){if(!n)throw Error(`[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint`);return`websocket`}if(e===`sse`){if(!r)throw Error(`[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint`);return`sse`}if(t.backend===`sse`&&r)return`sse`;if(n)return`websocket`;if(r)return`sse`;throw Error(`[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.`)}async function Iw(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=Kb(),a=Array.isArray(t)?t:[t],o=await HC(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new _C({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new EC(f),m=e.webmcp===!1?void 0:jw(p),h,g=!1;async function _(e){let t=[u,...a.filter(e=>e!==u)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(Zb(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let v={authToken:l,connectionMeta:s,metaBaseUrl:c,events:i,clientRpc:p,callTimeout:e.callTimeout,rpcOptions:{...n,async onRequest(e,t,i){if(await n.onRequest?.call(this,e,t,i),r&&d?.validate(e.m)){if(d.has(e.m,e.a))return i(d.cached(e.m,e.a));let n=await t(e);d.apply(e,n)}else await t(e)}}},y=Fw(e.transport??`auto`,s),b=y===`static`?await hw({fetchJsonFromBases:_}):y===`sse`?aw({...v,sseOptions:e.sseOptions}):Cw({...v,wsOptions:e.wsOptions}),ee;try{ee=new BroadcastChannel(`devframe-auth`)}catch{}let te,ne=!1;function re(e){return((...t)=>ne||!te?e(...t):te.then(()=>e(...t)))}function x(){g=!0;try{h?.(),m?.()}finally{try{ee?.close()}finally{b.close?.()}}}let ie={events:i,get isTrusted(){return b.isTrusted},get status(){return b.status},get connectionError(){return b.connectionError},get transport(){return b.transport??y},get connection(){return o},connectionMeta:s,ensureTrusted:b.ensureTrusted,requestTrust:b.requestTrust,requestTrustWithToken:async e=>(RC(e),o={...o,authToken:e},b.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await b.requestTrustWithCode(e);if(!t)return!1;RC(t),o={...o,authToken:t};try{ee?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>b.requestAuthCode(e),call:re(b.call),callEvent:re(b.callEvent),callOptional:re(b.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:x};ie.sharedState=YC(ie),ie.streaming=vw(ie),ie.services=JC(ie);let ae=new Map;ie.scope=(e=>{if(!e)return ie;let t=ae.get(e);return t||(t=kw(ie,e),ae.set(e,t)),t}),f.rpc=ie;function oe(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function se(){if(e.simpleAuth!==!1&&oe()&&typeof globalThis.prompt==`function`)for(await ie.requestAuthCode().catch(()=>{});!ie.isTrusted;){let e=globalThis.prompt(`devframe: enter the authentication code shown in your terminal`);if(e==null)return;let t=e.trim();if(t&&await ie.requestTrustWithCode(t))return}}async function S(){let t=await b.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await qC(ie,{param:n}):!1;t||r||ie.isTrusted||await se()}return te=S().then(()=>{ne=!0},()=>{ne=!0}),s.mcp&&lC(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./browser-agent-rpc-BXhoSh1z-D-DHiaWA.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{g||(h=e(ie))}).catch(()=>{}),ee&&(ee.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&ie.requestTrustWithToken(e.data.authToken)}),ie}var Lw=Iw;function Rw(e,t){e&1&&(W(0,`dt`),X(1,`Analog`),G(),W(2,`dd`),X(3),G()),e&2&&(I(3),Z(t))}var zw=class e{rpc=Z_(null);navigate=J_();meta=F(null);componentCount=F(0);routeCount=F(0);signalCount=F(0);providerCount=F(0);storeCount=F(0);pipeCount=F(0);constructor(){tc(()=>{let e=this.rpc();if(!e)return;let t=e.scope(`ng-devtools`);t.rpc.call(`build-meta`).then(e=>this.meta.set(e)).catch(()=>{}),t.rpc.call(`get-components`).then(e=>this.componentCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-routes`).then(e=>this.routeCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-signals`).then(e=>this.signalCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-providers`).then(e=>this.providerCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-ngrx-store`).then(e=>this.storeCount.set(e.length)).catch(()=>{}),t.rpc.call(`get-pipes`).then(e=>this.pipeCount.set(e.length)).catch(()=>{})})}static ɵfac=function(t){return new(t||e)};static ɵcmp=xm({type:e,selectors:[[`app-dashboard`]],inputs:{rpc:[1,`rpc`]},outputs:{navigate:`navigate`},decls:64,vars:11,consts:[[1,`grid`],[1,`card`],[1,`card`,`clickable`,3,`click`],[1,`big`],[1,`sub`]],template:function(e,t){if(e&1&&(W(0,`div`,0)(1,`div`,1)(2,`h2`),X(3,`Project`),G(),W(4,`dl`)(5,`dt`),X(6,`Name`),G(),W(7,`dd`),X(8),G(),W(9,`dt`),X(10,`Angular`),G(),W(11,`dd`),X(12),G(),W(13,`dt`),X(14,`TypeScript`),G(),W(15,`dd`),X(16),G(),W(17,`dt`),X(18,`SSR`),G(),W(19,`dd`),X(20),G(),R(21,Rw,4,1),G()(),W(22,`div`,2),J(`click`,function(){return t.navigate.emit(`components`)}),W(23,`h2`),X(24,`Components`),G(),W(25,`p`,3),X(26),G(),W(27,`p`,4),X(28,`discovered in source`),G()(),W(29,`div`,2),J(`click`,function(){return t.navigate.emit(`routes`)}),W(30,`h2`),X(31,`Routes`),G(),W(32,`p`,3),X(33),G(),W(34,`p`,4),X(35,`registered paths`),G()(),W(36,`div`,2),J(`click`,function(){return t.navigate.emit(`signals`)}),W(37,`h2`),X(38,`Signals`),G(),W(39,`p`,3),X(40),G(),W(41,`p`,4),X(42,`reactive primitives`),G()(),W(43,`div`,2),J(`click`,function(){return t.navigate.emit(`injectors`)}),W(44,`h2`),X(45,`Injectors`),G(),W(46,`p`,3),X(47),G(),W(48,`p`,4),X(49,`DI providers`),G()(),W(50,`div`,2),J(`click`,function(){return t.navigate.emit(`store`)}),W(51,`h2`),X(52,`NgRx Store`),G(),W(53,`p`,3),X(54),G(),W(55,`p`,4),X(56,`store entries`),G()(),W(57,`div`,2),J(`click`,function(){return t.navigate.emit(`pipes`)}),W(58,`h2`),X(59,`Pipes`),G(),W(60,`p`,3),X(61),G(),W(62,`p`,4),X(63,`template transformers`),G()()()),e&2){let e;I(8),Z(t.meta()?.projectName??`…`),I(4),Z(t.meta()?.angularVersion??`…`),I(4),Z(t.meta()?.typescript??`…`),I(4),Z(t.meta()?.ssr?`Yes`:`No`),I(),z((e=t.meta()?.analog)?21:-1,e),I(5),Z(t.componentCount()),I(7),Z(t.routeCount()),I(7),Z(t.signalCount()),I(7),Z(t.providerCount()),I(7),Z(t.storeCount()),I(7),Z(t.pipeCount())}},styles:[`.grid[_ngcontent-%COMP%] { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; @@ -852,7 +852,7 @@ display: flex; gap: 8px; margin-top: 8px; - }`]})},WE=()=>[],GE=(e,t)=>t.node.id;function KE(e,t){if(e&1&&(X(0,` with `),W(1,`code`),X(2),M_(3,`json`),G()),e&2){let e=Y(2);I(2),Z(P_(3,1,e.params))}}function qE(e,t){if(e&1&&(X(0),R(1,KE,4,3)),e&2){let e=Y(),t=Y();Q(` Matches `,t.chainText(e),` `),I(),z(t.hasKeys(e.params)?1:-1)}}function JE(e,t){e&1&&X(0),e&2&&Q(` Nearest: `,Y(2).nearest.join(`, `),` `)}function YE(e,t){if(e&1&&(X(0,` Matches no route (NG04002). `),R(1,JE,1,1)),e&2){let e=Y();I(),z(e.nearest.length?1:-1)}}function XE(e,t){if(e&1&&(W(0,`div`,8),X(1),G()),e&2){let e=t.$implicit;I(),Z(e)}}function ZE(e,t){if(e&1&&(W(0,`div`,5),R(1,qE,2,2)(2,YE,2,1),B(3,XE,2,1,`div`,8,eg),G()),e&2){let e=t;I(),z(e.matched?1:2),I(2),V(e.notes)}}function QE(e,t){if(e&1&&(W(0,`p`,6),X(1),G()),e&2){let e=Y();I(),Z(e.message())}}function $E(e,t){if(e&1&&(W(0,`p`,8),X(1),G()),e&2){let e=Y();I(),Q(` `,e.page().setup?.mode===`events-only`?`This build has no debug utils, so the live config cannot be read.`:`The page has not reported its route config yet.`,` `)}}function eD(e,t){e&1&&(W(0,`span`,14),X(1,`active`),G())}function tD(e,t){if(e&1&&(W(0,`span`,14),X(1),G()),e&2){let e=Y().$implicit;I(),Q(`lazy `,e.node.lazy)}}function nD(e,t){if(e&1&&(W(0,`span`,14),X(1),G()),e&2){let e=Y().$implicit;I(),Q(`outlet `,e.node.outlet)}}function rD(e,t){if(e&1&&(X(0,` redirect → `),W(1,`code`),X(2),G()),e&2){let e=Y().$implicit;I(2),Z(e.node.redirectTo)}}function iD(e,t){if(e&1&&X(0),e&2){let e=Y().$implicit;Q(` `,e.node.component??(e.node.lazy===`unloaded`?`lazy, not loaded yet`:e.node.kind),` `)}}function aD(e,t){if(e&1&&(W(0,`span`,14),X(1),G()),e&2){let e=t.$implicit;I(),Z(e)}}function oD(e,t){if(e&1&&(W(0,`span`,14),X(1),G()),e&2){let e=t.$implicit;I(),Q(`resolve `,e)}}function sD(e,t){if(e&1){let e=K();W(0,`input`,18),J(`input`,function(t){let n=N(e).$implicit,r=Y(2).$implicit;return P(Y(2).setParam(r.node.id,n,t.target.value))}),G()}if(e&2){let e=t.$implicit,n=Y(2).$implicit;q(`placeholder`,e),L(`aria-label`,e+` for `+n.node.fullPath)}}function cD(e,t){if(e&1){let e=K();B(0,sD,1,2,`input`,17,eg),W(2,`button`,4),J(`click`,function(){N(e);let t=Y().$implicit;return P(Y(2).navigate(t.node))}),X(3,` Go `),G()}if(e&2){let e=Y().$implicit;V(Y(2).params(e.node)),I(2),L(`aria-label`,`Navigate to `+e.node.fullPath)}}function lD(e,t){if(e&1){let e=K();W(0,`button`,4),J(`click`,function(){N(e);let t=Y().$implicit;return P(Y(2).resolveLazy(t.node))}),X(1,` Read lazy `),G()}if(e&2){let e=Y().$implicit;L(`aria-label`,`Read lazy routes of `+e.node.fullPath)}}function uD(e,t){if(e&1&&(W(0,`tr`)(1,`td`,13),X(2),R(3,eD,2,0,`span`,14),R(4,tD,2,1,`span`,14),R(5,nD,2,1,`span`,14),G(),W(6,`td`),R(7,rD,3,1)(8,iD,1,1),G(),W(9,`td`),B(10,aD,2,1,`span`,14,eg),B(12,oD,2,1,`span`,14,eg),G(),W(14,`td`),X(15),G(),W(16,`td`,15),R(17,cD,4,1),R(18,lD,2,1,`button`,16),G()()),e&2){let e=t.$implicit,n=Y(2);$g(`active`,n.isActive(e.node)),I(),Qg(`padding-left`,12+e.depth*16,`px`),I(),Q(` `,e.node.fullPath,` `),I(),z(n.isActive(e.node)?3:-1),I(),z(e.node.lazy?4:-1),I(),z(e.node.outlet?5:-1),I(2),z(e.node.redirectTo===void 0?8:7),I(3),V(n.guardList(e.node)),I(2),V(e.node.resolvers??D_(12,WE)),I(3),Z(e.node.title??``),I(2),z(n.canNavigate(e.node)?17:-1),I(),z(e.node.kind===`lazy`&&e.node.lazy===`unloaded`?18:-1)}}function dD(e,t){if(e&1&&(W(0,`p`,8),X(1),G(),W(2,`div`,9)(3,`table`)(4,`thead`)(5,`tr`)(6,`th`,10),X(7,`Path`),G(),W(8,`th`,10),X(9,`Target`),G(),W(10,`th`,10),X(11,`Guards and resolvers`),G(),W(12,`th`,10),X(13,`Title`),G(),W(14,`th`,10)(15,`span`,11),X(16,`Actions`),G()()()(),W(17,`tbody`),B(18,uD,19,13,`tr`,12,GE),G()()()),e&2){let e=Y();I(),w_(` Generation `,e.page().generation,` · `,e.rows().length,` route(s). Lazy routes show their children once loaded. `),I(17),V(e.rows())}}var fD=class e{page=Z_.required();rpc=Z_(null);filter=F(``);testUrl=F(``);match=F(null);message=F(``);paramValues=new Map;active=$(()=>new Set(this.page().activeIds??[]));rows=$(()=>{let e=this.filter().toLowerCase(),t=[],n=(r,i)=>{for(let a of r)(!e||a.fullPath.toLowerCase().includes(e)||a.component?.toLowerCase().includes(e))&&t.push({node:a,depth:i}),a.children&&n(a.children,i+1)};return n(this.page().config??[],0),t});hasKeys(e){return Object.keys(e).length>0}isActive(e){return this.active().has(e.id)}guardList(e){return Object.entries(e.guards??{}).flatMap(([e,t])=>t.map(t=>`${e} ${t}`))}params(e){return(e.fullPath.match(/:([A-Za-z0-9_]+)/g)??[]).map(e=>e.slice(1))}canNavigate(e){return e.redirectTo===void 0&&!e.outlet&&!e.fullPath.includes(`**`)&&(!!e.component||e.kind===`component`||e.kind===`lazy`)}setParam(e,t,n){this.paramValues.set(e,{...this.paramValues.get(e),[t]:n})}chainText(e){return e.chain.map(e=>e.fullPath).join(` → `)}async predict(){let e=this.testUrl().trim();e&&this.match.set(await sT(this.rpc(),`router-match`,{pageId:this.page().pageId,url:e}))}async probe(){let e=this.testUrl().trim();if(!e)return;this.message.set(`Running the real matcher in the app…`);let t=await cT(this.rpc(),this.page().pageId,{action:`probe`,url:e});if(!t||t.error){this.message.set(String(t?.error??`Probe failed.`));return}this.message.set(t.matched?`The app matched ${e} (see the probe entry in Navigations).`:`The app did not match ${e}: ${String(t.reason??``)}`)}async navigate(e){let t=this.paramValues.get(e.id)??{};this.message.set(`Navigating to ${e.fullPath}…`);let n=await cT(this.rpc(),this.page().pageId,{action:`navigate`,pattern:e.fullPath,params:t});this.message.set(!n||n.error?String(n?.error??`Navigation failed.`):`Navigation #${n.id}: ${n.outcome}${n.finalUrl?` at ${n.finalUrl}`:``}.`)}async resolveLazy(e){let t=await cT(this.rpc(),this.page().pageId,{action:`resolve-lazy`,id:e.id});if(!t||t.error){this.message.set(String(t?.error??`Could not read the lazy routes.`));return}let n=t.routes??[];this.message.set(`${e.fullPath} declares ${n.length} route(s): ${n.map(e=>`/${e.path}`).join(`, `)}. The router loads them for real on the first navigation that needs them.`)}static ɵfac=function(t){return new(t||e)};static ɵcmp=xm({type:e,selectors:[[`app-route-tree`]],inputs:{page:[1,`page`],rpc:[1,`rpc`]},decls:13,vars:5,consts:[[1,`test`,3,`submit`],[`for`,`test-url`],[`id`,`test-url`,`type`,`text`,`placeholder`,`/users/42`,1,`field`,3,`input`,`value`],[`type`,`submit`,1,`small`],[`type`,`button`,1,`small`,3,`click`],[`role`,`status`,1,`result`],[`role`,`status`,1,`muted`],[`type`,`text`,`aria-label`,`Filter routes`,`placeholder`,`Filter by path or component`,1,`field`,`filter`,3,`input`,`value`],[1,`muted`],[`role`,`region`,`aria-label`,`Live route config`,`tabindex`,`0`,1,`table-scroll`],[`scope`,`col`],[1,`visually-hidden`],[3,`active`],[1,`path`],[1,`tag`],[1,`actions`],[`type`,`button`,1,`small`],[`type`,`text`,1,`field`,`param`,3,`placeholder`],[`type`,`text`,1,`field`,`param`,3,`input`,`placeholder`]],template:function(e,t){if(e&1&&(W(0,`form`,0),J(`submit`,function(e){return e.preventDefault(),t.predict()}),W(1,`label`,1),X(2,`Test a URL`),G(),W(3,`input`,2),J(`input`,function(e){return t.testUrl.set(e.target.value)}),G(),W(4,`button`,3),X(5,`Predict`),G(),W(6,`button`,4),J(`click`,function(){return t.probe()}),X(7,`Probe in app`),G()(),R(8,ZE,5,1,`div`,5),R(9,QE,2,1,`p`,6),W(10,`input`,7),J(`input`,function(e){return t.filter.set(e.target.value)}),G(),R(11,$E,2,1,`p`,8)(12,dD,20,2)),e&2){let e;I(3),q(`value`,t.testUrl()),I(5),z((e=t.match())?8:-1,e),I(),z(t.message()?9:-1),I(),q(`value`,t.filter()),I(),z(t.page().config?12:11)}},dependencies:[py],styles:[`.muted[_ngcontent-%COMP%] { + }`]})},WE=()=>[],GE=(e,t)=>t.node.id;function KE(e,t){if(e&1&&(X(0,` with `),W(1,`code`),X(2),M_(3,`json`),G()),e&2){let e=Y(2);I(2),Z(P_(3,1,e.params))}}function qE(e,t){if(e&1&&(X(0),R(1,KE,4,3)),e&2){let e=Y(),t=Y();Q(` Matches `,t.chainText(e),` `),I(),z(t.hasKeys(e.params)?1:-1)}}function JE(e,t){e&1&&X(0),e&2&&Q(` Nearest: `,Y(2).nearest.join(`, `),` `)}function YE(e,t){if(e&1&&(X(0,` Matches no route (NG04002). `),R(1,JE,1,1)),e&2){let e=Y();I(),z(e.nearest.length?1:-1)}}function XE(e,t){if(e&1&&(W(0,`div`,8),X(1),G()),e&2){let e=t.$implicit;I(),Z(e)}}function ZE(e,t){if(e&1&&(W(0,`div`,5),R(1,qE,2,2)(2,YE,2,1),B(3,XE,2,1,`div`,8,eg),G()),e&2){let e=t;I(),z(e.matched?1:2),I(2),V(e.notes)}}function QE(e,t){if(e&1&&(W(0,`p`,6),X(1),G()),e&2){let e=Y();I(),Z(e.message())}}function $E(e,t){if(e&1&&(W(0,`p`,8),X(1),G()),e&2){let e=Y();I(),Q(` `,e.page().setup?.mode===`events-only`?`This build has no debug utils, so the live config cannot be read.`:`The page has not reported its route config yet.`,` `)}}function eD(e,t){e&1&&(W(0,`span`,14),X(1,`active`),G())}function tD(e,t){if(e&1&&(W(0,`span`,15),X(1),G()),e&2){let e=Y().$implicit;I(),Q(`lazy `,e.node.lazy)}}function nD(e,t){if(e&1&&(W(0,`span`,15),X(1),G()),e&2){let e=Y().$implicit;I(),Q(`outlet `,e.node.outlet)}}function rD(e,t){if(e&1&&(X(0,` redirect → `),W(1,`code`),X(2),G()),e&2){let e=Y().$implicit;I(2),Z(e.node.redirectTo)}}function iD(e,t){if(e&1&&X(0),e&2){let e=Y().$implicit;Q(` `,e.node.component??(e.node.lazy===`unloaded`?`lazy, not loaded yet`:e.node.kind),` `)}}function aD(e,t){if(e&1&&(W(0,`span`,15),X(1),G()),e&2){let e=t.$implicit;I(),Z(e)}}function oD(e,t){if(e&1&&(W(0,`span`,15),X(1),G()),e&2){let e=t.$implicit;I(),Q(`resolve `,e)}}function sD(e,t){if(e&1){let e=K();W(0,`input`,19),J(`input`,function(t){let n=N(e).$implicit,r=Y(2).$implicit;return P(Y(2).setParam(r.node.id,n,t.target.value))}),G()}if(e&2){let e=t.$implicit,n=Y(2).$implicit;q(`placeholder`,e),L(`aria-label`,e+` for `+n.node.fullPath)}}function cD(e,t){if(e&1){let e=K();B(0,sD,1,2,`input`,18,eg),W(2,`button`,4),J(`click`,function(){N(e);let t=Y().$implicit;return P(Y(2).navigate(t.node))}),X(3,` Go `),G()}if(e&2){let e=Y().$implicit;V(Y(2).params(e.node)),I(2),L(`aria-label`,`Navigate to `+e.node.fullPath)}}function lD(e,t){if(e&1){let e=K();W(0,`button`,4),J(`click`,function(){N(e);let t=Y().$implicit;return P(Y(2).resolveLazy(t.node))}),X(1,` Read lazy `),G()}if(e&2){let e=Y().$implicit;L(`aria-label`,`Read lazy routes of `+e.node.fullPath)}}function uD(e,t){if(e&1&&(W(0,`tr`)(1,`td`,13),X(2),R(3,eD,2,0,`span`,14),R(4,tD,2,1,`span`,15),R(5,nD,2,1,`span`,15),G(),W(6,`td`),R(7,rD,3,1)(8,iD,1,1),G(),W(9,`td`),B(10,aD,2,1,`span`,15,eg),B(12,oD,2,1,`span`,15,eg),G(),W(14,`td`),X(15),G(),W(16,`td`,16),R(17,cD,4,1),R(18,lD,2,1,`button`,17),G()()),e&2){let e=t.$implicit,n=Y(2);$g(`active`,n.isActive(e.node)),I(),Qg(`padding-left`,12+e.depth*16,`px`),I(),Q(` `,e.node.fullPath,` `),I(),z(n.isActive(e.node)?3:-1),I(),z(e.node.lazy?4:-1),I(),z(e.node.outlet?5:-1),I(2),z(e.node.redirectTo===void 0?8:7),I(3),V(n.guardList(e.node)),I(2),V(e.node.resolvers??D_(12,WE)),I(3),Z(e.node.title??``),I(2),z(n.canNavigate(e.node)?17:-1),I(),z(e.node.kind===`lazy`&&e.node.lazy===`unloaded`?18:-1)}}function dD(e,t){if(e&1&&(W(0,`p`,8),X(1),G(),W(2,`div`,9)(3,`table`)(4,`thead`)(5,`tr`)(6,`th`,10),X(7,`Path`),G(),W(8,`th`,10),X(9,`Target`),G(),W(10,`th`,10),X(11,`Guards and resolvers`),G(),W(12,`th`,10),X(13,`Title`),G(),W(14,`th`,10)(15,`span`,11),X(16,`Actions`),G()()()(),W(17,`tbody`),B(18,uD,19,13,`tr`,12,GE),G()()()),e&2){let e=Y();I(),w_(` Generation `,e.page().generation,` · `,e.rows().length,` route(s). Lazy routes show their children once loaded. `),I(17),V(e.rows())}}var fD=class e{page=Z_.required();rpc=Z_(null);filter=F(``);testUrl=F(``);match=F(null);message=F(``);paramValues=new Map;active=$(()=>new Set(this.page().activeIds??[]));rows=$(()=>{let e=this.filter().toLowerCase(),t=[],n=(r,i)=>{for(let a of r)(!e||a.fullPath.toLowerCase().includes(e)||a.component?.toLowerCase().includes(e))&&t.push({node:a,depth:i}),a.children&&n(a.children,i+1)};return n(this.page().config??[],0),t});hasKeys(e){return Object.keys(e).length>0}isActive(e){return this.active().has(e.id)}guardList(e){return Object.entries(e.guards??{}).flatMap(([e,t])=>t.map(t=>`${e} ${t}`))}params(e){return(e.fullPath.match(/:([A-Za-z0-9_]+)/g)??[]).map(e=>e.slice(1))}canNavigate(e){return e.redirectTo===void 0&&!e.outlet&&!e.fullPath.includes(`**`)&&(!!e.component||e.kind===`component`||e.kind===`lazy`)}setParam(e,t,n){this.paramValues.set(e,{...this.paramValues.get(e),[t]:n})}chainText(e){return e.chain.map(e=>e.fullPath).join(` → `)}async predict(){let e=this.testUrl().trim();e&&this.match.set(await sT(this.rpc(),`router-match`,{pageId:this.page().pageId,url:e}))}async probe(){let e=this.testUrl().trim();if(!e)return;this.message.set(`Running the real matcher in the app…`);let t=await cT(this.rpc(),this.page().pageId,{action:`probe`,url:e});if(!t||t.error){this.message.set(String(t?.error??`Probe failed.`));return}this.message.set(t.matched?`The app matched ${e} (see the probe entry in Navigations).`:`The app did not match ${e}: ${String(t.reason??``)}`)}async navigate(e){let t=this.paramValues.get(e.id)??{};this.message.set(`Navigating to ${e.fullPath}…`);let n=await cT(this.rpc(),this.page().pageId,{action:`navigate`,pattern:e.fullPath,params:t});this.message.set(!n||n.error?String(n?.error??`Navigation failed.`):`Navigation #${n.id}: ${n.outcome}${n.finalUrl?` at ${n.finalUrl}`:``}.`)}async resolveLazy(e){let t=await cT(this.rpc(),this.page().pageId,{action:`resolve-lazy`,id:e.id});if(!t||t.error){this.message.set(String(t?.error??`Could not read the lazy routes.`));return}let n=t.routes??[];this.message.set(`${e.fullPath} declares ${n.length} route(s): ${n.map(e=>`/${e.path}`).join(`, `)}. The router loads them for real on the first navigation that needs them.`)}static ɵfac=function(t){return new(t||e)};static ɵcmp=xm({type:e,selectors:[[`app-route-tree`]],inputs:{page:[1,`page`],rpc:[1,`rpc`]},decls:13,vars:5,consts:[[1,`test`,3,`submit`],[`for`,`test-url`],[`id`,`test-url`,`type`,`text`,`placeholder`,`/users/42`,1,`field`,3,`input`,`value`],[`type`,`submit`,1,`small`],[`type`,`button`,1,`small`,3,`click`],[`role`,`status`,1,`result`],[`role`,`status`,1,`muted`],[`type`,`text`,`aria-label`,`Filter routes`,`placeholder`,`Filter by path or component`,1,`field`,`filter`,3,`input`,`value`],[1,`muted`],[`role`,`region`,`aria-label`,`Live route config`,`tabindex`,`0`,1,`table-scroll`],[`scope`,`col`],[1,`visually-hidden`],[3,`active`],[1,`path`],[1,`tag`,`tag-active`],[1,`tag`],[1,`actions`],[`type`,`button`,1,`small`],[`type`,`text`,1,`field`,`param`,3,`placeholder`],[`type`,`text`,1,`field`,`param`,3,`input`,`placeholder`]],template:function(e,t){if(e&1&&(W(0,`form`,0),J(`submit`,function(e){return e.preventDefault(),t.predict()}),W(1,`label`,1),X(2,`Test a URL`),G(),W(3,`input`,2),J(`input`,function(e){return t.testUrl.set(e.target.value)}),G(),W(4,`button`,3),X(5,`Predict`),G(),W(6,`button`,4),J(`click`,function(){return t.probe()}),X(7,`Probe in app`),G()(),R(8,ZE,5,1,`div`,5),R(9,QE,2,1,`p`,6),W(10,`input`,7),J(`input`,function(e){return t.filter.set(e.target.value)}),G(),R(11,$E,2,1,`p`,8)(12,dD,20,2)),e&2){let e;I(3),q(`value`,t.testUrl()),I(5),z((e=t.match())?8:-1,e),I(),z(t.message()?9:-1),I(),q(`value`,t.filter()),I(),z(t.page().config?12:11)}},dependencies:[py],styles:[`.muted[_ngcontent-%COMP%] { color: #a1a1aa; font-size: 13px; } @@ -982,6 +982,11 @@ tr.active[_ngcontent-%COMP%] td[_ngcontent-%COMP%] { background: #1c1917; } + .tag-active[_ngcontent-%COMP%] { + background: #14532d; + border-color: #14532d; + color: #bbf7d0; + } .actions[_ngcontent-%COMP%] { white-space: nowrap; } diff --git a/extension/ui/index.html b/extension/ui/index.html index 4573752..98f24b3 100644 --- a/extension/ui/index.html +++ b/extension/ui/index.html @@ -5,7 +5,7 @@ Angular DevTools - +